KR20050084877A - 장치 특정 보안 데이터의 안전한 실시 및 이용 - Google Patents

장치 특정 보안 데이터의 안전한 실시 및 이용 Download PDF

Info

Publication number
KR20050084877A
KR20050084877A KR1020057007260A KR20057007260A KR20050084877A KR 20050084877 A KR20050084877 A KR 20050084877A KR 1020057007260 A KR1020057007260 A KR 1020057007260A KR 20057007260 A KR20057007260 A KR 20057007260A KR 20050084877 A KR20050084877 A KR 20050084877A
Authority
KR
South Korea
Prior art keywords
data
electronic circuit
security
during
device specific
Prior art date
Application number
KR1020057007260A
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 KR20050084877A publication Critical patent/KR20050084877A/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • 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/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • 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/0841Key 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 Diffie-Hellman or related key agreement protocols
    • H04L9/0844Key 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 Diffie-Hellman or related key agreement protocols with user authentication or key authentication, e.g. ElGamal, MTI, MQV-Menezes-Qu-Vanstone protocol or Diffie-Hellman protocols using implicitly-certified keys
    • 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/60Digital content management, e.g. content distribution
    • H04L2209/603Digital right managament [DRM]

Landscapes

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

Abstract

본 발명은, 장치(100)에서 실시하기 위해 구성되는 탬퍼 저항 전자 회로(10)에 관한 것이다. 전자 회로(10)는, 장치(100)의 동작 중에 장치 특정 보안 데이터를 안전하게 실시하고 이용하며, 기본적으로, 회부 회로 인터페이스를 통해 접근할 수 없는 템퍼 저항 기억된 비밀 번호(C)를 지닌다. 전자 회로(10)에는, 또한 적어도 부분적으로 기억된 비밀 번호에 응답하여, 장치(100)의 사용 중에 상기 전자 회로(10) 내에 내부적으로 규정되는 장치 특정 보안 데이터의 인스턴스를 작성하도록, 암호 처리를 행하기 위한 기능성(13)이 제공된다. 전자 회로(10)는 또한 내부적으로 규정된 장치 특정 보안 데이터에 응답하여 하나 이상의 보안 관련 연산 또는 알고리즘(14)을 실행하기 위해 구성된다. 이런 식으로, 보안을 위한 장치 특정 보안 데이터의 안전한 실시 및 이용은 효율적으로 달성될 수 있다. 기억된 비밀 번호(C)가 전자 회로의 외부에서 결코 입수할 수 없고, 장치 특정 보안 데이터가 장치의 사용 또는 조작 중에 회로 내에 내부적으로 규정되어 있으므로, 보안은 위태롭게 되지 않는다.

Description

장치 특정 보안 데이터의 안전한 실시 및 이용{SECURE IMPLEMENTATION AND UTILIZATION OF DEVICE-SPECIFIC SECURITY DATA}
본 발명은 일반적으로 여러 목적을 위해 장치 특정(device-specific) 보안 데이터의 관리, 실시 및 이용에 관한 것으로서, 특히, 이와 같은 장치 특정 보안 데이터를 장치에 제공하는 안전 및 효율적인 절차에 관한 것이다.
이동 전화, 개인용 컴퓨터, 카메라, 오디오 장치, 서버, 기지국 및 방화벽 등의 다양한 여러 장치 내의 장치 특정 보안 데이터를 실시 및 이용하기 위한 일반적인 필요성이 존재한다. 장치 특정 보안 데이터는, 불안정한 네트워크, 디지털 콘텐트의 콘텐트-마킹(content-marking) 등을 통한 통신에 관련하여 보안 문제(issues)의 관리를 포함하고, 여러 목적을 위해 사용될 수 있다.
본 발명에 숨겨진 원리의 이해를 용이하게 하기 위해서는, 대량의 장치의 제조 공정을 생각하는데 도움이 될 수 있다. 특히, 예컨대, 어떠한 제 3 파티(특히 제 3 파티 칩 제조자)의 트러스트(trust)를 제한하고, 탬퍼-저항(tamper-resistantly) 보호 및 장치마다 고유 암호 키 및/또는 다른 보안 데이터를 포함하는 장치를 저 비용으로 제조할 필요가 있는 장치 제조자를 고려하는데 유용할 수 있다.
예컨대, 네트워크 통신에서, 데이터 보안은 종종 어떤 종류의 보안 데이터, 예컨대, 암호 키에 기초로 하며, 이는 데이터 비밀성, 데이터 무결성(integrity), 인증, 인가, 부인 방지(non-repudiation) 및/또는 다른 보안 서비스를 확립하기 위해 사용된다. 인터넷, 패킷 데이터 통신 네트워크 및 다른 통신 네트워크의 급속한 발전에 의해, 네트워크 내의 노드 및/또는 장치 간에 교환되는 보호 메시지와 같은 적당한 데이터 보안을 제공할 수 있는 것이 점점 더 중요하게 되었다. 단순화를 위해, 이와 같은 통신에 참여하는 어떠한 엔티티는 네트워크 장치로서 지칭되며, 예들은 이동 전화, 개인용 컴퓨터, 보안 게이트웨이, 방화벽, 무선 기지국 등을 포함한다.
예컨대, 네트워크 통신과 관련하여 보안 문제를 위해 나중에 이용될 수 있는 보안 데이터를 가진 장치를 안전하고, 비용 면에서 효율적으로 제조할 시에 다수의 곤란이 존재한다:
- 각 장치에 대해 상이한 장치 특정 보안 데이터를 설치하거나 실시하는 것. 이것은 약간의 장치의 구성 요소에 대해 완전히 새로운 제조 공정을 필요로 하여, 고가 및/또는 비효율적으로 될 수 있다.
- 장치가 인가되지 않은 파티에 의해 절충(compromise)되거나 연산될 수 없도록 보안 데이터를 장치 내의 어떤 위치 내에 배치하는 것.
- 보안 데이터가 장치의 완전 제조 공정 중에 인가되지 않은 파티로부터 확실히 보호되도록 하는 것. 특히, 트러스트되지 않은(untrusted) 파티가 제조 중에 수반되면, 부가적인 보안 관리가 필요할 수 있다.
- 인가된 파티가 장치에 관련하여 데이터 보안을 나중에 제공할 수 있게 할 필요가 있는 보안 데이터에 관련된 정보, 예컨대, 장치와의 안전한 접속을 설정하는 정보를 확실히 관리하는 것. 예컨대, 장치의 보안 데이터가 인증 및/또는 암호화 프로토콜과 같은 암호 프로토콜 내의 공유 비밀 키면, 동일한 키가 이용 가능하여야 하고, 장치와의 안전한 접속을 설정할 수 있어야 하는 인가된 통신 파트너를 위해서만 이용 가능하여야 한다.
예컨대, 오늘날, 이동 통신 시스템, 페이징 시스템뿐만 아니라 무선 및 유선(wireline) 데이터 네트워크를 포함하는 많은 통신 시스템은 시스템 보안성 및 로버스트니스(robustness)를 향상시키기 위해 인증 및 암호화 절차를 이용한다. 안전한 로버스트 통신을 확립하는 문제는, 일반적 네트워크 통신에서 디지털 저작권 관리(Digital Rights Management; DRM)와 같은 더욱 특별한 응용까지의 많은 기술적 응용에 부닥친다.
일반적으로, 칩 또는 집적 회로(IC), 또는 IC 상에 기억된 데이터를 일반적으로 더욱 보호하는 것을 기억하는 어떤 종류의 프로그램 가능한 메모리, 예컨대, PROM 내에서 보안 데이터를 장치 내에 기억하기 위한 2개의 솔루션이 존재한다.
참조[1]에서, 마스터 키는, 스마트 카드의 EEPROM 내에 기억되어, 비교적 덜 안전한 기억 매체 내에 기억될 감지 정보를 암호화하는데 이용된다.
참조[2]에는, 외부 장치로부터의 프로그램을 RAM 메모리 내에 다운로드하기 위해 외부 장치에 접속되는 프로세서가 개시되어 있다. 프로그램이 암호화되어 있으면, 프로세서 내에 배치된 암호 해독 모듈은 프로그램 정보를 암호 해독하기 위해 프로세서 내에 영구 기억된 키에 접근한다.
참조[3]는 스마트 카드와 관련한 소위 내장형 키(on-board key) 생성에 대해 기술한다.
오늘날, 표준 IC 생산 도구에 의해 IC 상에 비밀 데이터, 예컨대, 장치 특정 난수를 기억할 수 있다. 그러나, 난수 또는 어떤 관련 데이터를 IC 제조자로부터 장치 제조자로 안전하게 전송하기 위한 로지스틱(logistics)은, 현재의 기술로는, 실행 불가능/값비싸고, 및/또는 보안 데이터를 취급하기 위한 특정 보안 관리를 필요로 한다. 일반적으로, 장치 제조자 및 IC 제조자는 상이한 파티일 수 있다. 어떤 보안 데이터가 IC 제조자에 의해 관리되면, 이것은 보안이 약할 수 있고, 공격 타겟이 될 수 있으며, 또한 IC의 비용을 상승시킬 수 있다.
장치 제조자를 대신하여 IC 상에 암호 키를 생성 및/또는 기억하는 IC 제조자에 동일한 논의가 적용된다.
매우 진전된 리버스 엔지니어링(very advanced reverse engineering)이 수반되지 않으면, 장치 제조자는, IC를 제조한 후에 추출할 수 없는 데이터를 IC 제조자가 IC 상에 기억시킬 있다. 그러나, 현재의 수준의 기술의 도움으로 보안에 관련한 이 장치의 데이터를 이용한다는 것은 IC 제조자 및 장치 제조자 내와 그 사이에 보안성 관리를 필요로 하고, 산업화 과정에서, 특히 대량 거래에 대해 안전하지 않거나 실행 불가능/값비싸다.
장치 제조자는 보안 데이터를 PROM 내에 삽입하여 트러스트된(trusted) 제 3 파티로서 IC 제조자를 포함하지 않고, 또한 IC 제조 공정의 값비싼 변경을 피할 수 있다. 그러나, PROM 내의 비밀 번호는 또한 (일시적일 지라도) 장치로 접근할 경우에 상대자(adversary)에 대해 보호되지 않는다. 더욱이, PROM 기능성을 실현하는데 필요한 ASIC(주문형 반도체) 기술은, 예컨대, IC의 생산 과정에서 부가적인 마스크를 통해 IC 상에 상당한 여분의 비용을 유발시킨다.
게다가, IC 제조자는, IC의 용도를, 트러스트하거나 거래 협정한 이들 장치 제조자로 한정하기를 원할 수 있다.
약간 상이하지만, 관련 문제는, 장치 또는 장치의 사용자와 안전하게 통신하기 위해, 장치 제조자 및/또는 사용자에 트러스트 관계로 제 3 파티에 대해 있다. 따라서, 장치 특정 보안 데이터의 보안 관리는 다른 파티도 포함할 필요가 있을 수 있다.
본 발명은, 그의 다른 목적 및 이점과 함께, 첨부한 도면을 참조하여 다음의 설명에 의해 최상으로 이해될 것이다.
도 1은 본 발명의 기본적인 양호한 실시예에 따라 탬퍼 저항 전자 회로를 구비한 일반적 장치의 개략적 블록도이다.
도 2는 네트워크 장치 내에서 실시하기 위한 전자 회로의 개략적 블록도이며, 이 전자 회로는 장치 특정 보안 데이터에 기초하여 네트워크 통신 시에 데이터 보안 연산을 실행하기 위해 구성된다.
도 3은 디지털 콘텐트 작성 장치 내에서 실시하기 위한 전자 회로의 개략적 블록도이며, 이 전자 회로는 장치 특정 보안 데이터에 기초하여 콘텐트 마킹을 실행하기 위해 구성된다.
도 4는, 본 발명의 양호한 실시예에 따라, 장치 특정 보안 데이터의 관리를 포함하고, 보안 데이터 능력을 가진 장치를 제조하는 방법의 개략적 흐름도이다.
도 5는 본 발명의 예시적인 실시예에 따라 트리거 데이터의 구성 및 사용을 설명한 개략적 흐름도이다.
도 6은, 본 발명의 양호한 실시예에 따라, 구성적 보안 데이터를 트리거 데이터로 암호화하는 기능을 가진 탬퍼 저항 전자 회로의 개략적 블록도이다.
도 7은 부가적인 입력 키를 이용하여 보안성을 더욱 향상시킨 도 6의 회로의 특정 실시예의 개략적 블록도이다.
도 8은, 본 발명의 다른 양호한 실시예에 따라, 구성 중에 작성된 보안 데이터로의 외부 접근을 허용하는 장치 접근 코드 함수를 구비한 탬퍼 저항 전자 회로의 개략적 블록도이다.
도 9는, 본 발명의 또 다른 양호한 실시예에 따라, 비대칭 키 쌍/개인 키를 선택적으로 작성하기 위한 트리거 데이터에 응답하는 탬퍼 저항 전자 회로의 개략적 블록도이다.
도 10은 개인 및 공개 키의 작성을 위해 실시된 도 9의 회로의 특정 실시예의 개략적 블록도이다.
도 11은 개인 및 공개 키의 작성에 기초하여 공유 키 작성(예컨대, Diffie-Hellman)을 위해 실시된 전자 회로의 개략적 블록도이다.
도 12는 개인 및 공개 키의 작성을 위해 실시되고, 출력 개인 키를 암호식으로 보호하기 위한 암호화 알고리즘을 구비한 집적 회로의 실시예의 개략적 블록도이다.
도 13은 인증 프로토콜 및 관련 장치 접근 코드 관리자/제어기를 이용하여 실시된 전자 회로의 실시예의 개략적 블록도이다.
도 14는, 정확한 장치 접근 코드가 장치 접근 코드 관리자/제어기에 인가되지 않으면, 비밀 데이터 또는 보안 데이터로의 접근을 불가능하게 하는 기능을 구비한 전자 회로의 실시예의 개략적 블록도이다.
도 15는 바인드 키의 체인(chain)의 작성을 위해 구성된 전자 회로의 기본적 실시예의 개략적 블록도이다.
도 16은 바인드 키의 체인의 작성을 위해 반복적으로 실시하는 전자 회로의 다른 실시예의 개략적 블록도이다.
본 발명은 종래 기술의 장치의 이들 및 다른 결점을 극복하는 것이다.
본 발명의 목적은 이동 전화, 개인용 컴퓨터, 카메라, 오디오 장치, 서버, 기지국 및 방화벽 등의 장치 내의 장치 특정 보안 데이터를 실시 및 이용하기 위한 것이다.
본 발명의 목적은 보안 데이터 능력을 가진 장치를 안전하고 저렴하게 제조하는 방법을 제공할 뿐만 아니라 보안 데이터의 관리 방법도 제공하기 위한 것이다. 특히, 탬퍼 저항 보호 및 장치 특정 보안 데이터를 가진 장치를 제공하는 것이 바람직하다. 또한, 광대한 보안 관리의 필요없이, 보안 데이터가 장치의 전체 제조 공정 중에 인가되지 않은 파티로부터 확실히 보호되도록 하는 것이 중요하다.
본 발명의 다른 목적은 네트워크 장치와 외부 통신 파트너 간의 네트워크 통신에 관하여 데이터 보안을 유지하는 개선된 방법을 제공하기 위한 것이다.
본 발명의 또 다른 목적은 콘텐트 작성 장치에 의해 작성된 디지털 콘텐트를 마크하는 개선된 방법을 제공하기 위한 것이다.
본 발명에 따른 기본적 사상은, 장치에서 실시하기 위해 구성되고, 장치의 조작 중에 장치 특정 보안 데이터를 안전하게 실시하고 이용하는 탬퍼 저항 전자 회로를 제공하기 위한 것이다. 탬퍼 저항 전자 회로에는, 기본적으로 외부 회로 인터페이스를 통해 접근할 수 없는 탬퍼 저항 기억 비밀 번호가 제공된다. 전자 회로에는, 또한 적어도 부분적으로 기억된 비밀 번호에 응답하거나 기초로 하여, 장치의 사용 중에 상기 전자 회로 내에 내부적으로 규정되는 장치 특정 보안 데이터의 인스턴스(instance)를 작성하도록, 암호 처리를 행하기 위한 기능성이 제공된다. 전자 회로는 또한 내부적으로 규정된 장치 특정 보안 데이터에 응답하여 하나 이상의 보안 관련 연산 또는 알고리즘을 실행하기 위해 구성된다.
이런 식으로, 보안을 위한 장치 특정 보안 데이터의 안전한 실시 및 이용은 효율적으로 달성될 수 있다. 기억된 비밀 번호가 전자 회로의 외부에서 결코 입수할 수 없고, 장치 특정 보안 데이터가 장치의 사용 또는 조작 중에 회로 내에 내부적으로 규정되어 있으므로, 보안은 위태롭게 되지 않는다. 이것은, 장치 특정 보안 데이터가 외부 회로의 프로그래밍 인터페이스로부터 입수할 수 없게 유지되고, 이 회로 내에서 장치의 사용 및 조작 중에 보안 관련 연산을 실행하는데만 이용될 수 있다는 것을 의미한다. 특정 예로서, 장치 특정 보안 데이터는 보안 관련 연산과 관련하여 이용되어, 기억된 비밀 번호 또는 장치 특정 보안 데이터 자체를 누설하지 않고, 암호화된 입력 정보를 평문(clear text) 출력 정보로 변환할 수 있다. 보안 관련 연산은, 암호화된 정보의 암호 해독과 같은 간단한 연산 또는 더욱 복잡한 복합 연산일 수 있다.
전자 회로는, 바람직하게는 캡슐화된 회로를 통한 집적 회로(IC), 스마트 카드 또는 어떠한 다른 탬퍼 저항 전자 회로일 수 있다.
본 발명에 따른 탬퍼 저항 전자 회로는 일반적으로 다양한 장치 내에 적용 가능하고, 여러 보안 관련 목적을 위해 이용될 있는 내부적으로 규정된 장치 특정 보안 데이터를 작성한다.
전자 회로는, 예컨대, 네트워크 장치 내에 배치되어, 이 네트워크 장치 내에서 연산 중에 전자 회로에 의해 취급되는 장치 특정 보안 데이터는, 네트워크 통신 시에, 데이터 비밀성, 데이터 무결성, 인증, 인가 및 부인 방지를 포함하는 데이터 보안 연산에 이용될 수 있다. 인터넷 및 셀룰러 통신 네트워크를 포함하는 불안정한 네트워크를 통한 통신을 안전하게 하는 특정 예가 수반된다.
다른 응용 시나리오에서, 전자 회로는 디지털 콘텐트를 작성하는 장치 내에 배치되어, 이 콘텐트 작성 장치 내에서 연산 중에 전자 회로에 의해 취급되는 장치 특정 보안 데이터는, 예컨대, 디지털 콘텐트 내에 매입된(embedded) 장치 특정 지문을 생성시킴으로써 작성된 디지털 콘텐트를 마크하기 위해 이용될 수 있다.
특히, 회로 제조 시에, 랜덤 비밀 번호는, IC와 같은 전자 회로 내에 안전하게 기억되는 것이 바람직하다. 이것은, 회로 제조자가 이 비밀 번호를 알지 못하는 식으로 실시될 수 있다. 이 비밀 데이터는, 추측 공격 또는 사전 계산 공격을 회피하기 위해, 통상적으로 많은 번호 세트에 속하는 어떤 임의의 또는 랜덤하게 작성된 번호일 수 있다. 더욱이, 이 전자 회로에는, (적어도 부분적) 입력으로서 비밀 번호를 가진 전자 회로 내에서 실행하기 위해 실시되는 보안 또는 암호 알고리즘이 제공되는 것이 바람직하다. 전자 회로가 장치 제조자에 의해 장치 내에서 연산하기 위해 설치되면, 암호 보안 알고리즘과 함께 기억된 비밀 번호는, 전자 회로를 실시하는 특정 장치에 특별한 보안 데이터의 인스턴스를 작성하기 위해 이용될 수 있다.
따라서, 전자 회로 내에서 실시되는 기억된 비밀 번호 및 암호 알고리즘은, 안전하게 규정된 장치 특정 보안 데이터, 예컨대, 암호화 및 암호 해독 키, 바인드(bind) 키, 대칭 키, 개인 및 관련 공개 키 및/또는, 여러 보안 연산에 이용될 수 있는 다른 장치 특정 보안 데이터를 작성한다.
특히, 명백한 이점으로, 장치 특정 보안 데이터를 작성하여, 회로(IC) 제조자에 의해 전자 회로 내에 원래 기억되어 있는 어떠한 비밀 랜덤 데이터에 기초한 완전 보안 기능을 제공할 수 있다.
더욱이, 전자 회로는, 이 회로를 배치할 수 있는 다양한 장치에 대한 장치 특정 보안 데이터를 작성하고 관리한다. 게다가, 비밀 데이터가 회로 내에 안전하게 기억되므로, 장치의 제조 시에나, 회로(IC) 제조자와 장치 제조자 간에 회로를 분배할 시에 어떠한 광대한 보안 관리의 필요성이 없다.
전자 회로 상에서 실시되는 암호화 처리는, 암호화 함수 또는 알고리즘에 기초하여, 비밀 번호를 알지 못한 채, 알고리즘의 결과를 추론하고, 및/또는 이 결과로부터 비밀 번호를 추론하는 것이 계산적으로 실행할 수 없도록 설계되는 것이 바람직하다.
비밀 번호는 회로 실시 암호화 알고리즘에 대한 유일한 입력일 수 있다. 선택적으로, 부가적인 입력 데이터가 공급되어, 이 알고리즘 내의 비밀 번호와 함께 이용되어, 장치 특정 보안 데이터를 작성할 수 있다. 바람직하게는, 장치 특정 보안 데이터를 작성하기 위해 필요한 트리거(trigger) 데이터는, 장치의 구성 중에, 예컨대, 제조 중 또는 사용자 구성 중의 구성 단계에 규정된다. 장치의 사용 중에, 미리 정해진 트리거 데이터는, 적절한 보안 데이터를 작성할 수 있게 하기 위해 외부 회로 인터페이스에 인가되어야 한다. 정확한 트리거 데이터가 인가되지 않으면, 전자 회로 내의 암호화 처리는 보통 무의미한 데이터만을 작성하거나, 전혀 작업을 하지 못한다. 이것은, 어떤 형식의 미리 정해진 트리거 데이터가 장치 특정 보안 데이터를 내부적으로 재작성하기 위해 전자 회로에 의해 통상적으로 필요하다는 것을 의미한다.
트리거 데이터가 장치의 제조 중이나 이것에 관련하여 규정되면, 트리거 데이터는, 장치의 사용자가 관련되는 네트워크 조작원과 같은 중간 트러스트된 파티를 통해 장치 제조자로부터 장치로 안전하게 전달될 필요가 있다. 선택적으로, 트리거 데이터는 네트워크 조작원과 같은 다른 구성 파티에 의해 규정되어, 장치로 안전하게 전달된다. 또한, 장치 특정 보안 데이터가 보안 관련 연산을 위해 인보크(invoke)될 필요가 있을 시에 쉽게 접근하기 위해 이미 구성 중에 장치 내에 미리 정해진 트리거 데이터를 기억할 수 있다. 이것은, 장치로 물리적으로 접근하는 상대자가 보안 관련 연산을 실행하기 위해 트리거 데이터 또는 코드로 접근할 수 있다는 것을 의미한다. 그러나, 상대자는 장치 특정 보안 데이터 자체로는 접근을 획득하지 못할 것이다. 게다가, 고도의 보안성은 사용자의 선택된 패스워드와 함께 기억된 트리거 코드를 보호함으로써 획득될 수 있다.
예컨대, 장치의 구성 중에 제공된 구성적인 장치 특정 보안 데이터에 기초하여, 트리거 데이터 또는 코드는 규정될 수 있다. 바람직하게는, 기억된 비밀 번호에 기초하여, 구성적인 장치 특정 보안 데이터의 암호 표현(cryptographic representation)으로서 트리거 데이터를 작성하기 위한 전자 회로가 구성되며, 여기서, 암호 표현은 구성 단계 중에 외부 회로 인터페이스를 통해 출력된다. 장치의 사용 중에, 상기 부가적인 입력이 암호 표현에 대응하면, 장치 특정 보안 데이터는 내부적으로 재작성된다. 구성적 보안 데이터는 구성 중에 외부 회로 인터페이스에 제공되어, 장치 제조자 또는 다른 트러스트된 파티가 제조된 장치에 대한 장치 특정 보안 데이터를 자유롭게 선택하게 할 수 있다. 그러나, 구성 단계 중에 전자 회로 내의 구성적 보안 데이터를 내부적으로 작성할 수도 있다.
비대칭 암호 기법에 관한 본 발명의 다른 실시예에서, 프라임(prime), 수학적 군의 작성기(a generator of a mathematical group), 논스(nonce) 및/또는 PIN 코드와 같은 적당한 부가적인 입력은, 장치의 구성 중에, 예컨대, 제조 시의 구성 단계 또는 사용자 구성 중에, 비대칭 키 쌍을 작성하여, 외부 회로 인터페이스를 통해 공개 키를 출력하는 회로에 인가될 수 있다. 장치의 사용 중에, 대응하는 개인 키는 동일한 부가적인 입력의 적어도 부분이 외부 회로 인터페이스를 통해 인가될 경우에 내부적으로 작성되거나 재작성된다.
선택적으로, 트리거 데이터는 논스, 소위 바인드 아이덴티티(bind identity) 등과 같은 간단한 시드(seed)일 수 있고, 그것은, 장치의 구성 중에 전자 회로에 내부적으로 인가되어, 소위 장치 접근 코드에 응답하여 전자 회로가 외부 회로 인터페이스를 통해 장치 특정 보안 데이터를 강제로 출력시킬 수 있다. 어떤 상황 하에, 통상적으로 장치의 제조 중에 제어 환경에서, 장치 특정 보안 데이터를 전자 회로 외부에서 입수 가능하게 하기 위해 장치 접근 코드가 사용될 수 있는 반면에, 보안 데이터는 장치의 사용 중에 전자 회로 내에 항상 내부적으로 규정된다.
일반적으로, 전자 회로에는, 회로 내의 어떤 기능으로의 접근을 승인하기 위해 인증을 필요로 하는 인증 프로토콜이 제공되어, 회로의 사용을 인가된 파티로 효율적으로 제한할 수 있다. 통상적으로, 전자 회로는 장치 제조자 또는 다른 구성 파티를 인증하고, 성공적인 인증에 응답하여 장치 접근 코드를 장치 제조자에게 제공하기 위해 구성된다. 예컨대, 장치 접근 코드는, 장치 제조자로부터의 시도(challenge)에 기초한 시도 응답 쌍(challenge-response pair) 및, 전자 회로 상에 기억된 비밀 번호로서 작성될 수 있다. 미리 정해진 장치 접근 코드가 전자 회로 내에 입력되지 않으면, 전자 회로는 또한 기억된 비밀 번호 및/또는 장치 특정 보안 데이터로의 내부 접근을 불가능하게 하기 위해 구성될 수 있다. 이런 식으로, 장치 제조자 및/또는 트러스트된 파티와 같은 인가된 파티만이 장치 특정 보안 데이터의 작성을 위해 기억된 비밀 번호를 이용하고, 및/또는 보안 데이터 자체를 이용하도록 확실히 허용되도록 할 수 있다.
다수의 개별 트리거 데이터 신호는 장치의 구성 중에 설정될 수 있고, 이 경우에, 각 트리거 데이터 신호는 각각의 개별 장치 특정 보안 데이터와 관련되어 있는 것으로 이해되어야 한다. 그 후, 전자 회로는, 관련 트리거 데이터 신호가 전자 회로에 인가될 경우에, 특정의 장치 특정 보안 데이터를 작성하기 위해 구성된다. 이 특징(feature)은, 인증 및 키 일치(key agreement) 목적을 위한 다수의 사용자 SIM(Subscriber Identity Module)과 같은 다수의 사용자 식별 모듈, 또는 위성 또는 케이블 TV 디코더와 같은 다채널 디코더를 제공하기 위해 이용될 수 있으며, 여기서, 다수의 고유 보안 키가 필요로 된다.
본 발명은 또한, 트러스트된 제 3 파티가 네트워크 장치 및/또는 사용자와 안전하게 통신하게 할 수 있도록 하기 위해, 장치 특정 보안 데이터와 관련된 부가적인 보안 관리, 예컨대, 보증(certification) 및 트러스트 위임(trust delegation)에 관한 것이다.
본 발명은 다음과 같은 이점을 제공한다:
- 보안 목적을 위한 장치 특정 보안의 안전 및 저가의 실시 및 이용;
- 기억된 비밀 번호가 회로 외부에서는 결코 입수할 수 없고, 장치 특정 보안 데이터가 장치의 사용 중에 회로 내에 내부적으로 설정되므로, 보안성이 확고함;
- 탬퍼 저항 전자 회로 내의 장치 특정 보안 데이터의 효율적인 보호;
- 장치 특정 보안 데이터를 작성하여, 회로(IC) 제조자에 의해 회로 내에 원래 기억된 어떤 비밀 랜덤 데이터에 기초하여 완전 보안 기능을 제공하는 능력;
- 회로(IC) 제조자의 매우 제한된 트러스트만을 필요로 함;
- 장치의 제조 시, 및/또는 회로(IC) 제조자와 장치 제조자 사이에서 광범한 보안 관리가 필요치 않음;
- 장치 특정 보안 데이터의 작성을 하기 위한 트리거 데이터의 효율적인 사용;
- 회로 내의 어떤 기능의 용도를 인가된 파티로 제한하는 가능성;
- 소위 일반적 트러스트 위임 프로토콜 또는 장치 보증 구조와 조합하여 장치 특정 보안 데이터를 준비함으로써, 안전한 디지털 권리 관리를 위한 키 관리의 문제에 대해 실행 가능한 솔루션이 제공됨; 및
- 다수의 사용자 식별 모듈 및 다채널 디코더의 실행.
본 발명에 의해 제공된 다른 이점은 본 발명의 실시예의 아래의 설명으로부터 명백해질 것이다.
도면에 걸쳐, 동일한 참조 문자는 대응하는 또는 유사한 소자에 사용될 것이다.
일반적 개요
도 1은 본 발명의 기본적인 양호한 실시예에 따라 탬퍼 저항 전자 회로를 구비한 일반적 장치의 개략적 블록도이다. 일반적 장치(100)는 탬퍼 저항 전자 회로(10)를 포함하고, 통상적으로, 데이터를 이 장치로/로부터 전송하기 위한 일반적 입력/출력 유닛(20)도 포함한다. 물론, 이 장치는, 예컨대, 각종 타입의 데이터 처리 장치를 실행하기 위한 부가적인 유닛을 구비할 수 있으며, 이 유닛의 모두는 특정 장치 및 그의 전체 기능에 의존한다.
탬퍼 저항 전자 회로(10)는 집적 회로(IC), 스마트 카드 또는 어떤 다른 탬퍼 저항 전자 회로일 수 있고, 바람직하게는, 입력/출력 유닛(11), 비밀 번호(C)의 기억 유닛(12), 암호 처리를 위한 엔진 또는 유닛(13) 및, 보안 관련 연산의 실제적인 실현부(realization)(14)를 포함한다. 기억된 비밀 번호(C)는 외부 회로 인터페이스를 통해 입수할 수 없어, 전자 회로(10) 외부에서 입수할 수 없다. 암호 엔진(13)은 기억 유닛(12)에 접속되어, 적어도 부분적으로 기억된 비밀 번호에 응답하여, 장치(100)의 사용 중에 전자 회로(10) 내에 내부적으로 규정되는 장치 특정 보안 데이터의 인스턴스를 작성하도록, 암호 처리를 행하기 위해 구성된다. 이것은 일반적으로, 암호 엔진(13)에 의해 작성된 장치 특정 보안 데이터가 장치(100)의 정규 사용 중에 전자 회로의 외부 프로그래밍 인터페이스상에서 입수될 수 없음을 의미한다. 보안 조작 유닛(14)은 암호 엔진(13)의 출력에 링크되어, 내부적으로 규정된 장치 특정 보안 데이터에 응답하여 하나 이상의 보안 관련 연산을 실행하기 위해 구성된다.
상당한 이점으로, 장치 특정 보안 데이터를 작성하여, 전자 회로(10) 내에 원래 기억된 어떤 비밀 데이터(C)에 기초하여 완전 보안 기능을 제공할 수 있다. 기억된 비밀 번호가 전자 회로(10) 외부에서 입수될 수 없고, 내부적으로 작성된 장치 특정 보안 데이터가 전자 회로 내에서 장치의 정규 조작 중에 보안 관련 연산을 실행하는데만 이용될 수 있으므로, 보안이 확고하게 된다.
본 발명에 따른 탬퍼 저항 전자 회로는, 일반적으로 광범한 장치 내에 적용할 수 있고, 각종 보안 관련 목적을 위해 이용될 수 있는 내부적으로 규정된 장치 특정 보안 데이터를 작성한다. 본 발명에 따른 전자 회로를 실시하는데 적절한 장치의 예들은, 이동 전화, 개인용 컴퓨터, 카메라, 오디오 장치, 네트워크 서버, 보안 게이트웨이, 방화벽, 기지국 등을 포함한다.
네트워크 장치 애플리케이션
도 2에 도시된 바와 같이, 전자 회로(10)는, 예컨대, 네트워크 장치 내에 배치될 수 있고, 네트워크 장치(100) 내에서 조작 시에 전자 회로에 의해 내부적으로 작성되는 장치 특정 보안 데이터는 네트워크 통신 시에 데이터 보안 연산을 위해 이용될 수 있다. 도 2에 도시된 네트워크 장치(100)는 일반적으로 탬퍼 저항 전자 회로(10), 사용자 인터페이스(20-1) 및, 하나 이상의 네트워크 내의 다른 네트워크 장치 또는 엔티티와 통신하기 위한 네트워크 통신 유닛(20-2)을 포함한다. 네트워크 통신 시의 데이터 보안 연산의 예들은, 일반적으로 규정된 바와 같이, 예컨대, 참조[4-6]에서, 데이터 비밀성, 데이터 무결성, 인증, 인가 및 부인 방지를 포함한다. 다른 애플리케이션 시나리오에서, 기억된 비밀 번호(C)는 단말기 주소를 작성하는데 이용될 수 있고, 이 주소는 장치/단말기에 유일하고, 효율적인 네트워크 통신을 위해 이용될 수 있다.
콘텐트 마킹 애플리케이션
도 3에 도시된 바와 같이, 전자 회로(10)는, 디지털 오디오, 비디오, 이미지, 텍스트 등과 같은 디지털 콘텐트를 작성하는 장치(100) 내에 선택적으로 배치될 수 있다. 이와 같은 콘텐트 작성 장치의 예들은, 디지털 포토 카메라, 비디오 카메라, 오디오 레코더, 디지털 스캐너 및, 디지털 형식의 콘텐트를 나타내는 어떤 디지털화 장치를 포함한다. 그 후, 콘텐트 작성 장치 내에서 연산 시에 전자 회로에 의해 내부적으로 작성되어 유지되는 장치 특정 보안 데이터는, 예컨대, 디지털 콘텐트 내에 매입된 장치 특정 지문을 작성함으로써 작성된 디지털 콘텐트를 마크하기 위해 이용될 수 있다. 이것은, 콘텐트가 실제 콘텐트를 작성한 특정 장치에 결합될 수 있고, 지문이 나중에 작성의 증거로서 이용될 수 있다는 것을 의미한다. 이와 같은 기능은 특히 법적 시행 시에 점점 더 중요하게 되는데, 그 이유는 가능성 또는 위조 이미지가 저 비용으로 입수 가능한 개선된 이미지 처리 소프트웨어를 통해 널리 퍼져 있기 때문이다. 예컨대, 장치 특정 보안 데이터의 인스턴스는, 기억된 비밀 번호(C)에만 응답하거나, 어떤 미리 정해진 트리거 데이터 및/또는 콘텐트 자체와 같은 부가적인 입력 데이터와 조합하여 기억된 비밀 번호에 응답하여 작성될 수 있다. 내부적으로 작성된 장치 특정 보안 데이터는, 작성된 장치 특정 보안 데이터에 기초하여 장치 특정 지문을 디지털 콘텐트 내에 매입하기 위해 유닛(14) 내에서 실시된 보안 관련 연산에 대한 입력으로서 이용된다. 그리고 나서, 마크된 콘텐트는 전자 회로(10)로부터 출력된다.
본 발명에 의해 제시된 콘텐트 마킹은 특히, 일체화된 카메라를 가진 이동 전화와 같은 네트워크 장치 및 콘텐트 작성 장치의 조합에 유용할 수 있지만, 독립형 카메라 또는 유사한 이미징, 비디오 또는 오디오 장치에도 적용 가능하다.
제조 시나리오
다음에서, 본 발명은, 초기 비밀 번호 및/또는 장치 특정 보안 데이터의 관리 및, 이 장치 내의 그러한 보안 데이터의 연속 사용을 포함하는, 염두에 둔 특정의 예시적인 시나리오, 즉, 장치의 제조 시나리오(또한 때때로 엔티티라고 함)에 관하여 주로 기술될 것이다. 본 발명이 그것에 제한되지 않고, 제조 시나리오가 본 발명의 기본 개념 및 원리에 대해 더욱 더 이해하기 위한 기초로서만 역할을 하는 것으로 이해되어야 한다.
도 4는, 본 발명의 양호한 실시예에 따라, 장치 특정 보안 데이터의 관리를 포함하고, 보안 데이터 능력을 가진 장치를 제조하는 방법의 개략적 흐름도이다.
단계(S1)에서, 회로 제조 시에, 다소 랜덤한 비밀 번호는 탬퍼 저항 전자 회로 내에 안전하게 기억되는 것이 바람직하다. 이것은, 회로 또는 칩 제조자도 비밀 번호를 알지 못하는 식으로 실시되어야 한다. 이 비밀 데이터 어떤 임의의 또는 램덤하게 작성된 번호일 수 있다. 회로 제조 시에도 실행되는 단계(S2)에서, 전자 회로는, 입력 또는 입력의 부분으로서 비밀 번호를 가진 전자 회로에서 실행하기 위해 실시되는 암호 알고리즘을 구비한다. 전자 회로가 장치 내에서 연산하기 위해 장치 제조자에 의해 설치되면, 기억된 비밀 번호는, 전자 회로가 실시되는 특정 장치에 특정한 보안 데이터의 인스턴스를 작성하기 위한 암호 알고리즘과 함께 이용될 수 있다. 암호 알고리즘 처리는, 암호화 함수 또는 알고리즘에 기초하여, 비밀 번호를 알지 못한 채, 알고리즘의 결과를 추론하고, 및/또는 이 결과로부터 비밀 번호를 추론하는 것이 계산적으로 실행할 수 없도록 설계되는 것이 바람직하다. 단계(S3)에서, 보안 관련 연산은 템퍼 저항 전자 회로 내로 실시된다. 연산은 장치 특정 보안 데이터를 입력으로서 이용하기 위해 구성되고, 예컨대, 암호화/암호 해독, 데이터 무결성, 인증, 부인 방지, 인가 및 콘텐트 마킹에 관계될 수 있다. 전자 회로는, 전체 장치의 사용 중에 암호 알고리즘에 의해 작성된 장치 특정 보안 데이터가 전자 회로 내에 내부적으로 규정되는 식으로 설계된다. 이것은, 장치의 사용 중에, 기록 접근을 위한 암호 알고리즘 및, 판독 접근을 위한 보안 관련 연산에 의해서만 접근될 수 있는 탬퍼 저항 전자 회로 내의 제한된 레지스터를 이용함으로써 달성될 수 있다. 현재 수준의 기술에 의하면, 예컨대, 집적 회로 내의 전용 하드웨어 레지스터 내에 128 비트의 보안 키를 기억시킬 수 있다. 선택적으로, 메모리 보호 기술에 의해 내부 제한(internal confinement)이 확실하게 된다. 예컨대, 전자 회로 내의 내부 메모리 내의 보호 영역은 장치 특정 보안 데이터의 기억을 위해 설정될 수 있다. 그 후, 이 보호 영역으로의 접근은, 하나 이상의 지정된 메모리 주소 영역으로부터만 허용되며, 여기서, 상술한 암호 알고리즘 및 보안 관련 연산은 실행 가능한 형식으로 유지된다.
따라서, 전자 회로 내에서 실시되는 기억된 비밀 번호 및 암호 알고리즘은, 안전하게 규정된 장치 특정 보안 데이터, 예컨대, 암호화 및 암호 해독 키, 바인드 키, 대칭 키, 개인 및 관련 공개 키 및/또는, 전자 회로 내에서 여러 보안 연산에만 이용될 수 있는 다른 장치 특정 보안 데이터의 작성을 허용한다.
단계(S4)에서, 장치 제조 시에, 장치 제조자는 회로를 주어진 장치 내에 설치한다. 단계(S5)에서, 장치 제조자는 또한, 이후에 상세히 설명되는 바와 같이, 선택적이고, 엄격히 제어된 구성 단계 동안에 작성되는 장치 특정 보안 데이터 및 상보 정보의 일반적 관리의 책임도 있을 수 있다.
특히, 명백한 이점으로, 장치 특정 보안 데이터를 작성하여, 회로 제조자에 의해 전자 회로 내에 원래 기억되어 있는 어떠한 비밀 랜덤 데이터에 기초하는 완전 보안 기능을 제공한다. 더욱이, 전자 회로는, 이 회로를 배치할 수 있는 다양한 장치에 대한 장치 특정 보안 데이터를 작성하고 관리한다. 게다가, 비밀 데이터가 회로 내에 안전하게 기억되므로, 장치의 제조 시에나, 회로 제조자와 장치 제조자 간에 회로를 분배할 시에 어떠한 광대한 보안 관리의 필요성이 없다.
사실상, 회로 제조자와 장치 제조자 간에는 매우 제한된 보안 관리만이 필요로 된다. C의 특정 값은, 인가되지 않은 파티에 알려지지 않는 한, 특히, 어떤 사람도 C를 알지 못하거나 C로 접근하지 못하는 경우에, 보통 관련성이 없다. 그것은, 기억된 비밀 번호(C)가 충분히 큰 세트에 걸쳐 상당히 랜덤하여, 특정 회로에 링크하는 것이 불가능하다는 것이다. 회로 제조 중에 C로부터 정보를 기록하거나 유도할 필요가 없으므로, 이것은 회로 제조자의 제어 환경 내에서 효율적으로 실시될 수 있다.
그러나, 원하거나 적절하다면, 회로 제조자와 장치 제조자 간의 부가적인 보안 관리는, 회로 내에 기억된 장치 제조자의 공개 키에 기초한 비밀 번호(C)의 공개 키 암호화(예컨대, RSA 암호화)를 회로 내에 실시하여, 암호화된 비밀 번호를 출력함으로써 획득될 수 있다. 암호화된 출력은 대응하는 개인 키를 이용하여 장치 제조자에 의해서만 암호 해독될 수 있다. 이런 점에서, C는 장치 제조자에 알려질 것이다.
나중에 기술되는 바와 같이, 본 발명은 또한, 트러스트된 제 3 파티가 네트워크 장치 및/또는 사용자와 안전하게 통신하게 할 수 있도록 하기 위해, 장치 특정 보안 데이터의 부가적인 보안 관리, 예컨대, 보증 및 트러스트 위임을 위해 구성된다.
적절한 보안 관리의 타입은, 시스템이 저항할 필요가 있는 특정 위협(threat) 또는 공격 및, 또한 어느 정도까지는 트러스트되는 시스템 내의 어떤 파티에 의존한다. 예컨대, 네트워크 장치에 대한 보안 데이터의 관리는 매우 중요한 태스크(task)인데, 그 이유는 완전한 통신의 보안이 그것을 신뢰할 수 있기 때문이다.
따라서, 장치 특정 보안 데이터에 의해 인가된 파티는 상술한 문제의 상이한 인스턴스의 경우에 상이할 수 있다. 아래의 예들을 통해, 장치 제조자는 장치 특정 보안 데이터로 트러스트되는 것으로 추정되지만, 본 발명은 실제로 이 추정으로 제한되지 않는다. 상술한 바와 같이, 칩 제조자는 보안 데이터로 트러스트될 필요가 없지만, 어떤 종류의 트러스트 관계는 보통, 예컨대, 칩 제조자가 동의한 것을 실시하고, 어떤 비밀 "백 도어(back-door)" 등을 도입하지 않는 것으로 추정된다. 또한, 일반적으로, 장치 소유자 또는 사용자는 트러스트된 파티로 고려되는데, 그 이유는 보통 사람들이 메시지를 안전하게 전송하는데 흥미를 가지고 있기 때문이다. 그러나, 이것은 반드시 신뢰할 수 없어, 사실이라고 생각되지 않을 것이며, 특별한 면제(exemption) 시나리오는 DRM에 대한 것이다.
디지털 저작권 관리(DRM)는, 예컨대, 디지털 콘텐트 분배 시스템 내의 콘텐트 제공자/소유자의 자산(asset)을 보호하는 기술이다. 이 기술은, 대부분의 경우에, 콘텐트를 암호화하여, (보통, 암호화된 형식의) 암호 해독 키)를 포함하는 소위 라이센스 및, 콘텐트를 행하도록 허용된 사용권을 이 콘텐트에 관련시킴으로써 실시된다.
콘텐트를 렌더링(rendering)하기 위해 사용되는 장비에서, DRM 모듈/에이전트는 이 렌더링이 사용권에 의해 규정된 것에 확실히 따르도록 실시된다. 이 에이전트는 통상적으로 소프트웨어 및/또는 하드웨어 모듈로서 실시되고, 라이센스에 진술된 바와 같이 사용 정책(usage policy)을 시행한다. DRM 모듈/에이전트는, 콘텐트 제공자의 관점에서, 사용자 장비 내에 트러스트된 파티를 구성한다. 사용자가 콘텐트 보호를 회피하여, 라이센스 내에 규정된 제한을 가지지 않고 콘텐트를 이용하므로, 사용자는 트러스트된 파티가 아님을 알 수 있다.
이 콘텐트를 안전하게 하는 문제는, 콘텐트 분배기로부터 콘텐트를 이용하는 장치로 전송 중에 콘텐트의 비밀성 및 라이센스의 무결성을 부분적으로 관리하는 것이다. 이런 문제에 대한 가능한 해결책은, 콘텐트 제공자/분배기가 렌더링 장비 내의 DRM 모듈/에이전트로 "키 암호화 키"를 안전하게 전송하는 것이며, "키 암호화 키"는 콘텐트 암호화 키를 유도하여, 라이센스 무결성을 검사하기 위해 이용될 수 있다. 키 암호화 키를 보호하기 위해, 사용자에게 입수 가능한 장치 보안 데이터는 DRM 모듈/에이전트에 의해 이용된다. 또한, 이 보안 데이터에 관련된 어떤 정보는 트러스트된 콘텐트 제공자/분배기에 의해 필요로 되어, 이 특정 장치로의 전송을 안전하게 하도록 한다. 예컨대, 보안 데이터가 암호 해독 키이면, 대응하는 암호화 키는 보통 콘텐트 분배기/제공자에 의해 필요로 된다.
트리거 데이터-구성 대 사용법
도 1을 다시 한번 참조하면, 기억된 비밀 번호(C)는 암호 엔진으로의 유일한 입력일 수 있다. 그러나, 선택적으로, 부가적인 입력은, 전자 회로(10)의 입력/출력 유닛(11)을 통해 인가되어, 암호 엔진(13) 내의 기억된 비밀 번호(C)와 함께, 장치 특정 보안 데이터를 작성하는데 이용될 수 있다. 본 발명의 양호한 실시예에서, 적절한 보안 데이터를 작성하는데 필요한 (도 1의 점선을 표시된) 선택적 트리거 데이터는, 예컨대, 제조 중이나, 특정 응용에 의존하는 사용자 구성중의 구성 단계에서 장치(100)의 구성 중에 규정된다. 장치(100)의 최종 사용 중에, 동일한 트리거 데이터는 전자 회로 내의 암호 엔진(13)에 인가되어, 장치 특정 보안 데이터를 작성할 수 있다.
도 5의 기본 흐름도에 개략적으로 도시된 바와 같이, 아래에 예시되는 바와 같이, 아마 장치의 제조 중 또는 사용자 구성(S11) 중의 구성 단계에서, 트리거 데이터는 장치의 구성 중에 결정된다. 후속 사용 중에, 내부적으로 규정된 장치 특정 보안 데이터는 동일한 트리거 데이터가 외부 회로 인터페이스를 통해 인가될 경우에 작성된다. 환언하면, 기억된 비밀 번호(C) 및 미리 정해진 트리거 데이터는 양자 모두 적절한 보안 데이터(S12)를 작성하기 위해 필요로 된다. 최종으로, 내부적으로 작성되고, 내부적으로 규정된 장치 특정 보안 데이터(S13)에 응답하여 보안 관련 연산이 실행된다. 트리거 데이터가 장치의 제조 중에 규정되면, 예컨대, 장치의 사용자가 관련된 네트워크 조작원과 같은 중간 트러스트된 파티를 통해 트리거 데이터는 장치 제조자로부터 장치로 안전하게 전송될 수 있다.
선택적으로, 미리 정해진 트리거 데이터는, 장치 특정 보안 데이터가 보안 관련 연산을 위해 호출될 필요가 있을 시에 쉽게 접근하기 위해 장치 내에 기억된다. 어떤 응용에서, 특정 회로를 포함하는 장치의 소유자만이 수반되는 기억된 비밀 번호로 인한 결과를 작성할 수 있으므로, 부가적인 입력 데이터는 공공연하게 알려진 정보일 수도 있다. 이것은, 장치에 물리적으로 접근한 상대자가 트리거 데이터 또는 코드로의 접근을 획득하여 보안 관련 연산을 실행할 수 있다는 것을 의미한다. 그러나, 상대자는, 전체 장치의 사용 중에 항상 회로 내에 내부적으로 규정되어 있는 장치 특정 보안 데이터 자체로의 접근을 획득하지 못할 것이다. 어떤 응용에서, 이것은, 예컨대, 사용자 선택 패스워드에 의해 기억된 트리거 코드를 보호하는데 유리할 수 있다.
다수의 트리거
또한, 장치의 구성 중에 다수의 개별 트리거 데이터 신호를 완전히 설정할 수 있는데, 여기서, 각 트리거 데이터 신호는 각각의 개별 장치 특정 보안 데이터와 관련되어 있다. 그 후, 본 발명에 따른 전자 회로는 관련된 트리거 데이터 신호가 이 회로에 인가될 경우에 특정의 장치 특정 보안 데이터를 작성하기 위해 구성된다. 이것은, 인증 및 키 일치 목적을 위한 다수의 사용자 SIM(Subscriber Identity Module)과 같은 다수의 사용자 식별 모듈, 또는 위성 또는 케이블 TV 디코더와 같은 다채널 디코더를 제공하기 위해 이용될 수 있으며, 여기서, 수개의 고유 보안 키가 필요로 된다. 어떤 키는 대응하는 트리거 데이터를 인가함으로써 간단히 활성화된다
일반적으로, 트리거 데이터는 수개의 방식으로 규정될 수 있다. 예로서, 주로 도 6 및 도 7을 참조로 아래에 기술되는 바와 같이, 트리거 데이터는 장치의 구성 중에 제공된 구성적 장치 특정 보안 데이터에 기초하여 규정될 수 있다. 트리거 데이터는, 또한 장치의 구성 중에 초기에 전자 회로에 인가되는 간단한 시드(seed)이어서, 주로 도 8을 참조로 개설되는 바와 같이, 전자 회로가 소위 장치 접근 코드에 응답하여 외부 회로 인터페이스를 통해 장치 특정 보안 데이터를 강제로 출력시키도록 한다. 선택적으로, 도 9-12를 참조로 아래에 기술되는 바와 같이, 비대칭 암호 기법에 기초한 응용의 경우, 프라임, 수학적 군의 작성기, 논스 및/또는 PIN 코드와 같은 적당한 부가적인 입력은 트리거 데이터로서 이용될 수 있다.
구성적 보안 데이터의 암호화/암호 해독
도 6은, 본 발명의 양호한 실시예에 따라, 구성적 보안 데이터를 트리거 데이터로 암호화하는 기능을 가진 탬퍼 저항 전자 회로의 개략적 블록도이다. 바람직하게는, 전자 회로(10)는, 기억된 비밀 번호에 기초하여 어떤 구성적 장치 특정 보안 데이터의 암호 표현으로서 트리거 데이터를 작성하기 위해 구성된다. 그 후, 암호 표현은 구성 단계 중에 외부 회로 인터페이스를 통해 출력된다. 장치의 사용 중에, 상기 부가적인 입력이 암호 표현에 대응하면, 장치 특정 보안 데이터는 내부적으로 재작성된다. 이것은, 네트워크 조작원과 같은 장치를 제어할 시에 장치 제조자 또는 다른 트러스트된 파티가 장치 구성 중에 제조된 장치에 대한 장치 특정 보안 데이터를 자유롭게 선택하도록 한다. 이것은, 보안 데이터가 특정 포맷을 가질 것을 필요로 하는 어떤 응용에서 유리할 수 있다. 예컨대, RSA 또는 타원 곡선과 같은 비대칭 암호 기법에서는, 키가 랜덤 스트링(random string)이 아니라, 경계(caution)에 의해 선택될 필요가 있다.
기억 유닛(12) 내에서 회로 제조자에 의해 실시되는 랜덤 비밀 번호(C) 이외에, 전자 회로(10)는 트랩도어(trapdoor) 일방향 함수의 실제적 실현부(practical realization)(15)를 포함하며, 이 경우에 암호화 키로서 비밀 번호(C)를 이용한 암호화 알고리즘(E)으로서 표현된다. 전자 회로(10)는 또한 대응하는 트랩도어 역 알고리즘의 실제적 실현부(13)를 포함하며, 이 경우에는, 암호 해독부(D)를 실행할 뿐만 아니라, 보안 관련 연산의 실현부(14)도 실행한다.
구성 중에, 장치 제조자 또는 다른 구성 파티는 어떤 원하는 장치 특정 보안 데이터 K, 예컨대, 암호 키를 작성하여, 이를 암호화를 위한 회로(10)에 인가한다. 이런 구성은, 제조 중에 반드시 실행되어야 할 필요가 없지만, 나중에, 예컨대, 개별 구성 단계에서 장치 제조자, 또는 제조된 장치를 제어할 시에 네트워크 조작원과 같은 개별 파티에 의해 실행될 수 있음을 알 수 있다. 암호화로 작성된 표현 E(C, K) = X는 제어된 환경에서 장치 제조자 또는 다른 구성 파티에 의해 기록되어, 선택적으로 장치 내에 기억된다. 따라서, 작성된 쌍(X, K)은, 예컨대, 나중에 구성 파티 또는 트러스트된 제 3 파티에 의해 장치와 안전하게 통신하기 위해 이용될 수 있다. 트러스트 모델을 적당히 고려하면, 작성된 표현(X) 및/또는 대응하는 구성 보안 데이터(K)는 트러스트된 네트워크 조작원에 의해 관리될 수 있다. 인증 및 키 일치 절차로부터 획득된 세션 키에 기초로 하여, 작성된 표현(X)은, 조작원으로부터, 이동 전화 또는 조작원과 관련된 유사한 네트워크 장치와 같은 장치로 안전하게 전송될 수 있다.
선택적으로, 암호화 표현(X)은 구성 중에 이미 장치 내에 기억되어 있다. K가 장치의 사용 중에 내부적으로 규정되어 있지 않으면, 상대자는 장치로 접근하여, 기억된 트리거 데이터(X)는 장치 키(K)를 입수할 있다. 그래서, 내부적으로 작성된 장치 키(K)는 장치의 사용 중에 회로 외부에서 결코 표시되지 않지만, 어떠한 보안 연산 또는 요구된 연산에 대해서만 회로 내에서 이용된다. 이것은, 암호화 표현(X)이, 예컨대, 장치 내의 PROM 내에 기억될 수 있음과 동시에, 감지 장치 키(K)가 장치 및 전자 회로의 프래그래밍 인터페이스로 접근하는 상대자로부터의 공격에 저항한다는 것을 의미한다. 선택적으로, 트러스트 모델이 허용되면, X는 사용자에 의해 보호되어, 선택적으로, 특정 승인 코드가 필요하기 전에 제한된 수의 시행(trial)과 함께, 패스워드 또는 PIN에 의해 승인이 전자 회로 내로 입력하기 위해 X를 검색할 수 있도록 실행되어야 한다.
요약하면, 도 6에 도시된 회로는 2개의 상이한 단계에서 수개의 연산 계층을 포함한다. 즉, 구성 단계 중에, 장치 키(K)의 형식의 구성적 데이터는 알고리즘(E)으로 암호화된다. 나중에, 장치의 사용 중에, 암호화 작성된 표현은 알고리즘(D)로 암호 해독되며, 그 후, 당업자에게는 명백한 바와 같이, 작성된 장치 키 인스턴스는, 평문으로 암호화된 정보의 암호 해독, 데이터 기원 인증(data origin authentication), 메시지 무결성 보호 또는 이와 같은 보안 연산의 조합과 같은 보안 관련 연산으로의 입력으로서 이용된다. 선택적으로, 연산(D)은, 트러스트 모델에 대해 민감한 비암호화 보안 관련 기능, 예컨대, 허가된 파티에 대해서만 이용 가능한 데이터의 관리를 포함하여, 회로 내에 그대로 있다. DRM은 특정예를 이것에 제공하며, 여기서, (텍스트, 오디오 및 비디오와 같은) 고 품질의 평문 내용이 비밀을 유지될 필요가 있지만, 더욱 저 해상도의 카피는 렌더링(rendering) 장치에 도달하도록 허용된다.
따라서, 보안 관련 연산은, 해상도를 선택적으로 줄이거나, 장치 키(K)에 관한 정보에 기초하여 제어되는 D/A 변환 등을 선택적으로 실행하기 위해 구성될 수 있다.
물론, 상기 절차는 다수의 쌍(K, X) 및/또는 다수의 비밀 번호(C)로 연장될 수 있다. 다시 말하면, C의 실제 값은, 임의의 허가되지 않은 파티에 의해 알려지지 않는 한, 일반적으로 관련되지 않는다.
또한, 도 12와 관련하여 나중에 설명되는 바와 같이, 구성 단계 중에 전자 회로 내에 구성적 보안 데이터를 내부적으로 작성할 수 있는 것으로 이해된다.
도 7은 부가적인 입력 키를 이용하여 보안성을 더욱 향상시킨 도 6의 회로의 특정 실시예의 개략적 블록도이다. 도 6의 탬퍼 저항 전자 회로의 보안성을 더욱 향상시키기 위해서는, 도 7에 도시된 바와 같이, 부가적인 입력 키가 사용될 수 있다. 도 6과 유사하게도, 구성 중에, 예컨대, 제조 시에, 장치 제조자 또는 다른 구성 파티는, 유닛(15) 내에서 실시되는 알고리즘(E) 및 키(C)를 이용하여, 보안 데이터(K1)를 암호화한다. 입수된 암호화 출력(X1)은 구성 중에 장치 내에 기억될 수 있거나, 장치로 안전하게 전송되어, 유닛(13) 내에서 실시되는 관련된 암호 해독 알고리즘(D1)으로 입력될 수 있다. 부가적인 보안 데이터(K2)는 또한 작성되어, 전자 회로(10) 내에 내부적으로 규정되어야 한다. 보안 데이터(K2)의 암호화 표현(X2)은, 전자 회로(10)로의 입력으로서 사용하기 위해 장치에 제공되는 것이 바람직하다. K2는, 예컨대, K1의 암호화와 관련하여 장치 제조자 또는 다른 구성 파티에 의해 내부적으로 작성될 수 있다. 선택적으로, K2는 제 3 파티, 예컨대, 콘텐트 제공자 또는 분배자에 의해 내부적으로 작성될 수 있으며, 이는 디지털 데이터를 장치로 안전하게 분배하기를 원한다. 이와 같은 경우에, 콘텐트 제공자는, K1으로의 내부 접근이 K2를 내부적으로 작성하는데 필요하도록 K2를 X2로서 표현하며, 예컨대, K1이 개인 키인 경우, X2는 키(K2)의 대응하는 공개 키 암호이다. 개인 키는 장치 제조자의 개인 키이어서, 사용자에 의해 알려지지 않는다. 공개 키는, 예컨대, 공개 키 기반 구조의 인증 기관(Certificate Authority of a Public Key Infrastructure)으로부터 이용 가능하다. 그 후, 콘텐트 제공자는 X2를 장치로 분배한다. 관련된 암호 해독 알고리즘(D2)은, 내부적으로 작성된 K1에 의해 수신된 암호화 입력(X2)을 암호 해독하기 위해 전자 회로 내의 유닛(14-1) 내에서 실시된다. 유닛(14-2) 내에서 실시되는 보안 알고리즘(D')에 기초하여, 장치 제조자 또는 제 3 파티, 예컨대, 콘텐트 제공자로부터 수신되는 데이터(또는 다른 보안 연산)의 암호 해독은, X1 및 X2 및 수신된 데이터 cip를 관련 회로 인터페이스 내로 입력시켜 평문 cle을 획득함으로써 이용 가능하다.
구성 중에 보안 데이터로의 외부 접근의 선택적 허용
도 8은, 본 발명의 다른 양호한 실시예에 따라, 구성 중에 작성된 보안 데이터로의 외부 접근을 허용하는 장치 접근 코드 함수를 구비한 탬퍼 저항 전자 회로의 개략적 블록도이다. 상술한 바와 같이, 선택적으로, 트리거 데이터는 논스, 바인드 아이덴티티 또는 유사한 데이터와 같은 간단한 시드(seed)일 수 있고, 그것은, 기억된 비밀 번호(C) 및 입력 트리거 데이터(R)에 기초하여 장치 특정 보안 데이터(B)를 작성하기 위해 장치의 구성 중에 전자 회로에 내부적으로 인가된다. 예컨대, R은 랜덤 비트 스트링 및/또는 어떤 고유 장치 아이덴티티일 수 있다. 바람직하게는, 암호 엔진(13)은 입력으로서 비밀 번호(C) 및 트리거 데이터(R)를 이용하여 암호의 일방향 함수(f)의 근사(approximation)에 의해 실시된다. 예컨대, 암호의 일방향 함수는, 키로서 C를 이용한 입력 데이터(R)의 키 MAC(Message Authentication Code), see[7,8]일 수 있다.
비밀 번호(C)를 유지하기 위한 기본 기억 유닛(12), 암호 엔진(13) 및 보안 관련 연산부(14) 이외에, 도 8에 도시된 탬퍼 저항 전자 회로(10)는 또한, 제어기(16) 및, 전자 회로(10)가 구성 중에 외부 회로 인터페이스를 통해 장치 특정 보안 데이터(B)를 선택적으로 출력시키기 위한 스위치 장치(17)를 포함한다. 제어기(16)는, 바람직하게는, 소위 장치 접근 코드(DAC)에 응답하여 동작하고, 스위치(17)를 폐쇄시켜, DAC가 구성 단계 중에 회로에 인가될 시에 장치 특정 보안 데이터(B)를 회로 외부에서 이용 가능하게 한다. 예컨대, 나중에 상세히 기술되는 바와 같이, DAC는, 허가 과정에서 회로 제조자에 의해 장치 제조자 또는 다른 구성 파티에 제공될 수 있다. 정확한 DAC가 구성 중에 입력되지 않으면, 스위치(17)는 개방 상태를 유지하고, 장치 특정 보안 데이터(B)는 적절한 내부 인터페이스에 의해서만 이용 가능하여, 결과적으로 전자 회로(10)를 떠나지 않는다. 구성 후에는, 장치로 물리적으로 접근하는 상대자가 장치 특정 보안 데이터를 입수하기 위해 시도할 시에 상이한 코드를 테스트함으로써 회로(10)를 확실히 공격할 수 없도록 제어기(16)를 디스에이블(disable)하는 것이 바람직할 수 있다.
예컨대, 장치 제조자가 IC 제조자로부터 수신된 IC와 같은 전자 회로를 특정 장치 내에 설치할 경우에, 구성은 제조 중에 실행될 수 있다. 실시된 암호 함수(f)를 이용하여, 장치 특정 보안 데이터는 획득될 수 있다. 즉, 제어된 환경에서, 장치 제조자는, 결과 f(C, R) = B를 작성하도록 회로 내의 암호 엔진 내에서 실시된 알고리즘에 대한 입력으로서 어떤 데이터(R)를 입력시키며, 또한, 미리 정해진 DAC를 제어기(16)에 인가하여, 작성된 보안 데이터(B)의 외부 출력을 인에이블(enable)시킨다.
도 8의 예에서, 장치 제조자 또는 다른 구성 파티는 일반적으로 장치 특정 보안 데이터를 선택할 수 없지만, 일방향 함수(f)에서 나오는 것은 무엇이든지 수락해야 하는 반면에, 도 6 및 도 7의 예에서는 구성 파티가 장치 특정 보안 데이터를 자유롭게 선택한다.
장치 제조자 또는 다른 구성 파티, 또는 장치 구성자에 의해 트러스트된 제 3 파티에 의해, 쌍(R,B)은 나중에, 예컨대 장치가 사용자에게 판매된 후에 사용되어, 장치와 안전하게 통신할 수 있다. 장치 특정 보안 데이터(B)는, 예컨대, 대칭 암호화 알고리즘 또는 메시지 인증 코드의 암호 키로서 통신을 안전하게 하는데 이용될 수 있다. 사용 중에, 트리거 데이터(R)는 장치에 의해 전자 회로(10) 내에서 B를 내부적으로 재작성하는데 요구된다. 예컨대, R이 GSM AKA(인증 및 키 일치) 또는 UMTS AKA와 같은 키 일치 과정에서의 RAND와 동일하면, 작성된 장치 특정 보안 데이터는 AKA 세션 키일 것이다.
트리거 데이터(R)는 제조 및/또는 구성 중에 장치 내에 기억될 수 있거나, 안전 통신을 확립하기 전에 공급될 수 있다. 높은 비밀성이 바람직할지라도, 트리거 데이터(R)는, 적절한 전자 회로로만 접근하므로, 반드시 비밀을 유지할 필요가 없고, 관련 보안 데이터(B)가 작성될 수 있으며, 장치의 사용 중에, 보안 데이터(B)는 이 회로를 떠나지 않는다. 그러나, R은, 예컨대 B에 의해 또는 어떤 대역외 메카니즘에 의해 무결성 보호되어, 예컨대, 통신, 조작 및/또는 서비스 거부 공격(denial-of-service attack)의 교란으로부터 보호하는 것이 바람직하다.
특정 응용의 일례로서, 불안전한 네트워크를 통해 통신하는 많은 네트워크 노드를 소유/관리하는 회사가 있다. 예컨대, 다수의 노드/장치는, 이동 네트워크 내의 무선 기지국, 전기 소모 계량 장치, 자동 음료/식품 자판기일 수 있고, 이들 모두는 도 8의 일반적 구조를 가진 전자 회로를 구비한다. 회사의 트러스트된 스태프(staff)에 의한 노드의 구성 중에, 다수의 노드 특정 키(B)는 하나 이상의 입력 수(R)에 응답하여 제조자에 의해 작성되어, 하나 이상의 DAC를 이용하여, 회로로부터 보안 데이터를 입수한다. 사용 중에, 입력 수(R)는 네트워크 노드로 분배되고(바람직하게는 무결성 보호되고) (또는 제조/구성 중에 이 노드 내에 기억되며), 대응하는 전자 회로로 입력되어, 노드 특정 키(B)를 작성한다. 비밀 키(B)가 포함된 노드 사이에 안전하게 공유되면, B를 이용한 어떤 통상의 암호 프로토콜에 의해 안전한 통신이 확립될 수 있다. 다수의 쌍(R, B)은 작성될 수 있고, 및/또는 다수의 비밀 번호(C)가 실시될 수 있어, 예컨대, 어떤 보안 데이터를 폐기하거나, 다수의 통신 파티를 구별할 수 있다.
다른 특정예에서, 쌍(R, B)은 바인드-아이덴티티-바인드-키 쌍을 구성할 수 있다. 바인드-아이덴티티-바인드-키 쌍의 작성을 포함하는 트러스트의 데리게이션(delegation)의 일례는, Generic Trust Delegation (GTD) 프로토콜이라 하는 프로토콜이다. 그것은 GTD 프로토콜의 원리(basics)의 개요(overview)를 제공하는데 유용할 수 있다. GTD 프로토콜에서의 트러스트의 확립 및 데리게이션을 위한 메카니즘은, 2개의 파티(P1 및 P2), 통상적으로 장치 제조자 및 관련 장치가 (대칭) 비밀을 공유한다는 가정 하에 기초로 한다. 이 프로토콜은, 장치 제조자(P1)가 보통 비밀 장치 키를 장치(P2)에 지정한다는 사실을 이용하며, 여기서, 장치 키는 장치 내에 적절히 보호된다. (P1)과 트러스트 관계를 가진 제 3 파티(P3)는 (P2)와 안전하게 통신하기를 원한다. 주요 구성 요소로서, GTD 프로토콜은, (P3)가 (P1)으로부터 (P2)와 안전한 통신을 위한 바인드 키를 요구하는 기본 요구-응답 프로토콜을 포함한다. 파티(P1)는 쌍(P2 및 P3)에 고유한 바인드 아이덴티티를 작성한다. 그 후, 파티(P1)는 바인드 아이덴티티 및, (P1)이, 바람직하게는, 암호 일방향 함수를 이용함으로써 (P2)와 공유하는 비밀에 기초하여 바인드 키를 도출한다. 보통, 바인드 아이덴티티와 함께 바인드 키는 (P1)에서 (P3)로 안전하게 전송된다(보안은, (P1)과 (P3)간의 기존 트러스트 관계로부터 도출된 다수의 키에 기초로 한다. (P2)가 (P1) 및 (P2) 간의 공유된 비밀을 알고 있으므로, 파티(P2)는 또한 상기 바인드 아이덴티티에 제공된 동일한 바인드 키를 계산할 수 있다. 후자는 일반적으로 비밀이 아니고, (P1 또는 P3)로부터 (P2)로 전송될 수 있다. 따라서, (P2 및 P3)는 그때 바인드 키를 이용하여 안전하게 통신할 수 있다. 물론, 장치 특정 키 자체 대신에, 그로부터 도출된 다른 키가 양방의 측면 상에서 바인드 키를 계산하기 위해 사용될 수 있다. 이런 과정에서, (P1)은 (P2) 및 (P3) 간의 바인드 키의 형식으로 (P3)로 "트러스트를 데리게이트한다(delegates trust)".
장치 및 장치 제조자 (또는 다른 장치 구성자)의 외부로 장치 특정 키를 전송할 필요가 없으므로, 장치 제조자는 장치 특정 키(또는 더욱 일반적으로는 엔티티 키)를 어떤 다른 파티에 결코 누설하지 않아야 한다. 게다가, GTD 프로토콜은 모든 장치 제조자에 의해 트러스트된 단일 제 3 파티를 필요로 하지 않는다.
(회로) 제조자가 제조 중에 비밀을 기억한 경우에 장치의 전자 회로 내의 보호된 영역을 제외하고, 알려지지 않은 비밀은 제조자의 도메인을 떠나지 않아야 한다. 따라서, 제조자는, 종래 기술에 비해 비밀을 유지할 많은 가능성 및 모든 동기(incentives)를 갖는다.
개인 키 및/또는 비대칭 키 쌍의 작성
도 9는, 본 발명의 또 다른 양호한 실시예에 따라, 개인 키/비대칭 키 쌍을 선택적으로 작성하기 위한 트리거 데이터에 응답하는 탬퍼 저항 전자 회로의 개략적 블록도이다. 도 9에서, 프라임, 수학적 군의 작성기, 논스 및/또는 PIN 코드와 같은 적당한 부가적인 입력은, 장치의 구성 중에, 제조 시의 구성 단계 또는 사용자 구성 중에, 비대칭 키 쌍(A, PA)을 작성하여, 외부 회로 인터페이스를 통해 공개 키(PA)를 출력하는 회로에 인가될 수 있다. 장치의 사용 중에, 대응하는 개인 키(A)는 동일한 부가적인 입력의 적어도 부분이 외부 회로 인터페이스를 통해 트리거 데이터로서 인가되는 경우에 내부적으로 재작성된다. 그 후, 내부적으로 작성된 개인 키(A)는 암호화/암호 해독 및 인증과 같은 PKI(Public Key Infrastructure) 연산을 위해 이용될 수 있다.
도 10은 개인 및 공개 키의 작성을 위해 실시된 도 9의 회로의 특정 실시예의 개략적 블록도이다. 다음에는, 이산 대수에 기초하여 예시적인 암호 케이스를 고려한다. 일례로서, 큰 프라임(P)을 작성기(G)와 모듈로한(modulo) 정수의 곱셉 그룹을 통한 이산 대수 문제를 이용할 수 있다. 1, ..., P-2로부터 랜덤하게 선택된 정수는 개인 키로서 이용될 수 있다. 도 10에 도시된 바와 같이, 알려지지 않은 칩 비밀 번호(C)와 동일할 수 있거나, 선택적인 입력과 함께 칩 비밀로부터 도출될 수 있는 번호(A)를 나타낸다. 전과 같이, 번호(A)는 전자 회로 내에 감추어져 있어, 입수할 없거나, A의 어떤 (하찮은 것을 제외한) 정보가 아닐 수 있다.
암호 엔진(13)은, 적어도 비밀 번호(C)에 기초하여 키(A)를 작성하기 위한 일반적 함수(Z)에 기초로 한다. 큰 프라임(P)은 선택적으로 엔진(13)으로 입력되어, 적절한 A를 작성해야 한다. 또한, 작성기(G)는 입력되지만, 회로는 그때 G가 그룹의 작성기인 지를 체크하는 것이 바람직하다. 예컨대, 장치 제조자에 의해 작성된 논스는 또한 선택적으로 키(A)의 작성 시에 이용하기 위한 회로로 입력될 수 있다.
또한, 이 회로로부터 대응하는 공개 키(PA)를 작성하여 출력할 수 있고, 이것은, 예컨대, GA mod P, 및/또는 G 또는 P와 같은 다른 정보일 수 있다. 그 후, 암호 엔진(13)은 또한, 바람직하게는 P, G 및 A에 기초하여 이 공개 키(PA)를 작성하기 위한 일반적 함수(Y)를 포함한다. 공개 키는 인증된 방식으로 관련 통신 파트너로 분배됨으로써, 안전하게 이용될 수 있고, 이의 상세 사항은 나중에 기술될 것이다. 전자 회로(10)는, 개인 키(A)에 기초하여 암호화 또는 디지털 서명 함수와 같은 하나 이상의 공개 키 연산(D')을 실행할 수 있다. 특정 예들은 E1Gamal 암호화 및 E1Gamal 서명이다.
알려지지 않은 비밀 번호(C)는 회로 제조 중에 회로(10)(예컨대, IC) 내에 쉽게 작성되어 기억되고, 새로운 기능은 도 10에 도시되어, IC가 안전한 통신을 위해 배치되는 장치에 의해 이용될 수 있는 비대칭 키 쌍을 작성할 수 있다.
이 공개-개인 키 쌍의 다른 사용법은, 도 11에 개략적으로 도시된 바와 같이, 공유된 키를 작성하는 것이다. 예컨대, Diffie-Hellman 공유된 키 작성의 경우, 장치 공개 키 PA = GA mod P는 통신 파트너 공개 키 PB = GB mod P와 교환되며, 여기서, B는 대응하는 개인 키다. PB는 회로(10) 내의 공유된 키 작성 유닛(14-3) 내에 공급되고, 공유된 비밀 번호 GAB mod P는 계산된다. 선택적 랜덤 논스는 또한 공유된 비밀 번호와 함께 알고리즘 내에 이용되어, 새로움(freshness)을 보증할 수 있고, 개인 키의 정보의 누설을 제한할 수 있다. 결과적으로, 외부적으로 입수할 수 없는 공유된 비밀 키(KAB)가 작성된다. 그 후, 유닛(14-2) 내에서 실시되는 바와 같이, 확립된 키는 암호화된 정보(CIP)를 평문 출력(CLE)으로 변환하는 것과 같은 보안 관련 연산(D')에 이용될 수 있다.
일반적으로, A가 비대칭 암호 기법에서 대응하는 공개 키(PA)를 가진 개인 키이고, A가 탬퍼 저항 전자 회로 내에서 보호되면, 본 발명은 또한, 공개 키(PA)에 의해 암호화된 대칭 암호 키(K)가 암호 해독되어 회로 내에 이용되고, 이전의 예들과 유사하게 회로 외부에 노출되지 않는 경우를 커버한다.
사용법에 따라, 개인 키는 장치 키로서 사용될 수 있다. 선택적으로, 대응하는 공개 키는, 나중에 예시되는 바와 같이, 장치 제조자에 의해 인증될 수 있다.
선택적인 실시예에서, 사용자는 칩 비밀 번호로부터 반드시 직접 도출되지 않는 개인 키를 작성한다. 예컨대, 암호 엔진(13)은 의사-난수 작성기에 의해 실시될 수 있으며, 이는, 시드로서 칩 비밀 번호를 이용하여, 수회 반복되고, 경우에 따라서는 개인 키를 작성하기 위해 어떤 부가적인 입력을 갖는다. 이전의 예들에서와 같이, 개인 키는 전자 회로 내에 감추어져 있고, 대응하는 공개 키를 외부에서 입수 가능하게 할 수 있다.
선택적으로, 부가적인 논스는 키의 작성 중에 사용자에 의해 삽입될 수 있다. 선택적으로, 또는 보완물로서, PIN(Personal Identification Number) 또는 어떤 번호로 맵된 패스워드는, PIN 또는 패스워드가 회로 내부에 개인 키를 작성할 필요가 있다는 점에서, 사용자의 인증을 인에이블하는 논스 또는 논스의 부분일 수 있다.
상기 방법과 관련하여 이용될 수 있는 또 다른 선택 사항은, 도 12에 도시된 바와 같이, 상기 케이스 중 하나에서와 같이 작성된 개인 키를 암호화 알고리즘(E) 및 칩 비밀 번호(C)로 암호화하여, 암호화된 개인 키(X)를 출력하는 것이다. 도 9-11의 실시예와 마찬가지로, 도 12에 도시된 탬퍼 저항 전자 회로(10)는, 기억 유닛(12-1), 비대칭 키 쌍을 작성하기 위한 암호 엔진(13) 및 보안 관련 연산(14)을 포함한다. 그러나, 게다가, 도 12의 회로(10)는 또한, 알고리즘(E)을 실시하는 암호화 유닛(15), 부가적인 비밀 번호(C')를 위한 다른 기억 유닛(12-2) 및, 암호화된 개인 키를 암호 해독하기 위한 암호 해독 유닛(13-2)을 포함한다. 이것은, 사실상, 도 9 또는 도 10의 실현 및 도 6의 실현의 하이브리드(hybrid)이지만, 여기서, 소위 구성적 장치 특정 키, 여기서는 개인 키(A)는 선택적 입력 데이터에 응답하여 내부적으로 작성되고 나서, 결과 표현(X)으로 암호화된다. 개인 키가 전체 장치의 사용 중에 전자 회로 내에 이용될 필요가 있을 경우, X는 특정 인터페이스를 통해 암호 해독 유닛(13-2) 내로 삽입되어, C'에 기초하여 D에 의해 암호 해독된다. 연속하여, 내부적으로 작성된 개인 키(A)는 알고리즘(D') 내에 이용될 수 있다. 선택적으로, X는 보호되는 패스워드일 수 있거나, 다른 사용자 인증을 필요로 할 수 있다.
도 10-12에서 설명된 실현부가 이산 대수에 기초로 하지만, 비대칭 키 쌍을 작성하기 위한 다른 방식도 실행 가능함을 알 수 있다.
회로 능력의 사용의 인증
간략히 상술한 바와 같이, 회로 제조자의 관심사로서는, 장치 제조자 또는 다른 구성 파티가 회로 제조자에 의해 인가될 시에 탬퍼 저항 전자 회로만을 이용할 수 있게 하는 것이다. 또한, 선택적으로, 트러스트 모델에 따라, 장치 제조자는, 전자 회로의 능력으로 접근해야 하는 (있다면) (다른) 파티를 인가하기를 원할 수 있다. 이것은, 인증 프로세스에 기초하여 전자 회로 내의 어떤 연산을 "컨디셔닝(conditioning)"함으로써 달성될 수 있다. 이와 같은 연산은, 회로로부터, 예컨대, 어떤 알고리즘에 대한 값(C) 및, 아마도 C를 포함하는 어떤 값의 출력으로 접근할 수 있다. 인증 프로세스는, 간단한 유지 보수/사용자 패스워드일 수 있지만, 바람직하게는, Fiat-Shamir protocol [9] 또는 다른 제로-지식(zero-knowledge) 프로토콜과 같은 보안 인증 메카니즘을 수반할 수 있다.
도 13은 인증 프로토콜 및 관련된 장치 접근 코드(DAC) 관리자/제어기를 이용하여 실시되는 전자 회로의 실시예의 개략적 블록도이다. 간략화를 위해, 인증 및 장치 접근 코드에 관련된 회로의 부품들만이 도 13에 도시되어 있다. 장치 접근 코드를 제공하기 위한 인증 절차의 일례를 제공한다. 바람직하게는, Fiat-Shamir protocol과 같은 인증 프로토콜(18)은 전자 회로(10) 내에 실시된다. 이것은, 전자 회로(10)가 회로(10) 내에 실시된 공개 키(PK)에 기초하여 장치 제조자 또는 다른 구성 파티를 인증하도록 한다. 장치 제조자 또는 다른 구성 파티는 프로그래밍 스테이션(110)을 이용하여, 개인 키(SK)에 의해 부호화된 정보를, 대응하는 공개 키(PK)에 기초하여 인증 프로토콜 유닛(18) 내에서 검증하기 위한 전자 회로(10)로 전송한다. 이것은, 공개 키(PK)가 회로 제조 중에 전자 회로(10) 내에 이미 입력되어야 함을 의미한다. 장치 제조자 또는 다른 구성 파티는 통상적으로 비대칭 키 쌍(SK, PK)을 작성하여, 회로 제조자에게 공개 키(PK) 또는 이와 같은 공개 키의 리스트를 제공한다. 공개 키는, 물론, 공개 정보이고, 부가적인 보안 관리를 필요로 하지 않는다. 부가적으로, 전자 회로(10)는 또한 DAC 관리자/제어기(16)를 구비한다. 챌린지(challenge)(R)는 프로그래밍 스테이션(110)으로부터 DAC 관리자(16) 내에 입력된다. 예컨대, R은, 난수, 장치 아이덴티티의 어떤 정보이거나, 이와 같은 정보의 해시(hash) 값일 수 있다. 인증 프로토콜 유닛(18)으로부터의 신호로 나타낸 바와 같이, 앞선 인증이 성공적이면, DAC 관리자(16)는, 예컨대, MAC 기능을 사용함으로써, 응답(S)을 작성한다. 그 후, 응답(S)은 전자 회로(10)에 의해 프로그래밍 스테이션(110)으로 전송된다. 쌍(R, S)은, 후속하여 인가된 파티에 의해 어떤 회로 능력으로 접근하기 위해 이용될 수 있는 장치 접근 코드(DAC)를 구성한다. 예컨대, 도 8에서 예시된 바와 같이, DAC는, 장치 제조자 또는 다른 구성 파티에 의해, 장치 구성 중에 외부 회로 인터페이스상에서 장치 특정 보안 데이터를 입수 가능하게 하는데 이용될 수 있다.
적절한 트러스트 모델이 제공되면, 장치 제조자는, 예컨대, DAC를 트러스트된 제 3 파티에 제공/허가할 수 있다. DAC는 또한, 예컨대, 절충된(compromised) 보안 데이터를 새로운 데이터로 대체하는 장치를 "리프로그램(reprogram)"하는데 이용될 수도 있다.
도 14에 도시된 바와 같이, 미리 정해진 장치 접근 코드(DAC)가 전자 회로 내에 입력되지 않으면, 전자 회로는 또한 기억된 비밀 번호 및/또는 장치 특정 보안 데이터로의 내부 접근을 디스에이블하기 위해 구성될 수 있다. 예컨대, 이것은, 신호 경로의 스위치를 기억 유닛(12)으로부터 암호 엔진(13)으로 배치하고, 및/또는 신호 경로의 스위치를 암호 엔진(13)으로부터 보안 관련 연산(14)으로 배치함으로써 달성될 수 있다. 이들 스위치는 통상적으로 장치 접근 코드(R, S)에 응답하여 동작하는 DAC 관리자/제어기(16)에 의해 제어된다. 예컨대, DAC 관리자(16)는 키된(keyed) MAC를 계산함으로써 수신된 R 값을 기대 응답(S')으로 맵한다:
S'=MAC(R, C),
그 후, 수신된 응답(S)을 계산된 기대 응답(S')과 비교하여, 장치 접근 코드(R, S)를 검증한다. 디폴트에 의해, 스위치는 회로 능력으로의 접근을 디스에이블하는 개방 상태에 있다. 정확한 장치 접근 코드가 입력되어 검증되면, DAC 관리자/제어기(16)는 스위치를 폐쇄하여, 회로 능력으로의 접근을 인에이블한다.
이런 식으로, 장치 접근 코드로 트러스트된 장치 제조자 및/또는 다른 파티와 같이 인가된 파티만이 장치 특정 보안 데이터의 작성을 위해 기억된 비밀 번호를 이용하고, 및/또는 보안 데이터 자체만을 이용하도록 확실히 허용될 수 있다.
인증 시에 회로 능력으로 조건부 접근(conditional access)을 제공하기 위한 상기 메카니즘은 본 발명의 일반적인 특징물(features)이며, 본 출원에 제공된 어떠한 예들에 적용될 수 있다.
바인드 키의 계층 구성(hierarchy)
상술한 GTD 프로토콜은 또한 반복적으로 적용되어, 결과적으로 공유된 바인드 키의 체인(chain)을 생성시킨다. 기본 GTD 프로토콜은 비밀 키를 공유한 두 파티에 의해 개시하여, 제 3 파티와 다른 비밀 키를 공유한 초기 파티 중 하나에 의해 종료한다. 이런 과정은 반복적으로 행해지고, 프로토콜의 제 2 적용 후에, 이전의 파티 중 하나와 공유된 비밀 키를 가진 제 4 파티를 포함하며, 그 후 더욱 높은 순서로 반복한다.
또한, 도 15에 도시된 바와 같이, 반복된 GTD 프로토콜은 탬퍼 저항 전자 회로 내에서 전적으로 실시되는 것을 알 수 있었다. 암호 엔진(13)은, 아래의 식에 따라 대응하는 바인드 아이덴티티 R1, ..., Rk에 응답하여 k 바인드 키 B1, ..., Bk의 체인을 작성하기 위한 암호 일방향 함수, f의 다수의 인스턴스를 포함한다:
Bi = f(Bi -1 , Ri), i=1, ..., k,
여기서, B0 = C.
제 1 바인드 키(B1)는 통상적으로, 정확한 장치 접근 코드(DAC)를 DAC 제어기(16) 내로 입력함으로써, 예컨대 제조 중에 구성 단계에서 구성 중에 장치 제조자 또는 다른 구성 파티에 의해 추론(deduce)된다. 정확한 DAC가 제어기(16)에 의해 검증되면, 스위치(17)는, 전자 회로(10)의 외부에서 제 1 바인드 키(B1)의 출력을 인에이블하도록 폐쇄된다. 정확한 DAC가 입력되지 않으면, 바인드 키는 회로 외부에 입수할 수 없다.
바인드 아이덴티티의 시퀀스를 공급함으로써, 장치는 후속하여 대응하는 바인드 키를 계산하여, 최종으로, 암호 해독 알고리즘(D')에 의해 암호화된 데이터(CIP)를 평문 출력(CLE)으로 암호 해독하는 것과 같은 보안 연산을 실행한다. 바인드 키는 회로(10) 내에 내부적으로 규정되어, 장치 접근 코드를 알지 못하는 제 3 파티에 의해 외부 IC 인터페이스를 통해 전송될 수 없다. 이런 실시에 의해, 공격자는, 장치로의 물리적 접근에 의해서는, 기껏해야 소정의 암호화된 메시지를 암호 해독할 수 있지만, 실제 바인드 키로 접근할 수 없다.
따라서, 회로 제조자와 장치 제조자 간의 어떤 보안 관리없이, 전자 회로 내에서만 입수 가능한 장치 특정 키(Bi, i=1, ..., k)의 전체 세트를 확립하였다.
도 15의 실현부에서, 바인드 아이덴티티(R1, ..., Rk)는 "병렬로(in parallel)" 삽입된다. 선택적으로, 도 16에 개략적으로 도시된 바와 같이, 바인드 키는 "반복" 실시에 의해 작성될 수 있다. 도 16의 예에서, 바인드 아이덴티티(R1, ..., Rk)는, 요구된 반복 수를 나타내는 수(k)와 함께, "직렬로(in serial)" 삽입되어, 예컨대, IC 입력 인터페이스상에 연결(concatenate)된다. 그 후, 전자 회로(10) 내의 내장(built-in) 알고리즘은, 삽입된 수(k)에 의해 나타낸 횟수만큼 함수(f)를 반복한 후, 연속하여 관련 입력(Bi=f(Bi -1, Ri), i=1, ..., k, 여기서, B0 = C)을 처리하여, Bk를 연산(D') 또는 어떤 다른 적절한 보안 관련 연산 또는 알고리즘으로 출력한다. 이런 수정에 의해, 어떤 중간 바인드 키는 D'에 의해 보호된 사용법을 위해 작성될 수 있다. 전과 같이, DAC는 초기 바인드 키로 외부 접근을 제공하도록 입력될 수 있다.
트러스트된 제 3 파티를 포함하는 보안 데이터 관리
아래에서는, 사용자가 포함/트러스트되고, 포함/트러스트되지 않은 채, 트러스트된 제 3 파티가 장치와 안전하게 통신하기를 원하는 경우에 보안 관리를 취급하는 방법에 관해 조금 더 집중할 것이다.
포함/트러스되는 사용자는 일반적인 시나리오이어서, 더 이상 설명을 필요로 하지 않는다. 그러나, DRM 설정에서, 사용자는, 전술된 바와 같이 트러스트되지 않는다. 다른 설정에서는, 예컨대, 장치가 독립적(stand-alone)으로 실행할 경우에, 정상 동작 중에는 사용자가 존재하지 않을 수 있다. 제 3 파티는 어떤 정보에 접근하여, 의도된 장치와 확실히 안전하게 통신할 수 있도록 해야 한다. 이 정보는, 예컨대, 트러스트되고 인가된 파티에 의해 보증된 장치, 또는 통신 엔티티를 인증하는데 이용되는, 장치 제조자가 사인한 장치 공개 키 인증서에 대한 대칭 키일 수 있다. 2개 예를 아래에서 더욱 상세히 개설한다.
제 3 파티에 대한 대칭 키 데리게이션
도 8의 예를 고려한다. 특정 인스턴스로서, (R, B)는, 기본 GTD 프로토콜에서와 같이, "바인드 아이덴티티" - "바인드 키" 쌍일 수 있으며, 이는 간단히 "바인드 쌍"으로서 지칭된다. 따라서, 하나 또는 수개의 바인드 쌍은, 구성 중에, 예컨대, 장치 제조 시에 작성되어, 장치 제조자와 같은 구성 파티에 의해 기억된다. 대역외 배치에 의해, 트러스트된 제 3 파티는, 보안 방식으로, 이 특정 장치의 하나 또는 수개의 바인드 쌍을 데리게이트하여, 바인드 아이덴티티를 참조(refer)/공급함으로써, 장치와 안전하게 통신할 수 있다.
반복된 GTD 프로토콜은, 트러스트된 파티가 장치와 안전하게 통신할 수 있는 파티에 대한 트러스트를 더욱 데리게이트하도록 하기 위해 유사하게 달성될 수 있다.
선택적으로, 선택된 대칭 키(K)는 도 6과 관련하여 기술된 바와 같이 이용될 수 있고, 쌍(X, K)은, 상기 (R, B)와 동일한 방식으로, 트러스트된 제 3 파티가 장치에 대해 안전한 채널을 설정하도록 하는데 이용될 수 있다.
공개 키 기반 구조
도 6에서 예시된 구조를 다시 한번 고려한다. K는 비대칭 암호 키, 예컨대, 개인 키라고 한다. 아래의 연산은, 특정 보안 위치, 예컨대, 제조 중에 장치 제조자에서 실행될 수 있다.
개인 장치 암호 해독 키(K)는, 장치 제조자의 개인 서명 키에 의해 사인된 공개 암호 키 인증서와 함께 작성될 수 있다. 후자 키는 또한, 예컨대, 공개 키 기반 구조(PKI)의 인증 기관(CA)과 같이 트러스트된 파티에 의해 사인된 대응하는 공개 키 인증서를 가지며, 관련 파티가 접근하기 위해 입수 가능하다(see[8]). 키(K)는 전자 회로 내에 공급되어, 장치 내에 기억될 수 있는 대응하는 X를 작성한다. 후속하여, 개인 키(K)는 장치 제조자의 도메인에서 완전히 소거되어, 어떤 인가되지 않은 사용을 방지할 수 있다. 공개 암호 키 인증서는 공개적으로 이용 가능한 인증서 리포지토리(repository) 내에 배치될 수 있다. 공개 키로 접근하는 모든 사람은 나중에 이 장치에 속하는 데이터의 암호화를 실행할 수 있다. 개인 암호 해독 키만이 잠시 동안 전자 회로 내에 존재한다.
이런 상황은, 당업자는 알 수 있는 바와 같이, 상기 단락에서, "암호 해독"을 "서명"으로 대체하고, "암호화"를 "검증"으로 대체하는 디지털 서명과 완전히 유사하다.
유사한 과정이, 도 9-12와 관련하여 기술된 실현부에 적용한다. 거기서, 개인 키는 이미 이용 가능하거나, 전자 회로 내에 작성되고, 대응하는 공개 키는 회로 외부에 숨겨져 있다. 따라서, 장치 제조자 또는 사용자는 이 공개 키의 인증서를 보증/요구할 수 있어, 제 3 파티는 이 인증서를 이용하여 원하는 보안 연산을 가능하게 할 수 있다.
전술된 실시예는 예들로서만 주어지고, 본 발명은 거기에 제한되지 않는 것으로 이해되어야 한다. 여기에 개시되고 청구된 기본 하부 원리를 보유한 다른 수정, 변경 및 개선은 본 발명의 범주 내에서 가능하다.
참고 문헌

Claims (46)

  1. 장치에서 실시하기 위한 탬퍼 저항 전자 회로로서,
    외부 회로 인터페이스를 통해 접근할 수 없는 비밀 번호를 탬퍼 저항 기억하는 수단,
    적어도 부분적으로 상기 기억된 비밀 번호에 응답하여, 상기 장치의 사용 중에 상기 전자 회로 내에 내부적으로 규정되는 장치 특정 보안 데이터의 인스턴스를 작성하도록 암호 처리를 행하는 수단 및,
    상기 내부적으로 규정된 장치 특정 보안 데이터에 응답하여 보안 관련 연산을 실행하는 수단을 포함하는 것을 특징으로 하는 탬퍼 저항 전자 회로.
  2. 제 1 항에 있어서,
    상기 장치는 네트워크 장치이고, 상기 연산은, 네트워크 통신 시에, 데이터 비밀성, 데이터 무결성, 인증, 인가 및 부인 방지 중 하나 이상에 관계되는 것을 특징으로 하는 탬퍼 저항 전자 회로.
  3. 제 1 항에 있어서,
    상기 장치는 디지털 콘텐트를 작성하기 위해 구성되고, 상기 보안 관련 연산은 상기 장치 특정 보안 데이터에 기초로 하여 상기 디지털 콘텐트를 마크하기 위해 구성되는 것을 특징으로 하는 탬퍼 저항 전자 회로.
  4. 제 3 항에 있어서,
    상기 연산은 상기 디지털 콘텐트 내에 매입된 장치 특정 지문을 작성하기 위해 구성되는 것을 특징으로 하는 탬퍼 저항 전자 회로.
  5. 제 1 항에 있어서,
    암호 처리를 실행하는 상기 수단은, 미리 정해진 트리거 데이터 형식의 부가적인 입력 데이터가 상기 장치의 사용 중에 외부 회로 인터페이스를 통해 인가되는 경우에 상기 장치 특정 보안 데이터를 작성하기 위해 구성되는데, 상기 트리거 데이터는 상기 장치의 구성 중에 규정되는 것을 특징으로 하는 탬퍼 저항 전자 회로.
  6. 제 5 항에 있어서,
    상기 트리거 데이터는 상기 장치의 제조 중에 구성 단계에서 규정되는 것을 특징으로 하는 탬퍼 저항 전자 회로.
  7. 제 5 항에 있어서,
    상기 트리거 데이터는 상기 장치의 구성 중에 제공된 구성적인 장치 특정 보안 데이터에 기초하여 규정되며, 상기 전자 회로는,
    상기 기억된 비밀 번호 및 상기 구성적인 장치 특정 보안 데이터에 기초하여, 상기 장치의 구성 중에 상기 구성적인 장치 특정 보안 데이터의 암호 표현으로서 상기 트리거 데이터를 작성하는 수단,
    상기 구성 중에 외부 회로 인터페이스를 통해 상기 암호 표현을 출력하는 수단 및,
    상기 부가적인 입력이 상기 암호 표현에 대응할 경우에, 상기 장치의 사용 중에 상기 장치 특정 보안 데이터를 내부적으로 재작성하는 수단을 더 포함하는 것을 특징으로 하는 탬퍼 저항 전자 회로.
  8. 제 7 항에 있어서,
    상기 구성적 장치 특정 보안 데이터는 외부 회로 인터페이스를 통해 제공되는 것을 특징으로 하는 탬퍼 저항 전자 회로.
  9. 제 7 항에 있어서,
    상기 장치의 구성 중에, 적어도 부분적으로 상기 기억된 비밀 번호에 기초로 하여 상기 구성적 장치 특정 보안 데이터를 내부적으로 작성하는 수단을 더 포함하는 것을 특징으로 하는 탬퍼 저항 전자 회로.
  10. 제 9 항에 있어서,
    상기 구성적 장치 특정 보안 데이터를 내부적으로 작성하는 상기 수단은 적어도 부분적으로 상기 비밀 번호에 기초로 하여 개인 키를 작성하는 수단을 포함하고, 상기 트리거 데이터는 상기 장치의 구성 중에 상기 개인 키의 암호 표현으로서 작성되는 것을 특징으로 하는 탬퍼 저항 전자 회로.
  11. 제 1 항에 있어서,
    상기 장치의 구성 중에, 미리 정해진 장치 접근 코드가 상기 전자 회로 내에 입력될 경우에 외부 회로 인터페이스를 통해 입수 가능한 상기 장치 특정 보안 데이터를 작성하는 수단을 더 포함하는 것을 특징으로 하는 탬퍼 저항 전자 회로.
  12. 제 1 항에 있어서,
    미리 정해진 장치 접근 코드가 상기 전자 회로 내에 입력되지 않으면, 상기 기억된 비밀 번호 및 상기 장치 특정 보안 데이터 중 하나 이상으로의 내부 접근을 디스에이블하는 수단을 더 포함하는 것을 특징으로 하는 탬퍼 저항 전자 회로.
  13. 제 11 항 또는 제 12 항에 있어서,
    상기 장치의 제조자의 인증을 위한 수단,
    장치 제조 중에, 성공적인 인증에 응답하여 상기 장치 접근 코드를 상기 장치 제조자에 제공하는 수단을 더 포함하는 것을 특징으로 하는 탬퍼 저항 전자 회로.
  14. 제 13 항에 있어서,
    상기 장치 접근 코드는 상기 장치 제조자로부터의 챌린지 및 상기 기억된 비밀 번호에 기초로 한 챌린지 응답 쌍으로서 제공되는 것을 특징으로 하는 탬퍼 저항 전자 회로.
  15. 제 1 항에 있어서,
    상기 규정된 장치 특정 보안 데이터에 기초로 하여 보안 관련 연산을 실행하는 상기 수단은,
    상기 장치 특정 보안 데이터 및 추가적인 외부 입력 데이터에 기초로 하여 부가적인 암호 처리를 실행하여, 추가적인 보안 데이터를 작성하는 수단 및,
    상기 추가적인 보안 데이터에 응답하여 상기 보안 관련 연산을 실행하는 수단을 포함하는 것을 특징으로 하는 탬퍼 저항 전자 회로.
  16. 제 15 항에 있어서,
    상기 장치 특정 보안 데이터는 개인 키를 나타내고, 상기 추가적인 외부 입력 데이터는 대응하는 공개 키에 의해 상기 추가적인 장치 특정 보안 데이터의 암호화를 나타내는 것을 특징으로 하는 탬퍼 저항 전자 회로.
  17. 제 16 항에 있어서,
    상기 추가적인 보안 데이터는 콘텐트 제공자에 의해 작성된 대칭 콘텐트 암호 해독 키를 나타내고, 상기 장치 특정 보안 데이터는 장치 제조자의 개인 키를 나타내는 것을 특징으로 하는 탬퍼 저항 전자 회로.
  18. 제 1 항에 있어서,
    장치 특정 보안 데이터를 작성하기 위해 암호 처리를 실행하는 상기 수단은 외부 회로 인터페이스를 통해 인가된 시드에 응답하여 대칭 암호 키를 작성하기 위해 구성되는 것을 특징으로 하는 탬퍼 저항 전자 회로.
  19. 제 1 항에 있어서,
    장치 특정 보안 데이터를 작성하기 위해 암호 처리를 실행하는 상기 수단은 적어도 부분적으로 상기 기억된 비밀 번호에 기초로 하여 개인 키를 작성하기 위해 구성되고, 보안 관련 연산을 실행하는 상기 수단은 상기 내부적으로 규정된 개인 키에 기초로 하여 비대칭 암호 연산을 실행하는 수단을 포함하는 것을 특징으로 하는 탬퍼 저항 전자 회로.
  20. 제 19 항에 있어서,
    상기 장치의 구성 중에 상기 개인 키에 대응하는 공개 키를 작성하는 수단 및, 외부 회로 인터페이스를 통해 상기 공개 키를 출력하는 수단을 더 포함하는 것을 특징으로 하는 탬퍼 저항 전자 회로.
  21. 제 19 항에 있어서,
    상기 대응하는 공개 키는 상기 장치의 구성 중에 상기 비밀 번호 및 부가적인 입력 데이터에 응답하여 작성되고, 상기 개인 키를 작성하기 위해 암호 처리를 실행하는 수단은, 동일한 부가적인 입력 데이터의 적어도 부분이 상기 장치의 사용 중에 외부 회로 인터페이스를 통해 인가되는 경우에 상기 개인 키를 내부적으로 재작성하는 것을 특징으로 하는 탬퍼 저항 전자 회로.
  22. 제 19 항에 있어서,
    상기 작성된 개인 키 및 의도된 통신 파트너의 공개 키에 기초로 하여 새로운 공유된 키를 작성하기 위해 공유된 키 작성을 실행하는 수단 및,
    상기 새로운 공유된 키에 기초로 하여 암호 처리를 실행하는 수단을 더 포함하는 것을 특징으로 하는 탬퍼 저항 전자 회로.
  23. 제 1 항에 있어서,
    다수의 개별 트리거 데이터 신호는 상기 장치의 구성 중에 규정되고, 각 트리거 데이터 신호는 각각의 장치 특정 보안 데이터와 관련되며, 암호 처리를 실행하는 상기 수단은, 관련된 트리거 데이터가 상기 장치의 사용 중에 외부 회로 인터페이스를 통해 인가되는 경우에 특정한 장치 특정 보안 데이터를 작성하기 위해 구성되는 것을 특징으로 하는 탬퍼 저항 전자 회로.
  24. 제 23 항에 있어서,
    상기 전자 회로는 다수의 사용자 아이덴티티 모듈로서 동작 가능하고, 상기 보안 관련 연산은 인증 및 키 일치를 포함하는 것을 특징으로 하는 탬퍼 저항 전자 회로.
  25. 제 23 항에 있어서,
    상기 전자 회로는 다채널 디코더로서 동작 가능하고, 상기 보안 관련 연산은 채널 디코딩을 포함하는 것을 특징으로 하는 탬퍼 저항 전자 회로.
  26. 제 1 항에 있어서,
    암호 처리를 위한 상기 수단은, 아래의 식에 따라 대응하는 바인드 아이덴티티 R1, ..., Rk에 응답하여 k 바인드 키 B1, ..., Bk의 체인으로서 상기 장치 특정 보안 데이터를 작성하기 위해 동작 가능하며,
    Bi = f(Bi -1 , Ri), i=1, ..., k,
    여기서, B0는 기억된 비밀 번호를 나타내고, f는 암호 일방향 함수인 것을 특징으로 하는 탬퍼 저항 전자 회로.
  27. 제 1 항에 있어서,
    상기 전자 회로는 집적 회로(IC)인 것을 특징으로 하는 탬퍼 저항 전자 회로.
  28. 탬퍼 저항 전자 회로에 의해 실시되는 장치로서,
    외부 회로 인터페이스를 통해 접근할 수 없는 비밀 번호를 탬퍼 저항 기억하는 수단,
    적어도 부분적으로 상기 기억된 비밀 번호에 응답하여, 상기 장치의 사용 중에 상기 전자 회로 내에 내부적으로 규정되는 장치 특정 보안 데이터의 인스턴스를 작성하도록 암호 처리를 행하는 수단 및,
    상기 내부적으로 규정된 장치 특정 보안 데이터에 응답하여 보안 관련 연산을 실행하는 수단을 포함하는 것을 특징으로 하는 탬퍼 저항 전자 회로에 의해 실시되는 장치.
  29. 제 28 항에 있어서,
    상기 장치는 네트워크 장치이고, 상기 연산은, 네트워크 통신 시에, 데이터 비밀성, 데이터 무결성, 인증, 인가 및 부인 방지 중 하나 이상에 관계되는 것을 특징으로 하는 탬퍼 저항 전자 회로에 의해 실시되는 장치.
  30. 제 28 항에 있어서,
    상기 장치는 디지털 콘텐트를 작성하기 위해 구성되고, 상기 보안 관련 연산은 상기 장치 특정 보안 데이터에 기초로 하여 상기 디지털 콘텐트를 마크하기 위해 구성되는 것을 특징으로 하는 탬퍼 저항 전자 회로에 의해 실시되는 장치.
  31. 제 28 항에 있어서,
    암호 처리를 실행하는 상기 수단은, 미리 정해진 트리거 데이터 형식의 부가적인 입력 데이터가 상기 장치의 사용 중에 상기 전자 회로의 외부 회로 인터페이스를 통해 인가되는 경우에 상기 장치 특정 보안 데이터를 작성하기 위해 구성되는데, 상기 트리거 데이터는 상기 장치의 구성 중에 규정되는 것을 특징으로 하는 탬퍼 저항 전자 회로에 의해 실시되는 장치.
  32. 장치의 보안 데이터의 관리 방법으로서,
    탬퍼 저항 전자 회로의 제조 중에 제어된 환경에서, 비밀 번호가 상기 전자 회로의 외부에서 입수할 수 없도록 상기 전자 회로 내에 비밀 난수를 기억하는 단계,
    회로 제조 중에, 장치의 사용 중에 상기 전자 회로 내에 내부적으로 규정된 장치 특정 보안 데이터를 작성하도록 적어도 부분적으로 상기 기억된 비밀 번호에 기초로 하여 암호 처리를 실행하기 위한 상기 전자 회로 내로 기능성을 실시하는 단계,
    회로 제조 중에, 상기 전자 회로 내로 보안 관련 연산을 실시하는 단계로서, 상기 보안 관련 연산은 장치의 사용 중에 입력으로서 적어도 상기 내부적으로 규정된 장치 특정 보안 데이터를 수신하기 위해 구성되는 단계 및,
    장치 제조 중에, 상기 전자 회로를 상기 장치 내에 설치하는 단계를 포함하는 것을 특징으로 하는 보안 데이터의 관리 방법.
  33. 제 32 항에 있어서,
    상기 장치는 네트워크 장치이고, 상기 연산은, 네트워크 통신 시에, 데이터 비밀성, 데이터 무결성, 인증, 인가 및 부인 방지 중 하나 이상에 관계되는 것을 특징으로 하는 보안 데이터의 관리 방법.
  34. 제 32 항에 있어서,
    상기 장치는 디지털 콘텐트를 작성하기 위해 구성되고, 상기 보안 관련 연산은 상기 장치 특정 보안 데이터에 기초로 하여 상기 디지털 콘텐트를 마크하기 위해 구성되는 것을 특징으로 하는 보안 데이터의 관리 방법.
  35. 제 32 항에 있어서,
    상기 장치의 구성 중에, 상기 전자 회로 내에 상기 장치 특정 보안 데이터를 작성할 수 있도록 하기 위해 상기 장치의 사용 중에 나중에 인가될 트리거 데이터를 제공하는 단계를 더 포함하는 것을 특징으로 하는 보안 데이터의 관리 방법.
  36. 제 35 항에 있어서,
    상기 트리거 데이터를 장치 구성 파티로부터 상기 장치로 안전하게 전송하는 단계를 더 포함하는 것을 특징으로 하는 보안 데이터의 관리 방법.
  37. 제 35 항에 있어서,
    장치 구성 중에 제어된 환경에서, 상기 전자 회로의 암호 기능성으로부터 장치 특정 보안 데이터를 획득하기 위해 입력 데이터로서의 상기 트리거 데이터를 상기 전자 회로 내에 입력하는 단계,
    장치 구성 중에 제어된 환경에서, 상기 장치 특정 보안 데이터 및 상기 입력 데이터를 기록하는 단계 및,
    장치 구성 중에 제어된 환경에서, 외부 회로 인터페이스를 통해 상기 장치 특정 보안 데이터에 접근하기 위해 미리 정해진 장치 접근 코드를 상기 전자 회로 내에 입력하는 단계를 더 포함하는 것을 특징으로 하는 보안 데이터의 관리 방법.
  38. 제 37 항에 있어서,
    상기 장치 특정 보안 데이터는 장치에 관한 보안 관련 연산 동안에 구성 파티 또는 트러스트된 제 3 파티에 의해 이용 가능하며, 상기 입력 데이터는 상기 전자 회로에 의해 상기 장치 특정 보안 데이터를 내부적으로 재작성하는데 필요한 것을 특징으로 하는 보안 데이터의 관리 방법.
  39. 제 35 항에 있어서,
    장치 구성 중에 제어된 환경에서, 장치 특정 보안 데이터를 작성하는 단계,
    장치 구성 중에 제어된 환경에서, 상기 전자 회로의 암호 기능성으로부터 결과 표현으로서 상기 트리거 데이터를 획득하기 위해 상기 작성된 장치 특정 보안 데이터를 상기 전자 회로 내에 입력하는 단계 및,
    장치 구성 중에 제어된 환경에서, 상기 결과 표현 및 이전에 작성된 장치 특정 보안 데이터를 기록하는 단계를 더 포함하는 것을 특징으로 하는 보안 데이터의 관리 방법.
  40. 제 39 항에 있어서,
    상기 장치 특정 보안 데이터는 장치에 관한 보안 관련 연산 동안에 구성 파티 또는 트러스트된 제 3 파티에 의해 이용 가능하며, 상기 결과 표현은 상기 전자 회로에 의해 상기 장치 특정 보안 데이터를 내부적으로 재작성하는데 필요한 것을 특징으로 하는 보안 데이터의 관리 방법.
  41. 네트워크 장치와 외부 통신 파트너 간의 네트워크 통신에 관하여 데이터 보안을 유지하는 방법으로서, 상기 네트워크 장치는 상기 전자 회로의 외부에서 접근할 수 없는 기억된 비밀 번호를 가진 탬퍼 저항 전자 회로를 포함하는 데이터 보안 유지 방법에 있어서,
    상기 전자 회로 내에서, 상기 전자 회로 내에 내부적으로 규정된 장치 특정 보안 데이터의 인스턴스를 작성하기 위해 적어도 부분적으로 상기 기억된 비밀 번호에 기초로 하여 암호 처리를 실행하는 단계 및,
    상기 전자 회로 내에서, 상기 내부적으로 규정된 장치 특정 보안 데이터에 기초로 하여 상기 네트워크 장치와 상기 통신 파트너 간의 네트워크 통신에서 데이터 보안에 관련된 연산을 실행하는 단계를 포함하는 것을 특징으로 하는 데이터 보안 유지 방법.
  42. 제 41 항에 있어서,
    상기 연산은 데이터 비밀성, 데이터 무결성, 인증, 인가 및 부인 방지 중 하나 이상에 관계되는 것을 특징으로 하는 데이터 보안 유지 방법.
  43. 제 41 항에 있어서,
    상기 장치 특정 보안 데이터를 내부적으로 작성할 수 있도록 하기 위해 상기 네트워크 장치의 사용 중에 상기 전자 회로의 외부 회로 인터페이스를 통해 미리 정해진 트리거 데이터를 인가하는 단계를 더 포함하는데, 상기 미리 정해진 트리거 데이터는 상기 네트워크 장치의 구성 중에 규정되는 것을 특징으로 하는 데이터 보안 유지 방법.
  44. 제 43 항에 있어서,
    상기 트리거 데이터는 상기 네트워크 장치의 제조 중에 구성 단계에서 규정되는 것을 특징으로 하는 데이터 보안 유지 방법.
  45. 콘텐트 작성 장치에 의해 작성된 디지털 콘텐트를 마크하는 방법으로서, 상기 콘텐트 작성 장치는 상기 전자 회로의 외부에서 접근할 수 없는 기억된 비밀 번호를 가진 탬퍼 저항 전자 회로를 포함하는 디지털 콘텐트 마크 방법에 있어서,
    상기 전자 회로 내에서, 상기 전자 회로 내에 내부적으로 규정된 장치 특정 보안 데이터의 인스턴스를 작성하기 위해 적어도 부분적으로 상기 기억된 비밀 번호에 기초로 하여 암호 처리를 실행하는 단계 및,
    상기 전자 회로 내에서, 상기 내부적으로 규정된 장치 특정 보안 데이터에 기초로 하여 상기 디지털 콘텐트의 콘텐트 마킹(marking)을 실행하는 단계를 포함하는 것을 특징으로 하는 디지털 콘텐트 마크 방법.
  46. 제 45 항에 있어서,
    콘텐트 마킹을 실행하는 상기 단계는 상기 디지털 콘텐트 내에 매입된 장치 특정 지문을 작성하는 단계를 포함하는 것을 특징으로 하는 디지털 콘텐트 마크 방법.
KR1020057007260A 2002-10-31 2003-10-27 장치 특정 보안 데이터의 안전한 실시 및 이용 KR20050084877A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US42249802P 2002-10-31 2002-10-31
US60/422,498 2002-10-31

Publications (1)

Publication Number Publication Date
KR20050084877A true KR20050084877A (ko) 2005-08-29

Family

ID=32230364

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020057007260A KR20050084877A (ko) 2002-10-31 2003-10-27 장치 특정 보안 데이터의 안전한 실시 및 이용

Country Status (10)

Country Link
US (1) US7861097B2 (ko)
EP (1) EP1556992B1 (ko)
JP (1) JP4723251B2 (ko)
KR (1) KR20050084877A (ko)
CN (1) CN1708942B (ko)
AU (1) AU2003279642A1 (ko)
BR (1) BRPI0315450B1 (ko)
DK (1) DK1556992T3 (ko)
ES (1) ES2611408T3 (ko)
WO (1) WO2004040397A2 (ko)

Families Citing this family (71)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7203844B1 (en) * 2002-06-20 2007-04-10 Oxford William V Method and system for a recursive security protocol for digital copyright control
US8438392B2 (en) 2002-06-20 2013-05-07 Krimmeni Technologies, Inc. Method and system for control of code execution on a general purpose computing device and control of code execution in a recursive security protocol
CN1679273A (zh) * 2002-08-08 2005-10-05 M-系统快闪盘开拓者公司 用于数字权利管理的集成电路
EP1523228A3 (en) * 2003-10-09 2008-03-05 Matsushita Electric Industrial Co., Ltd. Mobile terminal, circuit board, circuit board design aiding apparatus and method, design aiding program, and storage medium having stored therein design aiding program
JP2005294952A (ja) * 2004-03-31 2005-10-20 Matsushita Electric Ind Co Ltd 機密情報実装システム、lsi、記憶装置及び機密情報実装方法
JP3804670B2 (ja) * 2004-04-21 2006-08-02 セイコーエプソン株式会社 半導体装置、電子機器及び半導体装置のアクセス制御方法
KR100636150B1 (ko) * 2004-07-01 2006-10-19 삼성전자주식회사 암호화 모듈을 포함하는 멀티미디어 장치
CN100459787C (zh) * 2004-08-29 2009-02-04 华为技术有限公司 一种用户卡的安全保障方法
US7251805B2 (en) * 2004-10-12 2007-07-31 Nanotech Corporation ASICs having more features than generally usable at one time and methods of use
US7496347B2 (en) * 2004-11-12 2009-02-24 Velocita Wireless Llc Method and apparatus for providing secure wireless communication
US7426708B2 (en) 2005-01-31 2008-09-16 Nanotech Corporation ASICs having programmable bypass of design faults
US8832458B2 (en) * 2005-03-22 2014-09-09 Seagate Technology Llc Data transcription in a data storage device
JP4989806B2 (ja) * 2005-06-14 2012-08-01 サーティコム コーポレーション 遠隔装置登録のためのシステムと方法
HK1155587A1 (en) * 2005-06-14 2012-05-18 Certicom Corp System and method for remote device registration
CA2510366C (en) 2005-06-14 2013-02-26 Certicom Corp. System and method for remote device registration
JP4372061B2 (ja) * 2005-07-01 2009-11-25 パナソニック株式会社 機密情報実装システム及びlsi
US20070061535A1 (en) * 2005-09-12 2007-03-15 Microsoft Corporation Processing unit enclosed operating system
US8788802B2 (en) * 2005-09-29 2014-07-22 Qualcomm Incorporated Constrained cryptographic keys
CA2642363C (en) * 2006-02-28 2016-02-02 Certicom Corp. System and method for product registration
US7958356B1 (en) * 2006-09-29 2011-06-07 Netapp, Inc. System and method for establishing a shared secret among nodes of a security appliance
US7613915B2 (en) 2006-11-09 2009-11-03 BroadOn Communications Corp Method for programming on-chip non-volatile memory in a secure processor, and a device so programmed
US8977852B2 (en) * 2007-06-18 2015-03-10 Telefonaktiebolaget L M Ericsson (Publ) Security for software defined radio terminals
US9111122B2 (en) * 2007-07-02 2015-08-18 Freescale Semiconductor, Inc. Asymmetric cryptographic device with local private key generation and method therefor
US9129098B2 (en) * 2007-09-28 2015-09-08 Abbyy Development Llc Methods of protecting software programs from unauthorized use
US9336369B2 (en) 2007-09-28 2016-05-10 Abbyy Development Llc Methods of licensing software programs and protecting them from unauthorized use
NL1036049A1 (nl) * 2007-10-16 2009-04-20 Asml Holding Nv Securing authenticity of integrated circuit chips.
US9262594B2 (en) * 2008-01-18 2016-02-16 Microsoft Technology Licensing, Llc Tamper evidence per device protected identity
US20090276474A1 (en) * 2008-05-01 2009-11-05 Rotem Sela Method for copying protected data from one secured storage device to another via a third party
US8515996B2 (en) * 2008-05-19 2013-08-20 Emulex Design & Manufacturing Corporation Secure configuration of authentication servers
US8006101B2 (en) * 2008-06-20 2011-08-23 General Instrument Corporation Radio transceiver or other encryption device having secure tamper-detection module
US8078873B2 (en) 2008-06-30 2011-12-13 Intel Corporation Two-way authentication between two communication endpoints using a one-way out-of-band (OOB) channel
US8369521B2 (en) * 2008-10-17 2013-02-05 Oracle International Corporation Smart card based encryption key and password generation and management
US9081963B1 (en) * 2009-02-27 2015-07-14 Marvell Israel (M.I.S.L) Ltd. Protecting against use of unauthorized electronic hardware devices
EP3629139A1 (en) * 2009-04-30 2020-04-01 Wacom Co., Ltd. Operating a touch screen control system according to a plurality of rule sets
DE102009059893A1 (de) * 2009-12-21 2011-06-22 Siemens Aktiengesellschaft, 80333 Vorrichtung und Verfahren zum Absichern eines Aushandelns von mindestens einem kryptographischen Schlüssel zwischen Geräten
US10284679B2 (en) * 2010-01-07 2019-05-07 Microsoft Technology Licensing, Llc Maintaining privacy during personalized content delivery
DE102011002706B4 (de) * 2011-01-14 2013-12-19 Siemens Aktiengesellschaft Vorrichtung und Verfahren zum Schutz eines Sicherheitsmoduls gegen Manipulationsversuche in einem Feldgerät
WO2012122994A1 (en) * 2011-03-11 2012-09-20 Kreft Heinz Off-line transfer of electronic tokens between peer-devices
EP2506176A1 (en) * 2011-03-30 2012-10-03 Irdeto Corporate B.V. Establishing unique key during chip manufacturing
JP2015511050A (ja) 2012-03-20 2015-04-13 クリメニ テクノロジーズ, インコーポレイテッド プロセス作業セット隔離のための方法およびシステム
US8843739B2 (en) * 2012-04-04 2014-09-23 Lockheed Martin Corporation Anti-tamper device, system, method, and computer-readable medium
CA2870166C (en) 2012-04-13 2020-07-21 Ologn Technologies Ag Secure zone for digital communications
CA3118235A1 (en) 2012-04-13 2013-10-17 Ologn Technologies Ag Apparatuses, methods and systems for computer-based secure transactions
TW201403375A (zh) 2012-04-20 2014-01-16 歐樂岡科技公司 用於安全購買之安全區
CN102752174B (zh) * 2012-07-23 2015-01-28 东南大学 一种无线局域网安全性能测试系统及方法
JP6024071B2 (ja) * 2012-07-24 2016-11-09 学校法人福岡大学 情報管理システム
US9129536B2 (en) 2012-08-31 2015-09-08 Freescale Semiconductor, Inc. Circuit for secure provisioning in an untrusted environment
US9100174B2 (en) 2012-08-31 2015-08-04 Freescale Semiconductor, Inc. Secure provisioning in an untrusted environment
US9100189B2 (en) 2012-08-31 2015-08-04 Freescale Semiconductor, Inc. Secure provisioning in an untrusted environment
US9094205B2 (en) * 2012-08-31 2015-07-28 Freescale Semiconductor, Inc. Secure provisioning in an untrusted environment
JP2014053675A (ja) * 2012-09-05 2014-03-20 Sony Corp セキュリティチップ、プログラム、情報処理装置及び情報処理システム
CA3234925A1 (en) 2013-03-15 2014-09-18 Ologn Technologies Ag Systems, methods and apparatuses for securely storing and providing payment information
US20140359731A1 (en) * 2013-05-29 2014-12-04 Qualcomm Incorporated Establishing communications sessions over multiple network protocols using a stored key
CA2918596C (en) 2013-08-02 2023-03-07 Ologn Technologies Ag A secure server on a system with virtual machines
US9135472B2 (en) 2013-10-31 2015-09-15 Square, Inc. Systems and methods for secure processing with embedded cryptographic unit
US9832027B2 (en) * 2014-10-01 2017-11-28 Maxim Integrated Products, Inc. Tamper detection systems and methods for industrial and metering devices not requiring a battery
US9430658B2 (en) 2014-12-16 2016-08-30 Freescale Semiconductor, Inc. Systems and methods for secure provisioning of production electronic circuits
US9900769B2 (en) 2015-05-29 2018-02-20 Nagravision S.A. Methods and systems for establishing an encrypted-audio session
US10122767B2 (en) 2015-05-29 2018-11-06 Nagravision S.A. Systems and methods for conducting secure VOIP multi-party calls
US9891882B2 (en) 2015-06-01 2018-02-13 Nagravision S.A. Methods and systems for conveying encrypted data to a communication device
US10356059B2 (en) 2015-06-04 2019-07-16 Nagravision S.A. Methods and systems for communication-session arrangement on behalf of cryptographic endpoints
EP3104320B1 (fr) * 2015-06-12 2018-08-15 EM Microelectronic-Marin SA Procédé de programmation de données bancaires dans un circuit intégré d'une montre
US9864879B2 (en) 2015-10-06 2018-01-09 Micron Technology, Inc. Secure subsystem
US10474823B2 (en) 2016-02-16 2019-11-12 Atmel Corporation Controlled secure code authentication
US10482255B2 (en) 2016-02-16 2019-11-19 Atmel Corporation Controlled secure code authentication
US10616197B2 (en) 2016-04-18 2020-04-07 Atmel Corporation Message authentication with secure code verification
US10554718B2 (en) * 2016-10-21 2020-02-04 Tambora Systems Singapore Pte. Ltd. Systems and methods for providing improved quality of experience for media content consumption
US10410202B1 (en) 2016-12-31 2019-09-10 Square, Inc. Expedited booting with brownout monitoring
US10595388B2 (en) * 2017-09-28 2020-03-17 General Electric Company Cloud-based systems and methods for X-ray tube and generator configuration management
US10410189B2 (en) 2017-09-30 2019-09-10 Square, Inc. Scanning system with direct access to memory
FR3113753B1 (fr) * 2020-08-25 2023-05-12 Idemia France Procédé de vérification d’une carte à microcircuit, procédé de personnalisation d’une carte à microcircuit, carte à microcircuit et dispositif électronique associé

Family Cites Families (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3483055A (en) 1966-03-28 1969-12-09 Robert Wayne Eshbaugh Method for forming a fiber glass racket frame
US4748668A (en) 1986-07-09 1988-05-31 Yeda Research And Development Company Limited Method, apparatus and article for identification and signature
FR2673016B1 (fr) * 1991-02-19 1993-04-30 Gemplus Card Int Procede de protection d'un circuit integre contre les utilisations frauduleuses.
JPH0697931A (ja) * 1992-09-14 1994-04-08 Fujitsu Ltd パーソナル通信端末登録制御方式
US5422953A (en) * 1993-05-05 1995-06-06 Fischer; Addison M. Personal date/time notary device
AU1265195A (en) * 1993-12-06 1995-06-27 Telequip Corporation Secure computer memory card
US5668878A (en) * 1994-02-28 1997-09-16 Brands; Stefanus Alfonsus Secure cryptographic methods for electronic transfer of information
US5537474A (en) 1994-07-29 1996-07-16 Motorola, Inc. Method and apparatus for authentication in a communication system
JPH08139718A (ja) * 1994-11-04 1996-05-31 Hitachi Ltd 暗号装置およびそれを利用した端末間通信方法
EP0723251A3 (en) 1995-01-20 1998-12-30 Tandem Computers Incorporated Method and apparatus for user and security device authentication
JPH09261217A (ja) * 1996-03-27 1997-10-03 Nippon Telegr & Teleph Corp <Ntt> 通信装置及びその方法
US5768389A (en) * 1995-06-21 1998-06-16 Nippon Telegraph And Telephone Corporation Method and system for generation and management of secret key of public key cryptosystem
EP0753816A1 (en) 1995-07-07 1997-01-15 Thomson Consumer Electronics, Inc. A method and apparatus for storing sensitive information securely in a relatively insecure storage medium
KR100473536B1 (ko) * 1996-05-22 2005-05-16 마츠시타 덴끼 산교 가부시키가이샤 기기간통신의안전성을확보하는암호화장치및통신시스템
FI106605B (fi) 1997-04-16 2001-02-28 Nokia Networks Oy Autentikointimenetelmä
EP1050133B2 (en) * 1998-01-02 2009-05-27 Cryptography Research Inc. Leak-resistant cryptographic method and apparatus
US6470454B1 (en) * 1998-03-31 2002-10-22 International Business Machines Corporation Method and apparatus for establishing computer configuration protection passwords for protecting computer configurations
US6141756A (en) 1998-04-27 2000-10-31 Motorola, Inc. Apparatus and method of reading a program into a processor
JP3210630B2 (ja) * 1998-10-23 2001-09-17 インターナショナル・ビジネス・マシーンズ・コーポレーション 付加情報検出方法およびシステム
US7047416B2 (en) * 1998-11-09 2006-05-16 First Data Corporation Account-based digital signature (ABDS) system
FI107860B (fi) 1999-02-09 2001-10-15 Sonera Smarttrust Oy Menetelmä ja järjestelmä tietoliikennejärjestelmässä ja tilaajaidentiteettimoduuli
US6687375B1 (en) * 1999-06-02 2004-02-03 International Business Machines Corporation Generating user-dependent keys and random numbers
AU3712300A (en) * 1999-06-11 2001-01-02 Liberate Technologies Hierarchical open security information delegation and acquisition
IL137993A0 (en) * 1999-09-02 2001-10-31 Compaq Computer Corp Autokey initialization of cryptographic devices
US6289455B1 (en) * 1999-09-02 2001-09-11 Crypotography Research, Inc. Method and apparatus for preventing piracy of digital content
US7278016B1 (en) * 1999-10-26 2007-10-02 International Business Machines Corporation Encryption/decryption of stored data using non-accessible, unique encryption key
IL135246A0 (en) * 2000-03-23 2003-06-24 Cipherit Ltd Methods and systems for efficient chained certification
US20010054147A1 (en) * 2000-04-04 2001-12-20 Richards Ernest S. Electronic identifier
JP2001331446A (ja) * 2000-05-24 2001-11-30 Nippon Telegr & Teleph Corp <Ntt> セキュアエージェント実現方法とセキュアエージェントシステムとセキュアエージェント管理装置
US6950521B1 (en) 2000-06-13 2005-09-27 Lucent Technologies Inc. Method for repeated authentication of a user subscription identity module
CN1219382C (zh) * 2000-09-05 2005-09-14 中兴通讯股份有限公司 一种新的加密装置
US7149308B1 (en) * 2000-11-13 2006-12-12 Stealthkey, Inc. Cryptographic communications using in situ generated cryptographic keys for conditional access
JP3637869B2 (ja) * 2000-11-22 2005-04-13 日本電気株式会社 連鎖鍵放送受信システム及び連鎖鍵放送受信方法
JP4019303B2 (ja) * 2001-02-02 2007-12-12 日本電気株式会社 電子透かしに含めた暗号鍵を用いた暗号化装置及び復号化装置並びにそれらの方法
US20060072747A1 (en) * 2001-03-30 2006-04-06 Wood Matthew D Enhancing entropy in pseudo-random number generators using remote sources
SE0101295D0 (sv) 2001-04-10 2001-04-10 Ericsson Telefon Ab L M A method and network for delivering streaming data
US7444476B2 (en) * 2001-07-24 2008-10-28 Texas Instruments Incorporated System and method for code and data security in a semiconductor device
JP2003051819A (ja) * 2001-08-08 2003-02-21 Toshiba Corp マイクロプロセッサ
US20030056100A1 (en) * 2001-09-14 2003-03-20 Rodney Beatson Method and system for authenticating a digitized signature for execution of an electronic document
US20030053629A1 (en) * 2001-09-14 2003-03-20 Koninklijke Philips Electronics N.V. USB authentication interface
GB2376392B (en) 2001-12-07 2003-05-07 Ericsson Telefon Ab L M Legal interception of IP traffic
DE10200041B4 (de) 2002-01-03 2021-03-25 Vodafone Holding Gmbh Authentifizierungssystem und -verfahren zwischen zwei Kommunikationseinheiten
US20030159067A1 (en) 2002-02-21 2003-08-21 Nokia Corporation Method and apparatus for granting access by a portable phone to multimedia services

Also Published As

Publication number Publication date
WO2004040397A2 (en) 2004-05-13
CN1708942A (zh) 2005-12-14
JP2006505041A (ja) 2006-02-09
JP4723251B2 (ja) 2011-07-13
WO2004040397A3 (en) 2004-07-29
AU2003279642A8 (en) 2004-05-25
US7861097B2 (en) 2010-12-28
BRPI0315450B1 (pt) 2019-12-17
EP1556992A2 (en) 2005-07-27
AU2003279642A1 (en) 2004-05-25
CN1708942B (zh) 2010-11-03
DK1556992T3 (en) 2017-01-09
BR0315450A (pt) 2005-08-16
US20060101288A1 (en) 2006-05-11
EP1556992B1 (en) 2016-10-19
ES2611408T3 (es) 2017-05-08

Similar Documents

Publication Publication Date Title
US7861097B2 (en) Secure implementation and utilization of device-specific security data
US10482291B2 (en) Secure field-programmable gate array (FPGA) architecture
US8724819B2 (en) Credential provisioning
JP4814339B2 (ja) 制約された暗号キー
US8819409B2 (en) Distribution system and method for distributing digital information
US20130251152A1 (en) Key transport protocol
US7877604B2 (en) Proof of execution using random function
US20030172278A1 (en) Data transmission links
WO2002033521A2 (en) Method and apparatus for controlling access to functions with different security levels
KR20080020621A (ko) 무결성 보호된 보안 저장의 실행
JP2020530726A (ja) サプライチェーン資産管理を保護するアプリケーションを有する遠隔サーバへのnfcタグ認証
CN114036539A (zh) 基于区块链的安全可审计物联网数据共享系统及方法
CN111614621A (zh) 物联网通信方法和系统
US7415110B1 (en) Method and apparatus for the generation of cryptographic keys
EP3185504A1 (en) Security management system for securing a communication between a remote server and an electronic device
El-Hadidi et al. Implementation of a hybrid encryption scheme for Ethernet
CN114584321A (zh) 一种基于puf器件的数据信息加密部署方法
Klimm et al. A Secure Keyflashing Framework for Access Systems in Highly Mobile Devices.

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
J201 Request for trial against refusal decision
B601 Maintenance of original decision after re-examination before a trial
J301 Trial decision

Free format text: TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20110811

Effective date: 20130131