KR100676460B1 - 2의 거듭제곱과 동등한 공개 지수를 이용한 엔티티 인증성및/또는 메시지의 무결성 검증방법 - Google Patents

2의 거듭제곱과 동등한 공개 지수를 이용한 엔티티 인증성및/또는 메시지의 무결성 검증방법 Download PDF

Info

Publication number
KR100676460B1
KR100676460B1 KR1020017009491A KR20017009491A KR100676460B1 KR 100676460 B1 KR100676460 B1 KR 100676460B1 KR 1020017009491 A KR1020017009491 A KR 1020017009491A KR 20017009491 A KR20017009491 A KR 20017009491A KR 100676460 B1 KR100676460 B1 KR 100676460B1
Authority
KR
South Korea
Prior art keywords
mod
value
message
answer
challenge
Prior art date
Application number
KR1020017009491A
Other languages
English (en)
Other versions
KR20010108142A (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
Priority claimed from FR9901065A external-priority patent/FR2788910A1/fr
Application filed by 프랑스 텔레콤, 텔레디퓨지옹 드 프랑스, 마드 리즈크 filed Critical 프랑스 텔레콤
Publication of KR20010108142A publication Critical patent/KR20010108142A/ko
Application granted granted Critical
Publication of KR100676460B1 publication Critical patent/KR100676460B1/ko

Links

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
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/10Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
    • G07F7/1008Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/341Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/388Payment protocols; Details thereof using mutual authentication without cards, e.g. challenge-response
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/409Device specific authentication in transaction processing
    • G06Q20/4097Device specific authentication in transaction processing using mutual authentication between devices and transaction partners
    • G06Q20/40975Device specific authentication in transaction processing using mutual authentication between devices and transaction partners using encryption therefor
    • 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
    • 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/3218Cryptographic 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 proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
    • H04L9/3221Cryptographic 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 proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs interactive zero-knowledge proofs
    • 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/3249Cryptographic 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 RSA or related signature schemes, e.g. Rabin scheme
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y04INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
    • Y04SSYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
    • Y04S40/00Systems for electrical power generation, transmission, distribution or end-user application management characterised by the use of communication or information technologies, or communication or information technology specific aspects supporting them
    • Y04S40/20Information technology specific aspects, e.g. CAD, simulation, modelling, system security

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Accounting & Taxation (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Finance (AREA)
  • Computing Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Complex Calculations (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Storage Device Security (AREA)
  • Electrically Operated Instructional Devices (AREA)

Abstract

m개 쌍의 비밀값 Qi 및 공개값 Gi (m > 1), f개의 제1 인수 pj의 곱에 의해 구성된 공개 계수 n(f> 2), 공개지수 v의 파라미터에 의해 검증을 할 수 있다. 상기 계수와 상기 지수 및 상기 값은 GiㆍQi v ≡1 mod n 또는 Gi ≡Qi v mod n 의 식에 의해 연관되며, 상기 지수 v는 v=2k가 되며, 여기서, k가 1보다 큰 보안 파라미터이다. 상기 공개값 Gi는 f개의 제1 인수보다 작은 기수 gi의 제곱 gi 2이며, 상기 기수 gi는, 두 식, x2 ≡gi mod n 및 x2 ≡- gi mod n이 정수 계수 n의 정수환에서 x 해를 갖지 못하고, 식 xv ≡gi 2 mod n이 정수 계수 n의 정수환에서 x 해를 갖게 된다.
공개키(public key), 비밀키(private key), RSA, 인증성(authenticity), 무결성(integrity)

Description

2의 거듭제곱과 동등한 공개 지수를 이용한 엔티티 인증성 및/또는 메시지의 무결성 검증방법{METHOD FOR PROVING THE AUTHENTICITY OF AN ENTITY AND/OR THE INTEGRITY OF A MESSAGE BY MEANS OF A PUBLIC EXPONENT EQUAL TO THE POWER OF TWO}
본 발명은 엔티티(entity)의 인증성과, 메시지의 무결성(integrity) 및 인증성 중 적어도 하나를 검증하기 위해 고안된 방법, 시스템, 및 장치들에 관한 것이다.
EP O 311 470 B1호(발명자; Louis Guillou 와 Jean- Jacques Quisquater)는 상기 방법을 기재하고 있다. 이하, 상기 특허를 "GQ 특허" 또는 "GQ 방법"이라는 용어를 사용하여 참조할 것이다. 또한, 이하에서, 본 발명을 설명하기 위하여, "GQ2" 또는 "GQ2 발명" 또는 "GQ2 기법"이라는 표현을 사용할 것이다.
상기 GQ 기법에 따르면, "신뢰받은 당국(trusted authority)"으로 알려진 엔티티는 "증인(witness)"라 하는 엔티티 각각에 식별성(identity)을 할당하고 그 RSA 서명을 연산한다. 개별화된 과정에서, 상기 신뢰받은 당국은 증인에 식별성 및 서명을 부여한다. 그런 후, 상기 증인은 "여기에 나의 식별성이 있음. 나는 그 RAS의 서명을 알아냈음." 이라고 선언한다. 상기 사실을 공개하지 않고, 상기 증인은 자신이 그 식별성의 RSA서명을 알고 있음을 증명한다. 신뢰받은 당국에 의해 분배된 RSA 공개 식별키를 통해서 "제어자(controller)"로 알려진 엔티티는 상기 식별키의 지식(knowledge)을 제공받지 않고, 상기 RSA서명이 상기 선언된 동일성과 일치하는지를 확인한다. 상기 GQ기법을 이용하는 메커니즘은 "지식의 전송없이" 이루어진다. 상기 GQ 기법에 따르면, 상기 증인은 신뢰받은 당국이 많은 식별자를 서명하는데 사용하는 RSA 비밀키를 알지 못한다.
상술된 GQ기법은 RSA기술을 이용한다. 그러나, RSA기술이 정확하게 계수(modulus) n의 인수분해에 의존하는 반면에, 이러한 의존성은 등가가 아니다. 즉, RSA기술을 구현하는 디지털 서명의 다양한 표준에 대한 소위 승산 어택(multiplicative attack)에서 나타나는 것과 같이, 결코 등가와 관련없는 것이다.
GQ2 기법의 목적은 2가지이다. 하나는 RSA 기술의 고유성능을 향상시키는 것이고, 다른 하나는 RSA 기법의 본질적인 문제를 해결하는 것이다. GQ2 비밀키의 지식은 계수 n의 인수분해의 지식과 동등하다. 상기 트리플렛(triplet) GQ2에 대한 임의의 어택(attack)은 계수 n에 대한 인수분해가 된다. 이때에는 등가이다. GQ2 기법을 이용함으로써, 서명 또는 자기 인증 엔티티 및 제어 엔티티에 있어서 작업 부하는 감소된다. 보안 및 성능의 면에서 인수분해의 문제를 더 향상되게 사용하는 것을 통해서, GQ2 기법은 RSA 기법의 단점을 극복하게 된다.
상기 GQ기법은 512비트 이상로 이루어진 수의 계수(modulo) 연산을 구현한다. 상기 연산수치는 216+1차수의 거듭제곱으로 상승된 크기와 실질적으로 동일한 크기를 갖는 수와 관련되어 있다. 특히, 은행카드 분야에서, 현존하는 마이크로전자 하부구조는 연산 보조프로세서 없이 자체 프로그램 가능한 모노리식 마이크로 프로세서(monolithic self-programmable microprocessor)를 사용한다. 상기 GQ기법과 같은 방법에 속하는 다중 연산 애플리케이션과 관련된 작업부하는 계산시간을 야기하고, 이러한 계산시간은 어떤 경우에는 소비자가 구매시 은행카드를 사용하여 지불하는데 불편을 느끼게 된다. 여기서, 지불카드의 보안성을 향상시키는데 있어서, 은행당국이 해결하기 특별히 어려운 문제에 직면할 수 있다는 것을 생각해볼 수 있다. 실제로, 명백하게 모순되는 2가지 문제를 해결해야 한다. 즉, 한편으로는 각 카드에 점차 길고 명확한 키를 사용하여 보안성을 증가시키는 반면에, 다른 한편으로 그 작업부하로 인해 사용자에게 과도한 계산시간이 야기되지 않도록 해야 한다. 이러한 문제는 심각해지고, 따라서 현재 하부구조 및 마이크로프로세서를 고려해 볼 필요가 있다.
상기 GQ2기법은 보안성을 강화시키는 동시에 상술한 문제의 해결책을 제공한다.
방법
보다 상세하게는, 본 발명은 제어자 엔티티에게
- 엔티티의 인증성 또는(및)
- 상기 엔티티와 관련된 메시지 M의 무결성을 검증하기 위한 방법에 관한 것이다.
본 검증은 다음 파라미터와 그 파라미터의 도함수(derivative)의 일부 또는 전부에 의해 확립된다.
- m개 쌍의 비밀값 Q1,Q2,...,Qm 및 공개값 G1,G2,...,Gm (m은 1 이상임)
- f개의 소인수 p1,p2,...,pf의 곱에 의해 구성된 공개 계수 n(f는 2 이상임)
- 공개지수 v
상기 계수, 상기 지수 및 상기 값은
GiㆍQi v ≡1 mod n 또는 Gi ≡Qi v mod n 의 관계식에 의해 관련된다.
상기 지수 v는 v=2k가 되며, 여기서, k가 1보다 큰 보안 파라미터(sequrity parameter)이다.
상기 공개값 Gi는 f개의 소인수 p1,p2,...,pf보다 작은 기수(base number) gi의 제곱 gi 2이며, 상기 기수 gi는, 두 식, x2 ≡gi mod n 및 x2 ≡- gi mod n이 정수 계수 n의 정수환(ring)에서 x로 풀 수 없게 하고, 식 xv ≡gi 2 mod n이 정수 계수 n의 정수환에서 x로 풀 수 있게 된다.
상기 방법은 다음 단계에서 증인(witness)이라 하는 엔티티를 구현한다. 상기 증인 엔티티는 f개 소인수 pi와 그 소인수의 차이니스 잉여의 파라미터와 공개 계수 n과 상기 m개의 비밀값 Qi와 그 비밀값 Qi과 그 공개지수v의 fㆍm 개의 요소(component) Qi,j 중 적어도 하나를 갖는다.
상기 증인은 정수 계수 n의 정수환에서 공약(commitment) R을 계산한다. 상기 각각의 공약은
°R ≡rv mod n의 연산을 실행하거나,
°Ri ≡ri v mod pi의 연산을 실행하고(여기서, r은 0 < r < n이 되는 랜덤값이며, ri은 0 < ri < pi이 되는, 소수 pi 와 관련된 랜덤값이고 각 ri는 랜덤값의 콜렉션 {r1,r2,...,rf}에 속함),
°°이어, 차이니스 잉여 방법을 적용하여 계산한다.
상기 증인은 하나 이상의 챌린지(challenge) d을 수신한다. 상기 각 챌린지 d는 m개의 정수 di를 포함한다. 이하, 상기 di를 초기 챌린지(elementary challenge)이라 한다. 상기 증인은 각 챌린지 d에 기초하여 응답(response) D를 계산한다.
°D ≡rㆍ Q1 d1ㆍQ2 d2ㆍ...ㆍQm dm mod n 의 연산을 실행하거나,

°Di ≡riㆍ Qi,1 d1ㆍQi,2 d2ㆍ...ㆍQi,m dm mod pi 의 연산을 실행하고,
°°이어, 차이니스 잉여 방법을 적용하여 계산한다.
상기 방법은 상기 챌린지 d와 상기 공약 R의 수만큼 다수의 응답 D가 존재하도록 한다. 상기 R,d,D의 그룹은 {R,d,D}로 참조된 트리플릿(triplet)을 형성한다.
엔티티의 인증성을 검증하는 경우
제1 실시형태에서는, 본 발명의 방법은 증명자로 알려진 엔티티의 인증성을 제어자로 알려진 엔티티에게 검증받기 위해 고안된 방법이다. 상기 증명자 엔티티는 증인를 포함한다. 상기 증명자 및 제어자는 다음 단계를 실행한다.
°제1 단계: 공약 R의 동작
각 호출시에, 상기 증인은 상기 특정된 절차를 적용함으로써 각각의 공약 R을 계산한다. 상기 증명자는 상기 제어자에게 각 공약 R의 일부 또는 전부를 전송한다.
°제2 단계: 챌린지 d의 동작
상기 제어자는 공약 R의 일부 또는 전부를 수신한 후에, 상기 제어자는 공약 R의 수와 동일한 수의 챌린지 d를 생성하고, 상기 챌린지 d를 상기 증명자에 전송한다.
°제3 단계: 응답 D의 동작
상기 증인은 상기 특정된 절차를 채용함으로써 상기 챌린지 d로부터 상기 응답 D를 계산한다.
°제4 단계: 검사 동작
상기 증명자는 각 응답 D를 상기 제어자에 전송한다.
제1 경우: 상기 증명자는 각 공약 R의 일부를 전송하였다.
상기 증명자는 각 공약 R의 일부를 전송하였다면, m개의 공개값 G1, G2,...,Gm 을 갖는 상기 제어자는 각 챌린지 d와 각 응답 D로부터 재구성된 공약 R'를 계산한다. 이 재구성된 공약 R'는
R' ≡G1 d1ㆍG2 d2ㆍ...ㆍGm dmㆍDv mod n 또는
R' ≡Dv/G1 d1ㆍG2 d2ㆍ...ㆍGm dm mod n의 관계식을 만족한다.
상기 제어자는 각 재구성된 공약 R'이 그 제어자에 전송되었던 각 공약 R의 일부 또는 전부를 재생성하는 것을 확인한다.
제2 경우: 상기 증명자가 각 공약 R의 전부를 전송하였다.
상기 증명자가 각 공약 R의 전부를 전송하였다면, m개의 공개값 G1, G2,...,Gm 을 갖는 상기 제어자는 각 공약 R이
R' ≡G1 d1ㆍG2 d2ㆍ...ㆍGm dm ㆍDv mod n 의 식, 또는
R' ≡Dv/G1 d1ㆍG2 d2ㆍ...ㆍGm dm mod n의 식을 만족하는지를 확인한다.
메시지의 무결성을 검증하는 경우
상기 제1 실시형태와 결합가능한 제2 실시형태에서는, 본 발명의 방법은 제어자 엔티티로 알려진 엔티티에게 증명자 엔티티라 하는 엔티티와 관련된 메시지 M의 무결성을 검증받기 위한 방법이다. 상기 증명자 엔티티는 상기 증인를 포함한다.
상기 증명자 및 제어자 엔티티는 다음 단계를 수행한다.
°제1 단계: 공약 R의 동작
각 호출시에, 상기 증인은 상기 특정된 절차를 적용하여 각 공약 R을 계산한다.
°제2 단계: 챌린지 d의 동작
상기 증명자는 그 인수가 메시지 M과, 각 공약 R의 모두 또는 일부인 해싱 함수 h를 적용하여 적어도 하나의 토큰(token) T를 계산한다. 상기 증명자는 상기 토큰 T를 상기 제어자에게 전송한다. 토큰 T를 전송받은 후에, 상기 제어자는 공약 R의 수와 동일한 수로 챌린지 d를 생성하고, 챌린지 d를 상기 증명자에게 전송한다.
°제3 단계: 응답 D의 동작
상기 증인은 상기 특정된 절차를 적용하여 상기 챌린지 d로부터 상기 응답 D를 계산한다.
°제4 단계: 검사의 동작
상기 증명자는 각 응답 D를 상기 제어자에게 전송한다. m개의 공개값 G1, G2,...,Gm 을 갖는 상기 제어자는 챌린지 d와 응답 D 각각으로부터 각 공약 R'을 재구성한다. 그 재구성된 공약 R'은
R' ≡G1 d1ㆍG2 d2ㆍ...ㆍGm dm ㆍDvmod n 의 식, 또는
R' ≡Dv/G1 d1ㆍG2 d2ㆍ...ㆍGm dm mod n의 식을 만족한다.
이어, 상기 제어자는 그 인수가 메시지 M과, 각 재구성된 공약 R'의 모두 또는 일부인 해싱 함수 h를 적용하여, 적어도 하나의 토큰 T'을 재구성한다. 상기 제어자는 상기 토큰 T'가 전송된 토큰 T와 동일한지를 확인한다.
메시지의 디지털 서명과 인증성의 검증
상기 두 실시형태와 결합가능한 제3 실시형태에서는, 본 발명에 따른 방법은 서명 엔티티(signing entity)로 알려진 엔티티에 의해 메시지 M의 디지털 서명을 생성하도록 고안된다. 상기 서명 엔티티는 상기 증인를 포함한다.
서명 연산
상기 서명 엔티티는 서명연산을 실행하여,
- 메시지 M
- 챌린지 d와(또는) 공약 R
- 응답 D
를 포함한 서명된 메시지를 얻는다.
상기 서명 엔티티는 다음 단계를 구현함으로써 상기 서명연산을 실행한다.
°제1 단계: 공약 R의 동작
각 호출시에, 상기 증인은 상기 특정된 절차를 적용하여 각 공약 R을 계산한다.
°제2 단계: 챌린지 d의 동작
상기 서명자(signing party)는 그 인수가 메시지 M과, 각 공약 R의 모두 또는 일부인 해싱 함수 h를 적용하여 이진 트레인(binary train)을 얻는다. 그 이진 트레인으로부터, 상기 서명자는 공약 R의 수와 동일한 수로 챌린지 d를 추출한다.
°제3 단계: 응답 D의 동작
상기 증인은 상기 특정된 절차를 적용하여 상기 챌린지 d로부터 상기 응답 D를 계산한다.
검사 연산
상기 메시지 M의 인증성을 검증하기 위해서, 제어자라 하는 엔티티는 상기 서명된 메시지를 검사한다. 상기 서명된 메시지를 갖는 제어자 엔티티는 아래 절차에 의해 검사 연산을 실행한다.
° 제어자가 공약 R, 챌린지 d, 응답 D를 가질 경우.
상기 제어자가 공약 R, 챌린지 d, 응답 D를 갖는다면, 상기 제어자는 그 공약 R, 챌린지 d, 응답 D가
R ≡G1 d1ㆍG2 d2ㆍ...ㆍGm dm ㆍDv mod n 의 관계식, 또는
R ≡Dv/G1 d1ㆍG2 d2ㆍ...ㆍGm dm mod n의 관계식을 만족하는지를 확인한다.
이어, 상기 제어자는 메시지 M, 챌린지 d 및 공약 R이 해싱함수 d = h(message, R)을 만족하는지를 확인한다.
° 제어자가 챌린지 d와 응답 D를 가질 경우.
상기 제어자가 챌린지 d, 응답 D를 갖는다면, 상기 제어자는 각 챌린지 d와 응답 D에 기초하여,
R' ≡G1 d1ㆍG2 d2ㆍ...ㆍGm dm ㆍDv mod n 의 식, 또는
R' ≡Dv/G1 d1ㆍG2 d2ㆍ...ㆍGm dm mod n의 식을 만족하는 공약 R'을 재구성한다.
이어, 상기 제어자는 상기 메시지 M 및 챌린지 d가 해싱함수 d = h(message, R')을 만족하는지를 확인한다.
° 제어자가 공약 R와 응답 D를 가질 경우.
상기 제어자가 공약 R와 응답 D를 갖는다면, 상기 제어자는 해싱함수 d' = h(message, R)을 적용하여 d'를 재구성한다.
이어, 상기 제어자장치는 싱기 공약 R과 상기 챌린지 d' 및 상기 응답 D가
R ≡G1 d'1ㆍG2 d'2ㆍ...ㆍGm d'm ㆍDv mod n 또는
R ≡Dv/G1 d'1ㆍG2 d'2ㆍ...ㆍGm d'm mod n의 식을 만족하는지를 확인한다.
시스템
또한, 본 발명은 제어자 서버에게
- 엔티티의 인증성 또는(및)
- 상기 엔티티와 관련된 메시지 M의 무결성을 검증받기 위한 시스템에 관한 것이다.
본 검증은 다음 파라미터와 그 파라미터의 도함수(derivative)의 일부 또는 전부에 의해 확립된다.
- m개 쌍의 비밀값 Q1,Q2,...,Qm 및 공개값 G1,G2,...,Gm (m은 1 이상임)
- f개의 소인수 p1,p2,...,pf의 곱에 의해 구성된 공개 계수 n(f는 2 이상임)
- 공개지수 v
상기 계수, 상기 지수 및 상기 값은
GiㆍQi v ≡1 mod n 또는 Gi ≡Qi v mod n 의 관계식에 의해 관련된다.
상기 지수 v는 v=2k가 되며, 여기서, k가 1보다 큰 보안 파라미터(sequrity parameter)이다.
상기 공개값 Gi는 f개의 소인수 p1,p2,...,pf보다 작은 기수(base number) gi의 제곱 gi 2이며, 상기 기수 gi는, 두 식, x2 ≡gi mod n 및 x2 ≡- gi mod n이 정수 계수 n의 정수환에서 x로 풀 수 없게 하고, 식 xv ≡gi 2 mod n이 정수 계수 n의 정수환에서 x로 풀 수 있게 된다.
상기 시스템은 노매드 객체(nomad object)에서 마이크로 프로세서 기반 은행카드의 형태를 포함한 증인 장치를 포함한다. 상기 증인 장치는 f개의 소인수 pi와 그 소인수의 차이니스 잉여의 파라미터와 공개 계수 n과 상기 m개의 비밀값 Qi와 그 비밀값 Qi과 그 공개지수v의 fㆍm 개의 요소(component) Qi,j 중 적어도 하나를 갖는 메모리 영역을 포함한다.
또한, 상기 증인 장치는,
- 랜덤값 생성 수단. 이하, 증인 장치의 랜덤값을 생성하기 위한 수단이라 함.
- 계산수단. 이하, 증인 장치의 공약 R을 계산하기 위한 수단이라 함.
을 포함한다.
상기 계산수단은 정수 계수 n의 정수환에서 공약 R을 계산한다.
상기 각 공약 R은
°R ≡rv mod n의 연산을 실행하거나,
°Ri ≡ri v mod pi의 연산을 실행하고(여기서, r은 0 < r < n이 되는 랜덤값이며, ri은 0 < ri < pi이 되는, 소수 pi 와 관련된 랜덤값이고 상기 각 ri 는 랜덤값의 콜렉션 {r1,r2,...,rf}에 속함), 이어, 차이니스 잉여 방법을 적용하여 계산한다.
또한, 상기 증인 장치는,
- 하나 이상의 챌린지 d을 수신하고, 상기 각 챌린지 d는 m개의 정수 di(초기 챌린지이라고도 함)를 포함하는 수신수단(이하, 증인 장치의 챌린지 d 를 수신하기 위한 수단이라 함)과,
- 각 챌린지 d에 기초하여 응답 D를,
°D ≡rㆍ Q1 d1ㆍQ2 d2ㆍ...ㆍQm dm mod n 의 연산을 실행하거나,
°Di ≡riㆍQi,1 d1ㆍQi,2 d2ㆍ...ㆍQi,m dm mod pi 의 연산을 실행함으로써 계산하고, 이어, 차이니스 잉여 방법을 적용하여 계산하기 위한 계산 수단(이하, 증인 장치의 응답 D를 계산하기 위한 수단이라 함)을 포함한다.
또한, 상기 증인 장치는 상기 챌린지 d와 응답 D를 전송하기 위한 전송수단도 포함한다. 상기 응답 D는 각 공약 R과 챌린지 R의 수와 동일한 수로 존재한다. 상기 R,d,D의 그룹은 {R,d,D}로 참조된 트리플릿을 형성한다.
엔티티의 인증성을 검증하는 경우.
제1 실시형태에서는, 본 발명에 따른 시스템은 증명자라 하는 엔티티의 인증성을 제어자라 하는 엔티티에게 검증받기 위해 고안된 것이다.
상기 시스템은 증명자 엔티티와 관련된 증명자 장치를 포함하도록 구성된다. 상기 증명자 장치는 상호 연결수단에 의해 상기 증인 장치와 서로 연결된다. 상기 증명자 장치는 특히, 노매드 객체에서 로직 마이크로 회로의 형태, 예를 들면 마이크로 프로세서 기반 은행카드에서 마이크로 프로세서의 형태를 갖는다.
또한, 상기 시스템은 상기 제어자 엔티티와 관련된 제어자 장치를 포함한다. 특히, 상기 제어자 장치는 터미널 또는 원격 서버의 형태를 갖는다. 상기 제어자 장치는 전자적, 전자기적, 광학적 또는 음성학적(acoustic)으로 상기 증명자 장치와 연결하기 위한 연결수단, 특히, 데이터프로세싱 통신 네트워크와 같은 연결수단을 포함한다.
상기 시스템은 다음 단계를 실행하는데 사용된다..
°제1 단계: 공약 R의 동작
각 호출시에, 증인장치의 공약 R 계산수단은 상기 특정된 절차를 적용하여 각각의 공약 R을 계산한다. 상기 증인 장치는 상기 상호연결수단을 통해 증명자 장치에 공약 R의 일부 또는 전부를 전송하기 위한 전송수단(이하, 증인장치의 전송수단이라 함)을 갖는다. 또한, 상기 증명자 장치는 상기 연결수단을 통해 제어자 장치에 공약 R의 일부 또는 전부를 다시 전송하기 위한 전송수단(이하, 증명자장치의 전송수단이라 함)을 갖는다.
°제2 단계: 챌린지 d의 동작
상기 제어자 장치는 상기 각 증명자 R의 일부 또는 전부를 수신한 후에 공약 R의 수와 동일한 수로 챌린지 d를 생성하기 위한 챌린지 생성수단을 포함한다. 또한, 상기 제어자 장치는 상기 연결수단을 통해 증명자에 챌린지 d를 전송하기 위한 전송수단(이하, 제어자의 전송수단이라 함)을 포함한다.
°제3 단계: 응답 D의 동작
상기 증인장치의 챌린지 d 수신수단은 상기 상호연결수단을 통해 증명자 장치로부터 들어오는 각각의 챌린지 d를 수신한다. 상기 증인 장치의 응답 D 계산수단은 상기 특정된 절차를 채용하여 상기 챌린지 d로부터 상기 응답 D를 계산한다.
°제4 단계: 검사 동작
상기 증명자의 전송수단은 각 응답 D를 상기 제어자에게 전송한다.
또한, 상기 제어자 장치는,
- 계산 수단(이하 제어자 장치의 계산수단이라 함)과,
- 비교 수단(이하 제어자 장치의 비교수단이라 함)을 포함한다.
제1 경우: 증명자는 각 공약 R의 일부를 전송하였다.
상기 증명자의 전송수단이 각 공약 R의 일부를 전송하였다면, m개의 공개값 G1, G2,...,Gm 을 갖는 상기 제어자 장치의 계산수단은 각 챌린지 d와 각 응답 D로부터 재구성된 공약 R'를 계산한다. 이 재구성된 공약 R'는
R' ≡G1 d1ㆍG2 d2ㆍ...ㆍGm dm ㆍDv mod n 의 식, 또는
R' ≡Dv/G1 d1ㆍG2 d2ㆍ...ㆍGm dm mod n의 식을 만족한다.
상기 제어자 장치의 비교수단은 이미 수신한 각 공약 R의 일부 또는 전부과 각 재구성된 공약 R'을 비교한다.
제2 경우: 증명자가 각 공약 R의 전부를 전송하였다.
상기 증명자의 전송수단이 각 공약 R의 전부를 전송하였다면, m개의 공개값 G1, G2,...,Gm 을 갖는 상기 제어자장치의 계산수단은 상기 각 공약 R이
R ≡G1 d1ㆍG2 d2ㆍ...ㆍGm dm ㆍDv mod n 의 식, 또는
R ≡Dv/G1 d1.G2 d2ㆍ...ㆍGm dm mod n의 식을 만족하는지를 확인한다.
메시지의 무결성을 검증하는 경우
상기 제1 실시형태와 결합가능한 제2 실시형태에서는, 본 발명에 따른 시스템은 제어자 엔티티로 알려진 엔티티에게 증명자 엔티티라 하는 엔티티와 관련된 메시지 M의 무결성을 검증받기 위해 고안된 것이다.
상기 시스템은 상기 증명자 엔티티와 관련된 증명자장치를 포함하도록 구성되며, 상기 증명자 장치는 상호연결수단에 의해 상기 증인 장치와 서로 연결된다. 상기 증명자 장치는 특히, 노매드 객체에서 로직 마이크로 회로의 형태, 예를 들면 마이크로 프로세서 기반 은행카드에서 마이크로 프로세서의 형태를 갖는다.
또한, 상기 시스템은 상기 제어자 엔티티와 관련된 제어자 장치를 포함한다. 특히, 상기 제어자 장치는 터미널 또는 원격 서버의 형태를 갖는다. 상기 제어자 장치는 전자적, 전자기적, 광학적 또는 음성학적으로 상기 증명자 장치와 연결하기 위한 연결수단, 특히, 데이터프로세싱 통신 네트워크와 같은 연결수단을 포함한다.
상기 시스템은 다음 단계를 실행하는데 사용된다..
°제1 단계: 공약 R의 동작
각 호출시에, 상기 증인 장치의 공약R 계산수단은 상기 특정된 절차를 적용하여 각 공약 R을 계산한다. 상기 증인 장치는 상기 상호연결수단을 통해 증명자 장치에 공약 R의 일부 또는 전부를 전송하기 위한 전송수단(이하, 증인장치의 전송수단이라 함)을 갖는다.
°제2 단계: 챌린지 d의 동작
상기 증명자 장치는 그 인수가 메시지 M과, 각 공약 R의 모두 또는 일부인 해싱 함수 h를 적용하여 적어도 하나의 토큰 T를 계산하기 위한 계산수단(이하, 증명자의 계산수단이라 함)을 포함한다. 또한, 상기 증명자 장치는 상기 연결수단을 통해 상기 제어자 장치에 각 토큰 T를 전송하기 위한 전송수단(이하, 상기 증명자 장치의 전송수단이라 함)을 포함한다. 나아가, 상기 제어자 장치는 상기 토큰 T를 수신한 후에 공약 R의 수와 동일한 수로 챌린지 d를 생성하기 위한 챌린지 생성수단을 포함한다. 또한, 상기 제어자 장치는 상기 연결수단을 통해 증명자에 챌린지 d를 전송하기 위한 전송수단(이하, 제어자의 전송수단이라 함)을 포함한다.
°제3 단계: 응답 D의 동작
상기 증인 장치의 챌린지 d 수신수단은 상기 상호연결수단을 통해 증명자 장치로부터 들어오는 각각의 챌린지 d를 수신한다. 상기 증인 장치의 응답 D 계산수단은 상기 특정된 절차를 적용하여 상기 챌린지 d로부터 상기 응답 D를 계산한다.
°제4 단계: 검사 동작
상기 증명자의 전송수단은 상기 각 응답 D를 상기 제어자에게 전송한다.
또한, 상기 제어자 장치는,
우선, m개의 공개값 G1, G2,...,Gm 을 가지며, 챌린지 d와 응답 D 각각으로부터 각 공약 R'을 재구성하고, 그 재구성된 공약 R'이
R' ≡G1 d1ㆍG2 d2ㆍ...ㆍGm dm ㆍDvmod n 의 식, 또는
R' ≡Dv/G1 d1ㆍG2 d2ㆍ...ㆍGm dm mod n의 식을 만족하는지 계산하고,
이어, 그 인수가 메시지 M과 각 재구성된 공약 R'의 모두 또는 일부인, 해싱 함수 h를 적용하여, 적어도 하나의 토큰 T'을 계산하기 위한 계산 수단(이하, 제어자 장치의 계산수단이라 함)을 포함한다.
또한, 상기 제어자 장치는 상기 토큰 T'를 전송된 토큰 T와 비교하기 위한 비교 수단(이하 제어자 장치의 비교수단이라 함)을 포함한다.
메시지의 디지털 서명과 인증성의 검증
상기 두 실시형태와 결합가능한 제3 실시형태에서는, 본 발명에 따른 시스템은 서명 엔티티(signing entity)에 의해 메시지 M(이하, 서명된 메시지라 함)의 디지털 서명을 검증하도록 고안된다.
상기 서명 메시지는,
- 메시지 M,
- 챌린지 d 및(또는) 공약 R,
- 응답 D 를 포함한다.
상기 시스템은 상기 서명자 엔티티와 관련된 서명 장치(signing device)를 포함하도록 구성되며, 상기 서명 장치는 상호연결수단에 의해 상기 증인 장치와 서로 연결된다. 또한, 상기 서명 장치는 특히, 노매드 객체에서 로직 마이크로 회로의 형태, 예를 들면, 마이크로 프로세서 기반 은행카드의 마이크로 프로세서의 형태일 수 있다.
상기 시스템은 아래 단계를 실행하는데 사용된다.
°제1 단계: 공약 R의 동작
각 호출시에, 상기 증인 장치의 공약 R 계산수단은 상기 특정된 절차를 적용하여 각 공약 R을 계산한다. 상기 증인 장치는 상기 상호연결수단을 통해 증명자 장치에 공약 R의 일부 또는 전부를 전송하기 위한 전송수단(이하, 증인장치의 전송수단이라 함)을 갖는다.
°제2 단계: 챌린지 d의 동작
상기 서명 장치는, 그 인수가 메시지 M과 각 공약 R의 모두 또는 일부인 해싱 함수 h를 적용하여 이진 트레인을 계산하고, 그 이진 트레인으로부터 공약 R의 수와 동일한 수로 챌린지 d를 추출하기 위한 계산수단(이하, 서명 장치의 계산수단이라 함)을 포함한다.
°제3 단계: 응답 D의 동작
상기 증인장치의 챌린지 d 수신수단은 상기 상호연결수단을 통해 증명자 장치로부터 들어오는 각각의 챌린지 d를 수신한다. 상기 증인 장치의 응답 D 계산수단은 상기 특정된 절차를 적용하여 상기 챌린지 d로부터 상기 응답 D를 계산한다.
검사 연산
상기 메시지 M의 인증성을 검증하기 위해서, 제어자로 알려진 엔티티는 상기 서명된 메시지를 검사한다.
상기 시스템은 상기 제어자 엔티티와 관련된 제어자 장치를 포함한다. 특히, 상기 제어자 장치는 터미널 또는 원격 서버의 형태를 갖는다. 상기 제어자 장치는 전자적, 전자기적, 광학적 또는 음성학적으로 상기 서명 장치와 연결하기 위한 연결수단, 특히, 데이터프로세싱 통신 네트워크와 같은 연결수단을 포함한다.
상기 서명 엔티티와 관련된 서명 장치는 상기 연결수단을 통해 서명된 메시 지를 상기 제어자 장치에 전송하기 위한 전송수단(이하, 서명 장치의 전송수단이라 함)을 포함한다.
따라서, 상기 제어자 장치는,
- 메시지 M,
- 챌린지 d 및(또는) 공약 R,
- 응답 D 를 포함하는 서명된 메시지를 갖는다.
상기 제어자 장치는,
- 계산 수단(이하, 제어자 장치의 계산수단이라 함)과,
- 비교 수단(이하, 제어자 장치의 비교수단이라 함)을 포함한다.
° 제어자 장치가 공약 R, 챌린지 d, 응답 D를 가질 경우.
상기 제어자 장치가 공약 R, 챌린지 d 및 응답 D를 갖는다면, 상기 제어자 장치의 계산수단 및 비교수단은 상기 공약 R, 상기 챌린지 d, 상기 응답 D가
R ≡G1 d1ㆍG2 d2ㆍ...ㆍGm dm ㆍDv mod n 의 식, 또는
R ≡Dv/G1 d1ㆍG2 d2ㆍ...ㆍGm dm mod n의 식을 만족하는지를 확인한다.
이어, 상기 제어자 장치의 계산수단 및 비교수단은 메시지 M, 챌린지 d 및 공약 R이 해싱함수 d = h(message, R)을 만족하는지를 확인한다.
° 제어자 장치가 챌린지 d와 응답 D를 가질 경우.
상기 제어자 장치가 챌린지 d, 응답 D를 갖는다면, 상기 제어자는 각 챌린지 d와 응답 D에 기초하여,
R' ≡G1 d1ㆍG2 d2ㆍ...ㆍGm dm ㆍDv mod n 의 식, 또는
R' ≡Dv/G1 d1ㆍG2 d2ㆍ...ㆍGm dm mod n의 식을 만족하는 공약R'을 재구성한다.
이어, 상기 제어자는 상기 메시지 M 및 챌린지 d가 해싱함수 d = h(message, R')을 만족하는지를 확인한다.
° 제어자가 공약 R와 응답 D를 가질 경우.
상기 제어자가 공약 R와 응답 D를 갖는다면, 상기 제어자 장치의 계산수단은 해싱함수 d' = h(message, R)을 적용하여 d'를 계산한다.
이어, 상기 제어자 장치의 계산수단 및 비교수단은 상기 공약 R과 상기 챌린지 d' 및 상기 응답 D가
R ≡G1 d'1ㆍG2 d'2ㆍ...ㆍGm d'm ㆍDvmod n의 식, 또는
R ≡Dv/G1 d'1ㆍG2 d'2ㆍ...ㆍGm d'm mod n의 식을 만족하는지를 확인한다.
단말기(terminal device)
또한, 본 발명은 엔티티와 관련있는 단말기 장치에 관한 것이다. 특히, 상기 단말기 장치는 노매드 객체에서 마이크로 프로세서 기반 은행카드의 형태이다.
상기 단말기 장치는 제어자 서버에
- 엔티티의 인증성 또는(및)
- 상기 엔티티와 관련된 메시지 M의 무결성을 검증받기 위해 고안된 것이다.
본 검증은 다음 파라미터와 그 파라미터의 도함수의 일부 또는 전부에 의해 확립된다.
- m개 쌍의 비밀값 Q1,Q2,...,Qm 및 공개값 G1,G2,...,Gm (m은 1 이상임)
- f개의 소인수 p1,p2,...,pf의 곱에 의해 구성된 공개 계수 n(f는 2 이상임)
- 공개지수 v
상기 계수와 상기 지수 및 상기 값은 GiㆍQi v ≡1 mod n 또는 Gi ≡Qi v mod n 의 식에 의해 연관된다.
상기 지수 v는 v=2k가 되며, 여기서, k가 1보다 큰 보안 파라미터이다.
상기 공개값 Gi는 f개의 소인수 p1,p2,...,pf보다 작은 기수(base number) gi의 제곱 gi 2이며, 상기 기수 gi는, 두 식, x2 ≡gi mod n 및 x2 ≡- gi mod n이 정수 계수 n의 정수환에서 x로 풀 수 없게 하고, 식 xv ≡gi 2 mod n이 정수 계수 n의 정수환에서 x로 풀 수 있게 된다.
상기 단말기는 f개의 소인수 pi와 그 소인수의 차이니스 잉여의 파라미터와 공개 계수 n과 상기 m개의 비밀값 Qi와 그 비밀값 Qi과 그 공개지수v의 fㆍm 개의 요소(component) Qi,j (Qi,j ≡Qi mod pj)중 적어도 하나를 갖는 메모리 영역을 포함한다.
또한, 상기 증인 장치는,
- 랜덤값 생성 수단(이하, 증인 장치의 랜덤값을 생성하기 위한 수단이라 함)과,
- 계산수단(이하, 증인 장치의 공약 R을 계산하기 위한 수단이라 함)을 포함한다.
상기 계산수단은 정수 계수n의 정수환에서 공약 R을 계산한다.
상기 각 공약 R은
°R ≡rv mod n의 연산을 실행하거나,
°Ri ≡ri v mod pi의 연산을 실행하고(여기서, r은 0 < r < n이 되는 랜덤값이며, ri은 0 < ri < pi이 되는, 소수 pi 와 관련된 랜덤값이고 상기 각 ri 는 랜덤값의 콜렉션 {r1,r2,...,rf}에 속함) 이어, 차이니스 잉여 방법을 적용하여 계산한다.
또한, 상기 증인 장치는,
- 하나 이상의 챌린지 d을 수신하고, 상기 각 챌린지 d는 m개의 정수 di(초기 챌린지이라고도 함)를 포함하는 수신수단(이하, 증인 장치의 챌린지 d 를 수신하기 위한 수단이라 함)과,
- 각 챌린지 d에 기초하여 응답 D를,
°D ≡rㆍQ1 d1ㆍQ2 d2ㆍ...ㆍQm dm mod n 의 연산을 실행하거나,
°Di ≡riㆍQi,1 d1ㆍQi,2 d2ㆍ...ㆍQi,m dm mod pi 의 연산을 실행함으로써 계산하고, 이어, 차이니스 잉여 방법을 적용하여 계산하기 위한 계산 수단(이하, 증인 장치의 응답 D를 계산하기 위한 수단이라 함)을 포함한다.
또한, 상기 증인 장치는 상기 챌린지 d와 응답 D를 전송하기 위한 전송수단을 포함한다. 상기 응답 D는 각 공약 R과 챌린지 R의 수와 동일한 수로 존재한다. 상기 R,d,D의 그룹은 {R,d,D}로 참조된 트리플릿을 형성한다.
엔티티의 인증성을 검증하는 경우.
제1 실시형태에서는, 본 발명에 따른 단말기 장치는 증명자라 하는 엔티티의 인증성을 제어자라 하는 엔티티에게 검증받기 위해 고안된 것이다.
상기 단말기 장치는 증명자 엔티티와 관련된 증명자 장치를 포함하도록 구성된다. 상기 증명자 장치는 상호 연결수단에 의해 상기 증인 장치와 서로 연결된다. 특히, 상기 증명자 장치는 노매드 객체에서 로직 마이크로 회로의 형태, 예를 들면 마이크로 프로세서 기반 은행카드에서 마이크로 프로세서의 형태를 갖는다.
또한, 상기 증명자 장치는 전자적, 전자기적, 광학적 또는 음성학적으로 상기 제어자 장치와 연결하기 위한 연결수단, 특히, 데이터프로세싱 통신 네트워크와 같은 연결수단을 포함한다. 또한, 상기 제어자 장치는 단말기 또는 원격 서버의 형태일 수 있다.
상기 단말기 장치는 다음 단계를 실행하는데 사용된다..
°제1 단계: 공약 R의 동작
각 호출시에, 증인 장치의 공약 R 계산수단은 상기 특정된 절차를 적용하여 각각의 공약 R을 계산한다.
상기 증인 장치는 상기 상호연결수단을 통해 증명자 장치에 공약 R의 일부 또는 전부를 전송하기 위한 전송수단(이하, 증인장치의 전송수단이라 함)을 갖는다. 또한, 상기 증명자 장치는 상기 연결수단을 통해 제어자 장치에 공약 R의 일부 또는 전부를 다시 전송하기 위한 전송수단(이하, 증명자 장치의 전송수단이라 함)을 갖는다.
°제2 및 제3 단계: 챌린지 d의 동작, 응답 D의 동작.
상기 증인 장치의 챌린지 d 수신수단은 상기 제어자 장치와 상기 증명자 장치 사이의 연결수단과, 상기 증명자 장치와 상기 증인 장치 사이의 상호연결수단을 통해 증명자 장치로부터 들어오는 각각의 챌린지 d를 수신한다. 상기 증인 장치의 응답 D 계산수단은 상기 특정된 절차를 적용하여 상기 챌린지 d로부터 상기 응답 D를 계산한다.
°제4 단계: 검사 동작
상기 증명자의 전송수단은 각 응답 D를 검사를 실행하는 제어자에게 전송한다.
메시지의 무결성을 검증하는 경우
상기 제1 실시형태와 결합가능한 제2 실시형태에서는, 본 발명에 따른 단말기는 제어자 엔티티로 알려진 엔티티에게 증명자 엔티티라 하는 엔티티와 관련된 메시지 M의 무결성을 검증받기 위해 고안된 것이다. 상기 단말기는 상기 증명자 엔티티와 관련된 증명자장치를 포함하도록 구성되며, 상기 증명자 장치는 상호연결수단에 의해 상기 증인 장치와 서로 연결된다. 상기 증명자 장치는 특히, 노매드 객체에서 로직 마이크로 회로의 형태, 예를 들면 마이크로 프로세서 기반 은행카드에서 마이크로 프로세서의 형태를 갖는다. 상기 증명자 장치는 전자적, 전자기적, 광학적 또는 음성학적으로 상기 제어자 장치와 연결하기 위한 연결수단, 특히, 데이터프로세싱 통신 네트워크와 같은 연결수단을 포함한다. 또한, 상기 제어자 장치는 터미널 또는 원격 서버의 형태를 갖는다.
상기 단말기 장치는 다음 단계를 실행하는데 사용된다..
°제1 단계: 공약 R의 동작
각 호출시에, 상기 증인 장치의 공약R 계산수단은 상기 특정된 절차를 적용하여 각 공약 R을 계산한다. 상기 증인 장치는 상기 상호연결수단을 통해 증명자 장치에 공약 R의 일부 또는 전부를 전송하기 위한 전송수단(이하, 증인장치의 전송수단이라 함)을 갖는다.
°제2 및 제3 단계: 챌린지 d의 동작, 응답 D의 동작
상기 증명자 장치는 그 인수가 메시지 M과, 각 공약 R의 모두 또는 일부인 해싱 함수 h를 적용하여 적어도 하나의 토큰 T를 계산하기 위한 계산수단(이하, 증명자의 계산수단이라 함)을 포함한다. 또한, 상기 증명자 장치는 상기 연결수단을 통해 상기 제어자 장치에 각 토큰 T를 전송하기 위한 전송수단(이하, 상기 증명자 장치의 전송수단이라 함)을 포함한다.
나아가, 상기 제어자 장치는 상기 토큰 T를 수신한 후에 공약 R의 수와 동일한 수로 챌린지 d를 생성한다.
상기 증인 장치의 챌린지 d 수신수단은 상기 제어자 장치와 상기 증명자 장치사이의 연결수단과 상기 증명자 장치와 상기 증인 장치 사이의 상호연결수단을 통해 상기 제어자 장치로부터 들어오는 각각의 챌린지 d를 수신한다. 상기 증인 장치의 응답 D 계산수단은 상기 특정된 절차를 적용하여 상기 챌린지 d로부터 상기 응답 D를 계산한다.
°제4 단계: 검사의 동작
상기 증명자의 전송수단은 검사를 실행하는 제어자 장치에 각 응답 D를 전송한다.
메시지의 디지털 서명과 인증성의 검증
상기 두 실시형태와 결합가능한 제3 실시형태에서는, 본 발명에 따른 단말기는 서명 엔티티에 의해 메시지 M(이하, 서명된 메시지라 함)의 디지털 서명을 검증하도록 고안된다.
상기 서명된 메시지는,
- 메시지 M,
- 챌린지 d 및(또는) 공약 R,
- 응답 D 를 포함한다.
상기 단말기 장치는 상기 서명자 엔티티와 관련된 서명 장치를 포함하도록 구성되며, 상기 서명 장치는 상호연결수단에 의해 상기 증인 장치와 서로 연결된다. 또한, 상기 서명 장치는 특히, 노매드 객체에서 로직 마이크로 회로의 형태, 예를 들면 마이크로 프로세서 기반 은행카드의 마이크로 프로세서 형태일 수 있다. 상기 증명자 장치는 전자적, 전자기적, 광학적 또는 음성학적으로 상기 제어자 장치와 연결하기 위한 연결수단, 특히, 데이터프로세싱 통신 네트워크와 같은 연결수단을 포함한다. 또한, 상기 제어자 장치는 터미널 또는 원격 서버의 형태를 갖는다.
서명 연산
상기 단말기 장치는 다음 단계를 실행하는데 사용된다.
°제1 단계: 공약 R의 동작
각 호출시에, 상기 증인 장치의 공약R 계산수단은 상기 특정된 절차를 적용하여 각 공약 R을 계산한다. 상기 증인 장치는 상기 상호연결수단을 통해 증명자 장치에 공약 R의 일부 또는 전부를 전송하기 위한 전송수단(이하, 증인장치의 전송수단이라 함)을 갖는다.
°제2 단계: 챌린지 d의 동작
상기 서명 장치는, 그 인수가 메시지 M과 각 공약 R의 모두 또는 일부인 해싱 함수 h를 적용하여 이진 트레인을 계산하고, 그 이진 트레인으로부터 공약 R의 수와 동일한 수로 챌린지 d를 추출하기 위한 계산수단(이하, 서명 장치의 계산수단이라 함)을 포함한다.
°제3 단계: 응답 D의 동작
상기 증인 장치의 챌린지 d 수신수단은 상기 상호연결수단을 통해 증명자 장치로부터 들어오는 각각의 챌린지 d를 수신한다. 상기 증인 장치의 응답 D 계산수단은 상기 특정된 절차를 적용하여 상기 챌린지 d로부터 상기 응답 D를 계산한다. 상기 증인 장치는 상기 상호연결수단을 통해 응답 D를 상기 서명 장치로 전송하기 위한 전송수단(이하, 증인 장치의 전송수단이라 함)을 포함한다.
제어자 장치
또한, 본 발명은 제아자 장치에 관한 것이다. 특히, 상기 제어자 장치는 제어자 엔티티와 관련된 단말기 또는 원격 서버의 형태를 갖는다.
상기 제어자 장치는,
- 엔티티의 인증성 또는(및)
- 상기 엔티티와 관련된 메시지 M의 무결성을 검사하기 위해 고안된 것이다.
본 검증은 다음 파라미터와 그 파라미터의 도함수(derivative)의 일부 또는 전부에 의해 확립된다.
- m개 쌍의 비밀값 Q1,Q2,...,Qm 및 공개값 G1,G2,...,Gm (m은 1 이상임)
- f개의 소인수 p1,p2,...,pf의 곱에 의해 구성된 공개 계수 n(f는 2 이상임)
- 공개지수 v
상기 계수, 상기 지수 및 상기 값은
GiㆍQi v ≡1 mod n 또는 Gi ≡Qi v mod n 의 관계식에 의해 관련된다. 여기서, Qi 는 비밀값을 지정하며, 상기 제어자 장치에게는 알려지지 않고, 상기 공개값 Gi와 연관된 값이다.
상기 지수 v는 v=2k가 되며, 여기서, k가 1보다 큰 보안 파라미터이다.
상기 공개값 Gi는 f개의 소인수 p1,p2,...,pf보다 작은 기수 gi의 제곱 gi 2이며, 상기 기수 gi는, 두 식, x2 ≡gi mod n 및 x2 ≡- gi mod n이 정수 계수 n의 정수환에서 x로 풀 수 없게 하고, 식 xv ≡gi 2 mod n이 정수 계수 n의 정수환에서 x로 풀 수 있게 된다.
엔티티의 인증성을 검증하는 경우.
제1 실시형태에서는, 본 발명에 따른 제어자 장치는 증명자라 하는 엔티티의 인증성을 제어자라 하는 엔티티에게 검증받기 위해 고안된 것이다.
상기 제어자 장치는 전자적, 전자기적, 광학적 또는 음성학적으로 상기 증명자 장치와 연결하기 위한 연결수단, 특히, 데이터프로세싱 통신 네트워크와 같은 연결수단을 포함한다.
상기 제어자 장치는 다음 단계를 실행하는데 사용된다..
°제1 및 제2 단계: 공약 R의 동작, 챌린지 d의 동작.
상기 제어자 장치는 또한 상기 연결수단을 통해 상기 증명자 장치로부터 들어오는 공약 R의 일부 또는 전부를 수신하기 위한 수신수단을 갖는다.
상기 제어자 장치는 상기 각 증명자 R의 일부 또는 전부를 수신한 후에 공약 R의 수와 동일한 수로 챌린지 d를 생성하기 위한 챌린지 생성수단을 포함한다. 상기 각 챌린지 d는 초기 챌린지라 하는, m개의 정수 di를 포함한다.
또한, 상기 제어자 장치는 상기 연결수단을 통해 상기 증명자에게 챌린지 d를 전송하기 위한 전송수단(이하, 제어자의 전송수단이라 함)을 포함한다.
°제3 및 제4 단계: 응답 D의 동작, 검사동작
상기 제어자 장치는
- 상기 상호연결수단을 통해 증명자 장치로부터 들어오는 응답 D를 수신하기 위한 수신수단과,
- 계산 수단(이하 제어자 장치의 계산수단이라 함)과,
- 비교 수단(이하 제어자 장치의 비교수단이라 함)을 포함한다.
제1 경우: 증명자는 각 공약 R의 일부를 전송하였다.
상기 증명자의 전송수단이 각 공약 R의 일부를 전송하였다면, m개의 공개값 G1, G2,...,Gm 을 갖는 상기 제어자 장치의 계산수단은 각 챌린지 d와 각 응답 D로부터 재구성된 공약 R'를 계산한다. 그 재구성된 공약 R'는
R' ≡G1 d1ㆍG2 d2ㆍ...ㆍGm dm ㆍDvmod n 의 식, 또는
R' ≡Dv/G1 d1ㆍG2 d2ㆍ...ㆍGm dm mod n의 식을 만족한다.
상기 제어자 장치의 비교수단은 이미 수신한 각 공약 R의 일부 또는 전부과 각 재구성된 공약 R'을 비교한다.
제2 경우: 증명자가 각 공약 R의 전부를 전송하였다.
상기 증명자의 전송수단이 각 공약 R의 전부를 전송하였다면, m개의 공개값 G1, G2,...,Gm 을 갖는 상기 제어자 장치의 계산수단은 각 공약 R이
R ≡G1 d1ㆍG2 d2ㆍ...ㆍGm dm ㆍDv mod n 의 식, 또는
R ≡Dv/G1 d1ㆍG2 d2ㆍ...ㆍGm dm mod n의 식을 만족하는지를 확인한다.
메시지의 무결성을 검증하는 경우
상기 제1 실시형태와 결합가능한 제2 실시형태에서는, 본 발명에 따른 제어장치는 제어자로 알려진 엔티티에게 증명자로 알려진 엔티티와 관련된 메시지 M의 무결성을 검증받기 위해 고안된 것이다.
상기 제어자 장치는 전자적, 전자기적, 광학적 또는 음성학적으로 상기 증명자 장치와 연결하기 위한 연결수단, 특히, 데이터프로세싱 통신 네트워크와 같은 연결수단을 포함한다.
상기 시스템은 다음 단계를 실행하는데 사용된다..
°제1 및 제2 단계: 공약 R의 동작, 챌린지 d의 동작
상기 제어자 장치는 상기 연결수단을 통해 상기 증명자 장치로부터 들어오는 토큰 T를 수신하기 위한 수단을 갖는다. 또한, 상기 제어자 장치는 상기 토큰 T를 수신한 후에 공약 R의 수와 동일한 수로 챌린지 d를 생성하기 위한 챌린지 생성수단을 포함한다. 상기 각 챌린지 d는 초기챌린지 di이라도 하는 m개의 정수를 포함한다.
나아가, 상기 제어자 장치는 상기 연결수단을 통해 증명자에게 챌린지 d를 전송하기 위한 전송수단(이하, 제어자의 전송수단이라 함)을 포함한다.
°제3 및 제4 단계: 응답 D의 동작, 검사동작
상기 제어자 장치는 상기 연결수단을 통해 상기 증명자 장치로부터 들어오는 각각의 챌린지 d를 수신하기 위한 수단을 포함한다.
또한, 상기 제어자 장치는 m개의 공개값 G1, G2,...,Gm 을 가지며, 챌린지 d와 응답 D 각각으로부터 각 공약 R'을 재구성하고, 그 재구성된 공약 R'이 R' ≡G1 d1ㆍG2 d2ㆍ...ㆍGm dm ㆍDv mod n 의 식, 또는 R' ≡Dv/G1 d1ㆍG2 d2ㆍ...ㆍGm dm mod n의 식을 만족시키는 제1 계산수단(이하, 제어자 장치의 계산수단)과,
이어, 그 인수가 메시지 M과 각 재구성된 공약 R'의 모두 또는 일부인, 해싱 함수 h를 적용하여, 적어도 하나의 토큰 T'을 계산하기 위한 제2 계산 수단(이하 제어자 장치의 계산수단이라 함)을 포함한다.
또한, 상기 제어자 장치는 상기 토큰 T'를 전송된 토큰 T와 비교하기 위한 비교 수단(이하, 제어자 장치의 비교수단이라 함)을 포함한다.
메시지의 디지털 서명과 인증성의 검증
상기 두 실시형태와 결합가능한 제3 실시형태에서는, 본 발명에 따른 제어장치는 제어자라 하는 엔티티에 의해 서명된 메시지를 검사함으로써 메시지 M의 인증성을 검사하도록 고안된다.
해싱 함수 h(message, R)을 갖는 서명엔티티와 관련된 서명 장치에 의해 전송된, 상기 서명된 메시지는,
- 메시지 M,
- 챌린지 d 및(또는) 공약 R,
- 응답 D 를 포함한다.
검사 연산
상기 제어자 장치는 전자적, 전자기적, 광학적 또는 음성학적으로 상기 서명 장치와 연결하기 위한 연결수단, 특히, 데이터프로세싱 통신 네트워크와 같은 연결수단을 포함한다. 상기 제어자 장치는 상기 연결수단을 통해 서명장치로부터 서명된 메시지를 수신한다.
상기 제어자 장치는
- 계산 수단(이하, 제어자 장치의 계산수단이라 함)과,
- 비교 수단(이하, 제어자 장치의 비교수단이라 함)을 포함한다.
° 제어자 장치가 공약 R, 챌린지 d, 응답 D를 가질 경우.
상기 제어자 장치가 공약 R, 챌린지 d 및 응답 D를 갖는다면, 상기 제어자 장치의 계산수단 및 비교수단은 공약 R, 챌린지 d, 응답 D가
R ≡G1 d1ㆍG2 d2ㆍ...ㆍGm dm ㆍDv mod n 의 식 또는
R ≡Dv/G1 d1ㆍG2 d2ㆍ...ㆍGm dm mod n의 식을 만족하는지를 확인한다.
이어, 상기 제어자 장치의 계산수단 및 비교수단은 메시지 M, 챌린지 d 및 공약 R이 해싱함수 d' = h(message, R)을 만족하는지를 확인한다.
° 제어자 장치가 챌린지 d와 응답 D를 가질 경우.
상기 제어자 장치가 챌린지 d, 응답 D를 갖는다면, 상기 제어자의 계산수단은 각 챌린지 d와 응답 D에 기초하여,
R' ≡G1 d1ㆍG2 d2ㆍ...ㆍGm dm ㆍDv mod n 의 식, 또는
R' ≡Dv/G1 d1ㆍG2 d2ㆍ...ㆍGm dm mod n의 식을 만족하는 공약 R'을 재구성한다.
이어, 상기 제어자는 상기 메시지 M 및 챌린지 d가 해싱함수 d = h(message, R')을 만족하는지를 확인한다.
° 제어자가 공약 R와 응답 D를 가질 경우.
상기 제어자가 공약 R와 응답 D를 갖는다면, 상기 제어자 장치의 계산수단은 해싱함수 d = h(message, R)을 적용하여 d'를 계산한다.
이어, 상기 제어자 장치의 계산수단 및 비교수단은 상기 공약 R과 상기 챌린지 d' 및 상기 응답 D가
R ≡G1 d'1ㆍG2 d'2ㆍ...ㆍGm d'm ㆍDvmod n의 식, 또는
R ≡Dv/G1 d'1ㆍG2 d'2ㆍ...ㆍGm d'm mod n의 식을 만족하는지를 확인한다.
GQ기술의 목적은 엔티티와 관련 메시지 및 메시지의 디지털 서명의 동적 인증(dynamic authentication)이라 볼 수 있다.
GQ 기술의 표준버전은 RSA 기술을 사용한다. 그러나, RSA 기술은 인수분해에 의존하지만, 이러한 의존성은 등가적이지 않다. 즉, RSA기술을 구현하는 디지털 서명의 다양한 표준에 대한 소위 승산 어택(multiplicative attack)에서 나타나는 것과 같이, 결코 등가와 관련없는 것이다.
GQ2기법과 관련하여, 보다 상세하게는 본 발명의 부분은 동적 인증 및 디지털 서명과 관련하여 GQ2 키 세트의 사용에 관한 것이다. 상기 GQ2기술은 RSA기술을 사용하지 않는다. 상기 목적은 2가지이다. 하나는 RSA 기술의 고유성능을 향상시키는 것이고, 다른 하나는 RSA 기법의 본질적인 문제를 해결하는 것이다. GQ2 비밀키는 계수 n의 인수분해이다. 상기 트리플릿(triplet) GQ2에 대한 임의의 어택(attack)은 계수 n에 대한 인수분해와 같다. 이 시간은 등가이다. GQ2 기법을 이용함으로써, 작업 부하는 서명하거나 인증된 엔티티와 검사하는 엔티티 모두에 대해 감소된다. 보안 및 성능의 면에서 인수분해의 문제를 더 향상되게 사용하는 것을 통해서, GQ2 기법은 RSA 기법의 단점을 극복하게 된다.
상기 GQ2기술은 하나 이상의 1보다 큰 작은 정수를 사용한다. 예를 들면, 상기 작은 정수 m(m ≥1)은 기수(base number)라 하며 gi로 참조된다. 상기 기수는 m > 1 이면 gi 에서 gi 까지로 고정되므로, 공개 검증키(public verification key) <v,n>은 다음과 같이 선택된다. 공개 검증 지수(public verification exponent) v는 기수보다 큰 적어도 2개의 소인수의 곱이다. 예를 들어, 소인수 f(f≥2)는 p1,p2,...,pf로부터 pj로 참조된다. 상기 소인수 f는 공개 계수 n이 g1 에서 gm 까지의 m 개의 기수 각각에 관하여 아래와 같은 특성을 갖도록 선택된다.
- 첫째로, 아래의 식(1) 및 식(2)는 정수 계수(modulo) n의 정수환(ring)에서 x로 풀릴 수 없는데, 다시 말하면, gi 및 -gi가 두개의 비제곱(non-quadratic) 잉여(mod n)이다.
x2≡gi (mod n) (1)
x2 ≡- gi (mod n) (2)
- 둘째로, 아래 식(3)은 정수 계수 n의 정수환에서 x로 풀릴 수 있다.
Figure 112001018742265-pct00001
≡gi 2 (mod n) (3)
공개 검증키 <v,n>은 m ≥1 인 g1 에서 gm 까지의 기수에 따라서 고정되므로, 상기 각각의 기수 gi는 공개 값 Gi 및 비밀 값 Qi로 이루어진 한 쌍의 GQ2 값으로 결정되며, G1Q1 에서 GmQm 까지의 m개의 쌍을 제공한다. 공개 값 Gi는 기수 gi의 제곱이며, Gi=gi 2 값을 제공한다. 비밀 값 Qi는 상기 식(3)의 해 중의 하나이거나 상기 해의 역(mod n)이다.
계수 n은 f개의 소인수로 분해될 때에, 정수 계수 n의 정수환은 CG(p1)에서 CG(pf)까지의 f개의 갈루아 필드(Galois field)로 분해된다. 아래에 CG(pj)의 식 (1),(2) 및 (3) 의 프로젝션이 있다.
x2≡gi (mod pj) (1.a)
x2 ≡- gi (mod pj) (2.b)
Figure 112001018742265-pct00002
≡gi 2 (mod pj) (3.c)
각 비밀 값 Qi는 소인수 하나 당 한개, 즉 Qij ≡Qi (mod pj)의 f 개의 요소(component)로 , 각 비밀 요소 Qij는 식(3.a)의 해이거나 그 해의 역 (mod pj)이다. 각 식(3.a)에서 가능한 모든 해가 계산된 후에, 상기 차이니스 잉여 기법(Chinese remainder technique)은 Qi = 차이니스 잉여(Qi,1,Qi,2,...,Qi,f)인 Qi,1에서 Qif까지의 f개의 구성요소에 기초하여, 각 비밀값 Qi에 대한 가능한 모든 값을 설정함으로써 모든 가능한 해를 식(3)에서 얻는다.
다음은 상기 차이니스 잉여 기법이다. 0 < a < b가 되는 상호 소수(prime number) a와 b인 2개의 양수와, 0 내지 a-1 인 Xa와 0 내지 b-1인 Xb, 2개의 요소를 설정한다. X = 차이니스 잉여(Xa,Xb)을 결정하는 것이 필요하다. 즉, Xa ≡X(mod a)와 Xb ≡X(mod b)가 되는, 0에서 a.b-1까지의 유일수(unique number) X이다. 차이니스 잉여 파라미터는 α≡{b(mod a)}-1(mod a)이다. 차이니스 잉여 연산은 ε≡Xb(mod a); δ= Xa - ε; 만일 δ가 음이라면, δ는 δ+ a로 대신함; γ ≡ αㆍδ(mod a); X= γㆍb + Xb이다.
소인수를 최소인 p1에서 최대인 pf 까지의 오름순서로 배열할 때에, 상기 차이니스 잉여 파라미터는, 제1 차이니스 잉여 파라미터 α≡{p2 (mod p1)}-1(mod p1)이고, 제2 차이니스 잉여 파라미터 β≡{p1ㆍp2 (mod p3)}-1(mod p3)이며, 제i 차이니스 잉여 파라미터 λ≡{p1ㆍp2,...,pi-1 (mod pi)}-1(mod pi) 등이다. 최종적으로, f-1 차이니스 잉여 연산에서, 제1 결과(mod p2 곱하기 p1)는 제1 파라미터로 얻을 수 있으며, 제2 결과(mod p1ㆍ p2 곱하기 p1)는 제2 파라미터로 얻을 수 있으며, 이러한 방법으로 결과(mod p1,...,pf-1 곱하기 pf), 즉 (mod n)까지 얻을 수 있다.
비밀키 GQ2는 여러가지의 가능한 형태가 있으며, 이러한 특성을 비밀키 GQ2의 폴리머픽(polymorphic) 특성이라 표현한다. 다양한 기술은 등가인 것으로 입증된다. 즉, 그 모든 기술은 진정한 비밀 GQ2키인 계수 n의 인수분해의 지식과 동일하다. 상기 기술이 서명 엔티티(signing entity) 또는 자체 인증 엔티티(self-authnticating entity)의 동작에 영향을 준다면, 이는 제어키의 동작에는 영향을 주지 않는다.
이하, GQ2 비밀키의 3가지 가능한 주요 형태이다.
1) GQ기술의 표준형은 m개의 비밀값 Qi 및 공개 검사키 <v,n>의 저장수단으로 이루어진다. 이러한 기술은 아래 두 형태과 필적된다. 2) 작업부하와 관련한 최적 형태는 공개지수 v, f개의 소인수 pj , mㆍf개의 비밀 요소 Qij 및 차이니스 잉여의 f-1개 파라미터를 저장하여 구성된다. 3) 비밀키 크기와 관련된 최적 형태는 공개지수 v, m개의 기수 gi 및 f개의 소인수 pj 를 저장하고 나서, 제1 형태로 복귀하기 위해 m개의 비밀값 Qi 및 계수 n을 설정하거나 제2 형태로 복귀하기 위해 mㆍf개의 비밀 요소 Qij 및 차이니스 잉여의 f-1개 파라미터를 설정함으로써 각각의 사용을 시작할 수 있다.
서명 또는 자체 인증 엔티티는 모두 동일한 기수를 사용할 수 있다. 다른 방법으로 지시되는 바가 없다면, g1 에서 gm 까지 m개의 기수는 m개의 첫번째 소수일 수 있다는 잇점이 있다.
동적 인증 메카니즘 또는 디지털 서명 메카니즘은 계수의 분해 지식과 동일하기 때문에, 상기 GQ2기술은 동일한 계수를 사용한 2개의 엔티티를 간단하게 구별하는데 사용할 수 없다. 일반적으로, 자신을 인증하거나 서명하는 엔티티는 자기의 GQ2 계수를 갖는다. 그러나, GQ2 계수를 2개는 한 엔티티가 알고 있고 2개는 다른 엔티티가 알고 있는 4개의 소인수로 지정할 수 있다.
이하, k=6을 갖는 GQ2의 제1 세트가 있다. 여기서, v=64, m=3이며, 3개의 기수는 g1 = 3, g2 = 5, g3 = 7이고, f=3, 즉, 3(mod 4)와 5(mod 8) 둘에 합치되는 3개의 소인수를 갖는 계수이다. g=2이면, 5(mod 8)에 합치되는 소인수와 양립할 수 없다는 것을 주목해야 한다.
Figure 112001018742265-pct00003
Figure 112001018742265-pct00004
아래는 GQ2키의 제2 세트이다. 여기서는, k = 9이고, v = 512, m = 2이며, 2개의 기수는 g1 = 2 와 g2 = 3 이고, f=3이며, 3(mod4)와 일치하는 3개의 소인수가 부여된다.
Figure 112001018742265-pct00005
9C94B0B2661E49DF3C9B42FEF1F37A7909B1C2DD54113ACF87C6
F11F19874DE7DC5D1DF2A9252D
동적 인증
상기 동적 인증 메카니즘은 제어자로서 알려진 엔티티에게 증명자(demonstrator)로 알려진 다른 엔티티의 인증성과, 그와 관련성 있는 메시지M의 인증성을 검증받기 위해 고안된다. 따라서, 제어자는 그것이 정확히 증명자임을 확인할 수 있고, 경우에 따라 증명자만을 확인할 수 있으며, 상기 증명자 가 동일한 메시지 M를 정확히 말하고 있는지 확인할 수 있다. 상기 관련 메시지 M은 선택적이다. 이는 공백일 수 있다는 것을 의미한다.
상기 동적 인증 메카니즘은 공약(commitment) 동작, 챌린지(challenge) 동작, 응답(response)동작 및 검사(checking)동작으로 된 일련의 4개 동작 과정으로 이루어진다. 상기 증명자는 공약 및 응답의 동작을 수행하고, 상기 제어자는 챌린지 및 제어 동작을 수행한다.
증명자 내에서는, 그 증명자의 가장 민감한 파라미터 및 함수, 즉 공약과 응답의 결과를 분리시키기 위해 증인(witness)를 분리하는 것이 가능하다. 상기 증인은 파라미터 k 및 비밀키 GQ2, 즉 상기 설명된 3가지 형태 중 하나의 형태 (°f개의 소인수 및 m개의 기수, °mㆍf 비밀요소와 f개의 소인수와 차이니스 잉여의 f-1개의 파라미터, °m개의 비밀값과 계수 n 중 하나)에 따르는 계수n의 인수분해를 갖는다.
상기 증인은 부분적인 실시형태, 예를 들면, 전체 증명자를 형성하는 pC에 연결된 칩 카드 또는 pC 내에 설치된 특수 보안 프로그램 또는 스마트 카드 내에 설치된 특수 보안 프로그램에 해당한다. 이와 같이 분리된 증인은 서명 당사자 내에서 정의되는 증인과 유사하다. 상기 메카니즘의 각 실행에서, 증인은 하나이상의 공약 R, 이어 다수의 응답 D, 다수의 챌린지 d를 생성한다. 각 집합{R,d,D}는 GQ2 트리플릿이다.
상기 증인의 구성과 별도로, 필요한 경우에 상기 증명자도 해싱 함수(hashing function) 및 메시지 M을 갖는다.
상기 제어자는 계수 n 및 파라미터 k와 m을 갖으며, 필요한 경우에 동일한 해싱함수 및 메시지 M을 갖는다. 상기 제어자는 임의의 챌린지 d 또는 임의의 응답 D로부터 공약 R'을 복구할 수 있다. 상기 파라미터 k 및 m은 제어자에게 통보한다. 그와 반대로 어떤 지시를 실패하면, g1에서 gm까지의 m개의 기수는 m개의 첫번째 소수이다. 각 챌린지 d는 기수 당 하나씩, d1부터 dm사이에서 참조된 m개의 초기 챌린지(elementary challenge)를 가져야 한다. d1부터 dm까지의 초기 챌린지는 0에서 2k-1- 1사이의 값을 가질 수 있다(v/2에서 v-1의 값은 사용되지 않음). 통상적으로, 각 챌린지는 m 곱하기 k-1비트(m 곱하기 k가 아님)에 의해 인코딩된다. 예를 들면, k=6 이고 m=3 이며, 기수 3,5 및 7 일 때, 상기 각 챌린지는 2바이트에 전송되는 15비트를 갖는다. k=9, m=2이고 기수 2와 3일 때, 상기 각 챌린지는 2바이트에 전송되는 16비트를 갖는다. 상기 (k-1)ㆍm개의 챌린지가 가능할 때에는, (k-1)ㆍm값이 각 GQ2 트리플릿에 의해 제공된 보안성을 결정한다. 계수n의 인수분해를 알지 못하는 소위 사칭자(impostor)는 2(k-1)ㆍm에서 정확히 단 한번의 성공기회만을 갖는다. (k-1)ㆍm이 15에서 20사이일 때에, 하나의 트리플릿으로 동적 인증을 위해 합리적으로 제공하기에 충분하다. 임의의 보안레벨을 이루기 위해서, 병렬로 트리플릿을 제공할 수 있다. 또한, 연속적으로 제공하는 것, 즉 메카니즘의 실행을 반복하는 것도 가능하다.
1) 공약 동작은 다음 연산으로 이루어진다.
상기 증인은 Q1에서 Qm까지의 m개의 비밀값과 계수 n가질 때, 불규칙하고 비공개로 하나 이상의 랜덤값 r(random value r)(0 < r < n)을 발행한다. 이어, k 연속 제곱(mod n)연산에 의해, 각 랜덤값 r 은 공약 R로 변환한다.
R ≡rv(mod n)
이하, k=6인 키의 제1 세트를 갖는 일 예이다.
Figure 112001018742265-pct00006
상기 증인은 p1에서 pf까지의 f개의 소인수와 mㆍf개의 비밀요소 Qij를 가질 때, 불규칙적이고 비공개적으로 f개의 랜덤값의 하나이상의 콜렉션(collection)을 발행하며, 상기 각 콜렉션은 소인수 pi(0 < ri < pi)마다 하나의 랜덤값ri를 갖는다. 이어, k 제곱(mod pi)의 연속 연산에 의해, 각 랜덤값ri은 공약 요소 Ri로 변환한다.
Ri ≡ri v(mod pi)
이하, k=9인 키의 제2 세트를 갖는 일 예이다.
Figure 112001018742265-pct00007
f개의 공약요소의 각 콜렉션에 대해, 상기 증인은 차이니스 잉여의 기술에 따라서 공약을 설정한다. 랜덤값의 콜렉션이 존재하는 수만큼 공약이 존재한다.
Ri ≡차이니스 잉여(R1, R2,...,Rj)
Figure 112001018742265-pct00008
두 경우에서, 상기 증명자는 각 공약 R의 모두 또는 일부, 혹은 각 공약 R 및 하나의 메시지 M를 해싱함으로써 적어도 해싱코드 H를 상기 제어자에게 보낸다.
2) 챌린지 동작은 각각이 m개의 초기 챌린지 d1/d2/.../dm으로 이루어진 하나 이상의 챌린지 d를 불규칙하게 발행한 것이다. 상기 각각의 초기 챌린지di는 0에서 v/2-1사이의 값 중 하나를 갖는다.
d = d1/d2/.../dm
이하, k=6과 m=3인 키의 제1 세트에 대한 일예이다.
d1 = 1010 = 22 = '16'; d2 = 00111 = 7; d3 = 00010 = 2
d = 0∥d1∥d2∥d3 = 0101100011100010 = 58E2
이하, k=9과 m=2인 키의 제2 세트에 대한 일예이다.
d = d1∥d2 = 58E2, 즉, 십진기수법으로 88과 226이다.
상기 제어자는 각 챌린지 d를 상기 증명자에게 전송한다.
3) 응답 동작은 아래 연산을 갖는다.
상기 증명자는 Q1에서 Qm까지의 m개의 비밀값이며 상기 계수 n일 때에, 상기 초기 챌린지에 따른 비밀값와 공약의 동작의 각 랜덤값 r을 사용하여 하나 이상의 응답 D를 계산한다.
X ≡Q1 d1ㆍQ2 d2ㆍ...ㆍQm dm(mod n)
D ≡rㆍX(mod n)
이하, 제1 세트의 키에 대한 일 예이다.
D = FF257422ECD3C7A03706B9A7B28EE3FC3A4E974AEDCDF386
5EEF38760B859FDB5333E904BBDD37B097A989F69085FE8EF6480
A2C6A290273479FEC9171990A17
상기 증인은 p1에서 pf까지의 f개의 소인수와 mㆍf개의 비밀요소 Qi,j를 가질 때, 공약동작의 랜덤값의 각 콜렉션(collection)을 사용하여 f개의 응답요소의 하나이상의 콜렉션을 계산하며, 상기 응답요소의 각 콜렉션은 소인수마다 하나의 요소로 이루어진다.
Xi ≡Q1 d1ㆍQ2 d2ㆍ...ㆍQm dm ,i(mod pi)
Di ≡riㆍXi(mod pi)
이하, 제2 세트의 키에 대한 일 예이다.
D1 = r1ㆍQ1.1 d1ㆍQ2.1 d2(mod p1 ) =
O2660ADF3C73B6DC15E196152322DDE8EB5B35775E38
D2 = r2ㆍQ1.2 d1ㆍQ2.2 d2(mod p2 ) =
04C15028E5FD1175724376C11BE77052205F7C62AE3B
D3 = r3ㆍQ1.3 d1ㆍQ2.3 d2(mod p3 ) =
0903D20D0C306C8EDA9D8FB5B3BEB55E061AB39CCF52
응답 요소의 각 콜렉션에 있어서, 상기 증인은 차이니스 잉여 기술에 따라서 공약을 설정한다. 랜덤값의 콜렉션 존재하는 수의 공약이 존재한다.
D = 차이니스 잉여 (D1,D2,...,Df)
Figure 112001018742265-pct00009
두 경우에서, 상기 증명자는 각 응답 D를 상기 제어자에게 보낸다.
4) 검사동작은 각 트리플릿{R,d,D}이 비제로(non-zero) 값에 대한 아래의 형태의 식을 검증하는 것을 확인하거나,
Figure 112006069098822-pct00047
또는
Figure 112006069098822-pct00048
그밖에 각 공약을 설정하는 것이다. 어느것도 제로가 아니다.
Figure 112006069098822-pct00012
또는
Figure 112006069098822-pct00049
필요하다면, 이어 제어자는 재확정된 각 공약 R'을 해싱하여 해싱코드 H' 를 계산한다. 이와 같이, 상기 제어자가 제1 의 공약동작의 종료시에 수신한 것, 즉 즉 각 공약 R의 전부 또는 일부, 혹은 해싱코드 H를 검색할 때에 상기 동적 인증은 성공적으로 된다.
예를 들어, 일련의 초기연산은 응답 D를 공약 R'로 전환한다. 상기 연산은 k 거듭제곱 (mod n)을 기수로 k번의 나눗셈 또는 곱셈 (mod n)으로 분리되게 한다. i 번째 제곱과 i+1 번째 제곱사이에서 실행되는 제i 번째 나눗셈 또는 곱셈의 경우, 상기 초기 챌린지 di의 i번째 비트는 gi를 사용하는 것이 필요하다고 지시한다. 즉, 상기 초기 챌린지 d2의 i번째 비트는 g2를 사용하는 것이 필요한지 여부를 지시하고, 이런 식으로 초기 챌린지 dm의 i번째 비트까지 gm를 사용하는 것이 필요한지 여부를 지시한다.
이하, 제1 세트의 키에 대한 일 예이다.
Figure 112006069098822-pct00050
Figure 112006069098822-pct00051
344ㆍ514ㆍ74ㆍD64(mod n), 즉 16진수 기수법으로 지수를 갖는 32c.5E.74.D40
= FFDD736B666F41FB771776D9D50DB7CDF03F3D976471B25C56D3AF07BE692CB1
FE4EE70FA77032BECD8411B813B4C21210C6B0449CC4292E5DD2BDB00828AF18
우리는 공약 R을 찾고, 상기 인증은 성공적이다.
이하, 제2 세트의 키에 대한 일예이다.
Figure 112006069098822-pct00016
Figure 112006069098822-pct00052
Figure 112006069098822-pct00053
Figure 112006069098822-pct00054
우리는 공약 R을 찾고, 상기 인증은 성공적이다.
디지털 서명
상기 디지털 서명 메카니즘에 따르면, 서명 당사자(signing party)라 하는 엔티티가 서명된 메시지를 작성하고, 제어자(controller)라 하는 엔티티가 그 서명된 메시지를 확인할 수 있도록 한다. 상기 메시지 M은 임의의 2진 시퀀스이다. 이는 비어(vacant) 있을 수 있다. 상기 메시지 M은 서명 부록(signature appendix)를 첨부함으로써 서명된다. 그 서명 부록은 하나 이상의 공약(commitment) 또는 챌린지(challenge)뿐만 아니라, 그와 대응하는 응답(response)으로 이루어진다.
상기 제어자는 동일한 해싱 함수, 파라미터 k와 m 및 계수 n을 갖는다. 상기 파라미터 k와 m은 상기 제어자에 정보를 제공한다. 첫째, d1에서 dm 사이의 각 초기 챌린지은 0에서 2k-1- 1사이의 값을 가져야 한다(v/2에서 v-1의 값은 사용되지 않음). 둘째로, 각 챌린지 d는 d1에서 dm 으로부터 참조된 m개의 초기 챌린지으로 이루어져야 한다. 즉, 그 수는 기수의 수와 동일하다. 나아가, 반대로 지시가 실패한 경우에는, g1에서 gm까지의 m개의 기수는 그 m개의 첫번째 소수(prime number)이다. (k-1)ㆍm이 15내지 20과 동일하다면, 병렬로 생성된 4개의 트리플릿 GQ2로 서명하는 것이 가능하다. (k-1)ㆍm이 60이상과 동일하다면, 1개의 트리플릿 GQ2로 서명하는 것이 가능하다. 예를 들면, k=9 이고 m=8 이면, 하나의 트리플릿 GQ2면 충분하다. 각 챌린지은 8바이트이며 상기 기수는 2,3,5,7,11,13,17과 19이다.
상기 서명 연산과정은 공약동작, 챌린지동작, 응답동작을 포함하는 일련의 3개의 동작이다. 각 동작은 하나이상의 GQ2 트리플릿을 생성하며, 각각은 공약 R(≠0), d1,d2,...,dm으로 참조된 m개의 초기 챌린지으로 이루어진 챌린지 d 와 응답D(≠0)을 포함한다.
상기 서명자는 해싱 함수, 파라미터 k 및 GQ2 비밀키, 즉 여기서 상술된 바 있는 3가지 형태 중 하나의 형태에 따른 계수 n의 인수분해를 갖는다. 상기 서명자의 범위에서는, 상기 증명자와 가장 민감한 함수와 파라미터를 분리시키기 위해, 공약과 응답 동작을 수행하는 증인를 분리하는 것이 가능하다. 공약와 응답을 계산하기 위해, 상기 증인은 파라미터 k와 GQ2 비밀키, 즉 여기서 상술된 바 있는 3가지 형태 중 하나의 형태에 따른 계수 n의 인수분해를 갖는다. 이와 같이 분리된 증인은 상기 증명자 내에서 정의되는 증인과 유사하다. 이는 특정 실시형태, 예를 들면, 전체 서명자를 형성하는 PC에 연결된 칩카드 또는 PC 내에 설치된 특정 보안 프로그램 또는 칩카드 내에 설치된 특정 보안 프로그램에 해당한다.
1) 공약 동작은 아래 연산으로 이루어진다.
상기 증인은 Q1에서 Qm까지의 m개의 비밀값과 계수 n을 가질 때에, 불규칙하고 비공개로 하나 이상의 랜덤값 r(random value r)(0 < r < n)을 발행한다. 이어, k 연속 제곱(mod n)연산에 의해, 각 랜덤값r을 공약 R로 변환한다.
R ≡rv(mod n)
상기 증인은 p1에서 pf까지의 f개의 소인수와 m.f개의 비밀요소 Qij를 가질 때, 불규칙적이고 비공개적으로 f개의 랜덤값의 하나이상의 콜렉션을 발행하며, 상기 각 콜렉션은 소인수 pi(0 < ri < pi)마다 하나의 랜덤값 ri를 갖는다. 이어, k 제곱(mod pi)의 연속 연산에 의해, 각 랜덤값 ri은 공약요소 Ri로 변환한다.
Ri ≡ri v(mod pi)
f개의 공약요소의 각 콜렉션에 대해, 상기 증인은 차이니스 잉여의 기술에 따라서 공약을 설정한다. 랜덤값의 콜렉션 존재하는 수의 공약이 존재한다.
Ri ≡차이니스 잉여(R1, R2,...,Rj)
2) 챌린지 동작은 서명자가 각각이 m개의 초기 챌린지로 이루어진 하나이상의 챌린지을 형성하는 해싱코드를 얻기 위해 모든 공약 R과 M 서명된 메시지를 해싱하는 것이다. 상기 각각의 초기 챌린지는 0에서 v/2-1사이의 값 중 하나를 갖는다. 예를 들면, k=9이고 m=8이다. 각 챌린지는 8바이트를 갖는다. 공약과 동일한 수의 챌린지가 존재한다.
d = d1/d2/.../dm , 결과 해시(M,R)로부터 추출됨
3) 응답 동작은 아래 연산으로 이루어진다.
상기 증인은 Q1에서 Qm까지의 m개의 비밀값과 계수 n 을 가질 때에, 상기 초기 챌린지에 따른 비밀값과 공약의 동작의 각 랜덤값 r을 사용하여 하나 이상의 응답 D를 계산한다.
X./ ≡ Q1 d1ㆍQ2 d2ㆍ...ㆍQm dm (mod n)
D/ ≡r./X./(mod n)
상기 증인은 p1에서 pf까지의 f개의 소인수와 mㆍf개의 비밀요소 Qij를 가질 때, 공약동작의 랜덤값의 각 컬렉션을 사용하여 f개의 응답요소의 하나이상의 콜렉션(collection)을 계산하며, 상기 응답 요소의 각 콜렉션은 소인수마다 하나의 요소로 이루어진다.
Xi ≡ Q1,i d1ㆍQ2,i d2ㆍ...ㆍQm,i dm (mod pi)
Di ≡ri.Xi(mod pi)
응답요소의 각 컬렉션에서, 상기 증인은 차이니스 잉여 기술에 따라서 공약을 설정한다. 랜덤값의 콜렉션과 동일한 수의 공약이 존재한다.
D = 차이니스 잉여 (D1,D2,...,Df)
서명자는 아래 사항을 포함하는 서명부록을 첨가할 때에 상기 메시지M에 서명한다.
- 각 GQ2 트리플릿, 즉 각 공약 R, 각 챌린지 d 및 각 응답 D,
- 또는, 각 공약 R 및 이에 대응하는 각각 응답 D,
- 또는, 각 챌린지 d 및 이에 대응하는 각각 응답 D.
검증(verification)연산의 실행과정은 서명 부록의 컨텐츠에 의존한다. 이러한 의존성에 대해 3가지 경우를 들 수 있다.
부록이 하나 이상의 트리플릿으로 이루어진 경우
이런 경우, 상기 검사작동은 2개지 독립된 절차를 갖는다. 아래 2개의 조건이 이행되기만 하면, 상기 제어자는 서명된 메시지를 수용하게 된다.
우선, 각 트리플릿이 일관성(consistent; 아래 형식에 대한 적절한 관계를 검사해야함)있고 수용성(acceptable; 비제로값으로 비교되어야 함)이 있어야 한다.
Figure 112006069098822-pct00055
또는
Figure 112006069098822-pct00056
예를 들면, 일련의 초기 연산으로 상기 응답 D를 전환한다. 즉, k 제곱된 (mod n)을 기수로 k번의 나눗셈 또는 곱셈 (mod n)으로 분리한다. i 번째 제곱과 i+1 번째 제곱사이에서 실행되는 제i 번째 나눗셈 또는 곱셈의 경우, 상기 초기 챌린지 di의 i번째 비트는 gi를 사용하는 것이 필요하다고 지시한다. 즉, 상기 초기 챌린지 d2의 i번째 비트는 g2를 사용하는 것이 필요한지 여부를 지시하고, 이런 식으로 초기 챌린지 dm의 i번째 비트까지 gm를 사용하는 것이 필요한지 여부를 지시한다. 이와 같이, 상기 서명 부록에 있는 공약 R 각각을 검색하는 것이 요구된다.
나아가, 하나의 트리플릿 또는 복수의 트리플릿은 메시지 M에 정수환크되어야 한다. 모든 공약 R과 상기 메시지 M을 해싱함으로써, 각각의 챌린지 d를 복구할 수 있는 해싱코드를 얻는다.
d = d1/d2/.../dm , 결과 해시(M,R)로부터 추출된 것과 동일함.
부록이 챌린지을 갖고 있지 않은 경우에는, 상기 검사연산 과정은 모든 공약 R과 상기 메시지 M을 해싱함으로써 하나 이상의 챌린지 dn의 복구 단계로 시작한다.
D' = d'1/d'2/.../d'm , 결과 해시(M,R)로부터 추출됨.
다음으로, 각 트리플릿이 일관성(consistent; 아래 형식에 대한 적절한 관계의 검사요구)과, 수용성(acceptable; 비제로값으로 비교 요구)이 있기만 하면. 제어자는 서명된 메시지를 수용한다.
Figure 112006069098822-pct00057
또는
Figure 112006069098822-pct00058
부록이 공약을 포함하지 않는 경우에는 상기 검사연산과정은 아래 2 식 중 적절한 하나의 식에 따라서 하나이상의 공약 R'을 재건하는 단계로 시작된다. 제로인 재확립된 공약은 없다.
Figure 112006069098822-pct00024
또는
Figure 112006069098822-pct00059
이어, 제어자는 각 챌린지 d를 재구성하기 위해 모든 공약 R' 및 상기메시지 M을 해시해야 한다.
d = d1/d2/.../dm , 결과 해시(M,R)로부터 추출된 것과 동일함.
재구성된 각각의 챌린지이 부록에 있는 대응하는 챌린지과 동일하다면, 상기 제어자는 각 서명된 메시지를 수용한다.
본 발명에서, 비밀값과 공개값의 쌍, Q와 G 각각은 엔티티의 인증성 또는 메시지의 무결성과 인증성을 검증하기 위한 방법, 시스템 및 장치를 구현하는데 사용된다.
프랑스 텔레콤, TDF, 매쓰 RiZK사에 의한 본 출원과 동일자인 출원(발명자: Louis Guillo, Jean-Jacques Quisquater)에서는, GQ2 키의 세트, 즉 지수v가 2k와 동일할 때에 복수의 계수 n 과 공개키 및 비밀키 의 쌍(G와 Q)각각의 생성에 대해 설명하고 있다. 이 특허출원은 본 명세서의 참조로서 인용된다.

Claims (25)

  1. 삭제
  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
  6. 삭제
  7. 삭제
  8. 삭제
  9. 삭제
  10. 삭제
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 하나 이상의 비밀값 Q1,Q2,...,Qm 및 각각의 공개값 G1,G2,...,Gm 의 세트를 획득하는 단계, 각각의 Qi,Gi 값은 GiㆍQi v ≡1 mod n 방정식 또는 Gi ≡Qi v mod n 방정식 중 하나를 검증하고, 여기에서 m은 1 이상의 정수이고, i는 1과 m 사이의 정수이고, 여기에서 n은 p1,...,pf 에 의해 지정된 f개의 비밀 소인수의 곱과 같은 공개 정수이고, 적어도 두 개의 상기 소인수는 각각 서로 다르고, 여기에서 f는 1 보다 큰 정수이고, 여기에서 v는 v=2k와 같은 공개 지수(public exponent)이고, 여기에서 k는 1보다 큰 정수 값을 갖는 보안 파라미터(security parameter)이고, 여기에서 각각의 공개값 Gi(i=1,2,...,m)는 Gi ≡gi 2 mod n 를 만족하고, 여기에서 gi(i=1,2,...,m)는 1보다 크고 각각의 소인수 p1,...,pf보다 작은 정수 값을 갖는 기수(base number)이고, gi는 정수환을 n으로 나눈 2차가 아닌 나머지이며; 그리고
    적어도 상기 Q1,Q2,...,Qm의 비밀값을 인증에서나 서명 방법에서 사용하는 단계를 포함하는 컴퓨터를 사용한 처리방법.
  18. 제17항에 있어서, 엔티티(entity)가 인증될 수 있도록, 상기 방법은,
    데몬스트레이터(demonstrator)로부터 공약(commitment) R을 받는 단계, 상기 R 은 R =rv mod n 의 식에 의해 산출되고, 여기에서 r은 상기 데몬스트레이터에 의해 임의로 선택된 0보다 크고 n보다 작은 정수이며;
    d1,d2,...,dm의 m개 챌린지(challenge)를 임의로 선택하는 단계;
    상기 챌린지 d1,d2,...,dm를 상기 데몬스트레이터에게 전송하는 단계;
    상기 데몬스트레이터로부터 대답 D를 받는 단계, 상기 대답 D는 D =rㆍ Q1 d1ㆍQ2 d2ㆍ...ㆍQm dm mod n 의 식에서 산출된 값을 갖고; 그리고
    상기 공약 R과 같은 Dv
    Figure 112006069098822-pct00026
    Figure 112006069098822-pct00027
    ㆍ...ㆍ
    Figure 112006069098822-pct00028
    mod n 의 식을 만족하는 값을 상기 대답 D가 갖고 있다면 상기 데몬스트레이터가 진정한 것인지 검사하는 단계, 여기에서 GiㆍQi v =1 mod n 의 경우에 i = 1,2,...,m 및 εi = +1 이고 Gi = Qi v mod n 의 경우에 εi = -1 인 단계를 더 포함하는 것을 특징으로 하는 컴퓨터를 사용한 처리방법.
  19. 제17항에 있어서, 엔티티가 인증될 수 있도록, 상기 방법은,
    데몬스트레이터로부터 공약 R을 받는 단계, 상기 공약 R은 j=1,2,...,f에서 공약 요소(component) Rj의 세트로부터 차이니스(chinese) 잉여 방법을 사용하여 산출되는 값을 갖고, 각각의 공약 요소 Rj는 Rj = rj v mod pj 를 만족하는 값을 갖고, 여기에서 rj는 상기 데몬스트레이터에 의해 임의로 선택된 0보다 크고 pj보다 작은 정수이고;
    m개의 챌린지 d1,d2,...,dm을 임의로 선택하는 단계;
    상기 데몬스트레이터로 상기 챌린지 d1,d2,...,dm을 전송하는 단계;
    상기 데몬스트레이터로부터 대답 D를 전송받는 단계, 상기 대답 D는 상기 차이니스 잉여 방법을 사용하여 대답 요소 Dj의 세트로부터 산출되고, 상기 대답 요소 Dj는 j=1,2,...,f에서 Dj = rj
    Figure 112006069098822-pct00029
    Figure 112006069098822-pct00030
    ㆍ...ㆍ
    Figure 112006069098822-pct00031
    mod pj를 만족하는 값을 갖고, 여기에서 i=1,2,...,m 이고 j=1,2,...,f 일 때 Qi,j = Qi mod pj 이고; 그리고
    상기 공약 R과 같은 Dv
    Figure 112006069098822-pct00032
    Figure 112006069098822-pct00033
    ㆍ...ㆍ
    Figure 112006069098822-pct00034
    mod n 의 식을 만족하는 값을 상기 대답 D가 갖고 있다면 상기 데몬스트레이터가 진정한 것인지 검사하는 단계, 여기에서 GiㆍQi v =1 mod n 의 경우에 i = 1,2,...,m 및 εi = +1 이고 Gi = Qi v mod n 의 경우에 εi = -1 인 단계를 더 포함하는 것을 특징으로 하는 컴퓨터를 사용한 처리방법.
  20. 제17항에 있어서, 메시지(message)가 인증될 수 있도록, 상기 방법은,
    데몬스트레이터로부터 토큰(token) T를 전송받는 단계, 상기 토큰 T는 T =h(M,R)인 값을 갖고, 여기에서 h는 해쉬(hash) 함수이고, M은 상기 데몬스트레이터로부터 전송받은 메시지이고, 또한 R 은 R =rv mod n 의 식에 의해 산출되는 값을 갖는 공약이고, 여기에서 r은 상기 데몬스트레이터에 의해 임의로 선택된 0보다 크고 n보다 작은 정수이며;
    d1,d2,...,dm의 m개 챌린지(challenge)를 임의로 선택하는 단계;
    상기 챌린지 d1,d2,...,dm를 상기 데몬스트레이터에게 전송하는 단계;
    상기 데몬스트레이터로부터 대답 D를 받는 단계, 상기 대답 D는 D =rㆍ Q1 d1ㆍQ2 d2ㆍ...ㆍQm dm mod n 를 만족하는 값을 갖고; 그리고
    상기 토큰 T와 같은 h(M,Dv
    Figure 112006069098822-pct00035
    Figure 112006069098822-pct00036
    ㆍ...ㆍ
    Figure 112006069098822-pct00037
    mod n) 을 만족하는 값을 상기 대답 D가 갖고 있다면 상기 메시지 M이 진정한 것인지 검사하는 단계, 여기에서 GiㆍQi v =1 mod n 의 경우에 i = 1,2,...,m 및 εi = +1 이고 Gi = Qi v mod n 의 경우에 εi = -1 인 단계를 더 포함하는 것을 특징으로 하는 컴퓨터를 사용한 처리방법.
  21. 제17항에 있어서, 메시지가 인증될 수 있도록, 상기 방법은,
    데몬스트레이터로부터 토큰 T를 전송받는 단계, 상기 토큰 T는 T =h(M,R)인 값을 갖고, 여기에서 h는 해쉬 함수이고, M은 상기 데몬스트레이터로부터 전송받은 메시지이고, 또한 R 은 j=1,2,...,f에서 공약 요소 Rj의 세트로부터 차이니스(chinese) 잉여 방법을 사용하여 산출되는 값을 갖는 공약이고, 각각의 공약 요소 Rj는 Rj = rj v mod pj 를 만족하는 값을 갖고, 여기에서 rj는 상기 데몬스트레이터에 의해 임의로 선택된 0보다 크고 pj보다 작은 정수이고;
    d1,d2,...,dm의 m개 챌린지(challenge)를 임의로 선택하는 단계;
    상기 챌린지 d1,d2,...,dm를 상기 데몬스트레이터에게 전송하는 단계;
    상기 데몬스트레이터로부터 대답 D를 전송받는 단계, 상기 대답 D는 상기 차이니스 잉여 방법을 사용하여 대답 요소 Dj의 세트로부터 산출되고, 상기 대답 요소 Dj는 j=1,2,...,f에서 Dj = rj
    Figure 112006069098822-pct00038
    Figure 112006069098822-pct00039
    ㆍ...ㆍ
    Figure 112006069098822-pct00040
    mod pj를 만족하는 값을 갖고, 여기에서 i=1,2,...,m 이고 j=1,2,...,f 일 때 Qi,j = Qi mod pj 이고; 그리고
    상기 토큰 T와 같은 h(M,Dv
    Figure 112006069098822-pct00041
    Figure 112006069098822-pct00042
    ㆍ...ㆍ
    Figure 112006069098822-pct00043
    mod n) 을 만족하는 값을 상기 대답 D가 갖고 있다면 상기 메시지 M이 진정한 것인지 검사하는 단계, 여기에서 GiㆍQi v =1 mod n 의 경우에 i = 1,2,...,m 및 εi = +1 이고 Gi = Qi v mod n 의 경우에 εi = -1 인 단계를 더 포함하는 것을 특징으로 하는 컴퓨터를 사용한 처리방법.
  22. 제18항 내지 제21항 중 어느 한 항에 있어서,
    상기 챌린지는 i=1,2,...,m 에서 0≤di≤2k-1 인 것을 특징으로 하는 컴퓨터를 사용한 처리방법.
  23. 제17항에 있어서, 서명자가 메시지를 서명할 수 있도록, 상기 방법은,
    메시지 M이 서명되도록 기록하는 단계;
    i=1,2,...,m에서 0보다 크고 n보다 작은 m개의 정수 ri를 임의로 선택하는 단계;
    i=1,2,...,m에서 Ri = ri v mod n인 값을 갖는 공약 Ri를 산출하는 단계;
    T=h(M,R1,R2,...,Rm)인 값을 갖는 토큰 T를 산출하는 단계, 여기에서 h는 m비트(bit)로 이루어진 이진 트레인(binary train)을 생성하는 해쉬 함수이고;
    상기 토큰 T의 상기 d1,d2,...,dm 비트를 확인하는 단계; 및
    i=1,2,...,m에서 대답 Di=riㆍQi di를 산출하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터를 사용한 처리방법.
  24. 제23항에 있어서, 서명을 검증할 수 있도록, 상기 방법은,
    i=1,2,...,m에서 상기 토큰 T 및 상기 대답 Di를 수집하는 단계; 및
    상기 토큰 T와 같은 h(M,D1 v
    Figure 112006069098822-pct00044
    mod n,D2 v
    Figure 112006069098822-pct00045
    mod n,2,...,Dm v
    Figure 112006069098822-pct00046
    mod n) 의 식을 만족하는 값을 상기 대답 D가 갖고 있다면 상기 메시지 M이 진정한 것인지 검사하는 단계, 여기에서 GiㆍQi v =1 mod n 의 경우에 i = 1,2,...,m 및 εi = +1 이고 Gi = Qi v mod n 의 경우에 εi = -1 인 단계를 더 포함하는 것을 특징으로 하는 컴퓨터를 사용한 처리방법.
  25. 하나 이상의 비밀값 Q1,Q2,...,Qm 및 각각의 공개값 G1,G2,...,Gm 의 세트를 획득하는 단계, 각각의 Qi,Gi 값은 GiㆍQi v ≡1 mod n 방정식 또는 Gi ≡Qi v mod n 방정식 중 하나를 검증하고, 여기에서 m은 1 이상의 정수이고, i는 1과 m 사이의 정수이고, 여기에서 n은 p1,p2...,pf 에 의해 지정된 f개의 비밀 소인수의 곱과 같은 공개 정수이고, 적어도 두 개의 상기 소인수는 각각 서로 다르고, 여기에서 f는 1 보다 큰 정수이고, 여기에서 v는 v=2k와 같은 공개 지수(public exponent)이고, 여기에서 k는 1보다 큰 정수 값을 갖는 보안 파라미터(security parameter)이고, 여기에서 각각의 공개값 Gi(i=1,2,...,m)는 Gi ≡gi 2 mod n 를 만족하고, 여기에서 gi(i=1,2,...,m)는 1보다 크고 각각의 소인수 p1,...,pf보다 작은 정수 값을 갖는 기수(base number)이고, gi는 정수환을 n으로 나눈 2차가 아닌 나머지이며; 그리고
    적어도 상기 Q1,Q2,...,Qm의 비밀값을 인증에서나 서명 방법에서 사용하는 단계에 따라 프로세서(processor)가 실행되도록 하기 위해 실행되는 명령어들을 저장하는 컴퓨터로 판독가능한 저장매체.
KR1020017009491A 1999-01-27 2000-01-27 2의 거듭제곱과 동등한 공개 지수를 이용한 엔티티 인증성및/또는 메시지의 무결성 검증방법 KR100676460B1 (ko)

Applications Claiming Priority (10)

Application Number Priority Date Filing Date Title
FR99/01065 1999-01-27
FR9901065A FR2788910A1 (fr) 1999-01-27 1999-01-27 Procede, systeme, dispositif pour diminuer la charge de travail pendant une session destinee a prouver l'authenticite d'une entite et/ou l'origine et l'integrite d'un message
FR9903770A FR2788911A1 (fr) 1999-01-27 1999-03-23 Procede, systeme, dispositif pour diminuer la charge de travail pendant une session destinee a prouver l'authenticite d'une entite et/ou l'origine et l'integrite d'un message
FR99/03770 1999-03-23
FR9912465A FR2788908B1 (fr) 1999-01-27 1999-10-01 Procede, systeme, dispositif destines a prouver l'authenticite d'une entite et/ou l'integrite et/ou l'authenticite d'un message
FR99/12465 1999-10-01
FR9912467A FR2788912B1 (fr) 1999-01-27 1999-10-01 Procede, systeme, dispositif destines a prouver l'authenticite d'une entite et/ou l'integrite et/ou l'authenticite d'un message aux moyens de facteurs premiers particuliers
FR99/12468 1999-10-01
FR99/12467 1999-10-01
FR9912468A FR2824974B1 (fr) 1999-01-27 1999-10-01 Procede destine a prouver l'authenticite d'une entite ou l'integrite d'un message au moyen d'un exposant public egal a une puissance de deux.

