KR101508859B1 - 클라이언트와 서버 간 보안 세션을 수립하기 위한 방법 및 장치 - Google Patents

클라이언트와 서버 간 보안 세션을 수립하기 위한 방법 및 장치 Download PDF

Info

Publication number
KR101508859B1
KR101508859B1 KR20130166682A KR20130166682A KR101508859B1 KR 101508859 B1 KR101508859 B1 KR 101508859B1 KR 20130166682 A KR20130166682 A KR 20130166682A KR 20130166682 A KR20130166682 A KR 20130166682A KR 101508859 B1 KR101508859 B1 KR 101508859B1
Authority
KR
South Korea
Prior art keywords
server
client
random number
side random
key
Prior art date
Application number
KR20130166682A
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 삼성에스디에스 주식회사
Priority to KR20130166682A priority Critical patent/KR101508859B1/ko
Priority to US14/582,589 priority patent/US20150188699A1/en
Application granted granted Critical
Publication of KR101508859B1 publication Critical patent/KR101508859B1/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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/061Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • H04L63/0838Network architectures or network communication protocols for network security for authentication of entities using passwords using one-time-passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • 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/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/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

개시되는 실시예에 따르면, 클라이언트 및 서버와 접속된 네트워크 노드에서, 상기 클라이언트에 의해 생성된 클라이언트 측 난수(random number)를 수신하는 단계; 상기 네트워크 노드에서, 상기 클라이언트 측 난수의 수신에 응답하여 서버 측 난수를 생성하는 단계; 상기 클라이언트 및 상기 서버 간에 수립될 보안 세션의 비밀 키를 상기 클라이언트가 산출하도록 상기 서버 측 난수를 상기 네트워크 노드로부터 상기 클라이언트로 전송하는 단계; 상기 네트워크 노드에서, 상기 비밀 키의 산출에 이용되는 클라이언트 측 키를 수신하는 단계; 및 상기 비밀 키를 상기 서버가 산출하도록 상기 클라이언트 측 난수, 상기 서버 측 난수 및 상기 클라이언트 측 키를 상기 네트워크 노드로부터 상기 서버로 전송하는 단계를 포함하는, 보안 세션 수립 방법이 제공된다.

Description

클라이언트와 서버 간 보안 세션을 수립하기 위한 방법 및 장치{METHOD AND APPARATUS FOR ESTABLISHING SECURE SESSION BETWEEN CLIENT AND SERVER}
개시되는 실시예들은 보안 세션을 수립하기 위한 방법 및 장치에 관한 것으로서, 더욱 구체적으로는 클라이언트와 서버 간 보안 세션을 이용한 데이터 전송을 가속화하는 오버레이 네트워킹(overlay networking) 기법에 관한 것이다.
신뢰성 있는 데이터 전송을 위한 메커니즘은 지연시간(latency)의 악화를 방지하기 위한 기법들을 필요로 할 수 있다. 다만, 실시간 멀티미디어 데이터(예컨대, 실시간으로 생성되는 오디오, 비디오 또는 이들의 조합을 포함함)를 전송하는 메커니즘이 그러한 데이터의 저 지연 전송을 보장하기 위해 취하는 접근법은 저장 장치에 이미 저장된 데이터(예컨대, 대용량 파일)를 전송하는 메커니즘의 접근법과는 상이할 수 있다.
이미 저장된 데이터는 전송 채널의 최대 처리량(예컨대, 대역폭 지연 곱(Bandwidth Delay Product: BDP))에 기반하여 대역폭 활용 비율(bandwidth utilization rate)을 최적화하는 전송 방식에 따라 전송될 수 있다. 반면, 단위 시간 당 생성되는 실시간 멀티미디어 데이터의 양(예컨대, 20~40kbps의 오디오 데이터 및/또는 700~1400kbps의 비디오 데이터)은 통상적으로 전송 채널의 최대 처리량보다 훨씬 적으면서도, 그러한 멀티미디어 데이터가 생성되면 최소한의 지연 시간을 갖고 전송될 필요가 있다. 예를 들어, 스마트폰과 같은 컴퓨팅 장치에서 검출된 음성에 기반한 음성 인식 서비스(예컨대, Siri, S-Voice 등)는 그 음성을 나타내는 데이터의 저 지연 전송을 위한 향상된 기법을 요구할 수 있다.
특히, 이러한 실시간 멀티미디어 데이터 전송에서는, 생성된 멀티미디어 데이터에 응답하여 새로운 세션을 수립하거나 이미 수립된 세션을 재수립하는 데 요구되는 시간이 그 멀티미디어 데이터가 전송되는 데 걸리는 총 시간에서 상당한 비중을 차지한다. 따라서, 실시간 멀티미디어 데이터를 인터넷 규모에서 다루는 서비스(예컨대, 전술한 음성 인식 서비스)에서 세션을 수립하는 데 소요되는 시간이 증가하는 경우, 서비스의 품질이 기대치에 훨씬 못 미칠 수 있다. 그러나, 세션의 수립/재수립을 위한 시간은 저장된 데이터의 전송의 효율을 높이기 위한 접근법에서 간과되기 쉽다. 전송되는 데이터의 양이 클수록 그 데이터가 실제로 전송되는 데 걸리는 시간 대 그러한 전송을 위한 세션의 수립/재수립에 소요되는 시간의 비율이 크기 때문이다.
더욱이, 프라이버시 보호와 같은 보안 관련 요구사항을 갖는 멀티미디어 서비스(예컨대, 앞서 언급된 음성 인식 서비스)에서 멀티미디어 데이터는 보안 채널(예컨대, SSL(Secure Sockets Layer)/TLS(Transport Layer Security) 보안 채널) 상에서 전송되어야 한다. 이에 따라, 실시간 멀티미디어 데이터를 전송하기 보안 세션 수립/재수립 시간의 감소가 전송 지연을 방지하는 데 유용할 것이다.
클라이언트와 서버를 포함하는 네트워크에서, 클라이언트와 서버 간 데이터의 직접 전송(direct transport)은 라운드 트립 시간(Round Trip Time: RTT) 및 패킷 유실(packet loss)에 기인하는 지연시간 악화를 피하지 못하나, 오버레이 네트워킹 기법은 클라이언트와 서버 사이에 하나 이상의 중간 네트워크 노드 내지 오버레이 홉(overlay hop)을 배치함으로써 개선된 전송 효율을 달성할 수 있다.
기존의 몇몇 오버레이 네트워킹 기법들은 전송 계층(transport layer) 및/또는 전송 계층의 하위 계층(들)을 변경한다(이하에서, 바이패스 오버레이(bypass overlay) 기법들이라고도 지칭됨). 이러한 기법에 따라 지리적으로 분산된 노드들을 갖는 오버레이 네트워크의 사용은 전송 계층의 상위 계층(예컨대, 애플리케이션 계층(application layer))에서 동작하는 데이터 송신 시스템 및 데이터 수신 시스템에 대해 투명(transparent)하다. 위와 같은 오버레이 네트워크에서는 전송 계층의 상위 계층에서 교환되는 메시지에 기반하여 보안 세션(예컨대, SSL 세션 또는 TLS 세션)이 수립된다. 이 메시지는 오버레이 네트워크를 구현하기 위한 계층에서 인식될 수 없다. 특히, 클라이언트 및 서버 각각이 생성하는 난수(random number)나 키(key)를 오버레이 홉이 미리 생성하거나 감지하지 못하는바, 오버레이 홉이 그러한 난수 또는 키의 교환을 대행할 수 없다. 따라서, 보안 세션을 수립하기 위한 시간을 줄이기 힘들다.
기존의 다른 몇몇 오버레이 네트워킹 기법들은 클라이언트와 오버레이 홉 간 보안 세션(예컨대, SSL 세션 또는 TLS 세션) 및 오버레이 홉과 서버 간 다른 보안 세션(예컨대, 다른 SSL 세션 또는 다른 TLS 세션)을 수립한다(이하에서, 세션 분리 기법들이라고도 지칭됨). 이러한 두 보안 세션들에는 별개의 세션 키들이 각각 부여되는바, 오버레이 홉은 두 세션 키 중 하나를 이용한 복호화(decryption) 및 나머지 세션 키를 이용한 암호화(encryption)을 수행하여야 한다. 특히, 오버레이 홉이 많은 수의 클라이언트를 지원하는 경우, 이러한 복호화 및 암호화에 기인하는 오버헤드(예컨대, CPU 사용량)가 오버레이 홉에 상당한 부담이 될 수 있다. 이 오버헤드를 줄이기 위해 하드웨어 기반의 암호화/복호화 장치가 사용될 수 있으나, 사실 그 장치를 다른 오버레이 홉과 연동시키기 위한 수정 및 커스터마이제이션(customization)이 쉽지 않다. 또한, 오버레이 홉에서 복호화를 수행하는 것은 그 오버레이 홉에 평문(plaintext)이 저장된다는 것을 의미하고, 결국 그 오버레이 홉은 보안 관점에서 취약성을 가진다.
개시되는 실시예들은 클라이언트와 서버 간 보안 세션을 이용한 데이터 전송을 가속화하는 새로운 오버레이 네트워킹 기법을 제공한다.
예시적인 실시예에 따르면, 클라이언트 및 서버와 접속된 네트워크 노드에서, 상기 클라이언트에 의해 생성된 클라이언트 측 난수(random number)를 수신하는 단계; 상기 네트워크 노드에서, 상기 클라이언트 측 난수의 수신에 응답하여 서버 측 난수를 생성하는 단계; 상기 클라이언트 및 상기 서버 간에 수립될 보안 세션의 비밀 키를 상기 클라이언트가 산출하도록 상기 서버 측 난수를 상기 네트워크 노드로부터 상기 클라이언트로 전송하는 단계; 상기 네트워크 노드에서, 상기 비밀 키의 산출에 이용되는 클라이언트 측 키를 수신하는 단계; 및 상기 비밀 키를 상기 서버가 산출하도록 상기 클라이언트 측 난수, 상기 서버 측 난수 및 상기 클라이언트 측 키를 상기 네트워크 노드로부터 상기 서버로 전송하는 단계를 포함하는, 보안 세션 수립 방법이 제공된다.
상기 보안 세션 수립 방법은, 상기 네트워크 노드에서, 상기 클라이언트 측 난수, 상기 서버 측 난수 및 상기 클라이언트 측 키에 기반하여 상기 비밀 키를 산출하는 단계를 더 포함할 수 있다.
상기 서버 측 난수는 상기 네트워크 노드와 상기 서버 간에 미리 수립된 다른 보안 세션을 통해 상기 네트워크 노드로부터 상기 서버로 전송될 수 있다.
상기 서버 측 난수는 상기 네트워크 노드에 의해 상기 서버의 공개 키로 암호화된 후에 상기 네트워크 노드로부터 상기 서버로 전송될 수 있다.
상기 서버 측 난수는 암호화되지 않고 상기 네트워크 노드와 상기 서버 간에 수립된 비보안 세션 상에서 상기 네트워크 노드로부터 상기 서버로 전송될 수 있다.
상기 클라이언트 측 키는 상기 클라이언트에 의해 상기 서버의 공개 키로 암호화될 수 있다.
다른 예시적인 실시예에 따르면, 클라이언트 및 서버와 접속된 네트워크 노드에서, 상기 클라이언트에 의해 생성된 클라이언트 측 난수를 수신하는 단계; 상기 네트워크 노드에서, 상기 클라이언트 측 난수의 수신에 응답하여 OTP(One Time Password)로부터 서버 측 난수를 도출하는 단계; 상기 클라이언트 및 상기 서버 간에 수립될 보안 세션의 비밀 키를 상기 클라이언트가 산출하도록 상기 서버 측 난수를 상기 네트워크 노드로부터 상기 클라이언트로 전송하는 단계; 상기 서버가 상기 OTP와 동일한 OTP로부터 상기 서버 측 난수를 생성하도록 상기 서버 측 난수가 도출되었다는 통지를 상기 네트워크로부터 상기 서버로 전송하는 단계; 상기 네트워크 노드에서, 상기 비밀 키의 산출에 이용되는 클라이언트 측 키를 수신하는 단계; 및 상기 비밀 키를 상기 서버가 산출하도록 상기 클라이언트 측 난수 및 상기 클라이언트 측 키를 상기 네트워크 노드로부터 상기 서버로 전송하는 단계를 포함하는, 보안 세션 수립 방법이 제공된다.
상기 보안 세션 수립 방법은, 상기 네트워크 노드에서, 상기 클라이언트 측 난수, 상기 서버 측 난수 및 상기 클라이언트 측 키에 기반하여 상기 비밀 키를 산출하는 단계를 더 포함할 수 있다.
상기 통지는 상기 네트워크 노드와 상기 서버 간에 미리 수립된 다른 보안 세션을 통해 상기 네트워크 노드로부터 상기 서버로 전송될 수 있다.
상기 통지는 상기 네트워크 노드에 의해 상기 서버의 공개 키로 암호화된 후에 상기 네트워크 노드로부터 상기 서버로 전송될 수 있다.
상기 통지는 암호화되지 않고 상기 네트워크 노드와 상기 서버 간에 수립된 비보안 세션 상에서 상기 네트워크 노드로부터 상기 서버로 전송될 수 있다.
상기 클라이언트 측 키는 상기 클라이언트에 의해 상기 서버의 공개 키로 암호화될 수 있다.
또 다른 예시적인 실시예에 따르면, 클라이언트 및 서버와 접속되어 상기 클라이언트와 상기 서버 간 보안 세션을 수립하기 위한 장치로서, 상기 클라이언트에 의해 생성된 클라이언트 측 난수가 수신되는 것에 응답하여 서버 측 난수를 생성하는 난수 생성부; 및 상기 클라이언트 측 난수를 수신하고, 상기 클라이언트 및 상기 서버 간에 수립될 보안 세션의 비밀 키를 상기 클라이언트가 산출하도록 상기 서버 측 난수를 상기 클라이언트로 전송하며, 상기 비밀 키의 산출에 이용되는 클라이언트 측 키를 수신하고, 상기 비밀 키를 상기 서버가 산출하도록 상기 클라이언트 측 난수, 상기 서버 측 난수 및 상기 클라이언트 측 키를 상기 서버로 전송하는 통신 인터페이스부를 포함하는, 보안 세션 수립 장치이 제공된다.
상기 보안 세션 수립 장치는, 상기 클라이언트 측 난수, 상기 서버 측 난수 및 상기 클라이언트 측 키에 기반하여 상기 비밀 키를 산출하는 비밀 키 산출부를 더 포함할 수 있다.
상기 통신 인터페이스부는 상기 장치와 상기 서버 간에 미리 수립된 다른 보안 세션을 통해 상기 서버 측 난수를 상기 서버로 전송할 수 있다.
상기 통신 인터페이스부는 상기 서버 측 난수를 상기 서버의 공개 키로 암호화한 후에 상기 서버로 전송할 수 있다.
상기 통신 인터페이스부는 암호화되지 않은 상기 서버 측 난수를 상기 장치와 상기 서버 간에 수립된 비보안 세션 상에서 상기 서버로 전송할 수 있다.
상기 클라이언트 측 키는 상기 클라이언트에 의해 상기 서버의 공개 키로 암호화될 수 있다.
또 다른 예시적인 실시예에 따르면, 클라이언트 및 서버와 접속되어 상기 클라이언트와 상기 서버 간 보안 세션을 수립하기 위한 장치로서, 상기 클라이언트에 의해 생성된 클라이언트 측 난수가 수신되는 것에 응답하여 OTP(One Time Password)로부터 서버 측 난수를 도출하는 난수 생성부; 및 상기 클라이언트 측 난수를 수신하고, 상기 클라이언트 및 상기 서버 간에 수립될 보안 세션의 비밀 키를 상기 클라이언트가 산출하도록 상기 서버 측 난수를 상기 클라이언트로 전송하며, 상기 서버가 상기 OTP와 동일한 OTP로부터 상기 서버 측 난수를 생성하도록 상기 서버 측 난수가 도출되었다는 통지를 상기 서버로 전송하고, 상기 비밀 키의 산출에 이용되는 클라이언트 측 키를 수신하며, 상기 비밀 키를 상기 서버가 산출하도록 상기 클라이언트 측 난수 및 상기 클라이언트 측 키를 상기 서버로 전송하는 통신 인터페이스부를 포함하는, 보안 세션 수립 장치가 제공된다.
상기 보안 세션 수립 장치는, 상기 클라이언트 측 난수, 상기 서버 측 난수 및 상기 클라이언트 측 키에 기반하여 상기 비밀 키를 산출하는 비밀 키 산출부를 더 포함할 수 있다.
상기 통신 인터페이스부는 상기 장치와 상기 서버 간에 미리 수립된 다른 보안 세션을 통해 상기 통지를 상기 서버로 전송할 수 있다.
상기 통신 인터페이스부는 상기 통지를 상기 서버의 공개 키로 암호화한 후에 상기 서버로 전송할 수 있다.
상기 통신 인터페이스부는 암호화되지 않은 상기 통지를 상기 장치와 상기 서버 간에 수립된 비보안 세션 상에서 상기 서버로 전송할 수 있다.
상기 클라이언트 측 키는 상기 클라이언트에 의해 상기 서버의 공개 키로 암호화될 수 있다.
또 다른 예시적인 실시예에 따르면, 상기 방법들 중 어느 하나를 실행하기 위한 컴퓨터 프로그램이 저장된 컴퓨터 판독가능 저장 매체가 제공된다.
소정의 실시예들에 따르면, 클라이언트와 서버 사이에 하나 이상의 중간 네트워크 노드를 배치하는 오버레이 네트워크를 통해 데이터(예컨대, 실시간 멀티미디어 데이터)의 전송이 가속될 수 있다.
소정의 실시예들에 따르면, 데이터 전송을 위하여 보안 세션을 수립하는 데 소요되는 지연시간이 감소될 수 있다.
소정의 실시예들에 따르면, 데이터 전송 시에 오버레이 네트워크의 중간 네트워크 노드에서 반복적으로 수행하는 복호화 및 암호화가 회피될 수 있다.
도 1은 예시적인 실시예에 따른 네트워크 환경을 도시한 블록도,
도 2a 및 도 2b는 예시적인 실시예에 따라 클라이언트와 서버 간 보안 세션을 수립하기 위한 과정을 도시한 도면,
도 3은 예시적인 실시예에 따라 클라이언트와 서버 간 보안 세션을 수립하기 위한 과정을 도시한 도면,
도 4는 예시적인 실시예에 따라 클라이언트와 서버 간 보안 세션을 수립하기 위한 장치를 도시한 블록도.
이하, 도면을 참조하여 본 발명의 구체적인 실시형태를 설명하기로 한다. 이하의 상세한 설명은 본 명세서에서 기술된 방법, 장치 및/또는 시스템에 대한 포괄적인 이해를 돕기 위해 제공된다. 그러나 이는 예시에 불과하며 본 발명은 이에 제한되지 않는다.
본 발명의 실시예들을 설명함에 있어서, 본 발명과 관련된 공지기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. 상세한 설명에서 사용되는 용어는 단지 본 발명의 실시예들을 기술하기 위한 것이며, 결코 제한적이어서는 안 된다. 명확하게 달리 사용되지 않는 한, 단수 형태의 표현은 복수 형태의 의미를 포함한다. 본 설명에서, "포함" 또는 "구비"와 같은 표현은 어떤 특성들, 숫자들, 단계들, 동작들, 요소들, 이들의 일부 또는 조합을 가리키기 위한 것이며, 기술된 것 이외에 하나 또는 그 이상의 다른 특성, 숫자, 단계, 동작, 요소, 이들의 일부 또는 조합의 존재 또는 가능성을 배제하도록 해석되어서는 안 된다.
도 1은 예시적인 실시예에 따른 네트워크 환경을 도시한 블록도이다.
도 1에 도시된 바와 같이, 네트워크 환경(100)은 클라이언트(110), 서버(120) 및 클라이언트(110)와 서버(120) 간에 위치한 오버레이 네트워크 시스템(130)을 포함한다. 클라이언트(100)와 서버(120) 간에 전송되는 데이터는 오버레이 네트워크 시스템(130)을 거친다. 예를 들어, 음성 인식 서비스가 서버(120)로부터 클라이언트(110)로 제공될 수 있는데, 클라이언트(110)는 음성을 나타내는 데이터를 오버레이 네트워크 시스템(130)을 통해 서버(120)에 송신하고 서버(120)는 그 데이터로부터 음성을 인식하고 인식된 음성에 기반한 다른 데이터를 오버레이 네트워크 시스템(130)을 통해 클라이언트(110)에 제공하는 방식으로 위 음성 인식 서비스가 수행될 수 있다.
오버레이 네트워크 시스템(130)은 클라이언트(110)와 서버(120) 간 데이터 전송을 가속하도록 구성된다. 구체적으로, 오버레이 네트워크 시스템(130)은 중간 네트워크 노드들, 즉 진입 노드(Ingress Node: IN)(131) 및 진출 노드(Egress Node: EN)(135)를 포함할 수 있다. 예컨대, 데이터가 클라이언트(110)로부터 진입 노드(131)를 통해 오버레이 네트워크 시스템(130)에 유입된다. 그 데이터는 진출 노드(135)를 통해 오버레이 네트워크 시스템(130)으로부터 서버(120)로 유출된다. 나아가, 일 예로서, 오버레이 네트워크 시스템(130)은 추가적인 중간 네트워크 노드로서 바이패스 노드(Bypass Node: BP)(133)를 더 포함할 수 있다. 바이패스 노드(133)는 진입 노드(131)에 유입된 위 데이터를 진출 노드(135)에 전달한다. 다른 예로서, 비록 도 1에 도시되지 않았으나, 바이패스 노드(133)와 진출 노드(135) 사이에 하나 이상의 다른 바이패스 노드가 위치하여 바이패스 노드(133)와 진출 노드(135) 간에 통신을 중계할 수 있다.
진입 노드(131)와 클라이언트(110) 간의 링크는 진입 노드(131)와 진출 노드(135) 간의 링크에 비해 라운드 트립 시간이 작고 패킷 유실이 적도록 진입 노드(131)가 네트워크 환경(100)에 배치될 수 있다. 또한, 진출 노드(135)는 서버(120)와 지리적으로 가깝게 배치될 수 있다.
특히, 소정의 관리 정책 하에서, 진입 노드(131)는 서버(120)의 인증서와 동일한 복제된 인증서를 저장할 수 있고, 서버(120)와 동일한 사설 키(private key)를 가질 수 있다. 나아가, 진입 노드(130)는 클라이언트(110)와 서버(120) 간 보안 세션(예컨대, SSL 세션)을 위한 보안 키(예컨대, SSL 프로토콜에 정의된 마스터 비밀(master secret) 키)를 생성할 수 있다. 그 결과, 클라이언트(110)는 별도의 수정 없이 보안 관련 표준을 준수하도록 유지하면서 클라이언트(110)와 서버(120) 간 데이터 전송의 속도를 높일 수 있다. 예시적인 실시예들은 클라이언트(110)와 서버(120) 간 보안 세션(예컨대, SSL 세션)의 수립에 소요되는 지연시간을 줄일 수 있다. 이러한 실시예들에서, 진입 노드(131)는 클라이언트(110)에 대하여 서버(120)의 프록시로서 역할을 하면서 클라이언트(110) 및 서버(120)로 하여금 동일한 마스터 비밀 키를 생성하도록 할 수 있다. 진입 노드(131)는 클라이언트(110) 및 서버(120)와 각각 별개의 보안 세션(예컨대, SSL 세션)을 수립하지 않아도 된다. 일 예로서, 진입 노드(131)는 마스터 비밀 키를 생성하는 데 사용되는 서버 측 난수를 서버(120)를 대신하여 생성하고, 이를 클라이언트(110) 및 서버(120)에 전송할 수 있다. 다른 예로서, 진입 노드(131)와 서버(120)가 동일한 OTP(One Time Password)를 획득할 수 있는 메커니즘이 이용될 수 있다. 이러한 메커니즘이 진입 노드(131)와 서버(120) 간에 구현된 경우, 진입 노드(131)는 OTP로부터 서버 측 난수를 도출하고 이를 클라이언트(110)에 전송하는 한편, 서버(120)로 하여금 동일한 OTP로부터 동일한 서버 측 난수를 도출하도록 할 수 있다.
네트워크 환경(100) 내의 네트워크 노드들(즉, 클라이언트(110), 서버(120) 및 오버레이 네트워크 시스템(130)의 중간 네트워크 노드들) 각각은 하나 이상의 프로세서 및 그 프로세서와 연결된 컴퓨터 판독 가능 기록 매체를 포함하는 컴퓨팅 장치 상에서 구현될 수 있다. 컴퓨터 판독 가능 기록 매체는 프로세서의 내부 또는 외부에 있을 수 있고, 잘 알려진 다양한 수단으로 프로세서와 연결될 수 있다. 컴퓨팅 장치 내의 프로세서는 각 컴퓨팅 장치로 하여금 본 명세서에서 기술되는 소정의 실시예에 따라 동작하도록 할 수 있다. 예컨대, 그러한 프로세서는 컴퓨터 판독 가능 기록 매체에 저장된 명령어를 실행할 수 있고, 컴퓨터 판독 가능 기록 매체에 저장된 명령어는 프로세서에 의해 실행되는 경우 컴퓨팅 장치로 하여금 본 명세서에 기술되는 소정의 실시예에 따른 동작들을 수행하도록 구성될 수 있다.
도 2a 및 도 2b는 예시적인 실시예에 따라 클라이언트와 서버 간 보안 세션을 수립하기 위한 과정을 도시한다.
예시적인 과정(200)은 클라이언트(110), 서버(120), 진입 노드(131) 및 진출 노드(135)에 의해 수행되는 동작들을 포함한다. 물론, 도 2a 및 도 2b에 도시된 바와 달리, 진입 노드(131)와 서버(120)는 진출 노드(135)를 거치지 않고 직접 신호를 교환할 수 있다.
과정(200)의 동작들은 클라이언트(110)와 서버(120) 간 SSL 세션을 수립한다. 과정(200)의 동작들과 비슷한 동작들이 SSL 세션이 아닌 다른 보안 세션(예컨대, TLS 세션)을 클라이언트(110)와 서버(120) 간에 수립할 수 있음이 이해될 것이다.
동작 201에서, 진입 노드(131)와 서버(120) 간의 보안 세션이 수립된다. 예를 들어, 도 2a에 도시된 바와 같이, 진입 노드(131)는 진출 노드(135)와 보안 세션을 수립하고 진출 노드(135)는 서버(120)와 보안 세션을 수립하는 방식으로 진출 노드(135)가 진입 노드(131)로부터의 요청 및/또는 데이터를 서버(120)로 중계할 수 있다. 다른 예로서, 진입 노드(131)가 서버(120)와 직접적으로 보안 세션을 수립할 수 있다.
진입 노드(131)와 서버(120) 간의 보안 접속이 수립되는 동안, 서버(120)는 서버(120)에 저장된 암호 모음 리스트(cipher suite list)를 진입 노드(131)에 제공할 수 있다. 암호 모음 리스트는 어떤 암호 모음들을 서버(120)가 지원하는지를 나타낸다. 또한, 암호 모음 리스트는 서버(120)가 이용 가능한 암호 모음들의 우선순위가 매겨진 리스트일 수 있다. 진입 노드(131)는 클라이언트(110)와의 SSL 세션을 위한 암호명세(cipher-spec)를 협상(negotiation)하는 데 이 암호 모음 리스트를 사용할 수 있다.
도 2a에서, 진입 노드(131)와 서버(120) 간에 수립된 접속은 SSL 세션을 수반하는 것으로 도시된다. 대안적으로, 진입 노드(131)와 서버(120) 간에 수립된 접속은 일반적인 비보안 세션(예컨대, TCP 세션)을 수반할 수 있다. 진입 노드(131)는 요청 및/또는 데이터를 암호화하지 않고 비보안 세션 상에서 서버(120)에 전송하거나, 그 요청 및/또는 데이터를 서버(120)의 공개 키(public key)로써 암호화하고 이를 일반 세션 상에서 서버(120)에 전송할 수 있다.
동작 203에서, 클라이언트(110)와 진입 노드(131) 간 TCP 세션이 수립된다. 예컨대, TCP 세션 수립은 클라이언트(110)와 진입 노드(131) 간의 TCP 핸드쉐이크(예컨대, 클라이언트(110)는 SYN을 진입 노드(131)로 전송하고, 진입 노드(131)는 이에 응답하여 SYN-ACK를 클라이언트(110)에 전송하며, 클라이언트는 ACK를 진입 노드(131)에 전송하는 핸드쉐이크)를 통해 수행될 수 있다. 이러한 TCP 세션은 예시적인 것이며, 전송 계층의 다른 프로토콜에 기반한 세션이 클라이언트(110)와 진입 노드(131) 간에 수립될 수 있다.
동작 205에서, 진입 노드(131)는 클라이언트(110)가 진입 노드(131)에 TCP를 기반으로 접속하였음을 진출 노드(135)에 통지한다.
동작 207에서, 이러한 통지를 수신하는 것에 응답하여, 진출 노드(135)는 진출 노드(135)와 서버(120) 간에 수립된 TCP 세션을 획득한다. 몇몇 실시예에서, 위 통지에 응답하여, 진출 노드(135)와 서버(120) 간에 TCP 세션의 수립이 개시되고 완료될 수 있다. 다른 몇몇 실시예에서(예컨대, 오버레이 네트워크 시스템(130)의 고유한 프로토콜이 오버레이 네트워크 시스템(130)을 거치는 데이터 페이로드가 어느 클라이언트로부터 기원하는지 나타내는 정보를 정의하는 경우), 위 통지에 응답하여, 진출 노드(135)는 사전에 진출 노드(135)와 서버(120) 간에 수립된 세션들의 풀(pool)에서 하나의 세션을 선택한다. 이러한 선택에 소요되는 시간은 진입 노드(131)와 서버(120) 간의 세션을 수립하는 데 걸리는 시간보다 작을 수 있다.
클라이언트(110)와 진입 노드(131) 간 TCP 세션이 수립된 후, 클라이언트(110)는 SSL 프로토콜에 따른 핸드쉐이크를 준비한다. 예컨대, 동작 209에서, 클라이언트(110)는 SSL 세션을 위한 보안 키(예컨대, 마스터 비밀 키)를 산출하는 데 사용되는 클라이언트 측 난수를 생성한다. 예컨대, 소정의 개수의 난수가 특정 시점에 클라이언트(110)에서 미리 생성된 후, 생성된 난수 중 하나 이상이 필요 시(예컨대, 후술하는 동작 211에서 진입 노드(131)에 전송되는 것이 요구되는 경우)에 사용될 수 있다. 이와 같이 미리 생성된 난수는 소정의 시간 이후에 만료(expire)할 수 있다.
동작 211에서, 클라이언트(110)는 생성된 클라이언트 측 난수를 진입 노드(131)에 전송한다. 클라이언트(110)가 SSL 핸드쉐이크 절차를 개시함으로써 클라이언트 측 난수가 전송될 수 있다. 예컨대, SSL 핸드쉐이크 프로토콜 메시지들 중 하나인 클라이언트 헬로우 메시지(client hello message)는 클라이언트 측 난수를 매개변수(parameter)로 취할 수 있다. 클라이언트 헬로우 메시지의 다른 매개변수들은 세션 아이디, 프로토콜 버전, 클라이언트(110)가 지원하는 암호 모음 및 압축 방식을 포함할 수 있다. 클라이언트(110)는 이러한 클라이언트 헬로우 메시지를 진입 노드(131)에 전송할 수 있다.
동작 213에서, 클라이언트 헬로우 메시지를 수신하는 것에 응답하여, 진입 노드(131)는 클라이언트(110)와 서버(120) 간에 수립될 SSL 세션의 보안 키(예컨대, 마스터 비밀 키)의 산출에 이용되는 서버 측 난수를 생성한다. 클라이언트 측 난수와 마찬가지로, 소정의 개수의 난수가 특정 시점에 진입 노드(131)에서 미리 생성된 후, 생성된 난수 중 하나 이상이 필요 시(예컨대, 후술하는 동작 215 또는 동작 219에서 서버(120)에 전송되는 것이 요구되는 경우)에 신속하게 사용될 수 있다. 이와 같이 미리 생성된 난수는 소정의 시간 이후에 만료할 수 있다.
예시적인 실시예들에서, 진입 노드(131)는 서버 측 난수를 앞서 동작 201에서 진입 노드(131)와 서버(120) 간에 수립된 보안 세션을 통해 서버(120)에 전송할 수 있다. 예를 들어, 도 2a에 도시된 바와 같이, 진입 노드(131)는 서버 측 난수를 진출 노드(135)로 전송하고(동작 215), 진출 노드(135)는 서버 측 난수를 서버(120)에 전송할 수 있다(동작 217). 다른 예로서, 진입 노드(131)가 서버(120)에 직접적으로 서버 측 난수를 전송할 수 있다.
대안적으로, 진입 노드(131)와 서버(120) 간에 수립된 접속이 일반 세션(예컨대, TCP 세션)을 수반하는 실시예들에서, 서버 측 난수는 일반 세션 상에서 진입 노드(131)로부터 서버(120)로 전송될 수 있다. 서버 측 난수는 암호화되지 않고 그러한 세션(즉, 비보안 세션) 상에서 진입 노드(131)로부터 서버(120)로 전송될 수 있다. 또는, 진입 노드(131)는 서버(120)의 공개 키로써 서버 측 난수를 암호화하여 그 세션 상에서 서버(120)에 전송할 수 있다.
클라이언트 헬로우 메시지 내의 클라이언트 측 난수는 그대로 진입 노드(131)에서 서버(120)로 바이패스된다. 예를 들어, 도 3에 도시된 바와 같이, 클라이언트 측 난수는 서버 측 난수와 함께 진입 노드(131)로부터 진출 노드(135)를 거쳐 서버(120)로 전송될 수 있다(동작 215 및 동작 217). 다른 예로서, 클라이언트 측 난수는 서버 측 난수와 함께 진입 노드(131)로부터 서버(120)에 직접적으로 전송될 수 있다.
클라이언트 헬로우 메시지의 다른 매개변수들도 그대로 진입 노드(131)에서 (예컨대, 진출 노드(135)를 거쳐) 서버(120)로 바이패스될 수 있다(동작 215 및 동작 217).
동작 219에서, 진입 노드(131)는 서버 측 난수를 클라이언트(110)에 전송한다. 예를 들어, 진입 노드(131)는 클라이언트 헬로우 메시지에 대한 응답으로서 서버 헬로우 메시지(server hello message)를 클라이언트(110)에 전송할 수 있다. 서버 헬로우 메시지는 서버 측 난수를 매개변수로 취할 수 있다. 서버 헬로우 메시지의 다른 매개변수들은 대응하는 클라이언트 헬로우 메시지의 세션 아이디, 프로토콜 버전, 진입 노드(131)가 (예컨대, 서버(120)로부터 수신된 암호 모음 리스트에 기반하여) 선택한 암호 모음 및 압축 방식을 포함할 수 있다. 진입 노드(131)는 이러한 서버 헬로우 메시지를 클라이언트(110)에 전송할 수 있다.
동작 221 및 동작 223에서, 진입 노드(131)는 각각 서버(120)의 인증서 및 서버(120)의 공개 키를 클라이언트(110)에 전송한다. 이어서, 동작 225에서, 진입 노드(131)는 서버 헬로우 완료 메시지(server hello done message)를 클라이언트(110)에 전송한다.
후속적으로, 클라이언트(110)는 SSL 표준에 따라 클라이언트(110)와 서버(120) 간 보안 세션의 수립에 요구되는 소정의 동작들을 수행한다. 예컨대, 도 2a에 도시된 바와 같이, 동작 227에서, 클라이언트(110)는 클라이언트 측 키(예컨대, 사전 마스터 비밀 키(pre-master secret key))를 생성하고, 클라이언트 측 키, 클라이언트 측 난수 및 서버 측 난수에 기반하여 마스터 비밀 키(master secret key)를 생성한다.
이후, 동작 229에서, 클라이언트(110)는 클라이언트(110)와 서버(120) 간 SSL 세션의 수립을 위해 클라이언트 측 키를 서버(120)의 공개 키로써 암호화하고 이를 진입 노드(131)에 전송한다.
동작 231에서, 진입 노드(131)는 클라이언트 측 난수, 서버 측 난수 및 수신된 클라이언트 측 키를 이용하여 마스터 비밀 키를 산출한다. 클라이언트(110)와 서버(120) 간 SSL 세션에서 사용되는 세션 키 및/또는 해쉬 키가 마스터 비밀 키로부터 도출될 수 있다.
진입 노드(131)는 수신된 클라이언트 측 키를 서버(120)로 전송한다. 예를 들어, 도 2b에 도시된 바와 같이, 진입 노드(131)는 암호화된 클라이언트 측 키를 진출 노드(135)를 거쳐 서버(120)로 전송할 수 있다(동작 233 및 동작 235). 다른 예로서, 진입 노드(131)는 암호화된 클라이언트 측 키를 서버(120)에 직접적으로 전송할 수 있다.
동작 236에서, 서버(120)는 수신된 클라이언트 측 키과 더불어 클라이언트 측 난수 및 서버 측 난수를 이용하여 마스터 비밀 키를 산출한다.
이어서, 다음과 같은 과정을 통해 클라이언트(110)와 서버(120) 간의 SSL 세션의 수립이 마무리된다. 동작 237에서, 클라이언트(110)가 서버 헬로우 메시지 내의 암호 모음으로부터 도출되는 암호 명세를 클라이언트(110)와 서버(120) 간의 SSL 세션에 사용할 것임을 나타내는 암호 명세 변경 메시지(change cipher spec message)가 클라이언트(110)로부터 진입 노드(131)에 전송된다. 또한, 동작 239에서, 클라이언트(110)와 서버(120) 간에 키 교환이 성공적으로 이루어짐을 확인하기 위한 완료 메시지(finished message)가 클라이언트(110)로부터 진입 노드(131)에 전송된다. 클라이언트(110)로부터 암호 명세 변경 메시지 및 완료 메시지를 수신하는 것에 응답하여, 진입 노드(131)는 서버(120)를 대신하여 암호 명세 변경 메시지 및 완료 메시지를 각각 클라이언트(110)에 전송한다(동작 241 및 동작 243).
한편, 진입 노드(131)는 클라이언트(110)로부터 수신한 암호 명세 변경 메시지 및 완료 메시지를 (예컨대, 진출 노드(135)를 거쳐) 서버(120)에 전송한다(동작 245, 동작 247, 동작 249 및 동작 251). 진입 노드(131)로부터 암호 명세 변경 메시지 및 완료 메시지를 수신하는 것에 응답하여, 서버(120)는 자신의 암호 명세 변경 메시지 및 완료 메시지를 각각 (예컨대, 진출 노드(135)를 거쳐) 진입 노드(131)에 전송한다(동작 253, 동작 255, 동작 257 및 동작 259). 다만, 진입 노드(131)는 서버(120)로부터 수신된 암호 명세 변경 메시지 및 완료 메시지를 무시할 수 있다. 앞서 언급한 바와 같이, 동작 241 및 동작 243에서, 진입 노드(131)는 클라이언트(110)로부터 암호 명세 변경 메시지 및 완료 메시지를 수신하는 것에 응답하여 암호 명세 변경 메시지 및 완료 메시지를 클라이언트(110)에 전송하였다. 따라서, 클라이언트(110)에 의해 수행될 SSL 세션 수립 동작들은 이미 완료되었다고 볼 수 있다.
따라서, 클라이언트(110)와 서버(120) 간에 수립된 SSL 세션 상에서 클라이언트(110)와 서버(120)는 세션 키를 이용하여 데이터 통신을 수행할 수 있다. 클라이언트(110)와 서버(120) 각각은 마스터 비밀 키로부터 위 세션 키를 도출할 수 있다. 위와 같이 클라이언트(110)와 서버(120) 간에 보안 세션이 수립된바, 진입 노드(110)는 클라이언트(110)로부터 세션 키로 암호화된 애플리케이션 데이터를 수신하고(동작 261), 암호화된 애플리케이션 데이터를 복호화하여 다른 세션 키로 암호화하는 동작을 수행하지 않고 수신된 애플리케이션 데이터를 그대로 (예컨대, 진출 노드(135)를 거쳐) 서버(120)에 전송할 수 있다(동작 263 및 동작 265). 다른 애플리케이션 데이터을 서버(120)로부터 클라이언트(110)로 전송하는 동작 역시 진입 노드(110)가 그 애플리케이션 데이터를 복호화하고 다른 세션 키로 암호화하는 것을 요구하지 않는다.
물론, 서버(120)에 의해 수행될 보안 세션 수립 동작들이 완료되지 않은 시점에 클라이언트(110)가 애플리케이션 데이터를 서버(120)로 전송할 가능성이 있다. 그러나, 진입 노드(131)는 네트워크 환경(100)에서 상당한 크기의 네트워킹 큐(networking queue)의 역할을 할 수 있으므로, 위 시점에 클라이언트(110)로부터 송신된 데이터는 진입 노드(131)에서 큐잉되고, 클라이언트(110)와 서버(120) 간 보안 세션이 정상적으로 수립된 이후에 진입 노드(131)가 그 애플리케이션 데이터를 서버(120)로 전송할 수 있다.
도 3은 예시적인 실시예에 따라 클라이언트와 서버 간 보안 세션을 수립하기 위한 과정을 도시한다.
이하에서, 예시적인 과정(300)의 동작들 중에서 언급된 과정(200)과 차이가 있는 동작들은 상세히 설명하고 과정(200)과 유사한 동작들은 간략히 설명한다.
동작 301에서, 진입 노드(131)는 진입 노드(131)와 서버(120) 간의 보안 접속(예컨대, SSL 세션)을 수립한다. 동작 301은 앞서 동작 201과 관련하여 설명한 바와 마찬가지로 수행될 수 있다.
과정(200)과 달리, 과정(300)은 서버(120)와 진입 노드(131)가 동일한 OTP를 생성하기 위한 메커니즘을 공유한다(동작 302). 예컨대, 동작 302에서, 서버(120)와 진입 노드(131)는 동일한 OTP를 생성하는 알고리즘, 동일한 OTP 생성용 키 및 다른 공유 정보(예컨대, 시간, 시퀀스 카운트 등)를 공유하는 동작을 수행할 수 있다. 대안적으로, 동작 302에서, 서버(120)는 진입 노드(131)가 생성하는 OTP를 유효화(validate)할 수 있는 메커니즘을 활성화할 수 있다.
동작 303에서, 클라이언트(110)와 진입 노드(131) 간 TCP 세션이 수립된다. 동작 303은 앞서 동작 203과 관련하여 설명한 바와 마찬가지로 수행될 수 있다.
동작 305에서, 클라이언트(110)와 진입 노드(131) 간 TCP 접속을 진출 노드(135)에 통지한다. 동작 307에서, 이러한 통지에 응답하여, 진출 노드(135)는 서버(120)와 TCP 세션을 수립한다. 동작 305 및 동작 307은 각각 앞서 동작 205 및 동작 207과 관련하여 설명한 바와 마찬가지로 수행될 수 있다.
동작 309에서, 클라이언트(110)와 진입 노드(131) 간 TCP 세션이 수립된 후, 클라이언트(110)는 클라이언트 측 난수를 생성한다. 동작 309는 앞서 동작 209와 관련하여 설명한 바와 마찬가지로 수행될 수 있다.
동작 311에서, 클라이언트(110)는 생성된 클라이언트 측 난수를 매개변수로 취하는 클라이언트 헬로우 메시지를 진입 노드(131)에 전송한다. 동작 311은 앞서 동작 211과 관련하여 설명한 바와 마찬가지로 수행될 수 있다.
동작 313에서, 클라이언트 헬로우 메시지를 수신하는 것에 응답하여, 진입 노드(131)는 OTP를 생성하고 생성된 OTP로부터 서버 측 난수를 도출한다.
진입 노드(131)는 OTP로부터 서버 측 난수가 도출되었음을 (예컨대, 진출 노드(135)를 거쳐) 서버(120)에 통지한다(동작 314 및 동작 315). 예시적인 실시예들에서, 진입 노드(131)는 진입 노드(131)와 서버(120) 간에 수립된 보안 접속을 통해 이러한 통지를 서버(120)에 전달할 수 있다. 대안적으로, 진입 노드(131)는 그 통지를 암호화하지 않고 진입 노드(131)와 서버(120) 간의 일반적인 비보안 세션(예컨대, 일반적인 TCP 세션) 상에서 서버(120)로 전달하거나, 그 통지를 서버(120)의 공개 키로써 암호화한 후 이를 그러한 세션 상에서 서버(120)로 전달할 수 있다.
동작 316에서, 위와 같은 통지를 수신하는 것에 응답하여, 서버(120)는 진입 노드(131)와 공유하고 있는 OTP 메커니즘을 이용하여 진입 노드(131)와 동일한 OTP를 생성하고 그 OTP로부터 서버 측 난수를 도출한다. 이와 같이 서버 측 난수를 도출하는 것은 서버(120)와 진입 노드(131) 간에 미리 설정된 방식을 따를 수 있다.
한편, 클라이언트 헬로우 메시지의 매개변수들(클라이언트 측 난수를 포함함)은 그대로 진입 노드(131)에서 (예컨대, 진출 노드(135)를 거쳐) 서버(120)로 바이패스된다(동작 317 및 동작 318).
동작 319에서, 진입 노드(131)는 서버 측 난수를 매개변수로 취하는 서버 헬로우 메시지를 클라이언트(110)에 전송한다. 동작 319는 앞서 동작 219와 관련하여 설명한 바와 마찬가지로 수행될 수 있다.
동작 321, 동작 323 및 동작 325에서, 진입 노드(131)는 각각 서버(120)의 인증서, 서버(120)의 공유 키 및 서버 헬로우 완료 메시지를 클라이언트(110)에 전송한다. 동작 321, 동작 323 및 동작 325는 앞서 동작 221, 동작 223 및 동작 225와 관련하여 설명한 바와 마찬가지로 수행될 수 있다.
이어서, 전술한 바와 같이, 클라이언트(110)는 SSL 표준에 따라 클라이언트(110)와 서버(120) 간 보안 세션의 수립에 요구되는 소정의 동작들을 수행한다. 예컨대, 앞서 관련하여 설명한 바와 마찬가지로, 클라이언트(110)는 클라이언트 측 키(예컨대, 사전 마스터 비밀 키)를 생성하고 마스터 비밀 키를 산출한다(동작 327). 후속적으로, 도 2b에 도시된 소정의 동작들(예컨대, 동작 229 내지 동작 265)이 더 수행될 수 있다.
도 4는 예시적인 실시예에 따라 클라이언트와 서버 간 보안 세션을 수립하기 위한 장치를 도시한 블록도이다.
도 4에 도시된 바와 같이, 예시적인 보안 세션 수립 장치(400)는 클라이언트(110) 및 서버(120)와 통신 가능하게 접속한다. 예컨대, 보안 세션 수립 장치(400)는 앞서 언급된 진입 노드(131)를 구현하는 컴퓨팅 장치일 수 있다. 비록 도 4에 도시되지는 않았으나, 보안 세션 수립 장치(400)와 서버(120) 사이에는 하나 이상의 다른 중간 네트워크 노드가 보안 세션 수립 장치(400)와 서버(120)와 통신 가능하게 접속되도록 배치될 수 있다.
보안 세션 수립 장치(400)는 난수 생성부(410) 및 통신 인터페이스부(420)를 포함한다. 또한, 보안 세션 수립 장치(400)는 비밀 키 산출부(430)를 더 포함할 수 있다.
몇몇 실시예에서, 난수 생성부(410)는 클라이언트(110)에 의해 생성된 클라이언트 측 난수가 수신되는 것에 응답하여 서버 측 난수를 생성하도록 구성될 수 있다. 나아가, 통신 인터페이스부(420)는 클라이언트(110) 및 서버(120)와 접속되어 클라이언트(110) 및 서버(120) 간의 보안 세션(예컨대, SSL 세션)을 수립하는 데 필요한 정보를 클라이언트(110)와 서버(120)에 전달하도록 구성될 수 있다. 구체적으로, 통신 인터페이스부(420)는 클라이언트 측 난수를 수신하도록 구성될 수 있다. 통신 인터페이스부(420)는 또한 서버 측 난수를 클라이언트(110)로 전송하여 클라이언트(110) 및 서버(120) 간에 수립될 보안 세션의 비밀 키(예컨대, 마스터 비밀 키)를 클라이언트(110)가 산출하도록 구성될 수 있다. 통신 인터페이스부(420)는 또한 비밀 키의 산출에 이용되는 클라이언트 측 키(예컨대, 사전 마스터 비밀 키)를 수신하도록 구성될 수 있다. 통신 인터페이스부(420)는 또한 클라이언트 측 난수, 서버 측 난수 및 클라이언트 측 키를 서버(120)로 전송하여 비밀 키를 서버(120)가 산출하도록 구성될 수 있다.
몇몇 다른 실시예에서, 난수 생성부(410)는 클라이언트(110)에 의해 생성된 클라이언트 측 난수가 수신되는 것에 응답하여 OTP로부터 서버 측 난수를 도출하도록 구성될 수 있다. 나아가, 통신 인터페이스부(420)는 클라이언트 측 난수를 수신하고, 클라이언트(110) 및 서버(120) 간에 수립될 보안 세션(예컨대, SSL 세션)의 비밀 키(예컨대, 마스터 비밀 키)를 클라이언트(110)가 산출하도록 서버 측 난수를 클라이언트(110)로 전송하도록 구성될 수 있다. 통신 인터페이스부(420)는 또한 서버 측 난수가 도출되었다는 통지를 상기 서버로 전송하여 서버(120)가 위 OTP와 동일한 OTP로부터 난수 생성부(410)에서 도출된 서버 측 난수와 동일한 난수를 생성하도록 구성될 수 있다. 통신 인터페이스부(420)는 또한 비밀 키의 산출에 이용되는 클라이언트 측 키를 수신하도록 구성될 수 있다. 또한, 통신 인터페이스부(420)는 또한 클라이언트 측 난수 및 클라이언트 측 키를 서버(120)로 전송하여 위와 같은 비밀 키를 서버(120)가 산출하도록 구성될 수 있다.
보안 세션 수립 장치(400)가 생성한 서버 측 난수가 서버(120)로 전송이 되는지 아닌지 여부를 불문하고, 보안 세션 수립 장치(400)는 다음과 같은 부가적인 특징들을 가질 수 있다. 예컨대, 통신 인터페이스부(420)에서 수신된 클라이언트 측 키는 클라이언트(110)에 의해 서버(120)의 공개 키로 암호화된 것일 수 있다. 또한, 서버 측 난수는 보안 세션 수립 장치(400)와 서버(120) 간에 미리 수립된 다른 보안 세션을 통해 통신 인터페이스부(420)로부터 서버(120)로 전송될 수 있다. 대안적으로, 서버 측 난수는 보안 세션 수립 장치(400)(예컨대, 통신 인터페이스부(420))에서 서버(120)의 공개 키로 암호화된 후에 통신 인터페이스부(420)로부터 서버(120)로 전송될 수 있다. 또는, 서버 측 난수는 암호화되지 않고 보안 세션 수립 장치(400)와 서버(120) 간에 수립된 비보안 세션 상에서 통신 인터페이스부(420)로부터 서버(120)로 전송될 수 있다. 비밀 키 산출 부(430)는 클라이언트 측 난수, 서버 측 난수 및 클라이언트 측 키에 기반하여 비밀 키를 산출하도록 구성될 수 있다. 나아가, 보안 세션 수립 장치(400)는 앞서 언급된 예시적인 과정들(200, 300)에 따른 진입 노드(131)의 동작들을 수행하도록 구성될 수 있다.
오버레이 네트워킹 기법을 채택하면서 위와 같이 클라이언트(110)와 서버(120) 간 보안 세션을 수립하도록 하는 것(예컨대, 전술한 과정(200) 및 과정(300))은 기존의 바이패스 오버레이 기법들 및 세션 분리 기법들에 비해 개선된 성능을 보인다.
예를 들어, 바이패스 오버레이 기법들에 따르면, 새로운 세션 수립을 위해 클라이언트(110)와 서버(120) 간 요구되는 라운드 트립의 회수에 따라 상당한 지연시간이 경과한 후에 비로소 실제 데이터 전송이 수행될 수 있다. 예컨대, 클라이언트(110)와 서버(120) 간 라운드 트립 시간이 250ms이고 세션 수립을 위해 4회의 라운드 트립이 필요한 경우, 최소 1000ms의 지연시간이 발생한다. 반면, 앞서 기술된 새로운 오버레이 네트워킹 기법에 따르면, 진입 노드(131)와 클라이언트(110) 간 라운드 트립 시간이 충분히 작도록(예컨대, 40ms를 넘지 않도록) 진입 노드(131)가 배치될 수 있고, 세션 수립에 요구되는 라운드 트립 시간도 바이패스 오버레이 기법들보다 작을 수 있다. 따라서, 이와 같이 향상된 오버레이 네트워킹 기법은 데이터 전송에서 지연 시간 악화를 경감시킬 수 있다.
또한, 세션 분리 기법들은 진입 노드(130)와 같은 중간 네트워크 노드들 각각에서의 추가적인 복호화 및 암호화를 수반한다. 따라서, 세션 분리 기법들에 따르면, 1개의 트랜잭션이 처리되기 위해서는, 각 중간 네트워크 노드가 2회의 복호화 및 2회의 암호화를 수행하여야 한다. 기존의 세션 분리 기법 및 앞서 기술한 새로운 오버레이 기법을 동일한 테스트 환경(동작 주파수가 2.50GHz이고 캐시가 2048KB인 Intel Core™ 2 Quad CPU Q8300 프로세서 상)에서 구현한 경우, 전자의 기법에 따라 처리되는 초당 트랜잭션의 개수 TPS(Transaction Per Second)는 20,000 이하이고 후자의 기법에 따른 TPS는 2,600,000 이하임이 확인되었다. (이 테스트에서는, 암호화 및 복호화가 존재하지 않아서 TPS가 무한대를 향하는 것을 방지하기 위해 최소한의 메모리 복사 동작이 두 기법 모두에 부과되었다.) 달리 말하면, 기존의 세션 분리 기법에 비해, 새로운 오버레이 기법은 증가된 서비스 용량을 수용하기 위한 비용이 덜 들 것이다.
나아가, 앞서 기술된 상세사항들 및 도 2a, 도 2b 및 도 3을 참조하면, 예시적인 보안 세션 수립 과정들(200, 300)은 클라이언트(110)가 기존의 보안 프로토콜(예컨대, SSL 프로토콜)에 따라 보안 세션을 수립하기 위해 수행할 동작을 수정할 것을 요구하지 않는다는 점 및 서버(200)가 수행할 동작은 적은 부분만의 수정으로도 위 보안 프로토콜과의 백워드 호환성(backward compatibility)을 유지할 수 있다는 점이 이해될 것이다.
한편, 본 발명의 실시예는 본 명세서에서 기술한 보안 세션 수립 방법을 컴퓨터상에서 수행하기 위한 프로그램을 포함하는 컴퓨터 판독 가능 기록매체를 포함할 수 있다. 상기 컴퓨터 판독 가능 기록매체는 프로그램 명령, 로컬 데이터 파일, 로컬 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체는 본 발명을 위하여 특별히 설계되고 구성된 것들일 수 있다. 컴퓨터 판독 가능 기록매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광 기록 매체, 플롭티컬 디스크와 같은 자기-광 매체, 및 롬, 램, 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다.
이상에서 본 발명의 대표적인 실시예들을 상세하게 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 상술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다. 그러므로 본 발명의 권리범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
110 : 클라이언트
120 : 서버
130 : 오버레이 네트워크 시스템
131 : 진입 노드
133 : 바이패스 노드
135 : 진출 노드

