KR101834514B1 - 고객측 단말과 서비스 제공 단말 간의 통신에 보안을 제공하는 보안 관리 장치 - Google Patents

고객측 단말과 서비스 제공 단말 간의 통신에 보안을 제공하는 보안 관리 장치 Download PDF

Info

Publication number
KR101834514B1
KR101834514B1 KR1020160035558A KR20160035558A KR101834514B1 KR 101834514 B1 KR101834514 B1 KR 101834514B1 KR 1020160035558 A KR1020160035558 A KR 1020160035558A KR 20160035558 A KR20160035558 A KR 20160035558A KR 101834514 B1 KR101834514 B1 KR 101834514B1
Authority
KR
South Korea
Prior art keywords
encryption
decryption
unit
data
terminal
Prior art date
Application number
KR1020160035558A
Other languages
English (en)
Other versions
KR20170085925A (ko
Inventor
김준모
Original Assignee
단국대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 단국대학교 산학협력단 filed Critical 단국대학교 산학협력단
Publication of KR20170085925A publication Critical patent/KR20170085925A/ko
Application granted granted Critical
Publication of KR101834514B1 publication Critical patent/KR101834514B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3821Electronic credentials
    • G06Q20/38215Use of certificates or encrypted proofs of transaction rights
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/02Banking, e.g. interest calculation or account maintenance
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Business, Economics & Management (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Technology Law (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명의 일 실시예에 따른 보안 관리 장치는 고객측 암복호화 장치와 연결된 고객측 단말과 서비스 제공측 암복호화 장치와 연결된 서비스 제공 단말 간의 금융 거래를 관리하는 장치로서, 상기 고객측 단말 또는 상기 서비스 제공 단말과 데이터를 송수신하는 통신부와, 상기 고객측 암복호화 장치에 의하여 암호화된 데이터가 상기 고객측 단말로부터 수신되면 이를 복호화하며, 또한 상기 고객측 단말에게 송신할 데이터를 상기 고객측 암복호화 장치에 의하여 복호화 가능하도록 암호화하는 제1 암복호화부와, 상기 서비스 제공측 암복호화 장치에 의하여 암호화된 데이터가 상기 서비스 제공 단말로부터 수신되면 이를 복호화하며, 또한 상기 서비스 제공 단말에게 송신할 데이터를 상기 서비스 제공측 암복호화 장치에 의하여 복호화 가능하도록 암호화하는 제2 암복호화부와, 상기 제1 암복호화부에 의하여 복호화된 데이터 또는 상기 제2 암복호화부에 의하여 복호화된 데이터를 분석하며, 상기 분석된 데이터를 기초로 상기 고객측 단말과 상기 서비스 제공 단말 간의 금융 거래가 처리되도록 제어하는 제어부를 포함한다.

Description

고객측 단말과 서비스 제공 단말 간의 통신에 보안을 제공하는 보안 관리 장치{APPARATUS FOR PROVIDING SECURITY FOR COMMUNICATION BETWEEN CUSTOMER TERMINAL AND SERVICE PROVIDING TERMINAL}
본 발명은 고객측 단말과 서비스 제공 단말 간의 통신에 보안을 제공하는 보안 관리 장치에 관한 것이다. 보다 자세하게는 고객측 단말과 송수신되는 데이터를 암복호화하는 암복호화 기능 및 서비스 제공 단말과 송수신되는 데이터를 암복호화하는 암복호화 기능을 각각 수행하며, 고객측 단말로부터 요청되는 서비스를 분석하여 서비스 제공 단말과의 통신을 통해 요청된 서비스를 수행하되, 고객측 단말과의 통신 그리고 서비스 제공 단말과의 통신에 보안을 제공하는 보안 관리 장치에 관한 것이다.
인터넷의 발달로 현대 사회에서 이루어지고 있는 대부분의 서비스는 온라인을 통해서 수행 가능하다. 예컨데, 금융 거래나 물건을 사고파는 전자상거래 뿐만 아니라, 주민등록등초본 등을 취급하는 민원 처리까지도 온라인을 통한 처리가 가능하다.
이러한 서비스는 개인의 인적과 관련된 정보나 금융 거래와 관련된 정보 등을 취급한다. 따라서, 이러한 정보의 송수신에 있어서 보안성은 필수적으로 요구되고 있다.
이와 관련하여, 현재는 공인인증서, OTP(one time password), 보안카드, I-PIN과 같이 다양한 방법을 이용하여 보안성을 제공하고 있다. 이 중에서 범용적으로 사용되는 공인인증서에 대하여 살펴보면, 공인인증서는 공인인증센터에서 발급되는 일종의 전자 서명으로, 금융 거래나 개인 정보를 취급하는 서비스 거래에서 대부분 채용된다.
그런데 공인인증서는 공인인증서가 설치된 단말, 예컨데 컴퓨터 등이 악성 코드에 의하여 감염되거나 해킹되는 경우 보안성을 담보할 수 없다. 즉, 공인인증서 자체를 해킹하는 것은 쉽지 않지만, 공인인증서가 설치된 단말이 감염되거나 해킹되는 경우에는, 공인인증서에 의하여 제공되는 보안성이 무력화될 수 있다.
아울러, 보안성은 공인인증서 이외에도 보안카드나 OTP(one time password) 등을 중첩적으로 적용함으로써 강화될 수 있다. 이는, 하나의 패스워드가 노출된다고 하더라도 다른 복수의 패스워드를 사용하여 보안성을 제공하겠다는 의도이다. 그러나, 이러한 기술은 근본적으로 복수의 패스워드 각각이 노출될 경우에 대한 대비책을 제공하지는 못한다.
한국특허공개공보 2005-0017493 , 공개일자 2005년 02월 22일
본 발명의 해결하고자 하는 과제는 고객이 온라인을 통해 기 정의된 서비스를 요청할 경우, 이러한 서비스와 관련된 정보 및 서비스 자체에 대하여 보안성을 제공하는 기술을 제공하는 것이다.
더 나아가서는, 고객의 서비스를 분석한 뒤 서비스를 제공하는 서비스 제공 단말과의 통신을 통해, 고객을 대신하여 서비스를 서비스 제공 단말에 요청하는 기술을 제공하는 것이다.
다만, 본 발명의 해결하고자 하는 과제는 이에 한정되지 않는다.
본 발명의 일 실시예에 따른 보안 관리 장치는 고객측 단말과 상기 고객측 단말의 고객에게 기 정의된 서비스를 제공하는 서비스 제공 단말 간의 통신에 보안을 제공하며, 상기 고객측 단말은 고객측 암복호화 장치와 연결되고, 상기 서비스 제공 단말은 서비스 제공측 암복호화 장치와 연결되며, 상기 고객측 단말 또는 상기 서비스 제공 단말과 데이터를 송수신하는 통신부와, 상기 고객측 암복호화 장치에 의하여 암호화된 데이터가 상기 고객측 단말로부터 수신되면 이를 복호화하며, 또한 상기 고객측 단말에게 송신할 데이터를 상기 고객측 암복호화 장치에 의하여 복호화 가능하도록 암호화하는 제1 암복호화부와, 상기 서비스 제공측 암복호화 장치에 의하여 암호화된 데이터가 상기 서비스 제공 단말로부터 수신되면 이를 복호화하며, 또한 상기 서비스 제공 단말에게 송신할 데이터를 상기 서비스 제공측 암복호화 장치에 의하여 복호화 가능하도록 암호화하는 제2 암복호화부와, 상기 제1 암복호화부에 의하여 복호화된 데이터 또는 상기 제2 암복호화부에 의하여 복호화된 데이터를 분석하며, 상기 분석된 데이터를 기초로 상기 고객측 단말과 상기 서비스 제공 단말 간의 상기 서비스가 처리되도록 제어하는 제어부를 포함한다.
또한, 상기 고객측 단말이 복수 개이고 상기 복수 개의 고객측 단말 각각에 하나씩 고객측 암복호화 장치가 연결되는 경우, 상기 제1 암복호화부는 상기 복수 개의 고객측 암복호화 장치마다 하나씩 대응되도록 구비될 수 있다.
또한, 상기 서비스 제공 단말이 복수 개이고 상기 복수 개의 서비스 제공 단말 각각에 하나씩 서비스 제공측 암복호화 장치가 연결되는 경우, 상기 제2 암복호화부는 상기 복수 개의 서비스 제공측 암복호화 장치마다 하나씩 대응되도록 구비될 수 있다.
또한, 상기 제어부는 상기 제1 암복호화부에 의하여 복호화된 데이터에 사용자를 인증하는 인증자가 포함되어 있는 경우, 상기 인증자를 기초로 상기 고객측 단말의 고객이 정당한 사용자인지 여부를 인증할 수 있다.
또한, 상기 제어부는 상기 제1 암복호화부에 의하여 복호화된 데이터에 상기 고객측 단말의 고객이 요청한 서비스에 관한 항목이 포함되어 있는 경우, 상기 서비스에 관한 항목을 분석한 뒤 상기 서비스 제공 단말의 통신을 통해 상기 서비스에 관한 항목을 처리할 수 있다.
또한, 상기 제1 암복호화부는 기 설정된 복수 개의 키를 저장하는 키 저장부와, 상기 키 저장부로부터 상기 복수 개의 키 중 어느 하나인 제1 키를 전달받으며, 상기 전달받은 제1 키를 기초로 데이터를 암호화하는 처리부와, 상기 제어부로부터 암호화될 데이터를 전달받으며, 상기 전달받은 데이터를 상기 처리부에 전달하고, 상기 처리부에 전달한 데이터가 상기 제1 키를 기초로 상기 처리부에 의하여 암호화되면 상기 암호화된 데이터를 상기 처리부로부터 전달받으며, 상기 처리부로부터 전달받은 암호화된 데이터를 상기 통신부로 전달하는 데이터 포트부와, 상기 제1 암복호화부를 상기 고객측 암복호화 장치와 물리적으로 연결시키는 연결부를 포함하며, 상기 복수 개의 키는 상기 연결부가 상기 고객측 암복호화 장치에 포함된 연결부와 물리적으로 연결되면 생성될 수 있다.
또한, 상기 키 저장부는 상기 제1 키가 상기 처리부로 전달되는 경로인 키 버스(key bus)를 통해서 상기 처리부와 연결되지만, 상기 키 버스를 통해서 상기 데이터 포트부와는 연결되지 않을 수 있다.
또한, 상기 제1 암복호화부에 포함된 키 저장부와 상기 고객측 암복호화 장치에 포함된 키 저장부는 동일한 값의 복수 개의 키를 저장할 수 있다.
또한, 난수를 생성하는 난수 생성부를 더 포함하며, 상기 복수 개의 키는 상기 난수 생성부에 의하여 생성된 난수를 기초로 생성될 수 있다.
또한, 상기 처리부는 상기 데이터를, 상기 고객측 암복호화 장치와 제1 암복호화부가 모두 알고 있는 식별자와 결합시켜서 결합 데이터를 생성한 뒤, 상기 결합 데이터를 상기 제1 키를 기초로 암호화하고, 상기 데이터 포트부는 상기 암호화된 결합 데이터를 상기 처리부로부터 전달받으며, 상기 처리부로부터 전달받은 암호화된 결합 데이터를 상기 통신부로 전달할 수 있다.
또한, 상기 처리부는 상기 복수 개의 키 중 상기 고객측 암복호화 장치와 상기 제1 암복호화부가 모두 알고 있는 기 설정된 적어도 두 개 이상의 키를 기초로 상기 식별자를 생성할 수 있다.
또한, 난수를 생성하는 난수 생성부를 더 포함하고, 상기 식별자는 기 설정된 개수의 복수 개의 비트로 구성되며, 상기 복수 개의 비트 중 일부의 비트는 상기 적어도 두 개 이상의 키에 의하여 값이 정해지고, 상기 복수 개의 비트 중 나머지 비트는 상기 난수 생성부에 의하여 생성된 난수에 의하여 값이 정해질 수 있다.
또한, 상기 복수 개의 키는 새로운 복수 개의 키로 변경 가능하다.
또한, 상기 복수 개의 키가 상기 새로운 복수 개의 키로 변경될 때, 상기 제1 암복호화부와 상기 고객측 암복호화 장치가 서로 알고 있는 기 설정된 값을 기초로 상기 새로운 복수 개의 키가 생성되어 변경될 수 있다.
또한, 상기 데이터 포트부는 상기 통신부로부터 암호화된 데이터를 전달받으면 상기 전달받은 암호화된 데이터를 상기 처리부로 전달하고, 상기 처리부는 상기 키 저장부로부터 상기 복수 개의 키를 각각 전달받으며, 상기 처리부로부터 전달받은 암호화된 데이터를 상기 전달받은 각각의 키 중에서 어느 하나의 키를 기초로 복호화하며, 상기 데이터 포트부는 상기 복호화된 데이터를 상기 처리부로부터 전달받아서 상기 제어부로 전달할 수 있다.
본 발명의 실시예에 따르면, 데이터의 암복호화에 사용되는 키를 분배하여 공유시키는 과정이 물리적으로 오프라인 상에서 수행되므로 기존과는 차별화된 보안성을 제공할 수 있다. 또한, 이러한 보안성을 고객측 단말과의 통신 및 서비스 제공 단말과의 통신에 제공하고, 더 나아가서는 고객측 단말이 요청한 서비스를 분석한 뒤 서비스 제공 단말과의 통신을 통해, 고객을 대신하여 서비스를 요청하는 기술을 제공하는 것이다.
도 1은 본 발명의 일 실시예에 따른 보안 관리 장치에 의하여 고객측 단말과 서비스 제공 단말 간의 통신이 관리되는 것을 개념적으로 도시한 도면이다.
도 2는 본 발명의 일 실시예에 따른 보안 관리 장치가 복수의 고객측 단말 및 복수의 서비스 제공 단말에 대응되도록 암복호화부를 포함하는 것을 예시적으로 도시한 도면이다.
도 3은 본 발명의 일 실시예에 따른 보안 관리 장치의 구성을 도시한 도면이다.
도 4는 본 발명의 일 실시예에 따른 보안 관리 장치가 고객측 단말 및 서비스 제공 단말과의 통신에 보안성을 제공하는 과정을 도시한 도면이다.
도 5는 본 발명의 일 실시예에 따른 제1 암복호화부, 제2 암복호화부, 고객측 암복호화 장치 및 서비스 제공측 암복호화 장치의 구성을 도시한 도면이다.
도 6은 본 발명의 일 실시예에 따라서 고객측 암복호화 장치가 보안 관리 장치와 키를 생성하여 공유하기 위하여 연결되는 것, 그리고 서비스 제공측 암복호화 장치가 보안 관리 장치와 키를 생성하여 공유하기 위하여 연결되는 것을 개념적으로 도시한 도면이다.
도 7은 본 발명의 일 실시예에 따른 제1 암복호화부, 제2 암복호화부, 고객측 암복호화 장치 및 서비스 제공측 암복호화 장치에서 키 저장부와 처리부 및 데이터 포트부가 연결된 것을 개념적으로 도시한 도면이다.
도 8a 및 8b는 본 발명의 일 실시예에 따른 식별자를 개념적으로 도시한 도면이다.
도 9는 본 발명의 일 실시예에 따른 암복호화 방법의 절차를 도시한 도면이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
본 발명의 실시예들을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명의 실시예에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
도 1은 본 발명의 일 실시예에 따른 보안 관리 장치에 의하여 고객측 단말과 서비스 제공 단말 간의 통신이 관리되는 것을 개념적으로 도시한 도면이다.
도 1을 참조하면, 보안 관리 장치(200)는 고객측 단말(10a) 및 서비스 제공 단말(10b)과 각각 네트워크(300)에 의하여 연결된다. 이 때의 네트워크(300)는 CDMA, 3G, 4G, LTE-A, 블루투스, 와이파이, NFC 또는 IR과 같은 무선 통신 네트워크이거나 이와 달리 LAN과 같은 유선 통신 네트워크일 수 있다.
고객측 단말(10a)은 인터넷이 가능한 고객들의 디바이스(PC, 스마트폰 등)일 수 있다. 서비스 제공 단말(10b)은 인터넷을 통해 다양한 서비스, 예컨데 전자 상거래, 금융 거래 또는 민원 처리 등을 제공하는 서버 등일 수 있으며, 이 때 서비스 제공 단말(10b)이 제공하는 서비스는 전술한 예에 한정되는 것은 아니다.
고객측 단말(10a)에는 고객측 단말(10a)이 송수신하는 데이터를 암복호화하는 고객측 암복호화 장치(100a)가 연결된다. 또한, 서비스 제공 단말(10b)에는 서비스 제공 단말(10b)이 송수신하는 데이터를 암복호화하는 서비스 제공측 암복호화 장치(100b)가 연결된다. 이러한 고객측 암복호화 장치(100a) 및 서비스 제공측 암복호화 장치(100b)에 대해서는 도 5 내지 도 9에서 보다 자세하게 살펴보기로 한다.
보안 관리 장치(200)는 고객측 암복호화 장치(100a)에 의하여 암호화된 데이터를 고객측 단말(10a)로부터 수신하며, 수신된 암호화된 데이터를 복호화한다. 또한, 보안 관리 장치(200)는 고객측 단말(10a)에게 송신할 데이터를 암호화하는데, 암호화함에 있어서 고객측 암복호화 장치(100a)가 암호화된 데이터를 복호화할 수 있도록 암호화한다.
이는 서비스 제공 단말(10b)에 대해서도 마찬가지이다. 보안 관리 장치(200)는 서비스 제공측 암복호화 장치(100b)에 의하여 암호화된 데이터를 서비스 제공 단말(10b)로부터 수신하며, 수신된 암호화된 데이터를 복호화한다. 또한, 보안 관리 장치(200)는 서비스 제공 단말(10b)에게 송신할 데이터를 암호화하는데, 암호화함에 있어서 서비스 제공측 암복호화 장치(100b)가 암호화된 데이터를 복호화할 수 있도록 암호화한다.
여기서, 도 2를 참조하면, 고객측 단말(10a)이 복수 개(예컨데 N개) 존재하고 이러한 복수 개의 고객측 단말(10a) 각각에 하나씩 고객측 암복호화 장치(100a)가 연결되는 경우, 보안 관리 장치(200)에는 고객측 단말(10a)로부터 수신된 암호화된 데이터를 복호화하고 또한 고객측 단말(10a)로 송신할 데이터를 암호화하는 제1 암복호화부(220)를 복수 개의 고객측 암복호화 장치(100a)별로 하나씩, 각각에 대응되도록 예컨데 N개가 짝을 이루어서 구비될 수 있다.
이는 서비스 제공 단말(10b)에 대해서도 마찬가지이다. 도 2에 도시된 것과 같이 서비스 제공 단말(10b)이 복수 개(예컨데 M개) 존재하고 이러한 복수 개의 서비스 제공 단말(10b) 각각에 하나씩 서비스 제공측 암복호화 장치(100b)가 연결되는 경우, 보안 관리 장치(200)에는 서비스 제공 단말(10b)로부터 수신된 암호화된 데이터를 복호화하고 또한 서비스 제공 단말(10b)로 송신할 데이터를 암호화하는 제2 암복호화부(230)을 복수 개의 서비스 제공측 암복호화 장치(100b)별로 하나씩, 각각에 대응되도록 예컨데 M개가 짝을 이루어서 구비될 수 있다.
이 때, 복수 개의 고객측 암복호화 장치(100a) 중 어느 하나의 고객측 암복호화 장치(100a)에 의하여 암호화된 데이터는, 도 2에 도시된 것과 같이 그와 짝을 이루는 제1 암복호화부(220)에 의해서만 복호화가 가능하다. 또한, 복수 개의 제1 암복호화부(220) 중 어느 하나의 제1 암복호화부(220)에 의하여 암호화된 데이터는 그와 짝을 이루는 고객측 암복호화 장치(100a)에 의하여 복호화가 가능하다. 예를 들면, 고객측 암복호화 장치 #2(100a)에 의하여 암호화된 데이터는 그와 짝을 이루는 제1 암복호화부 #2(220)에 의해서만 복호화되고, 다른 제1 암복호화부(#1, #3 내지 #N)(220)에 의해서는 복호화되지 않는다.
아울러, 데이터를 암호화하고 복호화하는데 사용되는 키(키에 대해서는 후술할 것임)는, 고객측 암복호화 장치(100a)가 그와 짝을 이루는 보안 관리 장치(200)에 포함된 제1 암복호화부(220)와 물리적으로 오프라인 상에서 연결되었을 때 생성되어 고객측 암복호화 장치(100a) 및 보안 관리 장치(200) 사이에서만 공유된다. 따라서, 악의적 목적을 가진 해커 등은 고객측 암복호화 장치(100a) 또는 제1 암복호화부(220)를 물리적으로 탈취하여 습득하지 않는 이상, 고객측 암복호화 장치(100a)와 제1 암복호화부(220)가 키를 공유하는 과정에 온라인 상으로 개입하여 키를 탈취할 수 없다.
이는 서비스 제공측 암복호화 장치(100b) 및 제2 암복호화부(230)에 대해서도 마찬가지인바, 이에 대한 자세한 설명은 생략하기로 한다.
이를 토대로 살펴보면, 고객측 암복호화 장치(100a)와 보안 관리 장치(200)에 포함된 제1 암복호화부(220)는 서로 짝을 이루는 관계에서만 데이터의 암복호화, 특히 복호화가 가능하다. 아울러 데이터의 암복호화에 사용되는 키의 생성, 공유 및 분배 과정은 물리적으로 오프라인 상에서 이루어지므로, 고객측 암복호화 장치(100a) 또는 제1 암복호화부(220)를 물리적으로 탈취하지 않는 이상, 악의적 목적을 가진 해커들이 이러한 키를 공유하는 과정에 개입하여 온라인 상에서 키를 탈취할 수 있는 루트가 차단된다. 따라서, 고객측 암복호화 장치(100a)와 보안 관리 장치(200) 간에는 기존보다 견고한 보안성이 제공될 수 있다.
이는 서비스 제공측 암복호화 장치(100b) 및 제2 암복호화부(230)에 대해서도 마찬가지인바, 이에 대한 자세한 설명은 생략하기로 한다.
따라서, 보안 관리 장치(200)는 고객측 단말(10a)과의 데이터 송수신에 제공되는 견고한 보안성, 그리고 서비스 제공 단말(10b)과의 데이터 송수신에 제공되는 견고한 보안성을 이용하여, 고객측 단말(10a)과 서비스 제공 단말(10b) 간의 통신에 보안성을 제공 및 관리할 수 있다.
금융 거래를 예로 들어 살펴보면, 보안 관리 장치(200)는 고객측 단말(10a)이 요청한 금융 거래를 분석한 뒤 직접 서비스 제공 단말(10b)과 금융 거래를 처리할 수 있다. 즉, 보안 관리 장치(200)는 고객측 단말(10a)로부터 금융 거래를 일임받은 뒤, 고객측 단말(10a)을 대신하여 직접 서비스 제공 단말(10b)과 금융 거래를 처리할 수 있다.
다만, 이와 달리 보안 관리 장치(200)는 고객측 단말(10a)과 서비스 제공 단말(10b) 사이에서 데이터의 암복호화 및 데이터가 중계되도록 하고, 실질적인 금융 거래는 고객측 단말(10a)과 서비스 제공 단말(10b)이 직접 연결되어 수행되도록 할 수도 있다. 그러나, 이하에서는 보안 관리 장치(200)가 고객측 단말(10a)을 대신하여 직접 서비스 제공 단말(10b)과 금융 거래를 처리하는 것을 전제로 설명하기로 한다.
도 3은 본 발명의 일 실시예에 따른 보안 관리 장치의 구성을 도시한 도면이다.
보안 관리 장치(200)는 고객측 단말(10a)과 송수신되는 데이터를 암복호화하는 암복호화 기능 및 서비스 제공 단말(10b)과 송수신되는 데이터를 암복호화할 수 있는 암복호화 기능을 각각 수행한다. 또한, 보안 관리 장치(200)는 고객측 단말(10a)로부터 요청되는 서비스를 분석한 뒤, 고객측 단말(10a)을 대신하여 서비스 제공 단말(10b)과의 통신을 통해 서비스 제공 단말(10b)에 서비스를 요청한다. 이러한 보안 관리 장치(200)는 이러한 기능 및 이하에서 기술할 기능을 수행하도록 프로그램된 명령어를 저장하는 메모리, 그리고 이러한 명령어를 수행하는 프로세서에 의하여 구현 가능하다. 예컨데, 보안 관리 장치(200)는 서버와 같은 컴퓨터 등일 수 있다.
도 3을 참조하면, 보안 관리 장치(200)는 통신부(210), 제1 암복호화부(220), 제2 암복호화부(230) 및 제어부(240)를 포함하며, 도 3에 도시되지 않은 구성요소를 더 포함하거나 또는 도 3에 도시된 구성요소 중 적어도 하나 이상을 포함하지 않을 수 있다.
통신부(210)는 보안 관리 장치(200)가 고객측 단말(10a) 또는 서비스 제공 단말(10b)과 데이터를 송수신하도록 하는 기능을 수행한다. 이러한 통신부(210)는 유선 또는 무선 통신 모듈일 수 있다.
제1 암복호화부(220)는 고객측 단말(10a)로부터 수신된 암호화된 데이터를 복호화하며, 또한 고객측 단말(10a)로 송신될 데이터를 암호화한다. 제2 암복호화부(230)는 서비스 제공 단말(10b)로부터 수신된 암호화된 데이터를 복호화하며, 또한 서비스 제공 단말(10b)로 송신될 데이터를 암호화한다.
제1 암복호화부(220) 및 제2 암복호화부(230)는 각각 보안 관리 장치(220)에 포함된 다른 구성요소들과 독립된, 분리 가능한 모듈로 구성될 수 있다. 예컨데, 제1 암복호화부(220) 및 제2 암복호화부(230)는 하드웨어적으로 구성된 동글의 타입일 수 있으며, 보안 관리 장치(220)에 물리적으로 연결되는 형태일 수 있다. 또한, 제1 암복호화부(220)는 고객측 암복호화 장치(100a)와 물리적으로 연결되는 형태일 수 있으며, 제2 암복호화부(230)는 서비스 제공측 암복호화 장치(100b)와 물리적으로 연결되는 형태일 수 있다. 이러한 제1 암복호화부(220) 및 제2 암복호화부(230)의 구체적인 구성 및 기능에 대해서는 도 5 내지 도 9에서 보다 자세하게 설명하기로 한다.
제1 암복호화부(220)는 고객측 단말(10a)이 복수 개(예컨데 N개) 존재하고 이러한 복수 개의 고객측 단말(10a) 각각에 하나씩 고객측 암복호화 장치(100a)가 연결되는 경우, 도 3를 참조하여서 이미 설명한 바와 같이 복수 개의 고객측 암복호화 장치(100a)와 짝을 이루어서 N개가 구비될 수 있음은 전술한 바와 같으며, 이는 제2 암복호화부(230)에 대해서도 마찬가지이다.
제어부(240)는 제1 암복호화부(220)에 의하여 복호화된 데이터 또는 제2 암복호화부(230)에 의하여 복호화된 데이터를 분석한다. 또한, 제어부(240)는 분석된 데이터를 기초로 서비스 제공 단말(10b)과의 통신을 통해 서비스 제공 단말(10b)에 서비스를 요청한다.
금융 거래를 예로 들어 살펴보면, 제어부(240)는 고객측 단말(10a)이 요청한 금융 거래를 분석한 뒤 직접 서비스 제공 단말(10b)과 금융 거래를 처리할 수 있다. 즉, 보안 관리 장치(200)는 고객측 단말(10a)로부터 금융 거래를 일임받은 뒤, 고객측 단말(10a)을 대신하여 직접 서비스 제공 단말(10b)과 금융 거래를 처리할 수 있다. 다만, 이와 달리 제어부(240)는 고객측 단말(10a)과 서비스 제공 단말(10b) 사이에서 데이터의 암복호화 및 데이터가 중계되도록 하고, 실질적인 금융 거래는 고객측 단말(10a)과 서비스 제공 단말(10b)이 직접 연결되어 수행되도록 할 수도 있다. 이러한 제어부(240)는 전술한 기능 및 이하에서 설명할 기능을 수행하도록 프로그램된 명령어를 저장하는 메모리, 그리고 이러한 명령어를 수행하는 프로세서에 의하여 수행될 수 있다.
제어부(240)는 고객측 단말(10a)의 사용자를 식별부, 예컨데 ID를 이용하여 식별한다. 이러한 식별부는 암호화되지 않은 데이터일 수 있다. 제어부(240)는 이러한 식별부를 이용하여 고객측 단말(10a)이 복수의 고객측 단말(10a) 중 어떤 고객측 단말(10a)인지를 식별한다.
아울러, 제어부(240)는 고객측 단말(10a)의 식별부 및 이러한 식별부에 대응하는 고객측 단말(10a)이 어떠한 고객측 암복호화 장치(100a)와 연결되어 있는지에 대한 정보, 즉 매칭 정보를 가지고 있을 수 있다. 따라서, 제어부(240)는 이러한 매칭 정보를 토대로 식별부에 대응되는 고객측 단말(10a)이 어떠한 고객측 암복호화 장치(100a)와 연결되어 있는지를 식별할 수 있다.
이를 토대로 제어부(240)는 보안 관리 장치(200)에 포함된 복수의 제1 암복호화부(220) 중에서 식별된 고객측 암복호화 장치(100a)에 대응되는 제1 암복호화부(220)를 선별하여 복호화에 사용할 수 있다. 다만, 이는 예시적인 것이므로 본 발명의 사상이 이에 한정되는 것은 아니다.
제어부(240)는 고객측 단말(10a)의 사용자를 식별부를 이용하여 식별한 뒤, 식별된 사용자가 정당한 사용자인지 여부를 인증한다. 이러한 인증을 위하여, 제어부(240)는 인증자를 이용한다. 인증자는 고객측 단말(10a)로부터 수신된 데이터에 포함되며, 고객측 암복호화 장치(100a)에 의하여 암호화된 형태로 수신된다.
인증자에 대하여 보다 자세하게 살펴보면, 인증자는 통상적인 로그인 시스템에서 사용되는 비밀번호이거나 또는 기 정의된 개수, 예를 들면 1000개 정도의 문자들로 구성된 문자열일 수 있으며, 또는 전술한 비밀번호와 문자열을 조합한 구성일 수 있으나 이에 한정되는 것은 아니다.
도 4는 본 발명의 일 실시예에 따른 보안 관리 장치가 고객측 단말 및 서비스 제공 단말과의 통신을 관리하는 과정을 도시한 도면이다.
도 4를 참조하면, 보안 관리 장치(200)는 고객측 단말(10a)로부터 서비스에 대하여 요청받으면, 이를 분석하여서 서비스 제공 단말(10b)과의 데이터 송수신을 통해 고객측 단말(10a)을 대신하여 서비스를 요청한다.
보다 구체적으로 살펴보면, 먼저 고객측 단말(10a)은 보안 관리 장치(200)에 로그인을 요청한다(S10). 로그인 시, 고객측 단말(10a)은 고객측 단말(10a)의 사용자를 식별하는 식별부, 그리고 사용자가 정당한 사용자인지를 인증하기 위한 인증자를 보안 관리 장치(200)로 송신한다. 이 때, 식별부는 고객측 단말(10a)에 연결된 고객측 암복호화 장치(100a)에 의하여 암호화되지 않지만 인증자는 고객측 암복호화 장치(100a)에 의하여 암호화된 형태로 송신될 수 있다.
보안 관리 장치(200)는 고객측 단말(10a)로부터 데이터를 수신하고, 이러한 데이터에 포함된 식별부를 이용하여 고객측 단말(10a) 및 해당 고객측 단말(10a)에 연결된 고객측 암복호화 장치(100a)를 식별한다. 즉, 본 발명의 일 실시예에서 보안 관리 장치(200)는 복수의 고객측 단말(10a)과 통신을 수행하는데, 이러한 복수의 고객측 단말(10a)은 각각에 하나씩 고객측 암복호화 장치(100a)가 연결되어 있는 바, 보안 관리 장치(200)는 식별부를 이용하여, 자신에게 데이터를 송신한 고객측 단말(10a)이 복수의 고객측 단말(10a) 중 어떤 고객측 단말(10a)인지, 그리고 이러한 고객측 단말(10a)에 연결된 고객측 암복호화 장치(100a)가 복수의 고객측 암복호화 장치(100a) 중에서 어떤 것인지를 식별한다.
이 후, 보안 관리 장치(200)는, 복수의 제1 암복호화부(220) 중에서, 식별된 고객측 암복호화 장치(100a)에 대응되는 제1 암복호화부(220)를 선별한다. 아울러, 선별된 제1 암복호화부(220)를 이용하여 수신된 데이터를 복호화한다. 복호화를 통해, 고객측 단말(10a)의 사용자가 정당한 사용자인지 여부를 인증한다(S20).
인증이 완료되면, 보안 관리 장치(200)는 고객측 단말(10a)로 인증이 승인되었음을 전달한다(S30).
고객측 단말(10a)은 보안 관리 장치(200)로 서비스를 요청한다(S40). 이러한 서비스에는 전술한 바와 같이 금융 거래, 전자 상거래 또는 민원 요청 등이 있을 수 있으며, 이러한 요청에는 개인 정보 등이 포함될 수 있다.
보안 관리 장치(200)는 요청된 서비스를 분석한다(S50). 이를 위하여, 수신된 서비스에 대한 요청을 제1 암복호화부(220)가 복호화하며, 그 안에 포함된, 요청된 서비스에 대한 정보를 판별한다.
이 후, 보안 관리 장치(200)는 서비스 제공 단말(10b)과 암호화된 데이터를 송수신하면서 서비스를 요청 및 수행한다(S60). 이 때, 서비스 제공 단말(10b)은 복수 개가 있을 수 있으며 각각의 서비스 제공 단말(10b)에는 하나씩 서비스 제공측 암복호화 장치(100b)가 연결될 수 있다. 보안 관리 장치(200)는 그에 포함된 복수의 제2 암복호화부(230) 중에서 고객측 단말(10a)이 요청한 서비스 제공측 단말에 대응되는 제2 암복호화부(230)를 선별한 뒤, 선별된 제2 암복호화부(230)를 이용하여 데이터를 암호화한다. 암호화된 데이터는 서비스 제공 단말(10b)로 송신되며, 송신된 암호화된 데이터는 서비스 제공 단말(10b)에 의하여 복호화된다.
이러한 과정을 거치면서 보안 관리 장치(200)는 서비스 제공 단말(10b)과 서비스를 요청하고 수행한다. 이 때, 보안 관리 장치(200)는 고객측 단말(10a)로부터 한번 서비스에 대한 요청을 받으면, 그 이후로는 고객측 단말(10a)을 대신하여서 직접 서비스 제공 단말(10b)과 서비스가 수행되도록 할 수 있다. 즉, 보안 관리 장치(200)는 고객측 단말(10a)의 사용자로부터 서비스의 요청 등에 대한 권한을 일임받아서, 고객측 단말(10a) 대신 이러한 서비스 요청 및 수행을 할 수 있다.
보안 관리 장치(200)는 서비스 제공 단말(10b)과 서비스 요청 및 수행이 완료되면 그 결과를 고객측 단말(10a)로 송신한다(S70).
이하에서는, 고객측 암복호화 장치(100a), 서비스 제공측 암복호화 장치(100b), 제1 암복호화부(220) 및 제2 암복호화부(230)의 구성에 대하여 살펴보고, 이들이 키를 생성하여 공유 및 분배하는 과정에 대하여 보다 자세하게 살펴보기로 한다. 먼저, 고객측 암복호화 장치(100a), 서비스 제공측 암복호화 장치(100b), 제1 암복호화부(220) 및 제2 암복호화부(230)는 데이터를 암복호화하는 기능을 수행한다는 측면, 그리고 이와 같이 데이터를 암복호화할 때 사용되는 키를 생성 및 공유하는 측면에서 공통되며, 이하에서 설명할 바와 같이 동일한 구성 및 효과를 갖는다. 따라서, 이하에서는 고객측 암복호화 장치(100a), 서비스 제공측 암복호화 장치(100b), 제1 암복호화부(220) 및 제2 암복호화부(230)를 모두 암복호화 장치(100)로 통칭하여 지칭하기로 한다. 아울러, 고객측 단말(10a) 및 서비스 제공측 단말(10b)은 모두 통신 객체(10)로 통칭하여 지칭하기로 한다.
도 5는 본 발명의 일 실시예에 따른 암복호화 장치의 구성에 대하여 도시한 도면이다.
도 5를 참조하면, 암복호화 장치(100)는 키 저장부(110), 처리부(120), 데이터 포트부(130) 및 연결부(140)를 포함한다. 또한, 암복호화 장치(100)는 추가적으로 난수 발생부(150), 보호부(160), 리셋부(170), 알고리즘 저장부(180) 및 접속부(190)를 포함할 수 있다.
암복호화 장치(100), 그리고 이에 포함된 전술한 구성요소들은 이들의 기능을 수행하도록 프로그램된 명령어를 저장하는 메모리 및 이러한 명령어를 수행하는 마이크로프로세서에 의하여 구현될 수 있다.
연결부(140)에 대하여 먼저 살펴보면, 연결부(140)는 복수의 암복호화 장치(100)를 서로 간에 연결시키는 구성으로, 예를 들면 하드웨어적으로 구현된 커넥터일 수 있다. 도 6을 참조하여 보다 자세하게 살펴보면, 각각의 암복호화 장치(100)는 자신이 포함하고 있는 연결부(140)를 통해 서로 간에 물리적으로 연결된다. 즉, 연결부(140)는 복수의 암복호화 장치(100)를 서로 간에 물리적으로, 오프라인 상에서 연결시키기 위한 구성이다.
다시 도 5를 참조하면, 키 저장부(110)는 기 설정된 복수 개의 키를 저장한다. 복수 개의 키 각각은 데이터를 암호화하는데 사용되며, 각각 복수 개의 비트로 구성될 수 있다.
키 저장부(110)는 난수 생성부(150)에 의하여 생성된 임의의 개수, 예를 들면 1000개의 난수의 값을 기초로 복수 개의 키를 생성할 수 있다. 이 때, 임의의 개수의 난수의 값 그 자체가 복수 개의 키가 되거나, 이와 달리 상기 임의의 개수의 난수를 키 저장부(110)가 가공하여 생성된 값이 복수 개의 키가 될 수도 있다.
이 때, 암복호화 장치(100)에 포함된 리셋부(170)는 시드(seed) ― 난수를 생성할 때 사용되는 값 ― 를 생성하여 난수 생성부(150)에 제공한다. 아울러, 이러한 시드는 연결부(140)를 통하여 다른 복수의 암복호화 장치(100)에 포함된 난수 생성부(150)에도 전달 및 제공된다. 시드를 전달 및 제공받은 복수의 암복호화 장치(100)에 포함된 난수 생성부(150)는, 동일한 시드를 이용하여 난수를 생성한다. 따라서, 복수의 암복호화 장치(100) 각각에서는 동일한 난수가 생성되며, 이에 따라 복수의 암복호화 장치(100) 각각에서는 동일한 값을 갖는 복수 개의 키가 생성된다.
여기서, 리셋부(170)에 대하여 보다 자세하게 살펴보면, 리셋부(170)는 사용자에 의한 입력을 받아들이는 버튼 등을 포함할 수 있다. 또한, 리셋부(170)는 난수 생성부(150)와 연결된다. 복수의 암복호화 장치(100)가 연결부(140)를 통해 서로 간에 연결된 후, 리셋부(170)가 버튼이나 터치 등을 통하여 사용자의 입력을 받아들이면, 이러한 리셋부(170)는 시드를 생성하여 난수 생성부(150)로 제공하며, 시드는 복수의 암복호화 장치(100)에 각각 포함된 난수 생성부(150)로 전달 및 제공된다.
이상에서 살펴본 바와 같이, 복수의 암복호화 장치(100)는 서로 간에 물리적으로 오프라인 상에서 연결되었을 때 복수 개의 키를 생성하여 공유한다. 즉, 복수 개의 키가, 유선이든 무선이든 통신망을 통해서 다른 암복호화 장치(100)로 전달되는 일이 발생하지 않는다. 따라서, 기존의 RSA와는 달리 키를 분배하여 공유시키는 과정에서 키가 유출되거나 해킹될 위험이 전혀 없다.
한편, 복수의 암복호화 장치(100)가 시드를 통해 복수 개의 키를 공유하는 전술한 과정은 예시적인 것이므로 본 발명의 사상은 이에 한정되지 않는다. 예를 들면, 어느 하나의 암복호화 장치(100)가 복수 개의 키를 생성한 후 연결부(140)를 통하여 나머지 암복호화 장치(100)에 복수 개의 키를 전달하는 방식을 통해서도, 즉 시드의 전달 및 제공 없이도 복수의 암복호화 장치(100)는 동일한 값을 갖는 복수 개의 키를 공유할 수 있다.
키 저장부(110)에 저장된 복수 개의 키는 갱신(업데이트)될 수 있다. 갱신 시점은 주기적으로 또는 필요한 때에 임의로 이루어질 수 있는데, 복수의 암복호화 장치(100)는 이러한 갱신 시점에 대하여 서로 약속한 규칙을 가지고 있을 수 있으며, 따라서 동일한 시점에 복수 개의 키를 갱신할 수 있다.
아울러, 키를 갱신하는 것은 새로운 복수 개의 키를 생성하는 것이므로, 이 경우에도 난수 생성부(150)에 의하여 생성된 난수를 기초로 복수 개의 키를 생성할 수 있다. 키를 갱신할 때 난수 생성부(150)에 전달되는 시드는 복수의 암복호화 장치(100)가 서로 간에 알고 있는 기 설정된 값, 예를 들면 갱신 전 1번째 또는 마지막 번째의 키일 수 있다. 즉, 복수의 암복호화 장치(100)는 갱신을 위하여 동일한 시드를 가지고 복수 개의 키를 생성하며, 이와 같이 생성된 복수 개의 키를 갱신에 사용한다. 따라서, 복수 개의 키가 갱신이 되더라도 복수의 암복호화 장치(100)는 동일한 값의 복수 개의 키를 공유할 수 있다.
처리부(120)는 통신 객체(10)가 다른 통신 객체(10)로 송신할 데이터를 암호화한다. 보다 자세하게 살펴보면, 키 저장부(110)에 저장된 복수 개의 키 중 어느 하나인 제1 키가 선택된다. 제1 키를 선택하는 주체는 키 저장부(110) 또는 처리부(120)일 수 있다. 처리부(120)는 제1 키를 기초로 암호화 대상인 데이터를 암호화한다. 여기서, 제1 키를 기초로 데이터를 암호화하는 암호화 알고리즘은 기존에 공지된 것을 사용할 수 있으며, 알고리즘 저장부(180)에 저장될 수 있는데, 이러한 알고리즘 저장부(180)는 ROM의 형태일 수 있다. 이 때, 제1 키를 기초로 암호화된 데이터는 제1 키에 의해서만 복호화가 가능하다.
처리부(120)는 통신 객체(10)가 다른 통신 객체(10)로부터 수신한 암호화된 데이터를 복호화하는데, 복호화하는 알고리즘 또한 알고리즘 저장부(10)에 저장될 수 있다. 보다 자세하게 살펴보면, 처리부(120)는 암호화된 데이터를 키 저장부(110)에 저장된 복수 개의 키 중 어느 하나인 키를 이용하여 복호화한다. 여기서, 키를 이용하여 암호화된 데이터를 복호화하는 알고리즘은 기존에 공지된 것을 사용할 수 있다.
여기서, 처리부(120)가 암호화된 데이터를 복호화하기 위해서는, 암호화된 데이터가 복수의 키 중 어떠한 키를 기초로 암호화되었는지 여부를 알아야 한다. 이하에서는 이에 대하여 자세히 설명하기로 하되, 데이터를 암호화하는 처리부를 제1 처리부로 그리고 이러한 제1 처리부를 포함하는 암복호화 장치를 제1 암복호화 장치로, 데이터를 복호화하는 처리부를 제2 처리부로 그리고 이러한 제2 처리부를 포함하는 암복호화 장치를 제2 암복호화 장치로 지칭하기로 한다.
제1 처리부는 암호화 대상인 데이터에 식별자(또는 control block이라고 지칭될 수도 있음)를 결합시킨 결합 데이터를 생성한다. 식별자는 복수의 암복호화 장치(100)가 서로 간에 모두 알고 있는 값이다. 제1 처리부는 키 저장부(110)로부터 제1 키를 전달받으며, 제1 키를 기초로 결합 데이터를 암호화한다. 암호화된 결합 데이터는 제1 암복호화 장치가 제2 암복호화 장치로 송신한다.
제2 암복호화 장치는 암호화된 결합 데이터를 수신한다. 제2 처리부는 암호화된 결합 데이터를 다음과 같은 과정을 통하여 복호화하되, 이는 예시적인 것이므로 본 발명의 사상이 이에 한정되는 것은 아니다. 먼저, 키 저장부(110)로부터 복수 개의 키를 하나씩 전달받는다. 전달받은 키를 기초로 암호화된 결합 데이터에 대하여 복호화를 시도한다. 복호화한 결과로부터 식별자를 분리한다. 분리된 식별자가 제2 암복호화 장치가 알고 있는 값인지 여부를 판별한다. 만약 분리된 식별자가 제2 암복호화 장치가 알고 있는 값인 경우에는 전달받은 키가 암호화에 사용된 키인 것으로 간주하며, 복호화된 결합 데이터 중에서 식별자가 분리된 나머지 데이터를 복호화된 데이터로 취급한다. 그러나, 알고 있는 값이 아닌 경우에는 알고 있는 값이 나올 때까지 키 저장부(110)로부터 새로운 키를 전달받아서 복호화 과정을 반복한다.
이를 통해 살펴보면, 해커가 암호화된 결합 데이터를 복호화하기 위해서는, 복수 개의 키를 모두 알아야 하며, 추가적으로 식별자가 무엇인지도 알아야 한다. 그러나, 복수 개의 키는 복수의 암복호화 장치(100)가 물리적으로 오프라인 상에서 서로 연결되었을 때 공유되기 때문에 유출될 우려가 없으며, 식별자 또한 암복호화 장치(100)의 초기 제작 과정에서 ROM과 같은 곳에 심어지기 때문에 해커가 이를 알아낼 수 없다. 따라서, 일 실시예에 따른 암복호화 장치를 사용하면 해킹의 위험을 원천적으로 차단시킬 수 있다.
한편, 이하에서는 식별자에 대하여 보다 자세하게 살펴보기로 한다. 전술한 바와 같이 식별자는 복수의 암복호화 장치(100)가 서로 간에 모두 알고 있는 값이다. 도 8a는 식별자(122)가 데이터(121)와 결합된, 결합 데이터를 개념적으로 도시한 도면이다. 도 8a를 참조하면, 식별자(122)는 기 설정된 개수, 예를 들면 n개의 비트로 구성될 수 있다.
이러한 n개의 비트는 복수의 암복호화 장치(100)가 서로 알고 있는 약속된 규칙에 의하여 그 값이 채워질 수 있다. 도 8b는 식별자를 구성하는 n개의 비트가 복수의 암복호화 장치(100)가 서로 알고 있는 약속된 규칙에 의하여 그 값이 채워지는 것을 개념적으로 도시한 도면이다. 이하에서는 이러한 약속된 규칙에 대하여 보다 자세하게 살펴보기로 한다.
먼저, 복수의 암복호화 장치(100)가 서로 알고 있는 기 설정된 적어도 두 개 이상의 키를 이용하여, n개의 비트의 특정 위치에 특정 값을 할당한다. 예를 들면, 복수의 암복호화 장치(100)가 50개의 키, 즉 제1 키부터 제50 키까지 서로 알고 있다고 가정하자. 그리고 제1 키를 n으로 모듈러 연산을 한 값을 제1 값이라고 하고 제2 키를 2로 모듈러 연산을 한 값을 제2 값이라고 하면, n개의 비트 중 제1 값이 나타내는 번째의 비트에 제2 값을 할당한다. 다음으로, 제3 키를 n으로 모듈러 연산을 한 값을 제3 값이라고 하고 제4 키를 2로 모듈러 연산을 한 값을 제4 값이라고 하면, n개의 비트 중 제3 값이 나타내는 번째의 비트에 제4 값을 할당한다. 이와 같은 방식으로 50개의 키를 이용하여 n개의 비트의 특정 위치에 특정 값을 할당한다. 이 때, 이미 값이 할당된 위치에 또 값을 할당해야 한다면, 뒤에 할당된 값을 해당 위치에 할당한다. 이 후, n개의 비트 중 값이 할당되지 않은 비트가 있을 수 있다. 값이 할당되지 않은 비트에는 난수 생성부(150)에서 생성한 비트를 할당한다. 도 8b는 전술한 과정에 의하여 식별자를 생성한 것을 개념적으로 도시한 도면이다. 도 8b를 참조하면, n개의 비트 중 적어도 두 개 이상의 키를 이용하여 값이 할당되는 비트는 b로 표시되고, 난수 생성부(150)가 생성한 난수가 할당되는 비트는 a로 표시된다.
이와 같이 제1 처리부에 의하여 생성된 식별자는, 제2 처리부에 의해서도 동일한 알고리즘으로 도출할 수 있다. 즉, 제2 암복호화 장치는 제1 암복호화 장치와 동일한 알고리즘으로 식별자를 생성한다. 이 후, 제1 암복호화 장치로부터 암호화된 결합 데이터를 수신하면, 제2 처리부는 암호화된 결합 데이터를 복수 개의 키를 이용하여 복호화를 시도한다. 복호화를 시도한 결과 제2 처리부는 결합 데이터로부터 식별자를 분리한다. 이 후, 분리된 식별자 중에서 값이 할당되는 비트 위치인 b에 대해서만 자신이 생성한 식별자와 비교를 한다. 비교 결과 값이 할당되는 비트 위치인 b에 대해서 같은 값이 나오면, 해당 키가 암호화에 사용된 키인 것으로 간주한다.
이와 같이 생성된 식별자를 이용할 경우, 해커는 복수 개의 키 전부, 그리고 식별자 생성에 사용되는 적어도 두 개 이상의 키 및 식별자를 생성할 때 사용되는 알고리즘을 모두 알아야만이 데이터를 해킹할 수 있다. 그러나, 전술한 바와 같이 복수 개의 키는 암복호화 장치(100)가 하드웨어적으로 오프라인 상에서 공유하기 때문에 유출될 우려가 없으며, 식별자 또한 암복호화 장치(100)의 초기 제작 과정에서 ROM과 같은 곳에 심어지기 때문에 해커가 이를 알아낼 수 없다. 따라서, 일 실시예에 따른 암복호화 장치를 사용하면 해킹의 위험을 원천적으로 차단할 수 있다.
다시 도 5를 참조하면, 데이터 포트부(130)는 암호화될 데이터를 통신 객체(10)로부터 전달받아서 처리부(120)로 전달한다. 또한, 데이터 포트부(130)는 처리부(120)가 데이터를 암호화하면 통신 객체로 암호화된 데이터를 전달한다.
아울러, 데이터 포트부(130)는 암호화된 데이터를 통신 객체(10)로부터 전달받아서 처리부(120)로 전달한다. 또한, 데이터 포트부(130)는 처리부(120)가 암호화된 데이터를 복호화하면 통신 객체로 복호화된 데이터를 전달한다.
여기서, 도 7을 참조하면, 데이터 포트부(130)는 데이터 버스(125)를 통해서 처리부(125)와 연결된다. 데이터 버스(125)란 데이터가 송수신되는 경로를 의미한다. 키 저장부(110)는 처리부(120)와 키 버스(115)를 통해서 연결된다. 키 버스(115)란 키 저장부(110)에 저장된 키가 처리부(120)로 전달되는 경로를 의미한다.
이 때, 키 저장부(110)는 키 버스(115)를 통해서 처리부(120)와는 연결되지만, 데이터 포트부(130)와는 직접적으로 연결되지 않는다. 따라서, 외부에서는 데이터 포트부(130)를 통해서 키 저장부(110)에 직접 접근할 수 없으며, 그 결과 외부에서는 키 저장부(110)에 저장된 복수 개의 키에 접근할 수 없다.
보호부(160)는 암복호화 장치(100)에 비정상적인 것으로 정의된 행위가 가해지는 것을 인식하며, 이러한 행위가 가해지는 것이 인식되면 키 저장부(110)에 저장된 복수 개의 키를 삭제한다. 비정상적인 것으로 정의된 행위에는, 예를 들면 키 저장부(110)에 저장된 복수 개의 키를 전자기적으로 복제하기 위한 시도, 진동이나 열 등을 감지하는 시도 등일 수 있으나 이에 한정되는 것은 아니다.
접속부(190)는 암복호화 장치(100)와 통신 객체(10)를 연결시킨다. 이러한 접속부(190)는 하드웨어적인 커넥터이거나 이와 달리 무선 통신(블루투스, NFC, 와이파이 등) 모듈일 수도 있으나 이에 한정되는 것은 아니다.
도 9는 본 발명의 일 실시예에 따른 암복호화 방법의 절차를 도시한 도면으로, 암복호화 방법은 전술한 암복호화 장치(100)에 의하여 수행될 수 있다. 아울러, 이하에서 설명할 암복호화 방법은 실시예에 따라서 이하에서 설명할 적어도 하나 이상의 단계가 수행되지 않거나 언급되지 않은 새로운 단계가 추가로 수행될 수도 있으며, 그 순서가 변경될 수도 있다.
도 9를 참조하면, 암복호화 장치에 포함된 연결부가 타 암복호화 장치에 포함된 연결부와 물리적으로 연결되면 기 설정된 복수 개의 키를 생성하는 단계(S100)와, 통신 객체로부터 암호화될 데이터를 전달받는 단계(S110)와, 상기 전달받은 데이터를 상기 복수 개의 키 중 어느 하나인 제1 키를 기초로 암호화하는 단계(S120)와, 상기 암호화된 데이터를 상기 통신 객체로 전달하는 단계(S130)가 수행될 수 있다.
여기서, 암복호화 방법은 암복호화 장치(100)에 의하여 수행되는바, 암복호화 방법을 구성하는 각각의 단계의 기능은 암복호화 장치(100)를 설명하면서 이미 상세하게 설명하였는바, 이에 대해서는 설명을 생략하기로 한다.
이상에서 살펴본 바와 같이, 본 발명의 일 실시예에 따르면 데이터의 암복호화에 사용되는 키를 분배하여 공유시키는 과정이 물리적으로 오프라인 상에서 수행되므로 기존과는 차별화된 보안성을 제공할 수 있다. 또한, 이러한 보안성을 고객측 단말과의 통신 및 서비스 제공 단말과의 통신에 제공하고, 더 나아가서는 고객측 단말이 요청한 서비스를 분석한 뒤 서비스 제공 단말과의 통신을 통해, 고객을 대신하여 서비스를 요청하는 기술을 제공하는 것이다.
본 발명에 첨부된 블록도의 각 블록과 흐름도의 각 단계의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수도 있다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 블록도의 각 블록 또는 흐름도 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 블록도의 각 블록 및 흐름도의 각 단계에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실시예들에서는 블록들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들 또는 단계들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
10a: 고객측 단말 10b: 서비스 제공 단말
100a: 고객측 암복호화 장치 100b: 서비스 제공측 암복호화 장치

Claims (15)

  1. 고객측 단말과 상기 고객측 단말의 고객에게 기 정의된 서비스를 제공하는 서비스 제공 단말 간의 통신에 보안을 제공하는 보안 관리 장치로서,
    상기 고객측 단말은 고객측 암복호화 장치와 연결되고, 상기 서비스 제공 단말은 서비스 제공측 암복호화 장치와 연결되며,
    상기 고객측 단말 또는 상기 서비스 제공 단말과 데이터를 송수신하는 통신부와,
    상기 고객측 암복호화 장치에 의하여 암호화된 데이터가 상기 고객측 단말로부터 수신되면 이를 복호화하며, 또한 상기 고객측 단말에게 송신할 데이터를 상기 고객측 암복호화 장치에 의하여 복호화 가능하도록 암호화하는 제1 암복호화부와,
    상기 서비스 제공측 암복호화 장치에 의하여 암호화된 데이터가 상기 서비스 제공 단말로부터 수신되면 이를 복호화하며, 또한 상기 서비스 제공 단말에게 송신할 데이터를 상기 서비스 제공측 암복호화 장치에 의하여 복호화 가능하도록 암호화하는 제2 암복호화부와,
    상기 제1 암복호화부에 의하여 복호화된 데이터 또는 상기 제2 암복호화부에 의하여 복호화된 데이터를 분석하며, 상기 분석된 데이터를 기초로 상기 고객측 단말과 상기 서비스 제공 단말 간의 상기 서비스가 처리되도록 제어하는 제어부를 포함하며,
    상기 제1 암복호화부는 연결부, 키 저장부, 데이터 포트부 및 처리부를 포함하고,
    상기 연결부는 상기 고객측 암복호화 장치에 포함된 연결부와 하드웨어적으로 연결되며,
    상기 키 저장부는 상기 제1 암복호화부의 연결부가 상기 고객측 암복호화 장치의 연결부와 물리적으로 연결되면 복수 개의 키를 생성하여서 저장하고, 상기 복수 개의 키가 상기 고객측 암복호화 장치와 공유되도록 하며,
    상기 데이터 포트부는 상기 고객측 단말에게 송신할 데이터를 상기 처리부에게 전달하고,
    상기 처리부는,
    상기 복수 개의 키 중에서 적어도 두 개 이상의 키를 기초로 식별자를 생성하며, 상기 데이터 포트부로부터 전달받은 상기 고객측 단말에게 송신할 데이터를 상기 식별자와 결합시켜서 결합 데이터를 생성하고, 상기 키 저장부로부터 상기 복수 개의 키 중 어느 하나인 제1 키를 전달받은 뒤, 상기 전달받은 제1 키를 기초로 상기 결합 데이터를 암호화하고,
    상기 데이터 포트부는,
    상기 처리부로부터 상기 암호화된 결합 데이터를 전달받아서 상기 통신부에게 전달하며,
    상기 식별자는,
    상기 결합 데이터의 암호화에 사용된 제1 키가 상기 복수 개의 키 중에서 어떤 키인지를, 상기 고객측 암복호화 장치가 판별하는데 사용되는
    보안 관리 장치.
  2. 제 1 항에 있어서,
    상기 고객측 단말이 복수 개이고 상기 복수 개의 고객측 단말 각각에 하나씩 고객측 암복호화 장치가 연결되는 경우, 상기 제1 암복호화부는 상기 복수 개의 고객측 암복호화 장치마다 하나씩 대응되도록 구비되는
    보안 관리 장치.
  3. 제 1 항에 있어서,
    상기 서비스 제공 단말이 복수 개이고 상기 복수 개의 서비스 제공 단말 각각에 하나씩 서비스 제공측 암복호화 장치가 연결되는 경우, 상기 제2 암복호화부는 상기 복수 개의 서비스 제공측 암복호화 장치마다 하나씩 대응되도록 구비되는
    보안 관리 장치.
  4. 제 1 항에 있어서,
    상기 제어부는,
    상기 제1 암복호화부에 의하여 복호화된 데이터에 사용자를 인증하는 인증자가 포함되어 있는 경우, 상기 인증자를 기초로 상기 고객측 단말의 고객이 정당한 사용자인지 여부를 인증하는
    보안 관리 장치.
  5. 제 1 항에 있어서,
    상기 제어부는,
    상기 제1 암복호화부에 의하여 복호화된 데이터에 상기 고객측 단말의 고객이 요청한 서비스에 관한 항목이 포함되어 있는 경우, 상기 서비스에 관한 항목을 분석한 뒤 상기 서비스 제공 단말의 통신을 통해 상기 서비스에 관한 항목을 처리하는
    보안 관리 장치.
  6. 삭제
  7. 제 1 항에 있어서,
    상기 키 저장부는,
    상기 제1 키가 상기 처리부로 전달되는 경로인 키 버스(key bus)를 통해서 상기 처리부와 연결되지만, 상기 키 버스를 통해서 상기 데이터 포트부와는 연결되지 않는
    보안 관리 장치.
  8. 제 1 항에 있어서,
    상기 제1 암복호화부에 포함된 키 저장부와 상기 고객측 암복호화 장치에 포함된 키 저장부는,
    동일한 값의 복수 개의 키를 저장하는
    보안 관리 장치.
  9. 제 1 항에 있어서,
    난수를 생성하는 난수 생성부를 더 포함하며,
    상기 복수 개의 키는,
    상기 난수 생성부에 의하여 생성된 난수를 기초로 생성되는
    보안 관리 장치.
  10. 삭제
  11. 삭제
  12. 제 1 항에 있어서,
    난수를 생성하는 난수 생성부를 더 포함하고,
    상기 식별자는,
    기 설정된 개수의 복수 개의 비트로 구성되며, 상기 복수 개의 비트 중 일부의 비트는 상기 적어도 두 개 이상의 키에 의하여 값이 정해지고, 상기 복수 개의 비트 중 나머지 비트는 상기 난수 생성부에 의하여 생성된 난수에 의하여 값이 정해지는
    보안 관리 장치.
  13. 제 1 항에 있어서,
    상기 복수 개의 키는 새로운 복수 개의 키로 변경 가능한
    보안 관리 장치.
  14. 제 13 항에 있어서,
    상기 복수 개의 키가 상기 새로운 복수 개의 키로 변경될 때,
    상기 제1 암복호화부와 상기 고객측 암복호화 장치가 서로 알고 있는 기 설정된 값을 기초로 상기 새로운 복수 개의 키가 생성되어 변경되는
    보안 관리 장치.
  15. 삭제
KR1020160035558A 2016-01-15 2016-03-24 고객측 단말과 서비스 제공 단말 간의 통신에 보안을 제공하는 보안 관리 장치 KR101834514B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020160005631 2016-01-15
KR20160005631 2016-01-15

Publications (2)

Publication Number Publication Date
KR20170085925A KR20170085925A (ko) 2017-07-25
KR101834514B1 true KR101834514B1 (ko) 2018-03-06

Family

ID=59426776

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160035558A KR101834514B1 (ko) 2016-01-15 2016-03-24 고객측 단말과 서비스 제공 단말 간의 통신에 보안을 제공하는 보안 관리 장치

Country Status (1)

Country Link
KR (1) KR101834514B1 (ko)

Also Published As

Publication number Publication date
KR20170085925A (ko) 2017-07-25

Similar Documents

Publication Publication Date Title
CN109088889B (zh) 一种ssl加解密方法、系统及计算机可读存储介质
US9779224B2 (en) Methods and systems for client-enhanced challenge-response authentication
KR101265873B1 (ko) 분산된 단일 서명 서비스 방법
JP4617763B2 (ja) 機器認証システム、機器認証サーバ、端末機器、機器認証方法、および機器認証プログラム
JP6399382B2 (ja) 認証システム
KR20200107931A (ko) 멀티 포인트 인증을 위한 키 생성 및 보관을 위한 시스템 및 방법
KR101834504B1 (ko) 암복호화 장치 및 방법
US9374221B1 (en) Distributed protection of credential stores utilizing multiple keys derived from a master key
JP2019530265A (ja) グラフィックコード情報を提供及び取得する方法及び装置並びに端末
US8397281B2 (en) Service assisted secret provisioning
US10320774B2 (en) Method and system for issuing and using derived credentials
CN113411187B (zh) 身份认证方法和系统、存储介质及处理器
JP6930053B2 (ja) 装置認証キーを利用したデータ暗号化方法およびシステム
CN114765543A (zh) 一种量子密码网络扩展设备的加密通信方法及系统
TW201901508A (zh) 用於登入的認證方法
KR101834522B1 (ko) 데이터 확인 장치 및 이를 이용하여 데이터를 확인하는 방법
JP2017108237A (ja) システム、端末装置、制御方法、およびプログラム
KR101834514B1 (ko) 고객측 단말과 서비스 제공 단말 간의 통신에 보안을 제공하는 보안 관리 장치
KR101829423B1 (ko) 암복호화 장치 및 이를 이용한 암복호화 방법
KR101810165B1 (ko) 전자 화폐 단말 및 이를 이용하여 전자 화폐를 제공하는 방법
KR101664471B1 (ko) 네트워크 기반 모바일 오티피 처리 방법
JP6165044B2 (ja) 利用者認証装置、システム、方法及びプログラム
KR101834515B1 (ko) 입력부를 포함하는 암복호화 장치
KR101663694B1 (ko) 사용자의 휴대폰을 이용한 서비스 제공 방법
KR101663693B1 (ko) 정보 등록 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right