KR19990072733A - 데이터네트워크상의박형의클라이언트장치와서버장치사이에암호-발효프로세스를실행시키기위한방법및장치 - Google Patents

데이터네트워크상의박형의클라이언트장치와서버장치사이에암호-발효프로세스를실행시키기위한방법및장치 Download PDF

Info

Publication number
KR19990072733A
KR19990072733A KR1019990005406A KR19990005406A KR19990072733A KR 19990072733 A KR19990072733 A KR 19990072733A KR 1019990005406 A KR1019990005406 A KR 1019990005406A KR 19990005406 A KR19990005406 A KR 19990005406A KR 19990072733 A KR19990072733 A KR 19990072733A
Authority
KR
South Korea
Prior art keywords
server
client
key
secret key
client device
Prior art date
Application number
KR1019990005406A
Other languages
English (en)
Inventor
리아오 행큉
에프. 킹 피터
Original Assignee
리아오 행큉
에프. 킹 피터
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 리아오 행큉, 에프. 킹 피터 filed Critical 리아오 행큉
Publication of KR19990072733A publication Critical patent/KR19990072733A/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • H04L9/0841Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • 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/34Encoding or coding, e.g. Huffman coding or error correction
    • 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/76Proxy, i.e. using intermediary entity to perform cryptographic operations
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Communication Control (AREA)

Abstract

불확실한 통신링크에 의해 접속된 2개의 장치들 사이에 암호화된 통신 프로토콜을 확립하기 위해 암호-발효 프로세스가 필요하다. 본 발명은, 불확실한 데이터 네트워크상의 박형장치와 서버 컴퓨터 사이에서 2개의 통신 당사자들에 식별 비밀키를 발생시키는 방법을 제공한다. 박형 장치는 일반적으로 한정된 컴퓨팅 파워 및 작업메모리를 지니며, 서버컴퓨터는 다수의 그같은 박형 장치들과 통신할 수 있다. 양측의 비밀키의 보안성을 확보하고 네트워크에서의 교통량을 감소시키기 위해, 단지 한쌍의 공중값들만이 데이터 네트워크상의 서버컴퓨터와 박형장치사이에서 교환된다. 각측은, 디피-헤르만 키 승인 프로토콜과 같이 공통적으로 사용된 키 승인 프로토콜에 따라 수신된 상대방의 공중값과 함께 자체발생 개인키로부터 자신의 비밀키를 발생시킨다. 발생된 비밀키들이 양측에서 일치하는 것을 보장하도록, 2개의 발생된 비밀키들중 하나로 암호화된 메시지를 교환하는 조회프로세스가 후속된다. 비밀키들은, 암화화된 메시지가 다른 비밀키에 의해 성공적으로 해독 될 때 일치되거나 또는 비밀이 유지된다. 네트워크 교통량을 감소시키기 위해, 조회 프로세스가 박형 장치로부터의 세션신청으로 핏기백되어 서버 컴퓨터와의 보안되고 인증된 통신 세션을 확립한다. 본 발명은, 현저한 컴퓨팅 파워 및 작업메모리를 필요로 함이 없이 서버컴퓨터와 각각의 박형 클라이언트들간의 비밀키들의 자동전달을 이루게 할 수 있다.

Description

데이터 네트워크상의 박형의 클라이언트 장치와 서버장치사이에 암호-발효 프로세스를 실행시키기 위한 방법 및 장치{Method and Apparatus for Conducting Crypto-Ignition Processes between Thin Client Devices and Server Devices over Data Network}
본 발명은 클라이언트 컴퓨터와 서버컴퓨터들간의 보안되고 인증된 데이터 통신에 관한 것으로서, 보다 상세하게는 무선 네트워크 또는 인터넷으로 될 수 있는 데이터 네트워크상의 양방향 대화식 통신 장치들과 서버 컴퓨터들사이에 암호-발효 프로세스(crypto-ignition processes)를 실행시키기 위한 방법 및 장치에 관한 것이며; 여기서, 이동성 장치, 셀룰라폰, 지상선 전화 및 인터넷 적용 콘트롤러들과 같은 양방향 대화식 통신장치들은 컴퓨팅 파워, 메모리 및 그래픽 디스플레이 용량과 같이 일반적으로 제한된 컴퓨팅자원을 지닌다.
인터넷 상에서의 전자 상거래가 급격히 성장하고 있다. 전자 상거래는 광범위한 비즈니스 지원 서비스, 상품, 제품, 주문 상품 및 맞춤 상품 및 서비스; 주문 및 논리 지원 시스템; 결제 지원 시스템; 및 관리정보 및 통계 보고 시스템을 모두 글로벌 인터넷을 통해 함께 이끌어내도록 고안된 통합개념이다. 그러나, 잘 알려진 것과 같이 인터넷은 전세계의 컴퓨터와 전자 장비를 연결하는 널리 개방된 공중의 국제적 네트워크이다. 인터넷상에서 비즈니스 거래를 하기 위해, 회사 및 개인들은 그들간의 비밀통신을 관리 하기위해 효율적이고, 신뢰할 수 있으며 보안된 방식을 지녀야 한다. 대부분 지상선 네트워크에 잊는 컴퓨터장치들에 대해 인터넷을 통해 이동하는 지적정보를 보호하기 위한 많은 노력들이 진행되고 있다.
진행중인 노력들 중 하나로서 클라이언트 컴퓨터와 서버 컴퓨터간의 사적 통신 세션을 보안하기 위한 암호법(cryptographic) 기술을 사용하는 것이 있다. 암호법 기술은 불확실한 통신채널을 통해 정보를 전송하는 방식을 제공하는 것으로서, 이 방식은 정보의 내용을 통신채널상에 침투한 어떤사람에게 나타남이 없이 전송할 수 있다. 암호법 기술에서의 암호화 프로세스를 사용하면, 제 1의 당사자는 전송중의 데이터 내용을 인증되지 않은 제 3의 당사자가 액세스 당하는 것을 방지할 수 있는 반면, 의도된 당사자는 상응하는 해독 프로세스를 사용하여 그 데이터를 판독할 수 있다. 암호화는, 데이터 세트를 타인에 의한 판독불가능한 "암호화된"형태로 변환시키는 프로세스이다. 이것의 목적은, 암호화된 데이터를 액세스하려하는 침입자들과 같은 의도되지 않은 수령자에 대해 실제적인 정보 내용을 은닉함으로써 비밀을 보장하기 위한 것이다. 암호해독은 암호화의 역 프로세스이다. 암호 해독은, 실제적인 내용들이 액세스될 수 있도록 암호화된 데이터를 어떠한 이해가능한 형태로 역변환 시키는 프로세스이다. 암화화 및 암호해독 모두는 일반적으로 "키(key)"로 지칭된 어떤 비밀 정보의 사용을 필요로 한다. 암호화 메카니즘의 형태에 따라, 동일키는 암호화 및 암호해독 모두에 대해 사용되어야 하는 반면, 다른 메카니즘에 대해서는 암호화 및 암호해독에 사용된 키들과는 다른 키들이 사용되어야 한다.
통상의 암호화 기술들은 동일한 비밀키를 알아내어 사용하는 메시지의 송신자 및 수신자를 기초로 하는 바; 송신자는 메시지를 암호화하는데 비밀키를 사용하며, 수신자는 종종 비밀키로 지칭되는 동일키를 사용하여 그 메시지를 해독한다. 따라서, 통신채널의 보안을 유지하기 위해, 송신자 또는 수신자가 아닌 다른 사용자들은 비밀키에 대한 액세스가 허용되지 않는다. 이 방법은 비밀 키 또는 대칭형 개인-키 암호법으로 공지되어 있다. 개인-키 암호법은 송신자와 수신자 사이에서 개인키를 전송시키기 위한 보안채널을 필요로 하는 것으로 주목된다.
공중-키 암호법으로 공지된 최근의 신개념의 암호화에는 2개의 다른 키들이 사용된다. 2개의 키가 사용되는 공중-키 암호법 시스템에 있어서, 각각의 사용자는 2개의 키를 지닌다. 이중 하나는 공중화된 공중키이며 다른 하나는 비밀이 유지되는 개인키이다. 메시지를 공중키 수령 사용자에 대해 암호화하기위해, 송신자는 수령자의 공중키를 사용하여 메시지를 암호화한다. 이후 수령자는 그의 개인키를 사용하여 메시지를 해독한다. 따라서, 비밀키를 보안 채널을 통해 전달하지 않아도 보안통신을 시작할 수 있다.
따라서, 공중 키 암호법의 주요 장점은 개인키들이 어떤사람에게 보내지거나 노출될 필요가 없다는 것이다. 역으로 비밀-키 암호법에 있어서는, 비밀키들 또는 그들을 발생시키기 위한 정보가 (수동으로 또는 보안 통신채널을 통해)전달되어야 한다. 그러나, 암호화를 위한 공중-키 암호법을 사용하는 하나의 공지된 단점은 암호화 속도에 있다. 특히, 대중적인 개인키 암호화방법이 최근의 어떤 유용한 공중-키 암호화 방법보다 현저히 빠르다는 점에 있다. 따라서 암호화 속도는, 암호법 기술이 제한된 컴퓨팅 자원에 의해 박형 클라이언트 장치에 영향을 미치는 보안통신 세션에 사용될 때 공중-키 암호법 대 개인-키 암호법의 비교시 매우 중요한 인자로 된다. 언급된 박형 클라이언트 장치는 이동성 컴퓨팅 장치, 셀룰라 폰, 지상선 폰 또는 인터넷 적용 콘트롤러와 같은 양방향 대화식 통신장치로 고려된다. 박형 클라이언트 장치는 일반적으로 가능한한 경제성 및 휴대성을 제고하기 위해,소형이고, 경량이며, 저전력소모형으로 설계된다. 그같은 박형 클라이언트 제품들은 종종 매우 제한된 컴퓨팅 자원을 결과로 하는 바, 예컨대, 그것의 컴퓨팅 파워는 통상의 데스크탑 또는 휴대용컴퓨터에 제공된 것의 거의 1% 미만이며, 그것이 메모리 용량은 250킬로바이트(kilobytes) 미만으로 된다. 부가적으로, 박형 클라이언트와 지상선 서버 컴퓨터간의 통신은 종종 작은 대역폭을 특징으로 하는 무선 네트워크를 통하게 되며, 그것의 통과시간이 크게 측정된다. 그러므로 개인-키 암호법은 종종 속도 조건을 충족하도록 클라이언트들과 지상선 컴퓨터들간의 통신세션에 사용된다.
2개의 신뢰된 통신장치들간의 개인 암호화 키들의 분포는 암호-발효 프로세스로 칭해진다. 개인 암호화 키들을 비밀방식으로 수동 전달하는 것이 암호-발효 방법들 중 하나로서 사용될 수 있지만, 하나의 지상선 서버 컴퓨터와 통신하는 박형 클라인트들의 숫자가 수백 또는 수천일 때는 가격이 현저히 증가될 수 있다. 더욱이, 이와 같은 시도에 관련된 사람의 오류들 및 신뢰는 실제적인 사용시에는 실행불가능하게 한다. 그러므로, 지상선 서버컴퓨터와 각각의 박형 클라이언트들간의 개인키들의 자동 전달을 허용하는 일반적인 암호-발효 프로세스가 크게 요구되고 있다.
키 승인 프로토콜들이 2명의 통신당사자들에게는 그들 각각의 당사자의 비밀키들을 승인하는데 사용될 수는 있지만, 그것의 인증은 제공되지 않는다. 키 승인 프로토콜들의 사용은, 승인된 키들이 어떤 방식으로든 공격받지 않게됨을 보장하지 못한다. 그같은 구조에서의 인증의 부족은, 그같은 승인된 키들로 기밀을 장기간 유지시킬 수 없게 한다. 적소에서 인증을 지니기 위한 그같은 구조들을 변경하는 해결책이 있을 수 있지만 이는 일반적으로 통신장치내에 미리 로드되어야 하는 어떤 비밀정보를 필요로 하게 됨으로써, 박형 클라이언트 장치와 서버 컴퓨터간에 더많은 트랜잭션을 필요로 하게 된다. 부가적인 트랜잭션들은 또한 박형장치에 컴퓨팅 파워 및 메모리의 현저한 증가를 요구하게 되며 서버 컴퓨터로부터 도착되는 정보의 잠재기간이 증가하게 됨에 따라 바람직하지 못하다.
따라서, 본 발명의 목적은 데이터 네트워크상에서 양방향 대화식 통신 장치들과 서버 컴퓨터들사이에 암호-발효 프로세스(crypto-ignition processes)를 실행시키기 위한 방법 및 장치를 제공하는 데 있으며, 특히, 최소의 컴퓨팅 파워 및 메모리를 사용하여 2개의 통신장치들간의 암호-발효 프로세스를 실행시키기 위한 방법 및 장치를 제공하는데 있다.
도 1은 본 발명이 실행될 수 있는 이동성 데이터 네트워크의 개략도.
도 2는 본 발명의 콤파일되어 링크된 프로세스를 포함하는 이동성 장치의 전형적인 실시예를 보여주는 실행도.
도 3은 본 발명의 구성도.
도 4는 암호-발효 프로세스가 클라이언트 장치와 서버 장치 사이에서 실행될 때 한쌍의 각각의 UDP 인터페이스를 통해 클라이언트 모듈과 서버 모듈간의 상호작용을 보요주는 블록도.
도 5a 및 5b는 클라이언트 장치와 서버장치사이에서 실행되는 암호-발효 프로세스를 나타내는 데이터 프로세스.
♣ 도면의 주요부분에 대한 부호의 설명♣
100: 데이터 네트워크 102: 공중망
112: 웹서버 124: 클라이언트 모듈
130: 디스플레이 드라이버 302,304,306: 이동성 장치
320: 서버모듈 324,336: UDP 인터 페이스
325: 서명 326: 가입자 ID
328: 데이터베이스 서버 332: 클라이언트 모듈
370: 서버 장치
이 같은 본 발명의 목적, 특징, 개념 및 장점들은 후술 설명, 첨부된 청구범위 및 첨부도면을 참조하면 더 쉽게 이해될 것이다.
후술되는 본 발명의 상세한 설명에 있어서, 다수의 특정 세부항목들이 본 발명의 충분한 이해를 위해 설명되어 있다. 그러나, 본 기술분야의 당업자들이라면 이같은 특정의 상세한 설명없이도 실행할 수 있음은 자명한 것으로 이해된다. 다른 실시 경우에 있어서, 널리 공지된 방법, 절차, 구성요소, 및 회로들은 본 발명의 사상을 불명료하게 하는 것을 회피하기 위해 상세하게 설명되지 않았다.
다음의 본 발명의 상세한 설명은 절차, 단계, 논리블록, 프로세싱, 및 네트워크에 연결된 데이터 처리장치와 공통점이 있는 다른 부호표시들의 항목으로 표시된다. 이들 프로세스에 대한 설명 및 기술은, 본 기술분야의 당업자 또는 경험자가 그 업무의 내용을 이 분야의 다른 당업자에게 가장 효과적으로 전달하도록 사용되는 수단이다. 본 발명은 데이터 네트워크상에서 양방향 대화 통신장치와 서버장치간의 암호-발효 프로세스를 관리하기 위한 방법 및 장치이다. 상세히 후술될 구성에 따른 방법은 원하는 결과에 이르는 프로세스 또는 단계들의 일관된 시이퀀스이다. 이들단계 또는 프로세스들은 물리량의 물리적 조작을 필요로 하는 것들이다. 대체로 꼭 필요한 것은 아니지만 이들 물리량들은 저장되고, 전송되고, 결합되고, 비교되고, 표시되며 또한 달리 조작될 수 있는 전기적 신호의 형태를 취할 수 있다. 이는 때때로, 대체로 통상적인 사용을 위해 이들 신호들을 비트(bit), 값(values), 엘레먼트(elements), 심벌(symbols), 연산(operations), 메시지(messages), 항(terms), 수(numbers) 등으로 나타내기가 편리함을 입증하는 것이다. 이와 같은 모든 유사한 항목들은 적절한 물리량에 연관되며 단지 이같은 물리량에 적용된 통상의 라벨(labels)임을 유념해야 할 것이다. 후술설명으로부터 명백하게 나타난 것과 다른 상태로 명세된 것 외에는, 본 발명의 전체를 통해 "프로세싱", "컴퓨팅", "조회", "디스플레잉" 등과 같은 용어들을 이용하는 논의들은, 컴퓨팅 장치의 레지스터 또는 메모리내의 물리적양으로 표시되는 데이터를 컴퓨팅 장치 또는 다른 전자 장치내의 물리량으로 유사하게 표시된 다른 데이터로 조절 및 전송하는 컴퓨팅 장치의 동작 및 프로세스를 지칭하는 것으로 이해된다.
지수형 키 승인로 칭해지는 디피-헤르만 키 승인 프로토콜(Diffie-Hellman key agreement protocol)은 2명의 사용자들로 하여금 어떠한 사전의 비밀없이 불확실한 매체들상에서 비밀키를 교환하게 한다. 프로토콜은 2개의 시스템 매개변수p 및 g를 갖는다. p 및 g는 모두 공중 매개 변수이며 시스템에서 모든 사용자들에 의해 사용될 수 있다. 매개변수(p)는 소수(prime number)이며, 매개변수 g(통상 발생기(generator)로 칭함)는 p 보다 작은 정수(integer)로서, 소수(p)를 매개로하여 어떤 횟수로 배가될 때 1내지 p-1까지 모든 요소들을 발생시킬 수 있다.
당사자 A와 당사자 B가 디피-헤르만 키 승인 프로토콜을 사용하여 공유 비밀키(shared secret key)를 승인하기를 원한다고 가정한다. 그들은 다음과 같이 처리된다. 즉, 먼저 당사자 A는 불특정 개인값(a)을 발생시키고 당사자 B는 불특정 개인 값(b)을 발생시킨다. 이후 그들은 매개변수(p,g) 및 그들의 개인값을 사용하여 그들의 공중값을 획득한다. 당사자 A의 공중값은 gamod p 이며 당사자 B의 공중값은 gbmod p이다. 그들은 그들의 공중값들을 교환한다. 최종적으로, 당사자 A는 kab=(gb)amod p를 연산하며, 당사자 B는 kba=(ga)bmod p를 연산한다. kab=kba=k이기 때문에 당사자 A 및 당사자 B는 할당된 비밀키 k를 지닌다. 이 프로토콜은 그것의 보안을 위해 이산 로가리즘 문제(discrete logarithm problem)에 따른다. 이는, 소수(p)가 충분히 클 때 2개의 공중 값 gamod p 및 gbmod p로 가정하면 공유 비밀 키 k=gabmod p를 계산하기가 연산적으로 불가능한 것으로 추측된다.
디피-헤르만 키 교환은 중간 침입자에게 공격받기 쉽다. 이와 같은 공격에 있어서, 적대적인 당사자 X가 당사자 A의 공중값을 탈취하여 그 자신의 공중값을 당사자 B에게 송신한다. 당사자 B가 그 공중값을 전송하면, 당사자 X는 그것을 자신의 것으로 대용하여 그것을 당사자 A에게 송신한다. 따라서 당사자 X와 당사자 A는 하나의 공유 키를 인정하고 당사자 X와 당사자 B는 다른 하나의 공유 키를 인정한다. 이와같은 교환후에, 당사자 X는 당사자 A 또는 당사자 B에 의해 송신된 어떤 메시지를 간단하게 해독하며, 이어서 적절한 키로 다시 암호화하여 그들을 정확한 당사자에게 전송하기전에 그들을 판독할 뿐 아니라 변형시킬 수 있다. 이같은 취약성은 디피-헤르만 키 교환이 관련자들을 인증하지 못한다는 사실에 기인 한다.
중간 침입자의 공격을 극복하기 위해, 인증된 디피-헤르만 키 승인이 소개되어 있다. 디지탈 서명들의 사용에 의하여 두 당사자들로 하여금 그들 자신들을 상호 인증하게 함으로써 면역이 달성된다. 이의 기본사상은 다음과 같다.
두 당사자 A와 B는 프로토콜을 교환하기 전에, 각각 공중/개인 캐쌍 및 공중키에 대한 증명서를 소유한다. 교환 프로토콜 동안, 당사자 A는 그녀의 개인키를 사용하여 어떤 메시지상의 서명을 평가하여 당사자 B에게 공중 값 gamode p를 그의 서명 및 그녀의 공중-키 증명서와 함께 송신한다. 당사자 B는 또한 그의 개인키를 이용하여 서명을 평가하여 당사자 A에게 공중 값 gamod p를 그녀의 서명 및 그녀의 공중 키 증명서와 함께 송신한다. 비록 당사자 X가 여전히 당사자 A와 당사자 B사이의 메시지를 탈취할 수도 있지만, 그 당사자 X는 당사자 A의 개인키 및 당사자 B의 개인키 없이는 서명을 위조할 수 없다. 따라서, 향상된 프로토콜이 중간 침입자의 공격을 좌절시키는 것이다.
본 발명의 원리에 따르면, 확인된 비밀 키를 두 통신당사자들에 전달하기 위한 암호-발효 프로세스가 데이터 네트워크상에서 박형 클라이언트 장치와 서버 컴퓨터사이에서 실행 된다. 박형 클라이언트 장치는 일반적으로 한정된 컴퓨팅 파워 및 한정된 작업메모리를 지닌다. 서버 컴퓨터는 다수의 그같은 박형 클라이언트 장치들과 통신할 수 있다. 양 측에서 비밀키의 보안을 보장하고 네트워크에서의 교통량을 감소시키기 위해, 단지 한쌍의 공중 값들만이 데이터 네트워크상의 서버 컴퓨터와 박형 클라이언트 사이에서 교환될 뿐이다. 각각의 당사자측은, 디피-헤르만 키 승인 프로토콜과 같은 통상적으로 사용된 키 승인 프로토콜에 따라 수신된 상대방의 공중값과 함께 자체 발생된 개인값으로부터 자신의 비밀키를 발생시킨다. 발생된 비밀키들이 양측에서 확인되는 것을 보장하기 위해, 2개의 발생된 비밀키들로부터 발생된 서명의 수동조회 와 발생된 클라이언트측 비밀키에 의해 암호화된 메시지를 교환시키는 조회 프로세스가 후속된다. 그 비밀키들은 암화화된 메시지가 다른 비밀키에 의해 성공적으로 해독될때는 확인을 위해 또한 서명들이 조회될 때는 보안을 위해 시험된다. 네트워크 교통량을 감소시키기 위해, 조회 프로세스는 서버컴퓨터와 보안되고 인증된 통신 세션을 확립하도록 박형장치로부터의 세션 신청으로 피기백(piggyback)된다. 본 발명은, 현저한 컴퓨팅 파워 및 작업메모리 없이도 서버컴퓨터와 각각의 박형 클라이언트간의 비밀키들의 자동전달을 이룰 수 있다.
도면들을 참조하면, 여러도면 전체에서 동일부품들은 동일참조번호로 지칭된다. 도1은 본 발명이 실행될 수 있는 데이터 네트워크(100)를 개략적으로 보여준다. 데이터 네트워크(100)는 일반적으로 무선 네트워크로 지칭되는 공중망(airnet)(102)과 지상선 네트워크라 칭하는 지상망(landnet)(104)을 포함하며, 이들 각각은 그들을 통한 데이터 전송용 통신매체 역할을 한다. 데이터 전송이 공중을 통하는 공중망(102)은 때때로 캐리어 네트워크(carrier network)로 지칭될 것인 바, 이는 각각의 공중망이 예컨대 AT&T 및 GTE와 같은 캐리어에 의해 제어되고 작동되기 때문이다. 각각의 캐리어는 공중망(102)에대해 CDPD, CDMA, GSM 및 TDMA와 같은 통신 체계를 지닐 수 있다. 본원에서 호환적으로 사용되는 지상망(104)은 글로벌 인터넷, 인트라넷 또는 다른 사설 네트워크로 될 수 있다. 안테나(108)를 통해 공중망(102)과 통신가능한 이동성 장치, 셀룰라폰, 지상선 전화 또는 인터넷 적용 콘트롤러로 될 수 있는 이동성 장치들중 하나가 이동성 장치(106)로 지칭된다. 일반적으로 공중망(102)은, 도1에서 단지 하나의 이동성 장치(106)로만 도시된 바와 같은 복수개의 양방향 통신장치와 동시에 통신하는 것으로 이해된다. 유사하게 인터넷(104)에는 복수개의 데스크탑 PC(110) 및 복수개의 서버컴퓨터(112)가 연결되지만, 도1에는 단지 각각 하나씩만 도시되어 있다. PC(110)는, 도면에 도시된 바와 같이, NEC 테크놀로지 아이엔씨의 개인용 컴퓨터 SPL 300으로 될 수 있다. PC(100)는 하이퍼텍스트 트랜스포트 프로토콜(HTTP)을 사용하여 인터넷(104)상의 정보를 액세스하도록 넷스케이프 내버게이터(Netscape Navigator) 또는 마이크로소프트 인터넷 익스플로러(Microsoft Internet Explorer)와 같은 하이퍼텍스트 마크업언어(HTML) 웹 브라우저를 실행할 수 있다.예컨대 PC(110)는 SUN 마이크로시스템스 아이엔씨의 워크스테이션으로 될 수 있는 웹 서버(112)에 저장된 HTML 정보를 액세스할 수 있다. 본 기술분야의 당업자들은, PC(110)가 웹 서버 역할을 하도록 내부에 액세스가능한 정보를 저장할 수 있는 것으로 이해할 것이다.
인터넷(104)과 공중망(102)사이에는, 그들 상호간의 데이터 통신을 실행하는 프록시 서버 컴퓨터(114)가 제공된다. 링크 서버 또는 게이트웨이(gateway) 서버 컴퓨터로 지칭되는 링크 서버 컴퓨터(114)는 맵핑 또는 트랜잭션기능을 실행하는 개인용 컴퓨터 또는 워크스테이션으로 될 수 있다. 예컨대, 프록시 서버 컴퓨터(114)는 하나의 프로토콜로부터 다른 하나의 프로토콜까지 정보를 맵핑할 수 있음으로써, 이동성 장치(106)는 웹 서버(112) 또는 PC(110)들중 어느 하나와 각각 통신상태로 될 수 있다.
인터넷(104)상에 사용된 하나의 통신 프로토콜은 널리 공지된 하이퍼텍스트 트랜스퍼 프로토콜(HyperText Transfer Protocol)(HTTP) 또는 HTTP의 보안 버전인 HTTPS이다. HTTP는 잘 공지된 트랜스포트 콘트롤 프로토콜(TCP)을 사용하여 하이퍼 텍스트 마크업 언어(HTML)정보를 실행하기 위한 접속을 확립한다. 예컨대, 프록시 서버(114)내의 HTML웹 브라우저는 하이퍼 텍스트 웹 서버(112)에 저장된 HTML을 액세스 할 수 있다. 도 1의 실시예에 있어서, 공중망(102)을 통한 이동성 장치(106)와 프록시 서버(114)간의 통신 프로토콜은 핸드헬드 디바이스 트랜스포트 프로토콜(Handheld Device Transport Protocol)(HDTP) 또는 사용자 데이터그램 프로토콜(User Datagram Protocol)을 구동시키는 것이 바람직한 시큐어 업링크 게이트웨이 프로토콜(Secure Uplink Gateway Protocol)(SUGP)이다. HDTP는 이동성 장치(106)의 작은 웹 브라우저의 프록시서버(114)에 대한 접속을 제어한다. 도 1의 실시예에 있어서, 이동성 장치(106)는 핸드헬드 디바이스 마크업 언어(Handheld Device Markup Language)(HDML) 브라우저로 될 수 있다. 이 핸드헬드 디바이스 마크업 언어(HDML)는 태그 기초형 문서 언어이며 디스플레이 장치상에 정보가 어떻게 디스플레이 되는가를 설명한 명령어 세트 또는 명령문을 포함하는 HTML과 유사하다. HDML은 정보가 이동성 장치(106)의 작은 스크린상에 어떻게 디스플레이되는가를 "카드"에 설명하기위해 지정된 특정 마크업 언어이다. 정상적으로, 다수의 카드가 데크(deck)내로 집합되는바, 그 데크는 이동성 장치(106)와 프록시 서버(114)간에 교환될 수 있는 최소 단위의 HDML정보이다. HDML 카드들 또는 데크에 대한 더 상세한 설명이 다음의 어느 곳이든 적절히 기술될 것이다. "HDTP 명세"라 명칭되는 HDTP의 명세들 및 "HDML 2.0언어 레퍼런스(Language Reference)"라 명칭되는 HDML이 전체적으로 본원에 참조를 위해 인용 및 포함되어 있다.
HDTP는 HTTP와 유사하지만 그것의 오버헤드를 초래함이 없는 세션-레벨 프로토콜이며 현저히 작은 컴퓨팅 파워 및 메모리를 갖는 박형 장치에 사용하기 위해 최대로 최적화된다. 또한, 본 기술분야의 당업자들이라면, 사용자 데이터그램 프로토콜(User Datagram Protocol)(UDP)은 클라이언트와 서버사이에서 정보가 교환될 수 있기전에 그들 사이에 접속을 확립할 필요가 없는바, 이는 클라이언트와 서버간의 세션발생동안 다수의 패킷을 교환할 필요가 회피된다. 트랜잭션동안에 극소수의 패킷들을 교환하는 것은, 지상선 장치와 효율적으로 상호 작용하도록 매우 제한된 컴퓨팅 파워 및 메모리를 지닌 이동성 장치에 대한 바람직한 특징들중 하나이다.
도 2를 참조하면, 그 도면에는, 본 발명을 실행하기 위해 도 1에 사용될 수 있는 대표적인 GSM 디지탈 이동성 폰(120)의 블록도이다. 이동성 폰(120)내의 각각의 하드웨어 구성요소들은 본 기술분야의 당업자에게 공지되어 있으므로 본원에서는 상세히 설명되지 않았다. 스크린(116) 및 키패드(118)에 대해서, 폰(120)의 사용자는 데이터 네트워크상의 서버장치(도 2에는 도시되지 않았음)와 대화식으로 통신할 수 있다. 본 발명의 하나의 실시예에 따르면, 본 발명의 콤파일되어 링크된 프로세스들이 클라이언트 모듈(124) 및 지원모듈(126)로서 롬(ROM)(122)에 저장된다. 키패드(118)를 이용하여 예정된 키 시이퀀스를 작동시키면, 물리적 층 프로세서 또는 마이크로콘트롤러(128)가 롬(122)내의 모듈(124)을 사용하여 서버장치에 통신 세션 신청을 시작한다. 통신세션을 확립하면, 폰(120)은 전형적으로 서버장치로부터 단일 HDML 데크를 수신하여 램(RAM)(134)에 캐시되도록 저장한다. HDML 데크 또는 데크는 박형 클라이언트 장치와 서버 장치간에 교환될 수 있는 최소단위의 HDML 정보이다. 각각의 데크는 URL과 같은 단일의 어드레스 식별자(address identifier)를 지니며 또한 하나 이상의 카드를 포함한다. 하나의 카드는 디스플레이 스크린(116)상에 스크린 디스플레이를 발생시키는데 필요한 정보를 포함한다. 따라서, 데크는 간단하게 하나의 그룹의 스크린 디스플레이로 된다. 카드 데크내의 카드의 개수는 이동성 장치 및 공중망 네트워크에서의 자원의 효율적인 사용을 촉진시키도록 선택된다. 디스플레이 드라이버(130)는 램(134)내의 데크로부터 정보를 수신하여 번역함으로써 스크린(116)으로 하여금 그 정보를 디스플레이 하게 한다. 키패드 드라이버(132)는 키패드의 어떤 버튼 또는 키들이 눌려졌는가를 나타내는 신호를 수신하여 그 신호를 마이크로콘트롤러(128)에 의해 이해된 표시로 변환시키며, 이어서 마이크로콘트롤러(128)는, 폰 키패드(118)를 통해 어떤 선택이 이루어졌는가에 따라 필요한 경우 새로운 데크에 대한 서버를 신청함으로써 새로운 데크를 액세스하거나 데크내의 각각의 카드를 활성화시킴으로써 응답할 수 있다.
도 3을 참조하면, 그 도면에는 본 발명의 구성이 설명되어 있다. 공중망(102)에 결합된 다수의 이동성 장치들중 3개가 참조번호 302, 304 및 306으로 표시되어 있으며, 유사하게 지상망(104)에 연결된 다수의 지상통신 장치들중 3개가 참조번호 310, 312 및 314로 표시되어 있다. 링크 서버 장치(370)가 공중망(102)을 지상망(104)에 연결함으로써, 어떤 이동성 장치들이 링크 서버(114)를 통해 공중망(102)내지 지상망(104)을 경유하여 지상통신 장치들과 통신할 수 있다. 본 기술분야의 당업자들은 이동성 장치는 도 2에 도시된 것으로 될 수 있음을 이해할 것이다. 본 발명의 설명을 용이하게 하기 위해, 이동성 장치(302) 및 링크 서버(114)의 내부 블록도가 각각 설명되어 있다. 다른 프로세스 및 하드웨어는 본 기술분야의 당업자들에게 공지되어 있으므로 명확성을 위해 도면에 상세하게 설명하지 않았다.
이동성 장치(302)와 같은 각각의 이동성 장치들이 장치 ID(316)에 지정된다. 장치 ID(316)는 그 장치의 전화번호, 또는 예컨대 204.163.165.132:01905와 같이 IP 어드레스(address)와 포트번호(port number)의 결합으로 될 수 있는 바, 여기서 204.163.165.132는 IP어드레스이며, 01905는 포트번호이다. 장치 ID(316)는 또한, 이동성 장치(302)에 대한 가입자 어카운트(320)를 활성화시키기 위한 절차의 일부로서 링크서버(370)내의 캐리어에 의해 인증된 가입자 ID(318)에 연결된다. 가입자 ID(318)는, 예컨대 AT&T 무선 서비스에 의해 861234567-10900_pn.mobile.att.net 형태를 취할 수 있는바, 이는 이동성 장치(302)에 대한 유일한 신원증명이다. 즉, 각각의 이동성 장치(302,304,306)는 링크 서버 장치(370)의 각각의 사용자 어카운트에 상응하는 단일 장치 ID를 지닌다. 후술설명은 이동성 장치(302) 및 관련 어카운트(320)에 초점이 맞춰지며, 본 기술분야의 당업자라면 이 같은 설명이 링크서버(370)와 동시에 통신하는 다수의 이동성 장치들에 동일하게 적용되는 것으로 이해할 수 있을 것이다.
장치 ID(316)로 인덱스된 가입자 어카운트(320)는 가입자 번호(318), 사용자 정보(322), 키 상태(321) 및 서명(325)과 같은 가입자 정보를 포함하는 데이터 구조이다. 사용자 정보(322)는 어카운트 구성 및, 사용자 성명, URL, 장치버전 및 일자와 같은 다른 어카운트 관련정보를 포함할 수 있다. 서명(325)은 RC5와 같은 대칭형 암호화 알고리즘을 사용하여 공유 비밀키로부터 생성된 결과물이다. 어카운트가 새롭게 확립되면 키 상태(321)는 "교환(Exchange)"으로 설정되며, 서명(325)에 있는 서명은 이용될 수 없다. 키 상태 및 서명에 대해서는 더 상세히 후술될 것이다. 어카운트의 URL은 예컨대, 공중망(102)이 AT&T 무선 서비스에 의해 작동됨을 나타내는 www.att.com/Pocketnet 형태를 취할 수 있다. 링크서버(370)가 다수의 이동성 장치에 서비스를 제공하면, 바람직하게는 데이터베이스 서버(328)에 유지된 것과 동일한 개수로 될 것인바, 이들 각각의 어카운트는 이동성 장치들중 하나에 대해 지칭되는 것으로 이해된다.
데이터베이스 서버(328)는 본 발명에서는 필수적인 것은 아닌 것으로 주시된다. 어카운트를 저장하기 위한 수단을 제공하는 데이터베이스 서버는 링크서버(370)내의 분리형 컴퓨터 또는 메모리 저장소로 될 것이다. 링크서버(370)는 지상선 장치들중 하나이며, 그 지상선 장치들중 어떤 것은 링크서버로 작용할 수 있으며, 또한 그 장치들에 어떻게 적용되어 사용되느냐에 따라 클라이언트 장치 또는 서버장치로 될 수 있는 것으로 이해된다. 후술설명에서 모호함을 가능한한 최소화 하기위해, 이후 이동성 장치는 클라이언트 장치 또는 박형 클라이언트 장치로 지칭될 것이며 링크서버(370)는 서버장치로 간단히 지칭될 것이다.
상술된 바와 같이, 본 발명의 컴파일되어 링크된 프로세스가 클라이언트 장치(302)에서 클라이언트 모듈(332)로서 메모리에 저장된다. 유사하게, 본 발명의 상응하게 컴파일되어 링크된 프로세스가 서버 장치(370)에서 서버모듈(320)로서 메모리에 로드된다. 클라이언트 장치(302)와 서버 장치(370)간의 통신은 한쌍의 사용자 데이터프로그램 프로토콜(UDP) 인터페이스(338, 324)를 통해 클라이언트 모듈(332)과 서버 모듈(320)사이에서 실행된다. 클라이언트 장치(302)의 사용자가 예컨대 특정 주식에 대한 가격정보를 인출하기 위해 서버장치(370)와 대화하기 위해 예정된 키를 누르면, 클라이언트 모듈(332)은 UDP인터페이스(336)에 HDML데크 형태로 상응하는 신청을 송신하며, 그 UDP 인터페이스(336)는 서버 장치(370)내의 대응 UDP 인터페이스(324)에 그 신청을 전달한다. 신청은 링크서버(370)에 의해 처리되며, 링크서버(370)가 주식가격 정보를 호스트하지 않는다면 인터넷 상의 또다른 서버장치(310) 또는 (312)에 대한 부가적인 접속을 이룰 수 있다. 그럼에도 불구하고 주식 가격 정보는 궁극적으로 HDML 데크(340)에서 하나이상의 카드로 통합된다. HDML 데크는, 서버 모듈(320)에 의해 UDP 인터페이스(336, 324)를 통해 클라이언트(302)로 역 송식된다. HDML 데크가 수신되면, 바람직하게는 RAM에 HDML 데크가 캐쉬되면, 클라이언트 모듈은 클라이언트 장치(302)의 디스플레이 스크린상에 카드 또는 카드들을 디스플레이한다. 클라이언트 장치(302)와 링크 서버 장치(370)간의 정보교환에 비밀을 요한다면, 암호화/해독화 기술을 사용하는 보안통신이 어떠한 비밀정보가 교환될 수 있기전에 양측에 확립되어야 한다.
도 4를 참조로 하면, 도면에는 암호-발효 프로세스가 클라이언트 장치(302)와 링크 서버 장치(370)사이에서 실행될 때 각각의 UDP 인터페이스 쌍을 통한 클라이언트 모듈(332)과 서버 모듈(320)간의 상호작용이 설명되어 있다. 클라이언트 장치(302)가 링크 서버 장치(370)와 대화 또는 상호작용하도록 그 사용자에 의해 명령을 받으면, 클라이언트 모듈(332)은 서버모듈(320)에 세션신청 신호(402)(SR(402))를 송신하여 클라이언트 장치(302)와 링크 서버 장치(370)사이에 통신세션을 생성한다. SR(402)내의 신호 성분들은 클라이언트 장치(302)의 상태에 따르며, 일반적으로 다음과 같은 항목을 포함한다. 즉,
세션 ID - 클라이언트 장치(302)로부터 서버 장치(370)까지의 모든 신청을 확인하는 식별기로서, 하나의 세션의 생성을 신청하는 경우, 세션 ID는 항상 O으로 지정됨;
암호(cipher) - 통신 프로토콜에 유효한 다수의 암호화 체계들로서 클라이언트가 현재 사용하는 암호화의 선택을 나타내는 2바이트 수;
버전 - PDU와 같은 통신 프로토콜의 기초포맷을 결정하는데 사용되는 것으로서 사용중인 HDTP 프로토콜 버전을 나타내는 1바이트 수;
타입 - 클라이언트가 어떤 장치인가를 나타내는 것으로서, 예컨대 2PCSI는 클라이언트가 PCSI폰 버전 2임을 나타내는 고정의 5바이트 수;
장치 ID - 장치 식별자 또는 클라이언트 식별자를 나타내는 255바이트 까지 변화가능함;
헤더 - 전체 세션에 적용되며 연속하는 서비스 신청들 또는 세션 특정 매개변수들에 자동적으로 적용될 수 있는 토큰/값 쌍들을 포함하는 것으로서, 일반적으로 현재 세션이 완성될 때까지 서버에 캐시되는 32767까지의 바이트;
C-임시 - 후속하는 서버 인증을 관리하기 위해 클라이언트를 위해 사용된 통신의 비반복선 2바이트수로 표현되는 클라이언트 임시; 및
C-임시수정 - 후속 클라이언트 인증에서 임시조회를 관리하기위해 서버용으로 사용된 클라이언트 임시의 수정된 버전이다.
보다 명확히 설명하면, SR(402)에서의 암호는 특정암호화 알고리즘 및 그것의 관련 매개변수들에 대한 식별자를 포함하는 바, 즉, 그 암호에서의 제 1바이트는 암호화 알고리즘, 키 사이즈(예컨대, 미국에 대해서는 128-비트 또는 기타국에 대해서는 40-비트) 및 그것의 보안성 부속물의 내용의 조합에 대한 식별자를 나타내며, 암호의 제 2바이트는 제 1바이트에 관련된 부가적인 매개변수들을 나타낸다. 예컨대, 제 1바이트의 값 1은 암호화 알고리즘이 블록암호 RC5이고, 그것의 키사이즈가 128비트이며, 그내부의 2바이트 체크-합이 메시지 인증 코드(Massage Authentication Code)(MAC)로 사용되며, 블록암호들에 대한 초기화 벡터(Initialization Vector(IV))가 네트워크를 통해 전송되지 않으며, 필요시 패딩 바이트가 부가됨을 나타낸다. 블록암호들 및 다양하고 유용한 암호화 알고리즘에 대한 정보는 캘리포니아 94065-1031 레드우드 시티 마린파크웨이 100 RSA연구소에서 1995년 8월경 2.0버전으로 M.J.B 롭쇼우에 의해 발간된 "블록 암호들(Block Ciphers)"명칭의 기술보고서 또는 최신의 암호작성법을 소개하는 거의 모든책자에서 찾을 수 있다. 암호내의 식별자는 원한다면 비보안 세션(non-secure session)을 확인하기 위해 단일 값으로 지정될 수 있는 것으로 이해될 수 있다. C-임시는 초기에 클라이언트에 불규칙하게 발생된 비반복성 수이며, 그 것의 수정 버전인 C-임시수정은 동작관게를 통해 C-임시로부터 발생된다. 예컨대 C-임시수정은 하기식으로 표현될 수 있는 배타적 논리합(Exclusive-OR) 관계(??)를 이용하여 발생될 수 있다. 즉,
C-임시수정=2-바이트-수??C-임시
C-임시 및 C-임시수정은 모두 클라이언트 장치(302)에 의해 소유된 비밀 암호화 키를 사용하여 암호화된다. C-임시수정의 목적은, C-임시 및 C-임시수정과의 관계를 시험함으로써 C-임시가 정확히 해독 및 유효화되는 것을 보장하기 위한 수단으로 SR을 수용하는 서버를 제공하는데 있다. 서버장치(370)가 클라이언트 장치(302)내의 키들과 동일한 유효 비밀키를 지닌다면, 암호화된 C-임시 및 C-임시수정은 유효 비밀키에 의해 해독될 것이며 그들사이의 관계가 동일하게 유지된다. 즉, SR메시지(402)는 하기식으로 표현될 수 있다.
SR = {세션 ID, 암호, 버전, 타입, 장치 ID, 헤더, Encry[C-임시, C-임시수정]}
여기서, Encry[ ]는 괄호내의 파라미터 및 내용들이 결국 암호화 되었음을 의미한다.
서버 모듈(320)은, SR(402)이 수신되면 Encry[C-임시, C-임시수정]의 해독을 시도한다. 해독 프로세스로부터 서버장치(370)는 양측의 비밀키들의 상태를 결정할 수 있다. 거기에는 4개의 가능한 비밀키상태, 즉, "유효(Valid)", 조회(Verify), "교환(Exchange)" 및 "강제(Force)"가 있다. "유효" 키 상태는, SR(402)내의 암호화된 메시지의 성공적인 해독으로부터 결과 되는 것으로서, 양측의 비밀키들의 쌍이 동일하며 이들 각각, 즉, 클라이언트 장치(302) 또는 서버 장치(370)가 공유 비밀키(SSK)를 소유하고 새로운 암호-발효 프로세스가 필요없음을 의미한다. "조회"상태는 새로운 암호-발효 프로세스에 의해 발생된 SSK가 조회되지 않았으며, 이에따라 조회 프로세스가 후속되어야 함을 나타내는 것이다. "교환"키 상태는 암호 발효 프로세스가 클라이언트 장치(302)에 의한 신청때면 언제든지 허용되는 것을 나타내며, 이는 클라이언트 장치(302)의 사용자 어카운트가 새롭게 확립되는 경우 통상적으로 나타난다. "강제" 키 상태는, 어떤 새로운 세션이 생성될 수 있기전에 암호-발효 프로세스가 실행되어야 함을 나타낸다. "강제"상태는 SR(402)의 암호화된 메시지의 해독을 완전히 실패하는 결과로서 입력될 수 있다.
클라이언트 장치(302)가 새롭게 활성화되어 파워온되면, 키 상태는 디폴트(default)에 의해 "교환"으로 자동 설정된다. 이후 키 신청(406)이 서버 장치(370)로 송신되어 암호-발효 프로세스를 시작한다. SR내의 C-임시 및 C-임시수정은 암호화되지 않으며, 이는 서버모듈(320)이 Encry[C-임시, C-임시수정]의 해독을 시도할 때 에러로 결과된다. 서버가 클라이언트(332)에 에러들을 갖는 신청응답(Request Response)(404)을 송신하는바, 이 응답은 암호-발효 프로세스를 먼저 실행함이 없이는 통신세션이 확립될 수 없음을 나타낸다.
암호-발효 프로세스는 항상, 키상태가 교환 또는 강제인 경우 클라이언트 장치(302)에 의한 키 신청(406)을 서버장치(370)에 송신함으로써 시작된다. 그럼에도 불구하고, 서버 장치(370)가 암호-발효 프로세스를 시작하고 클라이언트 장치(302)가 그 프로세스로 처리하는 것을 동의한다면 그 프로세스가 시작될 수 있다. 이는 현재 SSK가 종료될 때 발생할 수 있다. SSK는 여러 가지 이유 때문에 제한된 수명을 지닌다. 가장 중요한 이유는 호출된 어떤 암호해독법에 대해 보호성이 있다는 점이다. SKK키가 사용될 때마다, 그 SKK키는 다수의 암호텍스트(ciphertext)를 발생시킨다. 키를 반복적으로 사용하면, 침입자로 하여금 키 값(key value)의 성공적인 암호해독을 위해 충분하게 될 수 있는 암호텍스트( 및 가능하면 플레인 텍스트(plain text))의 저장을 허용하게 된다. 서버에 의해 개시된 암호-발효 프로세스의 다른 예들은 양측의 2개의 SSK간의 불합치를 포함한다. 클라이언트 장치에서의 암호-발효 프로세스는 서버 모듈(320)로부터 클라이언트 모듈(322)로 송신된 세션 신청 응답(SRR)(404)에 의해 개시될 수 있다. SRR(404)은 양측의 SSK들의 불합치 또는 종결로 인해 키 에러 메시지를 포함한다.
클라이언트 장치(302)가 키 신청(406)을 송신하기 전에, 클라이언트 모듈(332)은, 난수(random number)로부터 클라이언트 개인값으로 지칭되는 개인값을 발생시킨다. 난수 발생기는 정상적으로 난수 시드 (random number seed)에서 취해진다. 본 기술분야의 당업자들은, 표준 C 라이브러리에서 유용한 랜드()기능과 같은 유용한 다수의 난수 발생기들이 있음을 이해할 것이다. 더욱이, 안테나 오프시 노이즈 신호, 어려운 코드화 소스를 시험하거나 또는 클라이언트 장치 제조업자에 의해 제공된 난수 시드를 취하기 위한 여러 가지 방식이 있다. 난수 시드에 관해서, 클라이언트 개인값은, 코어엔진으로서 일방향 해시 기능으로 될 수 있는 난수 발생기에 의해 발생된다. 일방향이라 함은 반대방향(역방향)보다 일방향(전방방향)으로의 실행이 현저히 용이하다는 것을 의미하는 것으로서, 역방향 실행은 발생된 난수로부터 난수 시드의 획득을 어렵게 한다. 해시(hash)기능의 하나의 예로서 산출작업이 후속되며 어떤 횟수로 하나의 값을 곱하는 방식이 있다. 일반적으로 클라이언트 개인값은 16바이트의 긴 2진수의 형태를 취할 수 있다. 클라이언트 개인 값이 그렇게 발생되어, 모든 가능한 난수들을 시도하는 것을 기초로하여 클라이언트 개인값을 통계적으로 곱하기가 곤란하도록 충분히 크게 된다. 이후 발생된 클라이언트 개인값은, 디피-헤르만 키 승인 프로토콜과 같은 키 승인 프로토콜에 따라 클라이언트 공중값으로 지칭되는 공중값을 발생시키도록 입력값으로 사용된다. 클라이언트 공중값은 종종 미국 내에서의 통신을 위해서는 96바이트의 2진수로되며 미국 이외의 나라에서의 통신을 위해서는 64바이트의 2진수로 된다. 본 발명의 하나의 실시예에 따르면, 클라이언트 공중값을 발생시키는데 LIBDH라 칭하는 라이브러리가 사용된다. LIBDH는 BSAFE라 칭하는 제품의 일부인바 이는 미국 캘리포니아 94065-1031 레드우드 시티 슈트 500 마린 파크웨이에 사업소를 갖는 RSA 연구소로부터 입수가능한 일반적인 용도의 저급의 암호법 툴킷(toolkit)이다. 이 엔진은 디피-헤르만 키 승인 프로토콜, 암호들 및 해싱 함수들(hashing functions)을 포함한다. 클라이언트 개인값은 클라이언트 장치(302)내에 유지되며, 클라이언트 공중값은 서버 장치(370)로 전송된다. 이후 클라이언트 모듈은 키 신청 신호(406)를 서버장치(370)에 송신한다. 키 신청(406)은 클라이언트 장치(302)의 장치 ID(316) 및 발생된 클라이언트 공중키를 포함한다.
서버장치(370)에서의 암호-발효 프로세스는, 클라이언트 장치(302)로부터 키 신청(406)을 수신할 때 시작한다. 상술된 바와 같이, 클라이언트 장치(302)로부터의 키 신청(406)은 서버장치(370)로부터 송신된 에러 메시지 또는 클라이언트 장치의 사용자에 의한 매뉴얼 신청으로부터 결과될 수 있다. 서버 장치(370)가 클라이언트장치(302)로부터 키신청(406)을 수신하면, 그 서버장치(370)는 암호-발효 프로세스를 처리한 후, 서버 개인값으로 지칭되는 개인값을 발생시킴으로써 장치 ID(316)를 기초로 하여 일련의 인증 프로세스를 실행한다. 클라이언트 개인 및 공중값들과 유사하게 서버 개인값은 서버 장치(370)내의 노이즈 다이오드 또는 교통량 사상들(traffic events)과 같은 노이즈 소스로부터 생산될 수 있는 난수 시드로부터 발생된다. 개인키는 또한 16바이트의 긴 2진수이다. 입력값, 공중값, 또는 서버공중값과 같은 서버 개인값들에 관해서, 96 또는 64바이트의 2진수는 라이브러리 LIBDH를 사용하여 그들로부터 발생된다.
상술된 바와 같이, 디피-헤르만 키 승인 프로토콜은 비밀키를 발생시키기 위한 2개의 숫자를 필요로 한다. 서버 모듈(320)은, LIBDH에 제공된 디피-헤르만 키 승인 프로토콜을 기초로하여 서버 측 비밀키를 발생시키도록 자체 발생 서버 개인값과 함께 수신된 키 신청 신호(406)내의 클라이언트 공중값을 사용한다. 클라이언트측 비밀키를 발생시키도록 클라이언트 장치(302)를 돕기위해, 서버(370)는 서버 공중값을 포함하는 키 응답 신호(408)를 송신한다. 유사하게, 수신된 서버 공중값 및 자체발생 클라이언트 개인값을 기초로하여, 클라이언트 모듈(332)은 LIBDH에 제공된 동일 키 승인 프로토콜을 기초로 하여 클라이언트측 비밀키를 발생시킨다. 상술된 바와 같이, 클라이언트측 비밀키는 통상의 환경에서 공유 비밀키(SSK)로 지칭되는 서버측 비밀키와 동일해야 한다. 비밀키들의 승인성 및 공중값들이 중간침입자에 의해 개방 데이크 네트워크내의 트랜지트가 변경되지 않게하는 것을 보장하기 위해, 2단계의 조회 프로세스가 후속된다.
제 1단계는, 클라이언트 모듈(332)에 의한 신규 SR(410)을 서버장치(370)에 송신하는 것이다. 신규 SR(410)내의 성분들 C-임시 및 C-임시수정은, 신규하게 발생된 클라이언트측 비밀 키에 의해 암호화된다. 서버모듈(320)이 신규 SR(410)을 수신하면, 신규하게 발생된 서버측 비밀키를 사용하여 Ency[C-임시, C-임시수정]의 해독을 시도한다. 해독이 성공한다는 것은, 공중키 값들이 데이터 네트워크에서 교환될 때 중개자의 침입이 없었다는 가정하에 양측의 비밀키들이 일치한다는 것을 의미한다. 비밀키는 유효한 공유 비밀 키(SSK)로 간주될 수 있으며 서버의 안정된 저장소에 수용된다. 그 SSK는, 제 2단계로 한정된 바와 같은 또다른 조회를 받게된다. 암호해독을 실패한다는 것은, 그 키들이 공중망(102)과 같은 데이터 네트워크상으로 전송될 때 공중키의 가능한 데이터 변조에 의해 양측의 비밀키들이 일치하지 않는다는 것을 의미한다. 새로운 암호-발효 프로세스가 클라이언트 장치(302)에 에러메시지를 포함시키는 또다른 신청 응답(404)을 송신함으로써 다시 시작될 수 있는바, 이는 암호-발효 프로세스가 실패되고 다른 새로운 암호개시 프로세스가 다시 시작될 수 있음을 나타낸다.
제 2단계는 양측 비밀키들로부터 결과된 서명들을 시험하는 것이다. 비밀키는 16바이트의 2진수이다. 제 1의 8바이트는 예컨대 RCA엔진내의 블록 암호 RC5와 같은 상호 승인된 암호에 따르는 암호화키로서 제2의 8바이트에 의해 암호화 되는 데이터로 사용되는바, 암호화된 결과는 비밀키의 서명으로 지칭된다. 서명은 예컨대 FE63 ABCD 47FA 3DA3의 형태를 취할 수 있다. 공중값이 변경되지 않았다면, 양측의 비밀키들은 일치하게 될 것이며 또한 서명이 일치될 것이다. 서명의 사용은 클라이언트측과 서버측간의 직접 조회를 위한 수단을 제공한다. 예컨대, 클라이언트 장치의 사용자는, 클라이언트 비밀키 및 서버 비밀키로부터 각각 결과된 2개의 서명들이 일치하는 경우 조회를 위해 서버장치의 오퍼레이터를 호출할 수 있다. 서명들이 일치한다는 것은 중간침입자가 없음을 의미하며, 그렇지 않으면 암호-발효 프로세스가 실패한 것으로 간주된다.
공중교통량을 감소시키기위해, 제1단계의 조회프로세스는 생성될 새로운 세션으로 핏기백된다. 즉, 조회프로세스는 신규 세션신청을 서버장치(370)에 송신함으로써 클라이언트 장치(302)에 의해 시작된다. 조회가 성공하면, 즉, 양측의 암호화키들이 일치하면, 신규세션이 세션 응답(412) 및 완료 메시지(414)를 통해 클라이언트 장치(302)와 서버장치(370)간의 일련의 인증으로 계속될 것이다. 따라서 보안되고 인증된 통신세션이 확립된다.
마크로필름카드에 다음과 같이 기록될 수 있는 코드는 본 발명의 하나의 실시예이다. 소스파일 SessionTxn.c 및 netsugp.c 는 서버 장치(370) 및 클라이언트 장치(320) 각각에서의 암호-발효 프로세스의 모든 상세한 단계 및 절차들을 설명한다. netsugp.c에서 KeyExchInit()로 명칭된 기능은, 우선 DHInit()기능을 통해 키교환 프로토콜을 실행하도록 메모리영역을 할당하는 KeyExchangeDoPhaseOne()기능을 개시시켜 암호-발효 프로세스에 대한 초기화를 실행한다. DevGetRandom()기능으로부터 난수가 획득되어 클라이언트 개인값으로 DHPhaseOne()기능에 사용된다. DHPhaseOne()이 클라이언트(332)에 대한 클라이언트 공중값들을 발생시킨다. netSetupKeyExch() 기능에 있어서, 공중값은 SugpKeyRqstSetKeyData()기능을 통해 기능 KeyRequestPDU내로 입력된다. 이후 해석된 KeyRequestPDU는 netDoTxn()기능에서 DevSendPDU()기능을 통해 서버에 송신된다.
KeyRequestPDU가 클라이언트 장치(302)로부터 서버모듈(320)에 의해 수신될 때, 기능 TsessionTxn::Ignition in SessionTxn.c에서 암호-발효 프로세스가 시작된다. 서버 장치(302)는 프로세스를 시작하도록 CIgnition에 대한 함수로 세팅되어 프로토-세션을 생성하여 데이터 베이스(328)에서 상응 레코드(321)를 끌어낸다. 이후, 서버장치(370)는, 클라이언트 장치(302)가 등록되었는지 또는 일시적으로 폐기되었는지를 조회하고, 또한 암호-발효가 허용되었는지를 조회한다. 이같은 상태들중 어느 하나가 충족되지 않으면, 암호-발효 프로세스는 중지될 것이며 에러코드가 서버장치(370)로부터 클라이언트 장치(302)로 송신된다.
이같은 모든 조건들이 만족되면, 서버모듈(320)은 Key Request PDU를 송신하는 클라이언트 장치(302)에 대해 키승인 즉, TkeyAgree의 실제대상을 생성한다. 서버모듈(320)은 Init(), PubKeyGen(), GetSSKey(), 및 IsWeakKey()와 같은 작업으로 키승인 대상물을 작동시킨다. Init() 작동은 키 승인 프로토콜을 위한 계산을 개시하는바; PubKeyGen()은 키 승인 프로토콜 및 난수발생기를 통해 공중값 및 개인값을 발생시키며; PubKeyGen()은 난수엔진에 초기에 링크되며, 이에따라 서버 개인값이 발생되며; GetSSKey()는 클라이언트 장치(302) 및 그의 개인키로부터 KeyRequestPDU내의 클라이언트 공중값의 입력값들로 서버 측 비밀키를 계산한다. IsWeakKey()는, 발생된 서버측 비밀키가 암호화키로 안전하게 사용될 수 있는지를 체크한다. 만일 그렇지 않으면, 상기 프로세스는 유효한 서버측 비밀키가 발견될 때 까지 반복될 것이다. 기능 CmaxKeyTries는, 서버모듈(320)이 포기하고 이어서 에러메시지를 클라이언트에 송신하기전에 반복(iteractions)을 제어한다. 클라이언트 장치(302)는 에러메시지를 수신하면 또다른 KeyRequestPDU를 송신하여, CmaxKeyTries에서 서버들이 만족할 수 있는 유효한 서버측 비밀키가 발생될 때까지 전체 프로세스를 반복한다.
이후 서버장치(370)는, m_rAirlink->Deliver()기능을 사용하여 암호 발효 프로세스를 완료하도록 클라이언트 장치(302)에 대해 KeyReplyPDU에서 클라이언트 장치(302)에 서버 공중값을 전달한다. 동시에 서버 장치(370)는 서버측 비밀키를 m_pNewCipher에 세이브 시키고 클라이언트 장치(302)를 대기시켜 조회 프로세스를 개시시키는바, 이 조회 프로세스는 서버측 비밀키를 SSK에 전달함에 따라 그 SSK는 클라이언트 장치(302)로부터 신규 세션 발생신청을 통해 안정된 데이터베이스내로 로드된다.
netsugp.c, 즉, 클라이언트측에 있어서, KeyReplyPDU는 기능 NetDataArrived()기능을 통해 수신되어 netHandleKeyReply()기능내로 이동된다. KeyReplyPDU내의 서버 공중값은 서버로부터 추출되어 KeyExchDoPhaseTwo()기능으로 이송되어 클라이언트측 키를 발생시킨다. 클라이언트 측 비밀키가 성공적으로 발생된 후, 클라이언트 모듈(332)은 그것을 그것의 안정된 저장소에 세이브시키고 ClearNeeds(kKeyExch)기능을 호출하여 암호-발효 신청에 대한 필요성을 소거한다. 클라이언트 장치(302) 및 서버장치(370)에서 각각 발생된 비밀키 모두를 조회하기 위해, 클라이언트 장치는 SessionRequestPDU내의 C-임시 및 C-임시수정을 암호화하는데 새롭게 발생된 클라이언트 측 비밀키를 사용하여 새로운 세션을 생성하도록 신규 세션 신청을 만드는바, SessionRequestPDU는 기능 netSetupSess()기능에서 관찰될 수 있다. SessionRequestPDU는 클라이언트 장치(302)에서 서버 장치(370)로 송신된다.
SessionTxn.C에 있어서, SessionRequestPDU가 서버 장치(370)에 수신되면, 서버 모듈(320)은 그 신청을 처리하기 위해 TSessionTxn::Start()를 호출한다. 암호-발효 프로세스에 관한한, 새롭게 발생된 서버측 비밀키를 사용하여 획득된 SessionRequestPDU상의 성공적인 암호해독은 서버측 비밀키를 안정된 데이터 베이스내로 로드되는 SSK로 전달할 것이다. 동일 기능에 있어서, 서버 모듈(320)은 m_pNewCipher가 존재하는가를 체크하여 계류중인 암호-발효 프로세스가 존재하는가를 체크한다. 존재하면, SessionRequestPDU를 해독하는데 사용된다. 해독이 성공하면, 서버는 기능들인 m_rSession->m_pSubscriber->SetKey() 및 m_rSession->m_pSubscriber->ExchangeComplete()를 사용하여 할당 비밀키로서 서버측 비밀키를 세이브 시킨다. 또한 서명이 취해져 m_pNewCipher->MakeSignature()기능을 사용하여 그때 세이브 된다. 이는 서버 장치(370)에서의 암호-발효 프로세스를 완료하는 것이다.
도 5a 및 5b를 참조하면, 그 도면들에는 클라이언트 장치(302)와 서버 장치(370)에서의 각각의 암호-발효 프로세스(CIP)의 데이터 플로우 챠트가 도시되어 있다. 도 5a 및 5b는 모두 도3 및 4에 관련하여 이해될 것이다. 상술된 바와 같이, 암호-발효 프로세스는, 클라이언트 장치(302)와 서버 장치(370) 사이에서 실행되는 신규한 암호-발효 프로세스를 수동적으로 신청함으로써 그 프로세스가 개시되는 것과 같이 여러방식들에 의해 시작될 수 있다. 두 번째 방식은, SR(402)을 해독하는데 완전히 실패했거나 양측 SSK들이 종결되거나 불일치됨으로인해 서버 장치(370)에 의해 송신된 세션 신청 응답(404)에서의 에러 메시지에 의해 시작될 수 있다. 도 5a의 단계(502)에서 클라이언트장치 암호-발효 프로세스(CIP)를 시작한다. 단계(504)에서 클라이언트 모듈은, 상술된 바와 같이 클라이언트 공중값을 발생시키는 프로세스가 후속되는 클라이언트 개인값을 발생시킨다. 클라이언트 공중값이 타당하게 될 때, 단계(506)에서 클라이언트 모듈은 키 신청 신호(406)를 서버 모듈에 송신한다. 클라이언트 장치는 단계(508)에서 서버장치로부터 키응답(408)을 위해 대기하기 시작한다. 키응답(408)을 대기하는 동안, 클라이언트 장치는 의도된 서버 장치로부터 원하는 키 응답(408)이 아닌 다른 신호를 수신할 수 있다. 수신된 신호가 원하는 키 응답(408)이 아니면, 그 신호들은 단계(510)에서 폐기된다. 클라이언트 장치가 무한정으로 기다리는 것을 방지하기 위해, 예컨대 60초의 대기시간으로 제한시간을 둔다. 제한시간내에 원하는 키 응답(408)이 수신되어야 하며, 그렇지 않으면 단계(512)에서 에러 메시지가 클라이언트 장치의 디스플레이 스크린상에 디스플레이되어, 단계(514)에서 현재 암호-발효가 부당하다는 것을 사용자에게 알려준다.
도 5b를 참조하면, 단계(552)에서 서버 모듈이 클라이언트 장치로부터 키 신청 신호(406)를 수신하면 단계(554)에서 세션ID로 지칭되는 세션 식별자를 갖는 클라이언트 장치에 대한 서버 프로토 세션을 생성하여, 생성될 클라이언트 장치에 의해 신청된 세션을 서버에 위임시킨다. 서버 프로토세션은 세션 테이블에서 프로토 상태로 마크된 세션엔트리인바, 그 세션 테이블은 세션이 인증되지 않았으며 또한 클라이언트와의 어떠한 트랜잭션을 관리할 수 없음을 나타낸다. 본 기술분야의 당업자들은 프로토 세션이 서버의 램(RAM)에 유지될 수 있고 서버장치가 다른 클라이언트 장치들과 통신한다면 하나이상의 프로토세션으로 될 수 있음을 이해할 것이다. 프로토세션이 이미 특정 클라이언트 장치에 대해 존재한다면 그 프로토세션이 재사용된다. 수신된 SR의 정보가 프로토세션에 세이브된다. 서버모듈이 인증된 클라이언트 장치와 통신하는 것을 보장하기 위해, 서버장치는 일련의 조회를 실시한다. 단계(556)에서, 서버장치는 먼저 수신된 ID와 어카운트에 지정된 장치 ID를 비교함으로써 수신된 SR(402)의 장치 ID가 유효한가를 시험한다. 수신된 장치 ID가 유효하면, 서버모듈은 또한 단계(558)에서 클라이언트 장치가 가능한 것인가를 시험한다. 때때로 클라이언트 장치는 유효한 장치 ID를 지닐 수 있지만, 클라이언트 장치는 어떤 이유로 인해 억제될 수 있다. 클라이언트 장치가 서버장치에 의해 인식되어 인증되면, 서버모듈은 사용자 어카운트내의 키 상태를 시험함으로써 암호-발효 프로세스가 가능한가를 시험한다. 설명된 바와 같이, 사용자 어카운트가 새롭게 확립되면 키 상태는 "교환(Exchange)"으로 설정된다. 암호-발효 프로세스를 허용하는 상태등은 "교환" 및 "강제(Force)"인바, 이는 현재 암호-발효 프로세스가 가능하며; 그렇지 않으면 불가능한 것으로 간주한다.
단계(556, 558 또는 560)에서의 조회들 중 어느하나가 실패한다면, 서버 모듈은 단계(56)로 장치에러를 송신하여 시도된 CIP가 중단되었음을 클라이언트에게 알릴 것이다. 그러면 서버는 단계(586)에서 이 특정 세션을 위해 생성된 프로토 세션을 제거하고 단계(590)에서 CIP를 중단시킨다.
단계(556, 558, 560)에서 모든 조회가 성공하면, 서버 모듈은 서버 개인값과 서버 공중값을 발생시키는바, 이같은 절차들은 상술된 바와 같이 수신된 클라이언트 값과 서버자체 발생 개인값에 관해서, 서버 모듈은 단계(564)에서 키 승인 프로토콜에 따라 서버 측 비밀키를 발생시킨다. 보안상의 이유 때문에, 단계(526)에서 발생된 서버측 비밀키는 단계(566)에서 키 시험 프로세스를 처리한다. 키 시험 프로세스는, 발생된 비밀키가 충분한 불규칙 패턴을 지니며 암호해독법에 의해 쉽게 복제되지 않는 것을 보장한다. 통계적으로 쉽게 검출 될 수 있는 어떤 패턴들은, 인증되지 않은 복제가 쉽게 될 수 있는 0101010101...01과 같은 0과 1의 주기를 갖는 키들이다. 이같은 SSK는 취약한 것으로 간주되어 폐기 및 재생되어야 한다. 단계(568)에서는, 발생된 비밀키를 몇번 모니터 하였는가 하는 카운터가 재생되어야 한다. 카운터가 예컨대 10보다 크다면, 서버 장치는 포기하고 단계(578)에서 클라이언트에 에러메시지를 송신하여 클라이언트가 CIP를 모두 다시 시작할 것인가를 문의한다. 발생된 비밀 또는 재생된 비밀키가 단계(566)에서 키 시험 프로세스를 통과시킨다면, 서버는 단계(570)에서 서버 공중값을 갖는 키응답신호를 클라이언트 모듈로 송신하여 클라이언트 모듈로 하여금 클라이언트 측 비밀키를 발생시키게 한다. 클라이언트 장치와 유사하게, 서버 모듈은 단계(572)에서 클라이언트 장치로부터의 응답을 위해 대기하기 시작한다. 어떤 원치않은 신호들은 단계(574)에서 폐기될 것이다. 서버 모듈이 장시간 기다린다면, 초기에 생성된 프로토-세션은 단계(586)에서 제거될 것이며 현재의 암호-발효 프로세스는 단계(590)에서 중단된다.
다시 도 5a를 참조하면, 클라이언트 모듈은 단계(508)에서 키응답 신호를 기다린다. 클라이언트 모듈은, 서버장치로부터 키응답 신호를 수신하면 단계(516)에서 클라이언트 측 비밀키를 발생시킨다. 따라서, 클라이언트 모듈은 취약한 SSK를 테스트하는 서버를 신뢰한다. 클라이언트 모듈은, 단계(516)에서 공통적으로 사용된 키 승인 프로토콜에 따라 클라이언트 측 비밀 키를 발생시키기위해 서버 공중값 및 클라이언트 자체 발생 개인값을 이용하여 유사한 키 발생 프로세스를 시작한다. 각각의 클라이언트 장치로부터, 발생된 클라이언트 측 비밀키는 유효한 것으로 추측되며 클라이언트 모듈은 발생된 클라이언트 측 비밀키를 SSK에 보내는바, 이는 그 키를 안정된 메모리 또는 램에 로딩함으로써 이루어진다. 이후 클라이언트는, 클라이언트 발생 SSK에 의해 Encry[C-임시, C-임시수정]으로 신규 세션 신청(410)을 시작한다.
도 5b를 다시 참조하면, 서버가 단계(572)에서 신규 세션 신청(410)을 수신하면, 서버는 프로토 세션 테이블내의 프로토 세션 엔트리를 관찰하여 단계(576)에서 신규 세션 신청(410)내의 장치 ID를 사용하는 일련의 조회 프로세스를 실행한다. 신규 세션 신청(410)이 인식되고 인증된 클라이언트 장치로부터 온 것임을 서버 모듈이 확인하면, 서버모듈은 Encry[C-임시, C-임시수정]이 현재 서버 측 비밀키에 의해 해독이 성공되었는지를 체크하여, 성공하였으면 서버 측 비밀키가 클라이언트 장치를 갖는 SSK임을 나타낸다. 서버모듈은, 단계(582)에서 서버장치의 안정된 메모리내로 SSK를 로딩시켜 그 클라이언트를 갖는 SSK에 서버측 비밀키를 보낸다. 그렇지 않으면, Encry[C-임시, C-임시수정]이 기존 SSK에 의해 성공적으로 해독될 수 있는가를 체크하는바, 이는 클라이언트 장치가 현재 암호-발효 프로세스를 실패했음을 나타낸다. 그러면, 현재 암호-발효 프로세스는 (에러메시지를 클라이언트에게 송신함이 없이) 단계(590)에서 조용히 중단되며, 신규세션이 기존 SSK로 생성된다. 따라서, 그 프로세스는 현재 암호-발효 프로세스가 실패한 경우 존재하는 기존 SSK를 보존한다.
생성된 SSK를 조회하기 위한 수단을 제공하기 위해, 2개의 SSK로부터의 2개의 서명이 단계(592)에서 조회된다. 이는 클라이언트장치의 사용자와 서버장치의 작업자간의 축어조회(Verbal Verification)에 의해 처리될 수 있다. 상술된 바와 같이, 클라이언트측의 서명은 클라이언트측 비밀키가 생성될 때 발생될 수 있다. 유사하게, 서버측의 서명은 서버측 비밀키가 생성될 때 발생될 수 있다. 2개의 서명이 일치하지 않으면, 현재 암호-발효 프로세스가 실패된 것이며 더 이상의 보안 통신 세션이 확립될 수 없다. 조회가 성공하면 단계(594)에서 현재 암호-발효 프로세스가 계속된다. 축어조회는 본 발명에서 필수적인 부분은 아니며 SSK로부터 결과된 서명들을 비교하여 SSK를 조회하기 위한 수단이 제공되는 것을 설명하기 위한 하나의 실시예에 사용된 것으로 이해될 것이다.
상술된 바와 같이 본 발명에 의하면. 최소의 컴퓨팅 파워 및 메모리를 사용하여 데이터 네트워크상에서의 양방향 대화식 통신 장치들과 서버 컴퓨터들사이에 암호-발효 프로세스를 실행시킬 수 있으므로, 이동성의 클라이언트 컴퓨터와 서버컴퓨터들간의 보안되고 인증된 데이터 통신이 최적으로 확립되는 효과가 있는 것이다.
본 발명이 어느 정도의 특성으로 충분히 상세하게 설명되었다. 본 기술분야의 당업자라면 본 실시예들에 대한 설명이 단지 예시적인 방식으로 이루어진 것이며 부품들 뿐 아니라 단계들의 구조 및 결합의 다양한 변형예들이 청구된 본 발명의 사상 및 범위를 벗어남이 없이 실행될 수 있음을 이해할 것이다. 따라서, 본 발명의 범위는 전술된 하나의 실시예에 대한 설명이 아닌 첨부된 청구범위에 의해 한정된다.