Claims (25)

  1. 클라이언트 및 서버와 접속된 네트워크 노드에서, 상기 클라이언트에 의해 생성된 클라이언트 측 난수(random number)를 수신하는 단계;
    상기 네트워크 노드에서, 상기 클라이언트 측 난수의 수신에 응답하여 서버 측 난수를 생성하는 단계;
    상기 클라이언트 및 상기 서버 간에 수립될 보안 세션의 비밀 키를 상기 클라이언트가 산출하도록 상기 서버 측 난수를 상기 네트워크 노드로부터 상기 클라이언트로 전송하는 단계;
    상기 네트워크 노드에서, 상기 비밀 키의 산출에 이용되는 클라이언트 측 키를 수신하는 단계; 및
    상기 비밀 키를 상기 서버가 산출하도록 상기 클라이언트 측 난수, 상기 서버 측 난수 및 상기 클라이언트 측 키를 상기 네트워크 노드로부터 상기 서버로 전송하는 단계를 포함하는, 보안 세션 수립 방법.
  2. 청구항 1에 있어서,
    상기 네트워크 노드에서, 상기 클라이언트 측 난수, 상기 서버 측 난수 및 상기 클라이언트 측 키에 기반하여 상기 비밀 키를 산출하는 단계를 더 포함하는, 보안 세션 수립 방법.
  3. 청구항 1에 있어서,
    상기 서버 측 난수는 상기 네트워크 노드와 상기 서버 간에 미리 수립된 다른 보안 세션을 통해 상기 네트워크 노드로부터 상기 서버로 전송되는, 보안 세션 수립 방법.
  4. 청구항 1에 있어서,
    상기 서버 측 난수는 상기 네트워크 노드에 의해 상기 서버의 공개 키로 암호화된 후에 상기 네트워크 노드로부터 상기 서버로 전송되는, 보안 세션 수립 방법.
  5. 청구항 1에 있어서,
    상기 서버 측 난수는 암호화되지 않고 상기 네트워크 노드와 상기 서버 간에 수립된 비보안 세션 상에서 상기 네트워크 노드로부터 상기 서버로 전송되는, 보안 세션 수립 방법.
  6. 청구항 1에 있어서,
    상기 클라이언트 측 키는 상기 클라이언트에 의해 상기 서버의 공개 키로 암호화된, 보안 세션 수립 방법.
  7. 클라이언트 및 서버와 접속된 네트워크 노드에서, 상기 클라이언트에 의해 생성된 클라이언트 측 난수를 수신하는 단계;
    상기 네트워크 노드에서, 상기 클라이언트 측 난수의 수신에 응답하여 OTP(One Time Password)로부터 서버 측 난수를 도출하는 단계;
    상기 클라이언트 및 상기 서버 간에 수립될 보안 세션의 비밀 키를 상기 클라이언트가 산출하도록 상기 서버 측 난수를 상기 네트워크 노드로부터 상기 클라이언트로 전송하는 단계;
    상기 서버가 상기 OTP와 동일한 OTP로부터 상기 서버 측 난수를 생성하도록 상기 서버 측 난수가 도출되었다는 통지를 상기 네트워크 노드로부터 상기 서버로 전송하는 단계;
    상기 네트워크 노드에서, 상기 비밀 키의 산출에 이용되는 클라이언트 측 키를 수신하는 단계; 및
    상기 비밀 키를 상기 서버가 산출하도록 상기 클라이언트 측 난수 및 상기 클라이언트 측 키를 상기 네트워크 노드로부터 상기 서버로 전송하는 단계를 포함하는, 보안 세션 수립 방법.
  8. 청구항 7에 있어서,
    상기 네트워크 노드에서, 상기 클라이언트 측 난수, 상기 서버 측 난수 및 상기 클라이언트 측 키에 기반하여 상기 비밀 키를 산출하는 단계를 더 포함하는, 보안 세션 수립 방법.
  9. 청구항 7에 있어서,
    상기 통지는 상기 네트워크 노드와 상기 서버 간에 미리 수립된 다른 보안 세션을 통해 상기 네트워크 노드로부터 상기 서버로 전송되는, 보안 세션 수립 방법.
  10. 청구항 7에 있어서,
    상기 통지는 상기 네트워크 노드에 의해 상기 서버의 공개 키로 암호화된 후에 상기 네트워크 노드로부터 상기 서버로 전송되는, 보안 세션 수립 방법.
  11. 청구항 7에 있어서,
    상기 통지는 암호화되지 않고 상기 네트워크 노드와 상기 서버 간에 수립된 비보안 세션 상에서 상기 네트워크 노드로부터 상기 서버로 전송되는, 보안 세션 수립 방법.
  12. 청구항 7에 있어서,
    상기 클라이언트 측 키는 상기 클라이언트에 의해 상기 서버의 공개 키로 암호화된, 보안 세션 수립 방법.
  13. 클라이언트 및 서버와 접속되어 상기 클라이언트와 상기 서버 간 보안 세션을 수립하기 위한 장치로서,
    상기 클라이언트에 의해 생성된 클라이언트 측 난수가 수신되는 것에 응답하여 서버 측 난수를 생성하는 난수 생성부; 및
    상기 클라이언트 측 난수를 수신하고, 상기 클라이언트 및 상기 서버 간에 수립될 보안 세션의 비밀 키를 상기 클라이언트가 산출하도록 상기 서버 측 난수를 상기 클라이언트로 전송하며, 상기 비밀 키의 산출에 이용되는 클라이언트 측 키를 수신하고, 상기 비밀 키를 상기 서버가 산출하도록 상기 클라이언트 측 난수, 상기 서버 측 난수 및 상기 클라이언트 측 키를 상기 서버로 전송하는 통신 인터페이스부를 포함하는, 보안 세션 수립 장치.
  14. 청구항 13에 있어서,
    상기 클라이언트 측 난수, 상기 서버 측 난수 및 상기 클라이언트 측 키에 기반하여 상기 비밀 키를 산출하는 비밀 키 산출부를 더 포함하는, 보안 세션 수립 장치.
  15. 청구항 13에 있어서,
    상기 통신 인터페이스부는 상기 장치와 상기 서버 간에 미리 수립된 다른 보안 세션을 통해 상기 서버 측 난수를 상기 서버로 전송하는, 보안 세션 수립 장치.
  16. 청구항 13에 있어서,
    상기 통신 인터페이스부는 상기 서버 측 난수를 상기 서버의 공개 키로 암호화한 후에 상기 서버로 전송하는, 보안 세션 수립 장치.
  17. 청구항 13에 있어서,
    상기 통신 인터페이스부는 암호화되지 않은 상기 서버 측 난수를 상기 장치와 상기 서버 간에 수립된 비보안 세션 상에서 상기 서버로 전송하는, 보안 세션 수립 장치.
  18. 청구항 13에 있어서,
    상기 클라이언트 측 키는 상기 클라이언트에 의해 상기 서버의 공개 키로 암호화된, 보안 세션 수립 장치.
  19. 클라이언트 및 서버와 접속되어 상기 클라이언트와 상기 서버 간 보안 세션을 수립하기 위한 장치로서,
    상기 클라이언트에 의해 생성된 클라이언트 측 난수가 수신되는 것에 응답하여 OTP(One Time Password)로부터 서버 측 난수를 도출하는 난수 생성부; 및
    상기 클라이언트 측 난수를 수신하고, 상기 클라이언트 및 상기 서버 간에 수립될 보안 세션의 비밀 키를 상기 클라이언트가 산출하도록 상기 서버 측 난수를 상기 클라이언트로 전송하며, 상기 서버가 상기 OTP와 동일한 OTP로부터 상기 서버 측 난수를 생성하도록 상기 서버 측 난수가 도출되었다는 통지를 상기 서버로 전송하고, 상기 비밀 키의 산출에 이용되는 클라이언트 측 키를 수신하며, 상기 비밀 키를 상기 서버가 산출하도록 상기 클라이언트 측 난수 및 상기 클라이언트 측 키를 상기 서버로 전송하는 통신 인터페이스부를 포함하는, 보안 세션 수립 장치.
  20. 청구항 19에 있어서,
    상기 클라이언트 측 난수, 상기 서버 측 난수 및 상기 클라이언트 측 키에 기반하여 상기 비밀 키를 산출하는 비밀 키 산출부를 더 포함하는, 보안 세션 수립 장치.
  21. 청구항 19에 있어서,
    상기 통신 인터페이스부는 상기 장치와 상기 서버 간에 미리 수립된 다른 보안 세션을 통해 상기 통지를 상기 서버로 전송하는, 보안 세션 수립 장치.
  22. 청구항 19에 있어서,
    상기 통신 인터페이스부는 상기 통지를 상기 서버의 공개 키로 암호화한 후에 상기 서버로 전송하는, 보안 세션 수립 장치.
  23. 청구항 19에 있어서,
    상기 통신 인터페이스부는 암호화되지 않은 상기 통지를 상기 장치와 상기 서버 간에 수립된 비보안 세션 상에서 상기 서버로 전송하는, 보안 세션 수립 장치.
  24. 청구항 19에 있어서,
    상기 클라이언트 측 키는 상기 클라이언트에 의해 상기 서버의 공개 키로 암호화된, 보안 세션 수립 장치.
  25. 제1항 내지 제12항 중 어느 한 항에 기재된 방법을 실행하기 위한 컴퓨터 프로그램이 저장된 컴퓨터 판독가능 저장 매체.
KR20130166682A 2013-12-30 2013-12-30 클라이언트와 서버 간 보안 세션을 수립하기 위한 방법 및 장치 KR101508859B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR20130166682A KR101508859B1 (ko) 2013-12-30 2013-12-30 클라이언트와 서버 간 보안 세션을 수립하기 위한 방법 및 장치
US14/582,589 US20150188699A1 (en) 2013-12-30 2014-12-24 Method and apparatus for establishing secure session between client and server

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR20130166682A KR101508859B1 (ko) 2013-12-30 2013-12-30 클라이언트와 서버 간 보안 세션을 수립하기 위한 방법 및 장치

Publications (1)

Publication Number Publication Date
KR101508859B1 true KR101508859B1 (ko) 2015-04-07

Family

ID=53032476

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20130166682A KR101508859B1 (ko) 2013-12-30 2013-12-30 클라이언트와 서버 간 보안 세션을 수립하기 위한 방법 및 장치

Country Status (2)

Country Link
US (1) US20150188699A1 (ko)
KR (1) KR101508859B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200086436A (ko) * 2019-01-09 2020-07-17 주식회사 엘지유플러스 Https 프로토콜에서 mitm 공격을 회피하는 방법

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9893883B1 (en) * 2015-06-26 2018-02-13 Juniper Networks, Inc. Decryption of secure sockets layer sessions having enabled perfect forward secrecy using a diffie-hellman key exchange
US9888037B1 (en) * 2015-08-27 2018-02-06 Amazon Technologies, Inc. Cipher suite negotiation
US9912486B1 (en) 2015-08-27 2018-03-06 Amazon Technologies, Inc. Countersigned certificates
US10454689B1 (en) 2015-08-27 2019-10-22 Amazon Technologies, Inc. Digital certificate management
US11283793B2 (en) 2018-10-18 2022-03-22 Oracle International Corporation Securing user sessions
US10771964B2 (en) * 2018-11-28 2020-09-08 Jpmorgan Chase Bank, N.A. Systems and methods for providing encrypted storage within application sandbox

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130019929A (ko) * 2011-08-18 2013-02-27 김승훈 보안 리더기를 이용한 공인 인증서 사용방법
KR101240552B1 (ko) 2011-09-26 2013-03-11 삼성에스디에스 주식회사 미디어 키 관리 및 상기 미디어 키를 이용한 피어-투-피어 메시지 송수신 시스템 및 방법

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6263437B1 (en) * 1998-02-19 2001-07-17 Openware Systems Inc Method and apparatus for conducting crypto-ignition processes between thin client devices and server devices over data networks
JP2003258841A (ja) * 2002-03-06 2003-09-12 Nec Commun Syst Ltd 料金還元システムおよび方法、ゲイトウェイ装置
JP2004254027A (ja) * 2003-02-19 2004-09-09 Toshiba Corp サーバ装置、鍵管理装置、暗号通信方法及びプログラム
US7657933B2 (en) * 2003-04-12 2010-02-02 Cavium Networks, Inc. Apparatus and method for allocating resources within a security processing architecture using multiple groups
US7509487B2 (en) * 2003-09-29 2009-03-24 Gemalto Inc. Secure networking using a resource-constrained device
US20060085848A1 (en) * 2004-10-19 2006-04-20 Intel Corporation Method and apparatus for securing communications between a smartcard and a terminal
US20090083537A1 (en) * 2005-08-10 2009-03-26 Riverbed Technology, Inc. Server configuration selection for ssl interception
KR100803596B1 (ko) * 2005-11-25 2008-02-19 삼성전자주식회사 폐기 메커니즘 상에서 외부 디바이스 또는 서비스를이용하는 복호화 방법 및 장치, 이를 위한 복호화 지원방법 및 장치
EP2434715A1 (en) * 2010-09-24 2012-03-28 Gemalto SA Method for establishing a secure communication channel
US8904036B1 (en) * 2010-12-07 2014-12-02 Chickasaw Management Company, Llc System and method for electronic secure geo-location obscurity network
US8649275B2 (en) * 2011-01-19 2014-02-11 Ixia Fast SSL testing using precalculated cryptographyc data
JP5845393B2 (ja) * 2011-04-28 2016-01-20 パナソニックIpマネジメント株式会社 暗号通信装置および暗号通信システム
US9628400B2 (en) * 2013-07-24 2017-04-18 Cisco Technology, Inc. Interest forwarding for interactive client anonymity

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130019929A (ko) * 2011-08-18 2013-02-27 김승훈 보안 리더기를 이용한 공인 인증서 사용방법
KR101240552B1 (ko) 2011-09-26 2013-03-11 삼성에스디에스 주식회사 미디어 키 관리 및 상기 미디어 키를 이용한 피어-투-피어 메시지 송수신 시스템 및 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200086436A (ko) * 2019-01-09 2020-07-17 주식회사 엘지유플러스 Https 프로토콜에서 mitm 공격을 회피하는 방법
KR102145679B1 (ko) * 2019-01-09 2020-08-18 주식회사 엘지유플러스 Https 프로토콜에서 mitm 공격을 회피하는 방법

Also Published As

Publication number Publication date
US20150188699A1 (en) 2015-07-02

Similar Documents

Publication Publication Date Title
KR101508859B1 (ko) 클라이언트와 서버 간 보안 세션을 수립하기 위한 방법 및 장치
US20180146010A1 (en) Providing forward secrecy in a terminating TLS connection proxy
US9055047B2 (en) Method and device for negotiating encryption information
JP2023116573A (ja) クライアント-クラウドまたはリモートサーバーの安全なデータまたはファイル・オブジェクト暗号化ゲートウェイ
CN111052672B (zh) 无证书或预共享对称密钥的安全密钥传输协议
EP3369240B1 (en) Protocol fallback during call signaling
US20070258468A1 (en) Intermediate network node supporting packet analysis of encrypted payload
CN101958907A (zh) 一种传输密钥的方法、系统和装置
US20170126406A1 (en) Key management for privacy-ensured conferencing
EP2951946B1 (en) Method and system for protecting data using data passports
KR20180130203A (ko) 사물인터넷 디바이스 인증 장치 및 방법
US20230080139A1 (en) Communication method and communications apparatus
US20170127280A1 (en) Secure handling of secure socket layer ("ssl") traffic
US8793494B2 (en) Method and apparatus for recovering sessions
JP2012100206A (ja) 暗号通信中継システム、暗号通信中継方法および暗号通信中継用プログラム
US10015208B2 (en) Single proxies in secure communication using service function chaining
WO2016134631A1 (zh) 一种OpenFlow报文的处理方法及网元
EP2713576B1 (en) Method and device for processing streaming media content
US20080059788A1 (en) Secure electronic communications pathway
JP2009071481A (ja) 通信制御システム、端末、及び、プログラム
CN110995730A (zh) 数据传输方法、装置、代理服务器和代理服务器集群
US11876789B2 (en) Encrypted data communication and gateway device for encrypted data communication
EP4346255A1 (en) Encrypted satellite communications
CN110890968B (zh) 一种即时通信方法、装置、设备及计算机可读存储介质
US20230041783A1 (en) Provision of digital content via a communication network

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20171213

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190102

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20200121

Year of fee payment: 6