주식회사 누리아이티

지문카드 및 정보자산 2차 인증 보안SW 전문기업

Google OTP 적용의 위험성

댓글 1

▶ BaroSolution/기술문서

2021. 10. 31.

Google OTP 또는 Google Authenticator는 시간 기반 일회용 비밀번호 알고리즘(TOTP)와 HMAC 기반 일회용 비밀번호 알고리즘(HOTP)를 사용하여 다요소 인증 서비스를 구현하는 소프트웨어 토큰의 하나로, 구글의 모바일 애플리케이션 사용자들을 인증하기 위해 사용된다.

 

Google OTP는 제품화된 인증솔루션이 아니다. 이는 여러 보안취약점을 제거한 여타 유상 솔루션에 대비하여 많은 취약점을 가지고 있을 수밖에 없고, 구글에서도 Google OTP를 실제 서비스에 적용하는 것은 위험하다라고 인터뷰 한적이 있다. 하지만 무상이라는 이유로 암호화폐 거래소, 게임사 등에서 2차 인증 수단으로 적용했고, 이미 여러 해킹 사례가 발생하여 피해를 입은 사용자들이 많다. 물론 Google에서는 어떠한 책임도 지지 않는다.

 

Open Source여서 누구나 무료로 사용할 수 있는데, 다음과 같은 위험성을 내포하고 있다.

 

1. 상용화된 인증 솔루션이 아님.

Open source로 이미 여러 해킹 사례가 발생하여 피해를 입은 사용자들이 많으며, Google에서는 어떠한 책임도 지지 않음.

 

2. OTP 등록 키 값(Secure key) 노출

등록 키값이 노출되기도 쉬우며 중복등록이 가능

QR코드의 경우 리더기로 읽으면 키 값이 평문으로 그대로 노출되어, 타인이 너무도 쉽게 나의 OTP 등록 키 값을 알 수 있음.

앱을 삭제할 경우 키 값을 어딘가에 보관하지 않으면 등록된 OTP 등록 키 값을 새로이 받아서 키 값을 변경해야 함.

 

3. 해킹에 대단히 취약

Open source 기반의 무상 서비스이기에 소스 공개로 알고리즘 유출, 앱 위변조 방지 등의 기본적인 보안장치들이 전혀 없음.

 

4. 구성원의 Google 계정 해킹 시 대비책 없음

계정이 해킹 당하면 Google OTP가 적용된 업무서비스를 일정기간 사용하지 못함.

 

5. 낮은 Hash 함수 사용

SHA-1을 사용하고 있음(국정원에서 최소 SHA-256 이상을 권고)

 

6. Secure key 문제

Secure key가 암호화 및 난독화 되지 않고, Hex로만 변환되어 있음.

 

7. 기술지원 문제(Technical support)

Open source이기 때문에 문제 발생 시 본인이 해결해야 함.

 

8. Google의 무료 서비스 언제 유료로 전환 될 것으로 예상함.

 

Google OTP는 무료기 때문에 소규모 Linux나 애플리케이션에 적합할지는 모르나 대규모 Linux나 특히나 애플리케이션에는 부적합하다.

 

특히, 폰이 고장나는 경우, 폰을 분실한 경우, 실수로 앱을 지운 경우 등 흔히 접할 수 있는 상황에서 기존 2FA 설정을 되돌릴 수 있는 방법이 아예 없기 때문이다.

 

2FA 사용이 불가능한 경우를 대비해 대부분 백업코드를 제공하지만 그냥 지나치거나 관리를 잘 하지 못하는 경우가 많다.

 

참고) SHA-256은 SHA 함수들 중 가장 많이 쓰이며, TLS, SSL, PGP, SSH, IPSec 등 보안 프로토콜과 프로그램에서 사용되고 있다.

 

하지만 최근 SHA-0과 SHA-1은 대한 분석 결과가 발표됨에 따라 SHA-2를 사용할 것을 미국 NSA 및 국정원에서 권장하고 있다.

 

2020년 6월 미국 NSA에서 안전한 VPN 사용을 위한 제안서를 발표 했는데, 최소 권장사항 중에 Hash함수는 SHA-384 Hash를 사용하라고 권장하고 있다.

사업자 정보 표시
주식회사 누리아이티 | 이종일 | 서울시 강서구 마곡중앙2로 15, 913호(마곡동, 마곡테크노타워2) | 사업자 등록번호 : 258-87-00901 | TEL : 010-2771-4076 | Mail : mc529@nurit.co.kr | 사이버몰의 이용약관 바로가기