KR20100016579A - 크리덴셜 배포를 위한 시스템 및 방법 - Google Patents

크리덴셜 배포를 위한 시스템 및 방법 Download PDF

Info

Publication number
KR20100016579A
KR20100016579A KR1020097023848A KR20097023848A KR20100016579A KR 20100016579 A KR20100016579 A KR 20100016579A KR 1020097023848 A KR1020097023848 A KR 1020097023848A KR 20097023848 A KR20097023848 A KR 20097023848A KR 20100016579 A KR20100016579 A KR 20100016579A
Authority
KR
South Korea
Prior art keywords
credential
credentials
user device
shared key
channel
Prior art date
Application number
KR1020097023848A
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 인터내셔널 비지네스 머신즈 코포레이션
Publication of KR20100016579A publication Critical patent/KR20100016579A/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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0827Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving distinctive intermediate devices or communication paths
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0435Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/062Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/18Network architectures or network communication protocols for network security using different networks or channels, e.g. using out of band channels
    • 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/088Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/08Randomization, e.g. dummy operations or using noise
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/80Wireless

Abstract

본 발명은 크리덴셜 발행자(credential issuer)로부터 크리덴셜 사용자(credential user)로 크리덴셜의 세트를 배포하는 방법-상기 크리덴셜 사용자에 사용자 디바이스가 제공되고, 상기 사용자 디바이스와 상기 크리덴셜 발행자 사이의 통신을 위해 제 1 채널및 제 2 채널이 제공됨-에 있어서, - 상기 제 2 채널에 의해 상기 사용자 디바이스와 상기 크리덴셜 발행자 사이에 공유 키(K)를 배포하는 단계와, - 균일한 분포로부터의 사전 정의된 최대 편차 레벨을 갖는 상기 크리덴셜의 세트의 2진 표시를 생성하는 단계와, - 상기 공유 키에 의해 상기 크리덴셜의 세트의 상기 2진 표시를 암호화하는 단계와, - 상기 제 1 채널을 통해 상기 크리덴셜 발행자로부터 상기 크리덴셜 사용자로 상기 암호화된 상기 크리덴셜의 세트를 배포하는 단계와, - 상기 사용자 디바이스에 의해, 상기 공유 키에 의해 상기 암호화된 상기 크리덴셜의 세트를 복호화하는 단계를 포함하는 방법에 관한 것이다.

Description

크리덴셜 배포를 위한 시스템 및 방법{SYSTEM AND METHOD FOR DISTRIBUTION OF CREDENTIALS}
본 발명은 크리덴셜 발행자(credential issuer)로부터 크리덴셜 사용자(credential user)로 하나 이상의 크리덴셜을 배포하는 방법에 관한 것이다. 본 발명은 또한, 대응하는 시스템, 대응하는 서버, 대응하는 사용자 디바이스 및 대응하는 컴퓨터 프로그램에 관한 것이다.
크리덴셜은, 예를 들어, TAN(Transaction Numbers)과 같은 OTAC(One Time Authentication Codes)일 수 있다. 또한, 크리덴셜은, 예를 들어, PIN(Personal Identification Numbers), 패스워드, 활성화 코드 또는 강한 키 재료일 수 있다.
거래 인증 번호의 문서 기반형 스크래치 리스트(paper based Scratch lists)를 갖는 OTAC가 온라인 거래 분야에서 널리 보급되고 있다. 문서 기반형 스크래치 리스트는 액세스에 대해 상대적으로 안전하지 않고 편리하지 않다. 전형적으로, 스크래치 리스트는 플레인 메일(plain mail)을 통해 은행과 같은 서비스 제공자로부터 고객으로 전송된다. 메일링된 스크래치 리스트는 고객으로 라우팅하는 도중에 인터셉트되어 복제될 수 있다. 또한, 다수의 고객은 스크래치 리스트를 세이프(a safe)와 같은 안전한 위치에 저장하는 것을 신뢰할 수 없다. 이것은 특히 스크래치 리스트가 규칙적으로 사용되는 경우에 더 그러하다. 규칙적으로 사용된 스크래치 리스트는, 예를 들어, 데스크에 열려진 상태로 남겨질 수 있다. 이것은 다른 사람에게 스크래치 리스트에 대한 액세스를 제공한다. 스크래치 리스트가 고객에게 전달되는 경우, 손실되거나 혹은 도난당할 수 있다. 스크래치 리스트 상의 OTAC는 통상적으로 암호화되지 않는다. 일반적으로 거래를 실행할 OTAC와 결합되는 고객 계좌 번호는 공적으로 알려지는 것으로서 널리 간주된다. 다수의 고객이 어느 OTAC가 사용되었는지를 수동적으로 추적하는 것은 불편하다. 하나의 스크래치 리스트로부터 다른 스크래치 리스트로 이동할 때, 고객은 2개의 스크래치 리스트를 임시적으로 저장하거나 소지할 필요가 있다. 이것은 보안 위험성을 증강시킨다. 또한, 문서 기반형 스크래치 리스트는 발생 서비스 제공자가 시기 적절한 방식으로 프린트하고 메일링하는 데에는 복잡하다.
WO98/37524는 모바일 디바이스를 이용하는 거래 방법을 기술한다. 이 방법은 개별적인 계좌를 식별하도록 IDUI(International Debit User Identification) 번호를 채용한다. IDUI는 고객 은행 계좌 번호와 유사하다. 구체적으로, IDUI는 신용/데빗 카드 상으로 사전 로드된다. 동작 시에, POS(point of sale) 단말기는 신용/데빗 카드로부터 IDUI를 판독하고 식별된 계좌로부터 공제될 양을 디스플레이한다. 고객은 POS 단말기의 OK 버튼을 누름으로써 거래를 완료한다. POS 단말기는 계좌를 담당하는 은행내의 서버로 거래 영수증을 전송한다. WO98/37524는 자기 스트립 또는 메모리 카드 대신에 GSM 이동 전화 네트워크에서 사용된 바와 같은 SIM(Subscriber Identification Module) 스마트 카드에 IDUI를 저장하는 것을 제안 한다. 그 다음에 IDUI는 단말기에 의해 스마트 카드로부터 비접촉(contact-less) 방식으로 판독된다. 거래 영수증은 SMS 메시지에 의한 검증을 위해 서버에 전송된다. 이 방안은 단지 비접촉 인터페이스를 통한 POS 단말기와의 거래를 위한 IDUI의 사용 및 거래 검증을 위한 교환 SMS 메시지를 기술한다. 이 방안은 OTAC 전송에 대해서는 적합하지 않다. 이것은 IDUI가 각각의 계좌에 대해 고정되어 있기 때문이다. 그러나, OTAC는 그렇지 않다. 유사한 전자 지불 시스템은 EP 1176844, WO00/16029, WO00/495585, WO01/09851, WO02/21464 및 WO01/93528에 기술되어 있다.
EP 1559256 B1은 사용자 디바이스에 액세스 코드 세트를 제공하는 방법을 기술한다. 이 방법에 따르면 16 바이트 DES(Data Encryption Standard) 키와 같은 강한 대칭형 키가 액세스 코드의 암호화를 위해 사용된다.
본 발명의 목적은 크리덴셜 배포를 위한 다른 해결책을 제공하는 것이다.
본 발명의 다른 목적은 크리덴셜 발행자로부터 크리덴셜 사용자로 크리덴셜의 초기 배포를 위한 다른 해결책을 제공하는 것이다.
본 발명의 다른 목적은 폭넓게 적용 가능한 크리덴셜 배포를 위한 다른 해결책을 제공하는 것이다.
본 발명의 다른 목적은 사용이 용이한 크리덴셜 배포를 위한 다른 해결책을 제공하는 것이다.
발명의 개요
따라서, 본 발명은 독립 청구항에 정의된 바와 같은 방법, 시스템, 서버, 사 용자 디바이스 및 컴퓨터 프로그램에 관한 것이다. 또한, 본 발명의 실시예는 첨부된 종속 청구항에 제공된다.
본 발명의 제 1 측면에 따르면, 크리덴셜 발행자(credential issuer)로부터 크리덴셜 사용자(credential user)로 크리덴셜의 세트를 배포하는 방법-상기 크리덴셜 사용자에게 사용자 디바이스가 제공되고, 상기 사용자 디바이스와 상기 크리덴셜 발행자 사이의 통신을 위해 제 1 채널 및 제 2 채널이 제공됨-에 있어서,
- 상기 제 2 채널에 의해 상기 사용자 디바이스와 상기 크리덴셜 발행자 사이에 공유 키(K)를 배포하는 단계와,
- 균일한 분포로부터의 사전 정의된 최대 편차 레벨을 갖는 상기 크리덴셜의 세트의 2진 표시를 생성하는 단계와,
- 상기 공유 키에 의해 상기 크리덴셜의 세트의 상기 2진 표시를 암호화하는 단계와,
- 상기 제 1 채널을 통해 상기 크리덴셜 발행자로부터 상기 크리덴셜 사용자로 상기 암호화된 상기 크리덴셜의 세트를 배포하는 단계와,
- 상기 사용자 디바이스가 상기 공유 키를 사용하여 상기 암호화된 상기 크리덴셜의 세트를 복호화하는 단계를 포함하는 방법이 제공된다.
균일한 분포로부터의 사전 정의된 최대 편차 레벨에 의해, 크리덴셜의 세트의 2진 표시가 얼마나 많은 리던던시(redundancy)를 포함할 수 있는지를 정의할 수 있다. 즉, 균일한 분포로부터의 사전 정의된 최대 편차 레벨에 의해, 크리덴셜의 세트의 2진 표시가 얼마나 많은 구조를 포함할 수 있는지를 정의할 수 있다. 또한, 균일한 분포로부터의 사전 정의된 최대 편차 레벨에 의해, 크리덴셜의 세트의 2진 표시가 시스템 각각의 서브시스템의 보안 요구에 대한 균일성에 충분하게 근접하는 0 및 1의 분포를 갖도록 정의하거나 특정할 수 있다. 균일한 분포로부터의 사전 정의된 최대 편차 레벨을 크리덴셜의 세트의 2진 표시로 설정하는 것은 크리덴셜 세트 배포의 보안성을 증강시킨다. 크리덴셜의 세트의 2진 표시는 균일한 분포로부터의 최대 편차 레벨을 가질 수 있으나, 균일한 분포로부터의 하위 레벨을 또한 가질 수 있다. 균일한 분포로부터의 최대 편차 레벨이 낮을수록, 크리덴셜의 세트의 2진 표시가 0 및 1의 균일한 분포에 더 근접하게 되고, 구조가 적어지고 리던던시가 크리덴셜 세트를 덜 포함하게 되며, 불법적인 키 탐색 공격(brute force key search attacks)에 대한 크리덴셜 세트의 공격이 덜해진다. 즉, 크리덴셜 세트가 시도 키에 의해 정확하게 해독되는지를 독립적으로 결정하는 데에 구조적 정보를 신뢰할 수 없다.
균일한 분포로부터의 사전 정의된 최대 편차 레벨을 설정하는 것에 의해 달리 알려져 있지 않거나 또는 확실하지 않거나 또는 결정되지 않은 보안 관련 변수를 정의하게 된다. 이것은 균일한 분포로부터의 사전 정의된 최대 편차 레벨에 의존하여 크리덴셜 배포 시스템의 다른 보안 관련 변수를 설정하는 것을 가능하게 한다. 이것은 크리덴셜 배포 시스템의 보다 유연성 있는 설계를 또한 가능하게 한다. 바람직하게 크리덴셜 발행자는 각각의 애플리케이션에 의존하여 균일한 분포로부터의 사전 정의된 최대 편차 레벨을 설정하고, 결정하거나, 선택할 것이다. 2전 표시에 대해 균일한 분포로부터의 사전 정의된 최대 편차 레벨을 설정함으로써 특히 공 유 키의 키 길이를 감소시킬 수 있다.
본 발명의 실시예에 따르면, 균일한 분포로부터의 사전 정의된 최대 편차 레벨은 0이거나 또는 0에 근접한다. 즉, 크리덴셜 세트의 2진 표시가 균일하게 분포되거나 또는 균일한 분포에 근접한다.
본 발명의 실시예에 따르면, 균일한 분포로부터의 사전 정의된 최대 편차 레벨은, 생성된 크리덴셜 세트의 2진 표시가 충분히 랜덤한 것으로서, 즉, 충분히 균일하게 배포되는 것으로서 받아들이는 그 각각의 구성을 포함하는 통계적 테스트 세트에 의해 정의되거나 결정될 수 있다.
본 발명의 실시예에 따르면, 균일한 분포로부터의 사전 정의된 최대 편차 레벨은 시도 복호화에 의해 무효 크리덴셜 세트가 생성되고, 즉, 유효 크리덴셜 세트와 같이 보이지 않는 복호화된 메시지가 생성된하는 사실로 인해 불법적인 공격에 의해 배제될 수 있는 테스트 키의 퍼센티지 각각에 의해 결정되거나 정의된다.
본 발명의 실시예에 따르면, 균일한 분포로부터의 사전 정의된 최대 편차 레벨은 크리덴셜 세트의 2진 표시가 0보다 큰 방식으로 설정된다.
본 발명의 실시예에 따르면, 균일한 분포로부터의 사전 정의된 최대 편차 레벨은 크리덴셜 세트의 2진 표시의 사전 정의된 최대 랜덤성(randomness) 레벨로서 설정된다.
본 발명의 제 1 측면의 실시예에 따르면, 본 방법은 검증을 위해 크리덴셜 사용자로부터 크리덴셜 발행자로 복호화딘 크리덴셜을 제공하는 단계를 더 포함하며, 크리덴셜 발행자는 사전 정의된 수의 검증 시도만을 허용하도록 제공된다.
사전 정의된 수의 검증 시도가 적을수록, 크리덴셜 발행자가 각각의 계좌를 정지시키기 이전에 공격자가 공유 키를 발견할 가능성이 작아진다. 크리덴셜 세트의 2진 표시가 균일한 분포로부터의 사전 정의된 최대 편차 레벨을 포함함에 따라, 공격자는 시도 공유 키로 복호화된 샘플의 출력 구조에 의해 임의의 공유키 또는 충분히 적은 수의 공유 키만을 배제할 수 있다. 즉, 공격자는 선택된 시도 공유 키가 매칭하거나 또는 배제될 수 있는지 여부를 검증하기 위해 크리덴셜 발행자의 검증 피드백을 필요로 한다.
본 발명의 제 1 측면의 실시예에 따르면, 크리덴셜 세트의 2진 표시의 균일한 분포로부터의 사전 정의된 최대 편차 레벨은 사전 정의된 보안 레벨, 공유 키의 키 길이 및 사전 정의된 수의 검증 시도에 의해 결정된다.
본 발명의 제 1 측면의 실시예에 따르면, 균일한 분포로부터의 사전 정의된 최대 편차 레벨은 이들 상이한 파라미터에 의존하여 선택되거나 결정되거나 또는 설정된다. 사전 정의된 보안 레벨은 제 1 파라미터로서 기능한다. 이 사전 정의된 보안 레벨은 크리덴셜 사용자에 의해 설정되거나 선택될 수 있고 불법적인 키 탐색 공격이 성공할 확률에 의해 정의될 수 있다. 바람직하게 크리덴셜 발행자는 자신의 고객의 애플리케이션 및 요구에 의존하여 사전 정의된 보안 레벨을 설정하거나 결정할 것이다.
균일한 분포로부터의 사전 정의된 최대 편차 레벨을 결정하거나 이에 영향을 주는 제 2 파라미터는 공유 키의 키 길이이다. 공유 키가 길어질수록, 키 공간이 커지고 불법적인 키 탐색 공격을 수행하는 공격자가 그로부터 선택해야 하는 시도 키가 보다 많아진다.
균일한 분포로부터의 사전 정의된 최대 편차 레벨을 결정하거나 이에 영향을 주는 제 3 파라미터는 사전 정의된 수의 검증 시도이다. 사전 정의된 수의 검증 시도가 적을수록, 불법적인 키 탐색 공격이 성공할 확률이 작아진다.
이들 모든 3개의 파라미터는 균일한 분포로부터의 사전 정의된 최대 편차 레벨에 영향을 주거나 또는 이를 결정한다.
본 발명의 제 1 측면의 실시예에 따르면, 공유 키는 취약 키(weak key)이다.
취약 키는 불법적인 키 탐색 공격, 즉, 불법적인 키 공간의 탐색에 대해 암호적으로 취약 키로서 이해된다. 이러한 불법적인 키 탐색 공격은 잘못된 시도 키를 배제하도록 충분한 리던던시 또는 구조 레벨을 포함하는 크리덴셜 세트의 2진 표시에 기초할 수 있다. 이러한 불법적인 키 탐색 공격은 크리덴셜 세트를 포함하는 메시지를 인터셉트하는 맨 인 더 미들(man-in-the-middle) 공격자에 의해 수행될 수 있다. 공격자는 결과 출력의 구조를 분석함으로써 복호화된 샘플을 구별하도록 시도할 수 있다. 즉, 공격자는 크리덴셜 세트를 포함하는 평문 메시지가 특정의 구조 또는 캐릭터 배포를 갖는다는 것을 인지한다. 이러한 알려진 구조 또는 캐릭터 배포를 생성하지 않고 0 및 1의 균일한 분포 또는 이에 근접하는 균일한 분포를 생성하는 취약 키에 대한 잘못된 추정이 배제될 수 있다.
이러한 불법적인 키 탐색 공격에 의해 사용된 키의 길이에 의존하여 공격에 대한 내성의 연속성이 존재한다. 즉, 본 발명의 실시예에 따른 취약 키는 작은 키 크기 또는 짧은 키 크기를 갖는 키이다. 통상적으로 불법적인 공격이 연산적으로 수행하는 것이 불가능한 경우 취약 키로서 간주된다.
일반적으로, 연산 파워의 기술적인 개발에 의해 암호적으로 강한 키로서 간주되는 키의 키 길이는 보다 더 길어질 것이며 따라서 취약 키로서 간주되는 키의 길이도 마찬가지로 보다 더 길어질 것이다.
현재 다수의 애플리케이션에 대해 암호적으로 강한 키는 적어도 112 비트를 갖는 키, 예를 들어, 2 키 트리플 DES(Data Encryption Standard) 키로서 간주된다. 따라서 본 발명의 실시예에 따른 취약 키는 112 비트보다 적은 비트를 갖는 키로서 이해된다.
AES(Advanced Encryption Standard)는 현재 최소 128 비트의 키 크기를 사용한다. 따라서 본 발명의 실시예에 따른 취약 키는 128 비트보다 적은 비트를 갖는 키로서 이해된다.
US 정부는 최고 기밀 데이터에 대해 192 또는 256 비트 AES 키를 사용한다. 따라서, 본 발명의 실시예에 따른 취약 키는 192 비트보다 적은 비트를 갖는 키로서 이해된다.
크리덴셜 세트를 암호화하는 취약 키를 사용하는 것은 사용자 디바이스 상에서 일부 소프트웨어의 설정 또는 커스터마이제이션(customization) 동안 사용자 입력을 용이하게 한다는 장점을 갖는다.
본 발명의 실시예에 따르면, 공유 키는 10 비트 이하의 비트를 포함한다. 본 발명의 다른 실시예에 따르면, 공유 키는 20 비트 이하의 비트를 포함한다. 본 발명의 다른 실시예에 따르면, 공유 키는 50 비트 이하의 비트를 포함한다. 본 발명 의 다른 실시예에 따르면, 공유 키는 100 비트 이하의 비트를 포함한다. 각각의 키 길이는 크리덴셜 세트의 2진 표시의 균일한 분포로부터의 사전 정의된 최대 편차 레벨, 사전 정의된 보안 레벨 및 사전 정의된 수의 검증 시도에 의존하여 선택될 수 있다. 이러한 짧은 공유 키를 이용하는 것은 크리덴셜 세트의 2진 표시에 대한 균일한 분포로부터의 사전 정의된 최대 편차 레벨을 설정함으로써 용이하게 된다.
본 발명의 제 1 측면의 실시예에 따르면, 제 2 채널은 매뉴얼 사용자 인터페이스를 포함한다. 매뉴얼 사용자 인터페이스는 사용자 디바이스에 제공될 수 있다. 제 2 채널에 매뉴얼 사용자 인터페이스를 제공하는 것은 매뉴얼 사용자 인터페이스가 대부분의 전자 디바이스의 일부분임에 따라 방법이 폭넓게 적용 가능하다는 장점을 갖는다.
본 발명의 제 1 측면의 실시예에 따르면, 방법은,
- 사용자 인터페이스에 의해 공유 키를 생성하고 디스플레이하는 단계와,
- 크리덴셜 사용자에 의해 공유 키를 또 다른 디바이스에 수동적으로 입력하는 단계와,
- 또 다른 디바이스에 의해 공유 키를 크리덴셜 사용자에 전송하는 단계를 더 포함할 수 있다.
이 실시예에서 공유 키는 사용자 디바이스에 의해 생성되고 나서 크리덴셜 발생자로 배포된다. 이들 크리덴셜 사용자는 유연성을 증강시키고 공유 키 배포를 자발적으로 개시하도록 한다. 또 다른 디바이스는 특히 컴퓨터일 수 있다.
본 발명의 제 1 측면의 실시예에 따르면, 방법은,
- 크리덴셜 발행자에 의해 공유 키를 생성하는 단계와,
- 크리덴셜 발행자로부터 공유 키를 또 다른 디바이스에 전송하는 단계와,
- 또 다른 디바이스에 의해 공유 키를 디스플레이하는 단게와,
- 사용자에 의해 공유 키를 크리덴셜 사용자 디바이스에 수동적으로 입력하는 단계를 더 포함할 수 있다.
이 실시예에서 공유 키는 크리덴셜 사용자에 의해 생성되고 나서 크리덴셜 사용자의 사용자 디바이스로 배포된다. 이것은 크리덴셜 발행자에게 증강된 유연성을 제공한다. 또 다른 디바이스는 특히 컴퓨터일 수 있다.
본 발명의 제 1 측면의 실시예에 따르면, 크리덴셜은 사전 정의된 수의 크리덴셜 심볼을 포함하고 크리덴셜 심볼은 크리덴셜 알파벳의 요소이다.
일례로서, 크리덴셜은, 예를 들어, 6개의 10진수로 구성되는 TAN(transaction number)일 수 있다. 이 예에서 10진수 0-9는 크리덴셜 알파벳을 확립하는 크리덴셜 심볼이다.
본 발명의 제 1 측면의 실시예에 따르면, 크리덴셜 알파벳의 크기는 2의 멱수로서 선택된다.
이것은 크리덴셜 세트의 2진 표시가 임의의 리던던시 또는 구조 없이 구현될 수 있다는 장점을 갖는다. 즉, 각각의 크리덴셜 심볼은 특정의 2진 표시에 대응한다. 선택된 2진 인코딩 방안은 유효 크리덴셜에 대응하지 않는 임의의 2진 표시를 포함하지 않는다.
일례로서, 크리덴셜 알파벳은 16개의 16진수 0-9 및 A-F에 의해 확립될 수 있다. 이들 16진수의 각각은 4 비트의 2진(2중) 표시로 변환된다. 4 비트에 대해 2^4 = 16개의 2진 표시가 존재하며 이들의 각각은 1개의 16진수에 대응한다.
본 발명의 제 1 측면의 실시예에 따르면, 본 방법은 크리덴셜 세트에 노이즈 심볼을 추가하는 단계를 더 포함한다.
노이즈 심볼은 유효 크리덴셜을 나타내지 않는 심볼이다. 노이즈 심볼을 추가하는 것은 불법적인 공격을 수행하는 공격자가 유효 크리덴셜 심볼에 대응하지 않는 2진 표시를 간단히 배제할 수 없다는 장점을 갖는다.
본 발명의 제 1 측면의 실시예에 따르면, 노이즈 심볼은 크리덴셜 심볼 및 하나 이상의 노이즈 심볼로 구성되는 노이즈 알파벳으로부터 도출되며, 노이즈 알파벳의 크기는 2의 멱수로서 선택된다.
일례로서, 크리덴셜 심볼은 16진수 시스템의 10진수 0-9 및 캐릭터 A-F에 의한 노이즈 심볼로 나타내어질 수 있다. 이러한 표시에 따르면 크리덴셜 심볼 0-9 및 노이즈 심볼 A-F를 포함하는 전체 16진수 알파벳이 노이즈 알파벳을 나타낸다.
2의 멱수의 크기를 갖는 노이즈 알파벳을 이용하는 것은 노이즈 알파벳의 2진 표시가 임의의 리던던시 또는 구조 없이 구현될 수 있다는 장점을 갖는다. 즉, 각각의 크리덴셜 심볼 및 각각의 노이즈 심볼은 특정의 2진 표시에 대응하고 선택된 2진 인코딩 방안은 노이즈 시볼 또는 크리덴셜 심볼에 대응하지 않는 임의의 2진 표시를 포함하지 않는다.
본 발명의 제 1 측면의 실시예에 따르면, 본 방법은
- 사전 정의된 수의 크리덴셜 심볼을 포함하는 크리덴셜 세트를 생성하는 단 계와,
- 노이즈 알파벳으로부터 도출된 더미 크리덴셜 심볼 및 노이즈 심볼로 구성되는 랜덤 메시지를 생성하는 단계-더미 크리덴셜 심볼의 수는 크리덴셜 세트의 사전 정의된 수의 크리덴셜 심볼 이상임-와,
- 랜덤 메시지 내에서 사전 정의된 더미 크리덴셜 심볼 세트를 크리덴셜 세트의 크리덴셜 심볼로 대체하는 단계와,
- 랜덤 메시지의 2진 표시를 생성하여, 균일한 분포로부터의 사전 정의된 최대 편차 레벨을 갖는 크리덴셜 세트의 2진 표시를 확립하는 단계를 더 포함한다.
본 발명의 이 실시예는 크리덴셜 세트의 생성이 2진 표시의 생성과 독립적으로 수행될 수 있다는 장점을 갖는다. 이것은 2진 표시의 생성을 수행하는 유닛 또는 엔티티로부터 분리되는 유닛 또는 엔티티에 의해 크리덴셜 세트를 생성하도록 허용한다. 이것은 안전하고 밀집된 환경에서 크리덴셜 세트를 생성하고 크리덴셜 비밀 세트의 생성을 수행하는 알고리즘을 유지하도록 허용한다.
일례로서, 제 1 프로세싱 유닛은 크리덴셜 세트의 생성을 수행할 수 있다. 이러한 제 1 프로세싱 유닛은 크리덴셜 발행자의 높은 보안 영역에 배치될 수 있다. 제 1 프로세싱 유닛은 균일한 분포로부터의 사전 정의된 최대 편차 레벨을 갖는 크리덴셜 세트의 2진 표시를 생성하도록 제공되는 제 2 프로세싱 유닛에 크리덴셜 세트를 송신하거나 전송한다.
본 발명의 제 1 측면의 실시예에 따르면, 균일한 분포로부터의 사전 정의된 최대 편차 레벨을 갖는 크리덴셜 세트의 2진 표시의 생성은,
- 제 1 크리덴셜 레벨을 갖는 크리덴셜 세트의 제 1 표시를 생성하고,
- 제 1 표시를 제 2 크리덴셜 레벨을 갖는 크리덴셜 세트의 제 2 표시로 변환하며-제 1 크리덴셜 레벨은 제 1 크리덴셜 레벨보다 높음-,
- 크리덴셜 세트의 제 2 표시를 균일한 분포로부터의 사전 정의된 최대 편차 레벨을 갖는 2진 표시로 변환하는 부속 단계를 포함한다.
본 발명의 제 1 측면의 실시예에 따르면, 크리덴셜 세트의 2진 표시는 이들 단계에 의해 생성된다. 제 1 단계에서 제 1 랜덤성 레벨을 갖는 제 1 표시가 생성된다. 제 1 랜덤성 레벨은 균일한 분포로부터의 제 1 편차 레벨에 대응한다. 후속하는 제 2 단계에서 이 제 1 표시는 보다 높은 랜덤성 레벨을 포함하는 제 2 표시로 변환된다. 제 2 랜덤성 레벨은 균일한 분포로부터의 제 2 편차 레벨에 대응한다. 균일한 분포로부터의 제 2 편차 레벨은 균일한 분포로부터의 제 1 편차 레벨보다 낮다. 즉, 제 2 단계에서 제 1 표시로부터 구조 또는 리던던시가 제거된다. 제 3 단계에서 제 2 표시는 균일한 분포로부터의 사전 정의된 최대 편차 레벨을 갖는 2진 표시로 변환된다. 균일한 분포로부터의 최대 편차 레벨은 최소 랜덤성 레벨에 대응한다.
제 1 및 제 2 표시는 바람직하게 비2진 표시이다. 제 3 단계에 의해 이들 비2진 표시가 2진 표시로 변환될 수 있다.
본 발명의 제 1 측면의 실시예에 따르면, 크리덴셜 세트는 2진 변환을 위한 유닛으로 분할되며, 2진 변환을 위한 유닛은 크리덴셜 심볼을 나타내지 않는 2진 표시의 비가 사전 정의된 비율보다 작은 방식으로 선택된다.
불법적인 공격에 의해 유효 크리덴셜 심볼을 나타내지 않는 시도 복호화만을 배제할 수 있다. 따라서 이러한 표시의 비율을 제한하는 것은 불법적인 공격에 대한 민감도를 감소시킨다. 일례로서, 사전 정의된 비율은 1%로 설정될 수 있으며, 이는 2진 변환을 위해 선택된 유닛의 2진 표시의 최대값 1%에서 유효 크리덴셜 심볼을 나타내지 않음을 의미한다. 본 발명의 다른 예시적인 실시예는 사전 정의된 비율, 예를 들어, 값 0.001%, 0.001% 또는 5%로서 사용할 수 있다.
본 발명의 제 1 측면의 실시예에 따르면, 크리덴셜 세트는 각각 2개 이상의 크리덴셜 심볼을 포함하는 2진 변환을 위한 유닛으로 분할된다.
2개 이상의 크리덴셜 심볼을 포함하는 2진 변환을 위한 유닛을 이용하여 유연성을 향상시키고 가능한 유닛의 수를 증대시킨다. 이것은 리던던시를 거의 도입하지 않는 2진 변환을 위해 양호한 또는 최적의 유닛을 선택하기 위해 보다 많은 가능성을 제공한다. 크리덴셜 세트가 TAN 리스트가, 예를 들어, 3 또는 6개의 10진수이면, 숫자는 2진 변환을 위한 유닛을 나타낼 수 있다.
본 발명의 제 1 측면의 실시예에 따르면, 제 1 채널은 신뢰성 없는(untrusted) 채널이고 제 2 채널은 신뢰성 있는(trusted) 채널이다.
신뢰성 없는 채널은 크리덴셜 사용자 및/또는 크리덴셜 발행자가 신뢰하지 않는 채널이다. 신뢰성 없는 채널은 맨 인 더 미들 공격자에 대해 민감하다. 신뢰성 있는 채널은 크리덴셜 사용자 및 크리덴셜 발행자가 신뢰하는 채널이다.
본 발명의 제 1 측면의 실시예에 따르면, 크리덴셜은 OTAC(One Time Authentication Codes)이다. 이러한 OTAC는, 예를 들어, 온라인 뱅킹 거래를 위한 TAN일 수 있다.
본 발명의 제 1 측면의 실시예에 따르면, 제 1 채널은 무선 통신 채널이고 제 2 채널은 보안 인터넷 접속, 전화선 및 메일 서비스 중 하나를 포함한다.
이러한 채널은 폭넓게 확산되며 방법의 폭넓은 사용을 허용한다.
본 발명의 제 1 측면의 실시예에 따르면, 사용자 디바이스는 이동 전화 및 PDA(personal digital assistant) 중 하나를 포함한다.
이러한 디바이스는 폭넓게 확산되며 방법의 폭넓은 사용을 허용한다.
본 발명의 실시예에 따르면, 사용자 디바이스는 신뢰성 있는 디바이스이다. 신뢰성 있는 디바이스는 크리덴셜 사용자가 신뢰하는 디바이스로서 이해된다. 바람직하게 신뢰성 있는 디바이스는 크리덴셜 사용자에 의해 소유되고/되거나 제어된다. 바람직하게 신뢰성 있는 디바이스를 또한 신뢰한다.
본 발명의 실시예에 따르면, 균일한 분포를 갖는 2진 표시는 2진 값 1 및 0이 동등하게 가능한 분포로서 정의된다.
본 발명의 제 2 측면에 따르면, 크리덴셜 서버(credential server)에서, 크리덴셜 발행자로부터 크리덴셜 사용자로 크리덴셜의 세트를 배포하는 방법-상기 크리덴셜 사용자에 사용자 디바이스가 제공되고, 상기 사용자 디바이스와 상기 크리덴셜 사이의 통신을 위해 제 1 채널 및 제 2 채널이 제공됨-에 있어서,
- 공유 키를 생성하고, 상기 공유 키를 상기 사용자 디바이스로 배포하거나 또는 상기 제 2 채널을 통해 상기 사용자 디바이스로부터 상기 공유 키를 수신하는 단계와,
- 균일한 분포로부터의 사전 정의된 최대 편차 레벨을 갖는 상기 크리덴셜의 세트의 2진 표시를 생성하는 단계와,
- 상기 공유 키에 의해 상기 크리덴셜의 세트의 상기 2진 표시를 암호화하는 단계와,
- 상기 제 1 채널을 통해 상기 사용자 디바이스로 상기 암호화된 상기 크리덴셜의 세트를 배포하는 단계를 포함하는 방법이 제공된다.
본 발명의 이러한 측면은 크리덴셜 서버에 의해 수행된 방법의 단계에 관한 것이다.
본 발명의 제 3 측면에 따르면, 컴퓨터 시스템에서 컴퓨터 프로그램이 실행될 때 본 발명의 제 2 측면에 따른 방법의 단계를 수행하는 인스트럭션을 포함하는 컴퓨터 프로그램이 제공된다.
컴퓨터 시스템은 크리덴셜 서버에 의해 확립될 수 있다.
본 발명의 제 4 측면에 따르면, 사용자 디바이스에서, 상기 사용자 디바이스에 의해 크리덴셜 서버로부터 크리덴셜의 세트를 수신하는 방법-상기 사용자 디바이스와 상기 크리덴셜 서버 사이의 통신을 위해 제 1 채널 및 제 2 채널이 제공됨-에 있어서,
- 공유 키를 생성하고, 상기 공유 키를 상기 크리덴셜 서버로 배포하거나 또는 상기 제 2 채널을 통해 상기 크리덴셜 서버로부터 상기 공유 키를 수신하는 단계와,
- 균일한 분포로부터의 사전 정의된 최대 편차 레벨을 갖는 상기 크리덴셜의 세트의 2진 표시를 수신하는 단계-상기 크리덴셜의 세트의 상기 2진 표시는 상기 공유 키(K)에 의해 암호화됨-와,
- 상기 공유 키에 의해 상기 암호화된 상기 크리덴셜의 세트를 복호화하는 단계와,
- 상기 복호화된 상기 크리덴셜의 세트를 저장하는 단계를 포함하는 방법이 제공된다.
본 발명의 이러한 측면은 사용자 디바이스에 의해 수행된 방법의 단계에 관한 것이다.
본 발명의 제 5 측면에 따르면, 컴퓨터 시스템에서 컴퓨터 프로그램이 실행될 때 본 발명의 제 4 측면에 따른 방법의 단계를 수행하는 인스트럭션을 포함하는 컴퓨터 프로그램이 제공된다.
컴퓨터 시스템은 사용자 디바이스에 의해 확립될 수 있다.
본 발명의 제 5 측면에 따르면, 신뢰성 없는 채널(untrusted channel)을 통해 크리덴셜 발행자로부터 크리덴셜 사용자 크리덴셜의 세트를 안전하게 전송하는 방법에 있어서,
- 균일한 분포로부터의 사전 정의된 최대 편차 레벨을 갖는 상기 크리덴셜의 세트의 2진 표시를 생성하는 단계와,
- 공유 키에 의해 상기 크리덴셜의 세트의 상기 2진 표시를 암호화하는 단계와,
- 상기 신뢰성 없는 채널을 통해 상기 크리덴셜 발행자로부터 상기 크리덴셜 사용자로 상기 암호화된 크리덴셜의 세트를 전송하는 단계를 포함하는 방법이 제공된다.
본 발명의 이러한 측면은 신뢰성 있는 채널을 통해 크리덴셜 발행자로부터 크리덴셜 사용자로 크리덴셜 세트를 안전하게 전송하는 방법에 관한 것이다. 공유 키의 배포는 본 발명의 이러한 측면의 청구물이 아니다. 크리덴셜 발행자와 크리덴셜 사용자가 공유 키를 프로세스하는 것으로 가정한다.
본 발명의 제 7 측면에 따르면, 컴퓨터 시스템에서 컴퓨터 프로그램이 실행될 때 본 발명의 제 6 측면에 따른 방법의 단계를 수행하는 인스트럭션을 포함하는 컴퓨터 프로그램이 제공된다.
컴퓨터 시스템은 크리덴셜 발행자와 크리덴셜 사용자에 의해 확립될 수 있다.
본 발명의 다른 측면에 따르면, 크리덴셜 발행자로부터 크리덴셜 사용자로 크리덴셜의 세트를 배포하는 시스템-상기 크리덴셜 사용자에 사용자 디바이스가 제공되고, 상기 사용자 디바이스와 상기 크리덴셜 발행자 사이의 통신을 위해 제 1 채널 및 제 2 채널이 제공됨-에 있어서,
- 상기 제 2 채널에 의해 상기 사용자 디바이스와 상기 크리덴셜 발행자 사이에 공유 키(K)를 배포하고,
- 균일한 분포로부터의 사전 정의된 최대 편차 레벨을 갖는 상기 크리덴셜의 세트의 2진 표시를 생성하며,
- 상기 공유 키에 의해 상기 크리덴셜의 세트의 상기 2진 표시를 암호화하 고,
- 상기 제 1 채널을 통해 상기 크리덴셜 발행자로부터 상기 사용자 디바이스로 상기 암호화된 상기 크리덴셜의 세트를 배포하며,
- 상기 사용자 디바이스가 상기 공유 키를 사용하여 상기 암호화된 상기 크리덴셜의 세트를 복호화하는 시스템이 제공된다.
본 발명의 다른 측면에 따르면, 크리덴셜의 세트를 크리덴셜 사용자로 배포하는 크리덴셜 서버-상기 크리덴셜 사용자에 사용자 디바이스가 제공되고, 상기 사용자 디바이스와 상기 크리덴셜 서버 사이의 통신을 위해 제 1 채널 및 제 2 채널이 제공됨-에 있어서,
- 공유 키(K)를 생성하고, 상기 공유 키를 상기 사용자 디바이스로 배포하거나 또는 상기 제 2 채널을 통해 상기 사용자 디바이스로부터 상기 공유 키를 수신하고,
- 균일한 분포로부터의 사전 정의된 최대 편차 레벨을 갖는 상기 크리덴셜의 세트의 2진 표시를 생성하며,
- 상기 공유 키에 의해 상기 크리덴셜의 세트의 상기 2진 표시를 암호화하고,
- 상기 제 1 채널을 통해 상기 크리덴셜 발행자로부터 상기 사용자 디바이스로 상기 암호화된 상기 크리덴셜의 세트를 배포하는 크리덴셜 서버가 제공된다.
본 발명의 다른 측면에 따르면, 크리덴셜 서버로부터 크리덴셜의 세트를 수신하도록 제공된 사용자 디바이스-상기 사용자 디바이스와 상기 크리덴셜 서버 사 이의 통신을 위해 제 1 채널 및 제 2 채널이 제공됨-에 있어서,
- 공유 키를 생성하고, 상기 공유 키를 상기 크리덴셜 서버로 배포하거나 또는 상기 제 2 채널을 통해 상기 크리덴셜 서버로부터 상기 공유 키를 수신하고,
- 균일한 분포로부터의 사전 정의된 최대 편차 레벨을 갖는 상기 크리덴셜의 세트의 2진 표시를 수신하며-상기 크리덴셜의 세트의 상기 2진 표시는 상기 공유 키에 의해 암호화됨-,
- 상기 공유 키에 의해 상기 암호화된 상기 크리덴셜의 세트를 복호화하고,
- 상기 복호화된 상기 크리덴셜의 세트를 저장하는 사용자 디바이스가 제공된다.
본 발명의 각종 측면의 단계는 상이한 순서로 실행될 수 있다. 또한, 단계가 또한 결합, 예를 들어, 2개 이상의 단계가 함께 수행될 수 있다.
임의의 이들 특징은 본 발명의 방법 측면에 적용될 수 있고 또한 그 반대일 수 있다. 디바이스 특징의 장점은 대응하는 방법 특징에 적용하며 또한 그 반대일 수 있다.
도면의 간단한 설명
본 발명의 바람직한 실시예는 이하의 도면을 단지 일례로서 참조하여, 이하 보다 상세하게 기술된다.
도면은 단지 예시를 위해 제공되며 본 발명의 실제의 예를 반드시 축적대로 나타내는 것은 아니다. 도면에서, 몇몇 참조 부호는 동일하거나 또는 유사한 부분을 나타내도록 사용된다.
도 1은 본 발명의 실시예에 따른 시스템의 블록도이고,
도 2는 시스템의 스마트 카드의 블록도이며,
도 3은 시스템의 사용자 디바이스의 블록도이고,
도 4는 시스템의 서버 컴퓨터 시스템의 블록도이며,
도 5는 본 발명의 실시예에 따른 다른 시스템의 블록도이고,
도 6은 스마트 카드와 연관된 플로우차트이며,
도 7은 스마트 카드 메모리의 블록도이고,
도 8은 서버 컴퓨터 시스템과 연관된 플로우차트이며,
도 9는 스마트 카드와 연관된 다른 플로우차트이고,
도 10은 스마트 카드 메모리의 다른 블록도이며,
도 11은 스마트 카드와 연관된 또 다른 플로우차트이고,
도 12는 서버 컴퓨터 시스템과 연관된 다른 플로우차트이며,
도 13은 서버 컴퓨터 시스템과 연관된 또 다른 플로우차트이고,
도 14는 서버 컴퓨터 시스템과 연관된 또 다른 플로우차트이다.
도 1은 본 발명의 실시예에 따른 시스템(100)을 도시한다. 시스템(100)은 사용자 디바이스(110)를 포함한다. 본 발명의 예시적인 실시예에서 사용자 디바이스(110)는 이동 전화이다. 사용자 디바이스(110)의 다른 예는 PDA(Personal Digital Assistant), 유선 또는 코드리스 전화(cordless phone) 또는 임의의 다른 디바이스를 포함한다. 사용자 디바이스(110)는 스마트 카드(115)를 포함한다.
시스템(100)은 크리덴셜 발행자(130)에 할당되는 서버 컴퓨터 시스템(120)을 서버로서 포함한다. 크리덴셜 발행자(130)는, 예를 들어, 은행, 보험 회사, 인터넷 스토어 또는 서비스를 제공하는 서비스 엔티티일 수 있다. 크리덴셜 발행자(130)는 크리덴셜(145)의 세트(140), 특히, 원 타임(one-time) 크리덴셜의 세트를 발행하도록 제공된다. 크리덴셜(145)은, 예를 들어, 크리덴셜 발행자(130)의 서비스를 액세스하도록 또는 크리덴셜 발행자(130)와의 거래를 수행하도록 검증 또는 인증 수단으로서 사용될 수 있다. 크리덴셜 발행자(130)는 몇몇 서버 컴퓨터 시스템(120), 예를 들어, 크리덴셜을 생성하고 배포하는 제 1 서버 컴퓨터 시스템 및 크리덴셜을 검증하는 제 2 서버 컴퓨터 시스템을 포함할 수 있다. 본 발명의 예시적인 실시예에서 하나의 도시된 서버 컴퓨터 시스템(120)은 크리덴셜의 생성, 배포 및 검증을 수행한다. 본 발명의 실시예에 따르면 크리덴셜(145)의 세트(140)는 TAN(Transaction Numbers) 리스트이다. TAN 리스트의 각각의 TAN은 크리덴셜(145)을 나타내는 한편, TAN 리스트는 크리덴셜(145)의 세트(140)를 나타낸다.
제 1 채널(150)은 사용자 디바이스(110)와 서버 컴퓨터 시스템(120) 사이의 통신을 위해 확립된다. 제 1 채널(150)은 통신 네트워크 인프라스트럭쳐(155)를 포함한다. 통신 네트워크 인프라스트럭쳐(155)는 무선 액세스 네트워크, 예를 들어, GSM 네트워크와 같은 이동 전화 네트워크일 수 있다.
제 2 채널(160)은 사용자 디바이스(110)와 서버 컴퓨터 시스템(120) 사이의 통신을 위해 확립된다. 본 발명의 실시예에 따른 제 2 채널(160)은 서버 컴퓨터 시스템(120)에 접속 가능한 클라이언트 컴퓨터 시스템(170)을 또 다른 디바이스로서 포함한다. 클라이언트 컴퓨터 시스템(170)은 디스플레이(176), 컴퓨터(177) 및 수동적인 사용자 인터페이스로서의 키보드(175)를 포함한다. 본 발명의 다른 실시예에 따르면 다른 디바이스는 PDA(Personal Digital Assistant), 유선 또는 코드리스 전화(cordless phone) 또는 이동 전화일 수 있다. 클라이언트 컴퓨터 시스템(170)은 통신 네트워크 인프라스트럭쳐(180)에 의해 서버 컴퓨터 시스템(120)과 통신할 수 있다. 통신 네트워크 인프라스트럭쳐(180)는 특히 인터넷일 수 있다. 통신 네트워크 인프라스트럭쳐(180)는 특히 SSL 접속과 같은 안전한 또는 신뢰성 있는 인터넷 접속일 수 있다. 본 발명의 다른 실시예에 따르면 통신 네트워크 인프라스트럭쳐(180)는 무선 액세스 네트워크, 예를 들어, 이동 전화 네트워크 또는 유선 전화 네트워크를 포함할 수 있다.
사용자 디바이스(110)와 클라이언트 컴퓨터 시스템(170)은 크리덴셜 사용자(190)에 할당된다. 크리덴셜 사용자(190)는 거래를 수행하거나 또는 크리덴셜 발행자(130)의 서비스를 액세스하기 위해 크리덴셜(145)을 사용하고자 원하는 사람 또는 엔티티일 수 있다.
크리덴셜 사용자(190)의 수동적인 사용자 상호 작용은 클라이언트 컴퓨터 시스템(170)과 사용자 디바이스(110) 사이의 통신을 위해 제공된다. 이러한 사용자 상호 작용은 제 2 채널(160)의 일부분이다. 도 1의 실시예에 따르면 제 2 채널(160)에는 사용자 디바이스(110)의 키패드(340) 형태의 수동적인 사용자 인터페이스가 제공된다. 또한, 사용자 디바이스(110)는 디스플레이(350)를 포함한다.
클라이언트 컴퓨터 시스템(170)으로부터 사용자 디바이스(110)로 정보를 전 송하기 위해, 각각의 정보는 클라이언트 컴퓨터 시스템(170)의 디스플레이(176) 상에 디스플레이될 수 있다. 크리덴셜 사용자(190)는 디스플레이(176) 상에 디스플레이된 정보를 판독하고 키패드(340)에 의해 정보를 사용자 디바이스(110)에 입력한다. 사용자 디바이스(110)로부터 클라이언트 컴퓨터 시스템(170)으로 정보를 전송하기 위해, 각각의 정보는 사용자 디바이스(110)의 디스플레이(176) 상에서 디스플레이될 수 있다. 크리덴셜 사용자(190)는 디스플레이(336) 상에 디스플레이된 정보를 판독하고 키패드(175)에 의해 정보를 클라이언트 컴퓨터 시스템(170)에 입력한다.
시스템(100)은 크리덴셜 발행자(130)로부터 크리덴셜 사용자(190)로 크리덴셜(145)의 세트(140)의 배포를 위해 제공된다. 제 2 채널(160)은 사용자 디바이스(110)와 크리덴셜 발행자(130) 사이의 공유 키 K의 배포를 위해 제공된다. 공유 키 K는 특히 취약 키이다. 공유 키 K의 이러한 배포는 크리덴셜 사용자(190)와 크리덴셜 발행자(130) 사이의 크리덴셜 배포를 위한 초기 설정을 제공한다.
본 발명의 일 실시예에 따르면 공유 키 K는 크리덴셜 발행자(130)의 서버 컴퓨터 시스템(120)에 의해 생성된다. 그 다음에 공유 키 K는 서버 컴퓨터 시스템(120)으로부터 통신 네트워크 인프라스트럭쳐(180)를 통해 클라이언트 컴퓨터 시스템(170)으로 전송된다. 그 다음에 공유 키 K는 클라이언트 컴퓨터 시스템(170)의 디스플레이(176) 상에 디스플레이되고, 크리덴셜 사용자(190)에 의해 판독되며, 키패드(340)를 통해 크리덴셜 사용자(190)에 의해 사용자 디바이스(110)에 수동으로 입력된다. 공유 키 K가 취약 키일 수 있고 이에 따라 짧은 키이므로, 키패드(340) 에 의해 편리하게 입력될 수 있다.
본 발명의 다른 실시예에 따르면 공유 키 K는 사용자 디바이스(110)에 의해 생성된다. 그 다음에 공유 키 K는 사용자 디바이스(110)의 디스플레이(330) 상에 디스플레이되고, 크리덴셜 사용자(190)에 의해 판독되며, 키보드(175)를 통해 크리덴셜 사용자(190)에 의해 클라이언트 컴퓨터 시스템(170)에 수동으로 입력된다. 그 다음에 공유 키 K는 통신 네트워크 인프라스트럭쳐(180)를 통해 클라이언트 컴퓨터 시스템(170)으로부터 서버 컴퓨터 시스템(120)으로 전송된다.
공유 키 K가 취약 키일 수 있고 이에 따라 짧은 키이므로, 디스플레이(330) 상에서 편리하게 판독되고 키보드(1750)에 의해 편리하게 입력될 수 있다.
두 실시예에 따라, 크리덴셜 발행자(130) 및 크리덴셜 사용자(190)는 공유 키 K를 가지며 제 1 채널(150)을 통해 암호화된 정보의 교환을 위해, 특히, 암호화된 크리덴셜의 교환을 위해, 이러한 공유 키 K를 사용할 수 있다.
서버 컴퓨터 시스템(120)은 균일한 분포로부터의 사전 정의된 최대 편차 레벨을 갖는 크리덴셜(145)의 세트(140)의 2진 표시를 생성하도록 제공된다. 서버 컴퓨터 시스템(120)은 공유 키 K에 의해 균일한 분포로부터의 사전 정의된 최대 편차 레벨을 갖는 이러한 2진 표시를 암호화하도록 또한 제공된다. 그 다음에 안호화된 크리덴셜(145)의 세트(140)는 제 1 채널(150)을 통해 서버 컴퓨터 시스템(120)으로부터 사용자 디바이스(110)로 전송된다. 사용자 디바이스(110)에서 안호화된 크리덴셜(145)의 세트(140)는 공유 키 K에 의해 복호화되고, 사용자 디바이스(110), 특히 스마트 카드(115)에 저장된다.
도 2는 사용자 디바이스(110)의 스마트 카드(115)를 보다 상세하게 도시한다.
스마트 카드(115)는 버스 서브시스템(240)을 통해 모두 상호 접속되는 메모리(206), CPU(central processing unit)(210), 암호화 엔진(220), 및 입/출력(I/O) 서브시스템(230)을 포함한다. CPU(210)에 의해 실행 가능한 컴퓨터 프로그램 코드가 메모리(200)에 저장된다. 컴퓨터 프로그램 코드는 자바 호환 가능한 작동 플랫폼 형태의 운영 체제(250) 및 툴 키트(tool kit)(260)를 포함한다. 툴 키트(260)는 자바 애플릿 형태의 애플리케이션 소프트웨어를 확립한다. 메모리(200)는 또한 번거로움이 방지되는(tamper-resistant) 방식으로 크리덴셜(145)의 세트(140)의 저장을 용이하게 한다. 크리덴셜(145)의 세트(140)는 또한 SC로서 표시된다. 운영 체제(250)는 툴 키트(260)를 실행하는 CPU(210)를 구성한다. 툴 키트(260)는 크리덴셜 세트(140) 내의 크리덴셜(145)의 처리를 용이하게 한다. 툴 키트(260)의 기능의 측면이 상세하게 기술될 것이다. 암호화 엔진(220)은 스마트 카드(115)로부터 전송되고 스마트 카드(115)에 의해 수신될 데이터를 암호화하고 복호화하는 암호화 프로세싱 로직을 포함한다. 암호화 프로세싱 로직은 하드웨어, 소프트웨어 또는 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.
도 3은 사용자 디바이스(110)를 보다 상세하게 도시한다. 사용자 디바이스(110)는 버스 서브시스템(350)을 통해 모두 상호 접속되는 무선 주파수(RF) 안테나(310)를 갖는 RF 스테이지(300), 제어 로직(320), 시각적 디스플레이(330) 및 키패드(340)를 포함한다. 스마트 카드(115)는 착탈 가능하게 사용자 디바이스(110)에 삽입되고 스마트 카드(115)의 I/O 서브시스템(230)은 사용자 디바이스(110)의 버스 서브시스템(350)에 해제 가능하게 접속된다. 동작 시에, RF 스테이지(300) 및 EF 안테나(310)는 사용자 디바이스(110)와 제 1 채널(150)에 접속된 다른 디바이스 사이의 무선 통신을 용이하게 한다. 시각적 디스플레이(330)는 메시지를 준비하고 메시지를 판독하는 것과 같은 기능을 위해 사용자와 사용자 디바이스(110) 사이에 그래픽 사용자 인터페이스를 제공한다. 키패드(340)는 데이터 입력 및 호출 처리와 같은 기능을 위해 사용자 디바이스(110)의 키보드 제어를 사용자에게 제공한다. 제어 로직(320)은, 예를 들어, 키패드(340)로부터 수신된 입력에 기초하여 호출 처리와 같은 사용자 디바이스(110)의 기능을 제어한다. 시각적 디스플레이(330) 상에서의 디스플레이 데이터와 같이, 사용자 디바이스(110)로부터의 출력은 제어 로직(320)에 의해 또한 제어된다. 마찬가지로, 제어 로직(320)은 스마트 카드(115)로부터의 데이터 전송 및 버스 서브시스템(240)을 통한 사용자 디바이스(110)의 다른 요소를 통합한다. 제어 로직(320)은 전용 하드웨어, 프로그래밍된 CPU 또는 하드웨어와 프로그래밍된 CPU의 결합으로 구현될 수 있다.
도 4는 시스템의 서버 컴퓨터 시스템(120)을 보다 상세하게 도시한다. 서버 컴퓨터 시스템(120)은 버스 서브시스템(430)을 통해 모두 상호 접속되는 메모리(406), CPU(410), 및 입/출력(I/O) 서브시스템(430)을 포함한다. CPU(410)에 의해 실행 가능한 컴퓨터 프로그램 코드가 메모리(420)에 저장된다. 컴퓨터 프로그램 코드는 운영 체제(440) 및 크리덴셜 서비스 애플리케이션 소프트웨어(credential service application software : CSAS)(450)를 포함한다. 운영 체제(440)는 크리덴 셜 서비스 애플리케이션 소프트웨어(450)를 실행하는 CPU(410)를 구성한다. 크리덴셜 서비스 애플리케이션 소프트웨어(450)는 크리덴셜(145)의 세트(140)의 저장을 용이하게 한다. 크리덴셜 서비스 애플리케이션 소프트웨어(450)의 기능의 측면이 상세하게 기술될 것이다.
동작 시에, 제 1 채널(150)은 사용자 디바이스(110)와 서버 컴퓨터 시스템(120) 사이에 확립된다. 제 1 채널(150)은 서버 컴퓨터 시스템(120) 내의 크리덴셜 서비스 애플리케이션 소프트웨어(450)로부터 사용자 디바이스(110) 내의 스마트 카드(115)로의 크리덴셜(145)의 세트(140)를 용이하게 한다. 툴 키트(260)는 사용자에 대한 스마트 카드(115)의 구성 동안 사용자 디바이스(110)의 메모리(200)로 로드될 수 있다. 대안적으로 툴 키트(260)는 메모리(220)로 로드될 수 있고 제 1 채널(150)을 통해 동적으로 리프레쉬될 수 있다. 메모리(200)에서의 툴 키트(260)에 대한 액세스는 사용자 디바이스(110)를 통해 크리덴셜 사용자(190)에 의해, PIN에 의해 보호된다. 캐패드(340)는 이러한 목적으로 채용된다. 대안적으로, 사용자 디바이스(110)가 음성 인식을 가지면, PIN은 구두로 세트되고 리셋될 수 있다. 다른 디바이스가 데이터 입력의 또 다른 수단을 지원할 수 있다.
도 5는 본 발명의 다른 실시예에 따른 시스템(500)을 도시한다. 시스템(500)의 제 1 채널(150)은 도 1을 참조하여 도시된 것과 동일한 방식으로 구현된다. 따라서 동일한 참조 번호는 제 1 채널(150)의 요소에 대해 사용된다. 제 2 채널(520)은 도 1의 제 2 채널(160)과 상이한 방식으로 구현된다. 제 2 채널(520)은 문서 메일 시스템을 포함한다. 문서 메일은, 예를 들어, 통상적인 우편 시스템을 통해 제 공될 수 있다. 문서 메일은 크리덴셜 발행자(130)와 크리덴셜 사용자(190) 사이로 배포될 공유 키 K를 포함한다. 공유 키 K는 크리덴셜 발행자(130) 또는 서버 컴퓨터 시스템(120)에 의해 생성된다. 이것은 그 다음에 문서 메일에 의해 크리덴셜 사용자(190)로 전송된다. 크리덴셜 사용자(190)는 문서 메일을 열고, 공유 키 K를 판독하며 키패드(340)에 의해 공유 키 K를 사용자 디바이스(110)에 수동적으로 입력하도록 제공된다.
이하에서 도 6을 참조하면, 공유 키 K의 초기 생성과 배포, 및 스마트 카드(115)의 툴 키트(260)의 활성을 위한 플로우차트가 보다 상세하게 기술된다. 도 6의 플로우차트는 상기 도 1을 참조하여 기술된 바와 같이 시스템(100)에 기초한다.
단계(610)에서 서버 컴퓨터 시스템(120)은 공유 키 K 및 크리덴셜 사용자 식별 코드 ID를 생성한다. 크리덴셜 사용자 식별 코드 ID는 각각의 크리덴셜 사용자(190)을 식별하고 대응하는 크리덴셜 사용자(190)에 대해 크리덴셜(145)의 세트(140)와 생성된 공유 키 K를 허용하도록 제공된다.
단계(620)에서 공유 키 K 및 대응하는 크리덴셜 사용자 식별 코드 ID는 통신 네트워크 인프라스트럭쳐(180)를 통해 클라이언트 컴퓨터 시스템(170)으로 전송된다. 단계(630)에서 공유 키 K 및 크리덴셜 사용자 식별 코드 ID는 클라이언트 컴퓨터 시스템(170)의 디스플레이(176) 상에 디스플레이된다.
단계(640)에서 크리덴셜 사용자(190)는 키패드(340)를 통해 PIN을 입력한다. PIN의 수신 시에, 툴 키트(260)는 크리덴셜 사용자(190)가 공유 키 K 및 크리덴셜 사용자 식별 코드 ID를 입력하도록 요청한다. 단계(650)에서 크리덴셜 사용자(190) 는 키패드(340)를 통해 공유 키 K 및 크리덴셜 사용자 식별 코드 ID를 입력한다. 또한, 사용자 디바이스(110)가 음성 인식을 가지면, 이러한 데이터가 구두로 입력될 수 있다. 그러나, 사용자가 데이터를 도청하여 인용함에 따라 이것은 덜 안전한 입력 기법이라는 것이 이해될 것이다. 상기 리스트된 사용자 입력의 수신 시에, 단계(660)에서 툴 키트(260)는 크리덴셜 사용자 식별 코드 ID를 포함하는 초기화 메시지, 예를 들어, SMS 메시지를 서버 컴퓨터 시스템(120) 상의 크리덴셜 서비스 애플리케이션 소프트웨어(450)로 전송한다. 초기화 메시지는 툴 키트(260)가 인에이블되었음을 크리덴셜 서비스 애플리케이션 소프트웨어(450)에 대해 표시한다.
도 7을 참조하면, 스마트 카드(115) 상의 메모리(200)가 PIN, 공유 키 K 및 크리덴셜 사용자 식별 코드 ID를 포함한다.
도 8을 참조하면, 서버 컴퓨터 시스템(120)에서 초기화 메시지의 수신 시에, 단계(810)에서 크리덴셜 서비스 애플리케이션 소프트웨어(450)는 크리덴셜 사용자 식별 코드 ID에 의해 각각의 크리덴셜 사용자(190)를 룩업하고 크리덴셜 사용자(150)에 대해 발행된 공유 키 K를 검색한다. 그 다음에 단계(820)에서 크리덴셜 서비스 애플리케이션 소프트웨어(450)는 비2진 표시에서의 크리덴셜(145)의 세트(140), 예를 들어, 10진수 시스템에서의 TAN을 생성한다. 단계(830)에서 균일한 분포로부터의 사전 정의된 최대 편차 레벨을 갖는 크리덴셜(145)의 세트(140)의 2진 표시가 생성된다. 즉, 크리덴셜(145)의 세트(140)의 비2진 표시는 균일한 분포로부터의 사전 정의된 최대 편차 레벨로 배포되는 0 및 1의 2진 표시로 변환된다. 단계(840)에서 균일한 분포로부터의 사전 정의된 최대 편차 레벨을 갖는 이러한 2진 표 시는 공유 키 K로 암호화된다. 단계(850)에서 암호돠된 크리덴셜(145)의 세트(140)는 제 1 채널(150)을 통해 서버 컴퓨터 시스템(120)으로부터 사용자 디바이스(110)로 전송된다.
도 9를 참조하면, 단계(910)에서 크리덴셜(145)의 세트(140)가 사용자 디바이스(110)에서 수신된다. 단계(920)에서 툴 키트(260)는 암호돠된 크리덴셜 세트를 복호화한다. 툴 키트(260)는 공유 키 K에 의해 암호화된 크리덴셜(145)의 세트(140)를 복호화하도록 암호화 엔진(220)을 이용한다. 그 다음에 단계(930)에서 툴 키트(260)는 복호화된 크리덴셜(145)의 세트(140)를 메모리(200)에 저장한다. 그 다음에 초기화가 완료된다. 도 10을 참조하면, 메모리(200)는 공유 키 K, PIN, 크리덴셜 사용자 식별 코드 ID, 및 크리덴셜(145)의 세트(140)를 포함한다.
도 11을 참조하면, 크리덴셜 사용자(190)가 뱅킹 거래을 수행하는 크리덴셜(145)을 필요로 할 때, 단계(1110)에서, 예를 들어, 크리덴셜 사용자(190)는 툴 키트(260)를 언로크(unlock)하도록 키패드(340)를 통해 PIN을 또한 입력한다. 그 다음에 단계(1120)에서 크리덴셜 사용자(190)는 툴 키트(260)로부터 크리덴셜(145)을 요청하고 판독한다. 크리덴셜(145)은 크리덴셜 발행자(130)에 의해 채용된 크리덴셜 할당 시스템에 따라, 크리덴셜(145)의 세트(140) 내의 다음 크리덴셜 또는 특정의 크리덴셜(145)일 수 있다. 단계(1130)에서 툴 키트(260)는 발행된 크리덴셜(145)을 추적하고/하거나 마크한다. 단계(1140)에서 사용자 디바이스(110)는 디스플레이(330) 상에 각각의 크리덴셜(145)을 디스플레이하고 크리덴셜 사용자(190)는 크리덴셜 발행자(130)와의 거래를 수행하는 크리덴셜(145)을 판독하고 사용할 수 있다. 크리덴셜 사용자(190)에 비2진 형태의 크리덴셜(145)을 디스플레이하기 위해, 툴 키트(260) 또는 사용자 디바이스(110)의 디코딩 유닛은 크리덴셜(145)의 세트(140)의 2진 표시를 비2진 표시로 재변환한다. 즉, 툴 키트(260) 또는 디코딩 유닛은 크리덴셜(145)의 세트(140)의 2진 표시를 디코딩한다. 툴 키트(260) 또는 사용자 디바이스(110)의 디코딩 유닛은 각각의 디코딩 툴 또는 각각의 디코딩 엔진을 갖는다.
도 12는 본 발명의 실시예에 따른 서버 컴퓨터 시스템(120)에 의해 수행된 크리덴셜 세트의 2진 표시를 생성하는 방법의 플로우차트를 도시한다. 도 13은 크리덴셜 세트의 2진 표시의 대응하는 예시적인 실시예를 도시한다.
서버 컴퓨터 시스템(120)에서 사용자 디바이스(110)로부터의 초기화 메시지의 수신 시에, 단계(1210)에서 크리덴셜 서비스 애플리케이션 소프트웨어(450)는 크리덴셜 사용자 식별 코드 ID에 의해 각각의 크리덴셜 사용자(190)를 룩업하고 각각의 크리덴셜 사용자(190)에 대해 발행된 공유 키 K를 검색한다.
단계(1220)에서 크리덴셜 세트의 제 1 표시가 생성된다. 도 13은 제 1 표시(1310)를 예로서 도시한다. 크리덴셜 세트는 TAN 리스트이다. TAN 리스트의 제 1 표시(1310)는 표준 형태의 개별적인 TAN 및 할당을 포함한다. 개별적인 TAN은 차수에 따라 순서화되고 제공된다. 일례로서, 제 1 TAN(8223)은 주문 번호 01이 제공된다. 이러한 TAN 리스트의 구조는 제 1 레벨의 랜덤성을 초래한다.
단계(1230)에서 TAN 리스트의 제 1 표시(1310)는 TAN 리스트의 제 2 표시(1320)로 변환된다. 단계(1230)에서 TAN 리스트의 표준 형태 및 할당은 제 1 표시 (1310)로부터 제거된다. 이것은 개별적인 TAN의 차수 및 구조화된 할당을 제거하고 임의의 매개 공간 또는 구조 없이 단지 TAN을 교번적으로 배열함으로써 행해진다. 제 2 표시(1320)는 제 1 레벨의 랜덤성보다 높은 제 2 레벨의 랜덤성을 갖는다.
단계(1240)에서 크리덴셜 세트의 제 2 표시(1320)가 균일한 분포로부터의 사전 정의된 최대 편차 레벨을 갖는 2진 표시(1330)로 변환된다.
단계(1240)에 대해 2진 변환을 위한 이하 기술된 방법 중 하나가 사용될 수 있다.
단계(1250)에서 균일한 분포로부터의 사전 정의된 최대 편차 레벨을 갖는 2진 표시(1330)는 공유 키 K에 의해 암호화된다. 이것은 암호화된 크리덴셜(1340)의 세트를 초래한다.
단계(1260)에서 암호화된 크리덴셜의 세트는 제 1 채널(150)을 통해 서버 컴퓨터 시스템(120)으로부터 사용자 디바이스(110)로 전송된다.
이하에서 균일한 분포로부터의 사전 정의된 최대 편차 레벨을 갖는 크리덴셜의 세트의 2진 표시를 생성하는 단계가 보다 상세하게 설명된다.
일반적으로 제 1 채널(150)을 통해 전달될 크리덴셜 세트는 문자열 w로서 표시되고, 알파벳 A를 이용하여 구성되는 하나 이상의 워드 w의 세트 W를 포함한다. 각각의 워드 또는 문자열이 크리덴셜에 대응한다. 알파벳 A는 크리덴셜 알파벳 또는 크리덴셜 문자 세트를 각각 확립한다. 크리덴셜 알파벳 A는 크리덴셜 심볼로서 또한 표시되는 유한 심볼 세트이다. 크리덴셜 심볼은, 예를 들어, 문자 또는 숫자일 수 있다. 워드 w는 크리덴셜 알파벳 A 상에서 크리덴셜 심볼의 시퀀스인 메시지 M을 형성하도록 연결될 수 있다.
A = [a1,...ak] k개의 크리덴셜 심볼을 갖는 크리덴셜 알파벳, k>=1
w = s1|s2|...|sj 연결에 의해 구성된 워드
j 크리덴셜 심볼 s, s 요소 A,j>=1; 각각의 워드가 크리덴셜을 나타냄.
W = (w1,...,wq) 크리덴셜 세트를 확립하는 q개의 워드의 세트, q>=1
M = w1|...|wq n개의 크리덴셜 심볼 s로 구성되는 메시지, s
요소t A, n = sum(q=1,q)j(wq)
심볼의 시퀀스로서 메시지 M을 보는 대신에, 다음과 같은 라딕스 k의 수(radix k number)로서 보여질 수 있다.
Figure 112009504354037-PCT00001
암호화 방안에서 이러한 메시지 M을 프로세스하고 제 1 채널(150)을 통해 크리덴셜 발행자(130)로부터 크리덴셜 사용자(190)로 전송하기 위해 2진 표시로 변환될 필요가 있다.
Figure 112009504354037-PCT00002
여기서 b(i)는 MH의 비트 수 i이고 r은 변환된 메시지의 비트 길이임.
r은 r>=ln2(k^n)인 최소 자연수임
M1에서의 크리덴셜 심볼 s(i)가 균일하게 배포되는 것으로 가정한다. 즉 크리덴셜 알파벳 A에서의 각각의 심볼 a(i)는 1/k의 확률로 나타난다.
크리덴셜 알파벳 A가 2의 멱수가 아니면, 크리덴셜 세트의 2진 표시 Mh에서 의 심볼 0 및 1이 최상위 비트 ln2(k)를 제외하고 50%의 확률로 나타난다.
이하의 예에 대해 크리덴셜 발행자(130)는 크리덴셜 세트로서 TAN(Transaction Numbers)을 크리덴셜 사용자(190)로 전송하고자 원하는 것으로 가정한다. 이 예에서, TAN은 6개의 10진수를 갖는 것으로 가정하고 TAN 리스트는 100개의 TAN을 포함하는 것으로 가정한다.
제 1 채널(150)을 통해 크리덴셜 발행자(130)로부터 크리덴셜 사용자(190)로 배포될 크리덴셜 세트는 600개의 랜덤 10진수를 포함한다. 또한 공유 키 K는 12개의 10진수 숫자인 것으로 가정한다.
예에서의 보안 레벨을 평가하기 위해, 제 1 채널(150)을 통해 크리덴셜 발행자(130)와 크리덴셜 사용자(190) 사이의 통신에 대해 공격자가 도청하는 것으로 가정한다. 공격자는 암호화된 크리덴셜 세트, 즉, 암호화된 TAN 리스트를 포함하는 암호화된 메시지를 캡쳐한다. 이제 공격자는 키 공간 내의 모든 키에 대해 시도하는 불법적인 공격을 실행하고 선택된 텐 키에 의해 암호화된 메시지를 복호화할 수 있다. 복호화된 메시지의 구조를 주시함으로써 공격자는 복호화된 메시지가 가능한 TAN 리스트인지 여부를 인식할 수 있다. 선택된 텐 키가 정확한 키가 아니면, 복호돠된 메시지 내의 데이터는 랜덤할 것이다. 이것은 키를 배제하는 공격자에 의해 사용될 수 있다.
본 발명의 실시예에 따르면 TAN 리스트는 600개의 10진수의 시퀀스로서 보여진다. 600개의 10진수는 200 그룹의 이들 10진수로 분할된다. 이들 200 그룹은 2진 변환을 위한 유닛을 확립한다. TAN 리스트의 2진 표시는 이하의 인코딩 또는 변환 방안을 적용함으로써 생성된다.
이들 10진수의 값 0 - 999의 값은 10 비트의 2진 표시(2진수)에 의해 인코딩된다. 일반적으로 10 비트를 갖는 2진 인코딩 방안은 2^10 = 1024 값을 인코딩하도록 허용한다. 따라서 이들은 인코딩된 TAN을 나타내지 않는 몇몇 2진수(표시)이다. 이것은 TAN 리스트의 2진 표시에 몇몇 리던던시 또는 구조를 도입한다. 그러나, 본 발명의 이러한 실시예에 따른 암호화 또는 변환 방안은 TAN 리스트의 2진 표시가 균일한 분포로부터의 사전 정의된 최대 편차 레벨을 포함하는 방식으로 선택된다. 크리덴셜 세트의 2진 표시의 균일한 분포로부터의 사전 정의된 최대 편차 레벨은 사전 정의된 보안 레벨, 공유 키 K의 키 길이 및 사전 정의된 수의 검증 시도에 의해 결정된다. 사전 정의된 수의 검증 시도는 크리덴셜 발행자(130)가 자신 앞에서 중지하거나 또는 크리덴셜 사용자(190)의 각 계정을 폐쇄하도록 하는 시도의 수이다.
본 발명의 예시적인 실시예의 보안 레벨은 다음과 같이 결정될 수 있다. 암호화된 TAN 리스트를 0 - (2^10-1)로부터의 값으로 200 다이스를 롤링(rolling)하는 것이다. 모든 다이스가 단지 0-999로부터의 값을 나타내면, 테스트 키는 실제의 공유 키일 수 있다. 단일의 다이스가 0과 999 사이의 유효 TAN 값을 나타낼 가능성은 Pu = 10^3/2^10 = 97.66%이다. 따라서, 암호화된 TAN 리스트 상의 테스트 키가 단지 유효 TAN을 나타내는 가능성은,
Pl = Pu^200 = 0.871%
이것은 10^12 가능한 테스트 키 중 공격자가 모든 후보 테스트 키의 99.129 %을 배제할 수 있어, 870만개의 가능한 키를 남기게 된다는 것을 의미한다. 잘못된 TAN 리스트에 대한 크리덴셜 발행자(130)의 재시도 카운터의 사전 정의된 수의 검증 시도가, 예를 들어, 5이면, 공격자는 우측 키를 치기 위해 870만 중 5의 가능상을 갖는다. 이러한 가능성은 시스템(100)의 보안 레벨에 대응한다. 이 예에서 사전 정의된 수의 검증 시도를 감소시키고, 공유 키의 키 길이를 증가시키거나 또는 TAN 리스트의 2진 표시의 균일한 분포로부터의 (최대) 최대 편차 레벨을 증가시킴으로써, 즉, TAN 리스트의 2진 표시의 랜덤성 레벨을 증가시킴으로써 보안 레벨이 증가될 수 있다. 이들 파라미터를 변경함으로써, 크리덴셜 발행자(130)는 각각의 애플리케이션의 보안 레벨을 채택하여 사전 정의할 수 있다.
본 발명의 다른 실시예에 따르면 각각의 개별적인 크리덴셜, 즉, 이 예에서 6개의 10진수로 구성되는 각각의 개별적인 TAN은 20 비트의 2진 표시로 변환된다. 따라서 600개의 10진수는 100 그룹의 6개의 10진수로 분할된다. 이들 100 그룹은 이 예에서의 2진 변환을 위한 유닛을 확립한다. TAN 리스트의 2진 표시는 다음과 같은 인코딩 방안을 적용함으로써 생성된다.
각각의 TAN(10^6)을 20 비트의 2진 데이터로 인코딩한다.
즉, 6개의 10진수의 값 0-999999의 각각은 20 비트의 2진 표시(2진수)에 의해 인코딩된다. 일반적으로 20 비트를 갖는 2진 인코딩 방안은 2^20 = 1048576 값의 인코딩을 허용한다. 따라서 이들은 또한 인코딩된 TAN을 나타내지 않는 몇몇 2진수이다. 이것은 TAN 리스트의 2진 표시에서의 일부 리던던시 또는 구조를 도입한다.
본 발명의 예시적인 실시예의 보안 레벨은 다음과 같이 결정될 수 있다. 암호화된 TAN 리스트를 복호화하는 것은 0 - (2^20-1)로부터의 값으로 100 다이스를 롤링하는 것이다. 모든 다이스가 단지 0-999999로부터의 값을 나타내면, 테스트 키는 실제의 (취약) 공유 키일 수 있다. 단일의 다이스가 0과 999999 사이의 유효 TAN 값을 나타낼 가능성은 Pu = 10^6/2^20 = 95.37%이다. 따라서, 암호화된 TAN 리스트 상의 테스트 키가 단지 유효 TAN을 나타내는 가능성은,
Pl = Pu^100 = 0.871%
이것은 10^12개의 가능한 테스트 키 중 공격자가 모든 후보 테스트 키의 99.13%을 배제할 수 있어, 870만개의 가능한 키를 남기게 된다는 것을 의미한다. 잘못된 TAN 리스트에 대한 크리덴셜 발행자(130)의 재시도 카운터의 사전 정의된 수의 검증 시도가, 예를 들어, 5이면, 공격자는 우측 키를 치기 위해 870만 중 5의 가능상을 갖는다. 이러한 가능성은 시스템(100)의 보안 레벨에 대응한다. 보안 레벨은 사전 정의된 수의 검증 시도를 감소시키고, 공유 키의 키 길이를 증가시키거나 또는 TAN 리스트의 2진 표시의 균일한 분포로부터의 (최대) 편차 레벨을 증가시킴으로써 증가될 수 있다. 이들 파라미터를 변경함으로써, 크리덴셜 발행자(130)는 각각의 애플리케이션의 보안 레벨을 채택하여 사전 정의할 수 있다.
본 발명의 실시예에 따르면 보안 레벨은 우측 공유 키를 치기 위해 불법적인 공격자의 가능성이 1% 미만인 방식으로 선택된다.
본 발명의 실시예에 따르면 보안 레벨은 우측 공유 키를 치기 위해 불법적인 공격자의 가능성이 0.01% 미만인 방식으로 선택된다.
본 발명의 실시예에 따르면 보안 레벨은 우측 공유 키를 치기 위해 불법적인 공격자의 가능성이 0.00001% 미만인 방식으로 선택된다.
이들 보안 레벨 또는 다른 보안 레벨 중 하나가 설정되었으면, 다른 파라미터, 즉, 공유 키의 키 길이, 검증 시도의 수 및 균일한 분포로부터의 최대 편차 레벨은 상기 기술된 방법에 의해 선택될 수 있다.
본 발명의 또 다른 실시예에 따르면 2개의 개별적인 크리덴셜의 그룹, 즉, 이 예에서 12개의 10진수로 구성되는 각각의 개별적인 TAN은 40 비트의 2진 표시로 변환된다. 이들 50 그룹은 2진 변환을 위한 유닛을 확립한다. 따라서, TAN 리스트의 2진 표시는 다음과 같은 인코딩 또는 변환 방안을 적용함으로써 생성된다.
각각의 TAN(10^12)을 40 비트의 2진 데이터로 인코딩한다.
즉, 12개의 10진수의 값 0-999999999999의 각각은 40 비트의 2진 표시(2진수)에 의해 인코딩된다. 일반적으로 40 비트를 갖는 2진 인코딩 방안은 2^40 = 1099511627776 값의 인코딩을 허용한다. 따라서 이들은 또한 인코딩된 TAN을 나타내지 않는 몇몇 2진수이다. 이것은 TAN 리스트의 2진 표시에서의 일부 리던던시 또는 구조를 도입한다.
본 발명의 이러한 예시적인 실시예의 보안 레벨은 다음과 같이 결정될 수 있다. 암호화된 TAN 리스트를 복호화하는 것은 0 - (2^40-1)로부터의 값으로 50 다이스를 롤링하는 것이다. 모든 다이스가 단지 0-999999999999로부터의 값을 나타내면, 테스트 키는 실제의 취약 공유 키일 수 있다. 단일의 다이스가 0과 999999999999 사이의 유효 TAN 값을 나타낼 가능성은 Pu = 10^12/2^40 = 90.95%이 다.
따라서, 암호화된 TAN 리스트 상의 테스트 키를 갖는 시도 복호화가 단지 유효 TAN을 나타내는 가능성은,
Pl = Pu^50 = 0.871%
이것은 10^12개의 가능한 테스트 키 중 공격자가 모든 후보 테스트 키의 99.13%을 배제할 수 있어, 870만개의 가능한 키를 남기게 된다는 것을 의미한다. 잘못된 TAN 리스트에 대한 크리덴셜 발행자의 재시도 카운터의 사전 정의된 수의 검증 시도가, 예를 들어, 5이면, 공격자는 우측 키를 치기 위해 870만 중 5의 가능성을 갖는다. 이러한 가능성은 크리덴셜 시스템의 보안 레벨에 대응한다.
본 발명의 또 다른 실시예에 따르면 메시지 M에 추가적인 메시지 공간을 제공하는 인코딩 방안이 제공된다. 본 발명의 이러한 실시예에 따르면 크리덴셜 알파벳 A는 다수의 추가 노이즈 시스템에 의해 확대된다. 노이즈 심볼은 유효 크리덴셜 심볼이 아닌 심볼이다. 크리덴셜 알파벳은 노이즈 알파벳 Ax로서 표시된다. 노이즈 알파벳 Ax는 크리덴셜 알파벳 A의 크리덴셜 심볼 및 다수의 노이즈 심볼을 포함한다. 다수의 추가적인 노이즈 심볼은 바람직하게 노이즈 알파벳 내의 심볼 총 수가 2의 멱수이도록 선택된다.
즉, 확장된 노이즈 알파벳 Ax가 생성되며, 여기서
Ax = {a1,...,ak, ak+1,...,akx}, 여기서 k < (kx = 2^x) < 2*k
ak+1,...akx는 노이즈 심볼이고 a1,...ak는 크리덴셜 심볼이다.
일례로서, TAN 리스트에서 10진수만이 유효 크리덴셜 심볼로서 고려된다. 이 들 10진수는 노이즈 심볼 A, B, C, D, E 및 F에 의해 확장된다.
결과적인 노이즈 알파벳은 크리덴셜 심볼 0, 1, 2, 3, 4, 5, 6, 7, 8 및 9와 노이즈 심볼 A, B, C, D, E 및 F를 포함한다. 노이즈 알파벳은 2^4 = 16 크기의 심볼을 갖는다. 노이즈 심볼에 2의 멱수인 크기를 제공하면 크리덴셜 세트의 2진 표시가 균일한 0 및 1의 분포를 포함하는 장점을 갖는다.
도 14는 노이즈 심볼을 포함하는 크리덴셜 세트의 2진 표시를 생성하는 방법을 도시한다.
단계(1410)에서 사전 정의된 수의 크리덴셜 심볼을 포함하는 크리덴셜 세트가 생성된다. 이 예에서, 크리덴셜 세트는 크리덴셜 심볼로서 600개의 10진수를 포함하는 TAN 리스트인 것으로서 또한 가정한다. 이들 600개의 10진수는 100개의 TAN을 나타낸다. 단계(1410)는 크리덴셜 발행자(130)의 랜덤 생성기에 의해 수행될 수 있다. 단계(1410)의 예시적인 출력은 다음과 같이 보여질 수 있다.
147462......
여기서 TAN 리스트의 첫 번째 TAN 147462가 도시되며 또 다른 99개의 TAN이 도트로 예시된다.
단계(1420)에서 다수의 더미 크리덴셜 심볼 및 노이즈 알파벳으로부터 도출된 노이즈 심볼로 구성되는 랜덤 메시지가 생성된다. 다수의 더미 크리덴셜 심볼은 사전 정의된 수의 크리덴셜 심볼 이상이다. 이러한 예에서 사전 정의된 수의 크리덴셜 심볼은 TAN 리스트의 크기, 즉, 600이다. 더미 크리덴셜 심볼은 크리덴셜 알파벳의 10진수 0, 1, 2, 3, 4, 5, 6, 7, 8 및 9이다. 노이즈 심볼은 심볼 A, B, C, D, E 및 F에 의해 확립된다. 랜덤 메시지는 랜덤 16진수 생성기에 의해 생성될 수 있다. 랜덤 메시지는 이 예에서 900개의 16진수로 구성된다.
단계(1420)의 예시적인 출력은 다음과 같이 보여질 수 있다.
A35C9F1ADF86.....
여기서 랜덤 메시지의 첫 번째 12개의 심볼만이 도시되며 또 다른 948개의 심볼이 도트로 예시된다. 랜덤 메시지의 첫 번째 12 심볼은 6개의 더미 크리덴셜 심볼(3, 5, 9, 1, 8, 6) 및 6개의 노이즈 심볼 (A, B, C, D, E, F)을 포함한다.
단계(1430)에서 랜덤 메시지의 사전 정의된 더미 크리덴셜 심볼 세트가 크리덴셜 심볼로 대체된다. 사전 정의된 더미 크리덴셜 심볼 세트, 예를 들어, 랜덤 메시지에서의 첫 번째 600개의 더미 크리덴셜 심볼로서 정의될 수 있다.
이러한 예에서 6개의 더미 크리덴셜 심볼(3, 5, 9, 1, 8, 6)은 크리덴셜 세트의 크리덴셜 심볼(1, 4, 7, 4, 6, 2)로 대체된다.
이로 인해 다음과 같은 메시지가 초래된다.
AJ4C7F4ADF62......
여기서 메시지의 첫 번째 12개의 심볼만이 도시되며 또 다른 948개의 심볼이 도트로 예시된다.
단계(1440)에서 이러한 메시지의 2진 표시가 16진수 인코딩 방안에 의해 생성된다. 이것은 균일한 분포로부터의 최대 편차 레벨을 갖는 크리덴셜 세트의 2진 표시를 확립한다. 2진 표시는 다음과 같이 보여진다.
1010 0001 0100 1100 0111 1111 0100 1010 1101 1111 0110 0010
여기서 메시지의 첫 번째 12개의 심볼만이 또한 도시되며 또 다른 948개의 심볼이 도트로 예시된다.
TAN 리스트의 전체 2진 변환에 비해 이러한 예의 오버헤드 크기는 다음과 같이 계산될 수 있다.
600개의 10진수(10^600)는 1994 비트로 인코딩될 수 있다.
상기 기술된 방안은 960개의 16진수를 사용하며, 각각은 4 비트로 인코딩된다. 이것은 전체 2진 변환의 193%인 3940 비트를 초래한다.
본 발명의 예시적인 실시예의 보안 레벨은 다음과 같이 결정될 수 있다. 공격자는 600개보다 적은 크리덴셜 심볼, 즉, 값 0, 1, 2, 3, 4, 5, 6, 7, 8 및 9 중 하나를 갖는 600개보다 적은 16진수를 갖는 복호화된 메시지를 초래하는 테스트 키만을 배제할 수 있다. 이 예에서의 가능성은 약 50%이다. 이것은 다음과 같이 계산할 수 있다.
메시지는 960개의 16진수를 포함한다. 10개의 크리덴셜 심볼(0, 1, 2, 3, 4, 5, 6, 7, 8 및 9)의 각각은 1/16의 동일한 확률로 발생하는 것으로 가정한다. 따라서 960개의 16진수 내에서의 크리덴셜 심볼의 평균 수는 10/16*960 = 600이다. 즉, 랜덤 메시지가 600개보다 적은 크리덴셜 심볼을 포함하는 확률은 app. 50%이다. 이러한 확률은 +93% 추가적인 메시지 크기의 비용에 도달된다.
임의의 개시된 실시예는 도시되고/되거나 기술된 다른 실시예 중 하나 이상과 결합될 수 있다. 이것은 실시예의 하나 이상의 특징에 대해 또한 가능하다.
추가적인 실시예 세부 사항
기술된 기법은 소프트웨어, 펌웨어, 마이크로코드, 하드웨어 및/또는 임의의 그 결합을 포함하는 제조의 방법, 장치 또는 물품으로서 구현될 수 있다. 본 명세서에서 사용된 바와 같은 "제조의 물품"이란 용어는 매체로 구현된 코드 또는 로직을 지칭하며, 여기서 이러한 매체는 하드웨어 로직(예를 들어, 직접 회로 칩, PGA(Programmable Gate Array), ASIC(Application Specific Integrated Cirsuits) 등) 또는 자기 저장 매체(예를 들어, 하드 디스크 드라이브, 플로피 디스크, 테이프 등), 광학 스토리지(CD--ROM, 광학 디스크 등), 휘발성 및 비휘발성 메모리 디바이스(예를 들어, EEPROM(Electrically Erasable Programmable Read Only Memory), ROM(Read Only Memory), PROM(Programmable Read Only Memory), RAM(Random Access Memory), DRAM(Dynamic Random Access Memory), SRAM(Static Random Access Memory), 플래시, 펌웨어, 프로그래밍 가능한 로직 등)와 같은 컴퓨터 판독 가능한 매체를 포함할 수 있다. 컴퓨터 판독 가능한 매체 내의 코드는 프로세서에 의해 액세스되고 실행된다. 코드 또는 로직이 인코딩되는 매체는 광 섬유, 구리 와이어 등과 같은 전송 매체나 공간을 통해 전파하는 전송 신호를 또한 포함할 수 있다. 코드 또는 로직이 인코딩되는 전송 신호는 무선 신호, 위성 전송, 무선파, 적외선 신호, 블루투스 등을 더 포함할 수 있다. 코드 또는 로직이 인코딩되는 전송 신호는 송신국에 의해 송신되고 수신국에 의해 수신될 수 있으며, 여기서 전송 신호에 인코딩된 코드 또는 로직은 수신국과 송신국 또는 디바이스에서 하드웨어 또는 컴퓨터 판독 가능한 매체로 디코딩되고 저장될 수 있다. 추가적으로, "제조의 물품"은 코드가 구현되고, 프로세스되며, 실행되는 하드웨어 및 소프트웨 어 구성요소의 결합을 포함할 수 있다. 물론, 당 분야에서 통상의 지식을 가진 자라면 실시예의 범위로부터 벗어나지 않고 다수의 변경이 행해질 수 있고 제조의 물품은 임의의 정보를 갖는 매체를 포함할 수 있음을 인지할 것이다. 예를 들어, 제조의 물품은 머신에 의해 실행될 때 동작이 수행되는 저장된 인스트럭션을 갖는 저장 매체를 포함한다.
특정의 실시예는 전체 하드웨어 실시예, 전체 소프트웨어 실시예, 또는 하드웨어와 소프트웨어 요소를 포함하는 실시예의 형태를 취할 수 있다. 바람직한 실시예에서, 본 발명은 소프트웨어로 구현되며, 이는 펌웨어, 상주 소프트웨어, 마이크로코드 등을 포함하되, 이들로만 제한되지 않는다.
또한, 특정의 실시예는 컴퓨터 또는 임의의 인스트럭션 실행 시스템과 결합하여 사용하기 위해 프로그램 코드를 제공하는 컴퓨터 사용 가능한 또는 컴퓨터 판독 가능한 매체로부터 액세스 가능한 컴퓨터 프로그램 제품의 형태를 취할 수 있다. 이러한 설명을 위해, 컴퓨터 사용 가능한 또는 컴퓨터 판독 가능한 매체는 인스트럭션 실행 시스템, 장치 또는 디바이스와 결합하여 사용하기 위한 프로그램을 포함하고, 저장하며, 통신하고, 전파하거나 또는 전송할 수 있는 임의의 장치일 수 있다. 매체는 전자, 자기, 광학, 전자기, 적외선 또는 반도체 시스템(또는 대플리케이션 또는 디바이스) 또는 전파 매체일 수 있다. 컴퓨터 판독 가능한 매체의 예는 반도체 또는 고체 상태 메모리, 자기 테이프, 제거 가능한 컴퓨터 디스켓, ROM(Read Only Memory), RAM(Random Access Memory), 강성 자기 디스크 및 광학 디스크를 포함한다. 광학 디스크의 특정의 예는 CD-ROM(compact disk-read only memory), CE-R/W(compact disk-read/write) 및 DVD를 포함한다.
"특정의 실시예", "실시예", "실시예들", "본 실시예", "본 실시예들", "하나 이상의 실시예", "몇몇 실시예" 및 "일 실시예"란 용어는 특별히 달리 지정되지 않는 한 하나 이상의 실시예(반드시 모든 실시예는 아님)를 의미한다. "구비하는", "포함하는", "갖는"이란 용어 및 그 변형은 특별히 달리 지정되지 않는 한, "포함하되 제한되지 않음"을 의미한다. 항목의 열거되는 리스트는 특별히 달리 지정되지 않는 한, 임의의 또는 모든 항목이 상호 배타적임을 암시하지는 않는다. "a", "an" 및 "the"란 용어는 특별히 달리 지정되지 않는 한, "하나 이상"을 의미한다.
서로 간에 결합하는 디바이스는 특별히 달리 지정되지 않는 한, 서로 간에 연속적으로 통신될 필요는 없다. 또한, 서로 간에 결합하는 디바이스는 하나 이상의 매개물을 통해 직접 또는 간접으로 통신할 수 있다. 추가적으로, 서로 간에 결합하는 몇몇 구성요소를 갖는 실시예의 설명은 이러한 모든 구성요소가 요구되는 것을 암시하지는 않는다. 오히려 각종 광학 구성요소는 광범위한 가능한 실시예를 예시하도록 기술되어 있다.
또한, 프로세스의 단계, 방법의 단계, 알고리즘 등이 순차적인 순서로 기술되어 있으나, 이러한 프로세스, 방법 및 알고리즘은 대안적인 순서로 동작하도록 구성될 수 있다. 즉, 디코딩될 수 있는 단계의 임의의 시퀀스 또는 순서는 단계들이 해당 순서로 수행될 수 있는 요건을 반드시 포함하는 것은 아니다. 본 명세서에서 기술된 프로세스의 단계는 임의의 실행 순서로 수행될 수 있다. 또한, 몇몇 단계는 동시에, 병렬로, 또는 함께 수행될 수 있다.
본 명세서에서 단일의 디바이스 또는 물품이 기술될 때, 2 이상의 디바이스가 (이들이 디바이스 또는 물품을 포함하든 혹은 포함하지 않든) 단일의 디바이스 또는 물품 대신에 사용될 수 있음이 명백할 것이다. 마찬가지로, 본 명세서에서 2 이상의 디바이스가 (이들이 디바이스 또는 물품을 포함하든 혹은 포함하지 않든) 기술되는 경우, 2 이상의 디바이스 또는 물품 대신에 단일의 디바이스 또는 물품이 사용될 수 있음이 명백할 것이다. 디바이스의 기능 및/또는 특징은 이러한 기능/특징을 갖는 것으로서 명시적으로 기술되지 않는 하나 이상의 다른 디바이스에 의해 대안적으로 구현될 수 있다. 따라서, 다른 실시예가 디바이스 자체를 포함할 필요는 없다.
본 발명의 문맥에서 특정의 프로그램 수단 또는 컴퓨터 프로그램은 특정의 기능을 직접 수행하기 위한 정보 프로세싱 성능, 또는 a) 다른 언어, 코드 또는 표시에 대한 변환, b) 상이한 재료 형태의 표시 중 하나, 또는 둘을 수행한 후의 정보 프로세싱 성능을 갖는 시스템을 생성하도록 의도된 인스트럭션 세트의 임의의 언어로 된 표현, 코드 또는 표시을 의미한다.

Claims (10)

  1. 크리덴셜 발행자(credential issuer)(130)로부터 크리덴셜 사용자(credential user)(190)로 크리덴셜(145)의 세트(140)를 배포하는 방법-상기 크리덴셜 사용자(190)에 사용자 디바이스(110)가 제공되고, 상기 사용자 디바이스(110)와 상기 크리덴셜 발행자(130) 사이의 통신을 위해 제 1 채널(150 및 제 2 채널(160)이 제공됨-에 있어서,
    - 상기 제 2 채널(160)에 의해 상기 사용자 디바이스(110)와 상기 크리덴셜 발행자(130) 사이에 공유 키(K)를 배포하는 단계와,
    - 균일한 분포로부터의 사전 정의된 최대 편차 레벨을 갖는 상기 크리덴셜(145)의 세트(140)의 2진 표시를 생성하는 단계와,
    - 상기 공유 키(K)에 의해 상기 크리덴셜(145)의 세트(140)의 상기 2진 표시를 암호화하는 단계와,
    - 상기 제 1 채널(150)을 통해 상기 크리덴셜 발행자(130)로부터 상기 크리덴셜 사용자(190)로 상기 암호화된 상기 크리덴셜(145)의 세트(140)를 배포하는 단계와,
    - 상기 사용자 디바이스(110)가 상기 공유 키(K)를 사용하여 상기 암호화된 상기 크리덴셜(145)의 세트(140)를 복호화하는 단계를 포함하는
    방법.
  2. 크리덴셜 서버(credential server)(120)에서, 크리덴셜 발행자(130)로부터 크리덴셜 사용자(190)로 크리덴셜(145)의 세트(140)를 배포하는 방법-상기 크리덴셜 사용자(190)에 사용자 디바이스(110)가 제공되고, 상기 사용자 디바이스(110)와 상기 크리덴셜 발행자(130) 사이의 통신을 위해 제 1 채널(150) 및 제 2 채널(160)이 제공됨-에 있어서,
    - 공유 키(K)를 생성하고 상기 공유 키(K)를 상기 사용자 디바이스(110)로 배포하거나 또는 상기 제 2 채널(160)을 통해 상기 사용자 디바이스(110)로부터 상기 공유 키(K)를 수신하는 단계와,
    - 균일한 분포로부터의 사전 정의된 최대 편차 레벨을 갖는 상기 크리덴셜(145)의 세트(140)의 2진 표시를 생성하는 단계와,
    - 상기 공유 키(K)에 의해 상기 크리덴셜(145)의 세트(140)의 상기 2진 표시를 암호화하는 단계와,
    - 상기 제 1 채널(150)을 통해 상기 암호화된 상기 크리덴셜(145)의 세트(140)를 상기 사용자 디바이스(110)로 배포하는 단계를 포함하는
    방법.
  3. 컴퓨터 시스템에서 컴퓨터 프로그램이 실행될 때 청구항 제 2 항에 따른 방법의 단계를 수행하는 인스트럭션을 포함하는 컴퓨터 프로그램.
  4. 사용자 디바이스(110)에서, 상기 사용자 디바이스(110)에 의해 크리덴셜 서 버(120)로부터 크리덴셜(145)의 세트(140)를 수신하는 방법-상기 사용자 디바이스(110)와 상기 크리덴셜 서버(120) 사이의 통신을 위해 제 1 채널(150) 및 제 2 채널(160)이 제공됨-에 있어서,
    - 공유 키(K)를 생성하고 상기 공유 키(K)를 상기 크리덴셜 서버(120)로 배포하거나 또는 상기 제 2 채널(160)을 통해 상기 크리덴셜 서버(120)로부터 상기 공유 키(K)를 수신하는 단계와,
    - 균일한 분포로부터의 사전 정의된 최대 편차 레벨을 갖는 상기 크리덴셜(145)의 세트(140)의 2진 표시를 수신하는 단계-상기 크리덴셜(145)의 세트(140)의 상기 2진 표시는 상기 공유 키(K)에 의해 암호화됨-와,
    - 상기 공유 키(K)에 의해 상기 암호화된 상기 크리덴셜(145)의 세트(140)를 복호화하는 단계와,
    - 상기 복호화된 상기 크리덴셜(145)의 세트(140)를 저장하는 단계를 포함하는
    방법.
  5. 컴퓨터 시스템에서 컴퓨터 프로그램이 실행될 때 청구항 제 4 항에 따른 방법의 단계를 수행하는 인스트럭션을 포함하는 컴퓨터 프로그램.
  6. 신뢰성 없는 채널(untrusted channel)(150)을 통해 크리덴셜 발행자(130)로부터 크리덴셜 사용자(190)로 크리덴셜(145)의 세트(140)를 안전하게 전송하는 방 법에 있어서,
    - 균일한 분포로부터의 사전 정의된 최대 편차 레벨을 갖는 상기 크리덴셜(145)의 세트(140)의 2진 표시를 생성하는 단계와,
    - 공유 키(K)에 의해 상기 크리덴셜(145)의 세트(140)의 상기 2진 표시를 암호화하는 단계와,
    - 상기 신뢰성 없는 채널(150)을 통해 상기 크리덴셜 발행자(130)로부터 상기 크리덴셜 사용자(190)로 상기 암호화된 크리덴셜(145)의 세트(140)를 전송하는 단계를 포함하는
    방법.
  7. 컴퓨터 시스템에서 컴퓨터 프로그램이 실행될 때 청구항 제 6 항에 따른 방법의 단계를 수행하는 인스트럭션을 포함하는 컴퓨터 프로그램.
  8. 크리덴셜 발행자(130)로부터 크리덴셜 사용자(190)로 크리덴셜(145)의 세트(140)를 배포하는 시스템(100)-상기 크리덴셜 사용자(190)에 사용자 디바이스(110)가 제공되고, 상기 사용자 디바이스(110)와 상기 크리덴셜 발행자(130) 사이의 통신을 위해 제 1 채널(150 및 제 2 채널(160)이 제공됨-에 있어서,
    - 상기 제 2 채널(160)에 의해 상기 사용자 디바이스(110)와 상기 크리덴셜 발행자(130) 사이에 공유 키(K)를 배포하고,
    - 균일한 분포로부터의 사전 정의된 최대 편차 레벨을 갖는 상기 크리덴셜 (145)의 세트(140)의 2진 표시를 생성하며,
    - 상기 공유 키(K)에 의해 상기 크리덴셜(145)의 세트(140)의 상기 2진 표시를 암호화하고,
    - 상기 제 1 채널(150)을 통해 상기 크리덴셜 발행자(130)로부터 상기 사용자 디바이스(110)로 상기 암호화된 상기 크리덴셜(145)의 세트(140)를 배포하며,
    - 상기 사용자 디바이스(110)가 상기 공유 키(K)를 사용하여 상기 암호화된 상기 크리덴셜(145)의 세트(140)를 복호화하는
    시스템.
  9. 크리덴셜(145)의 세트(140)를 크리덴셜 사용자(190)로 배포하는 크리덴셜 서버(120-상기 크리덴셜 사용자(190)에 사용자 디바이스(110)가 제공되고, 상기 사용자 디바이스(110)와 상기 크리덴셜 서버(120) 사이의 통신을 위해 제 1 채널(150) 및 제 2 채널(160)이 제공됨-에 있어서,
    - 공유 키(K)를 생성하고 상기 공유 키(K)를 상기 사용자 디바이스(110)로 배포하거나 또는 상기 제 2 채널(160)을 통해 상기 사용자 디바이스(110)로부터 상기 공유 키(K)를 수신하고,
    - 균일한 분포로부터의 사전 정의된 최대 편차 레벨을 갖는 상기 크리덴셜(145)의 세트(140)의 2진 표시를 생성하며,
    - 상기 공유 키(K)에 의해 상기 크리덴셜(145)의 세트(140)의 상기 2진 표시를 암호화하고,
    - 상기 제 1 채널(150)을 통해 상기 크리덴셜 발행자(130)로부터 상기 사용자 디바이스(110)로 상기 암호화된 상기 크리덴셜(145)의 세트(140)를 배포하는
    크리덴셜 서버.
  10. 크리덴셜 서버(120)로부터 크리덴셜(145)의 세트(140)를 수신하도록 제공된 사용자 디바이스(110)-상기 사용자 디바이스(110)와 상기 크리덴셜 서버(120) 사이의 통신을 위해 제 1 채널(150) 및 제 2 채널(160)이 제공됨-에 있어서,
    - 공유 키(K)를 생성하고 상기 공유 키(K)를 상기 크리덴셜 서버(120)로 배포하거나 또는 상기 제 2 채널(160)을 통해 상기 크리덴셜 서버(120)로부터 상기 공유 키(K)를 수신하고,
    - 균일한 분포로부터의 사전 정의된 최대 편차 레벨을 갖는 상기 크리덴셜(145)의 세트(140)의 2진 표시를 수신하며-상기 크리덴셜(145)의 세트(140)의 상기 2진 표시는 상기 공유 키(K)에 의해 암호화됨-,
    - 상기 공유 키(K)에 의해 상기 암호화된 상기 크리덴셜(145)의 세트(140)를 복호화하고,
    - 상기 복호화된 상기 크리덴셜(145)의 세트(140)를 저장하는
    사용자 디바이스.
KR1020097023848A 2007-04-05 2008-04-01 크리덴셜 배포를 위한 시스템 및 방법 KR20100016579A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP07105710 2007-04-05
EP07105710.3 2007-04-05

Publications (1)

Publication Number Publication Date
KR20100016579A true KR20100016579A (ko) 2010-02-12

Family

ID=39789323

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020097023848A KR20100016579A (ko) 2007-04-05 2008-04-01 크리덴셜 배포를 위한 시스템 및 방법

Country Status (5)

Country Link
US (2) US8214642B2 (ko)
EP (1) EP2143232B1 (ko)
KR (1) KR20100016579A (ko)
CN (1) CN101647228B (ko)
WO (1) WO2008122923A2 (ko)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200929974A (en) 2007-11-19 2009-07-01 Ibm System and method for performing electronic transactions
CA2645990C (en) 2007-12-20 2014-07-29 Bce Inc. Contact-less tag with signature, and applications thereof
SK50042008A3 (sk) * 2008-01-04 2009-09-07 Logomotion, S. R. O. Spôsob a systém autentifikácie najmä pri platbách, identifikátor totožnosti a/alebo súhlasu
SK288721B6 (sk) * 2008-03-25 2020-01-07 Smk Kk Spôsob, zapojenie a nosič na vykonávanie opakovaných operácií na klávesnici mobilného komunikačného zariadenia
US9098845B2 (en) 2008-09-19 2015-08-04 Logomotion, S.R.O. Process of selling in electronic shop accessible from the mobile communication device
SK50862008A3 (sk) * 2008-09-19 2010-06-07 Logomotion, S. R. O. Systém na elektronické platobné aplikácie a spôsob autorizácie platby
WO2010128442A2 (en) 2009-05-03 2010-11-11 Logomotion, S.R.O. A payment terminal using a mobile communication device, such as a mobile phone; a method of direct debit payment transaction
SK288641B6 (sk) * 2008-10-15 2019-02-04 Smk Corporation Spôsob komunikácie s POS terminálom, frekvenčný konventor k POS terminálu
CA2747553C (en) * 2008-12-18 2016-06-07 Sean Maclean Murray Validation method and system for use in securing nomadic electronic transactions
SK500092009A3 (sk) * 2009-02-27 2010-09-07 Logomotion, S. R. O. Počítačová myš na zapojenie na prenos údajov, najmä pri elektronických platbách, spôsob prenosu údajov
US9525999B2 (en) * 2009-12-21 2016-12-20 Blackberry Limited Method of securely transferring services between mobile devices
EP2523385B1 (en) * 2011-05-05 2017-07-12 Proton World International N.V. Method and circuit for cryptographic operation
US9628514B2 (en) * 2011-11-10 2017-04-18 Skype Device association using an audio signal
US9672504B2 (en) 2012-02-16 2017-06-06 Paypal, Inc. Processing payment at a point of sale with limited information
US8863307B2 (en) * 2012-06-05 2014-10-14 Broadcom Corporation Authenticating users based upon an identity footprint
CN102970582A (zh) * 2012-11-23 2013-03-13 四川长虹电器股份有限公司 数字证书的传输方法
EP3025291A1 (en) * 2013-07-26 2016-06-01 Visa International Service Association Provisioning payment credentials to a consumer
US9230092B1 (en) * 2013-09-25 2016-01-05 Emc Corporation Methods and apparatus for obscuring a valid password in a set of passwords in a password-hardening system
US9654972B2 (en) * 2014-08-18 2017-05-16 Qualcomm Incorporated Secure provisioning of an authentication credential
CN104579689B (zh) * 2015-01-20 2018-02-13 中城智慧科技有限公司 一种软密钥系统及实现方法
CN106470104B (zh) 2015-08-20 2020-02-07 阿里巴巴集团控股有限公司 用于生成共享密钥的方法、装置、终端设备及系统
US9767318B1 (en) * 2015-08-28 2017-09-19 Frank Dropps Secure controller systems and associated methods thereof
US9942237B2 (en) 2015-08-28 2018-04-10 Bank Of America Corporation Determining access requirements for online accounts based on characteristics of user devices
US9876783B2 (en) 2015-12-22 2018-01-23 International Business Machines Corporation Distributed password verification
US10594478B2 (en) * 2016-11-18 2020-03-17 International Business Machines Corporation Authenticated copying of encryption keys between secure zones
FR3076925B1 (fr) 2018-01-16 2020-01-24 Proton World International N.V. Fonction cryptographique
CN108804933B (zh) * 2018-05-25 2020-06-05 东北大学 一种用于信息隐藏技术中的大数据的进制转换方法
JP7425051B2 (ja) 2018-06-12 2024-01-30 インパルス ダイナミクス エヌヴイ パワーカップリング変調伝送

Family Cites Families (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7159116B2 (en) * 1999-12-07 2007-01-02 Blue Spike, Inc. Systems, methods and devices for trusted transactions
ATE220814T1 (de) 1997-06-27 2002-08-15 Swisscom Mobile Ag Transaktionsverfahren mit einem tragbaren identifizierungselement
FI973788A (fi) 1997-09-25 1999-03-26 Nokia Telecommunications Oy Elektroninen maksujärjestelmä
EP1024626A1 (en) * 1999-01-27 2000-08-02 International Business Machines Corporation Method, apparatus, and communication system for exchange of information in pervasive environments
FR2790162B1 (fr) 1999-02-19 2001-04-13 France Telecom Procede de telepaiement et systeme pour la mise en oeuvre de ce procede
DE19914407A1 (de) * 1999-03-30 2000-10-05 Deutsche Telekom Ag Verfahren zur Ableitung von Identifikationsnummern
CA2267395C (en) * 1999-03-30 2002-07-09 Ibm Canada Limited-Ibm Canada Limitee Method and system for managing keys for encrypted data
US7729986B1 (en) 1999-07-30 2010-06-01 Visa International Service Association Smart card transactions using wireless telecommunications network
PT1264490E (pt) * 2000-02-21 2007-10-02 E Plus Mobilfunk Gmbh & Co Kg Processo para verificar a autenticidade de um utilizador de serviços e dispositivo para executar o processo
US6760841B1 (en) * 2000-05-01 2004-07-06 Xtec, Incorporated Methods and apparatus for securely conducting and authenticating transactions over unsecured communication channels
FR2809897B1 (fr) 2000-05-31 2005-04-29 Gemplus Card Int Procede de communication securisee entre un reseau et une carte a puce d'un terminal
GB2365264B (en) 2000-07-25 2004-09-29 Vodafone Ltd Telecommunication systems and methods
US7107248B1 (en) 2000-09-11 2006-09-12 Nokia Corporation System and method of bootstrapping a temporary public-key infrastructure from a cellular telecommunication authentication and billing infrastructure
HU0101106D0 (en) * 2001-03-14 2001-05-28 Tozai Trading Corp Id alsorithm
JP2005500740A (ja) * 2001-08-13 2005-01-06 ザ ボード オブ トラスティーズ オブ ザ リーランド スタンフォード ジュニア ユニバーシティ Idベース暗号化および関連する暗号手法のシステムおよび方法
US6674908B1 (en) * 2002-05-04 2004-01-06 Edward Lasar Aronov Method of compression of binary data with a random number generator
DE10250195A1 (de) * 2002-10-28 2004-05-13 OCé PRINTING SYSTEMS GMBH Verfahren und Anordnung zum Authentifizieren einer Bedieneinheit sowie Übertragen einer Authentifizierungsinformation zu der Bedieneinheit
EP1559256B1 (en) 2002-11-06 2006-08-09 International Business Machines Corporation Providing a user device with a set of access codes
US7577732B2 (en) * 2003-03-28 2009-08-18 Fujitsu Limited Information distribution service providing system
US20080201576A1 (en) * 2003-08-29 2008-08-21 Yoshiko Kitagawa Information Processing Server And Information Processing Method
US7602903B2 (en) * 2004-01-16 2009-10-13 Microsoft Corporation Cryptography correctness detection methods and apparatuses
US7265692B2 (en) * 2004-01-29 2007-09-04 Hewlett-Packard Development Company, L.P. Data compression system based on tree models
JP4194500B2 (ja) * 2004-01-30 2008-12-10 キヤノン株式会社 情報処理装置、印刷装置、印字データ生成方法及び印刷方法
US7374099B2 (en) * 2004-02-24 2008-05-20 Sun Microsystems, Inc. Method and apparatus for processing an application identifier from a smart card
US7552156B2 (en) * 2004-08-30 2009-06-23 Nunes Ryan J Random number generator
US20060078107A1 (en) * 2004-10-12 2006-04-13 Chiou-Haun Lee Diffused data encryption/decryption processing method
US20060129502A1 (en) * 2004-12-15 2006-06-15 Microsoft Corporation Generation, distribution and verification of tokens using a secure hash algorithm
US20070168292A1 (en) * 2004-12-21 2007-07-19 Fabrice Jogand-Coulomb Memory system with versatile content control
KR100689504B1 (ko) * 2005-03-29 2007-03-02 삼성전자주식회사 컨텐츠 전송 보호 장치
US20060282681A1 (en) * 2005-05-27 2006-12-14 Scheidt Edward M Cryptographic configuration control
JP4794242B2 (ja) * 2005-08-30 2011-10-19 富士通株式会社 制御方法、制御プログラム及び制御装置
US20070079117A1 (en) * 2005-10-04 2007-04-05 Bhogal Kulvir S Method for passing selectively encrypted attributes of specific versions of objects in a distributed system
EP1777907B1 (de) * 2005-10-20 2007-12-12 Ubs Ag Vorrichtungen und Verfahren zum Durchführen von kryptographischen Operationen in einem Server-Client-Rechnernetzwerksystem
US7668313B2 (en) * 2005-10-31 2010-02-23 Texas Instruments Incorporated Recipient-encrypted session key cryptography
US7552469B2 (en) * 2006-06-22 2009-06-23 Sun Microsystems, Inc. Method for generating mnemonic random passcodes
US20080059590A1 (en) * 2006-09-05 2008-03-06 Ecole Polytechnique Federale De Lausanne (Epfl) Method to filter electronic messages in a message processing system
US7845003B2 (en) * 2006-10-31 2010-11-30 Novell, Inc. Techniques for variable security access information
US20080120428A1 (en) * 2006-11-21 2008-05-22 Sprint Communications Company L.P. Unique compressed call identifiers
US20080123852A1 (en) * 2006-11-28 2008-05-29 Jianping Jiang Method and system for managing a wireless network
US8381272B1 (en) * 2006-12-22 2013-02-19 Google Inc. Systems and methods for strengthening web credentials

Also Published As

Publication number Publication date
EP2143232A2 (en) 2010-01-13
CN101647228B (zh) 2012-08-29
CN101647228A (zh) 2010-02-10
US20120233465A1 (en) 2012-09-13
US9112680B2 (en) 2015-08-18
WO2008122923A2 (en) 2008-10-16
WO2008122923A3 (en) 2008-12-18
US20080250244A1 (en) 2008-10-09
US8214642B2 (en) 2012-07-03
EP2143232B1 (en) 2016-07-06

Similar Documents

Publication Publication Date Title
US9112680B2 (en) Distribution of credentials
US10681025B2 (en) Systems and methods for securely managing biometric data
US20200372503A1 (en) Transaction messaging
EP3269119B1 (en) Mutual authentication of software layers
US9258296B2 (en) System and method for generating a strong multi factor personalized server key from a simple user password
RU2434352C2 (ru) Способ и устройство для надежной аутентификации
US8850218B2 (en) OTP generation using a camouflaged key
CN101765996B (zh) 用于远程认证和交易签名的装置和方法
US7606560B2 (en) Authentication services using mobile device
CN1889419B (zh) 一种实现加密的方法及装置
JP2008527905A (ja) セキュリティコード生成方法、セキュリティコード生成方法を用いた方法、及びセキュリティコード生成方法のためのプログラム可能な装置
US20040123115A1 (en) Method for the safe use and transmission of biometric data for authentication purposes
CN1889420B (zh) 一种实现加密的方法
CN117522417B (zh) 一种基于量子加密的交易安全验证方法及装置
JPH1188318A (ja) 認証用暗号鍵変更方法
KR20060019926A (ko) 이미지를 이용한 인증시스템 및 인증방법
CN116760585A (zh) 一种基于特征信息的信息验证方法、装置、服务器及介质
CN117522417A (zh) 一种基于量子加密的交易安全验证方法及装置
CN116188009A (zh) 一种国密软加密模式秘钥获取方法、系统、终端和可读存储介质
CN103155010B (zh) 用于对智能卡进行个人化的简化方法以及相关联的设备
CN115422558A (zh) 一种防止双离线交易金额被篡改的方法、收款设备和装置
JP2012212405A (ja) アプリケーション認証システム、アプリケーション認証方法およびプログラム

Legal Events

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