KR20090083440A - 데이터와 암호화 공개 키의 결합 및 그 검증 - Google Patents

데이터와 암호화 공개 키의 결합 및 그 검증 Download PDF

Info

Publication number
KR20090083440A
KR20090083440A KR1020097011388A KR20097011388A KR20090083440A KR 20090083440 A KR20090083440 A KR 20090083440A KR 1020097011388 A KR1020097011388 A KR 1020097011388A KR 20097011388 A KR20097011388 A KR 20097011388A KR 20090083440 A KR20090083440 A KR 20090083440A
Authority
KR
South Korea
Prior art keywords
predetermined
user data
integer
public key
random
Prior art date
Application number
KR1020097011388A
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 노키아 코포레이션
Publication of KR20090083440A publication Critical patent/KR20090083440A/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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/302Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the integer factorization problem, e.g. RSA or quadratic sieve [QS] schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • 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/06Cryptographic 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/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher

Landscapes

  • Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명은 사용자 데이터를 공개 키와 연관시켜 공개 키 및 사설 키의 키 쌍의 생성을 허용하며, 그 관계를 암호학적으로 검증하는데 필요한 검증 데이터가 키 쌍을 손상시키지 않은 채 공개 될 수 있도록 한다. 공개 키 안에서 공개 지수로서 사용될 정수가 공개 키와 연관될 사용자 데이터의 함수가 되도록 도출된다.

Description

데이터와 암호화 공개 키의 결합 및 그 검증{Association of a cryptographic public key with data and verification thereof}
본 발명은 암호화에 관한 것이다. 특히, 본 발명은 신규하고도 진일보된 암호화 공개키와 데이터의 결합에 관한 것이다.
현재의 컴퓨터 지원 암호화 기술들은 대칭과 비대칭이라는 두 개의 주요 분야로 분류될 수 있다. 대칭 암호화 기술들은 메시지 암호화 및 해독화 둘 모두에 대해 동일한 키 (보통 비밀 키 (secret key)라 함)를 사용한다. 흔히, 비대칭 암호화 기술들은 메시지 암호화에 제1키 (보통 공개 키 (public key)라 함))를 사용하고, 그 메시지를 해독하는데 제2키 (보통 사설 키 (private key)라 함)를 사용한다. 비대칭 암호화 기법들을 공개 키 기술이라고도 부른다. 그러나, 공개 키 및 사설 키를 이용하는 다른 방법들 역시 존재한다. 예를 들어 디지털 서명에 있어서, 사설 키는 문서의 디지털 사인에 사용될 수 있고, 공개 키는 사설 키의 소유자가 서명을 실행했음을 검증하기 위해 누구나에 의해 사용될 수 있다.
대칭 암호화 기술들에는 DES (Data Encryption Standard, 데이터 암호화 표준), AES (Advanced Encryption Standard, 고급형 암호화 표준), 및 이들의 변형들이 포함된다. 비대칭 암호화 기술들로는 디피-헬만 (Diffie-Hellman) 기술, RSA (Rivest, Shamir, Adleman) 기술, 엘가말 (ElGamal) 기술, 및 이들의 변형들이 포함된다.
공개 키 암호화시, 공개 키와 사설 키 (통상적으로 키 쌍 (key pair)이라 부름)는 수학적으로 관련되어 있다. 또, 공개 키 및 사설 키는, 공개 키가 주어질 때 하나의 쌍에서 사설 키를 추론하는 것이 가능하지 않도록 하는 방식으로 선택된다.
따라서, 공개 키는 보통 폭넓게 배포되는 반면 사설 키는 비밀스럽게 취급된다. 그 결과, 보통 아무나 공개 키를 찾아 내, 그 공개 키를 사용하여 키 쌍의 소유자에게 전송될 메시지를 암호화할 수 있다. 그러나, 그 소유자만이 사설 키를 사용해 메시지를 해독할 수 있다. 마찬가지로 그 키 쌍의 소유자만이 사설 키를 가지고 메시지 (또는 다른 문서)에 디지털 서명을 할 수 있는 한편, 보통은 누구나 공개 키를 사용해 디지털 서명을 검증할 수 있다.
보통 공개 키들은 폭넓게 배포되기 때문에, 키 쌍의 소유자의 아이디를 배포된 공개 키에 결합해, 공개 키가 진정으로 속해야 되는 개인에게 속하는지를 누구나 검증할 수 있도록 하는 메커니즘이 필요하다. 그렇지 않으면, 누구든지 다른 공개 키를 상기 소유자의 공개 키라고 거짓 주장하면서 그 다른 공개 키 (이 공개 키에 대해 그는 관련 사설 키를 알고 있음)를 공표할 수 있을 것이다.
현재, 그러한 메커니즘을 제공하기 위해 공개 키 인증서들이 사용되고 있다. 공개 키 인증서는 공개 키와, 그 공개 키의 소유자를 식별하는 아이디 데이터 (가령, 이름, 주소, 전화번호, 전자 메일 주소 등등)를 포함할 수 있다. 공개 키 및, 아이디 데이터 등과 같은 관련 데이터는, 제3신뢰 기관에게 속하는 디지털 서명과 함께 암호화되어 결합된다. 보통, 제3신뢰 기관은 인증 기관 (CA, certificate authority)이다. 인증 기관은 상업적 인증 기관, 정부 인증 기관, 또는 협회상의 인증 기관 등일 수 있다. 상업적 인증기관들로는 VeriSign과 Thawte가 포함된다. 이 기술 분야에서, 키 소유자 아이디 데이터를 포함하는 공개 키 인증서를 보통 아이디 인증서라고 한다.
그러나, 공개 키 인증서들의 사용과 관련해 중대한 결함들이 존재한다. 공개 키 인증서의 공개 키와 관련되는 사설 키가 노출되면, 공개 키 인증서는 파기되어야 한다. 전통적으로, 파기는 인증 기관에 의해 보유되는 인증 파기 리스트를 통해 이행되었다. 인증 파기 리스트는 가령 파기 되었거나, 더 이상 유효하지 않거나, 어떤 시스템 사용자에 의해 신뢰될 수 없는 인증서들의 리스트를 포함한다.
현재, 온라인 인증 상태 프로토콜 (OCSP, Online Certificate Status Protocol)은 대개 필요가 없게된 인증 파기 리스트들을 포함하고 있다. OCSP는 사용자가 서버 같은 자원을 액세스하고자 할 때 인증 상태 정보를 조회할 수 있게 한다.
그러나, 인증 파기 리스트들 및 OCSP의 사용은, 키 쌍의 소유자가 인증 기관에 사설 키 노출에 대해 알릴 수 있도록 사설 키가 노출되었다는 것을 인지할 것을 요한다. 그러나, 그 소유자가 그러한 것에 대해 인지하게 되기 전에 긴 시간이 지나게 될 수 있고, 그 시간 동안 악의적인 제3자가 노출된 키 쌍을 이용하여 아이디 도용, 인신 공격, 불법 자원 액세스 등등과 같은 다양한 공격들을 시도할 수 있다. 추가로, 효율성을 위해 인증 상태 정보는 그것을 필요로 하는 누구에게나 쉽게 입수될 수 있어야 하고, 빈번하게 업데이트되어야 한다. 그러나, 입력되는 파기 요청들의 처리 등으로 인해 항상 지연이 존재하기 때문에, 인증 상태 정보가 실시간으로 최신의 상태를 유지할 수가 없다. 달리 말하면, 현재, 어떤 배포된 공개 키가 실제로 그것의 추정 소유자에게 속한다는 것을 어떠한 실질적 확실성을 가지고 검증할 방법이 존재하지 않는다.
본 발명의 제1양태는 제1소수 (prime number) P와 제2소수 Q가 생성되어지는 방법에 관한 것이다. 또, 소정 랜덤 입력 넘버 a 및 소정 사용자 데이터의 비트 스트링 표현인 u의 함수로서 정수 E가 랜덤하게 도출된다. 또, 서로 소 (relatively prime)인, 도출된 정수 E 및 곱 (P-1)(Q-1)에 반응하고, 또 1을 초과하면서 곱 (P-1)(Q-1) 아래에 있는 상기 도출된 정수 E에 반응하여, 사설 키 및 관련 공개 키를 포함하는 암호화 키 쌍 (cryptographic key pair)이 생성되는데, 상기 공개 키는 공개 키와 소정 사용자 데이터 간 암호화 관계를 만들기 위해 공개 키 안에서 공개 지수 (public exponent)로서 사용되는 상기 도출된 정수 E를 포함한다.
본 발명의 제2양태는 소정 사용자 데이터가 획득되고, 암호화 키 쌍 가운데, 공개 지수로서 소정 정수 E를 구비하고 상기 소정 사용자 데이터와의 암호화 관계를 포함한다고 추정되는 공개 키가 획득되고, 소정 랜덤 입력 넘버 a가 획득되고, 소정 입력 값들로부터 상기 획득된 공개 지수 E를 랜덤하게 도출하는데 사용되었던 소정 함수 f가 획득되는 방법에 대한 것이다. 또한, 상기 소정 입력 값들인 상기 획득된 랜덤 입력 넘버 a 및 상기 획득된 소정 사용자 데이터의 비트 스트링 표현인 u를 가지고 상기 획득된 함수를 이용해 f(u, a)가 산출된다. 또, 상기 산출된 f(u, a)가 상기 획득된 공개 지수 E에 해당하는 데 반응하여 상기 획득된 소정 사용자 데이터 및 상기 획득된 공개 키 간 상기 추정된 암호화 관계는 유효하다고 판단된다. 또, 상기 산출된 f(u, a)가 상기 획득된 공개 지수 E에 해당하지 않는데 반응하여 상기 획득된 소정 사용자 데이터 및 상기 획득된 공개 키 간 상기 추정된 암호화 관계는 유효하지 않다고 판단된다.
본 발명의 제3양태는 제1소수 (prime number) P와 제2소수 Q를 생성하도록 구성된 프라임 넘버 생성기를 포함하는 장치에 관한 것이다. 제3양태의 장치는, 소정 랜덤 입력 넘버 a 및 소정 사용자 데이터의 비트 스트링 표현인 u의 함수로서 정수 E를 랜덤하게 도출하도록 구성된 랜덤 정수 생성기를 더 포함한다. 제3양태의 장치는 서로 소 (relatively prime)가 되는 도출된 정수 E 및 곱 (P-1)(Q-1)에 반응하고, 또 1을 초과하면서 곱 (P-1)(Q-1) 아래에 있는 상기 도출된 정수 E에 반응하여, 사설 키 및 관련 공개 키를 포함하는 암호화 키 쌍 (cryptographic key pair)을 생성하도록 구성된 키 쌍 생성기를 더 포함하는데, 상기 공개 키는 공개 키와 소정 사용자 데이터 간 암호화 관계를 만들기 위해 공개 키 안에서 공개 지수 (public exponent)로서 사용되는 상기 도출된 정수 E를 포함한다.
본 발명의 제4양태는 소정 사용자 데이터를 획득하고, 암호화 키 쌍 가운데, 공개 지수로서 소정 정수 E를 구비하고 상기 소정 사용자 데이터와의 암호화 관계를 포함한다고 추정되는 공개 키를 획득하고, 소정 랜덤 입력 넘버 a를 획득하고, 상기 소정 입력 값들로부터 상기 획득된 공개 지수 E를 랜덤하게 도출하는데 사용된 소정 함수 f를 획득하도록 구성된 획득기를 포함하는 장치에 대한 것이다. 제4양태의 장치는, 상기 소정 입력 값들인 상기 획득된 랜덤 입력 넘버 a 및 상기 획득된 소정 사용자 데이터의 비트 스트링 표현인 u를 가지고 상기 획득된 함수를 이용해 f(u, a)를 산출하도록 구성된 검증 산출기를 더 포함한다. 제4양태의 장치는, 상기 산출된 f(u, a)가 상기 획득된 공개 지수 E에 해당하는 데 반응하여 상기 획득된 소정 사용자 데이터 및 상기 획득된 공개 키 간 상기 추정된 암호화 관계가 유효하다고 판단하고, 또, 상기 산출된 f(u, a)가 상기 획득된 공개 지수 E에 해당하지 않는데 반응하여 상기 획득된 소정 사용자 데이터 및 상기 획득된 공개 키 간 상기 추정 암호화 관계는 유효하지 않다고 판단하도록 구성된 검증 리졸버 (verification resolver)를 더 포함한다.
본 발명의 일 실시예에서, 상기 정수 E의 랜덤한 도출은, 소정 사용자 데이터의 비트 스트링 표현 u와 상기 소정 랜덤 입력 넘버 a를 하나의 비트 스트링으로 연결시키는 (concatenating) 단계; 및 상기 연결된 비트 스트링을 실질적 일방 (one-way) 해시 (hash) 함수에 입력하여 정수 E로서 사용할 해시 값을 생성하도록 하는 단계를 포함한다.
본 발명의 일 실시예에서, 상기 정수 E의 랜덤한 도출은, 소정 사용자 데이터의 비트 스트링 표현 u와 상기 소정 랜덤 입력 넘버 a를 하나의 비트 스트링으로 연결시키는 (concatenating) 단계; 상기 연결된 비트 스트링을 실질적 일방 (one-way) 해시 (hash) 함수에 입력하여 해시 값을 생성하도록 하는 단계; 및 상기 생성된 해시 값을 시드 (seed) 값으로서 랜덤 넘버 생성기에 입력하여 정수 E로서 사용할 랜덤 정수를 생성하도록 하는 단계를 포함한다.
본 발명의 일 실시예에서, 상기 생성된 공개 키, 상기 생성된 공개 키와 상기 생성된 암호화 관계를 가진 상기 소정 사용자 데이터, 및 상기 소정 랜덤 입력 넘버 a를 포함하는 인증서가 생성된다.
본 발명의 일 실시예에서, 상기 제1양태의 방법은 컴퓨터 판독가능 매체 상에 구현되는 컴퓨터 프로그램에 의해 제어되는 데이터 프로세싱 장치에 의해 수행된다.
본 발명의 일 실시예에서, 상기 제2양태의 방법은 컴퓨터 판독가능 매체 상에 구현되는 컴퓨터 프로그램에 의해 제어되는 데이터 프로세싱 장치에 의해 수행된다.
본 발명은 사용자 데이터를 공개 키와 암호화 결합할 수 있게 한다. 더 상세히 말하면, 본 발명은 공개 키 및 사설 키로 된 키 쌍의 생성자가, 사용자 데이터를 공개 키와 관계될 수 있게 하고, 그 관계를 암호화 방식으로 검증하는데 필요한 검증 데이터가 키 쌍을 손상시키지 않은 채로 공표될 수 있도록 해야 한다. 결합될 사용자 데이터는 가령 공개 키의 소유자와 관련된 아이디 데이터일 수 있으며, 이 경우 본 발명은 공개 키와 그 소유자를 서로 암호학적으로 결합시킬 수 있다, 따라서, 본 발명은, 배포된 공개 키가 그것의 추정 소유자에게 속한다는 것을 암호학적으로 검증할 수 있게 한다. 또, 본 발명은 어떠한 제3자들의 쓰임 없이 상기 결합 및 검증을 가능하게 한다.
본 발명의 추가적 이해를 지원하기 위해 포함되어 이 명세서의 일부가 되는 첨부된 도면들은 본 발명의 실시예들을 예시하고 있고, 본 발명의 상세한 설명과 더불어 본 발명의 원리들에 대해 설명하는 것을 더울 것이다.
도 1a는 본 발명의 일 실시예에 따른 방법을 예시한 흐름도이다;
도 1b는 본 발명의 일 실시예에 따른 또 다른 방법을 예시한 흐름도이다;
도 2는 본 발명의 일 실시예에 따른 기기들 및 인증서를 예시한 블록도이다.
지금부터 첨부된 도면들에 예시되는 본 발명의 실시예들을 상세히 설명할 것이다.
도 1a는 본 발명의 일 실시예에 따라, 암호화 키 쌍 (key pair) 중 공개 키와 소정 사용자 데이터의 암호화 결합 (cryptographic association)에 관한 방법을 예시한 흐름도이다.
110 단계에서, 소정 사용자 데이터의 비트 스트링 표현 u가 생성된다. 소정 사용자 데이터는 이름, 주소, 전화 번호, 및/또는 전자 메일 주소 등등과 같은 공개키 및 그와 관련된 사설 키 소유자의 아이디 데이터를 포함할 수 있다. 소유자는 사람, 컴퓨터 또는 어떤 조직 등에 해당할 수 있다. 그러나, 사용자 데이터가 꼭 아이디 데이터일 필요는 없다는 것을 알아야 한다. 그보다 사용자 데이터는, 키 쌍의 생성자가, 키 쌍을 훼손하지 않은 채 공개될 수 있는 검증 데이터만을 사 용해 나중에 암호방식으로 검증될 수 있는 공개 키와 암호화 관계를 가질 것을 요하는 임의의 데이터가 될 수 있다.
111 단계에서, 제1소수 P 및 제2소수 Q가 생성된다. 일 실시예에서, 소수 P 및 소수 Q는 1024 비트 소수들 또는 그보다 큰 소수들 같은 큰 소수들이다.
112 단계에서, 랜덤 입력 넘버 a가 생성된다. 그런 다음 113 내지 115 단계들이 수행되어 정수 E의 후보 값을 도출하도록 한다. 도출된 정수 E의 후보 값이 116-117 단계에서의 검사들을 통과하면, 도출된 정수 E의 후보 값은 118 단계에서 생성될 공개 키 내 공개 지수 (public exponent)로서 사용될 것이다. 그러나, 도출된 정수 E의 후보 값이 116-117 단계들 가운데 적어도 하나에서의 검사들을 통과하는데 실패하면, 이 방법은 111 단계로 돌아가 정수 E의 새 후보 값이 도출될 수 있게 한다.
우선, 110 단계에서 생성된 소정 사용자 데이터의 비트 스트링 표현 u 및 112 단계에서 생성된 랜덤 입력 넘버가 113 단계에서 하나의 비트 스트링으로 연결된다. 그런 다음, 그 연결된 비트 스트링이 실질적인 일방 (one-way) 해시 (hash) 함수로 입력되어 해시 값이 산출되게 한다. 해시 함수는 MD5 (Message-Digest 알고리즘 5) 함수 등일 수 있다. 115 단계에서, 상기 생성된 해시 값이 시드 값으로서 랜덤 넘버 생성기로 입력되어, 정수 E로서 사용할 랜덤 정수를 산출하도록 한다. 이와 달리, 상기 생성된 해시 값이 정수 E로서 바로 사용될 수도 있다.
그렇게 도출된 정수 E의 값이 실질적으로 공개 지수로서 사용되는 최종 값이될 수도, 최종 값이 되지 않을 수도 있다. 어떤 경우인지 판단하기 위해, 우선 116 단계에서 상기 도출된 E의 후보 값 및 곱 (P-1)(Q-1)가 서로 소 (relatively prime 또는 coprime) 인지 여부가 검사된다. 즉, 상기 도출된 E의 후보 값과 곱 (P-1)(Q-1)의 최대 공약수가 1인지를 검사한다.
상기 도출된 E의 후보 값과 곱 (P-1)(Q-1)이 서로 소가 아닌 것을 알게되면, 본 발명의 방법은 111 단계로 돌아가 정수 E의 새 후보 값이 생성될 수 있게 한다.
다음으로, 117 단계에서 1 < E < (P-1)(Q-1)인지 여부를 검사한다. 1 < E < (P-1)(Q-1)에 해당하지 않으면, 본 발명의 방법은 111 단계로 돌아가 정수 E의 새 후보 값의 생성이 가능하게 한다. 그 결과 새로운 소수들 P 및 Q이 생성되고, 새 랜덤 입력 넘버 a를 이용해 E의 새 후보 값이 도출된다. 이 루프는 116 및 117 단계들 둘 모두의 요건을 만족시키는 E의 후보값이 도출될때까지 반복된다.
또 1 < E < (P-1)(Q-1)에 해당하면, 본 발명의 방법은 118 단계로 진행하고, 118 단계에서 암호화 키 쌍이 생성된다. 116 및 117 단계들 모두의 요건을 만족하는 도출된 E 값은 생성될 암호화 키 쌍 중 공개 키의 공개 지수로서 사용될 것이다. 암호화 키 쌍은 RSA (Rivest, Sharmir, Adleman) 키 쌍 등일 수 있고, 그 경우 공개 키는 (PQ, E) 쌍이 될 것이고, 사설 키는 최소한 E의 곱에 대한 역원 (multiplicative inverse), 또는 DE≡1(mod(P-1)(Q-1)인 D를 포함할 것이다. 그에 따라, 키 쌍은 RSA 키 쌍이 되고, 함수 C=uE mod PQ가 암호화 등에 사용될 수 있고, 함수 u=CD mod PQ가 해독화 등에 사용될 것이며, 여기서 C는 u의 암호화 버전을 나타낸다.
옵션 단계인 119 단계에서, 상기와 같이 생성된 공개 키를 키 소유자 아이디 데이터 등의 관련 사용자 데이터와 함께 공개하기 위한 인증서가 생성될 수 있다. 인증서는, 상기 도출된 공개 지수 E를 포함하는 상기 생성된 공개 키를 포함한다. 인증서는 위에서 상기 생성된 공개 키와 상기 생성된 암호화 관계를 가진 소정 사용자 데이터 (가령, 도 1a의 예에서와 같이 공개 키 및 그 관련 사설 키로 이뤄진 키 쌍의 소유자의 아이디 데이터)를 추가로 포함한다. 인증서는 상기 생성된 랜덤 입력 넘버 a를 더 포함한다. 또, 인증서는 상기 생성된 공개 키와 관련된, 상기 생성된 사설 키 등을 가지고 서명될 수 있다.
도 1b는 본 발명의 일 실시예에 따라, 암호화 키 쌍 (key pair) 중 공개 키와, 소정 사용자 데이터 사이의 암호화 관계 (cryptographic association)의 검증에 관한 방법을 예시한 흐름도이다.
먼저, 소정 사용자 데이터, 그리고 상기 소정 사용자 데이터와 암호화 관계를 가졌다고 추정되는 소정 공개 지수 E를 포함하는 공개 키, 그리고 공개 지수 E를 도출하는데 사용되었던 소정 랜덤 입력 넘버 a가 120 단계에서 획득된다.
상기 정보는, 가령 도 1a의 방법 중 119 단계에서 생성된 인증서 같이, 그들을 포함하는 인증서를 획득함으로써 얻어질 수 있다. 그 경우, 획득된 사용자 데이터는 도 1a와 관련해 위에서 논의된 바와 같이, 암호화 공개 키 및 그 관련 사설 키의 소유자 아이디를 포함할 수 있다.
인증서에 포함된 상기 정보 외에, 소정 입력 값들로부터 공개 지수 E를 랜덤하게 도출하는데 사용되었던 소정 함수 f 역시 121 단계에서 획득된다. 예를 들 어, 각각의 경우 동일한 소정 함수 f를 사용하고, 어떤 관계자라도 도 1b의 검증을 수행할 수 있도록 그렇게 선택된 함수 f를 공개하는 것이 결정될 수 있다. 소정 함수 f는 가령 위에서 논의된 도 1a의 113-115 단계들에 해당할 수 있다.
122 단계에서, 상기 획득된 사용자 데이터의 비트 스트링 표현 u가 생성된다. 123 단계에서, 122 단계에서 생성된 상기 획득된 사용자 데이터의 비트 스트링 표현 u 및 120 단계에서 획득된 랜덤 입력 넘버 a를 입력값들로서 사용하여, f(u, a)가 산출된다. 124 단계에서, 123 단계에서 산출된 f(u, a)에 대한 값이 120 단계에서 획득된 공개 지수 E와 같은지가 검사된다.
123 단계에서 산출된 f(u, a)의 값이 획득된 공개 지수 E와 같으면, 상기 획득된 사용자 데이터와 상기 획득된 공개 키 사이의 추정된 암호화 관계는 실제로 유효하다고 판단된다 (126 단계). 123 단계에서 산출된 f(u, a)의 값이 획득된 공개 지수 E와 같지 않으면, 상기 획득된 사용자 데이터와 상기 획득된 공개 키 사이의 추정된 암호화 관계는 유효하지 않다고 판단된다 (125 단계).
도 2는 본 발명의 일 실시예에 따른 기기들 및 인증서를 예시한 블록도이다.
제1기기(200)는 제1소수 P와 제2소수 Q를 생성하도록 구성된 소수 생성기(201)를 포함한다. 제1기기(200)는 소정 랜덤 입력 넘버 a 및 소정 사용자 데이터의 비트 스트링 표현 u의 함수로서 무작위로 정수 E를 도출하도록 구성된 랜덤 정수 생성기(202)를 더 포함한다.
제1기기(200)는 서로 소인 도출된 정수 E 및 곱 (P-1)(Q-1)에 반응하고, 또 1을 초과하면서 곱 (P-1)(Q-1) 아래에 있는 상기 도출된 정수 E에 반응하여, 사설 키 및 관련 공개 키를 포함하는 암호화 키 쌍 (cryptographic key pair)을 생성하도록 구성된 키 쌍 생성기(203)를 더 포함하는데, 상기 공개 키는 공개 키와 소정 사용자 데이터 간 암호화 관계를 만들기 위해 공개 키 안에서 공개 지수 (public exponent)로서 사용되는 상기 도출된 정수 E를 포함한다. 위에서 논의된 바와 같이, 소정 사용자 데이터는 공개 키 및 그 관련 사설 키의 소유자 아이디 데이터 등을 포함할 수 있다.
일 실시예에서, 랜덤 정수 생성기(202)는 u와 a를 하나의 비트 스트링으로 연결하고 (concatenating), 연결된 비트 스트링을 실질적 일방 (one-way) 해시 (hash) 함수로 입력하여 해시 값을 생성하도록 하고, 생성된 해시 값을 시드 값으로서 랜덤 넘버 생성기 (미도시)로 입력하여 정수 E로서 사용할 랜덤 정수를 생성하도록 함으로써 정수 E의 랜덤한 도출을 수행하도록 구성된다.
또 다른 일 실시예에서, 랜덤 정수 생성기(202)는 u와 a를 하나의 비트 스트링으로 연결하고, 연결된 비트 스트링을 실질적 일방 해시 함수에 입력하여 정수 E로서 사용할 해시 값을 생성하도록 함으로써 정수 E의 랜덤한 도출을 수행하도록 구성된다.
제1기기(200)는 도출된 공개 지수 E를 포함하는 공개 키(211), 생성된 공개 키(211)와 상기 만들어진 암호화 관계를 가진 소정 사용자 데이터(212), 생성된 랜덤 입력 넘버 a(213), 및 옵션사항으로서 공개 키(211)와 관련된 사설 키 등과 함께 생성된 디지털 서명(214)을 포함하는 인증서(210)를 생성하도록 구성된 인증서 생성기 옵션(204)을 더 포함한다.
제2기기(220)는 소정 사용자 데이터 (인증서(210)에 포함된 소정 사용자 데이터(212)일 수 있음), 암호화 키 쌍 가운데, 공개 지수로서 소정 정수 E를 구비하고 상기 소정 사용자 데이터와의 암호화 관계를 포함한다고 추정되는 공개 키, 및 공개 지수 E 도출시 사용되는 소정 랜덤 입력 넘버 a (인증서(210)에 포함되는 랜덤 입력 넘버(213)일 수 있음), 및 소정 입력 값들로부터 공개 지수 E를 도출하는데 사용되는 소정 함수 f를 획득하도록 구성된 획득기(221)를 포함한다.
제2기기(220)는 상기 소정 입력 값들인 상기 획득된 랜덤 입력 넘버 a 및 상기 획득된 소정 사용자 데이터의 비트 스트링 표현 u를 가지고 상기 획득된 함수를 이용해 f(u, a)를 산출하도록 구성된 검증 산출기(222)를 더 포함한다.
제2기기(220)는, f(u, a)의 산출 값이 상기 획득된 공개 지수 E에 상응하는 데 반응하여 상기 획득된 사용자 데이터 및 상기 획득된 공개 키 간에 추정된 상기 암호화 관계가 유효하다고 판단하도록 되어 있는 검증 리졸버 (verification resolver)(223)를 더 포함한다. 또, 검증 리졸버(223)는 상기 산출된 f(u, a)가 획득된 공개 지수 E에 상응하지 않는데 반응하여 상기 획득된 소정 사용자 데이터 및 상기 획득된 공개 키 간 추정되는 상기 암호화 관계가 유효하지 않다고 판단하도록 구성된다.
전형적 실시예들에는, 임의의 적절한 서버들, 워크스테이션들, 퍼스널 컴퓨터들, 랩탑 컴퓨터들, PDA들 (personal digital assistnats), 인터넷 응용기기들, 휴대 장치들, 셀룰라 폰들, 무선 기기들, 기타 장치들 등등과 같이 이 전형적 실시예들의 프로세스들을 수행하는 기능을 가진 장치들이 포함될 수 있다. 전형적 실 시예들에 대한 기기들 및 시스템은 임의의 적절한 프로토콜을 이용해 서로 통신할 수 있고, 프로그래밍된 하나 이상의 컴퓨터 시스템들 또는 기기들을 사용해 구현될 수 있다.
예를 들어 인터넷 액세스, 어떤 알맞은 형태 (가령, 음성, 모뎀 등등)의 원격통신, 무선 통신 미디어 등등과 같은 것을 포함하는 하나 이상의 인터페이스 메커니즘들이 상기 전형적 실시예들과 함께 사용될 수 있다. 예를 들어, 사용되는 통신 네트워크들이나 링크들은 하나 이상의 무선 통신 네트워크들, 셀룰라 통신 네트워크들, G3 통신 네트워크들, 공공 교환 전화 네트워크, 패킷 데이터 네트워크들, 인터넷, 인트라넷들, 이들이 결합된 것들 등등을 포함할 수 있다.
하드웨어 및/또는 소프트웨어 기술 분야(들)의 당업자들이라면 알 수 있듯이, 상기 전형적 실시예들을 구현하는데 사용되는 고유 하드웨어의 여러가지 변형들이 있을 수 있으므로 상기 전형적 실시예들은 다만 예로 들기 위한 목적으로 제시되었음을 알아야 한다. 이를테면, 상기 전형적 실시예들의 구성요소들 가운데 하나 이상의 기능은 하나 이상의 하드웨어 및/또는 소프트웨어 장치들을 통해 구현될 수 있다.
상기 전형적 실시예들은 여기 개시된 다양한 프로세스들과 관련한 정보를 저장할 수 있다. 이 정보는 하드 디스크, 광 디스크, 자기-광 디스크, RAM 등등과 같은 하나 이상의 메모리들 안에 저장될 수 있다. 하나 이상의 데이터베이스들이 본 발명의 전형적 실시예들을 구현하는데 사용되는 정보를 저장할 수 있다. 이 데이터베이스들은 여기 나열된 하나 이상의 메모리들이나 저장 기기들 안에 포함되는 데이터 구조들 (가령, 레코드들, 테이블들, 어레이들, 필드들, 그래프들, 트리들, 리스트들 등등)을 사용하여 체계화 될 수 있다. 상기 전형적 실시예들과 관련해 기술된 프로세스들은, 하나 이상의 데이터베이스들 안에 상기 전형적 실시예들의 기기들 및 서브시스템들의 프로세스들을 통해 수집 및/또는 생성된 데이터를 저장하기 위한 적절한 데이터 구조들을 포함할 수 있다.
전형적 실시예들의 전부나 그 일부는 컴퓨터 및/또는 소프트웨어 기술분야(들)의 당업자라면 일 수 있듯이, 본 발명의 전형적 실시예들의 가르침에 따라 프로그램되어 있는 하나 이상의 범용 프로세서, 마이크로프로세서, 디지털 신호 프로세서, 마이크로-컨트롤러 등등을 사용해 편리하게 구현될 수 있다. 소프트웨어 기수분야의 당업자라면 예상할 수 있듯이, 상기 전형적 실시예들의 가르침에 기반해 당업자인 프로그래머들에 의해 적합한 소프트웨어가 용이하게 마련될 수 있을 것이다. 또, 상기 전형적 실시예들은 ASIC (application specific integrated circuts)에 의해서나, 일반 컴포넌트 회로들의 적절한 네트워크를 상호연결함으로써 구현될 수 있다는 것을 전기기술 분야(들)의 당업자들이라면 예상할 수 있을 것이다. 따라서, 상기 전형적 실시예들은 하드웨어 및/또는 소프트웨어의 어떤 특정한 조합에 국한되는 것이 아니다.
컴퓨터 판독가능 매체 중 어느 하나나 그들이 결합 매체 상에 저장되는 것으로, 본 발명의 전형적 실시예들은 이 실시예들의 구성요소들을 제어하고, 구동하며, 인간 사용자와의 상호동작을 가능하게 하는 등의 소프트웨어를 포함할 수 있다. 이러한 소프트웨어는 장치 드라이버, 펌웨어, 운영 시스템, 개발 툴, 응용 소 프트웨어 등등을 포함할 수 있으나, 이렇게 나열된 예들에 국한되지 않는다. 상기 컴퓨터 판독가능 매체는 본 발명을 구현할 때 수행되는 프로세싱의 전부나 일부 (프로세싱이 분산된 경우)를 수행하기 위한, 본 발명의 일 실시예에 대한 컴퓨터 프로그램 제품을 추가로 포함할 수 있다. 본 발명의 전형적 실시예들의 컴퓨터 코드 장치들은, 스크립트들, 해석가능 프로그램들, DLL들 (dynamic link libraries), 자바 (Java) 클래스들 및 애플릿들, 온전한 실행 프로그램들, COBRA (Common Object Request Broker Architecture) 오브젝트들 등등을 포함하나 그것에 국한되는 것은 아닌, 어떤 적합한 해석 혹은 실행 코드 메커니즘을 포함할 수 있다. 또, 보다 우수한 성능, 신뢰성, 가격 등등을 위해 본 발명의 전형적 실시예들의 프로세싱의 일부가 분산될 수 있다.
상술한 바와 같이, 상기 전형적 실시예들의 구성요소들은 본 발명의 가르침에 따라 프로그램된 명령들을 보유하고 여기 개시된 데이터 구조들, 테이블들, 레코드들, 및/또는 다른 데이터를 보유하기 위한 컴퓨터 판독가능 매체나 메모리들을 포함할 수 있다. 컴퓨터 판독가능 매체는 실행을 위해 프로세서로 명령들을 제공하는데 관여하는 임의의 적절한 매체를 포함할 수 있다. 그러한 매체는 비휘발성 매체, 휘발성 매체, 전송 매체 등등을 포함하나 이에 국한되는 것은 아닌 여러 형태들을 취할 수 있다. 비휘발성 매체는 가령 광이나 마그네틱 디스크들, 마그네토-광 디스크들 등등을 포함할 수 있다. 휘발성 매체는 다이내믹 메모리들 등을 포함할 수 있다. 전송 매체는 동축 케이블, 구리선, 광섬유 등등을 포함할 수 있다. 전송 매체 역시 RF (radio frequency) 통신, 적외선 (IR) 데이터 통신 등의 도중에 생성되는 청각 파, 광 파, 전자기파 같은 것들의 형태를 취할 수 있다. 컴퓨터 판독가능 매체의 일반적인 형태들에, 플로피 디스크, 플렉시블 디스크, 하드 디스크, 마그네틱 테이프, 어떤 다른 적절한 마그네틱 매체, CD-ROM, CDRW, DVD, 임의의 적절한 광 매체, 펀치 카드, 페이퍼 테이프, 광 마크 시트, 천공이나 기타 광학적으로 인식가능한 표시 패턴들을 가진 임의의 다른 적합한 물리적 매체, 램, PROM, EPROM, 플래시-EPROM, 임의의 다른 적합한 메모리 칩이나 카트리지, 캐리어 웨이브나 컴퓨터가 읽을 수 있는 어떤 다른 적절한 매체가 포함될 수 있다.
본 발명이 여러 전형적 실시예들 및 구현예들과 함께 개시되었지만, 그에 국한되지 않고, 본 발명은 기대되는 청구범위에 포함되는 다양한 변형예들과 상응하는 구성들을 포괄한다.

Claims (14)

  1. 제1소수 P 및 제2소수 Q를 생성하는 단계;
    소정 랜덤 입력 넘버 a 및 소정 사용자 데이터의 비트 스트링 표현 u의 함수인, 정수 E를 랜덤하게 도출하는 단계; 및
    상기 도출된 정수 E 및 곱 (P-1)(Q-1)이 서로소 (relatively prime)인데 반응하고, 상기 도출된 정수 E가 1을 초과하면서 상기 곱 (P-1)(Q-1) 보다 아래에 있는 경우에 추가 반응하여, 사설 키 및 관련 공개 키를 포함하는 암호화 키 쌍 (crypographic key pair)을 생성하는 단계로서, 상기 공개 키와 상기 소정 사용자 데이터 사이에 암호화 관계 (cryptographic association)를 만들기 위해 상기 도출된 정수 E가 상기 공개 키 안에서 공개 지수로서 사용되는 단계를 포함함을 특징으로 하는 방법.
  2. 제1항에 있어서, 상기 정수 E의 랜덤한 도출은,
    상기 소정 사용자 데이터의 비트 스트링 표현 u와 상기 소정 랜덤 입력 넘버 a를 하나의 비트 스트링으로 연결하는 (concatenating) 단계; 및
    상기 연결된 비트 스트링을 실질적 일방 (one-way) 해시 (hash) 함수에 입력해 상기 정수 E로서 사용할 해시 값을 산출하는 단계를 포함함을 특징으로 하는 방법.
  3. 제1항에 있어서, 상기 정수 E의 랜덤한 도출은,
    상기 소정 사용자 데이터의 비트 스트링 표현 u와 상기 소정 랜덤 입력 넘버 a를 하나의 비트 스트링으로 연결하는 단계;
    상기 연결된 비트 스트링을 실질적 일방 (one-way) 해시 (hash) 함수에 입력해 해시 값을 산출하는 단계; 및
    상기 산출된 해시 값을 시드 값 (seed value)으로서 랜덤 넘버 생성기로 입력하여 상기 정수 E로서 사용할 랜덤 정수를 산출하도록 하는 단계를 포함함을 특징으로 하는 방법.
  4. 제1항에 있어서,
    상기 생성된 공개 키, 상기 생성된 공개 키와는 상기 만들어진 암호화 관계를 가진 상기 소정 사용자 데이터, 및 상기 소정 랜덤 입력 넘버 a를 포함하는 인증서를 생성하는 단계를 더 포함함을 특징으로 하는 방법.
  5. 제1항에 있어서, 상기 방법은 컴퓨터 판독가능 매체 상에 구현되는 컴퓨터 프로그램에 의해 제어되는 데이터 프로세싱 장치에 의해 수행됨을 특징으로 하는 방법.
  6. 소정 사용자 데이터, 암호화 키 쌍 가운데, 공개 지수 (public exponent)로서 소정 정수 E를 포함하고 상기 소정 사용자 데이터와 암호화 관계를 가진 것으로 추정되는 공개 키, 소정 랜덤 입력 넘버 a, 및 소정 입력 값들로부터 상기 공개 지수 E를 랜덤하게 도출하는데 사용되는 소정 함수 f를 획득하는 단계;
    상기 획득된 랜덤 입력 넘버 a 및 상기 획득된 소정 사용자 데이터의 비트 스트링 표현 u를 상기 소정 입력 값들로서 가지는 상기 획득된 함수 f를 이용하여 f(u, a)를 산출하는 단계;
    상기 산출된 f(u, a)가 상기 획득된 공개 지수 E와 같은데 반응하여, 상기 획득된 소정 사용자 데이터 및 상기 획득된 공개 키 간 상기 추정된 암호화 관계가 유효하다고 판단하는 단계; 및
    상기 산출된 f(u, a)가 상기 획득된 공개 지수 E와 같지 않은데 반응하여, 상기 획득된 소정 사용자 데이터 및 상기 획득된 공개 키 간 상기 추정된 암호화 관계가 유효하지 않다고 판단하는 단계를 포함함을 특징으로 하는 방법.
  7. 제6항에 있어서, 상기 방법은 컴퓨터 판독가능 매체 상에 구현되는 컴퓨터 프로그램에 의해 제어되는 데이터 프로세싱 장치에 의해 수행됨을 특징으로 하는 방법.
  8. 제1소수 P 및 제2소수 Q를 생성하도록 구성된 소수 생성기;
    소정 랜덤 입력 넘버 a 및 소정 사용자 데이터의 비트 스트링 표현 u의 함수인, 정수 E를 랜덤하게 도출하도록 구성된 랜덤 정수 생성기; 및
    상기 도출된 정수 E 및 곱 (P-1)(Q-1)이 서로소 (relatively prime)인데 반 응하고, 상기 도출된 정수 E가 1을 초과하면서 상기 곱 (P-1)(Q-1) 보다 아래에 있는 경우에 추가 반응하여, 사설 키 및 관련 공개 키를 포함하는 암호화 키 쌍 (crypographic key pair)을 생성하도록 구성되고, 상기 공개 키와 상기 소정 사용자 데이터 사이에 암호화 관계 (cryptographic association)를 만들기 위해 상기 도출된 정수 E가 상기 공개 키 안에서 공개 지수로서 사용되는 키 쌍 생성기를 포함함을 특징으로 하는 장치.
  9. 제8항에 있어서, 상기 랜덤 정수 생성기는, 상기 소정 사용자 데이터의 비트 스트링 표현 u와 상기 소정 랜덤 입력 넘버 a를 하나의 비트 스트링으로 연결하고, 상기 연결된 비트 스트링을 실질적 일방 (one-way) 해시 (hash) 함수에 입력해 상기 정수 E로서 사용할 해시 값을 산출함으로써 상기 정수 E의 랜덤한 도출을 수행하도록 구성됨을 특징으로 하는 장치.
  10. 제8항에 있어서, 상기 랜덤 정수 생성기는, 상기 소정 사용자 데이터의 비트 스트링 표현 u와 상기 소정 랜덤 입력 넘버 a를 하나의 비트 스트링으로 연결하고, 상기 연결된 비트 스트링을 실질적 일방 (one-way) 해시 (hash) 함수에 입력해 해시 값을 산출하고, 상기 산출된 해시 값을 시드 값 (seed value)으로서 랜덤 넘버 생성기로 입력하여 상기 정수 E로서 사용할 랜덤 정수를 산출함으로써, 정수 E의 랜덤한 도출을 수행하도록 구성됨을 특징으로 하는 장치.
  11. 제8항에 있어서,
    상기 생성된 공개 키, 상기 생성된 공개 키와 상기 만들어진 암호화 관계를 가진 상기 소정 사용자 데이터, 및 상기 소정 랜덤 입력 넘버 a를 포함하는 인증서를 생성하도록 구성된 인증서 생성기를 더 포함함을 특징으로 하는 장치.
  12. 소정 사용자 데이터, 암호화 키 쌍 가운데, 공개 지수 (public exponent)로서 소정 정수 E를 포함하고 상기 소정 사용자 데이터와 암호화 관계를 가진 것으로 추정되는 공개 키, 소정 랜덤 입력 넘버 a, 및 소정 입력 값들로부터 상기 공개 지수 E를 랜덤하게 도출하는데 사용되는 소정 함수 f를 획득하도록 구성된 획득기;
    상기 획득된 랜덤 입력 넘버 a 및 상기 획득된 소정 사용자 데이터의 비트 스트링 표현 u를 상기 소정 입력 값들로서 가지는 상기 획득된 함수 f를 이용하여 f(u, a)를 산출하도록 구성된 검증 산출기; 및
    상기 산출된 f(u, a)가 상기 획득된 공개 지수 E와 같은데 반응하여, 상기 획득된 소정 사용자 데이터 및 상기 획득된 공개 키 간 상기 추정된 암호화 관계가 유효하다고 판단하고, 상기 산출된 f(u, a)가 상기 획득된 공개 지수 E와 같지 않은데 반응하여, 상기 획득된 소정 사용자 데이터 및 상기 획득된 공개 키 간 상기 추정된 암호화 관계가 유효하지 않다고 판단하도록 구성된 검증 리졸버 (verification resolver)를 포함함을 특징으로 하는 장치.
  13. 제1소수 P 및 제2소수 Q를 생성하기 위한 생성 수단;
    소정 랜덤 입력 넘버 a 및 소정 사용자 데이터의 비트 스트링 표현 u의 함수인, 정수 E를 랜덤하게 도출하기 위한 도출 수단; 및
    상기 도출된 정수 E 및 곱 (P-1)(Q-1)이 서로소 (relatively prime)인데 반응하고, 상기 도출된 정수 E가 1을 초과하면서 상기 곱 (P-1)(Q-1) 보다 아래에 있는 경우에 추가 반응하여, 사설 키 및 관련 공개 키를 포함하는 암호화 키 쌍 (crypographic key pair)을 생성하기 위한 수단으로서, 상기 공개 키와 상기 소정 사용자 데이터 사이에 암호화 관계 (cryptographic association)를 만들기 위해 상기 도출된 정수 E가 상기 공개 키 안에서 공개 지수로서 사용되는 생성 수단을 포함함을 특징으로 하는 장치.
  14. 소정 사용자 데이터, 암호화 키 쌍 가운데, 공개 지수 (public exponent)로서 소정 정수 E를 포함하고 상기 소정 사용자 데이터와 암호화 관계를 가진 것으로 추정되는 공개 키, 소정 랜덤 입력 넘버 a, 및 소정 입력 값들로부터 상기 공개 지수 E를 랜덤하게 도출하는데 사용되는 소정 함수 f를 획득하기 위한 획득 수단;
    상기 획득된 랜덤 입력 넘버 a 및 상기 획득된 소정 사용자 데이터의 비트 스트링 표현 u를 상기 소정 입력 값들로서 가지는 상기 획득된 함수 f를 이용하여 f(u, a)를 산출하기 위한 산출 수단;
    상기 산출된 f(u, a)가 상기 획득된 공개 지수 E와 같은데 반응하여, 상기 획득된 소정 사용자 데이터 및 상기 획득된 공개 키 간 상기 추정된 암호화 관계가 유효하다고 판단하는 판단 수단; 및
    상기 산출된 f(u, a)가 상기 획득된 공개 지수 E와 같지 않은데 반응하여, 상기 획득된 소정 사용자 데이터 및 상기 획득된 공개 키 간 상기 추정된 암호화 관계가 유효하지 않다고 판단하는 판단 수단을 포함함을 특징으로 하는 장치.
KR1020097011388A 2006-11-03 2007-10-29 데이터와 암호화 공개 키의 결합 및 그 검증 KR20090083440A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/592,261 US20080123842A1 (en) 2006-11-03 2006-11-03 Association of a cryptographic public key with data and verification thereof
US11/592,261 2006-11-03

Publications (1)

Publication Number Publication Date
KR20090083440A true KR20090083440A (ko) 2009-08-03

Family

ID=39345429

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020097011388A KR20090083440A (ko) 2006-11-03 2007-10-29 데이터와 암호화 공개 키의 결합 및 그 검증

Country Status (5)

Country Link
US (1) US20080123842A1 (ko)
EP (1) EP2082522A1 (ko)
KR (1) KR20090083440A (ko)
CN (1) CN101536402A (ko)
WO (1) WO2008053072A1 (ko)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2841411B1 (fr) * 2002-06-19 2004-10-29 Gemplus Card Int Procede de generation de cles electroniques pour procede de crytographie a cle publique et objet portatif securise mettant en oeuvre le procede
US8948399B2 (en) * 2011-05-27 2015-02-03 Novell, Inc. Dynamic key management
US9172529B2 (en) * 2011-09-16 2015-10-27 Certicom Corp. Hybrid encryption schemes
US8930712B1 (en) * 2012-07-12 2015-01-06 Google Inc. Metric obfuscation system
US9800407B2 (en) * 2013-08-30 2017-10-24 Qualcomm Incorporated Methods and apparatuses for prime number generation and storage
WO2015041139A1 (ja) * 2013-09-19 2015-03-26 ソニー株式会社 情報処理装置、情報処理方法及びコンピュータプログラム
US10015017B2 (en) 2015-04-09 2018-07-03 Qualcomm Incorporated Proof of work based user identification system
US9635003B1 (en) * 2015-04-21 2017-04-25 The United States Of America As Represented By The Director, National Security Agency Method of validating a private-public key pair
WO2020072474A1 (en) 2018-10-02 2020-04-09 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
JP2020195100A (ja) * 2019-05-29 2020-12-03 株式会社bitFlyer Blockchain 公開鍵の信頼性を証明するための装置、方法及びそのためのプログラム
US10915888B1 (en) 2020-04-30 2021-02-09 Capital One Services, Llc Contactless card with multiple rotating security keys

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0723251A3 (en) * 1995-01-20 1998-12-30 Tandem Computers Incorporated Method and apparatus for user and security device authentication
FR2763451B1 (fr) * 1997-05-13 1999-06-18 France Telecom Procede d'identification a cle publique utilisant deux fonctions de hachage
US6868160B1 (en) * 1999-11-08 2005-03-15 Bellsouth Intellectual Property Corporation System and method for providing secure sharing of electronic data
US20040086115A1 (en) * 2002-11-06 2004-05-06 Chi-Sung Laih Image public key generation method
US7602910B2 (en) * 2004-11-17 2009-10-13 Microsoft Corporation Password protection
EP1796012B1 (en) * 2005-12-07 2008-10-01 NTT DoCoMo, Inc. Authentication method and apparatus

Also Published As

Publication number Publication date
CN101536402A (zh) 2009-09-16
EP2082522A1 (en) 2009-07-29
US20080123842A1 (en) 2008-05-29
WO2008053072A1 (en) 2008-05-08

Similar Documents

Publication Publication Date Title
KR20090083440A (ko) 데이터와 암호화 공개 키의 결합 및 그 검증
US7516321B2 (en) Method, system and device for enabling delegation of authority and access control methods based on delegated authority
EP0786178A1 (en) Secret-key certificates
JP2006174356A (ja) 擬似公開鍵暗号方法及びシステム
GB2401012A (en) Identifier-based encryption
Xu et al. Accountable ring signatures: A smart card approach
JP2014515125A (ja) データの暗号化のための方法、コンピュータ・プログラム、および装置
Shakiba Security analysis for chaotic maps-based mutual authentication and key agreement using smart cards for wireless networks
CN114257366A (zh) 信息同态处理方法、装置、设备及计算机可读存储介质
Kumar et al. An efficient implementation of digital signature algorithm with SRNN public key cryptography
KR100984275B1 (ko) 안전하지 않은 통신 채널에서 비인증서 공개키를 사용한 보안키 생성 방법
GB2401013A (en) Cryptographic Method and Apparatus
Hölzl et al. Bridging the gap in privacy-preserving revocation: practical and scalable revocation of mobile eIDs
Sjöberg Post-quantum algorithms for digital signing in Public Key Infrastructures
Barker Cryptographic Standards in the Federal Government: Cryptographic Mechanisms
JPH11174957A (ja) 認証プロトコル
Chen et al. How to bind a TPM’s attestation keys with its endorsement key
TWI381696B (zh) 基於利用個人化秘密的rsa非對稱式密碼學之使用者認證
Vincent et al. A key agreement authentication protocol using an improved parallel pollard rho for electronic payment system
Yin et al. PKI-based cryptography for secure cloud data storage using ECC
Modares et al. Make a Secure Connection Using Elliptic Curve Digital Signature
Chen et al. The comparisons between public key and symmetric key cryptography in protecting storage systems
Elbasheer et al. Signing and verifying certificates by NTRU and RSA algorithms
Ricci et al. Privacy-enhancing group signcryption scheme
Arvin S. Lat et al. SOUL System: secure online USB login system

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application