EAL 인증: 무엇을 보장하고, 무엇을 보장하지 않을까요?
CC EAL6+는 해킹 불가능을 증명하는 인증이 아니에요. 정확히 어떤 의미인지 알려드려요.
하드웨어 지갑을 비교하다 보면 EAL 등급이 주요 판매 포인트로 자주 등장하는 걸 볼 수 있어요. EAL6+ 보안 칩은 달성 가능한 최고 수준의 보안 기준을 의미하는 듯 보이죠. 이 등급과 인증 과정은 실제로 엄격하며, 해당 라벨이 붙은 칩들은 정말 까다로운 기준으로 테스트를 거쳤어요.
하지만 EAL 인증은 하드웨어 지갑 마케팅에서 가장 자주 오해받는 개념 중 하나예요. 종종 거의 절대적인 보안 보장처럼 소개되지만, 실제로는 그렇지 않아요.
이번 글에서는 EAL 프레임워크의 기본 구조, EAL5+와 EAL6+에서 실제로 어떤 평가가 이뤄지는지, 하드웨어 지갑에 사용되는 주요 칩과 그 등급, 그리고 인증이 다루지 않는 세 가지 구조적 한계까지 차근차근 살펴볼게요.
EAL 인증은 칩이 어떤 깊이와 엄격함으로 보안 평가를 받았는지를 알려줘요. 칩이 절대 뚫리지 않는다는 의미는 아니에요. 이 둘은 전혀 다른 이야기이며, 혼동하면 잘못된 보안 신뢰로 이어질 수 있어요.
Common Criteria란?
Common Criteria(정식 명칭: Common Criteria for Information Technology Security Evaluation, ISO/IEC 15408)는 IT 제품의 보안을 평가하기 위한 국제 표준 프레임워크예요. 1999년에 각국별로 분산된 보안 평가 체계를 통합하기 위해 만들어졌어요.
현재 30개 이상의 국가가 Common Criteria Recognition Arrangement (CCRA)에 참여하고 있으며, CC 인증은 독립적으로 평가된 제품 보안의 글로벌 표준으로 인정받고 있어요.
평가 대상(TOE: Target of Evaluation)
이 프레임워크는 평가 대상(TOE)이라는 핵심 개념을 중심으로 운영돼요. TOE는 평가받는 특정 제품 또는 부품을 의미해요. 보안 칩(secure element)의 경우 TOE는 보통 칩 자체, 즉 하드웨어 구조, 내장 운영체제, 그리고 구동되는 암호화 라이브러리까지 포함해요.
TOE 제조사는 Security Target(보안 목표) 문서를 제출해야 해요. 이 문서는 제품이 보호해야 하는 자산, 방어해야 할 위협, 구현된 보안 기능, 그리고 해당 기능이 유효한 전제 조건 등을 공식적으로 명시한 문서예요.
인증 발급
공인된 독립 평가 기관이 해당 제품을 제출된 보안 목표와, 신청한 EAL 등급에 맞는 깊이와 엄격함으로 테스트해요. 제품이 해당 등급의 Security Target을 충족하면, 국가 인증 기관이 인증서를 발급해요.
이 구조에서 중요한 점은, 평가는 제품이 직접 선언한 보안 목표에 따라 이뤄진다는 거예요. 즉, 제조사가 제한된 보호 범위를 선언하고 그 부분을 충족하면, 더 넓은 보호 범위를 선언하고 충족한 제품과 동일한 EAL 등급을 받을 수 있어요.
EAL은 평가의 엄격함을 측정하는 것이지, 보안 설계의 범위나 완성도를 측정하는 것이 아니에요. 이 구조 덕분에 CC는 다양한 제품군에 적용될 수 있어요.
EAL 등급 체계 한눈에 보기
Common Criteria는 EAL1부터 EAL7까지 7단계의 평가 보증 등급(Evaluation Assurance Level)을 정의해요. 각 단계는 제품 설계가 얼마나 꼼꼼하게 문서화, 분석, 테스트되는지, 그리고 가정하는 공격자의 수준이 얼마나 높은지에 따라 요구 수준이 높아져요.
더 높은 EAL 등급이 항상 더 안전한 제품을 의미하지 않아요. 더 엄격하게 평가받았다는 뜻이에요.
보안 기능이 제한적이지만 올바르게 구현되어 EAL6 평가를 받은 제품이, 더 폭넓은 보안 기능을 갖추고 EAL4 평가를 받은 제품보다 실제 환경에서 더 안전하다고 할 수 없어요. 모든 것은 각 Security Target이 무엇을 다루는지에 달려 있어요.
| 등급 | 공식 명칭 | 의미 | 주요 사용처 | 가정 공격자 |
|---|---|---|---|---|
| EAL1 | 기능적 테스트 | 제품이 주장하는 기능이 실제로 동작하는지 기본 테스트 | 비중요 제품 | 구조화되지 않은 공격자 |
| EAL2 | 구조적 테스트 | 개발자 테스트 + 제한적 독립 리뷰 | 저위험 상용 제품 | 기회주의적 공격자 |
| EAL3 | 체계적 테스트 | 보안 개발 생명주기 증거를 갖춘 체계적 테스트 | 보안이 필요한 상용 제품 | 중간 수준 숙련 |
| EAL4 | 체계적 설계, 테스트, 리뷰 | 전체 설계 문서 + 독립 침투 테스트 | 기업용 소프트웨어, OS | 표준 도구 사용 숙련자 |
| EAL5 | 준형식적 설계 검증 및 테스트 | 준형식적 설계 검증 + 엄격한 독립 공격 테스트 | 스마트카드, 암호화 하드웨어 | 높은 공격 역량 |
| EAL6 | 준형식적 설계 검증 및 테스트(확장) | EAL5 수준 + 확장된 취약점 분석 + 부분적 형식 검증 | 보안 칩, 여권, HSM | 매우 높은 공격 역량 |
| EAL7 | 형식적 설계 검증 및 테스트 | 보안 속성에 대한 수학적 증명 | 군사/기밀 시스템 | 국가 수준 공격자 |
하드웨어 지갑과 보안 칩(secure element)의 경우 EAL5+와 EAL6+가 주요 기준이에요. EAL4는 운영체제, 방화벽 등 기업용 소프트웨어에 표준으로 적용돼요. EAL7은 실제로는 군사·기밀 시스템에만 쓰여요.
"+" 표시는 확장(augmentation)을 의미해요. 즉, 기본 등급 외에 추가 요구사항이 평가에 포함됐다는 뜻이에요. 보안 칩에서는 주로 AVA_VAN.5와 같은 확장 평가가 핵심이에요. 이는 최고 수준의 취약점 분석으로, 평가자가 매우 높은 공격 역량을 가진 가상의 공격자처럼 첨단 기술로 칩을 공격해보는 과정을 포함해요.
EAL5+와 EAL6+에서 요구하는 것
EAL5와 EAL6의 차이는 설계 검증의 깊이와 가정하는 공격자의 수준에 있어요. 두 등급 모두 독립 평가자가 칩을 실제로 공격해보는 침투 테스트를 요구해요.
EAL5+: 준형식적 설계 검증 및 테스트
EAL5+에서는 제조사가 준형식적 설계 문서를 제출해야 해요. 이는 칩의 보안 구조를 수학적으로 구조화해 하위 등급보다 더 깊이 설명하는 문서예요.
독립 평가자는 이 설계를 분석해 약점을 찾고, 높은 공격 역량을 가진 공격자처럼 침투 테스트를 실시해요. 즉, 기술적 지식, 자원, 동기, 시간까지 갖춘 공격자가 칩을 분석한다고 가정해요.
Ledger Nano X에 사용된 STMicroelectronics의 ST33J2M0 칩은 EAL5+ 인증을 받았어요. 이 칩은 은행, 결제 단말기, 대부분의 접촉식 스마트카드에 표준으로 쓰여요.
EAL6+: 준형식적 설계 검증 및 테스트(확장)
EAL6+는 EAL5+보다 더 포괄적이고 깊이 있는 설계 검증을 요구해요. 칩 내부의 더 넓은 모듈과 상호작용까지 평가 범위가 확장돼요.
취약점 분석도 더 다양한 공격 시나리오를 포함해요. 여기서 가정하는 공격자는 '매우 높은 공격 역량'을 가진 자로, 최신 기술, 더 긴 분석 시간, 고급 장비(예: 결함 주입, 칩 침입 분석 등)까지 동원할 수 있어요.
EAL6+는 정부 여권, 은행용 HSM, 보안 민감 소비자 하드웨어 등 한 대상을 노리고 막대한 자원이 투입될 수 있는 환경에서 요구되는 표준이에요.
EAL6+ 인증을 받은 칩은 전문 장비를 갖춘 보안 연구원들이 실제로 공격을 시도했지만, 평가 범위 내에서 뚫리지 않았다는 의미예요.
Ledger Nano S Plus, Stax, Flex에 사용되는 ST33K1M5, 삼성전자(S3D350 계열 Tangem Wallet에 적용), NXP SE050/SE051, NXP P60/SmartMX2 시리즈, Infineon SLE78/OPTIGA 계열 모두 EAL6+ 인증을 받았어요. 이 칩들은 하드웨어 지갑 중에서도 상위 보안 등급에 속해요.
하드웨어 지갑에 사용되는 보안 칩
| 제조사 | 칩 계열 | EAL 등급 | 사용처 | 비고 |
|---|---|---|---|---|
| STMicroelectronics | ST33J2M0 | EAL5+ | Ledger Nano X | ARM SC300 코어, EMVCo 인증 |
| STMicroelectronics | ST33K1M5 | EAL6+ | Ledger Nano S Plus, Ledger Stax, Ledger Flex | ARM SC300 코어, EUCC/CC:2022 적용 |
| NXP Semiconductors | SE050 / SE051 계열 | EAL6+ | IoT 보안, 하드웨어 지갑(CoolWallet) | Java Card OS, PUF 지원 |
| NXP Semiconductors | P60 / SmartMX2 | EAL6+ | 은행, 여권, IoT | PUF, SecureFetch™, GlueLogic™ 탑재 |
| Infineon Technologies | SLE78 / OPTIGA 계열 | EAL6+ | 하드웨어 지갑(HASHWallet), TPM 모듈 | |
| Samsung Semiconductors | S3D232A | EAL6+ | 하드웨어 지갑, MRTD(기계 판독 여행 문서) | Tangem Wallet에 적용 |
EAL 인증의 세 가지 주요 한계
EAL 인증은 칩이 고도화된 공격에 대해 독립적으로 엄격히 테스트됐음을 보여주는 최상위 신뢰 지표예요. 하지만 구조적으로 세 가지 한계가 있어요.
한계 1: 평가 범위의 한계
모든 EAL 평가는 평가 대상(TOE), 즉 보통 칩 자체로 한정돼요. 이 범위 밖은 명시적으로 평가에서 제외되기 때문에 실질적인 한계가 생겨요.
칩 내부에서도 특정 보안 기능만 평가받아요. 예를 들어, RSA 키 연산에 대한 전력 분석 공격 저항성만 평가된 칩이라면, 그 기능에만 인증이 적용돼요.
나중에 추가된 ECDSA 서명 등 다른 암호화 연산이 Security Target에 명시되지 않았다면, 그 부분은 같은 수준의 평가 신뢰를 보장하지 않아요.
한계 2: 순간의 인증이라는 점
EAL 인증서는 특정 시점, 특정 버전, 특정 구성에 대해 발급돼요. 새로운 공격 기법이 발견되거나 취약점이 드러나도 인증이 자동으로 만료되지 않아요.
이 때문에 인증서 발급 시점과 실제 기기의 최신 보안 상태 사이에 간극이 생길 수 있어요. University of Cambridge Computer Laboratory의 Skorobogatov와 Anderson은 2002년에 40달러 미만의 장비로 보안 마이크로컨트롤러와 스마트카드에 광 결함 주입 공격이 가능함을 입증했어요. 이 연구는 스마트카드 업계에 큰 충격을 주었고, 이미 인증받은 칩의 보안 대책을 재검토하게 만들었어요.
한계 3: 위협 모델의 간극
EAL6+에서 가정하는 공격자는 매우 높은 공격 역량을 가진 자예요. 즉, 고도의 기술력, 전문 장비, 충분한 시간과 동기까지 모두 갖춘 공격자를 상정해요.
이 위협 모델은 상업용 보안 기준으로 매우 엄격하지만, 실제 기기가 마주칠 수 있는 모든 공격자를 포괄하지는 않아요. 또한 기밀 기술은 평가 범위에서 제외돼요.
평가 기관은 공개된 공격 기법만 사용해요. 정보기관 등은 평가에서 적용되지 않은 기밀 공격 기술을 보유하고 있을 수 있어요.
EAL6+란, 공인된 독립 평가자가 공개된 최고 수준의 공격 기법을 동원해 Security Target에 정의된 보안 기능을 공격했으나 뚫지 못했다는 의미예요. '이 칩은 절대 뚫리지 않는다'와는 다르다는 점을 기억해야 해요.
| EAL5+/6+ 인증이 보장하는 것 | EAL5+/6+ 인증이 보장하지 않는 것 |
|---|---|
| 칩이 공인된 독립 평가 기관에서 평가받았음 | 칩이 절대 뚫리지 않는다는 보장 |
| 평가자가 물리적·사이드채널 공격을 시도했으나, 범위 내에서 키 추출에 실패함 | 모든 가능한 공격 시나리오가 평가됐다는 보장 |
| 칩 설계가 해당 등급에 맞게 공식적으로 검토됨 | 펌웨어, 동반 앱, 공급망이 같은 수준의 보안을 갖췄다는 보장 |
| Security Target 문서에 무엇을, 어떤 조건에서 테스트했는지 명확히 정의됨 | 평가된 구성 이외의 환경에서도 인증이 유효하다는 보장 |
| 칩이 높은 공격 역량의 공격자에 대한 저항성을 갖췄음 | 더 높은 EAL 등급이 항상 더 나은 실제 보안을 의미한다는 보장. Security Target에 따라 평가 범위가 다름 |
결론
EAL 등급은 여러 신호 중 하나로, 각 신호마다 한계가 있다는 점을 기억해야 해요.
지갑을 비교할 때는 다음을 확인하세요:
- CC 포털에서 칩 버전을 정확히 확인하세요.
- 기기 전체(칩뿐 아니라)가 독립적으로 감사를 받았는지 검증하세요.
- 펌웨어 아키텍처가 실제로 무엇인지 파악하세요. 불변(immutable) 펌웨어는 칩의 EAL 인증만으로는 막을 수 없는 업데이트 파이프라인 공격을 차단해요.
참고 자료
- Common Criteria Portal — ISO/IEC 15408
- Common Criteria Part 5: EAL Definitions (PDF)
- Common Criteria Recognition Arrangement (CCRA)
- Skorobogatov, S.P. & Anderson, R.J. (2002). Optical Fault Induction Attacks. CHES 2002, LNCS 2523, Springer. University of Cambridge Computer Laboratory.
- Skorobogatov, S.P. (2005). Semi-Invasive Attacks: A New Approach to Hardware Security Analysis. Technical Report UCAM-CL-TR-630. University of Cambridge Computer Laboratory.
- Fault Attacks on Secure Embedded Software: Threats, Design and Evaluation (arXiv)
- Eurosmart: Common Criteria EAL6+ Certification and the Scope Problem
- What Is the Secure Element and Why Does a Cold Wallet Need One?
- Why the Secure Element Is Not a Single Point of Trust