KR20180058996A - System and method for providing electronic signature service - Google Patents

System and method for providing electronic signature service Download PDF

Info

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
Application number
KR1020160158052A
Other languages
Korean (ko)
Other versions
KR101933090B1 (en
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 KR1020160158052A priority Critical patent/KR101933090B1/en
Publication of KR20180058996A publication Critical patent/KR20180058996A/en
Application granted granted Critical
Publication of KR101933090B1 publication Critical patent/KR101933090B1/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/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/321Cryptographic 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/3213Cryptographic 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
    • 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/3226Cryptographic 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

The present invention provides an electronic signature providing method and an electronic signature service server. The electronic signature service server registers a personal key of a user and generates an electronic signature with respect to signature target data received from a user terminal by using the registered personal key of the user. The method for providing an electronic signature by an electronic signature service server comprises the following steps of: the electronic signature service server transmitting a session key parameter and a token for main device registration to a device registration server when a request of device registration is received from the device registration server; and a first user terminal obtaining the session key parameter and the token for main device registration from the device registration server in an offline method, and registering as a main device in the electronic signature service server by using the session key parameter and the token for main device registration.

Description

전자 서명 제공 방법 및 그 서버{System and method for providing electronic signature service}[0001] The present invention relates to a digital signature providing method,

전자 서명을 제공하는 방법 및 서버에 관한 것이다.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 signature service server 100 from being verified and copied by a device other than the digital signature generation module.

전자 서명 서비스 서버에 접속 가능한 사용자 단말을 한정함으로써 특정 사용자 단말에게만 전자 서명을 제공할 수 있다. 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 first user terminal 210 to perform device authentication according to one embodiment.
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 signature service system 1000 according to an exemplary embodiment.

도 1을 참조하면, 실시예에 따른 전자 서명 서비스 시스템(1000)은 사용자 단말(200)과, 사용자의 전자 서명 생성을 위한 데이터를 저장하고 사용자에게 전자 서명 서비스를 제공하는 전자 서명 서버(100), 전자 서명을 이용하는 전자 서명 이용 서버(300) 및 전자 서명을 인증하는 인증 서버(400)를 포함할 수 있다.Referring to FIG. 1, an electronic signature service system 1000 according to an embodiment includes a user terminal 200, an electronic signature server 100 that stores data for generating a digital signature of a user and provides an electronic signature service to the user, An electronic signature using server 300 using an electronic signature, and an authentication server 400 for authenticating an electronic signature.

전자 서명 이용 서버(300)는 전자 서명을 이용하는 기관에 의해 운영되는 서버를 의미한다. 전자 서명 이용 서버(300)는 은행 서버, 공공 기관에 의해 운영되는 서버, 전자 상거래 서비스를 제공하는 서버 등을 포함할 수 있으며, 이에 제한되는 것은 아니다. 전자 서명 이용 서버(300)는 사용자의 인증이 필요한 전자 문서, 즉 서명 대상 문서를 발행할 수 있다. 전자 서명 이용 서버(300)는 상기 서명 대상 문서로부터 도출된 서명 대상 데이터를 사용자 단말(200)에 전송할 수 있다. 상기 서명 대상 데이터는 서명 대상 문서의 원문 데이터를 그대로 포함할 수도 있고, 서명 대상 문서의 원문 데이터를 후술하는 암호화에 적절하도록 가공한 데이터를 포함할 수도 있다. 전자 서명 이용 서버(300)는 상기 서명 대상 데이터에 대한 전자 서명을 사용자 단말(200)에게 요청할 수 있다.The digital signature using server 300 means a server operated by an institution using an electronic signature. The digital signature using server 300 may include a bank server, a server operated by a public entity, a server providing an electronic commerce service, and the like, but is not limited thereto. The digital signature using server 300 can issue an electronic document requiring authentication of the user, that is, the signature target document. The digital signature using server 300 can transmit the signature target data derived from the signature target document to the user terminal 200. [ The signature target data may include the original document data of the signature target document as it is, or may include data processed to be suitable for encryption, which will be described later, on the original document data of the signature target document. The digital signature using server 300 may request the digital signature of the signature target data from the user terminal 200. [

인증 서버(400)는 전자 서명의 검증을 위한 인증서를 발행하고 관리하는 공인 인증 기관에 의해 운영되는 서버를 의미한다. 상기 공인 인증 기관의 예로는 금융결제원, 한국정보인증, 한국증권전산, 한국전자인증, 한국전산원,한국무역정보통신 등이 있다.The authentication server 400 means a server operated by an authorized certification authority that issues and manages a certificate for verifying digital signatures. Examples of such accredited certification bodies include KFTC, Korea Information Certification, Korea Securities Computing, Korea Electronics Certification, Korea Computer Center, and Korea Trade Information Telecommunication.

사용자 단말(200)은 전자 서명의 권한을 가진 사용자가 사용하는 장치를 의미한다. 사용자 단말은 스마트 폰, 태블릿 PC, 랩톱 등을 포함할 수 있으나 이에 제한되는 것은 아니다. 사용자 단말(200)은 전자 서명 이용 서버(300) 및 전자 서명 서비스 서버(100)와 통신할 수 있는 통신 수단을 포함할 수 있다. 사용자 단말(200)은 전자 서명 이용 서버(300)로부터 서명 대상 데이터 및 서명 대상 데이터에 대한 전자 서명의 요청 수신할 수 있다. The user terminal 200 means a device used by a user who has the authority of digital signature. The user terminal may include, but is not limited to, a smart phone, a tablet PC, a laptop, and the like. The user terminal 200 may include communication means capable of communicating with the electronic signature utilizing server 300 and the electronic signature service server 100. [ The user terminal 200 can receive a digital signature request for the signature target data and the signature target data from the digital signature using server 300. [

사용자 단말(200)은 전자 서명을 직접 생성하지 않고, 전자 서명 서비스 서버(100)에게 전자 서명을 생성해 줄 것을 요청할 수 있다. 필요한 경우, 사용자 단말(200)은 상기 서명 대상 데이터를 전자 서명이 용이한 포맷으로 가공한 후, 가공된 서명 대상 데이터에 대한 전자 서명의 요청을 전자 서명 서비스 서버(100)에게 전송할 수 있다. The user terminal 200 may request the digital signature service server 100 to generate an electronic signature without directly generating the digital signature. If necessary, the user terminal 200 may process the signature target data into a format that facilitates electronic signature, and then send a request for the digital signature to the digital signature service server 100 for the processed signature target data.

사용자 단말(200)은 전자 서명 서비스 서버(100)로부터 전자 서명을 수신하면, 전자 서명을 이용하여 전자 서명문을 생성할 수 있다. 전자 서명문은 전자 서명 이용 서버(300) 또는 인증 서버(400)에서 검증이 가능한 포맷으로 작성될 수 있다. 사용자 단말(200)은 생성한 전자 서명문을 전자 서명 이용 서버(300)에 전송할 수 있다.When the user terminal 200 receives the digital signature from the digital signature service server 100, the user terminal 200 can generate the digital signature using the digital signature. The digital signature can be created in a format that can be verified by the digital signature using server 300 or the authentication server 400. The user terminal 200 can transmit the generated digital signature statement to the digital signature using server 300. [

전자 서명 서비스 서버(100)에는 사용자의 전자 서명 생성을 위한 정보가 등록되어 있을 수 있다. 예를 들어, 전자 서명 서비스 서버(100)에는 전자 서명 생성을 위한 키 쌍 가운데 개인키가 등록되어 있을 수 있다. 전자 서명 서비스 서버(100)는 미리 등록된 사용자의 개인키를 이용하여 전자 서명을 생성할 수 있다. 전자 서명 서비스 서버(100)는 생성한 사용자의 전자 서명을 사용자 단말(200)에 전송할 수 있다.Information for generating a digital signature of a user may be registered in the digital signature service server 100. For example, the digital signature service server 100 may have a private key registered in the key pair for generating an electronic signature. The digital signature service server 100 can generate an electronic signature using the private key of the user registered in advance. The digital signature service server 100 may transmit the generated digital signature of the user to the user terminal 200. [

도 2는 도 1에서 나타낸 전자 서명 서비스 서버(100)를 대략적으로 나타낸 블록도이다.2 is a block diagram schematically showing the digital signature service server 100 shown in FIG.

도 2를 참조하면, 실시예에 따른 전자 서명 서비스 서버(100)는 사용자 단말(200)과 통신하는 통신부(110)와, 사용자의 전자서명 생성을 위한 개인키를 저장하는 저장부(130) 및 통신부(110)가 사용자 단말(200)로부터 서명 대상 데이터 및 상기 서명 대상 데이터에 대한 전자 서명의 요청을 수신하면, 상기 개인키를 이용하여 상기 서명 대상 데이터에 대한 전자 서명을 생성하는 전자 서명 생성 모듈(140)을 포함할 수 있다. 또한, 전자 서명 서비스 서버(100)는 통신부(110)가 사용자 단말(200)로부터 수신한 기기 인증 데이터를 검증하는 프로세서(120)를 더 포함할 수 있다. 프로세서(120)는 통신부(110)가 송수신 하는 데이터를 암호화 및 복호화 하는 연산 작업을 수행할 수도 있다. 2, an electronic signature service server 100 according to an embodiment of the present invention includes a communication unit 110 for communicating with a user terminal 200, a storage unit 130 for storing a private key for generating a digital signature of a user, When the communication unit 110 receives a request for an electronic signature for the signature target data and the signature target data from the user terminal 200, generates an electronic signature for the signature target data using the private key, (140). The electronic signature service server 100 may further include a processor 120 for verifying the device authentication data received from the user terminal 200 by the communication unit 110. [ The processor 120 may perform an arithmetic operation for encrypting and decrypting data transmitted and received by the communication unit 110. [

통신부(110)는 사용자 단말(200)과 정보 및 데이터를 주고 받을 수 있다. 통신부(110)는 데이터의 전송 및 수신의 역할을 수행하는 하드웨어 자원을 포함할 수 있다. The communication unit 110 can exchange information and data with the user terminal 200. The communication unit 110 may include hardware resources that perform data transmission and reception functions.

통신부(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 communication unit 110 may be connected to the user terminal 200 through a predetermined communication network. The predetermined communication network is an intermediary for connecting the communication unit 110 of the digital signature service server 100 and the user terminal 200. The predetermined communication network is a medium in which the user terminal 200 is connected to the digital signature service server 100 And a path for providing a connection path so that data can be transmitted and received. The communication network may be a wired network or a wireless network. The wired network may include Local Area Networks (LANs), Wide Area Networks (WANs), Metropolitan Area Networks (MANs), Integrated Service Digital Networks (ISDNs), and the like. Wireless networks include wireless LANs, CDMA, Bluetooth, And the like, but the embodiment is not limited thereto.

저장부(130)에는 사용자의 전자 서명 생성을 위해 전자 서명 서비스 서버(100)에 등록된 정보가 저장되어 있을 수 있다. 예를 들어, 저장부(130)에는 사용자의 전자 서명 생성을 위한 개인키가 저장되어 있을 수 있다. 또한, 저장부(130)에는 사용자의 인증서 데이터가 함께 저장되어 있을 수 있다. The storage unit 130 may store information registered in the digital signature service server 100 for generating a digital signature of a user. For example, the storage unit 130 may store a private key for generating a digital signature of a user. Also, the storage unit 130 may store user certificate data together.

저장부(130)는 전자 서명 생성 모듈(140)을 제외한 다른 장치가 사용자의 개인키를 복제 및 확인할 수 없도록 할 수 있다. 반면, 저장부(130)에 저장된 인증서 데이터는 사용자 단말(200)의 요청에 의해 통신부(110)를 통해 사용자 단말(200)로 전송될 수 있다. 따라서, 저장부(130)는 인증서 데이터와 개인키를 서로 다른 저장 공간에 저장할 수 있다.  The storage unit 130 may prevent other devices except the digital signature generation module 140 from duplicating and checking the user's private key. On the other hand, the certificate data stored in the storage unit 130 may be transmitted to the user terminal 200 through the communication unit 110 at the request of the user terminal 200. Accordingly, the storage unit 130 may store the certificate data and the private key in different storage spaces.

도 3은 도 2에서 나타낸 저장부(130)의 저장 공간을 개념적으로 나타낸 블록도 이다.3 is a block diagram conceptually illustrating a storage space of the storage unit 130 shown in FIG.

도 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 storage unit 130 may include a first storage space 132 and a second storage space 134. The first storage space 132 and the second storage space 134 may be separated by hardware or may not be separated. Illustratively, the user's private key may be stored in the first storage space 132. Also, the second storage space 134 may include certificate data, user identification information, and the like. The processor 120 may utilize at least some of the data and information stored in the second storage space 134. Also, the certificate data stored in the second storage space 134 may be transmitted to the outside through the communication unit 110.

제1 저장 공간(132)은 제1 저장 공간(132)에 저장된 정보는 전자 서명 서비스 서버(100)의 외부에서 확인 및 복제가 불가능 하도록 구성될 수 있다. 제1 저장 공간(132)에 저장된 개인키는 전자 서명 생성 모듈(140)만이 확인 및 이용할 수 있도록 구성될 수 있다. 예를 들어, 제1 저장 공간(132)과 전자 서명 생성 모듈 (140)은 함께 하드웨어 보안 모듈(Hardware Security Module; HSM)(150)을 구성할 수 있다. 제1 저장 공간(132)과 전자 서명 생성 모듈(140)이 하드웨어 보안 모듈 (150)을 구성함으로써, 제1 저장 공간(132)에 저장된 개인키는 공개되지 않고 안전하게 관리될 수 있다.The first storage space 132 may be configured such that information stored in the first storage space 132 can not be checked and copied outside the digital signature service server 100. The private key stored in the first storage space 132 can be configured and verified only by the digital signature generation module 140. For example, the first storage space 132 and the digital signature generation module 140 may form a hardware security module (HSM) 150 together. The first storage space 132 and the digital signature generation module 140 constitute the hardware security module 150 so that the private key stored in the first storage space 132 can be securely managed without being disclosed.

전자 서명 생성 모듈(140)은 저장부(130)의 제1 저장 공간(132)에 저장된 개인키를 이용하여 통신부(110)가 수신한 서명 대상 데이터를 암호화할 수 있다. 전자 서명 생성 모듈(140)은 상기 암호화에 필요한 연산 과정을 수행할 수 있다. 전자 서명 생성 모듈(140)은 서명 대상 데이터를 암호화 함으로써 전자 서명을 생성할 수 있다. 전자 서명 생성 모듈(140)이 생성한 전자 서명을 통신부(110)에 전달하면, 통신부(110)는 상기 전자 서명을 사용자 단말(200)에게 전송할 수 있다. The digital signature generation module 140 can encrypt the signature target data received by the communication unit 110 using the private key stored in the first storage space 132 of the storage unit 130. [ The digital signature generation module 140 may perform an operation process necessary for the encryption. The digital signature generation module 140 can generate an electronic signature by encrypting the data to be signed. When the digital signature generated by the digital signature generation module 140 is transmitted to the communication unit 110, the communication unit 110 can transmit the digital signature to the user terminal 200. [

다시 도 2를 참조하면, 프로세서(120)는 사용자 단말(200)로부터 획득한 기기 인증 데이터를 검증할 수 있다. 상기 기기 인증 데이터는 상기 사용자 단말(200)의 기기 인증을 위한 정보로부터 생성된 데이터일 수 있다. 또한, 상기 기기 인증을 위한 정보는 사용자 단말(200)의 기기에 부여된 고유 식별번호, 기기 정보, 사용자가 전자 서명 서비스에 가입할 때 사용자 단말(200)에 부여된 ID 등을 포함할 수 있다. 그리고, 기기 인증 데이터는 상기 기기 인증을 위한 정보의 전부 또는 일부를 변조함으로써 획득된 데이터일 수 있다.Referring again to FIG. 2, the processor 120 may verify device authentication data obtained from the user terminal 200. The device authentication data may be data generated from information for device authentication of the user terminal 200. In addition, the information for the device authentication may include a unique identification number given to the device of the user terminal 200, device information, an ID given to the user terminal 200 when the user subscribes to the digital signature service, . The device authentication data may be data obtained by modulating all or a part of the information for the device authentication.

프로세서(120)는 사용자 단말(200)로부터 획득한 기기 인증 데이터를 검증함으로써 사용자가 전자 서명을 획득할 권한이 있는 지를 판단할 수 있다. 프로세서(120)는 저장부(130)의 제2 저장 공간(134)에 저장된 정보를 이용하여 상기 사용자 단말(200)로부터 획득한 기기 인증 데이터를 검증할 수 있다. 프로세서(120)는 통신부(110)가 사용자 단말(200)로부터 획득한 기기 인증 데이터로부터 사용자가 전자 서명을 생성할 권한이 있는 지를 판단할 수 있다.Processor 120 may determine whether the user is authorized to obtain an electronic signature by verifying device authentication data obtained from user terminal 200. [ The processor 120 may verify the device authentication data acquired from the user terminal 200 using information stored in the second storage space 134 of the storage unit 130. [ The processor 120 may determine whether the user is authorized to generate an electronic signature from the device authentication data acquired from the user terminal 200 by the communication unit 110. [

프로세서(120)는 기기 인증 데이터에 대한 검증을 완료하면, 전자 서명 생성 모듈(140)에게 사용자가 사용할 권한이 있는 개인키를 이용하여 서명 대상 데이터에 대한 전자서명 생성을 요청할 수 있다. 프로세서(120)는 사용자 인증 절차에 필요한 연산과정을 수행할 수 있는 하드웨어 자원을 포함할 수 있다.Upon completion of the verification of the device authentication data, the processor 120 can request the digital signature generation module 140 to generate the digital signature of the signature target data using the private key that the user has authority to use. The processor 120 may include hardware resources capable of performing an operation process required for a user authentication procedure.

도 4는 도 1에서 나타낸 사용자 단말(200)을 대략적으로 나타낸 블록도이다.FIG. 4 is a block diagram schematically showing the user terminal 200 shown in FIG.

도 4를 참조하면, 예시적인 실시예에 따른 사용자 단말(200)은 통신부(210)와, 사용자의 입력 정보를 획득하는 입력부(230), 및 프로세서(240)를 포함할 수 있다.Referring to FIG. 4, a user terminal 200 according to an exemplary embodiment may include a communication unit 210, an input unit 230 for obtaining user input information, and a processor 240.

통신부(210)는 전자 서명 서비스 서버(100), 전자 서명 이용 서버(300) 및 인증 서버(400)와 데이터 및 정보를 송수신할 수 있다. 통신부(210)는 전자 서명 서비스 서버(100)에게 전자 서명의 요청을 전송할 수 있다. 통신부(210)는 전자 서명 서비스 서버(100)로부터 전자 서명을 수신하고, 상기 전자 서명을 이용하여 생성된 전자 서명문을 전자 서명 이용 서버(300)에 전송할 수 있다.The communication unit 210 can transmit and receive data and information to and from the digital signature service server 100, the digital signature use server 300 and the authentication server 400. [ The communication unit 210 may transmit a digital signature request to the electronic signature service server 100. [ The communication unit 210 may receive the digital signature from the digital signature service server 100 and may transmit the digital signature generated using the digital signature to the digital signature using server 300. [

입력부(230)는 사용자의 입력정보를 획득할 수 있다. 프로세서(240)는 입력부(230)가 획득한 사용자 입력 정보에 기초하여 통신부(210)가 전송하는 데이터를 생성할 수 있다. 입력부(230)의 입력 방식은 버튼 입력방식 또는 터치 스크린 방식일 수 있다. 버튼 입력방식의 경우, 입력부(230)는 소정의 버튼 입력장치를 포함할 수 있다. 터치 스크린 방식의 경우, 입력부(230)는 터치 스크린 기능을 지원하는 디스플레이를 포함할 수 있다. 프로세서(240)는 입력부(230)에게 UI(User Interface) 정보를 제공할 수 있다. 상술한 예는 예시적인 것에 불과하며 실시예가 이에 제한되는 것은 아니다. 예를 들어, 입력부(230)는 음성 인식이나 기타 다른 방법으로 사용자의 입력을 입력 받을 수 도 있다.The input unit 230 may acquire user input information. The processor 240 may generate data transmitted by the communication unit 210 based on the user input information acquired by the input unit 230. [ The input method of the input unit 230 may be a button input method or a touch screen method. In the case of the button input method, the input unit 230 may include a predetermined button input device. In the case of the touch screen type, the input unit 230 may include a display supporting the touch screen function. The processor 240 may provide UI (User Interface) information to the input unit 230. The above-described example is merely illustrative and the embodiment is not limited thereto. For example, the input unit 230 may receive user input through voice recognition or other methods.

프로세서(240)는 전자 서명 서비스 서버(100)에 의해 배포된 소정의 애플리케이션을 탑제하고 있을 수 있다. 프로세서(240)는 입력부(230)에 대한 UI 정보를 제공하고, 통신부(210)가 전송하는 데이터를 생성할 수 있다. 프로세서(240)는 전자 서명문 생성에 필요한 연산 기능을 수행할 수 있다. 또한, 프로세서(240)는 전자 서명 서비스 서버(100)와의 통신 보안을 위해 필요한 연산 기능을 수행할 수 있다. The processor 240 may be populating a predetermined application distributed by the electronic signature service server 100. [ The processor 240 may provide UI information for the input unit 230 and may generate data to be transmitted by the communication unit 210. The processor 240 may perform the arithmetic functions necessary for generating the digital signature statement. In addition, the processor 240 may perform an arithmetic function necessary for securing communication with the digital signature service server 100. [

실시예에 따른 사용자 단말(200)은 로컬 인증부(220)를 더 포함할 수 있다. 도 4에서는 로컬 인증부(220)는 프로세서(240)를 별도 구성으로 나타냈지만 이 것이 양 구성이 하드웨어 적으로 분리되어 있다는 것을 의미하는 것은 아니다. 예를 들어, 로컬 인증부(220)와 프로세서(240)는 적어도 일부의 하드웨어 자원을 공유하거나 공유하지 않을 수도 있다.The user terminal 200 according to the embodiment may further include a local authentication unit 220. In FIG. 4, the local authentication unit 220 shows the processor 240 as a separate component, but this does not mean that both components are separated in hardware. For example, the local authentication unit 220 and the processor 240 may or may not share at least some hardware resources.

로컬 인증부(220)는 사용자의 로컬 인증 프로세스를 수행할 수 있다. 로컬 인증부(220)는 입력부(230)에서 획득한 사용자 입력 정보에 기초하여 로컬 인증을 수행할 수 있다. 여기서, 로컬 인증이란 사용자 단말(200)이 외부와 데이터를 주고 받지 않으면서 수행되는 사용자 인증 절차를 의미한다. 로컬 인증 방식에 대해서는 후술하는 설명 부분에서 보다 상세히 설명한다.The local authentication unit 220 may perform the local authentication process of the user. The local authentication unit 220 can perform local authentication based on the user input information acquired by the input unit 230. [ Here, the local authentication means a user authentication procedure performed by the user terminal 200 without exchanging data with the outside. The local authentication method will be described in more detail later in the description section.

도 5는 도 1에서 나타낸 전자 서명 서비스 시스템(1000)에 의해 전자 서명 서비스가 제공되는 방법의 예시를 나타낸 흐름도이다.5 is a flowchart showing an example of a method in which an electronic signature service is provided by the digital signature service system 1000 shown in FIG.

도 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 step 1105, the digital signature service server 100 may register the private key for generating the digital signature of the user in the storage unit 130. [ The digital signature service server 100 may generate a key pair at the request of the user terminal 200 and store the private key included in the key pair in the storage unit 130. [ For example, the digital signature service server 100 may store the private key included in the key pair in the first storage space 132 shown in FIG. 3 and store the public key in the second storage space 134 .

다른 예로, 전자 서명 서비스 서버(100)는 사용자 단말(200)로부터 기 생성된 개인키를 전달 받을 수도 있다. 이 경우, 전자 서명 서비스 서버(100)가 사용자 단말(200)로부터 수신하는 개인키는 암호화 되어 있을 수 있다. 사용자의 개인키를 등록하는 1105 단계에 대해서는 후술하는 설명 부분에서 보다 상세히 설명한다.As another example, the digital signature service server 100 may receive the generated private key from the user terminal 200. [ In this case, the private key received by the digital signature service server 100 from the user terminal 200 may be encrypted. The step 1105 of registering the user's private key will be described in more detail in the following description.

1110 단계에서 사용자 단말(200)은 전자 서명 이용 서버(300)로부터 전자 서명의 요청을 수신할 수 있다. 상기 전자 서명의 요청은 전자 서명 이용 서버(300)에서 확인하고자 하는 서명 대상 데이터에 대해 전자 서명을 생성해줄 것을 요청하는 것을 의미한다. 서명 대상 데이터는 전자 서명 이용 서버(300)에서 생성될 수 있다. 이 경우, 전자 서명 이용 서버(300)는 전자 서명 요청과 함께 서명 대상 데이터를 함께 사용자 단말(200)에 전송할 수 있다.In step 1110, the user terminal 200 may receive a request for an electronic signature from the digital signature using server 300. The request for the digital signature means requesting the digital signature using server 300 to generate the digital signature for the signature target data to be verified. The signature target data may be generated in the digital signature using server 300. [ In this case, the digital signature using server 300 can transmit the digital signature request together with the signature target data to the user terminal 200 together.

예를 들어, 전자 서명 이용 서버(300)는 온라인 증명서, 전자상거래 문서, 인터넷 주식 거래 문서 등을 서명 대상 문서로 생성할 수 있다. 그리고, 전자 서명 이용 서버(300)는 상기 서명 대상 문서로부터 도출된 서명 대상 데이터를 사용자 단말(200)에게 전송할 수 있다. 전자 서명 이용 서버(300)가 전송하는 서명 대상 데이터는 서명 대상 문서의 원본 데이터 그대로이거나 서명 대상 문서의 원본 데이터를 가공한 것일 수도 있다. For example, the digital signature using server 300 can generate an online certificate, an electronic commerce document, an Internet stock transaction document, or the like as a signature target document. Then, the digital signature using server 300 can transmit the signature target data derived from the signature target document to the user terminal 200. [ The signature target data transmitted by the electronic signature utilizing server 300 may be the original data of the signature target document or the original data of the signature target document.

다른 예로, 서명 대상 데이터는 사용자 단말(200)에서 생성될 수도 있다. 즉, 사용자 단말(200)이 전자 서명의 대상이 되는 서명 대상 문서를 직접 생성할 수도 있다. 이 경우, 전자 서명 이용 서버(300)는 사용자 단말(200)에게 사용자 단말(200)이 생성한 서명 대상 데이터 및 전자 서명을 전자 서명 이용 서버(300)에게 전송해 줄 것을 요청할 수 있다.As another example, the data to be signed may be generated at the user terminal 200. That is, the user terminal 200 may directly generate a signature target document to be subjected to digital signature. In this case, the digital signature using server 300 may request the user terminal 200 to transmit the signature subject data and the digital signature generated by the user terminal 200 to the digital signature use server 300.

1120 단계에서, 사용자 단말(200)은 서명 대상 데이터를 가공할 수 있다. 예를 들어, 사용자 단말(200)은 해쉬(hash) 함수를 이용하여 서명 대상 데이터를 인코딩(encoding) 함으로써 서명 대상 데이터를 가공할 수 있다. 해쉬 함수 값의 데이터는 일정한 크기를 가지므로, 상기 해쉬 함수를 이용한 인코딩 과정을 통해 서명 대상 데이터의 크기가 변경될 수 있다. 사용자 단말(200)은 서명 대상 데이터를 가공하여 서명 대상 데이터의 크기를 변경함으로써 후술하는 전자 서명 생성이 용이하도록 할 수 있다. In step 1120, the user terminal 200 may process the data to be signed. For example, the user terminal 200 may process the data to be signed by encoding the data to be signed using a hash function. Since the data of the hash function value has a certain size, the size of the signature data can be changed through the encoding process using the hash function. The user terminal 200 can process the signature target data to change the size of the signature target data, thereby facilitating generation of a digital signature to be described later.

사용자 단말(200)은 서명 대상 데이터를 가공하는 과정에서 패딩 과정을 더 수행할 수 있다. 사용자 단말(200)은 패딩을 통해 서명 대상 데이터의 크기를 조절할 수 있다. 상기 패딩 절차는 해쉬 함수를 이용한 인코딩에 의해 가공된 데이터의 크기가 후술하는 전자 서명 생성을 위해 요구되는 데이터의 크기보다 작을 경우 수행될 수 있다. 사용자 단말(200)은 가공된 서명 대상 데이터를 전자 서명 서비스 서버(100)에 전송할 수 있다.The user terminal 200 can further perform the padding process in the process of processing the signature target data. The user terminal 200 can adjust the size of the signature target data through padding. The padding procedure may be performed when the size of the data processed by the encoding using the hash function is smaller than the size of data required for generating the digital signature described later. The user terminal 200 can transmit the processed signature subject data to the digital signature service server 100. [

도 5에서는 서명 대상 데이터를 가공하는 1120 단계가 사용자 단말(200)에서 수행되는 것을 예시적으로 나타냈지만, 실시예가 이에 제한되는 것은 아니다. 다른 실시예에 따르면, 1120 단계는 전자 서명 서비스 서버(100) 또는 전자 서명 이용 서버(300)에서 수행될 수도 있다. In FIG. 5, it is exemplified that step 1120 of processing the data to be signed is performed in the user terminal 200, but the embodiment is not limited thereto. According to another embodiment, step 1120 may be performed in the digital signature service server 100 or the digital signature use server 300. [

전자 서명 이용 서버(300)가 서명 대상 문서를 생성하는 경우, 전자 서명 이용 서버(300)에서 서명 대상 문서의 데이터에 대해 전술한 인코딩 및 패딩 절차를 수행할 수도 있다. 다른 예로, 전자 서명 서비스 서버(100)가 사용자 단말(200)로부터 서명 대상 데이터의 크기가 전자 서명 생성에 적절한 크기가 아닌 경우, 전자 서명 서비스 서버(100)가 서명 대상 데이터를 가공한 후, 가공된 데이터에 대해 전자 서명을 생성할 수도 있다.When the digital signature using server 300 generates a signature target document, the digital signature using server 300 may perform the above encoding and padding procedure on the data of the signature target document. As another example, when the digital signature service server 100 does not have a size suitable for digital signature generation from the user terminal 200, the digital signature service server 100 processes the signature subject data, It is possible to generate a digital signature for the data.

1124 단계에서, 사용자 단말(200)은 서명 대상 데이터 및 전자 서명 요청을 전자 서명 서비스 서버(100)에게 전송할 수 있다. 상기 전자 서명 요청은 사용자의 개인키를 이용하여 서명 대상 데이터에 대한 전자 서명을 생성해줄 것을 요청하는 것을 의미한다. 1124 단계에서 전송되는 서명 대상 데이터는 서명 대상 문서의 원본 데이터이거나 서명 대상 문서의 원본 데이터를 상기 인코딩 및 패딩을 통해 가공한 데이터일 수 있다.In step 1124, the user terminal 200 may transmit the signature target data and the digital signature request to the digital signature service server 100. The digital signature request is a request to generate a digital signature for the data to be signed using the user's private key. The signature target data transmitted in step 1124 may be original data of the signature target document or data obtained by processing the original data of the signature target document through the encoding and padding.

1126 단계에서, 전자 서명 서비스 서버(100)는 서명 대상 데이터 및 사용자의 개인키를 이용하여 전자 서명을 생성할 수 있다. 통신부(110)는 사용자 단말(200)로부터 수신한 서명 대상 데이터를 전자 서명 생성 모듈(140)에 전달할 수 있다. 전자 서명 생성 모듈(140)는 제1 저장 공간(132)에 저장된 개인키를 이용하여 서명 대상 데이터를 암호화 할 수 있다. 전자 서명 생성 모듈(140)는 RSA, Rabin 및 ECDSA(Elliptic Curve DSA) 알고리즘 중 적어도 하나를 이용하여 서명 대상 데이터를 암호화 할 수 있다. 상술한 알고리즘들은 예시적인 것에 불과하며 실시예가 이에 제한되는 것은 아니다. In step 1126, the digital signature service server 100 may generate the digital signature using the signature subject data and the user's private key. The communication unit 110 may transmit the signature target data received from the user terminal 200 to the digital signature generation module 140. The digital signature generation module 140 can encrypt the signature target data using the private key stored in the first storage space 132. [ The digital signature generation module 140 may encrypt the signature target data using at least one of RSA, Rabin, and Elliptic Curve DSA (ECDSA) algorithms. The above-described algorithms are merely illustrative and the embodiments are not limited thereto.

전자 서명 생성 모듈(140)은 서명 대상 데이터를 개인키를 이용하여 전자 서명을 생성할 수 있다. 전자 서명 생성 모듈 (140)에서 생성된 전자 서명은 통신부(110)로 전달될 수 있다. 하지만, 저장부(130)의 제1 저장 공간(132)에 등록된 개인키는 도 3의 하드웨어 보안 모듈(150) 외부로 전송되지 않을 수 있다. 따라서, 전자 서명 서비스 서버(100)가 전자 서명 서비스를 제공하는 동안, 사용자의 개인키는 외부에 공개되지 않을 수 있다. The digital signature generation module 140 can generate the digital signature using the private key of the signature target data. The digital signature generated by the digital signature generation module 140 may be transmitted to the communication unit 110. However, the private key registered in the first storage space 132 of the storage unit 130 may not be transmitted to the outside of the hardware security module 150 of FIG. Accordingly, while the electronic signature service server 100 provides the electronic signature service, the user's private key may not be disclosed to the outside.

1128 단계에서, 통신부(110)는 전자 서명 생성 모듈 (140)에서 생성된 전자 서명 및 제2 저장 공간(134)에 저장된 사용자의 인증서 데이터를 사용자 단말(200)에게 전송할 수 있다. 인증서 데이터는 전자 서명을 진행한 사용자 정보, 인증서 용도, 인증서 유효기간, 인증서 만료일, 인증서 발급기관 등에 관한 정보를 포함할 수 있다. 또한, 인증서 데이터는 상기 전자 서명을 검증 하기 위한 공개키를 포함할 수 있다. 또한, 인증서 데이터에는 인증서 데이터의 위조, 변조 여부를 판단하기 위해 제공되는 추가 서명이 첨부되어 있을 수 있다. 상기 추가 서명은 인증 서버(400)에서만 검증이 가능하도록 구성되어 있을 수 있다.In step 1128, the communication unit 110 may transmit the digital signature generated by the digital signature generation module 140 and the user's certificate data stored in the second storage space 134 to the user terminal 200. The certificate data may include information on the user who has performed the digital signature, the purpose of the certificate, the validity period of the certificate, the expiration date of the certificate, the certificate issuing authority, and the like. Further, the certificate data may include a public key for verifying the digital signature. Further, the certificate data may be accompanied by additional signatures provided to judge whether the certificate data is falsified or altered. The additional signature may be configured to be verifiable only by the authentication server 400.

1130 단계에서, 사용자 단말(200)의 프로세서(240)는 전자 서명 서비스 서버(100)로부터 수신한 전자 서명 및 인증서 데이터를 이용하여 전자 서명문을 생성할 수 있다. 전자 서명문에는 서명 대상 데이터, 서명 대상 데이터에 대한 전자 서명 및 상기 전자 서명을 인증하는 인증서 데이터가 첨부될 수 있다. 사용자 단말(200)은 소정의 프로토콜(Protocol)을 이용하여 전자 서명문을 생성할 수 있다. In step 1130, the processor 240 of the user terminal 200 may generate an electronic signature statement using the digital signature and the certificate data received from the digital signature service server 100. [ The electronic signature statement may be accompanied by data to be signed, a digital signature for the data to be signed, and certificate data for authenticating the digital signature. The user terminal 200 can generate a digital signature using a predetermined protocol.

1132 단계에서, 사용자 단말(200)의 통신부(210)는 프로세서(240)에서 생성된 전자 서명문을 전자 서명 이용 서버(300)에 전송할 수 있다. The communication unit 210 of the user terminal 200 may transmit the digital signature generated in the processor 240 to the digital signature using server 300 in step 1132. [

1134 단계에서 전자 서명 이용 서버(300)는 전자 서명문에 첨부된 인증서 데이터를 검증해줄 것을 인증 서버(400)에게 요청할 수 있다. In step 1134, the digital signature using server 300 may request the authentication server 400 to verify the certificate data attached to the digital signature.

1136 단계에서, 인증 서버(400)는 인증서 데이터를 검증할 수 있다. 인증 서버(400)는 인증서 데이터에 첨부된 추가 서명을 검증 해봄으로써 인증서 데이터의 위조, 변조 여부를 검증할 수 있다.In step 1136, the authentication server 400 may verify the certificate data. The authentication server 400 can verify whether the certificate data is falsified or tampered by verifying the additional signature attached to the certificate data.

1138 단계에서, 인증 서버(400)는 인증서 데이터에 대한 검증 결과를 전자 서명 이용 서버(300)에 전송할 수 있다. In step 1138, the authentication server 400 may transmit the verification result of the certificate data to the digital signature using server 300. [

1140 단계에서, 인증서 데이터의 검증이 완료된 경우, 전자 서명 이용 서버(300)는 사용자 단말(200)로부터 수신한 전자 서명문을 검증할 수 있다. 전자 서명 이용 서버(300)는 전자 서명문에 첨부된 공개키를 이용하여 전자 서명문에 첨부된 전자 서명을 검증 할 수 있다. 전자 서명 이용 서버(300)는 전자 서명을 복호화 한 결과 데이터와 전자 서명문에 첨부된 서명 대상 데이터를 비교함으로써 전자 서명문을 검증할 수 있다. In step 1140, when the verification of the certificate data is completed, the digital signature using server 300 can verify the digital signature received from the user terminal 200. The digital signature utilizing server 300 can verify the digital signature attached to the digital signature statement using the public key attached to the digital signature statement. The digital signature using server 300 can verify the digital signature statement by comparing the data obtained by decoding the digital signature with the signature subject data attached to the digital signature statement.

도 5에서 나타낸 실시예에 따르면, 전자 서명 서비스 서버(100)가 사용자의 개인키를 등록하고 관리하기 때문에 사용자 단말(200)에서 상기 개인키를 관리하지 않아도 된다. 따라서, 사용자가 개인키가 저장된 매체를 직접 소지하지 않아도 되는 효과가 발생한다. 또한, 사용자가 전자 서명을 위한 개인키를 여러 매체에 이동 또는 복사해야 하는 번거로움이 사라지는 효과가 발생한다. According to the embodiment shown in FIG. 5, since the digital signature service server 100 registers and manages the user's private key, the user terminal 200 does not have to manage the private key. Therefore, there is an effect that the user does not have to directly carry the medium in which the private key is stored. Also, there is an effect that the user does not need to move or copy the private key for digital signature to various media.

실시예에 따르면, 개인키가 전자 서명 서비스 서버(100)에 저장되므로, 사용자가 개인키가 저장된 매체를 잃어버림에 따라 사용자의 전자 서명이 도용 당하는 것을 방지하는 효과가 발생할 수 있다. 그리고, 전자 서명 서비스 서버(100)의 제1 저장 공간(132)과 전자 서명 생성 모듈(140)로 하드웨어 보안 모듈(150)을 구성함으로써, 사용자의 개인키를 타인이 복제 또는 확인하는 것을 방지할 수 있다.According to the embodiment, since the private key is stored in the digital signature service server 100, it is possible to prevent the digital signature of the user from being stolen as the user loses the medium in which the private key is stored. The hardware security module 150 is configured with the first storage space 132 and the digital signature generation module 140 of the digital signature service server 100 to prevent duplication or confirmation of the user's private key .

실시예에 따르면, 전자 서명 서비스 시스템(1000)에 의해 전자 서명 서비스가 수행되는 방법은 전자 서명 서비스 서버(100)가 사용자 단말(200)의 사용자를 인증하는 과정을 더 포함할 수 있다.According to an embodiment, a method in which the digital signature service is performed by the digital signature service system 1000 may further include a step in which the digital signature service server 100 authenticates a user of the user terminal 200.

도 6은 도 1에서 나타낸 전자 서명 서비스 시스템(1000)에 의해 전자 서명 서비스가 제공되는 방법의 다른 예시를 나타낸 흐름도이다.6 is a flowchart showing another example of a method in which an electronic signature service is provided by the digital signature service system 1000 shown in FIG.

도 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 signature service server 100 may authenticate a user of the user terminal 200. The processor 120 of the digital signature service server 100 may perform a process of verifying the device authentication data acquired from the user terminal 200. [ When the verification of the device authentication data is completed, the processor 120 may request the digital signature generation module 140 to generate a digital signature using the private key having a use right by the user.

1210 단계에서, 전자 서명 서비스 서버(100)는 사용자 단말(200)로부터 기기 인증 데이터를 획득할 수 있다. 기기 인증 데이터는 상술한 기기 인증을 위한 정보로부터 도출될 수 있다. 사용자 단말(200)이 기기 인증 데이터를 생성하는 과정에 대해서는 후술하는 설명에서 보다 상세히 기술한다.In step 1210, the digital signature service server 100 may obtain the device authentication data from the user terminal 200. [ The device authentication data can be derived from the above-described information for device authentication. The process of generating the device authentication data by the user terminal 200 will be described later in more detail.

1212 단계에서, 전자 서명 서비스 서버(100)의 통신부(110)는 사용자 단말(200)로부터 기기 인증 데이터를 수신할 수 있다. 프로세서(120)는 통신부(110)가 수신한 기기 인증 데이터를 검증할 할 수 있다. 프로세서(120)는 사용자가 저장부(130)에 저장된 개인키를 사용할 수 있는 권한이 있는 지 여부를 판단할 수 있다. 또한, 저장부(130)에 복수 개의 개인키가 저장된 경우, 프로세서(120)는 사용자가 사용할 수 있는 개인키가 어느 것인지를 결정할 수 있다. 전자 서명 서비스 서버(100)가 기기 인증 데이터를 검증하는 과정에 대해서는 후술하는 설명에서 보다 상세히 기술한다.In step 1212, the communication unit 110 of the digital signature service server 100 can receive the device authentication data from the user terminal 200. [ The processor 120 can verify the device authentication data received by the communication unit 110. [ The processor 120 may determine whether the user is authorized to use the private key stored in the storage unit 130. [ In addition, when a plurality of private keys are stored in the storage unit 130, the processor 120 can determine which private key is usable by the user. The process of verifying the device authentication data by the digital signature service server 100 will be described later in more detail.

1214 단계에서, 전자 서명 서비스 서버(100)는 기기 인증 데이터를 검증한 결과를 사용자 단말(200)에게 전송할 수 있다. 프로세서(120)에서 기기 인증 데이터에 대한 검증이 실패한 경우, 통신부(110)는 사용자 인증이 실패하였다는 메시지를 사용자 단말(200)에게 전송할 수 있다. 프로세서(120)에서 기기 인증 데이터에 대한 검증을 완료한 경우, 통신부(110)는 사용자 인증이 완료되었다는 메시지를 사용자 단말(200)에 전송할 수 있다. In step 1214, the digital signature service server 100 may transmit the result of verifying the device authentication data to the user terminal 200. [ When the verification of the device authentication data by the processor 120 fails, the communication unit 110 may transmit a message to the user terminal 200 that the user authentication has failed. When the processor 120 completes the verification of the device authentication data, the communication unit 110 may transmit a message to the user terminal 200 indicating that the user authentication is completed.

기기 인증 데이터에 대한 검증이 완료되면, 통신부(110)는 사용자가 사용할 수 있는 인증서 목록 정보를 사용자 단말(200)에 전송할 수 있다. 만약, 사용자가 사용할 수 있는 인증서의 개수가 복수 개인 경우, 사용자 단말(200)은 사용자로부터 인증서의 선택 정보를 입력 받을 수 있다. 그리고, 사용자 단말(200)은 전자 서명 서비스 서버(100)에게 인증서의 선택 정보를 전송할 수 있다.When the verification of the device authentication data is completed, the communication unit 110 can transmit the certificate list information usable by the user to the user terminal 200. [ If there are a plurality of certificates available to the user, the user terminal 200 may receive the selection information of the certificate from the user. The user terminal 200 can transmit the certificate selection information to the electronic signature service server 100. [

이하에서는 기기 인증 데이터로부터 사용자를 인증하는 절차를 예시적으로 설명한다.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 user terminal 200 by the digital signature service server 100. Referring to FIG.

도 7을 참조하면, 사용자 단말(200)은 로컬 인증 절차를 수행할 수 있다. 사용자 단말(200)은 로컬 인증 절차가 완료되면, 기기 인증을 위한 정보로부터 기기 인증 데이터를 생성하고, 상기 기기 인증 데이터를 전자 서명 서비스 서버(100)에게 전송할 수 있다. 전자 서명 서비스 서버(100)는 기기 인증 데이터를 검증함으로써 사용자를 인증할 수 있다. Referring to FIG. 7, the user terminal 200 may perform a local authentication procedure. When the local authentication procedure is completed, the user terminal 200 can generate the device authentication data from the device authentication information and transmit the device authentication data to the digital signature service server 100. The electronic signature service server 100 can authenticate the user by verifying the device authentication data.

상기 기기 인증을 위한 정보는 사용자 단말(200)의 기기에 부여된 고유 식별번호, 기기 정보, 사용자가 전자 서명 서비스에 가입할 때 사용자 단말(200)에 부여된 ID 등을 포함할 수 있다. 그리고, 기기 인증 데이터는 상기 기기 인증을 위한 정보의 전부 또는 일부를 변조함으로써 획득된 데이터일 수 있다.The device authentication information may include a unique identification number assigned to the device of the user terminal 200, device information, an ID assigned to the user terminal 200 when the user subscribes to the digital signature service, and the like. The device authentication data may be data obtained by modulating all or a part of the information for the device authentication.

1510 단계에서, 사용자 단말(200)은 로컬 인증 절차를 수행할 수 있다. 로컬 인증은 사용자 단말(200) 내부에서 진행되는 것으로 사용자 단말(200)은 자체적으로 사용자가 입력하는 사용자 인증 정보를 검증할 수 있다. 사용자 단말(200)의 입력부(230)는 사용자로부터 사용자 인증 정보를 입력 받을 수 있다. 입력부(230)는 사용자 ID, 사용자의 생체 정보, 패스워드 등을 상기 사용자 인증 정보로 입력 받을 수 있다. 입력부(230)가 사용자의 생체 정보를 입력 받는 경우, 입력부(230)는 사용자의 생체 신호를 감지하는 센서를 포함할 수 있다. In operation 1510, the user terminal 200 may perform a local authentication procedure. Local authentication is performed in the user terminal 200, and the user terminal 200 can verify the user authentication information input by the user. The input unit 230 of the user terminal 200 may receive user authentication information from a user. The input unit 230 may receive a user ID, biometric information of a user, a password, and the like as the user authentication information. When the input unit 230 receives the user's biometric information, the input unit 230 may include a sensor for sensing the user's biometric signal.

로컬 인증부(220)는 입력부(230)가 입력 받은 사용자 인증 정보로부터 사용자를 인증할 수 있다. 로컬 인증부(220)는 로컬 인증 과정에서 상기 사용자 인증 정보가 외부로 유출되지 않도록 관리할 수 있다. 로컬 인증부(220)의 로컬 인증 과정은 후술하는 설명에서 상세히 기술한다.The local authentication unit 220 can authenticate the user from the user authentication information received by the input unit 230. The local authentication unit 220 can manage the user authentication information so that the user authentication information is not leaked to the outside during the local authentication process. The local authentication process of the local authentication unit 220 will be described later in detail.

1530 단계에서, 프로세서(240)는 기기 인증용 키 쌍을 이용하여 기기 인증 데이터를 생성할 수 있다. 기기 인증용 키 쌍은 암호화를 위한 기기 인증용 개인키와 기기 인증용 개인키로 암호화 된 데이터를 복호화 하기 위한 기기 인증용 공개키를 포함할 수 있다. 기기 인증용 키 쌍은 기기 인증을 위한 정보로부터 기기 인증 데이터를 생성하는데 이용되는 것으로 전자 서명 생성을 위한 키 쌍과는 서로 다른 것일 수 있다. 기기 인증용 키 쌍은 사용자 단말(200)에 의해 생성된 것이거나 전자 서명 서비스 서버(100)가 사용자 단말(200)에게 제공한 것일 수 있다.In step 1530, the processor 240 may generate the device authentication data using the device authentication key pair. The key pair for device authentication may include a private key for device authentication for encryption and a public key for device authentication for decrypting the data encrypted with the private key for device authentication. The key pair for device authentication is used to generate the device authentication data from the information for device authentication, and may be different from the key pair for generating the digital signature. The key pair for device authentication may be generated by the user terminal 200 or provided by the digital signature service server 100 to the user terminal 200.

프로세서(240)는 기기 인증용 키 쌍에 포함된 기기 인증용 개인키를 이용하여 기기 인증 데이터를 생성할 수 있다. 사용자 단말(200)은 상기 기기 인증용 개인키를 이용하여 기기 인증을 위한 정보의 전부 또는 일부를 암호화 함으로써 기기 인증 데이터를 생성할 수 있다. 프로세서(240)는 RSA, Rabin 및 ECDSA(Elliptic Curve DSA) 알고리즘 중 적어도 하나를 이용하여 기기 인증을 위한 정보의 적어도 일부를 암호화 할 수 있다. 상술한 알고리즘들은 예시적인 것에 불과하며 실시예가 이에 제한되는 것은 아니다.The processor 240 can generate the device authentication data using the device authentication private key included in the device authentication key pair. The user terminal 200 can generate device authentication data by encrypting all or a part of the information for device authentication using the device authentication private key. Processor 240 may encrypt at least a portion of the information for device authentication using at least one of RSA, Rabin, and Elliptic Curve DSA (ECDSA) algorithms. The above-described algorithms are merely illustrative and the embodiments are not limited thereto.

기기 인증용 키 쌍은 기기 인증 데이터를 생성할 때 마다 새롭게 갱신될 수 있다. 하지만, 실시예가 이에 제한되는 것은 아니다. 예를 들어, 기기 인증용 키 쌍은 소정의 횟수만큼 반복 사용된 후, 폐기될 수도 있다.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 communication unit 210 of the user terminal 200 may transmit to the electronic signature service server 100 the public key for device authentication and the device authentication data included in the key pair for device authentication.

1550 단계에서, 전자 서명 서비스 서버(100)의 통신부(110)는 사용자 단말(200)로부터 기기 인증용 공개키 및 기기 인증 데이터를 수신할 수 있다. 그리고, 전자 서명 서비스 서버(100)의 프로세서(120)는 상기 기기 인증용 공개키를 이용하여 기기 인증 데이터를 검증할 수 있다. 예시적으로, 프로세서(120)는 기기 인증용 공개키를 이용하여 기기 인증 데이터를 복호화 함으로써 기기 인증 데이터를 검증할 수 있다. 프로세서(120)는 기기 인증 데이터를 검증함으로써 사용자가 전자 서명의 생성 권한이 있는 지 여부를 판단할 수 있다. In step 1550, the communication unit 110 of the digital signature service server 100 may receive the device authentication public key and the device authentication data from the user terminal 200. The processor 120 of the digital signature service server 100 can verify the device authentication data using the device authentication public key. Illustratively, the processor 120 may verify the device authentication data by decrypting the device authentication data using a public key for device authentication. The processor 120 may determine whether the user is authorized to generate the digital signature by verifying the device authentication data.

도 7에서 나타낸 바와 같이, 사용자 단말(200)에서 수행되는 로컬 인증 및 사용자 단말(200)과 전자 서명 서비스 서버(100) 사이에서 이루어지는 원격 인증이 병행하여 이루어 짐으로써, 사용자 인증에 대한 보안이 강화될 수 있다. 또한, 사용자 단말(200)이 기기 인증을 위한 정보를 기기 인증 데이터로 변조하여 전자 서명 서비스 서버(100)에 전송함으로써, 상기 기기 인증을 위한 정보가 외부 장치에 의해 탈취되는 것을 방지할 수 있다. As shown in FIG. 7, since the local authentication performed in the user terminal 200 and the remote authentication performed between the user terminal 200 and the digital signature service server 100 are performed in parallel, . In addition, by modulating the information for device authentication with the device authentication data and transmitting the information to the digital signature service server 100, the user terminal 200 can prevent the information for device authentication from being stolen by the external device.

1510 단계에서 나타낸 로컬 인증 과정은 다양한 방식으로 이루어질 수 있다. 예를 들어, 사용자 단말(200)의 로컬 인증부(220)는 캡챠를 생성할 수 있다. 캡챠는 컴퓨터가 구별하기 어려운 왜곡된 문자 또는 숫자 이미지를 포함할 수 있다. 또한, 캡챠는 문자 또는 숫자를 읽어주는 음성에 잡음을 섞은 음성 파일을 포함할 수도 있다. 그리고, 사용자 단말(200)은 상기 캡챠를 이용하여 사용자 인증이 기계가 아닌 사람에 의해 이루어지는 것임을 확인할 수 있다. The local authentication process shown in step 1510 may be performed in various manners. For example, the local authentication unit 220 of the user terminal 200 may generate a captcha. The captcha may contain distorted text or numeric images that are difficult for a computer to distinguish. The captcha may also include a voice file that mixes noise with a voice or a voice reading digit. Then, the user terminal 200 can confirm that the user authentication is performed by a person other than the machine by using the captcha.

또한, 사용자 단말(200)의 입력부는 사용자 인증을 위한 사용자의 입력 정보를 획득할 수 있다. 상기 사용자 입력 정보는 사용자가 입력하는 ID, 패스워드, PIN, 사용자의 생체 신호 등을 포함할 수 있다. 로컬 인증부(220)는 입력부가 입력 받은 상기 사용자 입력 정보를 검증함으로써 로컬 인증을 수행할 수 있다. 로컬 인증이 완료되면, 원격 인증 절차가 진행될 수 있다.In addition, the input unit of the user terminal 200 may acquire user input information for user authentication. The user input information may include an ID, a password, a PIN, a user's bio-signal, etc. input by the user. The local authentication unit 220 can perform local authentication by verifying the user input information inputted by the input unit. When the local authentication is completed, the remote authentication procedure may proceed.

다시 도 6을 참조하면, 1210, 1212 및 1214 단계에서 사용자 인증이 완료되고 나면, 사용자 단말(200)과 전자 서명 서비스 서버(100)는 전자 서명 서비스와 관련된 데이터 및 정보를 서로 송수신할 수 있다. 1224, 1228 단계 등에서 전자 서명 서비스 서버(100)와 사용자 단말(200) 사이에서 송수신 되는 데이터 및 정보는 전자 서명의 도용 방지 및 사용자의 프라이버시 보호를 위해 외부에 공개되는 것을 방지할 필요가 있다.6, after the user authentication is completed in steps 1210, 1212, and 1214, the user terminal 200 and the digital signature service server 100 can transmit and receive data and information related to the digital signature service. It is necessary to prevent data and information transmitted and received between the digital signature service server 100 and the user terminal 200 from being disclosed to the outside in order to prevent the digital signature from being stolen and to protect the user's privacy in steps 1224,

도 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 signature service system 1000 may include a step 1220 of creating a secure communication session.

1120 단계에서, 전자 서명 서비스 서버(100)의 프로세서(120)는 사용자 단말(200) 사이에 송수신 되는 데이터 및 정보를 암호화 하기 위한 세션키 및 토큰을 생성할 수 있다. 세션키는 상기 보안 통신 세션에서 송수신 되는 데이터 및 정보를 암호화하기 위한 키를 의미한다. 또한, 토큰은 상기 보안 통신 세션에서 데이터 및 정보를 수신하고 전송할 수 있는 권한을 나타내는 메시지의 일종이다. In step 1120, the processor 120 of the digital signature service server 100 may generate a session key and a token for encrypting data and information transmitted and received between the user terminals 200. The session key is a key for encrypting data and information transmitted and received in the secure communication session. The token is also a kind of message indicating the right to receive and transmit data and information in the secure communication session.

전자 서명 서비스 서버(100)의 프로세서(120)는 상기 세션키 및 토큰을 생성하고 상기 세션키 및 토큰을 사용자 단말(200)과 공유함으로써 보안 통신 세션을 생성할 수 있다. 보안 통신 세션이 생성되면, 전자 서명 서비스 서버(100)와 사용자 단말(200)은 각각 송신하는 정보 및 데이터에 상기 토큰을 함께 첨부함으로써, 상기 보안 통신 세션을 이용할 권한이 있음을 인증할 수 있다. 또한, 전자 서명 서비스 서버(100)는 사용자 단말(200)로부터 수신한 토큰을 검증함으로써 사용자가 전자 서명을 생성할 권한이 있는지 여부를 판단할 수 있다. 또한, 전자 서명 생성 모듈(140)은 저장부(130)에 저장된 개인키들 가운데 상기 토큰에 대응하는 개인키가 무엇인지를 결정하고, 상기 토큰에 대응하는 개인키를 이용하여 사용자의 전자 서명을 생성할 수 있다.The processor 120 of the digital signature service server 100 may generate a secure communication session by generating the session key and the token and sharing the session key and the token with the user terminal 200. [ When a secure communication session is created, the digital signature service server 100 and the user terminal 200 can authenticate that they are authorized to use the secure communication session by attaching the token together with the information and data to be transmitted, respectively. In addition, the digital signature service server 100 can determine whether or not the user is authorized to generate the digital signature by verifying the token received from the user terminal 200. [ Also, the digital signature generation module 140 determines what the private key corresponding to the token among the private keys stored in the storage unit 130 is, and generates a digital signature of the user using the private key corresponding to the token can do.

상기 보안 통신 세션을 통해 전자 서명 서비스 서버(100)와 사용자 단말(200) 사이에서 송수신 되는 정보 및 데이터는 상기 세션키에 의해 암호화 될 수 있다. 예를 들어, 1224 단계에서 사용자 단말(200)은 서명 대상 데이터 및 전자 서명 요청을 상기 세션키로 암호화 하여 전자 서명 서비스 서버(100)에 전송할 수 있다. 그리고, 전자 서명 서비스 서버(100)의 프로세서(120)는 상기 세션키를 이용하여 상기 암호화 된 전자 서명 요청 및 서명 대상 데이터를 복호화 할 수 있다. Information and data transmitted and received between the digital signature service server 100 and the user terminal 200 through the secure communication session can be encrypted by the session key. For example, in step 1224, the user terminal 200 may encrypt the signature target data and the digital signature request using the session key and transmit the encrypted data to the digital signature service server 100. The processor 120 of the digital signature service server 100 may decrypt the encrypted digital signature request and the signature target data using the session key.

마찬가지로, 1228 단계에서 전자 서명 서비스 서버(100)의 프로세서(120)는 사용자의 전자 서명 및 인증서 데이터를 상기 세션키로 암호화 하여 사용자 단말(200)에 전송할 수 있다. 그리고, 사용자 단말(200)의 프로세서(240)는 상기 세션키를 이용하여 상기 암호화 된 전자 서명 및 인증서 데이터를 복호화 할 수 있다.Similarly, in step 1228, the processor 120 of the digital signature service server 100 may encrypt the digital signature and the certificate data of the user using the session key, and transmit the digital signature and the certificate data to the user terminal 200. The processor 240 of the user terminal 200 may decrypt the encrypted digital signature and the certificate data using the session key.

도 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 signature service server 100 and the user terminal 200 using the session key generated in operation 1220. It is possible to prevent the digital signature of the user from being stolen by encrypting data and information transmitted and received between the digital signature service server 100 and the user terminal 200. [ In addition, it is possible to prevent the user's digital signature service utilization information from being leaked to the outside.

도 9는 도 8에서 나타낸 보안 통신 세션 생성 단계(1220)가 수행되는 과정을 예시적으로 나타낸 흐름도이다.FIG. 9 is a flowchart illustrating a process of generating secure communication session 1220 shown in FIG.

1610 단계에서, 전자 서명 서비스 서버(100)의 프로세서(120)는 세션키 및 토큰을 생성할 수 있다.In step 1610, the processor 120 of the digital signature service server 100 may generate a session key and a token.

1612 단계에서, 프로세서(120)는 세션키 및 토큰을 암호화 할 수 있다. 세션키 및 토큰은 다양한 방법으로 암호화 될 수 있다. 예를 들어, 프로세서(120)는 도 7에서 나타낸 1540 단계에서 획득한 기기 인증용 공개키를 이용하여 상기 세션키 및 토큰을 암호화 할 수 있다. 프로세서(120)는 RSA, Rabin 및 ECDSA(Elliptic Curve DSA) 알고리즘 중 적어도 하나를 이용하여 상기 세션키 및 토큰을 암호화 할 수 있다.In step 1612, the processor 120 may encrypt the session key and the token. The session key and token can be encrypted in various ways. For example, the processor 120 may encrypt the session key and the token using the public key for device authentication acquired in step 1540 shown in FIG. The processor 120 may encrypt the session key and the token using at least one of RSA, Rabin, and Elliptic Curve DSA (ECDSA) algorithms.

1614 단계에서, 전자 서명 서비스 서버(100)는 통신부(110)를 통해 암호화 된 세션키 및 토큰 데이터를 사용자 단말(200)에 전송할 수 있다.In operation 1614, the digital signature service server 100 may transmit the encrypted session key and token data to the user terminal 200 through the communication unit 110.

1620 단계에서, 사용자 단말(200)의 프로세서(240)는 암호화 된 세션키 및 토큰 데이터를 복호화 할 수 있다. 예를 들어, 프로세서(240)는 도 7에서 나타낸 1520 단계에서 생성된 기기 인증용 개인키를 이용하여 상기 암호화 된 세션키 및 토큰 데이터를 복호화 할 수 있다.In operation 1620, the processor 240 of the user terminal 200 may decrypt the encrypted session key and the token data. For example, the processor 240 may decrypt the encrypted session key and token data using the device authentication private key generated in step 1520 shown in FIG.

1622 단계에서, 사용자 단말(200)의 프로세서(240)는 제1 난수를 생성할 수 있다. 상기 제1 난수는 사용자 단말(200)에 의해 랜덤으로 생성되는 숫자 배열을 의미한다.In step 1622, the processor 240 of the user terminal 200 may generate a first random number. The first random number is a random number generated by the user terminal 200.

1624 단계에서, 사용자 단말(200)의 프로세서(240)는 세션키를 이용하여 제1 난수로부터 유도하여 단말 인증 데이터를 생성할 수 있다. 예시적으로, 프로세서(240)는 세션키를 이용하여 제1 난수를 암호화 함으로써 단말 인증 데이터를 생성할 수 있다. 상기 단말 인증 데이터는 제1 난수의 암호화 결과의 전부 또는 일부를 포함할 수 있다.In step 1624, the processor 240 of the user terminal 200 may derive terminal authentication data from the first random number using the session key. Illustratively, the processor 240 may generate terminal authentication data by encrypting the first random number using the session key. The terminal authentication data may include all or part of the encryption result of the first random number.

1626 단계에서, 사용자 단말(200)은 통신부(210)를 통해 제1 난수 및 제1 난수로부터 생성된 단말 인증 데이터를 전자 서명 서비스 서버(100)에게 전송할 수 있다.  In step 1626, the user terminal 200 may transmit the terminal authentication data generated from the first random number and the first random number to the digital signature service server 100 through the communication unit 210.

1630 단계에서, 전자 서명 서비스 서버(100)의 프로세서(120)는 세션키를 이용하여 단말 인증 데이터를 검증 할 수 있다. 프로세서(120)는 1624 단계와 동일한 과정을 통하여 제1 난수로부터 세션키를 이용하여 생성한 데이터와 사용자 단말(200)로부터 수신한 단말 인증 데이터를 비교함으로써, 단말 인증 데이터를 검증할 수 있다. 프로세서(120)는 단말 인증 데이터를 검증함으로써, 사용자 단말(200)이 세션키 및 토큰을 획득했다는 것을 확인할 수 있다.In step 1630, the processor 120 of the digital signature service server 100 may verify the terminal authentication data using the session key. The processor 120 can verify the terminal authentication data by comparing the data generated using the session key from the first random number with the terminal authentication data received from the user terminal 200 through the same process as step 1624. [ The processor 120 can verify that the user terminal 200 has obtained the session key and the token by verifying the terminal authentication data.

1632 단계에서, 전자 서명 서비스 서버(100)의 프로세서(120)는 단말 인증 데이터의 검증이 완료되면, 제2 난수를 생성할 수 있다. In step 1632, the processor 120 of the digital signature service server 100 can generate the second random number when the verification of the terminal authentication data is completed.

1634 단계에서, 전자 서명 서비스 서버(100) 프로세서(120)는 세션키를 이용하여 제2 난수로부터 유도하여 서버 인증 데이터를 생성할 수 있다. 예시적으로, 프로세서(120)는 세션키를 이용하여 제2 난수를 암호화 함으로써 서버 인증 데이터를 생성할 수 있다. 상기 서버 인증 데이터는 제2 난수의 암호화 결과의 전부 또는 일부를 포함할 수 있다.In step 1634, the digital signature service server 100 processor 120 may derive the server authentication data from the second random number using the session key. Illustratively, the processor 120 may generate the server authentication data by encrypting the second random number using the session key. The server authentication data may include all or part of the encryption result of the second random number.

1636 단계에서, 전자 서명 서비스 서버(100)는 통신부(110)를 통해 제2 난수 및 서버 인증 데이터를 사용자 단말(200)에게 전송할 수 있다. In step 1636, the digital signature service server 100 may transmit the second random number and the server authentication data to the user terminal 200 through the communication unit 110.

1640 단계에서, 사용자 단말(200)의 프로세서(240)는 세션키를 이용하여 서버 인증 데이터를 검증할 수 있다. 프로세서(240)는 1634 단계와 동일한 과정을 통하여 생성된 데이터와 전자 서명 서비스 서버(100)로부터 수신한 서버 인증 데이터를 비교함으로써, 상기 서버 인증 데이터를 검증할 수 있다. 프로세서(240)는 서버 인증 데이터를 검증함으로써, 세션키 및 토큰이 전자 서명 서비스 서버(100)에 의해 생성되었다는 것을 확인할 수 있다. In step 1640, the processor 240 of the user terminal 200 may verify the server authentication data using the session key. The processor 240 can verify the server authentication data by comparing the data generated through the same process as step 1634 with the server authentication data received from the electronic signature service server 100. [ The processor 240 can verify the session key and the token are generated by the electronic signature service server 100 by verifying the server authentication data.

상술한 단말 인증 데이터 및 서버 인증 데이터에 대한 검증이 완료되면, 전자 서명 서비스 서버(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 signature service server 100 and the user terminal 200. The electronic signature service server 100 and the user terminal 200 can encrypt transmission / reception data using the session key. The security of the digital signature service can be improved by encrypting the transmission / reception data between the digital signature service server 100 and the user terminal 200.

도 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 user terminal 200. [ Server authentication data may also be generated from other authentication information stored in the electronic signature service server 100. [

도 10은 상기 보안 통신 세션을 이용하여 전자 서명 서비스 서버(100)와 사용자 단말(200)이 데이터를 송수신 하는 것을 나타낸 흐름도이다.10 is a flowchart showing that the digital signature service server 100 and the user terminal 200 transmit and receive data using the secure communication session.

1712 단계에서, 사용자 단말(200)의 프로세서(240)는 전자 서명 서비스 서버(100)에게 전송하고자 하는 단말 송신 데이터를 생성할 수 있다. 상기 단말 송신 데이터는 사용자 단말(200)로부터 전자 서명 서비스 서버(100)로 송신되는 데이터를 의미한다. 예를 들어, 단말 송신 데이터는 전자 서명의 요청, 서명 대상 데이터 등을 포함할 수 있다.In step 1712, the processor 240 of the user terminal 200 may generate the terminal transmission data to be transmitted to the digital signature service server 100. The terminal transmission data means data transmitted from the user terminal 200 to the digital signature service server 100. For example, the terminal transmission data may include a request for an electronic signature, data to be signed, and the like.

1714 단계에서, 사용자 단말(200) 의 프로세서(240)는 세션키를 이용하여 상기 단말 송신 데이터를 암호화 할 수 있다. In step 1714, the processor 240 of the user terminal 200 may encrypt the terminal transmission data using the session key.

1716 단계에서, 사용자 단말(200)은 통신부(210)를 통해 암호화 된 단말 송신 데이터를 전송할 수 있다.In step 1716, the user terminal 200 can transmit encrypted terminal transmission data through the communication unit 210. [

1720 단계에서, 전자 서명 서비스 서버(100)의 프로세서(120)는 통신부(110)가 수신한 상기 암호화 된 단말 송신 데이터를 복호화 할 수 있다. 프로세서(120)는 세션키를 이용하여 상기 암호화 된 단말 송신 데이터를 복호화 할 수 있다. In step 1720, the processor 120 of the digital signature service server 100 may decrypt the encrypted terminal transmission data received by the communication unit 110. The processor 120 may decrypt the encrypted terminal transmission data using the session key.

1722 단계에서, 상기 단말 송신 데이터가 소정의 서비스를 요청하는 서비스 요청을 포함하는 경우, 전자 서명 서비스 서버(100)는 상기 요청을 처리할 수 있다. 예를 들어, 단말 송신 데이터에 전자 서명 생성의 요청이 포함된 경우, 전자 서명 서비스 서버(100)는 사용자의 전자 서명 생성을 진행할 수 있다.In step 1722, when the terminal transmission data includes a service request for requesting a predetermined service, the digital signature service server 100 may process the request. For example, when the terminal transmission data includes a request for generating an electronic signature, the digital signature service server 100 can proceed to generate the digital signature of the user.

1724 단계에서, 전자 서명 서비스 서버(100)의 프로세서(120)는 사용자 단말(200)에게 전송하고자 하는 서버 송신 데이터를 생성할 수 있다. 상기 서버 송신 데이터는 전자 서명 서비스 서버(100)로부터 사용자 단말(200)로 송신되는 데이터를 의미한다. 예를 들어, 서버 송신 데이터는 전자 서명, 인증서 데이터 등을 포함할 수 있다. In step 1724, the processor 120 of the digital signature service server 100 may generate server transmission data to be transmitted to the user terminal 200. [ The server transmission data means data transmitted from the digital signature service server 100 to the user terminal 200. For example, the server transmission data may include an electronic signature, certificate data, and the like.

1726 단계에서, 전자 서명 서비스 서버(100)의 프로세서(120)는 세션키를 이용하여 상기 서버 송신 데이터를 암호화 할 수 있다. In step 1726, the processor 120 of the digital signature service server 100 may encrypt the server transmission data using the session key.

1730 단계에서, 전자 서명 서비스 서버(100)는 통신부(110)를 통해 암호화 된 서버 송신 데이터를 전송할 수 있다.In step 1730, the digital signature service server 100 may transmit the encrypted server transmission data through the communication unit 110. [

1732 단계에서, 사용자 단말(200)의 프로세서(240)는 통신부(210)가 수신한 상기 암호화 된 서버 송신 데이터를 복호화 할 수 있다. 프로세서(240)는 세션키를 이용하여 상기 암호화 된 서버 송신 데이터를 복호화 할 수 있다. In step 1732, the processor 240 of the user terminal 200 may decrypt the encrypted server transmission data received by the communication unit 210. The processor 240 may decrypt the encrypted server transmission data using the session key.

이상에서 예시적으로, 전자 서명 서비스 서버(100)가 미리 등록된 사용자의 개인키를 이용하여 전자 서명을 생성하고, 생성한 전자 서명을 사용자 단말(200)에게 제공하는 것에 관해 설명하였다. In the above description, the digital signature service server 100 generates the digital signature using the private key of the user registered in advance, and provides the generated digital signature to the user terminal 200. [

이하에서는 전자 서명 서비스 서버에 사용자의 개인키를 등록하는 과정에 대해서 설명한다.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 signature service system 1000 shown in FIG. Referring to FIGS. 11A and 11B, at least a part of a key pair corresponding to a certificate issued or renewed by a user may be registered in the digital signature service server 100. FIG.

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 user terminal 200 may request the digital signature service server 100 to generate a key pair for generating a digital signature of the user.

2122 단계에서, 전자 서명 서비스 서버(100)의 프로세서(120)는 사용자 단말(200)의 요청에 응답하여 키 쌍을 생성할 수 있다. 전자 서명 서비스 서버(100)는 상기 키 쌍에 포함된 개인키를 등록할 수 있다. 전자 서명 서비스 서버(100)는 상기 개인키를 저장부(130)의 제1 저장 공간(132)에 저장함으로써, 상기 개인키를 등록할 수 있다. 개인키는 전자 서명 서비스 서버(100) 외부로 공개되지 않을 수 있다. 상기 키 쌍에 포함된 공개키는 저장부(130)의 제2 저장 공간(134)에 저장될 수 있다. 다른 예로, 상기 공개키는 저장부(130)에 저장되지 않고, 사용자 단말(200)에게 전송될 수도 있다. In step 2122, the processor 120 of the digital signature service server 100 may generate a key pair in response to a request from the user terminal 200. [ The electronic signature service server 100 may register the private key included in the key pair. The digital signature service server 100 can register the private key by storing the private key in the first storage space 132 of the storage unit 130. [ The private key may not be disclosed outside the digital signature service server 100. The public key included in the key pair may be stored in the second storage space 134 of the storage unit 130. As another example, the public key may not be stored in the storage unit 130 but may be transmitted to the user terminal 200.

2124 단계에서, 전자 서명 서비스 서버(100)는 통신부(110)를 통해 사용자 단말(200)에게 키 쌍의 생성 결과, 즉, 키 쌍이 생성되었음을 알리는 메시지를 전송할 수 있다.In step 2124, the digital signature service server 100 may transmit a message to the user terminal 200 through the communication unit 110, which indicates that a key pair has been generated, that is, a key pair has been generated.

2126 단계에서, 사용자 단말(200)은 전자 서명 서비스 서버(100)에게 공개키를 전송해 줄 것을 요청할 수 있다. In step 2126, the user terminal 200 may request the digital signature service server 100 to transmit the public key.

2128 단계에서, 전자 서명 서비스 서버(100)는 통신부(110)를 통해 키 쌍에 포함된 공개키를 사용자 단말(200)에게 전송할 수 있다.In step 2128, the digital signature service server 100 may transmit the public key included in the key pair to the user terminal 200 through the communication unit 110. [

2130 단계에서, 사용자 단말(200)은 통신부(210)를 통해 개인키 소유여부 검증정보 및 개인키 소유여부 검증정보에 대한 전자 서명의 요청을 전자 서명 서비스 서버(100)에게 전송할 수 있다. 상기 개인키 소유여부 검증정보는 사용자의 정당한 개인키 소유여부를 검증하기 위한 목적으로 생성된 데이터로서 인증 서버(400)에서 요구하는 프로토콜에 따라 다르게 생성될 수 있다In step 2130, the user terminal 200 may transmit a digital signature request to the electronic signature service server 100 through the communication unit 210. The digital signature service server 100 may verify whether the private key is possessed or not. The private key possessing verification information may be generated in accordance with a protocol required by the authentication server 400 as data generated for the purpose of verifying whether or not the user possesses a legitimate private key

2132 단계에서, 전자 서명 서비스 서버(100)의 전자 서명 생성 모듈(140)은 2122 단계에서 생성되어 등록된 사용자의 개인키를 이용하여 개인키 소유여부 검증정보에 대한 전자 서명을 생성할 수 있다. 예를 들어, 전자 서명 생성 모듈(140)은 상기 사용자의 개인키를 이용하여 개인키 소유여부 검증정보의 전부 또는 일부에 대한 전자 서명을 생성할 수 있다.In step 2132, the digital signature generation module 140 of the digital signature service server 100 may generate the digital signature of the private key possessing verification information using the private key of the user created and registered in step 2122. For example, the digital signature generation module 140 may generate an electronic signature for all or part of the private key propriety verification information using the user's private key.

2134 단계에서, 전자 서명 서비스 서버(100)는 전자 서명 생성 모듈(140)이 생성한 개인키 소유여부 검증정보에 대한 전자 서명을 통신부(110)를 통해 사용자 단말(200)에게 전송할 수 있다.In step 2134, the digital signature service server 100 may transmit the digital signature of the private key possessing verification information generated by the digital signature generation module 140 to the user terminal 200 through the communication unit 110. [

2140 단계에서, 사용자 단말(200)의 프로세서(240)는 상기 키 쌍에 대응하는 인증서 데이터를 생성해줄 것을 요청하는 전문을 생성할 수 있다. 상기 인증서 데이터를 생성해줄 것을 요청하는 전문은 인증 서버(400)에서 요구하는 프로토콜에 따라 생성될 수 있다.In step 2140, the processor 240 of the user terminal 200 may generate a message requesting to generate the certificate data corresponding to the key pair. The request to generate the certificate data may be generated according to a protocol required by the authentication server 400.

2142 단계에서, 사용자 단말(200)은 통신부(210)를 통해 상기 인증서 데이터를 생성해줄 것을 요청하는 전문을 공인 인증 기관이 운영하는 인증 서버(400)에 전송할 수 있다. 또한, 사용자 단말(200)은 전자 서명 서비스 서버(100)로부터 획득한 개인키 소유여부 검증정보에 대한 전자 서명을 인증 서버(400)에 전송할 수 있다.In step 2142, the user terminal 200 may transmit the request for generating the certificate data through the communication unit 210 to the authentication server 400 operated by the accredited certification authority. In addition, the user terminal 200 may transmit the digital signature of the private key possessing verification information acquired from the digital signature service server 100 to the authentication server 400. [

2144 단계에서, 인증 서버(400)는 사용자 단말(200)로부터 수신한 개인키 소유여부 검증정보에 대한 전자 서명을 검증할 수 있다. 예를 들어, 인증 서버(400)는 공개키를 이용하여 상기 개인키 소유여부 검증정보에 대한 전자 서명을 검증할 수 있다. 인증 서버(400)는 개인키 소유여부 검증정보에 대한 전자 서명이 검증되면, 사용자가 개인키를 이용하여 전자 서명을 생성할 권한을 획득한 것으로 판단할 수 있다. In step 2144, the authentication server 400 may verify the digital signature of the private key possessing verification information received from the user terminal 200. [ For example, the authentication server 400 may verify the digital signature of the private key propriety verification information using the public key. The authentication server 400 may determine that the user has acquired the authority to generate the digital signature using the private key when the digital signature of the private key possessing verification information is verified.

2144 단계에서, 그리고, 인증 서버(400)는 사용자 단말(200)로부터 수신한 인증서 데이터 생성 요청 전문에 응답하여 사용자의 인증서 데이터를 생성할 수 있다. In step 2144, the authentication server 400 may generate the user's certificate data in response to the certificate data generation request received from the user terminal 200. [

2146 단계에서, 인증 서버(400)는 사용자 단말(200)에게 인증서 데이터를 전송할 수 있다. 사용자 단말(200)은 인증 서버(400)로부터 수신한 인증서 데이터를 사용자 단말(200)의 메모리에 보관할 수도 있고, 보관하지 않을 수도 있다.In step 2146, the authentication server 400 may transmit the certificate data to the user terminal 200. The user terminal 200 may store the certificate data received from the authentication server 400 in the memory of the user terminal 200 or may not store the certificate data.

2148 단계에서, 사용자 단말(200)은 통신부(210)를 통해 상기 인증서 데이터를 전자 서명 서비스 서버(100)에 전송할 수 있다. In step 2148, the user terminal 200 may transmit the certificate data to the digital signature service server 100 through the communication unit 210. [

2150 단계에서, 전자 서명 서비스 서버(100)는 사용자 단말(200)로부터 수신한 인증서 데이터를 등록할 수 있다. 예시적으로, 전자 서명 서비스 서버(100)는 인증서 데이터를 저장부(130)의 제2 저장 공간(134)에 저장함으로써 인증서 데이터를 등록할 수 있다. 제2 저장 공간(134)에 저장된 인증서 데이터는 프로세서(120)가 이용할 수 있으며, 통신부(110)를 통해 사용자 단말(200)에게 전송될 수도 있다.In step 2150, the digital signature service server 100 may register the certificate data received from the user terminal 200. [ Illustratively, the digital signature service server 100 may register the certificate data by storing the certificate data in the second storage space 134 of the storage unit 130. The certificate data stored in the second storage space 134 may be used by the processor 120 and may be transmitted to the user terminal 200 through the communication unit 110.

도 11에서는 신규로 생성되는 키 쌍이 전자 서명 서비스 서버(100)에 등록되는 것을 예시적으로 나타냈지만 실시예가 이에 제한되는 것은 아니다. 예를 들어, 사용자는 사용자 단말(200)에 미리 저장된 개인키 및 인증서 데이터를 전자 서명 서비스 서버(100)에 이동시킴으로써, 전자 서명 서비스 서버(100)에 개인키 및 인증서 데이터를 등록할 수 있다.11 shows an example in which a newly generated key pair is registered in the digital signature service server 100, but the embodiment is not limited thereto. For example, the user can register the private key and the certificate data in the digital signature service server 100 by moving the private key and the certificate data stored in advance in the user terminal 200 to the digital signature service server 100.

도 12는 사용자 단말(200)에 저장된 개인키 및 인증서 데이터를 전자 서명 서비스 서버(100)에 이동시키는 과정을 예시적으로 나타낸 흐름도이다.12 is a flowchart exemplarily showing a process of moving the private key and the certificate data stored in the user terminal 200 to the digital signature service server 100. FIG.

2310, 2312, 2314 단계에서 사용자 인증이 이루어질 수 있다. 사용자 인증 과정은 도 6 내지 도 8을 참조하여 설명한 실시예들에 따라 이루어질 수 있다. User authentication may be performed at steps 2310, 2312, and 2314. The user authentication process may be performed according to the embodiments described with reference to FIGS.

2320 단계에서, 사용자 단말(200)의 프로세서(240)은 사용자 단말(200)에 저장된 개인키를 암호화 할 수 있다. 프로세서(240)는 도 10에서 나타낸 1610 단계에서 생성된 세션키를 이용하여 사용자 단말(200)에 저장된 개인키를 암호화 할 수 있다.In operation 2320, the processor 240 of the user terminal 200 may encrypt the private key stored in the user terminal 200. The processor 240 may encrypt the private key stored in the user terminal 200 using the session key generated in step 1610 shown in FIG.

2322 단계에서, 사용자 단말(200)은 통신부(210)를 통해 암호화 된 개인키를 전자 서명 서비스 서버(100)에게 전송할 수 있다.In operation 2322, the user terminal 200 may transmit the encrypted private key to the digital signature service server 100 through the communication unit 210.

2324 단계에서, 전자 서명 서비스 서버(100)의 프로세서(120)는 도 10에서 나타낸 1610 단계에서 생성된 세션키를 이용하여 암호화 된 개인키를 복호화 할 수 있다. 또한, 전자 서명 서비스 서버(100)는 복호화 연산에 의해 획득된 개인키를 저장부(130)에 저장할 수 있다. 예시적으로, 전자 서명 서비스 서버(100)는 개인키를 제1 저장 공간(132)에 저장할 수 있다.In step 2324, the processor 120 of the digital signature service server 100 may decrypt the encrypted private key using the session key generated in step 1610 shown in FIG. In addition, the digital signature service server 100 may store the private key obtained by the decryption operation in the storage unit 130. [ Illustratively, the digital signature service server 100 may store the private key in the first storage space 132. [

2330 단계에서, 사용자 단말(200)의 프로세서(240)는 사용자 단말(200)에 저장된 인증서 데이터를 암호화 할 수 있다. 프로세서(240)는 도 10에서 나타낸 1610 단계에서 생성된 세션키를 이용하여 사용자 단말(200)에 저장된 인증서 데이터를 암호화 할 수 있다.In step 2330, the processor 240 of the user terminal 200 may encrypt the certificate data stored in the user terminal 200. The processor 240 may encrypt the certificate data stored in the user terminal 200 using the session key generated in step 1610 shown in FIG.

2332 단계에서, 사용자 단말(200)은 통신부(210)를 통해 암호화 된 인증서 데이터와 암호화 된 공개키를 전자 서명 서비스 서버(100)에게 전송할 수 있다.In step 2332, the user terminal 200 may transmit the encrypted certificate data and the encrypted public key to the digital signature service server 100 through the communication unit 210. [

2334 단계에서, 전자 서명 서비스 서버(100)의 프로세서(120)는 도 10에서 나타낸 1610 단계에서 생성된 세션키를 이용하여 암호화 된 개인키를 복호화 할 수 있다. 또한, 전자 서명 서비스 서버(100)는 복호화 연산에 의해 획득된 인증서 데이터 및 공개키를 저장부(130)에 저장할 수 있다. 예시적으로, 전자 서명 서비스 서버(100)는 인증서 데이터 및 공개키를 제2 저장 공간(134)에 저장할 수 있다.In step 2334, the processor 120 of the digital signature service server 100 may decrypt the encrypted private key using the session key generated in step 1610 shown in FIG. In addition, the digital signature service server 100 may store the certificate data and the public key obtained by the decryption operation in the storage unit 130. [ Illustratively, the digital signature service server 100 may store the certificate data and the public key in the second storage space 134.

이상에서 도 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 signature service server 100 from being verified and copied by a device other than the digital signature generation module.

한편, 전자 서명 서비스 서버(100)가 전자 서명을 사용자 단말에 안전하게 전송하기 위해 사용자 단말이 전자 서명 서비스 서버(100)에 접근 가능한 권한을 가지고 있어야 한다. 예를 들어, 전자 서명 서비스 서버(100)는 주기기 또는 추가 기기로 등록된 사용자 단말에게만 전자 서명을 제공할 수 있다. 이하, 사용자 단말을 주기기 또는 추가 기기로 등록하는 방법에 대해 설명한다. Meanwhile, in order for the digital signature service server 100 to securely transmit the digital signature to the user terminal, the user terminal must have the authority to access the digital signature service server 100. For example, the digital signature service server 100 may provide an electronic signature only to a user terminal registered as a main device or an additional device. Hereinafter, a method of registering a user terminal as a main device or an additional device will be described.

도 13은 일 실시예에 따른 전자 서명 서비스 서버(100)에 주기기로 등록하는 방법을 설명하는 흐름도이다. 하나 이상의 사용자 단말은 전자 서명을 수신받을 수 있는 기기로 전자 서명 서비스 서버(100)에 등록할 수 있다. 이하 설명의 편의를 도모하기 위해 제1 사용자 단말(210)을 주기기로 등록하는 방법을 설명한다. 주기기라 함은 전자 서명을 받을 수 있는 메인 사용자 단말을 의미한다. FIG. 13 is a flowchart illustrating a method of registering with the digital signature service server 100 according to an exemplary embodiment. One or more user terminals can register with the digital signature service server 100 as a device capable of receiving digital signatures. A method of registering the first user terminal 210 as a periodic unit for the convenience of explanation will be described below. The term period refers to the main user terminal that can receive the digital signature.

2405단계에서 기기 등록 서버(500)는 전자 서명 서비스 서버(100)에 주기기 등록을 요청할 수 있다. 주기기를 등록하기 위해 사용자 단말은 기기 등록 서버(500)에 연결될 수 있다. 여기서 기기 등록 서버(500)는 전자 서명 서비스 서버의 전자 서명을 제공받을 수 있는 사용자 단말을 대신하여 서비스 서버에 기기 등록을 요청하는 서버이다. 기기 등록 서버(500)는 전자 서명을 이용하는 이용 서버(300)일 수도 있으나, 이에 한정되지 않는다. 이용 서버(300) 및 서비스 서버(100)와 별도의 서버일 수도 있다. 기기 등록 서버(500). 기기 등록 서버(500)는 정보를 포함한 웹화면을 사용자 단말에 제공할 수 있다. 여기서 웹화면을 표시하는 사용자 단말을 제2 사용자 단말이라고 한다. 제2 사용자 단말은 사용자의 데스크탑 컴퓨터일 수 있다. 상기한 웹화면에는 전자 서명을 전자 서명 서비스 서버(100)로부터 수신할 것인지 여부 또는 사용자 단말이 주기기로 등록되어 있는지 여부를 문의하는 팝업창 등을 포함할 수 있다. In step 2405, the device registration server 500 may request the digital signature service server 100 to register the main device. The user terminal may be connected to the device registration server 500 to register the periodic device. Here, the device registration server 500 is a server that requests device registration to a service server on behalf of a user terminal that can receive a digital signature of an electronic signature service server. The device registration server 500 may be, but not limited to, the use server 300 using the digital signature. But may be a separate server from the usage server 300 and the service server 100. [ Device registration server 500. The device registration server 500 can provide a web screen including information to the user terminal. Here, a user terminal displaying a web screen is referred to as a second user terminal. The second user terminal may be the user's desktop computer. The web screen may include a pop-up window for inquiring whether the electronic signature is received from the digital signature service server 100 or whether the user terminal is registered as a periodic signature.

전자 서명 서비스 서버(100)에 주기기 등록된 사용자 단말이 없는 경우, 사용자는 주기기를 등록하고자 하는 명령을 제2 사용자 단말(미도시)을 통해 입력할 수 있고, 제2 사용자 단말은 상기한 요청을 기기 등록 서버(500)에 전송할 수 있다. 그리하여, 기기 등록 서버(500)는 전자 서명 서비스 서버(100)에 주기기 등록을 요청할 수 있다. 한편, 사용자 단말이 기등록되어 있으면, 앞서 기술한 방식으로 전자 서명이 제공될 수 있다. If there is no user terminal registered as a main device in the digital signature service server 100, the user can input an instruction to register the periodical device through a second user terminal (not shown), and the second user terminal To the device registration server (500). Thus, the device registration server 500 can request the digital signature service server 100 to register the main device. On the other hand, if the user terminal is already registered, an electronic signature can be provided in the manner described above.

기기 등록 서버(500)는 전자 서명 서비스 서버(100)에 주기기 등록을 요청하기 전에 주기기 소유자에 대한 신원 확인을 수행할 수 있다. 구체적으로, 사용자 확인을 위한 대행 기관, 예를 들어, 통신사를 통해 사용자 본인 확인을 수행한 후, 사용자 인증이 완료된 경우에 한하여 주기기 등록을 요청할 수도 있다. The device registration server 500 may perform identity verification for the owner of the main device before requesting the digital signature service server 100 to register the main device. Specifically, after the user identity verification is performed through the agency for confirming the user, for example, the communication company, the main device registration may be requested only when the user authentication is completed.

기기 등록 서버(500)로부터 주기기 등록을 요청받으면, 2410 단계에서 전자 서명 서비스 서버(100)의 프로세서(120)는 세션키 파라미터를 생성할 수 있다. 세션키는 상기 보안 통신 세션에서 송수신 되는 데이터 및 정보를 암호화하기 위한 키를 의미하는 것으로 기설정된 알고리즘에 의해 생성될 수 있으며, 세션키 파라미터는 세션키를 생성하기 위한 소스이다. When the main device registration request is received from the device registration server 500, the processor 120 of the digital signature service server 100 can generate a session key parameter in step 2410. The session key may be generated by a predetermined algorithm, which means a key for encrypting data and information transmitted and received in the secure communication session, and the session key parameter is a source for generating a session key.

2415단계에서, 전자 서명 서비스 서버(100)는 주기기 등록용 토큰을 생성할 수 있다. 토큰은 상기 보안 통신 세션에서 데이터 및 정보를 수신하고 전송할 수 있는 권한을 나타내는 메시지의 일종으로서 주기기 등록용 토큰은 주기기를 등록하기 위해 이용되는 토큰이다. In step 2415, the digital signature service server 100 may generate a token for main device registration. The token is a kind of message indicating the right to receive and transmit data and information in the secure communication session. The token for main device registration is a token used for registering the base station.

전자 서명 서비스 서버(100)는 생성된 세션키 파라미터 및 주기기 등록용 토큰을 기기 등록 서버(500)에 전송한다. The digital signature service server 100 transmits the generated session key parameter and the token for main device registration to the device registration server 500. [

2420 단계에서, 기기 등록 서버(500)은 세션키 파라미터 및 주기기 등록용 토큰을 포함하는 정보를 생성할 수 있다. 상기한 정보는 이미지 코드, 문자열, 숫자열 중 적어도 하나의 형식일 수 일 수 있다. 여기서 이미지 코드는 QR 코드, 데이터 매트릭스(Data Matrix), 맥시 코드(Maxi Code), 컬러 코드(Color Code), 그레이 코드(Cray Code), 바코드(bar code) 중 적어도 하나일 수 있다. In step 2420, the device registration server 500 may generate information including a session key parameter and a token for main device registration. The information may be in the form of at least one of an image code, a string, and a numeric string. Here, 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.

2425단계에서, 제1 사용자 단말(210)은, 오프라인 방법으로, 기기 등록 서버(500)로부터 세션키 파라미터 및 주기기 등록용 토큰을 획득한다. In step 2425, the first user terminal 210 acquires the session key parameter and the main device registration token from the device registration server 500 in an off-line method.

그리고, 2430단계에서, 제1 사용자 단말(210)은 센션키 파라미터 및 주기기 등록용 토큰을 이용하여 전자 서명 서비스 서버(100)에 주기기로 등록한다. In step 2430, the first user terminal 210 registers with the digital signature service server 100 using the signature key parameter and the main device registration token as a periodizer.

도 14는 일 실시예에 따른 주기기를 등록하는 구체적인 방법을 설명하는 흐름도이다. 14 is a flowchart illustrating a specific method of registering a periodic device according to an exemplary embodiment.

2505단계에서, 기기 등록 서버(500)는 센션키 파라미터 및 주기기 등록용 토큰을 포함하는 이미지 코드를 생성할 수 있다. 그리고, 상기한 이미지 코드를 제2 사용자 단말에 전송한다. 제2 사용자 단말은 이미지 코드를 표시할 수 있다. In step 2505, the device registration server 500 may generate an image code including a stat key parameter and a token for main device registration. Then, the image code is transmitted to the second user terminal. The second user terminal may display the image code.

2510단계에서, 제1 사용자 단말(210)은 제2 사용자 단말에 표시된 이미지 코드를 촬영하여 인식함으로써 이미지 코드에 포함된 세션키 파라미터 및 주기기 등록용 토큰을 획득할 수 있다. 상기와 같이, 세션키가 아닌 세션키 파라미터가 기기 등록 서버를 통해 제1 사용자 단말에 전송되기 때문에 세션키가 노출되는 것을 방지할 수 있고, 해킹의 가능성을 줄일 수 있다. In step 2510, the first user terminal 210 may acquire the session key parameter included in the image code and the token for main device registration by photographing and recognizing the image code displayed on the second user terminal. Since the session key parameter, which is not the session key, is transmitted to the first user terminal through the device registration server as described above, the session key can be prevented from being exposed and the possibility of hacking can be reduced.

2515단계에서 제1 사용자 단말(210)은 주기기 등록용 토큰을 이용하여 제1 사용자 단말(210)의 기기 토큰을 생성할 수 있다. 그리고, 생성된 제1 사용자 단말(210)의 기기 토큰을 전자 서명 서비스 서버(100)에 전송할 수 있다. In operation 2515, the first user terminal 210 may generate the device token of the first user terminal 210 using the main device registration token. The device token of the generated first user terminal 210 may be transmitted to the digital signature service server 100.

2520단계에서, 전자 서명 서비스 서버(100)의 프로세서(120)는 주기기 등록용 토큰을 이용하여 제1 사용자 단말(210)의 기기 토큰을 검증할 수 있다. 즉, 전자 서명 서비스 서버(100)는 제1 사용자 단말(210)에서와 동일한 방법으로 주기기 등록용 토큰을 이용하여 기기 토큰을 생성하고, 그 결과가 제1 사용자 단말(210)로부터 수신한 기기 토큰과 비교하여 일치하는지 여부를 기준으로 검증을 수행할 수 있다. 그리고, 검증 결과를 제1 사용자 단말(210)에 전송할 수 있다. In step 2520, the processor 120 of the digital signature service server 100 may verify the device token of the first user terminal 210 using the main device registration token. That is, the digital signature service server 100 generates a device token using the token for main device registration in the same manner as that of the first user terminal 210, The verification can be performed based on whether or not to match the token. Then, the verification result can be transmitted to the first user terminal 210.

제1 사용자 단말(210)의 기기 토큰에 대한 검증이 완료되면, 2525단계에서 제1 사용자 단말(210)은 주기기용 키 쌍을 생성한다. 주기기용 키 쌍은 주기기임을 나타내는 키 쌍으로서 개인키와 공개키를 포함할 수 있다. When the verification of the device token of the first user terminal 210 is completed, the first user terminal 210 generates the key pair for the periodic key in step 2525. The key pair for the periodic key may include a private key and a public key as a key pair indicating that the key is a main device.

그리고, 2530단계에서, 제1 사용자 단말(210)은 획득된 세션키 파라미터로 세션키를 생성할 수 있다. Then, in step 2530, the first user terminal 210 may generate a session key using the obtained session key parameters.

2535단계에서, 제1 사용자 단말(210)은 세션키로 주기기용 키 쌍의 공개키와 제1 사용자 단말(210)의 기기 정보를 암호화할 수 있다. 그리고, 암호화된 주기기용 키 쌍의 공개키와 제1 사용자 단말(210)의 기기 정보를 전자 서명 서비스 서버(100)에 전송할 수 있다. In step 2535, the first user terminal 210 may encrypt the public key of the key pair for the base station and the device information of the first user terminal 210 using the session key. The public key of the encrypted keyer pair and the device information of the first user terminal 210 can be transmitted to the digital signature service server 100.

2540단계에서, 전자 서명 서비스 서버(100)의 프로세서(120)는 제1 사용자 단말(210)을 주기기로 등록할 수 있다. 구체적으로, 전자 서명 서비스 서버(100)의 프로세서(120)는 세션키 파라미터로 세션키를 생성한 후, 세션키로 암호화된 주기기용 키 쌍의 공개키와 제1 사용자 단말(210)의 기기 정보를 복호화하고, 주기기용 키 쌍의 공개키와 제1 사용자 단말(210)의 기기 정보를 저장부(130)에 저장할 수 있다. 즉, 전자 서명 서비스 서버(100)는 제1 사용자 단말(210)의 기기 정보와 주기기용 키 쌍의 공개키를 매칭시켜 저장함으로써 제1 사용자 단말(210)을 주기기로 등록할 수 있다. 전자 서명 서비스 서버(100)는 제1 사용자 단말(210)이 주기기로 등록되었음을 알리는 등록 결과를 제1 사용자 단말(210)에 전송할 수 있다.In step 2540, the processor 120 of the digital signature service server 100 may register the first user terminal 210 as a periodizer. Specifically, the processor 120 of the digital signature service server 100 generates a session key using the session key parameter, and then transmits the public key of the key pair for the periodic key encrypted with the session key and the device information of the first user terminal 210 And store the public key of the key pair for the learner and the device information of the first user terminal 210 in the storage unit 130. That is, the digital signature service server 100 can register the first user terminal 210 as a periodic key by matching the device information of the first user terminal 210 with the public key of the key pair for the librarian. The digital signature service server 100 may transmit a registration result informing that the first user terminal 210 is registered as a periodic timer to the first user terminal 210. [

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 step 2545, the first user terminal 210 may encrypt and store the private key of the key pair for the keypad and the device information of the first user terminal 210. [ When encrypting the private key of the key pair for the learner and the device information of the first user terminal 210, the first user terminal 210 firstly transmits the personal identification number (PIN) It can be encrypted based on at least one. At least one of the personal identification number and the biometric information may be directly used for encryption or may be encrypted using a key derived from at least one of the personal identification number and the biometric information. The private key of the encrypted keyer key pair and the device information of the first user terminal 210 are transmitted to the digital signature service server 100 through a key composed of a random number generated by the digital signature service server 100 and a random number generated by the first user terminal 210 And can be encrypted in a secondary manner. When encrypting with a key composed of random numbers, the random number generated in the digital signature service server 100 may be deleted without being stored in the first user terminal 210, and the random number may be received from the digital signature service server 100 The digital signature service server 100 may receive the private key of the encrypted keyer pair and the device information of the first user terminal 210 from the first user terminal 210 and release the encryption.

상기한 암호화 방법은 이중으로 암호화하는 방법에 대해 설명하였으나, 이에 한정되지 않는다. 상기한 암호화 방법 중 어느 하나만으로 암호화될 수 있고, 암호화 방법의 순서가 바뀌어도 무방하다. 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 first user terminal 210 recognizes the image code displayed on the second user terminal in the method of FIG. 14, the present invention is not limited thereto. The first user terminal 210 may obtain the session key parameters and the token for main device registration in various off-line methods. For example, the electronic signature server 100 may transmit a string or a numeric string corresponding to the session key parameter and the token for main device registration to another server, for example, an e-mail server, And obtains a session key parameter and a token for main device registration by inputting the string or the numeric string directly to the first user terminal 210 (in an off-line manner). The first user terminal 210 can receive the digital signature or the certificate data from the digital signature service server 100 if the first user terminal 210 is registered in the digital signature service server 100 as a periodifier. Before receiving the digital signature or the certificate data, the first user terminal 210 must perform the device authentication procedure to authenticate the digital signature server 100 as an accessible device.

도 15는 일 실시예에 따른 제1 사용자 단말(210)이 주기기 인증을 수행하는 절차를 설명하는 흐름도이다. FIG. 15 is a flowchart illustrating a procedure in which a first user terminal 210 performs a main device authentication according to an embodiment.

2605단계에서, 전자 서명 서비스 서버(100)로부터 전자 서명을 수신받기 위해, 제1 사용자 단말(210)은 전자 서명 서비스 서버(100)에게 주기기 인증을 요청할 수 있다. 상기한 주기기 인증의 요청에서는 제1 사용자 단말(210)의 기기 정보가 포함될 수 있다. In step 2605, in order to receive the digital signature from the digital signature service server 100, the first user terminal 210 may request the digital signature service server 100 to perform the main device authentication. The device information of the first user terminal 210 may be included in the request of the main device authentication.

한편, 제1 사용자 단말(210)이 전자 서명 서비스 서버(100)에 기기 인증을 요청하기 전에, 제1 사용자 단말(210)은 사용자 인증을 수행할 수 있다. 예를 들어, 사용자의 개인 식별 번호 또는 생체 정보를 이용하여 사용자 인증이 수행될 수 있다. Meanwhile, the first user terminal 210 may perform user authentication before the first user terminal 210 requests the digital signature service server 100 to perform device authentication. For example, user authentication can be performed using the user's personal identification number or biometric information.

2610단계에서, 전자 서명 서비스 서버(100)의 프로세서(120)는 제1 사용자 단말(210)의 기기 정보를 바탕으로 제1 사용자 단말(210)이 등록된 기기인지 여부를 확인할 수 있다. In step 2610, the processor 120 of the digital signature service server 100 may determine whether the first user terminal 210 is a registered device based on the device information of the first user terminal 210.

제1 사용자 단말(210)이 등록된 기기인 것으로 확인되면, 2615 단계에서, 전자 서명 서비스 서버(100)의 프로세서(120)는 세션키 및 주기기 인증용 토큰을 생성할 수 있다. If it is determined that the first user terminal 210 is a registered device, the processor 120 of the digital signature service server 100 may generate a session key and a token for main device authentication in step 2615.

2620단계에서, 전자 서명 서비스 서버(100)의 프로세서(120)는 기저장된 주기기용 키 쌍의 공개키로 상기한 세션키 및 주기기 인증용 토큰을 암호화한다 그리고, 암호화된 세션키 및 주기기 인증용 토큰을 제1 사용자 단말(210)에 전송한다. In step 2620, the processor 120 of the digital signature service server 100 encrypts the session key and the main device authentication token with the public key of the key pair for the pre-stored periodic key. Token to the first user terminal (210).

2625단계에서, 제1 사용자 단말(210)은 주기기용 키 쌍의 개인키를 이용하여 암호화된 세션키 및 주기기 인증용 토큰을 복호화할 수 있다. 제1 사용자 단말(210)에는 주기기용 키 쌍의 개인키가 암호화되어 저장되어 있을 수 있다. 제1 사용자 단말(210)의 주기기용 키 쌍의 개인키가 전자 서명 서비스 서버(100)가 생성한 난수와 제1 사용자 단말(210)이 생성한 난수로 구성된 키를 이용하여 2차적으로 암호화 된 경우 2620단계에서, 전자서명 서비스 서버(100)는 암호화된 세션키 및 토큰과 더불어 난수를 추가로 전송할 수 있다. 제1 사용자 단말(210)은 전자서명 서비스 서버(100)로부터 수신한 난수와 제1 사용자 단말(210)에 저장된 난수로 키를 구성하여 암호화되어 저장된 주기기용 키 쌍의 개인키를 독출하고 복호화할 수 있다. 그리고, 복호화된 주기기용 키 쌍의 개인키를 이용하여 암호화된 세션키 및 주기기 인증용 토큰을 복호화할 수 있다In step 2625, the first user terminal 210 may decrypt the encrypted session key and the token for main device authentication using the private key of the key pair for the periodic key. The first user terminal 210 may have the private key of the key pair for the periodic key encrypted and stored. The private key of the key pair for the periodic key of the first user terminal 210 is encrypted using the key composed of the random number generated by the digital signature service server 100 and the random number generated by the first user terminal 210 In step 2620, the electronic signature service server 100 may transmit a random number in addition to the encrypted session key and the token. The first user terminal 210 reads and decrypts the private key of the key pair for the periodic key by encrypting the random number received from the digital signature service server 100 and the random number stored in the first user terminal 210 . The encrypted session key and the token for main device authentication can be decrypted using the decrypted private key of the key pair for the periodic keypad

그리고, 2630단계에서, 주기기 인증용 토큰 및 주기기용 키 쌍의 개인키를 이용하여 주기기 인증 데이터를 생성한다. 그리고, 생성된 주기기 인증 데이터를 전자 서명 서비스 서버(100)에 전송할 수 있다. 주기기 인증 데이터는 제1 사용자 단말(210)를 주기기로 인증하기 위해 필요한 정보를 포함한 데이터일 수 있다. In step 2630, the main device authentication data is generated using the token of the main device authentication and the private key of the key pair for the main device. Then, the generated main device authentication data can be transmitted to the digital signature service server 100. The main device authentication data may be data including information necessary for authenticating the first user terminal 210 as a periodic device.

2635단계에서, 전자 서명 서비스 서버(100)의 프로세서(120)는 주기기 인증용 토큰과 주기기용 키 쌍의 공개키로 상기한 주기기 인증 데이터를 검증함으로써 제1 사용자 단말(210)이 등록된 기기인지 여부를 인증할 수 있다. In step 2635, the processor 120 of the digital signature service server 100 verifies the main device authentication data using the public key of the key pair for the main device authentication token and the key device, Can be authenticated.

제1 사용자 단말(210)이 등록된 기기인 것으로 검증되면, 앞서 기술한 바와 같이, 전자 서명 서비스 서버(100)는 제1 사용자 단말(210)의 요청에 따라 전자 서명을 제공할 수 있다. If it is verified that the first user terminal 210 is a registered device, the digital signature service server 100 may provide a digital signature according to a request of the first user terminal 210, as described above.

한편, 사용자는 전자 서명 서비스 서버(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 signature service server 100. [ The periodic device may be a user terminal that can access the digital signature service server 100 at any time, while the additional device may be a device that accesses the digital signature service server 100 only under certain conditions. For example, the additional device may be a device that can be used only when performing authentication of a specific usage server (for example, a specific Internet shopping mall operating server) or may access the electronic signature service server 100 only for a certain period of time Device. The additional device can register with the digital signature service server 100 through the periodical. The digital signature service server 100 may provide an electronic signature to the registered additional device.

도 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 operation 2705, the third user terminal 230 may acquire the device information of the third user terminal 230. [ The third user terminal 230 can acquire the device information by reading the device information stored in the storage unit of the third user terminal 230. [

2710단계에서, 제3 사용자 단말(230)은 추가 기기용 키 쌍을 생성할 수 있다. In step 2710, the third user terminal 230 may generate a key pair for the additional device.

2715단계에서 제3 사용자 단말(230)은 제3 사용자 단말(230)의 기기 정보 및 추가 기기용 키 쌍의 공개키를 포함하는 이미지 코드를 생성할 수 있다. 그리고, 제3 사용자 단말(230)은 상기한 이미지 코드를 표시할 수 있다. The third user terminal 230 may generate the image code including the device information of the third user terminal 230 and the public key of the key pair for the additional device in step 2715. [ The third user terminal 230 may display the image code.

2720단계에서, 주기기인 제1 사용자 단말(210)은, 상기한 이미지 코드를 촬영하여 이미지 코드를 인식함으로써, 이미지 코드로부터 제3 사용자 단말(230)의 기기 정보 및 추가 기기용 키 쌍의 공개키를 획득할 수 있다. 즉, 제1 사용자 단말(210)은 제3 사용자 단말(230)로부터, 오프 라인 방식으로 제3 사용자 단말(230)의 기기 정보 및 추가 기기용 키 쌍의 공개키를 획득할 수 있다. 이미지 코드를 인식하는 방법 이외의 오프 라인 방법으로 기기 정보 및 추가 기기용 키 쌍의 공개키를 획득할 수도 있다. In step 2720, the first user terminal 210, which is a cycle unit, captures the above image code and recognizes the image code, so that the device information of the third user terminal 230 and the public key of the additional device key pair Can be obtained. That is, the first user terminal 210 can acquire the device information of the third user terminal 230 and the public key of the additional device key pair from the third user terminal 230 in an offline manner. The device information and the public key of the key pair for the additional device may be obtained in an offline manner other than the method of recognizing the image code.

그리고, 2725단계에서, 제1 사용자 단말(210)은 전자 서명 서비스 서버(100)와 주기기임을 인증하는 주기기 인증 절차를 수행할 수 있다. 주기기 인증 방법은 도 15에 개시되어 있으므로 구체적인 설명은 생략한다. In step 2725, the first user terminal 210 may perform a main apparatus authentication procedure for authenticating the digital signature service server 100 and the main apparatus. Since the main apparatus authentication method is shown in Fig. 15, a detailed description thereof will be omitted.

2730단계에서, 제1 사용자 단말(210)은 주기기 인증 과정에서 획득한 세션키로 제3 사용자 단말(230)의 기기 정보 및 추가 기기용 키 쌍의 공개키를 암호화할 수 있다. 그리고, 암호화된 제3 사용자 단말(230)의 기기 정보 및 추기 기기용 키 쌍의 공개키를 전자 서명 서비스 서버(100)에 전송할 수 있다. In operation 2730, the first user terminal 210 may encrypt the device information of the third user terminal 230 and the public key of the additional device key pair using the session key obtained in the main device authentication process. The device information of the encrypted third user terminal 230 and the public key of the key pair for the additional device can be transmitted to the digital signature service server 100.

2735단계에서, 전자 서명 서비스 서버(100)의 프로세서(120)는 세션키로 제3 사용자 단말(230)의 기기 정보 및 추가 기기용 키 쌍의 공개키를 복호화할 수 있다.In step 2735, the processor 120 of the digital signature service server 100 may decrypt the device information of the third user terminal 230 and the public key of the additional device key pair using the session key.

그리고, 2740단계에서 제3 사용자 단말(230)의 기기 정보와 추가 기기용 키 쌍의 공개키를 등록할 수 있다. 즉, 전자 서명 서비스 서버(100)는 제3 사용자 단말(230)의 기기 정보와 추가 기기용 키 쌍의 공개키를 매칭시켜 저장함으로써 제3 사용자 단말(230)을 추가 기기로 등록할 수 있다. 그리고, 전자 서명 서비스 서버(100)는 제3 사용자 단말(230)이 추가 기기로 등록되었음을 알리는 등록 결과를 주기기인 제1 사용자 단말(210)에 전송할 수 있다. In step 2740, the device information of the third user terminal 230 and the public key of the additional device key pair can be registered. That is, the digital signature service server 100 can register the third user terminal 230 as an additional device by matching and storing the device information of the third user terminal 230 and the public key of the additional device key pair. The digital signature service server 100 may transmit the registration result informing that the third user terminal 230 is registered as an additional device to the first user terminal 210 as a periodifier.

한편, 전자 서명 서비스 서버(100)는 제3 사용자 단말(230)의 기기 인증을 수행할 수 있다. 2745단계에서, 전자 서명 서비스 서버(100)는 추가 기기 등록용 토큰을 생성하고, 추가 기기 등록용 토큰을 제3 사용자 단말(230)에 전송할 수 있다. Meanwhile, the digital signature service server 100 may perform the device authentication of the third user terminal 230. In step 2745, the digital signature service server 100 may generate a token for additional device registration and transmit the additional device registration token to the third user terminal 230. [

2750단계에서, 제3 사용자 단말(230)은 추가 기기 등록용 토큰과 추가 기기용 키 쌍의 개인키를 이용하여 추가 기기 인증 데이터를 생성할 수 있다. 상기한 추가 기기 인증 데이터에는 제3 사용자 단말(210)의 기기에 부여된 고유 식별번호, 기기 정보, 사용자가 전자 서명 서비스 서버(100)에 가입할 때 제1 사용자 단말(230)에 부여된 ID 등의 전부 또는 일부, 또는 상기한 정보들의 변조된 정보 가 포함되어 있을 수 있다. 제3 사용자 단말(230)은 추가 기기 인증 데이터를 전자 서명 서비스 서버(100)에 전송한다. In step 2750, the third user terminal 230 may generate additional device authentication data using the additional device registration token and the private key of the additional device key pair. The additional device authentication data includes a unique identification number, device information, an ID given to the first user terminal 230 when the user joins the digital signature service server 100, Or the like, or modulated information of the above-described information. The third user terminal 230 transmits the additional device authentication data to the digital signature service server 100.

2755단계에서, 전자 서명 서비스 서버(100)는 추가 기기 인증 데이터를 검증할 수 있고, 검증 결과를 제3 사용자 단말(230)에 전송할 수 있다. In step 2755, the digital signature service server 100 can verify the additional device authentication data and transmit the verification result to the third user terminal 230. [

검증이 완료되면, 2760단계에서, 전자 서명 서비스 서버(100)은 추가 기기의 등록을 완료할 수 있다. 즉, 전자 서명 서비스 서버(100)는 제1 사용자 단말(100)을 통해 제3 사용자 단말(230)을 추가 기기로 등록하지만, 제3 사용자 단말(230)의 추가 기기 인증을 수행함으로써 추가 기기 등록을 완료할 수 있다.When the verification is completed, in step 2760, the digital signature service server 100 can complete the registration of the additional device. That is, the digital signature service server 100 registers the third user terminal 230 as an additional device through the first user terminal 100, but performs the additional device authentication of the third user terminal 230, Can be completed.

추가 기기로의 등록이 완료되면, 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 third user terminal 230 may encrypt and store the private key of the additional device key pair and the device information of the third user terminal 230 in step 2765. When encrypting the private key of the additional device key pair and the device information of the third user terminal 230, the third user terminal 230 may be encrypted using at least one of the user's personal identification number and biometric information . Or may be encrypted using a key composed of the random number generated by the digital signature service server 100 and the random number generated by the third user terminal 230. When encrypting with a key composed of random numbers, the random number generated in the digital signature service server 100 may be deleted without being stored in the third user terminal 230, and the random number may be received from the digital signature service server 100 The digital signature service server 100 may receive the encrypted private key of the additional device key pair and the device information of the third user terminal 230 from the third user terminal 230 and release the encryption.

제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 signature service server 100 described above performs device authentication, service operation, and key management. The digital signature service server need not be implemented as a single hardware device. It may be a combination of servers separated by function. For example, the electronic signature service server may be a combination of a device authentication server for device authentication, a service operation server for service operation, and a key management server for key management. The above-described embodiments of the present invention can be embodied in a general-purpose digital computer that can be embodied as a program that can be executed by a computer and operates the program using a computer-readable recording medium. In addition, the structure of the data used in the above-described embodiments of the present invention can be recorded on a computer-readable recording medium through various means. The computer-readable recording medium includes a storage medium such as a magnetic storage medium (e.g., ROM, floppy disk, hard disk, etc.), optical reading medium (e.g., CD ROM,

이제까지 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.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.
제 1항에 있어서,
상기 기기 등록 서버는 상기 세션키 파라미터 및 상기 주기기 등록용 토큰을 포함하는 이미지 코드를 생성하고, 상기 이미지 코드를 제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.
제 2항에 있어서,
상기 이미지 코드는,
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 사용자 단말의 기기 정보를 복호화하여 저장함으로써 상기 제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.
제 4항에 있어서,
상기 제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.
제 4항에 있어서,
상기 제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.
제 6항에 있어서,
상기 주기기용 키 쌍의 개인키 및 상기 제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항에 있어서,
상기 전자 서명을 생성하는 단계는,
상기 전자 서명 서비스 서버는 상기 제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.
제 8항에 있어서,
상기 제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.
제 1항에 있어서,
제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.
제 10항에 있어서,
상기 전자 서명 서비스 서버에 전송되는 상기 제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항에 있어서,
상기 전자 서명을 생성하는 단계는,
상기 제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.
제 12항에 있어서,
상기 주기기 인증 데이터는,
주기기용 키 쌍의 개인키를 이용하여 생성된 전자서명 서비스 방법.
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.
KR1020160158052A 2016-11-25 2016-11-25 System and method for providing electronic signature service KR101933090B1 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (5)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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
JPWO2007094165A1 (en) Identification system and program, and identification method
KR102514429B1 (en) Update of biometric data template
CN102769623B (en) Two-factor authentication method based on digital certificate and biological identification information
WO2008100757A2 (en) Systems and methods for automating certification authority practices
US10044684B2 (en) Server for authenticating smart chip and method thereof
WO2021111824A1 (en) Electronic signature system and tamper-proof device
TW201223225A (en) Method for personal identity authentication utilizing a personal cryptographic device
JPH10336172A (en) Managing method of public key for electronic authentication
KR101933090B1 (en) System and method for providing electronic signature service
KR20200016506A (en) Method for Establishing Anonymous Digital Identity
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
WO2021019783A1 (en) Proprietor identity confirmation system, terminal, and proprietor 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