NFC 결제가 세계를 장악하고 있습니다. 매장에서 물건을 구매하는 방식 자체를 혁신하고 있는 것이죠. 유럽, 캐나다, 아시아 등지에서는 이미 이 기술이 폭발적으로 확산되고 있습니다.
영국은 2020년까지 모든 판매 시점(POS) 단말기를 비접촉식으로 전환하는 것을 목표로 하고 있으며, 호주인의 53% 이상이 일주일에 최소 한 번 NFC 앱을 사용하고 있습니다. 중국에서는 NFC 결제 시스템이 워낙 보편화되어 전문가들은 몇 년 안에 중국이 세계 최초의 무현금 사회가 될 것이라고 전망합니다.
미국은 다소 뒤처져 있지만 빠른 속도로 따라잡고 있습니다. 맥도날드와 월그린스 같은 대형 업체들이 이미 비접촉 결제를 도입했으며, 앞으로도 계속 더 많은 곳이 참여할 전망입니다.
NFC 결제를 수용하는 업체 수가 늘어나면서 결제 앱의 수도 함께 증가하고 있습니다. 서구권에서는 Apple Pay, Android Pay, Samsung Pay 세 가지가 선두를 달리고 있는데요. 지금부터 각 앱의 보안 특징을 하나씩 살펴보겠습니다.
Apple Pay
Apple Pay는 2014년 출시 이후 꾸준히 발전해 온 서비스로, iPhone 6, 7, 8, X의 모든 모델에서 사용할 수 있습니다. 매장에서의 결제는 물론, Mac을 보유하고 있다면 온라인 결제에도 활용할 수 있습니다.
Apple Pay의 핵심 보안 장치는 바로 토큰화(Tokenization)입니다. 실제 신용카드 번호를 기기에 저장하는 대신, 가상 계좌 번호를 생성해 사용합니다.
토큰화는 정교한 암호화 과정을 통해 작동합니다. 앱에 카드 정보를 입력하면 기기가 이를 암호화해 Apple 서버로 전송합니다. Apple은 받은 정보를 복호화한 뒤 카드의 결제 네트워크 정보를 추가하고, 해당 카드 네트워크만 해독할 수 있는 키로 다시 암호화합니다.
이후 카드 발급사가 카드 등록을 승인하고, 기기별 고유 번호인 DAN(Device Account Number)을 생성해 암호화한 상태로 Apple에 전달합니다. Apple은 이 번호를 복호화할 수 없습니다. 마지막으로 Apple은 DAN을 휴대폰의 Secure Element(SE)에 저장합니다. Secure Element는 업계 표준 보안 칩 기술입니다.
분실 대비책도 마련되어 있습니다. Find My iPhone 앱으로 기기를 원격 삭제하면 저장된 신용카드, 직불카드, 선불카드, 포인트 카드 정보가 모두 지워집니다. 또한 Apple ID 계정 페이지를 통해 카드 발급사에 통보하면 해당 Apple ID를 경유하는 결제가 자동으로 차단됩니다.
모든 것이 완벽해 보이지만, Apple Pay 역시 개인정보 측면에서는 우려되는 부분이 있습니다. 서비스 약관에 따르면 다음과 같은 정보가 제공됩니다.
"Apple은 iTunes 및 App Store 계정 활동 정보, 기기 정보, 기기 사용 정보, 그리고 신용·직불·선불 카드를 등록하는 시점의 위치 정보를 은행 또는 카드 발급사에 전송합니다."
다소 걱정되는 대목입니다.
Android Pay
Android Pay(현재 Google Pay로 통합)의 핵심 보안 기능은 Apple Pay와 상당 부분 유사합니다. 토큰화 과정도 크게 비슷하지만, 한 가지 근본적인 차이점이 존재합니다.
Android Pay는 Secure Element 대신 HCE(Host Card Emulation, 호스트 카드 에뮬레이션)라는 방식을 사용해 토큰을 생성합니다.
HCE는 Android 4.4부터 운영체제에 기본 탑재된 기술로, 결제 인증 정보를 기기 내부의 Secure Element에 저장하는 대신 원격 환경에 두고 클라우드를 통해 기기와 통신합니다.
물리적 SE 대비 HCE가 갖는 주요 장점은 다음과 같습니다.
- 물리적 SE는 저장 공간이 제한적이지만, HCE는 저장 용량을 자유롭게 확장할 수 있습니다.
- HCE는 더 많은 컴퓨팅 파워를 활용할 수 있어 더욱 강력한 보안 조치를 구현할 수 있습니다.
- HCE를 통한 원격 SE 배포는 이해관계자 수를 줄여 소비자의 비용 부담도 낮춥니다.
다만 한 가지 보안상 약점이 있습니다. HCE는 원격 Secure Element에 의존하기 때문에 오프라인 상태에서도 결제를 허용해야 합니다. 마치 임시 신용카드를 사용하는 것과 비슷한 상황입니다.
다행히 이 허용 기간은 짧아서, 곧 서버에 재접속해야 추가 결제가 가능합니다. 하지만 누군가 기기를 손에 넣고 PIN 번호까지 알아낸다면 Wi-Fi를 끈 상태로 사용자가 대응하기 전까지 소액 결제를 반복할 여지는 있습니다. 위험도는 낮지만 분명 존재하는 셈입니다.
Samsung Pay
'빅3'의 마지막 주자는 Samsung Pay입니다. 삼성전자가 Apple Pay에 대응해 내놓은 서비스로, Apple Pay와 마찬가지로 삼성 제품에서만 실행되는 전용 앱입니다.
보안 세부 사항을 살펴보기 전에, 경쟁 앱 두 곳이 제공하지 않는 독특한 기능 하나를 짚고 넘어갈 필요가 있습니다. Samsung Pay는 NFC 판매 시점 단말기는 물론, 널리 보급된 MST(Magnetic Secure Transmission)와 EMV(Europay MasterCard Visa) 리더기까지 지원합니다. 그만큼 더 포괄적인 결제 솔루션이라고 할 수 있습니다.
삼성은 의심스러운 활동을 차단하기 위해 Samsung Knox에 의존합니다. Knox는 ARM TrustZone 아키텍처를 기반으로 구축되었으며, TrustZone 보안은 TIMA KeyStore, 실시간 커널 보호, 증명(Attestation)의 세 가지 축으로 구성됩니다.
흥미롭게도 삼성은 Apple의 방식을 따릅니다. Secure Element가 기기 자체에 물리적으로 탑재되어 있으며, HCE 기술은 사용하지 않습니다. 갤럭시 S8의 경우 디지털 보안 분야의 강자인 Gemalto가 SE를 담당했습니다.
실제 결제 과정은 세 앱 모두 매우 유사합니다. PIN 또는 생체 인증으로 결제를 승인해야 하며, 고액 결제 시에는 서명까지 요구되는 경우가 많습니다. 토큰화 덕분에 가맹점이 사용자의 카드 정보를 직접 볼 일은 절대 없습니다.
휴대폰을 분실했다면 온라인 앱을 통해 Samsung Pay를 원격으로 차단하고 데이터를 초기화할 수 있습니다.
현금과 카드를 계속 쓰는 게 나을까?
완벽한 앱은 존재하지 않습니다. 해커들은 언제나 허점과 악용 방법을 찾아내려 하고 있습니다.
기술 뉴스를 주시하다 보면 NFC 앱의 결함을 폭로하는 기사를 종종 접하게 됩니다. 예를 들어 2016년 8월에는 한 보안 연구원이 Samsung Pay의 토큰 무작위성이 충분하지 않아 예측 가능할 수 있다고 주장한 바 있습니다.
같은 해 3월에는 범죄자가 도난당한 신용카드를 Apple Pay에 등록해 잠시 사용한 뒤 폰을 폐기할 수 있다는 지적도 있었습니다.
물론 이런 상황은 우려스럽습니다. 하지만 NFC 결제 앱은 현금이나 서명 방식의 전통적인 신용카드보다 명백히 더 안전합니다. 무엇보다 기술이 성숙할수록 앱의 보안 수준 역시 계속 향상될 것이라는 점이 가장 중요합니다.
NFC 결제 앱을 사용하시나요?
이번 글에서는 유럽과 북미에서 가장 큰 영향력을 지닌 세 가지 결제 앱이 제공하는 보안 기능을 간략히 살펴봤습니다.
NFC 결제 앱을 사용하고 계신가요? 이런 앱들을 신뢰하시나요? 보안이 충분하다고 생각하시나요? 그리고 언젠가 현금을 완전히 대체할 수 있을까요? 아래 댓글로 여러분의 의견을 자유롭게 남겨주세요. 그리고 이 글을 소셜 미디어에서 공유하는 것도 잊지 마세요.