KR20110090602A - 인증서버 없이 공개키를 인증하는 방법 및 장치 - Google Patents

인증서버 없이 공개키를 인증하는 방법 및 장치 Download PDF

Info

Publication number
KR20110090602A
KR20110090602A KR1020100010479A KR20100010479A KR20110090602A KR 20110090602 A KR20110090602 A KR 20110090602A KR 1020100010479 A KR1020100010479 A KR 1020100010479A KR 20100010479 A KR20100010479 A KR 20100010479A KR 20110090602 A KR20110090602 A KR 20110090602A
Authority
KR
South Korea
Prior art keywords
public key
value
generated
authentication
password
Prior art date
Application number
KR1020100010479A
Other languages
English (en)
Inventor
정배은
박태성
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020100010479A priority Critical patent/KR20110090602A/ko
Priority to US12/830,033 priority patent/US9043596B2/en
Publication of KR20110090602A publication Critical patent/KR20110090602A/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
    • 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/0841Key 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 Diffie-Hellman or related key agreement protocols
    • H04L9/0844Key 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 Diffie-Hellman or related key agreement protocols with user authentication or key authentication, e.g. ElGamal, MTI, MQV-Menezes-Qu-Vanstone protocol or Diffie-Hellman protocols using implicitly-certified keys
    • 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
    • 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/3271Cryptographic 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 challenge-response
    • 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/3271Cryptographic 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 challenge-response
    • H04L9/3273Cryptographic 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 challenge-response for mutual authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/80Wireless

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

공개키의 인증을 위한 별도의 서버없이 근접한 디바이스들이 상대방 디바이스의 공개키를 인증하기 위한 공개키 인증 방법 및 그에 대응되는 공개키 인증 장치가 개시된다.

Description

