카카오뱅크 보안이 다른 점
김승주 고려대 정보보호대학원 교수
인터넷 전문은행 ‘카카오뱅크’가 일반인을 상대로 서비스를 시작한 지 한달 만에 가입자가 300만명을 넘어섰다. 또한 체크카드 발급 신청은 216만건이고, 예·적금 등 수신액은 1조 9580억원, 대출 등 여신은 1조 4090억원으로 집계됐다고 하니 하루 평균 454억원을 대출하고 631억원씩 예·적금을 유치한 셈이다.
이렇듯 카카오뱅크가 폭발적으로 인기를 끌고 있는 데는 여러 이유가 있겠으나, ‘사용자의 불편함을 최소로한 쓰기 편하고 안전한 보안(Usable Seccurity)’도 한 몫했다는 점에는 이견이 없을 듯 하다. 초기부터 카카오뱅크의 정보보호 자문을 해 온 필자의 눈으로 볼 때 카카오뱅크는 몇 가지 면에서 기존 업체들과는 다른 차별성을 갖는다.
우선 첫 번째 차별화 요소로 ‘보안의 내재화(Security by Design)를 통한 시스템 복잡도(complexity)의 최소화’를 들 수 있겠다. 즉 카카오뱅크가 기존 은행과 다른 점은 설계시부터 보안팀과 개발팀이 함께 편의성과 안전성을 고민했다는 것이다.
오랫동안 불편함에 훈련돼 있던 우리는 페이팔이나 애플페이, 카카오뱅크와 같이 쓰기 쉬운 시스템을 보면 왠지 모를 불안감을 느끼게 된다. 그러나 이들 시스템 속을 보면 수많은 보안기능들이 돌아가고 있지만 단지 사용자에게 보이지 않을 뿐 없는 것은 아니다. 이를 위해 카카오뱅크는 개발 초기부터 필요 최소한의 보안기능들을 선별해내는 작업을 진행했으며 (이를 전문 용어로 ‘위협모델링(Threat Modeling)’이라고 함), 인증서(PKI) 기술들과 같이 꼭 필요하지만 사용하기 불편한 기술들은 개발팀과 상의해 사용자 편의성을 극대화시켰다.
두 번째로 ‘하드웨어 기반의 보안’을 들 수 있다. 최근 생체인증이 대세가 되면서 많은 모바일 기기들은 지문 등의 생체정보를 그들 기기 내 안전한 장소에 저장하는 방법으로 해킹을 어렵게 하고 있다. 이러한 하드웨어 상의 안전한 저장영역을 트러스트존(TrustZone) 혹은 시큐어엔클레이브(SE)라고 하는데 카카오뱅크는 이곳을 활용해 개인키 등 사용자의 중요 정보를 보호하고 있으며, 사용자 1인당 하나의 모바일 기기만을 지원케 함으로써 안전성을 더욱 강화했다. 또한 트러스트존 혹은 시큐어엔클레이브 같은 안전한 저장소를 지원하지 않는 구형 기기들에 대해서는 ‘화이트박스 암호화(White-Box Cryptography)’ 기술 등을 이용해 이에 상응하는 수준의 보안성을 유지하고 있다.
셋째로 카카오뱅크는 모의 해킹을 통한 최종 점검에 있어 실력 있는 없체를 선정하는 것 못지않게 테스트 범위(coverage)의 극대화를 위해 노력했다. 일반적으로 업체들은 “해커들과 똑같은 환경에서 점검해야 한다”는 이유로 모의 해킹 업체에게 거의 아무런 정보도 제공해 주지 않는다. 그러나 모의 해킹 업체에게 주어지는 시간 즉, 용역수행시간은 해커들이 시스템을 분석하는데 들이는 시간에 비해 턱없이 적기 때문에, 분석 대상 시스템에 대한 충분한 정보의 제공 없이 정확한 결과를 기대하는 것은 무리가 있다.
이외에도 현재 카카오뱅크는 보다 많은 실력 있는 보안업체들과 제휴 및 신속한 취약점 제보·보상 체계 구축 등을 통해 서비스의 안전성을 강화하려고 고민 중에 있다. 사실 카카오뱅크가 지금까지 해 온 일들이 그다지 새로운 것은 아니다. 하지만 그동안 우리는 이런 당연한 일들을 제대로 지키지 않고 지내왔던 것은 아닐까? 카카오뱅크라는 메기를 통해 우리의 보안 개발 프로세스를 다시 한번 점검해 보는 계기가 됐으면 좋겠다.