KR101685810B1 - 인증 정보 기반 키 교환 시스템 및 방법 - Google Patents
인증 정보 기반 키 교환 시스템 및 방법 Download PDFInfo
- Publication number
- KR101685810B1 KR101685810B1 KR1020150062864A KR20150062864A KR101685810B1 KR 101685810 B1 KR101685810 B1 KR 101685810B1 KR 1020150062864 A KR1020150062864 A KR 1020150062864A KR 20150062864 A KR20150062864 A KR 20150062864A KR 101685810 B1 KR101685810 B1 KR 101685810B1
- Authority
- KR
- South Korea
- Prior art keywords
- server
- terminal
- session key
- authentication information
- encryption
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3226—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
- H04L9/3228—One-time or temporary data, i.e. information which is sent for every authentication or authorization, e.g. one-time-password, one-time-token or one-time-key
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
- H04L63/061—Network 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/065—Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0838—Key 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mobile Radio Communication Systems (AREA)
- Power Engineering (AREA)
- Storage Device Security (AREA)
Abstract
사용자 인증 정보 기반 키 교환 시스템 및 방법이 개시된다. 본 발명의 일 실시예에 따른 사용자 인증 정보 기반 키 교환 시스템은, 단말측 난수 및 서버 식별 정보를 이용하여 상기 단말 사용자의 인증 정보에 대응되는 암호문을 생성하는 단말; 및 상기 서버 식별 정보에 대응되는 서버측 개인키로 상기 단말로부터 수신된 상기 암호문을 복호화하여 상기 인증 정보를 복원하고, 복원된 상기 인증 정보를 이용하여 상기 단말을 인증하며, 인증된 상기 단말에 대응되는 서버측 세션키를 생성하는 서버를 포함한다.
Description
본 발명은 네트워크 상에서의 보안 기술과 관련된다.
인증 정보 기반의 키 교환 프로토콜(PAKE; Password Authenticated Key Exchange)이란 통신에 참여하는 둘 이상의 주체가, 이 중 하나 이상의 주체가 알고 있는 패스워드를 기반으로 암호화된 통신을 위한 키를 공유하는 과정을 의미한다. PAKE는 그 구현 방식에 따라 공개키 인증서 기반 PAKE 및 비 공개키 인증서 기반 PAKE로 나뉠 수 있다.
공개키 인증서 기반 PAKE 경우, 키 교환을 위하여 항상 공개키 인증을 수행하는 절차가 필요하다. 특히, 비 공개키 인증서 기반 PAKE(관련 표준: IEEE P1363.2 및 ISO/IEC 11770-4)의 경우 패스워드를 직접 지수승하여 저장하는 인증자(verifier) 구성방식으로 구성되는 바, 기존 시스템의 마이그레이션(migration) 및 파라미터(parameter) 갱신이 어려운 문제점이 발생하게 된다. 또한 이 방식의 경우 패스워드를 그룹 파라미터(group parameter)와 직접 결합해야 하므로 이에 대한 오프라인 분석에 대응하기 위해 상대적으로 많은 실시간 계산량이 필요하고 프로토콜의 메시지 흐름을 유연하게 교체하는 것이 불가능한 문제가 있었다.
본 발명의 실시예들은 인증 정보 기반 키 교환 프로토콜에 아이디 기반 암호 기술을 적용함으로써, 공개키 인증서 기반의 PAKE 및 비 공개키 인증서 기반의 PAKE의 장점을 모두 갖춘 효율적인 인증 및 키 교환 프로토콜을 제공하기 위한 것이다.
또한, 본 발명의 실시예들은 인증 및 키 교환을 위해 필요한 통신 횟수를 최소화하기 위한 것이다.
예시적인 실시예에 따르면, 단말측 난수 및 서버 식별 정보를 이용하여 사용자의 인증 정보에 대응되는 암호문을 생성하는 단말; 및 상기 서버 식별 정보에 대응되는 서버측 개인키로 상기 단말로부터 수신된 상기 암호문을 복호화하여 상기 인증 정보를 복원하고, 복원된 상기 인증 정보를 이용하여 상기 단말을 인증하며, 인증된 상기 단말에 대응되는 서버측 세션키를 생성하는 서버를 포함하는 사용자 인증 정보 기반 키 교환 시스템이 제공된다.
상기 단말은, 상기 단말측 난수로부터 제1 세션키 엘리먼트를 계산하고, 상기 서버 식별 정보 및 상기 단말측 난수로부터 단말측 암호화 엘리먼트를 생성하며, 상기 인증 정보와 상기 단말측 암호화 엘리먼트를 결합하여 암호화 문자열을 생성할 수 있다.
상기 단말측 암호화 엘리먼트는 다음의 수학식
D = (H(IDS))x
(이때, D는 단말측 암호화 엘리먼트, IDs는 서버 식별 정보, x는 단말측 난수, H는 일방향 해쉬값)
에 의하여 계산될 수 있다.
상기 암호화 문자열은 상기 인증 정보 및 상기 단말측 암호화 엘리먼트의 배타적 논리합(XOR)으로 계산될 수 있다.
상기 서버는, 상기 단말로부터 상기 제1 세션키 엘리먼트 및 상기 암호화 문자열을 포함하는 암호문을 수신하고, 상기 서버측 개인키 및 상기 제1 세션키 엘리먼트로부터 서버측 암호화 엘리먼트를 계산하며, 상기 서버측 암호화 엘리먼트를 이용하여 상기 암호화 문자열로부터 상기 인증 정보를 복원할 수 있다.
상기 서버측 암호화 엘리먼트는 다음의 수학식
D' = XKs
(이때, D'는 서버측 암호화 엘리먼트, X는 제1 세션키 엘리먼트, Ks는 서버측 개인키)
에 의하여 계산될 수 있다.
상기 인증 정보는, 수신된 상기 암호화 문자열 및 상기 서버측 암호화 엘리먼트 간의 배타적 논리합(XOR)을 통하여 복원될 수 있다.
상기 서버는, 복원된 상기 인증 정보 및 상기 서버에 기 저장된 상기 단말의 인증 정보의 동일성 여부에 따라 상기 단말을 인증할 수 있다.
상기 서버측 세션키는, 단말 식별 정보, 상기 서버 식별 정보, 상기 암호화 문자열, 상기 제1 세션키 엘리먼트 및 상기 서버측 암호화 엘리먼트 중 하나 이상을 포함하는 문자열의 해쉬값일 수 있다.
상기 단말은, 상기 단말 식별 정보, 상기 서버 식별 정보, 상기 암호화 문자열, 상기 제1 세션키 엘리먼트 및 상기 단말측 암호화 엘리먼트 중 하나 이상을 포함하는 문자열의 해쉬값으로 구성되는 단말측 세션키를 생성할 수 있다.
상기 서버는, 상기 단말이 인증된 경우 상기 단말로 랜덤 메시지를 송신하며, 상기 서버측 세션키 및 상기 단말측 세션키는 상기 랜덤 메시지를 추가적으로 포함하도록 생성될 수 있다.
상기 서버는, 상기 단말이 인증된 경우, 서버측 난수로부터 제2 세션키 엘리먼트를 계산하고, 상기 서버측 난수및 상기 제1 세션키 엘리먼트로부터 서버측 제3 세션키 엘리먼트를 생성할 수 있다.
상기 서버측 제3 세션키 엘리먼트는 상기 제1 세션키 엘리먼트를 밑으로, 상기 서버측 난수를 지수로 하는 거듭제곱을 통해 계산될 수 있다.
상기 단말은 상기 서버로부터 상기 제2 세션키 엘리먼트를 수신하고, 이로부터 단말측 제3 세션키 엘리먼트 및 단말측 세션키를 생성할 수 있다.
상기 단말측 제3 세션키 엘리먼트는 상기 제2 세션키 엘리먼트를 밑으로, 상기 단말측 난수를 지수로 하는 거듭제곱을 통해 계산될 수 있다.
상기 단말측 세션키(sk)는, 상기 단말 식별 정보, 상기 서버 식별 정보, 상기 암호화 문자열, 상기 제1 세션키 엘리먼트, 상기 제2 세션키 엘리먼트, 상기 단말측 암호화 엘리먼트 및 상기 단말측 제3 세션키 엘리먼트 중 하나 이상을 포함하는 문자열의 해쉬값일 수 있다.
상기 서버측 세션키는, 상기 단말 식별 정보, 상기 서버 식별 정보, 상기 암호화 문자열, 상기 제1 세션키 엘리먼트, 상기 제2 세션키 엘리먼트, 상기 서버측 암호화 엘리먼트 및 상기 서버측 제3 세션키 엘리먼트 중 하나 이상을 포함하는 문자열의 해쉬값일 수 있다.
다른 예시적인 실시예에 따르면, 단말에서, 단말측 난수 및 서버 식별 정보를 이용하여 사용자의 인증 정보에 대응되는 암호문을 생성하는 단계; 서버에서, 상기 서버 식별 정보에 대응되는 서버측 개인키로 상기 단말로부터 수신된 상기 암호문을 복호화하여 상기 인증 정보를 복원하는 단계; 상기 서버에서, 복원된 상기 인증 정보를 이용하여 상기 단말을 인증하는 단계; 및 상기 단말이 인증되는 경우, 인증된 상기 단말에 대응되는 서버측 세션키를 생성하는 단계를 포함하는 사용자 인증 정보 기반 키 교환 방법이 제공된다.
상기 암호문을 생성하는 단계는, 상기 단말측 난수로부터 제1 세션키 엘리먼트를 계산하는 단계; 상기 서버 식별 정보 및 상기 단말측 난수로부터 단말측 암호화 엘리먼트를 생성하는 단계; 및 상기 인증 정보와 상기 단말측 암호화 엘리먼트를 결합하여 암호화 문자열을 생성하는 단계를 더 포함할 수 있다.
상기 단말측 암호화 엘리먼트는 다음의 수학식
D = (H(IDS))X
(이때, D는 단말측 암호화 엘리먼트, IDs는 서버 식별 정보, x는 단말측 난수, H는 일방향 해쉬값)
에 의하여 계산될 수 있다.
상기 암호화 문자열은, 상기 인증 정보 및 상기 단말측 암호화 엘리먼트의 배타적 논리합(XOR)으로 계산될 수 있다.
상기 인증 정보를 복원하는 단계는, 상기 단말로부터 상기 제1 세션키 엘리먼트 및 상기 암호화 문자열을 포함하는 암호문을 수신하는 단계; 상기 서버측 개인키 및 상기 제1 세션키 엘리먼트로부터 서버측 암호화 엘리먼트를 계산하는 단계; 및 상기 서버측 암호화 엘리먼트를 이용하여 상기 암호화 문자열로부터 상기 인증 정보를 복원하는 단계를 더 포함할 수 있다.
상기 서버측 암호화 엘리먼트는 다음의 수학식
D' = XKs
(이때, D'는 서버측 암호화 엘리먼트, X는 제1 세션키 엘리먼트, Ks는 서버측 개인키)
에 의하여 계산될 수 있다.
상기 암호화 문자열로부터 상기 인증 정보를 복원하는 단계는, 수신된 상기 암호화 문자열 및 상기 서버측 암호화 엘리먼트 간의 배타적 논리합(XOR)을 통하여 상기 인증 정보를 복원하도록 구성될 수 있다.
상기 인증하는 단계는, 복원된 상기 인증 정보 및 상기 서버에 기 저장된 상기 단말의 인증 정보의 동일성 여부에 따라 상기 단말을 인증할 수 있다.
상기 서버측 세션키는, 단말 식별 정보, 상기 서버 식별 정보, 상기 암호화 문자열, 상기 제1 세션키 엘리먼트 및 상기 서버측 암호화 엘리먼트 중 하나 이상을 포함하는 문자열의 해쉬값일 수 있다.
상기 단말은, 상기 단말 식별 정보, 상기 서버 식별 정보, 상기 암호화 문자열, 상기 제1 세션키 엘리먼트 및 상기 단말측 암호화 엘리먼트 중 하나 이상을 포함하는 문자열의 해쉬값으로 구성되는 단말측 세션키를 생성할 수 있다.
청구항 26에 있어서, 상기 서버는, 상기 단말이 인증된 경우 상기 단말로 랜덤 메시지를 송신하며, 상기 서버측 세션키 및 상기 단말측 세션키는 상기 랜덤 메시지를 추가적으로 포함하도록 생성될 수 있다.
상기 서버측 세션키를 생성하는 단계는, 서버측 난수로부터 제2 세션키 엘리먼트를 계산하는 단계; 및 상기 서버측 난수 및 상기 제1 세션키 엘리먼트로부터 서버측 제3 세션키 엘리먼트를 생성하는 단계를 더 포함할 수 있다.
상기 서버측 제3 세션키 엘리먼트는 상기 제1 세션키 엘리먼트를 밑으로, 상기 서버측 난수를 지수로 하는 거듭제곱을 통해 계산될 수 있다.
상기 단말은, 상기 서버로부터 상기 제2 세션키 엘리먼트를 수신하고, 이로부터 단말측 제3 세션키 엘리먼트 및 단말측 세션키를 생성할 수 있다.
상기 단말측 제3 세션키 엘리먼트는 상기 제2 세션키 엘리먼트를 밑으로, 상기 단말측 난수를 지수로 하는 거듭제곱을 통해 계산될 수 있다.
상기 단말측 세션키(sk)는, 상기 단말 식별 정보, 상기 서버 식별 정보, 상기 암호화 문자열, 상기 제1 세션키 엘리먼트, 상기 제2 세션키 엘리먼트, 상기 단말측 암호화 엘리먼트 및 상기 단말측 제3 세션키 엘리먼트 중 하나 이상을 포함하는 문자열의 해쉬값일 수 있다.
상기 서버측 세션키(sk')는, 상기 단말 식별 정보, 상기 서버 식별 정보, 상기 암호화 문자열, 상기 제1 세션키 엘리먼트, 상기 제2 세션키 엘리먼트, 상기 서버측 암호화 엘리먼트 및 상기 서버측 제3 세션키 엘리먼트 중 하나 이상을 포함하는 문자열의 해쉬값일 수 있다.
다른 예시적인 실시예에 따르면, 하드웨어와 결합되어, 단말측 난수 및 서버 식별 정보를 이용하여 상기 단말 사용자의 인증 정보에 대응되는 암호문을 생성하는 단계; 상기 서버 식별 정보에 대응되는 서버측 개인키로 상기 단말로부터 수신된 상기 암호문을 복호화하여 상기 인증 정보를 복원하는 단계; 복원된 상기 인증 정보를 이용하여 상기 단말을 인증하는 단계; 및 상기 단말이 인증되는 경우, 인증된 상기 단말에 대응되는 서버측 세션키를 생성하는 단계를 포함하는 단계들을 실행시키기 위하여 매체에 저장된 컴퓨터 프로그램이 제공된다.
본 발명의 실시예들에 따를 경우, 사용자의 인증정보를 이용하여 효율적이고 안전하게 단말을 인증할 수 있으며, 특히 초기에 서버에서 단말에 대한 인증을 수행함으로써 디도스(DDoS) 공격 등에 보다 효과적으로 대처할 수 있다.
또한, 본 발명의 실시예들에 따르면, 단말의 인증 및 세션키 생성에 필요한 통신 회수를 최소 1 패스(pass) 또는 2 패스로 구성할 수 있는 바, 인증 과정에서의 트래픽 부담을 최소화할 수 있다.
도 1은 본 발명의 제1 실시예에 따른 인증 정보 기반 기반 인증 시스템을 설명하기 위한 블록도
도 2는 본 발명의 제1 실시예에 따른 인증 정보 기반 인증 알고리즘의 전체 단계를 설명하기 위한 흐름도
도 3은 본 발명의 제1 실시예에 따른 인증 정보 기반 인증 알고리즘의 인증 및 키 교환 과정을 상세히 설명하기 위한 흐름도
도 4는 본 발명의 제2 실시예에 따른 인증 정보 기반 기반 인증 시스템을 설명하기 위한 블록도
도 5는 본 발명의 제2 실시예에 따른 인증 정보 기반 인증 알고리즘의 전체 단계를 설명하기 위한 흐름도
도 6은 본 발명의 제2 실시예에 따른 인증 정보 기반 인증 알고리즘의 인증 및 키 교환 과정을 상세히 설명하기 위한 흐름도
도 7은 본 발명의 제3 실시예에 따른 인증 정보 기반 인증 알고리즘의 인증 및 키 교환 과정을 상세히 설명하기 위한 흐름도
도 2는 본 발명의 제1 실시예에 따른 인증 정보 기반 인증 알고리즘의 전체 단계를 설명하기 위한 흐름도
도 3은 본 발명의 제1 실시예에 따른 인증 정보 기반 인증 알고리즘의 인증 및 키 교환 과정을 상세히 설명하기 위한 흐름도
도 4는 본 발명의 제2 실시예에 따른 인증 정보 기반 기반 인증 시스템을 설명하기 위한 블록도
도 5는 본 발명의 제2 실시예에 따른 인증 정보 기반 인증 알고리즘의 전체 단계를 설명하기 위한 흐름도
도 6은 본 발명의 제2 실시예에 따른 인증 정보 기반 인증 알고리즘의 인증 및 키 교환 과정을 상세히 설명하기 위한 흐름도
도 7은 본 발명의 제3 실시예에 따른 인증 정보 기반 인증 알고리즘의 인증 및 키 교환 과정을 상세히 설명하기 위한 흐름도
이하, 도면을 참조하여 본 발명의 구체적인 실시형태를 설명하기로 한다. 그러나 이는 예시에 불과하며 본 발명은 이에 제한되지 않는다.
본 발명을 설명함에 있어서, 본 발명과 관련된 공지기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
본 발명의 기술적 사상은 청구범위에 의해 결정되며, 이하의 실시예는 본 발명의 기술적 사상을 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 효율적으로 설명하기 위한 일 수단일 뿐이다.
도 1은 본 발명의 제1 실시예에 따른 인증 정보 기반 인증 시스템(100)을 설명하기 위한 블록도이다. 도시된 바와 같이, 본 발명의 일 실시예에 따른 인증 정보 기반 인증 시스템(100)은 단말(102), 서버(104) 및 키 발급 장치(106)를 포함한다.
단말(102)은 단말측 난수(x)를 선택하고, 상기 단말측 난수(x) 및 서버측 식별 정보(IDs)를 이용하여 단말(102) 사용자의 인증 정보에 대응되는 암호문(X, W)을 생성한다. 본 발명의 실시예에서 서버(104)의 식별 정보(IDs)는 네트워크상에서 서버(104)를 식별하기 위하여 부여된 정보로서, 예를 들어 서버(104)의 맥어드레스, 아이피 주소 또는 서버(104)의 인증서 등이 될 수 있다. 또한 단말(102) 사용자의 인증 정보는 사용자의 비밀번호, 지문 정보 등 상기 사용자를 인증하는 데 필요한 모든 종류의 정보가 포함될 수 있다.
암호문(X, W)이 생성되면, 단말(102)은 암호문(X, W)을 서버(104)로 송신하여 인증을 요청한다.
서버(104)는 단말(102) 사용자의 인증 정보를 저장 및 관리한다. 이때 상기 인증 정보는 상기 사용자의 비밀번호, 지문 정보 등 상기 사용자를 인증하는 데 필요한 정보를 모두 포함할 수 있다. 일 실시예에서, 상기 단말(102) 사용자는 사용자 식별 정보(IDc) 및 패스워드(pw)를 설정하고 이를 서버(104)에 등록할 수 있다. 일 실시예에서, 사용자 식별 정보(IDc)는 단말(102) 사용자의 아이디 또는 인증서 등이 될 수 있다.
단말(102)의 사용자는 상기 패스워드(pw)를 그대로 등록할 수도 있으나, 보안성 향상을 위하여 패스워드(pw) 대신 상기 패스워드의 일방향 해쉬값(H(pw)) 또는 별도의 하드웨어 보안 모듈(HSM)을 이용하여 계산된 MAC(message authentication code)값(MACk(pw))을 등록할 수도 있다. 이하의 설명에서는 편의를 위하여 상기 인증 정보를 패스워드의 일방향 해쉬값(H(pw))으로 가정하기로 한다.
서버(104)는 서버 식별 정보(IDs)에 대응되는 서버측 개인키(Ks)로 상기 단말로부터 수신된 상기 암호문(X, W)을 복호화하여 상기 사용자의 인증 정보를 복원하고, 복원된 상기 인증 정보를 서버(104)에 기 등록된 인증 정보와 비교하여 단말(102)을 인증한다. 즉, 서버(104)는 단말(102)로부터 수신된 암호문(X, W)에 포함된 단말(102)의 인증 정보를 통해 단말을 직접 인증할 수 있다. 또한 상기 암호문(X, W)의 복호화는 서버(104)에서만 가능하므로 상기 인증 과정에서 단말(102) 또한 간접적으로 서버(104)를 인증(implicit authentication)하게 된다.
단말(102)의 인증에 성공한 경우, 서버(104)는 인증된 단말(102)과의 통신을 위한 세션키(sk)를 생성한다. 또한, 이 과정에서 서버(104)는 서버측 난수(y)를 선택하고 이로부터 생성된 제2 세션키 엘리먼트(Y)를 단말(102)로 송신하며, 이를 수신한 단말(102)은 상기 제2 세션키 엘리먼트(Y) 및 인증 과정에서 사용된 정보들을 이용하여 서버(104)와 동일한 세션키(sk)를 생성하게 된다.
키 발급 장치(106, Private Key Generator)는 서버(104)로부터 서버측 식별 정보(IDs)를 수신하고, 수신된 서버 식별 정보(IDs)에 대응되는 서버측 개인키(Ks)를 발급한다. 저장된 상기 서버측 개인키(Ks)는 이후 인증 과정에서 단말(102)로부터 수신된 암호문(X, W)을 복호화하는 데 이용된다.
일 실시예에서, 키 발급 장치(106)는 기 설정된 시스템 파라미터와 자신의 마스터키, 그리고 트랩도어 이산 로그(Trapdoor discrete logarithm) 군에 해당하는 사전계산 데이터를 기반으로 상기 서버 식별 정보(IDs)에 대응되는 서버측 개인키(Ks)를 계산할 수 있다. 구체적인 서버측 개인키(Ks) 생성 방법에 대해서는 후술한다.
이하에서는 상술한 구성을 가지는 인증 정보 기반 인증 시스템(100)에서의 구체적인 인증 방법을 설명한다. 도 2에 도시된 바와 같이, 본 발명의 제1 실시예에 다른 인증 정보 기반 인증 방법(200)은 셋업(Setup, 202), 서버측 개인키 발급(Key extract, 204), 및 키 교환(Key Exchange, 206) 의 3단계로 구분된다. 이 중, 셋업 단계(202)에서는 시스템 전체의 구성 요소를 정의하고, 개인키 발급 단계(204)에서는 서버(104)의 요청에 따라 키 발급 장치(106)에서 마스터 키를 기반으로 서버 식별 정보(IDs)에 대응되는 서버측 개인키(Ks)를 생성한다. 키 교환 단계(206)에서는 단말(102) 및 서버(104) 간의 인증을 수행하고 이로부터 세션키(sk)를 생성하게 된다.
셋업
(202)
셋업 단계는 단말(102)과 서버(104) 간의 인증 및 키 교환을 위한 파라미터 및 마스터키를 정의하는 단계이다.
먼저, 각각 p≡3 (mod 4), q≡3 (mod 4)를 만족하고 B 스무스(B smooth)인 비슷한 크기의 큰 두 소수 p, q로부터 N = pq 를 계산한다. 이 때, p와 q는 주어진 안전성 파라미터에 해당하는 보안 강도 (security level)를 만족하고 암호학적으로 안전한 소수이다. 안정성 파라미터란 암호화 알고리즘에 대한 기본공격의 시간과 비용을 결정짓는 알고리즘의 요소를 의미한다. 이때 기본 공격이란 주어진 데이터(평문과 암호문)를 만족시키는 키를 발견할 때까지 모든 가능한 키 후보를 검색하는 전수조사(Exhaustive Search) 방식의 공격을 의미한다. 전수 조사에 걸리는 시간은 가능한 키의 개수에 의존하고 키의 개수는 키의 길이에 의해 결정되므로, 이 경우 안전성 파라미터는 키의 길이를 의미한다. 또한, B 값은 상기 보안 강도에 따라 적절하게 설정될 수 있다.
다음으로, 해시 함수 H 및 랜덤 해시 함수 h를 정의한다. 유한한 군 ZN = {0, 1, 2, ..., N-1}의 최대 순환 부분군(maximal cyclic subgroup) 의 생성원(generator)을 라 하자. 이제 생성원 으로 생성되는 순환 부분군을 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
또한, 해시 함수 h는 다음의 수학식 3과 같이 정의된다.
[수학식 3]
h: {0,1}* -> {0,1}n
(이때, {0,1}n 은 0 또는 1 중 임의의 비트로 구성된 n비트의 문자열을 의미
상기 랜덤 해시 함수로는 예를 들어, SHA1, SHA-256, SHA-512 등이 사용될 수 있으나 본 발명이 특정한 함수에 한정되는 것은 아니다.
이와 같은 과정을 거쳐 도출되는 시스템 파라미터(param) 및 마스터키(mk)는 다음과 같다.
param = {N, G, g, H, h}
mk = (p, q)
서버측
개인키 발급(204)
본 단계는 키 발급 장치(106)에서 서버(104)로부터 수신된 서버 식별 정보(IDs)를 기반으로 서버측 개인키(Ks)를 발급하는 단계이다. 키 발급 장치(106)는 상기 시스템 파라미터(param) 및 마스터키(mk), 그리고 트랩도어 이산 로그(TDL) 군에 해당하는 사전계산 데이터를 기반으로 주어진 아이디에 대응되는 개인키를 계산한다. 이산 로그 계산이 암호학적으로 불가능하지만 트랩도어를 알고 있을 경우 이산 로그 값을 쉽게 계산할 수 있는 군이 존재하며, 이를 트랩도어 이산 로그 군이라 한다. 본 발명에서는 이와 같은 트랩도어 이산 로그군의 특성을 이용하여 각 아이디에 대응되는 개인키를 계산한다. 즉, 상기 개인키 생성자는 상기 마스터키와 상기 트랩도어 이산 로그군에 해당하는 각 값들에 대한 사전 계산 데이터를, 예를 들어 테이블 등의 형태로 저장해 두었다가 수신되는 아이디와 상기 테이블에 저장된 사전 계산 데이터를 이용하여 수신된 아이디에 대응되는 개인키를 계산한다. 예를 들어, 키 발급 장치(106)는 다음의 수학식 4와 같이 서버측 개인키(Ks)를 계산할 수 있다.
[수학식 4]
Ks = logg(H(IDs))
이와 같이 계산된 상기 개인키(Ks)는 안전한 채널을 통하여 서버(104)로 전달된다.
인증 및 키 교환(206)
본 단계는 단말(102)과 서버(104) 간의 인증을 수행하고 세션키(sk)를 생성하는 단계이다.
도 3은 본 발명의 제1 실시예에 따른 인증 및 키 교환 과정(206)을 설명하기 위한 흐름도이다.
단계 302에서, 단말(102)은 상기 202 단계에서 정의된 시스템 파라미터에 따라 ZN에서 임의의 단말측 난수(random number) x를 선택한다.
단계 304에서 단말(102)은 상기 단말측 난수 x로부터 제1 세션키 엘리먼트(X)를 계산한다(302). 이때 상기 제1 세션키 엘리먼트(X)는 다음의 수학식 5와 같이 계산될 수 있다.
[수학식 5]
X = gx
(이때, g는 상기 순환 부분군 G의 생성원, N은 N=pq를 만족하는 정수, p 및 q는 각각 p≡3 (mod 4), q≡3 (mod 4)를 만족하는 소수)
단계 306에서, 단말(102)은 서버 식별 정보(IDs)를 이용하여 암호문(X, W)을 생성한다. 이때 상기 암호문(X, W)은 단말(102) 사용자의 인증정보를 암호화한 값을 의미한다. 또한, 상기 암호문(X, W)에는 상기 인증정보 이외에도 세션키 생성을 위해 필요한 값(예를 들어, gx 등)이 추가적으로 포함될 수 있다. 구체적인 암호문(X, W) 생성 과정을 설명하면 다음과 같다.
먼저 단말(102)은 상기 서버 식별 정보(IDs) 및 단말측 난수(x)를 이용하여 다음의 수학식 6과 같이 단말측 암호화 엘리먼트(D)를 생성한다.
[수학식 6]
D = (H(IDS))x
(이때, D는 단말측 암호화 엘리먼트, IDs는 서버 식별 정보, x는 단말측 난수, H는 일방향 해쉬값)
이후, 단말(102)은 인증 정보와 단말측 암호화 엘리먼트(D)를 결합하여 암호화 문자열(W)을 생성한다. 상기 인증 정보를 사용자 패스워드의 일방향 해쉬값(H(pw))이라 가정할 때, 암호화 문자열(W)은 다음의 수학식 7과 같이 인증 정보 및 단말측 암호화 엘리먼트(D)의 배타적 논리합(XOR)으로 계산될 수 있다.
[수학식 7]
W = D XOR H(pw)
단계 308에서, 단말(102)은 단말 사용자 식별 정보(IDc)와 함께, 제1 세션키 엘리먼트(X) 및 암호화 문자열(W)을 포함하는 암호문(X, W)을 서버(104)로 송신한다.
단계 310에서, 서버(104)는 서버측 개인키(Ks)를 이용하여 수신된 암호문(X, W)을 복호화한다. 구체적으로, 서버(104)는 서버측 개인키(Ks) 및 제1 세션키 엘리먼트(X)를 이용하여 수학식 8과 같이 서버측 암호화 엘리먼트(D')를 계산한다.
[수학식 8]
D' = XKs
(이때, D'는 서버측 암호화 엘리먼트, X는 제1 세션키 엘리먼트, Ks는 서버측 개인키)
이 경우, 만약 상기 서버측 개인키(Ks)가 서버 식별 정보(IDs)로부터 정상적으로 생성된 것이라면 서버측 암호화 엘리먼트(D')는 단말측 암호화 엘리먼트(D)와 동일한 값이 된다.
다음으로, 서버(104)는 서버측 암호화 엘리먼트(D')를 이용하여 암호화 문자열(W)로부터 인증 정보를 복원한다. 이를 수식으로 표현하면 수학식 9와 같다.
[수학식 9]
H'(pw) = W XOR D'
즉, 상기 인증 정보는, 수신된 암호화 문자열(W) 및 상기 서버측 암호화 엘리먼트(D') 간의 배타적 논리합(XOR)을 통하여 복원될 수 있다.
단계 312에서, 서버(104)는 복원된 상기 인증 정보(H'(pw)) 및 상기 서버에 기 저장된 단말(102)의 인증 정보(H(pw))의 동일성 여부에 따라 단말(102)을 인증한다. 만약 H'(pw)가 H(pw)와 동일하다면 서버(104)는 단말(102)이 인증된 것으로, 동일하지 않다면 인증되지 않은 것으로 판단한다.
또한, 전술한 바와 같이 서버(104) 측에서 서버 식별 정보(IDs)에 대응되는 정확한 서버측 개인키(Ks)를 가지고 있지 않은 경우 상기 310 단계는 제대로 수행될 수 없다. 따라서 상기 인증의 결과값에 따라 단말(102) 또한 서버(104)를 간접적으로 인증할 수 있다.
단계 314에서, 서버(104)는 상기 202 단계에서 정의된 시스템 파라미터에 따라 ZN에서 임의의 서버측 난수(random number) y를 선택한다.
단계 316에서, 서버(104)는 상기 서버측 난수(y)로부터 제2 세션키 엘리먼트(Y)를 계산한다. 상기 제2 세션키 엘리먼트(Y)는 다음의 수학식 10과 같이 계산될 수 있다.
[수학식 10]
Y = gy
(이때, g는 상기 순환 부분군 G의 생성원, N은 N=pq를 만족하는 정수, p 및 q는 각각 p≡3 (mod 4), q≡3 (mod 4)를 만족하는 소수)
단계 318에서, 서버(104)는 생성된 상기 제2 세션키 엘리먼트(Y)를 단말(102)로 송신한다.
단계 320에서, 서버(104)는 이전 단계에서 생성 또는 교환된 정보를 이용하여 서버측 세션키(sk')를 생성한다.
구체적으로, 서버(104)는 서버측 난수(y) 및 제1 세션키 엘리먼트(X)로부터 수학식 11과 같이 서버측 제3 세션키 엘리먼트(Z')를 생성한다.
[수학식 11]
Z' = Xy
다음으로, 서버(104)는 단말측 식별 정보(IDc), 서버 식별 정보(IDs), 암호화 문자열(W), 제1 세션키 엘리먼트(X), 제2 세션키 엘리먼트(Y), 서버측 암호화 엘리먼트(D') 및 서버측 제3 세션키 엘리먼트(Z') 중 하나 이상을 포함하는 문자열을 해싱함으로써 서버측 세션키(sk')를 생성한다. 예를 들어, 서버측 세션키(sk')는 다음의 수학식 12에 의해 생성될 수 있다.
[수학식 12]
sk' = H(IDc, IDs, W, X, Y, D', Z')
한편, 단계 322에서 단말(102) 또한 이전 단계에서 생성 또는 교환된 정보를 이용하여 단말측 세션키(sk)를 생성한다.
구체적으로, 단말(102)은 단말측 난수(x) 및 제2 세션키 엘리먼트(Y)로부터 수학식 13과 같이 단말측 제3 세션키 엘리먼트(Z)를 생성한다.
[수학식 13]
Z = Yx
이때 상기 단말측 비밀키(Z)는 서버측 제3 세션키 엘리먼트(Z')와 동일하다.
다음으로, 단말(102)은 사용자 식별 정보(IDc), 서버 식별 정보(IDs), 암호화 문자열(W), 제1 세션키 엘리먼트(X), 제2 세션키 엘리먼트(Y), 단말측 암호화 엘리먼트(D) 및 단말측 제3 세션키 엘리먼트(Z) 중 하나 이상을 포함하는 문자열을 해싱함으로써 단말측 세션키(sk)를 생성한다. 예를 들어, 단말측 세션키(sk)는 다음의 수학식 14에 의해 생성될 수 있다.
[수학식 14]
sk = H(IDc, IDs, W, X, Y, D, Z)
전술한 바와 같이, 단말측 암호화 엘리먼트(D) 및 단말측 제3 세션키 엘리먼트(Z)는 각각 서버측 암호화 엘리먼트(D') 및 서버측 제3 세션키 엘리먼트(Z')와 동일하므로, 단말측 세션키(sk) 또한 서버측 세션키(sk')와 동일하다. 즉, 위와 같은 과정을 통해 단말(102)과 서버(104)는 직접적으로 키를 송수신하지 않고도 양자 간의 안전한 통신을 위한 세션키를 공유할 수 있게 된다.
도 4는 본 발명의 제2 실시예에 따른 인증 정보 기반 인증 시스템(400)을 설명하기 위한 블록도이다. 도시된 바와 같이, 본 발명의 일 실시예에 따른 인증 정보 기반 인증 시스템(400)은 단말(402), 서버(404) 및 키 발급 장치(406)를 포함한다.
단말(402)은 단말측 난수(x)를 선택하고, 단말측 난수(x) 및 서버 식별 정보(IDs)를 이용하여 단말(402) 사용자의 인증 정보에 대응되는 암호문(X, W)을 생성한다. 본 발명의 실시예에서 서버(404)의 식별 정보(IDs)는 예를 들어 서버(404)의 맥어드레스, 아이피 주소 또는 서버(404)의 인증서 등이 될 수 있다. 또한 단말(402) 사용자의 인증 정보는 사용자의 비밀번호, 지문 정보 등 상기 사용자를 인증하는 데 필요한 모든 종류의 정보가 포함될 수 있다.
암호문(X, W)이 생성되면, 단말(402)은 암호문(X, W)을 서버(404)로 송신하여 인증을 요청한다.
서버(404)는 단말(402) 사용자의 인증 정보를 저장 및 관리한다. 이때 상기 인증 정보는 상기 사용자의 비밀번호, 지문 정보 등 상기 사용자를 인증하는 데 필요한 정보를 모두 포함할 수 있다. 일 실시예에서, 상기 단말(402) 사용자는 사용자 식별 정보(IDc) 및 패스워드(pw)를 설정하고 이를 서버(404)에 등록할 수 있다. 일 실시예에서, 사용자 식별 정보(IDc)는 단말(402) 사용자의 아이디 또는 인증서 등이 될 수 있다.
단말(402)의 사용자는 상기 패스워드(pw)를 그대로 등록할 수도 있으나, 보안성 향상을 위하여 패스워드(pw) 대신 상기 패스워드의 일방향 해쉬값(H(pw)) 또는 별도의 하드웨어 보안 모듈(HSM)을 이용하여 계산된 MAC(message authentication code)값(MACk(pw))을 등록할 수도 있다. 이하의 설명에서는 편의를 위하여 상기 인증 정보를 패스워드의 일방향 해쉬값(H(pw))으로 가정하기로 한다.
서버(404)는 서버 식별 정보(IDs)에 대응되는 서버측 개인키(Ks)로 상기 단말로부터 수신된 상기 암호문(X, W)을 복호화하여 상기 사용자의 인증 정보를 복원하고, 복원된 상기 인증 정보를 서버(404)에 기 등록된 인증 정보와 비교하여 단말(402)을 인증한다. 즉, 서버(404)는 단말(402)로부터 수신된 암호문(X, W)에 포함된 단말(402)의 인증 정보를 통해 단말을 직접 인증할 수 있다. 또한 상기 암호문(X, W)의 복호화는 서버(404)에서만 가능하므로 상기 인증 과정에서 단말(402) 또한 간접적으로 서버(404)를 인증(implicit authentication)하게 된다.
단말(402)의 인증에 성공한 경우, 서버(404)는 인증된 단말(402)과의 통신을 위한 세션키(sk)를 생성한다.
키 발급 장치(106, Private Key Generator)는 서버(404)로부터 서버 식별 정보(IDs)를 수신하고, 수신된 서버 식별 정보(IDs)에 대응되는 서버측 개인키(Ks)를 발급한다. 저장된 상기 서버측 개인키(Ks)는 이후 인증 과정에서 단말(402)로부터 수신된 암호문(X, W)을 복호화하는 데 이용된다.
일 실시예에서, 키 발급 장치(406)는 기 설정된 시스템 파라미터와 자신의 마스터키, 그리고 트랩도어 이산 로그(Trapdoor discrete logarithm) 군에 해당하는 사전계산 데이터를 기반으로 상기 서버 식별 정보(IDs)에 대응되는 서버측 개인키(Ks)를 계산할 수 있다. 구체적인 서버측 개인키(Ks) 생성 방법에 대해서는 후술한다.
이하에서는 상술한 구성을 가지는 인증 정보 기반 인증 시스템(400)에서의 구체적인 인증 방법을 설명한다. 도 5에 도시된 바와 같이, 본 발명의 제2 실시예에 다른 인증 정보 기반 인증 방법(500)은 셋업(Setup, 502), 서버측 개인키 발급(Key extract, 504), 및 키 교환(Key Exchange, 506) 의 3단계로 구분된다. 이 중, 셋업 단계(502)에서는 시스템 전체의 구성 요소를 정의하고, 개인키 발급 단계(504)에서는 서버(404)의 요청에 따라 키 발급 장치(406)에서 마스터 키를 기반으로 서버 식별 정보(IDs)에 대응되는 서버측 개인키(Ks)를 생성한다. 키 교환 단계(506)에서는 단말(402) 및 서버(404) 간의 인증을 수행하고 이로부터 세션키(sk)를 생성하게 된다.
상술한 과정 중, 셋업 단계(502) 및 개인키 발급(504) 단계는 전술한 제1 실시예에서의 셋업 단계(202) 및 개인키 발급 단계(204)와 실질적으로 동일하므로 여기서는 그 설명을 생략하기로 한다.
인증 및 키 교환(506) 단계는, 단말(402)과 서버(404) 간의 인증을 수행하고 세션키(sk)를 생성하는 단계이다. 도 6은 본 발명의 제2 실시예에 따른 인증 및 키 교환 과정(506)을 설명하기 위한 흐름도이다.
단계 602에서, 단말(402)은 셋업 단계(502)에서 정의된 시스템 파라미터에 따라 ZN에서 임의의 단말측 난수(random number) x를 선택한다.
단계 604에서 단말(402)은 상기 단말측 난수 x로부터 세션키 엘리먼트(X)를 계산한다. 이때 상기 세션키 엘리먼트(X)는 다음의 수학식 15와 같이 계산될 수 있다.
[수학식 15]
X = gx
(이때, g는 상기 순환 부분군 G의 생성원, N은 N=pq를 만족하는 정수, p 및 q는 각각 p≡3 (mod 4), q≡3 (mod 4)를 만족하는 소수)
단계 606에서, 단말(402)은 서버 식별 정보(IDs)를 이용하여 암호문(X, W)을 생성한다. 이때 상기 암호문(X, W)은 단말(402) 사용자의 인증정보를 암호화한 값을 의미한다. 또한, 상기 암호문(X, W)에는 상기 인증정보 이외에도 세션키 생성을 위해 필요한 값(예를 들어, gx 등)이 추가적으로 포함될 수 있다. 구체적인 암호문(X, W) 생성 과정을 설명하면 다음과 같다.
먼저 단말(402)은 상기 서버 식별 정보(IDs) 및 단말측 난수(x)를 이용하여 다음의 수학식 16과 같이 단말측 암호화 엘리먼트(D)를 생성한다.
[수학식 16]
D = (H(IDS))x
(이때, D는 단말측 암호화 엘리먼트, IDs는 서버 식별 정보, x는 단말측 난수, H는 일방향 해쉬값)
이후, 단말(402)은 인증 정보와 단말측 암호화 엘리먼트(D)를 결합하여 암호화 문자열(W)을 생성한다. 상기 인증 정보를 사용자 패스워드의 일방향 해쉬값(H(pw))이라 가정할 때, 암호화 문자열(W)은 다음의 수학식 17과 같이 인증 정보 및 단말측 암호화 엘리먼트(D)의 배타적 논리합(XOR)으로 계산될 수 있다.
[수학식 17]
W = D XOR H(pw)
단계 608에서, 단말(402)은 단말 사용자 식별 정보(IDc)와 함께, 세션키 엘리먼트(X) 및 암호화 문자열(W)을 포함하는 암호문(X, W)을 서버(404)로 송신한다.
단계 610에서, 서버(404)는 서버측 개인키(Ks)를 이용하여 수신된 암호문(X, W)을 복호화한다. 구체적으로, 서버(404)는 서버측 개인키(Ks) 및 세션키 엘리먼트(X)를 이용하여 수학식 18과 같이 서버측 암호화 엘리먼트(D')를 계산한다.
[수학식 18]
D' = XKs
(이때, D'는 서버측 암호화 엘리먼트, X는 세션키 엘리먼트, Ks는 서버측 개인키)
이 경우, 만약 상기 서버측 개인키(Ks)가 서버 식별 정보(IDs)로부터 정상적으로 생성된 것이라면 서버측 암호화 엘리먼트(D')는 단말측 암호화 엘리먼트(D)와 동일한 값이 된다.
다음으로, 서버(404)는 서버측 암호화 엘리먼트(D')를 이용하여 암호화 문자열(W)로부터 인증 정보를 복원한다. 이를 수식으로 표현하면 수학식 19와 같다.
[수학식 19]
H'(pw) = W XOR D'
즉, 상기 인증 정보는, 수신된 암호화 문자열(W) 및 상기 서버측 암호화 엘리먼트(D') 간의 배타적 논리합(XOR)을 통하여 복원될 수 있다.
단계 612에서, 서버(404)는 복원된 상기 인증 정보(H'(pw)) 및 상기 서버에 기 저장된 단말(402)의 인증 정보(H(pw))의 동일성 여부에 따라 단말(402)을 인증한다. 만약 H'(pw)가 H(pw)와 동일하다면 서버(404)는 단말(402)이 인증된 것으로, 동일하지 않다면 인증되지 않은 것으로 판단한다.
또한, 전술한 바와 같이 서버(404) 측에서 서버 식별 정보(IDs)에 대응되는 정확한 서버측 개인키(Ks)를 가지고 있지 않은 경우 상기 310 단계는 제대로 수행될 수 없다. 따라서 상기 인증의 결과값에 따라 단말(402) 또한 서버(404)를 간접적으로 인증할 수 있다.
단계 614에서, 서버(404)는 이전 단계에서 생성 또는 교환된 정보를 이용하여 서버측 세션키(sk')를 생성한다.
구체적으로, 서버(404)는 단말 식별 정보(IDc), 서버 식별 정보(IDs), 암호화 문자열(W), 세션키 엘리먼트(X), 및 서버측 암호화 엘리먼트(D') 중 하나 이상을 포함하는 문자열을 해싱함으로써 서버측 세션키(sk')를 생성한다. 예를 들어, 서버측 세션키(sk')는 다음의 수학식 12에 의해 생성될 수 있다.
[수학식 20]
sk' = H(IDc, IDs, W, X, D')
한편, 단계 616에서 단말(402) 또한 이전 단계에서 생성 또는 교환된 정보를 이용하여 단말측 세션키(sk)를 생성한다.
구체적으로, 단말(402)은 사용자 식별 정보(IDc), 서버 식별 정보(IDs), 암호화 문자열(W), 세션키 엘리먼트(X), 및 단말측 암호화 엘리먼트(D) 중 하나 이상을 포함하는 문자열을 해싱함으로써 단말측 세션키(sk)를 생성한다. 예를 들어, 단말측 세션키(sk)는 다음의 수학식 21에 의해 생성될 수 있다.
[수학식 21]
sk = H(IDc, IDs, W, X, D)
전술한 바와 같이, 단말측 암호화 엘리먼트(D)는 서버측 암호화 엘리먼트(D')와 동일하므로, 단말측 세션키(sk) 또한 서버측 세션키(sk')와 동일하다. 즉, 위와 같은 과정을 통해 단말(402)과 서버(404)는 직접적으로 키를 송수신하지 않고도 양자 간의 안전한 통신을 위한 세션키를 공유할 수 있게 된다. 또한, 본 실시예에 따를 경우 단말(402)과 서버(404) 간의 1회의 메시지 송수신(1-pass) 만으로 키 교환이 가능하므로, 키 교환을 위한 메시지 송수신 회수를 효과적으로 감소시킬 수 있다.
도 7은 본 발명의 제3 실시예에 따른 인증 및 키 교환 과정(506)을 설명하기 위한 흐름도이다. 도시된 흐름도에서, 도 6과 동일한 식별 부호로 표기된 602 내지 612 단계는 앞서 설명한 제2 실시예와 동일한 바, 여기서는 그 설명을 생략하기로 한다.
본 실시예의 경우, 단계 612에서 단말(402)의 인증이 완료되면, 단계 702에서 서버(404)는 단말(402)로 랜덤 메시지(rs)를 송신한다. 상기 랜덤 메시지(rs)는 세션키의 생성에 사용된다. 즉, 본 실시예의 경우 랜덤 메시지(rs)의 송신을 통해 1-pass 기반의 프로토콜을 2-pass 기반으로 확장할 수 있다.
단계 704에서, 서버(404)는 이전 단계에서 생성 또는 교환된 정보를 이용하여 서버측 세션키(sk')를 생성한다.
구체적으로, 서버(404)는 단말 식별 정보(IDc), 서버 식별 정보(IDs), 암호화 문자열(W), 세션키 엘리먼트(X), 랜덤 메시지(rs)및 서버측 암호화 엘리먼트(D') 중 하나 이상을 포함하는 문자열을 해싱함으로써 서버측 세션키(sk')를 생성한다. 예를 들어, 서버측 세션키(sk')는 다음의 수학식 12에 의해 생성될 수 있다.
[수학식 20]
sk' = H(IDc, IDs, W, X, rs, D')
한편, 단계 706에서 단말(402) 또한 이전 단계에서 생성 또는 교환된 정보를 이용하여 단말측 세션키(sk)를 생성한다.
구체적으로, 단말(402)은 사용자 식별 정보(IDc), 서버 식별 정보(IDs), 암호화 문자열(W), 세션키 엘리먼트(X), 랜덤 메시지(rs) 및 단말측 암호화 엘리먼트(D) 중 하나 이상을 포함하는 문자열을 해싱함으로써 단말측 세션키(sk)를 생성한다. 예를 들어, 단말측 세션키(sk)는 다음의 수학식 21에 의해 생성될 수 있다.
[수학식 21]
sk = H(IDc, IDs, W, X, rs, D)
전술한 바와 같이, 단말측 암호화 엘리먼트(D)는 서버측 암호화 엘리먼트(D')와 동일하므로, 단말측 세션키(sk) 또한 서버측 세션키(sk')와 동일하다. 즉, 위와 같은 과정을 통해 단말(402)과 서버(404)는 직접적으로 키를 송수신하지 않고도 양자 간의 안전한 통신을 위한 세션키를 공유할 수 있게 된다.
한편, 본 발명의 실시예는 본 명세서에서 기술한 방법들을 컴퓨터상에서 수행하기 위한 프로그램을 포함하는 컴퓨터 판독 가능 기록매체를 포함할 수 있다. 상기 컴퓨터 판독 가능 기록매체는 프로그램 명령, 로컬 데이터 파일, 로컬 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야에서 통상의 지식을 가진 자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광 기록 매체, 플로피 디스크와 같은 자기-광 매체, 및 롬, 램, 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다.
이상에서 대표적인 실시예를 통하여 본 발명에 대하여 상세하게 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 상술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다.
그러므로 본 발명의 권리범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
100, 400: 사용자 인증 정보 기반 키 교환 시스템
102, 402: 단말
104, 404: 서버
106, 406: 키 발급 장치
102, 402: 단말
104, 404: 서버
106, 406: 키 발급 장치
Claims (35)
- 단말측 난수 및 서버 식별 정보를 이용하여 사용자의 인증 정보에 대응되는 암호문을 생성하는 단말; 및
상기 서버 식별 정보에 대응되는 서버측 개인키로 상기 단말로부터 수신된 상기 암호문을 복호화하여 상기 인증 정보를 복원하고, 복원된 상기 인증 정보를 이용하여 상기 단말을 인증하며, 인증된 상기 단말에 대응되는 서버측 세션키를 생성하는 서버를 포함하며,
상기 단말은, 상기 서버 식별 정보 및 상기 단말측 난수로부터 단말측 암호화 엘리먼트를 생성하며, 상기 인증 정보와 상기 단말측 암호화 엘리먼트를 결합하여 암호화 문자열을 생성하는, 사용자 인증 정보 기반 키 교환 시스템.
- 청구항 1에 있어서,
상기 단말은,
상기 단말측 난수로부터 제1 세션키 엘리먼트를 계산하는, 사용자 인증 정보 기반 키 교환 시스템.
- 청구항 2에 있어서,
상기 단말측 암호화 엘리먼트는 다음의 수학식
D = (H(IDS))x
(이때, D는 단말측 암호화 엘리먼트, IDs는 서버 식별 정보, x는 단말측 난수, H는 일방향 해쉬값)
에 의하여 계산되는, 사용자 인증 정보 기반 키 교환 시스템.
- 청구항 2에 있어서,
상기 암호화 문자열은 상기 인증 정보 및 상기 단말측 암호화 엘리먼트의 배타적 논리합(XOR)으로 계산되는, 사용자 인증 정보 기반 키 교환 시스템.
- 청구항 2에 있어서,
상기 서버는,
상기 단말로부터 상기 제1 세션키 엘리먼트 및 상기 암호화 문자열을 포함하는 암호문을 수신하고,
상기 서버측 개인키 및 상기 제1 세션키 엘리먼트로부터 서버측 암호화 엘리먼트를 계산하며,
상기 서버측 암호화 엘리먼트를 이용하여 상기 암호화 문자열로부터 상기 인증 정보를 복원하는, 사용자 인증 정보 기반 키 교환 시스템.
- 청구항 5에 있어서,
상기 서버측 암호화 엘리먼트는 다음의 수학식
D' = XKs
(이때, D'는 서버측 암호화 엘리먼트, X는 제1 세션키 엘리먼트, Ks는 서버측 개인키)
에 의하여 계산되는, 사용자 인증 정보 기반 키 교환 시스템.
- 청구항 5에 있어서,
상기 인증 정보는, 수신된 상기 암호화 문자열 및 상기 서버측 암호화 엘리먼트 간의 배타적 논리합(XOR)을 통하여 복원되는, 사용자 인증 정보 기반 키 교환 시스템..
- 청구항 5에 있어서,
상기 서버는, 복원된 상기 인증 정보 및 상기 서버에 기 저장된 상기 단말의 인증 정보의 동일성 여부에 따라 상기 단말을 인증하는, 사용자 인증 정보 기반 키 교환 시스템.
- 청구항 5에 있어서
상기 서버측 세션키는, 단말 식별 정보, 상기 서버 식별 정보, 상기 암호화 문자열, 상기 제1 세션키 엘리먼트 및 상기 서버측 암호화 엘리먼트 중 하나 이상을 포함하는 문자열의 해쉬값인, 사용자 인증 정보 기반 키 교환 시스템.
- 청구항 9에 있어서
상기 단말은, 상기 단말 식별 정보, 상기 서버 식별 정보, 상기 암호화 문자열, 상기 제1 세션키 엘리먼트 및 상기 단말측 암호화 엘리먼트 중 하나 이상을 포함하는 문자열의 해쉬값으로 구성되는 단말측 세션키를 생성하는, 사용자 인증 정보 기반 키 교환 시스템.
- 청구항 10에 있어서,
상기 서버는, 상기 단말이 인증된 경우 상기 단말로 랜덤 메시지를 송신하며,
상기 서버측 세션키 및 상기 단말측 세션키는 상기 랜덤 메시지를 추가적으로 포함하도록 생성되는, 사용자 인증 정보 기반 키 교환 시스템.
- 청구항 2에 있어서,
상기 서버는,
상기 단말이 인증된 경우, 서버측 난수로부터 제2 세션키 엘리먼트를 계산하고,
상기 서버측 난수및 상기 제1 세션키 엘리먼트로부터 서버측 제3 세션키 엘리먼트를 생성하는, 사용자 인증 정보 기반 키 교환 시스템.
- 청구항 12에 있어서
상기 서버측 제3 세션키 엘리먼트는 상기 제1 세션키 엘리먼트를 밑으로, 상기 서버측 난수를 지수로 하는 거듭제곱을 통해 계산되는, 사용자 인증 정보 기반 키 교환 시스템.
- 청구항 12에 있어서,
상기 단말은 상기 서버로부터 상기 제2 세션키 엘리먼트를 수신하고, 이로부터 단말측 제3 세션키 엘리먼트 및 단말측 세션키를 생성하는, 사용자 인증 정보 기반 키 교환 시스템.
- 청구항 14에 있어서,
상기 단말측 제3 세션키 엘리먼트는 상기 제2 세션키 엘리먼트를 밑으로, 상기 단말측 난수를 지수로 하는 거듭제곱을 통해 계산되는, 사용자 인증 정보 기반 키 교환 시스템.
- 청구항 14에 있어서
상기 단말측 세션키(sk)는,
단말 식별 정보, 상기 서버 식별 정보, 상기 암호화 문자열, 상기 제1 세션키 엘리먼트, 상기 제2 세션키 엘리먼트, 상기 단말측 암호화 엘리먼트 및 상기 단말측 제3 세션키 엘리먼트 중 하나 이상을 포함하는 문자열의 해쉬값인, 사용자 인증 정보 기반 키 교환 시스템.
- 청구항 12에 있어서
상기 서버측 세션키는,
단말 식별 정보, 상기 서버 식별 정보, 상기 암호화 문자열, 상기 제1 세션키 엘리먼트, 상기 제2 세션키 엘리먼트, 서버측 암호화 엘리먼트 및 상기 서버측 제3 세션키 엘리먼트 중 하나 이상을 포함하는 문자열의 해쉬값인, 사용자 인증 정보 기반 키 교환 시스템.
- 단말에서, 단말측 난수 및 서버 식별 정보를 이용하여 사용자의 인증 정보에 대응되는 암호문을 생성하는 단계;
서버에서, 상기 서버 식별 정보에 대응되는 서버측 개인키로 상기 단말로부터 수신된 상기 암호문을 복호화하여 상기 인증 정보를 복원하는 단계;
상기 서버에서, 복원된 상기 인증 정보를 이용하여 상기 단말을 인증하는 단계; 및
상기 단말이 인증되는 경우, 인증된 상기 단말에 대응되는 서버측 세션키를 생성하는 단계를 포함하며,
상기 암호문을 생성하는 단계는,
상기 서버 식별 정보 및 상기 단말측 난수로부터 단말측 암호화 엘리먼트를 생성하는 단계; 및
상기 인증 정보와 상기 단말측 암호화 엘리먼트를 결합하여 암호화 문자열을 생성하는 단계를 더 포함하는, 사용자 인증 정보 기반 키 교환 방법.
- 청구항 18에 있어서,
상기 암호문을 생성하는 단계는,
상기 단말측 난수로부터 제1 세션키 엘리먼트를 계산하는 단계를 더 포함하는, 사용자 인증 정보 기반 키 교환 방법.
- 청구항 19에 있어서,
상기 단말측 암호화 엘리먼트는 다음의 수학식
D = (H(IDS))X
(이때, D는 단말측 암호화 엘리먼트, IDs는 서버 식별 정보, x는 단말측 난수, H는 일방향 해쉬값)
에 의하여 계산되는, 사용자 인증 정보 기반 키 교환 방법.
- 청구항 19에 있어서,
상기 암호화 문자열은,
상기 인증 정보 및 상기 단말측 암호화 엘리먼트의 배타적 논리합(XOR)으로 계산되는, 사용자 인증 정보 기반 키 교환 방법.
- 청구항 19에 있어서,
상기 인증 정보를 복원하는 단계는,
상기 단말로부터 상기 제1 세션키 엘리먼트 및 상기 암호화 문자열을 포함하는 암호문을 수신하는 단계;
상기 서버측 개인키 및 상기 제1 세션키 엘리먼트로부터 서버측 암호화 엘리먼트를 계산하는 단계; 및
상기 서버측 암호화 엘리먼트를 이용하여 상기 암호화 문자열로부터 상기 인증 정보를 복원하는 단계를 더 포함하는, 사용자 인증 정보 기반 키 교환 방법.
- 청구항 22에 있어서,
상기 서버측 암호화 엘리먼트는 다음의 수학식
D' = XKs
(이때, D'는 서버측 암호화 엘리먼트, X는 제1 세션키 엘리먼트, Ks는 서버측 개인키)
에 의하여 계산되는, 사용자 인증 정보 기반 키 교환 방법.
- 청구항 22에 있어서,
상기 암호화 문자열로부터 상기 인증 정보를 복원하는 단계는,
수신된 상기 암호화 문자열 및 상기 서버측 암호화 엘리먼트 간의 배타적 논리합(XOR)을 통하여 상기 인증 정보를 복원하도록 구성되는, 사용자 인증 정보 기반 키 교환 방법.
- 청구항 22에 있어서,
상기 인증하는 단계는,
복원된 상기 인증 정보 및 상기 서버에 기 저장된 상기 단말의 인증 정보의 동일성 여부에 따라 상기 단말을 인증하는, 사용자 인증 정보 기반 키 교환 방법.
- 청구항 22에 있어서
상기 서버측 세션키는, 단말 식별 정보, 상기 서버 식별 정보, 상기 암호화 문자열, 상기 제1 세션키 엘리먼트 및 상기 서버측 암호화 엘리먼트 중 하나 이상을 포함하는 문자열의 해쉬값인, 사용자 인증 정보 기반 키 교환 방법.
- 청구항 26에 있어서
상기 단말은, 상기 단말 식별 정보, 상기 서버 식별 정보, 상기 암호화 문자열, 상기 제1 세션키 엘리먼트 및 상기 단말측 암호화 엘리먼트 중 하나 이상을 포함하는 문자열의 해쉬값으로 구성되는 단말측 세션키를 생성하는, 사용자 인증 정보 기반 키 교환 방법.
- 청구항 27에 있어서,
상기 서버는, 상기 단말이 인증된 경우 상기 단말로 랜덤 메시지를 송신하며,
상기 서버측 세션키 및 상기 단말측 세션키는 상기 랜덤 메시지를 추가적으로 포함하도록 생성되는, 사용자 인증 정보 기반 키 교환 방법.
- 청구항 19에 있어서,
상기 서버측 세션키를 생성하는 단계는,
서버측 난수로부터 제2 세션키 엘리먼트를 계산하는 단계; 및
상기 서버측 난수 및 상기 제1 세션키 엘리먼트로부터 서버측 제3 세션키 엘리먼트를 생성하는 단계를 더 포함하는, 사용자 인증 정보 기반 키 교환 방법.
- 청구항 29에 있어서
상기 서버측 제3 세션키 엘리먼트는 상기 제1 세션키 엘리먼트를 밑으로, 상기 서버측 난수를 지수로 하는 거듭제곱을 통해 계산되는, 사용자 인증 정보 기반 키 교환 방법.
- 청구항 29에 있어서,
상기 단말은,
상기 서버로부터 상기 제2 세션키 엘리먼트를 수신하고, 이로부터 단말측 제3 세션키 엘리먼트 및 단말측 세션키를 생성하는, 사용자 인증 정보 기반 키 교환 방법.
- 청구항 31에 있어서,
상기 단말측 제3 세션키 엘리먼트는 상기 제2 세션키 엘리먼트를 밑으로, 상기 단말측 난수를 지수로 하는 거듭제곱을 통해 계산되는, 사용자 인증 정보 기반 키 교환 방법.
- 청구항 31에 있어서
상기 단말측 세션키(sk)는,
단말 식별 정보, 상기 서버 식별 정보, 상기 암호화 문자열, 상기 제1 세션키 엘리먼트, 상기 제2 세션키 엘리먼트, 상기 단말측 암호화 엘리먼트 및 상기 단말측 제3 세션키 엘리먼트 중 하나 이상을 포함하는 문자열의 해쉬값인, 사용자 인증 정보 기반 키 교환 방법.
- 청구항 29에 있어서
상기 서버측 세션키(sk')는,
단말 식별 정보, 상기 서버 식별 정보, 상기 암호화 문자열, 상기 제1 세션키 엘리먼트, 상기 제2 세션키 엘리먼트, 서버측 암호화 엘리먼트 및 상기 서버측 제3 세션키 엘리먼트 중 하나 이상을 포함하는 문자열의 해쉬값인, 사용자 인증 정보 기반 키 교환 방법.
- 하드웨어와 결합되어,
단말측 난수 및 서버 식별 정보를 이용하여 단말 사용자의 인증 정보에 대응되는 암호문을 생성하는 단계;
상기 서버 식별 정보에 대응되는 서버측 개인키로 상기 단말로부터 수신된 상기 암호문을 복호화하여 상기 인증 정보를 복원하는 단계;
복원된 상기 인증 정보를 이용하여 상기 단말을 인증하는 단계; 및
상기 단말이 인증되는 경우, 인증된 상기 단말에 대응되는 서버측 세션키를 생성하는 단계를 포함하며,
상기 암호문을 생성하는 단계는,
상기 서버 식별 정보 및 상기 단말측 난수로부터 단말측 암호화 엘리먼트를 생성하는 단계; 및
상기 인증 정보와 상기 단말측 암호화 엘리먼트를 결합하여 암호화 문자열을 생성하는 단계를 더 포함하는, 단계들을 실행시키기 위하여 매체에 저장된 컴퓨터 프로그램.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610220579.1A CN106130716B (zh) | 2015-05-06 | 2016-04-11 | 基于认证信息的密钥交换系统及方法 |
US15/140,625 US10447669B2 (en) | 2015-05-06 | 2016-04-28 | System and method for key exchange based on authentication information |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20140119260 | 2014-09-05 | ||
KR1020140119260 | 2014-09-05 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20160029640A KR20160029640A (ko) | 2016-03-15 |
KR101685810B1 true KR101685810B1 (ko) | 2016-12-12 |
Family
ID=55438594
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020150062864A KR101685810B1 (ko) | 2014-09-05 | 2015-05-06 | 인증 정보 기반 키 교환 시스템 및 방법 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9621519B2 (ko) |
KR (1) | KR101685810B1 (ko) |
CN (1) | CN105721153B (ko) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016132719A1 (ja) * | 2015-02-16 | 2016-08-25 | 日本電気株式会社 | 通信システム、ノード装置、通信端末、キー管理方法及びプログラムが格納された非一時的なコンピュータ可読媒体 |
US9853965B2 (en) * | 2015-08-24 | 2017-12-26 | Verizon Patent And Licensing Inc. | Authentication service for third party applications |
US10218698B2 (en) * | 2015-10-29 | 2019-02-26 | Verizon Patent And Licensing Inc. | Using a mobile device number (MDN) service in multifactor authentication |
US10547448B2 (en) * | 2016-10-19 | 2020-01-28 | Qualcomm Incorporated | Configurator key package for device provisioning protocol (DPP) |
CN106603485B (zh) * | 2016-10-31 | 2020-03-03 | 美的智慧家居科技有限公司 | 密钥协商方法及装置 |
SG10201701044SA (en) * | 2017-02-09 | 2018-09-27 | Huawei Int Pte Ltd | System and method for computing private keys for self certified identity based signature schemes |
CN108076062A (zh) * | 2017-12-22 | 2018-05-25 | 深圳市汇川技术股份有限公司 | 物联网设备安全通信系统、方法、联网设备及服务器 |
KR102192330B1 (ko) * | 2018-12-10 | 2020-12-17 | 주식회사 시티캣 | 보안단말기를 이용한 저장장치의 데이터 보안 관리 시스템 및 방법 |
CN113014534A (zh) * | 2019-12-21 | 2021-06-22 | 浙江宇视科技有限公司 | 一种用户登录与认证的方法及装置 |
KR102424873B1 (ko) * | 2020-08-14 | 2022-07-22 | 세종대학교산학협력단 | 비밀번호 및 행동 패턴을 이용한 멀티 팩터 인증 시스템 및 방법 |
WO2023077280A1 (en) * | 2021-11-02 | 2023-05-11 | Huawei Technologies Co., Ltd. | Certificate-less authentication and secure communication |
WO2024139095A1 (zh) * | 2022-12-30 | 2024-07-04 | 汉熵通信有限公司 | 基于对称密钥的数据加密方法、数据解密方法、装置和存储介质和电子设备 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2825869B1 (fr) * | 2001-06-08 | 2003-10-03 | France Telecom | Procede d'authentification entre un objet de telecommunication portable et une borne d'acces public |
JP3754004B2 (ja) * | 2002-05-20 | 2006-03-08 | システムニーズ株式会社 | データ更新方法 |
JP4553565B2 (ja) * | 2002-08-26 | 2010-09-29 | パナソニック株式会社 | 電子バリューの認証方式と認証システムと装置 |
KR20040050625A (ko) * | 2002-12-10 | 2004-06-16 | 한국전자통신연구원 | 대칭형 및 비대칭형 인증 키 교환을 이용한 인증방법 |
JP4487490B2 (ja) * | 2003-03-10 | 2010-06-23 | ソニー株式会社 | 情報処理装置、およびアクセス制御処理方法、情報処理方法、並びにコンピュータ・プログラム |
EP1671511B2 (en) * | 2003-09-26 | 2018-03-21 | Telefonaktiebolaget LM Ericsson (publ) | Enhanced security design for cryptography in mobile communication systems |
CN100589384C (zh) * | 2006-02-24 | 2010-02-10 | 中兴通讯股份有限公司 | 一种用户终端接入软交换系统的安全交互方法 |
CN101127600B (zh) * | 2006-08-14 | 2011-12-07 | 华为技术有限公司 | 一种用户接入认证的方法 |
CN100576795C (zh) * | 2006-12-31 | 2009-12-30 | 华东师范大学 | 公共安全播控媒体管理与识别其完整未被篡改的认证方法 |
CN101771535B (zh) * | 2008-12-30 | 2012-07-11 | 上海茂碧信息科技有限公司 | 终端和服务器之间的双向认证方法 |
US8510558B2 (en) * | 2009-02-17 | 2013-08-13 | Alcatel Lucent | Identity based authenticated key agreement protocol |
KR101765917B1 (ko) * | 2011-01-06 | 2017-08-24 | 삼성전자주식회사 | 개인망 엔티티 인증을 위한 방법 |
CN102307178B (zh) * | 2011-03-15 | 2014-02-19 | 陈建国 | Pstn-ip双网协作通信的交换控制方法 |
KR101493214B1 (ko) * | 2012-10-31 | 2015-02-24 | 삼성에스디에스 주식회사 | 패스워드 기반 인증 방법 및 이를 수행하기 위한 장치 |
WO2014069783A1 (ko) * | 2012-10-31 | 2014-05-08 | 삼성에스디에스 주식회사 | 패스워드 기반 인증 방법 및 이를 수행하기 위한 장치 |
KR101493212B1 (ko) * | 2012-10-31 | 2015-02-23 | 삼성에스디에스 주식회사 | 아이디 기반 암호화, 복호화 방법 및 이를 수행하기 위한 장치 |
KR101460541B1 (ko) * | 2013-07-15 | 2014-11-11 | 고려대학교 산학협력단 | 사용자 아이디 기반 공개키 암호화 방법 |
KR102124413B1 (ko) * | 2013-12-30 | 2020-06-19 | 삼성에스디에스 주식회사 | 아이디 기반 키 관리 시스템 및 방법 |
CN106130716B (zh) * | 2015-05-06 | 2020-01-21 | 三星Sds株式会社 | 基于认证信息的密钥交换系统及方法 |
-
2014
- 2014-12-05 CN CN201410736759.6A patent/CN105721153B/zh active Active
- 2014-12-19 US US14/576,628 patent/US9621519B2/en active Active
-
2015
- 2015-05-06 KR KR1020150062864A patent/KR101685810B1/ko active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
KR20160029640A (ko) | 2016-03-15 |
US9621519B2 (en) | 2017-04-11 |
US20160072775A1 (en) | 2016-03-10 |
CN105721153A (zh) | 2016-06-29 |
CN105721153B (zh) | 2020-03-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101685810B1 (ko) | 인증 정보 기반 키 교환 시스템 및 방법 | |
US9515825B2 (en) | Method for password based authentication and apparatus executing the method | |
KR101493212B1 (ko) | 아이디 기반 암호화, 복호화 방법 및 이를 수행하기 위한 장치 | |
US10447669B2 (en) | System and method for key exchange based on authentication information | |
KR101493214B1 (ko) | 패스워드 기반 인증 방법 및 이를 수행하기 위한 장치 | |
CN108111301B (zh) | 基于后量子密钥交换实现ssh协议的方法及其系统 | |
US10027654B2 (en) | Method for authenticating a client device to a server using a secret element | |
CN103124269B (zh) | 云环境下基于动态口令与生物特征的双向身份认证方法 | |
US10015159B2 (en) | Terminal authentication system, server device, and terminal authentication method | |
US8130961B2 (en) | Method and system for client-server mutual authentication using event-based OTP | |
EP3791533A1 (en) | Password based threshold token generation | |
WO2017147503A1 (en) | Techniques for confidential delivery of random data over a network | |
CN107124274A (zh) | 基于sm2的数字签名方法和装置 | |
CN103414690A (zh) | 一种可公开验证云端数据持有性校验方法 | |
KR20170035665A (ko) | 키 교환 장치 및 방법 | |
CN103414559B (zh) | 一种云计算环境下的基于类ibe系统的身份认证方法 | |
CN111526007B (zh) | 一种随机数生成方法及系统 | |
EP3232603B1 (en) | Key-exchange method, key-exchange system, terminal device, and program | |
Shin et al. | Security analysis of password-authenticated key retrieval | |
Murali et al. | Secured cloud authentication using quantum cryptography | |
CN110572257A (zh) | 基于身份的抗量子计算数据来源鉴别方法和系统 | |
CN110572788B (zh) | 基于非对称密钥池和隐式证书的无线传感器通信方法和系统 | |
KR101388452B1 (ko) | 인증서 전송 서버를 이용하는 일회용 공개 정보 기반 이동 단말기로의 인증서 이동 방법 및 이를 이용한 장치 | |
KR101701226B1 (ko) | 향상된 퍼지 속성기반 인증 기술 | |
CN117749413B (zh) | 基于tlcp商密协议的安全通信方法及安全通信系统 |
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 | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20191202 Year of fee payment: 4 |