KR100678934B1 - 세션키를 재사용하는 클라이언트와 서버간 보안 통신 방법및 장치 - Google Patents

세션키를 재사용하는 클라이언트와 서버간 보안 통신 방법및 장치 Download PDF

Info

Publication number
KR100678934B1
KR100678934B1 KR1020040042275A KR20040042275A KR100678934B1 KR 100678934 B1 KR100678934 B1 KR 100678934B1 KR 1020040042275 A KR1020040042275 A KR 1020040042275A KR 20040042275 A KR20040042275 A KR 20040042275A KR 100678934 B1 KR100678934 B1 KR 100678934B1
Authority
KR
South Korea
Prior art keywords
client
session key
session
server
identification information
Prior art date
Application number
KR1020040042275A
Other languages
English (en)
Other versions
KR20050117086A (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 삼성전자주식회사
Priority to KR1020040042275A priority Critical patent/KR100678934B1/ko
Priority to US11/147,286 priority patent/US20060005026A1/en
Priority to CN200510075094XA priority patent/CN1708003B/zh
Publication of KR20050117086A publication Critical patent/KR20050117086A/ko
Application granted granted Critical
Publication of KR100678934B1 publication Critical patent/KR100678934B1/ko

Links

Images

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/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
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • H04L9/0841Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
    • H04L9/0844Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols with user authentication or key authentication, e.g. ElGamal, MTI, MQV-Menezes-Qu-Vanstone protocol or Diffie-Hellman protocols using implicitly-certified keys
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic 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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • 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/56Financial cryptography, e.g. electronic payment or e-cash

Landscapes

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

Abstract

한번 생성된 세션키를 세션이 종료된 후에도 폐기하지 않고 보관하여 세션키를 재사용하는 클라이언트와 서버간 보안 통신 방법 및 장치가 제공된다.
본 발명의 실시예에 따른 보안 통신 방법은, 세션키를 세션 식별정보에 따라 관리하고 유효한 세션키가 존재하는 경우 그 세션키로 데이터를 암호화하거나 복호화하여 서버와 통신을 하지만, 유효한 세션키가 저장되어 있지 않은 경우 클라이언트가 새로운 세션키를 생성하여 서버와 세션키 공유과정을 수행한 후 그 세션키를 사용하여 암호화된 통신을 한다.
보안, 세션키, 재사용

Description

세션키를 재사용하는 클라이언트와 서버간 보안 통신 방법 및 장치{Method and apparatus for secure communication reusing a session key between clients and servers}
도 1은 종래의 보안 소켓 레이어(Secure Socket Layer; 이하 SSL이라 함)에서의 세션 공유 과정을 보여주는 도면이다.
도 2는 본 발명의 실시예에 따른 전체 시스템의 구성을 보여주는 도면이다.
도 3은 본 발명의 일 실시예에 따른 클라이언트의 구성을 보여주는 도면이다.
도 4는 본 발명의 일 실시예에 따른 서버의 구성을 보여주는 도면이다.
도 5는 본 발명의 실시예에 따른 통신 방법의 전체 순서를 보여주는 흐름도이다.
도 6a는 본 발명의 실시예에 따른 클라이언트의 동작 과정을 보여주는 흐름도이다.
도 6b는 클라이언트의 동작 과정의 또 다른 실시예를 보여주는 흐름도이다.
도 7a는 본 발명의 실시예에 따른 서버의 동작 과정을 보여주는 흐름도이다.
도 7b는 서버의 동작 과정의 또 다른 실시예를 보여주는 흐름도이다.
도 8은 본 발명의 통신 방법에 따라 서버에서 생성되는 세션의 식별정보의 일 실시예를 보여주는 도면이다.
도 9는 동일한 클라이언트내에서 실행되는 다수의 어플리케이션 프로그램에 의해 하나의 세션키가 공유되는 것을 보여주는 도면이다.
도 10은 동일한 클라이언트내에서 실행되는 다수의 어플리케이션 프로그램에 의해 세션키가 공유되는 과정을 클라이언트의 측면에서 보여주는 흐름도이다.
도 11은 다수의 어플리케이션 프로그램에 의해 세션키가 공유되는 과정을 서버의 측면에서 보여주는 흐름도이다.
본 발명은 세션키를 재사용하는 클라이언트와 서버간 보안 통신 방법 및 장치에 관한 것으로서, 더욱 상세하게는 한번 생성된 세션키를 세션이 종료된 후에도 폐기하지 않고 보관하고 세션 식별정보에 따라 관리함으로써, 동일한 세션을 공유하는 클라이언트와 서버간의 통신시 일정한 조건하에 이 세션키를 재사용하여 세션키 공유과정으로 인한 부하를 줄이고, 동일한 클라이언트내에서 생성되는 추가적인 어플리케이션 프로그램으로 하여금 이 세션키를 사용하도록 하여 세션키의 관리를 용이하게 하는 세션키를 재사용하는 클라이언트와 서버간 보안 통신 방법 및 장치에 관한 것이다.
월드 와이드 웹(World Wide Web; 이하 WWW라 함)이 주요 정보 교환의 수단으로 나타나고 WWW의 상업적 이용의 확산에 따라서 WWW 상에서 주고받는 구매, 주문, 지불 등의 민감한 정보를 보호할 필요성이 나날이 커지고 있다. 그러나, TCP/IP 네트워크는 프로토콜 특성상 보안성에 매우 취약하기 때문에 WWW 상(특히 전자 상거래 사이트)에서 주고 받는 민감한 정보 (예: 신용카드 번호, 비밀번호 등)들을 통신 상의 양측이 동의한 암호화를 통하여 안전하게 전달해야 할 필요가 있다.
대표적인 암호화 방법에는 대칭키 암호화(Symetric-key Criptography)와 공개키 암호화(Public-key Cryptography) 방법이 있다.
대칭키 암호화(Symetric-key Criptography)란, 비밀키 암호화라고도 하며, 이는 데이터를 암호화하는데 사용된 키와 데이터를 복호화하는데 사용된 키가 동일한 암호화를 의미한다. 이러한 대칭키 암호화의 예로는 DES가 가장 일반적으로 사용되고 있으며, 최근에는 AES를 채용한 어플리케이션이 증가하고 있다.
공개키 암호화(Public-key Cryptography)란, 비대칭 암호화라고도 하며, 이는 데이터를 복호화하는데 사용된 키가 데이터를 암호화한 키와 서로 다른 암호화를 의미한다. 이 한 쌍의 키는 일정 알고리즘에 따라서 서로 의존적인 관계로 생성되는데, 통상 암호화를 위해 사용되는 키를 공개키(Public Key), 공개키로 암호화된 암호문을 복호화하기 위해 사용되는 키를 개인키(Private Key)라고 부른다. 개인키는 자신의 개인키를 자신만이 알 수 있도록 보관하며 공개키는 누구나 획득할 수 있도록 공개된다. 공개키로 암호화된 암호문은 그 공개키와 한 쌍인 개인키로만 복호화 할 수 있다. 공개키 암호화 시스템의 예로는 Diffie-Hellman 암호시스템, RSA 암호시스템, ElGamal 암호시스템, 및 타원곡선(Elliptic Curve) 암호화 시스템 등이 있다. 공개키 암호화의 경우에 대칭키 암호화보다 약 100~1000배 정도 느리 기 때문에 콘텐츠 자체를 암호화하는데 사용되기 보다는 키교환이나 전자서명 등에 사용된다.
따라서, 실제 정보 암호화의 응용에서는 위의 대칭키 암호화와 공개키 암호화를 혼합한 혼성 암호화 시스템(Hybrid Encryption System)을 사용하게 된다. 혼성 암호화 시스템에서는 누구나 메시지를 암호화할 수 있지만 개인키를 소유하고 있는 사람만이 그 암호화된 메시지를 복호화할 수 있다. 실제 전송하고자 하는 메시지는 랜덤하게 생성된 세션키를 이용하여 암호화하며 이것은 대칭키 암호화 방식을 따른다.
도 1은 혼성 암호화 방식을 따르는 종래의 보안 소켓 레이어(Secure Socket Layer; 이하 SSL이라 함)에서의 세션 공유 과정을 보여주는 도면이다.
SSL 프로토콜은 네트워크 레이어와(예: TCP/IP)와 어플리케이션 레이어 사이에 위치하는 프로토콜 레이어상에서 상호 인증, 무결성을 위한 전자 서명의 사용, 프라이버시(Privacy)를 위한 암호화 등을 이용하여 클라이언트와 서버간의 안전한 통신을 제공한다. 네스케이프 사에 의하여 제안되었으며, 실질적으로 웹 상에서의 보안 솔류션의 표준으로 인식되고 있다.
종래의 SSL에서의 세션 공유 과정은 혼성 암호화 방식을 따르고 있다. 사용자가 웹 브라우저를 이용하여 웹 서버에 접속하면 웹 서버는 자신의 공개키를 포함하고 있는 인증서를 제공한다. 클라이언트인 웹 브라우저는 인증서로부터 웹 서버의 공개키를 획득한 후, 임의의 세션키를 생성(S10)하여 이를 웹 서버의 공개키로 암호화(S20)하여 웹 서버로 전송한다. 웹 서버는 수신한 메시지를 자신의 개인키로 복호화하여 세션키를 획득(S30)하고, 전송하고자 하는 메시지를 세션키로 암호화(S40)하여 클라이언트로 보낸다. 클라이언트는 전송된 메시지를 세션키로 복호화한다(S50). 양측간의 통신이 종료되면 클라이언트는 서버에 세션 종료를 요청하고 클라이언트와 웹 서버는 세션키를 폐기(S60)한다. 세션 종료시 세션키를 폐기하는 것은 세션이 생성될 때마다 임의의 새로운 세션키를 생성함으로써 세션키의 유출로 야기될 수 있는 보안 문제를 방지하기 위함이다.
그러나, 상술한 바와 같은 종래의 SSL 프로토콜에서는 클라이언트가 서버에 접속할 때마다 세션키 공유 과정을 수행하므로 CPU의 부하를 초래함으로써 웹 서버의 가용율을 저하시킴과 동시에 서버와 클라이언트간의 전송 속도도 저하시킨다.
세션키 공유 작업은 데이터 보안에 있어 가장 큰 부하를 발생시키므로 접속이 빈번하고 트랜잭션이 많은 네트워크 환경, 예를 들면 홈 네트워크 환경에 종래의 SSL 프로토콜을 적용하는 것은 실용적이지 않다. 또한, 종래의 SSL 프로토콜의 경우 동일한 PC상에서 실행되는 각각의 웹 브라우저가 서버와 세션키 공유 작업을 해야하므로 서버로부터 브로드캐스팅되는 메시지를 처리해야하는 네트워크 환경에는 적용될 수 없는 문제점도 있다.
본 발명은 클라이언트와 서버간의 세션이 종료되더라도 상호간에 공유된 세션키를 저장하고 세션 식별정보에 따라 관리하여 재사용하게 함으로써, 세션키 공유과정의 부하를 줄이고, 동일한 클라이언트 내에서 생성되는 추가적인 어플리케이션 프로그램으로 하여금 별도의 세션키 공유과정 없이 서버와 안전한 통신을 할 수 있도록 하여 세션키 관리에 따른 부하를 줄이는 세션키를 재사용하는 클라이언트와 서버간 보안 통신 방법 및 장치를 제공하는데 그 목적이 있다.
본 발명의 목적은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해되어질 수 있을 것이다.
상기 목적을 달성하기 위하여, 본 발명의 실시예에 따른 클라이언트와 서버간 보안 통신 방법은, 하나 이상의 클라이언트에 의해 접속되면 상기 클라이언트에 인증서를 송신하는 단계; 클라이언트에 의해 생성된 세션키를 수신하는단계; 세션키에 대응하는 세션 식별정보를 생성하는 단계; 세션 식별정보를 클라이언트에 송신하는 단계; 및 세션키를 이용하여 클라이언트로부터 수신된 암호화된 메시지를 복호화하고, 클라이언트로 송신할 메시지를 암호화하는 단계를 포함한다.
한편, 본 발명의 실시예에 따른 클라이언트와 서버간 보안 통신 방법은, 하나 이상의 클라이언트에 의해 접속되면 상기 클라이언트에 인증서를 송신하는 단계; 클라이언트에 의해 생성된 인증서의 공개키로 암호화된 세션키 및 세션 식별정보를 수신하는단계; 암호화된 세션키 및 세션 식별정보를 복호화하는 단계; 및 세션키를 이용하여 식별정보를 송신한 클라이언트로부터 수신된 암호화된 메시지를 복호화하고, 식별정보를 송신한 클라이언트로 송신할 메시지를 암호화하는 단계를 포함한다.
상기 목적을 달성하기 위하여, 본 발명의 실시예에 따른 클라이언트와 서버 간 보안 통신 방법은, 하나 이상의 서버에 접속하는 (a)단계;
접속된 서버로부터 인증서를 수신하는 (b)단계; 인증서로부터 접속된 서버의 공개키를 추출하는 (c)단계; 접속된 서버와의 통신을 위한 세션키를 생성하는 (d)단계; 세션키를 공개키로 암호화하여 접속된 서버로 송신하는 (e)단계; 접속된 서버에 의해 생성된 세션키에 대응하는 세션 식별정보를 수신하는 (f)단계; 및 세션키를 이용하여 세션 식별정보를 생성한 서버로부터 수신된 암호화된 메시지를 복호화하고, 세션 식별정보를 생성한 서버로 송신할 메시지를 암호화하는 (g)단계를 포함한다.
한편, 본 발명의 실시예에 따른 클라이언트와 서버간 보안 통신 방법은, 클라이언트와 세션키를 공유하는 단계, 하나 이상의 서버에 접속하는 (a)단계; 접속된 서버로부터 인증서를 수신하는 (b)단계; 인증서로부터 접속된 서버의 공개키를 추출하는 (c)단계; 접속된 서버와의 통신을 위한 세션키 및 세션키에 대응하는 세션 식별정보를 생성하는 (d)단계; 세션키 및 세션 식별정보를 공개키로 암호화하여 접속된 서버로 송신하는 (e)단계; 및 세션키를 이용하여 세션 식별정보로 구별되는 접속된 서버로부터 수신된 암호화된 메시지를 복호화하고, 세션 식별정보로 구별되는 접속된 서버로 송신할 메시지를 암호화하는 (f)단계를 포함한다.
상기 목적을 달성하기 위하여, 본 발명의 실시예에 따른 보안 통신 장치는, 암호화 모듈암호화 모듈 세션 식별정보를 생성하는 세션 식별정보 생성 모듈; 접속된 클라이언트로 인증서를 송신하며, 클라이언트로부터 세션키를 수신하며, 세션 식별정보 생성 모듈에서 생성된 세션 식별정보를 클라이언트로 송신하며, 세션키로 암호화된 메시지를 송신하고 수신하는 송수신 모듈; 및 송수신 모듈에서 수신된 세션키를 이용하여 클라이언트로 송신할 메시지를 암호화하고 송수신 모듈에서 수신된 암호화된 메시지를 복호화하는 암호화 모듈을 포함한다.
한편, 본 발명의 실시예에 따른 보안 통신 장치는, 암호화 모듈 접속된 클라이언트로 인증서를 송신하며, 클라이언트로부터 세션키 및 세션 식별정보를 수신하며, 세션키로 암호화된 메시지를 송신하고 수신하는 송수신 모듈; 및 송수신 모듈에서 수신된 세션키를 이용하여 클라이언트로 송신할 메시지를 암호화하고 송수신 모듈에서 수신한 암호화된 메시지를 복호화하는 암호화 모듈을 포함한다.
상기 목적을 달성하기 위하여, 본 발명의 실시예에 따른 보안 통신 장치는, 세션키를 생성하는 세션키 생성 모듈; 서버로부터 인증서를 수신하며, 세션키 생성 모듈에서 생성된 세션키를 서버로 송신하며, 서버로부터 세션키에 대응하는 세션 식별정보를 수신하며, 세션키로 암호화된 메시지를 송신하고 수신하는 송수신 모듈; 송수신 모듈에서 수신된 인증서로부터 공개키를 추출하는 제어 모듈; 및 세션키 생성 모듈에서 생성된 세션키를 제어모듈에서 추출된 공개키로 암호화하며, 세션키로 메시지를 암호화하고 복호화하는 암호화 모듈을 포함한다.
한편, 본 발명의 실시예에 따른 보안 통신 장치는, 세션키를 생성하는 세션키 생성 모듈; 세션키에 대응하는 세션 식별정보를 생성하는 세션 식별정보 생성 모듈; 서버로부터 인증서를 수신하며, 세션키 생성 모듈에서 생성된 세션키 및 세션 식별정보 생성 모듈에서 생성된 세션 식별정보를 서버로 송신하는 송수신 모듈; 송수신 모듈에서 수신된 인증서로부터 공개키를 추출하는 제어 모듈; 및 세션키 생 성 모듈에서 생성된 세션키 및 세션 식별정보에서 생성된 세션 식별정보를 제어모듈에서 추출된 공개키로 암호화하며, 세션키로 메시지를 암호화하고 복호화하는 암호화 모듈을 포함한다.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명하기로 한다.
도 2는 본 발명의 실시예에 따른 전체 시스템의 구성을 보여주는 도면이다.
본 발명이 적용될 수 있는 시스템 환경은 접속이 빈번하고 트랜잭션이 많은 네트워크 환경 또는 서버로부터 브로드캐스팅되는 메시지를 처리해야하는 네트워크 환경이 될 수 있다. 예를 들면, 가정 내의 가전제품, 전기, 냉난방 시스템을 클라이언트를 통하여 서버에 접속함으로써 원격 제어할 수 있는 홈 네트워크 환경이 한 예가 될 수 있다. 따라서, 도 2에 도시된 바와 같이 다수의 클라이언트가 실행되는 클라이언트와 이에 서비스를 제공하는 서버가 네트워크로 연결되어있는 클라이언트 서버 환경이 일 실시예가 될 수 있다. 그러나, 본 발명이 적용될 수 있는 시스템은 클라이언트 서버 시스템에 국한되지 않고, 접속이 빈번하고 트랜잭션이 많은 네트워크 환경하의 소스와 싱크간의 암호화된 통신에 적용될 수 있음은 당업자에게 있어서 자명하다.
도 3 은 본 발명의 일 실시예에 따른 클라이언트의 구성을 보여주는 도면이다.
본 발명의 실시예에 따른 클라이언트(300)는 세션키 검증 모듈, 세션키 생성 모듈, 제어 모듈, 저장 모듈, 암호화 모듈, 및 송수신 모듈과 세션키 저장소로 구성된다.
세션키 검증 모듈(310)은 세션키 저장소(360)에 저장되어 있는 세션키가 재사용 가능한 세션키인지를 검증한다. 세션키가 재사용가능한 유효한 세션키인지를 검증하는 상세한 과정은 도 6에서 후술하도록 한다. 세션키 생성 모듈(320)은 세션키 검증 모듈(310)의 검증 결과 재사용 가능한 유효한 세션키가 존재하지 않는 경우 새로운 세션키를 생성한다. 암호화 모듈(340)은 세션키 생성 모듈(310)에 의해 생성된 세션키를 서버의 공개키로 암호화하며, 서버와 주고 받는 메시지를 세션키로 암호화하거나 복호화한다. 송수신 모듈(350)은 암호화 모듈(340)에 의해 서버의 공개키로 암호화된 세션키 및 이 세션키로 암호화된 메시지를 서버로 전송하고, 서버로부터 세션의 식별정보 및 세션키로 암호화된 메시지를 수신한다. 저장 모듈(320)은 세션키 생성 모듈(310)에 의해 생성된 세션키 및 송수신 모듈(350)에 의해 수신되는 세션의 식별정보를 세션키 저장소(360)에 저장한다.
본 발명에 따른 다른 실시예에서는 클라이언트에서 세션키에 대응하는 세션 식별정보를 생성할 수 있다. 이는 도 6b에서 후술하도록 한다.
도 4는 본 발명의 일 실시예에 따른 서버의 구성을 보여주는 도면이다.
본 발명의 실시예에 따른 서버(400)는 세션 식별정보 생성 모듈, 제어 모듈, 송수신 모듈, 암호화 모듈 및 저장 모듈과 세션키 저장소로 구성된다.제어 모듈(410)은 클라이언트에 대하여 세션키의 재공유를 요청하는 메시지를 생성하고, 다른 모듈의 동작을 관리한다.
세션 식별정보 생성 모듈(405)은 세션키에 대응하는 세션 식별정보를 생성한다. 세션의 식별정보는 세션키를 관리하기 위한 세션키의 식별자로서 그 구성은 도 8을 참조하여 설명한다. 세션의 식별 정보는 클라이언트와 서버간의 세션을 식별하기 위한 정보이므로 기본적으로 클라이언트를 구별할 수 있는 정보 와 서버를 구별할 수 있는 정보를 포함하며, 서버의 서브 포트 정보를 선택적으로 포함할 수 있다.
예를 들면, 클라이언트가 하나이고 서버가 여러 개인 경우, 세션 식별정보는 서버를 구별할 수 있는 정보만을 포함할 수 있고, 클라이언트가 여러 개이고 서버가 하나인 경우, 클라이언트를 구별할 수 있는 정보만으로 세션을 식별할 수 있다.
한편, 클라이언트와 서버가 여러 개인 경우, 클라이언트를 구별할 수 있는 정보 및 서버를 구별할 수 있는 정보 모두를 포함해야 세션을 식별할 수 있다. 클라이언트 및 서버를 구별할 수 있는 정보는 클라이언트와 서버를 구별할 수 있는 어떠한 정보도 포함할 수 있다.
본 발명의 일 실시예에 따른 클라이언트 서버 시스템 환경하에서는 도 8에 도시된 바와 같이 서버를 구별할 수 있는 정보로서 서버 식별자(810), 클라이언트를 구별할 수 있는 정보로서 클라이언트의 IP주소(820) 또는 클라이언트의 MAC 주소, 및 서버가 제공하는 서비스의 서브 포트(830) 정보를 포함할 수 있다. 클라이언트에 대한 세션키의 재공유 요청에 대한 설명은 도 7에서 후술하도록 한다.
송수신 모듈(440)은 클라이언트로부터 세션키 및 세션키로 암호화된 데이터를 수신하며, 세션 식별정보 생성 모듈(405)에 의해 생성된 세션의 식별정보 및 제어 모듈에 의해 생성된 세션키 재공유 요청 메시지를 전송한다. 암호화 모듈(430)은 송수신 모듈(440)에 의해 제공되는 세션키를 이용하여 수신된 메시지를 복호화하고, 클라이언트로 전송할 메시지를 암호화한다. 저장 모듈(420)은 송수신 모듈(440)에 의해 제공되는 세션키 및 세션 식별정보 생성 모듈(405)에 의해 생성되는 세션의 식별정보를 세션키 저장소(450)에 저장한다.
도 5는 본 발명의 실시예에 따른 통신 방법의 전체 순서를 보여주는 흐름도이다.
클라이언트 내에서 생성된 어플리케이션, 예를 들면 웹 브라우저는 세션키 저장소(360)로부터 세션키 및 세션의 식별정보, 예를 들면 세션 아이디를 포함하는 데이터를 읽은 후, 세션키 검증 모듈(310)에서 재사용 가능한 유효한 세션키가 존재하는지 판단(S510)한다. 유효한 세션키가 없는 경우, 세션키 생성 모듈(320)에서 새로운 세션키를 생성(S515)하고, 암호화 모듈(340)에서 서버의 공개키로 이 세션 키를 암호화(S520)하여 송수신 모듈(350)에 제공한다. 송수신 모듈(350)은 제공받은 암호화된 세션키를 서버로 전송한다.
서버, 예를 들면 웹 서버는 송수신 모듈(440)을 통하여 수신한 암호화된 세션키를 암호화 모듈(430)에서 자신의 개인키로 복호화(S525)하고, 세션 식별정보 생성 모듈에서 세션키를 관리하기 위한 세션의 식별정보를 생성(S530)한 후, 세션키 및 세션의 식별정보를 서버의 고유의 키로 암호화하여 저장 모듈(420)을 통해 세션키 저장소(450)에 저장(S535)한다. 암호화 모듈(430)이 세션키와 세션의 식별정보를 서버의 개인키로 암호화(S540)하고, 암호화된 상기 세션키와 상기 세션의 식별 정보는 송수신 모듈(440)에 의해 클라이언트로 전송된다.
클라이언트는 송수신 모듈(350)에서 수신한 암호화된 메시지를 암호화 모듈(340)에서 서버의 공개키로 복호화(S545)한 후, 세션키 및 세션의 식별정보를 클라이언트의 고유의 키로 암호화하여 저장모듈(330)을 통해 세션키 저장소(360)에 저장(S550)한다. 이로써 클라이언트와 서버간의 세션키의 공유가 이루어진다.
클라이언트는 서버로 전송하고자 하는 메시지가 있는 경우 이를 세션키로 암호화(S555)하여 전송하고, 서버는 수신한 메시지를 세션키로 복호화(S560)한다. 복호화시 오류가 발생하는 경우 오류 처리 단계(S565)를 거치게 된다. 오류 처리 단계에 대한 상세한 설명은 도 7에서 상술하도록 한다.
도 6a는 본 발명의 실시예에 따른 클라이언트의 동작 과정을 보여주는 흐름도이다.
클라이언트는 먼저, 재사용 가능한 유효한 세션키가 존재하는지 세션키의 검 증 과정(S610 내지 S630)을 수행한다. 레지스트리에서 세션키가 마지막으로 사용된 시간을 획득(S610)하여, 마지막으로 사용된 시간으로부터 24시간을 경과(S615)하지 않은 경우, 저장 모듈(330)을 통하여 세션키 저장소(360)에서 세션키 및 세션의 식별정보를 읽어온다(S620). 이 때 세션키 저장소(360)에 세션키 및 세션의 식별정보가 존재하면(S625) 세션키와 세션의 식별정보의 변조 여부를 확인(S630)하여 변조되지 않은 경우 해당 세션키를 사용하여 메시지를 암호화 하거나 복호화하여 통신을 한다.
세션키가 마지막으로 사용된 시간으로부터 몇 시간이 경과했는지를 판단하는 기준은 전체 시스템의 보안 요구의 정도, 시스템의 구현 환경, 지원되는 네트워크 환경 등에 따라 실험적으로 결정되는 것이 바람직하다. 따라서, 도 6에 도시된 판단기준(S615)은 본 발명에 따른 판단기준의 일 실시예에 불과하다. 또한 세션키가 사용된 시간 정보는 세션 식별정보에 포함될 수 있다.
세션키 저장소(360)에 저장되어 있는 세션키 및 세션의 식별정보가 변조되었는지 여부를 확인하는 과정(S630)은 세션키 및 세션의 식별정보를 저장할 때 사용한 암호화 키로 복호화하여 오류가 발생하는지 여부를 확인함으로써 이루어질 수 있다.
세션키가 마지막으로 사용된 시간이 일정한 시간, 예를 들면 24시간이 경과했거나(S615), 세션키 저장소(360)에 세션키 및 세션의 식별정보가 존재하지 않거나(S625), 저장되어 있는 세션키 및 세션의 식별정보가 변조(S630)된 경우, 클라이언트의 세션키 생성 모듈(320)은 새로운 세션키를 생성(S645)한다. 클라이언트의 암호화 모듈(340)은 새로운 세션키를 서버의 공개키로 암호화하여 송수신 모듈(350)에 제공하고, 송수신 모듈(350)은 이를 서버에 전송한다.
서버로부터 세션키의 재공유 요청이 있는 경우 새로운 세션키를 생성(S645)하고 암호화하여 서버에 전송(S650)하는 과정을 다시 수행한다. 반면, 재공유 요청이 없는 경우, 송수신 모듈(350)은 서버로부터 서버의 개인키로 암호화된 세션키 및 세션의 식별정보를 수신(S660)하고, 암호화 모듈(340)이 수신한 메시지를 서버의 공개키로 복호화한 후, 저장 모듈(330)을 통하여 세션키 저장소(360)에 저장(S665)한다.
도 6b는 클라이언트의 동작 과정의 또 다른 실시예를 보여주는 흐름도이다.
세션 식별정보는 클라이언트에서도 생성 가능하므로 다른 실시예의 경우 다른 단계는 도 6a에 도시된 바와 동일하나, 세션키와 함께 세션 식별정보를 생성(S1245)하고, 이들 정보를 서버의 공개키로 암호화하여 서버에 전송(S1250)한다. 서버로부터 세션키의 재공유 요청이 있으면, 세션키 및 세션 식별정보 생성 및 서버로의 전송과정(S1245 및 S1250)을 반복하고, 재공유 요청이 없으면 세션키로 메시지를 암호화하거나 복호화(S1240)하여 통신을 수행한다.
도 7a는 본 발명의 실시예에 따른 서버의 동작 과정을 보여주는 흐름도이다.
서버의 송수신 모듈(440)이 클라이언트로부터 서버의 공개키로 암호화된 세션키를 수신한 후(S710), 암호화 모듈(430)이 세션키를 서버의 개인키로 복호화(S720)한다. 세션 식별정보 생성 모듈(405)은 세션키의 관리를 위하여 세션의 식별정보를 생성(S730)하고, 암호화 모듈(430)이 세션키 및 세션의 식별정보를 서버의 고유의 키로 암호화하여 저장 모듈(420)을 통하여 세션키 저장소(450)에 저장(S740)한다. 저장된 세션키 및 세션의 식별정보는 서버의 개인키로 암호화되어 클라이언트로 전송된다(S750). 이러한 과정을 거쳐 클라이언트와의 세션키 공유가 이루어지면, 클라이언트로부터 수신한 메시지를 세션키로 복호화(S760)하게 된다. 복호화 과정에서 오류가 발생하는 경우 그 오류가 잘못된 세션키로 인한 경우(S770), 클라이언트에 세션키의 재공유를 요청(S780)하고 상술한 클라이언트와의 세션키 공유과정(S710 내지 S750)을 다시 수행하게 된다. 한편, 복호화 과정에서의 오류가 잘못된 세션키로 인한 것이 아닌 경우에는 클라이언트로 메시지의 재전송을 요청하는 등의 해당하는 오류 처리 과정을 거치게 된다.
도 7b는 서버의 동작 과정의 또 다른 실시예를 보여주는 흐름도이다.
세션 식별정보는 클라이언트에서도 생성 가능하므로 송수신 모듈(440)이 클라이언트로부터 서버의 공개키로 암호화된 세션키 및 세션 식별정보 수신(S1310)하면, 암호화 모듈(430)이 암호화된 정보를 자신의 개인키로 복호화(S1320)한 후 자신의 고유키로 암호화하여 저장 모듈(420)을 통하여 세션키 저장소(450)에 저장한다. 클라이언트로부터 수신한 메시지를 세션키로 복호화(S1340)하고, 복호화시 세션키에 의한 오류가 발생하는 경우 클라이언트에 세션키 및 세션 식별정보의 재공유를 요청하고 S1310 내지 S1340의 과정을 반복 수행한다.도 9는 동일한 클라이언트내에서 실행되는 다수의 어플리케이션 프로그램에 의해 하나의 세션키가 공유되는 것을 보여주는 도면이다.
동일한 클라이언트, 예를 들면 PC(910) 내에서 생성된 다수의 웹 브라우저(920)가 동일한 서버, 예를 들면 웹서버(940)로부터 서비스를 받는 경우, 웹 브라우저 #1이 웹서버와 세션키 공유과정을 수행하여 유효한 세션키가 세션키 저장소(930)에 저장되어 있다면, 다른 웹 브라우저들(웹 브라우저 #n)은 별도의 세션키 공유과정 없이 세션키 저장소(930)에 저장되어 있는 세션키를 사용하여 웹서버와 통신할 수 있다.
도 10은 하나의 클라이언트내에서 실행되는 다수의 어플리케이션 프로그램에 의해 세션키가 공유되는 과정을 클라이언트의 측면에서 보여주는 흐름도이다.
동일한 클라이언트내에서 실행 중인 다수의 프로그램들이 서버로부터 세션키 재공유 요청을 수신(S1010)하면, 이를 수신한 다수의 프로그램들 중 하나의 프로그램만 서버와의 세션키 공유과정을 수행하고 나머지 프로그램들은 대기상태가 된다(S1020). 세션키 공유과정을 수행할 프로그램은서버의 재공유 요청을 가장 먼저 수신한 것이 될 수도 있고, 프로그램들간의 조정을 통하여 선택된 것이 될 수도 있다.
여러 방법에 의해 선택된 하나의 어플리케이션 프로그램은 서버와 세션키 공유과정을 수행한다. 서버와의 세션키 공유과정은 도 6a에서 상술한 세션키 공유과정(S645 내지 S665)과 동일하다. 세션키 공유과정이 종료되면 대기중이던 다른 어플리케이션 프로그램들은 서버로 전송할 메시지가 있는 경우 도 6a에 도시된 방법에 따라 서버와의 통신을 수행한다.
도 11은 다수의 어플리케이션 프로그램에 의해 세션키가 공유되는 과정을 서버의 측면에서 보여주는 흐름도이다.
서버가 동일한 클라이언트내에서 실행중인 다수의 어플리케이션 프로그램에 세션키의 재공유를 요청(S1110)한다. 세션키 재공유 요청은 브로드캐스팅될 수도 있고, 멀티캐스팅될 수도 있다. 다수의 프로그램 중 하나의 프로그램과 세션키 공유과정을 수행한다. 따라서, 송수신 모듈(440)이 하나의 프로그램에 의해 생성된 세션키를 수신(S1120)하고, 암호화 모듈이 수신된 세션키를 서버의 개인키로 복호화(S1130)한 후, 세션 식별정보 생성 모듈(405)이 세션의 식별정보를 생성(S1140)하고, 암호화 모듈이 세션키 및 세션의 식별정보를 서버의 고유키로 암호화하여 저장 모듈(420)을 통하여 세션키 저장소(450)에 저장(S1150)한다. 서버의 암호화 모듈(430)은 세션키 및 세션의 식별정보를 서버의 개인키로 암호화하고, 송수신 모듈이 암호화된 정보를 클라이언트로 전송한다(S1160).
이상 첨부된 도면을 참조하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.
상기한 바와 같은 본 발명의 보안 통신 방법 및 장치에 따르면 다음과 같은 효과가 하나 혹은 그 이상 있다.
첫째, 클라이언트가 서버와 세션키를 공유한 후 서버와의 접속이 끊어지더라도 추후 접속시 세션키의 공유과정을 다시 수행하지 않고 클라이언트에 저장된 세 션키를 사용하므로 세션키 공유과정의 부하를 줄일 수 있다는 장점이 있다.
둘째, 하나의 클라이언트 내에서 생성되는 다수의 어플리케이션 프로그램이 서버와 통신하는 경우 어플리케이션 프로그램들은 동일한 세션키를 사용하므로 서버는 하나의 세션키만 관리함으로써 세션키 관리에 따른 부하를 줄일 수 있다는 장점도 있다.

Claims (39)

  1. 하나 이상의 클라이언트에 의해 접속되면 상기 클라이언트에 인증서를 송신하는 단계;
    상기 클라이언트에 의해 생성된 세션키를 수신하는단계;
    상기 세션키에 대응하는 세션 식별정보를 생성하는 단계;
    상기 세션 식별정보를 상기 클라이언트에 송신하는 단계; 및
    상기 세션키를 이용하여 상기 클라이언트로부터 수신된 암호화된 메시지를 복호화하고, 상기 클라이언트로 송신할 메시지를 암호화하는 단계를 포함하는 클라이언트와 서버간 보안통신방법
  2. 제 1항에 있어서,
    상기 세션 식별정보는
    클라이언트의 식별정보 또는 서버의 식별정보 중 적어도 하나를 포함하는 클라이언트와 서버간 보안통신방법
  3. 제 1항에 있어서,
    상기 세션키는
    상기 클라이언트내에서 수행되는 소정의 어플리케이션 프로그램에 의해 생성된 클라이언트와 서버간 보안통신방법
  4. 제 3항에 있어서,
    상기 세션키 및 상기 세션 식별정보는
    동일한 서버로부터 서비스를 제공받는 상기 클라이언트내에서 수행되는 어플리케이션 프로그램간에 공유되는 클라이언트와 서버간 보안통신방법
  5. 하나 이상의 클라이언트에 의해 접속되면 상기 클라이언트에 인증서를 송신하는 단계;
    상기 클라이언트에 의해 생성된 상기 인증서의 공개키로 암호화된 세션키 및 세션 식별정보를 수신하는단계;
    상기 암호화된 세션키 및 세션 식별정보를 복호화하는 단계; 및
    상기 세션키를 이용하여 상기 식별정보를 송신한 클라이언트로부터 수신된 암호화된 메시지를 복호화하고, 상기 식별정보를 송신한 클라이언트로 송신할 메시지를 암호화하는 단계를 포함하는 클라이언트와 서버간 보안통신방법
  6. 제 5항에 있어서,
    상기 세션 식별정보는
    클라이언트의 식별정보 또는 서버의 식별정보 중 적어도 하나를 포함하는 클라이언트와 서버간 보안통신방법
  7. 제 5항에 있어서,
    상기 세션키는
    상기 클라이언트내에서 수행되는 소정의 어플리케이션 프로그램에 의해 생성된 클라이언트와 서버간 보안통신방법
  8. 제 7항에 있어서,
    상기 세션키 및 상기 세션 식별정보는
    동일한 서버로부터 서비스를 제공받는 상기 클라이언트내에서 수행되는 어플리케이션 프로그램간에 공유되는 클라이언트와 서버간 보안통신방법
  9. 하나 이상의 서버에 접속하는 (a)단계;
    상기 접속된 서버로부터 인증서를 수신하는 (b)단계;
    상기 인증서로부터 상기 접속된 서버의 공개키를 추출하는 (c)단계;
    상기 접속된 서버와의 통신을 위한 세션키를 생성하는 (d)단계;
    상기 세션키를 상기 공개키로 암호화하여 상기 접속된 서버로 송신하는 (e)단계;
    상기 접속된 서버에 의해 생성된 상기 세션키에 대응하는 세션 식별정보를 수신하는 (f)단계; 및
    상기 세션키를 이용하여 상기 세션 식별정보를 생성한 서버로부터 수신된 암호화된 메시지를 복호화하고, 상기 세션 식별정보를 생성한 서버로 송신할 메시 지를 암호화하는 (g)단계를 포함하는 클라이언트와 서버간 보안통신방법
  10. 제 9항에 있어서,
    상기 세션 식별정보는
    클라이언트의 식별정보 또는 서버의 식별정보 중 적어도 하나를 포함하는 클라이언트와 서버간 보안통신방법
  11. 제 9항에 있어서,
    상기 세션키는
    상기 클라이언트내에서 수행되는 소정의 어플리케이션 프로그램에 의해 생성된 클라이언트와 서버간 보안통신방법
  12. 제 11항에 있어서,
    상기 세션키 및 상기 세션 식별정보는
    동일한 서버로부터 서비스를 제공받는 상기 클라이언트내에서 수행되는 어플리케이션 프로그램간에 공유되는 클라이언트와 서버간 보안통신방법
  13. 제 9항에 있어서,
    상기 메시지를 암호화하고 복호화하는 단계는
    상기 세션키가 유효한 경우 이루어지는 클라이언트와 서버간 보안통신방법
  14. 제 13항에 있어서,
    상기 세션키의 유효 여부는
    상기 세션키가 마지막으로 사용된 이후 경과된 시간 및 상기 세션키의 변조 여부 중 적어도 하나에 의해 결정되는 클라이언트와 서버간 보안통신방법
  15. 제 13항에 있어서,
    상기 세션키가 존재하지 않거나 유효하지 않은 경우, 상기 (d) 내지 (g) 단계가 반복 수행되는 클라이언트와 서버간 보안통신방법
  16. 하나 이상의 서버에 접속하는 (a)단계;
    상기 접속된 서버로부터 인증서를 수신하는 (b)단계;
    상기 인증서로부터 상기 접속된 서버의 공개키를 추출하는 (c)단계;
    상기 접속된 서버와의 통신을 위한 세션키 및 상기 세션키에 대응하는 세션 식별정보를 생성하는 (d)단계;
    상기 세션키 및 상기 세션 식별정보를 상기 공개키로 암호화하여 상기 접속된 서버로 송신하는 (e)단계; 및
    상기 세션키를 이용하여 상기 세션 식별정보로 구별되는 상기 접속된 서버로부터 수신된 암호화된 메시지를 복호화하고, 상기 세션 식별정보로 구별되는 상기 접속된 서버로 송신할 메시지를 암호화하는 (f)단계를 포함하는 클라이언트와 서버 간 보안통신방법
  17. 제 16항에 있어서,
    상기 세션 식별정보는
    클라이언트의 식별정보 또는 서버의 식별정보 중 적어도 하나를 포함하는 클라이언트와 서버간 보안통신방법
  18. 제 16항에 있어서,
    상기 세션키는
    상기 클라이언트내에서 수행되는 소정의 어플리케이션 프로그램에 의해 생성된 클라이언트와 서버간 보안통신방법
  19. 제 18항에 있어서,
    상기 세션키 및 상기 세션 식별정보는
    동일한 서버로부터 서비스를 제공받는 상기 클라이언트내에서 수행되는 어플리케이션 프로그램간에 공유되는 클라이언트와 서버간 보안통신방법
  20. 제 16항에 있어서,
    상기 메시지를 암호화하고 복호화하는 단계는
    상기 세션키가 유효한 경우 이루어지는 클라이언트와 서버간 보안통신방법
  21. 제 20항에 있어서,
    상기 세션키의 유효 여부는
    상기 세션키가 마지막으로 사용된 이후 경과된 시간 및 상기 세션키의 변조 여부 중 적어도 하나에 의해 결정되는 클라이언트와 서버간 보안통신방법
  22. 제 20항에 있어서,
    상기 세션키가 존재하지 않거나 유효하지 않은 경우, 상기 (d) 내지 (f) 단계가 반복 수행되는 클라이언트와 서버간 보안통신방법
  23. 세션 식별정보를 생성하는 세션 식별정보 생성 모듈;
    접속된 클라이언트로 인증서를 송신하며, 상기 클라이언트로부터 세션키를 수신하며, 상기 세션 식별정보 생성 모듈에서 생성된 상기 세션 식별정보를 상기 클라이언트로 송신하며, 상기 세션키로 암호화된 메시지를 송신하고 수신하는 송수신 모듈; 및
    상기 송수신 모듈에서 수신된 상기 세션키를 이용하여 상기 클라이언트로 송신할 메시지를 암호화하고 상기 송수신 모듈에서 수신된 암호화된 메시지를 복호화하는 암호화 모듈을 포함하는 보안통신장치
  24. 제 23항에 있어서,
    상기 세션 식별정보는
    클라이언트의 식별정보 또는 서버의 식별정보 중 적어도 하나를 포함하는 보안통신장치
  25. 제 23항에 있어서,
    상기 세션키는
    상기 클라이언트내에서 수행되는 소정의 어플리케이션 프로그램에 의해 생성된 보안통신장치
  26. 제 25항에 있어서,
    상기 세션키 및 상기 세션 식별정보는
    동일한 서버로부터 서비스를 제공받는 상기 클라이언트내에서 수행되는 어플리케이션 프로그램간에 공유되는 보안통신장치
  27. 접속된 클라이언트로 인증서를 송신하며, 상기 클라이언트로부터 세션키 및 세션 식별정보를 수신하며, 상기 세션키로 암호화된 메시지를 송신하고 수신하는 송수신 모듈; 및
    상기 송수신 모듈에서 수신된 상기 세션키를 이용하여 상기 클라이언트로 송신할 메시지를 암호화하고 상기 송수신 모듈에서 수신한 암호화된 메시지를 복호화하는 암호화 모듈을 포함하는 보안통신장치
  28. 제 27항에 있어서,
    상기 세션 식별정보는
    클라이언트의 식별정보 또는 서버의 식별정보 중 적어도 하나를 포함하는 보안통신장치
  29. 제 27항에 있어서,
    상기 세션키는
    상기 클라이언트내에서 수행되는 소정의 어플리케이션 프로그램에 의해 생성된 보안통신장치
  30. 제 29항에 있어서,
    상기 세션키 및 상기 세션 식별정보는
    동일한 서버로부터 서비스를 제공받는 상기 클라이언트내에서 수행되는 어플리케이션 프로그램간에 공유되는 보안통신장치
  31. 세션키를 생성하는 세션키 생성 모듈;
    서버로부터 인증서를 수신하며, 상기 세션키 생성 모듈에서 생성된 상기 세션키를 상기 서버로 송신하며, 상기 서버로부터 상기 세션키에 대응하는 세션 식별정보를 수신하며, 상기 세션키로 암호화된 메시지를 송신하고 수신하는 송수신 모 듈;
    상기 송수신 모듈에서 수신된 인증서로부터 공개키를 추출하는 제어 모듈; 및
    상기 세션키 생성 모듈에서 생성된 상기 세션키를 상기 제어모듈에서 추출된 상기 공개키로 암호화하며, 상기 세션키로 메시지를 암호화하고 복호화하는 암호화 모듈을 포함하는 보안통신장치
  32. 제 31항에 있어서,
    상기 세션 식별정보는
    클라이언트의 식별정보 또는 서버의 식별정보 중 적어도 하나를 포함하는 보안통신장치
  33. 제 31항에 있어서,
    상기 세션키는
    상기 클라이언트내에서 수행되는 소정의 어플리케이션 프로그램에 의해 생성된 보안통신장치
  34. 제 33항에 있어서,
    상기 세션키 및 상기 세션 식별정보는
    동일한 서버로부터 서비스를 제공받는 상기 클라이언트내에서 수행되는 어플 리케이션 프로그램간에 공유되는 보안통신장치
  35. 세션키를 생성하는 세션키 생성 모듈;
    상기 세션키에 대응하는 세션 식별정보를 생성하는 세션 식별정보 생성 모듈;
    서버로부터 인증서를 수신하며, 상기 세션키 생성 모듈에서 생성된 상기 세션키 및 상기 세션 식별정보 생성 모듈에서 생성된 상기 세션 식별정보를 상기 서버로 송신하는 송수신 모듈;
    상기 송수신 모듈에서 수신된 인증서로부터 공개키를 추출하는 제어 모듈; 및
    상기 세션키 생성 모듈에서 생성된 상기 세션키 및 상기 세션 식별정보에서 생성된 상기 세션 식별정보를 상기 제어모듈에서 추출된 상기 공개키로 암호화하며, 상기 세션키로 메시지를 암호화하고 복호화하는 암호화 모듈을 포함하는 보안통신장치
  36. 제 35항에 있어서,
    상기 세션 식별정보는
    클라이언트의 식별정보 또는 서버의 식별정보 중 적어도 하나를 포함하는 보안통신장치
  37. 제 35항에 있어서,
    상기 세션키는
    상기 클라이언트내에서 수행되는 소정의 어플리케이션 프로그램에 의해 생성된 보안통신장치
  38. 제 37항에 있어서,
    상기 세션키 및 상기 세션 식별정보는
    동일한 서버로부터 서비스를 제공받는 상기 클라이언트내에서 수행되는 어플리케이션 프로그램간에 공유되는 보안통신장치
  39. 제 1항 내지 제 22항 중 어느 한 항의 방법을 수행하기 위한 컴퓨터로 읽을 수 있는 프로그램을 기록한 기록매체
KR1020040042275A 2004-06-09 2004-06-09 세션키를 재사용하는 클라이언트와 서버간 보안 통신 방법및 장치 KR100678934B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020040042275A KR100678934B1 (ko) 2004-06-09 2004-06-09 세션키를 재사용하는 클라이언트와 서버간 보안 통신 방법및 장치
US11/147,286 US20060005026A1 (en) 2004-06-09 2005-06-08 Method and apparatus for secure communication reusing session key between client and server
CN200510075094XA CN1708003B (zh) 2004-06-09 2005-06-09 重新使用会话密钥安全通信的方法和设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040042275A KR100678934B1 (ko) 2004-06-09 2004-06-09 세션키를 재사용하는 클라이언트와 서버간 보안 통신 방법및 장치

Publications (2)

Publication Number Publication Date
KR20050117086A KR20050117086A (ko) 2005-12-14
KR100678934B1 true KR100678934B1 (ko) 2007-02-07

Family

ID=35515407

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040042275A KR100678934B1 (ko) 2004-06-09 2004-06-09 세션키를 재사용하는 클라이언트와 서버간 보안 통신 방법및 장치

Country Status (3)

Country Link
US (1) US20060005026A1 (ko)
KR (1) KR100678934B1 (ko)
CN (1) CN1708003B (ko)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8108679B2 (en) * 2004-05-20 2012-01-31 Qinetiq Limited Firewall system
KR101246818B1 (ko) * 2006-02-20 2013-04-03 주식회사 엘지씨엔에스 금융 거래데이터의 암호화 방법
EP1890191A1 (en) 2006-08-14 2008-02-20 Carl Zeiss SMT AG Catadioptric projection objective with pupil mirror
US8649520B2 (en) * 2006-09-06 2014-02-11 R. Paul McGough Method and system for establishing real-time trust in a public network
CN101005361B (zh) * 2007-01-22 2010-11-03 北京飞天诚信科技有限公司 一种服务器端软件保护方法及系统
KR101453956B1 (ko) * 2008-01-14 2014-10-24 삼성전자주식회사 임베디드 브라우져 에이젼트를 기반으로 하는 디바이스 및 방법
US8229969B1 (en) * 2008-03-04 2012-07-24 Open Invention Network Llc Maintaining web session data spanning multiple application servers in a session database
US20090240942A1 (en) * 2008-03-20 2009-09-24 Canon Kabushiki Kaisha Long term key establishment for embedded devices
US8850544B1 (en) * 2008-04-23 2014-09-30 Ravi Ganesan User centered privacy built on MashSSL
EP2136231A1 (en) 2008-06-17 2009-12-23 Carl Zeiss SMT AG High aperture catadioptric system
CN101969438B (zh) * 2010-10-25 2013-10-09 胡祥义 一种物联网的设备认证、数据完整和保密传输实现方法
US10728231B2 (en) 2012-07-09 2020-07-28 Massachusetts Institute Of Technology Data security using inter-zone gate circuits
US10491458B2 (en) * 2013-01-31 2019-11-26 Dell Products L.P. System and method for reporting peer-to-peer transfer events
IL228523A0 (en) * 2013-09-17 2014-03-31 Nds Ltd Processing private data in a cloud-based environment
US9215064B2 (en) * 2013-10-21 2015-12-15 Adobe Systems Incorporated Distributing keys for decrypting client data
KR102457809B1 (ko) * 2014-09-24 2022-10-24 삼성전자주식회사 데이터 통신 보안을 위한 방법, 장치 및 시스템
US9826064B2 (en) * 2015-02-23 2017-11-21 Lenovo (Singapore) Pte. Ltd. Securing sensitive data between a client and server using claim numbers
CN104702611B (zh) * 2015-03-15 2018-05-25 西安电子科技大学 一种保护安全套接层会话密钥的设备及方法
SG10201509342WA (en) 2015-11-12 2017-06-29 Huawei Int Pte Ltd Method and system for session key generation with diffie-hellman procedure
CN105844120B (zh) * 2016-05-05 2019-06-14 北京元心科技有限公司 一种集成加密算法的方法和系统
US10334319B2 (en) * 2016-08-29 2019-06-25 Charter Communications Operating, Llc System and method of cloud-based manifest processing
US11165565B2 (en) 2016-12-09 2021-11-02 Microsoft Technology Licensing, Llc Secure distribution private keys for use by untrusted code
CN111385289A (zh) * 2020-02-26 2020-07-07 平安科技(深圳)有限公司 客户端与服务端安全握手的方法、装置及存储介质
CN115280720A (zh) * 2020-04-22 2022-11-01 维萨国际服务协会 在线秘密加密
CN113382001B (zh) * 2021-06-09 2023-02-07 湖南快乐阳光互动娱乐传媒有限公司 一种通信加密方法及相关装置
US20230153398A1 (en) * 2021-11-18 2023-05-18 DUDU Information Technologies, Inc. Apparatus and method for maintaining security of video data
CN115277053B (zh) * 2022-06-08 2024-04-23 深圳蜂鸟创新科技服务有限公司 基于SaaS和Pass平台的数据处理方法及系统
CN116055215B (zh) * 2023-03-02 2024-03-15 上海弘积信息科技有限公司 一种基于网络安全传输协议的通信方法、系统及设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010098423A (ko) * 2000-04-25 2001-11-08 포만 제프리 엘 서버측 쿠키 단지를 사용하는 url 기반의 스티키라우팅 토큰
KR100412041B1 (ko) 2002-01-04 2003-12-24 삼성전자주식회사 시큐러티 프로토콜의 기능을 수행하는 홈 게이트웨이 및그 방법
KR100947798B1 (ko) * 2005-10-27 2010-03-15 퀄컴 인코포레이티드 무선 통신 시스템에 있어서 슬롯 모드 속성을 송신 및수신하는 방법 및 장치

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5657390A (en) * 1995-08-25 1997-08-12 Netscape Communications Corporation Secure socket layer application program apparatus and method
US6138120A (en) * 1998-06-19 2000-10-24 Oracle Corporation System for sharing server sessions across multiple clients
US7278017B2 (en) * 2000-06-07 2007-10-02 Anoto Ab Method and device for secure wireless transmission of information
US7149803B2 (en) * 2000-06-08 2006-12-12 At&T Corp. Method for content distribution in a network supporting a security protocol
US7073181B2 (en) * 2001-11-13 2006-07-04 International Business Machines Corporation System and method for sharing secure sockets layer sessions across multiple processes
US7296074B2 (en) * 2002-03-20 2007-11-13 Scientific-Atlanta, Inc. Media on demand session re-use
US7174021B2 (en) * 2002-06-28 2007-02-06 Microsoft Corporation Systems and methods for providing secure server key operations

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010098423A (ko) * 2000-04-25 2001-11-08 포만 제프리 엘 서버측 쿠키 단지를 사용하는 url 기반의 스티키라우팅 토큰
KR100412041B1 (ko) 2002-01-04 2003-12-24 삼성전자주식회사 시큐러티 프로토콜의 기능을 수행하는 홈 게이트웨이 및그 방법
KR100947798B1 (ko) * 2005-10-27 2010-03-15 퀄컴 인코포레이티드 무선 통신 시스템에 있어서 슬롯 모드 속성을 송신 및수신하는 방법 및 장치

Also Published As

Publication number Publication date
KR20050117086A (ko) 2005-12-14
US20060005026A1 (en) 2006-01-05
CN1708003B (zh) 2010-11-24
CN1708003A (zh) 2005-12-14

Similar Documents

Publication Publication Date Title
KR100678934B1 (ko) 세션키를 재사용하는 클라이언트와 서버간 보안 통신 방법및 장치
KR100734162B1 (ko) 공중/개인키 쌍들의 안전한 분배 방법 및 장치
US5535276A (en) Yaksha, an improved system and method for securing communications using split private key asymmetric cryptography
US5737419A (en) Computer system for securing communications using split private key asymmetric cryptography
US5748735A (en) Securing E-mail communications and encrypted file storage using yaksha split private key asymmetric cryptography
CN111052672B (zh) 无证书或预共享对称密钥的安全密钥传输协议
KR100953095B1 (ko) 슈퍼 피어 기반 p2p 네트워크 시스템 및 이를 위한 피어인증 방법
US7596690B2 (en) Peer-to-peer communications
US8019989B2 (en) Public-key infrastructure in network management
US20080031459A1 (en) Systems and Methods for Identity-Based Secure Communications
CN111756529B (zh) 一种量子会话密钥分发方法及系统
CA2354704A1 (en) Public key cryptosystem with roaming user capability
CN103763356A (zh) 一种安全套接层连接的建立方法、装置及系统
WO2002033884A2 (en) Method and apparatus for providing a key distribution center
JP2005505991A (ja) 公衆サーバからコンテンツを要求した場合にクライアントのプライバシーを提供するための方法およびシステム
CN108809633B (zh) 一种身份认证的方法、装置及系统
US11070537B2 (en) Stateless method for securing and authenticating a telecommunication
CN111756528B (zh) 一种量子会话密钥分发方法、装置及通信架构
WO2005088892A1 (en) A method of virtual challenge response authentication
CN112332986B (zh) 一种基于权限控制的私有加密通信方法及系统
WO1998047258A2 (en) Bilateral authentication and encryption system
JPH10242957A (ja) ユーザ認証方法およびシステムおよびユーザ認証用記憶媒体
KR20100130467A (ko) 사용자 중심의 아이덴터티 관리 시스템 및 그 방법
KR19990038925A (ko) 분산 환경에서 안전한 양방향 인증 방법
CN112035820B (zh) 一种用于Kerberos加密环境下的数据解析方法

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: 20121210

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20131217

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20141224

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee