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

System and method for providing electronic signature service Download PDF

Info

Publication number
KR20170141976A
KR20170141976A KR1020160075098A KR20160075098A KR20170141976A KR 20170141976 A KR20170141976 A KR 20170141976A KR 1020160075098 A KR1020160075098 A KR 1020160075098A KR 20160075098 A KR20160075098 A KR 20160075098A KR 20170141976 A KR20170141976 A KR 20170141976A
Authority
KR
South Korea
Prior art keywords
digital signature
user terminal
data
device authentication
private key
Prior art date
Application number
KR1020160075098A
Other languages
Korean (ko)
Other versions
KR101863953B1 (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 KR1020160075098A priority Critical patent/KR101863953B1/en
Publication of KR20170141976A publication Critical patent/KR20170141976A/en
Application granted granted Critical
Publication of KR101863953B1 publication Critical patent/KR101863953B1/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3825Use of electronic signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/385Payment protocols; Details thereof using an alias or single-use codes
    • 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/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

A system, a server, a terminal, and a method for providing an electronic signature service are provided. According to an embodiment of the present invention, the electronic signature service server can register a private key of a user, can receive signature target data and a request of an electronic signature on the signature target data from a user terminal, can generate an electronic signature by using the registered private key of the user, and can transmit the generated electronic signature to the user terminal.

Description

전자 서명 서비스 시스템 및 방법{System and method for providing electronic signature service}[0001] SYSTEM AND METHOD FOR PROVIDING ELECTRONIC SIGNATURE SERVICE [0002]

전자 서명 서비스를 제공하는 시스템, 서버, 단말 및 방법에 관한 것이다.A server, a terminal, and a method for providing an electronic signature service.

공인 인증서는 공신력이 있는 공인인증기관에서 발급한 전자 서명 인증서로서, 우리나라의 경우 인터넷 뱅킹뿐만 아니라 온라인 증명서 발급, 전자상거래, 인터넷 주식거래 등 다양한 분야에서 필수적으로 사용되고 있다. An official 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 electronic 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.

일부 실시예는, 사용자의 개인키를 등록하고 등록된 사용자의 개인키를 이용하여 사용자 단말로부터 수신한 서명 대상 데이터에 대한 전자 서명을 생성하는 전자 서명 서비스 서버를 개시한다.Some embodiments disclose an electronic signature service server that registers a user's private key and generates a digital signature for the data to be signed received from the user terminal using the private key of the registered user.

일 측면에 따르면, According to one aspect,

전자 서명 서비스 서버가 전자 서명 서비스를 제공하는 방법에 있어서,A method of providing an electronic signature service by an electronic signature service server,

사용자 단말로부터 서명 대상 데이터 및 상기 서명 대상 데이터에 대한 전자 서명의 요청을 수신하는 단계;Receiving a request for digital signature from the user terminal and data to be signed;

상기 요청에 응답하여, 기 등록된 상기 사용자의 개인키를 이용하여 상기 서명 대상 데이터에 대한 상기 전자 서명을 생성하는 단계;Generating, in response to the request, the digital signature for the signature subject data using the pre-registered private key of the user;

상기 전자서명을 상기 사용자 단말에게 전송하는 단계;를 포함하며,And transmitting the digital signature to the user terminal,

상기 사용자 단말에게 전송된 전자 서명은, 상기 서명 대상 데이터 및 상기 개인키에 대응되는 공개키와 함께, 상기 사용자 단말로부터 상기 전자 서명을 이용하는 이용 서버에게 제공되는 것인 전자 서명 서비스 방법이 제공된다.Wherein the digital signature transmitted to the user terminal is provided to the use server using the digital signature from the user terminal together with the signature subject data and the public key corresponding to the private key.

상기 개인키를 등록하는 단계는, 상기 개인키를 이용하여 상기 전자 서명을 생성하는 전자 서명 생성 모듈을 제외한 다른 장치가 상기 개인키를 복제 및 확인할 수 없도록 상기 개인키를 저장할 수 있다.The step of registering the private key may store the private key so that a device other than the digital signature generation module that generates the digital signature using the private key can not duplicate and confirm the private key.

상기 사용자의 인증서 데이터는 상기 개인키와 함께 상기 전자 서명 서비스 서버에 등록되며,The certificate data of the user is registered with the electronic signature service server together with the private key,

상기 사용자 단말에게 상기 사용자의 인증서 데이터를 전송하는 단계;를 더 포함할 수 있다.And transmitting the user's certificate data to the user terminal.

상기 전자 서명 서비스 방법은 상기 사용자 단말로부터 상기 사용자 단말을 인증하기 위한 기기 인증 데이터를 수신하는 단계; 및The digital signature service method comprising: receiving device authentication data for authenticating the user terminal from the user terminal; And

상기 기기 인증 데이터를 검증하는 단계;를 더 포함하며,And verifying the device authentication data,

상기 전자 서명을 생성하는 단계는, 상기 기기 인증 데이터가 검증 됨에 따라 상기 전자 서명을 생성할 수 있다.The generating of the digital signature may generate the digital signature as the device authentication data is verified.

상기 기기 인증 데이터는 기기 인증용 키 쌍에 포함된 기기 인증용 개인키에 의해 생성된 것일 수 있다.The device authentication data may be one generated by the device authentication private key included in the device authentication key pair.

상기 기기 인증 데이터를 검증하는 단계는, Wherein the verifying the device authentication data comprises:

상기 기기 인증용 키 쌍에 포함된 기기 인증용 공개키로 상기 기기 인증 데이터를 검증할 수 있다.The device authentication data can be verified with the device authentication public key included in the device authentication key pair.

상기 기기 인증 데이터가 검증됨에 따라, 상기 전자 서명 서비스 서버와 상기 사용자 단말 간에 송수신되는 정보의 보안을 위해 상기 전자 서명 서비스 서버와 상기 사용자 단말 사이의 통신 보안 세션을 생성하는 단계;를 더 포함할 수 있다.And generating a communication security session between the digital signature service server and the user terminal to secure information transmitted and received between the digital signature service server and the user terminal as the device authentication data is verified have.

상기 통신 보안 세션을 생성하는 단계는,Wherein the step of generating a communication security session comprises:

세션키 및 토큰을 생성하는 단계 및 상기 세션키 및 토큰을 상기 기기 인증용 공개키로 암호화 하여 상기 사용자 단말에 전송하는 단계를 포함할 수 있다.Generating a session key and a token, and encrypting the session key and the token with the device authentication public key, and transmitting the encrypted session key and the token to the user terminal.

상기 전자 서명의 요청을 수신하는 단계는, 상기 사용자 단말이 전송하는 토큰을 함께 수신하고,The receiving of the digital signature request may include receiving a token transmitted by the user terminal,

상기 전자 서명을 생성하는 단계는, 상기 사용자 단말로부터 수신한 토큰과 전자 서명 서비스 서버가 생성한 토큰이 일치하는 지 확인하고, 상기 토큰에 매칭되는 개인키를 이용하여 상기 전자 서명을 생성할 수 있다.The step of generating the digital signature may check whether the token received from the user terminal matches the token generated by the digital signature service server and generate the digital signature using the private key matched with the token .

상기 통신 보안 세션을 생성하는 단계는,Wherein the step of generating a communication security session comprises:

상기 사용자 단말이 제1 난수로부터 상기 세션키를 이용하여 생성한 단말 인증 데이터를 상기 사용자 단말로부터 수신하고, 상기 단말 인증 데이터를 검증하는 단계 및Receiving the terminal authentication data generated by the user terminal from the first random number using the session key from the user terminal and verifying the terminal authentication data;

제2 난수로부터 상기 세션키를 이용하여 서버 인증 데이터를 생성하고 상기 서버 인증 데이터를 상기 사용자 단말에게 전송하는 단계를 포함할 수 있다.Generating server authentication data from the second random number using the session key, and transmitting the server authentication data to the user terminal.

상기 사용자 단말로부터 수신하는 상기 전자 서명의 요청 및 서명 대상 데이터는 상기 세션키를 이용하여 암호화 된 것으로,Wherein the digital signature request and signature target data received from the user terminal are encrypted using the session key,

상기 전자 서명 서비스 방법은, 상기 암호화 된 전자 서명의 요청 및 서명 대상 데이터를 상기 세션키를 이용하여 복호화 하는 단계;를 더 포함할 수 있다.The digital signature service method may further include decrypting the encrypted digital signature request and signature target data using the session key.

다른 측면에 있어서,In another aspect,

전자 서명 서비스 서버가 전자 서명 서비스를 제공하는 방법에 있어서,A method of providing an electronic signature service by an electronic signature service server,

사용자 단말로부터 기기 인증 데이터를 수신하는 단계; Receiving device authentication data from a user terminal;

상기 기기 인증 데이터를 검증하는 단계;Verifying the device authentication data;

상기 기기 인증 데이터가 검증 됨에 따라 상기 사용자 단말로부터 상기 사용자의 전자 서명 생성을 위한 키 쌍 생성의 요청을 수신하는 단계;Receiving a request for generating a key pair for generating the digital signature of the user from the user terminal according to the device authentication data being verified;

상기 사용자의 전자 서명 생성을 위한 키 쌍을 생성하는 단계;Generating a key pair for generating the digital signature of the user;

상기 키 쌍에 포함된 개인키를 저장부에 저장하는 단계; 및Storing a private key included in the key pair in a storage unit; And

상기 키 쌍에 포함된 공개키를 상기 사용자 단말에 전송하는 단계;를 포함하며,And transmitting the public key included in the key pair to the user terminal,

상기 개인키는, 전자 서명 서비스 서버의 전자 서명 생성 모듈이 상기 서명 대상 데이터에 대한 전자 서명을 생성하는데 이용되는 전자 서명 서비스 방법이 제공된다.Wherein the private key is used in an electronic signature service module in which an electronic signature generation module of an electronic signature service server is used to generate an electronic signature for the signature subject data.

상기 전자 서명 서비스 방법은, 상기 사용자 단말로부터 상기 사용자의 인증서 데이터를 수신하는 단계; 및The digital signature service method includes: receiving certificate data of the user from the user terminal; And

상기 인증서 데이터를 상기 저장부에 저장하는 단계;를 더 포함할 수 있다.And storing the certificate data in the storage unit.

상기 인증서 데이터를 상기 저장부에 저장하는 단계는, 상기 인증서 데이터가 저장되는 저장 공간이 상기 개인키가 저장되는 저장 공간과 서로 달라지도록 상기 인증서 데이터를 저장할 수 있다.The step of storing the certificate data in the storage unit may store the certificate data so that the storage space in which the certificate data is stored is different from the storage space in which the private key is stored.

상기 전자 서명 서비스 방법은, 상기 사용자 단말로부터 상기 키 쌍 생성의 확인을 위한 개인키 소유여부 검증정보 및 상기 개인키 소유여부 검증정보에 대한 전자 서명의 요청을 수신하는 단계;The digital signature service method may further include receiving a request for an electronic signature from the user terminal, the request for verification of the private key and the verification of whether the private key is possessed;

상기 저장부에 저장된 상기 개인키를 이용하여 개인키 소유여부 검증정보에 대한 전자 서명을 생성하는 단계;Generating a digital signature for the private key possessing verification information using the private key stored in the storage unit;

상기 개인키 소유여부 검증정보에 대한 전자 서명을 상기 사용자 단말에 전송하는 단계;를 더 포함할 수 있다.And transmitting the digital signature to the user terminal for verification of the private key possessing information.

다른 측면에 있어서,In another aspect,

전자 서명 서비스 서버가 전자 서명 서비스를 제공하는 방법에 있어서,A method of providing an electronic signature service by an electronic signature service server,

사용자 단말로부터 기기 인증 데이터를 수신하는 단계; Receiving device authentication data from a user terminal;

상기 기기 인증 데이터를 검증하는 단계;Verifying the device authentication data;

상기 기기 인증 데이터가 검증 됨에 따라 상기 사용자 단말로부터 사용자의 전자 서명 생성을 위한 키 쌍 정보를 수신하는 단계;Receiving key pair information for generating a digital signature of a user from the user terminal according to the device authentication data being verified;

상기 키 쌍에 포함된 개인키는 저장부의 제1 저장 공간에 저장하고, 상기 키 쌍에 포함된 공개키는 저장부의 제2 저장 공간에 저장하는 단계;를 포함하며,Storing the private key included in the key pair in the first storage space of the storage unit and storing the public key included in the key pair in the second storage space of the storage unit,

상기 개인키는 상기 전자 서명을 생성하는 전자 서명 생성 모듈을 제외한 다른 장치가 복제 및 확인할 수 없도록 상기 제1 저장 공간에 저장되는 전자 서명 서비스 방법이 제공된다.Wherein the private key is stored in the first storage space such that the private key can not be copied and verified by another device except for the digital signature generation module for generating the digital signature.

다른 측면에 있어서,In another aspect,

사용자 단말과 통신하는 통신부;A communication unit for communicating with a user terminal;

사용자의 전자서명 생성을 위한 개인키를 저장하는 저장부;A storage unit for storing a private key for generating a digital signature of a user;

상기 통신부가 상기 사용자 단말로부터 서명 대상 데이터 및 상기 서명 대상 데이터에 대한 전자 서명의 요청을 수신하면, 상기 개인키를 이용하여 상기 서명 대상 데이터에 대한 전자 서명을 생성하는 전자 서명 생성 모듈;을 포함하며,And an electronic signature generation module that generates a digital signature for the signature target data using the private key when the communication unit receives the signature object data and the digital signature request for the signature object data from the user terminal ,

상기 통신부는 상기 전자 서명 생성 모듈이 생성한 상기 전자서명을 상기 사용자 단말로 전송하는 전자서명 서비스 서버가 제공된다.And the communication unit transmits the digital signature generated by the digital signature generation module to the user terminal.

상기 저장부는 상기 전자 서명 생성 모듈을 제외한 다른 장치가 상기 개인키를 복제 및 확인할 수 없도록 상기 개인키를 저장할 수 있다.The storage unit may store the private key so that a device other than the digital signature generation module can not copy and confirm the private key.

상기 저장부는 상기 개인키를 저장하는 제1 저장 공간을 포함하며,Wherein the storage unit includes a first storage space for storing the private key,

상기 제1 저장 공간 및 상기 전자 서명 생성 모듈은 하드웨어 보안 모듈(Hardware Security Module)을 구성할 수 있다.The first storage space and the digital signature generation module may constitute a hardware security module.

상기 통신부는 상기 사용자 단말로부터 상기 사용자의 인증서 데이터를 수신하고, 상기 저장부는 상기 인증서 데이터를 저장하는 제2 저장 공간을 포함하며, 상기 제1 및 제2 저장 공간은 서로 분리되도록 구성될 수 있다.The communication unit may receive the user's certificate data from the user terminal, and the storage unit may include a second storage space for storing the certificate data. The first storage space and the second storage space may be separated from each other.

상기 전자 서명 서비스 서버는 상기 사용자 단말로부터 획득된 단말 인증 데이터를 검증하고, 상기 사용자 단말에게 전송하는 서버 인증 데이터를 생성하는 프로세서;를 더 포함할 수 있다.The electronic signature service server may further include a processor for verifying terminal authentication data obtained from the user terminal and generating server authentication data to be transmitted to the user terminal.

상기 기기 인증 데이터는 기기 인증용 키 쌍에 포함된 기기 인증용 개인키에 의해 생성된 것으로,The device authentication data is generated by the device authentication private key included in the device authentication key pair,

상기 프로세서는 상기 기기 인증용 키 쌍에 포함된 기기 인증용 공개키를 이용하여 상기 기기 인증 데이터를 검증할 수 있다.The processor can verify the device authentication data using the device authentication public key included in the device authentication key pair.

상기 프로세서는, 상기 기기 인증 데이터가 검증 됨에 따라, 상기 전자 서명 서비스 서버와 상기 사용자 단말 간에 송수신되는 정보의 보안을 위해 상기 전자 서명 서비스 서버와 상기 사용자 단말 사이의 통신 보안 세션을 생성할 수 있다.The processor may generate a communication security session between the digital signature service server and the user terminal to secure information transmitted and received between the digital signature service server and the user terminal as the device authentication data is verified.

다른 측면에 있어서,In another aspect,

사용자 단말이 전자 서명 서비스 서버로부터 전자 서명을 획득하는 방법에 있어서,A method for a user terminal to obtain an electronic signature from an electronic signature service server,

상기 전자서명 서비스 서버에게 기기 인증 데이터를 제공하는 단계;Providing device authentication data to the electronic signature service server;

상기 전자서명 서비스 서버에 의해 상기 기기 인증 데이터의 검증이 완료되면, 상기 전자서명 서비스 서버에게 서명 대상 데이터 및 상기 서명 대상 데이터에 대한 전자 서명의 요청을 전송하는 단계;Transmitting a request for digital signature to the digital signature service server and the signature target data to the digital signature service server when the verification of the device authentication data is completed by the digital signature service server;

상기 전자서명 서비스 서버에 등록된 상기 사용자의 개인키에 의해 생성된 전자 서명을 상기 전자 서명 서비스 서버로부터 수신하는 단계; Receiving a digital signature generated by the user's private key registered in the digital signature service server from the digital signature service server;

상기 전자 서명을 이용하여 전자 서명문을 생성하는 단계; 및Generating an electronic signature statement using the digital signature; And

상기 전자서명문을 전자서명 전자 서명 이용 서버에 전송하는 단계;를 포함하는 전자 서명 획득 방법이 개시될 수 있다.And transmitting the electronic signature statement to the electronic signature digital signature utilization server.

상기 전자 서명 획득 방법은, The digital signature obtaining method includes:

사용자의 로컬 인증을 수행하는 단계; Performing a local authentication of the user;

상기 로컬 인증이 완료되면,When the local authentication is completed,

상기 기기 인증용 키 쌍에 포함된 기기 인증용 개인키를 이용하여, 상기 사용자 단말의 기기 인증을 위한 정보로부터 상기 기기 인증 데이터를 생성하는 단계;를 더 포함할 수 있다.And generating the device authentication data from information for device authentication of the user terminal using the device authentication private key included in the device authentication key pair.

상기 전자 서명 획득 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체가 제공된다.There is provided a computer-readable recording medium storing a program for causing a computer to execute the digital signature obtaining method.

실시예들에 따르면, 전자 서명 생성을 위한 개인키를 전자 서명 서비스 서버에서 등록 및 관리함으로써 사용자가 개인키가 저장된 매체를 소지하지 않아도 되는 효과가 발생한다. 또한, 개인키가 저장된 매체가 도용되는 것을 방지할 수 있다. 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.

도 1은 예시적인 실시예에 따른 전자 서명 서비스 시스템(1000)을 나타낸 도면이다.
도 2는 도 1에서 나타낸 전자 서명 서비스 서버(100)를 대략적으로 나타낸 블록도이다.
도 3은 도 2에서 나타낸 저장부(130)의 저장 공간을 개념적으로 나타낸 블록도 이다.
도 4는 도 1에서 나타낸 사용자 사용자 단말(200)을 대략적으로 나타낸 블록도이다.
도 5는 도 1에서 나타낸 전자 서명 서비스 시스템에 의해 전자 서명 서비스가 제공되는 방법의 예시를 나타낸 흐름도이다.
도 6은 도 1에서 나타낸 전자 서명 서비스 시스템에 의해 전자 서명 서비스가 제공되는 방법의 다른 예시를 나타낸 흐름도이다.
도 7은 전자 서명 서비스 서버가 사용자 단말의 사용자를 인증하는 과정을 예시적으로 나타낸 흐름도이다.
도 8은 도 6에서 나타낸 전자 서명 서비스 방법에서 보안 통신 세션을 생성하는 단계가 추가된 예를 나타낸 흐름도이다.
도 9는 도 8에서 나타낸 보안 통신 세션 생성 단계가 수행되는 과정을 예시적으로 나타낸 흐름도이다.
도 10은 상기 보안 통신 세션을 이용하여 전자 서명 서비스 서버와 사용자 단말이 데이터를 송수신 하는 것을 나타낸 흐름도이다.
도 11a 및 도 11b는 도 1에서 나타낸 전자 서명 서비스 시스템에 의해 전자 서명 서비스가 제공되는 방법의 예시를 나타낸 흐름도이다.
도 12는 사용자 단말에 저장된 개인키 및 인증서 데이터를 전자 서명 서비스 서버에 이동시키는 과정을 예시적으로 나타낸 흐름도이다.
1 is a diagram illustrating an electronic signature service system 1000 according to an exemplary embodiment.
2 is a block diagram schematically showing the digital signature service server 100 shown in FIG.
3 is a block diagram conceptually illustrating a storage space of the storage unit 130 shown in FIG.
FIG. 4 is a block diagram schematically illustrating the user user terminal 200 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.

본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 설명되는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 아래에서 제시되는 실시 예들로 한정되는 것이 아니라, 서로 다른 다양한 형태로 구현될 수 있고, 본 발명의 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 아래에 제시되는 실시 예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.Brief Description of the Drawings The advantages and features of the present invention, and the manner of achieving them, will be apparent from and elucidated with reference to the embodiments described in conjunction with the accompanying drawings. It should be understood, however, that the present invention is not limited to the embodiments set forth herein, but may be embodied in many different forms and includes all conversions, equivalents, and alternatives falling within the spirit and scope of the present invention . BRIEF DESCRIPTION OF THE DRAWINGS The above and other aspects of the present invention will become more apparent by describing in detail preferred embodiments thereof with reference to the attached drawings. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, the present invention will be described in detail with reference to the accompanying drawings.

본 출원에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다. 제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.

명세서 전체에서 전자 서명이란 전자 문서에 첨부되는 디지털 정보로서, 전자 서명을 생성한 사용자의 신원을 확인하고 사용자의 상기 전자 문서에 대한 승인을 나타낼 목적으로 사용되는 것을 의미한다.Throughout the specification, an electronic signature means digital information attached to an electronic document, used for the purpose of confirming the identity of the user who created the electronic signature and indicating the user's approval of the electronic document.

서명 대상 문서는 사용자의 전자 서명이 요구되는 전자 문서를 의미한다. 사용자는 상기 서명 대상 문서에 대해 전자 서명을 생성함으로써, 상기 서명 대상 문서에 대해 상기 사용자가 승인하였음을 인증할 수 있다. 서명 대상 문서는 전자 서명을 이용하는 이용 기관의 서버에 의해 작성될 수 있다. 상기 전자 서명 이용기관은 은행, 공공기관, 전자 상거래 서비스 운영기관, 주식 거래 기관 등일 수 있으며, 이에 제한되는 것은 아니다. 다른 예로, 서명 대상 문서는 서명의 권한이 있는 사용자 단말에 의해서도 작성될 수도 있다. 서명 대상 문서는 전자 문서로서, 온라인 증명서, 전자상거래 문서, 인터넷 주식 거래 문서 등을 포함할 수 있으며, 이에 제한되는 것은 아니다.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 using institution.

전자 서명문은 전자 서명을 이용하는 이용 기관에 제출되는 전자 문서를 의미한다. 전자 서명문에는 상기 전자 서명, 서명 대상 데이터, 인증서 데이터 및 전자 서명을 복호화 하기 위한 공개 키 데이터 등이 첨부되어 있을 수 있다. 전자 서명 이용 기관은 전자 서명문에 첨부된 공개 키 데이터로 상기 전자 서명을 검증함으로써, 전자 서명이 사용자에 의해 작성된 것인 지를 확인할 수 있다.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 digital signature, and then send a request for the digital signature to the processed signature target data to the digital signature service server 100.

사용자 단말(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 wireless network may 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 illustrating the user 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. [ 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을 참조하여 설명한 실시예들에 따라 이루어질 수 있다. User authentication may be performed at steps 2110, 2112, and 2114. The user 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 the result of generating the key pair to the user terminal 200 through the communication unit 110. [

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.

한편, 상술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성 가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. 또한, 상술한 본 발명의 실시예에서 사용된 데이터의 구조는 컴퓨터로 읽을 수 있는 기록매체에 여러 수단을 통하여 기록될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드 디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등)와 같은 저장매체를 포함한다.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,

이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.The present invention has been described with reference to the preferred embodiments. 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 (26)

전자 서명 서비스 서버가 전자 서명 서비스를 제공하는 방법에 있어서,
사용자 단말로부터 서명 대상 데이터 및 상기 서명 대상 데이터에 대한 전자 서명의 요청을 수신하는 단계;
상기 요청에 응답하여, 기 등록된 상기 사용자의 개인키를 이용하여 상기 서명 대상 데이터에 대한 상기 전자 서명을 생성하는 단계;
상기 전자서명을 상기 사용자 단말에게 전송하는 단계;를 포함하며,
상기 사용자 단말에게 전송된 전자 서명은, 상기 서명 대상 데이터 및 상기 개인키에 대응되는 공개키와 함께, 상기 사용자 단말로부터 상기 전자 서명을 이용하는 이용 서버에게 제공되는 것인 전자 서명 서비스 방법.
A method of providing an electronic signature service by an electronic signature service server,
Receiving a request for digital signature from the user terminal and data to be signed;
Generating, in response to the request, the digital signature for the signature subject data using the pre-registered private key of the user;
And transmitting the digital signature to the user terminal,
Wherein the digital signature transmitted to the user terminal is provided to the use server using the digital signature from the user terminal together with the signature subject data and the public key corresponding to the private key.
제 1 항에 있어서,
상기 개인키를 등록하는 단계는, 상기 개인키를 이용하여 상기 전자 서명을 생성하는 전자 서명 생성 모듈을 제외한 다른 장치가 상기 개인키를 복제 및 확인할 수 없도록 상기 개인키를 저장하는 전자 서명 서비스 방법.
The method according to claim 1,
Wherein the step of registering the private key stores the private key so that a device other than the electronic signature generation module that generates the electronic signature using the private key can not duplicate and confirm the private key.
제 1 항에 있어서,
상기 사용자의 인증서 데이터는 상기 개인키와 함께 상기 전자 서명 서비스 서버에 등록되며,
상기 사용자 단말에게 상기 사용자의 인증서 데이터를 전송하는 단계;를 더 포함하는 전자서명 서비스 방법.
The method according to claim 1,
The certificate data of the user is registered with the electronic signature service server together with the private key,
And transmitting the certificate data of the user to the user terminal.
제 1 항에 있어서,
상기 사용자 단말로부터 상기 사용자 단말을 인증하기 위한 기기 인증 데이터를 수신하는 단계; 및
상기 기기 인증 데이터를 검증하는 단계;를 더 포함하며,
상기 전자 서명을 생성하는 단계는, 상기 기기 인증 데이터가 검증 됨에 따라 상기 전자 서명을 생성하는 전자서명 서비스 방법.
The method according to claim 1,
Receiving device authentication data for authenticating the user terminal from the user terminal; And
And verifying the device authentication data,
Wherein the step of generating the digital signature generates the digital signature as the device authentication data is verified.
제 4 항에 있어서,
상기 기기 인증 데이터는 기기 인증용 키 쌍에 포함된 기기 인증용 개인키에 의해 생성된 것인 전자서명 서비스 방법.
5. The method of claim 4,
Wherein the device authentication data is generated by a device authentication private key included in a device key pair.
제 5 항에 있어서,
상기 기기 인증 데이터를 검증하는 단계는,
상기 기기 인증 데이터를 상기 기기 인증용 키 쌍에 포함된 기기 인증용 공개키로 상기 기기 인증 데이터를 검증하는 전자서명 서비스 방법.
6. The method of claim 5,
Wherein the verifying the device authentication data comprises:
And the device authentication data is verified with the device authentication public key included in the device authentication key pair.
제 4 항에 있어서,
상기 기기 인증 데이터가 검증됨에 따라, 상기 전자 서명 서비스 서버와 상기 사용자 단말 간에 송수신되는 정보의 보안을 위해 상기 전자 서명 서비스 서버와 상기 사용자 단말 사이의 통신 보안 세션을 생성하는 단계;를 더 포함하는 전자 서명 서비스 방법.
5. The method of claim 4,
And generating a communication security session between the digital signature service server and the user terminal for securing information transmitted and received between the digital signature service server and the user terminal as the device authentication data is verified Signature service method.
제 7 항에 있어서,
상기 통신 보안 세션을 생성하는 단계는,
세션키 및 토큰을 생성하는 단계 및 상기 세션키 및 토큰을 기기 인증용 공개키로 암호화 하여 상기 사용자 단말에 전송하는 단계를 포함하는 전자 서명 서비스 방법.
8. The method of claim 7,
Wherein the step of generating a communication security session comprises:
Generating a session key and a token, and encrypting the session key and the token with a public key for device authentication, and transmitting the encrypted session key and the token to the user terminal.
제 8 항에 있어서,
상기 전자 서명의 요청을 수신하는 단계는, 상기 사용자 단말이 전송하는 토큰을 함께 수신하고,
상기 전자 서명을 생성하는 단계는, 상기 사용자 단말로부터 수신한 토큰과 전자 서명 서비스 서버가 생성한 토큰이 일치하는 지 확인하고, 상기 토큰에 매칭되는 개인키를 이용하여 상기 전자 서명을 생성하는 전자 서명 서비스 방법.
9. The method of claim 8,
The receiving of the digital signature request may include receiving a token transmitted by the user terminal,
Wherein the step of generating the digital signature comprises the steps of: verifying that the token received from the user terminal matches the token generated by the digital signature service server, generating an electronic signature by using the private key matched with the token Service method.
제 8 항에 있어서,
상기 통신 보안 세션을 생성하는 단계는,
상기 사용자 단말이 제1 난수로부터 상기 세션키를 이용하여 생성한 단말 인증 데이터를 상기 사용자 단말로부터 수신하고, 상기 단말 인증 데이터를 검증하는 단계 및
제2 난수로부터 상기 세션키를 이용하여 서버 인증 데이터를 생성하고 상기 서버 인증 데이터를 상기 사용자 단말에게 전송하여 검증하는 단계를 포함하는 전자 서명 서비스 방법.
9. The method of claim 8,
Wherein the step of generating a communication security session comprises:
Receiving the terminal authentication data generated by the user terminal from the first random number using the session key from the user terminal and verifying the terminal authentication data;
Generating server authentication data from the second random number using the session key, and transmitting the server authentication data to the user terminal for verification.
제 8 항에 있어서,
상기 사용자 단말로부터 수신하는 상기 전자 서명의 요청 및 서명 대상 데이터는 상기 세션키를 이용하여 암호화 된 것으로,
상기 암호화 된 전자 서명의 요청 및 서명 대상 데이터를 상기 세션키를 이용하여 복호화 하는 단계;를 더 포함하는 전자 서명 서비스 방법.
9. The method of claim 8,
Wherein the digital signature request and signature target data received from the user terminal are encrypted using the session key,
And decrypting the request for the encrypted digital signature and the data to be signed using the session key.
전자 서명 서비스 서버가 전자 서명 서비스를 제공하는 방법에 있어서,
사용자 단말로부터 기기 인증 데이터를 수신하는 단계;
상기 기기 인증 데이터를 검증하는 단계;
상기 기기 인증 데이터가 검증 됨에 따라 상기 사용자 단말로부터 상기 사용자의 전자 서명 생성을 위한 키 쌍 생성의 요청을 수신하는 단계;
상기 사용자의 전자 서명 생성을 위한 키 쌍을 생성하는 단계;
상기 키 쌍에 포함된 개인키를 저장부에 저장하는 단계; 및
상기 키 쌍에 포함된 공개키를 상기 사용자 단말에 전송하는 단계;를 포함하며,
상기 개인키는, 전자 서명 서비스 서버의 전자 서명 생성 모듈이 서명 대상 데이터에 대한 전자 서명을 생성하는데 이용되는 전자 서명 서비스 방법.
A method of providing an electronic signature service by an electronic signature service server,
Receiving device authentication data from a user terminal;
Verifying the device authentication data;
Receiving a request for generating a key pair for generating the digital signature of the user from the user terminal according to the device authentication data being verified;
Generating a key pair for generating the digital signature of the user;
Storing a private key included in the key pair in a storage unit; And
And transmitting the public key included in the key pair to the user terminal,
Wherein the private key is used by the digital signature generation module of the digital signature service server to generate an electronic signature for the data to be signed.
제 12 항에 있어서,
상기 사용자 단말로부터 상기 사용자의 인증서 데이터를 수신하는 단계; 및
상기 인증서 데이터를 상기 저장부에 저장하는 단계;를 더 포함하는 전자 서명 서비스 방법.
13. The method of claim 12,
Receiving certificate data of the user from the user terminal; And
And storing the certificate data in the storage unit.
제 13 항에 있어서,
상기 인증서 데이터를 상기 저장부에 저장하는 단계는, 상기 인증서 데이터가 저장되는 저장 공간이 상기 개인키가 저장되는 저장 공간과 서로 달라지도록 상기 인증서 데이터를 저장하는 전자 서명 서비스 방법.
14. The method of claim 13,
Wherein the step of storing the certificate data in the storage unit stores the certificate data so that a storage space in which the certificate data is stored is different from a storage space in which the private key is stored.
제 14 항에 있어서,
상기 사용자 단말로부터 상기 키 쌍 생성의 확인을 위한 개인키 소유여부 검증정보 및 상기 개인키 소유여부 검증정보에 대한 전자 서명의 요청을 수신하는 단계;
상기 저장부에 저장된 상기 개인키를 이용하여 개인키 소유여부 검증정보에 대한 전자 서명을 생성하는 단계;
상기 개인키 소유여부 검증정보에 대한 전자 서명을 상기 사용자 단말에 전송하는 단계;를 포함하는 전자서명 서비스 방법.
15. The method of claim 14,
Receiving, from the user terminal, a request for an electronic signature for verifying whether the private key is owned or not;
Generating a digital signature for the private key possessing verification information using the private key stored in the storage unit;
And transmitting a digital signature to the user terminal for verifying whether or not the private key is possessed.
전자 서명 서비스 서버가 전자 서명 서비스를 제공하는 방법에 있어서,
사용자 단말로부터 기기 인증 데이터를 수신하는 단계;
상기 기기 인증 데이터를 검증하는 단계;
상기 기기 인증 데이터가 검증 됨에 따라 상기 사용자 단말로부터 사용자의 전자 서명 생성을 위한 키 쌍 정보를 수신하는 단계;
상기 키 쌍에 포함된 개인키는 저장부의 제1 저장 공간에 저장하고, 상기 키 쌍에 포함된 공개키는 저장부의 제2 저장 공간에 저장하는 단계;를 포함하며,
상기 개인키는 상기 전자 서명을 생성하는 전자 서명 생성 모듈을 제외한 다른 장치가 복제 및 확인할 수 없도록 상기 제1 저장 공간에 저장되는 전자 서명 서비스 방법.
A method of providing an electronic signature service by an electronic signature service server,
Receiving device authentication data from a user terminal;
Verifying the device authentication data;
Receiving key pair information for generating a digital signature of a user from the user terminal according to the device authentication data being verified;
Storing the private key included in the key pair in the first storage space of the storage unit and storing the public key included in the key pair in the second storage space of the storage unit,
Wherein the private key is stored in the first storage space so that other devices other than the digital signature generation module for generating the digital signature can not be duplicated and verified.
사용자 단말과 통신하는 통신부;
사용자의 전자서명 생성을 위한 개인키를 저장하는 저장부;
상기 통신부가 상기 사용자 단말로부터 서명 대상 데이터 및 상기 서명 대상 데이터에 대한 전자 서명의 요청을 수신하면, 상기 개인키를 이용하여 상기 서명 대상 데이터에 대한 전자 서명을 생성하는 전자 서명 생성 모듈;을 포함하며,
상기 통신부는 상기 전자 서명 생성 모듈이 생성한 상기 전자서명을 상기 사용자 단말로 전송하는 전자서명 서비스 서버.
A communication unit for communicating with a user terminal;
A storage unit for storing a private key for generating a digital signature of a user;
And an electronic signature generation module that generates a digital signature for the signature target data using the private key when the communication unit receives the signature object data and the digital signature request for the signature object data from the user terminal ,
And the communication unit transmits the digital signature generated by the digital signature generation module to the user terminal.
제 17 항에 있어서,
상기 저장부는 상기 전자 서명 생성 모듈을 제외한 다른 장치가 상기 개인키를 복제 및 확인할 수 없도록 상기 개인키를 저장하는 전자서명 서비스 서버.
18. The method of claim 17,
Wherein the storage unit stores the private key so that a device other than the digital signature generation module can not duplicate and confirm the private key.
제 18 항에 있어서,
상기 저장부는 상기 개인키를 저장하는 제1 저장 공간을 포함하며,
상기 제1 저장 공간 및 상기 전자 서명 생성 모듈은 하드웨어 보안 모듈(Hardware Security Module)을 구성하는 전자 서명 서비스 서버.
19. The method of claim 18,
Wherein the storage unit includes a first storage space for storing the private key,
Wherein the first storage space and the digital signature generation module constitute a hardware security module.
제 19 항에 있어서,
상기 통신부는 상기 사용자 단말로부터 상기 사용자의 인증서 데이터를 수신하고, 상기 저장부는 상기 인증서 데이터를 저장하는 제2 저장 공간을 포함하며, 상기 제1 및 제2 저장 공간은 서로 분리되도록 구성되는 전자 서명 서비스 서버.
20. The method of claim 19,
Wherein the communication unit receives the user's certificate data from the user terminal, and the storage unit includes a second storage space for storing the certificate data, wherein the first and second storage spaces are separated from each other, server.
제 17 항에 있어서,
상기 사용자 단말로부터 획득된 단말 인증 데이터를 검증하고, 상기 사용자 단말에게 전송하는 서버 인증 데이터를 생성하는 프로세서;를 더 포함하는 전자 서명 서비스 서버.
18. The method of claim 17,
And a processor for verifying terminal authentication data obtained from the user terminal and generating server authentication data to be transmitted to the user terminal.
제 21 항에 있어서,
상기 프로세서는 상기 사용자 단말로부터 획득한 기기 인증 데이터를 검증하며,
상기 기기 인증 데이터는 기기 인증용 키 쌍에 포함된 기기 인증용 개인키에 의해 생성된 것으로,
상기 프로세서는 상기 기기 인증용 키 쌍에 포함된 기기 인증용 공개키를 이용하여 상기 기기 인증 데이터를 검증하는 전자 서명 서비스 서버.
22. The method of claim 21,
The processor verifies the device authentication data acquired from the user terminal,
The device authentication data is generated by the device authentication private key included in the device authentication key pair,
Wherein the processor verifies the device authentication data using the device authentication public key included in the device authentication key pair.
제 22 항에 있어서,
상기 프로세서는, 상기 기기 인증 데이터가 검증 됨에 따라, 상기 전자 서명 서비스 서버와 상기 사용자 단말 간에 송수신되는 정보의 보안을 위해 상기 전자 서명 서비스 서버와 상기 사용자 단말 사이의 통신 보안 세션을 생성하는 전자 서명 서비스 서버.
23. The method of claim 22,
Wherein the processor is configured to generate an electronic signature service to generate a communication security session between the digital signature service server and the user terminal for securing information transmitted and received between the digital signature service server and the user terminal, server.
사용자 단말이 전자 서명 서비스 서버로부터 전자 서명을 획득하는 방법에 있어서,
상기 전자 서명 서비스 서버에게 기기 인증 데이터를 제공하는 단계;
상기 전자서명 서비스 서버에 의해 상기 기기 인증 데이터의 검증이 완료되면, 상기 전자서명 서비스 서버에게 서명 대상 데이터 및 상기 서명 대상 데이터에 대한 전자 서명의 요청을 전송하는 단계;
상기 전자서명 서비스 서버에 등록된 상기 사용자의 개인키에 의해 상기 서명 대상 데이터가 암호화된 전자 서명을 상기 전자 서명 서비스 서버로부터 수신하는 단계;
상기 전자 서명을 이용하여 전자 서명문을 생성하는 단계; 및
상기 전자 서명문을 전자서명 전자 서명 이용 서버에 전송하는 단계;를 포함하는 전자 서명 획득방법.
A method for a user terminal to obtain an electronic signature from an electronic signature service server,
Providing device authentication data to the electronic signature service server;
Transmitting a request for digital signature to the digital signature service server and the signature target data to the digital signature service server when the verification of the device authentication data is completed by the digital signature service server;
Receiving, from the electronic signature service server, an electronic signature in which the signature target data is encrypted by the user's private key registered in the electronic signature service server;
Generating an electronic signature statement using the digital signature; And
And transmitting the electronic signature statement to the electronic signature digital signature utilization server.
제 24 항에 있어서,
사용자의 로컬 인증을 수행하는 단계;
상기 로컬 인증이 완료되면, 기기 인증용 키 쌍을 생성하는 단계; 및
상기 기기 인증용 키 쌍에 포함된 기기 인증용 개인키를 이용하여, 상기 사용자 단말의 기기 인증을 위한 정보로부터 상기 기기 인증 데이터를 생성하는 단계;를 더 포함하는 전자 서명 획득방법.
25. The method of claim 24,
Performing a local authentication of the user;
When the local authentication is completed, generating a key pair for device authentication; And
And generating the device authentication data from information for device authentication of the user terminal using the device authentication private key included in the device authentication key pair.
제 24 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.24. A computer-readable recording medium storing a program for causing a computer to execute the method of claim 24.
KR1020160075098A 2016-06-16 2016-06-16 System and method for providing electronic signature service KR101863953B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160075098A KR101863953B1 (en) 2016-06-16 2016-06-16 System and method for providing electronic signature service

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160075098A KR101863953B1 (en) 2016-06-16 2016-06-16 System and method for providing electronic signature service

Publications (2)

Publication Number Publication Date
KR20170141976A true KR20170141976A (en) 2017-12-27
KR101863953B1 KR101863953B1 (en) 2018-06-29

Family

ID=60938620

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160075098A KR101863953B1 (en) 2016-06-16 2016-06-16 System and method for providing electronic signature service

Country Status (1)

Country Link
KR (1) KR101863953B1 (en)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101952329B1 (en) 2018-03-22 2019-02-26 주식회사 스트리미 Method for generating address information used in transaction of cryptocurrency based on blockchain, electronic apparatus and computer readable recording medium
KR20190097998A (en) * 2018-02-12 2019-08-21 주식회사 한컴위드 User authentication apparatus supporting secure storage of private key and operating method thereof
KR102038664B1 (en) * 2019-04-18 2019-10-30 주식회사 플링크 Method for loading external data based on api and system using the same
KR20190143196A (en) * 2018-06-20 2019-12-30 시옷랩주식회사 Encryption apparatus based on quantum random number
KR102048534B1 (en) * 2018-05-31 2020-01-08 주식회사 핀업 Apparatus and method of authentication
KR20210045632A (en) * 2019-10-17 2021-04-27 한국전자인증 주식회사 Method and System for electronic authentication and encryption of data Based On Cloud System
KR20210107941A (en) 2020-02-24 2021-09-02 황순영 Private key management method using partial hash value
KR102318947B1 (en) * 2020-08-21 2021-10-27 세종대학교산학협력단 Method for protecting privacy data, computing device and system for executing the method
KR102319416B1 (en) * 2020-08-21 2021-10-28 세종대학교산학협력단 Method for generating bloom filter of based blockchain, computing device and system for executing the method
WO2022169105A1 (en) * 2021-02-02 2022-08-11 삼성전자 주식회사 Server using hardware security architecture, electronic device for verifying integrity of data transmitted from server, and verification method using same
KR20230056204A (en) * 2021-10-20 2023-04-27 주식회사 한글과컴퓨터 Interfacing support server that supports the interfacing between a cloud storage and a client terminal to provide a cloud office service and operating method thereof
KR102558804B1 (en) * 2022-12-29 2023-07-24 주식회사 들의곰 Electronic signature system for transmitting digital signature request from PC to mobile terminal and receiving digital signature on mobile terminal, and method thereof

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102246012B1 (en) * 2020-08-31 2021-04-30 주식회사 한국기업보안 Method and system for providing electronic signautre based on hsm server
KR20230071415A (en) 2021-11-16 2023-05-23 기초과학연구원 Method for generating user's public key certificate in hierarchical structure, method for selecting electronic signature algorithm for authentication, and appatarus capable of performing the method
KR102647226B1 (en) * 2023-02-14 2024-03-13 한화시스템 주식회사 Apparatus for security communication

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100506700B1 (en) * 2000-06-28 2005-08-09 소프트포럼 주식회사 Method for providing secured web-mail service based on public key, and system for the same
KR101172871B1 (en) * 2010-09-06 2012-08-10 브이피 주식회사 Method and system of secure payment using onetime authentication information
KR20130051636A (en) * 2011-11-10 2013-05-21 유넷시스템주식회사 Method for mutual authentication and security in m2m environment

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100506700B1 (en) * 2000-06-28 2005-08-09 소프트포럼 주식회사 Method for providing secured web-mail service based on public key, and system for the same
KR101172871B1 (en) * 2010-09-06 2012-08-10 브이피 주식회사 Method and system of secure payment using onetime authentication information
KR20130051636A (en) * 2011-11-10 2013-05-21 유넷시스템주식회사 Method for mutual authentication and security in m2m environment

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
A. Menezes 외 2명, Handbook of Applied Cryptography, Chapter 12, CRC Press (1996) *

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190097998A (en) * 2018-02-12 2019-08-21 주식회사 한컴위드 User authentication apparatus supporting secure storage of private key and operating method thereof
KR101952329B1 (en) 2018-03-22 2019-02-26 주식회사 스트리미 Method for generating address information used in transaction of cryptocurrency based on blockchain, electronic apparatus and computer readable recording medium
WO2019182377A1 (en) * 2018-03-22 2019-09-26 주식회사 스트리미 Method, electronic device, and computer-readable recording medium for generating address information used for transaction of blockchain-based cryptocurrency
KR102048534B1 (en) * 2018-05-31 2020-01-08 주식회사 핀업 Apparatus and method of authentication
KR20190143196A (en) * 2018-06-20 2019-12-30 시옷랩주식회사 Encryption apparatus based on quantum random number
KR102038664B1 (en) * 2019-04-18 2019-10-30 주식회사 플링크 Method for loading external data based on api and system using the same
KR20210045632A (en) * 2019-10-17 2021-04-27 한국전자인증 주식회사 Method and System for electronic authentication and encryption of data Based On Cloud System
KR20210107941A (en) 2020-02-24 2021-09-02 황순영 Private key management method using partial hash value
KR102318947B1 (en) * 2020-08-21 2021-10-27 세종대학교산학협력단 Method for protecting privacy data, computing device and system for executing the method
KR102319416B1 (en) * 2020-08-21 2021-10-28 세종대학교산학협력단 Method for generating bloom filter of based blockchain, computing device and system for executing the method
WO2022169105A1 (en) * 2021-02-02 2022-08-11 삼성전자 주식회사 Server using hardware security architecture, electronic device for verifying integrity of data transmitted from server, and verification method using same
KR20230056204A (en) * 2021-10-20 2023-04-27 주식회사 한글과컴퓨터 Interfacing support server that supports the interfacing between a cloud storage and a client terminal to provide a cloud office service and operating method thereof
KR102558804B1 (en) * 2022-12-29 2023-07-24 주식회사 들의곰 Electronic signature system for transmitting digital signature request from PC to mobile terminal and receiving digital signature on mobile terminal, and method thereof

Also Published As

Publication number Publication date
KR101863953B1 (en) 2018-06-29

Similar Documents

Publication Publication Date Title
KR101863953B1 (en) System and method for providing electronic signature service
US20210351931A1 (en) System and method for securely processing an electronic identity
US20220321359A1 (en) Methods and systems for ownership verification using blockchain
US10142114B2 (en) ID system and program, and ID method
US9860245B2 (en) System and methods for online authentication
US10523441B2 (en) Authentication of access request of a device and protecting confidential information
KR102177848B1 (en) Method and system for verifying an access request
US11569991B1 (en) Biometric authenticated biometric enrollment
TWM623435U (en) System for verifying client identity and transaction services using multiple security levels
KR20200016506A (en) Method for Establishing Anonymous Digital Identity
KR101933090B1 (en) System and method for providing electronic signature service
KR101868564B1 (en) Apparatus for authenticating user in association with user-identification-registration and local-authentication and method for using the same
JP5300026B2 (en) Card authentication system for IC card system
US20240129139A1 (en) User authentication using two independent security elements
TWI828001B (en) System for using multiple security levels to verify customer identity and transaction services and method thereof
WO2024014017A1 (en) Message presentation system, presentation device, and message presentation method
US20240187223A1 (en) Biometric authenticated biometric enrollment
KR20230080676A (en) Method and system for managing DID using a high speed block-chain network

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant