Nothing Special   »   [go: up one dir, main page]

KR20050057945A - 일회용 비밀번호 생성 방법 및 그 프로그램 소스를 저장한기록매체 - Google Patents

일회용 비밀번호 생성 방법 및 그 프로그램 소스를 저장한기록매체 Download PDF

Info

Publication number
KR20050057945A
KR20050057945A KR1020030090172A KR20030090172A KR20050057945A KR 20050057945 A KR20050057945 A KR 20050057945A KR 1020030090172 A KR1020030090172 A KR 1020030090172A KR 20030090172 A KR20030090172 A KR 20030090172A KR 20050057945 A KR20050057945 A KR 20050057945A
Authority
KR
South Korea
Prior art keywords
time password
user
program
module
value
Prior art date
Application number
KR1020030090172A
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 KR1020030090172A priority Critical patent/KR20050057945A/ko
Publication of KR20050057945A publication Critical patent/KR20050057945A/ko

Links

Landscapes

  • Storage Device Security (AREA)

Abstract

본 발명은 일회용 비밀번호 생성 방법 및 그 프로그램 소스를 저장한 기록매체에 관한 것으로, (a)사용자로부터 일회용 비밀번호 생성 요청 신호를 수신하고, 일회용 비밀번호를 생성하기 위한 프로그램을 송출하여 사용자에게 전송하는 단계, (b)상기 사용자로부터 사용자 정보를 수신하는 단계, (c)상기 프로그램의 각 모듈에 의해 상기 사용자 정보를 이용하여 일회용 비밀번호를 생성하는 단계, (d)생성된 일회용 비밀번호를 상기 사용자 또는 해당 금융기관에 전송하는 단계를 포함하고, 다운로드 된 프로그램의 각 모듈에 의해 일회용 비밀번호를 생성함으로써, 생성된 일회용 비밀번호를 이용해 ATM기나 금융거래, 네트워크 접속을 하게 함으로써 보안성을 향상시키는 효과가 있다.

Description

