KR20050073573A - 보안 통신 - Google Patents

보안 통신 Download PDF

Info

Publication number
KR20050073573A
KR20050073573A KR1020057006971A KR20057006971A KR20050073573A KR 20050073573 A KR20050073573 A KR 20050073573A KR 1020057006971 A KR1020057006971 A KR 1020057006971A KR 20057006971 A KR20057006971 A KR 20057006971A KR 20050073573 A KR20050073573 A KR 20050073573A
Authority
KR
South Korea
Prior art keywords
communication unit
contribution
passcode
key
communication
Prior art date
Application number
KR1020057006971A
Other languages
English (en)
Other versions
KR101095239B1 (ko
Inventor
크리스티안 게르만
Original Assignee
텔레폰악티에볼라겟엘엠에릭슨(펍)
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 텔레폰악티에볼라겟엘엠에릭슨(펍) filed Critical 텔레폰악티에볼라겟엘엠에릭슨(펍)
Publication of KR20050073573A publication Critical patent/KR20050073573A/ko
Application granted granted Critical
Publication of KR101095239B1 publication Critical patent/KR101095239B1/ko

Links

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/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3242Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • 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/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • H04L9/0841Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • 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
    • 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
    • H04L2209/805Lightweight hardware, e.g. radio-frequency identification [RFID] or sensor

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Engineering (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Developing Agents For Electrophotography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Treatments For Attaching Organic Compounds To Fibrous Goods (AREA)
  • Diaphragms For Electromechanical Transducers (AREA)
  • Vehicle Body Suspensions (AREA)

Abstract

공유된 시크리트 키를 발생시키며 사용자 상호작용을 포함하는 통신 유닛들 사이의 키 교환을 포함하는 제 1과 제 2 통신 유닛 사이의 보안 통신을 제공하는 방법은 사용자 상호작용에 의해 적어도 부분적으로, 패스코드를 제 1 및 제 2 통신 유닛에 제공하는 단계; 제 1 통신 유닛에 의해 공유된 시크리트 키에 대한 제 1 컨트리뷰션 및 제 2 통신 유닛에 의한 공유된 시크리트 키에 대한 제 2 컨트리뷰션을 발생시키는 단계; 각각의 발생된 컨트리뷰션을 대응하는 다른 통신 유닛에 전송하는 단계; 전송된 제 1 및 제 2 컨트리뷰션을 대응하는 수신 유닛에 의해 적어도 패스코드를 기초로 하여 인증하는 단계; 및 대응하는 수신된 컨트리뷰션이 성공적으로 인증되는 경우에만, 상기 공유된 시크리트 키를 각각의 통신 유닛에 의해 적어도 대응하는 수신된 제 1 또는 제 2 컨트리뷰션으로부터 설정하는 단계를 포함한다.

Description

보안 통신{SECURE COMMUNICATIONS}
본 발명은 제 1 통신 유닛과 제 2 통신 유닛 사이의 보안 통신에 관한 것이다.
무선 통신 시스템에서, 참여하는 통신 유닛들 사이의 보안 통신을 설정하는 것이 중요한 양상이다. 많은 통신 시스템에서, 참여하는 통신 유닛들에게 공통의 공유된 시크리트(secret)를 제공하는 키 교환 메커니즘(key exchange mechanism)이 구현된다. 일단 공유된 시크리트가 두 유닛들 사이에 설정되면, 유닛들 사이에서 통신된 메시지의 암호화 및/또는 무결성 보호를 제공하기 위하여 공유된 시크리트가 사용될 수 있다.
많은 경우에, 보안 통신의 설정은 사용자가 하나 또는 양 통신 유닛 내에 패스코드(passcode), 예를 들어, 패스워드 또는 PIN을 입력하는 것과 같이, 사용자 상호작용(user interaction)을 포함하는 키 교환에 의해 달성된다. 특히, 사용자 상호작용은 참여하는 유닛이 공유된 시크리트와 같은 임의의 보안 관계를 아직 설정하지 않는 경우에 필요할 수 있다.
단-거리 무선 통신 기술의 일례는 블루투스, 즉 2.45 GHz의 허가되지 않은 ISM(산업적, 과학적 그리고 의학적) 대역에서 동작하는 무선 통신 기술이며, 이것은 세계적으로 이용 가능하다. 그 대역은 83.5 MHz의 무선 스펙트럼을 제공한다. 블루투스는 무선의 저비용, 저전력 구현을 제공하는 기술이다. 블루투스를 사용하면, 소위 피코넷에서 ad-hoc 방식으로 개인용 장치들을 접속시킬 수 있다. 블루투스 표준(Bluetooth Special Interest Group, February 2001의 "Specification of the Bluetooth System, Core, Version 1.1" 내의 "Baseband Specificaion 참조)은 다수의 보안 메커니즘을 더 포함한다. 특히, 블루투스 표준은 한 쌍의 메커니즘을 제공하며, 여기서, 두 장치는 두 블루투스 장치 사이에서 공유된 시크리트, 소위 링크 키를 설정하기 위하여 키 교환을 수행하기 이전에 접속되지 않는다. 링크 키는 장치의 사용자에 의해 입력되는 PIN으로부터 유도된다. 그 후에, 링크 키는 블루투스 통신을 보호하기 위하여 사용된다.
미국 특허 제4,200,770에서 공개된 소위 디피-헬만 키 교환 프로토콜(Diffie-Hellman key exchange protocol)은 두 장치에 공유된 시크리트를 제공한다. 이 프로토콜에 따르면, 각각의 장치는 시크리트 키를 생성하고, 그 시크리트 키로부터 공중 키를 유도하여, 상기 공중 키를 다른 장치에 전송한다. 그리고 나서, 공유된 시크리트가 각각의 장치에 의해 자신의 시크리트 키 및 다른 장치의 대응하는 수신된 공중 키로부터 생성된다.
이와같은 키 교환 메커니즘의 일반적인 문제는 사람이 개입된 공격(man-in-the-middle attack), 즉, 부당한 사용자가 통신 장치들 사이의 메시지를 가로채거나 변경시키는 보안 위반(security breach)에 의해 공격받을 수 있다는 것이다.
C.Gehrmann 및 K. Nyberg에 의한 2001년 11월, 코펜하겐, Nordsec 2001의 회보의 논문 "Enhancements to Bluetooth baseband security"는 사용자 상호작용을 포함하는 인증 방식을 서술한다. 특히, 상기 논문은 익명의 디피-헬만 키 교환에 의해 미리 설정되는 공유된 시크리트를 인증하는 방법을 서술한다. 상기 방법은 사람이 개입된 공격이 디피-헬만 키 교환에서 존재하는 경우, 설정된 디피-헬만 키가 합법적인 장치에서 상이할 것이라는 가정을 기초로 한다. 상기 인증은 설정된 공유 시크리트에 근거하여 두 장치들에 의해 계산된 점검값을 기초로 한다. 생성된 점검값은 양 장치 상에 디스플레이되어 사용자에 의해 비교되거나, 한 장치에 의해 계산된 점검값이 상기 사용자에 의해 다른 장치 내에 입력되어 다른 장치가 비교를 수행하도록 한다.
종래 기술 시스템의 문제는 설정되었던 공유된 시크리트를 인증하는 인간의 상호작용이 보안 통신의 설정시에 발생될 필요가 있다는 것이다. 그러나, 이것은 예를 들어, 실제 보안 통신이 고속으로 설정되어야만 하는 경우에 바람직하지 않다.
도 1은 보안 키 교환 메커니즘의 실시예의 흐름도.
도 2는 보안 키 교환 메커니즘의 다른 실시예의 흐름도.
도 3은 에러 수정 코드를 기초로 하여 메시지 인증 코드를 계산하는 방법의 흐름도.
도 4a-b는 리드-솔로몬 코드를 토대로 하여 메시지 인증 코드를 계산하는 방법의 예의 흐름도.
도 5는 도 4a-b의 MAC 구조의 다수의 구조예에 대한 성공적인 대치 공격의 가능성을 도시한 테이블.
도 6은 두 통신 유닛의 블럭도.
도 7은 컴퓨터 네트워크의 접속 지점을 통하여 컴퓨터 네트워크와 통신하는 휴대용 통신 유닛의 블럭도.
상기 문제와 다른 문제는 공유된 시크리트 키를 발생시키며 사용자 대화작용을 포함하는 제 1과 제 2 통신 유닛 사이의 키 교환을 포함하는, 제 1과 제 2 통신 유닛 사이의 보안 통신을 제공 방법에 의해 해결되며, 상기 방법은:
사용자 상호작용에 의하여 적어도 부분적으로, 패스코드를 제 1 및 제 2 통신 유닛에 제공하는 단계;
상기 제 1 통신 유닛에 의해 상기 공유된 시크리트에 대한 제 1 컨트리뷰션(contribution) 및 제 2 통신 유닛에 의해 상기 공유된 시크리트에 대한 제 2 컨트리뷰션을 발생시키고, 각각의 발생된 컨트리뷰션을 대응하는 다른 통신 유닛에 전송하는 단계;
적어도 상기 패스코드를 기초로 하여 상기 대응하는 수신 통신 유닛에 의해 상기 전송된 제 1 및 제 2 컨트리뷰션을 인증하는 단계; 및
상기 대응하는 수신된 컨트리뷰션이 성공적으로 인증되는 경우에만, 상기 공유된 시크리트 키를 각각의 통신 유닛에 의해 적어도 상기 대응하는 수신된 제 1 및 제 2 컨트리뷰션으로부터 설정하는 단계를 포함한다.
본 발명의 장점은 패스코드가 실제 키 교환에 앞서서 결정되고 통신 유닛에 제공되어, 실제 키 교환, 즉, 공유된 시크리트의 실제 생성이 발생되는 시간보다 더 늦은 지점에서 사용된다. 그러므로, 공유된 시크리트를 인증하기 위하여 공유된 시크리트를 실제 생성하는 동안의 사용자 상호작용의 필요성이 상기 방법의 보안성을 손상함이 없이 제거된다.
본 발명의 부가적인 장점은 키 교환과 관련된 사람이 개입된 공격의 위험을 감소시킴으로써, 통신 시스템의 보안성을 증가시키는 것이다.
패스코드는 가령, 제 1 통신 유닛에 의해 자동적으로 생성됨으로써, 패스코드의 무작위성(randomness)을 확보하는 것이 바람직하다. 통신 유닛중 하나에 의해 생성된 패스코드가 키 교환을 위해 사용된 통신 링크와는 별도의 사용자 상호작용에 관련된 통신 채널을 통하여 전송될때, 적이 별도의 통신 채널을 또한 가로챌 위험이 낮기 때문에, 보안성이 증가된다. 예를 들어, 사용자 상호작용에 관련된 별도의 통신 채널은 전화선, 등록 공정의 일부로서 전송된 메일 또는 문자 등일 수 있다. 패스코드는 짧은 것이 바람직하고, 인간-기계 인터페이스 또는 인간-대-인간 인터페이스를 통하여 통신될 정도로 충분히 짧은 것이 바람직하다. 예를 들어, 패스코드는 10 디지트(digit) 및/또는 문자 및/또는 다른 심벌, 가령, 4-6의 16진법 디지트보다 적게 포함함으로써, 패스코드의 통신을 간소화하는 스트링일 수 있다. 예를 들어, 패스코드는 코드를 생성했던 통신 유닛의 디스플레이로부터 쉽게 판독되고, 메일 등에 의하여 전화를 통해 통신되며, 다른 유닛, 전화, 컴퓨터 등등의 내로 입력된다.
그러므로, 사용자 상호작용은 가령, 디스플레이로부터 패스코드를 판독하거나, 패스코드를 입력하거나, 패스코드를 전송하도록 하는 인증을 나타내는 사용자 입력을 수행하도록 하나 이상의 통신 유닛의 사용자에 관련되며, 즉, 사용자 상호작용은 적어도 통신 유닛중 하나에 의한 패스코드의 출력 및 사용자에 의한 입력, 가령, 패스코드를 나타내는 입력에 관련된다. 일부 실시예에서, 사용자 상호작용은 또한 가령, 한 장치의 사용자에서 다른 장치의 사용자로 패스코드를 통신함으로써 인간-대-인간 인터페이스에 관련된다.
키 교환은 공유된 시크리트, 바람하게는 그 다음 통신 동안 충분한 보안성을 제공할 정도로 충분히 긴 공유된 시크리트를 발생시키는 임의의 적절한 키 교환 메커니즘을 기초로 할 수 있다. 일 실시예에서, 키 교환은 디피-헬만 키 교환이다. 키 교환 메커니즘의 다른 예는 RSA 키 교환을 포함한다. 본 발명에 따른 키 교환은 일반적인 표준 키 교환 메커니즘을 기초로 할 수 있다는 장점이 있다.
본 발명의 바람직한 실시예에 따르면, 전송된 제 1 및 제 2 컨트리뷰션을 인증하는 단계는 메시지 인증 코드의 태그값을 계산하여 제 1 컨트리뷰션을 인증하는 단계를 포함하며, 상기 태그값이 제 1 컨트리뷰션 및 패스코드로부터 계산됨으로써, 고 레벨의 보안성을 제공하고 단지 적은 계산 자원을 필요로하는 제 1 컨트리뷰션의 효율적인 인증을 제공한다. 바람직하게는, 메시지 인증 코드(MAC)는 무조건적으로 보안적인 MAC, 즉, 많은 계산 자원에 의해서도 실질적으로 깨질 수 없는 MAC이다.
보다 바람직한 실시예에 따르면, 태그값은 에러 수정 코드, 가령, 리드-솔로몬 코드의 코드워드의 심벌을 선택함으로써 계산되며, 상기 코드워드는 제 1 컨트리뷰션에 대응하고, 상기 심벌은 패스코드에 의해 식별된다. 그러므로, 인증의 높은 보안성이 짧은 패스코드에 대해서도 제공된다.
바람직하게는, 상기 인증은 제 1 컨트리뷰션으로부터 한-방향 해쉬 함수의 해쉬값을 계산하는 단계 및 에러 수정 코드의 코드워드의 심벌을 선택함으로써 상기 태그값을 계산하는 단계를 포함하며, 상기 코드워드는 제 1 컨트리뷰션의 해쉬값에 대응하고, 상기 심벌은 패스코드에 의해 식별된다. 그러므로, 패스코드의 길이는 또한 고 레벨의 보안성을 유지하면서 감소될 수 있다.
통신 유닛이라는 용어는 데이터 통신을 용이하게 하기 위하여 통신 신호, 가령, 무선 통신 신호를 송수신하는데 적절한 회로를 구비한 임의의 장치 또는 장치들의 그룹을 포함한다. 이와같은 장치의 예는 휴대용 무선 통신 장비 및 다른 휴대형 또는 휴대용 장치를 포함한다. 휴대용 무선 통신 장비라는 용어는 이동 전화, 호출기, 통신기, 즉, 전자 오거나이저(electronic organiser), 스마트폰, 개인 개인 휴대 단말기(PDA) 휴대형 컴퓨터 등과 같은 모든 장비를 포함한다.
통신 유닛의 부가적인 예는 고정된 통신 장비, 예를 들어, 고정된 컴퓨터 또는 무선 통신 인터페이스를 포함한 다른 전자 장비를 포함한다. 일 실시예에서, 상기 유닛중 하나는 다수의 장치를 포함할 수 있다. 예를 들어, 통신 유닛은 그 컴퓨터 네트워크, 가령, LAN으로의 무선 접속을 제공하는 가령, 접속 지점을 구비한 컴퓨터 네트워크를 포함할 수 있다.
예를 들어, 통신 유닛은 블루투스 기술 또는 임의의 다른 무선 통신 기술, 가령, 무선 LAN에 따라 동작할 수 있다.
더 부가적인 실시예는 종속 청구항에서 공개된다.
상술되며 후술되는 방법의 특성이 소프트웨어로 구현되며, 데이터 처리 시스템 또는 컴퓨터-실행 가능한 명령의 실행에 기인한 다른 처리 수단에서 수행될 수 있다는 것을 주목하라. 상기 명령은 저장 매체로부터 또는 컴퓨터 네트워크를 통해 다른 컴퓨터로부터 RAM과 같은 메모리 내에 로딩된 프로그램 코드 수단일 수 있다. 대안으로, 서술된 특징은 소프트웨어 대신에 하드와이어 회로에 의해 또는 소프트웨어와의 조합으로 구현될 수 있다.
본 발명은 첫번째 언급된 방법과 관련하여 서술된 하나 이상의 이점과 장점을 각각 발생시키고, 첫번째 언급된 방법과 관련하여 서술되고 종속 청구항에 공개된 바람직한 실시예에 대응하는 하나 이상의 바람직한 실시예를 각각 가지는 상술되며 후술되는 방법, 통신 시스템 및 부가적인 제품 수단을 포함하는 여러 방식으로 구현될 수 있다.
본 발명은 또한 공유된 키를 발생시키며 사용자 상호작용을 포함하는 제 1과 제 2 통신 유닛 사이의 키 교환에 의하여 적어도 제 1과 제 2 통신 유닛 사이의 보안 통신을 제공하는 통신 시스템에 관한 것으로서:
사용자 상호작용에 의하여 적어도 부분적으로, 패스코드를 상기 제 1 및 제 2 통신 유닛에 제공하는 수단;
상기 제 1 통신 유닛에 의해 상기 공유된 시크리트 키에 대한 제 1 컨트리뷰션 및 상기 제 2 통신 유닛에 의해 상기 공유된 시크리트 키에 대한 제 2 컨트리뷰션을 발생시키는 수단;
각각의 발생된 컨트리뷰션을 대응하는 다른 통신 유닛에 전송하는 수단;
상기 패스코드를 기초로 하여 상기 대응하는 수신 통신 유닛에 의해 상기 전송된 제 1 및 제 2 컨트리뷰션을 인증하는 수단; 및
상기 대응하는 수신된 컨트리뷰션이 성공적으로 인증되는 경우에만, 각각의 통신 유닛에 의해 적어도 상기 대응하는 수신된 제 1 또는 제 2 컨트리뷰션으로부터 상기 공유된 시크리트 키를 설정하는 수단을 구비한다.
본 발명은 또한 공유된 시크리트 키를 발생시키며 사용자 상호작용을 포함하는 키 교환에 의하여 다른 통신 유닛과의 보안 통신을 제공하기 위한 통신 유닛에 관한 것으로서:
상기 통신 유닛은 데이터 처리 수단, 사용자-인터페이스 수단 및 통신 인터페이스를 포함하며, 상기 처리 수단은 다음 단계:
상기-사용자 인터페이스 수단을 통한 사용자 상호작용에 의하여 적어도 부분적으로 다른 통신 유닛에 제공되는 패스코드를 발생시키는 단계;
공유된 시크리트 키에 대한 제 1 컨트리뷰션을 상기 통신 인터페이스를 통하여 발생시키고 전송하며, 상기 공유된 시크리트 키에 대한 제 2 컨트리뷰션을 상기 통신 인터페이스를 통하여 수신하는 단계로서, 상기 제 2 컨트리뷰션은 다른 통신 유닛에 의해 발생되는, 상기 발생과 전송 및 수신 단계;
상기 패스코드를 기초로 하여 상기 수신된 제 2 컨트리뷰션을 인증하는 단계; 및
상기 수신된 제 2 컨트리뷰션이 성공적으로 인증되는 경우에만, 적어도 상기 제 2 컨트리뷰션으로부터 상기 공유된 시크리트 키를 설정하는 단계를 수행하도록 적응된다.
본 발명은 또한 공유된 시크리트 키를 발생시키며 사용자 상호작용을 포함하는 키 교환에 의하여 다른 통신 유닛과의 보안 통신을 제공하는 통신 유닛에 관한 것으로서:
상기 통신 유닛은 데이터 처리 수단, 저장 수단, 및 통신 인터페이스를 포함하며, 상기 처리 수단은 공유된 시크리트 키를 발생시키는 키 교환을 수행하도록 적응되며, 상기 키 교환은:
사용자 상호작용에 의하여 적어도 부분적으로 다른 통신 유닛에 의해 발생된 패스코드를 수신하여 저장하는 단계;
상기 통신 인터페이스를 통하여 상기 다른 통신 유닛에 의해 발생된 상기 공유된 시크리트 키에 대한 제 1 컨트리뷰션을 수신하는 단계;
상기 패스코드를 기초로 하여 상기 수신된 제 1 컨트리뷰션을 인증하는 단계;
상기 수신된 제 1 컨트리뷰션이 성공적으로 인증되는 경우, 적어도 상기 제 1 컨트리뷰션으로부터 상기 공유된 시크리트 키를 설정하고, 상기 통신 인터페이스를 통하여 상기 공유된 시크리트 키에 대한 제 2 컨트리뷰션을 전송하는 단계를 포함한다.
여기서, 처리 수단이라는 용어는 상기 기능을 수행하도록 적절하게 적응된 임의의 회로 및/또는 장치를 포함한다. 특히, 상기 용어는 범용 또는 특수 목적 프로그램 가능한 마이크로프로세서, 디지털 신호 처리기(DSP), 주문형 반도체(ASIC), 프로그램 가능한 논리 어레이(PLA), 필드 프로그램 가능한 게이트 어레이(FPGA), 특수 목적 전자 회로 등, 또는 그 조합을 포함한다.
통신 인터페이스는 무선 통신 채널을 통하여 데이터를 통신하기 위한 임의의 적절한 회로 또는 장치를 포함할 수 있다. 예를 들어, 인터페이스는 무선 송신기 및 수신기, 또는 다른 통신 기술, 가령, 적외선 신호 등을 사용하는 송/수신기를 포함할 수 있다.
저장 수단이라는 용어는 데이터 저장을 위한 임의의 적절한 장비 또는 장치, 예를 들어, 전기적으로 소거 가능하고 프로그램 가능한 판독 전용(EEPROM), 플래시 메모리, 소거 가능하고 프로그램 가능한 판독 전용 메모리(EPROM), 랜덤 액세스 메모리(RAM)을 포함하고자 한다. 상기 저장 수단은 통신 유닛의 일체화된 부분이거나, 상기 유닛에 접속될 수 있는데, 가령, 제거 가능하게 삽입될 수 있다. 예를 들어, 상기 저장 수단은 제거 가능한 저장 매체, 가령, 메모리 카드, PCMCIA 카드, 스카트 카드 등일 수 있다.
본 발명의 상기 양상과 다른 양상은 도면과 관련하여 다음에 서술되는 실시예로부터 명백해지고 명료해질 것이다.
도 1은 보안 키 교환 메커니즘의 실시예의 흐름도를 도시한 것이다. 두 유닛, 일반적으로 지정된 A 및 B가 각각 공유된 보안 키를 설정하기 위하여 보안 키 교환을 수행하고자 할때, 그 유닛들은 다음의 단계를 수행하는데, 여기서, 참조 번호(101)에 의해 일반적으로 지정된 흐름도의 좌측의 단계는 유닛 A에 의해 수행되는 반면, 참조 번호(102)에 의해 일반적으로 지정된 흐름도의 우측의 단계는 유닛 B에 의해 수행된다.
다음의 키 교환은 키 일치(key agreement)를 위한 소위 "디피-헬만" 방법을 기초로 한다. 다음의 서술을 쉽게 이해하기 위하여, 디피-헬만 키 일치가 간단히 서술될 것이다. 보다 상세한 서술을 위하여, 그 전체가 본원에 참조된 US4,200,770이 참조된다.
두 유닛(A 및 B)은 공유된 시크리트 키를 설정하고자 할때, 원시 모드(primitive mod)(p)인 베이스(g) 및 소수(prime number)(p)에 대해 합의한다. 파라미터(p 및 g)는 양 유닛 내로 하드코딩될 수 있고, 유닛중 하나에 의해 발생되어 다른 유닛과 통신할 수 있으며, 제 3자 등으로부터 회수될 수 있다. 예를 들어, p와 g를 발생시키기 위하여, p의 값은 가령, 1000 비트 이상을 포함하는 큰 랜덤 수(random number)로서 선택될 수 있고, p가 소수인지 여부를 테스트하기 위하여 공지된 소수 테스트가 수행될 수 있다. 만약 아닌 경우, 새로운 p가 선택되어 소수가 발견될때가지 테스트될 수 있다. 그 후에, 랜덤 수(g)가 선택되어 g가 생성원(generator)인지 여부가 테스트된다; 만약 아닌 경우, 새로운 g가 선택되어 생성원이 발견될때까지 테스트된다.
각각의 유닛은 p-1보다 적은 시크리트 수를 발생시킨다. 다음에서, 유닛(A)에 의해 발생된 시크리트 수를 x라 칭할 것이며, 유닛(B)에 의해 발생된 시크리트 수를 y라 칭할 것이다. 그리고 나서, 각 유닛은 시크리트 값 및 상기 파라미터를 기초로 하여 공중 키를 발생시킨다: 유닛(A)은 X=gx mod p를 발생시키는데, 여기서 모드는 모듈러스 함수(modulus function), 즉, 정수 나눗셈(integer division)의 나머지를 나타낸다. 마찬가지로, 유닛(B)는 Y=gy mod p를 발생시킨다.
상기 유닛들은 자신들의 공중 키를 교환하고, 각각의 유닛은:
유닛 A: S=(Y)x mod p,
유닛 B: S=(X)y mod p 에 따라 공통의 시크리트 값(S)을 계산한다.
그러므로, 결과적으로 유닛(A 및 B)은 (gy mod p)x mod p=(gx mod p)y mod p이기 때문에, 통신된 시크리트 값(x 및 y)을 가지지 않고 공통의 시크리트 키(S)를 설정한다.
이제 도 1을 참조하면, 키 교환의 최초 단계(103)에서, 유닛(A)은 랜덤 수(x), 대응하는 디피-헬만 공중 키(X), 및 짧은 시크리트 스트링(K) 또는 다른 패스코드를 발생시킨다. 디피-헬만 공중 키(X)는 유닛(A 및 B)에 의해 합의되었던 대응하는 파라미터(g 및 p)를 기초로 하여 상술된 바와 같이 계산된다. 바람직하게는, 시크리트 스트링(K)은 적절한 키 스페이스(key space), 예를 들어, 4-6 개의 16진법 디지트의 스트링으로부터 랜덤으로 결정된다.
그 후의 단계(104)에서, 유닛(A)은 메시지 인증 코드(MAC)를 사용하여 공중 키(X)로부터 태그값(t)을 계산하도록 한다. 여기서, 메시지 인증 코드라는 용어는 송신기와 수신기 사이에서 통신될 메시지로부터 태그값을 계산하기 위한 임의의 적절한 기능을 칭하며, 여기서, 상기 기능은 송신기와 수신기 사이의 대칭 공유 시크리트를 기초로 한다. 시크리트값을 키라 칭한다. 시크리트 키는 MAC 계산으로의 가변 입력이다. 단지 정확한 시크리트 키를 소유하는 어떤 사람만이 임의의 메시지에 대한 태그값을 계산할 수 있다. MAC의 태그값은 원 메시지 데이터로부터 계산되며 메시지의 수신기에 통신되는 무결성 점검 값(integrity check value)이다. MAC에 의해 보호된 메시지를 수신시, 수신기는 수신된 데이터를 기초로 하여 대응하는 태그값을 계산한다. 계산된 태그값이 수신된 태그값과 동일한 경우, 메시지는 인증된 것으로서 수용된다. 공지된 MAC의 예로는 보안 해쉬 알고리즘(SHA-1) 및 메시지-다이제스트 알고리즘(MD5)과 같은 암호식 한-방향 해쉬 함수를 기초로 하는 메시지 인증용의 소위 키 해싱(Keyed-Hashing)(HMAC) 알고리즘이 있다. MAC는 다수의 데이터 통신 프로토콜에서 데이터 무결성 보호를 제공하기 위하여 사용된다. 에러 수정 코드를 기초로 한 MAC 함수의 실시예가 이하에 서술될 것이다. 단계(104)에서, MAC 함수로의 입력은 공중 키(X)를 포함하며, 발생된 시크리트 스트링(K)이 태그값(t)의 MAC 계산을 위한 키로서 사용된다. 키 설정 동안 부가적인 데이터가 통신되는 일부 실시예에서, 태그값은 공중 키(X)와 부가적인 데이터를 포함하는 메시지로부터 계산됨으로써, 부가적인 데이터에 때한 무결성 보호가 또한 제공될 수 있다는 것을 이해할 것이다.
단계(105)에서, 발생된 시크리트 스트링(K) 및 계산된 태그값(t)이 도 1에서 파선 화살표(106)로 표시된 바와 같이, 사용자 상호작용과 관련된 적절한 통신 채널을 통하여 유닛(B)에 통신된다. 예를 들어, 값(K 및 t)은 유닛(A)의 디스플레이로부터 값을 판독하고 유닛(B) 내로 상기 값을 입력함으로써 유닛(A)에서 유닛(B)으로 전달될 수 있다. 다른 실시예에서, 상기 값은 암호화된 메시지, 예를 들어, 이-메일, SMS, 등으로서 상기 값을 전송함으로써 어떤 다른 수단에 의하여, 예를 들어, 전기통신 네트워크를 통하여 전달되거나, 또는, 사용자 상호작용과 관련된 임의의 적절한 통신 채널, 바람직하게는, 보안 통신이 설정되어야 하는 임의의 다른 적절한 통신 채널을 통하여 전달될 수 있다. 유닛(A 및 B)이 함께 설정된 통신 링크를 가질 필요가 없다는 것; 그 유닛들은 서로의 부근에 있을 필요조차도 없다는 것이 장점이다. 예를 들어, 유닛(A)의 사용자는 전화, 메일 또는 임의의 다른 적절한 수단에 의하여 유닛(B)의 사용자에게 시크리트 스트링 및 태그값을 통신한다. 더구나, K 및 t의 발생된 값의 통신은 공유된 시크리트 키가 가령, 등록 절차의 부분으로서 유닛들 사이에 실제로 설정되는 시간에 앞서 수행될 수 있다. 일 실시예에서, 식별자(ID)는 K 및 t의 그 다음 회수를 용이하게 하기 위하여 K 및 t와 함께 통신된다.
단계(107)에서, 유닛(B)는 K 및 t의 값을 수신하고, 단계(110)에서, 유닛(B)의 저장 매체(111), 예를 들어, 휴대용 장치의 EPROM 또는 EEPROM, 스마트 카드, 하드 디스크 또는 임의의 다른 적절한 데이터 저장 장치에 저장한다. 값(K 및 t)이 식별자(ID)와 관련되는 경우, 상기 값(K 및 t)은 가령, 인덱스로서 식별자를 사용하여, 그 식별자에 관련하여 저장된다.
마찬가지로, 단계(108)에서, 유닛(A)은 시크리트 스트링(K)을 유닛(A)의 저장 매체(109) 내에 식별자(ID)에 관련하여 임의로 저장한다. 더구나, 유닛(A)은 시크리트 값(x)을 저장하는데, 이 값을 기초로 하여 공중 키(X)가 계산된다.
이것은 최초 등록 공정을 결정한다. 실제 키 교환을 포함하는 다음 단계는 유닛(A 및 B)이 통신 링크를 통하여 실제로 접속될때 수행된다. 이것은 도 1의 라인(127)에 의해 표시된 바와 같이, 상기 최초 등록 직후이거나, 더 늦은 시간의 지점일 수 있다.
단계(112)에서, 유닛(A)은 무선 통신 링크를 통하여 공중 키(X)를 유닛(B)에 전송함으로써 실제 키 교환을 개시한다. 시크리트 스트링(K)이 식별자(ID)에 관련되는 실시예에서, 유닛(A)은 또한 그 식별자를 전송한다. 마찬가지로, 단계(104)에서, 태그값(t)이 공중 키 및 어떤 부가적인 데이터에 대해 계산되며, 그 부가적인 데이터가 또한 유닛(A)에서 유닛(B)으로 전송된다.
유닛(B)이 유닛(A)으로부터 공중 키(X)를 수신할때(단계 113), 단계(114)에서, 유닛(B)은 식별자(ID)를 기초로 하여 일실시예에서, 저장 매체(111)로부터 시크리트 스트링(K)을 회수한다. 유닛(B)은 시크리트 스트링(K)을 기초로 하여 수신 공중 키(X)의 MAC 태그값(t')을 계산한다.
단계(115)에서, 유닛(B)은 계산된 태그값(t')을 이전에 저장된 태그값(t)과 비교한다. 상기 태그값들이 상이한 경우, 수신된 공중 키는 거절된다(단계 116). 예를 들어, 유닛(B)은 대응 메시지를 유닛(A)으로 전송하고/하거나 거절에 관하여 사용자에게 통지함으로써, 가령, 시각적이거나 청각적인 표시를 제공함으로써 키 교환을 중단할 수 있다. 그렇지 않은 경우, 즉, 태그값이 동일한 경우, 공중 키(X)는 수용되고 공정은 단계(117)에서 계속된다.
단계(117)에서, 유닛(B)은 상술된 바와 같이 시크리트값(y) 및 대응하는 디피-헬만 키(Y)를 발생시킨다.
단계(118)에서, 유닛(B)은 대응하는 디피-헬만 공유 시크리트 키[S=(X)y mod p]를 발생시킨다.
단계(119)에서, 유닛(B)은 발생된 공유 시크리트 키(S)를 사용하여 저장 매체(111)로부터 회수된 시크리트 스트링(K)을 암호화하여 암호화된 시크리트 스트링(K*)을 발생시킨다. 상기 암호화는 대칭적인 시크리트 키, 가령, AES, SAFER+, RC5, DES, 3DES 등에 근거한 임의의 적절한 암호화 방법을 기초로 할 수 있다.
단계(120)에서, 유닛(B)은 암호화된 시크리트 스트링(K*) 및 디피-헬만 공중 키(Y)를 유닛(A)으로 전송한다. 다시, 일 실시예에서, 유닛(B)은 대응하는 식별자(ID)를 더 전송한다.
단계(121)에서, 유닛(A)은 암호화된 시크리트 스트링(K*) 및 디피-헬만 공중 키(Y)를 수신한다.
단계(122)에서, 유닛(A)은 저장 매체(109)에 저장된 시크리트 값(x)을 사용하여 디피-헬만 공유 시크리트 키[S=(Y)x mod p]를 발생시킨다.
단계(123)에서, 유닛(A)은 발생된 공유 시크리트 키(S)를 사용하여 수신된 암호화된 시크리트 스트링(K*)을 복호화해서, 복호화된 시크리트 스트링(K')를 얻는다.
단계(124)에서, 유닛(A)은 수신되고 복호화된 시크리트 스트링(K')을 유닛(A)에 의해 원래 생성되고 저장 매체(109)에 저장된 시크리트 스트링(K)과 비교한다. 상기 시크리트 스트링들이 동일하지 않는 경우, 수신된 공중 키(Y)가 거절되며, 즉, 발생된 공유 시크리트 키(K)가 폐기된다(단계 125). 그렇지 않은 경우, 공정은 단계(126)에서 계속된다.
단계(126)에서, 수신된 공중 키(Y)가 수용되며, 즉, 계산된 공유 시크리트 키(S)가 공유된 시크리트로서 수용된다. 일 실시예에서, 대응하는 메시지가 유닛(B)으로 전송됨으로써, 키 교환을 완료한다. 발생된 공유 시크리트 키가 가령, 유닛들 사이에 전송된 메시지를 무결성 보호 및/또는 암호화함으로써 유닛들(A와 B) 사이의 그 다음 통신을 보호하기 위하여 사용될 수 있다.
대안 실시예에서, 유닛(B)에서 유닛(A)으로 통신된 공중 키(Y)가 다른 방법, 가령, MAC 값을 계산함으로써 인증될 수 있다는 것을 이해할 것이다. 암호화된 K*를 포함함으로써 Y를 인증하는 것의 장점은 동일한 키가 상기 방법의 보안성을 손상시키지 않고 여러 번 사용될 수 있다는 것이다.
도 2a-b는 본 발명의 부가적인 실시예에 따른 키 교환 메커니즘의 흐름도를 도시한 것이다. 상기 예에서와 같이, 두 유닛은 공유된 시크리트 키를 설정하기 위하여 보안 키 교환을 수행한다. 이전 예에 대조적으로, 유닛중 하나는 두 장치(B 및 C)를 포함하는 반면, 다른 유닛은 단지 하나의 장치, 일반적으로 지정된 장치(A)만을 포함한다. 최초 등록 공정은 장치(A)와 장치(C) 사이에서 수행된다. 도 7과 관련하여 보다 상세히 후술되는 바와 같이, 예를 들어, 장치(A)는 이동 전화, PDA 등과 같은 휴대용 장치일 수 있고, 장치(B)는 컴퓨터 네트워크 등의 접속 지점일 수 있으며, 장치(C)는 컴퓨터 네트워크의 서버 컴퓨터일 수 있다. 그러므로, 참조 번호(101)에 의해 일반적으로 지정된, 도 2a-b 흐름도의 좌측의 단계는 장치(A)에 의해 수행되며, 참조 번호(202)에 의해 일반적으로 지정된, 흐름도의 중간의 단계는 장치(B)에 의해 수행되는 반면, 참조 번호(201)에 의해 일반적으로 지정된, 흐름도의 우측의 단계는 장치(C)에 의해 수행된다. 도 2a-b의 예에서, 장치(A, B 또는 C)에 의해 수행된 단계의 일부는 대응하는 단계에 동일한 참조 번호가 병기되는 도 1의 유닛(A)에 의해 수행된 단계에 대응한다.
이제 도 2a를 참조하면, 최초 단계(103)에서, 장치(A)는 랜덤 수(x), 대응하는 디피-헬만 공중 키(X), 및 짧은 시크리트 스트링(K)을 발생시키고, 그 후의 단계(104)에서, 장치(A)는 상술된 바와 같이, 메시지 인증 코드(MAC)를 사용하여 공중 키(X)로부터 그리고 키로서 시크리트 스트링(K)에 의해 태그값(t)을 계산하도록 한다.
단계(205)에서, 발생된 시크리트 스트링(K) 및 계산된 태그값(t)이 파선 화살표(206)에 의해 표시된 바와 같이, 적절한 통신 채널을 통하여 장치(C)에 통신된다. 이 통신은 도 1의 참조 번호(105, 106, 및 107)과 관련하여 서술된 바와 같이, 도 1의 장치들(A와 B) 사이의 상기 파라미터의 통신에 대응한다. 그러나, 본 실시예에서, 상기 파라미터는 사용사 상호작용과 관련된 상치들(A 및 C) 사이에 통신된다. 예를 들어, K 및 t의 값은 등록 절차의 일부로서 장치(A)에서 장치(C)로 전달될 수 있다. 일 실시예에서, 장치(A)의 사용자는 장치(A)로부터 태그값 및 시크리트 스트링을 판독하여 이것들을 가령, 전화, 메일 또는 임의의 다른 적절한 수단에 의해 장치(C)의 사용자에게 통신할 수 있다. 일 실시예에서, 장치(A)는 상기 데이터를 포함하는 메시지를 발생시켜 이 메시지를 장치(C) 및 접속 지점(B)을 포함하는 컴퓨터 네트워크에 대한 권한을 갖는 네트워크 관리자에게 전송한다. 일 실시예에서, 식별자(ID)는 그것들의 그 다음 회수를 용이하게 하기 위하여 K 및 t와 함께 통신된다.
단계(207)에서, 장치(C)는 K 및 t의 값을 수신하여, 단계(210)에서, 이 값들을 저장 매체(211), 가령, 컴퓨터 네트워크의 보안 관련 정보를 관리하기 위한 키 데이터베이스 내에 저장한다. 상기 값(K 및 t)이 식별자(ID)에 관련되는 경우, 상기 값(K 및 t)는 가령, 인덱스로서 식별자를 사용하여, 그 식별자에 관련하여 저장된다.
마찬가지로, 단계(108)에서, 장치(A)는 시크리트 스트링(K)을 식별자(ID)에 관련하여, 장치(A)의 저장 매체(109) 내에 저장한다. 더구나, 장치(A)는 시크리트 값(x)을 저장하는데, 이 값을 기초로 하여 공중 키(X)가 계산된다. 임의로, 장치(A)는 공중 키(X)를 더 저장할 수 있다. 대안으로, 공중 키는 더 늦은 시간의 지점에서 개인 키(X)로부터 재발생될 수 있다.
이것은 장치들(A와 C) 사이의 최초 등록 공정을 결정한다. 실제 키 교환을 포함하는 다음 단계는 장치(A 및 B)가 통신 링크를 통하여 실제로 접속될때 수행된다. 이것은 라인(227)에 의해 표시된 바와 같이, 상기 최초 등록 직후 또는 더 늦은 시간의 지점일 수 있다.
단계(112)에서, 장치(A)는 무선 통신 링크를 통하여 공중 키(X) 및 임의로, 부가적인 데이터를 전송함으로써 장치(B)와의 실제 키 교환을 개시한다. 시크리트 스트링(K)이 식별자(ID)와 관련되는 실시예에서, 장치(A)는 또한 그 식별자를 전송한다.
장치(A)로부터 공중 키(X)를 수신한 이후에(단계213), 장치(B)는 저장 매체(211)로부터 시크리트 스트링(K) 및 태그값(t)을 회수한다(단계 208 및 209). 일 실시예에서, 장치(B)는 가령, 수신된 식별자(ID)를 포함하여 컴퓨터 네트워크를 통해 장치(C)에 요구를 전송할 수 있다. 상기 요구에 응답하여, 장치(C)는 데이터베이스(211)로부터 태그값 및 시크리트 스트링을 회수하고, 이것들이 수신되는(단계 209) 장치(B)에 이것들을 전송한다(단계 208). 다른 실시예에서, 장치(B)는 컴퓨터 네트워크를 통하여 데이터베이스(211)에 직접 접속할 수 있으므로, 상기 데이터베이스로부터 직접 파라미터를 회수할 수 있다. 바람직하게는, 시크리트 스트링(K) 및 태그값(t)이 가령, 암호화된 보안 접속(222) 및/또는 보안 통신 네트워크를 통하여 통신될 수 있다.
단계(214)에서, 장치(B)는 회수된 시크리트 스트링(K)을 기초로 하여 수신 공중 키(K)의 MAC 태그값(t')을 계산한다.
단계(215)에서, 장치(B)는 계산된 태그값(t')을 회수된 태그값(t)와 비교한다. 상기 태그값들이 상이한 경우, 수신된 공중 키는 거절된다(단계 216). 그렇지 않은 경우, 공중 키(X)가 수용되어 공정은 단계(217)에서 계속된다.
단계(217)에서, 장치(B)는 상술된 바와 같이, 시크리트 값(y) 및 대응하는 디피-헬만 공중 키(Y)를 발생시킨다.
단계(218)에서, 장치(B)는 대응하는 디피-헬만 공유 시크리트 키[S=(X)y mod p]를 발생시킨다.
단계(219)에서, 장치(B)는 도 1과 관련하여 서술된 바와 같이, 발생된 공유 시크리트 키(S)를 사용하여 회수된 시크리트 스트링(K)을 암호화해서, 암호화된 시크리트 스트링(K*)을 발생시킨다.
단계(220)에서, 장치(B)는 암호화된 시크리트 스트링(K) 및 디피-헬만 공중 키(K)를 장치(A)에 전송한다. 다시, 일 실시예에서, 장치(B)는 대응 식별자(ID)를 더 전송한다.
단계(121)에서, 장치(A)는 암호화된 시크리트 스트링(K*) 및 디피-헬만 공중 키(Y)를 수신한다.
단계(122)에서, 장치(A)는 저장 매체(109) 내에 저장된 시크리트 값(x)을 사용하여 디피-헬만 공유 시크리트 키[S=(Y)x mod p]를 발생시킨다.
단계(123)에서, 장치(A)는 발생된 공유 시크리트 키(S)를 사용하여 수신된 암호화 시크리트 스트링(K*)을 복호화해서 대응하는 복호화된 시크리트 스트링(K')을 얻는다.
단계(124)에서, 장치(A)는 수신되고 복호화된 시크리트 스트링(K')을 장치(A)에 의해 원래 발생되고 저장 매체(109)에 저장된 시크리트 스트링(K)과 비교한다. 상기 시크리트 스트링들이 동일하지 않은 경우, 수신된 공중 키(Y)가 거절되며, 즉, 발생된 공유 시크리트 키(S)가 폐기된다(단계 125). 그렇지 않은 경우, 공정은 단계(126)에서 계속된다.
단계(126)에서, 수신된 공중 키(Y)가 수용되며, 즉, 계산된 공유 시크리트 키(S)가 공유된 시크리트로서 수용된다. 일 실시예에서, 대응하는 메시지가 장치(B)에 전송됨으로써, 키 교환을 완료한다. 발생된 공유 시크리트 키가 가령, 장치들 사이에 전송된 메시지를 무결성 보호 및/또는 암호화함으로써 장치들(A와 B) 사이의 그 다음 통신을 보호하기 위하여 사용될 수 있다.
이제 도 2b를 참조하면, 이 예에서, 장치(C), 즉, 네트워크 서버 등이 키 교환 공정을 개시한다. 그러므로, 이 실시예에서, 장치(A) 및 장치(B 및 C)를 포함하는 시스템은 도 2a의 예와 비교하여 역할을 바꾸었고, 도 2a와 관련하여 서술된 단계는 대응하는 다른 장치에 의해 수행된다. 다음에서, 대응하는 단계에는 도 2a에서와 동일한 참조 번호가 병기된다. 특히, 랜덤 수(x), 대응하는 디피-헬만 공중 키(K), 및 짧은 시크리트 스트링(K)을 발생시키고 키로서 시크리트 스트링(K)을 갖는 공중 키(X)로부터 태그값(t)을 계산하는 최초 단계(103 및 104)로 각각 서술된 단계들이 장치(C), 즉, 네트워크 서버 등에 의해 수행된다.
따라서, 단계(205 및 207)에서, 발생된 시크리트 스트링(K) 및 계산된 태그값(t)이 상술되고 점선 화살표(206)에 의해 표시된 바와 같이, 적절한 통신 채널을 통하여 장치(C)에서 장치(A)로 통신된다. 본 실시예에서, 네트워크 운영자가 통신을 개시한다는 것을 이해할 것이다.
단계(210)에서, 장치(A)는 수신된 데이터를 장치(A)의 저장 매체(109) 내에 저장한다.
마찬가지로, 단계(108)에서, 장치(C)는 저장 매체(211), 예를 들어, 컴퓨터 네트워크의 보안 관련 정보를 관리하기 위한 키 데이터베이스 내에 시크리트 스트링(K) 및 시크리트 값(x)을 저장한다. 또한, 본 실시예에서, 시크리트 스트링(K) 및 이로 인한 x, X 및 t의 관련 값이 도 2a와 관련하여 서술된 바와 같이, 식별자(ID)와 관련된다는 것을 이해할 것이다.
이것은 장치(A와 C) 사이의 최초 등록 공정을 결정한다. 실제 키 교환을 포함하는 다음 단계는 장치(A 및 B)가 통신 링크를 통하여 실제로 접속될때 수행된다. 이것은 라인(227)에 의해 표시된 바와 같이, 상기 최초 등록 직후이거나, 더 늦은 시간의 지점일 수 있다. 다시, 본 실시예에서, 장치(A)보다는 오히려 장치(B)가 키 교환을 개시한다.
따라서, 장치(B)는 저장 매체(211)로부터 시크리트 스트링(K) 및 디피-헬만 키(x 및 X)를 회수한다(단계 228 및 229). 상술된 바와 같이, 이것은 직접 데이터베이스 쿼리, 가령, 수신된 식별자(ID) 등을 포함하여 (보안) 컴퓨터 네트워크를 통해 장치(C)에 전송되는 요구를 통하여 행해질 수 있다.
단계(112)에서, 실제 키 교환은 무선 통신 링크를 통하여 공중 키(X) 및 임의로, 부가적인 데이터를 장치(A)에 전송함으로써 장치(B)에 의해 개시된다.
단계(213)에서, 장치(A)는 공중 키(X)를 수신하고, 단계(214)에서, 장치(B)는 장치(A)에 저장된 시크리트 스트링(K)을 기초로 하여 수신 공중 키(X)의 MAC 태그값(t')을 계산한다.
단계(215)에서, 장치(A)는 계산된 태그값(t')을 이전에 저장된 태그값(t)과 비교한다. 상기 태그값들이 상이한 경우, 수신된 공중 키는 거절된다(단계 216). 그렇지 않은 경우, 공중 키(X)는 수용되고 공정은 단계(217)에서 계속된다.
단계(217)에서, 장치(A)는 상술된 바와 같이, 시크리트 값(y) 및 대응하는 디피-헬만 공중 키(Y)를 발생시킨다.
단계(218)에서, 장치(A)는 대응하는 디피-헬만 공유 시크리트 키[S=(X)y mod p]를 발생시킨다.
단계(219)에서, 장치(A)는 도 1과 관련하여 상술된 바와 같이, 발생된 공유 시크리트 키(S)를 사용하여 시크리트 스트링(K)을 암호화해서, 암호화된 시크리트 스트링(K*)을 발생시킨다.
단계(220)에서, 장치(A)는 암호화된 시크리트 스트링(K*) 및 디피-헬만 공중 키(Y)를 장치(B)에 전송한다.
단계(121)에서, 장치(B)는 암호화된 시크리트 스트링(K*) 및 디피-헬만 공중 키(Y)를 수신한다.
단계(122)에서, 장치(B)는 저장 매체(211)로부터 회수된 시크리트 값(x)을 사용하여 디피-헬만 공유 시크리트 키[S=(Y)x mod p]를 발생시킨다.
단계(123)에서, 장치(B)는 발생된 공유 시크리트 키(S)를 사용하여 수신된 암호화 시크리트 스트링(K*)을 복호화해서, 대응하는 복호화된 시크리트 스트링(K')을 얻는다.
단계(124)에서, 장치(B)는 수신되고 복호화된 시크리트 스트링(K')을 장치(C)에 의해 원래 발생되고 저장 매체(211)로부터 회수된 시크리트 스트링(K)과 비교한다. 상기 시크리트 스트링들이 동일하지 않은 경우, 수신된 공중 키(Y)가 거절되며, 즉, 발생된 공유 시크리트 키(S)는 폐기된다(단계 125). 그렇지 않은 경우, 공정은 단계(126)에서 계속된다.
단계(126)에서, 수신된 공중키(Y)가 수용되며, 즉, 계산된 공유 시크리트 키(S)가 공유된 시크리트로서 수용된다. 일 실시예에서, 대응하는 메시지가 장치(A)에 전송됨으로써, 키 교환을 완료한다. 발생된 공유 시크리트 키가 가령, 장치들 사이에 전송된 메시지를 무결성 보호 및/또는 암호화함으로써 장치들(A와 B) 사이의 그 다음 통신을 보호하기 위하여 사용될 수 있다.
일부 실시예에서, 단계(122, 123, 124 및 126)가 그 대신에 장치(C)에 의해 수행됨으로써, 양 장치(B 및 C)에서 키 교환 알고리즘을 실제로 실행할 필요를 피하도록 할 수 있다는 것을 이해할 것이다. 이 경우에, 장치(B)는 수신된 키 데이터를 가령, 보안 컴퓨터 네트워크를 통하여 장치(A)에서 장치(C)로 간단히 전송하며, 여기서, 키 데이터가 상술된 바와 같이 인증되어 부가적으로 처리된다.
그러므로, 요약하면, 상기 예는 제 1 통신 유닛과 제 2 통신 유닛 사이의 키 교환 방법을 공개한 것이다. 상기 방법은 등록 단계 및 키 교환 단계를 포함한다. 등록 단계는:
제 1 통신 유닛에 의하여 제 1 개인 키 값 및 키 교환 메커니즘, 바람직하게는 디피-헬만 키 일치의 대응하는 제 1 공중 키를 발생시키는 단계;
상기 제 1 통신 유닛에 의하여 패스코드를 발생시키는 단계;
상기 제 1 통신 유닛에 의한 패스코드를 사용하여 메시지 인증 코드에 따른 제 1 공중 키의 메시지 태그를 계산하는 단계; 및
상기 제 2 통신 유닛에 접속 가능한 패스코드 및 계산된 태그값을 생성하는 단계를 포함한다.
실제 키 교환 단계는 두 유닛이 통신 링크를 통하여 접속될때보다 더 늦은 임의의 시간 지점에서 수행되어 그 통신 링크를 통하여 메시지를 교환할 수 있다. 이 단계는:
제 1 통신 유닛에 의하여 제 1 공중 키를 제 2 통신 유닛에 전송하는 단계;
제 2 통신 유닛에 의한 패스코드를 사용하여 상기 메시지 인증 코드에 따른 수신된 제 1 공중 키의 태그값을 계산하고, 상기 계산된 태그값이 제 2 통신 유닛에 접속 가능하게 하는 태그값에 대응하는 경우, 수신된 제 1 공중 키를 수용하는 단계;
제 2 통신 유닛에 의하여 제 2 개인 키 값 및 상기 키 교환 메커니즘의 대응하는 제 2 공중 키를 발생시키는 단계;
상기 제 2 통신 유닛에 의하여 제 1 공중 키 및 제 2 개인 키로부터 상기 키 교환 메커니즘의 공유된 시크리트 키를 계산하는 단계;
상기 계산된 공유 시크리트 키를 사용하여 제 2 통신 유닛에 의한 패스코드를 암호화하는 단계;
제 2 공중 키 및 암호화된 데이터 아이템을 제 2 통신 유닛에 의해 제 1 통신 유닛에 전송하는 단계;
제 1 통신 유닛에 의해 제 2 공중 키 및 제 1 개인 키값으로부터 상기 키 교환 메커니즘의 상기 공유된 시크리트 키를 계산하는 단계; 및
전송된 암호화 데이터 아이템을 제 1 통신 유닛에 의해 계산된 공유 시크리트 키를 사용하여 제 1 통신 유닛에 의해 복호화하고, 복호화된 데이터 아이템이 상기 제 1 통신 유닛에 의해 원래 발생된 패스코드에 대응하는 경우, 계산된 공유 시크리트 키를 수용하는 단계를 포함한다.
도 3은 에러 수정 코드를 기초로 하여 메시지 인증 코드를 계산하는 방법의 흐름도를 도시한 것이다. 도 3의 예에서, 데이터 스페이스(D)로부터의 데이터 아이템(d)은 메시지 인증 코드(MAC)를 사용하여 인증되는 것으로 가정된다. 데이터 아이템(d)은 메시지, 가령, 상술된 방법에서의 공중 키(X), 또는 이하에 후술된 바와 같이, 적절한 함수(h), 즉 d=h(M)에 의하여 메시지(M)로부터 도출된 데이터 아이템일 수 있다. 이 예의 목적을 위하여, 데이터 아이템(d)을 메시지라 칭할 것이다.
일반적으로, MAC는 데이터 스페이스(D) 및 키 스페이스(K)에서 태그 스페이스(C)로의 매핑, 즉 f: K → C이며, 여기서, 메시지(d∈D) 및 키(k∈K)는 태그(c∈C)로 매핑되며, 즉, (d,k)→t이 된다.
MAC는 메시지를 무결성을 보호하기 위하여, 즉, 송신자로부터 수신자로의 전송 동안 데이터가 변경되지 않는 것을 보증하기 위하여 사용된다. 수동 인증에서, 짧은 MAC값, 즉, 10-15 디지트보다 적은 길이를 갖는 태그 및/또는 문자 및/또는 다른 심벌이 사용됨으로써, 사용자가 태그값을 통신하고/하거나 비교하도록 한다. 이와같은 수동 인증 방식에서, 보안성은 계산을 요하는 보안성보다는 차라리 MAC 함수의 무조건적 보안성을 기초로 한다. 예를 들어, 긴 해쉬 코드를 갖는 해쉬 함수가 MAC 함수로서 사용되는 경우, 보안성은 계산을 요하는 보안성을 기초로 한다.
MAC 함수의 무조건적 보안성은 상이한 형태의 가능한 공격을 고려함으로써 결정될 수 있다. 통상적으로 고려되는 두 가지 주요 형태의 공격은 가장 공격(impersonation attack) 및 대치 공격(substitution attack)이다. 다음 서술의 이해를 용이하게 하기 위하여, 이러한 형태의 공격이 여기서 간략하게 서술될 것이다. 보다 상세한 서술에 대해서는, 본원에 전체가 참조되는 가령, G. Kabatianskii, B. Smeets 및 T Johansson등의 정보 이론에 대한 IEEE 회보 "On the cardinality of systematic A-codes via error correcting codes"의 vol. IT-42, pp. 566-578를 참조하라.
가장 공격에서, 공격자는 어떤 데이터가 합법적인 송신자와 수신자 사이의 임의의 이전의 데이터 교환을 관측함이 없이 합법적인 송신자로부터 송신된다는 것을 수신자에게 납득시키려고 노력한다. 그 반면에, 대치 공격에서, 공격자는 어떤 데이터(d)를 관측하고 나서, 관측된 데이터를 어떤 다른 데이터()로 교체한다. 공격자가 가상 공격 및 대치 공격을 성공할 가능성은 각각 Pl 및 Ps로 나타내며, 이것들은 로서 표현될 수 있다.
상술된 키 교환 프로토콜의 상황에서, 공격자가 관측된 데이터(d)를 다른 데이터(d')로 교체할 가능성은 키 교환 방법의 보안성에 관련된 측정도, 즉, 도 1 및 2a의 예에서 유닛(A)로부터 유닛(B)으로 그리고 도 2b에서 유닛(B)로부터 유닛(A)으로 전송된 공중키를 다른 공중 키로 교체할 가능성이다. 이 경우에, d'가 수신자에 의해 유효한 데이터로서 수용되는 경우, 공격자는 성공한다. 블루투스와 같은 단거리 무선 통신의 경우에, 양 유닛은 물리적으로 서로 가깝고, 양 유닛이 준비되었다는 신호를 보낸 경우에만 데이터를 수용하도록 제한될 수 있다. 그러므로, 이와같은 경우에, 가상 공격이 쉽게 피해질 수 있고, 대치 공격의 가능성은 보안성에 보다 많이 관련된 측정도로서 간주될 수 있다. 더구나, 도 1 및 2의 경우에서, MAC 기능에 의해 계산된 태그값은데이터가 전송되는 통신 링크와 상이한 별도의 통신 채널을 통하여 통신된다. 이것은 데이터 및 태그값 둘 모두가 전송되어 공격자에 의해 관측될 수 있는 표준 MAC 경우와 대조를 이룬다. 이러한 가정으로, 대치 공격이 성공할 가능성은 로서 표현될 수 있다.
그러므로, 키가 키 스페이스(K)로부터 임의로 균일하게 선택된다고 가정하면, 상기 가능성은 로서 표현될 수 있고,
여기서, |ㆍ|는 한 세트의 카디널리티(cardinality)이며, 즉, |K|는 K의 카디널리티이며, 상기 식에서의 분자(numerator)는 d 및 d' 둘 모두에 대해 동일한 MAC 기능을 발생시키는 키 스페이스(K) 내의 모든 키의 세트의 카디널리티이다. 그러므로, 높은 보안성을 제공하기 위하여, 상기 식으로부터, MAC 기능의 충돌 가능성이 낮아야만 한다는 것이 뒤따른다.
MAC 구조의 다음 예는 데어 수정 코드를 기초로 한다. 본 서술의 목적을 위하여, 유한체(finite field)(Fq)에 대한 에러 수정 코드가 고려될 것이다. 특히, 길이(n)의 코드워드를 갖는 Fq에 대한 q-ary 코드가 고려되고 V로 표시된다. 일반적으로, 코드는 메시지로부터 코드워드로의 매핑이어서, 각각의 메시지는 특정 코드워드에 대응하고, 각각의 코드워드는 다수의 심벌을 포함한다. 그러므로, 코드(V)는 모든 벡터(v ∈ V =[v (d) : d ∈ D])로 이루어지며, 여기서 v (d) =(v1 (d), v2 (d), ..., vn (d))이며, 즉 v1 (d) ∈ Fq는 코드워드(v)의 심벌이다.
q-ary n-튜플(n-tuple) x 및 y 사이의 해밍 거리[dH(x,y)] 동일하지 않은 n-튜플의 요소의 수이며, 즉 dH(x,y) = |i ∈ [1,...,n]:이다. 코드(V)의 최소 거리는 이며, 즉, 코드(V)의 모든 코드워들들 사이의 최소 거리이다.
도 3과 관련하여, 에러 수정 코드를 기초로 한 MAC 구조의 일례가 서술될 것이다.
최초 단계(301)에서, MAC 구조로의 입력 데이터가 제공되며, 즉, 인증될 메시지(d) 및 사용될 키(k)가 MAC 기능으로의 입력으로서 제공된다.
단계(302)에서, 인덱스 i∈[1,...,n]이 키(k)의 함수(g), 즉 i=g(k)로서 선택된다. 특히, 키 스페이스(K)가 n 요소를 갖는 경우, 즉 |K|=n인 경우, 각각의 k는 심벌 인덱스들중 하나에 특정하게 매핑될 수 있고, 각각의 인덱스는 하나의 키에 대응한다. 일 실시예에서, 키는 인덱스로서 직접 사용될 수 있으며, 즉, i=k이다.
단계(303)에서, 태그값(t)은 메시지(d)에 대응하는 코드(V)의 코드워드(v (d))의 i-번째 심벌로서 결정되며, 즉, t=f(d,k)= vi (d) = vg(k) (d)이다.
그러므로, 캐그값은 에러 수정 코드의 코드워드의 선택될 심벌인 것으로 결정되며, 여기서, 코드워드는 메시지에 대응하는 코드워드이며, 심벌은 키에 의해 지정된다. 결과적으로, 상기 예에서, MAC는 n과 동일한 키 스페이스 크기, 및 코딩 스페이스 크기와 동일한 메시지 스페이스 크기로 얻어진다. 더구나, 대치 공격에 대한 상기 가능성(PS)은 PS = 1-dH(V)/n에 의해 제공된다.
도 4a-b는 리드-솔로몬 코드를 기초로 하여 메시지 인증 코드를 계산하는 방법의 예의 흐름도를 도시한 것이다.
리드-솔로몬(RS) 코드라는 용어는 코드 워드가 생성 다항식(generator polynomial)을 갖는 다항식 나눗셈(polynomial division)을 통해 규정되는 에러 수정 코드의 형태를 칭하는 것이며, 그 전체가 본원에 참조되는 I.S. Reed 및 G.Solomon의 "polynomial Codes over Certain Finite Fields", journal of Soc. In d. Appl. Math., vol. 8, pp. 300-304, 1960을 참조하라. 리드-솔로몬 코드라는 용어는 또한 리드-솔로몬 코드의 변형, 예를 들어, 소위 일반화된 리드-솔로몬 코드를 포함하도록 의도된다.
도 4a의 구조에 있어서, 최초 단계(401)에서, MAC 구조로의 입력 데이터가 제공되며, 즉, 인증된 메시지(d) 및 사용될 키(k)가 MAC 기능으로의 입력으로서 제공된다.
단계(402)에서, 메시지는 Fq에 대하여 q-ary τ-튜플로서 표현되며, 즉, d=d0, d1,...,dτ-1이며, 여기서 di∈Fq이다. 그러므로, 상기 메시지에 대응하는 리드-솔로몬(RS) 인코딩 다항식은 p(d)(k) = d0+d1x+d2x2+...+dτ-1xτ-1로서 규정된다.
단계(403)에서, MAC의 태그값이 키(k)에 의해 지정된 지점에서 다항식을 평가함으로써 계산되며, 즉, t=f(d,k)= vk (d) = p(d)(k) = d0+d1x+d2x2+...+dτ-1xτ-1이다.
그러므로, 키(k)는 태그값으로서 사용되는 리드-솔로몬 코드의 심벌을 지정한다. 상술된 바와 같이, 상기 심벌은 키의 임의의 적절한 기능에 의해 지정될 수 있다.
이 구조에서, 키가 유한체(Fq)로부터 선택된다는 것, 즉, k∈Fq라는 것을 또한 주목하라. 결과적으로, 이 구조는 다음 특성: n=q=|K| 및 |D|=qτ=nτ을 갖는다. 그러므로, 상기 코드의 최소 거리가 dH(V)=n-τ+1이므로, 성공적인 대치 공격의 가능성은 PS=(τ-1)/n이다. 리드-솔로몬 코드의 장점은 높은 최소 거리를 갖는 긴 코드라는 것이다.
이것은 또한 상기 가능성(PS)이 메시지 스페이스(D)의 크기에 따라 증가한다는 것을 나타낸다.
도 4b는 리드-솔로몬 코드를 기초로 한 MAC 구조의 다른 실시예의 흐름도를 도시한 것이다.
다시, 이 구조에 따르면, 최초 단계(404)에서, MAC 구조로의 입력 데이터가 제공되며, 즉, MAC 기능으로의 입력으로서 인증될 메시지(d) 및 사용될 키(k)가 제공된다.
단계(405)에서, 한-방향 해쉬 함수(h)가 메시지에 적용된다. 본 서술의 목적을 위하여, 한-방향 해쉬 함수라는 용어는 입력으로서 데이터 항목, 가령, 스트링을 이용하고 출력으로서 고정된-길이의 이진값(해쉬)를 발생시키는 알고리즘을 칭한다. 특히, 이 공정은 반대로 할 수 없으며, 즉, 소정 해쉬값을 발생시킨 데이터 항목을 찾는 것은 계산적으로 실행될 수 없어야만 한다. 마찬가지로, 동일한 해쉬값을 발생시키는 두 개의 임의의 데이터 항목을 찾는 것이 또한 계산적으로 실행될 수 없어야만 한다. 적절한 해쉬 함수의 일례는 표준 보안 해쉬 알고리즘(SHA-1)이다. SHA-1 알고리즘은 264 비트보다 적은 길이의 메시지를 이용하며 160-비트 메시지 다이제스트를 발생시킨다.. 한-방향 해쉬 함수의 다른 예는 MD4, MD5 등을 포함한다. 그리고 나서, 해쉬 함수(δ=h(d))의 출력이 리드-솔로몬 코드로의 입력으로서 사용된다. 일 실시예에서, 해쉬 함수의 출력은 절단되어 유효 메시지 크기를 더 감소시킨다.
그러므로, 단계(406)에서, 해쉬값(δ)은 Fq에 대한 q-ary τ-튜플로서 표현되며, 즉, δ=δ01,...,δτ-1이고, 여기서 δτ ∈ Fq이다.
단계(407)에서, MAC의 태그값(t)은 키(k)에 의해 지정된 지점에서 대응하는 리드-솔로몬 인코딩 다항식을 평가함으로써 계산되며, 즉, t=f(δ,k)=vk (δ)=p(δ)(k)=δ01k+δ2k2+...+δτ-1kτ-1이다.
그러므로, SHA-1과 같은 한-방향 해쉬 함수를 메시지에 우선 적용해서, 메시지 스페이스의 크기가 감소됨으로써, 키 길이 또는 MAC의 출력의 길이, 즉, 태그의 길이를 상당히 증가시킴이 없이 성공적인 대치 공격의 가능성(PS)의 가능성을 감소시킨다. 결과적으로, 짧은 키 및 짧은 메시지 태그에 대해서도 보안 인증이 제공됨으로써, 사용자 상호작용을 통한 키 및 메시지의 통신을 허용하도록 한다.
도 5는 도 4a-b의 MAC 구조의 다수의 구조예에 대한 성공적인 대치 공격의 가능성을 예시하는 테이블을 도시한 것이다. 제 1 행에 나타낸 log2|D|는 비트의 수로서 메시지의 크기를 포함하며, 제 2 행에 지정된 log2(n)은 비트의 수에 의한 키 크기를 나타내는 반면, 마지막 행은 성공적인 대치 공격의 대응하는 가능성을 나타낸다. 예를 들어, 4 개의 16진수 디지트의 코드 길이 및 네 개의 디지트의 키 크기(n=q=164, 즉, log2(n)=16)을 갖는 코드는 128비트 길이인 메시지에 대하여 위조 가능성이 대략 2-13 내지 2-16이 된다. 그러므로, 128 비트로 절단된 SHA-1 출력은 보안성이 충분히 높다. 키 크기가 5 디지트(log2(n)=20)으로 증가되는 경우, 가능성은 대략 2-17 이하로 더 감소한다.
도 6은 일반적으로 A 및 B로 지정된 두 통신 유닛을 포함하는 통신 시스템의 블럭도를 도시한 것이다. 통신 유닛(A) 및 통신 유닛(B)은 통신 링크(605)를 통하여 서로 통신한다.
통신 유닛(A)은 처리 유닛(602), 상기 처리 유닛에 접속된 무선 통신 유닛(603), 상기 처리 유닛에 접속된 저장 매체(604), 및 상기 처리 유닛에 접속된 사용자 인터페이스(606)를 포함한다.
무선 통신 유닛(603)은 처리 유닛(602)으로부터 수신된 데이터를 무선 링크(605)를 통하여 통신 유닛(607)에 전송하며, 무선 링크로부터 데이터를 수신하여 이를 처리 유닛으로 전송한다. 예를 들어, 무선 통신 유닛(603)은 블루투스 기술을 기초로 하고, 2.45GHz에서의 ISM 대역에서 송수신할 수 있다.
처리 유닛(602), 가령, 적절하게 프로그래밍된 마이크로프로세서는 통신 유닛에 의해 구현된 기능성(functionality)에 따라 다른 유닛으로 전송될 데이터 및 다른 유닛으로부터 수신된 데이터를 처리한다. 특히, 처리 유닛(602)은 적절하게 프로그래밍되어 상술된 보안 기능, 특히 패스코드 및 대응하는 태그값의 발생, 상술된 키 교환 및 인증 방법을 수행하도록 한다.
저장 매체(604), 가령, EPROM, EEPROM, 플래시 메모리등은 패스코드(K) 뿐만 아니라, 키 교환 프로토콜을 위해 필요한 파라미터를 저장하도록 적응된다.
사용자 인터페이스(606)는 발생된 패스코드(K) 및 대응하는 태그값(t)을 디스플레이하여 사용자가 발생된 값을 판독하고 이를 통신 유닛(B)에 전송할 수 있도록 하는 디스플레이를 포함한다.
부가적으로, 사용자 인터페이스(606)는 키보드, 키패드, 포인팅 장치, 터치 스크린 등과 같은 데이터 입력 수단을 포함할 수 있다.
통신 유닛(B)은 처리 유닛(609), 상기 처리 유닛에 접속된 무선 통신 유닛(608), 상기 처리 유닛에 접속된 저장 매체(610), 및 상기 처리 유닛에 접속된 사용자 인터페이스(611)를 포함한다.
무선 통신 유닛(609)은 통신 유닛(A)의 무선 통신 유닛(603)에 대응함으로써, 무선 통신 유닛(A와 B) 사이의 무선 통신을 허용하도록 한다.
처리 유닛(609)은 통신 유닛에 의해 구현된 기능성에 따라 다른 유닛으로 전송될 데이터 및 다른 유닛으로부터 수신된 데이터를 처리한다. 특히, 처리 유닛은 적절하게 프로그래밍되어, 상술된 보안 기능, 특히, 유닛(A)에 의해 구현된 키 교환 프로토콜 및 인증 메커니즘에 대응하고 상술된 키 교환 및 인증 방법을 수행하도록 한다.
마찬가지로, 저장 매체(604), 가령 EPROM, EEPROM, 플래시 메모리등은 패스코드(K), 태그값(t) 뿐만 아니라, 키 교환 프로토콜을 위해 필요한 파라미터를 저장하도록 적응된다.
사용자 인터페이스(611)는 사용자가 통신 유닛(A)에 의핸 발생된 패스코드(K) 및 대응하는 태그값(t)을 입력하도록 하는 입력 장치, 가령, 키패트, 키보드, 터치 스크린 등을 포함한다. 부가적으로, 사용자 인터페이스는 디스플레이, 포인팅 장치 등을 포함할 수 있다.
그러므로, 도 6의 통신 시스템은 두 통신 유닛, 가령, 이동 전화들, 이동 전화와 휴대용 컴퓨터, 두 휴대용 컴퓨터, 또는 상술된 방법에 따라 공유된 시크리트 키를 설정함으로써 통신 링크(605)를 통하여 보안 통신을 설정하는 유사한 전자 장비의 임의의 조합과 같은 두 개의 휴대용 통신 장치를 포함한다.
일 실시예에서, 처리 유닛 및/또는 저장 매체는 대응하는 통신 유닛에 제거 가능하게 삽입됨으로써, 보안 연계(security association)가 실제 유닛과 무관하게 설정되도록 한다. 예를 들어, 저장 매체 및/또는 처리 유닛은 스마트 카드, 가령SIM 카드에 의해 구성될 수 있다.
통신 유닛이 도 6의 개략적인 블럭도에서 생략된 부가적인 요소를 포함할 수 있다는 것을 또한 주목하라. 예를 들어, 통신 유닛은 수신기에 접속된 자동 이득 제어(AGG) 유닛, 디코더, 인코더 등을 더 포함할 수 있다.
도 7은 컴퓨터 네트워크의 접속 지점을 통하여 컴퓨터 네트워크와 통신하는 휴대용 통신 유닛의 블럭도를 도시한 것이다.
통신 유닛(A)은 도 6과 관련하여 서술된 통신 유닛(A)에 대응한다. 통신 유닛(A)은 처리 유닛(602), 상기 처리 유닛에 접속된 무선 통신 유닛(603), 상기 처리 유닛에 접속된 저장 매체(604), 및 상기 처리 유닛에 접속된 사용자 인터페이스(606)를 포함한다. 이러한 요소는 보다 상세히 상술되었다.
통신 유닛(A)은 무선 통신 링크(605)를 통하여 통신 네트워크(701)의 접속 지점(702)과 통신한다. 예를 들어, 통신 네트워크(701)는 무선 LAN, 하나 이상의 접속 지점을 통하여 무선 접속을 제공하는 유선 LAN 등일 수 있다. 도 7에서, 부가적인 네트워크 요소는 두 개의 네트워크 노드(703 및 704)에 의해 각각 예시된다. 도 7의 예에서, 네트워크 노드(703)는 무선 링크를 통하여 컴퓨터 네트워크에 접속할 수 있는 다수의 유닛에 대응하는 패스코드 및 태그값의 키 데이터페이스(705)를 호스팅하는 네트워크 서버 컴퓨터이다. 그러므로, 유닛(A)이 도 2a-b와 관련하여 서술된 절차에 따라 컴퓨터 네트워크로 등록하고자 할때, 네트워크 서버(703)는 그 절차에서 장치(C)의 역할을 할 수 있다. 예를 들어, 도 2b의 실시예에 따르면, 네트워크 서버(703)가 배스키(K) 및 태그값(t)를 발생시킬때, 상기 값들은 유닛(A)으로 전송될 수 있다. 예를 들어, 상기 전송은 전화를 통하여 유닛(A)의 사용자에게 데이터를 통신함으로써, 메일을 전송함으로써 초기화 절차의 부분으로서 조작자에 의해 행해질 수 있다. 그리고 나서, 파라미터가 유닛(A) 내로 입력된다. 더구나, 상기 데이터는 데이터베이스(705) 내에 저장된다. 유닛(A)이 접속 지점(B)과의 접속을 설정할때, 저장된 파라미터가 회수되어 도 2b의 보안 키 교환 공정에서 사용된다.
대안 실시예에서, 접속 지점(B)은 키 데이터베이스로의 직접적인 접속을 포함하거나 가지며, 등록 공정은 도 1과 관련하여 상술된 바와 같이 유닛(A)과 접속 지점(B) 사이에서 직접 수행된다.
본 명세서에서 사용된 "포함한다/포함하는"이라는 용어는 서술된 특성, 정수, 단계 또는 구성요소의 존재를 규정하기 위하여 사용된 것이지, 하나 이상의 다른 특성, 정수, 단계, 구성요소 또는 그 그룹의 존재 또는 부가를 방해하고자 하는 것이 아니라는 것이 강조되어야 한다.
본 발명의 바람직한 실시예가 서술되고 도시되었을지라도, 본 발명은 이에 국한되는 것이 아니며, 다음의 청구항에 규정된 주요 문제의 범위 내에서 다른 방식으로 구현될 수 있다.
본 발명은 별개의 요소를 포함하는 하드웨어에 의하여, 그리고 적절하게 프로그래밍된 컴퓨터에 의해어 구현될 수 있다. 몇 개의 수단을 열거한 장치 청구항에서, 몇 개의 이러한 수단은 하드웨의 하나이고 동일한 항목, 가령, 본원에 서술된 바와 같이, 적절하게 프로그래밍된 마이크로프로세서 또는 컵퓨터, 하나 이상의 사용자 인터페이스, 및/또는 하나 이상의 통신 인터페이스에 의해 구현될 수 있다. 어떤 측정이 서로 상이한 독립항에서 재인용된다는 단순한 사실은 이러한 측정의 조합이 유용하게 사용될 수 없다는 것을 나타내지 않는다.

Claims (33)

  1. 공유된 시크리트 키를 발생시키며 사용자 상호작용을 포함하는 제 1과 제 2 통신 유닛 사이의 키 교환을 포함하는 제 1과 제 2 통신 유닛 사이의 보안 통신을 제공하는 방법으로서:
    사용자 상호작용에 의해 적어도 부분적으로, 패스코드를 상기 제 1 및 제 2 통신 유닛에 제공하는 단계;
    상기 제 1 통신 유닛에 의해 공유 시키리트 키에 대한 제 1 컨트리뷰션 및 상기 제 2 통신 유닛에 의해 공유 시키리트 키에 대한 제 2 컨트리뷰션을 발생시키고, 각각의 발생된 컨트리뷰션을 대응하는 다른 통신 유닛에 전송하는 단계;
    대응하는 수신 통신 유닛에 의해 상기 전송된 제 1 및 제 2 컨트리뷰션을 적어도 상기 패스코드를 기초로 하여 인증하는 단계; 및
    대응하는 수신 컨트리뷰션이 성공적으로 인증되는 경우에만, 상기 공유된 시크리트 키를 각각의 통신 유닛에 의해 대응하는 수신된 제 1 또는 제 2 컨트리뷰션으로부터 설정하는 단계를 포함하는 보안 통신 제공 방법.
  2. 제 1 항에 있어서, 상기 패스코드는 사용자 상호작용을 통하여 통신되도록 충분히 짧은 것을 특징으로 하는 보안 통신 제공 방법.
  3. 제 1 항에 있어서, 상기 제 2 통신 유닛에 의해 상기 발생된 공유 시크리트 키를 사용하여 상기 패스코드를 암호화하는 단계;
    상기 발생된 제 2 컨트리뷰션과 함께 상기 암호화된 패스코드를 상기 제 1 통신 유닛에 전송하는 단계;
    상기 수신된 암호화된 패스코드를 상기 제 1 통신 유닛에 의해 복호화하는 단계; 및
    수신된 제 2 컨트리뷰션을 인증하기 위하여 상기 복호화된 수신 패스코드를 제 1 통신 유닛에 제공된 패스코드와 비교하는 단계를 더 포함하는 것을 특징으로 하는 보안 통신 제공 방법.
  4. 제 1 항에 있어서, 상기 제 1 및 제 2 컨트리뷰션은 디피-헬만 키 교환 프로토콜의 제 1 및 제 2 공중 키인 것을 특징으로 하는 보안 통신 제공 방법.
  5. 제 1 항에 있어서, 패스코드를 상기 제 1 및 제 2 통신 유닛에 제공하는 상기 단계는 상기 제 1 통신 유닛에 의해 패스코드를 발생시키는 단계 및 상기 발생된 패스코드를 사용자 상호작용을 포함하는 통신 채널을 통하여 상기 제 2 통신 유닛에 제공하는 단계를 포함하는 것을 특징으로 하는 보안 통신 제공 방법.
  6. 제 1 항에 있어서, 상기 전송된 제 1 및 제 2 컨트리뷰션을 인증하는 상기 단계는 메시지 인증 코드의 태그값을 계산함으로써 상기 제 1 컨트리뷰션을 인증하는 단계를 포함하며, 상기 태그값은 상기 제 1 컨트리뷰션 및 상기 패스코드로부터 계산되는 것을 특징으로 하는 보안 통신 제공 방법.
  7. 제 6 항에 있어서, 상기 태그값은 에러 수정 코드의 코드워드의 심벌을 선택함으로써 계산되며, 상기 코드워드는 상기 제 1 컨트리뷰션에 대응하고, 상기 심벌은 상기 패스코드에 의해 식별되는 것을 특징으로 하는 보안 통신 제공 방법.
  8. 제 7 항에 있어서, 상기 제 1 컨트리뷰션으로부터 한-방향 해쉬 함수의 해쉬값을 계산하는 단계 및 에러 수정 코드의 코드워드의 심벌을 선택함으로써 상기 태그값을 계산하는 단계를 더 포함하며, 상기 코드워드는 상기 제 1 컨트리뷰션의 해쉬값에 대응하고, 상기 심벌은 상기 패스코드에 의해 식별되는 것을 특징으로 하는 보안 통신 제공 방법.
  9. 제 7 항에 있어서, 상기 에러 수정 코드는 리드-솔로몬 코드인 것을 특징으로 하는 보안 통신 제공 방법.
  10. 제 1 항에 있어서, 상기 제 1 통신 유닛에 의해 공유 시크리트 키에 대한 제 1 컨트리뷰션을 발생시키고, 상기 발생된 제 1 컨트리뷰션을 상기 제 2 통신 유닛에 전송하는 단계;
    상기 제 2 전송 통신 유닛에 의해 상기 패스코드를 기초로 하여 수신된 제 1 컨트리뷰션을 인증하고, 상기 수신된 제 1 컨트리뷰션이 인증된 것으로 수용되는 경우, 적어도 상기 수신된 제 1 컨트리뷰션으로부터 공유된 시크리트 키를 발생시키는 단계;
    상기 제 2 통신 유닛에 의해 발생된 상기 공유된 시크리트 키에 대한 제 2 컨트리뷰션을 상기 제 1 통신 유닛에 전송하는 단계; 및
    상기 제 1 통신 유닛에 의해 상기 패스코드를 기초로 하여 상기 수신된 제 2 컨트리뷰션을 인증하고, 상기 수신된 제 1 컨트리뷰션이 인증된 것으로 수용되는 경우에만, 상기 제 2 통신 유닛에 의해 공유된 시키리트 키를 발생시키는 단계를 포함하는 것을 특징으로 하는 보안 통신 제공 방법.
  11. 제 10 항에 있어서, 상기 방법은 키로서 상기 패스코드를 사용하여 상기 제 1 컨트리뷰션으로부터 메시지 인증 코드의 제 1 메시지 태그를 계산하는 단계; 및
    상기 계산된 메시지 태그를 상기 제 2 통신 유닛에 제공하는 단계를 더 포함하며:
    상기 패스코드를 기초로 하여 상기 제 2 통신 유닛에 의해 상기 수신된 제 1 컨트리뷰션을 인증하는 단계는:
    키로서 상기 패스코드를 사용하여 상기 수신된 제 1 컨트리뷰션으로부터 상기 메시지 인증 코드의 제 2 메시지 태그를 계산하는 단계; 및
    상기 수신된 제 1 컨트리뷰션을 인증하기 위하여 상기 제 1 및 제 2 메시지 태그를 비교하는 단계를 포함하는 것을 특징으로 하는 보안 통신 제공 방법.
  12. 등록 단계 및 키 교환 단계를 포함하며 제 1 통신 유닛과 제 2 통신 유닛 사이의 보안 통신을 제공하는 방법으로서:
    상기 등록 단계는:
    상기 제 1 통신 유닛에 의해 제 1 개인 키 값 및 키 교환 메커니즘의 대응하는 제 1 공중 키를 발생시키는 단계;
    상기 제 1 통신 유닛에 의해 패스코드를 발생시키는 단계;
    상기 제 1 통신 유닛에 의해 상기 패스코드를 사용하여 메시지 인증 코드에 따른 제 1 공중 키의 메시지 태그를 계산하는 단계;
    사용자 상호작용에 의해 적어도 부분적으로 상기 패스코드 및 상기 계산된 태그값을 상기 제 2 통신 유닛에 접속 가능하도록 하는 단계를 포함하며,
    상기 키 교환 단계는:
    상기 제 1 통신 유닛에 의해 제 1 공중 키를 상기 제 2 통신 유닛에 전송하는 단계;
    상기 제 2 통신 유닛에 의해 상기 패스코드를 사용하여 상기 메시지 인증 코드에 따른 상기 수신된 제 1 공중키의 태그값을 계산하고, 상기 계산된 태그값이 통신된 태그값에 대응하는 경우, 상기 수신된 제 1 공중키를 수용하는 단계;
    상기 제 2 통신 유닛에 의해 제 2 개인 키 값 및 상기 키 교환 메커니즘의 대응하는 제 2 공중 키를 발생시키는 단계;
    상기 제 2 통신 유닛에 의해 상기 제 1 공중 키 및 상기 제 2 개인 키값으로부터 상기 키 교환 메커니즘의 공유된 시크리트 키를 계산하는 단계;
    상기 제 2 통신 유닛에 의해 상기 계산된 공유 시크리트 키를 사용하여 상기 패스코드를 암호화하는 단계;
    상기 제 2 통신 유닛에 의해 상기 제 2 공중 키 및 상기 암호화된 패스코드를 상기 제 1 통신 유닛에 전송하는 단계;
    상기 제 1 통신 유닛에 의해 상기 제 2 공중 키 및 상기 제 1 개인 키값으로부터 상기 키 교환 메커니즘의 상기 공유된 시크리트 키를 계산하는 단계; 및
    상기 제 1 통신 유닛에 의해 계산된 상기 공유 시크리트 키를 사용하여 상기 제 1 통신 유닛에 의해 상기 전송된 암호화 패스코드를 복호화하고, 상기 복호화된 패스코드가 상기 제 1 통신 유닛에 의해 원래 발생된 패스코드에 대응하는 경우, 상기 계산된 공유 시크리트키를 수용하는 단계를 포함하는 보안 통신 제공 방법.
  13. 공유된 시크리트 키를 발생시키며 상호자 상호작용을 포함하는 제 1과 제 2 통신 유닛 사이의 키 교환에 의하여 적어도 제 1과 제 2 통신 유닛 사이에 보안 통신을 제공하는 통신 시스템으로서:
    사용자 상호작용에 의해 적어도 부분적으로, 패스코드를 상기 제 1 및 제 2 통신 유닛에 제공하는 수단;
    상기 제 1 통신 유닛에 의해 공유된 시크리트 키에 대한 제 1 컨트리뷰션 및 상기 제 2 통신 유닛에 의해 공유된 시크리트 키에 대한 제 2 컨트리뷰션을 발생시키는 수단;
    각각의 발생된 컨트리뷰션을 대응하는 다른 통신 수단에 전송하는 수단;
    대응하는 수신 통신 유닛에 의해 상기 패스코드를 기초로 하여 상기 전송된 제 1 및 제 2 컨트리뷰션을 인증하는 수단; 및
    상기 대응하는 수신된 컨트리뷰션이 성공적으로 인증되는 경우에만, 각각의 통신 유닛에 의해 적어도 상기 대응하는 수신된 제 1 또는 제 2 컨트리뷰션으로부터 상기 공유된 시크리트 키를 설정하는 수단을 구비하는 보안 통신을 제공하는 통신 시스템.
  14. 제 13 항에 있어서, 상기 제 1 통신 유닛은 상기 패스코드를 발생시키도록 적응된 처리 수단 및 상기 발생된 패스코드를 상기 제 1 통신 채널과 상이한 제 2 통신 채널을 통하여 제 2 통신 유닛에 제공하기 위한 출력 수단을 구비하는 것을 특징으로 하는 보안 통신을 제공하는 통신 시스템.
  15. 제 13 항에 있어서, 상기 제 1 및 제 2 통신 유닛은 메시지 인증 코드의 태그값을 계산하기 위한 처리 수단을 각각 구비하며, 상기 태그값은 상기 제 1 컨트리뷰션 및 상기 패스코드로부터 계산되는 것을 특징으로 하는 보안 통신을 제공하는 통신 시스템.
  16. 제 15 항에 있어서, 상기 처리 수단은 에러 수정 코드의 코드워드의 심벌을 선택함으로써 상기 태그값을 계산하도록 적응되며, 상기 코드워드는 상기 제 1 컨트리뷰션에 대응하며, 상기 심벌은 상기 패스코드에 의해 식별되는 것을 특징으로 하는 보안 통신을 제공하는 통신 시스템.
  17. 제 16 항에 있어서, 상기 처리 수단은 상기 제 1 컨트리뷰션으로부터 한-방향 해쉬 함수의 해쉬값을 계산하고 에러 수정 코드의 코드워드의 심벌을 선택함으로써 상기 태그값을 계산하도록 더 적응되며, 상기 코드워드는 상기 제 1 컨트리뷰션의 해쉬값에 대응하고, 상기 심벌은 상기 패스코드에 의해 식별되는 것을 특징으로 하는 보안 통신을 제공하는 통신 시스템.
  18. 제 16 항에 있어서, 상기 에러 수정 코드는 리드-솔로몬 코드인 것을 특징으로 하는 보안 통신을 제공하는 통신 시스템.
  19. 공유된 시크리트 키를 발생시키며 사용자 상호작용을 포함하는 키 교환에 의해서 다른 통신 유닛과의 보안 통신을 제공하는 통신 유닛으로서:
    상기 통신 유닛은 데이터 처리 수단, 사용자-인터페이스 수단, 및 통신 인터페이스를 구비하며, 상기 처리 수단은 다음 단계:
    상기 사용자-인터페이스 수단을 통한 사용자 상호작용에 의하여 적어도 부분적으로 다른 통신 유닛에 제공될 패스코드를 발생시키는 단계;
    공유된 시크리트 키에 대한 제 1 컨트리뷰션을 발생시키고 상기 통신 인터페이스를 통하여 전송하며, 상기 공유된 시크리트 키에 대한 제 2 컨트리뷰션을 상기 통신 인터페이스를 통하여 수신하는 단계로서, 상기 제 2 컨트리뷰션은 다른 통신 유닛에 의해 발생되는, 상기 발생과 전송 및 수신 단계;
    상기 패스코드를 기초로 하여 수신된 제 2 컨트리뷰션을 인증하는 단계; 및
    상기 수신된 제 2 컨트리뷰션이 성공적으로 인증되는 경우에만, 상기 공유된 시크리트 키를 적어도 상기 제 2 컨트리뷰션으로부터 설정하는 단계를 수행하도록 적응되는 보안 통신을 제공하는 통신 유닛.
  20. 제 19 항에 있어서, 상기 처리 수단은 다른 통신 유닛에 제공될 메시지 인증 코드의 태그값을 계산하도록 더 적응되며, 상기 태그값은 상기 제 1 컨트리뷰션 및 상기 패스코드로부터 계산되는 것을 특징으로 하는 보안 통신을 제공하는 통신 유닛.
  21. 제 20 항에 있어서, 상기 처리 수단은 에러 수정 코드의 코드워드의 심벌을 선택함으로써 상기 태그값을 계산하도록 더 적응되며, 상기 코드워드는 상기 제 1 컨트리뷰션에 대응하고, 상기 심벌은 상기 패스코드에 의해 식별되는 것을 특징으로 하는 보안 통신을 제공하는 통신 유닛.
  22. 제 21 항에 있어서, 상기 처리 수단은 상기 제 1 컨트리뷰션으로부터 한-방향 해쉬 함수의 해쉬값을 계산하고 에러 수정 코드의 코드워드의 심벌을 선택함으로써 상기 태그값을 계산하도록 더 적응되며, 상기 코드워드는 상기 제 1 컨트리뷰션의 해쉬값에 대응하고, 상기 심벌을 상기 패스코드에 의해 식별되는 것을 특징으로 하는 보안 통신을 제공하는 통신 유닛.
  23. 제 21 항에 있어서, 상기 에러 수정 코드는 리드-솔로몬 코드인 것을 특징으로 하는 보안 통신을 제공하는 통신 유닛.
  24. 제 19 항에 있어서, 상기 처리 수단은:
    상기 제 2 컨트리뷰션과 함께 수신된 암호화된 패스코드를 복호화하도록 더 적응되는데, 상기 복호화는 상기 공유된 시크리트 키를 사용하며;
    상기 복호화된 패스코드가 상기 발생된 패스코드에 대응하는 경우에만, 상기 수신된 제 2 컨트리뷰션을 수용하도록 더 적응되는 것을 특징으로 하는 보안 통신을 제공하는 통신 유닛.
  25. 공유된 시크리트 키를 발생시키며 상호자 상호작용을 포함하는 키 교환에 의하여 다른 통신 유닛과의 보안 통신을 제공하는 통신 유닛으로서:
    상기 통신 유닛은 데이터 처리 수단, 저장 수단 및 통신 인터페이스를 구비하며, 상기 처리 수단은 공유된 시크리트 키를 발생시키는 키 교환을 수행하도록 적응되며, 상기 키 교환은:
    상기 다른 통신 유닛에 의해 발생된 패스코드를 사용자 상호작용에 의하여 적어도 부분적으로 수신하여 저장하는 단계;
    상기 다른 통신 유닛에 의해 발생된 상기 공유된 시크리트 키에 대한 제 1 컨트리뷰션을 통신 인터페이스를 통하여 수신하는 단계;
    상기 패스코드를 기초로 하여 상기 수신된 제 1 컨트리뷰션을 인증하는 단계;
    상기 수신된 제 1 컨트리뷰션이 성공적으로 인증되는 경우, 적어도 상기 제 1 컨트리뷰션으로부터 상기 공유된 시크리트 키를 설정하고, 상기 통신 인터페이스를 통하여 상기 공유된 시크리트 키에 대한 제 2 컨트리뷰션을 전송하는 단계를 포함하는 보안 통신을 제공하는 통신 유닛.
  26. 제 25 항에 있어서, 상기 저장 수단 내에 메시지 인증 태그를 저장하도록 더 적응되며, 상기 처리 수단은:
    상기 수신된 제 1 컨트리뷰션 및 상기 패스코드로부터 메시지 인증 코드의 태그값을 계산하도록 더 적응되며;
    상기 계산된 태그값이 상기 저장된 메시지 인증 태그에 대응하는 경우에만, 상기 수신된 제 1 컨트리뷰션을 수용하도록 더 적응되는 것을 특징으로 하는 보안 통신을 제공하는 통신 유닛.
  27. 제 26 항에 있어서, 상기 처리 수단은 에러 수정 코드의 코드워드의 심벌을 선택함으로써 상기 태그값을 계산하도록 더 적응되며, 상기 코드워드는 상기 제 1 컨트리뷰션에 대응하고, 상기 심벌은 상기 패스코드에 의해 식별되는 것을 특징으로 하는 보안 통신을 제공하는 통신 유닛.
  28. 제 27 항에 있어서, 상기 처리 수단은 상기 제 1 컨트리뷰션으로부터 한-방향 해쉬 함수의 해쉬값을 계산하고 에러 수정 코드의 코드워드의 심벌을 선택함으로써 상기 태그값을 계산하도록 더 적응되며, 상기 코드워드는 상기 제 1 컨트리뷰션의 해쉬값에 대응하고, 상기 심벌은 상기 패스코드에 의해 식별되는 것을 특징으로 하는 보안 통신을 제공하는 통신 유닛.
  29. 제 27 항에 있어서, 상기 에러 수정 코드는 리드-솔로몬 코드인 것을 특징으로 하는 보안 통신을 제공하는 통신 유닛.
  30. 제 25 항에 있어서, 상기 처리 수단은:
    상기 저장된 패스코드를 암호화하도록 더 적응되는데, 상기 암호화는 상기 공유된 시크리트 키를 사용하며;
    상기 통신 인터페이스를 통하여 상기 제 2 컨트리뷰션을 갖는 상기 암호화된 패스코드를 다른 통신 유닛에 전송하도록 더 적응되는 것을 특징으로 하는 보안 통신을 제공하는 통신 유닛.
  31. 프로그램이 컴퓨터 상에서 실행될때, 제 1 항 내지 제 12 항중 어느 한 항의 모든 단계를 수행하기 위한 프로그램 코드 수단을 포함하는 컴퓨터 프로그램.
  32. 컴퓨터 프로그램 제품이 컴퓨터 상에서 실행될때, 제 1 항 내지 제 12 항중 어느 한 항의 방법을 수행하기 위하여 컴퓨터 판독 가능한 매체 상에 저장된 프로그램 코드 수단을 포함하는 컴퓨터 프로그램 제품.
  33. 프로그램이 컴퓨터 상에서 실행될때, 제 1 항 내지 제 12 항중 어느 한 항의 모든 단계를 수행하기 위하여 그 상에 저장된 프로그램 코드 수단을 가지는 컴퓨터-판독 가능한 매체.
KR1020057006971A 2002-10-24 2003-10-09 보안 통신 KR101095239B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US42096402P 2002-10-24 2002-10-24
US60/420,964 2002-10-24
US10/602,176 US7284127B2 (en) 2002-10-24 2003-06-24 Secure communications
US10/602,176 2003-06-24
PCT/EP2003/011220 WO2004038998A1 (en) 2002-10-24 2003-10-09 Secure communications

Publications (2)

Publication Number Publication Date
KR20050073573A true KR20050073573A (ko) 2005-07-14
KR101095239B1 KR101095239B1 (ko) 2011-12-20

Family

ID=32110307

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020057006971A KR101095239B1 (ko) 2002-10-24 2003-10-09 보안 통신

Country Status (10)

Country Link
US (2) US7284127B2 (ko)
EP (1) EP1554834B1 (ko)
JP (1) JP4550736B2 (ko)
KR (1) KR101095239B1 (ko)
CN (1) CN100574188C (ko)
AT (1) ATE348457T1 (ko)
AU (1) AU2003276090A1 (ko)
DE (1) DE60310437T2 (ko)
ES (1) ES2279225T3 (ko)
WO (1) WO2004038998A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220028986A (ko) * 2020-09-01 2022-03-08 (주)티엔젠 무인이동체의 보안을 위한 암호키 관리 시스템 및 방법

Families Citing this family (78)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7284127B2 (en) * 2002-10-24 2007-10-16 Telefonktiebolaget Lm Ericsson (Publ) Secure communications
US20040243856A1 (en) * 2003-05-29 2004-12-02 Will Shatford Four factor authentication system and method
US7607012B2 (en) * 2003-10-01 2009-10-20 Nokia Corporation Method for securing a communication
US7389419B2 (en) * 2003-12-10 2008-06-17 International Business Machines Corporation Methods for supplying cryptographic algorithm constants to a storage-constrained target
JP2005210193A (ja) * 2004-01-20 2005-08-04 Matsushita Electric Works Ltd 共通秘密鍵生成装置
US7778422B2 (en) * 2004-02-27 2010-08-17 Microsoft Corporation Security associations for devices
US8538560B2 (en) * 2004-04-29 2013-09-17 Rosemount Inc. Wireless power and communication unit for process field devices
EP1596538A1 (en) * 2004-05-10 2005-11-16 Sony Ericsson Mobile Communications AB Method and device for bluetooth pairing
EP1622333A1 (en) * 2004-07-29 2006-02-01 Sun Microsystems France S.A. Method and apparatus for minimally onerous and rapid authentification
US7464267B2 (en) * 2004-11-01 2008-12-09 Innomedia Pte Ltd. System and method for secure transmission of RTP packets
US20060116107A1 (en) * 2004-11-24 2006-06-01 Hulvey Robert W System and method for pairing wireless headsets and headphones
US8428042B1 (en) * 2005-01-10 2013-04-23 Zte (Usa) Inc. Feedback mechanisms for multicast/broadcast service in wireless communication networks
EP1688888A1 (fr) * 2005-02-04 2006-08-09 Sokymat Automotive GmbH Procédé de communication et de contrôle de données d'authentification entre un dispositif portable à transpondeur et une unité de lecture d'un véhicule
US7739513B2 (en) * 2005-02-22 2010-06-15 Sony Corporation Secure device authentication
US7649999B2 (en) * 2005-06-08 2010-01-19 Iris Anshel Method and apparatus for establishing a key agreement protocol
US7788494B2 (en) 2005-06-28 2010-08-31 Intel Corporation Link key injection mechanism for personal area networks
US20070037552A1 (en) * 2005-08-11 2007-02-15 Timothy Lee Method and system for performing two factor mutual authentication
US7861078B2 (en) * 2005-10-14 2010-12-28 Juniper Networks, Inc. Password-authenticated asymmetric key exchange
FR2892876A1 (fr) * 2005-11-02 2007-05-04 Gemplus Sa Procede de depot securise de donnees numeriques, procede associe de recuperation de donnees numeriques, dispositifs associes pour la mise en oeuvre des procedes, et systeme comprenant les dits dispositifs
US7894806B2 (en) * 2005-11-14 2011-02-22 American Teleconferencing Services, Ltd. Systems and methods to direct a mobile communications device to a preferred teleconference bridge
US20070152171A1 (en) * 2005-12-30 2007-07-05 Michael Goldstein Free electron laser
US7900817B2 (en) * 2006-01-26 2011-03-08 Ricoh Company, Ltd. Techniques for introducing devices to device families with paper receipt
US8670564B1 (en) 2006-08-14 2014-03-11 Key Holdings, LLC Data encryption system and method
US7711861B2 (en) 2006-08-30 2010-05-04 Microsoft Corporation Synchronized indicator light for secure connections
US20080065704A1 (en) * 2006-09-12 2008-03-13 Microsoft Corporation Data and replica placement using r-out-of-k hash functions
FI20060936A0 (fi) * 2006-10-24 2006-10-24 Nokia Corp Menetelmä kanavanvaihtojen suorittamiseksi viestintäjärjestelmässä
US8103247B2 (en) 2006-10-31 2012-01-24 Microsoft Corporation Automated secure pairing for wireless devices
GB0622366D0 (en) * 2006-11-09 2006-12-20 Cambridge Silicon Radio Ltd Authenticating devices for RF communications
US8010795B2 (en) * 2006-11-27 2011-08-30 Red Hat, Inc. Secure information transfer using dedicated public key pairs
US8613057B2 (en) * 2006-11-27 2013-12-17 Red Hat, Inc. Identity management facilitating minimum disclosure of user data
WO2008105703A1 (en) * 2007-01-19 2008-09-04 Bjoerhn Anders Pos module
US8543831B2 (en) * 2007-11-14 2013-09-24 Qimonda Ag System and method for establishing data connections between electronic devices
MX2010006744A (es) * 2007-12-19 2010-09-10 Paysert Ab Sistema de recepcion y transmision de datos cifrados.
US8452017B2 (en) * 2007-12-21 2013-05-28 Research In Motion Limited Methods and systems for secure channel initialization transaction security based on a low entropy shared secret
US8200819B2 (en) * 2008-03-14 2012-06-12 Industrial Technology Research Institute Method and apparatuses for network society associating
IES20080215A2 (en) * 2008-03-20 2008-10-15 New Bay Res Ltd Access rights for digital objects
US20090252331A1 (en) * 2008-04-08 2009-10-08 International Business Machines Corporation Method of securing typed conversation using encryption keys in a virtual world
US7522723B1 (en) 2008-05-29 2009-04-21 Cheman Shaik Password self encryption method and system and encryption by keys generated from personal secret information
US8929948B2 (en) 2008-06-17 2015-01-06 Rosemount Inc. Wireless communication adapter for field devices
US8847571B2 (en) 2008-06-17 2014-09-30 Rosemount Inc. RF adapter for field device with variable voltage drop
US8694060B2 (en) 2008-06-17 2014-04-08 Rosemount Inc. Form factor and electromagnetic interference protection for process device wireless adapters
CN101662765B (zh) * 2008-08-29 2013-08-07 深圳富泰宏精密工业有限公司 手机短信保密系统及方法
US9344438B2 (en) * 2008-12-22 2016-05-17 Qualcomm Incorporated Secure node identifier assignment in a distributed hash table for peer-to-peer networks
US20100199095A1 (en) * 2009-01-30 2010-08-05 Texas Instruments Inc. Password-Authenticated Association Based on Public Key Scrambling
US9674976B2 (en) 2009-06-16 2017-06-06 Rosemount Inc. Wireless process communication adapter with improved encapsulation
US8284934B2 (en) * 2009-07-21 2012-10-09 Cellco Partnership Systems and methods for shared secret data generation
CA2697687C (en) * 2010-03-24 2014-02-18 Diversinet Corp. Method and system for secure communication using hash-based message authentication codes
US8639934B2 (en) * 2010-06-10 2014-01-28 Empire Technology Development Llc Radio channel metrics for secure wireless network pairing
US8644515B2 (en) * 2010-08-11 2014-02-04 Texas Instruments Incorporated Display authenticated security association
US10761524B2 (en) 2010-08-12 2020-09-01 Rosemount Inc. Wireless adapter with process diagnostics
US9219604B2 (en) * 2011-05-09 2015-12-22 Cleversafe, Inc. Generating an encrypted message for storage
US9310794B2 (en) 2011-10-27 2016-04-12 Rosemount Inc. Power supply for industrial process field device
JP5981761B2 (ja) * 2012-05-01 2016-08-31 キヤノン株式会社 通信装置、制御方法、プログラム
US9992017B2 (en) 2013-06-28 2018-06-05 Telefonaktiebolaget L M Ericsson (Publ) Encrypting and storing data
CN103731258B (zh) * 2013-12-20 2017-07-28 三星电子(中国)研发中心 生成密钥的方法及设备
WO2015136142A1 (en) 2014-03-12 2015-09-17 Nokia Technologies Oy Pairing of devices
US10212136B1 (en) * 2014-07-07 2019-02-19 Microstrategy Incorporated Workstation log-in
US10412098B2 (en) 2015-12-11 2019-09-10 Amazon Technologies, Inc. Signed envelope encryption
US9705859B2 (en) * 2015-12-11 2017-07-11 Amazon Technologies, Inc. Key exchange through partially trusted third party
US10855664B1 (en) 2016-02-08 2020-12-01 Microstrategy Incorporated Proximity-based logical access
US10231128B1 (en) 2016-02-08 2019-03-12 Microstrategy Incorporated Proximity-based device access
EP3276911B1 (de) * 2016-07-26 2019-12-04 Volkswagen Aktiengesellschaft Authentifizierte verbindung zwischen mindestens zwei kommunikationspartnern
RU2765148C2 (ru) * 2016-11-04 2022-01-26 Конинклейке Филипс Н.В. Достижение соглашения по секретному значению
SG10201609247YA (en) * 2016-11-04 2018-06-28 Huawei Int Pte Ltd System and method for configuring a wireless device for wireless network access
WO2018109906A1 (ja) * 2016-12-15 2018-06-21 日本電気株式会社 メッセージ認証システム、装置及びメッセージ検証方法
US11140157B1 (en) 2017-04-17 2021-10-05 Microstrategy Incorporated Proximity-based access
US10657242B1 (en) 2017-04-17 2020-05-19 Microstrategy Incorporated Proximity-based access
US10771458B1 (en) 2017-04-17 2020-09-08 MicoStrategy Incorporated Proximity-based user authentication
JP6834771B2 (ja) * 2017-05-19 2021-02-24 富士通株式会社 通信装置および通信方法
WO2019093478A1 (ja) * 2017-11-10 2019-05-16 日本電信電話株式会社 鍵交換装置、鍵交換システム、鍵交換方法、及び鍵交換プログラム
US11729612B2 (en) * 2018-03-08 2023-08-15 Cypress Semiconductor Corporation Secure BLE just works pairing method against man-in-the-middle attack
KR20200086800A (ko) * 2019-01-10 2020-07-20 삼성전자주식회사 전자 장치, 전자 장치 제어방법 및 네트워크 시스템
JP7377487B2 (ja) * 2019-07-17 2023-11-10 日本電信電話株式会社 鍵交換システム、通信装置、鍵交換方法及びプログラム
US11375371B1 (en) * 2019-12-31 2022-06-28 Mcafee, Llc Methods, systems, and media for protected near-field communications
CN113228722B (zh) * 2021-03-29 2023-02-10 华为技术有限公司 一种配对方法及装置
US20210319143A1 (en) * 2021-06-25 2021-10-14 Intel Corporation Memory bus link authentication and encryption mechanisms for hardware-based replay protection
KR102664864B1 (ko) * 2022-02-22 2024-05-17 (주)나연테크 Ble 네트워크에서 무결성 침해 중간자 공격에 대한 대응 방법 및 시스템
DE102023122464A1 (de) 2023-08-22 2023-11-30 Patrick Stoll System zum sicheren elektronischen Austausch von Daten über ein öffentliches Netzwerk

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4200770A (en) 1977-09-06 1980-04-29 Stanford University Cryptographic apparatus and method
US4423287A (en) * 1981-06-26 1983-12-27 Visa U.S.A., Inc. End-to-end encryption system and method of operation
US5651069A (en) 1994-12-08 1997-07-22 International Business Machines Corporation Software-efficient message authentication
US5664016A (en) 1995-06-27 1997-09-02 Northern Telecom Limited Method of building fast MACS from hash functions
US7010692B2 (en) * 1996-04-17 2006-03-07 Phoenix Technologies Ltd. Cryptographic methods for remote authentication
US6226383B1 (en) * 1996-04-17 2001-05-01 Integrity Sciences, Inc. Cryptographic methods for remote authentication
US6690289B1 (en) 1997-06-12 2004-02-10 Microsoft Corporation Message formatting, authentication, and error detection in home control systems
US6192474B1 (en) * 1998-07-31 2001-02-20 Lucent Technologies Inc. Method for establishing a key using over-the-air communication and password protocol and password protocol
EP1216562B1 (en) 1999-09-28 2006-03-15 Thomson Licensing System and method for initializing a simple network management protocol (snmp) agent
EP1224766A2 (en) 1999-10-29 2002-07-24 Broadcom Corporation Apparatus and method for secure field upgradability
US7047408B1 (en) * 2000-03-17 2006-05-16 Lucent Technologies Inc. Secure mutual network authentication and key exchange protocol
US7076656B2 (en) 2001-04-05 2006-07-11 Lucent Technologies Inc. Methods and apparatus for providing efficient password-authenticated key exchange
EP1255372B1 (en) 2001-05-03 2008-03-19 Telefonaktiebolaget LM Ericsson (publ) Method and system for data integrity protection
EP1257106B1 (en) * 2001-05-08 2005-03-23 Telefonaktiebolaget LM Ericsson (publ) Secure remote subscription module access
US20030041242A1 (en) 2001-05-11 2003-02-27 Sarver Patel Message authentication system and method
US20040218762A1 (en) * 2003-04-29 2004-11-04 Eric Le Saint Universal secure messaging for cryptographic modules
US7373515B2 (en) 2001-10-09 2008-05-13 Wireless Key Identification Systems, Inc. Multi-factor authentication system
KR100445574B1 (ko) 2001-12-19 2004-08-25 한국전자통신연구원 대화형 영 지식 증명을 이용한 패스워드 기반의 인증 및키 교환 프로토콜 설계 방법
JP4504192B2 (ja) * 2002-09-16 2010-07-14 テレフオンアクチーボラゲット エル エム エリクソン(パブル) 加入モジュールへのセキュアアクセス方法
US7284127B2 (en) * 2002-10-24 2007-10-16 Telefonktiebolaget Lm Ericsson (Publ) Secure communications
US20040093496A1 (en) * 2002-11-04 2004-05-13 Colnot Vincent Cedric Method and apparatus to secure online transactions on the internet

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220028986A (ko) * 2020-09-01 2022-03-08 (주)티엔젠 무인이동체의 보안을 위한 암호키 관리 시스템 및 방법

Also Published As

Publication number Publication date
US7502930B2 (en) 2009-03-10
JP4550736B2 (ja) 2010-09-22
AU2003276090A1 (en) 2004-05-13
ES2279225T3 (es) 2007-08-16
DE60310437D1 (de) 2007-01-25
EP1554834A1 (en) 2005-07-20
US7284127B2 (en) 2007-10-16
EP1554834B1 (en) 2006-12-13
CN1729645A (zh) 2006-02-01
US20070288753A1 (en) 2007-12-13
US20040083368A1 (en) 2004-04-29
DE60310437T2 (de) 2007-09-27
CN100574188C (zh) 2009-12-23
WO2004038998A1 (en) 2004-05-06
JP2006504362A (ja) 2006-02-02
KR101095239B1 (ko) 2011-12-20
ATE348457T1 (de) 2007-01-15

Similar Documents

Publication Publication Date Title
KR101095239B1 (ko) 보안 통신
US8644515B2 (en) Display authenticated security association
JP4938673B2 (ja) ワンタイムパスワード
KR100983050B1 (ko) 네트워크 엔티티들 사이에서 데이터 협정을 인증하기 위한시스템, 방법 및 컴퓨터 프로그램 제품
US10650373B2 (en) Method and apparatus for validating a transaction between a plurality of machines
EP1554835B1 (en) Message authentication code based on error correcting code
CN114008967B (zh) 用于经认证的基于晶格的密钥协商或密钥封装的方法和设备
CN109688098B (zh) 数据的安全通信方法、装置、设备及计算机可读存储介质
US7856556B2 (en) Codeword-enhanced peer-to-peer authentication
Dowling et al. There can be no compromise: The necessity of ratcheted authentication in secure messaging
WO2008059475A1 (en) Secure communication
US8295480B1 (en) Uncertainty-based key agreement protocol
JP6404958B2 (ja) 認証システム、方法及びプログラム並びにサーバ
JP2018117388A (ja) 認証システム、方法及びプログラム、移動機器並びにサーバ
Saliou Enhancement of Bluetooth Security Authentication Using Hash-Based Message Authentication Code (HMAC) Algorithm
JP2006080934A (ja) 暗号鍵設定システム、データ通信装置、暗号鍵設定方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20141124

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20151124

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20161125

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20171129

Year of fee payment: 7