KR102086739B1 - 보안 소켓 계층 복호화 장치에서 다양한 전자 서명 알고리즘을 지원하기 위한 전자 재서명 방법 - Google Patents

보안 소켓 계층 복호화 장치에서 다양한 전자 서명 알고리즘을 지원하기 위한 전자 재서명 방법 Download PDF

Info

Publication number
KR102086739B1
KR102086739B1 KR1020180074041A KR20180074041A KR102086739B1 KR 102086739 B1 KR102086739 B1 KR 102086739B1 KR 1020180074041 A KR1020180074041 A KR 1020180074041A KR 20180074041 A KR20180074041 A KR 20180074041A KR 102086739 B1 KR102086739 B1 KR 102086739B1
Authority
KR
South Korea
Prior art keywords
certificate
ssl
decryption apparatus
server
electronic
Prior art date
Application number
KR1020180074041A
Other languages
English (en)
Other versions
KR20200001283A (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 KR1020180074041A priority Critical patent/KR102086739B1/ko
Priority to US16/974,310 priority patent/US20210367788A1/en
Priority to PCT/KR2019/009804 priority patent/WO2020005047A1/ko
Publication of KR20200001283A publication Critical patent/KR20200001283A/ko
Application granted granted Critical
Publication of KR102086739B1 publication Critical patent/KR102086739B1/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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • 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/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/126Applying verification of the received information the source of the received data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/166Implementing security features at a particular protocol layer at the transport layer
    • 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/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • 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
    • H04L9/3265Cryptographic 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 using certificate chains, trees or paths; Hierarchical trust model
    • 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/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Abstract

본 발명은 SSL 복호화 장치에서 다양한 전자 서명 알고리즘을 지원하기 위한 전자 재서명 방법에 관한 것으로, 전자 재서명 방법은 보안 소켓 계층(SSL; Secure Sockets Layer) 복호화 장치에서 클라이언트 단말과 서버 간의 SSL 통신 연결 요청을 감지하면, 상기 서버에 SSL 세션 요청하여 상기 SSL 복호화 장치와 상기 서버 간의 SSL 세션을 맺고 상기 서버의 관련정보를 획득하고, SSL 세션을 맺을 때 지정된 전자서명 알고리즘의 종류를 확인하고, 상기 지정된 전자서명 알고리즘으로 상기 서버의 관련정보를 이용해서 상기 서버에 대한 사설 인증서를 생성하고, 상기 지정된 전자서명 알고리즘과 상기 SSL 복호화 장치의 루트 인증서의 전자서명 알고리즘이 서로 다른 경우, 상기 지정된 전자서명 알고리즘으로 상기 SSL 복호화 장치의 중간 인증서를 생성하고, 상기 사설 인증서를 상기 중간 인증서로 전자 서명하고, 상기 중간 인증서를 상기 SSL 복호화 장치의 루트 인증서로 전자 서명하고, 상기 중간 인증서로 전자 서명된 사설 인증서, 상기 루트 인증서로 전자 서명된 중간 인증서, 상기 루트 인증서를 체인으로 연결한 사설 인증서 체인을 생성하고, 상기 사설 인증서 체인을 상기 클라이언트 단말로 송신한다.

Description

보안 소켓 계층 복호화 장치에서 다양한 전자 서명 알고리즘을 지원하기 위한 전자 재서명 방법{ELECTRONIC RE-SIGNING METHOD TO SUPPORT VARIOUS DIGITAL SIGNATURE ALGORITHMS IN SECURE SOCKETS LAYER DECRYPTION DEVICE}
이하의 일 실시 예들은 SSL 복호화 장치에서 다양한 전자 서명 알고리즘을 지원하기 위한 전자 재서명 방법에 관한 것으로, SSL 복호화 장치에 하나의 루트 인증서만으로도 다양한 전자 서명 알고리즘을 지원하기 위한 것이다.
기업과 같은 조직에서 많은 정보가 인터넷을 통해서 외부로 유출되고 있다,
데이터 유출을 방지하기 위해서 기업은 기업 내의 단말기에서 송신되는 패킷을 검사하여 유출되면 안 되는 정보가 존재하는 여부를 확인하여 승인받고, 승인된 패킷을 인터넷을 통해 외부 서버로 송신할 수 있도록 하고 있다.
하지만, 단말기가 접속하려는 웹 사이트의 서버가 보안 소켓 계층(SSL; Secure Sockets Layer) 통신을 이용하는 경우, 패킷의 내용이 암호화되어 전송되기 때문에 데이터 유출을 여부를 확인할 수 없는 문제를 가지고 있다.
SSL 보안통신은 중요한 정보통신 인프라이다. 개인 보안을 중요시한 SSL 기술은 외부로부터의 해커공격, 그리고 내부로부터의 정보유출에 대해 기존 보안 장비가 대처하기 어렵게 하였다. 그의 해결을 위하여 네트워크 경로 중간에서 SSL 통신을 복호화 하여 감사 및 제어 역할을 수행하는 SSL 복호화 장치가 개발되었다.
SSL 통신에서는 통신 대상의 암호화뿐만 아니라 상대편의 신원(identity)을 인증(authenticate)하는 기능을 수행할 수 있어야 한다. 암호화 한 데이터를 의도하지 않은 사람에게 전달하면 곤란하기 때문이다. 인증기능이 제대로 동작하지 못하면 피싱(phishing)을 통하여 암호화된 정보자산, 전자화폐 등의 탈취가 가능하다. SSL의 통신 주체는 자신의 신원을 보장하기 위하여 X.509 인증서(이하 인증서)를 상대편에게 제공하며, 인증서를 제공받으면 인증서에 기재된 정보로 상대방의 신원을 확인하며, 인증서에 부착된 전자서명(digital signature)를 통해 인증서의 정통성을 인증(authenticity)하여 확인한다.
한편, 인증서는 다계층 구조를 가질 수 있다. 이는 인증서의 전자서명 자체를 어떻게 신뢰하는 가의 문제에 대한 것으로, X.509는 다계층의 인증서와 함께 인증기관(certificate authority)라는 접근방법으로 해결하고 있다. 다계층 구조의 인증서는 말단(leaf), 중간(intermediate) 수준1, 중간수준2, ... 중간수준n, 루트(root)의 계층 구조를 가지며, 말단에 대해서는 그 상위 수준의 인증서가 전자 서명을 해 주는 것이다. 이것은 신뢰의 연쇄(chain of trust) 효과를 제공하며, 결국 최상위 수준의 루트 인증서를 신뢰할 수 있는 지의 문제로 귀결된다. SSL 통신에서 최상위 수준의 루트 인증서는 관리 가능한 소수이며, 이미 모든 PC, 휴대 단말 등에 탑재되어 있다. 사용 기기에 탑재되어 있지 않은 루트 인증서로부터 연결된 인증서는 SSL통신에서 신뢰받지 못한다.
SSL 통신에서 인증서의 서명에 사용되는 전자서명 알고리즘은 다음과 같이 여러가지가 있다.
- RSA (Rivest Shamir Adleman)
- DSA (Digital Signature Algorithm)
- ECDSA (Elliptic Curve Digital Signature Algorithm)
- EdDSA (Edwards-curve Digital Signature Algorithm)
SSL 복호화 장치는 SSL통신경로 상에 위치하여 클라이언트 단말과 SSL 복호화 장치 간의 SSL 통신 구간, SSL 복호화 장치와 서버 간의 SSL통신 구간, 이렇게 두개의 분리된 SSL통신 구간을 유지한다. SSL 복호화 장치는 SSL 통신에게 있어서 클라이언트 단말에게 서버의 역할을 한다. 즉 서버의 신원을 나타내는 인증서를 클라이언트 단말에게 제공하는데, 이때 해당 인증서는 미리 클라이언트 단말에 설치된 루트 인증서로 서명이 되어 있다. 사용자는 해당 인증서를 수신했을 때 그것을 서명한 인증서가, 자신이 신뢰하는 루트 인증서의 목록안에 존재하는 것을 확인 하면 해당 인증서를 신뢰하게 된다, 즉 SSL 복호화 장치와의 통신을 원래 통신하려 했던 서버와의 통신이라고 신뢰하게 되는 것이다.
X.509 표준 자체에서는 말단 인증서와 그를 서명하는 상위 계층 인증서의 알고리즘에 대해서 특별한 제한을 두고 있지 않다. 즉 RSA 인증서를 ECDSA 루트인증서가 서명하여도 동작에 문제가 없어야 한다. 그러나 오래된 장비에서 이를 제대로 지원하지 못하면 SSL 통신이 제대로 이루어 질 수 없다.
대처방식으로써 여러 개의 전자서명 알고리즘을 지원하지 않고 한가지 전자 서명 알고리즘만을 지원할 수 있다. 즉, 가장 널리 사용되는 RSA 전자 서명 알고리즘만을 지원하고, 사용자가 보다 향상된 전자서명을 원하더라도 RSA 전자 서명 알고리즘 외의 다른 전자 서명 알고리즘은 지원하지 않는 것이다. 이 접근 방법은 보안 측면에서 약점을 가지며, 일반적인 SSL 복호화 장치의 사용목적이 보안수준의 향상이라는 것을 고려할 때 받아들이기 힘든 방법이다.
다른 방법으로는 SSL 복호화 장치에 모든 전자서명 알고리즘의 루트 인증서들을 설치하는 방법이 존재하나 이 경우, SSL 복호화 장치와 단말기 각각에 모든 전자서명 알고리즘의 루트 인증서들을 설치해야 하는 번거로움이 존재한다.
따라서, 모든 전자서명 알고리즘의 루트 인증서들을 설치하지 않고서도 다양한 전자서명 알고리즘을 지원할 수 있는 방법이 요구된다.
본 발명은 상기와 같은 종래 기술의 문제점을 해결하고자 도출된 것으로서, 보안 소켓 계층 복호화 장치에서 다양한 전자 서명 알고리즘을 지원하기 위한 전자 재서명 방법을 제공하는 것을 목적으로 한다.
구체적으로, 본 발명은 클라이언트 단말과 서버 사이에서 SSL 통신을 중계하는 SSL 복호화 장치에 관한 것으로, 클라이언트 단말을 대신해서 SSL 복호화 장치에서 클라이언트 단말이 접속하고자 하는 서버에 접속하고, 클라이언트 단말이 접속하고자 하는 서버의 인증서를 이용해서 서버의 인증서에 대응하는 사설 인증서를 생성하고, SSL 세션을 맺을 때 지정된 전자서명 알고리즘에 상관없이 인증할 수 있도록 하기 위해서 사설 인증서를 포함하는 사설 인증 체인을 생성하여 클라이언트 단말로 제공함으로써, SSL 복호화 장치에서 하나의 루트 인증서만을 가지고도 다양한 전자서명 알고리즘을 지원할 수 있는 방법을 제공하는 것을 목적으로 한다.
상기와 같은 목적을 달성하기 위하여, 본 발명의 일 실시 예에 따른 SSL 복호화 장치에서 다양한 전자 서명 알고리즘을 지원하기 위한 전자 재서명 방법은, 보안 소켓 계층(SSL; Secure Sockets Layer) 복호화 장치에서 클라이언트 단말과 서버 간의 SSL 통신 연결 요청을 감지하는 단계; 상기 서버에 SSL 세션 요청하여 상기 SSL 복호화 장치와 상기 서버 간의 SSL 세션을 맺고 상기 서버의 관련정보를 획득하는 단계; SSL 세션을 맺을 때 지정된 전자서명 알고리즘의 종류를 확인하는 단계; 상기 지정된 전자서명 알고리즘으로 상기 서버의 관련정보를 이용해서 상기 서버에 대한 사설 인증서를 생성하는 단계; 상기 지정된 전자서명 알고리즘과 상기 SSL 복호화 장치의 루트 인증서의 전자서명 알고리즘이 서로 다른 경우, 상기 지정된 전자서명 알고리즘으로 상기 SSL 복호화 장치의 중간 인증서를 생성하는 단계; 상기 사설 인증서를 상기 중간 인증서로 전자 서명하는 단계; 상기 중간 인증서를 상기 SSL 복호화 장치의 루트 인증서로 전자 서명하는 단계; 상기 중간 인증서로 전자 서명된 사설 인증서, 상기 루트 인증서로 전자 서명된 중간 인증서, 상기 루트 인증서를 체인으로 연결한 사설 인증서 체인을 생성하는 단계; 및 상기 사설 인증서 체인을 상기 클라이언트 단말로 송신하는 단계를 포함한다.
이때, 상기 사설 인증서를 상기 중간 인증서로 전자 서명하는 단계는, 상기 서버로부터 수신하는 서버 인증서의 전자서명 알고리즘의 정보를 상기 사설 인증서의 서명 알고리즘의 정보로서 추가하고, 상기 서명 알고리즘을 이용해서 서명값을 생성하여 상기 사설 인증서에 추가하는 단계를 더 포함할 수 있다.
이때, 전자 재서명 방법은, 상기 지정된 전자서명 알고리즘과 상기 SSL 복호화 장치의 루트 인증서의 전자서명 알고리즘이 동일한 경우, 상기 사설 인증서를 상기 루트 인증서로 전자 서명하는 단계; 및 상기 루트 인증서로 전자 서명된 사설 인증서 및 상기 루트 인증서를 포함하는 사설 인증서 체인을 상기 클라이언트 단말로 송신하는 단계를 더 포함할 수 있다.
이때, 상기 사설 인증서를 상기 루트 인증서로 전자 서명하는 단계는, 상기 루트 인증서의 전자서명 알고리즘의 정보를 상기 사설 인증서의 서명 알고리즘의 정보로서 추가하고, 상기 서명 알고리즘을 이용해서 서명값을 생성하여 상기 사설 인증서에 추가하는 단계를 더 포함할 수 있다.
이때, 전자 재서명 방법은, 상기 SSL 통신 연결 요청을 감지하는 단계 이전에, 상기 루트 인증서를 상기 클라이언트 단말로 제공하여 신뢰할 수 있는 인증서로 상기 클라이언트 단말에 저장하도록 하는 단계를 더 포함할 수 있다.
이때, 전자 재서명 방법은, 상기 서버에 SSL 세션 요청하여 상기 SSL 복호화 장치와 상기 서버 간의 SSL 세션을 맺고 상기 서버의 관련정보를 획득하는 단계는, 상기 SSL 복호화 장치의 세션키를 생성하는 단계; 및 상기 SSL 복호화 장치의 세션키를 상기 서버의 인증서에 포함된 공개키를 이용해서 암호화하여 상기 서버로 송신하는 단계를 포함할 수 있다.
이때, 상기 서버의 관련정보를 획득하는 단계는, 상기 SSL 복호화 장치와 상기 서버와의 SSL 세션을 맺는 과정에서 상기 서버로부터 수신하는 서버 인증서로부터 유효기간, 주체, 주체 대체 이름, 확장된 키 사용 및 기본 제한에 관한 정보를 상기 서버의 관련 정보로서 획득하는 단계를 포함할 수 있다.
이때, 상기 서버에 대한 사설 인증서를 생성하는 단계는, 상기 SSL 복호화 장치의 루트 인증서로부터 발급자에 관한 정보를 수집하는 단계; 버전, 일련번호 및 공개키에 관한 정보를 생성하는 단계; 및 상기 서버의 관련 정보와, 상기 루트 인증서로부터 수집한 정보와, 생성한 정보를 포함하는 상기 사설 인증서를 생성하는 단계를 포함할 수 있다.
이때, 전자 재서명 방법은, 상기 사설 인증서 체인을 이용해서 상기 클라이언트 단말과 상기 SSL 복호화 장치 간의 SSL 세션을 맺는 단계를 더 포함할 수 있다.
이때, 상기 사설 인증서 체인을 이용해서 상기 클라이언트 단말과 상기 SSL 복호화 장치 간의 SSL 세션을 맺는 단계는, 상기 클라이언트 단말로부터 상기 사설 인증서에 포함된 공개키로 암호화된 클라이언트 단말의 세션키를 수신하는 단계; 및 상기 사설 인증서에 대응하는 비밀키로 상기 암호화된 클라이언트 단말의 세션키를 복호화해서 상기 클라이언트 단말의 세션키를 획득하는 단계를 포함할 수 있다.
이때, 전자 재서명 방법은, 상기 SSL 복호화 장치와 상기 서버 간의 SSL 세션이 맺어지고, 상기 클라이언트 단말과 상기 SSL 복호화 장치 간의 SSL 세션이 맺어진 후에, 상기 클라이언트 단말로부터 상기 서버로 송신하는 패킷을 수신하면, 상기 패킷을 상기 클라이언트 단말의 세션키를 이용해서 복호화하는 단계; 및 상기 복호화된 패킷을 상기 SSL 복호화 장치의 세션키를 이용해서 암호화하여 상기 서버로 송신하는 단계를 더 포함할 수 있다.
이때, 상기 복호화된 패킷을 상기 SSL 복호화 장치의 세션키를 이용해서 암호화하여 상기 서버로 송신하는 단계는, 상기 복호화된 패킷에 대한 송신의 승인 여부를 검사한 결과 송신이 가능한 것으로 결정되는 경우에만 상기 복호화된 패킷을 암호화하여 상기 서버로 송신할 수 있다.
이때, 전자 재서명 방법은, 상기 SSL 복호화 장치와 상기 서버 간의 SSL 세션이 맺어지고, 상기 클라이언트 단말과 상기 SSL 복호화 장치 간의 SSL 세션이 맺어진 후에, 상기 서버로부터 상기 클라이언트 단말로 송신하는 패킷을 수신하면, 상기 패킷을 상기 SSL 복호화 장치의 세션키를 이용해서 복호화하는 단계; 및 상기 복호화된 패킷을 상기 클라이언트 단말의 세션키를 이용해서 암호화하여 상기 클라이언트 단말로 송신하는 단계를 더 포함할 수 있다.
이때, 상기 복호화된 패킷을 상기 클라이언트 단말의 세션키를 이용해서 암호화하여 상기 클라이언트 단말로 송신하는 단계는, 상기 복호화된 패킷에 대한 송신의 승인 여부를 검사한 결과 송신이 가능한 것으로 결정되는 경우에만 상기 복호화된 패킷을 암호화하여 상기 서버로 송신할 수 있다.
본 발명의 SSL 복호화 장치는 하나의 루트 인증서만으로도 RSA를 비롯, 여러 향상된 보안 수준의 전자 서명 알고리즘을 지원할 수 있으며, 클라이언트 단말이 제공받는 인증서가 말단 인증서와 바로 상위 인증서의 알고리즘이 상이한 경우에 발생하는 비호환성을 해결할 수 있다.
도 1은 본 발명의 일 실시 예에 따라 보안 소켓 계층 통신에서 패킷을 검사할 수 있는 보안 시스템의 개략적인 구성을 도시한 도면이다.
도 2는 본 발명의 일 실시 예에 따른 보안 소켓 계층 복호화 장치를 통해서 보안 소켓 계층 통신을 연결하는 메시지 흐름을 도시한 도면이다.
도 3은 본 발명의 일 실시 예에 따른 보안 소켓 계층 복호화 장치를 통해서 패킷이 송수신 되는 메시지 흐름을 도시한 도면이다.
도 4는 본 발명의 일 실시 예에 따른 보안 소켓 계층 복호화 장치에서 클라이언트 단말과 서버 사이에서 보안 소켓 계층 통신을 연결하는 과정을 도시한 흐름도이다.
도 5는 본 발명의 일 실시예에 따른 사설 인증서의 구성요소를 생성하는 예를 도시한 도면이다.
이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 그러나, 실시예들에는 다양한 변경이 가해질 수 있어서 특허출원의 권리 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 실시예들에 대한 모든 변경, 균등물 내지 대체물이 권리 범위에 포함되는 것으로 이해되어야 한다.
실시예에서 사용한 용어는 단지 설명을 목적으로 사용된 것으로, 한정하려는 의도로 해석되어서는 안된다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
도 1은 본 발명의 일 실시 예에 따라 보안 소켓 계층 통신에서 패킷을 검사할 수 있는 보안 시스템의 개략적인 구성을 도시한 도면이다.
도 1을 참조하면, 네트워크 환경에서 클라이언트 단말(110)로부터 인터넷(170)에 접속할 때, 클라이언트 단말(110)은 스위치(120)에 연결될 수 있다. 클라이언트 단말(110)은 스위치(120)에 연결됨으로써 네트워크 연결 및 데이터 전송이 가능할 수 있다. 이때, 클라이언트 단말(110)은 적어도 하나 이상의 클라이언트가 인터넷에 접속될 수 있다. 예를 들면, 클라이언트는 PC, 스마트 폰과 같은 단말이 될 수 있다.
SSL 복호화 장치(130)는 프락시(proxy) 서버 역할을 수행할 수 있는 일종의 게이트웨이 장치에 해당하며, 클라이언트 단말(110)의 웹 통신을 모니터링을 할 수 있다.
SSL 복호화 장치(130)는 모니터링을 통해서 클라이언트 단말(110)에서 보안 소켓 계층(SSL; Secure Sockets Layer) 통신을 이용하는 서버(180)로의 접속을 감지하면, 서버의 인증서를 이용해서 SSL 복호화 장치(130)와 서버(180) 간의 보안 소켓 계층(SSL; Secure Sockets Layer) 세션을 맺고, 서버의 인증서를 이용해서 사설 인증서를 생성하고, 사설 인증서를 포함하는 사설 인증서 체인을 생성하고, 사설 인증서 체인을 이용해서 클라이언트 단말(110)과 SSL 복호화 장치(130) 간의 보안 소켓 계층 세션을 맺음으로써, 클라이언트 단말(110)과 서버(180) 사이에서 송수신 되는 패킷을 검사하고 중계하는 역할을 할 수 있다.
이때, SSL 복호화 장치(130)는 서버(180)와 SSL 세션을 맺을 때 지정된 전자서명 알고리즘과 SSL 복호화 장치(130)의 루트 인증서의 전자서명 알고리즘이 동일한지 여부에 따라서 다른 방법으로 사설 인증서 체인을 생성한다.
SSL 복호화 장치(130)는 서버(180)와 SSL 세션을 맺을 때 지정된 전자서명 알고리즘과 SSL 복호화 장치(130)의 루트 인증서의 전자서명 알고리즘이 동일하면, SSL 복호화 장치(130)는 사설 인증서를 SSL 복호화 장치(130)의 루트 인증서로 전자 서명하고, 루트 인증서로 전자 서명된 사설 인증서 및 루트 인증서를 포함하는 사설 인증서 체인을 생성한다.
SSL 복호화 장치(130)는 서버(180)와 SSL 세션을 맺을 때 지정된 전자서명 알고리즘과 SSL 복호화 장치(130)의 루트 인증서의 전자서명 알고리즘이 동일하지 않으면, 지정된 전자서명 알고리즘으로 SSL 복호화 장치(130)의 중간 인증서를 생성하고, SSL 복호화 장치(130)는 사설 인증서를 중간 인증서로 전자 서명하고, 중간 인증서를 SSL 복호화 장치(130)의 루트 인증서로 전자 서명하고, 중간 인증서로 전자 서명된 사설 인증서, 루트 인증서로 전자 서명된 중간 인증서, 루트 인증서를 체인으로 연결한 사설 인증서 체인을 생성한다.
이때, 중간 인증서는 SSL 복호화 장치(130)의 루트 인증서와 SSL 복호화 장치(130)의 말단 인증서(사설 인증서)의 사이에 위치한다.
한편, SSL 복호화 장치(130)는 루트 인증서를 기설정하고, 루트 인증서를 사전에 클라이언트 단말(110)로 제공하여 신뢰할 수 있는 인증서로써 클라이언트 단말(110)에 저장되도록 한다. 즉, 클라이언트 단말(110)는 SSL 복호화 장치(130)의 루트 인증서를 신뢰할 수 있는 인증서로 저장한다.
그리고, 네트워크 환경에서 클라이언트 단말(110)로부터 서버(180)로 패킷이 전달될 때, IPS/IDS(140), 방화벽(150) 및 라우터(160)를 통해서 전달될 수 있다.
이때, IPS(intrusion detection system)/IDS(intrusion prevention system)(140)는 침입 탐지 및 침입 방지하는 시스템에 관한 것으로 유해 패킷 패턴을 탐지할 수 있다.
그리고, 방화벽(150)은 보안을 위해서 IP 등의 접속을 필터링하거나 어플리케이션을 필터링하는 기능을 수행할 수 있다.
이때, IPS/IDS(140), 방화벽(150) 또는 라우터(160)는 경우에 따라 생략 가능하다.
이하, 상기와 같이 구성된 본 발명에 따른 보안 소켓 계층 복호화 장치에서 다양한 전자 서명 알고리즘을 지원하기 위한 전자 재서명 방법과 보안 소켓 계층 통신을 이용하는 패킷을 검사하는 방법을 아래에서 도면을 참조하여 설명한다.
도 2는 본 발명의 일 실시 예에 따른 보안 소켓 계층 복호화 장치를 통해서 보안 소켓 계층 통신을 연결하는 메시지 흐름을 도시한 도면이다.
도 2를 참조하면, 클라이언트 단말(110)는 보안 소켓 계층 통신을 이용하는 서버(180)로의 접속을 시도할 수 있다(210).
SSL 복호화 장치(130)는 클라이언트 단말(110)로부터 보안 소켓 계층 통신을 이용하는 서버(180)로의 접속을 감지하면(210), 클라이언트 단말(110)을 대신해서 해당 서버로 접속을 시도한다(212).
그리고, SSL 복호화 장치(130)는 서버(180)의 인증서가 존재하지 않으면, 서버(180)로 서버의 인증서를 요청하여 전달받는다(214).
그리고, SSL 복호화 장치(130)에서 서버(180)의 인증서를 인증하고, SSL 복호화 장치(130)와 서버(180)는 서버의 인증서를 이용해서 SSL 복호화 장치(130)와 서버(180) 간의 보안 소켓 계층(SSL; Secure Sockets Layer) 세션을 맺는다(216).
그리고, SSL 복호화 장치(130)는 SSL 복호화 장치(130)는 서버의 인증서와 SSL 복호화 장치(130)의 루트 인증서를 이용해서 서버에 대응하는 사설 인증서를 아래 도 5와 같은 방법으로 생성할 수 있다(218).
도 5는 본 발명의 일 실시예에 따른 사설 인증서의 구성요소를 생성하는 예를 도시한 도면이다.
도 5를 참조하면, 사설 인증서의 구성요소는 3가지 방법에 의해서 생성된다.
사설 인증서의 구성요소를 생성하는 3가지 방법은 SSL 복호화 장치(130)에서 생성하는 방법(510), 클라이언트 단말(110)이 접속하고자 하는 서버(180)의 인증서로부터 가져오는 방법(520), SSL 복호화 장치(130)의 루트 인증서로부터 가져오는 방법(530) 및 지정된 전자서명 알고리즘과 SSL 복호화 장치(130)의 루트 인증서의 전자서명 알고리즘이 동일여부에 따라서 SSL 복호화 장치(130)의 루트 인증서 또는 클라이언트 단말(110)이 접속하고자 하는 서버(180)의 인증서로부터 선택적으로 가져오는 방법(540)이 있다.
520방법은 클라이언트 단말(110)이 접속하고자 하는 서버(180)의 실제 인증서(서버 인증서)로부터 유효기간, 주체, 주체 대체 이름, 확장된 키 사용 및 기본 제한에 관한 정보를 가져와서 사설 인증서의 구성요소를 생성한다.
530 방법은 SSL 복호화 장치(130)의 루트 인증서로부터 발급자에 관한 정보를 가져와서 사설 인증서의 구성요소를 생성한다.
510 방법은 SSL 복호화 장치(130)의 설정 기준에 따라서 버전, 일련번호, 공개키 및 서명값에 관한 정보를 생성한다. 이때, 서명값은 서명 알고리즘을 이용해서 생성될 수 있다.
540 방법은 지정된 전자서명 알고리즘과 SSL 복호화 장치(130)의 루트 인증서의 전자서명 알고리즘이 동일하면, 복호화 장치(130)의 루트 인증서로부터 서명 알고리즘의 정보를 가져와서 사설 인증서의 구성요소를 생성한다. 즉, 루트 인증서의 공개키 타입에 기반하여 대응하는 전자서명 알고리즘을 서명 알고리즘(540)의 정보로 확인할 수 있다.
540 방법은 지정된 전자서명 알고리즘과 SSL 복호화 장치(130)의 루트 인증서의 전자서명 알고리즘이 동일하지 않으면, 서버(180)의 인증서(서버 인증서) 로부터 서명 알고리즘의 정보를 가져와서 사설 인증서의 구성요소를 생성한다. 즉, 서버 인증서의 공개키 타입에 기반하여 대응하는 전자서명 알고리즘을 서명 알고리즘의 정보로 확인 할 수 있다.
이때, 540 방법에서 확인하는 서명 알고리즘은 인증서 정보에 포함된 서명 알고리즘과 서명 정보에 포함된 서명 알고리즘 모두를 나타낸다.
사설 인증서의 생성을 도 5의 예를 통해서 설명하였으나, 본 발명의 사설 인증서를 생성하는 방법은 도 5에 국한된 것이 아니며 다양한 방법으로 사설 인증서를 생성할 수 있다.
다시 도 2의 설명으로 돌아와서, SSL 복호화 장치(130)는 사설 인증서를 이용해서 사설 인증서 체인을 생성한다(220).
이때, SSL 복호화 장치(130)는 220단계에서 지정된 전자서명 알고리즘과 SSL 복호화 장치(130)의 루트 인증서의 전자서명 알고리즘이 동일한지 여부에 따라서 다른 방법으로 사설 인증서 체인을 생성한다.
SSL 복호화 장치(130)는 지정된 전자서명 알고리즘과 SSL 복호화 장치(130)의 루트 인증서의 전자서명 알고리즘이 동일하면, SSL 복호화 장치(130)는 사설 인증서를 SSL 복호화 장치(130)의 루트 인증서로 전자 서명하고, 루트 인증서로 전자 서명된 사설 인증서 및 루트 인증서를 포함하는 사설 인증서 체인을 생성한다.
SSL 복호화 장치(130)는 지정된 전자서명 알고리즘과 SSL 복호화 장치(130)의 루트 인증서의 전자서명 알고리즘이 동일하지 않으면, 지정된 전자서명 알고리즘으로 SSL 복호화 장치(130)의 중간 인증서를 생성하고, SSL 복호화 장치(130)는 사설 인증서를 중간 인증서로 전자 서명하고, 중간 인증서를 SSL 복호화 장치(130)의 루트 인증서로 전자 서명하고, 중간 인증서로 전자 서명된 사설 인증서, 루트 인증서로 전자 서명된 중간 인증서, 루트 인증서를 체인으로 연결한 사설 인증서 체인을 생성한다.
그리고, SSL 복호화 장치(130)는 사설 인증서 체인을 클라이언트 단말(110)로 제공한다(222).
클라이언트 단말(110)에서 사설 인증서 체인에 포함된 루트 인증서를 통해서 사설 인증서를 인증하고, 클라이언트 단말(110)과 SSL 복호화 장치(130)는 사설 인증서를 이용해서 클라이언트 단말(110)과 SSL 복호화 장치(130) 간의 SSL 세션을 맺는다(224).
즉, SSL 복호화 장치(130)는 클라이언트 단말(110)과 서버(180) 사이에서 클라이언트 단말(110)과 SSL 세션을 맺고, 서버(180)과 SSL 세션을 맺음으로써, 송수신 되는 패킷을 검사하고 중계하는 역할을 할 수 있다.
도 3은 본 발명의 일 실시 예에 따른 보안 소켓 계층 복호화 장치를 통해서 패킷이 송수신 되는 메시지 흐름을 도시한 도면이다.
도 3을 참조하면, SSL 복호화 장치(130)는 클라이언트 단말(110)로부터 서버(180)로 송신하는 패킷을 수신하면(310), 패킷을 클라이언트 단말의 세션키를 이용해서 복호화 한다(312).
그리고, SSL 복호화 장치(130)는 복호화된 패킷에 대한 송신의 승인 여부를 검사한다(314).
그리고, SSL 복호화 장치(130)는 복호화된 패킷에 대한 송신의 승인 여부 검사결과 송신이 가능하면 복호화된 패킷을 SSL 복호화 장치(130)의 세션키를 이용해서 암호화하고(316), SSL 복호화 장치(130)의 세션키로 암호화된 패킷을 서버(180)로 송신한다(318).
한편, SSL 복호화 장치(130)는 설정에 따라 314단계의 복호화된 패킷에 대한 송신의 승인 여부를 검사하는 대신에 저장 장치에 저장한 후에, 316단계에서 승인 여부와 상관없이 복호화된 패킷을 SSL 복호화 장치(130)의 세션키를 이용해서 암호화하고, 318단계에서 암호화된 패킷을 서버(180)로 송신하도록 할 수도 있다.
SSL 복호화 장치(130)는 서버(180)로부터 클라이언트 단말(110)로 송신하는 패킷을 수신하면(320), 패킷을 SSL 복호화 장치(130)의 세션키를 이용해서 복호화 한다(322).
그리고, SSL 복호화 장치(130)는 복호화된 패킷에 대한 송신의 승인 여부를 검사한다(324).
그리고, SSL 복호화 장치(130)는 복호화된 패킷에 대한 송신의 승인 여부 검사결과 송신이 가능하면, 복호화된 패킷을 클라이언트 단말(110)의 세션키를 이용해서 암호화하고(326), 클라이언트 단말(110)의 세션키로 암호화된 패킷을 클라이언트 단말(110)로 송신한다(328).
한편, SSL 복호화 장치(130)는 설정에 따라 324단계의 복호화된 패킷에 대한 송신의 승인 여부를 검사하는 대신에 저장 장치에 저장한 후에, 326단계에서 승인 여부와 상관없이 복호화된 패킷을 클라이언트 단말(110)의 세션키를 이용해서 암호화하고, 328단계에서 암호화된 패킷을 클라이언트 단말(110)로 송신하도록 할 수도 있다.
도 4는 본 발명의 일 실시 예에 따른 보안 소켓 계층 복호화 장치에서 클라이언트 단말과 서버 사이에서 보안 소켓 계층 통신을 연결하는 과정을 도시한 흐름도이다.
SSL 복호화 장치(130)는 클라이언트 단말(110)을 대신해서 해당 서버(180)에 SSL 세션 요청하여 접속을 시도한다(412).
그리고, SSL 복호화 장치(130)는 SSL 복호화 장치(130)와 서버(180) 간의 SSL 세션을 맺는다(414). 414단계에서 SSL 복호화 장치(130)는 SSL 복호화 장치(130)의 세션키를 생성하고, SSL 복호화 장치(130)의 세션키를 서버(180)의 인증서에 포함된 공개키를 이용해서 암호화하여 서버(180)로 송신하여서 SSL 세션을 맺을 수 있다.
그리고, SSL 복호화 장치(130)는 서버의 관련 정보를 획득한다(416). 이때, 418단계에서 SSL 복호화 장치(130)는 서버 인증서로부터 유효기간, 주체, 주체 대체 이름, 확장된 키 사용 및 기본 제한에 관한 정보를 확인하여 서버의 관련 정보로 획득할 수 있다.
그리고, SSL 복호화 장치(130)는 SSL 세션을 맺을 때 지정된 전자서명 알고리즘의 종류를 확인한다(418).
그리고, SSL 복호화 장치(130)는 서버의 관련정보를 이용해서 서버(180)에 대한 사설 인증서를 생성한다(420). 420단계에서 SSL 복호화 장치(130)는 SSL 복호화 장치(130)의 버전, 일련번호에 관한 정보를 생성하고, 서버의 관련 정보와, 루트 인증서로부터 수집한 정보와, 생성한 정보를 포함하는 사설 인증서를 생성할 수 있다. 이때, SSL 복호화 장치(130)는 사설 인증서에 포함되는 정보들 중에서 서명 알고리즘에 관한 정보와 서명값을 제외한 나머지 정보들을 생성할 수 있다.
그리고, SSL 복호화 장치(130)는 지정된 전자서명 알고리즘과 SSL 복호화 장치(130)의 루트 인증서의 전자서명 알고리즘이 동일한지 확인한다(422).
422단계의 확인결과, 지정된 전자서명 알고리즘과 SSL 복호화 장치(130)의 루트 인증서의 전자서명 알고리즘이 동일하면, SSL 복호화 장치(130)는 사설 인증서를 SSL 복호화 장치(130)의 루트 인증서로 전자 서명한다(424). 424단계에서 사설 인증서를 루트 인증서로 서명할 때, SSL 복호화 장치(130)는 루트 인증서의 공개키 타입(루트 인증서의 전자서명 알고리즘)에 기반하여 대응하는 전자서명 알고리즘을 서명 알고리즘(540)의 정보로 기재하고, 해당 서명 알고리즘을 이용해서 서명값을 생성하여 사설 인증서에 추가한다.
그리고, SSL 복호화 장치(130)는 루트 인증서로 전자 서명된 사설 인증서 및 루트 인증서를 포함하는 사설 인증서 체인을 생성한다(426).
422단계의 확인결과, 지정된 전자서명 알고리즘과 SSL 복호화 장치(130)의 루트 인증서의 전자서명 알고리즘이 동일하지 않으면, SSL 복호화 장치(130)는 지정된 전자서명 알고리즘으로 SSL 복호화 장치(130)의 중간 인증서를 생성한다(428). 이때, 중간 인증서는 SSL 복호화 장치(130)의 루트 인증서와 SSL 복호화 장치(130)의 말단 인증서(사설 인증서)의 사이에 위치한다.
그리고, SSL 복호화 장치(130)는 사설 인증서를 중간 인증서로 전자 서명한다(430). 430단계에서 사설 인증서를 중간 인증서로 서명할 때, SSL 복호화 장치(130)는 서버 인증서의 공개키 타입(서버 인증서의 전자서명 알고리즘)에 기반하여 대응하는 전자서명 알고리즘을 서명 알고리즘(540)의 정보로 기재하고, 해당 서명 알고리즘을 이용해서 서명값을 생성하여 사설 인증서에 추가한다.
그리고, SSL 복호화 장치(130)는 중간 인증서를 SSL 복호화 장치(130)의 루트 인증서로 전자 서명한다(432).
그리고, SSL 복호화 장치(130)는 중간 인증서로 전자 서명된 사설 인증서, 루트 인증서로 전자 서명된 중간 인증서, 루트 인증서를 체인으로 연결한 사설 인증서 체인을 생성한다(434).
그리고, SSL 복호화 장치(130)는 426단계에서 생성한 사설 인증서 체인 또는 434단게에서 생성한 사설 인증서 체인을 클라이언트 단말(110)로 송신한다(436).
SSL 복호화 장치(130)에서 지정된 전자서명 알고리즘으로 중간 인증서를 생성하고, 이를 이용함으로써 클라이언트 단말(110)에서 발생 가능한 말단 인증서와 바로 상위 인증서의 알고리즘이 상이한 경우에 발생하는 비호환성의 오류를 해결할 수 있다.
그리고, SSL 복호화 장치(130)는 사설 인증서 체인을 이용해서 클라이언트 단말(110)과 SSL 복호화 장치(130) 간의 SSL 세션을 맺는다(438). 438단계에서 SSL 복호화 장치(130)는 클라이언트 단말(110)로부터 사설 인증서에 포함된 공개키로 암호화된 클라이언트 단말의 세션키를 수신하고, 사설 인증서에 대응하는 비밀키로 암호화된 클라이언트 단말의 세션키를 복호화해서 클라이언트 단말의 세션키를 획득하여서 SSL 세션을 맺을 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.
110; 클라이언트 단말
120; 스위치
130; SSL 복호화 장치
140; IPS/IDS
150; 방화벽
160; 라우터
170; 인터넷
180; 서버

Claims (15)

  1. 보안 소켓 계층(SSL; Secure Sockets Layer) 복호화 장치에서 클라이언트 단말과 서버 간의 SSL 통신 연결 요청을 감지하는 단계;
    상기 서버에 SSL 세션 요청하여 상기 SSL 복호화 장치와 상기 서버 간의 SSL 세션을 맺고 상기 서버의 관련정보를 획득하는 단계;
    SSL 세션을 맺을 때 지정된 전자서명 알고리즘의 종류를 확인하는 단계;
    상기 지정된 전자서명 알고리즘으로 상기 서버의 관련정보를 이용해서 상기 서버에 대한 사설 인증서를 생성하는 단계;
    상기 지정된 전자서명 알고리즘과 상기 SSL 복호화 장치의 루트 인증서의 전자서명 알고리즘이 서로 다른 경우, 상기 지정된 전자서명 알고리즘으로 상기 SSL 복호화 장치의 중간 인증서를 생성하는 단계;
    상기 사설 인증서를 상기 중간 인증서로 전자 서명하는 단계;
    상기 중간 인증서를 상기 SSL 복호화 장치의 루트 인증서로 전자 서명하는 단계;
    상기 중간 인증서로 전자 서명된 사설 인증서, 상기 루트 인증서로 전자 서명된 중간 인증서, 상기 루트 인증서를 체인으로 연결한 사설 인증서 체인을 생성하는 단계; 및
    상기 사설 인증서 체인을 상기 클라이언트 단말로 송신하는 단계
    를 포함하는 SSL 복호화 장치에서 다양한 전자 서명 알고리즘을 지원하기 위한 전자 재서명 방법.
  2. 제1항에 있어서,
    상기 사설 인증서를 상기 중간 인증서로 전자 서명하는 단계는,
    상기 서버로부터 수신하는 서버 인증서의 전자서명 알고리즘의 정보를 상기 사설 인증서의 서명 알고리즘의 정보로서 추가하고, 상기 서명 알고리즘을 이용해서 서명값을 생성하여 상기 사설 인증서에 추가하는 단계
    를 더 포함하는 SSL 복호화 장치에서 다양한 전자 서명 알고리즘을 지원하기 위한 전자 재서명 방법.
  3. 제1항에 있어서,
    상기 지정된 전자서명 알고리즘과 상기 SSL 복호화 장치의 루트 인증서의 전자서명 알고리즘이 동일한 경우, 상기 사설 인증서를 상기 루트 인증서로 전자 서명하는 단계; 및
    상기 루트 인증서로 전자 서명된 사설 인증서 및 상기 루트 인증서를 포함하는 사설 인증서 체인을 상기 클라이언트 단말로 송신하는 단계
    를 더 포함하는 SSL 복호화 장치에서 다양한 전자 서명 알고리즘을 지원하기 위한 전자 재서명 방법.
  4. 제3항에 있어서,
    상기 사설 인증서를 상기 루트 인증서로 전자 서명하는 단계는,
    상기 루트 인증서의 전자서명 알고리즘의 정보를 상기 사설 인증서의 서명 알고리즘의 정보로서 추가하고, 상기 서명 알고리즘을 이용해서 서명값을 생성하여 상기 사설 인증서에 추가하는 단계
    를 더 포함하는 SSL 복호화 장치에서 다양한 전자 서명 알고리즘을 지원하기 위한 전자 재서명 방법.
  5. 제1항에 있어서,
    상기 SSL 통신 연결 요청을 감지하는 단계 이전에,
    상기 루트 인증서를 상기 클라이언트 단말로 제공하여 신뢰할 수 있는 인증서로 상기 클라이언트 단말에 저장하도록 하는 단계
    를 더 포함하는 SSL 복호화 장치에서 다양한 전자 서명 알고리즘을 지원하기 위한 전자 재서명 방법.
  6. 제1항에 있어서,
    상기 서버에 SSL 세션 요청하여 상기 SSL 복호화 장치와 상기 서버 간의 SSL 세션을 맺고 상기 서버의 관련정보를 획득하는 단계는,
    상기 SSL 복호화 장치의 세션키를 생성하는 단계; 및
    상기 SSL 복호화 장치의 세션키를 상기 서버의 인증서에 포함된 공개키를 이용해서 암호화하여 상기 서버로 송신하는 단계
    를 포함하는 SSL 복호화 장치에서 다양한 전자 서명 알고리즘을 지원하기 위한 전자 재서명 방법.
  7. 제1항에 있어서,
    상기 서버의 관련정보를 획득하는 단계는,
    상기 SSL 복호화 장치와 상기 서버와의 SSL 세션을 맺는 과정에서 상기 서버로부터 수신하는 서버 인증서로부터 유효기간, 주체, 주체 대체 이름, 확장된 키 사용 및 기본 제한에 관한 정보를 상기 서버의 관련 정보로서 획득하는 단계
    를 포함하는 SSL 복호화 장치에서 다양한 전자 서명 알고리즘을 지원하기 위한 전자 재서명 방법.
  8. 제1항에 있어서,
    상기 서버에 대한 사설 인증서를 생성하는 단계는,
    상기 SSL 복호화 장치의 루트 인증서로부터 발급자에 관한 정보를 수집하는 단계;
    버전, 일련번호 및 공개키에 관한 정보를 생성하는 단계; 및
    상기 서버의 관련 정보와, 상기 루트 인증서로부터 수집한 정보와, 생성한 정보를 포함하는 상기 사설 인증서를 생성하는 단계
    를 포함하는 SSL 복호화 장치에서 다양한 전자 서명 알고리즘을 지원하기 위한 전자 재서명 방법.
  9. 제1항에 있어서,
    상기 사설 인증서 체인을 이용해서 상기 클라이언트 단말과 상기 SSL 복호화 장치 간의 SSL 세션을 맺는 단계
    를 더 포함하는 SSL 복호화 장치에서 다양한 전자 서명 알고리즘을 지원하기 위한 전자 재서명 방법.
  10. 제9항에 있어서,
    상기 사설 인증서 체인을 이용해서 상기 클라이언트 단말과 상기 SSL 복호화 장치 간의 SSL 세션을 맺는 단계는,
    상기 클라이언트 단말로부터 상기 사설 인증서에 포함된 공개키로 암호화된 클라이언트 단말의 세션키를 수신하는 단계; 및
    상기 사설 인증서에 대응하는 비밀키로 상기 암호화된 클라이언트 단말의 세션키를 복호화해서 상기 클라이언트 단말의 세션키를 획득하는 단계
    를 포함하는 SSL 복호화 장치에서 다양한 전자 서명 알고리즘을 지원하기 위한 전자 재서명 방법.
  11. 제9항에 있어서,
    상기 SSL 복호화 장치와 상기 서버 간의 SSL 세션이 맺어지고, 상기 클라이언트 단말과 상기 SSL 복호화 장치 간의 SSL 세션이 맺어진 후에,
    상기 클라이언트 단말로부터 상기 서버로 송신하는 패킷을 수신하면, 상기 패킷을 상기 클라이언트 단말의 세션키를 이용해서 복호화하는 단계; 및
    상기 복호화된 패킷을 상기 SSL 복호화 장치의 세션키를 이용해서 암호화하여 상기 서버로 송신하는 단계
    를 더 포함하는 SSL 복호화 장치에서 다양한 전자 서명 알고리즘을 지원하기 위한 전자 재서명 방법.
  12. 제11항에 있어서,
    상기 복호화된 패킷을 상기 SSL 복호화 장치의 세션키를 이용해서 암호화하여 상기 서버로 송신하는 단계는,
    상기 복호화된 패킷에 대한 송신의 승인 여부를 검사한 결과 송신이 가능한 것으로 결정되는 경우에만 상기 복호화된 패킷을 암호화하여 상기 서버로 송신하는
    SSL 복호화 장치에서 다양한 전자 서명 알고리즘을 지원하기 위한 전자 재서명 방법.
  13. 제9항에 있어서,
    상기 SSL 복호화 장치와 상기 서버 간의 SSL 세션이 맺어지고, 상기 클라이언트 단말과 상기 SSL 복호화 장치 간의 SSL 세션이 맺어진 후에,
    상기 서버로부터 상기 클라이언트 단말로 송신하는 패킷을 수신하면, 상기 패킷을 상기 SSL 복호화 장치의 세션키를 이용해서 복호화하는 단계; 및
    상기 복호화된 패킷을 상기 클라이언트 단말의 세션키를 이용해서 암호화하여 상기 클라이언트 단말로 송신하는 단계
    를 더 포함하는 SSL 복호화 장치에서 다양한 전자 서명 알고리즘을 지원하기 위한 전자 재서명 방법.
  14. 제13항에 있어서,
    상기 복호화된 패킷을 상기 클라이언트 단말의 세션키를 이용해서 암호화하여 상기 클라이언트 단말로 송신하는 단계는,
    상기 복호화된 패킷에 대한 송신의 승인 여부를 검사한 결과 송신이 가능한 것으로 결정되는 경우에만 상기 복호화된 패킷을 암호화하여 상기 서버로 송신하는
    SSL 복호화 장치에서 다양한 전자 서명 알고리즘을 지원하기 위한 전자 재서명 방법.
  15. 제1항 내지 제14항 중 어느 한 항의 방법을 실행하기 위한 프로그램이 기록되어 있는 것을 특징으로 하는 컴퓨터에서 판독 가능한 기록 매체.
KR1020180074041A 2018-06-27 2018-06-27 보안 소켓 계층 복호화 장치에서 다양한 전자 서명 알고리즘을 지원하기 위한 전자 재서명 방법 KR102086739B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020180074041A KR102086739B1 (ko) 2018-06-27 2018-06-27 보안 소켓 계층 복호화 장치에서 다양한 전자 서명 알고리즘을 지원하기 위한 전자 재서명 방법
US16/974,310 US20210367788A1 (en) 2018-06-27 2019-08-06 Digital re-signing method for supporting various digital signature algorithms in secure sockets layer decryption apparatus
PCT/KR2019/009804 WO2020005047A1 (ko) 2018-06-27 2019-08-06 보안 소켓 계층 복호화 장치에서 다양한 전자 서명 알고리즘을 지원하기 위한 전자 재서명 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180074041A KR102086739B1 (ko) 2018-06-27 2018-06-27 보안 소켓 계층 복호화 장치에서 다양한 전자 서명 알고리즘을 지원하기 위한 전자 재서명 방법

Publications (2)

Publication Number Publication Date
KR20200001283A KR20200001283A (ko) 2020-01-06
KR102086739B1 true KR102086739B1 (ko) 2020-03-09

Family

ID=68987271

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180074041A KR102086739B1 (ko) 2018-06-27 2018-06-27 보안 소켓 계층 복호화 장치에서 다양한 전자 서명 알고리즘을 지원하기 위한 전자 재서명 방법

Country Status (3)

Country Link
US (1) US20210367788A1 (ko)
KR (1) KR102086739B1 (ko)
WO (1) WO2020005047A1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101448866B1 (ko) 2013-01-11 2014-10-13 주식회사 시큐아이 웹 보안 프로토콜에 따른 암호화 데이터를 복호화하는 보안 장치 및 그것의 동작 방법
KR101728781B1 (ko) 2013-09-23 2017-04-20 퀄컴 인코포레이티드 무선 네트워크를 안전하게 보호하기 위해 로컬 루트 인증 기관으로부터의 증명서를 이용하여 원격 스테이션을 구성하기 위한 방법
KR101847637B1 (ko) 2016-05-04 2018-05-24 주식회사 수산아이앤티 암호화 통신 세션 처리 방법 및 장치

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3928589B2 (ja) * 2003-06-12 2007-06-13 コニカミノルタビジネステクノロジーズ株式会社 通信システムおよび方法
US20050076201A1 (en) * 2003-08-15 2005-04-07 Imcentric, Inc. System for discovering SSL-enabled network devices and certificates
KR101022157B1 (ko) * 2003-12-16 2011-03-17 주식회사 케이티 Ssl 가상 사설망 서비스 처리 방법
JP4879347B2 (ja) * 2009-12-25 2012-02-22 キヤノンItソリューションズ株式会社 中継処理装置、中継処理方法及びプログラム
US8627065B2 (en) * 2010-11-09 2014-01-07 Cleversafe, Inc. Validating a certificate chain in a dispersed storage network
US9154468B2 (en) * 2013-01-09 2015-10-06 Netronome Systems, Inc. Efficient forwarding of encrypted TCP retransmissions
US8966659B2 (en) * 2013-03-14 2015-02-24 Microsoft Technology Licensing, Llc Automatic fraudulent digital certificate detection
US9154488B2 (en) * 2013-05-03 2015-10-06 Citrix Systems, Inc. Secured access to resources using a proxy
JP6627043B2 (ja) * 2016-08-08 2020-01-08 株式会社 エヌティーアイ Ssl通信システム、クライアント、サーバ、ssl通信方法、コンピュータプログラム
KR101881278B1 (ko) * 2016-09-06 2018-07-26 주식회사 수산아이앤티 보안 소켓 계층 통신을 이용하는 패킷을 선택적으로 검사하는 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101448866B1 (ko) 2013-01-11 2014-10-13 주식회사 시큐아이 웹 보안 프로토콜에 따른 암호화 데이터를 복호화하는 보안 장치 및 그것의 동작 방법
KR101728781B1 (ko) 2013-09-23 2017-04-20 퀄컴 인코포레이티드 무선 네트워크를 안전하게 보호하기 위해 로컬 루트 인증 기관으로부터의 증명서를 이용하여 원격 스테이션을 구성하기 위한 방법
KR101847637B1 (ko) 2016-05-04 2018-05-24 주식회사 수산아이앤티 암호화 통신 세션 처리 방법 및 장치

Also Published As

Publication number Publication date
KR20200001283A (ko) 2020-01-06
WO2020005047A1 (ko) 2020-01-02
US20210367788A1 (en) 2021-11-25

Similar Documents

Publication Publication Date Title
JP5860815B2 (ja) コンピューターポリシーを施行するためのシステムおよび方法
EP3375135B1 (en) Methods and systems for pki-based authentication
US11849029B2 (en) Method of data transfer, a method of controlling use of data and cryptographic device
US9219607B2 (en) Provisioning sensitive data into third party
US7992193B2 (en) Method and apparatus to secure AAA protocol messages
US11095635B2 (en) Server authentication using multiple authentication chains
Lee et al. maTLS: How to Make TLS middlebox-aware?
JP2019502286A (ja) 部分的に信頼できる第三者機関を通しての鍵交換
US9876773B1 (en) Packet authentication and encryption in virtual networks
JP2006139747A (ja) 通信システムおよび安全性保証装置
JP2008250931A (ja) 分散情報復元システム、情報利用装置、および、検証装置
US20180145837A1 (en) Establishing a secure connection across secured environments
US20170070486A1 (en) Server public key pinning by url
WO2013081441A1 (en) A system and method for establishing mutual remote attestation in internet protocol security (ipsec) based virtual private network (vpn)
KR20090054774A (ko) 분산 네트워크 환경에서의 통합 보안 관리 방법
KR100970552B1 (ko) 비인증서 공개키를 사용하는 보안키 생성 방법
KR102086739B1 (ko) 보안 소켓 계층 복호화 장치에서 다양한 전자 서명 알고리즘을 지원하기 위한 전자 재서명 방법
JP2010028689A (ja) 公開パラメータ提供サーバ、公開パラメータ提供方法、公開パラメータ提供プログラム、暗号化処理実行装置、暗号化処理実行方法、暗号化処理実行プログラム、署名処理実行装置、署名処理実行方法及び署名処理実行プログラム
KR20180031435A (ko) 보안 소켓 계층 통신을 이용하는 패킷을 검사하는 방법
Anderson Securing embedded linux
Haque Web server vulnerability analysis in the context of transport layer security (tls)
CN117728958A (zh) 一种通信方法、装置和系统
KR101893758B1 (ko) 암호화된 트래픽 분석을 통한 내부 정보 유출 모니터링 시스템 및 방법

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant