KR102282039B1 - Cbc 기반의 임베디드 소프트웨어 무결성 보장 시스템 및 그 방법 - Google Patents

Cbc 기반의 임베디드 소프트웨어 무결성 보장 시스템 및 그 방법 Download PDF

Info

Publication number
KR102282039B1
KR102282039B1 KR1020190148238A KR20190148238A KR102282039B1 KR 102282039 B1 KR102282039 B1 KR 102282039B1 KR 1020190148238 A KR1020190148238 A KR 1020190148238A KR 20190148238 A KR20190148238 A KR 20190148238A KR 102282039 B1 KR102282039 B1 KR 102282039B1
Authority
KR
South Korea
Prior art keywords
image data
secure boot
boot image
booting
embedded software
Prior art date
Application number
KR1020190148238A
Other languages
English (en)
Other versions
KR20210060798A (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 한국항공우주연구원
Priority to KR1020190148238A priority Critical patent/KR102282039B1/ko
Publication of KR20210060798A publication Critical patent/KR20210060798A/ko
Application granted granted Critical
Publication of KR102282039B1 publication Critical patent/KR102282039B1/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/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/60Protecting data
    • G06F21/602Providing cryptographic facilities or services

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (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

본 발명은 CBC 기반의 임베디드 소프트웨어 무결성 보장 시스템 및 그 방법에 관한 것으로서, 더욱 상세하게는, 임베디드 소프트웨어(Embedded software)의 보안 부팅(secure booting)을 위한 CBC(Cipher-Block Chaining) 기반의 임베디드 소프트웨어 무결성 보장 시스템에 있어서, 입력받은 이미지 데이터에 기설정된 암호화 알고리즘을 적용하여, 시큐어 부트 이미지(secure boot image) 데이터를 생성하는 암호화부(100), 상기 암호화부(100)에서 생성한 상기 시큐어 부트 이미지 데이터에 대해, 소정 영역 이미지를 추출하여 저장하고, 추출된 해당 영역은 소정 이미지로 변경하여 부팅용 시큐어 부트 이미지 데이터로 전송하는 추가 암호화부(200), 사용자의 요청에 의해 부팅 신호가 입력될 경우, 부팅용 시큐어 부트 이미지 데이터에 상기 추가 암호화부(200)에서 저장하고 있는 추출 이미지를 오버라이트(overwrite)하여 시큐어 부트 이미지 데이터로 복원하는 복원부(300), 기설정된 복호화 알고리즘을 적용하여, 상기 복원부(300)에서 복원한 상기 시큐어 부트 이미지 데이터를 복호화하는 복호화부(400) 및 상기 복호화부(400)의 복호화 결과에 따라, 상기 임베디드 소프트웨어의 정상 부팅 가능 여부를 판단하는 무결성 판단부(500)를 포함하는 것을 특징으로 하는 CBC 기반의 임베디드 소프트웨어 무결성 보장 시스템에 관한 것이다.

Description

CBC 기반의 임베디드 소프트웨어 무결성 보장 시스템 및 그 방법 {Guaranteeing integrity system and method of embedded software based on Cipher-Block Chaining}
본 발명은 CBC 기반의 임베디드 소프트웨어 무결성 보장 시스템 및 그 방법에 관한 것으로, 더욱 상세하게는 임베디드 소프트웨어의 기술 유출을 방지하고, 허가되지 않은 사용자에 의한 소프트웨어의 구동을 방지할 수 있는 CBC 기반의 임베디드 소프트웨어 무결성 보장 시스템 및 그 방법에 관한 것이다.
시큐어 부트(Secure boot)란, 컴퓨터 등의 부팅시, 검증받지 않은 프로그램의 실행을 막는 보안 시스템으로, 다시 말하자면, 소프트웨어의 유출과 시스템의 해킹을 방지하고자 특정 하드웨어에서 의도된 제작자에 의해 제작된 소프트웨어만 구동되도록 하고자, 암호화 알고리즘과 사인(Sign) 체크방식을 시스템 부팅시 이용하는 기술이다.
일반적인 시큐어 부트 과정은 도 1에 도시된 바와 같이, 임베디드 시스템의 내장형 소프트웨어에서, 제작자에 의해 의도된 암호화 소프트웨어 이미지(시큐어 부트 이미지 등)가 비휘발성 메모리(ROM, FLASH 등)에 저장되어 있다가, 부팅 신호가 입력(Power가 On)되면, 부트 코드에 의해 상기 암호화 소프트웨어 이미지가 RAM(DRAM, SRAM 등)으로 전송되어 복호화 수행을 통해, 사인 확인 결과 문제가 없으면, 복호화된 소프트웨어 이미지를 통해 CPU가 수행하도록 해서 시스템의 구동이 이루어지게 된다.
일반적인 임베디드 시스템의 내장형 소프트웨어와 보안이 필요한 분야의 임베디드 시스템의 내장형 소프트웨어의 시큐어 부트 과정의 차이점으로는, 보안이 필요한 분야의 임베디드 시스템의 내장형 소프트웨어의 시큐어 부트 과정에서는 소프트웨어의 내용을 보호하기 위하여, 암호화된 이미지를 비휘발성 메모리에 저장하고, 실제 시스템 구동이 이루어지기 전에 암호화된 이미지에 대한 복호화를 진행하여 사인 검증하여 무결성이 검증된 경우에만 소프트웨어 구동을 시키게 된다.
이러한 종래의 내장형 소프트웨어의 암호화 방식은, 암호화 키를 알아내면 내장형 소프트웨어를 복원하고, 바이너리 내용을 어셈블리나 상위언어로 전환하여 분석이 가능하기 때문에, 알고리즘이나 아키텍쳐 등의 지적재산권이 노출되거나 소프트웨어가 악용될 소지가 있는 문제점이 있다. 또한, 해킹된 소프트웨어가 노출된 암호화 키로 암호화함으로써, 해당 임베디드 시스템에서, 의도치 않은 소프트웨어가 구동되어 하드웨어까지 악용될 소지가 있다.
즉, 도 2에 도시된 바와 같이, 해커 또는, 제작자가 의도적으로 암호화된 소프트웨어 이미지 자체가 해킹되었을 경우, 암호화에 사용된 키가 시스템 내부의 복호화 암호키와 동일하기 때문에, 복호화가 정상적으로 수행되며, 사인에 사용된 암호키 역시 시스템 내부의 것과 동일하기 때문에, 해킹(오염)된 소프트웨어 이미지를 정상 이미지로 판단하고, 정상 부팅되어 구동이 이루어지게 되는 문제점이 있다.
이와 관련해서, 국내공개특허 제10-2010-0106110호("시큐어 부트 데이터 통합 관리 시스템, 시큐어 부트 데이터 통합 관리를 위한 메타데이터 생성 및 검증 방법, 이를 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체")에서는 시큐어 부트 데이터를 통합 관리하여, 다수의 시큐어 부트 데이터들을 효과적이로 체계적으로 생성 및 관리하고 무결성 검증이 가능한 기술을 개시하고 있다.
국내 공개 특허 제10-2010-0106110호 (공개일 2010.10.01.)
본 발명은 상기한 바와 같은 종래 기술의 문제점을 해결하기 위하여 안출된 것으로, 본 발명의 목적은 임베디드 소프트웨어의 기술 유출을 방지하고, 허가되지 않은 사용자에 의한 소프트웨어의 구동을 방지할 수 있도록, CBC 기반으로 암호화가 진행된 이미지에 대한 추가 암호화를 진행함으로써, 무단 복호화를 불가능하게 할 수 있는 CBC 기반의 임베디드 소프트웨어 무결성 보장 시스템 및 그 방법을 제공하는 것이다.
본 발명의 일 실시예에 따른 CBC 기반의 임베디드 소프트웨어 무결성 보장 시스템은, 임베디드 소프트웨어(Embedded software)의 보안 부팅(secure booting)을 위한 CBC(Cipher-Block Chaining) 기반의 임베디드 소프트웨어 무결성 보장 시스템에 있어서, 입력받은 이미지 데이터에 기설정된 암호화 알고리즘을 적용하여, 시큐어 부트 이미지(secure boot image) 데이터를 생성하는 암호화부(100), 상기 암호화부(100)에서 생성한 상기 시큐어 부트 이미지 데이터에 대해, 소정 영역 이미지를 추출하여 저장하고, 추출된 해당 영역은 소정 이미지로 변경하여 부팅용 시큐어 부트 이미지 데이터로 전송하는 추가 암호화부(200), 사용자의 요청에 의해 부팅 신호가 입력될 경우, 부팅용 시큐어 부트 이미지 데이터에 상기 추가 암호화부(200)에서 저장하고 있는 추출 이미지를 오버라이트(overwrite)하여 시큐어 부트 이미지 데이터로 복원하는 복원부(300), 기설정된 복호화 알고리즘을 적용하여, 상기 복원부(300)에서 복원한 상기 시큐어 부트 이미지 데이터를 복호화하는 복호화부(400) 및 상기 복호화부(400)의 복호화 결과에 따라, 상기 임베디드 소프트웨어의 정상 부팅 가능 여부를 판단하는 무결성 판단부(500)를 포함하는 것이 바람직하다.
더 나아가, 상기 추가 암호화부(200)는 상기 시큐어 부트 이미지 데이터의 전체 영역 중 미리 설정된 개수만큼의 소정 영역에 해당하는 이미지들을 추출하여 저장하고, 추출된 상기 영역들과 매칭되는 영역의 이미지들은 소정 이미지로 변경하여 상기 부팅용 시큐어 부트 이미지 데이터를 생성하는 것이 바람직하다.
더 나아가, 상기 추가 암호화부(200)는 단일 기록만 가능한 메모리 소자(One time writable media)를 포함하여 구성되며, 상기 시큐어 부트 이미지 데이터에서 추출한 소정 영역에 해당하는 이미지들을 상기 메모리 소자에 저장하는 것이 바람직하다.
더 나아가, 상기 복원부(300)는 상기 추가 암호화부(200)에서 저장하고 있는 상기 소정 영역에 해당하는 이미지들을 각각의 영역에 맞추어 부팅용 시큐어 부트 이미지 데이터에 오버라이트하여, 시큐어 부트 이미지 데이터로 복원하는 것이 바람직하다.
더 나아가, 상기 무결성 판단부(500)는 상기 복호화 결과에 따라, 상기 부팅용 시큐어 부트 이미지 데이터의 이상 여부를 판단하여, 상기 임베디드 소프트웨어의 정상 부팅 가능 여부를 결정하는 것이 바람직하다.
본 발명의 일 실시예에 따른 CBC 기반의 임베디드 소프트웨어 무결성 보장 방법은, 임베디드 소프트웨어(Embedded software)의 보안 부팅(secure booting)을 위한 CBC(Cipher-Block Chaining) 기반의 임베디드 소프트웨어 무결성 보장 방법에 있어서, 암호화부에서, 입력받은 이미지 데이터에 기설정된 암호화 알고리즘을 적용하여, 시큐어 부트 이미지(secure boot image) 데이터를 생성하는 시큐어 이미지 생성단계(S100), 추가 암호화부에서, 상기 시큐어 이미지 생성단계(S100)에서 생성한 상기 시큐어 부트 이미지 데이터에 대해, 소정 영역 이미지를 추출하고 추출한 해당 영역을 소정 이미지로 변경하여 부팅용 시큐어 부트 이미지 데이터로 변환하는 암호화 이미지 변환단계(S200), 복원부에서, 사용자의 요청에 의해 부팅 신호가 입력될 경우, 부팅용 시큐어 부트 이미지 데이터에 상기 암호화 이미지 변환단계(S200)에서 추출하여 저장 및 관리하고 있는 소정 영역에 해당하는 이미지들을 오버라이트(overwrite)하여 시큐어 부트 이미지 데이터로 복원하는 복원단계(S300), 복호화부에서, 기설정된 복호화 알고리즘을 적용하여, 상기 복원단계(S300)에서 복원한 상기 시큐어 부트 이미지 데이터를 복호화하는 복호화단계(S400) 및 무결성 판단부에서, 상기 복호화단계(S400)에 의한 상기 시큐어 부트 이미지 데이터의 복호화 결과에 따라, 상기 임베디드 소프트웨어의 정상 부팅 가능 여부를 판단하는 무결성 판단단계(S500)로 이루어지는 것이 바람직하다.
더 나아가, 상기 암호화 이미지 변환단계(S200)는 추출한 상기 시큐어 부트 이미지 데이터의 소정 영역에 해당하는 이미지들은 별도의 저장소자를 통해서 저장 및 관리하는 것이 바람직하다.
더 나아가, 상기 암호화 이미지 변환단계(S200)는 상기 시큐어 부트 이미지 데이터의 전체 영역 중 미리 설정된 개수만큼의 소정 영역에 해당하는 이미지들을 추출하여 저장하고, 추출된 상기 영역들과 매칭되는 영역의 이미지들은 소정 이미지로 변경하여 상기 부팅용 시큐어 부트 이미지 데이터를 생성하는 것이 바람직하다.
더 나아가, 상기 복원단계(S300)는 상기 암호화 이미지 변환단계(S200)에 의해 저장된 상기 소정 영역에 해당하는 이미지들을 각각의 영역에 맞추어 상기 부팅용 시큐어 부트 이미지 데이터에 오버라이트하여, 상기 시큐어 부트 이미지 데이터로 복원하는 것이 바람직하다.
상기와 같은 구성에 의한 본 발명의 CBC 기반의 임베디드 소프트웨어 무결성 보장 시스템 및 그 방법은, CBC 기반으로 임베디드 소프트웨어의 부팅을 위한 암호화가 진행된 이미지에 추가 암호화를 진행함으로써, 무단 복호화의 불가능으로 임베디드 소프트웨어의 불법 기술 유출을 방지하고, 허가되지 않은 사용자에 의한 소프트웨어의 구동을 방지할 수 있는 장점이 있다.
즉, 임베디드 소프트웨어의 부팅을 위해 ROM/FLASH에 저장되어 있는 CBC 기반으로 암호화가 진행된 이미지를 통한 불법 복호화가 불가능하기 때문에, 소프트웨어의 불법 기술 유출 방지 및 허가되지 않은 사용자에 의한 소프트웨어의 구동을 방지할 수 있는 장점이 있다.
또한, 특정 하드웨어에서 허가되지 않은 사용자에 의해 불법 변조된 소프트웨어의 구동을 방지함으로써, 하드웨어의 불법 용도 변경을 방지할 수 있는 장점이 있다.
도 1 및 도 2는 종래의 임베디드 소프트웨어 무결성 보장 시스템의 구동을 나타낸 예시도이다.
도 3은 본 발명의 일 실시예에 따른 CBC 기반의 임베디드 소프트웨어 무결성 보장 시스템의 구성을 나타낸 도면이다.
도 4 내지 도 6은 본 발명의 일 실시예에 따른 CBC 기반의 임베디드 소프트웨어 무결성 보장 시스템의 구동을 나타낸 예시도이다.
도 7은 본 발명의 CBC 기반의 임베디드 소프트웨어 무결성 보장 방법을 나타낸 순서도이다.
이하 첨부한 도면들을 참조하여 본 발명의 CBC 기반의 임베디드 소프트웨어 무결성 보장 시스템 및 그 방법을 상세히 설명한다. 다음에 소개되는 도면들은 당업자에게 본 발명의 사상이 충분히 전달될 수 있도록 하기 위해 예로서 제공되는 것이다. 따라서, 본 발명은 이하 제시되는 도면들에 한정되지 않고 다른 형태로 구체화될 수도 있다. 또한, 명세서 전반에 걸쳐서 동일한 참조번호들은 동일한 구성요소들을 나타낸다.
이 때, 사용되는 기술 용어 및 과학 용어에 있어서 다른 정의가 없다면, 이 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 통상적으로 이해하고 있는 의미를 가지며, 하기의 설명 및 첨부 도면에서 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능 및 구성에 대한 설명은 생략한다.
더불어, 시스템은 필요한 기능을 수행하기 위하여 조직화되고 규칙적으로 상호 작용하는 장치, 기구 및 수단 등을 포함하는 구성 요소들의 집합을 의미한다.
본 발명의 일 실시예에 따른 CBC 기반의 임베디드 소프트웨어 무결성 보장 시스템 및 그 방법은, 시큐어 부트(Secure Boot) 과정에서, 암호화 키가 유출되더라도, 시스템 내에 존재하는 암호화된 소프트웨어 이미지(시큐어 부트 이미지)의 복호화를 불가능하게 하여, 유출된 암호화 키로 암호화된 해킹 소프트웨어의 구동을 불가능하게 할 수 있는 장점이 있다.
이는, CBC 암호화 방식의 알고리즘을 이용하여, 이미지의 1bit라도 변조가 발생하면, 정상적인 복호화가 불가능한 특징을 이용한 것이다.
상세하게는, 블록 암호(Block cipher)란 기밀성 있는 정보를 고정된 크기의 블록단위로 구성하여, 암호화 작업을 하는 대칭키 암호 시스템으로, 암호문(Security text)은 평문(Plain text)의 반복되는 회전 함수로 생산되며 회전함수의 입력은 키(key)와 전변 회전 출력(Output of previous round)으로 구성된다.
CBC(Cipher-Block Chaining, 암호블록 체인방식)은 이러한 블록 암호의 한 방식으로, 각 블록은 암호화되기 전에 이전 블록의 암호화 결과와 XOR 연산을 수행하며, 첫 블록의 경우 IV(초기화벡터)를 사용하게 된다. 초기화벡터의 경우, 출력 결과가 항상 동일하기 때문에, 매 암호화마다 다른 IV를 사용해야 한다.
CBC 방식은 현재 널리 사용되는 블록 암호 운용 방식이며, 암호화 입력값이 이전 결과에 의존하기 때문에, 병렬화가 불가능하지만, 복호화의 경우, 각 블록을 복호화한 다음 이전 암호화 블록과 XOR 연산을 통해 복구할 수 있으므로 병렬화가 가능하다.
많은 분야에서 사용되고 있는 CBC 방식의 암호화 알고리즘은, 암호화된 전체의 이미지 중 1bit라도 변조가 발생하면 올바른 암호화 키로 복호화를 시도하여도, 원본과 전혀 다른 값으로 복호화가 되는 특성이 있다.
이에 따라, 본 발명의 일 실시예에 따른 CBC 기반의 임베디드 소프트웨어 무결성 보장 시스템 및 그 방법은, 이러한 CBC 암호화의 특성을 이용하여, 임베디드 소프트웨어의 해킹 펌웨어 구동을 방지하는데 활용하도록 한다.
즉, 원본 소프트웨어 이미지를 CBC 방식의 암호화 알고리즘을 이용하여 암호화하고, 암호화된 이미지의 일부를 비휘발성 메모리가 아닌 FPGA(Field Programmable Gate Array)에 구현된 내부 메모리나 보안성이 높은 저장소에 저장하고, 암호화된 이미지에서 저장된 부분에 해당하는 위치의 바이너리를 의미없는 값들로 채운 후, 이 이미지를 부팅용 비휘발성 메모리에 저장하게 된다.
파워가 온되면, 부트 로더에 의해, 비휘발성 메모리에 저장되어 있는 이미지를 RAM에 로딩하고, FPGA나 별도의 저장소에 저장된 이미지 블록을 가져와서 RAM에 로딩한 이미지의 해당 위치에 오버라이트(Overwrite)한 후, 복호화를 진행하게 된다.
이 때, 변조된 펌웨어가 노출된 암호키에 의해 암호화되어 비휘발성 메모리에 저장되어 있더라도, 오버라이트되는 이미지 블록에 의해 해킹된 이미지에 변조가 발생할 것이고, 이 후, 올바른 암호키로 복호화를 시도할 경우, CBC 알고리즘의 특성에 의해 원래 이미지가 아닌 비정상 값의 형태로 복호화가 이루어져, 해킹 펌웨어 구동이 불가능하게 된다.
또한, 최초 제작자에 의해 정상적으로 암호화된 부팅용 이미지가, 해킹을 위해 Flash loader 등의 기기에 의해 읽혀지더라도, 이미지의 일부가 변조되어 있기 때문에, 암호키가 노출되었어도 정상적인 복호화가 불가능하여 원본 소프트웨어 내용의 보존이 가능하게 된다.
이를 드론과 같이 무인기 분야에 적용시킬 경우, 의도치 않게 추락한 기체에 내장된 소프트웨어의 분석을 통한 소프트웨어 기술 유출을 방지할 수 있으며, 허가되지 않은 사용자에 의한 기체의 재사용을 방지할 수 있는 장점이 있다.
이러한 본 발명의 일 실시예에 따른 CBC 기반의 임베디드 소프트웨어 무결성 보장 시스템은 도 3에 도시된 바와 같이, 암호화부(100), 추가 암호화부(200), 복원부(300), 복호화부(400 및 무결성 판단부(500)를 포함하여 구성되는 것이 바람직하며, 임베디드 소프트웨어(Embedded software)의 보안 부팅(Secure booting)을 위한 CBC(Cipher-Block Chaining) 기반의 임베디드 소프트웨어 무결성 보장 시스템에 관한 것이다.
각 구성에 대해서 자세히 알아보자면,
상기 암호화부(100)는 CBC 기반으로, 입력받은 이미지 데이터에 미리 설정된 암호화 알고리즘을 적용하여, 시큐어 부트 이미지(secure boot image) 데이터를 생성하는 것이 바람직하다.
이 때, 상기 이미지 데이터는, 사용자(제작자 등)에 의해 입력받는 것이 바람직하며, 상기 시큐어 부트 이미지란, 도 1로 예시를 들자면, 제작자에 의해 의도된 암호화 소프트웨어 이미지를 의미한다.
이 때, 상기 미리 설정된 암호화 알고리즘으로는, AEC/DES 등의 암호화 알고리즘을 이용하는 것이 바람직하며, SHA/MD5 등의 알고리즘을 이용하여 사인값(sign)을 계산하는 것이 바람직하다.
이러한 상기 암호화부(100)의 역할은 종래의 임베디드 소프트웨어의 무결성 보장 시스템에서의 암호화 수행 동작과 거의 유사하게 이루어진다.
그렇지만, 본 발명의 일 실시예에 CBC 기반의 임베디드 소프트웨어 무결성 보장 시스템은 상술한 바와 같이, CBC 기반으로 이미 암호화된 소프트웨어 이미지를 다시 한번 암호화하는 것이 바람직하다.
이러한 동작은, 상기 추가 암호화부(200)를 통해서 수행되는 것이 바람직하다.
상기 추가 암호화부(200)는 도 4에 도시된 바와 같이, 암호화된 소프트웨어 이미지 중 일부를 추출하여, FPGA의 특정 블록(block)이나, 변경 불가능하고 보안성이 높은 별도의 저장소에 저장하고, 추출한 해당 위치에는 의미없는 랜덤값으로 이미지 변경을 수행하는 것이 바람직하다.
즉, 상기 추가 암호화부(200)는 상기 암호화부(100)에서 생성한 상기 시큐어 부트 이미지 데이터에 대해, 소정 영역 이미지를 추출하여 FPGA 또는 별도의 보안성이 높은 저장소에 저장하고, 추출된 해당 영역은 소정 이미지(무의미한 랜덤값 등)로 변경하여 부팅용 시큐어 부트 이미지 데이터를 생성하는 것이 바람직하다.
이렇게 생성한 상기 부팅용 시큐어 부트 이미지 데이터는 비휘발성 메모리에 저장시킴으로써, 추후에 파워가 온되면, 부트 로더에 의해, 비휘발성 메모리에 저장되어 있는 이미지를 RAM에 로딩하여 이 후 동작을 수행하게 된다.
상세하게는, 상기 추가 암호화부(200)는 상기 시큐어 부트 이미지 데이터의 전체 영역 중 미리 설정된 개수만큼의 소정 영역에 해당하는 이미지들을 추출하여, FPGA 또는 별도의 보안성이 높은 저장소(단일 기록만 가능한 메모리 소자(One time writable media)인 것이 가장 바람직함.)에 저장하고, 추출된 상기 영역들과 매칭되는 영역의 이미지들은 소정 이미지(무의미한 랜덤값 등)로 변경하여 부팅용 시큐어 부트 이미지 데이터를 생성하는 것이 바람직하다.
상기 복원부(300)는 사용자의 요청에 의해 부팅 신호가 입력될 경우, 즉, 파워가 온될 경우, 비휘발성 메모리에 저장하고 있는 부팅용 시큐어 부트 이미지 데이터에 상기 추가 암호화부(200)에서 저장하고 있는 추출 이미지들을 오버라이트(overwrite)하여 시큐어 부트 이미지 데이터로 복원하게 된다.
즉, 종래의 임베디드 소프트웨어의 무결성 보장 시스템이라면, 비휘발성 메모리에 저장하고 있는 부팅용 시큐어 부트 이미지 데이터에 대한 복호화를 바로 수행하여, 복호화 결과 이미지를 이용하여 상기 임베디드 소프트웨어의 정상 부팅 가능 여부를 판단하게 된다.
그렇지만, 상술한 바와 같이, 유출된 암호키에 의해 암호화된 해킹 이미지가 부팅용 시큐어 부트 이미지 데이터로 저장되어 있을 경우, 이에 의한 해킹 소프트웨어 구동을 막을 수 없다. 즉, 유출된 암호키에 의해 생성된 해킹 소프트웨어 구동을 막을 수 없는 실정이다.
이에 반해서, 본 발명의 일 실시예에 따른 CBC 기반의 임베디드 소프트웨어 무결성 보장 시스템은 상기 복원부(300)를 통해서, 상기 추가 암호화부(200)에서 저장하고 있는 상기 소정 영역에 해당하는 이미지들을 각각의 영역에 맞추어 부팅용 시큐어 부트 이미지 데이터에 오버라이트하여, 시큐어 부트 이미지 데이터로 복원하는 것이 바람직하다.
다시 말하자면, 도 5에 도시된 바와 같이, 비휘발성 메모리에 저장하고 있는 부팅용 시큐어 부트 이미지 데이터를 전달받아, 상기 부팅용 시큐어 부트 이미지 데이터에 상기 단일 기록만 가능한 메모리 소자에 저장하고 있던 추출 이미지들을 오버라이트함으로써, 최초 암호화한 이미지로 복원하게 된다.
이 때, 정상적인 암호화키에 의해 암호화된 소프트웨어 이미지라면, 도 5에 도시된 바와 같이, 정상 암호화키에 암호화된 소프트웨어 이미지로 복원되겠지만, 해커에 의해 유출된 암호화키에 의해 암호화된 소프트웨어 이미지라면, 도 6에 도시된 바와 같이, 손상된 암호화된 소프트웨어 이미지로 복원되게 된다.
즉, 도 5에 도시된 바와 같이, 비휘발성 메모리에 저장하고 있는 부팅용 시큐어 부트 이미지 데이터를 전달받아, 상기 단일 기록만 가능한 메모리 소자에 저장하고 있던 추출 이미지들을 원래 있던 위치에 오버라이트하여, 암호화된 이미지를 원래대로 복원할 수 있다.
이 경우, 상기 복호화부(400)에서 미리 설정된 복호화 알고리즘(AES/DES 등 알고리즘 설정)을 적용하여, 상기 복원부(300)에서 복원한 상기 시큐어 부트 이미지 데이터를 복호화할 경우, 정상적인 복호화된 소프트웨어 이미지로 수행되게 된다.
이에 따라, 상기 무결성 판단부(500)에서는, 상기 복호화부(400)의 복호화 결과에 따라, 복호화된 소프트웨어 이미지와 사인확인결과 문제가 없을 경우, 상기 임베디드 소프트웨어의 정상 부팅 가능으로 판단하고, 정상적으로 부팅이 수행되도록 제어하게 된다.
그렇지만, 도 6에 도시된 바와 같이, 비휘발성 메모리에 저장하고 있는 부팅용 시큐어 부트 이미지 데이터를 전달받아, 상기 단일 기록만 가능한 메모리 소자에 저장하고 있던 추출 이미지들을 원래 있던 위치에 오버라이트하였으나, 비휘발성 메모리에 저장하고 있는 부팅용 시큐어 부트 이미지 데이터 자체가 이미 해커에 의해 유출된 암호키로 만들어진 오염(손상)된 이미지 데이터이기 때문에, 암호화된 이미지를 원래대로 복원할 수 없다. 하지만, 상기 복원부(300)에서는 이를 판단할 수 없으며, 상기 복호화부(400)를 통해서, 미리 설정된 복호화 알고리즘을 적용하여, 상기 복원부(300)에서 복원한 상기 시큐어 부트 이미지 데이터를 복호화할 경우, 비정상적인 복호화된 소프트웨어 이미지로 수행되게 된다.
상기 복호화부(400) 역시도 이에 대해서는 판단할 수 없으며, 상기 무결성 판단부(500)에서, 비정상적으로 복호화된 소프트웨어 이미지의 사인확인결과, 불일치로 해킹 소프트웨어로 판단하여, 부팅 수행을 중단하게 된다.
이 때, 상기 단일 기록만 가능한 메모리 소자에 저장하고 있던 추출 이미지들은, 정상적인 시스템 개발시, one-time writable media에 기록된 값이기 때문에, 해커에 의해 변조가 발생할 수 없다.
즉, 다시 말하자면, 본발명의 일 실시예에 따른 CBC 기반의 임베디드 소프트웨어 무결성 보장 시스템은, CBC 방식으로 암호화된 이미지의 일부를 추출하여 별도의 공간에 저장해놓고, 암호화된 이미지에서 추출된 부분의 값은 랜덤값으로 변경하게 된다. 즉, 소프트웨어 이미지 생성 절차에서 암호화된 이미지의 일부를 랜덤값으로 변형시키기 때문에, CBC 암호화 방식의 특징에 의해 암호키가 유출되더라도 정상적인 복호화가 불가능한 장점이 있다.
또한, 특정 하드웨어에서 해커로부터 변조된 소프트웨어의 구동을 방지할 수도 있다. 즉, 특정 소프트웨어를 암호화한 후, 일부를 FPGA 등에 저장하고, 구동시 저장된 값으로 소프트웨어의 일부를 오버라이트 하기 때문에, 의도하지 않은 소프트웨어를 제외하고는 암호화된 소프트웨어의 복호화가 불가능하기 때문이다. 즉, 유출된 암호키에 의해 암호화된 이미지여도, 부트 로더에 의해, 일부가 추출된 부분의 값으로 오버라이트됨에 따라 유출된 암호키에 의해 암호화된 이미지가 변형되어 정상 복호화가 불가능하게 된다.
도 7은 본 발명의 일 실시예에 따른 CBC 기반의 임베디드 소프트웨어 무결성 보장 방법을 나타낸 순서도로서, 본 발명의 일 실시예에 따른 CBC 기반의 임베디드 소프트웨어 무결성 보장 방법은, 시큐어 이미지 생성단계(S100), 암호화 이미지 변환단계(S200), 복원단계(S300), 복호화단계(S400) 및 무결성 판단단계(S500)로 이루어지는 것이 바람직하다.
각 단계에 대해서 자세히 알아보자면,
상기 시큐어 이미지 생성단계(S100)는 상기 암호화부(100)에서, CBC 기반으로, 입력받은 이미지 데이터에 미리 설정된 암호화 알고리즘을 적용하여, 상기 시큐어 부트 이미지 데이터를 생성하는 것이 바람직하다.
이 때, 상기 이미지 데이터는, 사용자(제작자 등)에 의해 입력받는 것이 바람직하며, 상기 시큐어 부트 이미지란, 도 1로 예시를 들자면, 제작자에 의해 의도된 암호화 소프트웨어 이미지를 의미한다.
이 때, 상기 미리 설정된 암호화 알고리즘으로는, AEC/DES 등의 암호화 알고리즘을 이용하는 것이 바람직하며, SHA/MD5 등의 알고리즘을 이용하여 사인값(sign)을 계산하는 것이 바람직하다.
상기 암호화 이미지 변환단계(S200)는 상기 추가 암호화부(200)에서, 암호화된 소프트웨어 이미지 중 일부를 추출하여, FPGA의 특정 블록(block)이나, 변경 불가능하고 보안성이 높은 별도의 저장소에 저장하고, 추출한 해당 위치에는 의미없는 랜덤값으로 이미지 변경을 수행하여, 상기 부팅용 시큐어 부트 이미지 데이터로 변환하는 것이 바람직하다.
상세하게는, 상기 암호화 이미지 변환단계(S200)는 상기 시큐어 이미지 생성단계(S100)에 의해 생성한 상기 시큐어 부트 이미지 데이터에 대해, 소정 영역 이미지를 추출하여 FPGA 또는 별도의 보안성이 높은 저장소에 저장하고, 추출된 해당 영역은 소정 이미지(무의미한 랜덤값 등)로 변경하여 부팅용 시큐어 부트 이미지 데이터를 변환/생성하는 것이 바람직하다.
이렇게 생성한 상기 부팅용 시큐어 부트 이미지 데이터는 비휘발성 메모리에 저장시킴으로써, 추후에 파워가 온되면, 부트 로더에 의해, 비휘발성 메모리에 저장되어 있는 이미지를 RAM에 로딩하여 이 후 동작을 수행하게 된다.
상기 암호화 이미지 변환단계(S200)는 상기 시큐어 부트 이미지 데이터의 전체 영역 중 미리 설정된 개수만큼의 소정 영역에 해당하는 이미지들을 추출하여, FPGA 또는 별도의 보안성이 높은 저장소(단일 기록만 가능한 메모리 소자(One time writable media)인 것이 가장 바람직함.)에 저장하고, 추출된 상기 영역들과 매칭되는 영역의 이미지들은 소정 이미지(무의미한 랜덤값 등)로 변경하여 부팅용 시큐어 부트 이미지 데이터를 생성하는 것이 바람직하다.
상기 복원단계(S300)는 상기 복원부(300)에서, 사용자의 요청에 의해 부팅 신호가 입력될 경우, 즉, 파워가 온될 경우, 비휘발성 메모리에 저장하고 있는 부팅용 시큐어 부트 이미지 데이터에 상기 암호화 이미지 변환단계(S200)에서 추출하여 저장 및 관리하고 있는 소정 영역에 해당하는 이미지들을 오버라이트하여 시큐어 부트 이미지 데이터로 복원하게 된다.
다시 말하자면, 상기 복원단계(S300)는 비휘발성 메모리에 저장하고 있는 부팅용 시큐어 부트 이미지 데이터를 전달받아, 상기 부팅용 시큐어 부트 이미지 데이터에 상기 단일 기록만 가능한 메모리 소자에 저장하고 있던 추출 이미지들을 오버라이트함으로써, 최초 암호화한 이미지로 복원하게 된다.
이 때, 정상적인 암호화키에 의해 암호화된 소프트웨어 이미지라면, 도 5에 도시된 바와 같이, 정상 암호화키에 암호화된 소프트웨어 이미지로 복원되겠지만, 해커에 의해 유출된 암호화키에 의해 암호화된 소프트웨어 이미지라면, 도 6에 도시된 바와 같이, 손상된 암호화된 소프트웨어 이미지로 복원되게 된다.
즉, 도 5에 도시된 바와 같이, 비휘발성 메모리에 저장하고 있는 부팅용 시큐어 부트 이미지 데이터를 전달받아, 상기 단일 기록만 가능한 메모리 소자에 저장하고 있던 추출 이미지들을 원래 있던 위치에 오버라이트하여, 암호화된 이미지를 원래대로 복원할 수 있다.
이 경우, 상기 복호화단계(S400)를 통해서, 상기 복호화부(400)에서, 미리 설정된 복호화 알고리즘을 적용하여, 상기 복원단계(S300)에 의해 복원한 상기 시큐어 부트 이미지 데이터를 복호화할 경우, 정상적인 복호화된 소프트웨어 이미지로 수행되게 된다.
이에 따라, 상기 무결성 판단단계(S500)는 상기 무결성 판단부(500)에서, 상기 복호화단계(S400)에 의해 상기 시큐어 부트 이미지 데이터의 복호화 결과에 따라, 복호화된 소프트웨어 이미지와 사인확인결과 문제가 없을 경우, 상기 임베디드 소프트웨어의 정상 부팅 가능으로 판단하고, 정상적으로 부팅이 수행되도록 제어하게 된다.
그렇지만, 이와 달리, 도 6에 도시된 바와 같이, 비휘발성 메모리에 저장하고 있는 부팅용 시큐어 부트 이미지 데이터를 전달받아, 상기 단일 기록만 가능한 메모리 소자에 저장하고 있던 추출 이미지들을 원래 있던 위치에 오버라이트하였으나, 비휘발성 메모리에 저장하고 있는 부팅용 시큐어 부트 이미지 데이터 자체가 이미 해커에 의해 유출된 암호키로 만들어진 오염(손상)된 이미지 데이터이기 때문에, 암호화된 이미지를 원래대로 복원할 수 없다.
그렇기 때문에, 상기 복호화단계(S400)를 통해서, 미리 설정된 복호화 알고리즘을 적용하여, 복원한 상기 시큐어 부트 이미지 데이터를 복호화하더라도 비정상적인 소프트웨어 이미지로 수행되게 된다.
이에 따라, 상기 무결성 판단단계(S500) 역시도, 상기 복호화단계(S400)에 의해 상기 시큐어 부트 이미지 데이터의 복호화 결과에 따라, 비정상적으로 복호화된 소프트웨어 이미지의 사인확인결과, 불일치로 해킹 소프트웨어로 판단하여, 부팅 수행을 중단하게 된다.
이 때, 상기 단일 기록만 가능한 메모리 소자에 저장하고 있던 추출 이미지들은, 정상적인 시스템 개발시, one-time writable media에 기록된 값이기 때문에, 해커에 의해 변조가 발생할 수 없다.
이상과 같이 본 발명에서는 구체적인 구성 소자 등과 같은 특정 사항들과 한정된 실시예 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것 일 뿐, 본 발명은 상기의 일 실시예에 한정되는 것이 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허 청구 범위뿐 아니라 이 특허 청구 범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.
100 : 암호화부
200 : 추가 암호화부
300 : 복원부
400 : 복호화부
500 : 무결성 판단부

Claims (9)

  1. 임베디드 소프트웨어(Embedded software)의 보안 부팅(secure booting)을 위한 CBC(Cipher-Block Chaining) 기반의 임베디드 소프트웨어 무결성 보장 시스템에 있어서,
    입력받은 이미지 데이터에 기설정된 암호화 알고리즘을 적용하여, 시큐어 부트 이미지(secure boot image) 데이터를 생성하는 암호화부(100);
    상기 암호화부(100)에서 생성한 상기 시큐어 부트 이미지 데이터에 대해, 상기 시큐어 부트 이미지 데이터의 전체 영역 중 미리 설정된 개수만큼의 소정 영역에 해당하는 이미지들을 추출하여 저장하고, 상기 시큐어 부트 이미지 데이터의 전체 영역 중 미리 설정된 개수만큼 추출하여 저장한 이미지들이 위치하는 소정 영역에 해당하는 이미지들을 무의미한 소정 이미지로 변경하여, 부팅용 시큐어 부트 이미지 데이터로 변환하는 추가 암호화부(200);
    사용자의 요청에 의해 부팅 신호가 입력될 경우, 상기 추가 암호화부(200)에서 저장하고 있는 상기 시큐어 부트 이미지 데이터의 소정 영역에 해당하는 추출 이미지들을 상기 부팅용 시큐어 부트 이미지 데이터에서의 각각의 추출 영역에 맞추어 상기 부팅용 시큐어 부트 이미지 데이터에 오버라이트(overwrite)하여, 변환 생성한 상기 부팅용 시큐어 부트 이미지 데이터를 시큐어 부트 이미지 데이터로 복원하는 복원부(300);
    기설정된 복호화 알고리즘을 적용하여, 상기 복원부(300)에서 복원한 상기 시큐어 부트 이미지 데이터를 복호화하는 복호화부(400); 및
    상기 복호화부(400)의 복호화 결과에 따라, 상기 임베디드 소프트웨어의 정상 부팅 가능 여부를 판단하는 무결성 판단부(500);
    를 포함하는 것을 특징으로 하는 CBC 기반의 임베디드 소프트웨어 무결성 보장 시스템.
  2. 삭제
  3. 제 1항에 있어서,
    상기 추가 암호화부(200)는
    단일 기록만 가능한 메모리 소자(One time writable media)를 포함하여 구성되며,
    상기 시큐어 부트 이미지 데이터에서 추출한 소정 영역에 해당하는 이미지들을 상기 메모리 소자에 저장하는 것을 특징으로 하는 CBC 기반의 임베디드 소프트웨어 무결성 보장 시스템.
  4. 삭제
  5. 제 1항에 있어서,
    상기 무결성 판단부(500)는
    상기 복호화 결과에 따라, 상기 부팅용 시큐어 부트 이미지 데이터의 이상 여부를 판단하여, 상기 임베디드 소프트웨어의 정상 부팅 가능 여부를 결정하는 것을 특징으로 하는 CBC 기반의 임베디드 소프트웨어 무결성 보장 시스템.
  6. 임베디드 소프트웨어(Embedded software)의 보안 부팅(secure booting)을 위한 CBC(Cipher-Block Chaining) 기반의 임베디드 소프트웨어 무결성 보장 방법에 있어서,
    암호화부에서, 입력받은 이미지 데이터에 기설정된 암호화 알고리즘을 적용하여, 시큐어 부트 이미지(secure boot image) 데이터를 생성하는 시큐어 이미지 생성단계(S100);
    추가 암호화부에서, 상기 시큐어 이미지 생성단계(S100)에서 생성한 상기 시큐어 부트 이미지 데이터에 대해, 상기 시큐어 부트 이미지 데이터의 전체 영역 중 미리 설정된 개수만큼의 소정 영역에 해당하는 이미지들을 추출하여 저장하고, 상기 시큐어 부트 이미지 데이터의 전체 영역 중 미리 설정된 개수만큼 추출하여 저장한 이미지들이 위치하는 소정 영역에 해당하는 이미지들을 무의미한 소정 이미지로 변경하여, 부팅용 시큐어 부트 이미지 데이터로 변환하는 암호화 이미지 변환단계(S200);
    복원부에서, 사용자의 요청에 의해 부팅 신호가 입력될 경우, 상기 암호화 이미지 변환단계(S200)에 의해 변환한 상기 부팅용 시큐어 부트 이미지 데이터에 상기 암호화 이미지 변환단계(S200)에서 추출하여 저장 및 관리하고 있는 상기 시큐어 부트 이미지 데이터의 소정 영역에 해당하는 추출 이미지들을 상기 부팅용 시큐어 부트 이미지 데이터에서의 각각의 추출 영역에 맞추어 오버라이트(overwrite)하여, 변환 생성한 상기 부팅용 시큐어 부트 이미지 데이터를 시큐어 부트 이미지 데이터로 복원하는 복원단계(S300);
    복호화부에서, 기설정된 복호화 알고리즘을 적용하여, 상기 복원단계(S300)에서 복원한 상기 시큐어 부트 이미지 데이터를 복호화하는 복호화단계(S400); 및
    무결성 판단부에서, 상기 복호화단계(S400)에 의한 상기 시큐어 부트 이미지 데이터의 복호화 결과에 따라, 상기 임베디드 소프트웨어의 정상 부팅 가능 여부를 판단하는 무결성 판단단계(S500);
    로 이루어지는 것을 특징으로 하는 CBC 기반의 임베디드 소프트웨어 무결성 보장 방법.
  7. 제 6항에 있어서,
    상기 암호화 이미지 변환단계(S200)는
    추출한 상기 시큐어 부트 이미지 데이터의 소정 영역에 해당하는 이미지들은 별도의 저장소자를 통해서 저장 및 관리하는 것을 특징으로 하는 CBC 기반의 임베디드 소프트웨어 무결성 보장 방법.
  8. 삭제
  9. 삭제
KR1020190148238A 2019-11-19 2019-11-19 Cbc 기반의 임베디드 소프트웨어 무결성 보장 시스템 및 그 방법 KR102282039B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190148238A KR102282039B1 (ko) 2019-11-19 2019-11-19 Cbc 기반의 임베디드 소프트웨어 무결성 보장 시스템 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190148238A KR102282039B1 (ko) 2019-11-19 2019-11-19 Cbc 기반의 임베디드 소프트웨어 무결성 보장 시스템 및 그 방법

Publications (2)

Publication Number Publication Date
KR20210060798A KR20210060798A (ko) 2021-05-27
KR102282039B1 true KR102282039B1 (ko) 2021-07-27

Family

ID=76135589

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190148238A KR102282039B1 (ko) 2019-11-19 2019-11-19 Cbc 기반의 임베디드 소프트웨어 무결성 보장 시스템 및 그 방법

Country Status (1)

Country Link
KR (1) KR102282039B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4724835B2 (ja) * 2005-02-28 2011-07-13 国立大学法人広島大学 認証装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100746012B1 (ko) * 2005-11-07 2007-08-06 삼성전자주식회사 코드 이미지를 안전하게 갱신하고 부팅하는 방법 및 장치
KR20100106110A (ko) 2009-03-23 2010-10-01 삼성전자주식회사 시큐어 부트 데이터(Secure Boot Data) 통합 관리 시스템, 시큐어 부트 데이터 통합 관리를 위한 메타데이터 생성 및 검증 방법, 이를 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는기록매체.
KR101318154B1 (ko) * 2011-08-22 2013-10-15 주식회사 인프라웨어 이미지 기반의 공유문서 사용자 인증 방법 및 이를 위한 컴퓨터로 판독가능한 기록매체

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4724835B2 (ja) * 2005-02-28 2011-07-13 国立大学法人広島大学 認証装置

Also Published As

Publication number Publication date
KR20210060798A (ko) 2021-05-27

Similar Documents

Publication Publication Date Title
US20210294879A1 (en) Securing executable code integrity using auto-derivative key
US11003781B2 (en) Root key processing method and associated device
KR101699998B1 (ko) 일시적 중요정보의 보안 저장
US8543839B2 (en) Electronic device and method of software or firmware updating of an electronic device
KR100809977B1 (ko) 집적 시스템 내에서의 보안 운영의 활성화 방법, 보안 운영의 초기화 방법, 암호화된 데이터의 변환 방법 및 집적 시스템 기능의 복원 방법
TWI384381B (zh) 升級記憶卡使其具有防止安全內容及應用之複製之安全性機制
US8341751B2 (en) Software license management
US20120151219A1 (en) Security usb storage medium generation and decryption method, and medium recorded with program for generating security usb storage medium
CN1795471B (zh) 安全性密钥生成方法
CN113656086A (zh) 安全存储及加载固件的方法及电子装置
US20080076355A1 (en) Method for Protecting Security Accounts Manager (SAM) Files Within Windows Operating Systems
US10848305B2 (en) Key generation information trees
KR20100120671A (ko) 스마트 카드의 보안
US10700857B2 (en) Secure programming of secret data
JP2016146618A (ja) 情報処理装置
US9003201B2 (en) Hardware protection for encrypted strings and protection of security parameters
US9092619B2 (en) Data processing apparatus
KR102282039B1 (ko) Cbc 기반의 임베디드 소프트웨어 무결성 보장 시스템 및 그 방법
KR101405915B1 (ko) 데이터의 암호화 저장 방법 및 암호화된 데이터의 판독방법
CN110674525A (zh) 一种电子设备及其文件处理方法
WO2016024967A1 (en) Secure non-volatile random access memory
CN111357003A (zh) 预操作系统环境中的数据保护
Rawat et al. Enhanced Security Mechanism for Cryptographic File Systems Using Trusted Computing
JP4580030B2 (ja) セキュアデバイス
JP2007272923A5 (ko)

Legal Events

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