KR20200067744A - 부트로더 검증 확장방법 - Google Patents

부트로더 검증 확장방법 Download PDF

Info

Publication number
KR20200067744A
KR20200067744A KR1020190140612A KR20190140612A KR20200067744A KR 20200067744 A KR20200067744 A KR 20200067744A KR 1020190140612 A KR1020190140612 A KR 1020190140612A KR 20190140612 A KR20190140612 A KR 20190140612A KR 20200067744 A KR20200067744 A KR 20200067744A
Authority
KR
South Korea
Prior art keywords
data
asymmetric
verification
application
hash
Prior art date
Application number
KR1020190140612A
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 KR20200067744A publication Critical patent/KR20200067744A/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/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
    • 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
    • G06F21/575Secure boot
    • 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/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • 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
    • 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/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • 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/3263Cryptographic 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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • H04L9/3268Cryptographic 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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]

Landscapes

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

Abstract

기기에 대한 검증 확장방법은, 제1 데이터와 관련된 서명을 검증하는 요구에 응답하여, 오프-기기 스토리지(off-device storage)로부터 비대칭 검증자 어플리케이션을 취득하는 단계와, 비대칭 검증자 어플리케이션을 로드하는 단계와, 비대칭 검증자 어플리케이션을 실행하는 단계와, 비대칭 검증자 어플리케이션을 사용하여, 비대칭 키 암호를 이용하는 제1 데이터와 관련된 서명을 검증하는 단계를 포함한다.

Description

부트로더 검증 확장방법{BOOTLOADER VERIFICATION EXTENSION METHOD}
본 발명은 전자기기 분야에 관한 것이다. 특히, 본 발명은 기기가 데이터의 비대칭 검증을 행할 수 있도록 하는 것에 관한 것이다.
점점 더, 모바일 뱅킹, 의료 서비스에 대한 액세스 또는 채용 상세내용의 처리 등과 같이, 잠재적으로 민감한 정보의 취급을 포함하는 서비스를 액세스하기 위해 전자기기가 사용되고 있다. 또한, 사물인터넷(IoT)의 개발이 증가함에 따라, 예를 들어, 온도 데이터 등의 센서 정보 또는 사용자가 존재하는지 여부를 나타내는 근접 정보를 제공하는 전자기기에 의해 제공된 정보에 근거하여 가열, 공조 또는 가로등 등의 시스템에 제어되는 것이 더 일상적이 되고 있다. 이들 시나리오에서는, 이들 기기에 대한 소프트웨어 업데이트가 안전하게 행해지고 악의적인 당사자에 의해 위태롭게 되거나 다른 식으로 조작되지 않도록 보장하는 것이 중요할 수 있다.
기기에 의해 수신된 소프트웨어 업데이트를 검증할 수 있는 암호 기술이 제공될 수 있다. 그러나, 센서, 액추에이터 또는 IoT에서의 다른 기기 등의 매우 소형의 컴퓨팅 장치에서는, 메모리 기억용량, 처리 능력 및 통신 대역폭이 극히 제한될 수 있어, 행해질 수 있는 암호 기술을 제한할 수 있다. 더구나, 이와 같은 기기는 보통 전용 암호 하드웨어를 갖지 않는다.
기기 상에서 안전한 소프트웨어 업데이트를 행함에 있어서, 비대칭 암호의 사용이 보안을 소용없게 만드는 누출된 대칭 키의 위험을 제거하기 때문에, 대칭 암호 대신에 비대칭 암호를 사용하는 것이 일반적으로 더 좋다. 그러나, IoT 기기의 제한된 능력을 고려하면, 거의 행해지지 않는 활동(즉, 소프트웨어 업데이트의 검증)을 위해 IoT 기기의 기억용량의 상당한 부분을 예약하는 비대칭 암호 소프트웨어의 사이즈로 인해 비대칭 암호의 사용이 실행불가능한 것으로 밝혀졌다.
본 발명의 적어도 특정한 실시예들은 전술한 이들 문제의 한 개 이상을 해소한다.
특정한 발명내용 및 실시예는 첨부된 청구항에 기재되어 있다.
일면에 따르면, 기기에 대한 검증 확장방법으로서, 제1 데이터와 관련된 서명을 검증하는 요구에 응답하여, 오프-기기 스토리지(off-device storage)로부터 비대칭 검증자 어플리케이션을 취득하는 단계와, 상기 비대칭 검증자 어플리케이션을 로드하는 단계와, 상기 비대칭 검증자 어플리케이션을 실행하는 단계와, 상기 비대칭 검증자 어플리케이션을 사용하여, 비대칭 키 암호를 이용하는 상기 제1 데이터와 관련된 서명을 검증하는 단계를 포함하는 검증 확장방법이 제공될 수 있다.
비대칭 검증자 어플리케이션을 오프-기기 스토리지에 기억하고, 필요할 때 비대칭 검증자 어플리케이션을 취득함으로써, 비대칭 검증자 어플리케이션을 위해 기기 상의 메모리를 영구적으로 예약할 필요가 없어진다. 이에 따라, IoT 기기 등의 능력이 제한된 기기가 높은 보안의 비대칭 키 암호를 사용하는 것이 가능해진다.
일부 실시예에서, 제1 데이터와 관련된 서명은 제1 데이터의 해시의 서명이다. 이에 따라, 전체의 제1 데이터와 달리, 해시의 서명을 검증할 필요가 있으므로, 서명의 검증의 계산의 복잡성을 줄일 수 있다.
일부 실시예에서, 제1 데이터는 추가적인 어플리케이션이다. 이에 따르면, 어플리케이션이 로드/설치되어 실행되기 전에, 어플리케이션의 무결성/보안이 검증될 수 있다. 일부 실시예에서, 제1 어플리케이션은 플래시의 기록, 스토리지의 포맷, 키의 불러오기(import) 또는 퓨즈(fuse)의 프로그래밍 등의 특정한 작업을 행하는데 사용되는 소프트웨어일 수 있다.
일부 실시예에서는, 비대칭 검증자 어플리케이션을 실행하기 전에, 기기가 제1 해싱 함수와 초기 어플리케이션 해시를 이용하여 비대칭 검증자 어플리케이션을 검증하고, 긍정적인 검증 결과에 응답하여, 기기가 비대칭 검증자 어플리케이션을 실행한다. 이에 따르면, 비대칭 검증자 어플리케이션 그 자체의 무결성이 확인될 수 있으므로, 악의적인 당사자가 기기에 가짜 비대칭 검증자 어플리케이션을 제시할 수 있는 가능성을 회피함으로써 보안을 더 증진시킬 수 있다.
일부 실시예에서, 비대칭 검증자 어플리케이션은 기기의 마스터 부트로더를 이용하여 검증된다. 이에 따르면, 비대칭 검증자 어플리케이션이 기기의 로우 레벨 프로세스에 의해 검증될 수 있으므로, 계산상의 오버헤드와 추가적인 보안 취약점을 도입할 수도 있는 추가적인 중간 프로세서의 필요성을 없앨 수 있다.
일부 실시예에서, 초기 어플리케이션 해시는 온-기기(on-device) 스토리지로부터 검색된다. 이에 따르면, 기기 상의 초기 어플리케이션 해시의 스토리지를 회피하는데 사용되는 공간을 없앨 수 있다. 더구나, 온-기기 스토리지에 초기 어플리케이션 해시를 기억하지 않음으로써, 기기로부터 초기 어플리케이션 해시가 추출될 수도 있는 위험을 줄여, 보안을 향상시킨다.
일부 실시예에서는, 기기의 제조 또는 조립중에 초기 어플리케이션 해시가 기기 상에 내장된다. 이에 따르면, 필요할 때마다 초기 어플리케이션 해시를 즉시 이용하며(즉, 이에 따라 초기 어플리케이션 해시를 취득하는 동안의 추가적인 지연을 피할 수 있다), 기기의 제조 또는 조립후에 악의적인 당사자에 의해 초기 어플리케이션 해시가 수정/부당변경에 잘 견딘다. 더구나, 초기 어플리케이션 해시를 기기에 전달(예를 들어 송신)할 필요를 없앰으로써, 기기에 초기 어플리케이션 해시를 전달하는데 필요한 통신 대역폭을 절감할 수 있는데, 이것은 IoT 기기 등의 대역폭 제한된 기기에서는 특히 중요할 수 있다.
더구나, 초기 어플리케이션 해시를 전달/송신하지 않고, 악의적인 당사자에 의해 전달/송신 중에 그것을 가로채거나 수정할(예를 들어, 초기 어플리케이션 해시가 임의의 승인되지 않은 어플리케이션에 대응하도록) 가능성을 없앨 수 있다. 더구나, 이에 따라 초기 어플리케이션 해시의 배포가 다른 당사자를 신뢰할 필요가 없이 제조사 또는 조립사에 의해 통제될 수 있다.
일부 실시예에서는, 비대칭 검증자 어플리케이션이 온-기기 스토리지에 기억된 한 개 이상의 키를 사용하여 서명을 검증한다. 온-기기 스토리지에 한 개 이상의 키를 기억함으로써, 필요할 때 한 개 이상의 키를 즉시 이용할 수 있다(즉, 이들 키가 취득되는 동안의 추가적인 지연을 피할 수 있다). 더구나, 한 개 이상의 키를 전달/송신할 필요를 없앰으로써, 한 개 이상의 키를 기기에 전달하는데 필요한 통신 대역폭을 절감할 수 있는데, 이것은 IoT 기기 등의 대역폭 제한된 기기에서는 특히 중요할 수 있다. 더구나, 한 개 이상의 키를 전달/송신하지 않음으로써, 악의적인 당사자에 의해 그것을 가로챌 가능성을 없앨 수 있다.
일부 실시예에서는, 복수의 키들이 온-기기 스토리지에 기억되고, 이들 키 각각은 특권 레벨과 관련되고, 제1 데이터와 관련된 서명을 검증하는 키의 특권 레벨과 관련된 제약이 이 제1 데이터에 적용된다. 이에 따라면, 동일한 검증 처리를 이용하여, 특권 레벨들과 관련된 다양한 제약이 가해지는 다양한 데이터를 기기가 취급할 수 있게 된다. 따라서, 다양한 특권 레벨들을 갖는 데이터를 검증하기 위한 복수의 다른 프로세스의 필요성을 없앨 수 있어, 필요한 기억 공간을 줄이고 복잡성을 줄일 수 있다.
일부 실시예에서, 한 개 이상의 키는 기기의 제조 또는 조립중에 기기에 내장된다. 이에 따르면, 필요할 때마다 한 개 이상의 키를 즉시 이용하며(즉, 이에 따라 키를 취득하는 동안의 추가적인 지연을 피할 수 있다), 기기의 제조 또는 조립후에 악의적인 당사자에 의해 한 개 이상의 키가 수정/부당변경에 잘 견딘다. 더구나, 한 개 이상의 키를 전달/송신할 필요를 없앰으로써, 기기에 한 개 이상의 키를 전달하는데 필요한 통신 대역폭을 절감할 수 있는데, 이것은 IoT 기기 등의 대역폭 제한된 기기에서는 특히 중요할 수 있다.
더구나, 한 개 이상의 키를 전달/송신하지 않음으로써, 악의적인 당사자에 의해 키를 가로챌 가능성을 없앨 수 있다. 더구나, 이에 따라 한 개 이상의 키의 배포가 다른 당사자를 신뢰할 필요가 없이 제조사 또는 조립사에 의해 통제될 수 있다.
일부 실시예에서, 비대칭 검증자 어플리케이션은 비대칭 검증자 어플리케이션에 내장된 한 개 이상의 키를 사용하여 서명을 검증한다. 이에 따르면, 한 개 이상의 키가 비대칭 검증자 어플리케이션과 함께 일체화된 패키지로 기기에 제공될 수 있다.
일부 실시예에서는, 제1 데이터와 관련된 서명의 긍정적인 또는 부정적인 검증에 따라, 비대칭 검증자 어플리케이션이 언로드(unload)된다. 이에 따르면, 비대칭 검증자 어플리케이션에 의해 점유한 메모리가 사용후에 복원되어, 이것을 다른 용도를 위해 비울 수 있다. 예를 들어, 비대칭 검증자 어플리케이션을 언로드함으로써, 펌웨어 업데이트가 행해질 수 있도록 하는데 충분한 메모리가 비워진다. 더욱 일반적으로는, 예를 들어, 비대칭 검증자 어플리케이션을 언로드하면, 소프트웨어 업데이트를 위한 메모리 사이지 최적의 공간을 이용하여 소프트웨어 업데이트가 기기 상에서 행해질 수 잇게 된다.
일부 실시예에서는, 제1 데이터를 포함하는 복수의 데이터에 대응하는 복수의 서명들이 비대칭 검증자 어플리케이션을 사용하여 검증되고, 복수의 서명들의 완료가 개별적으로 긍정적으로 또는 부정적으로 검증된 것에 따라, 비대칭 검증자 어플리케이션이 언로드된다.
이에 따르면, 비대칭 검증자 어플리케이션을 취득, 로드 및 실행하는 단일의 인스턴스를 사용하여 복수의 서명들의 검증을 허용함으로써, 기기가 비대칭 검증자 어플리케이션을 복수회 취득 및/또는 로드 및/또는 실행할 필요를 없애, 통신 대역폭을 절감한다. 더구나, 이와 같이 복수의 서명을 검증함으로써, 검증 결과가 더 시기적절하고 효율적으로 제공될 수 있다. 즉, 기기가 메모리 내부 및 외부로 비대칭 검증자 어플리케이션을 반복하여 교체하는 것을 피할 수 있다.
일부 실시예에서는, 제 1 데이터와 관련된 서명의 긍정적인 검증에 따라, 제1 데이터가 로드된다. 이에 따르면, 기기가 데이터를 실제로 이용할 수 있다. 데이터가 어플리케이션인 경우에는, 기기의 로딩은 어플리케이션에 대한 설치 처리를 포함한다. 일부 실시예에서, 예를 들어, 데이터가 충분히 작은 경우에는, 서명이 직접 데이터 그 자체이므로, 데이터의 해시를 사용하고 검증할 필요성을 없앤다.
일부 실시예에서는, 제1 데이터와 관련된 서명이 제1 데이터의 해시의 서명이고, 제1 데이터와 관련된 서명의 긍정적인 검증에 따라, 제1 데이터의 해시가 기기 상에 기억된다. 이에 따르면, 기기가 제1 데이터가 수신될 때 제1 데이터를 검증할 준비가 되는 데이터의 해시를 갖는다. 커다란 항목의 데이터에 대해서는, 서명의 비대칭 검증이 해시의 검증의 계산 강도보다 훨씬 더 계산이 집중되는 경향이 잇기 때문에, 해시의 서명의 사명이 더 효율적일 수 있다. 따라서, 큰 제1 데이터를 단지 비대칭으로 검증하는 것보다, 큰 제1 데이터의 작은 해시를 검증하고 작은 해시의 서명을 비대칭적으로 검증하는 것이 더 효율적이다.
일부 실시예에서, 상기 방법은, 제1 데이터를 취득하는 단계와, 제1 데이터를 로드하는 단계와, 제1 데이터의 해시와 제2 해싱 함수를 이용하여 제1 데이터를 검증하는 단계를 더 포함한다. 즉, 예를 들어, 기기는 취득한 제1 데이터의 해시를 발생하고, 취득한 제1 데이트의 해시가 기기가 이전에 기억하였거나 다른 식으로 이용가능한 해시(예를 들어, 비대칭 검증자 어플리케이션에 의해 검증된 해시)와 일치하는지 여부를 검사한다. 이에 따라, 제1 데이터와 관련된 서명이 제1 데이터의 해시의 서명일 때, 제1 데이터를 취득하고 기기 상에 기전에 기억된 해시를 이용하여 검증할 수 있다.
일부 실시예에서는, 제2 해싱 함수를 이용한 제1 데이터의 긍정적인 검증에 따라, 실행가능한 코드에 의해 제1 데이터가 실행되거나 이용가능해진다. 이에 따르면, 제1 데이터가 추가적인 어플리케이션일 때, 이 추가적인 어플리케이션이 실제로 기기 상에서 실행되고, 제1 데이터가 실행불가능한 코드인 경우에는, 기기 상에서 실행가능한 코드에 의해 사용하기 위해 제1 데이터가 이용가능해진다. 일부 실시예에서는, 취득된 데이터에 대해 일치하는 해시가 발견되지 않을 때에는, 실행가능한 코드에 의해 데이터가 실행되거나 이용가능해지지 않고, 옵션으로 유저 또는 조작자에게 일치의 결여가 경고된다.
일부 실시예에서는, 실행가능한 코드에 의해 제1 데이터가 실행되거나 이용가능해진 후, 기기로부터 제1 데이터의 해시가 제거된다. 이에 따르면, 기기 상의 제1 해시를 기억하는 것과 관련된 공간을 복원할 수 있다. 더구나, 이것은 (제1 데이터의 해시를 기기가 더 이상 이용가능하지 않기 때문에) 제1 데이터가 나중에 다시 검증되는 것을 방지하는 역할을 할 수 있다.
일부 실시예에서, 제1 해싱 함수 및 제2 해싱 함수의 알고리즘은 동일한 계산 함수를 이용하지만 입력으로서 다른 데이터를 취한다. 이에 따르면, 단지 한 개의 계산 해싱 함수가 기기 상에 기억될 필요가 있어, 공간을 절감하고, 일반적으로는, 해싱 함수의 성능의 추가적인 하드웨어/소프트웨어 최적화를 허용한다. 더구나, 일부 실시예에서는, 예를 들어, 기기의 마스터 부트로더를 이용하여, 비대칭 검증자 어플리케이션을 검증하는데 사용된 것과 정확히 동일한 해싱 처리를 이용하여 제1 데이터를 검증할 수 있다. 따라서, 일면에서는, 기기가 제1 데이터(예를 들어, 비대칭 검증자 어플리케이션 또는 추가적인 어플리케이션)의 수신에 응답하여 기기 상에 기억된 모든 해시들의 목록을 간단히 검사하고, 이들 해시들 중에서 어느 것이 기기 자체에 의해 발생된 수신된 제1 데이터의 해시와 일치하는지 확인할 수 있다.
일부 실시예에서는, 기기가 하드웨어 비대칭 검증회로를 구비하지 않는다. 이에 따라, 비대칭 검증이 직접 하드웨어서 행해질 수 없으며, 그 대신에 소프트웨어로 행해져야 한다. 이것은, 기기 상에 전용의 비대칭 검증회로를 수용하는 것과 관련된 비용 및 물리적인 공간을 절감한다. 이것은 성능, 사이즈 및 에너지 소비에서 매우 제약될 수 있는 IoT 기기에 대해서는 특히 중요하다.
일면에 따르면, 기기가 전술한 방법들 중에서 한 개를 행하도록 제어하는 컴퓨터 프로그램이 제공될 수 있다. 일부 실시예에서는, 컴퓨터 프로그램이 기억매체에 기억된다.
일면에 따르면, 데이터 처리를 행하는 처리회로와, 처리회로를 제어하여 전술한 방법들 중에서 한 개를 행하는 컴퓨터 프로그램을 기억하는 데이터 스토리지를 구비한 장치가 제공될 수 있다.
또 다른 발명내용은 본 개시내용의 설명, 특히 도면의 간단한 설명, 발명을 실시하기 위한 구체적인 내용 및 청구범위 부분의 설명으로부터 명확해질 것이다.
이하. 다음의 첨부도면을 참조하여 본 발명의 실시예를 상세히 설명한다:
도 1은 기기가 데이터의 비대칭 검증을 행할 수 있게 하기 위한 본 발명에 따른 제1 방법을 개략적으로 나타낸 것이다.
도 2는 기기가 데이터의 비대칭 검증을 행할 수 있게 하기 위한 본 발명에 따른 제2 방법을 개략적으로 나타낸 것이다.
도 3은 본 발명을 구현하는데 사용될 수 있는 전자기기의 일례를 개략적으로 나타낸 것이다.
본 발명이 다양한 수정 및 변형을 받을 수 있지만, 특정한 예시적인 접근방법을 도면에 예시적으로 나타내고 이하에서 상세히 설명한다. 그러나, 도면과 상세한 설명은 본 발명을 개시된 특정한 형태로 제한하도록 의도된 것은 아니며, 본 개시내용은 청구범위에 기재된 본 발명의 사상 및 보호범위에 속하는 모든 수정, 동등물 및 대안을 포괄한다.
이때, 본 개시내용의 전술한 실시예의 특징들은 적절한 조합으로 간편하게 상호교환가능하게 사용될 수 있다.
도 1은 기기가 다음 단계를 포함하는 데이터의 비대칭 검증을 행할 수 있도록 하기 위한 본 발명에 따른 제1 방법(100)의 개략적인 도면을 나타낸 것이다.
스텝 S110에서, 제1 데이터와 관련된 서명을 검증하는 요구에 응답하여 오프-기기 스토리지로부터 기기에 의해 비대칭 검증자 어플리케이션이 취득된다. 그후, 이 방법은 스텝 S115로 진행한다.
스텝 S115에서, 기기는 비대칭 검증자 어플리케이션을 로드한다. 그후, 방법은 스텝 S120으로 진행한다.
스텝 S120에서, 기기는 비대칭 검증자 어플리케이션을 실행한다. 그후, 방법은 스텝 S130으로 진행한다.
스텝 S130에서, 기기는 비대칭 검증자 어플리케이션을 이용하여 제1 데이터와 관련된 서명을 검증하여 비대칭 키 암호를 행한다. 비대칭 검증자 어플리케이션은 한 개 이상의 키를 이용하여 서명을 검증한다. 이들 한 개 이상의 키는 다수의 다른 위치에 기억되거나 다수의 다른 위치로부터 검색된다. 일부 실시예에서는, 한 개 이상의 키들 중에서 적어도 한 개가 기기 자체의 온-기기 스토리지에 기억된다.
일부 실시예에서는, 키들의 각각이 다른 특권 레벨과 관련되는 복수의 키들이 온-기기 스토리지에 기억된다. 각각의 특권 레벨은 한 개 이상의 제약과 관련되고, 특정한 데이터(예를 들어, 제1 데이터)와 관련된 서명을 검증하는 키의 특권 레벨은, 이 데이터에 어떤 제약들이 적용되는지(즉, 특정한 키에 대응하는 제약들이 적용되는지) 판정한다. 예를 들어, 한 개의 키는 기기 상에서의 특권 모드 실행을 허용하는 최상위 레벨 키이며, 예를 들어, 기기 제조사/조립사 자체에 의해 사용된다. 다른 키는, 예를 들어, 실행을 허가하며, 예를 들어, 제3 자에게 제공된다.
이에 덧붙여 또는 이와 달리, 일부 실시예에서는, 예를 들어, 기기의 제조사 또는 조립사에 의해, 한 개 이상의 키들 중에서 적어도 한 개가 기기의 제조 또는 조립중에 기기에 내장된다. 일부 예에서, 기기가 복수의 제조사들/조립사들에 의해 제조/조립되었을 수도 있으며, 이들 제조사들/조립사들 각각은 한 개 이상의 키를 기기에 내장할 수도 있다. 이에 덧붙여 또는 이와 달리, 일부 예에서는, 한 개 이상의 키 중에서 적어도 한 개가 비대칭 검증자 어플리케이션에 내장되어, 비대칭 검증자 어플리케이션을 취득할 때, 한 개 이상의 키 중에서 한 개가 비대칭 검증자 어플리케이션과 일체로 기기에 의해 취득된다. 일부 예에서, 한 개 이상의 키는 기기의 온-기기 스토리지에 영구적으로 기억되지 않고, 그 대신에, 필요할 때 오프-기기 스토리지로부터 온디맨드로(on-demand) 기기에 의해 취득되어도 된다.
일부 실시예에서, 복수의 데이터에 대응하는 복수의 서명들은, 비대칭 검증자 어플리케이션의 언로드 이전에 비대칭 검증자 어플리케이션의 한번의 취득, 로드 및 실행 이벤트 동안에 비대칭 검증자 어플리케이션에 의해 검증된다.
스텝 130에서의 제1 데이터와 관련된 서명의 부정적인 검증에 응답하여, 방법이 스텝 S140으로 진행한다. 스텝 S140에서는, 비대칭 검증자 어플리케이션이 언로드된다. 일부 실시예에서는, 부정적인 검증에 응답하여 비대칭 검증자 어플리케이션이 언로드되지 않는 것이 명시적으로 상정된다. 예를 들어, 비대칭 검증자 어플리케이션이 기기 상에서 계속 로드 및/또는 실행되어, 나중에 제2 데이터의 검증을 허용할 수도 있다.
스텝 S130에서의 제1 데이터와 관련된 서명의 긍정적인 검증에 응답하여, 방법이 스텝 S150으로 진행한다. 스텝 S150에서는 비대칭 검증자 어플리케이션이 언로드된다. 이때, 일부 실시예에서는 비대칭 검증자 어플리케이션이 긍정적인 검증에 응답하여 언로드되지 않는 구성이 명시적으로 상정된다. 예를 들어, 현재는 추가적인 데이터가 인증될 필요가 없다는 유저 또는 원격지 장치에 의한 확인응답 등의 특정한 기동 조건이 만족할 때까지 비대칭 검증자 어플리케이션이 기기 상에서 계속 로드 및/또는 실행될 수도 있다.
스텝 S160에서, 제1 데이터와 관련된 서명의 긍정적인 검증에 응답하여, 제1 데이터가 로드된다. 이때, 일부 실시예에서는, 스텝 S150 이전에 스텝 S160이 행해지는 구성이 명시적으로 상정된다. 또한, 일부 실시예에서는, 제1 데이터가 나중의 시점에서만 로드되거나 전혀 로드되지 않는 구성이 명시적으로 상정된다. 예를 들어, 제1 데이터가 나중에 필요한 경우에, 기기가 제1 데이터와 관련된 서명을 선점적으로 검증하여도 된다.
도 2는 기기가 다음 단계를 포함하는 데이터의 비대칭 검증을 행할 수 있도록 하기 위한 본 발명에 따른 제2 방법(200)의 개략적인 도면을 나타낸 것이다.
다르게 설명하는 경우를 제외하고는, 제2 방법에서 행해지는 다수의 스텝들은 제1 방법에서 행해진 대응하는 스텝들과 거의 유사하게 진행되므로, 상세한 설명을 생략한다. 구체적으로는, 스텝 S210은 스텝 S110과 거의 동일하고, 스텝 S215는 스텝 S115와 거의 동일하고, 스텝 S225는 스텝 S120과 거의 동일하고, 스텝 S230은 스텝 S130과 거의 동일하고, 스텝 S240은 스텝 S1405와 거의 동일하고, 스텝 S250은 스텝 S150과 거의 동일하다.
제2 방법에서는, 스텝 S215 이후에, 그러나 스텝 S220 이전에, 스텝 S218이 행해진다. 스텝 S218에서, 비대칭 검증자 어플리케이션을 실행하기 전에, 비대칭 검증자 어플리케이션 그 자체가 검증된다. 비대칭 검증자 어플리케이션은 제1 해싱 함수와 초기 어플리케이션 해시의 사용을 통해 검증된다. 예를 들어, 해시는 비대칭 검증자 어플리케이션의 기기에 의해 생성되고, 이와 같이 생성된 해시가 초기 어플리케이션 해시와 일치하는지 확인한다. 제1 해싱 함수는 보안을 더 증진시키기 위해 암호 해싱 함수일 수도 있다. 적절한 해싱 알고리즘의 예로는, MD5, SHA의 패밀리(예를 들면, SHA-256) 또는 다른 적절한 해싱 알고리즘을 들 수 있다.
일부 실시예에서는, 비대칭 검증자 어플리케이션이 기기의 마스터 부트로더 등의 기기의 로우레벨 프로세스를 사용하여 검증된다. 일부 실시예에서는, 초기 어플리케이션 해시가 온-기기 스토리지로부터 검색된다. 다른 실시예에서는, 초기 어플리케이션 해시가 오프-기기 스토리지로부터 온디맨드로 검색된다. 일부 실시예에서는, 초기 어플리케이션 해시가 기기의 제조 또는 조립중에 온-기기 스토리지에 내장된다. 제조/조립중에, 일부 실시예에서는, 초기 어플리케이션 해시가 제조/조립 직후에 기기 상에 기억된 유일한 해시이어도 된다.
긍정적인 검증 결과에 응답하여, 방법이 스텝 S220으로 진행하고, 비대칭 검증자 어플리케이션이 실행된다. 부정적인 검증 결과에 응답하여, 비대칭 검증자 어플리케이션이 실행되지 않는다. 일부 실시예에서는, 부정적인 검증 결과에 응답하여, 비대칭 검증자 어플리케이션이 언로드된다.
제2 방법에서는, 제1 데이터와 관련된 서명이 제1 데이터의 해시의 서명이다. 더구나, 제2 방법에서는, 제1 데이터는 추가적인 어플리케이션(예를 들어, 보안 감지 어플리케이션, 뱅킹 오버라이트 또는 기기 보안 모니터)이다. 이때, 제1 방법도 제1 데이터의 해시의 서명인 제1 데이터와 관련된 서명으로 행해지고, 제1 데이터가 추가적인 어플리케이션인 구성이 명시적으로 상정된다.
역으로, 제1 데이터와 관련된 서명이 제1 데이터의 해시의 서명이 아니고 제1 데이터가 추가적인 어플리케이션이 아닌(즉, 실행불가능한 데이터) 경우에 제2 방법이 행해질 수도 있는 구성이 명시적으로 상정된다.
그러나, 도시된 실시예에서는, 비대칭 검증자 어플리케이션이 S220에서 실행된 후, 방법이 스텝 S230으로 진행하고, 스텝 S230에서 추가적인 어플리케이션의 해시의 서명이 검증된다.
도 2에서는, 스텝 S250이 스텝 S230의 직후에 그리고 스텝 S270의 이전에 행해지는 것으로 도시하고 있다. 그러나, 이와 달리 스텝 S250은 스텝 S270의 이후에 그리고 스텝 S280의 이전에 행해지거나, 스텝 S250이 이와 달리 스텝 S280의 이후에 그리고 스텝 S290의 이전에 행해지거나, 스텝 S250이 이와 달리 스텝 S290의 이후에 행해질 수도 있다.
스텝 S270에서는, 스텝 S230에서의 추가적인 어플리케이션의 해시의 긍정적인 검증에 응답하여, 추가적인 어플리케이션의 해시가 기기 상에 기억된다. 다른 실시예에서는, 추가적인 어플리케이션의 해시가 오프-기기 스토리지에 기억된다.
스텝 S280에서는, 기기가 추가적인 어플리케이션을 취득 및 로드하고, 추가적인 어플리케이션에 대해 검증처리를 행한다. 구체적으로, 기기는, 예를 들어, 기기 자치에 의해 취득한 추가적인 어플리케이션의 해시를 생성하고 이것을 추가적인 어플리케이션의 기억된 해시와 비교함으로써, 제2 해싱 함수와 함께 추가적인 어플리케이션의 기억된 해시를 사용하여 취득된 추가적인 어플리케이션을 검증한다.
제1 해싱 함수와 마찬가지로, 제2 해싱 함수는 보안을 더 증진시키기 위한 암호 해싱 함수이어도 된다. 적절한 해싱 알고리즘의 예로는, MD5, SHA의 패밀리(예를 들면, SHA-256) 또는 다른 적절한 해싱 알고리즘을 들 수 있다. 일부 실시예에서, 제1 해싱 함수 및 제2 해싱 함수 알고리즘은 동일한 계산 함수를 사용하지만 입력으로서 다른 데이터를 취한다.
스텝 S280에서의 추가적인 어플리케이션의 긍정적인 검증에 응답하여, 도시된 방법은 스텝 S290으로 진행하여, 추가적인 어플리케이션이 실행된다. 다른 실시예에는, 추가적인 어플리케이션이 긍정적인 검증에 응답하여 즉시 실행되지 않고, 그 대신에 기기가 추후에 요구시에 추가적인 어플리케이션을 실행할 분비가 되는 상태로 기기가 유지된다. 스텝 S280에서의 추가적인 어플리케이션의 부정적인 검증에 응답하여, 추가적인 어플리케이션이 실행되지 않으며, 일부 실시예에서는 추가적인 어플리케이션이 언로드된다. 일부 실시예에서는, 제2 어플리케이션이 기기 상에서 실행된 후에, 제1 어플리케이션의 해시가 폐기되어 해시에 의해 사용된 메모리를 복구해도 된다.
도 1 및 도 2에서는 구체적인 스텝들이 존재하고 특정한 순서로 행해지는 것으로 제시하지만, 이들 다양한 스텝들은 옵션이거나 및/또는 교번하는 순서로 행해질 수도 있다는 것을 알 수 있다. 다수의 이와 같은 옵션의 스텝들과 교번하는 순서들을 상기한 제1 및 제2 방법의 설명에서 명시적으로 언급하였지만, 예를 들어, 청구범위에 기재된 것과 같이, 특정한 다른 스텝들이 옵션이거나, 교번하는 순서로 행해져도 된다.
도 3은 전자기기(300)의 일례를 개략적으로 나타낸 것이다. 이 기기는, 프로그램 명령들에 응답하여 데이터 처리를 행하는 처리회로(310)와, 처리회로(310)에 의해 행해질 데이터와 명령들을 기억하는 데이터 스토리지(320)를 갖는다. 데이터 스토리지(320)는 (예를 들어, 신뢰된 실행 환경을 제공하는 메모리 보호 유닛 또는 보안 메카니즘을 사용하는) 하드웨어 또는 소프트웨어 메카니즘(예를 들어, 암호화)에 의해 보호되는 보안 영역(330)을 가지므로, 보안 영역(330)에 기억된 데이터를 신뢰된 환경 내에서 실행되지 않는 소프트웨어가 액세스할 수 없다. 이 기기는 외부 기기들과 통신하는 통신 인터페이스(340)를 갖는다. 예를 들어, 통신 인터페이스(340)는, 이더넷, WiFi(등록상표), Bluetooth(등록상표), ZigBee(등록상표) 등의 다른 범위의 다양한 통신 프로토콜을 사용할 수도 있다. 기기는 온도, 압력, 인접한 유저의 근접 등의 특정한 외부 상태를 감지하는 한 개 이상의 센서(350)를 가져도 된다. 설치되는 구체적인 센서들(350)은 기기의 용도에 의존한다. 이때, 도 3은 기기 내부에 설치될 수 있는 가능한 하드웨어의 일례에 지나지 않으며, 다른 구성요소들이 더 설치되어도 된다는 것은 자명하다. 예를 들어, 유저 상호작용이 예측되는 일부 기기는 유저에게 정보를 표시하고 유저로부터 입력을 수신하기 위해 디스플레이 및/또는 유저 인터페이스 모듈을 구비한다. 다른 종류의 기기는 단순히 데이터를 캡처하여 이 데이터를 외부 기기에 송신하는 센서이며, 이들 종류의 기기는 유저 인터페이스 또는 디스플레이를 필요하지 않는다. 일부 실시예에서, 기기는 전용의 하드웨어 비대칭 검증회로(예를 들어, 비대칭 가속 하드웨어)를 포함하지 않으므로, 비대칭 검증이 "범용"의 처리회로(310)를 통해 행해져야 한다.
전술한 방법들은 기기 상에서 실행되는 컴퓨터 프로그램의 제어하에서 행해져도 된다. 따라서, 컴퓨터 프로그램은 전술한 방법들 중에서 어느 한 개를 행하도록 기기를 제어하는 명령을 포함한다. 이 프로그램은 기억매체에 기억된다. 기억매체는 비일시적인 기록매체이거나 일시적인 신호 매체이어도 된다.
본 발명에서, 단어 "하도록 구성된"은 장치의 구성요소가 정의된 동작을 행할 수 있는 구성을 갖는다는 것을 의미하기 위해 사용된다. 이와 관련하여, "구성"은 하드웨어 또는 소프트웨어의 배치 또는 상호접속 방식을 의미한다. 예를 들어, 장치는 정의된 동작을 제공하는 전용 하드웨어를 갖거나, 프로세서 또는 기타의 처리장치가 기능을 행하도록 프로그래밍되어도 된다. "하도록 구성된"은 이 장치의 구성요소가 정의된 동작을 제공하기 위해 어떤 식으로 변경될 필요가 있는 것을 시사하는 것은 아니다.
첨부도면을 참조하여 본 발명의 예시적인 실시예들을 상세히 설명하였지만, 본 발명은 이들 실시예에 한정되지 않으며, 첨부된 청구범위의 보호범위 및 사상을 벗어나지 않으면서 본 발명이 속한 기술분야의 당업자에 의해 다양한 변경, 부가 및 변화가 행해질 수 있다는 것은 자명하다. 예를 들면, 종속항들의 특징들의 다양한 조합이 독립항들의 특징과 행해질 수도 있다.

Claims (23)

  1. 기기에 대한 검증 확장방법으로서,
    제1 데이터와 관련된 서명을 검증하는 요구에 응답하여, 오프-기기 스토리지(off-device storage)로부터 비대칭 검증자 어플리케이션을 취득하는 단계와,
    상기 비대칭 검증자 어플리케이션을 로드하는 단계와,
    상기 비대칭 검증자 어플리케이션을 실행하는 단계와,
    상기 비대칭 검증자 어플리케이션을 사용하여, 비대칭 키 암호를 이용하는 상기 제1 데이터와 관련된 서명을 검증하는 단계를 포함하는 검증 확장방법.
  2. 제 1항에 있어서,
    상기 제1 데이터와 관련된 서명은 상기 제1 데이터의 해시의 서명인 검증 확장방법.
  3. 제 1항 또는 제 2항에 있어서,
    상기 제1 데이터는 추가적인 어플리케이션인 검증 확장방법.
  4. 선행하는 청구항 중 어느 한 항에 있어서,
    상기 비대칭 검증자 어플리케이션을 실행하기 전에, 제1 해싱 함수와 초기 어플리케이션 해시를 이용하여 상기 비대칭 검증자 어플리케이션을 검증하고, 긍정적인 검증 결과에 응답하여, 상기 비대칭 검증자 어플리케이션을 실행하는 검증 확장방법.
  5. 제 4항에 있어서,
    상기 비대칭 검증자 어플리케이션은 상기 기기의 마스터 부트로더를 이용하여 검증되는 검증 확장방법.
  6. 제 4항 또는 제 5항에 있어서,
    상기 초기 어플리케이션 해시는 온-기기(on-device) 스토리지로부터 검색되는 검증 확장방법.
  7. 제 6항에 있어서,
    상기 기기의 제조 또는 조립중에 상기 초기 어플리케이션 해시가 상기 기기 상에 내장되는 검증 확장방법.
  8. 선행하는 청구항 중 어느 한 항에 있어서,
    상기 비대칭 검증자 어플리케이션이 온-기기 스토리지에 기억된 한 개 이상의 키를 사용하여 서명을 검증하는 검증 확장방법.
  9. 제 8항에 있어서,
    복수의 키들이 온-기기 스토리지에 기억되고, 이들 키 각각은 특권 레벨과 관련되고, 상기 제1 데이터와 관련된 서명을 검증하는 키의 특권 레벨과 관련된 제약이 이 제1 데이터에 적용되는 검증 확장방법.
  10. 제 8항 또는 제 9항에 있어서,
    상기 한 개 이상의 키가 상기 기기의 제조 또는 조립중에 상기 기기에 내장되는 검증 확장방법.
  11. 제 1항 내지 제 7항 중 어느 한 항에 있어서,
    상기 비대칭 검증자 어플리케이션은 상기 비대칭 검증자 어플리케이션에 내장된 한 개 이상의 키를 사용하여 서명을 검증하는 검증 확장방법.
  12. 선행하는 청구항 중 어느 한 항에 있어서,
    상기 제1 데이터와 관련된 서명의 긍정적인 또는 부정적인 검증에 따라, 상기 비대칭 검증자 어플리케이션이 언로드되는 검증 확장방법.
  13. 선행하는 청구항 중 어느 한 항에 있어서,
    상기 제1 데이터를 포함하는 복수의 데이터에 대응하는 복수의 서명들이 상기 비대칭 검증자 어플리케이션을 사용하여 검증되고, 상기 복수의 서명들의 완료가 개별적으로 긍정적으로 또는 부정적으로 검증된 것에 따라, 상기 비대칭 검증자 어플리케이션이 언로드되는 검증 확장방법.
  14. 선행하는 청구항 중 어느 한 항에 있어서,
    상기 제 1 데이터와 관련된 서명의 긍정적인 검증에 따라, 상기 제1 데이터가 로드되는 검증 확장방법.
  15. 선행하는 청구항 중 어느 한 항에 있어서,
    상기 제1 데이터와 관련된 서명은 상기 제1 데이터의 해시의 서명이고, 상기 제1 데이터와 관련된 서명의 긍정적인 검증에 따라, 상기 제1 데이터의 해시가 상기 기기 상에 기억되는 검증 확장방법.
  16. 제 15항에 있어서,
    상기 방법은,
    상기 제1 데이터를 취득하는 단계와,
    상기 제1 데이터를 로드하는 단계와,
    상기 제1 데이터의 해시와 제2 해싱 함수를 이용하여 상기 제1 데이터를 검증하는 단계를 더 포함하는 검증 확장방법.
  17. 제 16항에 있어서,
    상기 제1 데이터의 긍정적인 검증에 따라, 실행가능한 코드에 의해 상기 제1 데이터가 실행되거나 이용가능해지는 검증 확장방법.
  18. 제 17항에 있어서,
    상기 실행가능한 코드에 의해 상기 제1 데이터가 실행되거나 이용가능해진 후, 상기 기기로부터 상기 제1 데이터의 해시가 제거되는 검증 확장방법.
  19. 제 16항 내지 제 18항 중 어느 한 항에 있어서,
    제1 해싱 함수 및 상기 제2 해싱 함수의 알고리즘은 동일한 계산 함수를 이용하지만 입력으로서 다른 데이터를 취하는 검증 확장방법.
  20. 선행하는 청구항 중 어느 한 항에 있어서,
    상기 기기는 하드웨어 비대칭 검증회로를 구비하지 않는 검증 확장방법.
  21. 청구항 1 내지 20 중 어느 한 항에 기재된 방법을 행하도록 기기를 제어하는 컴퓨터 프로그램.
  22. 청구항 21에 기재된 컴퓨터 프로그램을 기억하는 기억매체.
  23. 데이터 처리를 행하는 처리회로와,
    상기 처리회로를 제어하여 청구항 1 내지 20 중 어느 한 항에 기재된 방법을 행하는 컴퓨터 프로그램을 기억하는 데이터 스토리지를 구비한 장치.
