온라인 거래, 인증이라는 안전벨트
카드 결제를 크게 나누면 두 가지가 있습니다. 직접 카드를 단말기에 꽂거나 찍는 CP(Card Present) 거래, 그리고 카드번호만 입력해도 되는 CNP(Card Not Present) 거래입니다. 오프라인 매장에서 카드를 쓰면 단말기가 카드의 진위를 확인해주고, 비밀번호나 사인을 통해 내가 직접 사용했다는 인증까지 거칩니다. 하지만 온라인 거래 같은 CNP 거래는 얘기가 달라집니다. 실제로 카드를 갖고 있는지를 확인하기가 어렵기 때문이죠. 카드번호, 유효기간, CVC2 같은 숫자만 알면 결제가 가능하니, 이 정보가 한 번 유출되면 누가 쓰든 막기 힘든 구조입니다.
최근 있었던 롯데카드 정보 유출 사건이 바로 이런 문제를 보여줬습니다. 카드 정보가 털린 것도 문제였지만, 더 큰 문제는 여전히 비인증 온라인 거래가 가능했다는 점입니다. 특히 중국 전자상거래(C커머스)처럼 카드번호만 있어도 결제가 되도록 열어둔 환경에서는, 카드 주인의 의사와 상관없이 거래가 발생할 수 있습니다. 편리함을 강조하다 보니 결국 보안에 구멍이 생긴 거죠.
이런 위험을 막기 위해 나온 게 3-D Secure(3DS) 입니다. 온라인 결제가 일어나면 발급사 쪽의 ACS(Access Control Server)가 개입해 카드 소지자가 맞는지 한 번 더 확인합니다. OTP 입력, 앱 푸시, 지문이나 얼굴 인식 같은 절차가 여기서 이뤄지죠. 인증이 성공하면 발급사는 AAV나 CAVV라는 암호값을 만들어 가맹점으로 돌려줍니다. 말하자면, “이 사람 맞다” 하고 발급사가 찍어주는 도장 같은 겁니다.
가맹점은 이 값을 승인 요청 전문(0100 메시지)에 담아 보냅니다. ISO 8583 메시지를 들여다보면, DE22에는 “이건 전자상거래 거래야”라는 표시가 들어 있고, DE48 SE42에는 인증 수준(비인증인지, 3DS까지 했는지)이 담겨 있습니다. 그리고 가장 중요한 DE48 SE43에는 발급사가 만들어 준 인증값(AAV/CAVV)이 들어갑니다. 이 값이 있으면 발급사도 안심할 수 있고, 반대로 비어 있으면 사고 위험이 커지게 되죠.
결국 롯데카드 사고가 우리에게 알려준 건 간단합니다. 카드 정보가 유출되는 것 자체는 막기 어렵지만, 비인증 온라인 거래 구조가 피해를 눈덩이처럼 키운다는 점입니다. 그래서 요즘은 점점 토큰 기반 거래로 전환되고 있고, 토큰 거래 안에서도 3DS처럼 월렛 기반 인증을 활용할 수 있습니다. 편리함만큼 인증도 중요하다는 얘기죠.
물론 온라인 거래에서 인증은 늘 번거로운 숙제였습니다. 예전 한국에서는 Active-X 기반 공인인증서를 이용해 복잡한 본인 인증을 거쳐야 했습니다. 안전하다는 장점은 있었지만, 은행이나 우체국에 직접 방문해 발급받아야 하고, 외국인은 발급이 어렵다는 단점도 있었죠. 그러다 “천송이 사건”을 계기로 공인인증서 문제가 주목받으면서 결국 사라졌고, 대신 문자 OTP가 도입되면서 훨씬 편리해졌습니다. 하지만 온라인 거래는 국경을 넘나드는 만큼 해외 결제에서는 OTP가 제대로 통하지 않는 경우도 많았습니다.
3DS는 이런 문제를 해결할 수 있는 기술이지만, 솔직히 말하면 불편함을 완전히 해소하지는 못했습니다. 국내에서 3DS를 경험해본 분들은 알 겁니다. 인증 과정이 매끄럽지 않고, UX 완성도가 낮아서 사용자가 편하게 느끼기 어렵습니다. 아마 이런 이유로 UX에 민감한 나라들에서는 3DS가 썩 환영받지 못하는 것 같기도 합니다.
그럼에도 불구하고 희망적인 부분도 있습니다. 요즘 한국에도 애플페이, 삼성페이, 구글페이 같은 월렛들이 속속 들어오고 있죠. 모바일 기기와 월렛 인증을 활용하면 지금보다 훨씬 매끄럽고, 그러면서도 안전한 온라인 거래가 가능해집니다. 결국 중요한 건 편리함과 보안의 균형이고, 저는 월렛 기반 인증이 그 균형을 맞춰줄 좋은 해답이 될 수 있다고 생각합니다.