KR20010108143A - 엔티티의 인증성, 메시지의 무결성 및/또는 인증성을검증하기 위한 방법, 시스템, 및 장치 - Google Patents

엔티티의 인증성, 메시지의 무결성 및/또는 인증성을검증하기 위한 방법, 시스템, 및 장치 Download PDF

Info

Publication number
KR20010108143A
KR20010108143A KR1020017009492A KR20017009492A KR20010108143A KR 20010108143 A KR20010108143 A KR 20010108143A KR 1020017009492 A KR1020017009492 A KR 1020017009492A KR 20017009492 A KR20017009492 A KR 20017009492A KR 20010108143 A KR20010108143 A KR 20010108143A
Authority
KR
South Korea
Prior art keywords
controller
challenge
commitment
mod
response
Prior art date
Application number
KR1020017009492A
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
Priority claimed from FR9901065A external-priority patent/FR2788910A1/fr
Application filed by 마드 리즈크, 추후제출, 프랑스 텔레콤, 텔레디퓨지옹 드 프랑스 filed Critical 마드 리즈크
Priority claimed from PCT/FR2000/000188 external-priority patent/WO2000046946A2/fr
Publication of KR20010108143A publication Critical patent/KR20010108143A/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)
  • Accounting & Taxation (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic 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≡mod n 또는 Gi ≡Qi vmod n 의 식에 의해 연관된다.

Description

엔티티의 인증성, 메시지의 무결성 및/또는 인증성을 검증하기 위한 방법, 시스템, 및 장치{METHOD, SYSTEM, DEVICE FOR PROVING THE AUTHENTICITY OF AN ENTITY AND/OR THE INTEGRITY AND/OR THE AUTHENTICITY OF A MESSAGE}
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기법은 512비트 이상로 이루어진 수의 모듈로(modulo) 연산을 구현한다. 상기 연산수치는 216+1차수의 거듭제곱으로 상승된 크기와 실질적으로 동일한 크기를 갖는 수와 관련되어 있다. 특히, 은행카드 분야에서, 현존하는 마이크로전자 하부구조는 연산 보조프로세서 없이 자체 프로그램 가능한 모노리식 마이크로 프로세서(monolithic self-programmable microprocessor)를 사용한다. 상기 GQ기법과 같은 방법에 속하는 다중 연산 애플리케이션과 관련된 작업부하는 계산시간을 야기하고, 이러한 계산시간은 어떤 경우에는 소비자가 구매시 은행카드를 사용하여 지불하는데 불편을 느끼게 된다. 여기서, 지불카드의 보안성을 향상시키는데 있어서, 은행당국이 해결하기 특별히 어려운 문제에 직면할 수 있다는 것을 생각해볼 수 있다. 실제로, 명백하게 모순되는 2가지 문제를 해결해야 한다. 즉, 한편으로는 각 카드에 점차 길고 명확한 키를 사용하여 보안성을 증가시키는 반면에, 다른 한편으로 그 작업부하로 인해 사용자에게 과도한 계산시간이 야기되지 않도록 해야 한다. 이러한 문제는 심각해지고, 따라서 현재 하부구조 및 마이크로프로세서를 고려해 볼 필요가 있다.
상술된 GQ기법은 RSA기술을 이용한다. 그러나, RSA기술이 정확하게 모듈러스(modulus) n의 인수분해에 의존하는 반면에, 이러한 의존성은 등가가 아니다. 즉, RSA기술을 구현하는 디지털 서명의 다양한 표준에 대한 소위 승산 어택(multiplicative attack)에서 나타나는 것과 같이, 결코 등가와 관련없는 것이다.
GQ2 기법의 목적은 2가지이다. 하나는 RSA 기술의 고유성능을 향상시키는 것이고, 다른 하나는 RSA 기법의 본질적인 문제를 해결하는 것이다. GQ2 비밀키의 지식은 모듈러스 n의 인수분해의 지식과 동등하다. 상기 트리플렛(triplet) GQ2에 대한 임의의 어택(attack)은 모듈러스 n에 대한 인수분해가 된다. 이러한 경우는 등가이다. GQ2 기법을 이용함으로써, 작업 부하는 서명 또는 자기 인증 엔티티 및 제어 엔티티를 위해 감소된다. 보안 및 성능의 면에서 인수분해의 문제를 더 향상되게 사용하는 것을 통해서, GQ2 기법은 RSA 기법의 단점을 극복하게 된다.
본 발명은 엔티티(entity)의 인증성과, 메시지의 무결성(integrity) 및 인증성 중 적어도 하나를 검증하기 위해 고안된 방법, 시스템, 및 장치들에 관한 것이다.
GQ계열에 적용된 차이니스 나머지 방법
보다 상세하게, 본 발명은 제어자 엔티티(controller entity)에게
- 엔티티의 인증성 또는(및),
- 상기 엔티티와 관련된 메시지 M의 무결성을 검증하기 위한 방법이다.
상기 검증절차는 다음의 파라미터와 그 파라미터의 도함수(derivative)의 일부 또는 전부에 의해 성립되며,
- m개 쌍의 비밀값 Q1,Q2,...Qm및 공개값 G1,G2,...Gm(m은 1 이상임)와,
- f개의 소인수 P1,P2,...Pf의 곱에 의해 구성된 공개 모듈러스 n(f는 2 이상임)와,
- 공개지수(public exponent) v
상기 모듈러스, 상기 지수 및 상기 값은 GiㆍQi v≡1ㆍmod n 또는 Gi ≡Qi vmod n 의 식에 의해 연관되고,
상기 방법은 증거(witness)라 하는 엔티티를 아래에서 정의된 단계에서 구현하며, 상기 증거는 f개 소인수 pi와 그 소인수의 차이니스 나머지의 파라미터와 공개 모듈러스 n과 상기 m개의 비밀값 Qi와 그 비밀값 Qi과 그 공개지수 v의 f.m 개의 요소(component) Qi,j(Qi,j≡Qimod pj)중 적어도 하나를 갖는다.
상기 증거는 정수 모듈로 n의 링에서 Ri ≡ri vmod pi의 연산을 실행하고, 이어 차이니스 나머지 방법을 적용함으로써 커미트먼트(commitment) R 각각을 계산한다. 여기서, r은 0 < r < n이 되는 랜덤값이며, ri은 0 < ri< pi이 되는, 소수 Pi와 관련된 랜덤값이고, 각 ri는 랜덤값의 콜렉션{r1,r2,.....rf}에 속한다.
이와 같이, 각각의 p1값에 대한 커미트먼트 Ri을 각각 계산하기 위해 실행될 산술연산 모듈로 p1의 수는 종래의 모듈로 n으로 실시되었던 연산에서의 그 수와 비교될 만큼 감소된다.
상기 증거는 하나 이상의 챌린지 d을 수신한다. 상기 각 챌린저는 m개의, 초기 챌린지(elementary challenge)라 하는 정수 di를 포함한다. 그 증거는 각 챌린지 d에 기초하여 , Di≡riㆍ Qi,1 d1ㆍQi,2 d2...Qi,m dmmod pi의 연산을 실행하고, 이어 차이니스 나머지 방법을 적용함으로써 레스펀스 D를 계산한다.
이와 같이, 각각의 p1값에 대한 레스펀스 Di을 각각 계산하기 위해 실행될 산술연산 모듈로 p1의 수는 종래의 모듈로 n으로 실시되었던 연산에서의 그 수와 비교될 만큼 감소된다.
상기 레스펀스 D이 상기 챌린지 d와 상기 커미트먼트 R의 수와 동일한 수가 되도록 하여, 상기 R,d,D의 그룹은 {R,d,D}로 참조된 트리플릿을 형성한다.
엔티티의 인증성을 검증하는 경우.
제1 실시형태에서, 상기 방법은 증명자(demonstrator)로 알려진 엔티티의 인증성을 제어자로 알려진 엔티티에게 검증하기 위해 고안되고, 상기 증명자 엔티티는 상기 증거를 포함한다.
상기 증명자 및 제어자 엔티티는 다음의 단계들을 실행한다.
ㆍ제1 단계: 커미트먼트 R의 동작
각 호출시에, 상기 증거는 상기 특정된 절차를 적용함으로써 각각의 커미트먼트 R을 계산하며, 상기 증명자는 상기 제어자에게 각 커미트먼트 R의 일부 또는 전부를 전송한다.
ㆍ제2 단계: 챌린지 d의 동작
상기 제어자는 커미트먼트 R의 일부 또는 전부를 수신한 후에, 상기 제어자는 커미트먼트 R의 수와 동일한 수의 챌린지 d를 생성하고, 상기 챌린지 d를 상기 증명자에게 전송한다.
ㆍ제3 단계: 레스펀스 D의 동작
상기 증거는 상기 특정된 절차를 적용함으로써 상기 챌린지 d로부터 상기 레스펀스 D를 계산한다.
ㆍ제4 단계: 검사동작
상기 증명자는 상기 각 레스펀스 D를 상기 제어자에게 전송한다.
증명자는 각 커미트먼트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ㆍDvmod n의 식을 만족한다.
상기 제어자는 각 재구성된 커미트먼트 R'이 그 제어자에 전송되었던 각 커미트먼트 R의 일부 또는 전부를 재생성하는 것을 확인한다.
증명자가 각 커미트먼트 R의 전부를 전송하였을 경우
상기 증명자가 각 커미트먼트 R의 전부를 전송하였다면, m개의 공개값 G1, G2...Gm을 갖는 상기 제어자는 각 커미트먼트 R는
R ≡G1 d1ㆍG2 d2...Gm dmㆍDvmod n 의 식, 또는
R ≡Dv/G1 d1ㆍG2 d2...Gm dmㆍmod n의 식을 만족하는지를 확인한다.
메시지의 무결성을 검증하는 경우
상기 제1 실시형태와 결합가능한 제2 실시형태에서는, 본 발명의 방법은 제어자 엔티티로 알려진 엔티티에게 증명자 엔티티라 하는 엔티티와 관련된 메시지 M의 무결성을 검증하기 위해 고안되며, 상기 증명자 엔티티는 상기 증거를 포함하며,
상기 증명자 및 제어자 엔티티는 다음의 단계들을 수행한다.
ㆍ제1 단계: 커미트먼트 R의 동작
각 호출시에, 상기 증거는 상기 특정된 절차를 적용하여 각 커미트먼트 R을 계산하는 단계와,
ㆍ제2 단계: 챌린지 d의 동작
상기 증명자는 그 인수가 상기 메시지 M과, 각 커미트먼트 R의 모두 또는 일부인 해싱 함수 h를 적용하여 적어도 하나의 토큰 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와 동일한지를 확인한다.
메시지의 디지털 서명 및 그 인증성 검증
서명연산
제1 실시형태 및(또는) 제2 실시형태와 결합가능한 제3 실시형태에서, 본 발명에 따른 방법은 서명 엔티티(signing entity)로 알려진 엔티티에 의해 메시지 M의 디지털 서명을 생성하기 위해 고안되고, 상기 서명 엔티티는 상기 증거를 포함한다.
상기 서명 엔티티는,
- 메시지 M
- 챌린지 d와(또는) 커미트먼트 R
- 레스펀스 D
를 포함한 서명된 메시지를 얻기 위해 서명연산을 실행하며,
상기 서명 엔티티는 다음 단계들을 구현함으로써 상기 서명연산을 실행한다.
ㆍ제1 단계: 커미트먼트 R의 동작
각 호출시에, 상기 증거는 상기 특정된 절차를 적용하여 각 커미트먼트 R을 계산하는 단계와,
ㆍ제2 단계: 챌린지 d의 동작
상기 서명자는 그 인수가 상기 메시지 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ㆍDvmod n 의 식 또는 R ≡Dv/G1 d1ㆍG2 d2...Gm dmㆍmod n 의 식을 만족하는지를 확인하고,
이어, 상기 제어자는 메시지 M, 챌린지 d 및 커미트먼트 R이 해싱함수 d = h(M, R)을 만족하는지를 확인하고,
ㆍ제어자가 챌린지 d와 레스펀스 D를 가질 경우
상기 제어자가 챌린지 d, 레스펀스 D를 갖는다면, 상기 제어자는 각 챌린지 d와 레스펀스 D에 기초하여, R' ≡G1 d1ㆍG2 d2...Gm dmㆍDvmod n의 식 또는 R' ≡Dv/G1 d1ㆍG2 d2...Gm dm.mod n의 식을 만족하는 커미트먼트R'을 재구성하고,
이어, 상기 제어자는 상기 메시지 M 및 챌린지 d가 해싱함수 d = h(M, R')을만족하는지를 확인하며,
ㆍ제어자가 커미트먼트 R와 레스펀스 D를 가질 경우.
상기 제어자가 커미트먼트 R와 레스펀스 D를 갖는다면, 상기 제어자는 해싱함수 d' = h(M, 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의 식을 만족하는지를 확인한다.
비밀값 Q를 우선 선택하고 비밀값 Q로부터 공개값 G를 추론하는 경우
어떤 경우에는, 비밀값 Q 및 공개값 G의 생성이 용이하도록, 상기 비밀값 Q를 먼저 선택하고, 상기 공개값 G를 상기 비밀값 Q로부터 추론한다. 보다 구체적으로, 이런 경우에는, 본 발명에 따른 방법이 상기 비밀값 Qi의 요소 Qi,1, Qi,2...Qi,f가 상기 인수 pj,각각에 대한 하나의 요소 Qi,j(Qi,j≡Qimod pj)의 비율로 불규칙하게 발행되는 수가 되도록 한다. 상기 비밀값 Qi는 상기 차이니스 나머지 방법에 의해 상기 요소 Qi,1, Qi,2...Qi,f로부터 계산될 수 있다. 상기 공개값은 식 Gi.j ≡Qi.j vmod pj의 연산을 실행하고, 이어 GiㆍQi v≡1ㆍmod n 의 식 또는 Gi ≡Qi vmod n 의 식이 되도록 하는 Gi를 성립시키기 위해 차이니스 나머지 방법을 적용함으로써 계산한다.
이와 같이, 각각의 p1값에 대한 커미트먼트 Gi.j을 각각 계산하기 위해 실행될 산술연산 모듈로 p1의 수는 종래의 모듈로 n으로 실시되었던 연산에서의 그 수와 비교될 만큼 감소된다.
이러한 경우에, 본 발명에 따른 방법은 상기 공개 검증 지수(public exponent of verification) v가 소수(prime number)이 되는 잇점이 있다. 상기 보안성은 상기 비밀값 Qi의 지식과 등가로 나타난다.
공개값 G를 우선 선택하고 공개값 G으로부터 비밀값 Q를 추론하는 경우
바람직하게는, 이런 경우에 지수 v는
v=2k로 하며,
여기서, k가 1보다 큰 보안 파라미터(sequrity parameter)이고, 상기 공개값 Gi는 f개의 소인수 P1,P2,...Pf보다 작은 기수 gi의 제곱 gi 2이며, 상기 기수 gi는, 두 식 x2≡gimod n 및 x2≡- gimod n이 정수 모듈로 n의 링에서 x로 풀 수 없게 하고, 식 xv≡gi 2mod n이 정수 모듈로 n의 링에서 x로 풀 수 있게 한다.
시스템
또한, 본 발명은 제어자 서버에게
- 엔티티의 인증성 또는(및)
- 상기 엔티티와 관련된 메시지 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 vmod n 의 관계식에 의해 연관되고,
상기 시스템은 특히, 예를 들어 마이크로 프로세서 기반 은행카드의 형태를 갖는 노매드 객체에 내장된 증거 장치를 포함한다. 상기 증거 장치는 f개의 소인수 pi와 그 소인수의 차이니스 나머지의 파라미터와 공개 모듈러스 n과 상기 m개의 비밀값 Qi와 그 비밀값 Qi과 그 공개지수v의 fㆍm 개의 요소 Qi,j(Qi,j≡Qimod pj)중 적어도 하나를 갖는 메모리 영역을 포함한다. 또한, 상기 증거 장치는,
- 이하, 증거 장치의 랜덤값을 생성하기 위한 수단이라 하는 랜덤값 생성 수단과,
- 이하, 증거 장치의 커미트먼트 R을 계산하기 위한 수단이라 하는, 정수 모듈로 n의 링에서 커미트먼트 R을 계산하기 위한 계산수단을 포함하고, 상기 각 커미트먼트 R은 R ≡rvmod n의 연산을 실행하거나, Ri ≡ri vmod pi의 연산을 실행하고, 이어 차이니스 나머지 방법을 적용하여 계산한다. 여기서, r은 0 < r < n이 되는 랜덤값이며, ri은 0 < ri< pi이 되는, 소수 Pi와 관련된 랜덤값이고 상기 각 ri는 랜덤값의 콜렉션 {r1,r2,.....rf}에 속한다.
이와 같이, 각각의 p1값에 대한 커미트먼트 Ri를 각각 계산하기 위해 실행될 산술연산 모듈로 p1의 수는 종래의 모듈로 n으로 실시되었던 연산에서의 그 수와 비교될 만큼 감소된다.
또한, 상기 증거 장치는,
- 이하, 증거 장치의 챌린지 d를 수신하기 위한 수단이라 하는, 하나 이상의 챌린지 d을 수신하고, 상기 각 챌린지 d는 m개의, 이하 초기 챌린지이라고 하는 정수 di를 포함하는 수신수단과,
- 이하, 증거 장치의 레스펀스 D를 계산하기 위한 수단이라 하는, 각 챌린지 d에 기초하여 레스펀스 D를 식 Di≡riㆍQi,1 d1ㆍQi,2 d2...Qi,m dmmod pi의 연산을 실행함으로써 계산하고, 이어, 차이니스 나머지 방법을 적용하여 레스펀스 D를 계산하기 위한 계산 수단을 포함한다.
이와 같이, 각각의 p1값에 대한 커미트먼트 Di를 각각 계산하기 위해 실행될 산술연산 모듈로 p1의 수는 종래의 모듈로 n으로 실시되었던 연산에서의 그 수와 비교될 만큼 감소된다.
상기 증거 장치는 하나 이상의 상기 챌린지 d와 하나 이상의 상기 레스펀스 D를 전송하기 위한 전송수단을 포함한다. 상기 레스펀스 D는 각 커미트먼트 R과 챌린지 R의 수와 동일한 수로 존재하며, 상기 R,d,D의 그룹은 {R,d,D}로 참조된 트리플릿을 형성한다.
엔티티의 인증성을 검증하는 경우
제1 실시형태에서, 본 발명에 따른 시스템은 제어자라 하는 엔티티에게 증명자라 하는 엔티티의 인증성을 검증하기 위해 고안된다.
상기 시스템은 증명자 엔티티와 관련된 증명자 장치를 포함하도록 이루어진다. 상기 증명자 장치는 상호 연결수단에 의해 상기 증거 장치와 서로 연결되며, 특히, 노매드 객체의 로직 마이크로 회로의 형태, 예를 들면 마이크로 프로세서 기반 은행카드의 마이크로 프로세서 형태일 수 있다.
또한, 상기 시스템은 상기 제어자 엔티티와 관련된 제어자 장치를 포함하며, 상기 제어자 장치는 특히, 단말기 또는 원격 서버의 형태이며, 전자적, 전자기적, 광학적 또는 음성학적으로 상기 증명자 엔티티와 관련된 증명자 장치와 연결하기 위한 연결수단, 특히, 데이터프로세싱 통신 네트워크와 같은 연결수단을 포함한다.
상기 시스템은 다음 단계들을 실행하는데 사용된다.
ㆍ제1 단계: 커미트먼트 R의 동작
각 호출시에, 증거장치의 커미트먼트 R 계산수단은 상기 특정된 절차를 적용하여 각각의 커미트먼트 R을 계산한다. 상기 증거 장치는 상기 상호연결수단을 통해 증명자 장치에 상기 각각의 커미트먼트 R의 일부 또는 전부를 전송하기 위한 전송수단 - 이하, 증거장치의 전송수단이라 함 - 을 구비한다. 또한, 상기 증명자 장치는 상기 연결수단을 통해 상기 제어자 장치에 상기 각각의 커미트먼트 R의 일부 또는 전부를 전송하기 위한 전송수단 - 이하, 증명자장치의 전송수단이라 함 - 을 갖는다.
ㆍ제2 단계: 챌린지 d의 동작
상기 제어자 장치는 상기 각 커미트먼트 R의 일부 또는 전부를 수신한 후에 그 커미트먼트 R의 수와 동일한 수로 챌린지 d를 생성하기 위한 챌린지 생성수단을 포함한다. 또한, 상기 제어자 장치는 상기 연결수단을 통해 상기 증명자에 챌린지 d를 전송하기 위한 전송수단 - 이하, 제어자의 전송수단이라 함 - 을 포함한다.
ㆍ제3 단계: 레스펀스 D의 동작
상기 증거 장치의 챌린지 d 수신수단은 상기 상호연결수단을 통해 상기 증명자 장치로부터 들어오는 각각의 챌린지 d를 수신한다. 상기 증거 장치의 레스펀스 D 계산수단은 상기 제1항에 기재된 절차를 적용하여 상기 챌린지 d로부터 상기 레스펀스 D를 계산한다.
ㆍ제4 단계: 검사 동작
상기 증명자의 전송수단은 각 레스펀스 D를 상기 제어자에게 전송한다.
또한, 상기 제어자 장치는
- 이하, 제어자 장치의 계산수단이라 하는 계산 수단과,
- 이하, 제어자 장치의 비교수단이라 하는 비교 수단을 포함한다.
증명자가 각 커미트먼트 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'을 비교한다.
증명자가 각 커미트먼트 R의 전부를 전송하였을 경우.
상기 증명자의 전송수단이 각 커미트먼트 R의 전부를 전송하였다면, m개의 공개값 G1, G2...Gm을 갖는 상기 제어자 장치의 계산수단 및 비교수단은 각 커미트먼트 R이
R ≡G1 d1ㆍG2 d2...Gm dmㆍDvmod 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' ≡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 계산수단은 상기 제1항에 기재된 절차를 적용하여 상기 챌린지 d로부터 상기 레스펀스 D를 계산하며, 상기 증거 장치는 상기 상호연결수단을 통해 상기 서명장치에 상기 레스펀스 D를 전송하기 위해 전송수단을 포함한다.
검사 연산
상기 메시지 M의 인증성을 검증하기 위해, 제어자로 알려진 엔티티는 상기 서명된 메시지를 검사한다.
상기 시스템은 상기 제어자 엔티티와 관련된 제어자 장치를 포함하도록 이루어진다. 특히, 상기 제어자 장치는 터미널 또는 원격 서버의 형태이다. 또한, 상기 제어자 장치는 전자적, 전자기적, 광학적 또는 음성학적으로 상기 증명자 엔티티와 관련된 증명자 장치와 연결하기 위한 연결수단, 특히, 데이터프로세싱 통신 네트워크와 같은 연결수단을 구비한다.
상기 서명 엔티티와 관련된 서명 장치는 상기 연결수단을 통해 서명된 메시지를 상기 제어자 장치에 전송하기 위한 전송수단 - 이하, 서명 장치의 전송수단이라 함 - 을 포함한다. 이로써, 상기 제어자 장치는
- 메시지 M,
- 챌린지 d 및(또는) 커미트먼트 R,
- 레스펀스 D 를 포함하는 서명된 메시지를 갖는다.
상기 제어자 장치는,
계산 수단 - 이하, 제어자 장치의 계산수단이라 함 - 과,
비교 수단 - 이하, 제어자 장치의 비교수단이라 함 - 을 포함한다.
ㆍ 제어자 장치가 커미트먼트 R, 챌린지 d, 레스펀스 D를 가질 경우.
상기 제어자 장치가 커미트먼트 R, 챌린지 d 및 레스펀스 D를 갖는다면, 상기 제어자 장치의 계산수단 및 비교수단은 상기 커미트먼트 R, 챌린지 d, 레스펀스 D가
R ≡G1 d1ㆍG2 d2...Gm dmㆍDvmod n 의 식, 또는
R ≡Dv/G1 d1ㆍG2 d2...Gm dmㆍmod n의 식을 만족하는지를 확인하며,
이어, 상기 제어자 장치의 계산수단 및 비교수단은 메시지 M, 챌린지 d 및 커미트먼트 R이 해싱함수 d = h(M, R)을 만족하는지를 확인한다.
ㆍ 제어자 장치가 챌린지 d와 레스펀스 D를 가질 경우.
상기 제어자 장치가 챌린지 d, 레스펀스 D를 갖는다면, 상기 제어자는 상기 각 챌린지 d와 레스펀스 D에 기초하여,
R' ≡G1 d1ㆍG2 d2...Gm dmㆍDvmod n 의 식, 또는
R' ≡Dv/G1 d1ㆍG2 d2...Gm dm.mod n의 식을 만족하는 커미트먼트 R'을 재구성하고,
이어, 상기 제어자 장치의 계산수단 및 비교수단은 상기 메시지 M 및 챌린지 d가 해싱함수 d = h(M, R')을 만족하는지를 확인한다.
ㆍ 제어자 장치가 커미트먼트 R와 레스펀스 D를 가질 경우.
상기 제어자 장치가 커미트먼트 R와 레스펀스 D를 갖는다면, 상기 제어자 장치의 계산수단은 해싱함수 d' = h(M, 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의 식을 만족하는지를 확인한다.
비밀값 Q를 우선 선택하고 비밀값 Q로부터 공개값 G를 추론하는 경우
어떤 경우에는, 특히 비밀값 Q 및 공개값 G의 생성이 용이하도록, 상기 비밀값 Q를 먼저 선택하고, 상기 공개값 G를 상기 비밀값 Q로부터 추론한다. 보다 구체적으로, 이런 경우에는, 본 발명에 따른 방법이 상기 비밀값 Qi의 요소 Qi,1, Qi,2...Qi,f가 상기 인수 pj,각각에 대한 하나의 요소 Qi,j(Qi,j≡Qimod pj)의 비율로 불규칙하게 발행되는 수가 되도록 한다. 상기 비밀값 Qi는 상기 차이니스 나머지 방법에 의해 상기 요소 Qi,1, Qi,2...Qi,f로부터 계산될 수 있다.
상기 공개값은 식 Gi.j ≡Qi.j vmod pj의 연산을 실행하고,
이어 GiㆍQi v≡1ㆍmod n 의 식 또는 Gi ≡Qi vmod n 의 식이 되도록 하는 Gi를 성립시키기 위해 차이니스 나머지 방법을 적용함으로써 계산한다.
이와 같이, 각각의 pj값에 대한 커미트먼트 Gi.j을 각각 계산하기 위해 실행될 산술연산 모듈로 p1의 수는 종래의 모듈로 n으로 실시되었던 연산에서의 그 수와 비교될 만큼 감소된다.
이러한 경우에, 본 발명에 따른 방법은 상기 공개 검증 지수(public exponent of verification) v가 소수(prime number)이 되는 잇점이 있다. 상기 보안성은 상기 비밀값 Qi의 지식과 등가로 나타난다.
공개값 G를 우선 선택하고 공개값 G으로부터 비밀값 Q를 추론하는 경우
바람직하게는, 이런 경우에 지수 v는
v=2k로 하며,
여기서, k가 1보다 큰 보안 파라미터이고, 상기 공개값 Gi는 f개의 소인수 P1,P2,...Pf보다 작은 기수 gi의 제곱 gi 2이며, 상기 기수 gi는, 두 식 x2≡gimod n 및 x2≡- gimod n이 정수 모듈로 n의 링에서 x로 풀 수 없게 하고, 식 xv≡gi 2mod n이 정수 모듈로 n의 링에서 x로 풀 수 있게 한다.
단말기 장치
GQ계열에 적용된 차이니스 나머지 방법
또한, 본 발명은 엔티티와 관련된 단말기 장치에 관한 것이다. 특히, 상기 단말기 장치는 특히, 노매드 객체에서 예를 들어 마이크로 프로세서 기반 은행카드의 형태이다. 상기 단말기 장치는 제어자 서버에게
- 엔티티의 인증성 또는(및)
- 상기 엔티티와 관련된 메시지 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 vmod n 의 식에 의해 연관되며,
상기 단말기는 f개의 소인수 pi와 그 소인수의 차이니스 나머지의 파라미터와 공개 모듈러스 n과 상기 m개의 비밀값 Qi와 그 비밀값 Qi과 그 공개지수 v의 fㆍm 개의 요소 Qi,j(Qi,j≡Qimod pj)중 적어도 하나를 갖는 메모리 영역을 갖는 증거 장치를 포함한다. 또한, 상기 증거 장치는,
랜덤값 생성 수단 - 이하, 증거 장치의 랜덤값을 생성하기 위한 수단이라 함 - 과,
계산수단 - 이하, 증거 장치의 커미트먼트 R을 계산하기 위한 수단이라 함-
을 포함한다.
상기 계산수단은 정수 모듈로n의 링에서 커미트먼트 R을 계산하고, 상기 각 커미트먼트 R은 Ri ≡ri vmod pi의 연산을 실행하고, 이어 차이니스 나머지 방법을 적용함으로써 계산된다. 여기서, r은 0 < r < n이 되는 랜덤값이며, ri은 0 < ri< pi이 되는, 소수 Pi와 관련된 랜덤값이고 상기 각 ri는 랜덤값의 콜렉션 {r1,r2,.....rf}에 속한다.
또한, 상기 증거 장치는,
하나 이상의 챌린지 d을 수신하고, 상기 각 챌린지 d는 m개의, 초기 챌린지라고도 하는 정수 di를 포함하는 수신수단 - 이하, 증거 장치의 챌린지 d 를 수신하기 위한 수단이라 함 - 과,
상기 각 챌린지 d에 기초하여 레스펀스 D를 Di≡riㆍQi,1 d1ㆍQi,2 d2...Qi,m dmmod pi의 연산을 실행하고, 이어, 차이니스 나머지 방법을 적용함으로써 계산하기 위한 계산 수단 - 이하, 증거 장치의 레스펀스 D를 계산하기 위한 수단이라 함 - 을 포함한다.
이와 같이, 각각의 p1값에 대한 커미트먼트 Ri를 각각 계산하기 위해 실행될 산술연산 모듈로 p1의 수는 종래의 모듈로 n으로 실시되었던 연산에서의 그 수와 비교될 만큼 감소된다.
또한, 상기 증거 장치는 상기 하나 이상의 커미트먼트 R과 하나 이상의 레스펀스 D를 전송하기 위한 전송수단을 포함하며, 상기 레스펀스 D는 각 커미트먼트 R과 챌린지 d의 수와 동일한 수로 존재하고, 상기 R,d,D의 각 그룹은 {R,d,D}로 참조된 트리플릿을 형성한다.
엔티티의 인증성을 검증하는 경우
제1 실시형태에서, 본 발명에 따른 단말기 장치는 증명자라 하는 엔티티의 인증성을 제어자라 하는 엔티티에게 검증하기 위해 고안된다.
상기 단말기 장치는 상기 증명자 엔티티와 관련된 증명자 장치를 포함하도록 구성된다. 상기 증명자 장치는 상호 연결수단에 의해 상기 증거 장치와 서로 연결되고, 특히, 노매드 객체에서 로직 마이크로 회로의 형태, 예를 들면 마이크로 프로세서 기반 은행카드의 마이크로 프로세서의 형태일 수 있다.
또한, 상기 증명자 장치는 전자적, 전자기적, 광학적 또는 음성학적으로 상기 제어자 엔티티와 관련된 제어자 장치와 연결하기 위한 연결수단, 특히, 데이터프로세싱 통신 네트워크와 같은 연결수단을 포함하며, 특히, 상기 제어자 장치는 단말기 또는 원격 서버의 형태일 수 있다.
상기 단말기 장치는 다음 단계들을 실행하는데 사용된다.
ㆍ제1 단계: 커미트먼트 R의 동작
각 호출시에, 증거 장치의 커미트먼트 R 계산수단은 상기 특정된 절차를 적용하여 상기 각각의 커미트먼트 R을 계산한다.
상기 증거 장치는 상기 상호연결수단을 통해 상기 증명자 장치에 커미트먼트 R의 일부 또는 전부를 전송하기 위한 전송수단 - 이하, 증거장치의 전송수단이라 함 - 을 구비한다. 또한, 상기 증명자 장치는 상기 연결수단을 통해 상기 제어자장치에 커미트먼트 R의 일부 또는 전부를 전송하기 위한 전송수단 - 이하, 증명자 장치의 전송수단이라 함 - 을 갖는다.
ㆍ제2 및 제3 단계: 챌린지 d의 동작, 레스펀스 D의 동작.
상기 증거 장치의 챌린지 d 수신수단은 상기 제어자 장치와 상기 증명자 장치 사이의 연결수단과, 상기 증명자 장치와 상기 증거 장치 사이의 상호연결수단을 통해 증명자 장치로부터 들어오는 각각의 챌린지 d를 수신한다. 상기 증거 장치의 레스펀스 D 계산수단은 상기 특정된 절차를 적용하여 상기 챌린지 d로부터 상기 레스펀스 D를 계산한다.
ㆍ제4 단계: 검사 동작
상기 증명자의 전송수단은 각 레스펀스 D를 검사를 실행하는 제어자에게 전송한다.
메시지의 무결성을 검증하는 경우
다른 실시형태들과 결합가능한 제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를 상기 서명 장치로 전송하기 위한 전송수단 - 이하, 증거 장치의 전송수단이라 함 - 을 포함한다.
제어자 장치
GQ계열에 적용된 차이니스 나머지 방법
또한, 본 발명은 제어자 장치에 관한 것이다. 특히, 상기 제어자 장치는 제어자 엔티티와 관련된 단말기 또는 원격 서버의 형태일 수 있다. 상기 제어자 장치는
- 엔티티의 인증성 또는(및)
- 상기 엔티티와 관련된 메시지 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 vmod n 의 관계식에 의해 연관되며,
여기서, Qi는 상기 제어자 장치에게는 알려지지 않고 상기 공개값 Gi와 연관된 비밀값을 지시한다.
엔티티의 인증성을 검증하는 경우
다른 실시형태들과 결합가능한 제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ㆍDvmod n 의 식, 또는
R ≡Dv/G1 d1ㆍG2 d2...Gm dmㆍmod n의 식을 만족하는지를 확인한다.
메시지의 무결성을 검증하는 경우
다른 실시형태와 결합가능한 제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' ≡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 실시형태에서, 본 발명에 따른 제어자 장치는 제어자라 하는 엔티티에 의해 서명된 메시지를 검사함으로써 메시지 M의 인증성을 검사하도록 고안된 것이다.
해싱 함수 h(M, R)을 갖는 서명엔티티와 관련된 서명 장치에 의해 전송된, 서명된 메시지는,
- 메시지 M,
- 챌린지 d 및(또는) 커미트먼트 R,
- 레스펀스 D 를 포함한다.
상기 제어자 장치는 상기 서명엔티티와 관련있는 서명 장치에 전자적, 전자기적, 광학적 또는 음성학적으로 연결하기 위한 연결수단, 특히, 데이터프로세싱 통신 네트워크와 같은 연결수단을 포함하고, 상기 제어자 장치는 상기 연결수단을 통해 서명장치로부터 상기 서명된 메시지를 수신하며,
상기 제어자 장치는
계산 수단 - 이하, 제어자 장치의 계산수단이라 함 - 과,
비교 수단 - 이하, 제어자 장치의 비교수단이라 함 - 을 포함한다.
ㆍ 제어자 장치가 커미트먼트 R, 챌린지 d, 레스펀스 D를 가질 경우.
상기 제어자 장치가 커미트먼트 R, 챌린지 d 및 레스펀스 D를 갖는다면, 상기 제어자 장치의 계산수단 및 비교수단은 상기 커미트먼트 R, 상기 챌린지 d, 상기 레스펀스 D가
R ≡G1 d1ㆍG2 d2...Gm dmㆍDvmod n 의 식 또는
R ≡Dv/G1 d1ㆍG2 d2...Gm dmㆍmod n의 식을 만족하는지를 확인하고,
상기 제어자 장치의 계산수단 및 비교수단은 상기 메시지 M, 상기 챌린지 d 및 상기 커미트먼트 R이 해싱함수 d = h(M, R)을 만족하는지를 확인한다.
ㆍ 제어자 장치가 챌린지 d와 레스펀스 D를 가질 경우.
상기 제어자 장치가 챌린지 d, 레스펀스 D를 갖는다면, 상기 제어자의 계산수단은 상기 각 챌린지 d와 각 레스펀스 D에 기초하여,
R' ≡G1 d1ㆍG2 d2...Gm dmㆍDvmod n 의 식, 또는
R' ≡Dv/G1 d1ㆍG2 d2...Gm dmㆍmod n의 식을 만족하는 커미트먼트 R'을 계산하고,
이어, 상기 제어자의 계산수단 및 비교수단은 상기 메시지 M 및 챌린지 d가 해싱함수 d = h(M, R')을 만족하는지를 확인한다.
ㆍ 제어자가 커미트먼트 R와 레스펀스 D를 가질 경우.
상기 제어자가 커미트먼트 R와 레스펀스 D를 갖는다면, 상기 제어자 장치의 계산수단은 해싱함수 d' = h(M, 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의 식을 만족하는지를 확인한다.
상기 공개지수 v가 2k일 때 다른 실시형태의 실시예를 제시한다.
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...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로 풀릴 수 있다.
≡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)
≡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)에 합치되는 소인수와 양립할수 없다는 것을 주목해야 한다.
아래는 GQ2키의 제2 세트이다. 여기서는, k = 9이고, v = 512, m = 2이며, 2개의 기수는 g1= 2 와 g2= 3 이고, f=3이며, 3(mod4)와 일치하는 3개의 소인수가부여된다.
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 세트를 갖는 일 예이다.
상기 증거는 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 세트를 갖는 일 예이다.
f개의 커미트먼트요소의 각 콜렉션에 대해, 상기 증거는 차이니스 나머지의 기술에 따라서 커미트먼트를 설정한다. 랜덤값의 콜렉션이 존재하는 수만큼 커미트먼트가 존재한다.
Ri≡차이니스 나머지(R1,R2,....,Rj)
두 경우에서, 상기 증명자는 각 커미트먼트 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,i d1ㆍQ2.i d2....Qm.i dm(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)
두 경우에서, 상기 증명자는 각 레스펀스 D를 상기 제어자에게 보낸다.
4)검사동작은 각 트리플릿{R,d,D}이 비제로(non-zero) 값에 대한 아래의 형태의 식을 검증하는 것을 확인하거나,
또는
그밖에 각 커미트먼트를 설정하는 것이다. 어느것도 제로가 아니다.
또는
필요하다면, 이어 제어자는 재확정된 각 커미트먼트 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 세트의 키에 대한 일 예이다.
344.514.74.D64(mod n), 즉 16진수 기수법으로 지수를 갖는 32c.5E.74.D40
= FFDD736B666F41FB771776D9D50DB7CDF03F3D976471B25C56D3AF07BE692CB1
FE4EE70FA77032BECD8411B813B4C21210C6B0449CC4292E5DD2BDB00828AF18
우리는 커미트먼트 R을 찾고, 상기 인증은 성공적이다.
이하, 제2 세트의 키에 대한 일예이다.
우리는 커미트먼트 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; 비제로값으로 비교되어야 함)이 있어야 한다.
또는
예를 들면, 일련의 초기 연산으로 상기 레스펀스 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; 비제로값으로 비교 요구)이 있기만 하면. 제어자는 서명된 메시지를 수용한다.
또는
부록이 커미트먼트를 포함하지 않는 경우에는 상기 검사연산과정은 아래 2 식 중 적절한 하나의 식에 따라서 하나이상의 커미트먼트 R'을 재건하는 단계로 시작된다. 제로인 재확립된 커미트먼트은 없다.
또는
이어, 제어자는 각 챌린지 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 (24)

  1. 제어자 엔티티(controller entity)에게
    - 엔티티의 인증성 또는(및)
    - 상기 엔티티와 관련된 메시지 M의 무결성을 검증하기 위한 방법에 있어서,
    - m개 쌍의 비밀값 Q1,Q2,...Qm및 공개값 G1,G2,...Gm(m은 1 이상임)와,
    - f개의 소인수 P1,P2,...Pf의 곱에 의해 구성된 공개 모듈러스 n(f는 2 이상임)와,
    - 공개지수 v를 포함하는 파라미터와 그 파라미터의 도함수(derivative)의 일부 또는 전부에 의해 이루어지며,
    상기 모듈러스, 상기 지수 및 상기 값은 GiㆍQi v≡1ㆍmod n 또는 Gi ≡Qi vmod n 의 식에 의해 연관되고,
    상기 방법은 증거(witness)라 하는 엔티티를 다음 단계에서 구현하며, 상기 증거는 f개 소인수 pi와 그 소인수의 차이니스 나머지의 파라미터와 공개 모듈러스 n과 상기 m개의 비밀값 Qi와 그 비밀값 Qi과 그 공개지수 v의 f.m 개의 요소(component) Qi,j(Qi,j≡Qimod pj)중 적어도 하나를 갖고,
    상기 증거는 정수 모듈로 n의 링에서 Ri ≡ri vmod pi의 연산을 실행하고, 이어 차이니스 나머지 방법을 적용함 - 여기서, r은 0 < r < n이 되는 랜덤값이며, ri은 0 < ri< pi이 되는, 소수 Pi와 관련된 랜덤값이고, 각 ri는 랜덤값의 콜렉션{r1,r2,.....rf}에 속함 - 으로써 커미트먼트(commitment) R 각각을 계산하고,
    상기 증거는 각각 m개의, 초기 챌린지(elementary challenge)라 하는 정수 di를 포함한, 하나 이상의 챌린지 d을 수신하고, 그 증거는 각 챌린지 d에 기초하여 , Di≡riㆍ Qi,1 d1ㆍQi,2 d2...Qi,m dmmod pi의 연산을 실행하고, 이어 차이니스 나머지 방법을 적용함으로써 레스펀스 D를 계산하고,
    상기 레스펀스 D이 상기 챌린지 d와 상기 커미트먼트 R의 수와 동일한 수가 되도록 하여, 상기 R,d,D의 그룹은 {R,d,D}로 참조된 트리플릿을 형성하는 검증방법.
  2. 제1항에 있어서,
    상기 방법은
    증명자(demonstrator)로 알려진 엔티티의 인증성을 제어자로 알려진 엔티티에게 검증하기 위해 고안되고,
    상기 증명자 엔티티는 상기 증거를 포함하며.
    상기 증명자 및 제어자는,
    ㆍ제1 단계: 커미트먼트 R의 동작
    각 호출시에, 상기 증거는 상기 제1항에 기재된 절차를 적용함으로써 각각의 커미트먼트 R을 계산하며, 상기 증명자는 상기 제어자에게 각 커미트먼트 R의 일부 또는 전부를 전송하는 단계와,
    ㆍ제2 단계: 챌린지 d의 동작
    상기 제어자는 커미트먼트 R의 일부 또는 전부를 수신한 후에, 상기 제어자는 커미트먼트 R의 수와 동일한 수의 챌린지 d를 생성하고, 상기 챌린지 d를 상기 증명자에게 전송하는 단계와,
    ㆍ제3 단계: 레스펀스 D의 동작
    상기 증거는 상기 제1항에 기재된 절차를 적용함으로써 상기 챌린지 d로부터 상기 레스펀스 D를 계산하는 단계와,
    ㆍ제4 단계: 검사동작
    상기 증명자는 상기 각 레스펀스 D를 상기 제어자에게 전송하는 단계
    이상의 단계를 실행하며,
    증명자는 각 커미트먼트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ㆍDvmod n의 식을 만족하며,
    상기 제어자는 각 재구성된 커미트먼트 R'이 그 제어자에 전송되었던 각 커미트먼트 R의 일부 또는 전부를 재생성하는 것을 확인하고,
    증명자가 각 커미트먼트 R의 전부를 전송하였을 경우
    상기 증명자가 각 커미트먼트 R의 전부를 전송하였다면, m개의 공개값 G1, G2...Gm을 갖는 상기 제어자는 각 커미트먼트 R는
    R ≡G1 d1ㆍG2 d2...Gm dmㆍDvmod n 의 식, 또는
    R ≡Dv/G1 d1ㆍG2 d2...Gm dmㆍmod n의 식을 만족하는지를 확인하는 검증방법.
  3. 제1항에 있어서,
    상기 방법은
    제어자 엔티티로 알려진 엔티티에게 증명자 엔티티라 하는 엔티티와 관련된 메시지 M의 무결성을 검증하기 위해 고안되며,
    상기 증명자 엔티티는 상기 증거를 포함하며,
    상기 증명자 및 제어자 엔티티는,
    ㆍ제1 단계: 커미트먼트 R의 동작
    - 각 호출시에, 상기 증거는 상기 제1항에 기재된 절차를 적용하여 각 커미트먼트 R을 계산하는 단계와,
    ㆍ제2 단계: 챌린지 d의 동작
    - 상기 증명자는 그 인수가 메시지 M과, 각 커미트먼트 R의 모두 또는 일부인 해싱 함수 h를 적용하여 적어도 하나의 토큰 T를 계산하며,
    - 상기 증명자는 상기 토큰 T를 상기 제어자에게 전송하고,
    - 상기 토큰 T를 전송받은 후에, 상기 제어자는 커미트먼트 R의 수와 동일한 수로 챌린지 d를 생성하고, 챌린지 d를 상기 증명자에게 전송하는 단계와.
    ㆍ제3 단계: 레스펀스 D의 동작
    - 상기 증거는 상기 제1항에 기재된 절차를 적용하여 상기 챌린지 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와 동일한지를 확인하는 단계
    이상의 단계를 실행하는 검증방법.
  4. 제1항에 있어서,
    상기 방법은,
    서명 엔티티(signing entity)로 알려진 엔티티에 의해 메시지 M의 디지털 서명을 생성하기 위해 고안되고, 상기 서명 엔티티는 상기 증거를 포함하며,
    상기 서명 엔티티는,
    - 메시지 M
    - 챌린지 d와(또는) 커미트먼트 R
    - 레스펀스 D
    를 포함한 서명된 메시지를 얻기 위해 서명연산을 실행하며,
    상기 서명 엔티티는
    ㆍ제1 단계: 커미트먼트 R의 동작
    - 각 호출시에, 상기 증거는 상기 제1항에 기재된 절차를 적용하여 각 커미트먼트 R을 계산하는 단계와,
    ㆍ제2 단계: 챌린지 d의 동작
    - 상기 서명자는 그 인수가 메시지 M과, 상기 각 커미트먼트 R의 모두 또는 일부인 해싱 함수 h를 적용하여 이진 트레인(binary train)을 얻으며,
    - 그 이진 트레인으로부터 상기 서명자는 상기 커미트먼트 R의 수와 동일한 수로 챌린지 d를 추출하는 단계와,
    ㆍ제3 단계: 레스펀스 D의 동작
    - 상기 증거는 상기 제1항에 기재된 절차를 적용하여 상기 챌린지 d로부터 상기 레스펀스 D를 계산하는 단계를 구현함으로써 상기 서명연산을 실행하는 검증방법.
  5. 제4항에 있어서,
    상기 방법은,
    제어자라 하는 엔티티는 상기 서명된 메시지를 검사함으로써 상기 메시지 M의 인증성을 검증하기 위해 고안되며,
    검사연산
    - 상기 서명된 메시지를 갖는 제어자 엔티티는,
    ㆍ 제어자가 커미트먼트 R, 챌린지 d 및 레스펀스 D를 가질 경우.
    상기 제어자가 커미트먼트 R, 챌린지 d, 레스펀스 D를 갖는다면, 상기 제어자는 상기 커미트먼트 R, 챌린지 d, 레스펀스 D가 R ≡G1 d1ㆍG2 d2...Gm dmㆍDvmod n 의 식 또는 R ≡Dv/G1 d1ㆍG2 d2...Gm dmㆍmod n 의 식을 만족하는지를 확인하고,
    상기 제어자는 메시지 M, 챌린지 d 및 커미트먼트 R이 해싱함수 d = h(M, R)을 만족하는지를 확인하고,
    ㆍ제어자가 챌린지 d와 레스펀스 D를 가질 경우.
    상기 제어자가 챌린지 d, 레스펀스 D를 갖는다면, 상기 제어자는 각 챌린지 d와 레스펀스 D에 기초하여, R' ≡G1 d1ㆍG2 d2...Gm dmㆍDvmod n 또는 R' ≡Dv/G1 d1ㆍG2 d2...Gm dm.mod n의 관계식을 만족하는 커미트먼트R'을 재구성하고,
    상기 제어자는 상기 메시지 M 및 챌린지 d가 해싱함수 d = h(M, R')을 만족하는지를 확인하며,
    ㆍ제어자가 커미트먼트 R와 레스펀스 D를 가질 경우.
    상기 제어자가 커미트먼트 R와 레스펀스 D를 갖는다면, 상기 제어자는 해싱함수 d' = h(M, 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의 식을 만족하는지를 확인하는 절차에 의해 검사연산을 실행하는 검증방법.
  6. 제1항 내지 제5항 중 어느 항에 있어서,
    상기 방법은,
    상기 비밀값 Qi의 요소 Qi,1, Qi,2...Qi,f가 상기 인수 pj,각각에 대한 하나의요소 Qi,j(Qi,j≡Qimod pj)의 비율로 불규칙하게 발행되는 수가 되도록 하고,
    상기 비밀값 Qi는 상기 차이니스 나머지 방법에 의해 상기 요소 Qi,1, Qi,2...Qi,f로부터 계산될 수 있으며,
    상기 공개값 Gi은 식 Gi.j ≡Qi.j vmod pj의 연산을 실행하고, 이어 GiㆍQi v≡1ㆍmod n 의 식 또는 Gi ≡Qi vmod n 의 식가 되도록 하는 Gi를 확립하기 위해 차이니스 나머지 방법을 적용함으로써 계산하는 방법.
  7. 제6항에 있어서,
    상기 공개 검증 지수 v가 소수(prime number)인 방법.
  8. 제1항 내지 제5항 중 어느 항에 있어서,
    상기 지수 v는 v=2k가 되며, 여기서, k가 1보다 큰 보안 파라미터(sequrity parameter)이고,
    상기 공개값 Gi는 f개의 소인수 P1,P2,...Pf보다 작은 기수 gi의 제곱 gi 2이며, 상기 기수 gi는, 두 식, x2≡gimod n 및 x2≡- gimod n이 정수 모듈로 n의 링에서 x로 풀 수 없게 하고, 식 xv≡gi 2mod n이 정수 모듈로 n의 링에서 x로 풀 수 있게 하는 방법.
  9. 제어자 서버에게
    - 엔티티의 인증성 또는(및)
    - 상기 엔티티와 관련된 메시지 M의 무결성을 검증하기 위한 시스템에 있어서,
    상기 시스템은,
    - m개 쌍의 비밀값 Q1,Q2,...Qm및 공개값 G1,G2,...Gm(m은 1 이상임)
    - f개의 소인수 P1,P2,...Pf의 곱에 의해 구성된 공개 모듈러스 n(f는 2 이상임)
    - 공개지수 v
    를 포함하는 파라미터와 그 파라미터의 도함수(derivative)의 일부 또는 전부에 의해 확립되며,
    상기 모듈러스, 상기 지수 및 상기 값은 GiㆍQi v≡1ㆍmod n 또는 Gi ≡Qi vmod n 의 관계식에 의해 관련되고,
    상기 시스템은 특히, 예를 들어 마이크로 프로세서 기반 은행카드의 형태를 갖는 노매드 객체에 내장된 증거 장치를 포함하고,
    상기 증거 장치는
    - f개의 소인수 pi와 그 소인수의 차이니스 나머지의 파라미터와 공개 모듈러스 n과 상기 m개의 비밀값 Qi와 그 비밀값 Qi과 그 공개지수v의 fㆍm 개의 요소 Qi,j(Qi,j≡Qimod pj)중 적어도 하나를 갖는 메모리 영역을 포함하며,
    또한, 상기 증거 장치는,
    - 이하, 증거 장치의 랜덤값을 생성하기 위한 수단이라 하는 랜덤값 생성 수단과,
    - 이하, 증거 장치의 커미트먼트 R을 계산하기 위한 수단이라 하는, 정수 모듈로 n의 링에서 커미트먼트 R을 계산하기 위한 계산수단을 포함하고,
    상기 각 커미트먼트 R은 R ≡rvmod n의 연산을 실행하거나, Ri ≡ri vmod pi의 연산을 실행하고, 이어 차이니스 나머지 방법을 적용하여 계산하며, 여기서, r은 0 < r < n이 되는 랜덤값이며, ri은 0 < ri< pi이 되는, 소수 Pi와 관련된 랜덤값이고 상기 각 ri는 랜덤값의 콜렉션 {r1,r2,.....rf}에 속하고,
    또한, 상기 증거 장치는,
    - 이하, 증거 장치의 챌린지 d를 수신하기 위한 수단이라 하는, 하나 이상의 챌린지 d을 수신하고, 상기 각 챌린지 d는 m개의, 이하 초기 챌린지이라고 하는 정수 di를 포함하는 수신수단과,
    - 이하, 증거 장치의 레스펀스 D를 계산하기 위한 수단이라 하는, 각 챌린지 d에 기초하여 레스펀스 D를 식 Di≡riㆍQi,1 d1ㆍQi,2 d2...Qi,m dmmod pi의 연산을 실행함으로써 계산하고, 이어, 차이니스 나머지 방법을 적용하여 계산하기 위한 계산 수단을 포함하며,
    - 하나 이상의 상기 챌린지 d와 하나 이상의 상기 레스펀스 D를 전송하기 위한 전송수단을 포함하고,
    상기 레스펀스 D는 각 커미트먼트 R과 챌린지 R의 수와 동일한 수로 존재하며, 상기 R,d,D의 그룹은 {R,d,D}로 참조된 트리플릿을 형성하는 시스템.
  10. 제9항에 있어서,
    상기 시스템은,
    제어자라 하는 엔티티에게 증명자라 하는 엔티티의 인증성을 검증하기 위해 고안되며,
    상기 시스템은,
    - 상호 연결수단에 의해 상기 증거 장치와 서로 연결되며, 특히, 노매드 객체의 로직 마이크로 회로의 형태, 예를 들면 마이크로 프로세서 기반 은행카드의 마이크로 프로세서 형태를 갖는, 상기 증명자 엔티티와 관련된 증명자 장치와,
    - 특히, 터미널 또는 원격 서버의 형태이며, 전자적, 전자기적, 광학적 또는 음성학적으로 상기 증명자 장치와 연결하기 위한 연결수단, 특히, 데이터프로세싱통신 네트워크와 같은 연결수단을 포함하는, 상기 제어자 엔티티와 관련된 제어자 장치를 포함하도록 이루어지고,
    상기 시스템은,
    ㆍ제1 단계: 커미트먼트 R의 동작
    각 호출시에, 증거장치의 커미트먼트 R 계산수단은 상기 제1항에 기재된 절차를 적용하여 각각의 커미트먼트 R을 계산하고, 상기 증거 장치는 상기 상호연결수단을 통해 증명자 장치에 상기 각각의 커미트먼트 R의 일부 또는 전부를 전송하기 위한 전송수단 - 이하, 증거장치의 전송수단이라 함 - 을 가지며,
    상기 증명자 장치는 상기 연결수단을 통해 상기 제어자 장치에 상기 각각의 커미트먼트 R의 일부 또는 전부를 전송하기 위한 전송수단 - 이하, 증명자장치의 전송수단이라 함 - 을 갖는다.
    ㆍ제2 단계: 챌린지 d의 동작
    상기 제어자 장치는 상기 각 커미트먼트 R의 일부 또는 전부를 수신한 후에 그 커미트먼트 R의 수와 동일한 수로 챌린지 d를 생성하기 위한 챌린지 생성수단을 포함하며,
    또한, 상기 제어자 장치는 상기 연결수단을 통해 상기 증명자에 챌린지 d를 전송하기 위한 전송수단 - 이하, 제어자의 전송수단이라 함 - 을 포함한다.
    ㆍ제3 단계: 레스펀스 D의 동작
    상기 증거 장치의 챌린지 d 수신수단은 상기 상호연결수단을 통해 상기 증명자 장치로부터 들어오는 각각의 챌린지 d를 수신하며,
    상기 증거 장치의 레스펀스 D 계산수단은 상기 제1항에 기재된 절차를 적용하여 상기 챌린지 d로부터 상기 레스펀스 D를 계산한다.
    ㆍ제4 단계: 검사 동작
    상기 증명자의 전송수단은 각 레스펀스 D를 상기 제어자에게 전송하고,
    또한, 상기 제어자 장치는
    - 이하, 제어자 장치의 계산수단이라 하는 계산 수단과,
    - 이하, 제어자 장치의 비교수단이라 하는 비교 수단을 포함한다.
    이상의 단계를 실행할 수 있고.
    증명자가 각 커미트먼트 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'을 비교하며,
    증명자가 각 커미트먼트 R의 전부를 전송하였을 경우.
    상기 증명자의 전송수단이 각 커미트먼트 R의 전부를 전송하였다면, m개의 공개값 G1, G2...Gm을 갖는 상기 제어자 장치의 계산수단 및 비교수단은 각 커미트먼트 R이 R ≡G1 d1ㆍG2 d2...Gm dmㆍDvmod n 의 식, 또는 R ≡Dv/G1 d1ㆍG2 d2...Gm dm.mod n의 식을 만족하는지를 확인하는 시스템.
  11. 제9항에 있어서,
    상기 시스템은 제어자 엔티티로 알려진 엔티티에게 증명자 엔티티라 하는 엔티티와 관련된 메시지 M의 무결성을 검증하기 위해 고안되며,
    상기 시스템은
    - 상호연결수단에 의해 상기 증거 장치와 서로 연결되고, 노매드 객체의 로직 마이크로 회로의 형태, 예를 들면 마이크로 프로세서 기반 은행카드의 마이크로 프로세서의 형태를 가질 수 있는, 상기 증명자 엔티티와 관련된 증명자장치와,
    - 특히, 터미널 또는 원격 서버의 형태이며, 전자적, 전자기적, 광학적 또는 음성학적으로 상기 증명자 장치와 연결하기 위한 연결수단, 특히, 데이터프로세싱 통신 네트워크와 같은 연결수단을 포함하는, 상기 제어자 엔티티와 관련된 제어자 장치를 포함하도록 이루어지며,
    상기 시스템은 다음 단계를 실행할 수 있고,
    ㆍ제1 단계: 커미트먼트 R의 동작
    각 호출시에, 상기 증거 장치의 커미트먼트R 계산수단은 상기 제1항에 기재된 절차를 적용하여 각 커미트먼트 R을 계산하고, 상기 증거 장치는 상기 상호연결수단을 통해 상기 증명자 장치에 상기 각 커미트먼트 R의 일부 또는 전부를 전송하기 위한 전송수단 - 이하, 증거장치의 전송수단이라 함 - 을 구비한다.
    ㆍ제2 단계: 챌린지 d의 동작
    상기 증명자 장치는 그 인수가 메시지 M과, 각 커미트먼트 R의 모두 또는 일부인 해싱 함수 h를 적용하여 적어도 하나의 토큰 T를 계산하기 위한 계산수단 - 이하, 증명자의 계산수단이라 함 - 을 포함하고,
    또한, 상기 증명자 장치는 상기 연결수단을 통해 상기 제어자 장치에 상기 각 토큰 T를 전송하기 위한 전송수단 - 이하, 상기 증명자 장치의 전송수단이라 함 - 을 포함하며,
    나아가, 상기 제어자 장치는 상기 토큰 T를 수신한 후에 커미트먼트 R의 수와 동일한 수로 챌린지 d를 생성하기 위한 챌린지 생성수단을 포함하고,
    또한, 상기 제어자 장치는 상기 연결수단을 통해 상기 증명자에 챌린지 d를 전송하기 위한 전송수단 - 이하, 제어자의 전송수단이라 함 - 을 포함한다.
    ㆍ제3 단계: 레스펀스 D의 동작
    상기 증거장치의 챌린지 d 수신수단은 상기 상호연결수단을 통해 증명자 장치로부터 들어오는 각각의 챌린지 d를 수신한다. 상기 증거 장치의 레스펀스 D 계산수단은 제1항에 기재된 절차를 적용하여 상기 챌린지 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와 비교하기 위한 비교 수단 - 이하, 제어자 장치의 비교수단이라 함 - 을 포함하는 시스템.
  12. 제9항에 있어서,
    상기 시스템은 서명 엔티티(signing entity)라 하는 엔티티에 의해 메시지 M - 이하, 서명된 메시지라 함 - 의 디지털 서명을 검증하도록 고안되며,
    상기 서명 메시지는,
    - 메시지 M,
    - 챌린지 d 및(또는) 커미트먼트 R,
    - 레스펀스 D 를 포함하고,
    서명 연산
    상기 시스템은,
    상호연결수단에 의해 상기 증거 장치와 서로 연결되고, 특히, 노매드 객체의 로직 마이크로 회로 형태, 예를 들면 마이크로 프로세서 기반 은행카드의 마이크로 프로세서 형태일 수 있는, 상기 서명자 엔티티와 관련된 서명 장치(signing device)를 포함하도록 이루어지며,
    상기 시스템은,
    ㆍ제1 단계: 커미트먼트 R의 동작
    각 호출시에, 상기 증거 장치의 커미트먼트 R 계산수단은 상기 제1항에 기재된 절차를 적용하여 각 커미트먼트 R을 계산하고, 상기 증거 장치는 상기 상호연결수단을 통해 증명자 장치에 상기 각 커미트먼트 R의 일부 또는 전부를 전송하기 위한 전송수단 - 이하, 증거장치의 전송수단이라 함 - 을 갖는다.
    ㆍ제2 단계: 챌린지 d의 동작
    상기 서명 장치는, 그 인수가 메시지 M과 상기 각 커미트먼트 R의 모두 또는 일부인 해싱 함수 h를 적용하여 이진 트레인을 계산하고, 그 이진 트레인으로부터 커미트먼트 R의 수와 동일한 수로 챌린지 d를 추출하기 위한 계산수단 - 이하, 서명 장치의 계산수단이라 함 - 을 포함한다.
    ㆍ제3 단계: 레스펀스 D의 동작
    상기 증거장치의 챌린지 d 수신수단은 상기 상호연결수단을 통해 상기 증명자 장치로부터 들어오는 상기 각 챌린지 d를 수신하고, 상기 증거 장치의 레스펀스 D 계산수단은 상기 제1항에 기재된 절차를 적용하여 상기 챌린지 d로부터 상기 레스펀스 D를 계산하며, 상기 증거 장치는 상기 상호연결수단을 통해 상기 서명장치에 상기 레스펀스 D를 전송하기 위해 전송수단을 포함한다.
    이상의 단계를 실행할 수 있는 시스템.
  13. 제11항에 있어서,
    상기 시스템은 제어자로 알려진 엔티티가 상기 서명된 메시지를 검사함으로써 상기 메시지 M의 인증성을 검증하기 위해 고안되며,
    상기 시스템은
    특히, 터미널 또는 원격 서버의 형태이며, 전자적, 전자기적, 광학적 또는 음성학적으로 상기 증명자 장치와 연결하기 위한 연결수단, 특히, 데이터프로세싱 통신 네트워크와 같은 연결수단을 구비한, 상기 제어자 엔티티와 관련된 제어자 장치와,
    상기 서명 엔티티와 관련된 서명 장치는,
    상기 연결수단을 통해 서명된 메시지를 상기 제어자 장치에 전송하기 위한 전송수단 - 이하, 서명 장치의 전송수단이라 함 - 을 포함하고, 이로써, 상기 제어자 장치는
    - 메시지 M,
    - 챌린지 d 및(또는) 커미트먼트 R,
    - 레스펀스 D 를 포함하는 서명된 메시지를 갖게 되며,
    상기 제어자 장치는,
    계산 수단 - 이하, 제어자 장치의 계산수단이라 함 - 과,
    비교 수단 - 이하, 제어자 장치의 비교수단이라 함 - 을 포함하며,
    ㆍ 제어자 장치가 커미트먼트 R, 챌린지 d, 레스펀스 D를 가질 경우.
    상기 제어자 장치가 커미트먼트 R, 챌린지 d 및 레스펀스 D를 갖는다면, 상기 제어자 장치의 계산수단 및 비교수단은 상기 커미트먼트 R, 챌린지 d, 레스펀스 D가 R ≡G1 d1ㆍG2 d2...Gm dmㆍDvmod n 의 식, 또는 R ≡Dv/G1 d1ㆍG2 d2...Gm dmㆍmod n의 식을 만족하는지를 확인하며,
    이어, 상기 제어자 장치의 계산수단 및 비교수단은 메시지 M, 챌린지 d 및 커미트먼트 R이 해싱함수 d = h(M, R)을 만족하는지를 확인하고,
    ㆍ 제어자 장치가 챌린지 d와 레스펀스 D를 가질 경우.
    상기 제어자 장치가 챌린지 d, 레스펀스 D를 갖는다면, 상기 제어자의 계산수단은 상기 각 챌린지 d와 레스펀스 D에 기초하여, R' ≡G1 d1ㆍG2 d2...Gm dmㆍDvmod n 의 식, 또는 R' ≡Dv/G1 d1ㆍG2 d2...Gm dm.mod n의 식을 만족하는 커미트먼트 R'을 재구성하고,
    이어, 상기 제어자 장치의 계산수단 및 비교수단은 상기 메시지 M 및 챌린지 d가 해싱함수 d = h(M, R')을 만족하는지를 확인하며,
    ㆍ 제어자 장치가 커미트먼트 R와 레스펀스 D를 가질 경우.
    상기 제어자 장치가 커미트먼트 R와 레스펀스 D를 갖는다면, 상기 제어자 장치의 계산수단은 해싱함수 d' = h(M, 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의 식을 만족하는지를 확인하는 시스템.
  14. 제9항 내지 제13항 중 어느 항에 있어서,
    상기 시스템은,
    상기 비밀값 Qi의 요소 Qi,1, Qi,2...Qi,f가 상기 인수 pj,각각에 대한 하나의 요소 Qi,j(Qi,j≡Qimod pj)의 비율로 불규칙하게 발행되는 수가 되도록 하고, 상기 비밀값 Qi는 상기 차이니스 나머지 방법에 의해 상기 요소 Qi,1, Qi,2...Qi,f로부터 계산될 수 있으며,
    상기 공개값 Gi은 식 Gi.j ≡Qi.j vmod pj의 연산을 실행하고, 이어 GiㆍQi v≡1ㆍmod n 의 식 또는 Gi ≡Qi vmod n 의 식이 되도록 하는 Gi를 확립하기 위해 차이니스 나머지 방법을 적용함으로써 계산하는 시스템.
  15. 제14항에 있어서,
    상기 공개 검증 지수 v가 소수인 시스템.
  16. 제9항 내지 제13항 중 어느 항에 있어서,
    상기 지수 v는 v=2k가 되며, 여기서, k가 1보다 큰 보안 파라미터이고,
    상기 공개값 Gi는 f개의 소인수 P1,P2,...Pf보다 작은 기수 gi의 제곱 gi 2이며, 상기 기수 gi는, 두 식, x2≡gimod n 및 x2≡- gimod n이 정수 모듈로 n의 링에서 x로 풀 수 없게 하고, 식 xv≡gi 2mod n이 정수 모듈로 n의 링에서 x로 풀 수 있게 하는 시스템.
  17. 제어자 서버에게
    - 엔티티의 인증성 또는(및)
    - 상기 엔티티와 관련된 메시지 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 vmod n 의 식에 의해 연관되며,
    상기 단말기는 f개의 소인수 pi와 그 소인수의 차이니스 나머지의 파라미터와 공개 모듈러스 n과 상기 m개의 비밀값 Qi와 그 비밀값 Qi과 그 공개지수v의 fㆍm 개의 요소 Qi,j(Qi,j≡Qimod pj)중 적어도 하나를 갖는 메모리 영역을 갖는 증거 장치를 포함하며,
    또한, 상기 증거 장치는,
    랜덤값 생성 수단 - 이하, 증거 장치의 랜덤값을 생성하기 위한 수단이라 함 - 과,
    계산수단 - 이하, 증거 장치의 커미트먼트 R을 계산하기 위한 수단이라 함-
    을 포함하고,
    상기 계산수단은 정수 모듈로n의 링에서 커미트먼트 R을 계산하고, 상기 각커미트먼트 R은 Ri ≡ri vmod pi의 연산을 실행하고, 이어 차이니스 나머지 방법을 적용함으로써 계산되고, 여기서, r은 0 < r < n이 되는 랜덤값이며, ri은 0 < ri< pi이 되는, 소수 Pi와 관련된 랜덤값이고 상기 각 ri는 랜덤값의 콜렉션 {r1,r2,.....rf}에 속하며,
    또한, 상기 증거 장치는,
    하나 이상의 챌린지 d을 수신하고, 상기 각 챌린지 d는 m개의, 초기 챌린지라고도 하는 정수 di를 포함하는 수신수단 - 이하, 증거 장치의 챌린지 d 를 수신하기 위한 수단이라 함 - 과,
    상기 각 챌린지 d에 기초하여 레스펀스 D를 Di≡riㆍQi,1 d1ㆍQi,2 d2...Qi,m dmmod pi의 연산을 실행하고, 이어, 차이니스 나머지 방법을 적용함으로써 계산하기 위한 계산 수단 - 이하, 증거 장치의 레스펀스 D를 계산하기 위한 수단이라 함 - 과,
    상기 하나 이상의 커미트먼트 R과 하나 이상의 레스펀스 D를 전송하기 위한 전송수단을 포함하며,
    상기 레스펀스 D는 각 커미트먼트 R과 챌린지 d의 수와 동일한 수로 존재하고, 상기 R,d,D의 각 그룹은 {R,d,D}로 참조된 트리플릿을 형성하는 단말기 장치.
  18. 제17항에 있어서,
    상기 단말기 장치는
    증명자라 하는 엔티티의 인증성을 제어자라 하는 엔티티에게 검증하기 위해 고안되며,
    상기 단말기 장치는 상기 증명자 엔티티와 관련된 증명자 장치를 포함하도록 구성되며,
    상기 증명자 장치는,
    상호 연결수단에 의해 상기 증거 장치와 서로 연결되고, 특히, 노매드 객체에서 로직 마이크로 회로의 형태,, 예를 들면 마이크로 프로세서 기반 은행카드의 마이크로 프로세서의 형태일 수 있으며,
    또한, 상기 증명자 장치는
    전자적, 전자기적, 광학적 또는 음성학적으로 상기 제어자 엔티티와 관련된 제어자 장치와 연결하기 위한 연결수단, 특히, 데이터프로세싱 통신 네트워크와 같은 연결수단을 포함하며,특히, 상기 제어자 장치는 단말기 또는 원격 서버의 형태일 수 있고,
    상기 단말기 장치는,
    ㆍ제1 단계: 커미트먼트 R의 동작
    각 호출시에, 증거 장치의 커미트먼트 R 계산수단은 상기 제17항에 기재된 절차를 적용하여 상기 각각의 커미트먼트 R을 계산하고,
    상기 증거 장치는 상기 상호연결수단을 통해 상기 증명자 장치에 커미트먼트R의 일부 또는 전부를 전송하기 위한 전송수단 - 이하, 증거장치의 전송수단이라 함 - 을 가지며,
    또한, 상기 증명자 장치는 상기 연결수단을 통해 상기 제어자 장치에 커미트먼트 R의 일부 또는 전부를 전송하기 위한 전송수단 - 이하, 증명자 장치의 전송수단이라 함 - 을 갖는다.
    ㆍ제2 및 제3 단계: 챌린지 d의 동작, 레스펀스 D의 동작.
    상기 증거 장치의 챌린지 d 수신수단은 상기 제어자 장치와 상기 증명자 장치 사이의 연결수단과, 상기 증명자 장치와 상기 증거 장치 사이의 상호연결수단을 통해 증명자 장치로부터 들어오는 각각의 챌린지 d를 수신하고,
    상기 증거 장치의 레스펀스 D 계산수단은 상기 제17항에 기재된 절차를 적용하여 상기 챌린지 d로부터 상기 레스펀스 D를 계산한다.
    ㆍ제4 단계: 검사 동작
    상기 증명자의 전송수단은 각 레스펀스 D를 검사를 실행하는 제어자에게 전송한다.
    이상의 단계를 실행할 수 있는 단말기 장치.
  19. 제17항에 있어서,
    상기 단말기 장치는,
    제어자 엔티티로 알려진 엔티티에게 증명자 엔티티라 하는 엔티티와 관련된메시지 M의 무결성을 검증받기 위해 고안되며,
    상기 단말기 장치는 상기 증명자 엔티티와 관련된 증명자 장치를 포함하도록 구성되고, 상기 증명자 장치는 상호연결수단에 의해 상기 증거 장치와 서로 연결되며,
    상기 증명자 장치는, 특히 노매드 객체에서 로직 마이크로 회로의 형태, 예를 들면 마이크로 프로세서 기반 은행카드의 마이크로 프로세서의 형태일 수 있으며,
    상기 증명자 장치는 전자적, 전자기적, 광학적 또는 음성학적으로 상기 제어 엔티티와 관련된 제어자 장치와 연결하기 위한 연결수단, 특히, 데이터프로세싱 통신 네트워크와 같은 연결수단을 포함하고, 특히, 상기 제어자 장치는 터미널 또는 원격 서버의 형태일 수 있고,
    상기 단말기 장치는,
    ㆍ제1 단계: 커미트먼트 R의 동작
    각 호출시에, 상기 증거 장치의 커미트먼트R 계산수단은 상기 제17항에 기재된 절차를 적용하여 각 커미트먼트 R을 계산하고, 상기 증거 장치는 상기 상호연결수단을 통해 상기 증명자 장치에 상기 각 커미트먼트 R의 일부 또는 전부를 전송하기 위한 전송수단 - 이하, 증거장치의 전송수단이라 함 - 을 갖는다.
    ㆍ제2 및 제3 단계: 챌린지 d의 동작, 레스펀스 D의 동작
    상기 증명자 장치는 그 인수가 상기 메시지 M과, 각 커미트먼트 R의 모두 또는 일부인 해싱 함수 h를 적용하여 적어도 하나의 토큰 T를 계산하기 위한 계산수단 - 이하, 증명자의 계산수단이라 함 - 을 포함하며,
    또한, 상기 증명자 장치는 상기 연결수단을 통해 상기 제어자 장치에 상기 각 토큰 T를 전송하기 위한 전송수단 - 이하, 상기 증명자 장치의 전송수단이라 함 - 을 구비하며,
    상기 증거장치의 챌린지 d 수신수단은 상기 상호연결수단을 통해 상기 제어자 장치로부터 들어오는 상기 각 챌린지 d를 수신하고,
    상기 증거 장치의 레스펀스 D 계산수단은 상기 제17항에 기재된 절차를 적용하여 상기 챌린지 d로부터 상기 레스펀스 D를 계산한다.
    ㆍ제4 단계: 검사 동작
    상기 증명자의 전송수단은 검사를 실행하는 상기 제어자 장치에 각 레스펀스 D를 전송한다.
    이상의 단계를 실행하는데 사용되는 단말기 장치.
  20. 제17항에 있어서,
    상기 단말기 장치는,
    서명 엔티티라 하는 엔티티에 의해 메시지 M - 이하, 서명된 메시지라 함 - 의 디지털 서명을 검증하기 위해 고안되며,
    상기 서명된 메시지는,
    - 메시지 M,
    - 챌린지 d 및(또는) 커미트먼트 R,
    - 레스펀스 D 를 포함하고,
    상기 단말기 장치는 상기 서명자 엔티티와 관련된 서명 장치를 포함하도록 구성되며, 상기 서명 장치는 상호연결수단에 의해 상기 증거 장치와 서로 연결되고, 또한, 특히, 노매드 객체에서 로직 마이크로 회로의 형태, 예를 들면 마이크로 프로세서 기반 은행카드의 마이크로 프로세서 형태일 수 있으며,
    상기 증명자 장치는 전자적, 전자기적, 광학적 또는 음성학적으로 상기 제어자 엔티티와 관련된 제어자 장치와 연결하기 위한 연결수단, 특히, 데이터프로세싱 통신 네트워크와 같은 연결수단을 포함하며, 특히, 상기 제어자 장치는 터미널 또는 원격 서버의 형태이며,
    상기 단말기는,
    ㆍ제1 단계: 커미트먼트 R의 동작
    각 호출시에, 상기 증거 장치의 커미트먼트 R 계산수단은 상기 제17항에 기재된 절차를 적용하여 상기 각 커미트먼트 R을 계산하고, 상기 증거 장치는 상기 상호연결수단을 통해 상기 증명자 장치에 상기 각 커미트먼트 R의 일부 또는 전부를 전송하기 위한 전송수단 - 이하, 증거장치의 전송수단이라 함 - 을 갖는다.
    ㆍ제2 단계: 챌린지 d의 동작
    상기 서명 장치는, 그 인수가 상기 메시지 M과 각 커미트먼트 R의 모두 또는 일부인 해싱 함수 h를 적용하여 이진 트레인을 계산하고, 그 이진 트레인으로부터 커미트먼트 R의 수와 동일한 수로 챌린지 d를 추출하기 위한 계산수단 - 이하, 서명 장치의 계산수단이라 함 - 을 포함한다.
    ㆍ제3 단계: 레스펀스 D의 동작
    상기 증거 장치의 챌린지 d 수신수단은 상기 상호연결수단을 통해 상기 증명자 장치로부터 들어오는 상기 각 챌린지 d를 수신하고,
    상기 증거 장치의 레스펀스 D 계산수단은 상기 제9항에 기재된 절차를 적용하여 상기 챌린지 d로부터 상기 레스펀스 D를 계산하며,
    상기 증거 장치는 상기 상호연결수단을 통해 상기 레스펀스 D를 상기 서명 장치로 전송하기 위한 전송수단 - 이하, 증거 장치의 전송수단이라 함 - 을 포함한다.
    이상의 단계를 실행하는데 사용되는 단말기 장치.
  21. - 엔티티의 인증성 또는(및)
    - 상기 엔티티와 관련된 메시지 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 vmod n 의 관계식에 의해 연관되며,
    여기서, Qi는 상기 제어자 장치에게는 알려지지 않고 상기 공개값 Gi와 연관된 비밀값을 지정하는 제어자 장치.
  22. 제22항에 있어서,
    상기 제어자 장치는 제어자라하는 엔티티에게 증명자라 하는 엔티티의 인증성을 검증하기 위해 고안되며,
    상기 제어자 장치는 전자적, 전자기적, 광학적 또는 음성학적으로 상기 증명자 엔티티와 관련된 증명자 장치와 연결하기 위한 연결수단, 특히, 데이터프로세싱 통신 네트워크와 같은 연결수단을 포함하며,
    상기 제어자 장치는,
    ㆍ제1 및 제2 단계: 커미트먼트 R의 동작, 챌린지d의 동작
    상기 제어자 장치는 또한 상기 연결수단을 통해 상기 증명자 장치로부터 들어오는 커미트먼트 R의 일부 또는 전부를 수신하기 위한 수신수단을 가지며, 상기제어자 장치는 상기 각 증명자 R의 일부 또는 전부를 수신한 후에 상기 커미트먼트 R의 수와 동일한 수로 챌린지 d를 생성하기 위한 챌린지 생성수단을 포함하며, 상기 각 챌린지 d는 m개의, 초기 챌린지라 하는 정수 di를 포함하며,
    또한, 상기 제어자 장치는 상기 연결수단을 통해 상기 증명자에 상기 챌린지 d를 전송하기 위한 전송수단 - 이하, 제어자의 전송수단이라 함 - 을 포함한다.
    ㆍ제3 및 제4 단계: 레스펀스 D의 동작, 검사동작
    상기 제어자 장치는
    상기 상호연결수단을 통해 증명자 장치로부터 들어오는 레스펀스 D를 수신하기 위한 수신수단과,
    계산 수단 - 이하 제어자 장치의 계산수단이라 함 - 과,
    비교 수단 - 이하 제어자 장치의 비교수단이라 함 - 을 포함한다.
    이상의 단계를 실행하는데 사용되며,
    증명자가 각 커미트먼트 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'을 비교하며,
    증명자가 각 커미트먼트 R의 전부를 전송하였을 경우.
    상기 증명자의 전송수단이 각 커미트먼트 R의 전부를 전송하였다면, m개의 공개값 G1, G2...Gm을 갖는 상기 제어자 장치의 계산수단은 상기 각 커미트먼트 R이
    R ≡G1 d1ㆍG2 d2...Gm dmㆍDvmod n 의 식, 또는
    R ≡Dv/G1 d1ㆍG2 d2...Gm dmㆍmod n의 식을 만족하는지를 확인하는 제어자 장치.
  23. 제22항에 있어서,
    상기 제어자 장치는,
    제어자로 알려진 엔티티에게 증명자로 알려진 엔티티와 관련된 메시지 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' ≡G1 d1ㆍG2 d2...Gm dmㆍDvmod n, 또는 식 R' ≡Dv/G1 d1ㆍG2 d2...Gm dmㆍmod n가 만족되도록 계산하며, 이어 그 인수가 상기 메시지 M과 상기 각 재구성된 커미트먼트 R'의 모두 또는 일부인, 해싱 함수 h를 적용하여, 적어도 하나의 토큰 T'을 계산하기 위한 계산 수단 - 이하, 제어자 장치의 계산수단이라 함 - 을 포함하고,
    또한, 상기 제어자 장치는 상기 토큰 T'를 전송된 토큰 T와 비교하기 위한 비교 수단 - 이하, 제어자 장치의 비교수단이라 함 - 을 포함한다.
    이상의 단계를 실행할 수 있는 제어자 장치.
  24. 제22항에 있어서,
    상기 제어자 장치는,
    제어자라 하는 엔티티에 의해 서명된 메시지를 검사함으로써 메시지 M의 인증성을 검사하도록 고안되며,
    해싱 함수 h(M, R)을 갖는 서명엔티티와 관련된 서명 장치에 의해 전송된, 상기 서명된 메시지는,
    - 메시지 M,
    - 챌린지 d 및(또는) 커미트먼트 R,
    - 레스펀스 D 를 포함하며,
    상기 제어자 장치는,
    상기 서명엔티티와 관련있는 서명 장치에 전자적, 전자기적, 광학적 또는 음성학적으로 연결하기 위한 연결수단, 특히, 데이터프로세싱 통신 네트워크와 같은 연결수단을 포함하고,
    상기 제어자 장치는 상기 연결수단을 통해 서명장치로부터 서명된 메시지를 수신하며,
    상기 제어자 장치는
    계산 수단 - 이하, 제어자 장치의 계산수단이라 함 - 과,
    비교 수단 - 이하, 제어자 장치의 비교수단이라 함 - 을 포함하고,
    ㆍ 제어자 장치가 커미트먼트 R, 챌린지 d, 레스펀스 D를 가질 경우.
    상기 제어자 장치가 커미트먼트 R, 챌린지 d 및 레스펀스 D를 갖는다면, 상기 제어자 장치의 계산수단 및 비교수단은 상기 커미트먼트 R, 상기 챌린지 d, 상기 레스펀스 D가
    R ≡G1 d1ㆍG2 d2...Gm dmㆍDvmod n 의 식 또는
    R ≡Dv/G1 d1ㆍG2 d2...Gm dmㆍmod n의 식을 만족하는지를 확인하고,
    상기 제어자 장치의 계산수단 및 비교수단은 상기 메시지 M, 상기 챌린지 d 및 상기 커미트먼트 R이 해싱함수 d = h(M, R)을 만족하는지를 확인하고,
    ㆍ 제어자 장치가 챌린지 d와 레스펀스 D를 가질 경우.
    상기 제어자 장치가 챌린지 d, 레스펀스 D를 갖는다면, 상기 제어자의 계산수단은 상기 각 챌린지 d와 각 레스펀스 D에 기초하여,
    R' ≡G1 d1ㆍG2 d2...Gm dmㆍDvmod n 의 식, 또는
    R' ≡Dv/G1 d1ㆍG2 d2...Gm dmㆍmod n의 식을 만족하는 커미트먼트 R'을 계산하고,
    상기 제어자의 계산수단 및 비교수단은 상기 메시지 M 및 챌린지 d가 해싱함수 d = h(M, R')을 만족하는지를 확인하며,
    ㆍ 제어자가 커미트먼트 R와 레스펀스 D를 가질 경우.
    상기 제어자가 커미트먼트 R와 레스펀스 D를 갖는다면, 상기 제어자 장치의 계산수단은 해싱함수 d' = h(M, 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의 식을 만족하는지를 확인하는 제어자 장치.
KR1020017009492A 1999-01-27 2000-01-27 엔티티의 인증성, 메시지의 무결성 및/또는 인증성을검증하기 위한 방법, 시스템, 및 장치 KR20010108143A (ko)

Applications Claiming Priority (11)

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
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/12467 1999-10-01
FR99/12468 1999-10-01
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
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.
FR99/12465 1999-10-01
PCT/FR2000/000188 WO2000046946A2 (fr) 1999-01-27 2000-01-27 Procede, systeme, dispositif destines a prouver l'authenticite d'une entite et/ou l'integrite et/ou l'authenticite d'un message

Publications (1)

Publication Number Publication Date
KR20010108143A true KR20010108143A (ko) 2001-12-07

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 After (2)

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

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
AU622915B2 (en) * 1988-05-19 1992-04-30 Ncr Corporation 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
FR2788911A1 (fr) 2000-07-28
KR100676461B1 (ko) 2007-01-31
FR2788912B1 (fr) 2002-08-09
FR2788912A1 (fr) 2000-07-28
KR20010108142A (ko) 2001-12-07
KR20010108144A (ko) 2001-12-07
KR100676460B1 (ko) 2007-01-31
FR2824974A1 (fr) 2002-11-22
FR2788908B1 (fr) 2003-09-26
FR2788908A1 (fr) 2000-07-28
FR2824974B1 (fr) 2004-01-16

Similar Documents

Publication Publication Date Title
US4759064A (en) Blind unanticipated signature systems
Okamoto Provably secure and practical identification schemes and corresponding signature schemes
Brickell et al. Enhanced privacy ID: A direct anonymous attestation scheme with enhanced revocation capabilities
Gennaro et al. RSA-based undeniable signatures
US9882890B2 (en) Reissue of cryptographic credentials
WO2019180590A1 (en) Computer-implemented system and method for exchange of data
EP0803153A1 (en) Private signature and proof systems
US7313697B2 (en) Method for authentication
JP4809310B2 (ja) エンティティの真正性又はメッセージの完全性を証明するための方法、システム、デバイス
US6959085B1 (en) Secure user identification based on ring homomorphisms
JP3102692B2 (ja) カードの真性を証明する方法
JP4772965B2 (ja) エンティティの真正性および/またはメッセージの完全性を証明するための方法
Wu et al. Efficient partially blind signatures with provable security
US6978372B1 (en) Verification of correct exponentiation or other operations in cryptographic applications
KR20010108143A (ko) 엔티티의 인증성, 메시지의 무결성 및/또는 인증성을검증하기 위한 방법, 시스템, 및 장치
KR100844546B1 (ko) 엔티티의 진정성 또는 메시지의 무결성 검증방법, 시스템 및 장치
Schuldt et al. Efficient convertible undeniable signatures with delegatable verification
Yu et al. An online/offline signature scheme based on the strong rsa assumption
KR0137536B1 (ko) 자체인증 특성을 갖는 개인식별정보에 기반을 둔 비대화형 전자 서명 방법
Vaudenay Deniable RSA Signature: The Raise and Fall of Ali Baba
Eidens Anonymous Credential System based on the q-Strong Diffie-Hellman Assumption
Fiat et al. and Signature Problems
Nakanishi et al. An Unlinkable Divisible Electronic Cash Using Secure Proxy Computation for DL One-way Function

Legal Events

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