KR101149958B1 - 이메일을 사용하는 공개 정보의 인증된 교환 - Google Patents

이메일을 사용하는 공개 정보의 인증된 교환 Download PDF

Info

Publication number
KR101149958B1
KR101149958B1 KR1020050015294A KR20050015294A KR101149958B1 KR 101149958 B1 KR101149958 B1 KR 101149958B1 KR 1020050015294 A KR1020050015294 A KR 1020050015294A KR 20050015294 A KR20050015294 A KR 20050015294A KR 101149958 B1 KR101149958 B1 KR 101149958B1
Authority
KR
South Korea
Prior art keywords
client
email
uid
communication
email message
Prior art date
Application number
KR1020050015294A
Other languages
English (en)
Other versions
KR20060043176A (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 KR20060043176A publication Critical patent/KR20060043176A/ko
Application granted granted Critical
Publication of KR101149958B1 publication Critical patent/KR101149958B1/ko

Links

Images

Classifications

    • 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/0869Network architectures or network communication protocols for network security for authentication of entities for achieving mutual authentication
    • EFIXED CONSTRUCTIONS
    • E04BUILDING
    • E04GSCAFFOLDING; FORMS; SHUTTERING; BUILDING IMPLEMENTS OR AIDS, OR THEIR USE; HANDLING BUILDING MATERIALS ON THE SITE; REPAIRING, BREAKING-UP OR OTHER WORK ON EXISTING BUILDINGS
    • E04G17/00Connecting or other auxiliary members for forms, falsework structures, or shutterings
    • E04G17/06Tying means; Spacers ; Devices for extracting or inserting wall ties
    • E04G17/075Tying means, the tensional elements of which are fastened or tensioned by other means
    • E04G17/0751One-piece elements
    • E04G17/0754One-piece elements remaining completely or partially embedded in the cast material
    • EFIXED CONSTRUCTIONS
    • E04BUILDING
    • E04GSCAFFOLDING; FORMS; SHUTTERING; BUILDING IMPLEMENTS OR AIDS, OR THEIR USE; HANDLING BUILDING MATERIALS ON THE SITE; REPAIRING, BREAKING-UP OR OTHER WORK ON EXISTING BUILDINGS
    • E04G17/00Connecting or other auxiliary members for forms, falsework structures, or shutterings
    • E04G17/06Tying means; Spacers ; Devices for extracting or inserting wall ties
    • E04G17/0644Plug means for tie-holes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • 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/061Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Architecture (AREA)
  • Structural Engineering (AREA)
  • Civil Engineering (AREA)
  • Mechanical Engineering (AREA)
  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

인증된 방식으로 디지탈 객체들을 교환하기 위해, SMTP와 같은, 기존의 이메일 전송 프로토콜을 사용하는 방법과 시스템이 제공된다. 제공된 방법 및 시스템은 공공의 정보 교환을 인증하여 P2P 통신에 대한 컴퓨터 신원들(identities)의 부트스트래핑(bootstrapping) 문제를 해결한다. 이메일 프로토콜이 강력하여, 주어진 주소로의 이메일 메시지의 전송이 결과적으로 높은 정도의 신뢰성으로 그 주소에 도착하는 메시지가 되면, 본 발명의 실시예들에 따라 수행되는 공공의 정보 교환은 신뢰성 있게 인증된다.
디지탈 객체, 인증 프로토콜, 암호화 시스템

Description

이메일을 사용하는 공개 정보의 인증된 교환{AUTHENTICATED EXCHANGE OF PUBLIC INFORMATION USING ELECTRONIC MAIL}
도 1은 본 발명의 일 실시예에 따라, 인증 프로토콜을 수행하는 컴퓨팅 디바이스의 아키텍쳐의 예를 도시하는 단순화된 개략도.
도 2는 본 발명의 일 실시예에 따라 디지탈 객체의 송신인을 인증하는 통신망 배치의 예.
도 3은 본 발명의 일 실시예에 따라 인증에서의 사용을 위한 콤포넌트 아키텍쳐의 예.
도 4는 본 발명의 일 실시예에 따라 전송과 인증에서의 사용을 위한 샘플 이메일 메시지.
도 5는 본 발명의 일 실시예에 따라 디지탈 객체의 송신인을 인증하는 프로토콜을 도시하는 흐름도.
도 6은 본 발명의 일 실시예에 따라, 디지탈 객체의 송신인의 인증에 사용되는 송신인-채택의 방법을 도시하는 흐름도; 및
도 7은 본 발명의 일 실시예에 따라, 디지탈 객체의 송신인의 인증에 사용되는 수신인-채택의 방법을 도시하는 흐름도
<주요 도면 부호 설명>
302 메일 APP
304 개인키
306 공개키
308 암호화/암호해독 엔진
310 난수 발생기
본 발명은 일반적으로 정보 보안 분야에 관한 것이고, 더 구체적으로, 인증 프로토콜들에 관한 것이다.
인터넷에 접속된 컴퓨터들 간의 통신의 일반 형태는 클라이언트-서버로서 산업계에서 공지된 전형을 따른다. 예를 들어, 기존의 서버들은 이메일 서버, 웹 서버, 파일 서버, 온라인 뱅킹 서버 등이 있다. 클라이언트들은 가정용 개인 컴퓨터, 사무실용 개인 컴퓨터, 랩톱 컴퓨터, 핸드-헬드 디바이스, 무선 디지탈 폰 등을 포함한다. 다양한 클라이언트 디바이스들은 다양한 서버 디바이스들과 접속하고 인터랙트한다. 이 모델에서, 여러 서버들은 그들과 접속되는 클라이언트 디바이스들을 인증하고 승인하는 그들 자체의 방식들을 채용한다. 예를 들어, 일부 이메일 서버들은 인증하고 승인하기 위해 미리 등록된 신원들(identities)을 발행하고 사용한다. 일부 뱅킹 조직들에서는 인증과 승인을 하기 위해 그들 자신의 멤버 ID와 패스워드 데이타베이스들을 사용한다. 예를 들어, 가정의 개인 컴퓨터와 같은, 소정의 클라이언트 디바이스는 그것이 접속하고 인터랙트하는 여러 서버들에 의해 시행되는 상이한 인증 방법들에 따를 필요가 있다. 클라이언트-서버 모델에서, 어떻게 2개의 인터랙트하는 컴퓨터들이 현재 서로를 "인식"하는지에 관한 광범위한 문제는 서버 컴퓨터가 클라이언트 컴퓨터에 대해 그것의 우선사항들(preferences)을 일방적으로 시행함으로써 해결된다.
상술된 모델은 클라이언트-서버 인터랙션에 대해 잘 동작하지만, 다양한 클라이언트 머신들 간에 인터랙션에 대해서는 비실용적이 된다. 다양한 클라이언트 디바이스들 간의 그런 인터랙션에 대한 산업계 용어는 피어-투-피어(Peer-To-Peer;P2P) 통신으로 불리운다. 이 경우에, 클라이언트 컴퓨터는 다른 클라이언트에 대해 그것의 인증 우선사항들을 시행할 수 없다. 예를 들어, 제1 사용자인 알리스가 그녀의 개인 컴퓨터로부터 역시 개인 컴퓨터를 가진 제2 사용자인 밥과 비디오와 사진을 공유하고 교환하려고 희망한다고 고려하자. 밥은 비디오와 사진이 신분가장인(imposter)에 의해 전송되지 않고 실제 그녀에 의해 전송되는 것이라 믿고 알리스를 인증하고자 할 것이다.
추가로, 이베스드롭퍼(eavesdropper)가 비디오나 사진을 뷰할 수 없도록, 알리스는 RSA와 같은 암호화 기술을 사용하여 비디오와 사진을 안전하게 전송하기를 원할 것이다. RSA는 공개키 암호화 기술로서, 누구나가 그 주어진 사용자에 대한 데이타를 사용자의 공개키로 암호화할 수 있지만, 단지 그 사용자만이 대응하는 개인키를 사용하여 데이터를 암호해독할 수 있다. 그러므로, 알리스와 밥은 우선 그들의 각각의 공개키들을 교환하여 RSA 알고리즘으로 보안 채널을 확립할 필요가 있 다. 공개키들의 교환은 사소한 작업이 아니다. 악의의 해커인 찰리는 키 교환 통신의 "중간에 위치하기"를 시도할 수 있다. 찰리는 알리스에게 밥인 것처럼 가장하여 그 자신의 공개키를 송신한다. 그는 밥에게 그 자신의 공개키를 송신하지만, 알리스인 것처럼 가장한다. 이 초기 키 교환 통신이 그 자체가 보안적이지 않으면, 알리스와 밥이 찰리가 "중간에" 있슴을 알아차릴 단순한 방법이 없다. 그들이 찰리의 책략에 넘어가서 그의 키를 사용하여 통신을 시작하면, 그는 중간자로서 동작할 수 있고, 알리스와 밥 간에 모든 통신을 전달할 수 있고, 쌍방으로 전달되는 모든 컨텐츠에 이베스드롭할 수도 있다. 물론 그는 전달되는 컨텐츠를 변경하여 더욱 악화시킬 수도 있다.
그러므로, 알리스와 밥은 어떻게 그들이 그들의 통신 세션에서 공개키들의 교환을 신뢰성있게 "부트스트랩(bootstrap)"하는지의 문제를 갖는다. 더 일반적으로, P2P 세팅의 부트스트랩핑 문제는 수취인이 그것이 의도된 송신인으로부터 왔다는 신뢰성을 갖도록 임의의 종류의 공공의 데이타 또는 디지탈 객체를 교환하는 것과 관련이 있다.
본 발명의 실시예들은 이메일 교환을 위해 대중화된 단순한 메일 전송 프로토콜(Simple Mail Transport Protocol;SMTP)을 사용하여, P2P 통신을 위한 컴퓨터 신원들의 부트스트랩핑 문제를 해결한다. 통상적으로, 이것은 물리적으로 비보안적인 통신망을 통해 논리적으로 보안된 통신 채널을 확립시키는 RSA와 같은 알고리즘의 사용을 위한 필요전제조건이다. RSA 알고리즘으로, 부트스트랩핑 문제는 어 떻게 2개의 피어(peer) 컴퓨터들이 제3자의 개입없이(인증 기관 등) 그들 쌍방의 공개키들을 교환하도록 하는가의 문제이다. 다른 알고리즘이나 기술로, 그런 부트스트랩핑 문제와 관련된 데이타는 상이할 수 있지만, 스푸핑(spoofing)이 없다는 신뢰성으로 어떤 공공의 데이타를 교환하는 기본 문제는 동일하다.
본 발명의 실시예들은 공공의 정보의 교환을 인증하기 위해, SMTP와 같은, 기존의 이메일 프로토콜들을 사용한다. 이메일 프로토콜이 강력하여, 주어진 주소로의 이메일 메시지의 전송이 높은 정도의 신뢰성으로 그 주소에 메시지가 도착하는 것으로 귀결되면, 본 발명의 실시예들에 따라 수행되는 공공의 정보 교환은 인증된다.
본 발명의 일 양태에서, 디지탈 객체의 송신인을 인증하는 방법은, 제1 고유의 식별자(UID)의 생성을 포함하는 단계, 이메일 프로토콜을 통해 미리 알려진 주소로 제1 UID를 포함하는 제1 메시지를 전송하는 단계, 이메일 프로토콜을 통해 제2 UID와 제1 UID의 복사본을 포함하는 제2 메시지를 수신하는 단계, 이메일 프로토콜을 통해 미리 알려진 주소로 제2의 UID 복사본을 포함하는 제3 메시지를 전송하는 단계가 제공되고, 여기서 미리 알려진 주소로 전송된 메시지들 중의 적어도 하나는 디지탈 객체를 더 포함한다. 본 발명의 일 실시예에서, 디지탈 객체는 암호화 시스템을 위한 공개키이다. 본 발명의 실시예들에서, 이메일 프로토콜은 SMTP를 동작시키는 메일 서버를 포함한다.
본 발명의 다른 양태에서, 디지탈 객체의 송신인을 인증하는 방법은 , 이메일 프로토콜을 통해 제1 UID를 포함하는 제1 메시지를 수신하는 단계, 제2 UID를 생성하는 단계, 이메일 프로토콜을 통해 미리 알려진 주소로 제2 UID와 제1 UID의 복사본을 포함하는 제2 메시지를 전송하는 단계, 및 이메일 프로토콜을 통해 제2의 UID 복사본을 포함하는 제3 메시지를 수신하는 단계가 제공되고, 여기서 수신된 메시지들 중의 적어도 하나는 디지탈 객체를 더 포함한다. 일 실시예에서, 디지탈 객체는 암호화 시스템을 위한 공개키이다. 본 발명의 실시예들에서, 이메일 프로토콜은 SMTP를 동작시키는 메일 서버를 포함한다.
본 발명의 다른 양태에서, 컴퓨터 실행가능 명령어들을 포함하는 컴퓨터 판독가능 매체는 디지탈 객체의 송신인의 인증이 용이하도록 제공되고, 컴퓨터 실행가능 명령어들은 제1 고유의 식별자(UID)를 생성하는 단계, 이메일 프로토콜을 통해 미리 알려진 주소로 제1 UID를 포함하는 제1 메시지를 전송하는 단계, 이메일을 통해 제2 UID와 제1 UID의 복사본을 포함하는 제2 메시지를 수신하는 단계, 이메일을 통해 미리 알려진 주소로 제2 UID의 복사본을 포함하는 제3 메시지를 전송하는 단계를 실행하고, 여기서 미리 알려진 주소로 전송되는 메시지들 중의 적어도 하나는 디지탈 객체를 더 포함한다. 본 발명의 실시예들에서, 디지탈 객체는 암호화 시스템을 위한 공개키이다. 본 발명의 실시예들에서, 이메일 프로토콜은 SMTP를 동작시키는 메일 서버를 포함한다.
다른 양태에서, 본 발명은 디지탈 객체의 송신인을 인증하기 위해 제공되는 장치를 포함하고, 장치는 제1 고유의 식별자(UID)를 생성하는 난수 발생기, 이메일 프로토콜을 통해 미리 알려진 주소로 제1 UID를 포함하는 제1 메시지를 전송하는 통신망 인터페이스, 이메일을 통해 제2 UID와 제1 UID의 복사본을 포함하는 제2 메 시지를 수신하는 통신망 인터페이스, 및 이메일 프로토콜을 통해 미리 알려진 주소로 제2 UID의 복사본을 포함하는 제3 메시지를 전송하는 통신망 인터페이스를 포함하고, 여기서 미리 알려진 주소로 전송되는 메시지들 중의 적어도 하나는 디지탈 객체를 더 포함한다.
이메일을 사용한 보안키 교환을 지원하는 방법 및 시스템은 이제 다수의 실시예들에 대해 기재될 것이다. 그러나, 본 발명의 방법과 시스템은 예시된 실시예들에 제한되지는 않는다. 더욱이, 숙련된 당업자라면 본 명세서에 기재된 방법 및 시스템이 단지 예일 뿐이고, 변이본들이 본 발명의 취지와 범위를 벗어나지 않고 되어질 수 있슴을 쉽게 이해할 것이다.
본 발명은 첨부된 도면들과 함께 읽혀져야 하는 다음의 상세한 설명을 통해 더욱 완전히 이해될 것이다. 이 설명에서, 동일 부호들은 본 발명의 다양한 실시예들 내의 동일 소자들을 참조한다. 본 발명은 적합한 컴퓨팅 환경에서 구현되는 것으로 도시된다. 요구사항은 아니지만, 본 발명은 개인용 컴퓨터에 의해 실행되는, 과정들(procedures)과 같은, 컴퓨터 실행가능 명령어들의 일반적 콘텍스트로 기재될 것이다. 일반적으로, 과정들은 특정 작업들을 수행하고 특정 추상 데이타 유형들을 구현하는 프로그램 모듈, 루틴, 함수, 프로그램, 객체, 콤포넌트, 데이타 구조 등을 포함한다. 더욱이 당업자들은 본 발명이 핸드-헬드 디바이스, 멀티프로세서 시스템, 마이크로프로세서-기반이나 프로그램할 수 있는 소비자 전자제품, 통신망 PC, 미니 컴퓨터, 메인프레임 컴퓨터 등을 포함하는 다른 컴퓨터 시스템 구성 들과 실시될 수 있슴을 이해할 것이다. 본 발명은 또한 작업들이 통신망을 통해 링크된 원격 프로세싱 디바이스들에 의해 수행되는 분산 컴퓨팅 환경에서 실시될 수 있다. 분산 컴퓨팅 환경에서, 프로그램 모듈들은 로컬 및 원격 메모리 저장 디바이스들에 위치될 수 있다. 컴퓨터 시스템이라는 용어는 분산 컴퓨팅 환경에서 발견될 수 있는 것과 같은 컴퓨터들의 시스템을 언급하기 위해 사용될 수 있다.
도 1은 본 발명이 구현될 수 있는 적합한 컴퓨팅 시스템 환경(100)의 예를 도시한다. 컴퓨팅 시스템 환경(100)은 적합한 컴퓨팅 환경의 일 예일 뿐이고, 본 발명의 사용이나 기능의 범위에 임의의 제한을 제안하려고 의도되지 않았다. 컴퓨팅 환경(100)은 운영 환경(100)의 예에 도시된 콤포넌트들 중의 임의의 것이나 조합과 관련된 임의의 종속성이나 요구사항을 갖는 것으로 해석되어서는 안된다. 본 발명의 일 실시예는 운영 환경(100)의 예에서 도시된 각각의 콤포넌트를 포함하지만, 본 발명의 다른 더욱 전형적인 실시예는 통신망 통신을 위해 필요한 것들이 아닌, 예를 들어, 입/출력 디바이스들과 같은, 기본 콤포넌트들이 아닌 것들을 제외시킨다.
도 1을 참조하면, 본 발명을 구현하는 시스템의 예는 컴퓨터(110)의 형태로 일반 목적의 컴퓨팅 디바이스를 포함한다. 컴퓨터(110)의 콤포넌트들은 프로세싱 유닛(120), 시스템 메모리(130), 및 프로세싱 유닛(120)으로 시스템 메모리를 포함하는 다양한 시스템 콤포넌트들을 결합하는 시스템 버스(121)를 포함할 수 있지만, 이에 제한되지는 않는다. 시스템 버스(121)는 메모리 버스나 메모리 컨트롤러, 주변 버스, 및 다양한 버스 아키텍쳐 중의 임의의 것을 사용하는 로컬 버스를 포함하는 여러 유형의 버스 구조 중의 임의의 것일 수 있다. 예를 들어, 그런 아키텍쳐들은 산업 표준 아키텍쳐(Industry Standard Architecture;ISA) 버스, 마이크로 채널 아키텍쳐(Micro Channel Architecture;MCA) 버스, 개선된 ISA(Enhanced ISA;EISA) 버스, 비디오 전자 표준 학회(Video Eectronics Standards Association;VESA) 로컬 버스, 및 또한 메자닌 버스라고도 알려진 주변 콤포넌트 상호연결(Peripheral Component Interconnect;PCI) 버스를 포함한다.
컴퓨터(110)는 통상적으로 다양한 컴퓨터 판독가능 매체를 포함한다. 컴퓨터 판독가능 매체는 컴퓨터(110)에 의해 액세스될 수 있는 임의의 이용할 수 있는 매체일 수 있고, 휘발성과 비휘발성 매체, 및 분리형과 비분리형 매체를 모두 포함한다. 예를 들어, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체와 통신 매체를 더 포함할 수 있지만, 이에 제한되지 않는다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이타 구조, 프로그램 모듈, 또는 기타 데이타와 같은 정보 저장을 위한 임의의 방법이나 기술로 구현되는 휘발성과 비휘발성 및 분리형과 비분리형 매체를 포함한다. 컴퓨터 저장 매체는 RAM, ROM, EEPROM, 플래쉬 메모리 또는 기타 메모리 기술, CD-ROM, 디지탈 다용도 디스크(DVD) 또는 기타 광 디스크 저장장치, 자기 카세트, 자기 테입, 자기 디스크 저장장치, 또는 기타 자기 저장 디바이스, 또는 원하는 정보를 저장하기 위해 사용될 수 있고 컴퓨터(110)에 의해 액세스될 수 있는 임의의 기타의 매체를 포함하지만, 이에 제한되지는 않는다. 통신 매체는 통상적으로 컴퓨터 판독가능 명령어, 데이타 구조, 프로그램 모듈, 또는 반송파나 다른 전송 메카니즘과 같은 변조된 데이타 신호의 기타 데이타를 구현하고, 임의의 정보 전달 매체를 포함한다. "변조된 데이타 신호"라는 용어는 신호에 정보를 인코딩하는 방식으로 그것의 특성들의 하나 이상이 세트되거나 변경되는 신호를 의미한다. 예를 들어, 통신 매체는 유선 통신망이나 직접 유선 접속과 같은 유선 매체, 및 음향, RF, 적외선, 및 기타 무선 매체와 같은 무선 매체를 포함하지만, 이에 제한되지는 않는다. 상술된 것들 중의 임의의 것의 조합들이 또한 컴퓨터 판독가능 매체의 범위 내에 포함되어야 한다.
시스템 메모리(130)는 읽기용 메모리(ROM)(131)와 랜덤 액세스 메모리(RAM)(132)와 같은 휘발성 및/또는 비휘발성 메모리의 형태로 컴퓨터 저장 매체를 포함한다. 스타트업 동안과 같은 때에, 컴퓨터(110) 내의 소자들 간에 정보의 전송을 돕는 기본 루틴들을 포함하는 기본 입/출력 시스템(BIOS)(133)은 통상적으로 ROM(131)에 저장된다. RAM(132)은 통상적으로 즉시 액세스할 수 있고 그리고/또는 현재 프로세싱 유닛(120)에 의해 동작 중인 데이타 및/또는 프로그램 모듈을 포함한다. 예를 들어, 도 1은 운영 체제(134), 응용 프로그램(135), 기타 프로그램 모듈(136), 및 프로그램 데이타(137)를 도시하지만, 이에 제한되지는 않는다.
컴퓨터(110)는 또한 기타 분리형/비분리형, 휘발성/비휘발성 컴퓨터 저장 매체를 포함할 수 있다. 예를 들어, 도 1은 비분리형, 비휘발성 자기 매체에 읽고 쓰는 하드 디스크 드라이브(141), 분리형, 비휘발성 자기 디스크(152)에 읽고 쓰는 자기 디스크 드라이브(151), 및 CD ROM 또는 다른 광 매체와 같은 분리형, 비휘발성 광 디스크(156)에 읽고 쓰는 광 디스크 드라이브(155)를 도시한다. 운영 환경의 예에서 사용될 수 있는 다른 분리형/비분리형, 휘발성/비휘발성 컴퓨터 저장 매 체는 자기 테입 카세트, 플래쉬 메모리 카드, 디지탈 다용도 디스크(DVD), 디지탈 비디오 테입, 반도체 RAM, 반도체 ROM, 스마트 카드, 보안디지탈 카드, 스마트매체 카드, 컴팩플래쉬 카드 등을 포함하지만, 이에 제한되지는 않는다. 하드 디스크 드라이브(141)는 통상적으로 인터페이스(140)와 같이 비분리형 메모리 인터페이스를 통해 시스템 버스(121)에 연결되고, 자기 디스크 드라이브(151) 및 광 디스크 드라이브(155)는 통상적으로, 인터페이스(150)와 같은, 분리형 메모리 인터페이스에 의해 시스템 버스(121)에 연결된다.
위에 논의되고 도 1에 도시된 드라이브들과 그들의 연계된 컴퓨터 저장 매체는 컴퓨터(110)에 대한 컴퓨터 판독가능 명령어, 데이타 구조, 프로그램 모듈, 및 기타 데이타를 제공한다. 도 1에서, 예를 들어, 하드 디스크 드라이브(141)는 운영 체제(144), 응용 프로그램(145), 기타 프로그램 모듈(146), 및 프로그램 데이타(147)를 저장하는 것으로 도시된다. 이들 콤포넌트들은 운영 체제(134), 응용 프로그램(135), 기타 프로그램 모듈(136), 및 프로그램 데이타(137)와 동일하거나 상이할 수 있다. 운영 체제(144), 응용 프로그램(145), 기타 프로그램 모듈(146), 및 프로그램 데이타(147)는 본 명세서에 다른 숫자들이 주어져 적어도 그들이 상이한 복사본들임을 설명한다. 사용자는 태블릿, 또는 전자 디지타이저,(164), 마이크로폰(163), 키보드(162), 및 일반적으로 마우스, 트랙볼, 또는 터치 패드라고 언급되는 포인팅 디바이스(161)와 같은 입력 디바이스를 통해 컴퓨터(110)로 커맨드와 정보를 입력할 수 있다. 다른 입력 디바이스들(도시 안됨)은 조이스틱, 게임 패드, 위성 접시, 스캐너 등을 포함할 수 있다. 이들과 다른 입력 디바이스들은 종종 시스템 버스에 결합된 사용자 입력 인터페이스(160)를 통해 프로세싱 유닛(120)으로 연결되지만, 병렬 포트, 게임 포트, 또는 범용 직렬 버스(Universal Serial Bus;USB)와 같은 다른 인터페이스와 버스 구조로 접속될 수 있다. 모니터(191)나 다른 유형의 디스플레이 디바이스는 또한 비디오 인터페이스(190)와 같은 인터페이스를 통해 시스템 버스(121)에 접속된다. 모니터(191)는 또한 터치-스크린 패널 등과 일체화될 수 있다. 모니터 및/또는 터치 스크린 패널은 컴퓨팅 디바이스(110)가 태블릿-유형의 개인용 컴퓨터에서와 같이 포함된 하우징에 물리적으로 결합될 수 있슴을 주목한다. 추가로, 컴퓨팅 디바이스(110)와 같은 컴퓨터들은 또한, 출력 주변장치 인터페이스(194) 등을 통해 접속될 수 있는 스피커(197) 및 프린터(196)와 같은 다른 주변 출력장치 디바이스들을 포함할 수 있다.
컴퓨터(110)는, 원격 컴퓨터(180)와 같은, 한 개 이상의 원격 컴퓨터들로의 논리 접속을 사용하여 통신망 환경에서 동작할 수 있다. 원격 컴퓨터(180)는 개인용 컴퓨터, 서버, 라우터, 통신망 PC, 피어 디바이스, 또는 기타 일반 통신망 노드일 수 있고, 단지 메모리 저장 디바이스(181)만이 도 1에 도시되지만, 통상적으로 컴퓨터(110)과 관련해서 상술된 소자들의 다수나 전체를 포함한다. 도 1에 도시된 논리 접속들은 구내 통신망(LAN)(171)과 광역 통신망(WAN)(173)을 포함하지만, 또한 기타 통신망들을 포함할 수도 있다. 그런 통신망 환경들은 사무실, 기업기반 컴퓨터 통신망, 인트라넷, 및 인터넷에서 일반적이다. 예를 들어, 본 발명에서, 컴퓨터(110)는 데이타가 이동되는 소스 머신을 포함할 수 있고, 원격 컴퓨터(180)는 목적지 머신을 포함할 수 있다. 그러나, 소스 및 목적지 머신들은 통신망이나 임의의 다른 수단들에 의해 접속될 필요가 없지만, 대신에, 데이타는 소스 플랫폼에 의해 기록될 수 있는 임의의 매체를 통해 이동될 수 있고, 목적지 플랫폼이나 플랫폼들에 의해 판독될 수 있슴을 주목한다.
LAN 통신망 환경에서 사용될 때, 컴퓨터(110)는 통신망 인터페이스 또는 어댑터(170)를 통해 LAN(171)에 접속된다. 다른 경우에, 컴퓨터(110)가 물리적 접속없이 LAN(171)에 접속하도록 하여, 컴퓨터(110)는, 예를 들어, 802.11b 프로토콜에 동작하는 무선 LAN 통신망 인터페이스를 포함한다. WAN 통신망 환경에서 사용될 때, 컴퓨터(110)는 통상적으로, 인터넷과 같은, WAN(173)을 통해 통신을 확립하는 모뎀이나 다른 수단을 포함한다. 내장이나 외장일 수 있는 모뎀(172)은 사용자 입력 인터페이스(160)나 다른 적절한 메카니즘을 통해 시스템 버스(121)에 접속될 수 있다. 다른 경우에, 컴퓨터(110)가 물리적 접속없이 WAN(173)에 접속되도록 하여, 컴퓨터(110)는, 예를 들어, 일반적 패킷 무선 서비스(General Packet Radio Service;GPRS)를 통해 동작하는 무선 WAN 통신망 인터페이스를 포함한다. 통신망 환경에서, 컴퓨터(110)에 관련하여 도시된 프로그램 모듈들, 또는 그것의 일부는 원격 메모리 저장 디바이스에 저장될 수 있다. 예를 들어, 도 1은 메모리 디바이스(181)에 상주하는 것으로 원격 응용 프로그램(185)을 도시하지만, 이에 제한되지는 않는다. 도시된 통신망 접속은 예이고, 컴퓨터들 간에 통신 링크를 확립시키는 다른 수단이 사용될 수 있슴을 이해할 것이다. 추가로, 컴퓨터(110)의 변이본들은 셀 폰, 휴대용 정보 단말기(PDA) 등과 같이, 본 발명을 구현하는 다른 시스템의 예들로 병합될 수 있다.
본 발명은 잠재적으로 다양한 통신망 환경들에서 사용되는 컴퓨팅 디바이스/머신으로 병합된다. 도 2를 참조하면, 본 발명이 이용될 수 있는 통신망 환경의 간단한 예가 도시된다. 이메일로 사용자 "B"에게 사용자 "A"의 공개 암호키를 전송하기를 원하는 사용자 "A"에 사용되는 제1 컴퓨터(202)는 메일 서버(204)와 통신한다. 예를 들어, 컴퓨터(202)는 사용자 "A"가 메시지들을 작성하고 메일 서버(204)로 그것들을 전송하는 메일 응용 프로그램을 포함한다. 메일 서버(204)는 전자 메시지들을 전송하기 위해 SMTP와 같은 공지되고 채택되는 메일 프로토콜을 사용한다. 사용자 "A"에 의해 생성된 메시지는 통상적으로 "userB@domain.com"의 형태로 수취인에 대한 주소를 포함한다. 이 예에서, '@' 부호의 우측, "domain.com"의 문자들은 사용자 "B"에 대한 메일을 수신하는 컴퓨터에 대한 논리 도메인인 도메인명을 포함한다. 메일 서버(204)는 도메인명 시스템(DNS) 서버(206)를 쿼리(query)하여 논리 주소에 대한 대응하는 물리 주소를 얻는다. DNS 서버(206)는 논리 주소와 물리 주소 간에 매핑 서비스로서 역할을 하는 분산 DNS 서버들의 계층도(hierarchy)에 속한다. 물리 주소는 인터넷(210) 상의 컴퓨터(208)를 식별하는 인터넷 프로토콜(Internet Protocol;IP) 주소의 형태를 갖는다. 본 발명의 실시예들은 전송층 보안(Transport Layer Security;TLS)을 사용하여 송신 메일 서버(204)와 수신 메일 서버(212) 간에 보안 통신 채널을 확립시켜서, 2개의 서버들 간의 통신이 이베스드롭될 수 없게 보장한다. 메일 서버(204)는 TCP/IP 프로토콜을 사용하여 얻어진 물리적 주소를 갖는 이메일 메시지를 전송하여, 그것이 인터넷(210) 상에서 라우팅되도록 한다. 메시지는 사용자 "B"에 대한 메일 서버로서 동작하는 IP 주소를 갖는 컴퓨터(208)에 도착한다. 메시지의 의도된 수신인, 사용자 "B",은 그를 위해 의도된 이메일 메시지들을 얻기 위해 컴퓨터(212)를 사용한다. 컴퓨터(212)는 메일 서버(208)와 통신하고, 적합한 메시지들을 수신한다. 유사하게, 사용자 "B"가 인터넷(210)을 통해 이메일 메시지를 송신하려고 시도할 때, 메일 서버(208)는 DNS 서버(214)를 쿼리하여 의도된 수취인의 물리적 주소를 얻는다.
도 3은 본 발명의 일 실시예에 따르면 사용자 컴퓨터(202) 상에 실행하는 소프트웨어 콤포넌트들의 세트를 도시한다. 사용자는 이메일 메시지들을 송수신하기 위해 메일 응용 프로그램(302)과 인터랙트한다. 메일 응용 프로그램의 예로는 와싱톤주 레드몬드의 마이크로소프트사의 아웃룩(Outlook)이 있다. 메일 응용 프로그램(302)은 실행가능 프로그램, 도큐먼트, 또는 기타 파일들과 같은 텍스트와 이진 파일을 모두 송수신한다. 메일 응용 프로그램(302)에 의해 송수신되는 한 개의 메시지는 텍스트, 이진 파일, 또는 둘 모두를 포함할 수 있다. 본 발명의 실시예들은 RSA 암호화 스킴에서 사용되는 것들과 같은 공개 암호키들의 교환을 용이하게 한다. 그런 스킴에서, 사용자는 수학적으로 2개의 키, 개인키(304)와 공개키(306),들을 생성시킨다. 사용자는 모두가 공개키(306)를 사용할 수 있도록 하고, 개인키(304)는 비밀로 유지한다. 누구나가 공개키(306)를 사용하여 메시지를 암호화할 수 있지만, 단지 개인키(304)의 소지자만이 그 암호화된 메시지를 해독할 수 있다. 스킴의 수학적 특성들은 또한 그의 개인키(304)로 그것들을 암호화하여 사용자가 메시지들을 디지탈로 '싸인'하도록 한다. 공개키(306)를 소지하는 자는 누구나 그 사용자에 의해 씌인 것임을 확인하기 위해 메시지를 해독할 수 있다. RSA 스킴의 예는 본 명세서에서 그것의 전체 내용이 참조되는 미국 특허번호 4,405,829에 더 상세히 기재된다. 본 발명의 일 실시예에서, 사용자 컴퓨터(202)는 개인키(304)와 공개키(306)와 관련되는 암호화와 암호해독 동작들을 조작하는 암호화/암호해독 엔진(308)을 포함한다.
본 발명의 실시예들은 또한 난수 발생기(310)를 포함한다. 난수 발생기(310)는 그것이 주어진 시퀀스의 임의의 다른 비트들에서 시퀀스의 임의의 비트를 예측하기에 실제적으로 불가능하도록 비트들의 스트링을 양호하게 생성한다. 그러므로, 시퀀스가 실제로 랜덤일 필요는 없지만, 시퀀스가 비예측성에 충분한 정도로 랜덤하게 나타나야 한다. 실시예들은 글로벌하게 고유한 식별자를 발생시키는 알고리즘을 채택하는 의사-난수(pseudo-random number) 발생기들을 사용하는 마이크로소프트 개발자 통신망(Microsoft Developer Network)에 의해 제공된 UuidCreate 함수와 같은 함수들을 호출한다.
도 4는 본 발명의 일 실시예에서 사용되는 바와 같이 헤더들을 갖는 전형적 이메일 메시지(400)를 도시한다. 본 발명의 실시예들에서, 이메일 메시지의 형식은 RFC822를 따른다. 메시지(400)의 예에서, "john@uchicagox.edu"의 주소를 갖는 것으로 주장하는 송신인은 "arf@arfdomainx.com"의 주소의 수신인으로 마이크로소프트 액셀 파일(401)을 포함하는 메시지를 송신한다. 다른 경우에, 암호화 프로토콜들에 대한 공개키들과 같은 다른 첨부물이 첨부된다. 메시지의 머리 부분의 몇 개의 헤더들(402)은 송신인으로부터 수취인으로의 메시지(400)의 루트를 트레이싱하는 라우팅 정보를 포함한다. 송신인은 그의 이름이 "존 스미스"이고 그의 주소 가 "john@uchicagox.edu"인 "From" 헤더(404)에 지시된다. 송신인은 또한 이것이 메시지의 내용의 서명 필드(405)의 그의 주소임을 확인한다. 그러나, "Received" 헤더(406)와 "Return-Path" 헤더(408)과 같은 다른 헤더들은 메시지가 실제로는 다른 주소, "john@realaddress,org"로부터 송신되었슴을 지시한다. 사실상, 송신인의 주소를 지시하는 헤더들은 다양한 정도의 난이도로 위조될 수 있거나 "스푸핑"될 수 있다. 일부 메시지들에서, 솜씨있는 송신인은 송신인의 실제 주소를 확실하게 결정하는 것을 불가능하게 하기 위해 리턴 주소들을 스푸프할 수 있다. 환언하면, 메시지의 수신인은 메시지가 실제로 의도된 송신인으로부터 왔다는 것을 항상 신뢰할 수 있는 것은 아니다.
메시지(400)는 또한 "To" 헤더(410)를 포함한다. "To" 헤더(410)는 어디로 메시지가 송신되어야 하는지, 이 경우는 "arf@arfdomainx.com"으로,를 지시한다. "From" 헤더들(404, 405, 406, 및 408)과는 달리, "To" 헤더는 스푸프하기에 어렵다. 즉, 송신인이 "To" 필드의 수신인 주소로 메시지를 송신하면, 메시지가 수신인에게 도착할 것이고, 다른 곳으로 대신 전달되지 않는다는 높은 정도의 신뢰성이 있다.
도 5를 참조하면, 본 발명의 일 실시예에 따라, 통신망 컴퓨터들의 2명의 사용자들, A와 B,이 각각이 서로의 진위성을 신뢰하도록 공개키들을 교환하는 방법이 기재된다. 방법은 2개의 컴퓨터들의 각각의 사용자가 서로의 이메일 주소에 대한 사전 지식을 갖는다고 가정한다. 사용자 A에 의해 사용되는 제1 컴퓨터는 랜덤 또는 의사-난수 발생기를 사용하여, 단계(502)에서, 고유의 식별자, UID1,를 발생시 킨다. 고유의 식별자는 충분히 커서 추측하기 어렵다. 실제로, 128 비트는 식별자가 고유함을 보장하기 위해 충분하다. 제1 컴퓨터는, 단계(504)에서, 사용자 B에 대한 이메일 주소에 의해 인덱스되는 UID1을 저장한다. 제1 컴퓨터는, 단계(505)에서, 사용자 B의 미리 공지된 이메일 주소를 사용하여 제2 컴퓨터로 사용자 A의 공개키와 함께 UID1를 전송한다.
제2 컴퓨터는 메시지를 수신하고, 단계(506)에서, UID1의 복사본, 사용자 A의 공개키, 및 메시지의 "From" 필드에 리스트된 이메일 주소를 저장한다. 그 다음, 단계(508)에서, 제2 컴퓨터는, 예를 들어, 랜덤 또는 의사-난수 발생기를 사용하여 고유 식별자, UID2를 생성한다. UID2는 적어도 128 비트의 길이가 선호된다. 단계(510)에서, 제2 컴퓨터는 제1 컴퓨터로 UID2와 UID1의 복사본과 함께 사용자 B의 공개키를 전송한다. 그러나, 이 메시지는 제1 메시지의 "From"이나 "Reply To" 필드의 임의의 리턴 이메일 주소를 고려하지 않고, 사용자 A에 대해 미리 알려진 주소를 사용하여 주소가 정해진다.
단계(512)에서, 제1 컴퓨터는 제2 컴퓨터로부터 메시지를 수신하고, 로컬에 저장된 UID1을 인덱스하기 위해 "From" 필드의 이메일 주소를 사용하여 UID1의 복사본이 정확한지를 확인한다. 그 다음, 단계(514)에서, 사용자 A는 사용자 B로부터 수신된 공개키가 진위적임(즉, 그것이 실제로 사용자 B로부터 옴)을 신뢰한다. 그 다음, 단계(516)에서, 제1 컴퓨터는 사용자 B로 다시 UID2의 복사본을 전송한다.
단계(518)에서, 제2 컴퓨터는 메시지를 수신하고, 로컬에 저장된 UID2를 인 덱스하기 위한 "From"필드의 이메일 주소를 사용하여 UID2의 복사본이 정확한지를 확인한다. 그 다음, 단계(520)에서, 사용자 B는 사용자 A로부터 수신된 공개키가 진위적임(즉, 그것이 실제로 사용자 A로부터 옴)을 신뢰한다.
도 6은, 본 발명의 일 실시예에 따르면, 수신인이 공개키가 그 사용자로부터 온 것이라는 신뢰성을 갖도록, 사용자의 공개키를 송신하기 위해 이메일을 사용하는 방법을 도시한다. 사용자는 처음에, 예를 들어, 난수 또는 의사-난수 발생기를 사용하여, 단계(602)에서, 고유의 식별자(UID1)를 발생시킨다. 고유의 식별자는 충분히 커서 추측하기에 어렵다. 실제로, 128 비트는 식별자가 고유함을 보장하기에 충분하다. 단계(604)에서, 사용자는 수신인에 대한 미리 공지된 주소로 그의 공개키와 UID1을 포함하는 이메일 메시지를 송신한다. 단계(606)에서, 사용자는 제2 고유의 식별자, UID2,를 포함하는 적절한 시간에의 응답을 모니터한다. 일부 실시예들에서, 단계(606)에서, 모니터링을 위한 지속시간은 사용자에 의해 설정가능하다. 적절한 시간에 응답이 수신되지 않으면, 사용자는 단계(602)에서 다시 시작한다. 그렇지 않으면, 단계(608)에서, 사용자는 응답이 UID1의 복사본을 포함하는지를 검사한다. UID1의 복사본이 부정확하면, 사용자는 단계(602)에서 다시 시작한다. 그렇지 않으면, 단계(610)에서, 사용자는 수신인으로 UID2의 복사본을 포함하는 이메일을 송신한다.
도 7은, 본 발명의 일 실시예에 따르면, 사용자가 공개키가 그 송신인으로부터 왔다는 신뢰성을 갖도록 송신인의 공개키를 수신하기 위해 이메일을 사용하는 방법을 도시한다. 단계(702)에서, 사용자는 공개키와 고유 식별자, UID1,를 포함 하는 이메일을 수신한다. 메시지가 송신인을 식별하는 "From" 필드를 포함하지만, 사용자는 그 메시지가 실제로 의도된 송신인으로부터 왔다는 확신이 없다. 단계(704)에서, 사용자는 랜덤 또는 의사 난수 발생기를 사용하여 고유의 식별자 UID2를 발생시킨다. 단계(706)에서, 그는 미리 공지된 송신인의 주소를 사용하여 의도된 송신인에게 UID2와 UID1의 복사본을 포함하는 이메일 메시지를 송신한다. 단계(708)에서, 사용자는 적절한 시간에의 응답을 모니터링한다. 일부 실시예들에서, 단계(708)에서, 모니터링하는데 사용되는 시간의 양은 사용자에 의해 설정가능하다. 적절한 시간에 응답이 수신되지 않으면, 단계(710)에서, 사용자는 프로토콜을 종료한다. 다른 경우에서, 적절한 시간에 응답이 수신되지 않으면, 단계(706)에서, 사용자는 UID2와 UID1의 복사본을 포함하는 메시지를 재송신한다. 그렇지 않으면, 단계(712)에서, 사용자는 응답이 UID2의 복사본을 포함함을 검사한다. UID2의 복사본이 부정확하면, 프로토콜은 단계(710)에서 종료한다. 그렇지 않으면, 사용자는 공개키가 의도된 송신자로부터 온 것임을 확신하고, 단계(714)에서, 그 키를 신뢰하기 시작한다.
본 발명의 실시예들은 공개키들 대신에 디지탈 객체들의 교환을 더 허용한다. 예를 들어, 제1 사용자는 본 발명의 일 실시예를 사용하여 제2 사용자에게 도큐먼트를 전송할 수 있고, 제2 사용자는 그것이 실제로 그 도큐먼트를 송신한 제1 사용자임을 확신하게 된다. 더 일반적으로, 본 발명의 실시예들은 이메일 메시지들에 객체들을 "부트스트랩핑"하여 디지탈 객체들의 전송에 상대방들의 인증을 동시에 인에이블한다. 디지탈 객체가 공개키일 때의 예에서, 인증된 키는 상대방 간 의 보안 통신을 위해 후속적으로 사용될 수 있다.
본 발명의 원칙들이 적용될 수 있는 다수의 가능한 실시예들의 관점에서, 도면들과 관련하여 본 명세서에서 설명된 실시예들은 설명적 의도일 뿐이고, 본 발명의 범위를 제한하는 것으로 받아들여져서는 안됨을 인식해야 한다. 예를 들어, 당업자들은 예시된 실시예들이 본 발명의 취지로부터 벗어나지 않고 배치와 세부사항에서 수정될 수 있슴을 인식할 것이다. 본 발명은 소프트웨어 모듈이나 콤포넌트들로 설명되지만, 당업자들은 그런 것들은 하드웨어 콤포넌트들에 의해 동등하게 대체될 수 있슴을 인식할 것이다. 그러므로, 본 명세서에 설명된 바와 같이 본 발명은 다음의 청구범위 및 그것의 동등물들의 범위에 속하는 것으로 모든 그런 실시예들을 고려한다.
인증된 방식으로 디지탈 객체들을 교환하기 위해, SMTP와 같은, 기존의 이메일 전송 프로토콜을 사용하는 방법과 시스템이 제공된다. 제공된 방법 및 시스템은 공공의 정보 교환을 인증하여 P2P 통신에 대한 컴퓨터 신원들의 부트스트래핑 문제를 해결한다.

Claims (20)

  1. P2P(peer-to-peer) 통신상의 디지탈 객체의 송신인을 인증하는 방법으로서,
    제1 클라이언트와 제2 클라이언트 사이의 P2P 통신을 인식하는 단계 - 상기 제1 클라이언트는 제3자 중재(third party mediation) 없이 상기 P2P 통신을 통해 상기 제2 클라이언트와 안전하게(securely) 정보를 교환하려고 하며, 상기 제3자 중재는 인증 기관(certificate authority)들을 포함함 - ;
    상기 인식된 P2P 통신에 응답하여, 상기 P2P 통신이 인식된 이후에, 상기 제1 클라이언트와 상기 제2 클라이언트 사이의 이메일 프로토콜 통신을 수립하는 단계 - 상기 이메일 프로토콜 통신은 상기 P2P 통신과 분리된 접속(connection)이며, 상기 이메일 프로토콜 통신은 SMTP (Simple Mail Transport Protocol)에 의해 수립됨 - ;
    제1 UID (unique identifier)를 생성하는 단계;
    상기 수립된 이메일 프로토콜 통신을 통하여, 상기 제1 클라이언트로부터 상기 제2 클라이언트의 미리 알려진 주소로 상기 제1 UID를 포함하는 제1 이메일 메시지를 전송하는 단계;
    상기 이메일 프로토콜 통신을 통해 상기 제1 클라이언트로 향하는 제2 이메일 메시지를 상기 제2 클라이언트로부터 수신하는 단계 - 상기 제2 이메일 메시지는 제2 UID와 상기 제1 UID의 복사본을 포함하고, 상기 제2 이메일 메시지는 상기 제1 이메일 메시지의 from 필드 또는 reply to 필드 상의 리턴 이메일 주소를 고려하지 않고 상기 제1 클라이언트의 미리 알려진 주소를 사용하여 주소가 정해짐 -;
    상기 제1 클라이언트에서 상기 제1 UID의 복사본이 상기 제1 UID와 동일한지 검증하는 단계; 및
    상기 제2 UID의 복사본을 포함하는 상기 제2 클라이언트로의 제3 이메일 메시지를, 상기 이메일 프로토콜 통신을 통해, 상기 제1 클라이언트로부터 상기 제2 클라이언트의 상기 미리 알려진 주소로 전송하는 단계를 포함하고,
    상기 제1 클라이언트와 상기 제2 클라이언트 사이의 상기 미리 알려진 주소로 전송되는 상기 이메일 메시지의 적어도 하나는 상기 디지탈 객체를 더 포함하고, 상기 디지탈 객체는 상기 P2P 통신을 통해 상기 제1 클라이언트와 상기 제2 클라이언트 사이에 교환될 상기 정보를 인증하고, 상기 제1 이메일 메시지, 상기 제2 이메일 메시지 또는 상기 제3 이메일 메시지를 인증하지 않는, 방법.
  2. 제1항에 있어서, 상기 제1 이메일 메시지는 상기 디지탈 객체를 포함하는, 방법.
  3. 제1항에 있어서, 상기 제3 이메일 메시지는 상기 디지탈 객체를 포함하는, 방법.
  4. 제1항에 있어서, 상기 디지탈 객체는 상기 제1 클라이언트에 대한 암호화 시스템을 위한 공개키인, 방법.
  5. 제4항에 있어서, 상기 제2 이메일 메시지는 상기 제2 클라이언트에 대한 상기 암호화 시스템을 위한 제2 공개키를 더 포함하는, 방법.
  6. 제1항에 있어서, 상기 제1 클라이언트에서 상기 제1 UID의 복사본이 상기 제1 UID와 동일한지 검증한 이후, 상기 제1 UID를 인덱스(index)하기 위해 상기 제2 클라이언트로부터의 상기 이메일 주소를 상기 제1 클라이언트에서 사용하는 단계를 더 포함하는 방법.
  7. 삭제
  8. 제1항에 있어서, 상기 제1 UID는 적어도 128 비트를 포함하는 방법.
  9. 디지탈 객체의 송신인을 인증하는 방법으로서,
    제1 클라이언트와 제2 클라이언트 사이의 P2P(peer-to-peer) 통신을 인식하는 단계 - 상기 제1 클라이언트는 제3자 중재 없이 상기 P2P 통신을 통해 상기 제2 클라이언트와 안전하게(securely) 정보를 교환하려고 하며, 상기 제3자 중재는 인증 기관(certificate authority)들을 포함함 - ;
    상기 인식된 P2P 통신에 응답하여, 상기 제1 클라이언트와 상기 제2 클라이언트 사이의 이메일 프로토콜 통신을 수립하는 단계 - 상기 이메일 프로토콜 통신은 상기 P2P 통신과 분리된 접속(connection)이며, 상기 이메일 프로토콜 통신은 SMTP (Simple Mail Transport Protocol)에 의해 수립됨 - ;
    상기 수립된 이메일 프로토콜 통신을 통해 상기 제1 클라이언트로부터 제1 UID (unique identifier)를 포함하는 제1 이메일 메시지를 수신하는 단계;
    상기 제2 클라이언트에서 제2 UID (unique identifier)를 생성하는 단계;
    상기 이메일 프로토콜 통신을 통하여, 상기 제1 이메일 메시지의 from 필드 또는 reply to 필드 상의 리턴 이메일 주소를 고려하지 않고 상기 제2 클라이언트로부터 상기 제1 클라이언트의 미리 알려진 주소로 상기 제2 UID와 상기 제1 UID의 복사본을 포함하는 제2 이메일 메시지를 전송하는 단계;
    상기 제1 클라이언트에서 상기 제1 UID의 상기 복사본이 상기 제1 UID와 동일한지 검증하는 단계; 및
    상기 제1 클라이언트가 상기 제1 UID의 상기 복사본을 검증한 이후에, 상기 제2 클라이언트에서, 상기 이메일 프로토콜 통신을 통해 상기 제2 UID의 복사본을 포함하는 제3 이메일 메시지를 상기 제1 클라이언트로부터 수신하는 단계를 포함하고,
    상기 수신된 이메일 메시지 중 적어도 하나는 상기 디지탈 객체를 더 포함하고, 상기 디지탈 객체는 상기 P2P 통신을 통해 상기 제1 클라이언트와 상기 제2 클라이언트 사이에서 교환될 상기 정보를 인증하고, 상기 제1 이메일 메시지, 상기 제2 이메일 메시지 또는 상기 제3 이메일 메시지를 인증하지 않는, 방법.
  10. 제9항에 있어서, 상기 제1 이메일 메시지는 상기 디지탈 객체를 포함하는, 방법.
  11. 제9항에 있어서, 상기 제3 이메일 메시지는 상기 디지탈 객체를 포함하는, 방법.
  12. 제9항에 있어서, 상기 디지탈 객체는 상기 제1 클라이언트에 대한 암호화 시스템을 위한 공개키인, 방법.
  13. 제12항에 있어서, 상기 제2 이메일 메시지는 상기 제2 클라이언트에 대한 상기 암호화 시스템을 위한 제2 공개키를 더 포함하는, 방법.
  14. 제10항에 있어서, 상기 제2 클라이언트에서 상기 제2 UID의 복사본이 상기 제2 UID와 동일한지 검증하는 단계와, 상기 검증하는 단계 이후에 상기 제2 UID를 인덱스(index)하기 위해 상기 제1 클라이언트로부터의 상기 이메일 주소를 상기 제2 클라이언트에서 사용하는 단계를 더 포함하는 방법.
  15. 삭제
  16. 제9항에 있어서, 상기 제1 UID는 적어도 128 비트를 포함하는 방법.
  17. P2P(peer-to-peer) 통신상의 디지탈 객체의 송신인의 인증을 용이하게 하는 컴퓨터 수행가능 명령어를 포함하는 컴퓨터 저장 매체로서, 상기 컴퓨터 실행가능 명령어는
    제1 클라이언트와 제2 클라이언트 사이의 P2P 통신을 인식하는 단계 - 상기 제1 클라이언트는 제3자 중재 없이 상기 P2P 통신을 통해 상기 제2 클라이언트와 안전하게(securely) 정보를 교환하려고 하며, 상기 제3자 중재는 인증 기관(certificate authority)들을 포함함 - ;
    상기 인식된 P2P 통신에 응답하여, 상기 제1 클라이언트와 상기 제2 클라이언트 사이의 이메일 프로토콜 통신을 수립하는 단계 - 상기 이메일 프로토콜 통신은 상기 P2P 통신과 분리된 접속(connection)이며, 상기 이메일 프로토콜 통신은 SMTP (Simple Mail Transport Protocol)에 의해 수립됨 - ;
    제1 UID (unique identifier)를 생성하는 단계;
    상기 수립된 이메일 프로토콜 통신을 통하여, 상기 제1 클라이언트로부터 상기 제2 클라이언트의 미리 알려진 주소로 상기 제1 UID를 포함하는 제1 이메일 메시지를 전송하는 단계;
    상기 이메일 프로토콜 통신을 통해 상기 제2 클라이언트로부터 상기 제1 클라이언트로 향하는 제2 이메일 메시지를 수신하는 단계 - 상기 제2 이메일 메시지는 제2 UID와 상기 제1 UID의 복사본을 포함하고, 상기 제2 이메일 메시지는 상기 제1 이메일 메시지의 from 필드 또는 reply to 필드 상의 리턴 이메일 주소를 고려하지 않고 상기 제1 클라이언트의 미리 알려진 주소를 사용하여 주소가 정해짐 -;
    상기 제1 클라이언트에서, 상기 제1 UID의 복사본이 상기 제1 UID와 동일한지 검증하는 단계; 및
    상기 제2 UID의 복사본을 포함하는 상기 제2 클라이언트로의 제3 이메일 메시지를, 상기 이메일 프로토콜 통신을 통해, 상기 제1 클라이언트로부터 상기 미리 알려진 주소로 전송하는 단계를 포함하고,
    상기 미리 알려진 주소로 전송되는 상기 메시지들 중 적어도 하나는 상기 디지탈 객체를 더 포함하고, 상기 디지탈 객체는 상기 P2P 통신을 통해 상기 제1 클라이언트와 상기 제2 클라이언트 사이에 교환될 상기 정보를 포함하고, 상기 제1 이메일 메시지, 상기 제2 이메일 메시지 또는 상기 제3 이메일 메시지를 인증하지 않는, 컴퓨터 저장 매체.
  18. 제17항에 있어서, 상기 디지탈 객체는 상기 제1 클라이언트에 대한 암호화 시스템을 위한 공개키인 컴퓨터 저장 매체.
  19. 제18항에 있어서, 상기 제2 이메일 메시지는 상기 제2 클라이언트에 대한 상기 암호화 시스템을 위한 제2 공개키를 더 포함하는 컴퓨터 저장 매체.
  20. 제3자 중개 없이 공개 키를 안전하게 교환하기 위한 장치로서,
    제1 UID(unique identifier)를 생성하는 랜덤 넘버 생성기;
    제1 클라이언트와 제2 클라이언트 사이의 P2P (peer-to-peer) 통신을 인식하는 네트워크 인터페이스를 포함하고,
    상기 제1 클라이언트는 상기 P2P 통신을 통해 상기 제2 클라이언트와 안전하게 공개 키를 교환하려고 하며,
    상기 인식된 P2P 통신에 응답하여, 상기 네트워크 인터페이스는 상기 제1 클라이언트와 상기 제2 클라이언트 사이에 이메일 프로토콜 통신을 수립하며, 상기 이메일 프로토콜 통신은 상기 P2P 통신과 분리된 접속(connection)이고, 상기 이메일 프로토콜 통신은 SMTP(Simple Mail Transport Protocol)에 의해 수립되며,
    상기 네트워크 인터페이스는 상기 수립된 이메일 프로토콜 통신을 통해, 상기 제2 클라이언트와 연관된 미리 알려진 주소로 상기 제1 UID를 포함하는 제1 이메일 메시지를 전송하고,
    상기 네트워크 인터페이스는 상기 제1 이메일 메시지의 from 필드 또는 reply to 필드 상의 리턴 이메일 주소를 고려하지 않고 상기 이메일 프로토콜 통신을 통해 상기 제1 클라이언트와 연관된 미리 알려진 주소로 전송된 제2 이메일 메시지를 수신하고, 상기 제2 이메일 메시지는 제2 UID와 상기 제1 UID의 복사본을 포함하고, 상기 제1 UID의 상기 복사본은 상기 제1 UID와 검증을 위해 비교되며, 상기 네트워크 인터페이스는 상기 이메일 프로토콜 통신을 통해 상기 제2 클라이언트와 연관된 상기 미리 알려진 주소로 상기 제2 UID의 복사본을 포함하는 제3 이메일 메시지를 전송하며, 상기 제2 UID의 상기 복사본은 검증을 위해 상기 제2 UID와 비교되며,
    상기 제2 클라이언트와 연관된 상기 미리 알려진 주소로 전송되는 상기 이메일 메시지들 중 적어도 하나는 상기 키를 더 포함하고, 상기 키에 의해, 상기 제1 클라이언트와 상기 제2 클라이언트 사이에 상기 P2P 통신을 통해 교환될 정보가 보안되며, 상기 제1 이메일 메시지, 상기 제2 이메일 메시지 또는 상기 제3 이메일 메시지가 인증되지 않는, 장치.
KR1020050015294A 2004-04-02 2005-02-24 이메일을 사용하는 공개 정보의 인증된 교환 KR101149958B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/816,975 US7721093B2 (en) 2004-04-02 2004-04-02 Authenticated exchange of public information using electronic mail
US10/816,975 2004-04-02

Publications (2)

Publication Number Publication Date
KR20060043176A KR20060043176A (ko) 2006-05-15
KR101149958B1 true KR101149958B1 (ko) 2012-06-01

Family

ID=34887773

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050015294A KR101149958B1 (ko) 2004-04-02 2005-02-24 이메일을 사용하는 공개 정보의 인증된 교환

Country Status (5)

Country Link
US (1) US7721093B2 (ko)
EP (1) EP1583319B1 (ko)
JP (1) JP2005295509A (ko)
KR (1) KR101149958B1 (ko)
CN (1) CN1677975A (ko)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8417949B2 (en) * 2005-10-31 2013-04-09 Microsoft Corporation Total exchange session security
US9002018B2 (en) * 2006-05-09 2015-04-07 Sync Up Technologies Corporation Encryption key exchange system and method
JP4855147B2 (ja) * 2006-05-30 2012-01-18 株式会社Into クライアント装置、メールシステム、プログラム及び記録媒体
FR2907292A1 (fr) * 2006-10-16 2008-04-18 France Telecom Controle de message a transmettre depuis un domaine d'emetteur vers un domaine de destinataire
US20080137859A1 (en) * 2006-12-06 2008-06-12 Ramanathan Jagadeesan Public key passing
US8769284B2 (en) * 2006-12-29 2014-07-01 Nokia Corporation Securing communication
CN101247357B (zh) * 2007-02-16 2011-06-15 国际商业机器公司 在电子邮件客户端改进电子邮件讨论效率的方法和系统
US8950001B2 (en) * 2007-08-01 2015-02-03 Avaya Inc. Continual peer authentication
US8646039B2 (en) * 2007-08-01 2014-02-04 Avaya Inc. Automated peer authentication
US8170957B2 (en) * 2007-08-08 2012-05-01 Sinart Points Technology, Inc. System and method for managing digital interactions
US9325528B2 (en) * 2008-03-20 2016-04-26 Iconix, Inc. System and method for securely performing multiple stage email processing with embedded codes
US20110238498A1 (en) * 2010-03-29 2011-09-29 Microsoft Corporation Service stage for subscription management
US8707420B2 (en) * 2010-05-21 2014-04-22 Microsoft Corporation Trusted e-mail communication in a multi-tenant environment
US9542203B2 (en) 2010-12-06 2017-01-10 Microsoft Technology Licensing, Llc Universal dock for context sensitive computing device
US8923770B2 (en) 2010-12-09 2014-12-30 Microsoft Corporation Cognitive use of multiple regulatory domains
US8792429B2 (en) 2010-12-14 2014-07-29 Microsoft Corporation Direct connection with side channel control
US9294545B2 (en) 2010-12-16 2016-03-22 Microsoft Technology Licensing, Llc Fast join of peer to peer group with power saving mode
US8948382B2 (en) * 2010-12-16 2015-02-03 Microsoft Corporation Secure protocol for peer-to-peer network
US8971841B2 (en) 2010-12-17 2015-03-03 Microsoft Corporation Operating system supporting cost aware applications
US10110580B2 (en) * 2015-03-31 2018-10-23 Willie L. Donaldson Secure dynamic address resolution and communication system, method, and device
US10110552B2 (en) * 2015-03-31 2018-10-23 Willie L. Donaldson Secure dynamic address resolution and communication system, method, and device
US10616177B2 (en) 2015-03-31 2020-04-07 Willie L. Donaldson Secure dynamic address resolution and communication system, method, and device
CN110168550A (zh) * 2017-03-07 2019-08-23 惠普发展公司,有限责任合伙企业 基于随机数的数据消息认证
US11748297B2 (en) * 2019-04-26 2023-09-05 Csub Auxiliary For Sponsored Programs Administration Reconfigurable security hardware and methods for internet of things (IOT) systems

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010010076A1 (en) * 1999-12-08 2001-07-26 Hewlett-Packard Company Security protocol
US20030177194A1 (en) 2002-03-15 2003-09-18 Stephen Crocker Data replication system and method
US7024690B1 (en) 2000-04-28 2006-04-04 3Com Corporation Protected mutual authentication over an unsecured wireless communication channel
US7127613B2 (en) 2002-02-25 2006-10-24 Sun Microsystems, Inc. Secured peer-to-peer network data exchange

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4405829A (en) 1977-12-14 1983-09-20 Massachusetts Institute Of Technology Cryptographic communications system and method
JP3009876B2 (ja) * 1997-08-12 2000-02-14 日本電信電話株式会社 パケット転送方法および該方法に用いる基地局
US6351536B1 (en) 1997-10-01 2002-02-26 Minoru Sasaki Encryption network system and method
US6684332B1 (en) 1998-06-10 2004-01-27 International Business Machines Corporation Method and system for the exchange of digitally signed objects over an insecure network
US6209093B1 (en) 1998-06-23 2001-03-27 Microsoft Corporation Technique for producing a privately authenticatable product copy indicia and for authenticating such an indicia
JP2001148715A (ja) * 1999-11-19 2001-05-29 Mitsubishi Electric Corp ネットワークシステム及び端末装置
US7386878B2 (en) 2002-08-14 2008-06-10 Microsoft Corporation Authenticating peer-to-peer connections

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010010076A1 (en) * 1999-12-08 2001-07-26 Hewlett-Packard Company Security protocol
US7024690B1 (en) 2000-04-28 2006-04-04 3Com Corporation Protected mutual authentication over an unsecured wireless communication channel
US7127613B2 (en) 2002-02-25 2006-10-24 Sun Microsystems, Inc. Secured peer-to-peer network data exchange
US20030177194A1 (en) 2002-03-15 2003-09-18 Stephen Crocker Data replication system and method

Also Published As

Publication number Publication date
JP2005295509A (ja) 2005-10-20
EP1583319B1 (en) 2012-08-01
KR20060043176A (ko) 2006-05-15
EP1583319A2 (en) 2005-10-05
EP1583319A3 (en) 2005-10-19
US7721093B2 (en) 2010-05-18
CN1677975A (zh) 2005-10-05
US20050223226A1 (en) 2005-10-06

Similar Documents

Publication Publication Date Title
KR101149958B1 (ko) 이메일을 사용하는 공개 정보의 인증된 교환
US8489877B2 (en) System, method and computer product for sending encrypted messages to recipients where the sender does not possess the credentials of the recipient
US7039713B1 (en) System and method of user authentication for network communication through a policy agent
US6842628B1 (en) Method and system for event notification for wireless PDA devices
US8261071B2 (en) Stateless human detection for real-time messaging systems
US6904521B1 (en) Non-repudiation of e-mail messages
US20080031458A1 (en) System, methods, and apparatus for simplified encryption
KR101219862B1 (ko) 서버와 대응 도메인이 호환성 안전 이메일을 갖도록 하기위한 시스템 및 방법
US20100058058A1 (en) Certificate Handling Method and System for Ensuring Secure Identification of Identities of Multiple Electronic Devices
JP2006514478A (ja) オンライン/オフライン復号システム
JP2010522488A (ja) 復号鍵を配布するために鍵の取り出しを要求する安全な電子メッセージングシステム
JP2008506317A (ja) 導出鍵を用いたセキュアメッセージングシステム
JP2006520112A (ja) セキュリティ用キーサーバ、否認防止と監査を備えたプロセスの実現
US20070288746A1 (en) Method of providing key containers
TW202118271A (zh) 使用參與實體之網絡識別符促進與區塊鏈關聯之交易的電腦實施系統及方法
US20050138367A1 (en) System and method for storing user credentials on a server copyright notice
US20100095117A1 (en) Secure and positive authentication across a network
Jang et al. Trusted Email protocol: Dealing with privacy concerns from malicious email intermediaries
EP3346659B1 (en) Communication method for electronic communication system in open environment
CN113515496A (zh) 文件传输方法和装置、电子设备及存储介质
AU2005220240B1 (en) Method of providing key containers

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
B701 Decision to grant
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee