KR20170118532A - Performing cryptographic function using an external device - Google Patents

Performing cryptographic function using an external device Download PDF

Info

Publication number
KR20170118532A
KR20170118532A KR1020160046462A KR20160046462A KR20170118532A KR 20170118532 A KR20170118532 A KR 20170118532A KR 1020160046462 A KR1020160046462 A KR 1020160046462A KR 20160046462 A KR20160046462 A KR 20160046462A KR 20170118532 A KR20170118532 A KR 20170118532A
Authority
KR
South Korea
Prior art keywords
encryption
data
signature
encryption terminal
client device
Prior art date
Application number
KR1020160046462A
Other languages
Korean (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 주식회사 플라이하이
Priority to KR1020160046462A priority Critical patent/KR20170118532A/en
Publication of KR20170118532A publication Critical patent/KR20170118532A/en

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/12Transmitting and receiving encryption devices synchronised or initially set up in a particular manner
    • 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/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • 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/3247Cryptographic 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 digital signatures
    • 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)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

본 명세서에 개시되는 암호화 기능 수행 방법은 애플리케이션 서버로부터 서명을 위한 데이터를 수신하는 동작; 암호화 단말의 주소 정보에 기초하여 상기 암호화 단말과 연결을 수립하는 동작; 상기 연결을 통해 상기 암호화 단말에게 상기 데이터의 서명을 요청하는 동작; 및 상기 서명 요청에 대한 응답으로 상기 암호화 단말로부터 상기 데이터에 대한 서명 정보를 수신하는 동작을 포함하는 클라이언트 장치의 암호화 기능 수행 방법이다.The method of performing a cryptographic function disclosed herein includes receiving data for signing from an application server; Establishing a connection with the encryption terminal based on address information of the encryption terminal; Requesting the encryption terminal to sign the data through the connection; And receiving signature information on the data from the encryption terminal in response to the signature request.

Description