Publications (2)

Publication Number Publication Date
KR20010108142A KR20010108142A (ko) 2001-12-07
KR100676460B1 true KR100676460B1 (ko) 2007-01-31

Family

ID=26234789

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020017009492A KR20010108143A (ko) 1999-01-27 2000-01-27 엔티티의 인증성, 메시지의 무결성 및/또는 인증성을검증하기 위한 방법, 시스템, 및 장치
KR1020017009493A KR100676461B1 (ko) 1999-01-27 2000-01-27 특정 소인수를 이용한 엔티티 인증성, 및 메시지의 무결성및(또는) 인증성 검증방법, 시스템 및 장치
KR1020017009491A KR100676460B1 (ko) 1999-01-27 2000-01-27 2의 거듭제곱과 동등한 공개 지수를 이용한 엔티티 인증성및/또는 메시지의 무결성 검증방법

Family Applications Before (2)

Application Number Title Priority Date Filing Date
KR1020017009492A KR20010108143A (ko) 1999-01-27 2000-01-27 엔티티의 인증성, 메시지의 무결성 및/또는 인증성을검증하기 위한 방법, 시스템, 및 장치
KR1020017009493A KR100676461B1 (ko) 1999-01-27 2000-01-27 특정 소인수를 이용한 엔티티 인증성, 및 메시지의 무결성및(또는) 인증성 검증방법, 시스템 및 장치

Country Status (2)

Country Link
KR (3) KR20010108143A (ko)
FR (4) FR2788911A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2822002B1 (fr) * 2001-03-12 2003-06-06 France Telecom Authentification cryptographique par modules ephemeres
FR2865590A1 (fr) * 2004-01-23 2005-07-29 France Telecom Procede pour etablir, a partir d'un jeu de grands nombres premiers, un jeu de cles destine a prouver l'authenticite d'une entite ou l'integrite d'un message

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2620248B1 (fr) * 1987-09-07 1989-11-24 France Etat Procedes d'authentification d'accreditations ou de messages a apport nul de connaissance et de signature de messages
EP0374225B1 (en) * 1988-05-19 1993-01-20 Ncr International Inc. Method and device for authentication
EP0381523A3 (en) * 1989-02-02 1993-03-03 Kabushiki Kaisha Toshiba Server-aided computation method and distributed information processing unit
FR2733379B1 (fr) * 1995-04-20 1997-06-20 Gemplus Card Int Procede de generation de signatures electroniques, notamment pour cartes a puces
DE69704684T2 (de) * 1996-02-23 2004-07-15 Fuji Xerox Co., Ltd. Vorrichtung und Verfahren zur Authentifizierung von Zugangsrechten eines Benutzers zu Betriebsmitteln nach dem Challenge-Response-Prinzip

Also Published As

Publication number Publication date
FR2788912B1 (fr) 2002-08-09
KR20010108144A (ko) 2001-12-07
FR2788912A1 (fr) 2000-07-28
KR100676461B1 (ko) 2007-01-31
FR2824974B1 (fr) 2004-01-16
FR2788911A1 (fr) 2000-07-28
KR20010108143A (ko) 2001-12-07
FR2788908B1 (fr) 2003-09-26
FR2788908A1 (fr) 2000-07-28
KR20010108142A (ko) 2001-12-07
FR2824974A1 (fr) 2002-11-22

Similar Documents

Publication Publication Date Title
US11797984B2 (en) Computer-implemented system and method for exchange of data
Camenisch et al. Efficient protocols for set membership and range proofs
US4759064A (en) Blind unanticipated signature systems
US9882890B2 (en) Reissue of cryptographic credentials
JP4809310B2 (ja) エンティティの真正性又はメッセージの完全性を証明するための方法、システム、デバイス
JP3158118B2 (ja) 認証情報の認証確認用システム
US6959085B1 (en) Secure user identification based on ring homomorphisms
JP4772965B2 (ja) エンティティの真正性および/またはメッセージの完全性を証明するための方法
Wu et al. Efficient partially blind signatures with provable security
KR100676460B1 (ko) 2의 거듭제곱과 동등한 공개 지수를 이용한 엔티티 인증성및/또는 메시지의 무결성 검증방법
Ateniese et al. Leakage-resilient identification schemes from zero-knowledge proofs of storage
JP2005513564A (ja) 負荷を複数のエンティティおよびそのデバイスに分散させるための暗号法
KR100844546B1 (ko) 엔티티의 진정성 또는 메시지의 무결성 검증방법, 시스템 및 장치
Yu et al. An online/offline signature scheme based on the strong rsa assumption
Dunbar Digital Signature Scheme Variations
Nakanishi et al. An Unlinkable Divisible Electronic Cash Using Secure Proxy Computation for DL One-way Function
Fiat et al. and Signature Problems
JPH0659626A (ja) ディジタル署名方式
JPH1185016A (ja) 認証システム及びディジタル署名システムの設計方法

Legal Events

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

Payment date: 20121227

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20131227

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20141230

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20151230

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20161229

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20171228

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20181227

Year of fee payment: 13