KR102322955B1 - 암호 키 보안 - Google Patents
암호 키 보안 Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 claims description 37
- 230000006870 function Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/575—Secure boot
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0863—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3226—Cryptographic 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/107—License 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는 예시적 시스템, 방법 및 균등물이 동작할 수 있는 예시적 컴퓨팅 디바이스를 도시한다.
도 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)
- 시스템으로서,
기본 입/출력 시스템(basic input/output system: BIOS)에 액세스 가능한 보안 저장소와,
시스템의 부팅 동안, 상기 보안 저장소의 고정 위치에 인증 값을 저장하는 BIOS 보안 모듈과,
암호 키 모듈을 포함하되, 상기 암호 키 모듈은,
상기 고정 위치로부터 상기 인증 값을 판독하고,
상기 고정 위치에서 상기 인증 값을 덮어 쓰고(overwrite),
상기 인증 값을 사용하여 암호 키를 획득하고,
상기 고정 위치는 상기 시스템이 부팅할 때마다 상기 인증 값이 동일한 위치에 저장되고 검색될 수 있게 하는, 상기 암호 키 모듈 및 상기 BIOS 보안 모듈 모두에 알려진 상기 보안 저장소 내의 위치인
시스템.
- 제 1 항에 있어서,
상기 암호 키는 상기 인증 값을 사용하여 상기 암호 키를 생성함으로써 획득되는
시스템.
- 제 1 항에 있어서,
상기 암호 키는 상기 인증 값에 기초하여 상기 시스템에 액세스 가능한 저장소 상에서 상기 암호 키에 액세스함으로써 획득되는
시스템.
- 제 1 항에 있어서,
상기 보안 저장소는 상기 BIOS의 전용 메모리이고, 상기 고정 위치는 UEFI(unified extensible firmware interface) 변수인
시스템.
- 제 4 항에 있어서,
상기 암호 키 모듈은 관리자 특권(administrator privileges)을 사용하는 전용 BIOS 호출을 사용하여 상기 UEFI 변수로부터 상기 인증 값을 판독하는
시스템.
- 제 1 항에 있어서,
상기 보안 저장소는 신뢰 플랫폼 모듈이고, 상기 고정 위치는 미리 결정된 플랫폼 구성 레지스터인
시스템.
- 제 6 항에 있어서,
상기 인증 값을 덮어 쓰는 것은 랜덤 데이터를 사용하여 상기 레지스터를 확장하는 것을 포함하는
시스템.
- 프로세서 실행가능 명령어를 저장하는 컴퓨터 판독가능 매체로서,
상기 프로세서 실행가능 명령어는, 프로세서에 의해 실행될 때, 상기 프로세서로 하여금,
보안 저장소의 고정 위치로부터 인증 값을 판독하게 하고 - 상기 인증 값은 기본 입/출력 시스템(BIOS)의 시동 동안 상기 고정 위치에 저장되어, 시스템이 부팅할 때마다 상기 인증 값이 동일한 위치에 저장되고 검색될 수 있게 함 -,
상기 고정 위치로부터 상기 인증 값을 소거하게 하고,
상기 인증 값을 사용하여 암호 키를 획득하게 하는
컴퓨터 판독가능 매체.
- 제 8 항에 있어서,
상기 인증 값을 소거하는 것은 상기 고정 위치에 랜덤 데이터를 기록하는 것을 포함하는
컴퓨터 판독가능 매체.
- 제 8 항에 있어서,
상기 고정 위치는 UEFI(unified extensible firmware interface) 변수를 통해 액세스 가능한 BIOS 전용 메모리 내에 있는
컴퓨터 판독가능 매체.
- 제 8 항에 있어서,
상기 고정 위치는 신뢰 플랫폼 모듈 플랫폼 구성 레지스터인
컴퓨터 판독가능 매체.
- 제 8 항에 있어서,
상기 암호 키는, 상기 인증 값을 사용하여 상기 암호 키를 생성하는 것과 상기 인증 값을 사용하여 저장 위치로부터 상기 암호 키에 액세스하는 것 중 하나에 의해 획득되는
컴퓨터 판독가능 매체.
- 시스템으로서,
기본 입/출력 시스템(BIOS)에 액세스 가능한 제 1 플랫폼 구성 레지스터를 갖는 신뢰 플랫폼 모듈과,
시스템의 시동 동안 상기 플랫폼 구성 레지스터에 인증 값을 저장하는 BIOS 보안 모듈과,
상기 플랫폼 구성 레지스터로부터 상기 인증 값을 획득하고 랜덤 데이터를 사용하여 상기 플랫폼 구성 레지스터를 확장하는 값 취득 모듈과,
상기 인증 값을 사용하여 암호 키를 획득하기 위해 상기 인증 값을 사용하는 키 취득 모듈을 포함하고,
상기 플랫폼 구성 레지스터는 상기 시스템이 부팅할 때마다 상기 인증 값이 동일한 위치에 저장되고 검색될 수 있게 하는, 상기 값 취득 모듈 및 상기 BIOS 보안 모듈 모두에 알려진 보안 저장소 내의 위치인
시스템.
- 제 13 항에 있어서,
상기 키 취득 모듈은 상기 인증 값을 사용하여 상기 암호 키를 생성하는 것인
시스템.
- 제 13 항에 있어서,
상기 키 취득 모듈은 상기 인증 값을 사용하여 상기 시스템에 액세스 가능한 저장소로부터 상기 암호 키를 획득하는 것인
시스템.
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112989379A (zh) * | 2021-03-17 | 2021-06-18 | 联想(北京)有限公司 | 密钥保护实现方法、装置及电子设备 |
Citations (4)
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)
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 | 联想企业解决方案(新加坡)有限公司 | 用于访问计算设备的可信平台模块的方法和系统 |
-
2017
- 2017-09-19 US US16/479,495 patent/US11507668B2/en active Active
- 2017-09-19 EP EP17925966.8A patent/EP3685300A4/en active Pending
- 2017-09-19 CN CN201780097041.9A patent/CN111373404B/zh active Active
- 2017-09-19 JP JP2020516649A patent/JP6898519B2/ja active Active
- 2017-09-19 KR KR1020207010271A patent/KR102322955B1/ko active IP Right Grant
- 2017-09-19 WO PCT/US2017/052181 patent/WO2019059887A1/en unknown
Patent Citations (4)
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 |