배너
닫기

테크노트

배너

SHA-256 마스터/슬레이브 인증 시스템

  • 등록 2013.12.03 19:39:22
URL복사

오늘날 새로운 보안 인증 디바이스 및 보안 코프로세서들은 SHA-256 인증을 채택하고 있다. 이 새로운 시스템은
향상된 물리 보안으로 탁월한 저비용 IP 보호, 복제 방지, 주변장치 인증을 제공한다. 여기서는 SHA-256 기반
보안 시스템의 기본적인 처리 과정에 대해 알아보고, 이 인증 시스템에 활용되고 있는 양방향 인증 기능에 대해서도 살펴본다.

 

지금까지 위조나 불법 복제로부터 IP(Intellectual Property)를 효과적으로 보호하기 위해, 10년 이상 SHA-1 인증이 이용되어 왔다. 그러나 컴퓨터 기술이 진화함에 따라 소비자들은 갈수록 더 높은 수준의 보안을 요구하고 있다.

 

 보안 인증 시스템

보안 인증 시스템을 구현하기 위해서는 호스트 시스템을 센서/주변장치 모듈과 연결해야 한다. 그림 1에 나타난 시스템은 1-Wire® SHA-256 보안 인증 소자와 1-Wire 마스터 기능의 SHA-256 코프로세서로 이루어져 있다. 호스트와 주변장치 사이에서 1-Wire 인터페이스의 단일 핀을 통해 동작함으로써 인터커넥트 복잡성을 낮추고 디자인을 간소화하며 비용을 낮출 수 있도록 한다.(1)

 

 

1. SHA-256 인증 디바이스
SHA-256 보안 인증 디바이스는 이 시스템에서 256비트의 질의 크기를 지원하며 256비트의 비밀 키를 사용한다. 보안 인증 디바이스는 그림 1에서 고유의 64비트 ROM ID를 갖고 있는 1-Wire 슬레이브이며, 이 ROM ID는 인증 계산에서 기본적인 데이터 요소로 이용된다.


시스템 디자이너는 인증 디바이스의 사용자 EEPROM을 공개적으로(비보호) 액세스할 수 있는 구역과, 마스터가 쓰기 액세스하기 위해 스스로를 인증해야 하는 구역으로 파티셔닝할 수 있다. 표 1은 이용 가능한 보호 모드와 유효한 보호 조합을 나타낸 것이다.

 

2. 1-Wire 마스터 기능이 있는 SHA-256 코프로세서
SHA-256 코프로세서는 그림 1에서 호스트 프로세서에 의해 제어되는 I2C 슬레이브이다.
호스트의 I2C 포트에서 보았을 때 SHA-256 코프로세서는 특정 구역(데이터 요소)을 특정 용도로 지정하고 있는 256바이트 읽기/쓰기 메모리이다.

 

 ‌보안 프로세스

 

SHA 기반 보안은 공개 데이터와 비밀 키를 이용하여 MAC(Message Authentication Code)을 계산하는 것이다. 인증을 달성하기 위해서는 호스트 또는 코프로세서와 1-Wire 인증 디바이스 양쪽의 비밀 키를 알아야 하고 이를 절대 노출시키지 않도록 해야 한다.
뿐만 아니라 보안성을 극대화하기 위해서는 각각의 1-Wire 인증 디바이스에서 비밀 키를 고유하게 해야 한다. 이렇게 함으로써 어떤 인증 디바이스의 비밀 키가 훼손된다고 하더라도 전체적인 시스템의 보안에는 영향을 미치지 않도록 할 수 있다.


이러한 요구들은 언뜻 충족시키기 불가능한 것처럼 보일 수 있다. 하지만 이를 실행할 수 있는 간단한 솔루션이 있다. 알려진 ‘요소들(Ingredients)’을 이용하여 비밀 키를 계산하고 이것을 신뢰할 수 있는, 통제되는 제조 환경에서 디바이스 내로 인스톨하는 것이다.


인증 디바이스 비밀 키 계산에 이용되는 요소들은 마스터 비밀 키, 바인딩 데이터, 부분 비밀 키, 인증 디바이스의 ROM ID, 패딩/포맷팅(‘기타 데이터’)이다. 이 프로세스를 그림 2에 나타낸다.
이러한 요소들이, 예를 들어 신뢰할 수 있는 제조 환경에서 어느 한 시점에서는 노출되지만 계산된 비밀 키는 절대 노출되지 않으며 항상 숨겨져 있다.


보안 및 저장 공간 측면에서, 시스템 내 모든 인증 디바이스의 고유 비밀 키를 코프로세서나 호스트에 저장하지는 못한다.
코프로세서는 보호 메모리 구역에 마스터 비밀 키와 바인딩 데이터만 저장한다. 부분 비밀 키는 시스템 상수로서 호스트 프로세서의 펌웨어에 코딩할 수 있으며 공개적으로 통신된다.

인증 디바이스의 ROM ID를 읽은 후, 코프로세서는 그림 2에서와 같이 인증 디바이스의 고유 비밀 키를 계산할 수 있다. 인증 디바이스와 코프로세서가 고유의 인증 디바이스 비밀 키를 공유했다면 시스템을 작동시킬 수 있게 된다.

 

 

 

 ‌질의-응답 인증

 

인증 디바이스의 주된 용도는 자신이 연결되어 있는 대상이 정식(Genuine)이라는 증거를 제공하는 것이다. 대칭 키 기반의 인증은 비밀 키와 인증하고자 하는 데이터(‘메시지’)를 입력으로 이용하여 MAC을 계산한다.
호스트는 기대되는 비밀 키와 동일한 메시지 데이터를 이용하여 동일한 계산을 실시한다. 그 후 자신이 계산한 MAC 버전과 인증 디바이스에서 수신된 것을 비교한다. 두 MAC 결과가 동일하다면 인증 디바이스가 시스템의 한 부분으로 포함된다.


이러한 SHA-256 인증 시스템에서, 메시지는 호스트 질의와 인증 디바이스에 저장된 데이터 요소의 조합이다. 질의는 랜덤 데이터를 기반으로 해야 한다.
결코 변하지 않는 질의라고 한다면, MAC을 즉석에서 계산하는 것이 아니라 유효한 정적 MAC을 기록했다가 이후에 이를 이용하여 공격할 수 있도록 문을 열어두는 것이나 마찬가지이다.
인증 디바이스는 질의, 비밀 키, 메모리 데이터, 메시지를 이루고 있는 기타 데이터들을 이용하여 MAC을 계산한다(그림 3).


인증 디바이스가 어떠한 질의에 대해 유효한 MAC을 생성할 수 있으면 인증 디바이스가 비밀 키를 알고 있다고 간주하는 것이 안전하므로 정식(Authentic)이라고 할 수 있다.

 

 ‌데이터 보안(인증 쓰기)

정식임을 증명하는 것 외에도 인증 디바이스에 저장된 데이터를 신뢰할 수 있다는 것을 아는 것도 매우 바람직하다. 이를 위해서는 보안 인증 디바이스의 EEPROM 일부 또는 전부를 ‘인증 보호’할 수 있다.
인증 보호를 작동하면 메모리 쓰기 액세스를 위해 호스트가 인증 디바이스로 호스트 인증 MAC을 제공하여 자신이 정식이라는 것을 증명해야 한다(그림 4).

 

 


호스트 인증 MAC은 새로운 메모리 데이터, 기존 메모리 데이터, 인증 디바이스의 고유 비밀 키 및 ROM ID, 메시지를 형성하는 기타 데이터를 이용하여 계산된다. 인증 디바이스 역시 자신의 비밀 키를 이용해서 동일한 방식으로 MAC을 계산한다.


정식 호스트라면 인증 디바이스의 비밀 키를 재생성하고 유효한 쓰기 액세스 MAC을 생성할 수 있다. 호스트로부터 MAC을 수신하면, 인증 디바이스는 이를 자신의 결과와 비교한다. 두 MAC이 일치할 때에만 EEPROM에 데이터를 쓸 수 있다. MAC이 맞다고 하더라도 쓰기 보호된 사용자 메모리 구역은 변경할 수 없다.

 

 ‌비밀 키 보호

 

인증 디바이스의 비밀 키와 코프로세서의 마스터 비밀 키는 하드웨어 디자인에 의해 읽기 보호된다. 원한다면 비밀 키를 쓰기 보호할 수 있다. 이렇게 하면 알려지지 않은 비밀 키를 알려진 비밀 키로 교체함으로써 인증 디바이스의 메모리 데이터 무단 변경을 방지할 수 있다.


인스톨 후에는 통상적으로 코프로세서의 메모리에 저장되는 바인딩 데이터를 읽기 보호해야 한다. 이와 같은 보호는 코프로세서와 인증 디바이스를 신뢰할 수 있는 제조 현장에서 셋업할 때에만 유효하다.

 

 ‌DeepCover

 

DeepCover® 기술을 적용하면 비밀 키를 알아내고자 하는 어떠한 다이 레벨 공격에 대해서도 가장 강력한 보호를 제공할 수 있다. DeepCover 기술은 다이 레벨 무단 변경 이벤트를 동적으로 모니터링하기 위한 다수의 회로, 향상된 다이 루팅 및 레이아웃 기법, 유능한 공격자의 정교한 공격을 방어할 수 있는 추가적인 고유 기법들을 포함하고 있다.

 

 ‌양방향 인증

 

여기서 소개한 시스템 예의 보안 인증 디바이스는 질의-응답 인증과 인증 쓰기(호스트 인증)가 모두 가능하다. 전체적인 사용자 메모리를 질의-응답 인증에 이용할 수 있다. 양방향 인증은 보안 데이터 저장(인증 쓰기)으로 구성된 메모리 구역에 적용된다.


비밀 키, 질의, MAC 각각 256비트인 SHA-256은 이전의 SHA-1 인증에 비해 훨씬 향상된 것이다. 여기서는 호스트 시스템(1-Wire 마스터 기능의 SHA-256 코프로세서)과 센서/주변장치 모듈(1-Wire SHA-256 인증 디바이스)을 비교하는 첨단 보안 인증 시스템에 대해 소개했다.


코프로세서의 빌트인 1-Wire 마스터는 호스트가 실시간으로 1-Wire 통신해야 하는 부담을 덜어 준다. 그리고 DeepCover 1-Wire SHA-256 인증 디바이스는 3.3V 및 1.8V 동작으로 메모리 3개의 구성이다.(2), (3) 3.3V 및 1.8V로 동작하는 코프로세서/마스터(4), (5)는 3개의 모든 인증 디바이스를 이용할 수 있다. 이러한 디바이스를 이용함으로써 SHA-256 보안이 그 어느 때보다도 수월해졌다.


※‌1-Wire 및 DeepCover는 Maxim Integrated Products의 등록상표이다.

 

Bernhard Linke  Maxim Integrated









배너










주요파트너/추천기업