KR20150004953A - 에스디메모리와 서버 사이의 종단간 인증을 이용한 서버형 인증코드 제공 방법 - Google Patents

에스디메모리와 서버 사이의 종단간 인증을 이용한 서버형 인증코드 제공 방법 Download PDF

Info

Publication number
KR20150004953A
KR20150004953A KR1020130077638A KR20130077638A KR20150004953A KR 20150004953 A KR20150004953 A KR 20150004953A KR 1020130077638 A KR1020130077638 A KR 1020130077638A KR 20130077638 A KR20130077638 A KR 20130077638A KR 20150004953 A KR20150004953 A KR 20150004953A
Authority
KR
South Korea
Prior art keywords
server
code
authentication
memory
random number
Prior art date
Application number
KR1020130077638A
Other languages
English (en)
Inventor
김재형
권봉기
Original Assignee
주식회사 비즈모델라인
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 비즈모델라인 filed Critical 주식회사 비즈모델라인
Priority to KR1020130077638A priority Critical patent/KR20150004953A/ko
Publication of KR20150004953A publication Critical patent/KR20150004953A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/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/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/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/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/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Engineering (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

본 발명은 SD메모리와 서버 사이의 종단간 인증을 이용한 서버형 인증코드 제공 방법에 관한 것으로, 본 발명에 따른 SD메모리와 서버 사이의 종단간 인증을 이용한 서버형 인증코드 제공 방법은, 무선단말과 인터페이스되는 SD메모리의 칩에서 실행되는 SD메모리와 서버 사이의 종단간 인증을 이용한 서버형 인증코드 제공 방법에 있어서, 인터페이스된 무선단말로부터 시간 값을 수신하는 제1 단계와, 상기 시간 값을 포함하는 데이터(c)를 암호화시킨 암호데이터(c)를 생성하는 제2 단계와, 상기 생성된 암호데이터(c)를 상기 인터페이스된 무선단말로 제공하는 제3 단계-암호데이터(c)는 무선단말을 통해 서버로 전송됨-와, 상기 서버에 의해 동적 생성된 서버 측 난수코드를 포함하는 데이터(s)를 암호화한 암호데이터(s)를 상기 인터페이스된 무선단말을 통해 수신하는 제4 단계와, 상기 암호데이터(s)를 복호화시킨 데이터(s)로부터 서버 측 난수코드를 확인하는 제5 단계와, 상기 서버 측 난수코드에 대응하는 인증코드를 상기 인터페이스된 무선단말로 제공하는 제6 단계를 포함한다.

Description

에스디메모리와 서버 사이의 종단간 인증을 이용한 서버형 인증코드 제공 방법{Method for Providing Authentication Code by using End-To-End Authentication between SD Memory and Server}
본 발명은 SD메모리와 서버 사이의 종단 간 인증을 기반으로 상기 서버에 의해 동적 생성된 일회용 인증코드를 확인하여 상기 SD메모리와 인터페이스된 무선단말을 통해 출력하는 것이다.
소위 OTP(One Time Password)라고 불리는 일회용 인증코드가 지불결제나 금융거래 등에 이용되기 위해서는 전자금융감독규정 제34조제2항제5호의 “매체 분리”의 조건을 성립해야 한다. 현재 어떠한 방식이 매체 분리의 조건을 만족하는지는 금융감독원에서 정하고 있으며, 현재까지 이와 같은 매체 분리로 인정되는 방식은 봉인된 형태의 OTP생성기 또는 OTP카드 등을 통해 동적 생성된 OTP를 금융거래에 이용되는 단말에 입력하는 방식만 매체 분리로 인정되고 있다.
그러나 종래에 매체 분리로 인정되는 방식은 사용자가 OTP생성기 또는 OTP카드 등의 OTP 기반 인증 매체를 소지해야 하기 때문에 불편하고, 이와 같은 OTP 기반 인증 매체를 제작하기 위해 지난친 비용이 소요됨은 물론, 상기 OTP생성기 또는 OTP카드를 통해 동적 생성된 OTP를 단말기에 입력하는 과정에서 잘못된 입력에 의한 오류가 빈번하게 발생하는 문제점을 지니고 있다.
상기와 같은 문제점을 해소하기 위한 본 발명의 목적은, 암복호 기능을 탑재한 칩이 내장된 SD메모리가 무선단말을 경유해 지정된 서버와 통신하여 상기 서버에 의해 동적 생성된 서버 측 난수코드를 확인하고, 상기 서버 측 난수코드에 대응하는 인증코드를 상기 무선단말을 통해 출력되도록 처리하는 SD메모리와 서버 사이의 종단간 인증을 이용한 서버형 인증코드 제공 방법을 제공함에 있다.
본 발명에 따른 SD메모리와 서버 사이의 종단간 인증을 이용한 서버형 인증코드 제공 방법은, 무선단말과 인터페이스되는 SD메모리의 칩에서 실행되는 SD메모리와 서버 사이의 종단간 인증을 이용한 서버형 인증코드 제공 방법에 있어서, 인터페이스된 무선단말로부터 시간 값을 수신하는 제1 단계와, 상기 시간 값을 포함하는 데이터(c)를 암호화시킨 암호데이터(c)를 생성하는 제2 단계와, 상기 생성된 암호데이터(c)를 상기 인터페이스된 무선단말로 제공하는 제3 단계-암호데이터(c)는 무선단말을 통해 서버로 전송됨-와, 상기 서버에 의해 동적 생성된 서버 측 난수코드를 포함하는 데이터(s)를 암호화한 암호데이터(s)를 상기 인터페이스된 무선단말을 통해 수신하는 제4 단계와, 상기 암호데이터(s)를 복호화시킨 데이터(s)로부터 서버 측 난수코드를 확인하는 제5 단계와, 상기 서버 측 난수코드에 대응하는 인증코드를 상기 인터페이스된 무선단말로 제공하는 제6 단계를 포함한다.
본 발명에 따르면, 상기 데이터(c)는 지정된 고유코드를 더 포함할 수 있다. 상기 데이터(c)는 칩 측 난수 값을 더 포함할 수 있다. 상기 데이터(c)는 지정된 키 값(1)을 더 포함할 수 있다.
본 발명에 따르면, 상기 암호데이터(c)는 상기 무선단말을 통해 지정된 서버로 전송되어 복호화될 수 있다.
본 발명에 따르면, 상기 SD메모리와 서버 사이의 종단간 인증을 이용한 서버형 인증코드 제공 방법은, 상기 인증코드를 상기 인터페이스된 무선단말로 제공하기 위해 지정된 인증 절차를 처리하는 단계를 더 포함할 수 있다.
본 발명에 따르면, 상기 데이터(s)는, 상기 서버를 통해 생성된 MAC(Message Authentication Code)을 더 포함하고, 상기 SD메모리와 서버 사이의 종단간 인증을 이용한 서버형 인증코드 제공 방법은, 상기 칩 측 난수 값과 키 값(1)을 지정된 암호 방식으로 암호화하여 키 값(2)를 생성하는 제5-1 단계와, 상기 난수코드와 키 값(2)를 지정된 암호 방식으로 암호화하여 키 값(3)를 생성하는 제5-2 단계와, 상기 칩 측 난수 값과 키 값(3)를 지정된 암호 방식으로 암호화하여 MAC을 생성하는 제5-3 단계와, 상기 생성된 MAC을 이용하여 복호화된 데이터(s)로부터 확인되는 MAC을 인증하는 제5-4 단계를 더 포함할 수 있다.
본 발명에 따르면, 상기 제6 단계는 상기 복호화된 데이터(s)로부터 확인되는 MAC이 인증된 경우에 상기 확인된 난수코드에 대응하는 인증코드를 상기 무선단말로 제공할 수 있다.
본 발명에 따르면, 상기 인증코드는 상기 서버 측 난수코드, 상기 서버 측 난수코드의 일부 코드, 상기 서버 측 난수코드를 가공하여 생성된 코드 중, 적어도 하나의 코드를 포함할 수 있다.
한편, 본 발명에 따른 SD메모리와 서버 사이의 종단간 인증을 이용한 서버형 인증코드 제공 방법은, SD메모리의 칩과 인터페이스된 무선단말과 통신하는 서버를 통해 실행되는 SD메모리와 서버 사이의 종단간 인증을 이용한 서버형 인증코드 제공 방법에 있어서, 상기 무선단말이 상기 SD메모리의 칩으로 제공한 시간 값을 포함하는 데이터(c)를 상기 칩의 암호모듈을 통해 암호화한 암호데이터(c)를 수신하는 제1 단계와, 지정 복호 방식을 통해 상기 수신된 암호데이터(c)를 복호화하여 시간 값을 확인하는 제2 단계와, 상기 확인된 시간 값을 저장하고 지정된 코드생성규칙에 따라 동적 생성된 서버 측 난수코드를 확인하는 제3 단계와, 상기 서버 측 난수코드를 포함하는 데이터(s)를 상기 SD메모리의 칩에 구비된 복호모듈을 통해 복호화 가능하게 암호화하여 암호데이터(s)를 생성하는 제4 단계와, 상기 무선단말로 상기 생성된 암호데이터(s)를 전송하는 제5 단계를 포함하며, 상기 암호데이터(s)는 상기 무선단말로부터 상기 SD메모리의 칩으로 제공되어 상기 칩의 복호모듈을 통해 복호화되고, 상기 서버 측 난수코드에 대응하는 인증코드가 상기 무선단말로 제공될 수 있다.
본 발명에 따르면, 상기 데이터(c)는 지정된 고유코드를 더 포함할 수 있다. 상기 데이터(c)는 칩 측 난수 값을 더 포함할 수 있다. 상기 데이터(c)는 지정된 키 값(1)을 더 포함할 수 있다.
본 발명에 따르면, 상기 제2 단계는 상기 복호화된 데이터(c)로부터 고유코드를 확인하는 단계를 더 포함할 수 있다.
본 발명에 따르면, 상기 SD메모리와 서버 사이의 종단간 인증을 이용한 서버형 인증코드 제공 방법은, 상기 SD메모리의 칩에 지정된 고유코드를 저장매체에 저장하는 단계를 더 포함하며, 상기 제2 단계는 상기 복호화된 데이터(c)로부터 고유코드를 확인하는 단계와, 상기 확인된 고유코드와 상기 저장된 고유코드를 비교하여 상기 SD메모리를 인증하는 단계를 더 포함할 수 있다.
본 발명에 따르면, 상기 제2 단계는 상기 복호화된 데이터(c)로부터 칩 측 난수 값을 확인하는 단계를 더 포함할 수 있다. 상기 제2 단계는 상기 복호화된 데이터(c)로부터 키 값(1)을 확인하는 단계를 더 포함할 수 있다.
본 발명에 따르면, 상기 제3 단계는 지정된 코드생성규칙을 통해 상기 난수코드를 동적 생성하거나, 또는 지정된 코드생성서버를 통해 동적 생성된 난수코드를 확인할 수 있다.
본 발명에 따르면, 상기 SD메모리와 서버 사이의 종단간 인증을 이용한 서버형 인증코드 제공 방법은, 상기 복호화된 데이터(c)로부터 확인된 칩 측 난수 값과 키 값(1)을 지정 암호 방식으로 암호화하여 키 값(2)를 생성하는 제3-1 단계와, 상기 서버 측 난수코드와 키 값(2)를 지정 암호 방식으로 암호화하여 키 값(3)를 생성하는 제3-2 단계와, 상기 칩 측 난수 값과 키 값(3)를 지정 암호 방식으로 암호화하여 MAC(Message Authentication Code)을 생성하는 제3-3 단계를 더 포함하며, 상기 제4 단계는 상기 MAC과 난수코드와 키 값(1)을 암호화할 수 있다. 한편 상기 지정 암호 방식은 상기 칩의 암호모듈의 암호 방식과 매칭되는 암호 방식을 포함할 수 있다.
본 발명에 따르면, 무선단말에 인터페이스된 SD메모리가 상기 무선단말을 경유해 지정된 서버와 종단간 인증을 수행하여 상기 SD메모리와 서버가 상호 인증하고, 상기 상호 인증의 결과로서 서버에 의해 동적 생성된 서버 측 난수코드에 대응하는 일회용 인증코드를 상기 무선단말을 통해 출력함으로써, 매체 분리의 조건을 성립시킴과 동시에 종래의 OTP 인증보다 안전하고 편리하면서 저렴한 비용의 일회용 인증코드 서비스를 제공하는 이점이 있다.
도 1은 본 발명의 실시 방법에 따른 SD메모리의 구성을 도시한 도면이다.
도 2는 본 발명의 실시 방법에 따라 SD메모리의 칩과 인터페이스하는 무선단말의 기능 구성을 도시한 도면이다.
도 3은 본 발명의 실시 방법에 따른 서버의 구성을 도시한 도면이다.
도 4는 본 발명의 실시 방법에 따라 서버가 SD메모리의 칩을 인증하는 종단간 인증 과정을 도시한 것이다.
도 5는 본 발명의 실시 방법에 따라 SD메모리의 칩이 서버를 인증하는 종단간 인증 과정을 도시한 것이다.
도 6은 본 발명의 실시 방법에 따라 인증코드를 제공하는 과정을 도시한 것이다.
이하 첨부된 도면과 설명을 참조하여 본 발명의 바람직한 실시예에 대한 동작 원리를 상세히 설명한다. 다만, 하기에 도시되는 도면과 후술되는 설명은 본 발명의 특징을 효과적으로 설명하기 위한 여러 가지 방법 중에서 바람직한 실시 방법에 대한 것이며, 본 발명이 하기의 도면과 설명만으로 한정되는 것은 아니다. 예를들어, 서버 측에 구비된 구성부가 단말 측에 구현되거나, 반대로 단말 측에 구비된 구성부가 서버 측에 구현되는 형태로 실시되는 것이 가능하다.
또한, 하기에서 본 발명을 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서, 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 발명에서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
결과적으로, 본 발명의 기술적 사상은 청구범위에 의해 결정되며, 이하 실시예는 진보적인 본 발명의 기술적 사상을 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 효율적으로 설명하기 위한 일 수단일 뿐이다.
도면1은 본 발명의 실시 방법에 따른 SD메모리(100)의 구성을 도시한 도면이다.
보다 상세하게 본 도면1은 암복호 기능을 탑재한 칩(105)이 내장된 SD메모리(100)가 무선단말(200)을 경유해 지정된 서버(300)와 통신하여 상기 서버(300)에 의해 동적 생성된 서버 측 난수코드를 확인하고, 상기 서버 측 난수코드에 대응하는 인증코드를 상기 무선단말(200)을 통해 출력되도록 처리하는 SD메모리(100)의 기능 구성을 도시한 것으로서, 본 발명이 속한 기술분야에서 통상의 지식을 가진 자라면, 본 도면1을 참조 및/또는 변형하여 상기 SD메모리(100)의 구성에 대한 다양한 실시 방법(예컨대, 일부 구성부가 생략되거나, 또는 세분화되거나, 또는 합쳐진 실시 방법)을 유추할 수 있을 것이나, 본 발명은 상기 유추되는 모든 실시 방법을 포함하여 이루어지며, 본 도면1에 도시된 실시 방법만으로 그 기술적 특징이 한정되지 아니한다.
본 발명의 SD메모리(100)는 무선단말(200)에 이탈착되는 외부 메모리로서, 바람직하게 ISO/IEC 7816 규격을 비롯한 UICC 규격을 적어도 하나 따르는 IC칩(105)이 내장된다. 예를들어, 상기 SD메모리(100)의 칩(105)은 금융IC카드 규격에 따른 암복호 기능을 구비할 수 있다.
도면1을 참조하면, 상기 SD메모리(100)는, 무선단말(200)과 접촉식 SD 인터페이스를 형성하는 SD 인터페이스부(185)와, 상기 SD 인터페이스부(185)를 통해 무선단말(200)과 인터페이스된 상태에서 상기 무선단말(200)의 외부 메모리 영역을 형성하는 메모리모듈(180)과, 암복호 기능을 기반으로 무선단말(200)을 경유해 지정된 서버(300)와 통신하여 상기 서버(300)에 의해 동적 생성된 서버 측 난수코드를 확인한 후 상기 서버 측 난수코드에 대응하는 인증코드를 상기 무선단말(200)을 통해 출력되도록 처리하는 기능을 구비한 IC칩(105)을 구비한다. 상기 IC칩(105)은 상기 무선단말(200)과 인터페이스하기 위한 칩 인터페이스부(160)와, 암복호 기능을 기반으로 무선단말(200)을 경유해 지정된 서버(300)와 통신하여 상기 서버(300)에 의해 동적 생성된 서버 측 난수코드를 확인한 후 상기 서버 측 난수코드에 대응하는 인증코드를 상기 무선단말(200)을 통해 출력되도록 처리하는 절차를 제어하는 제어부(110) 및 상기 제어부(110)의 제어에 필요한 적어도 하나의 프로그램코드 또는 데이터셋트를 저장하는 메모리부(165)를 구비한다. 상기 IC칩(105)의 칩 인터페이스부(160)는 COB(Chip On Board) 형태의 접촉점(170)을 통해 무선단말(200)과 인터페이스하거나, 또는 SD 인터페이스부(185)와 칩 인터페이스부(160)를 인터페이스하는 인터페이스모듈(175)을 경유하여 상기 SD 인터페이스부(185)를 통해 상기 무선단말(200)과 인터페이스할 수 있으며, 상기 SD메모리(100)에 내장된 IC칩(105)이 무선단말(200)과 인터페이스하는 방식에 의해 본 발명이 한정되지 아니한다.
상기 SD메모리(100)에 내장된 IC칩(105)의 메모리부(165)는 상기 칩(105)의 저장 자원에 대응되는 비휘발성 메모리의 총칭으로서, 바람직하게 ROM(Read Only Memory), EEPROM(Electrically Erasable and Programmable Read Only Memory), FM(Flash Memory) 등의 메모리 소자를 포함한다. 바람직하게, 상기 메모리부(165)는 NAND 계열 메모리 또는 NOR 계열 메모리를 모두 포함한다. 실시 방법에 따라 상기 칩(105)에 구비되는 RAM(Random Access Memory)로 상기 메모리부(165)의 범주에 포함될 수 있다. 본 발명의 실시 방법에 따르면, 상기 메모리부(165)는 COS(Chip Operating System)에 대응하는 프로그램코드가 기록되고, 상기 SD메모리(100)의 칩(105)을 통해 제공될 서비스에 대응하는 애플릿에 대응하는 프로그램코드가 기록된다.
상기 SD메모리(100)에 내장된 IC칩(105)의 제어부(110)는 상기 칩(105)의 동작을 제어하는 구성의 총칭으로서, 바람직하게 CPU(Central Process Unit), MPU(Micro Process Unit), 코프로세서(Coprocessor) 중 하나 이상의 프로세서와 연산 처리를 위한 실행메모리 조합으로 이루어진다. 본 발명의 실시 방법에 따르면, 상기 메모리부(165)에 기록된 COS에 대응하는 프로그램코드가 상기 실행메모리로 로딩되어 프로세서에 의해 연산되는 상태를 제어부(110)로 정의할 수 있으며, 편의상 상기 COS 상에서 동작하는 애플릿에 대응하는 프로그램코드 중 본 발명에 따른 SD메모리(100)의 칩(105)과 서버(300) 사이의 종단 간 인증 기반 서버형 인증코드 서비스를 제공하는 프로그램코드를 통해 구현되는 기능에 대한 구성을 본 도면1에 도시하여 설명하기로 한다.
본 발명의 실시 방법에 따르면, 상기 제어부(110)는 지정된 암호알고리즘(예컨대, SEED, DEA, IDEA, DES 등)을 통해 하나 이상의 값을 암호화하는 암호모듈(115)과, 지정된 암호알고리즘을 통해 암호화된 데이터를 복호화하는 복호모듈(120)을 구비하며, 상기 암호모듈(115)과 복호모듈(120)은 별도의 모듈 또는 하나의 모듈 형태로 구현될 수 있다.
상기 암호모듈(115)과 복호모듈(120)은 상기 코프로세서를 이용하는 논리적 회로 구성의 형태로 구현되거나, COS 상의 프로그램코드 형태로 구현되거나, 종단 간 인증 기반 서버형 인증코드 서비스를 제공하는 프로그램코드 상에 구현되는 것이 모두 가능하며, 상기 칩(105) 내에 상기 암호모듈(115)과 복호모듈(120)이 구현되는 방식에 의해 본 발명이 한정되지 아니함을 명백하게 밝혀두는 바이다.
도면1을 참조하면, 상기 SD메모리(100)의 칩(105)은, 인터페이스된 무선단말(200)로부터 지정된 입력 값을 수신하는 정보 수신부(125)와, 상기 입력 값을 포함하는 데이터(c)를 지정된 암호모듈(115)을 통해 지정된 서버(300)에서 복호화 가능하게 암호화시킨 암호데이터(c)를 생성하는 암호 처리부(130)와, 상기 생성된 암호데이터(c)를 상기 인터페이스된 무선단말(200)을 통해 지정된 서버(300)로 전송되도록 처리하는 데이터 전송부(135)를 구비하며, 종단 간 인증 기반 서버형 인증코드 서비스를 위해 지정된 인증을 처리하는 인증 처리부(145)를 구비한다.
상기 SD메모리(100)의 칩(105)이 무선단말(200)과 인터페이스되면, 상기 정보 수신부(125)는 상기 인터페이스된 무선단말(200)로부터 지정된 입력 값을 수신한다. 상기 입력 값은 종단 간 인증 기반 서버형 인증코드 서비스를 위해 무선단말(200)로부터 입력되기로 지정된 값을 총칭으로서, 바람직하게 상기 무선단말(200)의 타이머를 통해 획득된 국제 표준시와 매칭되는 시간 값을 포함한다. 그러나 상기 입력 값이 상기 시간 값으로 한정되는 것은 아니며, 종단 간 인증 기반 서버형 인증코드 서비스를 위해 무선단말(200)로부터 입력되기로 지정된 값이라면 어떠한 값이라도 무방하다. 본 발명의 실시 방법에 따라 상기 입력 값은 상기 무선단말(200)에서 생성된 단말 측 난수 값, 상기 무선단말(200)과 통신하는 서버(300)를 통해 생성된 챌린지 값 중, 적어도 하나를 포함할 수 있다. 이하, 편의상 상기 입력 값을 시간 값으로 간주하여 본 발명의 특징을 설명하기로 한다.
상기 암호 처리부(130)는 상기 시간 값을 포함하는 데이터(c)를 구성하고, 지정된 암호모듈(115)을 통해 지정된 서버(300)에서 복호화 가능하게 상기 데이터(c)를 암호화시켜 암호데이터(c)를 생성한다. 바람직하게, 상기 시간 값은 암호데이터(c)의 타임스탬프(Time Stamp)의 기능을 수행할 수 있다.
본 발명의 제1 칩 측 확장 암호 방식에 따르면, 상기 데이터(c)는 상기 칩(105) 내에 지정된 고유코드를 더 포함할 수 있으며, 상기 암호 처리부(130)는 상기 시간 값과 고유코드를 포함하는 데이터(c)를 상기 암호모듈(115)을 통해 암호화시켜 암호데이터(c)를 생성할 수 있다. 상기 고유코드는 각 SD메모리(100)의 칩(105)에 고유하게 저장된 코드의 총칭으로서, 상기 칩(105)의 지정된 고유영역에 저장된 CSN(Card Serial Number or Chip Serial Number), 응용영역(예컨대, 애플릿이 기록되는 영역)에 저장된 코드 값 중 적어도 하나를 포함할 수 있다.
본 발명의 제2 칩 측 확장 암호 방식에 따르면, 상기 데이터(c)는 상기 칩(105) 내에 지정되어 있거나 또는 실시간 지정되는 칩 측 난수 값을 더 포함할 수 있으며, 상기 암호 처리부(130)는 상기 시간 값과 칩 측 난수 값을 포함하는 데이터(c)를 상기 암호모듈(115)을 통해 암호화시켜 암호데이터(c)를 생성할 수 있다. 상기 칩 측 난수 값은 칩(105) 내에서 난수 형태로 생성되어 지정된 저장영역에 저장된 난수 값, 또는 상기 실시간 생성되는 난수 값(예컨대, 16바이트 CN(Card Random) 등)을 포함할 수 있다.
본 발명의 제3 칩 측 확장 암호 방식에 따르면, 상기 데이터(c)는 상기 칩(105) 내에 지정된 키 값(1)을 더 포함할 수 있으며, 상기 암호 처리부(130)는 상기 시간 값과 키 값(1)을 포함하는 데이터(c)를 상기 암호모듈(115)을 통해 암호화시켜 암호데이터(c)를 생성할 수 있다. 상기 키 값(1)은 SD메모리(100)를 발급하는 시점에 칩(105) 내에 주입된 키 값, 상기 칩(105)의 메모리에 애플릿 발급 시점에 주입된 키 값, 상기 칩(105)의 메모리에 기록되도록 주입된 키 값 중, 적어도 하나의 키 값을 포함할 수 있다.
본 발명의 제4 칩 측 확장 암호 방식에 따르면, 상기 데이터(c)는 상기 시간 값과 상기 제1 내지 제3 칩 측 확장 암호 방식의 고유코드, 칩 측 난수 값, 키 값(1) 중 적어도 하나 또는 둘 이상을 포함할 수 있으며, 상기 암호 처리부(130)는 상기 시간 값과 상기 고유코드, 칩 측 난수 값, 키 값(1) 중 적어도 하나 또는 둘 이상을 포함하는 데이터(c)를 상기 암호모듈(115)을 통해 암호화시켜 암호데이터(c)를 생성할 수 있다. 한편 본 발명의 확장 방식에 의하면, 상기 데이터(c)는 당업자의 의도에 따라 상기 제1 내지 제4 칩 측 확장 암호 방식에 포함된 정보 외에 다른 정보를 더 포함할 수 있으며, 본 발명은 이와 같은 모든 실시 방법을 모두 포함함을 명백하게 밝혀두는 바이다.
상기 데이터 전송부(135)는 상기 암호 처리부(130)를 통해 생성된 암호데이터(c)를 상기 인터페이스된 무선단말(200)로 제공하며, 상기 무선단말(200)은 지정된 통신망을 통해 상기 암호데이터(c)를 지정된 서버(300)로 전송한다. 이 때 상기 암호데이터(c)는 지정된 서버(300)를 통해 복호화 가능하게 암호화되었으므로, 상기 무선단말(200)은 상기 암호데이터(c)를 복호화할 수 없다.
본 발명의 실시 방법에 따르면, 상기 무선단말(200)은 상기 서버(300)와의 보안 프로토콜에 따라 상기 암호데이터(c)를 암호화하여 전송할 수 있으며, 상기 지정된 서버(300)는 상기 무선단말(200)에서 암호화한 암호데이터(c)를 수신하여 복호화할 수 있다.
본 발명의 실시 방법에 따르면, 상기 무선단말(200)은 상기 지정된 서버(300)로 상기 암호데이터(c)를 전송하기 전, 중, 후의 지정된 시점에 상기 무선단말(200)에 구비 또는 할당된 단말 식별 값을 상기 지정된 서버(300)로 전송할 수 있다. 상기 단말 식별 값은 상기 무선단말(200)에 종단 간 인증 기반 서버형 인증코드 서비스를 위한 프로그램(215)이 탑재되는 시점에 상기 서버(300)가 상기 무선단말(200)을 고유 식별하기 위해 상기 서버(300)에 등록된 식별 값의 총칭으로서, 상기 무선단말(200)의 읽기영역에 저장된 정보, 상기 무선단말(200)의 고유저장영역에 저장된 정보, 상기 무선단말(200)의 H/W구성에 기록된 정보, 상기 무선단말(200)이 접속한 네트워크에서 할당/부여한 정보, 종단 간 인증 기반 서버형 인증코드 서비스를 위한 프로그램(215)에 할당된 정보, 상기 프로그램(215)에 의해 상기 무선단말(200)에 저장된 정보 중 적어도 하나의 정보를 포함할 수 있다.
한편 상기 인증 처리부(145)는 상기 무선단말(200)과 인터페이스된 시점부터 상기 무선단말(200)로부터 시간 값을 수신하여 암호데이터(c)를 제고하는 과정 중의 지정된 시점에, 종단 간 인증 기반 서버형 인증코드 서비스를 위해 지정된 인증을 처리할 수 있다. 바람직하게, 상기 지정된 인증은 PIN(Personal Identification Number) 인증을 포함할 수 있다. 상기 인증 처리부(145)는 PIN 인증을 위한 PIN 인증 값을 저장하며, 상기 인터페이스된 무선단말(200)로부터 PIN 값을 수신하고, 상기 PIN 인증 값을 이용하여 상기 수신된 PIN 값을 인증할 수 있다. 예를들어, 상기 PIN 값은 상기 시간 값이 수신되기 전에 수신되어 인증되거나, 상기 시간 값과 함께 수신되어 인증될 수 있다. 실시 방법에 따라 상기 인증이 처리되는 시점은 상기 SD메모리(100)의 칩(105)에서 무선단말(200)로 인증코드가 제공되기 전에 수행될 수 있으며, 이에 의해 본 발명이 한정되지 아니한다. 당업자의 의도에 따라 상기 인증 처리가 생략되더라도 무방하다.
상기 암호데이터(c)를 수신한 서버(300)는 상기 지정된 복호화 절차에 따라 상기 암호데이터(c)를 복호화하고, 복호화된 데이터(c)에 대하여 지정된 인증, 검증, 등록 등의 절차를 수행한다. 바람직하게, 상기 서버(300)는 상기 복호화된 데이터(c)에 포함된 고유코드를 확인하고, 상기 확인된 고유코드와 미리 등록된(예컨대, SD메모리(100)를 발급하는 시점에 등록된) 해당 SD메모리(100)의 칩(105)의 고유코드와 비교 인증하는 절차를 수행할 수 있다. 또는 상기 서버(300)는 상기 복호화된 데이터(c)에 포함된 시간 값을 확인하고, 상기 확인된 시간 값이 상기 서버(300)의 내부 시간(=국제 표준시와 동기화된 시간)을 기준으로 지정된 타임아웃 이내(예컨대, 2초 이내 등)의 시간인지 검증할 수 있다. 또는 상기 서버(300)는 상기 복호화된 데이터(c)로부터 확인된 시간 값을 타임스탬프로서 지정된 저장매체에 등록할 수 있다.
상기 서버(300)는 지정된 코드생성규칙에 따라 서버 측 난수코드를 동적 생성하거나, 또는 지정된 코드생성서버(370)를 통해 동적 생성된 난수코드를 상기 서버 측 난수코드로서 확인한다. 상기 서버(300)는 상기 서버 측 난수코드를 포함하는 데이터(s)를 상기 칩(105)의 복호모듈(120)을 통해 복호화 가능하게 암호화하여 암호데이터(s)를 생성한 후 상기 무선단말(200)로 전송한다. 실시 방법에 따라 상기 암호데이터(s)는 지정된 절차에 따라 생성된 MAC(Message Authentication Code) 및/또는 상기 암호데이터(c)에 포함된 키 값(1)이 더 포함될 수 있다.
도면1을 참조하면, 상기 SD메모리(100)의 칩(105)은, 상기 서버(300)에 의해 동적 생성된 서버 측 난수코드를 포함하는 데이터(s)를 암호화한 암호데이터(s)를 상기 인터페이스된 무선단말(200)을 통해 수신하는 데이터 수신부(140)와, 상기 암호데이터(s)를 지정된 복호모듈(120)을 통해 복호화시킨 데이터(s)로부터 서버 측 난수코드를 확인하는 복호 처리부(150)와, 상기 서버 측 난수코드에 대응하는 인증코드를 상기 인터페이스된 무선단말(200)로 제공하는 코드 제공부(155)를 구비하며, 상기 인증코드를 상기 인터페이스된 무선단말(200)로 제공하기 위해 지정된 인증을 처리하는 인증 처리부(145)를 구비한다.
상기 무선단말(200)은 상기 서버(300)가 동적 생성하거나 또는 상기 서버(300)가 지정된 코드생성서버(370)로부터 제공받은 서버 측 난수코드를 포함하는 데이터(s)를 암호화한 암호데이터(s)를 수신하고, 상기 SD메모리(100)의 칩(105)으로 상기 암호데이터(s)를 전송하며, 상기 데이터 수신부(140)는 상기 인터페이스된 무선단말(200)로부터 상기 서버(300)에 의해 동적 생성된 서버 측 난수코드를 포함하는 데이터(s)를 암호화한 암호데이터(s)를 수신한다. 실시 방법에 따라 상기 암호데이터(s)는 서버 측에서 생성된 MAC이 더 포함되어 MAC 인증 절차를 수행하는 과정까지 본 도면1의 실시예로서 설명하기로 한다.
상기 복호 처리부(150)는 지정된 복호모듈(120)을 통해 상기 수신된 상기 암호데이터(s)를 복호화시키는 절차를 수행하며, 상기 복호모듈(120)을 통해 복호화된 데이터(s)를 확인한다.
한편 본 발명의 실시 방법에 따라 상기 복호화된 데이터(s)는 서버 측에서 생성된 MAC 및/또는 키 값(1)이 더 포함될 수 있으며, 상기 복호화된 데이터(s)에 MAC이 포함된 경우, 상기 인증 처리부(145)는 상기 서버(300)에서 상기 MAC을 생성한 절차와 매칭되는 MAC 생성 절차를 통해 상기 복호화된 데이터(s)에 포함된 MAC을 인증하는 절차를 수행할 수 있다.
본 발명의 실시 방법에 따르면, 상기 복호화된 데이터(s)에 MAC이 포함된 경우, 상기 인증 처리부(145)는 지정된 암호모듈(115)을 통해 상기 칩 측 난수 값과 키 값(1)을 암호화시켜 키 값(2)를 생성하고, 상기 복호화된 데이터(s)에 포함된 서버 측 난수코드와 상기 생성된 키 값(2)를 암호화시켜 키 값(3)을 생성하고, 상기 칩 측 난수 값과 상기 생성된 키 값(3)을 암호화시켜 MAC을 생성한 후, 상기 복호화된 데이터(s)에 포함된 MAC과 상기 생성된 MAC을 비교하여 상기 복호화된 데이터(s)에 포함된 MAC의 유효성을 인증할 수 있다. 바람직하게, 상기 MAC의 유효성 인증은 상기 SD메모리(100)의 칩(105)에서 상기 서버 측 난수코드를 생성한 서버(300)의 유효성을 인증하는 것이다.
한편 상기 복호화된 데이터(s)에 키 값(1)이 포함된 경우, 상기 인증 처리부(145)는 상기 데이터(c)에 포함된 키 값(1)과 상기 복호화된 데이터(s)에 키 값(1)을 비교하여 상기 복호화된 데이터(s)에 키 값(1)의 유효성을 인증할 수 있다. 바람직하게, 상기 키 값(1)의 유효성 인증은 상기 SD메모리(100)의 칩(105)에서 상기 서버 측 난수코드를 생성한 서버(300)의 유효성을 인증하는 것이다.
상기 복호 처리부(150)를 통해 상기 암호데이터(s)를 복호화시킨 데이터(s)가 확인되거나, 또는 상기 인증 처리부(145)를 통해 상기 복호화된 데이터(s)에 포함된 MAC이 인증되면, 상기 코드 제공부(155)는 상기 복호화된 데이터(s)에 포함된 서버 측 난수코드를 확인하고, 상기 서버 측 난수코드에 대응하는 일회용 인증코드를 결정한다.
본 발명의 제1 인증코드 결정 방식에 따르면, 상기 코드 제공부(155)는 상기 복호화된 데이터(s)에 포함된 서버 측 난수코드를 그대로 인증코드로 결정할 수 있다.
본 발명의 제2 인증코드 결정 방식에 따르면, 상기 코드 제공부(155)는 상기 복호화된 데이터(s)에 포함된 서버 측 난수코드의 일부 코드를 지정된 자릿수의 인증코드로 결정할 수 있다. 예를들어, 상기 서버 측 난수코드가 16바이트 코드인 경우, 상기 코드 제공부(155)는 16바이트 코드 중 앞 8바이트 코드를 인증코드로 결정하거나, 또는 앞 4바이트를 건너뛴 6바이트 코드를 인증코드로 결정하거나, 또는 뒤 7바이트 코드를 인증코드로 결정할 수 있다. 또는 지정된 위치의 니블 또는 바이트를 선택적으로 추출하여 인증코드로 결정할 수 있다. 만약 상기 서버 측 난수코드에 패딩(Padding) 영역이 존재한다면, 상기 인증코드에 대응하는 일부 코드에 상기 패딩 영역을 포함시키지 않는 것이 바람직하다.
본 발명의 제3 인증코드 결정 방식에 따르면, 상기 코드 제공부(155)는 상기 서버 측 난수코드를 가공하여 생성된 코드를 지정된 자릿수의 인증코드로 결정할 수 있다. 예를들어, 상기 인증코드는 상기 서버 측 난수코드를 지정된 해시 알고리즘으로 해시한 코드를 포함할 수 있다. 또는 상기 인증코드는 상기 서버 측 난수코드를 지정된 코드생성규칙(예컨대, 지정된 자릿수의 코드 생성을 위한 해시 알고리즘과 상기 칩(105) 내에 구비된 적어도 하나의 씨드를 이용(생략 가능)하는 규칙 등)의 씨드로 이용하여 동적 생성한 코드를 포함할 수 있다. 또는 상기 인증코드는 상기 시간 값을 지정된 코드생성규칙의 씨드로 이용하여 동적 생성한 코드를 포함할 수 있다. 또는 상기 인증코드는 상기 시간 값과 서버 측 난수코드를 지정된 코드생성규칙의 씨드로 이용하여 동적 생성한 코드를 포함할 수 있다.
본 발명의 제4 인증코드 결정 방식에 따르면, 상기 코드 제공부(155)는 상기 제1 내지 제3 인증코드 결정 방식을 조합하여 N(N≥2)자릿수의 인증코드를 결정할 수 있다. 예를들어, 상기 코드 제공부(155)는 상기 제2 인증코드 결정 방식에 따라 N자릿수의 인증코드 중 (1≤n<N)자릿수의 코드를 구성하고 상기 제3 인증코드 결정 방식에 따라 (N-n)자릿수의 코드를 결정한 후 상기 n자릿수의 코드와 (N-n)자릿수의 코드를 조합하여 N자릿수의 인증코드를 결정할 수 있다.
상기 코드 제공부(155)는 상기 인터페이스된 무선단말(200)로 상기 제1 내지 제4 인증코드 결정 방식 중 적어도 하나를 통해 결정된 인증코드를 제공한다. 상기 무선단말(200)은 상기 수신된 인증코드를 출력함으로써 지정된 거래단말(예컨대, 상기 무선단말(200) 또는 상기 무선단말(200) 이외에 별도의 단말 등)을 통해 입력되어 상기 거래단말을 통해 요청된 거래의 인증수단으로 이용되도록 하거나, 또는 상기 수신된 인증코드를 지정된 인증서버로 전송하여 인증수단으로 이용되도록 할 수 있다.
도면2는 본 발명의 실시 방법에 따라 SD메모리(100)의 칩(105)과 인터페이스하는 무선단말(200)의 기능 구성을 도시한 도면이다.
보다 상세하게 본 도면2는 상기 도면1에 도시된 SD메모리(100)의 칩(105)과 인터페이스하는 무선단말(200)의 구성과 상기 무선단말(200)에서 동작하는 프로그램(215)의 기능 구성을 도시한 것으로서, 본 발명이 속한 기술분야에서 통상의 지식을 가진 자라면, 본 도면2를 참조 및/또는 변형하여 상기 무선단말(200)의 기능 구성에 대한 다양한 실시 방법을 유추할 수 있을 것이나, 본 발명은 상기 유추되는 모든 실시 방법을 포함하여 이루어지며, 본 도면2에 도시된 실시 방법만으로 그 기술적 특징이 한정되지 아니한다. 본 발명의 무선단말(200)은 SD메모리(100)의 칩(105)과 인터페이스되는 모든 단말의 총칭으로서, 바람직하게 스마트폰, 태블릿PC, 휴대폰 등을 적어도 하나 포함한다. 한편 본 발명으로부터 확장되는 다른 실시 방법에 따르면, 상기 SD메모리(100)가 무선단말(200) 이외에 다른 단말기(예컨대, 컴퓨터, 노트북 등의 유선단말 등)에 인터페이스된다면, 상기 무선단말(200)은 상기 SD메모리(100)가 인터페이스된 다른 단말(200)로 대체될 수 있음을 명백하게 밝혀두는 바이다.
도면2를 참조하면, 상기 무선단말(200)은, 제어부(201)와 메모리부(211)와 화면 출력부(202)와 키 입력부(203)와 사운드 처리부(204)와 무선망 통신부(208)와 근거리 무선 통신부(207)와 근접 무선 통신부(205)와 USIM 리더부(209) 및 USIM를 구비하며, SD 인식부(210)와 SD메모리(100) 및 전원 공급을 위한 배터리(206)를 구비한다.
상기 제어부(201)는 상기 무선단말(200)의 동작을 제어하는 구성의 총칭으로서, 적어도 하나의 프로세서와 실행 메모리를 포함하여 구성되며, 상기 무선단말(200)에 구비된 각 구성부와 버스(BUS)를 통해 연결된다. 본 발명에 따르면, 상기 제어부(201)는 상기 프로세서를 통해 상기 무선단말(200)에 구비되는 적어도 하나의 프로그램코드를 상기 실행 메모리에 로딩하여 연산하고, 그 결과를 상기 버스를 통해 적어도 하나의 구성부로 전달하여 상기 무선단말(200)의 동작을 제어한다. 이하, 편의상 프로그램코드 형태로 구현되는 본 발명의 프로그램(215) 구성을 본 제어부(201) 내에 도시하여 설명하기로 한다.
상기 메모리부(211)는 상기 무선단말(200)의 저장 자원에 대응되는 비휘발성 메모리의 총칭으로서, 상기 제어부(201)를 통해 실행되는 적어도 하나의 프로그램코드와, 상기 프로그램코드가 이용하는 적어도 하나의 데이터셋트를 저장하여 유지한다. 상기 메모리부(211)는 기본적으로 상기 무선단말(200)의 운영체제에 대응하는 시스템프로그램코드와 시스템데이터셋트, 상기 무선단말(200)의 무선 통신 연결을 처리하는 통신프로그램코드와 통신데이터셋트 및 적어도 하나의 응용프로그램코드와 응용데이터셋트를 저장하며, 본 발명의 프로그램(215)에 대응하는 프로그램코드와 데이터셋트도 상기 메모리부(211)에 저장된다.
상기 화면 출력부(202)는 상기 무선단말(200)의 출력 자원에 대응되는 화면출력기(예컨대, LCD(Liquid Crystal Display) 등)와 이를 구동하는 구동 모듈로 구성되며, 상기 제어부(201)와 연동되어 상기 제어부(201)의 각종 연산 결과 중 화면 출력에 대응하는 연산 결과를 상기 화면출력 장치로 출력한다.
상기 키 입력부(203)는 상기 무선단말(200)의 입력 자원에 대응되는 하나 이상의 사용자입력기(예컨대, 버튼, 키패드, 터치패드, 화면 출력부(202)와 연동하는 터치스크린 등)와 이를 구동하는 구동 모듈로 구성되며, 상기 제어부(201)와 연동되어 상기 제어부(201)의 각종 연산을 명령하는 명령을 입력하거나, 또는 상기 제어부(201)의 연산에 필요한 데이터를 입력한다.
상기 사운드 처리부(204)는 상기 무선단말(200)의 출력 자원에 대응되는 스피커와 상기 무선단말(200)의 입력 자원에 대응되는 마이크로폰 및 이를 구동하는 구동 모듈로 구성되며, 상기 제어부(201)와 연동되어 상기 제어부(201)의 각종 연산 결과 중 사운드 출력에 대응하는 연산 결과를 상기 스피커를 통해 출력하거나, 또는 상기 마이크로폰을 통해 입력되는 사운드 데이터를 상기 제어부(201)로 전달한다. 상기 구동 모듈은 상기 스피커를 통해 출력할 사운드 데이터를 디코딩(Decoding)하여 사운드 신호로 변환하거나, 또는 상기 마이크로폰을 통해 입력되는 사운드 신호를 엔코딩(Encoding)하여 부호화한다.
상기 근접 무선 통신부(205)는 근접 거리(예컨대, 10cm 내외)에서 무선 주파수 신호를 통신매체로 이용하여 양방향 근접 무선 통신, 전이중 근접 무선 통신, 반이중 근접 무선 통신 중 하나 이상의 근접 무선 통신을 처리하는 통신 자원의 총칭으로서, 바람직하게 13.56Mz 주파수 대역의 NFC(Near Field Communication) 규격에 따라 근접 무선 통신을 처리할 수 있다. 또는 상기 근접 무선 통신부(205)는 ISO 18000 시리즈 규격의 근접 무선 통신을 처리할 수 있으며, 이 경우 13.56Mz 주파수 대역 이외의 다른 주파수 대역에 대한 근접 무선 통신을 처리할 수도 있다. 예를들어, 상기 근접 무선 통신부(205)는 리더 모드로 동작하거나, 태그 모드로 동작하거나, 양방향 통신 모드로 동작하는 것이 모두 가능하다. 한편 상기 근접 무선 통신부(205)는 근접하여 통신하는 대상에 따라 상기 무선단말(200)을 통신망에 접속시키는 통신 자원에 포함될 수 있다.
상기 무선망 통신부(208)와 근거리 무선 통신부(207)는 상기 무선단말(200)을 지정된 통신망에 접속시키는 통신 자원의 총칭이다. 바람직하게, 상기 무선단말(200)은 무선망 통신부(208)를 기본 통신 자원으로 구비할 수 있으며, 하나 이상의 근거리 무선 통신부(207)를 구비할 수 있다.
상기 무선망 통신부(208)는 상기 무선단말(200)을 기지국을 경유하는 무선 통신망에 접속시키는 통신 자원의 총칭으로서, 특정 주파수 대역의 무선 주파수 신호를 송수신하는 안테나, RF모듈, 기저대역모듈, 신호처리모듈을 적어도 하나 포함하여 구성되며, 상기 제어부(201)와 연결되어 상기 제어부(201)의 각종 연산 결과 중 무선 통신에 대응하는 연산 결과를 무선 통신망을 통해 전송하거나 또는 무선 통신망을 통해 데이터를 수신하여 상기 제어부(201)로 전달함과 동시에, 상기 무선 통신의 접속, 등록, 통신, 핸드오프의 절차를 수행한다. 본 발명에 따르면, 상기 무선망 통신부(208)는 상기 무선단말(200)을 교환기를 경유하는 통화채널과 데이터채널을 포함하는 전화통화망에 연결할 수 있으며, 경우에 따라 상기 교환기를 경유하지 않고 패킷 통신 기반의 무선망 데이터 통신(예컨대, 인터넷)을 제공하는 데이터망에 연결할 수 있다.
본 발명의 실시 방법에 따르면, 상기 무선망 통신부(208)는 CDMA/WCDMA/LTE 규격에 따라 이동 통신망에 접속, 위치등록, 호처리, 통화연결, 데이터통신, 핸드오프를 적어도 하나 수행하는 이동 통신 구성을 포함한다. 한편 당업자의 의도에 따라 상기 무선망 통신부(208)는 IEEE 802.16 관련 규격에 따라 휴대인터넷에 접속, 위치등록, 데이터통신, 핸드오프를 적어도 하나 수행하는 휴대 인터넷 통신 구성을 더 포함할 수 있으며, 상기 무선망 통신부(208)가 제공하는 무선 통신 구성에 의해 본 발명이 한정되지 아니함을 명백히 밝혀두는 바이다. 즉, 상기 무선망 통신부(208)는 무선 구간의 주파수 대역이나 통신망의 종류 또는 프로토콜에 무관하게 셀 기반의 기지국을 통해 무선 통신망에 접속하는 구성부의 총칭이다.
상기 근거리 무선 통신부(207)는 일정 거리 이내(예컨대, 10m)에서 무선 주파수 신호를 통신매체로 이용하여 통신세션을 연결하고 이를 기반으로 상기 무선단말(200)을 통신망에 접속시키는 통신 자원의 총칭으로서, 바람직하게는 와이파이 통신, 블루투스 통신, 공중무선 통신, UWB 중 적어도 하나를 통해 상기 무선단말(200)을 통신망에 접속시킬 수 있다. 본 발명의 실시 방법에 따르면, 상기 근거리 무선 통신부(207)는 상기 무선망 통신부(208)와 통합 또는 분리된 형태로 구현될 수 있다. 본 발명에 따르면, 상기 근거리 무선 통신부(207)는 무선AP를 통해 상기 무선단말(200)을 패킷 통신 기반의 근거리 무선 데이터 통신을 제공하는 데이터망에 연결한다.
상기 USIM 리더부(209)는 ISO/IEC 7816 규격을 기반으로 상기 무선단말(200)에 탑재 또는 이탈착되는 범용가입자식별모듈(Universal Subscriber Identity Module)과 적어도 하나의 데이터셋트를 교환하는 구성의 총칭으로서, 상기 데이터셋트는 APDU(Application Protocol Data Unit)를 통해 반이중 통신 방식으로 교환된다.
상기 USIM은 ISO/IEC 7816 규격을 비롯한 UICC 규격을 따르는 칩 카드의 총칭으로서, 상기 USIM 리더부(209)와 연결되는 적어도 하나의 접점을 포함하는 입출력 인터페이스와, 적어도 하나의 IC칩용 프로그램코드와 데이터셋트를 저장하는 IC칩 메모리와, 상기 입출력 인터페이스와 연결되어 상기 무선단말(200)로부터 전달되는 적어도 하나의 명령에 따라 상기 IC칩용 프로그램코드를 연산하거나 상기 데이터셋트를 추출(또는 가공)하여 상기 입출력 인터페이스로 전달하는 프로세서를 포함하여 이루어진다.
상기 SD 인식부(210)는 상기 도면1에 도시된 상기 SD메모리(100)와 인터페이스하는 구성부의 총칭으로서, 바람직하게 상기 SD메모리(100)의 SD 인터페이스부(185)와 전기적 접점을 형성하는 SD 접점을 구비한다. 본 발명의 일 실시 방법에 따르면, 상기 SD메모리(100)의 칩(105)은 도면1에 도시된 SD메모리(100)에 구비된 인터페이스모듈(175)을 통해 SD 인터페이스부(185)를 거쳐 상기 SD 인식부(210)의 SD 접점과 전기적으로 연결되어 상기 무선단말(200)과 인터페이스할 수 있다. 본 발명의 다른 일 실시 방법에 따르면, 상기 SD 인식부(210)는 상기 SD메모리(100)의 COB에 대응하는 접촉점(170)과 전기적 접점을 형성하는 칩 접점을 구비할 수 있으며, 이 경우 상기 SD메모리(100)의 칩(105)은 상기 접촉점(170)을 통해 상기 칩 접점과 전기적으로 연결되어 상기 무선단말(200)과 인터페이스할 수 있다.
상기 통신 자원이 접속 가능한 데이터망을 통해 프로그램제공서버(예컨대, 애플사의 앱스토어 등)로부터 본 발명의 프로그램(215)이 다운로드되어 상기 메모리부(211)에 저장된다. 상기 다운로드된 프로그램(215)은 지정된 서버(300)와 연동하여 동작하며, 사용자에 의해 수동으로 구동되거나, 메시지 수신에 의해 사용자 확인 후 또는 자동으로 구동(또는 활성화)될 수 있다. 한편 상기 프로그램(215)을 사용자 확인 후 또는 자동으로 구동하기 위해 별도의 프로그램(215)이 미리 구동 중일 수 있으며, 이에 의해 본 발명이 한정되지 아니한다.
도면2를 참조하면, 상기 무선단말(200)의 프로그램(215)은, 상기 통신 자원이 접속 가능한 데이터망을 통해 지정된 서버(300)에 접속하여 사용자를 회원으로 가입시키나 또는 사용자의 회원 자격을 인증받는 회원 가입/인증부(220)와, 상기 통신 자원을 통해 접속 가능한 적어도 하나의 통신망을 개입시켜 상기 프로그램(215)의 유효성을 인증받는 절차를 수행하는 인증 절차부(225)와, 상기 무선단말(200)에 구비 또는 할당된 단말 식별 값을 지정된 서버(300)에 등록하는 식별 값 등록부(230)를 구비한다. 한편 실시 방법에 따라 상기 회원 가입/인증부(220), 인증 절차부(225), 식별 값 등록부(230) 중 적어도 하나의 구성부는 생략 가능하다.
상기 프로그램(215)은 상기 통신 자원이 접속 가능한 데이터망을 통해 지정된 서버(300)에 접속하는 통신 연결 매크로 정보를 구비하며, 상기 회원 가입/인증부(220)는 상기 화면 출력부(202)를 통해 사용자를 회원으로 가입시키는 사용자 정보(예컨대, 성명, 주민등록번호 등)와 회원 계정을 입력하는 인터페이스를 출력하고, 상기 데이터망을 통해 지정된 서버(300)로 상기 인터페이스를 통해 입력된 사용자 정보와 회원 계정을 전송하여 상기 사용자를 회원으로 가입시킨다.
한편 상기 사용자의 회원 가입은 상기 무선단말(200) 이외에 별도의 사용자 단말을 통해 가입될 수 있다. 따라서 상기 사용자가 이미 회원으로 가입되어 있거나, 또는 상기 사용자 단말을 통해 회원으로 가입된 경우, 상기 회원 가입/인증부(220)는 상기 사용자의 회원 계정을 입력하는 인터페이스를 출력하고, 상기 데이터망을 통해 지정된 서버(300)로 상기 인터페이스를 통해 입력된 회원 계정을 전송하여 상기 사용자가 회원인지 인증시킨다.
상기 인증 절차부(225)는 상기 통신 자원이 접속 가능한 데이터망과 전화통화망 중 적어도 하나의 통신망을 개입시켜 지정된 서버(300)로 상기 프로그램(215)의 유효성을 인증시킨다. 본 발명의 실시 방법에 따르면, 상기 프로그램(215)의 유효성을 인증하는 과정은 상기 프로그램(215)과 지정된 서버(300) 사이에 미리 합의된 암/복호화 통신 과정을 수행되며, 편의상 상기 암/복호화 과정에 대한 상세한 설명은 생략하기로 한다.
본 발명의 제1 프로그램 인증 방식에 의하면, 상기 프로그램(215)은 지정된 서버(300)에 의해 운영되는 프로그램임을 식별할 수 있는 고유 값이 설정된 상태로 프로그램제공서버를 통해 다운로드될 수 있다. 이 경우 상기 인증 절차부(225)는 상기 고유 값을 지정된 서버(300)로 전송하거나, 또는 상기 고유 값을 기반으로 지정된 서버(300)와 지정된 키 교환 프로토콜에 따른 키 교환 절차를 거침으로써, 상기 프로그램(215)이 지정된 서버(300)에 의해 운영되는 프로그램임을 인증시킬 수 있다.
본 발명의 제2 프로그램 인증 방식에 의하면, 상기 프로그램(215)은 상기 프로그램제공서버를 통해 다운로드된 후에 지정된 절차에 따라 데이터망 상에서 상기 프로그램(215)을 고유하게 식별하는 토큰 값(예컨대, 애플사의 APNS에 의해 할당되는 디바이스 토큰 등)이 할당될 수 있다. 이 경우 상기 인증 절차부(225)는 지정된 경로에 따라 상기 토큰 값을 지정된 서버(300)로 전송함으로써, 상기 프로그램(215)이 지정된 서버(300)에 의해 운영되는 프로그램임을 인증시킬 수 있다.
본 발명의 제3 프로그램 인증 방식에 의하면, 상기 프로그램(215)은 상기 프로그램(215)에 대응하는 적어도 하나의 파일을 지정된 해시 알고리즘에 따라 해시하여 해시정보를 구성하고, 상기 해시정보를 지정된 서버(300)로 전송함으로써, 상기 프로그램(215)이 지정된 서버(300)에 의해 운영되는 유효한 프로그램임을 인증시킬 수 있다. 한편 상기 인증 절차부(225)는 상기 해시정보를 구성하는 과정에서 내부적으로 결정되거나 또는 지정된 서버(300)와 교환된 키 값을 더 이용하여 해시정보를 구성할 수 있다.
본 발명의 제4 프로그램 인증 방식에 의하면, 상기 프로그램(215)은 지정된 인증 절차를 수행하기 위한 인증서가 탑재된 상태로 프로그램제공서버를 통해 다운로드되거나 또는 프로그램제공서버를 통해 다운로드된 후에 지정된 인증서 발급 또는 로밍 절차에 따라 인증서가 탑재될 수 있다. 이 경우 상기 인증 절차부(225)는 상기 인증서에 정의된 인증 절차에 따라 상기 인증서에 설정된 적어도 하나의 키 값과 키 교환 프로토콜 및 암/복호화 규칙을 선택적으로 이용하여 상기 프로그램(215)이 지정된 서버(300)에 의해 운영되는 프로그램임을 인증시킬 수 있다. 상기 인증서는 지정된 서버(300)의 인증서이거나 또는 상기 프로그램(215)을 사용하는 사용자의 인증서 중 적어도 하나의 인증서를 포함할 수 있다.
본 발명의 제5 프로그램 인증 방식에 의하면, 상기 무선단말(200)은 전화통화망의 메시지 교환 프로토콜을 통해 지정된 서버(300)로부터 발송된 인증번호가 수신되면, 상기 수신된 인증번호를 입력받아 상기 데이터망을 통해 지정된 서버(300)로 전송함으로써, 상기 프로그램(215)이 지정된 서버(300)에 의해 운영되는 프로그램임을 인증시킬 수 있다.
본 발명의 제6 프로그램 인증 방식에 의하면, 상기 인증 절차부(225)는 상기 제1 내지 제5 프로그램 인증 방식 중 하나 이상을 선택적으로 조합한 인증 방식을 통해 지정된 서버(300)로부터 상기 프로그램(215)의 유효성을 인증시키는 것이 가능하며, 이에 의해 본 발명이 한정되지 아니한다.
상기 제1 내지 제6 프로그램 인증 방식을 수행하는 과정 전, 중, 후의 지정된 어느 시점에, 상기 인증 절차부(225)는 상기 무선단말(200)의 메모리부(211) 또는 SE(Secure Element, 무선단말(200)에 탑재 또는 이탈착되는 USIM(Universal Subscriber Identify Module), IC(Integrated Circuit)칩, SD메모리(100)의 칩(105) 중 적어도 하나의 보안저장영역)에 저장된 고유 정보, 또는 상기 무선단말(200)이 상기 무선망 통신부(208)를 통해 지정된 통신망에 접속 또는 유지하는 과정에서 통신사 측 자원에 의해 할당된 고유 정보를 지정된 서버(300)로 전송함으로써, 상기 프로그램(215)이 지정된 서버(300)에 의해 운영되는 프로그램임과 동시에 상기 프로그램(215)이 상기 무선단말(200)에서 구동 중임을 동시에 인증시킬 수 있다.
상기 식별 값 등록부(230)는 상기 무선단말(200)의 읽기영역에 저장된 정보, 상기 무선단말(200)의 고유저장영역에 저장된 정보, 상기 무선단말(200)의 H/W구성에 기록된 정보, 상기 무선단말(200)이 접속한 네트워크에서 할당/부여한 정보 중 적어도 하나의 정보를 포함하는 단말 식별 값, 및/또는 상기 제1 내지 제6 프로그램 인증 방식을 통해 수행된 프로그램 인증 과정 또는 인증의 결과로서 상기 프로그램(215)에 할당된 정보, 상기 프로그램(215)에 의해 상기 무선단말(200)에 저장된 정보 중 적어도 하나의 정보를 포함하는 단말 식별 값을 확인하고, 상기 확인된 단말 식별 값을 지정된 서버(300)로 전송하여 등록시킨다.
도면2를 참조하면, 상기 무선단말(200)의 프로그램(215)은, 상기 도면1의 SD메모리(100)의 칩(105)과 지정된 서버(300) 사이의 종단 간 인증을 위해 SD메모리(100)의 칩(105)과 연동하는 칩 연동부(235)와, 상기 SD메모리(100)의 칩(105)과 서버(300) 사이의 종단 간 인증을 위해 통신망을 통해 상기 서버(300)와 연동하는 서버 연동부(240)와, 상기 SD메모리(100)의 칩(105)과 서버(300) 사이의 종단 간 인증의 결과로서 상기 SD메모리(100)의 칩(105)으로부터 제공되는 인증코드를 확인하는 코드 확인부(245)와, 상기 확인된 코드를 출력하는 코드 출력부(250)를 구비하며, 상기 확인된 코드를 지정된 인증서버로 전송하는 코드 전송부(255)를 구비한다.
상기 칩 연동부(235)는 SD메모리(100)의 칩(105)과 서버(300) 사이의 종단 간 인증 및 상기 종단 간 인증의 결과로서 상기 SD메모리(100)의 칩(105)으로부터 제공되는 인증코드를 이용하기 위해 상기 SD메모리(100)의 칩(105)과 연동하는 프로그램(215) 구성부의 총칭이고, 상기 서버 연동부(240)는 SD메모리(100)의 칩(105)과 서버(300) 사이의 종단 간 인증 및 상기 종단 간 인증의 결과로서 상기 SD메모리(100)의 칩(105)으로부터 제공되는 인증코드를 이용하기 위해 상기 서버(300)와 연동하는 프로그램(215) 구성부의 총칭이다.
상기 칩 연동부(235)는 SD메모리(100)의 칩(105)과 서버(300) 사이의 종단 간 인증을 기반으로 상기 SD메모리(100)의 칩(105)으로부터 인증코드를 제공받기 위해, 상기 SD메모리(100)의 칩(105)으로 입력하기로 지정된 적어도 하나의 입력 값을 획득한다. 바람직하게, 상기 입력 값은 상기 무선단말(200)의 타이머를 통해 획득된 시간 값을 포함하며, 실시 방법에 따라 상기 칩 연동부(235)에 의해 생성된 단말 측 난수 값, 또는 지정된 서버(300)로부터 수신된 챌린지 값을 포함할 수 있다. 이하, 편의상 상기 입력 값을 시간 값으로 간주하여 본 발명의 특징을 설명하기로 한다.
상기 칩 연동부(235)는 상기 SD메모리(100)의 칩(105)이 인터페이스된 상태를 확인하고, 상기 인터페이스된 SD메모리(100)의 칩(105)으로 상기 획득된 시간 값을 제공한다. 상기 SD메모리(100)의 칩(105)은 상기 시간 값을 포함하는 데이터(c)를 지정된 암호모듈(115)을 통해 지정된 서버(300)에서 복호화 가능하게 암호화시킨 암호데이터(c)를 생성하여 제공한다. 상기 칩 연동부(235)는 상기 SD메모리(100)의 칩(105)으로부터 수신된 암호데이터(c)를 서버 연동부(240)로 제공한다.
본 발명의 실시 방법에 따르면, 상기 칩 연동부(235)는 상기 SD메모리(100)의 칩(105)에 대하여 지정된 인증 절차를 수행할 수 있다. 바람직하게, 상기 인증 절차는 PIN 인증 절차를 포함하며, 이를 위해 상기 칩 연동부(235)는 사용자로부터 PIN 값을 입력받고, 상기 인터페이스된 SD메모리(100)의 칩(105)으로 상기 입력된 PIN 값을 제공한다. 상기 SD메모리(100)의 칩(105)은 상기 PIN 값을 인증한다. 상기 PIN 인증 절차가 수행되는 경우, 상기 암호데이터(c)는 상기 PIN 인증의 결과로서 상기 SD메모리(100)의 칩(105)으로부터 수신될 수 있다. 한편 본 발명의 실시 방법에 따라 상기 PIN 인증 절차를 생략되거나, 또는 상기 서버(300)로부터 수신된 암호데이터(s)를 상기 SD메모리(100)의 칩(105)으로 제공하는 과정과 연계하여 처리될 수 있다.
상기 서버 연동부(240)는 상기 서버(300)에 대응하는 통신 프로토콜과 보안 프로토콜을 이용하여 상기 암호데이터(c)를 상기 서버(300)로 전송한다. 본 발명의 실시 방법에 따르면, 상기 서버 연동부(240)는 상기 암호데이터(c)를 상기 서버(300)로 전송하기 전, 중, 후의 지정된 어느 시점에, 상기 식별 값 등록부(230)에 의해 상기 서버(300)에 등록된 단말 식별 값을 확인하고, 상기 확인된 단말 식별 값을 상기 서버(300)로 전송할 수 있다.
상기 서버 연동부(240)는 상기 서버(300)로부터 상기 서버(300)에 의해 동적 생성된 서버 측 난수코드를 포함하는 데이터(s)를 암호화한 암호데이터(s)를 수신하고, 상기 수신된 암호데이터(s)를 상기 칩 연동부(235)로 제공한다.
상기 칩 연동부(235)는 상기 인터페이스된 SD메모리(100)의 칩(105)으로 상기 암호데이터(s)를 제공한다. 상기 SD메모리(100)의 칩(105)은 상기 암호데이터(s)를 지정된 복호모듈(120)을 통해 복호화시킨 데이터(s)에 포함된 서버 측 난수코드에 대응하는 인증코드를 제공한다.
상기 칩 연동부(235)는 상기 인터페이스된 SD메모리(100)의 칩(105)으로부터 상기 인증코드를 수신하고, 상기 코드 확인부(245)는 상기 인터페이스된 SD메모리(100)의 칩(105)으로부터 수신된 인증코드를 확인한다. 상기 코드 출력부(250)는 상기 화면 출력부(202)를 통해 상기 확인된 인증코드를 출력한다. 본 발명의 실시 방법에 따르면, 상기 코드 전송부(255)는 상기 확인된 인증코드를 지정된 인증서버로 전송할 수 있다.
도면3은 본 발명의 실시 방법에 따른 서버(300)의 구성을 도시한 도면이다.
보다 상세하게 본 도면3은 상기 도면1에 도시된 SD메모리(100)의 칩(105)에서 생성한 암호데이터(c)를 상기 도면2에 도시된 무선단말(200)을 통해 수신하고, 지정된 코드생성규칙에 따라 동적 생성된 서버 측 난수코드를 포함하는 데이터(s)를 상기 칩(105)의 복호모듈(120)을 통해 복호화 가능하게 암호화한 암호데이터(s)를 상기 무선단말(200)로 전송함으로써, 상기 무선단말(200)로 하여금 상기 암호데이터(s)를 상기 SD메모리(100)의 칩(105)으로 제공한 후 상기 SD메모리(100)의 칩(105)으로부터 인증코드를 제공받아 출력하도록 하는 서버(300)의 구성을 도시한 것으로서, 본 발명이 속한 기술분야에서 통상의 지식을 가진 자라면, 본 도면3을 참조 및/또는 변형하여 상기 서버(300)의 구성에 대한 다양한 실시 방법(예컨대, 일부 구성부가 생략되거나, 또는 세분화되거나, 또는 합쳐진 실시 방법)을 유추할 수 있을 것이나, 본 발명은 상기 유추되는 모든 실시 방법을 포함하여 이루어지며, 본 도면3에 도시된 실시 방법만으로 그 기술적 특징이 한정되지 아니한다.
본 발명의 서버(300)는, 상기 도면1에 도시된 SD메모리(100)의 칩(105)과 종단 간 인증을 처리하고, 지정된 코드생성규칙에 따라 동적 생성된 서버 측 난수코드를 포함하는 데이터(s)를 상기 칩(105)의 복호모듈(120)을 통해 복호화 가능하게 암호화한 암호데이터(s)를 상기 무선단말(200)로 전송하는 기능을 구비한 구성의 총칭이다. 본 도면3에 도시된 서버(300)의 구성은 네트워크 상에 구비되는 물리적 서버를 통해 구현되거나, 또는 네트워크 상에 기 구비된 서버(예컨대, 뱅킹서버, 결제승인서버 등)에 구현되는 프로그램모듈의 형태로 구현될 수 있다. 즉, 본 발명의 서버(300)가 구현되는 방식에 의해 본 발명이 한정되지 아니함을 명백하게 밝혀두는 바이다.
도면3을 참조하면, 상기 서버(300)는, 사용자를 회원으로 가입 및 인증하는 회원 운영부(305)와, 상기 도면2의 무선단말(200)에 탑재된 프로그램(215)의 유효성을 인증하는 프로그램 인증부(310)와, 상기 도면2의 무선단말(200)을 통해 상기 도면1의 SD메모리(100)의 칩(105)과 종단 간 인증을 위한 정보를 등록받아 저장하는 정보 저장부(315)를 구비한다.
상기 회원 운영부(305)는 사용자를 회원으로 가입 받는다. 상기 회원 가입은 상기 도면2에 도시된 프로그램(215)의 회원 가입/인증부(220)와 연동하여 이루어지거나, 또는 상기 도면2의 무선단말(200) 이외에 별도의 사용자 단말을 통해 이루어질 수 있다. 또는 상기 사용자에게 상기 도면1의 SD메모리(100)를 발급하는 시점에 발급기관에 구비된 관리단말(365) 또는 상기 서버(300)를 관리하는 관리단말(365)을 통해 처리될 수 있다.
상기 사용자가 상기 무선단말(200)을 이용하여 SD메모리(100)의 칩(105)과 서버(300) 사이의 종단 간 인증을 기반으로 인증코드를 제공받고자 하는 경우, 상기 회원 운영부(305)는 상기 무선단말(200)에 구비된 프로그램(215)의 회원 가입/인증부(220)와 연동하여 상기 사용자에 대한 회원 인증을 처리할 수 있다.
한편 본 발명에 따른 SD메모리(100)의 칩(105)과 서버(300) 사이의 종단 간 인증 기반 서버형 인증코드 서비스가 회원 가입 없이 프로그램 인증이나 단말 인증만으로 제공되거나, 또는 인증코드 기반 서비스를 제공하는 별도의 서버(예컨대, 뱅킹서버, 결제승인서버 등)에 가입된 회원 정보를 이용하여 제공되는 경우, 상기 회원 운영부(305)는 생략 가능하다.
상기 프로그램 인증부(310)는 상기 도면2에 도시된 프로그램(215)의 인증 절차부(225)와 연동하여 제1 내지 제6 프로그램 인증 방식에 따라 무선단말(200)에 구비된 프로그램(215)의 유효성을 인증한다.
상기 정보 저장부(315)는 상기 프로그램 인증부(310)를 통해 상기 무선단말(200)에 구비된 프로그램(215)의 유효성을 인증하는 과정에서 상기 프로그램(215)에 할당된 정보, 상기 프로그램(215)에 의해 상기 무선단말(200)에 저장된 정보 중 적어도 하나의 정보를 포함하는 단말 식별 값, 및/또는 상기 도면2에 도시된 프로그램(215)의 식별 값 등록부(230)와 연동하여 상기 무선단말(200)의 읽기영역에 저장된 정보, 상기 무선단말(200)의 고유저장영역에 저장된 정보, 상기 무선단말(200)의 H/W구성에 기록된 정보, 상기 무선단말(200)이 접속한 네트워크에서 할당/부여한 정보 중 적어도 하나의 정보를 포함하는 단말 식별 값을 확인하고, 상기 확인된 단말 식별 값을 지정된 저장매체에 저장한다.
한편, 상기 정보 저장부(315)는 발급기관에 구비된 관리단말(365) 또는 상기 서버(300)를 관리하는 관리단말(365)과 연동하여 상기 SD메모리(100)의 칩(105)으로부터 전송되는 암호데이터(c)에 포함될 정보를 등록받고여 지정된 저장매체에 저장한다. 바람직하게, 상기 정보 저장부(315)는 상기 암호데이터(c)에 포함될 고유코드(예컨대, 칩(105)의 지정된 고유영역에 저장된 CSN(Card Serial Number or Chip Serial Number), 응용영역(예컨대, 애플릿이 기록되는 영역)에 저장된 코드 값 등)를 등록받아 지정된 저장매체에 저장할 수 있다.
만약 상기 서버 측 난수코드가 지정된 코드생성규칙을 통해 생성되는 경우, 상기 정보 저장부(315)는 상기 코드생성규칙에 적용될 적어도 하나의 씨드 값을 확인하여 지정된 저장매체에 저장할 수 있다.
도면3을 참조하면, 상기 서버(300)는, 상기 무선단말(200)이 상기 SD메모리(100)의 칩(105)으로 제공한 시간 값을 포함하는 데이터(c)를 상기 칩(105)의 암호모듈(115)을 통해 암호화한 암호데이터(c)를 수신하는 데이터 수신부(320)와, 지정 복호 방식을 통해 상기 수신된 암호데이터(c)를 복호화하는 복호 처리부(325)와, 상기 복호화된 데이터(c)에 포함된 시간 값을 확인하는 정보 확인부(330)와, 상기 확인된 시간 값을 저장하는 시간 등록부(335)를 구비하고, 상기 SD메모리(100)의 칩(105) 또는 무선단말(200)에 대한 유효성을 인증하는 인증 처리부(340)를 구비한다.
상기 도면2에 도시된 무선단말(200)의 프로그램(215)이 시간 값을 획득하여 상기 도면1에 도시된 SD메모리(100)의 칩(105)으로 제공하면, 상기 SD메모리(100)의 칩(105)은 상기 시간 값을 포함하는 데이터(c)를 지정된 암호모듈(115)을 통해 상기 서버(300)에서 복호화 가능하게 암호화하여 암호데이터(c)를 생성하고, 상기 생성된 암호데이터(c)를 상기 무선단말(200)로 제공하는데, 상기 무선단말(200)은 상기 SD메모리(100)의 칩(105)으로부터 제공된 암호데이터(c)를 상기 서버(300)로 전송한다.
상기 데이터 수신부(320)는 상기 무선단말(200)로부터 상기 SD메모리(100)의 칩(105)을 통해 생성된 암호데이터(c)를 수신한다. 본 발명의 실시 방법에 따르면, 상기 무선단말(200)은 상기 암호데이터(c)를 전소하기 전, 중, 후의 지정된 시점에 상기 무선단말(200)에 대한 단말 식별 값을 전송할 수 있으며, 상기 데이터 수신부(320)는 상기 단말 식별 값을 수신하고, 상기 인증 처리부(340)는 지정된 저장매체에 저장된 단말 식별 값을 통해 상기 수신된 단말 식별 값의 유효성을 인증할 수 있다.
상기 무선단말(200)로부터 암호데이터(c)가 수신되면, 상기 복호 처리부(325)는 지정 복호 방식에 따라 상기 수신된 암호데이터(c)를 복호화하고, 상기 정보 확인부(330)는 상기 복호화된 데이터(c)에 포함된 시간 값을 확인하고, 상기 시간 등록부(335)는 상기 복호화된 데이터(c)로부터 확인된 시간 값을 본 발명에 따른 SD메모리(100)의 칩(105)과 서버(300) 사이의 종단 간 인증 기반 서버형 인증코드 서비스를 위한 타임스탬프(예컨대, 지정된 시간 순서에 따라 지정된 절차가 수행되고 있는지 인증하고 제3자 개입을 통한 해킹 여부를 검출하기 위한 기준 값)로서 지정된 저장매체에 저장한다.
본 발명의 제1 서버 측 확장 복호 방식에 따르면, 상기 데이터(c)는 상기 SD메모리(100)의 칩(105) 내에 지정된 고유코드를 더 포함할 수 있으며, 상기 정보 확인부(330)는 상기 복호화된 데이터(c)로부터 상기 고유코드를 확인하고, 상기 인증 처리부(340)는 지정된 저장매체에 저장된 고유코드를 통해 상기 복호화된 데이터(c)로부터 확인된 고유코드의 유효성을 인증함으로써, 상기 SD메모리(100)가 발급기관을 통해 사용자에게 유효하게 발급된 SD메모리(100)인지 인증할 수 있다. 상기 시간 등록부(335)는 상기 SD메모리(100)의 칩(105)이 인증된 시간을 확인하고, 상기 확인된 시간을 상기 타임스탬프 중의 하나로서 지정된 저장매체에 저장할 수 있다. 또한 상기 SD메모리(100)의 칩(105)이 인증되지 않더라도, 상기 시간 등록부(335)는 상기 SD메모리(100)의 칩(105)이 인증되지 않은 시간을 상기 타임스탬프 중의 하나로서 지정된 저장매체에 저장할 수 있다.
본 발명의 제2 서버 측 확장 복호 방식에 따르면, 상기 데이터(c)는 상기 SD메모리(100)의 칩(105) 내에 지정되어 있거나 또는 실시간 지정되는 칩 측 난수 값을 더 포함할 수 있으며, 상기 정보 확인부(330)는 상기 복호화된 데이터(c)로부터 상기 칩 측 난수 값을 확인할 수 있다.
본 발명의 제3 서버 측 확장 복호 방식에 따르면, 상기 데이터(c)는 상기 SD메모리(100)의 칩(105) 내에 지정된 키 값(1)을 더 포함할 수 있으며, 상기 정보 확인부(330)는 상기 복호화된 데이터(c)로부터 상기 키 값(1)을 확인할 수 있다.
도면3을 참조하면, 상기 서버(300)는, 지정된 코드생성규칙에 따라 동적 생성된 서버 측 난수코드를 확인하는 코드 생성부(345)와, 상기 서버 측 난수코드를 포함하는 데이터(s)를 상기 칩(105)의 복호모듈(120)을 통해 복호화 가능하게 암호화하여 암호데이터(s)를 생성하는 암호 처리부(350)와, 상기 무선단말(200)로 상기 생성된 암호데이터(s)를 전송하는 데이터 전송부(355)를 구비하며, 상기 무선단말(200)을 통해 상기 암호데이터(s)를 제공받은 SD메모리(100)의 칩(105)에서 상기 무선단말(200)로 제공한 인증코드에 대한 인증 절차가 수행되도록 제어하는 코드 인증 제어부(360)를 구비한다.
상기 코드 생성부(345)는 지정된 코드생성규칙을 이용하여 서버 측 난수코드를 동적 생성하거나, 또는 지정된 코드생성서버(370)를 통해 동적 생성된 서버 측 난수코드를 확인한다.
본 발명의 제1 난수코드 생성 방식에 따르면, 상기 코드 생성부(345) 또는 코드생성서버(370)는 지정된 난수 알고리즘(코드생성규칙)을 지정된 바이트의 난수 값을 생성하여 상기 서버 측 난수코드로 결정할 수 있다.
본 발명의 제2 난수코드 생성 방식에 따르면, 상기 코드 생성부(345) 또는 코드생성서버(370)는 상기 복호화된 데이터(c)로부터 확인된 시간 값을 지정된 코드생성규칙(예컨대, 지정된 자릿수의 코드 생성을 위한 해시 알고리즘과 상기 서버 측에 구비된 적어도 하나의 씨드를 이용(생략 가능)하는 규칙 등)의 씨드로 이용하여 서버 측 난수코드를 동적 생성할 수 있다.
본 발명의 제3 난수코드 생성 방식에 따르면, 상기 코드 생성부(345) 또는 코드생성서버(370)는 상기 복호화된 데이터(c)로부터 확인된 칩 측 난수 값을 지정된 코드생성규칙의 씨드로 이용하여 서버 측 난수코드를 동적 생성할 수 있다.
본 발명의 제4 난수코드 생성 방식에 따르면, 상기 코드 생성부(345) 또는 코드생성서버(370)는 상기 복호화된 데이터(c)로부터 확인된 키 값(1)을 지정된 코드생성규칙의 씨드로 이용하여 서버 측 난수코드를 동적 생성할 수 있다.
본 발명의 제5 난수코드 생성 방식에 따르면, 상기 코드 생성부(345) 또는 코드생성서버(370)는 상기 서버 측의 타이머를 통해 서버 측 시간 값을 획득하고, 상기 획득된 서버 측 시간 값을 지정된 코드생성규칙의 씨드로 이용하여 서버 측 난수코드를 동적 생성할 수 있다.
본 발명의 제6 난수코드 생성 방식에 따르면, 상기 코드 생성부(345) 또는 코드생성서버(370)는 상기 제1 내지 제5 난수코드 생성 방식 중 적어도 하나 또는 둘 이상의 방식을 조합하여 씨드를 결정한 후, 상기 결정된 씨드를 지정된 코드생성규칙에 적용하여 서버 측 난수코드를 동적 생성할 수 있다. 예를들어, 상기 코드 생성부(345) 또는 코드생성서버(370)는 제1 난수코드 생성 방식을 통해 생성된 난수 값을 지정된 코드생성규칙의 씨드로 이용하여 서버 측 난수코드를 동적 생성할 수 있다. 또는 상기 코드 생성부(345) 또는 코드생성서버(370)는 제1 난수코드 생성 방식을 통해 생성된 난수 값과 제2 난수코드 생성 방식을 통해 확인된 시간 값을 지정된 코드생성규칙의 씨드로 이용하여 서버 측 난수코드를 동적 생성할 수 있다. 또는 상기 코드 생성부(345) 또는 코드생성서버(370)는 제3 난수코드 생성 방식을 통해 확인된 칩 측 난수 값과 제4 난수코드 생성 방식을 통해 확인된 키 값(1)을 지정된 코드생성규칙의 씨드로 이용하여 서버 측 난수코드를 동적 생성할 수 있다. 상기 제1 내지 제5 난수코드 생성 방식 중 어떠한 방식을 통해 결정된 정보를 상기 코드생성규칙의 씨드로 포함시킬지는 당업자에 의해 선택 가능하며, 본 발명의 서버 측 난수코드는 상기 제1 내지 제6 난수코드 생성 방식을 통해 도출 가능한 모든 실시 방법을 포함함을 명백하게 밝혀두는 바이다.
본 발명의 실시 방법에 따르면, 상기 시간 등록부(335)는 상기 서버 측 난수코드가 생성된 시간을 확인하고, 상기 확인된 시간을 상기 타임스탬프 중의 하나로서 지정된 저장매체에 저장할 수 있다.
상기 코드 생성부(345)를 통해 서버 측 난수코드가 확인되면, 상기 암호 처리부(350)는 상기 서버 측 난수코드를 포함하는 데이터(s)를 구성하고, 상기 SD메모리(100)의 칩(105)에 구비된 복호모듈(120)을 통해 복호화 가능하게 상기 데이터(s)를 암호화하여 암호데이터(s)를 생성한다.
본 발명의 서버 측 확장 암호 방식에 따르면, 상기 데이터(s)는 상기 복호화된 데이터(c)로부터 확인된 정보를 이용하여 생성된 MAC을 더 포함하거나, 또는 상기 생성된 MAC과 상기 키 값(1)을 더 포함할 수 있다.
상기 데이터(s)에 MAC이 포함된 경우, 상기 암호 처리부(350)는 상기 복호화된 데이터(c)로부터 확인된 칩 측 난수 값과 키 값(1)을 지정 암호 방식(예컨대, 상기 SD메모리(100)의 칩(105)에 구비된 암호모듈(115)의 암호 알고리즘과 매칭되는 암호 알고리즘)으로 암호화하여 키 값(2)를 생성한다. 바람직하게, 상기 키 값(2)는 MAC을 생성하기 위한 임시 키이다. 상기 키 값(2)가 생성되면, 상기 암호 처리부(350)는 상기 코드 생성부(345)를 통해 확인된 서버 측 난수코드와 상기 생성된 키 값(2)를 지정 암호 방식으로 암호화하여 키 값(3)를 생성한다. 바람직하게, 상기 키 값(3)은 세션 키이다. 상기 키 값(3)이 생성되면, 상기 암호 처리부(350)는 상기 칩 측 난수 값과 키 값(3)를 지정 암호 방식으로 암호화하여 MAC을 생성한다. 본 발명의 실시 방법에 따르면, 상기 시간 등록부(335)는 상기 MAC이 생성된 시간을 확인하고, 상기 확인된 시간을 상기 타임스탬프 중의 하나로서 지정된 저장매체에 저장할 수 있다. 한편 본 발명의 MAC 생성 방식이 상기의 기재로만 한정되는 것은 아니며, 당업자에 의해 MAC 생성 방식은 변형 가능하고, 본 발명은 상기 변형되는 모든 실시 방법을 포함함을 명백하게 밝혀두는 바이다.
상기 데이터 전송부(355)는 상기 무선단말(200)로 상기 생성된 암호데이터(s)를 전송하며, 상기 시간 등록부(335)는 상기 무선단말(200)로 상기 암호데이터(s)가 전송된 시간을 확인하고, 상기 확인된 시간을 상기 타임스탬프 중의 하나로서 지정된 저장매체에 저장한다.
상기 무선단말(200)은 상기 암호데이터(s)를 SD메모리(100)의 칩(105)으로 제공하고, 상기 SD메모리(100)의 칩(105)은 상기 암호데이터(s)를 복호화고 지정된 인증 절차를 수행한 후에 상기 복호화된 데이터(s)에 포함된 서버 측 난수코드에 대응하는 인증코드를 결정하여 무선단말(200)로 제공하며, 상기 무선단말(200)은 상기 SD메모리(100)의 칩(105)으로부터 제공된 인증코드를 출력한다.
상기 코드 인증 제어부(360)는 상기 데이터(s)에 포함된 서버 측 난수코드를 저장(또는 유지)함으로써, 상기 무선단말(200)을 통해 출력된 인증코드가 지정된 거래단말 또는 상기 무선단말(200)로부터 상기 서버(300) 또는 지정된 인증서버로 수신되는 경우, 상기 저장(또는 유지)된 서버 측 난수코드를 기반으로 상기 수신된 인증코드의 유효성이 인증되도록 제어한다. 만약 상기 서버 측 난수코드와 상기 인증코드의 형태가 상이한 경우, 상기 코드 인증 제어부(360)는 상기 서버 측 난수코드를 상기 인증코드의 형태로 변형하거나 또는 가공하는 규칙을 저장(또는 유지)하거나, 또는 상기 규칙에 따라 상기 서버 측 난수코드를 상기 인증코드의 형태로 변형 또는 가공하여 저장(또는 유지)함으로써, 상기 인증코드의 유효성이 인증되도록 제어할 수 있다. 상기 코드 인증 제어부(360)의 제어에 따라 상기 인증코드의 유효성이 인증된 경우, 상기 시간 등록부(335)는 상기 인증코드가 인증된 시간을 확인하고, 상기 확인된 시간을 상기 타임스탬프 중의 하나로서 지정된 저장매체에 저장한다.
이하, 상기 도면1에 도시된 SD메모리(100)의 칩(105)과 본 도면3의 서버(300)가 상기 도면2에 도시된 무선단말(200)을 경유하여 종단 간 인증을 수행하고, 상기 종단 간 인증의 결과로서 상기 SD메모리(100)의 칩(105)에서 제공한 인증코드를 상기 무선단말(200)을 통해 출력하는 과정에 대한 바람직한 실시 방법을 설명하기로 한다. 다만 이하의 실시 방법은 편의상 상기 도면1, 도면2 및 본 도면3에 도시 설명된 각 실시 방법에 대한 바람직한 합집합의 형태로 설명한다.
도면4는 본 발명의 실시 방법에 따라 서버(300)가 SD메모리(100)의 칩(105)을 인증하는 종단간 인증 과정을 도시한 것이다.
보다 상세하게 본 도면4는 SD메모리(100)의 칩(105)에서 암호데이터(c)를 생성하여 무선단말(200)을 통해 서버(300)로 전송하면, 서버(300)가 암호데이터(c)를 통해 SD메모리(100)의 칩(105)의 유효성을 인증하는 과정을 도시한 것으로서, 본 발명이 속한 기술분야에서 통상의 지식을 가진 자라면, 본 도면4를 참조 및/또는 변형하여 상기 종단간 인증 과정에 대한 다양한 실시 방법(예컨대, 일부 단계가 생략되거나, 또는 순서가 변경된 실시 방법)을 유추할 수 있을 것이나, 본 발명은 상기 유추되는 모든 실시 방법을 포함하여 이루어지며, 본 도면4에 도시된 실시 방법만으로 그 기술적 특징이 한정되지 아니한다.
무선단말(200)은 프로그램(215)을 다운로드하여 설치한 후 회원 가입/인증, 프로그램 인증, 단말 식별 값 등록 중 적어도 하나의 절차를 수행(생략 가능)하고, 도면1의 SD메모리(100)의 칩(105)이 인터페이스되는지 확인한다(400). 만약 SD메모리(100)의 칩(105)이 인터페이스되면, 상기 무선단말(200)은 상기 SD메모리(100)의 칩(105)으로 제공할 시간 값을 획득하고(405), 상기 SD메모리(100)의 칩(105)으로 시간 값을 제공한다(410). 실시 방법에 따라 상기 시간 값을 제공하는 과정에서 PIN 인증이 수행될 수 있다.
상기 SD메모리(100)의 칩(105)은 상기 시간 값을 수신하고(415), 데이터(c)에 포함될 고유코드, 칩 측 난수 값, 키 값(1)을 확인한 후(420), 상기 고유코드, 시간 값, 칩 측 난수 값, 키 값(1)을 포함하는 데이터(c)를 지정된 서버(300)에서 복호화 가능하게 지정된 암호모듈(115)을 통해 암호화시켜 암호데이터(c)를 생성한다(425).
만약 상기 암호데이터(c)기 생성되면, 상기 SD메모리(100)의 칩(105)은 무선단말(200)로 상기 암호데이터(c)를 제공하고(430), 상기 무선단말(200)은 상기 암호데이터(c)를 수신한다(435).
상기 무선단말(200)은 단말 인증을 위한 단말 식별 값을 확인하고(440), 지정된 서버(300)로 상기 암호데이터(c)와 단말 식별 값을 전송하며(445). 상기 서버(300)는 상기 무선단말(200)로부터 상기 암호데이터(c)와 단말 식별 값을 수신한다(450).
상기 서버(300)는 상기 등록된 단말 식별 값을 이용하여 상기 수신된 단말 식별 값을 인증함으로써, 상기 암호데이터(c)를 전송한 무선단말(200)의 유효성을 인증한다(455). 만약 상기 무선단말(200)의 유효성이 인증되지 않으면, 상기 서버(300)는 상기 무선단말(200)로 인증 오류를 제공하고(460), 상기 인증 오류가 제공된 시간을 저장하며(460), 상기 무선단말(200)은 상기 서버(300)로부터 상기 인증 오류를 수신하여 출력한다(465).
만약 상기 무선단말(200)의 유효성이 인증되면, 상기 서버(300)는 상기 무선단말(200)이 인증된 시간을 저장하고(470), 상기 수신된 암호데이터(c)를 복호화 처리한다(470). 상기 서버(300)는 상기 암호데이터(c)가 복호화된 시간을 저장하고(475), 상기 복호화된 데이터(c)로부터 고유코드, 시간 값, 칩 측 난수 값, 키 값(1)을 확인한다(475).
상기 서버(300)는 상기 복호화된 데이터(c)로부터 확인된 시간 값을 저장하고(480), 기 등록된 고유코드를 통해 상기 복호화된 데이터(c)로부터 확인된 고유코드의 유효성을 인증함으로써, 상기 암호데이터(c)를 생성한 SD메모리(100)의 칩(105)의 유효성을 인증한다(485). 만약 상기 SD메모리(100)의 칩(105)의 유효성이 인증되지 않으면, 상기 서버(300)는 상기 무선단말(200)로 인증 오류를 제공하고(460), 상기 인증 오류가 제공된 시간을 저장하며(460), 상기 무선단말(200)은 상기 서버(300)로부터 상기 인증 오류를 수신하여 출력한다(465). 한편 상기 SD메모리(100)의 칩(105)의 유효성이 인증되면, 상기 서버(300)는 상기 SD메모리(100)의 칩(105)의 유효성이 인증된 시간을 저장한다(490).
도면5는 본 발명의 실시 방법에 따라 SD메모리(100)의 칩(105)이 서버(300)를 인증하는 종단간 인증 과정을 도시한 것이다.
보다 상세하게 본 도면5는 서버(300)에서 암호데이터(s)를 생성하여 전송하면, SD메모리(100)의 칩(105)이 상기 무선단말(200)을 통해 암호데이터(s)를 수신하여 서버(300)의 유효성을 인증하는 과정을 도시한 것으로서, 본 발명이 속한 기술분야에서 통상의 지식을 가진 자라면, 본 도면5를 참조 및/또는 변형하여 상기 종단간 인증 과정에 대한 다양한 실시 방법(예컨대, 일부 단계가 생략되거나, 또는 순서가 변경된 실시 방법)을 유추할 수 있을 것이나, 본 발명은 상기 유추되는 모든 실시 방법을 포함하여 이루어지며, 본 도면5에 도시된 실시 방법만으로 그 기술적 특징이 한정되지 아니한다.
상기 도면4에 도시된 과정을 통해 무선단말(200) 및 SD메모리(100)의 칩(105)에 대한 유효성이 인증되면, 상기 서버(300)는 지정된 코드생성규칙을 통해 상기 난수코드를 동적 생성하거나, 또는 지정된 코드생성서버(370)를 통해 동적 생성된 난수코드를 확인한다(500). 바람직하게, 상기 서버(300)는 상기 도면3의 제1 내지 제6 난수코드 생성 방식에 의해 생성된 서버 측 난수코드를 확인한다.
상기 서버 측 난수코드가 확인되면, 상기 서버(300)는 상기 서버 측 난수코드가 생성된 시간을 저장하고(505), 상기 복호화된 데이터(c)로부터 확인된 칩 측 난수 값과 키 값(1)을 지정 암호 방식으로 암호화하여 키 값(2)를 생성하고(510), 상기 서버 측 난수코드와 상기 생성된 키 값(2)를 지정 암호 방식으로 암호화하여 키 값(3)를 생성하고(515), 상기 칩 측 난수 값과 키 값(3)를 지정 암호 방식으로 암호화하여 MAC을 생성하고(520), 상기 MAC이 생성된 시간을 저장한다(520).
상기 서버(300)는 상기 생성된 MAC과 상기 확인된 서버 측 난수코드 및 상기 키 값(1)을 포함하는 데이터(s)를 상기 SD메모리(100)의 칩(105)에 구비된 복호모듈(120)을 통해 복호화 가능하게 암호화하여 암호데이터(s)를 생성한다(525).
만약 상기 암호데이터(s)가 생성되면, 상기 서버(300)는 상기 무선단말(200)로 상기 암호데이터(s)를 제공하고(530), 상기 암호데이터(s)가 생성/전송된 시간을 저장한다(530).
상기 무선단말(200)은 상기 서버(300)로부터 상기 암호데이터(s)를 수신하고(535), 인터페이스된 SD메모리(100)의 칩(105)으로 상기 암호데이터(s)를 제공한다(540). 실시 방법에 따라 상기 암호데이터(s)를 제공하는 과정에서 PIN 인증이 수행될 수 있다.
상기 SD메모리(100)의 칩(105)은 상기 암호데이터(s)를 수신하고(545), 지정된 복호모듈(120)을 통해 상기 암호데이터(s)를 복호화시키고(550), 상기 복호화된 데이터(s)에 포함된 MAC, 서버 측 난수코드 및 키 값(1)을 확인한다(555).
상기 SD메모리(100)의 칩(105)은 상기 데이터(s)에 포함된 키 값(1)을 통해 복호화된 데이터(s)로부터 확인된 키 값(1)에 대한 유효성을 확인함으로써(555), 상기 서버 측 난수코드를 생성한 서버(300)의 유효성 또는 상기 서버(300)에 의해 생성된 서버 측 난수코드의 유효성을 인증한다. 만약 상기 키 값(1)에 대한 유효성이 인증되지 않으면, 상기 SD메모리(100)의 칩(105)은 상기 무선단말(200)로 인증 오류를 제공하고(560), 상기 무선단말(200)은 상기 인증 오류를 수신하여 출력한다(565).
만약 상기 키 값(1)의 유효성이 인증되면, 상기 SD메모리(100)의 칩(105)은 지정된 암호모듈(115)을 통해 상기 칩 측 난수 값과 키 값(1)을 암호화시켜 키 값(2)를 생성하고(560), 상기 암호모듈(115)을 통해 서버 측 난수코드와 상기 생성된 키 값(2)를 암호화시켜 키 값(3)를 생성하고(565), 상기 암호모듈(115)을 통해 상기 칩 측 난수 값과 키 값(3)를 암호화시켜 MAC을 생성하고(570), 상기 생성된 MAC을 통해 상기 복호화된 데이터(s)로부터 확인된 MAC에 대한 유효성을 확인함으로써(575), 상기 서버 측 난수코드를 생성한 서버(300)의 유효성 또는 상기 서버(300)에 의해 생성된 서버 측 난수코드의 유효성을 인증한다. 만약 상기 MAC에 대한 유효성이 인증되지 않으면, 상기 SD메모리(100)의 칩(105)은 상기 무선단말(200)로 인증 오류를 제공하고(560), 상기 무선단말(200)은 상기 인증 오류를 수신하여 출력한다(565).
도면6은 본 발명의 실시 방법에 따라 인증코드를 제공하는 과정을 도시한 것이다.
보다 상세하게 본 도면6은 상기 도면4 내지 도면5에 도시된 과정을 통해 SD메모리(100)의 칩(105)과 서버(300) 사이의 종단간 인증을 처리한 후에, 상기 SD메모리(100)의 칩(105)에서 서버 측 난수코드에 대응하는 인증코드를 제공하면, 무선단말(200)이 상기 인증코드를 수신하여 출력하는 과정을 도시한 것으로서, 본 발명이 속한 기술분야에서 통상의 지식을 가진 자라면, 본 도면6을 참조 및/또는 변형하여 상기 인증코드 제공 과정에 대한 다양한 실시 방법(예컨대, 일부 단계가 생략되거나, 또는 순서가 변경된 실시 방법)을 유추할 수 있을 것이나, 본 발명은 상기 유추되는 모든 실시 방법을 포함하여 이루어지며, 본 도면6에 도시된 실시 방법만으로 그 기술적 특징이 한정되지 아니한다.
상기 도면4에 도시된 과정을 통해 서버(300)가 SD메모리(100)의 칩(105)을 인증하고, 상기 도면5에 도시된 과정을 통해 SD메모리(100)의 칩(105)이 서버(300)를 인증하면, 상기 SD메모리(100)의 칩(105)은 상기 도면4 내지 도면5에 도시된 과정을 통해 처리된 SD메모리(100)의 칩(105)과 서버(300) 사이의 종단간 인증의 결과로서, 상기 서버(300)에 의해 생성된 서버 측 난수코드에 대응하는 인증코드를 결정한다(600). 상기 서버 측 난수코드에 대응하는 인증코드는, 상기 서버 측 난수코드, 상기 서버 측 난수코드의 일부 코드, 상기 서버 측 난수코드를 가공하여 생성된 코드 중, 적어도 하나의 코드를 포함할 수 있다.
만약 상기 서버 측 난수코드에 대응하는 인증코드가 결정되면, 상기 SD메모리(100)의 칩(105)은 상기 무선단말(200)로 상기 인증코드를 제공하고(605), 상기 무선단말(200)은 상기 인증코드를 수신하고(610), 상기 수신된 인증코드를 출력한다(615).
100 : SD메모리 105 : 칩
110 : 제어부 115 : 암호모듈
120 : 복호모듈 125 : 정보 수신부
130 : 암호 처리부 135 : 데이터 전송부
140 : 데이터 수신부 145 : 인증 처리부
150 : 복호 처리부 155 : 코드 제공부
160 : 칩 인터페이스부 165 : 메모리부
170 : 접촉점 175 : 인터페이스모듈
180 : 메모리모듈 185 : SD 인터페이스부
200 : 무선단말 210 : SD 인식부
215 : 프로그램 300 : 서버

Claims (20)

  1. 무선단말과 인터페이스되는 SD메모리의 칩에서 실행되는 SD메모리와 서버 사이의 종단간 인증을 이용한 서버형 인증코드 제공 방법에 있어서,
    인터페이스된 무선단말로부터 시간 값을 수신하는 제1 단계;
    상기 시간 값을 포함하는 데이터(c)를 암호화시킨 암호데이터(c)를 생성하는 제2 단계;
    상기 생성된 암호데이터(c)를 상기 인터페이스된 무선단말로 제공하는 제3 단계-암호데이터(c)는 무선단말을 통해 서버로 전송됨-;
    상기 서버에 의해 동적 생성된 서버 측 난수코드를 포함하는 데이터(s)를 암호화한 암호데이터(s)를 상기 인터페이스된 무선단말을 통해 수신하는 제4 단계;
    상기 암호데이터(s)를 복호화시킨 데이터(s)로부터 서버 측 난수코드를 확인하는 제5 단계; 및
    상기 서버 측 난수코드에 대응하는 인증코드를 상기 인터페이스된 무선단말로 제공하는 제6 단계;를 포함하는 SD메모리와 서버 사이의 종단간 인증을 이용한 서버형 인증코드 제공 방법.
  2. 제 1항에 있어서, 상기 데이터(c)는,
    지정된 고유코드를 더 포함하여 이루어지는 것을 특징으로 하는 SD메모리와 서버 사이의 종단간 인증을 이용한 서버형 인증코드 제공 방법.
  3. 제 1항에 있어서, 상기 데이터(c)는,
    칩 측 난수 값을 더 포함하여 이루어지는 것을 특징으로 하는 SD메모리와 서버 사이의 종단간 인증을 이용한 서버형 인증코드 제공 방법.
  4. 제 1항에 있어서, 상기 데이터(c)는,
    지정된 키 값(1)을 더 포함하여 이루어지는 것을 특징으로 하는 SD메모리와 서버 사이의 종단간 인증을 이용한 서버형 인증코드 제공 방법.
  5. 제 1항에 있어서, 상기 암호데이터(c)는,
    상기 무선단말을 통해 지정된 서버로 전송되어 복호화되는 것을 특징으로 하는 SD메모리와 서버 사이의 종단간 인증을 이용한 서버형 인증코드 제공 방법.
  6. 제 1항에 있어서,
    상기 인증코드를 상기 인터페이스된 무선단말로 제공하기 위해 지정된 인증 절차를 처리하는 단계를 더 포함하여 이루어지는 것을 특징으로 하는 SD메모리와 서버 사이의 종단간 인증을 이용한 서버형 인증코드 제공 방법.
  7. 제 1항에 있어서,
    상기 데이터(s)는, 상기 서버를 통해 생성된 MAC(Message Authentication Code)을 더 포함하고,
    상기 칩 측 난수 값과 키 값(1)을 지정된 암호 방식으로 암호화하여 키 값(2)를 생성하는 제5-1 단계;
    상기 난수코드와 키 값(2)를 지정된 암호 방식으로 암호화하여 키 값(3)를 생성하는 제5-2 단계;
    상기 칩 측 난수 값과 키 값(3)를 지정된 암호 방식으로 암호화하여 MAC을 생성하는 제5-3 단계; 및
    상기 생성된 MAC을 이용하여 복호화된 데이터(s)로부터 확인되는 MAC을 인증하는 제5-4 단계;를 더 포함하여 이루어지는 것을 특징으로 하는 SD메모리와 서버 사이의 종단간 인증을 이용한 서버형 인증코드 제공 방법.
  8. 제 7항에 있어서, 상기 제6 단계는,
    상기 복호화된 데이터(s)로부터 확인되는 MAC이 인증된 경우에 상기 확인된 난수코드에 대응하는 인증코드를 상기 무선단말로 제공하는 것을 특징으로 하는 SD메모리와 서버 사이의 종단간 인증을 이용한 서버형 인증코드 제공 방법.
  9. 제 1항에 있어서, 상기 인증코드는,
    상기 서버 측 난수코드,
    상기 서버 측 난수코드의 일부 코드,
    상기 서버 측 난수코드를 가공하여 생성된 코드 중, 적어도 하나의 코드를 포함하여 이루어지는 것을 특징으로 하는 SD메모리와 서버 사이의 종단간 인증을 이용한 서버형 인증코드 제공 방법.
  10. SD메모리의 칩과 인터페이스된 무선단말과 통신하는 서버를 통해 실행되는 SD메모리와 서버 사이의 종단간 인증을 이용한 서버형 인증코드 제공 방법에 있어서,
    상기 무선단말이 상기 SD메모리의 칩으로 제공한 시간 값을 포함하는 데이터(c)를 상기 칩의 암호모듈을 통해 암호화한 암호데이터(c)를 수신하는 제1 단계;
    지정 복호 방식을 통해 상기 수신된 암호데이터(c)를 복호화하여 시간 값을 확인하는 제2 단계;
    상기 확인된 시간 값을 저장하고 지정된 코드생성규칙에 따라 동적 생성된 서버 측 난수코드를 확인하는 제3 단계;
    상기 서버 측 난수코드를 포함하는 데이터(s)를 상기 SD메모리의 칩에 구비된 복호모듈을 통해 복호화 가능하게 암호화하여 암호데이터(s)를 생성하는 제4 단계; 및
    상기 무선단말로 상기 생성된 암호데이터(s)를 전송하는 제5 단계;를 포함하며,
    상기 암호데이터(s)는, 상기 무선단말로부터 상기 SD메모리의 칩으로 제공되어 상기 칩의 복호모듈을 통해 복호화되고,
    상기 서버 측 난수코드에 대응하는 인증코드가 상기 무선단말로 제공되는 것을 특징으로 하는 SD메모리와 서버 사이의 종단간 인증을 이용한 서버형 인증코드 제공 방법.
  11. 제 10항에 있어서, 상기 데이터(c)는,
    지정된 고유코드를 더 포함하여 이루어지는 것을 특징으로 하는 SD메모리와 서버 사이의 종단간 인증을 이용한 서버형 인증코드 제공 방법.
  12. 제 10항에 있어서, 상기 데이터(c)는,
    칩 측 난수 값을 더 포함하여 이루어지는 것을 특징으로 하는 SD메모리와 서버 사이의 종단간 인증을 이용한 서버형 인증코드 제공 방법.
  13. 제 10항에 있어서, 상기 데이터(c)는,
    지정된 키 값(1)을 더 포함하여 이루어지는 것을 특징으로 하는 SD메모리와 서버 사이의 종단간 인증을 이용한 서버형 인증코드 제공 방법.
  14. 제 10항에 있어서, 상기 제2 단계는,
    상기 복호화된 데이터(c)로부터 고유코드를 확인하는 단계를 더 포함하여 이루어지는 것을 특징으로 하는 SD메모리와 서버 사이의 종단간 인증을 이용한 서버형 인증코드 제공 방법.
  15. 제 10항에 있어서,
    상기 SD메모리의 칩에 지정된 고유코드를 저장매체에 저장하는 단계를 더 포함하며,
    상기 제2 단계는,
    상기 복호화된 데이터(c)로부터 고유코드를 확인하는 단계; 및
    상기 확인된 고유코드와 상기 저장된 고유코드를 비교하여 상기 SD메모리를 인증하는 단계;를 더 포함하여 이루어지는 것을 특징으로 하는 SD메모리와 서버 사이의 종단간 인증을 이용한 서버형 인증코드 제공 방법.
  16. 제 10항에 있어서, 상기 제2 단계는,
    상기 복호화된 데이터(c)로부터 칩 측 난수 값을 확인하는 단계를 더 포함하여 이루어지는 것을 특징으로 하는 SD메모리와 서버 사이의 종단간 인증을 이용한 서버형 인증코드 제공 방법.
  17. 제 10항에 있어서, 상기 제2 단계는,
    상기 복호화된 데이터(c)로부터 키 값(1)을 확인하는 단계를 더 포함하여 이루어지는 것을 특징으로 하는 SD메모리와 서버 사이의 종단간 인증을 이용한 서버형 인증코드 제공 방법.
  18. 제 10항에 있어서, 상기 제3 단계는,
    지정된 코드생성규칙을 통해 상기 난수코드를 동적 생성하거나, 또는 지정된 코드생성서버를 통해 동적 생성된 난수코드를 확인하는 것을 특징으로 하는 SD메모리와 서버 사이의 종단간 인증을 이용한 서버형 인증코드 제공 방법.
  19. 제 10항에 있어서,
    상기 복호화된 데이터(c)로부터 확인된 칩 측 난수 값과 키 값(1)을 지정 암호 방식으로 암호화하여 키 값(2)를 생성하는 제3-1 단계;
    상기 서버 측 난수코드와 키 값(2)를 지정 암호 방식으로 암호화하여 키 값(3)를 생성하는 제3-2 단계; 및
    상기 칩 측 난수 값과 키 값(3)를 지정 암호 방식으로 암호화하여 MAC(Message Authentication Code)을 생성하는 제3-3 단계;를 더 포함하며,
    상기 제4 단계는, 상기 MAC과 난수코드와 키 값(1)을 암호화하는 것을 특징으로 하는 SD메모리와 서버 사이의 종단간 인증을 이용한 서버형 인증코드 제공 방법
  20. 제 19항에 있어서, 상기 지정 암호 방식은,
    상기 칩의 암호모듈의 암호 방식과 매칭되는 암호 방식을 포함하는 것을 특징으로 하는 SD메모리와 서버 사이의 종단간 인증을 이용한 서버형 인증코드 제공 방법.
KR1020130077638A 2013-07-03 2013-07-03 에스디메모리와 서버 사이의 종단간 인증을 이용한 서버형 인증코드 제공 방법 KR20150004953A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130077638A KR20150004953A (ko) 2013-07-03 2013-07-03 에스디메모리와 서버 사이의 종단간 인증을 이용한 서버형 인증코드 제공 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130077638A KR20150004953A (ko) 2013-07-03 2013-07-03 에스디메모리와 서버 사이의 종단간 인증을 이용한 서버형 인증코드 제공 방법

Publications (1)

Publication Number Publication Date
KR20150004953A true KR20150004953A (ko) 2015-01-14

Family

ID=52476912

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130077638A KR20150004953A (ko) 2013-07-03 2013-07-03 에스디메모리와 서버 사이의 종단간 인증을 이용한 서버형 인증코드 제공 방법

Country Status (1)

Country Link
KR (1) KR20150004953A (ko)

Similar Documents

Publication Publication Date Title
KR20130018061A (ko) 비연결형 네트워크 씨드를 이용한 일회용코드 운영 방법 및 시스템
KR20150004955A (ko) 유심과 서버 사이의 종단간 인증을 이용한 서버형 인증코드 제공 방법
KR102193696B1 (ko) 카드를 이용한 일회용코드 기반 안심 로그인 방법
KR20150000081A (ko) 카드와 서버 사이의 종단간 인증을 이용한 일회용코드 제공 방법
KR102172855B1 (ko) 사용자의 휴대형 매체를 이용한 매체 분리 기반 서버형 일회용코드 제공 방법
KR20150004954A (ko) 에스디메모리와 서버 사이의 종단간 인증을 이용한 일회용코드 제공 방법
KR102276916B1 (ko) 엔에프씨오티피카드를 이용한 비대면 거래 인증 방법
KR101972492B1 (ko) 에스디메모리 기반 다중 오티피 운영 방법
KR20190047557A (ko) 비동기식 근거리 무선 통신을 통해 오티피를 제공하는 이어폰 장치
KR20150101016A (ko) 엔에프씨 기반 종단 간 상호 인증을 이용한 거래수단 제어 방법
KR102358598B1 (ko) 비접촉 매체를 이용한 2채널 인증 방법
KR102268471B1 (ko) 거래정보와 엔에프씨오티피카드를 이용한 거래 인증 방법
KR20150004953A (ko) 에스디메모리와 서버 사이의 종단간 인증을 이용한 서버형 인증코드 제공 방법
KR101505735B1 (ko) 시간 검증을 이용한 엔에프씨카드 인증 방법
KR20150065995A (ko) 카드를 이용한 일회용코드 기반 다중 채널 인증 방법
KR101777044B1 (ko) 비동기식 근거리 무선 통신 기반 오티피 카드
KR20150000080A (ko) 카드와 서버 사이의 종단간 인증을 이용한 서버형 인증코드 제공 방법
KR20150004956A (ko) 유심과 서버 사이의 종단간 인증을 이용한 일회용코드 제공 방법
KR20160139073A (ko) 일회용코드를 이용한 거래 연동 인증 방법
KR101777041B1 (ko) 비동기식 근거리 무선 통신 기반 오티피 구현 방법
KR101972485B1 (ko) 유심 기반 다중 오티피 운영 방법
KR101777042B1 (ko) 비동기식 근거리 무선 통신 기반 전자서명 카드
KR101846646B1 (ko) 비동기식 근거리 무선 통신 기반 보안 통신 방법
KR101777043B1 (ko) 비동기식 근거리 무선 통신 기반 전자서명 구현 방법
KR20180026424A (ko) 일회용코드 운영 방법

Legal Events

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