애플페이, 삼성페이는 어떻게 결제될까? NFC와 토큰화
지갑을 두고 나와도 큰일이 나지 않는 시대입니다. 편의점 계산대에서 폰을 단말기에 대면 1초쯤 뒤에 결제 완료음이 울립니다. 그런데 생각해 보면 이상한 일입니다. 카드를 긁지도, 카드번호를 입력하지도 않았는데 어떻게 내 카드로 결제가 될까요? 이번 글에서는 그 1초 사이에 벌어지는 일을 NFC와 토큰화라는 두 단어로 코드 없이 정리하겠습니다.
미리 범위를 좁혀 두겠습니다. 이 글은 폰이 단말기에 닿는 순간의 이야기입니다. 신호가 단말기를 떠난 뒤 카드사의 승인을 받고 며칠 뒤 가게에 돈이 입금되는 여정은 일반 카드 결제와 같으므로, 그쪽이 궁금하다면 온라인 결제는 어떻게 처리될까를 함께 읽어 보시길 권합니다.
NFC는 일부러 멀리 못 가게 만든 무선입니다 #
폰과 단말기가 대화하는 수단은 NFC(Near Field Communication, 근거리 무선 통신)입니다. 이름 그대로 수 센티미터, 사실상 맞닿을 정도로 가까워야만 통신이 됩니다. 버스 단말기에 교통카드를 찍을 때 쓰는 바로 그 기술입니다.
와이파이나 블루투스가 더 멀리, 더 빠르게 보내려고 경쟁하는 것과 반대로, NFC는 일부러 짧게 설계되었습니다. 이 짧음이 곧 보안 장치입니다. 옆 사람이 전파를 가로채려면 단말기와 폰 사이 몇 센티미터 틈에 기계를 끼워 넣어야 하니, 멀리서 몰래 결제 신호를 훔치기가 구조적으로 어렵습니다. 결제를 시작하는 동작이 “폰을 갖다 댄다"라는 물리적 행동인 것 자체가 의도된 설계입니다.
NFC에는 또 하나 재미있는 성질이 있습니다. 단말기가 내보내는 전파 자체가 작은 전력원이 되어, 받는 쪽은 배터리가 없어도 응답할 수 있습니다. 플라스틱 교통카드에 배터리가 없는데도 개찰구에서 찍히는 이유가 이것입니다. 이 성질은 글 뒷부분 교통카드 이야기에서 다시 살펴보겠습니다.
폰 안에는 진짜 카드번호가 없습니다 #
여기서부터가 이 글의 핵심입니다. 애플페이나 삼성페이에 카드를 등록하면 폰이 카드번호를 저장해 둘 것 같지만, 실제로는 그렇지 않습니다. 등록하는 순간 카드사가 그 기기에서만 쓰는 별도의 번호를 새로 발급해 주고, 폰의 보안 전용 칩에는 이 대체 번호만 저장됩니다. 진짜 카드번호를 대체 번호로 바꿔 쓰는 이 방식을 토큰화라고 부릅니다.
결제할 때 단말기로 건너가는 것도 이 토큰뿐입니다. 가게의 단말기도, 가게의 컴퓨터도 내 진짜 카드번호를 본 적이 없습니다. 토큰을 진짜 번호로 되돌릴 수 있는 곳은 카드사 쪽뿐입니다.
이 구조의 진가는 사고가 났을 때 드러납니다. 가게의 시스템이 통째로 해킹당해도 새어 나가는 것은 그 기기 밖에서는 쓸모가 없는 토큰이고, 내 카드번호는 애초에 그곳에 없었으니 샐 수가 없습니다. 플라스틱 카드를 긁을 때마다 진짜 번호가 가게 시스템을 지나가는 것과 비교하면, 오히려 폰 결제 쪽이 더 안전한 구조입니다.
폰을 대는 1초 동안 벌어지는 일 #
이제 결제 순간을 순서대로 따라가 보겠습니다.
- 본인 확인 - 폰이 지문이나 얼굴로 주인을 확인합니다. 이 잠금이 풀리기 전에는 결제 기능 자체가 동작하지 않습니다. 폰이 지문과 얼굴을 어떻게 알아보는지는 생체인증 글에서 따로 정리합니다.
- 신호 전송 - 폰이 토큰과 함께 이번 결제 한 번에만 유효한 일회성 암호를 만들어 단말기에 보냅니다.
- 검증 - 카드사가 토큰을 진짜 카드번호로 되돌리고, 일회성 암호가 올바른지 확인한 뒤 승인을 내립니다.
2번의 일회성 암호가 마지막 안전장치입니다. 누군가 전파를 통째로 녹음하는 데 성공하더라도, 그 안의 암호는 이미 한 번 쓰여 만료된 뒤라 다시 결제에 쓸 수 없습니다. 결국 도둑 입장에서는 훔칠 카드번호도 없고, 가로챈 신호는 재사용이 안 되고, 폰 주인의 지문 없이는 시작조차 못 하는 삼중 잠금인 셈입니다.
삼성페이가 마그네틱 단말기에서도 됐던 이유 #
초창기 삼성페이가 한국에서 빠르게 퍼진 데에는 MST라는 비장의 기술이 있었습니다. 폰 안의 코일로 자기장을 일으켜, 마치 마그네틱 카드를 긁은 것 같은 신호를 단말기에 흘려보내는 방식입니다. 덕분에 NFC 단말기가 없는 동네 가게의 오래된 카드 단말기에서도 폰 결제가 됐습니다. 다만 마그네틱 흉내라는 태생상 NFC보다 보안 여지가 좁고, 이제는 NFC 단말기가 충분히 보급되어 최신 기종에서는 MST가 빠지는 추세입니다.
같은 폰인데 안 되는 가게가 있는 이유 #
애플페이가 한국에 들어온 뒤에도 “여기는 애플페이가 안 돼요"라는 가게가 남아 있습니다. 이유는 단순합니다. 애플페이는 NFC로만 동작하는데, 가게의 카드 단말기에 NFC 기능이 없으면 폰이 아무리 신호를 보내도 받아 줄 상대가 없기 때문입니다. 결제 기술의 문제가 아니라 단말기 보급의 문제이고, NFC 단말기를 갖춘 가게가 늘어나는 만큼 되는 곳도 함께 늘고 있습니다.
폰을 잃어버리면 카드도 정지해야 할까 #
폰을 잃어버렸을 때 토큰화의 장점이 한 번 더 드러납니다. 폰에 있는 것은 그 기기 전용 토큰뿐이므로, 분실 신고를 하면 그 토큰만 골라서 정지할 수 있습니다. 지갑 속 실물 카드는 그대로 쓸 수 있고, 카드 재발급을 받을 필요도 없습니다. 애플의 “나의 찾기"나 삼성의 분실 폰 찾기에서 원격으로 결제 기능을 잠그는 것이 바로 이 토큰 정지입니다. 물론 습득자가 결제를 하려 해도 지문이나 얼굴 잠금이 먼저 가로막으니, 정지 처리 전이라도 함부로 쓰이기는 어렵습니다.
배터리가 거의 없어도 교통카드는 찍힙니다 #
마지막으로 교통카드 이야기를 짧게 보태겠습니다. 폰을 교통카드로 쓸 때는 개찰구 앞에서 지문을 댈 틈이 없으므로, 교통카드 기능에 한해 본인 확인을 생략하는 모드가 따로 있습니다. 폰이 일반 교통카드인 척 동작하는 카드 에뮬레이션 방식이라 처리 속도도 실물 카드만큼 빠릅니다. 일부 기종은 배터리가 다 닳아 화면이 꺼진 뒤에도 남겨 둔 예비 전력으로 몇 시간 동안 교통카드 기능만 살려 둡니다. 퇴근길에 폰이 꺼져도 개찰구는 통과할 수 있도록 만든 배려입니다.
마무리 #
정리하면 이렇습니다. 폰 결제는 수 센티미터짜리 무선인 NFC 위에서 이루어지고, 폰과 가게 사이를 오가는 것은 진짜 카드번호가 아니라 기기 전용 토큰과 일회성 암호입니다. 그래서 가게가 해킹돼도 카드번호는 새지 않고, 폰을 잃어버려도 토큰만 정지하면 됩니다. 다음에 계산대에서 폰을 댈 때, 그 1초 사이에 지문 확인과 토큰 전송과 일회성 암호 검증이 줄지어 지나간다는 것을 떠올려 보시기 바랍니다.