KR100615793B1 - 준 신뢰성 웹 서버를 통한 오리진 웹 서버로부터의 정보 액세스 방법과 그 장치 및 컴퓨터 판독 가능 기록 매체 - Google Patents

준 신뢰성 웹 서버를 통한 오리진 웹 서버로부터의 정보 액세스 방법과 그 장치 및 컴퓨터 판독 가능 기록 매체 Download PDF

Info

Publication number
KR100615793B1
KR100615793B1 KR1020037013258A KR20037013258A KR100615793B1 KR 100615793 B1 KR100615793 B1 KR 100615793B1 KR 1020037013258 A KR1020037013258 A KR 1020037013258A KR 20037013258 A KR20037013258 A KR 20037013258A KR 100615793 B1 KR100615793 B1 KR 100615793B1
Authority
KR
South Korea
Prior art keywords
client
web server
certificate
semi
origin
Prior art date
Application number
KR1020037013258A
Other languages
English (en)
Other versions
KR20030093305A (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 KR20030093305A publication Critical patent/KR20030093305A/ko
Application granted granted Critical
Publication of KR100615793B1 publication Critical patent/KR100615793B1/ko

Links

Images

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/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2119Authenticating web pages, e.g. with suspicious links
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2151Time stamp
    • 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)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명은, 프록시 서버(proxy server)로도 지칭되는 준 신뢰성 웹 서버(semi-trusted web-server)(100)에 포함된 제한된 정보에 액세스할 수 있는 방법 및 장치를 제공한다. 클라이언트(101), 준 신뢰성 웹 서버(104) 및 오리진 웹 서버(103)는 코어 네트워크(core network)(102)에 접속되어 있다. 제한된 정보는, 인증된 클라이언트(101)의 선택된 그룹에게만 이용가능한 정보이다. 제한된 정보에 액세스하고자 하는 클라이언트(101)는, 신뢰성 웹 서버(trusted web-server)(즉, 오리진 웹 서버)(103)로 자신을 인증해야 하고, 클라이언트 증명서를 획득해야 한다. 다음에 클라이언트는, 그 증명서를 가지고 준 신뢰성 웹 서버(100)와 접속하여 제한된 컨텐츠로의 액세스를 획득한다. 제한된 정보가 준 신뢰성 웹 서버(100)에서 암호화되는 것에 의해서, 준 신뢰성 웹 서버(100)에 완전한 보안이 이루어지고 있지 않더라도 제한된 정보는 안전하다. 클라이언트(101)가 응답을 위해서 대기해야 하는 시간의 길이를 짧게 하고, 오리진 웹 서버(103)의 로드(load)를 가볍게 하기 위해서, 준 신뢰성 웹 서버(100)는 클라이언트(101)의 리퀘스트를 서비스할 수 있다. 일반적으로, 준 신뢰성 웹 서버(100)는, 준 신뢰성 웹 서버(100)가 오리진 웹 서버(103)보다 더 작은 경우에 클라이언트(101)의 리퀘스트에 대해 서비스한다.

Description