일회용 비밀번호 생성 방법 및 그 프로그램 소스를 저장한 기록매체{ONE TIME PASSWORD CREATION METHOD AND THE STORAGE MEDIA FOR HAVING PROGRAM SOURCE THEREOF}
본 발명은 일회용 비밀번호 생성 방법 및 그 프로그램 소스를 저장한 기록매체에 관한 것으로, 특히 ATM기나 금융거래, 네트워크 접속시 사용자가 일회용 비밀번호를 생성할 수 있는 프로그램을 다운로드 받고, 다운로드 된 프로그램의 각 모듈에 의해 일회용 비밀번호를 생성하여 생성된 일회용 비밀번호를 이용해 ATM기나 금융거래, 네트워크 접속을 하게 함으로써 보안성을 향상시킨 일회용 비밀번호 생성 방법 및 그 프로그램 소스를 저장한 기록매체에 관한 것이다.
유무선 통신이 발달하면서 인터넷뱅킹, 폰뱅킹, CD/ATM 등을 이용한 금융거래가 증가하고 있으며, 이러한 금융거래에서는 온라인이든 오프라인이든 비밀번호를 통해서 본인임을 인증하는 방식을 채택하고 있다. 그러나, 비밀번호가 한번 발급되면 그 이후에는 고정된 비밀번호를 사용함으로써 제 3자 내부자에 의한 사고나 강탈, 도용등의 사고가 발생할 수 있다. 그 예로 인터넷사이트에서 해킹을 당하는 경우 개인의 아이디와 비밀번호가 제 3 자에게 노출될 우려가 있는데, 이 경우 노출된 비밀번호는 사용자가 노출된 사실을 인지하고 해당 센터에 신고하기 이전에는 유효한 비밀번호이므로 이로 인한 피해를 방지할 수 없는 문제점이 있었다.
이에 대한 대책으로서 금융기관에서는 인터넷 뱅킹에 가입하면 아이디와 패스워드 플라스틱으로 된 비밀번호카드를 지급하고, 인터넷 뱅킹시마다 특정 비밀번호를 요구하고 있다. 그러나, 이 방법도 비밀번호가 미리 플라스틱 카드에 기재되어 있기 때문에 사용자의 관리부실 또는 도난 등의 경우 잘못된 사용을 막을 수는 없는 문제점이 있었다.
따라서, 본 발명은 상기 문제점을 해결하기 위하여 이루어진 것으로, 본 발명의 목적은 금융거래, 네트워크 접속시 사용자가 일회용 비밀번호를 생성할 수 있는 프로그램을 다운로드 받고, 다운로드 된 프로그램의 각 모듈에 의해 일회용 비밀번호를 생성하여 생성된 일회용 비밀번호를 이용해 ATM기나 금융거래, 네트워크 접속을 하게 함으로써 보안성을 향상시킨 일회용 비밀번호 생성 방법 및 그 프로그램 소스를 저장한 기록매체를 제공하는데 있다.
상기 목적을 달성하기 위한 본 발명에 의한 일회용 비밀번호 생성 방법은 (a)사용자로부터 일회용 비밀번호 생성 요청 신호를 수신하고, 일회용 비밀번호를 생성하기 위한 프로그램을 송출하여 사용자에게 전송하는 단계, (b)상기 사용자로부터 사용자 정보를 수신하는 단계, (c)상기 프로그램의 각 모듈에 의해 상기 사용자 정보를 이용하여 일회용 비밀번호를 생성하는 단계, (d)생성된 일회용 비밀번호를 상기 사용자 또는 해당 금융기관에 전송하는 단계를 포함한다.
또한 본 발명에 의한 일회용 비밀번호 생성 방법의 프로그램 소스를 저장한 기록매체는 (a)사용자로부터 일회용 비밀번호 생성 요청 신호를 수신하고, 일회용 비밀번호를 생성하기 위한 프로그램을 송출하여 사용자에게 전송하는 프로세스, (b)상기 사용자로부터 사용자 정보를 수신하는 프로세스, (c)상기 프로그램의 각 모듈에 의해 상기 사용자 정보를 이용하여 일회용 비밀번호를 생성하는 프로세스, (d)생성된 일회용 비밀번호를 상기 사용자 또는 해당 금융기관에 전송하는 프로세스를 포함하는 일회용 비밀번호 생성 방법의 프로그램 소스를 저장한 기록매체를 포함한다.
이하, 본 발명의 바람직한 실시 예에 대해 첨부 도면을 참조하여 상세히 설명하기로 한다.
도 1은 본 발명에 의한 일회용 비밀번호 생성 방법의 일실시예를 도시한 것이다.
도 1에 도시된 바와 같이, 일회용 비밀번호를 생성하고자 하는 사용자는 휴대폰 단말기 또는 컴퓨터 등과 같이 액정표시가 가능한 장치를 통해 일회용 비밀번호 생성 프로그램을 다운로드 받는다(S10). 그리고나서 사용자가 일회용 비밀번호 생성을 위해 필요한 금융 거래 정보를 입력하면(S12) 저장된 프로그램에 의해 일회용 비밀번호가 생성된다(S14).
생성된 비밀번호는 액정표시가 가능한 단말기,컴퓨터 등을 통해 바코드나 그래픽, 또는 암호로 전송되는데(S16) 전송된 일회용 비밀번호는 휴대용 단말기의 출력포트를 통한 출력도 가능할 것이다. 사용자는 이후 ATM기 또는 인터넷을 통한 금융거래, 네트워크 접속시 생성된 일회용 비밀번호를 사용하여 금융거래, 네트워크 접속등을 수행하게 된다.
이하에서는, 저장된 프로그램에 의해 일회용 비밀번호가 생성되는 과정에 대해 상세히 살펴보는데, 설명의 편의를 위해 사용자가 휴대용 단말기를 이용해 생성된 비밀번호를 전송받으며, 인터넷을 통한 금융거래를 위한 비밀번호를 생성시키는 경우를 예로 들어 설명하기로 한다.
도 2는 본 발명의 일회용 비밀번호 생성 방법에 의해 일회용 비밀번호를 생성하는 해당 장치의 블럭도를 도시한 것이다.
도 2를 참고하면 본 발명의 일회용 비밀번호 생성 장치(100)는 송수신 모듈(10), 날짜시드 발생모듈(20), 논리함수 모듈(30), ECB 모듈(40), 마방진 모듈(50), 상관함수 모듈(60), 일반시드 발생모듈(25)을 포함한다.
상기 송수신 모듈(10)은 사용자로부터 프로그램 다운로드 요청 신호를 수신하여 프로그램을 전송하거나 최종적으로 생성된 일회용 비밀번호를 사용자 또는 해당 금융기관에 전송하는 역할을 한다. 날짜시드 발생모듈(20), 일반시드 발생모듈(25)은 사용자의 선택에 의해 상기 모듈 중 해당되는 모듈에 의해 시드를 발생시키는 역할을 하는데, 날짜시드 발생모듈(20)은 날짜 정보를 바탕으로 일회용 비밀번호를 생성하기 위한 시드값을, 일반시드 발생모듈(25)은 날짜 정보에 상관없는 시드값을 발생시킨다.
시드값을 발생시키는데 상기와 같이 날짜시드 발생모듈(20), 일반시드 발생모듈(25)를 구분한 것은, 본 발명에 의한 일회용 비밀번호 생성 방법은 같은 날이라도 일회용 비밀번호를 생성시키는 회수에 따라 비밀번호가 달라져 사용자가 생성시킨 번호가 사용되지 않고 버려지면 이후 새로운 비밀번호가 생성되어도 관리자 측에서는 이전에 생성된 비밀번호와 동기되어 있으므로 날짜 변경이 되는 다음 날까지는 비밀번호를 사용할 수 없게 되는 문제가 있다.
따라서, 이러한 경우에 사용자는 날짜 정보를 이용한 시드값이 아닌 일반 시드값을 발생시키고, 일반시드 발생모듈(25)에서 시드값을 발생시키는 경우에는 해당 금융기관에도 발생된 시드값에 의해 생성된 비밀번호를 전송함으로써 동기를 맞춰준다.
한편, 논리함수 모듈(30), ECB 모듈(40), 마방진 모듈(50), 상관함수 모듈(60) 각각은 미리 저장된 프로그램에 의해 날짜시드 발생모듈(20), 일반시드 발생모듈(25)에서 생성된 시드값을 가지고 난수 발생, 논리함수 적용, ECB 적용, 마방진 적용, 상관함수를 수행하는 역할을 하게 된다.
본 발명에 의한 일회용 비밀번호 발생 장치에 의해 일회용 비밀번호를 생성하기 위해서는 먼저, 사용자의 휴대용 단말기에 해당 프로그램을 다운로드 하는데, 해당 프로그램이 다운로드되면, 날짜시드 발생모듈(20) 또는 일반시드 발생모듈(25)에 의해 시드값을 발생시킨다.
그리고 발생된 시드값을 이용해 논리함수 모듈(30), ECB 모듈(40), 마방진 모듈(50) 각각에서 논리함수 적용, ECB 적용, 마방진 적용을 병렬적으로 수행하며 최종적으로 상관함수 모듈(60)에서 상관함수에 의해 일회용 비밀번호를 생성하게 된다. 이 때, 일반시드 발생모듈(25)에서 시드값을 발생시키는 것은 종래 기술에 해당되는 것으로 여기에서 자세한 설명은 생략하고, 이하에서는 본원발명의 날짜시드 발생모듈(20)에 의해 시드값이 발생되는 과정, 논리함수의 적용, ECB 적용, 마방진 적용, 상관함수의 적용을 이하 차례로 살펴본다.
1. 날짜시드 발생 모듈
날짜시드 발생 모듈(20)은 다수개의 난수발생기를 포함하는데, 각각의 난수 발생기는 고유 번호에 의해 일반항(Fn)의 수식이 특정된다. mv, hh, mm, ss는 난수 발생기의 번호에 따라 변경되는 값이므로 난수 발생기의 일반항이 다음과 같이 특정된다고 가정하면, 어떤 경우라도 일반항(Fn)은 정수의 값을 가지게 된다.
Fn= 년도 + 월*mv + 일*.hh*mm*ss mv=1~99, hh=1~99, mm=1~99 ss=1~99
이와 같이 일반항(Fn)이 정수값을 가지는 경우에는 구해진 일반항의 값을 16진수로 변환하고 아래 4자리수를 시드값(rndv)으로 적용한다.
한편, 알고리즘에 의해 특정된 일반항(Fn)의 값이 정수가 아닌 경우에는 정수부분을 제외한 소수점이하 값을 필요한 16진 자리수 만큼 곱셈하여 사용할 수 있다. 다음은 일반항(Fn)의 값이 정수가 아닌 경우의 예로서 일반항(Fn)의 수식은 다음과 같다.
Fn= Log (phin / ) n= 날짜, phi는 임의의 수
상기의 경우, 일반항(Fn)의 수식에 의해 주어진 값의 정수부분을 제외한 소수점 이하 값을 필요한 16진 자리수 만큼 곱셉하여 사용하도록 한다. 즉, 16진 4자리를 사용할 경우 정수부분을 제외한 값에 0x10000를 곱한 후 그 정수부분을 16진수로 바꾸어 이용하면 된다. 그리고 이 때 얻어진 16진 4자리수를 시드값(rndv)으로 적용한다. 날짜정보를 이용해서 난수발생기에서 시드값(rndv)이 결정되고 나면 논리함수 모듈(30), ECB 모듈(40), 마방진 모듈(50)이 병렬적으로 실행된다.
2-1. 논리함수 모듈
도 3은 논리함수 모듈(30)의 동작을 설명하기 위한 순서도이다.
논리함수 모듈(30)은 날짜시드 발생모듈(20) 또는 일반시드 발생모듈(25)에 의해 얻어진 4자리 시드값(rndv)에 수학적이고 산술적인 연관관계를 갖는 일반 수열이 아니라 논리연산의 특성을 가하는 것으로 논리연산(AND, OR, XOR, NOR, XNOR)을 수행하여 logo(n)의 값을 결정한다. 도 3을 참고로 하면, 카드정보(카드번호, 유효기간)가 먼저 BCD(Birnary-Coded Decimal) 변환과정을 거치게 되는데(S22), 카드정보의 BCD 변환과정은 4자리수의 단위로 이뤄진다.
즉, wxyz - w1x1y1z1 - w2x2y2 z2 - w3x3y3z3 와 같은 카드 번호가 있다고 가정하면 4자리수의 wxyz에 대해서 wxyz ===> w * 16^3 + x * 16^2 + y * 16^1 + z * 16^0 의 연산을 행하고, 이를 w1x1y1z1, w2x2 y2z2, w3x3y3z3 각각에 대해 수행한다. 그리고 BCD연산 후 wxyz, w1x1y1z1, w2x2y 2z2, w3x3y3z3 각각에 대해 얻어진 값을 w'x'y'z', w1'x1'y1'z1', w2'x2'y 2'z2', w3'x3'y3'z3'라고 하면 다음과 같은 연산에 의해 logv(n)의 값을 결정한다(S24). 하기에서 expi의 값은 카드 유효기간을 BCD변환한 값이다.
(rndv w'x'y'z') + expi = logv1 expi = logo1
(logv1 w'x'y'z') + expi = logv2 expi = logo2
(logv2 w'x'y'z') + expi = logv3 expi = logo3
(logv(m-1) w'x'y'z') + expi = logv(m) expi = logo(m)
시드값(rndv)과 w'x'y'z'의 XOR연산 결과에 의해 logv(n)이 결정되면, logv(n)값의 마지막 3비트에 의해 하기 논리함수의 번호 할당표를 따라 연산 L()이 결정되고(S26), 연산 L()이 결정된 후에는 expi와의 XOR연산결과에 의해 logo(n)의 값이 결정된다(S28).
논리함수의 번호 할당표
논리 함수의 번호 할당표
논리연산번호() 논리함수 특성
0(000) XOR (NOT logvn expi) 가역
1(001) OR 비가역
2(010) XOR 가역
3(011) AND 비가역
4(100) XOR (logvn NOT expi) 가역
5(101) NOR 비가역
6(110) XNOR 가역
7(111) NAND 비가역
상기에서는 카드번호 wxyz - w1x1y1z1 - w2x2 y2z2 - w3x3y3z3 중 wxyz에 대해서만 논리함수가 실행된 결과이고, 논리함수 모듈(30)은 나머지 w1x1y1z1, w2x2y2z2, w3x3y3z 3
에 대해서도 일련의 과정을 반복하게 된다.
2-2. ECB 모듈
ECB 모듈(40)은 먼저 카드정보(카드번호, 유효기간)의 BCD 변환값을 구하는데 논리함수 모듈(30)에서와 마찬가지로 카드번호의 BCD 변환값을 wxyz - w1x1y1 z1 - w2x2y2z2 - w3x3y3z3 , 카드 유효기간의 BCD변환값을 expi라 한다. 그리고나서 날짜시드 발생 모듈(20)의 결과 얻어진 시드값(rndv)과 카드정보의 BCD 변환값을 이용하여 다음과 같은 연산을 수행해 ecbv(n)값을 얻는데, 구체적으로 시드값(rndv)과 카드 유효기간의 BCD값(expi)을 XOR 연산해 ecbv1값을 얻고, 얻어진 ecbv1값과 w3'x3'y3'z3'을 XOR연산해서 ecbv2값을 얻으며 다음 연산과정을 통해 순차적으로 ecbv(n)을 얻는다.
rndv expi => ecbv1
ecbv1 w3'x3'y3'z3' => ecbv2
ecbv2 w2'x2'y2'z2' => ecbv3
ecbv3 w1'x1'y1'z1' => ecbv4
ecbv4 w'x'y'z' => ecbv5
ecbv5 expi => ecbv6
ecbv(m-1) expi => ecbv(m)
상기 식에서 expi와의 연산 후에 w3'x3'y3'z3', w2'x 2'y2'z2', w1'x1'y1'z1' , w'x'y'z' 의 연산과정을 순차적으로 적용해 나가면서 ECB 모듈은 계속해서 실행된다.
2-3. 마방진 모듈
도 4는 마방진 모듈(50)을 설명하기 위한 순서도이다.
도 4를 참고하면, 먼저 날짜시드 발생 모듈(20)에서 발생된 난수 발생기의 고유 번호에 대응되는 종류 및 크기를 가진 방진 테이블이 결정된다(S32). 그 후, 방진 검사를 수행해 오류 발생 여부를 체크하는데(S34) 방진 테이블의 각 행의 합, 각 열의 합, 대각선의 합이 모두 같으면 오류가 없는 정상 방진 테이블로 판명된다. 방진 검사 수행 결과 오류가 있는 경우에는(S34의 'Y') 시드값(rndv)이 phav값으로 결정되는 한편(S36-2), 오류가 없는 경우(S34의 'N')에는 미리 저장된 알고리즘에 의해 phav값이 결정된다(S36-1).
미리 저장된 알고리즘에 의해 phav값이 결정되는 과정을 구체적으로 설명하면, 시드값 rndv에서 n은 방향, d는 열, v는 행을 결정하는 파라미터가 된다. 이하에서는 난수 발생기의 고유 번호에 대응되는 방진 테이블이 4*4 방진 테이블인 경우를 예로 들어 설명하며, 이하에서 rndv의 BCD값을 2345로 가정한다. 다음 표2는방진 테이블의 일례로서 4*4 방진 테이블을 도시한 것이다.
4*4 방진 테이블
15 1 2 12
4 10 9 7
8 6 5 11
3 13 14 0
rndv값의 BCD값이 2345인 경우 상기에서 설명한 바와 같이, n은 방향, d는 열, v는 행을 결정하는 파라미터이므로 3이 방향, 4가 행, 5가 열을 결정하는 파라미터가 된다. 방진 테이블에서 첫 회전방향은 다음 표3에 의해 결정되는데 이 때 방향을 결정하는 파라미터는 2진수로 변환된 값에 의하여야 하고, 이후부터는 시계방향으로 회전한다.
방진 테이블에서의 첫 회전방향
방향
0000 북쪽
0001 북서쪽
0010 서쪽
0011 남동쪽
0100 남쪽
0101 남서쪽
0110 동쪽
0111 북동쪽
1000 북쪽
1001 북서쪽
1010 서쪽
1011 남동쪽
1100 남쪽
1101 남서쪽
1110 동쪽
1111 북동쪽
따라서, 시드값(rndv)이 2345인 경우 방진테이블에서 첫 회전방향은 3을 2진수 변환한 값이 0011이므로 남동쪽이 된다. 한편, 방진테이블의 시작점의 위치는 열,행을 결정하는 파라미터 4,5에 의해 결정되는데 방진 테이블의 크기에 의해 좌표값을 변환하게 된다. 4*4 방진 테이블의 경우에는 (4,5)의 좌표값은 각각을 4로 나눈 나머지의 값에 1을 더한값 (1,2)로 변환되어 표2의 방진 테이블에서 시작값은 4로 결정된다.
도 5는 방진 테이블 내에서 회전이 진행되는 것을 설명하기 위한 도면이다.
이제 방진 테이블 내에서 행열의 좌표를 기점으로 해당 방향으로 진행하면서 필요한 자리수 만큼의 값을 취하게 되는데, 해당 위치의 값이 두자리가 넘으면 최하위 한자리 값을 사용하게 된다. 필요한 자리수가 4이고 표2의 방진 테이블에서 시작값 4에서 회전방향을 남동쪽으로 하여 4자리 값을 취하면 차례로 4, 6, 14, 12값을 얻을 수 있다. 첫 시계 방향 이후에는 시계방향에 의한다고 하였으므로 2번째 회전시에는 4 이후에 6의 회전방향인 8로 이동, 4,8,3,15의 값을 얻는다.
컴퓨터는 9이후의 숫자에 대해서는 차례로 a,b,c,d순의 알파벳으로 인식하게 되므로 시드값(rndv)이 2345인 경우 phav(n)의 값은 다음과 같이 결정된다. 또한 방진 테이블내에서 회전 시 8방향의 회전이 끝난 후, 처음과 같이 회전이 계속되면 역추적의 위험이 있으므로 첫 회전시 2번째 자리값을 시작점으로 하여 다시 8회전을 하게 되는 식으로 회전이 계속되며 phav(n)값을 구하게 된다.
phav1 => 46ec
phav2 => 483f
phav3 => 4be1
phav4 => 479a
phav5 => 4ce6
phav6 => 4f38
phav7 => 41eb
phav8 => 4a97
phav9 => 6ec4
3. 상관함수 모듈
상관함수 모듈(60)에서는 논리함수 모듈(30), ECB 모듈(40), 마방진 모듈(50)에서 각각 얻어진 logo(n)값, ecbv(n)값, phav(n)값을 합성, 일회용 비밀번호를 생성한다. 이 때 은행에서 별도의 관리용 비밀번호를 사용자에게 부여하거나, 난수 발생기의 관리용 비밀번호를 사용자에게 부여하여 일회용 비밀번호 생성시 부여한 관리용 비밀번호까지 함께 연산될 수도 있을 것이다. 다음은 생성된 일회용 비밀번호의 값을 otpw(n)이라 하고, 관리용 비밀번호를 pswd라고 할 때, otpw(n)의 값이 연산되는 과정을 나타낸 것이다.
otpw 1차 => logo1 ecbv1 phav1 pswd
otpw 2차 => logo2 ecbv2 phav2 pswd
otpw 3차 => logo3 ecbv3 phav3 pswd
otpw m차 => logo(m) ecbv(m) phav(m) pswd
상기에서 생성된 otpw의 값은 4자리의 16진수로 최종 사용을 위해 얻어진 otpw 값을 10진수로 변환 후, 아래 4자리를 사용함으로써 보다 편리하게 본 발명에 의해 생성된 비밀번호를 사용할 수 있을 것이다.
또한 상기 otpw(n)의 연산 과정에서도 나타나듯이 본 발명에 의한 일회용 비밀번호 생성 방법은 같은 날이라도 일회용 비밀번호를 생성시키는 회수에 따라 비밀번호가 달라지게 된다. 즉, 본 발명에 의한 일회용 비밀번호 생성 방법은 날짜 정보를 기본으로 발생된 시드와 카드번호, 유효기간등의 금융관련 번호 정보를 이용하여 비밀번호를 생성하며, 매번 생성시마다 비밀번호가 바뀌는 순서동기방식에 의한다.
이는 기존에 단위 시간이 설정되면 단위시간 사이에 한가지의 일회용 비밀번호가 사용될 수 있는 시간 동기 방식 이용시 사용자가 단위 시간 변경 시점의 직전에 만든 일회용 비밀번호가 단위시간 변경 직후의 비밀 번호와 달라지게 되어 에러가 발생하는 문제점을 해소하기 위한 것으로 일정 시간 대에 특정 비밀번호를 사용하는 것이 아니라, 당일에 한해 사용 시간에 상관없이 생성 횟수에 의해 비밀번호가 달라지게 되는 방식이다.
또한, 사용자가 생성시킨 번호를 사용하지 않고 버리고, 새로운 비밀번호를 생성하는 경우에는 일반시드 발생모듈(25)을 통해 새로운 시드 값을 발생시키고, 이에 의해 생성된 비밀번호를 해당 금융기관에 전송함으로써 생성시킨 일회용 비밀번호를 사용하지 않고 파기해버린 경우라도 날짜 정보와 관련없이 새로운 시드값에 의해 새로운 비밀번호를 생성할 수 있고, 금융 거래를 계속할 수 있다. 이때 일반시드 발생모듈(25)에 의해 생성된 비밀번호는 당일까지 유효하고 날짜가 변경되는 경우에는 날짜시드 발생모듈(20)에 의해 다시 날짜정보를 바탕으로 시드값을 생성함으로써 보안의 효과를 더욱 더 높일 수 있다.
이상에서 설명한 본 발명의 바람직한 실시예들은 예시의 목적을 위해 개시된 것이며, 당업자라면 본 발명의 사상과 범위 안에서 다양한 수정, 변경, 부가 등이 가능할 것이고, 이러한 수정, 변경 등은 이하의 특허청구범위에 속하는 것으로 보아야 할 것이다.
이상에서 설명한 바와 같이, 본 발명에 의한 일회용 비밀번호 생성 방법 및 그 프로그램 소스를 저장한 기록매체에 의하면 본 발명은 금융거래, 네트워크 접속시 사용자가 일회용 비밀번호를 생성할 수 있는 프로그램을 다운로드 받으면, 다운로드 된 프로그램의 각 모듈에 의해 일회용 비밀번호를 생성하므로, 생성된 일회용 비밀번호를 이용해 ATM기나 금융거래, 네트워크 접속을 하게 함으로써 보안성을 향상시키는 효과가 있다.
도 1은 본 발명의 일 실시예에 의한 일회용 비밀번호 생성 방법의 순서도
도 2는 본 발명의 일회용 비밀번호 생성 방법에 의해 일회용 비밀번호를 생성하는 해당 장치의 블럭도
도 3은 논리함수 모듈의 동작을 설명하기 위한 순서도
도 4는 마방진 모듈의 동작을 설명하기 위한 순서도
도 5는 방진 테이블 내에서 회전이 진행되는 것을 설명하기 위한 도면
<도면의 주요 부분에 대한 부호의 설명>
10: 송수신 모듈 20: 날짜시드 발생모듈
25: 일반시드 발생모듈 30: 논리함수 모듈
40: ECB 모듈 50: 마방진 모듈
60: 상관함수 모듈

Claims (12)

  1. (a)사용자로부터 일회용 비밀번호 생성 요청 신호를 수신하고, 일회용 비밀번호를 생성하기 위한 프로그램을 송출하여 사용자에게 전송하는 단계;
    (b)상기 사용자로부터 사용자 정보를 수신하는 단계;
    (c)상기 프로그램의 각 모듈에 의해 상기 사용자 정보를 이용하여 일회용 비밀번호를 생성하는 단계;
    (d)생성된 일회용 비밀번호를 상기 사용자 또는 해당 금융기관에 전송하는 단계를 포함하는 일회용 비밀번호 생성 방법.
  2. 제 1항에 있어서, 상기 (c)단계는
    (c1)일정 알고리즘에 의해 시드값을 결정하는 단계인 것을 특징으로 하는 일회용 비밀번호 생성 방법.
  3. 제 2항에 있어서, 상기 (c)단계는
    (c2)일정 알고리즘에 의해 상기 (c1)단계에서 결정된 시드값에 논리 연산을 가하는 단계인 것을 특징으로 하는 일회용 비밀번호 생성 방법.
  4. 제 2항 또는 제 3항에 있어서, 상기 (c1)단계는
    상기 사용자의 요청에 의해 날짜 정보를 이용해 시드값을 결정하는 것을 특징으로 하는 일회용 비밀번호 생성 방법.
  5. 제 1항에 있어서, 상기 (c)단계는
    (c3)마방진 테이블을 이용하여 일정 알고리즘에 의해 마방진 테이블에서 시작점을 결정하고, 약속된 방향으로 회전을 수행하며 필요한 자리수의 값을 얻는 단계인 것을 특징으로 하는 일회용 비밀번호 생성 방법.
  6. 제 5항에 있어서,
    상기 마방진 테이블은 상기 프로그램의 고유 번호에 따라 마방진 테이블의 크기 및 종류가 결정되는 것을 특징으로 하는 일회용 비밀번호 생성 방법.
  7. (a)사용자로부터 일회용 비밀번호 생성 요청 신호를 수신하고, 일회용 비밀번호를 생성하기 위한 프로그램을 송출하여 사용자에게 전송하는 프로세스;
    (b)상기 사용자로부터 사용자 정보를 수신하는 프로세스;
    (c)상기 프로그램의 각 모듈에 의해 상기 사용자 정보를 이용하여 일회용 비밀번호를 생성하는 프로세스;
    (d)생성된 일회용 비밀번호를 상기 사용자 또는 해당 금융기관에 전송하는 프로세스를 포함하는 일회용 비밀번호 생성 방법의 프로그램 소스를 저장한 기록매체.
  8. 제 7항에 있어서, 상기 (c)단계는
    (c1)일정 알고리즘에 의해 시드값을 결정하는 프로세스인 것을 특징으로 하는 일회용 비밀번호 생성 방법의 프로그램 소스를 저장한 기록매체.
  9. 제 8항에 있어서, 상기 (c)단계는
    (c2)일정 알고리즘에 의해 상기 (c1)단계에서 결정된 시드값에 논리 연산을 가하는 프로세스인 것을 특징으로 하는 일회용 비밀번호 생성 방법의 프로그램 소스를 저장한 기록매체.
  10. 제 7항 또는 제 8항에 있어서, 상기 (c1)단계는
    상기 사용자의 요청에 의해 날짜 정보를 이용해 시드값을 결정하는 것을 특징으로 하는 일회용 비밀번호 생성 방법의 프로그램 소스를 저장한 기록매체.
  11. 제 7항에 있어서, 상기 (c)단계는
    (c3)마방진 테이블을 이용하여 일정 알고리즘에 의해 마방진 테이블에서 시작점을 결정하고, 약속된 방향으로 회전을 수행하며 필요한 자리수의 값을 얻는 프로세스인 것을 특징으로 하는 일회용 비밀번호 생성 방법의 프로그램 소스를 저장한 기록매체.
  12. 제 11항에 있어서,
    상기 마방진 테이블은 상기 프로그램의 고유 번호에 따라 마방진 테이블의 크기 및 종류가 결정되는 것을 특징으로 하는 일회용 비밀번호 생성 방법의 프로그램 소스를 저장한 기록매체.
KR1020030090172A 2003-12-11 2003-12-11 일회용 비밀번호 생성 방법 및 그 프로그램 소스를 저장한기록매체 KR20050057945A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020030090172A KR20050057945A (ko) 2003-12-11 2003-12-11 일회용 비밀번호 생성 방법 및 그 프로그램 소스를 저장한기록매체

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020030090172A KR20050057945A (ko) 2003-12-11 2003-12-11 일회용 비밀번호 생성 방법 및 그 프로그램 소스를 저장한기록매체

Publications (1)

Publication Number Publication Date
KR20050057945A true KR20050057945A (ko) 2005-06-16

Family

ID=37251647

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030090172A KR20050057945A (ko) 2003-12-11 2003-12-11 일회용 비밀번호 생성 방법 및 그 프로그램 소스를 저장한기록매체

Country Status (1)

Country Link
KR (1) KR20050057945A (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100751428B1 (ko) * 2006-01-16 2007-08-23 (주)에이티솔루션 일회용 비밀번호 생성방법과 일회용 비밀번호 인증 시스템
KR100786551B1 (ko) * 2006-09-15 2007-12-21 이니텍(주) 복수 개의 방식에 의한 일회용 비밀번호의 사용자 등록,인증 방법 및 그러한 방법을 수행하는 프로그램이 기록된컴퓨터 판독 가능 기록 매체
KR100788429B1 (ko) * 2006-01-16 2007-12-24 주식회사 드림시큐리티 거래내역 검증방법
KR101493057B1 (ko) * 2007-03-27 2015-02-17 주식회사 비즈모델라인 일회용 코드 제공 방법

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100751428B1 (ko) * 2006-01-16 2007-08-23 (주)에이티솔루션 일회용 비밀번호 생성방법과 일회용 비밀번호 인증 시스템
KR100788429B1 (ko) * 2006-01-16 2007-12-24 주식회사 드림시큐리티 거래내역 검증방법
KR100786551B1 (ko) * 2006-09-15 2007-12-21 이니텍(주) 복수 개의 방식에 의한 일회용 비밀번호의 사용자 등록,인증 방법 및 그러한 방법을 수행하는 프로그램이 기록된컴퓨터 판독 가능 기록 매체
KR101493057B1 (ko) * 2007-03-27 2015-02-17 주식회사 비즈모델라인 일회용 코드 제공 방법

Similar Documents

Publication Publication Date Title
US8140855B2 (en) Security-enhanced log in
US8290150B2 (en) Method and system for electronically securing an electronic device using physically unclonable functions
US9237006B2 (en) Table-connected tokenization
US8059814B1 (en) Techniques for carrying out seed or key derivation
US20100205448A1 (en) Devices, systems and methods for secure verification of user identity
US9614847B2 (en) User authentication
US20080216172A1 (en) Systems, methods, and apparatus for secure transactions in trusted systems
CN101290647A (zh) 密码保护装置和方法以及密码键盘
US20160127134A1 (en) User authentication system and method
US20140177825A1 (en) Asymmetric Tokenization
CN104025505A (zh) 用于管理用户认证的方法、装置和系统
CN101432980A (zh) 用于移动电话的时间同步型一次性密码生成装置和方法
US20120198530A1 (en) Real time password generation apparatus and method
WO2019046034A1 (en) METHOD, COMPUTER PROGRAM, AND SYSTEM FOR REALIZING AND PROTECTING SECURE INPUT ROUTINES BASED ON THEIR BEHAVIOR
CN110445768A (zh) 一种登录方法、装置及电子设备
US10999082B2 (en) Localized garbled circuit device
KR20050057945A (ko) 일회용 비밀번호 생성 방법 및 그 프로그램 소스를 저장한기록매체
US20140304789A1 (en) Convenient one-time password
JP4863279B2 (ja) メモリシステム及びメモリアクセス方法
US7822199B2 (en) Method and device for performing a cryptographic operation
CN108173661B (zh) 一种动态口令生成方法、装置及动态口令牌
US8117647B2 (en) Method for generating a plurality of unique secure numbers and card comprising such a number
CN101667915A (zh) 产生动态密码执行远程安全认证的方法及其移动通信装置
CN113132113B (zh) 验证动态令牌正确性的方法及系统、设备
EP4262142A1 (en) Communication system, communication method, and program

Legal Events

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