KR20060113685A - 물리적 랜덤 함수들을 함께 공유하는 신뢰성 있는 포워드비밀 키의 시스템 및 방법 - Google Patents

물리적 랜덤 함수들을 함께 공유하는 신뢰성 있는 포워드비밀 키의 시스템 및 방법 Download PDF

Info

Publication number
KR20060113685A
KR20060113685A KR1020067008416A KR20067008416A KR20060113685A KR 20060113685 A KR20060113685 A KR 20060113685A KR 1020067008416 A KR1020067008416 A KR 1020067008416A KR 20067008416 A KR20067008416 A KR 20067008416A KR 20060113685 A KR20060113685 A KR 20060113685A
Authority
KR
South Korea
Prior art keywords
secret key
communicator
symbols
response
sequence
Prior art date
Application number
KR1020067008416A
Other languages
English (en)
Inventor
마틴 이. 반 딕
Original Assignee
코닌클리케 필립스 일렉트로닉스 엔.브이.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 코닌클리케 필립스 일렉트로닉스 엔.브이. filed Critical 코닌클리케 필립스 일렉트로닉스 엔.브이.
Publication of KR20060113685A publication Critical patent/KR20060113685A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • H04L9/0847Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving identity based encryption [IBE] 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/08Randomization, e.g. dummy operations or using noise

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Error Detection And Correction (AREA)

Abstract

본 발명은 비밀 키 동의의 문제에 대해 안전한 해결책을 제공한다. 특히, 신뢰성 있는 포워드 비밀키 공유의 방법은 프로파일들이 충분히 부합하는 2명의 합법적 통신자들 사이에 관한 것이다. 본 발명은 비밀 키 동의 문제점에 대한 안전한 해결책을 제공하기 위해 PUF(physical unclonable function)로 때때로 언급되는 물리적 랜덤 함수에 의존한다. 일 실시예에 있어서, 원-패스 프로토콜(one-pass protocol)은 무조건적으로 안전한 해결책을 이끌어내는 리드-솔로몬 코드들(Reed-Solomon codes)에 기초하여 도입된다. 다른 실시예에 있어서, 제 1 실시예의 해결책은 함수들의 의사 랜덤 집합에 기초하여 조건적으로 안전한 해결책을 제공함으로써 향상된다. 또 다른 실시예에 있어서, 투-패스 프로토콜은 식별 및 인증의 목적들에 대해 배타적으로 사용되도록 도입된다. 투-패스 프로토콜의 원리들에 따라, 2개 통신들이 요구되며, 원-패스 프로토콜과는 다르게 제 2 통신자가 비밀 키 K를 선택한다.
비밀 키, 리드-솔로몬 코드, 원-패스 프로토콜, 투-패스 프로토콜, 코드워드, 패리티 심볼

Description

물리적 랜덤 함수들을 함께 공유하는 신뢰성 있는 포워드 비밀 키의 시스템 및 방법{System and method of reliable forward secret key sharing with physical random functions}
본 발명은 보안 시스템들 및 연관된 방법들, 특히 물리적 랜덤 함수들을 함께 공유하는 신뢰성 있는 비밀 키(secret key)의 시스템 및 방법에 관한 것이다.
정보의 보안 전달은 전자 통신 분야에서 중요한 목적이 되고 있다. 기밀성 및 보전성은 정보의 어떠한 형태들과 통신하기 위해 특히 중요하다. 이것은 예를 들어 민감한 정부 정보, 기업 정보, 및 의료 기록 정보와 같은 개인 정보를 포함할 수 있다. 암호화(encryption)를 활용하는 다양한 방식들은 전자 메세지들에 관한 보안 문제들에 접근하기 위해 개발되어 왔다.
1999년, 페이지 28 내지 36, 6차 ACM Conference on Computer and Communication Security, A. Juels 및 M. Wattenberg의 "퍼지 커미트먼트 방식(A fuzzy commitment scheme)"에 있어서, 원-패스 프로토콜(one-pass protocol)은 정보(즉, V+A)가 제 1 통신자로부터 제 2 통신자로 송신되는 것이 개시되어 있고, 여기서 V는 코드 워드(code word)이고 A는 길이(n) 모두의 (잡음) 응답이다. 이러한 프로토콜은 그것이 n개 심볼들의 최소의 통신을 요구하고, 적절히 작동하도록 에러 정정 디코딩 알고리즘(error correcting decoding algorithm)을 추가로 필요로 한다는 점에서 불리하다.
2002년, 페이지 408, Proceedings of the 2002 IEEE International Symposium on Information Theory, A. Juels 및 M. Sudan의 "퍼지 볼트 방식(A fussy vault scheme)"에 있어서, 원-패스 프로토콜은 제 1 통신자 앨리스(Alice)가 포인트들(a_i, p(a_i))을 계산하는 것이 개시되어 있고, 여기서 p(.)는 다항식이며 K=p(0)는 비밀 키이다. 앨리스는 (a_i 것 중의 어떠한 것과도 같지 않고 별개인 xi의 것과 함께) 많은 랜덤 포인트들(xi, yi)을 통해 인터리빙되는 랜덤 순서에 따라 이러한 포인트들을 송신한다. (사이즈(22)의 세트들에 대한 104의 차수에 대한) 랜덤 포인트들은 포스트 무작위화(post randomization)로 언급되는 것을 표현한다. 이러한 것들은 다항식 p(.)에 대해 어태커(attacker) 이브(Eve)를 확실하지 않게 유지하여 보안을 보장하도록 필요로 된다. 제 2 통신자 밥(Bob; 18)은 에러들 및 삭제들(errors-and-erasures) RS 디코딩 알고리즘을 사용함으로써 p(.)를 재구성할 수 있다. 이러한 원-패스 프로토콜은 투-패스 프로토콜(two-pass protocol)과 같이 순서화되지 않은 세트들에 대해 작동한다. 이러한 방법은 포스트 무작위화의 프로세스 결과로 나타나는 믿을 수 없이 큰 통신 비용으로 인해 불리하다.
1993년, 페이지 733 내지 742, IEEE Trans. on Information, U.M. Maurer의 "공통 정보로부터 대중적 논의에 의한 비밀 키 동의(Secret key agreement by public discussion from common information)""에서는 제 1 통신자 앨리스 및 제 2 통신자 밥 사이의 거리를 그들 사이의 상호 정보(I(A;B))와 같이 규정하고 있다. 이러한 문서에 있어서, 위성은 어태커, 이브뿐만 아니라 각각의 통신자들 앨리스 및 밥이 랜덤 바이너리 스트링 X(random binary string X)의 잡음 버전들을 수신하는 경우 랜덤 바이너리 스트링(X)을 방송한다. 유리한 제거 단계, 조정 단계, 및 비밀 증폭 단계를 포함하는 다양한 단계들로 부 분할(sub-divide)되는 멀티 패스 프로토콜들(multi-pass protocol)은 비밀 키를 공유할 목적으로 기술되어 있다. 이러한 방식의 단점은 멀티 패스 프로토콜이 두 통신자들, 앨리스 및 밥 사이에서 다중 통신 단계들을 포함한다는 것이다.
그러므로, 최소 통신 비용들을 제공하여 그에 의해 종래 기술의 상기 언급된 단점들을 극복하는 단순화된 프로토콜이 필요로 된다.
본 발명은 비밀 키 동의의 문제에 대해 안전한 해결책을 제공한다. 본 발명은 프로파일들이 충분히 부합하는 두 합법적 통신자들 사이에서 공유하는 신뢰성 있는 포워드 비밀 키(reliable forward secret key)의 문제를 취급한다. 본 발명은 비밀 키 동의의 문제에 대해 안전한 해결책을 제공하도록 PUF(physical unclonable function)로 때때로 언급되는 물리적 랜덤 함수에 의존한다.
일 실시예에 있어서, 원-패스 프로토콜은 무조건적으로 안전한 해결책을 나타내는 리드-솔로몬 코드들(Reed-Solomon codes)에 기초하여 도입된다.
다른 실시예에 있어서, 상기 제 1 실시예의 해결책이 함수들의 의사 랜덤 집합에 기초하여 조건적으로 안전한 해결책을 제공함으로 향상된다.
또 다른 실시예에 있어서, 투-패스 프로토콜은 식별 및 인증의 목적들을 위해 배타적으로 사용되는 것으로 도입된다. 투-패스 프로토콜의 원리들에 따라, 2개 통신들이 요구되고 원-패스 프로토콜과 달리, 제 2 통신자는 비밀 키 K를 선택한다.
각각의 다양한 실시예들에 있어서, 보안성 및 견고성이 상대의 존재에 따라 동시에 달성되는 경우 효율적인 해결책을 디자인하는 것이 목표이다. 추가적인 목표는 공중 통신 채널의 사용을 최소화하는 것이다. 각각의 다양한 실시예들에서 예시된 바와 같이, 본 발명의 주요 특징은 보안이 계산적으로 어려운 문제에 기초한다는 것이다.
본 발명의 이전 특징들은 첨부하는 도면들과 관련하는 본 발명의 예시적인 실시예의 다음의 상세한 기술을 참조하여 보다 명백히 이해될 것이다.
도 1은 본 발명의 실시예에 따라 원-패스 프로토콜을 예시하는 암호 시스템(cryotpgraphic system)을 도시하는 도면.
도 2a 및 도 2b는 본 발명의 실시예에 따라 원-패스 프로토콜의 팩터 2 향상을 예시하는 가우시안 확률 곡선들을 도시하는 도면.
도 3은 본 발명의 또 다른 실시예에 따라 원-패스 프로토콜을 예시하는 암호 시스템을 도시하는 도면.
도 4는 본 발명의 또 다른 실시예에 따라 투-패스 프로토콜을 예시하는 암호 시스템을 도시하는 도면.
도 5는 본 발명의 실시예에 따라 스마트-카드 애플리케이션을 예시하는 암호 시스템을 도시하는 도면.
도 6은 본 발명의 실시예에 따라 바이오메트릭 애플리케이션(biometric application)을 예시하는 암호 시스템을 도시하는 도면.
다음의 세부적인 기술이 예시의 목적을 위해 많은 특정한 것들을 포함할지라도, 당업자는 다음의 기술에 따른 많은 변경들 및 대안들이 본 발명의 범위 내에 있다는 것을 이해할 것이다.
따라서, 본 발명의 다음의 양호한 실시예는 첨부된 특허청구범위에서의 어떠한 일반성도 손실하지 않고 그에 대한 제한들을 의미하지 않으며 설명되어 있다.
여기서, 도 1을 참조하면, 암호 시스템은 참조 번호(100)에 의해 일반적으로 도시된다. 앨리스(16) 및 밥(18)으로 언급되는 한 쌍의 통신자들(16, 18)은 네트워크(22)를 통해 통신한다. 각각의 통신자들(16, 18)은 산술 논리 유닛(ALU)(32, 42)을 갖는다. 상기 ALU는 암호 유닛을 통해 본 발명의 암호 프로토콜들을 구현하는 범용 컴퓨터일 수 있다. 소스 P(20)는 소스를 생성하는 일반적 심볼로 가정된다.
등록 단계 동안, 앨리스(16)는 소스 P(20)로 챌린지 C를 보내고 소스 P(20)로부터 응답 A를 수신한다. 챌린지-응답 방식(challenge-response scheme)은 예를 들어 앨리스(16)에 의해 생성된 주어진 값(챌린지(challenge))이 챌린지-응답 쌍(C, A)으로 본 기술 분야에서 공통으로 언급되는 소스 P(20)에 의해 생성되는 값( 응답)에 의해 응답된다. 유사하게는, 밥(18)은 소스 P(20)로 동일한 챌린지 C를 보내고 소스 P(20), 또는 (C, B)로부터 응답 B를 수신한다. 응답 A 및 B가 동일한 챌린지 C의 잡음 버전들에 대응한다는 것에 주의한다.
소스 P(20)로부터 앨리스(16)에 의해 수신되는 심볼-시퀀스 A는,
A=(a1,......an) (1)
로 쓰여질 수 있다.
밥(Bob)(18)에 의해 수신되는 심볼 시퀀스 B는,
B=(b1,......,bn) (2)
로 쓰여질 수 있다.
소스 P(20)로부터 어태커, 이브(Eve; 17)에 의해 수신되는 심볼 시퀀스 E는,
E=(e1,.......en) (3)
로 쓰여질 수 있다.
비밀 키 공유 프로토콜(secret key sharing protocol)은 앨리스(16)가 무작위로 선택된 비밀 키 K를 밥(18)과 공유할 수 있는 것이 바람직하다. 이것은 밥(18)에 의해 수신되는 심볼 시퀀스 B가 앨리스(16)에 의해 수신되는 심볼 시퀀스에 충분히 근접하도록 결정되는 경우 달성될 수 있다.
어떠한 두 개의 코드들 또는 심볼 시퀀스들(예로써, A 및 B) 사이의 거리를 기술하는 표준 측정은 n 비트 (또는 심볼) 코드들의 어떠한 쌍에 대해 비트들(또는 심볼들)이 서로 다른 포지션들의 수를 단순히 세는 해밍 거리(Hamming distance)를 계산하는 것이다. 따라서, 11110000 및 01110001은 그것들이 그것들의 처음 및 마지막 포지션들에서 서로 다르기 때문에 2의 해밍 거리를 가질 것이다.심볼 시퀀스들 A 및 B 사이의 해밍 거리는,
dH(A,B) = |{i: ai ≠ bi}| (4)
로 쓰여질 수 있다.
에러 정정 이론의 기초는 어떠한 2개 코드들 사이의 거리가 규정될 수 있는 경우 n 비트 코드들이 n 차원 공간을 형성한다는 개념이다. 거리를 기술하는 표준 방법이 해밍 거리이다. 심볼 시퀀스들 A 및 B 사이의 해밍 거리 dH(A,B)가 어떠한 문턱값 tk보다 작은 경우,
dH(A,B) < tk, (5)
그에 따라, 앨리스(16) 및 밥(18)은 비밀 키 K를 공유할 것이다. 해밍 거리가 문턱값 tk보다 작을 때마다, 그에 따라 앨리스(16) 및 밥(18)에 의해 수신되는 심볼 시퀀스들 A 및 B는 각각 소스 P(20)에 고유한 노이즈에 대해 보상할 수 있고, 2개 심볼 시퀀스들 A 및 B 사이에서 그것들 사이에 비밀 키 K를 공유할 수 있도록 에러들을 정정할 수 있다.
바람직한 키 공유 프로토콜은 앨리스(16)가 성공적으로 비밀 키 K를 공유하는 어떠한 사람이 심볼 시퀀스 A에 근접한 심볼 시퀀스를 알고 있다는 것을 그녀가 알고 있고, 밥(18)과 비밀키를 성공적으로 공유하는 어떠한 사람이 심볼 시퀀스 B 에 근접한 심볼 시퀀스를 인식한다는 것을 그가 알고 있다는 의미로 신빙성을 제공해야 한다.
바람직한 키 공유 프로토콜은 어떠한 문턱값 ti보다 더 큰 해밍 거리 dH(A, E)를 갖는 대중적으로 송신된 정보 I 및 심볼 시퀀스 E만을 알고 있는 어태커 이브(17)와 같은 어떠한 다른 사람이 오직 비밀 키 K에 대한 정보의 무시할 수 있는 양을 획득한다는 의미로 보안성을 제공해야 한다.
앨리스(16) 및 이브(17) 사이의 해밍 거리를,
dH(A, E) = |{i:ai ≠ ei}| (6)
로 정의한다.
문턱 기준은,
dH(A, E) > ti (7)
로 명시될 수 있고, 여기서 문턱값 ti > tk 이다.
원-패스 프로토콜(제 1 실시예 )
바람직한 신빙성 및 보안성 모두를 제공하는 하나의 프로토콜은 앨리스(16) 및 밥(18)이 오직 한 번만 비밀 키 K를 공유하기 위해 공중 채널을 이용하기 때문에, "원 패스" 프로토콜로 본 명세서에서 언급된다. 원-패스 프로토콜들은 그것들이 공중 통신 채널(22)의 사용을 최소화한다는 의미에서 바람직하다. 원-패스 프로토콜에 따라, 제 1 통신자(앨리스(16))는 제 2 통신자(밥(18))과 공유되기 위한 무작위로 선택된 비밀 키 K를 생성한다.
도 1을 계속해서 참조하면, 원-패스 프로토콜이 제 1 실시예에 따라 구현될 수 있는 방법을 정의하기 위해, 소스 P(20)가 그들의 각각의 챌린지-응답 세션들(C, A), (C, B), 및 (C, E)의 일부로 각각 앨리스(16), 밥(18), 및 이브(17)에게 응답들 A, B, 및 C를 초기에 제시한다고 가정한다. 앨리스(16) 및 밥(18)이 그들의 각각의 응답들을 수신하자마자, 앨리스(16) 및 밥(18)은 그들이 공중 채널을 통해 민감한 데이터를 교환하기 위해 원시적 암호 기법으로 비밀 키 K를 이용하도록 허용하기 위해 함께 비밀 키 K를 공유하기 원하는 것으로 가정한다.
그러나, 공중 채널(22)을 통해 앨리스(16) 및 밥(18) 사이의 어떠한 통신도 물리적 시스템 P(20)를 모델링하여 비밀 키 K를 절취하려 시도하는 어태커 이브(17)와 통신될 수도 있다는 것에 주의해야 한다.
2가지 요구물들이 상기로부터 다시 언급되어 있다. 첫째로, 소스 P(20)로부터 앨리스(16) 및 밥(18)으로의 응답이 충분히 근접한 경우, 그들은 비밀 키 K를 공유할 수 있다. 즉, 해밍 거리 dH(A, B)가 어떠한 문턱값 tk보다 작은 경우(방정식 4 참조), 그들은 비밀 키 K를 공유할 수 있다. 둘째로, 어태커 이브(17) 및 앨리스(16)로의 소스 P(20)에 의한 응답들이 충분히 멀리 떨어져 있는 경우, 그에 따라 원-패스 프로토콜은 안전해야 한다. 즉, 해밍 거리 dH(A, E)가 어떠한 문턱값 ti보다 더 큰 경우(방정식 5 참조), 원-패스 프로토콜은 안전해야 한다.
상기된 바와 같이, 앨리스(16)는 비밀 키 K가,
K = (K1,.........Kk) (8)
로 쓰여질 수 있는 경우, 그녀가 밥(18)과 선택한 랜덤 비밀 키 K를 공유하기 원한다.
제 1 실시예에 따라, 앨리스(16) 및 밥(18)은 어태커 이브(17)가 동일한 잉여 정보를 수신하는 경우, 그것이 비밀 키 K에 대한 정보를 생성하는데 그녀를 돕지 않을 것과 같이 밥(18)이 비밀 키 K를 생성할 수 있는 방식으로 앨리스(16)가 밥(18)에게 잉여 정보 I(redundant information I)를 송신하는 원-패스 프로토콜을 이용하여 비밀 키 K를 공유할 수 있을 것이다.
제 1 실시예에 따른 바람직한 원-패스 프로토콜은 다음에 따라 기술되는 인코딩 단계 및 디코딩 단계로 구성된다.
인코딩 단계
인코딩 단계에 있어서, 앨리스(16)는 비밀 키 K=(K1,......Kk)를 선택하여,
W = (K1,....., Kk, a1,......an, p1,......,pd -1) (9)
로 쓰여질 수 있는 리드-솔로몬 코드 워드 W로 A = (a1,.....an)에 따라 비밀 키 K를 인코딩한다. 이것은 출력으로,
P = (p1,......pd -1) (10)
d-1 패리티 심볼들 P를 나타낸다.
그것들은 잉여 심볼들(즉, 잉여 정보 I)로 고려된다. d-1 패리티 심볼들 P는 제 1 통신자 앨리스(16)로부터 송신되는 비밀 키 K를 재구성하기 위한 능력을 제 2 통신자(예로써, 밥(18))에게 제공하기 위해 삭제들 및 에러들을 정정하기 위한 코드에 따라 특정 최소 거리를 생성하도록 도입된다. 방정식(10)의 패리티 심볼들 P는 그것들이 노이즈에 대해 정정하기 위해 추가적인 코딩 레이어를 구현하는 공중 채널(22)을 통해 송신되기 때문에 에러 상태에 있지 않은 것으로 가정된다는 것에 주의한다.
방정식(9)의 리드-솔로몬 코드워드 W는 길이 [n+k+(d-1)], 차원 [n+k], 및
[n + k + d - 1, n + k, d] (11)
로 공통으로 쓰여지는 d의 최소 거리를 갖는다.
공지된 바와 같이, 어떠한 (n+k) 포지션들이 정보 세트를 형성한다는 것을 의미하는 리드-솔로몬 코드는 체계적이다. d-1 삭제들의 어떠한 세트(즉, 어떠한 엔트리도 수신 또는 계산되지 않는 포지션들)가 정정될 수 있다는 것을 의미하는 최소 거리는 d이다. 이것은 또한 삭제 아닌 포지션들이 정보 세트를 형성한다는 사실에 따른다.
본 발명의 주요 특징은 단지 (d-1) 패리티 심볼들 P만이 본 발명의 원-패스 프로토콜에 따라 밥(18)에 의해 비밀 키 K의 재구성을 허가하도록 공중 통신 채널(22)을 통해 앨리스(16)로부터 밥(18)으로 송신된다는 것이다. (d-1) 패리티 심볼들 P는 본 실시예에서 잉여 정보 I로 고려된다. 반대로, 종래 기술은 공중 채널(22)을 통해 응답 벡터 A와 전체 리드-솔로몬 코드워드 V의 벡터 합 V+A를 송신함으로써 더 높은 통신 비용을 포함하며, 여기서 V 및 A는 길이 n을 갖고 V는,
V = (K1,....,Kk, R1,...,R(n-k-d+1),p1,...,p(d-1))M (12)
로 쓰여질 수 있고, Ri's는 무작위로 선택된 심볼들이며 M은 대중적으로 이용가능한 랜덤 가역 행렬이다.
디코딩 단계
밥(18)은 공중 채널(22)을 통해 앨리스(16)에 의해 잉여 정보 I로 송신되는 패리티 심볼들 P=(p1,......pd -1)을 수신하고, 비밀 키 K를 결정하기 위해 W를 재구성하도록 리드 솔로몬 디코딩을 수행한다.
코드워드 W를 재구성하기 위해, 밥(18)은 다음의 n 포지션들에서 (챌린지-응답 쌍(C, B))로부터) 심볼 시퀀스 B와 마지막 (d-1) 포지션들에서 패리티 심볼들 P 이전에 제 1 k 포지션들에서 의문 부호들을 포함하는 워드 W를 구성함으로써 리드 솔로몬 디코딩을 수행한다.
W' = (?1,,,,,,,?k, b1,....bn, p1,....pd -1) (13)
워드 W'에서 각각의 k개 의문 부호들은 삭제를 표현한다. 삭제들은 공중 채널을 통해 앨리스(16)로부터 패리티 심볼들 P를 수신할 시에 밥(18)이 비밀 키 K를 포함하는 심볼들을 모르고 이러한 k개의 알려지지 않은 심볼들에 대한 삭제들을 이용하기 때문에, 워드 W'의 이러한 제 1 k 포지션들에 대해 공급된다.
본 발명의 주요 특징은 앨리스(16)로부터 밥(18)으로 공중 채널을 통해 오직 잉여 정보 I(즉, (d-1) 패리티 심볼들 P)만을 송신하는 것이 비밀 키 K를 밥(18)이 추출하거나 결정하도록 허용하기 위한 가능성의 높은 정도를 통해 충분하다는 것이다. 이것은 상기 논의된 바와 같이 n개 심볼들을 송신하는 종래 기술과는 명확히 대조적이다.
밥(18)에 의해 구성되는 워드 W'에서 b1 내지 bn의 B의 포지션들 중 어떠한 것이 에러 상태에 있을 수 있다는 것에 주의해야 한다. 그러나, 이러한 에러들의 포지션들은 밥(18)에게 알려지지 않는다.
앨리스(16)에 의해 송신되는 코드 워드 W와 비교하여 요약하기 위해, 밥의 구성된 워드 W'는,
* 제 1 k 포지션들에서 의문 부호들로 표현되는 k개 삭제들과,
* dH(A, B) 에러들(dH(A, B) 알려지지 않은 포지션들 i에 대해 ai ≠ bi)
를 포함한다.
리드-솔로몬 코드가 최소 거리 d를 갖는 것을 아는 경우, 고전적인 에러들-및-삭제들 디코딩 알고리즘은,
k + 2dH(A, B) ≤ d-1 (14)
다시 쓰면,
dH(A, B) ≤ (d-1-k)/2 (15)
인 경우, 그리고 그러한 경우에만 앨리스의 송신된 코드워드 W에서 밥의 구성된 워드 W'를 정정한다.
그러므로, 앨리스 및 밥의 각각의 응답들 A 및 B 사이의 해밍 거리 dH(A, B)가 방정식(15)의 부등식을 만족시키는 경우 그리고 그 경우에만, 밥(18)은 비밀 키 K를 제거할 수 있다. 밥이 비밀 키 K를 제거할 수 있는지의 여부에 관해서는 확률적 결정이라는 것에 주의한다. 그러나, 키 K를 결정하는데 실패할 확률은 스케일링 팩터를 갖는 n 및 d를 증가시킴으로써 매우 작아질 수 있고, 여기서 n은 등록 동안 행해지는 챌린지-응답 세션으로부터 응답 심볼들의 수, 즉 A 및 B를 표현하고, (d-1)은 스케일링 팩터를 갖는 공중 채널(22)을 통해 앨리스(16)로부터 밥(18)으로 송신되는 패리티 심볼들의 수를 표현한다.
많은 수들의 법칙으로부터 A 및 B 사이의 해밍 거리는 스케일링 팩터에 비례하는 평균과 스케일링 팩터의 제곱근에 비례하는 표준 편차를 통해 대략적으로 가우시안 분포된다. 그러므로, 실패의 확률(즉, 만족되지 않은 방정식 15)은 증가하는 스케일링 팩터에 대해 매우 작다.
이전에 언급된 바와 같이, P=(p1,.....pd -1)의 (d-1) 패리티 심볼들은 공중 채널(22)을 통해 송신되는 잉여 정보 I를 구성한다. 이것은 어태커 이브(17)에게 비밀 키 K를 획득하는데 대한 어떠한 지식을 제공한다. 이브(17)는 워드 W''를,
W'' = (?1.....?k, e1,.....en, p1,.....pn) (16)
로 구성한다.
방정식(17)의 부등식이,
dH(A, E) ≥ d-1 (17)
로 만족되는 경우, 이브(17)에 의해 구성되는 워드 W''가 키 k에 대한 어떠한 정보를 포함하지 않는다는 것을 알 수 있다. 즉, 이브(17)에 의해 구성되는 워드 W'' 에서 에러들의 수가 (d-1)과 적어도 동일한 경우, 그에 따라 비밀 키 K에대한 어떠한 정보도 이브(17)로 누설되지 않는다. 이것은 각각의 키 K가 동일할 가능성이 있으므로 이브(17)가 K에 대한 어떠한 정보를 획득하지 않는다는 것을 의미하는 정보 세트의 일부가 에러 포지션들 외부의 포지션들이기 때문이다.
요컨대, 제 1 실시예에 따라, 앨리스(16) 및 밥(18)이 원-패스 프로토콜을 이용하여 비밀 키 K를 공유할 수 있고, 어태커 이브(17)가 동일한 잉여 정보 I를 수신하는 경우 그것이 비밀 키 K에 대한 정보를 생성하는데 그녀를 돕지 않는 것과 같이 밥(18)이 비밀 키 K를 생성할 수 있는 방식으로 앨리스(16)가 밥(18)에게 잉여 정보 I를 송신한다.
원-패스 프로토콜(제 2 실시예 )
원-패스 프로토콜의 본 실시예에서, 앨리스(16)는 제 1 실시예에서와 같이 정보 I로 (d-1) 패리티 심볼들 P를 공중 채널(22)을 통해 밥(18)에게 송신한다. 그러나, (d-1) 패리티 심볼들 P를 송신하는 것 이외에, 앨리스(16)는 또한 그녀의 응답 A의 해시(hash), 즉 h(A)를 송신한다. 본 실시예가 해시 함수를 이용하여 기술되는 반면에, 어떠한 임의의 함수의 사용이 물리적 시스템 P(20)와 통계적으로 무관한 함수들의 의사 랜덤 집합으로부터 선택될 수 있다는 것에 주의한다.
본 실시예에서, 앨리스(16)는 밥(18)에게 공중 채널(22)을 통해 정보 I로 A의 해시, h(A) 및 (d-1) 패리티 심볼들을 송신한다.
I = (P, h(A)) (18)
확장된 정보 I는,
I = ((p1,......pd -1),(h(a1),.....,h(an))) (19)
의 확장된 형태로 쓰여질 수 있다.
이전 실시예에서와 같이, 밥(18)은 앨리스(16)에 의해 공중 채널(22)을 통해 송신되는 정보 I로부터 비밀 키 K를 재구성하려 시도한다.
앨리스(16)로부터 정보 I를 수신할 시에, 밥(18)은 그의 응답 심볼들 B의 모든 것의 해시를 우선적으로 계산함으로써 비밀 키 K를 재구성하려 시도한다.
h(B) = (h(b1),.....,h(bn)) (20)
다음으로, 밥(18)은 ai 것의 해시 및 bi 것의 해시 사이에 정합이 존재하는 모든 포지션들 i를 포함하는 세트 S를 계산한다.
h(ai) = h(bi) (21)
세트 S는,
S = {i:h(ai) = h(bi)} = {i:ai = bi} (22)
방정식(22)에서 제 2 부등식은 압도적인 확률을 통해 유지된다. 다시 말해서, 노이즈 특성은 압도적인 확률을 통해 h(ai)=h(bi)가 ai=bi를 의미하는 것으로 가정된다.
제 1 실시예에서와 같이, 밥(18)은 제 1 k개 포지션들에서 삭제들(?)과 마지막 (d-1) 포지션들에서 패리티 심볼들 P로 워드 W'를 구성한다. 그러나, 본 실시예에서 워드 W'는 에러들을 포함하지 않으며, 단지 세트 S 외부와 패리티 심볼들 P 외부의 포지션들에서 삭제들을 포함한다. 이것은 패리티 심볼들 P가 공중 채널(22)을 통해 정확하게 수신되는 것으로 가정되어 에러들 및 삭제들을 포함하지 않기 때문에 발생한다. 또한, 제 1 k개 포지션들은 모든 삭제들로 취급된다.
W' = (?1,,,,,,?k, b1,...?, ?,....bn, p1,....pd -1) (23)
W'에서 모든 다른 포지션들(즉, S에서의 포지션들을 통한 B에서의 모든 요소들)은 압도적인 확률을 통해 에러 상태에 있지 않는다. 이것은 이전 실시예와 비교하여 에러들-및-삭제들 디코딩이 본 실시예에서 키 K를 제거하도록 사용되며, 오직 삭제만을 디코딩하는 것이 W를 재구성하기에 충분하므로 비밀 키 K를 재구성하기에 충분한 것으로 복잡도(complexity)에 따른 현저한 감소가 인식된다는 것을 의미한다. 그러나, 복잡도에 따른 감소가 트레이드오프를 나타낸다는 것에 주의한다. 명확하게는, 본 실시예는 패리티 심볼들 P에 부가하여 제 1 실시예에서 송신되는 여분의 정보, 즉 A의 해시 h(a)를 송신한다. 그러나, 본 실시예의 원-패스 프로토콜은 다음과 같이 보다 자세히 기술되는 종래 기술과 비교하여 통신 비용들에서의 감소를 나타내는 종래 기술에 대한 팩터 2 향상을 표현한다.
제 1 실시예로부터 방정식들(14) 및 (15)를 상기하면, 여기서 방정식(24) 및 방정식(25)로 다시 쓰여진다.
k + 2dH(A, B) ≤ d-1 (24)
dH(A, B) ≤ (d-1-k)/2 (25)
리드-솔로몬 코드 워드에서 어떠한 단일한 에러를 정정하기 위해 2개 패리티 심볼 들이 요구된다는 것은 공지되어 있다. 추가로, 단일한 삭제를 정정하기 위해 단일한 패리티 심볼이 요구된다. 본 실시예에서, 단지 삭제만을 디코딩하는 것은 비밀 키 K를 재구성하기에 충분하고, 그에 의해 팩터 2 향상을 제공한다. 그와 같이, 방정식(24)은 방정식(26)과 같은 2 곱셉기 없이 다시 쓰여질 수 있다. 이러한 부등식이 만족되는 경우, 밥(18)은 비밀 키 K를 삭제할 수 있다.
k + dH(A, B) ≤ d-1 (26)
본 실시예에서, 어태커 이브(17)는 공중 채널을 통해 수신해서 다음을 처리한다:
이브(Eve)(17) 소유 → (E, h(A), P). (27)
이전 실시예에서와 같이, 각각의 응답들 A 및 E 사이의 해밍 거리 dH(A, E)가 (d-1)보다 더 큰 경우, 그에 따라 이브(17)는 단지 비밀 키 K에 대한 무시할 수 있는 양의 정보를 획득한다.
dH(A, E) ≤ d-1 (28)
문턱들 tk 및 ti 사이의 차이가 현저하게 더 작다는 것을 본 실시예의 팩터 2 향상이 의미한다는 것에 주의한다.
많은 수들의 법칙으로부터, A 및 B 사이의 해밍 거리 dH(A, B)와, A 및 E 사이의 해밍 거리 dH(A, E)가 스케일링 팩터에 비례한 평균과 스케일링 팩터의 제곱근에 비례한 표준 편차 모두를 통해 대략적으로 가우시안 분포된다. tk 및 ti 사이의 차이가 팩터 2 향상으로 인해 더 작기 때문에, 더 큰 표준 편차가 견고성 및 보안 성을 달성하기 위해 허용된다. 따라서, 스케일링 팩터는 문턱값 tk 및 ti 사이의 차이가 제 1 실시예의 차이만큼 큰 경우에 종래 기술과 비교하여 더 작을 수 있다. 이러한 점은 도 2와 관련하여 보다 자세히 예시된다.
우선적으로 도 2a를 참조하면, 제 1 가우시안 분포(201) 및 제 2 가우시안 분포(203)의 2개의 가우시안 분포들이 예시되어 있다. 제 1 가우시안 분포(201)는 앨리스 및 밥, 즉 A 및 B에 의해 수신되는 각각의 응답들에서 에러들의 평균 수를 일반적으로 표현하는 문턱값 tk의 1/2인 약 tk/2에 집중된다. 가우시안 곡선(201)의 영역 A'에 있을 확률은 밥(18)이 비밀 키 K를 재구성할 수 없는 확률과 같다. 상기 설명된 바와 같이, 이것은 A 및 B 사이의 에러들의 수가 문턱값 tk를 초과한다는 사실로 인한 것이다.
가우시안 곡선(201)의 표준 편차는 (응답들 A 및 B의 길이) n의 제곱근에 비례한다. 스케일링 팩터에 의해 응답들의 길이 n을 스케일링 업(scaling up)하여, 표준 편차는 스케일링 팩터의 제곱근에 비례하여 스케일링 업하고, 평균은 스케일링 인자에 비례하여 스케일링 업한다. 이러한 스케일링의 의미는 하단 영역(영역 A')의 확률이 더 작게 된다는 것이다. 그러므로, 밥(18)이 키 K를 재구성하는 더 높은 확률을 갖는 것이 이해된다. 곡선(201)이 응답의 길이 n을 스케일링 업하는 효과를 반영하지 않는다는 것에 주의해야 한다.
앨리스(16) 및 어태커 이브(17) 사이의 에러들의 수를 표현하는 도 2a의 제 2 가우시안 곡선을 여기서 참조하면, 하단 영역(영역 B')은 어태커 이브(17)가 비 밀 키 K에 대한 정보를 획득할 확률이다. 그러므로, 이러한 하단 영역(영역 B')을 가능한 한 작게 만드는 것이 바람직하다. 정확하게 동일한 스케일링은 이전에 기술된 바와 같이 수행된다. 즉, 스케일링 팩터에 의해 n을 스케일링 업하여, 표준 편차는 평균이 스케일링 팩터에 비례적으로 스케일링 업하는 동안 스케일링 팩터의 제곱근에 비례적으로 스케일링 업한다. 이러한 스케일링의 의미는 하단 영역(영역 B')의 확률이 더 작게 된다는 것이다. 그러므로, 이브(17)가 키 K에 대한 정보를 획득할 더 낮은 확률을 갖는 것이 이해된다. 곡선(203)이 응답의 길이 n을 스케일링 업하는 효과를 반영하지 않는다는 것에 다시 주의해야 한다.
도 2b를 이제 참조하면, 각각의 가우시안 곡선들(205, 207)은 상기 우선적으로 논의된 제 2 실시예의 팩터 2 향상을 반영한다. 또한, d'/n'이 d/n보다 더작도록 선택된다는 것에 주의해야 한다. 이것은 문턱값 ti'/n' < ti/n(delta_1 양에 의해 ti/n 문턱값이 좌측으로 시프트한다)을 의미한다. 그러나, 팩터 2 향상 때문에, tk'/n' > tk/n(delta_2 양에 의해 tk/n 문턱값이 우측으로 시프트한다)이다. 그러므로, 양측들로부터 tk/n 및 ti/n 사이의 차이의 수렴이 존재한다는 것을 알 수 있다. 그러나, 응답 길이에 비하여 피크들(즉, 평균들)의 포지션이 도 2a 및 도 2b의 곡선들에 대해 동일하다는 것에 주의한다. 영역들 A' 및 B'가 더 작기 때문에, 유사한 확률들이 도 2a로부터 도 2b에서 유지되는 경우(즉, 팩터 2 향상 이전 및 이후), 더 큰 표준 편차가 허용가능하다. 이것은 스케일링 팩터에 의한 n의 스케일링 업으로부터 더 많은 최고에 달하는 분포 대신에 더 넓은 분포의 허용을 의미 한다. 더 넒은 분포는 더 큰 문턱값 tk 및 더 낮은 문턱값 ti를 갖는 것으로 보상된다. 더 넓은 분포는 더 작은 스케일링 팩터에 대응한다.
통신 비용들과 관련하여, 본 실시예에서 통신 비용이 h(A)에 비례하고 종래 기술에서, 통신 비용이 A에 비례하며, 양자의 경우들에서,
n' = n * 스케일링 팩터 (29)
와 같고, 여기서 n'는 등록 단계 동안 행해지는 응답-챌린지 세션(C, A)에서 앨리스(16)에 의해 수신되는 응답 A의 길이와 같다. 본 실시예에서 비교에 의해, 스케일링 팩터는 종래 기술과 비교하여 감소되고, 그에 의해 상대적으로 더 작은 통신 비용들을 초래하며, 즉,
(d-1) * 스케일링 팩터 (30)
이며, 여기서 (d-1)은 n보다 일반적으로 훨씬 더 작다.
PUFS( Physically Unclonable Functions )
이전에 기술된 실시예들의 실제 애플리케이션들에 대해 논의하기 이전에, 물리적 복제가능 함수들(physically unclonable functions) 또는 PUFS의 몇 가지 일반적인 원리들을 우선적으로 간략하게 살펴보는 것이 바람직하다. 때때로, 물리적 랜덤 함수들(physically random functions)로 언급된다.
PUF는 맵들이 예측하기에 어렵고 다음의 속성들을 증명하는 방식으로 응답들에 챌린지하는 랜덤 함수이다:(1) 평가하기 쉬움- 물리적 디바이스는 시간의 짧은 양만큼 함수를 쉽게 평가할 수 있다. (2) 특징지우기 어려움- 그럴듯한 물리적 측 정들의 다항식 수로부터(예로써, 챌린지-응답 쌍들의 선택된 수에 의해 결정되는), 물리적 디바이스(예로써, IC 또는 칩)를 소유하지 않고, 자신에게 이용가능한 리소스들(예로써, 시간, 물체 등)의 다항식 양만을 갖는 누군가가 무작위로 선택된 챌린지에서 응답에 대한 정보의 무시 가능한 양만을 추출할 수 있다. 시간의 '짧은' 양 및 '다항'이 보안 파라미터인 물리적 디바이스의 사이즈에 관계가 있다는 것에 주의한다. 특히, '짧다'는 것은 다항의 낮은 차수 또는 선형을 의미한다. PUF들은 (Proceedings of the 9th ACM Conference on Computer and Communications Security(CCS'02), 2002에서) B. Gassend, D. Clarke, M van Dijk, 및 S. Devadas의 "실리콘 물리적 랜덤 함수들(Silicon physical random functions)"에서 보다 상세히 기술되어 있고, 그 전체가 참조 문헌으로 본 명세서에 통합된다.
PUF들은 때때로 챌린지-응답 쌍들로부터 물리적 시스템을 재구성하기 어렵다는 의미로 물리적 일방향 함수들로 언급된다. 그러나, 일방향 함수와 다르게, PUF는 응답으로부터 챌린지로 어렵게 진행하는 것을 요구하지 않는다. PUF에 대해, 모든 그러한 문제들은 물리적 디바이스의 사용의 이익 없이 챌린지로부터 응답으로 진행하는 것이 어렵다는 것이다.
특정한 예로 실리콘 PUF, 즉 반도체 집적 회로("IC" 또는 "칩")를 고려한다. IC 또는 칩은 PUF를 활용하는 물리적 시스템 또는 디바이스로 고려될 수 있다. IC가 동일한 디지털 논리 기능을 갖도록 신뢰성 있게 다량 제조될 수 있는 반면에, 각각의 IC는 서로 다른 다이들(dies), 웨이퍼들, 및 프로세스들을 통해 제조하는데 고유한 변화들로 인해 그것의 지연 특징들에 따라 독특하다. 디지털 논리 기능이 부합되는 타이밍 제약들에 의존하는 반면에, 정확하게 동일한 디지털 기능을 갖는 서로 다른 IC의 것은 그것들의 지연 특징들이 서로 다르기 때문에 이러한 제약들이 부합하지 않을 때 독특한 작동들을 갖는다. 그러므로, 그러한 서로 다른 칩들은 일반적으로 서로 다른 출력들(즉, 챌린지-응답 쌍들)에 동일한 입력을 맵핑할 것이다. 따라서, IC 또는 칩은 물리적 랜덤 함수 또는 PUF를 포함하는 복잡한 물리적 시스템의 예이며, PUF는 (1) 평가하기 쉽고 (2) 칩의 디자인에 기초하여 예측하기 어려운 방식으로 출력에 입력을 맵핑한다. 다시 말해서, 서로 다른 칩들에서 제조 변화들로 인해, 어떠한 칩의 정밀한 출력(응답)이 주어진 입력(챌린지)에 대한 것인지를 예측하기 거의 불가능하다.
예 1
다음의 예는 본 발명의 다양한 특징들을 예시하는 것을 뜻하지만, 기술된 특정 실시예 및 사용에 대한 본 발명의 범위를 제한하는 것을 뜻하지는 않는다.
제 1 및 제 2 실시예들의 예시적인 애플리케이션에 있어서, 원-패스 프로토콜은 물리적 랜덤 함수 또는 PUF를 활용하는 물리적 디바이스(프로세서)의 콘텍스트에 따라 여기에 기술된다. 그 애플리케이션은 제 1 통신자(예로써, 앨리스(16))로부터 제 2 통신자(예로써, 밥(18))로 송신되는 암호화된 입력 데이터를 통해 프로그램의 확인된 실행을 말한다.
도 3은 본 발명의 실시예에 따른 암호 시스템(100)을 예시한다. 도 3은 PUF(33)를 활용하는 프로세서(30)를 예시한다. 프로세서(30)는 도 1에서 밥(18)의 역할을 하는 것으로 간주될 수 있고, PUF(33)는 도 1에서 소스 P(20)의 역할을 하는 것으로 간주될 수 있다. 밥(18) 및 소스 P(20)가 엔티티들을 구별하는(분리하는) 도 1과는 다르게, 도 3에서 프로세서(30) 및 PUF(33)는 함께 결합되어 도시된다.
도시된 예에 있어서, 앨리스(16)는 프로세서(30) 상에서 프로그램(코드)를 작동시키기 원한다. 등록 단계 동안, 앨리스(16)는 PUF(33)에 챌린지 C를 전송하고, 도시된 바와 같이 응답 A를 수신한다. 잠시 후, 등록 이후에 앨리스(16)는 프로세서(30) 상에서 프로그램을 작동시키기 원한다. 그렇게 하기 위해, 앨리스(16)는 비밀 키 K를 선택한다. 앨리스(16)는 (1) 비밀 키 K와, (2)코드워드 W를 생성하기 위해 리드 솔로몬 인코더에 입력으로 등록하는 동안 나오는 챌린지-응답 세션에서 챌린지 C에 응답 A를 공급한다. 이것은 (d-1) 잉여 패리티 심볼들(redundant parity symbols) P의 생성을 초래한다. 실시예에 의존하여, 제 1 실시예의 프로토콜이 활용되는 경우, 앨리스(16)는,
I = (hash(K), P) (31)
을 구성하고, 제 2 실시예의 프로토콜이 활용되는 경우, 앨리스(16)는,
I = (hash(K), P, h(A)) (32)
를 구성한다.
실행 단계 동안, 앨리스(16)는 프로세서(30)에 다음의 아이템들을 공급한다.
* C(등록 동안 나타나는 챌린지)
* I(방정식 31 또는 32 중 하나로부터 선택된 실시예에 의존함)
* (비밀 키 K와 함께 암호화될 수 있는) 프로세서(30) 상에서 구동될 프로그램(소프트웨어)
* 비밀 키 K와 함께 암호화되는 입력 데이터.
챌린지 C를 수신할 시에, 등록 동안 프로세서(30)(Bob)는 챌린지-응답 세션에서 PUF(33)에 질의하고, 응답 B, 즉 (C, B)를 수신한다.
패리티 심볼 P를 수신할 시에, 실행 동안, 프로세서(30)는 상기 논의된 제 1 또는 제 2 실시예의 프로토콜들 중 하나에 따라 워드 W'를 구성한다. 프로세서(30)는 비밀 키 K에 대응하는 k개 포지션들 상에 의문 부호들(?)을 포함하여 워드 W'를 구성한다. 제 2 실시예의 프로토콜이 사용되는 경우, 삭제들은 응답 B의 포지션들의 어떠한 것에 추가된다. 마지막으로, 어느 프로토콜이 사용되는지 상관없이, 송신된 패리티 정보, 즉, (d-1) 패리티 심볼들 P는 워드 W'의 마지막 부분에 추가된다. 워드 W'는 그 후에 비밀 키 K를 추출하기 위해 상기 기술된 바와 같이, 최초 코드워드 W를 재구성하도록 ALU(42)에서 리드-솔로몬 디코더에 입력으로 공급된다.
W= (K, A, P) (33)
방정식들(31) 및 (32)에 예시된 바와 같이, 송신된 잉여 정보 I의 일부로서, 앨리스(16)는 또한 비밀 키 K가 ALU(42)에 의해 정확하게 재구성되었는지의 여부를 검증하기 위해 프로세서(30)에 의해 사용될 수 있는 공중 채널을 통해 해시(K)를 프로세서(30)의 ALU(42)에 송신한다. 이러한 단계는 잘못된 정정 또는 디코딩 실패를 초래하는 너무 많은 에러들이 발생하는 확률에 대한 보호 수단이다. 프로세 서(30)의 ALU(42)가 비밀 키 K를 재구성한다면, 그 후에 그것이 앨리스(16)에 의해 송신되는 hash(K)에 부합하는지의 여부를 결정하기 위해 hash(K)를 계산할 수 있다.
추출된 비밀 키 K로, 프로세서(30)는 프로그램에 의한 사용을 위해 최초 데이터로 되돌리도록 비밀 키 K로 암호화된 데이터를 해독한다.
그 프로그램을 실행한 후에, 프로세서(30)는 비밀 키 K를 이용하여 출력을 확인하고/하거나 앨리스(16)로 다시 전송될 키 K를 이용하여 출력을 암호화할 수 있다. 암호화된 출력을 수신할 시에, 앨리스(16)는 그에 따라 그 인증을 검사하고 출력을 해독하기 위해 키 K를 사용할 수 있다. 이러한 방식으로, 출력은 키 K를 이용하여 적절히 인증된다.
기술된 시나리오에 있어서, 상대방인 이브(17)가 공중 채널에 관심이 있어서 초기 실행에서, 즉 실행 이전에 프로세서(30)에서 액세스를 얻을 수 있다는 것이 또한 가정된다. 그렇게 하는데 있어서, 이브(17)는 예를 들어 기계 학습 알고리즘들을 이용하여 프로세서(30)의 동작을 식별하도록 다수의 실험들을 수행한다. 어떠한 포인트에서, 이브(17)는 검출되지 않은 프로세서(30)를 리턴한다.
본 출원서에 예시된 바와 같은, 본 발명의 주요 특징은 이브(17)가 임의로 많은 수의 챌린지들을 이용하여 프로세서(30)의 소프트웨어 모델을 구성할 수 있는 반면에, 그 모델이 그것에서 큰 에러 정도를 가질 것이라는 것이다. 이것은 시간에 따른 어떠한 포인트에서 앨리스(16)로부터 취해질 수 있는 기하급수적으로 큰 수의 챌린지들이 존재하는 것으로 제시되는 프로세서(30)까지 송신되는 챌린지 C를 이브(17)가 인터셉트하는 경우, 프로세서(30)로 앨리스(16)에 의해 송신되는 챌린지 C가 이브(17)의 소프트웨어 모델로부터 알려진 응답을 결과로 나타낼 확률이 통계적 의미에서 매우 작기 때문에 사실이다.
투-패스 프로토콜
도 4는 본 발명의 실시예에 따른 암호 시스템(100)을 예시한다. 특히, 도 4는 본 발명의 투-패스 프로토콜을 예시하는 예시적인 암호 시스템(100)을 도시한다. 도 4에 도시된 바와 같이, 앨리스(16)는 밥(18)에게 IA를 송신하고, 밥(18)은 이브(17)가 모든 공중 통신에 관심이 있는 동안에 키 K를 선택하여 앨리스(16)에게 IB를 송신한다. 소스 P(20)는 앨리스(16), 밥(18), 및 이브(17)에게 각각 응답들 A, B, 및 E를 제공한다.
투-패스 프로토콜에서, 앨리스(16)는 우선적으로,
IA = h(A) = (h(a1),....,h(an)) (36)
을 계산하고, 앨리스(16)는 밥(18)에게 그것을 송신한다. 공중 채널을 통해 앨리스(16)로부터 정보 IA를 수신할 시에, 밥(18)은 ai 것 및 bi의 해시 사이에 정합이 존재하는 모든 포지션들 i를 포함하는 세트 S를 계산한다.
h(ai) = h(bi) (37)
세트 S는,
S = { i:h(ai) = h(bi)} = { i:ai = bi} (38)
로 계산된다. 방정식(38)에서 제 2 등식은 압도적인 확률로 유지된다. 세트 S는 응답 심볼들 B의 해시와 함께 응답 심볼들 A의 해시의 정합 포지션들의 세트를 표현한다. 예를 들어, A 및 B가 12개 심볼들을 각각 포함하고, 포지션들(1,3,7,8)이 A 및 B에 정합한다고 가정한다. 일시적인 예에서 세트 S는,
S = {1, 3, 7, 8} (39)
로 쓰여질 수 있다.
다음으로, 밥(18)은 잉여 정보 IB로서 앨리스(16)에게 다시 세트 S를 송신한다. 이러한 송신은 투-패스 프로토콜의 제 2 통신을 구성한다. 세트 S를 수신할 시에, 앨리스(16)는 어느 포지션들이 정합하는지 이제 인식하여 그 정합을 상기 포지션들에서 A로부터 오직 그러한 ai만을 추출한다. 이러한 포인트에서, 밥(18) 및 앨리스(16) 모두는 조인트 공유된 키를 결과로 나타내는 공통적인 정보를 알고 있다.
J = (aj)_{j in S} = (bj)_{j in S} (40)
조인트 공유된 비밀 키 K를 생성하기 위해, 비밀 증폭(privacy amplification)가 사용된다. 하나의 구현에 있어서, 조인트 공유된 키 J는 대중적으로 이용가능한 랜덤 행렬과 곱하여 압축된다. 대안적인 구현에 있어서, 대중적으로 이용가능한 해시 함수가 J 상에 사용된다.
상대방인 이브(17)는 (1) 소스 P3로부터의 E(즉, 시뮬레이팅된 응답)와, (2) IA=h(A), 즉, 각각의 ai의 해시와, (3) 세트 S=IB(앨리스 16 및 밥 18 사이의 동의 에서의 포지션들)를 그녀의 소유로 갖는다.
이브(17) 소유 → (E, h(a), S) (40)
는 확장된 형식,
이브(17) 소유 → ((e1,.....en), (h(a1),.....,h(an)), S) (41)
로 쓰여진다.
투-패스 프로토콜 실시예는 단점들 및 장점들을 제공한다. 투-패스 프로토콜의 한 가지 단점은 암호화된 입력을 통한 확인된 실행이 가능하지 않다는 것이다. 이것은 입력이 암호화되는 경우, 그에 따라 앨리스(16)가 미리 비밀 키 K를 아는 것을 필요로 하지만, 투-패스 프로토콜에서 앨리스(16)가 미리 키를 선택하도록 허용되지 않기 때문이다. 투-패스 프로토콜의 한 가지 장점은 리드 솔로몬 코딩이 요구되지 않는다는 것이다. 또 다른 장점은 앨리스(16)가 완전하게 밥(18)으로의 그녀의 챌린지-응답으로부터 이브(17)에게 A를 공개하지 않는다는 것이다.
다른 장점은 앨리스(16)가 키를 공유하기 위해 세트 S로 표현되는 것으로 밥(18)(프로세서 30)과 공통으로 충분히 갖는지의 여부에 대해 전체적으로 제어한다는 것이다. 다시 말해서, 밥(18)(프로세서 30)은 앨리스(16)에 의해 제공되는 정보가 비밀 키 K의 공유를 보장하기에 충분한지의 여부에 대한 최종적 중재자이다.
본 발명의 또 다른 장점은, A, B, 및 E가 벡터들 대신에 순서화되지 않은 세트들일 수 있다는 것이다. 세트로 A를 고려하는 이러한 경우에 있어서, 앨리스(16)는 상기 방정식(35)에 기술된 바와 같이 세트를 순서화하고 h(A)를 전송한다. 밥(18)(프로세서 30)은 h(A)=(h(a1),....)를 수신하고, 그는 h(bi)를 각각의 수신된 h(aj) 것과 비교한다. 정합이 존재하는 경우, 그에 따라 압도적인 확률을 통해 bi=aj이고 j는 세트 S 내에 입력된다.
다음은 제 1 통신자(앨리스(16))가 인증을 위해 밥(18)에 의해 프로세싱되거나 실행되고, 앨리스(16)에게 리턴되도록 제 2 응답자(밥(18))에게 암호화되지 않은 데이터를 송신한다.
예 2
다음의 예는 본 발명의 다양한 특징들을 예시하는 것을 뜻하지만, 기술된 특정 실시예 및 사용에 대해 본 발명의 범위를 제한하는 것을 뜻하지 않는다.
계속해서 도 4와 관련하여, 투-패스 프로토콜의 애플리케이션은 암호화로 확인된 실행으로 언급된다. 이러한 예에 있어서, 앨리스(16)는 프로세서(30) 상에서 작동하도록 프로그램 (코드)를 송신하기 원하고, 프로세서(30)로부터 리턴되는 출력이 클론에 의해서가 아닌 프로세서(30)에 의해 실제로 프로세싱된 것을 확인하기 원한다. 프로그램이 단지 프로세서(30)에 의해 처리될 것이 보장되기 위해, 앨리스(16)는 프로세서(30)와 비밀 키를 공유할 필요가 있다.
원-패스 프로토콜 및 이전 예와 대조적으로, 앨리스(16)는 프로그램(소프트웨어 또는 코드)과, 암호화되지 않은 형식으로 프로세서(30)에서 프로그램에 의해 구동될 연관된 입력 데이터를 송신한다.
투-패스 프로토콜의 원리들에 따라, 앨리스(16)(제 1 통신자)가 아닌 프로세 서(30)(또는 제 2 통신자)는 앨리스(16)에게 다시 암호화되고 증명되는 형식으로 송신될 프로세서(30) 상의 프로그램을 작동시키는 것으로부터 생성되는 출력 데이터를 증명하고 암호화하도록 비밀 키를 생성한다. 암호화된 형식으로 출력 데이터를 수신할 시에, 앨리스(16)는 비밀 키를 제거하고, 출력을 해독하며, 프로세서(30)가 클론이 아닌 요구되는 동작들을 수행했다는 보증을 제공하기 위한 증명을 검사한다.
이러한 프로세스는 다음과 같이 보다 상세히 여기에 기술될 것이다.
실행 단계 동안, 앨리스(16)는 다음을 프로세서(30)에 구성하여 송신한다.
* C, 챌린지-응답 세션 동안 앨리스(16)에 의해 나오는 챌린지
* IA, 응답 A로부터 유도된 잉여 정보
* 입력 데이터를 프로세싱하기 위한 프로그램(소프트웨어)
* 입력 데이터
IA를 수신할 시에, 프로세서(30)는 비밀 키 K를 선택하고, IA, B, 및 선택된 비밀 키 K를 이용하여 IB를 계산한다(여기서, B는 앨리스(16)로부터 송신된 챌린지 C에 대응하는 PUF(33)로부터의 응답이다). 프로세서(30)는 앨리스(16)로부터 송신된 프로그램을 실행하고, 비밀 키 K를 통해 출력을 증명하여 암호화하며, 앨리스(16)에게 다시 암호화된 출력을 송신한다. 즉, 앨리스(16)는 대신 프로세서(30)로부터 수신한다.
* 응답 B로부터 유도된 IB 잉여 정보
* (모두 비밀 키 K를 이용하는) 확인 및 암호화된 프로그램 출력 데이터
공중 채널을 통해 암호화된 출력을 수신할 시에, 앨리스(16)는 비밀 키 K를 제거하기 위해 IA, IB, 및 A를 사용한다. 비밀 키 K가 앨리스(16)에 의해 제거되면, 암호화된 출력 및 증명은 비밀 키 K를 이용하여 해독될 수 있고, 그 증명은 인증에 대해 검사된다.
예 3
다음의 예는 본 발명의 다양한 특징들을 예시하는 것을 뜻하지만, 기술되는 특정 실시예 및 사용에 대해 본 발명의 범위를 제한하는 것을 뜻하지는 않는다.
도 5는 광학 PUF(30)가 스마트카드(50)에 매립되고, 인증 및 식별을 위해 사용되는 스마트카드 애플리케이션의 예이다. 본 예에 있어서, 광학 PUF(60)와 함께 결합되는 것으로 도시되는 프로세서(30)(앨리스)는 비밀 키 K를 선택한다.
밥(18)(복수의 ATM 머신들을 포함하는 은행)이 스마트카드(50)를 통해 물리적 접촉 상태에 있는 등록 단계 동안, 밥(18)(은행)은 광학 PUF(60)에서 레이저 빔의 형태로 챌린지 C를 내보내고, 광학 PUF(60)의 뒤쪽에서 검출기는 충돌 레이저의 간섭 패턴을 검출하고, 챌린지-응답 쌍(B, C)으로 언급되는 챌린지 C에 대한 응답 B를 밥(18)(은행)에게 출력한다.
등록 단계 후 때때로, 스마트카드(50)는 거래를 수행하기 위해 자신의 많은 ATM 머신들 중 하나를 통해 가능한 한 밥(18)(은행)과 안전하게 통신하기 원할 수 있다. 그렇게 하기 위해, 은행의 ATM 머신(밥(18))으로 스마트카드(50)를 삽입할 시에, 은행의 ATM(밥(18))은 등록 동안 그것이 표현한 것과 같이 스마트카드(50)에 동일한 챌린지 C를 제공한다. 다시 한번, 스마트카드(50)의 광학 PUF(60)의 뒤쪽에서 검출기가 앨리스(16)(프로세서)로 출력되는 은행의 ATM 챌린지 C에 대한 응답 A를 계산한다. 환경 및 측정 노이즈로 인해, 응답 A 및 응답 B는 서로 다를 수 있다(방정식 1 및 2와 상기 논의를 참조)
앨리스(16)(프로세서)가 응답 A를 수신할 시에, 앨리스(16)(프로세서)는 비밀 키 K를 생성하고, 상기 논의된 바와 같이 응답 A 및 키 K에 기초하여 코드워드 W를 생성한다. 생성된 코드워드 W로부터, 앨리스(16)(프로세서)는 메세지 I를 계산하고, I는 잉여 정보를 표현한다. 잉여 정보 I는 키 K를 통해 암호화되고 증명된 ATM 거래에 따라 밥(18)(은행의 ATM)에게 다시 송신된다. 밥(18)(은행의 ATM)은 응답들 A 및 B가 서로 충분히 근접한 경우 비밀 키 K를 재구성할 수 있고, 암호화된 거래를 해독 및 증명할 수 있을 것이다. 이것은 각각의 응답들 사이의 해밍 거리 dH(A, B)가 충분히 작은 경우, 즉 문턱값 tk보다 작은 경우 그리고 그 경우에만 가능하다(방정식 5 참조).
추가로, 상대방 이브(17)는 어떠한 포인트에서 스마트 카드(50)의 소유를 취할 수 있고, 유사한 PUF들과 다른 스마트 카드들로부터 유용한 정보를 추출하려고 하는 소프트웨어 모델 제작을 시도할 수 있다. 그러나, 시뮬레이팅된 응답 E를 생성하기 위해 소프트웨어 모델 및 다른 스마트 카드들을 이용하는 상대방 이브(17)는 응답들 A 및 E가 충분히 멀리 떨어져 있기 때문에 비밀 키 K에 대한 어떠한 정 보도 획득할 수 없다. 즉, 해밍 거리 dH(A, E)는 문턱값 ti보다 더 클 것이다(방정식 7 참조).
예 4
다음의 예는 본 발명의 다양한 특징들을 예시하는 것으로 의미되지만, 기술되는 특정 실시예 및 사용에 대해 본 발명의 범위를 제한하는 것으로 의미되지 않는다.
도 6은 물리적 시스템 P(20)가 앨리스의 핑거프린트 X(fingerprint X)를 측정하는 바이오메트릭 애플리케이션의 예이다. 즉, 등록 단계 동안, 앨리스(16)는 앨리스의 핑거프린트 X를 측정하기 위해 물리적 시스템 P(20)를 사용한다. 결과 측정 A는 잉여 정보 I를 계산하기 위해 앨리스(16)에 의해 사용되고, 여기서 I는,
I = [h(K), h(A), P] (42)
이다.
여기서: h(K)- 앨리스(16)에 의해 선택된, 무작위로 선택된 비밀 키 K의 해시,
h(A)- 앨리스의 응답의 해시,
P = [p1,.....,pd -1]
I의 첫 번째 두 개의 요소들, 즉, h(K) 및 h(A)는 데이터베이스(70)에 이러한 값들을 저장하는 (예로써, ATM 머신의 역할을 하는)밥(18)에게 제공된다. 데이터베이스(70)가 일방향 함수들의 이미지들을 포함하기 때문에, 보안성은 데이터베 이스가 공개되는 경우 타협되지 않는다.
밥(18)(ATM)은 제 2 시간(2nd 측정 X)에 앨리스(16)의 핑거프린트를 측정할 수 있다. 이것은 밥(18)(ATM)에게 측정된 핑거프린트 B를 제공한다. PUF와 관련하여 상기 기술된 것과 유사하게, A 및 B는 서로 다른 측정 디바이스들을 가능한 한 이용하여 서로 다른 시간들에서 이루어지는 측정들을 표현한다. 일반적으로, A 및 B는 서로 같지 않다. 그러나, A 및 B가 동일한 핑거프린트 X의 측정들이기 때문에, 그것들 사이의 해밍 거리 dH(A, B)가 작다. 이것은 밥(18)(ATM)이 비밀 키 K를 재구성하고 그것의 수행을 검사하기 위한 본 발명의 방법을 이용하도록 허용한다.
본 예에 있어서, 어태커 이브(17)의 역할은 예를 들어, 앨리스의 핑거프린트들을 포함하는 배치된 커피 잔을 사용함으로써 앨리스의 핑거프린트로부터의 카피들을 획득하려 시도하는 것이다. 핑거프린트의 이브의 버전은 E이고 더 많이 지저분하므로, 심지어 공중 데이터베이스 (h(K)) 및 h(A))로의 액세스인 공중 통신 P로의 액세스를 통해서도, 이브는 비밀 키 K에 대한 어떠한 정보도 획득할 수 없다.
본 발명이 특정한 실시예들을 참조로 하여 기술되었을지라도, 많은 변화들이 첨부된 특허청구범위에 설명된 바와 같은 본 발명의 취지 및 범위로부터 벗어나지 않으며 이루어질 수 있다는 것은 명백할 것이다. 따라서, 본 명세서 및 도면들은 예시적인 방식으로 간주되며, 첨부된 특허청구범위를 제한하도록 의도되지 않는다.
첨부된 특허청구범위를 해석하는데 있어서,
a) 단어 "포함하다(comprising)"는 제시된 청구항에 열거된 것들과 다른 요소들 또는 동작들의 존재를 배제하지 않고,
b) 요소에 선행하는 단어 "하나"는 복수의 그러한 요소들의 존재를 배제하지 않고,
c) 특허청구범위에서 어떠한 참조 부호들은 그것들의 범위를 제한히지 않고,
d) 모든 "수단"은 구조 또는 함수 구현된 동일한 아이템이나, 하드웨어 또는 소프트웨어에 의해 표현될 수 있으며,
e) 각각의 개시된 요소들은 하드웨어 부분들(예로써, 개별적 전자 회로), 소프트웨어 부분들(예로써, 컴퓨터 프로그래밍), 또는 그것들의 어떠한 조합으로 구성될 수 있다는 것을 이해해야 한다.

Claims (38)

  1. 제 1(16) 및 제 2(18) 통신자 사이의 비밀 키 동의 방법에 있어서,
    (a) 상기 제 1 통신자가 소스 P(20)로부터 응답 A를 수신하는 단계;
    (b) 상기 제 2 통신자가 상기 소스 P(20)로부터 응답 B를 수신하는 단계;
    (c) 상기 제 1 통신자가 상기 제 1 통신자(16)에 의해 선택된 비밀 키 K 및 상기 응답 A를 입력으로 포함하는 코드워드 W의 출력으로서 (d-1) 패리티 심볼들을 생성하는 단계;
    (d) 상기 제 1 통신자(16)가 상기 제 2 통신자(18)에게 공중 통신 채널(22)을 통해 상기 (d-1) 패리티 심볼들을 송신하는 단계; 및
    (e) 상기 제 2 통신자(18)가 상기 비밀 키 K를 결정하기 위한 상기 응답 B 및 상기 (d-1) 패리티 심볼들을 입력으로 포함하는 워드 W'를 생성하는 단계를 포함하는, 비밀 키 동의 방법.
  2. 제 1 항에 있어서,
    상기 응답들 A 및 B는, 상기 각각의 제 1(16) 및 제 2(18) 통신자들로부터 생성되는 챌린지 C에 응답하여 상기 각각의 제 1(16) 및 제 2(18) 통신자들에 의해 수신되는, 비밀 키 동의 방법.
  3. 제 1 항에 있어서,
    상기 응답 A는 A=(a1,.....an) 형태의 심볼들의 시퀀스로 구성되는, 비밀 키 동의 방법.
  4. 제 1 항에 있어서,
    상기 응답 B는 B=(b1,.....bn) 형태의 심볼들의 시퀀스로 구성되는, 비밀 키 동의 방법.
  5. 제 1 항에 있어서,
    상기 비밀 키 K는 K=(k1,.....,kk) 형태의 심볼들의 시퀀스로 구성되는, 비밀 키 동의 방법.
  6. 제 1 항에 있어서,
    상기 비밀 키 K는 부등식,
    dH(A, B) <= (d-1-k)/2
    를 만족시킴으로써 상기 (d-1) 패리티 심볼들 및 상기 응답 B로부터 결정될 수 있으며,
    여기서, dH(A, B)는 심볼 시퀀스들 A 및 B 사이의 해밍 거리(Hamming distance)이고,
    d는 최소 거리이며,
    k는 상기 비밀 키 K에서 심볼들의 수인, 비밀 키 동의 방법.
  7. 제 1 항에 있어서,
    상기 코드워드 W는 리드-솔로몬 코드워드(Reed-Solomon codeword)인, 비밀 키 동의 방법.
  8. 제 1 항에 있어서,
    상기 비밀 키 K는 부등식,
    dH(A, E) >= d-1
    이 만족되는 경우, 상기 제 1 및 제 2 통신자(18) 이외에 다른 누군가에 의해 결정될 수 없으며,
    여기서, E는 상기 비밀 키 K를 알려고 시도하는 어태커(attacker; 17)에 의해 획득되는 심볼 시퀀스이고,
    dH(A, E)는 상기 심볼 시퀀스들 A 및 E 사이의 해밍 거리이며,
    d는 최소 거리인, 비밀 키 동의 방법.
  9. 제 1 및 제 2 통신자(18) 사이의 비밀 키 동의 방법에 있어서,
    등록 단계 동안,
    (a) 시간 t1에서 제 1 통신자(16)로부터 소스(20)로 챌린지 C를 전송하는 단계;
    (b) 상기 제 1 통신자(16)가 상기 챌린지 C에 대한 상기 응답 A를 수신하는 단계;
    (c) 시간 t2에서 상기 제 2 통신자(18)로부터 상기 소스(20)로 상기 챌린지를 전송하는 단계; 및
    (d) 상기 제 2 통신자(18)가 상기 챌린지 C에 대한 응답 B를 수신하는 단계를 포함하고,
    인코딩 단계 동안, 상기 제 1 통신자(16)가:
    (a) 비밀 키 K를 선택하는 단계;
    (b) (d-1) 패리티 심볼들 P를 생성하기 위해 상기 비밀 키 K 및 상기 응답 A를 이용하여 코드워드 W를 형성하는 단계; 및
    (c) 공중 통신 채널을 통해 상기 제 2 통신자(18)에게 상기 (d-1) 패리티 심볼들 P를 송신하는 단계를 포함하며,
    디코딩 단계 동안, 상기 제 2 통신자(18)가,
    (a) 상기 비밀 키 K를 결정하기 위해 워드 W'를 구성하도록 상기 (d-1) 송신된 패리티 심볼들 및 상기 응답 B를 이용하는 단계를 포함하는, 비밀 키 동의 방법.
  10. 제 9 항에 있어서,
    상기 응답 A는 A=(a1,.....an) 형태의 심볼들의 시퀀스로 구성되는, 비밀 키 동의 방법.
  11. 제 9 항에 있어서,
    상기 응답 B는 B=(b1,.....bn) 형태의 심볼들의 시퀀스로 구성되는, 비밀 키 동의 방법.
  12. 제 9 항에 있어서,
    상기 비밀 키 K는 K=(k1,.....,kk) 형태의 심볼들의 시퀀스로 구성되는, 비밀 키 동의 방법.
  13. 제 9 항에 있어서,
    상기 비밀 키 K는 부등식,
    dH(A, B) <= (d-1-k)/2
    이 만족되는 경우에만 상기 워드 W'로부터 결정될 수 있으며,
    여기서, dH(A, B)는 상기 심볼 시퀀스들 A 및 B 사이의 해밍 거리이고,
    d는 최소 거리이며,
    k는 상기 비밀 키 K에서 심볼들의 수인, 비밀 키 동의 방법.
  14. 제 9 항에 있어서,
    상기 코드워드 W는 리드-솔로몬 코드워드인, 비밀 키 동의 방법.
  15. 제 9 항에 있어서,
    상기 비밀 키 K는 부등식,
    dH(A, E) >= d-1
    이 만족되는 경우에만 상기 제 1 및 제 2 통신자(18) 이외에 다른 누군가로부터 결정될 수 없으며,
    여기서, 상기 E는 비밀 키 K를 알려고 시도하는 어태커(17)에 의해 획득되는 심볼 시퀀스이고,
    dH(A, E)는 상기 심볼 시퀀스들 A 및 E 사이의 해밍 거리이며,
    d는 최소 거리인, 비밀 키 동의 방법.
  16. 제 1 및 제 2 통신자(18) 사이의 비밀 키 동의 방법에 있어서,
    상기 제 1 통신자(16)가 소스 P(20)로부터 응답 A를 수신하는 단계;
    상기 제 2 통신자(18)가 상기 소스 P(20)로부터 응답 B를 수신하는 단계;
    상기 제 1 통신자가 상기 제 1 통신자(16)에 의해 선택된 비밀 키 K 및 상기 응답 A를 입력으로 포함하는 코드워드 W의 출력으로서 (d-1) 패리티 심볼들을 생성 하는 단계;
    상기 제 1 통신자(16)가 상기 제 2 통신자(18)에게 공중 통신 채널을 통해 A에서 평가된 의사-랜덤 함수(pseudo-random function) 및 상기 (d-1) 패리티 심볼들을 송신하는 단계; 및
    상기 제 1 통신자(16)에 의해 선택된 상기 비밀 키 K를 결정하기 위해 상기 (d-1) 패리티 심볼들, 상기 의사-랜덤 함수 평가된 A, 및 상기 응답 B를 입력으로 포함하는 워드 W'를 상기 제 2 통신자(18)가 생성하는 단계를 포함하는, 비밀 키 동의 방법.
  17. 제 16 항에 있어서,
    상기 의사-랜덤 함수는 h(A)=(h(a1)),....h(an)) 형태의 해시 함수(hash function)이고, 여기서 A는 상기 소스 P(20)로부터의 상기 응답 A인, 비밀 키 동의 방법.
  18. 제 16 항에 있어서,
    상기 응답 A는 A=(a1,.....an) 형태의 심볼들의 시퀀스로 구성되는, 비밀 키 동의 방법.
  19. 제 16 항에 있어서,
    상기 응답 B는 B=(b1,.....bn) 형태의 심볼들의 시퀀스로 구성되는, 비밀 키 동의 방법.
  20. 제 16 항에 있어서,
    상기 비밀 키 K는 K=(k1,.....,kk) 형태의 심볼들의 시퀀스로 구성되는, 비밀 키 동의 방법.
  21. 제 16 항에 있어서,
    상기 비밀 키 K는 부등식,
    dH(A, B) <= (d-1-k)
    이 만족되는 경우, 상기 워드 W'로부터 결정될 수 있으며,
    여기서, dH(A, B)는 심볼 시퀀스들 A 및 B 사이의 해밍 거리이고,
    d는 최소 거리이며,
    k는 상기 비밀 키 K에서 심볼들의 수인, 비밀 키 동의 방법.
  22. 제 16 항에 있어서,
    상기 코드워드 W는 리드-솔로몬 코드워드인, 비밀 키 동의 방법.
  23. 제 16 항에 있어서,
    상기 비밀 키 K는 부등식,
    dH(A, E) >= d-1
    이 만족되는 경우, 상기 제 1 및 제 2 통신자(18) 이외에 다른 누군가로부터 결정될 수 없으며,
    여기서, E는 상기 비밀 키 K를 알려고 시도하는 어태커(17)이고,
    dH(A, E)는 상기 심볼 시퀀스들 A 및 E 사이의 해밍 거리이며,
    d는 최소 거리인, 비밀 키 동의 방법.
  24. 제 1 및 제 2 통신자(18) 사이에 비밀 키 동의 방법에 있어서,
    등록 단계 동안:
    시간 t1에서 상기 제 1 통신자(16)로부터 소스(20)로 챌린지 C를 전송하는 단계;
    상기 챌린지 C에 대한 상기 응답 A를 수신하는 단계; 및
    시간 t2에서 상기 제 2 통신자(18)로부터 상기 소스(20)로 상기 챌린지 C를 전송하는 단계를 포함하고,
    인코딩 단계 동안:
    상기 제 1 통신자(16)가 비밀 키 K를 선택하는 단계;
    상기 비밀 키 K, 등록 단계 동안 상기 제 1 통신자(16)에 의해 수신되는 응답 A 및 (d-1) 패리티 심볼들 P를 이용하여 코드워드 W를 형성하는 단계; 및
    공중 통신 채널을 통해 상기 제 1 통신자(16)로부터 상기 제 2 통신자(18)로 A의 h(A) 의사-랜덤 함수 및 상기 (d-1) 패리티 심볼들 P를 송신하는 단계를 포함하며,
    디코딩 단계 동안:
    상기 비밀 키 K를 결정하기 위해 워드 W'를 구성하도록 상기 제 2 통신자(18)에 의해 A에서 평가된 상기 의사-랜덤 함수 및 상기 (d-1) 송신된 패리티 심볼들을 이용하는 단계를 포함하는, 비밀 키 동의 방법.
  25. 제 24 항에 있어서,
    상기 의사-랜덤 함수는 해시 함수 h(A)=(h(a_1)),....h(a_n))인, 비밀 키 동의 방법.
  26. 제 24 항에 있어서,
    상기 응답 A는 A=(a1,.....an) 형태의 심볼들의 시퀀스로 구성되는, 비밀 키 동의 방법.
  27. 제 24 항에 있어서,
    상기 응답 B는 B=(b1,.....bn) 형태의 심볼들의 시퀀스로 구성되는, 비밀 키 동의 방법.
  28. 제 24 항에 있어서,
    상기 비밀 키 K는 K=(k1,.....,kk) 형태의 심볼들의 시퀀스로 구성되는, 비밀 키 동의 방법.
  29. 제 24 항에 있어서,
    상기 비밀 키 K는 부등식,
    dH(A, B) <= (d-1-k)
    이 만족되는 경우, 상기 워드 W'로부터 결정될 수 있으며,
    여기서, dH(A, B)는 상기 심볼 시퀀스들 A 및 B 사이의 해밍 거리이고,
    d는 최소 거리이며,
    k는 상기 비밀 키 K에서 심볼들의 수인, 비밀 키 동의 방법.
  30. 제 24 항에 있어서,
    상기 코드워드 W는 리드-솔로몬 코드워드인, 비밀 키 동의 방법.
  31. 제 24 항에 있어서,
    상기 비밀 키 K는 부등식,
    dH(A, E) >= d-1
    이 만족되는 경우, 상기 제 1 및 제 2 통신자(16, 18) 이외에 다른 누군가로부터 결정될 수 없으며,
    여기서, E는 상기 비밀 키 K를 알려고 시도하는 어태커(17)에 의해 획득되는 심볼 시퀀스이고,
    dH(A, E)는 상기 심볼 시퀀스들 A 및 E 사이의 해밍 거리이며,
    d는 최소 거리인, 비밀 키 동의 방법.
  32. 제 1 및 제 2 통신자(18) 사이의 비밀 키 동의 방법에 있어서,
    상기 제 1 통신자(16)가 소스 P(20)로부터 응답 A를 수신하는 단계로서, A는 심볼들의 세트인, 상기 수신 단계;
    상기 제 2 통신자(18)가 상기 소스 P(20)로부터 응답 B를 수신하는 단계로서, B는 심볼들의 세트인, 상기 수신 단계;
    상기 제 1 통신자(16)가 심볼들의 세트 A를 시퀀스(a1,.....,aN)로 순서화하는 단계;
    상기 제 1 통신자(16)가 상기 심볼들의 순서화된 세트 A의 의사-랜덤 함수 h(A)를 계산하는 단계;
    상기 제 1 통신자(16)가 상기 제 2 통신자(18)에게 h(A)=(h(a1),...h(an))을 송신하는 단계;
    상기 제 2 통신자(18)가 세트 B에서 각각의 심볼 b에대해 심볼들의 순서화된 세트 B의 의사-랜덤 함수 h(b)를 계산하는 단계;
    상기 제 2 통신자(18)가 h(aj)=h(b)가 되도록 B에 요소가 존재하는 모든 포지션들 j를 포함하는 세트 S를 계산하는 단계; 및
    상기 제 2 통신자(18)가 상기 제 1 통신자(16)에게 세트 S를 다시 송신하는 단계; 및
    상기 제 1 및 제 2 통신자들(16, 18) 모두가 S에서 심볼들(aj, j)에 기초하여, h(aj)=h(b)인 세트 B에서 그러한 심볼들 b에 대해 조인트 키 J를 추출하는 단계를 포함하는, 비밀 키 동의 방법.
  33. 제 32 항에 있어서,
    비밀 증폭(privacy amplification)을 이용하여 상기 조인트 키 J로부터 비밀 키 K를 추출하는 단계를 더 포함하는, 비밀 키 동의 방법.
  34. 제 33 항에 있어서,
    상기 비밀 증폭를 이용하는 단계는, 해시 함수로 평가되는 조인트 키 J 및 조인트 키 J를 곱하기 위해 랜덤 행렬 곱셈기 중 하나를 이용하는 단계를 포함하는, 비밀 키 동의 방법.
  35. 제 32 항에 있어서,
    상기 응답들 A 및 B는 상기 각각의 제 1(16) 및 제 2(18) 통신자들로부터 생성된 챌린지 C에 응답하여 상기 각각의 제 1(16) 및 제 2 (18) 통신자들에 의해 수신되는, 비밀 키 동의 방법.
  36. 제 32 항에 있어서,
    상기 응답 A는 A=(a1,.....an) 형태의 심볼들의 시퀀스로 구성되는, 비밀 키 동의 방법.
  37. 제 32 항에 있어서,
    상기 응답 B는 B=(b1,.....bn) 형태의 심볼들의 시퀀스로 구성되는, 비밀 키 동의 방법.
  38. 제 32 항에 있어서,
    상기 비밀 키 K는 K=(k1,.....,kk) 형태의 심볼들의 시퀀스로 구성되는, 비밀 키 동의 방법.
KR1020067008416A 2003-10-29 2004-10-28 물리적 랜덤 함수들을 함께 공유하는 신뢰성 있는 포워드비밀 키의 시스템 및 방법 KR20060113685A (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US51531903P 2003-10-29 2003-10-29
US60/515,319 2003-10-29
US56160504P 2004-04-13 2004-04-13
US60/561,605 2004-04-13

Publications (1)

Publication Number Publication Date
KR20060113685A true KR20060113685A (ko) 2006-11-02

Family

ID=34555977

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020067008416A KR20060113685A (ko) 2003-10-29 2004-10-28 물리적 랜덤 함수들을 함께 공유하는 신뢰성 있는 포워드비밀 키의 시스템 및 방법

Country Status (5)

Country Link
US (1) US7653197B2 (ko)
EP (1) EP1683297A1 (ko)
JP (1) JP2007510349A (ko)
KR (1) KR20060113685A (ko)
WO (1) WO2005043805A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150070268A (ko) * 2012-12-27 2015-06-24 인텔 코포레이션 집적 회로 제조 동안 비밀 키들의 준비를 보안 처리하기 위한 퓨즈 증명

Families Citing this family (63)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006071380A2 (en) * 2004-11-12 2006-07-06 Pufco, Inc. Securely field configurable device
JP5264182B2 (ja) * 2005-02-07 2013-08-14 フランス・テレコム 距離認識による高速事前認証のための方法
MX2007012659A (es) * 2005-04-13 2008-01-11 Astex Therapeutics Ltd Derivados de hidroxi-benzamida y su uso como inhibidores de hsp90.
US8059816B2 (en) * 2005-05-13 2011-11-15 Temple University Of The Commonwealth System Of Higher Education Secret sharing technique with low overhead information content
JP4699099B2 (ja) * 2005-06-14 2011-06-08 富士通株式会社 通信制御装置および通信制御方法
WO2007023420A1 (en) * 2005-08-23 2007-03-01 Koninklijke Philips Electronics N.V. Information carrier authentication with a physical one-way function
CN101263503A (zh) 2005-09-14 2008-09-10 皇家飞利浦电子股份有限公司 用于确定项目的真实性的改进设备、系统和方法
WO2007069190A2 (en) * 2005-12-14 2007-06-21 Nxp B.V. On-chip estimation of key-extraction parameters for physical tokens
EP1977511B1 (en) 2006-01-24 2011-04-06 Verayo, Inc. Signal generator based device security
DE102006039327B4 (de) * 2006-08-22 2008-06-26 Nokia Siemens Networks Gmbh & Co.Kg Verfahren zur Authentifizierung
US8619742B2 (en) * 2006-10-31 2013-12-31 Telefonaktiebolaget L M Ericsson (Publ) System and method for coding WCDMA MIMO CQI reports
FR2916317B1 (fr) * 2007-05-15 2009-08-07 Sagem Defense Securite Protection d'execution d'un calcul cryptographique
CN101755269B (zh) * 2007-07-20 2012-06-27 Nxp股份有限公司 具有安全虚拟机的设备
WO2009014063A1 (ja) * 2007-07-20 2009-01-29 Nec Corporation 暗号通信方法及び暗号通信システム
US8275123B2 (en) 2007-08-17 2012-09-25 Infineon Technologies, Ag Integrated data transceiver and sensor for the generation of a symmetrical cryptographic key
WO2009079050A2 (en) 2007-09-19 2009-06-25 Verayo, Inc. Authentication with physical unclonable functions
US9232390B2 (en) 2007-12-11 2016-01-05 Telefonaktiebolaget L M Ericsson (Publ) Methods and apparatuses generating a radio base station key in a cellular radio system
CN107017988A (zh) * 2008-09-19 2017-08-04 交互数字专利控股公司 在无线通信中使用的方法及无线发射/接收单元
US8744077B2 (en) * 2008-10-28 2014-06-03 International Business Machines Corporation Cryptographic encoding and decoding of secret data
TWI498827B (zh) * 2008-11-21 2015-09-01 Verayo Inc 非連網射頻辨識裝置物理不可複製功能之鑑認技術
US8838976B2 (en) * 2009-02-10 2014-09-16 Uniloc Luxembourg S.A. Web content access using a client device identifier
JP5423088B2 (ja) * 2009-03-25 2014-02-19 ソニー株式会社 集積回路、暗号通信装置、暗号通信システム、情報処理方法、及び暗号通信方法
US8811615B2 (en) * 2009-08-05 2014-08-19 Verayo, Inc. Index-based coding with a pseudo-random source
US8468186B2 (en) * 2009-08-05 2013-06-18 Verayo, Inc. Combination of values from a pseudo-random source
US8848905B1 (en) * 2010-07-28 2014-09-30 Sandia Corporation Deterrence of device counterfeiting, cloning, and subversion by substitution using hardware fingerprinting
US8868923B1 (en) 2010-07-28 2014-10-21 Sandia Corporation Multi-factor authentication
US8516269B1 (en) 2010-07-28 2013-08-20 Sandia Corporation Hardware device to physical structure binding and authentication
US8667265B1 (en) 2010-07-28 2014-03-04 Sandia Corporation Hardware device binding and mutual authentication
US8483387B2 (en) * 2010-12-07 2013-07-09 Mitsubishi Electric Research Laboratories, Inc. Method for generating private keys in wireless networks
DE102011081421A1 (de) 2011-08-23 2013-02-28 Siemens Ag System zur sicheren Übertragung von Daten und Verfahren
US8525549B1 (en) 2012-02-23 2013-09-03 International Business Machines Corporation Physical unclonable function cell and array
US9331012B2 (en) 2012-03-08 2016-05-03 International Business Machines Corporation Method for fabricating a physical unclonable interconnect function array
FR2988249B1 (fr) * 2012-03-15 2014-02-28 Morpho Procede de cryptage d'une pluralite de donnees en un ensemble securise
CN102647258B (zh) * 2012-03-31 2014-11-05 电子科技大学 无线通信mimo系统的跨层增强安全处理方法
US9018972B1 (en) 2012-06-04 2015-04-28 Sandia Corporation Area-efficient physically unclonable function circuit architecture
US8941405B2 (en) 2012-08-03 2015-01-27 International Business Machines Corporation FET pair based physically unclonable function (PUF) circuit with a constant common mode voltage
US8525169B1 (en) 2012-08-10 2013-09-03 International Business Machines Corporation Reliable physical unclonable function for device authentication
US8741713B2 (en) 2012-08-10 2014-06-03 International Business Machines Corporation Reliable physical unclonable function for device authentication
US8861736B2 (en) 2012-11-19 2014-10-14 International Business Machines Corporation Reliable physical unclonable function for device authentication
US20150134966A1 (en) 2013-11-10 2015-05-14 Sypris Electronics, Llc Authentication System
US9189654B2 (en) 2013-12-04 2015-11-17 International Business Machines Corporation On-chip structure for security application
CN103647653B (zh) * 2013-12-24 2016-08-24 深圳国微技术有限公司 一种设备之间认证与密钥协商方法
US9166588B2 (en) 2014-01-20 2015-10-20 Globalfoundires Inc. Semiconductor device including enhanced variability
US9672342B2 (en) 2014-05-05 2017-06-06 Analog Devices, Inc. System and device binding metadata with hardware intrinsic properties
US9946858B2 (en) 2014-05-05 2018-04-17 Analog Devices, Inc. Authentication system and device including physical unclonable function and threshold cryptography
US10432409B2 (en) 2014-05-05 2019-10-01 Analog Devices, Inc. Authentication system and device including physical unclonable function and threshold cryptography
JP6622795B2 (ja) 2014-05-22 2019-12-18 アナログ ディヴァイスィズ インク 動的鍵生成を用いるネットワーク認証システム
JP2016046719A (ja) 2014-08-25 2016-04-04 株式会社東芝 データ生成装置、通信装置、移動体、データ生成方法およびプログラム
US9558128B2 (en) 2014-10-27 2017-01-31 Seagate Technology Llc Selective management of security data
US9680651B2 (en) 2014-10-27 2017-06-13 Seagate Technology Llc Secure data shredding in an imperfect data storage device
US9501664B1 (en) 2014-12-15 2016-11-22 Sandia Corporation Method, apparatus and system to compensate for drift by physically unclonable function circuitry
JP2016134671A (ja) * 2015-01-16 2016-07-25 株式会社東芝 データ生成装置、通信装置、通信システム、移動体、データ生成方法およびプログラム
WO2016187432A1 (en) * 2015-05-19 2016-11-24 Michael Fiske Hiding a public key exchange in noise
CN105245335A (zh) * 2015-11-03 2016-01-13 天津津航计算技术研究所 一种密钥实时更新系统和方法
US10095635B2 (en) 2016-03-29 2018-10-09 Seagate Technology Llc Securing information relating to data compression and encryption in a storage device
US10320573B2 (en) 2016-11-09 2019-06-11 Arizona Board Of Regents On Behalf Of Northern Arizona University PUF-based password generation scheme
US10185820B2 (en) * 2016-11-09 2019-01-22 Arizona Board Of Regents On Behalf Of Northern Arizona University PUF hardware arrangement for increased throughput
US10050796B2 (en) 2016-11-09 2018-08-14 Arizona Board Of Regents On Behalf Of Northern Arizona University Encoding ternary data for PUF environments
US10425235B2 (en) 2017-06-02 2019-09-24 Analog Devices, Inc. Device and system with global tamper resistance
US10958452B2 (en) 2017-06-06 2021-03-23 Analog Devices, Inc. System and device including reconfigurable physical unclonable functions and threshold cryptography
TWI696111B (zh) * 2018-01-10 2020-06-11 力旺電子股份有限公司 隨機碼產生器
US11343108B2 (en) 2019-06-12 2022-05-24 Arizona Board Of Regents On Behalf Of Northern Arizona University Generation of composite private keys
CN115150828A (zh) * 2022-07-12 2022-10-04 西安电子科技大学 一种基于位置密码的无人机身份认证及密钥协商方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ATE129368T1 (de) 1991-04-29 1995-11-15 Omnisec Ag Auf dem unterschied zwischen zwei informationen basierendes verschlüsselungssystem.
US20030219121A1 (en) * 2002-05-24 2003-11-27 Ncipher Corporation, Ltd Biometric key generation for secure storage

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150070268A (ko) * 2012-12-27 2015-06-24 인텔 코포레이션 집적 회로 제조 동안 비밀 키들의 준비를 보안 처리하기 위한 퓨즈 증명
CN104798338A (zh) * 2012-12-27 2015-07-22 英特尔公司 用于在集成电路制造期间保护密钥制备的熔丝认证
CN104798338B (zh) * 2012-12-27 2018-01-19 英特尔公司 用于在集成电路制造期间保护密钥制备的熔丝认证

Also Published As

Publication number Publication date
JP2007510349A (ja) 2007-04-19
WO2005043805A1 (en) 2005-05-12
EP1683297A1 (en) 2006-07-26
US7653197B2 (en) 2010-01-26
US20080044027A1 (en) 2008-02-21

Similar Documents

Publication Publication Date Title
US7653197B2 (en) System and method of reliable forward secret key sharing with physical random functions
US10931467B2 (en) Authentication system and device including physical unclonable function and threshold cryptography
US11882218B2 (en) Matching system, method, apparatus, and program
US9998445B2 (en) Authentication system
EP2526505B1 (en) Device and method for obtaining a cryptographic key
US20120183135A1 (en) Reliable puf value generation by pattern matching
JP2015522998A (ja) 安全通信方法
US20190140819A1 (en) System and method for mekle puzzles symeteric key establishment and generation of lamport merkle signatures
CN106100823B (zh) 保护密码装置
Liu et al. A Lightweight RFID Authentication Protocol based on Elliptic Curve Cryptography.
CN113114475A (zh) 基于比特自检puf身份认证系统及协议
Sun et al. Face security authentication system based on deep learning and homomorphic encryption
US11917063B2 (en) Public/private key system with increased security
US9860062B2 (en) Communication arrangement and method for generating a cryptographic key
KR102024379B1 (ko) 생체 정보 기반의 전자 서명이 가능한 데이터 전송 장치 및 그 동작 방법
Chen et al. A secure RFID authentication protocol adopting error correction code
US20220358203A1 (en) Puf-rake: a puf-based robust and lightweight authentication and key establishment protocol
Yu et al. Security and reliability properties of syndrome coding techniques used in PUF key generation
Bringer et al. An application of the Naccache-Stern knapsack cryptosystem to biometric authentication
CN114157418B (zh) 一种基于量子网络的可信数据上链装置及方法
Doumen Some applications of coding theory in cryptography
Wallrabenstein Implementing authentication systems based on physical unclonable functions
Mehrabani et al. SURC: Secure Ultra-lightweight RFID Authentication Protocol with Crossover
EP3609117A1 (en) Key encapsulation protocols
Duc et al. Enhancing security of Class i Generation 2 RFID against traceability and cloning

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid