KR101407220B1 - 리셋 가능한 변조 방지 하드웨어 토큰을 이용한 효과적인 보안 함수 평가 방법 - Google Patents

리셋 가능한 변조 방지 하드웨어 토큰을 이용한 효과적인 보안 함수 평가 방법 Download PDF

Info

Publication number
KR101407220B1
KR101407220B1 KR1020117028489A KR20117028489A KR101407220B1 KR 101407220 B1 KR101407220 B1 KR 101407220B1 KR 1020117028489 A KR1020117028489 A KR 1020117028489A KR 20117028489 A KR20117028489 A KR 20117028489A KR 101407220 B1 KR101407220 B1 KR 101407220B1
Authority
KR
South Korea
Prior art keywords
parameter
user
value
computer
sprfg
Prior art date
Application number
KR1020117028489A
Other languages
English (en)
Other versions
KR20120013415A (ko
Inventor
블라디미르 콜레스니코브
Original Assignee
알까뗄 루슨트
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 알까뗄 루슨트 filed Critical 알까뗄 루슨트
Publication of KR20120013415A publication Critical patent/KR20120013415A/ko
Application granted granted Critical
Publication of KR101407220B1 publication Critical patent/KR101407220B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/606Protecting data by securing the transmission between two devices or processes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • H04L9/0662Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
    • 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/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • H04L9/0897Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage involving additional devices, e.g. trusted platform module [TPM], smartcard or USB
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/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/3234Cryptographic 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 additional secure or trusted devices, e.g. TPM, smartcard, USB or software token
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/50Oblivious transfer

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명의 일 실시예는 한 사용자의 사적인 정보를 다른 사용자에게 전송 - 비의도적 전송으로 알려진 프리미티브 - 하기 위한 컴퓨터 구현된 방법을 제공한다. 강력한 의사랜덤 함수 생성(strong pseudorandom function generation: SPRFG)으로부터의 출력은 제1 사용자의 컴퓨팅 모듈에 의해 제1 및 제2 파라미터에 기초하여 계산되며, 상기 제1 파라미터는 두 비밀 키들 중 하나를 명시하며, 상기 제2 파라미터는 상기 제1 사용자에 의한 SPRFG의 도메인 내에서 선택된 값이다. 제1 사용자는 저장된 두 비밀 키들을 판독 또는 습득하지 못한다. 출력은 제2 사용자의 컴퓨터에 전송되고, 상기 제2 사용자의 컴퓨터는 각기 제1 및 제2 비밀 키, 및 대응하는 제2 사용자의 사적인 값들을 이용하여 역 SPRFG 계산에 기초하는 제1 및 제2 암호화된 값을 생성한다. 상기 암호화된 값은 제1 사용자의 제1 컴퓨터에 송신되고, 상기 제1 사용자의 제1 컴퓨터는 상기 제2 파라미터 및 사용된 상기 제1 및 제2 키 중 하나에 대응하는 상기 제1 및 제2 암호화된 값 중 하나에 기초하여 수학적 계산을 이용하여 사적인 값들 중 하나를 계산한다.

Description

리셋 가능한 변조 방지 하드웨어 토큰을 이용한 효과적인 보안 함수 평가 방법{A METHOD OF EFFICIENT SECURE FUNCTION EVALUATION USING RESETTABLE TAMPER-RESISTANT HARDWARE TOKENS}
본 발명은 암호 프리미티브 비의도적 전송(cryptographic primitive Oblivious Transfer), 즉, 한 상대방이 소유한 적어도 하나의 비밀 문자열(secret string)/값(value)을 다른 상대방에게 전달하여 다른 상대방이 사적인 정보를 전부 자체 습득할 수 없어도 소정의 사적인 정보를 사용할 수 있도록 구현한 것에 관한 것이다.
그 용도의 일례는 보안 함수 평가(secure function evaluation: SFE)에서 자신들의 사적인 입력을 통해 계산하고자 하는 당사자들에게 프라이버시(privacy)를 제공하는 함수 평가의 방법이다. 보다 상세히 말해서, 본 발명은 당사자들 간의 정보의 통신과 관련된 암호화된 파라미터를 해독하는데 사용하기 위해 어느 당사자의 두 개의 비밀값(키) 중 하나의 비밀값이 다른 당사자가 만든 계산값에 접근할 수 있게 만들어지는 방법을 제시하지만, 그러나 이 방법에서, 다른 당사자는 두 키들 중 다른 키를 습득할 수 없다.
SFE의 구현이 개시되어 있으며, 예를 들면, USENIX 2004, D. Malkhi, N. Nisan, B Pinkas과 Y.Sella의 "Fairplay - A Secure Two-party Computation System"를 참고한다. 두 당사자의 일반적인 보안 함수 평가(SFE)는 두 당사자로 하여금 이들 각각의 입력 x 및 y의 비밀 정보를 유지하면서 두 입력 x 및 y에 대한 어떤 함수를 평가하게 한다. SFE 알고리즘은 참가자들의 상호 불신으로 인해 이전에는 불가능한 각종 전자 상거래를 가능하게 해준다. 그 예는 경매, 계약 체결, 분산 데이터베이스 마이닝 등을 포함한다. 계산 및 통신 자원이 증가함에 따라, SFE가 실용화되고 있다. 정당한 행위(fairplay)는 악의적인 행위자들을 가진 일반적인 두 당사자 SFE의 구현이다. 이것은 약 백만 게이트에 달하는 회로로 표현된 유용한 많은 함수에 대해 SFE를 실행할 수 있음을 보여주는 것이다. SFE 프로토콜 구현의 다른 예는 SCN 2008, Y Lindell, B Pinkas, N. Smart의 "Implementing Two-party Computation Efficiently with Security Against Malicious Adversaries" 이다.
SFE에 맞는, 특히 부울린 회로에 적합한 가블드 회로(garbled circuit: GC) 기술의 사용은 Yehuda Lindell and Benny Pinkas에 의해 "A Proof of Yao's Protocol for Secure Two-Party Computation", Cryptology ePrint Archive, Report 2004/175, 2004, http://eprint.iacr.org/. 에 기술되어 있다. GC 기술에서 한 단계는 송신자의 두 비밀 키 중 하나를 수신자에게로 무의식적 전달(oblivious transfer: OT)하는 것이다. 이러한 비밀 키의 전달 단계는 보통 공개키 암호화 기술로 구현되며 계산 집약적이다.
본 발명의 목적은 송신측의 두 키들 중 하나의 키를 수신측에 의해 사용하는 것에 기초하여 정보를 수신측에 안전하게 전송하는 방법을 제공하는 것이며, 이 경우 상기 하나의 키는 수신자의 장비가 계산한 값에 접근가능하지만 수신측은 사적인 정보를 전부 습득할 수 없으며, 송신자는 상기 사적인 정보의 어느 부분이 전송되었는지 알지 못한다. 이로써 그러한 전송을 수행하는데 전형적으로 필요한 계산력을 최소화시킨다. 이것은 특히 반드시 그렇지는 않겠지만 SFE 기술에서 가블드 회로를 해독할 때 사용된 정보를 전송하는데 적합하다.
본 발명의 일 실시예에서, 제1 당사자에 의해 생성된 변조 방지 토큰(tamper-proof token)(T)이 제2 당사자에게 연산을 위해 제공된다. 본 실시예는 잠재적으로 악의적일 수 있는 제2 당사자가 토큰을 원래 상태로 리셋하는 제2 당사자의 부동작에 의존하지 않는다. 그러므로, 본 실시예는 종래 기술이 보안을 제공하지 않았던 한 부류의 공격자에게는 보안을 제공한다.
본 발명의 일 실시예는 사적인 정보를 전송하기 위한 컴퓨터 구현 방법을 제공한다. 강력한 의사랜덤 함수 발생기(strong pseudorandom function generator : SPRFG)의 출력은 제1 및 제2 파라미터에 기초하여 제1 사용자의 컴퓨팅 모듈, 예를 들면, 제2 사용자에 의해 제1 사용자에게 제공된 리셋 가능한 변조방지 토큰에 의해 계산되며, 상기 제1 파라미터는 두 개의 비밀 키 중 하나의 키를 명시하는데 사용되며, 제2 파라미터는 제1 사용자에 의해 SPRFG의 도메인 내에서 랜덤하게 선택된 값이다. 상기 제1 사용자는 저장된 두 비밀 키를 판독 또는 습득하지 못하게 방지된다. 상기 출력은 제2 사용자의 컴퓨터에 전송되고, 상기 제2 사용자의 컴퓨터는 각기 상기 제1 및 제2 비밀 키를 이용하는 역 SPRFG 계산 및 상기 제2 사용자의 사적인 값에 기초한 제1 및 제2 암호화된 값을 생성한다. 상기 암호화된 값은 제1 사용자의 컴퓨터에 송신되고, 상기 제1 사용자의 컴퓨터는 상기 제2 파라미터 및 사용된 상기 제1 및 제2 키 중 하나에 대응하는 상기 제1 및 제2 암호화된 값 중 하나의 값에 기초한 수학적 계산을 이용하여 상기 사적인 값을 계산한다.
다른 실시예는 일반적으로 전술한 요건을 구현하도록 구성된 컴퓨팅 장치를 포함한다.
본 발명의 예시적인 구현의 특징은 상세한 설명, 청구범위 및 첨부 도면으로부터 자명해질 것이다.
도 1은 본 발명에 따른 방법을 구현하기 위해서 한 당사자에 의해 사용하기에 적합한 예시적인 컴퓨팅 장치의 블록도이다.
도 2는 본 발명에 따른 제거가능한 카드에 의해 구현된 예시적인 방법의 흐름도이다.
도 3은 본 발명의 방법에 따라 두 당사자들이 통신하는 예시적인 컴퓨팅 시스템의 블록도이다.
도 4는 본 발명에 따라 도 3의 송신측의 컴퓨팅 장치에 의해 구현된 예시적인 방법의 흐름도이다.
도 5는 본 발명에 따라 도 3의 수신측의 컴퓨팅 장치에 의해 구현된 예시적인 방법의 흐름도이다.
본 발명의 일 양태는 송신측의 비밀 키들을 보유하고 있는 수신측이 소유하는 제거가능한 변조 방지 카드의 사용이 키들에 기초한 값, 예를 들면, SFE 값을 처리하기 위한 방법에서 활용될 수 있고, 그래서 계산 효율을 상당히 증대시키면서 데이터 전송 동작에 대해 허용가능한 보안을 제공할 수 있음을 인식하는데 있다.
도 1에서, 본 발명에 따른 SFE 방법을 구현하는데 적합한 컴퓨팅 장치(10)는 저장된 프로그램 명령어에 기초하여 프로세스 및 작업을 실행하는 마이크로프로세서(12)를 포함한다. 마이크로프로세서는 판독 전용 메모리(ROM)(14), 랜덤 액세스 메모리(RAM)(16) 및 비휘발성 데이터 스토리지 디바이스(18)에 의해 지원된다. 당업자에게 이해되는 바와 같이, ROM(14)에 저장된 프로그램 명령어 및 데이터는 전형적으로 마이크로프로세서(12)에 의해 활용되어 컴퓨팅 장치를 초기화하고 부팅한다. 애플리케이션 프로그램, 예를 들면, 가블드 테이블 값의 저장 및 언가블링을 포함하는 SFE의 구현을 제어하는 프로그램은 비휘발성 스토리지 디바이스(18)에 저장된다. 애플리케이션 프로그램의 적어도 활성 부분은 전형적으로 마이크로프로세서(12)에 의해 액세스 및 프로세싱을 준비하기 위해 RAM(16)에 저장될 것이다. 각종 사용자 입력(20), 이를 테면, 키보드, 키패드, 및 마우스는 명령어, 예를 들면, SFE 입력 및 연산 제어를 입력하는데 활용될 수 있다. 사용자 출력 디바이스(22), 이를 테면, 디스플레이 스크린 및/또는 프린터는 사용자에 의해 입력된 정보 또는 SFE의 중간 또는 최종 출력과 연관된 정보를 표현하는 시각적 출력, 예를 들면, 문자를 제공한다. 입/출력(I/O) 모듈(24)은 수신측에 의해 장치(10)가 사용되는 SFE 교환에서 마이크로프로세서(12)가 외부 노드, 예를 들면, 송신측의 장치와 데이터를 전송하고 수신하게 해주는 통신 인터페이스를 제공한다. 본 발명에 따라서 제거가능한 카드(30)를 수용하고 그 카드와 통신하는데 적합한 카드 슬롯(26)은 입/출력 모듈(27)에 의해 마이크로프로세서(12)에 연결된다.
예시적인 구현에서 제거가능한 카드(30)는 ROM(34), RAM(36) 및 I/O 모듈(38)에 연결되고 지원되는 마이크로프로세서(32)를 포함한다. 카드(30)는 I/O 모듈(38)과 연관되어 카드(30)가 장치(10)에서 삽입된 위치에 있을 때 카드 슬롯(26)과 연관된 대응 접점과 연동하도록 설계된 다수의 핀(40)을 포함한다. 본 발명의 예시적인 방법에 따라서 장치(10) 및 카드(30)에서 소프트웨어에 의해 구현된 단계들은 SFE 값의 언가블링(ungarbling)을 수행한다. 장치(10) 및 카드(30)는 서로 협력하여 이들 단계를 아래에서 설명된 바와 같이 실행한다.
일 실시예에서, 본 방법은 한 당사자의 컴퓨터에 연결된 다른 당사자의 비밀 키를 저장하되 드러내지 않는 토큰, 즉, 카드에 액세스하는 한 당사자의 컴퓨터에 의해 구현된다. 강력한 의사랜덤 함수 생성(strong pseudorandom function generation: SPRFG)은 리셋 가능한 (즉, 상기 토큰은 카드를 원래 상태로 리셋하려는 아마도 악의적인 제2 당사자의 공격에 약할 수 있는) 토큰에 포함된 비밀 키에 기초하여 정보를 한 당사자에서 다른 당사자에게 전송하는데 사용될 수 있다. 본 명세서에서 사용된 바와 같은, "SPRFG"는 역함수를 효율적으로 계산해주는 의사랜덤 함수 생성(또는 생성기)을 의미하는 것으로, 즉, y = PRFGk(x) 및 k로부터, 효과적으로 PRFG-1 k(y) = x를 계산할 수 있다.
도 2는 카드(30)의 동작과 관련한 예시적인 단계를 도시한다. 단계(50)에서, 송신측에 의해 송신측의 두 개의 비밀 키(k0, k1)가 선택되고, 카드(리셋 가능한 변조 방지 토큰)에 입력되고, 그런 다음 카드가 수신측에 제공된다. 단계(52)에서, 함수 호출(function call) eval(i,d) = PRFGk _i(d)에 응답하여 카드의 동작(즉, 인터페이스)을 출력을 생성하는 것으로만, 즉 eval(i,d) 호출의 계산의 출력만이 카드로부터 접근할 수 있게 제한하는 애플리케이션과 함께 카드에서 SPRFG 함수가 구현된다. 카드는 eval(i,d)의 각 함수 호출에 응답하여 단일 출력만을 계산하고 생성하도록 설계되며, 여기서 eval은 평가 함수 호출(evaluate function call)이고, i는 두 키들 중 한 키가 활용될 것임을 명시하는 eval 함수의 파라미터로서 정수 0(제로) 또는 일(1)이며, d는 수신자에 의해 입력된 값이다. 연관된 파라미터를 갖는 각 함수 호출을 수신하면, 카드(30)는 SPRFGk (i)(d)를 나타내는 결과값을 계산하고 출력한다.
단계(54)에서, 카드가 단계(50 및 52)에 따라서 앞에서 설명한 바와 같이 구성되면, 카드는 수신측의 컴퓨터에 연결된다. eval 함수 호출과 연관된 입력 파라미터(i 및 d)는 수신측에 의해 입력되며, 여기서 d는 SPRFG의 도메인으로부터의 랜덤한 값이며 i는 앞에서 설명한 바와 같다. 단계(56)에서, 카드(30)는, 함수 호출 요청 및 수신측에 의해 연관된 파라미터의 입력의 수신에 응답하여, SPRFGk (i(j))(dj)를 나타내는 값 vj = eval(ij,dj)를 계산하고 그 값을 수신측의 컴퓨터에 출력한다.
도 3은 본 발명의 방법에 따라서 두 당사자가 통신하는 예시적인 컴퓨팅 시스템의 블록도이다. 수신측의 장치(70), 즉, 카드(30)를 갖는 컴퓨터(10)는 송신측의 장치(72), 즉, 역시 카드(30)를 갖는 컴퓨터(10)와 통신한다. 앞에서 설명한 바와 같이, 수신측의 컴퓨터인, 수신측의 컴퓨터(10)에 의한 함수 호출은 카드(30)에 의해 처리되며 컴퓨터(10)는 그의 카드(30)로부터 대응하는 출력값(v)을 수신한다. 이 출력(v)은 예시적인 경로(74)로 도시된 바와 같이 송신측의 장치(72)로 전송된다. 값(v)을 수신할 시, 송신측의 장치(72)는 도 4를 참조하여 더욱 상세히 설명되는 바와 같이 값(e0 및 e1)을 계산하고, 이들 값을 예시적인 경로(76)로 도시된 바와 같이 수신측의 장치(70)로 전송한다. 이들 값은 도 5에서 더 설명되는 바와 같이 수신측의 장치(70)에 의해 암호화된 값을 해독하는데 활용된다.
도 4는 도 3의 송신측의 컴퓨팅 장치(72)에 의해 구현된 예시적인 방법의 흐름도이다. 단계(80)에서, 송신측의 장치(72)는 수신측의 장치(70)로부터 값(v)을 수신하였다. 단계(82)에서, 송신측의 장치(72)는 다음과 같이 규정된 값(e0,e1)을 계산한다.
Figure 112011094604166-pct00001
여기서 SPRFG-1 ko(v) 및 SPRFG-1 k1(v)는 각기 비밀 키(k0 및 k1)에 기초한 v의 역 PRFG 함수이고, 상기 비밀 키는 송신자에 의해 규정되어 있고, 따라서 송신자가 알고 있으며; XOR은 배타적 OR 함수를 나타내며; 그리고 s0 및 s1은 송신자에게 알려진 비밀값이며, 그 중 하나(수신자에 의해 선택됨)만 값(e0,e1)의 암호화된 포맷으로 수신자에게 전송하고자 한 값이다. 단계(84)에서, 송신측의 장치(72)는 값(e0,e1)을 수신측의 장치(70)에 전송하며, 수신측의 장치는 이들 값을 사용하여 수신된 값(ei)으로부터 원하는 값(si)을 해독한다.
도 5는 도 3의 수신측의 컴퓨팅 장치에 의해 구현된 예시적인 방법의 흐름도이다. 단계(90)에서, 수신측의 장치(70)의 컴퓨터(10)는 그의 카드(30)의 함수 호출(function call)을 하고 연관된 파라미터로서 ij 및 dj 입력을 수신측의 장치의 컴퓨터(10)에 연결된 카드(30)로 전송한다. 이 예에서, "j"는 수신측에 의한 대응 비암호 값(unencrypted value)에 대한 궁극적인 결정과 연관된 특정 세트의 값과 연관된 값을 나타낸다. 실행된 함수 호출 eval(ij,dj)의 결과 값(vj)은 카드에 의해 계산된다. 단계(92)에서, 값(vj)은 수신측의 컴퓨터(10)에 의해 카드로부터 수신되고, 수신측의 컴퓨터는 이를 송신측의 장치(72)로 전송한다. 단계(94)에서, 수신측의 장치(70)는 송신측의 장치(72)로부터 값(vj)에 기초하여 생성된 값(e0,e1)을 수신한다. 단계(96)에서, 수신측의 장치(70)는 입력(ij)에 대한 비암호 값(si)을 계산하며, 여기서 비암호 값(si)은 다음과 같이 계산된다.
Figure 112011094604166-pct00002
여기서, d는 SPRFG의 도메인으로부터 수신측에 의해 선택된 랜덤한 변수이고; XOR은 배타적 OR 함수이며; 그리고 ei 송신측로부터 수신된 값이다.
수신자의 사적인 정보는 송신자에 대해 유지되고 있는데, 이것은 송신자가 SPRFG의 도메인 내에 있는 단일 값(v)을 갖고 있을 뿐이기 때문이며, i=0 또는 i=1 로 생성되었을 수 있다. 수신자가 두 개의 키, 즉 SPRFG-1 ko 및 SPRFG-1 k1 존재하에서 그의 원상(preimages)을 알도록 하는 값(v)을 수신기가 획득하지 못할 것이기 때문에 수신기에 대해 송신자의 사적인 정보가 유지된다. 이것은 수신자가 키(k0,k1) 자체의 값을 습득하는 방법을 갖고 있지 않기 때문이며, 카드는 수신자가 SPRFG 함수를 "포워드(forward)" 방향으로 평가만을 할 수 있음을 보증한다는 것으로, 즉, 카드는 수신기가 역 SPRFG 계산 수행에 액세스 못하게 하는 것이다.
본 발명의 실시예의 특징은 토큰(T)이 v 라는 계산에 따라 그의 상태를 유지하지 않고, 그러므로 (T)를 리셋하여도 악의적인 수신자에 도움이 되지 않을 것이고, 따라서 향상된 보안을 제공한다는 것이다. 이것은 현재의 함수를 구현하기 위해 보안 실행 카운터에 의존하는 종래 기술의 해법과 대조되는 것이다. 명백히 말해서, 종래 기술의 카드를 리셋하는 것은 그의 카운트를 리셋하고 종래 기술의 해법의 보안 가정을 무효화하는 것이다.
이러한 방법은 특히 배타적인 것은 아니지만, 당사자들이 각각의 입력에서 어떤 함수를 평가하게 해주는 SFE에서 사용하면서 그 입력의 사적인 정보를 보유하는데 적합하다. 가블드 회로(GC) 접근법은 부울린 회로의 SFE의 효과적인 방법이다. 종래 기술의 GC의 계산 집약적 단계는 송신자가 보유한 두 비밀 키들 중 하나를 비의도적으로 수신자에게 전송하는 것이다.
비록 본 발명의 예시적인 구현예가 본 명세서에서 상세히 도시되고 설명되었을지라도, 당업자에게는 본 발명의 정신을 일탈함이 없이도 여러 변형, 부가, 및 대체 등이 이루어질 수 있음이 명백할 것이다. 비록 전술한 실시예에서 두 비밀 키 중 선택된 한 키를 이용하여 계산을 수행하면서 사용자에게 키들 자체의 값이 판독되지 못하도록(개시되지 않도록) 제거가능한 카드(30)가 도시되었을지라도, 필요로 하는 함수를 지원하는 다른 구조 또는 디바이스가 제거가능한 카드(30) 대신 대체될 수도 있다. 예를 들면, 메모리 모듈은 비밀 키를 저장할 수 있으며, 비밀 키로의 직접적인 접근을 방지하면서, 즉, 저장된 비밀 키의 값이 사용자에게 직접 판독되고 개시될 수도 있는 통상의 메모리 판독 동작을 방지하면서 그 키를 활용하여 필요로 하는 계산을 하는 연관된 하드웨어, 펌웨어 및/또는 소프트웨어와 함께 활용될 수 있다. 대안으로, 비밀 키를 저장하고, 수신된 입력에 따라 SPRFG 동작을 지원하며, USB 포트에 의해 연결된 관련 컴퓨터로부터 저장된 비밀 키로의 직접적인 판독 액세스를 방지하도록 USB 포트 인터페이스를 갖는 컴퓨팅 모듈이 활용될 수도 있다.
본 발명의 범주는 다음의 특허청구범위에서 규정된다.
10: SFE 컴퓨터
12: 마이크로프로세서
14: ROM
16: RAM
20: 사용자 입력
22: 사용자 출력
24, 27 : I/O
26: 카드 슬롯
30: 카드
32: 마이크로프로세서
34: ROM
36: RAM
38: I/O

Claims (10)

  1. 사적인 정보의 전송을 위해 컴퓨터로 구현되는 방법으로서,
    제1 사용자의 제1 컴퓨터의 제1 컴퓨팅 모듈에서, 강력한 의사랜덤 함수 생성(strong pseudorandom function generation: SPRFG)에 기초한 함수를 제1 파라미터 및 제2 파라미터로 계산하라는 요청을 수신하는 단계 - 상기 제1 파라미터 및 제2 파라미터는 상기 요청과 연관되어 있고, 상기 제2 파라미터는 상기 제1 사용자에 의해 상기 SPRFG의 도메인 내에서 선택된 값임 - 와,
    상기 제1 컴퓨팅 모듈에 의해 상기 제1 파라미터 및 상기 제2 파라미터에 기초하여 상기 SPRFG 함수의 출력을 계산하는 단계 - 상기 제1 파라미터는 상기 SPRFG 함수의 계산 시에 사용된 상기 제 1 컴퓨팅 모듈에 저장된 두 비밀 키들 중 하나를 명시하며, 상기 제1 컴퓨팅 모듈은 상기 제1 사용자가 상기 저장된 두 비밀 키들을 판독 또는 습득하는 것을 방지함 - 와,
    상기 출력을 제2 사용자의 제2 컴퓨터로 전송하는 단계와,
    상기 제2 컴퓨터로부터, 제1 비밀 키 및 제2 비밀 키를 각기 이용하는 역 SPRFG 계산과 상기 제2 사용자의 각각의 제1 사적인 값 및 제2 사적인 값에 기초한 제1 암호화된 값 및 제2 암호화된 값을 수신하는 단계 - 상기 비밀 키들은 상기 제2 사용자에게 알려져 있음 - 와,
    상기 제1 컴퓨팅 모듈에 연결된 상기 제1 컴퓨터에 의해, 상기 제2 파라미터와 상기 제1 암호화된 값과 상기 제2 암호화된 값 중 하나의 값에 기초한 수학적 계산을 이용하여 상기 제1 사적인 값 및 상기 제2 사적인 값 중 하나의 값을 계산하는 단계를 포함하는
    방법.
  2. 제1항에 있어서,
    상기 제1 파라미터는 상기 두 비밀 키들 중 하나를 명시하고,
    상기 제 1 컴퓨팅 모듈에 의한 상기 방지는, 상기 제1 컴퓨팅 모듈이 제1 파라미터 및 제2 파라미터로 강력한 의사랜덤 함수 생성(SPRFG)에 기초한 함수를 계산하라는 상기 제1 사용자에 의한 요청에 대해서만 응답하고, 상기 제1 사용자에 의한 액세스를 위해 상기 출력만을 제공하는 단계를 포함하는
    방법.
  3. 제1항에 있어서,
    상기 제1 암호화된 값 및 상기 제2 암호화된 값은 하나의 비밀 키 및 다른 비밀 키에 대한 출력의 역 SPRFG 계산과, 각각의 상기 역 SPRFG 계산과 그에 대응하는 제1 사적인 값 및 제2 사적인 값의 배타적 OR 연산을 포함하는
    방법.
  4. 사적인 정보의 전송을 위해 컴퓨터로 구현되는 방법으로서,
    제2 컴퓨터에서, 제1 컴퓨터에 의해 계산된 출력을 수신하는 단계 - 상기 제1 컴퓨터에 의한 출력은 제1 파라미터 및 제2 파라미터에 기초한 강력한 의사랜덤 함수 생성(strong pseudorandom function generation: SPRFG)에 기초한 함수이고, 상기 제1 파라미터는 상기 제1 컴퓨터에 저장된 제1 비밀 키 및 제2 비밀 키 중 하나를 명시하며, 상기 제2 파라미터는 상기 제1 컴퓨터의 제1 사용자에 의해 상기 SPRFG의 도메인 내에서 선택된 값임 - 와,
    상기 제2 컴퓨터에 의해, 상기 출력 및 상기 제2 컴퓨터의 상기 제2 사용자에게 알려진, 또한 각기 상기 제2 사용자의 제1 사적인 값 및 제2 사적인 값에 기초하는 상기 제1 비밀 키 및 상기 제2 비밀 키를 이용한 역 SPRFG 계산에 기초한 제1 암호화된 값 및 제2 암호화된 값을 계산하는 단계와,
    상기 제2 컴퓨터로부터의 상기 제1 암호화된 값 및 상기 제2 암호화된 값을, 상기 제1 암호화된 값 및 상기 제2 암호화된 값 중 하나로부터 상기 사적인 값을 해독하도록 구성된 상기 제1 컴퓨터로 전송하는 단계를 포함하는
    방법.
  5. 제4항에 있어서,
    상기 제1 파라미터는 상기 제1 비밀 키와 상기 제2 비밀 키 중 하나를 명시하고,
    제1 컴퓨팅 모듈은 상기 제1 사용자가 상기 제1 비밀 키 및 상기 제2 비밀 키를 판독 또는 습득하는 것을 방지하도록 구성되어 있고, 상기 제1 컴퓨팅 모듈은 SPRFG에 기초한 함수를 제1 파라미터 및 제2 파라미터로 계산하라는 상기 제1 사용자에 의한 요청에만 응답하고, 상기 제1 컴퓨팅 모듈로부터 상기 제1 사용자에 의한 액세스를 위해 상기 출력만을 제공하는
    방법.
  6. 제4항에 있어서,
    상기 출력은 상기 제1 컴퓨터의 제1 컴퓨팅 모듈에 의해 계산되고, 상기 출력은 제1 파라미터 및 제2 파라미터에 기초한 SPRFG 함수이고, 상기 제1 파라미터는 상기 SPRFG 함수의 계산시에 사용된 상기 제1 컴퓨팅 모듈에 저장된 제1 비밀 키 및 제2 비밀 키 중 하나를 명시하며, 상기 제1 컴퓨팅 모듈은 상기 제1 사용자가 상기 저장된 제1 비밀 키와 제2 비밀 키를 판독 또는 습득하는 것을 방지하고, 상기 제2 파라미터는 상기 제1 사용자에 의해 상기 SPRFG의 도메인 내에서 선택된 값인
    방법.
  7. 사적인 정보를 전송하는 장치로서,
    강력한 의사랜덤 함수 생성(strong pseudorandom function generation: SPRFG)에 기초한 함수를 제1 파라미터 및 제2 파라미터로 계산하라는 요청을 제1 사용자로부터 수신하는 제1 컴퓨터의 제1 컴퓨팅 모듈 - 상기 제1 파라미터 및 상기 제2 파라미터는 상기 요청과 연관되고, 상기 제2 파라미터는 상기 제1 사용자에 의해 상기 SPRFG의 도메인 내에서 선택된 값이며, 상기 제1 컴퓨팅 모듈은 상기 제1 파라미터 및 상기 제2 파라미터에 기초한 상기 SPRFG 함수의 출력을 계산하고, 상기 제1 파라미터는 상기 SPRFG 함수의 계산시에 사용된 상기 제1 컴퓨팅 모듈에 저장된 두 비밀 키들 중 하나를 명시하며, 상기 제1 컴퓨팅 모듈은 상기 제1 사용자가 상기 저장된 두 비밀 키들을 판독 또는 습득하는 것을 방지함 - 과,
    상기 출력을 제2 사용자의 제2 컴퓨터에 전송하는 수단을 포함하되,
    상기 제1 컴퓨터는 상기 제2 컴퓨터로부터, 제1 비밀 키 및 제2 비밀 키를 각기 이용하는 역 SPRFG 계산과, 상기 제2 사용자의 제1 사적인 값 및 제2 사적인 값에 기초한 제1 암호화된 값 및 제2 암호화된 값을 수신하고, 상기 비밀 키들은 상기 제2 사용자에게 알려져 있으며,
    상기 제1 컴퓨터는 상기 제1 파라미터 및 상기 제2 파라미터와, 상기 제1 암호화된 값과 상기 제2 암호화된 값 중 하나에 기초한 수학적 계산을 이용하여 상기 제2 사용자의 사적인 값인 출력 값을 계산하는
    장치.
  8. 제7항에 있어서,
    상기 제1 파라미터는 상기 제1 비밀 키와 상기 제2 비밀 키 중 하나를 명시하고,
    상기 제1 컴퓨팅 모듈은 강력한 의사랜덤 함수 생성(SPRFG)에 기초한 함수를 제1 파라미터 및 제2 파라미터로 계산하라는 상기 제1 사용자에 의한 요청에만 응답하고, 상기 제1 사용자에 의한 액세스를 위해 상기 출력만을 제공하는
    장치.
  9. 제7항에 있어서,
    상기 제1 암호화된 값 및 상기 제2 암호화된 값들은, 하나의 비밀 키 및 다른 비밀 키에 대한 출력의 역 SPRFG 계산, 및 각각의 상기 역 SPRFG 계산과 각각의 제1 사적인 값 및 제2 사적인 값의 배타적 OR 연산을 포함하는
    장치.
  10. 제7항에 있어서,
    상기 제1 컴퓨팅 모듈은 상기 제1 컴퓨터에 제거가능하게 연결된 마이크로컴퓨팅 모듈을 포함하며, 상기 마이크로컴퓨팅 모듈은 상기 제1 컴퓨터로 삽입되고 상기 제1 컴퓨터로부터 제거되도록 구성된 플러그인 카드(a plug-in card)를 포함하는
    장치.
KR1020117028489A 2009-05-29 2010-05-25 리셋 가능한 변조 방지 하드웨어 토큰을 이용한 효과적인 보안 함수 평가 방법 KR101407220B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/455,193 2009-05-29
US12/455,193 US8923519B2 (en) 2009-05-29 2009-05-29 Method of efficient secure function evaluation using resettable tamper-resistant hardware tokens
PCT/US2010/036009 WO2010138473A1 (en) 2009-05-29 2010-05-25 A method of efficient secure function evaluation using resettable tamper-resistant hardware tokens

Publications (2)

Publication Number Publication Date
KR20120013415A KR20120013415A (ko) 2012-02-14
KR101407220B1 true KR101407220B1 (ko) 2014-06-12

Family

ID=42561242

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020117028489A KR101407220B1 (ko) 2009-05-29 2010-05-25 리셋 가능한 변조 방지 하드웨어 토큰을 이용한 효과적인 보안 함수 평가 방법

Country Status (6)

Country Link
US (1) US8923519B2 (ko)
EP (1) EP2435946A1 (ko)
JP (1) JP5405658B2 (ko)
KR (1) KR101407220B1 (ko)
CN (1) CN102449632B (ko)
WO (1) WO2010138473A1 (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9124417B2 (en) * 2010-03-05 2015-09-01 Alcatel Lucent Computation of garbled tables in garbled circuit
US8977855B2 (en) * 2012-07-31 2015-03-10 Alcatel Lucent Secure function evaluation between semi-honest parties
US8891766B2 (en) * 2012-09-28 2014-11-18 Alcatel Lucent Input consistency verification for two-party secure function evaluation
US9736128B2 (en) 2014-05-21 2017-08-15 The Board Of Regents, The University Of Texas System System and method for a practical, secure and verifiable cloud computing for mobile systems
US9825758B2 (en) 2014-12-02 2017-11-21 Microsoft Technology Licensing, Llc Secure computer evaluation of k-nearest neighbor models
US9787647B2 (en) 2014-12-02 2017-10-10 Microsoft Technology Licensing, Llc Secure computer evaluation of decision trees
JP6599215B2 (ja) * 2015-06-10 2019-10-30 日本電信電話株式会社 秘匿計算装置およびプログラム
US11451382B2 (en) * 2018-05-14 2022-09-20 nChain Holdings Limited Method and system for communicating a secret

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050130627A1 (en) * 2003-11-26 2005-06-16 Benoit Calmels Authentication between a cellular phone and an access point of a short-range network
US20090070595A1 (en) * 2007-09-11 2009-03-12 International Business Machines Corporation System for implementing dynamic pseudorandom keyboard remapping

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5748147A (en) * 1992-03-04 1998-05-05 Motorola Inc Position locating rescue transceiver
US5809140A (en) * 1996-10-15 1998-09-15 Bell Communications Research, Inc. Session key distribution using smart cards
US6307940B1 (en) * 1997-06-25 2001-10-23 Canon Kabushiki Kaisha Communication network for encrypting/deciphering communication text while updating encryption key, a communication terminal thereof, and a communication method thereof
US6079018A (en) * 1997-10-08 2000-06-20 Agorics, Inc. System and method for generating unique secure values for digitally signing documents
JPH11145951A (ja) * 1997-11-06 1999-05-28 Nippon Telegr & Teleph Corp <Ntt> 紛失通信方法
US6195433B1 (en) * 1998-05-08 2001-02-27 Certicom Corp. Private key validity and validation
US6243811B1 (en) * 1998-07-31 2001-06-05 Lucent Technologies Inc. Method for updating secret shared data in a wireless communication system
JP2000115157A (ja) * 1998-10-02 2000-04-21 Nippon Telegr & Teleph Corp <Ntt> 紛失通信方法
GB0013350D0 (en) * 2000-06-01 2000-07-26 Tao Group Ltd End of message markers
US7143289B2 (en) * 2000-10-30 2006-11-28 Geocodex Llc System and method for delivering encrypted information in a communication network using location identity and key tables
CN1232067C (zh) * 2001-01-03 2005-12-14 周学军 一次一密自循环平衡态下数据加密传输交换的方法及软封闭式管理系统
US6937731B2 (en) * 2001-03-13 2005-08-30 Mitake Information Corporation End to end real-time encrypting process of a mobile commerce WAP data transmission section and the module of the same
US7073059B2 (en) * 2001-06-08 2006-07-04 Hewlett-Packard Development Company, L.P. Secure machine platform that interfaces to operating systems and customized control programs
US20050195975A1 (en) * 2003-01-21 2005-09-08 Kevin Kawakita Digital media distribution cryptography using media ticket smart cards
FR2850479B1 (fr) * 2003-01-24 2005-04-29 France Telecom Procede cryptographique a cle publique pour la protection d'une puce contre la fraude
DE60308733T2 (de) * 2003-02-21 2007-08-09 Telefonaktiebolaget Lm Ericsson (Publ) Dienstanbieteranonymisierung in einem single sign-on system
GB2410866B (en) * 2004-02-06 2008-02-20 Btg Int Ltd Arbitration management method and system
FR2867289A1 (fr) * 2004-03-02 2005-09-09 France Telecom Procede et dispositif pour accomplir une operation cryptographique
KR101192875B1 (ko) * 2004-05-19 2012-10-18 프랑스 뗄레꽁 리스트 서명을 생성하기 위한 방법과 시스템
JP4774509B2 (ja) * 2005-05-13 2011-09-14 国立大学法人お茶の水女子大学 擬似乱数発生システム
JP2007193280A (ja) * 2006-01-23 2007-08-02 Tokyo Univ Of Science 情報埋め込み装置、情報埋め込み装置の制御方法、及びプログラム
EP2337371B8 (en) * 2006-06-06 2018-05-23 Assia Spe, Llc DSL system
US8225109B1 (en) * 2008-04-30 2012-07-17 Netapp, Inc. Method and apparatus for generating a compressed and encrypted baseline backup
US8406276B2 (en) * 2008-12-29 2013-03-26 Harris Corporation Communications system employing orthogonal chaotic spreading codes
US8094705B2 (en) * 2009-03-12 2012-01-10 Oracle America, Inc. Fast SERDES I/O characterization
TWI531195B (zh) * 2009-04-20 2016-04-21 內數位專利控股公司 多網域及網域所有權系統

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050130627A1 (en) * 2003-11-26 2005-06-16 Benoit Calmels Authentication between a cellular phone and an access point of a short-range network
US20090070595A1 (en) * 2007-09-11 2009-03-12 International Business Machines Corporation System for implementing dynamic pseudorandom keyboard remapping

Also Published As

Publication number Publication date
JP2012528532A (ja) 2012-11-12
US8923519B2 (en) 2014-12-30
CN102449632A (zh) 2012-05-09
JP5405658B2 (ja) 2014-02-05
EP2435946A1 (en) 2012-04-04
KR20120013415A (ko) 2012-02-14
WO2010138473A1 (en) 2010-12-02
CN102449632B (zh) 2014-12-31
US20100306543A1 (en) 2010-12-02

Similar Documents

Publication Publication Date Title
KR101407220B1 (ko) 리셋 가능한 변조 방지 하드웨어 토큰을 이용한 효과적인 보안 함수 평가 방법
US10785019B2 (en) Data transmission method and apparatus
Liu et al. An efficient privacy-preserving outsourced calculation toolkit with multiple keys
US6154541A (en) Method and apparatus for a robust high-speed cryptosystem
JP5544355B2 (ja) 共有の秘密の確認の方法およびシステム
US7899184B2 (en) Ends-messaging protocol that recovers and has backward security
CN109728906B (zh) 基于非对称密钥池的抗量子计算非对称加密方法和系统
CN101099328B (zh) 定制的静态Diffie-Helman群
EP0936776B1 (en) A network system using a threshold secret sharing method
Gupta et al. Single secret image sharing scheme using neural cryptography
CN109787758B (zh) 基于私钥池和Elgamal的抗量子计算MQV密钥协商方法和系统
CN109921905B (zh) 基于私钥池的抗量子计算密钥协商方法和系统
Peng Danger of using fully homomorphic encryption: A look at Microsoft SEAL
CN109905229B (zh) 基于群组非对称密钥池的抗量子计算Elgamal加解密方法和系统
JP4869824B2 (ja) 受信者装置及び送信者装置及び暗号通信システム及びプログラム
Mashhadi Computationally Secure Multiple Secret Sharing: Models, Schemes, and Formal Security Analysis.
Parakh Oblivious transfer using elliptic curves
Abduljabbar et al. Robust scheme to protect authentication code of message/image documents in cloud computing
CN115442103B (zh) 一种群体学习抗毒化攻击方法、系统、设备及存储介质
AlDerai et al. A Study of Image Encryption/Decryption by Using Elliptic Curve Cryptography ECC
KR20190127915A (ko) 유한 필드 디피 헬만에서 보안 소수를 선택하기 위한 방법 및 시스템
CN114070566B (zh) 一种信息传输的方法、提供方平台、使用方平台和存储介质
Prabu et al. Ultra secure secret communication by crypto stegano techniques for defence applications
Farhadi et al. A secure and efficient multi cloud-based data storage and retrieval using hash-based verifiable secret sharing scheme
Diffie et al. 6. New Directions in

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee