KR100681005B1 - Key roaming method, and method for the same - Google Patents

Key roaming method, and method for the same Download PDF

Info

Publication number
KR100681005B1
KR100681005B1 KR1020020022044A KR20020022044A KR100681005B1 KR 100681005 B1 KR100681005 B1 KR 100681005B1 KR 1020020022044 A KR1020020022044 A KR 1020020022044A KR 20020022044 A KR20020022044 A KR 20020022044A KR 100681005 B1 KR100681005 B1 KR 100681005B1
Authority
KR
South Korea
Prior art keywords
key
value
user
private key
values
Prior art date
Application number
KR1020020022044A
Other languages
Korean (ko)
Other versions
KR20030083857A (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 KR1020020022044A priority Critical patent/KR100681005B1/en
Publication of KR20030083857A publication Critical patent/KR20030083857A/en
Application granted granted Critical
Publication of KR100681005B1 publication Critical patent/KR100681005B1/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/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
    • H04L9/3268Cryptographic 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 using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]
    • 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/3234Cryptographic 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 additional secure or trusted devices, e.g. TPM, smartcard, USB or software token

Abstract

본 발명은 키 관리 기반 구조 시스템(key management infrastructure system)에 관한 것으로, 특히 공개키 기반 구조 시스템(PKI system)에서 사용자가 별도의 미디어나 장치 없이 장소에 구애 받지 않고 자신의 개인키(비밀키)를 안전하게 사용할 수 있도록 해주는 키 로밍 방법 및 그를 위한 시스템에 관한 것이다. 이를 위해 본 발명은 특정 사용자의 개인키를 위탁받는 단계와, 상기 사용자의 요구에 따라, 상기 위탁된 개인키를 임시로 복구시키는 단계와, 상기 사용자에 의한 키 사용이 완료된 후에 상기 복구된 개인키를 소멸시키는 단계로 이루어진다. 그에 따라 본 발명은 PKI와 연동하여 언제 어디서나 강력한 보안을 유지해주며 동시에 사용자에게 이동성을 보장해 주기 때문에, 인터넷 사용자들에게 보다 편리한 보안 환경을 제공해 준다.The present invention relates to a key management infrastructure system, and in particular, in a public key infrastructure system (PKI system), the user's private key (secret key) regardless of the location without a separate media or device The present invention relates to a key roaming method and a system therefor, which makes it possible to use it safely. To this end, the present invention includes the steps of entrusting a private key of a specific user, temporarily restoring the entrusted private key according to a request of the user, and after the use of the key by the user is completed, the recovered private key. It is made to extinguish. Accordingly, the present invention provides a more convenient security environment for Internet users because the present invention works in conjunction with the PKI to maintain strong security anytime and anywhere and ensure mobility to the user.

키 로밍, 키 위탁, 키 복구, 암호강화프로토콜(PHP)Key Roaming, Key Consignment, Key Recovery, Cryptographic Protocol (PHP)

Description

키 로밍 방법 및 그를 위한 시스템{key roaming method, and method for the same}Key roaming method, and method for the same

도 1은 본 발명에 따른 키 로밍을 위한 시스템 구성을 나타낸 도면.1 illustrates a system configuration for key roaming in accordance with the present invention.

도 2는 본 발명에 따른 키 로밍 절차를 나타낸 상태흐름도.2 is a state flow diagram illustrating a key roaming procedure according to the present invention.

도 3은 본 발명에 따른 키 위탁 절차를 나타낸 도면. 3 is a diagram illustrating a key entrustment procedure according to the present invention.

도 4는 본 발명에서 사용되는 임의의 Ri의 생성 절차를 나타낸 도면.4 shows the procedure for generating any R i used in the present invention.

도 5는 본 발명에 따른 키 복구 절차를 나타낸 도면.5 illustrates a key recovery procedure in accordance with the present invention.

도 6은 본 발명에 따른 키 위탁 및 키 복구의 일 예를 나타낸 도면. 6 is a diagram illustrating an example of key entrustment and key recovery according to the present invention;

*도면의 주요부분에 대한 부호설명** Description of Signs of Main Parts of Drawings *

10 : 로밍 크리덴셜 서버(RCS) 21~23 : 로밍 기밀 서버(RSS) 10: Roaming Credential Server (RCS) 21 ~ 23: Roaming Confidential Server (RSS)

본 발명은 키 관리 기반 구조 시스템(key management infrastructure system)에 관한 것으로, 특히 공개키 기반 구조 시스템(PKI system)에서 사용자가 별도의 미디어나 장치 없이 장소에 구애 받지 않고 자신의 개인키(비밀키)를 안전 하게 사용할 수 있도록 해주는 키 로밍 방법 및 그를 위한 시스템에 관한 것이다. The present invention relates to a key management infrastructure system, and in particular, in a public key infrastructure system (PKI system), the user's private key (secret key) regardless of the location without a separate media or device It relates to a key roaming method and a system therefor that can be used safely.

종래에는 여러 분야에서 인터넷 기술이 사용됨에 따라, 인터넷 보안 기술이 요구되었다. In the past, as the Internet technology is used in various fields, the Internet security technology has been required.

이러한 요구에 따라, 1991년 비대칭 키 알고리즘(asymmetric key algorithm)인 RSA(Rivest, Shamir, Adelman) 공개키 암호 방식(public key cryptosystem)에 대한 표준안이 발표되었다.In response to these demands, a standard for the asymmetric key algorithm RSA (Rivest, Shamir, Adelman) public key cryptosystem was published in 1991.

상기한 비대칭 키 알고리즘을 이용한 채널 암호화는 다수의 사용자 간에 보안 세션(security session)을 성공적으로 생성시켜 민감한 데이터를 온라인으로 주고받을 수 있도록 지원한다.The channel encryption using the asymmetric key algorithm described above can successfully create a security session between a plurality of users and support the exchange of sensitive data online.

또한 비대칭 키 알고리즘을 사용한 서비스의 확산을 위해서, 공개키를 소유한 자의 증명을 위한 인증서(certificate) 개념이 도입된다. 온라인 사용자에게 인증서를 발급함으로써, 온라인 사용자들은 서로에 대한 인증이 가능하며, 또한 상호간 암호화 채널 형성이 가능해진다. In addition, for the spread of services using asymmetric key algorithms, the concept of a certificate for proof of the owner of the public key is introduced. By issuing a certificate to an online user, the online users can authenticate each other and can also form mutually encrypted channels.

또한 비대칭 키 알고리즘에 의한 전자서명(electronic signature)을 사용함으로써, 온라인 사용자들이 주고받는 문서의 안전성(integrity)을 보증한다.In addition, the use of electronic signatures by asymmetric key algorithms ensures the integrity of documents sent and received by online users.

공개키 기반 구조(Public Key Infrastructure ; 이하, PKI 라 약칭함)는 상기에서 언급된 온라인 채널 보안과 사용자 인증과 전자서명 등의 보안 서비스를 제공한다.Public Key Infrastructure (hereinafter referred to as PKI) provides the above-mentioned online channel security and security services such as user authentication and digital signature.

PKI의 방식들 중에서는, 인증기관(Certificate Authority)에서 발생하는 인증서를 기반으로 상호 인증을 제공하는 ITU-T의 X.509 방식이 표준규격안으로 사용 되고 있다.Among the methods of the PKI, ITU-T's X.509 method, which provides mutual authentication based on certificates generated from certificate authorities, is used as the standard.

특히 PKI에서는 키 사용목적을 문서에 대한 전자서명과 암호화 등으로 규정하고 있다. In particular, the PKI defines the purpose of using keys as digital signatures and encryption for documents.

문서에 대한 전자서명과 암호화의 특성을 각각 살펴보면, 전자서명 문서의 경우에는 키 생성자(사용자)의 비밀키(Private key)가 소멸되거나 손상되었을 때에도 해당 전자서명 사용자의 인증서를 발급한 인증기관이나 그 인증서를 저장하는 디렉토리 서버(directory server)를 통해 전자서명 값을 검증할 수 있는 공개키(public key) 정보를 쉽게 얻어낼 수 있다. 그러나 암호화된 문서의 경우에는 해당 문서를 암호화한 사용자의 비밀키가 소멸되거나 손상된다면 그 문서 자체까지 손실된다는 문제가 있다.Looking at the characteristics of the digital signature and encryption for the document, respectively, in the case of the digital signature document, the certificate authority that issued the digital signature user's certificate or the certificate even when the private key of the key generator (user) is destroyed or damaged. The directory server, which stores certificates, makes it easy to obtain public key information that can verify digital signature values. However, in the case of an encrypted document, if the secret key of the user who encrypted the document is destroyed or damaged, the document itself is lost.

이렇게 문서에 대한 전자서명과 암호화의 특성들 때문에 PKI 표준규격안에서는 전자서명과 문서 암호화에 대해 각기 다른 키 정보를 이용해 보안 작업을 수행하도록 권고하고 있으며, 또한 사용자는 사용목적에 부합되는 인증서를 발급받아 사용토록 권하고 있다.Because of the characteristics of digital signature and encryption for documents, the PKI standard recommends that security operations be performed using different key information for digital signatures and document encryption. It is recommended to use.

이러한 PKI 기반의 서비스가 성공적으로 운용됨에 따라, 다양한 전자상거래 및 전자결재, 전자문서화 등의 비즈니스가 안정적으로 진행되고 있다.As these PKI-based services are successfully operated, various businesses such as electronic commerce, electronic payment, and electronic documentation have been progressing stably.

그러나 점차 다양화되고 있는 비즈니스 환경에서 PKI로 인해 강화된 보안도는 유지하면서 사용자에게 이동성을 부여하거나 기존의 시스템에서의 경계선을 없애고 싶어하는 경향이 짙어지고 있다.However, in an increasingly diversified business environment, there is a growing tendency to provide mobility to users or to remove the boundaries of existing systems while maintaining enhanced security.

그에 따라 최근에는 날로 심해지는 사용자들의 이동성과 다양한 비즈니스 모 델의 지원을 위해서, 반드시 PKI에서 사용되는 키에 대한 보다 진보된 관리 시스템이 도입되어야 한다는 요구가 있다. 특히 현재 우리나라 인터넷 뱅킹의 경우는 그 가입자수가 세계적인 규모인데도 불구하고 이동성 제안과 보안성 문제로 인해 사용상의 많은 불편을 겪어왔다.Accordingly, in recent years, there is a demand that a more advanced management system for the keys used in the PKI be introduced in order to increase the mobility of users and support of various business models. In particular, in the case of Internet banking in Korea, even though the number of subscribers is on a global scale, there have been many inconveniences due to mobility proposals and security issues.

물론 이동성의 제약을 해결하기 위해 일부 업체들은 스마트카드(smartcard)나 USB키와 같은 부가적인 하드웨어를 사용하여 인증서와 키를 운반하는 방법을 사용하고 있다. 그러나 이는 사용자가 이동할 때마다 항상 그 부가 하드웨어를 지니고 다녀야한다는 불편함 때문에 이동성을 보장해 주는 완벽한 솔루션이 될 수 없다. 또한 널리 확산되어 있는 피씨(PC)방이나 외국에서 그 부가 하드웨어를 사용할 경우에, 그 부가 하드웨어를 인식할 장비가 마련되어 있지 않으면 사용자가 자신의 인증서와 키를 사용할 수 없다는 한계를 안고 있었다. Of course, to address mobility constraints, some companies are using certificates and keys to carry additional hardware, such as smartcards or USB keys. However, this is not a perfect solution to ensure mobility because of the inconvenience of having to carry that extra hardware every time a user moves. In addition, in case of using the additional hardware in the PC room or abroad, there was a limit that the user could not use his own certificate and key without the equipment to recognize the additional hardware.

본 발명은 이와 같은 종래 기술의 문제점을 해결하기 위하여 안출한 것으로, 별도의 부가적인 하드웨어를 사용하지 않고도 사용자가 원격지에서 공개키 기반 구조(PKI)의 강화된 보안도로 자신의 개인키(비밀키)를 안전하게 사용할 수 있도록 해주는데 적당한 키 로밍 방법 및 그를 위한 시스템을 제공하는데 있다.The present invention has been made to solve the problems of the prior art, the user can use his private key (private key) with the enhanced security of the public key infrastructure (PKI) at a remote location without using any additional hardware The present invention provides a key roaming method and a system therefor, which can be used safely.

상기한 목적을 달성하기 위한 본 발명에 따른 키 로밍 방법의 특징은, 특정 사용자의 개인키를 위탁받는 단계와, 상기 사용자의 요구에 따라, 상기 위탁된 개인키를 임시로 복구시키는 단계와, 상기 사용자에 의한 키 사용이 완료된 후에 상기 복구된 개인키를 소멸시키는 단계로 이루어진다. The key roaming method according to the present invention for achieving the above object is a step of entrusting a private key of a specific user, and temporarily recovering the entrusted private key according to the user's request, Destroying the recovered private key after the key usage by the user is completed.                         

바람직하게 상기 키 위탁 단계는, 상기 사용자의 등록된 암호로부터 N개의 Ri(i=1~N) 값을 생성시키고, 상기 개인키의 암호화를 위해 임시로 생성시킨 세션키로부터 N개의 Si(i=1~N) 값을 생성시키고, 상기 생성된 Ri(i=1~N) 값을 N+M개의 Kj(j=1~(N+M), M>0) 값으로 파생시키고, 상기 파생된 KN+M 값과 상기 생성된 SN 값을 배타적 논리합으로 상관(correlation) 연산시키고, 상기 상관 값으로 상기 사용자의 개인키를 암호화하여 별도의 로밍 크리덴셜 서버에 등록시킨다.Preferably, in the key entrusting step, N R i (i = 1 to N) values are generated from a registered password of the user, and N S i (from a session key temporarily generated for encryption of the private key). generate i = 1 ~ N), derive the generated R i (i = 1 ~ N) values into N + M K j (j = 1 ~ (N + M), M> 0) values Correlation the derived K N + M value and the generated S N value with an exclusive OR, encrypt the user's private key with the correlation value, and register the same in a separate roaming credential server.

또한 상기 사용자가 등록된 암호를 사용하여 자신의 개인키의 복구를 요구함에 따라, 상기 암호로부터 N개의 Ri(i=1~N) 값을 복구시켜 사용자 단말로 전달하고, 상기 사용자 단말에서, 상기 복구된 Ri(i=1~N) 값을 N+M개의 Kj(j=1~(N+M), M>0) 값으로 파생시키고, N개의 로밍 기밀 서버(RSS)들이, 상기 파생된 K1~N 값들을 제공받아 그 K1~N 값들과 쌍이되는 S1~N 값들을 상기 사용자 단말로 전달하고, 상기 사용자 단말에서, 상기 전달받은 N개의 Si(i=1~N) 값으로 상기 세션키를 복구하고, 상기 사용자 단말에서, 상기 복구된 세션키와 상기 파생된 KN+M 값을 배타적 논리합으로 상관(correlation) 연산시키고, 상기 사용자 단말에서, 상기 상관 값으로 상기 암호화된 개인키를 복호화시킨다.In addition, as the user requests the recovery of his or her private key using a registered password, recovers N R i (i = 1 to N) values from the password and transfers them to the user terminal. Deriving the recovered R i (i = 1 ~ N) value to N + M K j (j = 1 ~ (N + M), M> 0) value, N roaming confidential servers (RSS), Receives the derived K 1 ~ N values and delivers S 1 ~ N values paired with the K 1 ~ N values to the user terminal, and in the user terminal, the received N S i (i = 1 ~ Recovers the session key with an N) value, and, at the user terminal, calculates a correlation between the recovered session key and the derived K N + M value with an exclusive OR, and at the user terminal, with the correlation value Decrypt the encrypted private key.

상기한 목적을 달성하기 위한 본 발명에 따른 키 로밍 시스템의 특징은, 특정 사용자의 단말과, 상기 사용자의 개인키를 암호화하고, 그 개인키의 암호화에 사용된 암호화 단서들을 분리 등록하는 로밍 기밀 서버들과, 상기 로밍 기밀 서버들에서 암호화된 개인키를 보관하고, 가상스마트카드를 상기 단말로 자동 설치시킨 후 상기 가상스마트카드로 상기 암호화 개인키를 제공하는 로밍 크리덴셜 서버로 구성된다.A feature of the key roaming system according to the present invention for achieving the above object is a roaming confidential server that encrypts a terminal of a specific user, a private key of the user, and separately registers encryption clues used to encrypt the private key. And a roaming credential server for storing the encrypted private key in the roaming confidential servers, automatically installing a virtual smart card to the terminal, and providing the encrypted private key to the virtual smart card.

바람직하게 상기 사용자 단말에 자동 설치된 가상스마트카드는 상기 사용자의 인증이 요구되는 특정 서비스 종료 후 상기 사용자 단말에서 자동 소멸된다.Preferably, the virtual smart card automatically installed in the user terminal is automatically destroyed in the user terminal after the end of a specific service requiring the user's authentication.

이하, 본 발명의 바람직한 일 실시 예를 첨부한 도면을 참조하여 설명하면 다음과 같다.Hereinafter, with reference to the accompanying drawings a preferred embodiment of the present invention will be described.

도 1은 본 발명에 따른 키 로밍을 위한 시스템 구성을 나타낸 도면이다.1 is a diagram illustrating a system configuration for key roaming according to the present invention.

도 1을 참조하면, 본 발명의 시스템은 로밍 크리덴셜 서버(roaming credential server ; 이하, RCS라 약칭함)(10)와 N개의 로밍 기밀 서버(roaming secret server ; 이하, RSS라 약칭함)(21~23)로 구성된다. 그 밖에 본 발명의 시스템과 상호 작용하는 사용자 단말들(user terminals)(31~32)과 PKI 서비스센터(40)와 PKI 비즈니스센터(50)가 추가로 구성된다. 여기서 PKI 서비스센터(40)는 하나의 인증기관서버이다. 그러나 이들 추가 구성 요소들은 본 발명의 기술 영역에 속하지 않으며, 일반적으로 이미 알려진 기능들을 수행한다.Referring to FIG. 1, the system of the present invention includes a roaming credential server (hereinafter referred to as RCS) 10 and N roaming secret servers (hereinafter referred to as RSS). 23). In addition, user terminals 31 to 32 that interact with the system of the present invention, PKI service center 40 and PKI business center 50 are further configured. Here, the PKI service center 40 is one certification authority server. However, these additional components do not belong to the technical scope of the present invention, and generally perform known functions.

그리고 본 발명의 시스템은 가상스마트카드(VSC : Virtual Smart Card)가 더 구비된다. 그러나 이 가상스마트카드(이하, VSC 라 약칭함)는 RCS(10)가 제공하여 사용자 단말들(31~32)에 자동으로 설치되는 컨트롤(control)로써 하나의 소프트웨 어 개념이다.The system of the present invention is further provided with a virtual smart card (VSC). However, this virtual smart card (hereinafter, abbreviated as VSC) is a software concept as a control provided by the RCS 10 and automatically installed in the user terminals 31 to 32.

본 발명의 시스템에서 가장 중요한 점은, 사용자가 위치한 장소에 상관없이 그 사용자가 사용하는 컴퓨터가 사용자 단말들(31~32)이며, 사용자가 그 사용자 단말들(31~32)을 통해 RCS(10)에 접속하면 자동으로 설치되는 VSC를 통해 자신의 신원을 밝히고 그에 따라 암호화된 개인키(비밀키)를 제공받아 PKI 비즈니스센터(50)의 서비스를 처리한다. 여기서 PKI 비즈니스센터(50)는 인터넷 뱅킹이나 인증이 요구되는 전자상거래를 서비스하는 곳이다. The most important point in the system of the present invention is that the computer used by the user, regardless of the location of the user, is the user terminals 31 to 32, and the user uses the RCS 10 through the user terminals 31 to 32. ), It automatically identifies itself through the VSC that is installed automatically, and receives the encrypted private key (secret key) accordingly to process the services of the PKI business center 50. Here, the PKI business center 50 is a place for servicing electronic commerce that requires internet banking or authentication.

이하 본 발명의 시스템에 대한 동작을 설명한다.The operation of the system of the present invention is described below.

RCS(roaming credential server)(10)는 암호화된 개인키(비밀키)를 저장한다. 또한 그 개인키에 대응되는 인증서를 저장한다. 여기서 개인키(비밀키)와 인증서는 PKI 서비스센터(40)가 발급한 것이다. 별도로 본 발명에서는 PKI 서비스센터(40)가 사용자의 인증서만을 발급하고, 사용자가 그 발급된 인증서를 사용하여 개인키(비밀키)의 생성을 요청하면 RCS(10)가 그 사용자의 개인키(비밀키)를 생성하여 해당 인증서와 함께 저장하는 구조도 지원한다. 이는 시스템 구현상의 문제이다. The roaming credential server (RCS) 10 stores an encrypted private key (secret key). It also stores the certificate corresponding to that private key. Here, the private key (secret key) and the certificate are issued by the PKI service center 40. Separately, in the present invention, when the PKI service center 40 issues only a user's certificate, and the user requests the generation of a private key (secret key) using the issued certificate, the RCS 10 receives the user's private key (secret). It also supports the creation of key) and storing it with the certificate. This is a system implementation problem.

또한 RCS(10)는 사용자가 사용자 단말들(31~32)을 통해 접속하면, 자동으로 설치되는 VSC를 그 사용자 단말들(31~32)로 제공한다. In addition, the RCS 10 provides a VSC that is automatically installed when the user connects through the user terminals 31 to 32 to the user terminals 31 to 32.

특히 RCS(10)는 암호화된 개인키를 저장함과 동시에 그 암호화 개인키를 요청한 사용자에 대해 인증을 실시하기 위한 단서를 함께 저장한다. 즉 키를 복구하고자 할 때 사용자가 그 단서를 사용하여 암호화 개인키를 요청하면, RCS(10)는 그 단서에 대한 일치 여부에 따라 암호화 개인키의 제공 여부를 판단한다. In particular, the RCS 10 stores the encrypted private key and at the same time stores a clue for authenticating the user who requested the encrypted private key. That is, when a user requests an encrypted private key using the clue when the key is to be recovered, the RCS 10 determines whether to provide the encrypted private key according to whether the clue matches the clue.

다음 RSS(roaming secret server)(21~23)는 사용자 등록 및 인증을 실시하는 서버이며, 사용자 등록 및 인증을 통해 개인키 암호화 정보를 저장한다. 특히 RSS(21~23)와 사용자 단말들(31~32)간에는 SSL(secure socket layer) 보안채널을 사용한다.Next, a roaming secret server (RSS) 21 to 23 is a server that performs user registration and authentication, and stores private key encryption information through user registration and authentication. In particular, a secure socket layer (SSL) secure channel is used between the RSS 21 to 23 and the user terminals 31 to 32.

특히 본 발명에서는 RSS(21~23)와 사용자 단말들(31~32)에 비대칭형 암호화(RSA) 기반의 암호강화프로토콜(PHP : password hardening protocol)을 적용한다. 이로써 N-1 개의 서버 공격에도 개인키의 안전성을 보장한다.In particular, the present invention applies a password hardening protocol (PHP) based on asymmetric encryption (RSA) to RSS (21 to 23) and the user terminals (31 to 32). This ensures the security of the private key even with N-1 server attacks.

RSS(21~23)는 사용자의 식별자(ID)와 비밀번호를 등록받는다. 이때 사용자는 식별자(ID)와 비밀번호를 RSS(21~23)에 등록하면서 자신의 개인키를 전달한다.The RSS 21 to 23 register the user's identifier (ID) and password. At this time, the user transmits his or her private key while registering the identifier (ID) and password in the RSS (21 ~ 23).

이후에 RSS(21~23)는 그 등록된 식별자(ID)와 비밀번호에 대해 암호강화프로토콜(PHP)을 실시한다. RSS(21~23)는 암호강화프로토콜(PHP)을 통해 전달받은 개인키를 암호화하여 RCS(10)에 전달하고, 또한 RSS(21~23)는 그 개인키 암호화에 사용된 암호화 단서들을 하나씩 보관함으로써, 사용자의 개인키를 위탁받는다. 그에 따른 상세한 절차는 도 2 및 도 3을 통해 설명된다.Thereafter, the RSS 21 to 23 implement a cryptographic strengthening protocol (PHP) for the registered identifier (ID) and password. RSS (21 ~ 23) encrypts the private key received through the password enhancement protocol (PHP) to pass to the RCS (10), and RSS (21 ~ 23) stores the encryption clues used to encrypt the private key one by one Thereby entrusting the user's private key. Detailed procedures accordingly are described with reference to FIGS. 2 and 3.

그리고 RSS(21~23)는 키 복구를 위해 사용자에 대한 인증을 실시한다. 이 때 인증에 성공되면, RSS(21~23)는 암호강화프로토콜(PHP)을 통해 등록된 비밀번호에 대응되는 암호화 단서들을 사용자 단말(31~32)로 전달한다.The RSS 21-23 authenticates the user for key recovery. At this time, if the authentication is successful, the RSS 21 to 23 transmits the encryption clues corresponding to the registered password through the password enhancement protocol (PHP) to the user terminals 31 to 32.

그러면 사용자 단말(31~32)에서는 암호강화프로토콜(PHP)을 통해, RCS(10)로부터 전달받은 암호화 개인키를 복호화한다.Then, the user terminals 31 to 32 decrypt the encryption private key received from the RCS 10 through the cryptographic strengthening protocol (PHP).

다음은 본 발명에 따른 키 로밍 절차를 설명한다. 그 키 로밍 절차는 키 위탁 과정과 키 복구 과정으로 나누어 설명한다.The following describes a key roaming procedure according to the present invention. The key roaming procedure is explained by dividing the key entrusting process and the key recovering process.

도 2는 본 발명에 따른 키 로밍 절차를 나타낸 상태흐름도이다.2 is a state flow diagram illustrating a key roaming procedure according to the present invention.

도 2를 참조하여 본 발명의 키 로밍 절차를 이하 설명한다. 이하에서는 초기 사용자가 키를 위탁하는 제1 사용자 단말과, 이후에 키를 복구하는 제2 사용자 단말이 적용되는데, 이는 사용자의 이동에 따른 본 발명의 절차를 설명하기 위한 것이다.The key roaming procedure of the present invention is described below with reference to FIG. In the following description, a first user terminal for entrusting a key by an initial user and a second user terminal for recovering a key thereafter are applied to explain the procedure of the present invention as the user moves.

일단 사용자가 제1 사용자 단말에서 RCS로 접속하면(S1), RCS는 그 제1 사용자 단말로 VSC를 제공한다(S2). 그러면 제1 사용자 단말에는 VSC가 자동 설치된다(S3).Once the user connects to the RCS from the first user terminal (S1), the RCS provides the VSC to the first user terminal (S2). Then, the VSC is automatically installed in the first user terminal (S3).

이후 PKI 서비스센터(소위 인증기관서버)는 제1 사용자 단말로부터 서명용 키 쌍(공개키 쌍)의 생성과 인증서 발급 요청이 있으면(S4), 해당 사용자의 서명용 키 쌍을 생성시킨다(S5). 그리고 그 생성된 서명용 키 쌍으로 제작된 인증서를 제1 사용자 단말로 전달한다(S6). Thereafter, the PKI service center (so-called certification authority server) generates a signature key pair (public key pair) from the first user terminal and requests for certificate issuance (S4), and generates a signature key pair of the corresponding user (S5). The certificate produced by the generated signature key pair is transferred to the first user terminal (S6).

그러면 사용자는 제1 사용자 단말에 설치된 VSC를 통해 식별자(ID)와 비밀번호를 RSS들에 등록한다(S7). 이때 사용자는 식별자(ID)와 비밀번호를 RSS들에 등록함으로써, 자신의 개인키를 RSS에 전달하게 된다.Then, the user registers the identifier (ID) and password to the RSSs through the VSC installed in the first user terminal (S7). At this time, the user registers the identifier (ID) and password in the RSS to transmit his private key to the RSS.

RSS는 그 등록된 식별자(ID)와 비밀번호에 대해 암호강화프로토콜(PHP)을 실시한다(S8). 그 암호강화프로토콜(PHP)의 절차는 도 3을 참조한다.RSS implements a password enhancement protocol (PHP) for the registered identifier (ID) and password (S8). See FIG. 3 for the procedure of the cryptographic protocol (PHP).

RSS는 암호강화프로토콜(PHP)을 통해, 등록된 비밀번호로부터 N개의 Ri(여기서 i는 1~N)값을 생성한다(S20). 그 Ri는 도 4에 도시된 과정을 통해 생성된다. RSS generates N R i (where i is 1 to N) values from the registered password through the password enhancement protocol (PHP) (S20). The R i is generated through the process shown in FIG.

도 4를 참조하여 Ri의 생성 절차를 설명한다. 먼저 사용자가 제1 사용자 단말에 설치된 VSC를 통해 식별자(ID)와 비밀번호(P)를 RSS에 등록하면, RSS는 등록된 식별자(ID)를 사용하여 공개키(PUK : Public Key)와 공개키 인증서(PUC : Public key certificate)를 생성한다. 이후 RSS는 생성된 공개키 인증서(PUC)로 임의의 값인 n 값과 e 값을 생성한다. 그리고 RSS는 생성된 공개키(PUK)로 임의의 값 d 값을 생성한다.A generation procedure of R i will be described with reference to FIG. 4. First, when a user registers an identifier (ID) and a password (P) to RSS through a VSC installed in the first user terminal, the RSS uses a registered identifier (ID) and the public key (PUK) and the public key certificate. Generate (PUC: Public key certificate) RSS generates random values n and e with the generated public key certificate (PUC). RSS generates a random value d with the generated public key PUK.

