KR20150000081A - Method for Providing One Time Code by using End-To-End Authentication between Card and Server - Google Patents

Method for Providing One Time Code by using End-To-End Authentication between Card and Server Download PDF

Info

Publication number
KR20150000081A
KR20150000081A KR1020130071920A KR20130071920A KR20150000081A KR 20150000081 A KR20150000081 A KR 20150000081A KR 1020130071920 A KR1020130071920 A KR 1020130071920A KR 20130071920 A KR20130071920 A KR 20130071920A KR 20150000081 A KR20150000081 A KR 20150000081A
Authority
KR
South Korea
Prior art keywords
server
card
code
terminal
dynamic
Prior art date
Application number
KR1020130071920A
Other languages
Korean (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 KR1020130071920A priority Critical patent/KR20150000081A/en
Publication of KR20150000081A publication Critical patent/KR20150000081A/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/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/0877Generation of secret information including derivation or calculation of cryptographic keys or passwords using additional device, e.g. trusted platform module [TPM], smartcard, USB or hardware security module [HSM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0863Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/321Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
    • H04L9/3213Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • H04L9/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/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/3234Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving additional secure or trusted devices, e.g. TPM, smartcard, USB or software token
    • 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/3242Cryptographic 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 keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • H04L9/3273Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response for mutual authentication

Abstract

The present invention relates to a method for providing a one-time code using end-to-end authentication between a card and a server. The method for providing a one-time code using end-to-end authentication between a server and a card operated in a chip of the card which interfaces with a terminal through near field communications comprises the following steps: a first step of receiving a dynamic value assigned by the interfaced terminal; a second step of producing encoding data (c) encoding data (c) including at least one dynamic value; a third step of providing the produced encoding data (c) for the interfaced terminal - the encoding data (c) is transmitted to the server through the terminal; a fourth step of receiving encoding data (s) encoding the data (s) including the dynamic value produced by the server through the interfaced terminal; a fifth step of decoding the encoding data (s) by using the assigned decoding module; a sixth step of authenticating the validity of the decoded data (s); a seventh step of confirming the one-time code dynamically produced using at least one dynamic value; and an eighth step of providing the confirmed one-time code for the interfaced terminal.

Description

카드와 서버 사이의 종단간 인증을 이용한 일회용코드 제공 방법{Method for Providing One Time Code by using End-To-End Authentication between Card and Server}[0001] The present invention relates to a method for providing a one-time code using end-to-end authentication between a card and a server,

본 발명은 카드와 서버 사이의 종단 간 인증을 기반으로 상기 카드의 칩 내에서 동적 생성된 일회용코드를 상기 카드와 근접 무선 통신을 통해 인터페이스된 단말기로 제공하여 출력하는 것이다.
The present invention provides a disposable code dynamically generated in the chip of the card based on end-to-end authentication between the card and the server, and outputs the disposable code to the terminal interfaced to the card via the proximity wireless communication.

소위 OTP(One Time Password)라고 불리는 일회용 인증코드가 지불결제나 금융거래 등에 이용되기 위해서는 전자금융감독규정 제34조제2항제5호의 “매체 분리”의 조건을 성립해야 한다. 현재 어떠한 방식이 매체 분리의 조건을 만족하는지는 금융감독원에서 정하고 있으며, 현재까지 이와 같은 매체 분리로 인정되는 방식은 봉인된 형태의 OTP생성기 또는 OTP카드 등을 통해 동적 생성된 OTP를 금융거래에 이용되는 단말에 입력하는 방식만 매체 분리로 인정되고 있다.
In order for a disposable authentication code called OTP (One Time Password) to be used for payment settlement or financial transactions, it is necessary to establish the condition of "separation of media" in Article 34. (2). Currently, the Financial Supervisory Service (FSS) determines which method meets the conditions for media separation. Currently, the method that is recognized as such media separation is to use OTP dynamically generated through a sealed OTP generator or OTP card for financial transactions Only the method of inputting to the terminal is recognized as the media separation.

그러나 종래에 매체 분리로 인정되는 방식은 사용자가 OTP생성기 또는 OTP카드 등의 OTP 기반 인증 매체를 소지해야 하기 때문에 불편하고, 이와 같은 OTP 기반 인증 매체를 제작하기 위해 지난친 비용이 소요됨은 물론, 상기 OTP생성기 또는 OTP카드를 통해 동적 생성된 OTP를 단말기에 입력하는 과정에서 잘못된 입력에 의한 오류가 빈번하게 발생하는 문제점을 지니고 있다.
However, the conventional method of recognizing media separation is inconvenient because a user must possess an OTP-based authentication medium such as an OTP generator or an OTP card. In addition, in order to produce such an OTP-based authentication medium, There is a problem that an error due to erroneous input frequently occurs in the process of inputting the OTP dynamically generated through the OTP generator or the OTP card to the terminal.

상기와 같은 문제점을 해소하기 위한 본 발명의 목적은, 근접 무선 통신을 통해 카드와 인터페이스된 단말기를 경유하여 카드와 서버가 상호 인증하는 종단간 인증을 처리하되, 상기 카드가 상기 종단간 인증을 처리하는 중 또는 후에, 상기 카드의 칩에서 일회용코드를 동적 생성하고, 상기 종단간 인증의 결과로서 상기 생성된 일회용코드를 상기 단말기로 제공하여 출력하는 카드와 서버 사이의 종단간 인증을 이용한 일회용코드 제공 방법을 제공함에 있다.
In order to solve the above problems, an object of the present invention is to address end-to-end authentication in which a card and a server mutually authenticate each other via a terminal interfaced with a card through proximity wireless communication, And provides a one-time use code between the card and the server for outputting the generated one-time code as a result of the end-to-end authentication to the terminal and outputting the generated one-time code as a result of the end-to- Method.

본 발명에 따른 일회용코드 제공 방법은, NFC(Near Field Communication)를 통해 단말기와 인터페이스되는 카드의 칩에서 실행되는 카드와 서버 사이의 종단간 인증을 이용한 일회용코드 제공 방법에 있어서, 인터페이스된 단말기로부터 지정된 동적 값을 수신하는 제1 단계와, 적어도 하나의 동적 값을 포함하는 데이터(c)를 암호화시킨 암호데이터(c)를 생성하는 제2 단계와, 상기 생성된 암호데이터(c)를 상기 인터페이스된 단말기로 제공하는 제3 단계-암호데이터(c)는 단말기를 통해 서버로 전송됨-와, 상기 서버에 의해 생성된 동적 값을 포함하는 데이터(s)를 암호화한 암호데이터(s)를 상기 인터페이스된 단말기를 통해 수신하는 제4 단계와, 지정된 복호모듈을 통해 상기 암호데이터(s)를 복호화시키는 제5 단계와, 상기 복호화된 데이터(s)의 유효성을 인증하는 제6 단계와, 하나 이상의 동적 값을 씨드로 이용하여 동적 생성된 일회용코드를 확인하는 제7 단계와, 상기 확인된 일회용코드를 상기 인터페이스된 단말기로 제공하는 제8 단계를 포함한다.
A method of providing a one-time code using end-to-end authentication between a card and a server executed in a chip of a card that is interfaced with a terminal through Near Field Communication (NFC) (C) encrypting the data (c) including at least one dynamic value; and a second step of transmitting the generated encrypted data (c) to the interface (C) encrypting data (s) encrypted with data (s) including the dynamic value generated by the server, to the server via the interface (C) decrypting the encrypted data (s) through a designated decryption module, and (c) encrypting the decrypted data (s) A sixth step, a seventh step of identifying a dynamically generated one-time code using one or more dynamic values as a seed, and an eighth step of providing the identified disposable code to the interfaced terminal.

본 발명에 따르면, 상기 데이터(c)는 상기 단말기로부터 수신된 동적 값, 상기 카드의 칩에서 생성한 카드 측 난수 값에 대응하는 동적 값 중 적어도 하나의 동적 값을 포함할 수 있다. 한편, 상기 데이터(c)는 지정된 고유코드와 지정된 키 값(1) 중 하나 이상을 더 포함할 수 있다.
According to the present invention, the data (c) may include at least one dynamic value among a dynamic value received from the terminal, and a dynamic value corresponding to a card-side random number generated in the chip of the card. The data (c) may further include at least one of a designated unique code and a designated key value (1).

본 발명에 따르면, 상기 암호데이터(c)는 상기 단말기를 통해 지정된 서버로 전송되어 복호화될 수 있다.
According to the present invention, the encrypted data (c) may be transmitted to a server designated by the terminal and decrypted.

본 발명에 따르면, 상기 일회용코드 제공 방법은, 상기 일회용코드를 상기 인터페이스된 단말기로 제공하기 위해 지정된 인증 절차를 처리하는 단계를 더 포함할 수 있다.
According to the present invention, the method for providing the one-time code may further include processing an authentication procedure specified to provide the one-time use code to the interfaced terminal.

본 발명에 따르면, 상기 데이터(s)는 상기 데이터(c)에 포함된 키 값(1)을 더 포함하고, 상기 제6 단계는 상기 데이터(c)에 포함된 키 값(1)과 상기 복호화된 데이터(s)에 포함된 키 값(1)을 비교하여 인증하는 단계를 포함할 수 있다.
According to the present invention, the data (s) further includes a key value (1) included in the data (c), and the sixth step includes a key value (1) And comparing and authenticating the key value (1) included in the received data (s).

본 발명에 따르면, 상기 데이터(s)는 상기 서버를 통해 생성된 MAC(Message Authentication Code)을 더 포함하고, 상기 제6 단계는 상기 카드 측 난수 값과 키 값(1)을 지정된 암호 방식으로 암호화하여 키 값(2)를 생성하는 제6-1 단계와, 상기 난수코드와 키 값(2)를 지정된 암호 방식으로 암호화하여 키 값(3)를 생성하는 제6-2 단계와, 상기 카드 측 난수 값과 키 값(3)를 지정된 암호 방식으로 암호화하여 MAC을 생성하는 제6-3 단계와, 상기 생성된 MAC을 이용하여 복호화된 데이터(s)로부터 확인되는 MAC을 인증하는 제6-4 단계를 포함할 수 있다.
According to the present invention, the data (s) further includes a MAC (Message Authentication Code) generated through the server, and the sixth step includes encrypting the card side random number value and the key value (1) A sixth step of generating a key value (2) by encrypting the random number code and the key value (2) with a designated cipher method to generate a key value (3); a sixth step A sixth step of generating a MAC by encrypting the random number and the key value (3) using a designated cipher system; and (6-3) authenticating a MAC identified from the decrypted data (s) Step < / RTI >

본 발명에 따르면, 상기 일회용코드 제공 방법은, 상기 단말기로부터 수신된 동적 값을 동적 씨드로 이용하여 지정된 자릿수의 일회용코드를 동적 생성하는 단계를 더 포함하며, 상기 제7 단계는 상기 단말기로부터 수신된 동적 값을 동적 씨드로 이용하여 동적 생성된 N(N≥2)자릿수의 일회용코드를 확인하거나, 또는 상기 단말기로부터 수신된 동적 값을 동적 씨드로 이용하여 동적 생성된 n(1≤n<N)자릿수의 코드와 (N-n)자릿수의 동적 코드를 조합한 N자릿수의 일회용코드를 확인할 수 있다.
According to another aspect of the present invention, there is provided a method of providing a one-time use code, the method further comprising dynamically generating a specified number of one-time codes using the dynamic value received from the terminal as a dynamic seed, (1 < / = N &lt; N) dynamically generated by using dynamic values received from the terminal as dynamic seeds, or by checking the dynamically generated one- You can see the N-digit number of one-off codes that combine the digits of the code and the (Nn) digits of the dynamic code.

본 발명에 따르면, 상기 일회용코드 제공 방법은, 상기 카드의 칩에서 생성한 카드 측 난수 값을 동적 씨드로 이용하여 지정된 자릿수의 일회용코드를 동적 생성하는 단계를 더 포함하며, 상기 제7 단계는 상기 카드 측 난수 값을 동적 씨드로 이용하여 동적 생성된 N(N≥2)자릿수의 일회용코드를 확인하거나, 또는 상기 카드 측 난수 값을 동적 씨드로 이용하여 동적 생성된 n(1≤n<N)자릿수의 코드와 (N-n)자릿수의 동적 코드를 조합한 N자릿수의 일회용코드를 확인할 수 있다.
According to another aspect of the present invention, there is provided a method for providing a disposable code, the method further comprising dynamically generating a specified number of one-time codes using a card-side random number value generated from a chip of the card as a dynamic seed, (1 &amp;le; n &lt; N) generated by using the card side random number as a dynamic seed, You can see the N-digit number of one-off codes that combine the digits of the code and the (Nn) digits of the dynamic code.

본 발명에 따르면, 상기 일회용코드 제공 방법은, 상기 서버에 의해 생성된 서버 측 난수 값을 동적 씨드로 이용하여 지정된 자릿수의 일회용코드를 동적 생성하는 단계를 더 포함하며, 상기 제7 단계는 상기 서버 측 난수 값을 동적 씨드로 이용하여 동적 생성된 N(N≥2)자릿수의 일회용코드를 확인하거나, 또는 상기 서버 측 난수 값을 동적 씨드로 이용하여 동적 생성된 n(1≤n<N)자릿수의 코드와 (N-n)자릿수의 동적 코드를 조합한 N자릿수의 일회용코드를 확인할 수 있다.
According to another aspect of the present invention, there is provided a method of providing a disposable code, the method further comprising dynamically generating a specified number of one-time codes using the server-side random number generated by the server as a dynamic seed, (N &gt; = 2) digits of the dynamically generated N (N &gt; = 2) digits using the side random number as a dynamic seed, or by using the server side random number as a dynamic seed, And the N-digit number of the dynamic code of the (Nn) digits.

본 발명에 따르면, 상기 일회용코드 제공 방법은, 상기 단말기로부터 수신된 동적 값, 상기 카드의 칩에서 생성한 카드 측 난수 값, 상기 서버에 의해 생성된 서버 측 난수 값 중 둘 이상의 동적 값을 동적 씨드로 이용하여 지정된 자릿수의 일회용코드를 동적 생성하는 단계를 더 포함하며, 상기 제7 단계는 상기 둘 이상의 동적 값을 동적 씨드로 이용하여 동적 생성된 N(N≥2)자릿수의 일회용코드를 확인하거나, 또는 상기 둘 이상의 동적 값을 동적 씨드로 이용하여 동적 생성된 n(1≤n<N)자릿수의 코드와 (N-n)자릿수의 동적 코드를 조합한 N자릿수의 일회용코드를 확인할 수 있다.
According to another aspect of the present invention, there is provided a method of providing a disposable code, the method comprising: receiving dynamic values received from the terminal, card-side random number values generated by a chip of the card, The method further comprises dynamically generating a specified number of one-off codes using the two or more dynamic values as the dynamic seeds, and checking the dynamically generated N (N &gt; = 2) , Or an N-digit number of one-time codes, which is a combination of dynamically generated codes of n (1? N <N) digits and dynamic codes of (Nn) digits using the two or more dynamic values as dynamic seeds.

본 발명에 따르면, 상기 (N-n)자릿수의 동적 코드는 상기 n자릿수의 코드를 생성하는데 이용된 동적 씨드 이외에 다른 동적 씨드를 이용하여 동적 생성된 코드, 상기 n자릿수의 코드를 생성한 동적 씨드 이외에 다른 동적 씨드에 대응하는 코드 중, 적어도 하나의 코드를 포함할 수 있다.
According to the present invention, the (Nn) -bit dynamic code is generated by using a dynamic seed generated by using a dynamic seed other than the dynamic seed used to generate the n-digit code, a dynamic seed generated by generating the n- And at least one code among the codes corresponding to the dynamic seeds.

본 발명에 따르면, 상기 제8 단계는 상기 복호화된 데이터(s)의 유효성이 인증된 경우에 상기 확인된 일회용코드를 상기 단말기로 제공할 수 있다.
According to the present invention, the eighth step may provide the verified disposable code to the terminal when the validity of the decrypted data (s) is authenticated.

한편 본 발명에 따른 일회용코드 제공 방법은, NFC(Near Field Communication)를 통해 카드의 칩과 인터페이스된 단말기와 통신하는 서버를 통해 실행되는 카드와 서버 사이의 종단간 인증을 이용한 일회용코드 제공 방법에 있어서, 상기 카드의 칩에서 확인된 적어도 하나의 동적 값을 포함하는 데이터(c)를 상기 칩의 암호모듈을 통해 암호화한 암호데이터(c)를 수신하는 제1 단계와, 지정 복호 방식을 통해 상기 수신된 암호데이터(c)를 복호화하는 제2 단계와, 상기 복호화된 데이터(c)의 유효성을 인증하는 제3 단계와, 상기 서버에 의해 생성된 적어도 하나의 동적 값을 확인하는 제4 단계와, 상기 확인된 동적 값을 포함하는 데이터(s)를 상기 카드의 칩에 구비된 복호모듈을 통해 복호화 가능하게 암호화하여 암호데이터(s)를 생성하는 제5 단계와, 상기 단말기로 상기 생성된 암호데이터(s)를 전송하는 제6 단계를 포함하며, 상기 암호데이터(s)는 상기 NFC를 통해 상기 단말기로부터 상기 카드의 칩으로 제공되어 상기 칩의 복호모듈을 통해 복호화되고, 상기 카드의 칩에서 상기 복호화된 데이터(s)의 유효성이 인증된 경우에 하나 이상의 동적 값을 통해 동적 생성된 일회용코드가 상기 NFC를 통해 상기 단말기로 제공된다.
The method for providing a disposable code according to the present invention is a method for providing a disposable code using end-to-end authentication between a card and a server, which is executed through a server communicating with a terminal interfaced with a chip of a card via NFC (C) comprising cryptographic data (c) obtained by encrypting data (c) including at least one dynamic value identified in a chip of the card through a cryptographic module of the chip, and a step A third step of authenticating the validity of the decrypted data c; a fourth step of verifying at least one dynamic value generated by the server; A fifth step of decrypting data (s) including the identified dynamic value through a decryption module provided in a chip of the card so as to generate encrypted data (s) And a sixth step of transmitting the generated encrypted data (s), wherein the encrypted data (s) is provided from the terminal to the chip of the card through the NFC and decrypted through the decryption module of the chip, When the validity of the decrypted data (s) in the chip of the card is authenticated, a one-time code generated dynamically via one or more dynamic values is provided to the terminal via the NFC.

본 발명에 따르면, 상기 데이터(c)는 상기 단말기로부터 수신된 동적 값, 상기 카드의 칩에서 생성한 카드 측 난수 값에 대응하는 동적 값 중 적어도 하나의 동적 값을 포함할 수 있다. 한편, 상기 데이터(c)는 지정된 고유코드와 지정된 키 값(1) 중 하나 이상을 더 포함할 수 있다.
According to the present invention, the data (c) may include at least one dynamic value among a dynamic value received from the terminal, and a dynamic value corresponding to a card-side random number generated in the chip of the card. The data (c) may further include at least one of a designated unique code and a designated key value (1).

본 발명에 따르면, 상기 일회용코드 제공 방법은, 상기 카드의 칩에 지정된 고유코드를 저장매체에 저장하는 단계를 더 포함하며, 상기 제2 단계는 상기 복호화된 데이터(c)로부터 고유코드를 확인하는 단계와, 상기 확인된 고유코드와 상기 저장된 고유코드를 비교하여 상기 카드를 인증하는 단계를 더 포함할 수 있다.
According to another aspect of the present invention, there is provided a method for providing a disposable code, the method comprising the steps of: storing a unique code assigned to a chip of the card in a storage medium; And authenticating the card by comparing the identified unique code with the stored unique code.

본 발명에 따르면, 상기 일회용코드 제공 방법은, 상기 서버에 의해 생성된 적어도 하나의 동적 값은, 상기 서버에 의해 생성된 서버 측 난수 값을 포함하고, 상기 제4 단계는 상기 복호화된 데이터(c)로부터 확인된 카드 측 난수 값과 키 값(1)을 지정 암호 방식으로 암호화하여 키 값(2)를 생성하는 제4-1 단계와, 상기 서버 측 난수 값과 키 값(2)를 지정 암호 방식으로 암호화하여 키 값(3)를 생성하는 제4-2 단계와, 상기 카드 측 난수 값과 키 값(3)를 지정 암호 방식으로 암호화하여 MAC(Message Authentication Code)을 생성하는 제4-3 단계를 포함하며, 상기 제5 단계는 상기 MAC과 서버 측 난수 값과 키 값(1)을 암호화할 수 있다. 한편, 상기 지정 암호 방식은 상기 칩의 암호모듈의 암호 방식과 매칭되는 암호 방식을 포함할 수 있다.
According to the present invention, the one-time use code providing method may further include: a server-side random number value generated by the server, and the fourth step includes a step of receiving the decrypted data c Side random number value and the key value (1) are encrypted by a designated cipher method to generate a key value (2); and a step (4-2) of encrypting the card-side random number and the key value (3) with a designated encryption method to generate a MAC (Message Authentication Code) And the fifth step may encrypt the MAC and the server side random number value and the key value (1). The designated cipher system may include a cipher system that matches the cipher system of the cipher module of the chip.

본 발명에 따르면, 근접 무선 통신을 통해 사용자의 단말기와 인터페이스된 카드가 상기 단말기를 경유하여 지정된 서버와 종단간 인증을 수행하여 상기 카드와 서버가 상호 인증하고, 상기 상호 인증의 결과로서 카드의 칩에서 지정된 시점에 동적 생성된 일회용코드를 상기 단말기를 통해 출력함으로써, 매체 분리의 조건을 성립시킴과 동시에 종래의 OTP 인증보다 안전하고 편리하면서 저렴한 비용의 일회용 인증코드 서비스를 제공하는 이점이 있다.
According to the present invention, a card interfaced with a user's terminal through proximity wireless communication performs end-to-end authentication with a designated server via the terminal, thereby mutually authenticating the card and the server, And the disposable code is dynamically generated at a designated time point in the terminal, thereby providing a condition for medium separation and providing a disposable authentication code service that is safer, more convenient, and less expensive than the conventional OTP authentication.

도 1은 본 발명의 실시 방법에 따른 카드의 구성을 도시한 도면이다.
도 2는 본 발명의 실시 방법에 따라 카드와 인터페이스하는 단말기의 기능 구성을 도시한 도면이다.
도 3은 본 발명의 실시 방법에 따른 서버의 구성을 도시한 도면이다.
도 4는 본 발명의 실시 방법에 따라 서버가 카드를 인증하는 종단간 인증 과정을 도시한 것이다.
도 5는 본 발명의 실시 방법에 따라 카드가 서버를 인증하는 종단간 인증 과정을 도시한 것이다.
도 6은 본 발명의 실시 방법에 따라 일회용코드를 제공하는 과정을 도시한 것이다.
1 is a diagram showing the configuration of a card according to an embodiment of the present invention.
2 is a diagram illustrating a functional configuration of a terminal that interfaces with a card according to an embodiment of the present invention.
3 is a diagram showing a configuration of a server according to an embodiment of the present invention.
4 illustrates an end-to-end authentication process in which a server authenticates a card according to an embodiment of the present invention.
5 illustrates an end-to-end authentication process in which a card authenticates a server according to an embodiment of the present invention.
6 illustrates a process of providing a disposable code according to an embodiment of the present invention.

이하 첨부된 도면과 설명을 참조하여 본 발명의 바람직한 실시예에 대한 동작 원리를 상세히 설명한다. 다만, 하기에 도시되는 도면과 후술되는 설명은 본 발명의 특징을 효과적으로 설명하기 위한 여러 가지 방법 중에서 바람직한 실시 방법에 대한 것이며, 본 발명이 하기의 도면과 설명만으로 한정되는 것은 아니다. 예를들어, 서버 측에 구비된 구성부가 단말 측에 구현되거나, 반대로 단말 측에 구비된 구성부가 서버 측에 구현되는 형태로 실시되는 것이 가능하다.
The operation principle of the preferred embodiment of the present invention will be described in detail with reference to the accompanying drawings and description. It should be understood, however, that the drawings and the following detailed description are exemplary and explanatory and are intended to provide further explanation of the invention, and are not to be construed as limiting the present invention. For example, it is possible that a configuration provided on the server side is implemented on the terminal side, or conversely, a configuration portion provided on the terminal side is implemented on the server side.

또한, 하기에서 본 발명을 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서, 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 발명에서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
In the following description of the present invention, a detailed description of known functions and configurations incorporated herein will be omitted when it may make the subject matter of the present invention rather unclear. The terms used below are defined in consideration of the functions of the present invention, which may vary depending on the user, intention or custom of the operator. Therefore, the definition should be based on the contents throughout the present invention.

결과적으로, 본 발명의 기술적 사상은 청구범위에 의해 결정되며, 이하 실시예는 진보적인 본 발명의 기술적 사상을 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 효율적으로 설명하기 위한 일 수단일 뿐이다.
As a result, the technical idea of the present invention is determined by the claims, and the following embodiments are merely means for effectively explaining the technical idea of the present invention to a person having ordinary skill in the art to which the present invention belongs Only.

도면1은 본 발명의 실시 방법에 따른 카드(100)의 구성을 도시한 도면이다.
1 is a diagram showing a configuration of a card 100 according to an embodiment of the present invention.

보다 상세하게 본 도면1은 근접 무선 통신 기능과 암복호 기능을 탑재한 카드(100)가 근접 무선 통신을 통해 인터페이스된 단말기(200)를 경유하여 지정된 서버(300)와 종단간 상호 인증을 수행하고, 상기 종단간 상호 인증의 결과로서 동적 생성된 일회용코드를 상기 단말기(200)로 제공하여 출력되도록 처리하는 카드(100)의 기능 구성을 도시한 것으로서, 본 발명이 속한 기술분야에서 통상의 지식을 가진 자라면, 본 도면1을 참조 및/또는 변형하여 상기 카드(100)의 구성에 대한 다양한 실시 방법(예컨대, 일부 구성부가 생략되거나, 또는 세분화되거나, 또는 합쳐진 실시 방법)을 유추할 수 있을 것이나, 본 발명은 상기 유추되는 모든 실시 방법을 포함하여 이루어지며, 본 도면1에 도시된 실시 방법만으로 그 기술적 특징이 한정되지 아니한다.
1, a card 100 equipped with a proximity wireless communication function and an encryption / decryption function performs end-to-end mutual authentication with a designated server 300 through a terminal 200 interfaced via proximity wireless communication , And provides the terminal 100 with a disposable code dynamically generated as a result of the end-to-end mutual authentication, and processes the disposable code to be output to the terminal 200. As shown in FIG. One skilled in the art will be able to refer to and / or modify the FIGURE 1 to derive various implementations of the configuration of the card 100 (e.g., some configuration portions omitted, or fragmented, or aggregated implementations) The present invention includes all of the above-described embodiments, and the technical features of the present invention are not limited only by the method shown in FIG.

본 발명의 카드(100)는 근접 무선 통신 기능과 암복호 기능을 구비한 카드의 총칭으로서, 바람직하게 상기 근접 무선 통신과 암복호 처리를 위한 칩(105)과 안테나(180)를 탑재한 카드 형태로 이루어진다. 예를들어, 본 발명의 카드(100)는 근접 무선 통신 기능과 암복호 기능을 구비한 금융IC카드(100), NFC카드(100), RF카드(100) 등을 포함할 수 있다. 이하 편의상 본 발명의 카드(100)가 금융IC카드(100)(예컨대, 금융IC카드 규격을 따르는 IC카드(100))인 실시예를 통해 본 발명의 특징을 상세히 설명하기로 한다.
The card 100 of the present invention is a general term of a card having a proximity wireless communication function and an encryption / decryption function, and is preferably a card having a chip 105 and an antenna 180 for the near- . For example, the card 100 of the present invention may include a financial IC card 100, an NFC card 100, and an RF card 100 having a proximity wireless communication function and an encryption / decryption function. Hereinafter, the features of the present invention will be described in detail with reference to embodiments in which the card 100 of the present invention is a financial IC card 100 (for example, an IC card 100 compliant with a financial IC card standard).

도면1을 참조하면, 상기 카드(100)는, 근접 무선 통신 기능을 제공하는 무선 통신부(165)와, 암복호 기능을 처리하며 상기 근접 무선 통신을 통해 인터페이스된 단말기(200)를 지정된 서버(300)와 종단간 상호 인증을 수행하고, 상기 종단간 상호 인증의 결과로서 동적 생성된 일회용코드를 상기 단말기(200)로 제공하여 출력되도록 처리하는 절차를 제어하는 제어부(110) 및 상기 제어부(110)의 제어에 필요한 적어도 하나의 프로그램코드 또는 데이터셋트를 저장하는 메모리부(170)에 대응하는 구성을 집적한 칩(105)을 탑재한다. 상기 카드(100)가 콤비형 금융IC카드(100)인 경우, 상기 칩(105)은 단말기(200)와의 접촉식 인터페이스를 형성하는 인터페이스부(175)를 더 구비하며, 상기 카드(100)의 겉 면의 지정된 위치에는 상기 인터페이스부(175)와 전기적으로 연결된 접촉점(185)(예컨대, COB(Chip On Board))가 구비된다.
Referring to FIG. 1, the card 100 includes a wireless communication unit 165 for providing a proximity wireless communication function, a terminal 200 for processing an encryption / decryption function and interfaced through the proximity wireless communication, And a control unit 110 for controlling the process of providing the generated one-time use code as a result of the end-to-end mutual authentication to the terminal 200 and outputting the generated one- A chip 105 integrated with a configuration corresponding to a memory unit 170 for storing at least one program code or data set necessary for control of the semiconductor memory device is mounted. When the card 100 is a combination type financial IC card 100, the chip 105 further includes an interface unit 175 forming a contact interface with the terminal 200, A contact point 185 (for example, a COB (Chip On Board)) electrically connected to the interface unit 175 is provided at a designated position on the surface.

상기 무선 통신부(165)는 지정된 주파수 대역(예컨대, 13.56MHz)의 무선 주파수 신호를 이용하여 근접 거리(예컨대, 10cm 내외)의 단말기(200)와 무선 통신하는 동작을 수행하는 구성부의 총칭으로서, 상기 카드(100)가 금융IC카드(100)인 경우에는 ISO/IEC 14443 규격에 따라 근접 무선 통신 기능을 제공하며, NFC카드(100)인 경우에는 NFC 규격에 따라 근접 무선 통신 기능을 제공한다.
The wireless communication unit 165 is a collective term for a unit that performs wireless communication with a terminal 200 using a radio frequency signal of a designated frequency band (e.g., 13.56 MHz) at a close distance (e.g., about 10 cm) When the card 100 is a financial IC card 100, it provides a proximity wireless communication function according to the ISO / IEC 14443 standard. When the card 100 is an NFC card 100, it provides a proximity wireless communication function according to the NFC standard.

상기 메모리부(170)는 상기 칩(105)의 저장 자원에 대응되는 비휘발성 메모리의 총칭으로서, 바람직하게 ROM(Read Only Memory), EEPROM(Electrically Erasable and Programmable Read Only Memory), FM(Flash Memory) 등의 메모리 소자를 포함한다. 바람직하게, 상기 메모리부(170)는 NAND 계열 메모리 또는 NOR 계열 메모리를 모두 포함한다. 실시 방법에 따라 상기 칩(105)에 구비되는 RAM(Random Access Memory)로 상기 메모리부(170)의 범주에 포함될 수 있다. 본 발명의 실시 방법에 따르면, 상기 메모리부(170)는 COS(Chip Operating System)에 대응하는 프로그램코드가 기록되고, 상기 카드(100)를 통해 제공될 서비스에 대응하는 애플릿에 대응하는 프로그램코드가 기록된다.
The memory unit 170 is a collective term of a nonvolatile memory corresponding to a storage resource of the chip 105. The memory unit 170 is preferably a ROM (Read Only Memory), an EEPROM (Electrically Erasable and Programmable Read Only Memory), an FM (Flash Memory) And the like. Preferably, the memory unit 170 includes both a NAND-type memory and a NOR-type memory. And may be included in the category of the memory unit 170 as a RAM (Random Access Memory) provided in the chip 105 according to an implementation method. According to the embodiment of the present invention, the memory unit 170 stores a program code corresponding to a COS (Chip Operating System), and a program code corresponding to an applet corresponding to a service to be provided through the card 100 .

상기 제어부(110)는 상기 칩(105)의 동작을 제어하는 구성의 총칭으로서, 바람직하게 CPU(Central Process Unit), MPU(Micro Process Unit), 코프로세서(Coprocessor) 중 하나 이상의 프로세서와 연산 처리를 위한 실행메모리 조합으로 이루어진다. 본 발명의 실시 방법에 따르면, 상기 메모리부(170)에 기록된 COS에 대응하는 프로그램코드가 상기 실행메모리로 로딩되어 프로세서에 의해 연산되는 상태를 제어부(110)로 정의할 수 있으며, 편의상 상기 COS 상에서 동작하는 애플릿에 대응하는 프로그램코드 중 본 발명에 따른 카드(100)와 서버(300) 사이의 종단 간 인증 기반 일회용코드 서비스를 제공하는 프로그램코드를 통해 구현되는 기능에 대한 구성을 본 도면1에 도시하여 설명하기로 한다.
The control unit 110 is a collective term for controlling the operation of the chip 105. The control unit 110 preferably controls the operation of one or more of a central processing unit (CPU), a micro processing unit (MPU), and a coprocessor Lt; / RTI &gt; According to the embodiment of the present invention, the control unit 110 can define a state in which the program code corresponding to the COS recorded in the memory unit 170 is loaded into the execution memory and operated by the processor, 1 is a block diagram showing a configuration of functions implemented through program codes for providing an end-to-end authentication-based one-time use code service between the card 100 and the server 300 according to the present invention among program codes corresponding to applets operating on the server 100 And will be described hereinafter.

본 발명의 실시 방법에 따르면, 상기 제어부(110)는 지정된 암호알고리즘(예컨대, SEED, DEA, IDEA, DES 등)을 통해 하나 이상의 값을 암호화하는 암호모듈(115)과, 지정된 암호알고리즘을 통해 암호화된 데이터를 복호화하는 복호모듈(120)을 구비하며, 상기 암호모듈(115)과 복호모듈(120)은 별도의 모듈 또는 하나의 모듈 형태로 구현될 수 있다.
According to an embodiment of the present invention, the control unit 110 includes a cryptographic module 115 for encrypting one or more values through a specified cryptographic algorithm (for example, SEED, DEA, IDEA, DES, etc.) And a decryption module 120 for decrypting the decrypted data. The cryptographic module 115 and the decryption module 120 may be implemented as separate modules or as one module.

상기 암호모듈(115)과 복호모듈(120)은 상기 코프로세서를 이용하는 논리적 회로 구성의 형태로 구현되거나, COS 상의 프로그램코드 형태로 구현되거나, 종단 간 인증 기반 일회용코드 서비스를 제공하는 프로그램코드 상에 구현되는 것이 모두 가능하며, 상기 칩(105) 내에 상기 암호모듈(115)과 복호모듈(120)이 구현되는 방식에 의해 본 발명이 한정되지 아니함을 명백하게 밝혀두는 바이다.
The cryptographic module 115 and the decryption module 120 may be implemented in the form of a logical circuit using the coprocessor or in the form of a program code on a COS or on a program code for providing an end- It is clear that the present invention is not limited by the manner in which the cryptographic module 115 and the decryption module 120 are implemented in the chip 105. [

도면1을 참조하면, 상기 카드(100)의 칩(105)은, 인터페이스된 단말기(200)로부터 지정된 동적 값을 수신하는 정보 수신부(125)와, 적어도 하나의 동적 값을 데이터(c)를 암호화시킨 암호데이터(c)를 생성하는 암호 처리부(130)와, 상기 생성된 암호데이터(c)를 상기 인터페이스된 단말기(200)를 통해 지정된 서버(300)로 전송되도록 처리하는 데이터 전송부(135)를 구비하며, 종단 간 인증 기반 일회용코드 서비스를 위해 지정된 인증을 처리하는 인증 처리부(145)를 구비한다.
1, a chip 105 of the card 100 includes an information receiving unit 125 for receiving a designated dynamic value from an interfaced terminal 200, A data transmission unit 135 for processing the generated encrypted data c to be transmitted to the designated server 300 via the terminal 200 interfaced with the encrypted data c, And an authentication processing unit 145 for processing authentication specified for the end-to-end authentication-based one-time code service.

상기 카드(100)가 상기 무선 통신부(165)의 근접 무선 통신을 통해 근접 위치의 단말기(200)와 인터페이스되면, 상기 정보 수신부(125)는 상기 인터페이스된 단말기(200)로부터 일회용코드를 동적 생성하기 위해 지정된 동적 값을 수신한다. 상기 동적 값은 종단 간 인증 기반 일회용코드 서비스를 위해 단말기(200)로부터 입력되기로 지정된 값을 총칭으로서, 바람직하게 상기 단말기(200)의 타이머를 통해 획득된 국제 표준시와 매칭되는 시간 값을 포함한다. 그러나 상기 동적 값이 상기 시간 값으로 한정되는 것은 아니며, 종단 간 인증 기반 일회용코드 서비스를 위해 단말기(200)로부터 입력되기로 지정된 값이라면 어떠한 값이라도 무방하다. 본 발명의 실시 방법에 따라 상기 동적 값은 상기 단말기(200)에서 생성된 단말 측 난수 값, 상기 단말기(200)와 통신하는 서버(300)를 통해 생성된 챌린지 값 중, 적어도 하나를 포함할 수 있다.
When the card 100 is interfaced with the nearby terminal 200 through the wireless communication unit 165, the information receiving unit 125 generates a disposable code from the interfaced terminal 200 And receives a dynamic value assigned to the target. The dynamic value includes a time value that is preferably matched with the International Standard Time obtained through the timer of the terminal 200, collectively referred to as a value designated to be input from the terminal 200 for the end-to-end authentication-based disposable code service . However, the dynamic value is not limited to the time value, and may be any value as long as it is a value designated to be input from the terminal 200 for the end-to-end authentication-based disposable code service. According to an embodiment of the present invention, the dynamic value may include at least one of a terminal side random number value generated in the terminal 200 and a challenge value generated through the server 300 communicating with the terminal 200 have.

상기 암호 처리부(130)는 적어도 하나의 동적 값을 포함하는 데이터(c)를 구성하고, 지정된 암호모듈(115)을 통해 지정된 서버(300)에서 복호화 가능하게 상기 데이터(c)를 암호화시켜 암호데이터(c)를 생성한다.
The encryption processing unit 130 constitutes data c including at least one dynamic value and encrypts the data c so that it can be decrypted by the designated server 300 through the designated cryptographic module 115, (c).

본 발명의 제1 데이터(c) 구성 방식에 따르면, 상기 암호 처리부(130)는 상기 단말기(200)로부터 수신된 동적 값을 포함하는 데이터(c)를 구성할 수 있다. 한편, 상기 단말기(200)로부터 수신된 동적 값인 경우, 상기 데이터(c)에 포함된 시간 값을 타임스탬프(Time Stamp)의 기능을 수행할 수 있다.
According to the first data (c) configuration method of the present invention, the encryption processing unit 130 may configure the data (c) including the dynamic value received from the terminal 200. Meanwhile, when the dynamic value is received from the terminal 200, the time value included in the data c may be a time stamp.

본 발명의 제2 데이터(c) 구성 방식에 따르면, 상기 암호 처리부(130)는 상기 칩(105) 내에 지정되어 있거나 또는 실시간 지정되는 카드 측 난수 값에 대응하는 동적 값을 확인하고, 상기 카드 측 난수 값을 포함하는 데이터(c)를 구성할 수 있다.
According to the second data (c) configuration method of the present invention, the encryption processing unit 130 confirms a dynamic value corresponding to a card side random number designated in the chip 105 or specified in real time, It is possible to construct the data (c) including the random number value.

본 발명의 제3 데이터(c) 구성 방식에 따르면, 상기 암호 처리부(130)는 상기 단말기(200)로부터 수신된 동적 값과 상기 카드 측 난수 값에 대응하는 동적 값을 포함하는 데이터(c)를 구성할 수 있다.
According to the third data (c) configuration method of the present invention, the encryption processing unit 130 generates data (c) including the dynamic value received from the terminal 200 and the dynamic value corresponding to the card side random number value Can be configured.

본 발명의 실시 방법에 따르면, 상기 데이터(c)는 상기 칩(105) 내에 지정된 고유코드를 더 포함할 수 있으며, 상기 고유코드는 각 카드(100)의 칩(105)에 고유하게 저장된 코드의 총칭으로서, 상기 칩(105)의 지정된 고유영역에 저장된 CSN(Card Serial Number or Chip Serial Number), 응용영역(예컨대, 애플릿이 기록되는 영역)에 저장된 코드 값 중 적어도 하나를 포함할 수 있다.
According to an embodiment of the present invention, the data (c) may further include a unique code specified in the chip 105, and the unique code may be a code unique to the chip 105 of each card 100 As a general term, it may include at least one of a card serial number (CSN) stored in a designated unique area of the chip 105 and a code value stored in an application area (for example, an area in which an applet is recorded).

본 발명의 실시 방법에 따르면, 상기 데이터(c)는 상기 칩(105) 내에 지정된 키 값(1)을 더 포함할 수 있으며, 상기 키 값(1)은 카드(100)를 발급하는 시점에 칩(105) 내에 주입된 키 값, 상기 칩(105)의 메모리에 애플릿 발급 시점에 주입된 키 값, 상기 칩(105)의 메모리에 기록되도록 주입된 키 값 중, 적어도 하나의 키 값을 포함할 수 있다.
According to the method of the present invention, the data (c) may further include a key value (1) designated in the chip (105), and the key value (1) A key value injected into the memory of the chip 105, a key value injected into the memory of the chip 105 at the time of issuing the applet, and a key value injected to be written into the memory of the chip 105, .

한편 본 발명의 확장 방식에 의하면, 상기 데이터(c)는 당업자의 의도에 따라 상기 적어도 하나의 동적 값과 고유코드 및 키 값(1) 이외에 다른 정보를 더 포함할 수 있으며, 본 발명은 이와 같은 모든 실시 방법을 모두 포함함을 명백하게 밝혀두는 바이다.
According to the extension scheme of the present invention, the data (c) may further include information other than the at least one dynamic value, the unique code and the key value (1) according to the intention of a person skilled in the art. It is clear that all embodiments are included.

상기 데이터 전송부(135)는 상기 암호 처리부(130)를 통해 생성된 암호데이터(c)를 상기 인터페이스된 단말기(200)로 제공하며, 상기 단말기(200)는 지정된 통신망을 통해 상기 암호데이터(c)를 지정된 서버(300)로 전송한다. 이 때 상기 암호데이터(c)는 지정된 서버(300)를 통해 복호화 가능하게 암호화되었으므로, 상기 단말기(200)는 상기 암호데이터(c)를 복호화할 수 없다.
The data transmission unit 135 provides the encrypted data c generated through the encryption processing unit 130 to the interfaced terminal 200. The terminal 200 transmits the encrypted data c To the designated server 300. At this time, since the encrypted data (c) is decryptable through the designated server 300, the terminal 200 can not decrypt the encrypted data (c).

본 발명의 실시 방법에 따르면, 상기 단말기(200)는 상기 서버(300)와의 보안 프로토콜에 따라 상기 암호데이터(c)를 암호화하여 전송할 수 있으며, 상기 지정된 서버(300)는 상기 단말기(200)에서 암호화한 암호데이터(c)를 수신하여 복호화할 수 있다.
According to an embodiment of the present invention, the terminal 200 may encrypt the cipher data c according to a security protocol with the server 300, and the designated server 300 may transmit the encrypted data c to the terminal 200 It is possible to receive and decrypt encrypted data c.

본 발명의 실시 방법에 따르면, 상기 단말기(200)는 상기 지정된 서버(300)로 상기 암호데이터(c)를 전송하기 전, 중, 후의 지정된 시점에 상기 단말기(200)에 구비 또는 할당된 단말 식별 값을 상기 지정된 서버(300)로 전송할 수 있다. 상기 단말 식별 값은 상기 단말기(200)에 종단 간 인증 기반 일회용코드 서비스를 위한 프로그램(215)이 탑재되는 시점에 상기 서버(300)가 상기 단말기(200)를 고유 식별하기 위해 상기 서버(300)에 등록된 식별 값의 총칭으로서, 상기 단말기(200)의 읽기영역에 저장된 정보, 상기 단말기(200)의 고유저장영역에 저장된 정보, 상기 단말기(200)의 H/W구성에 기록된 정보, 상기 단말기(200)가 접속한 네트워크에서 할당/부여한 정보, 종단 간 인증 기반 일회용코드 서비스를 위한 프로그램(215)에 할당된 정보, 상기 프로그램(215)에 의해 상기 단말기(200)에 저장된 정보 중 적어도 하나의 정보를 포함할 수 있다.
According to the embodiment of the present invention, the terminal 200 can identify the terminal identification (ID) assigned or assigned to the terminal 200 at a specified time point before, after, or after transmission of the cipher data c to the designated server 300 To the designated server (300). The terminal identification value is a value indicating whether the terminal 300 is uniquely identified by the server 300 at the time when the program 215 for the end-to-end authentication based disposable code service is loaded in the terminal 200, The information stored in the read area of the terminal 200, the information stored in the unique storage area of the terminal 200, the information recorded in the H / W configuration of the terminal 200, Information assigned to the program 215 for the end-to-end authentication-based disposable code service, information assigned to the terminal 200 by the terminal 200, information assigned to the terminal 215 by the program 215, And the like.

한편 상기 인증 처리부(145)는 상기 근접 무선 통신을 통해 상기 단말기(200)와 인터페이스된 시점부터 상기 단말기(200)로부터 동적 값을 수신하여 암호데이터(c)를 제공하는 과정 중의 지정된 시점에, 종단 간 인증 기반 일회용코드 서비스를 위해 지정된 인증을 처리할 수 있다. 바람직하게, 상기 지정된 인증은 PIN(Personal Identification Number) 인증을 포함할 수 있다. 상기 인증 처리부(145)는 PIN 인증을 위한 PIN 인증 값을 저장하며, 상기 인터페이스된 단말기(200)로부터 PIN 값을 수신하고, 상기 PIN 인증 값을 이용하여 상기 수신된 PIN 값을 인증할 수 있다. 예를들어, 상기 PIN 값은 상기 동적 값이 수신되기 전에 수신되어 인증되거나, 상기 동적 값과 함께 수신되어 인증될 수 있다. 실시 방법에 따라 상기 인증이 처리되는 시점은 상기 카드(100)의 칩(105)에서 단말기(200)로 일회용코드가 제공되기 전에 수행될 수 있으며, 이에 의해 본 발명이 한정되지 아니한다. 당업자의 의도에 따라 상기 인증 처리가 생략되더라도 무방하다.
On the other hand, the authentication processing unit 145 receives the dynamic value from the terminal 200 at the time of interfacing with the terminal 200 through the near-field communication, and provides the cryptographic data (c) It is possible to handle the specified authentication for the one-time code service based on the authentication. Preferably, the designated authentication may include PIN (Personal Identification Number) authentication. The authentication processing unit 145 stores a PIN authentication value for PIN authentication, receives a PIN value from the interfaced terminal 200, and can authenticate the received PIN value using the PIN authentication value. For example, the PIN value may be received and authenticated before the dynamic value is received, or received and authenticated with the dynamic value. According to an embodiment of the present invention, the time when the authentication is processed may be performed before the disposable code is provided from the chip 105 of the card 100 to the terminal 200, and thus the present invention is not limited thereto. The authentication process may be omitted according to the intention of those skilled in the art.

상기 암호데이터(c)를 수신한 서버(300)는 상기 지정된 복호화 절차에 따라 상기 암호데이터(c)를 복호화하고, 복호화된 데이터(c)에 대하여 지정된 인증, 검증, 등록 등의 절차를 수행한다. 바람직하게, 상기 서버(300)는 상기 복호화된 데이터(c)에 포함된 고유코드를 확인하고, 상기 확인된 고유코드와 미리 등록된(예컨대, 카드(100)를 발급하는 시점에 등록된) 해당 카드(100)의 고유코드와 비교 인증하는 절차를 수행할 수 있다. 또는 상기 서버(300)는 상기 복호화된 데이터(c)에 포함된 시간 값이 포함된 경우, 상기 복호화된 데이터(c)에 포함된 시간 값이 상기 서버(300)의 내부 시간(=국제 표준시와 동기화된 시간)을 기준으로 지정된 타임아웃 이내(예컨대, 2초 이내 등)의 시간인지 검증할 수 있다. 또는 상기 서버(300)는 상기 복호화된 데이터(c)로부터 확인된 시간 값을 타임스탬프로서 지정된 저장매체에 등록할 수 있다. 실시 방법에 따라 상기 복호화된 데이터(c)에 시간 값이 포함되지 않더라도 상기 서버(300)는 상기 암호데이터(c)가 수신된 시간 또는 복호화된 시간 중 적어도 하나의 시간을 확인하여 타임스탬프로서 지정된 저장매체에 등록할 수 있다.
The server 300 receiving the encrypted data (c) decrypts the encrypted data (c) according to the specified decryption procedure, and performs a procedure such as authentication, verification, and registration for the decrypted data (c) . Preferably, the server 300 confirms the unique code included in the decrypted data (c), and transmits the decrypted unique code to a corresponding (registered) A procedure for comparing and authenticating the unique code of the card 100 can be performed. If the time value included in the decrypted data c is included in the decrypted data c, the server 300 determines that the time value included in the decrypted data c is the internal time of the server 300 Synchronized time) within a specified timeout (e.g., within 2 seconds, etc.). Alternatively, the server 300 may register the time value identified from the decrypted data (c) in a storage medium designated as a time stamp. According to an embodiment of the present invention, even if the decrypted data (c) does not include a time value, the server 300 checks at least one of the time of receiving the decrypted data c and the decrypted time, It can be registered in the storage medium.

상기 서버(300)는 적어도 하나의 값을 생성 또는 확인하고, 상기 생성된 값을 포함하는 데이터(s)를 상기 칩(105)의 복호모듈(120)을 통해 복호화 가능하게 암호화하여 암호데이터(s)를 생성한 후 상기 단말기(200)로 전송한다. 실시 방법에 따라 상기 암호데이터(s)는 지정된 절차에 따라 생성된 MAC(Message Authentication Code) 및/또는 상기 암호데이터(c)에 포함된 키 값(1)이 더 포함될 수 있다.
The server 300 generates or confirms at least one value and decrypts data (s) containing the generated value through the decryption module 120 of the chip 105 to generate encrypted data s And transmits it to the terminal 200. The encrypted data s may further include a MAC (Message Authentication Code) generated according to a designated procedure and / or a key value (1) included in the encrypted data (c).

도면1을 참조하면, 상기 카드(100)의 칩(105)은, 상기 서버(300)에 의해 생성된 동적 값을 포함하는 데이터(s)를 암호화한 암호데이터(s)를 상기 인터페이스된 단말기(200)를 통해 수신하는 데이터 수신부(140)와, 지정된 복호모듈(120)을 통해 상기 암호데이터(s)를 복호화시키는 복호 처리부(150)와, 상기 복호화된 데이터(s)의 유효성을 인증하는 인증 처리부(145)와, 하나 이상의 동적 값을 씨드로 이용하여 일회용코드를 동적 생성하는 코드 생성부(155)와, 상기 생성된 일회용코드를 확인하여 상기 인터페이스된 단말기(200)로 제공하는 코드 제공부(160)를 구비한다.
Referring to FIG. 1, a chip 105 of the card 100 encrypts ciphered data (s) obtained by encrypting data (s) including a dynamic value generated by the server 300, A decryption processing unit 150 for decrypting the encrypted data s through a designated decryption module 120 and a decryption processing unit 150 for decrypting the decrypted data s A code generating unit 155 for dynamically generating a one-time code using one or more dynamic values as a seed, and a code providing unit 155 for identifying the generated one-time code and providing the generated one- (160).

상기 단말기(200)는 상기 서버(300)에 의해 생성된 동적 값을 포함하는 데이터(s)를 암호화한 암호데이터(s)를 수신하고, 근접 무선 통신을 통해 상기 카드(100)의 칩(105)으로 상기 암호데이터(s)를 전송하며, 상기 데이터 수신부(140)는 상기 인터페이스된 단말기(200)로부터 상기 서버(300)에 의해 생성된 동적 값을 포함하는 데이터(s)를 암호화한 암호데이터(s)를 수신한다.
The terminal 200 receives the encrypted data s encrypted with the data s including the dynamic value generated by the server 300 and transmits the encrypted data s to the chip 105 And transmits the encrypted data s to the server 200. The data receiver 140 receives encrypted data s from the interfaced terminal 200, (s).

본 발명의 제1 데이터(s) 구성 방식에 따르면, 상기 데이터(s)는 상기 서버(300)가 동적 생성하거나 또는 지정된 코드생성서버(365)를 통해 동적 생성된 서버 측 난수 값을 포함할 수 있다.
According to the first data (s) configuration scheme of the present invention, the data (s) may include a server-side random number value dynamically generated by the server 300 or dynamically generated through a designated code generation server 365 have.

본 발명의 제2 데이터(s) 구성 방식에 따르면, 상기 암호 처리부(130)는 상기 서버(300)가 생성한 MAC을 포함할 수 있다.
According to the second data (s) configuration method of the present invention, the encryption processing unit 130 may include a MAC generated by the server 300.

본 발명의 제3 데이터(s) 구성 방식에 따르면, 상기 암호 처리부(130)는 상기 서버(300)가 동적 생성하거나 또는 지정된 코드생성서버(365)를 통해 동적 생성된 서버 측 난수 값과, 상기 서버(300)가 생성한 MAC을 포함할 수 있다.
According to the third method of constructing the data (s) of the present invention, the encryption processing unit 130 encrypts the server-side random number value dynamically generated by the server 300 or dynamically generated through the designated code generation server 365, And may include a MAC generated by the server 300.

본 발명의 실시 방법에 따르면, 상기 데이터(s)는 상기 데이터(c)에 포함된 정보(예컨대, 키 값(1))를 더 포함할 수 있다.
According to the method of the present invention, the data (s) may further include information (e.g., key value (1)) included in the data (c).

상기 복호 처리부(150)는 지정된 복호모듈(120)을 통해 상기 수신된 상기 암호데이터(s)를 복호화시키는 절차를 수행하며, 상기 복호모듈(120)을 통해 복호화된 데이터(s)를 확인한다.
The decryption processing unit 150 performs a procedure for decrypting the received encrypted data s through the designated decryption module 120 and verifies the decrypted data s through the decryption module 120. [

상기 인증 처리부(145)는 상기 복호화된 데이터(s)로부터 서버(300)에 의해 생성된 동적 값(예컨대, 서버 측 난수 값 및/또는 MAC)을 확인하거나, 상기 데이터(c)에 포함된 정보를 확인하고, 상기 확인된 정보를 이용한 인증 절차를 수행한다.
The authentication processing unit 145 checks the dynamic value (for example, the server side random number value and / or the MAC) generated by the server 300 from the decrypted data s or the information included in the data c And performs an authentication procedure using the confirmed information.

상기 복호화된 데이터(s)에 서버 측 난수 값과 MAC이 포함된 경우, 상기 인증 처리부(145)는 상기 서버(300)에서 상기 MAC을 생성한 절차와 매칭되는 MAC 생성 절차를 통해 상기 복호화된 데이터(s)에 포함된 MAC을 인증하는 절차를 수행할 수 있다.
When the server side random number value and the MAC are included in the decrypted data s, the authentication processing unit 145 transmits the decrypted data s through the MAC creation procedure matching the procedure of generating the MAC in the server 300 (s) included in the MAC layer.

본 발명의 실시 방법에 따르면, 상기 복호화된 데이터(s)에 서버 측 난수 값과 MAC이 포함된 경우, 상기 인증 처리부(145)는 지정된 암호모듈(115)을 통해 상기 카드 측 난수 값과 키 값(1)을 암호화시켜 키 값(2)를 생성하고, 상기 복호화된 데이터(s)에 포함된 서버 측 난수 값과 상기 생성된 키 값(2)를 암호화시켜 키 값(3)을 생성하고, 상기 카드 측 난수 값과 상기 생성된 키 값(3)을 암호화시켜 MAC을 생성한 후, 상기 복호화된 데이터(s)에 포함된 MAC과 상기 생성된 MAC을 비교하여 상기 복호화된 데이터(s)에 포함된 MAC의 유효성을 인증할 수 있다. 바람직하게, 상기 MAC의 유효성 인증은 상기 카드(100)의 칩(105)에서 상기 서버 측 난수 값을 생성한 서버(300)의 유효성을 인증하는 것이다.
According to the embodiment of the present invention, when the decrypted data (s) includes a server-side random number value and a MAC, the authentication processing unit 145 transmits the card side random number value and the key value Generates a key value (2) by encrypting the generated key value (1), encrypts the server side random number value contained in the decrypted data (s) and the generated key value (2) And generates a MAC by encrypting the card-side random number and the generated key value (3), and then compares the MAC included in the decrypted data (s) with the generated MAC to generate decrypted data (s) The validity of the included MAC can be authenticated. Preferably, the validity authentication of the MAC authenticates the validity of the server 300 that generated the server-side random number value on the chip 105 of the card 100.

한편 상기 복호화된 데이터(s)에 키 값(1)이 포함된 경우, 상기 인증 처리부(145)는 상기 데이터(c)에 포함된 키 값(1)과 상기 복호화된 데이터(s)에 키 값(1)을 비교하여 상기 복호화된 데이터(s)에 키 값(1)의 유효성을 인증할 수 있다. 바람직하게, 상기 키 값(1)의 유효성 인증은 상기 카드(100)의 칩(105)에서 상기 서버 측 난수 값을 생성한 서버(300)의 유효성을 인증하는 것이다.
If the decrypted data s includes the key value 1, the authentication processing unit 145 adds the key value 1 included in the data c and the key value 1 to the decrypted data s. (1) to verify the validity of the key value (1) in the decrypted data (s). Preferably, validity authentication of the key value (1) authenticates the validity of the server (300) that generated the server side random number value in the chip (105) of the card (100).

상기 코드 생성부(155)는 하나 이상의 동적 값을 동적 씨드로 이용하여 일회용코드를 동적 생성한다. 바람직하게, 상기 동적 값을 씨드로 이용하여 일회용코드를 생성하는 과정에서 메모리부(170)에 저장된 적어도 하나의 씨드 값이 상기 일회용코드를 생성하기 위해 코드 생성 알고리즘에 적용될 고정 씨드로 이용될 수 있다.
The code generation unit 155 dynamically generates a one-time code using one or more dynamic values as a dynamic seed. Preferably, at least one seed value stored in the memory unit 170 in the process of generating the one-off code using the dynamic value as a seed may be used as a fixed seed to be applied to the code generation algorithm to generate the one-time code .

본 발명의 제1 동적 씨드 결정 방식에 따르면, 상기 코드 생성부(155)는 상기 정보 수신부(125)를 통해 단말기(200)로부터 수신된 동적 값을 동적 씨드로 이용하여 지정된 코드 생성 알고리즘(예컨대, MD4, MD5, SHA 등)에 적용함으로써, 지정된 자릿수의 일회용코드를 동적 생성할 수 있다. 한편 상기 일회용코드가 상기 단말기(200)로부터 수신된 동적 값을 동적 씨드로 이용하여 생성되는 경우, 상기 코드 생성부(155)는 상기 단말기(200)로부터 상기 동적 값이 수신됨과 동시에 상기 일회용코드를 생성하여 저장(또는 유지)할 수 있으며, 이에 의해 본 발명이 한정되지 아니한다.
According to the first dynamic seed determination method of the present invention, the code generation unit 155 uses a dynamic value received from the terminal 200 through the information receiving unit 125 as a dynamic seed to perform a designated code generation algorithm (for example, MD4, MD5, SHA, etc.), it is possible to dynamically generate a specified number of single-use codes. On the other hand, when the disposable code is generated by using the dynamic value received from the terminal 200 as a dynamic seed, the code generation unit 155 generates the disposable code at the same time that the dynamic value is received from the terminal 200 (Or maintain) the data, and thus the present invention is not limited thereto.

본 발명의 제2 동적 씨드 결정 방식에 따르면, 상기 코드 생성부(155)는 상기 카드 측 난수 값을 동적 씨드로 이용하여 지정된 코드 생성 알고리즘에 적용함으로써, 지정된 자릿수의 일회용코드를 동적 생성할 수 있다. 한편 상기 카드 측 난수 값은 동적 씨드로 이용되기 위해 지정된 가공 절차에 따라 가공될 수 있다. 예를들어, 상기 카드 측 난수 값이 16바이트 코드인 경우, 16바이트 코드 중 앞 8바이트 코드만 선택적으로 동적 씨드로 이용될 수 있다. 또는 상기 카드 측 난수 값은 지정된 해시 알고리즘에 의해 해시되어 동적 씨드로 이용될 수 있다. 한편 상기 일회용코드가 상기 카드 측 난수 값을 동적 씨드로 이용하여 생성되는 경우, 상기 코드 생성부(155)는 상기 카드 측 난수 값이 확인됨과 동시에 일회용코드를 생성하여 저장(또는 유지)할 수 있으며, 이에 의해 본 발명이 한정되지 아니한다.
According to the second dynamic seed determination method of the present invention, the code generation unit 155 can dynamically generate a specified number of one-time codes by applying the card-side random number value as a dynamic seed to the designated code generation algorithm . On the other hand, the card side random number value can be processed according to a specified processing procedure for use as a dynamic seed. For example, if the card side random number value is a 16-byte code, only the first 8-byte code of the 16-byte code can be selectively used as a dynamic seed. Or the card side random number value may be hashed by the specified hash algorithm and used as a dynamic seed. Meanwhile, when the disposable code is generated by using the card-side random number as a dynamic seed, the code generating unit 155 may generate (and maintain) a disposable code at the same time that the card-side random number value is confirmed , Whereby the present invention is not limited thereto.

본 발명의 제3 동적 씨드 결정 방식에 따르면, 상기 코드 생성부(155)는 상기 서버 측 난수 값을 동적 씨드로 이용하여 지정된 코드 생성 알고리즘에 적용함으로써, 지정된 자릿수의 일회용코드를 동적 생성할 수 있다. 한편 상기 서버 측 난수 값은 동적 씨드로 이용되기 위해 지정된 가공 절차에 따라 가공될 수 있다. 예를들어, 상기 서버 측 난수 값이 16바이트 코드인 경우, 16바이트 코드 중 앞 8바이트 코드만 선택적으로 동적 씨드로 이용될 수 있다. 또는 상기 서버 측 난수 값은 지정된 해시 알고리즘에 의해 해시되어 동적 씨드로 이용될 수 있다.
According to the third dynamic seed determination method of the present invention, the code generation unit 155 can dynamically generate a specified number of one-time codes by applying the server-side random number value as a dynamic seed to a designated code generation algorithm . On the other hand, the server side random number value can be processed according to a specified processing procedure for use as a dynamic seed. For example, when the server-side random number value is a 16-byte code, only the first 8-byte code among 16-byte codes can be selectively used as a dynamic seed. Or the server side random number value may be hashed by the specified hash algorithm and used as a dynamic seed.

본 발명의 제4 동적 씨드 결정 방식에 따르면, 상기 코드 생성부(155)는 상기 제1 내지 제3 동적 씨드 결정 방식 중 둘 이상의 방식을 조합하여 동적 씨드를 결정하고, 상기 결정된 동적 씨드를 지정된 코드 생성 알고리즘에 적용함으로써, 지정된 자릿수의 일회용코드를 동적 생성할 수 있다. 예를들어, 상기 코드 생성부(155)는 단말기(200)로부터 수신된 동적 값과 카드 측 난수 값을 동적 씨드로 이용하여 지정된 자릿수의 일회용코드를 동적 생성할 수 있다. 또는 상기 코드 생성부(155)는 단말기(200)로부터 수신된 동적 값과 서버 측 난수 값을 동적 씨드로 이용하여 지정된 자릿수의 일회용코드를 동적 생성할 수 있다.
According to the fourth dynamic seed determination method of the present invention, the code generation unit 155 determines a dynamic seed by combining two or more of the first to third dynamic seed determination systems, and transmits the determined dynamic seed to a designated code By applying it to the generation algorithm, you can dynamically generate a specified number of single-use codes. For example, the code generation unit 155 may dynamically generate a specified number of one-time codes using the dynamic value received from the terminal 200 and the card-side random number as a dynamic seed. Alternatively, the code generation unit 155 may dynamically generate a specified number of one-time codes using the dynamic value received from the terminal 200 and the server-side random number as a dynamic seed.

본 발명의 제1 일회용코드 생성 방식에 따르면, 상기 코드 생성부(155)는 하나의 씨드 값 셋트(예컨대, 적어도 하나의 동적 씨드와 하나 이상의 고정 씨드의 셋트)와 코드 생성 알고리즘을 통해 N(N≥2)자릿수의 일회용코드를 생성할 수 있다.
According to the first disposable code generation method of the present invention, the code generation unit 155 generates N (N (N), N (N), and N &Gt; = 2) digits.

본 발명의 제2 일회용코드 생성 방식에 따르면, 상기 코드 생성부(155)는 각기 다른 씨드 값 셋트 또는 코드 생성 알고리즘을 통해 n(1≤n<N)자릿수의 코드와 (N-n)자릿수의 코드를 각기 동적 생성한 후, 상기 n자릿수의 코드와 (N-n)자릿수의 코드를 조합하여 N자릿수의 일회용코드를 생성할 수 있다.
According to the second disposable code generation method of the present invention, the code generation unit 155 generates a code of n (1? N <N) digits and a code of (Nn) digits through a different seed value set or code generation algorithm After generating each dynamically, an N-digit number of one-time codes can be generated by combining the code of the n-digit number and the code of the (Nn) digit.

본 발명의 제3 일회용코드 생성 방식에 따르면, 상기 코드 생성부(155)는 하나의 씨드 값 셋트와 코드 생성 알고리즘을 통해 n(1≤n<N)자릿수의 코드를 동적 생성하고, 상기 씨드 값 셋트에 미포함된 동적 값 중에서 N-n)자릿수의 코드를 추출한 후 상기 n자릿수의 코드와 조합하여 N자릿수의 일회용코드를 생성할 수 있다.
According to the third disposable code generation method of the present invention, the code generation unit 155 dynamically generates codes of n (1? N <N) digits through one seed value set and a code generation algorithm, A code of Nn digits among the dynamic values not included in the set may be extracted and then an N-digit one-time code may be generated by combining the code with the n-digit code.

상기 코드 제공부(160)는 지정된 시점에 상기 제1 내지 제4 동적 씨드 결정 방식 중 적어도 하나의 방식에 따라 결정된 동적 씨드를 근거로, 상기 제1 내지 제3 일회용코드 생성 방식 중 적어도 하나의 방식에 따라 생성된 일회용코드를 확인하고, 상기 확인된 일회용코드를 상기 인터페이스된 단말기(200)로 제공한다. 상기 단말기(200)는 상기 수신된 일회용코드를 출력함으로써 지정된 거래단말(예컨대, 상기 단말기(200) 또는 상기 단말기(200) 이외에 별도의 단말 등)을 통해 입력되어 상기 거래단말을 통해 요청된 거래의 인증수단으로 이용되도록 하거나, 또는 상기 수신된 일회용코드를 지정된 인증서버로 전송하여 인증수단으로 이용되도록 할 수 있다.
The code providing unit 160 may generate at least one of the first to third disposable code generation schemes based on the dynamic seed determined according to at least one of the first to fourth dynamic seed determination schemes at a designated time And provides the identified disposable code to the interfaced terminal 200. The terminal 200 outputs the received one-time code to the terminal 200 through a designated transaction terminal (for example, a terminal other than the terminal 200 or the terminal 200) Or may be used as an authentication means, or the received one-time code may be transmitted to a specified authentication server so as to be used as an authentication means.

도면2는 본 발명의 실시 방법에 따라 카드(100)와 인터페이스하는 단말기(200)의 기능 구성을 도시한 도면이다.
2 is a functional block diagram of a terminal 200 that interfaces with a card 100 according to an embodiment of the present invention.

보다 상세하게 본 도면2는 상기 도면1에 도시된 카드(100)의 칩(105)과 근접 무선 통신을 통해 인터페이스하는 단말기(200)의 구성과 상기 단말기(200)에서 동작하는 프로그램(215)의 기능 구성을 도시한 것으로서, 본 발명이 속한 기술분야에서 통상의 지식을 가진 자라면, 본 도면2를 참조 및/또는 변형하여 상기 단말기(200)의 기능 구성에 대한 다양한 실시 방법을 유추할 수 있을 것이나, 본 발명은 상기 유추되는 모든 실시 방법을 포함하여 이루어지며, 본 도면2에 도시된 실시 방법만으로 그 기술적 특징이 한정되지 아니한다. 본 발명의 단말기(200)는 근접 무선 통신을 통해 카드(100)와 인터페이스되는 모든 단말의 총칭으로서, 이하 편의상 상기 카드(100)의 칩(105)과 근접 무선 통신을 통해 인터페이스하는 단말기(200)가 스마트폰, 태블릿PC, 휴대폰 등의 무선단말(200)인 실시예를 통해 상기 단말기(200)의 기능 구성에 대하여 설명하기로 한다.
2 shows a configuration of a terminal 200 that interfaces with a chip 105 of the card 100 shown in FIG. 1 through close proximity wireless communication and a configuration of a program 215 operating in the terminal 200 Those skilled in the art will be able to refer to and / or modify the FIG. 2 to derive various implementations of the functional configuration of the terminal 200 However, the present invention includes all of the above-described embodiments, and the technical features of the present invention are not limited only by the method shown in FIG. The terminal 200 of the present invention is a collective term for all terminals that are interfaced with the card 100 through proximity wireless communication and will hereinafter be referred to as a terminal 200 that interfaces with the chip 105 of the card 100 through close- A functional configuration of the mobile terminal 200 will be described with reference to an embodiment of a mobile terminal 200 such as a smart phone, a tablet PC, and a mobile phone.

도면2를 참조하면, 상기 카드(100)의 칩(105)과 인터페이스되는 무선단말(200)은, 제어부(201)와 메모리부(210)와 화면 출력부(202)와 키 입력부(203)와 사운드 처리부(204)와 무선망 통신부(208)와 근거리 무선 통신부(207)와 근접 무선 통신부(205)와 USIM 리더부(209) 및 USIM를 구비하며, 전원 공급을 위한 배터리(206)를 구비한다.
2, a wireless terminal 200 interfacing with a chip 105 of the card 100 includes a control unit 201, a memory unit 210, a screen output unit 202, a key input unit 203, A sound processing unit 204, a wireless network communication unit 208, a short range wireless communication unit 207, a proximity wireless communication unit 205, a USIM reader unit 209 and a USIM, and has a battery 206 for power supply .

상기 제어부(201)는 상기 무선단말(200)의 동작을 제어하는 구성의 총칭으로서, 적어도 하나의 프로세서와 실행 메모리를 포함하여 구성되며, 상기 무선단말(200)에 구비된 각 구성부와 버스(BUS)를 통해 연결된다. 본 발명에 따르면, 상기 제어부(201)는 상기 프로세서를 통해 상기 무선단말(200)에 구비되는 적어도 하나의 프로그램코드를 상기 실행 메모리에 로딩하여 연산하고, 그 결과를 상기 버스를 통해 적어도 하나의 구성부로 전달하여 상기 무선단말(200)의 동작을 제어한다. 이하, 편의상 프로그램코드 형태로 구현되는 본 발명의 프로그램(215) 구성을 본 제어부(201) 내에 도시하여 설명하기로 한다.
The control unit 201 is a general term for controlling the operation of the wireless terminal 200. The control unit 201 includes at least one processor and an execution memory, BUS). According to the present invention, the control unit 201 loads at least one program code included in the wireless terminal 200 into the execution memory through the processor, and outputs the result through at least one configuration And controls the operation of the wireless terminal 200. Hereinafter, the configuration of the program 215 of the present invention, which is implemented in the form of program code for convenience, will be described in the control unit 201. FIG.

상기 메모리부(210)는 상기 무선단말(200)의 저장 자원에 대응되는 비휘발성 메모리의 총칭으로서, 상기 제어부(201)를 통해 실행되는 적어도 하나의 프로그램코드와, 상기 프로그램코드가 이용하는 적어도 하나의 데이터셋트를 저장하여 유지한다. 상기 메모리부(210)는 기본적으로 상기 무선단말(200)의 운영체제에 대응하는 시스템프로그램코드와 시스템데이터셋트, 상기 무선단말(200)의 무선 통신 연결을 처리하는 통신프로그램코드와 통신데이터셋트 및 적어도 하나의 응용프로그램코드와 응용데이터셋트를 저장하며, 본 발명의 프로그램(215)에 대응하는 프로그램코드와 데이터셋트도 상기 메모리부(210)에 저장된다.
The memory unit 210 is a general term of a nonvolatile memory corresponding to a storage resource of the wireless terminal 200 and includes at least one program code executed through the control unit 201 and at least one Save and maintain the dataset. The memory unit 210 basically includes a system program code and a system data set corresponding to the operating system of the wireless terminal 200, a communication program code and a communication data set for processing a wireless communication connection of the wireless terminal 200, The program code and the data set corresponding to the program 215 of the present invention are also stored in the memory unit 210. In addition,

상기 화면 출력부(202)는 상기 무선단말(200)의 출력 자원에 대응되는 화면출력기(예컨대, LCD(Liquid Crystal Display) 등)와 이를 구동하는 구동 모듈로 구성되며, 상기 제어부(201)와 연동되어 상기 제어부(201)의 각종 연산 결과 중 화면 출력에 대응하는 연산 결과를 상기 화면출력 장치로 출력한다.
The screen output unit 202 is composed of a screen output device (e.g., an LCD (Liquid Crystal Display) corresponding to the output resource of the wireless terminal 200 and a driving module for driving the screen output device. And outputs the calculation result corresponding to the screen output among the various calculation results of the control unit 201 to the screen output device.

상기 키 입력부(203)는 상기 무선단말(200)의 입력 자원에 대응되는 하나 이상의 사용자입력기(예컨대, 버튼, 키패드, 터치패드, 화면 출력부(202)와 연동하는 터치스크린 등)와 이를 구동하는 구동 모듈로 구성되며, 상기 제어부(201)와 연동되어 상기 제어부(201)의 각종 연산을 명령하는 명령을 입력하거나, 또는 상기 제어부(201)의 연산에 필요한 데이터를 입력한다.
The key input unit 203 may include at least one user input device corresponding to the input resource of the wireless terminal 200 (e.g., a button, a keypad, a touch pad, a touch screen interlocked with the screen output unit 202) And inputs a command for instructing various operations of the control unit 201 in cooperation with the control unit 201 or inputs data necessary for the operation of the control unit 201. [

상기 사운드 처리부(204)는 상기 무선단말(200)의 출력 자원에 대응되는 스피커와 기 무선단말(200)의 입력 자원에 대응되는 마이크로폰 및 이를 구동하는 구동 모듈로 구성되며, 상기 제어부(201)와 연동되어 상기 제어부(201)의 각종 연산 결과 중 사운드 출력에 대응하는 연산 결과를 상기 스피커를 통해 출력하거나, 또는 상기 마이크로폰을 통해 입력되는 사운드 데이터를 상기 제어부(201)로 전달한다. 상기 구동 모듈은 상기 스피커를 통해 출력할 사운드 데이터를 디코딩(Decoding)하여 사운드 신호로 변환하거나, 또는 상기 마이크로폰을 통해 입력되는 사운드 신호를 엔코딩(Encoding)하여 부호화한다.
The sound processing unit 204 includes a speaker corresponding to the output resource of the wireless terminal 200 and a microphone corresponding to the input resource of the wireless terminal 200 and a driving module for driving the microphone. And outputs the operation result corresponding to the sound output among the various calculation results of the control unit 201 through the speaker or transmits the sound data inputted through the microphone to the control unit 201. [ The driving module decodes sound data to be outputted through the speaker and converts the sound data into a sound signal or encodes the sound signal inputted through the microphone to encode the sound signal.

상기 근접 무선 통신부(205)는 근접 거리(예컨대, 10cm 내외)에서 무선 주파수 신호를 통신매체로 이용하여 양방향 근접 무선 통신, 전이중 근접 무선 통신, 반이중 근접 무선 통신 중 하나 이상의 근접 무선 통신을 처리하는 통신 자원의 총칭으로서, 바람직하게 13.56Mz 주파수 대역의 NFC(Near Field Communication) 규격에 따라 근접 무선 통신을 처리할 수 있다. 또는 상기 근접 무선 통신부(205)는 ISO 18000 시리즈 규격의 근접 무선 통신을 처리할 수 있으며, 이 경우 13.56Mz 주파수 대역 이외의 다른 주파수 대역에 대한 근접 무선 통신을 처리할 수도 있다. 예를들어, 상기 근접 무선 통신부(205)는 리더 모드로 동작하거나, 태그 모드로 동작하거나, 양방향 통신 모드로 동작하는 것이 모두 가능하다. 한편 상기 근접 무선 통신부(205)는 근접하여 통신하는 대상에 따라 상기 무선단말(200)을 통신망에 접속시키는 통신 자원에 포함될 수 있다.
The proximity wireless communication unit 205 is a communication unit that processes one or more proximity wireless communication among a bidirectional proximity wireless communication, a full-duplex proximity wireless communication, and a half-duplex proximity wireless communication using a radio frequency signal as a communication medium at a close distance (for example, As a collective term of resources, it is possible to process the proximity wireless communication according to the NFC (Near Field Communication) standard of the 13.56 Mz frequency band. Alternatively, the proximity wireless communication unit 205 may process proximity wireless communication of the ISO 18000 series standard, and in this case, it may process proximity wireless communication for a frequency band other than the 13.56 Mz frequency band. For example, the proximity wireless communication unit 205 can operate in a reader mode, a tag mode, or a bidirectional communication mode. Meanwhile, the proximity wireless communication unit 205 may be included in a communication resource for connecting the wireless terminal 200 to a communication network according to an object to be communicated nearby.

상기 무선망 통신부(208)와 근거리 무선 통신부(207)는 상기 무선단말(200)을 지정된 통신망에 접속시키는 통신 자원의 총칭이다. 바람직하게, 상기 무선단말(200)은 무선망 통신부(208)를 기본 통신 자원으로 구비할 수 있으며, 하나 이상의 근거리 무선 통신부(207)를 구비할 수 있다.
The wireless network communication unit 208 and the short-range wireless communication unit 207 are collectively referred to as communication resources for connecting the wireless terminal 200 to a designated communication network. Preferably, the wireless terminal 200 may include a wireless network communication unit 208 as a basic communication resource, and may include one or more short-range wireless communication units 207.

상기 무선망 통신부(208)는 상기 무선단말(200)을 기지국을 경유하는 무선 통신망에 접속시키는 통신 자원의 총칭으로서, 특정 주파수 대역의 무선 주파수 신호를 송수신하는 안테나, RF모듈, 기저대역모듈, 신호처리모듈을 적어도 하나 포함하여 구성되며, 상기 제어부(201)와 연결되어 상기 제어부(201)의 각종 연산 결과 중 무선 통신에 대응하는 연산 결과를 무선 통신망을 통해 전송하거나 또는 무선 통신망을 통해 데이터를 수신하여 상기 제어부(201)로 전달함과 동시에, 상기 무선 통신의 접속, 등록, 통신, 핸드오프의 절차를 수행한다. 본 발명에 따르면, 상기 무선망 통신부(208)는 상기 무선단말(200)을 교환기를 경유하는 통화채널과 데이터채널을 포함하는 전화통화망에 연결할 수 있으며, 경우에 따라 상기 교환기를 경유하지 않고 패킷 통신 기반의 무선망 데이터 통신(예컨대, 인터넷)을 제공하는 데이터망에 연결할 수 있다.
The wireless network communication unit 208 is a collective term for communication resources for connecting the wireless terminal 200 to a wireless communication network via a base station and includes an antenna for transmitting and receiving a radio frequency signal of a specific frequency band, And at least one processing module connected to the control unit 201. The control unit 201 transmits the calculation result corresponding to the wireless communication among the various calculation results of the control unit 201 through the wireless communication network or receives data through the wireless communication network To the control unit 201, and performs the connection, registration, communication, and handoff procedures of the wireless communication. According to the present invention, the wireless network communication unit 208 can connect the wireless terminal 200 to a telephone communication network including a communication channel and a data channel via the exchange, and in some cases, May be connected to a data network providing communication-based wireless network data communication (e.g., the Internet).

본 발명의 실시 방법에 따르면, 상기 무선망 통신부(208)는 CDMA/WCDMA/LTE 규격에 따라 이동 통신망에 접속, 위치등록, 호처리, 통화연결, 데이터통신, 핸드오프를 적어도 하나 수행하는 이동 통신 구성을 포함한다. 한편 당업자의 의도에 따라 상기 무선망 통신부(208)는 IEEE 802.16 관련 규격에 따라 휴대인터넷에 접속, 위치등록, 데이터통신, 핸드오프를 적어도 하나 수행하는 휴대 인터넷 통신 구성을 더 포함할 수 있으며, 상기 무선망 통신부(208)가 제공하는 무선 통신 구성에 의해 본 발명이 한정되지 아니함을 명백히 밝혀두는 바이다. 즉, 상기 무선망 통신부(208)는 무선 구간의 주파수 대역이나 통신망의 종류 또는 프로토콜에 무관하게 셀 기반의 기지국을 통해 무선 통신망에 접속하는 구성부의 총칭이다.
According to an embodiment of the present invention, the wireless network communication unit 208 is a mobile communication unit that performs at least one of connection to a mobile communication network, location registration, call processing, call connection, data communication, and handoff according to the CDMA / WCDMA / &Lt; / RTI &gt; Meanwhile, according to the intention of a person skilled in the art, the wireless network communication unit 208 may further include a portable internet communication configuration for performing at least one of connection to the portable Internet, location registration, data communication and handoff according to the IEEE 802.16 standard, It is evident that the present invention is not limited by the wireless communication configuration provided by the wireless network communication unit 208. [ That is, the wireless network communication unit 208 is a collective term for a constituent unit connected to a wireless communication network through a cell-based base station irrespective of a frequency band of a wireless section, a type of a communication network, or a protocol.

상기 근거리 무선 통신부(207)는 일정 거리 이내(예컨대, 10m)에서 무선 주파수 신호를 통신매체로 이용하여 통신세션을 연결하고 이를 기반으로 상기 무선단말(200)을 통신망에 접속시키는 통신 자원의 총칭으로서, 바람직하게는 와이파이 통신, 블루투스 통신, 공중무선 통신, UWB 중 적어도 하나를 통해 상기 무선단말(200)을 통신망에 접속시킬 수 있다. 본 발명의 실시 방법에 따르면, 상기 근거리 무선 통신부(207)는 상기 무선망 통신부(208)와 통합 또는 분리된 형태로 구현될 수 있다. 본 발명에 따르면, 상기 근거리 무선 통신부(207)는 무선AP를 통해 상기 무선단말(200)을 패킷 통신 기반의 근거리 무선 데이터 통신을 제공하는 데이터망에 연결한다.
The short-range wireless communication unit 207 is a collective term for communication resources connecting a communication session using a radio frequency signal within a predetermined distance (for example, 10 m) as a communication medium and connecting the wireless terminal 200 to the communication network based on the communication session , The wireless terminal 200 may be connected to the communication network through at least one of Wi-Fi communication, Bluetooth communication, public wireless communication, and UWB. According to an embodiment of the present invention, the short range wireless communication unit 207 may be integrated with or separated from the wireless network communication unit 208. According to the present invention, the short-distance wireless communication unit 207 connects the wireless terminal 200 to a data network providing packet-based short-range wireless data communication through a wireless AP.

상기 USIM 리더부(209)는 ISO/IEC 7816 규격을 기반으로 상기 무선단말(200)에 탑재 또는 이탈착되는 범용가입자식별모듈(Universal Subscriber Identity Module)과 적어도 하나의 데이터셋트를 교환하는 구성의 총칭으로서, 상기 데이터셋트는 APDU(Application Protocol Data Unit)를 통해 반이중 통신 방식으로 교환된다.
The USIM reader unit 209 is a generic term of a configuration for exchanging at least one data set with a universal subscriber identity module that is mounted or detached from the mobile station 200 based on the ISO / IEC 7816 standard , And the data set is exchanged in a half duplex communication manner through an APDU (Application Protocol Data Unit).

상기 USIM은 상기 ISO/IEC 7816 규격에 따른 IC칩이 구비된 SIM 타입의 카드로서, 상기 USIM 리더부(209)와 연결되는 적어도 하나의 접점을 포함하는 입출력 인터페이스와, 적어도 하나의 IC칩용 프로그램코드와 데이터셋트를 저장하는 IC칩 메모리와, 상기 입출력 인터페이스와 연결되어 상기 무선단말(200)로부터 전달되는 적어도 하나의 명령에 따라 상기 IC칩용 프로그램코드를 연산하거나 상기 데이터셋트를 추출(또는 가공)하여 상기 입출력 인터페이스로 전달하는 프로세서를 포함하여 이루어진다.
The USIM is an SIM type card provided with an IC chip according to the ISO / IEC 7816 standard, and includes an input / output interface including at least one contact connected to the USIM reader unit 209, a program code for at least one IC chip (Or processing) the program code for the IC chip or extracting (or processing) the data set in accordance with at least one command transmitted from the wireless terminal 200 in connection with the input / output interface To the input / output interface.

상기 통신 자원이 접속 가능한 데이터망을 통해 프로그램제공서버(예컨대, 애플사의 앱스토어 등)로부터 본 발명의 프로그램(215)이 다운로드되어 상기 메모리부(210)에 저장된다. 상기 다운로드된 프로그램(215)은 지정된 서버(300)와 연동하여 동작하며, 사용자에 의해 수동으로 구동되거나, 메시지 수신에 의해 사용자 확인 후 또는 자동으로 구동(또는 활성화)될 수 있다. 한편 상기 프로그램(215)을 사용자 확인 후 또는 자동으로 구동하기 위해 별도의 프로그램(215)이 미리 구동 중일 수 있으며, 이에 의해 본 발명이 한정되지 아니한다.
The program 215 of the present invention is downloaded from a program providing server (for example, an Apple App Store or the like) through a data network to which the communication resource can be connected and is stored in the memory unit 210. The downloaded program 215 operates in conjunction with the designated server 300 and can be manually driven by a user or activated (or activated) after user confirmation or automatically by receiving a message. Meanwhile, a separate program 215 may be in operation for activating the program 215 after user confirmation or automatically, and thus the present invention is not limited thereto.

도면2를 참조하면, 상기 무선단말(200)의 프로그램(215)은, 상기 통신 자원이 접속 가능한 데이터망을 통해 지정된 서버(300)에 접속하여 사용자를 회원으로 가입시키나 또는 사용자의 회원 자격을 인증받는 회원 가입/인증부(220)와, 상기 통신 자원을 통해 접속 가능한 적어도 하나의 통신망을 개입시켜 상기 프로그램(215)의 유효성을 인증받는 절차를 수행하는 인증 절차부(225)와, 상기 무선단말(200)에 구비 또는 할당된 단말 식별 값을 지정된 서버(300)에 등록하는 식별 값 등록부(230)를 구비한다. 한편 실시 방법에 따라 상기 회원 가입/인증부(220), 인증 절차부(225), 식별 값 등록부(230) 중 적어도 하나의 구성부는 생략 가능하다.
Referring to FIG. 2, a program 215 of the wireless terminal 200 accesses a designated server 300 through a data network to which the communication resource is connectable, thereby joining a user as a member, An authentication procedure unit 225 for performing a procedure for authenticating the validity of the program 215 through at least one communication network connectable through the communication resource, And an identification value registration unit 230 for registering terminal identification values provided or assigned to the server 200 in the designated server 300. At least one component of the membership subscription / authentication unit 220, the authentication procedure unit 225, and the identification value registration unit 230 may be omitted according to the embodiment.

상기 프로그램(215)은 상기 통신 자원이 접속 가능한 데이터망을 통해 지정된 서버(300)에 접속하는 통신 연결 매크로 정보를 구비하며, 상기 회원 가입/인증부(220)는 상기 화면 출력부(202)를 통해 사용자를 회원으로 가입시키는 사용자 정보(예컨대, 성명, 주민등록번호 등)와 회원 계정을 입력하는 인터페이스를 출력하고, 상기 데이터망을 통해 지정된 서버(300)로 상기 인터페이스를 통해 입력된 사용자 정보와 회원 계정을 전송하여 상기 사용자를 회원으로 가입시킨다.
The program 215 includes communication connection macro information for connecting to a designated server 300 via a data network to which the communication resource is connectable. The membership subscription / authentication unit 220 receives the screen output unit 202 (E.g., name, resident registration number, etc.) and an interface for inputting a member account through the data network, and transmits user information and user account information input through the interface to the designated server 300 through the data network And registers the user as a member.

한편 상기 사용자의 회원 가입은 상기 무선단말(200) 이외에 별도의 사용자 단말을 통해 가입될 수 있다. 따라서 상기 사용자가 이미 회원으로 가입되어 있거나, 또는 상기 사용자 단말을 통해 회원으로 가입된 경우, 상기 회원 가입/인증부(220)는 상기 사용자의 회원 계정을 입력하는 인터페이스를 출력하고, 상기 데이터망을 통해 지정된 서버(300)로 상기 인터페이스를 통해 입력된 회원 계정을 전송하여 상기 사용자가 회원인지 인증시킨다.
Meanwhile, the subscription of the user can be subscribed through a separate user terminal other than the mobile terminal 200. Therefore, when the user is already registered as a member or is registered as a member through the user terminal, the membership registration / authentication unit 220 outputs an interface for inputting the user's member account, Transmits the member account input through the interface to the designated server 300 to authenticate the user as a member.

상기 인증 절차부(225)는 상기 통신 자원이 접속 가능한 데이터망과 전화통화망 중 적어도 하나의 통신망을 개입시켜 지정된 서버(300)로 상기 프로그램(215)의 유효성을 인증시킨다. 본 발명의 실시 방법에 따르면, 상기 프로그램(215)의 유효성을 인증하는 과정은 상기 프로그램(215)과 지정된 서버(300) 사이에 미리 합의된 암/복호화 통신 과정을 수행되며, 편의상 상기 암/복호화 과정에 대한 상세한 설명은 생략하기로 한다.
The authentication procedure unit 225 authenticates the validity of the program 215 to the designated server 300 through at least one communication network among the data network and the telephone communication network to which the communication resource is connectable. According to the embodiment of the present invention, the process of authenticating the validity of the program 215 is performed by performing an encryption / decryption communication process previously agreed upon between the program 215 and the designated server 300. For the sake of convenience, A detailed description of the process will be omitted.

본 발명의 제1 프로그램 인증 방식에 의하면, 상기 프로그램(215)은 지정된 서버(300)에 의해 운영되는 프로그램임을 식별할 수 있는 고유 값이 설정된 상태로 프로그램제공서버를 통해 다운로드될 수 있다. 이 경우 상기 인증 절차부(225)는 상기 고유 값을 지정된 서버(300)로 전송하거나, 또는 상기 고유 값을 기반으로 지정된 서버(300)와 지정된 키 교환 프로토콜에 따른 키 교환 절차를 거침으로써, 상기 프로그램(215)이 지정된 서버(300)에 의해 운영되는 프로그램임을 인증시킬 수 있다.
According to the first program authentication method of the present invention, the program 215 can be downloaded through the program providing server in a state in which a unique value identifying the program operated by the designated server 300 is set. In this case, the authentication procedure unit 225 transmits the eigenvalue to the designated server 300 or performs a key exchange procedure according to the specified server 300 and the designated key exchange protocol based on the eigenvalue, It is possible to authenticate that the program 215 is a program operated by the specified server 300.

본 발명의 제2 프로그램 인증 방식에 의하면, 상기 프로그램(215)은 상기 프로그램제공서버를 통해 다운로드된 후에 지정된 절차에 따라 데이터망 상에서 상기 프로그램(215)을 고유하게 식별하는 토큰 값(예컨대, 애플사의 APNS에 의해 할당되는 디바이스 토큰 등)이 할당될 수 있다. 이 경우 상기 인증 절차부(225)는 지정된 경로에 따라 상기 토큰 값을 지정된 서버(300)로 전송함으로써, 상기 프로그램(215)이 지정된 서버(300)에 의해 운영되는 프로그램임을 인증시킬 수 있다.
According to the second program authentication method of the present invention, the program 215 is downloaded via the program providing server, and is then downloaded to the computer via a token value (e.g., A device token assigned by the APNS, etc.) may be assigned. In this case, the authentication procedure unit 225 can authenticate that the program 215 is a program operated by the designated server 300 by transmitting the token value to the designated server 300 according to the designated path.

본 발명의 제3 프로그램 인증 방식에 의하면, 상기 프로그램(215)은 상기 프로그램(215)에 대응하는 적어도 하나의 파일을 지정된 해시 알고리즘에 따라 해시하여 해시정보를 구성하고, 상기 해시정보를 지정된 서버(300)로 전송함으로써, 상기 프로그램(215)이 지정된 서버(300)에 의해 운영되는 유효한 프로그램임을 인증시킬 수 있다. 한편 상기 인증 절차부(225)는 상기 해시정보를 구성하는 과정에서 내부적으로 결정되거나 또는 지정된 서버(300)와 교환된 키 값을 더 이용하여 해시정보를 구성할 수 있다.
According to the third program authentication method of the present invention, the program 215 configures hash information by hashing at least one file corresponding to the program 215 according to a specified hash algorithm, 300 to authenticate that the program 215 is a valid program operated by the designated server 300. [ Meanwhile, the authentication procedure unit 225 may construct the hash information by using the key value internally determined or exchanged with the designated server 300 in the process of constructing the hash information.

본 발명의 제4 프로그램 인증 방식에 의하면, 상기 프로그램(215)은 지정된 인증 절차를 수행하기 위한 인증서가 탑재된 상태로 프로그램제공서버를 통해 다운로드되거나 또는 프로그램제공서버를 통해 다운로드된 후에 지정된 인증서 발급 또는 로밍 절차에 따라 인증서가 탑재될 수 있다. 이 경우 상기 인증 절차부(225)는 상기 인증서에 정의된 인증 절차에 따라 상기 인증서에 설정된 적어도 하나의 키 값과 키 교환 프로토콜 및 암/복호화 규칙을 선택적으로 이용하여 상기 프로그램(215)이 지정된 서버(300)에 의해 운영되는 프로그램임을 인증시킬 수 있다. 상기 인증서는 지정된 서버(300)의 인증서이거나 또는 상기 프로그램(215)을 사용하는 사용자의 인증서 중 적어도 하나의 인증서를 포함할 수 있다.
According to the fourth program authentication method of the present invention, the program 215 is downloaded through a program providing server in a state in which a certificate for performing a specified authentication procedure is loaded, or after being downloaded through a program providing server, Certificates can be loaded according to roaming procedures. In this case, the authentication procedure unit 225 may selectively use the key exchange protocol and the encryption / decryption rule, the at least one key value set in the certificate according to the authentication procedure defined in the certificate, It is possible to verify that the program is operated by the control unit 300. The certificate may comprise at least one of a certificate of a designated server 300 or a certificate of a user using the program 215.

본 발명의 제5 프로그램 인증 방식에 의하면, 상기 무선단말(200)은 전화통화망의 메시지 교환 프로토콜을 통해 지정된 서버(300)로부터 발송된 인증번호가 수신되면, 상기 수신된 인증번호를 입력받아 상기 데이터망을 통해 지정된 서버(300)로 전송함으로써, 상기 프로그램(215)이 지정된 서버(300)에 의해 운영되는 프로그램임을 인증시킬 수 있다.
According to the fifth program authentication method of the present invention, when the authentication number transmitted from the server 300 specified through the message exchange protocol of the telephone network is received, the wireless terminal 200 receives the received authentication number, It is possible to authenticate that the program 215 is a program operated by the designated server 300 by transmitting the program 215 to the designated server 300 through the data network.

본 발명의 제6 프로그램 인증 방식에 의하면, 상기 인증 절차부(225)는 상기 제1 내지 제5 프로그램 인증 방식 중 하나 이상을 선택적으로 조합한 인증 방식을 통해 지정된 서버(300)로부터 상기 프로그램(215)의 유효성을 인증시키는 것이 가능하며, 이에 의해 본 발명이 한정되지 아니한다.
According to the sixth program authentication method of the present invention, the authentication procedure unit 225 receives the program 215 from the designated server 300 through an authentication method selectively combining at least one of the first through fifth program authentication methods ) Can be authenticated, and thus the present invention is not limited thereto.

상기 제1 내지 제6 프로그램 인증 방식을 수행하는 과정 전, 중, 후의 지정된 어느 시점에, 상기 인증 절차부(225)는 상기 무선단말(200)의 메모리부(210) 또는 SE(Secure Element, 무선단말(200)에 탑재 또는 이탈착되는 USIM(Universal Subscriber Identify Module), IC(Integrated Circuit)칩, 외부 메모리(예: SD메모리 등)의 내장 칩 중 적어도 하나의 보안저장영역)에 저장된 고유 정보, 또는 상기 무선단말(200)이 상기 무선망 통신부(208)를 통해 지정된 통신망에 접속 또는 유지하는 과정에서 통신사 측 자원에 의해 할당된 고유 정보를 지정된 서버(300)로 전송함으로써, 상기 프로그램(215)이 지정된 서버(300)에 의해 운영되는 프로그램임과 동시에 상기 프로그램(215)이 상기 무선단말(200)에서 구동 중임을 동시에 인증시킬 수 있다.
The authentication procedure unit 225 may determine whether the wireless terminal 200 is connected to the memory unit 210 or SE (Secure Element, wireless) of the wireless terminal 200 at any specified time point before, Unique information stored in a secure storage area of at least one of a Universal Subscriber Identify Module (USIM), an Integrated Circuit (IC) chip, and an embedded chip of an external memory (e.g., SD memory) mounted on or detached from the terminal 200, Or transmits the unique information allocated by the communication-end-side resource to the designated server 300 in the process of connecting or holding the wireless terminal 200 to the designated communication network through the wireless network communication unit 208, It is possible to simultaneously authenticate that the program 215 is a program operated by the designated server 300 and that the program 215 is being driven by the wireless terminal 200.

상기 식별 값 등록부(230)는 상기 단말기(200)의 읽기영역에 저장된 정보, 상기 단말기(200)의 고유저장영역에 저장된 정보, 상기 단말기(200)의 H/W구성에 기록된 정보, 상기 단말기(200)가 접속한 네트워크에서 할당/부여한 정보 중 적어도 하나의 정보를 포함하는 단말 식별 값, 및/또는 상기 제1 내지 제6 프로그램 인증 방식을 통해 수행된 프로그램 인증 과정 또는 인증의 결과로서 상기 프로그램(215)에 할당된 정보, 상기 프로그램(215)에 의해 상기 단말기(200)에 저장된 정보 중 적어도 하나의 정보를 포함하는 단말 식별 값을 확인하고, 상기 확인된 단말 식별 값을 지정된 서버(300)로 전송하여 등록시킨다.
The identification value registration unit 230 registers information stored in the reading area of the terminal 200, information stored in the unique storage area of the terminal 200, information recorded in the H / W configuration of the terminal 200, As a result of the program authentication process or authentication performed through the first to sixth program authentication methods and / or the terminal identification value including at least one of the information assigned / assigned in the network to which the terminal 200 is connected, The terminal 200 identifies the terminal identification value including at least one of the information allocated to the terminal 215 and the information stored in the terminal 200 by the program 215, And registers it.

도면2를 참조하면, 상기 무선단말(200)의 프로그램(215)은, 상기 도면1의 카드(100)와 지정된 서버(300) 사이의 종단 간 인증을 위해 근접 무선 통신을 통해 인터페이스된 카드(100)와 연동하는 카드 연동부(235)와, 상기 카드(100)와 서버(300) 사이의 종단 간 인증을 위해 통신망을 통해 상기 서버(300)와 연동하는 서버 연동부(240)와, 상기 카드(100)와 서버(300) 사이의 종단 간 인증의 결과로서 상기 카드(100)로부터 제공되는 일회용코드를 확인하는 코드 확인부(245)와, 상기 확인된 코드를 출력하는 코드 출력부(250)를 구비하며, 상기 확인된 코드를 지정된 인증서버로 전송하는 코드 전송부(255)를 구비한다.
Referring to FIG. 2, the program 215 of the wireless terminal 200 includes a card 100 interfaced via proximity wireless communication for end-to-end authentication between the card 100 of FIG. 1 and a designated server 300 A server interlocking unit 240 interlocked with the server 300 through a communication network for end-to-end authentication between the card 100 and the server 300, a card interlocking unit 240 interlocked with the server 300, A code checking unit 245 for checking the disposable code provided from the card 100 as a result of end-to-end authentication between the terminal 100 and the server 300, a code output unit 250 for outputting the checked code, And a code transmission unit 255 for transmitting the confirmed code to the specified authentication server.

상기 카드 연동부(235)는 카드(100)와 서버(300) 사이의 종단 간 인증 및 상기 종단 간 인증의 결과로서 상기 카드(100)로부터 제공되는 일회용코드를 이용하기 위해 상기 카드(100)의 칩(105)과 연동하는 프로그램(215) 구성부의 총칭이고, 상기 서버 연동부(240)는 카드(100)와 서버(300) 사이의 종단 간 인증 및 상기 종단 간 인증의 결과로서 상기 카드(100)로부터 제공되는 일회용코드를 이용하기 위해 상기 서버(300)와 연동하는 프로그램(215) 구성부의 총칭이다.
The card interlocking portion 235 is connected to the card 100 to use the disposable code provided from the card 100 as a result of the end-to-end authentication between the card 100 and the server 300 and the end- The server interworking unit 240 is a generic term of a program 215 that is interlocked with the chip 105. The server interworking unit 240 is a generic term for the program 100 and the server 100 as a result of the end- The program 215 is a generic term for a program 215 that is interlocked with the server 300 to use the disposable code provided from the server 300. [

상기 카드 연동부(235)는 카드(100)와 서버(300) 사이의 종단 간 인증을 기반으로 상기 카드(100)로부터 일회용코드를 제공받기 위해, 상기 카드(100)의 칩(105)으로 입력하기로 지정된 적어도 하나의 동적 값을 획득한다. 바람직하게, 상기 동적 값은 상기 무선단말(200)의 타이머를 통해 획득된 시간 값을 포함하며, 실시 방법에 따라 상기 카드 연동부(235)에 의해 생성된 단말 측 난수 값, 또는 지정된 서버(300)로부터 수신된 챌린지 값을 포함할 수 있다.
The card interlocking unit 235 is connected to the chip 105 of the card 100 in order to receive a disposable code from the card 100 based on end-to-end authentication between the card 100 and the server 300 Obtains at least one dynamic value designated as follows. Preferably, the dynamic value includes a time value obtained through a timer of the wireless terminal 200, and may include a terminal side random number value generated by the card interlocking unit 235, &Lt; / RTI &gt;

상기 카드 연동부(235)는 상기 근접 무선 통신부(205)를 통해 카드(100)의 칩(105)이 인터페이스된 상태를 확인하고, 상기 인터페이스된 카드(100)의 칩(105)으로 상기 획득된 동적 값을 제공한다. 상기 카드(100)의 칩(105)은 적어도 하나의 동적 값을 포함하는 데이터(c)를 지정된 암호모듈(115)을 통해 지정된 서버(300)에서 복호화 가능하게 암호화시킨 암호데이터(c)를 생성하여 제공한다. 상기 카드 연동부(235)는 상기 카드(100)로부터 수신된 암호데이터(c)를 서버 연동부(240)로 제공한다.
The card interlocking unit 235 confirms the state of the chip 105 of the card 100 being interfaced with the chip 105 of the interfaced card 100 through the proximity wireless communication unit 205, Provide dynamic values. The chip 105 of the card 100 generates cryptographic data c in which data c including at least one dynamic value is decryptably decrypted by the designated server 300 through the designated cryptographic module 115 . The card interlocking unit 235 provides the server interlock unit 240 with the encrypted data (c) received from the card 100.

본 발명의 실시 방법에 따르면, 상기 카드 연동부(235)는 상기 카드(100)의 칩(105)에 대하여 지정된 인증 절차를 수행할 수 있다. 바람직하게, 상기 인증 절차는 PIN 인증 절차를 포함하며, 이를 위해 상기 카드 연동부(235)는 사용자로부터 PIN 값을 입력받고, 상기 인터페이스된 카드(100)의 칩(105)으로 상기 입력된 PIN 값을 제공한다. 상기 카드(100)의 칩(105)은 상기 PIN 값을 인증한다. 상기 PIN 인증 절차가 수행되는 경우, 상기 암호데이터(c)는 상기 PIN 인증의 결과로서 상기 카드(100)로부터 수신될 수 있다. 한편 본 발명의 실시 방법에 따라 상기 PIN 인증 절차를 생략되거나, 또는 상기 서버(300)로부터 수신된 암호데이터(s)를 상기 카드(100)의 칩(105)으로 제공하는 과정과 연계하여 처리될 수 있다.
According to the embodiment of the present invention, the card interlocking unit 235 can perform the authentication procedure specified for the chip 105 of the card 100. [ Preferably, the authentication procedure includes a PIN authentication procedure. To this end, the card interlocking unit 235 receives a PIN value from the user, and transmits the PIN value &lt; RTI ID = 0.0 &gt; . The chip 105 of the card 100 authenticates the PIN value. When the PIN authentication procedure is performed, the password data (c) may be received from the card 100 as a result of the PIN authentication. In the meantime, in accordance with the method of the present invention, the PIN authentication procedure is omitted or the password data (s) received from the server 300 is supplied to the chip 105 of the card 100, .

상기 서버 연동부(240)는 상기 서버(300)에 대응하는 통신 프로토콜과 보안 프로토콜을 이용하여 상기 암호데이터(c)를 상기 서버(300)로 전송한다. 본 발명의 실시 방법에 따르면, 상기 서버 연동부(240)는 상기 암호데이터(c)를 상기 서버(300)로 전송하기 전, 중, 후의 지정된 어느 시점에, 상기 식별 값 등록부(230)에 의해 상기 서버(300)에 등록된 단말 식별 값을 확인하고, 상기 확인된 단말 식별 값을 상기 서버(300)로 전송할 수 있다.
The server interworking unit 240 transmits the encryption data c to the server 300 using a communication protocol and a security protocol corresponding to the server 300. According to an embodiment of the present invention, the server interworking unit 240 may be configured to send the cryptographic data (c) to the server 300 at a specified time point before or after the cryptographic data c is transmitted to the server 300 by the identification value registration unit 230 The server 300 can confirm the terminal identification value registered in the server 300 and transmit the confirmed terminal identification value to the server 300. [

상기 서버 연동부(240)는 상기 서버(300)로부터 상기 서버(300)에 의해 생성된 동적 값을 데이터(s)를 암호화한 암호데이터(s)를 수신하고, 상기 수신된 암호데이터(s)를 상기 카드 연동부(235)로 제공한다.
The server interlock 240 receives the encrypted data s encrypted by encrypting the dynamic value generated by the server 300 from the server 300 and transmits the received encrypted data s to the server 300. [ To the card interlocking part (235).

상기 카드 연동부(235)는 상기 인터페이스된 카드(100)의 칩(105)으로 상기 암호데이터(s)를 제공한다. 상기 카드(100)의 칩(105)은 상기 암호데이터(s)를 지정된 복호모듈(120)을 통해 복호화시키고, 상기 복호화된 데이터(s)의 유효성을 인증한 후, 지정된 시점에 상기 제1 내지 제4 동적 씨드 결정 방식 중 적어도 하나의 방식에 따라 결정된 동적 씨드를 근거로, 상기 제1 내지 제3 일회용코드 생성 방식 중 적어도 하나의 방식에 따라 생성된 일회용코드를 확인하여 제공한다. 실시 방법에 따라 상기 카드(100)의 칩(105)은 상기 데이터(s)의 유효성이 인증되기 전에라도 상기 일회용코드를 미리 생성하여 저장(또는 유지)할 수 있다.
The card interlocking part 235 provides the cipher data (s) to the chip 105 of the interfaced card 100. The chip 105 of the card 100 decrypts the encrypted data s through the designated decryption module 120 and authenticates the validity of the decrypted data s, Disposable codes generated according to at least one of the first to third disposable code generation schemes based on the dynamic seed determined according to at least one of the fourth dynamic seed determination schemes. The chip 105 of the card 100 can generate (or maintain) the disposable code in advance even before the validity of the data s is authenticated.

상기 카드 연동부(235)는 상기 인터페이스된 카드(100)의 칩(105)으로부터 상기 일회용코드를 수신하고, 상기 코드 확인부(245)는 상기 인터페이스된 카드(100)의 칩(105)으로부터 수신된 일회용코드를 확인한다. 상기 코드 출력부(250)는 상기 화면 출력부(202)를 통해 상기 확인된 일회용코드를 출력한다. 본 발명의 실시 방법에 따르면, 상기 코드 전송부(255)는 상기 확인된 일회용코드를 지정된 인증서버로 전송할 수 있다.
The card interlocking part 235 receives the disposable code from the chip 105 of the interfaced card 100 and the code checking part 245 receives the disposable code from the chip 105 of the interfaced card 100 Check the disposable code. The code output unit 250 outputs the identified disposable code through the screen output unit 202. According to the embodiment of the present invention, the code transmitting unit 255 can transmit the identified one-time code to the designated authentication server.

도면3은 본 발명의 실시 방법에 따른 서버(300)의 구성을 도시한 도면이다.
FIG. 3 is a diagram illustrating a configuration of a server 300 according to an embodiment of the present invention.

보다 상세하게 본 도면3은 상기 도면1에 도시된 카드(100)의 칩(105)에서 생성한 암호데이터(c)를 상기 도면2에 도시된 단말기(200)를 통해 수신하고, 지정된 코드생성규칙에 따라 동적 생성된 서버 측 난수 값을 포함하는 데이터(s)를 상기 칩(105)의 복호모듈(120)을 통해 복호화 가능하게 암호화한 암호데이터(s)를 상기 단말기(200)로 전송함으로써, 상기 단말기(200)로 하여금 상기 암호데이터(s)를 상기 카드(100)의 칩(105)으로 제공한 후 상기 카드(100)의 칩(105)으로부터 일회용코드를 제공받아 출력하도록 하는 서버(300)의 구성을 도시한 것으로서, 본 발명이 속한 기술분야에서 통상의 지식을 가진 자라면, 본 도면3을 참조 및/또는 변형하여 상기 서버(300)의 구성에 대한 다양한 실시 방법(예컨대, 일부 구성부가 생략되거나, 또는 세분화되거나, 또는 합쳐진 실시 방법)을 유추할 수 있을 것이나, 본 발명은 상기 유추되는 모든 실시 방법을 포함하여 이루어지며, 본 도면3에 도시된 실시 방법만으로 그 기술적 특징이 한정되지 아니한다.
More specifically, FIG. 3 is a block diagram illustrating a configuration of receiving encrypted data (c) generated by a chip 105 of the card 100 shown in FIG. 1 through the terminal 200 shown in FIG. 2, By transmitting to the terminal 200 the encrypted data s encrypted by decrypting the data s including the dynamically generated server-side random number value in accordance with the decryption module 120 of the chip 105, A server 300 for providing the terminal 200 with the disposable code from the chip 105 of the card 100 after providing the encrypted data s to the chip 105 of the card 100, 3, the server 300 may be configured to have various configurations (for example, a configuration of a part of the server 300), a configuration of the server 300, Added, or broken down, or combined However, the present invention includes all of the above-mentioned embodiments, and the technical features of the present invention are not limited by the method shown in FIG.

본 발명의 서버(300)는, 상기 도면1에 도시된 카드(100)의 칩(105)과 종단 간 인증을 처리하고, 지정된 코드생성규칙에 따라 동적 생성된 서버 측 난수 값을 포함하는 데이터(s)를 상기 칩(105)의 복호모듈(120)을 통해 복호화 가능하게 암호화한 암호데이터(s)를 상기 단말기(200)로 전송하는 기능을 구비한 구성의 총칭이다. 본 도면3에 도시된 서버(300)의 구성은 네트워크 상에 구비되는 물리적 서버를 통해 구현되거나, 또는 네트워크 상에 기 구비된 서버(예컨대, 뱅킹서버, 결제승인서버 등)에 구현되는 프로그램(215)모듈의 형태로 구현될 수 있다. 즉, 본 발명의 서버(300)가 구현되는 방식에 의해 본 발명이 한정되지 아니함을 명백하게 밝혀두는 바이다.
The server 300 of the present invention processes the chip 105 and the end-to-end authentication of the card 100 shown in FIG. 1 and generates data (FIG. 1) including dynamically generated server- s) encrypted by the decryption module 120 of the chip 105 so as to be decryptable, to the terminal 200. In this case, The configuration of the server 300 shown in FIG. 3 may be implemented through a physical server provided on a network, or may be implemented by a program 215 (for example, a banking server, a payment approval server, etc.) ) &Lt; / RTI &gt; module. That is, it is evident that the present invention is not limited by the manner in which the server 300 of the present invention is implemented.

도면3을 참조하면, 상기 서버(300)는, 상기 도면1의 카드(100)를 발급받은 사용자를 회원으로 가입 및 인증하는 회원 운영부(305)와, 상기 도면2의 단말기(200)에 탑재된 프로그램(215)의 유효성을 인증하는 프로그램 인증부(310)와, 상기 도면2의 단말기(200)를 통해 상기 도면1의 카드(100)의 칩(105)과 종단 간 인증을 위한 정보를 등록받아 저장하는 정보 저장부(315)를 구비한다.
Referring to FIG. 3, the server 300 includes a member management unit 305 for subscribing and authenticating a user who has been issued the card 100 of FIG. 1 as a member, A program authentication unit 310 for authenticating the effectiveness of the program 215 and information for end-to-end authentication with the chip 105 of the card 100 of FIG. 1 through the terminal 200 of FIG. 2 And an information storage unit 315 for storing information.

상기 회원 운영부(305)는 상기 도면1의 카드(100)를 발급받은 사용자를 회원으로 가입 받는다. 상기 회원 가입은 상기 도면2에 도시된 프로그램(215)의 회원 가입/인증부(220)와 연동하여 이루어지거나, 또는 상기 도면2의 단말기(200) 이외에 별도의 사용자 단말을 통해 이루어질 수 있다. 또는 상기 사용자에게 상기 도면1의 카드(100)를 발급하는 시점에 카드(100)발급기관에 구비된 관리단말(360) 또는 상기 서버(300)를 관리하는 관리단말(360)을 통해 처리될 수 있다.
The member managing unit 305 receives a user who has been issued the card 100 of FIG. 1 as a member. The subscription may be performed in conjunction with the subscription / authentication unit 220 of the program 215 shown in FIG. 2, or may be performed through a separate user terminal other than the terminal 200 of FIG. Or a management terminal 360 provided in the card issuing organization at the time of issuing the card 100 of FIG. 1 to the user or a management terminal 360 managing the server 300 have.

상기 사용자가 상기 단말기(200)를 이용하여 카드(100)와 서버(300) 사이의 종단 간 인증을 기반으로 일회용코드를 제공받고자 하는 경우, 상기 회원 운영부(305)는 상기 단말기(200)에 구비된 프로그램(215)의 회원 가입/인증부(220)와 연동하여 상기 사용자에 대한 회원 인증을 처리할 수 있다.
When the user wishes to receive a disposable code based on the end-to-end authentication between the card 100 and the server 300 using the terminal 200, the member operation unit 305 transmits the disposable code to the terminal 200 Authentication unit 220 of the program 215 to process the member authentication for the user.

한편 본 발명에 따른 카드(100)와 서버(300) 사이의 종단 간 인증 기반 일회용코드 서비스가 회원 가입 없이 프로그램 인증이나 단말 인증만으로 제공되거나, 또는 일회용코드 기반 서비스를 제공하는 별도의 서버(예컨대, 뱅킹서버, 결제승인서버 등)에 가입된 회원 정보를 이용하여 제공되는 경우, 상기 회원 운영부(305)는 생략 가능하다.
Meanwhile, an end-to-end authentication-based disposable code service between the card 100 and the server 300 according to the present invention may be provided only through program authentication or terminal authentication without membership, or may be provided with a separate server (e.g., A banking server, a payment approval server, etc.), the member operation unit 305 may be omitted.

상기 프로그램 인증부(310)는 상기 도면2에 도시된 프로그램(215)의 인증 절차부(225)와 연동하여 제1 내지 제6 프로그램 인증 방식에 따라 단말기(200)에 구비된 프로그램(215)의 유효성을 인증한다.
The program authentication unit 310 may be configured to perform the program authentication of the program 215 included in the terminal 200 according to the first to sixth program authentication methods in cooperation with the authentication procedure unit 225 of the program 215 shown in FIG. Authenticate the validity.

상기 정보 저장부(315)는 상기 프로그램 인증부(310)를 통해 상기 단말기(200)에 구비된 프로그램(215)의 유효성을 인증하는 과정에서 상기 프로그램(215)에 할당된 정보, 상기 프로그램(215)에 의해 상기 단말기(200)에 저장된 정보 중 적어도 하나의 정보를 포함하는 단말 식별 값, 및/또는 상기 도면2에 도시된 프로그램(215)의 식별 값 등록부(230)와 연동하여 상기 단말기(200)의 읽기영역에 저장된 정보, 상기 단말기(200)의 고유저장영역에 저장된 정보, 상기 단말기(200)의 H/W구성에 기록된 정보, 상기 단말기(200)가 접속한 네트워크에서 할당/부여한 정보 중 적어도 하나의 정보를 포함하는 단말 식별 값을 확인하고, 상기 확인된 단말 식별 값을 지정된 저장매체에 저장한다.
The information storage unit 315 stores information allocated to the program 215 in the process of authenticating the validity of the program 215 provided in the terminal 200 through the program authentication unit 310, And a terminal identification value including at least one of the information stored in the terminal 200 by the terminal 200 and the identification value registration unit 230 of the program 215 shown in FIG. Information stored in the unique storage area of the terminal 200, information recorded in the H / W configuration of the terminal 200, information allocated / assigned in the network to which the terminal 200 is connected, , And stores the identified terminal identification value in a designated storage medium.

한편, 상기 정보 저장부(315)는 카드(100)발급기관에 구비된 관리단말(360) 또는 상기 서버(300)를 관리하는 관리단말(360)과 연동하여 상기 카드(100)의 칩(105)으로부터 전송되는 암호데이터(c)에 포함될 정보를 등록받고여 지정된 저장매체에 저장한다. 바람직하게, 상기 정보 저장부(315)는 상기 암호데이터(c)에 포함될 고유코드(예컨대, 칩(105)의 지정된 고유영역에 저장된 CSN(Card Serial Number or Chip Serial Number), 응용영역(예컨대, 애플릿이 기록되는 영역)에 저장된 코드 값 등)를 등록받아 지정된 저장매체에 저장할 수 있다.
The information storage unit 315 is connected to the management terminal 360 provided in the card issuing organization or the management terminal 360 that manages the server 300, (C) to be stored in the designated storage medium. Preferably, the information storage unit 315 stores a unique code (e.g., a card serial number or a chip serial number (CSN) stored in a designated unique area of the chip 105, an application area (e.g., A code value stored in an area in which the applet is recorded, and the like) can be registered and stored in a designated storage medium.

만약 상기 서버 측 난수 값이 지정된 코드생성규칙을 통해 생성되는 경우, 상기 정보 저장부(315)는 상기 코드생성규칙에 적용될 적어도 하나의 씨드 값을 확인하여 지정된 저장매체에 저장할 수 있다.
If the server-side random number value is generated through the designated code generation rule, the information storage unit 315 may check at least one seed value to be applied to the code generation rule and store the seed value in a designated storage medium.

도면3을 참조하면, 상기 서버(300)는, 상기 카드(100)의 칩(105)에서 확인된 적어도 하나의 동적 값을 포함하는 데이터(c)를 상기 칩(105)의 암호모듈(115)을 통해 암호화한 암호데이터(c)를 수신하는 데이터 수신부(320)와, 지정 복호 방식을 통해 상기 수신된 암호데이터(c)를 복호화하는 복호 처리부(325)와, 상기 복호화된 데이터(c)의 유효성을 인증하는 인증 처리부(335)를 구비하며, 타임스탬프를 확인하여 저장하는 시간 등록부(330)를 구비한다.
3, the server 300 transmits data (c) including at least one dynamic value identified in the chip 105 of the card 100 to the cryptographic module 115 of the chip 105, A decryption processing unit 325 for decrypting the received encrypted data c through a designated decryption method, a decryption processing unit 325 for decrypting the decrypted data c, And an authentication processing unit 335 for authenticating validity, and includes a time registration unit 330 for checking and storing a time stamp.

상기 도면2에 도시된 단말기(200)의 프로그램(215)이 지정된 동적 값을 획득하여 근접 무선 통신을 통해 상기 도면1에 도시된 카드(100)의 칩(105)으로 제공하면, 상기 카드(100)의 칩(105)은 적어도 하나의 동적 값을 포함하는 데이터(c)를 지정된 암호모듈(115)을 통해 상기 서버(300)에서 복호화 가능하게 암호화하여 암호데이터(c)를 생성하고, 상기 근접 무선 통신을 통해 상기 단말기(200)로 제공하는데, 상기 단말기(200)는 상기 카드(100)의 칩(105)으로부터 제공된 암호데이터(c)를 상기 서버(300)로 전송한다.
When the program 215 of the terminal 200 shown in FIG. 2 obtains the designated dynamic value and provides it to the chip 105 of the card 100 shown in FIG. 1 through proximity wireless communication, the card 100 ) Chip 105 decrypts data c containing at least one dynamic value in a decryptable manner in the server 300 via a designated cryptographic module 115 to generate cryptographic data c, The terminal 200 transmits the encrypted data c provided from the chip 105 of the card 100 to the server 300 via the wireless communication.

상기 데이터 수신부(320)는 상기 단말기(200)로부터 상기 카드(100)의 칩(105)을 통해 생성된 암호데이터(c)를 수신한다. 본 발명의 실시 방법에 따르면, 상기 단말기(200)는 상기 암호데이터(c)를 전소하기 전, 중, 후의 지정된 시점에 상기 단말기(200)에 대한 단말 식별 값을 전송할 수 있으며, 상기 데이터 수신부(320)는 상기 단말 식별 값을 수신하고, 상기 인증 처리부(335)는 지정된 저장매체에 저장된 단말 식별 값을 통해 상기 수신된 단말 식별 값의 유효성을 인증할 수 있다.
The data receiving unit 320 receives the cipher data c generated from the terminal 200 through the chip 105 of the card 100. According to the embodiment of the present invention, the terminal 200 can transmit the terminal identification value to the terminal 200 at a designated time before, during, or after the cipher data c is burned, 320 receives the terminal identification value, and the authentication processing unit 335 can authenticate the validity of the received terminal identification value through the terminal identification value stored in the designated storage medium.

상기 단말기(200)로부터 암호데이터(c)가 수신되면, 상기 복호 처리부(325)는 지정 복호 방식에 따라 상기 수신된 암호데이터(c)를 복호화한다. 만약 상기 복호화된 데이터(c)의 동적 값에 시간 값이 포함된 경우, 상기 시간 등록부(330)는 상기 복호화된 데이터(c)에 포함된 시간 값을 확인하고, 확인된 시간 값을 본 발명에 따른 카드(100)와 서버(300) 사이의 종단 간 인증 기반 일회용코드 서비스를 위한 타임스탬프(예컨대, 지정된 시간 순서에 따라 지정된 절차가 수행되고 있는지 인증하고 제3자 개입을 통한 해킹 여부를 검출하기 위한 기준 값)로서 지정된 저장매체에 저장한다. 한편 상기 복호화된 데이터(c)에 시간 값이 미포함된 경우, 상기 시간 등록부(330)는 상기 암호데이터(c)가 복호화된 시간을 확인하고, 상기 확인된 시간을 상기 타임스탬프로서 지정된 저장매체에 저장한다.
Upon reception of the cipher data (c) from the terminal 200, the decryption processing unit 325 decrypts the received cipher data c according to the designated decryption method. If the time value is included in the dynamic value of the decrypted data c, the time register 330 checks the time value included in the decrypted data c, A time stamp for an end-to-end authentication-based one-time use code service between the card 100 and the server 300 (e.g., authentication is performed according to a designated time sequence and a hacking through third party intervention is detected) As a reference value). On the other hand, if the decoded data (c) does not include a time value, the time registering unit 330 confirms the decrypted time of the encrypted data (c), and stores the confirmed time in the storage medium designated as the time stamp .

본 발명의 실시 방법에 따라 상기 데이터(c)에 상기 카드(100)의 칩(105) 내에 지정된 고유코드가 포함된 경우, 상기 인증 처리부(335)는 상기 복호화된 데이터(c)로부터 상기 고유코드를 확인하고, 지정된 저장매체에 저장된 고유코드를 통해 상기 복호화된 데이터(c)로부터 확인된 고유코드의 유효성을 인증함으로써, 상기 카드(100)가 카드(100)발급기관을 통해 사용자에게 유효하게 발급된 카드(100)인지 인증할 수 있다. 상기 시간 등록부(330)는 상기 카드(100)가 인증된 시간을 확인하고, 상기 확인된 시간을 상기 타임스탬프 중의 하나로서 지정된 저장매체에 저장할 수 있다. 또한 상기 카드(100)가 인증되지 않더라도, 상기 시간 등록부(330)는 상기 카드(100) 인증되지 않은 시간을 상기 타임스탬프 중의 하나로서 지정된 저장매체에 저장할 수 있다.
When the data c includes the unique code specified in the chip 105 of the card 100 according to an embodiment of the present invention, the authentication processing unit 335 extracts the unique code from the decrypted data c, And validates the validity of the unique code confirmed from the decrypted data (c) through a unique code stored in the designated storage medium, thereby enabling the card (100) to be effectively issued to the user through the card issuing organization The card 100 can be authenticated. The time registering unit 330 may check the authenticated time of the card 100 and may store the confirmed time in the storage medium designated as one of the time stamps. Also, even if the card 100 is not authenticated, the time registration unit 330 may store the unauthorized time of the card 100 in the storage medium designated as one of the time stamps.

도면3을 참조하면, 상기 서버(300)는, 상기 서버(300)에 의해 생성된 적어도 하나의 동적 값을 포함하는 데이터(s)를 상기 카드(100)의 칩(105)에 구비된 복호모듈(120)을 통해 복호화 가능하게 암호화하여 암호데이터(s)를 생성하는 암호 처리부(345)와, 상기 단말기(200)로 상기 생성된 암호데이터(s)를 전송하는 데이터 전송부(350)를 구비하고, 지정된 코드생성규칙에 따라 동적 생성된 서버 측 난수 값을 확인하는 코드 생성부(340)를 구비하며, 상기 서버 측 난수 값은 상기 데이터(s)에 포함되는 동적 값으로 이용될 수 있다. 또한, 상기 서버(300)는, 상기 단말기(200)를 통해 상기 암호데이터(s)를 제공받은 카드(100)의 칩(105)에서 상기 단말기(200)로 제공한 일회용코드에 대한 인증 절차가 수행되도록 제어하는 코드 인증 제어부(355)를 구비할 수 있다.
Referring to FIG. 3, the server 300 transmits data (s) including at least one dynamic value generated by the server 300 to a decoding module (not shown) provided in the chip 105 of the card 100, A cryptographic processor 345 for decrypting the encrypted data s to generate decrypted data s through the decrypting unit 120 and a data transmitting unit 350 for transmitting the generated decrypted data s to the terminal 200 And a code generation unit 340 for confirming a dynamically generated server-side random number value according to a designated code generation rule. The server-side random number value may be used as a dynamic value included in the data (s). The server 300 may also be configured to authenticate the disposable code provided to the terminal 200 from the chip 105 of the card 100 received the encrypted data s through the terminal 200 And a code authentication control unit 355 for controlling the code authentication control unit 355 to be performed.

상기 코드 생성부(340)는 지정된 코드생성규칙을 이용하여 서버 측 난수 값을 동적 생성하거나, 또는 지정된 코드생성서버(365)를 통해 동적 생성된 서버 측 난수 값을 확인한다.
The code generator 340 dynamically generates a server-side random number using a designated code generation rule or a dynamically generated server-side random number through a designated code generation server 365.

본 발명의 제1 서버 난수 생성 방식에 따르면, 상기 코드 생성부(340) 또는 코드생성서버(365)는 지정된 난수 알고리즘(코드생성규칙)을 지정된 바이트의 난수 값을 생성하여 상기 서버 측 난수 값으로 결정할 수 있다.
According to the first server random number generation method of the present invention, the code generation unit 340 or the code generation server 365 generates a random number value of a specified byte in a specified random number algorithm (code generation rule) You can decide.

본 발명의 제2 서버 난수 생성 방식에 따르면, 상기 코드 생성부(340) 또는 코드생성서버(365)는 상기 복호화된 데이터(c)로부터 확인된 동적 값을 지정된 코드생성규칙(예컨대, 지정된 자릿수의 코드 생성을 위한 해시 알고리즘과 상기 서버 측에 구비된 적어도 하나의 씨드를 이용(생략 가능)하는 규칙 등)의 씨드로 이용하여 서버 측 난수 값을 동적 생성할 수 있다.
According to the second server random number generation method of the present invention, the code generation unit 340 or the code generation server 365 generates the dynamic value identified from the decrypted data c by a specified code generation rule (for example, A server side random number value can be dynamically generated by using a seed of a hash algorithm for code generation and a rule (optional) using at least one seed provided on the server side.

본 발명의 제3 서버 난수 생성 방식에 따르면, 상기 코드 생성부(340) 또는 코드생성서버(365)는 상기 복호화된 데이터(c)로부터 확인된 카드 측 난수 값을 지정된 코드생성규칙의 씨드로 이용하여 서버 측 난수 값을 동적 생성할 수 있다.
According to the third server random number generation method of the present invention, the code generation unit 340 or the code generation server 365 uses the card side random number value confirmed from the decrypted data (c) as a seed of the designated code generation rule So that the server side random number value can be dynamically generated.

본 발명의 제4 서버 난수 생성 방식에 따르면, 상기 코드 생성부(340) 또는 코드생성서버(365)는 상기 복호화된 데이터(c)로부터 확인된 키 값(1)을 지정된 코드생성규칙의 씨드로 이용하여 서버 측 난수 값을 동적 생성할 수 있다.
According to the fourth server random number generation method of the present invention, the code generation unit 340 or the code generation server 365 generates a key value (1) identified from the decrypted data (c) The server side random number value can be dynamically generated.

본 발명의 제5 서버 난수 생성 방식에 따르면, 상기 코드 생성부(340) 또는 코드생성서버(365)는 상기 서버 측의 타이머를 통해 서버 측 시간 값을 획득하고, 상기 획득된 서버 측 시간 값을 지정된 코드생성규칙의 씨드로 이용하여 서버 측 난수 값을 동적 생성할 수 있다.
According to the fifth server random number generation method of the present invention, the code generation unit 340 or the code generation server 365 acquires the server-side time value through the timer on the server side, You can dynamically generate server-side random numbers by seeding the specified code generation rules.

본 발명의 제6 서버 난수 생성 방식에 따르면, 상기 코드 생성부(340) 또는 코드생성서버(365)는 상기 제1 내지 제5 서버 난수 생성 방식 중 적어도 하나 또는 둘 이상의 방식을 조합하여 씨드를 결정한 후, 상기 결정된 씨드를 지정된 코드생성규칙에 적용하여 서버 측 난수 값을 동적 생성할 수 있다.
According to the sixth server random number generation method of the present invention, the code generation unit 340 or the code generation server 365 determines seeds by combining at least one of the first to fifth server random number generation methods, Then, the determined seed is applied to the designated code generation rule to dynamically generate the server-side random number value.

본 발명의 실시 방법에 따르면, 상기 시간 등록부(330)는 상기 서버 측 난수 값이 생성된 시간을 확인하고, 상기 확인된 시간을 상기 타임스탬프 중의 하나로서 지정된 저장매체에 저장할 수 있다.
According to the embodiment of the present invention, the time registering unit 330 can confirm the time at which the server-side random number value is generated, and store the confirmed time in the storage medium designated as one of the time stamps.

상기 코드 생성부(340)를 통해 서버 측 난수 값이 확인되면, 상기 암호 처리부(345)는 상기 서버 측 난수 값을 동적 값으로 포함하는 데이터(s)를 구성하고, 상기 카드(100)의 칩(105)에 구비된 복호모듈(120)을 통해 복호화 가능하게 상기 데이터(s)를 암호화하여 암호데이터(s)를 생성한다.
When the server side random number value is confirmed through the code generation unit 340, the encryption processing unit 345 constructs data (s) including the server side random number value as a dynamic value, (S) so as to be decryptable through the decryption module 120 provided in the decryption module 105 to generate encrypted data (s).

본 발명의 서버 측 확장 암호 방식에 따르면, 상기 데이터(s)는 상기 복호화된 데이터(c)로부터 확인된 정보를 이용하여 생성된 MAC을 더 포함하거나, 또는 상기 생성된 MAC과 상기 키 값(1)을 더 포함할 수 있다.
According to the server-side extended cryptosystem of the present invention, the data (s) further includes a MAC generated using the information identified from the decrypted data (c), or the generated MAC and the key value 1 ). &Lt; / RTI &gt;

상기 데이터(s)에 MAC이 포함된 경우, 상기 암호 처리부(345)는 상기 복호화된 데이터(c)로부터 확인된 카드 측 난수 값과 키 값(1)을 지정 암호 방식(예컨대, 상기 카드(100)의 칩(105)에 구비된 암호모듈(115)의 암호 알고리즘과 매칭되는 암호 알고리즘)으로 암호화하여 키 값(2)를 생성한다. 바람직하게, 상기 키 값(2)는 MAC을 생성하기 위한 임시 키이다. 상기 키 값(2)가 생성되면, 상기 암호 처리부(345)는 상기 코드 생성부(340)를 통해 확인된 서버 측 난수 값과 상기 생성된 키 값(2)를 지정 암호 방식으로 암호화하여 키 값(3)를 생성한다. 바람직하게, 상기 키 값(3)은 세션 키이다. 상기 키 값(3)이 생성되면, 상기 암호 처리부(345)는 상기 카드 측 난수 값과 키 값(3)를 지정 암호 방식으로 암호화하여 MAC을 생성한다. 본 발명의 실시 방법에 따르면, 상기 시간 등록부(330)는 상기 MAC이 생성된 시간을 확인하고, 상기 확인된 시간을 상기 타임스탬프 중의 하나로서 지정된 저장매체에 저장할 수 있다. 한편 본 발명의 MAC 생성 방식이 상기의 기재로만 한정되는 것은 아니며, 당업자에 의해 MAC 생성 방식은 변형 가능하고, 본 발명은 상기 변형되는 모든 실시 방법을 포함함을 명백하게 밝혀두는 바이다.
When the data s includes a MAC, the encryption processing unit 345 transmits the card side random number value and the key value 1 identified from the decrypted data c to a designated encryption method (for example, the card 100 ) With a cryptographic algorithm of the cryptographic module 115 provided in the chip 105 of the mobile terminal 100) to generate the key value 2. Preferably, the key value (2) is a temporary key for generating a MAC. When the key value (2) is generated, the encryption processing unit (345) encrypts the server side random number value confirmed through the code generation unit (340) and the generated key value (2) (3). Preferably, the key value (3) is a session key. When the key value (3) is generated, the encryption processing unit (345) generates the MAC by encrypting the card side random number value and the key value (3) using a designated encryption method. According to the embodiment of the present invention, the time registering unit 330 can check the time at which the MAC was generated, and store the confirmed time in the storage medium designated as one of the time stamps. Meanwhile, the MAC generation method of the present invention is not limited to the above description, and it is clear that the MAC generation method can be modified by those skilled in the art, and that the present invention includes all of the modified methods.

상기 데이터 전송부(350)는 상기 단말기(200)로 상기 생성된 암호데이터(s)를 전송하며, 상기 시간 등록부(330)는 상기 단말기(200)로 상기 암호데이터(s)가 전송된 시간을 확인하고, 상기 확인된 시간을 상기 타임스탬프 중의 하나로서 지정된 저장매체에 저장한다.
The data transferring unit 350 transmits the generated encrypted data s to the terminal 200 and the time registering unit 330 registers the time when the encrypted data s is transmitted to the terminal 200 And stores the confirmed time in the storage medium designated as one of the time stamps.

상기 단말기(200)는 근접 무선 통신을 통해 상기 암호데이터(s)를 카드(100)의 칩(105)으로 제공하고, 상기 카드(100)의 칩(105)은 상기 암호데이터(s)를 복호화고 지정된 인증 절차를 수행한 후에, 지정된 시점에 상기 제1 내지 제4 동적 씨드 결정 방식 중 적어도 하나의 방식에 따라 결정된 동적 씨드를 근거로, 상기 제1 내지 제3 일회용코드 생성 방식 중 적어도 하나의 방식에 따라 생성된 일회용코드를 확인하여 단말기(200)로 제공하며, 상기 단말기(200)는 상기 카드(100)의 칩(105)으로부터 제공된 일회용코드를 출력한다.
The terminal 200 provides the encrypted data s to the chip 105 of the card 100 through the proximity wireless communication and the chip 105 of the card 100 decrypts the encrypted data s At least one of the first to third disposable code generation schemes based on the dynamic seed determined according to at least one of the first to fourth dynamic seed determination schemes at a designated time after performing the specified authentication procedure And provides the generated disposable code to the terminal 200. The terminal 200 outputs the disposable code provided from the chip 105 of the card 100. [

상기 코드 인증 제어부(355)는 상기 데이터(s)에 포함된 서버 측 난수 값을 저장(또는 유지)함으로써, 상기 단말기(200)를 통해 출력된 일회용코드가 지정된 거래단말 또는 상기 단말기(200)로부터 상기 서버(300) 또는 지정된 인증서버로 수신되는 경우, 상기 저장(또는 유지)된 서버 측 난수 값을 기반으로 상기 수신된 일회용코드의 유효성이 인증되도록 제어한다. 만약 상기 서버 측 난수 값과 상기 일회용코드의 형태가 상이한 경우, 상기 코드 인증 제어부(355)는 상기 서버 측 난수 값을 상기 일회용코드의 형태로 변형하거나 또는 가공하는 규칙을 저장(또는 유지)하거나, 또는 상기 규칙에 따라 상기 서버 측 난수 값을 상기 일회용코드의 형태로 변형 또는 가공하여 저장(또는 유지)함으로써, 상기 일회용코드의 유효성이 인증되도록 제어할 수 있다. 상기 코드 인증 제어부(355)의 제어에 따라 상기 일회용코드의 유효성이 인증된 경우, 상기 시간 등록부(330)는 상기 일회용코드가 인증된 시간을 확인하고, 상기 확인된 시간을 상기 타임스탬프 중의 하나로서 지정된 저장매체에 저장한다.
The code authentication control unit 355 stores (or maintains) the server side random number value included in the data s so that the disposable code output from the terminal 200 is transmitted from the designated transaction terminal or the terminal 200 When the server 300 or the designated authentication server receives the received disposable code, the validity of the received disposable code is authenticated based on the stored server side random number value. If the server-side random number and the type of the one-time code are different, the code authentication control unit 355 stores (or maintains) a rule for transforming or processing the server-side random number in the form of the disposable code, Alternatively, the server side random number value may be modified, processed or stored (or maintained) in the form of the disposable code according to the rule, so that the validity of the disposable code is authenticated. When the validity of the one-time code is authenticated under the control of the code authentication control unit 355, the time registering unit 330 checks the time at which the one-time code is authenticated and sets the confirmed time as one of the time stamps And stores it in a designated storage medium.

이하, 상기 도면1에 도시된 카드(100)의 칩(105)과 본 도면3의 서버(300)가 상기 도면2에 도시된 단말기(200)를 경유하여 종단 간 인증을 수행하고, 상기 종단 간 인증의 결과로서 상기 카드(100)의 칩(105)에서 제공한 일회용코드를 상기 단말기(200)를 통해 출력하는 과정에 대한 바람직한 실시 방법을 설명하기로 한다. 다만 이하의 실시 방법은 편의상 상기 도면1, 도면2 및 본 도면3에 도시 설명된 각 실시 방법에 대한 바람직한 합집합의 형태로 설명하고, 단말기(200)가 카드(100)의 칩(105)으로 제공하는 동적 값이 단말기(200)에 의해 획득된 시간 값인 실시예를 이용하여 설명하기로 한다.
Hereinafter, the chip 105 of the card 100 shown in FIG. 1 and the server 300 of FIG. 3 perform end-to-end authentication via the terminal 200 shown in FIG. 2, A method of outputting the disposable code provided by the chip 105 of the card 100 through the terminal 200 as a result of the authentication will be described. However, the following embodiment will be described in the form of a preferable combination for each of the methods shown in FIGS. 1, 2 and 3 for convenience. The terminal 200 is provided as a chip 105 of the card 100 Which is a time value obtained by the terminal 200, will be described below.

도면4는 본 발명의 실시 방법에 따라 서버(300)가 카드(100)를 인증하는 종단간 인증 과정을 도시한 것이다.
FIG. 4 illustrates an end-to-end authentication process in which the server 300 authenticates the card 100 according to an embodiment of the present invention.

보다 상세하게 본 도면4는 카드(100)의 칩(105)에서 암호데이터(c)를 생성하여 단말기(200)를 통해 서버(300)로 전송하면, 서버(300)가 암호데이터(c)를 통해 카드(100)의 유효성을 인증하는 과정을 도시한 것으로서, 본 발명이 속한 기술분야에서 통상의 지식을 가진 자라면, 본 도면4를 참조 및/또는 변형하여 상기 종단간 인증 과정에 대한 다양한 실시 방법(예컨대, 일부 단계가 생략되거나, 또는 순서가 변경된 실시 방법)을 유추할 수 있을 것이나, 본 발명은 상기 유추되는 모든 실시 방법을 포함하여 이루어지며, 본 도면4에 도시된 실시 방법만으로 그 기술적 특징이 한정되지 아니한다.
More specifically, in FIG. 4, when the password data c is generated in the chip 105 of the card 100 and transmitted to the server 300 through the terminal 200, the server 300 transmits the password data c The present invention is not limited to the above-described exemplary embodiments, and various changes and modifications may be made without departing from the scope of the present invention. It is to be understood that the invention may be practiced otherwise than as specifically described herein, but it is to be understood and appreciated that the invention may be practiced otherwise than as specifically described herein, Features are not limited.

단말기(200)는 프로그램(215)을 다운로드하여 설치한 후 회원 가입/인증, 프로그램 인증, 단말 식별 값 등록 중 적어도 하나의 절차를 수행(생략 가능)하고, 근접 무선 통신을 통해 도면1의 카드(100)의 칩(105)이 인터페이스되는지 확인한다(400). 만약 근접 무선 통신을 통해 카드(100)의 칩(105)이 인터페이스되면, 상기 단말기(200)는 상기 카드(100)의 칩(105)으로 제공할 시간 값을 획득하고(405), 상기 근접 무선 통신을 통해 상기 카드(100)의 칩(105)으로 시간 값을 제공한다(410). 실시 방법에 따라 상기 시간 값을 제공하는 과정에서 PIN 인증이 수행될 수 있다.
The terminal 200 downloads and installs the program 215 and performs at least one of membership registration / authentication, program authentication and terminal identification value registration (optional) 100 is interfaced (400). If the chip 105 of the card 100 is interfaced through the proximity wireless communication, the terminal 200 acquires 405 the time value to be provided to the chip 105 of the card 100, And provides a time value to the chip 105 of the card 100 via communication (410). PIN authentication may be performed in the process of providing the time value according to the method.

상기 카드(100)의 칩(105)은 근접 무선 통신을 통해 상기 시간 값을 수신한다(415). 본 발명의 제1 동적 씨드 결정 방식에 따르면, 상기 카드(100)의 칩(105)은 상기 시간 값을 동적 씨드로 이용하여 지정된 코드 생성 알고리즘에 적용함으로써, 지정된 자릿수의 일회용코드를 동적 생성하여 저장(또는 유지)할 수 있다.
The chip 105 of the card 100 receives the time value via proximity wireless communication (415). According to the first dynamic seed determination method of the present invention, the chip 105 of the card 100 dynamically generates and stores a specified number of one-time codes by applying the time value as a dynamic seed to a designated code generation algorithm (Or maintain) the same.

상기 카드(100)의 칩(105)은 데이터(c)에 포함될 고유코드, 카드 측 난수 값, 키 값(1)을 확인한다 (420). 본 발명의 제2 동적 씨드 결정 방식에 따르면, 상기 카드(100)의 칩(105)은 상기 카드 측 난수 값을 동적 씨드로 이용하여 지정된 코드 생성 알고리즘에 적용함으로써, 지정된 자릿수의 일회용코드를 동적 생성하여 저장(또는 유지)할 수 있다.
The chip 105 of the card 100 checks the unique code, the card side random number value, and the key value (1) to be included in the data (c) (420). According to the second dynamic seed determination method of the present invention, the chip 105 of the card 100 uses the card side random number value as a dynamic seed to apply it to a designated code generation algorithm, thereby generating a specified number of one- (Or maintain) it.

상기 카드(100)의 칩(105)은 상기 고유코드, 시간 값, 카드 측 난수 값, 키 값(1)을 포함하는 데이터(c)를 지정된 서버(300)에서 복호화 가능하게 지정된 암호모듈(115)을 통해 암호화시켜 암호데이터(c)를 생성한다(425).
The chip 105 of the card 100 transmits the data c including the unique code, the time value, the card side random number value and the key value 1 to the cryptographic module 115 To generate encrypted data c (425).

만약 상기 암호데이터(c)기 생성되면, 상기 카드(100)의 칩(105)은 근접 무선 통신을 통해 단말기(200)로 상기 암호데이터(c)를 제공하고(430), 상기 단말기(200)는 근접 무선 통신을 통해 상기 암호데이터(c)를 수신한다(435).
If the cipher data c is generated, the chip 105 of the card 100 provides the cipher data c to the terminal 200 through proximity wireless communication 430, (C) through the proximity wireless communication (435).

상기 단말기(200)는 단말 인증을 위한 단말 식별 값을 확인하고(440), 지정된 서버(300)로 상기 암호데이터(c)와 단말 식별 값을 전송하며(445). 상기 서버(300)는 상기 단말기(200)로부터 상기 암호데이터(c)와 단말 식별 값을 수신한다(450).
The terminal 200 checks the terminal identification value for terminal authentication in operation 440 and transmits the cipher data c and the terminal identification value to the designated server 300 in operation 445. The server 300 receives the cipher data c and the terminal identification value from the terminal 200 (450).

상기 서버(300)는 상기 등록된 단말 식별 값을 이용하여 상기 수신된 단말 식별 값을 인증함으로써, 상기 암호데이터(c)를 전송한 단말기(200)의 유효성을 인증한다(455). 만약 상기 단말기(200)의 유효성이 인증되지 않으면, 상기 서버(300)는 상기 단말기(200)로 인증 오류를 제공하고(460), 상기 인증 오류가 제공된 시간을 저장하며(460), 상기 단말기(200)는 상기 서버(300)로부터 상기 인증 오류를 수신하여 출력한다(465).
The server 300 authenticates the validity of the terminal 200 that transmitted the cipher data c by authenticating the received terminal identification value using the registered terminal identification value (455). If the validity of the terminal 200 is not authenticated, the server 300 provides an authentication error to the terminal 200 (460), stores the time when the authentication error is provided (460) 200 receives the authentication error from the server 300 and outputs the authentication error (465).

만약 상기 단말기(200)의 유효성이 인증되면, 상기 서버(300)는 상기 단말기(200)가 인증된 시간을 저장하고(470), 상기 수신된 암호데이터(c)를 복호화 처리한다(470). 상기 서버(300)는 상기 암호데이터(c)가 복호화된 시간을 저장하고(475), 상기 복호화된 데이터(c)로부터 고유코드, 시간 값, 카드 측 난수 값, 키 값(1)을 확인한다(475).
If the validity of the terminal 200 is authenticated, the server 300 stores the authenticated time of the terminal 200 in step 470 and decrypts the received cipher data c in step 470. The server 300 stores the decrypted time of the cipher data c in step 475 and checks the unique code, the time value, the card side random number value, and the key value 1 from the decrypted data c (475).

상기 서버(300)는 상기 복호화된 데이터(c)로부터 확인된 시간 값을 저장하고(480), 기 등록된 고유코드를 통해 상기 복호화된 데이터(c)로부터 확인된 고유코드의 유효성을 인증함으로써, 상기 암호데이터(c)를 생성한 카드(100)의 유효성을 인증한다(485). 만약 상기 카드(100)의 유효성이 인증되지 않으면, 상기 서버(300)는 상기 단말기(200)로 인증 오류를 제공하고(460), 상기 인증 오류가 제공된 시간을 저장하며(460), 상기 단말기(200)는 상기 서버(300)로부터 상기 인증 오류를 수신하여 출력한다(465). 한편 상기 카드(100)의 유효성이 인증되면, 상기 서버(300)는 상기 카드(100)의 유효성이 인증된 시간을 저장한다(490).
The server 300 stores the confirmed time value from the decrypted data c and authenticates the validity of the unique code identified from the decrypted data c through the previously registered unique code, The validity of the card 100 that generated the encrypted data (c) is authenticated (485). If the validity of the card 100 is not authenticated, the server 300 provides the authentication error to the terminal 200 (460), stores the authentication error time (460) 200 receives the authentication error from the server 300 and outputs the authentication error (465). Meanwhile, when the validity of the card 100 is authenticated, the server 300 stores the validated time of the validity of the card 100 (490).

도면5는 본 발명의 실시 방법에 따라 카드(100)가 서버(300)를 인증하는 종단간 인증 과정을 도시한 것이다.
5 illustrates an end-to-end authentication process in which the card 100 authenticates the server 300 according to an embodiment of the present invention.

보다 상세하게 본 도면5는 서버(300)에서 암호데이터(s)를 생성하여 전송하면, 카드(100)의 칩(105)이 상기 단말기(200)를 통해 암호데이터(s)를 수신하여 서버(300)의 유효성을 인증하는 과정을 도시한 것으로서, 본 발명이 속한 기술분야에서 통상의 지식을 가진 자라면, 본 도면5를 참조 및/또는 변형하여 상기 종단간 인증 과정에 대한 다양한 실시 방법(예컨대, 일부 단계가 생략되거나, 또는 순서가 변경된 실시 방법)을 유추할 수 있을 것이나, 본 발명은 상기 유추되는 모든 실시 방법을 포함하여 이루어지며, 본 도면5에 도시된 실시 방법만으로 그 기술적 특징이 한정되지 아니한다.
5 shows a case where the chip 105 of the card 100 receives the password data s through the terminal 200 and transmits the password data s to the server 100 300 of the present invention. It will be understood by those skilled in the art that reference to and / or modification of FIG. 5 is applicable to various embodiments of the end-to- The present invention is not limited to the above embodiments, but may be applied to other embodiments of the present invention. For example, Or more.

상기 도면4에 도시된 과정을 통해 단말기(200) 및 카드(100)에 대한 유효성이 인증되면, 상기 서버(300)는 지정된 코드생성규칙을 이용하여 서버 측 난수 값을 동적 생성하거나, 또는 지정된 코드생성서버(365)를 통해 동적 생성된 서버 측 난수 값을 확인한다(500).
When the validity of the terminal 200 and the card 100 is authenticated through the process shown in FIG. 4, the server 300 dynamically generates a server-side random number value using a designated code generation rule, The server side random number value generated through the generation server 365 is checked (500).

상기 서버 측 난수 값이 확인되면, 상기 서버(300)는 상기 서버 측 난수 값이 생성된 시간을 저장하고(505), 상기 복호화된 데이터(c)로부터 확인된 카드 측 난수 값과 키 값(1)을 지정 암호 방식으로 암호화하여 키 값(2)를 생성하고(510), 상기 서버 측 난수 값과 상기 생성된 키 값(2)를 지정 암호 방식으로 암호화하여 키 값(3)를 생성하고(515), 상기 카드 측 난수 값과 키 값(3)를 지정 암호 방식으로 암호화하여 MAC을 생성하고(520), 상기 MAC이 생성된 시간을 저장한다(520).
When the server side random number value is confirmed, the server 300 stores the generated time of the server side random number value (505), and checks the card side random number value determined from the decrypted data (c) (510), encrypting the server-side random number value and the generated key value (2) with a designated encryption method to generate a key value (3) 515, and generates a MAC by encrypting the card-side random number and the key value (3) using a designated cipher method (520), and stores the generated time of the MAC (520).

상기 서버(300)는 상기 생성된 MAC과 상기 확인된 서버 측 난수 값 및 상기 키 값(1)을 포함하는 데이터(s)를 상기 카드(100)의 칩(105)에 구비된 복호모듈(120)을 통해 복호화 가능하게 암호화하여 암호데이터(s)를 생성한다(525).
The server 300 transmits data (s) including the generated MAC, the server-side random number value and the key value (1) to the decryption module 120 provided in the chip 105 of the card 100 ) To generate decrypted data s (525).

만약 상기 암호데이터(s)가 생성되면, 상기 서버(300)는 상기 단말기(200)로 상기 암호데이터(s)를 제공하고(530), 상기 암호데이터(s)가 생성/전송된 시간을 저장한다(530).
If the encrypted data s is generated, the server 300 provides the encrypted data s to the terminal 200 in step 530 and stores the generated / transmitted time in the encrypted data s (530).

상기 단말기(200)는 상기 서버(300)로부터 상기 암호데이터(s)를 수신하고(535), 근접 무선 통신을 통해 인터페이스된 카드(100)의 칩(105)으로 상기 암호데이터(s)를 제공한다(540). 실시 방법에 따라 상기 암호데이터(s)를 제공하는 과정에서 PIN 인증이 수행될 수 있다.
The terminal 200 receives the cipher data s from the server 300 and sends the cipher data s to the chip 105 of the card 100 interfaced via the near field wireless communication (540). PIN authentication can be performed in the process of providing the encrypted data (s) according to the method.

상기 카드(100)의 칩(105)은 근접 무선 통신을 통해 상기 암호데이터(s)를 수신하고(545), 지정된 복호모듈(120)을 통해 상기 암호데이터(s)를 복호화시키고(550), 상기 복호화된 데이터(s)에 포함된 MAC, 서버 측 난수 값 및 키 값(1)을 확인한다(555).
The chip 105 of the card 100 receives the encrypted data s through the near field wireless communication 545 and decrypts the encrypted data s through the designated decryption module 120, (555) the MAC, the server side random number value, and the key value (1) included in the decrypted data (s).

상기 카드(100)의 칩(105)은 상기 데이터(s)에 포함된 키 값(1)을 통해 복호화된 데이터(s)로부터 확인된 키 값(1)에 대한 유효성을 확인함으로써(555), 상기 서버 측 난수 값을 생성한 서버(300)의 유효성 또는 상기 서버(300)에 의해 생성된 서버 측 난수 값의 유효성을 인증한다. 만약 상기 키 값(1)에 대한 유효성이 인증되지 않으면, 상기 카드(100)의 칩(105)은 근접 무선 통신을 통해 상기 단말기(200)로 인증 오류를 제공하고(560), 상기 단말기(200)는 상기 근접 무선 통신을 통해 상기 인증 오류를 수신하여 출력한다(565).
The chip 105 of the card 100 checks 555 the validity of the identified key value 1 from the decrypted data s via the key value 1 included in the data s, The validity of the server 300 generating the server-side random number value or the validity of the server-side random number value generated by the server 300 is authenticated. If the validity of the key value 1 is not authenticated, the chip 105 of the card 100 provides an authentication error to the terminal 200 through proximity wireless communication 560, Receives the authentication error through the proximity wireless communication and outputs the authentication error (565).

만약 상기 키 값(1)의 유효성이 인증되면, 상기 카드(100)의 칩(105)은 지정된 암호모듈(115)을 통해 상기 카드 측 난수 값과 키 값(1)을 암호화시켜 키 값(2)를 생성하고(560), 상기 암호모듈(115)을 통해 서버 측 난수 값과 상기 생성된 키 값(2)를 암호화시켜 키 값(3)를 생성하고(565), 상기 암호모듈(115)을 통해 상기 카드 측 난수 값과 키 값(3)를 암호화시켜 MAC을 생성하고(570), 상기 생성된 MAC을 통해 상기 복호화된 데이터(s)로부터 확인된 MAC에 대한 유효성을 확인함으로써(575), 상기 서버 측 난수 값을 생성한 서버(300)의 유효성 또는 상기 서버(300)에 의해 생성된 서버 측 난수 값의 유효성을 인증한다. 만약 상기 MAC에 대한 유효성이 인증되지 않으면, 상기 카드(100)의 칩(105)은 근접 무선 통신을 통해 상기 단말기(200)로 인증 오류를 제공하고(560), 상기 단말기(200)는 상기 근접 무선 통신을 통해 상기 인증 오류를 수신하여 출력한다(565).
If the validity of the key value (1) is authenticated, the chip (105) of the card (100) encrypts the card side random number value and the key value (1) through the designated cryptographic module Generates a key value 3 by encrypting the server side random number value and the generated key value 2 through the cryptographic module 115 in operation 565 and transmits the generated key value 2 to the cryptographic module 115. [ (570) by encrypting the card-side random number and the key value (3) via the generated MAC (575), and verifying the validity of the MAC identified from the decrypted data (s) through the generated MAC (575) , The validity of the server 300 that generated the server-side random number value or the validity of the server-side random number value generated by the server 300 is authenticated. If the validity of the MAC is not authenticated, the chip 105 of the card 100 provides an authentication error to the terminal 200 through proximity wireless communication 560, And receives and outputs the authentication error through wireless communication (565).

도면6은 본 발명의 실시 방법에 따라 일회용코드를 제공하는 과정을 도시한 것이다.
FIG. 6 illustrates a process of providing a disposable code according to an embodiment of the present invention.

보다 상세하게 본 도면6은 상기 도면4 내지 도면5에 도시된 과정을 통해 카드(100)와 서버(300) 사이의 종단간 인증을 처리하는 과정 중 또는 후에, 상기 카드(100)의 칩(105)에서 동적 생성한 일회용코드를 제공하면, 단말기(200)가 상기 일회용코드를 수신하여 출력하는 과정을 도시한 것으로서, 본 발명이 속한 기술분야에서 통상의 지식을 가진 자라면, 본 도면6을 참조 및/또는 변형하여 상기 일회용코드 제공 과정에 대한 다양한 실시 방법(예컨대, 일부 단계가 생략되거나, 또는 순서가 변경된 실시 방법)을 유추할 수 있을 것이나, 본 발명은 상기 유추되는 모든 실시 방법을 포함하여 이루어지며, 본 도면6에 도시된 실시 방법만으로 그 기술적 특징이 한정되지 아니한다.
6 is a flowchart illustrating an operation of the chip 100 of the card 100 during or after the process of processing end-to-end authentication between the card 100 and the server 300 through the process shown in FIGS. The terminal 200 receives the disposable code and outputs the disposable code. If the disposable code is dynamically generated in the terminal 200, the terminal 200 may receive the disposable code and output the disposable code. (E.g., omitting some steps or changing the order) of the disposable code providing process, the present invention may include all the above-mentioned methods of inferring And the technical features thereof are not limited only by the method shown in FIG.

상기 도면4에 도시된 과정을 통해 서버(300)가 카드(100)를 인증하는 과정을 수행하거나, 상기 도면5에 도시된 과정을 통해 카드(100)가 서버(300)를 인증하는 과정이 수행하는 중 또는 후의 어느 지정된 시점에, 상기 카드(100)의 칩(105)은 본 발명의 제1 내지 제4 동적 씨드 결정 방식 중 적어도 하나의 방식에 따라 동적 씨드를 결정하고(600), 본 발명의 제1 내지 제3 일회용코드 생성 방식 중 적어도 하나의 방식에 따라 일회용코드를 동적 생성한다(605).
The server 300 authenticates the card 100 through the process shown in FIG. 4 or the card 100 authenticates the server 300 through the process shown in FIG. 5 The chip 105 of the card 100 determines (600) the dynamic seed according to at least one of the first through fourth dynamic seed determination methods of the present invention, The one-time code is dynamically generated according to at least one of the first to third disposable code generation methods (605).

만약 상기 도면5에 도시된 과정을 통해 데이터(s)의 유효성이 인증되면, 상기 카드(100)의 칩(105)은 상기 제1 내지 제4 동적 씨드 결정 방식 중 적어도 하나의 방식에 따라 결정된 동적 씨드를 근거로, 상기 제1 내지 제3 일회용코드 생성 방식 중 적어도 하나의 방식에 따라 생성된 일회용코드를 확인하고(610), 상기 확인된 일회용코드를 상기 인터페이스된 단말기(200)로 제공한다(615). 상기 단말기(200)는 근접 무선 통신을 통해 상기 일회용코드를 수신하고(620), 상기 수신된 일회용코드를 출력한다(625).
If the validity of the data (s) is authenticated through the process shown in FIG. 5, the chip 105 of the card 100 determines the dynamic (dynamic) determined according to at least one of the first to fourth dynamic seed determination schemes Based on the seed, the method checks the generated one-time code according to at least one of the first to third one-off code generation methods (610), and provides the identified one-time code to the interfaced terminal 200 615). The terminal 200 receives the disposable code through proximity wireless communication (620) and outputs the received disposable code (625).

100 : 카드 115 : 칩
115 : 암호모듈 120 : 복호모듈
125 : 정보 수신부 130 : 암호 처리부
135 : 데이터 전송부 140 : 데이터 수신부
145 : 인증 처리부 150 : 복호 처리부
155 : 코드 생성부 160 : 코드 제공부
165 : 무선 통신부 170 : 메모리부
200 : 단말기 300 : 서버
100: card 115: chip
115: Cryptographic module 120: Decryption module
125: information receiving unit 130:
135: Data transmission unit 140: Data reception unit
145: authentication processing unit 150: decryption processing unit
155: code generation unit 160:
165: wireless communication unit 170: memory unit
200: terminal 300: server

Claims (21)

NFC(Near Field Communication)를 통해 단말기와 인터페이스되는 카드의 칩에서 실행되는 카드와 서버 사이의 종단간 인증을 이용한 일회용코드 제공 방법에 있어서,
인터페이스된 단말기로부터 지정된 동적 값을 수신하는 제1 단계;
적어도 하나의 동적 값을 포함하는 데이터(c)를 암호화시킨 암호데이터(c)를 생성하는 제2 단계;
상기 생성된 암호데이터(c)를 상기 인터페이스된 단말기로 제공하는 제3 단계-암호데이터(c)는 단말기를 통해 서버로 전송됨-;
상기 서버에 의해 생성된 동적 값을 포함하는 데이터(s)를 암호화한 암호데이터(s)를 상기 인터페이스된 단말기를 통해 수신하는 제4 단계;
지정된 복호모듈을 통해 상기 암호데이터(s)를 복호화시키는 제5 단계;
상기 복호화된 데이터(s)의 유효성을 인증하는 제6 단계;
하나 이상의 동적 값을 씨드로 이용하여 동적 생성된 일회용코드를 확인하는 제7 단계; 및
상기 확인된 일회용코드를 상기 인터페이스된 단말기로 제공하는 제8 단계;를 포함하는 카드와 서버 사이의 종단간 인증을 이용한 일회용코드 제공 방법.
1. A method for providing a one-time code using end-to-end authentication between a card and a server, the method being implemented in a chip of a card interfaced with a terminal via Near Field Communication (NFC)
A first step of receiving a designated dynamic value from an interfaced terminal;
A second step of generating encrypted data (c) obtained by encrypting data (c) including at least one dynamic value;
(C) providing the generated encrypted data (c) to the interfaced terminal; (c) transmitting encrypted data (c) to the server through the terminal;
A fourth step of receiving encrypted data (s) obtained by encrypting data (s) including the dynamic value generated by the server through the interface terminal;
A fifth step of decrypting the encrypted data (s) through a designated decryption module;
A sixth step of authenticating the validity of the decrypted data (s);
A seventh step of identifying a dynamically generated one-time code using one or more dynamic values as a seed; And
And providing the verified disposable code to the interfaced terminal. The method of claim 1, further comprising:
제 1항에 있어서, 상기 데이터(c)는,
상기 단말기로부터 수신된 동적 값, 상기 카드의 칩에서 생성한 카드 측 난수 값에 대응하는 동적 값 중 적어도 하나의 동적 값을 포함하여 이루어지는 것을 특징으로 하는 카드와 서버 사이의 종단간 인증을 이용한 일회용코드 제공 방법.
2. The method according to claim 1, wherein the data (c)
A dynamic value received from the terminal, and a dynamic value corresponding to a card-side random number generated by the chip of the card. The method of claim 1, Delivery method.
제 1항에 있어서, 상기 데이터(c)는,
지정된 고유코드를 더 포함하여 이루어지는 것을 특징으로 하는 카드와 서버 사이의 종단간 인증을 이용한 일회용코드 제공 방법.
2. The method according to claim 1, wherein the data (c)
And further comprising a specified unique code. The method of claim 1, further comprising:
제 1항에 있어서, 상기 데이터(c)는,
지정된 키 값(1)을 더 포함하여 이루어지는 것을 특징으로 하는 카드와 서버 사이의 종단간 인증을 이용한 일회용코드 제공 방법.
2. The method according to claim 1, wherein the data (c)
And a key value (1) specified by the key value (1).
제 1항에 있어서, 상기 암호데이터(c)는,
상기 단말기를 통해 지정된 서버로 전송되어 복호화되는 것을 특징으로 하는 카드와 서버 사이의 종단간 인증을 이용한 일회용코드 제공 방법.
2. The method according to claim 1, wherein the encrypted data (c)
And transmitting the decrypted code to the designated server through the terminal and decrypting the decrypted code using the end-to-end authentication between the card and the server.
제 1항에 있어서,
상기 일회용코드를 상기 인터페이스된 단말기로 제공하기 위해 지정된 인증 절차를 처리하는 단계를 더 포함하여 이루어지는 것을 특징으로 하는 카드와 서버 사이의 종단간 인증을 이용한 일회용코드 제공 방법.
The method according to claim 1,
And processing the specified authentication procedure to provide the disposable code to the interfaced terminal. &Lt; Desc / Clms Page number 20 &gt;
제 1항에 있어서,
상기 데이터(s)는, 상기 데이터(c)에 포함된 키 값(1)을 더 포함하고,
상기 제6 단계는, 상기 데이터(c)에 포함된 키 값(1)과 상기 복호화된 데이터(s)에 포함된 키 값(1)을 비교하여 인증하는 단계를 포함하여 이루어지는 것을 특징으로 하는 카드와 서버 사이의 종단간 인증을 이용한 일회용코드 제공 방법.
The method according to claim 1,
Wherein the data (s) further comprises a key value (1) contained in the data (c)
Wherein the sixth step comprises a step of comparing and authenticating a key value (1) included in the data (c) with a key value (1) included in the decrypted data (s) A method of providing a one - time code using end - to - end authentication between a server and a server.
제 1항에 있어서,
상기 데이터(s)는, 상기 서버를 통해 생성된 MAC(Message Authentication Code)을 더 포함하고,
상기 제6 단계는,
상기 카드 측 난수 값과 키 값(1)을 지정된 암호 방식으로 암호화하여 키 값(2)를 생성하는 제6-1 단계;
상기 난수코드와 키 값(2)를 지정된 암호 방식으로 암호화하여 키 값(3)를 생성하는 제6-2 단계;
상기 카드 측 난수 값과 키 값(3)를 지정된 암호 방식으로 암호화하여 MAC을 생성하는 제6-3 단계; 및
상기 생성된 MAC을 이용하여 복호화된 데이터(s)로부터 확인되는 MAC을 인증하는 제6-4 단계;를 포함하여 이루어지는 것을 특징으로 하는 카드와 서버 사이의 종단간 인증을 이용한 일회용코드 제공 방법.
The method according to claim 1,
The data (s) further includes a MAC (Message Authentication Code) generated through the server,
In the sixth step,
A step 6-1) of encrypting the card-side random number and the key value (1) with a specified encryption method to generate a key value (2);
(6-2) encrypting the random number code and the key value (2) with a designated encryption method to generate a key value (3);
A sixth step of encrypting the card-side random number and the key value (3) using a designated cipher system to generate a MAC; And
And authenticating the MAC identified from the decrypted data (s) using the generated MAC. The method for providing a disposable code using end-to-end authentication between a card and a server.
제 1항에 있어서,
상기 단말기로부터 수신된 동적 값을 동적 씨드로 이용하여 지정된 자릿수의 일회용코드를 동적 생성하는 단계를 더 포함하며,
상기 제7 단계는,
상기 단말기로부터 수신된 동적 값을 동적 씨드로 이용하여 동적 생성된 N(N≥2)자릿수의 일회용코드를 확인하거나, 또는
상기 단말기로부터 수신된 동적 값을 동적 씨드로 이용하여 동적 생성된 n(1≤n<N)자릿수의 코드와 (N-n)자릿수의 동적 코드를 조합한 N자릿수의 일회용코드를 확인하는 것을 특징으로 하는 카드와 서버 사이의 종단간 인증을 이용한 일회용코드 제공 방법.
The method according to claim 1,
Further comprising dynamically generating a specified number of one-time codes using the dynamic value received from the terminal as a dynamic seed,
In the seventh step,
Checking the dynamically generated N (N &gt; = 2) number of one-time codes using the dynamic value received from the terminal as a dynamic seed, or
And verifying N-digit one-time codes obtained by combining dynamically generated codes of n (1? N <N) digits and dynamic codes of (Nn) digits using the dynamic value received from the terminal as a dynamic seed Disposable code provisioning method using end - to - end authentication between card and server.
제 1항에 있어서,
상기 카드의 칩에서 생성한 카드 측 난수 값을 동적 씨드로 이용하여 지정된 자릿수의 일회용코드를 동적 생성하는 단계를 더 포함하며,
상기 제7 단계는,
상기 카드 측 난수 값을 동적 씨드로 이용하여 동적 생성된 N(N≥2)자릿수의 일회용코드를 확인하거나, 또는
상기 카드 측 난수 값을 동적 씨드로 이용하여 동적 생성된 n(1≤n<N)자릿수의 코드와 (N-n)자릿수의 동적 코드를 조합한 N자릿수의 일회용코드를 확인하는 것을 특징으로 하는 카드와 서버 사이의 종단간 인증을 이용한 일회용코드 제공 방법.
The method according to claim 1,
Further comprising dynamically generating a specified number of one-time codes using a card-side random number value generated by a chip of the card as a dynamic seed,
In the seventh step,
Checking the dynamically generated N (N &gt; = 2) number of one-time codes using the card side random number value as a dynamic seed, or
(1 &lt; n &lt; N) digits and a dynamic code of (Nn) digits are dynamically generated using the card side random number as a dynamic seed. A method of providing a one - time code using end - to - end authentication between servers.
제 1항에 있어서,
상기 서버에 의해 생성된 서버 측 난수 값을 동적 씨드로 이용하여 지정된 자릿수의 일회용코드를 동적 생성하는 단계를 더 포함하며,
상기 제7 단계는,
상기 서버 측 난수 값을 동적 씨드로 이용하여 동적 생성된 N(N≥2)자릿수의 일회용코드를 확인하거나, 또는
상기 서버 측 난수 값을 동적 씨드로 이용하여 동적 생성된 n(1≤n<N)자릿수의 코드와 (N-n)자릿수의 동적 코드를 조합한 N자릿수의 일회용코드를 확인하는 것을 특징으로 하는 카드와 서버 사이의 종단간 인증을 이용한 일회용코드 제공 방법.
The method according to claim 1,
Further comprising dynamically generating a specified number of one-time codes using the server-side random number value generated by the server as a dynamic seed,
In the seventh step,
Checking the dynamically generated N (N? 2) number of one-time codes using the server-side random number value as a dynamic seed, or
Numbered one-time code obtained by combining dynamically generated codes of n (1? N <N) digits and dynamic codes of (Nn) digits using the server side random number as a dynamic seed. A method of providing a one - time code using end - to - end authentication between servers.
제 1항에 있어서,
상기 단말기로부터 수신된 동적 값, 상기 카드의 칩에서 생성한 카드 측 난수 값, 상기 서버에 의해 생성된 서버 측 난수 값 중 둘 이상의 동적 값을 동적 씨드로 이용하여 지정된 자릿수의 일회용코드를 동적 생성하는 단계를 더 포함하며,
상기 제7 단계는,
상기 둘 이상의 동적 값을 동적 씨드로 이용하여 동적 생성된 N(N≥2)자릿수의 일회용코드를 확인하거나, 또는
상기 둘 이상의 동적 값을 동적 씨드로 이용하여 동적 생성된 n(1≤n<N)자릿수의 코드와 (N-n)자릿수의 동적 코드를 조합한 N자릿수의 일회용코드를 확인하는 것을 특징으로 하는 카드와 서버 사이의 종단간 인증을 이용한 일회용코드 제공 방법.
The method according to claim 1,
A dynamic number generated from the card, a card-side random number generated by a chip of the card, and a dynamic value of at least two of server-side random number values generated by the server, as a dynamic seed, to generate a specified number of one- Further comprising:
In the seventh step,
Checking the dynamically generated N (N? 2) number of one-time codes using the two or more dynamic values as dynamic seeds, or
Characterized in that an N-digit number of one-time codes obtained by combining dynamically generated codes of n (1? N < N) digits and dynamic codes of (Nn) digits dynamically generated using the two or more dynamic values as the dynamic seeds is identified. A method of providing a one - time code using end - to - end authentication between servers.
제 9항 내지 제 12항 중 어느 한 항에 있어서, 상기 (N-n)자릿수의 동적 코드는,
상기 n자릿수의 코드를 생성하는데 이용된 동적 씨드 이외에 다른 동적 씨드를 이용하여 동적 생성된 코드,
상기 n자릿수의 코드를 생성한 동적 씨드 이외에 다른 동적 씨드에 대응하는 코드 중, 적어도 하나의 코드를 포함하여 이루어지는 것을 특징으로 하는 카드와 서버 사이의 종단간 인증을 이용한 일회용코드 제공 방법.
13. The method according to any one of claims 9 to 12, wherein the (Nn)
A code generated dynamically using another dynamic seed in addition to the dynamic seed used to generate the n-digit code,
And at least one code among codes corresponding to other dynamic seeds other than the dynamic seed generated by generating the n-digit code.
제 1항에 있어서, 상기 제8 단계는,
상기 복호화된 데이터(s)의 유효성이 인증된 경우에 상기 확인된 일회용코드를 상기 단말기로 제공하는 것을 특징으로 하는 카드와 서버 사이의 종단간 인증을 이용한 일회용코드 제공 방법.
The method as claimed in claim 1,
And providing the verified disposable code to the terminal when the validity of the decrypted data (s) is authenticated.
NFC(Near Field Communication)를 통해 카드의 칩과 인터페이스된 단말기와 통신하는 서버를 통해 실행되는 카드와 서버 사이의 종단간 인증을 이용한 일회용코드 제공 방법에 있어서,
상기 카드의 칩에서 확인된 적어도 하나의 동적 값을 포함하는 데이터(c)를 상기 칩의 암호모듈을 통해 암호화한 암호데이터(c)를 수신하는 제1 단계;
지정 복호 방식을 통해 상기 수신된 암호데이터(c)를 복호화하는 제2 단계;
상기 복호화된 데이터(c)의 유효성을 인증하는 제3 단계;
상기 서버에 의해 생성된 적어도 하나의 동적 값을 확인하는 제4 단계;
상기 확인된 동적 값을 포함하는 데이터(s)를 상기 카드의 칩에 구비된 복호모듈을 통해 복호화 가능하게 암호화하여 암호데이터(s)를 생성하는 제5 단계; 및
상기 단말기로 상기 생성된 암호데이터(s)를 전송하는 제6 단계;를 포함하며,
상기 암호데이터(s)는, 상기 NFC를 통해 상기 단말기로부터 상기 카드의 칩으로 제공되어 상기 칩의 복호모듈을 통해 복호화되고,
상기 카드의 칩에서 상기 복호화된 데이터(s)의 유효성이 인증된 경우에 하나 이상의 동적 값을 통해 동적 생성된 일회용코드가 상기 NFC를 통해 상기 단말기로 제공되는 것을 특징으로 하는 카드와 서버 사이의 종단간 인증을 이용한 일회용코드 제공 방법.
A method for providing a disposable code using end-to-end authentication between a card and a server, which is executed through a server communicating with a terminal interfaced with a chip of a card through Near Field Communication (NFC)
A first step of receiving encrypted data (c) obtained by encrypting data (c) including at least one dynamic value identified in a chip of the card through a cryptographic module of the chip;
A second step of decrypting the received encrypted data (c) through a designated decryption method;
A third step of authenticating the validity of the decrypted data (c);
A fourth step of checking at least one dynamic value generated by the server;
A fifth step of encrypting data (s) including the identified dynamic value so as to be decryptable through a decryption module provided in a chip of the card to generate encrypted data (s); And
And transmitting the generated encrypted data (s) to the terminal,
The encrypted data (s) is provided from the terminal to the chip of the card through the NFC, decrypted through the decryption module of the chip,
Characterized in that when the validity of the decrypted data (s) in the chip of the card is authenticated, a one-off code dynamically generated via one or more dynamic values is provided to the terminal via the NFC. Disposable code providing method using authentication.
제 15항에 있어서, 상기 데이터(c)는,
상기 단말기로부터 수신된 동적 값, 상기 카드의 칩에서 생성한 카드 측 난수 값에 대응하는 동적 값 중 적어도 하나의 동적 값을 포함하여 이루어지는 것을 특징으로 하는 카드와 서버 사이의 종단간 인증을 이용한 일회용코드 제공 방법.
16. The method of claim 15, wherein the data (c)
A dynamic value received from the terminal, and a dynamic value corresponding to a card-side random number generated by the chip of the card. The method of claim 1, Delivery method.
제 15항에 있어서, 상기 데이터(c)는,
지정된 고유코드를 더 포함하여 이루어지는 것을 특징으로 하는 카드와 서버 사이의 종단간 인증을 이용한 일회용코드 제공 방법.
16. The method of claim 15, wherein the data (c)
And further comprising a specified unique code. The method of claim 1, further comprising:
제 15항에 있어서, 상기 데이터(c)는,
지정된 키 값(1)을 더 포함하여 이루어지는 것을 특징으로 하는 카드와 서버 사이의 종단간 인증을 이용한 일회용코드 제공 방법.
16. The method of claim 15, wherein the data (c)
And a key value (1) specified by the key value (1).
제 15항에 있어서,
상기 카드의 칩에 지정된 고유코드를 저장매체에 저장하는 단계를 더 포함하며,
상기 제2 단계는,
상기 복호화된 데이터(c)로부터 고유코드를 확인하는 단계; 및
상기 확인된 고유코드와 상기 저장된 고유코드를 비교하여 상기 카드를 인증하는 단계;를 더 포함하여 이루어지는 것을 특징으로 하는 카드와 서버 사이의 종단간 인증을 이용한 일회용코드 제공 방법.
16. The method of claim 15,
Further comprising the step of storing a unique code assigned to a chip of the card in a storage medium,
The second step comprises:
Identifying a unique code from the decoded data (c); And
And authenticating the card by comparing the identified unique code with the stored unique code. The method of claim 1, further comprising:
제 15항에 있어서,
상기 서버에 의해 생성된 적어도 하나의 동적 값은, 상기 서버에 의해 생성된 서버 측 난수 값을 포함하고,
상기 제4 단계는,
상기 복호화된 데이터(c)로부터 확인된 카드 측 난수 값과 키 값(1)을 지정 암호 방식으로 암호화하여 키 값(2)를 생성하는 제4-1 단계;
상기 서버 측 난수 값과 키 값(2)를 지정 암호 방식으로 암호화하여 키 값(3)를 생성하는 제4-2 단계; 및
상기 카드 측 난수 값과 키 값(3)를 지정 암호 방식으로 암호화하여 MAC(Message Authentication Code)을 생성하는 제4-3 단계;를 포함하며,
상기 제5 단계는, 상기 MAC과 서버 측 난수 값과 키 값(1)을 암호화하는 것을 특징으로 하는 카드와 서버 사이의 종단간 인증을 이용한 일회용코드 제공 방법
16. The method of claim 15,
Wherein the at least one dynamic value generated by the server includes a server-side random number value generated by the server,
In the fourth step,
A fourth step of encrypting the card-side random number value and the key value (1) identified from the decrypted data (c) by a designated encryption method to generate a key value (2);
(4-2) encrypting the server-side random number and the key value (2) with a designated encryption method to generate a key value (3); And
And a fourth step of encrypting the card-side random number and the key value (3) using a designated encryption method to generate a MAC (Message Authentication Code)
Wherein the fifth step encrypts the MAC, the server-side random number, and the key value (1).
제 20항에 있어서, 상기 지정 암호 방식은,
상기 칩의 암호모듈의 암호 방식과 매칭되는 암호 방식을 포함하는 것을 특징으로 하는 카드와 서버 사이의 종단간 인증을 이용한 일회용코드 제공 방법.
21. The method of claim 20,
And a cipher system for matching the cipher system of the cipher module with the cipher system of the cipher module.
KR1020130071920A 2013-06-21 2013-06-21 Method for Providing One Time Code by using End-To-End Authentication between Card and Server KR20150000081A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130071920A KR20150000081A (en) 2013-06-21 2013-06-21 Method for Providing One Time Code by using End-To-End Authentication between Card and Server

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130071920A KR20150000081A (en) 2013-06-21 2013-06-21 Method for Providing One Time Code by using End-To-End Authentication between Card and Server

Publications (1)

Publication Number Publication Date
KR20150000081A true KR20150000081A (en) 2015-01-02

Family

ID=52474280

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130071920A KR20150000081A (en) 2013-06-21 2013-06-21 Method for Providing One Time Code by using End-To-End Authentication between Card and Server

Country Status (1)

Country Link
KR (1) KR20150000081A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160100192A (en) * 2015-02-13 2016-08-23 (주)엠앤스마트 System for digital authentication using pairing between universal RF tag and smart phone
KR101675945B1 (en) * 2015-07-17 2016-11-15 코나아이 (주) Smart card and method for user authentication based on the smart card

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160100192A (en) * 2015-02-13 2016-08-23 (주)엠앤스마트 System for digital authentication using pairing between universal RF tag and smart phone
KR101675945B1 (en) * 2015-07-17 2016-11-15 코나아이 (주) Smart card and method for user authentication based on the smart card

Similar Documents

Publication Publication Date Title
KR20130018061A (en) Method and system for operating one time code by using connectionless network seed
KR20150004955A (en) Method for Providing Authentication Code by using End-To-End Authentication between USIM and Server
KR20150000081A (en) Method for Providing One Time Code by using End-To-End Authentication between Card and Server
KR102193696B1 (en) Method for Providing Safety Login based on One Time Code by using User’s Card
KR102172855B1 (en) Method for Providing Server Type One Time Code for Medium Separation by using User’s Handheld type Medium
KR20150004954A (en) Method for Providing One Time Code by using End-To-End Authentication between SD Memory and Server
KR20190047557A (en) Earphone Device for Providing OTP by using Asynchronous Local Area Radio Communication
KR20150101016A (en) Method for Controlling Transaction Means by using End-To-End Mutual Authentication based on Near Field Communication
KR101972492B1 (en) Method for Operating Multiple One Time Password based on SD Memory
KR102276916B1 (en) Method for Authenticating Non-Faced Transaction by using Near Field Communication Card for Generating One Time Password
KR101777044B1 (en) Card for Generating One Time Password based on Asynchronous Local Area Radio Communication
KR20150065995A (en) Method for providing multi-channel authentication based on one time code by using user&#39;s card
KR101505735B1 (en) Method for Authenticating Near Field Communication Card by using Time Verification
KR20150000080A (en) Method for Providing Authentication Code by using End-To-End Authentication between Card and Server
KR101846646B1 (en) Method for Providing Security Communication based on Asynchronous Local Area Radio Communication
KR20150004956A (en) Method for Providing One Time Code by using End-To-End Authentication between USIM and Server
KR20130011198A (en) One time code created by random number medium
KR101777041B1 (en) Method for Generating One Time Password based on Asynchronous Local Area Radio Communication
KR101777042B1 (en) Card for Generating Electronic Signature based on Asynchronous Local Area Radio Communication
KR101777043B1 (en) Method for Generating Electronic Signature based on Asynchronous Local Area Radio Communication
KR20150004953A (en) Method for Providing Authentication Code by using End-To-End Authentication between SD Memory and Server
KR20150107019A (en) Method for Controlling Authentication Certificate by using End-To-End Mutual Authentication based on Near Field Communication
KR20190047558A (en) Method for Providing One Time Password by using Asynchronous Local Area Radio Communication of Earphone Device
KR20150064307A (en) Method for providing safety login by using user&#39;s card
KR20160139073A (en) Method for Authenticating Interlocked Transaction by using One Time Code

Legal Events

Date Code Title Description
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X701 Decision to grant (after re-examination)