KR101765209B1 - 안전 부팅 장치 및 방법 - Google Patents

안전 부팅 장치 및 방법 Download PDF

Info

Publication number
KR101765209B1
KR101765209B1 KR1020160068866A KR20160068866A KR101765209B1 KR 101765209 B1 KR101765209 B1 KR 101765209B1 KR 1020160068866 A KR1020160068866 A KR 1020160068866A KR 20160068866 A KR20160068866 A KR 20160068866A KR 101765209 B1 KR101765209 B1 KR 101765209B1
Authority
KR
South Korea
Prior art keywords
application program
cryptographic key
key
boot
booting
Prior art date
Application number
KR1020160068866A
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 한국전자통신연구원
Priority to KR1020160068866A priority Critical patent/KR101765209B1/ko
Application granted granted Critical
Publication of KR101765209B1 publication Critical patent/KR101765209B1/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/602Providing cryptographic facilities or services
    • 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
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/007Encryption, En-/decode, En-/decipher, En-/decypher, Scramble, (De-)compress

Landscapes

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

Abstract

안전 부팅 장치 및 방법이 개시된다. 본 발명에 따른 안전 부팅 장치는, 기본 부팅 절차를 수행한 후, 제1 부팅 절차 수행 여부를 결정하는 안전 부팅 판단부, 상기 제1 부팅 절차를 수행하는 것으로 결정된 경우, 외부로부터 입력된 응용 프로그램을 재암호화하여 플래시 메모리에 저장하는 상기 제1 부팅 절차를 수행하는 제1 부팅 수행부, 그리고 상기 제1 부팅 절차 수행 후, 상기 플래시 메모리에 저장된 상기 응용 프로그램을 복호화하는 제2 부팅 절차를 수행하는 제2 부팅 수행부를 포함한다.

Description

안전 부팅 장치 및 방법{APPARATUS AND METHOD FOR SAFE BOOTING}
본 발명은 안전 부팅 기술에 관한 것으로, 특히 물리적 복제 방지 함수를 이용하여, 응용 프로그램 이미지 및 보안 키 등의 중요 정보를 보호할 수 있는 부팅 기술에 관한 것이다.
오늘날 디지털 정보 시대가 도래함에 따라, 많은 양의 디지털 정보를 보호하는 보안 기술의 필요성이 대두되고 있다. 주로 디지털 정보는 플래시 메모리와 같은 하드웨어 디바이스에 저장된다. 그리고 디지털 정보가 침해받지 않도록 보호하기 위해서는, 부팅 절차에서부터 중요 데이터를 안전하게 저장하고, 불러올 수 있는 기술이 필요하다.
안전한 부팅 절차에서, 암호화된 중요 데이터를 복호화하는 작업이 중요하다. 암호화된 중요 데이터를 복호화하기 위해서는 키가 필요하며, 이때 사용되는 키를 안전하게 보관하는 기술이 안전한 부팅 기술의 핵심이다.
종래 기술에 따르면, 키를 안전하게 저장하기 위하여 플래시 메모리나 OTP(One time programmable) 메모리에 키를 평문으로 저장한다. 플래시 메모리는 전원 차단 후에도 데이터를 저장하므로, 공격자에게 키가 노출될 위험이 있다.
또한, RAM에 배터리를 연결하여, 전원 차단 상태에서도 키를 저장할 수 있도록 한 기술도 개발되었다. 이 기술에 따르면, 공격자의 공격이 감지되면, RAM에 연결된 배터리의 전원을 차단하여, 공격자가 키를 알 수 없도록 한다.
그러나, 이 기술은 각인 효과(Imprinting effect) 문제와 콜드 부트 공격(Cold-boot attack) 문제로 인하여 실제 안전 부팅 기술에 적용하기에는 한계가 있다. SRAM은 오랜 시간 같은 값을 저장할 경우, 데이터를 읽어올 때 반대 결과 값으로 출력되는 각인 효과가 발생한다.
또한, 콜드 부트 공격은 RAM이 저온에서 수 분 이상 정보가 유지되는 사실에 기반한 공격 기법으로, 컴퓨터 전원을 차단하고 장착 메모리를 저온 상태로 유지한 뒤, 해당 메모리를 다른 플랫폼에 장착하여 아직 지워지지 않은 키를 획득하는 공격 기법이다.
이와 같이, 중요 데이터를 암호화하는 키를 저장하는 종래의 기술들은 보안상 안전하지 않다. 키를 저장하는 기술이 안전하지 않을 경우, 부팅 절차에서부터 중요 데이터를 안전하게 불러올 수 없다.
따라서, 중요 데이터를 암호화하는 키를 안전하게 저장하는 기술의 개발이 필요하다. 그리고 이를 통하여 보안 칩의 보안성을 향상시킬 수 있도록 하는 기술의 개발이 필요하다.
한국 공개 특허 제10-2013-0060287호, 2013년 06월 07일 공개(명칭: 사전-부팅 및 안전 모드 동작들을 위한 안전한 판독가능한 메모리 영역의 지원)
본 발명의 목적은 보안 칩의 중요 정보가 노출되지 않는 안전한 부팅 절차를 제공하는 것이다.
또한, 본 발명의 목적은 중요 데이터 및 중요 데이터를 암호화하는 키를 안전하게 저장하여, 안전 부팅 기술을 제공할 수 있도록 하는 것이다.
또한, 본 발명의 목적은 보안 칩의 중요 데이터를 안전하게 저장 및 로딩할 수 있도록 하는 것이다.
상기한 목적을 달성하기 위한 본 발명에 따른 안전 부팅 장치는 기본 부팅 절차를 수행한 후, 제1 부팅 절차 수행 여부를 결정하는 안전 부팅 판단부, 상기 제1 부팅 절차를 수행하는 것으로 결정된 경우, 외부로부터 입력된 응용 프로그램을 재암호화하여 플래시 메모리에 저장하는 상기 제1 부팅 절차를 수행하는 제1 부팅 수행부, 그리고 상기 제1 부팅 절차 수행 후, 상기 플래시 메모리에 저장된 상기 응용 프로그램을 복호화하는 제2 부팅 절차를 수행하는 제2 부팅 수행부를 포함한다.
이때, 상기 제1 부팅 수행부는, 상기 외부로부터 입력된 응용 프로그램을 제1 암호키로 복호화하고, 상기 복호화된 응용 프로그램을 제2 암호키로 암호화하며, 상기 제2 암호키로 암호화된 상기 응용 프로그램을 플래시 메모리에 저장할 수 있다.
이때, 상기 제1 부팅 수행부는, 난수 및 상기 제2 암호키를 생성하고, 상기 난수 및 상기 제2 암호키를 이용하여, 헬퍼 데이터를 생성할 수 있다.
이때, 상기 제1 부팅 수행부는, 상기 난수, 상기 헬퍼 데이터, 상기 제2 암호키로 암호화된 응용 프로그램 중 적어도 어느 하나를 상기 플래시 메모리에 저장할 수 있다.
이때, 상기 제1 부팅 수행부는, 상기 응용 프로그램과 상기 제2 암호키의 무결성을 확인할 수 있다.
이때, 상기 제1 부팅 수행부는, 상기 제2 암호키로 암호화된 응용 프로그램, 상기 난수, 상기 헬퍼 데이터, 상기 제2 암호화키 중 적어도 어느 하나의 해쉬값을 이용하여 상기 무결성을 확인할 수 있다.
이때, 상기 제2 부팅 수행부는, 상기 헬퍼 데이터를 이용하여 상기 제2 암호키를 복원하고, 상기 제2 암호키, 상기 난수, 상기 헬퍼 데이터 중 적어도 어느 하나의 무결성을 확인하며, 상기 제2 암호키로 암호화된 상기 응용 프로그램을 복호화할 수 있다.
이때, 상기 헬퍼 데이터는, 물리적 복제 방지(PUF)의 키 은닉 기능을 통하여, 상기 제2 암호키로부터 생성된 것이고, 상기 제2 암호키는, 상기 물리적 복제 방지의 키 재생 기능을 통하여, 상기 헬퍼 데이터로부터 복원된 것일 수 있다.
이때, 공격 탐지 인터럽트 수신 시, 상기 플래시 메모리에 저장된 상기 암호화된 프로그램, 상기 난수 및 상기 헬퍼 데이터 중 적어도 어느 하나를 포함하는 중요 정보를 삭제하고, 물리적 복제 방지 회로의 레지스터 초기화를 수행하는 초기화부를 더 포함할 수 있다.
이때, 상기 안전 부팅 판단부는, 상기 외부로부터 입력된 응용 프로그램이 존재하는 경우 상기 제1 부팅 절차를 수행하는 것으로 결정하거나, 플래시 메모리에 응용 프로그램이 존재하지 않을 경우 상기 제1 부팅 절차를 수행할 수 있다.
또한, 본 발명의 일실시예에 따른 안전 부팅 장치에 의해 수행되는 안전 부팅 방법은 기본 부팅 절차를 수행한 후, 제1 부팅 절차 수행 여부를 결정하는 단계, 상기 제1 부팅 절차를 수행하는 것으로 결정된 경우, 외부로부터 입력된 응용 프로그램을 재암호화하여 플래시 메모리에 저장하는 상기 제1 부팅 절차를 수행하는 단계, 그리고 상기 제1 부팅 절차 수행 후, 상기 플래시 메모리에 저장된 상기 응용 프로그램을 복호화하는 제2 부팅 절차를 수행하는 단계를 포함한다.
이때, 상기 제1 부팅 절차를 수행하는 단계는, 상기 외부로부터 입력된 응용 프로그램을 제1 암호키로 복호화하는 단계, 상기 복호화된 응용 프로그램을 제2 암호키로 암호화하는 단계, 그리고 상기 제2 암호키로 암호화된 상기 응용 프로그램을 플래시 메모리에 저장하는 단계를 포함할 수 있다.
이때, 난수 및 상기 제2 암호키를 생성하는 단계, 그리고 상기 난수 및 상기 제2 암호키를 이용하여, 헬퍼 데이터를 생성하는 단계를 더 포함할 수 있다.
이때, 상기 응용 프로그램을 플래시 메모리에 저장하는 단계는, 상기 난수, 상기 헬퍼 데이터, 상기 제2 암호키로 암호화된 응용 프로그램 중 적어도 어느 하나를 상기 플래시 메모리에 저장할 수 있다.
이때, 상기 응용 프로그램과 상기 제2 암호키의 무결성을 확인하는 단계를 더 포함할 수 있다.
이때, 상기 무결성을 확인하는 단계는, 상기 제2 암호키로 암호화된 응용 프로그램, 상기 난수, 상기 헬퍼 데이터, 상기 제2 암호화키 중 적어도 어느 하나의 해쉬값을 이용하여 상기 무결성을 확인할 수 있다.
이때, 상기 제2 부팅 절차를 수행하는 단계는, 상기 헬퍼 데이터를 이용하여 상기 제2 암호키를 복원하는 단계, 상기 제2 암호키, 상기 난수, 상기 헬퍼 데이터 중 적어도 어느 하나의 무결성을 확인하는 단계, 그리고 상기 제2 암호키로 암호화된 상기 응용 프로그램을 복호화하는 단계를 포함할 수 있다.
이때, 상기 헬퍼 데이터는, 물리적 복제 방지(PUF)의 키 은닉 기능을 통하여, 상기 제2 암호키로부터 생성된 것이고, 상기 제2 암호키는, 상기 물리적 복제 방지의 키 재생 기능을 통하여, 상기 헬퍼 데이터로부터 복원된 것일 수 있다.
이때, 공격 탐지 인터럽트 수신 시, 상기 플래시 메모리에 저장된 상기 암호화된 프로그램, 상기 난수 및 상기 헬퍼 데이터 중 적어도 어느 하나를 포함하는 중요 정보를 삭제하는 단계, 그리고 물리적 복제 방지 회로의 레지스터 초기화를 수행하는 단계를 더 포함할 수 있다.
이때, 상기 제1 부팅 절차 수행 여부를 결정하는 단계는, 상기 외부로부터 입력된 응용 프로그램이 존재하는 경우 상기 제1 부팅 절차를 수행하는 것으로 결정하거나, 플래시 메모리에 응용 프로그램이 존재하지 않을 경우 상기 제1 부팅 절차를 수행하는 것으로 결정할 수 있다.
본 발명에 따르면, 보안 칩의 중요 정보가 노출되지 않는 안전한 부팅 절차를 제공할 수 있다.
또한 본 발명에 따르면, 중요 데이터 및 중요 데이터를 암호화하는 키를 안전하게 저장하여, 안전 부팅 기술을 제공할 수 있다.
또한 본 발명에 따르면, 보안 칩의 중요 데이터를 안전하게 저장 및 로딩할 수 있다.
도 1은 본 발명의 일실시예에 따른 안전 부팅 장치의 구성을 나타낸 블록도이다.
도 2는 본 발명의 일실시예에 따른 안전 부팅 방법을 설명하기 위한 순서도이다.
도 3은 본 발명의 일실시예에 따른 제1 부팅 절차를 설명하기 위한 순서도이다.
도 4는 본 발명의 일실시예에 따른 도 3의 S310 단계에서 제1 암호키를 수신하는 과정을 설명하기 위한 순서도이다.
도 5는 본 발명의 일실시예에 따른 제2 부팅 절차를 설명하기 위한 순서도이다.
도 6은 본 발명의 일실시예에 따른 공격 탐지시 보안 칩의 중요 데이터 삭제 과정을 설명하기 위한 순서도이다.
도 7은 본 발명의 일실시예에 따른 컴퓨터 시스템을 나타낸 블록도이다.
본 발명을 첨부된 도면을 참조하여 상세히 설명하면 다음과 같다. 여기서, 반복되는 설명, 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능, 및 구성에 대한 상세한 설명은 생략한다. 본 발명의 실시형태는 당 업계에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위해서 제공되는 것이다. 따라서, 도면에서의 요소들의 형상 및 크기 등은 보다 명확한 설명을 위해 과장될 수 있다.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 본 발명의 일실시예에 따른 안전 부팅 장치의 구성을 나타낸 블록도이다.
도 1에 도시한 바와 같이, 안전 부팅 장치(100)는 안전 부팅 판단부(110), 제1 부팅 수행부(120), 제2 부팅 수행부(130) 및 초기화부(140)를 포함한다.
먼저, 안전 부팅 판단부(110)는 기본 부팅 절차를 수행한 후, 제1 부팅 절차 수행 여부를 결정한다.
안전 부팅 판단부(110)는 외부로부터 입력된 응용 프로그램이 존재하는 경우 제1 부팅 절차를 수행하는 것으로 결정할 수 있다. 그리고 안전 부팅 판단부(110)는 플래시 메모리에 응용 프로그램이 존재하지 않을 경우, 제1 부팅 절차를 수행하는 것으로 결정할 수 있다.
여기서, 응용 프로그램은 응용 프로그램 이미지를 의미할 수 있으며, 안전 부팅 장치(100)는 응용 프로그램 이미지의 존재 여부를 기반으로 제1 부팅 절차의 수행 여부를 결정할 수 있다.
그리고 제1 부팅 수행부(120)는 제1 부팅 절차를 수행하는 것으로 결정된 경우, 제1 부팅 절차를 수행한다. 여기서, 제1 부팅 절차는, 외부로부터 입력된 응용 프로그램을 제1 암호키로 복호화하고, 복호화된 응용 프로그램을 제2 암호키로 재암호화하여 플래시 메모리에 저장하는 부팅 절차를 의미할 수 있다.
제1 부팅 수행부(120)는 난수 및 제2 암호키를 생성하고, 생성된 난수 및 제2 암호키를 이용하여, 헬퍼 데이터를 생성할 수 있다. 여기서, 헬퍼 데이터는 물리적 복제 방지(PUF)의 키 은닉 기능을 통하여 제2 암호키로부터 생성된 것 일 수 있다. 그리고 제1 부팅 수행부(120)는 난수, 헬퍼 데이터, 제2 암호키로 암호화된 응용 프로그램 중 적어도 어느 하나를 플래시 메모리에 저장할 수 있다.
또한, 제1 부팅 수행부(120)는 응용 프로그램과 제2 암호키의 무결성을 확인할 수 있다. 이때, 제1 부팅 수행부(120)는 제2 암호키로 암호화된 응용 프로그램, 난수, 헬퍼 데이터, 제2 암호키 중 적어도 어느 하나에 상응하는 해쉬값을 이용하여 무결성을 확인할 수 있다.
다음으로 제2 부팅 수행부(130)는 제1 부팅 절차 수행 후, 플래시 메모리에 저장된 응용 프로그램을 복호화하는 제2 부팅 절차를 수행한다.
제2 부팅 수행부(130)는 헬퍼 데이터를 이용하여 제2 암호키를 복원하고, 제2 암호키, 난수, 헬퍼 데이터 중 적어도 어느 하나에 상응하는 무결성을 확인한다. 그리고 제2 부팅 수행부(130)는 제2 암호키로 암호화된 응용 프로그램을 복호화하고, 복호화된 응용 프로그램을 수행한다.
이때, 제2 암호키는 물리적 복제 방지(PUF)의 키 재생 기능을 통하여 헬퍼 데이터로부터 복원된 것일 수 있다.
물리적 복제 방지(PUF)는 Response = PUF(Challenge) 형태의 함수일 수 있으며, 난수(Challenge, CH) 값이 동일하더라도, Response 값은 반도체 칩마다 예측 불가능하고, 특이한(uniqueness) 값을 가진다.
그리고 안전 부팅 장치(100)는 물리적 복제 방지(PUF)를 활용하여 키 은닉 및 키 재생 기능을 수행하는 PUF 제어기를 통하여 물리적 복제 방지(PUF)를 동작시킬 수 있으며, PUF 제어기는 하드웨어 또는 소프트웨어 형태로 구현될 수 있다.
마지막으로 초기화부(140)는 공격 탐지 인터럽트 수신 시, 플래시 메모리에 저장된 암호화된 프로그램, 난수 및 헬퍼 데이터 중 적어도 어느 하나를 포함하는 중요 정보를 삭제한다. 그리고 초기화부(140)는 물리적 복제 방지 회로의 레지스터 초기화를 수행한다.
안전 부팅 장치(100)는 보안 칩 형태로 구현되거나, 보안 칩과 통신을 수행하여, 안전 부팅 절차를 수행하는 형태로 구현될 수 있다.
이하에서는 도 2 내지 도 6을 통하여 본 발명의 일실시예에 따른 안전 부팅 장치에 의해 수행되는 안전 부팅 방법에 대하여 더욱 상세하게 설명한다.
도 2는 본 발명의 일실시예에 따른 안전 부팅 방법을 설명하기 위한 순서도이다.
먼저, 안전 부팅 장치(100)는 기본 부팅 절차를 수행한다(S210).
기본 부팅 절차는 CPU의 종류 및 보안 칩 하드웨어의 구성에 따라 상이할 수 있다. 예를 들어 ARM 계열의 CPU인 경우, 안전 부팅 장치(100)는 인터럽트 벡터를 설정하고, 시스템 클럭, PLL 소스 클럭 등 하드웨어 자원을 초기화하는 ARM의 부팅 절차를 수행한다. 이때, 기본 부팅 절차는 ARM 스펙에 따라 상이할 수 있다.
설명의 편의상, ARM 계열의 CPU인 것으로 설명하였으나 이에 한정하지 않고, 안전 부팅 장치(100)는 다양한 CPU에 적용되어 구현될 수 있다.
그리고 안전 부팅 장치(100)는 제1 부팅 절차 수행 여부를 결정한다(S220).
안전 부팅 장치(100)는 외부에서 주입한 암호화된 응용 프로그램이 존재하는지 여부를 확인하여, 제1 부팅 절차의 수행 여부를 결정할 수 있다. 또한, 안전 부팅 장치(100)는 플래시 메모리에 응용 프로그램이 존재하는지 여부를 확인하여, 제1 부팅 절차의 수행 여부를 결정할 수 있다.
외부에서 주입된 응용 프로그램이 존재하는 경우, 안전 부팅 장치(100)는 제1 부팅 절차를 수행한다. 그리고 플래시 메모리에 응용 프로그램이 존재하지 않을 경우, 안전 부팅 장치(100)는 제1 부팅 절차를 수행할 수 있다. 반면, 제1 부팅 절차를 수행하지 않는 것으로 결정된 경우, 안전 부팅 장치(100)는 후술할 S240 단계를 수행한다.
제1 부팅 절차를 수행하는 것으로 결정된 경우, 안전 부팅 장치(100)는 제1 부팅 절차를 수행한다(S230).
안전 부팅 장치(100)는 제1 암호키(PEK1; Program encrypting key 1)를 이용하여 외부에서 주입된 응용 프로그램을 복호화한다. 그리고 안전 부팅 장치(100)는 난수(CH, Challenge) 및 제2 암호키(PEK2; Program encrypting key 2)를 생성하고, 생성된 제2 암호키(PEK2)를 이용하여 복호화된 응용 프로그램을 재 암호화한다. 이때, 제1 암호키와 제2 암호키는 서로 상이한 키를 의미한다.
또한, 안전 부팅 장치(100)는 물리적 복제 방지(PUF)의 키 은닉 기능을 이용하여 제2 암호키로부터 헬퍼 데이터(HD; Helper Data)를 생성한다. 그리고 안전 부팅 장치(100)는 재암호화된 응용 프로그램, 난수(CH), 헬퍼 데이터(HD) 및 제2 암호키(PEK2)의 해시 연산을 수행한다.
해시 연산을 수행한 후, 안전 부팅 장치(100)는 재 암호화된 응용 프로그램을 플래시 메모리에 저장한다. 또한, 안전 부팅 장치(100)는 생성된 헬퍼 데이터(HD)를 플래시 메모리에 저장한다. 이를 통하여, 본 발명의 일실시예에 따른 안전 부팅 장치(100)는 암호 칩의 안전성을 증가시킬 수 있다.
안전 부팅 장치(100)는 물리적 복제 방지(PUF)의 키 은닉 및 키 재생 방식으로, CHES2012에서 소개된 " Soft decision error correction for compact memory-based PUFs using a single enrollment"의 Figure 1 방식과 NXP사에서 출판한 백서 "PUF-Physical unclonable functions" 4page에 소개된 방식을 적용할 수 있다.
설명의 편의상, 위의 방식으로 키 은닉 및 키 재생을 수행하는 것으로 설명하였으나 이에 한정하지 않고, 안정 부팅 장치(100)는 다양한 방법으로 키 은닉 및 키 재생을 수행할 수 있다.
이와 같이, 안전 부팅 장치(100)는 물리적 복제 방지(PUF)를 이용하여 키 은닉을 수행함으로써, 플래시 메모리에 키를 평문으로 저장하는 종래 기술이나, RAM 및 배터리를 활용하여 저장하는 종래 기술에 비하여 보안성을 향상시킬 수 있다.
그리고 안전 부팅 장치(100)는 제2 부팅 절차를 수행한다(S240).
안전 부팅 장치(100)는 플래시 메모리에 저장된 헬퍼 데이터를 물리적 복제 방지(PUF)의 키 재생 기능을 통하여, 제2 암호키로 복원한다. 그리고 해시 함수를 이용하여, 응용 프로그램, 제2 암호키(PEK2), 난수(CH) 및 헬퍼 데이터(HD)의 무결성을 확인한다. 이를 통하여 안전 부팅 장치(100)는 정상적으로 키가 재생되었는지 여부를 확인할 수 있다.
무결성 검증을 수행한 후, 안전 부팅 장치(100)는 제2 암호키로 암호화된 응용 프로그램을 복호화한다.
마지막으로, 안전 부팅 장치(100)는 응용 프로그램을 실행한다(S250).
안전 부팅 장치(100)는 제1 부팅 절차 및 제2 부팅 절차를 통하여 안전한 부팅을 수행한 후, 응용 프로그램을 실행한다.
도 3은 본 발명의 일실시예에 따른 제1 부팅 절차를 설명하기 위한 순서도이다.
도 3에 도시된 제1 부팅 절차는 도 2의 S230 단계에서 수행되는 제1 부팅 절차를 더욱 자세하게 설명한 것으로, 도 2의 S220 단계에서 제1 부팅 절차를 수행하는 것으로 결정된 경우, 안전 부팅 장치(100)는 도 3의 과정을 수행할 수 있다.
먼저, 안전 부팅 장치(100)는 입력된 응용 프로그램을 제1 암호키로 복호화한다(S310).
안전 부팅 장치(100)는 외부로부터 응용 프로그램이 입력될 때까지 응용 프로그램 입력 대기 상태를 유지한다. 그리고 안전 부팅 장치(100)는 외부로부터 암호화된 응용 프로그램을 입력받으면, S310 단계를 수행한다.
안전 부팅 장치(100)는 외부로부터 제1 암호키(PEK1)로 암호화된 응용 프로그램과 공개키로 암호화된 제1 암호키(PEK1)를 입력받는다. 이때, 안전 부팅 장치(100)가 외부로부터 입력받은 암호화된 응용 프로그램은 제1 암호키(PEK1)로 블록 암호화된 응용 프로그램 이미지일 수 있다.
그리고 안전 부팅 장치(100)는 외부로부터 공개키 방식으로 제1 암호키(PEK1)을 입력받고, 제1 암호키(PEK1)를 이용하여, 암호화된 응용 프로그램을 복호화한다. 안전 부팅 장치(100)가 제1 암호키(PEK1)를 외부로부터 입력받는 과정은 후술할 도 4를 통하여 더욱 상세하게 설명한다.
그리고 안전 부팅 장치(100)는 난수 및 제2 암호키를 생성하고(S320), 제2 암호키로 응용 프로그램을 재암호화한다(S330).
이때, 안전 부팅 장치(100)는 난수 발생기를 이용하여, 난수(CH) 및 제2 암호키(PEK2)를 생성할 수 있다. 그리고 안전 부팅 장치(100)는 S310 단계에서 복호화된 응용 프로그램을 생성된 제2 암호키를 이용하여 재암호화한다.
다음으로 안전 부팅 장치(100)는 제2 암호키를 은닉하고, 헬퍼 데이터를 생성한다(S340).
안전 부팅 장치(100)는 물리적 복제 방지(PUF)의 키 은닉 기능을 이용하여, 제2 암호키(PEK2)를 은닉하고, 헬퍼 데이터(HD)를 생성한다. 이때, 안전 부팅 장치(100)는 다음의 수학식 1을 통하여 헬퍼 데이터(HD)를 생성할 수 있다.
Figure 112016053451245-pat00001
여기서, HD는 헬퍼 데이터를 의미하고, KEY_ROLL은 키 은닉 함수를 의미하며, PEK2는 제2 암호키를 의미하고, CH는 난수를 의미한다.
그리고 안전 부팅 장치(100)는 해쉬 연산을 수행한다(S350).
안전 부팅 장치(100)는 응용 프로그램과 제2 암호키(PEK2)의 무결성을 검증하기 위하여, 수학식 2와 같이 해쉬 연산을 수행한다. 이때, 해쉬 연산의 수행 결과 제1 다이제스트 값이 생성된다. 그리고 안전 부팅 장치(100)는 후술할 도 5에서, 제1 다이제스트 값과 제2 부팅 절차에 상응하는 제2 다이제스트 값을 비교하여 무결성을 검증할 수 있다.
Figure 112016053451245-pat00002
여기서, Dig1은 제1 부팅 절차에 상응하는 해쉬값인 제1 다이제스트 값을 의미하고, PEK2는 제2 암호키를 의미하며, EPEK2(Prog.)는 제2 암호키로 암호화된 응용 프로그램을 의미하고, CH는 난수를 의미하며, HD는 헬퍼 데이터를 의미한다.
그리고 안전 부팅 장치(100)는 제1 다이제스트 값과 후술할 도 5의 S520 단계에서 생성한 제2 다이제스트 값을 비교하여, 응용 프로그램과 제2 암호키(PEK2)의 무결성을 검증할 수 있다.
마지막으로 안전 부팅 장치(100)는 재암호화된 응용 프로그램을 저장한다(S360).
안전 부팅 장치(100)는 제2 암호키(PEK2)로 암호화된 응용 프로그램을 플래시 메모리에 저장한다. 이때, 안전 부팅 장치(100)는 S350 단계에서 생성된 제1 다이제스트 값을 암호화된 응용 프로그램에 상응하도록 저장할 수 있다.
그리고 안전 부팅 장치(100)는 S360 단계를 수행한 후, 도 2에 도시된 S240 단계를 통하여 제2 부팅 절차를 수행할 수 있다.
도 4는 본 발명의 일실시예에 따른 도 3의 S310 단계에서 제1 암호키를 수신하는 과정을 설명하기 위한 순서도이다.
먼저, 안전 부팅 장치(100)는 응용 프로그램 주입자로부터 공개키 요청을 수신하면(S410), 개인키를 생성하고, 공개키를 계산한다(S420).
안전 부팅 장치(100)는 응용 프로그램 주입자로부터 공개키(Q)를 요청받으면, 난수 발생기를 이용하여 개인키(d)를 생성한다. 그리고 안전 부팅 장치(100)는 생성된 개인키(d)를 이용하여 공개키(Q)를 생성한다. 이때, 안전 부팅 장치(100)는 Q=dP 연산을 수행하여 공개키(Q)를 생성할 수 있다.
다음으로 안전 부팅 장치(100)는 응용 프로그램 주입자에게 공개키를 전송한다(S430).
안전 부팅 장치(100)는 응용 프로그램 주입자에게 생성된 공개키(Q)를 전송하고, 응용 프로그램 주입자는 수신된 공개키(Q)를 암호화한다.
마지막으로 안전 부팅 장치(100)는 응용 프로그램 주입자로부터 암호화된 제1 암호키를 수신한다(S440).
안전 부팅 장치(100)는 응용 프로그램 주입자로부터 수신한 암호화된 제1 암호키를 복호화하여 제1 암호키(PEK1)를 획득한다. 이때, 응용 프로그램 주입자는 (C1, C2) 형태로 암호화된 제1 암호키를 전송할 수 있으며, C1=kP, C2=PEK1+kQ를 의미할 수 있다. 그리고 안전 부팅 장치(100)는 PEK1=C2-dC1을 계산하여, 제1 암호키(PEK1)을 복호화할 수 있다.
설명의 편의상, 안전 부팅 장치(100)가 공개키 암호화 방식으로 타원 곡선 알고리즘을 이용하는 것으로 설명하였으나 이에 한정하지 않고, 안전 부팅 장치(100)는 RSA(Rivest, Shamir, Adleman) 등 다양한 알고리즘을 적용하여 공개키 암호화를 수행할 수 있다.
도 5는 본 발명의 일실시예에 따른 제2 부팅 절차를 설명하기 위한 순서도이다.
먼저, 안전 부팅 장치(100)는 헬퍼 데이터를 이용하여 제2 암호키를 복원한다(S510).
안전 부팅 장치(100)는 플래시 메모리에 저장된 헬퍼 데이터(HD)를 이용하여 제2 암호키(PEK2)를 복원한다. 이때, 안전 부팅 장치(100)는 물리적 복제 방지(PUF)의 키 재생 기능을 통하여, 다음의 수학식 3과 같이 헬퍼 데이터(HD)로부터 제2 암호키(PEK2)를 복원할 수 있다.
Figure 112016053451245-pat00003
여기서, PEK2는 제2 암호키를 의미하고, KEY_RECON은 키 재생 함수를 의미하며, HD는 헬퍼 데이터를 의미하고, CH는 난수를 의미한다.
그리고 안전 부팅 장치(100)는 해쉬값을 이용한 무결성 검증을 수행한다(S520).
안전 부팅 장치(100)는 해쉬 함수를 이용하여, 응용 프로그램, 제2 암호키(PEK2), 난수(CH) 및 헬퍼 데이터(HD)의 무결성을 검증한다. 이를 통하여 안전 부팅 장치(100)는 정상적으로 제2 암호키(PEK2)가 재생되었는지 여부를 확인할 수 있다.
안전 부팅 장치(100)는 다음의 수학식 4를 통하여 제2 다이제스트 값을 계산할 수 있다.
Figure 112016053451245-pat00004
여기서, Dig2는 제2 부팅 절차에 상응하는 해쉬값인 제2 다이제스트 값을 의미하고, PEK2는 제2 암호키를 의미하며, EPEK2(Prog.)는 제2 암호키로 암호화된 응용 프로그램을 의미하고, CH는 난수를 의미하며, HD는 헬퍼 데이터를 의미한다.
그리고 안전 부팅 장치(100)는 수학식 2를 통하여 계산된 제1 다이제스트 값과 수학식 4를 통하여 계산된 제2 다이제스트 값을 비교하여 무결성을 검증할 수 있다. 이때, 안전 부팅 장치(100)는 제1 다이제스트 값과 제2 다이제스트 값이 동일한지 여부를 확인하여 무결성을 검증할 수 있다.
다음으로 안전 부팅 장치(100)는 제2 암호키를 이용하여 응용 프로그램을 복호화한다(S530).
무결성 검증 결과, 제2 암호키(PEK2)가 정상적으로 재생된 것으로 확인되면, 안전 부팅 장치(100)는 제2 암호키(PEK2)를 이용하여 암호화된 응용 프로그램을 복호화한다.
마지막으로 안전 부팅 장치(100)는 복호화된 응용 프로그램을 실행한다(S540).
이와 같이, 안전 부팅 장치(100)는 제1 부팅 절차 및 제2 부팅 절차를 통하여 안전한 부팅을 수행한 후, 응용 프로그램을 실행할 수 있다.
도 6은 본 발명의 일실시예에 따른 공격 탐지시 보안 칩의 중요 데이터 삭제 과정을 설명하기 위한 순서도이다.
안전 부팅 장치(100)가 공격 탐지 인터럽트를 수신한 경우(S610), 안전 부팅 장치(100)는 플래시 메모리에 저장된 중요 정보를 삭제한다(S620).
안전 부팅 장치(100)는 도 5의 S540 단계를 통하여 응용 프로그램을 수행한 이후, 공격 탐지 인터럽트를 수신할 경우, 플래시 메모리에 저장된 중요 정보를 삭제한다. 여기서 중요 정보는 플래시 메모리에 저장된 암호화된 응용 프로그램, 난수, 헬퍼 데이터 중 적어도 어느 하나를 포함할 수 있다.
이때, 공격 탐지 인터럽트는 센서 및 공격탐지 신호 수신 장치 중 적어도 어느 하나로부터 수신된 것일 수 있다.
그리고 안전 부팅 장치(100)는 물리적 복제 방지(PUF) 제어기의 레지스터를 초기화하고, 물리적 복제 방지의 전원을 차단한다(S630).
안전 부팅 장치(100)는 물리적 복제 방지(PUF) 제어기의 키 은닉 기능 및 키 재생 기능에 상응하는 레지스터를 초기화하고, 물리적 복제 방지(PUF) 제어기의 전원을 차단한다.
이와 같이, 안전 부팅 장치(100)는 공격이 감지된 경우, S620 단계를 통하여 플래시 메모리에 저장된 응용 프로그램을 삭제하므로, 재 부팅 후 공격 탐지 인터럽트가 발생하지 않은 경우 제1 부팅 절차를 수행하여 외부로부터 응용 프로그램을 재입력 받아야 한다.
본 발명의 일실시예에 따른 안전 부팅 장치(100)는 물리적 복제 방지(PUF)의 키 은닉 및 키 재생 기능을 통하여, 암호키를 직접 메모리에 저장하지 않는다. 그리고 안전 부팅 장치(100)는 제1 부팅 절차 및 제2 부팅 절차를 통하여 응용 프로그램과 암호키 등의 중요 정보를 안전하게 저장함으로써, 보안 칩의 보안성을 향상시킬 수 있다.
도 7은 본 발명의 일실시예에 따른 컴퓨터 시스템을 나타낸 블록도이다.
도 7을 참조하면, 본 발명의 실시예는 컴퓨터로 읽을 수 있는 기록매체와 같은 컴퓨터 시스템(700)에서 구현될 수 있다. 도 7에 도시된 바와 같이, 컴퓨터 시스템(700)은 버스(720)를 통하여 서로 통신하는 하나 이상의 프로세서(710), 메모리(730), 사용자 입력 장치(740), 사용자 출력 장치(750) 및 스토리지(760)를 포함할 수 있다. 또한, 컴퓨터 시스템(700)은 네트워크(780)에 연결되는 네트워크 인터페이스(770)를 더 포함할 수 있다. 프로세서(710)는 중앙 처리 장치 또는 메모리(730)나 스토리지(760)에 저장된 프로세싱 인스트럭션들을 실행하는 반도체 장치일 수 있다. 메모리(730) 및 스토리지(760)는 다양한 형태의 휘발성 또는 비휘발성 저장 매체일 수 있다. 예를 들어, 메모리는 ROM(731)이나 RAM(732)을 포함할 수 있다.
따라서, 본 발명의 실시예는 컴퓨터로 구현된 방법이나 컴퓨터에서 실행 가능한 명령어들이 기록된 비일시적인 컴퓨터에서 읽을 수 있는 매체로 구현될 수 있다. 컴퓨터에서 읽을 수 있는 명령어들이 프로세서에 의해서 수행될 때, 컴퓨터에서 읽을 수 있는 명령어들은 본 발명의 적어도 한 가지 태양에 따른 방법을 수행할 수 있다.
이상에서와 같이 본 발명에 따른 안전 부팅 장치 및 방법은 상기한 바와 같이 설명된 실시예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 상기 실시예들은 다양한 변형이 이루어질 수 있도록 각 실시예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.
100: 안전 부팅 장치 110: 안전 부팅 판단부
120: 제1 부팅 수행부 130: 제2 부팅 수행부
140: 초기화부 700: 컴퓨터 시스템
710: 프로세서 720: 버스
730: 메모리 731: 롬
732: 램 740: 사용자 입력 장치
750: 사용자 출력 장치 760: 스토리지
770: 네트워크 인터페이스 780: 네트워크

Claims (20)

  1. 기본 부팅 절차를 수행한 후, 제1 부팅 절차 수행 여부를 결정하는 안전 부팅 판단부,
    상기 제1 부팅 절차를 수행하는 것으로 결정된 경우, 외부로부터 입력된 응용 프로그램을 제1 암호키로 복호화하고, 난수 및 제2 암호키를 생성하며, 복호화된 상기 응용 프로그램을 상기 제2 암호키로 재암호화한 후, 상기 제2 암호키를 은닉하여 헬퍼 데이터를 생성하고, 상기 제2 암호키로 암호화된 상기 응용 프로그램을 플래시 메모리에 저장하는 상기 제1 부팅 절차를 수행하는 제1 부팅 수행부, 그리고
    상기 헬퍼 데이터를 이용하여 상기 제2 암호키를 재생하고, 재생된 상기 제2 암호키를 이용하여 상기 플래시 메모리에 저장된 상기 응용 프로그램을 복호화하는 제2 부팅 절차를 수행하는 제2 부팅 수행부
    를 포함하는 안전 부팅 장치.
  2. 삭제
  3. 삭제
  4. 제1항에 있어서,
    상기 제1 부팅 수행부는,
    상기 난수, 상기 헬퍼 데이터, 상기 제2 암호키로 암호화된 응용 프로그램 중 적어도 어느 하나를 상기 플래시 메모리에 저장하는 것을 특징으로 하는 안전 부팅 장치.
  5. 제1항에 있어서,
    상기 제1 부팅 수행부는,
    상기 응용 프로그램 및 상기 제2 암호키 중 적어도 어느 하나의 무결성을 확인하는 것을 특징으로 하는 안전 부팅 장치.
  6. 제5항에 있어서,
    상기 제1 부팅 수행부는,
    상기 제2 암호키로 암호화된 응용 프로그램, 상기 난수, 상기 헬퍼 데이터, 상기 제2 암호키 중 적어도 어느 하나에 대한 제1 해쉬 연산을 수행하는 것을 특징으로 하는 안전 부팅 장치.
  7. 제6항에 있어서,
    상기 제2 부팅 수행부는,
    상기 제2 암호키, 상기 난수, 상기 헬퍼 데이터 중 적어도 어느 하나에 대한 제2 해쉬 연산을 수행하고, 상기 제1 해쉬 연산의 결과 및 상기 제2 해쉬 연산의 결과를 비교하여 무결성을 확인한 후, 상기 제2 암호키로 암호화된 상기 응용 프로그램을 복호화하는 것을 특징으로 하는 안전 부팅 장치.
  8. 제7항에 있어서,
    상기 헬퍼 데이터는,
    물리적 복제 방지(PUF)의 키 은닉 기능을 통하여, 상기 제2 암호키로부터 생성된 것이고,
    상기 제2 암호키는,
    상기 물리적 복제 방지의 키 재생 기능을 통하여, 상기 헬퍼 데이터로부터 복원된 것을 특징으로 하는 안전 부팅 장치.
  9. 제1항에 있어서,
    공격 탐지 인터럽트 수신 시, 상기 플래시 메모리에 저장된 상기 암호화된 응용 프로그램, 상기 난수 및 상기 헬퍼 데이터 중 적어도 어느 하나를 포함하는 중요 정보를 삭제하고, 물리적 복제 방지 회로의 레지스터 초기화를 수행하는 초기화부를 더 포함하는 안전 부팅 장치.
  10. 제1항에 있어서,
    상기 안전 부팅 판단부는,
    상기 외부로부터 입력된 응용 프로그램이 존재하는 경우 상기 제1 부팅 절차를 수행하는 것으로 결정하거나, 플래시 메모리에 응용 프로그램이 존재하지 않을 경우 상기 제1 부팅 절차를 수행하는 것으로 결정하는 안전 부팅 장치.
  11. 안전 부팅 장치에 의해 수행되는 안전 부팅 방법에 있어서,
    기본 부팅 절차를 수행한 후, 제1 부팅 절차 수행 여부를 결정하는 단계,
    상기 제1 부팅 절차를 수행하는 것으로 결정된 경우, 외부로부터 입력된 응용 프로그램을 제1 암호키로 복호화하는 단계,
    난수 및 제2 암호키를 생성하고, 복호화된 상기 응용 프로그램을 상기 제2 암호키로 재암호화하는 단계,
    상기 제2 암호키를 은닉하여 헬퍼 데이터를 생성하는 단계,
    상기 제2 암호키로 암호화된 상기 응용 프로그램을 플래시 메모리에 저장하여 상기 제1 부팅 절차를 수행하는 단계, 그리고
    상기 헬퍼 데이터를 이용하여 상기 제2 암호키를 재생하는 단계,
    재생된 상기 제2 암호키를 이용하여 상기 플래시 메모리에 저장된 상기 응용 프로그램을 복호화하는 제2 부팅 절차를 수행하는 단계
    를 포함하는 안전 부팅 방법.
  12. 삭제
  13. 삭제
  14. 제11항에 있어서,
    생성된 상기 난수, 상기 헬퍼 데이터, 상기 제2 암호키로 암호화된 응용 프로그램 중 적어도 어느 하나를 상기 플래시 메모리에 저장하는 단계를 더 포함하는 것을 특징으로 하는 안전 부팅 방법.
  15. 제11항에 있어서,
    상기 응용 프로그램 및 상기 제2 암호키 중 적어도 어느 하나의 무결성을 확인하는 단계를 더 포함하는 안전 부팅 방법.
  16. 제15항에 있어서,
    상기 무결성을 확인하는 단계는,
    상기 제2 암호키로 암호화된 응용 프로그램, 상기 난수, 상기 헬퍼 데이터, 상기 제2 암호키 중 적어도 어느 하나에 대한 제1 해쉬 연산을 수행하는 것을 특징으로 하는 안전 부팅 방법.
  17. 제16항에 있어서,
    상기 제2 부팅 절차를 수행하는 단계는,
    상기 제2 암호키, 상기 난수, 상기 헬퍼 데이터 중 적어도 어느 하나에 대한 제2 해쉬 연산을 수행하는 단계,
    상기 제1 해쉬 연산의 결과 및 상기 제2 해쉬 연산의 결과를 비교하여 무결성을 확인하는 단계, 그리고
    상기 무결성을 확인한 후, 상기 제2 암호키로 암호화된 상기 응용 프로그램을 복호화하는 단계를 포함하는 안전 부팅 방법.
  18. 제17항에 있어서,
    상기 헬퍼 데이터는,
    물리적 복제 방지(PUF)의 키 은닉 기능을 통하여, 상기 제2 암호키로부터 생성된 것이고,
    상기 제2 암호키는,
    상기 물리적 복제 방지의 키 재생 기능을 통하여, 상기 헬퍼 데이터로부터 복원된 것을 특징으로 하는 안전 부팅 방법.
  19. 제11항에 있어서,
    공격 탐지 인터럽트 수신 시, 상기 플래시 메모리에 저장된 상기 암호화된 응용 프로그램, 상기 난수 및 상기 헬퍼 데이터 중 적어도 어느 하나를 포함하는 중요 정보를 삭제하는 단계, 그리고
    물리적 복제 방지 회로의 레지스터 초기화를 수행하는 단계를 더 포함하는 안전 부팅 방법.
  20. 제11항에 있어서,
    상기 제1 부팅 절차 수행 여부를 결정하는 단계는,
    상기 외부로부터 입력된 응용 프로그램이 존재하는 경우 상기 제1 부팅 절차를 수행하는 것으로 결정하거나, 플래시 메모리에 응용 프로그램이 존재하지 않을 경우 상기 제1 부팅 절차를 수행하는 것으로 결정하는 안전 부팅 방법.
KR1020160068866A 2016-06-02 2016-06-02 안전 부팅 장치 및 방법 KR101765209B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160068866A KR101765209B1 (ko) 2016-06-02 2016-06-02 안전 부팅 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160068866A KR101765209B1 (ko) 2016-06-02 2016-06-02 안전 부팅 장치 및 방법

Publications (1)

Publication Number Publication Date
KR101765209B1 true KR101765209B1 (ko) 2017-08-04

Family

ID=59654455

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160068866A KR101765209B1 (ko) 2016-06-02 2016-06-02 안전 부팅 장치 및 방법

Country Status (1)

Country Link
KR (1) KR101765209B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009252244A (ja) * 2008-04-10 2009-10-29 Nvidia Corp セキュアな信頼チェーンを実施する方法及びシステム
JP2011003020A (ja) * 2009-06-18 2011-01-06 Toyota Infotechnology Center Co Ltd コンピューターシステムおよびプログラム起動方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009252244A (ja) * 2008-04-10 2009-10-29 Nvidia Corp セキュアな信頼チェーンを実施する方法及びシステム
JP2011003020A (ja) * 2009-06-18 2011-01-06 Toyota Infotechnology Center Co Ltd コンピューターシステムおよびプログラム起動方法

Similar Documents

Publication Publication Date Title
EP3458999B1 (en) Self-contained cryptographic boot policy validation
TWI567579B (zh) 用於對硬體裝置提供金鑰的方法和設備
KR100792287B1 (ko) 자체 생성한 암호화키를 이용한 보안방법 및 이를 적용한보안장치
KR100737628B1 (ko) 고정형 토큰 및 이동형 토큰 모두를 이용한 어테스테이션
KR100611687B1 (ko) 멀티-토큰 실 및 실 해제
KR100692348B1 (ko) 휴면 보호
JP5670578B2 (ja) 機密コードおよびデータを保護するためのアーキテクチャを含む方法および装置
KR101209252B1 (ko) 전자기기의 부팅 방법 및 부팅 인증 방법
US8014530B2 (en) Method and apparatus for authenticated, recoverable key distribution with no database secrets
TWI488477B (zh) 使用實體不可複製功能以電子式保護電子裝置方法與系統
US8019994B2 (en) Authentication of a request to alter at least one of a BIOS and a setting associated with the BIOS
US20100082960A1 (en) Protected network boot of operating system
JP2004164491A (ja) プログラム更新方法およびサーバ
US20180314827A1 (en) Enabling Offline Restart Of Shielded Virtual Machines Using Key Caching
JP5736994B2 (ja) 情報処理装置、正当性検証方法、及びプログラム
WO2007091492A1 (ja) セキュア処理装置、方法、プログラム
TW201349850A (zh) 保全金鑰產生裝置和方法、主機元件以及儲存元件
WO2023240866A1 (zh) 密码卡及其根密钥保护方法、计算机可读存储介质
CN110659506A (zh) 基于密钥刷新对存储器进行重放保护
CN110674525A (zh) 一种电子设备及其文件处理方法
KR20210089486A (ko) 키를 안전하게 관리하기 위한 장치 및 방법
KR101765209B1 (ko) 안전 부팅 장치 및 방법
JP5961059B2 (ja) 情報処理装置およびその起動方法
CN113343215A (zh) 嵌入式软件的授权和认证方法及电子设备
TWI675340B (zh) 程式驗證方法

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant