Infineon SOLID FLASH™의 Common Criteria 인증
  • 2013-05-23
  • 편집부

이 글의 목적은 ROM 기반 스마트카드의 CC 인증(Common Criteria Certification) 방법론에 근거하여 SOLID FLASH™ 기술에 대한 비교를 제시하는 데 있다. 주요 의제는 ROM 대비 Flash의 보안 우려에 대한 것과, 어떻게 SOLID FLASH™ 기술이 ROM 제품과 동일한 보안 요구사항을 충족시킬 수 있는가에 대한 것이다.



글)
에릭 서 오운 추아(Eric Seow Aun Chuah)* 주임 엔지니어, 인피니언 테크놀로지스 아시아퍼시픽
마커스 얀케(Marcus Janke)**  수석 제품 보안 담당, 인피니언 테크놀로지스 AG


ROM에서 Flash로의 패러다임 전환
지난 수년 동안 스마트카드 시장은 크게 성장했으며, 대다수 국가들이 무현금 거래(지불, 교통 운임,  소액 금융까지)는 물론 스마트카드, 휴대전화, 동글 등을 이용한 정교한 전자 신분증과 교통 운임 시스템으로 이동하고 있다.
전통적으로 대부분의 스마트카드 제품은 ROM(Read-Only Memory)과 EEPROM이 결합된 상태로 제공됐다. 이는 EEPROM의 디바이스 면적이 ROM에 비해 상대적으로 크고, 따라서 EEPROM의 단위당 비용이 ROM보다 높다는 사실 때문이다. 따라서 ROM을 사용해 영구적인 프로그램 코드를 저장하고 애플리케이션 데이터를 위해서 EEPROM을 사용하는 방법은 스마트카드에서 비용 효율적인 조합이 돼왔다.
하지만, 반도체 공정에서 보다 미세 공정 기술(예를 들어, 90 nm)이 도입됨에 따라 Flash의 면적이 상당히 줄어 Flash 대비 ROM에 대한 총소유비용(TCO)을 세심하게 분석해야 하는 지점까지 이르렀다.

신뢰할 수 있는 높은 보안 성능의 스마트카드를 위한 보안 인증 Flash
인피니언은 이러한 트렌드를 매우 초기에 확인하고 자사의 SOLID FLASH™ 기술을 2010년에 발표했다. SOLID FLASH™는 지불, 정부 ID, 하이-엔드 이동통신, 운송 등과 같은 보안 애플리케이션에 사용할 수 있도록 최적화됐으며, 유연한 Flash 메모리의 장점을 전용 보안 개념과 통합했다. 결과적으로 인증 체계(예를 들어, Common Criteria)와 형식 승인(예를 들어, EMVCo - Europay, Mastercard, Visa 등을 위한 지불 승인 체계)이 인피니언의 SOLID FLASH™ 플랫폼에 적용됐으며 다양한 파생 제품과 메모리 구성을 포함하고 있는 90 nm 제품에 대해 EMVCo 및 CC 인증(Common Criteria certification)[4] [5]을 획득했다.

SOLID FLASH™ 제품의 장점
SOLID FLASH™ 제품의 장점은 명확하다. Flash 제품은 제품 리드 타임을 줄임으로써 타임-투-마켓을 단축시킬 수 있는 데, 다시 말해 인피니언의 파트너들이 보다 신속하게 시장 변화에 대응할 수 있도록 지원한다.
Flash 제품들은 또한 표준 제품으로 생산할 수 있다. 고객들은 프로젝트와 시장 요구사항에 따라 최종 단계에서 Flash 제품에 어떤 운영체제와 애플리케이션 코드를 프로그램할 것인지를 결정할 수 있다. 이는 일반적으로 반도체 생산 공정과 관련하여 모든 제품과 최종 개별 고객을 위해 특별히 생산되어야 하는 긴 리드 타임을 가진 ROM 마스크 제품과 비교해 한층 더 높은 유연성을 제공한다.
Flash 제품의 도입으로 고객들은 필요에 따라 적절한 제품에 적절한 프로그래밍을 구현할 수 있다. 이는 다시 말해 고객의 재고 비용과 재고 위험을 낮출 뿐만 아니라, 물류 계획 및 예측의 복잡성과 불확실성을 낮춘다. 따라서 TCO가 낮아질 것이다.

Flash 제품에 대한 보안 우려

데이터 조작

