KR101389264B1 - one time password including integrity code and authentication system based on it - Google Patents

one time password including integrity code and authentication system based on it Download PDF

Info

Publication number
KR101389264B1
KR101389264B1 KR1020080033954A KR20080033954A KR101389264B1 KR 101389264 B1 KR101389264 B1 KR 101389264B1 KR 1020080033954 A KR1020080033954 A KR 1020080033954A KR 20080033954 A KR20080033954 A KR 20080033954A KR 101389264 B1 KR101389264 B1 KR 101389264B1
Authority
KR
South Korea
Prior art keywords
time password
server
time
integrity code
service
Prior art date
Application number
KR1020080033954A
Other languages
Korean (ko)
Other versions
KR20090108501A (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 KR1020080033954A priority Critical patent/KR101389264B1/en
Publication of KR20090108501A publication Critical patent/KR20090108501A/en
Application granted granted Critical
Publication of KR101389264B1 publication Critical patent/KR101389264B1/en

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/34User authentication involving the use of external additional devices, e.g. dongles or smart cards
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

본원발명은 무결성 데이터를 포함하는 일회용암호 생성을 위한 방법과 이를 기반으로하는 인증체계를 제공한다. 서비스서버가 클라이언트단말이 요구한 서비스 항목의 요약데이터를 기반으로 하여 생성한 무결성코드 사용자의 유무선통신단말로 전송되면, 이 무결성코드를 일회용암호생성기에 입력하여 무결성테이터를 포함하는 일회용암호(One-Time-Password, OTP)를 생성한다. 사용자는 이 일회용암호를 유무선통신단말 또는 클라이언트단말이 접속한 네트워크를 이용하여 일회사용암호인증서버에 전송하고 일회용암호인증서버를 수신한 일회용암호를 인증한다. 인증결과를 수신한 서비스서버는 에 그 결과에 따라 클라이언트단말에게 서비스를 제공하거나 거부함으로써 보안도를 달성한다.The present invention provides a method for generating a one-time password including integrity data and an authentication scheme based on the method. When the service server is transmitted to the wired / wireless communication terminal of the integrity code user generated based on the summary data of the service item requested by the client terminal, the integrity code is input to the one-time password generator and the one- Time-Password, OTP). The user transmits the one-time password to the one-time password authentication server using the wired / wireless communication terminal or the network to which the client terminal is connected, and authenticates the one-time password upon receiving the one-time password authentication server. The service server that has received the authentication result achieves security by providing or denying service to the client terminal according to the result of the authentication.

일회용암호, 무결성코드, 메모리해킹, 챌린지-리스펀스, 시간동기화, One time password, OTP, 일회용암호(OTP) 생성기 One time password, OTP, One Time Password (OTP) Generator, Time-Synchronization, One-Time Password, Integrity Code, Memory Hacking, Challenge-Response

Description

무결성코드를 포함하는 일회용암호 기반의 인증방법과 그 시스템 {one time password including integrity code and authentication system based on it}A one-time password-based authentication method including an integrity code, and a system thereof,

본원발명은 클라이언트와 서비스서버가 접속하는 환경에서 무결성 코드를 포함하는 일회용암호의 생성방법과 이용한 인증방법 및 인증시스템에 관한 것이다.The present invention relates to a method of generating a one-time password including an integrity code in an environment in which a client and a service server are connected, and an authentication method and an authentication system using the same.

일반적으로 일회용암호(One time password)체계는 크게 챌린지-리스펀스방식(challenge-response type) 방식과 타임싱크방식(time synchronized type)으로 분류될 수 있다. Generally, the one time password scheme can be largely divided into a challenge-response type scheme and a time synchronized type scheme.

일회용암호(OTP) 생성기는 사용자가 휴대할 수 있는 휴대용 장치로 챌린지-리스펀스 방식의 경우 서버의 챌린지를 입력하여 일회용비밀번호를 생성할 수 있으며, 타임싱크방식의 경우 챌린지의 입력 없이 일정한 주기로 계속 새로운 비밀번호가 생성된다.A one-time password (OTP) generator is a portable device that can be carried by a user. In the challenge-response method, a challenge of the server can be input to generate a one-time password. In case of the time sync method, Is generated.

챌린지-리스펀스 방식의 일회용암호(OTP)는 클라이언트단말 단말이 서버에 접속을 요청하는 경우 서버는 수 바이트로 구성된 챌린지(Challenge) 값을 클라이언트단말에게 전송하고 클라이언트단말는 이챌린값에 서버와 공유하고 있는 시리얼번호, 기 관코드 등을 합쳐서 서버와 함께 공유하고 있는 해쉬함수(Hash function)을 이용하여 해쉬결과를 도출하게 된다. 이러한 해쉬결과는 사용자가 입력하기 편한 방식으로 표현되는데 이러한 표현기능을 제공하는 것인 표현함수이다. 표현함수에서 출력된 값이 리스펀스, 일회용암호, 또는 OTP가 된다. 따라서 본 문서에서 '리스펀스', '일회용암호', 그리고 'OTP'는 모두 동일하게 생성된 일회용암호를 의미한다. 이러한 과정은 다음의 수학식과 같이 요약된다. In the challenge-response type one-time password (OTP), when a client terminal requests a connection to a server, the server transmits a challenge value composed of several bytes to the client terminal, and the client terminal transmits a challenge The hash result is derived using a hash function that is shared with the server by combining the number and the organization code. Such a hash result is an expression function that is provided in a manner that the user can easily input and provides such a representation function. The value output from the expression function is a response, a one-time password, or an OTP. Therefore, 'response', 'one-time password', and 'OTP' in this document mean the same generated one-time password. This process is summarized as the following equation.

Figure 112008026157519-pat00001
Figure 112008026157519-pat00001

Figure 112008026157519-pat00002
Figure 112008026157519-pat00002

여기서, h는 해쉬의 결과를 의미하고 H()는 단방향 해쉬함수, C는 챌린지, S는 서버와 공유하고 있는 시리얼번호, A는 기관코드 및 기타 예약코드이다. 또한 Rep()는 표현함수, OTP는 생성된 일회용암호이다. Here, h denotes a hash result, H () denotes a one-way hash function, C denotes a challenge, S denotes a serial number shared with the server, A denotes an authority code, and other reservation codes. Rep () is a representation function, and OTP is a generated one-time password.

해쉬함수는 길이의 제한이 없는 긴 데이터를 그 입력 값으로 하고, 출력은 128 bit ~ 160 bit 의 정해진 크기의 값(해쉬값)을 주는 함수를 의미한다. 이러한 해쉬함수가 암호학적으로 보안도를 갖기위해서는 출력값으로 부터 입력값을 추론할 수 없는 단방향성을 가져야하며, 입력값의 작은변화도 출력값의 큰변화를 거져오는 쇄 도효과를 충분히 일으켜야 한다. 동일한 출력값을 주는 서로다른 입력값을 찾는 것이 수치해석적으로 불가능해야만 하는 등의 조건을 만족해야 한다. 일반적으로 쓰이는 해쉬함수는 md5, sha, sha1 등이 있다. 이러한 해쉬함수를 소프트웨어적으로 또는 하드웨어적으로 구현한 모듈을 해쉬함수모듈(411)로 정의한다.A hash function is a function that takes long data without any length restriction as its input value and outputs a value (hash value) of a fixed size of 128 bits to 160 bits. To have such a hash function cryptographically secure, the input value must be unidirectional from the output value, and a small change in the input value must sufficiently generate the chain effect that results in a large change in the output value. It must be numerically impossible to find different input values giving the same output value. Common hash functions are md5, sha, and sha1. The hash function module 411 defines a module in which such a hash function is implemented in software or hardware.

이 리스펀스 값은 사용자가 접속을 요청하는 클라이언트단말를 통해 서버에 전송되고 서버는 이 리스펀그 값이 서버가 도출한 리스펀스 값과 같은 경우 클라이언트단말를 인증하게된다. 실제 구현에 있어서 해쉬함수는 128 bit ~ 160 bit 의 긴 출력값을 제공하게 되므로 사용자의 편의상을 고려해서 리스펀스(OTP)를 다시 10진수로 6자리에서 10자리의 수(또는 정의된 길이로)로 표시되도록 조정할 필요가 있는데 이러한 기능은 간단하게는 XOR 등을 이용하여 그 크기를 줄이는 구성을 취하며 또는 다른 해쉬함수를 이용하여 구현할 수도 있다. 이를 표현함수 Rep(representation function)라 부르며, 이를 구현한 모듈을 표현모듈(412)로 정의한다.This response value is transmitted to the server through the client terminal requesting the connection by the user and the server authenticates the client terminal when the leasing value is equal to the response value derived by the server. In actual implementation, the hash function provides a long output value of 128 bits to 160 bits. Therefore, the response (OTP) is expressed in decimal numbers from 6 to 10 digits (or a defined length) This function can be implemented by simply reducing the size by using XOR or by using another hash function. This is called an expression function Rep (representation function), and a module implementing this is defined as an expression module 412.

타임싱크방식의 일회용암호(OTP)는 챌린지-리스펀스 방식과는 다르게 서버와 일회용암호(OTP) 생성기가 동기화된 시간을 공유함으로써 일정한 시간 주기에 따라 인증을 위한 일회용암호(OTP)를 계속 생성하는 방식이다. 타임싱크방식에 의한 일회용암호는 다음과 같은 식에 의해 도출된다.One-time password (OTP) of time synchronization method is different from challenge-response method in that server and one-time password (OTP) generators share synchronized time, thereby generating a one-time password (OTP) to be. The one-time password by the time sync method is derived by the following equation.

Figure 112008026157519-pat00003
Figure 112008026157519-pat00003

Figure 112008026157519-pat00004
Figure 112008026157519-pat00004

여기서 T는 서버와 공유하고 있는 시간, S는 일회용암호(OTP) 생성기와 서버와 공유하고 있는 시리얼번호, A는 기관코드 및 기타 예약코드이다. 타임싱크방식은 사용자가 서버로부터 챌린지의 수신과 입력없이도 일정한 시간을 주기로 생성되므로 사용자의 입장에서는 챌린지-리스펀스 방식의 일회용암호 보다 편리할 수 있다. 그러나 인증을 위해 일정시간동안 동일한 일회용암호의 인증을 허용하기 때문에 보안도 측면에서는 챌린지-리스펀스 방식의 일회용암호가 더 우월한 것으로 알려져 있다. Where T is the time shared with the server, S is the one-time password (OTP) generator and the serial number shared with the server, A is the authority code and other reserved code. The time synchronization method can be more convenient than the challenge-response type one-time password in terms of the user since the user is generated at a predetermined time interval without receiving and inputting the challenge from the server. However, since the authentication of the same one-time password is allowed for authentication for a certain period of time, it is known that the challenge-response type one-time password is superior in terms of security.

챌린지-리스펀스 방식은 시간 오차가 누적되어 올바른 일회용암호를 입력했을때 인증을 실패할 염려가 없으나, 리스펀스를 서버로부터 수신해야하는 과정이 추가된다는 특성이 있으며, 타임싱크방식은 챌린지의 수신없이 패스워드를 바로 획득하고 인증받을 수 있다는 특성이 있으나 서버와의 시간 오차가 누적될 수 있으며 인증을 위해 일정시간동안 동일한 일회용암호의 인증을 허용하기 때문에 보안도가 약화될 수 있다는 단점이 있다.The challenge-response method is characterized in that authentication is not failed when a correct one-time password is input due to accumulation of time errors, but a process of receiving a response from the server is added. In the time sink method, However, there is a disadvantage in that the security may be weakened because time errors with the server may accumulate and authentication of the same one-time password may be allowed for authentication for a certain period of time.

챌린지-리스펀스 방식의 일회용암호체계에 대한 공격은 챌린지에 대한 리스펀스를 계속해서 누적함으로써 가능하다. 가령 사용자 A를 공격하고자하는 공격자는 특정사용자가 수신한 챌린지와 송신한 리스펀스를 계속적으로 축적하여 사용자 A의 챌린지-리스펀스 테이블을 완성하는 경우 서버에 A를 가장하고 리스펀스를 수신한 다음 챌린지-리스펀스 테이블을 이용하여 해당 리스펀스을 찾아내고 이를 서버에 송신함으로써 인증을 획득할 수 있게된다. 실질적으로 공격자는 사용자 A를 공격하기위해서 챌린지-리스펀스 테이블을 100% 왼성할 때까지 기다릴 필요는 없다. 이 테이블이 일부가 구축된 경우라고 서버가 챌린지를 이전에 생성하였던 것과 같은 것을 송신하는 경우 공격자는 리스펀스를 일부완성한 테이블로부터 획득할 수 있으므로 이를 이용하여 인증을 획득할 수 있게 된다. The attack on the challenge-response one-time password scheme is possible by continuously accumulating the response to the challenge. For example, when an attacker who intends to attack user A continuously accumulates a challenge received and a response received by a specific user to complete a challenge-response table of user A, the server A impersonates A and receives a response, The user can obtain the authentication by finding the corresponding response using the server and transmitting the response to the server. In effect, an attacker does not have to wait 100% for the challenge-response table to attack user A. If this table is partly built and the server sends the same thing that it had previously generated the challenge, the attacker could obtain the response from the partially completed table and use it to gain authentication.

타임싱크 방식의 일회용암호체계에 대한 공격은 타임싱크방식에 제공하는 일회용암호의 인증유효기간(보통 1분으로 설정함)을 주요한 공격 경로로 이용하게된다. 공격자의 트로이목마 형태의 공격툴이 심어진 사용자 B의 단말이 접속하고 인증을 시도하고 있는 경우에, 공격자는 사용자 B의 단말을 계속 모니터링하며 사용자 B가 타임싱크 방식의 일회용암호를 입력하고 엔터(Enter)을 치는 순간 그 일회용암호 값을 다른 값으로 변조해서 서버로 송신하고 사용자 B가 입력한 진짜 일회용암호는 모니터링하고 있는 공격자에게로 전송한다. 이러한 공격방법을 소위 메모리해킹이 라고 부른다. 공격자는 인증유효기간내에 이를 서버에 송신하고 자신이 인증을 받아 해당서비스를 진행한다. 이러한 공격은 최근의 인터넷뱅킹에서 수회 일어났으며 앞으로 더 심각한 피해가 예상된다. The attack on the time synchronization type disposable cipher system uses the authentication expiration time of the one-time password provided to the time sink method (usually set to one minute) as the main attack path. If the attacker's Trojan-horse attack tool is installed and the user B's terminal is attempting authentication and authentication, the attacker will continue to monitor the user B's terminal, and user B will input the one-time password of the time sink method, ), It modifies the one-time password value to another value and transmits it to the server, and transmits the real one-time password inputted by user B to the monitoring attacker. This attack method is called so-called memory hacking. The attacker transmits this to the server within the validity period of the authentication and receives the authentication and proceeds with the service. These attacks have occurred several times in recent Internet banking and are expected to cause more serious damage in the future.

따라서 일회용암호기반의 인증방식의 보안성을 강화하고자 일회용암호에 서비스요청데이터를 포함시켜 인증단계에서 OTP인증서버가 일회용암호의 무결성을 점검할 수 있는 방법 및 시스템이 요구되는 시점이다.Therefore, in order to enhance the security of the one-time password-based authentication method, a method and system are required to include the service request data in the one-time password so that the OTP authentication server can check the integrity of the one-time password in the authentication step.

따라서 본원발명은 이러한 트로이 목마형태의 해킹툴을 이용한 해커의 공격을 봉쇄하고자 도출된 것으로 유무선통신단말을 이용하여 수신한 무결성코드를 이용하여 생성된 일회용암호(OTP)를 클라이언트단말이 접속하고 있는 네트워크 또는 유무선통신단말의 네트워크를 통해 전송하게 함으로써 크라이언트단말을 트로이목마 형태의 해킹툴을 이용하여 클라이언트단말(100)를 장악하고 메모리해킹을 시도하는 해커가 존재하는 경우에도 이러한 통제권한 밖으로 우회하는 우회네트워크 또는 클라이언트단말이 접속한 네트워크를 통하여 무결성코드(2100)를 포함한 일회용암호를 전송하고 인증함으로써 메모리해킹을 기반으로한 공격을 모두 원천 봉쇄하도록 구성한다. Accordingly, the present invention has been made to solve the hacker's attack using the Trojan-type hacking tool, and it is an object of the present invention to provide a method and system for protecting a hacker's attack by using a wired / wireless communication terminal, Or a wired / wireless communication terminal, thereby allowing the client terminal to bypass the control of the client terminal 100 using a hacking tool in the form of a Trojan horses, By transmitting and authenticating the one-time password including the integrity code 2100 through the network or the network to which the client terminal is connected, an attack based on the memory hacking is completely blocked.

이러한 방법은 일회용암호를 생성하기 위한 OTP생성기(500), 일회용암호를 SMS 또 는 ARS로 전송하기 위한 우회네트워크로써 유무선네트워크와 이들의 접속을 위한 SMS 또는 ARS서버(400), 및 수신된 무결성코드(2100)를 포함하는 일회용암호(1100)를 인증하기 위한 OTP인증서버(300)를 이용하여 구성된다.The method includes an OTP generator 500 for generating a one-time password, a bypass network for transmitting a one-time password to the SMS or ARS, an SMS or ARS server 400 for connection to a wired and wireless network, And an OTP authentication server 300 for authenticating the one-time password 1100 including the password 2100.

또한 본원발명은 챌린지-리스펀스 방식과 타임싱크방식의 일회용암호 체계를 융합하는 새로운 기술적사상으로, 서버에서 수신한 시간 동기화된 챌린지값과 기타 정적인 시리얼, 기관코드 등만을 입력값에 반영하는 것이 아니고 무결성코드와 이산화된시간데이터를 입력값에 추가함으로써 정적인 데이터와 동적인 데이터를 융합하여 이전의 챌 린지 - 리스펀스 방식의 문제점인 동일한 챌린지에 동일한 리스펀스를 제공하는 단점을 극복한다. 타임싱크방식과는 무결성코드를 수신하므로 1회의 인증기회만 주어진다는 구성이 다르며 또한 인증유효기간이 없어 그 보안도를 저해해왔던 타임싱크방식의 허점을 완전 봉쇄한다는 측면에서 근본적인 차이가 있는 구성이다. In addition, the present invention is a new technical concept that combines the challenge-response method and the one-time-use cryptosystem of the time sync method. It does not reflect only the time-synchronized challenge value received at the server and other static serial, Integrity code and The discretized time data By adding the input value fused static data and dynamic data to Lindsay previous intercept of - overcomes the disadvantages of providing a challenge response to the same problems of response manner. What is Time Sync? Since the integrity code is received, there is a fundamental difference in terms of completely blocking the loopholes of the time synchronization method , which has been different from the configuration in which only one authentication opportunity is given,

서비스요청항목과 요청시각으로부터 도출되는 무결성코드(2100), 무결성코드를 포함하는 일회용암호(1100), 일회용암호를 위한 OTP생성기(500), 이를 인증하기위한 OTP인증서버(300), 클라이언트단말의 서비스 요청을 수신하는 서비스서버(200), 유무선통신단말(600)과 이들에게 무결성코드(2100)를 전송하기위한 SMS/ARS서버(400)등이 본원발명의 핵심적인 해결 수단이다. An integrity code 2100 derived from a service request item and a request time, a one-time password 1100 including an integrity code, an OTP generator 500 for a one-time password, an OTP authentication server 300 for authenticating the password, The service server 200 receiving the service request, the wired / wireless communication terminal 600, and the SMS / ARS server 400 for transmitting the integrity code 2100 to them is a key solution of the present invention.

사용자가 요청한 서비스항목을 포함하여 무결성코드를 생성하고 무결성데이터를 기반으로 일회용암호를 생성함으로써 클라이언트 단말에서 서비스요청항목들을 변조하는 메모리해킹공격을 근원적으로 차단하여 전자금융거래의 안전성을 확보한다.And generates a one-time password based on the integrity data to secure the safety of the electronic financial transaction by fundamentally blocking the memory hacking attack that modifies the service request items in the client terminal by generating the integrity code including the service item requested by the user.

클라이언트단말(100이 접속한 네트워크가 아닌 이종의 우회네트워크를 통하여 무결성코드를 포함하는 일회용암호를 OTP인증서버에 전송함으로써, 트로이목마 형태의 해킹툴을 기반으로하는 메모리해킹등의 공격을 차단한다. 응용가능한 분야는 예를 들면 인터넷뱅킹, 및 유무선전화망을 이용한 폰뱅킹 등이 해당된다.The client terminal 100 transmits a one-time password including an integrity code to the OTP authentication server through a heterogeneous bypass network instead of the network to which the client terminal 100 is connected, thereby blocking attacks such as memory hacking based on the Trojan-based hacking tool. Applicable fields include, for example, Internet banking, and phone banking using wired and wireless telephone networks.

또한 사용자인증이 OTP인증서버(300), 서버스서버(200), 클라이언트단말(100), 무선통신단말(600), SMS/ARS서버(400), OTP인증서버(300)로 다시 회기(looping)하게 함으로써 인증단계에 참여하는 구성요소 전체에 대한 통합된 인증수행하여 보안도를 획기적으로 강화하는 효과를 가져온다. The user authentication is looped back to the OTP authentication server 300, the server server 200, the client terminal 100, the wireless communication terminal 600, the SMS / ARS server 400 and the OTP authentication server 300, The integrated authentication of all the components participating in the authentication step is performed, thereby enhancing the security degree dramatically.

본원발명은 일회용암호를 생성함에 있어서 챌린지값과 기타 정적인 시리얼, 기관코드만을 입력값에 반영하는 것이 아니고 무결성코드와 함께 이산화된시간데이터를 입력값에 추가함으로써, 일회용암호가 서비스요청데이터에 대한 무결성을 포함하도록 구성된다.In the present invention, in generating a one-time password, not only the challenge value and other static serial and authority codes are reflected in the input value but the discretized time data added together with the integrity code is added to the input value, ≪ / RTI > integrity.

본원발명의 이러한 특징은 도청자가 챌린지와 리스펀스를 계속 수집하여 동일한 챌린지의 경우 리스펀스를 알아내는 공격을 가해오는 경우 기존의 챌린지-리스펀스 방식의 일회용암호 체계에서의 공격가능성을 완전히 봉쇄하는 효과를 가져오며, 또한 타임싱크방식의 일회용암호체계의 관점에서는 일정시간의 인증유효기간 동안에 비인자의 인증시도를 완전히 봉쇄할 수 있다는 효과를 가진다.This feature of the present invention is that the eavesdropper continuously collects the challenge and the response, and if the same challenge is used to detect the response, it completely blocks the possibility of attack in the existing challenge-response type one-time password system In addition, from the viewpoint of the one-time cryptosystem of the time synchronization method, there is an effect that the authentication attempt of the non-person can be completely blocked during the authentication valid period of the predetermined time.

결론적으로 챌린지-리스펀스 방식의 일회용암호와 타임싱크방식의 일회용암호체계의 장점을 강화하고 서비스요청데이터를 조작함으로써 가능했던 메모리해킹을 근원적으로 봉쇄한다.In conclusion, it strengthens the advantages of challenge-response one-time passwords and time-sync one-time password schemes and essentially blocks the memory hacking possible by manipulating service request data.

본원발명을 구성하는 구성요소는 클라이언트단말(100), 클라이언트단말의 서비스제공요청에 따라 서비스와 관련된 콘텐츠를 제공하는 서비스서버(200), 일회용암호의 생성을 위해 무결성코드(2100)를 생성하고, 수신한 일회용암호를 확인하는 OTP인증서버(300), 전송된 무결성코드를 수신하는 SMS 또는 ARS서버(400), OTP정보를 전송하기위한 유무선통신단말(600), 그리고 일회용암호를 생성하기위한 OTP생성기(500)- 전술한 챌린지-리스펀스 방식과 시간동기화방식을 모두 포함한다-.The components constituting the present invention include a client terminal 100, a service server 200 for providing contents related to a service according to a service provision request of the client terminal, an integrity code 2100 for generating a one- An OTP authentication server 300 for confirming the received one-time password, an SMS or ARS server 400 for receiving the transmitted integrity code, a wired / wireless communication terminal 600 for transmitting OTP information, and an OTP Generator 500 includes both the challenge-response scheme and the time synchronization scheme described above.

일회용암호를 이용하는 인증방법은 고강도의 보안도를 달성할 수 있다는 장점으로 보안시스템의 접근 통제용이나 인터넷뱅킹을 포함한 금융거래에 있어서 인증수단으로 사용되고 있다. 인터넷뱅킹 서비스를 그 예로 들어서 종래의 일회용암호(OTP)를 이용한 인증시스템에 관한 서비스의 흐름을 설명을 하면 다음과 같다( 도1 참조).Authentication methods using one-time passwords are used as authentication methods for access control of security systems and financial transactions including Internet banking because of the advantage of achieving high degree of security. The following is an explanation of a service flow related to an authentication system using a conventional one-time password (OTP) by taking an Internet banking service as an example (refer to FIG. 1).

클라이언트단말(100)이 인터넷뱅킹서버에 사용자ID와 패스워드를 전송하고 로그인을 하는 경우 조회등의 일반적인 서비스를 받을 수 있다. 계좌이체 등의 보안 등급이 높은 서비스를 요청하는 경우 인터넷뱅킹서버는 일회용암호(OTP)인증서버에게 챌린지의 생성을 요청하고 일회용암호(OTP)인증서버는 챌린지를 생성하여 서비스 서버에게 전송한다 (시간동기방식의 경우 챌린지를 생성하고 전송하는 단계는 생략될 수 있다). 인터넷뱅킹서버는 이 챌린지를 클라이언트단말(100)로 전송한다. 사용자는 이 챌린지를 OPT 생성기(독립된 휴대용기기로 또는 휴대폰에 구현되기도 한다)에 챌린지를 입력한 후 리스펀스를 도출한다. 클라이언트단말(100)는 리스펀스를 사용자로부터 입력받은 후 이를 인터넷뱅킹서버로 전송하고 인터넷뱅킹서버는 리스펀스를 다시 일회용암호(OTP)인증서버로 전송하며 일회용암호(OTP)인증서버는 도출한 리스펀스와 수신한 리스펀스가 같은 경우 인증성공을 인터넷뱅킹서버에 통보하고 사용자가 요청한 보안등급이 높은 서비스를 제공한다.When the client terminal 100 transmits a user ID and a password to the Internet banking server and logs in, it can receive general services such as inquiry. When requesting a service having a high security level such as an account transfer, the Internet banking server requests the OTP authentication server to generate a challenge, and the OTP authentication server generates a challenge and transmits the challenge to the service server The step of generating and transmitting the challenge in the case of the synchronous scheme may be omitted). The Internet banking server transmits the challenge to the client terminal 100. The user enters the challenge in an OPT generator (which may also be implemented in an independent handheld device or in a mobile phone) to derive the challenge. The client terminal 100 receives the response from the user and transmits the response to the Internet banking server. The Internet banking server transmits the response to the OTP authentication server again, and the one-time password (OTP) If one of the responses is the same, it notifies the Internet banking server of the authentication success and provides a service with a high security level requested by the user.

일회용암호와 관련된 최근의 기술은 한국공개특허 제10-2007-0077569호(선행기술문헌1) 및 미국공개특허 제US2006/0136739호(선행기술문헌2)에 개시되어 있다.Recent techniques relating to disposable ciphers are disclosed in Korean Patent Laid-Open No. 10-2007-0077569 (Prior Art Document 1) and US Publication No. US2006 / 0136739 (Prior Art Document 2).

선행기술문헌1은 휴대폰을 이용한 일회용 패스워드 서비스 시스템 및 방법에 관한 것으로 OTP인증서버가 챌린지를 생성하면 이를 SMS서버를 통해 휴대폰으로 전송하고 이를 휴대폰에 구현된 일회용암호생성기를 이용하여 리스펀스 즉 일회용암 호(OTP)를 도출하며 일회용암호를 클라이언트단말(100)를 통하여 서버에 전송하여 사용자를 인증하는 방법이다. 이 방법은 사용자에게 챌린지의 수신과 리스펀스의 도출을 편리하게 수행할 수 있도록 하며 보안도를 일부 강화시키고 있다는 특징이 있다.The prior art document 1 relates to a system and method for a one-time password service using a mobile phone. When the OTP authentication server generates a challenge, it transmits the challenge to the mobile phone via the SMS server and transmits the response to the mobile phone using a one- (OTP) and transmits the one-time password to the server through the client terminal 100 to authenticate the user. This method allows the user to easily receive the challenge and derive the response.

또한 선행기술문헌2는 휴대용 모바일 장치에 일회용암호를 생성하는 방법 및 장치에 관한 것으로 글로벌 인증서버로부터 일회용암호생성을 위한 리스펀스를 수신하고 이를 이용하여 일회용암호를 생성한 후 이를 비지니스 클라이언트 PC를 통하여 전송함으로써 사용자 인증을 수행(2 page 참조)하는 것을 핵심구성으로하고 있는 것으로 핵심적인 구성은 선행기술문헌1과 유사하다. 이러한 선행기술문헌들은 무선네트워크와 유선네트워크를 복합적으로 이용하고 있다는 측면에서 그 보안도는 더욱 강화되었고 기존의 일회용암호를 클라이언트PC가 접속한 단일네트워크를 통해서만 송수신하던 기술보다는 더욱 진일보한 것이라 할 수 있다.The prior art document 2 is related to a method and apparatus for generating a one-time password in a portable mobile device, receives a response for generating a one-time password from a global authentication server, generates a one-time password using the response, (See page 2). The core configuration is similar to the prior art document 1. These prior art documents have been further enhanced in terms of the combined use of wireless and wired networks and are a step ahead of the technology of transmitting and receiving existing one-time passwords over a single network connected by a client PC .

그러한 기술적인 진전에도 불구하고, 선행기술문헌1-2에 의해 제시된 종래의 일회용암호(OTP)를 이용한 서비스서버의 인증방법은 상대적으로 강한 보안도를 제공하지만 클라이언트단말(100)에 해커가 심어놓은 트로이목마(Taojan Horse)형태의 해킹툴이 설치되어 장악되는 경우에 이러한 일회용암호체계가 무력화될 수 있음이 최근의 일련의 사건에 의해 알려지게 되었다. 트로이목마 형태의 해킹툴을 사용자 PC에 설치되도록 유도한 해커는 커널후킹 또는 키보트 후킹을 통해 사용자가 입력하 는 일회용암호(OTP)를 가로챈다. 그 후 사용자가 입력하기 전에 클라이언트단말(100)의 OTP는 다른 값으로 변조하여 클라이언트단말(100)상에서는 일회용암호 입력이 실패된 것으로 처리시킨다. 이는 전술한 바와 같이 메모리해킹의 전형적인 예이며 이러한 공격에 의해 인터넷뱅킹의 해킹사례가 최근 다수보고되고 있다.Despite such technological advances, the authentication method of the service server using the conventional one-time password (OTP) proposed by the prior art document 1-2 provides a relatively strong security level, but the client terminal 100 has a hacker- It has become known by a recent series of events that this disposable cryptosystem can be disabled if a hacking tool in the form of a Taojan Horse is installed and seized. A hacker who hacked a Trojan-shaped hacking tool to install on a user's PC intercepts the user's typed password (OTP) through kernel hooking or keyboat hooking. Thereafter, the OTP of the client terminal 100 is modulated to a different value before the user inputs it, and the client terminal 100 processes the input of the one-time password as a failure. This is a typical example of memory hacking as described above, and many cases of hacking of Internet banking have been reported recently.

이후 일회용암호의 유효기간(주로 1분으로 설정됨)내에 해커는 자신이 가로챈 일회용암호(OTP)를 서비스서버에 전송하고 일회용암호인증을 받아 본인이 원하는 서비스를 진행하게된다. 이러한 흐름은 단순히 이론적으로만 제시된 것이 아니며 최근의 뉴스에 의하면 수회에 걸쳐 중국 해커들에 의해 이러한 공격이 진행되었으며 다수의 사용자가 본인의 계좌에서 전혀 모르는 제3자의 계좌로 자금이 이체되어 인출되었다.  Then, the hacker transmits the one-time password (OTP) intercepted by the hacker to the service server within the expiration date of the one-time password (usually set to one minute) and receives the one-time password authentication. This trend is not merely a theoretical one, but recent news has shown that this attack has been conducted by Chinese hackers over a number of occasions, and many users have withdrawn funds from their accounts to a third party account that they do not know at all.

이러한 트로이목마형태의 해킹툴을 이용한 메모리해킹의 경우 챌린지-리스펀스 방식이나 시간동기화 방식의 일회용암호(OTP) 모두가 동일한 취약점을 가지게된다. 이를 선행기술문헌1-2와 같이 휴대폰을 이용하여 챌린지를 수신한다 할지라도 결국 일회용암호를 클라이언트단말(100)에 입력해야하므로 외길인 클라이언트단말(100)를 장악하고 있는 해커에게 가로채일 수 밖에 없는 것이다. 따라서 지금까지 제안된 OTP관련 인증시스템은 클라이언트단말(100)를 장악하는 트로이목마 형태의 해킹툴이 심어지는 경우에는 OTP를 이용한 인증 자체가 무의미한 것이 된다. In the case of memory hacking using such a Trojan-shaped hacking tool, both the challenge-response method and the time-synchronization method of one-time password (OTP) have the same vulnerability. Even if a challenge is received by using a mobile phone as in the prior art document 1-2, a disposable password must be input to the client terminal 100, and thus the client terminal 100 must be interrupted by a hacker will be. Therefore, in the OTP-related authentication system proposed so far, authentication using the OTP becomes meaningless when a trojan-based hacking tool that takes control of the client terminal 100 is planted.

본원발명의 개괄적인 서비스 구성도는는 도1에 제시된 바와 같다. 서비스서버(200)가 클라이언트단말(100)로 부터 수신한 서비스요청항목들과 요청시각을 수신한 OTP인증서버(300)가 무결성코드(2100)를 생성한후 이를 SMS/ARS서버(400)를 통하여 등로된 유무선통신단말로 전송한다. 이는 일회용암호생성기의 입력부(50)를 통해 입력되면, 이는 메모리부(40)에 저장된다. 제어부는 메모리부에 저장된 시리얼번호를 수신한다. 이시리얼번호는 OTP인증서버와 일회용암호 생성기가 일회용암호생성기를 등록/배포하는 과정에서 서로 공유하게되는 일련번호이다. 제어부는 이산화시간부(20)로부터 이산화된시간데이터를 수신한다. 이산화된 시간테이터는 년월일분(예를 들면 2008.03.10.18.30) 또는 년월일시 (예를들면, 2008.03.10.18) 등으로 분단위 또는 일단위 등으로 이산화된 형태의 시간 데이터를 의미한다. The general service configuration of the present invention is as shown in FIG. The OTP authentication server 300 receiving the service request items and the request time received from the client terminal 100 by the service server 200 generates the integrity code 2100 and transmits the integrity code 2100 to the SMS / ARS server 400 To the wired / wireless communication terminal. This is input through the input unit 50 of the one-time password generator, which is stored in the memory unit 40. The control unit receives the serial number stored in the memory unit. This serial number is a serial number shared by the OTP authentication server and the one-time password generator in registering / distributing the one-time password generator. The control unit receives the discretized time data from the discretization time unit 20. The discretized time data refers to time data in the form of discretization in minutes or days, for example, on the day of the year (eg, 2008.03.10.18.30) or on the day of the month (eg, 2008.03.10.18).

일 단위로 이산화하는 경우 예를 들면 2008.107 (1년중의 107일째)로 표현할 수 있으며 주 단위로이산화하는 경우 2008.15 (1년중의 15주째) 등으로 이산화된 시간데이터를 형성할 수 도 있을 것이다. 본원발명에서 권장하는 구성은 1년중의 일수 또는 1년중의 주수로 이산화된 데이터를 취하는 것으로 권장한다. 이렇게 권장하는 이유는 1일 또는 1주일 이내에 서버에서 동일한 무결성코드가 유무선통신단말을 통하여 던져질 확률은 매우 작으며 또한 서버와 일회용암호생성기 사이의 시간 오차의 누적으로 생길 수 있는 인증실패 갭(Gap)을 유지하기 위함이다(타임싱크방식의 유효인증시간과는 다르다). 따라서 본원발명은 이같은 문제점을 근본적으로 해결하기 위해 도출된 것이다.For example, if the daily discretization can be expressed as 2008.107 (the 107th day of a year), and if it is discretized on a weekly basis, the disaggregated time data may be formed by 2008.15 (the 15th week of the year). The configuration recommended in the present invention is recommended to take discrete data for a number of days in a year or a week in a year. The reason for this recommendation is that the probability that the same integrity code will be thrown through the wired / wireless communication terminal in the server within one day or one week is very small, and the authentication failure gap (Gap ) (Which is different from the effective authentication time of the time synchronization method). Therefore, the present invention has been derived in order to fundamentally solve such a problem.

또한 제어부는 메모리부에 저장된 기타예약코드를 읽어오는데, 기타예약코드는 기관코드, 서비스코드 등을 포함할 수 있다.Further, the control unit reads other reservation codes stored in the memory unit, and the other reservation codes may include institution codes, service codes, and the like.

제어부는 아래의 수학식3과 수학식4에 표시된 바와 같이 같이 무결성코드, 시리얼, 이산화된시간데이터, 기타예약코드를 연결하여 해쉬입력데이터블럭(1000)을 생성하고 이를 해쉬함수와 표현함수에 입력하여 일회용암호(OTP)(1100)를 생성한다. 본원발명에서 일회용암호를 생성하는 구성은 다음과 같다.The control unit generates the hash input data block 1000 by connecting the integrity code, the serial, the discretized time data, and other reservation codes as shown in the following Equations 3 and 4 and inputs it into the hash function and the expression function (OTP) 1100. In this case, The configuration for generating the one-time password in the present invention is as follows.

Figure 112008026157519-pat00005
Figure 112008026157519-pat00005

Figure 112008026157519-pat00006
Figure 112008026157519-pat00006

Figure 112008026157519-pat00007
Figure 112008026157519-pat00007

여기서 서비스요청항목은 클라이언트 단말이 서비스서버에 요청한 항목으로 전자금융거래에 있어서 예를들면, 이체은행코드, 계좌번호, 이체금액 등이 포함된다. 요청시각은 클라이언트 단말이 서비스서버에게 요청한시각을 의미한다. 이렇게함으로써 무결성코드의 무작위도를 증가시키고 해커의 예측가능성을 봉쇄한다 (도2 참조)Here, the service request item is an item requested by the client terminal to the service server, and includes, for example, a transfer bank code, an account number, a transfer amount, and the like in an electronic financial transaction. The request time means the time requested by the client terminal to the service server. This increases the randomness of the integrity code and blocks the predictability of the hacker (see Figure 2)

Figure 112008026157519-pat00008
Figure 112008026157519-pat00009
Figure 112008026157519-pat00008
Figure 112008026157519-pat00009

Figure 112008026157519-pat00010
Figure 112008026157519-pat00010

무결성코드(2100)은 수학식3에 기재된바와 같이 생성되며, OTP인증서버(300)가 무결성코드의 생성을 담당한다(도3 참조)The integrity code 2100 is generated as described in Equation 3, and the OTP authentication server 300 is responsible for generating the integrity code (see FIG. 3)

무결성코드(2100)를 포함하는 일회용암호를 생성하기 위해서는 사용자가 서비스서버에 요청한 시비스요청항목들과 요청시각에 대한 정보가 필요하다. 전술한바와 같이 전자금융거래에 있어서 서비스요청항목들은 예를들면, 이체은행코드, 이체계좌, 이체금액등이 될수 있을 것이다. 이러한 서비스요청항목들을 합치고 요청시각을 함께 붙여 이를 서비스요청데이터라 정의하며 이것이 무결성코드를 생성하는 근원 데이터가 된다. 서비스요청데이터를 해쉬함수 H()에 통과시켜 해쉬결과 h1을 얻는다. h1을 다시 표현함수 Rep()에 통과시켜 무결성코드를 생성한다. 이 무결성코드는 서비스요청항목의 무결성을 증명하는 코드로 이것이 일회용암호(OTP)를 생성하는 입력값의 일부로 포함되므로 본원발명의 일회용암호는 서비스요청데이터와의 무결성을 OTP인증서버쪽에서 검증할 수 있게된다. 무결성코드와 OTP생성기의 시리얼번호, 이산화된 시간데이터, 그리고 기타예약코드를 합쳐 해쉬입력데이터를 완성한다. 해쉬입력데이더를 해쉬함수와 표현함수에 통과시킨후 최종 무결성 데이터를 포함하는 일회용암호를 생성한다.In order to generate the one-time password including the integrity code 2100, information on the request request items and the request time are required by the user to the service server. As described above, the service request items in the electronic financial transaction may be, for example, a transfer bank code, a transfer account, a transfer amount, and the like. These service request items are combined and the request time is attached together to define it as the service request data, which becomes the source data for generating the integrity code. Pass the service request data to the hash function H () to obtain the hash result h1. h1 is again passed to the expression function Rep () to generate an integrity code. Since this integrity code is a code for proving the integrity of the service request item and is included as a part of the input value for generating the one time use password (OTP), the one-time password of the present invention can be used to verify the integrity with the service request data on the OTP authentication server side do. The hash input data is completed by combining the integrity code and the serial number of the OTP generator, discretized time data, and other reservation codes. After passing the hash input data to the hash function and expression function, a one-time password containing the final integrity data is generated.

본원발명에 따른 일회용암호의 생성에 관한 상세한 구성은 다음과 같다(도1-4참조)The detailed configuration for generating the one-time password according to the present invention is as follows (see FIG. 1-4)

무결성코드를 포함하는 일회용암호를 생성하는 시스템, 또는 일회용암호생성기에 있어서,A system for generating a one-time password comprising an integrity code, or a one-time password generator,

(a) 무결성코드(2100), 시리얼, 그리고 이산화된시간데이터, 기타예약코드를 연결하여 해쉬입력데이터(1000)을 준비하는 단계;(a) preparing the hash input data 1000 by connecting the integrity code 2100, serial, and discretized time data, and other reservation codes;

(b) 상기 해쉬입력데이터을 해쉬함수모듈(411)에 입력하고 해쉬결과를 도출하는 단계; (b) inputting the hash input data to the hash function module 411 and deriving a hash result;

(c) 상기 해쉬결과를 표현함수모듈(412)에 입력하고 일회용암호(OTP)(1100)를 도출하는 단계를 포함하는 일회용암호를 생성한다. (c) inputting the hash result into the expression function module 412 and deriving a one-time password (OTP) 1100. [

위에서 무결성코드(2100)는 복수의 서비스요청항목과 요청시각을 붙여서 서비스요청데이터를 생성하고 이를 해쉬함수모듈(411)과 표현모듈(412)에 통과시켜 정해진 길이로 생성되는 것을 특징으로한다. 전술한 복수의 서비스요청항목은 그예로서 전자금융거래를 고려하면, 이체은행코드, 이체계좌, 그리고 이체금액을 포함할 수 있다.The integrity code 2100 generates the service request data by attaching a plurality of service request items and a request time, passes the hash function module 411 and the presentation module 412, and is generated with a predetermined length. The plurality of service request items described above may include a transfer bank code, a transfer account, and a transfer amount considering an electronic financial transaction.

이러한 무결성코드를 포함하는 일회용암호 인증방법은 다음과 같이 구성된다.The one-time password authentication method including the integrity code is configured as follows.

(인증방법 실시예1, 도5, 7참조)(See Authentication Method Embodiment 1, Figures 5 and 7)

클라이언트단말, 서비스서버, OTP인증서버, 유무선통신단말을 포함하는 일회용암호기반의 인증방법에 있어서,A one-time password based authentication method including a client terminal, a service server, an OTP authentication server, and a wired / wireless communication terminal,

(a) OTP인증서버(300)가 서비스서버(200)로부터 수신한 복수의 서비스요청항목과 요청시각을 붙여서 서비스요청데이터를 생성하고 해쉬함수모듈과 표현모듈을 이용하여 무결성코드(2100)를 생성하는 단계;(a) The OTP authentication server 300 generates service request data by attaching a plurality of service request items received from the service server 200 and a request time, and generates an integrity code 2100 using the hash function module and the presentation module ;

(b) 접속번호가 등록된 유/무선통신단말(600)이 ARS/SMS서버로부터 서비스요청항목과 무결성코드를 수신하는 단계;(b) receiving the service request item and the integrity code from the ARS / SMS server in the wired / wireless communication terminal 600 in which the connection number is registered;

(c) OTP생성기(500)가 상기 무결성코드, 시리얼, 예약코드 및 이산화된시간데이터를 연결하고 해쉬함수모듈과 표현모듈을 이용하여 일회용암호를 생성하는 단계;(c) connecting the integrity code, serial, reservation code, and discretized time data to the OTP generator 500 and generating a one-time password using the hash function module and the presentation module;

(d) 상기 유/무선통신단말(600)이 상기 일회용암호를 입력받고 이를 ARS/SMS서버에 송신하고 수신한 ARS/SMS서버가 OTP인증서버에 일회용암호를 전송하는 단계;(d) receiving, by the wired / wireless communication terminal 600, the disposable password and transmitting the disposable password to the ARS / SMS server and transmitting the disposable password to the OTP authentication server;

(e) OTP인증서버가 상기 일회용암호(1100)를 인증하고 그 결과를 서비스 서버에 통보하여 서비스서버가 서비스를 요청된 서비스를 시행할 것인지 여부를 선택하도록한다.(e) The OTP authentication server authenticates the one-time password 1100 and informs the service server of the result of the authentication so that the service server selects whether or not to perform the requested service.

이러한 인증방식은 다음과 같은 또 다른 실시예로 구성될 수도 있다.This authentication method may be constituted by another embodiment as follows.

(인증방법 실시예2, 도6, 7 참조)(Authentication method example 2, Figs. 6 and 7)

클라이언트단말, 서비스서버, OTP인증서버, 유무선통신단말을 포함하는 일회용암호 기반의 인증방법에 있어서,A one-time password based authentication method including a client terminal, a service server, an OTP authentication server, and a wired / wireless communication terminal,

(a) OTP인증서버(300)가 서비스서버(200)로부터 수신한 복수의 서비스요청항목과 요청시각을 붙여서 서비스요청데이터를 생성하고 해쉬함수모듈과 표현모듈을 이용하여 무결성코드(2100)를 생성하는 단계;(a) The OTP authentication server 300 generates service request data by attaching a plurality of service request items received from the service server 200 and a request time, and generates an integrity code 2100 using the hash function module and the presentation module ;

(b) 접속번호가 등록된 유/무선통신단말(600)이 ARS/SMS서버로부터 서비스요청항목과 무결성코드를 수신하는 단계;(b) receiving the service request item and the integrity code from the ARS / SMS server in the wired / wireless communication terminal 600 in which the connection number is registered;

(c) OTP생성기(500)가 상기 무결성코드, 시리얼, 예약코드 및 이산화된시간데이터를 연결하고 해쉬함수모듈과 표현모듈을 이용하여 일회용암호를 생성하는 단계;(c) connecting the integrity code, serial, reservation code, and discretized time data to the OTP generator 500 and generating a one-time password using the hash function module and the presentation module;

(d) 클라이언트단말(100)이 일회용암호를 입력받아 서비스서버(200)에 전송하고 수신한 서비스서버가 일회용암호를 OTP인증서버에 전송하는 단계;(d) the client terminal 100 receives the one-time password and transmits it to the service server 200, and the received service server transmits the one-time password to the OTP authentication server;

(e) OTP인증서버가 상기 일회용암호(1100)를 인증하고 그 결과를 서비스 서버에 통보하도록하는 인증방식이다.(e) The OTP authentication server authenticates the one-time password 1100 and notifies the service server of the result.

인증방식 실시예1과 실시예2는 유무선통신단말로 수신한 무결성코드를 이용하여 생성한 일회용암호를 클라이언트단말을 이용하여 OTP인증서버에게 전송하느냐 아니면 다시유무선통신단말을 이용하여 전송하느냐는 구성의 차이가 있다. 그러나 무결성코드를 포함하는 일회용암호는 그 무결성을 OPT인증서버가 인증과정에서 확인하게 됨으로 어떠한 경로를 택하더라도 그 보안도는 동등하다. Authentication Method In Embodiments 1 and 2, it is determined whether the one-time password generated by using the integrity code received by the wired / wireless communication terminal is transmitted to the OTP authentication server using the client terminal or by using the wired / wireless communication terminal There is a difference. However, since the integrity of the one-time password including the integrity code is verified by the OPT authentication server during the authentication process, the security level is the same regardless of the path.

본원발명의 무결성데이터를 포함하는 일회용암호기반의 인증방법의 가장 중요한 응 용은 인터넷뱅킹과 폰뱅킹과 같은 전자 결제관련분야라 할 수 있으며 기존의 챌린지-리스펀스 또는 타임싱크방식의 일회용암호체계가 완전히 막아낼 수 없었던 공격가능성을 완전히 봉쇄할 수 있다.The most important application of the one-time password-based authentication method including the integrity data of the present invention is electronic payment related fields such as internet banking and phone banking, and the existing challenge-response or time-sinking one- The possibility of an attack that could not be done can be completely blocked.

OTP생성기(500)는 휴대가능한 크기의 단말로 구현되는데 구체적인 구성은 다음과 같다(도4 참조). 수신된 무결성코드(2100)를 입력받는 입력부(550), 시리얼 및 예약코드를 저장하고 있는 메모리부(530), 해쉬결과를 생성하는 해쉬부(510), 이산화된시간데이터를 생성하는 시간이산화부(520), 무결성코드(2100), 시리얼, 이산화된시간데이터 및 기타예약코드 합하여 해쉬입력데이터를 생성하고 이를 해쉬부(510)에 전송하여 일회용암호를 생성하는 제어부(540), 생성된 일회용암호를 표시하는 디스플레이부(560)를 포함하게된다.The OTP generator 500 is implemented as a portable terminal having a specific configuration as follows (see FIG. 4). An input unit 550 for receiving the received integrity code 2100, a memory unit 530 for storing serial and reservation codes, a hash unit 510 for generating a hash result, a time- A control unit 540 for generating hash input data by adding the hash code 520, the integrity code 2100, the serial, the discretized time data, and other reservation codes to the hash unit 510 to generate a one- And a display unit 560 for displaying the image.

이러한 인증방법은 다음과 같은 구성요소를 포함하여 구현된다(도1, 7참조).This authentication method is implemented including the following components (see Figs. 1 and 7).

서비스를 요청하는 클라이언트단말(100), 클라이언트단말(100)의 서비스요청을 수신하고 인증된 서비스를 제공하는 서비스서버(200), 서비스요청항목과 요청시각을 합쳐 무결성코드(2100)을 생성하고 일회용암호를 인증하는 OTP인증서버(300),A service server 200 that receives a service request of the client terminal 100 and provides an authenticated service, a service server 200 that generates an integrity code 2100 by combining the service request item and the request time, An OTP authentication server 300 for authenticating a password,

무결성코드와 일회용암호를 수신하여 OTP인증서버에 전송하는 SMS/ARS서버(400), An SMS / ARS server 400 receiving the integrity code and the one-time password and transmitting the same to the OTP authentication server,

무결성코드를 수신하는 유무선통신단말(600), 입력된 무결성코드(2100), 시리얼, 이산화된시간데이터, 기타예약코드를 연결하여 무결성코드를 포함하는 일회용암호를 생성하는 일회용암호생성기(500) 등이 포함되어 인증시스템이 구성된다.A one-time password generator 500 for generating a one-time password including an integrity code by connecting the wired / wireless communication terminal 600 receiving the integrity code, the entered integrity code 2100, the serial, the discretized time data, Is included to constitute an authentication system.

도1은 본원발명의 하나의 실시예에 무결성코드를 포함하는 일회용암호 체계의 인증방법에 관한 개념도이다.1 is a conceptual diagram illustrating an authentication method of a disposable cryptosystem including an integrity code according to an embodiment of the present invention.

도2는 본원발명의 하나의 실시예에 따른 무결성코드를 생성하는 방법을 설명하고 있다.FIG. 2 illustrates a method of generating an integrity code according to an embodiment of the present invention.

도3은 본원발명의 하나의 실시예에 따른 무결성코드를 이용한 일회용암호를 생성하는 방법을 설명하고 있다.FIG. 3 illustrates a method of generating a one-time password using an integrity code according to an embodiment of the present invention.

도4는 본원발명의 하나의 실시예에 따른 무결성코드를 이용한 일회용암호생성기의 구성을 설명하고고 있다.FIG. 4 illustrates a configuration of a one-time password generator using an integrity code according to an embodiment of the present invention.

도5는 본원발명의 하나의 실시예에 따른 무결성코드를 이용한 일회용암호기반의 인증방법을 시간에 각 객체가 주고받는 프로토콜의 흐름을 보여주고 있다.FIG. 5 shows a flow of a protocol in which each object transmits and receives a one-time password-based authentication method using an integrity code according to an embodiment of the present invention.

도6은 본원발명의 하나의 실시예에 따른 무결성코드를 이용한 일회용암호기반의 인증방법을 시간에 각 객체가 주고받는 프로토콜의 흐름을 보여주고 있다.FIG. 6 shows a flow of a protocol in which each object sends and receives a one-time password-based authentication method using an integrity code according to an embodiment of the present invention.

도7은 본원발명의 하나의 실시예에 따른 서비스요청항목과 무결성코드를 SMS를 이 용하여 수신한 화면의 예룰 설명하고 있다. 이러한 무결성코드의 전송은 동일하게 ARS를 이용하여 유선통신단말로 전송될 수 있다. FIG. 7 illustrates a screen of a service request item and an integrity code received using SMS according to an embodiment of the present invention. The transmission of the integrity code can be similarly transmitted to the wired communication terminal using the ARS.

Claims (9)

무결성코드를 포함하는 일회용암호를 생성하는 시스템, 또는 일회용암호생성기에 있어서,A system for generating a one-time password comprising an integrity code, or a one-time password generator, (a) 서비스요청항목1, 서비스요청항목2, ... , 서비스요청항목N, 및 서비스요청시각을 하나의 스트링으로 연결하여 서비스요청데이터를 생성하는 단계;(a) generating service request data by connecting a service request item 1, a service request item 2, ..., a service request item N, and a service request time with a single string; (b) 상기 서비스요청데이터를 해쉬함수모듈(411)과 표현함수모듈(412)에 통과시켜 무결성코드(2100)를 생성하는 단계;(b) passing the service request data to a hash function module 411 and an expression function module 412 to generate an integrity code 2100; (c) 상기 무결성코드(2100), 시리얼, 이산화된시간데이터, 및 예약코드를 하나의 스트링으로 연결하여 해쉬입력데이터(1000)을 생성하는 단계;(c) generating the hash input data 1000 by concatenating the integrity code 2100, the serial, the discretized time data, and the reservation code into one string; (d) 상기 해쉬입력데이터을 해쉬함수모듈(411)에 입력하고 해쉬결과를 도출하는 단계; (d) inputting the hash input data to the hash function module 411 and deriving a hash result; (e) 상기 해쉬결과를 표현함수모듈(412)에 입력하고 일회용암호(OTP)(1100)를 도출하는 단계를 포함하는 무결성코드를 포함하는 일회용암호 생성방법.(e) inputting the hash result into an expression function module (412) and deriving a one-time password (OTP) (1100). 삭제delete 제1항에 있어서, The method according to claim 1, 상기 복수의 서비스요청항목은, 전자금융거래에 있어서 이체은행코드, 이체계좌, 그리고 이체금액을 포함하는 것을 특징으로하는 일회용암호 생성방법.Wherein the plurality of service request items include a transfer bank code, a transfer account, and a transfer amount in an electronic financial transaction. 클라이언트단말, 서비스서버, OTP인증서버, 유무선통신단말을 포함하는 일회용암호기반의 인증방법에 있어서,A one-time password based authentication method including a client terminal, a service server, an OTP authentication server, and a wired / wireless communication terminal, (a) OTP인증서버(300)가 서비스서버(200)로부터 수신한 복수의 서비스요청항목과 요청시각을 붙여서 서비스요청데이터를 생성하고 해쉬함수모듈과 표현모듈을 이용하여 무결성코드(2100)를 생성하는 단계;(a) The OTP authentication server 300 generates service request data by attaching a plurality of service request items received from the service server 200 and a request time, and generates an integrity code 2100 using the hash function module and the presentation module ; (b) 접속번호가 등록된 유/무선통신단말(600)이 ARS/SMS서버로부터 서비스요청항목과 무결성코드를 수신하는 단계;(b) receiving the service request item and the integrity code from the ARS / SMS server in the wired / wireless communication terminal 600 in which the connection number is registered; (c) OTP생성기(500)가 상기 무결성코드, 시리얼, 예약코드 및 이산화된시간데이터를 연결하고 해쉬함수모듈과 표현모듈을 이용하여 일회용암호를 생성하는 단계;(c) connecting the integrity code, serial, reservation code, and discretized time data to the OTP generator 500 and generating a one-time password using the hash function module and the presentation module; (d) 상기 유/무선통신단말(600)이 상기 일회용암호를 입력받고 이를 ARS/SMS서버에 송신하고 수신한 ARS/SMS서버가 OTP인증서버에 일회용암호를 전송하는 단계;(d) receiving, by the wired / wireless communication terminal 600, the disposable password and transmitting the disposable password to the ARS / SMS server and transmitting the disposable password to the OTP authentication server; (e) OTP인증서버가 상기 일회용암호(1100)를 인증하고 그 결과를 서비스 서버에 통보하는 단계를 포함하는 무결성코드를 포함하는 일회용암호를 이용한 인증방법.(e) Authenticating the one-time password (1100) by the OTP authentication server and notifying the result to the service server. 클라이언트단말, 서비스서버, OTP인증서버, 유무선통신단말을 포함하는 일회용암호기반의 인증방법에 있어서,A one-time password based authentication method including a client terminal, a service server, an OTP authentication server, and a wired / wireless communication terminal, (a) OTP인증서버(300)가 서비스서버(200)로부터 수신한 복수의 서비스요청항목과 요청시각을 붙여서 서비스요청데이터를 생성하고 해쉬함수모듈과 표현모듈을 이용하여 무결성코드(2100)를 생성하는 단계;(a) The OTP authentication server 300 generates service request data by attaching a plurality of service request items received from the service server 200 and a request time, and generates an integrity code 2100 using the hash function module and the presentation module ; (b) 접속번호가 등록된 유/무선통신단말(600)이 ARS/SMS서버로부터 서비스요청항목과 무결성코드를 수신하는 단계;(b) receiving the service request item and the integrity code from the ARS / SMS server in the wired / wireless communication terminal 600 in which the connection number is registered; (c) OTP생성기(500)가 상기 무결성코드, 시리얼, 예약코드 및 이산화된시간데이터를 연결하고 해쉬함수모듈과 표현모듈을 이용하여 일회용암호를 생성하는 단계;(c) connecting the integrity code, serial, reservation code, and discretized time data to the OTP generator 500 and generating a one-time password using the hash function module and the presentation module; (d) 클라이언트단말(100)이 일회용암호를 입력받아 서비스서버(200)에 전송하고 수신한 서비스서버가 일회용암호를 OTP인증서버에 전송하는 단계;(d) the client terminal 100 receives the one-time password and transmits it to the service server 200, and the received service server transmits the one-time password to the OTP authentication server; (e) OTP인증서버가 상기 일회용암호(1100)를 인증하고 그 결과를 서비스 서버에 통보하는 단계를 포함하는 무결성코드를 포함하는 일회용암호를 이용한 인증방법.(e) Authenticating the one-time password (1100) by the OTP authentication server and notifying the result to the service server. 수신된 무결성코드를 입력받는 입력부(550), 시리얼 및 예약코드를 저장하고 있는 메모리부(530), 해쉬결과를 생성하는 해쉬부(510), 이산화된시간데이터를 생성하는 시간이산화부(520), 무결성코드(2100), 시리얼, 이산화된시간데이터 및 예약코드 합하여 해쉬입력데이터를 생성하고 이를 해쉬부(510)에 전송하여 일회용암호를 생성하는 제어부(540), 생성된 일회용암호를 표시하는 디스플레이부(560)를 포함하는 무결성코드를 포함하는 일회용암호 생성기.An input unit 550 for receiving the received integrity code, a memory unit 530 for storing serial and reservation codes, a hash unit 510 for generating a hash result, a time discretization unit 520 for generating discretized time data, A control unit 540 for generating hash input data by combining the integrity code 2100, the serial, the discretized time data, and the reservation code, and transmitting the generated hash data to the hash unit 510 to generate a one-time password, (560). ≪ RTI ID = 0.0 > 5. < / RTI > 서비스를요청하는 클라이언트단말(100), 클라이언트단말(100)의 서비스요청을 수신하고 인증된 서비스를 제공하는 서비스서버(200), 서비스요청항목과 요청시각을 합쳐 무결성코드(2100)을 생성하고 일회용암호를 인증하는 OTP인증서버(300),A service server 200 that receives a service request of the client terminal 100 and provides an authenticated service, a service server 200 that generates an integrity code 2100 by combining the service request item and the request time, An OTP authentication server 300 for authenticating a password, 무결성코드와 일회용암호를 수신하여 OTP인증서버에 전송하는 SMS/ARS서버(400), An SMS / ARS server 400 receiving the integrity code and the one-time password and transmitting the same to the OTP authentication server, 무결성코드를 수신하는 유무선통신단말(600), 입력된 무결성코드(2100), 시리얼, 이산화된시간데이터, 예약코드를 연결하여 무결성코드를 포함하는 일회용암호를 생성하는 일회용암호생성기(500)를 포함하는 무결성코드를 포함하는 일회용암호를 이용한 사용자 인증시스템.A one-time password generator 500 for generating a one-time password including an integrity code by connecting the wired / wireless communication terminal 600 receiving the integrity code, the entered integrity code 2100, the serial, the discretized time data, A user authentication system using a one-time password including an integrity code. 제1항의 무결성코드(2100)를 포함하는 일회용암호 생성방법을 실행하는 프로그램을 기록한 컴퓨터가 판독할 수 있는 기록매체.A computer-readable recording medium having recorded thereon a program for executing the one-time password generation method including the integrity code (2100) of claim 1. 제4항 내지 제5항 중 어느 한 항의 무결성코드(2100)를 포함하는 일회용암호를 이용한 인증방법을 실행하는 프로그램을 기록한 컴퓨터가 판독할 수 있는 기록매체.A computer-readable recording medium having recorded thereon a program for executing an authentication method using a one-time password including the integrity code (2100) according to any one of claims 4 to 5.
KR1020080033954A 2008-04-11 2008-04-11 one time password including integrity code and authentication system based on it KR101389264B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080033954A KR101389264B1 (en) 2008-04-11 2008-04-11 one time password including integrity code and authentication system based on it

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080033954A KR101389264B1 (en) 2008-04-11 2008-04-11 one time password including integrity code and authentication system based on it

Publications (2)

Publication Number Publication Date
KR20090108501A KR20090108501A (en) 2009-10-15
KR101389264B1 true KR101389264B1 (en) 2014-05-26

Family

ID=41551878

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080033954A KR101389264B1 (en) 2008-04-11 2008-04-11 one time password including integrity code and authentication system based on it

Country Status (1)

Country Link
KR (1) KR101389264B1 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101962471B1 (en) * 2012-03-02 2019-03-27 주식회사 비즈모델라인 Method for Controlling Inverse Multiple Communication
KR101339723B1 (en) * 2013-08-19 2013-12-10 주식회사 벨소프트 Text message security system and method for prevention of identity theft and smishing
KR101402660B1 (en) * 2013-09-17 2014-06-03 주식회사 에스씨테크원 Wireless authentication system for one time password using mobile communication terminal comprising near field communication, and method thereof
KR101945738B1 (en) * 2016-11-29 2019-02-08 충남대학교산학협력단 Application server for verifying integrity of application and controlling method thereof

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100751428B1 (en) 2006-01-16 2007-08-23 (주)에이티솔루션 System for certify one-time password and method for generating one-time password

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100751428B1 (en) 2006-01-16 2007-08-23 (주)에이티솔루션 System for certify one-time password and method for generating one-time password

Also Published As

Publication number Publication date
KR20090108501A (en) 2009-10-15

Similar Documents

Publication Publication Date Title
CN101272237B (en) Method and system for automatically generating and filling login information
US8132020B2 (en) System and method for user authentication with exposed and hidden keys
US6950523B1 (en) Secure storage of private keys
KR101198120B1 (en) Iris information based 3-factor user authentication method for otp generation and secure two way authentication system of wireless communication device authentication using otp
US9858401B2 (en) Securing transactions against cyberattacks
CN105162596B (en) For generating the safety value used in being interacted with server and the equipment for sending user to
EP2020797B1 (en) Client-server Opaque token passing apparatus and method
US8775794B2 (en) System and method for end to end encryption
KR102177848B1 (en) Method and system for verifying an access request
EP2519906B1 (en) Method and system for user authentication
JP2020523822A (en) Computer-implemented system and method for providing a distributed protocol for cryptographic asset recovery
CN109361668A (en) A kind of data trusted transmission method
JP2008269610A (en) Protecting sensitive data intended for remote application
CN105681470A (en) Communication method, server and terminal based on hypertext transfer protocol
CN104125064B (en) A kind of dynamic cipher authentication method, client and Verification System
CN101777983A (en) Trading signature method, authentication server and system
WO2010128451A2 (en) Methods of robust multi-factor authentication and authorization and systems thereof
KR101389264B1 (en) one time password including integrity code and authentication system based on it
JP6712707B2 (en) Server system and method for controlling a plurality of service systems
Kiljan et al. What you enter is what you sign: Input integrity in an online banking environment
KR20090096258A (en) user authentication method and system using detour network based on the one time password
KR20170092992A (en) User authentication apparatus and method thereof
CA2904646A1 (en) Secure authentication using dynamic passcode
KR20090098928A (en) Time synchronized challenge-response one time password and authentication system based on it
Misbahuddin et al. A user friendly password authenticated key agreement for multi server environment

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee