KR100827650B1 - 그룹에 참여하도록 초대된 잠재적 회원을 인증하는 방법 - Google Patents

그룹에 참여하도록 초대된 잠재적 회원을 인증하는 방법 Download PDF

Info

Publication number
KR100827650B1
KR100827650B1 KR1020030022576A KR20030022576A KR100827650B1 KR 100827650 B1 KR100827650 B1 KR 100827650B1 KR 1020030022576 A KR1020030022576 A KR 1020030022576A KR 20030022576 A KR20030022576 A KR 20030022576A KR 100827650 B1 KR100827650 B1 KR 100827650B1
Authority
KR
South Korea
Prior art keywords
encryption key
challenge
generating
visitor
invitation
Prior art date
Application number
KR1020030022576A
Other languages
English (en)
Other versions
KR20030084604A (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 KR20030084604A publication Critical patent/KR20030084604A/ko
Application granted granted Critical
Publication of KR100827650B1 publication Critical patent/KR100827650B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/065Network architectures or network communication protocols for network security for supporting key management in a packet data network for group communications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/104Grouping of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • 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
    • H04L9/0844Key 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 with user authentication or key authentication, e.g. ElGamal, MTI, MQV-Menezes-Qu-Vanstone protocol or Diffie-Hellman protocols using implicitly-certified keys
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • General Health & Medical Sciences (AREA)
  • Tourism & Hospitality (AREA)
  • Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Storage Device Security (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

방문자가 그룹에 참여하기 위한 허가를 얻는 방법이 개시된다. 그룹의 초청자 및 방문자는 비밀 패스워드를 공유한다. 초청자는 이 비밀 패스워드를 사용하여 초대장을 생성하고 이 초대장을 방문자 및 인증자에게 발행한다. 인증자는 시도 키 및 시도값을 생성하여, 이 시도값을 방문자에게 전송한다. 이 비밀 패스워드, 및 초청장으로부터의 정보를 사용하여, 방문자는 시도키를 재생성하고, 이 시도키를 사용하여 시도값으로부터 응답값을 도출하고, 이 응답값을 인증자에게 전송한다. 인증자는 이 응답값을 예측된 값과 비교하여, 이 2개의 값이 서로 일치하면, 방문자가 시도키를 재생성할 수 있음을 확인한다. 인증자는 방문자가 초청자의 초대장을 받은 방문자임을 신뢰하고, 방문자가 그룹에 참여하는 것을 허가한다.
컴퓨터 통신, 애드 호크 그룹, 비밀 패스워드, 암호키, 결정 함수

Description

그룹에 참여하도록 초대된 잠재적 회원을 인증하는 방법{METHODS FOR AUTHENTICATING POTENTIAL MEMBERS INVITED TO JOIN A GROUP}
도 1은 초청자 및 한 쌍의 인증자를 포함하는 예시적인 애드 호크 그룹, 및 그룹 외부에 있는 방문자 및 도청자를 나타내는 블록도.
도 2는 본 발명을 지원하는 예시적인 컴퓨터 시스템을 나타내는 개략도.
도 3a 및 3b는 본 발명의 일 태양에 따라 방문자가 애드 호크 그룹에 참여하는 것을 허가할 때, 전달되는 메시지 및 행해지는 동작을 나타내는 데이터 흐름도.
도 4는 초대장을 발행할 때, 초청자에 의해 행해지는 예시적인 방법을 나타내는 플로우차트.
도 5는 본 발명의 일 태양에 따른 예시적인 초대의 내용을 나타내는 데이터 구조도.
도 6은 초대장을 확인하고 방문자에게 시도를 할 때, 인증자에 의해 행해지는 예시적인 방법을 나타내는 플로우차트.
도 7은 본 발명의 일 태양에 따른 예시적인 시도의 내용을 나타내는 데이터 구조도.
도 8은 시도에 응답할 때, 방문자에 의해 행해지는 예시적인 방법을 나타내는 플로우차트.
<도면의 주요부분에 대한 부호의 설명>
100 : 애드 호크 그룹
102 : 초청자(컴퓨팅 장치)
104 : 인증자
106 : 방문자
108 : 도청자
200 : 프로세싱 유니트
202 : 메모리
206 : 유동성 기억 장치
208 : 비유동성 기억 장치
210 : 통신 채널
212 : 입력 장치
214 : 출력 장치
본 발명은, 컴퓨터 통신에 관한 것으로서, 특히, 네트워크 그룹에 참여하도록 초대된 잠재적 회원의 인증에 관한 것이다.
"애드 호크(ad hoc)" 컴퓨터 그룹에서, 각각의 컴퓨터는 컴퓨팅 자원 및 서비스와 직접 대화하고, 그룹의 다른 컴퓨터와 컴퓨팅 자원 및 서비스를 공유한다. 이러한 형태의 그룹은, 모든 회원의 컴퓨팅 파워를 결합하여 전체 그룹에 이익이 되게 한다. 예를 들어, 상당한 컴퓨팅 파워 및 자원에 대한 큰 컴퓨팅 작업 호출을 그룹의 다수의 회원들에게 분배할 수 있고, 컴퓨팅 결과를 다수의 회원들간에 직접 공용할 수 있다. 또한, 이러한 그룹은, 이전에 한번도 그룹에 접속하지 못한 새로운 회원이 그룹에 참여할 수 있게 한다.
애드 호크 그룹을 관리, 지원하기 위해, 각각의 컴퓨터는, 다른 그룹 회원들과 소정의 방법으로 상호 작용할 수 있는 특권으로서 정의된 3개의 기본 역할 중의 한 역할을 담당한다. 이 3개의 기본 역할은 소유자, 초청자 및 인증자이다. 소유자는 그룹을 설립하고, 새로운 회원을 그룹에 참여하도록 초청하는 특권, 새로운 회원을 인증하고 새로운 회원을 그룹에 참여하도록 허가하는 특권, 회원의 역할을 변경시키는 특권, 및 그룹에 대한 정보를 변경시키는 특권을 포함하여 그룹에서 정의된 모든 특권을 가진다. 초청자는 그룹 정보를 변경시키는 특권을 제외하고는 소유자와 동일한 특권을 가진다. 인증자는 그룹에 참여하고자 하는 새로운 회원을 인증할 수 있지만, 새로운 회원을 그룹에 참여하도록 초대하는 특권을 가지지 못한다.
보안은 애드 호크 그룹에서 중요한 문제이다. 그룹의 보안을 유지하기 위해, 그룹에 참여하려고 하는 새로운 잠재적 회원은 인증 증거를 그룹의 인증자와 교환한다. 이 인증 처리는, 새로운 그룹 회원이 직접 대화하고자 하는 모든 그룹 회원과 새로운 그룹 회원에 의해 반복된다(제1 그룹 회원은, 제1 및 제2 회원이 인증한 제3 회원을 통해 정보를 전달함으로써, 인증하지 않은 제2 그룹 회원과 간접 적으로 대화할 수 있다. 이러한 간접적인 통신 방법은 항상 유용할 수 있지만, 본 발명의 설명에 영향을 주지 않으므로, 다시 설명하지 않는다). 고정 회원을 가지는 그룹과는 달리, 애드 호크 그룹의 새로운 회원은 어느 때라도 그룹에 참여하기를 요구할 수 있다. 그룹의 인증자가 그룹의 모든 잠재적 회원에 대한 인증 정보를 유지할 수는 없다.
애드 호크 그룹의 인증 과정은 더욱 큰 문제점이 있을 수 있어, 새로운 잠재적 회원이 새로운 회원을 그룹에 참여하도록 초대하는 특권을 가지지 못하는 인증자와 대화하려고 할 수 있다는 것이다. 예를 들어, Alice는 인증자 Bob과 대화하기 위해 애드 호크 그룹에 참여하려고 한다. Trent는 그룹의 초청자이다. Alice가 Trent로부터 그룹에 참여하기 위한 초대장을 얻지만, Bob과 대화하기 위해 Bob에 의해 인증되기를 원한다. Trent가 Alice를 인증하고(그렇지 않으면, Trent는 Alice를 그룹에 참여하려고 초대하지 않음), Bob는 Trent를 신뢰하고 Trent가 Alice에게 준 초대장을 신뢰하지만, Bob은 Alice에 대해 아무 것도 알지 못하므로, Alice를 신뢰하지 않는다. Alice가 그룹에 참여하는 것을 허가하기 전에, Bob은 Trent에 대한 신뢰를 Alice에게 전송할 필요가 있다.
그룹의 인증자가 그룹의 확립된 초청자의 신뢰를 잠재적인 그룹 회원에게 안전하게 전송하는 메커니즘이 요구된다.
상술한 관점에서, 본 발명은, 그룹의 초청자와의 신뢰 관계를 확립하고 초청자에 의해 그룹에 참여하도록 초대된 컴퓨터가, 인증자에 의해 그룹에 참여하는 것 을 인증되게 하기 위해 그 신뢰 관계를 이용하는 방법을 제공한다.
초청자 및 방문자는 아무에게도 알려지지 않은 것으로 여겨지는 비밀 패스워드를 공유한다. 초청자는 공유된 비밀 패스워드를 입력으로서 가지는 결정 함수를 실행함으로써, 제1 공용/개인 암호키 쌍을 생성한다(함수로의 다른 입력은 타임스탬프, 및 초청자, 방문자 및 그룹의 식별자를 포함할 수 있다). 그 후, 초청자는 방문자에게 초대장을 발행한다. 초대장은, 공유된 비밀 패스워드를 제외한 결정 함수에 대한 다른 입력과 함께, 제1 공용/개인 암호키 중에서 공용 암호키를 포함한다. 표준 암호화 기술을 사용하여, 초청자는 초대장에 초청자의 개인 암호키로 서명한다(주의: 초청자의 개인 암호키는 초청자가 방금 생성한 제1 공용/개인 암호키 쌍과 관련된 것이 아니다). 이 초대장은 방문자 및 그룹의 인증자 모두에게 알려지도록 발행된다.
초대장이 그룹의 초청자에 의해 발행된 것임을 확인하기 위해, 그룹의 모든 초청자의 공용 암호키를 알고 있는 인증자는 초청자의 서명을 확인한다. 초대장이 유효하면, 인증자는 방문자의 신원을 인증하려고 한다. 인증자는 제2 공용/개인 암호키 쌍을 생성한다. 공지의 Diffie-Hellman(이하, 'DH'라 함) 이론을 적용하여, 인증자는, 제1 공용/개인 암호키 쌍의 공용 암호키 및 제2 공용/개인 암호키 쌍의 개인 암호키로부터 공유된 시도 암호키를 생성한다. 방문자가 이 공유된 시도 암호키를 재생성할 수 있는지의 여부를 확인하기 위해, 인증자는 시도값 및 예측된 시도 응답값을 생성한다. 시도값 및 예측된 시도 응답값은 공유된 시도 암호 키를 포함하는 실행 의존 동작에 의해 서로 링킹되어 있다. 인증자는 시도값을 제2 공용 암호키와 함께 방문자(106)에게 전송한다.
시도를 수신하면, 방문자는 초청자의 동작과 유사한 동작을 행한다. 초대장의 내용, 및 초청자와 공유하는 비밀 패스워드의 방문자의 인식을 사용하여, 방문자는 초청자에 의해 생성된 제1 개인 암호키를 재생성한다. DH 이론을 적용하여, 방문자는 제1 공용/개인 암호키 쌍의 재생성된 개인 암호키 및 제2 공용/개인 암호키 쌍의 공용 암호키로부터 공유된 시도 암호키를 재생성한다. 공유된 시도 암호키가 재생성되면, 방문자는 이 공유된 시도 암호키를 사용하여 수신된 시도값에 대해 실행 의존 동작을 행한다. 그 후, 방문자는 이 동작의 결과를 시도 응답값으로서 인증자에게 다시 전송한다.
인증자는 방문자로부터 수신된 시도 응답값을 자신의 예측된 시도 응답값과 비교한다. 이 2개의 값이 일치하면, 인증자는 이 방문자가 초청자의 초대장을 받은 방문자임을 신뢰한다. 제3자가 공유된 비밀 패스워드를 알 수 없으므로, 제3자는 공유된 시도 암호키를 정확하게 재생성할 수 없고, 시도값으로부터 시도 응답값을 도출하는 동작을 행할 수 없다. 그 후, 인증자는 방문자가 그룹에 참여하는 것을 허가한다.
따라서, 공유된 비밀 패스워드로 나타내는 초청자와 방문자간의 신뢰는, 방문자와 인증자간의 신뢰를 확립하는 기본이 된다. 선택적인 특징으로서, 인증자는 그 자신을 방문자에게 인증하여 상호 인증 과정을 종료한다.
이제 그룹 회원이 된 방문자는 초대장을 재사용하여 그 자신을 그룹의 다른 회원에게 인증할 수 있다(초청자는, 초대장이 한번만 사용되게 하거나 시간 제한을 둠으로써, 이러한 능력을 제한할 수 있다).
첨부된 특허청구범위에 본 발명의 특징을 구체적으로 기재되어 있지만, 첨부된 도면을 참조하여 상세한 설명을 통해 본 발명의 목적 및 이점을 가장 잘 이해할 수 있다.
도면을 참조하면, 동일 도면 부호는 동일 부재를 나타내며, 본 발명은 적당한 컴퓨팅 환경에서 구현되는 것으로서 나타낸다. 다음과 같은 설명은, 본 발명의 실시예에 기초한 것이고, 여기서 명백하게 설명하지 않는 대체 실시예에 관하여 본 발명의 범위를 제한하는 것으로 이해되어서는 안된다.
다음과 같은 설명에서, 본 발명은, 달리 나타내지 않으면, 하나 이상의 컴퓨팅 장치에 의해 행해지는 단계, 및 동작의 기호 표현을 참조하여 설명한다. 이와 같이, 컴퓨터에 의해 행해지는 이러한 단계 및 동작은, 구조적 형태의 데이터를 표현하는 전기 신호의 컴퓨팅 장치의 프로세싱 유니트에 의한 조작을 포함한다. 이러한 조작은 데이터를 변환하거나, 데이터를 컴퓨팅 장치의 메모리 시스템의 위치에서 유지하며, 당업자에게 인식되는 방법으로 장치의 동작을 재구성하거나 변경한다. 데이터가 유지되는 데이터 구조는, 데이터의 형식에 의해 정의된 소정의 특성을 가지는 메모리의 물리적 위치이다. 그러나, 본 발명을 상술한 관점에서 설명하였지만, 당업자가 이하 설명하는 각종 단계 및 동작을 하드웨어로 구현할 수 있음을 인식할 수 있으므로, 한정적인 것이 아니다.
본 발명은, 컴퓨팅 장치의 애드 호크 그룹에 참여하도록 초대된 잠재적 회원 을 인증하는 방법을 제공한다. 도 1에서, 애드 호크 그룹(100)의 현재 회원은 초청자(102) 및 인증자(104)를 포함한다. 초청자(102)는 애드 호크 그룹(100)의 현재 외부에 있는 장치, 즉, 컴퓨팅 장치(106)(방문자)와 통신한다. 초청자(102) 및 방문자(106)는, 서로 공유하는 비밀 패스워드로 나타낸 바와 같이, 서로 신뢰한다. 이 신뢰에 기초하여, 초청자(102)는 방문자(106)를 그룹(100)에 참여하도록 초대한다. 그러나, 방문자(106)는 초청자(102)와 통신하기 보다는 인증자(104)와 통신하기 위해 그룹(100)에 참여하려고 한다. 방문자(106)가 그룹(100)에 참여하도록 초대되었다면 인증자(104)가 방문자(106)를 인증할 수 있지만, 인증자(104)는 방문자(106)를 참여하도록 초대하는 특권을 가지지 못한다. 인증자(104)는 방문자(106)를 신뢰할 이유가 없다. 따라서, 본 발명은, 방문자(106)에 대한 초청자(102)의 신뢰가 인증자(104)에게 전송되는 방법을 제공한다. 이에 따라, 방문자(106)를 신뢰함으로써, 인증자(104)는 방문자(106)가 그룹(100)에 참여하는 것을 허가한다.
다수의 애드 호크 그룹의 통신은 악의의 도청자에 의해 도청될 염려가 있다. 특히, 무선 통신 기술을 사용하는 그룹은 도청당하기 쉽다. 도청자(108)가 방문자(106)의 인증시 전송되는 정보를 도청하면, 도청자는 이 정보를 사용하여 애드 호크 그룹(100)으로의 허가를 얻을 수 있다. 본 발명의 방법은, 모든 인증 정보(초청자(102)와 방문자(106)간에 공유되는 비밀 패스워드만은 제외)가 도청자(108)에게 도청되더라도, 그룹(100)에 보안을 제공하도록 설계된다. 또한, 본 발명의 방법은, 인증자(104)가 비밀 패스워드를 알 필요가 전혀 없기 때문에, 비밀 패스워드의 보안을 유지할 수 있다.
도 1의 초청자(102), 인증자(104) 및 방문자(106)는 임의의 아키텍쳐일 수 있다. 도 2는 본 발명을 지원하는 예시적인 컴퓨터 시스템을 나타내는 블록도이다. 도 2의 컴퓨터 시스템은 적당한 환경의 일례일 뿐이고, 본 발명의 사용 또는 기능의 범위를 제한하고자 하는 것은 아니다. 또한, 컴퓨팅 장치(102)가 도 2에 도시된 부재 중의 하나 또는 조합에 관한 의존성 또는 조건을 가지는 것으로서 해석되어서는 안된다. 본 발명은, 다수의 다른 범용 또는 전용 컴퓨팅 환경 또는 구성으로 동작가능하다. 본 발명에 사용하기에 적당한 공지의 컴퓨팅 시스템, 환경 및 구성의 예는, 개인용 컴퓨터, 서버, 휴대형 또는 랩톱 장치, 멀티프로세서 시스템, 마이크로프로세서 기반 시스템, 셋톱 박스, 프로그래밍가능 소비자 일렉트로닉스, 네트워크 PC, 미니컴퓨터, 메인프레임 컴퓨터, 및 상술한 시스템 또는 장치의 일부를 포함하는 분산 컴퓨팅 환경일 수 있지만, 이에 한정되지 않는다. 가장 기본적인 구성에서, 컴퓨팅 장치(102)는 하나 이상의 프로세싱 유니트(200) 및 메모리(202)를 포함한다. 메모리(202)는 휘발성(예, RAM), 비휘발성(예, ROM 또는 플래시 메모리), 또는 이 2개의 메모리의 조합일 수 있다. 가장 기본적인 구성은 도 2에 점선(204)으로 나타낸다. 컴퓨팅 장치(102)는 추가적인 특성 및 기능을 가질 수 있다. 예를 들어, 컴퓨팅 장치(102)는 자기 및 광 디스크, 및 테이프를 포함하는 추가 기억 장치(착탈식 및 비착탈식)을 포함할 수 있지만, 이에 한정되지 않는다. 이러한 추가 기억 장치는 도 2에 착탈식 기억 장치(206) 및 비착탈식 기억 장치(208)로 나타낸다. 컴퓨터 기억 매체는, 컴퓨터 판독가능 명령, 데이터 구조, 프로그램 모듈 또는 다른 데이터와 같은 정보의 기억을 위한 임의의 방법 또는 기술로 구현되는 휘발성 및 비휘발성, 유동성 및 비유동성 매체를 포함한다. 메모리(202), 착탈식 기억 장치(206) 및 비착탈식 기억 장치(208)는 컴퓨텅 기억 매체의 예이다. 컴퓨터 기억 매체는, RAM, ROM, EEPROM, 플래시 메모리, 다른 메모리 기술, CD-ROM, DVD, 다른 광 기억 장치, 자기 카세트, 자기 테이프, 자기 디스크 기억 장치, 다른 자기 기억 장치, 및 원하는 정보를 기억하는데 사용될 수 있고 컴퓨팅 장치(102)에 의해 액세스될 수 있는 다른 매체를 포함하지만, 이에 한정되지 않는다. 이러한 컴퓨터 기억 매체는 컴퓨팅 장치(102)의 일부일 수 있다. 또한, 컴퓨팅 장치(102)는, 컴퓨팅 장치를 다른 장치와 통신하게 하는 통신 채널(210)을 포함할 수 있다. 통신 채널(210)은 통신 매체의 예이다. 통상, 통신 매체는, 컴퓨터 판독가능 명령, 데이터 구조, 프로그램 모듈, 또는 반송파, 다른 전달 메커니즘과 같은 변조 데이터 신호의 다른 데이터를 포함하고, 임의의 정보 전달 매체를 포함한다. "변조 데이터 신호"라는 용어는, 신호의 정보를 인코딩하는 방법으로 설정 또는 변경시킨 하나 이상의 특징을 가지는 신호를 의미한다. 예를 들어, 통신 매체는 유선 네트워크, 직접 유선 접속과 같은 유선 매체, 및 어코스틱, RF, 적외선과 같은 무선 매체 및 다른 무선 매체를 포함한다. 여기서 사용되는 "컴퓨터 판독가능 명령"이라는 용어는, 저장 매체 및 통신 매체를 모두 포함한다. 또한, 컴퓨팅 장치(102)는 키보드, 마우스, 펜, 음성 입력 장치, 터치 입력 장치 등과 같은 입력 장치(212)를 포함할 수 있다. 또한, 표시부, 스피커, 프린터와 같은 출력 장치(214)를 포함할 수 있다. 이러한 장치 모두는 당업자에게 알려져 있으므로, 여기서는 상세히 설명하지 않는다.
도 3a 및 3b는, 본 발명의 일 태양에 따라 방문자(106)의 인증시 초청자(102), 방문자(106) 및 인증자(104)에 의해 전달되는 메시지 및 행해지는 동작을 나타낸다. 2개의 도면의 설명 부분은 본 발명의 일 실시예의 개요를 제공한다. 자세한 내용은 도 4 내지 도 8을 참조하여 설명한다. 도 3a 및 3b에서, 시간 흐름은 아래 방향으로 진행하고, 도 3a에서 도 3b로 진행한다.
본 발명의 실시예는, 단계 300에서, 초청자(102) 및 방문자(106)가 아무에게도 알려지지 않은 것으로 여겨지는 비밀 패스워드를 공유함으로써 시작한다. 이 비밀 패스워드를 공유하는 방법은 본 발명의 범위 밖이지만, 보안은 여기서 매우 중요하다. 도청자(108)가 공유된 비밀 패스워드를 알게 되면, 애드 호크 그룹(100)의 보안은 위태롭게 된다.
단계 302에서, 초청자(102)는 방문자(106)를 위한 초대장을 생성한다. 초청자(102)는 공유된 비밀 패스워드를 입력으로서 가지는 결정 함수를 실행함으로써, 제1 공용/개인 암호키 쌍을 생성한다. 타임스탬프, 및 초청자(102), 방문자(106) 및 애드 호크 그룹(100)의 식별자와 같은 결정 함수에 대한 다른 입력을 사용하여, 초대장이 시기 적절하고 의도된 사람에 의해서만 사용가능하다는 것을 확신할 수 있다. 그 후, 초청자(102)는, 공유된 비밀 패스워드를 제외한 결정 함수에 대한 다른 입력과 함께, 제1 공용/개인 암호키 쌍 중에서 공용 암호키를 포함하는 초대장을 생성한다. 표준 암호화 기술을 사용하여, 초청자(102)는 초대장에 초청자(102)의 개인 암호키로 서명한다(주의: 초청자(102)의 개인 암호키는 초청자(102)가 방금 생성한 제1 공용/개인 암호키 쌍과 관련된 것이 아니다). 단계 304에서, 방문자(106) 및 인증자(104)에 대해 초대장을 발행한다.
단계 306에서, 인증자(104)는 초대장이 애드 호크 그룹(100)의 회원에 의해 발행되었음을 확인하려고 한다. 그룹(100)의 모든 회원의 공용 암호키를 알고 있는 인증자(104)는 초대장에 있는 초청자(102)의 서명을 확인한다. 초대장이 유효하면, 인증자(104)는 방문자(106)의 신원을 인증하려고 한다. 신원을 인증하기 위해, 단계 308에서, 인증자(104)는 제2 공용/개인 암호키 쌍을 생성한다. 공지의 DH 이론을 적용하여, 인증자(104)는 제1 공용/개인 암호키 쌍의 공용 암호키 및 제2 공용/개인 암호키 쌍의 개인 암호키로부터 공유된 시도 암호키(shared challenge encryption key)를 생성한다. 방문자(106)가 이 공유된 시도 암호키를 재생성할 수 있는지의 여부를 확인하기 위해, 인증자(104)는 시도값(challenge value) 및 예측된 시도 응답값을 생성한다. 시도값 및 예측된 시도 응답값은 공유된 시도 암호키를 포함하는 실행 의존 동작에 의해 서로 링킹되어 있다. 이러한 동작의 일부 예는, 도 6의 설명 부분에 기재되어 있다. 단계 310에서, 인증자(104)는 시도값을 제2 공용 암호키와 함께 방문자(106)에게 전송한다.
시도를 수신하면, 단계 312에서, 방문자(106)는 단계 302에서의 초청자(102)의 동작과 유사한 동작을 행한다. 초대장의 내용, 및 초청자(102)와 공유하는(단계 300) 비밀 패스워드의 방문자(106)의 인식을 사용하여, 방문자는 초청자(102)에 의해 생성된 제1 개인 암호키를 재생성한다. DH 이론을 적용하여, 방문자(106)는 제1 공용/개인 암호키 쌍의 재생성된 개인 암호키 및 제2 공용/개인 암호키 쌍의 공용 암호키로부터 공유된 시도 암호키를 재생성한다. 공유된 시도 암호키가 재생성되면, 방문자(106)는 이 공유된 시도 암호키를 사용하여 수신된 시도값에 대해 실행 의존 동작을 행한다. 단계 314에서, 방문자(106)는 이 동작의 결과를 시도 응답값으로서 인증자(104)에게 다시 전송한다.
단계 316에서, 인증자(104)는 방문자(106)로부터 수신된 시도 응답값을 단계 308에서 인증자(104)에 의해 생성된 예측된 시도 응답값과 비교한다. 이 2개의 값이 일치하면, 인증자(104)는 이 방문자(106)가 초청자(102)의 초대장을 받은 방문자임을 신뢰한다. 제3자가 공유된 비밀 패스워드를 알 수 없으므로, 제3자는 공유된 시도 암호키를 정확하게 재생성할 수 없고, 시도값으로부터 시도 응답값을 도출하는 동작을 행할 수 없다. 그 후, 인증자(104)는 방문자(106)가 애드 호크 그룹(100)에 참여하는 것을 허가한다.
선택적인 특징으로서, 단계 318에서, 인증자(104)는 공지의 기술을 사용하여 그 자신을 방문자에게 인증하고, 상호 인증 과정을 종료한다. 도 3a 및 3b의 방법은, 방문자(106)가 그 자신을 다른 인증자(104)에게 인증하려고 할 때, 반복될 수 있다(초대장이 한번만 사용되도록 생성되지 않거나 기간이 만료되지 않으면).
도 4의 플로우차트는, 초대장 생성시 초청자(102)의 동작을 상세히 나타낸다. 도 3a의 단계 300에서, 초청자(102) 및 방문자(106)는 비밀 패스워드를 공유한다. 도 4의 단계 400 내지 단계 404에서, 초청자(102)는 공유된 비밀 패스워드로부터 제1 공용/개인 암호키 쌍을 생성한다. 구체적으로 말하면, 단계 400에서, 초청자(102)는 공유된 비밀 패스워드를 입력으로서 결정 함수 f()에 전달한다. 함 수가 출력으로서 큰 수를 만들어 내는 한, 드문 경우이지만, 2개의 서로 다른 입력에 대해 동일한 출력을 만든다 하더라도, 다수의 함수는 함수 f()로서 기능할 수 있다. 2개의 기준을 만족하는 가능한 함수 f()는 암호화 해시 함수이다.
공유된 비밀 패스워드에 더하여, 결정 함수 f()는 다른 입력을 가질 수도 있다. 초대장의 수신자는 이러한 다른 입력을 사용하여, (1) 초대장이 적당한 자에 의해 제공되는지의 여부("특이성" 정보), 및 (2) 초대장이 신뢰하기에 너무 오래되지 않았는지의 여부("유효성" 정보)를 인식하게 된다. (1)에 대해, 입력은 애드 호크 그룹(100), 초청자(102) 및 방문자(106)의 식별자를 포함할 수 있다. 유효성 정보는, 초대장이 발행된 시기를 나타내는 타임스탬프의 형태로 또는 초대장이 유효한(예를 들어, "...에 의해 사용되면 최적인") 기간으로서 제공된다.
어떠한 경우에도, 단계 402에서, 결정 함수 f()의 출력을 사용하여 제1 개인 암호키를 생성한다. 일 실시예에서, 다음과 같은 수학식 1이 사용된다.
Figure 112008015312712-pat00015
여기서, PrivateKey1은 제1 개인 암호키이고, f()는 결정 함수이고, s는 초청자(102)와 방문자(106)간에 공유되는 비밀 패스워드이고, ...은 f()로의 선택적인 유효성 및 특이성 입력을 나타내고, p는 큰 소수(prime number)(더 나은 보안을 위해, 512 비트 이상이 바람직함)이다.
그 후, 단계 404에서, 초청자(102)는 제1 개인 암호키와 관련된 제1 공용 암 호키를 생성한다. 일 실시예에서, 다음과 같은 공지의 수학식 2가 사용된다.
Figure 112008015312712-pat00016
여기서, PublicKey1은 제1 개인 암호키 PrivateKey1에 대응하는 제1 공용 암호키이고, g는 큰 소수 p에 대한 제너레이터(즉, p보다 작은 임의의 자연수 x에 대해, gy modulo p = x가 되도록 다른 수 y가 존재함)이다.
단계 406에서, 초청자(102)는, 초대장을 생성하는데 사용되는 정보의 일부와 함께 제1 공용 암호키를 패키징한다. 도 5는 예시적인 초대장(500)을 나타낸다. 제1 공용 암호키 필드(502)와 함께, 초대장(500)은 특이성 정보, 즉, 초대장의 의도된 사용에 대한 정보를 포함한다. 여기서, 필드(506)에서 식별되는 초청자는 필드(508)의 방문자를 필드(504)의 그룹에 참여하도록 초대한다. 초대장(500)이 새로운 동안만 사용될 수 있다는 것을 확인하기 위해, 초대장(500)은, 유효성 정보, 여기서는 초대장(500)이 발행된 시간을 제공하는 타임스탬프(510)를 포함한다. 결정 함수 f()는 필드(512)에 포함된다. 예시적인 초대장(500)에서, 함수 f()를 사용하여 제1 개인 암호키를 생성할 때, 함수 f()로의 입력은 특이성 정보(필드 504 내지 508), 유효성 정보(필드 510) 및 공유된 비밀 패스워드를 포함한다. 공유된 비밀 패스워드는 초대장(500)에 포함되지 않는다.
초청자(102)는 초대장(500)을 발행하기 전에 하나 이상의 동작을 행한다. 단계 408에서, 초청자(102)는 표준 암호화 기술을 사용하여 초대장(500)에 서명한 다. 서명하기 위해, 초청자(102)는 초대장(500)에 포함되는 정보의 일부 또는 전부를 취하고, 이 정보를 해싱한 후, 그 결과를 초청자(102) 자신의 개인 암호키로 암호화한다. 암호화된 결과는 초대장의 필드(514)에 포함되는 서명이다. 초청자(102)의 개인 암호키는 아무에게도 알려져 있지 않다. 초청자(102)의 개인 암호키는 단계 400 내지 단계 404에서 생성된 제1 공용/개인 암호키와 관련된 것이 아니다.
단계 304에서, 방문자(106) 및 인증자(104)가 초대장의 정보를 액세스할 수 있도록, 초청자(102)는 초대장(500)을 공표한다. 초대장(500)이 분명한 메시지의 형태를 가질 필요는 없다. 초대장(500)의 정보는 각종 방법으로, 예를 들어, 메시지를 전송함으로써, 알려진 액세스가능한 지점에 배치함으로써, 또한 정보의 일부를 미리 동의함으로써, 공표될 수 있다. 마지막 경우는, 관련된 소수 및 제너레이터를 가지는 결정 함수 f()에 의해 나타내며, 이는 애드 호크 그룹(100)과 동작하기 위한 공표된 표준의 일부일 수 있으므로, 더이상의 공표를 필요로 하지 않는다. 어떤 공표 수단을 선택하는지에 관계없이, 초대장(500)의 정보는 도청자(108)에 의해 액세스가능하다. 아래에서 상세히 설명하는 본 발명의 방법은, 도청자(108)가 그룹(100)으로의 허가를 얻기 위해 이 정보를 사용함으로써 그룹(100)의 보안을 해치는 것을 방지하도록 설계된다.
도 6의 플로우차트는, 초대장(500)에 응답하여 인증 시도를 발행할 때, 인증자(104)의 동작을 상세히 설명한다. 인증자(104)가 초대장(500)을 어느 정도는 인식하게 되며, 방문자(106) 또는 초청자(102)가 초대장(500)을 인증자(104)에게 전송하거나, 인증자(104)가 초대를 유지하는 것으로 알려진 액세스가능한 지점을 조사할 수 있다. 어떠한 경우에도, 단계 306에서, 인증자(104)는 초대장(500)을 확인한다. 이 확인에는 2개의 부분이 있다. 우선, 인증자(104)는, 있다면, 초대장에 포함되는 특이성 및 유효성 정보를 조사한다. 예시적인 초대장(500)에서, 인증자(104)는 필드(504)를 조사하여 초대장(500)이 적당한 애드 호크 그룹(100)으로의 입장을 위해 제공되는지 확인한다. 필드(506)는 새로운 회원을 그룹(100)에 참여하도록 초대하는 특권을 가지는 것으로 인증자(104)에 의해 알려진 초청자(102)의 식별자를 포함하여야 한다. 초대장(500)은 필드(508)에서 식별되는 방문자(106)에 의해 인증자(104)에게 제공되어야 한다. 최종으로, 인증자(104)는 초대장(500)이 현재 유효한지를 확인하기 위해 타임스탬프(510)를 조사한다. 이러한 조건의 일부라도 만족되지 않으면, 인증자(104)는 초대장(500)을 폐기하고 더이상의 행동을 취하지 않는다.
초대장(500)의 확인의 2번째 부분에서, 인증자(104)는 표준 암호화 기술을 사용하여 서명(514)을 확인한다. 구체적으로 말하면, 애드 호크 그룹의 모든 초청자의 공용 암호키를 알고 있는 인증자(104)는, 초청자(102)(초대장(500)의 필드(506)에서 식별됨)의 공용 암호키를 사용하여 서명(514)을 해독한다(주의: 초청자(102)의 공용 암호키는 초대장(500)의 필드(502)에 포함되는 제1 공용 암호키와 관련된 것이 아니다). 서명이 초대장(500)의 다른 정보로부터 직접 생성되지 않았으면, 인증자(104)는 해독된 서명을 초대장(500)의 필드에 포함되는 다른 정보와 비교한다. 대부분의 경우처럼, 서명(514)이 초대장(500)의 정보의 해시로부터 형성되었다면, 인증자(104)는 초대장(500)의 정보로부터 해시를 재생성하고, 이 결과로서의 해시를 해독된 서명과 비교한다. 둘 중의 한 경우, 결과가 일치하면, 인증자(104)는 초대장이 필드(506)에서 식별되는 초청자(102)에 의해 실제로 발행되었음을 신뢰할 수 있다. 초청자(102) 이외의 자는 초청자(102)의 공용 암호키에 대응하는 개인 암호키를 알 수 없으므로, 어떠한 자도 초청자(102)의 공용 암호키로 해독된 시기를 정확하게 확인하는 서명(514)을 생성할 수 없다. 서명(514)을 확인할 수 없으면, 인증자(104)는 초대장(500)을 폐기하고 더이상의 행동을 취하지 않는다.
인증자(104)는, 유효한 초대장(500)이라고 확인하면, 도 6의 단계 600 내지 단계 608에서, 방문자(106)의 신원 확인, 즉, 방문자(106)라고 자칭하는 자가 초청자(102)가 발행한 초대장(500)의 방문자와 실제로 동일한지의 여부를 판정한다. 단계 600에서, 인증자(104)는 랜덤 제2 개인 암호키를 생성한다. 대응하는 제2 공용 암호키는 다음과 같은 공지의 수학식으로 생성된다.
Figure 112008015312712-pat00017
여기서, PrivateKey2는 랜덤하게 생성된 제2 개인 암호키이고, PublicKey2는 제2 개인 암호키 PrivateKey2에 대응하는 제2 공용 암호키이고, p는 상술한 수학식 1에서 초청자(102)에 의해 사용되는 동일한 큰 소수이고, g는 수학식 2에서 초청자(102)에 의해 사용되는 큰 소수 p에 대한 동일한 제너레이터이다.
단계 602에서, 인증자(104)는 DH 이론을 단계 600에서 생성된 제1 공용 암호 키(초대장(500)의 필드(502)에 포함됨) 및 제2 개인 암호키에 적용하여 공유된 시도 암호키를 생성한다. 이 수학식 3은 다음과 같다.
Figure 112008015312712-pat00018
여기서, ChallengeKey는 공유된 시도 암호키이고, PublicKey1은 초대장(500)의 필드(502)로부터의 제1 공용 암호키이고, PrivateKey2는 도 6의 단계 600에서 랜덤하게 생성된 제2 개인 암호키이고, p는 수학식 1에서의 초청자(102)에 의해 사용되는 동일한 큰 소수이다.
인증자(104)는 시도값 및 예측된 시도 응답값을 생성한다. 시도값 및 예측된 시도 응답값은 공유된 시도 암호키를 포함하는 실행 의존 동작에 의해 서로 링크되어 있다. 즉, 장치가 공유된 시도 암호키를 알고 있다면, 장치는 시도값으로부터 예측된 시도 응답값을 도출할 수 있다. 다수의 동작 중 임의의 동작을 행할 수 있다. 도 6에 도시된 제1 실시예에서, 단계 604에서, 인증자(104)는 랜덤값을 생성하고, 이 랜덤값을 예측된 시도 응답값에 할당한다. 선택적으로는, 인증자(104)는 랜덤값을 애드 호크 그룹(100), 인증자(104) 및 방문자(106)의 신원의 해시와 같은 애드 호크 그룹(100), 인증자(104) 및 방문자(106)의 신원의 해시와 같은 특이성 정보와 논리적으로 결합시킬 수 있다(예를 들어, 비트 단위의 XOR 함수를 사용함). 그 후, 단계 606에서, 인증자(104)는, 단계 602에서 생성된 공유된 시도 암호키 및 사이퍼(cipher)를 사용하여, 인증자(104)가 선택하여 사용한 특이성 정보와 논리적으로 결합된 랜덤값을 암호화함으로써, 시도값을 생성한다. 시도를 수신하면, 공유된 시도 암호키를 재생성한 합법적인 방문자(106)는 이 공유된 시도 암호키를 사용하여 시도값을 해독하고, 이 해독된 값을 인증자(104)에게 다시 전송한다(존재한다면, 특이성 정보를 제거한 후)(도 8의 설명 부분 참조). 인증자(104)는, 방문자(106)로부터 수신된 해독값이 예측된 시도 응답값과 일치함을 확인하면, 방문자(106)가 애드 호크 그룹에 참여하는 것을 허가한다(도 3b의 단계 316).
시도/응답 링킹 동작의 제2 실시예에서, 시도값은 단계 604에서 인증자(104)에 의해 생성된 랜덤수이며, 이 랜덤수는 선택적으로는 특이성 정보와 결합된다. 예측된 시도 응답값은 공유된 시도 암호키를 사용하여 암호화된 시도값이다. 제1 실시예서와 같이, 공유된 시도 암호키를 재생성할 수 있는 장치만이 시도값으로부터 예측된 시도 응답값을 정확하게 도출할 수 있다.
시도/응답 링킹 동작과 선택적으로 결합될 수 있는 추가 단계로서, 방문자(106)는, 시도값에 대한 동작을 행한 후, 이 시도 응답의 결과를 인증자(104)에게 전송하기 전에, 이 결과를 해싱한다. 물론, 인증자(104)의 예측된 시도 응답값은, 그렇지 않으면 있었던 것의 해시이다.
단계 608에서, 인증자(104)는 각종 시도 관련 정보를 패키징하여 도 7의 예시적인 시도(700)와 같은 시도를 생성한다. 시도(700)는 필드(702)의 시도값, 및 필드(704)(애드 호크 그룹(100) 식별자), 필드(706)(인증자(104) 식별자) 및 필드(708)(방문자(106) 식별자)의 특이성 정보를 포함한다. 방문자(106)는 특이성 정보를 사용하여 시도의 유효성을 조사한다(도 8의 단계 800 및 808의 설명 부분 참조). 단계 600에서 생성된 제2 공용 암호키는 필드(710)에 포함되고, 단계 606의 암호화에 사용되는 사이퍼는 필드(712)에 포함된다(도 6에 나타낸 실시예 이외의 실시예는 사이퍼 필드(712)를 필요로 하지 않을 수 있다).
단계 310에서, 인증자(104)는, 방문자(106)가 시도를 액세스할 수 있도록, 시도(700)를 공표한다. 초대장(500)에 관하여 상술한 바와 같이, 이 시도(700)는 논리적 실체이고, 도 7에 도시된 형태로 공표될 필요가 없다.
도 8의 플로우차트는, 시도(700)에 대한 응답시 방문자(106)의 동작을 상세히 나타낸다. 단계 800에서, 방문자(106)는 시도의 유효성을 시험할 수 있다. 특이성 정보(필드(704 내지 708))가 시도(700)와 결합되어 있으면, 방문자(106)는 이 정보의 정확성을 조사하고, 부정확한 것이 있으면, 시도(700)를 무시한다. 이는, 중간의 자가 공격하여, 악의의 장치가 시도(700)를 도청하고, 필드의 일부를 변경시키고, 변경된 시도를 방문자(106)에게 전송하는 것을 방지하는데 중요하다.
단계 802에서, 유효한 시도(700)로 직접, 방문자(106)는 제1 개인 암호키를 재생성한다. 이 제1 개인 암호키는, 도 4의 단계 400 및 402에서 초청자(102)에 의해 원래 생성된 암호키이다. 제1 개인 암호키는 결정 함수 f()의 출력에 상술한 수학식 1을 적용하여 생성된다. 함수 f()로의 입력은, 초청자(102)와 방문자(106)간에 공유된 비밀 패스워드를 포함하고, 특이성 정보(예를 들어, 초대장(500)의 필드(504 내지 508)) 및 유효성 정보(예를 들어, 초대장(500)의 필드(510))를 포함할 수 있다. 방문자(106)는, (1) 공유된 비밀 패스워드가 방문자(106)에게 알려져 있 고, (2) 특이성 및 유효성 정보가, 사용된다면, 초대장(500)으로부터 수집될 수 있고, (3) 함수 f()가 초대장(500)으로부터 수집될 수 있거나 공중에게 알려져 있고, (4) 큰 소수 p가 공중에게 알려져 있기 때문에, 수학식 1을 적용할 수 있다. 이 모든 정보는 공유된 비밀 패스워드를 제외하고는 도청자(108)에게 입수가능하다. 공유된 비밀 패스워드는 방문자(106)를 제외한(좀더 정확하게는, 방문자(106) 및 초청자(102)를 제외) 어떠한 자도 시도(700)에 정확하게 응답하는 것을 방지한다.
단계 804에서, 방문자(106)는 방금 재생성된 제1 개인 암호키를 사용하여, 도 6의 단계 602에서 인증자(104)에 의해 원래 생성된 공유된 시도 암호키를 재생성한다. 공유된 암호키의 DH 이론은 다음과 같이 제공한다.
Figure 112008015312712-pat00019
여기서, ChallengeKey는 공유된 시도 암호키이고, PublicKey1은 초대장(500)의 필드(502)로부터의 제1 공용 암호키이고, PrivateKey2는 도 6의 단계 600에서 랜덤하게 생성된 제2 개인 암호키이고, p는 수학식 1에서의 초청자(102)에 의해 사용되는 동일한 큰 소수이고, PublicKey2는 시도(700)의 필드(710)로부터의 제2 공용 암호키이고, PrivateKey1은 도 8의 단계 802에서 방문자(106)에 의해 재생성된 제1 개인 암호키이다.
수학식 4는 공유된 시도 암호키를 생성하는 2개의 방법을 제공한다. 제1 방 법은 수학식 3과 동일하고, 인증자(104)에 의해 사용되어 도 6의 단계 602에서 공유된 시도 암호키를 생성하는 방법이다. 그러나, 방문자(106)는, 제2 개인 암호키에 액세스할 수 없기 때문에, 이 방법을 사용할 수 없고, 제2 개인 암호키를 재생성할 수 없다. 방문자(106)는 수학식 4의 제2 방법에 적용하기 위해 필요한 모든 정보를 가진다. 방문자(106)가 이러한 정보를 가짐으로써, 공유된 시도 암호키를 재생성한다.
단계 806 및 808에서, 방문자(106)는 재생성된 공유된 시도 암호키를 사용하여 현재의 실행에 적당한 시도/응답 링킹 동작을 행한다. 도 8에 도시된 실시예(도 6에 도시된 인증자(104)의 실시예에 사용할 수 있음)에서, 방문자(106)는, 재생성된 공유된 시도 암호키, 및 시도(700)의 필드(712)에 포함된 사이퍼를 사용하여, 시도(700)의 필드(702)에 포함된 시도값을 해독한다. 인증자(104)가 특이성 정보를 도 6의 단계 604에서 랜덤하게 예측된 시도 응답값과 논리적으로 결합하였다면, 단계 808에서, 방문자(106)는 이 특이성 정보를 삭제한다. 이는, 특이성 정보를 사용하여 중간의 자가 공격하는 것을 방지하는 제2 태양이다. 악의의 장치가 시도(700)의 특이성 필드의 값을 변경시켰으면, 방문자(106)는, 단계 808에서 변경된 특이성 정보를 삭제할 때, 무효의 시도 응답값을 생성한다. 이는, 애드 호크 그룹(100)이 변경된 시도(700)에 기초하여 방문자(106)를 허가하는 것을 방지한다. 대신에, 시도(700)가 변경되지 않았다면, 단계 808의 결과는 단계 604에서 인증자(104)에 의해 랜덤하게 생성된 원래값이다.
시도/응답 링킹 동작의 제2 실시예에서, 방문자(106)는 특이성 정보를 수신 된 시도값에 선택적으로 추가시키고, 이 결과를 재생성된 시도 응답키 및 사이퍼로 암호화한다.
상술한 바와 같이, 시도/응답 링킹 동작을 행한 후, 방문자(106)는, 시도 응답의 결과를 인증자(104)에게 전송하기 전에, 이 결과를 해싱할 수 있다. 사용하는 소정의 시도/응답 링킹 동작, 및 이 시도/응답 링킹 동작에 수반하는 선택 사항은, 실행 선택으로서, 인증자(104) 및 방문자(106)에게 미리 알려져 있다.
최종 단계는 도 3b를 참조하여 설명한다. 단계 314에서, 방문자(106)는 시도 응답값(및 제2 실시예에서는, 시도 응답값을 해독하는데 사용되는 사이퍼)을 인증자(104)에게 다시 전송한다. 단계 316에서, 인증자(104)는 방문자(106)에 의해 전송된 시도값을 예측된 값과 비교한다. 이 2개의 값이 서로 일치하면, 인증자(104)는 방문자(106)가 초청자(102)의 초대장(500)을 받은 방문자임을 신뢰한다. 인증자(104)는 방문자(106)가 애드 호크 그룹(100)에 참여하는 것을 허가한다. 필요하다면, 단계 318에서, 인증자(104)는 공지의 기술을 사용하여 그 자신을 방문자(106)에게 인증한다.
도청자(108)가 초대장(500) 및 시도(700)에 액세스할 수 있더라도, 초청자(102)와 방문자(106)간에 공유된 비밀 패스워드를 알지 못한다. 따라서, 도청자(108)는 공유된 시도 암호키를 정확하게 재생성할 수 없고, 시도(700)에 정확하게 응답할 수 없다.
이상, 상술한 바와 같이, 본 발명에 따르면, 애드 호크 그룹의 인증자가 초 청자의 신뢰를 잠재적 회원에게 안전하게 전송할 수 있다.
본 발명의 원리를 적용할 수 있는 다수의 가능한 실시예의 관점에서, 도면을 참조하여 상술한 실시예는 예시적인 것이고 본 발명의 범위를 제한하는 것으로서 해석되어서는 안된다. 예를 들어, 당업자는 상술한 실시예가 본 발명의 사상을 벗어나지 않고 변형될 수 있음을 인식할 수 있다. 본 발명을 소프트웨어 모듈 또는 콤포넌트의 관점에서 설명하였지만, 당업자는 하드웨어 콤포넌트로 동등하게 대체될 수 있음을 인식할 수 있다. 따라서, 여기서 설명하는 본 발명은, 첨부한 특허청구범위의 및 특허청구범위의 균등물의 범위내의 모든 실시예를 포함한다.

Claims (48)

  1. 초청자 컴퓨팅 장치 및 인증자 컴퓨팅 장치가 애드 호크 그룹(ad hoc group)의 회원이고, 방문자 컴퓨팅 장치가 상기 애드 호크 그룹의 회원이 아니고, 상기 초청자가 비밀 패스워드를 상기 방문자와 공유하는 상기 애드 호크 그룹을 가지는 컴퓨팅 환경에서, 상기 초청자가 상기 방문자에게 상기 애드 호크 그룹에 참여하도록 초대장을 발행하는 방법에 있어서,
    공유된 상기 비밀 패스워드에 기초하여 제1 개인 암호키를 생성하는 단계;
    상기 제1 개인 암호키와 관련된 제1 공용 암호키를 생성하는 단계;
    상기 제1 공용 암호키를 포함하는 초대장을 생성하는 단계;
    상기 초청자의 개인 암호키를 사용하여 상기 초대장에 서명하는 단계; 및
    상기 초대장이 상기 방문자 및 상기 인증자에게 액세스가능하게 하는 단계를 포함하는 방법.
  2. 제1항에 있어서,
    상기 제1 개인 암호키를 생성하는 상기 단계는, 결정 함수를 실행하는 단계 및 공유된 상기 비밀 패스워드를 입력으로서 상기 결정 함수에 전달하는 단계를 포함하는 방법.
  3. 제2항에 있어서,
    상기 제1 개인 암호키를 생성하는 상기 단계는, 상기 애드 호크 그룹의 식별자, 상기 초청자의 식별자, 상기 방문자의 식별자, 타임스탬프(timestamp) 및 초대장 유효 기간으로 이루어지는 그룹 중에서 선택된 정보를 추가 입력으로서 상기 결정 함수에 전달하는 단계를 더 포함하는 방법.
  4. 제3항에 있어서,
    상기 초대장은 상기 결정 함수에 전달되는 상기 추가 입력을 더 포함하는 방법.
  5. 제2항에 있어서,
    상기 결정 함수를 실행하는 상기 단계는, 공유된 상기 비밀 패스워드에 암호화 해시(cryptographic hash)를 적용하는 단계를 더 포함하는 방법.
  6. 제2항에 있어서,
    상기 제1 개인 암호키를 생성하는 상기 단계는, 상기 결정 함수의 출력 모듈로(modulo) 소수(prime number)를 상기 제1 개인 암호키에 할당하는 단계를 더 포함하는 방법.
  7. 제6항에 있어서,
    상기 제1 공용 암호키를 생성하는 상기 단계는, 상기 제1 개인 암호키만큼 거듭제곱된 상기 소수에 대한 제너레이터 모듈로(modulo) 상기 소수를, 상기 제1 공용 암호키에 할당하는 단계를 포함하는 방법.
  8. 제7항에 있어서,
    상기 초대장은 상기 소수 및 상기 제너레이터를 더 포함하는 방법.
  9. 제1항에 있어서,
    상기 제1 개인 암호키와 관련된 상기 제1 공용 암호키를 생성하는 상기 단계는, 상기 제1 개인 암호키 및 상기 제1 공용 암호키 중 한 키를 사용하여 암호화된 값을 다른 키를 사용하여 해독할 수 있도록, 상기 제1 공용 암호키를 생성하는 단계를 포함하는 방법.
  10. 제1항에 있어서,
    서명하는 상기 단계는, 상기 초대장의 내용의 해시를 취하는 단계 및 상기 초청자의 상기 개인 암호키를 사용하여 상기 해시를 암호화하는 단계를 포함하는 방법.
  11. 제1항에 있어서,
    상기 초대장이 액세스가능하게 하는 상기 단계는, 상기 초대장을 포함하는 메시지를 전송하는 기술, 상기 초대장을 상기 초청자 및 상기 인증자가 액세스가능한 위치에 배치시키는 기술, 및 상기 초대장을 생성하기 전에 상기 초대장의 내용의 일부의 값을 고정시키는 기술로 이루어지는 그룹 중에서 선택된 기술을 사용하는 단계를 포함하는 방법.
  12. 초청자 컴퓨팅 장치 및 인증자 컴퓨팅 장치가 애드 호크 그룹의 회원이고, 방문자 컴퓨팅 장치가 상기 애드 호크 그룹의 회원이 아니고, 상기 초청자가 비밀 패스워드를 상기 방문자와 공유하는 상기 애드 호크 그룹에서, 상기 초청자가 상기 방문자에게 상기 애드 호크 그룹에 참여하도록 초대장을 발행하는 방법을 행하기 위한 명령을 포함하는 컴퓨터 판독가능 매체로서,
    상기 방법은,
    공유된 상기 비밀 패스워드에 기초하여 제1 개인 암호키를 생성하는 단계;
    상기 제1 개인 암호키와 관련된 제1 공용 암호키를 생성하는 단계;
    상기 제1 공용 암호키를 포함하는 초대장을 생성하는 단계;
    상기 초청자의 개인 암호키를 사용하여 상기 초대장에 서명하는 단계; 및
    상기 초대장이 상기 방문자 및 상기 인증자에게 액세스가능하게 하는 단계를 포함하는 것을 특징으로 하는 컴퓨터 판독가능 매체.
  13. 초청자 컴퓨팅 장치 및 인증자 컴퓨팅 장치가 애드 호크 그룹의 회원이고, 방문자 컴퓨팅 장치가 상기 애드 호크 그룹의 회원이 아니고, 상기 초청자가 상기 방문자에게 상기 애드 호크 그룹에 참여하도록 초대장을 발행하는 상기 애드 호크 그룹을 가지는 컴퓨팅 환경에서, 상기 인증자가 인증 시도(authentication challenge)를 상기 방문자에게 발행하는 방법에 있어서,
    상기 초대장에 액세스하는 단계;
    상기 초대장의 유효성(validity)을 조사하는 단계; 및
    상기 초대장이 유효하면,
    제2 개인 암호키를 생성하는 단계;
    상기 제2 개인 암호키와 관련된 제2 공용 암호키를 생성하는 단계;
    상기 초대장에 포함된 제1 공용 암호키 및 상기 제2 개인 암호키로부터 공유된 시도 암호키를 생성하는 단계;
    시도값을 생성하는 단계;
    상기 시도값 및 상기 제2 공용 암호키를 포함하는 인증 시도를 생성하는 단계; 및
    상기 인증 시도를 상기 방문자에게 액세스가능하게 하는 단계를 포함하는 방법.
  14. 제13항에 있어서,
    상기 초대장에 액세스하는 상기 단계는, 상기 초대장을 포함하는 메시지를 수신하는 기술 및 상기 초청자 및 상기 인증자에게 액세스가능한 위치에서 상기 초대장을 액세스하는 기술로 이루어지는 그룹 중에서 선택된 기술을 사용하는 단계를 포함하는 방법.
  15. 제13항에 있어서,
    상기 초대장의 유효성을 조사하는 상기 단계는, 상기 초대장에 포함된 정보를 조사하는 단계를 포함하며, 상기 정보는 상기 애드 호크 그룹의 식별자, 상기 초청자의 식별자, 상기 방문자의 식별자, 타임스탬프, 및 초대장 유효 기간으로 이루어지는 그룹 중에서 선택되는 방법.
  16. 제13항에 있어서,
    상기 초대장의 유효성을 조사하는 상기 단계는, 상기 초청자의 공용 암호키를 사용하여 상기 초대장의 서명을 해독하는 단계, 상기 초대장의 내용의 해시를 취하는 단계, 및 상기 해시를 상기 해독된 서명과 비교하는 단계를 포함하는 방법.
  17. 제13항에 있어서,
    상기 제2 개인 암호키를 생성하는 상기 단계는, 랜덤하게 생성된 수를 상기 제2 개인 암호키에 할당하는 단계를 포함하는 방법.
  18. 제13항에 있어서,
    상기 제2 공용 암호키를 생성하는 상기 단계는, 상기 제2 개인 암호키만큼 거듭제곱된 소수에 대한 제너레이터 모듈로 상기 소수를 상기 제2 공용 암호키에 할당하는 단계를 포함하는 방법.
  19. 제18항에 있어서,
    상기 공유된 시도 암호키를 생성하는 상기 단계는, 상기 제2 개인 암호키만큼 거듭제곱된 상기 제1 개인 암호키 모듈로 상기 소수를, 상기 공유된 시도 암호키에 할당하는 단계를 포함하는 방법.
  20. 제13항에 있어서,
    상기 제2 개인 암호키와 관련된 상기 제2 공용 암호키를 생성하는 상기 단계는, 상기 제2 개인 암호키 및 상기 제2 공용 암호키 중 한 키를 사용하여 암호화된 값을 다른 키를 사용하여 해독할 수 있도록, 상기 제2 공용 암호키를 생성하는 단계를 포함하는 방법.
  21. 제13항에 있어서,
    상기 시도값을 생성하는 상기 단계는 랜덤한 수(randum number)를 생성하는 단계를 포함하는 방법.
  22. 제21항에 있어서,
    상기 시도값을 생성하는 상기 단계는,
    상기 공유된 시도 암호키 및 사이퍼(cipher)를 사용하여 상기 랜덤한 수를 암호화하는 단계;
    암호화된 상기 랜덤한 수를 상기 시도값에 할당하는 단계를 더 포함하며,
    상기 인증 시도는 상기 사이퍼를 더 포함하는 방법.
  23. 제21항에 있어서,
    상기 시도값을 생성하는 상기 단계는, 상기 랜덤한 수를, 상기 애드 호크 그룹의 식별자, 상기 인증자의 식별자 및 상기 방문자의 식별자로 이루어지는 그룹 중에서 선택된 특이성 정보(specificity information)의 해시와 결합시키는 단계를 더 포함하는 방법.
  24. 제23항에 있어서,
    상기 시도값을 생성하는 상기 단계는,
    상기 공유된 시도 암호키 및 사이퍼를 사용하여 결합된 상기 랜덤한 수 및 상기 특이성 정보의 해시를 암호화하는 단계; 및
    암호화된 상기 랜덤한 수 및 상기 특이성 정보의 해시를 상기 시도값에 할당하는 단계를 더 포함하며,
    상기 인증 시도는 상기 사이퍼를 더 포함하는 방법.
  25. 제13항에 있어서,
    상기 인증 시도를 액세스가능하게 하는 상기 단계는, 상기 인증 시도를 포함하는 메시지를 전송하는 기술, 상기 인증 시도를 상기 방문자 및 상기 인증자가 액세스가능한 위치에 배치시키는 기술, 및 상기 인증 시도를 생성하기 전에 상기 인증 시도의 내용의 일부의 값을 고정시키는 기술로 이루어지는 그룹 중에서 선택된 기술을 사용하는 단계를 포함하는 방법.
  26. 초청자 컴퓨팅 장치 및 인증자 컴퓨팅 장치가 애드 호크 그룹의 회원이고, 방문자 컴퓨팅 장치가 상기 애드 호크 그룹의 회원이 아니고, 상기 초청자가 상기 방문자에게 상기 애드 호크 그룹에 참여하도록 초대장을 발행하는 상기 애드 호크 그룹에서, 상기 인증자 컴퓨팅 장치가 인증 시도를 상기 방문자 컴퓨팅 장치에게 발행하는 방법을 실행시키기 위한 명령을 포함하는 컴퓨터 판독가능 매체에 있어서,
    상기 방법은,
    상기 초대장에 액세스하는 단계;
    상기 초대장의 유효성을 조사하는 단계; 및
    상기 초대장이 유효하면,
    제2 개인 암호키를 생성하는 단계;
    상기 제2 개인 암호키와 관련된 제2 공용 암호키를 생성하는 단계;
    상기 초대장에 포함된 제1 공용 암호키 및 상기 제2 개인 암호키로부터 공유된 시도 암호키를 생성하는 단계;
    시도값을 생성하는 단계;
    상기 시도값 및 상기 제2 공용 암호키를 포함하는 인증 시도를 생성하는 단계; 및
    상기 인증 시도를 상기 방문자에게 액세스가능하게 하는 단계를 포함하는 것을 특징으로 하는 컴퓨터 판독가능 매체.
  27. 초청자 컴퓨팅 장치 및 인증자 컴퓨팅 장치가 애드 호크 그룹의 회원이고, 방문자 컴퓨팅 장치가 상기 애드 호크 그룹의 회원이 아니고, 상기 초청자가 비밀 패스워드를 상기 방문자와 공유하고, 상기 초청자가 상기 방문자에게 상기 애드 호크 그룹에 참여하도록 초대장을 발행하고, 상기 인증자가 인증 시도를 상기 방문자에게 발행하는 상기 애드 호크 그룹을 가지는 컴퓨팅 환경에서, 상기 방문자가 상기 인증 시도에 응답하는 방법에 있어서,
    상기 인증 시도에 액세스하는 단계;
    공유된 상기 비밀 패스워드에 기초하여 제1 개인 암호키를 생성하는 단계;
    생성된 상기 제1 개인 암호키, 및 상기 인증 시도에 포함된 제2 공용 암호키에 기초하여 공유된 시도 암호키를 생성하는 단계;
    상기 인증 시도에 포함된 시도값에 기초하여 시도 응답값을 생성하는 단계;
    상기 시도 응답값을 포함하는 인증 시도 응답을 생성하는 단계; 및
    상기 인증 시도 응답을 상기 인증자에게 액세스가능하게 하는 단계를 포함하는 방법.
  28. 제27항에 있어서,
    상기 인증 시도에 액세스하는 상기 단계는, 상기 인증 시도를 포함하는 메시지를 수신하는 기술, 및 상기 인증자 및 상기 방문자가 액세스가능한 위치에서 상기 인증 시도에 액세스하는 기술로 이루어지는 군 중에서 선택된 기술을 사용하는 단계를 포함하는 방법.
  29. 제27항에 있어서,
    상기 제1 개인 암호키를 생성하는 상기 단계는, 상기 결정 함수를 실행하는 단계, 및 상기 공유된 비밀 패스워드를 입력으로서 상기 결정 함수에 전달하는 단계를 포함하는 방법.
  30. 제29항에 있어서,
    상기 초대장에 액세스하는 단계를 더 포함하며,
    상기 제1 개인 암호키를 생성하는 상기 단계는, 상기 초대장에 포함되며, 상기 애드 호크 그룹의 식별자, 상기 초청자의 식별자, 상기 방문자의 식별자, 타임스탬프, 및 초대장 유효 기간으로 이루어지는 군 중에서 선택된 정보를 추가 입력으로서 상기 결정 함수에 전달하는 단계를 더 포함하는 방법.
  31. 제29항에 있어서,
    상기 결정 함수를 실행하는 상기 단계는, 암호화 해시를 공유된 상기 비밀 패스워드에 적용하는 단계를 포함하는 방법.
  32. 제29항에 있어서,
    상기 제1 개인 암호키를 생성하는 상기 단계는, 상기 결정 함수의 출력 모듈로 소수를 상기 제1 개인 암호키에 할당하는 단계를 더 포함하는 방법.
  33. 제27항에 있어서,
    상기 공유된 시도 암호키를 생성하는 상기 단계는, 상기 생성된 제1 개인 암호키 만큼 거듭제곱된 상기 제2 공용 암호키 모듈로 소수를, 상기 공유된 시도 암호키에 할당하는 단계를 포함하는 방법.
  34. 제27항에 있어서,
    상기 시도 응답값을 생성하는 상기 단계는, 상기 공유된 시도 암호키 및 사이퍼를 사용하여 상기 시도값을 암호화하는 단계를 포함하며, 상기 인증 시도 응답은 상기 사이퍼를 더 포함하는 방법.
  35. 제34항에 있어서,
    상기 시도 응답값을 생성하는 상기 단계는, 암호화된 상기 시도값의 해시를 상기 시도 응답값에 할당하는 단계를 더 포함하는 방법.
  36. 제27항에 있어서,
    상기 시도 응답값을 생성하는 상기 단계는, 상기 시도값을, 상기 애드 호크 그룹의 식별자, 상기 인증자의 식별자 및 상기 방문자의 식별자로 이루어지는 군 중에서 선택된 특이성 정보의 해시와 결합시키는 단계를 포함하는 방법.
  37. 제36항에 있어서,
    상기 시도 응답값을 생성하는 상기 단계는, 상기 공유된 시도 암호키 및 사이퍼를 사용하여 결합된 상기 시도값과 상기 특이성 정보의 해시를 암호화하는 단계를 더 포함하며, 상기 인증 시도 응답은 상기 사이퍼를 더 포함하는 방법.
  38. 제37항에 있어서,
    상기 시도 응답값을 생성하는 상기 단계는, 암호화되고 결합된 상기 시도값 및 상기 특이성 정보의 해시를 상기 시도 응답값에 할당하는 단계를 더 포함하는 방법.
  39. 제27항에 있어서,
    상기 시도 응답값을 생성하는 상기 단계는, 상기 인증 시도에 포함된 사이퍼 및 상기 공유된 시도 암호키를 사용하여 상기 시도값을 해독하는 단계를 포함하는 방법.
  40. 제39항에 있어서,
    상기 시도 응답값을 생성하는 상기 단계는, 해독된 상기 시도값의 해시를 상기 시도 응답값에 할당하는 단계를 더 포함하는 방법.
  41. 제39항에 있어서,
    상기 시도 응답값을 생성하는 상기 단계는, 해독된 상기 시도값으로부터, 상기 애드 호크 그룹의 식별자, 상기 인증자의 식별자, 및 상기 방문자의 식별자로 이루어지는 군 중에서 선택된 특이성 정보의 해시를 삭제하는 단계를 더 포함하는 방법.
  42. 제41항에 있어서,
    상기 시도 응답값을 생성하는 상기 단계는, 삭제된 상기 특이성 정보의 해시를 가지는 해독된 상기 시도값의 해시를 상기 시도 응답값에 할당하는 단계를 더 포함하는 방법.
  43. 제27항에 있어서,
    상기 인증 시도 응답을 액세스가능하게 하는 상기 단계는, 상기 인증 시도 응답을 포함하는 메시지를 송신하는 기술, 및 상기 인증 시도 응답을 상기 인증자 및 상기 방문자가 액세스가능한 위치에 배치하는 기술로 이루어지는 군 중에서 선택된 기술을 사용하는 단계를 포함하는 방법.
  44. 초청자 컴퓨팅 장치 및 인증자 컴퓨팅 장치가 애드 호크 그룹의 회원이고, 방문자 컴퓨팅 장치가 상기 애드 호크 그룹의 회원이 아니고, 상기 초청자가 비밀 패스워드를 상기 방문자와 공유하고, 상기 초청자가 상기 방문자에게 상기 애드 호크 그룹에 참여하도록 초대장을 발행하고, 상기 인증자가 인증 시도를 상기 방문자에게 발행하는 상기 애드 호크 그룹에서, 상기 방문자 컴퓨팅 장치가 상기 인증 시도에 응답하는 방법을 실행시키기 위한 명령을 포함하는 컴퓨터 판독가능 매체에 있어서,
    상기 방법은,
    상기 인증 시도에 액세스하는 단계;
    공유된 상기 비밀 패스워드에 기초하여 제1 개인 암호키를 생성하는 단계;
    생성된 상기 제1 개인 암호키, 및 상기 인증 시도에 포함된 제2 공용 암호키에 기초하여 공유된 시도 암호키를 생성하는 단계;
    상기 인증 시도에 포함된 시도값에 기초하여 시도 응답값을 생성하는 단계;
    상기 시도 응답값을 포함하는 인증 시도 응답을 생성하는 단계; 및
    상기 인증 시도 응답을 상기 인증자가 액세스가능하게 하는 단계를 포함하는 것을 특징으로 하는 컴퓨터 판독가능 매체.
  45. 삭제
  46. 삭제
  47. 삭제
  48. 삭제
KR1020030022576A 2002-04-24 2003-04-10 그룹에 참여하도록 초대된 잠재적 회원을 인증하는 방법 KR100827650B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/132,018 2002-04-24
US10/132,018 US7120797B2 (en) 2002-04-24 2002-04-24 Methods for authenticating potential members invited to join a group

Publications (2)

Publication Number Publication Date
KR20030084604A KR20030084604A (ko) 2003-11-01
KR100827650B1 true KR100827650B1 (ko) 2008-05-07

Family

ID=29248672

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030022576A KR100827650B1 (ko) 2002-04-24 2003-04-10 그룹에 참여하도록 초대된 잠재적 회원을 인증하는 방법

Country Status (11)

Country Link
US (1) US7120797B2 (ko)
EP (1) EP1376976B1 (ko)
JP (1) JP4519417B2 (ko)
KR (1) KR100827650B1 (ko)
CN (1) CN1324502C (ko)
AU (1) AU2003202511B2 (ko)
BR (2) BRPI0300875B1 (ko)
CA (1) CA2423636C (ko)
DE (1) DE60311036T2 (ko)
MX (1) MXPA03003250A (ko)
RU (1) RU2325693C2 (ko)

Families Citing this family (90)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7606898B1 (en) 2000-10-24 2009-10-20 Microsoft Corporation System and method for distributed management of shared computers
US7206934B2 (en) * 2002-09-26 2007-04-17 Sun Microsystems, Inc. Distributed indexing of identity information in a peer-to-peer network
US8122106B2 (en) 2003-03-06 2012-02-21 Microsoft Corporation Integrating design, deployment, and management phases for systems
US7689676B2 (en) 2003-03-06 2010-03-30 Microsoft Corporation Model-based policy application
US7890543B2 (en) 2003-03-06 2011-02-15 Microsoft Corporation Architecture for distributed computing system and automated design, deployment, and management of distributed applications
US7640324B2 (en) * 2003-04-15 2009-12-29 Microsoft Corporation Small-scale secured computer network group without centralized management
US7673020B2 (en) * 2003-05-02 2010-03-02 Microsoft Corporation System and method for facilitating communication between a computing device and multiple categories of media devices
US7770204B2 (en) * 2003-09-30 2010-08-03 Novell, Inc. Techniques for securing electronic identities
EP1692889B1 (en) * 2003-11-19 2013-10-09 BlackBerry Limited System and methods for added authentication in distributed network delivered half-duplex communications
WO2005053267A1 (en) * 2003-11-20 2005-06-09 Nokia Corporation A method and device relating to security in a radio communications network
US8060745B2 (en) * 2003-12-16 2011-11-15 Seiko Epson Corporation Security for wireless transmission
US7269590B2 (en) * 2004-01-29 2007-09-11 Yahoo! Inc. Method and system for customizing views of information associated with a social network user
WO2005079018A1 (en) * 2004-02-16 2005-08-25 Thomson Licensing Method for inserting a new device in a community of devices
US7778422B2 (en) 2004-02-27 2010-08-17 Microsoft Corporation Security associations for devices
US20050246529A1 (en) * 2004-04-30 2005-11-03 Microsoft Corporation Isolated persistent identity storage for authentication of computing devies
US7660904B2 (en) * 2004-05-11 2010-02-09 Microsoft Corporation Providing keys to share data within an instant messaging session
JP2005328123A (ja) * 2004-05-12 2005-11-24 Oki Electric Ind Co Ltd 公開鍵の正当性判断方法及び通信端末装置
JP2006087032A (ja) * 2004-09-17 2006-03-30 Pioneer Electronic Corp 無線lanシステムおよびその基地局
EP1653697B1 (en) * 2004-10-29 2016-08-17 BlackBerry Limited Secure Peer-to-Peer Messaging Invitation Architecture
US7802144B2 (en) 2005-04-15 2010-09-21 Microsoft Corporation Model-based system monitoring
US7797147B2 (en) 2005-04-15 2010-09-14 Microsoft Corporation Model-based system monitoring
US8489728B2 (en) 2005-04-15 2013-07-16 Microsoft Corporation Model-based system monitoring
US20090199009A1 (en) * 2005-06-07 2009-08-06 Pei Yen Chia Systems, methods and computer program products for authorising ad-hoc access
US8549513B2 (en) 2005-06-29 2013-10-01 Microsoft Corporation Model-based virtual system provisioning
US7634253B2 (en) * 2005-08-26 2009-12-15 Research In Motion Limited Data session authentication credentials update for a wireless communication device
US7802092B1 (en) * 2005-09-30 2010-09-21 Blue Coat Systems, Inc. Method and system for automatic secure delivery of appliance updates
US8117342B2 (en) * 2005-10-04 2012-02-14 Microsoft Corporation Media exchange protocol supporting format conversion of media items
US7941309B2 (en) 2005-11-02 2011-05-10 Microsoft Corporation Modeling IT operations/policies
US7849323B2 (en) * 2005-11-09 2010-12-07 Emc Corporation Password presentation for multimedia devices
US8099082B2 (en) * 2005-12-16 2012-01-17 Research In Motion Limited System and method wireless messaging in a wireless communication system
US8005459B2 (en) 2005-12-16 2011-08-23 Research In Motion Limited System and method of authenticating login credentials in a wireless communication system
US20070150723A1 (en) * 2005-12-23 2007-06-28 Estable Luis P Methods and apparatus for increasing security and control of voice communication sessions using digital certificates
DE102006004237A1 (de) * 2006-01-30 2007-08-16 Siemens Ag Verfahren und Vorrichtung zur Vereinbarung eines gemeinsamen Schlüssels zwischen einem ersten Kommunikationsgerät und einem zweiten Kommunikationsgerät
EP1816824A1 (en) * 2006-02-07 2007-08-08 Thomson Licensing Method for device insertion into a community of network devices
CN100555060C (zh) * 2006-04-04 2009-10-28 精工爱普生株式会社 投影系统
US7958368B2 (en) * 2006-07-14 2011-06-07 Microsoft Corporation Password-authenticated groups
US8527770B2 (en) 2006-07-20 2013-09-03 Research In Motion Limited System and method for provisioning device certificates
US7788708B2 (en) * 2006-10-02 2010-08-31 Presenceid, Inc. Systems and methods for delegating information technology authorization to at least one other person
FI122847B (fi) * 2006-10-23 2012-07-31 Valimo Wireless Oy Menetelmä ja järjestelmä turvalliseksi PKI-avaimen (Public Key Infrastructure) rekisteröimiseksi matkaviestinympäristössä
US8196182B2 (en) * 2007-08-24 2012-06-05 Netapp, Inc. Distributed management of crypto module white lists
KR100959074B1 (ko) * 2007-12-12 2010-05-20 한국전자통신연구원 P2p 네트워크 상에서의 보안 그룹 생성 방법, 생성장치, 인증 방법, 인증 장치
KR100957779B1 (ko) 2007-12-18 2010-05-13 한국전자통신연구원 화상회의 시스템에서의 그룹 키 분배 방법 및 시스템
US8510808B2 (en) 2008-01-08 2013-08-13 Microsoft Corporation Associating computing devices with common credentials
US7689700B2 (en) * 2008-01-08 2010-03-30 Microsoft Corporation Configuration of a peer group
US8156503B2 (en) * 2008-02-12 2012-04-10 International Business Machines Corporation System, method and computer program product for accessing a memory space allocated to a virtual machine
US10015158B2 (en) * 2008-02-29 2018-07-03 Blackberry Limited Methods and apparatus for use in enabling a mobile communication device with a digital certificate
US9479339B2 (en) * 2008-02-29 2016-10-25 Blackberry Limited Methods and apparatus for use in obtaining a digital certificate for a mobile communication device
US9230286B2 (en) * 2008-03-14 2016-01-05 Industrial Technology Research Institute Methods and systems for associating users through network societies
GB0813298D0 (en) * 2008-07-19 2008-08-27 Univ St Andrews Multipad encryption
US20100138650A1 (en) * 2008-12-01 2010-06-03 Shin Yuk Kang Secure communication system, gateway apparatus and its operating method
US8386773B2 (en) * 2008-12-09 2013-02-26 Research In Motion Limited Verification methods and apparatus for use in providing application services to mobile communication devices
US20100199095A1 (en) * 2009-01-30 2010-08-05 Texas Instruments Inc. Password-Authenticated Association Based on Public Key Scrambling
CN101534207B (zh) * 2009-04-13 2012-05-23 腾讯科技(深圳)有限公司 群组加入系统及方法
DE102009030019B3 (de) * 2009-06-23 2010-12-30 Siemens Aktiengesellschaft System und Verfahren zur zuverlässigen Authentisierung eines Gerätes
CN101662465B (zh) * 2009-08-26 2013-03-27 深圳市腾讯计算机系统有限公司 一种动态口令验证的方法及装置
US9450928B2 (en) 2010-06-10 2016-09-20 Gemalto Sa Secure registration of group of clients using single registration procedure
EA019227B1 (ru) * 2010-11-08 2014-02-28 Юрий Адольфович Рунов Способ передачи извещений для систем централизованной охраны
US20120117385A1 (en) * 2010-11-09 2012-05-10 International Business Machines Corporation Method and apparatus for data encryption
US20120214416A1 (en) * 2011-02-23 2012-08-23 Jonathan Douglas Kent Methods and apparatuses for communication between devices
CA2830283C (en) 2011-03-25 2016-11-01 Certicom Corp. Interrogating an authentication device
JP5994215B2 (ja) * 2011-06-17 2016-09-21 ソニー株式会社 無線通信装置、情報処理装置、通信システムおよび無線通信装置の制御方法
JP5942354B2 (ja) * 2011-07-22 2016-06-29 ソニー株式会社 無線通信装置、情報処理装置、通信システムおよび無線通信装置の制御方法
US8719571B2 (en) * 2011-08-25 2014-05-06 Netapp, Inc. Systems and methods for providing secure multicast intra-cluster communication
KR20130082588A (ko) * 2011-12-09 2013-07-22 삼성전자주식회사 Sns 그룹 초대 서비스 제공 방법 및 그를 위한 sns 서버
EP2639997B1 (en) * 2012-03-15 2014-09-03 ATS Group (IP Holdings) Limited Method and system for secure access of a first computer to a second computer
US8858322B2 (en) 2012-05-03 2014-10-14 Gamesys Ltd. Systems and methods for referral benefits
US9264404B1 (en) * 2012-08-15 2016-02-16 Marvell International Ltd. Encrypting data using time stamps
US20140074923A1 (en) * 2012-09-12 2014-03-13 General Instrument Corporation Selective content disclosure in an ad-hoc network based on social cohesion
US9727720B2 (en) 2012-11-30 2017-08-08 Certicom Corp. Challenge-response authentication using a masked response value
US9369290B2 (en) * 2012-11-30 2016-06-14 Certicom Corp. Challenge-response authentication using a masked response value
US9077759B2 (en) 2013-01-18 2015-07-07 Apple Inc. Conflict resolution for keychain syncing
US9197700B2 (en) * 2013-01-18 2015-11-24 Apple Inc. Keychain syncing
US20140287792A1 (en) * 2013-03-25 2014-09-25 Nokia Corporation Method and apparatus for nearby group formation by combining auditory and wireless communication
US20150229475A1 (en) * 2014-02-10 2015-08-13 Qualcomm Incorporated Assisted device provisioning in a network
WO2015126398A1 (en) * 2014-02-20 2015-08-27 Empire Technology Development, Llc Device authentication in ad-hoc networks
KR101934321B1 (ko) 2014-04-09 2019-01-02 엠파이어 테크놀로지 디벨롭먼트 엘엘씨 센서 데이터 이상 검출기
US9674700B2 (en) * 2014-11-04 2017-06-06 Qualcomm Incorporated Distributing biometric authentication between devices in an ad hoc network
KR101671780B1 (ko) * 2015-01-29 2016-11-02 (주)사이버텔브릿지 Ptt 그룹 통신 방법
US20170288866A1 (en) * 2016-03-30 2017-10-05 AVAST Software s.r.o. Systems and methods of creating a distributed ring of trust
US10608817B2 (en) * 2016-07-06 2020-03-31 Masimo Corporation Secure and zero knowledge data sharing for cloud applications
CN106357604B (zh) * 2016-08-18 2019-07-23 苏州超块链信息科技有限公司 一种一致性数据累积协同组装方法
US10887295B2 (en) * 2016-10-26 2021-01-05 Futurewei Technologies, Inc. System and method for massive IoT group authentication
FR3064092A1 (fr) * 2017-03-14 2018-09-21 Kerquest Procede de messagerie numerique associant un message a un sujet materiel
US10484350B2 (en) * 2017-04-26 2019-11-19 At&T Intellectual Property I, L.P. Privacy-preserving location corroborations
US20190140846A1 (en) * 2017-11-03 2019-05-09 Microsoft Technology Licensing, Llc Provisioning trusted execution environment(s) based on chain of trust including platform
US11943368B2 (en) 2017-11-03 2024-03-26 Microsoft Technology Licensing, Llc Provisioning trusted execution environment based on chain of trust including platform
US11657136B2 (en) 2017-12-21 2023-05-23 Bitstrata Systems Inc. Secure association of an installed application instance with a service
US10390229B1 (en) * 2018-12-31 2019-08-20 T-Mobile Usa, Inc. Biometric subscriber account authentication
CN111107180B (zh) * 2019-12-30 2021-04-16 上海赛连信息科技有限公司 将用户归属于实体的方法和装置
CN114172668B (zh) * 2022-02-10 2022-07-05 亿次网联(杭州)科技有限公司 一种基于数字证书的群成员管理方法和系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1102430A1 (en) 1999-10-27 2001-05-23 Telefonaktiebolaget Lm Ericsson Method and arrangement in an ad hoc communication network

Family Cites Families (13)

* 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
US5706349A (en) 1995-03-06 1998-01-06 International Business Machines Corporation Authenticating remote users in a distributed environment
US6226383B1 (en) * 1996-04-17 2001-05-01 Integrity Sciences, Inc. Cryptographic methods for remote authentication
US5953420A (en) 1996-10-25 1999-09-14 International Business Machines Corporation Method and apparatus for establishing an authenticated shared secret value between a pair of users
US6377691B1 (en) 1996-12-09 2002-04-23 Microsoft Corporation Challenge-response authentication and key exchange for a connectionless security protocol
US6292896B1 (en) 1997-01-22 2001-09-18 International Business Machines Corporation Method and apparatus for entity authentication and session key generation
US6539479B1 (en) * 1997-07-15 2003-03-25 The Board Of Trustees Of The Leland Stanford Junior University System and method for securely logging onto a remotely located computer
US6230269B1 (en) 1998-03-04 2001-05-08 Microsoft Corporation Distributed authentication system and method
US6336188B2 (en) * 1998-05-01 2002-01-01 Certicom Corp. Authenticated key agreement protocol
US6496935B1 (en) * 2000-03-02 2002-12-17 Check Point Software Technologies Ltd System, device and method for rapid packet filtering and processing
US6986046B1 (en) * 2000-05-12 2006-01-10 Groove Networks, Incorporated Method and apparatus for managing secure collaborative transactions
AU6816101A (en) * 2000-06-05 2001-12-17 Phoenix Tech Ltd Systems, methods and software for remote password authentication using multiple servers
JP2002024385A (ja) * 2000-06-30 2002-01-25 Coreflow Technologies:Kk 遺伝子情報管理システム及びその管理方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1102430A1 (en) 1999-10-27 2001-05-23 Telefonaktiebolaget Lm Ericsson Method and arrangement in an ad hoc communication network

Also Published As

Publication number Publication date
US7120797B2 (en) 2006-10-10
CA2423636A1 (en) 2003-10-24
CN1453718A (zh) 2003-11-05
CN1324502C (zh) 2007-07-04
JP4519417B2 (ja) 2010-08-04
KR20030084604A (ko) 2003-11-01
EP1376976B1 (en) 2007-01-10
US20030204734A1 (en) 2003-10-30
AU2003202511B2 (en) 2010-01-28
DE60311036D1 (de) 2007-02-22
MXPA03003250A (es) 2004-10-29
CA2423636C (en) 2011-06-14
DE60311036T2 (de) 2007-06-28
BR0300875A (pt) 2004-08-17
AU2003202511A1 (en) 2003-11-13
EP1376976A1 (en) 2004-01-02
RU2325693C2 (ru) 2008-05-27
BRPI0300875B1 (pt) 2018-01-16
JP2003318896A (ja) 2003-11-07

Similar Documents

Publication Publication Date Title
KR100827650B1 (ko) 그룹에 참여하도록 초대된 잠재적 회원을 인증하는 방법
EP1912376B1 (en) Method and apparatus for authentication
US8670563B2 (en) System and method for designing secure client-server communication protocols based on certificateless public key infrastructure
KR100979576B1 (ko) 새로운 패스워드를 실현하기 위한 방법 및 컴퓨터 판독가능 매체
CN101212293B (zh) 一种身份认证方法及系统
Mahmood et al. A provably secure mobile user authentication scheme for big data collection in IoT-enabled maritime intelligent transportation system
KR100984275B1 (ko) 안전하지 않은 통신 채널에서 비인증서 공개키를 사용한 보안키 생성 방법
KR100970552B1 (ko) 비인증서 공개키를 사용하는 보안키 생성 방법
Sinnhofer et al. Patterns to establish a secure communication channel
JP4499575B2 (ja) ネットワークセキュリティ方法およびネットワークセキュリティシステム
JP5393594B2 (ja) 効率的相互認証方法,プログラム,及び装置
CN113556236B (zh) 一种基于代理签名的能源数据中台敏感内容委托授权方法
Hatakeyama et al. Key Management Based on Ownership of Multiple Authenticators in Public Key Authentication
US20240012933A1 (en) Integration of identity access management infrastructure with zero-knowledge services
Omote Is the Blockchain Useful for Sharing Sensitive Data?
CN116015906A (zh) 用于隐私计算的节点授权方法、节点通信方法和装置
CN113037686A (zh) 多数据库安全通信方法和系统、计算机可读存储介质
Babu et al. Risk assessment mitigation of Kerberos protocol using public key cryptography
Sriramulu et al. A Secure Network Communication Based on Kerberos & MD5
Ndem Adjusting Three Schemes of Anonymous User Identification and Key Distribution
Reddy et al. Securely propagating authentication in an ensemble of personal devices using single sign-on
Gunjal et al. Enhancing Kerberos Security using Public Key and Context-Aware Access Control
Frei et al. Lightweight Offline Access Control for Smart Cars
Tsuji et al. Renewal of Pre-shared Key for Secure Communication of Multiple Mobile Terminals through Broadcast Data Distribution Systems
Sohal et al. Comprehensive Analysis of Various Authentication Techniques to Enhance the Security of Cloud Environment

Legal Events

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

Payment date: 20120409

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20130329

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20170330

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20180328

Year of fee payment: 11

LAPS Lapse due to unpaid annual fee