KR100751428B1 - 일회용 비밀번호 생성방법과 일회용 비밀번호 인증 시스템 - Google Patents

일회용 비밀번호 생성방법과 일회용 비밀번호 인증 시스템 Download PDF

Info

Publication number
KR100751428B1
KR100751428B1 KR1020060004289A KR20060004289A KR100751428B1 KR 100751428 B1 KR100751428 B1 KR 100751428B1 KR 1020060004289 A KR1020060004289 A KR 1020060004289A KR 20060004289 A KR20060004289 A KR 20060004289A KR 100751428 B1 KR100751428 B1 KR 100751428B1
Authority
KR
South Korea
Prior art keywords
index information
otp
event index
authentication
time password
Prior art date
Application number
KR1020060004289A
Other languages
English (en)
Other versions
KR20070075715A (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 KR1020060004289A priority Critical patent/KR100751428B1/ko
Publication of KR20070075715A publication Critical patent/KR20070075715A/ko
Application granted granted Critical
Publication of KR100751428B1 publication Critical patent/KR100751428B1/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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • 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/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • 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

Abstract

본 발명은 일회용 비밀번호(One-Time Password) 생성방법과 그 인증 시스템에 관한 것으로, 상기 시스템은,
망을 통해 전송되는 사용자별 데이터 암호화 초기값(SEED), 사용자별 이벤트 인덱스 정보를 사용자정보 DB에 저장 관리하는 사용자 정보 저장관리 모듈과; 인증 요청된 일회용 비밀번호(OTP)에 부가된 이벤트 인덱스 정보를 가지는 이벤트 인덱스 정보를 생성하는 이벤트 인덱스 정보 생성모듈과; 비밀번호 인증 요청한 사용자의 SEED정보와 생성된 이벤트 인덱스 정보를 해쉬함수 인자로 설정하여 해쉬함수값을 계산하는 해쉬함수 계산모듈과; 계산된 해쉬함수값을 인증 요청된 일회용 비밀번호(OTP)에 포함된 해쉬함수값과 비교하는 일회용 비밀번호 인증모듈과; 일회용 비밀번호(OTP)의 인증결과에 따라 상기 이벤트 인덱스 정보의 생성 혹은 저장을 요청하거나 그 인증 결과를 외부장치로 전송하는 인증결과 전송모듈;을 포함함을 특징으로 한다.
OTP, 인증, 복제.

Description

일회용 비밀번호 생성방법과 일회용 비밀번호 인증 시스템{SYSTEM FOR CERTIFY ONE-TIME PASSWORD AND METHOD FOR GENERATING ONE-TIME PASSWORD}
도 1은 본 발명의 일실시예에 따른 시스템 구성 예시도.
도 2는 본 발명의 실시예에 따라 모바일 단말기에 설치되는 일회용 비밀번호(OTP) 생성 어플리케이션 구성 예시도.
도 3은 본 발명의 일실시예에 따른 일회용 비밀번호(OTP) 생성 어플리케이션 설치 흐름도.
도 4는 본 발명의 일실시예에 따른 일회용 비밀번호(OTP) 생성 흐름도.
도 5는 본 발명의 일실시예에 따른 일회용 비밀번호(OTP) 인증 서버 구성예시도.
도 6은 본 발명의 일실시예에 따른 일회용 비밀번호(OTP) 인증 흐름도.
본 발명은 비밀번호 인증 시스템에 관한 것으로, 특히 일회용 비밀번호(One-Time Password) 생성방법과 그 인증 시스템에 관한 것이다.
금융거래 등에 있어서 거래 당사자가 본인인지를 확인하여 보안성을 제고시 키기 위한 방안으로서 비밀번호를 널리 사용하고 있다. 이러한 비밀번호는 원격금융거래 즉, 무인 현금 인출기 내지 인터넷 뱅킹, 폰 뱅킹 등에 있어서 거래의 안정성을 담보하는 중요한 수단으로 인식되고 있다.
그러나 해킹기술이 고도화되면서 비밀번호를 이용한 금융거래의 안정성이 위협받고 있는 실정이다. 해킹의 가능성과 보안성 저하를 방지하기 위하여 최근에는 OTP(One-Time Password)가 도입되기에 이르렀다. 일회용 비밀번호인 OTP는 한 번 만들어져서 사용되면 재사용될 수 없는 특징이 있다.
일회용 비밀번호를 프로그램 방식으로 생성하는 방법으로는 시간 동기식 방법과 챌린지-리스판스(Challenge-Response) 방법, 이벤트 방법이 알려져 있다.
이중 시간 동기식 방법은 시간을 기준으로 하여 일회용 비밀번호 생성기(일명 보안 토큰이라고도 함)와 OTP 서버간에 비밀번호키를 공유함으로서 일회용 비밀번호를 만들어 내는 방법이며,
챌린지-리스판스 방법은 OTP 서버에서 챌린지를 만들어 일회용 비밀번호 생성기를 소지한 사용자에게 알려 주면, 챌린지에 해당하는 비밀번호를 일회용 비밀번호 생성기에서 만들어 내는 방법이다.
그리고 이벤트 방법은 OTP 단말기와 OTP 서버간에 동일한 이벤트 값을 유지하여 비밀번호를 만들어 내는 방법을 말한다.
예시한 방법들중 챌린지-리스판스 방법의 경우에는 사용자가 SMS 또는 통신을 통해서 챌린지 값을 전달받아야 하지만, 시간 동기식 방법에서는 OTP 서버와의 통신 없이도 일회용 비밀번호를 생성할 수 있으므로 챌린지-리스판스 방법에서와 같은 SMS 또는 통신 연결이 필요 없는 장점을 가진다.
하지만 시간 동기식 방법에서는 일회용 비밀번호 생성기와 OTP 서버간에 시간 오차가 허용 범위내에 들어야 한다는 제약사항이 있으며, 또한 시간 오차가 허용되는 범위내에서는 비밀번호가 여러 번 중복 사용될 수 있기 때문에 해킹에 의한 비밀번호 노출의 위험성이 따른다. 아울러 일회용 비밀번호를 프로그램 방식으로 생성하는 기존 방법들은 단말기에 설치된 프로그램 자체를 복제하여 사용 가능하기 때문에, 불법 복제 사용을 막을 수 있는 새로운 방법이 강구되어져야 한다.
이에 본 발명의 목적은 상술한 문제점을 해결하기 위하여 안출된 것으로서, 시간 동기식 방법의 단점을 보완함은 물론 챌린지의 전달 없이 일회용 비밀번호(OTP)를 생성할 수 있는 방법을 제공함에 있으며,
더 나아가 일회용 비밀번호 생성 프로그램이 불법 복제되어 이중 사용되는 것을 검출할 수 있는 일회용 비밀번호(OTP) 인증 시스템을 제공함에 있다.
상기 목적을 달성하기 위한 본 발명의 일실시예에 따른 일회용 비밀번호(OTP) 생성방법은 모바일 단말기에서 실행 가능한 방법으로서,
데이터 암호화 초기값(SEED)을 생성하기 위한 사용자 정보를 사용자로부터 입력받아 SEED를 생성하여 저장하는 단계와;
저장된 SEED 정보를 약정된 서버측으로 전송하는 단계와;
일회용 비밀번호 생성을 위한 이벤트 발생시마다 이벤트 인덱스 정보를 갱신 하여 저장하는 단계와;
갱신된 이벤트 인덱스 정보와 저장된 SEED 정보를 해쉬함수 인자로 설정하여 일방향 해쉬함수값을 계산하는 단계와;
상기 해쉬함수에 의해 계산된 결과값에 상기 갱신된 이벤트 인덱스 정보를 조합하여 일회용 비밀번호를 생성하고 이를 표시하는 단계;를 포함함을 특징으로 한다.
상술한 바와 같은 본 발명의 특징에 따르면, 시간정보를 이용하지 않으므로 시간 동기화 방법에서 발생할 수 있는 문제를 원천적으로 제거할 수 있는 효과가 있으며,
더 나아가 챌린지를 서버에서 모바일 단말기측으로 전송하거나 입력해야 할 필요가 없기 때문에 그만큼 사용자의 편의성을 도모하여 줄 수 있는 장점이 있다.
아울러 본 발명은 일회용 비밀번호 생성에 이용된 이벤트 인덱스 정보의 일부를 일회용 비밀번호의 일부로서 인증 서버측에 제공하는 구성을 가진다. 따라서 인증 서버측에서는 제공된 이벤트 인덱스 정보를 가지는 이벤트 인덱스 정보들만을 활용하여 일회용 비밀번호를 생성한후 비밀번호 인증하기 때문에, 결과적으로 일회용 비밀번호의 인증시간을 고속화할 수 있는 장점이 있다.
한편 본 발명의 실시예에 따른 일회용 비밀번호(OTP)를 인증하기 위한 서버시스템은,
망을 통해 전송되는 사용자별 데이터 암호화 초기값(SEED), 사용자별 이벤트 인덱스 정보를 사용자정보 DB에 저장 관리하는 사용자 정보 저장관리 모듈과;
인증 요청된 일회용 비밀번호(OTP)에 부가된 이벤트 인덱스 정보를 가지는 이벤트 인덱스 정보를 생성하는 이벤트 인덱스 정보 생성모듈과;
비밀번호 인증 요청한 사용자의 SEED정보와 생성된 이벤트 인덱스 정보를 해쉬함수 인자로 설정하여 해쉬함수값을 계산하는 해쉬함수 계산모듈과;
계산된 해쉬함수값을 인증 요청된 일회용 비밀번호(OTP)에 포함된 해쉬함수값과 비교하는 일회용 비밀번호 인증모듈과;
일회용 비밀번호(OTP)의 인증결과에 따라 상기 이벤트 인덱스 정보의 생성 혹은 저장을 요청하거나 그 인증 결과를 외부장치로 전송하는 인증결과 전송모듈;을 포함함을 특징으로 한다.
또 다른 실시예에 따른 시스템은 인증 요청된 일회용 비밀번호(OTP)에 포함된 해쉬함수값과 일치하는 해쉬함수값을 얻는데 이용된 이벤트 인덱스 정보와 사용자 정보 DB에 저장되어 있는 이벤트 인덱스 정보를 비교하여 단말기측 OTP 생성 어플리케이션의 복제여부를 판단하는 어플리케이션 복제 판단모듈;을 더 포함함을 특징으로 한다.
상술한 바와 같은 본 발명의 특징에 따르면, OTP 인증 서버에서는 사용자로부터 제공된 이벤트 인덱스 정보를 가지는 이벤트 인덱스 정보들만을 활용하여 일회용 비밀번호를 생성하고 이를 이용하여 비밀번호 생성 및 인증하기 때문에, 결과적으로 일회용 비밀번호의 인증시간을 고속화할 수 있는 장점이 있다.
더 나아가 인증 요청된 일회용 비밀번호(OTP)에 포함된 해쉬함수값과 일치하는 해쉬함수값을 얻는데 이용된 이벤트 인덱스 정보가 기저장된 사용자별 이벤트 인덱스 정보보다 작은 값을 가질 경우에는, 이미 특정 사용자의 사용에 의해 갱신 저장된 이벤트 인덱스 정보보다 작은 값을 가지는 이벤트 인덱스 정보가 새로 입력된 것이기 때문에, 결과적으로 어느 하나의 일회용 비밀번호는 불법 복제된 OTP 생성 어플리케이션에 의해 생성된 일회용 비밀번호를 나타낸다.
따라서 본 발명은 일회용 비밀번호 생성 프로그램이 불법 복제되어 이중 사용되는 것을 검출할 수 있는 효과를 가지게 되는 것이다.
이하 본 발명의 바람직한 실시예들을 첨부 도면을 참조하여 상세히 설명하기로 한다. 본 발명을 설명함에 있어 관련된 공지 기능 혹은 구성에 대한 상세한 설명은 생략하기로 한다.
우선 도 1은 본 발명의 일실시예에 따른 전체 시스템 구성도를 예시한 것으로, 본 발명의 실시예에 따른 일회용 비밀번호(이하 OTP라 함) 생성방법은 하나의 어플리케이션으로 구현되어 이동 통신 단말기와 같은 모바일 단말기(100)에 설치되어 실행되어진다. 모바일 단말기(100)에 설치된 OTP 생성 어플리케이션은 설치시에 데이터 암호화 초기값인 SEED를 생성하여 무선망을 통해 약정된 서버측으로 전송하여 준다. 상기 약정된 서버는 도 1에서 서비스 서버(150)일 수 있으며, OTP 인증서버(200)일 수 있다. 서비스 서버(150)로 전송된 사용자별 SEED 정보는 다시 OTP 인증서버(200)로 전송되어 저장 관리되는 값이다.
참고적으로 서비스 서버(150)는 단말기 사용자에게 소정의 서비스를 제공하는 서버로서 사용자 인증을 OTP 인증서버(200)에 의뢰할 수 있다. 이러한 서비스 서버(150)는 컴퓨터 시스템과 같은 유선 단말기를 통해 OTP를 입력받을 수도 있다. 그리고 OTP 인증서버(200)는 모바일 단말기(100) 혹은 서비스 서버(150)로부터 인증 요청된 OTP를 내부에서 생성한 OTP와 비교 인증하는 역할을 담당한다.
이하 도 1에 도시된 모바일 단말기(100)에 설치되는 OTP 생성 어플리케이션(120)의 구성을 도 2를 참조하여 부연 설명하기로 한다.
도 2는 본 발명의 실시예에 따라 모바일 단말기(100)에 설치되는 OTP 생성 어플리케이션의 프로그램 모듈 구성도를 예시한 것이다.
도 2를 참조하면, 우선 유저 인터페이스 모듈(121)은 PIN(Personal Identification Number), 단말기 식별정보와 같은 사용자 데이터를 입력받거나 OTP와 같은 표시 데이터를 출력하기 유저 인터페이스 화면을 제공하여 준다.
SEED 생성 관리모듈(123)은 PIN 혹은 모바일 단말기 식별정보 혹은 사용자에게 부여된 고유번호와 같은 사용자 정보를 유저 인터페이스 모듈(121)을 통해 입력받아 내부 알고리즘에 의거하여 데이터 암호화 초기값(SEED)을 생성한다. 생성된 SEDD값은 SEED 저장부(130)에 저장 관리된다. 아울러 SEED 생성 관리모듈(123)은 사용자 인증을 위해 입력된 사용자 정보를 SEED 저장부(130)에 추가 저장하고 사용자 인증하는 역할도 수행한다.
이벤트 인덱스 갱신모듈(124)은 사용자 로그인시마다, 비밀번호 갱신요구시마다 이벤트 인덱스 정보를 갱신하여 SEED 저장부(130)에 저장한다. 상기 이벤트 인덱스 정보는 최초 사용자 로그인시에 "0"으로 초기화된후 이벤트 발생시마다 하나씩 증가하는 일련번호의 값을 가진다. 그리고 정해진 값에 도달하면 다시 "0"으로 초기화된다.
OTP 생성모듈(125)은 갱신 저장된 이벤트 인덱스 정보와 저장된 SEED 정보를 해쉬함수 인자로 설정한후 일방향 해쉬함수(f(x))에 의거하여 해쉬함수값을 계산한다. 그리고 계산된 해쉬함수값에 이벤트 인덱스 정보(의 일부)를 조합하여 완전한 하나의 OTP를 생성하고 이를 유저 인터페이스 모듈(121)을 통해 표시 출력한다.
SEED 전송모듈(126)은 SEED 생성 관리모듈(123)에 의해서 생성된 OTP를 무선망을 통해 약정된 서버(150 혹은 200)측으로 전송하여 준다.
이상에서 설명한 OTP 생성 어플리케이션(120)은 단말기 VM(Virtual Machine) 프레임워크상에서 구동 가능한 어플리케이션이다.
이하 상술한 구성을 가지는 OTP 생성 어플리케이션(120)의 동작예를 도 3과 도 4를 참조하여 설명하기로 한다.
우선 도 3은 본 발명의 일실시예에 따른 일회용 비밀번호(OTP) 생성 어플리케이션 설치 흐름도를 도시한 것이며, 도 4는 본 발명의 일실시예에 따른 일회용 비밀번호(OTP) 생성 흐름도를 각각 도시한 것이다.
도 3을 참조하면, 우선 단말기 사용자는 본 발명의 실시예에 따른 OTP 생성 어플리케이션을 서비스 제공자로부터 다운로드받아 자신의 모바일 단말기(100)에 설치(S1)한다.
설치된 OTP 생성 어플리케이션은 최초 실행 구동시 사용자에게 데이터 암호화 초기값(SEED) 생성을 위한 사용자 정보의 입력을 요구한다. 이에 사용자는 PIN을 입력한다. PIN의 입력이 완료(S2)되면, SEED 생성 관리모듈(123)은 내부 알고리즘에 의거하여 SEED를 생성하고 이를 SEED 저장부(130)에 저장(S3)한다. SEED의 저 장이 완료되면 SEED 전송모듈(126)은 저장된 SEED 정보를 약정된 서버(예를 들면 OTP 인증서버)측으로 전송(S4)함으로서, OTP 인증서버(200)는 사용자별 SEED 정보를 저장할 수 있게 되는 것이다.
이하 모바일 단말기(100)에 설치된 OTP 생성 어플리케이션에 의해 OTP가 생성되는 과정을 도 4를 참조하여 설명하기로 한다. 하기설명에서 OTPGA(OTP Generation Application)는 OTP 생성 어플리케이션을 나타내는 것으로 정의한다.
도 4를 참조하면, 사용자에 의해 OTPGA 실행 요구(S11)가 있으면 유저 인터페이스 모듈(121)은 PIN 입력을 요구(S12)한다. PIN 입력이 있으면 SEED 생성 관리모듈(123)은 PIN 인증(S13)을 통해 사용자를 인증한다. 정상적인 사용자로 인증 완료되면 이벤트 인덱스 갱신모듈(124)은 최초 사용자 로그인에 따라 이벤트 인덱스 정보를 "0000"으로 초기화 갱신한다. 이벤트 인덱스 갱신모듈(124)은 이후의 이벤트 발생시마다 상기 이벤트 인덱스 정보를 0001, 0001,0003과 같이 하나씩 증가시켜 갱신한다.
이벤트 발생에 따라 이벤트 인덱스 정보가 갱신되면 OTP 생성모듈(125)은 갱신된 이벤트 인덱스 정보와 저장된 SEED 정보를 해쉬함수 인자로 설정한후 일방향 해쉬함수에 의거하여 해쉬함수값을 계산한다. 그리고 OTP 생성모듈(125)은 갱신된 이벤트 인덱스 정보, 바람직하게는 이벤트 인덱스 정보의 일부 정보를 상기 계산된 해쉬함수값에 부가하여 하나의 완전한 OTP를 생성하고 이를 유저 인터페이스 모듈(121)을 통해 표시(S14) 출력한다. 본 발명의 실시예에서는 이벤트 인덱스 정보의 일련번호중 십단위 두 자리값을 OTP에 부가하는 것으로 가정한다. 이러한 가정 하에 따라 최종적으로 생성 표시되는 OTP 정보의 산출근거를 예시하면 하기와 같다.
OTP = f(SEED, 이벤트 인덱스 정보)*100 + ((이벤트 인덱스 정보) mod 100)
상기 수식에서 f(x)는 OTP 생성을 위한 일방향 해쉬함수를 나타낸 것이다. 해쉬함수로서 MD4, MD5, SHA 등을 이용할 수 있으며, 해쉬함수에 인자로 넘기는 x값을 상기 수식에서와 같이 SEED와 이벤트 인덱스 정보이다. 예를 들어 SEED값은 "1qaz"이고, 이벤트 인덱스가 "1234", 해쉬함수의 결과가 "495724"라 하면,
OTP = f(1 qaz, 1234)*100 + (1234 mod 100) = 49572434가 된다. 즉, 최종적으로 표시 출력되는 OTP는 f(x)라는 해쉬함수에 의해 만들어진 결과값(해쉬함수값이라고 함)에 이벤트 인덱스 정보의 끝 두자리가 부가된 값이 되는 것이다.
위와 같이 OTP가 생성 표시되면 단말기 사용자는 그 값을 인증을 요구하는 서버에 입력하여 줌으로서 사용자 인증절차를 밟게 되는 것이다.
한편 OTP 갱신요구(S15)와 같은 새로운 이벤트가 발생하면 이벤트 인덱스 갱신모듈(124)은 "0000"으로 갱신된 이벤트 인덱스 정보를 "0001"로 갱신(S16)한다. 이벤트 발생에 따라 이벤트 인덱스 정보가 갱신되면 OTP 생성모듈(125)은 이후 갱신된 이벤트 인덱스 정보와 저장된 SEED 정보를 해쉬함수 인자로 설정한후 일방향 해쉬함수에 의거하여 다시 해쉬함수값을 계산한다. 그리고 그 값 끝자리에 갱신된 이벤트 인덱스 정보를 부가하여 새로운 OTP를 생성하여 유저 인터페이스 모듈(121)을 통해 표시(S17) 출력한다.
만약 사용자로부터 OTPGA 종료 요청이 있으면(S18) 이벤트 인덱스 갱신모듈 (124)은 현재의 이벤트 인덱스 정보를 SEED 저장부(130)에 저장(S19)하고 본 발명의 실시예에 따른 OTPGA를 종료한다. 마지막으로 갱신된 이벤트 인덱스 정보의 저장에 의해서, 추후 이벤트 발생시에는 그 저장된 차순위 값이 새로운 이벤트 인덱스 값으로 갱신된다.
이하 상술한 OTPGA에 의해 생성된 OTP를 인증하는 시스템에 대해 설명하기로 한다.
도 5는 본 발명의 일실시예에 따른 일회용 비밀번호(OTP) 인증 서버 구성도를 도시한 것이다.
도 5를 참조하면, 사용자 정보 저장관리 모듈(221)은 망을 통해 전송되는 사용자별 데이터 암호화 초기값(SEED), 사용자별 이벤트 인덱스 정보를 사용자정보 DB(230)에 저장 관리하는 역할을 담당한다.
이벤트 인덱스 정보 생성모듈(222)은 인증 요청된 OTP에 부가된 이벤트 인덱스 정보를 가지는 이벤트 인덱스 정보를 생성한다. 이러한 경우 이벤트 인덱스 정보의 고속 서치와 OTP의 고속 인증을 위해서, 인증 요청된 OTP에 부가된 이벤트 인덱스 정보를 끝자리로 가지는 이벤트 인덱스 정보들을 생성하는 것이 바람직하다. 예를 들어 인증 요청된 OTP에 부가된 이벤트 인덱스 정보가 십단위 정보로서 "67"이라면 그 인덱스 정보를 가지는 이벤튼 인덱스 정보, 즉 "3967", "4067", "4167",..과 같은 이벤트 인덱스 정보를 생성하여 주는 역할을 담당한다.
해쉬함수 계산모듈(223)은 비밀번호 인증 요청한 사용자의 SEED정보와 이벤트 인덱스 정보 생성모듈(222)에서 생성된 이벤트 인덱스 정보를 해쉬함수 인자로 설정하여 해쉬함수값((fx))을 계산한다.
OTP 인증모듈(224)은 계산된 해쉬함수값을 인증 요청된 OTP에 포함된 해쉬함수값과 비교하며,
인증결과 전송모듈(225)은 OTP의 인증결과에 따라 상기 이벤트 인덱스 정보의 생성 혹은 저장을 각각 이벤트 인덱스 정보 생성모듈(222), 사용자 정보 저장관리모듈(221)로 요청하거나, 그 인증 결과를 외부장치(관리자 단말기, 사용자 단말기 등)로 전송하여 준다.
도시하지 않았지만 본 발명의 또 다른 실시예에 따른 OTP 인증 시스템은,
인증 요청된 OTP에 포함된 해쉬함수값과 일치하는 해쉬함수값을 얻는데 이용된 이벤트 인덱스 정보와 사용자 정보 DB(230)에 저장되어 있는 이벤트 인덱스 정보를 비교하여 단말기측 OTP 생성 어플리케이션의 복제여부를 판단하는 어플리케이션 복제 판단모듈;을 더 포함할 수도 있다.
상술한 구성을 가지는 OTP 인증 시스템은 운영체제(210) 상에서 구동 가능한 하나의 OTP 인증 어플리케이션(220)으로 구현 가능하다
이하 상술한 구성을 가지는 OTP 인증서버(200)에서의 OTP 인증 과정을 도 6을 참조하여 설명하기로 한다.
우선 OTP 인증서버(200)의 사용자 정보 저장관리 모듈(221)은 무선망을 통해 모바일 단말기(100)로부터 전송되는 사용자별 SEED값을 직접 혹은 서비스 서버를 통해 전송받아 사용자 정보 DB(230)에 저장(S20) 관리한다.
다수 사용자들에 대한 SEED값이 저장된 상태에서 만약 어느 하나의 사용자에 대해 OTP 인증 요청이 있으면(S21), 이벤트 인덱스 정보 생성모듈(221)은 우선적으로 인증 요청된 OTP에 부가된 이벤트 인덱스(EI) 정보를 끝자리로 가지는 이벤트 인덱스 정보를 생성(S22)한다. 생성되어야 하는 이벤트 인덱스 정보는 설정된 최대치를 초과할 경우 다시 초기화된다.
이벤트 인덱스 정보가 생성되었으면, 해쉬함수 계산모듈(223)은 인증 요청한 사용자의 SEED정보와 새로이 생성된 이벤트 인덱스 정보를 해쉬함수 인자로 설정하여 해쉬함수값((fx))을 계산(S23)한다.
해쉬함수값(f(x)) 계산이 완료되면 OTP 인증모듈(224)은 계산된 해쉬함수값을 인증 요청된 일회용 비밀번호(OTP)에 포함된 해쉬함수값과 비교(S24)한다. 비교결과 해쉬함수값이 다르면, 인증결과 전송모듈(225)은 이벤트 인덱스 정보의 생성을 요청함으로서, 이벤트 인덱스 정보 생성모듈(222)은 다시 OTP에 부가된 이벤트 인덱스(EI) 정보를 가지는 이벤트 인덱스(EI) 정보를 생성한다. 즉, 본 발명의 인증 서버(200)에서는 새로이 생성된 이벤트 인덱스 정보를 이용하여 계산된 해쉬함수값이 인증 요청된 일회용 비밀번호(OTP)에 포함된 해쉬함수값과 동일할때 까지 이벤트 인덱스 정보를 생성하되, 인증 요청된 OTP에 부가된 이벤트 인덱스(EI) 정보를 끝자리로 가지는 이벤트 인덱스 정보들을 생성함에 특징이 있는 것이다.
상술한 이벤트 인덱스 정보의 생성과 해쉬함수값의 비교 인증을 구체적인 수치로 예시하면, 우선 인증 요청된 사용자에 대해 미리 저장되어 있는 이벤트 인덱스 정보가 "3940"이라 하고, 인증 요청된 OTP에 부가된 이벤트 인덱스 정보가 "46"이라 하면, 인증서버(200) 시스템은 "3946", "4046", "4146",..과 같이 이벤트 인 덱스 정보를 순차적으로 생성해 가면서 생성된 값을 이용하여 계산된 해쉬함수값을 OTP에 포함된 해쉬함수값과 비교하는 것이다.
이와 같은 해쉬함수값의 비교과정에서 동일한 것으로 판명(S25)되면, 인증결과 전송모듈(225)은 그 인증 결과를 외부장치(서비스 서버 혹은 사용자 단말기 등)로 전송하는 한편, 마지막으로 생성된 이벤트 인덱스 정보의 저장을 사용자 정보 저장관리 모듈(221)로 요청(S27)한다.
이에 사용자 혹은 서비스 서버는 OTP 인증서버(200)를 통해 사용자 인증결과를 전송받을 수 있게 되는 것이며, 사용자 정보 DB(30)에는 OTP 인증시 이용된 이벤트 인덱스 정보가 갱신 저장되게 되는 것이다.
한편 본 발명의 또 다른 실시예로서 OTP 생성 어플리케이션의 복제 여부 판단모듈을 구비하여 OTP 생성 어플리케이션(OTPGA)의 복제여부를 판단할 수 있다.
즉, OTP 인증 어플리케이션 복제 판단모듈은 인증 요청된 OTP에 포함된 해쉬함수값과 일치하는 해쉬함수값을 얻는데 이용된 이벤트 인덱스 정보를 사용자 정보 DB(230)에 저장되어 있는 이벤트 인덱스 정보와 비교한다. 만약 인증 요청된 OTP에 포함된 해쉬함수값과 일치하는 해쉬함수값을 얻는데 이용된 이벤트 인덱스 정보가 기 저장되어 있는 사용자별 이벤트 인덱스 정보보다 작은 값을 가질 경우에는, 어느 하나의 OTP가 불법 복제된 OTP 생성 어플리케이션에 의해 생성된 것을 의미하므로 그 판단결과를 OTP 인증모듈(224)로 건네 준다. 이에 OTP 인증모듈(224)은 그 사실을 관리자 단말기로 출력하여 주거나 SMS를 이용하여 사용자 단말기로 복제사실이 통보될 수 있도록 조치한다.
따라서 본 발명은 OTP 생성 프로그램이 불법 복제되어 이중 사용되는 것을 검출할 수 있는 효과도 가지게 되는 것이다.
이상에서 설명한 바와 같이 본 발명은 시간정보를 이용하지 않으므로 시간 동기화 방법에서 발생할 수 있는 문제를 원천적으로 제거할 수 있는 효과가 있으며,
더 나아가 챌린지를 서버에서 모바일 단말기측으로 전송하거나 입력해야 할 필요가 없기 때문에 그만큼 사용자의 편의성을 도모하여 줄 수 있는 장점이 있다.
아울러 본 발명은 일회용 비밀번호 생성에 이용된 이벤트 인덱스 정보의 일부를 일회용 비밀번호의 일부로서 인증 서버측에 제공하는 구성을 가진다. 따라서 인증 서버측에서는 제공된 정보를 가지는 이벤트 인덱스 정보들만을 생성하여 일회용 비밀번호를 생성하고 그 비밀번호를 인증하기 때문에, 결과적으로 일회용 비밀번호의 인증시간을 고속화할 수 있는 장점이 있다.
더 나아가 본 발명에서는 인증 요청된 일회용 비밀번호(OTP)에 포함된 해쉬함수값과 일치하는 해쉬함수값을 얻는데 이용된 이벤트 인덱스 정보가 기 저장되어 있는 사용자별 이벤트 인덱스 정보보다 작은 값을 가질 경우에는, 어느 하나의 일회용 비밀번호가 불법 복제된 OTP 생성 어플리케이션에 의해 생성된 것을 의미하므로, OTP 생성 프로그램이 불법 복제되어 이중 사용되는 것을 검출할 수 있는 효과를 가지게 되는 것이다.
한편 본 발명은 도면에 도시된 실시예들을 참고로 설명되었으나 이는 예시적 인 것에 불과하며, 당해 기술분야에 통상의 지식을 지닌자라면 이로부터 다양한 변형 및 균등한 타실시예가 가능하다는 점을 이해할 것이다. 따라서 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위에 의해서만 정해져야 할 것이다.

Claims (8)

  1. 모바일 단말기에서 실행 가능한 일회용 비밀번호(OTP) 생성방법에 있어서,
    데이터 암호화 초기값(SEED)을 생성하기 위한 사용자 정보를 유저 인터페이스 모듈을 통해 입력받아 SEED를 생성하여 저장하는 단계와;
    저장된 SEED 정보를 약정된 서버측으로 전송하는 단계와;
    일회용 비밀번호 생성을 위한 이벤트 발생시마다 이벤트 인덱스 정보를 갱신하여 저장하는 단계와;
    갱신된 이벤트 인덱스 정보와 저장된 SEED 정보를 해쉬함수 인자로 설정하여 일방향 해쉬함수값을 계산하는 단계와;
    상기 해쉬함수에 의해 계산된 결과값에 상기 갱신된 이벤트 인덱스 정보 전부 혹은 일부를 조합하여 일회용 비밀번호를 생성하고 이를 표시하는 단계;를 포함함을 특징으로 하는 일회용 비밀번호 생성방법.
  2. 청구항 1에 있어서, 상기 이벤트 인덱스 정보는 초기화 값에서 시작하여 이벤트 발생시마다 하나씩 증가하는 일련번호의 값을 가짐을 특징으로 하는 일회용 비밀번호 생성방법.
  3. 청구항 2에 있어서, 상기 일회용 비밀번호에 조합되는 이벤트 인덱스 정보는 일련번호중 십단위 값으로서 상기 일회용 비밀번호의 끝자리에 부가됨을 특징으로 하는 일회용 비밀번호 생성방법.
  4. 청구항 1 내지 청구항 3중 어느 한 항에 있어서, 상기 SEED를 생성하기 위한 사용자 정보는 PIN 혹은 모바일 단말기 식별정보 혹은 사용자에게 부여된 고유번호중 하나임을 특징으로 하는 일회용 비밀번호 생성방법.
  5. 삭제
  6. 일회용 비밀번호(OTP)를 인증하기 위한 시스템에 있어서,
    망을 통해 전송되는 사용자별 데이터 암호화 초기값(SEED), 사용자별 이벤트 인덱스 정보를 사용자정보 DB에 저장 관리하는 사용자 정보 저장관리 모듈과;
    인증 요청된 일회용 비밀번호(OTP)에 부가된 이벤트 인덱스 정보를 가지는 이벤트 인덱스 정보를 생성하는 이벤트 인덱스 정보 생성모듈과;
    비밀번호 인증 요청한 사용자의 SEED정보와 생성된 이벤트 인덱스 정보를 해쉬함수 인자로 설정하여 해쉬함수값을 계산하는 해쉬함수 계산모듈과;
    계산된 해쉬함수값을 인증 요청된 일회용 비밀번호(OTP)에 포함된 해쉬함수값과 비교하는 일회용 비밀번호 인증모듈과;
    일회용 비밀번호(OTP)의 인증결과에 따라 상기 이벤트 인덱스 정보의 생성 혹은 저장을 요청하거나 그 인증 결과를 외부장치로 전송하는 인증결과 전송모듈;을 포함함을 특징으로 하는 일회용 비밀번호 인증 시스템.
  7. 청구항 6에 있어서, 인증 요청된 일회용 비밀번호(OTP)에 포함된 해쉬함수값과 일치하는 해쉬함수값을 얻는데 이용된 이벤트 인덱스 정보와 사용자 정보 DB에 저장되어 있는 이벤트 인덱스 정보를 비교하여 단말기측 OTP 생성 어플리케이션의 복제여부를 판단하는 어플리케이션 복제 판단모듈;을 더 포함함을 특징으로 하는 일회용 비밀번호 인증 시스템.
  8. 청구항 6 또는 청구항 7에 있어서, 상기 이벤트 인덱스 정보 생성모듈은,
    인증 요청된 일회용 비밀번호(OTP)에 부가된 이벤트 인덱스 정보를 끝자리로 가지는 이벤트 인덱스 정보들을 순차 생성함을 특징으로 하는 일회용 비밀번호 인증 시스템.
KR1020060004289A 2006-01-16 2006-01-16 일회용 비밀번호 생성방법과 일회용 비밀번호 인증 시스템 KR100751428B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060004289A KR100751428B1 (ko) 2006-01-16 2006-01-16 일회용 비밀번호 생성방법과 일회용 비밀번호 인증 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060004289A KR100751428B1 (ko) 2006-01-16 2006-01-16 일회용 비밀번호 생성방법과 일회용 비밀번호 인증 시스템

Publications (2)

Publication Number Publication Date
KR20070075715A KR20070075715A (ko) 2007-07-24
KR100751428B1 true KR100751428B1 (ko) 2007-08-23

Family

ID=38500754

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060004289A KR100751428B1 (ko) 2006-01-16 2006-01-16 일회용 비밀번호 생성방법과 일회용 비밀번호 인증 시스템

Country Status (1)

Country Link
KR (1) KR100751428B1 (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101339723B1 (ko) * 2013-08-19 2013-12-10 주식회사 벨소프트 휴대폰 본인인증 도용방지와 스미싱 방지를 위한 문자메시지 보안시스템 및 방법
KR101389264B1 (ko) 2008-04-11 2014-05-26 계영우 무결성코드를 포함하는 일회용암호 기반의 인증방법과 그시스템
KR101609095B1 (ko) 2015-02-26 2016-04-04 건국대학교 산학협력단 콘텐츠 전송 네트워크에서의 데이터 보안 장치 및 그 방법
KR20160091738A (ko) 2015-01-26 2016-08-03 고영열 일회용 접속코드를 이용한 사용자 인증 방법
US9621546B2 (en) 2013-12-20 2017-04-11 Penta Security Systems Inc. Method of generating one-time password and apparatus for performing the same

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100956364B1 (ko) * 2008-07-23 2010-05-07 주식회사 케이티 위피 대기화면을 이용한 일회용 비밀번호 생성 방법
KR101012479B1 (ko) * 2009-08-14 2011-02-08 (주)에이티솔루션 입력값에 따른 otp 발생키를 생성하여 otp를 발생하는 장치 및 방법
KR101051420B1 (ko) * 2010-06-29 2011-07-22 (주)에이티솔루션 안전 otp 생성 장치 및 방법
WO2013055114A1 (ko) * 2011-10-13 2013-04-18 에스케이플래닛 주식회사 전자 결제 방법, 시스템 및 장치
CN104506319B (zh) * 2014-12-15 2017-11-28 飞天诚信科技股份有限公司 一种多种子动态令牌的工作方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001352324A (ja) 2000-06-07 2001-12-21 Nec Corp ワンタイムパスワード生成装置、認証方法およびワンタイムパスワード生成プログラムを記録した記録媒体
US20050015588A1 (en) 2003-07-17 2005-01-20 Paul Lin Token device that generates and displays one-time passwords and that couples to a computer for inputting or receiving data for generating and outputting one-time passwords and other functions
KR20050057945A (ko) * 2003-12-11 2005-06-16 (주) 에스아이디아이 일회용 비밀번호 생성 방법 및 그 프로그램 소스를 저장한기록매체
US20050166263A1 (en) 2003-09-12 2005-07-28 Andrew Nanopoulos System and method providing disconnected authentication

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001352324A (ja) 2000-06-07 2001-12-21 Nec Corp ワンタイムパスワード生成装置、認証方法およびワンタイムパスワード生成プログラムを記録した記録媒体
US20050015588A1 (en) 2003-07-17 2005-01-20 Paul Lin Token device that generates and displays one-time passwords and that couples to a computer for inputting or receiving data for generating and outputting one-time passwords and other functions
US20050166263A1 (en) 2003-09-12 2005-07-28 Andrew Nanopoulos System and method providing disconnected authentication
KR20050057945A (ko) * 2003-12-11 2005-06-16 (주) 에스아이디아이 일회용 비밀번호 생성 방법 및 그 프로그램 소스를 저장한기록매체

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Haller, N., The S/KEY One-Time Password System, Proceedings of the ISOC Symposium on Network and Distributed System Security (1994.02)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101389264B1 (ko) 2008-04-11 2014-05-26 계영우 무결성코드를 포함하는 일회용암호 기반의 인증방법과 그시스템
KR101339723B1 (ko) * 2013-08-19 2013-12-10 주식회사 벨소프트 휴대폰 본인인증 도용방지와 스미싱 방지를 위한 문자메시지 보안시스템 및 방법
WO2015026083A1 (ko) * 2013-08-19 2015-02-26 주식회사 벨소프트 휴대폰 본인인증 도용방지와 스미싱 방지를 위한 문자메시지 보안시스템 및 방법
US9621546B2 (en) 2013-12-20 2017-04-11 Penta Security Systems Inc. Method of generating one-time password and apparatus for performing the same
KR20160091738A (ko) 2015-01-26 2016-08-03 고영열 일회용 접속코드를 이용한 사용자 인증 방법
KR101609095B1 (ko) 2015-02-26 2016-04-04 건국대학교 산학협력단 콘텐츠 전송 네트워크에서의 데이터 보안 장치 및 그 방법

Also Published As

Publication number Publication date
KR20070075715A (ko) 2007-07-24

Similar Documents

Publication Publication Date Title
KR100751428B1 (ko) 일회용 비밀번호 생성방법과 일회용 비밀번호 인증 시스템
US10972290B2 (en) User authentication with self-signed certificate and identity verification
US20220191012A1 (en) Methods For Splitting and Recovering Key, Program Product, Storage Medium, and System
RU2506637C2 (ru) Способ и устройство верификации динамического пароля
US9871821B2 (en) Securely operating a process using user-specific and device-specific security constraints
US8522361B2 (en) Tokenized resource access
US8417964B2 (en) Software module management device and program
KR102177848B1 (ko) 액세스 요청을 검증하기 위한 방법 및 시스템
US20130318576A1 (en) Method, device, and system for managing user authentication
CN111213171A (zh) 用于安全离线支付的方法和装置
CN106302476B (zh) 网络节点加密方法及网络节点加密装置
CN112671720B (zh) 一种云平台资源访问控制的令牌构造方法、装置及设备
JPWO2019239591A1 (ja) 認証システム、認証方法、アプリケーション提供装置、認証装置、及び認証用プログラム
US20160204933A1 (en) Personal information management system, method and service
CN108335105B (zh) 数据处理方法及相关设备
CN107493291A (zh) 一种基于安全元件se的身份认证方法和装置
CN112989426B (zh) 授权认证方法及装置、资源访问令牌的获取方法
US9660981B2 (en) Strong authentication method
KR20210095093A (ko) 탈중앙화 아이디 앱을 이용하여 인증 서비스를 제공하는 방법 및 이를 이용한 탈중앙화 아이디 인증 서버
KR20080087917A (ko) 일회용 비밀번호 생성방법과 키 발급 시스템 및 일회용비밀번호 인증 시스템
WO2018166163A1 (zh) Pos终端控制方法、pos终端、服务器及存储介质
CN111901304B (zh) 移动安全设备的注册方法和装置、存储介质、电子装置
CN107548542B (zh) 经强化完整性及安全性的用户认证方法
KR102372503B1 (ko) 탈중앙화 아이디 앱을 이용하여 인증 서비스를 제공하는 방법 및 이를 이용한 탈중앙화 아이디 인증 서버
KR20100001811A (ko) 일회용 비밀번호 생성 방법 및 이를 이용한 인증 시스템

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
G170 Publication of correction
FPAY Annual fee payment

Payment date: 20120719

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20130808

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140805

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20150807

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20160816

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20170728

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20180730

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20190729

Year of fee payment: 13