KR100965465B1 - 이동 사용자 증명서의 공유 정보를 이용한 보안 레코드프로토콜을 위한 시스템 및 방법 - Google Patents

이동 사용자 증명서의 공유 정보를 이용한 보안 레코드프로토콜을 위한 시스템 및 방법 Download PDF

Info

Publication number
KR100965465B1
KR100965465B1 KR1020070119179A KR20070119179A KR100965465B1 KR 100965465 B1 KR100965465 B1 KR 100965465B1 KR 1020070119179 A KR1020070119179 A KR 1020070119179A KR 20070119179 A KR20070119179 A KR 20070119179A KR 100965465 B1 KR100965465 B1 KR 100965465B1
Authority
KR
South Korea
Prior art keywords
server
client device
key
key generator
input
Prior art date
Application number
KR1020070119179A
Other languages
English (en)
Other versions
KR20080046593A (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 KR20080046593A publication Critical patent/KR20080046593A/ko
Application granted granted Critical
Publication of KR100965465B1 publication Critical patent/KR100965465B1/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/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • 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
    • 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/44Program or device authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0863Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/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/3247Cryptographic 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 involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/80Wireless

Abstract

서버 및 클라이언트를 갖는 시스템의 보안 레코드 프로토콜을 위한 방법 및 장치로서, 상기 방법은, 서버 및 클라이언트 모두에 알려져 있는 이동 사용자 증명서를 키 발생기에 대한 입력으로서 사용하는 단계; 이동 사용자 증명서 입력에 기초하여 하나 또는 두 개의 공개 키-개인 키 쌍을 발생하는 단계; 및 개인 키로 서명된 메시지를 송신하는 단계를 포함한다.
Figure R1020070119179
보안 레코드, 증명서, 공개 키, 개인 키, 공유 정보.

Description

이동 사용자 증명서의 공유 정보를 이용한 보안 레코드 프로토콜을 위한 시스템 및 방법{SYSTEM AND METHOD FOR SECURE RECORD PROTOCOL USING SHARED KNOWLEDGE OF MOBILE USER CREDENTIALS}
본 발명은 전반적으로 보안 레코드 프로토콜(secure record protocol)에 관한 것으로, 특히, 클라이언트 및 서버 사이의 통신을 위한 보안 레코드 프로토콜에 관한 것이다.
보안 통신은 클라이언트 및 서버 사이에서 다수의 종류의 정보를 송신할 경우에 중요하다. 예를 들어, 그 중에서도 재무 정보, 건강 정보, 전자 메일은 데이터 확실성(authenticity) 및 무결성(integrity)을 보장함으로써, 그리고 데이터의 암호화를 통해 보호될 필요가 있다.
이러한 보안 통신을 제공하기 위한 다양한 해결책이 존재한다. 하나의 예는 클라이언트 및 서버 인증서의 사용을 포함한다. 그러나, 당업자가 인식하고 있는 것과 같이, 운송업자 또는 기업과 같은 도메인(domain) 소유자는 특히, 클라이언트 기기가 이동 기기인 경우, 클라이언트 기기 상에서 클라이언트 인증서를 관리하는 것이 곤란하다. 또한, 이러한 클라이언트 인증서를 이동 기기 상에 설치하는 것은 세부 계획(logistics)에 대한 도전을 포함한다.
또 다른 해결책은 보안성이 있는 채널의 확립 이전에 클라이언트 및 서버 사이에서 무선을 통해 공유된 비밀 또는 그 일부가 전송되는 공유된 비밀의 사용을 포함한다. 이해할 수 있는 것과 같이, 이러한 공유된 비밀의 무선 전송은 데이터 무결성이 손상되는 결과를 초래한다.
본 시스템 및 방법은 인증된 보안 레코드 프로토콜을 기기 클라이언트 및 일반 이동 서버 사이에서 확립하기 위한 경량의(lightweight) 보안 모델을 제공할 수 있다. 이 방법은 기기 또는 이동 사용자 등록시에 오프-라인(off-line)으로 제공된 사용자 패스워드 또는 임의의 다른 암호 파라미터와 같은 이동 사용자 증명서의 공유 정보에 기초할 수도 있다.
상기 시스템은, 미리 정의된 보안 알고리즘을 이용하여, 단일 키 쌍 암호화 방법(single key pair encryption methodology)에서의 입력 토큰(input token)으로부터 공개 키(public key) 및 개인 키(private key)를 발생하거나, 이중 키 쌍 방법(dual key pair solution)에 의해 입력 토큰으로부터 기기 클라이언트 공개 키 및 개인 키를 발생하는 클라이언트 키 발생기(CKG : Client Key Generator)를 포함할 수도 있다. 서버 공개 키를 생성하기 위한 시퀀스(sequence)의 일부로서 발생된 서버 개인 키는 클라이언트 실행시간(runtime) 환경에 노출되지 않는다는 것을 유의해야 한다.
또한, 상기 시스템은, 클라이언트 키 발생기의 보안 알고리즘에 부합하는 보안 알고리즘을 이용하여, 단일 키 쌍 방법에서의 입력 토큰으로부터 공개 키 및 개인 키를 발생하고, 이중 키 쌍 방법에서의 입력 토큰으로부터 서버 공개 키, 서버 개인 키 및 기기 클라이언트 공개 키를 발생하는 서버 키 발생기(SKG : Server Key Generator)를 포함할 수도 있다. 클라이언트 공개 키를 생성하기 위한 시퀀스의 일부로서 발생된 클라이언트 개인 키는 서버 실행시간 환경에 노출되지 않는다는 것을 유의해야 한다.
그러므로, 본 개시 발명은, 서버 및 클라이언트를 갖는 시스템의 보안 레코드 프로토콜을 위한 방법으로서, 상기 서버 및 상기 클라이언트에 모두 알려져 있는 이동 사용자 증명서를 키 발생기에 대한 입력으로서 사용하는 단계; 상기 이동 사용자 증명서 입력에 기초하여 하나 또는 두 개의 공개 키-개인 키 쌍을 발생하는 단계; 및 개인 키가 서명된 메시지를 송신하는 단계를 포함하는 방법을 제공할 수도 있다.
또한, 본 개시 발명은, 이동 사용자 증명서를 이용한 보안 레코드 프로토콜을 위한 시스템으로서, 통신 서브시스템, 상기 통신 서브시스템과 통신하도록 구성된 프로세서, 상기 이동 사용자 증명서로부터 생성된 입력을 기억하도록 구성된 메모리, 상기 입력이 제공되고, 하나 또는 두 개의 공개 키-개인 키 쌍을 발생하도록 구성된 클라이언트 키 발생기, 및 상기 클라이언트 키 발생기에 의해 발생된 개인 키로 메시지를 서명하도록 구성된 서명/검증 모듈을 갖는 클라이언트와, 상기 클라이언트 통신 서브시스템과 통신하도록 구성된 통신 서브시스템, 상기 통신 서브시스템과 통신하도록 구성된 프로세서, 상기 이동 사용자 증명서로부터 생성된 입력을 기억하도록 구성된 메모리, 상기 입력이 제공되고, 하나 또는 두 개의 공개 키-개인 키 쌍을 발생하도록 구성된 서버 키 발생기, 상기 서버 키 발생기에 의해 발생된 개인 키로 메시지를 서명하도록 구성된 서명/검증 모듈을 갖는 서버를 포함하 는 시스템을 제공하고, 상기 클라이언트 키 발생기 및 상기 서버 키 발생기는 동일한 입력에 대해 동일한 개인 키-공개 키 쌍을 생성하도록 구성되어 있는 시스템을 더 제공할 수도 있다.
상술한 본 발명에 따르면, 인증된 보안 레코드 프로토콜을 기기 클라이언트 및 일반 이동 서버 사이에서 확립하기 위한 경량의(lightweight) 보안 모델을 제공하는 시스템 및 방법을 달성할 수 있다.
본 개시 발명은 도면을 참조하여 더욱 잘 이해할 수 있다.
도 1을 참조한다. 도 1은 단일 키 쌍 암호화 방식에 이용되도록 구성된 단순화된 서버 및 클라이언트의 블록도를 예시한 것이다. 시스템은 서버(110) 및 클라이언트(150)를 포함한다. 서버(110)는 클라이언트(150), 더욱 구체적으로, 클라이언트(150) 상의 통신 서브시스템(152)과 네트워크를 통해 통신하도록 구성된 통신 서브시스템(112)을 포함한다. 당업자가 이해할 수 있는 것과 같이, 통신이 행해지는 네트워크는 유선 또는 무선 네트워크에 포함된 임의의 네트워크일 수 있다. 하나의 예로서, 통신 서브시스템(152)은, 기지국 또는 액세스 포인트를 갖는 셀룰러 네트워크 또는 무선 근거리 네트워크(WLAN : Wireless Local Area Network)와 같은 무선 네트워크와 통신하고, 그런 다음 패킷 데이터 서빙 노드와 같은 일련의 시스템 구성요소를 거쳐 인터넷을 통해 서버(110)에 접속하도록 구성된다. 통신의 다른 예는 당업자에게 알려져 있으며, 본 출원발명은 임의의 특수한 통신 모드에 한정되 는 것을 의도한 것이 아니다.
서버(110)는 통신 서브시스템(112)과 통신하도록 구성된 프로세서(114)를 더 포함한다.
또한, 프로세서(114)는 각종 애플리케이션 및 데이터를 기억하도록 이용되는 메모리(116)와 통신한다. 메모리(116)는 컴퓨터 시스템 및 기기에 적용될 임의의 형태의 메모리를 포함할 수도 있다.
프로세서(114)는 서명/검증 모듈(120)과 또한 통신한다. 도 1의 시스템에서, 서명/검증 모듈(120)은 단일 키 쌍 서명/검증 모듈이다.
서버 키 발생기(125)는 출력 메시지를 서명하거나 입력 메시지를 검증하기 위해 필요한 서명/검증 키를 서명/검증 모듈(120)에 제공하도록 구성된다. 또한, 서버 키 발생기(SKG)(125)는 메모리(116)로부터 입력 토큰을 수신하기 위해 메모리(116)와 통신하도록 구성된다.
SKG(125)를 위한 입력 토큰은 서버 및 클라이언트에 모두 알려져 있는 이동 사용자 증명서를 포함한다. 이것은 기기 등록시에 오프라인으로 제공된 사용자 패스워드 또는 보안 코드와 같은 증명서를 포함한다. 이동 사용자 증명서의 다른 예는 당업자에게 알려져 있을 것이다.
바람직한 실시예에서, SKG(125)는 메모리(116)로부터의 입력 토큰을 사용하여 공개 키 및 개인 키를 모두 생성한다. 바람직한 실시예에서, 개인 키는 입력 메시지를 복호화(decrypt)하기 위해 이용되고, 공개 키는 출력 메시지를 암호화(encrypt)하기 위해 이용된다.
SKG(125)는 내장된 도메인 소유자 파라미터를 포함하는 것이 더욱 바람직하다. 운송업자 또는 기업과 같은 무선 도메인 소유자는 SKG의 설치 이전에 이러한 도메인 소유자 파라미터를 설정한다. SKG(125)는 공개 키(130) 및 개인 키(132)를 발생하기 위하여, 도메인 소유자 파라미터(127)를 메모리(116)로부터 수신된 입력 토큰과 합성한다.
입력 토큰 및 도메인 소유자 파라미터의 합성은 엔트로피(entropy)를 증가시키고 보안성을 향상시킨다. 이러한 파라미터를 혼합하기 위한 여러 방식이 존재한다. 그 하나는 예를 들어, 전자서명 알고리즘(DSA : Digital Signature Algorithm) 키를 이용하여 도메인 소유자 파라미터로부터 파라미터를 발생하는 것이다. DSA 키 발생 메커니즘은 "Digital_Signature_Algorithm"이라는 명칭으로 wikipedia 웹 사이트에서 찾을 수 있다.
상기 항목에서 설명한 것과 같이, (p,q,g,y)는 공개 키이고, (x)는 개인 키이며, 여기서,
p는 주기 그룹 Zp*의 차수(order)이고,
q는 Zp*의 주기 서브그룹 Zq*의 차수이며(p는 q로 나누어짐),
g는 주기 서브그룹 Zq*의 발생기이며,
y는 gX = y가 되도록 하는 Zq*의 성분이다.
이해할 수 있는 것과 같이, p, q 및 g는 알고리즘 파라미터를 정의하고, y는 공개 키를 정의한 것이다.
일반적으로, p, q 및 g는 공개되어 있다. 그러나, 위에서, p, q 및 g는 도메인 소유자 증명서로부터 유도된 비밀 알고리즘 파라미터 세트일 수 있다. 따라서, x(개인 키)는 가입자 패스워드로부터 유도될 것이고, y는 y = gX로서 계산될 것이다. p, q 및 g는 양측 모두가 동일해야 함을 유의해야 한다.
또 다른 예로서, CKG 및 SKG 내에 2-단계 처리가 이용될 수 있으며, 첫 번째 단계에서, 도메인 소유자 파라미터로부터 유도된 키를 이용하여 입력 토큰에 변환을 적용하는 처리가 행해진다. 다시, 이 키는 기기에 대한 설치 이전에 CKG에서 보안성 있게 설정될 수 있다. 이 방법을 이용하면, 첫 번째 단계에서, 상기 처리는 (더 나은 엔트로피를 갖는) 새로운 입력 키를 발생하고, 두 번째 단계에서, 이 키를 키 쌍 발생을 위해 공급할 것이다.
당업자가 이해할 수 있는 것과 같이, 그 이외의 가능성 있는 시나리오가 존재한다.
클라이언트 측에서, 클라이언트(150)는 상술한 것과 같이 통신 서브시스템(152)을 포함한다. 클라이언트(150)는 프로세서(154)를 더 포함한다. 프로세서(154)는 통신 서브시스템(152)을 통해 통신을 송신하도록 구성되고, 또한, 메모리(156)와 상호작용한다.
서명/검증 모듈(160)은 출력 메시지를 서명하고 입력 메시지를 검증하기 위해 사용된다. 서명/검증 모듈(160)은 키를 생성하도록 구성되어 있는 클라이언트 키 발생기(165)와 통신한다. 구체적으로, 바람직한 실시예에서는, 공개 키(170) 및 개인 키(172)가 발생된다. 공개 키(170)는 공개 키(130)와 동일해야 하고, 개인 키(172)는 개인 키(132)와 동일해야 한다.
동작시에, 메모리(156)에 기억된 입력 토큰은 CKG(165)에 입력된다. 바람직하게는, 도메인 소유자 파라미터(167)가 메모리(156)로부터의 입력 토큰과 결합되고, 클라이언트 키 발생기(165)는 이러한 두 개의 파라미터에 기초하여 키를 생성한다. 상술한 것과 같이, 이것은 다수의 방식으로 행해질 수 있다.
또한, SKG(125) 및 서명/검증 모듈(120) 중의 하나 또는 둘은 프로세서(114)의 일부일 수 있다. 다른 방안으로서, 이러한 구성요소는 서버(110) 상의 프로세서(114)와 분리될 수 있다.
이와 유사하게, CKG(165)는 프로세서(154)의 일부를 형성할 수 있고, 서명/검증 모듈(160)도 프로세서(154)의 일부를 형성할 수 있다. 다른 방안으로서, SKG(165) 및 서명/검증 모듈(160) 중의 하나 또는 둘은 클라이언트 기기(150) 상의 개별적인 구성요소일 수 있다.
도 1의 실시예에 대해 더 나은 보호를 제공하기 위하여, 이중 키 쌍 시스템이 이용될 수 있다. 이하, 도 2를 참조한다. 도 2는 서버(210) 및 클라이언트(250)를 갖는 예시적인 클라이언트/서버 시스템을 예시한 것이다.
도 1의 시스템과 같이, 서버(210)는 클라이언트(250), 더욱 구체적으로, 클라이언트(250) 상의 통신 서브시스템(252)과 네트워크를 통해 통신하도록 구성되어 있는 통신 서브시스템(212)을 포함한다.
서버(210)는 통신 서브시스템(212)을 통해 통신을 송수신하도록 구성된 프로 세서(214)를 더 포함하고, 또한, 메모리(216) 및 서명/검증 모듈(220)과 통신한다. 메모리(216)는 공유 증명서를 포함하는 입력 토큰을 기억하고, 메모리(216)는 임의의 형태의 메모리일 수 있다.
도 2의 시스템에서, 서명/검증 모듈(220)은 비대칭적인 서명/검증 모듈이다. 바꾸어 말하면, 서버(210) 상에서, 클라이언트 개인 키는 출력 메시지를 서명하도록 이용되고, 서버 공개 키는 클라이언트로부터 수신된 메시지를 검증하도록 이용된다. 아래에서 설명하는 것과 같이, 클라이언트 공개 키는 암호화를 위해 이용될 수도 있고, 서버 개인 키는 검증을 위해 이용될 수 있다.
서버 키 발생기(225)는 메모리(216)로부터 입력 토큰을 수신하도록 구성된다. 바람직하게는, SKG(225)는 서버 키 발생기(225)를 위한 입력에 대해 메모리(216)로부터의 입력 토큰을 결합하는 알고리즘 파라미터(227)를 더 포함한다.
SKG(225)는 서버 공개 키(230), 서버 개인 키(232), 클라이언트 공개 키(234) 및 클라이언트 개인 키(도시하지 않음)를 생성한다. SKG(225)는 기기 클라이언트 개인 키를 출력하는 능력을 제공하지 않는 것으로 예상된다.
이와 유사하게, 클라이언트 기기(250)는 상술한 것과 같이 통신 서브시스템(252)을 포함한다. 또한, 클라이언트(250)는 통신 서브시스템(252)을 통해 통신을 송수신하도록 구성된 프로세서(254)를 포함하고, 메모리(256)와 통신하도록 구성된다. 비대칭적인 서명/검증 모듈(260)은 프로세서 및 통신 서브시스템(252)과 통신하고, 또한, 클라이언트 키 발생기(CKG)(265)로부터 키를 수신한다.
CKG(265)는 메모리(256)로부터 공유 증명서를 수신하고, 바람직한 실시예에 서는, 알고리즘 파라미터(267)를 이용하여 키를 발생하기 위한 입력 토큰을 생성한다. CKG(265)는 클라이언트 공개 키(270), 클라이언트 개인 키(272), 서버 공개 키(274) 및 서버 개인 키(도시하지 않음)를 발생한다. CKG는 서버 개인 키를 출력하는 능력을 제공하지 않는 것으로 예상된다.
그러므로, 상기 시스템은 미리 정의된 보안 알고리즘을 이용하여 기기 클라이언트 공개 키 및 개인 키(270 및 272)를 각각 발생하고, 또한, 입력 토큰으로부터 서버 공개 키(274)를 발생하는 클라이언트 키 발생기(265)를 포함한다. 상기 시스템은 부합하는 보안 알고리즘을 이용하여 서버 공개 및 개인 키(230 및 232)를 각각 발생할 뿐만 아니라, 입력 토큰에 기초하여 기기 클라이언트 공개 키(234)를 발생하는 서버 키 발생기(225)를 더 포함한다. 동일한 입력 토큰이 이용되면, CKG(265) 및SKG(225)는 다음의 조건을 충족해야 한다:
a) CKG(265)에 의해 발생된 서버 공개 키는 SKG(225)에 의해 발생된 서버 공개 키와 동일해야 하고, SKG(225)에 의해 발생된 서버 개인 키(232)와 부합해야 한다;
b) SKG(225)에 의해 발생된 기기 클라이언트 공개 키(234)는 CKG(265)에 의해 발생된 클라이언트 공개 키(270)와 동일해야 하고, CKG(265)에 의해 발생된 클라이언트 개인 키(272)와 부합해야 한다.
SKG(225) 및 CKG(265)에서 이용된 알고리즘을 위한 입력 파라미터는 기밀성이 있으며, 도메인 소유자에 의해 관리된다. 무선 도메인에서는, 이것은 운송업자 또는 기업일 수 있다. SKG(225) 및 CKG(265) 모듈은 서버(210) 및 기기(250) 상에 서의 이러한 모듈의 설치 이전에 도메인 소유자 증명서를 설정하는 능력을 도메인 소유자에게 제공해야 한다. 이러한 도메인 소유자 증명서는 도메인 소유자의 보호된 비밀이며, 클라이언트 증명서가 손상된 경우에 추가적인 보안성을 제공한다. 하나의 실시예에서는, 이러한 파라미터가 도메인 소유자 개인 키를 이용하여 자동으로 발생될 수 있다.
이하, 도 3을 참조한다. 도 3은 바람직한 방법에 따른 데이터 흐름도를 도시한 것이다. 클라이언트(310)는 서버(320)와 통신한다. 버전 협상(version negotiation) 시에, 단계(322)에서, 클라이언트(310)는 활성 메시지를 송신하며, 이 활성 메시지는 이동 사용자 식별자(identity)를 제공한다. 임시 필드(nonce)에 활성 메시지가 제공될 수 있다.
또 다른 흐름에서는, 단계(342)에서, 클라이언트(310)는 그 대신에 클라이언트 활성 메시지를 송신하고, 단계(344)에서, 임시 필드를 포함할 수도 있는 신청(challenge)을 수신한다. 그 다음으로, 클라이언트(310)는 단계(344)로부터의 임시 필드에 의해 이동 사용자 식별자가 선택적으로 해싱(hashing)되는 신청 응답(346)을 송신할 것이다.
단계(346)에서, 서버(320)는 메시지로부터 이동 사용자 식별자를 검색하고, 서버 키 발생기(도 2의 SKG(225)를 이용하여, 서버 개인 및 공개 키 뿐만 아니라 이동 사용자의 패스워드를 입력 토큰으로서 이용한 클라이언트 공개 키를 발생한다. 선택적으로, 클라이언트가 활성 메시지에서 임시 필드를 제공한 경우, SKG(225)를 위한 입력 토큰은 임시 필드를 갖는 보안 해시 함수에 의해 해싱된 패 스워드를 이용하여 생성될 수 있다. 또 다른 방안으로서, 클라이언트 및 서버에 의해 공유된 파라미터를 이용한 임의의 패스워드 변환이 수행될 수 있다.
다음으로, 단계(352)에서, 서버는 서버 개인 키에 의해 서명된 활성 확인 응답 메시지를 송신할 수 있다.
단계(354)에서, 클라이언트 키 발생기는 이동 사용자 패스워드를 입력 토큰으로서 이용하여 서버 공개 키 및 클라이언트 개인 키 쌍을 발생한다. 선택적으로, CKG를 위한 입력 토큰은, 임시 필드가 활성 메시지에서 송신된 경우, 임시 필드를 갖는 보안 해시 함수에 의해 해싱된 패스워드를 이용하거나, 클라이언트 및 서버 모두에 의해 공유된 파라미터를 이용한 임의의 패스워드 변환을 이용하여 생성될 수 있다.
다음으로, 단계(356)에서, 클라이언트(310)는 서버 공개 키에 의해 메시지를 검증하고, 선택적으로, 클라이언트 개인 키로 이 메세지를 복호화한다.
클라이언트 및 서버 사이의 후속 메시지는 레코드 프로토콜을 위한 그 개인/공개 키의 일부를 이용하여 메시지를 서명 및 암호화한다.
더욱 간단한 활성에 있어서, 클라이언트 활성 메시지(322)는 이동 사용자 식별자 및 선택적으로 임시 필드를 포함한다.
단계(324)에서, 서버(320)는 이동 사용자 식별자에 기초하여 SKG로부터 키를 얻는다. 위에서 지적한 것과 같이, 서버는 이동 사용자 패스워드를 검색하고, 서버 키 발생기를 이용하여, 서버 개인/공개 키 쌍 및 이동 사용자 패스워드를 입력 토큰으로 이용한 클라이언트/공개 키를 발생한다. 선택적으로, SKG를 위한 입력 토큰 은, 클라이언트가 활성 메시지에서 임시 필드를 제공한 경우, 임시 필드에 의해 해싱된 패스워드를 이용하거나, 클라이언트 및 서버 모두에 의해 공유된 파라미터를 이용한 임의의 패스워드 변환을 이용하여 생성될 수 있다.
다음으로, 서버(320)는 서버의 개인 키에 의해 서명되어 있으며, 필요한 경우, 클라이언트의 공개 키로 암호화될 수도 있는 클라이언트 활성 메시지를 송신한다. 단계(328)의 메시지는 세션 식별자(session identifier) 뿐만 아니라 클라이언트(310)에 의해 요구되는 기타 임의의 파라미터도 포함하는 것이 바람직하다.
클라이언트(310)는 클라이언트 키 발생기를 이용하여, 서버 공개 키 및 이동 사용자 패스워드를 입력 토큰으로 이용한 클라이언트 공개/개인 키 쌍을 발생한다. 선택적으로, CKG를 위한 입력 토큰은, 임시 필드가 활성 메시지에서 송신된 경우, 임시 필드에 의해 해싱된 패스워드를 이용하거나, 클라이언트 및 서버에 의해 공유된 비밀 파라미터를 이용한 임의의 패스워드 변환을 이용하여 생성될 수 있다. 이것은 단계(330)에서 수행된다.
단계(332)에서, 클라이언트는 서버 공개 키로 메시지의 디지털 서명을 검증하고, 선택적으로, 클라이언트 개인 키로 이 메세지를 복호화한다.
임의의 후속 메시지에 대해, 클라이언트 및 서버는 레코드 프로토콜을 위한 개인/공개 키의 쌍을 이용하여 메시지를 서명 및 암호화한다.
이하, 도 4를 참조한다. 도 4는 또 다른 데이터 흐름도를 도시한 것이다.
클라이언트(410)는 서버(420)와 통신한다. 도 4에서 알 수 있는 것과 같이, 통신을 위한 다양한 흐름이 가능하다. 제1흐름에 있어서, 클라이언트(410)는 단 계(422)에서 클라이언트의 활성 메시지를 생성하고, 이 메시지는 이동 사용자 식별자와 선택적으로 임시 필드를 포함한다.
단계(424)에서, 서버(420)는 클라이언트 활성 메시지를 수신하고, 서버는 이동 사용자 패스워드를 검색하며, 서버 키 발생기를 이용하여, 개인/공개 키 쌍 및 이동 사용자 패스워드를 입력 토큰으로서 이용한 클라이언트 공개 키를 발생한다. 선택적으로, SKG를 위한 입력 토큰은, 클라이언트가 활성 메시지에서 임시 필드를 제공한 경우, 임시 필드에 의해 해싱된 패스워드를 이용하거나, 클라이언트 및 서버 모두에 의해 공유된 파라미터를 이용한 임의의 패스워드 변환에 의해 생성될 수 있다.
다음으로, 서버는 고유 세션 식별자를 발생하고, 이동 사용자 패스워드, 존재한다면, 활성 메시지로부터의 임시 필드, 그리고, 선택적으로, 발생된 세션 ID의 미리 정의된 조합에 기초하여 새로운 공유 비밀을 생성한다. 이것은 단계(428)에서 수행된다.
다음으로, 서버(420)는 단계(430)에서 활성 확인을 나타내는 메세지를 보내고, 서버 개인 키로 서명되어 발생된 세션 ID 를 포함한다.
단계(432)에서, 클라이언트는 클라이언트 키 발생기를 이용하여, 이동 사용자 패스워드 및 입력 토큰을 이용한 서버 공개 키를 발생한다. 또한, 클라이언트 키 발생기는 클라이언트 공개/개인 키 쌍을 발생하기 위해 이용될 수 있다. 다시, 선택적으로, CKG를 위한 입력 토큰은, 활성 메시지에서 임시 필드가 송신된 경우, 임시 필드에 의해 해싱된 패스워드를 이용하거나, 클라이언트 및 서버에 의해 공유 된 파라미터를 이용한 임의의 패스워드 변환을 이용하여 생성될 수 있다. 메시지가 암호화되어 있으면, 클라이언트는 CKG를 이용하여 클라이언트 개인 키를 발생하고, 메시지를 복호화해야 한다.
다음으로, 단계(434)에서, 서버 공개 키에 의해 메시지를 검증하는 처리가 행해진다. 클라이언트는 선택적으로, 클라이언트 개인 키로 메시지를 복호화하고, 세션 ID를 검색한다.
단계(436)에서, 클라이언트는 이동 사용자 패스워드, 존재할 경우, 활성 메시지로부터의 임시 필드와, 발생된 세션 ID의 미리 정의된 조합에 기초하여 서버의 공유 비밀과 동일한 공유 비밀을 생성한다.
클라이언트는 CKG를 이용하여 공유 비밀을 기초로 서버 공개 키 및 클라이언트 개인 공개 키 쌍을 발생한다.
단계(438)에서, 서버는 동일한 정보를 이용하여, 공유 비밀을 기초로 클라이언트 공개 키 및 서버 공개 개인 키 쌍을 발생한다.
다음으로, 클라이언트 및 서버는 레코드 프로토콜을 위한 공개 키 및 개인 키의 쌍을 이용하여 메시지를 서명 및 암호화한다.
당업자가 이해할 수 있는 것과 같이, 상기 방법의 이점은 패스워드-유도 키가 무선을 통해 절대로 운송되지 않는다는 것이다. 무선을 통해 운송되는 키에 있어서의 문제점은 그 키를 신뢰하는 것이다. 키가 각각의 상대방에 무관하게 발생되므로, 그 키를 신뢰할 수 있을 것이므로, 공개 키 검증을 위한 인증서가 필요하지 않다.
또한, 당업자가 이해할 수 있는 것과 같이, 상기한 것은 임의의 클라이언트 기기 상에 설치될 수 있다. 그러나, 하나의 실시예에서, 상기한 것은 무선 데이터 기기 상에 설치된다. 기업 또는 운송업자는 CKG 모듈을 판매되고 있는 모든 기기에 준비함으로써 그 모듈을 관리할 수 있다. 그러므로, 그 솔루션은 설치하기 용이하므로 경량이다. 또한, 모듈은 기기에 부가되므로, 그 외의 것은 행할 필요가 없으며, 모듈을 부가하는 것은 기기 준비 도중에 행해질 수 있다.
도 3 및 도 4를 참조하면, 당업자가 이해할 수 있는 것과 같이, 단일 키 쌍 방식이 이용되는 단순화된 모델에 대한 옵션으로서 단일 키 쌍이 이용될 수 있다.
상기한 것은 CKG 이행 보안성에 의해 제약되는 부인방지(non-repudiation)에 또한 대비한다. 알고리즘 파라미터는 운송업자 또는 도메인에 의해 설정되고 공개/개인 키 쌍을 생성하기 위한 패스워드 또는 다른 증명서와 결합되므로, 알고리즘 파라미터는 하나의 상대방에만 알려져 있다.
이하, 도 5를 참조한다. 도 5는 본 방법 및 시스템과 관련하여 이용되도록 적합한 예시적인 이동 기기의 더욱 상세한 블록도를 도시한 것이다. 도 5의 장치는 한정을 의도한 것이 아니며, 이용될 수 있는 기기 종류의 예시를 의도한 것이다.
도 5는 본 애플리케이션의 장치 및 방법의 바람직한 실시예에서 이용될 수 있는 이동 기기를 예시하는 블록도이다. 이동 기기(500)는 적어도 음성 및 데이터 통신 능력을 갖는 양방향 무선 통신 기기인 것이 바람직하다. 이동 기기(500)는 인터넷(Internet) 상의 다른 컴퓨터 시스템과 통신하는 능력을 갖는 것이 바람직하다. 구비된 정확한 기능에 따라, 무선 기기는 예를 들어, 데이터 메시징 기기, 양 방향 페이저(pager), 무선 이-메일 기기, 데이터 메시징 기능을 갖는 셀룰러 전화, 무선 인터넷 기기, 또는 데이터 통신 기기라고 칭할 수도 있다.
이동 기기(500)에 대해 양방향 통신이 허용된 경우, 이동 기기는 수신기(512) 및 송신기(514)를 포함할 뿐만 아니라, 하나 이상의, 바람직하게는 내장된 또는 내부의 안테나 소자(516 및 518), 국소 발진기(LO : Local Oscillator)(513), 및 디지털 신호 처리기(DSP : Digital Signal Processor)(520)와 같은 프로세싱 모듈 등의 관련 부품도 포함하는 통신 서브시스템(511)으로 구성될 것이다. 통신 분야의 당업자가 이해할 수 있는 것과 같이, 통신 서브시스템(511)의 구체적인 설계는 그 기기가 동작하기로 되어 있는 통신 네트워크에 종속될 것이다.
네트워크 액세스 요건도 네트워크(519)의 종류에 따라 변동할 것이다. 일부 CDMA 통신에서는, 네트워크 액세스는 이동 기기(500)의 가입자 또는 사용자와 관련된다. CDMA 이동 기기는 CDMA 네트워크 상에서 동작하기 위하여 분리가능한 사용자 식별 모듈(RUIM : Removable User Identity Module) 또는 가입자 식별 모듈(SIM : Subscriber Identity Module) 카드를 요구할 수도 있다. SIM/RUIM 인터페이스(544)는 SIM/RUIM 카드가 디스켓 또는 PCMCIA 카드와 같이 삽입 또는 배출될 수 있는 카드-슬롯과 일반적으로 유사하다. SIM/RUIM 카드는 대략 64K의 메모리를 가질 수 있고, 다수의 키 구성(551)과, 식별 정보 및 가입자 관련 정보와 같은 다른 정보(553)를 유지할 수 있다.
요구된 네트워크 등록 또는 활성 절차가 종료되면, 이동 기기(500)는 네트워크(519)를 통해 통신 신호를 송수신할 수도 있다. 도 5에 예시된 것과 같이, 네트 워크(519)는 이동 기기와 통신하는 다수의 기지국으로 구성될 수 있다. 예를 들어, 하이브리드 CDMA 1x EVDO 시스템에서는, CDMA 기지국 및 EVDO 기지국이 이동 기기와 통신하고, 이동 기기는 이 둘과 동시에 접속되어 있다. EVDO 및 CDMA 1x 기지국은 상이한 페이징 슬롯을 이용하여 이동 기기와 통신한다.
통신 네트워크(519)를 통해 안테나(516)에 의해 수신된 신호는 수신기(512)에 입력되고, 이 수신기는 신호 증폭, 주파수 다운 변환, 필터링, 채널 선택 등과 같은 통상적인 수신기 기능과, 도 5에 도시된 예시적인 시스템에서는, 아날로그/디지털(A/D) 변환을 수행할 수도 있다. 수신된 신호의 A/D 변환은 DSP(520)에서 수행될 복조(demodulation) 및 역부호화(decoding)와 같은 더욱 복잡한 통신 기능을 가능하게 한다. 유사한 방식으로, 송신될 신호는 예를 들어, DSP(520)에 의해 변조(modulation) 및 부호화(encoding)를 포함하는 처리가 행해져서, 디지털/아날로그 변환, 주파수 업 변환, 필터링, 증폭, 및 안테나(518)를 거쳐 통신 네트워크(519)를 통한 전송을 위해 송신기(514)에 입력된다. DSP(520)는 통신 신호를 처리할 뿐만 아니라, 수신기 및 송신기 제어를 제공한다. 예를 들어, 수신기(512) 및 송신기(514)의 통신 신호에 적용되는 이득(gain)은 DSP(520)에서 실행되는 자동 이득 제어 알고리즘을 통해 적응적으로 제어될 수도 있다.
이동 기기(500)는 기기의 전체적인 동작을 제어하는 마이크로프로세서(538)를 포함하는 것이 바람직하다. 적어도 데이터 및 음성 통신을 포함하는 통신 기능은 통신 서브시스템(511)을 통해 수행된다. 마이크로프로세서(538)도 디스플레이(522), 플래시 메모리(524), 랜덤 액세스 메모리(RAM)(526), 보조 입력/출 력(I/O) 서브시스템(528), 직렬 포트(530), 하나 이상의 키보드 또는 키패드(532), 스피커(534), 마이크로폰(536), 단거리 통신 서브시스템과 같은 다른 통신 서브시스템(540), 및 전반적으로 "542"로 표시된 임의의 다른 기기 서브시스템과 같은 또 다른 기기 서브시스템과 상호작용한다. 직렬 포트(530)는 USB 포트, 또는 당업자에게 알려져 있는 다른 포트를 포함할 수 있다.
도 5에 도시된 서브시스템 중의 일부는 통신 관련 기능을 수행하는 반면, 다른 서브시스템은 "상주" 또는 온-디바이스(on-device) 기능을 제공할 수도 있다. 특히, 예를 들어, 키보드(532) 및 디스플레이(522)와 같은 일부 서브시스템은 통신 네트워크를 통한 전송을 위한 텍스트 메시지의 입력과 같은 통신-관련 기능과, 계산기 또는 업무 리스트와 같은 기기-상주 기능을 위해 이용될 수도 있다.
마이크로프로세서(538)에 의해 이용되는 오퍼레이팅 시스템 소프트웨어는 플래시 메모리(524)와 같은 영구적인 기억장치에 기억되는 것이 바람직하며, 이 영구적인 기억장치는 플래시 메모리 대신에 판독-전용 메모리(ROM) 또는 이와 유사한 기억소자(도시하지 않음)일 수도 있다. 당업자는 오퍼레이팅 시스템, 특정 기기 애플리케이션 또는 그 일부는 RAM(526)과 같은 휘발성 메모리에 임시로 로딩될 수도 있음을 이해할 것이다. 수신된 통신 신호도 RAM(526)에 기억될 수 있다.
도시된 것과 같이, 플래시 메모리(524)는 컴퓨터 프로그램(558) 및 프로그램 데이터 기억(550, 552, 554 및 556)의 양쪽을 위한 여러 영역으로 격리될 수 있다. 이러한 여러 기억 형태는 각 프로그램이 그 자신의 데이터 기억 요건을 위해 플래시 메모리(524)의 일부를 할당할 수 있음을 나타낸다. 그 오퍼레이팅 시스템 기능 과 함께, 마이크로프로세서(538)는 이동 기기 상에서 소프트웨어 애플리케이션의 실행을 가능하게 하는 것이 바람직하다. 예를 들어, 적어도 데이터 및 음성 통신 애플리케이션을 포함하는 기본 동작을 제어하는 소정의 애플리케이션 세트는 제조하는 도중에 이동 기기(500) 상에 일반적으로 설치될 것이다. 다른 애플리케이션은 그 이후에 또는 동적으로 설치될 수 있다.
바람직한 소프트웨어 애플리케이션은, 다음의 것으로 한정되지는 않지만, 이-메일, 달력 이벤트, 음성 메일, 약속, 및 업무 항목과 같은 이동 기기의 사용자와 관련된 데이터 항목을 조직 및 관리하기 위한 능력을 갖는 개인 정보 관리자(PIM : Personal Information Manager) 애플리케이션일 수도 있다. 당연히, PIM 데이터 항목의 기억을 용이하게 하기 위하여, 하나 이상의 메모리 기억장치가 이동 기기 상에서 이용 가능할 것이다. 이러한 PIM 애플리케이션은 무선 네트워크(519)를 통해 데이터 항목을 송수신하는 능력을 갖는 것이 바람직할 것이다. 바람직한 실시예에서, 이동 기기 사용자의 대응하는 데이터 항목이 기억되거나 호스트 컴퓨터 시스템과 관련됨에 따라, PIM 데이터 항목은 무선 네트워크(519)를 통해 끊김없이(seamless) 통합, 동기화 및 업데이트 된다. 또 다른 애플리케이션도 네트워크(519), 보조 I/O 서브시스템(528), 직렬 포트(530), 단거리 통신 서브시스템(540) 또는 임의의 다른 적당한 서브시스템(542)을 통해 이동 기기(500) 상에 로딩될 수도 있고, 마이크로프로세서(538)에 의한 실행을 위해, 사용자에 의해, RAM(526), 또는 바람직하게는, 비휘발성 기억장치(도시하지 않음)에 설치될 수도 있다. 애플리케이션 설치에 있어서의 이러한 유연성은 기기의 기능을 증가시키고, 증대된 온-디바이스 기능, 통신-관련 기능, 또는 이 두 기능을 제공할 수도 있다. 예를 들어, 보안 통신 애플리케이션은 전자적인 상업용 기능 및 다른 재정 거래가 이동 기기(500)를 이용하여 수행되도록 할 수도 있다.
데이터 통신 모드에서는, 텍스트 메시지 또는 웹 페이지 다운로드와 같은 수신된 신호가 통신 서브시스템(511)에 의해 처리되어 마이크로프로세서(538)에 입력될 것이며, 바람직하게는, 이 마이크로프로세서는 디스플레이(522), 또는 보조 I/O 기기(528)에 출력하기 위해 수신된 신호를 처리한다.
CKG(165) 및 CKG(265)와 동등할 수 있는 클라이언트 키 발생기(560)는 마이크로프로세서(538)에 키를 제공한다.
이동 기기(500)의 사용자는 키보드(532)를 이용하여, 예를 들어, 이메일 메시지와 같은 데이터 항목을 작성할 수도 있으며, 키보드는 디스플레이(522) 및 가능하다면 보조 I/O 기기(528)와 함께, 완전한 영숫자(alphanumeric) 키보드 또는 전화-방식 키패드인 것이 바람직하다. 다음으로, 이렇게 작성된 항목은 통신 서브시스템(511)을 거쳐 통신 네트워크를 통해 송신될 수도 있다.
음성 통신에 대해서는, 수신된 신호가 스피커(534)에 출력되는 것이 바람직하고, 전송을 위한 신호가 마이크(536)에 의해 발생된다는 점을 제외하고는, 이동 기기(500)의 전체적인 동작이 유사하다. 음성 메시지 레코딩 서브시스템과 같은 또 다른 음성 또는 오디오 I/O 서브시스템이 이동 기기(500) 상에서 구현될 수도 있다. 음성 또는 오디오 신호 출력이 주로 스피커(534)를 통해 달성되는 것이 바람직하지만, 예를 들어, 호출 상대방의 식별자, 음성 호출의 기간, 또는 다른 음성 호 출 관련 정보의 표시를 제공하기 위하여 디스플레이(522)가 이용될 수도 있다.
도 5의 직렬 포트(530)는 사용자의 데스크톱 컴퓨터(도시하지 않음)와의 동기화가 요청될 수도 있는 개인 휴대 단말(PDA : Personal Digital Assistant)-형 이동 기기에서 일반적으로 구현되지만, 이 직렬 포트는 선택적인 기기 구성요소이다. 이러한 포트(530)는 사용자가 외부 기기 또는 소프트웨어 애플리케이션을 통해 우선순위를 설정할 수 있도록 하고, 무선 통신 네트워크를 통해서가 아니라, 정보 또는 소프트웨어 다운로드를 이동 기기에 대해 제공함으로써, 이동 기기(500)의 능력을 확장할 것이다. 또 다른 다운로드 경로는 예를 들어, 직접적이고 이에 따라 믿을 수 있고 신뢰성 있는 접속을 통해 기기에 암호화 키를 로드(load)하기 위해 이용될 수도 있으므로, 이것에 의해, 보안성 있는 기기 통신을 가능하게 한다. 당업자가 이해할 수 있는 것과 같이, 직렬 포트(530)는 이동 기기를 컴퓨터에 접속하여 모뎀으로서 작동하도록 이용될 수도 있다.
단거리 통신 서브시스템과 같은 다른 통신 서브시스템(540)은 이동기기(500)와, 반드시 유사한 기기일 필요가 없는 상이한 시스템 또는 기기 사이에 통신을 제공할 수도 있는 또 다른 선택적인 구성요소이다. 예를 들어, 서브시스템(540)은 적외선 기기 및 관련 회로 및 구성요소, 또는 이와 유사하게 이용 가능하게 되는 시스템 및 기기와의 통신을 제공하기 위한 블루투스(Bluetooth™) 통신 모듈을 포함할 수도 있다.
본 명세서에서 설명한 실시예는 본 출원 기술의 구성요소에 대응하는 구성요소를 갖는 구조, 시스템 또는 방법의 예이다. 이렇게 기재된 설명은 당업자가 본 출원 기술의 구성요소에 유사하게 대응하는 대안적인 구성요소를 갖는 실시예를 제조 및 이용하도록 할 수도 있다. 따라서, 본 출원 기술의 의도된 범위는 본 명세서에서 설명한 것과 같이, 본 출원 기술과 상이하지 않은 다른 구조, 시스템 또는 방법을 포함하며, 본 명세서에서 설명한 것과 같이, 본 출원 기술과 비실제적으로 차이가 있는 다른 구조, 시스템 또는 방법도 포함한다.
도 1은 클라이언트 키 발생기 및 서버 키 발생기를 사용하는 단일 키 쌍 방법을 도시하는 예시적인 기기의 블록도이다.
도 2는 클라이언트 키 발생기 및 서버 키 발생기를 사용하는 이중 키 쌍 방법을 도시하는 예시적인 기기의 블록도이다.
도 3은 세션의 활성을 위한 클라이언트 및 서버 사이의 샘플 데이터 흐름에 대한 데이터 흐름도이다.
도 4는 세션의 활성을 위한 클라이언트 및 서버 사이의 샘플 데이터 흐름에 대한 데이터 흐름도이다.
도 5는 예시적인 이동 기기의 블록도이다.

Claims (28)

  1. 서버 키 발생기(125; 225)를 갖는 서버(110; 210)와, 클라이언트 기기 키 발생기(165; 265)를 갖는 클라이언트 기기(150; 250)를 구비한 시스템의 보안 레코드 프로토콜을 위한 방법으로서,
    상기 서버(110; 210) 및 상기 클라이언트 기기(150; 250)에 모두 알려져 있는 이동 사용자 증명서(credential)를 상기 서버 키 발생기(125; 225) 및 상기 클라이언트 기기 키 발생기(165; 265)로의 입력으로서 이용하는 단계;
    상기 이동 사용자 증명서 입력을 기초로 하나 또는 두 개의 공개 키-개인 키 쌍을 발생시키기 위해 상기 서버 키 발생기(125; 225)를 이용하는 단계;
    상기 이동 사용자 증명서 입력을 기초로 하나 또는 두 개의 공개 키-개인 키 쌍을 발생시키기 위해 상기 클라이언트 기기 키 발생기(165; 265)를 이용하는 단계; 및
    상기 클라이언트 기기(150; 250)로부터 상기 서버(110; 210)로 또는 상기 서버(110; 210)로부터 상기 클라이언트 기기(150; 250)로, 상기 개인 키들 중의 하나로 서명된 메시지를 송신하는 단계
    를 포함하고,
    상기 클라이언트 기기 키 발생기(165; 265) 및 상기 서버 키 발생기(125; 225)는, 동일한 입력에 대해 동일한 개인 키-공개 키 쌍을 생성하도록 구성되는 것인, 시스템의 보안 레코드 프로토콜을 위한 방법.
  2. 제 1 항에 있어서,
    상기 이동 사용자 증명서는 패스워드인, 시스템의 보안 레코드 프로토콜을 위한 방법.
  3. 제 1 항 또는 제 2 항에 있어서,
    상기 입력은, 보안 해시 함수를 이용하여 임시 필드(nonce)로 해싱된 패스워드인, 시스템의 보안 레코드 프로토콜을 위한 방법.
  4. 제 1 항 또는 제 2 항에 있어서,
    상기 입력은, 상기 클라이언트 기기(150; 250) 및 상기 서버(110; 210)에 의해 공유된 파라미터를 이용하여 변환된 패스워드인, 시스템의 보안 레코드 프로토콜을 위한 방법.
  5. 제 1 항 또는 제 2 항에 있어서,
    상기 서버 키 발생기(125; 225) 및 상기 클라이언트 기기 키 발생기(165; 265)는 하나의 공개 키-개인 키 쌍만을 발생시키는, 시스템의 보안 레코드 프로토콜을 위한 방법.
  6. 제 1 항 또는 제 2 항에 있어서,
    상기 서버 키 발생기(125; 225) 및 상기 클라이언트 기기 키 발생기(165; 265)는 클라이언트 기기 공개 키-개인 키 쌍과, 서버 공개 키-개인 키 쌍을 발생시키는, 시스템의 보안 레코드 프로토콜을 위한 방법.
  7. 제 6 항에 있어서,
    상기 서버 키 발생기(125; 225) 및 상기 클라이언트 기기 키 발생기(165; 265)는 상기 클라이언트 기기 개인 키 또는 상기 서버 개인 키를 은닉(hide)하는, 시스템의 보안 레코드 프로토콜을 위한 방법.
  8. 제 1 항 또는 제 2 항에 있어서,
    상기 송신 단계는, 상기 공개 키들 중의 하나로 상기 메시지를 암호화하는 것을 포함하는, 시스템의 보안 레코드 프로토콜을 위한 방법.
  9. 제 1 항 또는 제 2 항에 있어서,
    상기 클라이언트 기기 키 발생기(165; 265)를 이용하는 단계와 상기 서버 키 발생기(125; 225)를 이용하는 단계는, 동일한 공개-개인키 쌍을 발생시키기 위해 동일한 입력을 이용하는 것인, 시스템의 보안 레코드 프로토콜을 위한 방법.
  10. 제 1 항 또는 제 2 항에 있어서,
    상기 클라이언트 기기 키 발생기(165; 265)를 이용하는 단계와 상기 서버 키 발생기(125; 225)를 이용하는 단계 중 적어도 하나의 단계는, 세션 식별자를 입력에 통합(incorporate)시키는 것을 포함하는, 시스템의 보안 레코드 프로토콜을 위한 방법.
  11. 제 1 항 또는 제 2 항에 있어서,
    상기 클라이언트 기기 키 발생기(165; 265)를 이용하는 단계와 상기 서버 키 발생기(125; 225)를 이용하는 단계 중 적어도 하나의 단계는, 도메인 소유자에 의해 제공되는 파라미터를 상기 이동 사용자 증명서 입력과 결합하는 것을 포함하는, 시스템의 보안 레코드 프로토콜을 위한 방법.
  12. 제 11 항에 있어서,
    상기 도메인 소유자에 의해 제공되는 상기 파라미터는 상기 도메인 소유자의 개인 키를 이용하여 자동으로 발생되는, 시스템의 보안 레코드 프로토콜을 위한 방법.
  13. 제 1 항 또는 제 2 항에 있어서,
    상기 클라이언트 기기(150; 250)는 무선 기기인, 시스템의 보안 레코드 프로토콜을 위한 방법.
  14. 이동 사용자 증명서를 이용한 보안 레코드 프로토콜을 위한 시스템으로서,
    상기 시스템은 클라이언트 기기(150; 250)와 서버(110; 210)를 포함하고,
    상기 클라이언트 기기(150; 250)는,
    통신 서브시스템(152; 252);
    상기 통신 서브시스템(152; 252)과 통신하도록 구성된 프로세서(154; 254);
    상기 이동 사용자 증명서로부터 생성된 입력을 저장하도록 구성된 메모리(156; 256);
    상기 입력이 제공되고, 하나 또는 두 개의 공개 키-개인 키 쌍을 발생시키도록 구성된 클라이언트 기기 키 발생기(165; 265); 및
    상기 클라이언트 기기 키 발생기(165; 265)에 의해 발생된 상기 개인 키들 중의 하나로 메시지를 서명하도록 구성된 서명/검증 모듈(160; 260)을 가지고,
    상기 서버(110; 210)는,
    상기 클라이언트 기기 통신 서브시스템(152; 252)과 통신하도록 구성된 통신 서브시스템(112, 212)-서명된 상기 메시지는, 상기 클라이언트 기기의 통신 서브시스템(152; 252)과 상기 서버의 통신 서브시스템(112; 212)을 이용하여, 상기 클라이언트 기기(150; 250)로부터 상기 서버(110; 210)로 또는 상기 서버(110; 210)로부터 상기 클라이언트 기기(150; 250)로 송신됨-;
    상기 서버 통신 서브시스템(112; 212)과 통신하도록 구성된 프로세서(114; 214);
    상기 이동 사용자 증명서로부터 생성된 입력을 저장하도록 구성된 메모리(116; 216);
    상기 입력이 제공되고, 하나 또는 두 개의 공개 키-개인 키 쌍을 발생시키도록 구성된 서버 키 발생기(125; 225); 및
    상기 서버 키 발생기(125; 225)에 의해 발생된 상기 개인 키들 중의 하나로 메시지를 서명하도록 구성된 서명/검증 모듈(120; 220)를 가지며,
    상기 클라이언트 기기 키 발생기(165; 265) 및 상기 서버 키 발생기(125; 225)는 동일한 입력에 대해 동일한 개인 키-공개 키 쌍을 생성하도록 구성되는, 이동 사용자 증명서를 이용한 보안 레코드 프로토콜을 위한 시스템.
  15. 제 14 항에 있어서,
    상기 이동 사용자 증명서는 패스워드를 포함하는, 이동 사용자 증명서를 이용한 보안 레코드 프로토콜을 위한 시스템.
  16. 제 14 항 또는 제 15 항에 있어서,
    상기 서버(110; 210)에서의 입력 및 상기 클라이언트 기기(150; 250)에서의 입력은 임시 필드로 해싱(hashing)된 패스워드를 포함하는, 이동 사용자 증명서를 이용한 보안 레코드 프로토콜을 위한 시스템.
  17. 제 14 항 또는 제 15 항에 있어서,
    상기 서버(110; 210)에서의 입력 및 상기 클라이언트 기기(150; 250)에서의 입력은, 상기 클라이언트 기기(150; 250) 및 상기 서버(110; 210)에 의해 공유된 파라미터를 이용하여 변환된 패스워드를 포함하는, 이동 사용자 증명서를 이용한 보안 레코드 프로토콜을 위한 시스템.
  18. 제 14 항 또는 제 15 항에 있어서,
    상기 클라이언트 기기 키 발생기(165; 265) 및 상기 서버 키 발생기(125; 225)는 동일한 단일의 공개 키-개인 키 쌍을 발생시키도록 구성되는, 이동 사용자 증명서를 이용한 보안 레코드 프로토콜을 위한 시스템.
  19. 제 14 항 또는 제 15 항에 있어서,
    상기 클라이언트 기기 키 발생기(165; 265) 및 상기 서버 키 발생기(125; 225)는 클라이언트 공개 키-개인 키 쌍 및 서버 공개 키-개인 키 쌍을 모두 발생시키도록 구성되는, 이동 사용자 증명서를 이용한 보안 레코드 프로토콜을 위한 시스템.
  20. 제 19 항에 있어서,
    상기 클라이언트 기기 키 발생기(165; 265)는 상기 서버 개인 키를 은닉하고, 상기 서버 키 발생기(125; 225)는 상기 클라이언트 기기 개인 키를 은닉하는, 이동 사용자 증명서를 이용한 보안 레코드 프로토콜을 위한 시스템.
  21. 제 14 항 또는 제 15 항에 있어서,
    상기 클라이언트 기기 서명/검증 모듈(160; 260)은 또한 상기 공개 키들 중의 하나로 상기 메시지를 암호화하는, 이동 사용자 증명서를 이용한 보안 레코드 프로토콜을 위한 시스템.
  22. 제 14 항 또는 제 15 항에 있어서,
    상기 서버 서명/검증 모듈(120; 220)은 또한 상기 공개 키들 중의 하나로 상기 메시지를 암호화하는, 이동 사용자 증명서를 이용한 보안 레코드 프로토콜을 위한 시스템.
  23. 제 14 항 또는 제 15 항에 있어서,
    상기 입력은 세션 식별자를 포함하는, 이동 사용자 증명서를 이용한 보안 레코드 프로토콜을 위한 시스템.
  24. 제 14 항 또는 제 15 항에 있어서,
    상기 클라이언트 기기 키 발생기(165; 265) 및 상기 서버 키 발생기(125; 225)는, 상기 입력과 결합하여, 도메인 소유자에 의해 제공되는 파라미터를 이용하도록 구성되는, 이동 사용자 증명서를 이용한 보안 레코드 프로토콜을 위한 시스템.
  25. 제 24 항에 있어서,
    상기 도메인 소유자에 의해 제공되는 상기 파라미터는 상기 도메인 소유자의 개인 키를 이용하여 자동으로 발생되는, 이동 사용자 증명서를 이용한 보안 레코드 프로토콜을 위한 시스템.
  26. 제 14 항 또는 제 15 항에 있어서,
    상기 클라이언트 기기(150; 250)는 무선 기기인, 이동 사용자 증명서를 이용한 보안 레코드 프로토콜을 위한 시스템.
  27. 컴퓨팅 장치 또는 시스템이 제 1 항 또는 제 2 항에 기재된 방법을 수행하도록 하기 위해 상기 컴퓨팅 장치 또는 시스템의 프로세서에 의해 이용하기 위한 프로그램 코드를 저장하는 컴퓨터로 판독가능한 기록 매체.
  28. 제 14 항 또는 제 15 항에 기재된 시스템을 포함하며, 복수의 클라이언트 기기가 상기 시스템의 서버와 통신하도록 구성되는 통신 시스템.
KR1020070119179A 2006-11-22 2007-11-21 이동 사용자 증명서의 공유 정보를 이용한 보안 레코드프로토콜을 위한 시스템 및 방법 KR100965465B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP20060124600 EP1926278B1 (en) 2006-11-22 2006-11-22 System and method for secure record protocol using shared knowledge of mobile user credentials
EP06124600.5 2006-11-22

Publications (2)

Publication Number Publication Date
KR20080046593A KR20080046593A (ko) 2008-05-27
KR100965465B1 true KR100965465B1 (ko) 2010-06-25

Family

ID=37771053

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070119179A KR100965465B1 (ko) 2006-11-22 2007-11-21 이동 사용자 증명서의 공유 정보를 이용한 보안 레코드프로토콜을 위한 시스템 및 방법

Country Status (11)

Country Link
EP (1) EP1926278B1 (ko)
JP (1) JP2008131652A (ko)
KR (1) KR100965465B1 (ko)
CN (1) CN101188500A (ko)
AT (1) ATE427617T1 (ko)
AU (1) AU2007234575B2 (ko)
CA (1) CA2611100A1 (ko)
DE (1) DE602006006072D1 (ko)
MX (1) MX2007014601A (ko)
SG (1) SG143152A1 (ko)
TW (1) TW200833059A (ko)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7784089B2 (en) * 2004-10-29 2010-08-24 Qualcomm Incorporated System and method for providing a multi-credential authentication protocol
US8935528B2 (en) * 2008-06-26 2015-01-13 Microsoft Corporation Techniques for ensuring authentication and integrity of communications
CN101562525B (zh) * 2009-04-30 2012-06-27 飞天诚信科技股份有限公司 签名方法、设备及系统
CN101860546A (zh) * 2010-06-18 2010-10-13 杭州电子科技大学 一种改进ssl握手协议的方法
WO2014088130A1 (en) * 2012-12-05 2014-06-12 Inha-Industry Partnership Institute Proxy signature scheme
TWI499928B (zh) * 2014-05-09 2015-09-11 Univ Nat Chiao Tung 以協作平台上之版本修訂記錄進行資訊隱藏之方法
US10530576B2 (en) 2015-02-13 2020-01-07 Insyde Software Corp. System and method for computing device with improved firmware service security using credential-derived encryption key
LU100497B1 (fr) * 2017-10-27 2019-05-08 Kayan Yves Laurent Méthode et système d'inscription sécurisé de clés cryptographiques sur un support physique pour clés cryptographiques, et support physique produit
US10797868B2 (en) * 2018-05-31 2020-10-06 Irdeto B.V. Shared secret establishment
CN111817998B (zh) * 2019-04-10 2023-08-15 阿里巴巴集团控股有限公司 信息认证处理方法、装置、系统及电子设备
CN110650160B (zh) * 2019-10-29 2022-01-04 北京天威诚信电子商务服务有限公司 一种身份认证方法及系统
CN111641615A (zh) * 2020-05-20 2020-09-08 深圳市今天国际物流技术股份有限公司 一种基于证书的分布式身份验证方法及系统
CN112311884A (zh) * 2020-10-30 2021-02-02 奇安信科技集团股份有限公司 网络通信安全性的识别方法、装置、电子设备及存储介质
WO2022244151A1 (ja) * 2021-05-19 2022-11-24 日本電信電話株式会社 鍵交換システム、端末、サーバ、鍵交換方法、及びプログラム
WO2022244150A1 (ja) * 2021-05-19 2022-11-24 日本電信電話株式会社 鍵交換システム、端末、サーバ、鍵交換方法、及びプログラム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001013572A1 (en) * 1999-08-19 2001-02-22 Visto Corporation System and method for encrypting and decrypting files
US20020078351A1 (en) * 2000-10-13 2002-06-20 Garib Marco Aurelio Secret key Messaging

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3466204B2 (ja) * 1997-07-29 2003-11-10 ルーセント テクノロジーズ インコーポレーテッド 強化変換を使用する強化cmea用の方法および装置
US6233341B1 (en) * 1998-05-19 2001-05-15 Visto Corporation System and method for installing and using a temporary certificate at a remote site
JP3932685B2 (ja) * 1998-08-11 2007-06-20 富士ゼロックス株式会社 ネットワーク上で遠隔手続き呼び出しを実行するための方法、及び、遠隔手続き呼び出しを実行可能なネットワーク・システム
US20030093680A1 (en) * 2001-11-13 2003-05-15 International Business Machines Corporation Methods, apparatus and computer programs performing a mutual challenge-response authentication protocol using operating system capabilities
JP2004334860A (ja) * 2003-04-14 2004-11-25 Matsushita Electric Ind Co Ltd 機器認証システム、サーバ機器、クライアント機器
US20050154889A1 (en) * 2004-01-08 2005-07-14 International Business Machines Corporation Method and system for a flexible lightweight public-key-based mechanism for the GSS protocol
US7778422B2 (en) * 2004-02-27 2010-08-17 Microsoft Corporation Security associations for devices
CN1954577A (zh) * 2004-03-23 2007-04-25 皇家飞利浦电子股份有限公司 发送数据的匿名完整性
US7602910B2 (en) * 2004-11-17 2009-10-13 Microsoft Corporation Password protection

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001013572A1 (en) * 1999-08-19 2001-02-22 Visto Corporation System and method for encrypting and decrypting files
US20020078351A1 (en) * 2000-10-13 2002-06-20 Garib Marco Aurelio Secret key Messaging

Also Published As

Publication number Publication date
EP1926278A1 (en) 2008-05-28
ATE427617T1 (de) 2009-04-15
DE602006006072D1 (de) 2009-05-14
CN101188500A (zh) 2008-05-28
EP1926278B1 (en) 2009-04-01
KR20080046593A (ko) 2008-05-27
CA2611100A1 (en) 2008-05-22
JP2008131652A (ja) 2008-06-05
MX2007014601A (es) 2009-02-19
AU2007234575B2 (en) 2009-08-20
SG143152A1 (en) 2008-06-27
TW200833059A (en) 2008-08-01
AU2007234575A1 (en) 2008-06-05

Similar Documents

Publication Publication Date Title
KR100965465B1 (ko) 이동 사용자 증명서의 공유 정보를 이용한 보안 레코드프로토콜을 위한 시스템 및 방법
US9455830B2 (en) Method for securing credentials in a remote repository
US7603556B2 (en) Challenge response-based device authentication system and method
EP1394982B1 (en) Methods and apparatus for secure data communication links
EP2587715B1 (en) Assisted certificate enrollment
KR100960064B1 (ko) 클라이언트 자격증명서 기반의 보안 세션 인증 방법 및장치
KR20080065964A (ko) 무선 네트워크들에서 구조들을 안전하게 하기 위한 장치 및방법
JP2004180280A (ja) 適応性のある委任のための方法とシステム
CA2829233C (en) Method and system for hypertext transfer protocol digest authentication
CA2813765C (en) A method for securing credentials in a remote repository
US20080118059A1 (en) System and method for secure record protocol using shared knowledge of mobile user credentials

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
FPAY Annual fee payment

Payment date: 20130522

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140528

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20150527

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20160602

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20170531

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20180530

Year of fee payment: 9