1 |
1
기기의 보안성 검증을 수행하는 방법에 있어서, 상기 기기의 부팅이 이루어진 다음에 상기 기기의 프로세서상에서 실행되는 보안 메모리 로더가, 상기 기기의 메모리로의 접근이 담보된 상태에서, 암호화된 펌웨어의 복호화를 위한 키의 유효성을 검증하는 단계; 상기 키가 유효한 경우, 상기 보안 메모리 로더가 상기 기기의 메모리에 저장된 암호화된 펌웨어를 상기 키를 이용하여 복호화하여 상기 펌웨어의 기밀성을 검증하는 단계; 및상기 보안 메모리 로더가, 복호화된 펌웨어에 대하여 생성된 서명 값과 기존 서명 값과의 비교를 통해 상기 펌웨어의 인증 및 무결성을 검증하는 단계를 포함하는, 보안성 검증 방법
|
2 |
2
제1항에 있어서,상기 키의 유효성 검증이 일회성 프로그래밍 메모리 또는 기기 보안관리 서버와의 연계를 통하여 수행되며, 상기 일회성 프로그래밍 메모리 또는 상기 기기 보안관리 서버에 상기 키의 유효성 검증을 위한 키 값이 저장되어 있는, 보안성 검증 방법
|
3 |
3
제1항에 있어서,상기 키의 유효성을 검증하는 단계 이전에, 상기 보안 메모리 로더가 자가 보안성 검증을 수행하는 단계;자가 보안성이 검증된 상기 보안 메모리 로더에 의해, 상기 기기의 메모리 보호 유닛에 메모리 보호 정책이 적용되고, 상기 메모리 보호 유닛이 초기화되는 단계; 및상기 메모리 보호 유닛이 상기 메모리 보호 정책에 따라 상기 기기의 메모리의 모니터링을 수행하는 단계를 더 포함하는, 보안성 검증 방법
|
4 |
4
제3항에 있어서,상기 키의 유효성 검증과 상기 펌웨어의 인증 및 무결성 검증이, 상기 보안 메모리 로더, 상기 메모리 보호 유닛 및 일회성 프로그래밍 메모리로 구성된 가상 트러스트 컴퓨팅 베이스를 기반으로 수행되는, 보안성 검증 방법
|
5 |
5
제1항에 있어서,상기 키의 유효성을 검증하는 단계는, 상기 보안 메모리 로더가 상기 기기의 메모리로부터 획득되는 제1 키의 유효성을 일회성 프로그래밍 메모리 또는 기기 보안관리 서버와 연계하여 검증하는 단계;상기 제1 키가 유효한 경우, 상기 제1 키를 이용하여 상기 기기의 메모리에 저장된 제2 키로부터 제3 키를 획득하는 단계; 및상기 제3 키의 유효성을 상기 일회성 프로그래밍 메모리 또는 상기 기기 보안관리 서버와 연계하여 검증하는 단계를 포함하며, 상기 제1 키는 상기 기기의 고유 키 값으로부터 유도된 CRK(Confidential Root Key)이고, 상기 제2 키는 상기 제1 키에 의해 암호화 알고리즘에 따라 랩핑된 FEK(Firmware Encyption Key)이며, 상기 제3 키는 상기 펌웨어를 암호화하는데 사용된 FEK인, 보안성 검증 방법
|
6 |
6
제1항에 있어서,상기 펌웨어의 인증 및 무결성을 검증하는 단계는, 상기 보안 메모리 로더가 상기 기기의 메모리부터 상기 펌웨어를 위한 인증 공개키 및 서명 값을 획득하는 단계;상기 인증 공개키와 서명 계산 알고리즘을 이용하여 상기 복호화된 펌웨어에 대한 새로운 서명 값을 생성하는 단계; 및상기 생성된 서명 값과 상기 기기의 메모리에 저장된 기존 서명 값을 이용하여 상기 펌웨어의 무결성을 검증하는 단계를 포함하는, 보안성 검증 방법
|
7 |
7
제6항에 있어서,상기 서명 값을 생성하는 단계는, 상기 복호화된 펌웨어와 단방향 해시 함수를 이용하여 상기 원본 펌웨어 이미지의 다이제스트 값을 생성하고, 상기 인증 공개키와 상기 생성된 다이제스트 값을 이용하여 상기 원본 펌웨어 이미지에 대한 신규 서명값을 생성하며, 상기 펌웨어의 무결성을 검증하는 단계는, 상기 신규 생성된 서명값과 상기 획득된 기존 서명 값을 이용하여 ECDSA(Elliptic Curve Digital Signature Algorithm)에 따라, 상기 펌웨어의 인증 및 무결성을 검증하는, 보안성 검증 방법
|
8 |
8
제1항에 있어서,상기 기기의 프로세서상에서 상기 복호화된 펌웨어가 실행되는 상태에서 이벤트가 발생되며, 상기 펌웨어의 메모리 보호 프로세스에 의해 이벤트 발생에 따른 태스크 요청이 상기 기기의 메모리 보호 유닛으로 전달되는 단계; 상기 메모리 보호 유닛이 상기 기기의 메모리에 저장된 메모리 보호 정책에 따라 상기 태스크 요청에 대한 메모리 접근 여부를 결정하는 단계; 및상기 태스크 요청이 상기 메모리 보호 정책에 위반되는 경우, 상기 메모리 보호 유닛은 상기 태스크 요청의 접근을 차단시키는 단계를 더 포함하는, 보안성 검증 방법
|
9 |
9
제8항에 있어서,상기 태스크 요청이 상기 기기의 메모리 보호 유닛으로 전달되는 단계는, 상기 이벤트가 발생하면, 상기 메모리 보호 정책에 대한 유효성을 상기 일회성 프로그래밍 메모리 또는 상기 기기 보안관리 서버와 연계하여 검증하는 단계를 포함하는, 보안성 검증 방법
|
10 |
10
제8항에 있어서,상기 태스크 요청의 접근을 차단시키는 단계 이후에, 상기 펌웨어의 메모리 보호 프로세스에 의해 상기 기기에 대한 제어권이 상기 보안 메모리 로더로 이관되는 단계; 및상기 보안 메모리 로더가 관련 보안 침해 사항을 상기 기기 보안관리 서버로 전달하고, 동작 대기 상태로 진입하는 단계를 더 포함하는, 보안성 검증 방법
|
11 |
11
제1항에 있어서,상기 펌웨어의 인증 및 무결성 검증 결과 상기 생성된 서명 값이 유효하지 않은 경우, 상기 기기에 대한 제어권이 상기 보안 메모리 로더로 제공되는 단계; 상기 보안 메모리 로더가 관련 보안 침해 사항을 기기 보안관리 서버로 전달하고, 동작 대기 상태로 진입하는 단계; 및상기 기기 보안관리 서버로부터 펌웨어 업데이트 코드를 포함하는 암호화된 정상 펌웨어 이미지를 수신하는 단계를 더 포함하고, 상기 수신된 암호화된 정상 펌웨어 이미지가 상기 기기의 메모리에 업데이트되는, 보안성 검증 방법
|
12 |
12
제3항에 있어서,상기 자가 보안성 검증을 수행하는 단계 이후에상기 보안 메모리 로더가 관련 보안 침해 사항을 상기 기기 보안관리 서버로 전달하고, 동작 대기 상태로 진입하는 단계; 및상기 기기 보안 관리 서버에 의해 상기 보안 메모리 로더가 삭제되는 단계를 더 포함하는, 보안성 검증 방법
|
13 |
13
제1항에 있어서,상기 키의 유효성을 검증하는 단계 이전에, 상기 보안 메모리 로더 및 암호화된 펌웨어 이미지를 포함하는 메모리 레이아웃이 상기 기기에 탑재되는 단계를 더 포함하는 보안성 검증 방법
|
14 |
14
제13항에 있어서,상기 탑재되는 단계는,서비스 제공 장치가, 원본 펌웨어 이미지의 오브젝트 분석 결과로부터 메모리 보호 정책을 생성하고, 상기 생성된 메모리 보호 정책을 원본 보안 메모리 로더 이미지에 삽입하여 1차 수정된 보안 메모리 로더 이미지를 생성하는 단계;상기 서비스 제공 장치가, 상기 원본 펌웨어 이미지를 암호화하고, 상기 암호화에 관련된 키 정보를 상기 1차 수정된 보안 메모리 로더 이미지에 삽입하여 2차 수정된 보안 메모리 로더 이미지를 생성하는 단계;상기 서비스 제공 장치가, 상기 원본 펌웨어 이미지를 인증하는 데 사용되는 인증 공개키와 서명 값을 상기 2차 수정된 보안 메모리 로더 이미지에 삽입하여 3차 수정된 보안 메모리 로더 이미지를 생성하는 단계; 및상기 서비스 제공 장치가, 상기 3차 수정된 보안 메모리 로더 이미지와 상기 암호화된 펌웨어 이미지를 포함하는 메모리 레이아웃을 구성하고, 상기 메모리 레이아웃을 상기 기기에 탑재시키는 단계를 포함하는, 보안성 검증 방법
|
15 |
15
컴퓨팅 장치로서,보안 메모리 로더 이미지와 암호화된 펌웨어 이미지를 포함하는 메모리 레이아웃을 토대로 구성된 메모리;상기 메모리의 보안 메모리 로더 이미지를 로딩하여 실행시키도록 구성되는 프로세서; 및상기 메모리로의 접근 제어를 수행하도록 구성되는 메모리 보호 유닛을 포함하고, 상기 프로세서는 상기 컴퓨팅 장치의 부팅이 이루어진 다음에 상기 보안 메모리 로더 이미지를 실행시키도록 구성되고, 상기 보안 메모리 로더의 자가 보안성 검증이 이루어지고, 보안성이 검증된 상기 보안 메모리 로더에 의해, 일회성 프로그래밍 메모리 또는 기기 보안관리 서버와 연계하여 복호화를 위한 키의 유효성이 검증되며, 상기 키가 유효한 경우 상기 보안 메모리 로더에 의해, 상기 메모리에 저장된 암호화된 펌웨어가 상기 키를 이용하여 복호화되어 상기 펌웨어의 기밀성이 검증되며, 상기 보안 메모리 로더에 의해, 상기 복호화된 펌웨어에 대하여 생성된 서명 값과 기존 서명 값과의 비교를 통해 상기 펌웨어의 인증 및 무결성이 검증되는, 컴퓨팅 장치
|
16 |
16
제15항에 있어서,상기 프로세서는 상기 실행되는 보안 메모리 로더에 의해, 상기 메모리에 저장된 상기 컴퓨팅 장치의 고유 키 값으로부터 유도된 CRK(Confidential Root Key)의 유효성을 검증하고, 상기 CRK가 유효한 경우 상기 CRK를 이용하여 상기 메모리에 저장된 랩핑된 FEK(Firmware Encyption Key)를 언랩핑(unwrapping)하여, 원본 FEK를 이용하여 상기 암호화된 펌웨어를 복호화하도록 구성되는, 컴퓨팅 장치
|
17 |
17
제15항에 있어서,상기 프로세서는, 상기 실행되는 보안 메모리 로더에 의해, 상기 메모리부터 상기 펌웨어를 위한 인증 공개키 및 서명 값을 획득하고, 상기 인증 공개키와 상기 메모리에 저장된 원본 펌웨어 이미지를 이용하여 상기 복호화된 펌웨어에 대한 새로운 서명 값을 생성하며, 상기 생성된 서명 값과 상기 획득된 서명 값을 이용하여 ECDSA(Elliptic Curve Digital Signature Algorithm)에 따라 상기 펌웨어의 인증 및 무결성을 검증하도록 구성되며, 상기 유효성이 검증된 펌웨어가 상기 프로세서를 통해 실행되는, 컴퓨팅 장치
|
18 |
18
제15항에 있어서,상기 프로세서 상에서 상기 복호화된 펌웨어가 실행되는 상태에서, 상기 메모리 보호 유닛이 상기 펌웨어의 메모리 보호 프로세스에 의해 이벤트 발생에 따른 태스크 요청을 수신하고, 상기 메모리에 저장된 메모리 보호 정책에 따라 상기 태스크 요청에 대한 메모리 접근 여부를 결정하며, 상기 태스크 요청이 상기 메모리 보호 정책에 위반되는 경우, 상기 태스크 요청의 접근을 차단시키도록 구성되는, 컴퓨팅 장치
|
19 |
19
제15항에 있어서,네트워크를 통한 통신을 수행하는 네트워크 장치를 더 포함하고, 상기 자가 보안성 검증에 따른 상기 보안 메모리 로더의 자가 보안성 검증 결과 이상 발생 또는 상기 펌웨어의 인증 및 무결성 검증 결과 이상 발생시, 상기 프로세서가, 상기 보안 메모리 로더에 의해 상기 네트워크 장치를 통하여 상기 기기 보안관리 서버로 보안 침해 사항을 통보하고, 동작 대기 상태에서 상기 기기 보안관리 서버로부터의 침해 대응 결과를 수신하도록 구성되는, 컴퓨팅 장치
|
20 |
20
제15항에 있어서,상기 메모리는, 보안 메모리 로더 영역, 펌웨어 로딩 메모리 영역, 메모리 보호 유닛 레지스터값, 보안 메모리 로더를 포함하는 레이아웃을 가지며, 상기 보안 메모리 로더 영역은, 보안 메모리 로더 코드, 보안 메모리 로더 헤더, 메모리 보호 정책, 상기 펌웨어의 암호화에 사용된 키 정보, 상기 펌웨어를 인증하는데 사용되는 인증 정보를 포함하고,상기 펌웨어 로딩 메모리 영역은 상기 암호화된 펌웨어 이미지를 포함하는, 컴퓨팅 장치
|