KR101076848B1 - 사설망 자원으로의 연결을 설정하는 방법 및 컴퓨터 판독가능 기록 매체 - Google Patents

사설망 자원으로의 연결을 설정하는 방법 및 컴퓨터 판독가능 기록 매체 Download PDF

Info

Publication number
KR101076848B1
KR101076848B1 KR1020040049692A KR20040049692A KR101076848B1 KR 101076848 B1 KR101076848 B1 KR 101076848B1 KR 1020040049692 A KR1020040049692 A KR 1020040049692A KR 20040049692 A KR20040049692 A KR 20040049692A KR 101076848 B1 KR101076848 B1 KR 101076848B1
Authority
KR
South Korea
Prior art keywords
client
firewall
delete delete
server
private network
Prior art date
Application number
KR1020040049692A
Other languages
English (en)
Other versions
KR20050002632A (ko
Inventor
아트 셀리스트
크리스티안 후이테마
Original Assignee
마이크로소프트 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 마이크로소프트 코포레이션 filed Critical 마이크로소프트 코포레이션
Publication of KR20050002632A publication Critical patent/KR20050002632A/ko
Application granted granted Critical
Publication of KR101076848B1 publication Critical patent/KR101076848B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0272Virtual private networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/22Arrangements for preventing the taking of data from a data transmission channel without authorisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/029Firewall traversal, e.g. tunnelling or, creating pinholes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • 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
    • 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/0853Network architectures or network communication protocols for network security for authentication of entities using an additional device, e.g. smartcard, SIM or a different communication terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1458Denial of Service
    • 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/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/3218Cryptographic 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 using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/76Proxy, i.e. using intermediary entity to perform cryptographic operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/80Wireless

Abstract

방화벽은 클라이언트가 인증 신원 정보를 제공하도록 요구되지 않은 챌린지를 개시함으로써 사설망 내의 서버로의 투과성 게이트웨이로서 기능한다. 클라이언트의 신원 정보를 수신한 후에, 방화벽은 그 인증 신원 정보를 검증하고 서버에 접속하기 위한 보안 채널을 설정한다. 클라이언트로부터 서버로 보내지는 데이터는 방화벽을 통해 보안 채널을 사용하여 포워딩될 수 있다. 방화벽은 서버로 포워딩된 데이터가 방화벽이 인증한 클라이언트로부터 온 것임을 서명하거나 다른 방식으로 표시를 할 수 있다. 방화벽은 또한 클라이언트에게 일정 수준의 인증을 제공할 수 있다. 서버에 연결되어 있는 동안, 클라이언트는 사설망 외부에 있는 다른 서버들과 관련된 데이터가 사설망을 통과하도록 하지 않고 그 다른 서버들에 접속할 수 있다. 방화벽은 그렇지 않은 경우 여러가지 사설망 서버에 접속하기 위해 클라이언트가 보유하고 있어야만 하는 구성 정보를 감소시킨다.
Figure R1020040049692
방화벽, 사설망, 가상 사설망, 게이트웨이, 보안 채널

Description

사설망 자원으로의 연결을 설정하는 방법 및 컴퓨터 판독가능 기록 매체{REDUCING NETWORK CONFIGURATION COMPLEXITY WITH TRANSPARENT VIRTUAL PRIVATE NETWORKS}
도 1은 일반적인 VPN 연결을 나타낸 도면.
도 2는 본 발명의 예시적인 실시예에 따른 VPN 연결을 나타낸 도면.
도 3은 본 발명의 예시적인 실시예들에 따른 투과성 VPN 연결의 기능을 나타낸 도면.
도 4는 본 발명에 따라 클라이언트를 사설망에 연결시키는 방법의 예시적인 동작 및 단계를 나타낸 도면.
도 5는 본 발명에 적합한 오퍼레이팅 환경을 제공하는 예시적인 시스템을 나타낸 도면.
<도면의 주요 부분에 대한 부호의 설명>
205: 인터넷
210: 방화벽
230: VPN 게이트웨이
225: 사설망
240, 245: 특정 서버
본 발명은 일반적으로 가상 사설망(virtual private network, VPN)에 관한 것으로서, 상세하게는 VPN에 접속하는 효율적인 방법에 관한 것이다.
VPN은 WAN(wide area network, 원거리 통신망)에 대한 매력적이고 가격 효율적인 대안이다. VPN은 기본적으로 원격 사이트 또는 클라이언트가 공중망(보통 인터넷)을 통해 사설망에 접속하는 것을 가능하게 해준다. 원격 사이트 또는 클라이언트는 일단 연결되면 사설망의 로컬 부분(local part)인 것처럼 보이므로, 지정 가상 사설망이다. 잘 설계된 VPN은 회사에 크게 이익이 될 수 있다. 예를 들어, VPN은 지리적 연결성을 확장시킬 수 있고, 보안을 향상시킬 수 있으며, 전통적인 WAN에 비해 운영 비용을 감축할 수 있고, 원격 클라이언트의 전송 시간 및 전달 비용을 감축시킬 수 있으며, 생산성을 향상시킬 수 있고, 네트워크 토폴로지를 단순화시킬 수 있으며, 글로벌 네트워킹 기회를 제공할 수 있다.
2가지 통상적인 유형의 VPN 시스템, 즉 원격 접속(remote-access)형 VPN 시스템과 사이트 대 사이트(site-to-site)형 VPN 시스템이 있다. 가상 사설 다이얼업 네트워크(virtual private dial-up network, VPDN)라고도 하는 원격 접속형 VPN은 여러가지 원격 장소로부터 사설망에 접속할 필요가 있는 직원들을 가지고 있는 기업에 의해 사용되는 클라이언트 대 LAN(Local Area Network, 근거리 통신망)(client-to-LAN) 연결이다. 원격 접속형 VPN은 종종 제3자 서비스 제공업체(third-party service provider)를 통해 기업의 사설망과 원격 클라이언트 사이 의 암호화된 보안 연결을 가능하게 해준다. 사이트 대 사이트형 VPN은 다수의 사이트를 인터넷 등의 공중망을 통해 연결시키기 위해 전용 장비 및 대규모 암호화(large-scale encryption)를 사용한다. 사이트 대 사이트형 VPN은 인트라넷 기반(intranet-based) 또는 엑스트라넷 기반(extranet-based)일 수 있다. VPN의 유형에 상관없이, 잘 설계된 VPN은 보안, 신뢰성, 확장성, 네트워크 관리 및 정책 관리를 구현한다.
VPN은 연결 및 데이터 보안을 유지하기 위해 몇가지 방법을 사용한다. 일반적으로, 이것은 어떤 유형의 암호화 또는 방화벽 또는 이 둘다를 필요로 한다. 암호화는 한 컴퓨터가 다른 컴퓨터로 전송하고 있는 데이터를 가져다가 이를 상대방 컴퓨터만이 디코딩할 수 있을 형태로 인코딩하는 프로세스이다. 일반적인 컴퓨터 암호화 시스템은 2가지 부류, 즉 대칭키 암호화(symmetric key encryption) 또는 공개키 암호화(public key encryption) 중 하나에 속한다. 대칭키 암호화에서는, 각각의 컴퓨터는 정보 패킷이 네트워크를 통해 다른 컴퓨터로 전송되기 전에 이를 암호화하기 위해 그 컴퓨터가 사용하는 비밀 코드를 가지고 있다. 암호화된 정보 패킷을 수신하는 컴퓨터는 또한 그 메시지를 디코딩하기 위해 그 비밀 코드를 알고 있어야만 한다.
공개키 암호화는 비밀키(private key)와 공개키(public key)의 조합을 사용한다. 비밀키는 비밀로 유지되어 있는 반면, 공개키는 일반적으로 그것을 요구하는 누구라도 액세스할 수 있다. 비밀키와 공개키는 한쪽이 다른쪽에 의해 암호화된 데이터를 복호화한다는 점에서 관련되어 있다. 따라서, 공개키에 의해 복호화될 수 있는 데이터는 대응하는 비밀키의 소유자가 그 데이터를 암호화하였음을 나타내며, 따라서 대응하는 비밀키의 소유자를 암호화된 데이터의 소스로서 식별한다. 이와 마찬가지로, 공개키로 데이터를 암호화함으로써, 전송자는 비밀키의 소유자만이 그 데이터를 복호화할 수 있도록 보장한다.
공개키 암호화의 통상의 사용에서는 SSL(Secure Socket Layer, 보안 소켓 계층)을 필요로 한다. SSL은 민감한 정보를 전송하기 위해 인터넷 브라우저 및 웹 서버에 의해 사용되는 인터넷 보안 프로토콜이다. SSL은 TCP/IP 연결을 통해 보안 세션을 개시하기 위해 보안 핸드쉐이크(security handshake)를 사용한다. 핸드쉐이크 동안, 대칭 암호화/복호화 키를 결정하기 위한 정보가 공개키 암호화를 사용하여 교환된다. 이 핸드쉐이크의 결과 클라이언트와 서버는 그들이 사용하게 될 보안 수준에 합의한다. 핸드쉐이크 후에, SSL은 사용되고 있는 애플리케이션 프로토콜, 예를 들어 HTTP, NNTP, 텔넷 등의 바이트스트림(bytestream)을 암호화 및 복호화한다. 이것은 URL, 클라이언트 요청, 모든 전송된 폼 내용(form contentㄴ)(예를 들어, 신용 카드 번호), 임의의 HTTP 접속 인증 정보(access authorization information)(예를 들어, 클라이언트 이름 및 패스워드), 및 서버로부터 클라이언트로 전송된 모든 데이터를 비롯한 HTTP 요청 및 응답 둘다에 있어서의 모든 정보가 완전히 암호화되는 것을 의미한다. SSL 및 TLS(Transport Layer Security, 전송 계층 보안) 등의 다른 프로토콜은 상위 네트워크 프로토콜 계층에서 동작한다.
다른 형태의 VPN 보안은 IPSec(Internet Protocol Security, 인터넷 프로토콜 보안)이라고 알려져 있다. IKE(Internet Key Exchange, 인터넷 키 교환) 등의 키 협상 기술과 결합될 때, IPSec는 비TCP 트래픽을 보호하기 위해 보다 포괄적인 인증 기능 등의 향상된 보안 특징을 제공한다. 따라서, IPSec 호환 시스템만이 이 프로토콜을 이용할 수 있다. SSL 및 TLS와는 달리, IPSec은 하위 네트워크 프로토콜 계층에서 동작한다.
물론, VPN은 모든 유형의 네트워크 접속에 적합한 것은 아니다. 예를 들어, 공개 웹 사이트에의 접속, 인터넷 이메일의 전송, 및 다른 유형의 접속은 사설망 외부에서 인증없이 시작될 것으로 예상된다. 따라서, 정상 동작 동안, 어떤 유형의 외부로부터의 미인증된 접속이 지원될 필요가 있다. 그렇지만, 사설망으로의 외부 접속을 가능하게 하려면 각종의 보안 위험이 뒤따른다.
방화벽은 일반적으로 서로 다른 신뢰 도메인(trust domain) 내에 있는 사설망과 인터넷 등의 다른 네트워크 사이에 강력한 장벽을 제공한다. 외부로부터의 접속에 의해 유입되는 보안 위험을 해소하기 위해, 방화벽은 개방 포트(open port)의 수, 어느 유형의 패킷이 통과되는지, 및 어느 프로토콜이 허용되는지를 제한할 수 있다.
방화벽은 외부 네트워크 연결을 통해 사설망 또는 컴퓨터 시스템으로 들어오는 정보를 필터링하는 소프트웨어 및/또는 하드웨어의 조합일 수 있다. 필터들이 착신 정보 패킷에 플래그를 붙이게 되면, 그 패킷은 통과될 수 없다. 일반적인 방화벽은 네트워크 내부 및/또는 외부로의 트래픽 흐름을 제어하기 위해 정적 패킷 필터링(static packet filtering), 프록시 서비스(proxy service) 및/또는 동적 패킷 필터링(dynamic packet filtering)을 포함하는 3가지 기술 중 하나 이상을 사용 한다. 정적 패킷 필터링은 그 이름이 암시하듯이 일련의 필터에 대해서 일단의 데이터(chunks of data)를 분석한다. 필터를 통과하는 패킷들은 적절히 라우팅되는 반면, 다른 것들은 모두 폐기된다. 프록시 서비스가 사용되는 경우, 네트워크로부터의 정보는 방화벽에 의해 검색되고 이어서 요청측 시스템으로 전송되며, 그 역도 마찬가지이다. 각 패킷의 내용을 검사하지 않지만 그 대신에 그 패킷의 어떤 주요 부분을 신뢰 정보(trusted information)의 데이터베이스와 비교하는 보다 새로운 기술이 동적 패킷 필터링이라고 알려져 있다. 방화벽의 내부로부터 외부로 이동해가는 정보는 특정의 한정 특성(defining characteristic)에 대해 모니터링된다. 그 다음에, 착신 정보가 이들 특성과 비교된다. 이 비교 결과 타당한 매칭하는 것이 있는 경우, 그 정보는 통과가 허용된다. 그렇지 않은 경우, 그 정보는 폐기된다.
VPN은 WAN에 대한 매력적인 대안이지만, 원격 접속을 위해 VPN 서버를 사용하는 것은 현재 여러가지 단점이 존재한다. 예를 들어, 클라이언트가 VPN을 통해 웹과 사설망 양쪽에 연결되기를 원하는 경우, 모든 네트워크 트래픽은 VPN을 통과해야만 한다. 그렇지만, 이것은 효율성, 프라이버시, 호환성 문제를 일으킨다. 효율성 문제가 야기되는 이유는 그 연결이 먼저 사설망을 통과한 다음에 다시 웹으로 나가야 하기 때문이다. 따라서, 불필요한 트래픽이 사설망을 통해 라우팅된다. 또한, 프라이버시 문제가 야기되는 이유는 이러한 웹 서핑이 네트워크 정책을 위반하고 있을 수 있기 때문이다. 그렇지만, 효율성 및 프라이버시 문제를 갖는 이러한 응용을 지원하는 인터넷으로의 연결이 존재한 경우에도, 이 연결이 사용되지 않 게 될 것인데, 그 이유는 모든 데이터가 VPN이 연결되어 있는 네트워크의 방화벽을 통해 포워딩되고, 그 결과 역시 연결성(connectivity) 문제가 생기기 때문이다.
현재의 VPN 사용에서는 또한 각각이 분리된 네트워크를 위한 다수의 게이트웨이를 필요로 한다. 다수의 VPN 게이트웨이는 보안을 훼손시킬 수 있으며 또한 그 결과 연결성 문제가 생길 수 있다. 예를 들어, VPN 클라이언트는 VPN에 로컬 연결되어 있는 것처럼 보이기 때문에, 그 클라이언트는 동시에 다수의 VPN 연결에 참가할 수 없다. 따라서, 클라이언트가 한 네트워크로부터 다른 분리된 네트워크로 정보를 다운로드하고자 하는 경우, 그 클라이언트는 먼저 제1 VPN 서버와 연결을 설정하고, 그 정보를 클라이언트의 저장 장치로 다운로드하며, 제1 VPN 서버와의 연결을 해제하고, 제2 VPN 서버와 VPN 연결을 설정한 다음에 그 정보를 그 클라이언트의 저장 장치로부터 제2 네트워크 서버로 다운로드해야만 한다. 이것은 시간 및 메모리 관리 둘다에서 엄청난 비효율성을 야기한다.
현재의 VPN 시스템의 다른 단점은 사설망 내의 여러가지 VPN 게이트웨이를 추적하는 것의 복잡성이다. 클라이언트는 각각의 VPN 게이트웨이에 대한 어떤 구성 정보, 예를 들어 IP 주소, 인증 정보 등을 알고 있을 필요가 있다. 게다가, 클라이언트는 사설망 내의 특정의 서버에 접속하기 위해 어느 VPN 게이트웨이를 사용해야만 하는지를 알지 못하거나 직관적으로 이해하지 못할 수 있다. LAN 구성이 변하면, 클라이언트는 계속되는 VPN 접속을 용이하게 하기 위해 새로운 설정을 사용하여 신속히 갱신될 필요가 있을 수 있다.
따라서, 클라이언트에 의해 요청되거나 클라이언트로부터 전송되는 모든 정 보가 반드시 네트워크를 통과하도록 하지 않고도 네트워크로의 클라이언트 접속을 가능하게 해주는 투과성 VPN이 필요하게 된다. 게다가, 1개 이상의 네트워크에 동시에 접속할 수 있고 또 보안 요구 사항을 훼손시키지 않고 사설망으로의 접속을 단순화시킬 수 있을 필요가 있다.
본 발명의 예시적인 실시예들에 따르면, 현재의 VPN의 상기한 단점 및 결점이 극복된다. 예를 들어, 예시적인 실시예들은 자원(resource)과 방화벽을 포함하는 사설망을 제공한다. 방화벽은 클라이언트가 원하는 사설망 자원으로의 접속을 통제함으로써 게이트웨이로서 기능한다. 본 발명은 서비스 거부 공격에 대해 서로 보호하기 위해 인증 프로세싱 요구를 클라이언트와 방화벽 간에 분산시키면서 사설망 자원으로의 연결을 설정하는 컴퓨터 프로그램 제품 및 방법을 제공한다.
상기 컴퓨터 프로그램 제품 및 방법은, 방화벽에 의해, 클라이언트로부터의 사설망 자원 접속 요청을 수신하는 단계를 제공한다. 클라이언트로부터의 요청은 방화벽을 전혀 알지 못하고 사설망 자원에 대해 행해진다. 그러면, 방화벽은 클라이언트를 인증하기 위해 클라이언트 신원 정보(client credential)를 제공하도록 그 클라이언트에게 요청할 수 있다. 게다가, 방화벽은 클라이언트에게 그 자신을 인증하기 위한 그 자신의 신원 정보를 전송할 수 있다. 방화벽은 또한 클라이언트 신원 정보를 수신할 수 있다.
방화벽 신원 정보 및 클라이언트 신원 정보를 생성하는 것은 방화벽 및 클라이언트의 프로세싱 자원을 소모하며, 그 규모는 비슷하다. 방화벽은 이어서 클라 이언트 신원 정보를 검증하고 그 검증에 응답하여 사설망 자원에 접속하기 위한 보안 채널을 설정할 수 있다. 그에 따라, 이어서 클라이언트로부터의 데이터는 방화벽을 통해 보안 채널을 사용하여 사설망 자원으로 포워딩될 수 있다.
본 발명의 또다른 예시적인 실시예에 따르면, 사설망 자원에의 접속을 요청하는 클라이언트와 사설망의 게이트웨이로서 동작하는 방화벽에 상응하는 프로세싱 부담을 부과하도록 설계된 일련의 인증 트랜잭션(authentication transaction)을 개시함으로써 사설망 자원으로의 연결을 설정하는 컴퓨터 프로그램 제품 및 방법이 제공된다. 클라이언트는 처음에 방화벽이 사설망의 게이트웨이로서 동작하는 것을 모르고 있다. 게다가, 각각의 인증 트랜잭션은 클라이언트와 방화벽의 인증이 충분히 검증될 때까지 클라이언트와 방화벽 사이의 신뢰도를 점진적으로 향상시킨다.
일련의 인증 트랜잭션은 일련의 트랜잭션 중 하나에 따라 클라이언트를 인증하는 방법과 비슷한 프로세싱 부담을 요구하는 방식으로 인증하도록 클라이언트에게 챌린지(challenge)하는 것을 포함할 수 있다. 일련의 인증 트랜잭션을 완료하면, 클라이언트는 방화벽을 통한 사설망 자원에의 접속을 승인받는다.
본 발명의 또다른 예시적인 실시예에 따르면, 방화벽이 서버로 보내진 클라이언트로부터의 접속 요청을 수신함으로써 클라이언트가 그 방화벽을 알지 못하고 그 방화벽을 통해 서버로의 접속을 제공하는 방법이 제공된다. 접속 요청이 서버로 보내지는 이유는 방화벽이 서버의 게이트웨이로서 동작하는 것을 클라이언트가 모르기 때문이다. 방화벽은 서버와 방화벽 사이의 신뢰도를 증명하는 하나 이상의 인증 신원 정보(authentication credential)를 생성하고, 방화벽에게 인증을 받으 라는 클라이언트에 대한 요청을 전송한다. 이 요청은 하나 이상의 방화벽 인증 신원 정보를 포함하며, 따라서 클라이언트는 별도의 요청을 할 필요없이 서버와 방화벽 사이의 신뢰도에 관해 알게 된다. 방화벽은 이어서 하나 이상의 인증 신원 정보를 클라이언트로부터 수신하고 이를 검증한다. 그 후에, 방화벽은 방화벽을 통한 서버로의 클라이언트 접속을 허용한다.
본 발명의 부가의 특징 및 이점은 이하의 설명에 기술될 것이며, 부분적으로는 이 설명으로부터 분명해지거나 본 발명의 실시에 의해 알게 될 수 있다. 본 발명의 특징 및 이점은 첨부된 청구항들에 구체적으로 기재된 수단 및 조합에 의해 실현되고 달성될 수 있다. 본 발명의 이들 및 다른 특징은 이하의 설명 및 첨부된 청구항들로부터 보다 완전하게 분명해질 것이거나 이후에 기술하는 본 발명의 실시에 의해 알게 될 수 있다.
본 발명의 상기한 이점 및 특징과 그 밖의 이점 및 특징이 달성될 수 있는 방법을 기술하기 위해, 본 발명의 보다 구체적인 설명이 첨부 도면에 도시되어 있는 본 발명의 구체적인 실시예들을 참조하여 이루어질 것이다. 이들 도면이 단지 본 발명의 전형적인 실시예들만을 도시한 것이며 따라서 그의 범위를 한정하는 것으로 간주되어서는 안된다는 것을 염두에 두면서, 본 발명에 대해 첨부 도면을 사용하여 더욱 구체적이고 상세하게 기술하고 설명할 것이다.
본 발명은 투과성 가상 사설망(VPN)을 사용하여 네트워크 구성 복잡성을 감소시키는 방법, 시스템, 및 컴퓨터 프로그램 제품으로 확장된다. 본 발명의 실시 예들은 도 5를 참조하여 이하에 보다 상세히 기술되는 바와 같은 여러가지 컴퓨터 하드웨어를 포함하는 특수 목적 또는 범용 컴퓨터를 포함할 수 있다.
도 1은 일반적인 VPN 기반 구조를 나타낸 것으로서, 여기에서 원격 사용자들은 인터넷 등의 공중망을 사용하여 사설망에 연결될 수 있다. 메인 LAN(Local Area Network, 근거리 통신망)(main LAN)(125)은 예를 들어 사이트 대 사이트형 VPN(115) 및 대규모 데이터 암호화를 위한 전용 장비를 사용하여 원격 LAN에 의해 접속될 수 있다. 사이트 대 사이트형 VPN(115)은 인트라넷 기반, 엑스트라넷 기반, 기타 등등일 수 있다. 기업이 단일 사설망에 가입시키고자 하는 하나 이상의 원격 장소를 가지고 있는 경우, 그 기업은 LAN과 LAN을 연결시키는 인트라넷 VPN을 구축할 수 있다. 또한, 기업이 또 다른 기업, 예를 들면 협력업체, 공급자 또는 고객과 밀접한 관계를 가지고 있을 때, 그 기업은 LAN과 LAN을 연결시키고 또 여러 기업들 모두가 공유 환경에서 작업할 수 있게 해주는 엑스트라넷 VPN을 구축할 수 있다.
다른 대안에서 또는 이와 연계하여, 원격 사용자(remote user)(130) 또는 홈 사용자(home user)(105)는 원격 접속형 VPN(120)의 사용을 통해 메인 LAN(125)에 연결될 수 있다. 대규모 원격 접속형 VPN(120)을 구축하고자 하는 회사는 ESP(enterprise service provider, 기업 서비스 공급업체)(도시 생략)에 아웃소싱하거나 그 자신의 VPN 게이트웨이를 구축할 수 있다. ESP는 NAS(network access server, 네트워크 접속 서버)를 구축하고 원격 사용자(130, 105)에게 그의 컴퓨터용 클라이언트 소프트웨어를 제공한다. 그러면, 원격 사용자(130, 105)는 NAS에 도달하기 위해 무료 번호로 전화를 걸고 그의 VPN 클라이언트 소프트웨어를 사용하여 공중망 또는 사설망의 POP(point of presence, 상호 접속점)(135, 110)을 통해 회사 네트워크에 접속할 수 있다.
도 1에서, VPN 트래픽은 라우터(140, 145)를 통해 인터넷 등의 공중망을 거쳐 전송된다. 라우터는 네트워크 트래픽을 여러가지 경로를 따라 그의 목적지로 전송하는 특수 컴퓨터이다. 라우터는 2가지 각기 다른, 그렇지만 연관된 임무를 갖는다. 첫째, 라우터는 정보가 그 정보를 필요로 하지 않는 곳으로 가지 않도록 한다. 둘째, 라우터는 정보가 의도된 목적지에 확실히 도달하도록 해준다. 따라서, 라우터는 2개의 각기 다른 컴퓨터 네트워크를 다루는 데 있어서 아주 유용하다. 라우터는 2개의 네트워크를 연결시켜 한쪽으로부터 다른쪽으로 정보를 전달한다. 라우터는 또한 네트워크를 서로로부터 보호하며, 한쪽 네트워크 상의 트래픽이 다른쪽 네트워크로 불필요하게 넘어들어가지 않도록 한다.
도 2는 클라이언트(200)가 네트워크(225)에 어떻게 하여 접속할 수 있는지에 대해 보다 상세히 설명을 보여준다. 일반적으로, 클라이언트(200)는 인터넷(205)을 거쳐 네트워크(225)에 접속할 수 있다. 클라이언트(200)로부터 네트워크(225)로 보내지는 데이터는 방화벽(210)을 통과하거나 또는 VPN 게이트웨이(230 또는 235) 중 하나를 통과한다. 현재, 클라이언트(200)가 VPN 게이트웨이(230 또는 235)를 통해 네트워크(225)에 접속하고자 하는 경우, 클라이언트(200)는 대응하는 VPN 게이트웨이(230 또는 235)의 IP 주소를 알고 있어야만 한다. (부가적인 보안 대책으로서 VPN 게이트웨이에 대해 도메인 이름보다는 IP 주소가 사용되는 경우가 많이 있다.) 예를 들어, 특정 서버(240)가 사설망(225)의 메일 서버인 경우, 클라이언트(200)는 특정의 메일 서버(240)의 VPN 게이트웨이인 게이트웨이(230)의 IP 주소를 알고 있어야만 한다. 이와 유사하게, 특정 서버(245)가 네트워크(225)의 과금 서버(accounting server)인 경우, 클라이언트(200)는 특정 과금 서버(245)의 VPN 게이트웨이인 게이트웨이(235)의 IP 주소를 알고 있어야만 한다. 클라이언트(200)는 사설망(225) 내의 특정 서버(240 또는 245)에 접속하기 위해 VPN 게이트웨이에 적당한 신원 정보를 제공한다. 이들 신원 정보는 예를 들어 사용자의 이름, 클라이언트의 IP 주소, 패스워드, 패스포트, 스마트 카드, 신용카드 번호, 기타 중에서 어느 하나 또는 임의의 조합일 수 있다.
본 발명의 예시적인 실시예에 따르면, 클라이언트(200)는 방화벽(210)을 통해 사설망(225)으로의 접속을 시도할 수 있다. 종래의 설계와는 달리, 클라이언트는 방화벽의 IP 주소를 알고 있을 필요가 없는데, 그 이유는 사설망(225)으로 보내지는 패킷들이 패킷의 네트워크 라우팅 프로세스에 의해 방화벽의 외부측(좌측)에 나타나기 때문이다. 게다가, 방화벽(210)은 클라이언트(200)에 신원 정보를 챌린지할 수 있다. 방화벽(210)에 의해 실시되는 챌린지의 유형은 여러가지 암호화 프로토콜, 예를 들어, SSL(Secure Socket Layer), TLS(Transport Layer Security) 등의 사용을 포함할 수 있다. 당업자라면 잘 알고 있는 바와 같이, SSL과 TLS는 민감한 정보를 전송하기 위해 사용되는 보안 프로토콜이다.
그렇지만, 투과성 VPN에서 (전술한 것들과 같은) 일반적인 유형의 보안 프로토콜을 사용하는 것에 있어서의 문제점은 그 프로토콜들이 서비스 거부(denial of service, DoS) 공격을 허용할 가능성이다. 당업자라면 잘 알고 있는 바와 같이, DoS 공격은 사용자가 정상적인 경우라면 받을 것이라고 기대하고 있는 자원의 서비스를, 그 자원이 쓸모없는 요청들에 의해 무력화되어 있기 때문에 받지 못하게 되는 사고이다. 예를 들어, 서비스의 불능(loss of service)은 특정의 네트워크 서비스, 예를 들면 이메일을 이용할 수 없는 것 또는 모든 네트워크 연결 및 서비스의 일시적인 불능일 수 있다.
서비스 거부 공격은 투과성 VPN 환경에 있는 클라이언트 또는 네트워크 중 어느 하나에 대해 일어날 수 있다. 예를 들어, DoS 공격은 방화벽이 메시지를 수신하고 서명된 챌린지(signed challenge)를 반환할 때 방화벽에서 일어날 수 있다. 서명된 챌린지는 메시지를 전송하는 것보다 훨씬 더 많은 프로세싱 노력을 필요로 하기 때문에, 공격자는 패킷 스트림을 방화벽으로 전송하여 그에 따라 정당한 클라이언트에게 서비스를 거부하게 함으로써 그 방화벽을 용이하게 무력화시킬 수 있다. 이와 유사하게, DoS 공격은 클라이언트가 적절한 보안 신원 정보를 제공하도록 클라이언트에 지시하는 방화벽으로부터의 미서명된 챌린지를 수신하는 때 클라이언트에서 일어날 수 있다. 프로세싱 부담을 클라이언트에게 전가시킴으로써, 공격을 위한 길이 만들어진다. 누구라도 미서명된 메시지를 클라이언트에 전송할 수 있으며, 이는 클라이언트로 하여금 방화벽에 접촉하여 계산 비용이 많이 드는 인증 프로세스를 시도하도록 한다.
잠재적인 DoS 공격 문제에 대처하기 위해, 본 발명은 대안적 유형의 인증을 제공한다. 한 예시적인 실시예는 신원 정보를 위해 클라이언트에게 챌린지하기 위 해 영 지식 증명(zero-knowledge proof)을 사용한다. 간단히 말하면, 영 지식 증명은 통신이 진행함에 따라 클라이언트와 방화벽 사이의 신뢰도를 점진적으로 향상시키는 그들 사이에서의 일련의 교환을 필요로 한다. 이 교환은 몇개의 진화하는 순서로(in several evolving sequences) 이루어질 수 있으며, 이는 원본 메시지를 첨부하거나 또는 이름이나 시간 등의 일련의 무작위 질문 등과 함께 요청자에게 메시지를 반송하는 것을 포함할 수 있다.
보다 공식적으로는, 영 지식 증명은 입증자(prover)와 검증자(verifier)를 포함하는 두 당사자간의 양방향 증명 프로토콜(interactive proof protocol)이다. 입증자는 주장을 어떻게 증명할 것인지에 관해서는 어떠한 정보도 누설하지 않고 그 주장을 검증자에게 납득시킨다. 영 지식 증명은 일반적으로 몇개의 라운드(round)를 포함한다. 영 지식 증명에서의 전형적인 라운드는 입증자로부터의 "이행" 메시지(commitment message)와, 그에 뒤이은 검증자로부터의 챌린지, 그리고 이어서 입증자로부터의 그 챌린지에 대한 응답으로 이루어진다. 입증자가 주어진 라운드에 대한 적절한 응답을 추측하는 것이 가능할 수도 있지만, 프로토콜은 연속적으로 올바른 추측이 일어나지 않을 가능성이 허용 수준에 도달할 때까지 반복될 수 있다. 환언하면, 증명의 각 라운드에서 올바른 응답을 추측할 가능성이 50 대 50인 경우, 20번의 반복 후에, 20번의 응답 각각을 정확하게 추측할 확률은 2-20, 즉 0.0000009536보다 작다. 모든 라운드에서 입증자의 응답에 기초하여, 검증자는 그 증명을 인정할지 거부할지를 결정한다.
영 지식 증명의 실시는 방화벽(210)이 클라이언트(200)에게 익명으로 챌린지하는 단계를 포함할 수 있다. 클라이언트(200)는 자신이 신원 정보를 가지고 있다는 것과, 전술한 바와 같이 그 신원 정보를 실제로 방화벽(210)에게 제공하지 않고 영 지식 증명 기술을 사용하여 그 신원 정보가 정확한 것이라는 증명을 전송할 수 있다. 따라서, 본 출원에서 사용되는 바와 같이, "신원 정보"라는 용어는 신원 정보 자체 뿐만 아니라 신원 정보에 기초한 영 지식 증명까지 포괄하도록 광의로 해석되어야만 한다. 다른 대안에서 또는 이와 연계하여, 클라이언트(200)는 실제 신원 정보가 전송되기 전에 방화벽(210)이 그 자신의 신원을 밝히도록 요청할 수 있다.
예시적인 실시예에 따라 DoS 공격에 대처하기 위해 수정 및 사용될 수 있는 또다른 인증 프로세스는 단방향 인증 프로세스(unilateral authentication process)이다. 이 프로세스는 메시지가 특정의 장치에 의해서만 기록될 수 있도록 그 장치가 그 메시지를 기록할 수 있게 해준다. 이 인증 메카니즘은 인증 프로세스를 완료하기 위해 수신자가 전송자와 추가의 통신을 할 필요가 없다는 점에서 단방향이다. 그 메시지는 메시지 수신자, 예를 들어 클라이언트가 메시지를 디코딩하고 또 그 메시지가 이 특정의 장치로부터 온 것이 틀림없다고 결정하기 위해 필요로 하는 모든 것을 포함하고 있다.
본 발명은 공개키에 기초한 예를 들어 메시지 전송자의 네트워크 주소의 선택과 결합하여 사용되는 공개키/비밀키 암호법에 기초하고 있다. 이하의 설명은 단방향 인증이 본 발명에서 어떻게 사용될 수 있는지를 보여주고 있다. 클라이언트(200)는 네트워크(225)에 있는 특정의 호스트 또는 서버, 예를 들어 특정 서버(240 또는 245)로의 접속을 요청할 수 있다. 처음에, 클라이언트(200)는 방화벽(210)에 대해 알지 못하고 있으며, 단순히 그 요청이 네트워크(225) 내의 특정 호스트로 전달되도록 하려고 할 뿐이다[방화벽(210)에 의해 보호되는 특정 서버가 도시되어 있지 않음에 유의할 것]. 그렇지만, 방화벽(210)이 네트워크(225) 내의 특정 호스트를 보호하고 있을 수 있기 때문에, 그 요청은 먼저 방화벽으로 전달된다.
그 요청을 네트워크(225) 내의 원하는 호스트로 포워딩하기 이전에, 방화벽(210)은 클라이언트(200)가 네트워크(225) 내의 그 특정 호스트에 접속하도록 허가를 받았는지를 확인할 필요가 있다. 방화벽(210)은 자유로이 클라이언트(200)가 그 자신을 인증하도록 요청하지만, 클라이언트(200)는 방화벽(210)을 알지 못하고 있으며 방화벽(210)이 DoS 공격 또는 보안 침해(security breach) 등의 공격을 시도하고 있는 것으로 의심할 수 있다. 따라서, 클라이언트(200)는 방화벽(210)의 인증 요청에 대해 응답하지 않을 수 있으며, 따라서 네트워크(225) 내의 원하는 호스트에 접속하지 않을 수 있다.
그렇지만, 본 발명은 방화벽(210)이 단방향 방식으로 클라이언트(200)의 신뢰를 획득할 수 있도록 해준다. 예를 들어, 예시적인 실시예는 방화벽(210)과 네트워크(225) 내의 원하는 호스트가 신뢰 관계를 갖는 것으로 규정한다. 그 자체로서, 방화벽(210)은 원하는 호스트의 비밀키로의 액세스가 허용되어 있거나 네트워크(225) 내의 원하는 호스트가 방화벽(210)을 대신하여 그의 비밀키를 사용하거나 한다. 따라서, 방화벽(210)이 클라이언트(200)의 신원 정보를 요청할 때, 방화벽(210)이 네트워크(225) 내의 원하는 호스트에 의해 신뢰되고 있는 것임을 나타내기 위해 방화벽(210)은 네트워크(225) 내의 원하는 호스트의 비밀키로 암호화된 메시지 또는 네트워크 주소를 포함할 수 있다. 클라이언트(200)가 네트워크(225) 내의 원하는 호스트의 공개키로 그 메시지를 복호화할 수 있는 경우, 클라이언트(200)는 그 메시지가 원하는 호스트 또는 서버의 비밀키로 암호화되었음을 알게 되고, 따라서 방화벽(210)이 네트워크(225) 내의 원하는 호스트에 의해 신뢰되고 있음을 추정할 수 있다.
클라이언트(200)는 또한 단방향 인증 프로세스를 사용하는 경우 여러가지 유리한 이유들로 인해 인증된 공개키/네트워크 주소 조합의 캐시를 생성 및 유지할 수 있다. 예를 들어, 캐시가 설치되어 있는 경우, 클라이언트(200)는 그 캐시를 사용하여 착신 메시지, 특히 공개키없이 도달하는 메시지를 인증할 수 있다. 그렇지만, 공개키를 포함하는 메시지에 대해서는, 처음에는 캐시가 수신자의 프로세싱 부하를 감축하지 않는 것처럼 보일 수 있는데 왜냐하면 이들 메시지의 경우 상기한 절차가 여전히 수행되어야만 하기 때문이다. 그러한 경우가 종종 있긴 하지만, 예외가 캐시를 아주 귀중하게 만들어준다. 전술한 바와 같이, 수신자는 그 수신자가 쓸모없는 착신 메시지로 넘쳐나게 되는 것인 DoS 공격의 목표가 될 수 있다. 이것을 막기 위해 캐시가 사용될 수 있다. 착신 메시지의 개수가 수신자가 편안하게 처리할 수 있는 개수를 초과하는 경우, 그 수신자는 간단한 절차에 따라 착신 메시지들을 처리한다. 예를 들어, 메시지의 공개키 및 네트워크 주소는 이미 캐시에 있는 공개키/네트워크 주소 조합과 비교될 수 있다. 매칭되는 것이 발견되지 않는 경우, 그 메시지는 폐기된다. 매칭되는 것이 발견된 경우, 그 메시지는 전술한 전체 인증 절차를 밟게 된다. DoS 공격 동안, 이 절차는 쓸모없는 메시지에 대해 고비용의 복호화 시간을 낭비하지 않고 그 메시지를 필터링하여 제거하고 따라서 수신자가 유효한 착신 메시지를 보존할 수 있게 해준다. 물론, 이 절차는 공개키와 네트워크 주소가 이미 캐시에 있는 메시지를 복호화할 뿐이다. 이 절차는 수신자가 유효하지만 이전에 본 적이 없는 공개키 및 네트워크 주소를 갖는 착신 메시지를 인정하도록 해주지는 않는다. 그것이 클라이언트가 DoS 공격의 진행 동안 자발적으로 행할 수 있는 절충이다. 수신자가 DoS 공격에 성공적으로 버텨낸 경우, 수신자는 더욱 완벽한 절차로 되돌아간다.
클라이언트(200)가 방화벽(210)에게 신원 정보를 제공한 후에, 방화벽(210)은 그 신원 정보를 검증하고 사설망(225)의 서버(240, 245)에 접속하기 위해 클라이언트와 보안 채널(215)을 협상한다. 그 때부터 계속하여, 클라이언트(200)는 사설망(225)의 서버(240, 245)로 보내지는 패킷에 대해 보안 채널(215)을 사용한다. 다른 서버, 예를 들어 서버(250)로 보내지는 다른 데이터 패킷은 먼저 사설망(225)을 통과할 필요없이 인터넷(205)을 통해 서버(250)로 라우팅되어진다.
본 발명의 다른 예시적인 실시예에서, 방화벽(210)은 인증된 채널(220)을 사용하여 데이터 패킷들을 사설망(225)의 서버(240, 245)로 포워딩하며, 이것은 서버에게 클라이언트가 방화벽에서 실시되는 보안 검사를 통과했음을 알려준다. 인증된 채널(220)은 특히 클라이언트(200)가 사설망(225)에 접속하도록 허가되어 있음 을 알려주는, 예를 들면 방화벽(210)에 의해 인증된 서명된 데이터를 포함할 수 있다.
본 발명의 또다른 예시적인 대체 실시예에서, 방화벽은 내포되어 있거나 네트워크(225)로의 경로에 있는 몇개의 방화벽(211, 212) 중 하나일 수 있다. 각각의 방화벽(211, 212)은 사설망(225)의 보안 측면을 관리하는 체크포인트(checkpoint)로서 기능한다.
당업자라면 잘 알고 있는 바와 같이, 일반적으로 방화벽은 서비스 거부 공격을 피하기 위해 사용자에게 신원 정보를 제공하도록 챌린지하지 않으며, 이러한 챌린지는 방화벽으로 하여금 과부하에 걸리도록 하며 사설망에 접속하려고 시도하는 모든 사용자에게 서비스를 거부하게 된다. 본 발명의 예시적인 실시예들에 따르면, 이 문제는 방화벽(210)이 미서명된 패킷을 전송함으로써 클라이언트(200)에게 챌린지하고 또 사설망(225)으로의 접속을 허용하기 전에 클라이언트(200)로 하여금 암호화 또는 기타 프로세싱을 수행하도록 함으로써 해결될 수 있다. 당업자라면 잘 알고 있는 바와 같이, 이 프로세스는 퍼즐 방어(puzzle defense)라고 알려져 있다. 방화벽(210)은 사설망(225)으로의 접속을 승인하기 전에 클라이언트(200)에게 퍼즐을 풀도록 요청함으로써 이 프로세싱 (또는 다른) 부담을 클라이언트(200)에게 전가한다.
도 3은 클라이언트(300)가 어떻게 방화벽(335)을 통해 서버(340)로 라우팅되는지의 예시적인 실시예를 나타낸 것이다. 당업자라면 잘 알고 있는 바와 같이, 도메인 이름, 예를 들어 www.company.com은 클라이언트(300)를 방화벽(335)으로 라 우팅하는 데 사용될 수 있다. 클라이언트(300)는 적어도 하나의 DNS(domain name system, 도메인 네임 시스템) 서버를 알고 있는 ISP(Internet Service Provider, 인터넷 서비스 제공업체)를 통해 인터넷(310)에 연결되어 있다. 클라이언트(300)가 http://www.company.com으로의 연결을 요청하는 그의 브라우저를 개시할 때, 클라이언트(300)는 DNS 서버(305)에 대해 http://www.company.com의 특정의 IP 주소에 대한 정보를 요청할 수 있다. DNS 서버(305)가 www.company.com의 특정의 IP 주소를 알고 있는 경우, 그 서버는 이 정보를 클라이언트(300)에 제공할 수 있다. 이어서, 클라이언트(300)는 그 데이터를 특정의 IP 주소의 정보와 함께 그의 ISP(315)로 전송하고, 이 ISP(315)는 이어서 그 데이터를 서버(340)에 도달하기 위한 라우팅 데이터베이스와 함께 ISP(320, 330) 등의 하나 이상의 다른 ISP로 포워딩한다. 서버(340)로 가는 도중에, 데이터는 방화벽(335)을 통과한다. DNS 정보가 http://www.company.com에 대한 트래픽을 방화벽(335)으로 보낸다는 것에 유의해야 한다. 따라서, 클라이언트는 방화벽(335) 또는 서버(340)에 대해 구체적으로 알 필요가 없고 도메인 이름만 필요로 할 뿐이다.
방화벽(335)은 이제 신원 정보를 위해 클라이언트(300)에 챌린지하게 된다. 이 챌린지는 방화벽이 클라이언트(300)의 서버(340)에의 접속 요청에 응답하지 않는 형태일 수 있다. 그 자체로서, 클라이언트(300)는 보안 서버(340)에 접속하기 위해서는 클라이언트(300)가 신원 정보를 전송할 필요가 있음을 알게 된다.
본 발명은 또한 기능적 단계(functional step) 및/또는 비기능적 단계(non-functional step)를 포함하는 방법의 관점에서 기술될 수 있다. 이하는 본 발명을 실시함에 있어서 수행될 수 있는 동작 및 단계에 대한 기술이다. 통상, 기능적 단계는 본 발명을 달성되는 결과의 관점에서 기술하는 반면, 비기능적 동작은 특정의 결과를 달성하기 위한 보다 구체적인 행동을 기술한다. 기능적 단계 및 비기능적 단계가 특정의 순서로 기술 또는 청구될 수 있지만, 본 발명은 반드시 임의의 특정의 순서나 동작 및/또는 단계의 조합에 한정되는 것은 아니다.
도 4는 서비스 거부 공격에 대해 서로 보호하기 위해 인증 요구를 클라이언트와 방화벽 사이에 분산시키면서 사설망으로의 연결을 설정하는 데 있어서 사용되는 예시적인 단계 및 동작을 나타낸 것이다. 일련의 인증 트랜잭션을 개시하는 단계(400)는 클라이언트로부터의 사설망 자원에의 접속 요청을 수신하는 동작(405)을 포함한다. 일련의 인증 트랜잭션은 사설망 자원으로의 접속을 요청하는 클라이언트와 사설망의 게이트웨이로서 동작하는 방화벽에게 상응하는 프로세싱 부담을 부과하도록 설계되어 있다. 게다가, 클라이언트는 처음에 방화벽이 사설망의 게이트웨이로서 동작하는 것을 알지 못하고 있다. 또한, 각각의 인증 트랜잭션은 클라이언트와 방화벽의 인증이 충분히 검증될 때까지 클라이언트와 방화벽 사이의 신뢰도를 점진적으로 향상시킨다.
일련의 인증 트랜잭션을 개시하는 단계(400)는 또한 일련의 트랜잭션의 하나에 따라 클라이언트에게 인증을 받는 단계(410)를 포함할 수 있다. 또한, 클라이언트에게 인증을 받는 단계(410)는 방화벽을 인증하기 위해 방화벽에 의해 방화벽 신원 정보를 전송하는 단계(415)를 포함할 수 있다. 방화벽 신원 정보를 생성하는 것은 일정 수준의 제한된 방화벽 프로세싱 자원을 소모한다.
개시하는 단계(400)는 또한 신원 정보를 위해 클라이언트에 챌린지하는 단계(420)를 포함할 수 있다. 챌린지하는 단계(420)는 클라이언트 신원 정보를 요청하는 동작(422) 및 클라이언트 신원 정보를 수신하는 동작(424)을 더 포함할 수 있다. 클라이언트 신원 정보의 생성은 규모에 있어서 제한된 방화벽 프로세싱 자원의 소모와 비슷한 일정 수준의 제한된 클라이언트 프로세싱 자원을 소모한다.
마지막으로, 일련의 인증 트랜잭션을 완료할 시에 방화벽을 통한 사설망 자원으로의 클라이언트 접속을 승인하는 단계(440)는 이하의 동작을 포함할 수 있다. 즉, 먼저 클라이언트 신원 정보를 검증하는 동작(442)과, 이어서 클라이언트 신원 정보의 검증에 응답하여 사설망의 사설망 자원에 접속하기 위해 보안 채널을 설정하는 동작(444)과, 그 다음에 사설망 자원으로 보내지는 클라이언트로부터의 데이터를 방화벽을 통해 보안 채널을 사용하여 포워딩하는 동작(446)과, 마지막으로 방화벽에 의해 패킷들에 서명을 하는 동작(448)이 제공된다. 서명된 데이터 패킷들이 클라이언트로부터 사설망 자원으로 보내지며, 이 서명은 클라이언트가 방화벽에서 실시되는 최소 수준의 보안을 통과했음을 나타낸다.
서명하는 동작(448)은 방화벽이 인증된 채널을 사용하여 패킷, 예를 들어 서명된 데이터를 서버로 포워딩할 수 있게 해주며, 이는 서버에 클라이언트가 방화벽에서 실시되는 보안 검사를 통과했음을 알려준다. 동작 448에서 IPSec 인증 헤더(Authentication Header, AH) 기능은 방화벽과 서버 사이에 인증된 터널을 설정하는 방법들 중 하나이다. 게다가, 방화벽은 내포된 것이거나 몇 개의 방화벽 중 하나일 수 있으며, 각각의 방화벽은 사설망의 보안 측면을 관리하는 체크포인트 로서 기능한다. 방화벽은 또한 그의 캐시 메모리를 사용하여 그 방화벽이 최근에 특정 클라이언트의 신원 정보를 검증하였음을 알게 되고 방화벽의 캐시 메모리에 제공된 신원 정보에 기초하여 그 데이터에 서명을 할 수 있다.
본 발명의 범위 내의 실시예들은 또한 컴퓨터 실행가능 명령어 또는 데이터 구조를 담고 있거나 그 위에 저장하고 있는 컴퓨터 판독가능 매체를 포함한다. 이러한 컴퓨터 판독가능 매체는 범용 또는 특수 목적의 컴퓨터에 의해 액세스될 수 있는 임의의 이용가능한 매체일 수 있다. 제한으로서가 아닌 예로서, 이러한 컴퓨터 판독가능 매체는 RAM, ROM, EEPROM, CD-ROM 또는 기타 광학 디스크 저장 장치, 자기 디스크 저장 장치 또는 기타 자기 저장 장치, 또는 원하는 프로그램 코드 수단을 컴퓨터 실행가능 명령어 또는 데이터 구조의 형태로 담거나 저장하는 데 사용될 수 있고 또 범용 또는 특수 목적의 컴퓨터에 의해 액세스될 수 있는 임의의 다른 매체를 포함할 수 있다. 정보가 네트워크 또는 다른 통신 연결(유선, 무선 또는 유선이나 무선의 조합 중 어느 하나)을 통해 컴퓨터로 전송되거나 제공될 때, 컴퓨터는 적절히 그 연결을 컴퓨터 판독가능 매체로 본다. 따라서, 임의의 이러한 연결은 컴퓨터 판독가능 매체라고 해도 무방하다. 상기한 것들의 조합도 컴퓨터 판독가능 매체의 범위 내에 포함되어야 한다. 컴퓨터 실행가능 명령어는 예를 들어 범용 컴퓨터, 특수 목적의 컴퓨터, 또는 특수 목적의 프로세싱 장치로 하여금 어떤 기능 또는 일군의 기능들을 수행하도록 하는 명령어 및 데이터를 포함한다.
도 5 및 이하의 설명은 본 발명이 실시될 수 있는 적합한 컴퓨팅 환경에 대한 간략하고 개괄적인 설명을 제공하기 위한 것이다. 꼭 그럴 필요는 없지만, 본 발명은 네트워크 환경 내의 컴퓨터에 의해 실행되는, 프로그램 모듈 등의 컴퓨터 실행가능 명령어의 일반적인 관점에서 기술될 것이다. 일반적으로, 프로그램 모듈은 특정의 작업을 수행하거나 특정의 추상 데이터 유형을 구현하는 루틴, 프로그램, 오브젝트, 컴포넌트, 데이터 구조 등을 포함한다. 컴퓨터 실행가능 명령어, 관련 데이터 구조, 및 프로그램 모듈은 본 명세서에 기술된 방법들의 단계들을 실행하기 위한 프로그램 코드 수단의 일례를 나타낸다. 이러한 실행가능 명령어 또는 관련 데이터 구조의 특정 시퀀스는 이러한 단계들에 기술되어 있는 기능들을 구현하기 위한 대응하는 동작의 일례를 나타낸 것이다.
당업자라면 본 발명이 퍼스널 컴퓨터, 핸드헬드 장치, 멀티프로세서 시스템, 마이크로프로세서 기반 또는 프로그램가능 가전 제품, 네트워크 PC, 미니컴퓨터, 메인프레임 컴퓨터 등을 비롯한 많은 유형의 컴퓨터 시스템 구성을 갖는 네트워크 컴퓨팅 환경에서 실시될 수 있음을 잘 알 것이다. 본 발명은 또한 작업들이 통신 네트워크를 통해 (유선 링크, 무선 링크에 의해 또는 유선 링크나 무선 링크의 조합에 의해) 연결되어 있는 로컬 및 원격 프로세싱 장치에 의해 수행되는 분산 컴퓨팅 환경에서 실시될 수 있다. 분산 컴퓨팅 환경에서, 프로그램 모듈은 로컬 및 원격 메모리 저장 장치 둘다에 위치될 수 있다.
도 5를 참조하면, 본 발명을 실시하기 위한 예시적인 실시예는 프로세싱 유닛(521), 시스템 메모리(522), 및 시스템 메모리(522)를 포함한 여러가지 시스템 컴포넌트를 프로세싱 유닛(521)에 연결시키는 시스템 버스(523)을 포함하는 종래의 컴퓨터(520) 형태의 범용 컴퓨팅 장치를 포함한다. 시스템 버스(523)는 메모리 버 스나 메모리 콘트롤러, 주변 버스, 및 각종의 버스 구조 중 임의의 것을 사용하는 로컬 버스를 포함한 몇 가지 유형의 버스 구조 중 임의의 것일 수 있다. 시스템 메모리는 ROM(524) 및 RAM(525)을 포함한다. 시동 중과 같은 때에 컴퓨터(520) 내의 구성요소들 사이에서의 정보의 전송을 돕는 기본 루틴을 포함하는 BIOS(기본 입출력 시스템)(526)는 ROM(524)에 저장될 수 있다.
컴퓨터(520)는 또한 자기 하드 디스크(539)로부터 판독하고 그에 기록하기 위한 자기 하드 디스크 드라이브(527), 분리형 자기 디스크(529)로부터 판독하거나 그에 기록하기 위한 자기 디스크 드라이브(528), 및 CD-ROM이나 다른 광학 매체 등의 분리형 광학 디스크(531)로부터 판독하거나 그에 기록하기 위한 광학 디스크 드라이브(530)를 포함할 수 있다. 자기 하드 디스크 드라이브(527), 자기 디스크 드라이브(528), 및 광학 디스크 드라이브(530)는 각각 하드 디스크 드라이브 인터페이스(532), 자기 디스크 드라이브 인터페이스(533), 및 광학 드라이브 인터페이스(534)에 의해 시스템 버스(523)에 연결되어 있다. 이들 드라이브 및 그의 관련 컴퓨터 판독가능 매체는 컴퓨터 실행가능 명령어, 데이터 구조, 프로그램 모듈 및 컴퓨터(520)의 기타 데이터의 비휘발성 저장을 제공한다. 본 명세서에 기술되어 있는 예시적인 환경이 자기 하드 디스크(539), 분리형 자기 디스크(529) 및 분리형 광학 디스크(531)를 사용하고 있지만, 자기 카세트, 플래쉬 메모리 카드, DVD, 베르누이 카트리지, RAM, ROM 등을 비롯한 데이터를 저장하기 위한 기타 유형의 컴퓨터 판독가능 매체가 사용될 수 있다.
오퍼레이팅 시스템(535), 하나 이상의 애플리케이션 프로그램(536), 기타 프 로그램 모듈(537) 및 프로그램 데이터(538)를 비롯한 하나 이상의 프로그램 모듈을 포함하는 프로그램 코드 수단은 하드 디스크(539), 자기 디스크(529), 광학 디스크(531), ROM(524) 또는 RAM(525) 상에 저장될 수 있다. 클라이언트는 키보드(540), 포인팅 장치(542), 또는 마이크로폰, 조이스틱, 게임 패드, 위성 안테나, 스캐너 등과 같은 기타 입력 장치(도시 생략)를 통해 컴퓨터(520)에 명령 및 정보를 입력할 수 있다. 이들 및 다른 입력 장치는 종종 시스템 버스(523)에 연결되어 있는 직렬 포트 인터페이스(546)를 통해 프로세싱 유닛(521)에 연결되어 있다. 다른 대안에서, 입력 장치들은 병렬 포트, 게임 포트, 또는 USB(universal serial bus, 범용 직렬 버스) 등의 기타 인터페이스에 의해 연결될 수 있다. 모니터(547) 또는 또다른 디스플레이 장치도 비디오 어댑터(548) 등의 인터페이스를 통해 시스템 버스(523)에 연결되어 있다. 모니터 이외에, 퍼스널 컴퓨터는 일반적으로 스피커 및 프린터 등의 다른 주변 출력 장치(도시 생략)를 포함하고 있다.
컴퓨터(520)는 원격 컴퓨터(549a, 549b) 등의 하나 이상의 원격 컴퓨터들로의 논리적 연결을 사용하여 네트워크 환경에서 동작할 수 있다. 원격 컴퓨터(549a, 549b)는 각각 또하나의 퍼스널 컴퓨터, 서버, 라우터, 네트워크 PC, 피어 장치 또는 기타 통상의 네트워크 노드일 수 있으며, 비록 도 5에는 메모리 저장 장치(550a, 550b) 및 그의 관련 애플리케이션 프로그램(536a, 536b)만이 도시되어 있지만, 일반적으로 컴퓨터(520)와 관련하여 상기한 구성요소들의 대부분 또는 그 전부를 포함할 수 있다. 도 5에 도시된 논리적 연결은 제한으로서가 아닌 일례로서 여기에 제공되어 있는 LAN(551) 및 WAN(552)을 포함한다. 이러한 네트워킹 환경은 사무실 규모 또는 기업 규모의 컴퓨터 네트워크, 인트라넷 및 인터넷에서 통상적인 것이다.
LAN 네트워킹 환경에서 사용되는 경우, 컴퓨터(520)는 네트워크 인터페이스 또는 어댑터(553)를 통해 LAN(551)에 연결된다. WAN 네트워킹 환경에서 사용되는 경우, 컴퓨터(520)는 모뎀(554), 무선 링크, 또는 인터넷 등의 WAN(552)을 통해 통신을 설정하기 위한 기타 수단을 포함할 수 있다. 내장형 또는 외장형일 수 있는 모뎀(554)은 직렬 포트 인터페이스(546)를 통해 시스템 버스(523)에 연결되어 있다. 네트워크 환경에서, 컴퓨터(520)에 대해 도시되어 있는 프로그램 모듈, 또는 그 일부는 원격 메모리 저장 장치에 저장될 수 있다. 도시된 네트워크 연결이 예시적인 것이며 WAN(552)을 통해 통신을 설정하는 다른 수단이 사용될 수 있음을 잘 알 것이다.
방화벽은 인증 신원 정보를 제공하도록 클라이언트에 대한 불필요한 챌린지를 개시함으로써 사설망 내의 서버로의 투과성 게이트웨이로서 기능한다. 클라이언트의 신원 정보를 수신한 후에, 방화벽은 그 인증 신원 정보를 검증하고 서버에 접속하기 위한 보안 채널을 설정한다. 클라이언트로부터 서버로 보내지는 데이터는 방화벽을 통해 보안 채널을 사용하여 포워딩될 수 있다. 방화벽은 서버로 포워딩된 데이터가 방화벽이 인증한 클라이언트로부터 온 것임을 서명하거나 다른 방식으로 표시를 할 수 있다. 방화벽은 또한 클라이언트에게 일정 수준의 인증을 제공할 수 있다. 서버에 연결되어 있는 동안, 클라이언트는 사설망 외부에 있는 다른 서버들과 관련된 데이터가 사설망을 통과하도록 하지 않고 그 다른 서버들에 접속할 수 있다. 방화벽은 그렇지 않은 경우 여러가지 사설망 서버에 접속하기 위해 클라이언트가 보유하고 있어야만 하는 구성 정보를 감소시킨다.
본 발명은 본 발명의 사상 또는 기본적인 특성을 벗어나지 않고 다른 구체적인 형태로 구현될 수 있다. 기술된 실시예들은 모든 점에서 단지 예시적인 것으로 간주되어야 하며 한정적인 것으로 간주되어서는 안된다. 따라서, 본 발명의 범위는 이상의 설명에 의해서가 아니라 첨부된 청구항들에 의해 나타내어진다. 청구항들의 균등물의 의미 및 범위 내에 속하는 모든 변경은 본 발명의 범위 내에 포함되는 것이다.

Claims (51)

  1. 자원과 방화벽을 포함하는 사설망(private network)으로서 상기 방화벽이 클라이언트가 원하는 사설망 자원으로의 접속(access)을 통제함으로써 게이트웨이로서 기능하는 사설망에서, 서비스 거부 공격에 대해 서로 보호하기 위해 인증 프로세싱 요구를 클라이언트와 상기 방화벽 간에 분산(balancing)시키면서 상기 사설망 자원으로의 연결을 설정하는 방법으로서,
    상기 클라이언트로부터, 상기 클라이언트가 상기 사설망 자원에 접속하기 위한 신원 정보(credentials)를 갖고 있다는 어써션(assertion)을 수신하는 단계;
    상기 클라이언트와 상기 방화벽 간의 복수의 인증 트랜잭션을 개시하는 단계 - 상기 복수의 인증 트랜잭션은 클라이언트가 상기 사설망에 대한 서비스 거부 공격을 수행할 가능성(potential)을 완화하기 위해 사설망 자원으로의 접속을 요청하는 상기 클라이언트와 상기 사설망에 대한 게이트웨이로서 동작하는 상기 방화벽에 균형잡힌 처리 부담을 부과하도록 설계되고, 상기 클라이언트는 처음에 상기 방화벽이 상기 사설망에 대한 게이트웨이로서 동작하는 것을 알지 못하고 있으며, 각각의 인증 트랜잭션의 성공적 완료는 상기 클라이언트와 상기 방화벽 사이의 신뢰도를 점진적으로 향상시킴 - ;
    상기 클라이언트와 상기 방화벽 사이의 일련의 복수의 인증 트랜잭션 각각에 대하여, 영 지식 증명(zero-knowledge proof)을 이용하여 신원 정보를 위해 상기 클라이언트에게 챌린지하는 단계 - 상기 영 지식 증명은,
    상기 클라이언트에게 챌린지를 전송하는 단계 - 상기 챌린지에 대한 올바른 답변은, 상기 클라이언트가 어써팅된 신원 정보를 실제로 가지고 있는 경우 상기 클라이언트가 상기 올바른 답변을 생성할 수 있도록 상기 어써팅된 신원 정보로부터 획득가능함 - ,
    상기 클라이언트로부터 상기 챌린지에 대한 답변을 포함한 응답을 수신하는 단계 - 상기 답변은 상기 클라이언트가 신원 정보를 가지고 있으며 상기 클라이언트의 신원 정보가 올바르다는 증명을 포함함 - , 및
    상기 답변이 상기 응답 내에 상기 챌린지에 대한 올바른 답변을 포함하였는지의 여부를 검증하는 단계
    를 포함함 - ; 및
    복수의 올바른 답변에 기초하여, 상기 클라이언트가 실제로 상기 어써팅된 신원 정보를 가지고 있다는 수용가능한 레벨의 확률에 도달할 때, 상기 어써팅된 신원 정보의 처리를 위해 상기 방화벽이 상기 클라이언트에게 상기 방화벽을 통한 상기 사설망 자원으로의 접속을 승인(grant)하는 단계
    를 포함하는, 사설망 자원으로의 연결을 설정하는 방법.
  2. 제1항에 있어서,
    상기 답변은 사용자의 이름, 클라이언트의 IP 주소, 패스워드, 패스포트(passport), 스마트 카드 또는 신용카드 번호 중 적어도 하나에 관련되는, 사설망 자원으로의 연결을 설정하는 방법.
  3. 제1항에 있어서,
    챌린지는 질문이고, 수신된 하나 이상의 클라이언트 신원 정보는 상기 질문에 대한 답변인, 사설망 자원으로의 연결을 설정하는 방법.
  4. 제1항에 있어서,
    상기 승인하는 단계는 상기 방화벽과 상기 사설망 자원 사이에 인증된 채널을 설정하는 단계를 포함하고, 상기 인증된 채널은 상기 방화벽에 의해 서명된 데이터 패킷을 포함하는, 사설망 자원으로의 연결을 설정하는 방법.
  5. 삭제
  6. 제1항에 있어서,
    상기 방화벽과 상기 클라이언트 사이의 보안 채널을 유지하면서 그와 동시에 상기 클라이언트에서 또 다른 사설망 자원과의 연결을 설정하는 단계를 더 포함하는, 사설망 자원으로의 연결을 설정하는 방법.
  7. 제1항에 있어서,
    상기 클라이언트와 상기 방화벽 간의 복수의 인증 트랜잭션을 개시하는 단계는, 대화형 증명 프로토콜(interactive proof protocol)의 일련의 교환을 개시하는 단계를 포함하는, 사설망 자원으로의 연결을 설정하는 방법.
  8. 제1항에 있어서,
    상기 복수의 인증 트랜잭션 각각에 대하여, 상기 클라이언트에게 챌린지를 전송하는 단계는,
    상기 클라이언트로부터 수신된 이전의 응답의 일부분; 및
    복수의 랜덤 질문 - 상기 랜덤 질문에 대한 올바른 답변은 상기 클라이언트가 실제로 상기 어써팅된 신원 정보를 가지고 있는 경우에 상기 클라이언트에 의해 획득가능함 -
    을 포함하는 챌린지를 전송하는 단계를 포함하는, 사설망 자원으로의 연결을 설정하는 방법.
  9. 제1항 내지 제4항 및 제6항 내지 제8항 중 어느 한 항의 방법을 구현하는 컴퓨터 실행가능 명령어를 포함하는 컴퓨터 판독가능 기록 매체.
  10. 서버와 방화벽을 포함하는 사설망으로서 상기 방화벽이 상기 서버로의 접속을 통제함으로써 게이트웨이로서 기능하는 사설망에서, 클라이언트가 상기 방화벽에 관해 알지 못한 채로 상기 방화벽을 통해 상기 서버로 접속하게 하는 방법으로서,
    상기 방화벽에서, 상기 클라이언트가 상기 방화벽이 상기 서버에 대한 게이트웨이로서 동작하는 것을 모르기 때문에, 상기 서버로 보내지는 상기 클라이언트로부터의 접속 요청을 수신하는 단계;
    상기 방화벽에서 상기 서버와 상기 방화벽 사이의 신뢰도를 증명하는 하나 이상의 인증 신원 정보를 생성하는 단계;
    상기 클라이언트와 상기 방화벽 간의 복수의 인증 트랜잭션을 개시하는 단계 - 상기 복수의 인증 트랜잭션은 클라이언트가 상기 사설망에 대한 서비스 거부 공격을 수행할 가능성을 완화하기 위해 사설망 자원으로의 접속을 요청하는 상기 클라이언트와 상기 사설망에 대한 게이트웨이로서 동작하는 상기 방화벽에 균형잡힌 처리 부담을 부과하도록 설계되고, 상기 클라이언트는 처음에 상기 방화벽이 상기 사설망에 대한 게이트웨이로서 동작하는 것을 알지 못하고 있으며, 각각의 인증 트랜잭션의 성공적 완료는 상기 클라이언트와 상기 방화벽 사이의 신뢰도를 점진적으로 향상시킴 - ;
    상기 클라이언트와 상기 방화벽 사이의 복수의 인증 트랜잭션 각각에 대하여, 상기 방화벽이 영 지식 증명을 이용하여 신원 정보를 위해 상기 클라이언트에게 챌린지하는 단계 - 상기 영 지식 증명은,
    상기 방화벽이 상기 클라이언트로 하여금 상기 방화벽에 인증하게 하는 인증 요청을 전송하는 단계 - 상기 요청은, 상기 클라이언트가 별도의 요청을 할 필요없이 상기 서버와 상기 방화벽 사이의 신뢰도를 알도록 상기 하나 이상의 방화벽 인증 신원 정보를 포함하고, 챌린지를 더 포함하며, 상기 챌린지에 대한 올바른 답변은, 상기 클라이언트가 어써팅된 신원 정보를 실제로 가지고 있는 경우 상기 클라이언트가 상기 올바른 답변을 생성할 수 있도록 상기 어써팅된 신원 정보로부터 획득가능함 - ,
    상기 방화벽에서, 상기 클라이언트로부터의 하나 이상의 인증 신원 정보, 및 상기 챌린지에 대한 답변을 포함한 상기 클라이언트로부터의 응답을 수신하는 단계 - 상기 답변은 상기 클라이언트가 신원 정보를 가지고 있으며 상기 클라이언트의 신원 정보가 올바르다는 증명을 포함함 - , 및
    상기 방화벽이 상기 하나 이상의 클라이언트 인증 신원 정보, 및 상기 답변이 상기 응답 내에 상기 챌린지에 대한 올바른 답변을 포함하였는지의 여부를를 검증하는 단계
    를 포함함 - ; 및
    그 후에, 상기 인증 신원 정보의 처리를 위해 상기 클라이언트가 상기 방화벽을 통해 상기 서버에 접속하는 단계
    를 포함하는, 서버로의 접속을 제공하는 방법.
  11. 제10항에 있어서,
    상기 방화벽에서, 상기 방화벽과 상기 서버 사이에 보안 연결을 설정하는 단계; 및
    상기 방화벽에서, 상기 클라이언트로부터 수신된 데이터를 상기 보안 연결을 통해 상기 서버로 포워딩하는 단계
    를 더 포함하는, 서버로의 접속을 제공하는 방법.
  12. 제10항에 있어서,
    상기 방화벽에서 상기 클라이언트로부터 데이터를 수신하는 단계;
    상기 방화벽이 상기 수신된 데이터에 서명을 하는 단계; 및
    상기 방화벽이 상기 서명된 데이터를 상기 서버로 포워딩하는 단계
    를 더 포함하는, 서버로의 접속을 제공하는 방법.
  13. 제10항에 있어서,
    상기 방화벽에서 상기 서버와 상기 방화벽 사이의 신뢰도를 증명하는 하나 이상의 인증 신원 정보를 생성하는 단계는, 상기 방화벽이 상기 서버에 대한 개인 키에 접속하고 상기 개인 키를 이용하여 데이터의 일부분을 암호화하는 단계를 포함하고, 상기 방법은,
    상기 방화벽에서, 상기 인증 요청 내에 상기 암호화된 데이터의 일부분을 포함시키는 단계
    를 더 포함하고,
    상기 암호화된 데이터의 일부분은, 상기 클라이언트가 대응 공개 키를 이용하여 상기 데이터의 일부분을 복호화하고 이에 의해 상기 서버가 상기 방화벽을 신뢰한다는 것을 추론(infer)하도록 상기 클라이언트가 상기 방화벽을 인증하는 데에 사용되기 위한 것인, 서버로의 접속을 제공하는 방법.
  14. 제10항에 있어서,
    상기 방화벽에서 상기 서버와 상기 방화벽 사이의 신뢰도를 증명하는 하나 이상의 인증 신원 정보를 생성하는 단계는, 상기 클라이언트가 더 이상 상기 방화벽을 인증하기 위해 상기 방화벽과 통신할 필요가 없도록 상기 방화벽이 상기 클라이언트와 단방향으로(unilaterally) 인증하는 것을 허가하는 하나 이상의 신원 정보를 생성하는 단계를 포함하는, 서버로의 접속을 제공하는 방법.
  15. 제10항 내지 제14항 중 어느 한 항의 방법을 구현하는 컴퓨터 실행가능 명령어를 포함하는 컴퓨터 판독가능 기록 매체.
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
  31. 삭제
  32. 삭제
  33. 삭제
  34. 삭제
  35. 삭제
  36. 삭제
  37. 삭제
  38. 삭제
  39. 삭제
  40. 삭제
  41. 삭제
  42. 삭제
  43. 삭제
  44. 삭제
  45. 삭제
  46. 삭제
  47. 삭제
  48. 삭제
  49. 삭제
  50. 삭제
  51. 삭제
KR1020040049692A 2003-06-30 2004-06-29 사설망 자원으로의 연결을 설정하는 방법 및 컴퓨터 판독가능 기록 매체 KR101076848B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/611,832 2003-06-30
US10/611,832 US7305705B2 (en) 2003-06-30 2003-06-30 Reducing network configuration complexity with transparent virtual private networks

Publications (2)

Publication Number Publication Date
KR20050002632A KR20050002632A (ko) 2005-01-07
KR101076848B1 true KR101076848B1 (ko) 2011-10-25

Family

ID=33435444

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040049692A KR101076848B1 (ko) 2003-06-30 2004-06-29 사설망 자원으로의 연결을 설정하는 방법 및 컴퓨터 판독가능 기록 매체

Country Status (7)

Country Link
US (1) US7305705B2 (ko)
EP (1) EP1494420B1 (ko)
JP (1) JP4558389B2 (ko)
KR (1) KR101076848B1 (ko)
CN (1) CN1578218B (ko)
AT (1) ATE476044T1 (ko)
DE (1) DE602004028316D1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101997847B1 (ko) 2018-04-26 2019-07-08 (주)티에스이 냉각제를 이용한 반도체소자 테스트용 인터페이스 보드
KR102015395B1 (ko) 2018-05-15 2019-08-28 (주)티에스이 반도체소자 테스트용 인터페이스 보드

Families Citing this family (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030115480A1 (en) * 2001-12-17 2003-06-19 Worldcom, Inc. System, method and apparatus that employ virtual private networks to resist IP QoS denial of service attacks
US8200577B2 (en) * 2001-03-20 2012-06-12 Verizon Business Global Llc Systems and methods for retrieving and modifying data records for rating and billing purposes
US8239917B2 (en) * 2002-10-16 2012-08-07 Enterprise Information Management, Inc. Systems and methods for enterprise security with collaborative peer to peer architecture
US7840806B2 (en) * 2002-10-16 2010-11-23 Enterprise Information Management, Inc. System and method of non-centralized zero knowledge authentication for a computer network
GB2414627A (en) * 2004-05-27 2005-11-30 Hewlett Packard Development Co Network administration
US7594259B1 (en) * 2004-09-15 2009-09-22 Nortel Networks Limited Method and system for enabling firewall traversal
US8250214B2 (en) * 2004-12-20 2012-08-21 Vmware, Inc. System, method and computer program product for communicating with a private network
US8261341B2 (en) * 2005-01-27 2012-09-04 Nokia Corporation UPnP VPN gateway configuration service
US20060235973A1 (en) * 2005-04-14 2006-10-19 Alcatel Network services infrastructure systems and methods
US8132005B2 (en) * 2005-07-07 2012-03-06 Nokia Corporation Establishment of a trusted relationship between unknown communication parties
US8166538B2 (en) * 2005-07-08 2012-04-24 Microsoft Corporation Unified architecture for remote network access
US20070033646A1 (en) * 2005-08-05 2007-02-08 Sierra Wireless, Inc. A Canadian Corp. Suspension and resumption of secure data connection session
US8874477B2 (en) 2005-10-04 2014-10-28 Steven Mark Hoffberg Multifactorial optimization system and method
CA2632235A1 (en) 2005-12-02 2007-06-07 Citrix Systems, Inc. Method and apparatus for providing authentication credentials from a proxy server to a virtualized computing environment to access a remote resource
US7614080B2 (en) * 2005-12-28 2009-11-03 Panasonic Electric Works Co., Ltd. Systems and methods for providing secure access to embedded devices using a trust manager and a security broker
KR100828372B1 (ko) * 2005-12-29 2008-05-08 삼성전자주식회사 서비스 거부 공격으로부터 서버를 보호하는 방법 및 장치
US9497423B2 (en) * 2006-02-06 2016-11-15 Koninklijke Philips N.V. USB-enabled audio-video switch
US9781162B2 (en) * 2006-02-15 2017-10-03 International Business Machines Corporation Predictive generation of a security network protocol configuration
US8356171B2 (en) * 2006-04-26 2013-01-15 Cisco Technology, Inc. System and method for implementing fast reauthentication
US8451806B2 (en) * 2006-08-21 2013-05-28 Citrix Sysrems, Inc. Systems and methods for pinging a user's intranet IP address
US8213393B2 (en) 2006-08-21 2012-07-03 Citrix Systems, Inc. Methods for associating an IP address to a user via an appliance
US8418243B2 (en) * 2006-08-21 2013-04-09 Citrix Systems, Inc. Systems and methods of providing an intranet internet protocol address to a client on a virtual private network
US7788513B2 (en) 2006-08-29 2010-08-31 Hewlett-Packard Development Company, L.P. Method of reducing power consumption of a computing system by evacuating selective platform memory components thereof
GB0623101D0 (en) 2006-11-20 2006-12-27 British Telecomm Secure network architecture
US9009327B2 (en) * 2007-08-03 2015-04-14 Citrix Systems, Inc. Systems and methods for providing IIP address stickiness in an SSL VPN session failover environment
US8676998B2 (en) * 2007-11-29 2014-03-18 Red Hat, Inc. Reverse network authentication for nonstandard threat profiles
CN101222456A (zh) * 2008-01-28 2008-07-16 陈勇 网络安全网关产品共享的方法
KR101022508B1 (ko) * 2009-03-30 2011-03-16 플러스기술주식회사 서비스 거부 공격 및 분산 서비스 공격 차단 시스템
US20100325424A1 (en) * 2009-06-19 2010-12-23 Etchegoyen Craig S System and Method for Secured Communications
US10721269B1 (en) * 2009-11-06 2020-07-21 F5 Networks, Inc. Methods and system for returning requests with javascript for clients before passing a request to a server
CN102131189B (zh) * 2010-12-28 2014-11-12 中国电信股份有限公司 采集仪、移动监管方法和系统
CN102404334A (zh) * 2011-12-07 2012-04-04 山石网科通信技术(北京)有限公司 拒绝服务攻击防护方法及装置
CN102611700B (zh) * 2012-02-24 2015-04-22 汉柏科技有限公司 一种在透明模式下实现vpn接入的方法
WO2014150567A1 (en) 2013-03-15 2014-09-25 Asguard Networks, Inc. Industrial network security
CN104378327B (zh) * 2013-08-12 2018-12-28 深圳市腾讯计算机系统有限公司 网络攻击防护方法、装置及系统
US9729580B2 (en) 2014-07-30 2017-08-08 Tempered Networks, Inc. Performing actions via devices that establish a secure, private network
US9148408B1 (en) 2014-10-06 2015-09-29 Cryptzone North America, Inc. Systems and methods for protecting network devices
US9300635B1 (en) 2015-06-15 2016-03-29 Tempered Networks, Inc. Overlay network with position independent insertion and tap points
WO2017007705A1 (en) 2015-07-06 2017-01-12 Shape Security, Inc. Asymmetrical challenges for web security
CN106357590A (zh) * 2015-07-15 2017-01-25 艾默生网络能源系统北美公司 一种网络协议转换系统、网络协议转换器及其转换方法
US10003466B1 (en) * 2015-09-15 2018-06-19 Amazon Technologies, Inc. Network traffic with credential signatures
US10412048B2 (en) 2016-02-08 2019-09-10 Cryptzone North America, Inc. Protecting network devices by a firewall
US9628444B1 (en) 2016-02-08 2017-04-18 Cryptzone North America, Inc. Protecting network devices by a firewall
US9560015B1 (en) 2016-04-12 2017-01-31 Cryptzone North America, Inc. Systems and methods for protecting network devices by a firewall
US9729581B1 (en) 2016-07-01 2017-08-08 Tempered Networks, Inc. Horizontal switch scalability via load balancing
KR102510868B1 (ko) * 2016-07-07 2023-03-16 삼성에스디에스 주식회사 클라이언트 시스템 인증 방법, 클라이언트 장치 및 인증 서버
US10630507B2 (en) * 2016-11-29 2020-04-21 Ale International System for and method of establishing a connection between a first electronic device and a second electronic device
CN108322366B (zh) * 2017-01-17 2021-10-01 阿里巴巴集团控股有限公司 接入网络的方法、装置和系统
JP7148947B2 (ja) * 2017-06-07 2022-10-06 コネクトフリー株式会社 ネットワークシステムおよび情報処理装置
CN107465752B (zh) * 2017-08-22 2021-02-05 苏州浪潮智能科技有限公司 一种连接管理方法及装置
US10069726B1 (en) 2018-03-16 2018-09-04 Tempered Networks, Inc. Overlay network identity-based relay
US10116539B1 (en) 2018-05-23 2018-10-30 Tempered Networks, Inc. Multi-link network gateway with monitoring and dynamic failover
US10158545B1 (en) 2018-05-31 2018-12-18 Tempered Networks, Inc. Monitoring overlay networks
JP7467865B2 (ja) 2019-10-01 2024-04-16 株式会社リコー 情報処理システムおよび情報処理方法
US10911418B1 (en) 2020-06-26 2021-02-02 Tempered Networks, Inc. Port level policy isolation in overlay networks
US11070594B1 (en) 2020-10-16 2021-07-20 Tempered Networks, Inc. Applying overlay network policy based on users
US10999154B1 (en) 2020-10-23 2021-05-04 Tempered Networks, Inc. Relay node management for overlay networks
WO2023000248A1 (en) * 2021-07-22 2023-01-26 Huawei Technologies Co., Ltd. Authentication methods using zero-knowledge proof algorithms for user equipments and nodes implementing the authentication methods

Family Cites Families (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2700430B1 (fr) 1992-12-30 1995-02-10 Jacques Stern Procédé d'authentification d'au moins un dispositif d'identification par un dispositif de vérification et dispositif pour sa mise en Óoeuvre.
WO1997000471A2 (en) 1993-12-15 1997-01-03 Check Point Software Technologies Ltd. A system for securing the flow of and selectively modifying packets in a computer network
US5835726A (en) * 1993-12-15 1998-11-10 Check Point Software Technologies Ltd. System for securing the flow of and selectively modifying packets in a computer network
US5511122A (en) * 1994-06-03 1996-04-23 The United States Of America As Represented By The Secretary Of The Navy Intermediate network authentication
US6631435B1 (en) * 1996-02-02 2003-10-07 Sony Corporation Application programming interface for data transfer and bus management over a bus structure
US5983350A (en) * 1996-09-18 1999-11-09 Secure Computing Corporation Secure firewall supporting different levels of authentication based on address or encryption status
US6009475A (en) * 1996-12-23 1999-12-28 International Business Machines Corporation Filter rule validation and administration for firewalls
WO1998052115A1 (en) * 1997-05-13 1998-11-19 Passlogix, Inc. Generalized user identification and authentication system
JP3655437B2 (ja) * 1997-07-10 2005-06-02 日本電信電話株式会社 個人識別方法、セキュリティ・システム本体装置および個人識別プログラムを格納した記録媒体
US6230271B1 (en) * 1998-01-20 2001-05-08 Pilot Network Services, Inc. Dynamic policy-based apparatus for wide-range configurable network service authentication and access control using a fixed-path hardware configuration
US6141755A (en) * 1998-04-13 2000-10-31 The United States Of America As Represented By The Director Of The National Security Agency Firewall security apparatus for high-speed circuit switched networks
US6317838B1 (en) * 1998-04-29 2001-11-13 Bull S.A. Method and architecture to provide a secured remote access to private resources
JPH11328118A (ja) * 1998-05-19 1999-11-30 Hitachi Ltd ユーザ認証方法および記録媒体
US6615358B1 (en) * 1998-08-07 2003-09-02 Patrick W. Dowd Firewall for processing connection-oriented and connectionless datagrams over a connection-oriented network
US6502135B1 (en) * 1998-10-30 2002-12-31 Science Applications International Corporation Agile network protocol for secure communications with assured system availability
US7010604B1 (en) * 1998-10-30 2006-03-07 Science Applications International Corporation Agile network protocol for secure communications with assured system availability
US7051365B1 (en) * 1999-06-30 2006-05-23 At&T Corp. Method and apparatus for a distributed firewall
US7058817B1 (en) * 1999-07-02 2006-06-06 The Chase Manhattan Bank System and method for single sign on process for websites with multiple applications and services
US6473863B1 (en) 1999-10-28 2002-10-29 International Business Machines Corporation Automatic virtual private network internet snoop avoider
US6496935B1 (en) * 2000-03-02 2002-12-17 Check Point Software Technologies Ltd System, device and method for rapid packet filtering and processing
US6898710B1 (en) * 2000-06-09 2005-05-24 Northop Grumman Corporation System and method for secure legacy enclaves in a public key infrastructure
US6938157B2 (en) * 2000-08-18 2005-08-30 Jonathan C. Kaplan Distributed information system and protocol for affixing electronic signatures and authenticating documents
JP2002183008A (ja) * 2000-12-11 2002-06-28 Sekisui House Ltd 認証装置、ファイアウォール、端末、サーバー、認証方法及び記憶媒体
US6883095B2 (en) * 2000-12-19 2005-04-19 Singlesigon. Net Inc. System and method for password throttling
US7124189B2 (en) 2000-12-20 2006-10-17 Intellisync Corporation Spontaneous virtual private network between portable device and enterprise network
US6931529B2 (en) * 2001-01-05 2005-08-16 International Business Machines Corporation Establishing consistent, end-to-end protection for a user datagram
US6959336B2 (en) * 2001-04-07 2005-10-25 Secure Data In Motion, Inc. Method and system of federated authentication service for interacting between agent and client and communicating with other components of the system to choose an appropriate mechanism for the subject from among the plurality of authentication mechanisms wherein the subject is selected from humans, client applications and applets
US7020645B2 (en) * 2001-04-19 2006-03-28 Eoriginal, Inc. Systems and methods for state-less authentication
JP3724564B2 (ja) * 2001-05-30 2005-12-07 日本電気株式会社 認証システム及び認証方法並びに認証用プログラム
US7216173B2 (en) * 2001-06-12 2007-05-08 Varian Medical Systems Technologies, Inc. Virtual private network software system
US6834795B1 (en) * 2001-06-29 2004-12-28 Sun Microsystems, Inc. Secure user authentication to computing resource via smart card
JP2003030063A (ja) * 2001-07-16 2003-01-31 Mitsubishi Electric Corp Oa管理システム及びoa管理方法
US7827278B2 (en) * 2001-07-23 2010-11-02 At&T Intellectual Property Ii, L.P. System for automated connection to virtual private networks related applications
US20030046586A1 (en) * 2001-09-05 2003-03-06 Satyam Bheemarasetti Secure remote access to data between peers
US20030046587A1 (en) * 2001-09-05 2003-03-06 Satyam Bheemarasetti Secure remote access using enterprise peer networks
CN1268088C (zh) * 2001-11-29 2006-08-02 东南大学 基于pki的vpn密钥交换的实现方法
EP1339199A1 (en) * 2002-02-22 2003-08-27 Hewlett-Packard Company Dynamic user authentication
US20030177390A1 (en) * 2002-03-15 2003-09-18 Rakesh Radhakrishnan Securing applications based on application infrastructure security techniques
US7143174B2 (en) * 2002-06-12 2006-11-28 The Jpmorgan Chase Bank, N.A. Method and system for delayed cookie transmission in a client-server architecture
US6954862B2 (en) * 2002-08-27 2005-10-11 Michael Lawrence Serpa System and method for user authentication with enhanced passwords
US7644433B2 (en) * 2002-12-23 2010-01-05 Authernative, Inc. Authentication system and method based upon random partial pattern recognition
US7073067B2 (en) * 2003-05-07 2006-07-04 Authernative, Inc. Authentication system and method based upon random partial digitized path recognition

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101997847B1 (ko) 2018-04-26 2019-07-08 (주)티에스이 냉각제를 이용한 반도체소자 테스트용 인터페이스 보드
KR102015395B1 (ko) 2018-05-15 2019-08-28 (주)티에스이 반도체소자 테스트용 인터페이스 보드

Also Published As

Publication number Publication date
DE602004028316D1 (de) 2010-09-09
EP1494420A2 (en) 2005-01-05
JP2005027312A (ja) 2005-01-27
EP1494420A3 (en) 2006-06-07
ATE476044T1 (de) 2010-08-15
CN1578218A (zh) 2005-02-09
US7305705B2 (en) 2007-12-04
CN1578218B (zh) 2010-12-08
KR20050002632A (ko) 2005-01-07
EP1494420B1 (en) 2010-07-28
US20040268121A1 (en) 2004-12-30
JP4558389B2 (ja) 2010-10-06

Similar Documents

Publication Publication Date Title
KR101076848B1 (ko) 사설망 자원으로의 연결을 설정하는 방법 및 컴퓨터 판독가능 기록 매체
US11870809B2 (en) Systems and methods for reducing the number of open ports on a host computer
Rescorla et al. Guidelines for writing RFC text on security considerations
US8549300B1 (en) Virtual single sign-on for certificate-protected resources
EP2632108B1 (en) Method and system for secure communication
US6804777B2 (en) System and method for application-level virtual private network
US20160072787A1 (en) Method for creating secure subnetworks on a general purpose network
US20030217148A1 (en) Method and apparatus for LAN authentication on switch
US20210144015A1 (en) Accessing hosts in a computer network
EP3328023B1 (en) Authentication of users in a computer network
US20180115520A1 (en) Dark virtual private networks and secure services
EP3328025B1 (en) Accessing hosts in a hybrid computer network
Joshi Network security: know it all
Zave et al. Patterns and interactions in network security
Boncella Web security for e-commerce
Rescorla et al. RFC3552: Guidelines for Writing RFC Text on Security Considerations
Das et al. QoS web service Security Access Control case study using HTTP Secured Socket Layer Approach
Safford et al. Texas A&M University Anarchistic Key Authorization (AKA).
Aura et al. Communications security on the Internet
Zave et al. 1 Security provided by endpoints
Fink E-Commerce Security
Morgan et al. Secure Web Access in an Environment of Mutual Distrust
Swami Design of IPsec and IKE version 1 and 2
Vacca Providing Wireless Network Security Solutions for ISP Intranet, Internet and E-Commerce
Schafer Introduction to Network Security

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
LAPS Lapse due to unpaid annual fee