안전한 NFC

Android에서는 오프 호스트 카드 에뮬레이션, 즉 보안 요소가 있는 NFC 카드 에뮬레이션을 지원합니다. 자세한 내용은 호스트 기반 카드 에뮬레이션 개요를 참조하세요.

대중교통용 FeliCa 사용과 같은 특정 사용 사례에서는 기기 화면이 잠겨 있거나 꺼져 있을 때 또는 기기가 꺼져 있을 때 오프 호스트 카드 에뮬레이션이 허용됩니다.

보안 NFC는 Android 10에서 도입된 기능으로 기기 화면이 잠금 해제된 경우에만 오프 호스트 NFC 카드 에뮬레이션을 사용 설정하도록 허용합니다. 이 기능을 구현하면 보안 NFC를 사용 설정하는 옵션을 사용자에게 제공하여 보안을 강화할 수 있습니다.

구현

보안 NFC 기능을 구현하려면 기기에는 NCI 2.0 표준을 지원하는 NFC 컨트롤러가 있어야 하며 Android 오픈소스 프로젝트(AOSP) NFC 프레임워크를 사용해야 합니다. config_skuSupportsSecureNfc 속성을 사용하여 NFC 리소스 XML 파일의 보안 NFC 기능을 지원하는 하드웨어(ro.boot.hardware.sku)를 추가합니다.

프레임워크 API

보안 NFC를 구현하려면 Android 오픈소스 프로젝트에 있는 다음 프레임워크 API를 구현하세요.

설정 UI

설정 애플리케이션에서 사용자가 보안 NFC 기능을 사용 설정 또는 사용 중지할 수 있도록 전환 스위치를 추가합니다. 설정 애플리케이션의 기본 설정을 사용 설정 또는 사용 중지로 맞춤설정할 수 있습니다.

그림 1은 설정 앱의 설정 > 연결된 기기 > 연결 환경설정 > NFC > NFC 사용 시 기기 잠금 해제 필요에서 보안 NFC를 사용 설정 또는 사용 중지하는 전환 스위치의 예를 보여줍니다.

보안 NFC UI 흐름

그림 1. 보안 NFC를 사용 설정 또는 사용 중지하는 전환 스위치의 예

보안 NFC가 사용 설정되어 있고 사용자가 기기를 NFC 리더에 놓으면 Android는 그림 2와 같이 잠금 화면에 잠금 해제하여 NFC 사용 알림을 표시합니다.

보안 NFC 알림

그림 2. 잠금 해제하여 잠금 화면에서 NFC 알림 사용

유효성 검사

구현을 확인하려면 보안 NFC 기능을 사용 설정하고 기기의 화면이 꺼져 있거나 잠겨 있을 때 및 기기가 꺼져 있을 때 NFC 카드 에뮬레이션이 사용 중지되어 있는지 확인합니다.