인증서버 없이 공개키를 인증하는 방법 및 장치{Method and apparatus for authenticating public key without authentication server}
본 발명은 공개키를 인증하는 방법 및 장치에 관한 것으로 보다 상세히는 인증서버 없이 공개키를 인증하는 방법 및 장치에 관한 것이다.
유무선 네트워크를 통해 수행되는 데이터의 송수신은 원격의 두 디바이스 사이에서 수행되기 때문에 보안의 위험에 노출되어 있다. 해킹이나 도청 등 데이터를 전송하거나 수신할 권한이 없는 디바이스에 의한 보안의 위험은 항상 존재한다. 이러한 보안상의 위험을 해결하기 위해 이용되는 보안 방법 중 하나가 보안키를 이용한 통신이다. 보안키로 데이터를 암호화하고 보안키를 알고있는 디바이스만이 데이터를 복호화하여 이용할 수 있게함으로써 보안의 위험을 해결한다.
대칭키 방식 또는 비대칭키 방식이 보안키를 생성하기 위한 알고리즘으로 이용된다. 비대칭키 방식은 데이터의 암호화에 사용되는 암호화키와 암호화된 데이터의 복호화에 사용되는 복호화키가 서로 상이한 방식인데 공개키 및 공개키에 대응되는 개인키를 이용해 데이터를 암호화하고, 복호화한다.
비대칭키 방식에서는 공개키가 특정 디바이스의 공개키임을 인증할 필요가 있다. 예를 들어, 공개키 A가 디바이스 A의 공개키인 것이 인증되어야 디바이스 A와 통신하는 디바이스 B가 디바이스 A로부터 수신한 데이터를 공개키 A를 이용해 데이터를 복호화할 수 있다. PKI(Public Key Instructure)에서는 인증을 담당하는 별도의 서버 즉, CA(Certificate Authority)를 두어 공개키를 인증한다.
본 발명이 해결하고자 하는 기술적 과제는 인증서버 없이 공개키를 인증하는 방법 및 장치를 제공하는데 있고, 상기 방법을 실행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 제공하는데 있다.
상기 기술적 과제를 해결하기 위한 본 발명의 일 실시예에 따른 제1 디바이스가 제2 디바이스의 공개키를 인증하는 방법은 상기 제2 디바이스의 화면에 표시된 패스워드 및 상기 제2 디바이스의 공개키에 기초해 생성된 제1 값 및 상기 제2 디바이스의 공개키를 상기 제2 디바이스로부터 수신하는 단계; 상기 제2 디바이스의 화면에 표시된 패스워드에 따라 상기 제1 디바이스의 사용자가 상기 제1 디바이스에 입력한 패스워드 및 상기 제2 디바이스의 공개키에 기초해 제2 값을 생성하는 단계; 및 상기 제1 값 및 제2 값에 기초해 상기 제2 디바이스의 공개키를 인증하는 단계를 포함한다.
본 발명의 또 다른 실시예에 따르면, 상기 제1 값은 상기 제2 디바이스의 화면에 표시된 패스워드, 상기 제2 디바이스의 공개키 및 소정의 난수에 기초해 생성된 비트열에 소정의 해시 함수를 적용하여 생성된 제1 해시 값이고, 상기 수신하는 단계는 상기 소정의 난수를 상기 제2 디바이스로부터 수신하는 단계를 더 포함한다.
본 발명의 또 다른 실시예에 따르면, 상기 제2 값은 상기 제1 디바이스의 사용자가 상기 제1 디바이스에 입력한 패스워드, 상기 제2 디바이스의 공개키 및 상기 제2 디바이스로부터 수신된 상기 소정의 난수에 기초해 생성된 비트열에 상기 해시 함수를 적용하여 생성된 제2 해시 값인 것을 특징으로 한다.
본 발명의 또 다른 실시예에 따르면, 상기 공개키 인증 방법은 상기 인증 결과에 따라 선택적으로 상기 인증된 제2 디바이스의 공개키 및 상기 제1 디바이스의 공개키에 대응되는 개인키에 기초해 전자 서명을 위한 제1 서명 값을 생성하는 단계; 및 상기 생성된 제1 서명값을 상기 제2 디바이스에 전송하는 단계를 더 포함한다.
상기 기술적 과제를 해결하기 위한 본 발명의 일 실시예에 따른 제2 디바이스가 제1 디바이스의 공개키를 인증하는 방법은 상기 제2 디바이스의 화면에 표시된 패스워드에 따라 상기 제1 디바이스의 사용자가 상기 제1 디바이스에 입력한 패스워드 및 상기 제1 디바이스의 공개키에 기초해 생성된 제3 값 및 상기 제1 디바이스의 공개키를 상기 제1 디바이스로부터 수신하는 단계; 상기 제2 디바이스의 화면에 표시된 패스워드 및 상기 제1 디바이스의 공개키에 기초해 제4 값을 생성하는 단계; 및 상기 제3 값 및 제4 값에 기초해 상기 제1 디바이스의 공개키를 인증하는 단계를 포함한다.
상기 기술적 과제를 해결하기 위한 본 발명의 일 실시예에 따른 제2 디바이스의 공개키를 인증하기 위한 제1 디바이스의 공개키 인증 장치는 상기 제2 디바이스의 화면에 표시된 패스워드 및 상기 제2 디바이스의 공개키에 기초해 생성된 제1 값 및 상기 제2 디바이스의 공개키를 상기 제2 디바이스로부터 수신하는 인증정보송수신부; 상기 제2 디바이스의 화면에 표시된 패스워드에 따라 상기 제1 디바이스의 사용자가 상기 제1 디바이스에 입력한 패스워드 및 상기 제2 디바이스의 공개키에 기초해 제2 값을 생성하는 인증값생성부; 및 상기 제1 값 및 제2 값에 기초해 상기 제2 디바이스의 공개키를 인증하는 인증부를 포함한다.
상기 기술적 과제를 해결하기 위한 본 발명의 일 실시예에 따른 제1 디바이스의 공개키를 인증하기 위한 제2 디바이스의 공개키 인증 장치는 상기 제2 디바이스의 화면에 표시된 패스워드에 따라 상기 제1 디바이스의 사용자가 상기 제1 디바이스에 입력한 패스워드 및 상기 제1 디바이스의 공개키에 기초해 생성된 제3 값 및 상기 제1 디바이스의 공개키를 상기 제1 디바이스로부터 수신하는 인증정보송수신부; 상기 제2 디바이스의 화면에 표시된 패스워드 및 상기 제1 디바이스의 공개키에 기초해 제4 값을 생성하는 인증값생성부; 및 상기 제3 값 및 제4 값에 기초해 상기 제1 디바이스의 공개키를 인증하는 인증부를 포함한다.
상기 기술적 과제를 해결하기 위해 본 발명의 일 실시예는 상기된 제1 디바이스의 공개키 인증 방법 및 제2 디바이스의 공개키 인증 방법을 실행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 제공한다.
본 발명에 따르면, 별도의 인증서버 없이도 공개키를 인증할 수 있어, 공개키의 인증을 위해 별도의 서버를 구비할 수 없는 디바이스들 사이의 통신을 위해 필요한 공개키를 보다 효율적으로 인증할 수 있다. 또한, 디바이스의 화면에 표시된 패스워드에 기초해 공개키의 인증이 수행되기 때문에 화면에 표시되는 패스워드를 볼 수 없는 디바이스는 공개키를 인증할 수 없어, 공개키 인증의 보안성을 크게 증가시킬 수 있다.
도 1은 본 발명의 일 실시예에 따른 두 디바이스 사이의 공개키를 인증하는 방법을 설명하기 위한 흐름도이다.
도 2a 및 2b는 본 발명의 일 실시예에 따른 공개키 인증을 위한 정보를 도시한다.
도 3은 본 발명의 일 실시예에 따른 제1 디바이스가 제2 디바이스의 공개키를 인증하는 방법을 설명하기 위한 흐름도이다.
도 4는 본 발명의 일 실시예에 따른 제2 디바이스가 제1 디바이스의 인증하는 방법을 설명하기 위한 흐름도이다.
도 5는 본 발명의 일 실시예에 따른 제1 디바이스를 도시한다.
도 6은 본 발명의 일 실시예에 따른 제2 디바이스를 도시한다.
이하에서는 본 발명의 바람직한 실시예들을 첨부한 도면들을 참조하여 상세히 설명한다.
도 1은 본 발명의 일 실시예에 따른 두 디바이스 사이의 공개키를 인증하는 방법을 설명하기 위한 흐름도이다. 도 1은 제1 디바이스 및 제2 디바이스가 하나의 공개키 인증 프로세스 안에서 각각 상대방 디바이스의 공개키를 인증하는 방법을 도시한다.
도 1을 참조하면, 단계 110에서 제1 디바이스 및 제2 디바이스는 각각 공개키 및 공개키에 대응되는 개인키를 생성한다. 제1 디바이스는 자신의 공개키 PK1 및 PK1에 대응되는 개인키 SK1을 생성하고, 제2 디바이스도 자신의 공개키 PK2 및 PK2에 대응되는 개인키 SK2를 생성한다. 공개키 및 개인키를 생성하는 방법에는 제한이 없으나, RSA(Rivest Shamir Adleman) 알고리즘에 따라 생성할 수 있다.
단계 112에서 제1 디바이스는 공개키 인증의 시작을 제2 디바이스에 알린다. 제1 디바이스의 사용자가 공개키 인증을 위한 어플리케이션을 제1 디바이스에서 구동함으로써 공개키 인증의 시작을 제2 디바이스에 알릴 수 있다.
그러나, 사용자가 반드시 제1 디바이스를 통해 공개키의 인증을 시작할 것을 제2 디바이스에 알릴 필요는 없으며, 사용자가 제1 디바이스 및 제2 디바이스를 각각 조작하여 공개키 인증을 시작할 수 있다. 예를 들어, 제1 디바이스에서 공개키 인증과 관련된 어플리케이션을 구동하고, 제2 디바이스에서도 공개키 인증과 관련된 어플리케이션을 동시에 구동하여, 이하의 단계들이 수행되게 할 수도 있다.
단계 114에서 제2 디바이스는 제2 디바이스의 화면에 소정의 패스워드(password)를 표시한다. 제2 디바이스의 화면을 보고있는 사용자가 사용하고 있는 제1 디바이스만 공개키를 인증할 수 있게 제2 디바이스의 화면에 소정의 패스워드를 표시한다. 패스워드는 제2 디바이스가 임의로 생성할 수 있다.
단계 116에서 제1 디바이스의 사용자는 제2 디바이스의 화면에 표시된 패스워드를 직접 육안으로 확인하고, 제1 디바이스의 입력 장치를 통해 화면에 표시된 패스워드를 제1 디바이스에 입력한다. 버튼, 터치 패드, 키보드 등 다양한 장치들이 입력 장치로서 이용될 수 있다.
단계 118에서 제2 디바이스는 제2 디바이스의 공개키(PK2), 소정의 난수(R2) 및 단계 114에서 화면에 표시된 패스워드(PW)에 기초해 소정의 값(H2)을 생성하여 제1 디바이스에 전송한다. 제2 디바이스의 공개키(PK2), 소정의 난수(R2) 및 패스워드(PW)를 연접(concatenate)한 비트열에 소정의 해시(hash) 함수를 적용해 해시값(H2)을 생성할 수 있다. 해시값(H2)을 생성하기 위해 패스워드를 이용하기 때문에 패스워드를 알고 있는 디바이스만이 공개키를 인증할 수 있다.
난수(R2)는 공개키 인증 프로세스에 임의성을 더욱 부가하기 위한 것으로 제2 디바이스가 임의로 생성한 값일 수 있다. 그러나, 난수(R2)를 제외한 제2 디바이스의 공개키(PK2) 및 패스워드(PW)를 연접한 비트열에 해시 함수를 적용해 해시값(H2)를 생성할 수 도 있다. 도 2a 및 도 2b를 참조하여 상세히 설명한다.
도 2a 및 2b는 본 발명의 일 실시예에 따른 공개키 인증을 위한 정보를 도시한다.
도 2a를 참조하면, 제2 디바이스는 단계 118에서 제1 디바이스에 전송하는 값(H2)을 생성하기 위해 공개키와 패스워드를 연접한 비트열을 이용할 수 있다. 공개키(PK2)와 패스워드(PW)를 연접한 비트열에 해시 함수를 적용하여 공개키 인증을 위한 정보로서 해시값(H2)을 생성할 수 있다.
도 2b를 참조하면, 제2 디바이스는 단계 118에서 제1 디바이스에 전송하는 값(h2)을 생성하기 위해 공개키, 난수 및 패스워드를 연접한 비트열을 이용할 수 있다. 공개키(PK2), 난수(R2) 및 패스워드(PW)를 연접한 비트열에 해시 함수를 적용하여 공개키 인증을 위한 정보로서 해시값(H2)을 생성할 수 있다.
도 2a 및 2b와 관련하여 전술한 데이터의 연접에 기초해 해시값을 생성하는 방법은 공개키, 난수 및 패스워드를 이용해 해시값을 생성하는 예시일 뿐이며, 다른 형태로 공개키, 난수 및 패스워드를 조합하여 해시값을 생성하는 방법이 본 발명에 적용될 수 있음은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 쉽게 알 수 있다. 예를 들어 공개키, 난수 및 패스워드의 비트 값들을 XOR(exclusive or)한 다음에 해시값을 생성할 수도 있고, 공개키, 난수 및 패스워드의 비트 값들을 모두 가산해 생성된 비트열에 해시값을 생성할 수도 있다.
다시 도 1을 참조하면, 단계 120에서 제1 디바이스는 제1 디바이스의 공개키(PK1), 소정의 난수(R1) 및 단계 114에서 화면에 표시된 패스워드(PW)에 기초해 소정의 값(H1)을 생성하여 제2 디바이스에 전송한다. 단계 118과 관련하여 전술한 바와 같이 제1 디바이스의 공개키(PK1), 소정의 난수(R1) 및 패스워드(PW)를 연접(concatenate)한 비트열에 해시 함수를 적용해 해시값(H1)을 생성할 수 있다. 해시 함수는 단계 118에서 해시값(H2)를 생성할 때 이용된 함수와 동일할 수 있다.
난수(R1)도 난수(R2)와 마찬가지로 공개키 인증 프로세스에 임의성을 더욱 부가하기 위한 것으로 제1 디바이스가 임의로 생성한 값이며, 도 2a에 도시된 바와 같이 난수(R1)를 제외한 제1 디바이스의 공개키(PK1) 및 패스워드(PW)를 연접한 비트열에 해시함수를 적용해 해시값(H1)을 생성할 수 있다.
단계 118 및 120의 순서는 도 1에 도시된 바와 상이할 수 있다. 단계 120이 단계 118에 비해 먼저 수행될 수 있으며, 단계 118과 120이 동시에 수행될 수도 있다.
단계 122에서 제2 디바이스는 제1 디바이스가 제2 디바이스의 공개키(PK2)를 인증할 수 있도록 제2 디바이스의 공개키(PK2) 및 난수(R2)를 전송한다. 단계 118에서 해시값(H2)을 생성할 때, 난수(R2)를 이용하지 않았다면, 난수(R2)는 전송하지 않는다.
단계 124에서 제1 디바이스는 제2 디바이스가 제1 디바이스의 공개키(PK2)를 인증할 수 있도록 제1 디바이스의 공개키(PK1) 및 난수(R1)를 전송한다. 단계 120에서 해시값(H1)을 생성할 때, 난수(R1)를 이용하지 않았다면, 난수(R1)는 전송하지 않는다.
단계 122 및 124의 순서는 도 1에 도시된 바와 상이할 수 있다. 단계 124가 단계 122에 비해 먼저 수행될 수 있으며, 단계 122과 124가 동시에 수행될 수도 있다.
단계 126에서 제1 디바이스는 제2 디바이스의 공개키(PK2)를 인증한다. 단계 118에서 수신된 해시값(H2)을 인증함으로써 제2 디바이스의 공개키(PK2)를 인증할 수 있다. 단계 122에서 수신된 제2 디바이스의 공개키(PK2) 및 난수(R2)를 단계 116에서 입력한 패스워드(PW)와 연접하여 비트열을 생성하고, 생성된 비트열에 단계 118에서 해시값(H2)을 생성하기 위해 적용한 해시 함수와 동일한 해시 함수를 적용하여 또 다른 해시값(H3)을 생성한다. 생성된 해시값(H3)이 단계 118에서 수신된 해시값(H2)과 동일한지 판단함으로써 해시값(H2)을 인증할 수 있다. 해시값(H3)이 해시값(H2)과 동일하다면, 제2 디바이스의 공개키(PK2)가 인증된다.
단계 128에서 제2 디바이스는 제1 디바이스의 공개키(PK1)를 인증한다. 단계 120에서 수신된 해시값(H1)을 인증함으로써 제1 디바이스의 공개키(PK1)을 인증할 수 있다. 단계 124에서 수신된 제1 디바이스의 공개키(PK1) 및 난수(R1)를 단계 114에서 제2 디바이스가 화면에 표시한 패스워드(PW)와 연접하여 비트열을 생성하고, 생성된 비트열에 단계 120에서 해시값(H1)을 생성하기 위해 적용한 해시 함수와 동일한 해시함수를 적용하여 또 다른 해시값(H4)를 생성한다. 생성된 해시값(H4)이 단계 120에서 수신된 해시값(H1)과 동일한지 판단함으로써 해시값(H1)을 인증할 수 있다. 해시값(H4)이 해시값(H1)과 동일하다면, 제1 디바이스의 공개키(PK1)가 인증된다.
단계 130에서 제1 디바이스는 제1 디바이스의 서명값(S1)을 생성한다. 본원 발명에 따른 공개키 인증 프로세스를 마친 후, 인증된 공개키에 따라 데이터를 송수신하는데 필요한 전자 서명을 위해 서명값을 생성한다. 제1 디바이스의 개인키(SK1) 및 단계 126에서 인증된 제2 디바이스의 공개키(PK2)에 기초해 서명값을 생성할 수 있다.
제1 디바이스의 공개키가 전술한 RSA 알고리즘에 따라 생성된 경우를 예로 들어 설명한다. RSA 알고리즘에 따라 생성된 제1 디바이스의 공개키(PK1)가 PK1=(e1, N1) 일 때, N1은 큰 소수 p1 및 q1의 곱이며, e1는 (p1-1)*(q1-1)와 서로소 관계에 있는 자연수이다. 제1 디바이스의 개인키(SK1)는 e1*SK1 mod (p1-1)*(q1-1)=1 을 만족하도록 정해진다.
제1 디바이스의 서명값(S1)을 생성하기 위해 제1 디바이스는 제2 디바이스의 공개키(PK2)를 이용해 S1=PK2SK1 mod N1을 이용해 S1을 생성할 수 있다. 제2 디바이스의 공개키(PK2) 대신에 제2 디바이스의 공개키(PK2)에 소정의 해시 함수를 적용go 생성된 m1=hash(PK2)를 이용할 수 있다. S1=m1SK1 mod N1에 따라 제1 디바이스의 서명값(S1)을 생성할 수 있다. 또한, m1 생성 시에 제2 디바이스의 시리얼 번호와 같은 고유 정보를 추가적으로 이용하여 m1을 생성할 수도 있다. 다시 말해, m1을 m1=hash(PK2, Serial2)와 같이 생성할 수 있다.
단계 132에서 제2 디바이스는 제2 디바이스의 서명값(S2)을 생성한다. 제2 디바이스의 개인키 및 단계 128에서 인증된 제1 디바이스의 공개키(PK1)에 기초해 서명값(S2)을 생성할 수 있다.
RSA 알고리즘에 따라 생성된 제2 디바이스의 공개키(PK2)가 PK2=(e2, N2) 일 때, N2는 큰 소수 p2 및 q2의 곱이며, e2는 (p2-1)*(q2-1)와 서로소 관계에 있는 자연수이다. 제2 디바이스의 개인키(SK2)는 e2*SK2 mod (p2-1)*(q2-1)=1 을 만족하도록 정해진다.
제2 디바이스의 서명값(S2)을 생성하기 위해 제2 디바이스는 제1 디바이스의 공개키(PK1)를 이용해 S2=PK1SK2 mod N2를 이용해 S2를 생성할 수 있다. 제1 디바이스의 공개키(PK1) 대신에 제1 디바이스의 공개키(PK1)에 소정의 해시 함수를 적용해 생성된 m2=hash(PK2)를 이용할 수 있다. S2=m2SK2 mod N2에 따라 제2 디바이스의 서명값(S2)을 생성할 수 있다. 또한, m2 생성 시에 제1 디바이스의 시리얼 번호와 같은 고유 정보를 추가적으로 이용하여 m2를 생성할 수도 있다. 다시 말해, m2를 m2=hash(PK1, Serial1)와 같이 생성할 수 있다.
단계 134에서 제1 디바이스는 단계 130에서 생성된 서명값을 제2 디바이스에 전송하고, 단계 136에서 제2 디바이스는 단계 136에서 생성된 서명값을 제1 디바이스에 전송한다.
단계 138에서 제1 디바이스는 제2 디바이스의 서명값(S2)을 확인하고, 저장한다. PK2'=S2e2 mod n2를 계산하고, 계산 결과 생성된 PK2'가 제2 디바이스의 인증된 공개키(PK2)와 동일한지 확인하여 서명값(S2)을 저장한다. 제2 디바이스의 서명값(S2)을 저장한다. 제2 디바이스가 단계 132에서 서명값(S2)을 생성할 때, m2=hash(PK2)를 이용하였다면, m2'=S2e2 mod n2를 계산하고, 계산 결과 생성된 m2'가 m2와 동일한지 확인하여 서명값(S2)을 저장한다.
단계 140에서 제2 디바이스는 제1 디바이스의 서명값(S1)을 확인하고, 저장한다. PK1'=S1e1 mod n1을 계산하고, 계산 결과 생성된 PK1'이 제1 디바이스의 인증된 공개키(PK1)와 동일한지 확인하여 서명값(S1)을 저장한다. 제1 디바이스의 서명값(S1)을 저장한다. 제1 디바이스가 단계 130에서 서명값(S1)을 생성할 때, m1=hash(PK1)를 이용하였다면, m1'=S1e1 mod n1을 계산하고, 계산 결과 생성된 m1'이 m1과 동일한지 확인하여 서명값(S1)을 저장한다.
도 3은 본 발명의 일 실시예에 따른 제1 디바이스가 제2 디바이스의 공개키를 인증하는 방법을 설명하기 위한 흐름도이다.
도 1은 제1 디바이스 및 제2 디바이스가 하나의 공개키 인증 프로세스 안에서 각각 상대방 디바이스의 공개키를 인증하는 방법을 도시한다. 그러나, 제1 디바이스가 제2 디바이스의 공개키를 인증하는 방법 및 제2 디바이스가 제1 디바이스의 공개키를 인증하는 방법은 독립적으로 수행될 수 있는 바, 도 3 및 도 4 이러한 방법들을 각각 도시한다.
도 3을 참조하면, 단계 310에서 제1 디바이스는 제2 디바이스로부터 제2 디바이스의 공개키를 인증하기 위해 필요한 정보를 수신한다. 제2 디바이스의 화면에 표시된 패스워드 및 제2 디바이스의 공개키에 기초해 생성된 제1 값을 수신한다. 도 1의 단계 118과 관련하여 전술한 바와 같이 패스워드(PW) 및 제2 디바이스의 공개키(PK2)를 연접한 비트열에 소정의 해시 함수를 적용하여 생성된 제1 해시값을 제2 디바이스로부터 수신할 수 있다. 또한, 제1 해시값은 패스워드(PW) 및 제2 디바이스의 공개키(PK2)는 물론 소정의 난수(R2)를 연접한 비트열에 소정의 해시함수를 적용하여 생성된 값일 수 있다.
제1 값과 함께 제1 값을 검증하기 위해서 제2 디바이스의 공개키도 수신한다. 제1 디바이스의 사용자가 제2 디바이스의 화면에 표시된 패스워드를 제1 디바이스에 직접 입력할 수 있으므로, 패스워드는 별도로 전송할 필요가 없다. 제1 값이 패스워드(PW), 제2 디바이스의 공개키(PK2) 및 난수(R2)를 연접한 비트열에 해시 함수를 적용하여 생성된 제1 해시값인 경우에는 도 1의 단계 122와 도시된 바와 같이 난수(R2)도 공개키와 함께 수신할 수 있다.
단계 320에서 제1 디바이스는 사용자가 입력한 패스워드 및 제2 디바이스의 공개키에 기초해 제2 값을 생성한다. 사용자가 제2 디바이스의 화면을 보고 직접 제1 디바이스의 입력 장치를 통해 패스워드(PW)를 입력하면, 입력된 패스워드(PW) 및 단계 310에서 수신된 제2 디바이스의 공개키(PK2)를 연접한 비트열에 해시 함수를 적용하여 제2 해시값을 생성한다. 제2 디바이스가 제1 해시값의 생성 시에 적용한 함수와 동일한 해시 함수를 적용하여 제2 해시값을 생성한다.
제1 해시값의 생성시에 난수(R2)도 이용하였다면, 단계 310에서 난수(R2)도 수신하여, 입력된 패스워드(PW), 제2 디바이스의 공개키(PK2) 및 난수(R2)를 연접한 비트열에 해시 함수를 적용해 제2 해시값을 생성한다.
단계 330에서 제1 디바이스는 단계 310에서 수신된 제1 값 및 단계 320에서 생성된 제2 값에 기초해 제2 디바이스의 공개키를 인증한다. 단계 310에서 수신된 제1 값이 단계 320에서 생성된 제2 값과 동일한지 판단하여 동일한 것으로 판단되면, 제2 디바이스의 공개키가 인증된다.
단계 340에서 제1 디바이스는 단계 330에서 제2 디바이스의 공개키가 인증되었는지 판단한다.
단계 330에서 제1 값과 제2 값이 동일하여 제2 디바이스의 공개키가 인증되었으면, 단계 350에서 제1 디바이스의 서명값을 생성한다. 제1 디바이스의 서명값(S1)을 생성하는 방법은 도 1의 단계 130과 관련하여 전술하였다.
단계 360에서 제1 디바이스는 단계 350에서 생성된 제1 서명값을 제2 디바이스에 전송한다.
도 4는 본 발명의 일 실시예에 따른 제2 디바이스가 제1 디바이스의 인증하는 방법을 설명하기 위한 흐름도이다.
도 4를 참조하면, 단계 410에서 제2 디바이스는 제1 디바이스로부터 제1 디바이스의 공개키를 인증하기 위해 필요한 정보를 수신한다. 제2 디바이스의 화면에 표시된 패스워드에 따라 사용자가 제1 디바이스에 입력한 패스워드 및 제1 디바이스의 공개키에 기초해 생성된 제3 값을 수신한다. 도 1의 단계 120과 관련하여 전술한 바와 같이 사용자가 입력한 패스워드(PW) 및 제1 디바이스의 공개키(PK1)를 연접한 비트열에 소정의 해시 함수를 적용하여 생성된 제3 해시값을 제1 디바이스로부터 수신할 수 있다. 또한 제3 해시값은 사용자가 입력한 패스워드(PW) 및 제1 디바이스의 공개키(PK1)는 물론 소정의 난수(R1)를 연접한 비트열에 소정의 해시 함수를 적용하여 생성된 값일 수 있다.
제3 값과 함께 제3 값을 검증하기 위해서 제1 디바이스의 공개키도 수신한다. 제3 값을 생성할 때 이용된 패스워드는 제2 디바이스의 화면에 표시된 패스워드를 사용자가 제1 디바이스에 입력한 것이므로, 별도로 수신할 필요가 없다. 제1 값이 패스워드(PW), 제1 디바이스의 공개키(PK1) 및 난수(R1)를 연접한 비트열에 해시 함수를 적용하여 생성된 제3 해시값인 경우에는 도 1의 단계 124와 도시된 바와 같이 난수(R1)도 공개키와 함께 수신할 수 있다.
단계 420에서 제2 디바이스는 제2 디바이스의 화면에 표시된 패스워드 및 제1 디바이스의 공개키에 기초해 제4 값을 생성한다. 화면에 표시된 패스워드 및 단계 410에서 수신된 제1 디바이스의 공개키(PK1)를 연접한 비트열에 해시 함수를 적용하여 제4 해시값을 생성한다. 제1 디바이스가 제3 해시값의 생성 시에 적용한 해시 함수와 동일한 함수를 적용하여 제4 해시값을 생성한다.
제1 디바이스가 제3 해시값의 생성 시에 난수(R1)도 이용하였다면, 단계 410에서 난수(R1)도 수신하여, 화면에 표시된 패스워드(PW), 제1 디바이스의 공개키(PK1) 및 난수(R1)를 연접한 비트열에 해시 함수를 적용해 제4 해시 값을 생성한다.
단계 430에서 제2 디바이스는 단계 410에서 수신된 제3 값 및 단계 420에서 생성된 제4 값에 기초해 제1 디바이스의 공개키를 인증한다. 단계 510에서 수신된 제3 값이 단계 420에서 생성된 제4 값과 동일한지 판단하여 동일한 것으로 판단되면, 제2 디바이스의 공개키가 인증된다.
단계 440에서 제2 디바이스는 단계 430에서 제1 디바이스의 공개키가 인증되었는지 판단한다.
단계 430에서 제3 값과 제4 값이 동일하여 제1 디바이스의 공개키가 인증되었으면, 단계 450에서 제2 디바이스의 서명값을 생성한다. 제2 디바이스의 서명값(S2)을 생성하는 방법은 도 1의 단계 132과 관련하여 전술하였다.
단계 460에서 제2 디바이스는 단계 450에서 생성된 제2 서명값을 제1 디바이스에 전송한다.
도 5는 본 발명의 일 실시예에 따른 제1 디바이스를 도시한다.
도 5를 참조하면, 본 발명의 일 실시예에 따른 제1 디바이스(500)는 인증정보생성부(510), 인증정보송수신부(520), 인증값생성부(530), 인증부(540), 서명값생성부(550) 및 서명값송수신부(560)를 포함한다.
인증정보생성부(510)는 제2 디바이스(600)가 제1 디바이스(500)의 공개키를 인증하기 위해 필요한 인증 정보를 생성한다. 도 1의 단계 120에서 제1 디바이스(500)가 제2 디바이스(600)에 전송하는 값(H1)을 생성한다. 제1 디바이스(500)의 사용자가 제2 디바이스(600)의 화면에 표시된 패스워드에 따라 입력한 패스워드 및 제1 디바이스(500)의 공개키에 기초해 소정의 값(H1)을 생성한다. 사용자가 입력한 패스워드 및 제1 디바이스(500)의 공개키를 연접한 비트열에 해시 함수를 적용하여 해시값을 생성하거나, 사용자가 입력한 패스워드, 제1 디바이스(500)의 공개키 및 소정의 난수(R1)를 연접한 비트열에 해시 함수를 적용하여 해시값을 생성할 수 있다.
인증정보송수신부(520)는 인증정보생성부(510)에서 생성된 제2 디바이스(600)가 제1 디바이스(500)의 공개키를 인증하기 위해 필요한 정보를 제2 디바이스(600)에 전송한다. 전술한 소정의 값(H1)을 전송한다. 제1 디바이스(500)의 공개키 및 난수(R1)도 함께 제2 디바이스(600)에 전송한다.
또한, 인증정보송수신부(520)는 제2 디바이스(600)의 공개키를 인증하기 위해 필요한 정보를 제2 디바이스(600)로부터 수신한다. 제2 디바이스(600)의 화면에 표시된 패스워드 및 제2 디바이스(600)의 공개키에 기초해 생성된 소정의 값(H2)을 수신한다. 수신된 소정의 값(H2)은 제2 디바이스(600)의 화면에 표시된 패스워드 및 제2 디바이스(600)의 공개키를 연접한 비트열에 해시 함수를 적용하여 생성된 해시값 또는, 화면에 표시된 패스워드, 제2 디바이스(600)의 공개키 및 소정의 난수(R2)를 연접한 비트열에 해시 함수를 적용하여 생성된 해시값일 수 있다. 또한, 제2 디바이스(600)의 공개키 및 난수(R2)도 함께 제2 디바이스(600)로부터 수신할 수 있다.
인증값생성부(530)는 인증정보송수신부(520)가 제2 디바이스(600)로부터 수신한 소정의 값(H2)을 인증하기 위한 인증값을 생성한다. 사용자가 제2 디바이스(600)의 화면에 표시된 패스워드에 따라 사용자가 제1 디바이스(500)에 입력한 패스워드 및 제2 디바이스(600)의 공개키(PK2)에 기초해 인증값(H3)을 생성한다. 인증값(H3)을 생성하는 방법은 도 1의 단계 126과 관련하여 전술하였다.
인증부(540)는 인증정보송수신부(520)가 제2 디바이스(600)로부터 수신한 소정의 값(H2)이 인증값생성부(530)에서 생성된 인증값과 동일한지 판단한다. 동일하다면, 제2 디바이스(600)의 공개키가 인증되고, 상이하다면, 제2 디바이스(600)의 공개키는 인증되지 않는다.
인증부(540)의 판단 결과, 제2 디바이스(600)의 공개키가 인증되면, 서명값생성부(550)는 인증된 제2 디바이스(600)의 공개키에 기초해 제1 디바이스의 서명값(S1)을 생성한다. 서명값을 생성하는 방법은 도 1의 단계 130과 관련하여 전술하였다.
서명값송수신부(560)는 서명값생성부(550)에서 생성된 제1 디바이스의 서명값(S1)을 제2 디바이스에 전송한다. 또한, 서명값송수신부(560)는 제2 디바이스(600)가 제1 디바이스(500)의 공개키를 인증하여 전송한 제2 디바이스(600)의 서명값(S2)을 수신하고, 확인한 후 저장할 수 있다. 서명값의 확인 및 저장과 관련해서는 도 1의 단계 138과 관련하여 전술하였다.
도 6은 본 발명의 일 실시예에 따른 제2 디바이스를 도시한다.
도 6을 참조하면, 본 발명의 일 실시예에 따른 제2 디바이스(600)는 인증정보생성부(610), 인증정보송수신부(620), 인증값생성부(630), 인증부(640), 서명값생성부(650) 및 서명값송수신부(660)를 포함한다.
인증정보생성부(610)는 제1 디바이스(500)가 제2 디바이스(600)의 공개키를 인증하기 위해 필요한 인증 정보를 생성한다. 도 1의 단계 118에서 제2 디바이스(600)가 제1 디바이스(500)에 전송하는 값(H2)을 생성한다. 제2 디바이스(600)의 화면에 표시된 패스워드, 제2 디바이스(600)의 공개키에 기초해 소정의 값(H2)을 생성한다. 화면에 표시된 패스워드 및 제2 디바이스(600)의 공개키를 연접한 비트열에 해시 함수를 적용하여 해시값을 생성하거나, 화면에 표시된 패스워드, 제2 디바이스(600)의 공개키 및 소정의 난수(R2)를 연접한 비트열에 해시 함수를 적용하여 해시값을 생성할 수 있다.
인증정보송수신부(620)는 인증정보생성부(610)에서 생성된 제1 디바이스(500)가 제2 디바이스(600)의 공개키를 인증하기 위해 필요한 정보를 제1 디바이스(500)에 전송한다. 전술한 소정의 값(H2)을 전송한다. 제2 디바이스(600)의 공개키 및 난수(R2)도 함께 제1 디바이스(500)에 전송한다.
또한, 인증정보송수신부(620)는 제1 디바이스(500)의 공개키를 인증하기 위해 필요한 정보를 제1 디바이스(500)로부터 수신한다. 제2 디바이스(600)의 화면에 표시된 패스워드에 따라 사용자가 제1 디바이스(500)에 입력한 패스워드 및 제1 디바이스(500)의 공개키에 기초해 생성된 소정의 값(H1)을 수신한다. 수신된 소정의 값(H1)은 사용자가 입력한 패스워드 및 제1 디바이스(500)의 공개키를 연접한 비트열에 해시 함수를 적용하여 생성된 해시값 또는, 사용자가 입력한 패스워드, 제1 디바이스(500)의 공개키 및 소정의 난수(R1)를 연접한 비트열에 해시 함수를 적용하여 생성된 해시값일 수 있다. 또한, 제1 디바이스(500)의 공개키 및 난수(R1)도 함께 제1 디바이스(500)로부터 수신할 수 있다.
인증값생성부(630)는 인증정보송수신부(620)가 제1 디바이스(500)로부터 수신한 소정의 값(H1)을 인증하기 위한 인증값을 생성한다. 제2 디바이스(600)의 화면에 표시된 패스워드 및 제1 디바이스(500)의 공개키(PK1)에 기초해 인증값(H4)을 생성한다. 인증값(H4)을 생성하는 방법은 도 1의 단계 128과 관련하여 전술하였다.
인증부(640)는 인증정보송수신부(620)가 제1 디바이스(500)로부터 수신한 소정의 값(H1)이 인증값생성부(630)에서 생성된 인증값과 동일한지 판단한다. 동일하다면, 제1 디바이스(500)의 공개키가 인증되고, 상이하다면, 제1 디바이스(500)의 공개키는 인증되지 않는다.
인증부(640)의 판단 결과, 제1 디바이스(500)의 공개키가 인증되면, 서명값생성부(650)는 인증된 제1 디바이스(500)의 공개키에 기초해 제2 디바이스의 서명값(S2)을 생성한다. 서명값을 생성하는 방법은 도 1의 단계 132와 관련하여 전술하였다.
서명값송수신부(660)는 서명값생성부(650)에서 생성된 제2 디바이스의 서명값(S2)을 제1 디바이스에 전송한다. 또한, 서명값송수신부(660)는 제1 디바이스(500)가 제2 디바이스(600)의 공개키를 인증하여 전송한 제1 디바이스(500)의 서명값(S1)을 수신하고, 확인한 후 저장할 수 있다. 서명값의 확인 및 저장과 관련해서는 도 1의 단계 140과 관련하여 전술하였다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명이 상기의 실시예에 한정되는 것은 아니며, 이는 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 따라서, 본 발명의 사상은 아래에 기재된 특허청구범위에 의해서만 파악되어야 하고, 이와 균등하거나 또는 등가적인 변형 모두는 본 발명 사상의 범주에 속한다 할 것이다. 또한, 본 발명에 따른 시스템은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다.
예를 들어, 본 발명의 예시적인 실시예에 따른 공개키 인증 장치는 도 5및 도 6에 도시된 바와 같은 장치의 각각의 유닛들에 커플링된 버스, 상기 버스에 결합된 적어도 하나의 프로세서를 포함할 수 있다. 또한, 명령, 수신된 메시지 또는 생성된 메시지를 저장하기 위해 상기 버스에 결합되어, 전술한 바와 같은 명령들을 수행하기 위한 적어도 하나의 프로세서에 커플링된 메모리를 포함할 수 있다.
또한, 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
510... 인증정보생성부
520... 인증정보송수신부
530... 인증값생성부
540... 인증부
550... 서명값생성부
560... 서명값송수신부
610... 인증정보생성부
620... 인증정보송수신부
630... 인증값생성부
640... 인증부
650... 서명값생성부
660... 서명값송수신부

Claims (17)

  1. 제1 디바이스가 제2 디바이스의 공개키를 인증하는 방법에 있어서,
    상기 제2 디바이스의 화면에 표시된 패스워드 및 상기 제2 디바이스의 공개키에 기초해 생성된 제1 값 및 상기 제2 디바이스의 공개키를 상기 제2 디바이스로부터 수신하는 단계;
    상기 제2 디바이스의 화면에 표시된 패스워드에 따라 상기 제1 디바이스의 사용자가 상기 제1 디바이스에 입력한 패스워드 및 상기 제2 디바이스의 공개키에 기초해 제2 값을 생성하는 단계; 및
    상기 제1 값 및 제2 값에 기초해 상기 제2 디바이스의 공개키를 인증하는 단계를 포함하는 것을 특징으로 하는 공개키 인증 방법.
  2. 제 1 항에 있어서,
    상기 제1 값은 상기 제2 디바이스의 화면에 표시된 패스워드, 상기 제2 디바이스의 공개키 및 소정의 난수에 기초해 생성된 비트열에 소정의 해시 함수를 적용하여 생성된 제1 해시 값이고,
    상기 수신하는 단계는 상기 소정의 난수를 상기 제2 디바이스로부터 수신하는 단계를 더 포함하는 것을 특징으로 하는 공개키 인증 방법.
  3. 제 2 항에 있어서,
    상기 제2 값은 상기 제1 디바이스의 사용자가 상기 제1 디바이스에 입력한 패스워드, 상기 제2 디바이스의 공개키 및 상기 제2 디바이스로부터 수신된 상기 소정의 난수에 기초해 생성된 비트열에 상기 해시 함수를 적용하여 생성된 제2 해시 값인 것을 특징으로 하는 공개키 인증 방법.
  4. 제 1 항에 있어서,
    상기 인증 결과에 따라 선택적으로 상기 인증된 제2 디바이스의 공개키 및 상기 제1 디바이스의 공개키에 대응되는 개인키에 기초해 전자 서명을 위한 제1 서명 값을 생성하는 단계; 및
    상기 생성된 제1 서명값을 상기 제2 디바이스에 전송하는 단계를 더 포함하는 것을 특징으로 하는 공개키 인증 방법.
  5. 제2 디바이스가 제1 디바이스의 공개키를 인증하는 방법에 있어서,
    상기 제2 디바이스의 화면에 표시된 패스워드에 따라 상기 제1 디바이스의 사용자가 상기 제1 디바이스에 입력한 패스워드 및 상기 제1 디바이스의 공개키에 기초해 생성된 제3 값 및 상기 제1 디바이스의 공개키를 상기 제1 디바이스로부터 수신하는 단계;
    상기 제2 디바이스의 화면에 표시된 패스워드 및 상기 제1 디바이스의 공개키에 기초해 제4 값을 생성하는 단계; 및
    상기 제3 값 및 제4 값에 기초해 상기 제1 디바이스의 공개키를 인증하는 단계를 포함하는 것을 특징으로 하는 공개키 인증 방법.
  6. 제 5 항에 있어서,
    상기 제3 값은 상기 제2 디바이스의 화면에 표시된 패스워드에 따라 상기 제1 디바이스의 사용자가 상기 제1 디바이스에 입력한 패스워드, 상기 제1 디바이스의 공개키 및 소정의 난수에 기초해 생성된 비트열에 소정의 해시 함수를 적용하여 생성된 제3 해시 값이고,
    상기 수신하는 단계는 상기 소정의 난수를 상기 제1 디바이스로부터 수신하는 단계를 더 포함하는 것을 특징으로 하는 공개키 인증 방법.
  7. 제 6 항에 있어서,
    상기 제4 값은 상기 제2 디바이스의 화면에 표시된 패스워드, 상기 제1 디바이스의 공개키 및 상기 제1 디바이스로부터 수신된 소정의 난수에 기초해 생성된 비트열에 상기 해시 함수를 적용하여 생성된 제4 해시 값인 것을 특징으로 하는 공개키 인증 방법.
  8. 제 5 항에 있어서,
    상기 인증 결과에 따라 선택적으로 상기 인증된 제1 디바이스의 공개키 및 상기 제2 디바이스의 공개키에 대응되는 개인키에 기초해 전자 서명을 위한 제2 서명 값을 생성하는 단계; 및
    상기 생성된 제2 서명값을 상기 제2 디바이스에 전송하는 단계를 더 포함하는 것을 특징으로 하는 공개키 인증 방법.
  9. 제2 디바이스의 공개키를 인증하기 위한 제1 디바이스의 공개키 인증 장치에 있어서,
    상기 제2 디바이스의 화면에 표시된 패스워드 및 상기 제2 디바이스의 공개키에 기초해 생성된 제1 값 및 상기 제2 디바이스의 공개키를 상기 제2 디바이스로부터 수신하는 인증정보송수신부;
    상기 제2 디바이스의 화면에 표시된 패스워드에 따라 상기 제1 디바이스의 사용자가 상기 제1 디바이스에 입력한 패스워드 및 상기 제2 디바이스의 공개키에 기초해 제2 값을 생성하는 인증값생성부; 및
    상기 제1 값 및 제2 값에 기초해 상기 제2 디바이스의 공개키를 인증하는 인증부를 포함하는 것을 특징으로 하는 공개키 인증 장치.
  10. 제 9 항에 있어서,
    상기 제1 값은 상기 제2 디바이스의 화면에 표시된 패스워드, 상기 제2 디바이스의 공개키 및 소정의 난수에 기초해 생성된 비트열에 소정의 해시 함수를 적용하여 생성된 제1 해시 값이고,
    상기 인증정보수신부는 상기 소정의 난수를 상기 제2 디바이스로부터 수신하는 것을 특징으로 하는 공개키 인증 장치.
  11. 제 10 항에 있어서,
    상기 제2 값은 상기 제1 디바이스의 사용자가 상기 제1 디바이스에 입력한 패스워드, 상기 제2 디바이스의 공개키 및 상기 제2 디바이스로부터 수신된 상기 소정의 난수에 기초해 생성된 비트열에 상기 해시 함수를 적용하여 생성된 제2 해시 값인 것을 특징으로 하는 공개키 인증 장치.
  12. 제 9 항에 있어서,
    상기 인증 결과에 따라 선택적으로 상기 인증된 제2 디바이스의 공개키 및 상기 제1 디바이스의 공개키에 대응되는 개인키에 기초해 전자 서명을 위한 제1 서명 값을 생성하는 서명값생성부; 및
    상기 생성된 제1 서명값을 상기 제2 디바이스에 전송하는 서명값송수신부를 더 포함하는 것을 특징으로 하는 공개키 인증 장치.
  13. 제1 디바이스의 공개키를 인증하기 위한 제2 디바이스의 공개키 인증 장치에 있어서,
    상기 제2 디바이스의 화면에 표시된 패스워드에 따라 상기 제1 디바이스의 사용자가 상기 제1 디바이스에 입력한 패스워드 및 상기 제1 디바이스의 공개키에 기초해 생성된 제3 값 및 상기 제1 디바이스의 공개키를 상기 제1 디바이스로부터 수신하는 인증정보송수신부;
    상기 제2 디바이스의 화면에 표시된 패스워드 및 상기 제1 디바이스의 공개키에 기초해 제4 값을 생성하는 인증값생성부; 및
    상기 제3 값 및 제4 값에 기초해 상기 제1 디바이스의 공개키를 인증하는 인증부를 포함하는 것을 특징으로 하는 공개키 인증 장치.
  14. 제 13 항에 있어서,
    상기 제3 값은 상기 제2 디바이스의 화면에 표시된 패스워드에 따라 상기 제1 디바이스의 사용자가 상기 제1 디바이스에 입력한 패스워드, 상기 제1 디바이스의 공개키 및 소정의 난수에 기초해 생성된 비트열에 소정의 해시 함수를 적용하여 생성된 제3 해시 값이고,
    상기 인증정보수신부는 상기 소정의 난수를 상기 제1 디바이스로부터 수신하는 것을 특징으로 하는 공개키 인증 장치.
  15. 제 14 항에 있어서,
    상기 제4 값은 상기 제2 디바이스의 화면에 표시된 패스워드, 상기 제1 디바이스의 공개키 및 상기 제1 디바이스로부터 수신된 소정의 난수에 기초해 생성된 비트열에 상기 해시 함수를 적용하여 생성된 제4 해시 값인 것을 특징으로 하는 공개키 인증 장치.
  16. 제 13 항에 있어서,
    상기 인증 결과에 따라 선택적으로 상기 인증된 제1 디바이스의 공개키 및 상기 제2 디바이스의 공개키에 대응되는 개인키에 기초해 전자 서명을 위한 제2 서명 값을 생성하는 서명값생성부; 및
    상기 생성된 제2 서명값을 상기 제2 디바이스에 전송하는 서명값송수신부를 더 포함하는 것을 특징으로 하는 공개키 인증 장치.
  17. 제 1 항 내지 제 8 항 중 어느 한 항의 방법을 실행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체.
KR1020100010479A 2010-02-04 2010-02-04 인증서버 없이 공개키를 인증하는 방법 및 장치 KR20110090602A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020100010479A KR20110090602A (ko) 2010-02-04 2010-02-04 인증서버 없이 공개키를 인증하는 방법 및 장치
US12/830,033 US9043596B2 (en) 2010-02-04 2010-07-02 Method and apparatus for authenticating public key without authentication server

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100010479A KR20110090602A (ko) 2010-02-04 2010-02-04 인증서버 없이 공개키를 인증하는 방법 및 장치

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020160107895A Division KR20160104603A (ko) 2016-08-24 2016-08-24 인증서버 없이 공개키를 인증하는 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20110090602A true KR20110090602A (ko) 2011-08-10

Family

ID=44342658

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100010479A KR20110090602A (ko) 2010-02-04 2010-02-04 인증서버 없이 공개키를 인증하는 방법 및 장치

Country Status (2)

Country Link
US (1) US9043596B2 (ko)
KR (1) KR20110090602A (ko)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9294281B2 (en) * 2012-02-10 2016-03-22 Microsoft Technology Licensing, Llc Utilization of a protected module to prevent offline dictionary attacks
EP2862115B1 (en) * 2012-06-18 2021-04-07 OLogN Technologies AG Secure password management systems, methods and apparatuses
US20150113283A1 (en) * 2012-06-23 2015-04-23 Pomian & Corella Protecting credentials against physical capture of a computing device
KR102013841B1 (ko) * 2012-08-06 2019-08-23 삼성전자주식회사 데이터의 안전한 저장을 위한 키 관리 방법 및 그 장치
US9521130B2 (en) * 2012-09-25 2016-12-13 Virnetx, Inc. User authenticated encrypted communication link
US9369276B2 (en) 2013-03-14 2016-06-14 Signority Inc. Digital signature authentication without a certification authority
US10396984B2 (en) 2014-05-02 2019-08-27 Barclays Services Limited Apparatus and system having multi-party cryptographic authentication
US9825758B2 (en) * 2014-12-02 2017-11-21 Microsoft Technology Licensing, Llc Secure computer evaluation of k-nearest neighbor models
US9787647B2 (en) 2014-12-02 2017-10-10 Microsoft Technology Licensing, Llc Secure computer evaluation of decision trees
US11461456B1 (en) * 2015-06-19 2022-10-04 Stanley Kevin Miles Multi-transfer resource allocation using modified instances of corresponding records in memory
DE102016115936A1 (de) 2016-08-26 2018-03-01 Fujitsu Technology Solutions Intellectual Property Gmbh Verfahren zum sicheren Koppeln eines Eingabegeräts mit einem Computersystem
US11562058B2 (en) 2020-02-05 2023-01-24 Quantum Digital Solutions Corporation Systems and methods for participating in a digital ecosystem using digital genomic data sets
IL304962A (en) 2021-02-04 2023-10-01 Quantum Digital Solutions Corp Cyphergenic based security platforms (CYPHERGENIC)

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6192474B1 (en) 1998-07-31 2001-02-20 Lucent Technologies Inc. Method for establishing a key using over-the-air communication and password protocol and password protocol
FI114062B (fi) 2001-06-08 2004-07-30 Nokia Corp Menetelmä tiedonsiirron turvallisuuden varmistamiseksi, tiedonsiirtojärjestelmä ja tiedonsiirtolaite
US7142674B2 (en) * 2002-06-18 2006-11-28 Intel Corporation Method of confirming a secure key exchange
US7260714B2 (en) * 2002-08-20 2007-08-21 Sony Corporation System and method for authenticating wireless component
US7594114B2 (en) * 2002-09-16 2009-09-22 General Electric Company Authentication apparatus and method for universal appliance communication controller
US7694136B2 (en) * 2003-02-10 2010-04-06 International Business Machines Corporation Method for distributing and authenticating public keys using hashed password protection
US7912788B2 (en) * 2004-09-29 2011-03-22 Pitney Bowes Inc. Mutual authentication system and method for protection of postal security devices and infrastructure
US7739513B2 (en) * 2005-02-22 2010-06-15 Sony Corporation Secure device authentication
EP1710764A1 (en) * 2005-04-07 2006-10-11 Sap Ag Authentication of products using identification tags
KR101014849B1 (ko) 2005-12-02 2011-02-15 고려대학교 산학협력단 제 3의 신뢰기관의 도움 없이 공개키에 대한 상호 인증 및키 교환 방법 및 그 장치
KR20070105826A (ko) 2006-04-27 2007-10-31 삼성전자주식회사 공개키 인증시스템 및 그 인증방법
US9013266B2 (en) * 2006-09-08 2015-04-21 Certicom Corp. Authenticated radio frequency identification and key distribution system therefor
US7899188B2 (en) * 2007-05-31 2011-03-01 Motorola Mobility, Inc. Method and system to authenticate a peer in a peer-to-peer network
US8176328B2 (en) * 2008-09-17 2012-05-08 Alcatel Lucent Authentication of access points in wireless local area networks

