KR20180058996A - System and method for providing electronic signature service - Google Patents
System and method for providing electronic signature service Download PDFInfo
- Publication number
- KR20180058996A KR20180058996A KR1020160158052A KR20160158052A KR20180058996A KR 20180058996 A KR20180058996 A KR 20180058996A KR 1020160158052 A KR1020160158052 A KR 1020160158052A KR 20160158052 A KR20160158052 A KR 20160158052A KR 20180058996 A KR20180058996 A KR 20180058996A
- Authority
- KR
- South Korea
- Prior art keywords
- user terminal
- digital signature
- service server
- key
- data
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3247—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/321—Cryptographic 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 a third party or a trusted authority
- H04L9/3213—Cryptographic 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 a third party or a trusted authority using tickets or tokens, e.g. Kerberos
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3226—Cryptographic 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 using a predetermined code, e.g. password, passphrase or PIN
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
Description
전자 서명을 제공하는 방법 및 서버에 관한 것이다.And a method and server for providing digital signatures.
공인 인증서는 공신력이 있는 공인인증기관에서 발급한 전자 서명 인증서로서, 우리나라의 경우 인터넷 뱅 킹뿐만 아니라 온라인 증명서 발급, 전자상거래, 인터넷 주식거래 등 다양한 분야에서 필수적으로 사용되고 있다. An authorized certificate is an electronic signature certificate issued by a public certificate authority that has public confidence. In Korea, it is used in various fields such as internet banking, online certificate issuance, electronic commerce, and internet stock trading.
기존의 PC 환경에서 공인 인증서 사용 형태를 살펴보면, 공인 인증서를 하드 디스크, 이동식 디스크, 휴대폰, 저장 토큰, 보안 토큰 등에 저장해 두고 있다가 인터넷 금융거래 등을 위해 공인인증이 필요한 경우 하드 디스크 등에 저장된 공인 인증서를 통해 전자 서명을 생성하고 이를 인증 서버가 검증함으로써 공인인증을 수행하는 방식이다.In the conventional PC environment, if the authorized certificate is stored in a hard disk, a removable disk, a mobile phone, a storage token, a security token, and the like, And the authentication server verifies the digital signature, thereby performing public authentication.
상술한 공인인증 방식에서는 사용자가 공인 인증서가 저장된 매체를 소지하고 다녀야 하는 불편함이 있다. 그리고, 사용자가 공인 인증서를 사용할 수 있는 매체 수를 늘리기 위해서는 공인 인증서를 여러 매체에 복사, 이동하는 작업을 수행해야 하는 번거로움이 있다. 또한, 다수 매체에 공인 인증서가 저장되어 있으면 매체의 분실 혹은 타인이 매체에 접근함으로써 공인 인증서의 유출 가능성이 높아지는 위험이 있다.In the public authentication system described above, there is a problem that the user must carry a medium in which the public certificate is stored. In order to increase the number of media in which a user can use a public certificate, it is troublesome to copy and move the public certificate to various media. Also, if a public certificate is stored in a large number of media, there is a risk that the possibility of leakage of the public certificate may be increased by the loss of the medium or the access of the other party to the medium.
본 실시예는, 사용자의 개인키를 등록하고 등록된 사용자의 개인키를 이용하여 사용자 단말로부터 수신한 서명 대상 데이터에 대한 전자 서명을 생성하는 전자 서명 서비스 서버를 개시한다.The present embodiment discloses an electronic signature service server that registers a user's private key and generates a digital signature for the signature subject data received from the user terminal using the private key of the registered user.
전자 서명 서비스 서버에 전자 서명을 제공받을 수 있는 사용자 단말을 등록하는 방법을 개시한다. A method for registering a user terminal capable of receiving an electronic signature to an electronic signature service server is disclosed.
일 실시예에 따른 전자 서명 서비스 서버가 전자 서명을 제공하는 방법은, 전자 서명 서비스 서버는 세션키 파라미터 및 주기기 등록용 토큰을 기기 등록 서버에 전송하는 단계; 상기 기기 등록 서버로부터, 오프 라인 방법으로, 제1 사용자 단말은 상기 세션키 파라미터 및 상기 주기기 등록용 토큰을 획득하고, 상기 세션키 파라미터 및 상기 주기기 등록용 토큰을 이용하여 상기 전자 서명 서비스 서버에 주기기로 등록하는 단계; 상기 주기기로 등록된 상기 제1 사용자 단말로부터 상기 전자 서명의 요청을 수신하면, 상기 전자 서명 서비스 서버는 기등록된 사용자 인증서의 개인키를 이용하여 상기 전자 서명을 생성하는 단계; 및 상기 전자 서명 서비스 서버는 상기 전자 서명을 상기 제1 사용자 단말에게 전송하는 단계;를 포함한다.A method for providing an electronic signature by an electronic signature service server according to an embodiment includes: transmitting an electronic signature service server a session key parameter and a main device registration token to a device registration server; The first user terminal obtains the session key parameter and the token for registering the main device from the device registration server in an off-line method, acquires the session key parameter and the token for registering the main device, A step of registering as a periodifier; Receiving the request for the digital signature from the first user terminal registered as the periodic key, the digital signature service server generating the digital signature using the private key of the previously registered user certificate; And the digital signature service server transmitting the digital signature to the first user terminal.
그리고, 상기 기기 등록 서버는 상기 세션키 파라미터 및 상기 주기기 등록용 토큰을 포함하는 이미지 코드를 생성하고, 상기 이미지 코드를 제2 사용자 단말에 전송하는 단계; 및 상기 제2 사용자 단말을 상기 이미지 코드를 표시하는 단계;를 더 포함하고, 상기 주기기로 등록하는 단계는, 상기 제1 사용자 단말이 상기 제2 사용자 단말에 표시된 상기 이미지 코드를 촬영하여 인식함으로써 상기 세션키 파라미터 및 상기 주기기 등록용 토큰을 획득할 수 있다. The device registration server generates an image code including the session key parameter and the token for main device registration, and transmits the image code to a second user terminal. And displaying the image code on the second user terminal, wherein the step of registering with the periodic device comprises the steps of: capturing and recognizing the image code displayed on the second user terminal by the first user terminal, The session key parameter and the token for registering the main device.
또한, 상기 이미지 코드는, QR 코드, 데이터 매트릭스(Data Matrix), 맥시 코드(Maxi Code), 컬러 코드(Color Code), 그레이 코드(Cray Code), 바코드(bar code) 중 적어도 하나일 수 있다.The image code may be at least one of a QR code, a data matrix, a Maxi code, a color code, a gray code, and a bar code.
그리고, 상기 주기기로 등록하는 단계는, 상기 전자 서명 서비스 서버는 상기 주기기 등록용 토큰을 이용하여 상기 제1 사용자 단말을 검증하는 단계; 상기 검증이 완료되면, 상기 제1 사용자 단말은 주기기용 키 쌍을 생성하고, 상기 세션키 파라미터로 상기 주기기용 키 쌍의 공개키 및 상기 제1 사용자 단말의 기기 정보를 암호화하여 상기 전자 서명 서비스 서버에 전송하는 단계; 및 상기 전자 서명 서비스 서버는 암호화된 상기 주기기용 키 쌍의 공개키 및 상기 제1 사용자 단말의 기기 정보를 복호화하여 저장함으로써 상기 제1 사용자 단말을 주기기로 등록하는 단계;를 더 포함할 수 있다. The step of registering with the periodic key may include: verifying the first user terminal using the main device registration token; The first user terminal generates the key pair for the periodic key, encrypts the public key of the key pair for the periodic key and the device information of the first user terminal with the session key parameter, ; And registering the first user terminal as a periodic key by decrypting and storing the public key of the key pair for the periodic key and the device information of the first user terminal encrypted and stored in the digital signature service server.
또한, 상기 제1 사용자 단말을 검증하는 단계는, 제1 사용자 단말은 상기 주기기 등록용 토큰을 이용하여 상기 제1 사용자 단말의 기기 토큰을 생성하고, 상기 제1 사용자 단말의 기기 토큰을 상기 전자 서명 서비스 서버에 전송하는 단계; 및 상기 전자 서명 서비스 서버는 상기 주기기 등록용 토큰을 이용하여 상기 제1 사용자 단말의 기기 토큰을 검증하는 단계;를 더 포함할 수 있다. The step of verifying the first user terminal may include: generating a device token of the first user terminal by using the main device registration token, and transmitting the device token of the first user terminal to the e- To a signature service server; And the digital signature service server verifying the device token of the first user terminal using the token for registering the main device.
그리고, 상기 제1 사용자 단말은 상기 주기기용 키 쌍의 개인키 및 상기 제1 사용자 단말의 기기 정보를 암호화하여 저장하는 단계;를 더 포함할 수 있다.The first user terminal may further include a step of encrypting and storing the private key of the key pair and the device information of the first user terminal.
또한, 상기 주기기용 키 쌍의 개인키 및 상기 제1 사용자 단말의 기기 정보는 상기 제1 사용자 단말에 대응하는 사용자의 개인 식별 번호(Personal Identification Number; PIN) 및 생체 정보 중 적어도 하나에 의해 암호화할 수 있다. The private key of the key pair for the periodic key and the device information of the first user terminal may be encrypted by at least one of a personal identification number (PIN) and biometric information of the user corresponding to the first user terminal .
그리고, 상기 전자 서명을 생성하는 단계는, 상기 전자 서명 서비스 서버는 상기 제1 사용자 단말로부터 서명 대상 데이터 및 상기 서명 대상 데이터에 대한 전자 서명의 요청을 수신하는 단계; 및 상기 요청에 응답하여, 상기 전자 서명 서비스 서버는 기등록된 사용자 인증서의 개인키를 이용하여 상기 서명 대상 데이터에 대한 상기 전자 서명을 생성하는 단계;를 더 포함할 수 있다.The step of generating the digital signature may further include the steps of: receiving, by the digital signature service server, a request of the digital signature from the first user terminal for the signature subject data and the signature subject data; And in response to the request, the digital signature service server generating the digital signature for the data to be signed using the private key of the pre-registered user certificate.
또한, 상기 제1 사용자 단말은, 상기 전자 서명, 상기 서명 대상 데이터 및 상기 개인키에 대응되는 공개키를 상기 이용 서버에 전송하는 단계;를 더 포함할 수 있다.The first user terminal may further include transmitting the digital signature, the signature subject data, and the public key corresponding to the private key to the usage server.
그리고, 제3 사용자 단말로부터, 오프 라인 방법으로, 상기 제1 사용자 단말은 상기 제3 사용자 단말의 기기 정보 및 추기 기기용 키 쌍의 공개키를 수신하는 단계; 상기 제1 사용자 단말은, 상기 제3 사용자 단말의 기기 정보 및 추가 기기용 키 쌍의 공개키를 상기 전자 서명 서비스 서버에 전송하는 단계; 및 상기 전자 서명 서비스 서버는 상기 제3 사용자 단말의 기기 정보 및 상기 추가 기기용 키 쌍의 공개키를 저장함으로써 상기 제3 사용자 단말을 추가 기기로 등록하는 단계;를 더 포함할 수 있다.Receiving the public key of the device information of the third user terminal and the key pair for the additional device from the third user terminal in an offline manner; Transmitting, by the first user terminal, device information of the third user terminal and a public key of an additional device key pair to the digital signature service server; And registering the third user terminal as an additional device by storing the device information of the third user terminal and the public key of the key pair for the additional device in the digital signature service server.
또한, 상기 전자 서명 서비스 서버에 전송되는 상기 제3 사용자 단말의 기기 정보 및 추가 기기용 키 쌍의 공개키는, 상기 제1 사용자 단말이 상기 전자 서명 서비스 서버와 인증하는 과정에서 획득된 세션키로 암호화될 수 있다.Also, the device information of the third user terminal and the public key of the additional device key pair transmitted to the digital signature service server are encrypted using the session key obtained in the process of authenticating the first user terminal with the digital signature service server .
그리고, 상기 전자 서명을 생성하는 단계는, 상기 제1 사용자 단말로부터 등록된 기기인지 여부를 인증하기 위한 기기 인증 데이터를 수신하는 단계; 및 상기 기기 인증 데이터를 검증 한 후 상기 전자 서명을 생성하는 단계;를 더 포함할 수 있다.The generating of the digital signature may further include: receiving device authentication data for authenticating whether the device is registered from the first user terminal; And generating the digital signature after verifying the device authentication data.
또한, 상기 기기 인증 데이터는, 주기기용 키 쌍의 개인키를 이용하여 생성될 수 있다. Also, the device authentication data may be generated using the private key of the key pair for the periodic key.
일 실시예에 따른 외부 기기와 통신하는 통신부; 사용자의 전자 서명 생성을 위한 개인키가 저장된 저장부; 상기 통신부를 통해, 세션키 파라미터 및 주기기 등록용 토큰을 기기 등록 서버에 전송하고, 상기 세션키 파라미터 및 주기기 등록용 토큰을 획득한 제1 사용자 단말로부터 주기기 등록을 요청받으면 상기 제1 사용자 단말을 주기기로 등록하는 프로세서; 및 상기 통신부를 통해, 상기 주기기로 등록된 상기 제1 사용자 단말로부터 상기 전자 서명의 요청을 수신하면, 상기 전자 서명 서비스 서버는 기등록된 사용자 인증서의 개인키를 이용하여 상기 전자 서명을 생성하는 전자 서명 생성 모듈;을 포함하고, 상기 프로세서는, 상기 통신부를 통해, 상기 전자 서명을 상기 제1 사용자 단말에게 전송한다. A communication unit for communicating with an external device according to an exemplary embodiment; A storage unit for storing a private key for generating a digital signature of a user; The session key parameter and the token for main device registration are transmitted to the device registration server through the communication unit, and when the main device registration request is received from the first user terminal that has obtained the session key parameter and the main device registration token, A processor for registering the terminal as a periodizer; And when receiving a request for the digital signature from the first user terminal registered as the periodic unit through the communication unit, the digital signature service server generates an electronic signature using the private key of the pre- And a signature generation module, wherein the processor transmits the digital signature to the first user terminal via the communication unit.
실시예들에 따르면, 전자 서명 생성을 위한 개인키를 전자 서명 서비스 서버에서 등록 및 관리함으로써 사용자가 개인키가 저장된 매체를 소지하지 않아도 되는 효과가 발생한다. 또한, 개인키가 저장된 매체가 도용되는 것을 방지할 수 있다. According to the embodiments, the effect that the user does not need to possess the medium in which the private key is stored by registering and managing the private key for generating the digital signature in the digital signature service server. In addition, it is possible to prevent the medium in which the private key is stored from being stolen.
또한, 전자 서명 서비스 서버(100)에 저장된 개인키를 전자 서명 생성 모듈 외에 다른 장치가 확인 및 복제하는 것을 차단함으로써, 사용자의 개인키에 대한 보안이 향상될 수 있다.In addition, the security of the user's private key can be improved by blocking the private key stored in the digital
전자 서명 서비스 서버에 접속 가능한 사용자 단말을 한정함으로써 특정 사용자 단말에게만 전자 서명을 제공할 수 있다. The digital signature can be provided only to a specific user terminal by defining a user terminal connectable to the digital signature service server.
도 1은 예시적인 실시예에 따른 전자 서명 서비스 시스템을 나타낸 도면이다.
도 2는 도 1에서 나타낸 전자 서명 서비스 서버를 대략적으로 나타낸 블록도이다.
도 3은 도 2에서 나타낸 저장부의 저장 공간을 개념적으로 나타낸 블록도 이다.
도 4는 도 1에서 나타낸 사용자 단말을 대략적으로 나타낸 블록도이다.
도 5는 도 1에서 나타낸 전자 서명 서비스 시스템에 의해 전자 서명 서비스가 제공되는 방법의 예시를 나타낸 흐름도이다.
도 6은 도 1에서 나타낸 전자 서명 서비스 시스템에 의해 전자 서명 서비스가 제공되는 방법의 다른 예시를 나타낸 흐름도이다.
도 7은 전자 서명 서비스 서버가 사용자 단말의 사용자를 인증하는 과정을 예시적으로 나타낸 흐름도이다.
도 8은 도 6에서 나타낸 전자 서명 서비스 방법에서 보안 통신 세션을 생성하는 단계가 추가된 예를 나타낸 흐름도이다.
도 9는 도 8에서 나타낸 보안 통신 세션 생성 단계가 수행되는 과정을 예시적으로 나타낸 흐름도이다.
도 10은 상기 보안 통신 세션을 이용하여 전자 서명 서비스 서버와 사용자 단말이 데이터를 송수신 하는 것을 나타낸 흐름도이다.
도 11a 및 도 11b는 도 1에서 나타낸 전자 서명 서비스 시스템에 의해 전자 서명 서비스가 제공되는 방법의 예시를 나타낸 흐름도이다.
도 12는 사용자 단말에 저장된 개인키 및 인증서 데이터를 전자 서명 서비스 서버에 이동시키는 과정을 예시적으로 나타낸 흐름도이다.
도 13은 일 실시예에 따른 전자 서명 서비스 서버에 주기기로 등록하는 방법을 설명하는 흐름도이다.
도 14는 일 실시예에 따른 주기기를 등록하는 구체적인 방법을 설명하는 흐름도이다.
도 15는 일 실시에에 따른 제1 사용자 단말(210)이 기기 인증을 수행하는 절차를 설명하는 흐름도이다.
도 16a 및 도 16b는 일 실시예에 따른 추가 기기 등록하는 방법을 설명하는 흐름도이다.1 is a diagram illustrating an electronic signature service system according to an exemplary embodiment.
2 is a block diagram schematically showing an electronic signature service server shown in FIG.
3 is a block diagram conceptually showing a storage space of the storage unit shown in FIG.
4 is a block diagram schematically showing the user terminal shown in FIG.
5 is a flowchart showing an example of a method in which an electronic signature service is provided by the digital signature service system shown in FIG.
6 is a flowchart showing another example of a method in which an electronic signature service is provided by the digital signature service system shown in FIG.
7 is a flowchart illustrating a process of authenticating a user of a user terminal by an electronic signature service server.
FIG. 8 is a flowchart illustrating an example in which a step of generating a secure communication session is added in the digital signature service method shown in FIG.
FIG. 9 is a flowchart illustrating a process of generating a secure communication session shown in FIG. 8 according to an exemplary embodiment of the present invention.
10 is a flowchart illustrating transmission and reception of data between the digital signature service server and the user terminal using the secure communication session.
11A and 11B are flowcharts illustrating an example of a method in which an electronic signature service is provided by the digital signature service system shown in FIG.
FIG. 12 is a flowchart illustrating a process of moving a private key and certificate data stored in a user terminal to an electronic signature service server.
FIG. 13 is a flowchart illustrating a method of registering with a digital signature service server according to an exemplary embodiment.
14 is a flowchart illustrating a specific method of registering a periodic device according to an exemplary embodiment.
FIG. 15 is a flowchart illustrating a procedure for the
16A and 16B are flowcharts illustrating a method of registering an additional device according to an embodiment.
본 발명에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다. While the present invention has been described in connection with what is presently considered to be the most practical and preferred embodiment, it is to be understood that the invention is not limited to the disclosed embodiments. Also, in certain cases, there may be a term selected arbitrarily by the applicant, in which case the meaning thereof will be described in detail in the description of the corresponding invention. Therefore, the term used in the present invention should be defined based on the meaning of the term, not on the name of a simple term, but on the entire contents of the present invention.
비록 제1, 제2 등의 용어가 다양한 요소들을 서술하기 위해서 사용되지만, 이 요소들은 이러한 용어에 의해 제한되지 않는다. 이러한 용어들은 단지 하나의 요소를 다른 요소와 구별하기 위하여 사용하는 것이다.Although the terms first, second, etc. are used to describe various elements, these elements are not limited by these terms. These terms are used to distinguish one element from another.
본 출원에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다. 제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.The terminology used in this application is used only to describe a specific embodiment and is not intended to limit the invention. The singular expressions include plural expressions unless the context clearly dictates otherwise. In the present application, the terms "comprises" or "having" and the like are used to specify that there is a feature, a number, a step, an operation, an element, a component or a combination thereof described in the specification, But do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, or combinations thereof. The terms 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.
명세서 전체에서 전자 서명(Digital Signature)은 네트워크를 통해 전송되는 데이터의 무결성 및 해당 데이터를 생성 또는 전송한 사용자를 보증하기 위한 보안 기술이다. 전자 서명은 송신자가 송신자의 개인키로 암호화된 전자 서명을 생성한 후 상기한 전자 서명을 메시지에 첨부하여 전송하면, 수신자는 송신자의 공개키로 전자 서명을 복호화한 후 원래의 메시지와 대비하여 검증할 수 있다. 이러한, 본 발명의 일 실시예에 따른 전자 서명은 알에스에이(Ron Rivest, Adi Shamir, Loenard Adleman, RSA) 알고리즘, 디지털 표준 알고리즘(Digital Standard Algorithm, DSA), 메시지 다이제스트 알고리즘(Message-Digest algorithm 5, MD5), 고급 암호화 표준(Advanced Encryption Standard, AES) 등과 같은 암호화 알고리즘 중 어느 하나를 이용할 수 있으나, 이에 한정되는 것은 아니다.Throughout the specification, the digital signature is a security technique for ensuring the integrity of the data transmitted over the network and the user who created or transmitted the data. When a sender creates a digital signature encrypted with the sender's private key and sends the digital signature attached to the message, the recipient can decrypt the digital signature with the sender's public key and verify it against the original message. have. The digital signature according to an embodiment of the present invention may be applied to a digital signature algorithm such as Ron Rivest (Adi Shamir, Loenard Adleman, RSA) algorithm, Digital Standard Algorithm (DSA), Message Digest Algorithm , MD5, Advanced Encryption Standard (AES), and the like, but is not limited thereto.
공개키(Public key)은 비대칭형 암호 방식(Asymmetric cryptosystem)에서 문서를 암호화하기 위해 사용되는 키로, 개인 키(Private key)와 역수 관계를 가질 수 있다. 공개 키와 개인 키를 합쳐 키 쌍이라고 한다. 일반적으로 하나의 장치에서 키 쌍을 생성한다. 키 쌍을 용도에 따라 주기기와 관련된 키 쌍을 주기기용 키 쌍이라고 하고, 추가 기기와 관련된 키 쌍을 추가 기기용 키 쌍이라고 기재할 수 있다. A public key is a key used for encrypting a document in an asymmetric cryptosystem, and may have a reciprocal relationship with a private key. A public key and a private key are combined into a key pair. Generally, a key pair is created in one device. A key pair associated with a periodic key may be referred to as a key pair for a periodic key pair, and a key pair associated with the additional device may be referred to as an additional device key pair.
토큰은 사용자 인증 및 사용 권한을 제어하는데 이용되는 데이터이다. 이하 토큰의 용도에 따라 인증에 이용되는 토큰을 인증용 토큰, 등록에 이용되는 토큰을 등록용 토큰 등으로 기재할 수 있다. The token is data used to control user authentication and usage rights. The token used for authentication may be described as an authentication token, and the token used for registration may be described as a registration token or the like depending on the use of the token below.
세션키는 데이터를 암호화 및 복호화하는데 사용될 수 있으며, 서버는 기 정의된 알고리즘에 의해 세션키를 생성할 수 있다. 세션키도 인증에 이용되는 세션키를 인증용 세션키 등록에 이용되는 세션키를 등록용 세션키로 기재할 수 있다. The session key can be used to encrypt and decrypt the data, and the server can generate the session key by a predefined algorithm. The session key may be a session key used for authentication, and the session key used for authentication session key registration may be described as a registration session key.
데이터 등을 검증한다는 것은 암호화된 데이터를 복호화하여 기저장된 데이터와 일치하는지 여부를 결정하는 것이다. 검증이 완료되었다 또는 검증에 성공하였다는 것은 기저장된 데이터와 일치한다는 거이고, 검증에 실패하였다는 것을 기저장된 데이터와 일치하지 않는다는 것을 의미한다. 또는 데이터 등을 검증한다는 것은 암호화된 데이터가 복호화되었다는 것을 의미할 수도 있다. Verifying the data or the like is to decrypt the encrypted data to determine whether it matches the pre-stored data. Verification is complete or verification is successful means that it is consistent with pre-stored data, and that verification fails to match pre-stored data. Or verifying the data, etc. may mean that the encrypted data has been decrypted.
서명 대상 문서는 사용자의 전자 서명이 요구되는 전자 문서를 의미한다. 사용자는 상기 서명 대상 문서에 대해 전자 서명을 생성함으로써, 상기 서명 대상 문서에 대해 상기 사용자가 승인하였음을 인증할 수 있다. 서명 대상 문서는 전자 서명을 이용하는 이용 기관의 서버에 의해 작성될 수 있다. 상기 전자 서명 이용기관은 은행, 공공기관, 전자 상거래 서비스 운영기관, 주식 거래 기관 등일 수 있으며, 이에 제한되는 것은 아니다. 다른 예로, 서명 대상 문서는 서명의 권한이 있는 사용자 단말에 의해서도 작성될 수도 있다. 서명 대상 문서는 전자 문서로서, 온라인 증명서, 전자상거래 문서, 인터넷 주식 거래 문서 등을 포함할 수 있으며, 이에 제한되는 것은 아니다.The signature target document means an electronic document requiring a digital signature of the user. The user can authenticate that the user has approved the signature target document by generating a digital signature for the signature target document. The document to be signed may be created by the server of the user organization using the digital signature. The digital signature using institution may be a bank, a public institution, an electronic commerce service operating institution, a stock trading institution, and the like, but is not limited thereto. As another example, the signature target document may also be created by a user terminal authorized to sign. The document to be signed may be an electronic document, including but not limited to an online certificate, an electronic commerce document, an Internet stock trading document, and the like.
서명 대상 데이터는 상기 서명 대상 문서로부터 도출된 데이터를 의미한다. The signature target data means data derived from the signature target document.
예시적으로, 서명 대상 데이터는 소정의 알고리즘으로 서명 대상 문서의 원문 데이터를 가공한 데이터일 수 있다. Illustratively, the signature subject data may be data obtained by processing the original text data of the signature subject document with a predetermined algorithm.
예를 들어, 서명 대상 데이터는 서명 대상 문서의 원문 데이터를 해쉬 함수(Hash function)를 이용하여 가공한 데이터일 수 있다. 다른 예로, 서명 대상 데이터는 서명 대상 문서의 원문 데이터를 해쉬 함수 및 패딩(Padding) 알고리즘을 이용하여 가공한 데이터일 수 있다. 패딩이란 데이터의 크기가 목표하는 고정 길이보다 작은 경우 데이터 끝에 공백이나 의미가 없는 기호를 부가하여 데이터 크기를 조정하는 알고리즘을 의미한다.For example, the signature target data may be data obtained by processing the original document data of the signature target document using a hash function. As another example, the signature target data may be data obtained by processing the original document data of the signature target document using a hash function and a padding algorithm. Padding refers to an algorithm that adjusts the size of data by adding spaces or meaningless symbols to the end of the data if the size of the data is less than the fixed length.
전술한 데이터 가공 알고리즘 들은 예시적인 것에 불과하며, 실시예가 이에 제한되는 것은 아니다. 또한, 서명 대상 데이터는 서명 대상 문서의 원문 데이터와 같을 수도 있다.The above-described data processing algorithms are merely illustrative, and the embodiments are not limited thereto. The signature target data may be the same as the original document data of the signature target document.
인증서란 전자 서명이 사용자에 의해 생성되었음을 인증하기 위한 전자적 문서를 의미한다. 인증서는 전자 서명을 진행한 사용자 정보, 인증서의 용도, 인증서 유효기간, 인증서 만료일 및 인증서 발급기관에 대한 정보 중 적어도 하나를 포함할 수 있다. A certificate is an electronic document for authenticating that a digital signature has been created by a user. The certificate may include at least one of the user information that has undergone the digital signature, the purpose of the certificate, the validity period of the certificate, the certificate expiration date, and the information about the certificate issuing authority.
그리고, 인증서 데이터는 인증서로부터 도출된 데이터를 의미한다. 인증서 데이터는 인증서의 정보를 그대로 나타내는 데이터일 수 있다. 다른 예로, 인증서 데이터는 전자 서명 이용기관에 제출하기 위해 인증서를 적절한 포맷으로 변경한 데이터일 수도 있다.And, the certificate data means data derived from the certificate. The certificate data may be data representing the information of the certificate as it is. As another example, the certificate data may be data in which the certificate is changed to an appropriate format for submission to an electronic signature utilization authority.
전자 서명문은 전자 서명을 이용하는 이용 기관에 제출되는 전자 문서를 의미한다. 전자 서명문에는 상기 전자 서명, 서명 대상 데이터, 인증서 데이터 및 전자 서명을 복호화하기 위한 공개 키 데이터 등이 첨부되어 있을 수 있다. 전자 서명 이용 기관은 전자 서명문에 첨부된 공개 키 데이터로 상기 전자 서명을 검증함으로써, 전자 서명이 사용자에 의해 작성된 것인 지를 확인할 수 있다.An electronic signature means an electronic document submitted to a user organization using an electronic signature. The digital signature may include the digital signature, the signature data, the certificate data, and the public key data for decrypting the digital signature. The digital signature use authority can verify whether the digital signature is created by the user by verifying the digital signature with the public key data attached to the digital signature statement.
이하, 본 발명에 따른 실시 예들을 첨부된 도면을 참조하여 상세히 설명하기로 하며, 첨부 도면을 참조하여 설명함에 있어, 동일하거나 대응하는 구성 요소는 동일한 도면번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Reference will now be made in detail to embodiments of the present invention, examples of which are illustrated in the accompanying drawings, wherein like reference numerals refer to the like elements throughout. .
도 1은 예시적인 실시예에 따른 전자 서명 서비스 시스템(1000)을 나타낸 도면이다. 1 is a diagram illustrating an electronic
도 1을 참조하면, 실시예에 따른 전자 서명 서비스 시스템(1000)은 사용자 단말(200)과, 사용자의 전자 서명 생성을 위한 데이터를 저장하고 사용자에게 전자 서명 서비스를 제공하는 전자 서명 서버(100), 전자 서명을 이용하는 전자 서명 이용 서버(300) 및 전자 서명을 인증하는 인증 서버(400)를 포함할 수 있다.Referring to FIG. 1, an electronic
전자 서명 이용 서버(300)는 전자 서명을 이용하는 기관에 의해 운영되는 서버를 의미한다. 전자 서명 이용 서버(300)는 은행 서버, 공공 기관에 의해 운영되는 서버, 전자 상거래 서비스를 제공하는 서버 등을 포함할 수 있으며, 이에 제한되는 것은 아니다. 전자 서명 이용 서버(300)는 사용자의 인증이 필요한 전자 문서, 즉 서명 대상 문서를 발행할 수 있다. 전자 서명 이용 서버(300)는 상기 서명 대상 문서로부터 도출된 서명 대상 데이터를 사용자 단말(200)에 전송할 수 있다. 상기 서명 대상 데이터는 서명 대상 문서의 원문 데이터를 그대로 포함할 수도 있고, 서명 대상 문서의 원문 데이터를 후술하는 암호화에 적절하도록 가공한 데이터를 포함할 수도 있다. 전자 서명 이용 서버(300)는 상기 서명 대상 데이터에 대한 전자 서명을 사용자 단말(200)에게 요청할 수 있다.The digital
인증 서버(400)는 전자 서명의 검증을 위한 인증서를 발행하고 관리하는 공인 인증 기관에 의해 운영되는 서버를 의미한다. 상기 공인 인증 기관의 예로는 금융결제원, 한국정보인증, 한국증권전산, 한국전자인증, 한국전산원,한국무역정보통신 등이 있다.The
사용자 단말(200)은 전자 서명의 권한을 가진 사용자가 사용하는 장치를 의미한다. 사용자 단말은 스마트 폰, 태블릿 PC, 랩톱 등을 포함할 수 있으나 이에 제한되는 것은 아니다. 사용자 단말(200)은 전자 서명 이용 서버(300) 및 전자 서명 서비스 서버(100)와 통신할 수 있는 통신 수단을 포함할 수 있다. 사용자 단말(200)은 전자 서명 이용 서버(300)로부터 서명 대상 데이터 및 서명 대상 데이터에 대한 전자 서명의 요청 수신할 수 있다. The
사용자 단말(200)은 전자 서명을 직접 생성하지 않고, 전자 서명 서비스 서버(100)에게 전자 서명을 생성해 줄 것을 요청할 수 있다. 필요한 경우, 사용자 단말(200)은 상기 서명 대상 데이터를 전자 서명이 용이한 포맷으로 가공한 후, 가공된 서명 대상 데이터에 대한 전자 서명의 요청을 전자 서명 서비스 서버(100)에게 전송할 수 있다. The
사용자 단말(200)은 전자 서명 서비스 서버(100)로부터 전자 서명을 수신하면, 전자 서명을 이용하여 전자 서명문을 생성할 수 있다. 전자 서명문은 전자 서명 이용 서버(300) 또는 인증 서버(400)에서 검증이 가능한 포맷으로 작성될 수 있다. 사용자 단말(200)은 생성한 전자 서명문을 전자 서명 이용 서버(300)에 전송할 수 있다.When the
전자 서명 서비스 서버(100)에는 사용자의 전자 서명 생성을 위한 정보가 등록되어 있을 수 있다. 예를 들어, 전자 서명 서비스 서버(100)에는 전자 서명 생성을 위한 키 쌍 가운데 개인키가 등록되어 있을 수 있다. 전자 서명 서비스 서버(100)는 미리 등록된 사용자의 개인키를 이용하여 전자 서명을 생성할 수 있다. 전자 서명 서비스 서버(100)는 생성한 사용자의 전자 서명을 사용자 단말(200)에 전송할 수 있다.Information for generating a digital signature of a user may be registered in the digital
도 2는 도 1에서 나타낸 전자 서명 서비스 서버(100)를 대략적으로 나타낸 블록도이다.2 is a block diagram schematically showing the digital
도 2를 참조하면, 실시예에 따른 전자 서명 서비스 서버(100)는 사용자 단말(200)과 통신하는 통신부(110)와, 사용자의 전자서명 생성을 위한 개인키를 저장하는 저장부(130) 및 통신부(110)가 사용자 단말(200)로부터 서명 대상 데이터 및 상기 서명 대상 데이터에 대한 전자 서명의 요청을 수신하면, 상기 개인키를 이용하여 상기 서명 대상 데이터에 대한 전자 서명을 생성하는 전자 서명 생성 모듈(140)을 포함할 수 있다. 또한, 전자 서명 서비스 서버(100)는 통신부(110)가 사용자 단말(200)로부터 수신한 기기 인증 데이터를 검증하는 프로세서(120)를 더 포함할 수 있다. 프로세서(120)는 통신부(110)가 송수신 하는 데이터를 암호화 및 복호화 하는 연산 작업을 수행할 수도 있다. 2, an electronic
통신부(110)는 사용자 단말(200)과 정보 및 데이터를 주고 받을 수 있다. 통신부(110)는 데이터의 전송 및 수신의 역할을 수행하는 하드웨어 자원을 포함할 수 있다. The
통신부(110)는 소정의 통신망을 통해 사용자 단말(200)과 연결될 수 있다. 상기 소정의 통신망은, 전자 서명 서비스 서버(100)의 통신부(110)와 사용자 단말(200)을 연결하는 역할을 수행하는 매개체로써, 사용자 단말(200)이 전자 서명 서비스 서버(100)에 접속한 후 데이터를 송수신할 수 있도록 접속 경로를 제공하는 경로 등을 포함할 수 있다. 상기 통신망은 유선 네트워크 또는 무선 네트워크일 수 있다. 유선 네트워크는 LANs(Local Area Networks), WANs(Wide Area Networks), MANs(Metropolitan Area Networks), ISDNs(Integrated Service Digital Networks)등을 포함할 수 있고, 무선 네트워크는 무선 LANs, CDMA, 블루투스, 위성 통신 등을 포함할 수 있으나 실시예가 이에 제한되는 것은 아니다.The
저장부(130)에는 사용자의 전자 서명 생성을 위해 전자 서명 서비스 서버(100)에 등록된 정보가 저장되어 있을 수 있다. 예를 들어, 저장부(130)에는 사용자의 전자 서명 생성을 위한 개인키가 저장되어 있을 수 있다. 또한, 저장부(130)에는 사용자의 인증서 데이터가 함께 저장되어 있을 수 있다. The
저장부(130)는 전자 서명 생성 모듈(140)을 제외한 다른 장치가 사용자의 개인키를 복제 및 확인할 수 없도록 할 수 있다. 반면, 저장부(130)에 저장된 인증서 데이터는 사용자 단말(200)의 요청에 의해 통신부(110)를 통해 사용자 단말(200)로 전송될 수 있다. 따라서, 저장부(130)는 인증서 데이터와 개인키를 서로 다른 저장 공간에 저장할 수 있다. The
도 3은 도 2에서 나타낸 저장부(130)의 저장 공간을 개념적으로 나타낸 블록도 이다.3 is a block diagram conceptually illustrating a storage space of the
도 3을 참조하면, 저장부(130)는 제1 저장 공간(132)과 제2 저장 공간(134)을 포함할 수 있다. 제1 저장 공간(132)과 제2 저장 공간(134)은 하드웨어 적으로 분리되어 있을 수도 있고, 분리되지 않을 수도 있다. 예시적으로 제1 저장 공간(132)에는 사용자의 개인키가 저장되어 있을 수 있다. 또한, 제2 저장 공간(134)에는 인증서 데이터, 사용자 식별 정보 등이 포함되어 있을 수 있다. 프로세서(120)는 제2 저장 공간(134)에 저장된 데이터 및 정보 중 적어도 일부를 이용할 수 있다. 또한, 제2 저장 공간(134)에 저장된 인증서 데이터 등은 통신부(110)를 통해 외부로 전송될 수 있다.Referring to FIG. 3, the
제1 저장 공간(132)은 제1 저장 공간(132)에 저장된 정보는 전자 서명 서비스 서버(100)의 외부에서 확인 및 복제가 불가능 하도록 구성될 수 있다. 제1 저장 공간(132)에 저장된 개인키는 전자 서명 생성 모듈(140)만이 확인 및 이용할 수 있도록 구성될 수 있다. 예를 들어, 제1 저장 공간(132)과 전자 서명 생성 모듈 (140)은 함께 하드웨어 보안 모듈(Hardware Security Module; HSM)(150)을 구성할 수 있다. 제1 저장 공간(132)과 전자 서명 생성 모듈(140)이 하드웨어 보안 모듈 (150)을 구성함으로써, 제1 저장 공간(132)에 저장된 개인키는 공개되지 않고 안전하게 관리될 수 있다.The
전자 서명 생성 모듈(140)은 저장부(130)의 제1 저장 공간(132)에 저장된 개인키를 이용하여 통신부(110)가 수신한 서명 대상 데이터를 암호화할 수 있다. 전자 서명 생성 모듈(140)은 상기 암호화에 필요한 연산 과정을 수행할 수 있다. 전자 서명 생성 모듈(140)은 서명 대상 데이터를 암호화 함으로써 전자 서명을 생성할 수 있다. 전자 서명 생성 모듈(140)이 생성한 전자 서명을 통신부(110)에 전달하면, 통신부(110)는 상기 전자 서명을 사용자 단말(200)에게 전송할 수 있다. The digital
다시 도 2를 참조하면, 프로세서(120)는 사용자 단말(200)로부터 획득한 기기 인증 데이터를 검증할 수 있다. 상기 기기 인증 데이터는 상기 사용자 단말(200)의 기기 인증을 위한 정보로부터 생성된 데이터일 수 있다. 또한, 상기 기기 인증을 위한 정보는 사용자 단말(200)의 기기에 부여된 고유 식별번호, 기기 정보, 사용자가 전자 서명 서비스에 가입할 때 사용자 단말(200)에 부여된 ID 등을 포함할 수 있다. 그리고, 기기 인증 데이터는 상기 기기 인증을 위한 정보의 전부 또는 일부를 변조함으로써 획득된 데이터일 수 있다.Referring again to FIG. 2, the
프로세서(120)는 사용자 단말(200)로부터 획득한 기기 인증 데이터를 검증함으로써 사용자가 전자 서명을 획득할 권한이 있는 지를 판단할 수 있다. 프로세서(120)는 저장부(130)의 제2 저장 공간(134)에 저장된 정보를 이용하여 상기 사용자 단말(200)로부터 획득한 기기 인증 데이터를 검증할 수 있다. 프로세서(120)는 통신부(110)가 사용자 단말(200)로부터 획득한 기기 인증 데이터로부터 사용자가 전자 서명을 생성할 권한이 있는 지를 판단할 수 있다.
프로세서(120)는 기기 인증 데이터에 대한 검증을 완료하면, 전자 서명 생성 모듈(140)에게 사용자가 사용할 권한이 있는 개인키를 이용하여 서명 대상 데이터에 대한 전자서명 생성을 요청할 수 있다. 프로세서(120)는 사용자 인증 절차에 필요한 연산과정을 수행할 수 있는 하드웨어 자원을 포함할 수 있다.Upon completion of the verification of the device authentication data, the
도 4는 도 1에서 나타낸 사용자 단말(200)을 대략적으로 나타낸 블록도이다.FIG. 4 is a block diagram schematically showing the
도 4를 참조하면, 예시적인 실시예에 따른 사용자 단말(200)은 통신부(210)와, 사용자의 입력 정보를 획득하는 입력부(230), 및 프로세서(240)를 포함할 수 있다.Referring to FIG. 4, a
통신부(210)는 전자 서명 서비스 서버(100), 전자 서명 이용 서버(300) 및 인증 서버(400)와 데이터 및 정보를 송수신할 수 있다. 통신부(210)는 전자 서명 서비스 서버(100)에게 전자 서명의 요청을 전송할 수 있다. 통신부(210)는 전자 서명 서비스 서버(100)로부터 전자 서명을 수신하고, 상기 전자 서명을 이용하여 생성된 전자 서명문을 전자 서명 이용 서버(300)에 전송할 수 있다.The
입력부(230)는 사용자의 입력정보를 획득할 수 있다. 프로세서(240)는 입력부(230)가 획득한 사용자 입력 정보에 기초하여 통신부(210)가 전송하는 데이터를 생성할 수 있다. 입력부(230)의 입력 방식은 버튼 입력방식 또는 터치 스크린 방식일 수 있다. 버튼 입력방식의 경우, 입력부(230)는 소정의 버튼 입력장치를 포함할 수 있다. 터치 스크린 방식의 경우, 입력부(230)는 터치 스크린 기능을 지원하는 디스플레이를 포함할 수 있다. 프로세서(240)는 입력부(230)에게 UI(User Interface) 정보를 제공할 수 있다. 상술한 예는 예시적인 것에 불과하며 실시예가 이에 제한되는 것은 아니다. 예를 들어, 입력부(230)는 음성 인식이나 기타 다른 방법으로 사용자의 입력을 입력 받을 수 도 있다.The
프로세서(240)는 전자 서명 서비스 서버(100)에 의해 배포된 소정의 애플리케이션을 탑제하고 있을 수 있다. 프로세서(240)는 입력부(230)에 대한 UI 정보를 제공하고, 통신부(210)가 전송하는 데이터를 생성할 수 있다. 프로세서(240)는 전자 서명문 생성에 필요한 연산 기능을 수행할 수 있다. 또한, 프로세서(240)는 전자 서명 서비스 서버(100)와의 통신 보안을 위해 필요한 연산 기능을 수행할 수 있다. The
실시예에 따른 사용자 단말(200)은 로컬 인증부(220)를 더 포함할 수 있다. 도 4에서는 로컬 인증부(220)는 프로세서(240)를 별도 구성으로 나타냈지만 이 것이 양 구성이 하드웨어 적으로 분리되어 있다는 것을 의미하는 것은 아니다. 예를 들어, 로컬 인증부(220)와 프로세서(240)는 적어도 일부의 하드웨어 자원을 공유하거나 공유하지 않을 수도 있다.The
로컬 인증부(220)는 사용자의 로컬 인증 프로세스를 수행할 수 있다. 로컬 인증부(220)는 입력부(230)에서 획득한 사용자 입력 정보에 기초하여 로컬 인증을 수행할 수 있다. 여기서, 로컬 인증이란 사용자 단말(200)이 외부와 데이터를 주고 받지 않으면서 수행되는 사용자 인증 절차를 의미한다. 로컬 인증 방식에 대해서는 후술하는 설명 부분에서 보다 상세히 설명한다.The
도 5는 도 1에서 나타낸 전자 서명 서비스 시스템(1000)에 의해 전자 서명 서비스가 제공되는 방법의 예시를 나타낸 흐름도이다.5 is a flowchart showing an example of a method in which an electronic signature service is provided by the digital
도 5를 참조하면, 전자 서명 서비스 서버는 미리 등록된 사용자의 개인키를 이용하여 서명 대상 데이터에 대한 전자 서명을 생성할 수 있다.Referring to FIG. 5, the digital signature service server may generate an electronic signature for the signature target data using a private key of a user registered in advance.
1105 단계에서, 전자 서명 서비스 서버(100)는 사용자의 전자 서명을 생성하기 위한 개인키를 저장부(130)에 등록할 수 있다. 전자 서명 서비스 서버(100)는 사용자 단말(200)의 요청에 의해 키 쌍을 생성한 후 상기 키 쌍에 포함된 개인키를 저장부(130)에 저장할 수 있다. 예를 들어, 전자 서명 서비스 서버(100)는 상기 키 쌍에 포함된 개인키는 도 3에서 나타낸 제1 저장 공간(132)에 저장하고, 공개키는 제2 저장 공간(134)에 저장할 수 있다.In
다른 예로, 전자 서명 서비스 서버(100)는 사용자 단말(200)로부터 기 생성된 개인키를 전달 받을 수도 있다. 이 경우, 전자 서명 서비스 서버(100)가 사용자 단말(200)로부터 수신하는 개인키는 암호화 되어 있을 수 있다. 사용자의 개인키를 등록하는 1105 단계에 대해서는 후술하는 설명 부분에서 보다 상세히 설명한다.As another example, the digital
1110 단계에서 사용자 단말(200)은 전자 서명 이용 서버(300)로부터 전자 서명의 요청을 수신할 수 있다. 상기 전자 서명의 요청은 전자 서명 이용 서버(300)에서 확인하고자 하는 서명 대상 데이터에 대해 전자 서명을 생성해줄 것을 요청하는 것을 의미한다. 서명 대상 데이터는 전자 서명 이용 서버(300)에서 생성될 수 있다. 이 경우, 전자 서명 이용 서버(300)는 전자 서명 요청과 함께 서명 대상 데이터를 함께 사용자 단말(200)에 전송할 수 있다.In step 1110, the
예를 들어, 전자 서명 이용 서버(300)는 온라인 증명서, 전자상거래 문서, 인터넷 주식 거래 문서 등을 서명 대상 문서로 생성할 수 있다. 그리고, 전자 서명 이용 서버(300)는 상기 서명 대상 문서로부터 도출된 서명 대상 데이터를 사용자 단말(200)에게 전송할 수 있다. 전자 서명 이용 서버(300)가 전송하는 서명 대상 데이터는 서명 대상 문서의 원본 데이터 그대로이거나 서명 대상 문서의 원본 데이터를 가공한 것일 수도 있다. For example, the digital
다른 예로, 서명 대상 데이터는 사용자 단말(200)에서 생성될 수도 있다. 즉, 사용자 단말(200)이 전자 서명의 대상이 되는 서명 대상 문서를 직접 생성할 수도 있다. 이 경우, 전자 서명 이용 서버(300)는 사용자 단말(200)에게 사용자 단말(200)이 생성한 서명 대상 데이터 및 전자 서명을 전자 서명 이용 서버(300)에게 전송해 줄 것을 요청할 수 있다.As another example, the data to be signed may be generated at the
1120 단계에서, 사용자 단말(200)은 서명 대상 데이터를 가공할 수 있다. 예를 들어, 사용자 단말(200)은 해쉬(hash) 함수를 이용하여 서명 대상 데이터를 인코딩(encoding) 함으로써 서명 대상 데이터를 가공할 수 있다. 해쉬 함수 값의 데이터는 일정한 크기를 가지므로, 상기 해쉬 함수를 이용한 인코딩 과정을 통해 서명 대상 데이터의 크기가 변경될 수 있다. 사용자 단말(200)은 서명 대상 데이터를 가공하여 서명 대상 데이터의 크기를 변경함으로써 후술하는 전자 서명 생성이 용이하도록 할 수 있다. In
사용자 단말(200)은 서명 대상 데이터를 가공하는 과정에서 패딩 과정을 더 수행할 수 있다. 사용자 단말(200)은 패딩을 통해 서명 대상 데이터의 크기를 조절할 수 있다. 상기 패딩 절차는 해쉬 함수를 이용한 인코딩에 의해 가공된 데이터의 크기가 후술하는 전자 서명 생성을 위해 요구되는 데이터의 크기보다 작을 경우 수행될 수 있다. 사용자 단말(200)은 가공된 서명 대상 데이터를 전자 서명 서비스 서버(100)에 전송할 수 있다.The
도 5에서는 서명 대상 데이터를 가공하는 1120 단계가 사용자 단말(200)에서 수행되는 것을 예시적으로 나타냈지만, 실시예가 이에 제한되는 것은 아니다. 다른 실시예에 따르면, 1120 단계는 전자 서명 서비스 서버(100) 또는 전자 서명 이용 서버(300)에서 수행될 수도 있다. In FIG. 5, it is exemplified that
전자 서명 이용 서버(300)가 서명 대상 문서를 생성하는 경우, 전자 서명 이용 서버(300)에서 서명 대상 문서의 데이터에 대해 전술한 인코딩 및 패딩 절차를 수행할 수도 있다. 다른 예로, 전자 서명 서비스 서버(100)가 사용자 단말(200)로부터 서명 대상 데이터의 크기가 전자 서명 생성에 적절한 크기가 아닌 경우, 전자 서명 서비스 서버(100)가 서명 대상 데이터를 가공한 후, 가공된 데이터에 대해 전자 서명을 생성할 수도 있다.When the digital
1124 단계에서, 사용자 단말(200)은 서명 대상 데이터 및 전자 서명 요청을 전자 서명 서비스 서버(100)에게 전송할 수 있다. 상기 전자 서명 요청은 사용자의 개인키를 이용하여 서명 대상 데이터에 대한 전자 서명을 생성해줄 것을 요청하는 것을 의미한다. 1124 단계에서 전송되는 서명 대상 데이터는 서명 대상 문서의 원본 데이터이거나 서명 대상 문서의 원본 데이터를 상기 인코딩 및 패딩을 통해 가공한 데이터일 수 있다.In step 1124, the
1126 단계에서, 전자 서명 서비스 서버(100)는 서명 대상 데이터 및 사용자의 개인키를 이용하여 전자 서명을 생성할 수 있다. 통신부(110)는 사용자 단말(200)로부터 수신한 서명 대상 데이터를 전자 서명 생성 모듈(140)에 전달할 수 있다. 전자 서명 생성 모듈(140)는 제1 저장 공간(132)에 저장된 개인키를 이용하여 서명 대상 데이터를 암호화 할 수 있다. 전자 서명 생성 모듈(140)는 RSA, Rabin 및 ECDSA(Elliptic Curve DSA) 알고리즘 중 적어도 하나를 이용하여 서명 대상 데이터를 암호화 할 수 있다. 상술한 알고리즘들은 예시적인 것에 불과하며 실시예가 이에 제한되는 것은 아니다. In
전자 서명 생성 모듈(140)은 서명 대상 데이터를 개인키를 이용하여 전자 서명을 생성할 수 있다. 전자 서명 생성 모듈 (140)에서 생성된 전자 서명은 통신부(110)로 전달될 수 있다. 하지만, 저장부(130)의 제1 저장 공간(132)에 등록된 개인키는 도 3의 하드웨어 보안 모듈(150) 외부로 전송되지 않을 수 있다. 따라서, 전자 서명 서비스 서버(100)가 전자 서명 서비스를 제공하는 동안, 사용자의 개인키는 외부에 공개되지 않을 수 있다. The digital
1128 단계에서, 통신부(110)는 전자 서명 생성 모듈 (140)에서 생성된 전자 서명 및 제2 저장 공간(134)에 저장된 사용자의 인증서 데이터를 사용자 단말(200)에게 전송할 수 있다. 인증서 데이터는 전자 서명을 진행한 사용자 정보, 인증서 용도, 인증서 유효기간, 인증서 만료일, 인증서 발급기관 등에 관한 정보를 포함할 수 있다. 또한, 인증서 데이터는 상기 전자 서명을 검증 하기 위한 공개키를 포함할 수 있다. 또한, 인증서 데이터에는 인증서 데이터의 위조, 변조 여부를 판단하기 위해 제공되는 추가 서명이 첨부되어 있을 수 있다. 상기 추가 서명은 인증 서버(400)에서만 검증이 가능하도록 구성되어 있을 수 있다.In
1130 단계에서, 사용자 단말(200)의 프로세서(240)는 전자 서명 서비스 서버(100)로부터 수신한 전자 서명 및 인증서 데이터를 이용하여 전자 서명문을 생성할 수 있다. 전자 서명문에는 서명 대상 데이터, 서명 대상 데이터에 대한 전자 서명 및 상기 전자 서명을 인증하는 인증서 데이터가 첨부될 수 있다. 사용자 단말(200)은 소정의 프로토콜(Protocol)을 이용하여 전자 서명문을 생성할 수 있다. In
1132 단계에서, 사용자 단말(200)의 통신부(210)는 프로세서(240)에서 생성된 전자 서명문을 전자 서명 이용 서버(300)에 전송할 수 있다. The
1134 단계에서 전자 서명 이용 서버(300)는 전자 서명문에 첨부된 인증서 데이터를 검증해줄 것을 인증 서버(400)에게 요청할 수 있다. In
1136 단계에서, 인증 서버(400)는 인증서 데이터를 검증할 수 있다. 인증 서버(400)는 인증서 데이터에 첨부된 추가 서명을 검증 해봄으로써 인증서 데이터의 위조, 변조 여부를 검증할 수 있다.In
1138 단계에서, 인증 서버(400)는 인증서 데이터에 대한 검증 결과를 전자 서명 이용 서버(300)에 전송할 수 있다. In step 1138, the
1140 단계에서, 인증서 데이터의 검증이 완료된 경우, 전자 서명 이용 서버(300)는 사용자 단말(200)로부터 수신한 전자 서명문을 검증할 수 있다. 전자 서명 이용 서버(300)는 전자 서명문에 첨부된 공개키를 이용하여 전자 서명문에 첨부된 전자 서명을 검증 할 수 있다. 전자 서명 이용 서버(300)는 전자 서명을 복호화 한 결과 데이터와 전자 서명문에 첨부된 서명 대상 데이터를 비교함으로써 전자 서명문을 검증할 수 있다. In
도 5에서 나타낸 실시예에 따르면, 전자 서명 서비스 서버(100)가 사용자의 개인키를 등록하고 관리하기 때문에 사용자 단말(200)에서 상기 개인키를 관리하지 않아도 된다. 따라서, 사용자가 개인키가 저장된 매체를 직접 소지하지 않아도 되는 효과가 발생한다. 또한, 사용자가 전자 서명을 위한 개인키를 여러 매체에 이동 또는 복사해야 하는 번거로움이 사라지는 효과가 발생한다. According to the embodiment shown in FIG. 5, since the digital
실시예에 따르면, 개인키가 전자 서명 서비스 서버(100)에 저장되므로, 사용자가 개인키가 저장된 매체를 잃어버림에 따라 사용자의 전자 서명이 도용 당하는 것을 방지하는 효과가 발생할 수 있다. 그리고, 전자 서명 서비스 서버(100)의 제1 저장 공간(132)과 전자 서명 생성 모듈(140)로 하드웨어 보안 모듈(150)을 구성함으로써, 사용자의 개인키를 타인이 복제 또는 확인하는 것을 방지할 수 있다.According to the embodiment, since the private key is stored in the digital
실시예에 따르면, 전자 서명 서비스 시스템(1000)에 의해 전자 서명 서비스가 수행되는 방법은 전자 서명 서비스 서버(100)가 사용자 단말(200)의 사용자를 인증하는 과정을 더 포함할 수 있다.According to an embodiment, a method in which the digital signature service is performed by the digital
도 6은 도 1에서 나타낸 전자 서명 서비스 시스템(1000)에 의해 전자 서명 서비스가 제공되는 방법의 다른 예시를 나타낸 흐름도이다.6 is a flowchart showing another example of a method in which an electronic signature service is provided by the digital
도 6의 실시예를 설명함에 있어서, 도 5와 중복되는 내용은 생략하기로 한다. 도 6을 참조하면, 전자 서명 서비스 서버(100)가 사용자 단말(200)의 사용자를 인증할 수 있다. 전자 서명 서비스 서버(100)의 프로세서(120)는 사용자 단말(200)로부터 획득한 기기 인증 데이터를 검증하는 과정을 수행할 수 있다. 프로세서(120)는 기기 인증 데이터의 검증이 완료되면, 전자 서명 생성 모듈(140)에게 사용자가 이용 권한이 있는 개인키를 이용하여 전자 서명을 생성할 것을 요청할 수 있다.In the following description of the embodiment of FIG. 6, contents overlapping with FIG. 5 will be omitted. Referring to FIG. 6, the digital
1210 단계에서, 전자 서명 서비스 서버(100)는 사용자 단말(200)로부터 기기 인증 데이터를 획득할 수 있다. 기기 인증 데이터는 상술한 기기 인증을 위한 정보로부터 도출될 수 있다. 사용자 단말(200)이 기기 인증 데이터를 생성하는 과정에 대해서는 후술하는 설명에서 보다 상세히 기술한다.In step 1210, the digital
1212 단계에서, 전자 서명 서비스 서버(100)의 통신부(110)는 사용자 단말(200)로부터 기기 인증 데이터를 수신할 수 있다. 프로세서(120)는 통신부(110)가 수신한 기기 인증 데이터를 검증할 할 수 있다. 프로세서(120)는 사용자가 저장부(130)에 저장된 개인키를 사용할 수 있는 권한이 있는 지 여부를 판단할 수 있다. 또한, 저장부(130)에 복수 개의 개인키가 저장된 경우, 프로세서(120)는 사용자가 사용할 수 있는 개인키가 어느 것인지를 결정할 수 있다. 전자 서명 서비스 서버(100)가 기기 인증 데이터를 검증하는 과정에 대해서는 후술하는 설명에서 보다 상세히 기술한다.In
1214 단계에서, 전자 서명 서비스 서버(100)는 기기 인증 데이터를 검증한 결과를 사용자 단말(200)에게 전송할 수 있다. 프로세서(120)에서 기기 인증 데이터에 대한 검증이 실패한 경우, 통신부(110)는 사용자 인증이 실패하였다는 메시지를 사용자 단말(200)에게 전송할 수 있다. 프로세서(120)에서 기기 인증 데이터에 대한 검증을 완료한 경우, 통신부(110)는 사용자 인증이 완료되었다는 메시지를 사용자 단말(200)에 전송할 수 있다. In step 1214, the digital
기기 인증 데이터에 대한 검증이 완료되면, 통신부(110)는 사용자가 사용할 수 있는 인증서 목록 정보를 사용자 단말(200)에 전송할 수 있다. 만약, 사용자가 사용할 수 있는 인증서의 개수가 복수 개인 경우, 사용자 단말(200)은 사용자로부터 인증서의 선택 정보를 입력 받을 수 있다. 그리고, 사용자 단말(200)은 전자 서명 서비스 서버(100)에게 인증서의 선택 정보를 전송할 수 있다.When the verification of the device authentication data is completed, the
이하에서는 기기 인증 데이터로부터 사용자를 인증하는 절차를 예시적으로 설명한다.Hereinafter, a procedure for authenticating a user from device authentication data will be described as an example.
도 7은 전자 서명 서비스 서버(100)가 사용자 단말(200)의 사용자를 인증하는 과정을 예시적으로 나타낸 흐름도이다.FIG. 7 is a flowchart illustrating a process of authenticating a user of the
도 7을 참조하면, 사용자 단말(200)은 로컬 인증 절차를 수행할 수 있다. 사용자 단말(200)은 로컬 인증 절차가 완료되면, 기기 인증을 위한 정보로부터 기기 인증 데이터를 생성하고, 상기 기기 인증 데이터를 전자 서명 서비스 서버(100)에게 전송할 수 있다. 전자 서명 서비스 서버(100)는 기기 인증 데이터를 검증함으로써 사용자를 인증할 수 있다. Referring to FIG. 7, the
상기 기기 인증을 위한 정보는 사용자 단말(200)의 기기에 부여된 고유 식별번호, 기기 정보, 사용자가 전자 서명 서비스에 가입할 때 사용자 단말(200)에 부여된 ID 등을 포함할 수 있다. 그리고, 기기 인증 데이터는 상기 기기 인증을 위한 정보의 전부 또는 일부를 변조함으로써 획득된 데이터일 수 있다.The device authentication information may include a unique identification number assigned to the device of the
1510 단계에서, 사용자 단말(200)은 로컬 인증 절차를 수행할 수 있다. 로컬 인증은 사용자 단말(200) 내부에서 진행되는 것으로 사용자 단말(200)은 자체적으로 사용자가 입력하는 사용자 인증 정보를 검증할 수 있다. 사용자 단말(200)의 입력부(230)는 사용자로부터 사용자 인증 정보를 입력 받을 수 있다. 입력부(230)는 사용자 ID, 사용자의 생체 정보, 패스워드 등을 상기 사용자 인증 정보로 입력 받을 수 있다. 입력부(230)가 사용자의 생체 정보를 입력 받는 경우, 입력부(230)는 사용자의 생체 신호를 감지하는 센서를 포함할 수 있다. In
로컬 인증부(220)는 입력부(230)가 입력 받은 사용자 인증 정보로부터 사용자를 인증할 수 있다. 로컬 인증부(220)는 로컬 인증 과정에서 상기 사용자 인증 정보가 외부로 유출되지 않도록 관리할 수 있다. 로컬 인증부(220)의 로컬 인증 과정은 후술하는 설명에서 상세히 기술한다.The
1530 단계에서, 프로세서(240)는 기기 인증용 키 쌍을 이용하여 기기 인증 데이터를 생성할 수 있다. 기기 인증용 키 쌍은 암호화를 위한 기기 인증용 개인키와 기기 인증용 개인키로 암호화 된 데이터를 복호화 하기 위한 기기 인증용 공개키를 포함할 수 있다. 기기 인증용 키 쌍은 기기 인증을 위한 정보로부터 기기 인증 데이터를 생성하는데 이용되는 것으로 전자 서명 생성을 위한 키 쌍과는 서로 다른 것일 수 있다. 기기 인증용 키 쌍은 사용자 단말(200)에 의해 생성된 것이거나 전자 서명 서비스 서버(100)가 사용자 단말(200)에게 제공한 것일 수 있다.In
프로세서(240)는 기기 인증용 키 쌍에 포함된 기기 인증용 개인키를 이용하여 기기 인증 데이터를 생성할 수 있다. 사용자 단말(200)은 상기 기기 인증용 개인키를 이용하여 기기 인증을 위한 정보의 전부 또는 일부를 암호화 함으로써 기기 인증 데이터를 생성할 수 있다. 프로세서(240)는 RSA, Rabin 및 ECDSA(Elliptic Curve DSA) 알고리즘 중 적어도 하나를 이용하여 기기 인증을 위한 정보의 적어도 일부를 암호화 할 수 있다. 상술한 알고리즘들은 예시적인 것에 불과하며 실시예가 이에 제한되는 것은 아니다.The
기기 인증용 키 쌍은 기기 인증 데이터를 생성할 때 마다 새롭게 갱신될 수 있다. 하지만, 실시예가 이에 제한되는 것은 아니다. 예를 들어, 기기 인증용 키 쌍은 소정의 횟수만큼 반복 사용된 후, 폐기될 수도 있다.The key pair for device authentication can be renewed every time the device authentication data is generated. However, the embodiment is not limited thereto. For example, the key pair for device authentication may be repeatedly used a predetermined number of times and then discarded.
1540 단계에서, 사용자 단말(200)의 통신부(210)는 기기 인증용 키 쌍에 포함된 기기 인증용 공개키 및 기기 인증 데이터를 전자 서명 서비스 서버(100)에 전송할 수 있다.In step 1540, the
1550 단계에서, 전자 서명 서비스 서버(100)의 통신부(110)는 사용자 단말(200)로부터 기기 인증용 공개키 및 기기 인증 데이터를 수신할 수 있다. 그리고, 전자 서명 서비스 서버(100)의 프로세서(120)는 상기 기기 인증용 공개키를 이용하여 기기 인증 데이터를 검증할 수 있다. 예시적으로, 프로세서(120)는 기기 인증용 공개키를 이용하여 기기 인증 데이터를 복호화 함으로써 기기 인증 데이터를 검증할 수 있다. 프로세서(120)는 기기 인증 데이터를 검증함으로써 사용자가 전자 서명의 생성 권한이 있는 지 여부를 판단할 수 있다. In
도 7에서 나타낸 바와 같이, 사용자 단말(200)에서 수행되는 로컬 인증 및 사용자 단말(200)과 전자 서명 서비스 서버(100) 사이에서 이루어지는 원격 인증이 병행하여 이루어 짐으로써, 사용자 인증에 대한 보안이 강화될 수 있다. 또한, 사용자 단말(200)이 기기 인증을 위한 정보를 기기 인증 데이터로 변조하여 전자 서명 서비스 서버(100)에 전송함으로써, 상기 기기 인증을 위한 정보가 외부 장치에 의해 탈취되는 것을 방지할 수 있다. As shown in FIG. 7, since the local authentication performed in the
1510 단계에서 나타낸 로컬 인증 과정은 다양한 방식으로 이루어질 수 있다. 예를 들어, 사용자 단말(200)의 로컬 인증부(220)는 캡챠를 생성할 수 있다. 캡챠는 컴퓨터가 구별하기 어려운 왜곡된 문자 또는 숫자 이미지를 포함할 수 있다. 또한, 캡챠는 문자 또는 숫자를 읽어주는 음성에 잡음을 섞은 음성 파일을 포함할 수도 있다. 그리고, 사용자 단말(200)은 상기 캡챠를 이용하여 사용자 인증이 기계가 아닌 사람에 의해 이루어지는 것임을 확인할 수 있다. The local authentication process shown in
또한, 사용자 단말(200)의 입력부는 사용자 인증을 위한 사용자의 입력 정보를 획득할 수 있다. 상기 사용자 입력 정보는 사용자가 입력하는 ID, 패스워드, PIN, 사용자의 생체 신호 등을 포함할 수 있다. 로컬 인증부(220)는 입력부가 입력 받은 상기 사용자 입력 정보를 검증함으로써 로컬 인증을 수행할 수 있다. 로컬 인증이 완료되면, 원격 인증 절차가 진행될 수 있다.In addition, the input unit of the
다시 도 6을 참조하면, 1210, 1212 및 1214 단계에서 사용자 인증이 완료되고 나면, 사용자 단말(200)과 전자 서명 서비스 서버(100)는 전자 서명 서비스와 관련된 데이터 및 정보를 서로 송수신할 수 있다. 1224, 1228 단계 등에서 전자 서명 서비스 서버(100)와 사용자 단말(200) 사이에서 송수신 되는 데이터 및 정보는 전자 서명의 도용 방지 및 사용자의 프라이버시 보호를 위해 외부에 공개되는 것을 방지할 필요가 있다.6, after the user authentication is completed in
도 8은 도 6에서 나타낸 전자 서명 서비스 방법에서 보안 통신 세션을 생성하는 단계(1220)가 추가된 예를 나타낸 흐름도이다. 도 8의 실시예를 설명 함에 있어서, 도 6과 중복되는 내용은 생략하기로 한다.FIG. 8 is a flowchart illustrating an example in which a step 1220 of creating a secure communication session in the digital signature service method shown in FIG. 6 is added. In the following description of the embodiment of FIG. 8, the contents which are the same as those in FIG. 6 will be omitted.
도 8을 참조하면, 전자 서명 서비스 시스템(1000)의 전자 서명 서비스 방법은 보안 통신 세션을 생성하는 단계(1220)를 포함할 수 있다. Referring to FIG. 8, the digital signature service method of the digital
1120 단계에서, 전자 서명 서비스 서버(100)의 프로세서(120)는 사용자 단말(200) 사이에 송수신 되는 데이터 및 정보를 암호화 하기 위한 세션키 및 토큰을 생성할 수 있다. 세션키는 상기 보안 통신 세션에서 송수신 되는 데이터 및 정보를 암호화하기 위한 키를 의미한다. 또한, 토큰은 상기 보안 통신 세션에서 데이터 및 정보를 수신하고 전송할 수 있는 권한을 나타내는 메시지의 일종이다. In
전자 서명 서비스 서버(100)의 프로세서(120)는 상기 세션키 및 토큰을 생성하고 상기 세션키 및 토큰을 사용자 단말(200)과 공유함으로써 보안 통신 세션을 생성할 수 있다. 보안 통신 세션이 생성되면, 전자 서명 서비스 서버(100)와 사용자 단말(200)은 각각 송신하는 정보 및 데이터에 상기 토큰을 함께 첨부함으로써, 상기 보안 통신 세션을 이용할 권한이 있음을 인증할 수 있다. 또한, 전자 서명 서비스 서버(100)는 사용자 단말(200)로부터 수신한 토큰을 검증함으로써 사용자가 전자 서명을 생성할 권한이 있는지 여부를 판단할 수 있다. 또한, 전자 서명 생성 모듈(140)은 저장부(130)에 저장된 개인키들 가운데 상기 토큰에 대응하는 개인키가 무엇인지를 결정하고, 상기 토큰에 대응하는 개인키를 이용하여 사용자의 전자 서명을 생성할 수 있다.The
상기 보안 통신 세션을 통해 전자 서명 서비스 서버(100)와 사용자 단말(200) 사이에서 송수신 되는 정보 및 데이터는 상기 세션키에 의해 암호화 될 수 있다. 예를 들어, 1224 단계에서 사용자 단말(200)은 서명 대상 데이터 및 전자 서명 요청을 상기 세션키로 암호화 하여 전자 서명 서비스 서버(100)에 전송할 수 있다. 그리고, 전자 서명 서비스 서버(100)의 프로세서(120)는 상기 세션키를 이용하여 상기 암호화 된 전자 서명 요청 및 서명 대상 데이터를 복호화 할 수 있다. Information and data transmitted and received between the digital
마찬가지로, 1228 단계에서 전자 서명 서비스 서버(100)의 프로세서(120)는 사용자의 전자 서명 및 인증서 데이터를 상기 세션키로 암호화 하여 사용자 단말(200)에 전송할 수 있다. 그리고, 사용자 단말(200)의 프로세서(240)는 상기 세션키를 이용하여 상기 암호화 된 전자 서명 및 인증서 데이터를 복호화 할 수 있다.Similarly, in step 1228, the
도 8을 참조하여 설명한 실시예에 따르면, 1220 단계에서 생성된 세션키를 이용하여 전자 서명 서비스 서버(100)와 사용자 단말(200) 사이에서 송수신되는 데이터 및 정보를 암호화 할 수 있다. 전자 서명 서비스 서버(100)와 사용자 단말(200) 사이에서 송수신되는 데이터 및 정보를 암호화 함으로써 사용자의 전자 서명이 탈취되는 것을 방지할 수 있다. 또한, 사용자의 전자 서명 서비스 이용 정보가 외부로 유출되는 것을 방지할 수 있다. According to the embodiment described with reference to FIG. 8, it is possible to encrypt data and information transmitted and received between the digital
도 9는 도 8에서 나타낸 보안 통신 세션 생성 단계(1220)가 수행되는 과정을 예시적으로 나타낸 흐름도이다.FIG. 9 is a flowchart illustrating a process of generating secure communication session 1220 shown in FIG.
1610 단계에서, 전자 서명 서비스 서버(100)의 프로세서(120)는 세션키 및 토큰을 생성할 수 있다.In
1612 단계에서, 프로세서(120)는 세션키 및 토큰을 암호화 할 수 있다. 세션키 및 토큰은 다양한 방법으로 암호화 될 수 있다. 예를 들어, 프로세서(120)는 도 7에서 나타낸 1540 단계에서 획득한 기기 인증용 공개키를 이용하여 상기 세션키 및 토큰을 암호화 할 수 있다. 프로세서(120)는 RSA, Rabin 및 ECDSA(Elliptic Curve DSA) 알고리즘 중 적어도 하나를 이용하여 상기 세션키 및 토큰을 암호화 할 수 있다.In
1614 단계에서, 전자 서명 서비스 서버(100)는 통신부(110)를 통해 암호화 된 세션키 및 토큰 데이터를 사용자 단말(200)에 전송할 수 있다.In operation 1614, the digital
1620 단계에서, 사용자 단말(200)의 프로세서(240)는 암호화 된 세션키 및 토큰 데이터를 복호화 할 수 있다. 예를 들어, 프로세서(240)는 도 7에서 나타낸 1520 단계에서 생성된 기기 인증용 개인키를 이용하여 상기 암호화 된 세션키 및 토큰 데이터를 복호화 할 수 있다.In
1622 단계에서, 사용자 단말(200)의 프로세서(240)는 제1 난수를 생성할 수 있다. 상기 제1 난수는 사용자 단말(200)에 의해 랜덤으로 생성되는 숫자 배열을 의미한다.In
1624 단계에서, 사용자 단말(200)의 프로세서(240)는 세션키를 이용하여 제1 난수로부터 유도하여 단말 인증 데이터를 생성할 수 있다. 예시적으로, 프로세서(240)는 세션키를 이용하여 제1 난수를 암호화 함으로써 단말 인증 데이터를 생성할 수 있다. 상기 단말 인증 데이터는 제1 난수의 암호화 결과의 전부 또는 일부를 포함할 수 있다.In
1626 단계에서, 사용자 단말(200)은 통신부(210)를 통해 제1 난수 및 제1 난수로부터 생성된 단말 인증 데이터를 전자 서명 서비스 서버(100)에게 전송할 수 있다. In step 1626, the
1630 단계에서, 전자 서명 서비스 서버(100)의 프로세서(120)는 세션키를 이용하여 단말 인증 데이터를 검증 할 수 있다. 프로세서(120)는 1624 단계와 동일한 과정을 통하여 제1 난수로부터 세션키를 이용하여 생성한 데이터와 사용자 단말(200)로부터 수신한 단말 인증 데이터를 비교함으로써, 단말 인증 데이터를 검증할 수 있다. 프로세서(120)는 단말 인증 데이터를 검증함으로써, 사용자 단말(200)이 세션키 및 토큰을 획득했다는 것을 확인할 수 있다.In
1632 단계에서, 전자 서명 서비스 서버(100)의 프로세서(120)는 단말 인증 데이터의 검증이 완료되면, 제2 난수를 생성할 수 있다. In
1634 단계에서, 전자 서명 서비스 서버(100) 프로세서(120)는 세션키를 이용하여 제2 난수로부터 유도하여 서버 인증 데이터를 생성할 수 있다. 예시적으로, 프로세서(120)는 세션키를 이용하여 제2 난수를 암호화 함으로써 서버 인증 데이터를 생성할 수 있다. 상기 서버 인증 데이터는 제2 난수의 암호화 결과의 전부 또는 일부를 포함할 수 있다.In
1636 단계에서, 전자 서명 서비스 서버(100)는 통신부(110)를 통해 제2 난수 및 서버 인증 데이터를 사용자 단말(200)에게 전송할 수 있다. In step 1636, the digital
1640 단계에서, 사용자 단말(200)의 프로세서(240)는 세션키를 이용하여 서버 인증 데이터를 검증할 수 있다. 프로세서(240)는 1634 단계와 동일한 과정을 통하여 생성된 데이터와 전자 서명 서비스 서버(100)로부터 수신한 서버 인증 데이터를 비교함으로써, 상기 서버 인증 데이터를 검증할 수 있다. 프로세서(240)는 서버 인증 데이터를 검증함으로써, 세션키 및 토큰이 전자 서명 서비스 서버(100)에 의해 생성되었다는 것을 확인할 수 있다. In
상술한 단말 인증 데이터 및 서버 인증 데이터에 대한 검증이 완료되면, 전자 서명 서비스 서버(100)와 사용자 단말(200) 사이에 보안 통신 세션이 생성될 수 있다. 전자 서명 서비스 서버(100)와 사용자 단말(200)은 상기 세션키를 이용하여 송수신 데이터를 암호화 할 수 있다. 전자 서명 서비스 서버(100)와 사용자 단말(200) 사이의 송수신 데이터가 암호화 됨에 따라 전자 서명 서비스의 보안이 향상될 수 있다.When the verification of the terminal authentication data and the server authentication data is completed, a secure communication session can be created between the digital
도 9에서는 서버 인증 데이터 및 단말 인증 데이터가 제1 및 제2 난수로부터 생성되는 것을 예시적으로 나타냈지만 실시예가 이에 제한되는 것은 아니다. 예를 들어, 단말 인증 데이터는 사용자 단말(200)에 저장된 다른 인증 정보로부터 생성될 수 있다. 또한, 서버 인증 데이터는 전자 서명 서비스 서버(100)에 저장된 다른 인증 정보로부터 생성될 수도 있다.Although FIG. 9 exemplarily shows that the server authentication data and the terminal authentication data are generated from the first and second random numbers, the embodiment is not limited thereto. For example, the terminal authentication data may be generated from other authentication information stored in the
도 10은 상기 보안 통신 세션을 이용하여 전자 서명 서비스 서버(100)와 사용자 단말(200)이 데이터를 송수신 하는 것을 나타낸 흐름도이다.10 is a flowchart showing that the digital
1712 단계에서, 사용자 단말(200)의 프로세서(240)는 전자 서명 서비스 서버(100)에게 전송하고자 하는 단말 송신 데이터를 생성할 수 있다. 상기 단말 송신 데이터는 사용자 단말(200)로부터 전자 서명 서비스 서버(100)로 송신되는 데이터를 의미한다. 예를 들어, 단말 송신 데이터는 전자 서명의 요청, 서명 대상 데이터 등을 포함할 수 있다.In
1714 단계에서, 사용자 단말(200) 의 프로세서(240)는 세션키를 이용하여 상기 단말 송신 데이터를 암호화 할 수 있다. In
1716 단계에서, 사용자 단말(200)은 통신부(210)를 통해 암호화 된 단말 송신 데이터를 전송할 수 있다.In step 1716, the
1720 단계에서, 전자 서명 서비스 서버(100)의 프로세서(120)는 통신부(110)가 수신한 상기 암호화 된 단말 송신 데이터를 복호화 할 수 있다. 프로세서(120)는 세션키를 이용하여 상기 암호화 된 단말 송신 데이터를 복호화 할 수 있다. In step 1720, the
1722 단계에서, 상기 단말 송신 데이터가 소정의 서비스를 요청하는 서비스 요청을 포함하는 경우, 전자 서명 서비스 서버(100)는 상기 요청을 처리할 수 있다. 예를 들어, 단말 송신 데이터에 전자 서명 생성의 요청이 포함된 경우, 전자 서명 서비스 서버(100)는 사용자의 전자 서명 생성을 진행할 수 있다.In
1724 단계에서, 전자 서명 서비스 서버(100)의 프로세서(120)는 사용자 단말(200)에게 전송하고자 하는 서버 송신 데이터를 생성할 수 있다. 상기 서버 송신 데이터는 전자 서명 서비스 서버(100)로부터 사용자 단말(200)로 송신되는 데이터를 의미한다. 예를 들어, 서버 송신 데이터는 전자 서명, 인증서 데이터 등을 포함할 수 있다. In
1726 단계에서, 전자 서명 서비스 서버(100)의 프로세서(120)는 세션키를 이용하여 상기 서버 송신 데이터를 암호화 할 수 있다. In
1730 단계에서, 전자 서명 서비스 서버(100)는 통신부(110)를 통해 암호화 된 서버 송신 데이터를 전송할 수 있다.In step 1730, the digital
1732 단계에서, 사용자 단말(200)의 프로세서(240)는 통신부(210)가 수신한 상기 암호화 된 서버 송신 데이터를 복호화 할 수 있다. 프로세서(240)는 세션키를 이용하여 상기 암호화 된 서버 송신 데이터를 복호화 할 수 있다. In
이상에서 예시적으로, 전자 서명 서비스 서버(100)가 미리 등록된 사용자의 개인키를 이용하여 전자 서명을 생성하고, 생성한 전자 서명을 사용자 단말(200)에게 제공하는 것에 관해 설명하였다. In the above description, the digital
이하에서는 전자 서명 서비스 서버에 사용자의 개인키를 등록하는 과정에 대해서 설명한다.Hereinafter, a process of registering the user's private key in the digital signature service server will be described.
도 11a 및 도 11b은 도 1에서 나타낸 전자 서명 서비스 시스템(1000)에 의해 전자 서명 서비스가 제공되는 방법의 예시를 나타낸 흐름도이다. 도 11a 및 도 11b를 참조하면, 사용자가 발급 또는 갱신한 인증서에 대응하는 키 쌍의 적어도 일부가 전자 서명 서비스 서버(100)에 등록될 수 있다.11A and 11B are flowcharts illustrating an example of how an electronic signature service is provided by the digital
2110, 2112, 2114 단계에서 기기 인증이 이루어질 수 있다. 기기 인증 과정은 도 6 내지 도 8을 참조하여 설명한 실시예들에 따라 이루어질 수 있다. Device authentication may be performed at steps 2110, 2112, and 2114. The device authentication process may be performed according to the embodiments described with reference to FIGS.
2120 단계에서, 사용자 단말(200)은 전자 서명 서비스 서버(100)에게 사용자의 전자 서명 생성을 위한 키 쌍의 생성을 요청할 수 있다.In step 2120, the
2122 단계에서, 전자 서명 서비스 서버(100)의 프로세서(120)는 사용자 단말(200)의 요청에 응답하여 키 쌍을 생성할 수 있다. 전자 서명 서비스 서버(100)는 상기 키 쌍에 포함된 개인키를 등록할 수 있다. 전자 서명 서비스 서버(100)는 상기 개인키를 저장부(130)의 제1 저장 공간(132)에 저장함으로써, 상기 개인키를 등록할 수 있다. 개인키는 전자 서명 서비스 서버(100) 외부로 공개되지 않을 수 있다. 상기 키 쌍에 포함된 공개키는 저장부(130)의 제2 저장 공간(134)에 저장될 수 있다. 다른 예로, 상기 공개키는 저장부(130)에 저장되지 않고, 사용자 단말(200)에게 전송될 수도 있다. In step 2122, the
2124 단계에서, 전자 서명 서비스 서버(100)는 통신부(110)를 통해 사용자 단말(200)에게 키 쌍의 생성 결과, 즉, 키 쌍이 생성되었음을 알리는 메시지를 전송할 수 있다.In step 2124, the digital
2126 단계에서, 사용자 단말(200)은 전자 서명 서비스 서버(100)에게 공개키를 전송해 줄 것을 요청할 수 있다. In step 2126, the
2128 단계에서, 전자 서명 서비스 서버(100)는 통신부(110)를 통해 키 쌍에 포함된 공개키를 사용자 단말(200)에게 전송할 수 있다.In step 2128, the digital
2130 단계에서, 사용자 단말(200)은 통신부(210)를 통해 개인키 소유여부 검증정보 및 개인키 소유여부 검증정보에 대한 전자 서명의 요청을 전자 서명 서비스 서버(100)에게 전송할 수 있다. 상기 개인키 소유여부 검증정보는 사용자의 정당한 개인키 소유여부를 검증하기 위한 목적으로 생성된 데이터로서 인증 서버(400)에서 요구하는 프로토콜에 따라 다르게 생성될 수 있다In step 2130, the
2132 단계에서, 전자 서명 서비스 서버(100)의 전자 서명 생성 모듈(140)은 2122 단계에서 생성되어 등록된 사용자의 개인키를 이용하여 개인키 소유여부 검증정보에 대한 전자 서명을 생성할 수 있다. 예를 들어, 전자 서명 생성 모듈(140)은 상기 사용자의 개인키를 이용하여 개인키 소유여부 검증정보의 전부 또는 일부에 대한 전자 서명을 생성할 수 있다.In step 2132, the digital
2134 단계에서, 전자 서명 서비스 서버(100)는 전자 서명 생성 모듈(140)이 생성한 개인키 소유여부 검증정보에 대한 전자 서명을 통신부(110)를 통해 사용자 단말(200)에게 전송할 수 있다.In step 2134, the digital
2140 단계에서, 사용자 단말(200)의 프로세서(240)는 상기 키 쌍에 대응하는 인증서 데이터를 생성해줄 것을 요청하는 전문을 생성할 수 있다. 상기 인증서 데이터를 생성해줄 것을 요청하는 전문은 인증 서버(400)에서 요구하는 프로토콜에 따라 생성될 수 있다.In
2142 단계에서, 사용자 단말(200)은 통신부(210)를 통해 상기 인증서 데이터를 생성해줄 것을 요청하는 전문을 공인 인증 기관이 운영하는 인증 서버(400)에 전송할 수 있다. 또한, 사용자 단말(200)은 전자 서명 서비스 서버(100)로부터 획득한 개인키 소유여부 검증정보에 대한 전자 서명을 인증 서버(400)에 전송할 수 있다.In step 2142, the
2144 단계에서, 인증 서버(400)는 사용자 단말(200)로부터 수신한 개인키 소유여부 검증정보에 대한 전자 서명을 검증할 수 있다. 예를 들어, 인증 서버(400)는 공개키를 이용하여 상기 개인키 소유여부 검증정보에 대한 전자 서명을 검증할 수 있다. 인증 서버(400)는 개인키 소유여부 검증정보에 대한 전자 서명이 검증되면, 사용자가 개인키를 이용하여 전자 서명을 생성할 권한을 획득한 것으로 판단할 수 있다. In
2144 단계에서, 그리고, 인증 서버(400)는 사용자 단말(200)로부터 수신한 인증서 데이터 생성 요청 전문에 응답하여 사용자의 인증서 데이터를 생성할 수 있다. In
2146 단계에서, 인증 서버(400)는 사용자 단말(200)에게 인증서 데이터를 전송할 수 있다. 사용자 단말(200)은 인증 서버(400)로부터 수신한 인증서 데이터를 사용자 단말(200)의 메모리에 보관할 수도 있고, 보관하지 않을 수도 있다.In step 2146, the
2148 단계에서, 사용자 단말(200)은 통신부(210)를 통해 상기 인증서 데이터를 전자 서명 서비스 서버(100)에 전송할 수 있다. In step 2148, the
2150 단계에서, 전자 서명 서비스 서버(100)는 사용자 단말(200)로부터 수신한 인증서 데이터를 등록할 수 있다. 예시적으로, 전자 서명 서비스 서버(100)는 인증서 데이터를 저장부(130)의 제2 저장 공간(134)에 저장함으로써 인증서 데이터를 등록할 수 있다. 제2 저장 공간(134)에 저장된 인증서 데이터는 프로세서(120)가 이용할 수 있으며, 통신부(110)를 통해 사용자 단말(200)에게 전송될 수도 있다.In
도 11에서는 신규로 생성되는 키 쌍이 전자 서명 서비스 서버(100)에 등록되는 것을 예시적으로 나타냈지만 실시예가 이에 제한되는 것은 아니다. 예를 들어, 사용자는 사용자 단말(200)에 미리 저장된 개인키 및 인증서 데이터를 전자 서명 서비스 서버(100)에 이동시킴으로써, 전자 서명 서비스 서버(100)에 개인키 및 인증서 데이터를 등록할 수 있다.11 shows an example in which a newly generated key pair is registered in the digital
도 12는 사용자 단말(200)에 저장된 개인키 및 인증서 데이터를 전자 서명 서비스 서버(100)에 이동시키는 과정을 예시적으로 나타낸 흐름도이다.12 is a flowchart exemplarily showing a process of moving the private key and the certificate data stored in the
2310, 2312, 2314 단계에서 사용자 인증이 이루어질 수 있다. 사용자 인증 과정은 도 6 내지 도 8을 참조하여 설명한 실시예들에 따라 이루어질 수 있다. User authentication may be performed at
2320 단계에서, 사용자 단말(200)의 프로세서(240)은 사용자 단말(200)에 저장된 개인키를 암호화 할 수 있다. 프로세서(240)는 도 10에서 나타낸 1610 단계에서 생성된 세션키를 이용하여 사용자 단말(200)에 저장된 개인키를 암호화 할 수 있다.In
2322 단계에서, 사용자 단말(200)은 통신부(210)를 통해 암호화 된 개인키를 전자 서명 서비스 서버(100)에게 전송할 수 있다.In operation 2322, the
2324 단계에서, 전자 서명 서비스 서버(100)의 프로세서(120)는 도 10에서 나타낸 1610 단계에서 생성된 세션키를 이용하여 암호화 된 개인키를 복호화 할 수 있다. 또한, 전자 서명 서비스 서버(100)는 복호화 연산에 의해 획득된 개인키를 저장부(130)에 저장할 수 있다. 예시적으로, 전자 서명 서비스 서버(100)는 개인키를 제1 저장 공간(132)에 저장할 수 있다.In
2330 단계에서, 사용자 단말(200)의 프로세서(240)는 사용자 단말(200)에 저장된 인증서 데이터를 암호화 할 수 있다. 프로세서(240)는 도 10에서 나타낸 1610 단계에서 생성된 세션키를 이용하여 사용자 단말(200)에 저장된 인증서 데이터를 암호화 할 수 있다.In
2332 단계에서, 사용자 단말(200)은 통신부(210)를 통해 암호화 된 인증서 데이터와 암호화 된 공개키를 전자 서명 서비스 서버(100)에게 전송할 수 있다.In step 2332, the
2334 단계에서, 전자 서명 서비스 서버(100)의 프로세서(120)는 도 10에서 나타낸 1610 단계에서 생성된 세션키를 이용하여 암호화 된 개인키를 복호화 할 수 있다. 또한, 전자 서명 서비스 서버(100)는 복호화 연산에 의해 획득된 인증서 데이터 및 공개키를 저장부(130)에 저장할 수 있다. 예시적으로, 전자 서명 서비스 서버(100)는 인증서 데이터 및 공개키를 제2 저장 공간(134)에 저장할 수 있다.In
이상에서 도 1 내지 도 12를 참조하여 실시예들에 따른 전자 서명 서비스 시스템, 서버, 단말 및 방법에 관하여 설명하였다.The digital signature service system, the server, the terminal, and the method according to the embodiments have been described above with reference to FIG. 1 through FIG.
상술한 실시예들에 따르면, 전자 서명 생성을 위한 개인키를 전자 서명 서비스 서버에서 등록 및 관리함으로써 사용자가 개인키가 저장된 매체를 소지하지 않아도 되는 효과가 발생한다. 또한, 개인키가 저장된 매체가 도용되는 것을 방지할 수 있다. According to the above-described embodiments, the digital signature service server registers and manages the private key for generating the digital signature, so that the user does not have to possess the medium in which the private key is stored. In addition, it is possible to prevent the medium in which the private key is stored from being stolen.
또한, 전자 서명 서비스 서버(100)에 저장된 개인키를 전자 서명 생성 모듈 외에 다른 장치가 확인 및 복제하는 것을 차단함으로써, 사용자의 개인키에 대한 보안이 향상될 수 있다. In addition, the security of the user's private key can be improved by blocking the private key stored in the digital
한편, 전자 서명 서비스 서버(100)가 전자 서명을 사용자 단말에 안전하게 전송하기 위해 사용자 단말이 전자 서명 서비스 서버(100)에 접근 가능한 권한을 가지고 있어야 한다. 예를 들어, 전자 서명 서비스 서버(100)는 주기기 또는 추가 기기로 등록된 사용자 단말에게만 전자 서명을 제공할 수 있다. 이하, 사용자 단말을 주기기 또는 추가 기기로 등록하는 방법에 대해 설명한다. Meanwhile, in order for the digital
도 13은 일 실시예에 따른 전자 서명 서비스 서버(100)에 주기기로 등록하는 방법을 설명하는 흐름도이다. 하나 이상의 사용자 단말은 전자 서명을 수신받을 수 있는 기기로 전자 서명 서비스 서버(100)에 등록할 수 있다. 이하 설명의 편의를 도모하기 위해 제1 사용자 단말(210)을 주기기로 등록하는 방법을 설명한다. 주기기라 함은 전자 서명을 받을 수 있는 메인 사용자 단말을 의미한다. FIG. 13 is a flowchart illustrating a method of registering with the digital
2405단계에서 기기 등록 서버(500)는 전자 서명 서비스 서버(100)에 주기기 등록을 요청할 수 있다. 주기기를 등록하기 위해 사용자 단말은 기기 등록 서버(500)에 연결될 수 있다. 여기서 기기 등록 서버(500)는 전자 서명 서비스 서버의 전자 서명을 제공받을 수 있는 사용자 단말을 대신하여 서비스 서버에 기기 등록을 요청하는 서버이다. 기기 등록 서버(500)는 전자 서명을 이용하는 이용 서버(300)일 수도 있으나, 이에 한정되지 않는다. 이용 서버(300) 및 서비스 서버(100)와 별도의 서버일 수도 있다. 기기 등록 서버(500). 기기 등록 서버(500)는 정보를 포함한 웹화면을 사용자 단말에 제공할 수 있다. 여기서 웹화면을 표시하는 사용자 단말을 제2 사용자 단말이라고 한다. 제2 사용자 단말은 사용자의 데스크탑 컴퓨터일 수 있다. 상기한 웹화면에는 전자 서명을 전자 서명 서비스 서버(100)로부터 수신할 것인지 여부 또는 사용자 단말이 주기기로 등록되어 있는지 여부를 문의하는 팝업창 등을 포함할 수 있다. In step 2405, the
전자 서명 서비스 서버(100)에 주기기 등록된 사용자 단말이 없는 경우, 사용자는 주기기를 등록하고자 하는 명령을 제2 사용자 단말(미도시)을 통해 입력할 수 있고, 제2 사용자 단말은 상기한 요청을 기기 등록 서버(500)에 전송할 수 있다. 그리하여, 기기 등록 서버(500)는 전자 서명 서비스 서버(100)에 주기기 등록을 요청할 수 있다. 한편, 사용자 단말이 기등록되어 있으면, 앞서 기술한 방식으로 전자 서명이 제공될 수 있다. If there is no user terminal registered as a main device in the digital
기기 등록 서버(500)는 전자 서명 서비스 서버(100)에 주기기 등록을 요청하기 전에 주기기 소유자에 대한 신원 확인을 수행할 수 있다. 구체적으로, 사용자 확인을 위한 대행 기관, 예를 들어, 통신사를 통해 사용자 본인 확인을 수행한 후, 사용자 인증이 완료된 경우에 한하여 주기기 등록을 요청할 수도 있다. The
기기 등록 서버(500)로부터 주기기 등록을 요청받으면, 2410 단계에서 전자 서명 서비스 서버(100)의 프로세서(120)는 세션키 파라미터를 생성할 수 있다. 세션키는 상기 보안 통신 세션에서 송수신 되는 데이터 및 정보를 암호화하기 위한 키를 의미하는 것으로 기설정된 알고리즘에 의해 생성될 수 있으며, 세션키 파라미터는 세션키를 생성하기 위한 소스이다. When the main device registration request is received from the
2415단계에서, 전자 서명 서비스 서버(100)는 주기기 등록용 토큰을 생성할 수 있다. 토큰은 상기 보안 통신 세션에서 데이터 및 정보를 수신하고 전송할 수 있는 권한을 나타내는 메시지의 일종으로서 주기기 등록용 토큰은 주기기를 등록하기 위해 이용되는 토큰이다. In
전자 서명 서비스 서버(100)는 생성된 세션키 파라미터 및 주기기 등록용 토큰을 기기 등록 서버(500)에 전송한다. The digital
2420 단계에서, 기기 등록 서버(500)은 세션키 파라미터 및 주기기 등록용 토큰을 포함하는 정보를 생성할 수 있다. 상기한 정보는 이미지 코드, 문자열, 숫자열 중 적어도 하나의 형식일 수 일 수 있다. 여기서 이미지 코드는 QR 코드, 데이터 매트릭스(Data Matrix), 맥시 코드(Maxi Code), 컬러 코드(Color Code), 그레이 코드(Cray Code), 바코드(bar code) 중 적어도 하나일 수 있다. In
2425단계에서, 제1 사용자 단말(210)은, 오프라인 방법으로, 기기 등록 서버(500)로부터 세션키 파라미터 및 주기기 등록용 토큰을 획득한다. In
그리고, 2430단계에서, 제1 사용자 단말(210)은 센션키 파라미터 및 주기기 등록용 토큰을 이용하여 전자 서명 서비스 서버(100)에 주기기로 등록한다. In step 2430, the
도 14는 일 실시예에 따른 주기기를 등록하는 구체적인 방법을 설명하는 흐름도이다. 14 is a flowchart illustrating a specific method of registering a periodic device according to an exemplary embodiment.
2505단계에서, 기기 등록 서버(500)는 센션키 파라미터 및 주기기 등록용 토큰을 포함하는 이미지 코드를 생성할 수 있다. 그리고, 상기한 이미지 코드를 제2 사용자 단말에 전송한다. 제2 사용자 단말은 이미지 코드를 표시할 수 있다. In
2510단계에서, 제1 사용자 단말(210)은 제2 사용자 단말에 표시된 이미지 코드를 촬영하여 인식함으로써 이미지 코드에 포함된 세션키 파라미터 및 주기기 등록용 토큰을 획득할 수 있다. 상기와 같이, 세션키가 아닌 세션키 파라미터가 기기 등록 서버를 통해 제1 사용자 단말에 전송되기 때문에 세션키가 노출되는 것을 방지할 수 있고, 해킹의 가능성을 줄일 수 있다. In
2515단계에서 제1 사용자 단말(210)은 주기기 등록용 토큰을 이용하여 제1 사용자 단말(210)의 기기 토큰을 생성할 수 있다. 그리고, 생성된 제1 사용자 단말(210)의 기기 토큰을 전자 서명 서비스 서버(100)에 전송할 수 있다. In
2520단계에서, 전자 서명 서비스 서버(100)의 프로세서(120)는 주기기 등록용 토큰을 이용하여 제1 사용자 단말(210)의 기기 토큰을 검증할 수 있다. 즉, 전자 서명 서비스 서버(100)는 제1 사용자 단말(210)에서와 동일한 방법으로 주기기 등록용 토큰을 이용하여 기기 토큰을 생성하고, 그 결과가 제1 사용자 단말(210)로부터 수신한 기기 토큰과 비교하여 일치하는지 여부를 기준으로 검증을 수행할 수 있다. 그리고, 검증 결과를 제1 사용자 단말(210)에 전송할 수 있다. In
제1 사용자 단말(210)의 기기 토큰에 대한 검증이 완료되면, 2525단계에서 제1 사용자 단말(210)은 주기기용 키 쌍을 생성한다. 주기기용 키 쌍은 주기기임을 나타내는 키 쌍으로서 개인키와 공개키를 포함할 수 있다. When the verification of the device token of the
그리고, 2530단계에서, 제1 사용자 단말(210)은 획득된 세션키 파라미터로 세션키를 생성할 수 있다. Then, in
2535단계에서, 제1 사용자 단말(210)은 세션키로 주기기용 키 쌍의 공개키와 제1 사용자 단말(210)의 기기 정보를 암호화할 수 있다. 그리고, 암호화된 주기기용 키 쌍의 공개키와 제1 사용자 단말(210)의 기기 정보를 전자 서명 서비스 서버(100)에 전송할 수 있다. In
2540단계에서, 전자 서명 서비스 서버(100)의 프로세서(120)는 제1 사용자 단말(210)을 주기기로 등록할 수 있다. 구체적으로, 전자 서명 서비스 서버(100)의 프로세서(120)는 세션키 파라미터로 세션키를 생성한 후, 세션키로 암호화된 주기기용 키 쌍의 공개키와 제1 사용자 단말(210)의 기기 정보를 복호화하고, 주기기용 키 쌍의 공개키와 제1 사용자 단말(210)의 기기 정보를 저장부(130)에 저장할 수 있다. 즉, 전자 서명 서비스 서버(100)는 제1 사용자 단말(210)의 기기 정보와 주기기용 키 쌍의 공개키를 매칭시켜 저장함으로써 제1 사용자 단말(210)을 주기기로 등록할 수 있다. 전자 서명 서비스 서버(100)는 제1 사용자 단말(210)이 주기기로 등록되었음을 알리는 등록 결과를 제1 사용자 단말(210)에 전송할 수 있다.In
2545단계에서, 제1 사용자 단말(210)은 주기기용 키 쌍의 개인키와 제1 사용자 단말(210)의 기기 정보를 암호화하여 저장할 수 있다. 주기기용 키 쌍의 개인키와 제1 사용자 단말(210)의 기기 정보를 암호화할 때, 제1 사용자 단말(210)은 1차적으로 사용자의 개인 식별 번호(Personal Identification Number:PIN) 및 생체 정보 중 적어도 하나에 기초하여 암호화할 수 다. 개인 식별 번호 및 생체 정보 중 적어도 하나를 직접적으로 사용하여 암호할 수도 있고, 개인 식별 번호 및 생체 정보 중 적어도 하나로부터 유도된 키를 이용하여 암호화할 수 있다. 또한, 암호화된 주기기용 키 쌍의 개인키와 제1 사용자 단말(210)의 기기 정보를, 전자 서명 서비스 서버(100)가 생성된 난수와 제1 사용자 단말(210)이 생성한 난수로 구성된 키를 이용하여 2차적으로 암호화될 수 있다. 난수들로 구성된 키로 암호화할 때, 전자 서명 서비스 서버(100)에서 생성된 난수는 제1 사용자 단말(210)에 저장되지 않고 삭제될 수 있으며, 추후 전자 서명 서비스 서버(100)로부터 난수를 수신받거나 전자 서명 서비스 서버(100)가 암호화된 주기기용 키 쌍의 개인키와 제1 사용자 단말(210)의 기기 정보를 제1 사용자 단말(210)로부터 수신받아 암호화를 해제할 수도 있다. In
상기한 암호화 방법은 이중으로 암호화하는 방법에 대해 설명하였으나, 이에 한정되지 않는다. 상기한 암호화 방법 중 어느 하나만으로 암호화될 수 있고, 암호화 방법의 순서가 바뀌어도 무방하다. Although the encryption method described above is described as a method of encrypting data, the present invention is not limited thereto. It can be encrypted with only one of the above encryption methods, and the order of encryption methods may be changed.
도 14에서 방법으로 제2 사용자 단말에 표시된 이미지 코드를 제1 사용자 단말(210)이 인식한다고 하였으나, 이에 한정되지 않는다. 다양한 오프 라인 방법으로 제1 사용자 단말(210)은 세션키 파라미터 및 주기기 등록용 토큰을 획득할 수 있다. 예를 들어, 전자 서명 서버(100)는 세션키 파라미터 및 주기기 등록용 토큰에 대응하는 문자열 또는 숫자열 등을 다른 서버, 예를 들어, 이메일 서버에 전송할 수 있고, 사용자는 상기한 이메일 서버에 접속하여 문자열 또는 숫자열을 확인한 후, 상기한 문자열 또는 숫자열을 직접(오프라인 방법으로) 제1 사용자 단말(210)에 입력함으로써 세션키 파리미터 및 주기기 등록용 토큰을 획득할 수 있다. 제1 사용자 단말(210)이 전자 서명 서비스 서버(100)에 주기기로 등록되어 있으면, 제1 사용자 단말(210)은 전자 서명 서비스 서버(100)로부터 전자 서명 또는 인증서 데이터를 수신받을 수 있다. 전자 서명 또는 인증서 데이터를 수신받기 전에 제1 사용자 단말(210)은 전자 서명 서버(100)에 접근 가능한 기기임을 인증하는 기기 인증 절차를 수행하여야 한다. Although the
도 15는 일 실시예에 따른 제1 사용자 단말(210)이 주기기 인증을 수행하는 절차를 설명하는 흐름도이다. FIG. 15 is a flowchart illustrating a procedure in which a
2605단계에서, 전자 서명 서비스 서버(100)로부터 전자 서명을 수신받기 위해, 제1 사용자 단말(210)은 전자 서명 서비스 서버(100)에게 주기기 인증을 요청할 수 있다. 상기한 주기기 인증의 요청에서는 제1 사용자 단말(210)의 기기 정보가 포함될 수 있다. In step 2605, in order to receive the digital signature from the digital
한편, 제1 사용자 단말(210)이 전자 서명 서비스 서버(100)에 기기 인증을 요청하기 전에, 제1 사용자 단말(210)은 사용자 인증을 수행할 수 있다. 예를 들어, 사용자의 개인 식별 번호 또는 생체 정보를 이용하여 사용자 인증이 수행될 수 있다. Meanwhile, the
2610단계에서, 전자 서명 서비스 서버(100)의 프로세서(120)는 제1 사용자 단말(210)의 기기 정보를 바탕으로 제1 사용자 단말(210)이 등록된 기기인지 여부를 확인할 수 있다. In
제1 사용자 단말(210)이 등록된 기기인 것으로 확인되면, 2615 단계에서, 전자 서명 서비스 서버(100)의 프로세서(120)는 세션키 및 주기기 인증용 토큰을 생성할 수 있다. If it is determined that the
2620단계에서, 전자 서명 서비스 서버(100)의 프로세서(120)는 기저장된 주기기용 키 쌍의 공개키로 상기한 세션키 및 주기기 인증용 토큰을 암호화한다 그리고, 암호화된 세션키 및 주기기 인증용 토큰을 제1 사용자 단말(210)에 전송한다. In
2625단계에서, 제1 사용자 단말(210)은 주기기용 키 쌍의 개인키를 이용하여 암호화된 세션키 및 주기기 인증용 토큰을 복호화할 수 있다. 제1 사용자 단말(210)에는 주기기용 키 쌍의 개인키가 암호화되어 저장되어 있을 수 있다. 제1 사용자 단말(210)의 주기기용 키 쌍의 개인키가 전자 서명 서비스 서버(100)가 생성한 난수와 제1 사용자 단말(210)이 생성한 난수로 구성된 키를 이용하여 2차적으로 암호화 된 경우 2620단계에서, 전자서명 서비스 서버(100)는 암호화된 세션키 및 토큰과 더불어 난수를 추가로 전송할 수 있다. 제1 사용자 단말(210)은 전자서명 서비스 서버(100)로부터 수신한 난수와 제1 사용자 단말(210)에 저장된 난수로 키를 구성하여 암호화되어 저장된 주기기용 키 쌍의 개인키를 독출하고 복호화할 수 있다. 그리고, 복호화된 주기기용 키 쌍의 개인키를 이용하여 암호화된 세션키 및 주기기 인증용 토큰을 복호화할 수 있다In
그리고, 2630단계에서, 주기기 인증용 토큰 및 주기기용 키 쌍의 개인키를 이용하여 주기기 인증 데이터를 생성한다. 그리고, 생성된 주기기 인증 데이터를 전자 서명 서비스 서버(100)에 전송할 수 있다. 주기기 인증 데이터는 제1 사용자 단말(210)를 주기기로 인증하기 위해 필요한 정보를 포함한 데이터일 수 있다. In
2635단계에서, 전자 서명 서비스 서버(100)의 프로세서(120)는 주기기 인증용 토큰과 주기기용 키 쌍의 공개키로 상기한 주기기 인증 데이터를 검증함으로써 제1 사용자 단말(210)이 등록된 기기인지 여부를 인증할 수 있다. In
제1 사용자 단말(210)이 등록된 기기인 것으로 검증되면, 앞서 기술한 바와 같이, 전자 서명 서비스 서버(100)는 제1 사용자 단말(210)의 요청에 따라 전자 서명을 제공할 수 있다. If it is verified that the
한편, 사용자는 전자 서명 서비스 서버(100)에 주기기 이외에 추가 기기도 등록할 수 있다. 주기기는 전자 서명 서비스 서버(100)에 언제든지 접근할 수 있는 사용자 단말인 반면, 추가 기기는 일정한 조건하에서만 전자 서명 서비스 서버(100)에 접속하는 기기일 수 있다. 예를 들어, 추가 기기는 특정 이용 서버(예를 들어, 특정 인터넷 쇼핑몰 운영 서버)의 인증을 수행할 때에만 이용될 수 있는 기기이거나 일정 시간 동안만 전자 서명 서비스 서버(100)에 접근할 수 있는 기기일 수 있다. 추가 기기는 주기기를 통해 전자 서명 서비스 서버(100)에 등록할 수 있다. 전자 서명 서비스 서버(100)는 등록된 추가 기기에도 전자 서명을 제공할 수 있다.On the other hand, the user can register an additional device in addition to the main device in the digital
도 16a 및 도 16b는 일 실시예에 따른 추가 기기 등록하는 방법을 설명하는 흐름도이다. 16A and 16B are flowcharts illustrating a method of registering an additional device according to an embodiment.
2705단계에서 제3 사용자 단말(230)은 제3 사용자 단말(230)의 기기 정보를 획득할 수 있다. 제3 사용자 단말(230)은 제3 사용자 단말(230)의 저장부에 저장된 기기 정보를 독출함으로써 기기 정보를 획득할 수 있다. In
2710단계에서, 제3 사용자 단말(230)은 추가 기기용 키 쌍을 생성할 수 있다. In
2715단계에서 제3 사용자 단말(230)은 제3 사용자 단말(230)의 기기 정보 및 추가 기기용 키 쌍의 공개키를 포함하는 이미지 코드를 생성할 수 있다. 그리고, 제3 사용자 단말(230)은 상기한 이미지 코드를 표시할 수 있다. The
2720단계에서, 주기기인 제1 사용자 단말(210)은, 상기한 이미지 코드를 촬영하여 이미지 코드를 인식함으로써, 이미지 코드로부터 제3 사용자 단말(230)의 기기 정보 및 추가 기기용 키 쌍의 공개키를 획득할 수 있다. 즉, 제1 사용자 단말(210)은 제3 사용자 단말(230)로부터, 오프 라인 방식으로 제3 사용자 단말(230)의 기기 정보 및 추가 기기용 키 쌍의 공개키를 획득할 수 있다. 이미지 코드를 인식하는 방법 이외의 오프 라인 방법으로 기기 정보 및 추가 기기용 키 쌍의 공개키를 획득할 수도 있다. In
그리고, 2725단계에서, 제1 사용자 단말(210)은 전자 서명 서비스 서버(100)와 주기기임을 인증하는 주기기 인증 절차를 수행할 수 있다. 주기기 인증 방법은 도 15에 개시되어 있으므로 구체적인 설명은 생략한다. In step 2725, the
2730단계에서, 제1 사용자 단말(210)은 주기기 인증 과정에서 획득한 세션키로 제3 사용자 단말(230)의 기기 정보 및 추가 기기용 키 쌍의 공개키를 암호화할 수 있다. 그리고, 암호화된 제3 사용자 단말(230)의 기기 정보 및 추기 기기용 키 쌍의 공개키를 전자 서명 서비스 서버(100)에 전송할 수 있다. In
2735단계에서, 전자 서명 서비스 서버(100)의 프로세서(120)는 세션키로 제3 사용자 단말(230)의 기기 정보 및 추가 기기용 키 쌍의 공개키를 복호화할 수 있다.In
그리고, 2740단계에서 제3 사용자 단말(230)의 기기 정보와 추가 기기용 키 쌍의 공개키를 등록할 수 있다. 즉, 전자 서명 서비스 서버(100)는 제3 사용자 단말(230)의 기기 정보와 추가 기기용 키 쌍의 공개키를 매칭시켜 저장함으로써 제3 사용자 단말(230)을 추가 기기로 등록할 수 있다. 그리고, 전자 서명 서비스 서버(100)는 제3 사용자 단말(230)이 추가 기기로 등록되었음을 알리는 등록 결과를 주기기인 제1 사용자 단말(210)에 전송할 수 있다. In
한편, 전자 서명 서비스 서버(100)는 제3 사용자 단말(230)의 기기 인증을 수행할 수 있다. 2745단계에서, 전자 서명 서비스 서버(100)는 추가 기기 등록용 토큰을 생성하고, 추가 기기 등록용 토큰을 제3 사용자 단말(230)에 전송할 수 있다. Meanwhile, the digital
2750단계에서, 제3 사용자 단말(230)은 추가 기기 등록용 토큰과 추가 기기용 키 쌍의 개인키를 이용하여 추가 기기 인증 데이터를 생성할 수 있다. 상기한 추가 기기 인증 데이터에는 제3 사용자 단말(210)의 기기에 부여된 고유 식별번호, 기기 정보, 사용자가 전자 서명 서비스 서버(100)에 가입할 때 제1 사용자 단말(230)에 부여된 ID 등의 전부 또는 일부, 또는 상기한 정보들의 변조된 정보 가 포함되어 있을 수 있다. 제3 사용자 단말(230)은 추가 기기 인증 데이터를 전자 서명 서비스 서버(100)에 전송한다. In
2755단계에서, 전자 서명 서비스 서버(100)는 추가 기기 인증 데이터를 검증할 수 있고, 검증 결과를 제3 사용자 단말(230)에 전송할 수 있다. In
검증이 완료되면, 2760단계에서, 전자 서명 서비스 서버(100)은 추가 기기의 등록을 완료할 수 있다. 즉, 전자 서명 서비스 서버(100)는 제1 사용자 단말(100)을 통해 제3 사용자 단말(230)을 추가 기기로 등록하지만, 제3 사용자 단말(230)의 추가 기기 인증을 수행함으로써 추가 기기 등록을 완료할 수 있다.When the verification is completed, in
추가 기기로의 등록이 완료되면, 2765단계에서, 제3 사용자 단말(230)은 추가 기기용 키 쌍의 개인키와 제3 사용자 단말(230)의 기기 정보를 암호화하여 저장할 수 있다. 추가 기기용 키 쌍의 개인키와 제3 사용자 단말(230)의 기기 정보를 암호화할 때, 제3 사용자 단말(230)은 사용자의 개인 식별 번호 및 생체 정보 중 적어도 하나를 이용하여 암호화될 수 있다. 또는 전자 서명 서비스 서버(100)가 생성된 난수와 제3 사용자 단말(230)이 생성한 난수로 구성된 키를 이용하여 암호화될 수 있다. 난수들로 구성된 키로 암호화할 때, 전자 서명 서비스 서버(100)에서 생성된 난수는 제3 사용자 단말(230)에 저장되지 않고 삭제될 수 있으며, 추후 전자 서명 서비스 서버(100)로부터 난수를 수신받거나 전자 서명 서비스 서버(100)가 암호화된 추가 기기용 키 쌍의 개인키와 제3 사용자 단말(230)의 기기 정보를 제3 사용자 단말(230)로부터 수신받아 암호화를 해제할 수도 있다.When registration with the additional device is completed, the
제3 사용자 단말이 전자 서명 서비스 서버에 접속하기 위해서는, 제1 사용자 단말의 기기 인증과 마찬가지 방법으로 기기 인증을 수행하여야 한다. 제3 사용자 단말의 기기 인증은 제1 사용자 단말의 기기 인증과 유사하기 때문에 구체적인 설명은 생략한다. In order for the third user terminal to access the digital signature service server, the third user terminal must perform the device authentication in the same manner as the device authentication of the first user terminal. Since the device authentication of the third user terminal is similar to the device authentication of the first user terminal, a detailed description will be omitted.
앞서 기술한 바와 같이, 전자 서명에 접근할 수 있는 기기를 등록된 주기기 및 추가 기기로 한정함으로써 전자 서명을 안전하게 보호할 수 있다. As described above, the digital signature can be securely protected by limiting the device that can access the digital signature to the registered main device and the additional device.
앞서 기술한 주기기 및 추가 기기 등록 방법 및 등록된 주기기 및 추가 기기를 인증하는 방법은 전자 서명 서비스를 이용하는데 한정되지 않는다. 보안이 요구되는 다양한 서비스에도 적용될 수 있음은 물론이다. The method of registering the main and additional devices and the method of authenticating the registered main and additional devices described above are not limited to using the digital signature service. It can be applied to various services requiring security.
지금까지 기술한 전자 서명 서비스 서버(100)는 기기 인증, 서비스 운영, 및 키 관리를 수행한다고 하였다. 상기한 전자 서명 서비스 서버는 하나의 하드웨어 장치로 구현될 필요는 없다. 기능에 따라 분리된 서버들의 조합일 수도 있다. 예를 들어, 전자 서명 서비스 서버는 기기 인증을 위한 기기 인증 서버, 서비스 운용을 위해 서비스 운용 서버 및 키 관리를 위한 키 관리 서버의 조합일 수도 있다. 한편, 상술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성 가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. 또한, 상술한 본 발명의 실시예에서 사용된 데이터의 구조는 컴퓨터로 읽을 수 있는 기록매체에 여러 수단을 통하여 기록될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드 디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등)와 같은 저장매체를 포함한다.The electronic
이제까지 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.So far, the preferred embodiments have been mainly described. It will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims. Therefore, the disclosed embodiments should be considered in an illustrative rather than a restrictive sense. The scope of the present invention is defined by the appended claims rather than by the foregoing description, and all differences within the scope of equivalents thereof should be construed as being included in the present invention.
1000 : 전자 서명 서비스 시스템
100 : 전자 서명 서비스 서버
110 : 통신부
120 : 프로세서
130 : 저장부
132, 134 : 제1, 제2 저장 공간
140 : 전자 서명 생성 모듈
200 : 사용자 단말
210 : 통신부
220 : 로컬 인증부
230 : 입력부
240 : 프로세서1000: Digital Signature Service System
100: Digital signature service server
110:
120: Processor
130:
132, 134: first and second storage spaces
140: Digital signature generation module
200: user terminal
210:
220: local authentication unit
230: Input unit
240: Processor
Claims (14)
기기 등록 서버로부터 기기 등록의 요청을 수신하면, 전자 서명 서비스 서버는 세션키 파라미터 및 주기기 등록용 토큰을 상기 기기 등록 서버에 전송하는 단계;
상기 기기 등록 서버로부터, 오프 라인 방법으로, 제1 사용자 단말은 상기 세션키 파라미터 및 상기 주기기 등록용 토큰을 획득하고, 상기 세션키 파라미터 및 상기 주기기 등록용 토큰을 이용하여 상기 전자 서명 서비스 서버에 주기기로 등록하는 단계;
상기 주기기로 등록된 상기 제1 사용자 단말로부터 상기 전자 서명의 요청을 수신하면, 상기 전자 서명 서비스 서버는 기등록된 사용자 인증서의 개인키를 이용하여 상기 전자 서명을 생성하는 단계; 및
상기 전자 서명 서비스 서버는 상기 전자 서명을 상기 제1 사용자 단말에게 전송하는 단계;를 포함하는 전자 서명 제공 방법. A method for an electronic signature service server to provide a digital signature,
Receiving a request for device registration from the device registration server, the digital signature service server transmitting the session key parameter and the main device registration token to the device registration server;
The first user terminal obtains the session key parameter and the token for registering the main device from the device registration server in an off-line method, acquires the session key parameter and the token for registering the main device, A step of registering as a periodifier;
Receiving the request for the digital signature from the first user terminal registered as the periodic key, the digital signature service server generating the digital signature using the private key of the previously registered user certificate; And
And the digital signature service server transmitting the digital signature to the first user terminal.
상기 기기 등록 서버는 상기 세션키 파라미터 및 상기 주기기 등록용 토큰을 포함하는 이미지 코드를 생성하고, 상기 이미지 코드를 제2 사용자 단말에 전송하는 단계; 및
상기 제2 사용자 단말을 상기 이미지 코드를 표시하는 단계;를 더 포함하고,
상기 주기기로 등록하는 단계는,
상기 제1 사용자 단말이 상기 제2 사용자 단말에 표시된 상기 이미지 코드를 촬영하여 인식함으로써 상기 세션키 파라미터 및 상기 주기기 등록용 토큰을 획득하는 전자 서명 제공 방법. The method according to claim 1,
Wherein the device registration server generates an image code including the session key parameter and the token for registration of the main device and transmits the image code to a second user terminal; And
And displaying the image code on the second user terminal,
Wherein the step of registering with the periodic period comprises:
And the first user terminal captures and recognizes the image code displayed on the second user terminal, thereby obtaining the session key parameter and the token for registering the main device.
상기 이미지 코드는,
QR 코드, 데이터 매트릭스(Data Matrix), 맥시 코드(Maxi Code), 컬러 코드(Color Code), 그레이 코드(Cray Code), 바코드(bar code) 중 적어도 하나인 전자 서명 제공 방법. 3. The method of claim 2,
The image code includes:
Wherein the digital signature is at least one of a QR code, a data matrix, a Maxi code, a color code, a gray code, and a bar code.
상기 주기기로 등록하는 단계는,
상기 전자 서명 서비스 서버는 상기 주기기 등록용 토큰을 이용하여 상기 제1 사용자 단말을 검증하는 단계;
상기 검증이 완료되면, 상기 제1 사용자 단말은 주기기용 키 쌍을 생성하고, 상기 세션키 파라미터로 세션키를 생성한 후 상기 세션키로 상기 주기기용 키 쌍의 공개키 및 상기 제1 사용자 단말의 기기 정보를 암호화하여 상기 전자 서명 서비스 서버에 전송하는 단계; 및
상기 전자 서명 서비스 서버는 암호화된 상기 주기기용 키 쌍의 공개키 및 상기 제1 사용자 단말의 기기 정보를 복호화하여 저장함으로써 상기 제1 사용자 단말을 주기기로 등록하는 단계;를 포함하는 전자 서명 제공 방법.The method according to claim 1,
Wherein the step of registering with the periodic period comprises:
Verifying the first user terminal using the main device registration token;
After completion of the verification, the first user terminal generates a key pair for a cyclic prefix, generates a session key using the session key parameter, and transmits the public key of the cyclic prefix key to the first user terminal Encrypting the information and transmitting the encrypted information to the electronic signature service server; And
And registering the first user terminal as a periodic key by decrypting and storing the public key of the key pair for the periodic key and the device information of the first user terminal encrypted by the digital signature service server.
상기 제1 사용자 단말을 검증하는 단계는,
제1 사용자 단말은 상기 주기기 등록용 토큰을 이용하여 상기 제1 사용자 단말의 기기 토큰을 생성하고, 상기 제1 사용자 단말의 기기 토큰을 상기 전자 서명 서비스 서버에 전송하는 단계; 및
상기 전자 서명 서비스 서버는 상기 주기기 등록용 토큰을 이용하여 상기 제1 사용자 단말의 기기 토큰을 검증하는 단계;를 포함하는 전자 서명 제공 방법. 5. The method of claim 4,
Wherein the verifying the first user terminal comprises:
The first user terminal generates the device token of the first user terminal using the token for registering the main device and transmits the device token of the first user terminal to the digital signature service server; And
And the digital signature service server verifying the device token of the first user terminal using the token for main device registration.
상기 제1 사용자 단말은 상기 주기기용 키 쌍의 개인키 및 상기 제1 사용자 단말의 기기 정보를 암호화하여 저장하는 단계;를 더 포함하는 전자 서명 제공 방법. 5. The method of claim 4,
And encrypting and storing the private key of the key pair and the device information of the first user terminal in the first user terminal.
상기 주기기용 키 쌍의 개인키 및 상기 제1 사용자 단말의 기기 정보는 상기 제1 사용자 단말에 대응하는 사용자의 개인 식별 번호(Personal Identification Number; PIN) 및 생체 정보 중 적어도 하나에 기초하여 암호화되는 전자 서명 제공 방법. The method according to claim 6,
Wherein the private key of the key pair for the periodic key and the device information of the first user terminal are encrypted based on at least one of a personal identification number (PIN) and biometric information of the user corresponding to the first user terminal How to provide a signature.
상기 전자 서명을 생성하는 단계는,
상기 전자 서명 서비스 서버는 상기 제1 사용자 단말로부터 서명 대상 데이터 및 상기 서명 대상 데이터에 대한 전자 서명의 요청을 수신하는 단계; 및
상기 요청에 응답하여, 상기 전자 서명 서비스 서버는 기등록된 사용자 인증서의 개인키를 이용하여 상기 서명 대상 데이터에 대한 상기 전자 서명을 생성하는 단계;를 포함하는 전자 서명 제공 방법. The method according to claim 1,
Wherein the generating the digital signature comprises:
Wherein the digital signature service server comprises: receiving a request for digital signature from the first user terminal with respect to the data to be signed and the data to be signed; And
And in response to the request, the digital signature service server generates the digital signature for the data to be signed using the private key of the pre-registered user certificate.
상기 제1 사용자 단말은, 상기 전자 서명, 상기 서명 대상 데이터 및 상기 개인키에 대응되는 공개키를 상기 전자 서명을 이용하고자 하는 이용 서버에 전송하는 단계;를 더 포함하는 전자 서명 제공 방법. 9. The method of claim 8,
Wherein the first user terminal transmits the digital signature, the signature subject data, and the public key corresponding to the private key to a use server that desires to use the digital signature.
제3 사용자 단말로부터, 오프 라인 방법으로, 상기 제1 사용자 단말은 상기 제3 사용자 단말의 기기 정보 및 추기 기기용 키 쌍의 공개키를 수신하는 단계;
상기 제1 사용자 단말은, 상기 제3 사용자 단말의 기기 정보 및 추가 기기용 키 쌍의 공개키를 상기 전자 서명 서비스 서버에 전송하는 단계; 및
상기 전자 서명 서비스 서버는 상기 제3 사용자 단말의 기기 정보 및 상기 추가 기기용 키 쌍의 공개키를 저장함으로써 상기 제3 사용자 단말을 추가 기기로 등록하는 단계;를 더 포함하는 전자 서명 제공 방법. The method according to claim 1,
From the third user terminal, in an off-line manner, the first user terminal receiving the device key of the third user terminal and the public key of the key pair for the additional device;
Transmitting, by the first user terminal, device information of the third user terminal and a public key of an additional device key pair to the digital signature service server; And
And registering the third user terminal as an additional device by storing the device information of the third user terminal and the public key of the key pair for the additional device in the digital signature service server.
상기 전자 서명 서비스 서버에 전송되는 상기 제3 사용자 단말의 기기 정보 및 추가 기기용 키 쌍의 공개키는,
상기 제1 사용자 단말이 상기 전자 서명 서비스 서버와 인증하는 과정에서 획득된 세션키로 암호화된 전자 서명 제공 방법. 11. The method of claim 10,
The device information of the third user terminal and the public key of the key pair for the additional device transmitted to the digital signature service server,
And encrypting the digital signature with the session key obtained in the process of authenticating the digital signature service server by the first user terminal.
상기 전자 서명을 생성하는 단계는,
상기 제1 사용자 단말로부터 등록된 기기인지 여부를 인증하기 위한 주기기 인증 데이터를 수신하는 단계; 및
상기 주기기 인증 데이터를 검증 한 후 상기 전자 서명을 생성하는 단계;를 포함하는 전자 서명 제공 방법. The method according to claim 1,
Wherein the generating the digital signature comprises:
Receiving main device authentication data for authenticating whether the device is a device registered from the first user terminal; And
And verifying the main device authentication data and generating the digital signature.
상기 주기기 인증 데이터는,
주기기용 키 쌍의 개인키를 이용하여 생성된 전자서명 서비스 방법.13. The method of claim 12,
The main device authentication data includes:
A digital signature service method generated using a private key of a key pair for a learner.
사용자의 전자 서명 생성을 위한 개인키가 저장된 저장부;
상기 통신부를 통해, 세션키 파라미터 및 주기기 등록용 토큰을 기기 등록을 요청한 기기 등록 서버에 전송하고, 상기 세션키 파라미터 및 주기기 등록용 토큰을 획득한 제1 사용자 단말로부터 주기기 등록을 요청받으면 상기 제1 사용자 단말을 주기기로 등록하는 프로세서; 및
상기 통신부를 통해, 상기 주기기로 등록된 상기 제1 사용자 단말로부터 상기 전자 서명의 요청을 수신하면, 상기 전자 서명 서비스 서버는 기등록된 사용자 인증서의 개인키를 이용하여 상기 전자 서명을 생성하는 전자 서명 생성 모듈;을 포함하고,
상기 프로세서는, 상기 통신부를 통해, 상기 전자 서명을 상기 제1 사용자 단말에게 전송하는 전자 서명 서비스 서버. A communication unit for communicating with an external device;
A storage unit for storing a private key for generating a digital signature of a user;
Transmits the session key parameter and the main device registration token to the device registration server that requested the device registration through the communication unit and receives the request to register the main device from the first user terminal that has acquired the session key parameter and the main device registration token A processor for registering the first user terminal as a periodizer; And
Wherein the electronic signature service server receives an electronic signature request from the first user terminal registered as the periodic unit through the communication unit, Generating module,
And the processor transmits the electronic signature to the first user terminal through the communication unit.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160158052A KR101933090B1 (en) | 2016-11-25 | 2016-11-25 | System and method for providing electronic signature service |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160158052A KR101933090B1 (en) | 2016-11-25 | 2016-11-25 | System and method for providing electronic signature service |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20180058996A true KR20180058996A (en) | 2018-06-04 |
KR101933090B1 KR101933090B1 (en) | 2018-12-27 |
Family
ID=62628122
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020160158052A KR101933090B1 (en) | 2016-11-25 | 2016-11-25 | System and method for providing electronic signature service |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101933090B1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020149500A1 (en) * | 2019-01-17 | 2020-07-23 | 삼성전자 주식회사 | Method and apparatus for registering shared key |
CN112840597A (en) * | 2018-08-14 | 2021-05-25 | 比特飞翔区块链株式会社 | Apparatus, method and program for confirming electronic signature |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20040106098A (en) * | 2003-06-10 | 2004-12-17 | 홍상선 | Ubiquitous Personal Mutual authentication method |
KR20110006734A (en) * | 2010-01-08 | 2011-01-20 | 김주한 | Member registration system using mobile devices and authentication systems |
KR101113446B1 (en) * | 2010-12-13 | 2012-02-29 | 인하대학교 산학협력단 | System and method for transmiting certificate to mobile apparatus and system and method for transmiting and certifying data using multi-dimensional code |
KR101659847B1 (en) * | 2015-07-14 | 2016-09-26 | (주)케이스마텍 | Method for two channel authentication using smart phone |
KR20160129431A (en) * | 2015-04-30 | 2016-11-09 | 주식회사 예티소프트 | Server and method for electronic signature |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101658501B1 (en) * | 2015-09-03 | 2016-09-22 | 주식회사 마크애니 | Digital signature service system based on hash function and method thereof |
-
2016
- 2016-11-25 KR KR1020160158052A patent/KR101933090B1/en active IP Right Grant
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20040106098A (en) * | 2003-06-10 | 2004-12-17 | 홍상선 | Ubiquitous Personal Mutual authentication method |
KR20110006734A (en) * | 2010-01-08 | 2011-01-20 | 김주한 | Member registration system using mobile devices and authentication systems |
KR101113446B1 (en) * | 2010-12-13 | 2012-02-29 | 인하대학교 산학협력단 | System and method for transmiting certificate to mobile apparatus and system and method for transmiting and certifying data using multi-dimensional code |
KR20160129431A (en) * | 2015-04-30 | 2016-11-09 | 주식회사 예티소프트 | Server and method for electronic signature |
KR101659847B1 (en) * | 2015-07-14 | 2016-09-26 | (주)케이스마텍 | Method for two channel authentication using smart phone |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112840597A (en) * | 2018-08-14 | 2021-05-25 | 比特飞翔区块链株式会社 | Apparatus, method and program for confirming electronic signature |
WO2020149500A1 (en) * | 2019-01-17 | 2020-07-23 | 삼성전자 주식회사 | Method and apparatus for registering shared key |
US11949779B2 (en) | 2019-01-17 | 2024-04-02 | Samsung Electronics Co., Ltd. | Method and apparatus for registering shared key |
Also Published As
Publication number | Publication date |
---|---|
KR101933090B1 (en) | 2018-12-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101863953B1 (en) | System and method for providing electronic signature service | |
US9338163B2 (en) | Method using a single authentication device to authenticate a user to a service provider among a plurality of service providers and device for performing such a method | |
TWI454111B (en) | Techniques for ensuring authentication and integrity of communications | |
AU2010215040B2 (en) | System and methods for online authentication | |
TWI497336B (en) | Data security devices and computer program | |
KR102177848B1 (en) | Method and system for verifying an access request | |
US10523441B2 (en) | Authentication of access request of a device and protecting confidential information | |
KR102514429B1 (en) | Update of biometric data template | |
JPWO2007094165A1 (en) | Identification system and program, and identification method | |
US10044684B2 (en) | Server for authenticating smart chip and method thereof | |
CN102769623B (en) | Two-factor authentication method based on digital certificate and biological identification information | |
EP2115932A2 (en) | Systems and methods for automating certification authority practices | |
WO2021111824A1 (en) | Electronic signature system and tamper-proof device | |
TW201223225A (en) | Method for personal identity authentication utilizing a personal cryptographic device | |
KR20200016506A (en) | Method for Establishing Anonymous Digital Identity | |
JPH10336172A (en) | Managing method of public key for electronic authentication | |
KR101933090B1 (en) | System and method for providing electronic signature service | |
US20240129139A1 (en) | User authentication using two independent security elements | |
JP2008234143A (en) | Subject limited mail opening system using biometrics, method therefor, and program therefor | |
JP2004140636A (en) | System, server, and program for sign entrustment of electronic document | |
JP6701011B2 (en) | Terminal registration method and terminal registration system | |
KR101868564B1 (en) | Apparatus for authenticating user in association with user-identification-registration and local-authentication and method for using the same | |
JP5489913B2 (en) | Portable information device and encrypted communication program | |
JP2010028689A (en) | Server, method, and program for providing open parameter, apparatus, method, and program for performing encoding process, and apparatus, method, and program for executing signature process | |
US20220271948A1 (en) | Owner identity confirmation system, certificate authority server and owner identity confirmation method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |