KR101243101B1 - 스마트폰에서 음성정보를 이용한 일회용 패스워드 기반 사용자 인증 시스템 - Google Patents

스마트폰에서 음성정보를 이용한 일회용 패스워드 기반 사용자 인증 시스템 Download PDF

Info

Publication number
KR101243101B1
KR101243101B1 KR1020110040211A KR20110040211A KR101243101B1 KR 101243101 B1 KR101243101 B1 KR 101243101B1 KR 1020110040211 A KR1020110040211 A KR 1020110040211A KR 20110040211 A KR20110040211 A KR 20110040211A KR 101243101 B1 KR101243101 B1 KR 101243101B1
Authority
KR
South Korea
Prior art keywords
information
value
server
user
time password
Prior art date
Application number
KR1020110040211A
Other languages
English (en)
Other versions
KR20120122185A (ko
Inventor
이형우
장원준
조식완
Original Assignee
이형우
한신대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 이형우, 한신대학교 산학협력단 filed Critical 이형우
Priority to KR1020110040211A priority Critical patent/KR101243101B1/ko
Publication of KR20120122185A publication Critical patent/KR20120122185A/ko
Application granted granted Critical
Publication of KR101243101B1 publication Critical patent/KR101243101B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • H04L9/3228One-time or temporary data, i.e. information which is sent for every authentication or authorization, e.g. one-time-password, one-time-token or one-time-key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0863Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/321Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
    • H04L9/3213Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • H04L9/3231Biological data, e.g. fingerprint, voice or retina
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • H04L9/3273Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response for mutual authentication

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Telephonic Communication Services (AREA)
  • Telephone Function (AREA)

Abstract

본 발명은 스마트폰에서 음성 정보를 이용한 일회용 패스워드 기반 사용자 인증 시스템에 관한 것으로, 자신의 ID정보와 난수값 정보를 전송하고, 이후 음성신호를 전송하며, 일회용 토큰 정보를 수신하여 난수값을 획득하고, 서버를 재인증하고, 일회용 패스워드 값을 생성하여 전송하는 사용자 단말과; 상기 사용자 단말로부터의 ID정보와 난수값 정보를 근거로 사용자 인증을 수행하며, 상기 음성신호를 통해 상호인증을 수행하여 일회용 패스워드 생성을 위한 일회용 토큰을 전송하며, 수신된 일회용 패스워드 값을 검증하는 서버;를 포함하는 것을 특징으로 한다.

Description

스마트폰에서 음성정보를 이용한 일회용 패스워드 기반 사용자 인증 시스템{VOICE ONE-TIME PASSWORD BASED USER AUTHENTICATION METHOD AND SYSTEM ON SMART PHONE}
본 발명은 스마트폰에서 음성 정보를 이용한 일회용 패스워드 기반 사용자 인증 시스템에 관한 것으로, 더욱 상세하게는 스마트폰을 이용한 전자금융 서비스에서의 보안성을 강화하고 사용자 인증 취약점을 개선하기 위해 각 개인이 고유하게 소유하고 있는 음성 정보와 기존의 전자금융 서비스에서 사용되는 OTP 기술을 접목한 스마트폰에서 음성 정보를 이용한 일회용 패스워드 기반 사용자 인증 시스템에 관한 것이다.
스마트폰 사용자 인증 취약성
최근 스마트폰 관련 보안사고가 다수 발생하고 있어 사회적 문제로 대두되고 있으며 특히 단말내 저장된 개인정보 등이 외부로 유출되는 등의 문제가 발생하고 있다.
도 1은 종래 스마트폰 개인정보 유출 및 인증문제를 설명하기 위한 설명도이다.
도 1을 참조하면, 스마트폰(1)을 이용하여 정식 앱스토어서버(3)로부터 소프트웨어 프로그램을 다운로드 받고, 또는 무료 시장(FREE MARKET) 서버(4)로부터 소프트웨어 프로그램을 다운로드 받아 설치하게 된다. 피처폰(2)을 통해서도 가능하다.
한편, 스마트폰(1)을 이용할 경우 악성코드 등에 의해 원격제어, 정상 동작 방해 및 전자금융 서비스 관련 과금유도 등의 문제가 발생할 수 있다. 또한 스마트폰(1)에 설치되는 소프트웨어가 멀티태스킹 방식으로 구동되는 과정에서 개인정보가 유출되는 문제가 발생하여 이에 대한 대응 기술이 제시되어야 한다. 즉 사용자도 모르게 백그라운드 상태에서 개인 정보가 유출되거나 서비스거부공격이 가능하다.
또한, 스마트폰 단말(1)에서의 보안 취약성으로는 악성코드 감염, 데이터 유출, 사용자 오남용 및 단말 분실/도난등의 보안 취약성이 발생할 수 있으며, 공중망 및 전달망에서의 보안 취약성으로는 Wi-Fi 기반 통신시 AP에 대한 공격/해킹으로 인한 데이터 위/변조 및 유출 취약점이 발생할 수 있다. 그리고 스마트폰을 통한 인터넷망 사용시 보안 취약성으로는 스마트폰내 악성코드 등을 통한 DoS/DDoS 공격 및 인증 우회/계정 탈취 등의 보안 취약점이 발생하고 있다.
따라서 이와 같은 문제를 해결하기 위해서는 스마트폰 사용자에 대한 인증을 강화하는 방법이 제시되어야 한다. 또한 스마트폰 내부 정보에 대한 접근권한을 중심으로 보다 강화된 인증 메커니즘이 필요한 실정이다.
OTP 기술 분석
OTP(One-Time Password) 기술은 일회용 패스워드를 생성하는 기술이다. OTP 생성기술은 크게 비동기화 방식과 동기화 방식으로 나눌 수 있다.
도 2는 비동기화 OTP 방식을 설명하는 개념도로서, 비동기화 OTP 방식은 도 2에 도시된 바와 같이, Challenge Response 방식으로 작동하는 것이며, 질의 값에 대한 응답 결과로 인증과정을 수행한다. 이 방식은 서버(20)와 사용자단말(10)의 동기화가 필요없는 방식이지만 사용자의 입력이 필요하며 네트워크 과부하를 유발하기도 한다.
도 3은 동기화 OTP 방식을 설명하는 개념도로서, 동기화 OTP 방식은 시간 동기화 방식, 이벤트 동기화 방식, 이벤트-시간 동기화 방식으로 작동하며 사용자단말(10) OTP 토큰과 인증 서버(20) 사이에 정확한 동기화 과정이 필요하며 서버와 OTP 단말간의 동기화된 시간 정보를 기준으로 특정 시간 간격마다 패스워드를 생성하는 방식으로 MITM(Man-In-The-Middle) 공격에 취약하며, 재사용 시간의 제약이 있다는 문제점이 있다.
본 발명의 목적은 최근 국내외적으로 이슈가 되고 있는 스마트폰을 이용한 전자금융 서비스에서의 보안성을 강화하고 사용자 인증 취약점을 개선하기 위해 각 개인이 고유하게 소유하고 있는 음성 정보와 기존의 전자금융 서비스에서 사용되는 OTP 기술을 접목한 스마트폰에서 음성 정보를 이용한 일회용 패스워드 기반 사용자 인증 시스템을 제공하는 데 있다.
상기한 바와 같은 목적을 달성하기 위한 본 발명의 바람직한 실시예에 따르면, 스마트폰에서 음성 정보를 이용한 일회용 패스워드 기반 사용자 인증 시스템은 자신의 ID정보와 난수값 정보를 전송하고, 이후 음성신호를 전송하며, 일회용 토큰 정보를 수신하여 난수값을 획득하고, 서버를 재인증하고, 일회용 패스워드 값을 생성하여 전송하는 사용자 단말과; 상기 사용자 단말로부터의 ID정보와 난수값 정보를 근거로 사용자 인증을 수행하며, 상기 음성신호를 통해 상호인증을 수행하여 일회용 패스워드 생성을 위한 일회용 토큰을 전송하며, 수신된 일회용 패스워드 값을 검증하는 서버;를 포함하는 것을 특징으로 한다.
삭제
본 발명에 따른 스마트폰에서 음성 정보를 이용한 일회용 패스워드 기반 사용자 인증 시스템에 의하면, 기존 기법과 유사한 계산량을 보이며, 스마트폰을 통해 사용자 본인의 음성 정보를 이용하여 인증 기능을 제공하면서도 추가적으로 OTP 생성 기능을 제공하는 것을 확인할 수 있다. 인증 과정에서 사용하는 바이오메트릭 정보인 경우 기존의 기법에서는 얼굴 또는 지문 정보를 이용하였으나 본 발명에서 제시한 기법인 경우 사용자 음성 정보를 사용하도록 하였다. 따라서 본 발명에서 사용한 기법인 경우 OTP 사용자의 편의성 및 스마트폰 이용 환경을 고려한 메커니즘이라고 할 수 있다. 물론 본 발명에서 제시한 기법은 기존의 기법과 마찬가지로 지문 정보에도 적용 가능하다.
도 1은 종래기술에 따른 스마트폰에서의 정보유출과정을 설명하기 위한 개념도이다.
도 2는 종래기술에 따른 비동기화방식의 일회용 패스워드를 생성하는 과정을 설명하는 개념도이다.
도 3은 종래기술에 따른 동기회방식의 일회용 패스워드를 생성하는 과정을 설명하는 개념도이다.
도 4는 본 발명에 따른 스마트폰에서 음성 정보를 이용한 일회용 패스워드 기반 사용자 인증방법을 설명하는 개념도이다.
도 5는 도 4의 구체적인 동작흐름을 설명하는 흐름도이다.
도 6은 도 4의 사용자 단말과 서버간의 사용자 인증과정을 설명하는 흐름도이다.
도 7은 도 4의 사용자 단말과 서버간의 음성인증과정을 설명하는 흐름도이다.
도 8은 도 4의 사용자 단말과 서버간의 일회용 패스워드 인증과정을 설명하는 흐름도이다.
도 9는 도 5의 구체적인 동작과정을 수식과 함께 설명하는 흐름도로서 도5와 유사한 도면이다.
도 10 및 도 11은 본 발명에 따른 스마트폰에서 음성 정보를 이용한 일회용 패스워드 기반한 사용자 인증방법을 실제 스마트폰에서 수행하는 과정을 설명하기 위한 사용상태 설명도이다.
도 12 및 도 13은 본 발명에 따른 스마트폰에서 음성 정보를 이용한 일회용 패스워드 기반 사용자 인증방법에 의한 실행결과화면 및 결과값을 나타낸 도면이다.
도 14는 본 발명에 따른 스마트폰에서 음성 정보를 이용한 일회용 패스워드 기반 사용자 인증방법을 구체적으로 설명한 흐름도이다.
도 15는 본 발명에 따른 스마트폰에서 음성 정보를 이용한 일회용 패스워드 기반 사용자 인증방법을 간략하게 설명한 흐름도이다.
이하 본 발명에 따른 스마트폰에서 음성 정보를 이용한 일회용 패스워드 기반 사용자 인증 방법 및 시스템에 대하여 첨부도면을 참조로 상세히 설명한다.
도 4는 본 발명에 따른 스마트폰에서 음성 정보를 이용한 일회용 패스워드 기반 사용자 인증방법을 설명하는 개념도이다.
도 4를 참조하면, 본 발명에 따른 스마트폰에서 음성 정보를 이용한 일회용 패스워드 기반 사용자 인증방법은 사용자 인증단계(스텝1), 음성인증단계(스텝2), 일회용 패스워드인증단계(스텝3)로 구분할 수 있다.
V- OTP 기반 사용자 인증 구조
전자금융 서비스 이용시 사용자는 자신에 대한 인증 과정을 통과하기 위해 스마트폰(100) 등에 있는 마이크를 이용하여 서버(200)로부터 전송된 도전값에 대해 음성으로 해당 숫자 정보를 읽은 후에 캡춰된 음성 정보를 이용하여 OTP를 생성하는 과정을 수행하게 된다. 구체적으로 V-OTP 인증을 위한 사용자 음성 정보 입력 및 OTP 생성 절차를 나타내는 V-OTP 기반 사용자 인증 전체구조는 다음 도 5와 같다. 도 5는 도 4의 구체적인 동작흐름을 설명하는 흐름도이다.
도 5를 참조하면, 서버(200)는 임의의 난수 도전값을 생성하여 사용자에게 전송한다(S22,S24). 사용자는 자신의 스마트폰(100)에 탑재되어 있는 마이크 모듈을 이용하여 도전값 정보에 대해 직접 마이크를 통해 음성 정보를 입력하고 이를 서버(200)에 전송한다(S26). 서버(200)는 사용자로부터 수신된 정보를 이용하여 클라이언트 단말에 대한 인증 과정을 수행하고 서버에서 생성한 난수값을 이용하여 사용자에게 전송한다(S28). 마지막으로 사용자는 서버(200)로부터 전송 받은 정보에 대한 확인 과정을 수행한 후에 자신이 입력한 음성정보와 서버로부터 전송받은 도전값 등을 이용하여 V-OTP를 생성하고(S30) 이를 다시 서버(200)로 전송하며, 서버(200)는 이를 검증하여 최종적으로 사용자에 대한 인증 과정을 수행하게 된다(S32).
V- OTP 생성 단계
도 6은 도 4의 사용자 단말과 서버간의 사용자 인증과정을 설명하는 흐름도이고, 도 7은 도 4의 사용자 단말과 서버간의 음성인증과정을 설명하는 흐름도이고, 도 8은 도 4의 사용자 단말과 서버간의 일회용 패스워드 인증과정을 설명하는 흐름도이다.
V-OTP 기반의 사용자 인증을 위한 세부 단계를 도 6을 참조하여 설명하면 다음과 같다. 1단계, 사용자 단말(100)은 자신의 ID 정보 IDu와 User가 임의로 선택한 난수값 Rc를 서버에 전송하게 되며(S22), 서버(200)는 자신의 DB에 있는 정보를 확인하여 등록된 사용자인지 확인하는 과정을 수행한다. 만일 등록된 사용자가 아닐 경우에는 OTP 생성 과정을 종료하게 된다. 그리고 만일 사용자 단말(100)로부터 수신한 IDu가 등록된 ID라면 서버는 난수값 Rs를 생성하고, 사용자 단말(100)로부터 수신한 Rc와 함께 아래 [수학식 1]과 같이 도전값(Challenge)에 해당하는
Figure 112011031722775-pat00001
을 생성하여 이를 User로 전송하게 된다(S24).
IDu == IDu*
Figure 112011031722775-pat00002
이때 전송되는 Chal 값은 숫자 또는 문자로 구성된 것으로 클라이언트의 사용자 단말(100)에 표시된다. 클라이언트 즉 사용자단말(100)과 서버(200)가 임의로 선택하게 되는 난수값 Rc와 Rs 값은 V-OTP 기반 사용자 인증을 수행할 때마다 매번 다르게 선택하는 값이다.
2단계, 사용자 단말(100)은 서버(200)로부터 전송받은 Chal 값에 해당하는 내용에 대해 사용자 단말(100)에 있는 마이크를 통해서 해당 내용을 음성으로 읽는 과정을 수행하게 된다. 본 발명에서는 Chal 값에 대해서 5초 동안 사용자가 마이크로 음성 데이터를 입력하도록 하여 Ai 값을 생성하게 된다. 이때 [수학식 2]와 같이 사용자가 직접 입력한 음성 정보 Ai 값과 User 사용자의 IDu, 패스워드 정보 PWu 값 및 클라이언트가 임의로 선택한 난수값 Rc를 이용해서 해쉬 결과값
Figure 112011031722775-pat00003
를 생성하도록 하였고, 서버(200)로부터 수신한 Chal 값을 이용하여 [수학식 3]과 같이 응답값(Response)에 해당하는 Cu= H(Ai | Chal | Au ) 값을 생성하여 사용자가 입력한 음성 데이터 값 Ai와 함께 서버(200)로 전송하도록 하였다.
Ai = voice data
Figure 112011031722775-pat00004
Figure 112011031722775-pat00005
3단계, 이제 서버(200)는 User(100)로부터 수신한 Cu 및 Ai 값에 대해 검증하는 과정을 수행한다. [수학식 4]와 같이 자신의 DB에 저장된 사용자 u의 ID, 패스워드 값과 User로부터 수신한 난수값 Rc, 음성 데이터 Ai를 이용하여
Figure 112011031722775-pat00006
값을 생성하고, [수학식 5]와 같이 서버(200)가 생성한 Chal 값에 대해 Cu* = H( Ai* | Chal | Au* ) 값을 생성하여 User로부터 수신한 Cu 값과 비교하여 클라이언트-서버간 상호인증(Mutual Authentication) 과정을 수행하게 된다. 만일 상호인증 결과가 일치한다면 이제 V-OTP를 생성하기 위한 과정을 수행한다. [수학식 6]과 같이 서버(200)는 자신이 생성한 난수값 Rs를 이용하여 V-OTP 생성을 위한 일회용 토큰(One-time Token)
Figure 112011031722775-pat00007
를 생성하여 User에게 전송한다. 위 단계를 수식으로 표현하면 다음과 같다.
Figure 112011031722775-pat00008
Figure 112011031722775-pat00009
Figure 112011031722775-pat00010
음성 정보를 이용한 상호 인증 및 일회용 토큰 생성 구조는 도 7에 도시된 바와 같다.
4단계, 사용자 단말(100)은 서버(200)로부터 수신한 Ts 값에서 [수학식 7]과 같이 서버(200)가 임의로 선택한 난수값
Figure 112011031722775-pat00011
값을 획득하는 과정을 수행한다. 그리고 [수학식 8]과 같이 2단계에서 서버로부터 수신한 Chal 값과
Figure 112011031722775-pat00012
값이 동일한 값인지를 확인하는 서버 재인증 과정을 수행한다. 그리고 [수학식 9]와 같이 음성 데이터가 포함되어 있는 Au 값을 이용하여 일회용 패스워드
Figure 112011031722775-pat00013
값을 생성하여 이를 다시 서버(200)에 전송하게 된다.
Figure 112011031722775-pat00014
Figure 112011031722775-pat00015
Figure 112011031722775-pat00016
마지막 5단계에서, 서버(200)는 [수학식 10]과 같이 사용자 단말(100)로부터 전달된 음성 일회용 패스워드 VOTPu에 대한 확인/검증 과정을 수행하여 스마트폰 사용자에 대한 인증 과정을 마무리하게 된다. 사용자 단말(100)로부터 전달되는 VOTPu 값에는 사용자가 직접 마이크를 통해 입력한 음성 데이터 Ai와 사용자 u의 ID, 패스워드 및 난수값 Rc로부터 생성된 Au 값과 서버(200)로부터 수신된 Chal 값 및 상호인증 과정에서 서버로부터 수신한 Ts 및 Rs* 값을 이용하여 생성된 일회용 패스워드 정보이다.
Figure 112011031722775-pat00017
결국 본 발명에서 제시한 기법을 이용할 경우 기존의 스마트폰 환경에서 발생하는 사용자 인증 문제를 해결할 수 있는 방법이 되며 사용자의 음성 데이터 값을 이용하였기 때문에 MITM 공격 등에 안전한 특성을 보이고 재전송 공격을 막는 방법이기도 하다. 암호학적으로 안전한 해쉬함수와 난수발생기 및 XOR 함수만을 이용하여 인증 과정을 수행하도록 하였다. 일회용 토큰을 기반으로 음성 데이터를 이용한 V-OTP 생성 및 검증 과정은 다음 도 8과 같다.
음성 기반 V- OTP 생성 매커니즘
도 9는 도 5의 구체적인 동작과정을 수식과 함께 설명하는 흐름도로서 도5와 유사한 도면이다. 스마트폰을 이용해서 각 사용자마다 고유한 음성 정보를 이용하여 OTP 정보를 생성하는 세부 수식은 도 9와 같다. 사용자는 기존의 전자금융 서비스 이용시와 동일하게 사전에 서버에 자신의 ID와 패스워드에 대한 등록 과정을 수행하게 된다. 이제 사용자단말(100)의 ID/PW 정보는 서버(200)에 저장되어 있다는 가정하에 본 발명에서 설계 및 구현한 방식인 경우 실제적인 사용자 인증 과정에서 네트워크를 통해 사전에 등록된 자신의 패스워드 정보를 전송하지 않고 클라이언트 단말과 서버 내부에서만 사용되면서도 V-OTP 방식을 통해 사용자에 대한 인증 과정을 안전하게 수행하는 방식이다.
시스템 구현 결과
도 10 및 도 11은 본 발명에 따른 스마트폰에서 음성 정보를 이용한 일회용 패스워드 기반 사용자 인증방법을 실제 스마트폰에서 수행하는 과정을 설명하기 위한 사용상태 설명도이다.
본 발명에서 제안한 메커니즘에 대해 iPhone iOS4.2를 이용하여 구현 결과를 테스트 하였다. Apple에서 제공하는 Xcode 3.2.5 개발 환경을 이용하였으며 V-OTP 서버 부분은 MySQL을 기반으로 구현하였다. 클라이언트에서는 iOS 기반 스마트폰에서 마이크 컨트롤러 모듈을 이용하여 서버에서 생성하여 전송된 Chal 값에 대해 5초 동안 사용자 본인이 직접 자신의 음성을 통해 해당 숫자 정보를 마이크를 통해 읽도록 하였고 이를 스마트폰 단말에서 캡춰하도록 하였다. 클라이언트와 서버는 상호 인증 과정을 수행하도록 하였고, 서버는 음성 정보로부터 생성된 일회용 토큰 값을 다시 스마트폰으로 전송하면 최종적으로 음성 정보로부터 일회용 패스워드를 생성하도록 하였다. 본 발명에서 V-OTP 방식에 대해 구현 결과 실행화면은 다음 도 10과 같다.
도 10과 같이 본 발명에서 구현한 V-OTP 소프트웨어에 대해 실행하는 과정에서 기존 방식과 동일하게 서버에 등록된 ID 및 패스워드 정보를 입력하게 된다. 이때 사용자가 입력한 패스워드 정보는 스마트폰 단말 내부에서만 사용되는 정보이며 네트워크를 통해 서버로 전송되지 않는 정보이다. 사용자가 입력한 ID 값에 대해 클라이언트 단말에서 생성한 난수값 Rc와 함께 서버로 전송하면 일차적으로 서버 DB에 저장된 ID 목록과 확인하여 만일 등록되지 않은 ID일 경우에는 이후 과정을 종료하고 이에 대해 도 10과 같이 스마트폰 단말에 표시하도록 하였다.
사용자 ID에 대한 확인 과정 후에 서버는 Chal 값을 생성하여 이를 스마트폰 단말에 전송하게 된다. 아래 도 11의 실행화면인 경우 서버로부터 도전값 ‘205871198’이 수신된 것을 볼 수 있으며, 사용자는 이제 스마트폰에 내장된 마이크 장치를 이용하여 해당 숫자 정보를 음성으로 직접 읽는 과정을 수행하게 된다.
본 발명에서는 9자리 숫자에 대해 사용자에게 5초 동안의 시간을 주어 음성 정보를 입력하도록 하였다. 입력된 정보에 대해서는 다시 앞에서 제시한 수학식 등을 이용하여 Cu 값을 생성하고 이를 서버(200)로 전송하도록 하였다.
V- OTP 실행 결과 확인 및 검증
본 발명에서 구현한 V-OTP 방식에서 음성 정보를 이용하여 스마트폰 단말과 서버에서 각각 생성되는 결과값에 대한 실행 결과는 각각 도 12 및 도 13과 같다.
도 12 및 도 13은 본 발명에 따른 스마트폰에서 음성 정보를 이용한 일회용 패스워드 기반 사용자 인증방법에 의한 실행결과화면 및 결과값을 나타낸 도면이다.
도 12와 같이 스마트폰에서 사용자 ID ‘aaa'에 대해 난수값(Rc) 16807이 생성되어 서버로 전송되었으며, 서버가 생성하여 전송한 Chal 값 ’205871198‘을 수신하게 된다. 이제 클라이언트는 사용자가 입력한 음성 정보를 버퍼에서 읽어 Au, Cu 값을 생성하게 되고 이를 서버(200)에 전송하게 된다.
다시 클라이언트 모듈에서는 서버(200)가 생성하여 보내온 일회용 토큰 Ts 값을 이용하여 Rs 값을 추출하게 되고 앞에서 검증 과정으로 동일한 Chal 값이 나오는 것을 확인하게 된다. 이제 최종적으로 음성 정보를 이용하여 클라이언트에서의 V-OTP 값을 생성하고 이를 서버(200)에 전송하게 된다.
도 12는 V-OTP 클라이언트 실행 후 결과화면을 나타낸 것이다.
서버(200)에서의 실행 후 결과값은 도 13과 같다. 클라이언트로부터 사용자 ID 및 난수값을 수신하고 서버 역시 난수값 ‘879160508’을 생성한 것을 확인할 수 있다. 그리고 이값을 이용하여 Chal 값에 해당하는 PIN 값 ‘205871198’을 생성하여 이를 클라이언트 단말로 전송하게 된다.
다시 서버(200)는 클라이언트로부터 송신된 값 Cu에 대한 확인/검증 과정을 수행하고 Ts를 생성하여 이를 다시 스마트폰(100)에 전송한다. 마지막으로 클라이언트로부터 수신된 V-OTP 값에 대한 확인/검증 과정을 수행하여 최종적으로 스마트폰 환경에서 사용자의 음성 정보를 이용한 일회용 패스워드 기반 인증 과정을 완료하게 된다.
안전성 및 성능 분석
도 14는 본 발명에 따른 스마트폰에서 음성 정보를 이용한 일회용 패스워드 기반 사용자 인증방법을 구체적으로 설명한 흐름도이고, 도 15는 본 발명에 따른 스마트폰에서 음성 정보를 이용한 일회용 패스워드 기반 사용자 인증방법을 간략하게 설명한 흐름도이다.
도 14에서, 참조부호 112는 아이디 확인부를 나타내며, 114는 난수발생부를 나타낸다.
참조부호 212는 아이디체크부를 나타내며, 214는 도전값 생성부를 나타내고, 216은 도전값 전송부를 나타낸다. 참조부호 240은 데이터베이스를 나타낸다.
참조부호 113,213은 해쉬함수생성기를 나타내며, 115,215는 MAC생성기를 나타내며, 218은 일회용 토큰생성부를 나타낸다.
참조부호 117은 일회용 패스워드발생기를 나타내며, 217은 일회용 패스워드 검증부를 나타낸다.
본 발명에서 제시한 스마트폰에서의 음성 정보를 이용한 일회용 패스워드(V-OTP) 메커니즘은 도 14와 같이 스마트폰내 마이크 장치(111)를 이용하여 자신의 음성 정보를 캡춰하여 자신의 IDu와 패스워드 PWu 및 인증 요청시 매번 다르게 선택되는 난수값 Rc를 이용하여
Figure 112011031722775-pat00018
를 생성하도록 하였다. Au 값에는 단순히 ID/PW 정보만 들어가는 것이 아니라 사용자가 인증 요청시 매번 선택하게 되는 난수값 Rc를 포함하게 하였기 때문에 네트워크를 통해 전송되는 정보 Au에는 사용자의 패스워드를 Rc와 XOR 함수를 이용하여 해쉬함수를 적용한 후에 전송되도록 하였기 때문에 해쉬함수의 일방향성에 따라서 원래의 패스워드 값을 알아내기는 어렵다. 또한 Au에서 사용하는 음성 정보 Ai는 사용자가 5초 동안 입력한 정보 중에서 일부 정보만을 사용하도록 하였기 때문에 사전공격(Dictionary attack)에 의한 패스워드 유출 가능성을 낮출 수 있도록 하였다. 따라서 전자금융 서비스에서 MITM (Man-In-The-Middle) 공격 등을 사용한다고 할지라도 클라이언트에 전송되는 Au 정보 내에 클라이언트가 임의로 선택한 난수값 Rc가 포함되어 있기 때문에 재사용이 불가능한 형태라는 것을 알 수 있다.
또한 Au 값에는 클라이언트(100)가 서버(200)로 전송한 Rc 값에 대해 서버가 생성한 Rs 값을 이용하여 생성된 해쉬값을 Chal 값으로 다시 PIN 값을 수신하여 음성 정보를 생성한 것이므로 클라이언트에 대한 인증 확인 및 부인봉쇄 기능으로도 사용할 수 있는 방식이 된다.
일회용 패스워드 생성 과정의 보안성을 강화하기 위해 Au 값을 바로 서버(200)로 전송하는 것 대신에 클라이언트(100)는 서버(200)로부터 수신한 Chal 값을 Au 및 음성 정보 Ai와 함께 해쉬값을 계산하여 축약된 형태로 전송하였기 때문에 서버(200)에서는 메시지에 대한 무결성을 확인함과 동시에 전달된 메시지에 대한 검증 기능까지도 제공하게 하였다.
서버(200)가 마치 클라이언트인 것처럼 위장하여 앞에서 제시한 2단계 및 3단계 과정에서 생성되는 정보를 서버가 자체적으로 생성한 후에 클라이언트 대신 인증 과정을 수행하는 경우도 생각할 수 있다. 하지만 이와 같은 경우 첫째로 서버(200)는 클라이언트 대신에 Chal 값에 대한 음성 정보를 생성하는 과정을 수행해야 한다. 서버(200)가 클라이언트인 것처럼 위장해서 5초 기간에 해당하는 음성 정보를 생성해야 한다. 이에 서버(200)는 자신이 직접 음성 정보를 생성하는 공격을 수행할 수도 있고, 또 다른 방법으로는 이전에 수행된 트랜젝션에서 클라이언트가 보내온 음성 정보 Ai_old를 사용할 수도 있다. 하지만 이 경우 서버(200)가 자체 생성해야 하는 Au*_fake 정보에 클라이언트 난수값 Rc값 또한 변조/생성해야 한다. 또한 서버(200)가 자체 인증과 V-OTP 생성을 위해 클라이언트로 전송하는 일회용 토큰내에도 포함되는 자체 생성 위조값 Cu*_fake 역시 Chal 값이 포함되어 있고 이 값 역시
Figure 112011031722775-pat00019
형태로 클라이언트가 보내온 난수값을 포함하도록 되어 있다. 따라서 서버(200)가 클라이언트를 위장해서 2단계 및 3단계 과정을 위장공격할 가능성은 없다는 것을 확인할 수 있다.
음성 정보 기반 일회용 패스워드를 생성하는 4단계 및 5단계 과정에서 서버로부터 전송된 일회용 토큰 Ts를 사용하여 클라이언트는 Rs* 값을 추출/계산하게 되고 다시 자신이 선택하였던 난수값 Rc와 해쉬과정을 수행하여 이를 2단계에서 서버(200)로부터 수신한 Chal 값과 비교하는 과정을 수행하도록 하였다. 따라서 전체 트렌젝션이 서로 유기적인 관계를 갖도록 하였으며 클라이언트는 서버에 대한 인증 과정을 수행하고 다시 서버는 클라이언트에 대한 인증 과정을 수행하는 상호 인증(Mutual Authentication) 과정을 수행하도록 하여 보안성을 향상하도록 하였다.
인증 과정에서 클라이언트-서버간 송수신되는 정보는 일방향 해쉬 함수와 XOR 함수 및 암호학적으로 안전한 길이의 난수값만을 이용하도록 하였다. 이는 스마트폰에서의 계산 성능을 고려하고 최소한의 리소스를 사용하면서도 사용자에 대한 인증 기능을 강화하기 위한 방법으로 제안한 것이다. 스마트폰 기반 전자금융 서비스에서 사용자 인증을 위해 현재 사용되고 있는 OTP 방식에서 보안성을 강화하기 위해 각 개인이 마이크 장치를 통해 서버(200)로부터 전송된 PIN 값에 대해 음성 정보로 입력한 후에 상호 인증 및 검증 과정을 통해 최종적으로 V-OTP 정보를 이용하여 스마트폰 사용자에 대한 인증 과정을 수행하게 되어 네트워크를 통해 사용자의 패스워드 정보에 대한 노출 없이 인증 과정을 수행할 수 있다.
도 15를 참조하면, 본 발명에 따른 스마트폰에서 음성 정보를 이용한 일회용 패스워드 기반 사용자 인증 방법을 간략히 설명한다.
먼저, 사용자 인증단계(S102)가 수행된다. 사용자 인증단계에서는, [수학식 1]이 사용된다.
이후, 음성데이터 포함한 응답값 전송단계(S104)가 수행된다. 이 단계에서는, [수학식 2] 및 [수학식 3]이 사용된다.
이후, 상호 인증단계(S106)가 수행된다. 상호 인증단계에서는, [수학식 4] 및 [수학식 5]이 사용된다.
이후, 상기 상호인증 단계에서 일치여부를 확인하고(S108), 일치하는 경우 일회용 토큰을 생성하는 단계(S110)가 수행된다. 일회용 토큰 생성단계에서는 [수학식 6]이 사용된다.
이후, 난수값을 획득하는 단계(S112)가 수행된다. 이 단계에서는, [수학식 7]이 사용된다.
이후, 서버 재인증 단계(S114)가 수행된다. 이 단계에서는, [수학식 8]이 사용된다.
이후, 일회용 패스워드값 생성단계(S116)가 수행된다. 이 단계에서는, [수학식 9]가 사용된다.
이후, 일회용 패스워드 값 검증단계(S118)가 수행된다.이 단계에서는 [수학식 10]이 사용된다.
본 발명은 스마트폰을 통해 사용자 본인의 음성 정보를 이용하여 인증 기능을 제공하면서도 추가적으로 OTP 생성 기능을 제공하는 것을 확인할 수 있다. 인증 과정에서 사용하는 바이오메트릭 정보인 경우 기존의 기법에서는 얼굴 또는 지문 정보를 이용하였으나 본 발명에서 제시한 기법인 경우 사용자 음성 정보를 사용하도록 하였다. 따라서 본 발명에서 사용한 기법인 경우 OTP 사용자의 편의성 및 스마트폰 이용 환경을 고려한 메커니즘이라고 할 수 있다. 물론 본 발명에서 제시한 기법은 기존의 기법과 마찬가지로 지문 정보에도 적용 가능하다.
100: 스마트폰
112: 아이디확인부
113,213: 해쉬함수생성기
114: 난수발생부
115,215: MAC생성기
117: 일회용 패스워드 생성부
200: 서버
212: 아이디체크부
214: 도전값 생성부
216: 도전값 전송부
217: 일회용 패스워드 검증부
218: 일회용 토큰 생성부
240: 데이터베이스

Claims (11)

  1. 삭제
  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
  6. 삭제
  7. 삭제
  8. 삭제
  9. 삭제
  10. 아이디정보를 확인하는 아이디확인부;
    해쉬함수를 생성하는 해쉬함수생성기;
    난수를 발생하는 난수발생기;
    MAC정보를 생성하는 MAC생성기;
    일회용 패스워드를 생성하여 전송하는 일회용 패스워드 생성부;를 포함하는 사용자 단말과;
    상기 사용자 단말로부터 전송된 아이디를 체크하는 아이디체크부;
    상기 사용자 단말로부터 전송된 난수값을 통해 도전값을 생성하는 도전값 생성부;
    상기 도전값 생성부에서 생성된 도전값을 사용자단말로 전송하는 도전값 전송부;
    상기 사용자단말로부터 전송된 일회용 패스워들 검증하는 일회용 패스워드 검증부;
    상기 사용자단말로 전송하기 위한 일회용 토큰을 생성하는 일회용 토큰 생성부;
    상기 사용자 단말의 정보를 검증하기 위한 정보를 저장관리하는 데이터베이스;를 포함하는 서버;를 포함하는 것을 특징으로 하는 스마트폰에서 음성 정보를 이용한 일회용 패스워드 기반 사용자 인증 시스템.
  11. 자신의 ID정보와 난수값 정보를 전송하고, 이후 음성신호를 전송하며, 일회용 토큰 정보를 수신하여 난수값을 획득하고, 서버를 재인증하고, 일회용 패스워드 값을 생성하여 전송하는 사용자 단말과;
    상기 사용자 단말로부터의 ID정보와 난수값 정보를 근거로 사용자 인증을 수행하며, 상기 음성신호를 통해 상호인증을 수행하여 일회용 패스워드 생성을 위한 일회용 토큰을 전송하며, 수신된 일회용 패스워드 값을 검증하는 서버;를 포함하는 것을 특징으로 하는 스마트폰에서 음성 정보를 이용한 일회용 패스워드 기반 사용자 인증 시스템.
KR1020110040211A 2011-04-28 2011-04-28 스마트폰에서 음성정보를 이용한 일회용 패스워드 기반 사용자 인증 시스템 KR101243101B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110040211A KR101243101B1 (ko) 2011-04-28 2011-04-28 스마트폰에서 음성정보를 이용한 일회용 패스워드 기반 사용자 인증 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110040211A KR101243101B1 (ko) 2011-04-28 2011-04-28 스마트폰에서 음성정보를 이용한 일회용 패스워드 기반 사용자 인증 시스템

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020130001080A Division KR101310043B1 (ko) 2013-01-04 2013-01-04 스마트폰에서 음성정보를 이용한 일회용 패스워드 기반 사용자 인증 방법

Publications (2)

Publication Number Publication Date
KR20120122185A KR20120122185A (ko) 2012-11-07
KR101243101B1 true KR101243101B1 (ko) 2013-03-13

Family

ID=47508480

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110040211A KR101243101B1 (ko) 2011-04-28 2011-04-28 스마트폰에서 음성정보를 이용한 일회용 패스워드 기반 사용자 인증 시스템

Country Status (1)

Country Link
KR (1) KR101243101B1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101308152B1 (ko) * 2012-11-19 2013-09-12 주식회사 엔에스에이치씨 스마트 기기를 통한 모바일 오티피 장치의 등록 방법
KR101286766B1 (ko) * 2013-01-21 2013-07-16 주식회사 엔에스에이치씨 클로즈드 소스로 클라이언트에 탑재되는 플랫폼의 검증 방법
KR101531848B1 (ko) * 2013-11-20 2015-06-29 금오공과대학교 산학협력단 사용자 중심의 내비게이션 통신장치
KR101579923B1 (ko) * 2013-12-20 2015-12-23 펜타시큐리티시스템 주식회사 일회용 비밀번호 생성 방법 및 이를 수행하는 장치
KR102437596B1 (ko) * 2020-09-14 2022-08-29 주식회사 에이비일팔공 Api 스푸핑 방지 시스템 및 그 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030135740A1 (en) 2000-09-11 2003-07-17 Eli Talmor Biometric-based system and method for enabling authentication of electronic messages sent over a network
KR20070105072A (ko) * 2006-04-25 2007-10-30 (주) 코아보이스 인터넷 전자결제 서비스 시스템에서 음성신호를 이용한일회용 비밀번호 인증 시스템 및 그 방법
US20080072303A1 (en) 2006-09-14 2008-03-20 Schlumberger Technology Corporation Method and system for one time password based authentication and integrated remote access
KR20080075956A (ko) * 2007-02-14 2008-08-20 에스케이씨앤씨 주식회사 생체정보를 이용하는 사용자 인증방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030135740A1 (en) 2000-09-11 2003-07-17 Eli Talmor Biometric-based system and method for enabling authentication of electronic messages sent over a network
KR20070105072A (ko) * 2006-04-25 2007-10-30 (주) 코아보이스 인터넷 전자결제 서비스 시스템에서 음성신호를 이용한일회용 비밀번호 인증 시스템 및 그 방법
US20080072303A1 (en) 2006-09-14 2008-03-20 Schlumberger Technology Corporation Method and system for one time password based authentication and integrated remote access
KR20080075956A (ko) * 2007-02-14 2008-08-20 에스케이씨앤씨 주식회사 생체정보를 이용하는 사용자 인증방법

Also Published As

Publication number Publication date
KR20120122185A (ko) 2012-11-07

Similar Documents

Publication Publication Date Title
US10491587B2 (en) Method and device for information system access authentication
US20190281028A1 (en) System and method for decentralized authentication using a distributed transaction-based state machine
KR101019458B1 (ko) 확장된 일회용 암호 방법 및 장치
US8893251B2 (en) System and method for embedded authentication
US20160269181A1 (en) Method and Device for Information System Access Authentication
US20120066749A1 (en) Method and computer program for generation and verification of otp between server and mobile device using multiple channels
KR101238687B1 (ko) 바이오메트릭 정보를 이용한 일회용 패스워드 기반 사용자 인증 시스템
US9635022B2 (en) Method of allowing establishment of a secure session between a device and a server
US20110219427A1 (en) Smart Device User Authentication
CN101257489A (zh) 一种保护账号安全的方法
WO2019085531A1 (zh) 一种终端联网认证的方法和装置
Mannan et al. Leveraging personal devices for stronger password authentication from untrusted computers
KR101028882B1 (ko) 휴대단말기를 이용한 otp 방식의 사용자인증 시스템 및 방법
US20140075525A1 (en) Strong authentication by presentation of the number
JP2010539618A (ja) フィッシング攻撃を防ぐ方法および装置
US9660981B2 (en) Strong authentication method
CN110278084B (zh) eID建立方法、相关设备及系统
CN107612949B (zh) 一种基于射频指纹的无线智能终端接入认证方法及系统
KR101243101B1 (ko) 스마트폰에서 음성정보를 이용한 일회용 패스워드 기반 사용자 인증 시스템
US8635454B2 (en) Authentication systems and methods using a packet telephony device
KR101297118B1 (ko) 바이오메트릭 정보를 이용한 일회용 패스워드 기반 사용자 인증 방법
Khan et al. Offline OTP based solution for secure internet banking access
KR20100136572A (ko) 클라이언트 어드레스 인증방식에 의한 일회용 비밀번호 생성 방법 및 장치
US9686270B2 (en) Authentication systems and methods using a packet telephony device
Hussain et al. Secure annihilation of out-of-band authorization for online transactions

Legal Events

Date Code Title Description
A201 Request for examination
A107 Divisional application of patent
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20160325

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190307

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20200309

Year of fee payment: 8