외부 장치를 이용한 암호화 기능 수행{PERFORMING CRYPTOGRAPHIC FUNCTION USING AN EXTERNAL DEVICE}[0001] PERFORMING CRYPTOGRAPHIC FUNCTION USING AN EXTERNAL DEVICE [

본 명세서는 외부 장치를 이용한 암호화 기능 수행에 관한 것이다.This specification relates to the performance of an encryption function using an external device.

최근 스마트 기기들은 암호화 알고리즘(Cryptographic Algorithm)을 통해 민감한 데이터를 보호하고, 사용자 인증을 수행하는 등의 보안 기능을 제공할 수 있다. 전자 장치 내에서 암호화 기능을 수행할 때 사용되는 암호화 키(cryptographic key)는 안전한 저장 공간에 저장될 필요가 있다.Recently, smart devices can provide security functions such as protecting sensitive data and performing user authentication through a Cryptographic Algorithm. The cryptographic key used when performing encryption functions within an electronic device needs to be stored in a secure storage space.

전자 장치는 사용자 인증 등의 보안 기능을 수행하기 위하여 다른 전자 장치가 제공하는 암호화 기능을 이용할 수 있다. 이 경우 암호화 기능을 수행하는 장치와 보안 기능을 수행하기 위한 장치가 서로 다르기 때문에 무결성 문제가 발생할 수 있다. The electronic device can use an encryption function provided by another electronic device to perform a security function such as user authentication. In this case, an integrity problem may occur because the device performing the encryption function differs from the device performing the security function.

또한, 암호화 기능을 수행하기 위해 필요한 암호화 키 등 민감한 데이터가 다른 전자 장치에 저장되어 있는 경우, 전자 장치는 중계 서버 등을 경유하여 암호화 키를 반입(import)해야할 필요가 있다. 이와 같은 반입과정에서, 민감한 데이터에 대한 보호 강도가 약해지는 경우 외부 공격에 노출될 수 있어 보안 기능이 취약해 질 수 있다.In addition, when sensitive data such as an encryption key necessary for performing an encryption function is stored in another electronic device, the electronic device needs to import the encryption key via a relay server or the like. In the case of such an import process, if the degree of protection against sensitive data is weakened, it may be exposed to an external attack and security functions may be weakened.

본 명세서에 개시된 기술은 암호화 키(cryptographic key)를 저장하고 있지 않은 전자 장치가 보안 기능(security function)을 위한 암호화 기능(cryptographic function)을 안전하게 수행할 수 있도록 하기 위한 것이다. 본 명세서에 개시된 기술은 사용자 또는 장치의 인증을 위하여 다른 장치의 암호화 기능을 안전하게 이용하도록 하기 위한 것이다.The techniques disclosed herein are intended to enable an electronic device that does not store a cryptographic key to safely perform a cryptographic function for a security function. The technique disclosed herein is intended to securely utilize the encryption function of another device for authentication of a user or a device.

본 명세서에 개시된 기술은 전자 장치가 외부 암호화 단말에서 수행된 암호화 기능을 기초로 안전한 보안 기능을 수행할 수 있도록 하기 위한 것이다. 또한, 본 명세서에 개시된 기술은 중간 서버에 민감한 데이터를 저장되지 않은 채 보안 기능을 수행할 수 있도록 하기 위한 것이다. The technology disclosed herein is for enabling an electronic device to perform a secure function based on an encryption function performed in an external encryption terminal. Further, the technique disclosed in this specification is intended to enable a security function to be performed without storing sensitive data in an intermediate server.

본 명세서는 일 실시 예로서 클라이언트 장치의 암호화 기능 수행 방법을 제시한다. 상기 방법은 애플리케이션 서버로부터 서명을 위한 데이터를 수신하는 동작; 암호화 단말의 주소 정보에 기초하여 상기 암호화 단말과 연결을 수립하는 동작; 상기 연결을 통해 상기 암호화 단말에게 상기 데이터의 서명을 요청하는 동작; 및 상기 서명 요청에 대한 응답으로 상기 암호화 단말로부터 상기 데이터에 대한 서명 정보를 수신하는 동작을 포함한다.The present specification discloses a method of performing a cryptographic function of a client apparatus as one embodiment. The method comprising: receiving data for signing from an application server; Establishing a connection with the encryption terminal based on address information of the encryption terminal; Requesting the encryption terminal to sign the data through the connection; And receiving signature information for the data from the encryption terminal in response to the signature request.

상기 일 실시 예 또는 그 밖의 실시 예는 다음과 같은 특징을 포함할 수 있다.The above-described embodiment or other embodiments may include the following features.

상기 암호화 기능 수행 방법은 상기 암호화 단말에게 인증서 목록을 요청하는 동작; 및 상기 인증서 목록 요청에 대한 응답으로 상기 암호화 단말로부터 하나 이상의 인증서 정보를 수신하는 동작을 더 포함하고, 상기 데이터의 서명은 상기 하나 이상의 인증서 중 어느 하나에 기초하여 요청될 수 있다. 상기 인증서로 서명을 요청할 때 사용자가에 그 요청 내용을 표시하는 동작을 포함할 수 있다. 또한, 상기 방법은 중계 서버로부터 상기 암호화 단말의 주소 정보를 수신하는 동작을 포함할 수 있다. 또한, 상기 방법은 상기 서명 정보를 상기 애플리케이션 서버로 전송하는 동작을 포함할 수 있다. 또한, 상기 방법은 서명할 내용을 암호화 단말에서 표시하여 사용자가 확인하는 동작을 포함할 수 있다. 또한 상기 연결은 상기 암호화 단말 내의 보안 저장소와 수립되는 것일 수 있다. 또한, 상기 데이터는 상기 애플리케이션 서버가 요구하는 인증을 위한 것일 수 있다.The method for performing the encryption function includes: requesting the encryption terminal for a certificate list; And receiving one or more certificate information from the encrypted terminal in response to the certificate list request, wherein the signature of the data may be requested based on any one of the one or more certificates. And when the user requests a signature with the certificate, displaying the content of the request to the user. The method may also include receiving address information of the encryption terminal from a relay server. The method may also include transmitting the signature information to the application server. In addition, the method may include an operation in which the content to be signed is displayed on the encryption terminal and confirmed by the user. The connection may also be established with a secure repository within the encryption terminal. Also, the data may be for authentication requested by the application server.

본 명세서는 다른 실시 예로서 암호화 단말의 암호화 기능 수행 방법을 제시한다. 상기 방법은 클라이언트 장치와 연결을 수립하는 동작; 상기 연결을 통하여 상기 클라이언트 장치로부터 데이터에 대한 서명 요청을 수신하는 동작; 상기 데이터에 대한 서명 정보를 생성하는 동작; 및 상기 서명 요청에 대한 응답으로 상기 서명 정보를 상기 클라이언트 장치로 전송하는 동작을 포함할 수 있다. 또한, 상기 서명 정보는 상기 암호화 단말의 보안 저장소 내에서 생성되는 것일 수 있다. 또한, 상기 방법은 중계 서버에 주소 정보를 통지하는 동작을 포함하고, 상기 연결은 상기 중계 서버로부터 획득된 상기 주소 정보를 기초로 수립되는 것일 수 있다.The present specification discloses a method of performing an encryption function of an encryption terminal according to another embodiment. The method comprising: establishing a connection with a client device; Receiving a signature request for data from the client device over the connection; Generating signature information for the data; And sending the signature information to the client device in response to the signature request. In addition, the signature information may be generated in the secure storage of the encryption terminal. The method may further include notifying the relay server of the address information, and the connection may be established based on the address information obtained from the relay server.

한편, 본 명세서는 또 다른 실시 예로서 애플리케이션 서버 및 암호화 단말과 통신을 수행하도록 설정된 통신부; 및 상기 통신부와 전기적으로 연결되어 암호화 기능을 수행하도록 설정된 제어부를 포함하되, 상기 제어부는 상기 애플리케이션 서버로부터 서명을 위한 데이터를 수신하고, 상기 암호화 단말의 주소 정보에 기초하여 상기 암호화 단말과 연결을 수립하고, 상기 연결을 통해 상기 암호화 단말에게 상기 데이터를 사용자에게 표시한 후 서명을 요청하고, 상기 서명 요청에 대한 응답으로 상기 암호화 단말로부터 상기 데이터에 대한 서명 정보를 수신하도록 설정된 클라이언트 장치를 제시한다.In addition, the present specification discloses a communication apparatus configured to perform communication with an application server and an encryption terminal according to another embodiment of the present invention. And a control unit electrically connected to the communication unit and configured to perform an encryption function, wherein the control unit receives data for signing from the application server, establishes a connection with the encryption terminal based on the address information of the encryption terminal, And displays the data to the encryption terminal through the connection to the user, requests signature, and receives the signature information for the data from the encryption terminal in response to the signature request.

한편, 본 명세서는 애플리케이션 서버로부터 데이터에 대한 서명 요청을 수신하고, 상기 서명 요청에 대한 응답으로 상기 데이터에 대한 서명을 상기 애플리케이션 서버로 전송하는 클라이언트 장치; 상기 클라이언트 장치와 통신 채널을 형성하고, 보안 저장소에 저장된 개인키(private key)에 기초하여 상기 데이터를 사용자에게 표시한 후 이에 대한 서명을 생성하고, 상기 서명을 상기 클라이언트 장치로 전송하는 암호화 단말; 상기 암호화 단말의 주소 정보를 수신하고, 상기 주소 정보를 상기 클라이언트 장치로 전송하는 중계 서버를 포함하는 암호화 시스템을 제시한다.The present disclosure, on the other hand, relates to a client device for receiving a signature request for data from an application server and for sending a signature for the data to the application server in response to the signature request; An encryption terminal for forming a communication channel with the client device, displaying the data to a user based on a private key stored in the secure repository, generating a signature for the user, and transmitting the signature to the client device; And a relay server for receiving the address information of the encryption terminal and transmitting the address information to the client device.

본 명세서에 개시된 실시 예에 따른 암호화 시스템은 별도의 보안 토큰을 구비하지 아니하고도 전자 기기 내의 보안 기능을 이용하여 보안 서비스를 제공받을 수 있다.The encryption system according to the embodiments disclosed herein can be provided with a security service using a security function in an electronic device without having a separate security token.

본 명세서에 개시된 실시 예에 따른 암호화 시스템은 중계 서버 등 외부 환경에서 발생할 수 있는 정보 유출 등의 문제를 해소하고 서명자가 자신이 서명하는 내용에 대하여 확인을 한 후에 서명할 수 있다.The encryption system according to the embodiment disclosed herein can solve problems such as information leakage that may occur in an external environment such as a relay server and can sign after the signer confirms the contents to be signed by the signer.

도 1은 본 명세서에 개시된 실시 예들에 따른 암호화 시스템의 구성을 개략적으로 나타낸 도면이다.
도 2는 본 명세서에 개시된 실시 예들에 따른 암호화 기능을 수행하는 방법을 설명하기 위한 흐름도이다.
도 3 및 도 4는 본 명세서에 개시된 실시 예들에 따라 대칭키 암호화(encryption) 및 복호화(decryption)를 수행하는 예를 도시하는 흐름도이다.
도 5는 본 명세서에 개시된 실시 예들에 따른 암호화 기능의 다른 예를 도시하는 흐름도이다.
도 6은 본 명세서에 개시된 실시 예들에 따라 비대칭키 방식의 서명을 수행하는 예를 도시하는 흐름도이다.
도 7은 본 명세서에 개시된 실시 예들에 따라 암호화 단말을 통해 전자 서명을 수행하는 예를 도시하는 흐름도이다.
도 8은 본 명세서에 개시된 실시 예에 따른 클라이언트 장치의 블록도이다.
1 is a diagram schematically illustrating the configuration of an encryption system according to the embodiments disclosed herein.
2 is a flow chart illustrating a method of performing encryption functions in accordance with the embodiments disclosed herein.
Figures 3 and 4 are flow charts illustrating an example of performing symmetric key encryption and decryption in accordance with the embodiments disclosed herein.
5 is a flow chart illustrating another example of an encryption function according to the embodiments disclosed herein.
6 is a flow chart illustrating an example of performing an asymmetric keyed signature in accordance with the embodiments disclosed herein.
7 is a flow diagram illustrating an example of performing an electronic signature through an encryption terminal in accordance with the embodiments disclosed herein.
8 is a block diagram of a client device according to an embodiment disclosed herein.

본 명세서에 개시된 기술은 암호화 및 복호화 장치에 적용될 수 있다. 그러나 본 명세서에 개시된 기술은 이에 한정되지 않고, 상기 기술의 기술적 사상이 적용될 수 있는 모든 전자 장치 및 방법에도 적용될 수 있다.The techniques disclosed herein can be applied to encryption and decryption devices. However, the technology disclosed in this specification is not limited thereto, and can be applied to all electronic devices and methods to which the technical idea of the above-described technology can be applied.

본 명세서에서 사용되는 기술적 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 명세서에 개시된 기술의 사상을 한정하려는 의도가 아님을 유의해야 한다. 또한, 본 명세서에서 사용되는 기술적 용어는 본 명세서에서 특별히 다른 의미로 정의되지 않는 한, 본 명세서에 개시된 기술이 속하는 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 의미로 해석되어야 하며, 과도하게 포괄적인 의미로 해석되거나, 과도하게 축소된 의미로 해석되지 않아야 한다. 또한, 본 명세서에서 사용되는 기술적인 용어가 본 명세서에 개시된 기술의 사상을 정확하게 표현하지 못하는 잘못된 기술적 용어일 때에는, 본 명세서에 개시된 기술이 속하는 분야에서 통상의 지식을 가진 자가 올바르게 이해할 수 있는 기술적 용어로 대체되어 이해되어야 할 것이다. 또한, 본 명세서에서 사용되는 일반적인 용어는 사전에 정의되어 있는 바에 따라, 또는 전후 문맥 상에 따라 해석되어야 하며, 과도하게 축소된 의미로 해석되지 않아야 한다.It is noted that the technical terms used herein are used only to describe specific embodiments and are not intended to limit the scope of the technology disclosed herein. Also, the technical terms used herein should be interpreted as being generally understood by those skilled in the art to which the presently disclosed subject matter belongs, unless the context clearly dictates otherwise in this specification, Should not be construed in a broader sense, or interpreted in an oversimplified sense. It is also to be understood that the technical terms used herein are erroneous technical terms that do not accurately represent the spirit of the technology disclosed herein, it is to be understood that the technical terms used herein may be understood by those of ordinary skill in the art to which this disclosure belongs And it should be understood. Also, the general terms used in the present specification should be interpreted in accordance with the predefined or prior context, and should not be construed as being excessively reduced in meaning.

본 명세서에서 사용되는 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성 요소는 제2 구성 요소로 명명될 수 있고, 유사하게 제2 구성 요소도 제1 구성 요소로 명명될 수 있다.As used herein, terms including ordinals, such as first, second, etc., may be used to describe various elements, but the elements should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, the first component may be referred to as a second component, and similarly, the second component may also be referred to as a first component.

이하, 첨부된 도면을 참조하여 본 명세서에 개시된 실시 예들을 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성 요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings, wherein like reference numerals denote like or similar elements, and redundant description thereof will be omitted.

또한, 본 명세서에 개시된 기술을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 명세서에 개시된 기술의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 명세서에 개시된 기술의 사상을 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 그 기술의 사상이 제한되는 것으로 해석되어서는 아니 됨을 유의해야 한다.Further, in the description of the technology disclosed in this specification, a detailed description of related arts will be omitted if it is determined that the gist of the technology disclosed in this specification may be obscured. It is to be noted that the attached drawings are only for the purpose of easily understanding the concept of the technology disclosed in the present specification, and should not be construed as limiting the spirit of the technology by the attached drawings.

도 1은 본 명세서에 개시된 실시 예들에 따른 암호화 시스템의 구성을 개략적으로 나타낸 도면이다. 1 is a diagram schematically illustrating the configuration of an encryption system according to the embodiments disclosed herein.

도 1을 참조하면, 본 명세서에 개시된 암호화 시스템(100)은 클라이언트 장치(110), 애플리케이션 서버(120), 중계 서버(130) 및 암호화 단말(140)을 포함할 수 있다. Referring to FIG. 1, the encryption system 100 disclosed herein may include a client device 110, an application server 120, a relay server 130, and an encryption terminal 140.

상기 클라이언트 장치(110)는 상기 애플리케이션 서버(120)와 통신 채널을 형성하고, 상기 애플리케이션 서버(120)가 제공하는 서비스를 위한 정보를 송수신할 수 있다. 상기 클라이언트 장치(110)는 상기 애플리케이션 서버(120)와 정보를 송수신하기 위하여 보안 기능(security function)을 수행할 것을 요청 받을 수 있다. The client device 110 forms a communication channel with the application server 120 and can transmit and receive information for a service provided by the application server 120. [ The client device 110 may be requested to perform a security function to transmit and receive information to and from the application server 120. [

상기 애플리케이션 서버(120)가 상기 클라이언트 장치(110)에게 요청하는 상기 보안 기능은, 예를 들어, 상기 클라이언트 장치(110)의 인증, 특정 데이터에 대한 서명, 상기 클라이언트 장치(110) 사용자의 본인 확인, 로그인 또는 안전한 금융 트랜잭션 수행을 포함할 수 있다. The security function that the application server 120 requests from the client device 110 may include, for example, authentication of the client device 110, signature of specific data, identification of the user of the client device 110 , Login, or performing a secure financial transaction.

일 실시 예에서, 상기 보안 기능들을 수행하는 방식은 상기 애플리케이션 서버(120)가 상기 클라이언트 장치(110)에게 특정 데이터를 전송하고, 상기 클라이언트 장치(110)가 상기 특정 데이터에 대한 암호화/복호화 또는 서명/검증과 같은 암호화 기능(cryptographic function)을 수행한 후 그 결과를 상기 애플리케이션 서버(120)에게 전달하는 것일 수 있다. 예를 들어, 상기 보안 기능이 서명인 경우, 상기 클라이언트 장치(110)는 상기 애플리케이션 서버(120)로부터 데이터를 수신하고, 상기 클라이언트 장치(110)는 상기 데이터에 대한 서명을 상기 애플리케이션 서버(120)에 전송할 수 있다.In one embodiment, the method of performing the security functions may be performed by the application server 120 sending specific data to the client device 110 and the client device 110 encrypting / decrypting or signing / RTI > may be to perform a cryptographic function, such as authentication / verification, and then pass the result to the application server 120. For example, if the security function is a signature, the client device 110 receives data from the application server 120, and the client device 110 transmits a signature to the application server 120, Lt; / RTI >

상기 클라이언트 장치(110)는 상기 암호화 단말(140)에게 자신을 대신하여 상기 암호화 기능을 수행하도록 요청할 수 있다. 상기 암호화 단말(140)은 상기 클라이언트 장치(110)와 통신 채널을 형성하고, 상기 클라이언트 장치(110)가 요청하는 암호화 기능을 수행한 후 그 결과를 반환할 수 있다.The client device 110 may request the encryption terminal 140 to perform the encryption function on its behalf. The encryption terminal 140 forms a communication channel with the client device 110, performs an encryption function requested by the client device 110, and returns the result.

상기 암호화 단말(140)에 의하여 수행되는 상기 암호화 기능은, 예를 들어, 대칭키(symmetric) 방식 또는 비대칭키(asymmetric) 방식의 암호화 기능일 수 있다. 즉, 상기 암호화 기능은, 예를 들어, 대칭키 방식의 암호화(encryption) 또는 복호화(decryption)일 수 있다. 또한 상기 암호화 기능은, 예를 들어, 비대칭키 방식에 따라 서로 연관 관계가 있는 공개키(public key) 및 개인키(private key) 중 하나를 이용하여 수행되는 암호화(encryption) 또는 복호화(decryption)일 수 있다. 상기 암호화 기능은 비대칭키 방식의 서명(sign) 또는 서명 검증(validation)을 포함할 수 있다.The encryption function performed by the encryption terminal 140 may be, for example, a symmetric key or an asymmetric encryption key. That is, the encryption function may be, for example, encryption or decryption of a symmetric key scheme. The encryption function may be an encryption or decryption operation performed using one of a public key and a private key correlated with each other according to an asymmetric key method, for example. . The encryption function may include an asymmetric key signature or signature validation.

상기 클라이언트 장치(110)는 다양한 목적을 위하여 상기 암호화 단말(140)에게 상기 암호화 기능을 수행할 것을 요청할 수 있다. 예를 들어, 상기 클라이언트 장치(110)는 상기 암호화 단말(140) 내에 저장된 암호화 키(cryptographic key) 등의 비밀 데이터를 이용하기 위해 상기 암호화 기능을 요청할 수 있다. 또한, 상기 클라이언트 장치(110)는 상기 암호화 단말(140)에 탑재된 하드웨어 또는 소프트웨어 모듈을 이용하기 위하여 상기 암호화 기능을 요청할 수도 있다. 상기 암호화 기능 수행 요청의 목적에는 단순한 성능의 차이, 네트워크 효율성, 장치 사용자의 차이 등 다양한 이유가 배제되지 아니한다.The client device 110 may request the encryption terminal 140 to perform the encryption function for various purposes. For example, the client device 110 may request the encryption function to use secret data such as a cryptographic key stored in the encryption terminal 140. Also, the client device 110 may request the encryption function to use the hardware or software module installed in the encryption terminal 140. The purpose of the encryption function execution request does not exclude various reasons such as a difference in performance, a network efficiency, and a difference between device users.

상기 암호화 단말(140)은 보안 저장소를 포함하도록 구성될 수 있다. 상기 보안 저장소는 상기 암호화 기능에 사용되는 암호화 키 (cryptographic key) 등의 민감한 데이터를 인가되지 않은 접근으로부터 보호하고, 안전하게 암호화 기능(cryptographic function)을 수행하기 위한 저장 공간이다. 상기 보안 저장소는 하드웨어 보안 모듈(Hardware Security Module; HSM)을 이용하여 구현될 수 있다. 상기 보안 저장 소는, 예를 들어, TrustZone, IPT, Secure Enclave 등으로 불릴 수 있다.The encryption terminal 140 may be configured to include a secure repository. The secure repository is a storage space for safely protecting a sensitive data such as a cryptographic key used for the encryption function from unauthorized access and performing a secure cryptographic function. The secure repository may be implemented using a hardware security module (HSM). The secure repository may be, for example, TrustZone, IPT, Secure Enclave, or the like.

일반적으로, 단일 장치가 상기 보안 저장소의 보호된 암호화 기능을 수행하는 경우 상기 보안 저장소 내에 저장되어 있던 암호화 키 등의 민감한 데이터가 외부로 유출되지 않으므로 전체 시스템의 보안 강도가 약화되지 아니한다. 다만, 전술된 바와 같이 상기 클라이언트 장치(110)이 외부 전자기기인 상기 암호화 단말(140)에 탑재된 암호화 기능을 이용하려는 경우, 민감한 데이터가 상기 암호화 단말(140) 외부 또는 상기 암호화 단말(140)의 보안 저장소 외부로 유출되지 않아야 한다. 일반적으로 사용되는 바와 같이 상기 암호화 단말(140)에 저장된 암호화 키를 상기 클라이언트 장치(110)로 반입(import)하여 상기 클라이언트 장치(110)에서 이를 기초로 한 암호화 기능을 수행하는 경우, 상기 암호화 키가 다른 서버를 경유하는 과정 또는 상기 클라이언트 장치(100) 내에서 암호화 기능이 수행되는 과정에서 공격이나 도청에 노출되는 위험에 빠질 수 있다. 또한 암호화 단말에서 암호 연산을 하기 전에 사용자에게 그 값을 표시하지 않으면 변조된 값에 연산을 하는 결과를 가져올 수 있다.In general, when a single device performs the protected encryption function of the secure repository, sensitive data such as an encryption key stored in the secure repository is not leaked to the outside, so that the security strength of the entire system is not weakened. However, when the client device 110 uses the encryption function installed in the encryption terminal 140, which is an external electronic device, sensitive data may be transmitted outside the encryption terminal 140 or the encryption terminal 140, Should not be leaked out of the secure repository. When the client device 110 imports the encryption key stored in the encryption terminal 140 and performs the encryption function based on the encryption key in the client device 110 as is generally used, May be exposed to attack or eavesdropping in the process of passing through another server or in the process of performing the encryption function in the client device 100. [ Also, if the value is not displayed to the user before the encryption operation is performed in the encryption terminal, the result of operation on the modulated value can be obtained.

본 명세서에 개시된 암호화 기능을 수행하는 기술은 상기 클라이언트 장치(110)가 상기 암호화 단말(140) 또는 상기 암호화 단말(140) 내의 보안 저장소를 마치 상기 클라이언트 장치(110) 내의 보안 저장소인 것처럼 사용하도록 구성될 수 있다. 즉, 상기 클라이언트 장치(110)는 상기 암호화 단말(140)에 저장되어 있는 암호화 키를 외부로 드러내지 않은 채 상기 암호화 단말(140)의 암호화 기능을 이용할 수 있다.The techniques for performing the cryptographic functions disclosed herein may be configured such that the client device 110 uses the secure store within the cryptographic terminal 140 or the secure terminal 140 as if it were a secure store within the client device 110 . That is, the client device 110 can use the encryption function of the encryption terminal 140 without exposing the encryption key stored in the encryption terminal 140 to the outside.

상기 중계 서버(130)는 상기 암호화 단말(140)의 위치 정보를 저장하고, 상기 클라이언트 장치(110)에게 상기 위치 정보를 전달한다. 상기 클라이언트 장치(110)는 상기 위치 정보에 기반하여 상기 암호화 단말(140)과 통신 연결을 설정할 수 있고, 상기 암호화 단말(140)에게 암호화 기능을 수행하도록 요청할 수 있다.The relay server 130 stores location information of the encryption terminal 140 and transmits the location information to the client device 110. The client device 110 may establish a communication connection with the encryption terminal 140 based on the location information and may request the encryption terminal 140 to perform an encryption function.

상기 클라이언트 장치(110)는 PC, 이동단말기, 스마트폰, 태블릿 등 다양한 전자 장치 형태로 구현될 수 있다.The client device 110 may be implemented in various electronic devices such as a PC, a mobile terminal, a smart phone, and a tablet.

도 2는 본 명세서에 개시된 실시 예들에 따른 암호화 기능을 수행하는 방법을 설명하기 위한 흐름도이다.2 is a flow chart illustrating a method of performing encryption functions in accordance with the embodiments disclosed herein.

도 2를 참조하면, 애플리케이션 서버(220)는 클라이언트 장치(210)에게 보안 기능을 수행할 것을 요청할 수 있다(S201). 상기 애플리케이션 서버(220)가 상기 클라이언트 장치(210)에게 요청하는 상기 보안 기능은, 예를 들어, 상기 클라이언트 장치(210)의 인증, 특정 데이터에 대한 서명, 상기 클라이언트 장치(210) 사용자의 본인 확인, 로그인 또는 안전한 금융 트랜잭션 수행을 포함할 수 있다. 상기 애플리케이션 서버(220)는 상기 보안 기능을 수행하기 위한 데이터를 상기 클라이언트 장치(210)로 보낼 수 있다. 상기 보안 기능을 수행하기 위한 데이터는, 예를 들어, 인증 데이터, 개인 식별 번호, 본인 확인 정보, 패스워드 등 암호화 기능이 수행될 대상이 되는 정보일 수 있다.Referring to FIG. 2, the application server 220 may request the client device 210 to perform a security function (S201). The security function that the application server 220 requests from the client device 210 may include authentication of the client device 210, signature on specific data, identification of the user of the client device 210 , Login, or performing a secure financial transaction. The application server 220 may send data to the client device 210 to perform the security function. The data for performing the security function may be, for example, authentication data, personal identification number, personal identification information, password, and other information to be subjected to the encryption function.

상기 클라이언트 장치(210)는 중계 서버(230)에게 암호화 기능을 수행할 암호화 단말(240)의 주소를 요청(S203)하고, 상기 중계 서버(230)로부터 상기 암호화 단말(240)의 주소 정보를 수신(S205)할 수 있다. 이를 위하여 상기 암호화 단말(240)은 상기 중계 서버(230)에게 자신의 주소 정보를 전달할 수 있다.The client device 210 requests the relay server 230 for the address of the encryption terminal 240 to perform the encryption function (S203), receives the address information of the encryption terminal 240 from the relay server 230 (S205). To this end, the encryption terminal 240 may transmit its own address information to the relay server 230.

상기 중계 서버(230)는 이후 암호화 기능을 수행하기 위한 상기 클라이언트 장치(210) 및 상기 암호화 단말(240) 간의 연결 수립 등에 참여하지 아니한다. 상기 중계 서버(230)는 암호화 기능을 요청하고 결과를 수신하기 위한 세션에 참여하는 두 장치간의 연결 수립을 돕는 서버 역할을 수행한다. 예를 들어, 상기 중계 서버(230)는 NAT(Network Address Translation) 트래버설(traversal)에서의 중계 서버일 수 있다. 즉, 상기 클라이언트 장치(210) 및 상기 암호화 단말(240) 사이의 연결은 상기 중계 서버(230)를 경유하지 아니하고, 상기 중계 서버(230)로부터 획득한 상기 암호화 단말(240)의 주소 정보에 기초하여 상기 클라이언트 장치(210)가 상기 암호화 단말(240)로 연결 수립을 요청할 수 있다. 이 경우 두 단말 간의 직접적인 통신이 이루어짐으로써 보안성이 향상되고 중계 서버에 집중되는 부하를 줄일 수 있다.The relay server 230 does not participate in establishing a connection between the client device 210 and the encryption terminal 240 for performing the encryption function thereafter. The relay server 230 serves as a server for establishing a connection between two devices participating in a session for requesting an encryption function and receiving a result. For example, the relay server 230 may be a relay server in NAT (Network Address Translation) traversal. That is, the connection between the client device 210 and the encryption terminal 240 is based on the address information of the encryption terminal 240 acquired from the relay server 230 without passing through the relay server 230 The client device 210 may request the encryption terminal 240 to establish a connection. In this case, since direct communication is performed between the two terminals, the security can be improved and the load concentrated on the relay server can be reduced.

상기 클라이언트 장치(210)는 상기 암호화 기능을 상기 암호화 단말(240)에 요청하기 전에 상기 요청에 관련된 정보를 상기 클라이언트 장치(210)의 디스플레이 상에 표시할 수 있다.The client device 210 may display information related to the request on the display of the client device 210 before requesting the encryption function to the encryption terminal 240. [

상기 클라이언트 장치(210)는 상기 암호화 단말(240)과 통신 연결을 수립하고, 상기 연결을 통하여 암호화 기능을 요청할 수 있다(S207). The client device 210 establishes a communication connection with the encryption terminal 240 and can request an encryption function through the connection (S207).

상기 암호화 단말(240)은 상기 암호화 기능을 수행하기 전에 상기 요청에 관련된 정보를 상기 암호화 단말(240)의 디스플레이 상에 표시하고 상기 암호화 단말(240)의 사용자의 입력을 수신할 수 있다(S208). 상기 암호화 단말(240)은 상기 클라이언트 장치(210)의 암호화 기능을 대신 수행하는 장치이므로, 상기 암호화 단말(240)은 상기 요청을 수신하였음을 디스플레이에 표시함으로써 통지할 수 있다. 이때 상기 암호화 단말(240)의 사용자 또는 소지자의 확인을 위하여 상기 암호화 기능을 수행할 대상이 되는 정보, 예를 들어 서명 대상이 되는 데이터 등을 함께 표시할 수 있다.The encryption terminal 240 may display the information related to the request on the display of the encryption terminal 240 and receive the input of the user of the encryption terminal 240 before performing the encryption function (S208) . Since the encrypting terminal 240 is an apparatus that performs the encrypting function of the client apparatus 210 in place, the encrypting terminal 240 can notify the display of the reception of the request. At this time, information for which the encryption function is to be performed, for example, data to be signed, etc. may be displayed together for confirmation of the user or the holder of the encryption terminal 240.

또한 상기 암호화 단말(240)이 내부에 보안 저장소를 탑재하고 있는 경우, 상기 보안 저장소 내에서 상기 요청에 따른 상기 암호화 기능을 수행할 수 있다. 이 경우 상기 암호화 단말(240)은 상기 보안 저장소의 암호화 기능을 수행하기 위한 단말 내 지역적인 인증 절차를 수행할 수 있다. 이를 위하여 상기 암호화 단말(240)은 사용자로부터 상기 보안 저장소에 진입하기 위한 지역적인 인증 정보를 수신할 수 있다. 상기 지역적인 인증 정보는, 예를 들어 상기 보안 저장소 내의 개인 키를 사용하기 위하여 지문 인증, PIN 번호 또는 패스코드(pass-code)일 수 있다. 상기 암호화 단말(240)은 로컬 인증이 성공적으로 수행되었음을 확인한 후 상기 암호화 기능이 수행할 수 있다.Also, when the encryption terminal 240 has a secure repository installed therein, the encryption terminal 240 may perform the encryption function according to the request in the secure repository. In this case, the encryption terminal 240 may perform a local authentication procedure in the terminal for performing the encryption function of the secure storage. To this end, the encryption terminal 240 may receive local authentication information for entering the secure repository from a user. The local authentication information may be, for example, a fingerprint authentication, a PIN number, or a pass code to use a private key in the secure repository. The encryption terminal 240 may perform the encryption function after confirming that the local authentication has been successfully performed.

상기 암호화 단말(240)은 상기 클라이언트 장치의 요청에 대응하여 암호화 기능을 수행한다(S209). 상기 암호화 수행 과정(S209)은 상기 암호화 단말(240) 내에 보안 저장소가 탑재된 경우 상기 보안 저장소 내에서 수행될 수 있다. The encryption terminal 240 performs an encryption function in response to a request from the client device (S209). The encryption process (S209) may be performed in the secure repository if the secure repository is installed in the encryption terminal (240).

상기 암호화 단말(240)은 상기 데이터에 대한 상기 암호화 수행 결과를 상기 클라이언트 장치에 전송하고(S211), 상기 클라이언트 장치는 상기 계산 결과를 상기 애플리케이션 서버(220)에 상기 보안 기능 요청(S201)에 대한 응답으로 전송할 수 있다.The encryption terminal 240 transmits the result of the encryption to the client device (S211), and the client device transmits the calculation result to the application server 220 in response to the security function request (S201) Response.

도 3 및 도 4는 본 명세서에 개시된 실시 예들에 따라 대칭키 암호화(encryption) 및 복호화(decryption)를 수행하는 예를 도시하는 흐름도이다. 도 3 및 도 4를 참조하여 설명되는 실시 예는 도 2를 참조하여 설명된 암호화 요청(S207), 암호화 수행(S209) 및 암호화 결과 전송(S211) 동작과 관련된 구체적인 예시이다.Figures 3 and 4 are flow charts illustrating an example of performing symmetric key encryption and decryption in accordance with the embodiments disclosed herein. The embodiment described with reference to FIG. 3 and FIG. 4 is a specific example related to the encryption request S207, encryption execution (S209), and encryption result transmission (S211) operation described with reference to FIG.

도 3을 참조하면, 상기 클라이언트 장치(210)는 보호되지 않은 평문(plain text)(310)에 대한 암호화(encryption) 형태의 암호화 기능(cryptographic function)을 상기 암호화 단말(240)에 요청할 수 있다(S301). 예를 들어, 상기 암호화 단말(240)은 상기 평문(310)을 암호화 하기 위한 대칭키(320)를 이용하여 상기 평문(310)을 암호문(330)으로 변경(S303)하고, 상기 암호문(330)을 상기 클라이언트 장치(210)로 전송할 수 있다(S305). 상기 암호화 단말이 보안 저장소(340)를 탑재하도록 구현된 경우 상기 암호화 기능 수행 동작(S303)은 상기 보안 저장소(340) 내에서 수행될 수 있다.3, the client device 210 may request the encryption terminal 240 for a cryptographic function in the form of an encryption for an unprotected plain text 310 S301). For example, the encryption terminal 240 changes the plaintext 310 to a cipher text 330 using the symmetric key 320 for encrypting the plaintext 310 (S303) To the client device 210 (S305). If the encryption terminal is implemented to load the secure repository 340, the encryption function perform operation S303 may be performed in the secure repository 340. [

도 4를 참조하면, 상기 클라이언트 장치(210)가 보호된 암호문(cypher text)(410)에 대한 복호화(decryption) 형태의 암호화 기능(cryptographic function)을 상기 암호화 단말(240)에게 요청할 수 있다(S401). 이후 상기 암호화 단말(240)은 암호화(encryption)에 사용된 것과 동일한 대칭키(420)를 이용하여 상기 암호문(410)을 복호화 할 수 있다(S403). 상기 암호화 기능 수행과정(S403)은 상기 암호화 단말(240) 내의 보안 저장소(440)에서 수행될 수 있다. 이후 상기 암호화 단말(240)은 상기 복호화된 평문(430)을 상기 클라이언트 장치(210)로 전송할 수 있다.4, the client device 210 may request a cryptographic function of a decryption type for the protected cypher text 410 to the encryption terminal 240 (S401 ). The encryption terminal 240 may then decrypt the cipher text 410 using the same symmetric key 420 used in encryption (S403). The encryption function execution step (S403) may be performed in the secure storage (440) in the encryption terminal (240). The encryption terminal 240 may then transmit the decrypted plain text 430 to the client device 210.

도 5는 본 명세서에 개시된 실시 예들에 따른 암호화 기능의 다른 예를 도시하는 흐름도이다. 도 5에 도시된 암호화 기능을 수행하는 방법은 도 2를 참조하여 설명된 실시 예와 유사하므로 이 하 차이점을 중심으로 설명된다.5 is a flow chart illustrating another example of an encryption function according to the embodiments disclosed herein. The method of performing the encryption function shown in FIG. 5 is similar to the embodiment described with reference to FIG. 2, and therefore, the difference will be mainly described.

상기 클라이언트 장치(510)는 서비스 에이전트(511) 및 암호화 서비스 제공자(513)로 구별되어 구현될 수 있다. 상기 서비스 에이전트(511)는 상기 클라이언트 장치(510)에서 상기 애플리케이션 서버(520)와의 인터페이스 역할을 수행하는 모듈이며, 상기 암호화 서비스 제공자(513)는 상기 클라이언트 장치(510)에서 암호화 단말(540) 및 중계 서버(530)와의 인터페이스 역할을 수행하는 모듈이다. 상기 서비스 에이전트(511)는 상기 애플리케이션 서버로부터 보안 기능 요청(S501) 및 결과 전달(S521) 동작을 수행하고, 상기 암호화 서비스 제공자(513)를 통하여 상기 암호화 단말(540)의 암호화 수행 결과를 획득하는 동작을 수행할 수 있다.The client device 510 may be implemented as a service agent 511 and a cryptographic service provider 513. The service agent 511 is a module that acts as an interface with the application server 520 in the client device 510. The cryptographic service provider 513 is a module in which the encryption device 540 and / And serves as an interface with the relay server 530. The service agent 511 performs a security function request S501 and a result transfer operation S521 from the application server and acquires an encryption result of the encryption terminal 540 through the encryption service provider 513 Operation can be performed.

상기 암호화 서비스 제공자(513)는 통신 연결을 통해서 원격지의 상기 암호화 단말(540)의 암호화 수행 기능을 이용하도록 추상화된 계층을 제공한다. 상기 암호화 서비스 제공자(513)는 암호화 기능을 수행하기 필요한 인증서 목록을 상기 암호화 단말(540)에게 요청할 수 있다(S509). 상기 암호화 서비스 제공자(513)는 상기 인증서 목록 요청(S509)에 대한 응답으로 상기 암호화 단말(540)로부터 하나 이상의 인증서 정보를 수신할 수 있다(S511). 상기 암호화 서비스 제공자(513)는 상기 하나 이상의 인증서 중 하나를 선택하고, 선택된 인증서에 기초하여 상기 데이터에 대한 암호화를 요청할 수 있다(S513)The cryptographic service provider 513 provides an abstracted layer to use the function of performing encryption of the encryption terminal 540 at a remote location via a communication connection. The cryptographic service provider 513 may request the encryption terminal 540 to obtain a certificate list required for performing the encryption function (S509). The encryption service provider 513 may receive one or more pieces of certificate information from the encryption terminal 540 in response to the certificate list request S509 (S511). The cryptographic service provider 513 may select one of the one or more certificates and request encryption of the data based on the selected certificate (S513)

도 6은 본 명세서에 개시된 실시 예들에 따라 비대칭키 방식의 서명을 수행하는 예를 도시하는 흐름도이다. 도 6을 참조하여 설명되는 실시 예는 도 2를 참조하여 설명된 암호화 요청(S207), 암호화 수행(S209) 및 암호화 결과 전송(S211) 동작과 관련된 구체적인 예시이다.6 is a flow chart illustrating an example of performing an asymmetric keyed signature in accordance with the embodiments disclosed herein. The embodiment described with reference to Fig. 6 is a specific example related to the encryption request (S207), encryption (S209), and encryption result transmission (S211) operations described with reference to Fig.

도 6을 참조하면, 상기 클라이언트 장치(210)는 보호되지 않은 평문(plain text)(610)에 대한 디지털 서명(digital sign) 형태의 암호화 기능(cryptographic function)을 상기 암호화 단말(240)에 요청할 수 있다(S601). 예를 들어, 상기 암호화 단말(240)은 상기 평문(610)을 서명하기 위한 개인 키(private key)(620)를 이용하여 상기 평문(610)에 대한 전자 서명 정보(digital signature data)(430)를 생성(S603)하고, 상기 암호문(630)을 상기 클라이언트 장치(210)로 전송할 수 있다(S605). 상기 암호화 단말이 보안 저장소(640)를 탑재하도록 구현된 경우 상기 암호화 기능 수행 동작(S603)은 상기 보안 저장소(640) 내에서 수행될 수 있다. 이후 상기 클라이언트 장치(210)는 전자 서명 정보를 애플리케이션 서버에 전송할 수 있다(S607)6, the client device 210 may request the cryptographic terminal 240 to provide a cryptographic function in the form of a digital signature for an unprotected plain text 610 (S601). For example, the encryption terminal 240 may generate digital signature data 430 for the plaintext 610 using a private key 620 to sign the plaintext 610, (S603), and transmits the encrypted text 630 to the client device 210 (S605). When the encryption terminal is implemented to load the secure storage 640, the encryption function performing operation S603 may be performed in the secure storage 640. [ Then, the client device 210 may transmit the digital signature information to the application server (S607)

도 7은 본 명세서에 개시된 실시 예들에 따라 암호화 단말을 통해 전자 서명을 수행하는 예를 도시하는 흐름도이다. 도 7을 참조하여 개시되는 실시 예는 도 2를 참조하여 설명된 실시 예와 유사하며, 요청되는 암호화 기능이 전자 서명인 경우의 구체적인 예시에 해당한다.7 is a flow diagram illustrating an example of performing an electronic signature through an encryption terminal in accordance with the embodiments disclosed herein. The embodiment disclosed with reference to FIG. 7 is similar to the embodiment described with reference to FIG. 2, and corresponds to a concrete example in the case where the requested encryption function is an electronic signature.

도 7을 참조하면, 애플리케이션 서버(220)는 클라이언트 장치(210) 또는 상기 클라이언트 장치(210)의 사용자를 인증하기 위하여 필요한 인증 데이터를 상기 클라이언트 장치(210)에 전송할 수 있다(S701). 상기 클라이언트 장치(210)의 서비스 에이전트(211)는 암호화 서비스 제공자(213)를 통해 서명을 요청한다(S703).Referring to FIG. 7, the application server 220 may transmit authentication data necessary for authenticating the client device 210 or the user of the client device 210 to the client device 210 (S701). The service agent 211 of the client device 210 requests a signature through the cryptographic service provider 213 (S703).

상기 클라이언트 장치(210)는 중계 서버(230)에게 서명을 수행할 암호화 단말(240)의 주소를 요청(S705)하고, 상기 중계 서버(230)로부터 상기 암호화 단말(240)의 주소 정보를 수신(S707)할 수 있다. 이를 위하여 상기 암호화 단말(240)은 상기 중계 서버(230)에게 자신의 주소 정보를 전달할 수 있다(S704).The client device 210 requests the relay server 230 for the address of the encryption terminal 240 to perform signature in step S705 and receives the address information of the encryption terminal 240 from the relay server 230 S707). For this, the encryption terminal 240 may transmit its own address information to the relay server 230 (S704).

상기 암호화 서비스 제공자(213)는 암호화 기능을 수행하기 필요한 인증서 목록을 상기 암호화 단말(240)에게 요청할 수 있다(S709). 상기 암호화 서비스 제공자(213)는 상기 인증서 목록 요청(S709)에 대한 응답으로 상기 암호화 단말(240)로부터 하나 이상의 인증서 정보를 수신할 수 있다(S711). 상기 암호화 서비스 제공자(513)는 상기 하나 이상의 인증서 중 하나를 선택하고, 선택된 인증서에 기초하여 상기 데이터에 대한 서명을 요청할 수 있다(S713)The cryptographic service provider 213 may request the encryption terminal 240 to obtain a certificate list required for performing the encryption function (S709). The cryptographic service provider 213 may receive one or more pieces of certificate information from the encryption terminal 240 in response to the certificate list request (S709) (S711). The cryptographic service provider 513 may select one of the one or more certificates and request a signature on the data based on the selected certificate (S713)

상기 암호화 단말(240)은 상기 클라이언트 장치(210)의 요청에 대응하여 상기 인증 데이터에 대한 서명을 수행함으로써 서명 정보를 생성한다(S715). 이를 위하여 상기 암호화 단말(240)는 서명 대상 내용을 디스플레이 상에 표시할 수 있다. 상기 암호화 단말(240)는 상기 서명 대상 내용을 표시하는 것에 대한 응답으로 상기 암호화 단말(240) 사용자로부터 입력 정보를 수신하고, 상기 입력 정보에 적어도 일부 기초하여 상기 서명 정보를 생성할 수 있다. 상기 입력 정보는 상기 인증 데이터를 서명하기 위해 필요한 정보, 예를 들면 암호일 수 있다. 상기 암호화 수행 과정(S715)은 상기 암호화 단말(240) 내에 보안 저장소가 탑재된 경우 상기 보안 저장소 내에서 수행될 수 있다.The encryption terminal 240 generates signature information by signing the authentication data in response to the request of the client device 210 (S715). To this end, the encryption terminal 240 may display the signature subject contents on the display. The encryption terminal 240 may receive input information from the user of the encryption terminal 240 in response to displaying the signature subject content, and may generate the signature information based at least in part on the input information. The input information may be information necessary for signing the authentication data, for example, a password. The encryption process S715 may be performed in the secure repository if the secure repository is installed in the encryption terminal 240. [

상기 암호화 단말(240)은 상기 인증 데이터에 대한 상기 서명 정보를 상기 클라이언트 장치에 전송하고(S717), 상기 클라이언트 장치(210)는 상기 서명 정보를 상기 애플리케이션 서버(220)에 상기 보안 기능 요청(S701)에 대한 응답으로 전송할 수 있다(S721). 이후 이를 수신한 상기 애플리케이션 서버(220)는 상기 서명 정보를 검증(S723)함으로써 인증 절차를 수행할 수 있다(S723).The encryption terminal 240 transmits the signature information on the authentication data to the client device in step S717 and the client device 210 transmits the signature information to the application server 220 in step S701 (S721). ≪ / RTI > Thereafter, the application server 220 receiving the authentication information can perform the authentication procedure by verifying the signature information (S723) (S723).

도 8은 본 명세서에 개시된 실시 예에 따른 클라이언트 장치의 블록도이다.8 is a block diagram of a client device according to an embodiment disclosed herein.

도 8을 참조하면 클라이언트 장치(800)는 통신부(810) 및 제어부(820)를 포함할 수 있다. Referring to FIG. 8, the client apparatus 800 may include a communication unit 810 and a control unit 820.

상기 통신부(810)는 애플리케이션 서버 및 암호화 단말과 통신을 수행하도록 설정될 수 있다. 상기 제어부(820)는 상기 통신부(810)와 전기적으로 연결되어 암호화 기능을 수행하도록 설정된 제어부를 포함하여 구성될 수 있다. The communication unit 810 may be configured to communicate with the application server and the encryption terminal. The control unit 820 may include a control unit electrically connected to the communication unit 810 and configured to perform an encryption function.

상기 제어부(820)는 상기 애플리케이션 서버로부터 서명을 위한 데이터를 수신하고, 상기 암호화 단말의 주소 정보에 기초하여 상기 암호화 단말과 연결을 수립하고, 상기 연결을 통해 상기 암호화 단말에게 상기 데이터의 서명을 요청하고, 상기 서명 요청에 대한 응답으로 상기 암호화 단말로부터 상기 데이터에 대한 서명 정보를 수신하도록 설정될 수 있다. 상기 암호화 단말의 주소 정보는 중계 서버로부터 수신하고, 상기 암호화 단말과의 연결은 상기 주소 정보에 기초하여 수립될 수 있다.The control unit 820 receives data for signing from the application server, establishes a connection with the encryption terminal based on the address information of the encryption terminal, and requests the encryption terminal to sign the data through the connection And to receive the signature information for the data from the encryption terminal in response to the signature request. The address information of the encryption terminal may be received from the relay server, and the connection with the encryption terminal may be established based on the address information.

또한, 본 명세서에 개시된 실시 예에 의하면, 전술한 방법은, 프로그램이 기록된 매체에 프로세서가 읽을 수 있는 코드로서 구현할 수 있다. 프로세서가 읽을 수 있는 매체의 예로는, ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장장치 등이 있으며, 다운로드 가능한 파일의 형태로 구현되는 것도 포함한다.Further, according to the embodiments disclosed herein, the above-described method can be implemented as a code that can be read by a processor on a medium on which the program is recorded. Examples of the medium that can be read by the processor include a ROM, a RAM, a CD-ROM, a magnetic tape, a floppy disk, an optical data storage device, and the like.

상기와 같이 설명된 전자 장치는 상기 설명된 실시 예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 상기 실시 예들은 다양한 변형이 이루어질 수 있도록 각 실시 예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.The above-described electronic device can be applied to a configuration and a method of the embodiments described above in a limited manner, but the embodiments can be configured such that all or some of the embodiments are selectively combined so that various modifications can be made It is possible.

이상에서 본 명세서의 기술에 대한 바람직한 실시 예가 첨부된 도면들을 참조하여 설명되었다. 여기서, 본 명세서 및 청구 범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니되며, 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야 한다.In the foregoing, preferred embodiments of the present invention have been described with reference to the accompanying drawings. Here, terms and words used in the present specification and claims should not be construed as limited to ordinary or dictionary terms, and should be construed in a sense and concept consistent with the technical idea of the present invention.

본 발명의 범위는 본 명세서에 개시된 실시 예들로 한정되지 아니하고, 본 발명은 본 발명의 사상 및 특허청구범위에 기재된 범주 내에서 다양한 형태로 수정, 변경, 또는 개선될 수 있다.The scope of the present invention is not limited to the embodiments disclosed in this specification, and the present invention can be modified, changed, or improved in various forms within the scope of the present invention and the claims.

Claims (14)

애플리케이션 서버로부터 서명을 위한 데이터를 수신하는 동작;
암호화 단말의 주소 정보에 기초하여 상기 암호화 단말과 연결을 수립하는 동작;
상기 연결을 통해 상기 암호화 단말에게 상기 데이터의 서명을 요청하는 동작; 및
상기 서명 요청에 대한 응답으로 상기 암호화 단말로부터 상기 데이터에 대한 서명 정보를 수신하는 동작을 포함하는 클라이언트 장치의 암호화 기능 수행 방법.
Receiving data for signing from an application server;
Establishing a connection with the encryption terminal based on address information of the encryption terminal;
Requesting the encryption terminal to sign the data through the connection; And
And receiving signature information for the data from the encryption terminal in response to the signature request.
제1 항에 있어서,
상기 암호화 단말에게 인증서 목록을 요청하는 동작; 및
상기 인증서 목록 요청에 대한 응답으로 상기 암호화 단말로부터 하나 이상의 인증서 정보를 수신하는 동작을 더 포함하고,
상기 데이터의 서명은 상기 하나 이상의 인증서 중 어느 하나에 기초하여 요청되는 것을 특징으로 하는 클라이언트 장치의 암호화 기능 수행 방법.
The method according to claim 1,
Requesting the encryption terminal for a certificate list; And
Further comprising receiving one or more certificate information from the encryption terminal in response to the certificate list request,
Wherein the signature of the data is requested based on any one of the one or more certificates.
제1 항에 있어서, 중계 서버로부터 상기 암호화 단말의 주소 정보를 수신하는 동작을 포함하는 클라이언트 장치의 암호화 기능 수행 방법.The method of claim 1, further comprising receiving address information of the encryption terminal from a relay server. 제1 항에 있어서, 상기 서명 정보를 상기 애플리케이션 서버로 전송하는 동작을 포함하는 클라이언트 장치의 암호화 기능 수행 방법.The method of claim 1, further comprising transmitting the signature information to the application server. 제1 항에 있어서, 상기 연결은 상기 암호화 단말 내의 보안 저장소와 수립되는 것을 특징으로 하는 클라이언트 장치의 암호화 기능 수행 방법.The method of claim 1, wherein the connection is established with a secure repository within the encryption terminal. 제1 항에 있어서, 상기 데이터는 상기 애플리케이션 서버가 요구하는 인증을 위한 것임을 특징으로 하는 클라이언트 장치의 암호화 기능 수행 방법.The method of claim 1, wherein the data is for authentication requested by the application server. 제1 항에 있어서,
상기 데이터를 디스플레이 상에 표시하는 동작을 더 포함하고,
상기 표시에 대한 응답 정보를 수신한 후 상기 암호화 단말에게 서명을 요청하는 것을 특징으로 하는 클라이언트 장치의 암호화 기능 수행 방법.
The method according to claim 1,
Further comprising displaying the data on a display,
And requesting the encryption terminal to sign a response after receiving response information for the display.
클라이언트 장치와 연결을 수립하는 동작;
상기 연결을 통하여 상기 클라이언트 장치로부터 데이터에 대한 서명 요청을 수신하는 동작;
상기 데이터에 대한 서명 정보를 생성하는 동작; 및
상기 서명 요청에 대한 응답으로 상기 서명 정보를 상기 클라이언트 장치로 전송하는 동작을 포함하는 암호화 단말의 암호화 기능 수행 방법.
Establishing a connection with a client device;
Receiving a signature request for data from the client device over the connection;
Generating signature information for the data; And
And transmitting the signature information to the client device in response to the signature request.
제8 항에 있어서,
상기 데이터를 디스플레이 상에 표시하는 동작; 및
상기 데이터를 서명하기 위해 필요한 입력 정보를 수신하는 동작을 더 포함하는 암호화 단말의 암호화 기능 수행 방법.
9. The method of claim 8,
Displaying the data on a display; And
Further comprising: receiving input information necessary for signing the data.
제8 항에 있어서, 상기 서명 정보는 상기 암호화 단말의 보안 저장소 내에서 생성되는 것을 특징으로 하는 암호화 단말의 암호화 기능 수행 방법.The method according to claim 8, wherein the signature information is generated in a secure storage of the encryption terminal. 제8 항에 있어서,
중계 서버에 주소 정보를 통지하는 동작을 포함하고,
상기 연결은 상기 중계 서버로부터 획득된 상기 주소 정보를 기초로 수립되는 것을 특징으로 하는 암호화 단말의 암호화 기능 수행 방법.
9. The method of claim 8,
And notifying the relay server of the address information,
Wherein the connection is established based on the address information obtained from the relay server.
애플리케이션 서버 및 암호화 단말과 통신을 수행하도록 설정된 통신부; 및
상기 통신부와 전기적으로 연결되어 암호화 기능을 수행하도록 설정된 제어부를 포함하되,
상기 제어부는
상기 애플리케이션 서버로부터 서명을 위한 데이터를 수신하고, 상기 암호화 단말의 주소 정보에 기초하여 상기 암호화 단말과 연결을 수립하고, 상기 연결을 통해 상기 암호화 단말에게 상기 데이터의 서명을 요청하고, 상기 서명 요청에 대한 응답으로 상기 암호화 단말로부터 상기 데이터에 대한 서명 정보를 수신하도록 설정된 클라이언트 장치.
A communication unit configured to perform communication with the application server and the encrypted terminal; And
And a control unit electrically connected to the communication unit and configured to perform an encryption function,
The control unit
A signature server for receiving the data for signing from the application server, establishing a connection with the encryption terminal based on the address information of the encryption terminal, requesting the encryption terminal to sign the data through the connection, And to receive the signature information for the data from the encryption terminal in response.
제12 항에 있어서,
상기 암호화 단말의 주소 정보는 중계 서버로부터 수신하고, 상기 암호화 단말과의 연결은 상기 주소 정보에 기초하여 수립되는 것을 특징으로 하는 클라이언트 장치.
13. The method of claim 12,
Wherein the address information of the encryption terminal is received from the relay server, and the connection with the encryption terminal is established based on the address information.
애플리케이션 서버로부터 데이터에 대한 서명 요청을 수신하고, 상기 서명 요청에 대한 응답으로 상기 데이터에 대한 서명을 상기 애플리케이션 서버로 전송하는 클라이언트 장치;
상기 클라이언트 장치와 통신 채널을 형성하고, 보안 저장소에 저장된 개인키(private key)에 기초하여 상기 데이터에 대한 서명을 생성하고, 상기 서명을 상기 클라이언트 장치로 전송하는 암호화 단말;
상기 암호화 단말의 주소 정보를 수신하고, 상기 주소 정보를 상기 클라이언트 장치로 전송하는 중계 서버를 포함하는 암호화 시스템.
A client device for receiving a signature request for data from an application server and for sending a signature for the data in response to the signature request to the application server;
An encryption terminal forming a communication channel with the client device, generating a signature for the data based on a private key stored in the secure repository, and transmitting the signature to the client device;
And a relay server for receiving the address information of the encryption terminal and transmitting the address information to the client device.
KR1020160046462A 2016-04-15 2016-04-15 Performing cryptographic function using an external device KR20170118532A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160046462A KR20170118532A (en) 2016-04-15 2016-04-15 Performing cryptographic function using an external device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160046462A KR20170118532A (en) 2016-04-15 2016-04-15 Performing cryptographic function using an external device

Publications (1)

Publication Number Publication Date
KR20170118532A true KR20170118532A (en) 2017-10-25

Family

ID=60299958

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160046462A KR20170118532A (en) 2016-04-15 2016-04-15 Performing cryptographic function using an external device

Country Status (1)

Country Link
KR (1) KR20170118532A (en)

Similar Documents

Publication Publication Date Title
JP7257561B2 (en) computer-implemented method, host computer, computer-readable medium
ES2687191T3 (en) Network authentication method for secure electronic transactions
TWI601405B (en) Method and apparatus for cloud-assisted cryptography
CN102577229B (en) Key certification in one round trip
JP6543040B2 (en) System and method for remote access, remote digital signature
CN108566381A (en) A kind of security upgrading method, device, server, equipment and medium
CN110519309B (en) Data transmission method, device, terminal, server and storage medium
CN108924147B (en) Communication terminal digital certificate issuing method, server and communication terminal
AU2016211551A1 (en) Methods for secure credential provisioning
US10601590B1 (en) Secure secrets in hardware security module for use by protected function in trusted execution environment
JP2013543310A (en) Establish and distribute shared secrets
CN103905204A (en) Data transmission method and transmission system
CN110505055B (en) External network access identity authentication method and system based on asymmetric key pool pair and key fob
WO2019026038A1 (en) System and method for authenticating a transaction
WO2018030289A1 (en) Ssl communication system, client, server, ssl communication method, and computer program
CN110708291A (en) Data authorization access method, device, medium and electronic equipment in distributed network
CN106992978B (en) Network security management method and server
CN107409043B (en) Distributed processing of products based on centrally encrypted stored data
CN108900595B (en) Method, device and equipment for accessing data of cloud storage server and computing medium
KR102053993B1 (en) Method for Authenticating by using Certificate
CN111064577A (en) Security authentication method and device and electronic equipment
KR20190115489A (en) IOT equipment certification system utilizing security technology
CN114221784A (en) Data transmission method and computer equipment
CN103312671A (en) Method and system for verifying server
KR20170118532A (en) Performing cryptographic function using an external device

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E601 Decision to refuse application