KR102322955B1 - 암호 키 보안 - Google Patents

암호 키 보안 Download PDF

Info

Publication number
KR102322955B1
KR102322955B1 KR1020207010271A KR20207010271A KR102322955B1 KR 102322955 B1 KR102322955 B1 KR 102322955B1 KR 1020207010271 A KR1020207010271 A KR 1020207010271A KR 20207010271 A KR20207010271 A KR 20207010271A KR 102322955 B1 KR102322955 B1 KR 102322955B1
Authority
KR
South Korea
Prior art keywords
authentication value
encryption key
bios
module
fixed location
Prior art date
Application number
KR1020207010271A
Other languages
English (en)
Other versions
KR20200047696A (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 KR20200047696A publication Critical patent/KR20200047696A/ko
Application granted granted Critical
Publication of KR102322955B1 publication Critical patent/KR102322955B1/ko

Links

Images

Classifications

    • 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/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • 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/0863Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time 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/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • 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/3226Cryptographic 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 a predetermined code, e.g. password, passphrase or PIN
    • 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]
    • G06F21/107License processing; Key processing

Landscapes

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

Abstract

암호 키 보안과 관련된 예가 설명된다. 하나의 예시적 시스템은 기본 입/출력 시스템(BIOS)에 액세스 가능한 보안 저장소를 포함한다. BIOS 보안 모듈은 보안 저장소의 고정 위치에 인증 값을 저장한다. 인증 값은 시스템 부팅 중에 BIOS에 의해 저장된다. 암호 키 모듈은 고정 위치로부터 인증 값을 판독하고, 고정 위치에서 인증 값을 덮어 쓰고, 인증 값을 사용하여 암호 키를 획득한다.

Description

암호 키 보안
암호 키의 생성은 소프트웨어 및 데이터를 보호하기 위한 반복적인 작업이다. 암호 키는, 데이터를 암호화 및 복호화하는 것, 응용 프로그램들 간에 데이터 및/또는 커맨드를 안전하게 전송하는 것, 시스템의 구성요소들 간에 데이터 및/또는 커맨드를 안전하게 전송하는 것 등을 포함하는 다양한 작업에 사용된다.
본 출원은 첨부 도면과 관련하여 취해진 다음의 상세한 설명을 참조하면 보다 충분히 이해될 수 있다.
도 1은 암호 키 보안과 관련된 예시적 시스템을 도시한다.
도 2는 암호 키 보안과 관련된 다른 예시적 시스템을 도시한다.
도 3은 암호 키 보안과 관련된 예시적 동작의 흐름도를 도시한다.
도 4는 암호 키 보안과 관련된 다른 예시적 시스템을 도시한다.
도 5는 예시적 시스템, 방법 및 균등물이 동작할 수 있는 예시적 컴퓨팅 디바이스를 도시한다.
암호 키 보안과 관련된 시스템, 방법 및 균등물이 설명된다. 암호 키가 생성될 때, 키 생성 프로세스가 동일한 키를 생성하는 것을 방지하도록 키 생성 프로세스는 키가 무작위로 생성되는 것을 보장할 수 있기 때문에, 나중 사용을 위해 키를 유지하는 것이 바람직할 수 있다. 키를 유지하지 않으면 키를 사용한 데이터 암호화는 복구될 수 없을 지도 모른다. (예컨대, 악의적 행위자에 의한) 바람직하지 않은 액세스로부터 키를 보호하기 위해, 키는 인증 값에 의해 보호될 수 있다. 경우에 따라, 이 인증은 개인 식별 번호(personal identification number: PIN) 또는 패스워드일 수 있다. 그러나, 어떤 경우에는 사용자 입력 값이 부적절한 솔루션일 수 있으므로, 사용자 입력 없이 인증 값을 획득할 수 있는 것이 바람직하다.
결과적으로, 여기에 설명된 예는, 암호 키를 생성 및/또는 액세스하기 위한 인증 값을 저장하는 기본 입/출력 시스템(basic input/output system: BIOS) 보안 프로세스와 관련된 예를 논의한다. 시스템의 부팅 동안, 인증 값은 암호 키 생성 또는 액세스를 담당하는 신뢰 프로세스(trusted process)에 알려진 고정 위치에 저장될 수 있다. 이 신뢰 프로세스가 인증 값에 액세스하고 나면, 신뢰 프로세스는 고정 위치에서 인증 값을 소거하여 악의적 엔티티가 인증 값에 후속하여 액세스하는 것을 방지할 수 있다.
도 1은 암호 키 보안과 관련된 예시적 시스템을 도시한다. 도 1에 도시된 아이템은 예시적 예이며, 많은 다른 시스템, 디바이스 등이 다양한 예에 따라 동작할 수 있음을 이해해야 한다.
도 1은 암호 키 보안과 관련된 예시적 시스템(100)을 도시한다. 시동의 일부로서, 시스템(100)은 하나 이상의 암호 키를 사용하여, 데이터에 액세스하는 것과 구성요소들 간의 통신을 암호화하는 것과 같은 다양한 기능을 수행할 수 있다. 이러한 암호 키의 생성 및/또는 그에 대한 액세스는 인증 값(104)에 의해 보호될 수 있다. 시스템(100)은 인증 값의 사용자 입력을 획득할 수 있기 전에 이러한 암호 키를 사용할 수 있기 때문에, 시스템(100)이 사용자 입력 없이 암호 키를 생성 및/또는 액세스하는 방법을 갖는 것이 바람직할 수 있다.
결과적으로, 시스템(100)은 기본 입/출력 시스템(basic input/output system: BIOS) 보안 모듈(125)을 포함하는 BIOS(120)를 포함한다. 시스템(100)의 시동 동안, BIOS 보안 모듈(125)은 BIOS(120)에 액세스 가능한 보안 저장소(110)의 고정 위치(102)에 인증 값(104)을 저장할 수 있다. 암호 키를 생성 및/또는 취득하기 위해 인증 값(104)이 사용되어야 할 때, BIOS(120) 및/또는 시스템(100)에 의해 신뢰되는 인증 값 취득 모듈(130)은 고정 위치로부터 인증 값(104)을 찾을 수 있다. 결과적으로, 고정 위치(102)는, 시스템(100)이 부팅할 때마다 인증 값(104)이 동일한 위치에 저장되고 검색될 수 있게 하는, 인증 값 취득 모듈(130) 및 BIOS 보안 모듈(125) 모두에 알려진 보안 저장소(110) 내의 위치일 수 있다. 인증 값 취득 모듈(130)이 인증 값(104)을 취득하면, 인증 값 취득 모듈(130)은 다른 프로세스가 인증 값(104)을 판독할 수 없도록 랜덤 데이터로 고정 위치(102)를 덮어쓸 수 있다.
그런 다음, 인증 값 취득 모듈(130)은, 인증 값(104)을 사용하여 암호 키(들)를 획득할 수 있는 암호 키 취득 모듈(104)에 인증 값(104)을 제공할 수 있다. 일 예에서, 암호 키 취득 모듈(140)은 인증 값(104)에 기초하여 암호 키를 생성함으로써 암호 키를 획득할 수 있다. 이것은, 예를 들어, 시스템(100)에 의해 암호 키가 처음 사용될 때 발생할 수 있다. 다른 예에서, 암호 키 취득 모듈(140)은 인증 값을 사용하여 저장 위치(199)로부터 암호 키를 검색할 수 있다. 예시로서, 저장 위치(199)는 인증 값(104)에 기초하여 자체적으로 암호화되는 암호 키의 버전을 저장할 수 있다. 따라서, 암호 키 취득 모듈(140)은 인증 값(104)을 사용하여 암호 키의 암호화된 버전을 복호화함으로써 암호 키를 획득할 수 있다.
다양한 예에서, 보안 저장소(110)는 다양한 형태를 취할 수 있다. 보안 저장소(110)의 형태는 시스템(100)에 액세스 가능한 리소스에 의존할 수 있고, 또한 고정 위치(102)의 형태 및/또는 다양한 구성요소가 고정 위치(102) 및/또는 인증 값(104)과 상호 작용하는 방법(예컨대, 액세스, 소거)을 나타낼 수 있다. 예를 들어, 보안 저장소(110)는 BIOS(120)의 전용 메모리일 수 있다. BIOS 전용 메모리는, 예를 들어, 바람직하지 않은 액세스를 방지하기 위해 BIOS(120)에 의해 액세스가 제어되는 메모리일 수 있다. 이는, BIOS 전용 메모리에 대한 액세스가, 예를 들어, BIOS(120)에 의해 신뢰되는 프로세스, 바람직하지 않은 수정 및 액세스로부터 전용 메모리를 보호할 수 있는 BIOS 코드에 대한 API 호출 등을 통해서만 수행되는 것을 보장할 수 있다. 따라서, 고정 위치(102)는 UEFI(unified extensible firmware interface) 변수일 수 있다. 이것은 인증 값 취득 모듈(130)이 관리자 특권을 사용하는 전용 BIOS 호출을 사용하여 고정 위치(102)로부터 인증 값(104)을 판독하는 것을 의미할 수 있다. 예를 들어, 윈도우 운영 체제를 실행하는 시스템(100)의 경우, 전용 BIOS 호출은 WMI(windows management instrumentation) 호출의 형태를 취할 수 있다.
다른 예에서, 보안 저장소(110)는 신뢰 플랫폼 모듈일 수 있다. 따라서, 고정 위치(102)는 플랫폼 구성 레지스터일 수 있다. 이 예에서, 인증 값 취득 모듈(130)은 관리자 특권을 갖는 동작을 사용하여 플랫폼 구성 레지스터로부터 인증 값(104)을 직접 판독할 수 있다. 또한, 이 예에서, 플랫폼 구성 레지스터를 소거하는 것은 랜덤 데이터를 사용하여 플랫폼 구성 레지스터를 확장하는 것을 포함할 수 있다.
이 예에서는 별도의 구성요소로서 도시되었지만, 다른 구현에서, 시스템(100)의 다양한 다른 구성요소는 BIOS(120)의 일부로서 구현될 수 있다. 예를 들어, 인증 값 취득 모듈(130) 및/또는 암호 키 취득 모듈(140)은 BIOS 레벨에서 구현되는 명령어일 수 있고, 전술한 바와 같이, 보안 저장소(110)는 BIOS 전용 메모리일 수 있다.
다음의 설명에서, 다수의 특정 세부사항은 예에 대한 철저한 이해를 제공하기 위해 제시된다는 것이 이해되어야 한다. 그러나, 예는 이들 특정 세부사항에 제한되지 않고 실시될 수 있음이 이해되어야 한다. 다른 예에서, 방법 및 구조는 예의 설명을 불필요하게 모호하게 하는 것을 피하기 위해 상세하게 설명되지 않을 수 있다. 또한, 예들은 서로 조합하여 사용될 수 있다.
본 명세서에서 사용될 때, "모듈"은, 기능(들) 또는 동작(들)을 수행하고/하거나 다른 모듈, 방법 및/또는 시스템으로부터 기능 또는 동작을 유발하는, 하드웨어, 펌웨어, 컴퓨터 판독가능 매체에 저장되거나 머신에서 실행되는 소프트웨어, 및/또는 이들 각각의 조합을 포함하지만 이에 제한되지는 않는다. 모듈은 소프트웨어 제어형 마이크로프로세서, 이산 모듈, 아날로그 회로, 디지털 회로, 프로그램된 모듈 디바이스, 명령어를 포함하는 메모리 디바이스 등을 포함할 수 있다. 모듈은 게이트, 게이트의 조합, 또는 다른 회로 구성요소를 포함할 수 있다. 다수의 논리 모듈이 설명되는 경우, 다수의 논리 모듈을 하나의 물리 모듈로 통합하는 것이 가능할 수 있다. 유사하게, 단일 논리 모듈이 설명되는 경우, 단일 논리 모듈을 다수의 물리 모듈 사이에 분배할 수 있다.
도 2는 암호 키 보안과 관련된 예시적 시스템(200)을 도시한다. 시스템(200)은 보안 저장소(210)를 포함한다. 보안 저장소(210)는 기본 입/출력 시스템(220)에 액세스 가능할 수 있다. 시스템(200)은 또한 보안 저장소(210)에 인증 값을 저장하기 위한 BIOS 보안 모듈(225)을 포함한다. 인증 값은 보안 저장소(210)에서 고정 위치에 저장될 수 있다. 인증 값은 시스템(200)의 부팅 동안 보안 저장소(210)에 저장될 수 있다. 일부 예에서, 보안 저장소(210)는 BIOS(220)의 전용 메모리일 수 있다. 따라서, 고정 위치는 UEFI(unified extensible firmware interface) 변수일 수 있다. 다른 예에서, 보안 저장소(210)는 신뢰 플랫폼 모듈일 수 있다. 여기서, 고정 위치는 미리 결정된 플랫폼 구성 레지스터일 수 있다.
시스템(200)은 또한 암호 키 모듈(230)을 포함한다. 암호 키 모듈(230)은 보안 저장소(210)의 고정 위치로부터 인증 값을 판독할 수 있다. 예로서, 고정 위치가 UEFI 변수인 경우, 암호 키 모듈(230)은 관리자 권한을 사용하는 전용 BIOS 호출을 사용하여 UEFI 변수로부터 인증 값을 판독할 수 있다. 암호 키 모듈(230)은 또한 고정 위치에서 인증 값을 덮어쓸 수 있다. 예를 들어, 고정 위치가 플랫폼 구성 레지스터인 경우, 인증 값을 덮어 쓰는 것은 랜덤 데이터를 사용하여 레지스터를 확장하는 것을 포함할 수 있다. 암호 키 모듈(230)은 또한 인증 값을 사용하여 암호 키를 획득할 수 있다. 일 예에서, 암호 키는 인증 값을 사용하여 암호 키를 생성함으로써 획득될 수 있다. 다른 예들에서, 암호 키는 인증 값을 사용하여 시스템(200)에 액세스 가능한 저장소 상에서 암호 키에 액세스함으로써 획득될 수 있다.
도 3은 예시적 방법(300)을 도시한다. 방법(300)은 프로세서-실행가능 명령어를 저장하는 비일시적 프로세서 판독가능 매체 상에서 구현될 수 있다. 명령어는 프로세서에 의해 실행될 때 프로세서로 하여금 방법(300)을 수행하게 할 수 있다. 다른 예에서, 방법(300)은 ASIC(application specific integrated circuit)의 논리 게이트 및/또는 RAM 내에 존재할 수 있다.
방법(300)은 암호 키 보안과 관련된 다양한 작업을 수행할 수 있다. 방법(300)은 310에서 인증 값을 판독하는 단계를 포함한다. 인증 값은 보안 저장소의 고정 위치로부터 판독될 수 있다. 인증 값은 기본 입/출력 시스템(BIOS)의 시동 동안 고정 위치에 저장될 수 있다. 고정 위치는, 예를 들어, UEFI(Unified Extensible Firmware Interface) 변수, 신뢰 플랫폼 모듈 플랫폼 구성 레지스터 등을 통해 액세스할 수 있는 BIOS 전용 메모리일 수 있다.
방법(300)은 또한 320에서 고정 위치로부터 인증 값을 소거하는 단계를 포함한다. 인증 값을 소거하는 단계는 고정 위치에 랜덤 데이터를 기록하는 단계를 포함할 수 있다. 방법(300)은 또한 330에서 인증 값을 사용하여 암호 키를 획득하는 단계를 포함한다. 암호 키는, 예를 들어, 인증 값을 사용하여 암호 키를 생성하는 것, 인증 값을 사용하여 저장 위치로부터 암호 키에 액세스하는 것 등에 의해 획득될 수 있다.
도 4는 암호 키 보안과 관련된 시스템(400)을 도시한다. 시스템(400)은 신뢰 플랫폼 모듈(410)을 포함한다. 신뢰 플랫폼 모듈은 기본 입/출력 시스템(BIOS)(420)에 액세스 가능한 플랫폼 구성 레지스터를 포함할 수 있다. BIOS(420)는 BIOS 보안 모듈(425)을 포함할 수 있다. BIOS 보안 모듈은 시스템(400)의 시동 동안 인증 값을 플랫폼 구성 레지스터에 저장할 수 있다.
시스템(400)은 또한 값 취득 모듈(430)을 포함한다. 값 취득 모듈(430)은 플랫폼 구성 레지스터로부터 인증 값을 획득할 수 있다. 값 취득 모듈(430)은 또한 랜덤 데이터를 사용하여 플랫폼 구성 레지스터를 확장할 수 있다. 이는 이후에 플랫폼 구성 레지스터에 액세스하는 엔티티가 인증 값을 획득하는 것을 방지할 수 있다.
시스템(400)은 또한 키 취득 모듈(440)을 포함한다. 키 취득 모듈(440)은 인증 값을 사용하여 암호 키를 획득할 수 있다. 키 취득 값은, 인증 값을 사용하여 암호 키를 생성하는 것, 인증 값을 사용하여 암호 키에 대한 보안 저장소에 액세스하는 것 등에 의해 암호 키를 획득할 수 있다.
도 5는, 예시적 시스템 및 방법, 및 균등물이 동작할 수 있는 예시적 컴퓨팅 디바이스를 도시한다. 예시적 컴퓨팅 디바이스는 버스(530)에 의해 접속된 프로세서(510) 및 메모리(520)를 포함하는 컴퓨터(500)일 수 있다. 컴퓨터(500)는 암호 키 보안 모듈(540)을 포함한다. 암호 키 보안 모듈(540)은 예시적 시스템, 방법 등을 참조하여 위에서 설명된 다양한 기능들을 단독으로 또는 조합하여 수행할 수 있다. 상이한 예들에서, 암호 키 보안 모듈(540)은, 하드웨어, 소프트웨어, 펌웨어, 애플리케이션 특정 집적 회로, 및/또는 이들의 조합으로, 프로세서 실행 가능 명령어를 저장하는 비일시적 컴퓨터 판독가능 매체로서 구현될 수 있다.
명령어는 또한 메모리(520)에 일시적으로 저장되고 프로세서(510)에 의해 실행되는 데이터(550) 및/또는 프로세스(560)로서 컴퓨터(500)에 제공될 수 있다. 프로세서(510)는 듀얼 마이크로프로세서 및 다른 멀티-프로세서 아키텍처를 포함하는 다양한 프로세서일 수 있다. 메모리(520)는 비휘발성 메모리(예컨대, 판독 전용 메모리) 및/또는 휘발성 메모리(예컨대, 랜덤 액세스 메모리)를 포함할 수 있다. 메모리(520)는 또한, 예를 들어, 자기 디스크 드라이브, 솔리드 스테이트 디스크 드라이브, 플로피 디스크 드라이브, 테이프 드라이브, 플래시 메모리 카드, 광 디스크 등일 수 있다. 따라서, 메모리(520)는 프로세스(560) 및/또는 데이터(550)를 저장할 수 있다. 컴퓨터(500)는 또한 다양한 구성(도시되지 않음)으로 다른 컴퓨터, 디바이스, 주변 장치 등을 포함하는 다른 디바이스와 관련될 수 있다.
개시된 예의 이전 설명은 당업자로 하여금 본 개시를 제조하거나 사용할 수 있게 하기 위해 제공되는 것으로 이해되어야 한다. 이들 예에 대한 다양한 변형은 당업자에게 명백할 것이며, 본 명세서에 정의된 일반적인 원리는 본 개시의 사상 또는 범위를 벗어나지 않고 다른 예에 적용될 수 있다. 따라서, 본 개시는 본 명세서에서 보여주는 예들로 제한되어서는 안되며, 본 명세서에 개시된 원리 및 신규한 특징과 일치하는 가장 넓은 범위에 부합하는 것이다.

