OTP보다 안전한 일회용 인증코드
공인인증서 대신 사용할 수 있는 간편한 인증서가 다양하게 등장하고 있다. 이제는 복잡한 공인인증서(현 공동인증서) 대신 지문·얼굴인식이나 간단한 PIN 번호 입력만으로 거래를 완료할 수 있다. 편리한 인증이 가능해지면서 새롭고 다양한 금융 서비스도 출시되고 있다. 간편하게 결제하고 이체할 수 있는 것은 물론이고, 연말정산 등 각종 세무업무, 공공기관에서 민원인에게 발행하는 각종 문서도 전자문서로 확인하고 처리할 수 있다.
예전에는 공인인증서를 발급받아 길고 복잡한 비밀번호를 설정하며, PC에 공인인증서 모듈을 설치하는 등 복잡한 과정을 거쳐야 했지만, 이제는 스마트폰을 이용한 간편인증으로 편리하게 처리할 수 있다.
사용이 편해지면 보안은 취약해진다는 것이 일반적인 생각이다. 그러나 최근 간편인증은 이전보다 보안성도 강력하다. 스마트폰에는 TPM 혹은 트러스트존(TZ)이라고 불리는 안전한 저장소가 있으며, 이 저장소에 생체정보나 PIN 번호 혹은 공인인증서·사설인증서를 저장한다. 사용자가 인증을 위해 얼굴이나 지문을 인식하거나 PIN 번호 혹은 인증서 비밀번호를 입력하면 안전한 저장소에 저장된 정보와 비교해 일치하면 본인이라는 사실을 확인하고 인가한다. 이 저장소는 강력한 암호로 보호되며 사용자의 라이브 생체정보나 비밀번호 입력이 없으면 열리지 않기 때문에 안전하다.
OTP도 한계는 있다
간편인증이 이전 서비스보다 보안성이 높다 해서 완벽한 보안을 보장하는 것은 아니다. 해커가 스마트폰이나 애플리케이션을 장악하고 있으면 침해당할 수 있다. 예를 들어 얼굴인식으로 거래가 가능한 서비스의 경우, 사용자가 스마트폰을 바라보는 것 만으로 인증과 결제, 이체가 가능하다. 해커가 스마트폰이나 애플리케이션을 해킹해 사용자가 스마트폰을 사용하는 동안 사용자도 모르게 금융 앱애나 쇼핑 앱을 실행시키고 결제와 이체를 할 수 있다.
이러한 위협을 해소하기 위해 일회용 비밀번호(OTP)를 추가인증 수단으로 사용한다. OTP는 오래 전 부터 추가인증을 위해 사용되어왔다. 몇 초 혹은 몇 분 단위로 매번 바뀌는 번호를 서버와 OTP 기기에서 동시에 생성시킨다. 사용자가 OTP 기기에서 생성된 번호를 입력해 이 번호가 서버에서 생성된 것과 동일하면 정상 사용자라고 판단하고 인가한다. 번호는 짧은 시간 동안만 유효하기 때문에 해커가 가져간다 해도 재사용 할 수 없다.
OTP는 별도의 전용 단말기를 사용하거나 웹, 앱, SNS, 이메일 등을 이용해 단말기 없이도 사용할 수 있다. 유명 포털에서도 무료로 OTP 서비스를 제공하고 있어 보다 편리하고 안전하게 로그인을 할 수 있다.
OTP는 오랫동안 사용되어 온 안전한 기술이지만, 완벽하다고 할 수는 없다. 낮은 확률이지만, OTP 번호가 중복돼 봇을 이용해 무작위 로그인 시도에 성공할 수 있다. 정상적으로 OTP가 생성됐을때, 해커가 네트워크를 끊어 사용자가 OTP 번호를 입력하지 못하게 한 후, 해커가 OTP를 입력하고 사용자 계정으로 접속한 후 마음대로 계정정보를 변경할 수 있다. 스마트폰이나 애플리케이션을 해킹해 OTP를 가로챌 수도 있다.
미리 입수한 ID/PW를 이용하는 방법도 있다. 크리덴셜 스터핑이라고 불리는 이 해킹 방식은 공격자가 지하시장에서 구입하거나 다른 사이트에서 훔친 사용자들의 ID/PW를 이용해 웹서비스에 대입해 로그인하는 것이다. 공격자는 정상 사용자 계정으로 로그인 한 후 사용자 정보를 변경하고 추가인증 방법으로 공격자 이메일로 OTP를 발행시키도록 설정한다.
강력한 보안이 필요한 서비스의 경우, 정상적으로 OTP 번호가 입력된다 해도 사용자가 평소 사용하던 기기와 장소에서 인증을 요구하는 것인지 확인하고 인가하는 고급인증기술이 적용돼 해커의 불법 침입을 막는다. 그러나 스마트폰을 장악한 해커가 사용자로 위장해 접속하는 것을 막을 수 없다.
또 고급 보안 기술을 적용하지 않는 사이트가 더 많아 한 사이트에서 계정정보를 탈취한 후 이 정보를 이용해 다른 사이트에서 정상 사용자로 위장해 공격하는 것도 막기 어렵다.
중복되지 않은 일회용 인증코드
OTP보다 안전하고 편리한 인증 보안을 완성하는 기술로 센스톤의 일회용 인증 코드 ‘OTAC(One Time Authentication Code)’가 있다. OTAC는 기기 자체에서 중복되지 않는 일회용 인증코드를 발생시켜 강력한 인증을 구현한다. 이 기술은 OTP 대체용으로 사용할 수 있으며, OTP 및 다른 인증 수단과 함께 사용해 인증보안을 훨씬 더 강화할 수 있다.
인증코드가 짧은 시간 동안 유효하다는 점은 OTP와 같지만, 서버와 통신이 필요하지 않다는 점이 결정적인 차이다. OTAC는 처음 사용할 때 사용자 기기를 등록하면 서버와 통신하지 않고 기기 자체에서 일회용 인증코드가 발행된다. 애플리케이션이 아니라 기기에서 코드를 발생시키기 때문에 애플리케이션 해킹 우려가 없으며, 코드를 탈취당한다 해도 인증 유효기간이 짧아서 다른 공격에 사용할 수 없다.
OTAC를 가상카드로 사용해 신용카드 번호 도용을 막는 사례도 있다. 영국에서 사용되고 있는 가상카드는 매번 바뀌는 신용카드를 이용해 신용카드 정보 유출 사고로 인한 피해를 막는다. 생체인식과 OTAC를 접목시켜 훨씬 더 안전하고 편리하게 온·오프라인 결제를 할 수 있게 한다.
오프라인 결제를 위해 실물카드를 사용하는 예를 들어보자. 지문인식 센서가 탑재된 신용카드에 사용자가 지문을 인식시키면 OTAC가 일회용 가상 카드번호를 생성시킨다. 이를 일반 신용카드와 마찬가지로 결제할 수 있다. 스마트폰 앱카드로도 사용할 수 있다. 얼굴·지문인식이나 PIN 번호 등으로 스마트폰에서 사용자를 인증하면 일회용 가상 앱카드가 발행되고, 이를 온·오프라인 결제에 사용할 수 있다.
가상카드로 사용할 수 있는 신용카드는 사용 가능한 숫자가 정해져있기 때문에 ‘중복되지 않는’ 일회용 카드 번호 생성이 쉽지 않다. 이 때 OTP를 함께 적용하면 가상카드 번호와 시간 정보를 함께 인증정보로 사용할 수 있어 안전하게 결제를 완료할 수 있으며, 메모리 해킹, 중간자 공격 등의 우려도 낮출 수 있다.
OTAC는 인증이 필요한 모든 사례에 활용 가능하다. 다양한 핀테크 서비스와 금융거래, 각종 민원 서비스, 스마트 기기의 사용자 혹은 기기간 인증, 커넥티드카·드론 등 모든 인증에 사용될 수 있으며, 국내는 물론 해외에서도 다양한 성공사례를 발표하고 있다.