Apple Pay와 결제 승인
Secure Enclave가 있는 기기에서는 Secure Enclave에서 인증된 경우에만 결제를 허용합니다. iPhone 또는 iPad에서는 사용자가 Face ID, Touch ID 또는 기기 암호로 인증하였다는 사실을 확인하는 것도 포함합니다. 사용 가능한 경우 Face ID 또는 Touch ID가 기본 인증 방식으로 사용되지만 암호도 사용할 수 있습니다. 지문 인식 시도를 세 번 실패했거나 얼굴 인식 시도를 두 번 실패한 경우 암호 사용을 제안하며 다섯 번 실패한 경우에는 암호를 요구합니다. 또한, Face ID 또는 Touch ID를 구성하지 않았거나 Apple Pay에서 활성화하지 않은 경우에도 암호를 요구합니다. Apple Watch에서는 암호를 입력해 기기를 잠금 해제한 다음 측면 버튼을 이중 클릭하여 결제를 허용해야 합니다.
공유 페어링 키 사용
Secure Enclave와 Secure Element 간의 통신은 시리얼 인터페이스를 통해 이루어지는데, Secure Element는 NFC 컨트롤러에 연결되고 컨트롤러는 응용 프로그램 프로세서와 연결된 상태여야 합니다. 직접 연결되지는 않지만 Secure Enclave와 Secure Element는 제조 과정에서 권한이 설정된 공유 페어링 키를 사용해 안전하게 통신합니다. 통신의 암호화 및 인증은 AES를 기반으로 하며 재전송 공격을 방지하기 위해 양쪽에서 사용한 암호화 nonce도 사용됩니다. 페어링 키는 UID키의 Secure Enclave와 Secure Element의 고유 식별자 내에서 생성됩니다. 그런 다음 페어링 키는 제조 과정 중에 Secure Enclave에서 HSM(하드웨어 보안 모듈)으로 안전하게 전송됩니다. HSM은 페어링 키를 추후 Secure Element에 삽입하는 데 필요한 중요 자료를 보유합니다.
보안 거래 허용
사용자가 Secure Enclave에 직접 통신하는 물리적 제스처를 포함하여 거래를 승인하는 경우 Secure Enclave는 인증 유형에 대해 서명된 데이터와 거래 유형에 대한 세부 사항(비접촉식 또는 앱 내 결제)을 권한 무작위(AR: Authorization Random) 값과 연관된 Secure Element로 전송합니다. 사용자가 처음으로 신용 카드 권한을 설정할 때 Secure Enclave에서 AR 값을 생성하며, 그 값은 Apple Pay가 활성화되어 있는 동안 유지됩니다. 이는 Secure Enclave의 암호화 및 안티 롤백 메커니즘으로 보호됩니다. 또한, 페어링 키를 활용하여 Secure Element로 안전하게 전송됩니다. 새로운 AR 값을 받게 되는 경우 Secure Element는 이전에 추가한 카드를 삭제됨으로 표시합니다.
동적 보안용 결제 암호문 사용
결제 애플릿에서 생성된 결제 거래는 결제 암호문과 기기 계정 번호를 포함합니다. 일회용 코드인 이 암호문은 거래 카운터와 키를 사용해 계산됩니다. 거래 카운터는 새로운 거래마다 증가하는 값입니다. 키는 개인 맞춤화 중에 결제 애플릿에서 권한이 설정되어 결제 네트워크, 카드 발급처 또는 둘 다에서 알고 있는 값입니다. 결제 방법에 따라 다음을 포함하여 다른 데이터도 계산하는 데 사용될 수 있습니다.
NFC 거래용 터미널 예측 불가 번호
앱 내 거래용 Apple Pay 서버 nonce
이러한 보안 코드는 결제 네트워크 및 카드 발급처에 제공되어 거래를 확인하는 데 도움을 줍니다. 보안 코드의 길이는 거래 유형에 따라 다를 수 있습니다.