KR101430023B1 - 기능의 제어된 활성화 - Google Patents

기능의 제어된 활성화 Download PDF

Info

Publication number
KR101430023B1
KR101430023B1 KR1020097023562A KR20097023562A KR101430023B1 KR 101430023 B1 KR101430023 B1 KR 101430023B1 KR 1020097023562 A KR1020097023562 A KR 1020097023562A KR 20097023562 A KR20097023562 A KR 20097023562A KR 101430023 B1 KR101430023 B1 KR 101430023B1
Authority
KR
South Korea
Prior art keywords
component
product
functions
data
helper data
Prior art date
Application number
KR1020097023562A
Other languages
English (en)
Other versions
KR20100016459A (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 KR20100016459A publication Critical patent/KR20100016459A/ko
Application granted granted Critical
Publication of KR101430023B1 publication Critical patent/KR101430023B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • 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/321Cryptographic 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 a third party or a trusted authority
    • 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
    • H04L9/3278Cryptographic 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 using physically unclonable functions [PUF]
    • 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/80Wireless

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Medical Informatics (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Technology Law (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)
  • Selective Calling Equipment (AREA)
  • Preparation Of Compounds By Using Micro-Organisms (AREA)

Abstract

활성화가 제품 또는 구성요소에서 이용가능해지는 정확한 활성화 데이터 항목을 필요로 하는, 원격 위치에서 제품 또는 구성요소의 하나 이상의 기능의 제어된 활성화 방법 및 시스템(110)이 제공된다. 상기 방법은, 원격 위치로부터 구성요소와 결부된 복제불가한 요소의 하나 이상의 노이즈 출력들을 수신하고, 원격 위치에 헬퍼 데이터를 제공하되 헬퍼 데이터는 하나 이상의 노이즈 출력들을 정확한 활성화 데이터 항목에 상응하는 단일 값으로 변환하는 것을 포함한다.

Description

기능의 제어된 활성화{CONTROLLED ACTIVATION OF FUNCTION}
본 발명은 칩, FPGA 또는 소프트웨어 모듈과 같은 구성요소(component) 또는 제품에 있어서 하나 이상의 기능의 제어된 활성화에 관한 것이다.
텔레비전, 휴대 전화, DVD 플레이어, 컴퓨터, 랩톱 및 다른 전자기기(electronics)와 같은 제품들과 그러한 제품에 사용되는 컴퓨터 프로그램은 다양한 피쳐들(features) 또는 기능들을 실행한다. 이러한 기능들은 대개 지적 재산(IP; intellectual property) 블록들이라고 불려지며, IP 공급자들, 하나 이상의 다른 회사들 또는 다른 실체들(entities)에 의해서 제공된다. 예를 들어 칩 설계, FPGA(Field Programmable Gate Array) 용도의 비트스트림 또는 소프트웨어 구성요소의 일부로서, IP 블록들이 제공될 수 있다.
이들 IP 블록들은 종종 제품 당 로열티 기반으로(on a per-product royalty basis) 이용가능해지기 때문에, 이러한 IP 블록들의 활성화를 제어하는 것이 바람직하다. 다시 말해서 이러한 사실이 IP 공급자에게 보고되지 않았다면 그리고 선택적으로 IP 공급자에 의해서 인증되지 않았다면, 제품에서 IP 블록이 동작 중이어 서는 아니된다.
이 기술 분야에서 알려진 해결책은 원격 서버에 구성요소 또는 IP 블록과 결부된 특이한 식별기(unique identifier)를 보고하고 그 결과 서버가 특이한 식별기와 결부된 인증 코드를 반환하는 것을 포함한다.
바람직하게는 단지 정확한 인증 코드에 의해서만이 IP 블록의 기능성이 활성화될 수 있도록 인증 코드가 설계된다. 여기서 활성화는, IP 블록이 이용가능한 미리 정의된 코드와 인증 코드를 비교하여서 종종 실행된다. 상기 코드들이 정합되지 아니하면, 기능은 인에이블되지 아니한다. 인증 코드는 또한 IP 블록 모두를 또는 일부를 해독하거나 언락킹하는 키로서 사용될 수 있는데, 예를 들어 FPGA가 해당 기능을 제공하도록 하기 위해 FPGA 상으로 로딩되는 비트스트림을 해독하는 해독 키로서 사용될 수 있다.
예를 들어 각각의 자일링스 스파르탄(Xilinx Spartan)TM-3A 플랫폼에는 "장치 DNA"라고 불리는 특이한 시리얼 넘버가 제공된다. 구성 데이터(configuration data)는 하나의 특정한 견본(specimen)의 장치 DNA에 상응하는 인증 값을 포함한다. 플랫폼의 장치 DNA가 인증 코드와 정합되는지를 증명하고 단지 정합되기만 한다면 다시 말해서 올바른 구성 데이터가 존재하기만 한다면 상기 모듈의 기능성의 전부 또는 일부를 인에이블하는 모듈이 각각의 견본에 제공된다.
인증 코드는 또한 IP 블록에 제공되는 입력을 처리하는데 필요한 키로서, 예를 들어 IP 블록에 의해서 해독되어질 시청각 콘텐트에 대한 해독 키로서 사용될 수 있거나 또는 원격 서버에서 제품을 인증하기 위해-이에 의해서 데이터가 교환되어진다) 필요한 키로서 사용될 수 있다.
인용에 의하여 본 명세서에 병합되는 WO 2006/053304는 이러한 장치에 제공된 물리적으로 복제불가한 기능(PUF; physically unclonable function)으로부터 키를 결정하는 방법을 개시한다. 이것은 PUF로부터의 응답에 에러 제어 데이터를 적용하는 것을 수반한다. 그러면 암호화된 시청각 콘텐트와 같은 데이터를 해독하도록 또는 제3 자에 자신을 인증하도록 장치를 인에이블하는 데에 상기 키가 사용될 수 있다.
PUF로부터 키를 얻기 위한 다른 접근이 "물리적 복제불가한 기능들로부터 강건한 키 추출(Robust key extraction from Physical Unclonable Functions)"(B. Skoric, P. Tuyls 및 W. Ophey)(Applied Cryptography and Network Security ACNS 2005, LNCS 3531, pp. 407-422 (2005))에 개시되어 있다. 특정한 헬퍼 데이터를 원시 응답(raw response)에 적용함으로써 PUF로부터 키가 도출된다.
이러한 기술 분야에서의 문제점은 복제(cloning)이다. IP 블록 또는 심지어 전체 장치가 완전하게, 다시 말해서 특이하게 결부된 식별기를 포함하여 복사될 수 있다. 복제물(clone)에서 IP 블록은 이제 원본의 IP 블록과 동일한 인증 코드를 사용하여 활성화될 수 있다. 이로써 복제물은 원격 서버에 보고되는 것을 필요로 하지 아니하고, 그 결과 활성화된 IP 블록들 및 연계된 로열티 손실이 불충분하게 보고된다(under-reporting).
복제로부터 보호하고자, 생각건대 복제불가한 식별기들을 제공하는 다양한 해결책들이 이용가능하다. 예를 들어 인용에 의하여 본 명세서에 병합되는 WO 2006/071380은 장치에 휘발성으로 또는 비휘발성으로 암호 키들을 저장하는 것을 사용하지 아니하고 보안 필드 구성(secure field configuration)을 지원(support)하는, FPGA와 같은, 필드 구성가능한 장치를 개시한다. 이러한 장치에는 환기(challenge) 받으면, 장치의 각각의 특정한 견본에 특이성을 가지는 출력을 제공하는 물리적으로 복제불가한 기능 또는 PUF가 제공된다. 그런데 특정한 PUF는 다른 장치 상에서 복제되거나 재생될 수 없다. 동일한 출력 생성을 보증하기 위해, 특정한 에러 수정 데이터가 특정한 응답에 적용되는 것을 필요로 한다. 이것은 PUF의 출력으로부터 구성 데이터를 도출하는 것을 가능하게 만든다. 그러면 단지 하나의 특정한 견본만이 구성 데이터를 성공적으로 재구성할 수 있다.
일반적으로 말해서 이러한 접근들은 PUF-도출 특이한 항목(PUF-derived unique item)에 의해서 제품의 특정한 견본에 IP 블록을 구속(tying)하여서, 인증되지 않은 복사로부터의 보호를 제공한다. IP 블록의 복사는 다른 견본에서는 작동하지 않을 것인데, 왜냐하면 상기 견본 상 PUF는 원본 견본 상 PUF와 다를 것이고, 이것은 구성 데이터의 재구성을 실패하게끔 할 것이기 때문이다. 이것은 올바르지 못한 인증 값 또는 키를 초래할 수 있다.
이러한 해결책들은 공통적으로, 몇몇 점에서, 식별기가 판독되어야 할 필요가 있고 상응하는 인증 코드를 수신하도록 원격 서버에 제공되어야 할 필요가 있다. 이러한 프로세스 동안, 식별기 및 인증 코드 양자는 관찰될 수 있고 레코딩될 수 있다. 따라서 예를 들어 관찰된 식별기를 재생하는 간단한 칩에 의해서 복제물을 제공함으로써, 여전히 복제물이 제공될 수 있다. 그러면 이러한 칩은 원본에서 식별기를 제공하는 메모리 또는 다른 항목을 대체한다.
활성화 프로세스를 엿보는 것을 막기 위한 대책들(measures)이 취해질 수 있지만, 이들은 복잡하고 많은 장치들의 능력을 넘어설 수 있다. 전술한 WO 2006/071380은 식별기를 안전하게 전달(transfer)하기 위한 공용 키 암호화를 사용하거나 신뢰할 수 있는 환경에서 별도의 등록 절차를 사용할 것을 제안한다.
또한, 발명자들은 전술한 바가 이러한 헬퍼 데이터가 해당 구성요소 또는 제품으로 프로그래밍되는 또는 로딩되는 엔티티에서 완전한 신뢰를 함축적으로 가정하고 있음을 깨달았다. 많은 경우들에서 이러한 엔티티는 구성요소들 또는 중간 구성요소들을 생산하는 제3 자인 제조자일 것이다. 이러한 엔티티가 사용한 IP 블록들에 대한 올바른 로얄티가 과금될 수 있도록, 이러한 엔티티는 IP 공급자(들)에게 어떤 제품 또는 구성요소들 및 얼마나 많은 제품 또는 구성요소들을 제조하였는지를 보고해야 한다.
그러나 제조자는 '공식적인(official)' 제품들에 대하여 사용된 것과 매우 동일한 설비를 사용하여 간단하게 더 많이 제조할 수 있다. 물론 이러한 가외의(extra) 제품들은 그들 자신의 특이한 PUF를 가지지만, 제조자는 올바른 헬퍼 데이터에 의해서 그것들을 제공할 수 있고, 이것은 PUF에 의존하는 IP 블록들이 마치 상기 IP 블록들이 원본들에 설치된 것처럼 기능하도록 결과할 것이다. 제조자는 헬퍼 데이터를 제공하는 방법을 알아야 하고 그렇지 아니하면 제조자는 공식 제품들을 생산할 수 없다. 이것은 제조자가 이러한 가외의, 인증되진 않은 제품들을 원본들인 것인양 할 수 있게 한다. 이제 제조된 제품들의 수보다 적은 수를 보고하는 것이 가능해지고 이것은 IP 공급자가 받을 자격이 있는 것보다 더 작은 로열티를 받는 것을 의미한다.
이에 복제된 장치들의 활성화를 막는 기능의 제어된 활성화 방법이 요구된다.
본 발명은 원격지에서 제품 또는 구성요소의 하나 이상의 기능의 제어된 활성화 방법을 제공하는데, 상기 활성화는 상기 제품 또는 구성요소에서 이용가능해지는 정확한 활성화 데이터 항목을 필요로 하고, 상기 원격 위치로부터 상기 구성요소와 결부된(associated with) 복제불가한(unclonable) 요소의 하나 이상의 노이즈 출력들을 수신하고, 상기 원격 위치에 헬퍼 데이터를 제공하되 상기 헬퍼 데이터는 상기 하나 이상의 노이즈 출력들을 상기 정확한 활성화 데이터 항목에 상응하는 단일 값으로 변환하는 것을 특징으로 한다.
노이즈 출력들을 가지는 복제불가한 구성요소는 그 자체로 알려진다. 이러한 구성요소들의 하나의 이름은 물리적 무작위(복제불가한) 기능들(Physical Random (Unclonable) Functions) 또는 PUF들이다. 소위 헬퍼 데이터 항목은 이들 노이즈 응답들을 임의로 선택될 수 있는 단일 값으로 변환하는 리던던시(redundancy)를 제공한다. 다시 말해서, 헬퍼 데이터의 적절한 선택에 의해서 동일한 노이즈 응답이 다른 단일 값으로 변환될 수 있다.
본 발명은 활성화되어지는 제품 또는 구성요소가 위치하는 곳으로부터 떨어진 위치에서 이러한 헬퍼 데이터를 연산하는 것을 제안한다. 기능의 활성화를 위해서는 정확한 활성화 항목이 이용가능해야만 한다. 헬퍼 데이터는 상기 정확한 활성화 항목에 상응하는 하나 이상의 노이즈 출력들을 단일 값으로 변환한다. 헬퍼 데이터는 제품 또는 구성요소가 존재(reside)하는 원격 위치에 전달된다. 이것은 제품 또는 구성요소가 정확한 활성화 데이터 항목을 도출하는 것을 가능케 한다.
놀랍게도 이러한 사용은 복제된 장치들의 활성화를 막는다. 정의에 의해서 복제불가한 구성요소가 복제될 수 없다. 제1 응답에 대하여 수신된 헬퍼 데이터를 사용하여서 제2 구성요소는 활성화될 수 없는데, 이러한 헬퍼 데이터가 제1 구성요소에 대하여 PUF에 의해 생성된 노이즈 응답에 특이하게 구속되기 때문이다(그리고 상기 응답은 특이성을 가지고 강건한(robust) 식별기로 변환된다). 제2 구성요소에 대하여 PUF에 의해 생성된 노이즈 응답에 상기 헬퍼 데이터를 적용하는 것은, 정확한 활성화 데이터 항목을 결과하지 않을 것이다. 본 발명에 의하여 제공되는 바와 같이, 활성화에 대하여 원격 엔티티를 수반하는 것의 필요성 때문에, 활성화 프로세스가 우회될 수 없다.
'활성화 데이터 항목'은 데이터의 복수의 비트들 또는 바이트들을 포함할 수 있음을 유의해야 한다. 유사하게 전술한 '단일 값'은 전형적으로 데이터의 다수의 비트들 또는 바이트들일 것이다.
전술한 WO 2006/071380는 환기되면, 장치의 각각의 특정한 견본에 특이성을 가지는 출력을 제공하는 물리적으로 복제불가한 기능 또는 PUF를 구비하는 장치를 개시한다. 동일한 출력이 생성되는 것을 보증하고자, 특정한 에러 수정 데이터가 특정한 응답에 적용되는 것을 필요로 한다. 그러면 출력은 원격 서버에 전달되고, 예를 들어 인증 코드와 출력을 결합하는 XOR 동작의 결과로서, 원격 서버는 출력을 사용하여 블라인딩된 인증 코드를 반환한다.
본 발명에 의한 주된 차별점(key difference)은 서버에 보내졌을 때 출력이 안정화되어 있고 따라서 노이즈를 포함하지 않는다는 것이다. 이것은 장치가 등록(enrolment) 동안 응답을 측정하고 안정화하여야만 한다는 것을 요구하는데, 특히 생산(production) 동안 등록이 일어날 때, 이것은 이용가능하지 않을 수 있는 시간을 요한다. 반면 본 발명은 안정화를, 헬퍼 데이터의 연산을, 서버 측으로 이동시킨다.
또한 WO 2006/071380으로부터의 접근은 두 단계를 필요로 한다: 첫째는 노이즈 응답을 안정화하는 것이고, 둘째는 안정화된 출력을 인증 코드를 안전하게 전달하는 것에 사용하는 것이다. 본 발명에서는 양자가 하나의 일체화된(integrated) 단계로 행해진다. 헬퍼 데이터는 하나 이상의 노이즈 출력들을 정확한 활성화 데이터 항목에 해당하는 단일 값으로 변환하도록 연산된다. 따라서 헬퍼 데이터와 활성화 코드 간의 연관이 존재하는데, 이러한 연관은 WO 2006/071380 접근에 존재하지 아니한다.
이러한 연관은 무엇보다도 저장될 것을 요하는 데이터 량을 줄인다. 본 발명은 단지 헬퍼 데이터를 저장할 것을 요한다. 헬퍼 데이터를 노이즈 응답에 적용하는 것은 활성화 데이터 항목을 제공한다. WO 2006/071380 접근은 (노이즈 응답을 안정화하기 위한) 에러 수정 데이터 및 블라인딩된 인증 코드 양자를 저장할 것을 요한다.
본 발명의 일 실시예는 헬퍼 데이터의 진위를 확증하기 위한 인증 요소를 원격 위치에 전달하는 것을 포함한다. 이것은 어떠한 제3 자도 구성요소의 기능성을 인에이블하기 위해 헬퍼 데이터를 제공하는 것을 할 수 없도록 보증한다. 이러한 실시예에서 구성요소는 이러한 인증 요소를 사용하여 헬퍼 데이터의 진위가 증명될 수 있을 때에 단지 헬퍼 데이터를 채용하도록 구성되어져야 한다. 예를 들어, 인증 요소는 별도의 디지털 서명 또는 메시지 인증 코드일 수 있다. 대안적으로 헬퍼 데이터는 키에 의해서 예를 들어 XOR과 같은 동작 또는 공용 키 암호화를 사용하여 암호화될 수 있다.
이러한 실시예의 일 변형에서, 제3 자에게 헬퍼 데이터가 전달되고 제3 자로부터의 응답으로서 인증 요소가 수신되는 것에 의해서, 인증 요소가 얻어진다. 이러한 실시예는 기능성을 인에이블하는 자가 제3 자가, 전형적으로 해당 구성요소의 공급자가 그것을 알지 못하는 채로, 헬퍼 데이터를 제공할 수 없도록 하는 것을 보증한다. 가능한 두 실행 옵션들은 신뢰할 수 있는 자에 위치하는 블랙 박스와 신뢰할 수 있는 자에 의해 실시간으로 접촉되는 IP 공급자에 위치하는 원격 서버이다.
다른 변형에서, 헬퍼 데이터는 제3 자에 전달되기 전에 암호화된다. 헬퍼 데이터를 암호화함에 의해서, 제3 자가 헬퍼 데이터 자체에의 접근을 얻지 못하도록 하는 것을 보증한다. 이것은 제3 자가 특정한 응답들에 대한 헬퍼 데이터를 어떻게 구성하는지를 익히는 것을 막는다. 이어서 바람직하게는 헬퍼 데이터를 서명하는 것에 블라인딩된 서명이 사용된다.
다른 실시예는 원격 위치로부터 원격 인증 요소를 수신하고, 상기 원격 인증 요소를 사용하여 상기 헬퍼 데이터가 성공적으로 인증될 수 있을 때에 단지 상기 헬퍼 데이터가 제공되는 것을 포함한다. 이것은, 무작위로 선택된 데이터를 보내는 것에 의해서 시스템에 과부하가 걸리게 하려는 시도와 위조(forgeries)로부터 통신을 보호하는 데에 도움이 된다.
다른 실시예에서 하나 이상의 응답들이 수신되는 상기 원격 위치와 다른 제2 원격 위치에 상기 헬퍼 데이터가 전달된다. 이러한 실시예에서 본 시스템을 회피하는(circumvent) 것이 더 어려워진다. 이제 두 당사자들이 협력해야 한다.
다른 실시예에서 상기 수신된 하나 이상의 노이즈 출력들을 이전에 수신된 복수의 노이즈 출력들과 비교하고, 단지 상기 하나 이상의 노이즈 출력들이 이전에 수신되지 않은 경우에만, 상기 헬퍼 데이터가 제공된다. 이것은 동일한 노이즈 출력들이 수 차례 제공되는 반복 공격(replay attacks)으로부터의 보안을 제공한다. 비교는 손실이 많은(lossy) 비교일 수 있고, 다시 말해서, 수신된 노이즈 출력들은 이전에 수신된 노이즈 출력들과 소량만큼(a small amount) 다를 수 있다. 정합이 "충분히 양호"한 것으로 간주되면(예를 들어 출력들에 있어서 비트들의 90%에 해당), 비교는 긍정으로서(positive) 고려된다.
본 발명은 상기 방법을 실행하는 시스템을 더 제공한다.
다음의 도면들에 도시된 예시적인 실시예들을 참조하여 본 발명의 이러한 양태들과 다른 양태들이 분명해지고 명료해질 것이다:
도 1은 원격 위치에서 구성요소 또는 제품의 하나 이상의 기능을 제어된 활성화하기 위한 시스템을 개략적으로 나타내고;
도 2는 이러한 시스템의 제1 실시예를 개략적으로 나타내고;
도 3은 이러한 시스템의 제2 실시예를 개략적으로 나타내고; 그리고
도 4는 이러한 시스템의 제2 실시예를 개략적으로 나타낸다.
도면들에 있어서, 동일한 참조 번호들은 유사하거나 상응하는 피쳐들을 가리킨다. 도면들에 표시된 몇몇 피쳐들은 소프트웨어에 의해 실행되고 소프트웨어 모듈 또는 객체(objects)와 같은 소프트웨어 엔티티(entities)를 나타낸다.
도 1은 원격 위치(130)(remote location)에서 제품(product) 또는 구성요소(component)(140)의 하나 이상의 기능(142)의 제어된 활성화를 하기 위한 시스템(110)을 도식적으로 나타낸다. 제품 또는 구성요소(140)의 활성화, 여기서는 마이크로칩의 활성화는 제품 또는 구성요소(140)에서 이용가능할 정확한 활성화 데이터 항목을 필요로 한다. 제품 또는 구성요소(140)는 여기서는 마이크로칩이지만, 동등하게(equally well) 어떤 유형의 제품 또는 구성요소일 수 있다. 몇몇 예시들은 모바일 폰, 컴퓨터, 랩톱, 시계, 센서, 기계, 항공기, 회로 기판 및 심지어 컴퓨터 소프트웨어이다. 본 발명에 있어서 필요한 유일한 요건은, 제품 또는 구성요소(140)가 제어된 방식으로 활성화되어야 할 필요가 있는 기능을 구비하는 것이다.
원격 위치(130)는 전형적으로 제품 또는 구성요소가 조립되거나 생산되는 제조 플랜트 또는 공장이다. 여기서 용어 "원격(remote)"은 시스템(110)과 위치(130)가 동일하지 아니함을 가리키는 것으로서 이해되어야 할 것이다. 일 실시예에서, 플랜트 또는 공장은 중화 인민 공화국에 위치하고, 시스템(110)은 네덜란드 왕국에 위치한다. 다른 실시예에서, 시스템(110)은 플랜트 또는 공장 내(on the premises of) 어딘가에 설치되어야 할 블랙 박스로서 실행된다.
활성화를 인에이블하기 위해, 제품 또는 구성요소(140)에는 복제불가한(unclonable) 요소(141)가 제공된다. 도 1의 실시예에서, 복제불가한 요소(141)는 마이크로칩의 일부이지만, 마찬가지로 제품 또는 구성요소의 다른 어디에도 제공될 수 있다. 예를 들어, 복제불가한 요소(141)는 컴퓨터 또는 랩톱의 마더보드 상에 제공될 수 있고, 상기 컴퓨터에 존재하는 하나의 특정 칩의 활성화를 위해 제공될 수 있다.
복제불가한 요소(141)는 도 1에서 Ri, …, Rn으로서 표기한 하나 이상의 노이즈 출력들을 제공하는 것을 환기받는다(be challenged). 이 실시예에서는 인터넷과 같은 통신 네트워크(120)을 거쳐서 그들을 전송함으로써, 출력(들)이 시스템에 (110)에 제공된다. 물론 전화선 또는 어떤 다른 통신 수단들이 동등하게 사용될 수 있다.
시스템(110)은 그것이 받는 노이즈 출력들에 기초하여 헬퍼 데이터(HD)를 산출하고 이 헬퍼 데이터(HD)를 원격 위치(130)로 되돌려 제공한다. 원격 위치(130)에서, 헬퍼 데이터(HD)는 예를 들어 마이크로칩의 메모리(143)에 저장함으로써, 제품 또는 구성요소(140)에게 이용가능해진다.
헬퍼 데이터(HD)는 하나 이상의 노이즈 출력들을 정확한 활성화 데이터 항목에 해당해야 하는 단일 값으로 변환한다. 실제로 정확한 활성화 데이터 항목이 얻어지면, 기능성이 인에이블해질 수 있다. 이것이 실현될 수 있는 많은 방식들이 존재한다.
전술한 바와 같이, 일 실시예에서 단일 값을 IP 블록이 이용가능한 기결정된 코드와 비교하여서 활성화가 실행된다. 둘이 정합되지 않으면, 기능성이 인에이블해지지 않는다.
제품 또는 구성요소(140)가 FPGA 용도의 비트 스트림 또는 소프트웨어 프로그램이면, 단일 값은 또한 제품 또는 구성요소(140)의 일부 또는 전부를 언락킹 또는 해독하는 키로서 사용될 수 있다.
단일 값은 또한 복수의 기능들이 인에이블 또는 디스에이블되는 것을 가리킬 수 있다. 이것은 단일 값을 각각이 특정한 기능이 인에이블 또는 디스에이블되는지를 가리키는 일련의 지표(indicator)들로서 다룸으로써 실현될 수 있다. 이것을 실현하는 간편한 방법은 비트마스크를 사용하는 것이다. 예를 들어, 8비트 비트마 스크 00101101은 처음 두 개의, 네번째 및 7번째 기능이 디스에이블되고 세번째, 다섯번째 및 일곱번째 기능이 인에이블됨을 가리킨다.
단일 값은 또한 제품 또는 구성요소(140)에 제공된 입력을 처리하는데 필요한 키로서 예를 들어 데이터가 교환되어지는 원격 서버(미도시)에서 제품 또는 구성요소(140)를 인증하거나 또는 해독되어지는 시청각 콘텐트에 대한 해독 키로서 사용될 수 있다.
정확하게 어떤 기능이(또는 그 기능들이) 활성화되는가와 기능이(또는 그 기능들이) 어떻게 활성화되는가는, 본 발명에 있어서 지엽적이다(peripheral). 청구된 바와 같은 본 발명의 원리들이 어떤 종류의 장치에서 어떠한 기능성을 인에이블 또는 활성화하는 데에 적용될 수 있다. 다만, 본 발명을 설명하는 목적상 후술하는 예시들을 제공한다:
- 고성능 오디오 및/또는 비디오 인코딩 또는 디코딩 칩 또는 소프트웨어 프로그램의 사용을 인에이블한다.
- 802.11g와 같은 무선 네트워크에 걸친 통신을 인에이블한다.
- 시간 단위 당 전송될 수 있는 데이터의 양에 두어지는 제한 또는 시간 제한과 같은, 제품의 기능성에 있어서의 인위적인(artificial) 제한을 디스에이블한다.
- 제품 또는 그 기능성에 대한 업그레이드 또는 업데이트를 다운로드하는 것을 허용한다.
- HDMI 복제 방지 프로토콜을 사용하는 HDTV와 같은 보안 링크들에 걸친 통 신을 인에이블한다; 여기서 올바른(right) 인증 키의 취득에 의해서 활성화가 발생한다.
- 예를 들어 시청각 콘텐트를 해독하는 장치에 의해서 암호화된 장치 키들의 사용을 인에이블하여서, ASIC, FPGA 또는 유사 회로의 기능성을 인에이블한다.
- 고객이 선택하는 기능성에 대해서만 과금되는 페이-퍼 유즈 모델(pay-per use model)을 인에이블한다. 각각의 기능은 개별적으로 인에이블될 수 있고 각 기능에 대한 인증 키가 별개로 구매된다.
복제불가한 요소(141)는 그 자체로 알려진다. 이러한 구성요소들의 하나의 이름은 물리적 무작위(복제불가한) 기능들(Physical Random (Unclonable) Functions) 또는 PUF들이다. PUF는 많은 무작위로 분포된 구성요소들을 포함하는 복잡한 물리적인 요소이다. 적절한 환기들(challenges)에 의해 탐사(probe)되면, 예를 들어 무질서 상태의 매체(disordered medium)에서 다수의 산란파들과 같은, 환기와 물리적인 요소 사이의 상호작용을 지배하는 복잡한 물리계(complex physics)는, 각각의 별개의 환기에 대하여 서로 다른 무작위-룩킹 출력 또는 응답을 결과한다.
토큰(token)으로부터 받은 응답들은 노이즈 및 혼란에 취약하여서, 하나의 환기가 PUF에 주어질 때마다 각각의 응답에 있어서의 차이가 초래될 수 있다. 헬퍼 데이터 항목은 이들 다수의 노이즈 응답을 단일 값으로 변환하는 리던던시(redundancy)를 제공한다. 물리적 토큰의 복잡한 소규모(small-scale) 구조는 물리적인 복제를 생성하는 것을 어렵게 만든다.
이미 언급한 문헌에 덧붙여, PUF들의 예시들이 다음에 개시된다
1. "물리적 일방향 기능들(Physical One-Way Functions)"(R. Pappu, B. Recht, J. Taylor, N. Gershenfeld)(Science vol 297, pp. 2026, (2002))
2. "물리적 복제불가한 기능들의 정보-이론적 보안 분석(Information-Theoretic Security Analysis of Physical Unclonable Functions)"(P. Tuyls, B. Skoric, S. Stallinga, A. H. Akkermans, W. Ophey)(Financial Cryptography FC'05, LNCS 3570, Springer-Verlag pp. 141 (2005))
3. "물리적 복제불가한 기능들로부터 강건한 키 추출(Robust key extraction from Physical Unclonable Functions)"(B. Skoric, P. Tuyls W. Ophey)(Applied Cryptography and Network Security ACNS 2005, LNCS 3531, pp. 407-422 (2005))
4. "보호 코팅들로부터의 리드-프루프 하드웨어(Read-proof hardware from protective coatings)"(P. Tuyls, B. Skoric, G. J. Schrijen, R. Wolters, J. van Geloven, N. Verhaegh, H. Kretschmann)(CHES 2006 to appear (2006))
5. "실리콘 물리적 무작위 기능들(Silicon Physical Random Functions)"(B. Gassend, D. Clarke, M. van Dijk, S. Devadas)(9th ACM Conf. on Computer and Communications Security (2002))
6. "클래식 물리체들로부터의 비밀 키 생성(Secret Key Generation from Classical Physics)"(P. Tuyls, B. Skoric)(Book Chapter, Hardware Technology Drivers for Ambient Intelligence, Kluwer (2005))
PUF들이 기초할 수 있는 몇몇 물리적인 시스템들이 현재 알려져 있다.
주요한 유형들은 광학 PUF들(참조 문헌 1 참조), 코팅 PUF들(참조 문헌 4), 실리콘 PUF들(참조 문헌 5) 및 음향(acoustic) PUF들(참조 문헌 6)이다. 사실상, 후술하는 특징들을 구비하는 어떤 물리적인 시스템도 후술하는 특성들을 가지는 이상, PUF로서 사용될 수 있다:
- 제조 용이하고 저렴하며 무작위한 제어불가한 제조 프로세스 변화들을 포함
- 모델링 및 특징화가 현실적이지 않음(impratical)
- 큰 입력/출력 공간
본 발명은 모든 유형의 PUF에 적용가능하지만, 일 예시로서, 광학 PUF의 특정한 예시를 본 명세서에 기술된 개념들의 구체적인 예시로서 고려한다. 광학 PUF들은 무작위로 분포된 산란 입자(scattering particle)들로 이루어진 투명한 물질로 이루어진다. 여기서 무작위는 왜곡된(distorted) 광학 매체(medium)에서의 레이저 빛의 다중 산란으로부터 결과되는 스페클 패턴(speckle pattern)들의 특이성 및 비예측성에 의해서 제공된다(인용 문헌 2). 고정된 파장의 입사광에 대하여, 입력은 입사각, 초점 거리, 마스크 패턴 또는 등위상면(等位相面)(wave front)에서의 다른 어떤 재현가능한(reproducible) 변화이다. 출력은 결과되는 스펙클 패턴이다. 산란(scatters)의 정밀한 상세가 모두 주어질지라도, 특정한 스펙클 패턴을 복원(recover)하는 것은 극단적으로 어렵다. PUF 및 PUF 응답들을 안정화하기 위한 헬퍼 데이터의 구성에 대한 더 많은 정보에 대해서는 전술한 문헌들을 참조할 수 있다.
원격 위치(130)에서 공격자가, 예를 들어 공장을 조작하는 제조자가 하나 이상의 노이즈 출력들 및/또는 헬퍼 데이터에 접근하는 것을 막기 위해서, 공격자에게 알려지지 않은 키 또는 알고리즘을 사용하여 둘 중 하나 또는 양자가 암호화될 수 있다. 예를 들어 제품 또는 구성요소(140)는 고정된 키를 사용하여 하나 이상의 노이즈 출력들에 간단한 XOR-기반 암호화를 적용할 수 있다. 더 복잡한 장치에서, 제품 또는 구성요소(140)와 시스템(110)은 하나 이상의 노이즈 출력들 및/또는 헬퍼 데이터를 안전하게 교환하기 위한 안전 인증 채널(SAC; Secure Authenticated Channel)을 셋업할 수 있다.
바람직한 실시예에서는, 시스템(110)이, 예를 들어 시스템(110)에 알려진 비밀 키를 사용하여 헬퍼 데이터에 대하여 디지털 서명 또는 메시지 인증 코드를 생성하여, 헬퍼 데이터에 대한 인증 요소를 제공하도록 한다. 사용된 인증 알고리즘 또는 기법에 따라서, 인증 요소는 플레인(plain) 헬퍼 데이터와 함께 또는 플레인 헬퍼 데이터를 대신하여 전달될 수 있다. 예를 들어 RSA와 같은 알고리즘을 사용하여 디지털 서명을 생성할 때, 디지털 서명이 성공적으로 증명되면 헬퍼 데이터가 복원되는 것으로써, 디지털 서명은 그 자체로 헬퍼 데이터를 대신하여 사용될 수 있다.
이러한 실시예에서 제품 또는 구성요소(140)는 이러한 인증 요소를 사용하여 헬퍼 데이터가 증명될 수 있을 때에 단지 헬퍼 데이터를 채용하도록 구성된다. 공용/비밀(public/secret) 키 암호화된 디지털 서명들을 사용할 때, 제품 또는 구성요소(140)는 이러한 증명을 인에이블하기 위한 전술한 비밀 키에 상응하는 공용 키를 저장한다. 공용/비밀 키 암호화 및 디지털 서명 증명에 대해서는 잘 알려져 있으므로, 더 이상 상세히 설명하지 아니한다.
이것은 권한 없는 자에 의하여 헬퍼 데이터가 전달되는 것을 막는다. 비록 몇몇 제3 자가 특정한 기능성을 인에이블하기 위하여 특정한 헬퍼 데이터를 제공하는 방법을 결정하는 것을 관리할지라도, 상기 제3 자는 올바른 인증 요소를 생성할 수 없을 것이며 따라서 기능성 활성화를 할 수 없을 것이다.
도 2는 제3 자(200)가 도입되는 시스템(110)의 다른 실시예를 도시한다. 제3 자(200)는 시스템(110)에 인증 요소를 제공하는데, 여기서 인증 요소는 헬퍼 데이터의 진위(authenticity)를 확증하는데에 사용된다. 시스템(110)은 차례로 원격 위치에 인증 요소에 대한 판정을 전달한다(pass on).
바람직한 실시예에서는, 제3 자(200)가, 제3 자에 알려진 비밀 키에 의하여 헬퍼 데이터를 암호화하여서 헬퍼 데이터에 대한 암호화 또는 디지털 서명을 제공하도록 한다. 이것이 도 2에서 헬퍼 데이터의 제3 자의 비밀 키에 의한 암호화(encryption with the Secret Key of the Third Party of the Helper Data)를 축약한 ESKTP(HD)로 도시되어 있다.
사용된 디지털 서명 알고리즘 또는 기법에 따라서, 인증 요소는 플레인 헬퍼 데이터와 함께 또는 플레인 헬퍼 데이터를 대신하여 전달될 수 있다.
이러한 실시예에서 제품 또는 구성요소(140)는 이러한 인증 요소를 사용하여 헬퍼 데이터가 증명될 수 있을 때에 단지 헬퍼 데이터를 채용하도록 구성된다. 전술한 바람직한 실시예에서, 제품 또는 구성요소(140)는 이러한 증명을 인에이블하기 위한 전술한 비밀 키에 상응하는 공용 키를 저장한다.
도 3은 제3 자에 전달하기 전에 헬퍼 데이터가 암호화되는 시스템(110)의 다른 실시예를 나타낸다. 대칭 또는 비대칭 암호화를 사용하여 헬퍼 데이터가 암호화될 수 있다. 이것은 제3 자가 실재하는(actual) 헬퍼 데이터를 관찰하는 것을 막는다. 이것을 구성요소의 공용 키에 의한 암호화(encryption with a Public Key of the Component)를 축약한 EPKC(HD)로 도시되어 있다. 제3 자(200)는 이러한 암호화된 헬퍼 데이터에 대한 디지털 서명: ESKTP(EPKC(HD))을 제공한다.
제품 또는 구성요소(140)는 이제 예를 들어 메모리(143)에 전술한 공용 키(PKC)에 상응하는 비밀 키를 저장한다. 이러한 실시예에서, 제품 또는 구성요소(140)는 (1) 전술한 비밀 키를 사용하여 인증 요소 EPKC(HD)가 성공적으로 해독될 수 있고, 그리고 (2) 이러한 인증 요소를 사용하여 헬퍼 데이터(HD)의 진위가 증명될 수 있을 때에 단지 헬퍼 데이터를 채용하도록 구성된다.
도 4는 원격 위치(130)이 원격 인증 요소를 포함하는 시스템(110)의 다른 실시예를 나타낸다. 시스템(110)은 이제 원격 인증 요소를 사용하여 헬퍼 데이터가 성공적으로 인증될 수 있을 때에 단지 헬퍼 데이터를 제공한다. 바람직하게는 원격 위치(130) 및 제품 또는 구성요소(140) 중 어느 하나에 알려진 비밀 키를 사용하여 응답들에 대한 디지털 서명이 제공된다. 이것이 응답들의 원격 위치의 비밀 키에 의한 암호화(encryption with the Secret Key of the Remote Location of the Responses)를 축약한, ESKRL(R1,…,Rn)에 의해 도 4에 도시되어 있다.
다른 실시예(미도시)에서 수신된 노이즈 출력들(R1,…,Rn)이 이전에 수신된 복수의 노이즈 출력들과 비교되고, 단지 하나 이상의 노이즈 출력들이 이전에 수신되지 않았을 때에만 헬퍼 데이터가 제공된다. 이러한 실시예에서, 시스템(110)에는 수신된 노이즈 출력들을 저장하기 위한 데이터베이스가 제공된다. 저장 요구 조건들을 줄이기 위해 노이즈 출력들 대신에, 노이즈 출력들의 축약된 표현(예를 들어 해쉬된 버전(hashed version))이 저장될 수 있다. 예를 들어 노이즈 출력들에 해쉬 함수(hash function)가 적용될 수 있고 이러한 함수의 출력이 저장될 수 있다. 해쉬들을 정합하는 것은 훨씬 더 효율적이고, 완전히 동일한 노이즈 응답들이 이전에 수신되었는지를 결정하는 것을 여전히 가능케한다.
전술한 실시예들은 본 발명을 제한하려는 것이 아니라 단지 설명하기 위한 것임을 유의해야 하며, 본 발명이 속한 기술 분야의 통상의 기술자는 첨부된 청구항들의 범주를 벗어남이 없이 대안적인 실시예들을 설계할 수 있을 것임을 유의해야 한다. 예를 들어 도 2, 도 3, 및/또는 도 4의 실시예들은 그들 중의 어떤 하나 또는 모든 이점들을 이롭게 결합하고자 결합될 수 있다. 다른 실시예로서, 헬퍼 데이터는 하나 이상의 응답들이 수신되는 원격 위치와 다른 제2 원격 위치에 전달될 수 있다.
청구항들에서 삽입구(parentheses) 사이에 배치된 어떤 참조 부호들(reference signs)은 청구항들 제한하기 위한 것으로서 이해되어서는 아니된다. 용어 "포함하는"은 청구항에 열겨된 것 이외의 요소들 또는 단계들의 존재를 배제하지 아니한다. 요소들 앞에 쓰인 하나의("a" 또는 "an")은 그러한 요소들이 복수가 존재하는 것을 배제하지 아니한다. 본 발명은 수 개의 구별되는(distinct) 요소들을 포함하는 하드웨어에 의해서 및 적절히 프로그래밍된 컴퓨터에 의해서 실행될 수 있다.
수 개의 수단을 열거하는 장치 청구항에서, 이들 수단의 몇몇은 완전히 동일한 하드웨어 항목에 의해서 구체화될 수 있다. 서로 다른(mutually different) 종속항들에서 특정한 대책(measures)이 인용되었다는 단순한 사실은 이러한 대책들의 조합이 유리하게 이용될 수 없다는 것을 의미하지 아니한다.

Claims (19)

  1. 제어된 활성화를 위해 제품 또는 구성요소에서 이용가능해지는 정확한 활성화 데이터 항목을 필요로 하는, 원격 위치에서 제품 또는 구성요소의 하나 이상의 기능의 제어된 활성화 방법에 있어서,
    상기 구성요소와 결부되고(associated with) 원격 위치의 복제불가한(unclonable) 요소의 하나 또는 둘 이상의 노이즈 출력들에 기초한 데이터를 상기 원격 위치로부터 수신하는 단계,
    헬퍼(helper) 데이터를 연산하는 단계로서, 상기 헬퍼 데이터를 상기 하나 이상의 노이즈 출력들에 적용하는 것에 의해 상기 하나 또는 둘 이상의 노이즈 출력들을 상기 정확한 활성화 데이터 항목에 상응하는 단일 값으로 변환할 수 있도록, 수신된 상기 하나 또는 둘 이상의 노이즈 출력들에 기초한 데이터에 기초하여 헬퍼(helper) 데이터를 연산하는 단계, 및
    상기 하나 또는 둘 이상의 노이즈 출력들을 상기 정확한 활성화 데이터 항목에 상응하는 단일 값으로 변환하기 위해 상기 헬퍼 데이터를 상기 원격 위치에 제공하는 단계를 포함하는,
    제품 또는 구성요소의 하나 이상의 기능의 제어된 활성화 방법.
  2. 제1 항에 있어서,
    상기 헬퍼 데이터의 진위를 확증하기 위한 인증 요소를 상기 원격 위치에 전달하는 단계를 더 포함하는,
    제품 또는 구성요소의 하나 이상의 기능의 제어된 활성화 방법.
  3. 제2 항에 있어서,
    상기 인증 요소는,
    제3 자에 상기 헬퍼 데이터를 전달하고, 상기 제3 자로부터의 응답으로서 상기 인증 요소를 수신하는 것에 의해 얻어지는,
    제품 또는 구성요소의 하나 이상의 기능의 제어된 활성화 방법.
  4. 제3 항에 있어서,
    상기 제3 자에 전달되기 전에 상기 헬퍼 데이터가 암호화되는,
    제품 또는 구성요소의 하나 이상의 기능의 제어된 활성화 방법.
  5. 제1 항에 있어서,
    상기 원격 위치로부터 원격 인증 요소를 수신하는 단계, 및
    상기 원격 인증 요소를 사용하여 상기 헬퍼 데이터가 성공적으로 인증될 수 있을 때에 단지 상기 헬퍼 데이터를 제공하는 단계를 더 포함하는 것을 특징으로 하는,
    제품 또는 구성요소의 하나 이상의 기능의 제어된 활성화 방법.
  6. 제1 항에 있어서,
    하나 또는 둘 이상의 응답들이 수신된 상기 원격 위치와 다른 제2 원격 위치에 상기 헬퍼 데이터가 전달되는,
    제품 또는 구성요소의 하나 이상의 기능의 제어된 활성화 방법.
  7. 제1 항에 있어서,
    상기 하나 또는 둘 이상의 노이즈 출력들에 기초한 수신된 데이터가 노이즈 출력들에 기초한 이전에 수신된 복수의 데이터와 비교되고, 단지 상기 하나 또는 둘 이상의 노이즈 출력들에 기초한 데이터가 이전에 수신되지 않은 경우에만 상기 헬퍼 데이터가 제공되는,
    제품 또는 구성요소의 하나 이상의 기능의 제어된 활성화 방법.
  8. 제1 항에 있어서,
    상기 단일 값은 해독 키 또는 인증 키로서 사용되는 것을 특징으로 하는,
    제품 또는 구성요소의 하나 이상의 기능의 제어된 활성화 방법.
  9. 제1 항에 있어서,
    상기 단일 값은 상기 제품 또는 구성요소의 전부 또는 일부를 언락킹 또는 해독하기 위한 키로서 사용되는 것을 특징으로 하는,
    제품 또는 구성요소의 하나 이상의 기능의 제어된 활성화 방법.
  10. 제9 항에 있어서,
    상기 제품 또는 구성요소는 FPGA 용도의 비트스트림 또는 소프트웨어 프로그램인 것을 특징으로 하는,
    제품 또는 구성요소의 하나 이상의 기능의 제어된 활성화 방법.
  11. 제1 항에 있어서,
    상기 단일 값을 상기 원격 위치에서 이용가능한 미리 결정된 코드와 비교하는 단계를 더 포함하고, 상기 단일 값 및 미리 결정된 코드가 매칭되지 않으면 기능이 활성화되지 않는,
    제품 또는 구성요소의 하나 이상의 기능의 제어된 활성화 방법.
  12. 제어된 활성화를 위해 제품 또는 구성요소에서 이용가능해지는 정확한 활성화 데이터 항목을 필요로 하는, 원격 위치에서 제품 또는 구성요소의 하나 이상의 기능의 제어된 활성화 시스템에 있어서,
    상기 구성요소와 결부되고 원격 위치의 복제불가한 요소의 하나 또는 둘 이상의 노이즈 출력들에 기초한 데이터를 상기 원격 위치로부터 수신하기 위한 수신기,
    헬퍼(helper) 데이터를 연산하기 위한 컴퓨터로서, 상기 헬퍼 데이터를 상기 하나 이상의 노이즈 출력들에 적용하는 것에 의해 상기 하나 또는 둘 이상의 노이즈 출력들을 상기 정확한 활성화 데이터 항목에 상응하는 단일 값으로 변환할 수 있도록, 수신된 상기 하나 또는 둘 이상의 노이즈 출력들에 기초한 데이터에 기초하여 헬퍼(helper) 데이터를 연산하기 위한 컴퓨터, 및
    상기 하나 또는 둘 이상의 노이즈 출력들을 상기 정확한 활성화 데이터 항목에 상응하는 단일 값으로 변환하기 위해 상기 원격 위치에 상기 헬퍼 데이터를 전송하기 위한 전송기를 포함하는,
    제품 또는 구성요소의 하나 이상의 기능의 제어된 활성화 시스템.
  13. 제12 항에 있어서,
    상기 수신기는 통신 네트워크에 걸쳐 전송된 상기 하나 또는 둘 이상의 노이즈 출력들에 기초한 데이터를 수신하도록 구성되는,
    제품 또는 구성요소의 하나 이상의 기능의 제어된 활성화 시스템.
  14. 제13 항에 있어서,
    상기 통신 네트워크는 인터넷인,
    제품 또는 구성요소의 하나 이상의 기능의 제어된 활성화 시스템.
  15. 제12 항에 있어서,
    상기 헬퍼 데이터의 진위를 확증하기 위해 사용되는 인증 요소를 상기 시스템에 제공하는 제3 자를 더 포함하는,
    제품 또는 구성요소의 하나 이상의 기능의 제어된 활성화 시스템.
  16. 제15 항에 있어서,
    상기 인증 요소가 상기 시스템에 의해 상기 원격 위치에 전달되는,
    제품 또는 구성요소의 하나 이상의 기능의 제어된 활성화 시스템.
  17. 제15 항에 있어서,
    상기 제3 자가 상기 제3 자에 알려진 비밀 키를 사용하여 상기 헬퍼 데이터를 암호화하는,
    제품 또는 구성요소의 하나 이상의 기능의 제어된 활성화 시스템.
  18. 제15 항에 있어서,
    상기 제3 자가 상기 헬퍼 데이터를 관찰하는 것을 방지하도록 상기 제3 자에 전달되기 전에 상기 시스템에 의해 상기 헬퍼 데이터가 암호화되는,
    제품 또는 구성요소의 하나 이상의 기능의 제어된 활성화 시스템.
  19. 제15 항에 있어서,
    상기 헬퍼 데이터가 대칭 또는 비대칭 암호화를 사용하여 암호화되는,
    제품 또는 구성요소의 하나 이상의 기능의 제어된 활성화 시스템.
KR1020097023562A 2007-04-12 2008-04-04 기능의 제어된 활성화 KR101430023B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP07106038 2007-04-12
EP07106038.8 2007-04-12
PCT/IB2008/051279 WO2008125999A2 (en) 2007-04-12 2008-04-04 Controlled activation of function

Publications (2)

Publication Number Publication Date
KR20100016459A KR20100016459A (ko) 2010-02-12
KR101430023B1 true KR101430023B1 (ko) 2014-08-14

Family

ID=39737045

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020097023562A KR101430023B1 (ko) 2007-04-12 2008-04-04 기능의 제어된 활성화

Country Status (8)

Country Link
US (1) US9247024B2 (ko)
EP (1) EP2145448B1 (ko)
KR (1) KR101430023B1 (ko)
CN (1) CN101682612B (ko)
AT (1) ATE501584T1 (ko)
DE (1) DE602008005443D1 (ko)
ES (1) ES2362462T3 (ko)
WO (1) WO2008125999A2 (ko)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7162035B1 (en) 2000-05-24 2007-01-09 Tracer Detection Technology Corp. Authentication method and system
US8171567B1 (en) 2002-09-04 2012-05-01 Tracer Detection Technology Corp. Authentication method and system
US7995196B1 (en) 2008-04-23 2011-08-09 Tracer Detection Technology Corp. Authentication method and system
EP2128867A1 (en) * 2008-05-28 2009-12-02 Sony DADC Austria AG Method for controlling access to content on data carrier
JP5499358B2 (ja) * 2010-03-24 2014-05-21 独立行政法人産業技術総合研究所 認証処理方法及び装置
US8848905B1 (en) * 2010-07-28 2014-09-30 Sandia Corporation Deterrence of device counterfeiting, cloning, and subversion by substitution using hardware fingerprinting
EP2680485B1 (en) 2011-06-02 2016-04-06 Mitsubishi Electric Corporation Key information generation device and key information generation method
US8525549B1 (en) 2012-02-23 2013-09-03 International Business Machines Corporation Physical unclonable function cell and array
US9331012B2 (en) 2012-03-08 2016-05-03 International Business Machines Corporation Method for fabricating a physical unclonable interconnect function array
US8941405B2 (en) 2012-08-03 2015-01-27 International Business Machines Corporation FET pair based physically unclonable function (PUF) circuit with a constant common mode voltage
WO2014031015A1 (en) * 2012-08-24 2014-02-27 Motorola Solutions, Inc. Method and apparatus for authenticating digital information
US9038133B2 (en) 2012-12-07 2015-05-19 International Business Machines Corporation Self-authenticating of chip based on intrinsic features
US9722805B2 (en) 2012-12-11 2017-08-01 Mitsubishi Electric Corporation Integrated security device and signal processing method used for an integrated security device
EP2779067B1 (en) * 2013-03-15 2019-05-08 Maxim Integrated Products, Inc. Secure authentication based on physically unclonable functions
US9189654B2 (en) 2013-12-04 2015-11-17 International Business Machines Corporation On-chip structure for security application
US9166588B2 (en) 2014-01-20 2015-10-20 Globalfoundires Inc. Semiconductor device including enhanced variability
EP2911086A1 (en) * 2014-02-19 2015-08-26 Renesas Electronics Europe GmbH Integrated circuit with parts activated based on intrinsic features
DE102014208212A1 (de) * 2014-04-30 2015-11-05 Siemens Aktiengesellschaft Ableiten eines gerätespezifischen Wertes
US9501664B1 (en) 2014-12-15 2016-11-22 Sandia Corporation Method, apparatus and system to compensate for drift by physically unclonable function circuitry
US20170257369A1 (en) * 2016-03-04 2017-09-07 Altera Corporation Flexible feature enabling integrated circuit and methods to operate the integrated circuit
US10091007B2 (en) * 2016-04-04 2018-10-02 Mastercard International Incorporated Systems and methods for device to device authentication
US10311219B2 (en) * 2016-06-07 2019-06-04 Vocalzoom Systems Ltd. Device, system, and method of user authentication utilizing an optical microphone
US10268844B2 (en) 2016-08-08 2019-04-23 Data I/O Corporation Embedding foundational root of trust using security algorithms
DE102017205818A1 (de) * 2017-04-05 2018-10-11 Robert Bosch Gmbh Einstellbare physikalische unklonbare Funktion
CN109902479B (zh) * 2019-01-28 2023-04-07 深圳市纽创信安科技开发有限公司 权限控制方法、权限控制设备、用户设备及系统
TWI769961B (zh) * 2020-12-11 2022-07-01 熵碼科技股份有限公司 基於物理不可複製函數的密鑰管理系統及其操作方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005122467A1 (en) 2004-06-09 2005-12-22 Koninklijke Philips Electronics N.V. Biometric template protection and feature handling
WO2006053304A2 (en) 2004-11-12 2006-05-18 Pufco, Inc. Volatile device keys and applications thereof

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ATE507976T1 (de) * 1998-07-15 2011-05-15 Seiko Epson Corp Tintenzufuhreinheit
WO2003042799A2 (en) * 2001-11-14 2003-05-22 International Business Machines Corporation Device and method with reduced information leakage
JP3807358B2 (ja) * 2002-10-22 2006-08-09 セイコーエプソン株式会社 液体容器及び液体噴射装置
ATE474393T1 (de) * 2003-05-21 2010-07-15 Koninkl Philips Electronics Nv Verfahren und vorrichtung zur authentifikation eines physischen gegenstandes
US6966640B2 (en) * 2003-10-14 2005-11-22 Teng-Kuei Lee Ink cartridge for an ink jet printer
US7328986B2 (en) * 2004-01-28 2008-02-12 Alex Kuo-Shen Wang Inkjet printer ink cartridge
EP1815637B1 (en) * 2004-11-16 2016-04-20 Koninklijke Philips N.V. Securely computing a similarity measure
CA2510366C (en) * 2005-06-14 2013-02-26 Certicom Corp. System and method for remote device registration
US8025376B2 (en) * 2005-09-29 2011-09-27 Brother Kogyo Kabushiki Kaisha Ink cartridges
US8224018B2 (en) * 2006-01-23 2012-07-17 Digimarc Corporation Sensing data from physical objects

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005122467A1 (en) 2004-06-09 2005-12-22 Koninklijke Philips Electronics N.V. Biometric template protection and feature handling
WO2006053304A2 (en) 2004-11-12 2006-05-18 Pufco, Inc. Volatile device keys and applications thereof

Also Published As

Publication number Publication date
KR20100016459A (ko) 2010-02-12
US20100146261A1 (en) 2010-06-10
CN101682612B (zh) 2013-02-06
CN101682612A (zh) 2010-03-24
EP2145448B1 (en) 2011-03-09
ATE501584T1 (de) 2011-03-15
DE602008005443D1 (de) 2011-04-21
EP2145448A2 (en) 2010-01-20
ES2362462T3 (es) 2011-07-06
WO2008125999A3 (en) 2008-12-04
US9247024B2 (en) 2016-01-26
WO2008125999A2 (en) 2008-10-23

Similar Documents

Publication Publication Date Title
KR101430023B1 (ko) 기능의 제어된 활성화
US20190089527A1 (en) System and method of enforcing a computer policy
Guajardo et al. Physical unclonable functions and public-key crypto for FPGA IP protection
US8868923B1 (en) Multi-factor authentication
US7839278B2 (en) Volatile device keys and applications thereof
US7178025B2 (en) Access system utilizing multiple factor identification and authentication
KR100843081B1 (ko) 보안 제공 시스템 및 방법
US9049010B2 (en) Portable data encryption device with configurable security functionality and method for file encryption
KR101659110B1 (ko) 테스트 디바이스에 의한 보안 칩으로의 액세스 인증 방법
JP5291628B2 (ja) シードが与えられる任意数を生成する方法
EP2339777A2 (en) Method of authenticating a user to use a system
US20230163980A1 (en) Individual digital access with ternary states and one-way unclonable functions to protect digital files
Grasso et al. Definition of terms used by the Auto-ID Labs in the anti-counterfeiting white paper series
Román et al. Post-quantum Secure Communication with IoT Devices Using Kyber and SRAM Behavioral and Physical Unclonable Functions
Meister et al. Anastais Project Documentation

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
FPAY Annual fee payment

Payment date: 20180802

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190731

Year of fee payment: 6