KR20060048695A - 콜 사인을 생성하는 방법 - Google Patents

콜 사인을 생성하는 방법 Download PDF

Info

Publication number
KR20060048695A
KR20060048695A KR1020050056988A KR20050056988A KR20060048695A KR 20060048695 A KR20060048695 A KR 20060048695A KR 1020050056988 A KR1020050056988 A KR 1020050056988A KR 20050056988 A KR20050056988 A KR 20050056988A KR 20060048695 A KR20060048695 A KR 20060048695A
Authority
KR
South Korea
Prior art keywords
call sign
hash
distinct
peer
call
Prior art date
Application number
KR1020050056988A
Other languages
English (en)
Other versions
KR101150109B1 (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 KR20060048695A publication Critical patent/KR20060048695A/ko
Application granted granted Critical
Publication of KR101150109B1 publication Critical patent/KR101150109B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • G06F21/46Structures or tools for the administration of authentication by designing passwords or checking the strength of passwords
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Storage Device Security (AREA)
  • Computer And Data Communications (AREA)
  • Telephonic Communication Services (AREA)
  • Telephone Function (AREA)

Abstract

콜 사인(call sign)을 생성하는 방법이 개시된다. 콜 사인을 생성하는 방법은, 구별되는 제한자(distinguished qualifier)를 결정하는 단계, 구별되는 솔트(distinguished salt)를 찾는 단계, 및 구별되는 제한자로 구별되는 솔트를 해싱하는 단계를 포함한다.
콜 사인, 구별되는 제한자, 구별되는 솔트, PNRP, 단방향 암호화 해시 함수

Description

콜 사인을 생성하는 방법{CALL SIGNS}
도 1은 피어-투-피어 컴퓨터 통신망에 액세스를 허용하기 위해 사용되는 전형적인 보안된 사용자 ID의 도시이다.
도 2는 콜 사인들을 생성하는 방법의 제1 실시예에 의해 생성되는 단축 콜 사인 식별자의 표현이다.
I. 명시적인 개수의 제로(0)를 가진 콜 사인들 및 그들을 생성하는 방법의 제1 실시예
도 3은 콜 사인의 형성을 도시한다.
도 4는 콜 사인을 결정하는 프로세스를 도시하는 흐름도이다.
도 5는 L 비트들로부터 및 T 초 동안 계산된 구별되는 솔트들에 대해 형성된 다양한 콜 사인들에 대한 콜 사인의 취약성을 나타내는 표이다.
도 6은 45 비트들의 비트 길이 L에 대해 충돌 빈도수 대 개체군 크기를 나타내는 표이다.
II. 확인자(verifier)에 의해 세트된 요구된 제로의 개수를 가진 콜 사인 및 그들을 생성하는 방법의 제2 실시예
도 7은 제2 실시예에 따른 콜 사인의 형성을 도시한다.
III. 콜 사인을 ASCII로 변환하기 위한 영숫자 인코딩
도 8 및 도 9는 콜 사인의 영숫자 코딩을 도시한다; 및
IV. PNRP에 적용되는 콜 사인들의 제3 실시예
도 10은 콜 사인의 제3 실시예에서 사용되는 바와 같이 콜 사인을 생성하는 프로세스의 흐름도이다.
<도면의 주요 부분에 대한 부호의 설명>
101:통상적 보안된 사용자 ID
305:인코딩된 콜 사인
307:구별되는 솔트(salt) S
308:해싱 함수
310:공개 키 K
[문헌 1]미국특허출원 제10/401,241호 "Methods and Systems for Authenticating Messages" (2003년 3월 27일)
본 발명은 콜 사인에 관한 것이다.
키들 및 암호 ID들("identification")은, 컴퓨터 시스템 등에서, 사용자 확인을 요구하는 다수의 응용 프로그램들에서 핵심적인 역할을 수행한다. 피어-투-피어 컴퓨터 시스템의 예에서, 사용자 ID는, 이메일과 같이, ID가 전자적으로 제공 될 때 통신망에 사용자가 액세스를 하도록 하는 시스템 관리자에의 확인자(verifier)로서 사용될 것이다. 다른 경우에, ID들은 음성 또는 쓰기(writing)로서 전송될 수 있다.
과거에는, ID들은 명함이나 말을 사용하여 수동으로 제공되었다. ID들은 통상적으로 기억하기 쉽지 않은 이진수의 긴 스트림이다. ID들은 암호화 프로세스를 사용하여 보안될 것이다. 그러나 보호된 ID들은 통상적으로 더 길고 쉽게 주위에서 돌려쓰기 어렵다. 그러므로, ID를 암호화로 보호할 때 사용자는 사용의 편의성을 포기한다.
다음은 독자의 기본 이해를 제공하기 위해 본 개시의 단순화된 요약를 제공한다. 본 요약은 본 개시의 확장된 개요가 아니며, 본 발명의 핵심/중요 요소들을 식별하거나 본 발명의 범위를 제한하지도 않는다. 그것의 단 한가지 목적은 나중에 제공되는 더 상세한 설명의 서두로서 단순화된 형태로 본 명세서에 개시된 일부 개념들을 제공하는 것이다.
본 발명은 컴퓨터 통신망에 사용자를 식별하기 위해 비교적 짧은 "콜 사인(call sign)"을 제공한다. 통신망은 통신망의 개별 컴퓨터들이 다른 통신망들에서보다 보안에 대한 더 큰 책임을 갖는 경향이 있는 피어-투-피어 통신망일 수 있다. 콜 사인은 통신망으로의 승인을 위해 콜 사인을 제공하는 사람에 대한 정보를 포함한다. 종래 ID들은 통상적으로 길고 기억하기 어려운데 반해, 콜 사인은 짧고 기억하기 쉽다. 콜 사인은 또한 미리 계산된 "솔트(salt)" 값을 포함하여, 그 자체 와 개인 정보의 해시(hash)가 문자 및 숫자를 포함하는 콜 사인으로 쉽게 변환되는 고정 길이의 결과를 출력하도록 한다. 개인 정보 외의 정보는 응용에 따라 해싱을 위해 포함될 수 있다.
당업자들은 암호적으로 안전한 짧고 쉽게 기억되는 ID를 갖는 것이 바람직함을 이해할 것이다. 이 유형의 콜 사인은 충분한 보안을 여전히 제공하면서도 기억하기에 충분히 짧을 필요가 있고, 그래서 피어-투-피어 통신망 또는 다른 통신망들의 사용성이 개선되도록 할 것이다.
다수의 본 발명의 부대 특징들은 첨부 도면들과 연결하여 고려되는 다음의 상세한 설명으로의 참조에 의해 그 동일 내용이 더 잘 이해될 것이다.
다음 논의는, 본 개시의 부분을 형성하는, 아래 요약에 기재된, 다양한 관점들의 도면들을 참조하여 가장 잘 이해될 수 있다.
첨부된 도면들과 연결하여 아래 제공된 상세한 설명은 본 발명의 현재 실시예들의 설명으로서만 의도되었고, 본 발명이 구성되거나 사용될 수 있는 유일한 형태들을 나타내려고 의도되지는 않는다. 설명은 도시된 실시예들과 연결하여 본 발명을 구성하고 동작시키는 본 발명의 기능들 및 단계들의 시퀀스를 기재한다. 그러나, 동일하거나 동등한 기능들과 시퀀스들은 본 발명의 취지 및 범위 내에 포함되는 것으로 또한 의도되는 다른 실시예들에 의해 성취될 수도 있다.
본 발명이 본 명세서에서 피어-투-피어 컴퓨터 통신망 시스템에 구현되는 것으로 기재되고 설명되지만, 기재된 시스템은 일 예로서 제공될 뿐이고, 이에 제한 되는 것은 아니다. 당업자들이라면, 본 발명이 다양하고 상이한 유형들의 컴퓨터 시스템들에서 응용되기에 적합함을 이해할 것이다.
도 1은 예시적인 피어-투-피어 또는 등가의 통신망에 액세스를 허용하기 위해 사용되는 통상적 보안 사용자 ID를 도시한다. 피어-투-피어 컴퓨터 통신망은 서버 컴퓨터들없이 기능할 수 있는 컴퓨터들의 통신망이고, 여기서, 보안은 통신망의 각 피어 컴퓨터의 책임이다. 도시된 바와 같이, 사용자 액세스를 식별하고 확인하기 위해 사용되는 ID(101)는 통상적으로 매우 길다. 그런 이진수는 통상적으로, 40자리 16진수와 동일한 160 비트의 이진수(102)이다. ID(101)의 다른 예는 2개의 컴포넌트들, 40 자리 16진수에 의해 표현된 수 및 임의의 길이의 문자 스트링을 포함하는 PNRP(Peer-to-Peer Name Resolution Protocol)이다. 그런 ID는, 기계들에 의해서가 아니면 쉽게 통신되지 않는다.
다수의 컴퓨터 통신망들은 PNRP의 프로세스에서 통상적으로 사용되는 피어 이름들의 생성을 요구할 것이다. 현재 구현된 것처럼, PNRP는 통상적으로, 사용자들에 의해 쉽게 핸들링될 수 있는 짧은 피어 이름을 사용하거나(적합한 보안을 제공할 의도가 없음), 또는 사용자들에 의해 쉽게 핸들링되지 않는 긴 이진수 열을 포함하는 긴 피어 이름들을 사용하는 것(통상적으로 높은 보안 레벨을 제공함)으로 제한된다. 당업자들이라면, 안전하고 짧은 식별 툴이 바람직한 임의의 유형의 컴퓨터 통신망이나 시스템에, 단축 식별자들이 적용될 수 있음을 이해할 것이다.
긴 피어 이름들은 통상적으로 암호화 프로세스들의 적용을 통해 보안될 수 있다. 그러나, 그런 긴 이름들은 통상적으로 사용자에 의해 쉽게 핸들링될 수 없 다. 긴 이름들은 통상적으로 기억하거나 컴퓨터 통신망으로의 액세스를 얻기 위해 입력하기에 어렵다. 요약하면, 이러한 현재의 기술 상태로는, 통상적으로 사용자는 사용의 편의성과 보안 중 하나를 선택해야만 한다. 피어-투-피어 통신망에서 보안적 방식으로, 짧고 기억하기 쉬운 식별자로 컴퓨터를 식별하는 방법을 제공하는 것이 바람직할 것이다.
I. 명시적인 개수의 제로들을 가진 콜 사인들 및 그들을 생성하는 방법의 제1 실시예
도 2는 콜 사인들을 생성하는 방법의 제1 실시예에 의해 생성되는 단축 콜 사인 식별자(202)의 표현이다. 더 구체적으로, 본 실시예는 콜 사인에 "제로 개수 필드"를 사용한다. 본 명세서에 기재된 피어-투-피어 ID("콜 사인")를 위한 보안된 콜 사인들을 생성하는 방법 및 시스템의 사용은, 피어-투-피어 통신망들("P2P"), 및 당업자들에게 알려진 기타 동등 통신망 응용에서 식별을 위해 사용될 수 있는 쉽게 기억되는 보안 코드들 또는 콜 사인들(202)을 생성한다. 더 구체적으로, 콜 사인의 구성에 사용되는 특정 정보 및 적용되는 암호화 함수들은 다양한 응용에서 콜 사인들의 사용을 허용한다. 예를 들어, 콜 사인들 및 그들을 생성하는 방법의 일 실시예는 PNRP에 적용될 수 있다. 다른 응용 프로그램들이 포함될 수 있지만, 이에 제한되는 것은 아니다.
피어-투-피어 식별을 위해 통상적으로 사용되는 콜 사인들을 생성하는 방법은 사용자 신원(identity)의 보안적인 통신의 어려움을 해결한다. 보안은 사용자들에 의해 쉽게 기억되고 입력될 수 있는 짧은 콜 사인들을 구성하는 보안적 프로 세스를 사용하여 달성될 수 있다. 그런 콜 사인들은 암호화 프로세스에 의해 강하게 보호가 될 것이다. 예를 들어, "ZA4-3Y-4W-ZF4"와 같은 피어-투-피어 ID를 위한 콜 사인은 짧고 보안적이다. 그런 콜 사인들은 주민번호를 기억하는 것만큼의 어려움으로 기억될 수 있다.
도시된 콜 사인의 예(202)는 10개의 영숫자들을 포함한다. 당업자들은 더 많거나 적은 수의 문자들을 가진 콜 사인들이 생성될 수 있음을 이해할 것이다. 10개의 콜 사인 문자들의 각각은 5개의 이진 비트들(203)을 나타낸다. 세그멘트들은 5 비트 세그멘트들로 분해된 더 긴 이진수의 일부들이다. 당업자들은 영숫자들이 5 비트보다 크거나 작은 길이의 이진수들을 나타내기 위해 동등한 실시예들에서 사용될 수 있음을 이해할 것이다.
이 예에서 볼 수 있는 바와 같이, 콜 사인 숫자들 중의 제1 숫자는 문자 "Z"이다. 이 예에서, 제1 숫자는 콜 사인의 디코딩에 사용되는 제로의 개수를 통신하기 위해 정의된다. 본 명세서에서, 문자 Z는 5 비트 이진수 11111인 16진수 31를 나타내기 위해 정의된다. 당업자들이라면, 본 발명의 동등한 실시예들에서, 제로의 수를 식별하는 숫자의 배치 및 콜 사인에서의 제로의 개수는 달라질 수 있음을 이해할 것이다. 유사하게, 이 예에서 "Z"를 대신하여, 임의의 비트 패턴 또는 문자가 선택될 수 있다.
이 콜 사인의 나머지 9개 영숫자들은 이진수의 나머지를 나타낸다. 이들 숫자들은 ("L")로서 지정된다. 이 예에서, L은 45 비트 길이이다. 이진수 L은 사용자 ID를 암호화하기 위해 사용되는 암호화 프로세스의 결과로부터 취해진다. 2 내 지 10에 위치한 나머지 L 비트들은 9개의 나머지 영숫자들에 매핑되는 5 비트 세그멘트들로 분해된다. 당업자들은 이진수들의 영숫자들로의 매핑은 표 탐색, 공식, 또는 당업자들에게 알려진 다른 동등한 방법들에 의해 수행될 수 있음을 이해할 것이다. 당업자들은 또한 10개의 문자들의 순서가 동등한 실시예들에서 달라질 수 있음을 이해할 것이다.
콜 사인으로부터 제로의 개수 및 숫자 L이 디코딩된 후에, 사용자 신원을 재생성하기 위해 암호화 프로세싱이 이진수들에 수행된다. 일단 사용자 ID가 설정되면, 통신망으로의 액세스 및 다른 권한들이 그 콜 사인을 가진 사람에게 주어질 것이다.
구별되는 제한자로부터 콜 사인의 제1 실시예의 생성
명명될 개체가 종래 방식으로 생성된 공개/개인 키 쌍 K/P, 및 개인화 정보 스트링, 또는 디지탈 신원 X를 포함한다고 가정된다. 개인화 정보 스트링은 명명될 개체의 자연적 특성들로 구성될 수 있다. 예를 들어, 개인화 정보 스트링은 공통 이름, 회사 이름, 도시, 및 이메일 주소 등의 조합을 포함할 수 있다. 종래방식으로 구성된 공개 키 K는 이진 스트링으로 표현될 수 있고, 개인화 정보 스트링은 텍스트 스트링으로 표현될 수 있다.
도 3은 콜 사인의 형성을 도시한다. 콜 사인 생성 프로세스의 제1 단계는 "구별되는" "솔트(salt)" 값 S를 찾아서, S(307)가 암호화적 단방향 함수("H(x)")(308)를 통해 K(310)과 X(309)와 함께 해시될 때, 그 결과가 많은 수의 제로로 시작하는 "구별되는" 해시 값("H")(301)이 되게 하는 것이다. 콜 사인을 생 성하는 후속 단계들에서 특정 개수의 제로가 필요하다. 구별되는 솔트를 찾을 때, 다수의 값들이 주어진 시간 간격에서 시도될 것이고, 원하는 수의 제로들을 생성하는 구별되는 솔트가 보유된다. 구별되는 솔트 값은 사용자가 인증을 위해 콜 사인을 제공할 때 콜 사인이 확인 과정을 패스하도록 한다.
당업자들은 선두의 제로들을 대신하여, 임의의 특정 비트 패턴이 사용될 수 있음을 이해할 것이다. 예를 들어, 추가적 다른 실시예들은 선두의 1들, 또는 최소 수의 "0110" 그룹들 등을 사용할 수 있다. 콜 사인의 생성에서 추구하는 것은 콜의 일부가 미리 결정된 패턴과 매치하는 한편, 콜 사인을 구성하고 패턴들을 갖는 경향이 없는 나머지 비트들은 콜 사인의 나머지 숫자들을 구성하는 것이다. 다른 경우에, 미리 결정된 패턴은 구별되는 해시 값을 생성하기 위해 사용되는 해시 함수가 아닌 제2 함수로부터 얻어질 수 있다.
해싱은 해싱 알고리즘이라고 불리우는 수학 함수를 임의의 양의 데이타에 적용하여 고정 크기의 결과를 생성하는 암호화 프로세스에 종종 사용되는 프로세스이다. 실시예들에서 사용되는 해시 함수들은 당업자들에게 알려진 유형의 것들이다. 통상적 해싱 알고리즘들은 MD2, MD4, MD5, 및 SHA-1를 포함한다.
실시예들에서 사용되는 해시 함수들은 단방향 암호화 해시 함수들로서 특성화될 수 있다. 당업자들이 쉽게 이해할 것처럼, 단방향 해시 함수들은 통상적으로 여러 개의 고유한 특성들을 가진다: 임의의 길이 메시지 입력으로부터 고정 길이 해시 값 또는 결과를 계산하는 것은 쉽다; 고정 길이 해시 값이 주어지면, 임의의 길이의 메시지를 계산하는 것은 어렵다; 및 임의의 길이의 메시지 입력이 주어지 면, 동일 고정 길이의 해시 값을 생성할 다른 메시지를 발견하는 것은 어렵다.
구별되는 솔트 및 다른 스트링들로부터 생성된 구별되는 해시 H(301)는 해시에 의해 생성된 수의 MSB 쪽의 다수의 제로들(또는 다른 동등하게 정의된 비트 패턴들)로 시작한다. 다른 동등한 실시예들에서, 제로들(또는 다른 동등하게 정의된 비트 패턴들)이 LSB 숫자들 또는 다른 위치들에 위치될 수 있거나, 또는 기재된 해시 또는 다른 함수의 다른 특성들이 지시자로서 사용될 수 있음을 당업자들은 이해할 것이다. 구별되는 솔트 값 및 최종 구별되는 해시는 상이한 솔트 값들로 평가되는 단방향 해시 함수의 반복들을 통해 발견된다. 가장 많은 수의 선두 제로들을 가진 해시의 결과를 가져오는 솔트 값은 구별되는 해시로서 보유된다. 특정 시간 T가 경과할 때까지 반복적으로 시도된다. 공격자(attacker)가 동일 수의 제로들을 발견하고 40이나 45 비트들을 매치하기 위해 T의 몇 배의 시간을 소비해야할 것이라는 가정 하에, 본 발명의 실시예들이 어떤 고정된 시간 "T" 동안 제로들을 찾기 위해 탐색함을 당업자들은 이해할 것이다. 구별되는 솔트 값을 찾는 검색 프로세스의 일 실시예는 다음과 같이 작성될 수 있다:
Figure 112005035032181-PAT00001
명시된 시간 T의 끝에, 구별되는 솔트 S 및 구별되는 H가 발견된다.
구별되는 해시 H는 암호적으로 강한 단방향 함수를 통해 K, X, 및 S의 해시 로서 정의된다.
Figure 112005035032181-PAT00002
논리적 콜 사인은 이진수인 구별되는 해시 H로부터 생성된다. 구별되는 해시(301)는 미리 결정된 수의 비트들("M")이다. M은 구별되는 해시의 선두 제로들("Z")(302), 및 최종 선두 제로(또는 선두 제로들의 LSB)을 바로 뒤따르는 구별되는 해시 값 H의 미리 선택된 수의 비트들("L")(303)을 포함한다.
일단 제로의 개수가 결정되면, 다음 단계는 구별되는 해시 H로부터 남은 얼마나 많은 비트 L이, 콜 사인의 내용에 포함되어야 하는지를 결정하는 것이다. 파라미터들 T(구별되는 솔트를 찾기 위해 사용됨)와 L은 보안과 스케일링을 고려하여 선택된다. 상술된 프로세스는 2개의 파라미터- 시도들이 행해지는 동안의 시간 T, 및 선택된 비트들의 수 L -를 갖는다. 이들 파라미터들은 미리 결정된 수의 엔트리들로의 스케일링을 고려하여 결정되어, 해커들에 의한 스푸핑(spoofing) 공격을 어렵게 하고 콜 사인을 미래 보장(future proofing)하여 미래에도 안전하게 남게 된다. 미래 보장은 콜 사인의 비위조성이 컴퓨터들의 속도가 개선되면서도 유효하게 남도록 통상적으로 무어의 법칙(Moore's law)을 고려한 실행이다. 이들 파라미터들의 선택에서 추가적 고려사항은 해커들로부터의 "카탈로그" 공격들을 방어하는 것이다.
제1 실시예에서 제로의 개수의 인코딩
일단 제로의 개수가 발견되면, 그들의 수를 콜 사인으로 인코딩하는 방식이 또한 발견되어야 한다. 충분한 보안을 가진 짧은 콜 사인을 생성하기 위해, 비트 들의 총수를 충분히 작게 유지하여, 그들이 짧은 숫자나 영숫자 스트링에 인코딩될 수 있도록 한다. 인코딩될 비트들의 총수는 수 L과 제로의 개수 Z를 인코딩하기 위해 필요한 비트들의 수의 합이다. 통상적으로, 수 Z는 128보다 작을 것이고, 7 비트로 인코딩될 것이다.
다른 실시예들에서, 널(null) 비트들의 실제 수를 인코딩하는 대신, 4 비트를 사용하여 널 옥테트(octets)의 수를 인코딩하거나, 5 비트를 사용하여 널 "4 비트 니블들(nibbles)"의 수를 인코딩하는 것이 가능하다. 충분한 수의 니블들을 찾는 수정된 프로세스는 다음과 같다:
Figure 112005035032181-PAT00003
예를 들어, 24개의 선두 제로들은 1GHz CPU를 가진 통상적인 PC에서 1분 이내에 이 방식으로 보통 얻을 수 있다.
아래 보여질 것처럼, 콜 사인을 구성할 선두 제로들을 뒤따르는 비트들의 그룹인 수 L은 40 비트 이하인 경우는 드물다. 선두 제로의 개수 Z에 대한 실용적 범위는 24와 88 사이에 있다. 24와 87 사이의 값들은 다음 공식을 사용하여 인코딩될 수 있다:
Figure 112005035032181-PAT00004
이 공식에서, R은 제로과 63 사이에서 달라지는 수이다. 동등하게, 아래 공 식이 사용될 수 있다:
Figure 112005035032181-PAT00005
P는 제로들의 쌍의 수를 인코딩하는 제로과 31 사이의 수이다. 제로과 31 사이의 수는, 그것이 한 개의 영숫자로서 인코딩될 수 있기 때문에, 매우 실용적이다. 한 개의 영숫자에 인코딩될 수 있는 충분한 수의 제로들을 찾는 수정된 프로세스는 다음과 같다:
Figure 112005035032181-PAT00006
다음 트레이드-오프(trade-off)는 값 L과 시간 T의 선택이다. 그들의 선택은 나중에 논의된다.
일반 교환을 위해 적합한 콜 사인은 제로의 개수 Z의 인코딩 및 L 선택된 비트들의 인코딩을 포함하여, 논리적 콜 사인의 숫자 또는 영숫자 인코딩을 사용하여 얻어진다. 콜 사인을 구성하는 Z 더하기 L 비트(304)는 5-비트 세그멘트들로 분해될 수 있다. 각 5-비트 세그멘트는 영숫자들에 의해 표현된다. 그 다음, 영숫자들은 콜 사인(305)으로 조립(assemble)된다. 또한, 최종적으로 한 개 이상의 분리기들(separators)은 최종 콜 사인(306)을 형성하기 위해 추가될 수 있다. 또한, 선두 "Q"를 버리는 것과 같은 콜 사인 단축 규약이 채용될 수 있다.
도 4는 콜 사인을 결정하는 프로세스를 설명하는 흐름도이다. 단계(401)에서, 구별되는 제한자가 설정된다. 단계(402)에서, 구별되는 솔트가 발견된다. 단계(403)에서, 구별되는 솔트(S), 개인화 정보 스트링(X), 및 공개 키(K)는 M 비트로 해시된다. 단계(404)에서, 선두 제로의 개수는 해시로부터 발견된다. 단계(405)에서, 선두 제로의 개수(Z)가 해시로부터 취해진다. 단계(406)에서, 비트들의 수(L)는 해시로부터 취해지고, 콜 사인에 포함된다. 또한, 최종적으로 단계(407)에서, Z와 L 비트들의 영숫자 표현을 찾음으로써 콜 사인이 형성된다.
콜 사인 확인 과정
제3자가 콜 사인을 수신했을 때, 그들은 콜 사인의 의도된 소유자에게 공개 키 K, 개인화 정보 스트링 X, 및 구별되는 솔트 S의 값들을 제공할 것을 요구하여, 콜 사인, 공개 키, 및 개인화 정보 스트링 간의 연결관계를 확인한다. 제3자는 확인자를 사용하여 K, X, 및 S로부터 구별되는 해시를 계산할 것이다. 그 다음, 그들은, 선두 제로의 개수가 콜 사인에 표현된 값 Z와 매치하고, 값 Z는 미리 결정된 최소치보다 작지 않고, 및 콜 사인에 인코딩된 L 비트는 해시 값의 대응하는 비트들과 매치함을 확인할 것이다. 추가 예방책으로서, 확인자는 개인화 정보 스트링 X가 기대되는 자연 값들에 대응함을 "가시적으로" 검사할 것이다.
상술된 바와 같이, 파라미터들 T와 L은 보안과 스케일링을 고려하여 선택된다. 상술된 프로세스는 2개의 파라미터- 시도들이 행해지는 동안의 시간 T, 및 선택된 비트들의 수 L-를 갖는다. 이들 파라미터들은 미리 결정된 수의 엔트리들로 스케일할 필요성, 스푸핑을 쉽지 않게 할 필요성, 및 예를 들어 무어의 법칙에 저 항하는 미래 보장될 필요성에 의해 결정된다. 추가 고려사항은 "카탈로그" 공격에 대한 방어이다.
가능한 스푸핑 공격을 고려한 L과 T의 선택
공개 키를 짧은 서명(signature)과 링크하는 임의의 프로세스는 공격자가 동일 서명을 생성하는 다른 공개 키를 발견하는 스푸핑 공격을 염려해야 한다.
일반적 방어는 공개 키를 생성하는 어려움에 의존하는 것이다. 서명이 공개 키와 소정의 고정된 텍스트의 해시이고, 서명이 L 비트 길이이면, 공격자는 매치를 발견하기 전에 2^L 공개 키들을 생성해야 할 것이다. 공개 키를 생성하는 것은 2개의 긴 소수들을 발견하는 것과 관련이 있고, 이것은 매우 비싼 연산임을 당업자들은 이해할 것이다. 그러나, 단지 무능력한 공격자들만이 표준 키 생성 소프트웨어를 사용하여 매칭 키를 발견하려고 시도할 것이다. 그 대신, 공격자들은 다음과 같은 프로세스를 사용하는 것이 가능하다:
Figure 112005035032181-PAT00007
이 프로세스에서, 크기 M인 소수 계산의 최대 리스트는 평균 M번의 루프들 마다 한 번씩만 발생한다. 큰 M을 선택하면, 공격자는 소수 생성이 중심 루프의 실행 시간에 미치는 영향을 효과적으로 최소화하게 되고, 이것은 해시 함수의 비용에 의해 지배되게 된다. 공개 키 생성의 복잡성에의 의존은 효과적 방어가 아니다.
Z개의 선두 제로들을 포함하는 해시를 발견하기 위해, 생성기는 약 2^(Z) 연산을 수행해야 할 것이고, 대응하는 해시를 발견하기 위해 공격자는 약 2^(Z+L) 연산을 수행해야 할 것이다. 충분히 큰 값의 Z와 L을 선택하면, 소수들의 생성을 가정할 필요없이, 콜 사인들이 스푸프하기 어려워질 것이 보장된다.
다른 인기있는 방어책은, 예를 들어, "파워 N 해시"라고 불리우는 것을 얻기 위해 표준 해시가 여러 번 실행되도록 요구하여, 해시 함수의 비용을 증가시키는 것이다. 암호적 고려사항들과 무관하게, 단점은 해시 함수의 비용의 증가가 대칭적이라는 점이다: 그것은 콜 사인의 생성 및 그것의 확인 모두에 적용한다. 이것은 바람직한 특성이 아니다. 생성은 스푸핑 공격들을 위축시키기 위해 생성에는 많은 계산이 요구되지만, 판독기들에게 과중한 부하를 부가하지 않기 위해 확인은 매우 신속하게 되는 비대칭 셋업을 사람들은 원할 것이다.
콜 사인 프로세스는, 생성기가 적당한 수의 선두 제로들을 찾기 위해 많은 수의 시도를 수행하는 것을 요구한다. 이것은 긴 생성 시간을 요구할 것이지만, 확인 시간에는 영향을 미치지 않아서, 단순한 해시 비교보다 약간만 더 느리게 할 것이다.
미래 보장과 무어의 법칙을 고려한 L과 T의 선택
시간에 따른 컴퓨팅 능력의 진화는 통상적으로 해싱 알고리즘의 암호적 강도의 평가에 고려된다. 무어의 법칙에 따라, 주어진 비용에 대해 가능한 컴퓨팅 능력은 대략 1.5년마다 2배가 되고, 3년마다 4배가 된다. 이것은, 다른 모든 것이 같다고 하면, 공격자가 이용할 수 있는 컴퓨팅 능력의 양은 매 1.5년마다 2배가 됨을 의미한다. 다른 식으로 표현하면, 지금은 1억 년이 필요한 공격이, 지금으로부터 30년 후에는 1년 미만으로 걸릴 것이다. 오늘날 파괴불능으로 보이는 코드는, 그것이 충분히 강건하거나, 또는 "미래 보장"되지 않으면, 미래에는 매우 공격하기가 쉬울 것이다.
미래 공격들로부터 콜 사인을 보호하기 위해, 처음의 제로들의 수는 무어의 법칙을 따라 선택된다. 이에 의해, 무어의 법칙은 콜 사인의 보안에 이득을 준다. 코드를 오버-디멘젼닝하여 긴 콜 사인이 생성되게 하는 것 대신에, 초기 제로의 개수가 무어의 법칙을 따라 선택된다. 오늘 날 사용되는 코드들은 비교적 작은 수의 제로들을 가질 것이지만, 몇 년 후에 사용될 코드들은 증가된 수의 선두 제로들을 가질 것이다.
새 코드들이 새 머신들에서 생성되면, 지금으로부터 3년 후에는 동일한 시간동안의 생성 프로세스로 2개의 추가 제로들을 가진 해시를 발견하게 될 것이다. 생성 비용은 2^(Z)에 비례하고, 공격의 비용은 2^(Z+L)에 비례함을 당업자들은 이해할 것이다. 생성에서 고정된 양의 시간을 소비함으로써, 공격자는 공격을 개시하기 위해 그 시간량의 2^L 배를 소비할 필요가 있을 것이다. 요약하면, 공격은 30년 후에도 지금처럼 어려울 것이다. 예를 들어, 생성 기간 T가 1분으로 세트되고, 길이 L이 40 비트로 세트되면, 스푸프된 값을 생성하는 것은 현재 머신에서 대략 2백만 년의 계산을 요구할 것이고, 지금으로부터 30년 후에 마찬가지로 생성된 콜 사인도 여전히 스푸핑을 위해서는 유사한 머신에서 2백만 년의 계산을 필요로할 것이다.
그러나, 이러한 논의는 콜 사인이 단지 단기 동안 사용될 때만 적용한다. 2003년에 1분만에 생성된 40 비트 콜 사인을 파괴하기 위해서는, 2003년에 이용가능한 컴퓨터들로 2백만년의 계산이 요구되거나, 또는 1년 동안 2백만 개의 그런 컴퓨터들을 병렬로 사용되는 것이 요구된다. 2033년에 1분만에 생성된 40 비트 콜 사인을 파괴하는 것도, 2003년에 이용가능한 컴퓨터들로 2백만년의 계산을 요구할 것이다. 그러나, 2033년의 컴퓨터들은 단지 2년만에 그 2003년 콜 사인을 파괴할 수 있을 것이다.
그러므로, 콜 사인들은 소정 형태의 퇴행을 따를 것이다. 주어진 해에 생성된 콜 사인은 몇해 이상 사용되어서는 안 될 것이다. 콜 사인의 전체적 탄성(resilience)은 생성에 소비된 시간 및 비트들의 수 L에 의존한다. 더 나은 탄성은 생성 프로세스가 더 길게 실행하도록 하여 성취된다: 생성 시간 T를 2배로 할 때마다 무어의 법칙의 1회의 반복이 보호될 것이다. 추가적인 다른 실시예들에서, 긴 시간 동안 생성 프로세스를 실행하여 매우 강한 사인이 형성될 수 있다.
추가적 다른 실시예들에서, 콜 사인에 만기 날짜를 연관시켜서 합리적인 보호가 제공된다. 이것은, 상대방의 실제 공개 키를 찾기 위해, 콜 사인이 부트스트랩 메카니즘으로서 사용되는 경우에, 특히 관심을 끈다. 공개 키를 찾은 후에는, 콜 사인에 표현된 압축 정보보다는, 완전한 정보가 사용될 수 있다. 완전한 정보는 퇴행에 크게 덜 취약하다.
자연적 충돌의 가능성을 고려한 L과 T의 선택
공격들의 부재시에도, 단축 코드들의 문제점은, 2명의 사용자들이 동일 콜 사인을 생성하는 키, 개인 정보화 스트링, 및 솔트의 조합들을 우연히 선택할 때의 "자연적" 충돌의 가능성이다.
콜 사인에 사용되는 비트 길이 L은 콜 사인을 짧게 유지하기 위해 제한되는 한편, 컴퓨터 사용자들의 수("P")는 매우 클 수 있다. 예를 들어, 당업자들에게 알려진 방법들을 사용하여, 50% 미만의 충돌 확률을 갖도록 P = 10^10의 개체로 각 컴퓨터 사용자에게 적어도 하나의 콜 사인을 할당하기 위해서는, 길이 L이 67 비트 보다 커야한다. 충돌 확률이 1% 미만으로 되려면, L은 73 비트보다 더 커야 한다.
이 크기의 비트 스트링들은 15개의 영숫자 콜 사인에 인코딩될 것이다. 이 길이는 콜 사인의 실용적 길이 보다 길다. 요약하면, 충돌의 가능성을 완전히 없애는 것은, 개인화 정보 스트링이 이메일 주소와 같은 고유 토큰을 임베딩하고, 그 고유 토큰이 콜 사인과 함께 안전하게 전송되는 경우에만 실용적일 것이다.
콜 사인 길이가 제한되어 충돌이 발생할 것이므로, 충돌들을 검출하는 방법이 채택될 것이다. 충돌들은 콜 사인의 분석으로 해결된다. 충돌이 있으면, 판독기는 콜 사인에 연관된 공개 키, 개인화 정보 스트링 및 솔트의 여러 버젼들을 얻을 것이며, 이들 모두 제1 레벨 확인 프로세스를 통과할 것이다. 판독기는 개인화 정보 스트링에 기초하여 "옳은" 또는 "기대되는" 버젼을 선택한다. 충돌 해결 프로세스는 다음의 단계들이나 그들의 동등물들을 수행하여 반복될 것이다:
1) 콜 사인을 위한 탐색을 시작한다.
2) 콜 사인에 연관된 공개 키, 개인화 정보 스트링, 및 솔트를 수신한다.
3) 그런 엔트리가 존재하지 않으면, 탐색은 실패로서 종료한다.
4) 단방향 함수를 사용하여 확인을 수행한다. 그것이 실패하면, 단계 2를 반복한다.
5) 개인화 정보 스트링이 기대되는 값과 매치하면, 탐색은 성공적으로 종료한다; 및
6) 개인화 정보 스트링이 매치하지 않으면, 단계 2를 반복한다.
해결 프로세스가 효과적이면, 키는 충돌 해결 메카니즘과 양립할 수 있는 충 돌들의 빈도수를 유지할 정도로만 길면 된다. 예를 들어, 개인화 정보 스트링의 긴 리스트들을 전부 소팅하는 것은 효율적이지 않다. 2^L이 P보다 충분히 크면 (L > log2P), 충돌들은 비교적 드물 것이고 매칭 엔트리들이 2개 정도만 있을 것임을 당업자들은 이해할 것이다.
L과 T의 선택에서의 정량화(quantification)
콜 사인의 제1 실시예는 영숫자의 세트로 구성된다. 각 문자는 5 비트의 정보를 인코딩한다. 길이를 고려하면, 콜 사인의 제1 실시예는 10개의 영숫자보다 길지 않아야 한다. 10개 문자들 중에 한 개는 제로의 개수 Z를 인코딩한다. 나머지 9개의 문자들은 L비트를 인코딩하며, 문자당 5 비트를 사용할 때, L은 45 비트가 된다. L=35, 40 또는 45 비트를 가진 콜 사인들의 다른 실시예들이 또한 가능하다. 제1 실시예에서 45 비트의 L로 도달함에서, 위에 주어진 기준들은 당업자들에게 알려진 방법들을 사용하여 정량화된다. 이들 값들 중에 어느 것이 수용될 수 있는지를 알기 위해, L의 값들에 정량적 점수(quantifiable merit)가 할당될 수 있다: 유사하게, 제로들을 탐색하는 데에 소비되어야 하는 시간 T가 정량화된다.
스푸핑 공격, 카탈로그 공격, 자연적 충돌, 및 시간에 따라 증가된 컴퓨팅 능력을 논의하는 이전 섹션들은 다음 기준들의 세트로 요약된다: 총 Z+L은 스푸핑을 방지하기 위해 충분히 커야 한다. 제로의 개수 Z는 계산 시간 T에 대응한다. 무어의 법칙의 어떤 반복들을 감안하더라도, 곱셈 T*2^L은 스푸핑을 방지하기 위해 충분히 커야 한다. 개인화 정보 스트링은 카탈로그 공격들을 위축시킬 만큼 충분히 독특해야 한다. 가능한 개체군 크기가 주어지면, 길이 L은 이름 충돌들을 드물 게 하기 위해 충분히 길어야 한다.
스푸핑 공격을 고려한 L과 T의 선택의 정량화
도 5는 스푸핑 공격을 좌절시키는 것에 기초한 비트 길이 L과 시간 T의 선택을 지시하는 표이다. 표는, 비트들의 수(35, 40, 및 45)와 소비된 계산 시간(15, 60, 240, 960, 또는 3840 초)의 함수로서, 사인을 파괴하기 위해 몇년 동안의 계산이 필요할지를 나타낸다. 표에서, 이중 밑줄 및 짙은 색 값들은 100,000년보다 작다. 키를 파괴하기 위해 필요한 계산은 컴퓨터 통신망에 쉽게 분산될 수 있다. 과거에 암호화적 챌렌지들을 파괴하기 위해 100,000 개의 컴퓨터들의 통신망들이 사용되어왔음을 당업자들은 이해할 것이다. 그런 통신망들에 대하여 적어도 1년 동안 콜 사인이 크랙킹에 저항하기 위해, 제로들의 탐색이 적어도 4분 동안 지속하지 않는다면, 35 비트의 L은 최상의 선택이 아니다.
10,000,000년보다 큰 값들은 한 줄 밑줄 표시되고, 이탤릭체의 이들 값들은 오늘날 100,000 개의 컴퓨터들의 통신망에서 100년의 계산을 요구할 것이다. 표에서 볼 수 있는 바와 같이, 45 비트의 L은 일반적으로 안전하다. 45 비트의 L과 16분 이상의 제로들에 대한 탐색 시간(T)과의 조합의 사용은 10년 동안 유효하게 남아 있을 수 있는 콜 사인을 산출할 것이다.
카탈로그 공격을 고려한 L과 T의 선택에서의 정량화
도 6은 L비트로부터 형성된 다양한 콜 사인들에 대해, 및 T초 동안 계산된 구별되는 솔트들에 대해 콜 사인의 취약성을 지시하는 표이다. 콜 사인과 같은 단축 코드들은, 스푸핑 공격의 변형인 "카탈로그" 공격을 당할 수 있다. 이 공격에 서, 공격자 또는 공격자들의 그룹은 다수의 콜 사인 "솔루션(solutions)"을 생성하여 그들을 데이타베이스인 카탈로그에 저장한다. 각 솔루션은 공격자에게 알려진 공개 키와 콜 사인의 특정 값을 링크한다. 표가 100,000개의 컴퓨터들의 통신망에 의해 1년 동안 구성될 수 있는 카탈로그의 크기도 나타내고 있음을 당업자들은 이해할 것이다. "취약성" 열은, 카탈로그가 적어도 한 개의 유효한 콜 사인을 포함하기 위해 카탈로그된 이름이 통신망에 몇개나 존재해야 하는지를 나타낸다.
당업자들은 카탈로그 공격이 인기있는 개인화 정보 스트링에 대해서만 적용될 수 있음을 이해할 것이다. 개인화 정보 스트링이 단지 사용자의 이름과 성만을 포함한다면, 카탈로그 공격은 크게 비효과적일 것이다.
다른 실시예들에서, 개인화 정보 스트링에서 추가적 토큰들을 포함하여, 인기있는 이름들의 빈도수를 감소시켜서 콜 사인의 보안을 강하게 하는 것은 가능하다. 예를 들어, 도시와 나라 이름이 개인화 정보 스트링에 추가될 수 있다. 그러면, 카탈로그 공격은 그들의 개인화 정보에서 동일한 추가적 토큰들을 가진 사용자들만을 타겟으로 할 수 있다. 예를 들어, 동일한 성과 이름, 및 동일한 도시에 사는 사용자들이다. 당업자들은 이들 사용자들이 비교적 작은 개체군을 형성함을 이해할 것이다. 당업자들은 한 도시에 그런 사용자들의 수가 몇 백명 이상을 넘는 일은 드물 것임을 이해할 것이다. 표에서, 45 비트의 비트 길이 L과 4분(240초)의 지속시간 T의 조합은 본 응용에서 적절한 보안을 제공함을 볼 수 있다.
추가적 다른 실시예들에서, 개인화 정보 스트링은 이메일 주소와 같은 고유 토큰을 포함하고, 이 토큰이 콜 사인의 일부로서 안전하게 전달될 때, 카탈로그 공 격이 실패된다. 그런 카탈로그 공격은 스푸핑 공격 만큼이나 성공적으로 이루기에는 어렵다.
불쾌한 식별자들의 회피
콜 사인들을 생성할 때의 제비뽑기의 운에 따라, "IAM-SO-DUMB"과 같이, 매우 바람직하지 못한 콜 사인이 발생될 수 있다. 무작위 추정은, 잘 알려진 4글자 단어와 같이, 명백히 불쾌한 단어들을 포함하는 콜 사인들을 발생시킬 수 있다.
이들의 출현들을 제거하기 위한 가장 확실한 방법은 사용자에게 제안된 콜 사인을 제시하고, 사용자가 그 제안된 값을 수용하거나 또는 다른 것을 요구하도록 하는 것이다. 계산을 16개의 순차적 단계들로서 설계하는 것은 다른 콜 사인을 신속히 재생성하는 것을 돕는다. 다른 실시예에서는, 콜 사인이 거절된 경우, 완전히 새로운 계산을 위해 필요한 시간의 1/16만을 사용하여, 과정의 최종단계만을 반복하는 것으로 충분하다. 추가적인 다른 실시예에서, 콜 사인이 최종 해시 단계에 의해 유도되는 설계가 유지되면, 그 단계에서 최종 솔트 값을 도입하는 것이 가능하며, 따라서 새로운 콜 사인들은 랜덤 숫자를 단순히 뽑아서 유도될 수 있다.
추가적인 다른 실시예들은, 생성 프로세스에서 "원치않는 키워드들"의 리스트를 포함하는 단계를 추가하여, 바람직하지 않은 콜 사인들에 대해 보호망을 임베딩한다. 키워드들을 포함하는 그런 보호는 그 코드 자체를 어느 정도 불쾌하게 만든다. 그러나, 다른 실시예에서, 이진 값들의 영숫자 인코딩이 관심사이다. 실제 키워드들보다는 이진 값들이 인코딩되는 프로그램에 포함될 수 있다. 그러나, 그들은 판독불능의 형태로 존재한다.
II. 확인자에 의해 세트된 요구된 제로의 개수를 가진 콜 사인들 및 그들을 생성하는 방법의 제2 실시예
제1 실시예에서, 개선이 가능한 부분들이 있다. 콜 사인에서 선두 제로의 개수를 인코딩하는 것이 필요하지 않을 수 있으므로, 더 짧은 콜 사인들, 또는 길이는 동일하지만 주요 비트들의 수 L은 더 큰 콜 사인들을 허용할 수 있다. 또한, 바람직하지 않은 결과들이 영숫자 인코딩들에서 발생할 수 있다. 그들은 불쾌한 단어들을 포함하는 "판독가능" 문자 스트링들로 우연히 결과될 수 있다. 콜 사인 생성 프로세스는 그런 단어들을 피하도록 보장해야 한다.
제2 실시예에서 제로의 개수의 인코딩
제1 실시예에서 제로의 개수의 인코딩은 타협적이다. 제로의 개수는 항상 24보다 크고 98보다는 작을 것임, 및 제로의 개수보다는 쌍들의 수를 인코딩하는 것은 충분한 세분화를 제공함을 가정한다.
더 기본적으로는, 콜 사인의 제로의 개수의 인코딩은 콜 사인의 소유자가 얼마나 많은 제로들이 필요한지를 결정해야함을 가정한다. 제1 실시예에서, 구별되는 솔트를 찾는데에 소비하는 시간은 고정되며, 이 때 그 시간 동안 발견된 제로의 개수가 "무어 법칙을 따를 것이며", 그 해의 컴퓨터들의 평균 능력을 나타내는 것으로 가정된다. 그러나, 고정된 시간 한계는 콜 사인을 생성하기 위해 사용되는 컴퓨터 능력과 그 콜 사인의 강건성 간의 의존성을 생성한다. 제2 실시예에서, 필요한 제로의 개수는 콜 사인의 수신기에 의해 결정될 것임을 가정한다.
이 실시예는 검사를 확인 코드로 인코딩한다. 콜 사인의 수신기는 공개 키 K, 식별자 X, 및 구별되는 솔트 S를 얻을 것이고, 그 다음, 해시의 제로의 개수 Z는, 년수 Y 및 중요 비트들의 수 L의 함수인 최소 값보다 더 큼을 확인할 것이다:
Z > Z0 - L + (Y - 2003) / X
이 공식에서, 수 Z0는 2003년도에 충분히 강한 것으로 고려되는 키 길이를 나타내도록 세트된다. 계수 X는 평균 컴퓨터의 능력을 배가하기 위해 필요한 년수를 기재한다. 실용적 구현들을 위해, 무어의 법칙에 따라, X의 값을 1.5로 세트하고, Z0의 값을 62로 세트하면, 다음의 공식으로 된다:
Z > 62 - L +(Y - 2003) / 1.5
이 공식에서, 수 62는 10,000년의 계산이 충분한 장애물인 것으로 가정하여 계산된다. 사실상, "장애물(bar)"은 콜 사인이 사용되는 문맥에 따라 달라질 것이다. 재정 응용 프로그램은, 예를 들어, 66(1,000,000년)과 같은, 더 큰 값을 요구할 것이다. 군사 서비스들은 더욱 엄격할 것이다.
도 7은 제2 실시예에 따른 콜 사인의 형성을 도시한다. 콜 사인이 제로의 개수를 인코딩하지 않으므로, 제1 실시예에서와 동일한 해시 함수들을 사용할 수 없다. 콜 사인을 구성하는 L 비트는 구별되는 해시의 고정된 위치에 배치될 것인 한편, 제로들은 다른 고정된 위치 이후에 카운트될 것이다.
III. 콜 사인을 ASCII로 변환하기 위한 영숫자 인코딩
도 8 및 도 9는 콜 사인의 영숫자 코딩을 도시한다. 콜 사인의 생성에서, 서로간에 쉽게 구별되고 전사 오류(transcription error)들을 발생시키기 쉽지 않는 경향이 있는 콜 사인을 위한 문자들 및/또는 숫자들을 택하는 것은 바람직하다. 피어 식별자들에 영숫자 표현이 할당된다. 실시예들에서 선택된 예시적 인코딩은 결과적인 콜 사인에서 숫자들 제로과 1 또는 문자들 O와 I를 사용하지 않는다. 당업자들은, 이들 문자들은 그들이 서로 쉽게 혼동되는 경향이 있으므로 사용되지 않지만, 다른 실시예들은 이들 문자들을 사용할 수 있음을 이해할 것이다. 당업자들은 또한, 추가적인 다른 실시예들은 다른 문자들을 제거하거나, 또는 추가할 수 있음을 이해할 것이다. 당업자들은, 실제로, 본 발명의 다른 실시예들은 로마자들 및 아라비아 숫자들에 제한되지 않음을 인식할 것이다. 당업자들은 또한, 모든 숫자들 또는 모든 문자들이 원하는 수의 부호들이 생성될 수 있는 한 사용될 수 있음을 이해할 것이다. 예시적 실시예에서, 바람직하지 못한 문자들을 제거하면, 도시된 바와 같이, 32개의 부호들을 제공하는 8개의 숫자들과 24개의 문자들이 남는다.
위에서 알 수 있는 바와 같이, 콜 사인의 생성에서, 프로세스는 콜 사인에서 사용하기 위해 선택되는 각 문자에 대해 제로부터 31까지의 숫자를 할당하여, 32개의 이용가능한 부호들을 산출한다. 콜 사인이 컴퓨터에 의해 판독될 때, 컴퓨터의 메모리에 콜 사인의 각 문자에 숫자가 할당된다. 컴퓨터로부터 콜 사인이 출력될 때, 컴퓨터의 콜 사인을 구성하는 각 수에 사용자에게 콜 사인 출력을 만들기 위한 숫자나 문자가 할당된다. 콜 사인을 만드는 문자들의 조합은 콜 사인 생성 프로세스에 의해 선택된다. 그 다음, 그들의 유효성이 콜 사인 확인 과정에 의해 검사된다.
IV. PNRP에 적용된 콜 사인들
도 10은 피어-투-피어 콜 사인들의 일 실시예를 사용하는 피어-투-피어 통신 망의 블럭도이다. 피어-투-피어 통신망 기술은 한 개 이상의 분산 통신망들에서 실시간 통신을 제공한다. 피어-투-피어 통신망은 서버가 없는 기술이다. 피어-투-피어 통신망들에서, 개별 PC들은, 인터넷 서버들이 없이, 실시간으로 데이타를 교환하고, 자원을 공유하고, 다른 사용자들의 위치를 파악하고, 통신하고, 및 협력할 수 있다. 통상적으로 PC들은 PC가 피어-투-피어 통신망에 결합될 때 피어-투-피어 통신을 허용하는 응용 프로그램 소프트웨어를 포함한다. 이런 유형의 통신망에서, 피어 컴퓨터들의 각각은 그 자체의 보안에 대해 책임이 있다. 그러므로, 승인된 사용자들의 확인 및 충돌하는 주소들의 해결은 서버-기반 통신망에서와는 어느 정도 다르게 수행되는 작업들이다.
피어 그룹에의 접속, 및 후속적으로 피어 그룹으로의 합류는 사용자들의 식별에서 보안 예방책들을 사용하는 피어 통신망들에서 일반적 작업들이다. 그룹에 합류하기 위해, 피어 컴퓨터는 피어 그룹의 소유자로부터 초대를 수신한다. 그룹 소유자로부터 초대를 수신하기 위해, 임시 그룹 멤버는 그룹 소유자에게, 자신의 피어 이름과 공개 키인 식별 자료들을 먼저 전달해야 한다. 이 정보는 이메일, 파일 공유, XML 등을 사용하여 전달된다. 그 다음, 그룹 소유자는 임시 그룹 멤버에게 초대를 발행할 것이다.
임시 그룹 멤버가 정보를 수신할 때, 임시 그룹 멤버는 그룹에 접속하기 위해, 그 초대 정보를 사용한다. 그룹에 접속하기 위해, 임시 그룹 멤버는 PNRP 및 그룹 ID를 사용하여 그룹 멤버의 주소를 분석하고, 그 그룹 멤버를 통해 피어 통신망으로 접속한다.
임시 그룹 멤버와 현재 그룹 멤버 간의 상호 인증은 통상적으로 신뢰되는 웹을 통해 발생한다. 상호 인증 후에, 임시 그룹 멤버는 이제 한 개의 이웃을 가진 새 그룹이다. 이웃은 접속을 수용하고 인증이 이루어진 피어 통신망으로부터의 컴퓨터이다.
더 구체적으로, 피어-투-피어 컴퓨터망에의 접속에 대해, 피어-투-피어 통신망은 통신망을 위해 통신망 API들("APIs")의 세트를 제공하는 기반 통신망 소프트웨어를 포함한다. 이들 피어-투-피어 응용 프로그램들은 협력 통신, 내용 배포 등과 관련이 있을 것이다. 피어-투-피어 기반구조 API 소프트웨어는 다음 컴포넌트들을 포함할 수 있다: 피어 이름 분석 프로토콜(PNRP), 복수점 통신, 분산 데이타 관리, 보안된 피어 신원, 및 보안된 피어-투-피어 그룹.
PNRP는, 통상적으로 서버 기반 통신망에서 필요할 것처럼, 서버들과 관련하지 않고 피어-투-피어 통신망의 피어들이 "피어 이름들"을 분석하도록 한다. PNRP는 통신망에서 피어 컴퓨터들이 다른 컴퓨터들 또는 피어들을 식별하도록 한다. 피어 이름 분석 프로토콜은 충돌할 수 있는 통신망 내의 끝점들 또는 노드들에, 이름들의 피어-투-피어 분석을 가능하게 하는 API를 제공한다.
PNRP API는 피어-투-피어 통신망에서 컴퓨터 노드들이 서로를 발견하도록 하여 참여하는 피어들의 그룹이 서로 상호작용하도록 하는 IP 분석 프로토콜에 대한 이름이다. 피어-투-피어 통신망에서 통상적으로 제공될 작업들은 피어 이름들을 등록 및 등록해제하고, 피어 이름들을 분석(resolve)하고, 및 피어들의 그룹들을 열거하는 것을 포함한다. 당업자들에 의해 이해될 바와 같이, 피어 이름들의 분석 은 서로 충돌하지 않는 피어 이름들을 발견하는 것을 포함한다. 서로 충돌하지 않는 이름들을 발견하는 것에 추가하여, 발견된 이름들이 적절한 보안을 제공하는 것 및 사용자들이 그들의 피어 이름들을 기억할 수 있는 것은 바람직하다.
피어 이름들은 컴퓨터, 사용자, 그룹, 또는 서비스를 식별할 수 있는 안정된 이름들이다. 피어 이름은 통상적으로 피어가 안전한지를 말하는 권한자(authority), 및 단순히 문자 스트링인 분류기(classifier)를 포함한다. 당업자들에 의해 이해될 것처럼, 보안된 피어 이름들은 통상적으로 피어 이름의 보안 전송을 제공하기 위해 분류기 C로 공개 키 K를 해시하기 위해 128-비트 PNRP 식별자를 유도하기 위한 보안된 해시 알고리즘(SHA-1) 또는 MD5 알고리즘을 사용할 것이다. 제3 실시예에서, C는 식별자 X, 솔트 S, 및 해싱 알고리즘의 ID를 포함한다.
암호화 키들은 통신망 통신에서 보안을 제공하기 위해 당업자들에게 알려진 디바이스들이다. 암호화 키들은 액세스를 승인하고, 소스의 신원을 확인하기 위해 피어-투-피어 환경에서 일반적으로 사용된다. 암호화 키들은 키를 소유한 사람이 키가 연관된 데이타를 액세스하거나, 또는 키 소유자의 디지탈 서명을 위조하도록 한다. 공개 키 알고리즘들은 통상적으로, K/P로서 표현되는, 공개 키와 개인 키로 구성된 쌍을 제공한다. 개인 키는 그것이 메시지의 수신기에게 식별자로서 사용될 수 있으므로 개인적이고 보안적으로 유지되어야 한다. 공개 키는 다른 이들이 메시지를 디코딩할 수 있도록 자유롭게 배포될 수 있다. 키 쌍의 공개 키는 디지탈 인증서와 함께 종종 배포된다. 키 쌍의 한 키가 메시지를 암호화하기 위해 사용될 때, 그 쌍으로부터의 다른 키는 메시지를 해독하기 위해 사용된다.
이들 키들은 통상적으로 적어도 256개의 16진수로, 길이가 긴 경향이 있다. 그러므로, 그들을 전달하는 것, 및 특히 공개 키를 전달하는 것은 성가실 수 있다. 인스턴스 메시징 또는 이메일이 사용될 수 있지만, 탬퍼링(tampering)되기 쉬워서, 키의 확인을 하는 것이 바람직하다. 또한, 키의 확인 프로세스에서, 키를 수신하는 사람이 송신자가 그 키를 송신하고자 하는 사람임의 확인을 포함하는 것은 바람직하다.
IV. PPNR 프로토콜에 적용되는 것으로서의 콜 사인들의 제3 실시예
PPNR 프로토콜은 피어들이 서버들과 관련되지 않고 "피어 이름들"을 분석하도록 한다. PNRP 피어 이름들은 2개의 필드들로 구성된다: 첫번째, 공개 키의 SHA-1 해시인 "권한자(authority)"; 및 두번째, 유니코드 텍스트 스트링인 "제한자(qualifier)". PNRP는 다음과 같은 암호화 해싱 함수를 사용하여 이들 2개의 필드들로부터 128-비트 PNRP-ID를 유도한다:
PNRP-ID = hash(authority, hash(qualifier))
이 제3 실시예는 "콜 사인"으로 PNRP를 보강한다. PNRP를 위한 콜 사인을 생성하기 위해, 사용자는 "구별되는 제한자"를 생성할 것이다. 권한자, 구별되는 솔트, 및 구별되는 제한자의 조합은 많은 수의 제로로 시작하는 PNRP-ID를 발생시킨다. 콜 사인은 이 PNRP-ID로부터 유도된다. 새 PNRP API는 사용자들이 콜 사인과 매치하는 PNRP 엔트리들을 열거하도록 하고, 그 다음, 연관된 권한자와 제한자를 얻도록 한다.
구별되는 PNRP 제한자
구별되는 제한자는 구분문자들 "//" 및 "/"에 의해 분리된 개인화 정보 스트링, 제2 해시 함수의 식별자, 및 구분되는 솔트로부터 형성된다. 개인화 정보 스트링의 내용이 콜 사인이 사용되고 있는 응용에 따라 달라질 수 있음을 당업자들은 이해할 것이다. 예를 들어, PNRP 콜 사인들의 예시적 실시예는 고유 개인화 정보 스트링을 사용하는 한편, 다른 응용들은 다른 개인화 스트링들을 요구할 수 있다.
당업자들은 스트링들이 구분문자들에 의해 또는 당업자들에게 알려진 다른 동등한 방법들에 의해 분리됨을 이해할 것이다. 당업자들은 또한 스트링들의 순서 및 사용된 구분문자들은 달라질 수 있음을 인식할 것이다.
사용된 해시 함수는 또한 구별되는 제한자에 포함되고, 구분문자들에 의해 세트오프(setoff) 된다. 당업자들에 의해 이해될 바와 같이, 해시 함수는 충분한 보안을 산출할 당업자들에게 알려진 임의의 유형의 것일 수 있다. 예를 들어, SHA-1 해시 함수들 또는 그것의 동등물.
솔트는 콜 사인 생성 프로세스 동안에 선택된다. 해시된 결과가 충분한 개수의 제로들로 시작하도록 하는, 피어 이름의 제2 해시를 수행하여 솔트가 선택된다. 솔트 그 자체는 ASCII 문자들과 숫자들로 구성된다. 공식적 문법은 다음과 같을 것이다:
Distinguished Qualifier = <personalization> "//" <hash-function> "/" <salt>
구별되는 제한자의 일 예는 다음과 같다:
Qualifier:JonSmith<jsmith@yuhoo.com>//SHA1/A5E5F3Z4YWZTRF0TW9RTQ
권한자와 제한자의 제2 해시가 많은 수의 제로들로 시작하도록 솔트가 선택될 것이다.
콜 사인의 제3 실시예의 생성
콜 사인 생성 과정의 목적은 피어 이름과 연관된 콜 사인이 확인 과정을 통과하도록 하는 구별되는 제한자를 찾는 것이다. 이것은 적절한 "구별되는 솔트"를 찾는 것을 포함하고, 그러므로, 피어 이름의 제2 해시는 적절한 수의 제로들로 시작한다.
확인 섹션에서 볼 수 있는 바와 같이, 적절한 제로의 개수는 시간에 따라 달라진다. 다음 공식:
Z > 17 + (Y - 2003) / 1.5
은 이들 목적으로 사용된다.
생성 목적으로, 값 Y는 현재 해에 세트되지 않아야 하고, 그 보다는 콜 사인이 유효하게 남는 것으로 기대되는 해까지로 세트되어야 한다. 디폴트로, 이것은 현재 해에 10을 더한 값으로 세트된다.
생성은 다음과 같이 진행된다:
1) 확인 과정에서 기대되는 바와 같이, 이 권한자의 정규형(canonical form)을 사용하여, PNRP마다, PNRP 이름 권한자의 값을 초기화시킨다.
2) 사용자 이름에 따라 개인화 정보 X의 값을 초기화시킨다.
3) 디폴트로 SHA-1인 유효한 제2 해시 함수를 선택하고, 대응하는 식별자 I를 주목한다.
4) 적절한 제로의 개수 Z를 선택한다.
5) 다음의 a~b를 반복한다.
a. 솔트 S를 택한다.
b. X, I, 및 S에 기초하여, 권한자 및 임시 구별되는 제한자에 기초하여 피어 이름을 구성한다.
c. 함수 I에 따라 피어 이름의 해시를 계산한다.
d. 숫자 N이 숫자 Z보다 크거나 같을 때까지 이 해시의 제로의 개수(N)를 측정한다.
6) 피어 이름과 연관된 PNRP 식별자를 계산한다.
7) PNRP 식별자의 최상위 45 비트에 기초하여 콜 사인을 구성한다.
8) 콜 사인이 불쾌한 단어를 포함하지 않음을 확인한다; 만약 그렇다면, 단계 5를 반복한다.
단계 5는 현대 컴퓨터에서 약 15초 지속하는 것으로 기대된다.
생성 함수의 최종 단계는 콜 사인의 문자들의 랜덤 세트가 어떤 불쾌한 언어의 결과를 가져오지 않음을 검사하기 위한 것이다. 그것은 사용자에게 그들이 제안된 콜 사인을 사용하는 것을 수용하는지를 물어서 구현될 수 있다.
제3 실시예에서 생성된 콜 사인의 확인
콜 사인 확인 과정은 피어 식별자와 콜 사인을 비교하고, 제2 해시가 충분한 개수 Z의 선두 제로를 포함함을 확인한다. 선두 제로의 개수의 확인은 콜 사인이 제3자에 의해 스푸핑되기 어렵게 한다. 제1 근사에서, 콜 사인의 암호적 강건성은 길이가 Z+45인 대칭 키의 강건성과 동일하다. Z의 값은 시간에 걸쳐 다를 것이다. 무어의 법칙이 컴퓨터들이 더욱더 강력해지고 있다고 예측하는 바와 같이, Z에 대한 길이가 길어지는 것이 요구되는 경향이다. 무어의 법칙이 예측가능한 미래에 대해 유효하다고 가정하면, 선두 제로의 개수에 대한 값 Z는 현재 해 Y의 함수가 되도록 생각될 수 있다:
Z > 17 + (Y - 2003) / 1.5
당업자들은 위의 부등식에 사용되는 값 17은 트레이드-오프를 계산하는 선택된 보안에 대응하며, 더 큰 값이 더욱 엄격한 환경들에서 선택될 수 있음을 인식할 것이다.
콜 사인을 확인하기 위해 사용되는 제2 해시 함수는 시간에 걸쳐 변화할 수 있다. 현재 구현에서, 당업자들에게 알려진 해시 함수 SHA1가 사용된다. 다른 실시예들에서, 수용가능한 해시 함수들의 리스트는 사용을 위해 컴퓨터 메모리에 관리될 수 있다. 특히, 해시 함수들은 개선된 보안을 제공하기 위해 개발되기를 계속할 것임이 예측된다. 본 발명의 실시예들은 새로운 해시 함수들이 개발된 때에 미래의 사용을 위해 그 함수들을 제공함으로써, 새로운 해시 함수의 개발을 수용한다.
확인은 다음과 같이 진행될 것이다:
1) 피어 이름과 연관된 PNRP 식별자를 계산한다.
2) PNRP 식별자의 최상위 45 비트와 콜 사인에 인코딩된 45 비트를 비교한다.
3) 45 비트가 매치하지 않으면, 확인은 실패한다.
4) 구별되는 솔트로부터 제2 해시 함수의 식별자를 추출한다.
5) 해시 함수 식별자가 부재하거나, 확인자에게 수용가능하지 않거나, 또는 유효한 값으로 인식되지 않으면, 확인은 실패한다.
6) 명시된 제2 해시 함수로 전체 피어 이름의 정규화된 버젼의 해시를 계산한다.
7) 결과적 해시에서 선두 제로의 개수를 측정한다. 제로의 개수가 타겟 값 Z보다 작으면, 확인은 실패한다.
8) ID 스트링이 콜 사인에 의해 지정된 사람이나 개체의 타당한 설명임을 확인한다: 그렇지 않으면, 확인은 실패한다.
9) 단계 1 내지 단계 8이 통과되면, 확인은 성공한다.
피어 이름의 "정규화된 버젼"은, 보통 16진수들로 구성된 피어 이름의 권한자 부분은 숫자들 및 대문자들 A, B, C, D, E, 및 F로만 인코딩됨을 보장하여 얻어진다. 단계 8이 통상적으로 인간 상호작용과 관련됨을 주목한다.
콜 사인으로부터 PNRP 기록들의 검색수취
일부 경우들에서, 콜 사인과 연관된 PNRP 기록, 및 그에 따른 연관된 피어 이름,을 검색하는 것은 유용할 것이다. 이것은 다음의 것들에 의해 성취될 수 있다: 콜 사인과 동일한 45 비트로 시작하는 PNRP 식별자를 갖는 모든 PNRP 기록들을 검색수취하는 것; 대응하는 피어 이름들을 검색수취하는 것; 확인 과정의 단계 1 내지 단계 7를 통과할 수 없는 피어 이름들을 삭제하는 것; 및 기대되는 신원에 매 치하는 이름들만을 보유하기 위해 확인 과정의 단계 8를 사용하는 것.
구별되는 제한자를 결정하고, 구별되는 솔트를 발견하고, 및 구별되는 제한자로 구별되는 솔트와 해싱하는 것을 포함하는 콜 사인을 생성하는 방법을 개시한다. 암호적으로 안전하고 짧고 쉽게 기억되는 ID를 갖는 것이 바람직하다. 이 유형의 콜 사인은 충분한 보안을 여전히 제공하면서도 기억하기에 충분히 짧을 필요가 있고, 그래서 피어-투-피어 통신망 또는 다른 통신망들의 사용성이 개선되도록 할 것이다.

Claims (23)

  1. 콜 사인을 생성하는 방법으로서,
    구별되는 제한자(distinguished qualifier)를 결정하는 단계;
    구별되는 솔트(distinguished salt)를 찾는 단계; 및
    상기 구별되는 제한자로 상기 구별되는 솔트를 해시(hash)하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서, 상기 해시 결과가 미리 결정된 출력 패턴을 포함하도록 하는 구별되는 솔트를 찾는 단계를 더 포함하는 방법.
  3. 제2항에 있어서, 상기 해시로부터 선두(leading) 제로의 개수를 찾는 단계를 더 포함하는 방법.
  4. 제3항에 있어서, 상기 선두 제로들의 뒤에 오는 비트들의 개수를 보유하는 단계를 더 포함하는 방법.
  5. 제4항에 있어서, 상기 선두 제로의 개수를 영숫자 콜 사인 제로 숫자(alphanumeric call sign zeroes digit)로 인코딩하는 단계를 더 포함하는 방법.
  6. 제5항에 있어서, 상기 선두 제로들의 뒤에 오는 비트들의 수를 복수의 영숫자 콜 사인 숫자들로 인코딩하는 단계를 더 포함하는 방법.
  7. 제6항에 있어서, 상기 콜 사인 제로 숫자 및 상기 복수의 영숫자 콜 사인 숫자로부터 콜 사인을 형성하는 단계를 더 포함하는 방법.
  8. 콜 사인을 인코딩하는 방법으로서,
    암호적으로 보안된 해시 함수에 의해 생성된 선두 제로들의 뒤에 오는 복수의 숫자들로부터 이진수를 생성하는 단계;
    상기 이진수를 복수의 5 비트 세그멘트들로 분리하는 단계; 및
    상기 5 비트 세그멘트들의 각각을 대응하는 영숫자들로 인코딩하는 단계
    를 포함하는 방법.
  9. 제8항에 있어서, 상기 이진수는 45 비트 길이인 방법.
  10. 제8항에 있어서, 상기 영숫자 0문자는 MSB인 방법.
  11. 암호적 해시를 생성하는 방법으로서,
    개인화 정보 스트링을 형성하는 단계; 및
    상기 개인화 스트링으로 해시될 때, 해시된 결과 내에 미리 결정된 수의 선 두 제로들을 생성하는 솔트 값을 찾는 단계
    를 포함하는 방법.
  12. 제11항에 있어서, 구별되는 해시를 생성하기 위해, 상기 솔트 값으로 상기 개인화 정보 스트링을 해싱하는 단계를 더 포함하는 방법.
  13. 제12항에 있어서, 상기 솔트 값은 구별되는 솔트 값인 방법.
  14. 제11항에 있어서, 상기 개인화 정보 스트링은 사람의 이름을 포함하는 방법.
  15. 제11항에 있어서, 상기 개인화 정보 스트링은 사람의 이메일 주소를 포함하는 방법.
  16. 제11항에 있어서, 상기 개인화 정보 스트링은 사람의 회사 이름을 포함하는 방법.
  17. 암호적 해시를 생성하는 방법으로서,
    개인화 정보 스트링을 형성하는 단계; 및
    상기 개인화 스트링 및 공개 키로 해시될 때, 해시된 결과 내에 미리 결정된 출력 패턴을 생성하는 솔트 값을 찾는 단계
    를 포함하는 방법.
  18. 제17항에 있어서, 구별되는 해시를 생성하기 위해, 상기 솔트 값으로 상기 개인화 정보 스트링을 해시하는 단계를 더 포함하는 방법.
  19. 제18항에 있어서, 상기 솔트 값은 구별되는 솔트 값인 방법.
  20. 제17항에 있어서, 상기 개인화 정보 스트링은 사람의 이름을 포함하는 방법.
  21. 제17항에 있어서, 상기 개인화 정보 스트링은 사람의 이메일 주소를 포함하는 방법.
  22. 제17항에 있어서, 상기 개인화 정보 스트링은 사람의 회사 이름을 포함하는 방법.
  23. 콜 사인을 생성하는 방법으로서,
    사용자를 위한 구별되는 제한자를 설정하는 단계,
    구별되는 솔트를 찾는 단계,
    상기 구별되는 제한자, 구별되는 솔트, 및 공개 키를 M 비트 해시로 해시하는 단계,
    상기 해시 내의 선두 제로의 개수를 결정하는 단계,
    상기 해시로부터 미리 결정된 수의 비트들을 제거하는 단계, 및
    표 룩업(table lookup)을 사용하여 상기 제로의 개수를 영숫자 콜 사인의 한 숫자로 인코딩하는 단계
    를 포함하는 방법.
KR1020050056988A 2004-06-30 2005-06-29 콜 사인을 생성하는 방법 KR101150109B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/882,079 US7929689B2 (en) 2004-06-30 2004-06-30 Call signs
US10/882,079 2004-06-30

Publications (2)

Publication Number Publication Date
KR20060048695A true KR20060048695A (ko) 2006-05-18
KR101150109B1 KR101150109B1 (ko) 2012-06-08

Family

ID=35057359

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050056988A KR101150109B1 (ko) 2004-06-30 2005-06-29 콜 사인을 생성하는 방법

Country Status (5)

Country Link
US (1) US7929689B2 (ko)
EP (1) EP1612643A3 (ko)
JP (1) JP4902144B2 (ko)
KR (1) KR101150109B1 (ko)
CN (1) CN1716855B (ko)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI280026B (en) * 2004-07-02 2007-04-21 Univ Chang Gung RSA with personalized secret
US8195789B2 (en) * 2005-04-20 2012-06-05 Oracle International Corporation System, apparatus and method for characterizing messages to discover dependencies of services in service-oriented architectures
US8874477B2 (en) 2005-10-04 2014-10-28 Steven Mark Hoffberg Multifactorial optimization system and method
US20070220134A1 (en) * 2006-03-15 2007-09-20 Microsoft Corporation Endpoint Verification Using Call Signs
US8069208B2 (en) * 2006-04-21 2011-11-29 Microsoft Corporation Peer-to-peer buddy request and response
US8086842B2 (en) * 2006-04-21 2011-12-27 Microsoft Corporation Peer-to-peer contact exchange
US8489701B2 (en) * 2007-01-30 2013-07-16 Microsoft Corporation Private virtual LAN spanning a public network for connection of arbitrary hosts
US8689003B2 (en) * 2007-06-01 2014-04-01 Adobe Systems Incorporated System and method for secure password-based authentication
US8666823B2 (en) * 2010-04-05 2014-03-04 Voltage Security, Inc. System for structured encryption of payment card track data
US20120011229A1 (en) * 2010-06-04 2012-01-12 Peter Heller Enhanced network/domain name hashing techniques
US8953798B2 (en) * 2010-10-29 2015-02-10 Telefonaktiebolaget L M Ericsson (Publ) Enhanced cryptographically generated addresses for secure route optimization in mobile internet protocol
US9202078B2 (en) 2011-05-27 2015-12-01 International Business Machines Corporation Data perturbation and anonymization using one way hash
US9773243B1 (en) * 2012-02-15 2017-09-26 Voltage Security, Inc. System for structured encryption of payment card track data with additional security data
US9639548B2 (en) 2013-10-28 2017-05-02 Pivotal Software, Inc. Selecting files for compaction
US10382549B1 (en) 2013-10-28 2019-08-13 Pivotal Software, Inc. Data management platform
US9639544B1 (en) * 2013-10-28 2017-05-02 Pivotal Software, Inc. Table data persistence
US10015017B2 (en) * 2015-04-09 2018-07-03 Qualcomm Incorporated Proof of work based user identification system
US10284371B2 (en) 2015-05-19 2019-05-07 Workday, Inc. Brute force attack prevention system
US9787696B2 (en) 2015-05-19 2017-10-10 Workday, Inc. Brute force attack prevention system
US10541954B1 (en) * 2018-08-05 2020-01-21 Gideon Samid Cyber companion: attaching a secondary message to a primary one

Family Cites Families (189)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5005200A (en) 1988-02-12 1991-04-02 Fischer Addison M Public key/signature cryptosystem with enhanced digital signature certification
US5563998A (en) 1990-10-19 1996-10-08 Moore Business Forms, Inc. Forms automation system implementation
US5729608A (en) 1993-07-27 1998-03-17 International Business Machines Corp. Method and system for providing secure key distribution in a communication system
JP2828218B2 (ja) 1993-09-20 1998-11-25 インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン 分散通信ネットワークにおける許可パスワードまたはキーの変更方法およびシステム
US5689641A (en) 1993-10-01 1997-11-18 Vicor, Inc. Multimedia collaboration system arrangement for routing compressed AV signal through a participant site without decompressing the AV signal
US5371794A (en) 1993-11-02 1994-12-06 Sun Microsystems, Inc. Method and apparatus for privacy and authentication in wireless networks
US5473691A (en) 1993-11-05 1995-12-05 Microsoft Corporation System and method for computer data transmission
US5787172A (en) 1994-02-24 1998-07-28 The Merdan Group, Inc. Apparatus and method for establishing a cryptographic link between elements of a system
US5511122A (en) 1994-06-03 1996-04-23 The United States Of America As Represented By The Secretary Of The Navy Intermediate network authentication
US5944794A (en) 1994-09-30 1999-08-31 Kabushiki Kaisha Toshiba User identification data management scheme for networking computer systems using wide area network
US5673319A (en) 1995-02-06 1997-09-30 International Business Machines Corporation Block cipher mode of operation for secure, length-preserving encryption
US6658568B1 (en) 1995-02-13 2003-12-02 Intertrust Technologies Corporation Trusted infrastructure support system, methods and techniques for secure electronic commerce transaction and rights management
US5854898A (en) 1995-02-24 1998-12-29 Apple Computer, Inc. System for automatically adding additional data stream to existing media connection between two end points upon exchange of notifying and confirmation messages therebetween
US5784562A (en) 1995-10-10 1998-07-21 U S West Advanced Technologies, Inc. System for using a dialog session context to process electronic forms data on the world wide web
US6028938A (en) 1996-04-30 2000-02-22 Shana Corporation Secure electronic forms permitting layout revision
US5917480A (en) 1996-06-04 1999-06-29 Microsoft Corporation Method and system for interacting with the content of a slide presentation
JPH09326807A (ja) 1996-06-06 1997-12-16 Nec Corp 共有セルメモリ型atm交換制御方法及び共有セルメモリ型atm交換スイッチ
GB2318486B (en) 1996-10-16 2001-03-28 Ibm Data communications system
US6600823B1 (en) 1996-10-22 2003-07-29 Unisys Corporation Apparatus and method for enhancing check security
JPH10133576A (ja) 1996-10-31 1998-05-22 Hitachi Ltd 公開鍵暗号方法および装置
US5892904A (en) 1996-12-06 1999-04-06 Microsoft Corporation Code certification for network transmission
US6367012B1 (en) 1996-12-06 2002-04-02 Microsoft Corporation Embedding certifications in executable files for network transmission
US6632248B1 (en) 1996-12-06 2003-10-14 Microsoft Corporation Customization of network documents by accessing customization information on a server computer using uniquie user identifiers
US5848244A (en) 1996-12-20 1998-12-08 Mci Communications Corporation System and method for time-based real-time reconfiguration of a network
US6154541A (en) * 1997-01-14 2000-11-28 Zhang; Jinglong F Method and apparatus for a robust high-speed cryptosystem
US6108673A (en) 1997-02-25 2000-08-22 International Business Machines Corporation System for creating a form from a template that includes replication block
US5903721A (en) 1997-03-13 1999-05-11 cha|Technologies Services, Inc. Method and system for secure online transaction processing
NZ500201A (en) 1997-03-21 2002-09-27 Canal Plus Sa Downloading data to an MPEG receiver/decoder
US5746691A (en) * 1997-06-06 1998-05-05 Global Therapeutics, Inc. Method for polishing surgical stents
US5987376A (en) 1997-07-16 1999-11-16 Microsoft Corporation System and method for the distribution and synchronization of data and state information between clients in a distributed processing system
US6148405A (en) 1997-11-10 2000-11-14 Phone.Com, Inc. Method and system for secure lightweight transactions in wireless data networks
US6279110B1 (en) 1997-11-10 2001-08-21 Certicom Corporation Masked digital signatures
US6163809A (en) 1997-12-08 2000-12-19 Microsoft Corporation System and method for preserving delivery status notification when moving from a native network to a foreign network
US6237035B1 (en) 1997-12-18 2001-05-22 International Business Machines Corporation System and method for preventing duplicate transactions in an internet browser/internet server environment
US6229806B1 (en) 1997-12-30 2001-05-08 Motorola, Inc. Authentication in a packet data system
US6807632B1 (en) 1999-01-21 2004-10-19 Emc Corporation Content addressable information encapsulation, representation, and transfer
US6078948A (en) 1998-02-03 2000-06-20 Syracuse University Platform-independent collaboration backbone and framework for forming virtual communities having virtual rooms with collaborative sessions
US6088805A (en) 1998-02-13 2000-07-11 International Business Machines Corporation Systems, methods and computer program products for authenticating client requests with client certificate information
US6216110B1 (en) 1998-02-27 2001-04-10 Microsoft Corporation System and method for publishing calendar information to a publicly accessible location
US6108687A (en) 1998-03-02 2000-08-22 Hewlett Packard Company System and method for providing a synchronized display to a plurality of computers over a global computer network
US6308266B1 (en) 1998-03-04 2001-10-23 Microsoft Corporation System and method for enabling different grades of cryptography strength in a product
US7032242B1 (en) 1998-03-05 2006-04-18 3Com Corporation Method and system for distributed network address translation with network security features
US6055236A (en) 1998-03-05 2000-04-25 3Com Corporation Method and system for locating network services with distributed network address translation
US6529932B1 (en) 1998-04-01 2003-03-04 Microsoft Corporation Method and system for distributed transaction processing with asynchronous message delivery
US6101499A (en) 1998-04-08 2000-08-08 Microsoft Corporation Method and computer program product for automatically generating an internet protocol (IP) address
US6175833B1 (en) 1998-04-22 2001-01-16 Microsoft Corporation System and method for interactive live online voting with tallies for updating voting results
US6128738A (en) 1998-04-22 2000-10-03 International Business Machines Corporation Certificate based security in SNA data flows
US6247029B1 (en) 1998-05-01 2001-06-12 International Business Machines Corporation Web browser form enhancements
US6269099B1 (en) 1998-07-01 2001-07-31 3Com Corporation Protocol and method for peer network device discovery
US6615348B1 (en) 1999-04-16 2003-09-02 Intel Corporation Method and apparatus for an adapted digital signature
US6155840A (en) 1998-09-18 2000-12-05 At Home Corporation System and method for distributed learning
US6327652B1 (en) 1998-10-26 2001-12-04 Microsoft Corporation Loading and identifying a digital rights management operating system
US6363352B1 (en) 1998-11-13 2002-03-26 Microsoft Corporation Automatic scheduling and formation of a virtual meeting over a computer network
US6233606B1 (en) 1998-12-01 2001-05-15 Microsoft Corporation Automatic cache synchronization
US6367009B1 (en) 1998-12-17 2002-04-02 International Business Machines Corporation Extending SSL to a multi-tier environment using delegation of authentication and authority
US6578143B1 (en) * 1998-12-18 2003-06-10 Qualcomm Incorporated Method for negotiating weakened keys in encryption systems
US6453357B1 (en) 1999-01-07 2002-09-17 Cisco Technology, Inc. Method and system for processing fragments and their out-of-order delivery during address translation
US6615357B1 (en) 1999-01-29 2003-09-02 International Business Machines Corporation System and method for network address translation integration with IP security
US6526506B1 (en) 1999-02-25 2003-02-25 Telxon Corporation Multi-level encryption access point for wireless network
US7743412B1 (en) * 1999-02-26 2010-06-22 Intel Corporation Computer system identification
US6957346B1 (en) 1999-06-15 2005-10-18 Ssh Communications Security Ltd. Method and arrangement for providing security through network address translations using tunneling and compensations
US6636888B1 (en) 1999-06-15 2003-10-21 Microsoft Corporation Scheduling presentation broadcasts in an integrated network environment
US6397303B1 (en) 1999-06-24 2002-05-28 International Business Machines Corporation Data processing system, cache, and method of cache management including an O state for memory-consistent cache lines
US6405290B1 (en) 1999-06-24 2002-06-11 International Business Machines Corporation Multiprocessor system bus protocol for O state memory-consistent data
US6088700A (en) 1999-08-06 2000-07-11 Larsen; Kenneth N. Automated forms completion for global information network applications
US6675205B2 (en) 1999-10-14 2004-01-06 Arcessa, Inc. Peer-to-peer automated anonymous asynchronous file sharing
US20010010720A1 (en) 1999-11-12 2001-08-02 Kimball Bridget D. Multiple signature authentication in conditional access systems
US6526411B1 (en) 1999-11-15 2003-02-25 Sean Ward System and method for creating dynamic playlists
US6671804B1 (en) 1999-12-01 2003-12-30 Bbnt Solutions Llc Method and apparatus for supporting authorities in a public key infrastructure
US6421673B1 (en) 1999-12-13 2002-07-16 Novient, Inc. Method for mapping applications and or attributes in a distributed network environment
GB2357407A (en) 1999-12-17 2001-06-20 Int Computers Ltd Cryptographic key replacement using key lifetimes
US6636889B1 (en) 2000-01-04 2003-10-21 International Business Machines Corporation System and method for client replication of collaboration space
JP2001209304A (ja) 2000-01-24 2001-08-03 Nec Corp 暗号評価支援システム及びプログラムを記録した機械読み取り可能な記録媒体
US20010035976A1 (en) 2000-02-15 2001-11-01 Andrew Poon Method and system for online presentations of writings and line drawings
US6745178B1 (en) 2000-04-28 2004-06-01 International Business Machines Corporation Internet based method for facilitating networking among persons with similar interests and for facilitating collaborative searching for information
GB2365671A (en) 2000-05-17 2002-02-20 Ibm Teleconferencing system and method
US20040034794A1 (en) 2000-05-28 2004-02-19 Yaron Mayer System and method for comprehensive general generic protection for computers against malicious programs that may steal information and/or cause damages
WO2001095068A2 (en) 2000-06-09 2001-12-13 Certicom Corp. A method for the application of implicit signature schemes
US6760762B2 (en) 2000-07-17 2004-07-06 Tele Services Solutions, Inc Intelligent network providing network access services (INP-NAS)
US6968179B1 (en) 2000-07-27 2005-11-22 Microsoft Corporation Place specific buddy list services
US6714966B1 (en) 2000-07-31 2004-03-30 The Boeing Company Information delivery service
US6701344B1 (en) 2000-07-31 2004-03-02 The Boeing Company Distributed game environment
US6789189B2 (en) 2000-08-04 2004-09-07 First Data Corporation Managing account database in ABDS system
US7216233B1 (en) 2000-08-14 2007-05-08 Sun Microsystems, Inc. Apparatus, methods, and computer program products for filtering information
US6941384B1 (en) 2000-08-17 2005-09-06 International Business Machines Corporation Methods, systems and computer program products for failure recovery for routed virtual internet protocol addresses
CA2317081C (en) 2000-08-28 2004-06-01 Ibm Canada Limited-Ibm Canada Limitee Estimation of column cardinality in a partitioned relational database
JP2002077274A (ja) 2000-08-31 2002-03-15 Toshiba Corp ホームゲートウェイ装置、アクセスサーバ装置及び通信方法
GB2372846A (en) 2000-11-15 2002-09-04 Vhsoft I P Company Ltd Selective distribution of electronic files via a common access platform
US20020073204A1 (en) 2000-12-07 2002-06-13 Rabindranath Dutta Method and system for exchange of node characteristics for DATA sharing in peer-to-peer DATA networks
DE10062303C2 (de) 2000-12-14 2002-11-28 Layers Ag 7 Verfahren zum Betrieb eines Ad Hoc-Netzwerkes zur drahtlosen Datenübertragung von synchronen und asynchronen Nachrichten
US7925703B2 (en) 2000-12-26 2011-04-12 Numedeon, Inc. Graphical interactive interface for immersive online communities
US6791582B2 (en) 2000-12-29 2004-09-14 International Business Machines Corporation Method and system for identifying and displaying information that is new or has been updated in a place
US7127676B2 (en) 2000-12-29 2006-10-24 International Business Machines Corporation Method and system for providing a separate browser window with information from the main window in a simpler format
US7020686B2 (en) 2000-12-29 2006-03-28 International Business Machines Corporation Method and system for providing synchronous communication and person awareness in a place
US6941366B2 (en) 2001-01-17 2005-09-06 International Business Machines Corporation Methods, systems and computer program products for transferring security processing between processors in a cluster computing environment
US7146432B2 (en) 2001-01-17 2006-12-05 International Business Machines Corporation Methods, systems and computer program products for providing failure recovery of network secure communications in a cluster computing environment
WO2002057917A2 (en) 2001-01-22 2002-07-25 Sun Microsystems, Inc. Peer-to-peer network computing platform
GB2367986B (en) 2001-03-16 2002-10-09 Ericsson Telefon Ab L M Address mechanisms in internet protocol
US7065587B2 (en) 2001-04-02 2006-06-20 Microsoft Corporation Peer-to-peer name resolution protocol (PNRP) and multilevel cache for use therewith
US7203837B2 (en) 2001-04-12 2007-04-10 Microsoft Corporation Methods and systems for unilateral authentication of messages
US7272636B2 (en) 2001-04-24 2007-09-18 Sun Microsystems, Inc. Peer group name server
US20030018701A1 (en) 2001-05-04 2003-01-23 Gregory Kaestle Peer to peer collaboration for supply chain execution and management
US7171415B2 (en) 2001-05-04 2007-01-30 Sun Microsystems, Inc. Distributed information discovery through searching selected registered information providers
GB2378268B (en) 2001-06-04 2005-08-03 Gordon Ross A method of providing an interactive multi dimensional visual user interface to groups of users
FI111115B (fi) 2001-06-05 2003-05-30 Nokia Corp Menetelmä ja järjestelmä avainten vaihtoon tietoverkossa
US6801604B2 (en) 2001-06-25 2004-10-05 International Business Machines Corporation Universal IP-based and scalable architectures across conversational applications using web services for speech and audio processing resources
ATE347154T1 (de) 2001-07-16 2006-12-15 Francotyp Postalia Gmbh Sicherheitsmodul für ein kontenverwaltungssystem
US7222187B2 (en) 2001-07-31 2007-05-22 Sun Microsystems, Inc. Distributed trust mechanism for decentralized networks
US20030036941A1 (en) 2001-08-17 2003-02-20 International Business Machines Corporation System and method for scheduling multiple meetings on an electronic calendar
EP1433076B1 (en) 2001-08-30 2017-10-25 Cisco Technology, Inc. Protecting against distributed denial of service attacks
US7493363B2 (en) 2001-09-19 2009-02-17 Microsoft Corporation Peer-to-peer group management and method for maintaining peer-to-peer graphs
JP2003101570A (ja) 2001-09-21 2003-04-04 Sony Corp 通信処理システム、通信処理方法、およびサーバー装置、並びにコンピュータ・プログラム
US20030065934A1 (en) 2001-09-28 2003-04-03 Angelo Michael F. After the fact protection of data in remote personal and wireless devices
JP3935712B2 (ja) * 2001-11-21 2007-06-27 大日本印刷株式会社 クライアント装置、pinロック解除装置、およびpinロック解除方法
CA2469198C (en) 2001-12-07 2013-02-12 Ntru Cryptosystems, Inc. Digital signature and authentication method and apparatus
US20030217096A1 (en) 2001-12-14 2003-11-20 Mckelvie Samuel J. Agent based application using data synchronization
JP3967589B2 (ja) 2001-12-28 2007-08-29 富士通株式会社 広告配信方法及び広告配信装置
US20030126027A1 (en) 2001-12-31 2003-07-03 Kimberly-Clark Worldwide Integrated web ring site and method for presenting information
US6996715B2 (en) * 2002-01-03 2006-02-07 Lockheed Martin Corporation Method for identification of a user's unique identifier without storing the identifier at the identification site
US7500102B2 (en) 2002-01-25 2009-03-03 Microsoft Corporation Method and apparatus for fragmenting and reassembling internet key exchange data packets
US7865715B2 (en) 2002-02-28 2011-01-04 Hewlett-Packard Development Company, L.P. Increasing peer privacy
US6782294B2 (en) 2002-03-22 2004-08-24 Arecont Intellectual Property Holdings, Llc Internet based distributed control system
US20040128350A1 (en) 2002-03-25 2004-07-01 Lou Topfl Methods and systems for real-time virtual conferencing
US20030217106A1 (en) 2002-03-25 2003-11-20 Eytan Adar System and method for profiling clients within a system for harvesting community knowledge
US6912622B2 (en) 2002-04-15 2005-06-28 Microsoft Corporation Multi-level cache architecture and cache management method for peer-to-peer name resolution protocol
US7051102B2 (en) 2002-04-29 2006-05-23 Microsoft Corporation Peer-to-peer name resolution protocol (PNRP) security infrastructure and method
US20030204724A1 (en) * 2002-04-30 2003-10-30 Microsoft Corporation Methods for remotely changing a communications password
US20030217073A1 (en) 2002-05-14 2003-11-20 Walther Dan E. Increasing the level of automation when scheduling and managing meetings
DE60323182D1 (de) 2002-06-11 2008-10-09 Matsushita Electric Ind Co Ltd Authentifizierungssystem
US7120930B2 (en) 2002-06-13 2006-10-10 Nvidia Corporation Method and apparatus for control of security protocol negotiation
US7502945B2 (en) 2002-06-28 2009-03-10 Microsoft Corporation Using a flexible rights template to obtain a signed rights label (SRL) for digital content in a rights management system
GB2391135B (en) 2002-06-28 2006-01-11 Nokia Corp User group creation
US7370197B2 (en) 2002-07-12 2008-05-06 Microsoft Corporation Method and system for authenticating messages
US20040111423A1 (en) 2002-07-13 2004-06-10 John Irving Method and system for secure, community profile generation and access via a communication system
AU2003240171A1 (en) 2002-07-15 2004-02-02 Nokia Corporation An ipv6 address ownership authentification based on zero-knowledge identification protocols or based on one time password
US20050076218A1 (en) 2002-07-17 2005-04-07 Collie Brown Cryptographic electronic gift certificate cross-reference to related applications
PA8575901A1 (es) 2002-07-18 2004-07-20 Pfizer Prod Inc Derivados de piperidina novedosos
JP4281326B2 (ja) * 2002-07-25 2009-06-17 住友化学株式会社 化学増幅型ポジ型レジスト組成物
US7206934B2 (en) 2002-09-26 2007-04-17 Sun Microsystems, Inc. Distributed indexing of identity information in a peer-to-peer network
US20040078436A1 (en) 2002-10-18 2004-04-22 International Business Machines Corporation Adding meeting information to a meeting notice
US7346770B2 (en) 2002-10-31 2008-03-18 Microsoft Corporation Method and apparatus for traversing a translation device with a security protocol
US7249123B2 (en) 2002-10-31 2007-07-24 International Business Machines Corporation System and method for building social networks based on activity around shared virtual objects
AU2003291042A1 (en) 2002-11-18 2004-06-15 America Online, Inc. Enhanced buddy list interface
US20040143603A1 (en) 2002-11-21 2004-07-22 Roy Kaufmann Method and system for synchronous and asynchronous note timing in a system for enhancing collaboration using computers and networking
ATE504446T1 (de) 2002-12-02 2011-04-15 Silverbrook Res Pty Ltd Totdüsenausgleich
US8095409B2 (en) 2002-12-06 2012-01-10 Insors Integrated Communications Methods and program products for organizing virtual meetings
US20040122901A1 (en) 2002-12-20 2004-06-24 Nortel Networks Limited Providing computer presence information to an integrated presence system
US7209948B2 (en) 2002-12-20 2007-04-24 International Business Machines, Corporation Collaborative review of distributed content
US20040141005A1 (en) 2003-01-22 2004-07-22 International Business Machines Corporation System and method for integrating online meeting materials in a place
US7694136B2 (en) 2003-02-10 2010-04-06 International Business Machines Corporation Method for distributing and authenticating public keys using hashed password protection
JP4517578B2 (ja) 2003-03-11 2010-08-04 株式会社日立製作所 ピアツーピア通信装置および通信方法
US20040184445A1 (en) 2003-03-18 2004-09-23 Burne Jeffrey K. Computer algorithm and method for facilitating the networking of individuals
US8261062B2 (en) 2003-03-27 2012-09-04 Microsoft Corporation Non-cryptographic addressing
US7409544B2 (en) 2003-03-27 2008-08-05 Microsoft Corporation Methods and systems for authenticating messages
US7624264B2 (en) 2003-03-27 2009-11-24 Microsoft Corporation Using time to determine a hash extension
US7610487B2 (en) 2003-03-27 2009-10-27 Microsoft Corporation Human input security codes
US7870218B2 (en) 2003-04-09 2011-01-11 Nec Laboratories America, Inc. Peer-to-peer system and method with improved utilization
EP1473899A1 (en) 2003-04-28 2004-11-03 Telefonaktiebolaget LM Ericsson (publ) Security in a communications network
US8161094B2 (en) 2003-06-04 2012-04-17 Sony Computer Entertainment Inc. System and method for notification within decentralized network
EP2270622B1 (en) 2003-06-05 2016-08-24 Intertrust Technologies Corporation Interoperable systems and methods for peer-to-peer service orchestration
US7539771B2 (en) 2003-06-06 2009-05-26 Microsoft Corporation Organizational locality in prefix-based structured peer-to-peer overlays
US7337213B2 (en) 2003-06-19 2008-02-26 International Business Machines Corporation Method and apparatus for managing messages in a messaging session
US20050009537A1 (en) 2003-07-11 2005-01-13 Crocker Ronald T. Method and apparatus for facilitating wireless presence-based services
US20050027805A1 (en) 2003-07-15 2005-02-03 Aoki Norihiro Edwin Instant messaging and enhanced scheduling
US7512653B2 (en) 2003-08-11 2009-03-31 Sony Corporation System and method for dynamically grouping messaging buddies in an electronic network
CA2439582A1 (en) 2003-09-05 2005-03-05 Webtech Dezine Inc. Method, system and apparatus for internet-based sales generation
WO2005026872A2 (en) 2003-09-16 2005-03-24 Terassic-5 Infosec Ltd Internal lan perimeter security appliance composed of a pci card and complementary software
US7546343B2 (en) 2003-09-23 2009-06-09 Alcatel-Lucent Usa Inc. System and method for supporting virtual conferences
US7200638B2 (en) 2003-10-14 2007-04-03 International Business Machines Corporation System and method for automatic population of instant messenger lists
US8260857B2 (en) 2003-10-23 2012-09-04 Microsoft Corporation One to many data projection system and method
US20050102245A1 (en) 2003-11-07 2005-05-12 International Business Machines Corporation System, method, and service for negotiating schedules while preserving privacy through a shared representation
US20050138393A1 (en) * 2003-12-22 2005-06-23 Challener David C. Determining user security level using trusted hardware device
US20050198173A1 (en) 2004-01-02 2005-09-08 Evans Alexander W. System and method for controlling receipt of electronic messages
US20050160291A1 (en) 2004-01-16 2005-07-21 Sharp Laboratories Of America, Inc. System and method for securing network-connected resources
US7885901B2 (en) 2004-01-29 2011-02-08 Yahoo! Inc. Method and system for seeding online social network contacts
US20050182928A1 (en) 2004-02-12 2005-08-18 Chandar Kamalanathan System and method for secure HTML links
CA2457478A1 (en) 2004-02-12 2005-08-12 Opersys Inc. System and method for warranting electronic mail using a hybrid public key encryption scheme
AU2004201058B1 (en) 2004-03-15 2004-09-09 Lockstep Consulting Pty Ltd Means and method of issuing Anonymous Public Key Certificates for indexing electronic record systems
US8880502B2 (en) 2004-03-15 2014-11-04 International Business Machines Corporation Searching a range in a set of values in a network with distributed storage entities
US7397766B2 (en) * 2004-03-31 2008-07-08 Lucent Technologies Inc. High-speed traffic measurement and analysis methodologies and protocols
US20050228824A1 (en) 2004-04-01 2005-10-13 Gattuso Joseph A Intelligent consequence management system
EP1587239A1 (en) 2004-04-14 2005-10-19 Siemens Mobile Communications S.p.A. Method of and apparatus for server-side management of buddy lists
US7478120B1 (en) 2004-04-27 2009-01-13 Xiaohai Zhang System and method for providing a peer indexing service
US7925729B2 (en) 2004-12-07 2011-04-12 Cisco Technology, Inc. Network management
KR100651715B1 (ko) 2004-10-07 2006-12-01 한국전자통신연구원 차세대 인터넷에서 자동으로 주소를 생성하고 수락하는방법 및 이를 위한 데이터 구조
WO2006068450A1 (en) 2004-12-24 2006-06-29 Samsung Electronics Co., Ltd. System and method for providing mobility and secure tunnel using mobile internet protocol within internet key exchange protocol version 2
US20060265401A1 (en) 2005-05-20 2006-11-23 Andrew Edmond Grid network for distribution of files
US7568106B2 (en) 2005-12-16 2009-07-28 International Business Machines Corporation Cooperative non-repudiated message exchange in a network environment
US20070192676A1 (en) 2006-02-13 2007-08-16 Bodin William K Synthesizing aggregated data of disparate data types into data of a uniform data type with embedded audio hyperlinks

Also Published As

Publication number Publication date
KR101150109B1 (ko) 2012-06-08
EP1612643A3 (en) 2006-10-04
JP4902144B2 (ja) 2012-03-21
CN1716855B (zh) 2011-01-26
CN1716855A (zh) 2006-01-04
EP1612643A2 (en) 2006-01-04
US7929689B2 (en) 2011-04-19
US20060005013A1 (en) 2006-01-05
JP2006048654A (ja) 2006-02-16

Similar Documents

Publication Publication Date Title
KR101150109B1 (ko) 콜 사인을 생성하는 방법
US8769637B2 (en) Iterated password hash systems and methods for preserving password entropy
US8208627B2 (en) Format-preserving cryptographic systems
US8966276B2 (en) System and method providing disconnected authentication
CN111027036B (zh) 一种基于区块链的身份关联方法
US20130339252A1 (en) Format-preserving cryptographic systems
US9407631B1 (en) Multi-server passcode verification for one-time authentication tokens with auxiliary channel compatibility
US9454654B1 (en) Multi-server one-time passcode verification on respective high order and low order passcode portions
US20230006836A1 (en) Multi-party and multi-use quantum resistant signatures and key establishment
JP2009530906A (ja) コールサインを用いたエンドポイント検証
EP3864794A1 (en) Linking transactions
Assiri et al. Software implementation of a SRAM PUF-based password manager
Sadeghi-Nasab et al. A comprehensive review of the security flaws of hashing algorithms
Kang et al. Attack on Privacy‐Preserving Public Auditing Schemes for Cloud Storage
Srivastava et al. On the generation of alphanumeric one time passwords
CN113761578A (zh) 一种基于区块链的文书验真方法
LU100142B1 (en) Electronic communication and access-control method
CN111480316A (zh) 生成和验证密码的方法和设备
Maitra et al. Analysis and enhancement of secure three-factor user authentication using Chebyshev Chaotic Map
Canard et al. Towards practical intrusion detection system over encrypted traffic
Kou et al. Efficient hierarchical authentication protocol for multiserver architecture
Varghese et al. 3-Level Password Authentication System
Gayvoronskaya et al. Technical basics for a better understanding of blockchain technology
Nielson et al. Hashing
Nwachukwu Overview of Blockchain Technology Cryptographic Security

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee