오프라인 신용카드 보안, 지갑에서 서버까지
모든 정보보안 문제는 순전히 경제적 판단을 통해서만 제대로 풀어낼 수 있다. 즉, 정보가 가진 경제적 가치에 대한 판단 문제다. 보안을 통해 지키고자 하는 정보가 나에게 얼마나 중요한 정보인가? 얼마나 큰 값어치가 있나? 그리고 또 해커에게는 얼마나 매력적인 정보인가? 그리고 이를 모두 종합하면, 얼마나 비싼 정보인가? 정보를 지키는 일 그리고 훔치는 일에는 당연히 각각의 비용이 들기 때문에 보안정책 수립에 앞서 가장 먼저 판단해야 하는 게 정보의 경제적 가치다.
기업은 보유한 정보의 가치가 보안에 드는 비용보다 클 때, 보안 조치를 취한다. 안 하면 털린다. 그리고 해커는 공격 비용이 정보 가치보다 적을 때, 해킹을 시도한다. 훔쳐서 팔면 남는 게 있기 때문이다. 따라서 기업정보보안이란, 해커의 공격 비용이 기업의 정보 가치보다 더 커지도록 만드는 일이다. 보안을 뚫고 정보를 탈취하는 데 드는 비용이 훔치려는 정보의 가치보다 크다면? 해킹은 애초에 일어나지 않기 때문이다. 부지런히 훔쳐 봐야 해커 손해니까.
해커들은 훔치면 돈을 벌 것 같은 정보를 노린다. 그 중에서도 가장 위험한 것은? 그 자체로 돈인 정보, 즉 금융정보다.
흔히들 금융정보 보안이라 하면 인터넷뱅킹이나 모바일결제 같은 전자금융거래나 인터넷쇼핑몰에서 물건을 사고 파는 전자상거래 등 사용자 스스로 어떤 웹서비스에 접속해 자신의 금융정보를 직접 취급하는 행위와 관련된 보안을 먼저 떠올린다. 하지만 그보다 훨씬 더 빈번하게 그리고 도처에서 마구 발생하는 금융정보 거래가 있다. 바로, 오프라인 신용카드 결제다.
CAT 그리고 POS
오프라인 결제는 거의 모두가 대면 상태에서 일어나기 때문에 결제를 위한 실물 수단이 존재한다. 현금, 신용카드나 체크카드 등 각종 결제카드, 나아가 모바일통신기기를 이용하는 소위 스마트페이 등 모든 결제가 실물을 이용한 결제다. 사람의 눈으로 거래과정을 바로 식별할 할 수 있는 현금을 제외하고는, 모두 다 거래현장 배후에서 따로 진행되는 현금거래를 서로 암묵적으로 약속하는 가상적 지불수단이다. 따라서 결제 과정을 처리할 수 있는 기술적 인프라가 필요하다.
인프라는 오프라인 결제의 여러 요소들 중에서 가장 중요하다. 제아무리 간편하고 안전한 새로운 결제방식이 등장하더라도 인프라가 받쳐 주지 않으면 아예 무용지물이다. 결제 인프라는 순전히 장치산업이라서 초반 투자 규모가 막대하기 때문에 가장 큰 최대변수인 것이다. 마찬가지 이유로 일단 확산되어 일반화된 방식의 인프라를 다른 방식의 인프라로 대체하는 일 또한 매우 어렵다.
그럼 오프라인 결제 인프라의 최말단, 결제 단말기부터 살펴보자. 우리가 어떤 사업장에서 신용카드를 이용해 물건값을 지불할 때, 카드의 정보를 식별하고 카드회사의 서버와 통신함으로써 결제하는 장치다.
우선 ‘CAT(Credit Authorization Terminal)’라는 가장 단순한 형태의 결제 단말기가 있고, CAT보다 많은 기능을 가진 ‘POS(Point Of Sales)’ 단말기가 있다. CAT과 통신 모듈을 결합한 무선 결제 단말기도 있지만 결제 방식만 놓고 보자면 같기 때문에 CAT과 POS만 살펴보겠다.
CAT 단말기는 카드 정보를 읽어 카드사로 보내고 카드사로부터 승인을 받고 전표를 출력하는 간단한 일만 처리한다. 이에 비해 POS 단말기는 CAT의 기본 기능 외에 추가로 상품관리, 회원관리, 재고관리 등 다양한 부가기능을 가지고 있다. 간단히 말하자면 CAT에 컴퓨터가 붙어 있는 것이 POS라고 생각하면 되는데, 바로 이 점 때문에 POS만의 문제가 발생한다. 컴퓨터가 사용하는 운영체제(OS: Operating System)나 각종 애플리케이션의 보안 취약점 등을 그대로 가지게 되는 것이다. 그래서 ‘결제 단말기 보안’이라고 하면 대개 POS 보안을 뜻한다.
그럼 각 단말기에서 읽어들이는 정보의 위험성을 보다 구체적으로 알아보자.
‘트랙2’의 위험성
IC카드 등 기존 마그네틱 카드의 취약한 보안 문제를 해소한 새로운 방식들이 등장했지만 아직까지는, 신용카드 결제 인프라의 보안규격의 기준은 마그네틱 카드다. 마그네틱 카드에는 정보를 저장하는3개의 트랙이 있는데, 그 중 가장 중요한 것은 약40kb 크기의 공간에 신용카드 번호, 발급일자, 유효기간 등 결제 과정에 필수적인 정보를 저장하는 ‘트랙2’다. ‘트랙1’의 은행계좌 정보, ‘트랙3’의 제휴사 정보 등 다른 트랙에는 결제와 직접 관련 없는 정보들이 저장되기 때문에, ‘트랙2’ 정보만 가지고 있으면 결제가 가능하다.
그래서 해커들은 ‘트랙2’ 정보를 노린다. 트랙2 정보를 탈취하고 비밀번호까지 알아낸다면? 신용카드 주인이 아니더라도 누구든 언제 어디서나 마음대로 결제를 할 수 있다. 그러니 비밀번호를 포함한 트랙2 데이터는 상당히 비싼 고급정보로서 국제 암거래 시장에서 개당 약 $4,000 정도에 거래된다.
트랙2는 ‘미국은행연합회(ABA: American Banking Association)’에서 제정한 규격이다. 신용카드라는 수단이 처음 생겨났을 때부터 보안 문제가 많았다. 카드 복제 그리고 정보 탈취 등 온갖 위험성 때문에 트랙2의 모든 정보를 다른 트랙으로 옮겨야 한다고 주장하는 사람들도 많지만, 앞서 말했듯 이미 존재하는 인프라를 바꾸기란 쉬운 일이 아니기 때문에 지금도 공식규격으로 사용되고 있다.
그러므로 오프라인 결제 인프라 보안에 있어 가장 중요한 일은 ‘트랙2’에 해당하는 민감한 거래정보의 안전한 보호다.
신용카드 산업에 참여하는 사업자의 구조는 복잡하다. 기본적 요소인 ‘고객’과 ‘카드회사’ 그리고 ‘가맹점이 있고, 추가로 ‘VAN(Value Added Network)’ 사업자 또는 ‘전표매입(Merchant Acquirer)’ 사업자가 포함되는 구조다. ‘VAN’사가 참여하는 3자구조와 ‘전표매입’사가 참여하는 4자구조로 나눌 수 있다.
3자구조에서는 신용카드 가맹점이 복수의 카드회사와 계약을 맺고, 4자구조에서는 가맹점이 특정 전표매입사와 단독계약을 체결하는 등의 차이가 있다. 4자구조는 참여자 각자의 애초 역할에 충실하게끔 설계된 원론적으로 자연스러운 구조다. 반면 3자구조의 VAN사는 가맹점의 단말기 공급과 신용카드 중계 등 다양한 결제 관련 등 다양한 금융결제 서비스를 제공하고, 전표매입 역할을 카드회사와 공동으로 분담하는 등의 장점이 있다.
하지만 3자구조를 택할 것이냐 4자구조를 택할 것이냐의 문제는 장단점을 따져보고 고르는 게 아니라 국가별 그리고 카드회사의 정책에 따라 결정된다. 그리고 이는 오프라인 결제 인프라의 보안성과는 크게 관계가 없다. 결제 인프라의 보안성은 트랙2 정보, 즉 민감한 거래정보가 지갑 속 신용카드에서부터 카드회사에 이르기까지 안전하게 암호화되어 전달되느냐에 달려 있다. 그 외, 신용카드 사업구조에 따른 보안조치 검토는 다음 기회에 보다 상세히 알아보기로 하자.
거듭 강조하는 바, 산업구조가 얼마나 복잡하든 오프라인 결제 인프라 보안에 있어 가장 중요한 일은 ‘트랙2’에 해당하는 민감한 거래정보의 안전한 보호다.
오프라인 결제 인프라
위 ‘그림1)’은 정말 최소한의 요소만을 그린 것이다. 실제 오프라인 결제 인프라는 그보다 훨씬 더 복잡하다. 아래 ‘그림3)’를 보자. 그런데 이 그림도 모든 구성요소를 다 그린 게 아니라, 단순한 개념도다. 실제 오프라인 결제 인프라는 정말정말 복잡하다!
가장 위에 놓인 CAT과 POS는 완전히 독립된 개인사업자의 단말기다. 중간에 따로 거치는 단계 없이 바로 카드회사의 서버와 연결된다. 편의를 위해 ‘서버’라고 통칭했을 뿐이지 실제로는’밴(VAN)’ 사업자 등 실제로는 ‘VAN’ 또는 ‘전표매입’ 사업자 등 앞서 살펴본 여러 요소들이 복잡하게 얽혀 있는데, 이에 대해서도 다음 기회에 보다 상세히 알아보기로 하고, 간단하게 카드회사의 ‘서버’라고 이해하자.
그럼 그 아래에 있는 ‘POS서버’란 뭘까?
그리고 그 앞에 여러 대의 POS가 모인 그룹은 또 뭐고?
앞서 CAT과 POS의 차이는 결제기능 외 따로 부가기능이 있냐/없냐로 나눌 수 있다고 했다. 단순히 결제기능만을 가지는 CAT은 비교적 간단하다. 그냥 단말기와 서버를 안전하게 연결해서 통째로 암호화된 결제정보를 주고 받으면 된다. 하지만 결제기능 외 여러 부가기능을 가지는 POS는 결제정보 외 다른 정보를 취급하기 때문에 CAT와는 달리 여러 문제를 더 가지게 된다.
위 그림에서 여러 POS들이 한데 묶여 있는 그룹을 보자. 이는 POS가 각각 설치된 수많은 가맹점을 보유한 프랜차이즈 사업체, 같은 건물 내의 여러 사업장에 수많은 단말기가 설치된 대형 백화점의 경우처럼 대규모의 연합사업체를 뜻한다. 해당 사업체의 ‘POS서버’는 연결된 사업체 그룹의 POS 단말기들로부터 수집한 상품, 회원, 재고, 전표 등의 정보를 처리하고 저장한다. 그리고 해당 정보를 분석해 CRM 데이터 등으로 활용하고 경영활동에 반영한다. 하지만 POS서버는 결제정보, 즉 ‘트랙2’에 해당하는 정보는 절대로 수집할 수 없다. 강력한 법적금지 대상이다. 따라서 두 정보는 완전히 분리되어야 한다.
여기서부터 데이터 흐름이 문제가 된다.
‘그림3)’ 아래, 2개의 선으로 따로 분리한 데이터 흐름을 보자. 결제정보, 즉 ‘트랙2’ 정보는 단말기에서부터 암호화되어 그대로 카드회사 서버까지 날아가 그곳에서 처리된다. 그냥 그렇게 하는 게 아니라 법적의무다. 반면 고객 및 거래 정보 등 ‘트랙2’ 외의 정보들은 POS서버 단계에서 처리된다. 즉, 암호화된 데이터가 복호화되는 지점이 서로 다르다. 그러므로 암복호화 키 또한 다르게 관리해야 한다.
그렇기 때문에 오프라인 결제 인프라의 보안 관련 이슈는 거의 전부가 암호화 이슈인 것이다. 결국 모든 문제는 각 구간에 따로 적용되는 데이터 암호화, 그리고 인프라 전체를 관장하는 암복호화 키 관리 문제로 귀결된다.
이로써, 오프라인 결제 인프라의 구조와 데이터 흐름에 대해 간단히 알아보았다. 하지만 앞서 말했듯, ‘그림3)’도 간단하게 그린 단순한 개념도다. 실제 인프라는 이보다 훨씬 더 복잡하다. 정말 많은 집단의 이해관계가 매우 복잡하게 뒤엉켜 있다. 이에 대해서는 다음 기회에 보다 상세히 알아보자. 그 전에 최종결론을 먼저 밝히자면,
신용카드 결제 보안 문제는 거의 전부가 데이터 암호화 문제다. 그럴 수밖에 없다.