카드 번호는 그 거래에서 대개 가장 덜 노출되는 물건입니다. 요즘의 결제 흐름은 가맹점이 번호를 아예 보지 못하도록 일부러 그렇게 만들어져 있고, 그 방식을 따르는 플랫폼이라면 사이트가 통째로 털려도 쓸 만한 카드 데이터베이스는 나오지 않습니다.

가맹점이 실제로 쥐고 있는 건 나머지 전부입니다. 가입할 때 쓴 이메일 주소, 카드에 딸린 이름과 우편번호, 접속한 IP 주소, 그리고 무엇을 보고 무엇을 샀는지가 항목별로 남은 기록. 이 글을 읽는 대다수에게 진짜 위험은 그 두 번째 묶음이고, 정작 가장 덜 이야기되는 것도 그쪽입니다.

내 카드 번호를 실제로 만지는 건 누구인가?

세 곳에서 다섯 곳 사이이고, 그중 지금 보고 있는 그 사이트는 하나뿐입니다.

주체 역할 번호 전체를 보나?
가맹점(그 사이트) 구독을 팔고 가격을 정함 흐름이 제대로 짜여 있다면 못 봄
결제 대행사 카드 입력 양식을 띄우고 번호를 토큰화 봄 — 그게 이들의 역할
매입 은행 가맹점 계좌를 보유하고 거래를 라우팅 전달 과정에서 다룸
카드 네트워크 매입사와 발급사 사이의 승인을 중계 전달 과정에서 다룸
발급 은행 내 은행, 승인하거나 거절함 봄 — 자기네 카드니까

이 구조 전체의 설계 목표는 가맹점을 저 목록에서 빼두는 것입니다. 대행사가 띄운 입력 양식은 가맹점에 토큰을 돌려줍니다. 다시 청구할 수는 있지만 다른 누구에게도 쓸모없는 참조값이죠. 그 가맹점과 그 대행사의 조합에서만 작동하니까요.

이렇게 굴러가고 있다는 걸 밖에서 볼 수 있는 신호가 둘 있습니다. 카드 입력란이 페이지와 다른 도메인에서 내려온 iframe 안에 들어 있거나, "구독하기"를 누르면 결제 전용 도메인으로 통째로 넘어가는 것입니다. 둘 다 좋은 관행의 증명은 아니지만, 그것이 없다는 것 — 카드 입력 양식이 사이트 자체 도메인으로 곧장 전송되는 것 — 은 의미 있는 부정적 신호입니다.

밖에서 확인할 수 있는 건 어디까지인가?

바라는 것보다 적습니다. 체크리스트 하나로 정리된다는 인상을 주기보다 이 점을 솔직히 말해두는 편이 낫겠습니다.

플랫폼의 저장 방식, 보관 기간, 내부 접근 통제를 밖에서 감사할 수는 없습니다. 관찰할 수 있는 것은 이렇습니다.

  • 카드 입력 양식이 어디서 내려오는가. 페이지 소스를 보거나 개발자 도구를 열어, 입력란이 제3자 프레임에 속해 있는지 확인합니다.
  • 추가 인증 단계가 뜨는가. 은행 자체 인증 화면으로 넘어간다면 그 거래는 3-D Secure를 탄 것이고, 사기 책임이 이동한다는 뜻이며, 가맹점이 주류 결제 경로 위에 있다는 표시이기도 합니다.
  • 실재하는 법인이 명시돼 있는가. 이용약관과 결제 안내 페이지에 회사명, 관할, 주소가 적혀 있으면 약한 긍정 신호입니다. 결제 페이지에 아무도 적혀 있지 않다면 강한 부정 신호입니다.
  • 개인정보 처리방침에 보관 기간이 적혀 있는가. 두루뭉술한 방침은 흔합니다. 아무것도 명시하지 않는 방침은 데이터를 어떻게 다루는지에 대한 신호입니다.
  • 해지가 셀프서비스인가. 해지하려면 메일을 보내라는 플랫폼은 대체로 결제 위생 전반이 나쁜 곳과 겹칩니다.

실제 위험은 어떤 갈래인가?

갈래를 나누는 게 중요합니다. 방어 수단이 서로 다르고, 최악의 위험은 눈에 띄는 그것이 아니니까요.

위험 어떤 모습인가 무엇이 줄여주나
카드 번호 도난 카드에 찍히는 부정 결제 대행사가 띄우는 입력 양식, 구독 전용 카드 번호
가맹점 데이터 유출 이메일, 이름, 구매 이력이 노출 전용 이메일 별칭, 최소한의 프로필 정보
명세서 표기 노출 공유하는 명세서에 뜻밖의 줄이 뜸 가입 전에 표기명을 알아두기, 계정 분리
원치 않는 정기 결제 해지한 줄 알았는데 계속 나가는 청구 한도 설정, 해지 확인 증빙 보관
중개 사업자의 재청구 모르는 이름으로 들어오는 청구 약관에 청구 주체로 적힌 법인을 확인
가입 후 피싱 플랫폼 결제 안내를 흉내 낸 메일 메일 링크에서 카드 정보를 다시 입력하지 않기

사람들이 놓치는 상관관계가 하나 있습니다. 결제 위생이 가장 나쁜 사이트가 대개 데이터 위생도 가장 나쁩니다. 둘 다 같은 것을 반영하기 때문입니다. 그 운영자가 주류 결제 대행사에 받아들여졌는지, 아니면 그 바깥에서 우회로를 만들어야 했는지 말입니다.

정기 결제가 가장 자주 어긋나는 이유는?

구독과 카드는 서로 다른 객체라서, 하나를 끊는다고 다른 하나가 끊기지 않기 때문입니다.

저장된 토큰은 가맹점이 청구를 멈출 때까지 계속 청구될 수 있습니다. 계정 페이지를 닫는 방식으로 해지했는데 구독 레코드가 살아 있다면 청구는 이어집니다. 반대로 카드를 죽이고 구독을 살려두면 결제는 실패하지만 계약상 의무는 남을 수 있고, 일부 가맹점은 미납 잔액을 추심으로 넘깁니다.

믿을 만한 순서는 이렇습니다. 계정 안에서 해지하고, 확인 화면이나 확인 메일을 보관하고, 그 뒤에야 카드 번호 정리를 고민합니다. 됐겠거니 하지 말고 다음 청구일에 확인하세요.

유출 사고가 발표되면 무엇을 해야 하나?

카드 노출과 데이터 노출은 대응이 다르고, 대개 손이 필요한 쪽은 두 번째입니다.

카드 쪽: 발급사에 연락해 번호 재발급을 요청합니다. 문제가 된 결제는 대체로 이의 제기가 가능하지만, 기한과 세부 규정은 발급사, 카드 네트워크, 거주 국가에 따라 다릅니다. 짐작하지 말고 물어보세요.

데이터 쪽: 계정 비밀번호와 그것을 돌려 쓴 곳의 비밀번호를 전부 바꾸고, 플랫폼 이름을 대놓고 언급하는 표적 피싱이 올 것을 예상하고, 뒤이어 오는 "보안 공지" 메일은 평소보다 더 의심하세요. 유출 발표 뒤에는 그것을 흉내 낸 메일이 따라오니까요. 사용한 이메일 주소가 다른 곳에서 실명과 엮여 있다면 그 연결은 이제 내 통제 밖의 데이터셋에 존재하고, 어떤 조치로도 되돌릴 수 없습니다. 필요해지기 전에 전용 별칭을 만들어두라는 주장의 근거가 그것입니다.

관련 질문