일반적으로 ROM 메모리의 콘텐츠(코드 또는 데이터)는 정보 또는 프로그램 코드가 일련의 얇은 금속 콘택트를 사용해 저장되기 때문에 변경에 민감하지 않은 것으로 가정한다 [1].
하지만, 현재 기술의 경우 기존의 금속 콘택트를 자르거나 유실된 금속 콘택트를 연결할 수 있는 FIB(Focused
Ion Beam)을 사용해 금속 ROM의 콘텐츠를 수정할 수 있다. 사실상 이로 인해 인증되지 않은 주체에 의해 ROM 콘텐츠가 수정될 수 있다.
또한 이러한 취약성은 메모리 콘텐츠의 변경을 방지하기 위한 보호 기능으로서 ROM 메모리를 사용하는 것에 전적으로 의지하는 것이 충분하지 않다는 것을 의미한다. 더 정확히 말하자면, 보다 포괄적인 보호 기능을 적절히 제공할 수 있는 보안 메커니즘에 주의를 기울여야만 한다(ROM 메모리의 취약성에 대한 보다 자세한 내용은 [1] 참조).



데이터의 리버스 엔지니어링

가장 일반적인 하드웨어 공격 방법은, 예를 들어 키 값이나 운영체제의 프로그램 Flow 등과 같이 메모리에 저장된 중요한 정보를 검색하기 위해서 메모리 콘텐츠(ROM 또는 Flash 등)를 리버스 엔지니어링하는 것을 목표로 한다. 이를 위해서는 일반적으로 실리콘의 레이어 분리와 각 레이어에 대한 고해상도 영상 촬영이 필요하며, 그림 3에서 나타낸 바와 같이 ROM 또는 Flash 콘텐츠의 광학 이미지를 생성하게 된다.
이와 같은 공격 방법에서 ROM 콘텐츠는 “육안(naked eye)”으로도 완전히 볼 수 있는데, 따라서 공격자가 추출된 ROM 콘텐츠에 대해 추가적인 분석을 수행하여 클리어-텍스트(clear-text)에서 필요한 정보를 검색할 수 있다. ROM과 비교해 Flash 콘텐츠는 그림 3에 나타낸 바와 같이 “육안”으로 “볼 수가 없다”. 저장된 정보에 상관없이 Flash 콘텐츠는 매우 동일한 셀로 보이기 때문에 광학 분석을 통해 구분하기는 매우 어렵다.



COS(Card Operating System)를 위한 로딩 메커니즘
ROM과 보안 Flash 제품 사이의 주요한 차이 중 하나는 제품에 운영체제를 로딩하는 메커니즘이다. ROM 마스크 제품의 경우, 주문형 ROM 마스크를 구축하기 위해 COS 개발자들은 자신의 COS 이미지를 실리콘 제조업체에게 제출해야 한다. 인피니언의 보안 인증 Flash를 사용할 경우, COS 제조업체들은 이제 자체적으로 또는 서드파티 로딩 시설을 활용해 COS를 스마트카드에 다운로드할 수 있다.
Flash에 대한 일반적인 우려는 로딩 메커니즘의 보호에 대한 것이다. COS를 보안 인증된 Flash 제품에 다운로딩하는 프로세스를 안전하게 보호할 수 있는 보안 기능은 무엇인가?



제품에 대한 추가적인 다운로딩의 방지
제품 출시 전에 보안 로딩 메커니즘을 영구적으로 비활성화시키는 것이 중요하다. 이를 통해 공격자가 보안 로딩 메커니즘을 사용해 악의적인 애플릿(applet)을 다운로드하여 스마트카드에 대한 보안 공격을 수행하지 못하도록 방지할 수 있다.
다음 절에서 SOLID FLASH™을 위에서 언급한 보안 우려사항들로부터 보호하는 전용 보안 메커니즘에 대한 보다 상세한 내용을 살펴볼 것이다.

인피니언의 보안 인증 Flash에 대한 전용 보안 메커니즘

보안 암호화 Flash 로딩 메커니즘

프로그래밍 프로세스 자체를 공인되지 않는 액세스와 도청으로부터 보호해야 한다. 2개의 시나리오를 고려해야 한다: 첫째, 민감한 코드와 데이터 콘텐츠를 프로그래밍 프로세스 중에 노출되는 것으로부터 보호해야 하며; 둘째, 인가된 주체 만이 스마트카드 칩에 로딩할 수 있어야 한다 [3].
SOLID FLASH™은 보안 암호화 로딩 메커니즘을 제공하여 민감한 코드와 데이터를 암호화하여 다운로드 할 수 있도록 해야 한다. 이 경우 다운로드 프로세서를 도청한 경우에도 암호화된 데이터 만을 확인할 것이다. 추가적으로, 인가된 주체에만 액세스가 허용될 수 있도록 추가적인 “Challenge and Response”와 같은 인증 메커니즘을 구현한다.

로딩 메커니즘의 영구적인 비활성화
보안 인증된 Flash 로더(Secure Certified FLASH Loader)는 이러한 스마트카드의 데이터 또는 코드 다운로드 메커니즘을 추가적으로 활용하는 것을 방지하기 위해 영구적으로 스스로를 불능화시킬 수 있다. 영구 불활성화 시 이것은 보안 인증 Flash 로더의 특정 관련 부품들에 의해 달성된다. 일단 이것이 달성되면, 로딩 메커니즘을 통해 공격자들이 Flash 메모리에 저장된 프로그램 코드 또는 데이터를 수정하지 못하도록 방지할 수 있기 때문에 불활성화 후에는 더 이상 이용할 수 없으며 재활성화를 방지할 수 있다.

ROM 및 보안 인증 Flash 제품의 인증
인피니언 제품들이 오늘날 보안 시장의 엄격한 요구사항을 충족시킬 수 있도록 하기 위해 인피니언은 보안 인증 Flash 제품들을 CC 인증 체계에 따라 인증을 확보하는 것을 목표로 하고 있다. 따라서 고객들은 인피니언 보안 제품의 기능과 설계가 첨단 보안 위협들을 적절하게 처리할 수 있다는 데 확신을 가질 수 있다.
SOLID FLASH™ 제품 인증의 경우, 사용된 보호 프로파일은 실리콘 하드웨어의 인증을 위해 적용할 수 있는 “Security IC Platform Protection Profile, Version 1.0, 15.06.2007, Ref: BSI-PP-0035”[2] (PP0035라고 함)이다.

보호 프로파일
PP0035 [2]에서는 1차적인 보안 관심사항이 (ROM 또는 Flash에 저장된) 데이터의 복제 및 공개와 스마트카드 기능(예를 들어, 보안 인증 Flash 로더 기능)의 복제 또는 부당한 이용이다. 이미 알고 있듯이, 인증 관점에서는 ROM 또는 Flash 메모리에 정보를 저장하는 것에 있어서는 차이점이 없다. 정보의 저장과 보호에 관련된 동일한 보안 대상과 기능이 ROM과 Flash 메모리 모두에 적용되며, 이것은 보안 대상과 기능이 메모리 형태(ROM 또는 Flash)를 구분할 수 없다는 것을 의미한다.
인피니언의 보안 인증 Flash 제품은 “Security IC Platform Protection Profile [PP0035]”을 엄격하게 준수하고 있다고 주장하고 있으며, 복제와 공개에 대한 데이터 보호뿐만 아니라 인피니언의 보안 인증 Flash의 로딩 메커니즘 기능의 남용 방지에 있어서 중요한 모든 보안 대상과 요구사항을 고려하고 있다.

최고 달성 가능한 보안 수준에 대한 인증
CC 인증에 있어서 중요한 측면은 대상에 대한 모의 해킹(penetration testing)을 통해 제품의 보안 저항성을 평가하는 것이다. 이와 같은 모의 해킹은 일반적으로 공인 평가 실험실에서 보안 전문가들에 의해 수행된다. 모의 해킹 시 실험실에서는 제품을 매우 상세하게 평가하고 제품의 취약성을 찾기 위해 노력한다.
인피니언은 최고 달성 가능한 보안 수준(AVA_VAN.5)으로 보안 인증 Flash 제품을 인증할 수 있다. 이를 통해 매우 높은 수준에서 고객들은 인피니언의 보안 인증 Flash가 저장된 정보를 복제와 공개로부터 보호할 뿐만 아니라 로딩 메커니즘 기능의 남용을 방지할 수 있다는 확신을 가질 수 있다.
인피니언의 SOLID FLASH™ 제품에 대한 성공적인 CC 인증의 사례는 “[BSI-DSZ-CC-0758-2012] Common Criteria Certification Report for Infineon Security Controller M7892”[4]과 “[BSI-DSZ-CC-0786-2012] Common Criteria Certification Report for Infineon Security Controller M7794”[5]으로 Common Criteria 포털 홈페이지에서 확인할 수 있다.

결론
위에서 논의한 바와 같이 Flash에 저장된 데이터가 ROM과 같은 동일한 보안 위협에 직면해 있다는 사실은 분명하다. 이 의미는 데이터의 노출, 조작과 같은 보안 위협이 ROM과 Flash 모두에 존재 한다는 것을 의미한다. Protection Profile [PP0035]에 따르면, 데이터의 노출 및 조작으로부터 데이터를 안전하게 보호하기 위한 보안 목표는 메모리의 형태(ROM 또는 Flash)와 상관없이 적용된다. SOLID FLASH™ 제품들은 CC 인증 시 PP0035를 엄격히 준수함으로써 그러한 보안 위협에 적절히 대처했으며, 따라서 이와 같은 이유로 SOLID FLASH™는 ROM과 동일한 수준의 보안을 쉽게 달성할 것이다.  ES

<저작권자(c)스마트앤컴퍼니. 무단전재-재배포금지>



  • 100자평 쓰기
  • 로그인

세미나/교육/전시
TOP