Claims (15)

  1. 시스템으로서,
    기본 입/출력 시스템(basic input/output system: BIOS)에 액세스 가능한 보안 저장소와,
    시스템의 부팅 동안, 상기 보안 저장소의 고정 위치에 인증 값을 저장하는 BIOS 보안 모듈과,
    암호 키 모듈을 포함하되, 상기 암호 키 모듈은,
    상기 고정 위치로부터 상기 인증 값을 판독하고,
    상기 고정 위치에서 상기 인증 값을 덮어 쓰고(overwrite),
    상기 인증 값을 사용하여 암호 키를 획득하고,
    상기 고정 위치는 상기 시스템이 부팅할 때마다 상기 인증 값이 동일한 위치에 저장되고 검색될 수 있게 하는, 상기 암호 키 모듈 및 상기 BIOS 보안 모듈 모두에 알려진 상기 보안 저장소 내의 위치인
    시스템.
  2. 제 1 항에 있어서,
    상기 암호 키는 상기 인증 값을 사용하여 상기 암호 키를 생성함으로써 획득되는
    시스템.
  3. 제 1 항에 있어서,
    상기 암호 키는 상기 인증 값에 기초하여 상기 시스템에 액세스 가능한 저장소 상에서 상기 암호 키에 액세스함으로써 획득되는
    시스템.
  4. 제 1 항에 있어서,
    상기 보안 저장소는 상기 BIOS의 전용 메모리이고, 상기 고정 위치는 UEFI(unified extensible firmware interface) 변수인
    시스템.
  5. 제 4 항에 있어서,
    상기 암호 키 모듈은 관리자 특권(administrator privileges)을 사용하는 전용 BIOS 호출을 사용하여 상기 UEFI 변수로부터 상기 인증 값을 판독하는
    시스템.
  6. 제 1 항에 있어서,
    상기 보안 저장소는 신뢰 플랫폼 모듈이고, 상기 고정 위치는 미리 결정된 플랫폼 구성 레지스터인
    시스템.
  7. 제 6 항에 있어서,
    상기 인증 값을 덮어 쓰는 것은 랜덤 데이터를 사용하여 상기 레지스터를 확장하는 것을 포함하는
    시스템.
  8. 프로세서 실행가능 명령어를 저장하는 컴퓨터 판독가능 매체로서,
    상기 프로세서 실행가능 명령어는, 프로세서에 의해 실행될 때, 상기 프로세서로 하여금,
    보안 저장소의 고정 위치로부터 인증 값을 판독하게 하고 - 상기 인증 값은 기본 입/출력 시스템(BIOS)의 시동 동안 상기 고정 위치에 저장되어, 시스템이 부팅할 때마다 상기 인증 값이 동일한 위치에 저장되고 검색될 수 있게 함 -,
    상기 고정 위치로부터 상기 인증 값을 소거하게 하고,
    상기 인증 값을 사용하여 암호 키를 획득하게 하는
    컴퓨터 판독가능 매체.
  9. 제 8 항에 있어서,
    상기 인증 값을 소거하는 것은 상기 고정 위치에 랜덤 데이터를 기록하는 것을 포함하는
    컴퓨터 판독가능 매체.
  10. 제 8 항에 있어서,
    상기 고정 위치는 UEFI(unified extensible firmware interface) 변수를 통해 액세스 가능한 BIOS 전용 메모리 내에 있는
    컴퓨터 판독가능 매체.
  11. 제 8 항에 있어서,
    상기 고정 위치는 신뢰 플랫폼 모듈 플랫폼 구성 레지스터인
    컴퓨터 판독가능 매체.
  12. 제 8 항에 있어서,
    상기 암호 키는, 상기 인증 값을 사용하여 상기 암호 키를 생성하는 것과 상기 인증 값을 사용하여 저장 위치로부터 상기 암호 키에 액세스하는 것 중 하나에 의해 획득되는
    컴퓨터 판독가능 매체.
  13. 시스템으로서,
    기본 입/출력 시스템(BIOS)에 액세스 가능한 제 1 플랫폼 구성 레지스터를 갖는 신뢰 플랫폼 모듈과,
    시스템의 시동 동안 상기 플랫폼 구성 레지스터에 인증 값을 저장하는 BIOS 보안 모듈과,
    상기 플랫폼 구성 레지스터로부터 상기 인증 값을 획득하고 랜덤 데이터를 사용하여 상기 플랫폼 구성 레지스터를 확장하는 값 취득 모듈과,
    상기 인증 값을 사용하여 암호 키를 획득하기 위해 상기 인증 값을 사용하는 키 취득 모듈을 포함하고,
    상기 플랫폼 구성 레지스터는 상기 시스템이 부팅할 때마다 상기 인증 값이 동일한 위치에 저장되고 검색될 수 있게 하는, 상기 값 취득 모듈 및 상기 BIOS 보안 모듈 모두에 알려진 보안 저장소 내의 위치인
    시스템.
  14. 제 13 항에 있어서,
    상기 키 취득 모듈은 상기 인증 값을 사용하여 상기 암호 키를 생성하는 것인
    시스템.
  15. 제 13 항에 있어서,
    상기 키 취득 모듈은 상기 인증 값을 사용하여 상기 시스템에 액세스 가능한 저장소로부터 상기 암호 키를 획득하는 것인
    시스템.
KR1020207010271A 2017-09-19 2017-09-19 암호 키 보안 KR102322955B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2017/052181 WO2019059887A1 (en) 2017-09-19 2017-09-19 CRYPTOGRAPHIC KEY SECURITY

Publications (2)

Publication Number Publication Date
KR20200047696A KR20200047696A (ko) 2020-05-07
KR102322955B1 true KR102322955B1 (ko) 2021-11-08

Family

ID=65811522

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020207010271A KR102322955B1 (ko) 2017-09-19 2017-09-19 암호 키 보안

Country Status (6)

Country Link
US (1) US11507668B2 (ko)
EP (1) EP3685300A4 (ko)
JP (1) JP6898519B2 (ko)
KR (1) KR102322955B1 (ko)
CN (1) CN111373404B (ko)
WO (1) WO2019059887A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112989379A (zh) * 2021-03-17 2021-06-18 联想(北京)有限公司 密钥保护实现方法、装置及电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060015718A1 (en) 2004-07-15 2006-01-19 Sony Corporation Use of kernel authorization data to maintain security in a digital processing system
US20100111309A1 (en) * 2008-10-31 2010-05-06 Dell Products, Lp Encryption key management system and methods thereof
US20150015403A1 (en) * 2013-07-10 2015-01-15 Cisco Technology, Inc. Active Cable with Display
US20150154031A1 (en) * 2013-12-04 2015-06-04 Insyde Software Corp. System and method to store data securely for firmware using read-protected storage

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6401208B2 (en) * 1998-07-17 2002-06-04 Intel Corporation Method for BIOS authentication prior to BIOS execution
US7117376B2 (en) * 2000-12-28 2006-10-03 Intel Corporation Platform and method of creating a secure boot that enforces proper user authentication and enforces hardware configurations
US7281125B2 (en) * 2001-08-24 2007-10-09 Lenovo (Singapore) Pte. Ltd. Securing sensitive configuration data remotely
US7376968B2 (en) * 2003-11-20 2008-05-20 Microsoft Corporation BIOS integrated encryption
US7421588B2 (en) * 2003-12-30 2008-09-02 Lenovo Pte Ltd Apparatus, system, and method for sealing a data repository to a trusted computing platform
GB2419434A (en) * 2004-10-23 2006-04-26 Qinetiq Ltd Encrypting data on a computer's hard disk with a key derived from the contents of a memory
US7711960B2 (en) * 2006-08-29 2010-05-04 Intel Corporation Mechanisms to control access to cryptographic keys and to attest to the approved configurations of computer platforms
US8556991B2 (en) 2008-08-08 2013-10-15 Absolute Software Corporation Approaches for ensuring data security
US20100083002A1 (en) * 2008-09-30 2010-04-01 Liang Cui Method and System for Secure Booting Unified Extensible Firmware Interface Executables
CN102024115B (zh) * 2010-11-19 2013-04-17 紫光股份有限公司 一种具有用户安全子系统的计算机
US9037854B2 (en) 2013-01-22 2015-05-19 Amazon Technologies, Inc. Privileged cryptographic services in a virtualized environment
US10192054B2 (en) * 2013-09-13 2019-01-29 Intel Corporation Automatic pairing of IO devices with hardware secure elements
US9367689B2 (en) 2013-11-13 2016-06-14 Via Technologies, Inc. Apparatus and method for securing BIOS in a trusted computing system
US9563773B2 (en) * 2014-02-26 2017-02-07 Dell Products L.P. Systems and methods for securing BIOS variables
US9785801B2 (en) * 2014-06-27 2017-10-10 Intel Corporation Management of authenticated variables
US10169052B2 (en) * 2014-07-22 2019-01-01 Hewlett-Packard Development Company, L.P. Authorizing a bios policy change for storage
US10296730B2 (en) * 2014-08-18 2019-05-21 Dell Products L.P. Systems and methods for automatic generation and retrieval of an information handling system password
CN104850792A (zh) * 2015-05-20 2015-08-19 浪潮电子信息产业股份有限公司 一种服务器信任链的构建方法和装置
CN104866784B (zh) * 2015-06-03 2018-03-23 杭州华澜微电子股份有限公司 一种基于bios加密的安全硬盘、数据加密及解密方法
US10013561B2 (en) 2015-10-30 2018-07-03 Ncr Corporation Dynamic pre-boot storage encryption key
CN105678173B (zh) * 2015-12-31 2018-06-29 武汉大学 基于硬件事务内存的vTPM安全保护方法
CN107292176B (zh) * 2016-04-05 2021-01-15 联想企业解决方案(新加坡)有限公司 用于访问计算设备的可信平台模块的方法和系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060015718A1 (en) 2004-07-15 2006-01-19 Sony Corporation Use of kernel authorization data to maintain security in a digital processing system
US20100111309A1 (en) * 2008-10-31 2010-05-06 Dell Products, Lp Encryption key management system and methods thereof
US20150015403A1 (en) * 2013-07-10 2015-01-15 Cisco Technology, Inc. Active Cable with Display
US20150154031A1 (en) * 2013-12-04 2015-06-04 Insyde Software Corp. System and method to store data securely for firmware using read-protected storage

Also Published As

Publication number Publication date
EP3685300A4 (en) 2021-04-28
JP2020534619A (ja) 2020-11-26
EP3685300A1 (en) 2020-07-29
CN111373404A (zh) 2020-07-03
KR20200047696A (ko) 2020-05-07
CN111373404B (zh) 2024-03-22
JP6898519B2 (ja) 2021-07-07
US20200210588A1 (en) 2020-07-02
US11507668B2 (en) 2022-11-22
WO2019059887A1 (en) 2019-03-28

Similar Documents

Publication Publication Date Title
US9811479B2 (en) Cryptographic pointer address encoding
US9658969B2 (en) System and method for general purpose encryption of data
US9535712B2 (en) System and method to store data securely for firmware using read-protected storage
US10061718B2 (en) Protecting secret state from memory attacks
US8312296B2 (en) System and method for recovering from an interrupted encryption and decryption operation performed on a volume
US8856550B2 (en) System and method for pre-operating system encryption and decryption of data
US9563773B2 (en) Systems and methods for securing BIOS variables
KR20090073208A (ko) 영구 보안 시스템 및 영구 보안 방법
US11200065B2 (en) Boot authentication
US10642984B2 (en) Secure drive and method for booting to known good-state
Buhren et al. Fault attacks on encrypted general purpose compute platforms
Freiling et al. Advances in forensic data acquisition
US10956564B2 (en) Systems and methods for key-based isolation of system management interrupt (SMI) functions and data
KR102322955B1 (ko) 암호 키 보안
US10528748B2 (en) Context-driven on-device data protection
US20230114687A1 (en) Self-deploying encrypted hard disk, deployment method thereof, self-deploying encrypted hard disk system and boot method thereof
US10592663B2 (en) Technologies for USB controller state integrity protection
US10860707B2 (en) Systems and methods for obfuscation of password key and dynamic key pool management
US20230229774A1 (en) Bios action request for authorized application
US11720384B2 (en) Program code protection in a data processing system
US9177160B1 (en) Key management in full disk and file-level encryption
CN111357003A (zh) 预操作系统环境中的数据保护
Mera Mobile Forensics: An analysis of Android architecture and evidence integrity

Legal Events

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