KR20210016547A - 데이터 처리 - Google Patents

데이터 처리 Download PDF

Info

Publication number
KR20210016547A
KR20210016547A KR1020207035541A KR20207035541A KR20210016547A KR 20210016547 A KR20210016547 A KR 20210016547A KR 1020207035541 A KR1020207035541 A KR 1020207035541A KR 20207035541 A KR20207035541 A KR 20207035541A KR 20210016547 A KR20210016547 A KR 20210016547A
Authority
KR
South Korea
Prior art keywords
data processing
processing device
application
message
specific
Prior art date
Application number
KR1020207035541A
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 KR20210016547A publication Critical patent/KR20210016547A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/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
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • 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
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0877Generation of secret information including derivation or calculation of cryptographic keys or passwords using additional device, e.g. trusted platform module [TPM], smartcard, USB or hardware security module [HSM]
    • 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/3236Cryptographic 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 cryptographic hash functions
    • 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/3236Cryptographic 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 cryptographic hash functions
    • H04L9/3242Cryptographic 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 cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • 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/3247Cryptographic 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 digital signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/034Test or assess a computer or a system

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Power Engineering (AREA)
  • Computing Systems (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Storage Device Security (AREA)

Abstract

방법은, 제1 데이터 처리 디바이스에 의해, 제2 데이터 처리 디바이스의 증명을 요구하는 단계; 상기 제2 데이터 처리 디바이스에 의해, 디바이스 전용 키, 상기 제2 데이터 처리 디바이스의 하드웨어 구성, 및 상기 제2 데이터 처리 디바이스상에서 실행하는 소프트웨어의 소프트웨어 구성에 따라 디바이스 전용 증명 메시지를 생성하는 단계; 상기 제2 데이터 처리 디바이스에 의해, 상기 제1 데이터 처리 디바이스 및 제2 데이터 처리 디바이스가 상호작용하는 상호작용 프로토콜에 따라 애플리케이션 전용 증명 메시지를 생성하는 단계; 상기 제2 데이터 처리 디바이스에 의해, 상기 애플리케이션 전용 증명 메시지를 상기 디바이스 전용 증명 메시지에 암호로 묶는 단계; 상기 제1 데이터 처리 디바이스에 의해, 상기 애플리케이션 전용 증명 메시지에 암호로 묶여진 상기 디바이스 전용 증명 메시지를 검증함으로써 상기 애플리케이션 전용 증명 메시지의 신뢰 상태를 검출하는 것을 포함하는, 상기 애플리케이션 전용 증명 메시지를 검증하는 단계; 및 상기 제1 데이터 처리 디바이스에 의해, 상기 검증된 애플리케이션 전용 증명 메시지에 따라, 상기 상호작용 프로토콜에 따른 상기 제2 데이터 처리 디바이스와의 상호작용을 확립하는 단계를 포함한다.

Description

데이터 처리
본 개시내용은 데이터 처리에 관한 것이다.
증명(attestation)은, 유효화 엔티티(예컨대, 데이터 처리 디바이스)가, 상호작용중인 또 하나의 엔티티나 데이터 처리 디바이스의 신뢰성 및/또는 자격들을 판정하게 하는 데이터 처리 기술이다. 예컨대, 특별한 소프트웨어 서비스를 실행하는 또 하나의 디바이스에 접속하는 클라이언트 디바이스는, 그 서비스가 정확히 예시되어 있고 신뢰 하드웨어 구현의 맥락에서 실행중인 것을 검증 가능한 것이어야 할 수도 있다. 마찬가지로, IoT(사물 인터넷) 서비스는, 그것에 접속하는 IoT 서비스의 자격들 및/또는 신뢰성을 판정 가능한 것이어야 할 수도 있다.
이전에 제한된 증명의 구현들에 있어서, 전용 프로토콜은, 잠재적으로 전용 하드웨어 통합을 포함하는, 엔티티들을 상호작용시키는 시스템 전체에 걸쳐 통합을 요구하는 것이 사용된다. 엔티티들을 상호작용시키는 개개의 시스템들의 특정한 요구에 각기 맞춰진 현존하는, 상기와 같은 증명 프로토콜들과 시스템들이 현재 많은 수가 있다. 이 수직으로 통합된 프로토콜들은, 표준화되고, 조화되고 또는 대체될 가능성이 없다고 생각되고, 심지어 경쟁 시스템간의 엔트리의 상업적 장벽들도 표현할 수도 있다.
보안 시스템들이 더 크고 더 일반적이게 늘어남에 따라, 이러한 배치는, 디바이스 벤더들이 변화하는 시장에 적응하는 데 값비싸고 번거로워질 수 있고, 불변의 신뢰점이 디바이스 하드웨어의 일부임에 따라서 증명이 증명 클라이언트들의 하드웨어 특정 포팅(porting) 및 구현들을 요구할 때 소프트웨어 벤더들을 위해 값비싸고 번거로워질 수 있고, 및/또는, 잠재적으로 다중 프로토콜들과 상호작용 시스템들을 지원해야 하는 유효화 엔티티들을 위해 값비싸고 번거로워질 수 있다.
배치의 일례에서 제공하는 방법은:
제1 데이터 처리 디바이스에 의해, 제2 데이터 처리 디바이스의 증명을 요구하는 단계;
상기 제2 데이터 처리 디바이스에 의해, 디바이스 전용 키, 상기 제2 데이터 처리 디바이스의 하드웨어 구성, 및 상기 제2 데이터 처리 디바이스상에서 실행하는 소프트웨어의 소프트웨어 구성에 따라 디바이스 전용 증명 메시지를 생성하는 단계;
상기 제2 데이터 처리 디바이스에 의해, 상기 제1 데이터 처리 디바이스 및 제2 데이터 처리 디바이스가 상호작용하는 상호작용 프로토콜에 따라 애플리케이션 전용 증명 메시지를 생성하는 단계;
상기 제2 데이터 처리 디바이스에 의해, 상기 애플리케이션 전용 증명 메시지를 상기 디바이스 전용 증명 메시지에 암호로 묶는 단계;
상기 제1 데이터 처리 디바이스에 의해, 상기 애플리케이션 전용 증명 메시지에 암호로 묶여진 상기 디바이스 전용 증명 메시지를 검증함으로써 상기 애플리케이션 전용 증명 메시지의 신뢰 상태를 검출하는 것을 포함하는, 상기 애플리케이션 전용 증명 메시지를 검증하는 단계; 및
상기 제1 데이터 처리 디바이스에 의해, 상기 검증된 애플리케이션 전용 증명 메시지에 따라, 상기 상호작용 프로토콜에 따른 상기 제2 데이터 처리 디바이스와의 상호작용을 확립하는 단계를 포함한다.
또 하나의 배치의 예에서 제공하는 데이터 처리 디바이스는:
디바이스 전용 키를 저장하는 회로소자;
제2 데이터 처리 디바이스에 의한 증명 요구에 응답하여, 상기 디바이스 전용 키, 상기 데이터 처리 디바이스의 하드웨어 구성, 및 상기 데이터 처리 디바이스상에서 실행하는 소프트웨어의 소프트웨어 구성에 따라, 디바이스 전용 증명 메시지를 생성하는 회로소자;
상기 데이터 처리 디바이스 및 상기 제2 데이터 처리 디바이스가 상호작용하는 상호작용 프로토콜에 따라 애플리케이션 전용 증명 메시지를 생성하는 회로소자;
상기 애플리케이션 전용 증명 메시지를 상기 디바이스 전용 증명 메시지에 암호로 묶는 회로소자를 포함한다.
또 하나의 배치의 예에서 제공하는 데이터 처리 디바이스는:
제2 데이터 처리 디바이스의 증명을 요구하고, 상기 데이터 처리 디바이스 및 상기 제2 데이터 처리 디바이스가 상호작용하는 상호작용 프로토콜에 따라 애플리케이션 전용 증명 메시지에 암호로 묶여진, 디바이스 전용 키, 상기 제2 데이터 처리 디바이스의 하드웨어 구성, 및 상기 제2 데이터 처리 디바이스상에서 실행하는 소프트웨어의 소프트웨어 구성에 따라 디바이스 전용 증명 메시지를 상기 제2 데이터 처리 디바이스로부터 수신하는 회로소자;
상기 애플리케이션 전용 증명 메시지에 암호로 묶여진 상기 디바이스 전용 증명 메시지를 검증함으로써 상기 애플리케이션 전용 증명 메시지의 신뢰 상태를 검출하는 것을 포함하는, 상기 애플리케이션 전용 증명 메시지를 검증하는 회로소자; 및
상기 검증된 애플리케이션 전용 증명 메시지에 따라, 상기 상호작용 프로토콜에 따른 상기 제2 데이터 처리 디바이스와의 상호작용을 확립하는 회로소자를 포함한다.
또 하나의 배치의 예에서 제공하는 데이터 처리 시스템은: 상기 상호작용 프로토콜을 사용하여 서로 상호작용하도록 구성된, 위에 기재된 상기 데이터 처리 디바이스들을 포함한다.
또 하나의 배치의 예에서 제공하는 데이터 처리 디바이스의 작동 방법은:
디바이스 전용 키를 저장하는 단계;
제2 데이터 처리 디바이스에 의한 증명 요구에 응답하여, 상기 디바이스 전용 키, 상기 데이터 처리 디바이스의 하드웨어 구성, 및 상기 데이터 처리 디바이스상에서 실행하는 소프트웨어의 소프트웨어 구성에 따라, 디바이스 전용 증명 메시지를 생성하는 단계;
상기 데이터 처리 디바이스 및 상기 제2 데이터 처리 디바이스가 상호작용하는 상호작용 프로토콜에 따라 애플리케이션 전용 증명 메시지를 생성하는 단계;
상기 애플리케이션 전용 증명 메시지를 상기 디바이스 전용 증명 메시지에 암호로 묶는 단계를 포함한다.
또 하나의 배치의 예에서 제공하는 데이터 처리 디바이스의 작동 방법은:
제2 데이터 처리 디바이스의 증명을 요구하고, 상기 데이터 처리 디바이스 및 상기 제2 데이터 처리 디바이스가 상호작용하는 상호작용 프로토콜에 따라 애플리케이션 전용 증명 메시지에 암호로 묶여진, 디바이스 전용 키, 상기 제2 데이터 처리 디바이스의 하드웨어 구성, 및 상기 제2 데이터 처리 디바이스상에서 실행하는 소프트웨어의 소프트웨어 구성에 따라 디바이스 전용 증명 메시지를 상기 제2 데이터 처리 디바이스로부터 수신하는 단계;
상기 애플리케이션 전용 증명 메시지에 암호로 묶여진 상기 디바이스 전용 증명 메시지를 검증함으로써 상기 애플리케이션 전용 증명 메시지의 신뢰 상태를 검출하는 것을 포함하는, 상기 애플리케이션 전용 증명 메시지를 검증하는 단계; 및
상기 검증된 애플리케이션 전용 증명 메시지에 따라, 상기 상호작용 프로토콜에 따른 상기 제2 데이터 처리 디바이스와의 상호작용을 확립하는 단계를 포함한다.
또 하나의 배치의 예에서 제공하는 컴퓨터 프로그램은, 호스트 데이터 처리장치가,
디바이스 전용 키를 저장하는 컴퓨터 프로그램 로직; 제2 데이터 처리 디바이스에 의한 증명 요구에 응답하여, 상기 디바이스 전용 키, 상기 데이터 처리 디바이스의 하드웨어 구성, 및 상기 데이터 처리 디바이스상에서 실행하는 소프트웨어의 소프트웨어 구성에 따라, 디바이스 전용 증명 메시지를 생성하는 컴퓨터 프로그램 로직; 상기 데이터 처리 디바이스 및 상기 제2 데이터 처리 디바이스가 상호작용하는 상호작용 프로토콜에 따라 애플리케이션 전용 증명 메시지를 생성하는 컴퓨터 프로그램 로직; 및 상기 애플리케이션 전용 증명 메시지를 상기 디바이스 전용 증명 메시지에 암호로 묶는 컴퓨터 프로그램 로직을 포함하는, 명령 실행 환경을 제공하도록 제어한다.
또 하나의 배치의 예에서 제공하는 컴퓨터 프로그램은, 호스트 데이터 처리장치가,
제2 데이터 처리 디바이스의 증명을 요구하고, 상기 데이터 처리 디바이스 및 상기 제2 데이터 처리 디바이스가 상호작용하는 상호작용 프로토콜에 따라 애플리케이션 전용 증명 메시지에 암호로 묶여진, 디바이스 전용 키, 상기 제2 데이터 처리 디바이스의 하드웨어 구성, 및 상기 제2 데이터 처리 디바이스상에서 실행하는 소프트웨어의 소프트웨어 구성에 따라 디바이스 전용 증명 메시지를 상기 제2 데이터 처리 디바이스로부터 수신하는 컴퓨터 프로그램 로직;
상기 애플리케이션 전용 증명 메시지에 암호로 묶여진 상기 디바이스 전용 증명 메시지를 검증함으로써 상기 애플리케이션 전용 증명 메시지의 신뢰 상태를 검출하는 것을 포함하는, 상기 애플리케이션 전용 증명 메시지를 검증하는 컴퓨터 프로그램 로직; 및
상기 검증된 애플리케이션 전용 증명 메시지에 따라, 상기 상호작용 프로토콜에 따른 상기 제2 데이터 처리 디바이스와의 상호작용을 확립하는 컴퓨터 프로그램 로직을,
포함하는, 명령 실행 환경을 제공하도록 제어한다.
본 기술의 추가의 각각의 측면들 및 특징들은 첨부된 청구항들에 의해 기재되어 있다.
본 기술에 대해서, 아래의 첨부도면에 예시된 것처럼 본 기술의 실시예들을 참조하여, 예로만 한층 더 설명하겠다:
도 1은 데이터 처리 디바이스를 개략적으로 예시한 것이고;
도 2는 도 1의 상기 디바이스의 제조 방법의 적어도 일부를 예시하는 개략적 흐름도이고;
도 3은 보안 저장모듈의 동작을 개략적으로 예시한 것이고;
도 4는 상기 개시내용의 실시예들의 동작의 개략적 개요를 제공하고;
도 5는 방법을 예시하는 개략적 흐름도이고;
도 6은 암호학적 바인딩 기술의 일례를 예시하는 개략적 흐름도이고;
도 7은 또 하나의 데이터 처리 디바이스를 개략적으로 예시한 것이고;
도 8 및 9는 각각의 방법들을 예시하는 개략적 흐름도이고;
도 10은 시뮬레이터 구현을 개략적으로 예시한 것이다.
이제 상기 도면들을 참조하면, 도 1은 처리소자 또는 중앙처리유닛(CPU)(120), 랜덤 액세스 메모리(RAM) 등의 메모리(130), 인터페이스(140) 및 하나 이상의 애플리케이션 프로그램들을 위한 스토리지(이를테면, 플래시 메모리 등의 불휘발성 기계 판독 가능한 메모리)(150)를, 갖는 애플리케이션 프로그램 실행 회로소자(110)를 포함하는, 증명 요구에 대응 가능한 디바이스로서 사용하는 데 적절한 데이터 처리 디바이스(100)를 개략적으로 예시한 것이다. 또한, 상기 데이터 처리 디바이스는, 상기 애플리케이션 실행 회로소자(110)와 데이터 통신을 하는 보안 저장모듈(160)도 포함한다.
상기 보안 저장모듈(160)은, 상기 회로소자(110)의 모든 상황하에서 액세스 가능한 위변조 방지(temper-resistant) 메모리로서 구현되어도 된다. 그 밖의 예들에서, "탬퍼 레지스턴스"란, 상기 디바이스(100)의 제조 후 이루어진 변조에 대해 메모리가 둔감해지거나 보호되는 것, 및/또는 상기 회로소자(110)외에도 이루어지거나 상기 회로소자(110)상에서 실행하는 애플리케이션들이 허가된, 액세스들을 말한다.
그 밖의 예들에서, 상기 보안 저장모듈(160)은, 아래에 설명된 것과 같은 하나 이상의 키들을 저장할 뿐만 아니라, 일 세트의 암호 연산들이 구성될 수 있는 것에 근거하여 적어도 일부의 암호 기능들도 구현할 수 있는 상기 디바이스(100)에 내장된 암호 하드웨어의 위변조 방지 단편을 다시 표현하는 소위 신뢰 플랫폼 모듈(TPM)이어도 된다. TPM들에 대해서는, 다음의 링크: 참고로 본 설명에 문서가 포함된 https://en.wikipedia.org/wiki/Trusted Platform Module에서 설명되어 있다. 일부의 예들에서, 상기 보안 저장모듈(160)의 일례로서 상기 TPM은, 잠재적으로 난수를 생성하는 것과 아래에 설명될 증명 함수를 수행하는 것과 함께, 공개키 암호 연산들을 행하는 자격, 해시 함수들을 계산하는 자격, 키들과 그 밖의 비밀 데이터를 안전하게 저장하는 자격을 가질 수도 있다. 본 문맥에서, 해시 함수는, 입력 데이터 공간을 일반적으로 보다 작은 출력 데이터 공간에 매핑하는데 사용된 수학 함수이다. 암호 해독의 맥락에서는, 해시 함수들이, 일반적으로, 출력 해시값이 동일하게 되는 또 하나의 입력값을 선택하는 것을 어렵게 하도록 확립된다.
그래서, 상기 보안 저장모듈(160)의 기능성의 일부로서, 적어도 소위 디바이스 전용 키(DSK)나 구현 키(162)는 안전하게 저장된다. 이것은, 상기 디바이스(100)의 제조에 있어서 제공 및 저장되고, 도 2를 참조하여 아래에 설명될 방법에 따라 제공된다.
이 때문에, 아래에 한층 더 설명될 기술들을 사용하여, 상기 디바이스(100)는, 디바이스 전용 키를 저장하는 회로소자(160); 및 제2 데이터 처리 디바이스에 의한 증명 요구에 응답하여, 상기 디바이스 전용 키, 상기 데이터 처리 디바이스의 하드웨어 구성, 및 상기 데이터 처리 디바이스상에서 실행하는 소프트웨어의 소프트웨어 구성에 따라 디바이스 전용 증명 메시지를 생성하고, 상기 데이터 처리 디바이스 및 상기 제2 데이터 처리 디바이스가 상호작용하는 상호작용 프로토콜에 따라 애플리케이션 전용 증명 메시지를 생성하며, 상기 애플리케이션 전용 증명 메시지를 상기 디바이스 전용 증명 메시지에 암호로 묶는, 회로소자(110/160)를, 포함하는 데이터 처리 디바이스의 일례를 제공할 수 있다.
도 2를 참조하면, 단계 200에서, 예를 들면 검증 서비스에서 제공한 검증장치는, 상기 디바이스 전용 키(162)를 생성한다. 이것은, 상기 디바이스(100)에 대해 유일하거나, 적어도 (상기 디바이스(100)의 임의의 특별한 인스턴스에 대해, 상기 DSK(162)는, 적어도 상기 디바이스(100)의 임의의 그 밖의 인스턴스에 관해서 유일하도록) 상기 디바이스(100)를 구비하는 디바이스들의 패밀리내에서 유일하다. 단계 210에서, 예를 들면 상기 검증장치를 사용한 상기 검증 서비스는, 상기 디바이스 전용 키를 암호로 서명한다. 단계 220에서는, 상기 디바이스 전용 키(162)를, 상기 디바이스(100)의 제조의 일부로서 상기 보안 저장모듈에 저장한다.
도 3은 상기 보안 저장모듈에서 보유한 상기 디바이스 전용 키에의 액세스를 제어하는 기술의 일례를 예시하는 개략적 흐름도다. 이것은, 상기 제2 데이터 처리 디바이스(상기 디바이스(100))가 디바이스 전용 키를 안전하게 저장하고, 상기 디바이스 전용 증명 메시지를 생성하는 단계가 상기 제2 데이터 처리장치의 증명 클라이언트 소프트웨어에 의해, 상기 안전하게 저장된 디바이스 전용 키에 액세스하는 것을 포함하는, 일례를 제공한다.
적어도 일부의 예들에 있어서, 상기 디바이스 전용 키에의 액세스를 상기 회로소자(110)에서의 애플리케이션 프로그램이 요구할 때, 상기 CPU(120) 또는 상기 보안 저장모듈(160)의 해시 함수 생성기는, 단계 300에서 상기 애플리케이션 프로그램을 형성하는 상기 컴퓨터 소프트웨어로부터 해시값을 생성하고, 이것은 상기 보안 저장모듈에 건네지고 나서, 그 생성된 해시값을, 상기 디바이스 전용 키에 액세스하게 허가되어야 하는 허용 가능한 애플리케이션 프로그램의 저장된 해시값과 비교한다. 단계 320에서, 상기 보안 저장모듈은, 단계 300에서 상기 CPU에서 제공한 해시값이 단계 310에서 검출된 저장된 해시값과 같은지의 여부에 따라 상기 디바이스 전용 키에의 액세스를 허용 또는 거절한다.
그러므로, 이것은, 상기 디바이스 전용 키에 액세스 하려고 시도하는 클라이언트 소프트웨어에 의존한 해시값을, 상기 안전하게 저장된 디바이스 전용 키에의 액세스가 허용되는 것을 가리키는 일 세트의 하나 이상의 해시값들과 비교하는 액세스 단계의 일례를 제공한다.
이들 또는 그 밖의 예들에서, 상기 설명된 것과 같은 배치는, (예를 들면, 애플리케이션 프로그램 코드(150)의 일례로서 실행하는) 디바이스 전용 증명 소프트웨어를 사용한 간접 액세스외에도 상기 디바이스 전용 키에의 액세스를 금지 또는 제한할 수 있다. 이러한 소프트웨어는, 비밀 해싱이나 암호 알고리즘 등을 사용하여 상기 디바이스 전용 키에 액세스할 수 있거나, 이러한 액세스를 허용하기 위해서 특정한 디바이스 전용 하드웨어 및/또는 소프트웨어 특징들의 존재를 위해 시험할 수 있다.
본 실시예의 개요는 도 4에 제공되어 있다. 여기서, 증명 프로세스는, 상기 데이터 처리 디바이스들(증명을 요구하는 디바이스와 증명될 디바이스)이 통신할 상호작용 프로토콜에 관해 애플리케이션 전용 고려사항에 관한 프로토콜 전용 증명과는 별도로, 증명될 상기 디바이스의 하드웨어 구성과 해당 디바이스상에서 실행하는 소프트웨어의 소프트웨어 구성과 같은 디바이스 전용 측면들 사이에서와 같이 별도로 생각된다(또는 나누어진다).
애플리케이션 전용 증명 파라미터들의 예들은:
· 상기 디바이스(100)와 그 밖의 디바이스들과의 상호작용을 위한 증명 프로토콜 관련 파라미터들
· 어떤 디바이스가 서비스 의뢰를 받았을 경우와 같은 애플리케이션 특정 상태를,
포함할 수 있다.
디바이스 전용 증명 파라미터들의 예들은:
· 제조사
· 신뢰점
· 하드웨어 구현
· 상기 디바이스(100)가 디버그 상태에 있는지 여부와 같은 디바이스 특정 상태
· 초기의 부트 프로세스의 완료
· 상기 디바이스(100)상에 실행하고 상기 초기의 부트 프로세스에 의해 검증된 소프트웨어 버전들을,
포함할 수 있다.
도 4를 참조하면, 상기 디바이스 전용 키(162)는, 도면에서 상기 구현 키 또는 구현 증명 키를 말한다. 구현 서명자(400)는, 디바이스 제조에서 구현 키를 발행한다. 상기 구현 서명자는, 구현 검증자(410)와 관련된다. 그 서명된 구현 키는, 상기 디바이스(430)(이를테면 도 1의 디바이스(100))의 구현의 상기 디바이스 특정 측면들을 식별하고(또는 상기 디바이스 특정 측면들의 어서션을 검증하는 데 사용될 수 있고), 제조(420)에서 상기 디바이스(430)의 상기 보안 스토리지에 인스톨된다. 상기 디바이스(430)는, 상기 디바이스(430)의 상기 보안 스토리지(444)로부터 서명된 증명(442)을 얻거나 그 보안 스토리지를 사용하여 얻는, 프로토콜 전용(애플리케이션 전용) 증명 클라이언트 애플리케이션(440)을 갖는다.
그 증명 프로세스는 각종 형태를 취할 수 있다. 예를 들면, 그 디바이스 전용 증명 메시지를 생성하기 위해서, 상기 보안 저장모듈(160)에는, 상기 디바이스 전용 키(162)에 의해 (예를 들면, 보안 저장모듈(160)의 기능성을 사용하여) 서명된 메시지의 형태로 제공될 수 있는 상기 디바이스(100)의 하드웨어 특징들을 가리키는 데이터가 (제조에 있어서) 구비되어 있을 수 있다.
애플리케이션 전용 증명 메시지는, 예를 들면 다음과 같이 생성될 수 있다. 상기 애플리케이션 프로그램 실행 회로소자(110)상에서 실행하는 애플리케이션 프로그램은, 애플리케이션 전용 메시지들을 서명하는 데 사용된 공개/비밀 키 쌍을 생성한다. 상기 보안 저장모듈은, 공개 키의 해시를 상기 DSK(162)로 서명하여, 암호 바인딩을 작성한다.
증명 클라이언트(440)는, 유효화 엔티티(450) 이를테면 또 하나의 데이터 처리 디바이스(그것의 일례는 도 7을 참조하여 후술한다)로 증명 프로토콜을 구현한다. 상기 증명 클라이언트는, 임의의 프로토콜 전용 증명 정보(452)의 상기 구현 증명(454)에의 암호 바인딩을 제어한다. 그 바인딩 연산은, 도 6을 참조하여 한층 더 후술하겠다. 그러므로, 이것은, 상기 디바이스(430)에서 공급하는 프로토콜 전용 하드웨어를 필요로 하지 않고 상기 구현 증명 키(444)로 표현된 상기 신뢰점과 상기 프로토콜 전용 증명 정보를 링크시킨다.
상기 유효화 엔티티(450)는, 프로토콜 전용 검증자(460)로 상기 프로토콜 전용 증명을 검증하고 나서 그 구현 검증자(410)와 상호작용하여, 상기 프로토콜 전용 증명을 암호로 서명하는 데 사용되었던 상기 구현 증명(442)을 검증한다.
도 5는 일 방법을 예시하는 개략적 흐름도다. 도 5에서는, (제1 데이터 처리 디바이스라고 한) 유효화 디바이스에 의한 연산들이 점선(500)의 좌측에 도시되어 있고, (제2 데이터 처리 디바이스라고 한) 유효화될 디바이스에 의한 연산들이 점선(500)의 우측에 도시되어 있다. 그 방법은 이하의 단계들을 포함한다.
단계 510에서, 제1 데이터 처리 디바이스(도 4에서 유효화 엔티티(450))는, 제2 데이터 처리 디바이스의 증명을 요구하거나 제2 처리 디바이스에 의해 증명을 요구한다.
단계 520에서, 상기 제2 데이터 처리 디바이스(도 4에서 디바이스(430))는, 디바이스 전용 키, 상기 제2 데이터 처리 디바이스의 하드웨어 구성, 및 상기 제2 데이터 처리 디바이스상에서 실행하는 소프트웨어의 소프트웨어 구성에 따라 디바이스 전용 증명 메시지(454)를 생성한다.
단계 530에서, 상기 제2 데이터 처리 디바이스는, 상기 제1 데이터 처리 디바이스 및 제2 데이터 처리 디바이스가 상호작용하는 상호작용 프로토콜에 따라 애플리케이션 전용 증명 메시지(454)를 생성한다.
단계 540에서, 상기 제2 데이터 처리 디바이스는, 상기 애플리케이션 전용 증명 메시지(454)를 상기 디바이스 전용 증명 메시지(452)에 암호로 묶는다.
이때, 일부의 실시예들에서, 상기 단계 540은, 단계 520과 530 양쪽에서 함께 생성된 상기 메시지들을 서명하여, 그 암호 바인딩을 작성하는 것을 포함할 수 있다.
단계 550에서, 상기 제1 데이터 처리 디바이스는, 상기 애플리케이션 전용 증명 메시지에 암호로 묶여진 상기 디바이스 전용 증명 메시지를 검증함으로써 상기 애플리케이션 전용 증명 메시지의 신뢰 상태를 검출하는 것을 포함하는, 상기 애플리케이션 전용 증명 메시지를 검증한다.
상기 단계 200(도 2) 및 단계 550(도 5)은, 상기 제2 데이터 처리 디바이스에 의한 저장용 상기 디바이스 전용 키를 생성하는 검증장치의 일례를 제공할 수 있다는 점에서 동일한 엔티티와의 상호작용에 영향을 미칠 수 있고; 검증 단계의 일례는, 상기 제1 데이터 처리 디바이스에 의해, 상기 검증장치에 의한 상기 디바이스 전용 증명 메시지의 검증을 요구하는 것을 포함한다.
단계 560에서, 상기 제1 데이터 처리 디바이스는, 상기 검증된 애플리케이션 전용 증명 메시지에 따라, 상기 상호작용 프로토콜에 따른 상기 제2 데이터 처리 디바이스와의 상호작용을 확립한다.
단계 570, 580에 의해 개략적으로 도시된 것처럼, 상기 상호작용을 확립하는 단계는, 상기 제1 및 제2 데이터 처리 디바이스에 의해, (상기 제1 데이터 처리 디바이스와 제2 데이터 처리 디바이스간의 암호화된 통신을 위한 소위 디피-헬만(Diffie-Hellman) 키 교환 기술 등에 의해) 하나 이상의 세션 키들을 교환하고, 그 세션 키들을 사용하여 통신을 실시하는 것을 포함할 수 있다.
도 6은 상기 디바이스 전용 증명 메시지와 상기 애플리케이션 전용 증명 메시지의 암호 바인딩의 프로세스를 개략적으로 예시한 것이다. 점선(600)의 좌측에 대한 단계들은 상기 검증 디바이스에 의해 실시되고, 상기 점선(600)의 우측에 대한 단계들은 검증될 상기 디바이스에 의해 실시된다.
일반적으로 말하면, 암호 바인딩은, 암호 연산들을 사용하여 데이터 무결성과 신뢰성을 입증하는 기술을 제공한다. 일부의 예들에서, 이 기술은, 각 데이터 객체의 해시값을 생성하고 하나 이상의 해시값들의 콜렉션을 디지털로 서명함으로써 연산할 수 있다. 그 데이터가 이후에 액세스될 때, 서명은 검증될 수 있고, 해시값들의 불일치는 상기 바인딩 연산이 일어난 이후에 데이터 객체가 수정되어 있는지를 검출하는 데 사용될 수 있다.
단계 600에서, 검증될 상기 디바이스는 상기 애플리케이션 전용 증명 메시지를 생성하고, 단계 610에서는 상기 구현 키나 디바이스 전용 키를 사용하여 상기 생성된 해시를 암호로 서명한다.
단계 620에서, 상기 검증 디바이스는, 잠재적으로 상기 검증자(410)를 참조하여, 그 서명을 검증한다. 상기 검증 디바이스는, 단계 630에서 동일한 해시 알고리즘을 사용하여 대응한 해시값을 생성하고, 단계 640에서는 그 단지 생성된 해시값과 서명된 해시값을 비교한다. 그 2개의 해시값이 일치하면, 상기 애플리케이션 전용 증명 메시지는 신뢰될 수 있다.
이때, 상술한 것처럼, 일부의 다른 실시예들에서, 이 프로세스는, 상기 서명된 바인딩과 디바이스 전용 증명이 함께 진행된다는 것을 입증하기 위해서, 상기 디바이스 전용 증명을 생성하는 것과 동시에 수행되는 것이 효과적일 수도 있다. 달리 말하면, 일부의 예들에서, 상기 단계 540은, 단계 520과 530의 양쪽을 함께 서명하여, 그 바인딩을 작성하는 것을 포함할 수 있다.
도 7은 중앙처리유닛이나 CPU(710) 등의 처리소자와, 하나 이상의 애플리케이션 프로그램들을 위한 예를 들면 RAM과 스토리지(이를테면, 불휘발성 기계 판독 가능한 메모리 이를테면 플래시 메모리)를 구비하는 하나 이상의 메모리들(720)과, 인터페이스(730)를 포함하는, 검증 요구 데이터 처리 디바이스(700)를 개략적으로 예시한 것이다.
이 때문에, 도 7은 데이터 처리 디바이스의 일례를 제공하고, 이 데이터 처리 디바이스는, 제2 데이터 처리 디바이스의 증명을 요구하고, 상기 데이터 처리 디바이스 및 상기 제2 데이터 처리 디바이스가 상호작용하는 상호작용 프로토콜에 따라 애플리케이션 전용 증명 메시지에 암호로 묶여진, 디바이스 전용 키, 상기 제2 데이터 처리 디바이스의 하드웨어 구성, 및 상기 제2 데이터 처리 디바이스상에서 실행하는 소프트웨어의 소프트웨어 구성에 따라 디바이스 전용 증명 메시지를 상기 제2 데이터 처리 디바이스로부터 수신하는 회로소자; 상기 애플리케이션 전용 증명 메시지에 암호로 묶여진 상기 디바이스 전용 증명 메시지를 검증함으로써 상기 애플리케이션 전용 증명 메시지의 신뢰 상태를 검출하는 것을 포함하는, 상기 애플리케이션 전용 증명 메시지를 검증하는 회로소자; 및 상기 검증된 애플리케이션 전용 증명 메시지에 따라, 상기 상호작용 프로토콜에 따른 상기 제2 데이터 처리 디바이스와의 상호작용을 확립하는 회로소자를 포함한다. 이 기능들은, 상기 메모리(720)에서 저장한 컴퓨터 소프트웨어의 제어하에 상기 CPU(710)에 의해 수행될 수 있다.
도 5에 도시된 상호작용은, 상기 확립된 상호작용 프로토콜을 사용하여, 도 7의 데이터 처리 디바이스(700)와 상호작용하도록 구성된 도 1의 데이터 처리 디바이스(100)를 포함하는 데이터 처리 시스템의 맥락에서 일어날 수 있다.
도 8은, 데이터 처리 디바이스(이를테면, 유효화될 디바이스, 예를 들면 도 1의 상기 디바이스)의 작동 방법을 예시하는 개략적 흐름도이고, 이 방법은:
(단계 800에서) 디바이스 전용 키를 저장하는 단계;
(단계 810에서) 제2 데이터 처리 디바이스에 의한 증명 요구에 응답하여, 상기 디바이스 전용 키, 상기 데이터 처리 디바이스의 하드웨어 구성, 및 상기 데이터 처리 디바이스상에서 실행하는 소프트웨어의 소프트웨어 구성에 따라, 디바이스 전용 증명 메시지를 생성하는 단계;
(단계 820에서) 상기 데이터 처리 디바이스 및 상기 제2 데이터 처리 디바이스가 상호작용하는 상호작용 프로토콜에 따라 애플리케이션 전용 증명 메시지를 생성하는 단계;
(단계 830에서) 예를 들면, 유효화 요구 디바이스에 송신하기 위해서, 상기 애플리케이션 전용 증명 메시지를 상기 디바이스 전용 증명 메시지에 암호로 묶는 단계를 포함한다.
도 9는, 데이터 처리 디바이스(이를테면, 유효화 요구 디바이스, 예를 들면 도 7의 상기 디바이스)의 작동 방법을 예시하는 개략적 흐름도이고, 이 방법은:
(단계 900에서) 제2 데이터 처리 디바이스의 증명을 요구하고, 상기 데이터 처리 디바이스 및 상기 제2 데이터 처리 디바이스가 상호작용하는 상호작용 프로토콜에 따라 애플리케이션 전용 증명 메시지에 암호로 묶여진, 디바이스 전용 키, 상기 제2 데이터 처리 디바이스의 하드웨어 구성, 및 상기 제2 데이터 처리 디바이스상에서 실행하는 소프트웨어의 소프트웨어 구성에 따라 디바이스 전용 증명 메시지를 상기 제2 데이터 처리 디바이스로부터 수신하는 단계;
(단계 910에서) 상기 애플리케이션 전용 증명 메시지에 암호로 묶여진 상기 디바이스 전용 증명 메시지를 검증함으로써 상기 애플리케이션 전용 증명 메시지의 신뢰 상태를 검출하는 것을 포함하는, 상기 애플리케이션 전용 증명 메시지를 검증하는 단계; 및
(단계 920에서) 상기 검증된 애플리케이션 전용 증명 메시지에 따라, 상기 상호작용 프로토콜에 따른 상기 제2 데이터 처리 디바이스와의 상호작용을 확립하는 단계를 포함한다.
도 10은, 사용할 수도 있는 시뮬레이터 구현을 개략적으로 예시한 것이다. 상술한 실시예들은 관련된 기술들을 지원하는 특정한 처리 하드웨어를 동작시키는 장치 및 방법들의 관점에서 본 개시내용을 구현하지만, 컴퓨터 프로그램의 이용을 통해 구현되는 여기서 설명된 실시예들에 따라 명령 실행 환경을 제공하는 것도 가능하다. 이러한 컴퓨터 프로그램들은, 하드웨어 아키텍처의 소프트웨어 기반 구현을 제공하는 한, 시뮬레이터라고 하는 경우가 많다. 각종의 시뮬레이터 컴퓨터 프로그램들은, 에뮬레이터들, 가상 머신들, 모델들, 및 동적 이진 변환기를 비롯한 이진 변환기들을 포함한다. 전형적으로, 시뮬레이터 구현은, 시뮬레이터 프로그램(1010)을 지원하는 호스트 운영체계(1020)를 선택적으로 실행시키는 호스트 프로세서(1030)상에서 동작할 수도 있다. 일부의 배치들에는, 하드웨어와 상기 제공된 명령 실행 환경간의 시뮬레이션의 다수의 층들, 및/또는 동일한 호스트 프로세서상에 제공된 다수의 별개의 명령 실행 환경들이 존재할 수도 있다. 역사적으로, 강력한 프로세서들은 합리적 속도로 실행하는 시뮬레이터 구현을 제공하는데 필요하지만, 이러한 해결방법은, 특정한 상황에서, 이를테면, 호환성 또는 재사용 목적을 위해 또 하나의 프로세서 고유의 코드를 실행하기를 바라는 경우에 정당화될 수도 있다. 예를 들면, 시뮬레이터 구현은, 호스트 프로세서 하드웨어에서 지원하지 않는 추가의 기능성을 명령 실행 환경에 제공하여도 되거나, 전형적으로 상이한 하드웨어 아키텍처와 관련된 명령 실행 환경을 제공하여도 된다. 시뮬레이션의 개요는, "Some Efficient Architecture Simulation Techniques", Robert Bedichek, Winter 1990 USENIX Conference, Pages 53-63에 제시되어 있고, 이에 따라서 그 내용이 참고로 포함된다.
시뮬레이션된 실시예에서, 특별한 하드웨어 구성들 또는 특징들을 참조하여 실시예들을 이전에 설명한 결과로, 동등한 기능성이, 적절한 소프트웨어 구성들 또는 특징들에 의해 제공되어도 된다. 예를 들면, 특별한 회로소자는, 시뮬레이션된 실시예에서 컴퓨터 프로그램 로직으로서 구현되어도 된다. 마찬가지로, 메모리 하드웨어, 이를테면 레지스터나 캐시는, 시뮬레이션된 실시예에서 소프트웨어 데이터 구조로서 구현되어도 된다. 이전에 설명된 실시예들에서 참조한 하드웨어 요소들 중 하나 이상이 호스트 하드웨어(예를 들면, 호스트 프로세서 1030)상에 존재하는 배치들에 있어서, 일부의 시뮬레이션된 실시예들은, 적절할 경우, 호스트 하드웨어를 이용하여도 된다.
시뮬레이터 프로그램(1010)은, (비일시적 매체일 수도 있는) 컴퓨터 판독 가능한 또는 기계 판독 가능한 저장매체에 저장되어도 되고, 이 시뮬레이터 프로그램(1010)에 의해 모형이 만들어지는 하드웨어 아키텍처의 애플리케이션 프로그램 인터페이스와 같은 (애플리케이션들, 운영체계들, 및 하이퍼바이저를 포함할 수도 있는) 타겟 코드(1000)에 프로그램 인터페이스(명령 실행 환경)를 제공한다. 따라서, 상술한 하나 이상의 방법들을 수행하는 명령들을 포함하는 타겟 코드(1000)의 프로그램 명령들은, 시뮬레이터 프로그램(1010)을 사용하여 상기 명령 실행 환경내에서 실행되어도 되어, 상술한 도 1 및/또는 도 7의 장치의 하드웨어 특징들을 실제로 갖지 않는 호스트 컴퓨터(1030)는, 이 특징들을 에뮬레이트 할 수 있다.
본 출원에서, "...하도록 구성된"의 단어는, 장치의 요소가 상기 명시된 동작을 실시할 수 있는 구성을 갖는다는 것을 의미하는데 사용된다. 본 문맥에서, "구성"은, 하드웨어 또는 소프트웨어의 상호연결의 배치 또는 방식을 의미한다. 예를 들면, 상기 장치는 상기 명시된 연산을 제공하는 전용 하드웨어를 가져도 되거나, 프로세서 또는 다른 처리 디바이스는 그 기능을 행하도록 프로그래밍되어도 되고, 이 경우에, 그 기능이 수행되는 소프트웨어나 프로그램 명령들과, 이러한 소프트웨어나 프로그램 명령들이 제공되는(예를 들면, 저장되는) 비일시적 기계 판독 가능한 매체와 같은 제공 매체는, 상기 개시내용의 실시예들을 표현하는 것이라고 생각된다. "하도록 구성된"은, 상기 장치 요소가 임의의 방식으로 상기 명시된 연산을 제공하기 위해서 변경될 필요가 있다는 것을 암시하지는 않는다.
여기서는 본 기술의 예시적 실시예들을 첨부도면을 참조하여 상세히 설명하였지만, 본 기술들은 구체적인 실시예들에 한정되지 않고, 첨부된 청구항에서 기재된 것과 같은 본 기술들의 범위 및 사상으로부터 벗어나지 않고 당업자가 변경, 부가 및 수정을 여러 가지로 실시할 수 있다는 것을 알 수 있다. 예를 들면, 본 기술들의 범위로부터 벗어나지 않고 종속항의 특징들과 독립항의 특징들을 여러 가지로 조합할 수 있다.

Claims (16)

  1. 제1 데이터 처리 디바이스에 의해, 제2 데이터 처리 디바이스의 증명을 요구하는 단계;
    상기 제2 데이터 처리 디바이스에 의해, 디바이스 전용 키, 상기 제2 데이터 처리 디바이스의 하드웨어 구성, 및 상기 제2 데이터 처리 디바이스상에서 실행하는 소프트웨어의 소프트웨어 구성에 따라 디바이스 전용 증명 메시지를 생성하는 단계;
    상기 제2 데이터 처리 디바이스에 의해, 상기 제1 데이터 처리 디바이스 및 제2 데이터 처리 디바이스가 상호작용하는 상호작용 프로토콜에 따라 애플리케이션 전용 증명 메시지를 생성하는 단계;
    상기 제2 데이터 처리 디바이스에 의해, 상기 애플리케이션 전용 증명 메시지를 상기 디바이스 전용 증명 메시지에 암호로 묶는 단계;
    상기 제1 데이터 처리 디바이스에 의해, 상기 애플리케이션 전용 증명 메시지에 암호로 묶여진 상기 디바이스 전용 증명 메시지를 검증함으로써 상기 애플리케이션 전용 증명 메시지의 신뢰 상태를 검출하는 것을 포함하는, 상기 애플리케이션 전용 증명 메시지를 검증하는 단계; 및
    상기 제1 데이터 처리 디바이스에 의해, 상기 검증된 애플리케이션 전용 증명 메시지에 따라, 상기 상호작용 프로토콜에 따른 상기 제2 데이터 처리 디바이스와의 상호작용을 확립하는 단계를 포함하는, 방법.
  2. 제 1 항에 있어서,
    상기 제2 데이터 처리 디바이스에 의해, 상기 디바이스 전용 키를 안전하게 저장하는 단계; 및
    상기 디바이스 전용 증명 메시지를 생성하는 단계는, 상기 제2 데이터 처리장치의 증명 클라이언트 소프트웨어에 의해, 상기 안전하게 저장된 디바이스 전용 키에 액세스하는 단계를, 포함하는, 방법.
  3. 제 2 항에 있어서,
    디바이스 전용 증명 소프트웨어를 사용한 간접 액세스외에도 상기 디바이스 전용 키에의 액세스를 금지하는 것을 포함하는, 방법.
  4. 제 2 항에 있어서,
    상기 액세스하는 단계는, 상기 증명 클라이언트 소프트웨어에 의존한 해시를, 상기 안전하게 저장된 디바이스 전용 키에의 액세스가 허용되는 것을 가리키는 일 세트의 하나 이상의 해시값들과 비교하는 것을 포함하는, 방법.
  5. 선행하는 청구항 중 어느 한 항에 있어서,
    상기 확립하는 단계는, 상기 제1 및 제2 데이터 처리 디바이스에 의해, 상기 제1 데이터 처리 디바이스와 상기 제2 데이터 처리 디바이스간의 암호화된 통신을 위한 하나 이상의 세션 키들을 교환하는 것을 포함하는, 방법.
  6. 선행하는 청구항 중 어느 한 항에 있어서,
    검증장치에 의해, 상기 제2 데이터 처리 디바이스에 의한 저장용 상기 디바이스 전용 키를 생성하는 단계; 및
    상기 검증하는 단계는, 상기 제1 데이터 처리 디바이스에 의해, 상기 검증장치에 의한 상기 디바이스 전용 증명 메시지의 검증을 요구하는 단계를 포함하는, 방법.
  7. 데이터 처리 디바이스로서,
    디바이스 전용 키를 저장하는 회로소자;
    제2 데이터 처리 디바이스에 의한 증명 요구에 응답하여, 상기 디바이스 전용 키, 상기 데이터 처리 디바이스의 하드웨어 구성, 및 상기 데이터 처리 디바이스상에서 실행하는 소프트웨어의 소프트웨어 구성에 따라, 디바이스 전용 증명 메시지를 생성하는 회로소자;
    상기 데이터 처리 디바이스 및 상기 제2 데이터 처리 디바이스가 상호작용하는 상호작용 프로토콜에 따라 애플리케이션 전용 증명 메시지를 생성하는 회로소자;
    상기 애플리케이션 전용 증명 메시지를 상기 디바이스 전용 증명 메시지에 암호로 묶는 회로소자를 포함하는, 데이터 처리 디바이스.
  8. 데이터 처리 디바이스로서,
    제2 데이터 처리 디바이스의 증명을 요구하고, 상기 데이터 처리 디바이스 및 상기 제2 데이터 처리 디바이스가 상호작용하는 상호작용 프로토콜에 따라 애플리케이션 전용 증명 메시지에 암호로 묶여진, 디바이스 전용 키, 상기 제2 데이터 처리 디바이스의 하드웨어 구성, 및 상기 제2 데이터 처리 디바이스상에서 실행하는 소프트웨어의 소프트웨어 구성에 따라 디바이스 전용 증명 메시지를 상기 제2 데이터 처리 디바이스로부터 수신하는 회로소자;
    상기 애플리케이션 전용 증명 메시지에 암호로 묶여진 상기 디바이스 전용 증명 메시지를 검증함으로써 상기 애플리케이션 전용 증명 메시지의 신뢰 상태를 검출하는 것을 포함하는, 상기 애플리케이션 전용 증명 메시지를 검증하는 회로소자; 및
    상기 검증된 애플리케이션 전용 증명 메시지에 따라, 상기 상호작용 프로토콜에 따른 상기 제2 데이터 처리 디바이스와의 상호작용을 확립하는 회로소자를 포함하는, 데이터 처리 디바이스.
  9. 데이터 처리 시스템으로서,
    상호작용 프로토콜을 사용하여, 청구항 8에 따른 데이터 처리 디바이스와 상호작용하도록 구성된 청구항 7에 따른 데이터 처리 디바이스를 포함하는, 데이터 처리 시스템.
  10. 데이터 처리 디바이스의 작동 방법으로서,
    디바이스 전용 키를 저장하는 단계;
    제2 데이터 처리 디바이스에 의한 증명 요구에 응답하여, 상기 디바이스 전용 키, 상기 데이터 처리 디바이스의 하드웨어 구성, 및 상기 데이터 처리 디바이스상에서 실행하는 소프트웨어의 소프트웨어 구성에 따라, 디바이스 전용 증명 메시지를 생성하는 단계;
    상기 데이터 처리 디바이스 및 상기 제2 데이터 처리 디바이스가 상호작용하는 상호작용 프로토콜에 따라 애플리케이션 전용 증명 메시지를 생성하는 단계;
    상기 애플리케이션 전용 증명 메시지를 상기 디바이스 전용 증명 메시지에 암호로 묶는 단계를 포함하는, 작동 방법.
  11. 데이터 처리 디바이스의 작동 방법으로서,
    제2 데이터 처리 디바이스의 증명을 요구하고, 상기 데이터 처리 디바이스 및 상기 제2 데이터 처리 디바이스가 상호작용하는 상호작용 프로토콜에 따라 애플리케이션 전용 증명 메시지에 암호로 묶여진, 디바이스 전용 키, 상기 제2 데이터 처리 디바이스의 하드웨어 구성, 및 상기 제2 데이터 처리 디바이스상에서 실행하는 소프트웨어의 소프트웨어 구성에 따라 디바이스 전용 증명 메시지를 상기 제2 데이터 처리 디바이스로부터 수신하는 단계;
    상기 애플리케이션 전용 증명 메시지에 암호로 묶여진 상기 디바이스 전용 증명 메시지를 검증함으로써 상기 애플리케이션 전용 증명 메시지의 신뢰 상태를 검출하는 것을 포함하는, 상기 애플리케이션 전용 증명 메시지를 검증하는 단계; 및
    상기 검증된 애플리케이션 전용 증명 메시지에 따라, 상기 상호작용 프로토콜에 따른 상기 제2 데이터 처리 디바이스와의 상호작용을 확립하는 단계를 포함하는, 작동 방법.
  12. 호스트 데이터 처리장치가,
    디바이스 전용 키를 저장하는 컴퓨터 프로그램 로직;
    제2 데이터 처리 디바이스에 의한 증명 요구에 응답하여, 상기 디바이스 전용 키, 상기 데이터 처리 디바이스의 하드웨어 구성, 및 상기 데이터 처리 디바이스상에서 실행하는 소프트웨어의 소프트웨어 구성에 따라, 디바이스 전용 증명 메시지를 생성하는 컴퓨터 프로그램 로직;
    상기 데이터 처리 디바이스 및 상기 제2 데이터 처리 디바이스가 상호작용하는 상호작용 프로토콜에 따라 애플리케이션 전용 증명 메시지를 생성하는 컴퓨터 프로그램 로직; 및
    상기 애플리케이션 전용 증명 메시지를 상기 디바이스 전용 증명 메시지에 암호로 묶는 컴퓨터 프로그램 로직을 포함하는,
    명령 실행 환경을 제공하도록 제어하는, 컴퓨터 프로그램.
  13. 호스트 데이터 처리장치가,
    제2 데이터 처리 디바이스의 증명을 요구하고, 상기 데이터 처리 디바이스 및 상기 제2 데이터 처리 디바이스가 상호작용하는 상호작용 프로토콜에 따라 애플리케이션 전용 증명 메시지에 암호로 묶여진, 디바이스 전용 키, 상기 제2 데이터 처리 디바이스의 하드웨어 구성, 및 상기 제2 데이터 처리 디바이스상에서 실행하는 소프트웨어의 소프트웨어 구성에 따라 디바이스 전용 증명 메시지를 상기 제2 데이터 처리 디바이스로부터 수신하는 컴퓨터 프로그램 로직;
    상기 애플리케이션 전용 증명 메시지에 암호로 묶여진 상기 디바이스 전용 증명 메시지를 검증함으로써 상기 애플리케이션 전용 증명 메시지의 신뢰 상태를 검출하는 것을 포함하는, 상기 애플리케이션 전용 증명 메시지를 검증하는 컴퓨터 프로그램 로직; 및
    상기 검증된 애플리케이션 전용 증명 메시지에 따라, 상기 상호작용 프로토콜에 따른 상기 제2 데이터 처리 디바이스와의 상호작용을 확립하는 컴퓨터 프로그램 로직을 포함하는,
    명령 실행 환경을 제공하도록 제어하는, 컴퓨터 프로그램.
  14. 청구항 12 또는 청구항 13에 따른 컴퓨터 소프트웨어를 저장하는, 비일시적 기계 판독 가능한 저장매체.
  15. 하나 이상의 컴퓨터에 의해 실행될 때, 상기 하나 이상의 컴퓨터가 청구항 1, 10 또는 11 중 어느 한 항의 방법을 수행하게 하는, 컴퓨터 소프트웨어.
  16. 청구항 15에 따른 컴퓨터 소프트웨어를 저장하는, 비일시적 기계 판독 가능한 저장매체.
KR1020207035541A 2018-06-11 2019-05-24 데이터 처리 KR20210016547A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB1809521.6A GB2574598B (en) 2018-06-11 2018-06-11 Attestation using device-specific and application-specific attestation messages
GB1809521.6 2018-06-11
PCT/GB2019/051445 WO2019239101A1 (en) 2018-06-11 2019-05-24 Data processing

Publications (1)

Publication Number Publication Date
KR20210016547A true KR20210016547A (ko) 2021-02-16

Family

ID=62975440

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020207035541A KR20210016547A (ko) 2018-06-11 2019-05-24 데이터 처리

Country Status (9)

Country Link
US (1) US11546165B2 (ko)
EP (1) EP3803662A1 (ko)
JP (1) JP2021527342A (ko)
KR (1) KR20210016547A (ko)
CN (1) CN112236770A (ko)
GB (1) GB2574598B (ko)
IL (1) IL279006B2 (ko)
TW (1) TWI799594B (ko)
WO (1) WO2019239101A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210105611A1 (en) * 2019-10-04 2021-04-08 Qualcomm Incorporated User equipment radio capability protection
US11509480B2 (en) * 2020-06-30 2022-11-22 Vmware, Inc. Remote attestation based on runtime configuration
EP4307147A1 (de) * 2022-07-12 2024-01-17 Siemens Aktiengesellschaft Anwendungsprogramm ausgebildet eine umgebungsinformation zu erstellen

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5982680A (ja) * 1982-10-30 1984-05-12 Toshiba Corp 画像情報記憶検索装置
JP3625658B2 (ja) * 1998-09-18 2005-03-02 富士通エフ・アイ・ピー株式会社 暗号化方式および記録媒体
JP4274311B2 (ja) * 2002-12-25 2009-06-03 富士通株式会社 識別情報作成方法、情報処理装置及びコンピュータプログラム
CN100550728C (zh) * 2004-06-08 2009-10-14 华为技术有限公司 2g用户接入基于ip的多媒体子系统的方法
US8924728B2 (en) * 2004-11-30 2014-12-30 Intel Corporation Apparatus and method for establishing a secure session with a device without exposing privacy-sensitive information
US8438658B2 (en) * 2006-02-02 2013-05-07 International Business Machines Corporation Providing sealed storage in a data processing device
US8555072B2 (en) * 2006-08-31 2013-10-08 International Business Machines Corporation Attestation of computing platforms
US8510859B2 (en) * 2006-09-26 2013-08-13 Intel Corporation Methods and arrangements to launch trusted, co-existing environments
US7996891B2 (en) * 2008-01-30 2011-08-09 International Business Machines Corporation Systems, methods and computer program products for generating anonymous assertions
US8161285B2 (en) * 2008-09-26 2012-04-17 Microsoft Corporation Protocol-Independent remote attestation and sealing
JP5363134B2 (ja) * 2009-02-10 2013-12-11 Kddi株式会社 携帯無線通信端末、認証システム、携帯無線通信端末の認証方法、携帯無線通信端末の認証プログラム
JP5622668B2 (ja) * 2011-06-16 2014-11-12 株式会社エヌ・ティ・ティ・データ アプリケーション認証システム、アプリケーション認証方法
US20160149877A1 (en) 2014-06-05 2016-05-26 Cavium, Inc. Systems and methods for cloud-based web service security management basedon hardware security module
US9258117B1 (en) * 2014-06-26 2016-02-09 Amazon Technologies, Inc. Mutual authentication with symmetric secrets and signatures
CN106161354A (zh) * 2015-03-31 2016-11-23 阿里巴巴集团控股有限公司 业务鉴权方法、装置、设备及业务服务器
US9697371B1 (en) 2015-06-30 2017-07-04 Google Inc. Remote authorization of usage of protected data in trusted execution environments
JP6631210B2 (ja) * 2015-12-04 2020-01-15 大日本印刷株式会社 端末装置認証用のプログラム、端末装置認証方法、サーバ装置、および、認証システム
US9705859B2 (en) * 2015-12-11 2017-07-11 Amazon Technologies, Inc. Key exchange through partially trusted third party
US9794025B2 (en) * 2015-12-22 2017-10-17 Qualcomm Incorporated Systems and methods for communication and verification of data blocks
US10790978B2 (en) * 2016-05-25 2020-09-29 Intel Corporation Technologies for collective authorization with hierarchical group keys
US20180288101A1 (en) * 2017-03-29 2018-10-04 Hewlett Packard Enterprise Development Lp Verifying that usage of virtual network function (vnf) by a plurality of compute nodes comply with allowed usage rights
US10999081B2 (en) * 2018-04-12 2021-05-04 Microsoft Technology Licensing, Llc Dynamic certificate management for a distributed authentication system

Also Published As

Publication number Publication date
US11546165B2 (en) 2023-01-03
IL279006A (en) 2021-01-31
GB2574598A (en) 2019-12-18
IL279006B2 (en) 2024-03-01
JP2021527342A (ja) 2021-10-11
EP3803662A1 (en) 2021-04-14
IL279006B1 (en) 2023-11-01
TWI799594B (zh) 2023-04-21
GB2574598B (en) 2021-07-28
TW202013233A (zh) 2020-04-01
WO2019239101A1 (en) 2019-12-19
GB201809521D0 (en) 2018-07-25
CN112236770A (zh) 2021-01-15
US20210250176A1 (en) 2021-08-12

Similar Documents

Publication Publication Date Title
EP3458999B1 (en) Self-contained cryptographic boot policy validation
US10437985B2 (en) Using a second device to enroll a secure application enclave
US10885197B2 (en) Merging multiple compute nodes with trusted platform modules utilizing authentication protocol with active trusted platform module provisioning
US10771264B2 (en) Securing firmware
US9363087B2 (en) End-to-end security for hardware running verified software
US8856544B2 (en) System and method for providing secure virtual machines
JP7351925B2 (ja) リモートサーバでの認証用のデバイス識別子を生成するためにセキュアデバイス上でソフトウェアをオンボードすること
US9697359B2 (en) Secure software authentication and verification
CN107534551B (zh) 提供加密数据的方法、计算设备和计算机可读介质
KR20210016547A (ko) 데이터 처리
KR102660863B1 (ko) 구성 설정들의 안전한 서명
CN115001695B (zh) 平台的基板管理控制器身份的安全置备
TWI529555B (zh) 有關韌體認證之系統、方法及非暫態處理器可讀取媒體
CN113946375A (zh) 嵌入式系统快速安全启动方法、装置及电子设备
CN104268477A (zh) 一种安全控制方法及网络设备
CN111177709A (zh) 一种终端可信组件的执行方法、装置及计算机设备
JP2017011491A (ja) 認証システム
CN117063174A (zh) 用于通过基于app的身份的app间相互信任的安全模块及方法
KR20230137422A (ko) 디지털 장치를 위한 신뢰할 수 있는 컴퓨팅
CN117579331A (zh) 远程证明方法、装置、电子设备及存储介质
WO2024079438A1 (en) A device and a method for performing a cryptographic operation
Uzunay et al. Trust-in-the-middle: towards establishing trustworthiness of authentication proxies using trusted computing

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal