KR101125481B1 - 스마트카드 기반의 3자간 키 교환 방법 및 시스템과 이에 사용되는 스마트카드 및 마이크로프로세서 - Google Patents

스마트카드 기반의 3자간 키 교환 방법 및 시스템과 이에 사용되는 스마트카드 및 마이크로프로세서 Download PDF

Info

Publication number
KR101125481B1
KR101125481B1 KR1020100074711A KR20100074711A KR101125481B1 KR 101125481 B1 KR101125481 B1 KR 101125481B1 KR 1020100074711 A KR1020100074711 A KR 1020100074711A KR 20100074711 A KR20100074711 A KR 20100074711A KR 101125481 B1 KR101125481 B1 KR 101125481B1
Authority
KR
South Korea
Prior art keywords
user
smart card
personal information
signature
password
Prior art date
Application number
KR1020100074711A
Other languages
English (en)
Other versions
KR20100091147A (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 KR1020100074711A priority Critical patent/KR101125481B1/ko
Publication of KR20100091147A publication Critical patent/KR20100091147A/ko
Application granted granted Critical
Publication of KR101125481B1 publication Critical patent/KR101125481B1/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/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/067Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components
    • G06K19/07Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components with integrated circuit chips
    • 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/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • 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/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • H04L9/3252Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using DSA or related signature schemes, e.g. elliptic based signatures, ElGamal or Schnorr 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/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/3297Cryptographic 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 time stamps, e.g. generation of time stamps

Abstract

본 발명은 스마트카드를 사용하여 서버의 개입 없이 안전한 키 교환을 수행하기 위한 3자간 키 교환 방법 및 시스템과 이에 사용되는 스마트카드 및 마이크로프로세서에 관한 것이다.
본 발명에 따른 스마트카드 기반의 3자간 키 교환 방법은 사용자 단말기에서 트랩도어 해시함수에 의해 변환된 개인정보를 포함하는 사용자 개인정보 및 서버의 비밀키를 통해, 서버에서 사용자 개인정보에 대한 슈노르(schnorr) 서명을 생성하고, 상기 사용자 개인정보에 대한 슈노르 서명을 포함하는 등록정보를 스마트카드에 저장하는 사용자 등록 단계; 상기 스마트카드와 인터페이싱(interfacing)할 수 있는 단말기를 통해 사용자의 개인정보가 입력되면, 상기 스마트카드에 저장된 상기 사용자 개인정보에 대한 슈노르 서명을 이용하여 상기 사용자가 상기 사용자 등록 단계에 의한 등록 사용자인지를 검증하는 사용자 검증 단계; 등록 사용자로 검증되면 타임스탬프에 대한 슈노르 서명을 생성하고 상기 타임스탬프에 대한 슈노르 서명을 포함하는 인증정보를 구성하는 인증정보 구성 단계; 네트워크를 통해 등록 사용자 간에 인증정보를 교환하고 상기 교환된 인증정보를 이용하여 상호 인증하는 상호 인증 단계; 및 상기 교환된 인증정보에 포함된 상기 타임스탬프에 대한 슈노르 서명을 이용하여 세션키를 생성하는 키 교환 단계를 포함한다.

Description

스마트카드 기반의 3자간 키 교환 방법 및 시스템과 이에 사용되는 스마트카드 및 마이크로프로세서{Method and system for smart card based three party key exchange, and smart card and microprocessor used thereto}
본 발명은 스마트카드를 기반으로 3자간 키 교환을 수행하는 방법 및 시스템과 이에 사용되는 스마트카드 및 마이크로프로세서에 관한 것이며, 더 상세하게는 스마트카드를 사용하여 서버의 개입 없이 안전한 키 교환을 수행하기 위한 3자간 키 교환 방법 및 시스템과 이에 사용되는 스마트카드 및 마이크로프로세서에 관한 것이다.
키 교환 프로토콜(key exchange protocol)은 안전한 통신을 위한 중요한 기술 중 하나로서 안전하지 않은 채널에서 키를 공유하기 위한 암호학적 도구이다. 키 교환 프로토콜은 1976년 Diffie와 Hellman(W.Diffie, M.E.Hellman, “New directions in cryptography”, IEEE Trans., vol.IT-22, no.6, pp.644-654, 1976.)에 의해 처음으로 제시되었다. 그러나 Diffie와 Hellman이 제시한 방법은 상대방에 대한 인증이 고려되지 않았기 때문에 많은 약점이 발견되었다. 그 후 사용자 인증을 제공하는 키 교환 프로토콜에 대한 많은 연구가 진행되었다. 키 교환 프로토콜에서 사용자 인증을 위한 방법은 다음과 같이 크게 3가지로 분류할 수 있다. 공개키 암호 시스템을 이용하는 방법, 사전에 공유된 키를 사용하여 대칭키 암호 시스템을 이용하는 방법, 및 패스워드를 사용하는 방법이 있다. 공개키 암호 시스템을 이용하는 방법은 신뢰할 수 있는 기관인 인증서 발급 기관이 발급한 인증서로써 상호 간의 인증을 수행한 후 인증받은 공개키를 기반으로 키를 설정하는 방법이다. 대칭키 암호 시스템을 이용하는 방법은 프로토콜 수행 전에 상호 간에 공유된 키를 사용해 사용자 인증과 키 설정을 하는 방법이다. 암호 시스템에서 사용할 수 있는 키는 보통 길이가 긴 난수이므로 사람이 기억하기 힘들다. 따라서, 두 방법 모두 사용자는 암호 시스템용 키를 저장할 수 있는 저장매체를 필요로 한다.
키 교환 프로토콜에서 사용자 인증을 위한 또 다른 방법은 패스워드를 이용한 방법이다. 인증을 위해 사용되는 패스워드는 사람이 기억하기 쉬운 비교적 짧은 문자열이므로 패스워드를 저장할 특별한 저장매체나 컴퓨터의 메모리가 필요 없다. 패스워드를 이용한 방법은 공개키나 사전에 공유된 키를 사용하는 방법과 비교할 때, 사용자의 측면에서 편리하게 사용할 수 있는 방법이므로 많은 연구가 진행되고 있다.
가장 기본적인 패스워드 기반의 키 교환 프로토콜은 Bellovin과 Merritt(SM.Bellovin, M.Merritt, “Encrypted key exchange: password-based protocols secure against dictionary attacks”, Proceedings of the IEEE Symposium on Research in Research in Security and Privacy, pp.72-84, 1992.)가 처음 제안하고 그 이후로도 많은 연구가 되어온 2자간 키 교환 프로토콜이 있다. 2자간 키 교환 프로토콜은 서로 공유하고 있는 패스워드를 사용해 상대방을 인증하고 키를 교환하는 방법이다. 2자간 키 교환 프로토콜은 키를 공유하고자 하는 사용자끼리 패스워드를 공유하고 있어야 하므로 키 교환 프로토콜을 수행하기 전에 상대방과 패스워드를 교환해야 하고 또한 다수의 사용자와 키를 교환할 경우 사용자 개인이 다수의 패스워드를 기억하고 있어야 한다. 일반적으로 사람이 기억할 수 있는 패스워드의 개수는 한정되기 때문에 다수의 사용자와 키를 교환할 경우 상기 방법은 비효율적이다.
Gong 외 다수(L.Gong, M.Lomas, R.Needham, J.Saltzer,“Protecting poorly chosen secrets from guessing attacks”, IEEE Journal on Selected Areas in Communications, vol.11, no.5, pp.648-656, 1993.), 또는 Halevi와 Krawczyk (S.Halevi, H.Krawczyk,“Public-key cryptography and password protocols”, ACM Transactions on Information and System Security, vol.2, no.3, pp.230-268, 1999.) 등에 의해 제안된 3자간 키 교환 프로토콜은, 각 사용자들이 서버와 패스워드를 공유하고 키 교환 수행시 공유한 패스워드를 사용해 각 사용자들이 서버에 의해 인증을 받은 후 인증정보로 상호 간의 키를 공유하는 방법이다. 따라서 사용자들은 서버와 공유한 자신의 패스워드 하나만 기억하고 있으면 서버로부터 인증을 받을 수 있으므로 자신의 패스워드 하나로 다수의 사용자와 키 교환이 가능하다. 따라서, 3자간 키 교환 프로토콜은 2자간 키 교환 프로토콜에 있어서의 다수의 사용자와 키 교환을 수행하기 위해 많은 패스워드를 기억해야 하는 단점을 개선하였다.
그러나, 기존의 3자간 키 교환 프로토콜에 있어서 서버는 각 사용자들이 키 교환 프로토콜 수행할 때마다 사용자 인증을 위해 매번 개입하여 연산을 수행하여야 한다. 따라서 다수의 사용자가 동시에 키 교환 프로토콜을 수행하는 경우 서버에게 부담이 된다. 이러한 경우 서버는 많은 연산량 및 통신량으로 인해 과부하가 걸리게 되므로 서비스를 받기 위한 사용자 대기 시간이 길어지는 단점이 있다.
따라서, 본 발명이 이루고자 하는 첫 번째 기술적 과제는, 스마트카드를 기반으로 하여 서버의 개입 없이 키 교환을 안전하게 수행하는 방법을 제공하는 것이다.
본 발명이 이루고자 하는 두 번째 기술적 과제는, 스마트카드를 기반으로 하여 서버의 개입 없이 키 교환을 안전하게 수행하는 시스템을 제공하는 것이다.
본 발명이 이루고자 하는 세 번째 기술적 과제는, 본 발명에 따른 키 교환 방법 및 시스템에 사용되는 스마트카드를 제공하는 것이다.
본 발명이 이루고자 하는 네 번째 기술적 과제는, 본 발명에 따른 키 교환 방법 및 시스템에 사용되는 스마트카드를 제어하는 마이크로프로세서를 제공하는 것이다.
상기와 같은 첫 번째 기술적 과제를 해결하기 위하여, 스마트카드를 기반으로 3자간 키 교환을 수행하는 방법으로서, 사용자 단말기에서 트랩도어 해시함수에 의해 변환된 개인정보를 포함하는 사용자 개인정보 및 서버의 비밀키를 통해, 서버에서 사용자 개인정보에 대한 슈노르(schnorr) 서명을 생성하고, 상기 사용자 개인정보에 대한 슈노르 서명을 포함하는 등록정보를 스마트카드에 저장하는 사용자 등록 단계; 상기 스마트카드와 인터페이싱(interfacing)할 수 있는 단말기를 통해 사용자의 개인정보가 입력되면, 상기 스마트카드에 저장된 상기 사용자 개인정보에 대한 슈노르 서명을 이용하여 상기 사용자가 상기 사용자 등록 단계에 의한 등록 사용자인지를 검증하는 사용자 검증 단계; 등록 사용자로 검증되면 타임스탬프에 대한 슈노르 서명을 생성하고 상기 타임스탬프에 대한 슈노르 서명을 포함하는 인증정보를 구성하는 인증정보 구성 단계; 네트워크를 통해 등록 사용자 간에 인증정보를 교환하고 상기 교환된 인증정보를 이용하여 상호 인증하는 상호 인증 단계; 및 상기 교환된 인증정보에 포함된 상기 타임스탬프에 대한 슈노르 서명을 이용하여 세션키를 생성하는 키 교환 단계를 포함하는 스마트카드 기반의 3자간 키 교환 방법을 제공한다.
본 발명의 일 실시예에 따르면, 상기 사용자 등록 단계는 상기 사용자 단말기에서 임의의 제1 난수를 이용하여 상기 트랩도어 해시함수로 변환된 개인정보를 생성하는 단계; 상기 사용자 단말기에서 네트워크를 통해 상기 트랩도어 해시함수에 의해 변환된 개인정보를 포함하는 사용자 개인정보를 상기 서버로 전송하는 단계; 및 상기 서버에서 임의의 제2 난수를 이용하여 상기 사용자 개인정보에 대한 슈노르 서명을 생성하고, 상기 사용자 개인정보에 대한 슈노르 서명을 포함하는 상기 등록정보를 상기 스마트카드에 저장하는 단계를 포함할 수 있다.
본 발명의 일 실시예에 따르면, 상기 사용자 등록 단계는 상기 스마트카드와 인터페이싱할 수 있는 단말기를 통해 상기 제1 난수, 상기 트랩도어 해시함수의 해시값을 계산하기 위한 해시키, 및 상기 해시값의 충동쌍을 찾기 위한 트랩도어 키를 상기 스마트카드에 저장하는 단계를 더 포함할 수 있다.
본 발명의 일 실시예에 따르면, 상기 트랩도어 해시함수로 변환된 개인정보는 패스워드(PW)를 트랩도어 해시함수로 변환한 개인정보일 수 있다.
본 발명의 일 실시예에 따르면, 상기 사용자 개인정보는 사용자 아이디(ID)를 포함하고, 그리고 상기 사용자 개인정보에 대한 슈노르 서명은 상기 사용자 아이디(ID)에 대한 슈노르 서명일 수 있다.
본 발명의 일 실시예에 따르면, 상기 등록정보는 유한 순환 곱셈군의 생성자로서 상기 제2 난수를 승수로 하는 상기 생성자 및 상기 서버의 공개키를 포함할 수 있다.
본 발명의 일 실시예에 따르면, 상기 사용자 검증 단계에서 입력되는 상기 개인정보는 아이디 및 패스워드를 포함하고, 그리고 상기 사용자 검증 단계는 입력된 아이디 및 패스워드가 상기 사용자 등록 단계에서 사용된 상기 사용자 아이디(ID) 및 패스워드(PW)와 동일한지를 검증하는 단계일 수 있다.
상기와 같은 두 번째 기술적 과제를 해결하기 위하여, 스마트카드의 제어, 데이터 처리 및 연산을 수행하는 마이크로프로세서 및 데이터를 저장하는 기억장치를 포함하는 스마트카드를 기반으로 3자간 키 교환을 수행하는 시스템으로서, 상기 스마트카드 기반의 3자간 키 교환 시스템은, 임의의 제1 난수를 이용하여 트랩도어 해시함수에 의해 변환된 개인정보를 생성하고, 네트워크를 통해 상기 트랩도어 해시함수에 의해 변환된 개인정보를 포함하는 사용자 개인정보를 서버로 전송하는 사용자 단말기; 임의의 제2 난수, 상기 사용자 개인정보, 및 비밀키를 이용하여 사용자 개인정보에 대한 슈노르 서명을 생성하고, 상기 사용자 개인정보에 대한 슈노르 서명을 포함하는 등록정보를 상기 스마트카드의 상기 기억장치에 저장함으로써 사용자 등록을 수행하는 상기 서버; 및 상기 스마트카드와 인터페이싱(interfacing)할 수 있는 단말기로서 상기 스마트카드에 데이터를 입력할 수 있는 상기 단말기를 포함하고, 상기 스마트카드의 상기 마이크로프로세서는, 상기 스마트카드와 인터페이싱(interfacing)할 수 있는 상기 단말기를 통해 사용자의 개인정보가 입력되면 상기 스마트카드의 상기 기억장치에 저장된 상기 사용자 개인정보에 대한 슈노르 서명을 이용하여 상기 사용자가 등록 사용자인지를 검증하는 사용자 검증 단계; 상기 사용자가 등록 사용자로 검증되면 타임스탬프에 대한 슈노르 서명을 생성하고, 상기 타임스탬프에 대한 슈노르 서명을 포함하는 인증정보를 구성하는 인증정보 구성 단계; 네트워크를 통해 등록 사용자 간에 인증정보를 교환하고, 상기 교환된 인증정보를 이용하여 상호 인증하는 상호 인증 단계; 및 상기 교환된 인증정보에 포함된 상기 타임스탬프에 대한 슈노르 서명을 이용하여 세션키를 생성하는 키 교환 단계를 실행시키는 스마트카드 기반의 3자간 키 교환 시스템을 제공한다.
본 발명의 일 실시예에 따르면, 상기 스마트카드의 상기 마이크로프로세서는 상기 사용자 검증 단계에 의해 상기 사용자가 등록 사용자임이 검증된 후에 상기 패스워드(PW )를 변경하여 키 교환을 수행하는 경우, 상기 스마트카드와 인터페이싱할 수 있는 상기 단말기를 통해 새로운 패스워드(PW new)를 입력받아 상기 새로운 패스워드를 상기 패스워드(PW)로서 상기 스마트카드의 상기 기억장치에 저장하는 패스워드 변경 단계를 더 수행할 수 있다.
상기와 같은 세 번째 기술적 과제를 해결하기 위하여, 본 발명에 따른 스마트카드 기반의 3자간 키 교환 시스템에 사용되는 스마트카드로서, 상기 스마트카드는 상기 스마트카드의 제어, 데이터 처리 및 연산을 수행하는 마이크로프로세서; 및 상기 서버에 의해 생성되는 상기 사용자 개인정보에 대한 슈노르 서명을 포함하는 데이터를 저장하는 기억장치를 포함하고, 상기 스마트카드의 상기 마이크로프로세서는, 상기 스마트카드와 인터페이싱할 수 있는 상기 단말기를 통해 사용자의 개인정보가 입력되면 상기 스마트카드의 상기 기억장치에 저장된 상기 사용자 개인정보에 대한 슈노르 서명을 이용하여 상기 사용자가 등록 사용자인지를 검증하는 사용자 검증 단계; 상기 사용자가 등록 사용자로 검증되면 타임스탬프에 대한 슈노르 서명을 생성하고, 상기 타임스탬프에 대한 슈노르 서명을 포함하는 인증정보를 구성하는 인증정보 구성 단계; 네트워크를 통해 등록 사용자 간에 인증정보를 교환하고, 상기 교환된 인증정보를 이용하여 상호 인증하는 상호 인증 단계; 및 상기 교환된 인증정보에 포함된 상기 타임스탬프에 대한 슈노르 서명을 이용하여 세션키를 생성하는 키 교환 단계를 실행시키는 스마트카드를 제공한다.
상기와 같은 네 번째 기술적 과제를 해결하기 위하여, 본 발명에 따른 스마트카드 기반의 3자간 키 교환 시스템에 사용되는 스마트카드를 제어하고, 데이터 처리 및 연산을 수행하는 마이크로프로세서로서, 상기 스마트카드는, 상기 서버에 의해 생성된 상기 사용자 개인정보에 대한 슈노르 서명을 포함하는 데이터를 저장하는 기억장치를 포함하고, 상기 마이크로프로세서는, 상기 스마트카드와 인터페이싱할 수 있는 상기 단말기를 통해 사용자의 개인정보가 입력되면 상기 스마트카드의 상기 기억장치에 저장된 상기 사용자 개인정보에 대한 슈노르 서명을 이용하여 상기 사용자가 등록 사용자인지를 검증하는 사용자 검증 단계; 상기 사용자가 등록 사용자로 검증되면 타임스탬프에 대한 슈노르 서명을 생성하고, 상기 타임스탬프에 대한 슈노르 서명을 포함하는 인증정보를 구성하는 인증정보 구성 단계; 네트워크를 통해 등록 사용자 간에 인증정보를 교환하고, 상기 교환된 인증정보를 이용하여 상호 인증하는 상호 인증 단계; 및 상기 교환된 인증정보에 포함된 상기 타임스탬프에 대한 슈노르 서명을 이용하여 세션키를 생성하는 키 교환 단계를 실행시키는 마이크로프로세서를 제공한다.
본 발명에 따른 스마트카드 기반의 3자간 키 교환 방법 및 시스템과 이에 사용되는 스마트카드 및 프로세서는, 서버의 연산 로드를 감소시키면서 안전하게 키 교환을 수행할 수 있다는 이점을 제공한다.
도 1은 본 발명에 따른 스마트카드 기반의 3자간 키 교환 시스템 환경을 개략적으로 나타낸 도면.
도 2는 본 발명에 따른 스마트카드 기반의 3자간 키 교환 방법의 일례를 나타낸 흐름도.
도 3은 본 발명에 따른 스마트카드 기반의 3자간 키 교환 방법의 패스워드 변경 단계를 나타낸 흐름도.
본 발명에 관한 구체적인 내용의 설명에 앞서 이해의 편의를 위해 본 발명이 사용하는 트랩도어 해시함수(trapdoor hash function)의 개요를 설명한다.
트랩도어 해시함수는 키를 사용하는 해시함수로서 함수와 해시키(HK), 트랩도어 키(TK)로 구성되어 있다. 해시키는 공개키로서 해시값을 계산하는데 사용되고, 트랩도어 키는 비밀키로서 충돌쌍을 찾기 위해 사용된다. 그러므로 일반적인 해시함수와 같이 해시값은 누구든지 계산할 수 있으나 정해진 해시값에 대한 충돌쌍은 트랩도어 키를 소유하고 있는 사람만이 찾을 수 있다. 트랩도어 해시함수는 여러 종류가 있지만 본 발명에서 사용하는 시스템변수와 동일한 것은 이산대수 가정(discrete log assumption)에 기반한 트랩도어 해시함수이다(H. Krawczyk, T. Rabin, "Chameleon Signatures", In Symposium on Network and Distributed Systems Security (NDSS '00), pp.143-154, 2000, Internet Society. 참조).
키 생성 알고리즘
안전한 소수 p(p=2q+1이 되는 소수 q가 존재하는 소수, p∈{0,1}k)와 위수가 q인 생성자 g(g∈Z* p)를 선택한다. 또한 랜덤값 α(α∈RZ* p)를 선택하고 y=gα(modp)를 계산한다. 공개되는 해시키는 (p,g,y)이고 비밀키인 트랩도어 키는 α이다.
해시함수
해시키 HK=(p,g,y)에 대하여 해시함수 h HK :Zp×Zp→Z* p를 하기 수학식 1과 같이 정의한다.
Figure 112010049911694-pat00001
상기 수학식 1에서, m은 해시를 취할 메시지이고 r은 랜덤하게 선택되는 값이다. 상기 트랩도어 해시함수는 트랩도어 키 TK=α를 사용하면 선택한 메시지 m'에 대하여 하기 수학식 2에 나타난 등식을 만족하는 r'를 찾을 수 있다.
Figure 112010049911694-pat00002
즉, 상기 r'의 값은 상기 수학식 3과 같이 찾을 수 있다.
Figure 112010049911694-pat00003
이하, 본 발명의 기술적 과제의 해결 방안을 명확화하기 위해 첨부한 도면을 참조하여 본 발명의 바람직한 실시예를 상세하게 설명한다. 다만, 본 발명을 설명함에 있어서 관련된 공지기술 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불명료하게 할 수 있다고 판단되는 경우에는 그 상세한 설명은 생략할 것이다. 또한, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자 등의 의도 또는 관례 등에 따라 달라질 수 있을 것이다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
도 1에는 본 발명에 따른 스마트카드 기반의 3자간 키 교환 시스템 환경이 개략적으로 도시되어 있으며, 도 2에는 본 발명에 따른 스마트카드 기반의 3자간 키 교환 방법의 일례가 흐름도로 도시되어 있다.
도 1 및 도 2를 참조하면, 본 발명에 따른 스마트카드 기반의 3자간 키 교환 방법은 사용자 단말기(110, 120)에서 서버(100)로 사용자 개인정보를 전송하여(S200) 상기 서버(100)에서 상기 전송된 사용자 개인정보를 이용하여 사용자 등록을 수행하는 사용자 등록 단계(S210), 스마트카드(112, 122)를 이용한 사용자 검증 단계(S220), 스마트카드(112, 122)를 이용한 인증정보 구성 단계(S230), 인증정보를 통한 상호 인증 단계(S240), 및 세션키를 생성하는 키 교환 단계(S250)를 포함한다.
더 구체적으로 설명하자면, 우선 시스템 변수를 정의한다.
안전한 소수 p(p=2q+1이 되는 소수 q가 존재하는 소수, p∈{0,1}k)를 선택한 후, 위수가 q인 유한한 순환 곱셈군 G를 생성하고 상기 G의 생성자 g(g∈Z* p)를 선택한다. 그리고 램덤(random)한 길이의 임의의 문자열을 Zq로 보내는 암호학적 해시함수 H:{0,1}*→Zq를 생성한다. 또한, 서버(100)는 자신의 비밀키(개인키) x(x∈Z* q)를 선택하고 공개키 y=gx(modp)를 계산한다.
사용자 등록 단계
사용자 등록 단계(S200, S210)에서는, 사용자 단말기(110, 120)에서 트랩도어 해시함수 H HK 에 의해 변환된 개인정보를 포함하는 사용자 개인정보 및 서버의 비밀키를 통해, 서버에서 사용자 개인정보에 대한 슈노르(schnorr) 서명을 생성하고, 상기 사용자 개인정보에 대한 슈노르 서명을 포함하는 등록정보를 스마트카드(112, 122)에 저장한다.
예컨대, 제1 사용자가 서버(100)에 등록을 원한다고 가정하자. 상기 제1 사용자는 사용자 단말기(110)를 통해 자신의 아이디(ID), 패스워드(PW), 및 제1 난수(n)를 선택하고 트랩도어 해시함수 H HK 를 생성하여 H HK (PW,n)를 계산한다. 그리고 트랩도어 해시함수에 의해 변환된 패스워드 H HK (PW,n)와 아이디(ID)를 상기 서버(100)로 보낸다(S200).
상기 서버(100)는 제2 난수(s)를 선택하여 하기 수학식 4와 같이 표현되는 상기 아이디(ID)에 대한 슈노르(schnorr) 서명 쌍을 계산한다(C.Schnorr,“Efficient identification and signatures for smart cards”, Crypto'89, pp.239-252, 1990. 참조).
Figure 112010049911694-pat00004
그리고 상기 서버(100)는 등록정보로서 상기 아이디(ID)에 대한 슈노르(schnorr) 서명 쌍 wt와 상기 제2 난수 s를 승수로 하는 생성자 gs, 및 상기 서버(100)의 공개키 y를 스마트카드(112)에 입력한다. 상기 스마트카드(112)는 상기 스마트카드(112)를 제어하고 데이터 처리 및 연산을 수행하는 마이크로프로세서(미도시) 및 데이터를 저장하는 기억장치(미도시)를 포함하여 상기 등록정보들을 저장할 수 있다. 상기 스마트카드(112)의 사용자인 상기 제1 사용자는 상기 스마트카드(112)와 인터페이싱(interfacing) 할 수 있는 단말기(110)를 통해 자신이 처음 선택했던 상기 제1 난수 n, 상기 트랩도어 해시함수의 해시키 HK 및 트랩도어 키 TK를 상기 스마트카드(112)에 입력하여 저장한다(S210). 본 발명의 일 실시예에 있어서, 상기 사용자 단말기(110)와 상기 스마트카드(112)와 인터페이싱 할 수 있는 상기 단말기(110)는 개별적일 수 있다.
상기 사용자 등록 단계는 키 교환을 수행할 상대편 사용자인 제2 사용자에게도 동일하게 적용될 수 있다.
사용자 검증 단계
사용자 검증 단계(S220)에서는, 상기 스마트카드와 인터페이싱(interfacing)할 수 있는 단말기를 통해 사용자의 개인정보가 입력되면, 상기 스마트카드에 저장된 상기 사용자 개인정보에 대한 슈노르 서명을 이용하여 상기 사용자가 상기 사용자 등록 단계에 의한 등록 사용자인지를 검증한다.
예컨대, 제1 사용자 및 제2 사용자가 안전한 통신을 위해 키를 교환하기 원한다고 가정하자. 상기 제1 사용자는 자신의 스마트카드(112)를 카드 리더기에 넣고 상기 스마트카드(112)와 인터페이싱할 수 있는 단말기(110)를 통해 아이디 ID1'와 패스워드 PW1'를 입력한다. 상기 스마트카드(112)는 하기 수학식 5와 같이 입력된 패스워드 PW1'로 w 1'를 계산한다.
Figure 112010049911694-pat00005
그리고 아이디 동일성 확인과 상기 스마트카드(112)의 상기 기억장치에 저장된 w 1와 상기 수학식 5와 같이 계산된 w 1'를 비교해 상기 제1 사용자가 상기 사용자 등록 단계에 의한 등록 사용자인지를 검증한다(S220).
상기 사용자 검증 단계는 키 교환을 수행할 상대편 사용자인 상기 제2 사용자에게도 동일하게 적용될 수 있다.
인증정보 구성 단계
인증정보 구성 단계(S230)에서는, 상기 제1 사용자가 등록 사용자로 검증되면 타임스탬프에 대한 슈노르 서명을 생성하고 상기 타임스탬프에 대한 슈노르 서명을 포함하는 인증정보를 구성한다.
예컨대, 상기 제1 사용자의 상기 스마트카드(112)는 제3 난수 r1을 선택하고 상기 선택한 제3 난수 r1 및 타임스탬프 T1을 이용하여 하기 수학식 6과 같이 타임스탬프에 대한 슈노르 서명 쌍을 계산한다.
Figure 112010049911694-pat00006
Figure 112010049911694-pat00007
그리고 상기 타임스탬프에 대한 슈노르 서명 쌍 R 1A 1, 상기 타임스탬프 T1, 상기 제1 사용자의 아이디(ID1), 및 상기 아이디(ID1)에 대한 슈노르 서명 w 1을 포함하는 인증정보를 구성한다.
상기 사용자 검증 단계는 키 교환을 수행할 상대편 사용자인 상기 제2 사용자에게도 동일하게 적용될 수 있으며, 상기 제2 사용자의 인증정보는 R 2 , A 2, T2, ID2, 및 w 2을 포함한다.
상호 인증 단계
상호 인증 단계(S240)에서는, 네트워크를 통해 등록 사용자 간에 인증정보를 교환하고 상기 교환된 인증정보를 이용하여 상호 인증한다.
예컨대, 상기 제1 사용자의 스마트카드(112)는 유무선 네트워크를 통해 상기 제2 사용자의 상기 인증정보를 전송받아 하기 수학식 7에 나타난 등식이 성립하는 경우 상기 제2 사용자를 인증한다.
Figure 112010049911694-pat00008
상기 제2 사용자 측에서도 동일하다.
키 교환 단계
키 교환 단계(250)에서는, 상기 교환된 인증정보에 포함된 상기 타임스탬프에 대한 슈노르 서명(R)을 이용하여 세션키를 생성한다.
예컨대, 상기 제1 사용자의 스마트카드(112)는 하기 수학식 8에 의해 세션키 값(key)을 계산한다.
Figure 112010049911694-pat00009
상기 수학식 8에서, R 2는 상기 제2 사용자의 상기 타임스탬프에 대한 슈노르 서명이고, r 1은 상기 제1 사용자의 스마트카드(112)가 선택한 제3 난수이고, 그리고 r 2는 상기 제2 사용자의 스마트카드(122)가 선택한 제3 난수를 나타낸다.
본 발명에 따른 스마트카드 기반의 3자간 키 교환 방법 및 시스템은 트랩도어 해시함수를 사용함으로써 서버의 개입 없이 패스워드를 변경하여 변경된 패스워드를 통해 키 교환을 수행할 수 있다.
도 3에는 본 발명에 따른 스마트카드 기반의 3자간 키 교환 방법의 패스워드 변경 단계의 일례가 흐름도로 도시되어 있다.
패스워드 변경 단계
패스워드 변경 단계에서는, 상기 사용자 검증 단계(S220)에 의해 상기 사용자가 등록 사용자임이 검증된 후에 상기 패스워드(PW1)를 변경하여 키 교환을 수행하는 경우, 상기 스마트카드와 인터페이싱할 수 있는 상기 단말기(110)를 통해 새로운 패스워드(PW1new)를 입력받아 상기 새로운 패스워드를 상기 패스워드(PW1)로서 상기 스마트카드(112)의 상기 기억장치에 저장한다.
예컨대, 상기 제1 사용자가 자신의 패스워드 PW1을 변경하여 새로운 패스워드 PW1new로 키 교환을 수행하고자 한다면, 상기 제1 사용자는 자신의 스마트카드(112)를 카드 리더기에 넣고 상기 스마트카드(112)와 인터페이싱할 수 있는 단말기(110)를 통해 아이디 ID1'와 패스워드 PW1'를 입력한다(S300).
상기 스마트카드(112)는 상기 수학식 5와 같이 입력된 패스워드 PW1'로 w 1'를 계산한다. 그리고 아이디 동일성 확인과 상기 스마트카드(112)의 상기 기억장치에 저장된 w 1와 상기 수학식 5와 같이 계산된 w 1'를 비교해 상기 제1 사용자가 상기 사용자 등록 단계에 의한 등록 사용자인지를 검증한다(S310).
상기 제1 사용자가 등록 사용자로 검증되면 자신이 사용할 새로운 패스워드 PW1new를 입력한다(S320). 상기 스마트카드(112)는 상기 트랩도어 키 TK를 사용해서 하기 수학식 9에 나타난 등식을 만족하는 새로운 난수 n1new를 찾아 상기 제1 난수 n1을 삭제하고 새로운 난수 n1new를 상기 제1 난수 n1 대신 상기 기억장치에 저장한다(S330).
Figure 112010049911694-pat00010
상술한 바와 같이 패스워드가 변경된 스마트카드(112)는 새로운 패스워드 PW1new로서 사용자 검증이 가능해 진다. 하지만 상기 아이디(ID1)에 대한 슈노르 서명값 w 1는 변하지 않으므로 키 교환 수행시 상기 스마트카드(112) 내의 정보를 정상적으로 사용할 수 있다.
본 발명에 따른 스마트카드 기반의 3자간 키 교환 방법 및 시스템에 사용되는 스마트카드는, 상기 스마트카드를 제어하는 마이크로프로세서로서 데이터 처리 및 연산을 수행하는 상기 마이크로프로세서에 의해 상기 단계들을 수행할 수 있다.
상술한 바와 같이, 기존의 3자간 키 교환 프로토콜에서 서버는 사용자 등록 과정과 사용자들 각각의 키 교환 과정에 참여하여 연산과 통신을 수행하였다. 두 과정 중에서 사용자 등록 과정보다는 키 교환 과정이 더욱 빈번하게 발생할 것이고, 따라서 키 교환시의 서버의 개입을 줄일 수 있다면 서버의 부담은 많이 줄어들게 될 것이다.
본 발명에 따른 스마트카드 기반의 3자간 키 교환 방법 및 시스템은 키 교환 과정에서 서버의 개입이 없이 키 교환 프로토콜을 수행하므로 기존의 프로토콜에 비해 서버의 부담을 대폭 감소시키는 이점을 제공한다. 서버의 개입 없이 키 교환을 수행한다는 점은 다수의 사용자가 동시에 키 교환을 수행하는 경우에도 서비스를 받기 위한 사용자 대기 시간이 없어진다는 이점을 제공한다. 또한, 본 발명에 따른 스마트카드 기반의 3자간 키 교환 방법 및 시스템은, 서버가 각 사용자들의 인증을 위한 정보(ex. 패스워드)를 저장할 필요가 없도록 구성하였다. 이러한 점은 기존의 프로토콜과 비교해 서버의 저장 부담도 줄여주는 이점을 제공한다.
나아가, 본 발명에 따른 스마트카드 기반의 3자간 키 교환 방법 및 시스템은 다양한 공격에 대한 안전성을 제공한다. 이하, 각각의 공격에 대한 안전성을 분석한다.
사전 공격( Dictionary attack )에 대한 안전성
온라인(On-line) 사전 공격 Dictionary attack)은 패스워드 입력 횟수를 제안하는 등의 방법으로 간단히 막을 수 있으므로 오프라인(Off-line) 사전 공격에 대한 안전성에 대해서만 분석한다. 사전 공격을 하기 위해 필요한 정보는 상호인증 및 키 교환 단계에서 얻을 수 있다. 상기 상호 인증 단계에서 공격자는 w 1를 얻을 수 있지만 공격자가 패스워드를 추측해 확인을 하려면 H HK 1(PW1,n1)의 내부값인 n1과 s1를 알아야 한다. 하지만 n1과 s1는 랜덤한 값이기 때문에 공격자는 두 값을 알 수 없다. 따라서, 본 발명은 사전 공격에 안전하다.
내부자 공격( Insider attack )에 대한 안전성
내부 공격자가 정상적인 프로토콜의 수행 중 상대방의 패스워드를 알아내려면 상기 상호 인증 단계에서 전송되는 w 1를 이용해서 패스워드를 추측하는 방법밖에 없다. 이것은 상기 사전 공격에서와 같은 이유로 불가능하다. 또한 상대방 스마트카드의 t1값을 알아내는 것은 에 T1 대한 슈노르(schnorr) 서명인 A1, R1을 가지고 비밀키를 알아내는 것과 같다. 따라서 t1값을 알아내는 것 또한 불가능하다. 그러므로 내부 공격자가 다른 올바른 사용자의 어떠한 개인 비밀값도 알아내지 못한다. 이제 내부 공격자가 서버의 개인키를 알아내려고 한다고 가정하자. 서버의 개인키는 내부 공격자의 스마트카드에 있는 정보인 t1를 이용해야 알 수가 있는데 스마트카드에 저장되어 있는 정보는 볼 수 없으므로 불가능하다. 공격자가 t1를 알아낸다고 해도 s1는 랜덤한 값이기 때문에 자신의 패스워드, n1, 및 t1 만으로 서버의 개인키를 계산하는 것은 불가능하다. 내부 공격자는 일반적인 공격자와 다르게 올바른 자신의 패스워드와 스마트카드를 소지하고 있지만 위에서 살펴본 바와 같이 서버의 어떠한 정보도 알아낼 수 없고 또한 다른 사용자들의 비밀정보도 알아낼 수 없다. 또한 다른 올바른 사용자와의 프로토콜 수행시에도 공격자가 얻는 정보 이외의 어떠한 정보도 얻을 수 없다. 따라서 내부 공격자는 추가적으로 패스워드와 스마트카드를 소지하고 있지만 공격 능력은 일반적인 공격자와 다르지 않다. 따라서, 본 발명은 내부자 공격에 안전하다.
위장 공격( Impersonation attack )에 대한 안전성
제1 사용자를 가장하는 경우를 살펴보자. 공격자가 제1 사용자를 가장하여 제2 사용자와 정상적인 키 교환 프로토콜을 수행하기 위해서는 상대방에게 올바른 R1, A1w 1를 전송해야 한다. 하지만 서버에게 받아야하는 t1없이 올바른 R1과 A1를 생성하는 것은 불가능하고 또한 w 1도 알 수 없으므로 올바른 값을 전송할 수 없다. 따라서, 본 발명은 위장 공격에 안전하다.
재전송 공격( Replay attack )에 대한 안전성
본 발명에서는 타임스탬프 T1를 사용하여 이전의 통신 정보를 사용할 수 없으므로 재전송 공격이 불가능하다. 공격자가 타임스탬프만 바꿔서 올바른 정보를 생성해 전송하기 위해서는 공격 시점의 타임스탬프에 대한 서명인 R1과 A1를 생성해야 한다. t1없이 올바른 R1 및 A1의 생성은 불가능하다. 따라서 본 발명은 재전송 공격에 안전하다.
알려진 키 비밀성( Known Key Security )
본 발명의 교환된 키는
Figure 112010049911694-pat00011
이다. 여기서 r1 및 r2는 키를 교환할 때마다 랜덤하게 선택되는 값이다. 따라서 공격자가 다른 어떠한 세션의 키를 알고 있다고 하더라도 공격을 하고자 하는 세션에서 사용되는 랜덤값 r1 및 r2와는 관련성이 없다. 따라서 내부 공격자의 공격에서 보았듯이 공격자가 키를 알아내려면 CDH문제를 풀어야만 한다. 따라서, 본 발명은 알려진 키 안전성을 만족한다.
완전 순방향 비밀성( Perfect Forward Security )
공격자가 각 사용자의 패스워드를 알아내고 스마트카드를 획득했다고 해도 각 세션의 키를 생성할 경우에는 랜덤값 r1 및 r2를 사용하게 되므로 이전의 어떠한 세션에 대해서도 사용된 키의 정보를 얻을 수 없다. 이전 세션에서 사용된 키를 알아내려면 공격자는 CDH문제를 풀어야 한다. 따라서, 본 발명은 완전 순방향 비밀성을 만족한다.
알려지지 않은 키 분배 공격( Unknown Key Share attack )
제1 사용자와 제2 사용자가 프로토콜을 수행할 때, 두 사용자는 각각 R1 및 A1와 R2 및 A2를 사용해 상대방에 대한 인증을 하게 된다. 이때 제2 사용자가 자신이 계산한 키가 제1 사용자가 아닌 제3 사용자와 설정된 키라고 믿으려면 제2 사용자는 상호 인증 단계에서 받는 정보가 제3 사용자의 아이디인 ID3로 검증되어야 한다. 하지만 공격자는 t3를 알 수 없으므로 제3 사용자의 아이디인 ID3로 검증이 성공하는 값인 R3 및 A3를 생성할 수 없다. 마찬가지 이유로 제1 사용자도 자신과 키를 교환한 사람이 제2 사용자가 아닌 다른 사용자라고 믿을 가능성은 없다. 따라서, 본 발명은 알려지지 않은 키 분배 공격에 안전하다.
키 제어( Key Control )
본 발명의 교환된 키는 두 사용자가 각각 랜덤값 r1 및 r2를 선택한 후,
Figure 112010049911694-pat00012
를 계산해 키로 사용하게 된다. 프로토콜 중에 두 사용자는 한 번씩의 통신을 한 후 키를 계산하게 되고, 또한 상대방이 선택한 랜덤값은 알지 못한다. 따라서 각 사용자는 설정될 키의 어떠한 부분도 미리 결정할 수 없다.
상술한 바와 같이, 본 발명에 따른 스마트카드 기반의 3자간 키 교환 방법 및 시스템은 다양한 공격에 대한 안전성을 보장하는 이점을 아울러 제공한다.
이제까지 본 발명에 대하여 그 바람직한 실시예를 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 본 발명이 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 상술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 균등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.

Claims (13)

  1. 스마트카드를 기반으로 3자간 키 교환을 수행하는 방법에 있어서,
    사용자 단말기가 임의의 제1 난수를 이용하여 트랩도어 해시함수에 의해 변환된 개인정보를 포함하는 사용자 개인정보를 서버로 전송하고, 상기 서버는 상기 서버에 의해 선택된 임의의 제2 난수를 이용하여 상기 사용자 개인정보에 대한 슈노르(schnorr) 서명을 생성하고, 상기 사용자 개인정보에 대한 슈노르 서명을 포함하는 등록정보를 스마트카드에 저장하는 사용자 등록 단계;
    상기 스마트카드와 인터페이싱(interfacing)할 수 있는 단말기를 통해 아이디 및 패스워드를 포함하는 사용자 개인정보가 입력되고, 상기 사용자 등록 단계에서 생성된 슈노르 서명과 상기 입력된 패스워드를 이용하여 산출한 슈노르 서명을 비교함으로써, 상기 사용자가 상기 사용자 등록 단계에 의한 등록 사용자인지를 검증하는 사용자 검증 단계;
    등록 사용자로 검증되면 타임스탬프에 대한 슈노르 서명을 생성하고 상기 타임스탬프에 대한 슈노르 서명을 포함하는 인증정보를 구성하는 인증정보 구성 단계;
    네트워크를 통해 등록 사용자 간에 인증정보를 교환하고 상기 교환된 인증정보를 이용하여 상호 인증하는 상호 인증 단계; 및
    상기 교환된 인증정보에 포함된 상기 타임스탬프에 대한 슈노르 서명을 이용하여 세션키를 생성하는 키 교환 단계를 포함하고,
    상기 사용자 개인정보에 대한 슈노르 서명은 상기 트랩도어 해시함수에 의해 변환된 패스워드와 상기 제2난수를 이용하여 생성되는 제 1 값과 상기 트랩도어 해시함수에 의해 변환된 패스워드, 상기 제2난수, 및 해시함수에 의해 변환된 아이디를 이용하여 생성되는 제 2 값을 생성하는 것을 특징으로 하는 스마트카드 기반의 3자간 키 교환 방법.
  2. 제1항에 있어서,
    상기 사용자 등록 단계는, 상기 사용자 단말기에서 상기 임의의 제1 난수를 이용하여 상기 트랩도어 해시함수에 의해 변환된 개인정보를 생성하는 단계;
    상기 사용자 단말기에서 네트워크를 통해 상기 트랩도어 해시함수에 의해 변환된 개인정보를 포함하는 사용자 개인정보를 상기 서버로 전송하는 단계; 및
    상기 서버에서 상기 서버에 의해 선택된 임의의 제2 난수를 이용하여 상기 사용자 개인정보에 대한 슈노르 서명을 생성하고, 상기 사용자 개인정보에 대한 슈노르 서명을 포함하는 상기 등록정보를 상기 스마트카드에 저장하는 단계를 포함하는 것을 특징으로 하는 스마트카드 기반의 3자간 키 교환 방법.
  3. 제2항에 있어서,
    상기 사용자 등록 단계는, 상기 스마트카드와 인터페이싱할 수 있는 단말기를 통해 상기 제1 난수, 상기 트랩도어 해시함수의 해시값을 계산하기 위한 해시키, 및 상기 해시값의 충동쌍을 찾기 위한 트랩도어 키를 상기 스마트카드에 저장하는 단계를 더 포함하는 것을 특징으로 하는 스마트카드 기반의 3자간 키 교환 방법.
  4. 제3항에 있어서,
    상기 트랩도어 해시함수에 의해 변환된 개인정보는, 패스워드(PW)를 트랩도어 해시함수에 의해 변환한 개인정보인 것을 특징으로 하는 스마트카드 기반의 3자간 키 교환 방법.
  5. 제4항에 있어서,
    상기 사용자 개인정보는 사용자 아이디(ID)를 포함하고, 그리고 상기 사용자 개인정보에 대한 슈노르 서명은 상기 사용자 아이디(ID)에 대한 슈노르 서명인 것을 특징으로 하는 스마트카드 기반의 3자간 키 교환 방법.
  6. 제5항에 있어서,
    상기 등록정보는, 유한 순환 곱셈군의 생성자로서 상기 제2 난수를 승수로 하는 상기 생성자 및 상기 서버의 공개키를 더 포함하는 것을 특징으로 하는 스마트카드 기반의 3자간 키 교환 방법.
  7. 제6항에 있어서,
    상기 사용자 검증 단계는, 입력된 아이디 및 패스워드가 상기 사용자 등록 단계에서 사용된 상기 사용자 아이디(ID) 및 패스워드(PW)와 동일한지를 검증하는 단계인 것을 특징으로 하는 스마트카드 기반의 3자간 키 교환 방법.
  8. 스마트카드의 제어, 데이터 처리 및 연산을 수행하는 마이크로프로세서 및 데이터를 저장하는 기억장치를 포함하는 스마트카드를 기반으로 3자간 키 교환을 수행하는 시스템에 있어서,
    상기 스마트카드 기반의 3자간 키 교환 시스템은, 임의의 제1 난수를 이용하여 트랩도어 해시함수에 의해 변환된 개인정보를 생성하고, 네트워크를 통해 상기 트랩도어 해시함수에 의해 변환된 개인정보를 포함하는 사용자 개인정보를 서버로 전송하는 사용자 단말기;
    임의의 제2 난수, 상기 사용자 개인정보, 및 상기 서버의 비밀키를 이용하여 사용자 개인정보에 대한 슈노르(schnorr) 서명을 생성하고, 상기 사용자 개인정보에 대한 슈노르 서명을 포함하는 등록정보를 상기 스마트카드의 상기 기억장치에 저장함으로써 사용자 등록을 수행하는 상기 서버; 및
    상기 스마트카드와 인터페이싱(interfacing)할 수 있는 단말기로서 상기 스마트카드에 데이터를 입력할 수 있는 상기 단말기를 포함하고,
    상기 슈노르 서명은 상기 트랩도어 해시함수에 의해 변환된 패스워드와 상기 제2난수를 이용하여 생성되는 제 1 값과 상기 트랩도어 해시함수에 의해 변환된 패스워드, 상기 제2난수, 및 해시함수에 의해 변환된 아이디를 이용하여 생성되는 제 2 값을 생성하는 것이고,
    상기 스마트카드의 상기 마이크로프로세서는, 상기 스마트카드와 인터페이싱(interfacing)할 수 있는 상기 단말기를 통해 아이디 및 패스워드를 포함하는 사용자의 개인정보가 입력되고, 상기 등록정보에 포함된 슈노르 서명과 상기 입력된 패스워드를 이용하여 산출한 슈노르 서명을 비교함으로써, 상기 사용자가 등록 사용자인지를 검증하는 사용자 검증 단계;
    상기 사용자가 등록 사용자로 검증되면 타임스탬프에 대한 슈노르 서명을 생성하고, 상기 타임스탬프에 대한 슈노르 서명을 포함하는 인증정보를 구성하는 인증정보 구성 단계;
    네트워크를 통해 등록 사용자 간에 인증정보를 교환하고, 상기 교환된 인증정보를 이용하여 상호 인증하는 상호 인증 단계; 및
    상기 교환된 인증정보에 포함된 상기 타임스탬프에 대한 슈노르 서명을 이용하여 세션키를 생성하는 키 교환 단계를 실행시키는 스마트카드 기반의 3자간 키 교환 시스템.
  9. 제8항에 있어서,
    상기 사용자 단말기가 생성하는 상기 트랩도어 해시함수에 의해 변환된 개인정보는, 패스워드(PW)를 트랩도어 해시함수에 의해 변환한 개인정보인 것을 특징으로 하는 스마트카드 기반의 3자간 키 교환 시스템.
  10. 제9항에 있어서,
    상기 사용자 단말기가 상기 서버로 전송하는 상기 사용자 개인정보는 사용자 아이디(ID)를 포함하고, 그리고 상기 서버가 생성하는 상기 사용자 개인정보에 대한 슈노르 서명은 상기 사용자 아이디(ID)에 대한 슈노르 서명인 것을 특징으로 하는 스마트카드 기반의 3자간 키 교환 시스템.
  11. 제10항에 있어서,
    상기 스마트카드의 상기 마이크로프로세서는 상기 사용자 검증 단계에서 상기 입력된 아이디 및 패스워드가 상기 서버에 의한 사용자 등록시 사용된 상기 사용자 아이디(ID) 및 패스워드(PW)와 동일한지를 검증하는 것을 특징으로 하는 스마트카드 기반의 3자간 키 교환 시스템.
  12. 제11항에 있어서,
    상기 스마트카드의 상기 마이크로프로세서는, 상기 사용자 검증 단계에 의해 상기 사용자가 등록 사용자임이 검증된 후에 상기 패스워드(PW )를 변경하여 키 교환을 수행하는 경우, 상기 스마트카드와 인터페이싱할 수 있는 상기 단말기를 통해 새로운 패스워드(PW new)를 입력받아 상기 새로운 패스워드를 상기 패스워드(PW)로서 상기 스마트카드의 상기 기억장치에 저장하는 패스워드 변경 단계를 더 수행하는 것을 특징으로 하는 스마트카드 기반의 3자간 키 교환 시스템.
  13. 제 1 항 내지 제 7 항 중에 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1020100074711A 2010-08-02 2010-08-02 스마트카드 기반의 3자간 키 교환 방법 및 시스템과 이에 사용되는 스마트카드 및 마이크로프로세서 KR101125481B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100074711A KR101125481B1 (ko) 2010-08-02 2010-08-02 스마트카드 기반의 3자간 키 교환 방법 및 시스템과 이에 사용되는 스마트카드 및 마이크로프로세서

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100074711A KR101125481B1 (ko) 2010-08-02 2010-08-02 스마트카드 기반의 3자간 키 교환 방법 및 시스템과 이에 사용되는 스마트카드 및 마이크로프로세서

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020080000399A Division KR20090074576A (ko) 2008-01-02 2008-01-02 스마트카드 기반의 3자간 키 교환 방법 및 시스템과 이에사용되는 스마트카드 및 마이크로프로세서

Publications (2)

Publication Number Publication Date
KR20100091147A KR20100091147A (ko) 2010-08-18
KR101125481B1 true KR101125481B1 (ko) 2012-03-20

Family

ID=42756467

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100074711A KR101125481B1 (ko) 2010-08-02 2010-08-02 스마트카드 기반의 3자간 키 교환 방법 및 시스템과 이에 사용되는 스마트카드 및 마이크로프로세서

Country Status (1)

Country Link
KR (1) KR101125481B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101599994B1 (ko) 2014-11-12 2016-03-04 고려대학교 산학협력단 신원기반 키교환 방법 및 시스템

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4995082A (en) * 1989-02-24 1991-02-19 Schnorr Claus P Method for identifying subscribers and for generating and verifying electronic signatures in a data exchange system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4995082A (en) * 1989-02-24 1991-02-19 Schnorr Claus P Method for identifying subscribers and for generating and verifying electronic signatures in a data exchange system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
정보보호학회논문지, 제16권, 제6호, 2006.12., 한국정보보호학회, 전일수, "스마트카드를 이용한 3자 참여 인증된 키교환 프로토콜", pp.73-80*

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101599994B1 (ko) 2014-11-12 2016-03-04 고려대학교 산학협력단 신원기반 키교환 방법 및 시스템

Also Published As

Publication number Publication date
KR20100091147A (ko) 2010-08-18

Similar Documents

Publication Publication Date Title
Amin et al. Design and analysis of bilinear pairing based mutual authentication and key agreement protocol usable in multi-server environment
US9698985B2 (en) Authentication
EP1134929B1 (en) Secure mutual network authentication and key exchange protocol
Wang Password protected smart card and memory stick authentication against off-line dictionary attacks
EP1248408B1 (en) Methods and apparatus for providing efficient password-authenticated key exchange
US8971540B2 (en) Authentication
JP6973385B2 (ja) 認証システム、認証方法およびプログラム
EP2905719B1 (en) Device and method certificate generation
US9106644B2 (en) Authentication
EP4046325B1 (en) Digital signature generation using a cold wallet
Moon et al. Improvement of efficient and secure smart card based password authentication scheme.
CN106130716A (zh) 基于认证信息的密钥交换系统及方法
CN112637131A (zh) 用户身份认证方法、装置、设备和存储介质
Odelu et al. A secure and efficient ECC‐based user anonymity preserving single sign‐on scheme for distributed computer networks
Li et al. Practical threshold multi-factor authentication
Lee et al. A computation-efficient three-party encrypted key exchange protocol
Mir et al. DAMFA: Decentralized anonymous multi-factor authentication
Chen et al. An efficient and secure smart card based authentication scheme
Zhu et al. A biometrics-based multi-server key agreement scheme on chaotic maps cryptosystem.
TWI383327B (zh) The use of wafer financial card in the ATM system cardholder authentication methods, systems and computer systems
Byun A generic multifactor authenticated key exchange with physical unclonable function
KR101125481B1 (ko) 스마트카드 기반의 3자간 키 교환 방법 및 시스템과 이에 사용되는 스마트카드 및 마이크로프로세서
KR20090074576A (ko) 스마트카드 기반의 3자간 키 교환 방법 및 시스템과 이에사용되는 스마트카드 및 마이크로프로세서
CN108737103B (zh) 一种应用于cs架构的sm2算法签名方法
Kaur et al. Fortification of transport layer security protocol by using password and fingerprint as identity authentication parameters

Legal Events

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

Payment date: 20150108

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee