훌륭한 암호 시스템의 4가지 주된 목표는 기밀성, 신뢰성, 무결성, 그리고 부인 방지입니다. 개발자들이 보안 시스템을 신속하게 구현하도록 도와주는 여러 가지 솔루션이 있습니다. Analog Devices에서 작성한 이 글을 통해 그 중 두 가지 솔루션 즉, 인증기와 코프로세서에 대해 알아보십시오.
암호의 네 가지 기본 목표
훌륭한 암호 시스템의 4가지 기본적인 목표는 기밀성, 신뢰성, 무결성, 그리고 부인 방지입니다. 현재 여러 업체들이 바쁜 개발자들이 보안 시스템을 신속하게 구현하도록 도와주는 다양한 보안 인증기와 코프로세서를 제공하고 있습니다. 이 코프로세서는 기본적으로 호스트 마이크로컨트롤러에서 암호 계산 및 데이터 처리 요구사항을 덜어주고 주요 보안 기능들을 제공하는 연결된 보안 인증기와 원활하게 통합됩니다. 이제 이 코프로세서 몇 가지에 대해 살펴보겠습니다.
그림 1
대칭 키 코프로세서의 사용
어떤 개발자가 여러분이 개발한 가젯에 보안 시스템을 구현하려고 하고 있고, 여러분의 비즈니스 모델의 성공 여부가 대량의 소모품 또는 일회용품의 판매에 달려 있을 지도 모른다고 가정해봅시다. 이 모델에서는 여러분이 영구적으로 배포된 호스트 시스템을 고객에게 판매하고, 고객이 오직 여러분을 통해서만 소모품을 구매합니다. 이 가젯은 의료용 소모품이나 프린터 카트리지가 될 수 있을 것이고, 이때 여러분의 시스템 성능은 여기에 연결되는 일회용 주변기기에 달려 있습니다. 일회용 센서나 도구 같은 의료용 소모품의 경우, 주안점은 품질, 안전, 그리고 사용 관리입니다. 프린터 카트리지 같은 경우에는 품질이 나쁜 모조품으로 인한 호스트 프린터 손상이나 저품질의 인쇄 결과 같은 문제를 해결해야 합니다. 두 가지 경우 모두, 결과적으로 여러분의 비즈니스 모델을 무너뜨리는 모조 일회용품에 따른 매출의 감소라는 요소가 존재합니다.
따라서 여러분의 메인 시스템에 연결된 가젯이 신뢰할 수 있고 여러분의 시스템을 통해 이를 식별할 수 있는지 확인할 필요가 있습니다. 이것은 ChipDNA™가 적용된 DS28E50 DeepCover® 보안 SHA-3 인증기 같은 보안 인증기와 ChipDNA 물리적 복제 방지 기능(PUF)으로 보호되는 DS2477 DeepCover 보안 SHA-3 코프로세서를 사용하여 쉽게 진행할 수 있습니다. 그림 2는 이러한 암호화 보안 시스템을 위한 간소화된 시스템 구조를 보여줍니다.
그림 2
이 시스템에서는 여러분이 가장 좋아하는 마이크로컨트롤러를 DS2477에 부착하여 모든 식별 및 인증 작업을 처리하게 합니다. 그리고 이것은 각 가젯에 위치한 DS28E50을 구동하기 위한 적절한 전기 신호 강도와 타이밍을 제공합니다.
DS2477은 매우 유연하게 작동하도록 설계되었으며 훌륭한 제어 성능을 제공합니다. 암호 인증 과정의 모든 부분을 세세하게 제어하고 싶다면 저수준 명령들을 통해 가능합니다. 또, 이 코프로세서가 여러분을 대신해서 복잡한 작업을 처리했으면 한다면 가젯의 보안과 관련하여 더 우수한 불간섭 기능을 제공하는 매우 높은 수준의 명령들이 있습니다. DS2477과 DS28E50에는 ChipDNA PUF 기능이 내장되어 있어서, 키가 장치에 실제로 저장되어 있는 것이 아니고 필요할 때마다 키를 가져와서 데이터를 보호해줍니다.
비대칭 키 코프로세서의 사용
시스템의 보안을 위해 비대칭 키를 사용해야 하는 경우가 있습니다. 이는 암호 시스템의 무결성과 부인 방지 목표를 온전히 달성하는 데 있어서 기본이 됩니다. 이러한 유형의 시스템은 그림 3과 같은 모습입니다.
그림 3
여기서는 앞에서와 마찬가지로 가젯의 보안을 유지해야 하지만 공용키/개인키 조합을 이용하여 암호의 목표를 달성하려고 합니다. 그림 3은 비대칭 ECDSA와 대칭 SHA-256 기능을 수행하는 빌트인 도구 세트를 갖춘 암호 보조 장치인 DS2476 DeepCover 보안 코프로세서의 모습입니다. DS2476에는 NIST 호환 난수 생성기도 있어서 호스트 마이크로컨트롤러가 이 난수 생성기를 사용하여 “중간자(man-in-the-middle)” 공격을 예방하는 데 필요한 임시값을 생성할 수 있습니다.
그림 3에 표시된 시스템에서는 DS2476 장치와 DS28C36 장치(DS28E83/DS28E84는 내방사선 의료 분야에 적합함)가 결합되어 사용자의 새로운 설계를 위조나 기타 악의적인 행위로부터 보호합니다.
공장 개인화/사전 프로그래밍 커스텀 데이터
이제 보안 인증기를 사용하여 암호화 보안 시스템을 쉽고 빠르게 구현하기 위한 퍼즐의 마지막 조각이 남았습니다. 이것은 공장 생산에 맞춘 개인화/사전 프로그래밍 서비스를 이용하는 것입니다. 이 서비스는 장치 제조업체의 시설에서 사용자의 개인 데이터나 공용 데이터를 가지고 사용자의 인증기와 코프로세서를 개인화하거나 미리 프로그래밍합니다. 대칭 키/비밀 또는 비대칭 키 인증서를 예로 들 수 있습니다. 그림 4는 개인화 프로세스 과정의 한 예를 보여줍니다.
이 개인화 서비스는 프로덕션 설정 시 인증기가 필요한 데이터를 프로그래밍할 필요가 없도록 해줍니다. 대부분의 경우, 이 작업을 수행하려면 제조업체가 자체 테스트 시스템과 인프라를 개발해야 할 것이며, 이를 위해서는 시간이 필요하고 비용이 많이 들 것입니다. Maxim Integrated는 수십 년에 걸쳐 다양한 고객들에게 이 서비스를 제공함으로써 고객들이 데이터를 안전하게 지키도록 효과적인 도움을 주고 있습니다.
이 프로세스는 고객이 요청을 하고 필요한 데이터를 Maxim에 안전하게 전송하는 것에서 시작됩니다. 그림 4의 처음 두 개 섹션에 이 과정이 표시되어 있는데, 여기서 고객은 데이터를 자체 시설에 있는 Maxim 도구에 안전하게 입력합니다. 이 작업이 완료되면 이 도구가 데이터를 암호화하여 Maxim으로 전송합니다. 여기서부터 그림 4와 같이 Maxim이 작업을 맡아서 샘플 생성 프로세스를 완료합니다.
그림 4
샘플이 고객의 승인을 얻으면 그 고객의 부품이 생산에 들어갑니다. 이 때부터 계속해서 “즉시 사용할 수 있는” 부품이 요청 시마다 고객에게 배송됩니다.
결론
암호 안내서에서 우리는 일반 개요에서 시작해서 암호의 기본 사항에 대해 살펴보았고, 이어서 보안 암호 시스템의 특성을 정의하였습니다. 암호화, 대칭/비대칭 암호 등 여러 가지 암호 개념들에 대해 자세히 설명하였습니다. 그리고 SHA, ECDSA, AES, 3DES, RSA 등 다양한 암호 알고리즘에 대해 개략적으로 설명하였습니다. 그 다음, 물리적 복제 방지 기능에 대해 그 구현을 중심으로 하여 설명하였습니다. 이러한 기능들이 대상 애플리케이션에 왜 필수인지를 바쁜 엔지니어분들이 손쉽게 이해하는 데 이 내용이 도움이 되었으면 합니다.
암호의 기본적인 개념과 구체적인 개념에 대해 개관하고 설명한 후, 이러한 개념들을 보안 부팅이나 IP 보호 같은 실제 애플리케이션에 어떻게 사용할 수 있는지 예를 들어 제시하였습니다. 마지막으로, 최신 보안 인증기와 코프로세서, 그리고 개인화/사전 프로그래밍 서비스의 몇 가지 아주 중요한 특징들에 대해 살펴봤습니다. 우리는 엔지니어가 암호화 보안 시스템을 신속하게 개발하여 배포하는 데 있어서 보안 인증기가 도움을 줄 수 있을 것이라고 확신합니다.