KR1020190140612A 2018-11-16 2019-11-06 부트로더 검증 확장방법 KR20200067744A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB1818710.4A GB2579056B (en) 2018-11-16 2018-11-16 Bootloader verification extension method
GB1818710.4 2018-11-16

Publications (1)

Publication Number Publication Date
KR20200067744A true KR20200067744A (ko) 2020-06-12

Family

ID=64740114

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190140612A KR20200067744A (ko) 2018-11-16 2019-11-06 부트로더 검증 확장방법

Country Status (6)

Country Link
US (1) US11693971B2 (ko)
EP (1) EP3654214B1 (ko)
JP (1) JP2020088854A (ko)
KR (1) KR20200067744A (ko)
CN (1) CN111200497A (ko)
GB (1) GB2579056B (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11861221B1 (en) * 2019-07-18 2024-01-02 Pure Storage, Inc. Providing scalable and reliable container-based storage services
US11941092B2 (en) * 2020-02-06 2024-03-26 Saturn Licensing Llc Techniques for launching applications based on partial signature validation
JP2023084913A (ja) * 2021-12-08 2023-06-20 株式会社リコー 情報処理システム、情報処理装置、情報処理方法、及びプログラム

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101065716A (zh) * 2004-11-22 2007-10-31 诺基亚公司 用于验证电子设备的平台软件的完整性的方法和设备
US8438658B2 (en) * 2006-02-02 2013-05-07 International Business Machines Corporation Providing sealed storage in a data processing device
SE531992C2 (sv) * 2006-02-24 2009-09-22 Oniteo Ab Metod och system för säker programvaruprovisionering
WO2010066304A1 (en) * 2008-12-12 2010-06-17 Nec Europe Ltd. Universal mobile verifier
US9485254B2 (en) * 2009-02-03 2016-11-01 Inbay Technologies Inc. Method and system for authenticating a security device
JP5582909B2 (ja) * 2010-07-29 2014-09-03 キヤノン株式会社 プラットフォーム完全性検証システム
WO2013119739A1 (en) * 2012-02-07 2013-08-15 Visa International Service Association Mobile human challenge-response test
WO2014059136A2 (en) * 2012-10-12 2014-04-17 Safelylocked, Llc. Techniqued for secure data exchange
JP6244759B2 (ja) * 2013-09-10 2017-12-13 株式会社ソシオネクスト セキュアブート方法、半導体装置、及び、セキュアブートプログラム
JP6810334B2 (ja) * 2016-06-17 2021-01-06 富士通株式会社 プロファイルデータ配信制御装置、プロファイルデータ配信制御方法およびプロファイルデータ配信制御プログラム
CN110168552B (zh) * 2017-01-12 2023-09-08 谷歌有限责任公司 经验证的引导和密钥轮转的方法、设备、系统和介质
US11070355B2 (en) * 2017-06-30 2021-07-20 Apple Inc. Profile installation based on privilege level
US11012241B2 (en) * 2018-09-10 2021-05-18 Dell Products L.P. Information handling system entitlement validation

Also Published As

Publication number Publication date
GB2579056B (en) 2021-07-28
GB201818710D0 (en) 2019-01-02
JP2020088854A (ja) 2020-06-04
EP3654214A1 (en) 2020-05-20
GB2579056A (en) 2020-06-10
US11693971B2 (en) 2023-07-04
US20200159931A1 (en) 2020-05-21
EP3654214B1 (en) 2022-12-21
CN111200497A (zh) 2020-05-26

Similar Documents

Publication Publication Date Title
US7401234B2 (en) Autonomous memory checker for runtime security assurance and method therefore
US8533492B2 (en) Electronic device, key generation program, recording medium, and key generation method
US8099789B2 (en) Apparatus and method for enabling applications on a security processor
KR20200067744A (ko) 부트로더 검증 확장방법
CN102105883A (zh) 电子装置以及电子装置的软件或固件更新的方法
US11334502B2 (en) Memory protection based on system state
US8949586B2 (en) System and method for authenticating computer system boot instructions during booting by using a public key associated with a processor and a monitoring device
KR101567620B1 (ko) 데이터 처리 시스템 및 방법
US20200082088A1 (en) User/Enterprise Data Protection Preventing Non-Authorized Firmware Modification
EP3654223B1 (en) Software installation method
CN113168474A (zh) 固件的安全验证
US11366911B2 (en) Cryptography module and method for operating same
EP3338214B1 (en) Secure computation environment
US20200233676A1 (en) Bios management device, bios management system, bios management method, and bios management program-stored recording medium
TWI603197B (zh) 快取記憶體認證系統及方法
KR20160142319A (ko) 외부 메모리 디바이스 상에 상주하는 칩 제한 명령들을 이용한 부트 시퀀스 수정을 위한 시스템 및 방법
US20200050799A1 (en) Storage device and data tampering detection method
JP6994022B2 (ja) セキュア・ブート更新にわたる保護済みの機密情報の維持
US11880273B2 (en) Method for installing a program code packet onto a device, device, and motor vehicle
CN111506897B (zh) 数据处理方法和装置
JP7268529B2 (ja) 電子機器
EP3620944B1 (en) Low power embedded device using a write-once register to speed up the secure boot from sleep states of the device
JP6698778B2 (ja) 制御システム
CN112487500A (zh) 认证方法
WO2009127905A1 (en) Apparatus and method for enabling applications on a security processor