KR102124413B1 - 아이디 기반 키 관리 시스템 및 방법 - Google Patents

아이디 기반 키 관리 시스템 및 방법 Download PDF

Info

Publication number
KR102124413B1
KR102124413B1 KR1020130166559A KR20130166559A KR102124413B1 KR 102124413 B1 KR102124413 B1 KR 102124413B1 KR 1020130166559 A KR1020130166559 A KR 1020130166559A KR 20130166559 A KR20130166559 A KR 20130166559A KR 102124413 B1 KR102124413 B1 KR 102124413B1
Authority
KR
South Korea
Prior art keywords
terminal
server
key
private key
authentication server
Prior art date
Application number
KR1020130166559A
Other languages
English (en)
Other versions
KR20150080061A (ko
Inventor
윤효진
나키지리 마드지드
Original Assignee
삼성에스디에스 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성에스디에스 주식회사 filed Critical 삼성에스디에스 주식회사
Priority to KR1020130166559A priority Critical patent/KR102124413B1/ko
Priority to US14/447,985 priority patent/US9647833B2/en
Priority to CN201410718151.0A priority patent/CN104753917B/zh
Publication of KR20150080061A publication Critical patent/KR20150080061A/ko
Application granted granted Critical
Publication of KR102124413B1 publication Critical patent/KR102124413B1/ko

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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • H04L9/0847Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving identity based encryption [IBE] schemes
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/061Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0853Network architectures or network communication protocols for network security for authentication of entities using an additional device, e.g. smartcard, SIM or a different communication terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0863Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN

Abstract

아이디 기반 키 관리 시스템 및 방법이 개시된다. 본 발명의 일 실시예에 따른 아이디 기반 키 관리 시스템은, 단말 사용자의 아이디 및 패스워드에 기반한 키 교환을 통하여 단말을 인증하고 상기 단말과 보안 채널(secure channel)을 형성하며, 상기 보안 채널을 통해 상기 단말로 상기 단말 사용자의 아이디 기반의 개인키를 제공하는 인증 서버, 및 상기 인증 서버의 요청에 따라 상기 단말 사용자의 아이디에 대응되는 개인키를 생성하는 개인키 생성기를 포함한다.

Description

아이디 기반 키 관리 시스템 및 방법{SYSTEM AND METHOD FOR IDENTITY BASED KEY MANAGEMENT}
본 발명은 네트워크상의 보안 기술과 관련된다.
인터넷을 통한 서비스의 제공이 보편화되면서, 네트워크상의 보안이 점차 중요해지고 있다. 특히 인터넷을 통하여 단순히 정보만을 제공하는 것이 아니라, 인터넷 뱅킹, 전자상거래 등의 서비스가 증가하면서, 인터넷 상에서 중요한 정보를 안전하게 전달하게 하기 위한 기술에 대한 수요가 점차 증가하게 되었다.
네트워크상의 보안 기법 중 하나로 아이디 기반 암호화(IBC; Identity Based Cryptography)기법이 있다. 아이디 기반 암호화는 별도의 인증서를 필요하지 않으며, 암호화 키의 사전 분배가 필요 없는 등 여러 가지 장점이 있어 최근 들어 다양한 분야에서 사용되고 있다.
그러나 종래의 IBC 기술의 경우, 개인키 발급을 위하여 서버와 사용자간 안전한 채널(secure channel)을 구성하는 방법에 대해서는 포함하고 있지 않거나, 일반적인 PKI 기반의 TLS/SSL 등의 네트워크 보안 기술을 사용하여 안전한 채널을 구성하는 방법을 적용하고 있다. 그러나 이와 같이 개인키 발급을 위해 종래의 알고리즘을 도입할 경우, 결국 별도의 인증서가 필요하지 않다는 IBC 자체의 장점을 포기하는 것이나 다름이 없다는 문제가 있다. 다시 말해 종래기술에 따를 경우 단말은 개인키 발급을 위한 별도의 인증서를 관리하여야 하는 바, 인증서 관리에 대한 부담감을 가질 수밖에 없으며, 키 발급 과정에서의 안전성 또한 완벽히 보장할 수 없었다.
본 발명의 실시예들은 아이디 기반 암호화(Identity Based Cryptography) 아키텍처에 있어, 키 발급을 위한 사용자 인증 및 안전한 채널을 확보하기 위한 수단들을 제공하기 위한 것이다. 또한 본 발명의 실시예들은 아이디 기반 암호화에 이용되는 키의 보안성을 강화하고, 키의 갱신(업데이트)를 용이하게 하기 위한 수단들을 제공하는 데 그 목적이 있다.
본 발명의 일 실시예에 따른 아이디 기반 키 관리 시스템은, 단말 사용자의 아이디 및 패스워드에 기반한 키 교환을 통하여 단말을 인증하고 상기 단말과 보안 채널(secure channel)을 형성하며, 상기 보안 채널을 통해 상기 단말로 상기 단말 사용자의 아이디 기반의 개인키를 제공하는 인증 서버, 및 상기 인증 서버의 요청에 따라 상기 단말 사용자의 아이디에 대응되는 개인키를 생성하는 개인키 생성기를 포함한다.
상기 인증 서버는, 상기 단말과 교환한 키 생성 인자를 이용하여 아이디 기반의 비밀키를 생성하고, 상기 비밀키를 이용하여 상기 단말로부터 전송되는 상기 패스워드를 복호화할 수 있다.
상기 인증 서버는, 하드웨어 보안 모듈(HSM; Hardware Security Module)을 이용하여 상기 아이디 및 패스워드에 대한 인증을 수행할 수 있다.
상기 인증 서버는, 상기 단말 사용자의 아이디에 기 설정된 주기별 패딩 문자열을 부가하여 해당 주기에 대응되는 임시 아이디를 생성하고, 상기 개인키 생성기와의 통신을 통하여 상기 임시 아이디에 대응되는 개인키를 획득할 수 있다.
상기 개인키 생성기는, 하드웨어 보안 모듈(HSM; Hardware Security Module)을 이용하여 상기 개인키를 생성할 수 있다.
상기 패딩 문자열은 해당 주기의 날짜 정보를 포함할 수 있다.
상기 패딩 문자열은 해당 주기의 단말측 랜덤 문자열 및 서버측 아이디 기반 서명(IBS; Identity Based Signature)을 포함할 수 있다.
상기 인증 서버는, 상기 단말로부터 상기 단말측 랜덤 문자열을 수신하고, 수신된 상기 단말측 랜덤 문자열을 상기 단말의 아이디에 부가하여 상기 임시 아이디를 생성하며, 상기 인증 서버의 개인키를 이용하여 상기 임시 아이디에 대한 상기 서버측 아이디 기반 서명을 생성하고, 생성된 상기 서버측 아이디 기반 서명을 상기 단말로 송신할 수 있다.
상기 인증 서버는 하드웨어 보안 모듈(HSM; Hardware Security Module)을 이용하여 상기 서버측 아이디 기반 서명을 생성할 수 있다.
상기 패딩 문자열은 해당 주기의 단말측 랜덤 문자열 및 서버측 랜덤 문자열을 포함할 수 있다.
상기 단말측 랜덤 문자열의 갱신 주기는 상기 서버측 랜덤 문자열의 갱신 주기와 상이하도록 설정될 수 있다.
상기 인증 서버는, 상기 단말과 상기 단말측 랜덤 문자열 및 상기 서버측 랜덤 문자열을 교환하고, 교환된 상기 단말측 랜덤 문자열 및 상기 서버측 랜덤 문자열을 상기 단말 사용자의 아이디에 부가함으로써 상기 임시 아이디를 생성할 수 있다.
상기 인증 서버는, 상기 단말과 교환한 키 생성 인자를 이용하여 아이디 기반의 세션키를 생성하고, 생성된 상기 세션키로 상기 개인키를 암호화하여 상기 단말로 제공할 수 있다.
한편, 본 발명의 일 실시예에 따른 아이디 기반 키 관리 방법은, 인증 서버에서, 단말 사용자의 아이디 및 패스워드에 기반한 키 교환을 통하여 단말을 인증하고 상기 단말과 보안 채널(secure channel)을 형성하는 단계, 상기 인증 서버에서, 인증된 상기 단말 사용자의 아이디 기반 개인키를 생성하는 단계, 및 상기 인증 서버에서, 상기 보안 채널을 통해 상기 단말로 상기 개인키를 제공하는 단계를 포함한다.
상기 단말 인증 및 보안 채널 형성 단계는, 상기 단말과 키 생성 인자를 교환하는 단계, 상기 키 생성 인자를 이용하여 아이디 기반의 비밀키를 생성하는 단계, 및 상기 비밀키를 이용하여 상기 단말로부터 전송되는 상기 패스워드를 복호화하는 단계를 더 포함할 수 있다.
상기 아이디 기반 개인키를 생성하는 단계는, 상기 단말 사용자의 아이디에 기 설정된 주기별 패딩 문자열을 부가하여 해당 주기에 대응되는 임시 아이디를 생성하는 단계, 및 상기 임시 아이디에 대응되는 개인키를 계산하는 단계를 더 포함할 수 있다.
상기 패딩 문자열은 해당 주기의 날짜 정보를 포함할 수 있다.
상기 패딩 문자열은 해당 주기의 단말측 랜덤 문자열 및 서버측 아이디 기반 서명(IBS; Identity Based Signature)을 포함할 수 있다.
상기 단말 인증 및 보안 채널 형성 단계는, 상기 단말로부터 상기 단말측 랜덤 문자열을 수신하는 단계, 수신된 상기 단말측 랜덤 문자열을 상기 단말의 아이디에 부가하여 상기 임시 아이디를 생성하는 단계, 상기 인증 서버의 개인키를 이용하여 상기 임시 아이디에 대한 상기 서버측 아이디 기반 서명을 생성하는 단계, 및 생성된 상기 서버측 아이디 기반 서명을 상기 단말로 송신하는 단계를 더 포함할 수 있다.
상기 패딩 문자열은 해당 주기의 단말측 랜덤 문자열 및 서버측 랜덤 문자열을 포함할 수 있다.
상기 단말측 랜덤 문자열의 갱신 주기는 상기 서버측 랜덤 문자열의 갱신 주기와 상이하도록 설정될 수 있다.
상기 단말 인증 및 보안 채널 형성 단계는, 상기 단말과 상기 단말측 랜덤 문자열 및 상기 서버측 랜덤 문자열을 교환하는 단계, 및 교환된 상기 단말측 랜덤 문자열 및 상기 서버측 랜덤 문자열을 상기 단말 사용자의 아이디에 부가하여 상기 임시 아이디를 생성하는 단계를 더 포함할 수 있다.
상기 개인키를 제공하는 단계는, 상기 단말과 교환한 키 생성 인자를 이용하여 생성된 아이디 기반 세션키를 이용하여 상기 개인키를 암호화하는 단계, 및 암호화된 상기 개인키를 상기 단말로 송신하는 단계를 더 포함할 수 있다.
본 발명의 실시예들에 따를 경우, 아이디 및 패스워드에 기반한 키 교환을 통하여 키 발급을 위한 사용자 인증 및 안전한 채널 확보를 수행함으로써 별도의 인증서 등에 대한 관리가 없이도 키 발급이 가능할 뿐 아니라 보안성 또한 강화되는 효과가 있다.
또한, 본 발명의 실시예들에 따를 경우 아이디 기반 암호화에 이용되는 사용자 아이디에 정기적으로 업데이트되는 패딩을 부가함으로써 키의 보안성을 높임과 동시에 키의 갱신(업데이트) 또한 용이하게 이루어질 수 있는 장점이 있다.
아울러, 본 발명의 실시예들에 따를 경우 인증 서버(104)의 사용자 인증 및 보안 채널 과정에서 별도의 하드웨어 보안 모듈(HSM; Hardwre Security Module)을 이용함으로써 종래에 비해 높은 수준의 보안을 유지할 수 있는 장점이 있다.
도 1은 본 발명의 일 실시예에 따른 아이디 기반 키 관리 시스템(100)을 설명하기 위한 블록도
도 2는 본 발명의 일 실시예에 따른 아이디 기반 키 관리 시스템(100)에서의 인증 및 개인키 발급 과정(200)을 설명하기 위한 흐름도
도 3은 본 발명의 제1 실시예에 따른 개인키 발급 과정(300)을 설명하기 위한 흐름도
도 4는 본 발명의 제1 실시예에 따라 개인키를 발급받은 단말 간의 암호화된 메시지 송수신 과정을 설명하기 위한 도면
도 5는 본 발명의 제2 실시예에 따른 개인키 발급 과정(500)을 설명하기 위한 흐름도
도 6은 본 발명의 제2 실시예에 따라 개인키를 발급받은 단말 간의 암호화된 메시지 송수신 과정을 설명하기 위한 도면
도 7은 본 발명의 제3 실시예에 따른 개인키 발급 과정(700)을 설명하기 위한 흐름도
도 8은 본 발명의 제3 실시예에 따라 개인키를 발급받은 단말 간의 암호화된 메시지 송수신 과정을 설명하기 위한 도면
이하, 도면을 참조하여 본 발명의 구체적인 실시형태를 설명하기로 한다. 그러나 이는 예시에 불과하며 본 발명은 이에 제한되지 않는다.
본 발명을 설명함에 있어서, 본 발명과 관련된 공지기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
본 발명의 기술적 사상은 청구범위에 의해 결정되며, 이하의 실시예는 본 발명의 기술적 사상을 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 효율적으로 설명하기 위한 일 수단일 뿐이다.
도 1은 본 발명의 일 실시예에 따른 아이디 기반 키 관리 시스템(100)을 설명하기 위한 블록도이다. 도시된 바와 같이, 본 발명의 일 실시예에 다른 아이디 기반 키 관리 시스템(100)은 서비스 제공자(102), 인증 서버(104), 개인키 생성기(106), 공개 파라미터 서버(108), 애플리케이션 제공 서버(110), 제1단말(112) 및 제2단말(114)을 포함한다. 이와 같은 아이디 기반 키 관리 시스템(100)은 네트워크를 통하여 서로 메시지(패킷)을 주고받도록 구성된다. 본 발명의 실시예에서 상기 네트워크의 종류에는 제한이 없으며, 유무선 인터넷망, 이동통신망 등 패킷 통신이 가능한 모든 종류의 네트워크가 포함될 수 있다. 또한, 네트워크를 통한 악의적 사용자의 침입 등을 방지하기 위하여 적어도 서비스 제공자(102), 인증 서버(104), 개인키 생성기(106) 및 공개 파라미터 서버(108)는 방화벽을 통해 보호될 수 있다.
서비스 제공자(102, Service Provider)는 네트워크상에서 사용자들에게 인터넷 기반 서비스를 제공하기 위한 서버이다. 예를 들어, 서비스 제공자(102)는 인스턴트 메시징 서비스, VoIP 서비스, 멀티미디어 제공 서비스, 검색 서비스 등 다양한 종류의 서비스를 제공할 수 있다. 서비스 제공자(102)는 후술할 인증 서버(104)와 동일한 네트워크 서비스 사업자에 의하여 제공될 수도 있고, 서비스 제공자(102) 및 인증 서버(104)가 각각 다른 네트워크 서비스 사업자에 속할 수도 있다.
인증 서버(104, Authentication Server)는 개인키 발급을 위한 사용자 인증을 수행하는 서버이다. 인증 서버(104)는 후술할 제1단말(112) 또는 제2단말(114) (이후의 설명에서는 이를 단말(112 또는 114)로 통칭하기로 한다) 사용자의 아이디 및 패스워드에 기반한 키 교환(ID-based Password Authenticated Key Exchange)을 통하여 단말(112 또는 114)을 인증하는 동시에 단말(112, 114)과 보안 채널(secure channel)을 형성한다. 또한 인증 서버(104)는 상기 보안 채널을 통해 해당 단말(112 또는 114)로 단말 사용자의 아이디 기반 개인키(Identity Based Private Key)를 제공한다. 인증 서버(104)는 상기 사용자의 아이디 및 패스워드의 인증을 위한 별도의 하드웨어 보안 모듈(HSM; Hardware Security Module)을 포함할 수 있다.
개인키 생성기(106, Private Key Generator)는 인증 서버(104)의 요청에 따라 단말(112 또는 114) 사용자의 아이디에 대응되는 개인키를 생성하고, 생성된 개인키를 인증 서버(104)로 제공한다. 도시된 실시예에서는 개인키 생성기(106)가 인증 서버(104)와 연결되어 생성된 개인키를 인증 서버(104)로 제공하고, 인증 서버(104)가 이를 다시 단말(112 또는 114)로 제공하는 것으로 기재하였으나, 실시예에 따라 개인키 생성기(106)가 단말(112 또는 114)로 직접 생성된 개인키를 전송하는 것 또한 가능하다.
공개 파라미터 서버(108, Public Parameter Server)는 인증 서버(104) 및 단말(112 또는 114) 간의 인증 및 개인키 전달 과정에서 필요한 공개 파라미터들을 저장 및 관리하는 서버이다. 예를 들어, 공개 파라미터 서버(108)는 단말(112 또는 114)이 인증 서버(104)에 접속하여 인증을 수행하고 개인키를 전달받는 데 필요한 애플리케이션을 저장 및 관리할 수 있다. 상기 애플리케이션은 공개 파라미터 서버(108)로부터 직접 단말(112 또는 114)에 제공될 수도 있고, 또는 별도의 애플리케이션 제공 서버(110)를 통하여 제공될 수도 있다. 또한, 공개 파라미터 서버(108)는 인증 서버(104) 및 단말(112 또는 114)간의 인증을 위한 시스템 파라미터를 저장 및 관리하며, 필요에 따라 이를 인증 서버(104) 및 단말(112 또는 114)에 제공할 수 있다. 실시예에 따라 상기 시스템 파라미터는 상기 애플리케이션에 포함될 수도 있고, 애플리케이션과 별도로 제공될 수도 있다. 상기 시스템 파라미터에 대해서는 이하에서 상세히 설명하기로 한다.
애플리케이션 제공 서버(110)는 공개 파라미터 서버(108)로부터 상기 애플리케이션을 전달받아 저장하고, 단말(112 또는 114)의 요청에 따라 이를 제공하는 서버이다. 예를 들어, 애플리케이션 제공 서버(110)는 네트워크상에서 애플리케이션의 판매 또는 다운로드 서비스를 제공하는 일종의 애플리케이션 스토어 또는 마켓일 수 있다. 또한, 애플리케이션 제공 서버(110)는 IBS (Identity Based Signature) 또는 다른 종류의 서명 또는 인증기술을 활용하여 단말(112 또는 114)에 제공되는 애플리케이션의 정당성을 검증해 줄 수 있다.
제1단말(112) 및 제2단말(114)은 각각의 아이디 및 인증 서버(104)로부터 제공받은 아이디 기반 개인키를 이용하여 암호화된 메시지를 주고받는다.
먼저, 제1단말(112) 및 제2단말(114)은 애플리케이션 제공 서버(110) 또는 공개 파라미터 서버(108)로부터 제공된 애플리케이션 등을 이용하여 서비스 제공자(102)에 접속하고, 서비스 제공자(102)의 서비스 이용을 위한 아이디 및 패스워드를 생성한다. 이후, 제1단말(112) 및 제2단말(114)은 생성된 상기 아이디 및 패스워드를 이용하여 인증 서버(104)로부터 개인키를 제공받고, 제공된 상기 개인키를 이용하여 암호화된 통신을 수행한다.
제1단말(112) 및 제2단말(114) 간의 통신은 각 단말 사용자의 아이디 및 이로부터 생성된 각 단말 사용자의 개인키를 통하여 이루어진다. 예를 들어, 제1단말(112)이 제2단말(114)로 메시지를 전달할 경우, 제1단말(112)은 제2단말(114) 사용자의 아이디를 공개키(public key)로 하는 암호화 알고리즘을 이용하여 상기 메시지를 암호화한다. 상기 메시지를 수신한 제2단말(114)은 상기 아이디에 대응되어 인증 서버(104)로부터 제공된 개인키(private key)를 이용하여 암호화된 메시지를 복호화한다. 이와 같은 아이디 기반 암호화 통신 과정에 대해서는 뒤에서 상세히 설명한다.
도 2는 본 발명의 일 실시예에 따른 아이디 기반 키 관리 시스템(100)에서의 인증 및 개인키 발급 과정을 설명하기 위한 흐름도(200)이다.
먼저, 공개 파라미터 서버(108)는 단말(112 또는 114)의 인증 및 개인키 발급 과정 수행을 위한 애플리케이션(시스템 파라미터 포함)을 애플리케이션 제공 서버(110)에 제공하고(202), 단말(112 또는 114)은 애플리케이션 제공 서버(110)로부터 이를 다운로드한다(204). 전술한 바와 같이, 애플리케이션 제공 서버(110)는 IBS(Identity Based Signature)나 다른 서명 또는 인증기술을 활용하여 애플리케이션의 정당성을 검증해줄 수 있다. 또한, 도면에서는 단말(112 또는 114)이 애플리케이션 제공 서버(110)로부터 상기 애플리케이션을 다운로드하는 것을 기재하였으나, 전술한 바와 같이 단말(112 또는 114)은 공개 파라미터 서버(108)로부터 직접 상기 애플리케이션을 다운로드할 수도 있다.
다음으로 단말(112 또는 114)의 사용자는 자신이 이용하고자 하는 서비스를 제공하는 서비스 제공자(102)에 접속하여 회원 가입을 통해 아이디 및 패스워드를 생성하며(206), 서비스 제공자(102)는 상기 사용자의 회원 가입을 승인한다(208). 이 과정에서 서비스 제공자(102)는 사용자가 제출한 아이디의 유일성(uniqueness)을 검증하거나, 또는 적절한 수준의 사용자 검증(본인 확인 등)을 거칠 수도 있다. 상기 206 및 208 단계는 인증 서버(104)와는 관계 없이 단말(112 또는 114)과 서비스 제공자(102) 사이에서 진행될 수 있다. 또한, 만약 기존에 서비스 제공자(102)에 가입한 사용자가 추가적으로 인증 서버(104)를 통해 인증을 수행할 경우, 상기 206 및 208 단계는 생략될 수 있다.
다음으로 단말(112 또는 114)은 발급된 아이디와 패스워드를 이용하여 인증 서버(104)로부터 사용자 인증을 받는다(210). 또한 이 과정에서 사용자의 아이디에 대응되는 개인키를 인증 서버(104)에서 단말(112 또는 114)로 안전하기 전달하기 위하여, 인증 서버(104) 및 단말(112 또는 114) 간에 보안 채널(secure channel)이 생성되며, 사용자 인증 뿐만 아니라 인증 서버(104)의 정당성에 대한 인증 또한 함께 수행된다.
상기 210 단계에서는 단말(112 또는 114) 및 인증 서버(104)의 인증 및 보안 채널 생성을 위하여 사용자의 아이디 및 패스워드에 기반한 키 교환 알고리즘이 이용될 수 있다. 또한 이 과정에서 이 과정에서 안전하게 저장될 필요가 있는 정보들은 인증 서버(104)와 연결된 하드웨어 보안 모듈에서 처리될 수 있다.
상기 인증 과정이 완료되면, 다음으로 인증 서버(104)는 사용자 인증을 통과한 단말(112 또는 114)의 사용자 아이디를 개인키 생성기(106)에 전달하고(212), 개인키 생성기(106)는 전달된 아이디에 대응되는 개인키를 계산하여 인증 서버(104)로 전달한다. 인증 서버(104)와 개인키 생성기(106) 간의 안전한 메시지 송수신을 위하여, 인증 서버(104)와 개인키 생성기(106)는 동일한 하드웨어 내에 구비되거나, 외부 네트워크와 단절된 내부망으로 연결되거나, 또는 인증 서버(104)와 개인키 생성기(106) 간에 별도의 안전한 통신 채널을 구축하도록 구성될 수 있다. 또한 개인키 생성기(106)는 상기 아이디에 대응되는 개인키 계산을 위하여 별도의 하드웨어 보안 모듈을 이용할 수 있다.
상술한 과정을 거쳐 인증 서버(104)로 전달된 개인키는 인증 서버(104)와 단말(112 또는 114) 간에 구축된 보안 채널을 통하여 단말(112 또는 114)로 안전하게 전달된다(216).
본 발명의 실시예에서는 단말간의 암호화된 통신을 위해 상대방의 아이디를 공개키로 하는 암호화 알고리즘에 의해 메시지를 암호화하여 상대방으로 송신하게 된다. 그러면 수신자는 해당 ID에 대응되는 개인키를 이용하여 수신된 암호문을 해독할 수 있다. 전술한 예에서와 같이, 만약 제1단말(112)이 제2단말(114)로 메시지를 전달할 경우, 제1단말(112)은 제2단말(114) 사용자의 아이디를 공개키(public key)로 하는 암호화 알고리즘을 이용하여 상기 메시지를 암호화한다. 상기 메시지를 수신한 제2단말(114)은 상기 아이디에 대응되어 인증 서버(104)로부터 제공된 개인키(private key)를 이용하여 암호화된 메시지를 복호화한다.
이때, 상기 암호화된 통신을 위하여 상대방의 아이디 자체(original ID)를 이용할 수도 있지만, 실시예에 따라 상기 아이디에 일정 주기마다 갱신되는 패딩(padding) 문자열을 부가할 수도 있다. 이때 단말 사용자의 기본 아이디에 패딩 문자열을 부가한 것을 해당 주기의 임시 아이디로 칭하기로 한다. 즉, 임시 아이디는 다음과 같이 정해질 수 있다.
임시 아이디 = 기본 아이디(original ID) || 패딩 문자열
이와 같이 기본 아이디에 패딩 문자열을 부가할 경우, 패딩 문자열이 갱신될 때마다 이에 대응되는 개인키 또한 갱신하여야 하므로 기본 아이디만을 이용할 때와 비교하여 보안성을 한 층 강화할 수 있다. 또한, 상기 패딩 문자열의 갱신에 따른 개인키의 갱신을 회원 관리 또는 과금 정책과 연계할 경우, 개인키의 갱신 과정을 통하여 자연스럽게 과금이 이루어지도록 할 수 있다.
패딩 문자열의 갱신 주기는 일/주/월/분기/년 등과 같이 서비스의 특성을 고려하여 다양하게 적용 가능하다. 단말(112 또는 114)이 타 단말 또는 서버 등과 실제로 암호화된 통신을 시작하기 위해, 단말 사용자는 해당 주기에 유효한 수신자의 패딩 문자열을 확보하여야 한다.
본 발명의 실시예에서는 다음과 같은 세 가지 타입의 패딩 문자열을 이용할 수 있다. 다만, 이하의 설명에서 제시하는 패딩 문자열의 생성 방법은 예시적인 것이며, 본 발명의 실시예들은 특정 방법으로 구현된 패딩에 한정되는 것은 아님에 유의한다.
먼저 해당 주기의 날짜 정보를 패딩 문자열로 이용하는 방법이다. 갱신 주기에 따라 해당 날짜, 해당 주, 해당 월, 분기, 연도 등을 패딩 문자열로 사용할 수 있다. 이 방법의 장점은 패딩 문자열의 획득을 위해 인증 서버(104) 또는 다른 제3자로부터 정보를 내려받거나 할 필요가 없다는 것이다. 해당 주기의 날짜 정보는 어떠한 검증 없이도 누구나 알 수 있는 것이기 때문이다. 그러나 본 방식에 따를 경우, 만약 모든 사용자의 갱신 주기가 동일할 경우에는 해당 주기가 끝나는 시점에서 인증 서버(104)에 과부하가 걸릴 수 있는 문제가 있다. 예를 들어 모든 사용자가 월 단위로 패딩 문자열을 갱신할 경우에는 매월 초에 모든 사용자의 개인키를 갱신하여야 하는 문제가 발생한다. 따라서 사용자별로 갱신 주기를 적절하게 조절함으로써 과부하를 분산시킬 필요가 있다.
두 번째는 사용자의 해당 주기용 단말측 랜덤 문자열(랜덤 패딩, random padding)을 인증 서버(104)의 서명과 함께 사용하는 방식이다. 이때 서명은 아이디 기반 서명(IBS; Identity Based Signature)을 사용할 수 있다. 사용자의 해당 주기용 단말측 랜덤 문자열은 단말(112 또는 114)로부터 인증 서버(104)로 전달되며, 인증 서버(104)는 해당 랜덤 문자열에 대응되는 서버측 서명을 단말(112 또는 114)로 제공한다. 이 과정은 사용자가 해당 주기의 개인키를 발급 받는 과정에 포함 될 수 있다. 암호화된 통신을 진행할 때 송신자는 수신자로부터 해당 주기의 수신자의 단말측 랜덤 문자열 및 그에 대한 서버측 서명을 먼저 확보해야 한다.
세 번째는 사용자의 해당 주기용 단말측 랜덤 문자열 및 이를 보증하기 위한 서버측 랜덤 문자열을 함께 패딩 문자열로 사용하는 방식이다. 해당 주기의 임시 아이디는 기본 아이디(original ID), 해당 주기의 단말측 랜덤 문자열 및 서버측 랜덤 문자열의 결합으로 표현될 수 있다. 본 방식의 경우 두 번째 방식과 달리 별도로 서버의 서명을 확인할 필요가 없고, 서버 과부하가 분산되는 장점이 있다. 그러나 이 방식의 경우 단말측 랜덤 문자열과 별도로 서버측 랜덤 문자열 또한 설정된 주기마다 갱신해 주어야 한다. 서버측 랜덤 문자열은 매 갱신 주기마다 공용 채널을 통해 브로드캐스팅되거나 또는 푸시 메시지를 통하여 인증 서버(104)로부터 단말(112 또는 114)로 전달될 수 있다.
단말측 랜덤 문자열의 갱신 주기는 서버측 랜덤 문자열의 갱신 주기와 같을 필요가 없으며, 예를 들어 단말측 랜덤 문자열의 갱신 주기를 서버측 랜덤 문자열의 갱신 주기보다 더 길게 유지할 수 있다. 예를 들어 서버측 랜덤 문자열이 매일 갱신된다면, 단말측 랜덤 문자열은 그보다 더 긴 주기, 예를 들어 매주 또는 매 달 업데이트되도록 구성할 수 있다. 또한, 사용자의 단말측 랜덤 문자열의 업데이트 주기를 과금 주기와 동일하도록 설정할 경우에는, 과금 정책과 연결시켜 랜덤 문자열 갱신과 함께 사용자에게 과금을 할 수도 있다.
이하에서는 단말(112 또는 114) 및 인증 서버(104)간의 인증 및 보안 채널 형성 과정을 상세히 설명한다. 먼저 단말(112 또는 114)과 인증 서버(104) 간의 인증 및 보안 채널 형성을 위한 시스템 파라미터에 대해 설명하면 다음과 같다.
먼저, 각각 p≡3 (mod 4), q≡3 (mod 4)를 만족하고 B 스무스(B smooth)인 비슷한 크기의 큰 두 소수 p, q로부터 N = pq 를 계산한다. 이 때, p와 q는 주어진 안전성 파라미터에 해당하는 보안 강도 (security level)를 만족하고 암호학적으로 안전한 소수이다. 안정성 파라미터란 암호화 알고리즘에 대한 기본공격의 시간과 비용을 결정짓는 알고리즘의 요소를 의미한다. 이때 기본 공격이란 주어진 데이터(평문과 암호문)를 만족시키는 키를 발견할 때까지 모든 가능한 키 후보를 검색하는 전수조사(Exhaustive Search) 방식의 공격을 의미한다. 전수 조사에 걸리는 시간은 가능한 키의 개수에 의존하고 키의 개수는 키의 길이에 의해 결정되므로, 이 경우 안전성 파라미터는 키의 길이를 의미한다. 또한, B 값은 상기 보안 강도에 따라 적절하게 설정될 수 있다.
다음으로, 비밀키 교환에 사용되는 해시 함수 H 및 랜덤 해시 함수 hi를 정의한다. 유한한 군 ZN = {0, 1, 2, ..., N-1}의 최대 순환 부분군(maximal cyclic subgroup) 의 생성원(generator)을
Figure 112013120180909-pat00001
라 `하자. 이제 생성원
Figure 112013120180909-pat00002
으로 생성되는 순환 부분군을 G라고 정의하면 이로부터 해시 함수 H는 다음의 수학식 1과 같이 정의된다.
[수학식 1]
H: {0,1}* -> G
(이때, {0,1}* 은 0과 1로 이루어진 임의의 유한한 비트열)
즉, 상기 해시 함수 H는 아이디를 입력값으로 할 때 그 출력값이 군 G의 원소가 되도록 정의된다. 예를 들어, 다음과 같은 랜덤 해시함수 h:{0,1}* -> Zn 가 있을 경우, 해시 함수 H는 다음의 수학식 2와 같이 정의될 수 있다.
[수학식 2]
H(ID) = h(ID)2
또한, 해시 함수 Hi는 다음의 수학식 3과 같이 정의된다.
[수학식 3]
Hi: {0,1}* -> {0,1}ni
(이때, {0,1}ni 은 0 또는 1 중 임의의 비트로 구성된 ni비트의 문자열을 의미하며, i∈{0, 1, 2, 3, 4})
즉, 본 발명의 실시예에서는 5개의 랜덤 해시 함수가 사용되며, 각각의 랜덤 해시 함수의 출력값의 비트수는 알고리즘의 구체적인 형태에 따라 적절히 정해질 수 있다. 즉, n0 내지 n6의 값은 필요에 따라 적절히 설정될 수 있다. 각각의 랜덤 해시 함수로는 예를 들어, SHA1, SHA-256, SHA-512 등이 사용될 수 있으나 본 발명이 특정한 함수에 한정되는 것은 아니다. 또한 상기 실시예에서는 각 랜덤 해시 함수가 0 내지 4의 값을 가지도록 기술하였으나, 이는 단지 각 랜덤 해시 함수를 구분하기 위한 것일 뿐, 각각의 랜덤 해시 함수들이 특정한 순서를 가지는 것은 아니다.
이와 같은 과정을 거쳐 도출되는 시스템 파라미터(paramR) 및 마스터키(mk)는 다음과 같다.
param = {N, G, g, H, h0, h1, h2, h3, h4}
mk = (p, q)
도 3은 본 발명의 제1 실시예에 따른 개인키 발급 과정을 설명하기 위한 흐름도(300)이다. 도시된 제1 실시예의 경우 해당 주기의 날짜 정보를 패딩 문자열로 이용한 것이다.
먼저, 인증 서버(104)는 각각의 사용자 아이디에 대응되는 개인키(tID = logg(H(ID)) 및 패스워드(pw) 또는 패스워드의 해시값(PW = H(pw))을 저장하고 있다. 구체적으로, 인증 서버(104)는 상기 개인키 및 패스워드(PW 또는 pw)의 안전한 저장을 위해 별도의 하드웨어 보안 모듈(104a, HSM)을 구비할 수 있다.
사용자가 단말(112 또는 114)을 통해 자신의 아이디(ID) 및 패스워드(pw)를 입력하면, 사용자 단말(112 또는 114)은 임의의 난수(random number) x를 선택하고 이로부터 제1 비밀키 엘리먼트(X)를 계산한다. 이때 상기 제1 비밀키 엘리먼트는 다음과 같이 계산될 수 있다.
X = gx
단말(112 또는 114)은 ID, 클라이언트 고유값(C) 및 계산된 제1 비밀키 엘리먼트(X)를 인증 서버(104)로 전달한다(302). 이때 상기 클라이언트 고유값(C)은 단말(112 또는 114)을 다른 단말들과 식별하기 위한 값으로서, 예를 들어 단말(112 또는 114)의 시리얼 번호, 네트워크 주소 또는 전화번호 등이 될 수 있다.
인증 서버(104) 또한 임의의 난수 y를 선택하고 이로부터 제2 비밀키 엘리먼트(Y = gy)를 계산한다. 계산된 제2 비밀키 엘리먼트(Y)는 서버 고유값(S)과 함께 단말(112 또는 114)로 전달된다(304). 서버 고유값(S)은 예를 들어 인증 서버(104)의 시리얼 번호, 네트워크 주소, 기타 인증 서버(104)를 식별하기 위한 값이 될 수 있다.
이후, 단말(112 또는 114)은 다음과 같이 e, Z, K, sk, C1을 계산한 뒤, K를 비밀키로 하여 사용자의 패스워드(PW 또는 pw)를 암호화하고, 이를 C1과 함께 인증 서버(104)로 전달한다(306).
I = H(ID)
e = h0(X, Y, I, C, S)
Z = (Y · Ie)x mod N
K = h1(Z, I, e, X, Y, C, S)
sk = h2(Z, I, e, X, Y, C, S)
C1 = h3(sk, I, X, Y, C, S)
한편, 인증 서버(104)는 상기와 동일한 방법으로 e를 계산하고, Z 값을 계산하기 위해 ID (또는 I), X, y, e를 하드웨어 보안 모듈(104a)로 전달한다(308). 그러면 하드웨어 보안 모듈(104a)은 상기 값들과 기 저장된 개인키(tID)를 이용하여 다음과 같이 Z 값을 계산하고 이를 인증 서버(104)로 돌려준다(310).
Z = Xy + tID ·e mod N
인증 서버(104)는 상기 Z 값을 이용하여 비밀키 K를 계산하고, 계산된 비밀키를 이용하여 단말(112 또는 114)로부터 수신된 암호화된 메시지를 복구하여 이로부터 사용자의 패스워드(PW 또는 pw)를 얻는다. 이후, 인증 서버는 하드웨어 보안 모듈(104a)로 사용자의 아이디 및 패스워드를 전달하여 이의 유효성 검증(validity check)을 요청하고(312), 하드웨어 보안 모듈(104a)은 상기 요청에 따라 수신된 아이디 및 패스워드의 유효성을 검증한 뒤 유효한 아이디/패스워드로 판단되는 경우 이에 대한 검증값(vpw)을 회신한다(314). 이때 상기 유효성 검증은 MAC(Message Authentication Code) 형태로 구현될 수 있다. 단말(112 또는 114)로부터 전달된 패스워드가 하드웨어 보안 모듈(104a)의 유효성 검증을 통과하면, 인증 서버(104)는 단말(112 또는 114)이 정당한 사용자임을 인증할 수 있다. 이와 같이 단말(112 또는 114) 인증이 완료되면, 인증 서버(104)는 Z를 이용하여 세션키(sk) 및 C2를 계산하고 C2를 단말(112 또는 114)로 전달한다(316). 그러면 단말(112 또는 114)은 전송된 C2의 유효성을 검증함으로써 인증 서버(104)가 정당한 서버임을 인증하게 된다.
즉, 상기 과정을 통해 단말(112 또는 114)은 자신의 아이디 및 패스워드를 알고 있다는 사실을 증명함으로써 스스로를 인증하고, 인증 서버(104)는 단말(112 또는 114)의 아이디에 대응되는 개인키(tID)를 알고 있다는 사실을 증명함으로써 스스로를 인증하게 된다. 또한 위 과정을 통해 생성된 세션키(sk)를 통해 양자간 안전한 통신을 위한 보안 채널(secure channel)을 구축하게 된다.
상기 과정을 통하여 인증 및 보안 채널 형성이 완료되면, 다음으로 인증 서버(104)는 개인키 생성기(106)에 사용자의 아이디와 해당 주기의 날짜 정보를 전달한다(318). 도면에서는 상기 주기가 "일(day)"인 경우를 가정하였으나, 전술한 바와 같이 상기 주기는 다양하게 정해질 수도 있다. 또한 실시예에 따라 개인키 생성기(106)가 현재 날짜 정보를 알고 있는 경우에는 별도로 날짜 정보를 전달할 필요가 없다.
개인키 생성기(106)는 별도의 하드웨어 보안 모듈(미도시)에 개인키 생성을 위한 마스터키(master key)를 저장하고 있다. 개인키 생성기(106)는 상기 하드웨어 보안 모듈을 이용하여 해당 주기에 해당하는 사용자의 개인키(tID _ today)를 생성하여 이를 인증 서버(104)에 전달한다(320). 그러면 인증 서버(104)는 상기 세션키(sk)와 지정된 암호화알고리즘(도시된 실시예에서는 AES로 가정)을 이용하여 수신된 개인키(tID_today)를 안전하게 전달한다(322). 즉, 인증 서버(104)는 개인키(tID _ today)를 세션키를 암호화 키로 하는 암호화 알고리즘에 의해 암호화하여 단말(112 또는 114)로 전달하며, 단말(112 또는 114)은 수신된 메시지를 인증 서버(104)와 동일한 세션키로 복호화함으로써 개인키를 획득하게 된다.
도 4는 본 발명의 제1 실시예에 따라 개인키를 발급받은 단말 간의 암호화된 메시지 송수신 과정을 설명하기 위한 도면이다. 상기 과정을 거쳐 인증 서버(104)로부터 개인키를 발급받은 경우, 제1단말(112) 및 제2단말(114)은 각각 상대방의 공개키를 이용하여 암호화된 통신을 진행할 수 있다. 예를 들어, 제1단말(112)의 아이디를 A, 제2단말(114)의 아이디를 B, 패딩 문자열의 갱신 주기를 "일(day)"로 가정할 경우, 제1단말(112) 및 제2단말(114)의 공개키 및 개인키는 다음과 같이 표현될 수 있다.
제1단말(112)의 공개키 A_Today = A || Today's date
제1단말(112)의 개인키 = tA _ Today
제2단말(114)의 공개키 B_Today = B || Today's date
제2단말(114)의 개인키 = tB _ Today
본 실시예의 경우, 해당 주기의 날짜 정보는 모두에게 알려져 있는 정보이므로, 제1단말(112) 및 제2단말(114)는 별도의 사전 정보 교환 없이 바로 양자간 암호화된 통신을 진행할 수 있는 장점이 있다.
도 5는 본 발명의 제2 실시예에 따른 개인키 발급 과정을 설명하기 위한 흐름도(500)이다. 도시된 제2 실시예의 경우 해당 주기의 단말측 랜덤 문자열(랜덤 패딩, random padding)을 인증 서버(104)의 서명과 함께 사용하는 방식이다. 이후의 설명에서 제1 실시예와 동일한 값들은 제1 실시예에서와 동일한 과정을 통해 계산되었다고 가정한다.
먼저, 인증 서버(104)는 각각의 사용자 아이디에 대응되는 개인키(tID = logg(H(ID)) 및 패스워드(pw) 또는 패스워드의 해시값(PW = H(pw))을 저장하고 있다. 구체적으로, 인증 서버(104)는 상기 개인키 및 패스워드(PW 또는 pw)의 안전한 저장을 위해 별도의 하드웨어 보안 모듈(104a, HSM)을 구비할 수 있다.
사용자가 단말(112 또는 114)을 통해 자신의 아이디(ID) 및 패스워드(pw)를 입력하면, 사용자 단말(112 또는 114)은 임의의 난수(random number) x로부터 제1 비밀키 엘리먼트(X)를 계산하고, ID, 제1 비밀키 엘리먼트(X) 및 해당 주기의 단말측 랜덤 문자열(RC_Today)를 인증 서버(104)로 전달한다(502). 도시된 실시예에서는 단말측 랜덤 문자열의 갱신 주기를 일(day)로 가정하였다.
인증 서버(104) 또한 임의의 난수 y로부터 제2 비밀키 엘리먼트(Y = gy)를 계산하고, 이를 단말(112 또는 114)로 전달한다(504).
이후, 단말(112 또는 114)은 e, Z, K, sk, C1을 계산한 뒤, K를 비밀키로 하여 사용자의 패스워드(PW 또는 pw)를 암호화하고 이를 C1과 함께 인증 서버(104)로 전달한다(506).
한편, 인증 서버(104)는 또한 수신된 정보로부터 e를 계산하고, Z 값을 계산하기 위해 ID(또는 I), X, y, e를 하드웨어 보안 모듈(104a)로 전달한다(508). 그러면 하드웨어 보안 모듈(104a)은 상기 값들과 기 저장된 개인키(tID)를 이용하여 Z 값을 계산하고 이를 인증 서버(104)로 돌려준다(510).
인증 서버(104)는 상기 Z 값을 이용하여 비밀키 K를 계산하고, 계산된 비밀키를 이용하여 단말(112 또는 114)로부터 수신된 암호화된 메시지를 복구하여 이로부터 사용자의 패스워드(PW 또는 pw)를 얻는다. 이후, 인증 서버는 하드웨어 보안 모듈(104a)로 사용자의 아이디 및 패스워드를 전달하여 이의 유효성 검증(validity check)을 요청하고(512), 하드웨어 보안 모듈(104a)은 상기 요청에 따라 수신된 아이디 및 패스워드의 유효성을 검증한 뒤 유효한 아이디/패스워드로 판단되는 경우 이에 대한 검증값(vpw)을 회신한다(514).
단말(112 또는 114)로부터 전달된 패스워드가 하드웨어 보안 모듈(104a)의 유효성 검증을 통과하면, 인증 서버(104)는 단말(112 또는 114)이 정당한 사용자임을 인증할 수 있다. 이와 같이 단말(112 또는 114) 인증이 완료되면, 인증 서버(104)는 상기 502 단계에서 수신된 단말측 랜덤 문자열(RC _ Today)을 단말(112 또는 114)의 아이디에 부가하여 다음과 같이 해당 주기의 공개키(ID_Today)를 생성하고, 이를 하드웨어 보안 모듈(104a)로 전달한다(516).
ID_Today = ID || RC _ Today
그러면, 하드웨어 모안 모듈(104a)은 상기 공개키에 대응되는 서버측 서명(IBStS(ID_Today))을 생성하여 인증 서버(104)로 회신한다(518).
이후, 인증 서버(104)는 세션키(sk) 및 C2를 계산하고 C2 및 상기 서버측 서명(IBStS(ID_Today))을 단말(112 또는 114)로 전달한다(520). 그러면 단말(112 또는 114)은 전송된 C2의 유효성을 검증함으로써 인증 서버(104)가 정당한 서버임을 인증하게 된다.
상기 과정을 통하여 인증, 보안 채널 형성 및 서버측 서명 전송이 완료되면, 다음으로 인증 서버(104)는 개인키 생성기(106)에 사용자의 해당 주기의 임시 아이디(ID_Today)를 전달한다(522). 전술한 바와 같이, 개인키 생성기(106)는 별도의 하드웨어 보안 모듈(미도시)에 개인키 생성을 위한 마스터키(master key)를 저장하고 있다. 개인키 생성기(106)는 상기 하드웨어 보안 모듈을 이용하여 해당 주기에 해당하는 사용자의 개인키(tID _ today)를 생성하여 이를 인증 서버(104)에 전달한다(524). 그러면 인증 서버(104)는 상기 세션키(sk)와 지정된 암호화알고리즘(도시된 실시예에서는 AES로 가정)을 이용하여 수신된 개인키(tID _ today)를 안전하게 전달한다(526). 즉, 인증 서버(104)는 개인키(tID _ today)를 세션키를 암호화 키로 하는 암호화 알고리즘에 의해 암호화하여 단말(112 또는 114)로 전달하며, 단말(112 또는 114)은 수신된 메시지를 인증 서버(104)와 동일한 세션키로 복호화함으로써 개인키를 획득하게 된다.
도 6은 본 발명의 제2 실시예에 따라 개인키를 발급받은 단말 간의 암호화된 메시지 송수신 과정을 설명하기 위한 도면이다.
상기 과정을 거쳐 인증 서버(104)로부터 개인키를 발급받은 경우, 제1단말(112) 및 제2단말(114)은 각각 상대방의 공개키를 이용하여 암호화된 통신을 진행할 수 있다. 예를 들어, 제1단말(112)의 아이디를 A, 제2단말(114)의 아이디를 B, 클라이언트측 랜덤 문자열의 갱신 주기를 "일(day)"로 가정할 경우, 제1단말(112) 및 제2단말(114)의 공개키, 서버측 서명 및 개인키는 다음과 같이 표현될 수 있다.
제1단말(112)의 공개키 A_Today = A || RA _ Today
제1단말(112)의 서버측 서명 = IBStS(A_Today)
제1단말(112)의 개인키 = tA _ Today
제2단말(114)의 공개키 B_Today = B || RB _ Today
제2단말(114)의 서버측 서명 = IBStS(B_Today)
제2단말(114)의 개인키 = tB _ Today
제1 실시예와 달리, 본 실시예의 경우 메시지를 송신하기 전 해당 주기의 매 암호화된 통신마다 별도의 서버 인터랙션(server interaction)은 필요 없지만, 암호화를 수행하기 전에 수신자의 해당 주기의 유효한 클라이언트측 랜덤 문자열 을 얻기 위한 사전 핸드셰이킹(handshake) 과정이 필요할 수 있다. 도시된 흐름도는 제1단말(112)이 제2단말(114)로 메시지를 송신하는 과정을 나타낸 것이다.
먼저, 제1단말(112)은 제2단말(114)로부터 해당 주기의 공개키(B_Today) 및 서버측 서명(IBStS(B_Today))을 수신하고(602), 수신된 서버측 서명을 검증한다(604). 만약 상기 검증 결과, 수신된 서명이 유효한 경우 제1단말(112)은 해당 주기의 공개키(B_Today)를 이용하여 메시지(data)를 암호화하여 제2단말(114)로 전송한다(606). 이를 수식으로 표현하면 다음과 같다. 이때 IBE는 ID 기반 암호화(ID Based Encryption)을 의미한다.
IBEB _Today(data)
이를 수신한 제2단말(114)은 수신된 메시지를 자신의 개인키(tB _ Today)를 이용하여 복호화하여 메시지를 복원한다(608).
도 7은 본 발명의 제3 실시예에 따른 개인키 발급 과정을 설명하기 위한 흐름도(700)이다. 도시된 제3 실시예의 경우 해당 주기의 단말측 랜덤 문자열 및 서버측 랜덤 문자열을 함께 사용하는 방식이다. 이후의 설명에서 제1 실시예 및 제2 실시예와 동일한 값들은 제1 실시예 및 제2 실시예에서와 동일한 과정을 통해 계산되었다고 가정한다.
먼저, 인증 서버(104)는 각각의 사용자 아이디에 대응되는 개인키(tID = logg(H(ID)) 및 패스워드(pw) 또는 패스워드의 해시값(PW = H(pw))을 저장하고 있다. 구체적으로, 인증 서버(104)는 상기 개인키 및 패스워드(PW 또는 pw)의 안전한 저장을 위해 별도의 하드웨어 보안 모듈(104a, HSM)을 구비할 수 있다.
사용자가 단말(112 또는 114)을 통해 자신의 아이디(ID) 및 패스워드(pw)를 입력하면, 사용자 단말(112 또는 114)은 임의의 난수(random number) x로부터 제1 비밀키 엘리먼트(X)를 계산하고, ID, 제1 비밀키 엘리먼트(X) 및 해당 주기의 단말측 랜덤 문자열(RC_July)를 인증 서버(104)로 전달한다(702). 도시된 실시예에서는 단말측 랜덤 문자열의 갱신 주기를 월(month)로 가정하였으며, July는 현재 시점이 7월임을 가정한 것이다.
인증 서버(104) 또한 임의의 난수 y로부터 제2 비밀키 엘리먼트(Y = gy)를 계산하고, 계산된 상기 제2 비밀키 엘리먼트 및 해당 주기의 서버측 랜덤 문자열(RS_Today)를 단말(112 또는 114)로 전달한다(704). 즉, 도시된 실시예에서 서버측 랜덤 문자열의 갱신 주기는 단말측 랜덤 문자열의 갱신 주기보다 짧은 "일(day)"로 가정하였다. 상기 서버측 랜덤 문자열은 서명 대신 클라이언트측 랜덤 문자열을 인증해주는 역할을 한다. 즉, 서버의 랜덤 문자열이 갱신됨에 따라 사용자의 아이디도 같이 갱신되며 이에 대응되는 private key도 갱신된다.
이후, 단말(112 또는 114)은 e, Z, K, sk, C1을 계산한 뒤, K를 비밀키로 하여 사용자의 패스워드(PW 또는 pw)를 암호화하고 이를 C1과 함께 인증 서버(104)로 전달한다(706).
한편, 인증 서버(104)는 또한 수신된 정보로부터 e를 계산하고, Z 값을 계산하기 위해 ID(또는 I), X, y, e를 하드웨어 보안 모듈(104a)로 전달한다(708). 그러면 하드웨어 보안 모듈(104a)은 상기 값들과 기 저장된 개인키(tID)를 이용하여 Z 값을 계산하고 이를 인증 서버(104)로 돌려준다(710).
인증 서버(104)는 상기 Z 값을 이용하여 비밀키 K를 계산하고, 계산된 비밀키를 이용하여 단말(112 또는 114)로부터 수신된 암호화된 메시지를 복구하여 이로부터 사용자의 패스워드(PW 또는 pw)를 얻는다. 이후, 인증 서버는 하드웨어 보안 모듈(104a)로 사용자의 아이디 및 패스워드를 전달하여 이의 유효성 검증(validity check)을 요청하고(712), 하드웨어 보안 모듈(104a)은 상기 요청에 따라 수신된 아이디 및 패스워드의 유효성을 검증한 뒤 유효한 아이디/패스워드로 판단되는 경우 이에 대한 검증값(vpw)을 회신한다(714).
단말(112 또는 114)로부터 전달된 패스워드가 하드웨어 보안 모듈(104a)의 유효성 검증을 통과하면, 인증 서버(104)는 단말(112 또는 114)이 정당한 사용자임을 인증할 수 있다. 이와 같이 단말(112 또는 114) 인증이 완료되면, 인증 서버(104)는 세션키(sk) 및 C2를 계산하고 계산된 C2 를 단말(112 또는 114)로 전달한다(716). 그러면 단말(112 또는 114)은 전송된 C2의 유효성을 검증함으로써 인증 서버(104)가 정당한 서버임을 인증하게 된다.
다음으로, 인증 서버(104)는 상기 702 단계에서 수신된 단말측 랜덤 문자열(RC _ Today) 및 서버측 랜덤 문자열(RS _ Today)을 단말(112 또는 114)의 아이디에 부가하여 다음과 같이 해당 주기의 공개키(ID_Today)를 생성하고, 이를 개인키 생성기(106)로 전달한다(718).
ID_Today = ID || RC _ Today || RS _ Today
전술한 바와 같이, 개인키 생성기(106)는 별도의 하드웨어 보안 모듈(미도시)에 개인키 생성을 위한 마스터키(master key)를 저장하고 있다. 개인키 생성기(106)는 상기 하드웨어 보안 모듈을 이용하여 해당 주기에 해당하는 사용자의 개인키(tID_today)를 생성하여 이를 인증 서버(104)에 전달한다(720). 그러면 인증 서버(104)는 상기 세션키(sk)와 지정된 암호화알고리즘(도시된 실시예에서는 AES로 가정)을 이용하여 수신된 개인키(tID _ today)를 안전하게 전달한다(722). 즉, 인증 서버(104)는 개인키(tID _ today)를 세션키를 암호화 키로 하는 암호화 알고리즘에 의해 암호화하여 단말(112 또는 114)로 전달하며, 단말(112 또는 114)은 수신된 메시지를 인증 서버(104)와 동일한 세션키로 복호화함으로써 개인키를 획득하게 된다.
도 8은 본 발명의 제3 실시예에 따라 개인키를 발급받은 단말 간의 암호화된 메시지 송수신 과정을 설명하기 위한 도면이다.
상기 과정을 거쳐 인증 서버(104)로부터 개인키를 발급받은 경우, 제1단말(112) 및 제2단말(114)은 각각 상대방의 공개키를 이용하여 암호화된 통신을 진행할 수 있다. 예를 들어, 제1단말(112)의 아이디를 A, 제2단말(114)의 아이디를 B, 클라이언트측 랜덤 문자열의 갱신 주기를 "일(day)"로, 서버측 랜덤 문자열의 갱신 주기를 "월(month)"로 가정할 경우, 제1단말(112) 및 제2단말(114)의 공개키 및 개인키는 다음과 같이 표현될 수 있다.
제1단말(112)의 공개키 A_Today = A || RA _ July || RS _ Today
제1단말(112)의 개인키 = tA _ Today
제2단말(114)의 공개키 B_Today = B || RB _ July || RS _ Today
제2단말(114)의 개인키 = tB _ Today
본 실시예의 경우 메시지를 송신하기 전 해당 주기의 매 암호화된 통신마다 별도의 server interaction은 필요 없지만, 암호화를 수행하기 전에 수신자의 해당 주기의 유효한 클라이언트측 랜덤 문자열을 얻기 위한 사전 핸드셰이킹(handshake) 과정이 필요할 수 있다. 또한, 앞서 설명한 바와 같이 상대방으로부터 수신한 클라이언트측 랜덤 문자열의 유효성을 검증하기 위해 서명 대신 해당 주기마다 업데이트 되는 서버측 랜덤 문자열이 이용된다. 도시된 흐름도는 제1단말(112)이 제2단말(114)로 메시지를 송신하는 과정을 나타낸 것이다.
먼저, 제1단말(112)은 제2단말(114)로부터 해당 주기의 공개키(B_Today) 를 수신하고(802), 수신된 공개키에 포함된 서버측 랜덤 문자열을 검증한다 (804). 만약 상기 검증 결과, 수신된 서버측 랜덤 문자열이 유효한 경우 제1단말(112)은 해당 주기의 공개키(B_Today)를 이용하여 메시지(data)를 암호화하여 제2단말(114)로 전송한다(806). 이를 수신한 제2단말(114)은 수신된 메시지를 자신의 개인키(tB _ Today)를 이용하여 복호화하여 메시지를 복원한다(808).
한편, 해당 주기의 서버측 랜덤 문자열을 인증 서버(104)로부터 전달받는 방법은 다음과 같이 다양하게 적용할 수 있다.
먼저, 도 7에 도시된 바와 같이 자신의 개인키 갱신 시 아이디 및 패스워드에 기반한 키 교환을 통해 서로를 인증하고 전달받을 수 있다. 또한, 개인키 발급과 관계 없이 서버/사용자 양자간 인증을 통해 인증 서버(104)로부터 서버측 랜덤 문자열을 전달받을 수 있다.
또한, 서버측 랜덤 문자열은 비밀 정보가 아니므로 공개된 채널을 통해 인증 서버(104)가 일정 시간(예를 들어, 매일 자정에)에 해당 날짜의 서버측 랜덤 문자열을 브로드캐스트하거나, 또는 공개된 사이트에 공시할 수 있다. 다만, 이 경우 해당 랜덤 문자열 값 자체는 비밀 정보가 아니더라도, 이를 인증된 서버에서 전달했다는 점을 확인하기 위한 인증 작업이 필요하므로, 이를 위해 별도의 전자 서명 기법이나 공인된 사이트 공시 등의 방법을 적용할 수 있다.
한편, 본 발명의 실시예는 본 명세서에서 기술한 방법들을 컴퓨터상에서 수행하기 위한 프로그램을 포함하는 컴퓨터 판독 가능 기록매체를 포함할 수 있다. 상기 컴퓨터 판독 가능 기록매체는 프로그램 명령, 로컬 데이터 파일, 로컬 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야에서 통상의 지식을 가진 자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광 기록 매체, 플로피 디스크와 같은 자기-광 매체, 및 롬, 램, 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다.
이상에서 대표적인 실시예를 통하여 본 발명에 대하여 상세하게 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 상술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다.
그러므로 본 발명의 권리범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
100: 아이디 기반 키 관리 시스템
102: 서비스 제공자
104: 인증 서버
106: 개인키 생성기
108: 공개 파라미터 서버
110: 애플리케이션 제공 서버
112: 제1 단말
114: 제2 단말

Claims (23)

  1. 단말 사용자의 아이디 및 패스워드에 기반한 키 교환을 통하여 단말을 인증하고, 상기 단말 사용자의 아이디에 기 설정된 주기별 패딩 문자열을 부가하여 해당 주기에 대응되는 임시 아이디를 생성하고, 상기 단말과 보안 채널(secure channel)을 형성하며, 상기 보안 채널을 통해 상기 단말로 상기 임시 아이디에 대응되는 개인키를 제공하는 인증 서버; 및
    상기 인증 서버의 요청에 따라 상기 임시 아이디에 대응되는 개인키를 생성하는 개인키 생성기를 포함하고,
    상기 패딩 문자열은 해당 주기의 단말측 랜덤 문자열 및 서버측 랜덤 문자열을 포함하고,
    상기 단말측 랜덤 문자열의 갱신 주기는 상기 서버측 랜덤 문자열의 갱신 주기와 상이하도록 설정되며,
    상기 인증 서버는, 상기 단말과 상기 단말측 랜덤 문자열 및 상기 서버측 랜덤 문자열을 교환하고, 교환된 상기 단말측 랜덤 문자열 및 서버측 랜덤 문자열을 상기 단말 사용자의 아이디에 부가하여 상기 임시 아이디를 생성하는 아이디 기반 키 관리 시스템.
  2. 청구항 1에 있어서,
    상기 인증 서버는, 상기 단말과 교환한 키 생성 인자를 이용하여 아이디 기반의 비밀키를 생성하고, 상기 비밀키를 이용하여 상기 단말로부터 전송되는 상기 패스워드를 복호화하는, 아이디 기반 키 관리 시스템.
  3. 청구항 2에 있어서,
    상기 인증 서버는, 하드웨어 보안 모듈(HSM; Hardware Security Module)을 이용하여 상기 아이디 및 패스워드에 대한 인증을 수행하는, 아이디 기반 키 관리 시스템.
  4. 청구항 1에 있어서,
    상기 인증 서버는, 상기 개인키 생성기와의 통신을 통하여 상기 임시 아이디에 대응되는 개인키를 획득하는, 아이디 기반 키 관리 시스템.
  5. 청구항 4에 있어서,
    상기 개인키 생성기는, 하드웨어 보안 모듈(HSM; Hardware Security Module)을 이용하여 상기 개인키를 생성하는, 아이디 기반 키 관리 시스템.
  6. 청구항 4에 있어서,
    상기 패딩 문자열은 해당 주기의 날짜 정보를 포함하는, 아이디 기반 키 관리 시스템.
  7. 청구항 4에 있어서,
    상기 패딩 문자열은 해당 주기의 단말측 랜덤 문자열 및 서버측 아이디 기반 서명(IBS; Identity Based Signature)을 포함하는, 아이디 기반 키 관리 시스템.
  8. 청구항 7에 있어서,
    상기 인증 서버는,
    상기 단말로부터 상기 단말측 랜덤 문자열을 수신하고,
    수신된 상기 단말측 랜덤 문자열을 상기 단말의 아이디에 부가하여 상기 임시 아이디를 생성하며,
    상기 인증 서버의 개인키를 이용하여 상기 임시 아이디에 대한 상기 서버측 아이디 기반 서명을 생성하고,
    생성된 상기 서버측 아이디 기반 서명을 상기 단말로 송신하는, 아이디 기반 키 관리 시스템.
  9. 청구항 8에 있어서,
    상기 인증 서버는 하드웨어 보안 모듈(HSM; Hardware Security Module)을 이용하여 상기 서버측 아이디 기반 서명을 생성하는, 아이디 기반 키 관리 시스템.
  10. 삭제
  11. 삭제
  12. 삭제
  13. 청구항 1에 있어서,
    상기 인증 서버는, 상기 단말과 교환한 키 생성 인자를 이용하여 아이디 기반의 세션키를 생성하고, 생성된 상기 세션키로 상기 개인키를 암호화하여 상기 단말로 제공하는, 아이디 기반 키 관리 시스템.
  14. 인증 서버에서, 단말 사용자의 아이디 및 패스워드에 기반한 키 교환을 통하여 단말을 인증하고 상기 단말과 보안 채널(secure channel)을 형성하는 단계;
    상기 인증 서버에서, 상기 단말 사용자의 아이디에 기 설정된 주기별 패딩 문자열을 부가하여 해당 주기에 대응되는 임시 아이디를 생성하는 단계;
    상기 인증 서버에서, 상기 임시 아이디에 대응되는 개인키를 생성하는 단계; 및
    상기 인증 서버에서, 상기 보안 채널을 통해 상기 단말로 상기 개인키를 제공하는 단계를 포함하고,
    상기 패딩 문자열은 해당 주기의 단말측 랜덤 문자열 및 서버측 랜덤 문자열을 포함하고,
    상기 단말측 랜덤 문자열의 갱신 주기는 상기 서버측 랜덤 문자열의 갱신 주기와 상이하도록 설정되며,
    상기 단말 인증 및 보안 채널 형성 단계는,
    상기 단말과 상기 단말측 랜덤 문자열 및 상기 서버측 랜덤 문자열을 교환하는 단계; 및
    교환된 상기 단말측 랜덤 문자열 및 서버측 랜덤 문자열을 상기 단말 사용자의 아이디에 부가하여 상기 임시 아이디를 생성하는 단계를 포함하는, 아이디 기반 키 관리 방법.
  15. 청구항 14에 있어서,
    상기 단말 인증 및 보안 채널 형성 단계는,
    상기 단말과 키 생성 인자를 교환하는 단계;
    상기 키 생성 인자를 이용하여 아이디 기반의 비밀키를 생성하는 단계; 및
    상기 비밀키를 이용하여 상기 단말로부터 전송되는 상기 패스워드를 복호화하는 단계를 더 포함하는, 아이디 기반 키 관리 방법.
  16. 삭제
  17. 청구항 14에 있어서,
    상기 패딩 문자열은 해당 주기의 날짜 정보를 포함하는, 아이디 기반 키 관리 방법.
  18. 청구항 14에 있어서,
    상기 패딩 문자열은 해당 주기의 단말측 랜덤 문자열 및 서버측 아이디 기반 서명(IBS; Identity Based Signature)을 포함하는, 아이디 기반 키 관리 방법.
  19. 청구항 18에 있어서,
    상기 단말 인증 및 보안 채널 형성 단계는,
    상기 단말로부터 상기 단말측 랜덤 문자열을 수신하는 단계;
    수신된 상기 단말측 랜덤 문자열을 상기 단말의 아이디에 부가하여 상기 임시 아이디를 생성하는 단계;
    상기 인증 서버의 개인키를 이용하여 상기 임시 아이디에 대한 상기 서버측 아이디 기반 서명을 생성하는 단계; 및
    생성된 상기 서버측 아이디 기반 서명을 상기 단말로 송신하는 단계를 더 포함하는, 아이디 기반 키 관리 방법.
  20. 삭제
  21. 삭제
  22. 삭제
  23. 청구항 14에 있어서,
    상기 개인키를 제공하는 단계는,
    상기 단말과 교환한 키 생성 인자를 이용하여 생성된 아이디 기반 세션키를 이용하여 상기 개인키를 암호화하는 단계; 및
    암호화된 상기 개인키를 상기 단말로 송신하는 단계를 더 포함하는, 아이디 기반 키 관리 방법.
KR1020130166559A 2013-07-31 2013-12-30 아이디 기반 키 관리 시스템 및 방법 KR102124413B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020130166559A KR102124413B1 (ko) 2013-12-30 2013-12-30 아이디 기반 키 관리 시스템 및 방법
US14/447,985 US9647833B2 (en) 2013-07-31 2014-07-31 System and method for identity-based key management
CN201410718151.0A CN104753917B (zh) 2013-12-30 2014-12-01 基于id的密钥管理系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130166559A KR102124413B1 (ko) 2013-12-30 2013-12-30 아이디 기반 키 관리 시스템 및 방법

Publications (2)

Publication Number Publication Date
KR20150080061A KR20150080061A (ko) 2015-07-09
KR102124413B1 true KR102124413B1 (ko) 2020-06-19

Family

ID=52428782

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130166559A KR102124413B1 (ko) 2013-07-31 2013-12-30 아이디 기반 키 관리 시스템 및 방법

Country Status (3)

Country Link
US (1) US9647833B2 (ko)
KR (1) KR102124413B1 (ko)
CN (1) CN104753917B (ko)

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10373149B1 (en) 2012-11-12 2019-08-06 Square, Inc. Secure data entry using a card reader with minimal display and input capabilities having a display
US9613353B1 (en) 2013-12-26 2017-04-04 Square, Inc. Passcode entry through motion sensing
US10382430B2 (en) * 2014-07-28 2019-08-13 Encryptier Co., Ltd. User information management system; user information management method; program, and recording medium on which it is recorded, for management server; program, and recording medium on which it is recorded, for user terminal; and program, and recording medium on which it is recorded, for service server
CN109951435B (zh) * 2014-08-04 2021-03-30 创新先进技术有限公司 一种设备标识提供方法及装置和风险控制方法及装置
CN105721153B (zh) * 2014-09-05 2020-03-27 三星Sds株式会社 基于认证信息的密钥交换系统及方法
CN105574041B (zh) 2014-10-16 2020-07-21 阿里巴巴集团控股有限公司 一种数据重组方法和装置
US9483653B2 (en) 2014-10-29 2016-11-01 Square, Inc. Secure display element
US9430635B2 (en) 2014-10-29 2016-08-30 Square, Inc. Secure display element
CN105630345B (zh) 2014-11-06 2019-02-19 阿里巴巴集团控股有限公司 一种控制显示方向的方法和设备
CN105722067B (zh) * 2014-12-02 2019-08-13 阿里巴巴集团控股有限公司 移动终端上数据加/解密方法及装置
US9674158B2 (en) * 2015-07-28 2017-06-06 International Business Machines Corporation User authentication over networks
CN106487758B (zh) * 2015-08-28 2019-12-06 华为技术有限公司 一种数据安全签名方法、业务终端以及私钥备份服务器
CN105228219B (zh) * 2015-10-12 2018-12-18 小米科技有限责任公司 中继路由器信息的获取方法及装置
CN105530099A (zh) * 2015-12-11 2016-04-27 捷德(中国)信息科技有限公司 基于ibc的防伪验证方法、装置、系统和防伪凭证
CN106911639B (zh) * 2015-12-23 2020-03-20 中国电信股份有限公司 加密方法和装置、解密方法和装置及终端
CN105975846B (zh) * 2016-04-29 2019-04-12 宇龙计算机通信科技(深圳)有限公司 终端的认证方法及系统
CN106101068B (zh) * 2016-05-27 2019-06-11 宇龙计算机通信科技(深圳)有限公司 终端通信方法及系统
SG10201606165SA (en) 2016-07-26 2018-02-27 Huawei Int Pte Ltd A key generation and distribution method based on identity-based cryptography
CN110035033B (zh) * 2018-01-11 2022-11-25 华为技术有限公司 密钥分发方法、装置及系统
KR101992325B1 (ko) * 2018-10-31 2019-06-24 상명대학교 천안산학협력단 신뢰 실행 환경을 이용한 타원 곡선 암호 기반 세션키 수립 방법
CN110247759B (zh) * 2019-06-03 2020-07-10 武汉理工大学 一种sm9私钥生成和使用方法及系统
KR102289478B1 (ko) * 2019-08-02 2021-08-13 주식회사 티모넷 보안키 관리 방법 및 보안키 관리 서버
US11588646B2 (en) 2019-09-05 2023-02-21 Cisco Technology, Inc. Identity-based application and file verification
CN113014534A (zh) * 2019-12-21 2021-06-22 浙江宇视科技有限公司 一种用户登录与认证的方法及装置
US11652616B2 (en) 2020-02-26 2023-05-16 International Business Machines Corporation Initializing a local key manager for providing secure data transfer in a computing environment
US11546137B2 (en) 2020-02-26 2023-01-03 International Business Machines Corporation Generation of a request to initiate a secure data transfer in a computing environment
US11489821B2 (en) 2020-02-26 2022-11-01 International Business Machines Corporation Processing a request to initiate a secure data transfer in a computing environment
US11405215B2 (en) * 2020-02-26 2022-08-02 International Business Machines Corporation Generation of a secure key exchange authentication response in a computing environment
US11502834B2 (en) 2020-02-26 2022-11-15 International Business Machines Corporation Refreshing keys in a computing environment that provides secure data transfer
US11184160B2 (en) 2020-02-26 2021-11-23 International Business Machines Corporation Channel key loading in a computing environment
KR102443085B1 (ko) * 2020-03-25 2022-09-14 주식회사 국민은행 디지털 자산의 커스터디 서비스 방법
CN111654366B (zh) * 2020-05-09 2023-04-07 中南民族大学 一种安全的pki与ibc之间的双向异构强指定验证者签名方法
US11575661B2 (en) * 2020-07-22 2023-02-07 Tailscale Inc. Centralized management of private networks
CN112422507B (zh) * 2020-10-19 2023-04-07 北京电子科技学院 一种基于标识算法的国密ssl加密方法
KR102310277B1 (ko) * 2020-11-10 2021-10-08 (주)헥슬란트 패스워드 암호화 시스템 및 그 방법
CN112422280A (zh) * 2020-11-12 2021-02-26 北京安御道合科技有限公司 人机控制交互方法、交互系统、计算机设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060156026A1 (en) 2002-10-25 2006-07-13 Daniil Utin Password encryption key
US8108678B1 (en) 2003-02-10 2012-01-31 Voltage Security, Inc. Identity-based signcryption system
US20130124292A1 (en) * 2010-07-29 2013-05-16 Nirmal Juthani System and method for generating a strong multi factor personalized server key from a simple user password

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6151676A (en) * 1997-12-24 2000-11-21 Philips Electronics North America Corporation Administration and utilization of secret fresh random numbers in a networked environment
DE10142959A1 (de) * 2001-09-03 2003-04-03 Siemens Ag Verfahren, System und Rechner zum Aushandeln einer Sicherheitsbeziehung auf der Anwendungsschicht
JP2003101570A (ja) * 2001-09-21 2003-04-04 Sony Corp 通信処理システム、通信処理方法、およびサーバー装置、並びにコンピュータ・プログラム
US7266847B2 (en) * 2003-09-25 2007-09-04 Voltage Security, Inc. Secure message system with remote decryption service
US20130227286A1 (en) * 2006-04-25 2013-08-29 Andre Jacques Brisson Dynamic Identity Verification and Authentication, Dynamic Distributed Key Infrastructures, Dynamic Distributed Key Systems and Method for Identity Management, Authentication Servers, Data Security and Preventing Man-in-the-Middle Attacks, Side Channel Attacks, Botnet Attacks, and Credit Card and Financial Transaction Fraud, Mitigating Biometric False Positives and False Negatives, and Controlling Life of Accessible Data in the Cloud
US7841000B2 (en) * 2006-10-16 2010-11-23 Lenovo (Singapore) Pte. Ltd. Authentication password storage method and generation method, user authentication method, and computer
CN101222325B (zh) * 2008-01-23 2010-05-12 西安西电捷通无线网络通信有限公司 一种基于id的无线多跳网络密钥管理方法
CN101340282B (zh) * 2008-05-28 2011-05-11 北京易恒信认证科技有限公司 复合公钥的生成方法
KR20130040065A (ko) * 2011-10-13 2013-04-23 삼성전자주식회사 전자 장치 및 그 암호화 방법
KR101329007B1 (ko) * 2012-05-31 2013-11-12 삼성에스디에스 주식회사 아이디 기반 암호 시스템을 위한 비밀키 생성 장치 및 그 방법, 그리고 그 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 기록매체
GB2509045A (en) * 2012-07-26 2014-06-25 Highgate Labs Ltd Generating a device identifier by receiving a token from a server, signing a request including the token with a private key and verifying the request

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060156026A1 (en) 2002-10-25 2006-07-13 Daniil Utin Password encryption key
US8108678B1 (en) 2003-02-10 2012-01-31 Voltage Security, Inc. Identity-based signcryption system
US20130124292A1 (en) * 2010-07-29 2013-05-16 Nirmal Juthani System and method for generating a strong multi factor personalized server key from a simple user password

Also Published As

Publication number Publication date
KR20150080061A (ko) 2015-07-09
CN104753917A (zh) 2015-07-01
US20150039883A1 (en) 2015-02-05
CN104753917B (zh) 2018-05-29
US9647833B2 (en) 2017-05-09

Similar Documents

Publication Publication Date Title
KR102124413B1 (ko) 아이디 기반 키 관리 시스템 및 방법
Malina et al. A secure publish/subscribe protocol for internet of things
US10243742B2 (en) Method and system for accessing a device by a user
JP5307191B2 (ja) 無線通信機器とサーバとの間でのデータの安全なトランザクションのためのシステムおよび方法
CN108599925B (zh) 一种基于量子通信网络的改进型aka身份认证系统和方法
US20170201382A1 (en) Secure Endpoint Devices
KR101021708B1 (ko) 그룹키 분배 방법 및 이를 위한 서버 및 클라이언트
AU2016218981A1 (en) Confidential communication management
WO2010078755A1 (zh) 电子邮件的传送方法、系统及wapi终端
CN103763356A (zh) 一种安全套接层连接的建立方法、装置及系统
JP2003298568A (ja) 鍵供託を使用しない、認証された個別暗号システム
WO2009082717A2 (en) A method for authenticating a communication channel between a client and a server
CN113630407B (zh) 使用对称密码技术增强mqtt协议传输安全的方法和系统
CN104901935A (zh) 一种基于cpk的双向认证及数据交互安全保护方法
Claeys et al. Securing complex IoT platforms with token based access control and authenticated key establishment
CN113612605A (zh) 使用对称密码技术增强mqtt协议身份认证方法、系统和设备
US20230188325A1 (en) Computer-implemented system and method for highly secure, high speed encryption and transmission of data
CN105897416B (zh) 一种基于标识密码系统的前向端到端安全即时通信方法
US11528127B2 (en) Computer-implemented system and method for highly secure, high speed encryption and transmission of data
KR101241864B1 (ko) 사용자 중심의 아이덴터티 관리 시스템 및 그 방법
GB2543359A (en) Methods and apparatus for secure communication
Mehta et al. Group authentication using paillier threshold cryptography
CN113918971A (zh) 基于区块链的消息传输方法、装置、设备及可读存储介质
Reimair et al. In Certificates We Trust--Revisited
KR101042834B1 (ko) 모바일 환경을 위한 자체인증 사인크립션 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right