이후에 등록된 비밀번호(P)와 n 값과 e 값을 사용하고, 미리 정해진 k 값을 더 사용하여 다음 식 1과 같이 r 값을 산출한다.Thereafter, the registered password P, n value and e value are used, and r value is calculated as shown in Equation 1 by further using a predetermined k value.

r = f(P) * ke mod nr = f (P) * ke mod n

다시 식 1에 의해 산출된 r 값과, 상기에서 생성된 n 값과 d 값을 사용하여 다음 식 2와 같이 s 값을 산출한다. 상기한 식 1에서 f(P)는 비밀번호(P)를 임의의 함수로 암호화한 값이다. In addition, using the r value calculated by Equation 1, and the n value and d value generated above, the s value is calculated as in Equation 2 below. In Equation 1, f (P) is a value obtained by encrypting the password P with an arbitrary function.

s = rd mod ns = r d mod n

그 다음 식 2에 의해 산출된 s값과 상기에서 미리 정해진 k 값을 사용하여 다음 식 3과 같이 Ri가 생성된다.Then, using the value of s calculated by Equation 2 and the predetermined k value above, R i is generated as in Equation 3 below.

R = s/k mod nR = s / k mod n

상기와 같은 절차를 통해 생성된 Ri를 키 파생함수(KDF : Key derivation function)를 사용하여 새로운 Kj(여기서 j는 1~N+M, M>0)을 생성한다(S21). 그 생성된 Kj중에서 N개 값은 N개의 RSS들에 하나씩 등록된다(S22). 보다 바람직하게 생성된 Ri를 키 파생함수(Key derivation function)를 사용하여 새로운 Kj(여기서 j는 1~N+2)을 생성한다.R i generated through the above procedure is used to generate a new K j (where j is 1 to N + M, M> 0) using a key derivation function (KDF) (S21). N values of the generated K j are registered one by one in N RSS (S22). More preferably, the generated R i is used to generate a new K j (where j is 1 to N + 2) using a key derivation function.

다시 RSS는 개인키(비밀키)의 암호화를 위해 생성된 임시의 세션키를 비밀분산알고리즘(secret sharing algorithm)에 적용시켜 N개의 Si(여기서 i는 1~N)을 파생시킨다(S23). 그 생성된 Sj N개 값은 N개의 RSS들에 하나씩 등록된다(S24).Again, RSS derives N S i (where i is 1 to N) by applying a temporary session key generated for encryption of a private key (secret key) to a secret sharing algorithm (S23). The generated S j N values are registered one by N RSS (S24).

상기에서 생성된 Kj중에서 N개 값과 Sj N개 값은 쌍을 이루어 N개의 RSS들에 하나씩 등록된다.N values and S j N values among the generated K j are registered in pairs in N RSS one by one.

또한 RSS는 KN+M 값과 SN 값을 배타적 논리합(XOR)의 논리연산을 통해 상관(Correlation) 연산하고(S25), 그 상관 값으로 개인키(비밀키)를 암호화한다(S26). In addition, RSS calculates a correlation between the K N + M and S N values through an exclusive OR operation (SOR), and encrypts the private key (secret key) using the correlation value (S26).

이후에 그 암호화된 개인키 값은 KN+(M-1) 값과 함께 RCS에 등록된다(S27).Thereafter, the encrypted private key value is registered in the RCS together with the K N + (M-1) value (S27).

상기한 암호강화프로토콜(PHP) 절차를 통해 사용자에 대한 키 위탁이 완료된다. The key entrustment to the user is completed through the above-described cryptographic strengthening protocol (PHP) procedure.

이후에 사용자가 자신의 개인키(비밀키) 복구를 위해 원격지에 위치한 제2 사용자 단말에서 RCS로 접속하면(S9), RCS는 그 제2 사용자 단말로 VSC를 제공한다(S10). 그러면 제2 사용자 단말에는 VSC가 자동 설치된다(S11).Subsequently, when the user accesses the RCS from the second user terminal located at a remote location for recovering his private key (secret key) (S9), the RCS provides the VSC to the second user terminal (S10). Then, the VSC is automatically installed in the second user terminal (S11).

그 사용자가 제2 사용자 단말에 설치된 VSC를 통해 식별자(ID)와 비밀번호로 로그인하면(S12), RSS들은 사용자에 대한 인증을 실시한다(S13).When the user logs in with an identifier (ID) and a password through the VSC installed in the second user terminal (S12), the RSS authenticates the user (S13).

RSS에서 인증이 성공되면, 그 사용자에 대한 키 복구 절차가 실시된다(S14). 그 키 복구 절차는 도 5를 참조한다.If authentication is successful in the RSS, a key recovery procedure for the user is performed (S14). The key recovery procedure is shown in FIG.

먼저 각 RSS들은 암호강화프로토콜(PHP)을 통해 등록된 비밀번호로부터 N개의 Ri(여기서 i는 1~N)값을 그 제2 사용자 단말로 전달한다(S30).First, each RSS transfers N R i (where i is 1 to N) values from the registered password through a password enhancement protocol (PHP) to the second user terminal (S30).

제2 사용자 단말에서는 전달받은 Ri 값을 키 파생함수(Key derivation function)에 적용시켜 Kj(여기서 j는 1~N+M, M 0)을 생성시킨다(S31).The second user terminal generates K j (where j is 1 to N + M, M 0) by applying the received R i value to a key derivation function (S31).

그에 따라 제2 사용자 단말은 생성된 Kj 값들 중에서 K1부터 KN까지의 값들을각 RSS들에 전달한다(S32). 그러면 각 RSS들은 전달받은 Kj 값이 자신에게 등록된 값과 동일한지 확인하고(S33), 동일하면 자신에 등록된 Kj 값과 쌍을 이루는 Si 값을 제2 사용자 단말로 전달한다(S34). 또한 제2 사용자 단말은 상기 생성된 Kj 값들 중에서 KN+(M-1) 값으로 RCS에 등록되어 있던 암호화된 개인키를 요청한다(S35). 그러 면 RCS는 KN+(M-1) 값에 대응되어 보관된 암호화 개인키를 제2 사용자 단말로 전달한다(S36).Accordingly, the second user terminal transfers K 1 to K N values among the generated K j values to each RSS (S32). Then, each RSS checks whether the received K j value is the same as the value registered to it (S33), and if the same, delivers the S i value paired with the K j value registered to the second user terminal (S34). ). In addition, the second user terminal requests an encrypted private key registered in the RCS with a K N + (M-1) value among the generated K j values (S35). Then, the RCS transfers the encrypted private key stored corresponding to the value of K N + (M-1) to the second user terminal (S36).

다시 제2 사용자 단말에서는 전달받은 Si 값을 비밀분산알고리즘(secret sharing algorithm)에 역으로 적용시켜 개인키(비밀키)의 암호화에 사용된 임시의 세션키를 복원시킨다(S37).In operation S37, the second user terminal restores the temporary session key used for encrypting the private key (secret key) by applying the received S i value inversely to a secret sharing algorithm.

제2 사용자 단말에서는 또한 그 복원된 세션키과 Ri 값으로부터 파생된 KN+M 값을 배타적 논리합(XOR)의 논리연산을 통해 상관(Correlation) 연산한다(S38).The second user terminal also performs a correlation operation on the restored session key and the K N + M value derived from the R i value through a logical operation of an exclusive OR (S38).

결국 제2 사용자 단말에서는 복원 세션키와 KN+M 값의 상관 값으로 미리 RCS로부터 전달받은 암호화 개인키가 복호화된다(S39).As a result, the second user terminal decrypts the encrypted private key received from the RCS in advance as a correlation value between the restoration session key and the K N + M value (S39).

그 복호된 개인키를 사용하여, 사용자는 인증이 요구되는 인터넷 뱅킹이나 전자상거래와 같은 PKI 비즈니스센터의 서비스를 처리한다(S15).Using the decrypted private key, the user processes the services of the PKI business center such as Internet banking or electronic commerce requiring authentication (S15).

그리고 그 서비스 처리가 종료되면(S16), 제2 사용자 단말에 설치되었던 VSC는 자동 소멸된다(S17). 즉 본 발명에서는 위탁된 사용자의 개인키가 인증이 필요한 서비스를 위해 임시로 복호화된다.When the service process ends (S16), the VSC installed in the second user terminal is automatically extinguished (S17). That is, in the present invention, the entrusted user's private key is temporarily decrypted for the service requiring authentication.

다음은 본 발명에 따른 키 위탁 및 키 복구의 일 예를 도 6을 참조하여 설명한다. 여기서 다수 개로 구현이 가능한 RSS는 RSS-1, RSS-2, RSS-3로 구성된다.Next, an example of key entrustment and key recovery according to the present invention will be described with reference to FIG. 6. Here, RSS, which can be implemented in multiple numbers, is composed of RSS-1, RSS-2, and RSS-3.

RSS는 암호강화프로토콜(PHP)을 통해, 제1 사용자 단말로부터 등록된 비밀번호를 이용하여 3개의 R(R1,R2,R3) 값을 생성한다(S50). 그리고 생성된 R 1/R2/R3를 키 파생함수(Key derivation function)에 적용시켜 새로운 5개의 K1/K2/K3/K 4/K5를 생성한다(S51). 그 생성된 K1/K2/K3/K4/K5중에서 K1 /K2/K3 값은 RSS-1, RSS-2, RSS-3에 하나씩 등록된다(S52). RSS generates three R (R 1 , R 2 , R 3 ) values using a password registered from a first user terminal through a password enhancement protocol (PHP) (S50). Then, the generated R 1 / R 2 / R 3 is applied to a key derivation function to generate five new K 1 / K 2 / K 3 / K 4 / K 5 (S51). Among the generated K 1 / K 2 / K 3 / K 4 / K 5 , the K 1 / K 2 / K 3 values are registered one by one in RSS-1, RSS-2, and RSS-3 (S52).

다시 RSS는 개인키(비밀키)의 암호화를 위해 생성된 임시의 세션키를 비밀분산알고리즘(secret sharing algorithm)에 적용시켜 3개의 S1/S2/S3을 파생시킨다(S53). 그 생성된 S1/S2/S3 값은 K1/K2/K 3 값과 쌍을 이루어 3개의 RSS-1, RSS-2, RSS-3에 하나씩 등록된다(S54).Again, RSS derives three S 1 / S 2 / S 3 by applying a temporary session key generated for encryption of a private key (secret key) to a secret sharing algorithm (S53). The generated S 1 / S 2 / S 3 values are paired with the K 1 / K 2 / K 3 values and registered one at three RSS-1, RSS-2, and RSS-3 (S54).

또한 RSS는 K5 값과 S3 값을 배타적 논리합(XOR)의 논리연산을 통해 상관(Correlation) 연산하고(S55), 그 상관 값으로 개인키(비밀키)를 암호화한다 (S56). In addition, RSS calculates a correlation between the K 5 value and the S 3 value through the logical operation of the exclusive OR (S55), and encrypts the private key (secret key) with the correlation value (S56).

이후에 그 암호화된 개인키 값은 K4 값과 함께 RCS에 등록된다(S57).Thereafter, the encrypted private key value is registered in the RCS together with the K 4 value (S57).

이로써 사용자에 대한 키 위탁이 완료된다. This completes key entrustment for the user.

다음 키 복구 절차가 실시되면, 먼저 각 RSS들은 암호강화프로토콜(PHP)을 통해 등록된 비밀번호로부터 3개의 R1/R2/R3를 그 사용자 단말로 전달한다(S58). When the next key recovery procedure is implemented, each RSS first transmits three R 1 / R 2 / R 3 to the user terminal from the registered password through the password enhancement protocol (PHP) (S58).

사용자 단말에서는 전달받은 R1/R2/R3 값을 키 파생함수(Key derivation function)에 적용시켜 5개의 K1/K2/K3/K4/K5를 생성시킨다(S59). The user terminal generates five K 1 / K 2 / K 3 / K 4 / K 5 by applying the received R 1 / R 2 / R 3 value to a key derivation function (S59).

그에 따라 사용자 단말은 생성된 5개의 K1/K2/K3/K4/K5 값들 중에서 K1/K2/K3 값들을 각 RSS-1, RSS-2, RSS-3에 하나씩 전달한다(S60). 그러면 각 RSS들은 전달받은 K 값이 자신에게 등록된 값과 동일한지 확인하고(S61), 동일하면 자신에 등록된 K 값과 쌍을 이루는 S 값을 사용자 단말로 전달한다(S62). 또한 사용자 단말은 상기 생성된 K4 값으로 RCS에 등록되어 있던 암호화된 개인키를 요청한다(S63). 그러면 RCS는 K4 값에 대응되어 보관된 암호화 개인키를 사용자 단말로 전달한다(S64).Accordingly, the user terminal delivers one K 1 / K 2 / K 3 value to each RSS-1, RSS-2, and RSS-3 among the five K 1 / K 2 / K 3 / K 4 / K 5 values. (S60). Then, each RSS checks whether the received K value is the same as the value registered to it (S61), and if it is the same, delivers the S value paired with the K value registered to the user terminal (S62). In addition, the user terminal requests an encrypted private key registered in the RCS with the generated K 4 value (S63). Then, the RCS transmits the encrypted private key stored in correspondence with the K 4 value to the user terminal (S64).

다시 사용자 단말에서는 각 RSS로부터 전달받은 S1/S2/S3 값을 비밀분산알고리즘(secret sharing algorithm)에 역으로 적용시켜 개인키(비밀키)의 암호화에 사용된 임시의 세션키를 복원시킨다(S65).In addition, the user terminal restores the temporary session key used for encrypting the private key (secret key) by applying the S 1 / S 2 / S 3 value received from each RSS inversely to the secret sharing algorithm. (S65).

사용자 단말에서는 또한 그 복원된 세션키과 R 값으로부터 파생된 K5 값을 배타적 논리합(XOR)의 논리연산을 통해 상관(Correlation) 연산한다(S66).At the user terminal, the recovered session key and R A K 5 value derived from the value is correlated through a logical operation of an exclusive OR (S66).

결국 사용자 단말에서는 복원 세션키와 K5 값의 상관 값으로 미리 RCS로부터 전달받은 암호화 개인키가 복호화된다(S67).As a result, the user terminal decrypts the encrypted private key previously received from the RCS as a correlation value between the restoration session key and the K 5 value (S67).

이상에서 설명된 본 발명은 다음의 효과가 있다.The present invention described above has the following effects.

첫 째, PKI와 연동하여 언제 어디서나 강력한 보안을 유지해주며 동시에 사용자에게 이동성을 보장해 주기 때문에, 인터넷 사용자들에게 보다 편리한 보안 환경을 제공한다. First, it provides a more convenient security environment for Internet users because it works with PKI to maintain strong security anytime and anywhere and to ensure mobility to users.                     

둘 째, 보다 강화된 보안 요소들을 통해 사용자가 직접 자신의 키를 관리하는 것(별도의 부가 하드웨어를 지니고 이동하는 것)보다 안전하게 보관해주다.Second, the enhanced security elements keep users safer than managing their own keys (moving with extra hardware).

세 째, 가정이나 사무실 또는 여러 사람들이 이용하는 피씨(PC)방에서도 인터넷 뱅킹과 같이 보다 높은 보안이 요구되는 서비스를 이용할 수 있다. 즉 본 발명에서는 사용자의 인증서와 키를 서버에 위탁해 올려놓은 상태에서, 사용자가 그 서버에 접속한 후 자신의 식별자(ID)와 비밀번호를 사용하여 언제 어디서나 자신의 인증서와 키를 되돌려 받을 수 있기 때문에, 인터넷 뱅킹과 같이 인증을 요구하는 시스템에 접속하고 그에 이어 받아온 인증서와 키를 사용하여 원하는 업무를 처리할 수 있게 된다. 이 때 사용자에게 전송된 개인키는 인터넷 뱅킹이나 전자서명과 같은 작업을 위해 그 사용자의 단말(또는 컴퓨터)에서 임시로 복호화되고 또한 해당사용자의 작업이 끝나면 자동으로 소멸되기 때문에, 원격지에서 사용하더라도 타인에게 유출될 염려가 전혀 없다.Third, PCs used in homes, offices, or other people can use services that require higher security, such as Internet banking. In other words, in the present invention, while the user's certificate and key has been entrusted to the server, the user can return his or her certificate and key anytime and anywhere using his or her ID and password after accessing the server. Therefore, it is possible to access a system that requires authentication, such as Internet banking, and to perform a desired task using a certificate and a key obtained thereafter. At this time, the private key sent to the user is temporarily decrypted at the user's terminal (or computer) for work such as Internet banking or electronic signature, and is automatically destroyed when the user's work is completed. There is no fear of spillage.

네 째, 본 발명은 키 로밍(key roaming)을 지원하는데 있어서, 기본적으로 사용자의 암호화된 개인키를 위탁 보관하고 그 개인키의 암호화에 사용된 임시 세션키를 복수 개의 조각들로 분리하여 관리하기 때문에, 불법사용자가 추측에 의해 개인키를 불법 획득하는 것을 미연에 방지할 수 있다.

Fourth, in the present invention, in support of key roaming, basically entrusting the user's encrypted private key and managing the temporary session key used to encrypt the private key into a plurality of pieces. Therefore, it is possible to prevent an illegal user from illegally obtaining a private key by speculation.

Claims (9)

특정 사용자의 개인키를 위탁받는 제1 단계와;A first step of entrusting a private key of a specific user; 상기 사용자의 요구에 따라, 상기 위탁된 개인키를 임시로 복구시키는 제2 단계와;A second step of temporarily recovering the entrusted private key according to the user's request; 상기 사용자에 의한 키 사용이 완료된 후에 상기 복구된 개인키를 소멸시키는 제3 단계로 이루어지는 것을 특징으로 하는 키 로밍 방법.And a third step of destroying the recovered private key after the use of the key by the user is completed. 제 1 항에 있어서, 상기 제1 단계는,The method of claim 1, wherein the first step, 상기 사용자의 등록된 암호로부터 N개의 Ri(i=1~N) 값을 생성시키고,Generate N R i (i = 1 to N) values from the registered password of the user, 상기 개인키의 암호화를 위해 임시로 생성시킨 세션키로부터 N개의 Si(i=1~N) 값을 생성시키고,N values of S i (i = 1 to N) are generated from the temporarily generated session key for encryption of the private key, 상기 생성된 Ri(i=1~N) 값을 N+M개의 Kj(j=1~(N+M), M>0) 값으로 파생시키고,Deriving the generated R i (i = 1 ~ N) value to N + M K j (j = 1 ~ (N + M), M> 0) values, 상기 파생된 KN+M 값과 상기 생성된 SN 값을 배타적 논리합으로 상관(correlation) 연산시키고,Correlate the derived K N + M value with the generated S N value with an exclusive OR; 상기 상관 값으로 상기 사용자의 개인키를 암호화하여 별도의 로밍 크리덴셜 서버에 등록시키는 것을 특징으로 하는 키 로밍 방법.And encrypting the private key of the user using the correlation value and registering the same in a separate roaming credential server. 제 2 항에 있어서, 상기 Ri(i=1~N) 값은,The method according to claim 2, wherein R i (i = 1 to N) value, 상기 사용자의 등록된 식별자(ID)와 비밀번호(P)를 사용하여 공개키(PUK)와 공개키 인증서(PUC)를 생성하고, Generate a public key (PUK) and a public key certificate (PUC) using the registered identifier (ID) and password (P) of the user, 상기 생성된 공개키 인증서(PUC)로 임의의 값인 n 값과 e 값을 생성하고, 상기 생성된 공개키(PUK)로 임의의 값 d 값을 생성하고, Generate a random value n and an e value with the generated public key certificate (PUC), generate a random value d with the generated public key (PUK), 상기 비밀번호(P)를 임의의 함수로 암호화한 값 f(P)와 미리 정해진 임의의 k 값에 대한 ke 를 곱한 값(f(P)*ke)에 대해, 상기 n 값으로 1차 mod 연산(f(P) * ke mod n)하고, For values (f (P) * k e) multiplied by the k e for the password (P) for any k value predetermined as a value f (P) encrypted by the random function, the primary mod to the value of n Operation (f (P) * k e mod n), 상기 1차 mod 연산의 결과 값(r)의 d 승수 값(rd)에 대해, 상기 n 값으로 2차 mod 연산(rd mod n)하고, A second mod operation (r d mod n) is performed on the value of n with respect to the d multiplier value (r d ) of the result value (r) of the first mod operation, 상기 2차 mod 연산의 결과 값(s)을 상기 미리 정해진 임의의 k 값으로 나눈 값에 대해, 상기 n 값으로 3차 mod 연산(s/k mod n)하여 생성되는 것을 특징으로 하는 키 로밍 방법.And a third-order mod operation (s / k mod n) by the n-value with respect to a value obtained by dividing the result value (s) of the second-order mod operation by the predetermined arbitrary k value. . 제 2 항에 있어서, 상기 생성된 S1~N 값들과 상기 파생된 K1~N 값들을 각각 쌍으로 하여 N개의 로밍 기밀 서버(RSS)들에 분리 등록시키는 것을 특징으로 하는 키 로밍 방법.The key roaming method of claim 2, wherein the generated S 1 -N values and the derived K 1 -N values are paired separately and registered in N roaming confidential servers (RSS). 제 2 항에 있어서, 상기 암호화된 개인키를 상기 파생된 KN+M-X(X≥1) 값과 함께 상기 로밍 크리덴셜 서버에 등록시키는 것을 특징으로 하는 키 로밍 방법.3. The method of claim 2, wherein the encrypted private key is registered with the roaming credential server along with the derived K N + MX (X≥1) value. 제 2 항에 있어서, The method of claim 2, 상기 사용자가 등록된 암호를 사용하여 자신의 개인키의 복구를 요구함에 따라, 상기 암호로부터 N개의 Ri(i=1~N) 값을 복구시켜 사용자 단말로 전달하고, As the user requests the recovery of his or her private key using the registered password, the N R i (i = 1 to N) values are recovered from the password and transmitted to the user terminal. 상기 사용자 단말에서, 상기 복구된 Ri(i=1~N) 값을 N+M개의 Kj(j=1~(N+M), M>0) 값으로 파생시키고, In the user terminal, the recovered R i (i = 1 ~ N) value is derived by N + M K j (j = 1 ~ (N + M), M> 0) values, N개의 로밍 기밀 서버(RSS)들이, 상기 파생된 K1~N 값들을 제공받아 그 K1~N 값들과 쌍이되는 S1~N 값들을 상기 사용자 단말로 전달하고,N roaming confidential servers (RSS) are provided with the derived K 1 ~ N values and delivers S 1 ~ N values paired with the K 1 ~ N values to the user terminal, 상기 사용자 단말에서, 상기 전달받은 N개의 Si(i=1~N) 값으로 상기 세션키를 복구하고,Recovering the session key from the received N S i (i = 1 to N) values in the user terminal; 상기 사용자 단말에서, 상기 복구된 세션키와 상기 파생된 KN+M 값을 배타적 논리합으로 상관(correlation) 연산시키고,In the user terminal, perform a correlation operation on the recovered session key and the derived K N + M value with an exclusive OR; 상기 사용자 단말에서, 상기 상관 값으로 상기 암호화된 개인키를 복호화시키는 것을 특징으로 하는 키 로밍 방법.And in the user terminal, decrypt the encrypted private key with the correlation value. 제 6 항에 있어서, 상기 암호화된 개인키는 상기 파생된 KN+M-X(X≥1) 값을 사용하여 상기 로밍 크리덴셜 서버로부터 전달받는 것을 특징으로 하는 키 로밍 방법.7. The method of claim 6, wherein the encrypted private key is received from the roaming credential server using the derived K N + MX (X≥1) value. 특정 사용자의 단말과;A terminal of a specific user; 상기 사용자의 개인키를 암호화하고, 그 개인키의 암호화에 사용된 암호화 단서들을 분리 등록하는 로밍 기밀 서버들과;Roaming confidential servers for encrypting the user's private key and separately registering encryption cues used to encrypt the private key; 상기 로밍 기밀 서버들에서 암호화된 개인키를 보관하고, 가상스마트카드를 상기 단말로 자동 설치시킨 후 상기 가상스마트카드로 상기 암호화 개인키를 제공하는 로밍 크리덴셜 서버로 구성되는 것을 특징으로 하는 키 로밍 시스템.The roaming credential server is configured to store a private key encrypted in the roaming confidential servers, automatically install a virtual smart card to the terminal, and provide the encrypted private key to the virtual smart card. system. 제 8 항에 있어서, 상기 사용자 단말에 자동 설치된 가상스마트카드는 상기 사용자의 인증이 요구되는 특정 서비스 종료 후 상기 사용자 단말에서 자동 소멸되는 것을 특징으로 하는 키 로밍 시스템.The key roaming system of claim 8, wherein the virtual smart card automatically installed in the user terminal is automatically extinguished in the user terminal after termination of a specific service requiring authentication of the user.
KR1020020022044A 2002-04-22 2002-04-22 Key roaming method, and method for the same KR100681005B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020020022044A KR100681005B1 (en) 2002-04-22 2002-04-22 Key roaming method, and method for the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020020022044A KR100681005B1 (en) 2002-04-22 2002-04-22 Key roaming method, and method for the same

Publications (2)

Publication Number Publication Date
KR20030083857A KR20030083857A (en) 2003-11-01
KR100681005B1 true KR100681005B1 (en) 2007-02-08

Family

ID=32380017

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020020022044A KR100681005B1 (en) 2002-04-22 2002-04-22 Key roaming method, and method for the same

Country Status (1)

Country Link
KR (1) KR100681005B1 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100458255B1 (en) * 2002-07-26 2004-11-26 학교법인 성균관대학 Methode for key distribution using proxy server
US7379551B2 (en) * 2004-04-02 2008-05-27 Microsoft Corporation Method and system for recovering password protected private data via a communication network without exposing the private data
KR100588302B1 (en) * 2004-10-15 2006-06-09 학교법인 성균관대학 Method Generating Session Key For Group Communication In Mobile Environment
KR100764882B1 (en) * 2006-09-29 2007-10-09 한국과학기술원 Device and method for pki based single sign-on authentication on low computing security device
KR101458034B1 (en) * 2012-11-30 2014-11-12 한국과학기술정보연구원 method of transmitting an encrypted message and apparatus for transmitting an encrypted message, and storage medium for storing an encryption module program transmitting an encrypted message

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010010278A (en) * 1999-07-19 2001-02-05 정선종 Method of supporting global roaming service and authentication scheme using smart card on mobile communications network
KR20010076763A (en) * 2000-01-28 2001-08-16 오길록 Authentication Method in Mobile Communication Environment

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010010278A (en) * 1999-07-19 2001-02-05 정선종 Method of supporting global roaming service and authentication scheme using smart card on mobile communications network
KR20010076763A (en) * 2000-01-28 2001-08-16 오길록 Authentication Method in Mobile Communication Environment

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
1020010010278
1020010076763

Also Published As

Publication number Publication date
KR20030083857A (en) 2003-11-01

Similar Documents

Publication Publication Date Title
US8724819B2 (en) Credential provisioning
US7689828B2 (en) System and method for implementing digital signature using one time private keys
KR100827650B1 (en) Methods for authenticating potential members invited to join a group
US6192130B1 (en) Information security subscriber trust authority transfer system with private key history transfer
EP1500226B1 (en) System and method for storage and retrieval of a cryptographic secret from a plurality of network enabled clients
US7688975B2 (en) Method and apparatus for dynamic generation of symmetric encryption keys and exchange of dynamic symmetric key infrastructure
US7395549B1 (en) Method and apparatus for providing a key distribution center without storing long-term server secrets
US8171527B2 (en) Method and apparatus for securing unlock password generation and distribution
CN101212293B (en) Identity authentication method and system
US20070240226A1 (en) Method and apparatus for user centric private data management
CN111159684B (en) Safety protection system and method based on browser
EP1501238B1 (en) Method and system for key distribution comprising a step of authentication and a step of key distribution using a KEK (key encryption key)
CN112822021B (en) Key management method and related device
CA2553081C (en) A method for binding a security element to a mobile device
JP2007104118A (en) Protection method of secret information and communication apparatus
KR100681005B1 (en) Key roaming method, and method for the same
KR20100025624A (en) Method for generating secure key using certificateless public key in insecure communication channel
KR100970552B1 (en) Method for generating secure key using certificateless public key
KR100764882B1 (en) Device and method for pki based single sign-on authentication on low computing security device
JP2014022920A (en) Electronic signature system, electronic signature method, and electronic signature program
KR19990038925A (en) Secure Two-Way Authentication Method in a Distributed Environment
JP2001069138A (en) User verifying system on internet for shared key enciphered ic card
CN115801232A (en) Private key protection method, device, equipment and storage medium
KR20210020851A (en) Method for performing backup and recovery private key in consortium blockchain network, and device using them
JPH09130376A (en) User password authentication method

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130103

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140121

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20150202

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20160129

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20170202

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20180201

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20190201

Year of fee payment: 13