KR20060132026A - 무선 휴대용 장치들의 배치와 규약 - Google Patents

무선 휴대용 장치들의 배치와 규약 Download PDF

Info

Publication number
KR20060132026A
KR20060132026A KR1020067022804A KR20067022804A KR20060132026A KR 20060132026 A KR20060132026 A KR 20060132026A KR 1020067022804 A KR1020067022804 A KR 1020067022804A KR 20067022804 A KR20067022804 A KR 20067022804A KR 20060132026 A KR20060132026 A KR 20060132026A
Authority
KR
South Korea
Prior art keywords
key
public key
user
public
service
Prior art date
Application number
KR1020067022804A
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 KR20060132026A publication Critical patent/KR20060132026A/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/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
    • 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
    • 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
    • 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/3215Cryptographic 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 plurality of 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/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
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • H04W12/041Key generation or derivation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • H04W12/069Authentication using certificates or pre-shared keys
    • 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

하나 이상의 메시지들을 교환하기 위한 제1 시스템과 제2 시스템간 보안유지된 양방향 통신 경로를 확립하기 위해 제1 시스템에 의해 실행되는 방법이 기술된다. 제1 공개키와 제1 개인키를 갖는 제1 키 쌍이 발생되고, 제2 공개키와 제2 개인키를 갖는 제2 키 쌍이 발생된다. 제2 공개키는 제1 시스템 및 제2 시스템에 알려져 있는 공유 시크릿에 기초하여 발생된다. 제2 공개키와 제1 공개키는 제2 시스템에 전송된다. 제2 시스템에 의해 발생된 제3 공개키와 제4 공개키가 수신된다. 여기서, 제4 공개키는 상기 공유 시크릿에 기초하여 발생된다. 마스타 키는 제1 개인키, 제2 개인키, 제3 공개키, 및 제4 공개키에 기초하여 계산된다. 마스타 키는 하나 이상의 메시지들의 암호화에 이용되도록 구성된다.
무선 휴대용 장치, 공개키, 개인키, 보안, 공유 시크릿

Description

무선 휴대용 장치들의 배치와 규약{DEPLOYING AND PROVISIONING WIRELESS HANDHELD DEVICES}
본 출원은, 데이터를 교환하는 2개의 메시징 시스템들 사이에 진성의 보안유지된(authentic and secure) 관계를 확립하기 위한 장치 및 방법에 관한 것이다. 더 구체적으로는, 본 출원은, 패스워드-기반의 인증 방법들을 이용하여 무선 휴대용 장치("모바일 장치")와 메시지 센터 또는 호스트 시스템 사이에 진성 관계를 확립하기 위한 장치 및 방법을 기술한다. 본 명세서에서 기술되는 장치 및 방법은 무선 환경 뿐만 아니라 지상 통신선(land-line) 환경에도 역시 적용가능하다.
컴퓨터 산업에는 몇가지 강력한 패스워드-기반의 암호화 메카니즘이 현재 알려져 있다. 이들 구현 중 몇몇은, 암호화된 키 교환(Encrypted Key Exchange; EKE), 패스워드 유도된 모듈리(Password Derived Moduli; PDM), 및 단순 패스워드-인증된 지수형 키 교환(Simple Password-authenticated Exponential Key Exchange; SPEKE)를 포함한다. 이들 메카니즘들은 그 구현에 있어서 제한되어 있고 모바일 장치의 필요사항을 해결해 주지 못한다. 추가적으로 이들 메카니즘들은, 보안 침해가 발생하더라도 그 이전에 교환된 모든 메시지들은 안전하게 유지되도록 하는 완벽한 순방향 비밀유지(perfect forward secrecy)의 필요성을 해결해 주지 못한 다. 한 프로토콜은, 장기간 키들(long-term keys)이 절충(compromise)되더라도 과거 세션 키들이 절충되지 않는다면 완벽한 순방향 비밀유지를 제공한다(예를 들어, Menezes등의 Handbook of Applied Cryptography, 1996, p.496을 참조). 완벽한 순방향 비밀유지는, 후방-침투 방지(break-backward protection)라고도 알려져 있으며, 이전의 모든 보안유지된 메시지들이 미래에 발생하는 임의의 사태에 대해서도 보안유지된다는 것을 의미한다.
무선 또는 유선 환경에서, 완벽한 순방향 비밀유지를 갖는 패스워드-기반의 통신 시스템이 기술된다. 이 시스템은 완벽한 순방향 비밀유지의 구현을 허용하기 위해 공유된 시크릿을 이용하여, 단기간 인증 키쌍과 조합하여 장기 발생된 키쌍을 이용하는 것을 포함한다. 장기간 키들의 진성 교환을 가능케하기 위해 장기간 공개키에는 인증 인증 공개키가 추가(piggy back)된다. 이것은 공유 시크릿을 소유하는 대응하는 당사자가 장기간 키를 수신하여 사용할 수 있도록 해준다.
한 면에 따르면, 하나 이상의 메시지의 교환을 위한 제1 시스템 및 제2 시스템간 보안유지된 양방향 통신 경로를 확립하기 위해 제1 시스템에 의해 실행되는 방법이 기술된다. 이 방법은, 제1 공개키 및 제1 개인키를 갖는 제1 키쌍을 발생시키는 단계와, 제2 공개키 및 제2 개인키를 갖는 제2 키쌍을 발생시키는 단계를 포함한다. 제2 공개키는 제1 시스템 및 제2 시스템에게 알려져 있는 공유 시크릿에 기초하여 발생된다. 이 방법은 또한 제2 공개키와 제1 공개키를 제2 시스템에 전송하는 단계와, 제2 시스템에 의해 발생된 제3 공개키와 제4 공개키를 수신하는 단계를 포함한다. 여기서, 제4 공개키는 상기 공유 시크릿에 기초하여 발생된다. 이 방법은 또한 제1 개인키, 제2 개인키, 제3 공개키 및 제4 공개키에 기초하여 마스타 키(master key)를 계산하는 단계를 포함한다. 여기서, 마스타 키는 하나 이상의 메시지들의 암호화에 사용되도록 구성된다.
또 다른 면에 따르면, 시스템은 메모리와 상기 메모리에 결합된 처리 유닛을 포함하고, 이 처리 유닛은 상기 언급한 단계들을 실행하도록 구성된다.
또 다른 면에 따르면, 컴퓨터 판독가능한 캐리어는 상기 처리 유닛이 상기 언급한 단계들을 실행하도록 하는 유발하는 처리 명령어들을 포함한다.
도 1은 고정형 시스템과 무선 시스템간의 제1 예시적 통신 시스템의 블럭도이다.
도 2는 2개의 무선 시스템간의 제2 예시적 통신 시스템의 블럭도이다.
도 3은 2개의 고정형 시스템들간의 제3 예시적 통신 시스템의 블럭도이다.
도 4는 사용자가 데이터 교환의 개시자(initiator)인 경우, 도 1의 통신 시스템을 구현하기 위한, 데이터 교환의 예시적 세트에 대한 메시지 교환도이다.
도 5는 서비스 제공자가 데이터 교환의 개시자인 경우, 도 1의 통신 시스템을 구현하기 위한, 데이터 교환의 예시적 세트에 대한 메시지 교환도이다.
도 6은 사용자가 키 교환의 개시자인 경우, 도 4의 단계들을 실행하기 위한 사용자 소프트웨어 내부의 단계들의 데이터 흐름도이다.
도 7은 사용자가 키 교환의 개시자인 경우, 도 4의 단계들을 실행하기 위한 서비스 소프트웨어 내부의 단계들의 데이터 흐름도이다.
도 8은 도 1 및 2에 도시된 환경에서 또 다른 키를 재발생시킬 때 재-키 시퀀스를 위한 서비스 사용자 내부의 단계들의 데이터 흐름도이다.
도 9는 도 1, 2 및 3에 도시된 환경에서 또 다른 키를 재발생시킬 때 재-키 시퀀스를 위한 서비스 제공자 내부에서 필요한 단계들의 데이터 흐름도이다.
도 1을 참조하면, 고정형 및 무선 통신 시스템간의 제1 예시적 통신 시스템의 블럭도가 도시되어 있다. 이 개괄적 도면은 본 발명이 사용되는 네트워크 환경을 도시한다. 이 도면은, 본 발명의 예시적 실시예로서, 무선의 모바일 장치를 포함하는 네트워크 토폴로지에 집중되어 있다. 이 도면에서, 서비스를 제공하는 시스템들(20 및 22)과, 이 서비스를 이용하는 시스템들(30 및 32)이 있다. 서비스 제공 시스템(이후부터, 서비스 제공자라 칭함)과 서비스 사용자 사이에는 하나 이상의 네트워크가 있으며, 이들 시스템들 사이의 데이터 흐름을 가능케하기 위해 하나 이상의 접속이 존재한다.
이제 도 1을 참조하면, 서비스 공여자(20, 22)는 사용자들에게 서비스를 제공하는 많은 컴퓨터들일 수 있다. 당업자에게 잘 알려진 몇몇의 서비스 제공자로서, 인터넷 서비스 제공자(ISP) 내부 또는 애플리케이션 서비스 제공자(ASP) 오피스 내부의 인터넷 상의 컴퓨터를 들 수 있다. 서비스 공여자(20, 22)는, 은행, 증권사, 보험사, 또는 기타의 서비스-지향형 회사와 같은, 개인 또는 공공 회사 내부에서 운영하는 하나 이상의 컴퓨터일 수도 있다. 서비스 공여자(20, 22)는 UDDI 클러스터(Universal Description, Discovery and integration Cluster)를 형성하는 전세계적으로 동작하는 컴퓨터 집단의 일부로서 운영될 수도 있다. 이들 모든 서비스 공여자들(20, 22)의 공통 요소는, 이들 서비스 공여자들(20, 22)은 사용자와의 보안유지된 데이터 채널을 확립할 필요가 있다는 것이다. UDDI의 경우, 개인 서비스 목록을 교환하거나 UDDI가 서비스 제공을 대리하도록 허용하기 위해, 보안유지된 관계가 필요하다.
모바일 장치 및 서비스 호스트들은 다양한 상이한 방식으로 어드레싱될 수 있다. 일부 실시예에서는, 이들은 IP(인터넷 프로토콜) 어드레스로 어드레싱된다. 또 다른 실시예에서는, 호스트 시스템은 전자-메일 어드레스로 어드레싱된다. 역시 또 다른 실시예에서는, 목적지 어드레스는 호스트 시스템 내의 모바일 장치의 사용자의 전자-메일 어드레스이다.
당업자라면, 서비스 사용자(30, 32)는 모바일 하이퍼텍스트 전송 프로토콜(HTTP) 브라우저, 모바일 무선 애플리케이션 프로토콜(WAP) 브라우저, 전용 전송 제어 프로토콜/인터넷 프로토콜(TCP/IP) 기반의 애플리케이션이나 일부의 전용 회사 솔루션일 수도 있다는 것을 이해할 것이다. 이 분야에서, 셀폰 및 PDA와 같은 소형의 무선 모바일 장치들에 대해, 예를 들어, 새로운 Java 2 Micro Edition(J2ME) 솔루션을 포함한 신규한 방법들이 신속하게 개발되고 있다. J2ME를 사용하는 장치의 경우, 서비스 제공자를 통해 소프트웨어를 부착 및 다운로드하는 옵션은 점점 흔한 일이 되고 있다. 유사하게, 서비스 제공자(20, 22)는, HTTP 웹 서버 솔루션, Java Enterprise 솔루션, 무선 마크업 랭귀지(WML) 기반의 서비스 제 공자 또는 특정 목적을 위한 일부 전용 서비스 솔루션에 기초할 수 있다.
본 명세서에서 언급하는 모바일 시스템 및 호스트 시스템은, 각각 하나 이상의 메모리와, 종래에 ASIC 및 FPGA와 같은 특정 목적 처리 유닛 및 범용 처리 유닛이라 알려진 하나 이상의 처리 유닛을 각각 포함한다. 여기서, 처리 유닛들은 본 명세서에서 기술하는 접근법들을 실행하도록 구성된다(예를 들어, 적절한 소프트웨어 및/또는 펌웨어 명령어들로 프로그래밍되거나, 및/또는 전용 하드웨어 회로로 생산된다). 이와 같은 시스템들 각각은, 다른 시스템들과의 통신을 용이하게 하기 위해, 각각의 처리 유닛(들)과 연계하여 동작할 수 있는, 종래에 공지된 유형의, 임의의 적절한 인터페이스(들)을 포함할 수 있다.
통신 경로에서 끝점들은, 데이터, 음성, 비디오, 음악, 사진, 또는 데이터 통신 채널을 통해 교환될 수 있는 기타의 디지털 매체의 교환을 허용하는 하나 이상의 데이터 네트워크를 통해 결합된다. 이 설명에서 포함되는 2개의 주요 네트워크로는, 가장 흔한 것으로서 인터넷과 같은 광역 네트워크(WAN; Wide Area Network, 26)와 무선 네트워크(28)가 있다. 무선 네트워크(28)로는, GSM/GPRS 네트워크, CDMA/1XRTT 네트워크, CDMA2000 네트워크, EDGE 또는 UMTS와 같은 3세대 네트워크 또는 조만간 이용가능하게 될 기타의 많은 무선 네트워크가 해당될 수 있다. 실시예의 시스템에서, 이들 네트워크들은 ISDN, T1, 이더넷(지상 통신선 및 802.11), Frame Relay, ATM, ADSL, 또는 기타의 고속 인터넷 접속과 같은 링크(24)를 이용하여 호스트 서비스(22)에 결합된다. 더 많은 양의 데이터가 교환됨에 따라, 보안이 개선될 필요가 있고 해커나 도청자를 더욱 강력히 방어할 필요가 있다. 본 발명은 진보된 패스워드-기반의 인증을 제공하기 위해 이들 기존의 데이터 통신 경로들과 함께 동작한다. 이러한 보안 수준은, 임의의 통신 데이터의 수령인이 의도한 실체와 정확히 동일하다는 신뢰성을 더 크게 해준다. 데이터 통신 경로(36)에 대한 한 실시예가, 호스트 시스템 서비스 공여자(22)와 모바일 장치(32) 상의 그 서비스 사용자 사이에 도시되어 있다. 데이터 통신 경로(40)에 대한 또 다른 실시예는 UDDI 서비스 공여자(20)와, 모바일 장치(30) 상의 그 서비스 사용자 사이에 도시되어 있다.
한 실시예에서, 호스트 시스템 서비스 공여자(22)는, 모바일 장치(32)의 사용자와 대역외 통신(34)(즉, 임의의 적절한 보안유지된 채널을 통한 통신)을 한다. 이 대역외 통신 경로(34)는, 공유 시크릿을 교환하고 보안유지되어야 하는 비보안 경로를 피하기 위해 사용된다. UDDI 서비스 클라우드(cloud)는 소정 레벨의 보안을 제공하기 때문에, 서비스를 찾아내고 최종 목적지 서비스와 대역외 공유 시크릿을 수신하기 위해 UDDI 서비스 클라우드를 이용할 수 있다. 이하는 대역외 통신 경로(34 및 38)의 몇가지 예를 열거하고 있다.
(a) 모바일 장치 사용자(30 또는 32)와 호스트 시스템(20 또는 22)측의 오퍼레이터가 공유 시크릿을 교환하기 위해 서로 전화 호출을 확립한다. 그 다음, 그 시크릿이 각각의 시스템에 입력되어 암호화 키 생성 프로세스에 이용된다.
(b) 모바일 장치 사용자(30 또는 32)는 무선으로 또는 유선 네트워크로 보안유지된 웹 싸이트(20 또는 22)에 접속하여 키를 요청한다. 이 키가 수신되고 수동으로 모바일 장치(30 또는 32)에 입력된다. 호스트 시스템(20 또는 22)은 웹 서버 로부터 키를 자동으로 수신할 수 있다. 일부 실시예들에서는, 공유 시크릿이 요청된 이후에 레코드(record)가 자동으로 발생된다.
(c) 모바일 장치(30 또는 32)의 사용자는 서비스를 요청하고, 보안 영역인 것으로 알려진 그들의 회사 메일박스에, 호스트 시스템(20 또는 22)에 의해 공유 시크릿이 전자-메일로 보내진다. 사용자는 그들의 전자 메일박스로부터 공유 시크릿을 검색하여 이를 수동으로 모바일 장치(30 또는 32)에 입력한다.
(d) 모바일 장치(30 또는 32)의 사용자는 서비스를 요청하고, 서비스측(20 또는 22)의 오퍼레이터는 공유 시크릿을 발생시키며, 누가 신뢰성있고 보안유지된 사람인지에 관한 정보가 지정된 사람에게 주어진다. 이 사람은 주어진 그룹의 관리자 또는 비서일 수 있다; 이상적으로는, 요청하고 있는 사용자의 신원을 확인할 수 있는 사람일 것이다. 그 다음, 이 신뢰성있는 사람은 공유 시크릿을 모바일 장치(30 또는 32)의 최종 사용자에게 주고, 이 공유 시크릿은 수동으로 모바일 장치(30 또는 32)에 입력된다.
이 짧은 목록은, 모바일 장치 사용자에게 공유 시크릿을 인증하여 부여하기 위한 많은 방법이 있음을 보여주고 있다. 이들 예시적 대역외 통신(34 및 38)의 공통된 속성은, 소정의 인증 수준이 구축되거나 선택시에 가정된다는 것이다. 이 인증된 통신 경로는 비인증 데이터 통신 경로와는 상이하다.
일단 공유 시크릿이 교환되고 나면, 보안유지된 통신 경로(36, 40)의 생성에서의 다음 단계가 발생한다. 보안유지된 인증된 링크를 생성하기 위한 더 나은 공지된 방법들 중 하나는 SPEKE와 같은 강력한 패스워드-기반의 암호화 방법을 이용 하는 것이다. SPEKE는 기억하기 쉬운 패스워드, 즉 공유 시크릿을 레버리지(leverage)하고 방지하는 지식-기반의 암호화 방법이다. SPEKE는 공지된 강력한 패스워드 방법들 중 가장 간단하다. 이것은 패스워드-인증된 Diffie-Hellman 교환으로서, 패스워드는 교환의 베이스 또는 "발생기"를 형성한다(표준 Diffie-Hellman에서, 베이스는 대개 고정된 공개 숫자이다). 일단 WAN(26)과 무선 네트워크(26)를 통한 통신 경로가 보안유지되고 나면, 재-키 시퀀스(Re-key sequence)가 개시될 수 있다. 이 재-키 시퀀스는 사전설정된 갯수의 주(week) 또는 월(month)이 경과한 후에 새로운 세트의 키 발생을 허용한다. 이 재-키 시퀀스 동안에, 장기간 암호화 키들의 진보된 사용은 완벽한 순방향 비밀유지의 구현을 허용한다. 일단 인증 시크릿(공유 시크릿)이 보안유지된 경로의 생성에 이용되고 나면, 나중에 새로운 키의 생성에 재이용될 수 있다. 본 발명을 이용함으로써, 재-키 동작은 이전 키들과 절충되지 않으며, 모든 이전의 대화는 미래를 향해 비밀로 유지된다.
이제 도 2를 참조하면, 본 발명의 구현에 따라, 2개의 무선 시스템들간의 예시적 통신 시스템들의 블럭도가 도시되어 있다. 이 실시예에서, 2개의 모바일 장치들 사이에는 보안유지된 경로(52)가 생성될 수 있다. 이 실시예에서, 모바일 장치 1(46)과 모바일 장치 2(48)는 시크릿을 교환하며 공유된 시크릿을 이용하여 공통 키를 확립할 수 있다. 대역외 대화(50)는 양측 당사자간 전화 호출이나, 직접적인 면전 미팅, 또는 이미 개요한 다른 방법들이나 다른 적절한 방법을 이용하여 발생할 수 있다. 일단 시크릿이 공유되면, 이것은 모바일 장치(46 및 48)에 수동으로 입력되고, 하나의 스테이션은 공통의 마스타 보안 키를 생성하기 위해 메시지 의 교환을 개시할 수 있다. 이러한 실시예 타입은 사설 점-대-점 전자메일 대화에 흔히 사용될 수 있다. 이것은 점-대-점 보안유지된 인스탄트 메시징 데이터 교환에도 역시 사용될 수 있다. 진보된 사용에서, 서비스를 제공하는 모바일 장치 1(46)은 모바일 장치 1(46) 상에서 웹 서버를 운영할 수 있으며, 역시 이동성의 보안유지된 형태의 서비스를 제공할 수 있다.
도 3을 참조하면, 본 발명의 실시예에 따른 2개의 고정형 시스템들간의 예시적 통신 시스템의 블럭도가 도시되어 있다. 이 실시예에서 통신은 2개의 호스트 시스템(60 및 62) 사이에서 발생한다. 이 예에서 서비스 공여자(60) 및 서비스 소비자(62)는 대역외 대화(66)를 가지며 시크릿 키를 교환한다. 앞서 기술된 바와 같이, 이 대역외 통신은, 전화 호출, 키를 발생하고 검색하기 위해 보안 SSL 접속을 갖는 브라우저를 통한 통신, 또는 앞서 제공된 바와 같은 기타의 적절한 통신일 수 있다. 일단 시크릿이 교환되면, SPEKE와 같은 강력한 패스워드-기반의 키 발생 방법을 이용하여 암호화 키가 발생될 수 있다. 이 예에서 키를 교환하기 위한 통신 경로는, 인터넷(26)과 같은 WAN 네트워크를 통해서이거나, 또는 내부 인트라넷(64)을 통해서이거나, 또는 802.11이나 Bluetooth 링크와 같은 기타의 적절한 통신 경로를 통해서일 수 있다. 이들 후자의 예들에서, 서비스 소비자(62)는 랩탑이나 팜탑을 실행하고 이미 인트라넷에 제한적으로 액세스할 수도 있지만, 더 큰 보안이 요구된다. 당업자라면, 802.11b는 회사내 가장 큰 컴퓨터 부서가 요청하는 강건한 보안 요건이 결여되어 있다는 사실을 이미 알고 있을 것이다. 이 실시예는, 패스워드-기반의 인증 메카니즘을 이용할 때 완벽한 순방향 비밀유지의 옵션을 제공하기 위해 본 발명이 사용될 수 있다는 사실을 보여주고 있다. 일단 마스타 키를 생성하기 위해 적절한 메시지들이 교환되고 나면, 높은 보안유지와 더불어 모든 형태의 데이터를 비밀스럽게 교환하기 위해 데이터 통신 경로(68)가 이용될 수 있다.
도 4를 참조하면, 사용자가 데이터 교환의 개시자인 경우, 마스타 키를 발생하고 검증하기 위한 예시적 세트의 데이터 교환들을 도시하는 메시지 교환도가 도시되어 있다. 이 예는 서비스 소비자(100)(사용자)와 서비스 제공자(102) 간의 예시적 단계들 및 메시지 교환을 보여주고 있다. 이 예에서, 접속의 한 끝은 서비스 소비자 또는 사용자(100)으로 간주되고, 꼬리표 A가 부여되어 있다. 접속의 다른 끝은 서비스 제공자(서비스 공여자라고 언급됨) 또는 호스트 시스템(102)으로 간주되고, 꼬리표 B가 부여되어 있다. 이 예에서, 사용자(100)는 보안 접속을 생성하기 위해 데이터의 교환을 개시한다. 시스템 A 및 시스템 B 사이에는 도 1에 도시된 바와 같은 하나 이상의 데이터 통신 네트워크가 있다. 도 1, 2, 및 3에 도시된 바와 유사하게, 사용자는 모바일 장치(30, 32, 또는 48)이거나, 호스트 시스템(62)일 수 있다. 마찬가지로, 서비스 제공자는 모바일 장치(46)이거나 호스트 시스템(20, 22, 60)일 수 있다.
단계 104에 도시된 바와 같이, 사용자(100)는 대역외 통신을 위해 이미 기술된 방법들 중 하나를 통해, 또는 공유 시크릿을 교환하기 위한 기타의 적절한 방법을 통해 알려진 서비스 제공자(102)와 접촉한다. 이 서비스 제공자(102)는 이 교환을 용이하게 하기를 원하며, 시크릿 패스워드, 또는 기억하기 쉬운 패스워드 문 자열을 발행한다(단계 106). 이 메카니즘을 통해, 공유 시크릿이 발생되며 양 당자사 사이에서 교환된다. 대안으로서, 서비스 제공자(102)는 사용자(100)로부터 시크릿 패스워드(공유 시크릿)를 수신할 수 있다. 어느 경우던, 서비스 제공자는 이 사용자에 관련하여 공유 시크릿을 저장한다.
공유 시크릿의 교환 이후에, 사용자(100)는 (이 예에서) 키쌍을 발생하는 단계(단계 108) 및 키 정보를 서비스 제공자에게 전송하는 단계(단계 110)를 개시한다. 특히, 사용자(100)는 단계 108에서 장기간 암호화 키쌍, 즉, 암호화 키의 공개 부분 및 개인 부분을 발생한다. 단계 108에서 사용자(100)에 의해 단기간 인증 키 쌍도 역시 발생된다. 이 단기간 키 쌍은 이 예에서 인증 키 쌍이라도 불리는데, 이는 이하에서 더 논의되는 바와 같이 공유 시크릿을 이용하여 발생되기 때문이다.
일단 사용자의 단기간 및 장기간 키 쌍들이 발생되고 나면, 그 공개키들이 단계 110에서 서비스 제공자(102)에게 전송되어, 최종 마스타 키(마스타 시크릿이라고도 언급됨)를 더 발생한다. 이 전송은 비보안 링크를 통해 발생할 수 있는데, 이는 그 공유 시크릿을 발행한 호스트 시스템(102)만이 마스타 키를 발생하기 위해 그 단기간 인증키를 이해하고 사용할 수 있기 때문이다. 일단, 사용자의 공개키들이 서비스 제공자에 의해 수신되면(단계 112), 사용자는 검증받고, 그 사용자에 대한 공유 시크릿이 리콜된다(단계 112). 일단 사용자가 검증받고 그 사용자에 대한 공유 시크릿이 리콜되고 나면, 서비스 제공자(102)는 그 공유 시크릿을 이용하여 그 자신의 단기간 인증 키쌍을 발생하기 위해 진행한다(단계 114). 서비스 제공 자(102)는 또한 그 자신의 장기간 암호화 키 쌍을 발생한다(단계 114). 사용자(100)에 의해 발생된 공개키들을 이용하여, 그리고 공유 시크릿을 이용하여, 서비스 제공자(102)는 단계 116에 도시된 마스타 암호화 키(또는 마스타 시크릿)를 발생한다. 공유 시크릿은 교환된 정보를 신뢰하는데 필요한 인증을 제공한다. 서비스 제공자의 단기간 공개 인증 키, 서비스 제공자의 장기간 공개 암호화 키, 및 새로이 발생된 마스타 암호화 키 및 일부 알려진 문자열을 이용하여 서비스 제공자에 의해 계산된 키 확인값이 사용자에게 전송된다(단계 116).
사용자는, 서비스 제공자의 단기간 및 장기간 공개키들을 포함하여 서비스 제공자(102)로부터 전송된 정보를 수신하고(단계 118), 사용자 자신의 마스타 키를 발생한다(단계 120). 이 마스타 키와 더불어, 사용자는 키 확인 값을 검증한다(단계 120). 이 예에서, 키 확인 값은, 마스타 키와 서비스의 명칭, 또는 사용자 및 서비스 제공자가 협의한 일부 알려진 문자열의 해시(hash)일 수 있다. 만일 사용자(100)에 의해 발생된 마스타 암호화 키가 유효한 것으로 보이면, 사용자는 최종 키 확인값을 서비스 제공자에게 되보낸다(단계 122). 이 서비스 제공자는 이 메시지를 수신하여, 키 확인값을 검증하고, 사용자가 진행할 준비가 된 것으로 마크한다(단계 124). 이것은 전체 데이터 교환이 서비스 제공자의 관점으로부터 발생하는 것을 허용한다(단계 128). 사용자측에서, 일단 검증 메시지가 전송되면, 전송에서 약간의 일시적 멈춤이 있지만, 그 다음 전체 데이터 교환이 시작될 수 있다(단계 126).
전송은 전자-메일 메시지, 또는 XML(extensible markup language) 및 WML(wireless markup language)과 같은 HTTP(하이퍼텍스트 전송 프로토콜)-기반의 트래픽, 또는 기타의 유형의 트래픽을 포함할 수 있다.
일부 실시예들에서, 호스트 시스템은, 최종 확인값이 모바일 장치로부터 전송되기 이전에, 모바일 장치에 전송되는 메시지에 데이터 페이로드를 보낼 수 있다. 이 메시지 내의 페이로드는 호스트 시스템에서 호스트 서비스를 정의하는 서비스 북 엔트리(service book entry)일 수 있다. 일부 실시예들에서, 이 서비스 북 엔트리는, 액세스되고 있는 호스트 시스템측의 호스트 서비스의 속성을 정의하는 UDDI 서비스 엔트리일 수 있다.
본 명세서에서 기술되는 제1 측(예를 들어, 사용자)에 의해 발생된 장기간 암호화 키 쌍은, 예를 들어, 더욱 일반적으로는 제1 키 쌍이며, 여기서, 그 공개키 부분과 개인키 부분은 제1 공개키 및 제1 개인키라고 불릴 수 있다. 유사하게, 본 명세서에서 기술되는 제1 측(예를 들어, 사용자)에 의해 발생되는 단기간 인증 키 쌍(단기간 암호화 키 쌍이라고도 불림)은, 예를 들어, 더 일반적으로는 제2 키 쌍이며, 그 공개키 부분과 개인키 부분은 제2 공개키 및 제2 개인키라 불릴 수 있다. 또한, 본 명세서에서 기술하는 제2 측(예를 들어, 서비스 제공자)에 의해 장기간 암호화 키 쌍은, 예를 들어, 더 일반적으로는 제3 키 쌍이며, 여기서 그 공개키 부분과 개인키 부분은 제3 공개키 및 제3 개인키라 불릴 수 있다. 유사하게, 유사하게, 본 명세서에서 기술되는 제2 측(예를 들어, 서비스 제공자)에 의해 발생되는 단기간 인증(또는 암호화) 키 쌍은, 예를 들어, 더 일반적으로는 제4 키 쌍이며, 그 공개키 부분과 개인키 부분은 제4 공개키 및 제4 개인키라 불릴 수 있다. 제1 및 제2 키 쌍들을 발생하는 제1 측은, 상기 예에서 기술한 바와 같은 사용자이거나, 이하의 예에서 기술하는 바와 같은 서비스 제공자일 수 있다.
도 5를 참조하면, 서비스 제공자가 데이터 교환의 개시자인 경우, 마스타 키를 발생하고 검증하기 위한 데이터 교환들의 예시적 세트를 도시하는 메시지 교환도가 도시되어 있다. 도 5의 단계들은 실질적으로 도 4의 단계들에 대응하지만, 서비스 제공자가 그 첫 단계를 취한다는 점이 다르다. 이 예는 사용자 또는 서비스 제공자 중 어느 한편이 데이터 교환의 개시자가 될 수 있다는 점을 강조한다. 이 예에서, 접속의 한 끝은 사용자(100)로 간주되고, 시스템 A-서비스 소비자라고 꼬리표가 붙어 있다. 접속의 다른 끝은 서비스 공여자(102)로 간주되고, 시스템 B-서비스 제공자라고 꼬리표가 붙어 있다. 시스템 A(100)와 시스템 B(102) 사이에는, 도 1, 2, 및 3에 도시된 바와 같은 하나 이상의 데이터 통신 네트워크(26, 28, 64)를 통한 메시지 교환이 있다. 도 1, 2, 및 3에 도시된 바와 유사하게, 사용자는 모바일 장치(30, 32, 48) 또는 호스트 시스템(20, 22, 46, 60)일 수 있다.
단계들 200/202에 도시된 바와 같이, 서비스 제공자(102)는 공유 시크릿을 교환하기 위해 (이 예에서는) 사용자(100)에게 접촉한다. 대안으로서, 사용자가 이 통신을 먼저 시작할 수 있다. 호스트 회사(102) 내의 관리자가 사용자(100)에게 접촉하여, 그 사용자가 공유 시크릿을 제공받고 소정의 동자을 수행해야만 한다는 사실을 사용자(100)에게 통보하는 것도 고려될 수 있다. 이미 제공받은 광범위한 목록의 대역외 통신들로부터 선택된 임의의 적절한 방법, 또는 기타의 적절한 방법을 이용하여, 공유 시크릿이 발생되고 교환된다(단계 200 및 202). 사용자 컴 포넌트는, 암호화 키 발생을 보조하기 위해 그 공유 시크릿을 수신하여 저장한다. 대안으로서, 서비스 제공자(102)는 사용자(100)로부터 시크릿 패스워드(공유 시크릿)를 수신할 수 있다. 어느 경우던, 서비스 제공자는 이 사용자와 관련된 공유 시크릿을 저장한다.
공유 시크릿의 교환 후에, 서비스 제공자(102)는 키 쌍들을 발생하는 단계(단계 204)와 키 정보를 사용자(100)에게 전송하는 단계를 개시할 수 있다(단계 206). 특히, 서비스 제공자(102)는 단기간 인증 키 쌍과 장기간 인증 키 쌍을 발생한다(단계 204). 이것은 도 4에서 단계 108에 대응한다.
일단 서비스 제공자의 단기간 및 장기간 키 쌍들이 발생되고 나면, 그 공개키들이 사용자에게 전송되어(단계 206), 최종 마스타 키(마스타 시크릿이라고도 언급됨)를 더 발생한다. 이 전송은 비보안 링크를 통해 발생할 수 있는데, 이는 그 공유 시크릿의 소유자만이 마스타 키를 발생하기 위해 그 단기간 인증키를 이해하고 사용할 수 있기 때문이다. 서비스 제공자의 공개키들은 사용자에 의해 수신되고, 메모리를 검사하여 서비스 생성이 예측되는지 및 메모리에 저장된 공유 시크릿을 갖고 있는지를 검증한다(단계 208). 사용자는 서비스 제공자(102)에 대한 공유 시크릿을 리콜하고, 그 공유 시크릿을 이용하여 단기간 인증키 쌍을 발생한다(단계 210). 사용자는 또한 장기간 암호화 키 쌍을 발생한다(단계 210). 서비스 제공자(102)에 의해 발생되어 전송된 공개키들을 이용하여, 그리고 공유 시크릿을 이용하여, 사용자(100)는 단계 212에 도시된 바와 같이 마스타 암호화 키(또는 마스타 시크릿)를 발생한다. 마스타 키를 발생한 이후에, 사용자(100)는 알려진 문자열 (즉, 그 자신과 서비스 공여자에게 알려진 문자열)과 마스타 키를 결합함으로써 키 확인 값을 발생한다(단계 212). 사용자의 단기간 공개 인증 키, 장기간 공개 암호화 키, 및 키 확인 값이 서비스 제공자에게 전송된다(단계 212).
서비스 제공자는 사용자의 공개키들 및 키 확인값을 수신하여 그 정보의 전송자(sender)를 검증하고(단계 214), 이 사용자에 대한 공유 시크릿을 리콜한다. 수신된 사용자의 공개키 값들과 더불어, 서비스 제공자는 이 사용자에 대한 그 자신의 저장된 개인 키 값들을 리콜한다(단계 214). 상기 수신된 사용자의 공개키들과 서비스 제공자의 저장된 개인키들을 이용하여, 서비스 제공자는 마스타 키를 발생할 수 있다(단계 216). 마스타 키를 발생한 후에, 서비스 제공자(102)는 알려진 문자열과 새로이 생성된 마스타 키를 이용하여 그 자신의 키 확인 값을 계산하고, 이를 수신된 키 확인 값과 대조함으로써 키 확인 값을 검증한다(단계 216). 만일 키 확인 값이 검증되지 않으면, 생성된 마스타 키는 신뢰받지 못하며, 누군가가 접속과 절충을 시도하고 있다고 간주된다. 키 확인 값이 검증되면, 마스타 암호화 키는 유효한 것으로 간주되고, 서비스 제공자(102)는 최종 키 확인 값을 사용자에게 되전송한다(단계 218). 사용자는 이 메시지를 수신하고(단계 220), 키 확인 값을 검증하고, 서비스 제공자가 진행할 준비가 된 것으로 마크한다(단계 220). 이것은 전체 데이터 교환이 사용자의 관점으로부터 발생하는 것을 허용한다(단계 222). 서비스 공여자 측에서, 일단 검증 메시지가 전송되고 나면, 전송에서 약간의 일시적 멈춤이 있지만, 그 다음 전체 데이터 교환이 시작될 수 있다(단계 224). 대부분의 경우, 첫번째 데이터 교환을 개시하는 측은 사용자이므로, 사용자에게 그 확인이 전송되도록 하는 것이 유익하다.
전송은 전자-메일 메시지, 또는 XML(extensible markup language) 및 WML(wireless markup language)과 같은 HTTP(하이퍼텍스트 전송 프로토콜)-기반의 트래픽, 또는 기타의 유형의 트래픽을 포함할 수 있다.
도 6은 사용자가 키 교환의 개시자인 경우, 도 4에 도시된 예시적 접근법을 실행하기 위해 사용자에 의해 실행되는 (예를 들어, 사용자 소프트웨어 내부의) 예시적 단계들의 데이터 흐름도이다. 사용자가 새로운 서비스를 발견하고 이에 액세스하기를 원할 때 첫 단계가 발생한다(단계 300). 이것은 UDDI-유형의 서비스를 경유해, 회사 인트라넷 서비스를 통해, 월드-와이드 웹 브라우즈를 통해, 친구와의 대화를 통해, 또는 전화 호출을 통해 발생할 수 있다. 일단 서비스와 사용자가 접속되면, 이들은 이들 둘만이 아는 공유 시크릿 's'를 교환한다(단계 302). 이 교환을 위한 예시적 방법들이 이미 상세히 기술되었다. 이 공유 시크릿 's'는, 서로간에 사용자와 서비스를 인증하기 위해, PIN(Personal Identification Number)처럼 나중에 이용될 수 있다. 사용자가 서비스에 대해 액세스가 준비되면, 사용자(예를 들어, 소프트웨어)는 요청된 서비스에 대한 장기간 키 쌍을 발생한다(단계 304). 이 장기간 키 쌍은 향후의 재-키 동작을 위해 이용되는 키 값들 중 하나이다. 이 응용의 나머지 부분에서의 모든 수학적 계산들에 대해, 트랜잭션에 연루된 모든 당사자들이 그룹(G), 크기 정도(G), 및 G의 요소(g)에 관해, q = order(g)가 큰 솟수(prime number)가 되도록 앞서 협의했다고 가정한다. G와 g는 공개적으로 알려질 수 있다. 즉, 이들은 비밀로 유지될 필요가 없다. 키 값들을 생성하기 위한 예시적인 수학적 계산들은 다음과 같다(SPEKE를 이용). 그리고, 이하의 예시적 계산들은 곱셈 그룹(multiplicative group)을 이용하며, 덧셈 그룹을 이용하여 적절한 계산들이 실행될 수 있다는 것은 명백하다.
(예를 들어, 사용자에 의한) 장기간 키 쌍의 선택
난수 a의 선택, 1 < a < q-1;
A=gn을 계산;
만일 A =1 이면, A <> 1 일 때까지 상이한 a를 계속 선택.
값 'A'는 사용자의 장기간 공개키(또는 더 일반적으로는, 제1 공개키)이고, 값 'a'는 사용자의 장기간 개인키(또는 더 일반적으로는, 제1 개인키)이다.
선택된 수 'a'는 1보다 크고 솟수 q-1보다는 작다. 일단 개인키(즉 'a')가 선택되고 공개키(즉, 'A')가 발생되고 나면, 개인키 'a'가 안전하게 저장된다. 그리고, 공개키 'A'가 결국 서비스 제공자에게 전송된다.
단기간 인증 키 쌍이 공유 시크릿 's'에 기초하여 사용자에 의해 발생된다(단계 306). SPEKE 키 발생을 따르는 유사한 계산을 이용하여, (예를 들어, q 및 'a'(여기서는 x에 적용됨)에 대해 동일한 가정을 사용하여) 이 단계에 대한 예시적 수학적 계산들은 아래와 같다:
난수 x를 선택, 1 < x < q-1;
X = sx를 계산;
만일 X=1이면, X <> 1일 때까지 새로운 x를 계속 선택.
값 'X'는 사용자의 단기간 공개키(또는 더 일반적으로는, 제2 공개키)이고, 값 'x'는 사용자의 단기간 개인키(또는 더 일반적으로는, 제2 개인키)이다. 값 's'는 공유 시크릿이다.
'x'의 선택은 1과 솟수 q-1 사이에 있다. 그 다음, 사용자 소프트웨어는 공개키 값들 'A'와 'X'를 단계 308에 도시된 바와 같이 서비스 공여자(서비스 제공자)에게 전송한다. 이 단계는 (A)로 진행하여, 서비스 공여자가 그 값들을 수신하고 도 7에 도시된 바와 같이 추가의 계산들을 수행한다. 일단 서비스 공여자가 이들 계산을 완료하면, 도 7과 연계하여 이하에서 논의되는 바와 같이, 그 자신의 공개키 값들 'B'와 'Y'로 된 유사한 쌍을 그 확인값과 함께, 검증을 위해 사용자에게 전송한다(단계 312). 이것이 도 7로부터 나오는 도 6에서의 입력(B)로서 도시되어 있다. 이 시점에서, 사용자는, 예를 들어 진보된 SPEKE 계산을 이용하여, 마스타 키를 생성하기 위해 'B'와 'Y'를 사용할 수 있다. 마스타 키를 발생하기 위해 'B'와 'Y' 양자 모두를 이용함으로써, 암호화 방법은 완벽한 순방향 비밀유지의 구현을 허용한다. 이것이, 나중에 도시되는 재-키 시퀀스에서 더 명료하게 보여진다. 예시적인 마스타 키 계산은 아래와 같다:
(예를 들어, 사용자에 의한) 마스타 키 계산
k1 = Yx;
k2 = Ba;
k1, k2 != 0, 1 또는 order(G)-1 인지를 검사;
k = 해시(k1 || k2), 여기서, ||는 연결 함수이다.
여기서, 'x'는 사용자의 단기간 개인 인증키(또는 더 일반적으로는, 제2 개인키)이고, 'Y'는 서비스 공여자의 수신된 단기간 공개 인증 키(또는 더 일반적으로는 제4 공개키)이다. 또한, 'a'는 사용자의 장기간 개인 암호화 키(또는, 더 일반적으로는 제1 개인키)이고, 'B'는 서비스 공여자의 수신된 장기간 공개 암호화 키(또는, 더 일반적으로는 제3 공개키)이다.
값 'k'는 사용자와 서비스 사이의 데이터를 암호화하는데 사용될 수 있는 마스타 키를 나타낸다. 값 'k'는 중간 키들 (단기간 인증 키들에 기초한) 'k1'과 (장기간 암호화 키들에 기초한) 'k2'의 조합이다. 단계 314에서 k1 및 k2의 중간 키 값들에 관해 중요한 검사가 이루어져, 이들 두 값들이 0, 1, 또는 order(G)-1이 아닌지를 검증한다; 그렇지 않은 경우, 보안 공격이 이루어지고 있다는 것을 의미한다(단계 314). 이 공격은, 만일 키가 총 가능한 키들 중 작은 서브셋 내의 키들로 강제되는 경우에 생길 것이다. 만일 공격자가 X = 0 또는 Y = 0을 전송하면, 통신 당사자들은 결과 키 값 0을 얻을 수 있다. 이러한 신속한 검사는 공격이 계획되고(stage) 있지 않음을 보장할 것이다. 그러나, k1 또는 k2의 값이 이들 작은 서브셋 그룹들 중 하나에 해당된다면, 키에 대한 협상은 중단될 수 있다(단계 316).
만일 서브셋 공격이 검출되지 않으면, 서비스 공여자에 의해 전송된 키 확인 값을 테스트하기 위해 마스타 키 'k'가 사용자에 의해 사용될 수 있다(단계 318). 키 확인 값을 발생하기 위한 한 방법은 공개키 'A' 내의 바이트들과 같은 알려진 문자열로 키를 해싱하는 것이다. 키 확인 값을 테스트하기 위한 예시적 계산은 아래와 같다:
키 확인 값 테스트
"수신된 hA' = hA = 해시(k || 공개키 'A'의 바이트들), 여기서 "수신된 hA"는 서비스 공여자로부터 나온 것이고, 'k'는 로컬 마스타 키이다.
만일, 'A'에 대해 소프트웨어에 의해 발생된 키 확인 값이 수신된 키 확인 값과 정합하지 않는다면(단계 320), 이것은 올바르지 않은 것이다(단계 322). 올바르지 않은 키 확인 값은, 누군가 공격 도중이거나, 모종의 공격이 시도되고 있는 중이라는 것을 의미할 수 있다. 이 경우에 동작은 중지될 것이다(단계 322). 만일 2개의 키 확인 값이 정합한다면, 완전히 보안유지된 링크가 확립되었다고 가정된다(단계 324). 새로이 발생된 검증키를 이용하여, 사용자는 이 값을 서비스측에 되전송한다(단계 326). 이것은 꼬리표 C를 따르는 도6으로 되돌아간다. 잠깐의 멈춤 이후에, 즉 서비스 공여자에 의해 확인이 수신될 것을 보장하기 위해, 사용자 는 데이터 교환을 개시할 수 있다(단계 328).
AES(Advanced Encryption Standard)(연방 정보 처리 표준 간행물 197, 2001년 11월 26일, 국립 표준 및 기술 연구소)와 같은 대칭-키 암호화/암호해독 방법과같은, 마스타 키를 이용하여 메시지를 암호화 및 암호해독하기 위해, 임의의 적절한 암호화 및 암호해독 방법들이 사용될 수 있다.
도 7은, 사용자가 도 4에 도시된 키 교환의 개시자인 경우, 도 4에 도시된 예시적 접근법들을 실행하기 위해 서비스 공여자(예를 들어, 서비스 제공자 소프트웨어)에 의해 실행되는 예시적 단계들의 데이터 흐름도이다. 이 프로세스는 사용자가 공유 시크릿을 교환하기 위해 서비스 제공자와 '대역외' 접촉할 때 개시된다(단계 398). 이것은 사용자 장치 상에서 도 6의 단계 302에 대응한다. 이 대역외 교환은 수차례 논의되었으며, 사용자와 서비스가 정말로 진정한 당사자인지를 인증하는 수준을 제공한다. 일단 이 교환이 완료되면, 사용자는 그 프로세스의 개시를 위해 서비스와 접촉하는데 있어서 적절한 임의의 시점에서 자유롭게 된다. 일단 사용자가 호스트 서비스와 접촉하게 되면, 도 6의 사용자 흐름도로부터 도달하는 메시지 (A)로 도시된 바와 같이, 새로운 사용자가 검증받는다(단계 400). 서비스 제공자는, 임의의 시간에 자신들의 서비스의 이용을 시작하길 원하는 수십 또는 수백의 사용자들을 가질 수 있기 때문에, 서비스 제공자는, 사용자가 서비스를 개시하기를 원한다고 결정할 때까지 수동적이다. 공유 시크릿이 교환되었더라도, 이것은 거의 의미가 없거나, 사용자가 수일동안 접속하지 못하면 그 기간 후에 오래된 공유 시크릿들이 말소될 수도 있다. 메시지의 도착은, 서비스 제공자가 새로운 사 용자를 발견하고 공유 시크릿의 존재를 검증하는 것을 허용한다(단계 400). 이 메시지에는 사용자의 공개 단기간 인증 키가 있다. 이 키는 공유 시크릿에 기초한다(단계 400). 메시지는 또한 사용자의 장기간 암호화 키를 포함하며(단계 400), 이것은 재-키 동작들이 발생할 때 완벽한 순방향 비밀유지를 구현하기 위해 이용될 수 있다(도 7, 도 8).
서비스 공여자는, 이 사용자에 대해 장기간 암호화 키 쌍을, 그 사용자에 의해 생성된 장기간 암호화 키쌍과 유사한 방식으로 발생시킨다(단계 402). (예를 들어, SPEKE 방법을 이용하여) 서비스 공여자의 장기간 암호화 키 쌍을 생성하기 위한 예시적 수학적 계산들은 아래와 같다:
난수 b를 선택, 1 < b < q-1;
B = gb를 계산;
만일 B=1이면, B <> 1일 때까지 상이한 b를 계속 선택.
값 'B'는 서비스 공여자(서비스 제공자)의 장기간 공개키(또는, 더 일반적으로 제3 공개키)이고, 값 'b'는 서비스 공여자의 장기간 개인키(또는, 더 일반적으로는 제3 개인키)이다.
선택된 수 'b'는 1보다는 크고, 솟수 q-1보다는 작다. 일단 개인키 'b'가 선택되고 공개키 'B'가 발생되면, 개인키 'b'는 안전하게 저장되고, 공개키 'B'는 결국 사용자에게 되전송되어 그 사용자가 계산시에 이용할 수 있게 된다.
서비스 공여자는 또한 공유 시크릿에 기초하여 단기간 인증 키 쌍을 발생한다(단계 404). SPEKE 키 발생 방법을 따르는 유사한 방법을 이용하여, (예를 들어, q 및 x(이제는 y에 적용됨)에 대해 이전과 동일한 가정을 이용하여) 이 단계에 대한 예시적 수학들은 다음과 같다:
(예를 들어, 서비스 제공자에 의한) 단기간 인증 키 쌍의 선택
난수 y의 선택, 1 < y < q-1;
Y = sy를 계산;
만일 Y =1이면, Y <> 1일 때까지 y의 선택을 계속.
값 'Y'는 서비스 공여자(서비스 제공자)의 공개 단기간 인증키(또는, 더 일반적으로는 제4 공개키)이고, 값 'y'는 서비스 공여자의 개인 단기간 인증키(또는, 더 일반적으로는 제4 개인키)이다.
'y'의 선택은 1과 솟수 q-1 사이에 있다. 공개키 값 'B'과 'Y'는, 사용자 자신의 마스타 키를 발생하기 위해 결국 사용자에게 되전송된다.
그 다음, 서비스 공여자는 사용자로부터 수신된 공개키들 'A' 및 'X'와, 마스타 키를 발생하기 위해 계산된 그 개인키들을 이용한다. 마스타 키를 발생하기 위해 'A'와 'X' 양자를 함께 이용함으로써, 이 암호화 방법은 완벽한 순방향 비밀유지를 제공한다. 완벽한 순방향 비밀유지를 제공하기 위해, 이 구현은 또한 임의 의 재-키 시퀀스 동안에 후속 키들의 재발생시에 개인키들을 이용한다. 예시적인 마스타 키 계산은 다음과 같다:
(예를 들어, 서비스 제공자에 의한) 마스타 키 계산하기
k1 = Xy;
k2 = Ab;
k1, k2 != 0, 1, 또는 order(G)-1인지를 검사;
k = 해시(k1 || k2).
여기서, 'y'는 서비스 공여자의 단기간 개인 암호화 키(또는, 더 일반적으로는 제4 개인키)이고, 'X'는 사용자의 수신된 단기간 공개 암호화 키(또는, 더 일반적으로는 제2 공개키)이다. 또한, 'b'는 서비스 공여자의 장기간 개인키(또는, 더 일반적으로는 제3 개인키)이고, 'A'는 사용자의 수신된 장기간 공개 암호화 키(또는, 더 일반적으로는 제1 공개키)이다.
값 'k'는 서비스 공여자에 의해 발생된 마스타 키를 나타내며, 사용자에 의해 발생된 마스타 키와 동일하다. 이 마스타 키는 서비스와 사용자 사이의 데이터를 암호화하는데 이용될 수 있다. 값 'k'는 (단기간 인증 키들에 기초한) 중간 키들 'k1'과 (장기간 암호화 키들에 기초한) 'k2'의 조합이다. 중간 키 값들 k1 및 k2에 관한 중요한 검사가 단계 408에서 이루어져, 이들 두 값들이 0, 1, 또는 order(G)-1이 아닌지가 검사된다. 그렇지 않은 경우, 보안 공격이 시도되고 있다는 것을 의미할 수 있다. 이 공격은, 만일 키가 총 가능한 키들 중 작은 서브셋 내의 키들로 강제되는 경우에 생길 것이다. 만일 공격자가 X = 0 또는 Y = 0을 전송하면, 통신 당사자들은 결과 키 값 0을 얻을 수 있다. 이러한 신속한 검사는, 공격이 계획되고 있지 않음을 보장할 것이다. 그러나, k1 또는 k2의 값이 이들 작은 서브셋 그룹들 중 하나에 해당된다면, 키에 대한 협상은 중단될 수 있다(단계 410).
만일 서브셋 공격이 검출되지 않으면, 사용자에 의해 전송된 키 확인 값을 테스트하기 위해 마스타 키 'k'가 서비스 공여자에 의해 사용될 수 있다(단계 416). 키 확인 값을 발생하기 위한 한 방법은, 공개키 'B' 내의 바이트들과 같은 알려진 문자열로 키를 해싱하는 것이다. 샘플 테스트 키 문자열의 생성이 단계 412에서 발생한다. 이 문자열(키 확인 값)을 테스트하기 위한 예시적 계산은 아래와 같다:
키 확인 값 테스트
hB = 해시(k || 공개키 'B'의 바이트들)
그 다음, 서비스 공여자는, 사용자에 의해 발생된 마스타 키가 서비스 공여자에 의해 생성된 마스카 키와 정합하는지를 검증할 수 있도록, 이 테스트 문자열을 사용자에게 전송한다. 그 다음, 서비스 공여자는 장기간 공개 암호화 키 'B', 단기간 공개 인증 키 'Y'(또는, 일반적으로는 제4 공개키), 및 검증 문자열 hB를 사용자에게 전송한다(단계 414).
일단 사용자가 그 자신의 마스타 키 'k'를 발생하고 나면, 모든 것이 올바르게 동작하였는지를 서비스 공여자가 알도록 보장하기 위해 최종 키 확인 값을 되전송한다(단계 C). 이 최종 단계(C)는 단계 416에서 서비스 공여자에 대한 입력으로서 도 7에 도시되어 있다. 만일 키 확인 값이 'A'에 기초하여 계산되고 서비스 공여자에게 전송되었다면(단계 416), 이것은 이 테스트가 추구하는 바이다(단계 418). 만일 키 확인 값이 예측된 값과 정합하지 않는다면, 동작은 중단될 것이다(단계 420). 만일 키 확인 값이 정합된다면, 전적으로 양방향 암호화되고 보안유지된 데이터 통신 경로가 존재한다는 것이 가정된다(단계 422).
재-키 데이터 흐름 시퀀스
도 8은 도 1, 2, 및 3에 도시된 환경에서 또 다른 키를 재발생할 때 재-키 시퀀스에 대한 사용자 내부(예를 들어, 소프트웨어 내부)의 예시적 단계들을 도시하는 데이터 흐름도이다. 이 프로시져는 완벽한 순방향 비밀유지의 구현을 가능케하기 위해 장기간 암호화 키를 이용하는 방법을 도시하고 있다. 이 프로시져는, 사용자나 서비스 공여자가 새로운 키가 요구된다고 결정할 때 개시된다. 이 예에서, 우리는 호스트(서비스 제공자)는 암호화 키 만기 타이머(encryption key expiry timer)를 실행하고 있다고 가정한다. 그러나, 암호화 키를 재발생시킬 수 있는 많은 다른 방법들이 있다. 사용자가 새로운 키에 대한 시간이 되었다고 판단하거나, 누군가가 현재의 키 값을 공격하여 판정할려고 시도하고 있다고 사용자 또는 서비스측이 두려워할 수도 있다. 어느 경우던, 새로운 키가 요망되고, 새로운 키를 발생하기 위해 최초의 공유 시크릿에 기초하지 않는 고유한 방법이 사용될 수 있다.
도 8의 예에서 도시된 바와 같이, 재-키 요청이 사용자에 수신되거나, 사용자가 새로운 키를 컷(cut)할 것을 결정한다(단계 430). 물론, 단계 430은 사용자가 아니라 서비스 제공자에 의해 실행될 수도 있다. 사용자 소프트웨어는 새로운 단기간 암호화 키를 발생한다(단계 432). 예로서 제시된 수학적 계산은, SPEKE에 기초하고 이전과 동일한 시퀀스를 이용한다:
(예를 들어, 사용자에 의한) 새로운 단기간 암호화 키 쌍 선택
난수 x를 선택, 1 < x < q-1;
X = gx를 게산;
만일 X = 1이면, X <> 1일 때까지 x를 계속 선택.
여기서, 'x'는 사용자의 단기간 개인 암호화 키에 대해 발생된 "새로운" 값이다. 값 'x'는 "암호화" 키, 또는 (앞서와 같이) "인증" 키 라고 언급될 것이다. 이것은 값 'x'가 이들 양쪽 측면 모두에 기여하기 때문이다. 'x'의 선택은 1과, 솟수 q-1 사이에 있어야만 한다. 그 다음, 사용자 소프트웨어는 새로이 발생된 공개키 'X'를 서비스 제공자(434)에게 전송한다. 이 단계는 (D)로 진행하여, 서비스 제공자가 이 값을 수신하고 추가적 계산을 수행한다. 단계(D)는 도 9에서 접속의 서비스 제공자측 상의 입력으로 취해져 있다.
일단 서비스 제공자가 도 9에 도시된 (D)와 더불어 이들 계산을 완료하고 나면, 사용자에 의한 검증용의 키 값의 확인(E)과 더불어 (이하에서 더 논의되는) 비슷한 새로운 공개 암호화 키 'Y'를 반환한다. 이것이 도 8에서 입력 (E)로서 도시되어 있다. 이 시점에서, 사용자는 예를 들어 진보된 SPEKE 계산을 따라 단계 440에서 마스타 키를 생성하기 위해 서비스 제공자의 더 오래된 장기간 공개 'B' 키와 더불어 서비스 제공자의 새로운 'Y' 키를 사용할 수 있다. 키를 생성하기 위해 기존의 'B'와 새로운 'Y' 양자 모두를 함께 이용함으로써, 암호화 방법은 완벽한 순방향 비밀유지의 구현을 제공할 수 있다. 완벽한 순방향 비밀유지는, 기존의 'B'도 새로운 'Y'도 원래의 공유 시크릿에 기초하지 않고, 기존의 'B'는 새로운 'Y'와 결합되어 이전의 키에 직접적으로 기초하지 않는 새로운 키를 생성하기 때문에 달성될 수 있다. 추가적으로, 기존 'B' 키는 원래의 공유 시크릿과 더불어 발생된 약간의 인증을 포함한다. 공유 시크릿을 원래부터 소지한 인증된 서비스 사용자만이 개인키 'b'를 디스크에 저장할 수 있을 것이다. 이것은 새로운 마스타 키 'k'를 생성하기 위한 예시적 재-키 수학 계산에서 더욱 명확하게 드러난다:
(예를 들어, 사용자에 의한) 마스타 키의 계산
k1 = Yx;
k2 = Ba;
k1, k2 != 0, 1, 또는 order(G)-1인지를 검사;
k = 해시(k1 || k2)
여기서, 'x'는 사용자의 새로운 단기간 개인 암호화 키이고, 'Y'는 서비스 제공자에 의해 발생된 새로이 수신된 단기간 공개 암호화 키이다. 값 'a'는 사용자의 기존 장기간 개인 암호화 키이고, 'B'는 서비스 제공자의 기존 장기간 공개 암호화 키이다.
값 'k'는 사용자와 서비스 제공자 사이의 데이터를 암호화하기 위해 사용될 수 있는 새로운 마스타 키를 나타낸다. 값 'k'는 중간 키들 (단기간 암호화 키에 기초한) k1과 (장기간 암호화 키들에 기초한) k2의 조합이다. 중간키 값들 k1 및 k2에 관한 중요한 결정이 단계 422에서 이루어져, 이들 두 값들이 0, 1, 또는 order(G)-1이 아닌지를 검사한다. 그렇지 않은 경우, 보안 공격이 시도되고 있음을 의미할 수 있다(단계 442). 그러나, 만일 k1 또는 k2의 값이 이들 작은 서브세트 그룹들 중 하나에 해당되면, 키에 대한 협상은 중단될 수 있다(단계 444).
만일 서브셋 공격이 검출되지 않으면, 새로운 마스타 키 'k'는 단계 446에 도시된 서비스 공여자(서비스 제공자)에 의해 전송된 키 확인 값을 테스트하기 위해 사용될 수 있다. 키 확인 값을 발생하기 위한 한 방법은 공개키 "A"의 바이트 들과 같은 알려진 문자열로 키를 해시하는 것이다. 키 확인 값을 계산하기 위한 접근법은 앞서 기술한 바와 동일할 수 있다. 만일 계산된 키 확인 값이 수신되었던 값과 정합하지 않으면(단계 448), 이 키는 에러인 것으로 간주된다(단계 450). 올바르지 않은 키 확인 값은, 누군가 공격 도중에 있거나, 모종의 공격이 시도되고 있는 중임을 의미한다. 그렇지 않으면, 사용자는 마스타 키 'k'를 사용하여 최종 키 확인 값을 발생한다(단계 452). 도 8에서 포인트(F)에 도시된 바와 같이, 키 확인 값은 최종 확인으로서 서비스 제공자에게 전송된다(단계 454). 그 다음 짧은 멈춤 이후에, 새로운 암호화 키가 사용자 소프트웨어 내부에서 사용된다(단계 456). 짧은 시간 동안, 앞서 전송된 메시지들이 도달할 수 있는 윈도우도 역시 존재한다. 수분 정도의 이 기간 동안에, 암호해독 오류가 발생한다면 오래된 키가 유지되고 시도된다(단계 456).
이제 도 9를 참조하면, 도 1, 2, 및 3에 도시된 환경에서 또 다른 키를 재발생할 때 재-키 시퀀스에 대해 서비스 제공자 내부의 예시적 단계들의 데이터 흐름도를 나타낸다. 이 프로시져는 완벽한 순방향 비밀유지를 구현하기 위해 장기간 암호화 키를 이용하는 방법을 도시하고 있다. 이 실시예에서, 우리는 사용자가 프로세스를 개시하였고 도 8에 도시된 바와 같이 새로운 단기간 암호화(또는 인증) 키 쌍을 생성하였다고 가정한다. 단기간 공개 암호화 키 'X'의 도착이 입력(D)로서 도시되어 있다. 공개 키가 수신되고 사용자의 구성 정보가 리콜되고 검사된다(단계 460). 그 다음 서비스 공여자는 다음 시간 세그먼트에 걸쳐 사용하기 위해 새로운 단기간 암호화 키를 발생한다(단계 462). 새로운 단기간 암호화 키를 생성 하기 위한 예시적 수학은 앞서 도시된 것과 유사하지만, 공유 시크릿 's'는 사용되지 않는다.
(예를 들어, 서비스 제공자에 의한) 새로운 단기간 암호화 키 쌍의 선택
난수 y의 선택, 1 < y < q-1;
Y = gy를 계산;
만일 Y = 1이면, Y <> 1일 때까지 난수 y를 계속 선택.
'y'의 선택은 1과, 솟수 q-1 사이에 있다. 마스타 키를 발생하기 위해 값 'Y'는 결국 사용자에게 되전송된다(단계 472).
새로운 단기간 암호화 키 쌍을 선택한 후에, 사용자로부터 방금 수신된 값 'X'와 새로이 발생된 값 'y'를 이용하여 서비스 제공자에 의해 마스타 키가 발생된다. 키를 발생하기 위해 'A'와 'X' 양자 모두를 이용함으로써, 암호화 방법은 완벽한 순방향 비밀유지를 제공한다. 예시적 마스타 키 계산은 다음과 같다:
(예를 들어, 서비스 제공자에 의한) 마스타 키 계산
k1 = Xy;
k2 = Ab;
k1, k2 != 0, 1, order(G)-1인지를 검사;
k = 해시(k1 || k2)
여기서, 'y'는 서비스 제공자의 새로운 단기간 개인 암호화 키이고, 'X'는 사용자에 의해 발생된 새로이 수신된 단기간 공개 암호화 키이다. 값 'b'는 서비스 제공자의 기존 장기간 개인 암호화 키이고, 'A'는 사용자의 기존 장기간 공개 암호화 키이다.
값 'k'는 서비스 공여자에 대한 마스타 키를 나타낸다(단계 464). 이것은 서비스 공여자와 사용자 사이의 모든 데이터를 암호화하는데 이용될 것이다. 값 'k'는 중간 키들 (새로운 단기간 암호화 키들에 기초한) k1과 (장기간 암호화 키들에 기초한) k2의 조합이다. 'k'의 계산은 원래의 공유 시크릿 's'에 직접 의존하지 않지만, 값들 'A' 및 'b'는 's'에 의해 원래 제공되는 약간의 인증을 포함한다. 중간 키 값들 k1 및 k2에 관한 중요한 검사가 이루어져(단계 466), 이들 두 값들이 0, 1, 또는 order(G)-1이 아닌지의 여부를 검증한다. 그렇지 않다면, 보안 공격이 시도되고 있다는 것을 의미할 수 있다. 만일 k1 또는 k2가 이들 작은 서브셋 그룹들 중 하나에 해당된다면, 키에 대한 협상은 중단될 수 있다(단계 468).
만일 서브셋 공격이 검출되지 않으면, 서비스 공여자에 의해 전송된 키 확인값을 테스트하기 위해 마스타 키 'k'가 사용될 수 있다(단계 470). 키 확인 값을 발생하기 위한 한 방법은 공개키 'B'내의 바이트들과 유사한 알려진 문자열로 키를 해시하는 것이다(단계 470). 이 계산은 이미 기술된 것과 유사하다. 그 다음, 서 비스 공여자는 새로운 단기간 공개 암호화 키 'Y'와 키 확인 값 hB를 사용자에게 전송할 것이다(단계 472). 이러한 키 값들 및 키 확인 값의 전송은 도 9에서 전송 박스(E)에 도시되어 있다.
일단 사용자가 그 자신의 마스타 키 'k'를 발생하고 나면, 모든 것이 올바르게 동작하였는지(도 8의 단계 454)를 서비스 공여자가 알도록 보장하기 위해 최종 키 확인 값을 되전송한다(단계 F). 이 최종 단계(F)는 단계 474에서 서비스 공여자에 대한 입력으로서 도 9에 도시되어 있다(단계 474). 만일 키 확인 값이 'A'에 대해 계산되고 서비스 공여자에게 전송되었다면(단계 474), 이것은 이 테스트가 추구하는 바이다(단계 476). 만일 키 확인 값이 예측된 값과 정합하지 않는다면, 동작은 중단될 것이다(단계 478). 만일 키 확인 값이 검증다면, 전적으로 양방향 암호화되고 보안유지된 데이터 통신 경로가 존재한다는 것이 가정된다(단계 480). 서버는, 이 새로운 키 발생 단계 동안에 패킷들이 경로 상에 존재하는 경우 몇분동안 이전의 키를 유지한다(단계 480).
또 다른 면에 따르면, 컴퓨터 판독가능한 임의 형태의 캐리어는 본 명세서에서 기술된 방법들을 처리 유닛이 실행하도록 유발하는 처리 명령어들을 포함할 수 있다. 컴퓨터 판독가능한 캐리어는, (ROM 또는 RAM 등의) 고체-상태 메모리, 자기 메모리, 광학 메모리, 기타 유형의 메모리, 또는 본 명세서에서 설명된 기술들을 처리 유닛이 실행하게 하는 적절한 컴퓨터 명령어 세트를 포함하는 (무선 주파수, 오디오 주파수, 또는 광학 주파수 변조된 파동/신호들과 같은) 변조된 파동/신호들 등의, 임의의 적절한 유형의 캐리어를 포함할 수 있다.
예시적 동작 방법을 포함하여 본 발명의 예시적 실시예들이 상세히 기술되었지만, 본 명세서의 동작들은 상이한 요소들 및 단계들로 실행될 수 있다는 것을 이해하여야 한다. 예시적 실시예들은 예를 위해 제시된 것이며, 특허청구범위에 의해 정의되는 본 발명의 범위를 제한하기 위한 것은 아니다.

Claims (17)

  1. 하나 이상의 메시지들을 교환하기 위한 제 1 시스템과 제2 시스템간 보안유지된 양방향 통신 경로를 확립하기 위해 제1 시스템에 의해 실행되는 방법에 있어서,
    제1 공개키와 제1 개인키를 갖는 제1 키 쌍을 발생시키는 단계와;
    제2 공개키와 제2 개인키를 갖는 제2 키 쌍을 발생시키는 단계로서, 상기 제2 공개키는 상기 제1 시스템 및 제2 시스템에게 알려져 있는 공유 시크릿(shared secret)에 기초하여 발생되는 것인, 상기 제2 키 쌍을 발생시키는 단계와;
    상기 제2 공개키 및 상기 제1 공개키를 상기 제2 시스템에 전송하는 단계와;
    상기 제2 시스템에 의해 발생된 제3 공개키 및 제4 공개키를 수신하는 단계로서, 상기 제4 공개키는 상기 공유 시크릿에 기초하여 발생되는 것인, 상기 제3 공개키 및 제4 공개키를 수신하는 단계와;
    상기 제1 개인키, 상기 제2 개인키, 상기 제3 공개키, 및 상기 제4 공개키에 기초하여 마스타 키를 계산하는 단계로서, 상기 마스타 키는 하나 이상의 메시지들의 암호화에 사용되도록 구성되는 것인, 상기 마스타 키를 계산하는 단계
    를 포함하는, 제1 및 제2 시스템간 보안유지된 양방향 통신 경로를 확립하기 위한 방법.
  2. 제1항에 있어서,
    테스트 문자열을 발생시키는 단계와;
    제1 테스트 문자열을 상기 제2 시스템에 전송하는 단계와;
    상기 제2 시스템에 의해 발생된 제2 테스트 문자열을 수신하는 단계와;
    상기 제2 테스트 문자열과 상기 마스타 키로 상기 제2 시스템을 인증하는 단계
    를 더 포함하는, 제1 및 제2 시스템간 보안유지된 양방향 통신 경로를 확립하기 위한 방법.
  3. 제2항에 있어서, 상기 제2 시스템에 의해 발생된 제2 테스트 문자열을 수신하는 단계에 앞서, UDDI(Universal Description, Discovery and Integration) 서비스 엔트리를 갖는 데이터 페이로드를 수신하는 단계를 더 포함하는, 제1 및 제2 시스템간 보안유지된 양방향 통신 경로를 확립하기 위한 방법.
  4. 제1항에 있어서, 상기 제1 시스템은 무선 모바일 장치인 것인, 제1 및 제2 시스템간 보안유지된 양방향 통신 경로를 확립하기 위한 방법.
  5. 제4항에 있어서, 상기 제2 시스템은 서비스를 제공하는 호스트 시스템인 것인, 제1 및 제2 시스템간 보안유지된 양방향 통신 경로를 확립하기 위한 방법.
  6. 제4항에 있어서, 상기 공유 시크릿은 보안유지된 대역외 채널을 통해 전 달(communicate)되는 것인, 제1 및 제2 시스템간 보안유지된 양방향 통신 경로를 확립하기 위한 방법.
  7. 제6항에 있어서, 상기 공유 시크릿은 상기 호스트 시스템에 의해 자동으로 발생되는 개인 식별 번호(PIN)인 것인, 제1 및 제2 시스템간 보안유지된 양방향 통신 경로를 확립하기 위한 방법.
  8. 제6항에 있어서, 상기 공유 시크릿은 상기 제1 시스템에 의한 요청에 이어 웹 인터페이스를 통해 상기 제2 시스템으로부터 수신되는 것인, 제1 및 제2 시스템간 보안유지된 양방향 통신 경로를 확립하기 위한 방법.
  9. 제5항에 있어서, 상기 하나 이상의 메시지의 교환은 전자-메일 메시지, http-기반의 XML 메시지, 또는 http-기반의 WML 메시지들의 교환을 포함하는 것인, 제1 및 제2 시스템간 보안유지된 양방향 통신 경로를 확립하기 위한 방법.
  10. 제5항에 있어서, 상기 무선 모바일 장치 및 호스트 시스템은 전자-메일 어드레스 또는 IP 어드레스로 어드레싱되는 것인, 제1 및 제2 시스템간 보안유지된 양방향 통신 경로를 확립하기 위한 방법.
  11. 제5항에 있어서, 상기 마스타 키를 계산하는데 있어서 수정된 단순 패스워드 지수 키 교환(Modified Simple Password Exponential Key Exchange; SPEKE) 방법이 사용되는 것인, 제1 및 제2 시스템간 보안유지된 양방향 통신 경로를 확립하기 위한 방법.
  12. 제1항에 있어서, 상기 제1 시스템은 서비스를 제공하는 호스트 시스템이고, 상기 제2 시스템은 모바일 무선 장치인 것인, 제1 및 제2 시스템간 보안유지된 양방향 통신 경로를 확립하기 위한 방법.
  13. 제1항에 있어서, 상기 마스타 키를 이용하여 하나 이상의 메시지들을 암호화하는 단계를 더 포함하는, 제1 및 제2 시스템간 보안유지된 양방향 통신 경로를 확립하기 위한 방법.
  14. 제13항의 방법에 따라 암호화된 하나 이상의 메시지들을 포함하는 디지털 신호.
  15. 처리 유닛으로하여금 제1항의 방법을 실행하도록 하는 처리 명령어들을 포함하는 컴퓨터 판독가능한 캐리어.
  16. 하나 이상의 메시지들을 교환하기 위해 제2 시스템에 대하여 보안유지된 양방향 통신 경로를 확립하기 위한 제1 시스템에 있어서,
    제1 공개키 및 제1 개인키를 갖는 제1 키 쌍을 발생시키기 위한 수단과;
    제2 공개키와 제2 개인키를 갖는 제2 키 쌍을 발생시키기 위한 수단으로서, 상기 제2 공개키는 상기 제1 시스템 및 제2 시스템에게 알려져 있는 공유 시크릿에 기초하여 발생되는 것인, 상기 제2 키 쌍을 발생시키기 위한 수단과;
    상기 제2 공개키 및 상기 제1 공개키를 상기 제2 시스템에 전송하기 위한 수단과;
    상기 제2 시스템에 의해 발생된 제3 공개키 및 제4 공개키를 수신하기 위한 수단으로서, 상기 제4 공개키는 상기 공유 시크릿에 기초하여 발생되는 것인, 상기 제3 공개키 및 제4 공개키를 수신하기 위한 수단과;
    상기 제1 개인키, 상기 제2 개인키, 상기 제3 공개키, 및 상기 제4 공개키에 기초하여 마스타 키를 계산하기 위한 수단으로서, 상기 마스타 키는 하나 이상의 메시지들의 암호화에 사용되도록 구성되는 것인, 상기 마스타 키를 계산하기 위한 수단
    을 포함하는, 제1 시스템.
  17. 하나 이상의 메시지들을 교환하기 위해 제2 시스템에 대하여 보안유지된 양방향 통신 경로를 확립하기 위한 제1 시스템에 있어서,
    메모리와;
    상기 메모리에 결합된 처리 유닛을 포함하고,
    상기 처리 유닛은,
    제1 공개키와 제1 개인키를 갖는 제1 키 쌍을 발생시키는 단계와;
    제2 공개키와 제2 개인키를 갖는 제2 키 쌍을 발생시키는 단계로서, 상기 제2 공개키는 상기 제1 시스템 및 제2 시스템에게 알려져 있는 공유 시크릿에 기초하여 발생되는 것인, 상기 제2 키 쌍을 발생시키는 단계와;
    상기 제2 공개키 및 상기 제1 공개키를 상기 제2 시스템에 전송하는 단계와;
    상기 제2 시스템에 의해 발생된 제3 공개키 및 제4 공개키를 수신하는 단계로서, 상기 제4 공개키는 상기 공유 시크릿에 기초하여 발생되는 것인, 상기 제3 공개키 및 제4 공개키를 수신하는 단계와;
    상기 제1 개인키, 상기 제2 개인키, 상기 제3 공개키, 및 상기 제4 공개키에 기초하여 마스타 키를 계산하는 단계로서, 상기 마스타 키는 하나 이상의 메시지들의 암호화에 사용되도록 구성되는 것인, 상기 마스타 키를 계산하는 단계
    를 실행하도록 구성된 것인, 제1 시스템.
KR1020067022804A 2004-04-02 2005-03-30 무선 휴대용 장치들의 배치와 규약 KR20060132026A (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US55909204P 2004-04-02 2004-04-02
US60/559,092 2004-04-02
US55964604P 2004-04-05 2004-04-05
US60/559,646 2004-04-05

Publications (1)

Publication Number Publication Date
KR20060132026A true KR20060132026A (ko) 2006-12-20

Family

ID=35064141

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020067022804A KR20060132026A (ko) 2004-04-02 2005-03-30 무선 휴대용 장치들의 배치와 규약

Country Status (12)

Country Link
US (4) US7885411B2 (ko)
EP (1) EP1735945B1 (ko)
JP (1) JP4701238B2 (ko)
KR (1) KR20060132026A (ko)
CN (1) CN101023622B (ko)
AT (1) ATE438973T1 (ko)
AU (2) AU2005228061A1 (ko)
BR (1) BRPI0509538B1 (ko)
CA (1) CA2561796C (ko)
DE (1) DE602005015831D1 (ko)
HK (1) HK1095950A1 (ko)
WO (1) WO2005096542A1 (ko)

Families Citing this family (67)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000002358A1 (en) * 1998-07-03 2000-01-13 Nokia Mobile Phones Limited Secure session set up based on the wireless application protocol
CA2277633C (en) 1999-07-19 2009-10-20 Certicom Corp. Split-key key-agreement protocol
US7370350B1 (en) * 2002-06-27 2008-05-06 Cisco Technology, Inc. Method and apparatus for re-authenticating computing devices
US7861078B2 (en) * 2005-10-14 2010-12-28 Juniper Networks, Inc. Password-authenticated asymmetric key exchange
US8086872B2 (en) 2005-12-08 2011-12-27 Electronics And Telecommunications Research Institute Method for setting security channel based on MPCP between OLT and ONUs in EPON, and MPCP message structure for controlling frame transmission
KR100772180B1 (ko) 2005-12-08 2007-11-01 한국전자통신연구원 이더넷 기반의 수동형 광네트워크에서 광종단장치와광가입자장치들 간에 보안 채널 설정 방법 및 이를 위한프레임 전송 제어용 다중점 제어 프로토콜 메시지 구조
EP2070252A2 (en) * 2006-09-21 2009-06-17 InterDigital Technology Corporation Group-wise secret key generation
US7870255B2 (en) * 2006-10-03 2011-01-11 Research In Motion Limited Access control system and method for wireless application provisioning
US8050403B2 (en) * 2007-03-06 2011-11-01 Research In Motion Limited Method and apparatus for generating a public key in a manner that counters power analysis attacks
US8131994B2 (en) 2007-06-01 2012-03-06 Cisco Technology, Inc. Dual cryptographic keying
US8838953B2 (en) * 2007-06-05 2014-09-16 Stmicroelectronics, Inc. System and method for using an out-of-band device to program security keys
US8072967B2 (en) * 2007-07-20 2011-12-06 Cisco Technology, Inc. VoIP call routing information registry including hash access mechanism
US8228903B2 (en) * 2007-07-20 2012-07-24 Cisco Technology, Inc. Integration of VoIP address discovery with PBXs
US8199746B2 (en) 2007-07-20 2012-06-12 Cisco Technology, Inc. Using PSTN reachability to verify VoIP call routing information
US8204047B2 (en) * 2007-07-20 2012-06-19 Cisco Technology, Inc. Using PSTN reachability to verify caller ID information in received VoIP calls
US8121114B2 (en) 2009-02-12 2012-02-21 Cisco Technology, Inc. Prevention of voice over IP spam
US8228904B2 (en) * 2007-07-20 2012-07-24 Cisco Technology, Inc. Using PSTN reachability in anonymous verification of VoIP call routing information
US8274968B2 (en) * 2007-07-20 2012-09-25 Cisco Technology, Inc. Restriction of communication in VoIP address discovery system
US8223755B2 (en) * 2007-07-20 2012-07-17 Cisco Technology, Inc. Node reputation based on knowledge of PSTN calls
US8228902B2 (en) * 2007-07-20 2012-07-24 Cisco Technology, Inc. Separation of validation services in VoIP address discovery system
US8208635B2 (en) * 2007-11-13 2012-06-26 Rosemount Inc. Wireless mesh network with secure automatic key loads to wireless devices
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
DE102009032466B4 (de) * 2008-07-16 2017-03-02 Infineon Technologies Ag Sicherheit in Netzwerken
US20100042841A1 (en) * 2008-08-15 2010-02-18 Neal King Updating and Distributing Encryption Keys
US8223754B2 (en) * 2009-02-09 2012-07-17 Cisco Technology, Inc. Auto-configured voice over internet protocol
US8296567B2 (en) 2009-07-15 2012-10-23 Research In Motion Limited System and method for exchanging key generation parameters for secure communications
US8645695B2 (en) * 2009-10-07 2014-02-04 Blackberry Limited System and method for managing security key architecture in multiple security contexts of a network environment
US8886935B2 (en) * 2010-04-30 2014-11-11 Kabushiki Kaisha Toshiba Key management device, system and method having a rekey mechanism
EP2509276B1 (de) * 2011-04-05 2013-11-20 F. Hoffmann-La Roche AG Verfahren zum sicheren Übertragen von elektronischen Daten über eine Datenkommunikationsverbindung zwischen einem Gerät und einem weiteren Gerät
US9093395B2 (en) * 2011-09-02 2015-07-28 Avogy, Inc. Method and system for local control of defect density in gallium nitride based electronics
JP5367039B2 (ja) * 2011-09-30 2013-12-11 株式会社東芝 サーバ装置及びプログラム
JP5643741B2 (ja) * 2011-12-02 2014-12-17 株式会社東芝 認証装置、認証方法および認証プログラム
US10148438B2 (en) * 2012-04-03 2018-12-04 Rally Health, Inc. Methods and apparatus for protecting sensitive data in distributed applications
KR101301609B1 (ko) * 2012-05-31 2013-08-29 서울대학교산학협력단 비밀키 생성 장치 및 방법, 그리고 그 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 기록매체
US9596077B2 (en) * 2013-04-22 2017-03-14 Unisys Corporation Community of interest-based secured communications over IPsec
BR112016003084A2 (pt) 2013-08-13 2017-09-12 Univ Northwestern partículas conjugadas com peptídeo
US10396984B2 (en) * 2014-05-02 2019-08-27 Barclays Services Limited Apparatus and system having multi-party cryptographic authentication
US9887839B2 (en) * 2014-06-06 2018-02-06 Rainberry, Inc. Securely sharing information via a public key-value data store
US20160065374A1 (en) * 2014-09-02 2016-03-03 Apple Inc. Method of using one device to unlock another device
US20170091887A1 (en) * 2015-09-24 2017-03-30 Yahoo! Inc. Method for accessing an online account after the owner's death
EP3363175A1 (en) * 2015-10-15 2018-08-22 Otis Elevator Company Software updating device
BR112018016815A2 (pt) 2016-02-23 2018-12-26 Nchain Holdings Ltd método para gestão e registro automático para contratos inteligentes aplicados através de blockchain
SG11201806712RA (en) 2016-02-23 2018-09-27 Nchain Holdings Ltd A method and system for securing computer software using a distributed hash table and a blockchain
EA201891826A1 (ru) 2016-02-23 2019-02-28 Нчейн Холдингс Лимитед Обмен на базе блокчейна с токенизацией
EP3420517B1 (en) 2016-02-23 2022-07-06 nChain Holdings Limited A method and system for the secure transfer of entities on a blockchain
GB2571367A (en) 2016-02-23 2019-08-28 Nchain Holdings Ltd Tokenisation method and system for implementing exchanges on a blockchain
CN113595726A (zh) 2016-02-23 2021-11-02 区块链控股有限公司 用于控制和分发数字内容的区块链实现的方法
CN109314637B (zh) 2016-02-23 2021-09-10 区块链控股有限公司 区块链上高效转移加密货币的方法和设备
EP3259725B1 (en) 2016-02-23 2020-06-10 Nchain Holdings Limited Universal tokenisation system for blockchain-based cryptocurrencies
BR112018016797A2 (pt) 2016-02-23 2018-12-26 Nchain Holdings Ltd método e sistema baseado em computador organizado para utilizar de um blockchain para controlar uma execução de processo em um recurso computacional
SG10202011640TA (en) 2016-02-23 2021-01-28 Nchain Holdings Ltd System and method for controlling asset-related actions via a blockchain
CA3009731A1 (en) 2016-02-23 2017-08-31 nChain Holdings Limited Secure multiparty loss resistant storage and transfer of cryptographic keys for blockchain based systems in conjunction with a wallet management system
MX2018010044A (es) 2016-02-23 2019-01-21 Nchain Holdings Ltd Seguridad de dispositivo personal que utiliza criptografia de curva eliptica para comparticion de secretos.
CA3010116A1 (en) 2016-02-23 2017-08-31 nChain Holdings Limited Determining a common secret for the secure exchange of information and hierarchical, deterministic cryptographic keys
GB2562622A (en) 2016-02-23 2018-11-21 Nchain Holdings Ltd Cryptographic method and system for secure extraction of data from a blockchain
US11212276B2 (en) * 2016-07-01 2021-12-28 Intel Corporation Single pairing for multiple technologies
EP3364596A1 (en) * 2017-02-15 2018-08-22 Koninklijke Philips N.V. Key exchange devices and method
EP3402118A1 (en) * 2017-05-10 2018-11-14 Koninklijke Philips N.V. Key agreement devices and method
US10530581B2 (en) * 2017-09-08 2020-01-07 Fujitsu Limited Authenticated broadcast encryption
US10819689B2 (en) 2018-05-03 2020-10-27 Honeywell International Inc. Systems and methods for encrypted vehicle data service exchanges
US10715511B2 (en) * 2018-05-03 2020-07-14 Honeywell International Inc. Systems and methods for a secure subscription based vehicle data service
GB201815396D0 (en) * 2018-09-21 2018-11-07 Nchain Holdings Ltd Computer implemented system and method
US11063921B2 (en) 2018-11-06 2021-07-13 International Business Machines Corporation Extracting data from passively captured web traffic that is encrypted in accordance with an anonymous key agreement protocol
CN112118568B (zh) * 2019-06-21 2022-02-25 华为技术有限公司 一种设备身份鉴权的方法及设备
TWI730355B (zh) * 2019-07-23 2021-06-11 新加坡商優納比控股私人有限公司 無線通信的動態金鑰產生方法
WO2021181736A1 (ja) 2020-03-13 2021-09-16 株式会社ソリトンシステムズ 機密データ管理装置、プログラム及び記録媒体
US11882215B2 (en) * 2021-05-21 2024-01-23 Zoom Video Communications, Inc. Handling joining and leaving of participants in videoconferencing with end-to-end encryption

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5491750A (en) * 1993-12-30 1996-02-13 International Business Machines Corporation Method and apparatus for three-party entity authentication and key distribution using message authentication codes
US5491749A (en) 1993-12-30 1996-02-13 International Business Machines Corporation Method and apparatus for entity authentication and key distribution secure against off-line adversarial attacks
US6091820A (en) * 1994-06-10 2000-07-18 Sun Microsystems, Inc. Method and apparatus for achieving perfect forward secrecy in closed user groups
US5761305A (en) * 1995-04-21 1998-06-02 Certicom Corporation Key agreement and transport protocol with implicit signatures
US6487661B2 (en) 1995-04-21 2002-11-26 Certicom Corp. Key agreement and transport protocol
JPH1115373A (ja) * 1997-06-20 1999-01-22 Fuji Xerox Co Ltd 公開鍵暗号方式
US6219421B1 (en) * 1997-10-24 2001-04-17 Shaul O. Backal Virtual matrix encryption (VME) and virtual key cryptographic method and apparatus
US6279110B1 (en) 1997-11-10 2001-08-21 Certicom Corporation Masked digital signatures
US6336188B2 (en) * 1998-05-01 2002-01-01 Certicom Corp. Authenticated key agreement protocol
CA2241705C (en) 1998-06-26 2006-06-20 Certicom Corp. A method for preventing key-share attacks
WO2000002358A1 (en) * 1998-07-03 2000-01-13 Nokia Mobile Phones Limited Secure session set up based on the wireless application protocol
CA2255285C (en) 1998-12-04 2009-10-13 Certicom Corp. Enhanced subscriber authentication protocol
JP4556277B2 (ja) 1999-03-30 2010-10-06 ソニー株式会社 情報処理装置および方法、情報処理システム、並びにプログラム格納媒体
CA2277633C (en) 1999-07-19 2009-10-20 Certicom Corp. Split-key key-agreement protocol
US7181014B1 (en) * 1999-09-10 2007-02-20 Cisco Technology, Inc. Processing method for key exchange among broadcast or multicast groups that provides a more efficient substitute for Diffie-Hellman key exchange
US6718467B1 (en) * 1999-10-28 2004-04-06 Cisco Technology, Inc. Password based protocol for secure communications
US7711122B2 (en) * 2001-03-09 2010-05-04 Arcot Systems, Inc. Method and apparatus for cryptographic key storage wherein key servers are authenticated by possession and secure distribution of stored keys
CA2443831C (en) 2001-04-12 2010-06-08 Research In Motion Limited An advanced system and method for dynamically discovering, provisioning and accessing host services on wireless data communication devices
JP2004537095A (ja) * 2001-04-24 2004-12-09 ヒューレット・パッカード・カンパニー 情報セキュリティシステム
JP4255046B2 (ja) 2001-04-27 2009-04-15 日本電信電話株式会社 暗号通信路の確立方法、プログラム及びプログラム媒体、並びに、暗号通信システム
US7181015B2 (en) * 2001-07-31 2007-02-20 Mcafee, Inc. Method and apparatus for cryptographic key establishment using an identity based symmetric keying technique
CA2369540C (en) * 2001-12-31 2013-10-01 Certicom Corp. Method and apparatus for computing a shared secret key
US7353382B2 (en) * 2002-08-08 2008-04-01 Fujitsu Limited Security framework and protocol for universal pervasive transactions
US7784684B2 (en) * 2002-08-08 2010-08-31 Fujitsu Limited Wireless computer wallet for physical point of sale (POS) transactions
US20040073795A1 (en) * 2002-10-10 2004-04-15 Jablon David P. Systems and methods for password-based connection
US7328282B2 (en) * 2003-10-23 2008-02-05 International Business Machines Corporation Aspect oriented web service invocation

Also Published As

Publication number Publication date
AU2005228061A1 (en) 2005-10-13
DE602005015831D1 (de) 2009-09-17
AU2009248475A1 (en) 2010-01-07
US20120063599A1 (en) 2012-03-15
EP1735945A4 (en) 2007-06-20
JP4701238B2 (ja) 2011-06-15
US7885411B2 (en) 2011-02-08
US20120294440A1 (en) 2012-11-22
CA2561796A1 (en) 2005-10-13
BRPI0509538A (pt) 2007-09-18
US8238558B2 (en) 2012-08-07
CN101023622B (zh) 2010-12-08
CA2561796C (en) 2012-04-17
EP1735945B1 (en) 2009-08-05
AU2009248475B2 (en) 2012-06-14
JP2007531422A (ja) 2007-11-01
US8090107B2 (en) 2012-01-03
EP1735945A1 (en) 2006-12-27
CN101023622A (zh) 2007-08-22
US8615086B2 (en) 2013-12-24
US20050232428A1 (en) 2005-10-20
ATE438973T1 (de) 2009-08-15
BRPI0509538B1 (pt) 2019-01-15
WO2005096542A1 (en) 2005-10-13
US20110103588A1 (en) 2011-05-05
HK1095950A1 (en) 2007-05-18

Similar Documents

Publication Publication Date Title
US7885411B2 (en) Key agreement and re-keying over a bidirectional communication path
US8693695B2 (en) Systems and methods to securely generate shared keys
CA2564909C (en) Systems and methods to securely generate shared keys
EP2950506B1 (en) Method and system for establishing a secure communication channel
US7886345B2 (en) Password-protection module
EP2037621B1 (en) Method and device for deriving local interface key
CN107040513B (zh) 一种可信访问认证处理方法、用户终端和服务端
KR19990072733A (ko) 데이터네트워크상의박형의클라이언트장치와서버장치사이에암호-발효프로세스를실행시키기위한방법및장치
CN112425136A (zh) 采用多方计算(mpc)的物联网安全性
AU2012202300B2 (en) Re-keying over a bidirectional communication path
Mannan et al. A protocol for secure public Instant Messaging (extended version)
CN102474503A (zh) 客户端安全访问消息存储服务器的方法和相关设备
Hallsteinsen A study of user authentication using mobile phone
Kuznietsov Secure peer to peer communication application for iOS
NO327337B1 (no) En anordning og en metode for sterk brukerautentisering og kryptering av brukerdata i private virtuelle nettverk

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
J201 Request for trial against refusal decision
AMND Amendment
B601 Maintenance of original decision after re-examination before a trial
E801 Decision on dismissal of amendment
J301 Trial decision

Free format text: TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20080723

Effective date: 20090821