준 신뢰성 웹 서버를 통한 오리진 웹 서버로부터의 정보 액세스 방법과 그 장치 및 컴퓨터 판독 가능 기록 매체{METHOD AND APPARATUS FOR SERVING CONTENT FROM A SEMI-TRUSTED SERVER}
본 발명은 컴퓨터 네트워크의 분야에 관한 것이다. 더욱 세부적으로는, 인터넷, 특히, 정보를 저장하고 그들의 클라이언트(client)에게 정보를 송신하는 웹 서버(web-server)에 관한 것이다.
인터넷에서의 통신의 대부분은, 웹 서버에 리퀘스트를 발생시키는 적어도 하나의 클라이언트와 클라이언트의 리퀘스트에 응답하는 웹 서버를 포함한다. 웹 서버에 의해서, 클라이언트와 통신하는 장치 또는 장치의 집합체(예를 들면, 데이터스토어(datastore), 디렉토리, 머신 및 소프트웨어)가 HTTP 프로토콜을 이용하게 한다. 특정한 웹 애플리케이션에서는, 오리진 웹 서버(origin web-server)가 애플리케이션을 위한 보안 대책에 관한 웹 애플리케이션의 기능 및 데이터를 완전히 신뢰할 수 있는 웹 서버인 것으로 정의한다.
클라이언트가 응답을 대기해야 하는 시간을 줄이고, 인터넷 및 오리진 웹 서버의 로드(load)를 가볍게 하기 위한 방법으로서, 클라이언트가, 간단하게 프록시(proxy)로도 지칭되는 프록시 웹 서버(proxy web-server)-프록시 웹 서버는 일반적으로 오리진 웹 서버에 비해서 클라이언트에게 더 가깝거나 로드가 더 가벼움-에 의해서 서비스 받을 수 있게 하는 기법이 개발되어 왔다.
프록시 웹 서버는, 수 개의 서로 다른 방법으로 인터넷 통신 프로세스에 통합될 수 있다. 몇몇 구성에서, 클라이언트는 항상 오리진 웹 서버보다는 프록시 웹 서버에 리퀘스트를 생성한다. 프록시 웹 서버는 클라이언트에 응답하여, 필요에 따라 오리진 웹 서버로부터 컨텐츠를 인출(fetching)할 수 있고, 또한, 프록시 웹 서버는, 프록시 웹 서버가 클라이언트의 리퀘스트를 만족시킬 수 없는 경우, 다른 프록시 웹 서버 또는 오리진 서버에 클라이언트를 보낼 수 있다. 다른 구성에서, 클라이언트는 먼저 오리진 웹 서버에 대해 리퀘스트를 생성한다. 오리진 웹 서버는, 현재의 리퀘스트 또는 향후의 모든 리퀘스트에 대해서 클라이언트를 프록시로 보내거나, 오리진 웹 서버가 클라이언트의 리퀘스트의 일부분에 대해서 응답하고, 응답의 일부에 대해서는 클라이언트를 준 신뢰성 웹 서버(semi-trusted web-server)로 보낼 수도 있다.
대부분의 경우에, 프록시 웹 서버에 오프로딩(offloading)되는 컨텐츠가 비 민감형 데이터(non-sensitive data)로 제한되는 것에 의해서, 액세스 제어 기법이 필요하지는 않게 된다. 비 민감형 데이터는, 임의의 액세스 제어를 필요로 하지 않고, 네트워크 상의 어느 사용자에게도 액세스될 수 있는 데이터로 정의된다. 전형적인 웹 페이지 상에서, 내장된 이미지는 비 민감형 데이터의 예이다. 한편, 제한된 데이터 또는 민감형 데이터는 누가 그것을 획득할 수 있는지에 대하여 소정의 제한을 갖는 데이터로서 정의된다. 제한된 데이터의 예로서는, 등록된 사용자의 세트에 대한 서명에 의해서 획득될 수 있는 페이지, 사용자의 제한된 세트에게 이용가능한 이미지, 또는 오직 특정 사용자에 대해서 개인화(personalized)된 데이터를 포함한다.
인터넷 상에서의 통상적인 서명 서비스 및 개인화된 컨텐츠는 증가되고 있고, 이들 또한 프록시 웹 서버에 의해서 제공하는 성능 이득의 혜택을 받아야 제공한다. 제한된 정보는, 프록시 웹 서버가 적절한 액세스 제어 방법을 갖도록 요구되지만, 대부분의 경우 프록시 웹 서버가 컨텐츠 제공자의 제어 하에 있지 않기 때문에, 이 상황은 복잡해진다. 이러한 프록시 웹 서버는 준 신뢰성 웹 서버의 부류에 속한다. 특정한 웹 애플리케이션에 있어서, 준 신뢰성 웹 서버를, 애플리케이션을 위한 보안 대책에 있어서 애플리케이션의 기능을 부분적으로 신뢰할 수 있는 웹 서버로 정의한다. 특히, 준 신뢰성 웹 서버는 인증(authorization), 사용자 식별자에 대한 액세스, 컨텐츠에 대한 오리진 웹 서버로의 SSL 터널링(tunneling) 및 비 민감형 트랜잭션(transactions)에 대해서는 신뢰할 수 있지만, 준 신뢰성 웹 서버는, 오리진 웹 서버에 대한 사용자 패스워드 또는 비밀 키(secrete keys) 등의 장기간 민감형 데이터에 대해서는 신뢰할 수 없다.
그러므로, 본 발명의 측면은, 클라이언트가 준 신뢰성 웹 서버를 통해서 오리진 웹 서버로부터의 제한된 정보를 액세스할 수 있게 하는 방법을 제공하는 것이 다.
본 발명의 추가적인 측면은, 클라이언트가 준 신뢰성 웹 서버를 통해서 오리진 웹 서버로부터의 제한된 정보에 액세스할 수 있게 하는 장치를 제공하는 것이다.
본 발명의 추가적인 측면은 인증(authentication)에서 쿠키를 사용하는 데 있어서의 보안 위험성을 감소시키는 것이다.
본 발명의 추가적인 측면은 준 신뢰성 웹 서버에 저장된 데이터를 보호하는 것이다.
본 발명의 예에서, 클라이언트는 준 신뢰성 웹 서버에서 제한된 정보로의 액세스를 획득하기 위해서 본 명세서에 개시된 방법을 사용할 것이다.
본 명세서에서 설명된 본 발명의 측면, 특징, 장점 및 그 외의 측면, 특징, 장점은 도면과 함께 읽어나가면서, 이하에 제시된 본 발명의 세부적인 기술을 한층 더 고찰함에 따라서 명백해질 것이다.
본 발명의 다른 목적 및 더 나은 이해는 아래의 세부적인 설명을 참조함으로서 실현될 수 있을 것이다.
도 1은 클라이언트, 오리진 웹 서버 및 준 신뢰성 웹 서버를 갖는 환경, 및 클라이언트가 준 신뢰성 웹 서버를 통해서 제한된 정보에 액세스하는 것과 연관된 문제점의 예를 도시하는 도면,
도 2는 도 1에 도시된 환경에서 클라이언트가 제한된 정보에 액세스할 수 있게 하는, 본 발명에서 설명된 방법에 대한 전개를 나타내며, 인증기, 생성기, 제공기 및 상관기를 도시하는 도면,
도 3은 준 신뢰성 웹 서버 및 오리진 웹 서버가 동일 네임 공간 도메인(예를 들면, 각각 proxy.company.com 및 company.com) 내에 위치되는 경우에 대해서 클라이언트 증명서를 전송하는 기법을 나타내는 본 발명의 제 1 실시예를 도시하는 도면,
도 4는 도 3에 도시된 실시예에 있어서 오리진 웹 서버에 의해서 취해진 동작을 도시하는 흐름도,
도 5는 도 3에 도시된 실시예에 있어서 준 신뢰성 웹 서버네 의해서 취해진 동작을 도시하는 흐름도,
도 6은 클라이언트 증명서가 오리진 웹 서버에 의해서 준 신뢰성 웹 서버에 전송되고, 오리진 서버가 HTTP 리디렉션(redirection)으로 클라이언트를 준 신뢰성 웹 서버에 리디렉트시키는 제 2 실시예-이 실시예는 오리진 웹 서버와 준 신뢰성 웹 서버가 동일 도메인 내에 위치되지 않은 경우를 반영함-를 도시하는 도면,
도 7은 클라이언트 브라우저에서 클라이언트 지정 정보를 오리진 웹 서버에 전송하는 제 1 클라이언트측 프로그램을 인스톨하는 오리진 웹 서버와, 클라이언트 브라우저에서 클라이언트 지정 정보를 준 신뢰성 웹 서버에 전송하는 제 2 클라이언트측 프로그램을 인스톨하는 준 신뢰성 웹 서버에 의해서 상관(correlation)이 도움을 받는 제 3 실시예를 도시하는 도면,
도 8은 도 7에 도시된 실시예에 있어서 이벤트의 시퀀스를 도시하는 도면,
도 9는 도 7에 도시된 실시예에 있어서 오리진 웹 서버에 의해서 취해진 동작을 도시하는 흐름도,
도 10은 도 7에 도시된 실시예에 있어서 준 신뢰성 웹 서버에 의해서 취해진 동작을 도시하는 흐름도,
도 11은 준 신뢰성 웹 서버에 전송될 쿠키를 생성하기 위해서 오리진 웹 서버에 의해서 취해진 동작을 도시하는 흐름도,
도 12는 상관 절차의 일부로서 쿠키의 타당성 검사(validating)를 하는 경우에 오리진 웹 서버 또는 준 신뢰성 웹 서버에 의해서 취해진 동작을 도시하는 흐름도,
도 13은 앞에서 설명된 절차의 일부로서 쿠키를 업데이트하는 경우에 오리진 웹 서버 또는 준 신뢰성 웹 서버에 의해서 취해진 동작을 도시하는 흐름도,
도 14는 준 신뢰성 웹 서버 및 오리진 웹 서버에 의해서 공유된 키를 사용하는 것을 도시하는 도면,
도 15는 준 신뢰성 웹 서버를 통해서 분포되는 보안 컨텐츠를 생성하는 경우, 오리진 웹 서버에 의해서 취해지는 동작을 도시하는 흐름도,
도 16은 부분적인 보안 컨텐츠를 서비스하는 경우 준 신뢰성 웹 서버에 의해서 취해진 동작을 도시하는 흐름도,
도 17은 보안 컨텐츠를 수신하는 경우 클라이언트에 의해서 취해지는 동작을 도시하는 흐름도,
도 18은 보안 컨텐츠를 식별하는 새로운 컨텐츠 타입의 사용을 도시하는 도면.
본 발명은, 클라이언트가 준 신뢰성 웹 서버를 통해서 제한된 정보에 액세스할 수 있게 한다. 액세스가 발생하는 전형적인 환경이 도 1에 도시되어 있다. 이 도면은 클라이언트, 오리진 웹 서버 및 인터넷 등의 코어 네트워크(core network)에 접속된 준 신뢰성 웹 서버를 도시한다.
클라이언트(101), 준 신뢰성 웹 서버(104) 및 오리진 웹 서버(103)는 코어 네트워크(102)에 접속되어 있다. 클라이언트, 준 신뢰성 웹 서버 및 오리진 웹 서버는, 도면에서 예시하는 바와 같이, 코어 네트워크에 직접 접속되거나, 중간 방화벽(intermediary firewalls), 라우터(routers) 및 서브 네트워크를 경유하여 접속될 수 있다. 준 신뢰성 웹 서버는, 클라이언트가 오리진 웹 서버와 통신하는 경우에 네트워크 내에서 패킷(packets)이 따르는 루트(route)에 놓일 수 있다.
클라이언트의 리퀘스트에 대한 응답을 위해서 대기해야 하는 시간을 줄이고 오리진 웹 서버의 로드를 줄이기 위해서, 준 신뢰성 웹 서버는 클라이언트의 리퀘스트에 대해서 서비스할 수 있다. 일반적으로, 준 신뢰성 웹 서버가 오리진 웹 서버에 비해서 클라이언트에 더 근접하거나, 준 신뢰성 웹 서버가 오리진 웹 서버에 비해서 로드가 적다면, 클라이언트의 리퀘스트에 서비스하기 위해서 준 신뢰성 웹 서버를 선택한다. 몇몇 구성에서, 클라이언트는 항상 오리진 웹 서버보다는 준 신 뢰성 웹 서버에 대해서 리퀘스트를 생성한다. 준 신뢰성 웹 서버는, 필요에 따라서 오리진 웹 서버로부터의 컨텐츠를 인출하면서, 클라이언트에게 응답하거나, 준 신뢰성 웹 서버가 클라이언트의 리퀘스트를 만족시킬 수 없는 경우에는 다른 준 신뢰성 웹 서버 또는 오리진 서버에 클라이언트를 보낼 수 있다. 다른 구성에서, 클라이언트는 먼저 오리진 웹 서버에 리퀘스트를 생성한다. 오리진 웹 서버는, 현재의 리퀘스트 또는 모든 향후의 리퀘스트에 대하여 준 신뢰성 웹 서버에 클라이언트를 보내거나, 오리진 웹 서버가 클라이언트의 리퀘스트의 일부에 대하여 응답하고, 응답의 일부에 대해서는 준 신뢰성 웹 서버로 클라이언트를 보낼 수도 있다.
도 1에서, 준 신뢰성 웹 서버가 반드시 컨텐츠 제공자나 오리진 웹 서버의 제어 하에 있는 것으로 고려되지는 않는 것에 의해서, 준 신뢰성 웹 서버는 장기간 민감형 데이터를 위한 보안 대책에 대해서는 신뢰할 수 없다. 그러나, 준 신뢰성 웹 서버는 인증, 사용자 식별, 비 민감형 트랜잭선 및 컨텐츠에 대한 SSL 터널링(tunneling)에 있어서는 신뢰성이 있다. 준 신뢰성 웹 서버는 오리진 웹 서버에 의해서 준 신뢰(semi-trusted)되고 있으므로, 준 신뢰성 웹 서버에서 제한된 정보를 보호하고 민감한 사용자 증명서를 보호하기 위해서는 액세스 제어 방법이 필요하다. 본 특허는 사용자 패스워드 등의 준 신뢰성 웹 서버에서의 장기간 민감형 데이터에 대한 위험없이, 준 신뢰성 웹 서버에서의 제한된 정보에 대한 액세스 제어를 제공하는 기법을 제공한다.
클라이언트가 장기간 민감형 데이터에 대한 위험성 없이, 준 신뢰성 웹 데이터에서 제한된 정보에 액세스할 수 있게 하기 위해서는, 추가적인 기능이 필요하 다. 도 2는, 본 명세서에서 개시된 본 발명을 전개할 수 있는 네트워크에서 실행되는 임의의 머신의 구조를 도시한다. 머신(201)은 클라이언트, 준 신뢰성 웹 서버, 오리진 웹 서버, 클라이언트의 신뢰성 에이전트(trusted agents), 준 신뢰성 웹 서버의 신뢰성 에이전트 및 오리진 웹 서버의 신뢰성 에이전트 사이에서 분포될 수 있다. 본 발명을 구현하는 어떠한 장치(201)도 인증기(authenticator)(202), 증명서 생성기(203), 증명서 제공기(credential presentator)(204), 증명서 상관기(credential correlator)(205)를 포함하는 4개의 구성 요소로 이루어진다. 본 발명의 몇몇 실시예에서, 네트워크 내에 이미 존재하는 외부 서비스(external services)에 의해서 인증기(202)를 제공할 수 있다. 인증기(202)는 먼저 클라이언트(101)를 오리진 웹 서버(103)로 인증한다. 증명서 생성기(203)는 후속적인 통신에 이용될 클라이언트에 대한 증명서를 생성한다. 증명서 제공기(204)는 클라이언트 증명서를 준 신뢰성 웹 서버(104)에 대해서 통신한다. 증명서 상관기(205)는 클라이언트 증명서를 액세스하는 클라이언트 및 클라이언트 사용자 식별기와 상관시킨다.
클라이언트가 제한된 정보를 리퀘스트할 경우, 인증을 위해서 클라이언트를 오리진 웹 서버로 보낸다. 증명서 생성 후에, 클라이언트는 다시 준 신뢰성 웹 서버에 보내서 리퀘스트를 반복하고, 증명서는 준 신뢰성 웹 서버로 전송된다. 증명서를 상관시킨 후에, 증명서가 유효하다면, 준 신뢰성 웹 서버는 리퀘스트된 컨텐츠를 제공하는 것으로 클라이언트의 리퀘스트에 응답한다.
도 3은 준 신뢰성 웹 서버(300) 및 오리진 웹 서버(310)가 동일 네임 공간 도메인(예를 들면, 각각 proxy.company.com 및 company.com 등) 내에 위치되는 경우에 있어서, 클라이언트 증명서를 전송하는 기법을 나타내는 본 발명의 제 1 실시예를 도시한다. 이 실시예에서, 클라이언트는 오리진 웹 서버에 대해서 리퀘스트를 생성한다. 때때로, 준 신뢰성 웹 서버에 의해서 리퀘스트를 오리진 웹 서버로 보내기도 한다. 클라이언트는 인증(320) 구성 요소를 가지고 오리진 웹 서버로 인증된다. 오리진 웹 서버에서, 증명서 생성(325) 구성 요소는, 명확한 클라이언트 인터넷 프로토콜(Internet Protocol : IP) 어드레스 및 HTTP 헤더 정보 등과 같은 클라이언트 지정 환경 정보를 포함하는 HTTP 쿠키의 형태로 클라이언트 증명서를 생성한다. 오리진 웹 서버는 클라이언트에 대한 쿠키를 설정하고, HTTP 리디렉션을 이용하여 오리진 웹 서버에 의해서 준 신뢰성 웹 서버로 클라이언트를 보낸다. 준 신뢰성 웹 서버 및 오리진 웹 서버가 동일 네임 공간 도메인 내에 있기 때문에, 클라이언트가 준 신뢰성 웹 서버에 대해 리퀘스트를 생성하는 경우, 증명서 쿠키는 준 신뢰성 웹 서버(315)로 전송된다. 준 신뢰성 웹 서버에서, 증명서 상관(330) 구성 요소는, 명확한 클라이언트 IP 주소 및 HTTP 헤더 정보 등의 클라이언트 지정 환경 정보에 대해 전송된 쿠키를 상관시킨다. 쿠키가 유효한 경우, 준 신뢰성 웹 서버는 쿠키 내에서 지정된 사용자 식별자의 액세스 제어를 이용하여 리퀘스트에 응답한다. 쿠키의 포맷 및 타당성 검사는 도 11에 도시되어 있다.
도 4는 도 3에 도시된 실시예에 있어서 오리진 웹 서버(310)에 의해서 취해진 동작을 도시하는 흐름도이다. 실시예를 구현하는 장치가 오리진 웹 서버(310)에서 개시될 때마다, 흐름도는 단계(401)로 진행된다. 단계(405)에서, 오리진 웹 서버는 클라이언트로부터의 메시지를 대기한다. 메시지를 수신하면, 단계(410)에서 오리진 웹 서버는 클라이언트가 인증되었는지를 검사하여 확인한다. 클라이언트는 도 12에 도시된 바와 같이 유효 클라이언트 증명서를 제시하는 것에 의해서 인증되거나 다른 기법에 의해서 인증될 수도 있다. 클라이언트가 단계(410)에서 인증되지 않으면, 단계(425)에서, 오리진 웹 서버는 인증을 개시하고 단계(410)로 복귀한다. 클라이언트가 단계(410)에서 인증되면, 단계(415)가 실행된다. 단계(415)에서, 오리진 웹 서버는 클라이언트 지정 환경 정보를 이용하여 클라이언트에 대하여 설정된 쿠키 내에 저장되는 클라이언트 증명서를 생성한다. 다음으로, 단계(420)에서, 오리진 웹 서버는 클라이언트를 준 신뢰성 웹 서버로 보낸다. 마지막으로, 오리진 웹 서버는 단계(405)로 복귀하고, 다른 메시지를 대기한다.
도 5는 도 3에 도시된 실시예에 있어서 준 신뢰성 웹 서버(300)에 의해서 취해진 동작을 도시하는 흐름도이다. 흐름도는 실시예를 구현하는 장치가 준 신뢰성 웹 서버(300)에서 개시될 때마다 단계(500)로 진행된다. 단계(505)에서, 준 신뢰성 웹 서버는 클라이언트로부터의 메시지를 대기한다. 메시지를 수신하면, 준 신뢰성 웹 서버는 클라이언트가 단계(510)에서 유효한 클라이언트 증명서를 포함하는 쿠키를 제시했는지를 검사하여 확인한다. 단계(510)는 쿠키 내의 클라이언트 증명서를, 도 12에서 도시된 바와 같이, 준 신뢰성 웹 서버가 클라이언트로부터 획득한 클라이언트 지정 정보와 상관시키는 것을 포함한다. 클라이언트 증명서가 단계(510)에서 유효하지 않으면, 단계(530)가 실행된다. 단계(530)에서, 준 신뢰성 웹 서버는 오리진 웹 서버로 클라이언트를 보내고 단계(505)로 복귀한다. 단계(510)에서 클라이언트 증명서가 유효하면, 단계(515)가 실행된다. 단계(515)에서, 쿠키 및 클라이언트 증명서는 도 13에 도시된 바와 같이 업데이트된다. 단계(515) 이후에, 준 신뢰성 웹 서버는, 단계(520)에서 클라이언트가 인증되었는지를 검사하여 확인한다. 클라이언트가 단계(520)에서 인증되지 않으면, 단계(535)가 실행된다. 단계(535)에서, 준 신뢰성 웹 서버는 클라이언트에게 금지 메시지를 송신하고 단계(505)로 복귀한다. 클라이언트가 단계(520)에서 인증되면, 단계(525)가 실행되고, 컨텐츠가 클라이언트에게 제공된다. 단계(525) 이후에, 준 신뢰성 웹 서버는 단계(505)로 복귀하고, 다음 메시지를 대기한다.
도 6은 클라이언트 증명서가 오리진 웹 서버(610)에 의해서 준 신뢰성 웹 서버(600)에 제공되고, 오리진 서버(610)는 HTTP 리디렉션을 가지고 준 신뢰성 웹 서버(600)로 클라이언트를 리디렉트한다. 이 실시예는, 오리진 웹 서버 및 준 신뢰성 웹 서버가 동일 도메인 내에 위치되지 않은 경우를 반영하고 있지만, 이는 또한 이들 두 서버가 동일 도메인 내에 있는 경우에도 이용될 수 있다. 이 실시예에서, 클라이언트는 오리진 웹 서버에 대해서 리퀘스트를 생성한다. 때때로, 리퀘스트를 준 신뢰성 웹 서버에 의해서 오리진 웹 서버로 보낸다. 클라이언트는 인증(630) 구성 요소를 가지고 오리진 웹 서버로 인증된다. 오리진 웹 서버에서, 증명서 생성(620) 구성 요소는 명확한 클라이언트 인터넷 프로토콜(IP) 어드레스 및 HTTP 헤더 정보 등의 클라이언트 지정 환경 정보를 포함하는 HTTP 쿠키의 형태로 클라이언트 증명을 생성한다. 전송 구성 요소(625)는 준 신뢰성 웹 서버(600)에 클라이언트 증명서를 전송하고, 다음으로 오리진 웹 서버(610)는, HTTP 리디렉션 URL 내의 클라이언트 증명서 쿠키로 보내는 것을 포함하여 HTTP 리디렉션에 의해 클라이언트를 준 신뢰성 웹 서버로 보낸다. 클라이언트(605)가 준 신뢰성 웹 서버(600)에 대해 리퀘스트를 생성하는 경우, 전송 구성 요소(615)는 URL 질의 스트링(query string)의 형태로 클라이언트 증명서 쿠키로의 보내는 것을 제공하거나, 클라이언트가 이미 클라이언트 증명서 쿠키를 갖고 있다면, 쿠키는 준 신뢰성 웹 서버로 전송된다. 상관 구성 요소(635)에서, 준 신뢰성 웹 서버에서 저장된 쿠키 중 하나를 선택하기 위해서 클라이언트 증명서 쿠키에 대해 보내는 것을 이용하고, 다음에, 명확한 클라이언트 IP 어드레스 및 HTTP 헤더 정보 등의 클라이언트 지정 정보를 도 12에 도시된 바와 같이 클라이언트 증명서에 대해 상관시킨다. 클라이언트가 클라이언트 증명서와 매칭되면, 준 신뢰성 웹 서버는 향후의 리퀘스트를 위해서 클라이언트에 대한 쿠키를 설정하고, 준 신뢰성 웹 서버는 쿠키 내에서 지정된 사용자 식별자의 액세스 제어를 이용하여 리퀘스트에 응답한다. 쿠키의 포맷 및 타당성 검사를 도 11에 도시하였다.
도 7은 클라이언트 브라우저 내에서 클라이언트 지정 정보를 오리진 웹 서버에 전송하는 제 1 클라이언트측 프로그램을 인스톨하는 오리진 웹 서버와, 클라이언트 브라우저 내에서 클라이언트 지정 정보를 준 신뢰성 웹 서버에 전송하는 제 2 클라이언트측 프로그램을 인스톨하는 준 신뢰성 웹 서버에 의해서 상관 작업을 돕게 하는 제 3 실시예를 도시한다. 이 실시예는 오리진 웹 서버 및 준 신뢰성 웹 서버가 동일 도메인 내에 위치되지 않는 경우를 반영하지만, 위의 두 서버가 동일 도메인 내에 있는 경우에도 이용될 수 있다. 이 실시예는 더 많은 클라이언트 지 정 환경 정보를 이용하는 것에 의해서 인증에서 쿠키를 이용하는 위험성을 더욱 감소시킨다. 이 실시예에서, 클라이언트는 오리진 웹 서버(준 신뢰성 웹 서버에 의해서 오리진 웹 서버로 보낼 수 있음)로 리퀘스트를 생성한다. 클라이언트는 인증(730) 구성 요소와 함께 오리진 웹 서버로 인증될 수 있으며, 이는 제 1 클라이언트측 프로그램으로 강화될 수 있다. 오리진 웹 서버에서, 증명서 생성(325) 구성 요소는, 명확한 클라이언트 인터넷 프로토콜(IP) 어드레스 및 HTTP 헤더 정보 등과 같은 클라이언트 지정 환경 정보뿐만 아니라 로컬 IP 어드레스의 해시 및 브라우저 애플리케이션 프로세스 식별자 등과 같은 제 1 클라이언트측 프로그램에 의해서 수집되는 추가적인 클라이언트 지정 환경 정보를 포함하는 HTTP 쿠키의 형태로 클라이언트 증명서를 생성한다. 전송 구성 요소(725)는 준 신뢰성 웹 서버(735)에 클라이언트 증명서를 전송하고, 다음으로 오리진 웹 서버(710)는 HTTP 리디렉션 URL 내의 클라이언트 증명서 쿠키로 보내는 것을 포함하여 HTTP 리디렉션에 의해 클라이언트를 준 신뢰성 웹 서버로 보낸다. 클라이언트(705)가 준 신뢰성 웹 서버(735)에 대한 리퀘스트를 생성하는 경우, 전송 구성 요소(715)는 URL 질의 스트링의 형태로 클라이언트 증명서 쿠키로의 보내는 것을 제공하거나, 클라이언트가 이미 클라이언트 증명서 쿠키를 갖고 있다면, 쿠키를 준 신뢰성 웹 서버로 전송한다. 상관 구성 요소(735)에서, 준 신뢰성 웹 서버에서 저장된 쿠키 중 하나를 선택하기 위해서 클라이언트 증명서 쿠키로 보내는 것을 이용하고, 다음에, 명확한 클라이언트 IP 어드레스 및 HTTP 헤더 정보 등의 클라이언트 지정 정보뿐만 아니라 제 2 클라이언트측 프로그램을 통해서, 상관 구성 요소(740)에 의해서 획득된 추가 적인 클라이언트 지정 환경 정보를 클라이언트 증명서에 상관시킨다. 클라이언트가 클라이언트 증명서와 매칭되면, 준 신뢰성 웹 서버는 향후의 리퀘스트를 위해서 클라이언트에 대한 쿠키를 설정하고, 준 신뢰성 웹 서버는 쿠키에서 지정된 사용자 식별자의 액세스 제어를 이용하여 리퀘스트에 응답한다. 쿠키의 포맷 및 타당성 검사는 도 11에 도시하였다.
도 8은 도 7에 도시된 바와 같이 제 3 실시예에서 발생되는 메시지 교환을 도시한다. 클라이언트는 HTTP 리퀘스트(800)를 오리진 웹 서버로 전송한다. 오리진 웹 서버는 인증 리퀘스트 메시지를 가지고 응답하고(805), 이는 사용자에게 사용자 ID 및 패스워드 프롬프트(password prompt)로서 제공된다. 클라이언트는 인증 데이터를 포함하는 인증 응답 메시지(authentication response message)로 응답한다(810). 사용자 ID 및 패스워드가 오리진 웹 서버에서 성공적으로 타당성이 검사되지 않았다면, 오리진 웹 서버는 클라이언트에게 클라이언트 프로그램을 전송한다(815). 클라이언트 프로그램은 클라이언트 머신을 실행시키고 예를 들면, 클라이언트 브라우저의 프로세스 ID와 사용자 ID 및 로컬 IP 어드레스 등의 로컬 환경 정보를 수집한다. 이 정보는 사생활을 위해서 클라이언트에게 해싱(hashed)되고 클라이언트 지정 상관 정보로서 오리진 웹 서버로 되돌려 보낸다(820). 오리진 웹 서버는 이후에 도 11에 설명된 바와 같이 유효 쿠키를 생성하고 클라이언트의 리디렉션에 쿠키에 대해 보내는 것을 포함한다(825). 또한, 오리진 웹 서버는 준 신뢰성 웹 서버 또는 준 신뢰성 웹 서버에 액세스 가능한 디렉토리 내에 쿠키를 저장한다(830). 클라이언트는 리디렉션에서 지시된 바와 같이 준 신뢰성 웹 서버에 대해서 계속적으로 리퀘스트를 전송한다(835). 준 신뢰성 웹 서버 및 오리진 웹 서버가 하나의 도메인을 공유한다면, 클라이언트는 쿠키를 포함한다. 클라이언트가 쿠키를 포함하지 않는다면, 준 신뢰성 웹 서버는, 쿠키가 오리진 웹 서버에 의해서 저장된 위치로부터 쿠키를 검색한다. 준 신뢰성 웹 서버가 클라이언트로부터 쿠키를 수신하지 않고, 자신이 액세스 가능한 저장 장치에서 쿠키를 확인하지 않는다면, 준 신뢰성 웹 서버는 클라이언트를 오리진 웹 서버로 리디렉트하고, 프로세스는 메시지에서 재시작한다(800). 준 신뢰성 웹 서버는, 특정한 시간 프레임 내에서 오직 작은 개수의 리디렉션만을 클라이언트에게 허용함으로써, 리디렉션의 변동에 대한 보호를 구현할 수 있다. 준 신뢰성 웹 서버가 클라이언트의 쿠키에 대한 액세스를 갖는다면, 준 신뢰성 웹 서버는 클라이언트(840)에 대한 상관 클라이언트 프로그램(correlation client program)을 전송하고, 이는 클라이언트 환경 정보를 수집하고(참조 부호(815) 참조) 그의 해시를 프록시 웹 서버로 되돌려보낸다(845). 다음에, 준 신뢰성 웹 서버는, 클라이언트의 환경 해시가 쿠키 내에 저장된 환경 해시와 매칭되는지 여부를 증명한다. 매칭되지 않는다면, 준 신뢰성 웹 서버는 클라이언트를 오리진 웹 서버로 리디렉트하고, 시나리오(scenario)가 재시작된다(800). 매칭된다면, 준 신뢰성 웹 서버는 (이후에 도 11에서 설명되는 바와 같이) 쿠키에 대해 타당성을 검사한다. 쿠키가 유효하면, 준 신뢰성 웹 서버는 쿠키로부터 클라이언트의 증명서를 추출하고, 인증을 계속한다. 클라이언트의 증명서가 리퀘스트된 정보를 액세스하기에 충분하다면, 액세스가 클라이언트에게 제공되고, 그렇지 않은 경우에는 액세스가 거부된다(850). 준 신뢰성 웹 서버는 쿠키를 업데이트(도 11에 도시되는 바와 같이)하고, 업데이트된 쿠키를 메시지와 함께 클라이언트에 전송하며(850), 업데이트된 쿠키를 준 신뢰성 웹 서버에 있어서 액세스 가능한 저장 장치 내에 저장한다.
도 9는 도 7에 도시된 바와 같은 제 3 실시예에서의 오리진 웹 서버의 동작을 도시하는 흐름도이다. 오리진 웹 서버를 개시(900)한 후에, 메시지의 리퀘스트를 대기한다(905). 클라이언트의 리퀘스트를 수신하면, 오리진 웹 서버는 도 8에 도시된 바와 같이, 클라이언트에 개별 정보를 기록하는 클라이언트측 프로그램을 전송하는 것에 의해서 클라이언트 환경 정보를 수집한다(910). 오리진 웹 서버가, 이 클라이언트에 대한 유효 쿠키가 존재하는지 여부를 검사한다(915). 그렇다면, 클라이언트를 프록시 웹 서버로 보내고(920), 오리진 웹 서버는 다른 리퀘스트를 대기한다(905). 그렇지 않다면, 오리진 웹 서버는 클라이언트에 인증 리퀘스트를 전송하는 것에 의해서 클라이언트를 인증하고(925), 인증 응답(도 8에 도시된 바와 같은, 메시지(805, 810) 등)을 대기한다. 인증이 실패하면, 액세스 금지 메시지를 클라이언트(835)에 전송하고, 오리진 웹 서버는 다른 리퀘스트를 대기한다(905). 이 경우에, 오리진 웹 서버는 클라이언트마다의 인증 절차의 실패 회수를 감사(audit)하고 특정 한도의 성공적인 인증 리퀘스트가 실패한 계정(accounts)을 폐쇄해야 한다. 인증이 성공적이고, 쿠키가 전송되지 않는다면, 오리진 웹 서버는 도 11에 도시된 바와 같이 클라이언트에 대한 쿠키를 생성하고, 클라이언트를 준 신뢰성 웹 서버로 보내는 리디렉션 메시지와 함께 쿠키를 클라이언트에게 전송한다(940). 오리진 웹 서버 및 준 신뢰성 웹 서버가 동일 도메인을 공유하지 않는다면, 쿠키는 준 신뢰성 웹 서버로 액세스할 수 있는 디렉토리 내에 저장되어야 한다. 그렇지 않은 경우에, 이는 선택적이다. 다음에, 오리진 웹 서버는 리퀘스트의 입력을 대기하는 상태로 복귀한다(905).
도 10은 도 7에 도시된 제 3 실시예에서의 준 신뢰성 웹 서버의 동작을 도시하는 흐름도이다. 준 신뢰성 웹 서버에서 개시(1000)된 후에, 리퀘스트의 입력을 대기한다(1005). 다음에, 준 신뢰성 웹 서버는 이 클라이언트에 대한 쿠키를 갖는지 여부를 검사한다(1010). 클라이언트가 리퀘스트에 대한 유효 쿠키를 제시하지 않고 준 신뢰성 웹 서버가 다른 저장 장치, 예를 들면 디렉토리 등에 클라이언트의 쿠키를 갖고 있지 않다면, 쿠키 생성을 위해서 클라이언트를 오리진 웹 서버에 보낸다(1015). 그렇지 않다면, 준 신뢰성 웹 서버는 도 7에 도시된 바와 같은 클라이언트측 프로그램을 이용하여 클라이언트 환경 정보를 수집한다(1020). 다음에, 준 신뢰성 웹 서버는 도 12에 도시된 바와 같이, 수집된 정보와 쿠키 내에 저장된 클라이언트 정보가 매칭하는지 여부를 검증한다(1025). 그렇지 않다면, 클라이언트는 유효 쿠키를 생성하도록 오리진 웹 서버로 클라이언트를 보낸다(1015). 그렇다면, 준 신뢰성 웹 서버는 도 13에 도시된 바와 같이 쿠키를 업데이트한다(1035). 다음에, 준 신뢰성 웹 서버는 쿠키로부터 클라이언트의 증명서를 추출하고, 클라이언트의 인증을 검사하여 리퀘스트된 정보에 대해 액세스하게 한다(1040). 클라이언트가 리퀘스트된 정보에 대해 액세스하도록 인증되지 않았다면, 준 신뢰성 웹 서버는 클라이언트에게 금지 메시지를 전송하고(1045) 대기 상태(1005)로 복귀한다. 클라이언트가 인증되었다면, 클라이언트는 액세스를 제공받는다(1050). 그 후에, 준 신뢰성 웹 서버는 대기 상태(1005)로 복귀한다.
도 11은 오리진 웹 서버에 의해서 생성된 클라이언트 쿠키의 예를 도시한다. 쿠키는 2개의 부분, 즉 암호화된 한 부분과 암호화되지 않은 한 부분으로 구성된다. 암호화된 부분은, 오리진 웹 서버에 의해서 확인된 바와 같은 클라이언트의 IP 어드레스(1100)와, 클라이언트측 프로그램에 의해서 수집된 선택적 클라이언트 상관 정보(1105)와, 오리진 웹 서버에 의해서 확인된 바와 같은 클라이언트 리퀘스트의 해시(1110)와, 오리진 웹 서버 및 준 신뢰성 웹 서버에 의해서 인증하는 데 이용되는 클라이언트의 사용자 식별(1115)과, 선택적으로, 랜덤 비트 패턴(random bit pattern) B(1120)와, 쿠키의 생성 시간을 포함하는 타임 스탬프(time stamp)(1125)와, 일반적으로 생성 시간에 추가되는 고정 오프셋(fixed offset)인, 전체 도메인에서 유효한 글로벌 타임아웃 값(global time out value)(1130)과, 쿠키 생성 시간에 추가되는 고정 오프셋인 쿠키 인액티비티 타임아웃(cookie inactivity time out)(1135)으로 구성된다. 쿠키에서 암호화되어 있지 않은 부분은, 위의 쿠키 부분을 암호화하는 데 이용되는 키를 나타내는 키 식별 번호(1140)와, 오리진 웹 서버의 도메인 네임(1145)과, 선택적으로, 암호화된 랜덤 비트 패턴 B의 복사본(1150)과, 마지막으로, 서명을 생성하기 위해서 암호화되지 않은 부분에서 모든 필드가 이용되게 하기 위해서 필드 상에 걸친 디지털 서명(digital signature)(1155)을 포함한다. 그 후에, 제 1 부분의 필드는, 준 신뢰성 웹 서버 및 오리진 웹 서버에 의해서 공유되는 키(Kc)를 이용하여 암호화된다(1160).
도 12는 클라이언트 쿠키를 타당성 검사하고, 쿠키가 상관 절차의 일부분으 로서 유효한 경우에, 클라이언트 증명서를 복귀시키는 프로세스를 나타내는 흐름도를 도시한다. 클라이언트 쿠키는, 클라이언트에 의해서 HTTP 리퀘스트 내에 존재하거나, 또는 클라이언트가 준 신뢰성 웹 서버에서 저장되거나 외부 장치 또는 디렉토리를 통해서 준 신뢰성 웹 서버에게 이용가능한 쿠키에 대해 보내는 것을 제공할 수 있다. 쿠키가 발견되지 않으면, 클라이언트가 인증될 수 있고, 쿠키를 생성할 수 있도록 오리진 웹 서버로 클라이언트를 보낸다. 쿠키 타당성 검사 절차는 단계(1200)에서 개시된다. 단계(1205)에서, 쿠키는 도메인 식별자 및 키 식별자를 이용하여 적절한 해독화 키(decryption key)를 선택하는 것과, 해독화 동작을 수행하는 것에 의해서 해독화된다. 단계(1210)에서, 글로벌 타임아웃(global time-out) 및 인액티비티 타임아웃 필드를 검사하여 쿠키가 소멸(expired)되고 비트 패턴이 비트 패턴 카피(bit pattern copy)에 대해서 비교되었는지 확인한다. 쿠키가 글로벌 타임아웃 또는 인액티비티 타임아웃 중 어느 하나에 의해서 소멸되었거나, 비트 패턴과 비트 패턴의 카피가 동일하지 않다면, 쿠키는 유효하지 않고 단계(1215)가 실행된다. 단계(1215)에서, 프로세스는 유효하지 않은 상태로 복귀하고 정지한다. 단계(1210)에서 쿠키가 소멸되지 않고, 비트 패턴이 매칭되면, 단계(1220)가 실행된다. 단계(1220)에서, 단계(1205)에서 해독화하는 데 이용되었던 키가 손상된 것으로 표시되었거나 강화된 보안이 요구된다면, 단계(1225)가 실행되고, 그렇지 않다면 단계(1230)가 실행된다. 단계(1225)에서, 쿠키의 서명을 검사한다. 서명이 매칭되지 않으면 쿠키는 유효하지 않게 되고, 단계(1215)가 실행된다. 서명이 매칭된다면, 단계(1230)가 실행된다. 단계(1230)에서, 준 신뢰성 웹 서버에 의해 클라이언트 지정 환경 정보를 수집한다. 명확한 IP 어드레스 및 HTTP 헤더 해시 등과 같은 몇몇 클라이언트 지정 환경 정보를 클라이언트 접속으로부터 획득할 수 있는 한편, 로컬 사용자 식별자, 브라우저 프로세서 식별자 및 IP 어드레스 등의 다른 클라이언트 지정 환경 정보는 제 2 클라이언트측 프로그램에 의해서 준 신뢰성 웹 서버에 전송될 수 있다. 단계(1240) 후에, 단계(1235)에서 클라이언트 지정 환경 정보의 해시가 쿠키에 저장된 클라이언트 지정 환경 정보와 동일한지 검사한다. 단계(1235)에서, 동일하지 않다면, 쿠키는 유효하지 않게 되고 단계(1215)가 실행된다. 단계(1235)에서, 동일하다면, 단계(1240)가 실행된다. 단계(1240)에서, 쿠키 내의 클라이언트 액세스 증명서를 검색한다. 단계(1245)에서, 타당성 검사 프로세스는 유효한 것으로 기록되고, 클라이언트 증명서를 호출자(caller)에게 복귀시킨다. 이들 증명서는, 인증에 걸쳐서, 클라이언트에 대해서 액세스를 제공할 것인지 여부를 결정하는 데 이용된다.
도 13은 클라이언트 쿠키를 업데이트하는 프로세스를 나타내는 흐름도를 도시한다. 단계(1300)의 실행이 개시된 후에, 단계(1305)가 실행된다. 단계(1305)는 도 12에서 도시된 타당성 검사 프로세스 내에서 쿠키가 유효로 표시되었는지 여부를 검사하여 확인한다. 쿠키가 단계(1305)에서 유효하지 않으면, 단계(1330)가 실행된다. 단계(1330)에서, 쿠키는 클라이언트, 로컬 저장 장치 및 임의의 쿠키 디렉토리나 저장 장치에서 삭제되고, 단계(1325)가 실행된다. 단계(1325)에서, 쿠키 업데이트 프로세스가 중지된다. 쿠키가 단계(1305)에서 유효하다면, 새로운 인액티비티 타임아웃이 단계(1310)에서 설정되고 단계(1315)가 실행된다. 단계(1315)에서, 준 신뢰성 웹 서버는 키 관리 시스템(key management system)을 검사하여 클라이언트에 의해서 이용되는 키가 아직 유효한지 확인한다. 키가 타임아웃되었거나 오리진 웹 서버가 준 신뢰성 웹 서버에게 키가 더 이상 유효하지 않음을 나타내는 메시지를 전송하였다면, 키는 유효하지 않을 것이다. 단계(1315)에서, 키가 더 이상 유효하지 않다면, 단계(1330)가 실행된다. 단계(1315)에서, 키가 유효하다면, 단계(1320)에서 쿠키는, 키 식별자 필드에서 표시된 동일 공유 키로 암호화되고, 단계(1325)가 실행된다.
도 14는 주목되지 않은 수정 및 개시의 양쪽에 대해서 쿠키의 일부분을 보호하기 위해서, 준 신뢰성 웹 서버 및 오리진 웹 서버에 의해서 이용되는 키 엔트리(key entry)를 도시한다. 키 엔트리는, 키 식별 번호(1400), 키(1405) 및 선택적으로 키 타임아웃 값(1410)을 포함한다. 초기에, 오리진 웹 서버는 새로운 키, 새로운 키 식별 번호 및 엠프티 타임아웃 값(empty time-out value)을 가지고 키 엔트리를 생성하고, 그것을 모든 준 신뢰성 웹 서버에 안전하게 배포한다. 오리진 서버는 적절한 쿠키 필드(도 11 참조) 내에, 쿠키를 생성할 때 이용되는 키의 키 식별 번호를 포함한다. 준 신뢰성 웹 서버가 손상된 것으로 알려진 경우에는, 오리진 웹 서버가 새로운 키 식별 번호를 가지고 손상되지 않은 준 신뢰성 웹 서버에 대해서 새로운 키 엔트리를 발생하고, 이 새로운 키 발행은 준 신뢰성 웹 서버가 기존의 키(old key)에 대한 글로벌 타임아웃 값(예를 들면, 5초)을 설정하는 것을 개시하게 한다. 타임아웃 값이 소멸한 후에, 기존의 키를 이용하는 쿠키는 더 이상 허용되지 않고(도 13 참조), 그것을 제공하는 클라이언트는 인증 및 새로운 쿠키의 생성을 위해서 오리진 웹 서버로 리디렉트된다. 이 방식으로, 손상된 웹 서버에 의해서 알려진 쿠키와 연관된 쿠키 및 사용자 정보는 재전송 공격(replay attack)에서의 자신의 값을 잃어버리게 된다.
도 15는 클라이언트(1500)에 대한 보안 컨텐츠를 생성할 경우, 오리진 웹 서버에 의해서 취해진 동작을 나타내는 흐름도를 도시한다. 준 신뢰성 웹 서버가 이들 데이터를 서비스한다고 해도, 클라이언트가 기밀로 유지되어야 하는 정보를 검색한다면, 이 부분이 적용된다. 검색된 대부분의 정보가 고도로 민감하지도 않고, 준 신뢰성 웹 서버에서 캐싱(caching)을 레버리징(leveraging)하는 여러 이용자에 의해서 공유될 수 있는 경우에, 보안 컨텐츠를 준 신뢰성 웹 서버에 의해서 서비스되는 정보 내에 포함시키면, 크기 조절성(scalability) 및 보안성이 강화된다. 소량의 개별 데이터 및 민감형 데이터는 클라이언트가 인식하지 않는 방식으로 검색되고, 준 신뢰성 웹 서버에 의해서 오리진 웹 서버로부터 자동적으로 검색된다. 클라이언트에 인스톨된 특별 보안 컨텐츠 핸들러(handler)는, 사용자에 대해서 보안 데이터 및 통상 데이터를 구별하는 방식으로 사용자에게 보안 컨텐츠를 제공할 것이다. 보안 컨텐츠를 인에이블하게 하기 위해서, 컨텐츠 제공자는 키(Kclient)를 판정하고, 클라이언트와 공유한다(1505). 다음에, 키(Kcontent)와 함께 민감형 컨텐츠를 암호화한다(1510). 키(Kcontent)는 Kclient와 함께 암호화되어 보안 컨텐츠에 추가된다(1515). 컨텐츠는 새로운 태그(tag)로 표시되고(1520), 다음에, 클라이언트에게 직접적으로 서비스되거나, 컨텐츠의 일부로서 보안 컨텐츠를 포함하는 준 신뢰성 웹 서버에 서비스되고 이것이 클라이언트에게 서비스되게 된다(1525). 절차는 단계(1530)에서 종료된다. 독립 키(Kcontent)를 이용하여 민감형 컨텐츠를 암호화하는 것은, 키(Kclient)를 공유하지 않는 서로 다른 사용자가 암호화된 컨텐츠를 이용하는 것을 지원하고, 오리진 웹 서버는 전체 컨텐츠 대신에 공통 키(common key)를 여러 번 암호화하기만 하면 된다.
도 16은 준 신뢰성 웹 서버가 부분적인 보안 컨텐츠를 서비스할 때(1600)에 준 신뢰성 웹 서버에 의해서 취해진 동작을 나타내는 흐름도를 도시한다. 보안 컨텐츠가 준 신뢰성 웹 서버에 의해서 검색된다면, 클라이언트 식별 정보(예를 들면, 클라이언트의 쿠키 등)가 판정되고(1605), 오리진 웹 서버로부터 보안 컨텐츠를 검색할 때(1610) 오리진 웹 서버에 제공된다. 이 식별은 오리진 웹 서버가 키(Kclient)를 판정하는 것을 가능하게 한다(도 15 참조). 준 신뢰성 웹 서버는 오리진 웹 서버로부터 클라이언트에 대한 보안 컨텐츠를 수신하고 클라이언트에게 컨텐츠를 서비스한다(1615). 보안 컨텐츠가 캐싱될 수 있는지 여부는 컨텐츠 자체에 의존하는 것이 아니라, 오리진 웹 서버에 의해서 결정되는 것이다. 리퀘스트의 보안 컨텐츠 부분을 서비스하는 절차는 단계(1620)에서 종료된다.
도 17은 보안 컨텐츠를 수신할 때(1700) 클라이언트에 의해서 취해진 동작을 나타내는 흐름도를 도시한다. 먼저, 클라이언트의 브라우저는, 자신이 수신한 컨텐츠의 타입에 대해 등록된 프로그램을 갖는지 여부를 검사할 것이다(1705). 클라이언트가 통상적인 컨텐츠를 수신한다면, 존재하는 컨텐츠 핸들러로 데이터를 프로세싱하고(1710), 복귀한다(1715). 클라이언트가 보안 컨텐츠의 태그를 붙인 데이터를 수신하면, 브라우저는 자동적으로 개별 등록 프로그램을 검색하여 이 컨텐츠 를 처리할 것이다(1720). 클라이언트는 자체의 특정 컨텐츠 태그에 의해서 보안 컨텐츠를 인식한다(도 18 참조). 브라우저가 보안 컨텐츠에 대한 핸들러를 등록하지 않았다면, 사용자는 프롬프트(prompted)되고, 인스톨 절차를 진행해야 한다. 보안 컨텐츠에 대한 클라이언트측 핸들러는 오리진 웹 서버로부터의 보안 접속을 거쳐서 인스톨되고, 이 프로세스(1725)에 걸쳐서, 보안 키(Kclient)가 또한 클라이언트 프로그램에 인스톨된다. Kclient는 오직 클라이언트측 프로그램 및 컨텐츠 제공자, 예를 들면, 오리진 웹 서버에서의 cgi 스크립트(cgi script) 또는 서블렛(servlet)에게만 통지된다. 다음에, 웹 브라우저의 일부로서 클라이언트 프로그램이 개시되어 보안 컨텐츠 타입을 처리한다. 클라이언트측 프로그램은 보안 컨텐츠에 첨부된 보호된 키(Kp)를 추출하고(1730), 자신의 비밀 키(Kclient)를 가지고 키(Kp)를 해독화하는 것(1735)에 의해서 보안 컨텐츠에 대한 해독화 키(Kcontent)를 추정한다. 결과적인 키(Kcontent)는 보안 컨텐츠를 해독화하는 데 이용되고, 보안 컨텐츠의 무결성(integrity)을 검사한다(1740). 결과적인 평문(cleartext)은 일반적으로 웹 브라우저에 의해서 처리되거나, 사용자에게 페이지의 어느 부분이 보안 컨텐츠이고 어느 부분이 아닌지 보여주는 방식으로 클라이언트측 프로그램에 의해서 제공될 수 있다(1745).
도 18은 보안 컨텐츠에 부착된 새로운 컨텐츠 타입(1800)을 도시한다. 새로운 태그(1805)가 클라이언트의 웹 브라우저를 개시하여, 클라이언트측 프로그램(도 15에 도시된 바와 같이 인스톨됨)을 활성화하게 한다. 보호된 키 섹션(1810)은 Kclient에 의해서 보호되는 키를 포함하여, 보안 컨텐츠를 해독화한다. 태그 뒤에 는 암호화된 보안 컨텐츠(1815)가 뒤따라온다. 보안 컨텐츠 태그(1805)를 구현하는 한가지 가능성은, 새로운 컨텐츠 핸들러에 의해서 처리되는 특수 파일 확장자(special file extension)(예를 들면, ".sec" 등)를 이용하는 것이다. 파일 자체는 보호된 컨텐츠 키(1810) 및 보안 컨텐츠(1815)를 포함한다. 또 다른 가능성은, 보안 컨텐츠에 대한 새로운 HTML 태그를 정의하고, 보안 컨텐츠 태그(1805) 및 포인터(pointer)를, 보호된 컨텐츠 키(1810) 및 보안 컨텐츠(1815)를 포함하는 파일로 구현하는 것이다.
앞의 내용은 보다 적절한 본 발명의 목적 및 실시예의 일부에 대한 개요를 설명한 것임을 주지하라. 본 발명은 여러 애플리케이션에 대해서 이용될 수 있다. 그러므로, 본 명세서에서 특정한 장치 및 방법에 대해서 기술하였다고 해도, 본 발명의 의도 및 개념은 다른 장치 및 애플리케이션에 대해서도 적합하고 적용 가능하다. 당업자에게는, 본 명세서에서 개시된 실시예에 대한 수정이 본 발명의 정신 및 범주를 벗어나지 않는 한도 내에서 실행될 수 있다는 것이 명확할 것이다. 개시된 실시예는 본 발명의 보다 두드러진 특징과 애플리케이션의 일부에 대한 예시에 불과한 것으로 해석되어야 한다. 개시된 본 발명을 상이한 방식으로 적용하거나 당업자에게 알려진 방식으로 본 발명을 수정하는 것에 의해서, 그 외의 유익한 결과를 실현할 수 있을 것이다.
본 발명은 하드웨어, 소프트웨어 또는 하드웨어 및 소프트웨어의 조합으로 실현될 수 있다. 본 발명에 따른 시각화 장치(visualization tool)는 하나의 컴퓨터 시스템 내에서 집중화 유형(centralized fashion), 또는 서로 다른 구성 요소가 수 개의 상호 접속된 컴퓨터 시스템에 걸쳐 분산되는 분산 유형으로 실현될 수 있다. 임의의 종류의 컴퓨터 시스템-또는 본 명세서에서 개시된 발명을 수행하기 위해 적용된 다른 장치-도 적합하다. 하드웨어와 소프트웨어의 전형적인 조합은, 로딩되고 실행되는 경우, 본 명세서에서 개시된 방법을 실행하도록 컴퓨터 시스템을 제어하는 컴퓨터 프로그램을 갖는 전용 컴퓨터 시스템(general purpose computer system)일 수 있다. 또한, 본 발명은 본 명세서에서 개시된 방법을 구현할 수 있는 모든 피쳐를 포함하고, 컴퓨터 시스템에서 로딩되었을 때, 이들 방법을 실행할 수 있는 컴퓨터 프로그램 제품 내에 내장될 수 있다.
본 내용에서의 컴퓨터 프로그램 수단 또는 컴퓨터 프로그램은, 정보 프로세싱 기능을 갖는 시스템이, 직접적으로, 또는 a) 다른 언어, 코드, 표기법으로의 전환, b) 서로 다른 재료 형태로의 재생 중 어느 한쪽 또는 양쪽을 실행한 후에 특정한 기능을 수행하게 하도록 의도된, 명령어 세트의 임의의 표현, 임의의 언어, 코드 또는 표기법을 의미한다.
지금까지 설명한 본 발명을 가지고, 신규이며, 특허증에 의해서 보장받고자 하는 청구의 범위는 아래와 같다.

Claims (45)

  1. 적어도 하나의 클라이언트(client)가, 준 신뢰성 웹 서버(semi-trusted web-server)를 통하여 오리진 웹 서버(origin web-server)로부터의 제한된 정보에 액세스할 수 있게 하는 방법에 있어서,
    상기 적어도 하나의 클라이언트를 인증(authenticating)하는 단계와,
    상기 적어도 하나의 클라이언트 각각에 대한 클라이언트 지정 환경 정보(client-specific environment information)를 갖는 클라이언트 증명서(client credential)를 생성하는 단계와,
    상기 준 신뢰성 웹 서버에 상기 클라이언트 증명서를 제공하는 단계와,
    상기 적어도 하나의 클라이언트를 상기 클라이언트 증명서와 상관시키는 단계와,
    상기 적어도 하나의 클라이언트에게 상기 액세스를 제공하는 단계
    를 포함하는 방법.
  2. 제 1 항에 있어서,
    상기 준 신뢰성 웹 서버를 통해서 상기 적어도 하나의 클라이언트에 상기 제한된 정보를 서비스하는 단계를 더 포함하는 방법.
  3. 제 1 항에 있어서,
    상기 생성 단계는, 클라이언트 지정 환경 정보 및 상기 클라이언트 증명서(client credential)를, 상기 적어도 하나의 클라이언트의 브라우저(browser)의 쿠키 내에 저장하는 단계를 포함하는 방법.
  4. 제 1 항에 있어서,
    상기 클라이언트 증명서 제공 단계는,
    상기 준 신뢰성 웹 서버에 상기 클라이언트 증명서를 전송하는 단계와,
    HTTP 리디렉션(redirection)을 이용하여, 상기 적어도 하나의 클라이언트를 상기 준 신뢰성 웹 서버로 보내는 단계
    를 포함하는 방법.
  5. 제 1 항에 있어서,
    상기 클라이언트 증명서 제공 단계는,
    상기 준 신뢰성 웹 서버에 액세스 가능한 디렉토리에, 상기 적어도 하나의 클라이언트 증명서를 전송하는 단계와,
    HTTP 리디렉션을 이용하여, 오리진 웹 서버가 상기 적어도 하나의 클라이언트를 상기 준 신뢰성 웹 서버에 전송하도록 하는 단계를
    을 포함하는 방법.
  6. 제 1 항에 있어서,
    상기 생성 단계는,
    상기 클라이언트 지정 환경 정보를 수집하는 단계와,
    상기 클라이어트 증명서 내에 상기 클라이언트 지정 환경 정보를 저장하는 단계
    를 포함하는 방법.
  7. 제 6 항에 있어서,
    상기 클라이언트 지정 환경 정보는,
    상기 적어도 하나의 클라이언트 리퀘스트(request)의 HTTP 리퀘스트 헤더(HTTP-Request header)의 해시(hash),
    상기 적어도 하나의 클라이언트에 의해서 이용되는 머신(machine)의 IP 어드레스의 해시,
    상기 적어도 하나의 클라이언트 브라우저의 프로세스 식별자(process identity),
    상기 적어도 하나의 클라이언트 프로그램에 의해서 이용되는 사용자 식별자의 해시, 및/또는
    이들의 임의의 조합
    을 포함하는 방법.
  8. 제 1 항에 있어서,
    상기 생성 단계는,
    상기 적어도 하나의 클라이언트에 제 1 클라이언트측 프로그램(client-side program)을 배치하는 단계와,
    제 1 클라이언트측 프로그램을 이용하여 상기 클라이언트 지정 환경 정보의 제 1 세트를 수집하는 단계와,
    상기 오리진 웹 서버에 상기 클라이언트 지정 환경 정보의 제 1 세트를 전송하는 단계와,
    상기 클라이언트 증명서 내에 상기 클라이언트 지정 환경 정보의 제 1 세트를 저장하는 단계
    를 포함하는 방법.
  9. 제 8 항에 있어서,
    상기 상관 단계는,
    상기 준 신뢰성 웹 서버가, 제 2 클라이언트측 프로그램을 상기 적어도 하나의 클라이언트에 배치시키는 단계와,
    상기 제 2 클라이언트측 프로그램을 통해 상기 클라이언트 지정 환경 정보의 제 2 세트를 수집하는 단계와,
    상기 준 신뢰성 웹 서버에 상기 클라이언트 지정 환경 정보의 제 2 세트를 전송하는 단계와,
    상기 클라이언트 지정 환경 정보의 제 2 세트를 상기 클라이언트 증명서와 상관시키는 단계
    를 포함하는 방법.
  10. 제 9 항에 있어서,
    제 1 및/또는 제 2 클라이언트 지정 환경 정보는,
    상기 적어도 하나의 클라이언트 리퀘스트의 HTTP 리퀘스트 헤더의 해시,
    상기 적어도 하나의 클라이언트에 의해서 이용되는 머신의 IP 어드레스의 해시,
    상기 적어도 하나의 클라이언트 브라우저의 프로세스 식별자,
    상기 적어도 하나의 클라이언트 프로그램에 의해서 이용되는 사용자 식별자의 해시, 및/또는
    이들의 임의의 조합
    을 포함하는 방법.
  11. 제 1 항에 있어서,
    상기 방법은 상기 준 신뢰성 웹 서버가 상기 제한된 정보의 암호화된 버전(encrypted version)에 액세스하는 단계를 더 포함하며, 상기 클라이언트 증명서를 생성하는 단계는, 상기 클라이언트 증명서에 해독화 키(decryption key)를 추가하는 단계를 포함하는 방법.
  12. 제 11 항에 있어서,
    상기 해독화 키는 부분 키(partial key)이고, 상기 적어도 하나의 클라이언트에 대한 액세스 제공 단계는 상기 준 신뢰성 웹 서버가 상기 부분 키를 전체 키(full key)로 전환할 수 있게 하는 정보를 상기 적어도 하나의 클라이언트에 제공하는 단계를 포함하는 방법.
  13. 제 1 항에 있어서,
    상기 인증 단계는 사용자-패스워드 기법(user-password scheme)을 채용하는 단계를 포함하는 방법.
  14. 제 1 항에 있어서,
    상기 인증 단계는 적어도 하나의 인증서(certificate)를 배치하는 단계를 포함하는 방법.
  15. 제 6 항에 있어서,
    상기 클라이언트 지정 환경 정보를 수집하는 단계는, 상기 오리진 웹 서버에 의해서 수행되고,
    상기 오리진 웹 서버가, 상기 클라이언트 증명서 내에 상기 클라이언트 지정 환경 정보를 저장하는
    방법.
  16. 제 8 항에 있어서,
    상기 제 1 클라이언트측 프로그램을 상기 적어도 하나의 클라이언트에 배치하는 단계와 상기 클라이언트 지정 환경 정보의 제 1 세트를 상기 클라이언트 증명서 내에 저장하는 단계는, 상기 오리진 웹 서버에 의해서 수행되는 방법.
  17. 제 1 항에 있어서,
    상기 준 신뢰성 웹 서버는 프록시 웹 서버(proxy web-server)인 방법.
  18. 제 1 항에 있어서,
    상기 적어도 하나의 클라이언트에 대한 상기 증명서를 생성하는 단계는, 오리진 웹 서버에서 이루어지는 방법.
  19. 제 1 항에 있어서,
    상기 적어도 하나의 클라이언트와 상기 클라이언트 증명서를 상관시키는 상기 단계는 상기 준 신뢰성 웹 서버에 의해서 수행되는 방법.
  20. 제 1 항에 있어서,
    상기 적어도 하나의 클라이언트를 인증하는 단계는 상기 오리진 웹 서버에서 수행되는 방법.
  21. 적어도 하나의 클라이언트가 준 신뢰성 웹 서버를 통해서 오리진 웹 서버로부터의 제한된 정보에 액세스할 수 있게 하는 장치에 있어서,
    상기 적어도 하나의 클라이언트를 타당성 검사(validate)하는 인증기(authenticator)와,
    상기 적어도 하나의 클라이언트의 각각에 대한 클라이언트 지정 환경 정보를 갖는 클라이언트 증명서를 생성하는 증명서 생성기(credential creator)와,
    상기 적어도 하나의 클라이언트를 상기 클라이언트 증명서에 대해 매칭(matching)시키고, 상기 인증기 및 상기 증명서 생성기와 함께 작동하여 상기 적어도 하나의 클라이언트상기 준 신뢰성 웹 서버를 통해 상기 오리진 웹 서버로부터의 제한된 정보에 안전하게 액세스할 수 있게 하는 상관기(correlator)
    를 포함하는 장치.
  22. 제 21 항에 있어서,
    상기 증명서 생성기는 상기 클라이언트 지정 환경 정보를 상기 적어도 하나의 클라이언트의 브라우저 내의 쿠키 세트에 저장하는 장치.
  23. 제 21 항에 있어서,
    상기 증명서 생성기는 상기 준 신뢰성 웹 서버에 상기 증명서를 제공하는 장치.
  24. 제 21 항에 있어서,
    상기 증명서 생성기는 상기 적어도 하나의 클라이언트의 브라우저 내에 클라이언트측 프로그램을 저장하는 장치.
  25. 제 21 항에 있어서,
    상기 상관기는 상기 클라이언트의 브라우저 내에 제 2 클라이언트측 프로그램을 저장하는 장치.
  26. 제 21 항에 있어서,
    상기 준 신뢰성 웹 서버는, 상기 제한된 정보의 암호화된 버전에만 액세스할 수 있고, 상기 증명서 생성기는 상기 클라이언트 증명서에 해독화 키를 추가하는 장치.
  27. 제 26 항에 있어서,
    상기 해독화 키는 부분 키이고, 상기 준 신뢰성 웹 서버는 상기 부분키를 전체 키로 전환할 수 있게 하는 정보를 상기 적어도 하나의 클라이언트에 제공하는 정보 제공기(information supplier)를 포함하는 장치.
  28. 삭제
  29. 적어도 하나의 클라이언트가 준 신뢰성 웹 서버를 통해서 오리진 웹 서버로부터의 제한된 정보에 액세스할 수 있게 하는 방법의 단계를 수행하도록 머신에 의해서 실행될 수 있는 인스트럭션의 프로그램을 실체적으로 포함하는 머신에 의해서 판독될 수 있는 프로그램 저장 장치에 있어서,
    상기 방법의 단계는 청구항 1 내지 청구항 20 중 어느 한 항에 기재된 단계 를 포함하는 프로그램 저장 장치.
  30. 삭제
  31. 청구항 1 내지 청구항 14 중 어느 한 항에 기재된 방법에 따른 각각의 단계를 수행하기 위한 각각의 수단을 포함하는 장치.
  32. 삭제
  33. 삭제
  34. 삭제
  35. 삭제
  36. 삭제
  37. 삭제
  38. 삭제
  39. 삭제
  40. 삭제
  41. 삭제
  42. 삭제
  43. 삭제
  44. 삭제
  45. 청구항 1 내지 청구항 14 중 어느 한 항에 기재된 방법의 각각의 단계를 수행하는 프로그램을 구비한 컴퓨터 판독 가능 기록 매체.
KR1020037013258A 2001-05-10 2001-12-04 준 신뢰성 웹 서버를 통한 오리진 웹 서버로부터의 정보 액세스 방법과 그 장치 및 컴퓨터 판독 가능 기록 매체 KR100615793B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/853,164 US6986047B2 (en) 2001-05-10 2001-05-10 Method and apparatus for serving content from a semi-trusted server
US09/853,164 2001-05-10
PCT/US2001/046648 WO2002093377A1 (en) 2001-05-10 2001-12-04 Method and apparatus for serving content from a semi-trusted server

Publications (2)

Publication Number Publication Date
KR20030093305A KR20030093305A (ko) 2003-12-06
KR100615793B1 true KR100615793B1 (ko) 2006-08-25

Family

ID=25315246

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020037013258A KR100615793B1 (ko) 2001-05-10 2001-12-04 준 신뢰성 웹 서버를 통한 오리진 웹 서버로부터의 정보 액세스 방법과 그 장치 및 컴퓨터 판독 가능 기록 매체

Country Status (9)

Country Link
US (1) US6986047B2 (ko)
EP (1) EP1388060A4 (ko)
JP (1) JP2004537101A (ko)
KR (1) KR100615793B1 (ko)
CN (1) CN1290014C (ko)
CA (1) CA2444291A1 (ko)
IL (1) IL158612A0 (ko)
TW (1) TWI242962B (ko)
WO (1) WO2002093377A1 (ko)

