KR20100104161A - 피싱 방지를 위한 일회용 비밀번호 생성 방법 및 장치 - Google Patents

피싱 방지를 위한 일회용 비밀번호 생성 방법 및 장치 Download PDF

Info

Publication number
KR20100104161A
KR20100104161A KR1020090022386A KR20090022386A KR20100104161A KR 20100104161 A KR20100104161 A KR 20100104161A KR 1020090022386 A KR1020090022386 A KR 1020090022386A KR 20090022386 A KR20090022386 A KR 20090022386A KR 20100104161 A KR20100104161 A KR 20100104161A
Authority
KR
South Korea
Prior art keywords
time password
client
server
time
password
Prior art date
Application number
KR1020090022386A
Other languages
English (en)
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 KR1020090022386A priority Critical patent/KR20100104161A/ko
Publication of KR20100104161A publication Critical patent/KR20100104161A/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/3236Cryptographic 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 cryptographic hash functions
    • H04L9/3239Cryptographic 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 cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명은 피싱(Phishing) 방지를 위한 일회용 비밀번호 생성 방법 및 그러한 방법이 실행되는 장치에 관한 것이다.
본 발명에 의한 일회용 비밀 번호 생성 및 인증 방법은 일회용 비밀번호 서버와, 메인 서버와, 비밀번호 입력을 필요로 하는 클라이언트(사용자 PC 또는 이동통신단말기 등)와, 상기 일회용 비밀번호 서버, 메인 서버 및 클라이언트를 연결하는 네트워크를 포함하는 환경에서의 일회용 비밀번호 생성 및 인증 방법에 관한 것으로서, (1) 일회용 비밀번호 생성에 활용될 시드값을 생성하여 일회용 비밀번호 서버에 저장하는 단계와, (2) 클라이언트 IP Address를 확인하는 단계와, (3) 상기 시드값, 일회용 비밀번호 발급 시간 정보 및 클라이언트 IP Address 정보를 기초로 일방향 해쉬 함수를 사용하여 일회용 비밀번호를 생성하는 단계와, (4) 상기 과정에 의해 획득된 일회용 비밀번호를 사용자가 클라이언트에 입력하는 단계와, (5) 입력된 비밀번호가 메인서버를 통해 일회용 비밀번호 서버에 전송되어 일회용 비밀번호가 올바른 것인지를 판단하는 인증 단계를 포함한다.
one time password, phishing, IP Address, OTP, 일회용 비밀번호, 피싱, 해킹, 금융 거래, 뱅킹

Description

피싱 방지를 위한 일회용 비밀번호 생성 방법 및 장치{Apparatus and Method for Creating Anti-Phishing OTP}
본 발명은 일회용 비밀번호 생성 및 인증에 관한 것으로 더욱 상세하게는 개인정보를 불법으로 얻으려는 피셔(Phisher)가 불특정 다수에게 이메일을 보내 네티즌 금융정보 등을 빼내는 신종 금융사기 기법인 피싱(Phishing) 기법을 방지하기 위한 일회용 비밀번호 생성 및 인증에 관한 시스템 및 방법에 관한 것이다.
무인 현금 인출기, 인터넷 뱅킹 그리고 폰 뱅킹 등의 금융 거래에 있어서 거래 당사자가 본인인지를 확인하는 인증 수단으로서 비밀 번호가 널리 사용되고 있다. 사용자에 의해 입력된 비밀번호는 통신망을 통하여 메인서버 등에 전달되고 메인서버는 입력된 비밀 번호가 등록된 비밀 번호와 동일한 지 여부를 판단하여 인증하게 된다. 그러나 통신망을 통한 비밀 번호 전송 과정에서 문제가 발생하여 비밀 번호가 유출될 경우 금융 거래의 신뢰성을 확보할 수 없다.
그래서, 이러한 문제점을 방지하기 위하여 일회용 비밀 번호 즉 OTP(One-time Password)가 사용되고 있다. OTP 서비스는 매번 로그인 시마다 무작위적으로 생성되는 난수를 비밀번호로 사용함으로써 보안성을 확보하는 시스템으로 크게 시간 기 준(Time Sync)과 사건 기준(Event Sync)이라는 두 가지 알고리즘으로 구분된다. 시간 기준은 로그인 시 일정 시간 동안 사용 가능한 비밀번호를 발급하는 방식이며(유효 시간이 지날 경우 해당 번호는 자동으로 폐기된다), 사건 기준은 로그인 시 다음 로그인에 사용 가능한 비밀번호를 발급하는 방식이다. 두 방식 모두 사용되는 OTP는 일회용이므로 통신망을 통해 제삼자에게 유출되더라도 제삼자가 사용할 수 없는 것으로 판단되어 안전한 것으로 여겨져 왔다.
그러나, 2006년 7월경 미국 시티은행에서 "피싱(Phishing)"에 의한 해킹으로 뚫리는 사건으로 인해 OTP 방식이 결코 100% 안전하지는 않은 것으로 확인되었다. 시티은행 해킹 사건은 해커가 만든 피싱 사이트에 사용자들이 OTP를 입력, 이를 가로챈 해커가 인증 유효 시간 이전에 해당 인증 번호로 은행 계좌에 침투한 사건이다. 이와 같은 피싱 공격(Real Time Phishing Attack)은 OTP라 할지라도 극복하기 어려운데, 이는 OTP뿐만 아니라 웹 상에 정보를 입력해야 하는 모든 시스템이 극복하기 어려운 보안 취약점이다.
상기한 문제점을 해결하기 위하여 본 발명은 그 동안 OTP에서 주로 사용하던 시간 동기 방식에 클라이언트 IP Address 정보를 함께 추가하여 사용함으로써 피셔(Phisher)가 일회용 비밀번호를 피싱(Phishing)으로 확보하더라도 사용할 수 있게 하여 피싱(Phishing)과 같은 공격으로부터의 보안성을 훨씬 높인 일회용 비밀 번호 생성 방법 및 장치를 제공하는 것을 목적으로 한다.
본 발명에 의한 일회용 비밀 번호 생성 및 인증 방법은 일회용 비밀번호 서버와, 메인 서버와, 비밀번호 입력을 필요로 하는 클라이언트(사용자 PC 또는 이동통신단말기 등)와, 상기 일회용 비밀번호 서버, 메인 서버 및 클라이언트를 연결하는 네트워크를 포함하는 환경에서의 일회용 비밀번호 생성 및 인증 방법에 관한 것으로서, (1) 일회용 비밀번호 생성에 활용될 시드값을 생성하여 일회용 비밀번호 서버에 저장하는 단계와, (2) 클라이언트 IP Address를 확인하는 단계와, (3) 상기 시드값, 일회용 비밀번호 발급 시간 정보 및 클라이언트 IP Address 정보를 기초로 일방향 해쉬 함수를 사용하여 일회용 비밀번호를 생성하는 단계와, (4) 상기 과정에 의해 획득된 일회용 비밀번호를 사용자가 클라이언트에 입력하는 단계와, (5) 입력된 비밀번호가 메인서버를 통해 일회용 비밀번호 서버에 전송되어 일회용 비밀번호가 올바른 것인지를 판단하는 인증 단계를 포함한다.
상기 단계를 더욱 상세하게 설명하면 아래와 같다.
상기 시드값 생성단계 (1)에서는 시드값 생성을 위해 필요한 정보를 사용자로부터 입력 받는 과정을 포함할 수도 있고 임의로 할당된 값(예를 들어서 OTP단말기의 하드웨어 칩에 기록되어 있는 경우)을 시드값으로 활용할 수도 있다. 다만, 임의로 할당된 값을 시드값으로 활용할 경우에는 사용자와 시드값을 매핑하는 작업이 추후 필요하다.
상기 단계 (2)에서 클라이언트 IP Address를 확인할 때는 메인서버가 인식하는 IP Address를 확인해야 한다. 현재 IP Address 부족으로 인해 사설 IP Address를 쓰는 경우가 많아서 메인서버가 인식할 수 있는 공인 IP Address를 확인해야 한다. 공인 IP Address는 공인 IP Address 확인 웹사이트를 구축하여 활용하거나 Web Browser에 확인 기능을 넣어서 확인할 수 있다. 또한 안전을 위해서 별도의 공인 IP 확인 프로그램을 설치해서 사용할 수도 있다. 그러나 금융 거래가 이뤄지는 사이트에서 직접 공인 IP Address를 확인하는 기능을 구현하는 것은 피싱(Phishing) 기법에 악용될 수 있으므로 주의해야 한다. 또한 확인된 IP Address값을 그대로 쓸 수도 있으나 IP Address를 해쉬 처리 등의 방법으로 변환하여 쓸 수도 있다. 이는 향후 사용하게 될 IPv6의 IP Address 규격이 너무 복잡하여 입력의 불편을 줄여주기 위한 것이다. IPv6의 경우 대부분이 공인 IP Address를 쓰게 될 것이므로 USB 등의 접속 장치를 통해 자동으로 IP Address 확인 작업을 수행할 수도 있다.
상기 단계 (3)에서 일회용 비밀번호 생성은 서버 측에서 수행되어 사용자에게 전달되거나 사용자 측에서 직접 수행될 수 있다.
상기 단계(4)에서는 생성된 일회용 비밀번호 외에 추가로 별도의 사용자만이 알고 있는 비밀번호를 사용하여 두 비밀번호를 조합함으로써 보안성을 더 강화할 수도 있다. 이럴 경우 사용자만이 알고 있는 비밀번호 또한 일회용 비밀서버 또는 메인 서버가 인지하고 있어야 한다.
상기 단계(5)에서는 (4)단계에서 입력한 일회용 비밀번호가 메인서버를 통해 일회용 비밀번호 서버에 전달되는데 메인서버는 일회용 비밀번호와 함께 클라이언트 IP Address값을 확인하여 함께 전달한다. 일회용 비밀번호 서버는 보관하고 있는 사용 자 시드값과 시간 정보 및 클라이언트 IP Address값(일회용 비밀번호 생성 시 해쉬값을 사용했을 경우 해쉬 처리해서 사용함)을 이용하여 일회용 비밀번호를 생성하고 이 값이 사용자로부터 메인서버를 통해 받은 값과 일치하는 지를 확인한다. 상기 두 값의 일치 여부에 대한 정보를 일회용 비밀번호 서버는 메인서버에게 전달하고 메인서버는 사용자에게 인증 여부를 통보한다.
이하에서는 일회용 비밀 번호를 생성하는 알고리즘에 대해서 설명하기로 한다.
일회용 비밀번호는 최초에 등록된 사용자 시드값과 시간 변환 과정에 의해 변환된 시간 정보 및 클라이언트 IP Address 정보에 의해 생성된다. 이것은 다음 수학식에 의해 계산될 수 있다.
OTP_VALUE = H[n](CURRENT_TIME, USER_SEED, IP_ADDRESS_VALUE)
여기에서 H는 일방향 해쉬 함수이고, n은 해쉬 함수의 수행 횟수이다. 변수(CURRENT_TIME)는 사건 변환 과정에 의해 변환된 시간 정보이며, 변수(USER_SEED)는 최초에 등록된 사용자 시드값이고, 변수(IP_ADDRESS_VALUE)는 IP Address값 또는 IP Address를 해쉬 처리한 값이다.
상기 함수는 본 발명의 예시로 표현한 것으로, 세 가지 변수인 사용자 정보, 시간 정보 및 IP Address 정보를 이용하여 일회용 비밀번호를 특정 사용자, 특정 시간 및 특정 공간(클라이언트)으로만 제한되게 사용할 수 있게 함으로써 보안성을 향상시키는 것이 기본 사상이다. 따라서, 추가로 별도의 변수를 추가하였거나 각 변수의 정보를 해쉬 처리 등으로 바꾸어 사용해도 위 기본 사상에서 벗어나지 않는 한 균등론에 따라 본 발명의 권리 범위에 포함된다.
상기 함수에서 적용된 시간 변환 과정을 예로 들면 다음과 같다.
시간은 인증 가능한 시간 범위에 따라서 여러 개의 영역으로 분할되고, 특정 시간은 그 시간이 속하는 시간 범위의 최초 시간으로 변환된다. 예를 들어 OTP의 유효시간이 1분이어서 1분 단위로 분할되어 있는 경우 어느 시간 영역의 최초 시간이 12시 30분이고 실제 시간이 12시 30분 20초라면 이 시간은 12시 30분 0초로 변환된다. 그러나 변환시간은 최초가 아닌 최후 또는 범위 내의 어느 시간이나 가능하며 최초 시간으로 변환되는 것으로 본 발명의 권리범위가 제한되는 것은 아니다.
본 발명은 OTP 생성에서 기존의 시간 동기 방식에 클라이언트 IP Address값을 추가하여 OTP값 내에 클라이언트 IP Address 정보를 포함하게 되었고 인증과정에서도 클라이언트의 IP Address를 확인한다. 따라서 피셔(Phisher) 또는 해커(Hacker)와 같은 악의를 가진 제 삼자가 OTP를 확보한다 하더라도 클라이언트 IP Address가 달라서 사용하기 어렵게 된다.
또한, 본 발명은 시간 동기 방식을 따르고 있기 때문에 OTP의 유효시간이 정해져 있어서 악의를 가진 제 3자가 클라이언트 IP Address를 변조하면서 사용하는 것이 거의 불가능한 장점이 있다.
결국 본 발명은 특정 사용자가 정해진 시간 내에 정해진 공간(클라이언트)에서만 일회용 비밀번호를 사용할 수 있게 함으로써 종래의 기술에 비해 높은 보안성을 확 보하게 되는 것이다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시 예를 설명하면 다음과 같다.
본 발명은 여러 가지 방식으로 실제 구현이 가능하며 첫 번째 예는 H/W 형태의 OTP단말기 방식으로 OTP 단말기는 도1과 같이 구현할 수 있다. OTP 단말기의 외부 모습(10)은 대략 사각형상의 본체(11)와, 일회용 비밀번호를 표시하는 표시부(12)와, IP Address 등을 입력하기 위한 키 입력부(13)로 구성된다.
OTP 단말기의 내부 구성(10)은 도2와 같으며, OTP 단말기의 부품을 포함하는 본체(11); 상기 본체에 설치되어 OTP 동작 제어 신호와 OTP 단말기의 온/오프 인증을 위해 사용자가 설정한 시작 인증 정보 및 클라이언트 IP Address 정보를 입력 받는 키 입력부(12); 상기 본체에 설치되어 미리 설정된 인증용 고유 ID 정보를 출력하는 스마트 칩(13); 상기 시작 인증 정보와, OTP 단말기의 구동 프로그램 등을 저장하는 데이터저장부(14); 상기 본체에 설치되어 OTP 단말기의 시드값, 사용자가 입력한 클라이언트 IP Address 및 시간 정보를 이용하여 일회용 비밀번호 난수를 생성하는 암호화 프로그램이 포함된 OTP 난수 발생부(15); 사용자로부터 클라이언트 IP Address 정보가 입력되면 상기 OTP 난수 발생부로부터 발생되는 일회용 비밀번호 난수가 표시되도록 제어 신호를 출력하는 제어부(16); 상기 본체에 설치되어 상기 제어부로부터 출력되는 신호에 따라 상기 일회용 비밀번호 난수를 표시하는 표시부(17); 및 상기 본체에 설치되어 OTP 단말기의 작동에 필요한 전원을 공급하 는 전원부(18)를 포함한다.
OTP 단말기 방식의 전체 시스템 구성도는 도3과 같다. OTP 단말기 방식의 시스템에는 OTP 단말기(10)와, 비밀번호를 입력하게 되는 클라이언트(20)와, 메인서버(30)와, 일회용 비밀번호 서버(40)를 포함한다. 클라이언트(10)는 은행의 무인현금입출금기, 금융 거래 등을 수행하는 컴퓨터 또는 이동통신 단말기 등이 될 수 있다. 그러나 본 발명은 그러한 것에 한정되지 않고 사용자 확인을 위하여 비밀 번호의 입력을 요구하는 것이라면 어느 것이라도 적용 가능하다.
OTP 단말기 방식에서 OTP 생성 및 인증 방식은 도4와 같이 도시될 수 있으며, (1) 사용자가 클라이언트 IP Address를 확인하는 단계(S410)와, (2) 확인된 클라이언트 IP Address를 OTP 단말기에 입력하는 단계(S415)와, (3) OTP 단말기에서 일회용 비밀번호가 생성되는 단계(S420) 단계와, (4) 생성된 일회용 비밀번호가 클라이언트에 입력되어 메인서버에 전달되는 단계(S425)와, (5) 메인서버가 클라이언트 IP Address를 확인하는 단계(S430)와, (6) 메인서버는 확인된 클라이언트 IP Address를 비밀번호와 함께 일회용 비밀번호 서버에 전달하는 단계(S435)와, (7) 일회용 비밀번호 서버는 미리 저장되어 있던 OTP 단말기의 시드값, 메인서버로부터 전달된 클라이언트 IP Address 및 시간 정보를 이용하여 일회용 비밀번호를 생성하는 단계(S440)와, (8) 메인서버로부터 전달된 비밀번호와 일회용 비밀번호 서버에서 생성된 비밀번호의 일치 여부를 인증하는 단계(S445)와, (9)메인서버는 일회용 비밀번호 서버로부터의 인증결과값을 바탕으로 일회용 비밀번호의 유효성 여부를 판단하는 단계(S450)와, (10) 유효성 결과에 따라 클라이언트에 처리 성공(S455) 또 는 처리 실패(S460) 메시지를 표시하는 단계로 구성된다.
상기 과정을 위해서는 일회용 비밀번호 서버에 OTP 단말기의 시드값이 미리 저장되어 있어야 한다.
두 번째로 이동통신 단말기를 일회용 비밀번호 생성장치로 이용하는 방식에 대한 구현방법은 다음과 같다.
이동통신 단말기를 이용하는 방식의 전체 시스템 구성도는 도5와 같다. 일회용 비밀번호를 생성하는 프로그램을 다운 받아 설치되어 있는 이동통신단말기(10)와, 비밀번호를 입력하게 되는 클라이언트(20)와, 메인서버(30)와, 일회용 비밀번호 서버(40)를 포함한다.
이동통신 단말기 방식에서 OTP 생성 및 인증 방식은 도6과 같이 도시될 수 있으며, (1) 사용자가 클라이언트 IP Address를 확인하는 단계(S610)와, (2) 확인된 클라이언트 IP Address를 이동통신 단말기에 설치되어 있는 일회용 비밀번호 생성 프로그램에 입력하는 단계(S615)와, (3) 이동통신 단말기에서 일회용 비밀번호가 생성되는 단계(S620) 단계와, (4) 생성된 일회용 비밀번호가 클라이언트에 입력되어 메인서버에 전달되는 단계(S625)와, (5) 메인서버가 클라이언트 IP Address를 확인하는 단계(S630)와, (6) 메인서버는 확인된 클라이언트 IP Address를 비밀번호와 함께 일회용 비밀번호 서버에 전달하는 단계(S635)와, (7) 일회용 비밀번호 서버는 미리 저장되어 있던 사용자의 시드값, 메인서버로부터 전달된 클라이언트 IP Address 및 시간 정보를 이용하여 일회용 비밀번호를 생성하는 단계(S640)와, (8) 메인서버로부터 전달된 비밀번호와 일회용 비밀번호 서버에서 생성된 비밀번호의 일치 여부를 인증하는 단계(S645)와, (9)메인서버는 일회용 비밀번호 서버로부터의 인증결과값을 바탕으로 일회용 비밀번호의 유효성 여부를 판단하는 단계(S650)와, (10) 유효성 결과에 따라 클라이언트에 처리 성공(S655) 또는 처리 실패(S660) 메시지를 표시하는 단계로 구성되며 OTP 단말기 방식과 동일하다.
상기 과정을 위해서는 사용자의 시드값이 미리 일회용 비밀번호 서버에 저장되어 있어야 한다. 이를 위한 방법으로는 사용자가 메인서버에 접속해서 시드값을 전송할 수도 있고 이동통신단말기에 일회용 비밀번호 생성 프로그램을 받는 과정에서 시드값을 전송할 수도 있다.
세 번째로 이동통신 단말기의 SMS 전송방법을 이용하는 방식에 대한 구현방법은 다음과 같다.
이동통신 단말기의 SMS를 이용하는 방식의 전체 시스템 구성도는 도7과 같다. SMS 전송을 받는 이동통신단말기(10)와, 비밀번호를 입력하게 되는 클라이언트(20)와, 메인서버(30)와, 일회용 비밀번호 서버(40)와, SMS를 전송하는 SMS Gateway(50)를 포함한다.
이동통신 단말기의 SMS를 이용하는 방식에서 OTP 생성 및 인증 방식은 도8과 같이 도시될 수 있으며, (1) 사용자가 클라이언트에서 일회용 비밀번호 생성요청을 하는 단계(S810)와, (2) 메인서버가 클라이언트 IP Address를 확인하여 일회용 비밀번호 서버에 전송하는 단계(S815)와, (3) 일회용 비밀번호 서버가 클라이언트 IP Address, 시간 정보와 사용자 시드값을 이용해서 일회용 비밀번호를 생성하는 단계(S820)와, (4) 일회용 비밀번호 서버가 생성된 일회용 비밀번호를 SMS Gateway 에 전송하는 단계(S825)와, (5) SMS Gateway가 SMS를 전송하는 단계(S830)와, (6) 이동통신 단말기로 SMS를 접수하는 단계(S835)와, (7) SMS로 받은 OTP를 클라이언트에 입력하는 단계(S840)와, (8) 메인서버가 접수 받은 일회용 비밀번호와 클라이언트 IP Address를 일회용 비밀번호 서버에 전송하는 단계(S845)와, (9) 메인서버로부터 전달된 비밀번호 및 IP Address가 일회용 비밀번호 서버에서 생성되어 저장되어 있던 비밀번호 및 IP Address와 일치하는 지 여부를 인증하는 단계(S850)와, (10)메인서버는 일회용 비밀번호 서버로부터의 인증 결과값을 바탕으로 일회용 비밀번호의 유효성 여부를 판단하는 단계(S855)와, (11) 유효성 결과에 따라 클라이언트에 처리 성공(S860) 또는 처리 실패(S865) 메시지를 표시하는 단계로 구성된다.
상기 (1) 단계에서 일회용 비밀번호 생성 요청을 할 때 추가로 사용자 인증 절차를 거칠 수도 있다.
상기 과정을 위해서는 사용자의 시드값이 미리 일회용 비밀번호 서버에 저장되어 있어야 한다. 이를 위한 방법으로는 사용자가 메인서버에 접속해서 시드값을 전송할 수도 있고 이동통신단말기에 일회용 비밀번호 생성 프로그램을 받는 과정에서 시드값을 전송할 수도 있다.
도1은 본 발명의 예시로 구현된 OTP 단말기의 외부 모습을 표현한 정면도
도2는 본 발명의 예시로 구현된 OTP 단말기의 내부 구조를 나타낸 블록도
도3은 본 발명의 예시로 구현된 OTP 단말기 방식의 일회용 비밀번호 생성 및 인증 시스템의 전체 구성도
도4는 본 발명의 예시로 구현된 OTP 단말기 방식의 일회용 비밀번호 생성 및 인증 방법의 흐름도
도5는 본 발명의 예시로 구현된 이동통신 단말기 방식의 일회용 비밀번호 생성 및 인증 시스템의 전체 구성도
도6은 본 발명의 예시로 구현된 이동통신 단말기 방식의 일회용 비밀번호 생성 및 인증 방법의 흐름도
도7은 본 발명의 예시로 구현된 SMS 전송 방식의 일회용 비밀번호 생성 및 인증 시스템의 전체 구성도
도8은 본 발명의 예시로 구현된 SMS 전송 방식의 일회용 비밀번호 생성 및 인증 방법의 흐름도

