비밀번호 기반의 사용자 인증은 동일한 비밀번호를 반복 사용하므로 보안이 취약하여 OTP(One-Time Password)가 도입되었다. 하지만 보안이 강화된 OTP를 서버와 동기된 모바일 기기에서 생성하여 PC에 입력하는 경우 PC가 악성코드에 감염되어 있으면 해커가 사용자 계정과 비밀번호 그리고 OTP값을 해킹할 수 있다. 본 논문에서는 OTP값 유출에 따른 보안 취약성을 해소하기 위해 사용자는 계정과 비밀번호를 PC에 입력하여 서버인증을 수행하고, PC 화면에 출력된 QR코드를 모바일 기기에서 스캔하여 OTP값을 직접 서버로 전송함으로써 정보 유출에 따른 해킹을 방지하고 PC에 OTP값을 입력하는 불편함을 줄이는 새로운 이중 인증 방식인 DTOTP를 제안한다. 시스템은 이중 전송을 통해 PC인증 방식의 OTP 보다 향상된 보안성을 제공하면서 기존 OTP 알고리즘을 그대로 사용할 수 있어 구현이 용이하며 은행, 포털 및 게임 서비스 등에 안전하게 활용할 수 있다.
비밀번호 기반의 사용자 인증은 동일한 비밀번호를 반복 사용하므로 보안이 취약하여 OTP(One-Time Password)가 도입되었다. 하지만 보안이 강화된 OTP를 서버와 동기된 모바일 기기에서 생성하여 PC에 입력하는 경우 PC가 악성코드에 감염되어 있으면 해커가 사용자 계정과 비밀번호 그리고 OTP값을 해킹할 수 있다. 본 논문에서는 OTP값 유출에 따른 보안 취약성을 해소하기 위해 사용자는 계정과 비밀번호를 PC에 입력하여 서버인증을 수행하고, PC 화면에 출력된 QR코드를 모바일 기기에서 스캔하여 OTP값을 직접 서버로 전송함으로써 정보 유출에 따른 해킹을 방지하고 PC에 OTP값을 입력하는 불편함을 줄이는 새로운 이중 인증 방식인 DTOTP를 제안한다. 시스템은 이중 전송을 통해 PC인증 방식의 OTP 보다 향상된 보안성을 제공하면서 기존 OTP 알고리즘을 그대로 사용할 수 있어 구현이 용이하며 은행, 포털 및 게임 서비스 등에 안전하게 활용할 수 있다.
In order to improve the security strength in the password based user authentication, in which the security vulnerability is increased while the same password is repeatedly used, the OTP(One-Time Password) system has been introduced. In the OTP systems, however, the user account information and OTP v...
In order to improve the security strength in the password based user authentication, in which the security vulnerability is increased while the same password is repeatedly used, the OTP(One-Time Password) system has been introduced. In the OTP systems, however, the user account information and OTP value may be hacked if the user PC is infected by the malicious codes, because the user types the OTP value, which is generated by the mobile device synchronized with the server, directly onto the user PC. In this paper, we propose a new method, called DTOTP(Dual Transmission OTP), to solve this security problem. The DTOTP system is an improved two-factor authentication method by using the dual transmission, in which the user performs the server authentication by typing the user account and password information onto the PC, and then for the OTP authentication the mobile device scans the QR code displayed on the PC and the OTP value is sent to the server directly. The proposed system provides more improved security strength than that of the existing OTP system, and also can adopt the existing OTP algorithm without any modification. As a result, the proposed system can be safely applied to various security services such like banking, portal, and game services.
In order to improve the security strength in the password based user authentication, in which the security vulnerability is increased while the same password is repeatedly used, the OTP(One-Time Password) system has been introduced. In the OTP systems, however, the user account information and OTP value may be hacked if the user PC is infected by the malicious codes, because the user types the OTP value, which is generated by the mobile device synchronized with the server, directly onto the user PC. In this paper, we propose a new method, called DTOTP(Dual Transmission OTP), to solve this security problem. The DTOTP system is an improved two-factor authentication method by using the dual transmission, in which the user performs the server authentication by typing the user account and password information onto the PC, and then for the OTP authentication the mobile device scans the QR code displayed on the PC and the OTP value is sent to the server directly. The proposed system provides more improved security strength than that of the existing OTP system, and also can adopt the existing OTP algorithm without any modification. As a result, the proposed system can be safely applied to various security services such like banking, portal, and game services.
* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.
문제 정의
본 논문에서는 OTP값 유출에 따른 보안 취약성을 해소하기 위해 QR코드와 데이터의 전송경로를 이중화하여 해킹의 위험성을 감소시키는 이중 인증 OTP 시스템을 제안하고 구현하였다. 사용자는 계정과 비밀번호를 PC에 입력하여 서버인증을 수행하고 PC 화면에 출력된 QR코드를 모바일 기기에서 스캔하여 OTP값을 곧장 서버로 전송함으로써 정보 유출에 따른 해킹을 방지하고 PC에 OTP값을 입력하는 불편함을 없앴다.
본 논문에서는 QR코드와 데이터의 전송경로를 이중화하여 OTP값 유출에 따른 보안 취약성을 해소하고 해킹의 위험성을 감소시키는 DTOTP(Dual Transmission OTP) 시스템을 구현하였다. DTOTP는 PC인증 방식과 같이 PC에서 서버로 비밀번호를 전송하지만 OTP값은 모바일 기기에서 직접 서버로 전송하는 인증정보의 분할 경로를 채택하여 해킹의 위험성을 감소시키는 이중 인증 OTP 시스템이다.
1차 OTP를 생성하고 사용자 패스워드를 결합하여 인증서버에 전송[5]하면 OTP 알고리즘의 보안은 강화되지만 OTP를 직접 PC에 입력하는 과정이 필요하고 악성코드에 따른 OTP값 유출이 있을 수 있다. 본 논문에서는 이중경로를 사용하여 데이터를 전송하므로 기존 OTP와는 다른 새로운 something you have에 해당하는 인증 방법을 보인다.
또한 모바일 기기에서 생성한 QR코드의 이미지를 전송하고 이를 스캔하여 사용자 인증을 실시하는 방법[4]은 PC가 아닌 모바일 기기에서 사용자 인증을 하기 때문에 OTP값 유출에 따른 보안성 문제는 여전히 남아있다. 본 논문에서는 인증정보를 모바일 기기에 전송하고 모바일 기기에서 생성된 OTP값을 직접 서버로 전송하는데 QR코드를 사용함으로써 악성코드에 따른 정보 유출을 막고 사용자가 OTP값을 입력하는 불편함을 해소한다.
가설 설정
DTOTP 시스템의 사용자가 100명, 500명, 1000명일 때, 무작위 대입 시 일치 확률과 해킹 소요시간을 시뮬레이션 하였다. 이때, OTP값의 갱신주기는 30초, OTP 인증 시 서버의 응답시간은 1000ms이고 기존 OTP는 악성코드에 감염되면 해킹을 당한다고 가정한다.
제안 방법
3) 사용자 PC화면에 나타난 QR코드를 모바일기기로 인식하여 디코딩하고 SEED 알고리즘으로 복호화한 다음 ST를 확인해 최신의 QR코드인지 확인한다. 이때 SEED 알고리즘은 대칭키로 되어있으며 모바일 기기와 서버간의 키 교환을 위해 Diffie-Hellman 방식을 사용한다.
DTOTP에서는 PC나 모바일 기기 중 어느 하나가 악성코드에 감염되면 해킹은 불가능하며, PC와 모바일 기기 모두가 악성코드에 감염되었을 때는 PC에서 해킹한 계정과 비밀번호로 1차 로그인을 하고 모바일 기기에서 해킹한 OTP값을 무작위로 대입하여 OTP 인증이 성공해야만 해킹이 가능하다. DTOTP 시스템의 사용자가 100명, 500명, 1000명일 때, 무작위 대입 시 일치 확률과 해킹 소요시간을 시뮬레이션 하였다. 이때, OTP값의 갱신주기는 30초, OTP 인증 시 서버의 응답시간은 1000ms이고 기존 OTP는 악성코드에 감염되면 해킹을 당한다고 가정한다.
DTOTP를 생성하기 위해 최초 OTP 가입 시 웹서버로부터 회원번호 12자리와 랜덤번호 6자리를 발급받고 SHA-256 해시 함수를 이용해 해시 값을 생성한다. OTP를 실행할 때 현재시간으로 만든 해시 값과 OTP 가입 시 생성한 해시 값을 XOR 연산으로 256비트의 결과 값을 생성한다.
마지막 2012091023331은 년월일시분초로서 서버의 현재시간인 ST를 QR코드에 삽입한다. QR코드 데이터 중 MN과 AN만으로는 무분별한 서버 인증을 방지할 수 없으므로 ST를 QR코드에 삽입하여 모바일 기기에서 인증할 때 QR코드의 ST와 OTP를 생성하기 위해 서버에서 새로 전송받은 ST의 차이가 30초 이내인 경우에만 인증을 수행한다. 이로써 무분별한 인증에 따른 서버의 부담을 줄이고 사용자 위조 등의 공격에 대한 위험을 사전에 방지한다.
기존 OTP는 모바일 기기 화면에 출력되는 OTP값을 사용자가 직접 PC에 입력하기 때문에 PC가 악성코드에 감염되면 사용자 계정과 비밀번호 그리고 OTP값까지 해커에게 전송될 수 있다. 본 논문에서는 OTP값 유출에 따른 해킹을 방지하기 위해 QR코드를 고정된 이미지[8,9]로 사용하는 것이 아니라 사용자 데이터와 로그인 시간을 이용하여 동적[10]로 PC 화면에 출력한다. 모바일 기기에서는 스캔을 통해 출력된 QR코드의 데이터를 전달받아 OTP값을 생성하여 서버에 직접 전송함으로써 보안성을 강화하고 사용자가 OTP값을 입력하는 불편함을 해소한다[11].
표 2에 DTOTP 시스템과 기존 OTP[14], 이중 인증의 또 다른 방식인 SUAN[14]의 주요 특성을 비교한다.
이론/모형
OTP 토큰의 보안 요구 사항[15]을 DTOTP에 적용하고 분석한다. 표준 알고리즘인 SHA-2를 사용하는 OTP 생성은 128비트 이상의 엔트로피를 만족하며 실제로 6자리 이상 9자리 이하 자릿수의 OTP 결과 값을 출력하므로 안전하다.
인증서버는 물리적 공격이나 해킹 등의 보안상 위협으로부터 안전하며, 사용자는 자신의 모바일 기기로 QR코드를 스캔하고 스캔한 QR코드의 디코딩이 가능하다. 사용자는 인증기관 또는 서버가 제공하는 모바일 OTP 생성 알고리즘을 다운받아 이용하며 이 알고리즘은 시간동기방식[12]을 사용한다. 그림 2.
3) 사용자 PC화면에 나타난 QR코드를 모바일기기로 인식하여 디코딩하고 SEED 알고리즘으로 복호화한 다음 ST를 확인해 최신의 QR코드인지 확인한다. 이때 SEED 알고리즘은 대칭키로 되어있으며 모바일 기기와 서버간의 키 교환을 위해 Diffie-Hellman 방식을 사용한다. 모바일 기기에서는 디코딩된 MN과OTP 가입 시 모바일 기기에 저장된 MN이 일치하는지 확인하고 MN과 RN, 그리고 서버에서 새로 전송받은 ST를 이용하여 OTP1(OTP1=H(MN, RN, ST))을 생성한다.
성능/효과
나아가 PC 계정과 모바일 OTP값을 무작위로 맞춰 보더라도 시간에 동기되어 OTP값이 주기적으로 변경되므로 해킹은 어렵다. DTOTP를 위한 모바일 애플리케이션과 홈페이지를 실제로 구현 및 시현하였고, 무작위 대입 공격 상황을 시뮬레이션 하여 기존 OTP에 비해 안전하다는 것을 보였다.
패스워드를 무작위로 추측하여 대입하는 Password Guessing Attack은 인증 실패 횟수에 따라 공격 유무를 알 수 있으므로 인증 요구 횟수가 많아지면 온라인 패스워드 추측 공격으로 의심하여 인증을 거부할 수 있다. 그리고 본 시스템 같은 시간동기방식에서는 OTP값을 일정 주기로 변경하므로 더욱 안전하다. Replay Attack은 유효 메시지를 골라 복사한 후 재전송하여 정당한 사용자로 가장하는 공격이지만 서버에서 인증할 때 서버의 현재 시간과 QR코드에 사전 삽입된 시간이 30초 이상 차이가 나면 인증을 중단하므로 공격을 방지할 수 있다.
사용자는 PC에 출력되는 QR코드를 스캔하여 일련번호와 QR코드에서 요청한 보안코드 일부를 서버로 전송하며, 서버는 전송받은 일련번호와 보안코드가 일치하는지 확인하여 본인인증을 완료한다. 나아가 포털 및 게임 서비스 등에서도 기존의 OTP 알고리즘을 유지하면서 확장성과 유연성이 우수한 본 시스템을 추가하여 확장할 수 있다.
본 논문에서는 OTP값 유출에 따른 보안 취약성을 해소하기 위해 QR코드와 데이터의 전송경로를 이중화하여 해킹의 위험성을 감소시키는 이중 인증 OTP 시스템을 제안하고 구현하였다. 사용자는 계정과 비밀번호를 PC에 입력하여 서버인증을 수행하고 PC 화면에 출력된 QR코드를 모바일 기기에서 스캔하여 OTP값을 곧장 서버로 전송함으로써 정보 유출에 따른 해킹을 방지하고 PC에 OTP값을 입력하는 불편함을 없앴다. 해커가 PC를 해킹하더라도 OTP값을 알 수 없고 모바일 기기까지 해킹을 하더라도 모바일 회원번호를 사용해 인증하기 때문에 사용자 계정을 유추할 수 없다.
후속연구
모바일 기기로 데이터를 전송하는 과정을 더 간소화하고 로그인 승인 후 로그인 여부를 주기적으로 체크하는 오버헤드의 감소 방안에 관한 연구는 향후 과제로 남긴다
질의응답
핵심어
질문
논문에서 추출한 답변
OTP가 도입된 이유는?
비밀번호 기반의 사용자 인증은 동일한 비밀번호를 반복 사용하므로 보안이 취약하여 OTP(One-Time Password)가 도입되었다. 하지만 보안이 강화된 OTP를 서버와 동기된 모바일 기기에서 생성하여 PC에 입력하는 경우 PC가 악성코드에 감염되어 있으면 해커가 사용자 계정과 비밀번호 그리고 OTP값을 해킹할 수 있다.
OTP 해킹 사례가 증가하는 이유는?
비밀번호 기반의 사용자 인증은 동일한 비밀번호를 반복 사용하므로 보안이 취약하여 OTP[1]를 도입하였으며, 최근에는 OTP 토큰이나 카드 대신에 스마트 폰을 OTP(One-Time Password) 기기로 많이 사용한다[2]. 한편 해킹기술이 발달하면서 사용자는 단순 웹페이지 방문만으로 악성코드에 감염될 수 있고 보안이 취약한 PC방, 카페, 학교와 같은 공공 PC 사용 환경이 늘어나면서 OTP 해킹 사례가 증가하고 있다. 기존 모바일 OTP의 경우, 악성코드가 감염된 사용자 PC에 계정과 비밀번호를 입력하여 1차 서버인증을 수행하면 해커에게도 계정과 비밀번호가 전송되며, OTP 인증을 위한 2차 로그인 시에는 PC에 설치된 악성코드가 서버로 전송되는 OTP 값을 해커에게로 전송하여 사용자의 OTP 인증을 막고 해커가 계정과 비밀번호, OTP값을 사용하여 해킹할 수 있다.
DTOTP 시스템의 작업흐름은?
1) PC에서 1차 비밀번호인 계정과 비밀번호를 입력하고 로그인 한다.
2) 서버는 인증기관으로부터 사용자의 MN값을 받아 Authentication Number(AN)와 ST를 SEED 알고리즘으로 암호화하여 QR코드로 변환(QR-Code = EK(MN, AN, ST)), 사용자에게 전송한다.
3) 사용자 PC화면에 나타난 QR코드를 모바일기기로 인식하여 디코딩하고 SEED 알고리즘으로 복호화한 다음 ST를 확인해 최신의 QR코드인지 확인한다. 이때 SEED 알고리즘은 대칭키로 되어있으며 모바일 기기와 서버간의 키 교환을 위해 Diffie-Hellman 방식을 사용한다. 모바일 기기에서는 디코딩된 MN과OTP 가입 시 모바일 기기에 저장된 MN이 일치하는지 확인하고 MN과 RN, 그리고 서버에서 새로 전송받은 ST를 이용하여 OTP1(OTP1=H(MN, RN, ST))을 생성한다.
4) 생성된 OTP1과 AN, 사용자 확인을 위한 MN을 서버로 전송한다.
5) 서버는 이 데이터들을 확인한 후 인증기관에 OTP1, MN, ST를 전송하고 인증기관에서는 OTP2(OTP2 = H(MN, RN, ST))를 생성하여 전송받은 OTP1과 일치하는지 확인하고 인증승인 메시지를 서버에 전송한다.
6) OTP 인증이 완료되면 서버는 전송받은 AN을 사용자 데이터베이스에 저장하고 2차 로그인 승인 메시지를 보낸다.
7) PC가 2차 로그인 승인 메시지를 받으면 데이터베이스의 AN과 PC의 AN인 session ID가 일치하는 지를 확인하여 로그인을 수행한다.
D. H. Shin, Y. S. Choi, S. J. Park, S. J. Kim, and D. H. Won, "Cryptanalysis on the authentication mechanism of the NateOn messenger," J. KIISC, vol. 17, no. 1, pp. 67-80, Feb. 2007.
Y. S. Lee, "Online banking authentication system using Mobile-OTP with QR-code," in Proc. 5th Int. Conf. Comput. Sci. Convergence Inform. Technol. (ICCIT), pp. 644-648, Dhaka, Bangladesh, Nov. 2010.
S. D. Park, Mobile authentication system and its application based on 2-dimensional barcode and OTP, M.S. thesis, Dept. Electron. Comput. Sci. Eng., Graduate School of Hanyang University, Seoul, Korea, Feb. 2009.
J.-H. Che, "A two-factor user authorization method and its implementation using TOTP and password," J. KIISC, vol. 20, no. 6, pp. 7-16, Dec. 2010.
D. DeFigueiredo, "The case for mobile two-factor authentication," IEEE Security Privacy, vol. 9, no. 5, pp. 81-85, Sep. 2011.
AIM, Uniform Symbology Specification: QR code, 1996.
Y.-W. Kwon, S.-H. Jung, and C.-B. Sim, "A implementation of gravestone management system based on smart phone using QR-Code," in Proc. 2011 Fall Conf. KIECS, vol. 5, no. 2, pp. 259-263, Gurye, Korea, Nov. 2011.
W. H. Jung and Y. J. Chung, "A design of U-learning study support system using QR code," in Proc. 2010 Autumn Conf. KMMS, vol. 13, no. 2, pp. 607-610, Seoul, Korea, Nov. 2010.
C. H. Ko, S. H. Seo, S. A. Kim, and J. H. Seo, "Smart phone application for intelligent ID management," in Proc. 2010 Autumn Conf. KMMS, vol. 13, no. 2, pp. 641-643, Seoul, Korea, Nov. 2010.
J.-S. Lee, H.-N. You, C.-H. Cho, and M.-S. Jun, "A design secure QR-login user authentication protocol and assurance methods for the safety of critical data using smart," J. KICS, vol. 37, no. 10, pp. 949-964, Oct. 2012.
Y.-S. Jeong, S.-H. Han, and S.-S. Shin, "A study on mobile OTP generation model," J. Digital Policy Manage., vol. 10, no. 2, pp. 183-191, Mar. 2012.
T. I. Song and C. S. Hong, "Energy efficient password-based authenticated group key exchange protocol mechanism using trusted server," J. KIISE, vol. 39, no. 4, pp. 350-359, Aug. 2012.
Y.-W. Kao, "Physical access control based on QR code," in Proc. Int. Conf. Cyber-Enabled Distributed Comput. Knowledge Discovery (CyberC 2011), pp. 285-288, Beijing, China, Oct. 2011.
TTA, Security Requirements for the OTP Token, Dec. 2010.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.