Families Citing this family (92)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8375127B1 (en) * 1999-03-31 2013-02-12 International Business Machines Corporation Method and system for using virtual URLs for load balancing
US6874028B1 (en) * 1999-10-25 2005-03-29 Microsoft Corporation System and method for unified registration information collection
US7350228B2 (en) * 2001-01-23 2008-03-25 Portauthority Technologies Inc. Method for securing digital content
JP2003108426A (ja) * 2001-09-28 2003-04-11 Canon Inc 情報提供サーバ、通信端末及びその制御方法並びに情報提供システム
US7844683B2 (en) * 2001-10-10 2010-11-30 Juniper Networks, Inc. String matching method and device
US7392391B2 (en) * 2001-11-01 2008-06-24 International Business Machines Corporation System and method for secure configuration of sensitive web services
US20030226037A1 (en) * 2002-05-31 2003-12-04 Mak Wai Kwan Authorization negotiation in multi-domain environment
US20030229782A1 (en) * 2002-06-07 2003-12-11 Robert Bible Method for computer identification verification
US7640578B2 (en) * 2002-07-08 2009-12-29 Accellion Inc. System and method for providing secure communication between computer systems
US7383339B1 (en) 2002-07-31 2008-06-03 Aol Llc, A Delaware Limited Liability Company Local proxy server for establishing device controls
US7383579B1 (en) * 2002-08-21 2008-06-03 At&T Delaware Intellectual Property, Inc. Systems and methods for determining anti-virus protection status
US7373662B2 (en) * 2002-08-27 2008-05-13 Hewlett-Packard Development Company, L.P. Secure resource access
US20040083296A1 (en) * 2002-10-25 2004-04-29 Metral Max E. Apparatus and method for controlling user access
US7593530B2 (en) 2002-12-11 2009-09-22 Broadcom Corporation Secure legacy media peripheral association with authentication in a media exchange network
JP4352710B2 (ja) * 2003-01-29 2009-10-28 セイコーエプソン株式会社 情報視聴システム
US20040177258A1 (en) * 2003-03-03 2004-09-09 Ong Peng T. Secure object for convenient identification
US7363508B2 (en) * 2003-05-21 2008-04-22 Palo Alto Research Center Incorporated System and method for dynamically enabling components to implement data transfer security mechanisms
US7337219B1 (en) 2003-05-30 2008-02-26 Aol Llc, A Delaware Limited Liability Company Classifying devices using a local proxy server
US8019989B2 (en) * 2003-06-06 2011-09-13 Hewlett-Packard Development Company, L.P. Public-key infrastructure in network management
US7437457B1 (en) 2003-09-08 2008-10-14 Aol Llc, A Delaware Limited Liability Company Regulating concurrent logins associated with a single account
US20060031479A1 (en) * 2003-12-11 2006-02-09 Rode Christian S Methods and apparatus for configuration, state preservation and testing of web page-embedded programs
US20050154887A1 (en) * 2004-01-12 2005-07-14 International Business Machines Corporation System and method for secure network state management and single sign-on
GB2412979A (en) * 2004-04-07 2005-10-12 Hewlett Packard Development Co Computer access control based on user behaviour
US7650409B2 (en) * 2004-04-12 2010-01-19 Nokia Siemens Networks Oy System and method for enabling authorization of a network device using attribute certificates
US8533791B2 (en) * 2004-07-15 2013-09-10 Anakam, Inc. System and method for second factor authentication services
US7676834B2 (en) * 2004-07-15 2010-03-09 Anakam L.L.C. System and method for blocking unauthorized network log in using stolen password
ES2420158T3 (es) * 2004-07-15 2013-08-22 Anakam, Inc. Sistema y método para bloquear un inicio de sesión de red no autorizado usando una contraseña robada
US8528078B2 (en) * 2004-07-15 2013-09-03 Anakam, Inc. System and method for blocking unauthorized network log in using stolen password
US8296562B2 (en) 2004-07-15 2012-10-23 Anakam, Inc. Out of band system and method for authentication
US8024784B1 (en) * 2004-09-16 2011-09-20 Qurio Holdings, Inc. Method and system for providing remote secure access to a peer computer
JP4277779B2 (ja) * 2004-09-30 2009-06-10 コニカミノルタビジネステクノロジーズ株式会社 画像処理システム及び同処理方法
US8190642B2 (en) * 2004-11-18 2012-05-29 International Business Machines Corporation Method, system, and storage medium for implementing intelligent team management services
JP4520840B2 (ja) * 2004-12-02 2010-08-11 株式会社日立製作所 暗号化通信の中継方法、ゲートウェイサーバ装置、暗号化通信のプログラムおよび暗号化通信のプログラム記憶媒体
US20060143695A1 (en) * 2004-12-27 2006-06-29 Amiram Grynberg Anonymous Spoof resistant authentication and enrollment methods
CN100417066C (zh) * 2004-12-29 2008-09-03 国际商业机器公司 用于处理基于浏览器的应用中的安全问题的多域访问代理
US8051291B2 (en) * 2005-07-15 2011-11-01 Microsoft Corporation Unique block header patterns for media verification
US7908649B1 (en) * 2005-09-20 2011-03-15 Netapp, Inc. Method and apparatus for providing efficient authorization services in a web cache
US20070115927A1 (en) * 2005-11-04 2007-05-24 Sbc Knowledge Ventures, Lp Click to initiate secure network service
US7581244B2 (en) * 2006-01-25 2009-08-25 Seiko Epson Corporation IMX session control and authentication
US7765275B2 (en) * 2006-01-27 2010-07-27 International Business Machines Corporation Caching of private data for a configurable time period
US9386327B2 (en) 2006-05-24 2016-07-05 Time Warner Cable Enterprises Llc Secondary content insertion apparatus and methods
US8280982B2 (en) 2006-05-24 2012-10-02 Time Warner Cable Inc. Personal content server apparatus and methods
US20070285501A1 (en) * 2006-06-09 2007-12-13 Wai Yim Videoconference System Clustering
US8024762B2 (en) 2006-06-13 2011-09-20 Time Warner Cable Inc. Methods and apparatus for providing virtual content over a network
US20080016156A1 (en) * 2006-07-13 2008-01-17 Sean Miceli Large Scale Real-Time Presentation of a Network Conference Having a Plurality of Conference Participants
US7634540B2 (en) * 2006-10-12 2009-12-15 Seiko Epson Corporation Presenter view control system and method
US20080091838A1 (en) * 2006-10-12 2008-04-17 Sean Miceli Multi-level congestion control for large scale video conferences
US8850520B1 (en) * 2006-12-12 2014-09-30 Google Inc. Dual cookie security system with interlocking validation requirements and remedial actions to protect personal data
US7779103B1 (en) 2006-12-12 2010-08-17 Google Inc. Dual cookie security system
US8943309B1 (en) 2006-12-12 2015-01-27 Google Inc. Cookie security system with interloper detection and remedial actions to protest personal data
US20080201338A1 (en) * 2007-02-16 2008-08-21 Microsoft Corporation Rest for entities
US8181206B2 (en) 2007-02-28 2012-05-15 Time Warner Cable Inc. Personal content server apparatus and methods
US20080228922A1 (en) * 2007-03-14 2008-09-18 Taiwan Semiconductor Manufacturing Company, Ltd. System and Method for Providing Client Awareness in High-Availability Application Architecture
US9043935B2 (en) * 2007-05-18 2015-05-26 Novell, Inc. Techniques for personalizing content
US8667563B1 (en) 2007-10-05 2014-03-04 United Services Automobile Association (Usaa) Systems and methods for displaying personalized content
US20090210400A1 (en) * 2008-02-15 2009-08-20 Microsoft Corporation Translating Identifier in Request into Data Structure
US9503691B2 (en) 2008-02-19 2016-11-22 Time Warner Cable Enterprises Llc Methods and apparatus for enhanced advertising and promotional delivery in a network
US8910255B2 (en) 2008-05-27 2014-12-09 Microsoft Corporation Authentication for distributed secure content management system
US8132019B2 (en) * 2008-06-17 2012-03-06 Lenovo (Singapore) Pte. Ltd. Arrangements for interfacing with a user access manager
CN101316192A (zh) * 2008-07-09 2008-12-03 北京黑米世纪信息技术有限公司 网络访客身份唯一码的编码方法
US8656462B2 (en) * 2008-07-24 2014-02-18 Zscaler, Inc. HTTP authentication and authorization management
US8806201B2 (en) * 2008-07-24 2014-08-12 Zscaler, Inc. HTTP authentication and authorization management
US9379895B2 (en) 2008-07-24 2016-06-28 Zscaler, Inc. HTTP authentication and authorization management
US9003186B2 (en) * 2008-07-24 2015-04-07 Zscaler, Inc. HTTP authentication and authorization management
US8302169B1 (en) * 2009-03-06 2012-10-30 Google Inc. Privacy enhancements for server-side cookies
GB0905559D0 (en) * 2009-03-31 2009-05-13 British Telecomm Addressing scheme
US8078870B2 (en) * 2009-05-14 2011-12-13 Microsoft Corporation HTTP-based authentication
US8732451B2 (en) 2009-05-20 2014-05-20 Microsoft Corporation Portable secure computing network
JP2011135389A (ja) * 2009-12-25 2011-07-07 Konica Minolta Business Technologies Inc 画像処理システム、画像処理装置、プログラムおよびデータ通信確立方法
US9419956B2 (en) * 2010-03-22 2016-08-16 Bank Of America Corporation Systems and methods for authenticating a user for accessing account information using a web-enabled device
US8825745B2 (en) 2010-07-11 2014-09-02 Microsoft Corporation URL-facilitated access to spreadsheet elements
CN102143226B (zh) * 2011-02-12 2015-04-08 华为技术有限公司 一种超时控制的方法、装置及系统
US8863248B2 (en) * 2011-04-07 2014-10-14 International Business Machines Corporation Method and apparatus to auto-login to a browser application launched from an authenticated client application
US8788505B2 (en) * 2011-04-27 2014-07-22 Verisign, Inc Systems and methods for a cache-sensitive index using partial keys
CN102629923B (zh) * 2012-03-23 2015-01-21 北龙中网(北京)科技有限责任公司 基于域名系统技术的网站可信标识安装及识别方法
CN103699367B (zh) * 2012-09-27 2017-07-07 中国电信股份有限公司 Http应用程序接口调用方法与装置
US20140095870A1 (en) * 2012-09-28 2014-04-03 Prashant Dewan Device, method, and system for controlling access to web objects of a webpage or web-browser application
US9344512B2 (en) * 2012-12-13 2016-05-17 Qualcomm Incorporated Loading a re-directed web resource on a web browser of a client device in a communications system
US9838375B2 (en) 2013-02-28 2017-12-05 Microsoft Technology Licensing, Llc RESTlike API that supports a resilient and scalable distributed application
US20140282786A1 (en) 2013-03-12 2014-09-18 Time Warner Cable Enterprises Llc Methods and apparatus for providing and uploading content to personalized network storage
US9537659B2 (en) * 2013-08-30 2017-01-03 Verizon Patent And Licensing Inc. Authenticating a user device to access services based on a device ID
CA2930335C (en) 2013-11-14 2023-10-10 Pleasant Solutions Inc. System and method for credentialed access to a remote server
US10108168B2 (en) 2014-06-01 2018-10-23 Si-Ga Data Security (2014) Ltd. Industrial control system smart hardware monitoring
KR101783014B1 (ko) * 2015-09-10 2017-09-28 주식회사 수산아이앤티 공유단말 검출 방법 및 그 장치
JP6834771B2 (ja) * 2017-05-19 2021-02-24 富士通株式会社 通信装置および通信方法
US10810279B2 (en) * 2018-02-07 2020-10-20 Akamai Technologies, Inc. Content delivery network (CDN) providing accelerated delivery of embedded resources from CDN and third party domains
US10681148B1 (en) 2018-04-24 2020-06-09 Google Llc Content selection through intermediary device
US10841088B2 (en) * 2018-05-10 2020-11-17 Oracle International Corporation Secure credential generation and validation
US10263970B1 (en) * 2018-10-07 2019-04-16 Capital One Services, Llc System, method and architecture for secure sharing of customer intelligence
US11159497B2 (en) * 2020-01-29 2021-10-26 Citrix Systems, Inc. Secure message passing using semi-trusted intermediaries
US20220158831A1 (en) * 2020-11-13 2022-05-19 Citrix Systems, Inc. Preventing http cookie stealing using cookie morphing
US11665002B2 (en) * 2020-12-11 2023-05-30 International Business Machines Corporation Authenticated elevated access request

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2138302C (en) * 1994-12-15 1999-05-25 Michael S. Fortinsky Provision of secure access to external resources from a distributed computing environment
US6032184A (en) * 1995-12-29 2000-02-29 Mci Worldcom, Inc. Integrated interface for Web based customer care and trouble management
US5857191A (en) 1996-07-08 1999-01-05 Gradient Technologies, Inc. Web application server with secure common gateway interface
US5875296A (en) 1997-01-28 1999-02-23 International Business Machines Corporation Distributed file system web server user authentication with cookies
US6138162A (en) 1997-02-11 2000-10-24 Pointcast, Inc. Method and apparatus for configuring a client to redirect requests to a caching proxy server based on a category ID with the request
US6301661B1 (en) * 1997-02-12 2001-10-09 Verizon Labortories Inc. Enhanced security for applications employing downloadable executable content
US6067623A (en) 1997-11-21 2000-05-23 International Business Machines Corp. System and method for secure web server gateway access using credential transform
US6330605B1 (en) 1998-11-19 2001-12-11 Volera, Inc. Proxy cache cluster
US6226752B1 (en) * 1999-05-11 2001-05-01 Sun Microsystems, Inc. Method and apparatus for authenticating users

Also Published As

Publication number Publication date
CN1516833A (zh) 2004-07-28
KR20030093305A (ko) 2003-12-06
JP2004537101A (ja) 2004-12-09
US20020169961A1 (en) 2002-11-14
WO2002093377A1 (en) 2002-11-21
US6986047B2 (en) 2006-01-10
TWI242962B (en) 2005-11-01
EP1388060A4 (en) 2004-12-15
CA2444291A1 (en) 2002-11-21
EP1388060A1 (en) 2004-02-11
CN1290014C (zh) 2006-12-13
IL158612A0 (en) 2004-05-12

Similar Documents

Publication Publication Date Title
KR100615793B1 (ko) 준 신뢰성 웹 서버를 통한 오리진 웹 서버로부터의 정보 액세스 방법과 그 장치 및 컴퓨터 판독 가능 기록 매체
JP4886508B2 (ja) 既存のsslセッションを中断することなく証明書ベースの認証にステップアップするための方法及びシステム
US8185938B2 (en) Method and system for network single-sign-on using a public key certificate and an associated attribute certificate
US7912916B2 (en) Resolving conflicts while synchronizing configuration information among multiple clients
US8341249B2 (en) Synchronizing configuration information among multiple clients
US7908649B1 (en) Method and apparatus for providing efficient authorization services in a web cache
US5923756A (en) Method for providing secure remote command execution over an insecure computer network
JP4864289B2 (ja) ネットワークユーザ認証システムおよび方法
JP3605501B2 (ja) 通信システム、メッセージ処理方法及びコンピュータ・システム
KR100800339B1 (ko) 제휴 환경에서 사용자에 의해 결정된 인증 및 단일 사인온을 위한 방법 및 시스템
EP1368722B1 (en) Method and system for web-based cross-domain single-sign-on authentication
US7366900B2 (en) Platform-neutral system and method for providing secure remote operations over an insecure computer network
US7478434B1 (en) Authentication and authorization protocol for secure web-based access to a protected resource
JP3995338B2 (ja) ネットワーク接続制御方法及びシステム
JP4863777B2 (ja) 通信処理方法及びコンピュータ・システム
US20060294366A1 (en) Method and system for establishing a secure connection based on an attribute certificate having user credentials
JP2009514050A (ja) クライアント−サーバ環境においてクライアントを認証するためのシステムおよび方法
JP2007200316A (ja) ネットワーク通信システムおよびネットワーク・サーバとクライアント・デバイスの間に、コンピュータネットワークを通じてセキュアな通信リンクを確立する方法
JP4608929B2 (ja) 認証システム、サーバ用認証プログラム、およびクライアント用認証プログラム
JP4202980B2 (ja) モジュール起動装置、方法およびシステム
KR100434436B1 (ko) 웹모듈 인증 장치 및 방법
WO2007143589A2 (en) Synchronizing configuration information among multiple clients

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: 20100429

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee