KR100289435B1 - 비-기원호스트로의제어방식억세스를위한애플릿방향지정방법 - Google Patents
비-기원호스트로의제어방식억세스를위한애플릿방향지정방법 Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/465—Distributed object oriented systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/101—Access control lists [ACL]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/16—Implementing security features at a particular protocol layer
- H04L63/168—Implementing security features at a particular protocol layer above the transport layer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/561—Adding application-functional data or data for application control, e.g. adding metadata
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/563—Data redirection of data network streams
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
- H04L69/162—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network 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
본 발명은 컴퓨터 시스템 및 그와 같은 컴퓨터 시스템이 네트워크를 통해 데이터 및 코드에 억세스할 수 있도록, 네트워크에 부착된 컴퓨터 시스템을 운영하는 방법에 관한 것이다. 특히, 본 발명은 그 호스트로부터 기원되지 않은 애플릿(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 서버 상의 리디렉터 기능(redirector function)으로의 제1 소켓 접속을 개방하는 단계;상기 선택된 애플릿으로부터 상기 리디렉터 기능으로 목표 호스트 서버에 대한 어드레스를 전송하는 단계;상기 선택된 애플릿을 대신하여 상기 리디렉터 기능으로부터 상기 목표 호스트 서버 상의 호스트 기능으로의 제2 소켓 접속을 개방하는 단계; 및상기 제1 소켓 접속 및 상기 제2 소켓 접속을 이용하여 상기 리디렉터 기능을 통해 데이터를 방향지정함으로써 간접적으로 상기 선택된 애플릿으로부터 상기 호스트 기능에 억세스하는 단계를 포함하는 방법.
- 컴퓨터 네트워크 내의 애플릿으로 하여금 하나 또는 그 이상의 목표 자원에 억세스할 목적으로 하나 또는 그 이상의 원격 서버-여기서, 상기 목표 자원은 상기 원격 서버로부터의 억세스가 가능하며, 상기 원격 서버는 상기 애플릿이 다운로드되었던 제1 서버와 다른 것임-와 통신할 수 있도록 하기 위한 방법에 있어서,상기 제1 서버 상에 하나 또는 그 이상의 애플릿-여기서, 상기 애플릿은 상기 제1 서버를 제외한 다른 서버와 직접적으로 메시지를 교환하는 것이 고유적으로 금지됨-을 저장하는 단계;상기 애플릿 중 선택된 하나의 애플릿을 클라이언트 머신으로 다운로드하는 단계;상기 클라이언트 머신 상에서 상기 다운로드된 선택 애플릿을 실행하는 단계;상기 제1 서버 상에서 리디렉터 기능을 실행하는 단계;상기 선택된 애플릿과 상기 리디렉터 기능 사이에 제1 접속을 설정하는 단계;상기 애플릿으로부터 상기 리디렉터 기능으로 접속 요구-여기서, 상기 접속 요구는 (1) 상기 제1 서버 이외의 상기 서버중 선택된 서버의 서버 호스트 어드레스와 (2) 상기 선택된 서버 상의 포트 번호를 지정함-를 전송하는 단계;상기 리디렉터 기능에 의해 상기 접속 요구를 수신하는 단계;상기 수신 단계에 응답하여, 상기 클라이언트 머신이 상기 선택된 서버에 억세스할 권한을 부여받았는지 판단하기 위해 필터 테이블을 검사하는 단계;상기 검사 단계의 결과가 긍정일 때, 상기 리디렉터 기능과 상기 선택된 서버 사이에 제2 접속-여기서, 상기 제2 접속은 상기 애플릿을 대신하여 이루어짐-을 상기 리디렉터 기능에 의해 설정하는 단계; 및상기 제1 접속과 상기 제2 접속 사이에서 교환 메시지를 전송하기 위해 상기 리디렉터 기능을 이용하여 상기 애플릿과 상기 선택된 서버 사이에서 메시지를 간접적으로 교환하는 단계를 포함하는 방법.
- 제2항에 있어서, 상기 애플릿은 자바 애플릿이고, 자바 샌드박스 보안 제약의 동작에 의해 상기 고유적인 금지(inherent prohibition)가 강요되는 방법.
- 제2항 또는 제3항에 있어서,상기 필터 테이블은 다수의 엔트리-여기서, 각각의 엔트리는 상기 제1 서버 이외의 상기 서버중 특정 서버의 어드레스 및 상기 특정 서버에 억세스할 권한을 부여받은 클라이언트 머신 어드레스 범위를 포함함-를 포함하고;상기 검사 단계는,상기 접속 요구로부터 클라이언트 어드레스를 추출하는 단계;상기 테이블에서 특정 엔트리의 위치를 찾는(locate) 단계-여기서, 상기 특정 엔트리 내의 상기 어드레스는 상기 접속 요구로부터의 상기 서버 호스트 어드레스와 일치함-; 및상기 추출된 클라이언트 어드레스를 상기 위치를 찾은 엔트리의 상기 어드레스 범위와 비교하는 단계를 포함하는 방법.
- 제2항에 있어서,상기 제1 서버 상에서 애드-온 기능(add-on function)을 실행하는 단계; 및상기 애드-온 기능을 이용하여 상기 교환된 메시지들의 후속 처리를 수행하는 단계를 더 포함하는 방법.
- 제5항에 있어서,상기 애드-온 기능은 상기 클라이언트 머신과 상기 제1 서버 사이에서 보안 데이터 전송을 제공하기 위한 암호화 기능이고,상기 후속 처리를 수행하는 단계는,상기 제1 접속을 통해 상기 리디렉터 기능을 통해 상기 애플릿으로부터 암호화된 데이터를 수신하는 단계;상기 암호화된 데이터를 상기 리디렉터 기능으로부터 상기 애드-온 기능으로 전송하는 단계;상기 애드-온 기능을 이용하여 상기 암호화된 데이터를 해독하는 단계;상기 해독된 데이터를 상기 애드-온 기능으로부터 상기 리디렉터 기능으로 반송하는 단계;상기 해독된 데이터를 상기 리디렉터 기능으로부터 상기 제2 접속을 통해 상기 선택된 서버로 전송하는 단계;상기 제2 접속을 통해 상기 리디렉터 기능에 의해 상기 선택된 서버로부터 암호화되지 않은 데이터를 수신하는 단계;상기 암호화되지 않은 데이터를 상기 리디렉터 기능으로부터 상기 애드-온 기능으로 전송하는 단계;상기 애드-온 기능을 이용하여 상기 암호화되지 않은 데이터를 암호화하는 단계;상기 암호화된 데이터를 상기 애드-온 기능으로부터 상기 리디렉터 기능으로 반송하는 단계; 및상기 암호화된 데이터를 상기 리디렉터 기능으로부터 상기 애플릿으로 전송하는 단계를 포함하는 방법.
- 컴퓨터 네트워크 내의 애플릿으로 하여금 하나 또는 그 이상의 목표 자원에 억세스할 목적으로 하나 또는 그 이상의 원격 서버-여기서, 상기 목표 자원은 상기 원격 서버로부터의 억세스가 가능하며, 상기 원격 서버는 상기 애플릿이 다운로드되었던 제1 서버와 다른 것임-와 통신할 수 있도록 하기 위한 방법에 있어서,상기 제1 서버 상에 하나 또는 그 이상의 애플릿-여기서, 상기 애플릿은 상기 제1 서버를 제외한 다른 서버와 직접적으로 메시지를 교환하는 것이 고유적으로 금지됨-을 저장하는 단계;상기 애플릿 중 선택된 하나의 애플릿을 클라이언트 머신으로 다운로드하는 단계;상기 클라이언트 머신 상에서 상기 다운로드된 선택 애플릿을 실행하는 단계;상기 제1 서버 상에서 리디렉터 기능을 실행하는 단계;상기 선택된 애플릿과 상기 리디렉터 기능 사이에 제1 접속을 설정하는 단계;상기 애플릿으로부터 상기 리디렉터 기능으로 접속 요구-여기서, 상기 접속 요구는 (1) 목표 서버의 서버 호스트 어드레스를 지정하지 않음-를 전송하는 단계;상기 리디렉터 기능에 의해 상기 접속 요구를 수신하는 단계;상기 수신 단계에 응답하여, 상기 클라이언트 머신과 함께 이용될 디폴트 목표 서버를 판단하기 위해 필터 테이블을 검사하는 단계;상기 리디렉터 기능에 의해, 상기 애플릿을 대신하여 상기 리디렉터 기능과 상기 디폴트 목표 서버 사이에 제2 접속을 설정하는 단계; 및상기 제1 접속과 상기 제2 접속 사이에서 교환 메시지를 전송하기 위해 상기 리디렉터 기능을 이용하여 상기 애플릿과 상기 디폴트 목표 서버 사이에서 메시지를 간접적으로 교환하는 단계를 포함하는 방법.
- 제7항에 있어서, 상기 애플릿은 자바 애플릿이고, 자바 샌드박스 보안 제약의 동작에 의해 상기 고유적인 금지(inherent prohibition)가 강요되는 방법.
- 제7항 또는 제8항에 있어서,상기 필터 테이블은 다수의 엔트리-여기서, 각각의 엔트리는 상기 제1 서버 이외의 상기 서버중 특정 서버의 어드레스 및 상기 특정 서버에 억세스할 권한을 부여받은 클라이언트 머신 어드레스 범위를 포함함-를 포함하고;상기 검사 단계는,상기 접속 요구로부터 클라이언트 어드레스를 추출하는 단계; 및상기 테이블에서 특정 엔트리의 위치를 찾는(locate) 단계-여기서, 상기 특정 엔트리 내의 상기 어드레스는 상기 추출된 클라이언트 어드레스와 일치함-더 를 포함하는 방법.
- 애플릿으로 하여금 상기 애플릿이 다운로드되었던 제1 서버 이외의 다른 서버와 통신할 수 있도록 하기 위한 컴퓨터 네트워크 내의 시스템에 있어서,상기 제1 서버 상에 각각 저장된 하나 또는 그 이상의 애플릿-여기서, 상기 애플릿은 상기 제1 서버를 제외한 다른 서버와 직접적으로 메시지를 교환하는 것이 고유적으로 금지됨-;상기 제1 서버 이외의 서버로부터 각각 억세스가능한 하나 또는 그 이상의 목표 자원;상기 애플릿 중 선택된 하나의 애플릿이 다운로드되는 클라이언트 머신;상기 클라이언트 머신 상에서 상기 다운로드된 선택 애플릿을 실행하기 위한 수단;상기 제1 서버 상에서 리디렉터 기능을 실행하기 위한 수단;상기 선택된 애플릿과 상기 리디렉터 기능 사이에 제1 접속을 설정하기 위한 수단;상기 애플릿으로부터 상기 리디렉터 기능으로 접속 요구-여기서, 상기 접속 요구는 (1) 상기 제1 서버 이외의 상기 서버중 선택된 서버의 서버 호스트 어드레스와 (2) 상기 선택된 서버 상의 포트 번호를 지정함-를 전송하기 위한 수단;상기 리디렉터 기능에 의해 상기 접속 요구를 수신하기 위한 수단;상기 수신 수단에 응답하여, 상기 클라이언트 머신이 상기 선택된 서버에 억세스할 권한을 부여받았는지 판단하기 위해 필터 테이블을 검사하기 위한 수단;상기 검사 수단의 결과가 긍정일 때, 상기 리디렉터 기능과 상기 선택된 서버 사이에 제2 접속-여기서, 상기 제2 접속은 상기 애플릿을 대신하여 이루어짐-을 상기 리디렉터 기능에 의해 설정하기 위한 수단; 및상기 제1 접속과 상기 제2 접속 사이에서 교환 메시지를 전송하기 위해 상기 리디렉터 기능을 이용하여 상기 애플릿과 상기 선택된 서버 사이에서 메시지를 간접적으로 교환하기 위한 수단을 포함하는 시스템.
- 애플릿으로 하여금 상기 애플릿이 다운로드되었던 제1 서버 이외의 다른 서버와 통신할 수 있도록 하기 위한 컴퓨터 네트워크 내의 시스템에 있어서,상기 제1 서버 상에 각각 저장된 하나 또는 그 이상의 애플릿-여기서, 상기 애플릿은 상기 제1 서버를 제외한 다른 서버와 직접적으로 메시지를 교환하는 것이 고유적으로 금지됨-;상기 제1 서버 이외의 서버로부터 각각 억세스가능한 하나 또는 그 이상의 목표 자원;상기 애플릿 중 선택된 하나의 애플릿이 다운로드되는 클라이언트 머신;상기 클라이언트 머신 상에서 상기 다운로드된 선택 애플릿을 실행하기 위한 수단;상기 제1 서버 상에서 리디렉터 기능을 실행하기 위한 수단;상기 선택된 애플릿과 상기 리디렉터 기능 사이에 제1 접속을 설정하기 위한 수단;상기 애플릿으로부터 상기 리디렉터 기능으로 접속 요구-여기서, 상기 접속 요구는 (1) 목표 서버의 서버 호스트 어드레스를 지정하지 않음-를 전송하기 위한 수단;상기 리디렉터 기능에 의해 상기 접속 요구를 수신하기 위한 수단;상기 수신 수단에 응답하여, 상기 클라이언트 머신과 함께 이용될 디폴트 목표 서버를 판단하기 위해 필터 테이블을 검사하기 위한 수단;상기 리디렉터 기능에 의해, 상기 애플릿을 대신하여 상기 리디렉터 기능과 상기 디폴트 목표 서버 사이에 제2 접속을 설정하기 위한 수단; 및상기 제1 접속과 상기 제2 접속 사이에서 교환 메시지를 전송하기 위해 상기 리디렉터 기능을 이용하여 상기 애플릿과 상기 디폴트 목표 서버 사이에서 메시지를 간접적으로 교환하기 위한 수단을 포함하는 시스템.
- 제10항에 있어서, 상기 애플릿은 자바 애플릿이고, 자바 샌드박스 보안 제약의 동작에 의해 상기 고유적인 금지(inherent prohibition)가 강요되는 시스템.
- 제10항 또는 제12항에 있어서,상기 필터 테이블은 다수의 엔트리-여기서, 각각의 엔트리는 상기 제1 서버 이외의 상기 서버중 특정 서버의 어드레스 및 상기 특정 서버에 억세스할 권한을 부여받은 클라이언트 머신 어드레스 범위를 포함함-를 포함하고;상기 검사 수단은,상기 접속 요구로부터 클라이언트 어드레스를 추출하기 위한 수단;상기 테이블에서 특정 엔트리의 위치를 찾기 위한(locate) 수단-여기서, 상기 특정 엔트리 내의 상기 어드레스는 상기 접속 요구로부터의 상기 서버 호스트 어드레스와 일치함-; 및상기 추출된 클라이언트 어드레스를 상기 위치를 찾은 엔트리로부터의 상기 어드레스 범위와 비교하기 위한 수단을 포함하는시스템.
- 제10항에 있어서,상기 제1 서버 상에서 애드-온 기능(add-on function)을 실행하기 위한 수단; 및상기 애드-온 기능을 이용하여 상기 교환된 메시지들의 후속 처리를 수행하기 위한 수단을 더 포함하는 시스템.
- 제14항에 있어서,상기 애드-온 기능은 상기 클라이언트 머신과 상기 제1 서버 사이에서 보안 데이터 전송을 제공하기 위한 암호화 기능이고,상기 후속 처리를 수행하기 위한 수단은,상기 제1 접속을 통해 상기 리디렉터 기능에 의해 상기 애플릿으로부터 암호화된 데이터를 수신하기 위한 수단;상기 암호화된 데이터를 상기 리디렉터 기능으로부터 상기 애드-온 기능으로 전송하기 위한 수단;상기 애드-온 기능을 이용하여 상기 암호화된 데이터를 해독하기 위한 수단;상기 해독된 데이터를 상기 애드-온 기능으로부터 상기 리디렉터 기능으로 반송하기 위한 수단;상기 해독된 데이터를 상기 리디렉터 기능으로부터 상기 제2 접속을 통해 상기 선택된 서버로 전송하기 위한 수단;상기 제2 접속을 통해 상기 리디렉터 기능에 의해 상기 선택된 서버로부터 암호화되지 않은 데이터를 수신하기 위한 수단;상기 암호화되지 않은 데이터를 상기 리디렉터 기능으로부터 상기 애드-온 기능으로 전송하기 위한 수단;상기 애드-온 기능을 이용하여 상기 암호화되지 않은 데이터를 암호화하기 위한 수단;상기 암호화된 데이터를 상기 애드-온 기능으로부터 상기 리디렉터 기능으로 반송하기 위한 수단; 및상기 암호화된 데이터를 상기 리디렉터 기능으로부터 상기 애플릿으로 전송하기 위한 수단을 포함하는시스템.
- 제11항에 있어서, 상기 애플릿은 자바 애플릿이고, 자바 샌드박스 보안 제약의 동작에 의해 상기 고유적인 금지(inherent prohibition)가 강요되는 시스템.
- 제11항 또는 제16항에 있어서,상기 필터 테이블은 다수의 엔트리-여기서, 각각의 엔트리는 상기 제1 서버 이외의 상기 서버중 특정 서버의 어드레스 및 상기 특정 서버에 억세스할 권한을 부여받은 클라이언트 머신 어드레스 범위를 포함함-를 포함하고;상기 검사 수단은,상기 접속 요구로부터 클라이언트 어드레스를 추출하기 위한 수단; 및상기 테이블에서 특정 엔트리의 위치를 찾기 위한(locate) 수단-여기서, 상기 특정 엔트리 내의 상기 어드레스는 상기 추출된 클라이언트 어드레스와 일치함-;을 더 포함하는 시스템.
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)
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)
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上の情報の融合、表示方法 |
-
1997
- 1997-06-04 US US08/868,611 patent/US5987523A/en not_active Expired - Fee Related
-
1998
- 1998-05-13 CN CNB981083609A patent/CN1167016C/zh not_active Expired - Fee Related
- 1998-05-15 KR KR1019980017674A patent/KR100289435B1/ko not_active IP Right Cessation
- 1998-05-27 JP JP14537198A patent/JP3966487B2/ja not_active Expired - Fee Related
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 |