Claims (8)

  1. 일회용 비밀번호 서버와, 메인 서버와, 비밀번호 입력을 필요로 하는 클라이언트(사용자 PC 또는 이동통신단말기 등)와, 상기 일회용 비밀번호 서버, 메인 서버 및 클라이언트를 연결하는 네트워크를 포함하는 환경에서,
    일회용 비밀번호 생성에 활용될 시드값을 생성하여 일회용 비밀번호 서버에 저장하는 단계;
    클라이언트 IP Address를 확인하는 단계;
    상기 시드값, 일회용 비밀 번호 발급 요청시의 시간을 당해 시간이 속하는 구역의 특정 시간으로 변환한 값 및 클라이언트 IP Address 정보를 기초로 일방향 해쉬 함수를 사용하여 일회용 비밀번호를 생성하는 단계;
    상기 과정에 의해 획득된 일회용 비밀번호를 사용자가 클라이언트에 입력하는 단계; 및
    입력된 비밀번호가 메인서버를 통해 일회용 비밀번호 서버에 전송되어 일회용 비밀번호가 올바른 것인지를 판단하는 인증 단계로 구성된 일회용 비밀번호 생성 및 인증 방법
  2. 일회용 비밀번호 서버와, 메인 서버와, 비밀번호 입력을 필요로 하는 클라이언트(사용자 PC 또는 이동통신단말기 등)와, 상기 일회용 비밀번호 서버, 메인 서 버 및 클라이언트를 연결하는 네트워크를 포함하는 환경에서,
    일회용 비밀번호 생성에 활용될 시드값을 생성하여 일회용 비밀번호 서버에 저장하는 단계;
    클라이언트 IP Address를 확인하는 단계;
    상기 시드값, 일회용 비밀 번호 발급 요청시의 시간을 당해 시간이 속하는 구역의 특정 시간으로 변환한 값 및 클라이언트 IP Address 정보를 기초로 일방향 해쉬 함수를 사용하여 일회용 비밀번호를 생성하는 단계;
    상기 과정에 의해 획득된 일회용 비밀번호를 사용자가 클라이언트에 입력하는 단계; 및
    입력된 비밀번호가 메인서버를 통해 일회용 비밀번호 서버에 전송되어 일회용 비밀번호가 올바른 것인지를 판단하는 인증 단계로 구성된 일회용 비밀번호 생성 및 인증 시스템
  3. 일회용 비밀번호 서버와, 메인 서버와, 비밀번호 입력을 필요로 하는 클라이언트(사용자 PC 또는 이동통신단말기 등)와, 상기 일회용 비밀번호 서버, 메인 서버 및 클라이언트를 연결하는 네트워크와, OTP 단말기를 포함하는 환경에서,
    OTP 시드값을 일회용 비밀번호 서버에 저장하는 단계;
    사용자가 클라이언트 IP Address를 확인하는 단계;
    확인된 클라이언트 IP Address를 OTP 단말기에 입력하는 단계;
    OTP 단말기에서 OTP 시드값, 일회용 비밀 번호 발급 요청시의 시간을 당해 시간이 속하는 구역의 특정 시간으로 변환한 값 및 클라이언트 IP Address 정보를 기초로 일방향 해쉬 함수를 사용하여 일회용 비밀번호를 생성하는 단계;
    생성된 일회용 비밀번호가 클라이언트에 입력되어 메인서버에 전달되는 단계;
    메인서버가 클라이언트 IP Address를 확인하는 단계;
    메인서버는 확인된 클라이언트 IP Address를 비밀번호와 함께 일회용 비밀번호 서버에 전달하는 단계;
    일회용 비밀번호 서버는 미리 저장되어 있던 OTP 단말기의 시드값, 메인서버로부터 전달된 클라이언트 IP Address 및 시간 정보를 이용하여 일회용 비밀번호를 생성하는 단계;
    메인서버로부터 전달된 비밀번호와 일회용 비밀번호 서버에서 생성된 비밀번호의 일치 여부를 인증하는 단계;
    메인서버는 일회용 비밀번호 서버로부터의 인증결과값을 바탕으로 일회용 비밀번호의 유효성 여부를 판단하는 단계; 및
    유효성 결과에 따라 클라이언트에 처리 성공 또는 처리 실패 메시지를 표시하는 단계로 구성된 일회용 비밀번호 생성 및 인증방법
  4. 일회용 비밀번호 서버와, 메인 서버와, 비밀번호 입력을 필요로 하는 클라이언트(사용자 PC 또는 이동통신단말기 등)와, 상기 일회용 비밀번호 서버, 메인 서 버 및 클라이언트를 연결하는 네트워크와, OTP 단말기를 포함하는 환경에서,
    OTP 시드값을 일회용 비밀번호 서버에 저장하는 단계;
    사용자가 클라이언트 IP Address를 확인하는 단계;
    확인된 클라이언트 IP Address를 OTP 단말기에 입력하는 단계;
    OTP 단말기에서 OTP 시드값, 일회용 비밀 번호 발급 요청시의 시간을 당해 시간이 속하는 구역의 특정 시간으로 변환한 값 및 클라이언트 IP Address 정보를 기초로 일방향 해쉬 함수를 사용하여 일회용 비밀번호를 생성하는 단계;
    생성된 일회용 비밀번호가 클라이언트에 입력되어 메인서버에 전달되는 단계;
    메인서버가 클라이언트 IP Address를 확인하는 단계;
    메인서버는 확인된 클라이언트 IP Address를 비밀번호와 함께 일회용 비밀번호 서버에 전달하는 단계;
    일회용 비밀번호 서버는 미리 저장되어 있던 OTP 단말기의 시드값, 메인서버로부터 전달된 클라이언트 IP Address 및 시간 정보를 이용하여 일회용 비밀번호를 생성하는 단계;
    메인서버로부터 전달된 비밀번호와 일회용 비밀번호 서버에서 생성된 비밀번호의 일치 여부를 인증하는 단계;
    메인서버는 일회용 비밀번호 서버로부터의 인증결과값을 바탕으로 일회용 비밀번호의 유효성 여부를 판단하는 단계; 및
    유효성 결과에 따라 클라이언트에 처리 성공 또는 처리 실패 메시지를 표시 하는 단계로 구성된 일회용 비밀번호 생성 및 인증 시스템
  5. 일회용 비밀번호 서버와, 메인 서버와, 비밀번호 입력을 필요로 하는 클라이언트(사용자 PC 또는 이동통신단말기 등)와, 이동통신단말기와 상기 일회용 비밀번호 서버, 메인 서버, 클라이언트 및 이동통신단말기를 연결하는 네트워크를 포함하는 환경에서,
    사용자로부터 입력 받은 일회용 비밀번호 사용을 위한 시드값을 일회용 비밀 번호 서버에 기록하는 단계;
    사용자가 클라이언트 IP Address를 확인하는 단계;
    확인된 클라이언트 IP Address를 이동통신 단말기에 설치되어 있는 일회용 비밀번호 생성 프로그램에 입력하는 단계;
    이동통신 단말기에서 사용자 시드값, 일회용 비밀 번호 발급 요청시의 시간을 당해 시간이 속하는 구역의 특정 시간으로 변환한 값 및 클라이언트 IP Address 정보를 기초로 일방향 해쉬 함수를 사용하여 일회용 비밀번호가 생성되는 단계;
    생성된 일회용 비밀번호가 클라이언트에 입력되어 메인서버에 전달되는 단계;
    메인서버가 클라이언트 IP Address를 확인하는 단계;
    메인서버는 확인된 클라이언트 IP Address를 비밀번호와 함께 일회용 비밀번호 서버에 전달하는 단계;
    일회용 비밀번호 서버는 저장되어 있던 사용자의 시드값, 메인서버로부터 전달된 클라이언트 IP Address 및 시간 정보를 이용하여 일회용 비밀번호를 생성하는 단계;
    메인서버로부터 전달된 비밀번호와 일회용 비밀번호 서버에서 생성된 비밀번호의 일치 여부를 인증하는 단계;
    메인서버는 일회용 비밀번호 서버로부터의 인증결과값을 바탕으로 일회용 비밀번호의 유효성 여부를 판단하는 단계; 및
    유효성 결과에 따라 클라이언트에 처리 성공 또는 처리 실패 메시지를 표시하는 단계로 구성된 일회용 비밀번호 생성 및 인증방법
  6. 일회용 비밀번호 서버와, 메인 서버와, 비밀번호 입력을 필요로 하는 클라이언트(사용자 PC 또는 이동통신단말기 등)와, 이동통신단말기와 상기 일회용 비밀번호 서버, 메인 서버, 클라이언트 및 이동통신단말기를 연결하는 네트워크를 포함하는 환경에서,
    사용자로부터 입력 받은 일회용 비밀번호 사용을 위한 시드값을 일회용 비밀 번호 서버에 기록하는 단계;
    사용자가 클라이언트 IP Address를 확인하는 단계;
    확인된 클라이언트 IP Address를 이동통신 단말기에 설치되어 있는 일회용 비밀번호 생성 프로그램에 입력하는 단계;
    이동통신 단말기에서 사용자 시드값, 일회용 비밀 번호 발급 요청시의 시간을 당해 시간이 속하는 구역의 특정 시간으로 변환한 값 및 클라이언트 IP Address 정보를 기초로 일방향 해쉬 함수를 사용하여 일회용 비밀번호가 생성되는 단계;
    생성된 일회용 비밀번호가 클라이언트에 입력되어 메인서버에 전달되는 단계;
    메인서버가 클라이언트 IP Address를 확인하는 단계;
    메인서버는 확인된 클라이언트 IP Address를 비밀번호와 함께 일회용 비밀번호 서버에 전달하는 단계;
    일회용 비밀번호 서버는 저장되어 있던 사용자의 시드값, 메인서버로부터 전달된 클라이언트 IP Address 및 시간 정보를 이용하여 일회용 비밀번호를 생성하는 단계;
    메인서버로부터 전달된 비밀번호와 일회용 비밀번호 서버에서 생성된 비밀번호의 일치 여부를 인증하는 단계;
    메인서버는 일회용 비밀번호 서버로부터의 인증결과값을 바탕으로 일회용 비밀번호의 유효성 여부를 판단하는 단계; 및
    유효성 결과에 따라 클라이언트에 처리 성공 또는 처리 실패 메시지를 표시하는 단계로 구성된 일회용 비밀번호 생성 및 인증 시스템
  7. 일회용 비밀번호 서버와, 메인 서버와, 비밀번호 입력을 필요로 하는 클라이언트(사용자 PC 또는 이동통신단말기 등)와, 이동통신단말기와, SMS 전송을 위한 SMS Gateway와, 상기 일회용 비밀번호 서버, 메인 서버, 클라이언트, SMS Gateway 및 이동통신단말기를 연결하는 네트워크를 포함하는 환경에서,
    사용자로부터 입력 받은 일회용 비밀번호 사용을 위한 시드값을 일회용 비밀 번호 서버에 기록하는 단계;
    사용자가 클라이언트에서 일회용 비밀번호 생성요청을 하는 단계;
    메인서버가 클라이언트 IP Address를 확인하여 일회용 비밀번호 서버에 전송하는 단계;
    일회용 비밀번호 서버가 사용자 시드값, 일회용 비밀 번호 발급 요청시의 시간을 당해 시간이 속하는 구역의 특정 시간으로 변환한 값 및 클라이언트 IP Address 정보를 기초로 일방향 해쉬 함수를 사용하여 일회용 비밀번호를 생성하는 단계;
    일회용 비밀번호 서버가 생성된 일회용 비밀번호를 SMS Gateway에 전송하는 단계;
    SMS Gateway가 SMS를 전송하는 단계;
    이동통신 단말기로 SMS를 접수하는 단계;
    SMS로 받은 일회용 비밀번호를 클라이언트에 입력하는 단계;
    메인서버가 접수 받은 일회용 비밀번호와 클라이언트 IP Address를 확인하여 일회용 비밀번호 서버에 전송하는 단계;
    메인서버로부터 전달된 비밀번호와 IP Address가 일회용 비밀번호 서버에서 생성되어 저장되어 있던 비밀번호와 IP Address와 일치하는 지 여부를 인증하는 단계;
    메인서버는 일회용 비밀번호 서버로부터의 인증 결과값을 바탕으로 일회용 비밀번호의 유효성 여부를 판단하는 단계; 및
    유효성 결과에 따라 클라이언트에 처리 성공 또는 처리 실패 메시지를 표시하는 단 계로 구성된 일회용 비밀번호 생성 및 인증 방법
  8. 일회용 비밀번호 서버와, 메인 서버와, 비밀번호 입력을 필요로 하는 클라이언트(사용자 PC 또는 이동통신단말기 등)와, 이동통신단말기와, SMS 전송을 위한 SMS Gateway와, 상기 일회용 비밀번호 서버, 메인 서버, 클라이언트, SMS Gateway 및 이동통신단말기를 연결하는 네트워크를 포함하는 환경에서,
    사용자로부터 입력받은 일회용 비밀번호 사용을 위한 시드값을 일회용 비밀 번호 서버에 기록하는 단계;
    사용자가 클라이언트에서 일회용 비밀번호 생성요청을 하는 단계;
    메인서버가 클라이언트 IP Address를 확인하여 일회용 비밀번호 서버에 전송하는 단계;
    일회용 비밀번호 서버가 사용자 시드값, 일회용 비밀 번호 발급 요청시의 시간을 당해 시간이 속하는 구역의 특정 시간으로 변환한 값 및 클라이언트 IP Address 정보를 기초로 일방향 해쉬 함수를 사용하여 일회용 비밀번호를 생성하는 단계;
    일회용 비밀번호 서버가 생성된 일회용 비밀번호를 SMS Gateway에 전송하는 단계;
    SMS Gateway가 SMS를 전송하는 단계;
    이동통신 단말기로 SMS를 접수하는 단계;
    SMS로 받은 일회용 비밀번호를 클라이언트에 입력하는 단계;
    메인서버가 접수 받은 일회용 비밀번호와 클라이언트 IP Address를 확인하여 일회 용 비밀번호 서버에 전송하는 단계;
    메인서버로부터 전달된 비밀번호와 IP Address가 일회용 비밀번호 서버에서 생성되어 저장되어 있던 비밀번호와 IP Address와 일치하는 지 여부를 인증하는 단계;
    메인서버는 일회용 비밀번호 서버로부터의 인증 결과값을 바탕으로 일회용 비밀번호의 유효성 여부를 판단하는 단계; 및
    유효성 결과에 따라 클라이언트에 처리 성공 또는 처리 실패 메시지를 표시하는 단계로 구성된 일회용 비밀번호 생성 및 인증 시스템
KR1020090022386A 2009-03-16 2009-03-16 피싱 방지를 위한 일회용 비밀번호 생성 방법 및 장치 KR20100104161A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090022386A KR20100104161A (ko) 2009-03-16 2009-03-16 피싱 방지를 위한 일회용 비밀번호 생성 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090022386A KR20100104161A (ko) 2009-03-16 2009-03-16 피싱 방지를 위한 일회용 비밀번호 생성 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20100104161A true KR20100104161A (ko) 2010-09-29

Family

ID=43008439

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090022386A KR20100104161A (ko) 2009-03-16 2009-03-16 피싱 방지를 위한 일회용 비밀번호 생성 방법 및 장치

Country Status (1)

Country Link
KR (1) KR20100104161A (ko)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101367621B1 (ko) * 2012-06-28 2014-02-28 삼성에스디에스 주식회사 Otp 기반 인증 시스템 및 방법
WO2014133300A1 (ko) * 2013-02-26 2014-09-04 (주)이스톰 Otp 인증 시스템 및 방법
KR20160100151A (ko) * 2015-02-13 2016-08-23 삼성전자주식회사 보안 정보의 처리
KR20170104761A (ko) * 2016-03-08 2017-09-18 한국전자통신연구원 복수개의 otp들을 이용한 otp 인증 강화 방법
US10003595B2 (en) 2013-02-26 2018-06-19 eStorm Co., LTD System and method for one time password authentication
KR101875528B1 (ko) * 2016-09-13 2018-07-06 (주)레인보우와이어리스 경량 장치를 위한 스테가노그래피 기법에 기반한 통신 방법

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101367621B1 (ko) * 2012-06-28 2014-02-28 삼성에스디에스 주식회사 Otp 기반 인증 시스템 및 방법
WO2014133300A1 (ko) * 2013-02-26 2014-09-04 (주)이스톰 Otp 인증 시스템 및 방법
US10003595B2 (en) 2013-02-26 2018-06-19 eStorm Co., LTD System and method for one time password authentication
KR20160100151A (ko) * 2015-02-13 2016-08-23 삼성전자주식회사 보안 정보의 처리
KR20170104761A (ko) * 2016-03-08 2017-09-18 한국전자통신연구원 복수개의 otp들을 이용한 otp 인증 강화 방법
KR101875528B1 (ko) * 2016-09-13 2018-07-06 (주)레인보우와이어리스 경량 장치를 위한 스테가노그래피 기법에 기반한 통신 방법

Similar Documents

Publication Publication Date Title
EP1922632B1 (en) Extended one-time password method and apparatus
CN102201915B (zh) 一种基于单点登录的终端认证方法和装置
EP2404428B1 (en) A system and method for providing security in browser-based access to smart cards
CN101192926B (zh) 帐号保护的方法及系统
US9118665B2 (en) Authentication system and method
US8266434B2 (en) System and method for providing an user's security when setting-up a connection over insecure networks
JP2015528149A (ja) 企業トリガ式2chk関連付けの起動
CN101304318A (zh) 安全的网络认证系统和方法
KR20100104161A (ko) 피싱 방지를 위한 일회용 비밀번호 생성 방법 및 장치
JP4698751B2 (ja) アクセス制御システム、認証サーバシステムおよびアクセス制御プログラム
CN113711560A (zh) 用于有效质询-响应验证的系统和方法
EP2514135B1 (en) Systems and methods for authenticating a server by combining image recognition with codes
KR20100136572A (ko) 클라이언트 어드레스 인증방식에 의한 일회용 비밀번호 생성 방법 및 장치
JP5186648B2 (ja) 安全なオンライン取引を容易にするシステム及び方法
KR101243101B1 (ko) 스마트폰에서 음성정보를 이용한 일회용 패스워드 기반 사용자 인증 시스템
KR100750214B1 (ko) 공인 인증서를 이용한 로그인 방법
KR20140046674A (ko) 클라우드 공인인증 시스템 및 그 제공방법
KR20180039037A (ko) 온라인 서비스 서버와 클라이언트 간의 상호 인증 방법 및 시스템
KR20110019684A (ko) 클라이언트 맥 어드레스 인증방식에 의한 일회용 비밀번호 생성 방법 및 장치
JP4895288B2 (ja) 認証システム及び認証方法
KR20130024934A (ko) 스마트폰에서 음성정보를 이용한 일회용 패스워드 기반 사용자 인증 방법
KR20230099049A (ko) 블록체인 기반 인증 및 거래 시스템
KUMAR et al. A remote login authentication scheme with smart cards based on unit sphere
TWI394420B (zh) 用於線上交易的ip位址安全多通道認證
Alenius et al. Online Banking Security

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application