KR101725847B1 - 키 복원 공격들을 좌절시키기 위한 대책으로서 송신기-수신기 페어링을 위한 마스터 키 암호화 기능들 - Google Patents

키 복원 공격들을 좌절시키기 위한 대책으로서 송신기-수신기 페어링을 위한 마스터 키 암호화 기능들 Download PDF

Info

Publication number
KR101725847B1
KR101725847B1 KR1020157028758A KR20157028758A KR101725847B1 KR 101725847 B1 KR101725847 B1 KR 101725847B1 KR 1020157028758 A KR1020157028758 A KR 1020157028758A KR 20157028758 A KR20157028758 A KR 20157028758A KR 101725847 B1 KR101725847 B1 KR 101725847B1
Authority
KR
South Korea
Prior art keywords
receiver
key
master key
transmitter
transmitter device
Prior art date
Application number
KR1020157028758A
Other languages
English (en)
Other versions
KR20150129824A (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 KR20150129824A publication Critical patent/KR20150129824A/ko
Application granted granted Critical
Publication of KR101725847B1 publication Critical patent/KR101725847B1/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
    • 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/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • 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/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0822Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
    • 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/60Digital content management, e.g. content distribution
    • 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/76Proxy, i.e. using intermediary entity to perform cryptographic operations

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Storage Device Security (AREA)

Abstract

보안 키들을 교환 및/또는 생성하기 위한 수신기 디바이스 상에서 동작가능한 방법이 제공된다. 제 1 암호화된 마스터 키 Km은 송신기 디바이스로부터 수신기 디바이스에서 수신되며, 제 1 암호화된 마스터 키 Km은 수신기 공개키 Kpub-rx에 의해 보안된다. 제 1 암호화된 마스터 키 Km은, 마스터 키 Km을 획득하기 위해 수신기 개인키 Kpri-rx를 이용하여 암호해독될 수도 있다. 마스터 키 Km은, 제 2 암호화된 마스터 키를 획득하기 위해 수신기 비밀키 Kh를 적용하는 블록 암호를 사용하여 암호화될 수도 있다.

Description

키 복원 공격들을 좌절시키기 위한 대책으로서 송신기-수신기 페어링을 위한 마스터 키 암호화 기능들{MASTER KEY ENCRYPTION FUNCTIONS FOR TRANSMITTER-RECEIVER PAIRING AS A COUNTERMEASURE TO THWART KEY RECOVERY ATTACKS}
[0001] 다양한 특성들은, 키 페어링 교환에서의 키들의 보호에 관한 것으로, 더 상세하게는, 자체-반전(self-inverting) 동작들을 이용하는 보안 알고리즘들을 개선시키는 것에 관한 것이다.
[0002] HDCP(High-bandwidth Digital Content Protection)는, 복제-보호된 비디오 콘텐츠에 대한 암호화 프로토콜이며, 그러한 콘텐츠의 허가되지 않은 송신 및 재생을 차단하기 위한 디지털 비디오 접속 인터페이스들에 포함된다. HDCP 버전들 2.0 및 2.1의 릴리즈에 대해, HDCP는 인터페이스-독립적이게 되며, 소스들과 디스플레이들 사이의 임의의 양방향 디지털 송신(유선 또는 무선, 압축 또는 압축되지 않음)에 적용될 수 있다. HDCP 프로토콜은 3개의 페이즈들, 즉 인증, 콘텐츠 암호화, 및 리뉴어빌리티(Renewability)를 포함한다.
[0003] 인증 페이즈 동안, 암호화된 메시지들 및 공개키들은, 수신기의 아이덴티티 및 보호된 콘텐츠를 수용하기 위한 적격성(eligibility)을 결정하기 위해 HDCP 송신기와 HDCP 수신기 사이에서 교환된다. 인증이 성공적인 것으로 간주되면, 송신기는 콘텐츠 암호화 페이즈로 진행한다. 송신기는, 인증 페이즈에서 키 교환 프로토콜의 일부로서 통상적으로 생성되는 마스터 키 Km(즉, 페어링 마스터 키)를 사용하여, 보호된 오디오 및/또는 비디오(A/V) 콘텐츠를 암호화한다.
[0004] 그러나, 몇몇 수신기들은, 계산적으로 제한될 수도 있고, 비-휘발성 저장부/메모리로의 기입 액세스를 포함하거나 갖지 않을 수도 있으며, 그에 의해, 수신기가 마스터 키 Km을 생성 및/또는 저장하는 것을 방지한다. 마스터 키 Km의 정보 없이, 수신기는 암호화된 A/V 콘텐츠를 암호해독할 수 없다.
[0005] 도 1은, 송신기 디바이스(102)와 수신기 디바이스(104) 사이의 인증 페이즈의 일 예를 도시한다. 송신기 디바이스(102)는, 공개키 Kpub-tx 및 대응하는 개인키 Kpri-tx를 제공받는다. 유사하게, 수신기 디바이스(104)는, 공개 키 Kpub-rx 및 대응하는 개인키 Kpri-rx(108)를 제공받거나 수신기 비밀키 Kh(110)와 함께 그들을 생성한다. (키 교환을 포함하는) 인증 스테이지 동안, 송신기 디바이스(102)는, 자신의 공개키 Kpub-tx를 수신기 디바이스(104)에 전송하고, 수신기 디바이스(104)는 자신의 공개키 Kpub-rx를 송신기 디바이스(102)에 전송한다(112). 수신기 디바이스(104)가 비-휘발성 메모리를 포함하지 않는 경우, 공개키 Kpub-rx, 대응하는 개인키 Kpri-rx, 및 수신기 비밀키 Kh는, 특정한 전력 사이클 또는 세션 동안 수신기 디바이스(104)에 의해 생성될 수도 있음을 유의한다.
[0006] 이러한 보안 시스템에서, 송신기 디바이스(102)는, 각각의 수신기 디바이스에 대응하는 마스터 키들을 제공받을 수도 있다. 그러나, 몇몇 예시들에서, 수신기 디바이스에 대한 어떠한 대응하는 마스터 키도 존재하지 않는다(예를 들어, 수신기 디바이스는 비-휘발성 메모리를 갖지 않음). 따라서, 수신기 디바이스(104)는, 송신기 디바이스가 수신기 디바이스에 대응하는 마스터 키 Km을 갖지 않는다는 것을 표시하는 메시지를 송신기 디바이스(102)로부터 수신할 수도 있다.
[0007] 결과로서, 송신기 디바이스(102)는 마스터 키 Km을 수신기 디바이스(104)에 제공할 수도 있다. 송신기 디바이스(102)는, 수신기의 공개키 Kpub-rx를 이용하여 마스터 키 Km을 암호화하고(116), 임의값(nonce) m을 생성한다(118). 암호화된 마스터 키 및 임의값 EKpub - rx(Km, 임의값 m)은 수신기 디바이스(104)에 전송된다(120). 그 후, 수신기 디바이스(104)는 자신의 개인키 Kpriv-rx를 사용하여, 암호화된 마스터 키 및 임의값 m을 암호해독한다(122). 임의값 m은 초기화 벡터(IV)를 생성하기 위해 사용될 수도 있다. 그 후, 수신기 디바이스(104)는, 그 자신의 비밀키 Kh, 수신된 임의값 m, 및 AES(Advanced Encryption Standard) 블록 암호를 사용하여 마스터 키 Km을 암호화한다(124). 예를 들어, AES 블록 암호는, 카운터(CTR) 모드에서 AES-128(진보된 암호화 표준 128비트 알고리즘)일 수도 있다.
Figure 112015098474901-pct00001
[0008] 그 후, 수신기 디바이스(104)는 이러한 암호화된 마스터 키 EKh,m(Km)를 송신기 디바이스(102)에 전송한다. 이러한 암호화된 마스터 키 EKh,m(Km)는, 송신기 디바이스(102)에 의해 저장될 수도 있으며, 송신기 디바이스(102) 내지 수신기 디바이스(104) 사이에서의 후속 핸드쉐이크(handshake)들을 위해 사용될 수도 있다. 후속 핸드쉐이크들에서, 송신기 디바이스(102)는 임의값 m을 갖는 암호화된 마스터 키 E(Kh)(Km)를 전송하므로(127), 수신기 디바이스(104)는 그 키를 암호해독할 수 있고, 그 키가 수신기가 이전에 전송했던 동일한 암호화된 마스터 키인지를 검증할 수 있으며, 그에 의해, 송신기를 인증한다.
[0009] HDCP2 프로토콜(버전들 2.0 및 2.1)은, (디바이스(128)를 인터셉트하는) MITM(Man-In-The-Middle)가 송신기 디바이스(102)와 수신기 디바이스(104) 사이의 마스터 키 Km를 수반하는 송신(127)을 인터셉트할 수 있고(130), 이러한 마스터 키 Km을 암호해독하기 위해 수신기 디바이스(104)를 남용(abuse)할 수 있는 취약성을 갖는다. 그러나, 송신된 EKh,m(Km)(127)은 단지, 수신기의 비밀키 Kh 및 임의값 m과 마스터 키 Km의 XOR이다. 공격자는, E(Kh)(Km)의 이러한 송신(127)을 인터셉트하고, 수신기 디바이스(104)와의 그 자신의 세션(132)을 개시할 것이다. 인터셉트 디바이스(128)는 이러한 새로운 세션에서 송신기로서 사칭(pose)한다.
[0010] 인터셉트 디바이스(128)는, 수신기 디바이스의 공개키 Kpub-rx를 수신하며(132), 수신기 디바이스(104)로의 송신(138)을 위하여, 인터셉트된 암호화된 마스터 키 EKh,m(Km) 및 임의값 m(136)을 암호화하기 위해 사용할 수도 있다. 그 후, 수신기 디바이스(104)는 자신의 개인키 Kpriv-rx를 사용하여, EKpub - rx(EKh, m(Km), m)를 암호해독한다(140). 그 후, 수신기 디바이스(104)는 다음과 같이, 자신의 수신기 비밀키 Kh 및 임의값 m을 사용하여 EKh , m(Km)을 암호화한다.
Figure 112015098474901-pct00002
[0011] 그 후, 수신기 디바이스(104)는, 단지 Km인 E(Kh)(E(Kh)(Km))을 역으로 전송한다(144). 따라서, 인터셉트 디바이스(128)는, 수신기 디바이스(104)에 의해 사용된 암호화의 자체-반전 속성으로 인해 마스터 키 Km을 획득할 수 있다. 마스터 키 Km에 대해, 인터셉트 디바이스(128)는, 송신기 디바이스(102)가 수신기 디바이스(104)에 전송할 수도 있는 암호화된 콘텐츠를 디코딩할 수 있을 수도 있다.
[0012] 따라서, 인터셉트 디바이스가 수신기 디바이스에 의해 사용된 암호화의 약점을 활용하는 것을 방지하는 개선된 보안 방식이 필요하다.
[0013] 보안 키들을 교환 및/또는 생성하기 위한 수신기 디바이스 상에서 동작가능한 방법이 제공된다. 수신기 디바이스는, 수신기 디바이스에 미리-저장된 암호키 쌍일 수도 있는 수신기 공개키 Kpub-rx 및 수신기 개인키 Kpri-rx를 포함할 수도 있다. 부가적으로, 수신기 디바이스는 또한, 수신기 디바이스에 미리-저장되고 송신기 디바이스에 알려지지 않은 비밀키 Kh를 포함할 수도 있다. 수신기 공개키 Kpub-rx, 수신기 개인키 Kpri-rx, 및 비밀키 Kh는, 수신기 디바이스의 전력 사이클들 사이에서만 또는 세션 동안에만 생성 및 이용될 수도 있다.
[0014] 공개키 Kpub-rx는, 수신기 디바이스로부터 송신기 디바이스에 전송/송신될 수도 있다. 제 1 암호화된 마스터 키 Km은 송신기 디바이스로부터 수신되며, 여기서, 제 1 암호화된 마스터 키 Km은 수신기 공개키 Kpub-rx에 의해 보안된다. 그 후, 제 1 암호화된 마스터 키 Km은, 마스터 키 Km을 획득하기 위해 수신기 개인키 Kpri-rx를 이용하여 암호해독될 수도 있다. 수신기 디바이스는, 수신기 디바이스의 전력 사이클들 사이에서만 또는 세션 동안에만 휘발성 저장 디바이스에 마스터 키 Km을 저장할 수도 있다. 그 후, 마스터 키 Km은, 제 2 암호화된 마스터 키를 획득하기 위해 수신기 비밀키 Kh를 적용하는 블록 암호를 사용하여 수신기 디바이스에 의해 암호화된다. 그 후, 제 2 암호화된 마스터 키는 송신기 디바이스에 전송된다. 후속 시간에서, 제 2 암호화된 마스터 키는, 송신기 디바이스가 보호된 콘텐츠를 수신기 디바이스에 전달할 프로세스의 일부로서 송신기 디바이스로부터 수신기 디바이스에서 수신될 수도 있다.
[0015] 일 예에서, 블록 암호는 비밀키 Kh로부터 생성된 복수의 별개의 라운드(round) 키들을 포함할 수도 있다. 예를 들어, 블록 암호는, 각각의 라운드에서 깨뜨릴 수 없는(unbreakable) 기능을 구현하는 루비-랙오프(Luby-Rackoff) 암호일 수도 있다. 기능은, 진보된 암호화 표준(AES)-128 기능 및 보안 해시 알고리즘(SHA)-256 기능 중 하나일 수도 있다.
[0016] 일 구현에서, 마스터 키 Km은 복제-보호된 비디오 콘텐츠에 대한 HDCP(High-bandwidth Digital Content Protection) 암호화 프로토콜 내에서 사용될 수도 있다.
[0017] 통신 회로, 비-휘발성 저장 디바이스, 및 프로세싱 회로를 포함하는 수신기 디바이스가 또한 제공된다. 통신 회로는, 송신기 디바이스와 통신하도록 기능할 수도 있다. 비-휘발성 저장 디바이스는 비밀키 Kh를 미리-저장하도록 기능할 수도 있으며, 여기서, 비밀키 Kh는 송신기 디바이스에 알려지지 않는다.
[0018] 프로세싱 회로는, (a) 수신기 디바이스로부터 송신기 디바이스로 공개키 Kpub-rx를 전송하고; (b) 송신기 디바이스로부터 제 1 암호화된 마스터 키 Km을 수신하고 - 제 1 암호화된 마스터 키 km은 수신기 공개키 Kpub-rx에 의해 보안됨 -; (c) 마스터 키 Km을 획득하기 위해 수신기 개인키 Kpri-rx를 이용하여 제 1 암호화된 마스터 키 Km을 암호해독하고; (d) 제 2 암호화된 마스터 키를 획득하기 위해 수신기 비밀키 Kh를 적용하는 블록 암호를 사용하여 마스터 키 Km을 암호화하고; (e) 제 2 암호화된 마스터 키를 송신기 디바이스에 전송하고; 그리고/또는 (f) 송신기 디바이스가 보호된 콘텐츠를 수신기 디바이스에 전달할 프로세스의 일부로서 후속 시간에서 송신기 디바이스로부터 제 2 암호화된 마스터 키를 수신하도록 적응된다.
[0019] 보안 키들을 교환 및/또는 생성하기 위한 수신기 디바이스 상에서 동작가능한 다른 방법이 제공된다. 수신기 디바이스는, 수신기 디바이스에 미리-저장된 암호키 쌍일 수도 있는 수신기 공개키 Kpub-rx 및 수신기 개인키 Kpri-rx를 포함할 수도 있다. 부가적으로, 수신기 디바이스는 또한, 수신기 디바이스에 미리-저장되고 송신기 디바이스에 알려지지 않은 비밀키 Kh를 포함할 수도 있다. 수신기 공개키 Kpub-rx, 수신기 개인키 Kpri-rx, 및 비밀키 Kh는, 수신기 디바이스의 전력 사이클들 사이에서만 또는 세션 동안에만 생성 및 이용될 수도 있다.
[0020] 수신기 디바이스는, 공개키 Kpub-rx 뿐만 아니라 수신기 임의값 rrx를 송신기 디바이스에 전송할 수도 있다. 수신기 디바이스는 송신기 디바이스로부터 송신기 임의값 rtx를 수신할 수도 있다. 제 1 암호화된 마스터 키 Km 및 마스터 임의값 m은 또한 송신기 디바이스로부터 수신될 수도 있으며, 여기서, 제 1 암호화된 마스터 키 Km은 수신기 공개키 Kpub-rx에 의해 보안되고, 마스터 임의값 m은 송신기 임의값 trx 및 수신기 임의값 rrx 둘 모두의 함수이다. 그 후, 수신기 디바이스는, 마스터 키 Km을 획득하기 위해 수신기 개인키 Kpri-rx를 이용하여 제 1 암호화된 마스터 키 Km을 암호해독할 수도 있다. 마스터 키 Km은, 제 2 암호화된 마스터 키를 획득하기 위해 진보된 암호화 표준(AES) 블록 암호 내에서 수신기 비밀키 Kh 및 마스터 임의값 m을 사용하여 암호화될 수도 있다. 제 2 암호화된 마스터 키는, 수신기 디바이스에 의해 송신기 디바이스로 전송될 수도 있다.
[0021] 후속하여, 송신기 임의값의 새로운 인스턴스(instance) rtx '가 새로운 세션의 일부로서 수신될 수도 있다. 부가적으로, 제 2 암호화된 마스터 키는 또한, 마스터 임의값 m과 함께 수신될 수도 있다. 수신기 디바이스는, 새로운 세션으로 진행하기 전에, 마스터 임의값 m이 송신기 임의값의 새로운 인스턴스 rtx ' 및 수신기 임의값 rrx의 함수인지를 검증할 수도 있다.
[0022] 마스터 임의값 m이 수신기 임의값 rrx에 기초하지 않으면, 수신기 디바이스는 새로운 세션을 중료할 수도 있다.
[0023] 수신기 디바이스는, 수신기 디바이스의 전력 사이클들 사이에서만 또는 세션 동안에만 휘발성 저장 디바이스에 마스터 키 Km을 저장할 수도 있다. 마스터 키 Km은 복제-보호된 비디오 콘텐츠에 대한 HDCP(High-bandwidth Digital Content Protection) 암호화 프로토콜 내에서 사용될 수도 있다.
[0024] 통신 회로, 비-휘발성 저장 디바이스, 및 프로세싱 회로를 포함하는 수신기 디바이스가 또한 제공된다. 통신 회로는, 송신기 디바이스와 통신하도록 기능할 수도 있다. 비-휘발성 저장 디바이스는 비밀키 Kh를 미리-저장하도록 기능할 수도 있으며, 여기서, 비밀키 Kh는 송신기 디바이스에 알려지지 않는다.
[0025] 프로세싱 회로는, (a) 수신기 디바이스로부터 송신기 디바이스로 공개키 Kpub-rx를 전송하고; (b) 수신기 임의값 rrx를 송신기 디바이스에 송신하고; (c) 송신기 디바이스로부터 송신기 임의값 rtx를 수신하고; (d) 송신기 디바이스로부터 제 1 암호화된 마스터 키 Km 및 마스터 임의값 m을 수신하고 - 제 1 암호화된 마스터 키 Km은 수신기 공개키 Kpub-rx에 의해 보안되고, 마스터 임의값 m은 송신기 임의값 trx 및 수신기 임의값 rrx 둘 모두의 함수임 -; (e) 마스터 키 Km을 획득하기 위해 수신기 개인키 Kpri-rx를 이용하여 제 1 암호화된 마스터 키 Km을 암호해독하고; (f) 제 2 암호화된 마스터 키를 획득하기 위해 진보된 암호화 표준(AES) 블록 암호 내에서 수신기 비밀키 Kh 및 마스터 임의값 m을 사용하여 마스터 키 Km을 암호화하고; (g) 제 2 암호화된 마스터 키를 송신기 디바이스에 전송하고; (h) 새로운 세션의 일부로서 송신기 임의값의 새로운 인스턴스 rtx '를 수신하고; (i) 마스터 임의값 m과 함께 제 2 암호화된 마스터 키를 수신하고; 그리고/또는 (j) 새로운 세션으로 진행하기 전에 마스터 임의값 m이 송신기 임의값의 새로운 인스턴스 rtx ' 및 수신기 임의값 rrx의 함수인지를 검증하도록 적응될 수도 있다.
[0026] 다양한 특성들, 속성, 및 이점들은, 도면들과 함께 취해진 경우, 아래에 기재된 상세한 설명으로부터 명백해질 수도 있으며, 도면에서, 동일한 참조 부호들은 전반에 걸쳐 대응적으로 식별된다.
[0027] 도 1은, 송신기 디바이스와 수신기 디바이스 사이의 인증 페이즈의 일 예를 도시한다.
[0028] 도 2는, 수신기 디바이스에서의 마스터 키 Km의 암호화가 카운터 모드에서 AES 암호보다는 AES 암호를 사용하여 행해지는 제 1 접근법을 도시한다.
[0029] 도 3은, 수신기 디바이스에서의 마스터 키 Km의 암호화가 (스트림 암호로 고려되는) 카운터 모드에서 AES 암호보다는 블록 암호를 사용하여 행해지는 제 2 접근법을 도시한다.
[0030] 도 4는, 블록 암호의 일 예인 파이스텔(Feistel) 암호의 일 예를 도시한 블록도이다.
[0031] 도 5는 도 3의 접근법에 따라 마스터 키를 안전하게 생성하도록 적응된 수신기 디바이스를 도시한 블록도이다.
[0032] 도 6은 도 3의 접근법에 따라 마스터 키를 안전하게 생성하기 위한 수신기 디바이스에서 동작가능한 방법을 도시한다.
[0033] 도 7(도 7a 및 7b를 포함함)은, 송신기 디바이스 및 수신기 디바이스 각각이, 각각, 임의값 rtx를 송신하고 임의값 rrx를 수신하도록 제공되는 제 3 접근법을 도시한다.
[0034] 도 8은 도 7의 접근법에 따라 마스터 키를 안전하게 생성하도록 적응된 수신기 디바이스를 도시한 블록도이다.
[0035] 도 9는 도 7의 접근법에 따라 마스터 키를 안전하게 생성하기 위한 수신기 디바이스에서 동작가능한 방법을 도시한다.
[0036] 다음의 설명에서, 본 발명의 다양한 양상들의 완전한 이해를 제공하기 위해 특정한 세부사항들이 제공된다. 그러나, 양상들이 이들 특정한 세부사항들 없이도 실시될 수도 있다는 것은 당업자들에 의해 이해될 것이다. 예를 들어, 회로들은, 불필요하게 상세히 양상들을 불명료하게 하는 것을 회피하기 위해 블록도들로 도시될 수도 있다. 다른 예시들에서, 잘-알려진 회로들, 구조들 및 기술들은 본 발명의 양상들을 불명료하게 하지 않기 위해 도시되지 않을 수도 있다.
[0037] 단어 "예시적인"은 예, 예시, 또는 예증으로서 기능하는 것을 의미하도록 본 명세서에서 사용된다. "예시적인" 것으로서 본 명세서에 설명된 임의의 구현 또는 양상은 본 발명의 다른 양상들에 비해 반드시 바람직하거나 유리한 것으로서 해석될 필요는 없다. 유사하게, 용어 "양상들"은, 본 발명의 모든 양상들이 설명된 특성, 이점 또는 동작 모드를 포함한다는 것을 요구하지는 않는다.
개관
[0038] 상술된 보안 약점을 극복하기 위한 하나의 접근법은, 마스터 키 Km을 송신기 디바이스에 역으로 전송하기 위하여 수신기 디바이스에 의해 사용되는 암호화 기능을 변경시키는 것이다. 그러나, 이것은, 몇몇 수신기 디바이스들의 제한된 프로세싱 능력들에 의해 제약될 수도 있다(예를 들어, 비-휘발성 저장부/메모리에 대한 액세스를 포함하거나 갖지 않아서, 그에 의해 수신기 디바이스가 키들을 생성 및 저장하는 것을 방지하는 수신기 디바이스들).
[0039] 암호 키들이 송신기 디바이스와 수신기 디바이스 사이에서 도출되는 인증 프로토콜들의 보안을 개선시키기 위한 다양한 예시적인 방법들이 기재된다. 일 예에서, 그러한 예시적인 방법들은, 복제-보호된 비디오 콘텐츠 분배를 위하여 HDCP(High-bandwidth Digital Content Protection)에 의해 사용되는 인증 프로토콜에 적용가능할 수도 있다.
[0040] 일반적으로, 수신기 디바이스가 자신의 암호해독 알고리즘의 반전이 아닌 암호화 알고리즘을 구현하는 솔루션들이 제공된다. 즉, 순수하게 자체-반전하는 암호화/암호해독 동작들을 회피함으로써, 마스터 키 Km을 노출하는 위험성이 완화된다.
[0041] 제 1 방법은, 수신기 디바이스에서 암호화하기 위한 진보된 암호화 표준(AES) 알고리즘을 구현한다. (카운터 모드 대신) 플레인(plain) AES는 매우 빠르고, 간단하고 효율적이지만, 수신기 디바이스에서 부가적인 하드웨어를 잠재적으로 요구하는 단점을 갖는다.
[0042] 제 2 방법은, HDCP 2 규격에 의해 이미 요구된 프리미티브(primitive)들을 사용하며, 그 자체의 반전이 아닌 암호를 제공하기 위해 블록 암호(예를 들어, 루비-랙오프 구성 암호)에서 프리미티브들을 사용한다. 이러한 방법은 (블록 암호로 인해) 다소 더 느리지만, 구현하기 위한 어떠한 부가적인 프리미티브들을 요구하지 않는다.
[0043] 이들 첫번째 2개의 방법들은, HDCP 2 규격과의 상호운용성을 유지하며, 송신기 디바이스들에 대한 어떠한 변경도 요구하지 않는다.
[0044] 제 3 방법은, AES 카운터 모드에 대한 초기화 벡터(IV)가 마스터 키 Km을 암호화하도록 컴퓨팅되는 방식을 수정한다. 따라서, 이러한 방법은, 수신기 및 송신기 디바이스들 둘 모두에 대한 변경들을 요구할 수도 있다.
제 1 예시적인 솔루션
[0045] 도 2는, 수신기 디바이스에서의 마스터 키 Km의 암호화가 카운터 모드에서 AES 암호보다는 AES 암호를 사용하여 행해지는 제 1 접근법을 도시한다. AES 암호는, 다수의 라운드들을 통해 평문(plaintext)을 암호문으로 변환하고 암호문을 평문으로 변환하는 대체-치환 네트워크에 기초한 암호일 수도 있다. 카운터 모드의 AES 암호는 "카운터"의 값들을 연속적으로 암호화하며, 여기서, 그러한 카운터는, 긴 시간 동안 반복하도록 보장되지 않는 시퀀스를 생성하는 임의의 함수일 수 있다.
[0046] 도 1에 도시된 접근법에서, 수신기 디바이스(104)에 의한 모든 암호해독들이 수신기 암호 키들(Kpub-rx, Kpri-rx)을 사용하여 행해지므로, 수신기 디바이스(104)는 AES 암호해독이 아니라 AES 암호를 사용한다. 일 예에서, 그러한 수신기 디바이스는, (예를 들어, 카운터 모드에서 AES 암호를 구현하기 위한) 암호화 디바이스를 포함할 수도 있지만, 어떠한 암호해독 디바이스도 포함하지 않을 수도 있다. 따라서, 수신기 디바이스의 암호키들(Kpub-rx, Kpri-rx)이 암호해독을 위해 사용된다.
[0047] 제 2 에 도시된 접근법에서, 수신기 디바이스(204)는, 그 디바이스가 송신기 디바이스(202)와의 암호키 교환의 일부로서 마스터 키 Km을 획득하기 위해 사용할 수도 있는 AES 암호화 및 AES 암호해독 능력들을 제공받는다. 도 2에서, 마스터 키 Km에 대해 자체-반전 XOR 동작을 사용하는 것 대신에, 마스터 키 Km은, 단지 XOR되지 않는 AES 내에서 사용된다. 그러므로, 인터셉트 디바이스(128)가 송신(227)을 인터셉트하고, 암호화된 마스터 키 Km을 수신기 디바이스(204)에 재전송하기를 시도하더라도(138), 수신기 디바이스(204)는, 수신기 디바이스가 암호화된 마스터 키 EKh(Km)를 암호화(242)하기를 시도할 경우에 더 이상 Km을 생성하지 않는다. 여기에 도시된 바와 같이, 단계(244)에서, 인터셉트 디바이스(128)는 더 이상 마스터 키 Km가 아니라, 그 디바이스가 어떠한 것이라도 디코딩 또는 액세스하기 위해 사용할 수 없는 이중 암호화된 마스터 키 EKh(EKh(Km))를 획득한다.
[0048] 수신기 디바이스가 프로그래밍가능 펌웨어를 포함하면, 이러한 솔루션은, AES를 사용하여 (단계(224)의) 암호화 및 (단계(231)의) 암호해독 둘 모두를 구현하기 위한 임의의 부가적인 하드웨어를 필요로 하지 않는다. 그렇지 않으면, 수신기 디바이스는 AES 암호해독을 수행하기 위한 하드웨어를 포함해야 하며, 이는, 반도체의 다이 영역을 더 크게 만든다. 이러한 솔루션에 대한 다른 결점은, 많은 수신기 디바이스들이 제한된 계산 능력들을 가져서, AES 암호해독의 구현을 바람직하지 않게 하는 것이다.
제 2 예시적인 솔루션
[0049] 도 3은, 수신기 디바이스에서의 마스터 키 Km의 암호화가 (스트림 암호로 고려되는) 카운터 모드에서 AES 암호보다는 블록 암호를 사용하여 행해지는 제 2 접근법을 도시한다. 스트림 암호들은, 한번에 하나씩 정보의 비트들을 암호화한다(즉, 한번에 데이터의 1비트에 대해 동작함). 스트림 암호는, 각각의 상태 트랜지션에서 정보의 하나의 비트를 출력하는 상태 머신을 포함할 수도 있다. 출력 비트들의 이러한 스트림은 일반적으로 러닝(running) 키로 지칭된다. 블록 암호들은, 정보를 (고정된 사이즈의) 블록들(예를 들어, 복수의 비트들)로 분해하고 각각의 블록에서 데이터를 암호화함으로써 정보를 암호화한다. 블록 암호 암호화는 일반적으로, 평문 및 키 비트들의 비트 시프트들, XOR들, 치환들, 및 대체들의 다수의 라운드들을 포함한다. 스트림 암호들은 블록 암호들보다 구현하기에 더 빠르고 더 작지만, 그 스트림 암호들은 중요한 보안 갭을 갖는다. 동일한 키 스트림이 사용되면, 특정한 타입들의 공격들은 정보가 노출되게 할 수도 있다.
[0050] 이러한 제 2 접근법에서, AES 암호화는, 수신기 디바이스가 비-반전 방식으로 암호화 및 암호해독할 수 있는 블록 암호에 대한 빌딩(building) 블록으로서만 사용된다. 일 예에서, 블록 암호는, 3 또는 4개의 라운드들을 갖는 루비-랙오프 암호(파이스텔 네트워크/암호)에 기초할 수도 있다.
[0051] 도 4는, 블록 암호의 일 예인 파이스텔 암호의 일 예를 도시한 블록도이다. 도 4에 도시된 바와 같이, "평문"(예를 들어, 마스터 키 Km)의 우측 R0...n +1은 함수 F에 대한 입력으로서 사용되며, 그 후, 그 함수의 출력은, "평문"(예를 들어, 마스터 키 Km)의 좌측 L0...n +1과 다수의 라운드들에 걸쳐 XOR된다. 좌측 및 우측은 각각의 라운드 상에서 반전 또는 스와핑(swap)된다. 함수 F는, 예를 들어, 수신기의 비밀키 Kh의 상이한 64-비트 섹션들로서 선택될 수도 있는 상이한 라운드 키들 k0, k1, … kn을 갖는 진보된 암호화 표준(AES)-128 또는 보안 해시 알고리즘(SHA)-256일 수도 있다. 루비-랙오프 암호에서, 함수 F는 깨뜨릴 수 없으므로, 3 또는 4개의 라운드들이 마스터 키 Km을 보호하는데 충분할 것이라고 가정된다.
[0052] AES-128 및 SHA-256의 상대적인 성능에 의존하여, 대응하는 라운드 키 k0, k1, … kn(제로들로 패딩됨)와 XOR되거나 연접(concatenate)되는 입력의 SHA-256의 낮은 64비트들로서 파이스텔 네트워크의 라운드 함수를 정의하는 것이 유용할 수도 있다.
[0053] 다른 변형은, 라운드 키들을 갖는 AES와 대응하는 라운드 키와 사전-XOR되는 입력을 갖는 SHA-256과의 다양한 결합들을 사용하여, 페이스텔 네트워크에서 상이한 라운드 함수들을 결합시킨다.
[0054] 이러한 방식으로, 수신기 디바이스(304)의 암호화 능력들은 암호화 및 암호해독 능력들 둘 모두를 제공하기 위해 사용된다.
[0055] 도 3에서, 마스터 키 Km에 대해 자체-반전 XOR 동작을 사용하는 것 대신에, 마스터 키 Km은, 단지 XOR되지 않는 루비-랙오프 암호(LR_Cipher) 내에서 사용된다. 그러므로, 인터셉트 디바이스(128)가 송신(327)을 인터셉트하고, 암호화된 마스터 키 Km을 수신기 디바이스(304)에 재전송하기를 시도하더라도(138), 수신기 디바이스(304)는, 수신기 디바이스가 암호화된 마스터 키 EKh(Km)를 암호화(342)하기를 시도할 경우에 더 이상 Km을 생성하지 않는다. 여기에 도시된 바와 같이, 단계(344)에서, 인터셉트 디바이스는 더 이상 Km가 아니라, 그 디바이스가 어떠한 것이라도 디코딩 또는 액세스하기 위해 사용할 수 없는 이중 암호화된 키 EKh(EKh(Km))(즉, 루비-랙오프 암호를 사용하여 이중 암호화됨)를 획득한다. 제 1 암호화 동작에서, 단계(324)에서, 루비-랙오프 암호가 마스터 키 Km에 걸쳐 적용되는 반면, 제 2 암호화 동작에서, 단계(342)에서, 루비-랙오프 암호가 암호화된 마스터 키 EKh(Km)에 걸쳐 적용됨을 유의한다.
[0056] 도 5는 도 3의 접근법에 따라 마스터 키를 안전하게 생성하도록 적응된 수신기 디바이스를 도시한 블록도이다. 수신기 디바이스(500)는, 통신 회로(518), 휘발성 메모리 디바이스(504), 및/또는 비-휘발성 메모리 디바이스(506)에 커플링된 프로세싱 회로(502)를 포함할 수도 있다. 통신 회로(518)는, 송신기 디바이스로 및/또는 송신기 디바이스로부터 통신하도록 기능할 수도 있다.
[0057] 휘발성 메모리 디바이스(504)는, 마스터 키 Km(512)와 같이 세션 동안(또는 전력 사이클들 사이에서) 생성된 정보를 저장하도록 기능할 수도 있지만, 전력 사이클들 사이에서 정보를 저장할 수 없다.
[0058] 비-휘발성 메모리 디바이스(506)는, 예를 들어, 전력 사이클들 사이에서 정보를 보유하는 플래시 메모리일 수도 있다. 몇몇 구현들에서, 비-휘발성 메모리 디바이스(506)는 판독-전용 메모리일 수도 있거나, 또는 기입/저장 동작들을 위해 프로세싱 회로(502)에 액세스가능하지 않을 수도 있다. 몇몇 구현들에서, 비-휘발성 메모리 디바이스(506)는, 수신기 공개/개인 암호키 쌍(516) 및/또는 수신기 비밀키 Kh(514)를 저장할 수도 있다.
[0059] 프로세싱 회로(502)는, 암호화 회로(510) 및/또는 암호해독 회로(508)를 포함할 수도 있다. 암호화 회로(510) 및/또는 암호해독 회로(508)는, 예를 들어, 송신기 디바이스와의 인증 교환 및/또는 키 교환을 수행하도록 기능할 수도 있다. 그러한 인증 및/또는 키 교환은, 수신기 디바이스가 송신기 디바이스에 의해 (통신 회로(518)를 통하여) 전송된 암호화된 콘텐츠에 액세스하도록 허용할 수도 있다.
[0060] 일 예에서, 프로세싱 회로는, 수신기 디바이스로부터 송신기 디바이스로 (통신 회로(518)를 통해) 공개키 Kpub-rx를 전송하도록 적응될 수도 있다. 수신기 공개/개인키 쌍(516)이 비-휘발성 메모리 디바이스(506) 내에서 미리-생성/미리-저장될 수도 있음을 유의한다. 대안적으로, 프로세싱 회로(502)는, 그러한 수신기 공개/개인키 쌍(516)을 동적으로 생성하도록 적응될 수도 있다. 응답으로, 수신기 디바이스(508)는, 송신기 디바이스로부터 제 1 암호화된 마스터 키 Km을 (통신 회로(518)를 통해) 수신할 수도 있다. 수신된 바와 같이, 제 1 암호화된 마스터 키 Km은, 수신기 공개키 Kpub-rx에 의해 보안될 수도 있다. 그 후, 암호해독 회로(508)는, 마스터 키 Km을 획득하기 위해 수신기 개인키 Kpri-rx를 이용하여 제 1 암호화된 마스터 키 Km을 암호해독할 수도 있다. 그 후, 암호화 회로(510)는, 제 2 암호화된 마스터 키를 획득하기 위해 비밀키 Kh를 사용하는 블록 암호를 사용하여 마스터 키 Km을 암호화할 수도 있다. 그 후, 프로세싱 회로는, (통신 회로(518)를 통해) 제 2 암호화된 마스터 키를 송신기 디바이스에 전송할 수도 있다.
[0061] 후속 시간에서, 제 2 암호화된 마스터 키는, 송신기 디바이스가 보호된 콘텐츠를 수신기 디바이스(500)에 전달할 프로세스의 일부로서 송신기 디바이스로부터 수신될 수도 있다.
[0062] 도 6은 도 3의 접근법에 따라 마스터 키를 안전하게 생성하기 위한 수신기 디바이스에서 동작가능한 방법을 도시한다. 이러한 방법은, 예를 들어, 보안키들을 교환 및/또는 생성하기 위하여 도 5의 수신기 디바이스(500)의 하나 또는 그 초과의 컴포넌트들에 의해 구현될 수도 있다.
[0063] 수신기 디바이스는, 수신기 공개키 Kpub-rx, 수신기 개인키 Kpri-rx 쌍, 및 비밀키 Kh를 (예를 들어, 비-휘발성 메모리로부터) 획득하거나 동적으로 생성할 수도 있다(602). 수신기 공개키 Kpub-rx 및 수신기 개인키 Kpri-rx는 수신기 디바이스에 미리-저장된 암호키 쌍일 수도 있다. 비밀키 Kh는 수신기 디바이스에 미리-저장될 수도 있으며, 송신기 디바이스에 알려지지 않는다. 일 예에서, 수신기 공개키 Kpub-rx, 수신기 개인키 Kpri-rx, 및 비밀키 Kh는, 수신기 디바이스의 전력 사이클들 사이에서만 또는 세션 동안에만 생성 및 이용된다.
[0064] 수신기 디바이스는, 수신기 디바이스로부터 송신기 디바이스로 공개키 Kpub-rx를 전송할 수도 있다(604). 응답으로, 수신기 디바이스는 송신기 디바이스로부터 제 1 암호화된 마스터 키 Km을 수신할 수도 있으며, 제 1 암호화된 마스터 키 Km은 수신기 공개키 Kpub-rx에 의해 보안된다(606). 그 후, 수신기 디바이스는, 마스터 키 Km을 획득하기 위해 수신기 개인키 Kpri-rx를 이용하여 제 1 암호화된 마스터 키 Km을 암호해독할 수도 있다(608). 그 후, 수신기 디바이스는, 제 2 암호화된 마스터 키를 획득하기 위해 수신기 비밀키 Kh를 적용하는 블록 암호를 사용하여 마스터 키 Km을 암호화할 수도 있다(610). 그 후, 제 2 암호화된 마스터 키는 송신기 디바이스에 전송될 수도 있다(612). 후속 시간에서, 수신기 디바이스는, 송신기 디바이스가 보호된 콘텐츠를 수신기 디바이스에 전달할 프로세스의 일부로서 송신기 디바이스로부터 제 2 암호화된 마스터 키를 수신할 수도 있다(614).
[0065] 수신기 디바이스는, 수신기 디바이스의 전력 사이클들 사이에서만 또는 세션 동안에만 휘발성 저장 디바이스에 마스터 키 Km을 저장할 수도 있다. 일 예에서, 마스터 키 Km은 복제-보호된 비디오 콘텐츠에 대한 HDCP(High-bandwidth Digital Content Protection) 암호화 프로토콜 내에서 사용될 수도 있다.
[0066] 일 예에서, 블록 암호는 비밀키 Kh로부터 생성된 복수의 별개의 라운드 키들을 포함할 수도 있다. 예를 들어, 블록 암호는, 각각의 라운드에서 깨뜨릴 수 없는 기능을 구현하는 루비-랙오프 암호일 수도 있다. 기능은, 진보된 암호화 표준(AES)-128 기능 및 보안 해시 알고리즘(SHA)-256 기능 중 하나일 수도 있다.
제 3 예시적인 솔루션
[0067] 도 7(도 7a 및 7b를 포함함)은, 송신기 디바이스(702) 및 수신기 디바이스(704) 각각이, 각각, 임의값 rtx를 송신하고 임의값 rrx를 수신하도록 제공되는 제 3 접근법을 도시한다. 송신기 디바이스(702) 및 수신기 디바이스(704)는 그들의 임의값들 rtx(715) 및 rrx(717)를 교환한다. 그 후, 마스터 임의값 m은, 송신기 디바이스(702) 및 수신기 디바이스(704)에 의해 각각 독립적으로 생성된다(718/719).
[0068] 이러한 예에서, 마스터 임의값 m은 rtx 및 rrx 둘 모두의 함수이다. 이것은 수신기 디바이스(704)가, 송신기(예를 들어, 송신기 디바이스(702) 또는 인터셉트 디바이스(128))가 핸드쉐이크 동안 정확한 마스터 임의값 m을 전송하고 있는지를 체크하게 한다. 예를 들어, 하나의 예에서, 마스터 임의값 m=(rtx rrx)은 제로들로 패딩되었다. 다른 예에서, 마스터 임의값 m = rtx 및 rrx의 연접이다.
[0069] 인터셉트 디바이스(128)가 암호화된 마스터 키 EKh , m(Km) 및 마스터 임의값 m을 인터셉트하는 경우, 그 디바이스는, 그것이 공개키들(734 및 736)을 수신기 디바이스(704)와 교환하는 새로운 세션(132)을 개시하기를 시도할 수도 있다. 송신기 디바이스(702) 및 수신기 디바이스(704)는 또한, 임의값들 rtx'(740) 및 rrx(742)를 교환할 수도 있다. 인터셉트 디바이스(128)에 대한 송신기 임의값 rtx '가 송신기 디바이스(702)에 대한 송신기 임의값 rtx와는 별개임을 유의한다.
[0070] 인터셉트 디바이스(128)가 인터셉트된 암호화된 마스터 키 및 임의값 m(예를 들어, EKpub - rx(EKh , m(Km), m))을 수신기 디바이스(704)에 제시하기를 시도하는 경우, 수신기 디바이스(104)는, 수신된 마스터 임의값 m이 임의값들 rtx ' 및 rrx의 함수인지를 체크한다. 이러한 경우, 인터셉트 디바이스의 임의값 rtx '가 송신기의 디바이스 임의값 rtx와 상이하므로, 체크(748)이 실패할 것이다. 그 후, 수신기 디바이스(704)는 인터셉트 디바이스(128)와의 핸드쉐이크를 종료 또는 중단할 수도 있으며, 그에 의해, 인터셉트 디바이스(128)가 마스터 키 Km을 획득하는 것을 방지한다.
[0071] 도 8은 도 7의 접근법에 따라 마스터 키를 안전하게 생성하도록 적응된 수신기 디바이스를 도시한 블록도이다. 수신기 디바이스(800)는, 통신 회로(818), 휘발성 메모리 디바이스(804), 및/또는 비-휘발성 메모리 디바이스(806)에 커플링된 프로세싱 회로(802)를 포함할 수도 있다. 통신 회로(818)는, 송신기 디바이스로 및/또는 송신기 디바이스로부터 통신하도록 기능할 수도 있다.
[0072] 휘발성 메모리 디바이스(804)는, 마스터 키 Km(812)와 같이 세션 동안(또는 전력 사이클들 사이에서) 생성된 정보를 저장하도록 기능할 수도 있지만, 전력 사이클들 사이에서 정보를 저장할 수 없다.
[0073] 비-휘발성 메모리 디바이스(806)는, 예를 들어, 전력 사이클들 사이에서 정보를 보유하는 플래시 메모리일 수도 있다. 몇몇 구현들에서, 비-휘발성 메모리 디바이스(806)는 판독-전용 메모리일 수도 있거나, 또는 기입/저장 동작들을 위해 프로세싱 회로(802)에 액세스가능하지 않을 수도 있다. 몇몇 구현들에서, 비-휘발성 메모리 디바이스(806)는, 수신기 공개/개인 암호키 쌍(816), 수신기 비밀키 Kh(814), 및/또는 수신기 임의값 rrx(817)를 저장할 수도 있다.
[0074] 프로세싱 회로(802)는, 암호화 회로(810) 및/또는 암호해독 회로(808)를 포함할 수도 있다. 암호화 회로(810) 및/또는 암호해독 회로(808)는, 예를 들어, 송신기 디바이스와의 인증 교환 및/또는 키 교환을 수행하도록 기능할 수도 있다. 그러한 인증 및/또는 키 교환은, 수신기 디바이스가 송신기 디바이스에 의해 (통신 회로(818)를 통하여) 전송된 암호화된 콘텐츠에 액세스하도록 허용할 수도 있다.
[0075] 일 예에서, 프로세싱 회로는, 수신기 임의값 rrx를 (통신 회로(818)를 통해) 송신기 디바이스에 전송/송신하도록 적응될 수도 있다. 리턴으로, 프로세싱 회로는, 송신기 디바이스로부터 송신기 임의값 rtx를 (통신 회로(818)를 통해) 수신할 수도 있다. 부가적으로, 수신기 디바이스는 또한, 송신기 디바이스로부터 제 1 암호화된 마스터 키 Km 및 마스터 임의값 m을 (통신 회로(818)를 통해) 수신할 수도 있으며, 여기서, 제 1 암호화된 마스터 키 Km은 수신기 공개키 Kpub-rx에 의해 보안되고, 마스터 임의값 m은 송신기 임의값 trx 및 수신기 임의값 rrx 둘 모두의 함수이다.
[0076] 그 후, 암호해독 회로(808)는, 마스터 키 Km을 획득하기 위해 수신기 개인키 Kpri-rx를 이용하여 제 1 암호화된 마스터 키 Km을 암호해독할 수도 있다. 암호화 회로(810)는, 제 2 암호화된 마스터 키를 획득하기 위해 진보된 암호화 표준(AES) 블록 암호 내에서 수신기 비밀키 Kh 및 마스터 임의값 m을 사용하여 마스터 키 Km을 암호화할 수도 있다. 그 후, 제 2 암호화된 마스터 키는 (통신 회로(818)를 통해) 송신기 디바이스에 전송/송신된다.
[0077] 후속하여, 수신기 디바이스는, 송신기 송신기 임의값의 새로운 인스턴스 rtx'를 새로운 세션의 일부로서 수신할 수도 있다. 부가적으로, 수신기 디바이스는 또한, 마스터 임의값 m과 함께 제 2 암호화된 마스터 키를 수신할 수도 있다. 그 후, 임의값 검증기 회로(811)는, 새로운 세션으로 진행하기 전에, 마스터 임의값 m이 송신기 임의값의 새로운 인스턴스 rtx ' 및 수신기 임의값 rrx의 함수인지를 검증할 수도 있다.
[0078] 도 9는 도 7의 접근법에 따라 마스터 키를 안전하게 교환 및/또는 생성하기 위한 수신기 디바이스에서 동작가능한 방법을 도시한다. 수신기 디바이스는, 수신기 공개키 Kpub-rx, 수신기 개인키 Kpri-rx 쌍, 및 비밀키 Kh를 획득 또는 생성할 수도 있다(902). 수신기 공개키 Kpub-rx 및 수신기 개인키 Kpri-rx는 수신기 디바이스에 미리-저장된 암호키 쌍일 수도 있다. 비밀키 Kh는 수신기 디바이스에 미리-저장될 수도 있으며, 송신기 디바이스에 알려지지 않는다. 수신기 공개키 Kpub-rx, 개인키 Kpri-rx, 및 비밀키 Kh는, 수신기 디바이스의 전력 사이클들 사이에서만 또는 세션 동안에만 생성 및 이용될 수도 있다.
[0079] 수신기 디바이스는, 수신기 디바이스로부터 송신기 디바이스로 공개키 Kpub-rx를 전송할 수도 있다(904). 수신기 디바이스는 또한, 수신기 임의값 rrx를 송신기 디바이스에 전송/송신할 수도 있다(906). 응답으로, 수신기 디바이스는 송신기 디바이스로부터 송신기 임의값 rtx를 수신할 수도 있다(908). 부가적으로, 수신기 디바이스는, 송신기 디바이스로부터 제 1 암호화된 마스터 키 Km 및 마스터 임의값 m을 수신할 수도 있으며, 여기서, 제 1 암호화된 마스터 키 Km은 수신기 공개키 Kpub-rx에 의해 보안되고, 마스터 임의값 m은 송신기 임의값 trx 및 수신기 임의값 rrx 둘 모두의 함수이다(910). 제 1 암호화된 마스터 키 Km은, 마스터 키 Km을 획득하기 위해 수신기 개인키 Kpri-rx를 이용하여 암호해독될 수도 있다(912). 그 후, 마스터 키 Km은, 제 2 암호화된 마스터 키를 획득하기 위해 진보된 암호화 표준(AES) 블록 암호 내에서 수신기 비밀키 Kh 및 마스터 임의값 m을 사용하여 수신기 디바이스에 의해 암호화될 수도 있다(914). 그 후, 수신기 디바이스는, 제 2 암호화된 마스터 키를 송신기 디바이스에 전송할 수도 있다(916).
[0080] 후속하여, 수신기 디바이스는, 송신기 송신기 임의값의 새로운 인스턴스 rtx'를 새로운 세션의 일부로서 수신할 수도 있다. 수신기 디바이스는 또한, 마스터 임의값 m과 함께 제 2 암호화된 마스터 키를 수신할 수도 있다. 그 후, 수신기 디바이스는, 새로운 세션으로 진행하기 전에, 마스터 임의값 m이 송신기 임의값의 새로운 인스턴스 rtx ' 및 수신기 임의값 rrx의 함수인지를 검증할 수도 있다. 마스터 임의값 m이 수신기 임의값 rrx에 기초하지 않으면, 새로운 세션은 종료된다.
[0081] 수신기 공개키 Kpub-rx, 수신기 개인키 Kpri-rx, 및 비밀키 Kh는, 수신기 디바이스의 전력 사이클들 사이에서만 생성 및 이용될 수도 있다. 수신기 디바이스는, 수신기 디바이스의 전력 사이클들 사이에서만 또는 세션 동안에만 휘발성 저장 디바이스에 마스터 키 Km을 저장할 수도 있다. 일 예에서, 마스터 키 Km은 복제-보호된 비디오 콘텐츠에 대한 HDCP(High-bandwidth Digital Content Protection) 암호화 프로토콜 내에서 사용될 수도 있다.
[0082] 도면들에 도시된 컴포넌트들, 단계들, 특성들, 및/또는 기능들 중 하나 또는 그 초과는, 단일 컴포넌트, 단계, 특성 또는 기능으로 재배열 및/또는 결합되거나, 수 개의 컴포넌트들, 단계들, 또는 기능에 임베딩될 수도 있다. 부가적인 엘리먼트들, 컴포넌트들, 단계들, 및/또는 기능들은 또한, 본 발명을 벗어나지 않으면서 부가될 수도 있다. 도면들에 도시된 장치, 디바이스들, 및/또는 컴포넌트들은 도면들에 설명된 방법들, 특성들, 또는 단계들 중 하나 또는 그 초과를 수행하도록 구성될 수도 있다. 본 명세서에 설명된 알고리즘들은 또한, 효율적으로 소프트웨어에 구현되고 그리고/또는 하드웨어에 임베딩될 수도 있다.
[0083] 또한, 본 발명의 일 양상에서, 도 5 및 8에 도시된 프로세싱 회로(502 및/또는 802)는, 도 2, 3, 4, 6, 7, 및/또는 9에 설명된 알고리즘들, 방법들, 및/또는 단계들을 수행하도록 상세하게 설계 및/또는 하드-와이어링(hard-wired)된 특수화된 프로세서(예를 들어, 주문형 집적 회로(예를 들어, ASIC))일 수도 있다. 따라서, 그러한 특수화된 프로세서(예를 들어, ASIC)는 도 2, 3, 4, 6, 7, 및/또는 9에 설명된 알고리즘들, 방법들, 및/또는 단계들을 실행하기 위한 수단의 일 예일 수도 있다. 프로세서-판독가능 저장 매체는, 특수화된 프로세서(예를 들어, ASIC)에 의해 실행된 경우, 특수화된 프로세서로 하여금 본 명세서에 설명된 알고리즘들, 방법들, 및/또는 단계들을 수행하게 하는 명령들을 저장할 수도 있다.
[0084] 또한, 본 발명의 양상들은, 흐름도, 흐름 다이어그램, 구조도, 또는 블록도로서 도시된 프로세스로서 설명될 수도 있음을 유의한다. 흐름도가 순차적인 프로세스로서 동작들을 설명할 수도 있지만, 동작들의 대부분은 병렬로 또는 동시에 수행될 수 있다. 부가적으로, 동작들의 순서는 재배열될 수도 있다. 프로세스는, 그의 동작들이 완료되는 경우 종결된다. 프로세스는, 방법, 함수, 절차, 서브루틴, 서브프로그램 등에 대응할 수도 있다. 프로세스가 함수에 대응하는 경우, 그의 종결은 그 함수의 호출(calling) 함수 또는 메인 함수로의 리턴에 대응한다.
[0085] 또한, 저장 매체는, 판독-전용 메모리(ROM), 랜덤 액세스 메모리(RAM), 자기 디스크 저장 매체들, 광학 저장 매체들, 플래시 메모리 디바이스들 및/또는 다른 머신-판독가능 매체들을 포함하는 데이터를 저장하기 위한 하나 또는 그 초과의 디바이스들, 및 정보를 저장하기 위한 프로세서-판독가능 매체들, 및/또는 컴퓨터-판독가능 매체들을 표현할 수도 있다. 용어들 "머신-판독가능 매체", "컴퓨터-판독가능 매체", 및/또는 "프로세서-판독가능 매체"는, 휴대용 또는 고정 저장 디바이스들, 광학 저장 디바이스들, 및 명령(들) 및/또는 데이터를 저장, 포함 또는 반송할 수 있는 다양한 다른 매체들과 같은 비-일시적인 매체들을 포함할 수도 있지만 이에 제한되지는 않는다. 따라서, 본 명세서에 설명된 다양한 방법들은, "머신-판독가능 매체", "컴퓨터-판독가능 매체", 및/또는 "프로세서-판독가능 매체"에 저장될 수도 있고, 하나 또는 그 초과의 프로세서들, 머신들, 및/또는 디바이스들에 의해 실행될 수도 있는 명령들 및/또는 데이터에 의해 완전히 또는 부분적으로 구현될 수도 있다.
[0086] 또한, 본 발명의 양상들은, 하드웨어, 소프트웨어, 펌웨어, 미들웨어, 마이크로코드, 또는 이들의 임의의 결합에 의해 구현될 수도 있다. 소프트웨어, 펌웨어, 미들웨어 또는 마이크로코드로 구현되는 경우, 필요한 태스크들을 수행하기 위한 프로그램 코드 또는 코드 세그먼트들은, 저장 매체 또는 다른 저장부(들)와 같은 머신-판독가능 매체에 저장될 수도 있다. 프로세서는 필요한 태스크들을 수행할 수도 있다. 코드 세그먼트는, 절차, 함수, 서브프로그램, 프로그램, 루틴, 서브루틴, 모듈, 소프트웨어 패키지, 클래스, 또는 명령들, 데이터 구조들, 또는 프로그램 스테이트먼트(statement)들의 임의의 결합을 표현할 수도 있다. 코드 세그먼트는, 정보, 데이터, 독립변수(argument)들, 파라미터들, 또는 메모리 콘텐츠들을 전달 및/또는 수신함으로써 다른 코드 세그먼트 또는 하드웨어 회로에 커플링될 수도 있다. 정보, 독립변수들, 파라미터들, 데이터 등은, 메모리 공유, 메시지 전달, 토큰 전달, 네트워크 송신 등을 포함하는 임의의 적절한 수단을 통해 전달, 포워딩, 또는 송신될 수도 있다.
[0087] 본 명세서에 기재된 예들과 관련하여 설명된 다양한 예시적인 로직 블록들, 모듈들, 회로들, 엘리먼트들, 및/또는 컴포넌트들은 범용 프로세서, 디지털 신호 프로세서(DSP), 주문형 집적회로(ASIC), 필드 프로그래밍가능 게이트 어레이(FPGA) 또는 다른 프로그래밍가능 로직 컴포넌트, 이산 게이트 또는 트랜지스터 로직, 이산 하드웨어 컴포넌트들, 또는 본 명세서에 설명된 기능들을 수행하도록 설계된 이들의 임의의 결합으로 구현 또는 수행될 수도 있다. 범용 프로세서는 마이크로프로세서일 수도 있지만, 대안적으로, 프로세서는 임의의 종래의 프로세서, 제어기, 마이크로제어기, 또는 상태 머신일 수도 있다. 또한, 프로세서는 컴퓨팅 컴포넌트들의 결합, 예를 들어 DSP와 마이크로프로세서의 결합, 다수의 마이크로프로세서들, DSP 코어와 결합된 하나 또는 그 초과의 마이크로프로세서들, 또는 임의의 다른 그러한 구성으로서 구현될 수도 있다.
[0088] 본 명세서에 기재된 예들과 관련하여 설명된 방법들 또는 알고리즘들은, 프로세싱 유닛, 프로그래밍 명령들, 또는 다른 지시들의 형태로 직접 하드웨어로, 프로세서에 의해 실행가능한 소프트웨어 모듈, 또는 이 둘의 결합으로 구현될 수도 있으며, 단일 디바이스에 포함되거나 다수의 디바이스들에 걸쳐 분산될 수도 있다. 소프트웨어 모듈은 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터들, 하드디스크, 착탈형 디스크, CD-ROM, 또는 당업계에 알려진 임의의 다른 형태의 저장 매체에 상주할 수도 있다. 저장 매체는, 프로세서가 저장 매체로부터 정보를 판독하고, 저장 매체에 정보를 기입할 수 있도록 프로세서에 커플링될 수도 있다. 대안적으로, 저장 매체는 프로세서에 통합될 수도 있다.
[0089] 당업자들은, 본 명세서에 기재된 양상들과 관련하여 설명된 다양한 예시적인 로직 블록들, 모듈들, 회로들, 및 알고리즘 단계들이 전자 하드웨어, 컴퓨터 소프트웨어, 또는 이 둘의 결합들로서 구현될 수도 있음을 추가적으로 인식할 것이다. 하드웨어와 소프트웨어의 이러한 상호교환가능성을 명확히 예시하기 위해, 다양한 예시적인 컴포넌트들, 블록들, 모듈들, 회로들, 및 단계들은 그들의 기능 관점들에서 일반적으로 상술되었다. 그러한 기능이 하드웨어로 구현되는지 또는 소프트웨어로 구현되는지 여부는 특정 애플리케이션, 및 전체 시스템에 부과된 설계 제약들에 의존한다.
[0090] 본 명세서에 설명된 본 발명의 다양한 특성들은 본 발명을 벗어나지 않으면서 상이한 시스템들에서 구현될 수 있다. 본 발명의 전술한 양상들은 단지 예들일 뿐이며, 본 발명을 제한하는 것으로서 해석되지 않음을 유의해야 한다. 본 발명의 양상들의 설명은, 청구항들의 범위를 제한하는 것이 아니라 예시적인 것으로 의도된다. 그러므로, 본 발명의 교시들은, 다른 타입들의 장치들에 용이하게 적용될 수 있으며, 많은 대안들, 변형들, 및 변경들은 당업자들에게 명백할 것이다.

Claims (43)

  1. 보안 키들을 교환 및/또는 생성하기 위한 수신기 디바이스 상에서 동작가능한 방법으로서,
    송신기 디바이스로부터 제 1 암호화된 마스터 키 Km을 수신하는 단계 - 상기 제 1 암호화된 마스터 키 Km은 수신기 공개키 Kpub-rx에 의해 보안됨(secured) -;
    상기 마스터 키 Km을 획득하기 위해 수신기 개인키 Kpri-rx를 이용하여 상기 제 1 암호화된 마스터 키 Km를 암호해독하는 단계; 및
    제 2 암호화된 마스터 키를 획득하기 위해 비-자체-반전(non-self-inverting) 동작으로 수신기 비밀키 Kh를 적용하는 블록 암호를 사용하여 상기 마스터 키 Km을 암호화하는 단계를 포함하는, 보안 키들을 교환 및/또는 생성하기 위한 수신기 디바이스 상에서 동작가능한 방법.
  2. 제 1 항에 있어서,
    상기 비-자체-반전 동작은, 대응하는 암호해독 동작의 반전이 아닌 암호화 동작을 포함하는, 보안 키들을 교환 및/또는 생성하기 위한 수신기 디바이스 상에서 동작가능한 방법.
  3. 제 1 항에 있어서,
    상기 수신기 비밀키 Kh는, 상기 수신기 디바이스에 미리-저장되고 상기 송신기 디바이스에 알려지지 않은, 보안 키들을 교환 및/또는 생성하기 위한 수신기 디바이스 상에서 동작가능한 방법.
  4. 제 1 항에 있어서,
    상기 수신기 공개키 Kpub-rx, 상기 수신기 개인키 Kpri-rx, 및 상기 수신기 비밀키 Kh는, 상기 수신기 디바이스의 전력 사이클들 사이에서만 또는 세션 동안에만 생성 및 이용되는, 보안 키들을 교환 및/또는 생성하기 위한 수신기 디바이스 상에서 동작가능한 방법.
  5. 제 1 항에 있어서,
    상기 수신기 디바이스로부터 상기 송신기 디바이스로 상기 수신기 공개키 Kpub-rx를 전송하는 단계; 및
    상기 제 2 암호화된 마스터 키를 상기 송신기 디바이스에 전송하는 단계를 더 포함하는, 보안 키들을 교환 및/또는 생성하기 위한 수신기 디바이스 상에서 동작가능한 방법.
  6. 제 5 항에 있어서,
    상기 송신기 디바이스가 보호된 콘텐츠를 상기 수신기 디바이스에 전달할 프로세스의 일부로서, 후속 시간에서 상기 송신기 디바이스로부터 상기 제 2 암호화된 마스터 키를 수신하는 단계를 더 포함하는, 보안 키들을 교환 및/또는 생성하기 위한 수신기 디바이스 상에서 동작가능한 방법.
  7. 제 1 항에 있어서,
    상기 수신기 디바이스는, 상기 수신기 디바이스의 전력 사이클들 사이에서만 또는 세션 동안에만 휘발성 저장 디바이스에 상기 마스터 키 Km을 저장하는, 보안 키들을 교환 및/또는 생성하기 위한 수신기 디바이스 상에서 동작가능한 방법.
  8. 제 1 항에 있어서,
    상기 블록 암호는 상기 비밀키 Kh로부터 생성된 복수의 별개의 라운드(round) 키들을 포함하는, 보안 키들을 교환 및/또는 생성하기 위한 수신기 디바이스 상에서 동작가능한 방법.
  9. 제 1 항에 있어서,
    상기 블록 암호는, 각각의 라운드에서 깨뜨릴 수 없는(unbreakable) 기능을 구현하는 루비-랙오프(Luby-Rackoff) 암호인, 보안 키들을 교환 및/또는 생성하기 위한 수신기 디바이스 상에서 동작가능한 방법.
  10. 제 9 항에 있어서,
    상기 기능은, 진보된 암호화 표준(AES)-128 기능 및 보안 해시 알고리즘(SHA)-256 기능 중 하나인, 보안 키들을 교환 및/또는 생성하기 위한 수신기 디바이스 상에서 동작가능한 방법.
  11. 제 1 항에 있어서,
    상기 마스터 키 Km은 복제-보호된 비디오 콘텐츠에 대한 HDCP(High-bandwidth Digital Content Protection) 암호화 프로토콜 내에서 사용되는, 보안 키들을 교환 및/또는 생성하기 위한 수신기 디바이스 상에서 동작가능한 방법.
  12. 수신기 디바이스로서,
    송신기 디바이스와 통신하기 위한 통신 회로; 및
    상기 통신 회로에 커플링된 프로세싱 회로를 포함하고,
    상기 프로세싱 회로는,
    상기 송신기 디바이스로부터 제 1 암호화된 마스터 키 Km을 수신하고 - 상기 제 1 암호화된 마스터 키 Km은 수신기 공개키 Kpub-rx에 의해 보안됨 -;
    상기 마스터 키 Km을 획득하기 위해 수신기 개인키 Kpri-rx를 이용하여 상기 제 1 암호화된 마스터 키 Km를 암호해독하며; 그리고,
    제 2 암호화된 마스터 키를 획득하기 위해 비-자체-반전 동작으로 수신기 비밀키 Kh를 적용하는 블록 암호를 사용하여 상기 마스터 키 Km을 암호화
    하도록 구성되는, 수신기 디바이스.
  13. 제 12 항에 있어서,
    상기 수신기 비밀키 Kh를 미리-저장하기 위한 비-휘발성 저장 디바이스를 더 포함하며,
    상기 수신기 비밀키 Kh는 상기 송신기 디바이스에 알려지지 않는, 수신기 디바이스.
  14. 제 12 항에 있어서,
    상기 프로세싱 회로는,
    상기 수신기 디바이스로부터 상기 송신기 디바이스로 상기 수신기 공개키 Kpub-rx를 전송하고; 그리고,
    상기 제 2 암호화된 마스터 키를 상기 송신기 디바이스에 전송
    하도록 추가적으로 구성되는, 수신기 디바이스.
  15. 제 14 항에 있어서,
    상기 프로세싱 회로는, 상기 송신기 디바이스가 보호된 콘텐츠를 상기 수신기 디바이스에 전달할 프로세스의 일부로서, 후속 시간에서 상기 송신기 디바이스로부터 상기 제 2 암호화된 마스터 키를 수신하도록 추가적으로 구성되는, 수신기 디바이스.
  16. 제 12 항에 있어서,
    상기 블록 암호는 상기 수신기 비밀키 Kh로부터 생성된 복수의 별개의 라운드 키들을 포함하는, 수신기 디바이스.
  17. 제 12 항에 있어서,
    상기 블록 암호는, 각각의 라운드에서 깨뜨릴 수 없는 기능을 구현하는 루비-랙오프 암호인, 수신기 디바이스.
  18. 제 12 항에 있어서,
    상기 마스터 키 Km은 복제-보호된 비디오 콘텐츠에 대한 HDCP(High-bandwidth Digital Content Protection) 암호화 프로토콜 내에서 사용되는, 수신기 디바이스.
  19. 수신기 디바이스로서,
    송신기 디바이스로부터 제 1 암호화된 마스터 키 Km을 수신하기 위한 수단 - 상기 제 1 암호화된 마스터 키 Km은 수신기 공개키 Kpub-rx에 의해 보안됨 -;
    상기 마스터 키 Km을 획득하기 위해 수신기 개인키 Kpri-rx를 이용하여 상기 제 1 암호화된 마스터 키 Km를 암호해독하기 위한 수단; 및
    제 2 암호화된 마스터 키를 획득하기 위해 비-자체-반전 동작으로 수신기 비밀키 Kh를 적용하는 블록 암호를 사용하여 상기 마스터 키 Km을 암호화하기 위한 수단을 포함하는, 수신기 디바이스.
  20. 제 19 항에 있어서,
    상기 수신기 디바이스로부터 상기 송신기 디바이스로 상기 공개키 Kpub-rx를 전송하기 위한 수단; 및
    상기 제 2 암호화된 마스터 키를 상기 송신기 디바이스에 전송하기 위한 수단을 더 포함하는, 수신기 디바이스.
  21. 제 20 항에 있어서,
    상기 송신기 디바이스가 보호된 콘텐츠를 상기 수신기 디바이스에 전달할 프로세스의 일부로서, 후속 시간에서 상기 송신기 디바이스로부터 상기 제 2 암호화된 마스터 키를 수신하기 위한 수단을 더 포함하는, 수신기 디바이스.
  22. 명령들이 저장된 비-일시적인 머신-판독가능 저장 매체로서,
    상기 명령들은, 적어도 하나의 프로세서에 의해 실행되는 경우, 상기 적어도 하나의 프로세서로 하여금,
    송신기 디바이스로부터 제 1 암호화된 마스터 키 Km을 수신하게 하고 - 상기 제 1 암호화된 마스터 키 Km은 수신기 공개키 Kpub-rx에 의해 보안됨 -;
    상기 마스터 키 Km을 획득하기 위해 수신기 개인키 Kpri-rx를 이용하여 상기 제 1 암호화된 마스터 키 Km를 암호해독하게 하며; 그리고,
    제 2 암호화된 마스터 키를 획득하기 위해 비-자체-반전 동작으로 수신기 비밀키 Kh를 적용하는 블록 암호를 사용하여 상기 마스터 키 Km을 암호화
    하게 하는, 비-일시적인 머신-판독가능 저장 매체.
  23. 제 22 항에 있어서,
    상기 적어도 하나의 프로세서에 의해 실행되는 경우, 상기 적어도 하나의 프로세서로 하여금,
    상기 제 2 암호화된 마스터 키를 상기 송신기 디바이스에 전송하게 하고; 그리고,
    상기 송신기 디바이스가 보호된 콘텐츠를 상기 수신기 디바이스에 전달할 프로세스의 일부로서, 후속 시간에서 상기 송신기 디바이스로부터 상기 제 2 암호화된 마스터 키를 수신하게 하는 명령들이 추가적으로 저장된, 비-일시적인 머신-판독가능 저장 매체.
  24. 보안 키들을 교환 및/또는 생성하기 위한 수신기 디바이스 상에서 동작가능한 방법으로서,
    수신기 임의값(nonce) rrx를 송신기 디바이스에 송신하는 단계;
    상기 송신기 디바이스로부터 송신기 임의값 rtx를 수신하는 단계;
    상기 송신기 디바이스로부터 제 1 암호화된 마스터 키 Km 및 마스터 임의값 m을 수신하는 단계 - 상기 제 1 암호화된 마스터 키 Km은 수신기 공개키 Kpub-rx에 의해 보안되고, 상기 마스터 임의값 m은 송신기 임의값 rtx 및 수신기 임의값 rrx 둘 모두의 함수임 -;
    상기 마스터 키 Km을 획득하기 위해 수신기 개인키 Kpri-rx를 이용하여 상기 제 1 암호화된 마스터 키 Km를 암호해독하는 단계; 및
    제 2 암호화된 마스터 키를 획득하기 위해 진보된 암호화 표준(AES) 블록 암호 내에서 수신기 비밀키 Kh 및 상기 마스터 임의값 m을 사용하여 비-자체-반전 동작으로 상기 마스터 키 Km을 암호화하는 단계를 포함하는, 보안 키들을 교환 및/또는 생성하기 위한 수신기 디바이스 상에서 동작가능한 방법.
  25. 제 24 항에 있어서,
    상기 수신기 공개키 Kpub-rx 및 상기 수신기 개인키 Kpri-rx는 상기 수신기 디바이스에 미리-저장된 암호키 쌍인, 보안 키들을 교환 및/또는 생성하기 위한 수신기 디바이스 상에서 동작가능한 방법.
  26. 제 24 항에 있어서,
    상기 수신기 비밀키 Kh는, 상기 수신기 디바이스에 미리-저장되고 상기 송신기 디바이스에 알려지지 않은, 보안 키들을 교환 및/또는 생성하기 위한 수신기 디바이스 상에서 동작가능한 방법.
  27. 제 24 항에 있어서,
    상기 수신기 공개키 Kpub-rx, 수신기 개인키 Kpri-rx 쌍, 및 상기 수신기 비밀키 Kh는, 상기 수신기 디바이스의 전력 사이클들 사이에서만 또는 세션 동안에만 생성 및 이용되는, 보안 키들을 교환 및/또는 생성하기 위한 수신기 디바이스 상에서 동작가능한 방법.
  28. 제 24 항에 있어서,
    상기 수신기 디바이스로부터 상기 송신기 디바이스로 상기 수신기 공개키 Kpub-rx를 전송하는 단계; 및
    상기 제 2 암호화된 마스터 키를 상기 송신기 디바이스에 전송하는 단계를 더 포함하는, 보안 키들을 교환 및/또는 생성하기 위한 수신기 디바이스 상에서 동작가능한 방법.
  29. 제 28 항에 있어서,
    상기 송신기 임의값의 새로운 인스턴스(instance) rtx '를 새로운 세션의 일부로서 수신하는 단계;
    상기 마스터 임의값 m과 함께 상기 제 2 암호화된 마스터 키를 수신하는 단계; 및
    상기 새로운 세션으로 진행하기 전에, 상기 마스터 임의값 m이 상기 송신기 임의값의 새로운 인스턴스 rtx ' 및 상기 수신기 임의값 rrx의 함수인지를 검증하는 단계를 더 포함하는, 보안 키들을 교환 및/또는 생성하기 위한 수신기 디바이스 상에서 동작가능한 방법.
  30. 제 29 항에 있어서,
    상기 마스터 임의값 m이 상기 수신기 임의값 rrx에 기초하지 않으면, 상기 새로운 세션을 종료하는 단계를 더 포함하는, 보안 키들을 교환 및/또는 생성하기 위한 수신기 디바이스 상에서 동작가능한 방법.
  31. 제 24 항에 있어서,
    상기 수신기 디바이스는, 상기 수신기 디바이스의 전력 사이클들 사이에서만 또는 세션 동안에만 휘발성 저장 디바이스에 상기 마스터 키 Km을 저장하는, 보안 키들을 교환 및/또는 생성하기 위한 수신기 디바이스 상에서 동작가능한 방법.
  32. 제 24 항에 있어서,
    상기 마스터 키 Km은 복제-보호된 비디오 콘텐츠에 대한 HDCP(High-bandwidth Digital Content Protection) 암호화 프로토콜 내에서 사용되는, 보안 키들을 교환 및/또는 생성하기 위한 수신기 디바이스 상에서 동작가능한 방법.
  33. 수신기 디바이스로서,
    송신기 디바이스와 통신하기 위한 통신 회로; 및
    상기 통신 회로에 커플링된 프로세싱 회로를 포함하고,
    상기 프로세싱 회로는,
    수신기 임의값 rrx를 송신기 디바이스에 송신하고;
    상기 송신기 디바이스로부터 송신기 임의값 rtx를 수신하고;
    상기 송신기 디바이스로부터 제 1 암호화된 마스터 키 Km 및 마스터 임의값 m을 수신하고 - 상기 제 1 암호화된 마스터 키 Km은 수신기 공개키 Kpub-rx에 의해 보안되고, 상기 마스터 임의값 m은 송신기 임의값 rtx 및 수신기 임의값 rrx 둘 모두의 함수임 -;
    상기 마스터 키 Km을 획득하기 위해 수신기 개인키 Kpri-rx를 이용하여 상기 제 1 암호화된 마스터 키 Km를 암호해독하며; 그리고,
    제 2 암호화된 마스터 키를 획득하기 위해 진보된 암호화 표준(AES) 블록 암호 내에서 수신기 비밀키 Kh 및 상기 마스터 임의값 m을 사용하여 비-자체-반전 동작으로 상기 마스터 키 Km을 암호화
    하도록 구성되는, 수신기 디바이스.
  34. 제 33 항에 있어서,
    상기 수신기 비밀키 Kh는, 상기 수신기 디바이스에 미리-저장되고 상기 송신기 디바이스에 알려지지 않은, 수신기 디바이스.
  35. 제 33 항에 있어서,
    상기 프로세싱 회로는,
    상기 수신기 디바이스로부터 상기 송신기 디바이스로 상기 수신기 공개키 Kpub-rx를 전송하고; 그리고,
    상기 제 2 암호화된 마스터 키를 상기 송신기 디바이스에 전송
    하도록 추가적으로 구성되는, 수신기 디바이스.
  36. 제 33 항에 있어서,
    상기 프로세싱 회로는,
    상기 송신기 임의값의 새로운 인스턴스 rtx'를 새로운 세션의 일부로서 수신하고;
    상기 마스터 임의값 m과 함께 상기 제 2 암호화된 마스터 키를 수신하며; 그리고,
    상기 새로운 세션으로 진행하기 전에, 상기 마스터 임의값 m이 상기 송신기 임의값의 새로운 인스턴스 rtx' 및 상기 수신기 임의값 rrx의 함수인지를 검증
    하도록 추가적으로 구성되는, 수신기 디바이스.
  37. 수신기 디바이스로서,
    수신기 임의값 rrx를 송신기 디바이스에 송신하기 위한 수단;
    상기 송신기 디바이스로부터 송신기 임의값 rtx를 수신하기 위한 수단;
    상기 송신기 디바이스로부터 제 1 암호화된 마스터 키 Km 및 마스터 임의값 m을 수신하기 위한 수단 - 상기 제 1 암호화된 마스터 키 Km은 수신기 공개키 Kpub-rx에 의해 보안되고, 상기 마스터 임의값 m은 송신기 임의값 rtx 및 수신기 임의값 rrx 둘 모두의 함수임 -;
    상기 마스터 키 Km을 획득하기 위해 수신기 개인키 Kpri-rx를 이용하여 상기 제 1 암호화된 마스터 키 Km를 암호해독하기 위한 수단; 및
    제 2 암호화된 마스터 키를 획득하기 위해 진보된 암호화 표준(AES) 블록 암호 내에서 수신기 비밀키 Kh 및 상기 마스터 임의값 m을 사용하여 비-자체-반전 동작으로 상기 마스터 키 Km을 암호화하기 위한 수단을 포함하는, 수신기 디바이스.
  38. 제 37 항에 있어서,
    상기 제 2 암호화된 마스터 키를 상기 송신기 디바이스에 전송하기 위한 수단;
    상기 송신기 임의값의 새로운 인스턴스 rtx '를 새로운 세션의 일부로서 수신하기 위한 수단;
    상기 마스터 임의값 m과 함께 상기 제 2 암호화된 마스터 키를 수신하기 위한 수단; 및
    상기 새로운 세션으로 진행하기 전에, 상기 마스터 임의값 m이 상기 송신기 임의값의 새로운 인스턴스 rtx ' 및 상기 수신기 임의값 rrx의 함수인지를 검증하기 위한 수단을 더 포함하는, 수신기 디바이스.
  39. 명령들이 저장된 비-일시적인 머신-판독가능 저장 매체로서,
    상기 명령들은, 적어도 하나의 프로세서에 의해 실행되는 경우, 상기 적어도 하나의 프로세서로 하여금,
    수신기 임의값 rrx를 송신기 디바이스에 송신하게 하고;
    상기 송신기 디바이스로부터 송신기 임의값 rtx를 수신하게 하고;
    상기 송신기 디바이스로부터 제 1 암호화된 마스터 키 Km 및 마스터 임의값 m을 수신하게 하고 - 상기 제 1 암호화된 마스터 키 Km은 수신기 공개키 Kpub-rx에 의해 보안되고, 상기 마스터 임의값 m은 송신기 임의값 rtx 및 수신기 임의값 rrx 둘 모두의 함수임 -;
    상기 마스터 키 Km을 획득하기 위해 수신기 개인키 Kpri-rx를 이용하여 상기 제 1 암호화된 마스터 키 Km를 암호해독하게 하며; 그리고,
    제 2 암호화된 마스터 키를 획득하기 위해 진보된 암호화 표준(AES) 블록 암호 내에서 수신기 비밀키 Kh 및 상기 마스터 임의값 m을 사용하여 비-자체-반전 동작으로 상기 마스터 키 Km을 암호화하게 하는, 비-일시적인 머신-판독가능 저장 매체.
  40. 제 24 항에 있어서,
    상기 송신기 디바이스에 송신되는 상기 수신기 임의값 rrx는 송신기 공개 키 Kpub-tx에 의해 보안되고, 상기 송신기 디바이스로부터 수신되는 상기 송신기 임의값 rtx는 수신기 공개 키 Kpub-rx에 의해 보안되고, 상기 마스터 임의 값 m은 상기 송신기 디바이스 및 상기 수신기 디바이스 각각에 의해 독립적으로 생성되는,
    보안 키들을 교환 및/또는 생성하기 위한 수신기 디바이스 상에서 동작가능한 방법.
  41. 제 33 항에 있어서,
    상기 송신기 디바이스에 송신되는 상기 수신기 임의값 rrx는 송신기 공개 키 Kpub-tx에 의해 보안되고, 상기 송신기 디바이스로부터 수신되는 상기 송신기 임의값 rtx는 수신기 공개 키 Kpub-rx에 의해 보안되고, 상기 마스터 임의 값 m은 상기 송신기 디바이스 및 상기 수신기 디바이스 각각에 의해 독립적으로 생성되는,
    수신기 디바이스.
  42. 제 37 항에 있어서,
    상기 송신기 디바이스에 송신되는 상기 수신기 임의값 rrx는 송신기 공개 키 Kpub-tx에 의해 보안되고, 상기 송신기 디바이스로부터 수신되는 상기 송신기 임의값 rtx는 수신기 공개 키 Kpub-rx에 의해 보안되고, 상기 마스터 임의 값 m은 상기 송신기 디바이스 및 상기 수신기 디바이스 각각에 의해 독립적으로 생성되는,
    수신기 디바이스.
  43. 제 39 항에 있어서,
    상기 송신기 디바이스에 송신되는 상기 수신기 임의값 rrx는 송신기 공개 키 Kpub-tx에 의해 보안되고, 상기 송신기 디바이스로부터 수신되는 상기 송신기 임의값 rtx는 수신기 공개 키 Kpub-rx에 의해 보안되고, 상기 마스터 임의 값 m은 상기 송신기 디바이스 및 상기 수신기 디바이스 각각에 의해 독립적으로 생성되도록 상기 명령들은 동작되는,
    비-일시적인 머신-판독가능 저장 매체.
KR1020157028758A 2013-03-14 2014-03-12 키 복원 공격들을 좌절시키기 위한 대책으로서 송신기-수신기 페어링을 위한 마스터 키 암호화 기능들 KR101725847B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/830,598 2013-03-14
US13/830,598 US9094191B2 (en) 2013-03-14 2013-03-14 Master key encryption functions for transmitter-receiver pairing as a countermeasure to thwart key recovery attacks
PCT/US2014/024756 WO2014159689A1 (en) 2013-03-14 2014-03-12 Master key encryption functions for transmitter-receiver pairing as a countermeasure to thwart key recovery attacks

Publications (2)

Publication Number Publication Date
KR20150129824A KR20150129824A (ko) 2015-11-20
KR101725847B1 true KR101725847B1 (ko) 2017-04-11

Family

ID=50896490

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157028758A KR101725847B1 (ko) 2013-03-14 2014-03-12 키 복원 공격들을 좌절시키기 위한 대책으로서 송신기-수신기 페어링을 위한 마스터 키 암호화 기능들

Country Status (6)

Country Link
US (1) US9094191B2 (ko)
EP (1) EP2974340A1 (ko)
JP (1) JP6138333B2 (ko)
KR (1) KR101725847B1 (ko)
CN (1) CN105009597A (ko)
WO (1) WO2014159689A1 (ko)

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104170312B (zh) * 2011-12-15 2018-05-22 英特尔公司 用于使用硬件安全引擎通过网络进行安全通信的方法和设备
US9497171B2 (en) 2011-12-15 2016-11-15 Intel Corporation Method, device, and system for securely sharing media content from a source device
US9203813B2 (en) * 2013-03-15 2015-12-01 Panasonic Intellectual Property Management Co., Ltd. Content distribution method, content distribution system, source device, and sink device
WO2014185845A1 (en) * 2013-05-13 2014-11-20 Telefonaktiebolaget L M Ericsson (Publ) Procedure for platform enforced secure storage in infrastructure clouds
US9641400B2 (en) 2014-11-21 2017-05-02 Afero, Inc. Internet of things device for registering user selections
US10291595B2 (en) 2014-12-18 2019-05-14 Afero, Inc. System and method for securely connecting network devices
US20160180100A1 (en) 2014-12-18 2016-06-23 Joe Britt System and method for securely connecting network devices using optical labels
US9832173B2 (en) 2014-12-18 2017-11-28 Afero, Inc. System and method for securely connecting network devices
US10045150B2 (en) 2015-03-30 2018-08-07 Afero, Inc. System and method for accurately sensing user location in an IoT system
US9704318B2 (en) 2015-03-30 2017-07-11 Afero, Inc. System and method for accurately sensing user location in an IoT system
US9717012B2 (en) 2015-06-01 2017-07-25 Afero, Inc. Internet of things (IOT) automotive device, system, and method
CN113923052A (zh) * 2015-07-03 2022-01-11 阿费罗有限公司 用于在物联网(IoT)***中建立安全通信信道的设备和方法
US9699814B2 (en) 2015-07-03 2017-07-04 Afero, Inc. Apparatus and method for establishing secure communication channels in an internet of things (IoT) system
US9729528B2 (en) 2015-07-03 2017-08-08 Afero, Inc. Apparatus and method for establishing secure communication channels in an internet of things (IOT) system
US10015766B2 (en) 2015-07-14 2018-07-03 Afero, Inc. Apparatus and method for securely tracking event attendees using IOT devices
US9793937B2 (en) 2015-10-30 2017-10-17 Afero, Inc. Apparatus and method for filtering wireless signals
KR101760376B1 (ko) 2015-11-26 2017-07-24 고려대학교 산학협력단 안전한 메신저 서비스를 제공하는 단말 및 방법
CN107113171B (zh) 2015-12-10 2019-03-29 深圳市大疆创新科技有限公司 安全通信***、方法及装置
US10178530B2 (en) 2015-12-14 2019-01-08 Afero, Inc. System and method for performing asset and crowd tracking in an IoT system
US10455452B2 (en) 2015-12-14 2019-10-22 Afero, Inc. System and method for flow control in an internet of things (IoT) system
US10116573B2 (en) 2015-12-14 2018-10-30 Afero, Inc. System and method for managing internet of things (IoT) devices and traffic using attribute classes
CN108475317A (zh) * 2015-12-14 2018-08-31 阿费罗有限公司 用于保护物联网(IoT)装置预置的***和方法
US10171462B2 (en) 2015-12-14 2019-01-01 Afero, Inc. System and method for secure internet of things (IOT) device provisioning
US10523437B2 (en) * 2016-01-27 2019-12-31 Lg Electronics Inc. System and method for authentication of things
CN106571915A (zh) * 2016-11-15 2017-04-19 ***股份有限公司 一种终端主密钥的设置方法和装置
US10154015B1 (en) 2017-06-12 2018-12-11 Ironclad Encryption Corporation Executable coded cipher keys
US10650139B2 (en) 2017-06-12 2020-05-12 Daniel Maurice Lerner Securing temporal digital communications via authentication and validation for wireless user and access devices with securitized containers
US10645070B2 (en) 2017-06-12 2020-05-05 Daniel Maurice Lerner Securitization of temporal digital communications via authentication and validation for wireless user and access devices
US10154016B1 (en) 2017-06-12 2018-12-11 Ironclad Encryption Corporation Devices for transmitting and communicating randomized data utilizing sub-channels
WO2018231703A1 (en) 2017-06-12 2018-12-20 Daniel Maurice Lerner Securitization of temporal digital communications via authentication and validation for wireless user and access devices
US10764282B2 (en) 2017-06-12 2020-09-01 Daniel Maurice Lerner Protected and secured user-wearable devices for assured authentication and validation of data storage and transmission that utilize securitized containers
US10154021B1 (en) 2017-06-12 2018-12-11 Ironclad Encryption Corporation Securitization of temporal digital communications with authentication and validation of user and access devices
US10158613B1 (en) 2017-06-12 2018-12-18 Ironclad Encryption Corporation Combined hidden dynamic random-access devices utilizing selectable keys and key locators for communicating randomized data together with sub-channels and coded encryption keys
US10623384B2 (en) 2017-06-12 2020-04-14 Daniel Maurice Lerner Combined hidden dynamic random-access devices utilizing selectable keys and key locators for communicating randomized data together with sub-channels and coded encryption keys
US10616192B2 (en) 2017-06-12 2020-04-07 Daniel Maurice Lerner Devices that utilize random tokens which direct dynamic random access
US10154031B1 (en) 2017-06-12 2018-12-11 Ironclad Encryption Corporation User-wearable secured devices provided assuring authentication and validation of data storage and transmission
US10171435B1 (en) 2017-06-12 2019-01-01 Ironclad Encryption Corporation Devices that utilize random tokens which direct dynamic random access
WO2019195691A1 (en) 2018-04-05 2019-10-10 Daniel Maurice Lerner Discrete blockchain and blockchain communications
US11362824B2 (en) * 2018-05-25 2022-06-14 Intertrust Technologies Corporation Content management systems and methods using proxy reencryption
CN112236972B (zh) * 2019-01-04 2023-06-16 百度时代网络技术(北京)有限公司 用于导出会话密钥以确保主机***和数据处理加速器之间的信息交换信道的方法和***
US11251944B2 (en) 2020-02-21 2022-02-15 Nutanix, Inc. Secure storage and usage of cryptography keys
US20220209949A1 (en) * 2020-12-30 2022-06-30 Psdl Secure communication device and secure communication program
WO2024005419A1 (ko) * 2022-07-01 2024-01-04 삼성전자 주식회사 암호화 서비스를 제공하는 전자 장치 및 그 동작 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090296938A1 (en) * 2008-05-27 2009-12-03 Intel Corporation Methods and apparatus for protecting digital content

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6937727B2 (en) * 2001-06-08 2005-08-30 Corrent Corporation Circuit and method for implementing the advanced encryption standard block cipher algorithm in a system having a plurality of channels
US20050005093A1 (en) 2003-07-01 2005-01-06 Andrew Bartels Methods, systems and devices for securing supervisory control and data acquisition (SCADA) communications
US20060126841A1 (en) * 2004-12-14 2006-06-15 Tata Consultancy Services Ltd. Method and apparatus for a security system for wireless networks
JP2007192893A (ja) * 2006-01-17 2007-08-02 Sony Corp 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム
US7864952B2 (en) * 2006-06-28 2011-01-04 Voltage Security, Inc. Data processing systems with format-preserving encryption and decryption engines
JP4961909B2 (ja) 2006-09-01 2012-06-27 ソニー株式会社 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム
JP4888184B2 (ja) * 2007-03-26 2012-02-29 ティアック株式会社 記憶装置
FR2923305B1 (fr) * 2007-11-02 2011-04-29 Inside Contactless Procede et dispositifs de protection d'un microcircuit contre des attaques visant a decouvrir une donnee secrete
WO2009081975A1 (ja) * 2007-12-26 2009-07-02 Nec Corporation 暗号化装置、復号装置、暗号化方法、復号方法およびプログラム
US20090210712A1 (en) * 2008-02-19 2009-08-20 Nicolas Fort Method for server-side detection of man-in-the-middle attacks
KR101688266B1 (ko) * 2008-12-17 2016-12-20 인터디지탈 패튼 홀딩스, 인크 직접 링크 통신의 향상된 보안
KR101732057B1 (ko) * 2009-11-02 2017-05-02 삼성전자주식회사 Av 시스템에서 사용자 입력 백 채널을 제공하는 방법 및 기기
US8644515B2 (en) 2010-08-11 2014-02-04 Texas Instruments Incorporated Display authenticated security association

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090296938A1 (en) * 2008-05-27 2009-12-03 Intel Corporation Methods and apparatus for protecting digital content

Also Published As

Publication number Publication date
US9094191B2 (en) 2015-07-28
JP6138333B2 (ja) 2017-05-31
JP2016511620A (ja) 2016-04-14
US20140270166A1 (en) 2014-09-18
KR20150129824A (ko) 2015-11-20
EP2974340A1 (en) 2016-01-20
CN105009597A (zh) 2015-10-28
WO2014159689A1 (en) 2014-10-02

Similar Documents

Publication Publication Date Title
KR101725847B1 (ko) 키 복원 공격들을 좌절시키기 위한 대책으로서 송신기-수신기 페어링을 위한 마스터 키 암호화 기능들
US10482291B2 (en) Secure field-programmable gate array (FPGA) architecture
US10785019B2 (en) Data transmission method and apparatus
AU2019271965B2 (en) POS System with white box encryption key sharing
US11533297B2 (en) Secure communication channel with token renewal mechanism
CN104094267B (zh) 安全共享来自源装置的媒体内容的方法、装置和***
KR20080065633A (ko) 제약된 암호 키
KR20170035665A (ko) 키 교환 장치 및 방법
US20190268145A1 (en) Systems and Methods for Authenticating Communications Using a Single Message Exchange and Symmetric Key
KR101608815B1 (ko) 폐쇄형 네트워크에서 암복호화 서비스 제공 시스템 및 방법
CN109309566B (zh) 一种认证方法、装置、***、设备及存储介质
JP2017085559A (ja) 制限帯域幅を有するチャネルにおける効率的かつ強秘匿性の対称暗号化のためのシステムおよび方法
US10686587B2 (en) Method for safeguarding the information security of data transmitted via a data bus and data bus system
US11088835B1 (en) Cryptographic module to generate cryptographic keys from cryptographic key parts
US20210266175A1 (en) Device for data encryption and integrity
US20160148002A1 (en) Key storage apparatus, key storage method and program therefor
EP4123956A1 (en) Method for securely transferring data elements values
TW202239172A (zh) 量子安全金鑰交換方案
Perrin et al. Enhancing transport layer security with Dynamic Identity Verification and Authentication (DIVA): Maintaining and enhancing SSL/TLS reliability
Agrawal Assignment Report

Legal Events

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