Claims (11)

  1. 데이터 네트워크상의 서버 장치와 클라이언트 장치사이에 보안 통신 채널(secure communication channel)을 확립하기 위한 방법에 있어서,
    상기 클라이언트 장치에 클라이언트 개인 값(client private value)을 발생시키는 단계;
    상기 클라이언트 장치에 상기 클라이언트 개인값을 기초로 하여 클라이언트 공중값 (client public value)을 발생시키는 단계;
    상기 클라이언트 공중값을 포함하는 키 신청 메시지 (key request message)를 상기 클라이언트 장치에서 상기 서버장치로 송신하는 단계;
    상기 서버 장치로부터 상기 키 신청 메시지에 대한 서버응답(server response)을 수신하는 단계; 및
    상기 클라이언트 개인값 및 상기 서버 응답에 대해서 그리고 키 승인 프로토콜(key agreement protocol)에 따라 클라이언트측 비밀키를 발생시키는 단계를 포함하는 보안 통신채널 확립방법.
  2. 제 1항에 있어서, 상기 서버 응답은 서버 공중값을 포함하며, 상기 서버 공중값은 상기 클라이언트 장치로부터 수신된 상기 키 신청 메시지의 상기 클라이언트 공중값에 대해 상기 서버에서 발생되는 방법.
  3. 제 2항에 있어서,
    상기 클라이언트측 비밀키와 서버측 비밀키와의 호환가능성을 보장하는 조회 프로세스(verification process)를 실행하는 단계를 더 포함하며; 상기 서버측 비밀키는, 서버 개인값 및 상기 키 신청메시지의 상기 클라이언트 공중값에 대해서 그리고 상기 키 승인 프로토콜에 따라 상기 서버장치에 발생되는 방법.
  4. 제 3항에 있어서, 상기 조회프로세스 실행 단계는
    상기 클라이언트측 비밀키로 메시지를 암호화(encrypting)하는 단계; 및
    상기 암호화된 메시지를 상기 데이터 네트워크상의 상기 서버장치에 송신하는 단계를 포함하는 방법.
  5. 제 4항에 있어서, 상기 조회 프로세스 실행단계는
    상기 클라이언트 측 비밀키로부터의 클라이언트 서명(signature)이 상기 서버측 비밀키로부터의 서버 서명과 부합(match)되는가를 조회하는 단계; 및
    상기 클라이언트 서명과 상기 서버 서명이 부합된다면 상기 클라이언트측 비밀키 및 서버측 비밀키를 한쌍의 공유(shared) 비밀키로 위임하는(committing) 단계를 더 포함하는 방법.
  6. 제 3항에 있어서, 상기 조회 프로세스 실행단계는
    상기 서버 장치와의 통신세션을 확립하도록 상기 클라이언트 장치에 의한 세션신청을 시작하는 단계로서, 상기 세션신청은 상기 클라이언트 장치의 장치 ID 및, 공동으로 수용된 암호에 따라 상기 클라이언트 측 비밀키에 의한 암화화된 메시지를 포함하는 세션신청 시작단계; 및
    상기 암호화된 메시지가 상기 서버측 비밀키에 의해 암호해독이 성공되면 상기 서버 장치로부터 세션응답(session reply)을 수신하는 단계를 포함하는 방법.
  7. 데이터 네트워크상의 서버장치와 클라이언트 장치간의 보안 통신 채널을 확립하기 위한 방법에 있어서,
    상기 클라이언트 장치를 확인하는 식별자(identifier) 및 상기 클라이언트 장치에 발생된 클라이언트 공중값을 포함하는 키 신청메시지를 상기 클라이언트 장치로부터 수신하는 단계;
    상기 클라이언트장치에 대해 상기 서버장치에 프로토 세션(proto session)을 생성하는 단계;
    키 승인 프로토콜에 따라 서버 개인값 및 상기 수신된 클라이언트 공중값으로부터 서버측 비밀키를 발생시키는 단계;
    상기 키 신청메시지에 응답하여 상기 클라이언트 장치에 서버 공중값을 포함하는 서버응답을 송신하는 단계로서, 상기 서버 개인값 및 서버 공중값 모두는 상기 서버장치에 제공되는 서버응답 송신단계; 및
    상기 서버측키가 상기 클라이언트 장치에 발생된 클라이언트 측 비밀키와 호환가능한가를 보장하는 조회프로세스를 실행하는 단계를 포함하는 보안 통신채널 확립방법.
  8. 제 7항에 있어서, 상기 식별자는 상기 클라이언트 장치의 장치 확인서(identification)이며;
    상기 장치 확인서가 상기 서버장치에 액세스(access)가능한 어카운트(account)에 대해 유효한가를 결정하는 단계; 및
    상기 어카운트내의 키 상태(key state)를 시험함으로써 암호-발효 프로세스(crypto-ignition process)가 가능한가를 결정하는 단계를 더 포함하는 방법.
  9. 제 8항에 있어서,
    상기 서버측 비밀키의 강도(strength)를 조회하는 단계; 및
    상기 서버측 비밀키가 취약한 것으로 결정된다면 상기 서버측 비밀키를 발생시키는 단계를 더 포함하는 방법.
  10. 제 7항에 있어서, 상기 조회 프로세스 실행 단계는
    상기 클라이언트측 비밀키로부터의 클라이언트 서명이 상기 서버측 비밀키로부터의 서버 서명과 부합되는지를 조회하는 단계; 및
    상기 클라이언트 서명과 상기 서버 서명이 부합된다면 상기 클라이언트측 비밀키 및 상기 서버측 비밀키를 한쌍의 공유 비밀키로 위임하는 단계를 포함하는 방법.
  11. 제 10항에 있어서, 상기 클라이언트측 비밀키 및 상기 서버측 비밀키를 한쌍의 공유 비밀키로 위임하는 단계는
    상기 서버측 비밀키를 사용하여 상기 서버장치에 의해 상기 클라이언트 장치로부터의 암호화된 메시지(encrypted message)를 해독하는 단계로서, 상기 암호화된 메시지는 공동으로 수용된 암호(mutually accepted cipher)에 따라 상기 클라이언트측 비밀키에 의해 암호화되는 암호메시지 해독 단계; 및
    상기 서버장치에 의해 상기 암호화된 메시지의 해독이 성공되면 상기 서버측 비밀키를 상기 프로토-세션에 로딩(loading)하는 단계를 포함하는 방법.
KR1019990005406A 1998-02-19 1999-02-18 데이터네트워크상의박형의클라이언트장치와서버장치사이에암호-발효프로세스를실행시키기위한방법및장치 KR19990072733A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US9/026,025 1998-02-19
US09/026,025 US6263437B1 (en) 1998-02-19 1998-02-19 Method and apparatus for conducting crypto-ignition processes between thin client devices and server devices over data networks

Publications (1)

Publication Number Publication Date
KR19990072733A true KR19990072733A (ko) 1999-09-27

Family

ID=21829440

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990005406A KR19990072733A (ko) 1998-02-19 1999-02-18 데이터네트워크상의박형의클라이언트장치와서버장치사이에암호-발효프로세스를실행시키기위한방법및장치

Country Status (5)

Country Link
US (1) US6263437B1 (ko)
EP (1) EP0938209A3 (ko)
JP (1) JPH11331147A (ko)
KR (1) KR19990072733A (ko)
CN (1) CN1234662A (ko)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010032955A (ko) * 1997-12-12 2001-04-25 피터 엔. 데트킨 상이한 어드레스 공간에서 다른 프로세스를 인증하는 방법및 장치
KR20030084613A (ko) * 2002-04-26 2003-11-01 후지쯔 가부시끼가이샤 게이트웨이, 통신 단말 장치 및 통신 제어 프로그램
KR100412041B1 (ko) * 2002-01-04 2003-12-24 삼성전자주식회사 시큐러티 프로토콜의 기능을 수행하는 홈 게이트웨이 및그 방법
KR100889400B1 (ko) * 2001-04-24 2009-03-20 가부시키가이샤 엔티아이 데이터 전송장치 및 파일장치
KR100943683B1 (ko) * 2001-06-08 2010-02-22 노키아 코포레이션 데이터 전송 안전 확보 방법, 통신 시스템 및 통신 장치
KR101020470B1 (ko) * 2010-09-29 2011-03-08 주식회사 엔피코어 네트워크 침입차단 방법 및 장치

Families Citing this family (116)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5809415A (en) * 1995-12-11 1998-09-15 Unwired Planet, Inc. Method and architecture for an interactive two-way data communication network
US6473609B1 (en) * 1995-12-11 2002-10-29 Openwave Systems Inc. Method and architecture for interactive two-way communication devices to interact with a network
US6742022B1 (en) * 1995-12-11 2004-05-25 Openwave Systems Inc. Centralized service management system for two-way interactive communication devices in data networks
US8225089B2 (en) * 1996-12-04 2012-07-17 Otomaku Properties Ltd., L.L.C. Electronic transaction systems utilizing a PEAD and a private key
US6065120A (en) * 1997-12-09 2000-05-16 Phone.Com, Inc. Method and system for self-provisioning a rendezvous to ensure secure access to information in a database from multiple devices
US7107246B2 (en) * 1998-04-27 2006-09-12 Esignx Corporation Methods of exchanging secure messages
US7025209B2 (en) * 1998-05-29 2006-04-11 Palmsource, Inc. Method and apparatus for wireless internet access
US6343318B1 (en) 1998-05-29 2002-01-29 Palm, Inc. Method and apparatus for communicating information over low bandwidth communications networks
US6606663B1 (en) * 1998-09-29 2003-08-12 Openwave Systems Inc. Method and apparatus for caching credentials in proxy servers for wireless user agents
JP3644579B2 (ja) * 1998-10-29 2005-04-27 富士通株式会社 セキュリティ強化方法及び装置
AU3475000A (en) 1999-01-29 2000-08-18 General Instrument Corporation Key management for telephone calls to protect signaling and call packets betweencta's
US6081900A (en) * 1999-03-16 2000-06-27 Novell, Inc. Secure intranet access
US7904951B1 (en) 1999-03-16 2011-03-08 Novell, Inc. Techniques for securely accelerating external domains locally
US8060926B1 (en) 1999-03-16 2011-11-15 Novell, Inc. Techniques for securely managing and accelerating data delivery
US7249377B1 (en) * 1999-03-31 2007-07-24 International Business Machines Corporation Method for client delegation of security to a proxy
FR2792482A1 (fr) * 1999-04-13 2000-10-20 Thomson Multimedia Sa Reseau numerique local, notamment reseau numerique domestique, et procede de creation et de mise a jour d'un tel reseau
US6584567B1 (en) * 1999-06-30 2003-06-24 International Business Machines Corporation Dynamic connection to multiple origin servers in a transcoding proxy
US7290142B1 (en) * 1999-09-28 2007-10-30 Thomas Licensing System and method for initializing a simple network management protocol (SNMP) agent
US6707942B1 (en) * 2000-03-01 2004-03-16 Palm Source, Inc. Method and apparatus for using pressure information for improved computer controlled handwriting recognition, data entry and user authentication
US20020111997A1 (en) * 2000-04-26 2002-08-15 Maurice Herlihy Methods and systems for securing computer software
US6766453B1 (en) * 2000-04-28 2004-07-20 3Com Corporation Authenticated diffie-hellman key agreement protocol where the communicating parties share a secret key with a third party
US6641091B1 (en) * 2000-06-01 2003-11-04 General Electric Company Highway railroad crossing vehicle detection methods and systems
US7080147B2 (en) * 2000-09-04 2006-07-18 International Business Machines Corporation Computer network system, computer system, method for communication between computer systems, method for measuring computer system performance, and storage medium
US7684786B2 (en) * 2003-08-26 2010-03-23 Nokia Corporation Method and system for establishing a connection between network elements
US7403980B2 (en) 2000-11-08 2008-07-22 Sri International Methods and apparatus for scalable, distributed management of virtual private networks
US20020146129A1 (en) 2000-11-09 2002-10-10 Kaplan Ari D. Method and system for secure wireless database management
EP2378733B1 (en) * 2000-11-10 2013-03-13 AOL Inc. Digital content distribution and subscription system
US20020078352A1 (en) * 2000-12-15 2002-06-20 International Business Machines Corporation Secure communication by modification of security codes
US7254237B1 (en) 2001-01-12 2007-08-07 Slt Logic, Llc System and method for establishing a secure connection
US7017175B2 (en) * 2001-02-02 2006-03-21 Opentv, Inc. Digital television application protocol for interactive television
US7305697B2 (en) 2001-02-02 2007-12-04 Opentv, Inc. Service gateway for interactive television
US7383329B2 (en) 2001-02-13 2008-06-03 Aventail, Llc Distributed cache for state transfer operations
US7360075B2 (en) 2001-02-12 2008-04-15 Aventail Corporation, A Wholly Owned Subsidiary Of Sonicwall, Inc. Method and apparatus for providing secure streaming data transmission facilities using unreliable protocols
US7353380B2 (en) * 2001-02-12 2008-04-01 Aventail, Llc, A Subsidiary Of Sonicwall, Inc. Method and apparatus for providing secure streaming data transmission facilities using unreliable protocols
US20020194501A1 (en) * 2001-02-25 2002-12-19 Storymail, Inc. System and method for conducting a secure interactive communication session
US6981144B2 (en) * 2001-04-06 2005-12-27 International Business Machines Corporation System console device authentication in a network environment
US20040049676A1 (en) * 2001-04-26 2004-03-11 Bruno Dutertre Methods and protocols for intrusion-tolerant management of collaborative network groups
US20020176378A1 (en) * 2001-05-22 2002-11-28 Hamilton Thomas E. Platform and method for providing wireless data services
US20020176377A1 (en) * 2001-05-22 2002-11-28 Hamilton Thomas E. Service platform on wireless network
US20020177431A1 (en) * 2001-05-22 2002-11-28 Hamilton Thomas E. Packet switched data service on a wireless network
US7272232B1 (en) * 2001-05-30 2007-09-18 Palmsource, Inc. System and method for prioritizing and balancing simultaneous audio outputs in a handheld device
US7424615B1 (en) * 2001-07-30 2008-09-09 Apple Inc. Mutually authenticated secure key exchange (MASKE)
US8819253B2 (en) * 2001-11-13 2014-08-26 Oracle America, Inc. Network message generation for automated authentication
US20030182464A1 (en) * 2002-02-15 2003-09-25 Hamilton Thomas E. Management of message queues
US20030177283A1 (en) * 2002-03-18 2003-09-18 Hamilton Thomas E. Application program interface
US7475248B2 (en) 2002-04-29 2009-01-06 International Business Machines Corporation Enhanced message security
JP2004032001A (ja) * 2002-05-10 2004-01-29 Sony Corp データ暗号化,復号化もしくは暗号化・復号化方法及び装置
US7346167B2 (en) * 2002-05-10 2008-03-18 Harris Corporation Secure mobile ad-hoc network and related methods
US6931132B2 (en) * 2002-05-10 2005-08-16 Harris Corporation Secure wireless local or metropolitan area network and related methods
US7246232B2 (en) * 2002-05-31 2007-07-17 Sri International Methods and apparatus for scalable distributed management of wireless virtual private networks
US20040003282A1 (en) * 2002-06-28 2004-01-01 Smith Alrick Lockhart Method of storing data
US7352867B2 (en) * 2002-07-10 2008-04-01 General Instrument Corporation Method of preventing unauthorized distribution and use of electronic keys using a key seed
US7221757B2 (en) * 2002-08-15 2007-05-22 Opentv, Inc. Method and system for accelerated data encryption
US7600118B2 (en) * 2002-09-27 2009-10-06 Intel Corporation Method and apparatus for augmenting authentication in a cryptographic system
KR100554799B1 (ko) 2002-11-19 2006-02-22 엘지전자 주식회사 Gsm이동통신 시스템의 전송 데이타 암호화 및 암호화 해제 방법
US7454785B2 (en) * 2002-12-19 2008-11-18 Avocent Huntsville Corporation Proxy method and system for secure wireless administration of managed entities
US7386619B1 (en) * 2003-01-06 2008-06-10 Slt Logic, Llc System and method for allocating communications to processors in a multiprocessor system
EP1582024B1 (en) * 2003-01-07 2009-09-30 QUALCOMM Incorporated System, apparatus and method for replacing a cryptographic key
KR100512954B1 (ko) * 2003-03-12 2005-09-07 삼성전자주식회사 안전한 통신을 위한 rr 방법
WO2004084029A2 (en) * 2003-03-14 2004-09-30 Citibank, N.A. Method and system of transaction security
US7451305B1 (en) * 2003-04-10 2008-11-11 Cisco Technology, Inc. Method and apparatus for securely exchanging cryptographic identities through a mutually trusted intermediary
US7394761B2 (en) * 2003-04-29 2008-07-01 Avocent Huntsville Corporation System and method for delivering messages using alternate modes of communication
US7333806B2 (en) * 2003-07-23 2008-02-19 Midland Radio Corporation System and method for enabling two-way radio communications over a computer network
US20050033833A1 (en) * 2003-08-05 2005-02-10 International Business Machines Corporation Method, system, and program product fo rmanaging device identifiers
US8161146B2 (en) * 2003-08-05 2012-04-17 International Business Machines Corporation Method, system, and program product for assigning device identifiers
KR101000918B1 (ko) * 2003-09-01 2010-12-13 삼성전자주식회사 공개 키/개인 키 쌍을 재사용하는 장치 및 방법
US7434051B1 (en) * 2003-09-29 2008-10-07 Sun Microsystems, Inc. Method and apparatus for facilitating secure cocktail effect authentication
DE10352071A1 (de) * 2003-11-07 2005-06-23 Daimlerchrysler Ag Verfahren zur Erkennung von unberechtigten Komponententausch
TWI234380B (en) * 2003-12-31 2005-06-11 Benq Corp Mobile communication system and verification method
US8065720B1 (en) 2004-01-06 2011-11-22 Novell, Inc. Techniques for managing secure communications
US7346773B2 (en) * 2004-01-12 2008-03-18 Cisco Technology, Inc. Enabling stateless server-based pre-shared secrets
JP2005210193A (ja) * 2004-01-20 2005-08-04 Matsushita Electric Works Ltd 共通秘密鍵生成装置
US7434054B2 (en) * 2004-03-31 2008-10-07 Microsoft Corporation Asynchronous enhanced shared secret provisioning protocol
US9088561B2 (en) * 2004-05-19 2015-07-21 Ca, Inc. Method and system for authentication in a computer network
EP1607821A1 (fr) * 2004-06-17 2005-12-21 Nagracard S.A. Méthode de mise à jour sécurisée de logiciel dans un mobile de sécurité
US7428754B2 (en) * 2004-08-17 2008-09-23 The Mitre Corporation System for secure computing using defense-in-depth architecture
US7430664B2 (en) * 2005-02-02 2008-09-30 Innomedia Pte, Ltd System and method for securely providing a configuration file over and open network
US7757274B2 (en) * 2005-04-05 2010-07-13 Mcafee, Inc. Methods and systems for exchanging security information via peer-to-peer wireless networks
US7350227B2 (en) * 2005-04-26 2008-03-25 Cisco Technology, Inc. Cryptographic peer discovery, authentication, and authorization for on-path signaling
US20070016767A1 (en) * 2005-07-05 2007-01-18 Netdevices, Inc. Switching Devices Avoiding Degradation of Forwarding Throughput Performance When Downloading Signature Data Related to Security Applications
JP4828931B2 (ja) * 2005-12-21 2011-11-30 パナソニック株式会社 コンテンツ受信装置
WO2007076878A1 (en) * 2005-12-30 2007-07-12 Telecom Italia S.P.A. Method and system for protected distribution of digitalized sensitive information
US20080115125A1 (en) * 2006-11-13 2008-05-15 Cingular Wireless Ii, Llc Optimizing static dictionary usage for signal compression and for hypertext transfer protocol compression in a wireless network
JP4360417B2 (ja) * 2007-04-13 2009-11-11 フェリカネットワークス株式会社 情報提供システム、情報処理サーバ、提供サーバ、通信装置、プログラムおよび情報提供方法
US8478988B2 (en) * 2007-05-15 2013-07-02 At&T Intellectual Property I, L.P. System and method for authentication of a communication device
US8122482B2 (en) * 2008-01-24 2012-02-21 Cisco Technology, Inc. Cryptographic peer discovery, authentication, and authorization for on-path signaling
KR101495722B1 (ko) * 2008-01-31 2015-02-26 삼성전자주식회사 홈 네트워크에서의 통신 보안성을 보장하는 방법 및 이를위한 장치
US20090240942A1 (en) * 2008-03-20 2009-09-24 Canon Kabushiki Kaisha Long term key establishment for embedded devices
US8543091B2 (en) 2008-06-06 2013-09-24 Ebay Inc. Secure short message service (SMS) communications
US20090307140A1 (en) 2008-06-06 2009-12-10 Upendra Mardikar Mobile device over-the-air (ota) registration and point-of-sale (pos) payment
CN102035644B (zh) * 2009-09-29 2013-02-27 国基电子(上海)有限公司 主密钥动态配置系统及方法
US20120063597A1 (en) * 2010-09-15 2012-03-15 Uponus Technologies, Llc. Apparatus and associated methodology for managing content control keys
US8713300B2 (en) 2011-01-21 2014-04-29 Symantec Corporation System and method for netbackup data decryption in a high latency low bandwidth environment
US8495178B1 (en) 2011-04-01 2013-07-23 Symantec Corporation Dynamic bandwidth discovery and allocation to improve performance for backing up data
US8862767B2 (en) 2011-09-02 2014-10-14 Ebay Inc. Secure elements broker (SEB) for application communication channel selector optimization
US20130110675A1 (en) * 2011-10-31 2013-05-02 Microsoft Corporation Marketplace for Composite Application and Data Solutions
USRE48644E1 (en) * 2012-04-12 2021-07-13 Jintai Ding Cryptographic system using pairing with errors
US9420008B1 (en) * 2012-05-10 2016-08-16 Bae Systems Information And Electronic Systems Integration Inc. Method for repurposing of communications cryptographic capabilities
US20150113283A1 (en) * 2012-06-23 2015-04-23 Pomian & Corella Protecting credentials against physical capture of a computing device
CN102932345B (zh) * 2012-10-26 2015-11-18 山东中创软件商用中间件股份有限公司 一种信息传输方法、装置及系统
US9948614B1 (en) * 2013-05-23 2018-04-17 Rockwell Collins, Inc. Remote device initialization using asymmetric cryptography
US9515997B1 (en) * 2013-07-19 2016-12-06 Amazon Technologies, Inc. Inline data encryption
US10044835B1 (en) 2013-12-11 2018-08-07 Symantec Corporation Reducing redundant transmissions by polling clients
KR101508859B1 (ko) * 2013-12-30 2015-04-07 삼성에스디에스 주식회사 클라이언트와 서버 간 보안 세션을 수립하기 위한 방법 및 장치
US9992118B2 (en) 2014-10-27 2018-06-05 Veritas Technologies Llc System and method for optimizing transportation over networks
US9667600B2 (en) * 2015-04-06 2017-05-30 At&T Intellectual Property I, L.P. Decentralized and distributed secure home subscriber server device
CN107347058B (zh) 2016-05-06 2021-07-23 阿里巴巴集团控股有限公司 数据加密方法、数据解密方法、装置及系统
CN111630810B (zh) * 2017-11-10 2023-05-30 日本电信电话株式会社 密钥交换装置、密钥交换系统、密钥交换方法及记录介质
WO2019136496A1 (en) * 2018-01-03 2019-07-11 Alibaba Group Holding Limited System and method for secure communication
CN109994115B (zh) * 2018-01-03 2023-07-07 阿里巴巴集团控股有限公司 通讯方法及装置、数据处理方法及设备
US11184160B2 (en) 2020-02-26 2021-11-23 International Business Machines Corporation Channel key loading in a computing environment
US11546137B2 (en) 2020-02-26 2023-01-03 International Business Machines Corporation Generation of a request to initiate a secure data transfer in a computing environment
US11489821B2 (en) * 2020-02-26 2022-11-01 International Business Machines Corporation Processing a request to initiate a secure data transfer in a computing environment
US11502834B2 (en) 2020-02-26 2022-11-15 International Business Machines Corporation Refreshing keys in a computing environment that provides secure data transfer
US11652616B2 (en) 2020-02-26 2023-05-16 International Business Machines Corporation Initializing a local key manager for providing secure data transfer in a computing environment
US11546176B2 (en) * 2020-08-26 2023-01-03 Rockwell Collins, Inc. System and method for authentication and cryptographic ignition of remote devices

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5434918A (en) * 1993-12-14 1995-07-18 Hughes Aircraft Company Method for providing mutual authentication of a user and a server on a network
US5416842A (en) * 1994-06-10 1995-05-16 Sun Microsystems, Inc. Method and apparatus for key-management scheme for use with internet protocols at site firewalls
US5638444A (en) * 1995-06-02 1997-06-10 Software Security, Inc. Secure computer communication method and system
FR2741465B1 (fr) * 1995-11-20 1997-12-19 Bull Sa Procede d'authentification d'un utilisateur travaillant dans un environnement distribue en mode client/serveur
US5602918A (en) * 1995-12-22 1997-02-11 Virtual Open Network Environment Corp. Application level security system and method
US5850444A (en) * 1996-09-09 1998-12-15 Telefonaktienbolaget L/M Ericsson (Publ) Method and apparatus for encrypting radio traffic in a telecommunications network
US5909491A (en) * 1996-11-06 1999-06-01 Nokia Mobile Phones Limited Method for sending a secure message in a telecommunications system
US5953424A (en) * 1997-03-18 1999-09-14 Hitachi Data Systems Corporation Cryptographic system and protocol for establishing secure authenticated remote access

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010032955A (ko) * 1997-12-12 2001-04-25 피터 엔. 데트킨 상이한 어드레스 공간에서 다른 프로세스를 인증하는 방법및 장치
KR100889400B1 (ko) * 2001-04-24 2009-03-20 가부시키가이샤 엔티아이 데이터 전송장치 및 파일장치
KR100943683B1 (ko) * 2001-06-08 2010-02-22 노키아 코포레이션 데이터 전송 안전 확보 방법, 통신 시스템 및 통신 장치
KR100412041B1 (ko) * 2002-01-04 2003-12-24 삼성전자주식회사 시큐러티 프로토콜의 기능을 수행하는 홈 게이트웨이 및그 방법
KR20030084613A (ko) * 2002-04-26 2003-11-01 후지쯔 가부시끼가이샤 게이트웨이, 통신 단말 장치 및 통신 제어 프로그램
KR101020470B1 (ko) * 2010-09-29 2011-03-08 주식회사 엔피코어 네트워크 침입차단 방법 및 장치

Also Published As

Publication number Publication date
US6263437B1 (en) 2001-07-17
JPH11331147A (ja) 1999-11-30
EP0938209A3 (en) 2000-04-19
CN1234662A (zh) 1999-11-10
EP0938209A2 (en) 1999-08-25

Similar Documents

Publication Publication Date Title
KR19990072733A (ko) 데이터네트워크상의박형의클라이언트장치와서버장치사이에암호-발효프로세스를실행시키기위한방법및장치
US7036010B2 (en) Method and apparatus for a secure communications session with a remote system via an access-controlling intermediate system
US8693695B2 (en) Systems and methods to securely generate shared keys
US6993651B2 (en) Security protocol
US6952768B2 (en) Security protocol
US6292895B1 (en) Public key cryptosystem with roaming user capability
US6480957B1 (en) Method and system for secure lightweight transactions in wireless data networks
EP1747638B1 (en) Systems and methods to securely generate shared keys
JP2004515117A (ja) 暗号化データセキュリティシステムおよび方法
EP1400089A1 (en) Authentication of a user across communication sessions
KR20060132026A (ko) 무선 휴대용 장치들의 배치와 규약
JPH10242957A (ja) ユーザ認証方法およびシステムおよびユーザ認証用記憶媒体
US20040141616A1 (en) Security object with encrypted, spread spectrum data communications
CN114707158A (zh) 基于tee的网络通信认证方法以及网络通信认证系统
He et al. An asymmetric authentication protocol for M-Commerce applications
CN114205170B (zh) 跨接口平台组网通信及服务加密调用方法
Venugopal The design, implementation, and evaluation of cryptographic distributed applications: Secure PVM
CN114244569A (zh) Ssl vpn远程访问方法、系统和计算机设备
KR19990086998A (ko) 무선 데이터 네트워크에서 보안된 경량 거래를 위한 방법 및 시스템
CUI et al. ENSURING SECURE COMMUNICATION FOR A DISTRIBUTED MOBILE COMPUTING SYSTEM BASED ON MICMAC
LIN et al. SECURE INTERNET ACCESSIBLE MATHEMATICAL COMPUTATION FRAMEWORK

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application