Also Published As

Publication number Publication date
US9043596B2 (en) 2015-05-26
US20110191586A1 (en) 2011-08-04

Similar Documents

Publication Publication Date Title
KR20110090602A (ko) 인증서버 없이 공개키를 인증하는 방법 및 장치
US11323276B2 (en) Mutual authentication of confidential communication
CN107124274B (zh) 基于sm2的数字签名方法和装置
US20070174618A1 (en) Information security apparatus and information security system
JP4130653B2 (ja) 擬似公開鍵暗号方法及びシステム
CN110268676A (zh) 基于身份的自认证签名方案的私有密钥计算系统和方法
KR20080004165A (ko) 브로드캐스트 암호화를 이용한 디바이스 인증 방법
JP6950745B2 (ja) 鍵交換装置、鍵交換システム、鍵交換方法、及び鍵交換プログラム
CN103678174A (zh) 数据安全方法、存储装置和数据安全系统
CN109951276B (zh) 基于tpm的嵌入式设备远程身份认证方法
CN103684798A (zh) 一种用于分布式用户服务间认证系统
CN106972924A (zh) 加密、解密、电子签章、验证签章的方法及装置
JP2015226132A (ja) 署名検証システム、通信装置、検証装置、署名生成方法、及び署名検証方法
JP5324813B2 (ja) 鍵生成装置、証明書生成装置、サービス提供システム、鍵生成方法、証明書生成方法、サービス提供方法およびプログラム
US20190294417A1 (en) Method and system for deriving deterministic prime number
CN103138923B (zh) 一种节点间认证方法、装置及系统
JP5171787B2 (ja) サインクリプションシステムおよびサインクリプション生成方法
CN108933659A (zh) 一种智能电网的身份验证系统及验证方法
CN111327415A (zh) 一种联盟链数据保护方法及装置
JP5004086B2 (ja) 短い系列を用いた認証システム
KR20160104603A (ko) 인증서버 없이 공개키를 인증하는 방법 및 장치
KR20220143557A (ko) 암호화 장치, 암호화 장치를 포함하는 시스템의 인증 방법 및 서명을 생성하는 방법
JP2011250335A (ja) 効率的相互認証方法,プログラム,及び装置
US20220337425A1 (en) Encryption device and authentication method and signature generating method of system including the same
JP2018148293A (ja) クレデンシャル生成システム及び方法、クライアント端末、サーバ装置、発行依頼装置、クレデンシャル発行装置並びにプログラム

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
A107 Divisional application of patent