호스트 카드 에뮬레이션(HCE, Host Card Emulation)은 이동통신 기기의 중앙 프로세서(호스트)에서 NFC(Near Field Communication) 카드를 소프트웨어적으로 에뮬레이션하는 기술이다. HCE를 사용하면 별도의 보안 칩(예: SE, Secure Element)을 장착하지 않아도 스마트폰이나 태블릿이 실물 카드와 동일한 방식으로 NFC 리더기와 통신할 수 있다.
정의 및 원리
- 호스트 기반: 전용 하드웨어 보안 요소가 아닌, 운영체제와 애플리케이션 수준에서 카드 기능을 구현한다.
- ISO/IEC 14443 등 기존 접촉식 스마트 카드 프로토콜을 소프트웨어적으로 재현한다.
- 모바일 기기가 NFC 리더기와 교신할 때, 리더기가 전송하는 명령(APDU)을 호스트에서 처리하고, 응답을 반환한다.
주요 이력
| 연도 | 사건 |
|---|---|
| 2013 | 구글이 Android 4.4 (KitKat)에서 HCE 기능을 공개, 공식 API 제공 |
| 2014‑ 이후 | 모바일 결제, 교통 카드, 액세스 제어 등 다양한 서비스에 적용 확대 |
사용 사례
- 모바일 결제: 구글 페이, 삼성 페이 등에서 신용·직불 카드 정보를 HCE를 통해 전송.
- 교통 카드: 도시철도·버스 등에서 교통 요금 결제용 가상 카드 제공.
- 액세스 제어: 사무실 출입통제, 호텔 객실키 등에서 HCE 기반 인증 활용.
기술적 구성
- AID(애플리케이션 식별자): 리더기가 요구하는 서비스에 따라 지정된 식별자를 통해 해당 애플리케이션을 선택.
- APDU(응용 프로토콜 데이터 단위): 카드와 리더기 사이에 교환되는 명령 및 응답 구조.
- Android HCE API:
HostApduService클래스를 상속하여 구현하며,onCreate,processCommandApdu,onDeactivated등 메서드로 동작을 제어.
보안 및 제한 사항
- 키 관리: 암호화 키와 인증 데이터는 애플리케이션 레벨에서 안전하게 저장·관리해야 함.
- 취약점: 호스트 환경이 직접 접근 가능하므로, 물리적·소프트웨어적 공격에 대비한 추가 보안 조치가 필요.
- 표준 호환성: ISO/IEC 14443‑4, EMVCo 등 국제 표준을 따르는 서비스와 호환성을 유지해야 한다.
어원
- Host: 컴퓨팅에서 하드웨어·소프트웨어가 동작하는 중심 시스템을 의미.
- Card: 물리적 스마트 카드(접촉식·비접촉식)와 동등한 기능을 제공하는 논리적 개념.
- Emulation: 실제 하드웨어가 수행하는 동작을 소프트웨어로 모방한다는 의미.
활용 가능 맥락
- 모바일 앱 개발 시 NFC 기반 서비스 구현이 필요할 때 HCE API를 활용한다.
- 기존 물리 카드 인프라를 디지털 전환하고자 하는 기업·기관에서 비용 절감 및 운영 효율성을 위해 채택한다.
주의: 본 설명은 공개된 기술 문서와 공개된 사례에 기반하고 있으며, 특정 제품·서비스에 대한 상세 구현 내용은 각 제조사·서비스 제공자의 공식 문서를 참고해야 한다.