KR100289435B1 - 비-기원호스트로의제어방식억세스를위한애플릿방향지정방법 - Google Patents

비-기원호스트로의제어방식억세스를위한애플릿방향지정방법 Download PDF

Info

Publication number
KR100289435B1
KR100289435B1 KR1019980017674A KR19980017674A KR100289435B1 KR 100289435 B1 KR100289435 B1 KR 100289435B1 KR 1019980017674 A KR1019980017674 A KR 1019980017674A KR 19980017674 A KR19980017674 A KR 19980017674A KR 100289435 B1 KR100289435 B1 KR 100289435B1
Authority
KR
South Korea
Prior art keywords
server
applet
function
redirector
connection
Prior art date
Application number
KR1019980017674A
Other languages
English (en)
Other versions
KR19990006463A (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 KR19990006463A publication Critical patent/KR19990006463A/ko
Application granted granted Critical
Publication of KR100289435B1 publication Critical patent/KR100289435B1/ko

Links

Classifications

    • 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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/465Distributed object oriented systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]
    • 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/168Implementing security features at a particular protocol layer above the transport layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/561Adding application-functional data or data for application control, e.g. adding metadata
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/563Data redirection of data network streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • H04L69/162Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
    • 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/40Network security protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Library & Information Science (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 그 애플릿이 기원하지 않은 서버에 대한 동적 애플릿 억세스를 허용하기 위한 방법 및 장치에 관한 것으로서, 기원 서버상의 애플리케이션이 애플릿과 네트워크 자원 사이의 통신을 방향지정한다.

Description

비-기원 호스트로의 제어방식 억세스를 위한 애플릿 방향지정 방법{APPLET REDIRECTION FOR CONTROLLED ACCESS TO NON-ORIGINATING HOSTS}
본 발명은 컴퓨터 시스템 및 그와 같은 컴퓨터 시스템이 네트워크를 통해 데이터 및 코드에 억세스할 수 있도록, 네트워크에 부착된 컴퓨터 시스템을 운영하는 방법에 관한 것이다. 특히, 본 발명은 그 호스트로부터 기원되지 않은 애플릿(applets)에 의한 그 호스트와의 통신에 관한 것이다.
지난 수년간, 인터넷 및 특히, 그 인터넷의 첨단에서 제공되는 기능의 하나인 월드 와이드 웹(WWW 또는 단순히 웹)에서 폭발적인 성장이 이루어졌다. WWW는 많은 상이한 서버에 걸쳐 분산되어 있는 많은 정보 페이지 또는 파일을 포함한다. 각각의 페이지는 범용 자원 로케이터(Universal Resource Locator:URL)에 의해 식별된다. URL은 서버 머신 및 그 머신상의 특정 파일 또는 페이지를 둘다 표시한다. 단일 서버상에 많은 페이지 또는 URL이 존재할 수도 있다.
WWW를 이용하기 위해, 클라이언트는 웹익스플로러(WebExplorer)(IBM사의 운영체제 OS/2의 일부로서 제공됨)나 Netscape 통신사로부터 이용가능한 네비게이터(Navigator) 프로그램과 같은, 웹 브라우저로 알려진 소프트웨어의 일부를 실행한다. 클라이언트는 특정 URL을 선택하기 위해 브라우저와 대화하는데, 다음에, 브라우저는 그 URL 또는 페이지에 대한 요구를 그 URL에서 식별된 서버로 전송하게 된다. 통상적으로 서버는 요구된 페이지를 검색하고, 그 페이지에 대한 데이터를 요구한 클라이언트에게 전송함으로써 그 요구에 응답한다(클라이언트-서버 대화는 하이퍼텍스트 트랜스포트 프로토콜(";HTTP";)에 따라 수행된다). 다음에, 그 페이지는 클라이언트 스크린 상에서 이용자에게 디스플레이된다. 클라이언트는 또한, 서버로 하여금 예를 들어, 특정 토픽과 관련된 WWW 페이지를 검색하기 위해 애플리케이션을 개시(launch)하도록 할 수도 있다.
몇몇 사례에서는, 특권이 있는(privileged) 이용자만이 그 정보를 억세스할 수 있도록 이용자의 억세스를 여과하는 화이어월(firewall)과 같은 보안 메카니즘으로 인해 서버에 도달하지 못할 수도 있다. 이러한 경우에, 이와 같은 억세스를 관리하는 것을 돕기 위해 프록시 서버 또는 프록시 애플리케이션이 사용될 수 있다. 프록시 서버는, 보호된 네트워크 영역과 보호되지 않은 네트워크 영역을 스트래들(straddle)하고, 관련된 이용자 및 그 이용자를 위해 형성된 특권에 근거하여 이들 영역 사이에서의 트래픽의 전달를 용이하게 하는 엔티티로서 간주될 수 있다. 사용되는 네트워크 접속은 단순히 네트워크로부터의 데이터스트림이 송수신되는 소켓(sockets)으로 불린다. 서버상의 제한된 수의 포트가 특정 소켓 데이터 스트림을 수신하도록 개방될 수 있다.
대부분의 WWW 페이지는 HTML(hypertext mark-up language)로서 알려진 언어에 따라 포맷된다. 그러므로, 통상적인 페이지는 태그(tags)로 불리는 내장된 포맷팅 명령과 함께 텍스트를 포함하며, 이들 명령은 폰트 크기, 폰트 스타일(예, 이탤릭체 또는 볼드체), 텍스트를 레이-아웃하는 방법, 및 다른 페이지 옵션을 제어하기 위해 사용될 수 있다. 웹 브라우저는 지정된 포맷에 따라 텍스트를 디스플레이하기 위해 HTML 스크립트(script)를 구문분석(parse)한다. 또한, HTML 페이지는 다른 URL에 관해, 예를 들어, 이미지, 비디오 세그먼트 또는 오디오 파일 등의 멀티미디어 데이터의 일부에 대한 레퍼런스(reference)를 포함할 수 있다. 웹 브라우저는 데이터를 검색하고 디스플레이 또는 플레이함으로써 이와 같은 레퍼런스에 응답한다. 대안으로, 이와 같은 멀티미디어 데이터는 어떠한 주위의 HTML 텍스트도 없이, 그 자신의 WWW 페이지를 형성할 수도 있다.
대부분의 WWW 페이지는 또한, 원래의 페이지와 동일한 서버에 존재할 필요가 없는 다른 페이지에 대한 하나 또는 그 이상의 서버를 포함할 수 있다. 이와 같은 레퍼런스는 일반적으로, 마우스 제어 버튼을 (두번) 클릭함으로써 스크린 상에서 사용자가 특정 위치(locations)를 선택함으로써 활성화될 수 있다. 이들 레퍼런스 또는 위치는 하이퍼링크로서 알려져 있으며, 특정 방식으로 브라우저에 의해 플래그(flagged)된다(예를 들어, 하이퍼링크와 연관된 어떤 텍스트가 상이한 색상으로 되어 있을 수도 있다). 만일 이용자가 하이퍼링크를 선택하면, 참조된 페이지가 검색되어 현재 디스플레이되고 있는 페이지와 대체된다.
HTML 및 WWW에 관한 더 이상의 정보에 대해서는, Dr Dobbs Journal(1994년 12월), 18-26 페이지, Douglas McArthur의 ";World Wide Web and HTML";과 Ian Graham(뉴욕 존 와일리, 1995)의 ";The HTML SourcesBook";에서 찾아 볼수 있다.
전술한 바와 같이, 또한, 현재 구현되고 있는 바와 같이 일반적으로 말하면, WWW는 서버로부터 클라이언트로 다운로드된 페이지가 근본적으로 수동적이라는, 다시 말하면, 이들 페이지가 클라이언트 머신에서 실행되는 코드를 포함하지 못한다는 단점이 있다. 이것의 한가지 의미는 서버가 클라이언트와 서버 사이의 대화(interaction)와 관련된 어떠한 처리도 클라이언트로 작업분담(offload)을 할 수 없다는 것이다. 따라서, 만일 클라이언트가 예를 들어, 그 전화 번호로 폼(form)을 완성하면, 서버에서는 그 전화 번호의 숫자에 관한 형식적인 검사가 수행되어야 한다. 이것은 첫째로 서버에서 보다 무거운 처리 부담을 초래하고, 두 번째로, 정정해야할 어떤 오류가 있는 경우에 서버와 클라이언트 사이에서 시간을 소비하는 여분의 통신을 초래한다. 또한, 클라이언트에서 실행하기 위한 코드를 다운로드하는데 있어서의 서버의 무능력으로 인해, WWW를 활용하기 위해 만들어질 수 있는 애플리케이션의 형태에 상당한 제한이 있게 된다.
Sun Microsystems Inc. 로부터의 자바(Java) 기술을 기반으로 하여 최근에 개발된 것은 전술한 문제점을 극복하기 위해 추구해 왔다. 자바 기술은 기본적으로, (1) C 및 C++와 약간 유사한 새로운 프로그래밍 언어와 (2) 가상(virtual) 머신을 포함한다. 근본적으로, 자바 프로그래밍 언어로 기록된 프로그램은 바이트 코드 형태로 컴파일되어, 클라이언트 상에서 실행되는 자바 가상 머신에서의 실행시 번역(interpret)될 수 있다. 자바 가상 머신은 바이트 코드를 기본적인 물리적 머신에 의해 실행될 수 있는 명령어로 변환한다.
자바를 이용하여 기록된 프로그램은 클라이언트의 자바 가상 머신 상에서 실행하기 위해 바이트 코드의 형태로 WWW를 통해 다운로드될 수 있다. 그런 프로그램들은 ";애플릿(applets)";으로 알려져 있다. WWW를 통해 코드를 다운로드하기 위한 자바 기술의 이용은 2가지 중요한 잇점을 갖고 있다. 먼저, 각각의 클라이언트가 자바 가상 머신의 카피를 갖고 있는 것으로 가정하면(클라이언트의 시스템에 있는 가상 머신은 통상적으로 운영체제 또는 웹 브라우저 자체에 포함된다), 애플릿이 플랫폼에 대해 독립적이 될 수 있다. 다시 말하면, 서버가 그 각각의 운영체제 및 머신에 따라 클라이언트로 다운로드하기 위해 코드의 다른 버전을 구비할 필요가 없다. 그러므로, 단지 관련 코드의 하나의 버전만이 기록되고 유지될 필요가 있으며, 이것은 소프트웨어 개발자에 있어 생활을 훨씬 단순하게 만든다. 두 번째로, 애플릿이 물리적인 머신이 아닌 가상 머신 상에서 실행되기 때문에, 보안성이 크게 향상된다. 네트워크를 통해 코드를 다운로드할 때에는, 그 코드가 클라이언트에 저장된 데이터 또는 프로그램에 손상을 줄 수도 있는 부당한 코드를 (우연하게 또는 그렇지 않게) 포함하게될 위험이 항상 있다. 그러나, 가상 머신은 애플릿의 동작을 모니터할 수 있으며, 따라서 이와 같은 부당한 액티비티를 검출하고 방지할 수 있다.
가상 머신 상에서의 실행을 위해 바이트 코드의 형태로 서버로부터 클라이언트로 소프트웨어를 다운로드하는 개념은 또한 자바 기술과 무관하게 알려져 있다는 것을 주목하자. 이에 대해서는 미국 특허 제 5,347,632 호를 참조하자.
자바 애플릿을 호출하기 위해, HTML 텍스트의 웹 페이지는 그 애플릿을 포함하는 URL을 식별하는 <APPLET> 태그를 포함한다. 브라우저는 그 애플릿을 검색하여 실행(running)함으로써 이 태그에 응답한다. 또한, 실행시 그 애플릿으로 전달되는 파라미터를 명시하기 위해 사용될 수 있는, 한 쌍의 대응하는 <APPLET> 및 </APPLET> 내에 포함된 <PARAM> 태그가 정의된다(APPLET 및 PARAM 태그는 공식적으로 HTML 표준에 포함되어 있지는 않지만, 그럼에도 불구하고 많은 웹 브라우저에 의해 인식된다는 것을 주목하자). 자바 기술 및 애플릿에 관한 더 이상의 정보에 대해서는, Laura Lemay 및 Charles Perkins의 ";Teach Yourself Java in 21 Days";(Sams.net Publishing, Indianapolis, USA, 1996)을 참조하자.
이와 같은 애플릿의 중요한 제약은 표준 자바 모델은 단지 애플릿이 그것이 다운로드된 서버와 대화하는 것만을 허용한다는 것이다. 이것은 자바 ";샌드박스(sandbox)"; 보안성 제약으로 불린다. 이것은 약간의 보안상의 잇점을 제공하지만, 몇몇 애플리케이션에 있어서 자바 이용을 심각하게 제한한다. 예를 들어, 이것은 그 주요 목적이 네트워크 내의 많은 다른 시스템과의 통신을 수행하는 것을 목적으로 하는 연결성(connectivity)에 있는 애플릿(네트워킹 애플릿)에 있어서는 바람직하지 않다. 자바 디벨로프먼트 키트(Java Development Kit:JDK) 버전 1.1과 같은 최근의 자바 릴리스(release)는 이에 대해 신용 애플릿(trusted applets)으로 불리는 솔루션을 제공하는데, 이러한 솔루션이 모든 시나리오에 대해 작용하는 것은 아니다. 첫 번째로, 이것은 이전의 JDK 버전(예, 1.02)의 이용자를 해결하지 못한다. 두 번째로, 주요 웹 브라우저가 아직 JDK 1.1에 완전하게 적응하지 못한다. 세 번째로, 가장 중요하게, 네트워크 관리자(administrators)가 그들의 이용자가 그들의 네트워크 내의 어떤 임의적인 호스트에 접속하길 원하지 않는다. 대신에, 이들 관리자는 관리상의 제어 및 보안 능력의 장점이 있는 멀티-호스트 애플릿 통신의 유연성을 원한다. 이러한 세가지 장점 모두를 제공하는 이용가능한 솔루션은 없다.
본 발명은 애플릿으로 하여금, 필터 및 애드-온(add-on) 관리 기능을 통해 방향지정(redirection)을 관리하기 위한 능력을 가진 기원(originating) 서버에서 애플릿 통신을 방향지정함으로써 복수의 호스트와 통신할 수 있도록 허용하는 방법 및 장치를 제공한다. 이러한 기능은 주 애플릿을 수용하고 있는 웹 서버 상에 존재하는 서버 애플리케이션(리디렉터(redirector)로도 불림)에 의해 가능하다. 비록 본 발명을 설명하기 위해 ";자바"; 및 일반적인 자바-관련 용어 ";애플릿";이 사용되었지만, 이와 같은 사용은 어떤 특정 프로그램 또는 네트워킹 환경에 본 발명을 제한하고자 의도된 것은 아니다.
본 발명은 웹 서버 상에 설치되어, 동일한 서버 상에 존재하는 네트워킹 애플릿에 대한 통신을 방향지정하는 애플리케이션(리디렉터)을 정의한다. 네트워킹 애플릿이 다른 호스트로의 세션(session)을 설정하기 위해 웹 서버로부터 다운로드되면, 애플릿 코드는 웹 서버명을 검출하고, 리디렉터의 포트 번호로의 소켓 접속을 개방한다. 리디렉터는 이 접속을 승인하고, 네트워킹 애플릿은 원격 호스트 서버명 및 리디렉터 접속을 위한 소켓에 의해 응답할 수 있다. 리디렉터가 요구된 호스트 접속을 행하면, 2개의 접속이 중간 재루팅(rerouting) 트래픽의 리디렉터에 대한 호스트와 네트워킹 애플릿 사이의 통신 파이프를 형성한다. 이와 같은 접근방법에 있어서는, 네트워킹 애플릿 기능을 허용하기 위해 기존의 네트워킹 환경에서의 어느 부분에서도 변경이 요구되지 않는다. 이러한 방식으로, 네트워킹 애플릿은 원격 호스트 및 웹 서버 관리자와 대화할 수 있으며, 또한, 리디렉터 구성의 변경을 통해, 이와 같은 애플릿 방향지정을 제어할 수 있다.
본 발명은 특히, 이와 같은 애플릿 방향지정을 관리하기 위한 접근방법을 정의한다. 리디렉터는 호스트 억세스 필터링 테이블로 구성된다. 이 테이블은 그에 대한 억세스가 허용될 모든 관리되는 호스트 어드레스 및 이용자 어드레스 범위를 포함한다. 예를 들어, 만일 네트워킹 애플릿이 다운로드되어 호스트 A에 대한 접속을 요구하면, 그것이 호스트 A에 대한 억세스의 허용가능한 범위에 있는지 알기 위해 그 애플릿이 실행되고 있는 머신 어드레스가 검사될 수 있다. 만일 허용가능한 범위에 있지 않으면, 그 접속 요구는 거부되며, 필터 거부의 기록 유지를 위해 로깅될 수도 있다. 양호한 실시예에서 논의되는 예는 이러한 상호작용의 보다 상세한 예시를 제공한다.
본 발명은 또한, 소정의 호스트 어드레스를 알아내고 요구하기 위한 네트워킹 애플릿의 부담을 경감시키는 정적(static) 호스트 접속을 위한 방법을 정의한다. 대신에, 이용자 어드레스 범위에 따라 호스트 접속을 루팅하기 위해 전술한 필터링 테이블이 사용될 수 있다. 만일 리디렉터가 이러한 능력을 위해 구성되었으면, 네트워킹 애플릿은 단지 호스트 접속에 지정되도록 리디렉터와 접촉(contact)할 필요가 있다. 호스트에 특정한(host-specific) 접속 요구 없이 네트워킹 애플릿에 의해 접촉될 때, 리디렉터는 어떤 호스트가 애플릿의 어드레스 범위에 대한 디폴트에 의해 접속되어야 하는지 알기 위해 필터 테이블을 조사할 수 있다.
본 발명은 또한, 애드-온 모듈을 이용하여 리디렉터 기능을 향상시키는 방법을 정의한다. 이러한 접근방법에 있어서, 리디렉터 기능은 추가적인 기능이 요구되는 경우에 웹 서버로 프로그램되거나 재분산될 필요가 없다. 대신에, 리디렉터로 하여금 애드-온 모듈과 대화하고, 리디렉터가 인식하고 있을 필요가 없는 기능을 수행하도록 하는 접근방법이 정의된다. 양호한 실시예에서 한 예로서 논의되는 이와 같은 애드-온 중 하나로, 클라이언트로부터 서버로의 세션 데이터를 암호화하는 보안 애드-온이 있다. 이와 같은 기능에 의해, 네트워킹 애플릿은 이와 같은 암호화를 수행하기 위해 리디렉터 기능을 변경할 필요 없이 암호화된 세션의 장점을 얻는다.
도1은 샌드박스 제약이 있는 기본 네트워크 환경(종래 기술)을 도시하는 도면.
도2는 비-기원 호스트에 대한 억세스를 가능하게 하는 본 발명의 네트워크 환경을 도시하는 도면.
도3은 관리되는 확장 억세스를 위해 본 발명을 이용할 때 애플릿, 리디렉터 및 호스트 서버 사이의 흐름을 도시하는 도면.
도4는 본 발명에 따라 암호화와 같은 애드-온 기능을 사용하는 것과 관련된 흐름을 도시하는 도면.
< 도면의 주요 부분에 대한 부호의 설명 >
201 : 웹 이용자 클라이언트
202 : 애플릿
203 : 웹 서버
204 : 리디렉터
205 : 네트워크 애플리케이션 및 자원
본 발명의 양호한 실시예는 자바 프로그래밍 클래스 및 웹 클라이언트/서버 네트워크 환경을 이용하여 구현된다. 이것은 이용자에 의해 기록된 클라이언트 네트워킹 애플릿, 네트워크상의 목표 자원 및 본 발명에 의해 정의된 바와 같이 웹 서버 상에 존재하는 리디렉터 애플리케이션을 포함한다. 이 프레임워크에서의 상호작용은 특정 예를 이용하면 잘 이해될 것이다.
도1에 도시된 예시적인 네트워크는 현재의 자바 샌드박스 보안성 제약이 있는 네트워킹 애플릿 능력을 나타낸다. 자바-인에이블(Java-enabled) 웹 브라우저 또는 자바 애플릿 뷰어(viewer)와 같은 웹 클라이언트(101)를 이용하여, 이용자는 웹 서버(103)로부터 동적으로 다운로드된 애플릿(102)을 실행시킨다. 그러나, 샌드박스 제약으로 인해, 애플릿은 단지 그것이 기원한 서버(103)와만 통신할 수 있다. 서버(103)상의 애플리케이션 및 자원(104)은 정보를 저장하거나 그 태스크를 완료하는 것을 돕기 위해 애플릿에 의해 이용될 수 있지만, 이 애플릿은 네트워크에 존재할 수도 있는 다른 서버에 억세스하는 것은 허용되지 않는다. 전술한 바와 같이, 자바 표준에서의 최근의 진보는 다른 자원에 억세스할 수 있는 신용(trusted) 애플릿을 위한 프레임워크를 정의하고 있는데, 이와 같은 접근방법은 오늘날의 브라우저에 의해 광범위하게 지원되지 않으며, 특히, 애플릿이 어떤 자원에 억세스할 수 있는지에 대한 관리적인 제어(administrative control)를 제공하지 않는다.
도2에 도시된 네트워크는 본 발명에 따라 가능한 억세스 범위 및 그 억세스를 위해 제공되는 관리적인 제어를 나타낸다. 웹 클라이언트(201)상의 자바-인에이블 브라우저 또는 애플릿 뷰어를 이용하여, 이용자는 웹 서버(203)로부터 동적으로 다운로드된 애플릿(202)을 실행시킨다. 자바에서 이용가능한 능력을 통해, 애플릿(202)은 단지 리디렉터 프록시(proxy)(204)를 포함하는 기원 서버(203)상의 자원에 직접 억세스할 수 있다. 그러나, 리디렉터(204)와의 이러한 대화로부터, 애플릿(202)은 또한, 네트워크의 다른 곳에 있는 애플리케이션 또는 자원(205)에 간접적으로 억세스할 수 있다. 리디렉터(204)는 애플릿(202)에 의해 접촉된 이후에, 애플릿을 대신하여 다른 네트워크 자원(205)에 접촉하고, 그 애플릿(202)과 자원(205) 사이에서 정보를 전송한다. 이러한 방식으로, 본 발명의 리디렉터(204)의 이용을 통해, 애플릿(202)에 이용가능한 통신 범위가 확장된다. 비록 검사되지는 않았지만, 이러한 증가된 억세스는 제공되지 않으며, 그 이유는 리디렉터(204)가 중앙에 존재함으로 인해 그것이 다른 네트워크 자원에 대한 억세스를 관리하기 위해 이용되기 때문이다. 외부 억세스가 어떻게 제공되어 관리되는지에 관한 상세한 설명은 도3 및 도4를 참조하여 제공된다.
도3은 호스트 서버(305)에 억세스하기 위해 본 발명의 리디렉터(303) 기능을 이용하는, 웹 클라이언트(301,306)상의 이용자 A와 B를 도시하고 있다. 간략성을 위해, 이 도면의 흐름은 자바 애플릿이 웹 서버(302)로부터 웹 클라이언트(301,306)로 다운로드된 이후부터 시작된다. 통신은 웹 서버(302)상의 그 포트 번호(311)를 통해 리디렉터(303)를 개방(open)할 것을 요구하는 애플릿으로 시작되는데, 비록 도면에는 이용자(301,306)가 웹 서버(302)로부터 분리되어 있는 것으로 도시되어 있지만, 이들은 동일한 컴퓨터에 존재할 수도 있다. 리디렉터(303)는 클라이언트(301)로부터의 개방 요구를 인식하고, 그것을 수용한다(312). 다음에, 클라이언트(301)는 웹 서버(302)와는 다른 호스트 서버(205)로의 접속을 요구한다. 리디렉터(303)는 이용자 A가 호스트 서버(305)와 접촉하도록 허용되었는지 알기 위해 이용자 테이블 및 특권사항(privileges)을 검사한다(314). 이러한 시나리오에서, 이용자 A가 접속이 허용되고, 리디렉터가 호스트 서버(305)와의 통신을 위해 포트를 개방하는 것으로 가정한다(315). 호스트 서버(305)는 이 요구에 성공적으로 응답하고(316), 리디렉터(303)는 클라이언트에게 호스트 서버(305)와 통신할 수 있다는 것을 통지한다(317). 자바 샌드박스 제약은 단지 웹 서버(302)로의 직접 접속만을 허용하며, 이러한 호스트 서버(305)로의 접속은 단지 본 발명에 의해서만 가능하다는 것을 주목하자. 이 시점으로부터, 클라이언트(301)는 호스트 서버(305) 및 중개자로서 작용하는 리디렉터(303)와 정보를 교환할 수 있다(318).
도3은 또한, 적절한 특권을 갖고 있지 않은 것으로 가정할 수 있는 이용자 B를 도시하고 있다. 클라이언트(306)는 리디렉터 포트를 개방하고(319), 리디렉터(303)는 성공적으로 응답한다(320). 다음에, 클라이언트(306)는 그 접속 권한이 없는 원격 호스트 서버(305)로의 접속을 요구한다(321). 그러면, 리디렉터(305)는 그 호스트 억세스 테이블을 검사하고, 이용자 B가 이러한 접속을 위한 필요한 특권을 갖고 있지 않다는 것을 알게 된다(314). 다음에, 리디렉터(303)는 그 억세스가 거부되었다는 것을 클라이언트(306)에게 알려 접속 요구를 거절한다. 이용자 A에게는 허용되고 이용자 B에게는 거부된 호스트 억세스 테이블은 서버에서, 또는 한 호스트씩을 기반으로하여 원격으로 변경될 수 있으며, 또는 기존의 호스트 흐름을 동적으로 방향지정하도록 변경될 수 있다. 이러한 필터링 능력에 의해, 관리자는 보안 목적의 제어를 유지하면서, 웹 클라이언트에게 확장된 억세스를 제공할 수 있다.
도4는 본 발명에 의해 정의된 바와 같은 애드-온 기능을 포함하는 예시적인 흐름을 도시하고 있다. 양호한 실시예에 사용된 특정 애드-온은 클라이언트와 서버 사이의 암호화/해독(encryption/decryption) 능력을 허용하는 것이다. 간략성을 위해, 도면 흐름은 자바 애플릿이 웹 서버(402)로부터 웹 클라이언트(401)로 다운로드된 이후부터 시작된다. 통신은 웹 서버(402)상의 그 포트 번호를 통해 보안 접속에 관해 리디렉터(403)에게 개방할 것을 요구하는 애플릿에 의해 시작된다(411). 보안 접속이 요구되었다는 점에서 보면, 리디렉터(403)는 클라이언트를 그 보안 포트 기능(404)에 접속하고, 성공을 통지한다(412). 다음에, 클라이언트(401)는 호스트 서버(407)로의 접속을 요구하고(413), 리디렉터(403)는 호스트 억세스 테이블내의 이용자 특권사항을 검사한다(414). 이 이용자에게 이 호스트 서버(407)에 대한 억세스가 허용되었다는 점에서 보면, 리디렉터(403)는 호스트 서버 포트를 개방하고, 성공적인 확인신호(confirmation)을 수신하고(416), 그 접속의 성공을 클라이언트에게 통지한다(417). 이제, 보안 접속이 설정되었으며, 클라이언트(401)는 암호화된 데이터 흐름을 웹 서버(402)로 전송한다(418). 데이터 흐름이 암호화될 것이라는 것을 알고 있는 보안 포트(404) 기능으로 인해, 데이터는 암호화/해독 애드-온(406)으로 전달된다(419). 암호화 애드-온은 그 시스템에 의해 지원되는 어떠한 암호화 형태로도 이루어질 수 있다. 애드-온은 데이터를 해독하여, 정상적인 데이터 흐름으로서 리디렉터(403)로 다시 전달한다(420). 리디렉터는 데이터 흐름을 받아 들여(421) 호스트 서버(407)로 전송한다. 호스트(407)가 다시 정상적인 데이터를 리디렉터로 전송하고, 리디렉터가 그것을 암호화를 위해 전달할 때 마다, 이와 동일한 프로세스는 그 자체적으로 역류된다(reverse). 이러한 방식으로, 애플릿은 서버 코드 또는 리디렉터 코드에 대한 변경 없이 보안 세션을 갖는 능력을 얻는다. 이러한 예는 보안성 애드-온을 제공하지만, 애드-온의 개념은 특정 형태의 애드-온에 제한되지 않으며, 리디렉터의 관리 지식을 필요로하지 않는 어떤 다른 기능의 애드-온에도 적용될 수 있다.
전술한 바와 같은 본 발명에 따르면, 그 호스트로부터 기원되지 않은 애플릿이 그 호스트와 통신할 수 있도록 하는 효과가 있다.

Claims (17)

  1. 자바 애플릿으로 하여금 상기 애플릿이 다운로드되었던 제1 서버 이외의 다른 서버와와 통신할 수 있도록 허용하는 방법-여기서, 상기 방법은 상기 애플릿이 상기 다른 서버에 억세스하는 것을 방지하는 자바 샌드박스 보안 제약을 극복하도록 동작함-에 있어서,
    유일한 어드레스를 가진 상기 제1 서버로부터 이용자 워크스테이션으로 선택된 애플릿을 다운로드하는 단계;
    상기 제1 서버의 어드레스를 검출하는 단계;
    상기 선택된 애플릿으로부터 상기 제1 서버 상의 리디렉터 기능(redirector function)으로의 제1 소켓 접속을 개방하는 단계;
    상기 선택된 애플릿으로부터 상기 리디렉터 기능으로 목표 호스트 서버에 대한 어드레스를 전송하는 단계;
    상기 선택된 애플릿을 대신하여 상기 리디렉터 기능으로부터 상기 목표 호스트 서버 상의 호스트 기능으로의 제2 소켓 접속을 개방하는 단계; 및
    상기 제1 소켓 접속 및 상기 제2 소켓 접속을 이용하여 상기 리디렉터 기능을 통해 데이터를 방향지정함으로써 간접적으로 상기 선택된 애플릿으로부터 상기 호스트 기능에 억세스하는 단계
    를 포함하는 방법.
  2. 컴퓨터 네트워크 내의 애플릿으로 하여금 하나 또는 그 이상의 목표 자원에 억세스할 목적으로 하나 또는 그 이상의 원격 서버-여기서, 상기 목표 자원은 상기 원격 서버로부터의 억세스가 가능하며, 상기 원격 서버는 상기 애플릿이 다운로드되었던 제1 서버와 다른 것임-와 통신할 수 있도록 하기 위한 방법에 있어서,
    상기 제1 서버 상에 하나 또는 그 이상의 애플릿-여기서, 상기 애플릿은 상기 제1 서버를 제외한 다른 서버와 직접적으로 메시지를 교환하는 것이 고유적으로 금지됨-을 저장하는 단계;
    상기 애플릿 중 선택된 하나의 애플릿을 클라이언트 머신으로 다운로드하는 단계;
    상기 클라이언트 머신 상에서 상기 다운로드된 선택 애플릿을 실행하는 단계;
    상기 제1 서버 상에서 리디렉터 기능을 실행하는 단계;
    상기 선택된 애플릿과 상기 리디렉터 기능 사이에 제1 접속을 설정하는 단계;
    상기 애플릿으로부터 상기 리디렉터 기능으로 접속 요구-여기서, 상기 접속 요구는 (1) 상기 제1 서버 이외의 상기 서버중 선택된 서버의 서버 호스트 어드레스와 (2) 상기 선택된 서버 상의 포트 번호를 지정함-를 전송하는 단계;
    상기 리디렉터 기능에 의해 상기 접속 요구를 수신하는 단계;
    상기 수신 단계에 응답하여, 상기 클라이언트 머신이 상기 선택된 서버에 억세스할 권한을 부여받았는지 판단하기 위해 필터 테이블을 검사하는 단계;
    상기 검사 단계의 결과가 긍정일 때, 상기 리디렉터 기능과 상기 선택된 서버 사이에 제2 접속-여기서, 상기 제2 접속은 상기 애플릿을 대신하여 이루어짐-을 상기 리디렉터 기능에 의해 설정하는 단계; 및
    상기 제1 접속과 상기 제2 접속 사이에서 교환 메시지를 전송하기 위해 상기 리디렉터 기능을 이용하여 상기 애플릿과 상기 선택된 서버 사이에서 메시지를 간접적으로 교환하는 단계
    를 포함하는 방법.
  3. 제2항에 있어서, 상기 애플릿은 자바 애플릿이고, 자바 샌드박스 보안 제약의 동작에 의해 상기 고유적인 금지(inherent prohibition)가 강요되는 방법.
  4. 제2항 또는 제3항에 있어서,
    상기 필터 테이블은 다수의 엔트리-여기서, 각각의 엔트리는 상기 제1 서버 이외의 상기 서버중 특정 서버의 어드레스 및 상기 특정 서버에 억세스할 권한을 부여받은 클라이언트 머신 어드레스 범위를 포함함-를 포함하고;
    상기 검사 단계는,
    상기 접속 요구로부터 클라이언트 어드레스를 추출하는 단계;
    상기 테이블에서 특정 엔트리의 위치를 찾는(locate) 단계-여기서, 상기 특정 엔트리 내의 상기 어드레스는 상기 접속 요구로부터의 상기 서버 호스트 어드레스와 일치함-; 및
    상기 추출된 클라이언트 어드레스를 상기 위치를 찾은 엔트리의 상기 어드레스 범위와 비교하는 단계를 포함하는 방법.
  5. 제2항에 있어서,
    상기 제1 서버 상에서 애드-온 기능(add-on function)을 실행하는 단계; 및
    상기 애드-온 기능을 이용하여 상기 교환된 메시지들의 후속 처리를 수행하는 단계를 더 포함하는 방법.
  6. 제5항에 있어서,
    상기 애드-온 기능은 상기 클라이언트 머신과 상기 제1 서버 사이에서 보안 데이터 전송을 제공하기 위한 암호화 기능이고,
    상기 후속 처리를 수행하는 단계는,
    상기 제1 접속을 통해 상기 리디렉터 기능을 통해 상기 애플릿으로부터 암호화된 데이터를 수신하는 단계;
    상기 암호화된 데이터를 상기 리디렉터 기능으로부터 상기 애드-온 기능으로 전송하는 단계;
    상기 애드-온 기능을 이용하여 상기 암호화된 데이터를 해독하는 단계;
    상기 해독된 데이터를 상기 애드-온 기능으로부터 상기 리디렉터 기능으로 반송하는 단계;
    상기 해독된 데이터를 상기 리디렉터 기능으로부터 상기 제2 접속을 통해 상기 선택된 서버로 전송하는 단계;
    상기 제2 접속을 통해 상기 리디렉터 기능에 의해 상기 선택된 서버로부터 암호화되지 않은 데이터를 수신하는 단계;
    상기 암호화되지 않은 데이터를 상기 리디렉터 기능으로부터 상기 애드-온 기능으로 전송하는 단계;
    상기 애드-온 기능을 이용하여 상기 암호화되지 않은 데이터를 암호화하는 단계;
    상기 암호화된 데이터를 상기 애드-온 기능으로부터 상기 리디렉터 기능으로 반송하는 단계; 및
    상기 암호화된 데이터를 상기 리디렉터 기능으로부터 상기 애플릿으로 전송하는 단계를 포함하는 방법.
  7. 컴퓨터 네트워크 내의 애플릿으로 하여금 하나 또는 그 이상의 목표 자원에 억세스할 목적으로 하나 또는 그 이상의 원격 서버-여기서, 상기 목표 자원은 상기 원격 서버로부터의 억세스가 가능하며, 상기 원격 서버는 상기 애플릿이 다운로드되었던 제1 서버와 다른 것임-와 통신할 수 있도록 하기 위한 방법에 있어서,
    상기 제1 서버 상에 하나 또는 그 이상의 애플릿-여기서, 상기 애플릿은 상기 제1 서버를 제외한 다른 서버와 직접적으로 메시지를 교환하는 것이 고유적으로 금지됨-을 저장하는 단계;
    상기 애플릿 중 선택된 하나의 애플릿을 클라이언트 머신으로 다운로드하는 단계;
    상기 클라이언트 머신 상에서 상기 다운로드된 선택 애플릿을 실행하는 단계;
    상기 제1 서버 상에서 리디렉터 기능을 실행하는 단계;
    상기 선택된 애플릿과 상기 리디렉터 기능 사이에 제1 접속을 설정하는 단계;
    상기 애플릿으로부터 상기 리디렉터 기능으로 접속 요구-여기서, 상기 접속 요구는 (1) 목표 서버의 서버 호스트 어드레스를 지정하지 않음-를 전송하는 단계;
    상기 리디렉터 기능에 의해 상기 접속 요구를 수신하는 단계;
    상기 수신 단계에 응답하여, 상기 클라이언트 머신과 함께 이용될 디폴트 목표 서버를 판단하기 위해 필터 테이블을 검사하는 단계;
    상기 리디렉터 기능에 의해, 상기 애플릿을 대신하여 상기 리디렉터 기능과 상기 디폴트 목표 서버 사이에 제2 접속을 설정하는 단계; 및
    상기 제1 접속과 상기 제2 접속 사이에서 교환 메시지를 전송하기 위해 상기 리디렉터 기능을 이용하여 상기 애플릿과 상기 디폴트 목표 서버 사이에서 메시지를 간접적으로 교환하는 단계
    를 포함하는 방법.
  8. 제7항에 있어서, 상기 애플릿은 자바 애플릿이고, 자바 샌드박스 보안 제약의 동작에 의해 상기 고유적인 금지(inherent prohibition)가 강요되는 방법.
  9. 제7항 또는 제8항에 있어서,
    상기 필터 테이블은 다수의 엔트리-여기서, 각각의 엔트리는 상기 제1 서버 이외의 상기 서버중 특정 서버의 어드레스 및 상기 특정 서버에 억세스할 권한을 부여받은 클라이언트 머신 어드레스 범위를 포함함-를 포함하고;
    상기 검사 단계는,
    상기 접속 요구로부터 클라이언트 어드레스를 추출하는 단계; 및
    상기 테이블에서 특정 엔트리의 위치를 찾는(locate) 단계-여기서, 상기 특정 엔트리 내의 상기 어드레스는 상기 추출된 클라이언트 어드레스와 일치함-더 를 포함하는 방법.
  10. 애플릿으로 하여금 상기 애플릿이 다운로드되었던 제1 서버 이외의 다른 서버와 통신할 수 있도록 하기 위한 컴퓨터 네트워크 내의 시스템에 있어서,
    상기 제1 서버 상에 각각 저장된 하나 또는 그 이상의 애플릿-여기서, 상기 애플릿은 상기 제1 서버를 제외한 다른 서버와 직접적으로 메시지를 교환하는 것이 고유적으로 금지됨-;
    상기 제1 서버 이외의 서버로부터 각각 억세스가능한 하나 또는 그 이상의 목표 자원;
    상기 애플릿 중 선택된 하나의 애플릿이 다운로드되는 클라이언트 머신;
    상기 클라이언트 머신 상에서 상기 다운로드된 선택 애플릿을 실행하기 위한 수단;
    상기 제1 서버 상에서 리디렉터 기능을 실행하기 위한 수단;
    상기 선택된 애플릿과 상기 리디렉터 기능 사이에 제1 접속을 설정하기 위한 수단;
    상기 애플릿으로부터 상기 리디렉터 기능으로 접속 요구-여기서, 상기 접속 요구는 (1) 상기 제1 서버 이외의 상기 서버중 선택된 서버의 서버 호스트 어드레스와 (2) 상기 선택된 서버 상의 포트 번호를 지정함-를 전송하기 위한 수단;
    상기 리디렉터 기능에 의해 상기 접속 요구를 수신하기 위한 수단;
    상기 수신 수단에 응답하여, 상기 클라이언트 머신이 상기 선택된 서버에 억세스할 권한을 부여받았는지 판단하기 위해 필터 테이블을 검사하기 위한 수단;
    상기 검사 수단의 결과가 긍정일 때, 상기 리디렉터 기능과 상기 선택된 서버 사이에 제2 접속-여기서, 상기 제2 접속은 상기 애플릿을 대신하여 이루어짐-을 상기 리디렉터 기능에 의해 설정하기 위한 수단; 및
    상기 제1 접속과 상기 제2 접속 사이에서 교환 메시지를 전송하기 위해 상기 리디렉터 기능을 이용하여 상기 애플릿과 상기 선택된 서버 사이에서 메시지를 간접적으로 교환하기 위한 수단을 포함하는 시스템.
  11. 애플릿으로 하여금 상기 애플릿이 다운로드되었던 제1 서버 이외의 다른 서버와 통신할 수 있도록 하기 위한 컴퓨터 네트워크 내의 시스템에 있어서,
    상기 제1 서버 상에 각각 저장된 하나 또는 그 이상의 애플릿-여기서, 상기 애플릿은 상기 제1 서버를 제외한 다른 서버와 직접적으로 메시지를 교환하는 것이 고유적으로 금지됨-;
    상기 제1 서버 이외의 서버로부터 각각 억세스가능한 하나 또는 그 이상의 목표 자원;
    상기 애플릿 중 선택된 하나의 애플릿이 다운로드되는 클라이언트 머신;
    상기 클라이언트 머신 상에서 상기 다운로드된 선택 애플릿을 실행하기 위한 수단;
    상기 제1 서버 상에서 리디렉터 기능을 실행하기 위한 수단;
    상기 선택된 애플릿과 상기 리디렉터 기능 사이에 제1 접속을 설정하기 위한 수단;
    상기 애플릿으로부터 상기 리디렉터 기능으로 접속 요구-여기서, 상기 접속 요구는 (1) 목표 서버의 서버 호스트 어드레스를 지정하지 않음-를 전송하기 위한 수단;
    상기 리디렉터 기능에 의해 상기 접속 요구를 수신하기 위한 수단;
    상기 수신 수단에 응답하여, 상기 클라이언트 머신과 함께 이용될 디폴트 목표 서버를 판단하기 위해 필터 테이블을 검사하기 위한 수단;
    상기 리디렉터 기능에 의해, 상기 애플릿을 대신하여 상기 리디렉터 기능과 상기 디폴트 목표 서버 사이에 제2 접속을 설정하기 위한 수단; 및
    상기 제1 접속과 상기 제2 접속 사이에서 교환 메시지를 전송하기 위해 상기 리디렉터 기능을 이용하여 상기 애플릿과 상기 디폴트 목표 서버 사이에서 메시지를 간접적으로 교환하기 위한 수단을 포함하는 시스템.
  12. 제10항에 있어서, 상기 애플릿은 자바 애플릿이고, 자바 샌드박스 보안 제약의 동작에 의해 상기 고유적인 금지(inherent prohibition)가 강요되는 시스템.
  13. 제10항 또는 제12항에 있어서,
    상기 필터 테이블은 다수의 엔트리-여기서, 각각의 엔트리는 상기 제1 서버 이외의 상기 서버중 특정 서버의 어드레스 및 상기 특정 서버에 억세스할 권한을 부여받은 클라이언트 머신 어드레스 범위를 포함함-를 포함하고;
    상기 검사 수단은,
    상기 접속 요구로부터 클라이언트 어드레스를 추출하기 위한 수단;
    상기 테이블에서 특정 엔트리의 위치를 찾기 위한(locate) 수단-여기서, 상기 특정 엔트리 내의 상기 어드레스는 상기 접속 요구로부터의 상기 서버 호스트 어드레스와 일치함-; 및
    상기 추출된 클라이언트 어드레스를 상기 위치를 찾은 엔트리로부터의 상기 어드레스 범위와 비교하기 위한 수단을 포함하는
    시스템.
  14. 제10항에 있어서,
    상기 제1 서버 상에서 애드-온 기능(add-on function)을 실행하기 위한 수단; 및
    상기 애드-온 기능을 이용하여 상기 교환된 메시지들의 후속 처리를 수행하기 위한 수단을 더 포함하는 시스템.
  15. 제14항에 있어서,
    상기 애드-온 기능은 상기 클라이언트 머신과 상기 제1 서버 사이에서 보안 데이터 전송을 제공하기 위한 암호화 기능이고,
    상기 후속 처리를 수행하기 위한 수단은,
    상기 제1 접속을 통해 상기 리디렉터 기능에 의해 상기 애플릿으로부터 암호화된 데이터를 수신하기 위한 수단;
    상기 암호화된 데이터를 상기 리디렉터 기능으로부터 상기 애드-온 기능으로 전송하기 위한 수단;
    상기 애드-온 기능을 이용하여 상기 암호화된 데이터를 해독하기 위한 수단;
    상기 해독된 데이터를 상기 애드-온 기능으로부터 상기 리디렉터 기능으로 반송하기 위한 수단;
    상기 해독된 데이터를 상기 리디렉터 기능으로부터 상기 제2 접속을 통해 상기 선택된 서버로 전송하기 위한 수단;
    상기 제2 접속을 통해 상기 리디렉터 기능에 의해 상기 선택된 서버로부터 암호화되지 않은 데이터를 수신하기 위한 수단;
    상기 암호화되지 않은 데이터를 상기 리디렉터 기능으로부터 상기 애드-온 기능으로 전송하기 위한 수단;
    상기 애드-온 기능을 이용하여 상기 암호화되지 않은 데이터를 암호화하기 위한 수단;
    상기 암호화된 데이터를 상기 애드-온 기능으로부터 상기 리디렉터 기능으로 반송하기 위한 수단; 및
    상기 암호화된 데이터를 상기 리디렉터 기능으로부터 상기 애플릿으로 전송하기 위한 수단을 포함하는
    시스템.
  16. 제11항에 있어서, 상기 애플릿은 자바 애플릿이고, 자바 샌드박스 보안 제약의 동작에 의해 상기 고유적인 금지(inherent prohibition)가 강요되는 시스템.
  17. 제11항 또는 제16항에 있어서,
    상기 필터 테이블은 다수의 엔트리-여기서, 각각의 엔트리는 상기 제1 서버 이외의 상기 서버중 특정 서버의 어드레스 및 상기 특정 서버에 억세스할 권한을 부여받은 클라이언트 머신 어드레스 범위를 포함함-를 포함하고;
    상기 검사 수단은,
    상기 접속 요구로부터 클라이언트 어드레스를 추출하기 위한 수단; 및
    상기 테이블에서 특정 엔트리의 위치를 찾기 위한(locate) 수단-여기서, 상기 특정 엔트리 내의 상기 어드레스는 상기 추출된 클라이언트 어드레스와 일치함-;
    을 더 포함하는 시스템.
KR1019980017674A 1997-06-04 1998-05-15 비-기원호스트로의제어방식억세스를위한애플릿방향지정방법 KR100289435B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/868,611 US5987523A (en) 1997-06-04 1997-06-04 Applet redirection for controlled access to non-orginating hosts
US8/868,611 1997-06-04

Publications (2)

Publication Number Publication Date
KR19990006463A KR19990006463A (ko) 1999-01-25
KR100289435B1 true KR100289435B1 (ko) 2001-05-02

Family

ID=25352006

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980017674A KR100289435B1 (ko) 1997-06-04 1998-05-15 비-기원호스트로의제어방식억세스를위한애플릿방향지정방법

Country Status (4)

Country Link
US (1) US5987523A (ko)
JP (1) JP3966487B2 (ko)
KR (1) KR100289435B1 (ko)
CN (1) CN1167016C (ko)

Families Citing this family (108)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100528156B1 (ko) 1997-03-12 2005-11-15 노마딕스, 인코포레이티드 노매딕 변환기 또는 라우터
US6209036B1 (en) * 1997-06-06 2001-03-27 International Business Machines Corporation Management of and access to information and other material via the world wide web in an LDAP environment
US6763376B1 (en) 1997-09-26 2004-07-13 Mci Communications Corporation Integrated customer interface system for communications network management
US6587836B1 (en) 1997-09-26 2003-07-01 Worldcom, Inc. Authentication and entitlement for users of web based data management programs
US6745229B1 (en) 1997-09-26 2004-06-01 Worldcom, Inc. Web based integrated customer interface for invoice reporting
US6324574B1 (en) * 1997-11-07 2001-11-27 International Business Machines Corporation Relay server for unsigned applets
US6317760B1 (en) 1998-01-14 2001-11-13 Microsoft Corporation Extensible ordered information within a web page
US6810503B1 (en) * 1998-02-11 2004-10-26 Microsoft Corporation Method and apparatus for controlling the timing of the invocation of events within a computer runtime environment
IL123512A0 (en) * 1998-03-02 1999-03-12 Security 7 Software Ltd Method and agent for the protection against hostile resource use access
US6779118B1 (en) * 1998-05-04 2004-08-17 Auriq Systems, Inc. User specific automatic data redirection system
US7581006B1 (en) * 1998-05-29 2009-08-25 Yahoo! Inc. Web service
US6976093B2 (en) 1998-05-29 2005-12-13 Yahoo! Inc. Web server content replication
US7143193B1 (en) 1998-05-29 2006-11-28 Yahoo! Inc. Content collection
JP3178419B2 (ja) * 1998-06-18 2001-06-18 日本電気株式会社 情報提供サーバ、情報提供クライアントおよび記録媒体
US6412015B1 (en) 1998-06-24 2002-06-25 New Moon Systems, Inc. System and method for virtualizing and controlling input and output of computer programs
US6330561B1 (en) * 1998-06-26 2001-12-11 At&T Corp. Method and apparatus for improving end to end performance of a data network
US6192394B1 (en) * 1998-07-14 2001-02-20 Compaq Computer Corporation Inter-program synchronous communications using a collaboration software system
CA2341213C (en) * 1998-08-21 2009-05-26 Visto Corporation System and method for enabling secure access to services in a computer network
US7017188B1 (en) 1998-11-16 2006-03-21 Softricity, Inc. Method and apparatus for secure content delivery over broadband access networks
US6763370B1 (en) 1998-11-16 2004-07-13 Softricity, Inc. Method and apparatus for content protection in a secure content delivery system
US7194554B1 (en) 1998-12-08 2007-03-20 Nomadix, Inc. Systems and methods for providing dynamic network authorization authentication and accounting
US8713641B1 (en) 1998-12-08 2014-04-29 Nomadix, Inc. Systems and methods for authorizing, authenticating and accounting users having transparent computer access to a network using a gateway device
US8266266B2 (en) 1998-12-08 2012-09-11 Nomadix, Inc. Systems and methods for providing dynamic network authorization, authentication and accounting
US6389462B1 (en) * 1998-12-16 2002-05-14 Lucent Technologies Inc. Method and apparatus for transparently directing requests for web objects to proxy caches
US6470349B1 (en) * 1999-03-11 2002-10-22 Browz, Inc. Server-side scripting language and programming tool
US7370071B2 (en) 2000-03-17 2008-05-06 Microsoft Corporation Method for serving third party software applications from servers to client computers
US6938096B1 (en) * 1999-04-12 2005-08-30 Softricity, Inc. Method and system for remote networking using port proxying by detecting if the designated port on a client computer is blocked, then encapsulating the communications in a different format and redirecting to an open port
US7200632B1 (en) 1999-04-12 2007-04-03 Softricity, Inc. Method and system for serving software applications to client computers
US7730169B1 (en) 1999-04-12 2010-06-01 Softricity, Inc. Business method and system for serving third party software applications
JP2000305880A (ja) * 1999-04-20 2000-11-02 Hitachi Ltd 情報配信システム
US6757740B1 (en) 1999-05-03 2004-06-29 Digital Envoy, Inc. Systems and methods for determining collecting and using geographic locations of internet users
US20060224752A1 (en) * 1999-05-03 2006-10-05 Parekh Sanjay M Determining geographic locations of private network Internet users
US7844729B1 (en) 1999-05-03 2010-11-30 Digital Envoy, Inc. Geo-intelligent traffic manager
US7685311B2 (en) 1999-05-03 2010-03-23 Digital Envoy, Inc. Geo-intelligent traffic reporter
US8099758B2 (en) 1999-05-12 2012-01-17 Microsoft Corporation Policy based composite file system and method
WO2001002932A2 (en) * 1999-07-07 2001-01-11 Screamingmedia Inc. User activity reporting browser
US6523063B1 (en) * 1999-08-30 2003-02-18 Zaplet, Inc. Method system and program product for accessing a file using values from a redirect message string for each change of the link identifier
US7483967B2 (en) * 1999-09-01 2009-01-27 Ximeta Technology, Inc. Scalable server architecture based on asymmetric 3-way TCP
US7949722B1 (en) 1999-09-29 2011-05-24 Actv Inc. Enhanced video programming system and method utilizing user-profile information
EP1272949A2 (en) * 1999-10-21 2003-01-08 Adfluence, Inc. Network methods for interactive advertising and direct marketing
US8190708B1 (en) 1999-10-22 2012-05-29 Nomadix, Inc. Gateway device having an XML interface and associated method
JP2001216239A (ja) * 2000-01-31 2001-08-10 Toshiba Corp ネットワーク通信システムおよびサーバ
CA2403662A1 (en) 2000-03-31 2001-10-11 Intellocity Usa, Inc. System and method for local meta data insertion
US6993328B1 (en) * 2000-05-08 2006-01-31 Nokia Corporation Method for over the air mobile station management
US7774455B1 (en) 2000-09-26 2010-08-10 Juniper Networks, Inc. Method and system for providing secure access to private networks
US7085817B1 (en) * 2000-09-26 2006-08-01 Juniper Networks, Inc. Method and system for modifying requests for remote resources
AU2002213430A1 (en) * 2000-09-28 2002-04-08 Ipdev Co. Method for simplified one-touch ordering of goods and services from a wired or wireless phone or terminal
US7792923B2 (en) 2000-10-13 2010-09-07 Zhe Khi Pak Disk system adapted to be directly attached to network
US7676575B2 (en) * 2000-11-22 2010-03-09 Ntt Docomo, Inc. Method and device for managing access to network
US20020116633A1 (en) * 2001-01-19 2002-08-22 Takuya Kobayashi Data processor
US8001242B2 (en) * 2001-05-08 2011-08-16 International Business Machines Corporation Method for redirection of host data access to multiple non-host file systems or data stores
US7846096B2 (en) 2001-05-29 2010-12-07 Ethicon Endo-Surgery, Inc. Method for monitoring of medical treatment using pulse-echo ultrasound
US20030032898A1 (en) 2001-05-29 2003-02-13 Inder Raj. S. Makin Method for aiming ultrasound for medical treatment
US7783761B2 (en) * 2001-07-16 2010-08-24 Zhe Khi Pak Scheme for dynamically connecting I/O devices through network
US20050210243A1 (en) * 2001-09-28 2005-09-22 Archard Paul L System and method for improving client response times using an integrated security and packet optimization framework
US20050149682A1 (en) * 2001-10-09 2005-07-07 Han-Gyoo Kim Virtual multiple removable media jukebox
WO2003032158A2 (en) * 2001-10-11 2003-04-17 Curl Corporation System and method for specifying access to resources in a mobile code system
JP3879594B2 (ja) 2001-11-02 2007-02-14 日本電気株式会社 スイッチ方法、装置およびプログラム
US20040064565A1 (en) * 2002-02-06 2004-04-01 International Business Machines Corporation Obtaining location information using a rejection model
WO2003105010A1 (en) * 2002-06-06 2003-12-18 Neoteris, Inc. Method and system for providing secure access to private networks
CN100412788C (zh) * 2002-06-28 2008-08-20 华为技术有限公司 一种简易访问网络运营商门户网站的方法
US7930716B2 (en) 2002-12-31 2011-04-19 Actv Inc. Techniques for reinsertion of local market advertising in digital video from a bypass source
JP2004348666A (ja) * 2003-05-26 2004-12-09 Seiko Epson Corp クライアント・サーバシステム、サーバ、および情報処理システム
GB0318198D0 (en) * 2003-08-02 2003-09-03 Koninkl Philips Electronics Nv Copy-protected application for digital broadcasting system
GB0318197D0 (en) * 2003-08-02 2003-09-03 Koninkl Philips Electronics Nv Copy-protecting applications in a digital broadcasting system
US7457880B1 (en) 2003-09-26 2008-11-25 Ximeta Technology, Inc. System using a single host to receive and redirect all file access commands for shared data storage device from other hosts on a network
US8146141B1 (en) 2003-12-16 2012-03-27 Citibank Development Center, Inc. Method and system for secure authentication of a user by a host system
US7664836B2 (en) * 2004-02-17 2010-02-16 Zhe Khi Pak Device and method for booting an operation system for a computer from a passive directly attached network device
US20060069884A1 (en) * 2004-02-27 2006-03-30 Han-Gyoo Kim Universal network to device bridge chip that enables network directly attached device
US7806839B2 (en) 2004-06-14 2010-10-05 Ethicon Endo-Surgery, Inc. System and method for ultrasound therapy using grating lobes
US7746900B2 (en) 2004-07-22 2010-06-29 Zhe Khi Pak Low-level communication layers and device employing same
US7860943B2 (en) * 2004-08-23 2010-12-28 Zhe Khi Pak Enhanced network direct attached storage controller
CN100512271C (zh) * 2004-08-31 2009-07-08 中国科学院计算技术研究所 一种终端网络环境中的分布式设备重定向系统及其方法
JP4486483B2 (ja) * 2004-11-26 2010-06-23 古野電気株式会社 Tdma通信装置
US7577749B1 (en) 2004-12-03 2009-08-18 Ux Ltd. Emulation of persistent HTTP connections between network devices
US7849257B1 (en) 2005-01-06 2010-12-07 Zhe Khi Pak Method and apparatus for storing and retrieving data
US8078740B2 (en) 2005-06-03 2011-12-13 Microsoft Corporation Running internet applications with low rights
US7945678B1 (en) * 2005-08-05 2011-05-17 F5 Networks, Inc. Link load balancer that controls a path for a client to connect to a resource
US20070089107A1 (en) * 2005-10-10 2007-04-19 Squires Steve Database communication method
US8429629B2 (en) 2005-11-30 2013-04-23 Red Hat, Inc. In-kernel virtual machine for low overhead startup and low resource usage
US8612970B2 (en) * 2005-11-30 2013-12-17 Red Hat, Inc. Purpose domain for low overhead virtual machines
US8104034B2 (en) * 2005-11-30 2012-01-24 Red Hat, Inc. Purpose domain for in-kernel virtual machine for low overhead startup and low resource usage
WO2007132848A1 (ja) * 2006-05-15 2007-11-22 Visionarts, Inc. 別ドメインの情報を利用する方法、別ドメインの情報を利用するためのプログラム及び情報転送プログラム
US8185737B2 (en) 2006-06-23 2012-05-22 Microsoft Corporation Communication across domains
EP2039062A1 (en) * 2006-07-12 2009-03-25 Telefonaktiebolaget LM Ericsson (PUBL) Method, apparatus and computer program product for controlling devices
US10019570B2 (en) * 2007-06-14 2018-07-10 Microsoft Technology Licensing, Llc Protection and communication abstractions for web browsers
EP2015236A1 (en) * 2007-07-10 2009-01-14 Ubs Ag Redirection technique in a communication network
CN101163161B (zh) * 2007-11-07 2012-02-29 福建星网锐捷网络有限公司 统一资源定位器地址过滤方法及中间传输设备
US8201075B2 (en) * 2008-02-29 2012-06-12 Research In Motion Limited Enhanced browser navigation
US9524344B2 (en) * 2008-06-03 2016-12-20 Microsoft Corporation User interface for online ads
US20090299862A1 (en) * 2008-06-03 2009-12-03 Microsoft Corporation Online ad serving
US20090327869A1 (en) * 2008-06-27 2009-12-31 Microsoft Corporation Online ad serving
US20100070552A1 (en) * 2008-09-12 2010-03-18 Charles Austin Parker Providing a Socket Connection between a Java Server and a Host Environment
US8443107B2 (en) 2009-11-11 2013-05-14 Digital Envoy, Inc. Method, computer program product and electronic device for hyper-local geo-targeting
US8958439B2 (en) 2010-08-03 2015-02-17 F5 Networks, Inc. Mediating method and system between signaling network peers
JP5795848B2 (ja) * 2010-09-22 2015-10-14 キヤノン株式会社 情報処理装置、その制御方法、及びプログラム
US8505083B2 (en) 2010-09-30 2013-08-06 Microsoft Corporation Remote resources single sign on
TWI494856B (zh) * 2012-05-21 2015-08-01 Irene Tsai Program call method and mobile device
CN103514050B (zh) * 2012-06-19 2016-12-21 蔡毓芬 程式呼叫方法及行动装置
CA2936453A1 (en) 2014-01-09 2015-07-16 Axiosonic, Llc Systems and methods using ultrasound for treatment
US11350254B1 (en) 2015-05-05 2022-05-31 F5, Inc. Methods for enforcing compliance policies and devices thereof
US11757946B1 (en) 2015-12-22 2023-09-12 F5, Inc. Methods for analyzing network traffic and enforcing network policies and devices thereof
US11178150B1 (en) 2016-01-20 2021-11-16 F5 Networks, Inc. Methods for enforcing access control list based on managed application and devices thereof
WO2017168775A1 (ja) * 2016-03-31 2017-10-05 サトーホールディングス株式会社 サーバ、情報処理システム、クライアント端末
US10505792B1 (en) 2016-11-02 2019-12-10 F5 Networks, Inc. Methods for facilitating network traffic analytics and devices thereof
US10812266B1 (en) 2017-03-17 2020-10-20 F5 Networks, Inc. Methods for managing security tokens based on security violations and devices thereof
US11122042B1 (en) 2017-05-12 2021-09-14 F5 Networks, Inc. Methods for dynamically managing user access control and devices thereof
US11343237B1 (en) 2017-05-12 2022-05-24 F5, Inc. Methods for managing a federated identity environment using security and access control data and devices thereof

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5642515A (en) * 1992-04-17 1997-06-24 International Business Machines Corporation Network server for local and remote resources
JP4008049B2 (ja) * 1995-03-20 2007-11-14 富士通株式会社 アドレス送信装置、アドレス送信方法およびアドレス送信システム
US5708780A (en) * 1995-06-07 1998-01-13 Open Market, Inc. Internet server access control and monitoring systems
US5701451A (en) * 1995-06-07 1997-12-23 International Business Machines Corporation Method for fulfilling requests of a web browser
US5751971A (en) * 1995-07-12 1998-05-12 Cabletron Systems, Inc. Internet protocol (IP) work group routing
US5781550A (en) * 1996-02-02 1998-07-14 Digital Equipment Corporation Transparent and secure network gateway
US5826014A (en) * 1996-02-06 1998-10-20 Network Engineering Software Firewall system for protecting network elements connected to a public network
US5838910A (en) * 1996-03-14 1998-11-17 Domenikos; Steven D. Systems and methods for executing application programs from a memory device linked to a server at an internet site
US5761421A (en) * 1996-03-25 1998-06-02 Sun Microsystems, Inc. System and method for secure peer-to-peer communication between downloaded programs
US5815665A (en) * 1996-04-03 1998-09-29 Microsoft Corporation System and method for providing trusted brokering services over a distributed network
US5774660A (en) * 1996-08-05 1998-06-30 Resonate, Inc. World-wide-web server with delayed resource-binding for resource-based load balancing on a distributed resource multi-node network
US5796952A (en) * 1997-03-21 1998-08-18 Dot Com Development, Inc. Method and apparatus for tracking client interaction with a network resource and creating client profiles and resource database
JPH10293737A (ja) * 1997-04-18 1998-11-04 Hitachi Ltd 分散db上の情報の融合、表示方法

Also Published As

Publication number Publication date
CN1167016C (zh) 2004-09-15
KR19990006463A (ko) 1999-01-25
JPH1145228A (ja) 1999-02-16
US5987523A (en) 1999-11-16
CN1210308A (zh) 1999-03-10
JP3966487B2 (ja) 2007-08-29

Similar Documents

Publication Publication Date Title
KR100289435B1 (ko) 비-기원호스트로의제어방식억세스를위한애플릿방향지정방법
US10922403B1 (en) Methods and systems for implementing a secure application execution environment using derived user accounts for internet content
US6490626B1 (en) Browser system
US10798127B2 (en) Enhanced document and event mirroring for accessing internet content
US7739382B2 (en) Dynamic extension of network-accessible services
KR100464839B1 (ko) 서브릿을처리하기위한장치및방법
US8271636B2 (en) Rule-based networking device
US8046495B2 (en) System and method for modifying web content via a content transform proxy service
US6567918B1 (en) Saved Web page security system and method
KR100320976B1 (ko) 웹서버객체를tcp/ip포트에매핑하는방법및그장치
Liedtke Clans & chiefs
ZA200102114B (en) Method and system for the prevention of undesirable activities of executable objects.
Wróbel et al. Progressive mobile web application subresource tampering during penetration testing
JP2008234256A (ja) 情報処理システム及びコンピュータプログラム
KR20010040981A (ko) 스택에 기초한 보안 조건
Marques et al. Integrating mobile agents into off-the-shelf web servers: The M&M approach
Kornilov et al. Communicating with Other Services
Servlets et al. Java Servlets
Gibson et al. Secure architectures
KR20010001717A (ko) 안전한 분산 객체 기반의 응용 개발 플랫폼 및 그 서비스 방법
Hansoty et al. LAVA: secure delegation of mobile applets: design, implementation and applications
Braun et al. Web Services for Remote Portlets Specification
Erlandsson et al. S-UDDI: using Web services, the Secure and Trustworthy way
Wu et al. LAVA: Secure delegation of mobile applets
Castro The Java Applet Security Model: Providing Storage at a Terminal

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