KR20070087165A - 클라이언트 이용 방화벽 설정 - Google Patents

클라이언트 이용 방화벽 설정 Download PDF

Info

Publication number
KR20070087165A
KR20070087165A KR1020077016549A KR20077016549A KR20070087165A KR 20070087165 A KR20070087165 A KR 20070087165A KR 1020077016549 A KR1020077016549 A KR 1020077016549A KR 20077016549 A KR20077016549 A KR 20077016549A KR 20070087165 A KR20070087165 A KR 20070087165A
Authority
KR
South Korea
Prior art keywords
firewall
socket
passive
open
flows
Prior art date
Application number
KR1020077016549A
Other languages
English (en)
Other versions
KR100899903B1 (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 KR20070087165A publication Critical patent/KR20070087165A/ko
Application granted granted Critical
Publication of KR100899903B1 publication Critical patent/KR100899903B1/ko

Links

Images

Classifications

    • 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
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • 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/0227Filtering policies
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/04Protocols specially adapted for terminals or networks with limited capabilities; specially adapted for terminal portability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Landscapes

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

Abstract

실시예들은 방화벽(firewall)을 설정하는 것 및/또는 네트워크 트래픽을 감소시키는 것과 관련된 기술들을 제시한다. 일 실시예에 따르면 방화벽을 설정하여 불필요한 네트워크 트래픽을 감소시키기 위한 방법이 제시된다. 상기 방법은 웹-서버를 실행하는 단계 및 수동 소켓(passive socket)이 생성되었는지를 검출하는 단계를 포함한다. 또한 상기 방법은 방화벽과 통신을 설정하는 단계 및 상기 수동 소켓으로 향하는 플로우(flow)들을 허용하도록 상기 방화벽에 요청하는 단계를 포함한다. 일부 실시예에 따르면, 상기 방법은 상기 웹-서버를 폐쇄하는 단계 및 상기 수동 소켓을 파기하는 단계를 포함할 수 있다. 상기 방화벽은 상기 파기된 수동 소켓 정보를 수신할 수 있으며 상기 파기된 수동 소켓으로 향하는 플로우들을 거부하는 요청이 전송될 수 있다. 상기 수동 소켓이 폐쇄되어 있으면, 상기 방법은 상기 수동 소켓으로 향하는 플로우들을 허용하도록 하는 상기 방화벽에 대한 요청을 자동으로 철회할 수 있다.

Description

클라이언트 이용 방화벽 설정{CLIENT ASSISTED FIREWALL CONFIGURATION}
이하의 기술내용은 일반적으로 데이터 통신 그리고 더 상세하게는 방화벽(firewall) 설정 및 네트워크 트래픽 감소에 관련된다.
방화벽들은 네트워크를 인가받지 않은 액세스 및 악의적 공격들로부터 보호하는 보안 장치들이다. 그러한 미인가 액세스는 기밀 정보를 얻거나 또는 네트워크의 기능을 붕괴시키기 위한 것일 수 있다. 전통적인 방화벽은 네트워크를 방화벽 뒤에 있는 내부, 그리고 방화벽의 외부에 위치하는 외부의 두 부분으로 분리한다. 미인가 액세스에 대하여 보호하기 위해, 방화벽들은 패킷들와 세션(session)들을 검열하고 그러한 패킷들 및 세션이 지향하는 목적지로 전송되어야 할 것인지 또는 이들이 봉쇄되거나 탈락되어야 할 것인지를 결정할 수 있다.
상기 방화벽은 일반적으로 입구 지점에 위치하며 인입 트래픽을 미리 결정된 기준에 비교함으로써 상기 트래픽을 조사한다. 상기 미리 결정된 기준에 부합하지 않는 트래픽은 봉쇄되거나 버려진다. 미리 결정된 기준은 포트 번호(port number), 애플리케이션 ID들, 소스(source), 목적지(destination), 컨텐트 필터(content filter)들, IP 주소, 머신 네임(machine name)들, 그리고 TCP/IP 플래그(flag)들과 같은 파라미터들과 함께, 용인될 수 있는 복잡도와 요구되는 보호의 정도에 따른 다른 파라미터들을 포함할 수 있다. 어느 패킷을 통과 또는 거부할 것인지를 결정하기 위해 매칭(match)되어야 하는 파라미터들의 수는 보호의 입도(粒度, granularity)를 정한다. 굵은 입도를 갖는 방화벽은 비의도적으로 원하는 인입 트래픽을 봉쇄할 수 있는데 이는 그러한 트래픽이 원하지 않았던 것이기 때문이며, 한편으로 요구되지 않는 트래픽에 대한 보호를 하기에는 부적절할 수 있다.
보안 정책은 중심점에서 네트워크 관리자에 의해 정의되고 그리고/또는 실시될 수 있다. 다른 사용자들이 다른 네트워크 액세스 선호 및 필요성을 가질 수 있을지라도 사용자들은 어느 트래픽이 그들의 단말들에 대해 이네이블(enable) 및/또는 디스에이블(disable) 될 것인지를 선택할 수 없을 것이다. 다른 사용자들은 다른 종류의 트래픽 플로우(flow)들에 관여하기를 원할 수 있다. 이러한 플로우들은 상기 네트워크 보안 정책에 의해 영향을 받는다. 예를 들어, 어느 사용자는 특정 전송 제어 프로토콜/인터넷 프로토콜(TCP/IP) 네트워크 주소로부터의 전송들을 봉쇄하기를 원할 수 있는 반면, 다른 사용자는 그러한 전송들을 수신하기 원할 것이다. 어느 사용자는 네트워크의 특정 서브넷(subnet) 주소로부터의 전송들을 원하는 반면 다른 사용자는 상기 네트워크 주소로부터의 모든 전송들을 원한다. 다른 사용자들은 특정 포트 또는 애플리케이션을 지향하는 메시지 트래픽을 원할 수 있는 반면 또 다른 사용자는 모든 인입 접속(incoming connection)들을 봉쇄하고 인출 접속(outgoing connection)들 만을 허용하기를 원할 수 있다.
상기 방화벽은 게이트 키퍼(gatekeeper)로서 동작한다. 각 장치에 부착된 방화벽들은 각 단말 또는 이동 장치 주위에 방화벽이 자리한다. 이러한 상황에서 는, 미인가된 패킷들이 상기 패킷들이 어느 단말 또는 이동 장치에 도달할 때까지는 탈락(drop)되지 않는다. 따라서, 무선망에서 귀중한 네트워크 대역폭이 낭비되는데 이는 상기 패킷이 이미 상기 패킷을 전송하는데 필요한 무선망 자원들을 소모하였기 때문이다. 이러한 낭비된 자원들은 다른 접속들에 할당됨으로써 더 잘 활용될 수 있던 것이다. 낭비된 자원들은 메시지 전송들을 증가시킴으로써 사용자 비용(cost)을 증가시킬 수 있고 무선 링크를 통해 상기 패킷을 전송하는데 이용된 상기 자원들 때문에 전체적인 스루풋(throughput)을 저하시킬 수 있다.
다른 결점들과 함께 전술한 사항들을 극복하기 위해, 필요한 것은 장치로의 전송 전에 원하지 않는 또는 지향(intend)되지 않은 패킷들을 봉쇄하여 네트워크 트래픽을 감소시키는 기술이다. 또한 필요한 것은 방화벽의 하나 이상의 정책(policy)을 동적으로 수정하여 특정 패킷들, 전송자들, 및/또는 다른 패킷 기준을 특정하는 능력을 장치에 제공하는 기술이다. 상기 설정된 방화벽은 통신 종단점(end point) 또는 장치로부터 멀리 떨어져 있을 수 있다. 또한 통신 중에 방화벽 정책을 자동적으로 철회하는 능력이 보호를 제공하는데 필요하다.
이하에서는 실시예들의 일부 특징들에 대한 기본적인 이해를 제공하기 위해 하나 이상의 실시예들에 대한 단순화된 상세한 설명을 제시한다. 본 상세한 설명은 하나 이상의 실시예들의 광범위한 개요가 아니며, 상기 실시예들의 주요한 또는 중대한 컴포넌트들을 식별하거나 그러한 실시예들의 범위를 기술하고자 하는 것이 아니다. 그 유일한 목적은 기술되는 실시예들의 일부 개념들을 단순화된 형태로 이후에 제시될 더 상세한 설명에 대한 서두로서 제시하는 것이다.
하나 이상의 실시예들과 그에 대응하는 개시사항에 따라, 다양한 특징들이 방화벽을 설정하고 그리고/또는 네트워크 트래픽을 감소시키는 것과 함께 제시된다. 일 실시예에 따르면 방화벽을 설정하여 불필요한 네트워크 트래픽을 감소시키기 위한 이동 장치를 위한 방법이 제시된다. 상기 방법은 네트워크 방화벽과 네트워크 접속을 설정하고 네트워크 트래픽을 관리하기 위해 상기 네트워크 방화벽과 통신하는 단계를 포함한다. 일부 실시예들에 따르면, 상기 방법은 수동 소켓(passive socket)이 생성되어있는지를 검출하는 단계와 상기 네트워크 소켓으로 향하는 플로우(flow)을 허용하도록 상기 네트워크 방화벽에 요청하는 단계를 포함할 수 있다. 일부 실시예에서, 상기 방법은 웹-서버를 차단하고 상기 수동 소켓을 파기하는 단계를 포함할 수 있다. 상기 방화벽은 상기 파기된 수동 소켓 정보와 접촉할 수 있으며 상기 파기된 수동 소켓으로 향하는 플로우를 거부하는 요청이 전송될 수 있다. 상기 수동 소켓이 차단되면, 상기 방법은 자동적으로 상기 방화벽으로 하여금 상기 수동 소켓으로 향하는 플로우를 허용하도록 하는 요청을 철회할 수 있다.
다른 실시예에 따르면 호스트(host)가 단절된 또는 종료된 세션(session)으로부터 자동으로 복구되는 방법이 제시된다. 상기 방법은 원격 방화벽에 적어도 하나의 개방 소켓(open socket)으로 향하는 패킷들의 통과를 허용하도록 요청하는 단계, 단절된 세션을 검출하는 단계, 그리고 적어도 하나의 개방 소켓으로 향하는 상기 패킷 요청을 철회하는 단계를 포함한다. 상기 방법은 새로운 세션을 재설정하는 단계와 요구되는 플로우들의 통과를 요청하는 단계를 더 포함할 수 있다. 일부 실시예에 따르면, 적어도 하나의 개방 소켓으로 향하는 패킷들을 요청하는 단계는 현재 개방된 소켓들의 목록을 발생시키는 단계를 포함할 수 있다.
다른 실시예에 따르면 네트워크 방화벽을 설정하기 위한 이동 장치가 제시된다. 상기 이동 장치는 트래픽을 감소시키기 위해 방화벽을 설정하는 것에 관한 정보를 분석하는 처리기(processor)와 상기 처리기에 접속되는 메모리를 포함한다. 또한 상기 이동 장치는 외부 소스(external source)와 통신을 설정하는 설정기(establisher)와 상기 외부 소스로부터 수신되는 패킷과 관련된 파라미터들을 지정하고 방화벽과 상기 파라미터들을 통신하는 지정기(designator)를 포함할 수 있다. 또한 상기 적어도 하나의 파라미터에 대한 통과의 철회를 요청하는 무효화기(invalidator)가 상기 이동 장치에 포함될 수 있다. 일부 실시예에서, 이동 장치는 방화벽과 적어도 하나의 정책 갱신(policy update)를 교신하는 송신기 및 상기 방화벽으로부터 상기 정책의 승인 또는 거부를 수신하는 수신기를 포함할 수 있다.
다른 실시예로 네트워크 트래픽을 감소시키기 위한 장치가 제시된다. 상기 장치는 적어도 하나의 방화벽을 검출하기 위한 수단, 적어도 하나의 방화벽과 통신하기 위한 수단, 그리고 상기 적어도 하나의 방화벽과 관련된 정책을 동적으로 갱신하기 위한 수단을 포함할 수 있다. 또한 상기 장치는 수동 소켓들의 목록을 조사하기 위한 수단 또는 요구되는 인입 플로우들을 특정하기 위한 수단을 포함할 수 있다.
또 다른 실시예로 네트워크 접속을 설정하고 상기 설정된 네트워크 접속과 관련된 수동 소켓을 검출하기 위한 컴퓨터로-실행가능한 명령(computer-executable instruction)을 구비한 핸드셋(haneset)의 컴퓨터로 읽을 수 있는 매체가 제시된다. 상기 명령들은 방화벽과 교신(contact)하는 단계와 상기 방화벽으로 하여금 상기 수동 소켓으로 향하는 플로우들을 허용하도록 요청하는 단계를 더 포함할 수 있다. 일부 실시예에 따르면, 상기 명령들은 상기 네트워크 접속을 종료시키는 단계, 상기 수동 소켓을 파기하는 단계, 상기 방화벽과 교신하는 단계, 그리고 상기 방화벽으로 하여금 상기 파기된 수동 소켓으로 향하는 플로우들을 거부하도록 요청하는 단계를 포함할 수 있다.
다른 실시예로 방화벽 정책을 동적으로 갱신하기 위한 명령들을 실행하는 핸드셋의 처리기가 제시된다. 상기 명령들은 적어도 하나의 방화벽을 검출하는 단계, 적어도 하나의 방화벽과 통신하는 단계, 그리고 상기 적어도 하나의 방화벽에 관련된 정책을 동적으로 갱신하는 단계를 포함할 수 있다. 또한 상기 프로세스는 세션이 파기됨과 실질적으로 동시에 상기 정책을 자동적으로 철회하기 위한 명령들을 포함할 수 있다.
다른 실시예로 동적으로 방화벽을 설정하는 핸드셋이 제시된다. 상기 핸드셋은 방화벽과의 세션을 설정하는 이니셜라이저(initializer), 적어도 하나의 플로우를 지정하고 방화벽과 상기 적어도 하나의 플로우를 통신하는 지정기(designator) 및 상기 적어도 하나의 플로우의 통과를 철회할 수 있는 무효화기(invalidator)를 포함한다. 일부 실시예에 따르면, 상기 지정기는 적어도 하나의 패킷과 관련된 파라미터를 특정하거나 또는 하나 이상의 발신자(sendor)로부터의 패킷을 요청할 수 있다. 일부 실시예에 따르면, 상기 무효화기는 적어도 하나의 패킷의 통과를 철회하거나, 하나 이상의 발신자들로부터의 패킷에 대한 요청을 무효로 하거나, 적어도 하나의 패킷 파라미터에 기초하여 자동으로 통화를 철회하거나, 또는 사용자 입력에 기초하여 통과를 철회할 수 있다.
전술 목적들 및 관련 목적들을 이루기 위해, 하나 이상의 실시예들은 이후에 온전하게 기술되는 것과 청구의 범위에서 특별히 지시하는 특징들을 포함한다. 이하의 기술내용 및 첨부된 도면들은 어떠한 예시적인 특징들을 자세히 설명하며 실시예들의 원리가 채택될 수 있는 다양한 방법들 중 몇 가지 만을 나타낸다. 다른 이점들과 신규한 특징들은 도면들과 함께 고려할 때 이하의 실시예로부터 명백해질 것이며 개시되는 실시예들은 그러한 모든 특징들 및 균등물들을 포함하기 위한 것이다.
도 1은 방화벽 기술을 이용하는 통신 시스템의 블록 다이어그램을 나타낸다.
도 2는 클라이언트 이용 방화벽 설정을 위한 시스템을 나타낸다.
도 3은 방화벽 정책을 자동으로 그리고 동적으로 설정하기 위한 시스템을 나타낸다.
도 4는 방화벽 정책을 자동으로 그리고 동적으로 설정하기 위한 시스템을 나타낸다.
도 5는 방화벽을 설정하고 네트워크 트래픽을 감소시키기 위한 시스템을 나 타낸다.
도 6은 적합한 인입 데이터 플로우들의 통과를 동적으로 허용하기 위한 방법론을 나타내는 순서도이다.
도 7은 데이터 플로우들의 자동 복구를 위한 방법론을 나타내는 순서도이다.
도 8은 방화벽 보호를 자동화하고 네트워크 트래픽을 감소시키기 위한 방법론을 나타내는 순서도이다.
도 9는 단말 설정의 개념 블록 다이어그램을 나타낸다.
방화벽(firewall)-"보안 정책(security policy)'을 만족하는 패킷들만 네트워크로 진입하거나 네트워크를 떠나도록 하는 장치.
호스트(host)-네트워크를 패킷 운반 매체로서 이용하는 네트워크 노드. 이동 장치 네트워크에서, 이러한 호스트들은 전형적으로 핸드셋들이거나 무선 기능을 구비한 컴퓨터들이다.
플로우(flow)-별개의 두개의 엔티티(entity)들 사이에서 패킷들의 양방향교환.
다양한 실시예들이 상기 도면들을 참조로 기술된다. 이하의 실시예에서, 설명을 위해, 다수의 특정한 세부 내용들이 하나 이상의 특징들에 대한 온전한 이해를 제공하기 위해 제시된다. 그러나, 그러한 실시예(들)는 이러한 특정 세부 내용들 없이도 실시될 수 있음이 명백할 것이다. 다른 예들로, 잘 알려진 구조 및 장치들이 이러한 실시예들을 용이하게 기술하기 위해 블록 다이어그램 형태로 제시된 다.
본 출원에서 사용되는 바와 같이, "컴포넌트(component)", "모듈", "시스템" 등은 컴퓨터-관련 엔티티(eneity), 하드웨어, 펌웨어, 하드웨어 및 소프트웨어의 조합, 소프트웨어, 또는 실행되는 소프트웨어를 지칭하는 것이다. 예를 들어, 컴포넌트는(이에 한정하고자 하는 것은 아님), 처리기(processor) 상에서 실행되는 프로세스, 처리기, 오브젝트(object), 실행파일(excutable), 실행 스레드(thread of excution), 프로그램 및/또는 컴퓨터일 수 있다. 예시적으로, 컴퓨팅 장치 상에서 실행되는 애플리케이션과 상기 컴퓨팅 장치 모두가 컴포넌트일 수 있다. 하나 이상의 컴포넌트들이 프로세스 및/또는 실행 스레드(thread of execution) 내부에 상주할 수 있으며 컴포넌트는 하나의 컴퓨터 상에 배치되거나 그리고/또는 둘 이상의 컴퓨터 사이에 분산될 수 있다. 또한, 이러한 컴포넌트들은 자체에 저장된 다양한 데이터 구조들을 갖는 다양한 컴퓨터로 읽을 수 있는 매체로부터 실행될 수 있다. 상기 컴포넌트들은 하나 이상의 데이터 패킷들(예컨대, 로컬 시스템, 분산 시스템 내의 다른 컴포넌트, 및/또는 인터넷과 같은 네트워크를 통해 다른 시스템들과 신호로써 상호작용하는 하나의 컴포넌트로부터의 데이터)을 갖는 신호에 따라서 국부 및/또는 원격 프로세스들로써 통신할 수 있다.
나아가, 다양한 실시예들이 사용자 장치와 함께 여기에 기술된다. 또한 사용자 장치는 시스템, 가입자 유닛(subscriber unit), 가입자 국(subscriber station), 이동국, 이동 장치, 호스트, 핸드셋, 원격국, 액세스 포인트, 기지국, 원격 단말, 액세스 단말, 사용자 단말, 단말, 사용자 에이전트(user agent) 또는 사용자 장치(user equipment)로 지칭될 수 있다. 사용자 장치는 셀룰러 전화, 무선 전화, 세션 개시 프로토콜(SIP) 전화, 무선 가입자 회선(WLL) 국, 개인 휴대 정보 단말(PDA), 무선 접속 기능을 구비한 핸드헬드(handheld) 장치, 또는 무선 모뎀에 접속된 다른 프로세싱 장치(들)일 수 있다.
또한, 여기 기술된 다양한 특징 또는 특색들은 표준 프로그래밍 및/또는 엔지니어링 기술들을 이용한 방법, 장치, 또는 제조 물품으로서 구현될 수 있다. 여기서 사용되는 상기 "제조 물품"은 임의의 컴퓨터로-읽을 수 있는 장치, 캐리어(carrier), 또는 매체로부터 액세스 가능한 컴퓨터 프로그램을 포함하는 것이다. 예를 들어, 컴퓨터로 읽을 수 있는 매체는(이에 한정되는 것은 아님) 자기 저장 장치(예컨대, 하드디스크, 플로피 디스크, 자기 띠...), 광 디스크(예컨대, 컴팩트 디스크(CD), 디지털 다목적 디스크(DVD), 스마트 카드, 및 플래시 메모리 장치들(예컨대, 카드, 스틱, 키 드라이브...)를 포함할 수 있다.
다양한 실시예들이 다수의 컴포넌트, 모듈 등을 포함할 수 있는 시스템에 대하여 제시될 것이다. 상기 다양한 시스템들은 추가적인 컴포넌트, 모듈 등을 포함할 수 있으며 그리고/또는 상기 형태들과 함께 논의되는 모든 컴포넌트, 모듈 등을 포함하지 않을 수 있다는 점을 고려하여야 한다. 이러한 방식들의 조합이 이용될 수도 있다.
도면을 참조하면, 도 1은 휴대용 장치나 단말, 휴대용 (이동) 전화, 개인 휴대 정보 단말, 개인용 컴퓨터(데스크톱 또는 랩톱), 또는 다른 전자 및/또는 통신 장치들로써 구현될 수 있는 방화벽 기술을 이용하는 통신 시스템(100)의 블록 다이 어그램을 나타낸다. 시스템(100)은 데이터 또는 네트워크 패킷(104 및 106)으로 지칭되는, 인입 및/또는 인출 데이터를 필터링(filter)하는 방화벽(102)을 포함한다. 방화벽(102)은 망 운용자(network operator) 상에서 운용되는 방화벽, 즉 기반 장비(infrastructure equipment) 등 일 수 있다. 패킷(104 및 106)은 어느 장치로부터 다른 장치로 전송 및/또는 전달되는, 데이터의 그룹을 포함하는, 임의의 종류의 정보일 수 있다. 방화벽 기술은 각 패킷(인입 데이터)을 조사하고, 각 패킷을 분류하고, 그리고 그러한 조사 및/또는 분류에 기초하여 하나 이상의 동작들을 수행한다. 일반적인 동작들은 특정한 방법으로 상기 패킷을 통과, 봉쇄, 및/또는 라우트(route)시키는 것이다. 상태기반 패킷 필터(stateful packet filter)는 분류 수행시 이전에 관찰된 패킷들을 고려할 수도 있다.
예를 들어(예시 목적이며 제한이 아님), 방화벽(102)은 방화벽(102)의 한 측면에 위치한 발신자(108)로부터 전송되는 데이터 패킷(들)(104)이 방화벽(102)의 다른 한 편에 위치한 수신자(110)로 전송되는 것을 허용할 수 있다. 수신자(110)에 접근하도록 지향(intended) 및/또는 인가된(authorized) 발신자(108)에 의해 전송되는 패킷(들)(104)은 방화벽(102)을 통해 통과하도록 중계되거나 허용된다. 그러한 수신자(110)에 대해 미지향 및/또는 미인가된 패킷(들)(104)은 방화벽(102)에 의해 봉쇄될 수 있고 수신자(110)로 중계되지 않을 수 있다. 그러한 방법으로, 수신자(110)는 원치 않는 패킷들 및/또는 그러한 수신자(110)로 향하지 않은 패킷들을 마주치지 못하며 수신하지 않게 된다.
수신자(110)는 방화벽(102)과 통신하여 발신자(들)(108) 및/또는 상기 수신 자(110)가 방화벽(102)로 하여금 허용하게 하고자 하는 패킷(들)(104)과 수신자(110)가 방화벽(102)로 하여금 봉쇄하게 하고자 하는 패킷(들)(104)에 관련된 한 세트의 정책들의 규칙들을 제공하도록 구성될 수 있다. 그러한 방법으로, 수신자(110)는 서버로서 동작한다. 달리 말하면, 수신자(110)는 외부 발신자(108)가 수신자(110)에 접촉하기를 원할 수 있다. 따라서, 수신자(110)는 방화벽(102)과 직접 통신하여 동적인 방식으로 정책 또는 정책들을 갱신하도록 설정될 수 있다.
수신자(110)는 수동 소켓들의 목록을 조사함으로써 어떠한 인입 플로우들 또는 패킷들(104)이 요구되는지를 자동으로 결정하도록 추가로 구성될 수 있다. 예를 들어, 수신자(110)는 수동 소켓을 열거나 생성하여 서버로서 동작할 수 있다. 수신자(110)는 방화벽(102)에 이 소켓으로 향하는 패킷들(104)이 수신자(110)로 전송될 것이라고 통지한다. 만일 수신자가 웹 서버와의 접촉을 그만 두거나 닫으면, 이전에 생성된 상기 수동 소켓은 파기된다. 수신자(110)는 방화벽(102)에 상기 수동 소켓 파기를 통지하고 방화벽(102)에 상기 수동 소켓을 향하는 이후의 모든 트래픽을 거부하도록 요청할 수 있다.
또한 수신자(110)는 방화벽(102)를 통해 패킷들(106)을 발신자(108)로 중계할 수 있다. 그러한 방식으로, 수신자(110)는 클라이언트로서 동작하고 방화벽(102)은 패킷(106)을 봉쇄하거나 패킷(106)이 다양한 프로토콜 및 기술들에 따라 발신자(108)와 통신하도록 허용할 수 있다. 예를 들어, 방화벽(102)은 예컨대, 네트워크 제공자에 의해 미리 결정된 기준에 기초하여 그러한 패킷들(106)을 허용하거나 거부하도록 할 수 있다. 또한 방화벽(102)은 그러한 패킷의 상기 지향된 수 신자(이 경우에는 상기 발신자(108))에 의해 설정된 정책에 따라 상기 패킷(106)을 라우트(route)할 수도 있다. 따라서, 방화벽(102)은 상이한 장치들에 대해 상이한 세트의 규칙들 또는 정책들을 유지할 수 있다.
도 2는 클라이언트 이용 방화벽 설정을 위한 시스템(200)을 나타낸다. 시스템(200)은 무선 통신망 내에 존재할 수 있는 방화벽(202)과 호스트(204)(예컨대, 이동 장치)를 포함한다. 호스트(204)는 예를 들어 셀룰러 전화, 스마트 폰, 랩톱, 핸드헬드 통신 장치, 핸드헬드 컴퓨팅 장치, 위성 라디오, 위성 위치 확인 시스템(global positioning system), PDA, 및/또는 무선망(200)을 통해 통신하기 위한 다른 적절한 장치들일 수 있다. 다수의 방화벽(들)(202)과 호스트(들)(204)이 시스템(200)에 포함될 수 있을지라도, (알 수 있는 바와 같이) 통신 데이터 신호들을 단일 호스트(204)로 전송하는 단일 방화벽(202)이 단순화를 위해 도시된다.
호스트(204)는 호스트(204)가 데이터 플로우 또는 통신 세션을 개시하거나 그리고/또는 방화벽(202)에 의해 유지되는 정책에 대한 갱신들을 요청하는 송신기(206)를 포함한다. 또한 호스트는 호스트(204)가 상기 방화벽(202)으로부터의 상기 정책의 승인이나 거부를 수신하거나 그리고/또는 데이터 플로우나 패킷을 수신할 수 있는 수신기(208)를 포함할 수 있다.
호스트(204)는 송신기(206)를 통해 상기 방화벽(202)으로부터 전송된 패킷들에 응답할 수 있다. 호스트(202)가 데이터 플로우를 개시할 때, 클라이언트와 유사하게 동작하며 이는 "능동(active)"으로 간주 된다. 호스트(202)가 데이터 플로우에 응답시, 이는 서버와 유사하게 동작하며 "수동(passive)"으로 간주 된다. 능 동 플로우는 인출(outgoing)로 그리고 수동 플로우는 인입(incoming)으로 간주 된다.
호스트(204)가 서버로 동작할 때, 호스트(204)는 방화벽(202)과 직접 통신하고 방화벽 규칙들을 조작할 수 있다. 예를 들어, 호스트(204)는 방화벽(202)에 호스트(204)가 통신을 수신하기를 원하는 특정 정보들, 발신자 등을 통지할 수 있다. 호스트(204)는 자동으로 방화벽(202)에 임의의 단절된 세션들 또는 종료된 세션들을 통지하고 그러한 세션들의 정책을 철회할 수 있으며, 그리하여 방화벽(202)은 상기 세션들을 봉쇄하고 이들이 호스트(204)로 전송되는 것을 허용하지 않을 것이다. 방화벽(202)을 그러한 방식으로 설정함으로써, 호스트(204)로 향하는 상기 패킷들(그러나, 호스트(204)가 원하지 않는)은 이들이 전송되기 전에 봉쇄된다. 이것은 네트워크 트래픽을 감소시키는데 이는 그러한 패킷들이 전송되지 않고 호스트(204)에 의해 파기되기 때문이다. 대신, 상기 결정은 방화벽(202)에서, 상기 패킷들이 호스트(204)로 전송되기 전에 이루어져야 한다.
호스트(204)는 프로세싱을 위해 수신된 신호 및/또는 데이터 패킷을 디코딩할 수 있는 디코더 컴포넌트(도시하지 않음)를 포함할 수 있다. 데이터 패킷의 성공적인 디코딩 시, 승인(acknowledgment) 컴포넌트(도시하지 않음)는 상기 데이터 패킷의 성공적인 디코딩을 나타내는 승인을 발생시킬 수 있으며, 이는 방화벽(202)으로 전송되어 상기 정보의 발신자(도시하지 않음)에게 상기 데이터 패킷이 수신되고 디코딩 되었으며, 따라서 재전송될 필요가 없음을 통지할 수 있다.
도 3은 방화벽 정책을 자동으로 그리고 동적으로 설정하기 위한 시스템(300) 을 나타낸다. 시스템(300)은 네트워크 인프라스트럭처(infrastructure) 내에 포함될 수 있는 방화벽(302)과 호스트(304)(예컨대 이동 장치)를 포함한다. 호스트(304)는 인입 데이터 패킷들(306)을 수신할 수 있으며 인출 데이터 패킷들(308)을 개시할 수 있다. 인입 패킷들(306)을 수신할 때, 호스트는 수동 모드(passive mode)로 작동하며 서버와 유사하게 동작한다. 인출 패킷들(308)을 개시하고 전송할 때, 호스트(304)는 능동 모드(active mode)로 작동하며 클라이언트와 유사하게 동작한다. 상기 인입 모드이던 인출 모드이던지 간에, 상기 데이터 패킷들(306 및 308)은 일반적으로 방화벽(302)을 통과하여야 한다. 규칙들 또는 정책(310) 세트에 기초하여, 방화벽(302)은 패킷(306 및 308)을 봉쇄, 통과, 또는 리다이렉트(redirect) 시킬 수 있다.
호스트(304)는 지정기(designator)(312), 무효화기(invalidator)(314), 및 이니셜라이저(initializer)(316)를 포함할 수 있으며, 이들은 처리기, 소프트웨어 또는 이들의 조합(예컨대 펌웨어)으로 구현되는 기능들을 나타내는 기능 블록들일 수 있다. 지정기(312), 무효화기(314), 및/또는 이니셜라이저(316)는 방화벽(302)과 직접 통신할 수 있거나 또는 송신기(도시하지 않음)를 통해 통신하고 수신기(도시하지 않음)를 통해 정보를 수신할 수 있다. 패킷(306)이 호스트(304)를 향하여, 방화벽(302)으로 전달될 때, 방화벽(302)은 상기 패킷(306)이 호스트(304)로 전달될 것인지, 또는 봉쇄되어야 할 것인지를 결정할 수 있다. 그러한 결정은 미리-결정된 정책(310)에 기초할 수 있다. 상기 정책은 허용된 플로우 종단(flow endpoint), 자원 제한(resource limitation) 등과 같은 다양한 기준을 포함할 수 있다. 일부 실시예로, 상기 정책(310)은 선택적인 실행 기술을 통해 호스트(304)에 의해 동적으로 변경되거나 수정될 수 있다.
지정기(312)는 호스트(302)가 수신하여 방화벽(302)으로 전달하고자 하는 패킷(306)에 관련된 파라미터들을 지정하도록 구성될 수 있다. 그러한 파라미터들은 정책(310) 제한들에 종속적일 수 있다. 호스트(304)는 특정된 인입 플로우들(예컨대, 패킷들(306))의 통과를 요청할 수 있다. 예를 들어, 플로우들은 지정기(312)에 의해 어떠한 패킷의 헤더(header) 내에서 가용한 일부 또는 모든 필드들과 매칭(match)되어야 하는(또는 매칭되지 않아야 하는) 기준의 세트 단위로 특정될 수 있다. 일반적으로 패킷은 헤더를 포함하고 더 높은 계층의 프로토콜 헤더들(예컨대, 인터넷 제어 메시지 프로토콜(Internet Control Message Protocol(ICMP), 사용자 데이터그램 프로토콜(UDP), 및/또는 전송 제어 프로토콜(TCP) 등)을 가질 수 있다. 지정기(312)에 의해 특정되는 상기 기준 또는 파라미터들은 정확한 값들, 값 목록들, 값 범위들, 개방 소켓(open socket)들 등을 포함할 수 있지만, 이에 제한되지는 않는다.
무효화기(314)는 호스트(304)가 요청한 특정 플로우들 또는 모든 플로우들에 대한 통과의 철회를 요청하도록 구성될 수 있다. 예를 들어, 지정기(312)가 하나 이상의 종류의 및/또는 하나 이상의 발신자들로부터의 패킷이 호스트(304)로 전송되어야 한다고 요청할 수 있다. 그러한 패킷들의 전송을 요청한 후, 상기 패킷들이 더 이상 요구되지 않는다고 결정되면, 상기 무효화기(314)는 특정 패킷들의 요청을 철회할 수 있다. 이러한 철회는 어떠한 파라미터들(예컨대, 패킷의 크기, 패 킷의 종류, 또는 다른 기준)에 기초하여 시스템(300)에 의해 자동으로 그리고 자율적으로 수행될 수 있다.
또한 상기 철회는 호스트(304)의 사용자로부터 수신되는 수동 입력에 기초할 수 있다. 예를 들어, 패킷들은 사용자를 향하도록 특정될 수 있다. 그러나, 사용자는 다양한 이유로 그러한 패킷들이 더 이상 필요하지 않다고 결정할 수 있다. 사용자는 무효화기(314)와 같은, 호스트와 관련된 인터페이스를 통해 그러한 패킷들을 수동으로 철회할 수 있다.
호스트(304)는 다양한 종류의 사용자 인터페이스들을 제공할 수 있다. 예를 들어, 호스트(304)는 그래픽 사용자 인터페이스(GUI), 명령어 인터페이스(command line interface) 등을 제공할 수 있다. 예를 들어, GUI는 사용자에게 파라미터 정보, 봉쇄된 패킷들, 봉쇄된 발신자들 및/또는 사용자가 그러판 패킷/발신자들이 봉쇄되기를 희망하는지 여부를 프롬프트(prompt)하는 시스템 질의(system query)를 로드(load), 임포트(import), 판독(read) 등을 하기 위한 영역이나 수단을 제공하는 것이 될 수 있다. 이러한 영역들은 대화 상자(dialogue box), 스태틱 콘트롤(static control), 드롭-다운-메뉴(drop-down-menu), 목록 상자(list box), 팝-업 메뉴, 애즈 에디트 콘트롤(as edit control), 콤보 박스, 라디오 버튼, 체크 박스, 푸시 버튼, 그리고 그래픽 박스들을 포함하는 공지된 텍스트 및/또는 그래픽 영역들을 포함할 수 있다. 또한, 네비게이션을 위한 수직 및/또는 수평 스크롤 막대들 및 특정 영역이 보여질 것인지 여부를 결정하는 툴바 버튼들과 같이 표시를 용이하게 하는 유틸리티들이 채택될 수 있다.
예를 들어, 명령어 인터페이스가 채택될 수 있다. 예를 들어, 상기 명령어 인터페이스는(예컨대, 표시 장치 상의 텍스트 메시지 및 오디오 톤으로써) 텍스트 메시지를 제공함으로써 정보에 대해 사용자에게 재촉(prompt)할 수 있다. 그리고 나서 상기 사용자는 상기 인터페이스 프롬프트로 제공되는 옵션(option)에 대응하는 문자-숫자(alpha-numeric) 입력이나 상기 프롬프트에 담긴 문의에 대한 답과 같이, 적절한 정보를 제공할 수 있다. 상기 명렁어 인터페이스는 GUI 및/또는 API와 함께 채택될 수 있음을 고려하여야 한다. 또한, 상기 명령어 인터페이스는 하드웨어(예컨대 비디오 카드) 및/또는 제한된 그래픽 지원능력을 가진 표시장치(예컨대 흑백 및 EGA), 및/또는 저 대역폭 통신 채널들과 함께 채택될 수 있다.
상기 프로토콜은 두 가지 방향 (인입 및 인출) 패킷들 모두를 규칙적으로 교환하며, 따라서, 호스트(304) 및 방화벽(302) 모두가 적시에 단절된 세션을 알 수 있게 된다. 예를 들어, 방화벽(302) 및/또는 호스트(304)는 피어(peer)(예컨대 다른 이동 장치, 다른 통신 장치, ...)로부터의 트래픽 부재에 기초하여 상기 세션이 단절되었다고 결정할 수 있다. 상기 단절 세션에 기초한 결정은 상기 프로토콜 자체의 일부로서 포함될 수 있다. 일부 실시예에서, 상기 결정은 전송 제어 프로토콜(TCP) 킵-얼라이브 세그먼트(keep-alive segment)와 같은, 기반 전송에 의해 제공될 수 있다.
어느 세션이 단절되거나 종료된 것으로 결정되면, 상기 호스트(304)에 의해 이전에 요청되었던 플로우들은 자동적으로 철회될 수 있다. 그러한 방법으로, 호스트(304)를 향하는 모든 패킷들은 방화벽(302)에 의해서 자동으로 봉쇄되며 호스 트(304)로 전달되도록 허용되지 않는다. 따라서, 상기 단절된 세션 및/또는 불완전한 패킷들은 상기 무선 인터페이스를 따라 전달되지 않으며 부족하고 가치있는 자원들을 점유하지 않는다.
이하의 내용은 예시 목적이며 이에 한정하고자 하는 것이 아니다. 핸드셋 또는 호스트(304)는 웹-서버를 실행하여, TCP 포트 80에서 청취하는 수동 소켓을 생성할 수 있다. 방화벽 제어 컴포넌트(예컨대, 지정기(312))는 TCP 포트 80 상의 수동 소켓이 생성되었음을 검출할 수 있다. 제어 컴포넌트는 방화벽(302)과의 교신을 설정하고 방화벽(302)에 상기 핸드셋의 TCP 포트 80으로 향하는 플로우들이 인가된 통과가 되도록 허용할 것을 요청한다. 방화벽(302)은 상기 요청을 승인 또는 거부할 수 있다. 외부 당사자들은 상기 핸드셋의 웹 서버에 접촉하는 인입 플로우들을 시작시킬 수 있다. 일정 시간 후, 상기 핸드셋의 웹서버는 셧 다운(shut down)되며, TCP 포트 80 상의 상기 수동 소켓은 소멸된다. 실질적으로 동시에 또는 실질적으로 다른 시각에, 상기 핸드셋의 방화벽 제어 컴포넌트는 상기 수동 소켓의 소멸을 검출할 수 있다. 상기 제어 컴포넌트는 상기 방화벽과 통신을 설정하고 상기 방화벽에 TCP 포트 80 상에서 상기 핸드셋으로 향하는 이후의 모든 인바운드(inbound) 트래픽을 거부하도록 요청할 수 있다. IP 기반 네트워크에서, 상기 프로세스는 상기 기술된 바와는 실질적으로 상이할 수 있음을 고려하여야 하는데 이는 플로우들과 토폴로지(topology) 모두가 종단 주소(end point address)를 향하기 때문이다.
새로운 세션을 개시하거나 단절된 세션 및 이어지는 데이터 플로우들의 자동 적인 철회로부터의 복구를 위해, 호스트(304)는 이니셜라이저(316)를 통해 세션을 설정할 수 있다. 이니셜라이저(316)는 호스트(304)가 어느 방화벽(302)과 통신 중인지를 결정하도록 설정될 수 있는데 이는 호스트304)가 이동 장치일 수 있으며 어느 지역이나 셀(cell)로부터 다른 지역이나 셀로 이동할 수 있기 때문이다. 상기 장치가 이동함에 따라, 하나 이상의 방화벽들과 교신을 설정이 필요할 수 있다. 이니셜라이저(316)는 지정기(312)와 통신하고 요구되는 플로우들의 통과를 요청(또는 단절된 세션의 경우 재-요청)하도록 설정될 수 있다.
도 4는 방화벽 정책을 자동으로 그리고 동적으로 설정하는 시스템(400)을 나타낸다. 시스템(400)은 인입 패킷들 및/또는 인출 패킷들을 전송, 봉쇄, 또는 재 라우트(reroute)하도록 설정된 방화벽(402)을 포함한다. 또한 지정기(406), 무효화기(408), 그리고 이니셜라이저(410)를 포함할 수 있는 호스트(404)가 포함된다. 호스트(404)는 인입 패킷들에 대해 수동 모드로 그리고 인출 패킷들에 대해서는 능동 모드로 동작한다. 시스템(400)은 도 3을 참조로 도시되고 기술된 시스템(300)과 유사하게 동작한다.
시스템(400)은 호스트(404)와 동적으로 접속된 메모리(412)를 포함할 수 있다. 메모리(412)는 무선 통신 시스템에 있어서 설정가능(configurable)한 방화벽 기술 및 트래픽 감소에 관련하여 요청된 인입 플로우들, 매칭 기준, 특정된 플로우들, 철회된 플로우들, 개방 네트워크 소켓 등에 관련된 정보를 저장할 수 있다. 처리기(414)는 호스트(404)(및/또는 메모리(412))에 동적으로 접속되어 무선 통신 시스템에서의 설정가능한 방화벽 기술 및 트래픽 감소에 관련된 정보를 분석할 수 있다. 처리기(414)는 호스트에 의해 수신된 정보를 분석 및/또는 호스트(404)에 의해 전송되는 정보를 발생시키는데 전용되는 처리기, 시스템(400)의 하나 이상의 컴포넌트들을 제어하는 처리기, 및/또는 호스트(404)에 의해 수신된 정보를 분석 및 발생시키고 시스템(400)의 하나 이상의 컴포넌트들을 제어하는 처리기일 수 있다.
메모리(412)는 요망되는 패킷들, 패킷 플로우들, 발신자들, 통신 타입(type)들 등에 관련된 프로토콜들을 저장하고 호스트 및 방화벽(402) 등 간의 통신을 제어하기 위한 행동을 취할 수 있어서 시스템(400)이 저장된 프로토콜들 및/또는 알고리듬들을 채택하여 여기 기술된 바와 같이 무선 망의 통신 트래픽 감소를 달성할 수 있다. 여기 기술된 상기 데이터 저장(예컨대 메모리들) 컴포넌트들은 휘발성 메모리 또는 비휘발성 메모리일 수 있거나, 또는 휘발성 및 비휘발성 메모리 모두를 포함할 수 있음을 고려하여야 한다. 한정이 아니라 예시적으로, 비휘발성 메모리는 읽기 전용 기억장치(ROM), 프로그래머블 ROM(PROM), 전기적 프로그램가능 ROM(EPROM), 전기적 소거가능 ROM(EEPROM), 또는 플래시 메모리를 포함할 수 있다. 휘발성 메모리는 램(RAM)을 포함할 수 있으며, 이는 외부 캐시 메모리(external cache memory)로서 동작한다. 한정이 아닌 예시적으로, RAM은 정적 DRAM(SRAM), 동적 램(DRAM), 동기식 DRAM(SDRAM), 2배속 SDRAM(DDR SDRAM), 인핸스드 SDRAM(enhanced SDRAM, ESDRAM), 싱크링크 DRAM(Synclink DRAM, SLDRAM), 직접 램버스 RAM(direct Rambus RAM, DRRAM)과 같이 다양한 형태로 이용가능하다. 개시된 실시예들의 메모리(412)는 여기에 한정하지 않고 이러한 그리고 다른 종류의 메모 리를 포함하려는 것이다.
도 5는 방화벽을 설정하고 네트워크 트래픽을 감소시키기 위한 시스템(500)을 나타낸다. 처리기, 소프트웨어 또는 이들의 조합(예컨대 펌웨어)으로써 구현되는 기능들을 나타내는 기능 블록들일 수 있는 블록들이 도시된다. 시스템(500)은 네트워크에 포함된 하나 이상의 방화벽들을 검출할 수 있는 검출기(detector)(502)를 포함할 수 있다. 통신기(communicator)(504)는 상기 검출된 방화벽과 통신하도록 구성될 수 있다. 그러한 통신은 (이에 한정되는 것은 아님) 세션의 설정 요청, 특정 인입 플로우들의 통과를 특정하는 것, 하나 이상의 인입 플로우들을 철회하는 것, 또는 다른 종류의 통신을 포함할 수 있다. 또한 상기 방화벽과 관련된 정책을 갱신하도록 구성될 수 있는 갱신기(updater)(506)가 시스템(500)에 포함될 수 있다. 상기 정책을 갱신하는 것에는 시스템(500)에 의해 자동으로 결정된 것으로 기존 정책을 변경 또는 사용자에 의해 시스템(500)에 수동으로 입력되는 변경을 포함할 수 있다.
일부 실시예에서, 또한 시스템(500)은 조사기(inspector)(508) 및 특정기(specifier)(510)를 포함할 수 있다. 검사기(508)는 개방 네트워크 소켓의 목록을 조사하도록 구성될 수 있으며, 이는 개방 수동 네트워크 소켓들일 수 있다. 특정기(510)는 수동 소켓이 청취될 때 상기 방화벽에 적절한 요청을 발생시키도록 구성될 수 있으며 수동 소켓이 폐쇄될 때 철회를 발생시킬 수 있다. 시스템(500)이 단절 또는 종결된 세션으로부터 복구 중이라면, 수동 소켓들의 현재 목록이 열거되어 적절한 요청을 발생시킬 수 있다.
상기 예시되고 기술된 예시적인 시스템들에 있어서, 다양한 실시예들의 하나 이상의 특징들에 따라 구현될 수 있는 방법론들은 도 6-8의 다이어그램들을 참조로 하여 더 잘 이해할 수 있다. 설명의 간소화 목적을 위해, 상기 방법론들이 일련의 동작들(또는 기능 블록들)로서 도시되고 기술되는 반면, 상기 방법론들이 상기 동작들의 순서에 제한되지 않으며, 일부 동작들은, 이러한 방법론들에 따라, 여기에 도시되고 기술된 것과 다른 순서로 및/또는 다른 동작들과 동시에 일어날 수 있음을 고려하여야 한다. 또한, 도시된 동작들 모두가 개시된 실시예들의 하나 이상의 특징들에 따라 방법론을 구현하는데 필요한 것은 아닐 수 있다. 상기 다양한 동작들은 상기 동작들과 관련된 기능을 수행하기 위해 소프트웨어, 하드웨어, 이들의 조합 또는 다른 임의의 적절한 수단(예컨대, 장치, 시스템, 프로세스, 컴포넌트)으로써 구현될 수 있음을 고려하여야 한다. 또한 상기 동작들은 단지 여기 제시된 특징들을 간소화된 형태로 나타내기 위함이며 이러한 특징들은 더 적은 및/또는 더 많은 수의 동작들로써 제시될 수 있음을 고려하여야 한다. 또한, 제시된 동작들 모두가 이하의 방법론들을 구현하는데 요구되지는 않을 수도 있다. 당업자는 방법론이 상태 다이어그램과 같이, 일련의 상호 관련된 상태들 또는 이벤트(event)들로써 표현될 수 있음을 이해하고 고려할 것이다.
도 6은 적법한 인입 데이터 플로우들의 통과를 동적으로 허용하기 위한 방법론(600)의 순서도이다. 적법한 인입 플로우들은 장치가 이전에 요청했던 것이다. 예를 들어, 장치는 이전에 수신된 플로우들에 기초하여 특정한 종류의 트래픽을 수신한다면(특정 소스로부터의 트래픽 등) 상기 플로우는 폐기되거나 상기 트래픽의 수신이 상기 장치치에서 수신시 거부될 것이라는 점을 알거나 추론할 수 있다. 또한 상기 장치는 사용자-지정 파라미터(user-specified parameter)들에 기초하여 이러한 정보를 가질 수 있다. 이러한 요망되지 않는 및/또는 의도하지 않은 플로우들이 상기 장치에서 수신될 때까지 대기하기보다, 상기 장치는 그러한 플로우가 상기 장치로 보내지기 전에 이러한 플로우들을 식별(예컨대, 종류, 소스 등)하여, 귀중한 대역폭과 자원들을 얻을 수 있다.
상기 방법(600)은 통과 요청이 수신되는 단계(602)에서 시작된다. 본 통과 요청은 이동 장치가 통신을 수신하기를 원하는 종류, 소스 등에만 관련된 정보를 포함할 수 있다. 본 정보는 장치에 의해 미리 정의되고 네트워크 주벼변erip장치hery) 또는 방화벽에서 유지될 수 있다. 상기 통과 요청이 수신된 트래픽 플로우들은 상기 장치로 전송될 것이다. 통과 요청이 수신되지 않은 트래픽 플로우들은 장치로 더 이상 전송되기 전에 봉쇄될 것이다.
플로우들은 다양한 기준에 의해 특정될 수 있으며 상기 플로우는 전송되는 기준에 부합하여야 한다. 일부 실시예에서, 상기 다양한 기준은 상기 플로우가 부합하지 않아야 하는 정보일 수 있다. 예를 들어, 상기 기준은 패킷의 헤더(들)의 필드들의 일부나 전부일 수 있다. 헤더는 메시지를 정확한 목적지로 유도하는 정보를 포함하는 메시지의 일부이다. 발신자 주소, 수신자 주소, 우선순위의 레벨, 라우팅 명령들, 동기화 펄스 등이 상기 헤더에 포함될 수 있다. IP 패킷은 인터넷 제어 메시지 프로토콜(ICMP), 사용자 다이어그램 프로토콜(UDP), 및/또는 전송 제어 프로토콜(TCP)와 같은 더 높은 계층의 프로토콜 헤더들을 포함할 수 있다. 상 기 기준은 정확한 값, 값 목록, 및/또는 값 범위들로 구성될 수 있다.
단계(604)에서, 철회 요청이 수신되었는지에 대한 결정이 내려진다. 상기 철회 요청은 특정된 플로우 또는 플로우들에 대한 것일 수 있고 또는 이전에 요청되었던 모든 플로우들에 관한 것일 수 있다. 단계(604)에서의 상기 결정이 철회 요청이 수신되지 않았다는 것("아니오")이라면, 상기 방법(600)은 단계(606)으로 계속되며 상기 플로우는 상기 장치로 통과하는 것이 허용된다. 단계(604)에서의 상기 결정이 철회 요청이 수신되었다는 것("예")이라면, 상기 방법(600)은 단계(608)로 계속되며 상기 통과는 상기 장치로 전송되기 전에 봉쇄된다.
상기 방법론(600)에서, 상기 통과 요청과 요청된 플로우들의 철회는 이동 장치(예컨대 핸드셋)로부터 네트워크 방화벽에서 수신될 수 있다. 상기 네트워크 방화벽은 상기 네트워크 방화벽이 상기 이동 장치로부터의 통과 및/또는 철회 요청이 수신되었는지 여부에 따라 인입 데이터 플로우들의 통과를 허용 또는 봉쇄할 수 있다.
도 7은 데이터 플로우들의 자동 복구에 대한 방법론(700)의 순서도이다. 상기 자동 복구는, 원격 방화벽으로 하여금 적어도 하나의 개방 소켓으로 향하는 패킷들의 통과를 허용하도록 요청함으로써 설정된 세션이 다양한 이유로 단절, 인터럽트(interrupt), 또는 종료될 수 있는 상황들을 위하여 제공된다. 단계(702)에서, 단절된 세션은 호스트 및/또는 방화벽에 의해 검출된다. 상기 프로토콜이 정기적으로 양 방향의(예를 들어, 인입, 인출) 패킷들을 교환하기 때문에 호스트와 방화벽 모두 적시에, 그리고 대부분의 상황에서 상기 단절 세션의 발생과 실질적으 로 동시에 단절된 세션을 알 수 있게 된다. 그러한 인식은 피어 장치로부터의 트래픽의 부재를 주시한 결과일 수 있다. 이는 상기 프로토콜 자체의 일부로서 수행될 수 있거나, 또는 기반 전송(예컨대, TCP 킵-얼라이브 세그먼트들)에 의해 제공될 수 있다.
세션이 단절되거나 종료될 때, 상기 관련된 호스트에 의해 요청된 플로우들이 단계(704)에서 철회된다. 상기 요청된 플로우들을 철회함으로써, 호스트의 무결성(integrity) 및 비밀성이 보호된다. 따라서, 어떠한 트래픽도 상기 호스트로 전송되도록 허용되지 않으며, 그러한 트래픽은 상기 장치로 전송되고 대역폭을 차지하기 전에 봉쇄된다.
일부 실시예들에 따르면, 상기 호스트가 상기 데이터 플로우들을 복구하고자 한다면, 새로운 세션이 단계(706)에서 재설정될 수 있다. 이러한 새로운 세션은 새로운 요청에 기초할 수 있거나, 적절한 요청들을 발생시키기 위한 수동 소켓들의 목록 재수립에 기초할 수 있다. 요구되는 플로우들의 요청(또는 재요청)이나 통과는 단계(708)에서 설정된다.
상기 방법론(700)에서, 예를 들어, 장치(예컨대 이동 장치)는 단절된 세션을 검출하고 네트워크 방화벽에 접촉하여 요청된 플로우들을 철회할 수 있다. 만일 필요하다면(예컨대, 사용자에 의해), 상기 장치는 상기 방화벽과 새로운 세션을 재설정하여 요구되는 플로우들의 통과를 요청할 수 있다.
도 8은 자동화된 방화벽 보호 및 네트워크 트래픽 감소를 위한 방법론(800)의 순서도이다. 상기 감소된 네트워크 트래픽은 원치 않는 및/또는 의도하지 않은 트래픽, 단절된 세션, 종료된 세션 등을 포함할 수 있다. 단계(802)에서, 핸드셋이 인입 통신 플로우를 수신하기를 요구하며 수동 모드 또는 서버로서 동작한다. 핸드셋은 단계(804)에서 수동 소켓을 생성한다. 이러한 수동 소켓은 예컨대, TCP 포트 80 상에 있을 수 있다. 일부 실시예에서, 상기 수동 소켓은 개방 수동 소켓들의 목록에 포함될 수 있는데, 이는 주기적으로 또는 계속적으로 변경, 수정 등에 대해 모니터링(monitor) 된다. 방화벽과의 접촉 또는 통신은 단계(806)에서 설정된다. 상기 접촉이나 통신은 상기 수동 소켓이 생성될 때 발생될 수 있다. 상기 통신은 단계(808)에서, 상기 방화벽이 플로우들이 상기 수동 소켓으로 향하는 것을 허용하도록 하는 요청과 같은, 원격 방화벽 정책 갱신을 포함할 수 있다. 또한 상기 통신은 하나 이상의 개방 세션에 의해 발생된 수동 네트워크 소켓들의 목록을 포함할 수 있다. 이러한 목록은 호스트가 인식하고 있으며 호스트가 임의의 특정 시간에 제공 중인 서비스들을 더 포함할 수 있다.
외부자(external party)들에 의해 개시되는, 하나 이상의 목록에 기재된 개방 수동 소켓들로 향하는 인입 플로우들은 상기 방화벽에 의해 허용되는 통과일 수 있다. 상기 웹 서버가 셧 다운(shut down) 되거나 종료되면, TCP 포트 80 상의 상기 수동 소켓이 파기된다. 단계(810)에서, 상기 수동 소켓이 개방 또는 폐쇄(예컨대, 종료 또는 파기)될 것인지 여부가 결정된다. 상기 소켓이 개방("예")되는 것이라면, 상기 외부자 패킷들, 플로우들, 통신 등은 단계(812)에서 전송되거나 계속하여 전송하도록 허용된다. 단계(810)에서 상기 결정이 상기 소켓이 폐쇄("노")되는 것이라면, 철회 요청이 단계(814)에서 발생 된다. 이러한 철회 요청은 상기 소 켓이 폐쇄되었음을 검출시 자동으로 전송될 수 있다. 이러한 요청은 상기 방화벽으로 하여금 TCP 포트 80으로의 이후의 모든 인바운드(inbound) 트래픽을 거부하도록 하는 명령을 포함할 수 있다. 단절 또는 종료된 세션으로부터 복구시, 현재의 수동 소켓들의 목록이 제시되어 적절한 요청들을 발생시킬 수 있다.
예를 들어, 상기 방법론(800)에서, 이동 장치는 네트워크 접속을 설정하고, 개방 수동 소켓을 검출하고, 상기 방화벽과 통신을 설정하고 허용된 플로우들을 요청할 수 있다. 추가로 상기 이동 장치는 상기 수동 소켓이 개방 또는 폐쇄되어 있는지 여부를 결정하고, 만약 폐쇄되어 있으면, 상기 방화벽에 대해 철회 요청을 발생시킬 수 있다.
도 9를 참조하면, 단말(900)의 가능한 구성을 나타내는 개념 블록 다이어그램이 제시된다. 당업자는 상기 단말(900)의 정확한 구성이 특정 애플리케이션 및 전체적인 설계 제한에 따라 달라질 수 있음을 이해할 것이다. 처리기(902)는 여기에 개시된 다양한 실시예들을 구현할 수 있다. 단말(900)은 안테나(906)에 접속된 프런트-엔드 트랜시버(front-end transceiver)로써 구현될 수 있다. 기저 대역 처리기(base band processor)(908)는 상기 트랜시버(904)에 접속될 수 있다. 상기 기저 대역 처리기(908)는 소프트웨어 기반 구조, 또는 임의의 다른 종류의 구조로써 구현될 수 있다. 마이크로프로세서가, 다른 기능들 중에서, 제어 및 종합 시스템 관리 기능을 제공하는 소프트웨어 프로그램들을 실행하는 플랫폼으로서 이용될 수 있다. 디지털 신호 처리기(DSP)는 내장형 통신 소프트웨어 계층(embedded communications software layer)으로 구현될 수 있으며, 이는 애플리케이션 특정 알고리듬(application specific algorithm)들을 실행하여 상기 마이크로프로세서에 대한 프로세싱 요구를 감소시킨다. 상기 DSP를 활용하여 파일럿 신호 포착(pilot signal acquisition), 시간 동기화(time synchronization), 주파수 추적(frequency tracking), 확산-스펙트럼 프로세싱, 변조 및 복조 기능들, 그리고 전방 오류 정정(forward error correction)과 같은 다양한 신호 처리 기능들을 제공할 수 있다.
또한 단말(900)은 상기 기저 대역 처리기(908)에 접속되는 다양한 사용자 인터페이스들(910)을 포함할 수 있다. 사용자 인터페이스들(910)은 키패드, 마우스, 터치 스크린, 디스플레이, 벨(ringer), 진동기(vibrator), 오디오 스피커, 마이크로폰, 카메라 및/또는 다른 입/출력 장치들을 포함할 수 있다.
상기 기저 대역 처리기(908)는 처리기(902)를 포함한다. 상기 기저 대역 처리기(908)의 소프트웨어-기반 구현에 있어서, 상기 처리기(908)는 마이크로프로세서 상에서 실행되는 소프트웨어 프로그램일 수 있다. 그러나, 당해 기술 분야에서 통상의 지식을 가진 자가 용이하게 알 수 있듯이, 상기 처리기(902)는 이러한 실시예에 한정되지 않으며, 하드웨어 구성, 소프트웨어 구성, 또는 이들의 조합을 포함하는, 공지된 임의의 수단으로써 구현될 수 있으며, 이들은 여기 기술된 다양한 기능들을 수행할 수 있다. 상기 처리기(902)는 데이터의 저장을 위한 메모리(912)에 접속될 수 있다.
여기 기술된 실시예들은 하드웨어, 소프트웨어, 펌웨어, 미들웨어, 또는 이들의 임의의 조합으로써 구현될 수 있음을 고려하여야 한다. 상기 시스템들 및/또는 방법들이 소프트웨어, 펌웨어, 미들웨어 또는 마이크로코드(microcode), 프로 그램 코드 또는 코드 세그먼트(code segment)들로 구현될 때, 이들은 저장 컴포넌트와 같은, 기계-판독가능 매체에 저장될 수 있다. 코드 세그먼트는 프로시저(procedure), 기능, 서브프로그램(subprogram), 프로그램, 루틴(routine), 서브루틴(subroutine), 모듈, 소프트웨어 패키지, 클래스(class), 또는 임의의 명령들의 조합, 데이터 구조들, 또는 프로그램 세그먼트들을 의미할 수 있다. 코드 세그먼트는 정보, 데이터, 인수(argument)들, 파라미터들, 또는 메모리 내용들을 통과 및/또는 수신함으로써 다른 코드 세그먼트 또는 하드웨어 회로에 접속될 수 있다. 정보, 인수, 파라미터, 데이터 등은 메모리 공유(memory sharing), 메시지 전달(message passing), 토큰 전달(token passing), 네트워크 전송 등을 포함하는 임의의 적절한 수단들을 이용하여 전달(pass), 회송(forward), 또는 전송(transmit)될 수 있다.
상기 기술된 내용은 하나 이상의 실시예들에 대한 예시들을 포함한다. 물론, 이러한 실시예들의 기술 목적을 위해 생각할 수 있는 모든 컴포넌트들 또는 방법론들의 조합을 기술하는 것은 불가능하지만, 당업자는 그러한 실시예들의 많은 추가적인 조합들 및 치환들이 가능함을 인식할 것이다. 따라서, 여기 기술된 상기 실시예들은 첨부된 청구의 범위의 사상 및 범위 내에 포함되는 그러한 모든 변형, 수정, 그리고 변경들을 포함하려는 것이다. 또한, 상기 "포함하는(including)" 이라는 용어는 제한적 의미가 아니라 포함적 의미로 해석되어야 한다.

Claims (33)

  1. 이동 장치가 원하지 않는 네트워크 트래픽을 감소시키기 위해 방화벽(firewall)을 설정하기 위한 방법으로서:
    네트워크 방화벽과 네트워크 접속을 설정하는 단계; 및
    네트워크 트래픽을 관리하기 위해 상기 네트워크 방화벽과 통신하는 단계를 포함하는 방화벽 설정 방법.
  2. 제 1 항에 있어서,
    수동 소켓(passive socket)이 생성되었는지를 검출하는 단계; 및
    상기 수동 소켓으로 향하는 플로우(flow)들을 허용하도록 상기 네트워크 방화벽에 요청하는 단계를 더 포함하는 방화벽 설정 방법.
  3. 제 2 항에 있어서,
    웹-서버를 폐쇄하는 단계;
    상기 수동 소켓을 파기하는 단계;
    상기 방화벽과 접촉하는 단계; 및
    상기 수동 소켓으로 향하는 플로우들을 거부하도록 상기 방화벽에 요청하는 단계를 더 포함하는 방화벽 설정 방법.
  4. 제 2 항에 있어서,
    상기 수동 소켓이 개방(open) 또는 폐쇄(close)되어 있는지를 결정하는 단계; 및
    상기 소켓이 개방되어 있으면 상기 수동 소켓으로 향하는 추후의 통신을 허용하는 단계를 더 포함하는 방화벽 설정 방법.
  5. 제 2 항에 있어서,
    상기 수동 소켓이 개방 또는 폐쇄되어 있는지를 결정하는 단계; 및
    상기 수동 소켓으로 향하는 플로우들을 허용하도록 하는 상기 방화벽에 대한 상기 요청을 자동으로 철회하는 단계를 더 포함하는 방화벽 설정 방법.
  6. 호스트(host)가 단절된 세션(broken session)으로부터 자동으로 복구되는 방법으로서:
    적어도 하나의 개방 소켓으로 향하는 패킷들의 통과(transit)를 허용하도록 원격 방화벽에 요청하는 단계;
    단절된 세션을 검출하는 단계;
    적어도 하나의 개방 소켓으로 향하는 상기 패킷 요청을 철회하는 단계;
    새로운 세션을 재설정하는 단계; 및
    요구되는 플로우들의 통과를 요청하는 단계를 포함하는, 호스트 복구 방법.
  7. 제 6 항에 있어서,
    적어도 하나의 개방 소켓으로 향하는 패킷들을 요청하는 단계는 현재 개방 소켓들의 목록을 발생시키는 단계를 더 포함하는 호스트 복구 방법.
  8. 제 6 항에 있어서,
    요구되는 플로우들의 통과를 요청하는 단계는 개방 소켓들의 목록을 재발생시키는 단계를 더 포함하는 호스트 복구 방법.
  9. 제 6 항에 있어서,
    단절된 세션을 검출하는 단계는 적어도 하나의 개방 소켓이 폐쇄되어 있음을 확인하는 단계를 더 포함하는 호스트 복구 방법.
  10. 제 6 항에 있어서,
    단절된 세션을 검출하는 단계는 피어 장치(peer device)로부터의 트래픽의 부재(lack)를 감시하는 단계를 더 포함하는 호스트 복구 방법.
  11. 네트워크 방화벽을 설정하기 위한 이동 장치로서:
    트래픽을 감소시키기 위한 방화벽 설정에 관련된 정보를 분석하는 처리기(processor); 및
    상기 처리기에 접속된 메모리를 포함하는 이동 장치.
  12. 제 11 항에 있어서,
    외부 소스(external source)와 통신을 설정하는 설정기(establisher); 및
    상기 외부 소스로부터 수신된 패킷과 관련된 파라미터들을 지정하고 방화벽에 상기 파라미터들을 전달하는 지정기(designator)를 더 포함하는 이동 장치.
  13. 제 12 항에 있어서,
    상기 외부 소스는 웹-서버인 이동 장치.
  14. 제 12 항에 있어서,
    상기 파라미터는 개방 수동 소켓(open passive socket)인 이동 장치.
  15. 제 12 항에 있어서,
    적어도 하나의 상기 파라미터에 대한 통과의 철회를 요청하는 무효화기(invalidator)를 더 포함하는 이동 장치.
  16. 제 11 항에 있어서,
    방화벽에 적어도 하나의 정책 갱신(policy update)을 전달하는 송신기; 및
    상기 방화벽으로부터 상기 정책의 승인 또는 거부를 수신하는 수신기를 더 포함하는 이동 장치.
  17. 네트워크 트래픽을 감소시키기 위해 이동 장치에 이용하기 위한 장치로서:
    적어도 하나의 방화벽을 검출하기 위한 수단;
    적어도 하나의 방화벽과 통신하기 위한 수단; 및
    상기 적어도 하나의 방화벽과 관련된 정책(policy)을 동적으로 갱신하기 위한 수단을 포함하는 장치.
  18. 제 17 항에 있어서,
    수동 소켓의 목록을 조사하기 위한 수단을 더 포함하는 장치.
  19. 제 17 항에 있어서,
    요구되는 인입 플로우(incoming flow)들을 특정하기 위한 수단을 더 포함하는 장치.
  20. 이동 장치에 이용하기 위한 컴퓨터로 읽을 수 있는 매체로서, 상기 매체는:
    네트워크 접속을 설정하고;
    상기 설정된 네트워크 접속과 관련된 수동 소켓을 검출하고;
    방화벽과 접촉하고; 그리고
    상기 수동 소켓으로 향하는 플로우들을 허용하도록 상기 방화벽에 요청하기 위한 컴퓨터-실행가능 명령(computer-executable instruction)들을 포함하는 컴퓨 터로 읽을 수 있는 매체.
  21. 제 20 항에 있어서,
    상기 매체는:
    상기 네트워크 접속을 종료시키고;
    상기 수동 소켓을 파기하고;
    상기 방화벽에 접촉하고; 그리고
    상기 파기된 수동 소켓으로 향하는 플로우들을 거부하도록 상기 방화벽에 요청하기 위한 컴퓨터-실행가능 명령들을 더 포함하는 컴퓨터로 읽을 수 있는 매체.
  22. 제 20 항에 있어서,
    상기 매체는:
    상기 수동 소켓이 개방 또는 폐쇄되어 있는지를 결정하고; 그리고
    상기 소켓이 개방되어 있을 경우 상기 수동 소켓으로 향하는 추후의 통신을 허용하기 위한 컴퓨터-실행가능 명령들을 더 포함하는 컴퓨터로 읽을 수 있는 매체.
  23. 제 20 항에 있어서,
    상기 매체는:
    상기 수동 소켓이 개방 또는 폐쇄되어 있는지를 결정하고; 그리고
    상기 수동 소켓이 폐쇄되어 있을 경우 상기 수동 소켓으로 향하는 플로우들을 허용하도록 하는 상기 방화벽에 대한 요청을 자동으로 철회하기 위한 컴퓨터-실행가능 명령들을 더 포함하는 컴퓨터로 읽을 수 있는 매체.
  24. 방화벽 정책을 동적으로 갱신하기 위한 명령들을 실행하기 위해 이동 장치에 이용되는 처리기로서, 상기 명령들은:
    적어도 하나의 방화벽을 검출하고;
    상기 적어도 하나의 방화벽과 통신하고; 그리고
    상기 적어도 하나의 방화벽과 관련된 정책을 동적으로 갱신하는 것을 포함하는, 이동 장치용 처리기.
  25. 제 24 항에 있어서,
    상기 명령들은:
    세션이 단절되는 것과 실질적으로 동시에 상기 정책을 자동으로 철회하는 것을 더 포함하는, 이동 장치용 처리기.
  26. 방화벽을 동적으로 설정하는 핸드셋(handset)으로서:
    방화벽과 세션을 설정하는 이니셜라이저(initializer);
    적어도 하나의 플로우를 지정하고 상기 적어도 하나의 플로우를 방화벽으로 전달하는 지정기; 및
    상기 적어도 하나의 플로우의 통과를 철회할 수 있는 무효화기를 포함하는 핸드셋.
  27. 제 26 항에 있어서,
    상기 지정기는 적어도 하나의 패킷과 관련된 파라미터를 특정하는, 핸드셋.
  28. 제 27 항에 있어서,
    상기 파라미터는 정확한 값, 값 목록, 값 범위, 및 개방 소켓을 포함하는 핸드셋.
  29. 제 27 항에 있어서,
    상기 무효화기는 상기 적어도 하나의 패킷의 통과를 철회하는 핸드셋.
  30. 제 26 항에 있어서,
    상기 지정기는 하나 이상의 발신자들로부터의 패킷을 요청하는 핸드셋.
  31. 제 30 항에 있어서,
    상기 무효화기는 상기 하나 이상의 발신자들로부터의 패킷에 대한 상기 요청을 폐지하는 핸드셋.
  32. 제 26 항에 있어서,
    상기 무효화기는 적어도 하나의 패킷 파라미터에 기초하여 자동으로 상기 통과를 철회하는 핸드셋.
  33. 제 26 항에 있어서,
    상기 무효화기는 사용자 입력에 기초하여 상기 통과를 철회하는 핸드셋.
KR1020077016549A 2004-12-21 2005-12-21 클라이언트 이용 방화벽 설정 KR100899903B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US63827104P 2004-12-21 2004-12-21
US60/638,271 2004-12-21

Publications (2)

Publication Number Publication Date
KR20070087165A true KR20070087165A (ko) 2007-08-27
KR100899903B1 KR100899903B1 (ko) 2009-05-28

Family

ID=36095794

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020077016549A KR100899903B1 (ko) 2004-12-21 2005-12-21 클라이언트 이용 방화벽 설정

Country Status (10)

Country Link
US (1) US20060253900A1 (ko)
EP (1) EP1829334A1 (ko)
JP (1) JP4589405B2 (ko)
KR (1) KR100899903B1 (ko)
CN (1) CN101124801B (ko)
BR (1) BRPI0519544A2 (ko)
CA (1) CA2591933C (ko)
RU (1) RU2370903C2 (ko)
TW (1) TWI400920B (ko)
WO (1) WO2006069315A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200019855A (ko) * 2017-04-21 2020-02-25 제니맥스 미디어 인크. 모션 벡터들 예측에 의한 플레이어 입력 모션 보상을 위한 시스템들 및 방법들
KR20230075996A (ko) * 2021-11-23 2023-05-31 주식회사 카카오엔터프라이즈 방화벽 장치의 설정값을 제어하는 igw 콘트롤러 및 그것과 방화벽 장치 간의 설정값 동기화 제어 방법

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8910241B2 (en) * 2002-04-25 2014-12-09 Citrix Systems, Inc. Computer security system
US9049223B2 (en) * 2004-10-29 2015-06-02 Telecom Italia S.P.A. System and method for remote security management of a user terminal via a trusted user platform
US8385331B2 (en) * 2006-09-29 2013-02-26 Verizon Patent And Licensing Inc. Secure and reliable policy enforcement
EP1971101B1 (en) * 2007-03-12 2018-11-21 Nokia Solutions and Networks GmbH & Co. KG A method , a device for configuring at least one firewall and a system comprising such device
US9240945B2 (en) 2008-03-19 2016-01-19 Citrix Systems, Inc. Access, priority and bandwidth management based on application identity
US7940658B2 (en) * 2008-09-04 2011-05-10 Cisco Technology, Inc. ERSPAN dynamic session negotiation
US7924830B2 (en) 2008-10-21 2011-04-12 At&T Intellectual Property I, Lp System and method to route data in an anycast environment
KR101221045B1 (ko) * 2008-12-22 2013-01-10 한국전자통신연구원 패킷 처리 방법 및 이를 이용한 toe 장치
US8966607B2 (en) * 2009-07-15 2015-02-24 Rockstar Consortium Us Lp Device programmable network based packet filter
US20110075047A1 (en) * 2009-09-29 2011-03-31 Sony Corporation Firewall port selection using atsc tuner signals
US8520540B1 (en) 2010-07-30 2013-08-27 Cisco Technology, Inc. Remote traffic monitoring through a network
CN102065431A (zh) * 2010-12-28 2011-05-18 上海华勤通讯技术有限公司 手机网络防火墙的使用方法
CN102202094A (zh) * 2011-05-13 2011-09-28 中兴通讯股份有限公司 一种基于http的业务请求处理方法及装置
US8555369B2 (en) 2011-10-10 2013-10-08 International Business Machines Corporation Secure firewall rule formulation
US9077619B2 (en) 2012-09-18 2015-07-07 Cisco Technology, Inc. Exporting real time network traffic latency and buffer occupancy
US9094307B1 (en) 2012-09-18 2015-07-28 Cisco Technology, Inc. Measuring latency within a networking device
US9054967B1 (en) 2012-09-18 2015-06-09 Cisco Technology, Inc. Timestamping packets in a network
US9118707B2 (en) * 2012-12-14 2015-08-25 Verizon Patent And Licensing Inc. Methods and systems for mitigating attack traffic directed at a network element
US9590752B2 (en) * 2013-03-27 2017-03-07 International Business Machines Corporation Peer-to-peer emergency communication using public broadcasting
US20150135265A1 (en) * 2013-11-11 2015-05-14 MyDigitalShield, Inc. Automatic network firewall policy determination
US10298712B2 (en) * 2013-12-11 2019-05-21 Telefonaktiebolaget Lm Ericsson (Publ) Proxy interception
KR101538667B1 (ko) * 2013-12-31 2015-07-22 주식회사 시큐아이 네트워크 시스템 및 네트워크 제어 방법
ES2906748T3 (es) * 2016-11-23 2022-04-20 Huawei Tech Co Ltd Sistema de red óptica pasiva, terminal de línea óptica y unidad de red óptica
US10491613B1 (en) * 2019-01-22 2019-11-26 Capital One Services, Llc Systems and methods for secure communication in cloud computing environments

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6334056B1 (en) * 1999-05-28 2001-12-25 Qwest Communications Int'l., Inc. Secure gateway processing for handheld device markup language (HDML)
KR20010090014A (ko) * 2000-05-09 2001-10-18 김대연 네트워크 보호 시스템
KR100358518B1 (ko) * 2000-07-03 2002-10-30 주식회사 지모컴 임베디드 하드웨어와 범용 컴퓨터가 결합된 방화벽 시스템
KR20020043427A (ko) * 2000-12-04 2002-06-10 박준상 P2p 서비스 시스템 및 방법
US7089586B2 (en) * 2001-05-02 2006-08-08 Ipr Licensing, Inc. Firewall protection for wireless users
US7392537B2 (en) * 2001-10-08 2008-06-24 Stonesoft Oy Managing a network security application
US7593318B2 (en) * 2002-01-07 2009-09-22 Reams Byron L Method and apparatus for header updating
US7139565B2 (en) * 2002-01-08 2006-11-21 Seven Networks, Inc. Connection architecture for a mobile network
US7133368B2 (en) * 2002-02-01 2006-11-07 Microsoft Corporation Peer-to-peer method of quality of service (QoS) probing and analysis and infrastructure employing same
JP2004054488A (ja) * 2002-07-18 2004-02-19 Yokogawa Electric Corp ファイアウォール装置
KR100476237B1 (ko) * 2002-08-13 2005-03-10 시큐아이닷컴 주식회사 복수 방화벽에서의 효율적 부하 분산을 위한 비대칭 트래픽 처리 방법
US7454499B2 (en) * 2002-11-07 2008-11-18 Tippingpoint Technologies, Inc. Active network defense system and method
JP2004180155A (ja) * 2002-11-28 2004-06-24 Ntt Docomo Inc 通信制御装置、ファイアウォール装置、通信制御システム、及び、データ通信方法
JP2004187206A (ja) * 2002-12-06 2004-07-02 Nippon Telegr & Teleph Corp <Ntt> パーソナルフィルタリングシステム及びパーソナルフィルタリング方法
JP2004265286A (ja) * 2003-03-04 2004-09-24 Fujitsu Ltd 環境に応じて選択されたセキュリティ・ポリシーに従うモバイル機器の管理
US7340771B2 (en) * 2003-06-13 2008-03-04 Nokia Corporation System and method for dynamically creating at least one pinhole in a firewall
WO2005004370A2 (en) * 2003-06-28 2005-01-13 Geopacket Corporation Quality determination for packetized information
US8146145B2 (en) * 2004-09-30 2012-03-27 Rockstar Bidco Lp Method and apparatus for enabling enhanced control of traffic propagation through a network firewall

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200019855A (ko) * 2017-04-21 2020-02-25 제니맥스 미디어 인크. 모션 벡터들 예측에 의한 플레이어 입력 모션 보상을 위한 시스템들 및 방법들
US11323740B2 (en) 2017-04-21 2022-05-03 Zenimax Media Inc. Systems and methods for player input motion compensation by anticipating motion vectors and/or caching repetitive motion vectors
US11330291B2 (en) 2017-04-21 2022-05-10 Zenimax Media Inc. Systems and methods for player input motion compensation by anticipating motion vectors and/or caching repetitive motion vectors
US11503332B2 (en) 2017-04-21 2022-11-15 Zenimax Media Inc. Systems and methods for player input motion compensation by anticipating motion vectors and/or caching repetitive motion vectors
US11533504B2 (en) 2017-04-21 2022-12-20 Zenimax Media Inc. Systems and methods for player input motion compensation by anticipating motion vectors and/or caching repetitive motion vectors
US11601670B2 (en) 2017-04-21 2023-03-07 Zenimax Media Inc. Systems and methods for player input motion compensation by anticipating motion vectors and/or caching repetitive motion vectors
US11695951B2 (en) 2017-04-21 2023-07-04 Zenimax Media Inc. Systems and methods for player input motion compensation by anticipating motion vectors and/or caching repetitive motion vectors
KR20230075996A (ko) * 2021-11-23 2023-05-31 주식회사 카카오엔터프라이즈 방화벽 장치의 설정값을 제어하는 igw 콘트롤러 및 그것과 방화벽 장치 간의 설정값 동기화 제어 방법

Also Published As

Publication number Publication date
CA2591933C (en) 2014-01-21
JP2008524970A (ja) 2008-07-10
WO2006069315A8 (en) 2007-11-01
CN101124801A (zh) 2008-02-13
KR100899903B1 (ko) 2009-05-28
TWI400920B (zh) 2013-07-01
EP1829334A1 (en) 2007-09-05
RU2007128045A (ru) 2009-01-27
JP4589405B2 (ja) 2010-12-01
WO2006069315A1 (en) 2006-06-29
TW200640206A (en) 2006-11-16
US20060253900A1 (en) 2006-11-09
RU2370903C2 (ru) 2009-10-20
CN101124801B (zh) 2013-04-03
BRPI0519544A2 (pt) 2009-02-17
CA2591933A1 (en) 2006-06-29

Similar Documents

Publication Publication Date Title
KR100899903B1 (ko) 클라이언트 이용 방화벽 설정
US11159361B2 (en) Method and apparatus for providing notification of detected error conditions in a network
US7853998B2 (en) Firewall propagation
US8234702B2 (en) Cross network layer correlation-based firewalls
US8849961B2 (en) Mobile network optimized method for keeping an application IP connection always on
KR20050001397A (ko) 응용 프로그램이 방화벽을 트래버스하도록 돕는 방법
US20070011731A1 (en) Method, system &amp; computer program product for discovering characteristics of middleboxes
WO2007014507A1 (en) System and method for controling ngn service-based firewall
WO2005117327A2 (en) A system, method, and computer program product for updating the states of a firewall
JP2006114991A (ja) ファイアウォールシステム及びファイアウォール制御方法
WO2004114631A1 (en) System and method for dynamically creating pinholes in a firewall of a sip-based
EP1234469B1 (en) Cellular data system security method
WO2023116791A1 (zh) 访问控制方法、访问控制系统、终端及存储介质
US20180131718A1 (en) Systems and methods for suppressing denial of service attacks
US8078679B2 (en) Method and system for automating collateral configuration in a network
EP2141885B1 (en) Embedded firewall at a telecommunications endpoint
US9338021B2 (en) Network traffic redirection in bi-planar networks
US8023985B1 (en) Transitioning a state of a connection in response to an indication that a wireless link to a wireless device has been lost
EP1757061B1 (en) Extensions to filter on ipv6 header
Gopal et al. User plane firewall for 3G mobile network
Arslanagic Personal firewall in mobile phone
EP1903830A1 (en) Cellular data system security method
WO2001071496A1 (en) System for data transfer in a secured network environment

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130429

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20140430

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20160330

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20170330

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee