1 |
1
적어도 세 개의 상이한 타입의 메모리들 및 코어 프로세서를 포함하되, 제1 타입 메모리, 제2 타입 메모리 및 코어 프로세서는 변조 방지 마이크로 제어 유닛으로 구성되고, 제3 타입 메모리는, 암호화된 펌웨어 무결성 검증 코드, 부트로더 및 커널 바이너리와, 앱 바이너리를 포함하는 펌웨어가 탑재되고, 제1 타입 메모리는, 하드웨어 무결성 검증 코드 및 펌웨어 무결성 검증 코드를 복호화하기 위한 루트 정보를 저장하는, 임베디드 장치
|
2 |
2
제1 항에 있어서, 제1 타입 메모리는, 생산 장치와 소정 인증 방식에 의해 저장된 정보가 교체되는, 임베디드 장치
|
3 |
3
제1 항에 있어서,전원이 인가됨에 따라, 코어 프로세서에 의해 실행된 하드웨어 무결성 검증 코드는 루트 정보를 이용하여 펌웨어 무결성 검증 코드를 제2 타입 메모리에 복호화하고, 복호화된 펌웨어 무결성 검증 코드는 부트로더를 제3 타입 메모리 또는 제4 타입 메모리에 복호화하고, 복호화된 부트로더는 커널 바이너리를 제3 타입 메모리 또는 제4 타입 메모리에 복호화하고, 복호화된 커널 바이너리는 앱 바이너리의 무결성을 검증하여 제3 타입 메모리 또는 제4 타입 메모리에 로딩하는, 임베디드 장치
|
4 |
4
제3 항에 있어서, 제1 타입 메모리는, 루트 정보로 공장 암호화 키 및 펌웨어 무결성 검증 코드의 크기를 저장하고, 하드웨어 무결성 검증 코드는, 공장 암호화 키 및 펌웨어 무결성 검증 코드의 크기를 이용하여 펌웨어 무결성 검증 코드를 복호화하는, 임베디드 장치
|
5 |
5
제3 항에 있어서, 펌웨어에는, 제1 랜덤 키 및 부트 로더의 암호화 크기 정보가 펌웨어 무결성 검증 코드와 함께 암호화되어 저장되고,복호화된 펌웨어 무결성 검증 코드는, 제1 랜덤 키 및 공장 암호화 키를 조합하여 공장 암호화 키로 암호화한 부트로더 키를 생성하고, 생성된 부트로더의 키와 부트 로더의 암호화 크기를 이용하여 암호화된 부트 로더의 영역을 복호화하는, 임베디드 장치
|
6 |
6
제3 항에 있어서, 펌웨어에는,제2 랜덤 키 및 커널 바이너리의 암호화 크기 정보가 부트로더와 함께 암호호되어 저장되고, 복호화된 부트로더는, 제2 랜덤 키 및 공장 암호화 키를 조합하여 부트로더 키로 암호화한 커널 바이너리 키를 생성하고, 생성된 커널 바이너리 키와 커널 바이너리의 암호화 크기를 이용하여 암호화된 커널 바이너리 영역을 복호화하는, 임베디드 장치
|
7 |
7
제3 항에 있어서, 펌웨어에는,앱 크기 정보 및 앱 해시 정보가 커널 바이너리와 함께 암호화되어 저장되고, 복호화된 커널 바이너리는, 앱 크기 정보를 이용하여 앱 바이너리를 해시하고, 해시된 앱 바이너리의 앱 해시 정보와의 일치 여부에 따라, 앱 바이너리의 무결성을 검증하는, 임베디드 장치
|
8 |
8
임베디드 장치에서의 펌웨어 부팅 방법에 있어서, 임베디드 장치는, 적어도 세 개의 상이한 타입의 메모리들 및 코어 프로세서를 포함하되, 제1 타입 메모리, 제2 타입 메모리 및 코어 프로세서는 변조 방지 마이크로 제어 유닛으로 구성되고, 제3 타입 메모리는, 암호화된 펌웨어 무결성 검증 코드, 부트로더 및 커널 바이너리와, 앱 바이너리를 포함하는 펌웨어가 탑재되고, 제1 타입 메모리는, 하드웨어 무결성 검증 코드 및 펌웨어 무결성 검증 코드를 복호화하기 위한 루트 정보를 저장하되, 전원이 인가됨에 따라, 코어 프로세서에 의해 실행된 하드웨어 무결성 검증 코드는 루트 정보를 이용하여 제2 타입 메모리에 펌웨어 무결성 검증 코드를 복호화하는 단계;복호화된 펌웨어 무결성 검증 코드는 제3 타입 메모리 또는 제4 타입 메모리에 부트로더를 복호화하는 단계;복호화된 부트로더는 제3 타입 메모리 또는 제4 타입 메모리에 커널 바이너리를 복호화하는 단계; 및복호화된 커널 바이너리는 앱 바이너리의 무결성을 검증하여 제3 타입 메모리 또는 제4 타입 메모리에 로딩하는 단계를 포함하는, 임베디드 장치에서의 펌웨어 부팅 방법
|
9 |
9
제8 항에 있어서, 제1 타입 메모리는, 생산 장치와 소정 인증 방식에 의해 저장된 정보가 교체되는, 임베디드 장치에서의 펌웨어 부팅 방법
|
10 |
10
제8 항에 있어서, 제1 타입 메모리는, 루트 정보로 공장 암호화 키 및 펌웨어 무결성 검증 코드의 크기를 저장하고, 하드웨어 무결성 검증 코드는, 공장 암호화 키 및 펌웨어 무결성 검증 코드의 크기를 이용하여 펌웨어 무결성 검증 코드를 복호화하는, 임베디드 장치에서의 펌웨어 부팅 방법
|
11 |
11
제8 항에 있어서, 펌웨어에는, 제1 랜덤 키 및 부트 로더의 암호화 크기 정보가 펌웨어 무결성 검증 코드와 함께 암호화되어 저장되고,부트로더를 복호화하는 단계에서,복호화된 펌웨어 무결성 검증 코드는, 제1 랜덤 키 및 공장 암호화 키를 조합하여 공장 암호화 키로 암호화한 부트로더 키를 생성하고, 생성된 부트로더의 키와 부트 로더의 암호화 크기를 이용하여 암호화된 부트 로더의 영역을 복호화하는, 임베디드 장치에서의 펌웨어 부팅 방법
|
12 |
12
제8 항에 있어서, 펌웨어에는,제2 랜덤 키 및 커널 바이너리의 암호화 크기 정보가 부트로더와 함께 암호호되어 저장되고, 커널 바이너리를 복호화하는 단계에서, 복호화된 부트로더는, 제2 랜덤 키 및 공장 암호화 키를 조합하여 부트로더 키로 암호화한 커널 바이너리 키를 생성하고, 생성된 커널 바이너리 키와 커널 바이너리의 암호화 크기를 이용하여 암호화된 커널 바이너리 영역을 복호화하는, 임베디드 장치에서의 펌웨어 부팅 방법
|
13 |
13
제8 항에 있어서, 펌웨어에는,앱 크기 정보 및 앱 해시 정보가 커널 바이너리와 함께 암호화되어 저장되고, 로딩하는 단계에서, 복호화된 커널 바이너리는, 앱 크기 정보를 이용하여 앱 바이너리를 해시하고, 해시된 앱 바이너리의 앱 해시 정보와의 일치 여부에 따라, 앱 바이너리의 무결성을 검증하는, 임베디드 장치에서의 펌웨어 부팅 방법
|
14 |
14
펌웨어 암호화에 사용될 키들을 생성하는 단계; 생성된 키들을 기반으로 펌웨어 무결성 검증 코드 영역, 부트로더 영역 및 커널 바이너리 영역을 암호화하는 단계; 및 암호화 결과 및 앱 바이너리를 포함하는 펌웨어를 생성하는 단계를 포함하는, 암호화 펌웨어 생성 방법
|
15 |
15
제14 항에 있어서, 펌웨어는, 임베디드 장치에 탑재되되, 임베디드 장치는, 적어도 세 개의 상이한 타입의 메모리들 및 코어 프로세서를 포함하되, 제1 타입 메모리, 제2 타입 메모리 및 코어 프로세서는 변조 방지 마이크로 제어 유닛으로 구성되고, 제3 타입 메모리는, 펌웨어가 탑재되고, 제1 타입 메모리는, 하드웨어 무결성 검증 코드 및 펌웨어 무결성 검증 코드를 복호화하기 위한 루트 정보를 저장하는, 암호화 펌웨어 생성 방법
|
16 |
16
제14 항에 있어서, 키들을 생성하는 단계는, 임베디드 장치의 공장 출고 키 및 두 개의 랜덤 키들을 생성하는 단계;제1 랜덤키 및 공장 출고키를 조합하여 공장 출고키로 암호화한 부트로더용 키를 생성하는 단계 및제2 랜덤키 및 부트로더용 키를 조합하여 부트로드용 키로 암호화한 커널 바이너리용 키를 생성하는 단계를 포함하는, 암호화 펌웨어 생성 방법
|
17 |
17
제14 항에 있어서, 암호화하는 단계는, 앱 바이너리 영역의 무결성 기능이 포함된 커널 바이너리, 앱 바이너리 크기 및 앱 바이너리 해시를 커널 바이너리용 키로 암호화하는 단계;커널 바이너리 영역 복호화 기능이 포함된 부트 로더, 제2 랜덤키 및 암호화된 커널 바이너리 영역 크기를 부트로드용 키로 암호화하는 단계; 및부트로더 영역 복호화 기능이 포함된 펌웨어 무결성 검증 코드, 제1 랜덤 키 및 암호화된 부트 로더 영역 크기를 공장 출고키로 암호화하는 단계를 포함하는, 암호화 펌웨어 생성 방법
|