KR102407305B1 - 프록시 기반 프라이버시 보호 시스템 및 방법 - Google Patents
프록시 기반 프라이버시 보호 시스템 및 방법 Download PDFInfo
- Publication number
- KR102407305B1 KR102407305B1 KR1020170025222A KR20170025222A KR102407305B1 KR 102407305 B1 KR102407305 B1 KR 102407305B1 KR 1020170025222 A KR1020170025222 A KR 1020170025222A KR 20170025222 A KR20170025222 A KR 20170025222A KR 102407305 B1 KR102407305 B1 KR 102407305B1
- Authority
- KR
- South Korea
- Prior art keywords
- user
- web page
- proxy
- computing device
- visual
- Prior art date
Links
Images
Classifications
-
- 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/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0281—Proxies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting 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
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
- G06F21/6263—Protecting personal data, e.g. for financial or medical purposes during internet communication, e.g. revealing personal data from cookies
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0241—Advertisements
- G06Q30/0277—Online advertisement
-
- 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/0407—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the identity of one or more communicating identities is hidden
-
- 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/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- 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/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting 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
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
-
- 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/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
- H04L63/0245—Filtering by information in the payload
-
- 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
- H04L63/0442—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 wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
-
- 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/102—Entity profiles
-
- 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/2866—Architectures; Arrangements
- H04L67/30—Profiles
- H04L67/306—User profiles
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Accounting & Taxation (AREA)
- Development Economics (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Marketing (AREA)
- Economics (AREA)
- General Business, Economics & Management (AREA)
- Game Theory and Decision Science (AREA)
- Entrepreneurship & Innovation (AREA)
- Data Mining & Analysis (AREA)
- Medical Informatics (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
분산된 프록시 서버 네트워크를 사용하여 중간자 공격을 리버싱하는 것에 의해 인터넷을 브라우징하는 동안 사용자 프라이버시를 보호할 수 있다. 상기 프록시 서버는 사용자 요청을 수신하고 사용자에 관심 있는 웹페이지를 로딩하고 타깃 서버로부터 타깃 웹 페이지를 검색하여 사용자의 웹 브라우징 활동을 시뮬레이팅한다. 이 프록시 서버는 사용자에 제공되는 추적 요소 없이 페이지의 버전의 표현을 생성하여 검색된 웹 페이지로부터 사용자를 추적하는 데 사용될 수 있는 요소를 제거한다. 상기 타깃 서버와 상호 작용함으로써 상기 프록시 서버는 상기 타깃 서버에 의해 사용자가 추적되는 것을 방지한다. 나아가, 사용자의 브라우징 활동을 관찰함으로써, 상기 프록시 서버는 사용자에 제공되는 콘텐츠를 보충하는 데 사용될 수 있는 사용자의 프로파일을 구축할 수 있다. 상기 사용자는 프로파일을 편집하여 네트워크에 저장된 정보를 통제할 수 있다.
Description
본 출원은 일반적으로 온라인 통신 동안 프라이버시 및 보안을 제공하는 것에 관한 것으로, 보다 상세하게는 프록시 기반의 프라이버시 보호를 위한 시스템 및 방법에 관한 것이다.
점점 더 많은 개체(entity)들이 온라인 활동을 모니터링하려고 시도하고 있기 때문에 온라인에서 개인의 프라버시를 보호하는 것이 점점 더 어려운 목표가 되고 있다. 예를 들어 캘리포니아주 마운틴 뷰에 소재하는 구글사(Google Inc.)에서 운영하는 애드센스(Adsense) 및 더블클릭(DoubleClick)과 같은 인터넷 광고 서비스 제공자는 이러한 서비스 제공자의 광고를 특징으로 하는 웹 페이지에서 방문자 활동을 추적한다. 이러한 추적은 작은 이미지 또는 코드 조각과 같은 기술을 사용하여 수행되는데, 이 기술은 종종 웹 페이지에 매립되고 방문자의 웹 브라우저와 상호 작용하여 매립된 객체를 수신하는 컴퓨터의 인터넷 프로토콜("IP": Internet Protocol) 주소, 객체를 본 시각과 지속시간, 및 브라우저의 유형과 같은 정보를 획득한다. 추가적으로 이전에 설정된 쿠키 값은 방문자의 인터넷 브라우징 이력에 관한 정보를 제공할 수 있다. 나아가, 사용자가 전자 메일 서비스와 같은 개체와 관련된 서비스를 이용하는 경우 추적하는 개체(tracking entity)는 인터넷 사용자에 관한 추가적인 정보를 획득할 수 있다. 또한 추적된 정보를 분석하여 사용자의 위치와 신원을 파악할 수 있다.
추적하는 개체는 종종 사용자에 대한 데이터를 모아서 사용자의 프로파일을 생성하고, 이 프로파일은 사용자에게 타깃화된 광고를 제공하기 위해 사용된다. 일반적으로, 사용자는 추적하는 개체가 자신에 대해 수집한 정보를 제어할 수 있는 방법이 없으며 이 정보를 저장하고 보호하는 방식에 아무런 역할을 하지 못한다. 나아가 미국에서는 사용자 프로파일을 보호하는 방식에 대한 정부의 규제가 미흡하여 사용자의 브라우징 이력, IP 주소, 개인 건강 정보, 선호도, 위치 및 신원과 같은 프라이버시의 유출과 프라이버시의 침해가 광범위하게 발생할 가능성이 존재한다.
기존의 기술은 이러한 온라인 추적에 의해 제기되는 사용자 프라이버시 및 보안 위협을 적절히 해결하지 못한다. 예를 들어 덕덕코닷컴(DuckDuckGo.com)은 검색을 수행하는 사용자를 추적하지 않고 모든 사용자에게 주어진 검색 용어에 대해 동일한 결과를 보여주는 인터넷 검색 엔진이다. 검색이 안전하지만 일단 사용자가 검색 결과에 액세스하기 시작하면 추적하는 개체에 의해 사용자의 활동을 모니터링할 수 있다.
마찬가지로, 하이드마이아스(HideMyAss! TM )는 IP 주소를 드러내지 않고 사용자가 웹 페이지를 방문할 수 있도록 유료 웹 프록시를 제공하는 서비스이다. 그러나 이 서비스를 사용하면 현재 페이지 개인화 코드(page personalization code)와 간섭하여 타깃화된 광고가 사용자에게 제시되지 못한다. 사용자가 광고를 볼 수 있는 기회를 박탈하는 것에 더하여 이 서비스는 광고를 보는 것에 대한 이익을 볼 수도 없으며 사용자에게 서비스 사용 기회를 청구해야 한다.
유사하게, 매사추세츠(MA)주 월폴(Walpole)에 소재하는 토르 프로젝트사(Tor Project Inc.)에 의해 최근에 개발된 익명 서비스 Tor TM (이전에는 "The Onion Router"의 약어)은 사용자의 인터넷 트래픽을 다중 노드를 통해 라우팅하여 사용자의 IP 주소, 위치 및 인터넷 활동을 은닉한다. 계층화된 암호화가 각 노드에서 사용된다. TOR의 사용에는 몇 가지 문제가 있다. 첫째, Tor TM 서비스는 사용 중인 애플리케이션에 대한 고급 지식 또는 사용자가 웹 브라우징 습관을 변경할 의향을 요구한다. 예를 들어, Tor TM 서비스를 사용하려면 사용자가 자기의 컴퓨팅 장치에서 각 온라인 애플리케이션을 구성하여 Tor TM 서비스를 통해 트래픽을 라우팅하거나 Tor TM 서비스 웹 브라우저를 사용할 것이 요구된다. 나아가, 일부 애플리케이션은 Tor TM 서비스와 함께 사용되도록 구성될 수 없어서, 사용자가 모든 인터넷 트래픽을 비밀로 유지하지 못할 수도 있다. 또한 TOR은 정부 기관과 같은 정부 관계자(state actor)의 감독을 받지 않도록 설계되었으며 이전에 악명 높은 실크 로드(Silk Road) 온라인 암시장 및 기타 비밀 웹 불법 웹사이트의 운영과 같은 불법 활동을 수행하는 데 사용되었다. 사용자는 서비스가 불법 활동과 연관되어 있기 때문에 Tor TM 을 사용하기를 꺼릴 수 있다.
마지막으로, 애드블록(AdBlock TM )과 같은 브라우저 플러그인은 타깃 웹 페이지가 사용자에게 디스플레이될 때 광고가 다운로드되는 것을 방지한다. 그러나 이러한 서비스는 사용자의 웹 브라우저 쿠키의 정상적인 상호 작용을 방해하며 사용자의 인터넷 브라우징 경험에 부정적인 영향을 미칠 수 있다.
따라서, 사용자의 웹 브라우징 경험 및 타깃화된 광고를 수신하는 능력에 부정적인 영향을 미치지 않으면서 인터넷 사용자의 개인 정보의 통제되지 않은 수집 및 배포를 방지하는 방법이 필요하다.
분산된 프록시 서버 네트워크를 사용하여 중간자 공격(man-in-the-middle attack)을 리버싱(reversing)하는 것에 의해 인터넷을 브라우징하는 동안 사용자 프라이버시를 보호할 수 있다. 상기 프록시 서버는 사용자 요청을 수신하여 사용자에 관심 있는 웹 페이지를 로딩하고 타깃 서버로부터 타깃 웹 페이지를 검색하여 사용자의 웹 브라우징 활동을 시뮬레이팅한다. 상기 프록시 서버는 검색된 웹 페이지로부터 사용자를 추적하는 데 사용될 수 있는 요소를 제거하고, 추적하는 요소(tracking element) 없이 재구성된 웹 페이지 버전의 표현을 생성한다. 상기 재구성된 웹 페이지의 표현은 사용자의 컴퓨팅 장치에 제공될 수 있다. 상기 프록시 서버는 상기 타깃 서버와 상호 작용하여 상기 타깃 서버가 사용자의 컴퓨팅 장치를 추적하지 못하게 한다. 또한, 사용자의 브라우징 활동을 관찰함으로써, 상기 프록시 서버는 사용자에게 제공되는 콘텐츠를 보충하는 데 사용될 수 있는 사용자의 프로파일을 구축할 수 있다. 사용자는 프로파일을 편집할 수 있어서, 네트워크에서 사용자에 대해 저장되고, 광고와 같은 콘텐츠를 사용자에게 전달하는 데 사용되는 정보를 통제할 수 있다. 따라서 사용자에 관한 자세한 세부 정보를 습득하여 사용자의 웹 브라우징 환경을 개선하면서도 사용자의 프라이버시를 보호할 수 있다.
일 실시예에서, 프록시-기반 프라이버시 보호를 위한 시스템 및 방법이 제공된다. 사용자와 관련된 적어도 하나의 컴퓨팅 장치로부터 적어도 하나의 타깃 서버에 저장된 웹 페이지를 제공해 달라는 하나 이상의 요청이 하나 이상의 프록시 서버를 포함하는 네트워크에 의해 수신된다. 각 요청에 대해 요청된 웹 페이지는 상기 프록시 서버들 중 하나에 의해 상기 타깃 서버에서 검색된다. 검색된 각 웹 페이지에 대해 상기 프록시 서버들 중 하나는 이 웹 페이지를 하나 이상의 요소로 파싱(parse)하고 파싱된 요소들 중 하나 이상에 기초하여 웹 페이지의 렌더링을 생성하고, 이 렌더링시에 존재하는 웹 페이지의 비주얼 성분(visual component)을 식별한다. 각 파싱된 웹 페이지에 대해 상기 프록시 서버들 중 하나는 이 웹 페이지의 렌더링시에 식별된 하나 이상의 성분을 사용하여 이 웹 페이지에 대해 파싱된 요소들 중 하나 이상이 없이 재구성된 파싱된 웹 페이지의 표현을 생성한다. 각 재구성된 웹 페이지에 대해, 상기 프록시 서버들 중 하나는 재구성된 웹 페이지를 컴퓨팅 장치에 제공하고, 상기 컴퓨팅 장치는 이 웹 페이지에 대한 표현을 사용하여 하나 이상의 비주얼 성분을 포함하는 웹 페이지의 재구성된 버전을 디스플레이한다.
본 발명의 또 다른 실시예는 본 발명을 실시하기 위해 고려되는 최선의 모드를 예시하여 본 발명의 실시예를 설명하는 다음의 상세한 설명으로부터 이 기술 분야에 통상의 지식을 가진 자에게는 용이하게 드러날 것이다. 이해되는 바와 같이, 본 발명은 다른 실시예 및 여러 실시예가 가능하고 본 발명의 사상과 범위를 벗어나지 않으면서 여러 상세사항이 여러 자명한 관점에서 변형될 수 있을 것이다. 따라서, 본 도면과 상세한 설명은 본질적으로 예시적인 것으로 간주되어야 하며, 이로 제한되지 않는다.
도 1은 일 실시예에 따른 프록시 기반 프라이버시를 보호하는 시스템을 나타내는 블록도이다.
도 2는 일 실시예에 따른 프록시 기반 프라이버시를 보호하는 방법을 나타내는 흐름도이다.
도 3은 일 실시예에 따라 도 2의 방법에 사용되는 보안 웹 브라우징 세션(session)을 개시하는 루틴을 나타내는 흐름도이다.
도 4는 일 실시예에 따라 도 2의 방법에 사용되는 일 실시예에 따른 사용자 프로파일을 관리하는 루틴을 나타내는 흐름도이다.
도 5는 일 실시예에 따라 도 2의 방법에 사용되는 보안 웹 브라우징 세션을 종료하는 루틴을 나타내는 흐름도이다.
도 2는 일 실시예에 따른 프록시 기반 프라이버시를 보호하는 방법을 나타내는 흐름도이다.
도 3은 일 실시예에 따라 도 2의 방법에 사용되는 보안 웹 브라우징 세션(session)을 개시하는 루틴을 나타내는 흐름도이다.
도 4는 일 실시예에 따라 도 2의 방법에 사용되는 일 실시예에 따른 사용자 프로파일을 관리하는 루틴을 나타내는 흐름도이다.
도 5는 일 실시예에 따라 도 2의 방법에 사용되는 보안 웹 브라우징 세션을 종료하는 루틴을 나타내는 흐름도이다.
사용자의 온라인 프라이버시가 일반적으로 공격을 받는 한 가지 방법은 사용자가 액세스하기를 원하는 웹페이지를 유지하는 서버와 같은 타깃 개체와 사용자가 통신하는 것을 추적하는 개체가 직접 가로 채려고 시도하는 중간자 공격을 사용하는 것이다. 공격하는 동안 프록시는 인증서 및 기타 식별 정보로 타깃 개체를 가장하여, 사용자가 타깃 개체와 통신하고 있다고 생각하게 만든다. 프록시는 타깃 개체로부터 사용자로 트래픽을 전달하는 동시에 나중에 사용하기 위해 사용자의 개인 정보, 예를 들어, 암호화 키, 패스워드 및 관련 정보를 수집한다.
중간자 공격은 사용자 프라이버시를 보존하고 보호하기 위해 리버싱될 수 있다. 도 1은 일 실시예에 따른 프록시 기반 프라이버시를 보호하는 시스템(10)을 나타내는 블록도이다. 시스템(10)은 복수의 프록시 서버(12)의 분산 네트워크(11)를 포함한다. 네트워크 내 모든 서버(12)는 인터넷 또는 셀룰러 네트워크와 같은 인터넷 네트워크(13)에 접속(connected)된다. 네트워크(11)는 전용 서버로서 하드웨어로 구현되거나 프록시 서버(12)들 중 하나 또는 다른 컴퓨팅 장치에서 소프트웨어로 실행될 수 있는 로드 밸런서(load balancer)(24)를 더 포함한다.
인터넷 사용자와 관련된 컴퓨팅 장치(14)는 인터네트워크(Internetwork)(13)를 통해 네트워크(11)와 상호 작용할 수 있고, 특정 타깃 웹 페이지(16)를 로딩하라는 요청으로 로드 밸런서(24)와 접촉(contact)한다. 이 접촉은 컴퓨팅 장치(14)에서 실행되는 웹 브라우저(15)의 일부인 플러그-인을 통해 이루어질 수 있다. 대안적으로, 사용자는 로드 밸런서(24)를 지시하도록 브라우저(15)를 구성할 수 있다. 추가적인 실시예에서, 로드 브라우저를 지시하는 대신에, 플러그-인은 직접 프록시 서버(12)들 중 하나를 지시할 수 있다. 플러그-인은 접속할 프록시(12)를 랜덤하게 선택하여 진입점을 랜덤화할 수 있다. 컴퓨팅 장치(14)가 도 1을 참조하여 데스크탑 컴퓨터로서 도시되어 있지만, 스마트 폰, 랩탑, 태블릿과 같은 다른 종류의 컴퓨팅 장치도 가능하고, 여전히 다른 종류의 컴퓨팅 장치도 가능하다.
타깃 웹 페이지(16)는 HTML 코드 또는 다른 마크업 언어 코드와 같은 컴퓨터 실행 가능 코드를 포함하는 파일로 타깃 서버(17)에 저장된다. 웹 페이지를 브라우저에서 시각적으로 렌더링하는 데 필요한 코드에 더하여 파일의 코드는 또한 다른 서버에 접촉하여 사용자 추적을 가능하게 하는 추적하는 객체 또는 기타 동적 요소를 포함할 수 있다. 종래에 행해지던 것처럼, 타깃 웹 페이지(16)를 호스팅하는 서버(17)에 직접 접촉하는 대신에, 컴퓨팅 장치(14)의 사용자가 특정 타깃 웹 페이지(16)를 검색하기를 원할 때, 컴퓨팅 장치(14)는 웹 페이지(16) 요청을 로드 밸런서(24)에 송신하고 이 로드 밸런서는 분산 네트워크(11) 내의 프록시 서버들(12) 중 하나에 요청을 할당한다. 이 요청들은 프록시 서버들(12)에 랜덤하게 할당되지만 요청을 할당하는 다른 방법도 가능하다. 이러한 요청은 타깃 웹 페이지(17)의 URL을 포함할 수 있으나, 다른 식별 정보도 가능하다. 이 요청은 또한 웹 페이지에 대한 사용자의 로그인 정보와 같은 기타 정보를 포함할 수 있다.
각 프록시 서버(12)는 브라우징 시뮬레이터(18)를 실행하고 이 브라우징 시뮬레이터는 요청을 수신하고 타깃 서버(17)와 상호 작용할 때 컴퓨팅 장치(14)의 활동을 시뮬레이팅한다. 특히, 브라우저 시뮬레이터(18)는 타깃 서버(17)와 접촉하여 타깃 서버(17)로부터 웹 페이지(16)를 검색한다. 타깃 서버(16)와 접촉하는 프록시 서버(12)는 컴퓨팅 디바이스(14)의 IP 어드레스와는 다른 IP 어드레스를 가지므로, 타깃 서버(17)는 접촉 동안 컴퓨팅 디바이스(14)의 IP 어드레스를 습득하지 못한다. 나아가, 컴퓨팅 장치(14)는 랜덤하게 선택된 상이한 프록시 서버(12)에 대해 상이한 요청을 사용하기 때문에, 상이한 요청을 이행하는 동안 타깃 서버(17)에 의해 관찰 가능한 IP 어드레스도 또한 변해서, 타깃 서버(17)가 브라우징 활동을 특정 IP 주소와 연관짓는 것을 방지한다.
타깃 웹 페이지(17)를 검색하는 것에 더하여, 브라우징 시뮬레이터는 컴퓨팅 장치(14)가 통상적으로 하는 것과 동일한 방식으로 타깃 서버(17)와 상호 작용한다. 예를 들어, 브라우징 시뮬레이터(18)는 타깃 서버(17)로부터 쿠키를 수신하고 저장할 수 있다. 나아가, 시뮬레이터(18)는 사용자의 컴퓨팅 장치에 관한 어떠한 정보도 드러내지 않으면서, 타깃 서버(17)가 프록시 서버(17)를 추적할 수 있게 하는 추적하는 객체 및 다른 동적 요소와 같은 타깃 웹 페이지 내의 모든 매립된 객체를 찾아낼(hit) 수 있다.
타깃 웹 페이지(16)를 획득할 때 그리고 컴퓨팅 장치(14)에 웹 페이지(16)를 제공하기 전에, 브라우징 시뮬레이터(18)는 사용자 또는 광고를 추적하는데 사용될 수 있는 웹 페이지(16)의 요소들과 같은 특정 원치 않은 요소들을 제거함으로써 웹 페이지(16)를 "정화(sanitize)"한다. 극단적인 경우에, 브라우징 시뮬레이터(18)는 페이지를 이미지, 예를 들어, 비트 맵 이미지 또는 이미지 세트로 렌더링하여 이들을 클라이언트에 전송할 수 있다. 보다 일반적으로, 시뮬레이터(18)는 웹 페이지(16)를 구성하는 코드를 파싱하고, 통상의 웹 브라우저처럼 웹 페이지에 매립된 객체를 찾아내어서, 웹 페이지(16)를 렌더링한다. 렌더링된 웹 페이지(16)로부터 시뮬레이터(18)는 웹 페이지(16)의 비주얼 성분(사용자가 웹 브라우저(15)를 통해 직접 웹 페이지(16)에 액세스한 경우, 웹 브라우저(15)의 사용자가 볼 수 있는 성분, 예를 들어, 텍스트와 이미지)을 복원(recover)한다. 적어도 일부 비주얼 성분에 기초하여, 시뮬레이터(18)는 추적하는 객체 또는 다른 원치 않은 콘텐츠(예를 들어, 원치 않은 광고에 대응하는 비주얼 성분)를 포함하지 않는 것으로 재구성된 웹 페이지(16)의 중간 비주얼 표현(19)을 생성한다. 시뮬레이터(18)에 의해 웹 브라우저(15)에 제공될 때, 렌더링된 표현(19)에 의해, 웹 브라우저가 타깃 서버(17)로부터 직접 웹 페이지(16)에 액세스한 경우 웹 브라우저(15)는 시각적일 수 있는 웹 페이지(16)의 모든 성분(시뮬레이터(18)에 의해 제거된 콘텐츠를 제외한 것)을 디스플레이할 수 있다. 추적하는 객체는 표현(19)에 포함되어 있지 않기 때문에, 웹 브라우저(15)가 이 표현을 수신할 때 이 추적하는 객체는 컴퓨팅 디바이스(14)의 활동인 사용자의 활동을 추적할 수 없다.
이러한 중간 표현(19)은 웹 페이지(16)의 이미지(제거된 컨텐츠 없는 것)를 포함할 수 있다. 다른 중간 표현(19)도 가능하다. 예를 들어, 중간 표현(19)은 웹 페이지(16)를 렌더링하기 위한 디스플레이 리스트 또는 디스플레이 트리(tree)를 포함할 수 있다. 페이지의 시각화를 가능하게 하는 또 다른 중간 표현도 가능하다. 이 중간 표현은 컴퓨팅 장치(14)에 제공되기 전에 저장 장치(20)에 저장되거나 서버(12)에 의해 일시적으로 저장될 수 있다. 중간 표현(19)은 JSON 포맷과 같은 직렬화된 데이터 구조일 수 있으나, 다른 종류의 데이터 구조도 가능하다. 다른 형식의 중간 표현도 가능하다. 예를 들어, 표현(19)은 이미지일 수 있다. 또 다른 형식도 가능하다.
선택적으로, 브라우징 시뮬레이터(12)는 또한, 후술되는 바와 같이, 제3자의 추적 개체에 링크되지 않은 광고들과 같은, 중간 표현들(19)에 추가되는 추가적인 비주얼 성분을 생성할 수 있다. 브라우징 시뮬레이터(18)는 렌더링된 웹 페이지(16)로부터 복원된 비주얼 성분과 추가적인 비주얼 성분을 결합하고, 결합된 컨텐츠를 사용하여 중간 표현(19)을 생성한다. 브라우징 시뮬레이터(18)에 의해 추가적인 요소가 획득되지 않으면, 브라우징 시뮬레이터(18)는 렌더링으로부터의 비주얼 성분만을 사용하여 중간 표현(19)을 생성함으로써 웹 페이지(16)를 재구성한다. 브라우징 시뮬레이터(18)는 인터네트워크를 통해 중간 표현(19)을 사용자와 관련된 컴퓨팅 장치(14)에 제공하며, 브라우저(15)는 중간 표현(19)을 사용하여 웹 페이지(16)의 정화된 버전을 사용자에게 렌더링한다. 따라서, 사용자는 제3자의 추적 개체에 의한 추적에 사용자를 노출시키지 않고 원하는 콘텐츠를 제공받는다.
프록시 서버(12)는 이들 사용자와 관련된 컴퓨팅 장치(14)로부터 수신된 요청에 기초하여 사용자의 프로파일(23)을 생성 및 관리하는 프로파일 관리자(22)를 또한 실행한다. 프로파일 관리자(22)는 사용자가 방문한 웹 페이지, 사용자가 웹 페이지에서 소비한 시간 기간, 사용자가 클릭한 링크, 및 사용자가 수행한 검색과 같은 사용자의 트래픽을 분석하여, 사용자 관심사, 위치 및 연령 및 성별과 같은 인구 통계학적 정보와 같은 프로파일(23)의 일부분을 형성하는 사용자 특성을 추론한다. 다른 정보도 프로파일(23)에 포함될 수 있다. 이들 개체가 모니터링할 수 있는 웹 페이지에서 사용자 활동의 분리된 인스턴스(instance)만을 보는 제3자의 모니터링과는 달리, 프록시 서버(12)는 네트워크(11)를 통해 수행할 사용자가 선택한 모든 사용자의 웹 브라우징 활동을 분석하여, 사용자의 브라우징 활동에 대한 보다 완전한 그림에 대한 분석에 기초하여, 보다 신뢰성 있는 사용자 프로파일(23)을 얻을 수 있다. 그러나, 사용자 프로파일이 제3자의 추적 개체에 의해 생성될 때와 달리, 사용자는 컴퓨팅 장치(14)를 통해 프로파일 관리자(22)와 인터페이싱하고 이 사용자의 프로파일(23) 내의 정보를 편집하여, 인터네트워크(13)에 저장되고 광고와 같은 콘텐츠를 사용자에게 전달하는 데 사용되는 정보를 통제할 수 있다. 사용자 이름 및 패스워드와 같은 사용자의 로그인 정보는 사용자 프로파일(23)의 일부로 저장될 수 있고, 사용자가 시스템(10)에 로그인하는데 사용될 수 있다.
사용자 프로파일(23)은 프로파일 관리자(22)에 의해 사용되어 사용자의 개인 정보를 드러내지 않고 사용자에 관심 있는 광고가 획득될 수 있다. 따라서, 예를 들어, 특정 분야에 관심이 있는 다수의 사용자가 컴파일될 수 있고, 프로파일 관리자(22)는 이 관심 사항에 타깃화된 광고를 배치하기를 원하는 개체에 이 수를 제공할 수 있다. 프로파일 관리자(22)는 광고를 수신하고 나서, 재구성되고 정화된 웹 페이지(16)를 사용자에게 제시하기 전에, 이 광고를 중간 표현(16)에 추가한다. 이 광고는 규칙(19)에 따라 렌더링된 웹 페이지(16)의 특정 부분에 제시될 수 있다.
도 2를 참조하여 시작하여 이하에서 더 설명된 바와 같이, 프로파일은 데이터베이스 저장 장치(20)에 저장될 때 공용 암호화 키와 같은 암호화 키를 사용하여 암호화되고 이는 시스템(10)의 관리자에 의해 액세스될 수 없다. 프로파일은 사용자가 그 프록시 서버(12)와 상호 작용하는 세션을 시작할 때 프록시 서버(12)들 중 하나의 프록시 서버에 의해 저장 장치(20)로부터 검색된다. 프로파일(23)은, 사용자와 관련된 컴퓨팅 장치(14)에 저장되고 컴퓨팅 장치(14)가 사용자(22)의 프로파일을 복호하기 위해 서버(12)에 제공하는 개인 복호 키와 같은 다른 키를 사용하여 복호화된다. 프록시와 사용자가 세션을 종료한 후에, 프로파일(23)은 서버(12)에 의해 다시 암호화되고 저장 장치(20)에 저장된다.
일 실시예에서, 네트워크(11)는 워싱턴주 시애틀에 소재하는 아마존닷컴사(Amazon.com Inc.)에 의해 제공되는 아마존 일래스틱 컴퓨트 클라우드(Amazon Elastic Compute Cloud)(EC2)와 같은 클라우드 컴퓨팅 환경에서 구현될 수 있으나, 다른 구현도 가능하다.
적어도 프록시 서버(12), 컴퓨팅 장치(14) 및 로드 밸런서(24)는 각각 본 명세서에 개시된 실시예를 수행하는 하나 이상의 모듈을 포함할 수 있다. 이들 모듈은 종래의 프로그래밍 언어의 소스 코드로 작성된 컴퓨터 프로그램 또는 절차로서 구현될 수 있고, 객체 또는 바이트 코드로서 중앙 처리 장치에 의해 실행되기 위해 제공된다. 대안적으로, 이들 모듈은 또한 집적 회로 또는 판독 전용 메모리 성분에 구워진 하드웨어로 구현될 수 있으며, 각 서버는 특수화된 컴퓨터로 동작할 수 있다. 예를 들어, 모듈이 하드웨어로 구현되는 경우, 특정 하드웨어는 위에서 설명한 계산 및 통신을 수행하도록 특수화되고 다른 컴퓨터는 사용할 수 없다. 추가적으로 모듈이 판독 전용 메모리 성분에 구워지면 판독 전용 메모리를 저장하는 컴퓨터는 위에서 설명한 동작을 수행하도록 특수화되고 이는 다른 컴퓨터에서는 수행될 수 없다. 소스 코드와 객체 및 바이트 코드의 다양한 구현 예는 플로피 디스크, 하드 드라이브, 디지털 비디오 디스크(DVD), 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM) 및 유사한 저장 매체와 같은 컴퓨터 판독가능한 저장 매체에 유지될 수 있다. 다른 유형의 모듈 및 모듈 기능도 가능하고 다른 물리적 하드웨어 성분도 가능하다. 예를 들어, 프록시 서버(12), 로드 밸런서(24) 및 컴퓨팅 장치(14)는 입력/출력 포트, 네트워크 인터페이스, 및 비 휘발성 저장 장치와 같은 프로그래밍 가능한 컴퓨팅 장치에서 발견되는 다른 성분을 포함할 수 있으나, 다른 성분들도 가능하다.
인터넷의 다른 부분과 상호 작용하는데 프록시 서버(12)를 사용하면 사용자의 웹-브라우징 경험을 풍부하게 하는데 필요한 사용자 데이터를 습득하면서 사용자의 프라이버시를 보존할 수 있다. 도 2는 일 실시예에 따른 프록시 기반 프라이버시를 보호하는 방법(30)을 도시하는 흐름도이다. 상기 방법은 도 1의 시스템(10) 상에서 구현될 수 있다. 사용자와 관련된 컴퓨팅 장치(14)는 아래의 도 3을 참조하여 더 설명되는 바와 같이, 분산된 프록시들(12)의 네트워크(11)와 세션을 개시하여(단계 31) 사용자를 네트워크(11)에 로깅한다. 타깃 웹 페이지(16)를 검색하라는 사용자 요청은 로드 밸런서에 수신되고(단계 32) 프록시 서버(12)들 중 하나에 랜덤하게 할당된다. 프록시 서버(12)는 타깃 서버(17)에서 인터네트워크(13)를 통해 웹 페이지(16)에 액세스하고(단계 33) 타깃 서버로부터 수신된 쿠키를 저장한다(단계 34). 프록시 서버(12)는 액세스된 웹 페이지(16)를 파싱하고, 파싱된 코드에 기초하여 웹 페이지(16)를 렌더링하고, 도 1을 참조하여 전술한 바와 같이, 웹 페이지의 비주얼 성분을 식별하고 복원하여(단계 35), 웹 페이지가 사용자에게 제시되기 전에 제3자의 추적을 가능하게 하는 요소가 없게 웹 페이지를 정화한다. 사용자 프로파일(23)이 이용 가능한 경우(단계 36), 광고를 위한 비주얼 성분과 같은 추가적인 요소가 획득된다(단계 37). 사용자가 처음으로 네트워크(11)를 이용할 때와 같이 사용자 프로파일 정보가 이용 가능하지 않으면(단계 36), 방법(30)은 단계(38)로 이동한다. 추적 요소 없이 재구성된 웹 페이지(16)의 중간 비주얼 표현이, 도 1을 참조하여 전술된 바와 같이, 규칙(19)에 따라, 정화된 비주얼 성분, 및 이용 가능한 경우, 추가적인 비주얼 성분을 사용하여 생성된다(단계 38). 구성된 중간 표현(19)이 사용자에게 제공된다(단계 39). 사용자의 프로파일(23)은 도 3을 참조하여 후술되는 바와 같이 관리된다(단계 40). 프로파일의 관리는 또한 방법(30)의 다른 지점에서 수행될 수 있는데; 예를 들어, 사용자는 도 3을 참조하여 아래에서 더 설명된 바와 같이 타깃 웹페이지를 요청하기 전에 프로파일을 편집할 수 있다. 사용자가 시스템(10)에 로그인한 채 있으면(단계 41), 방법은 단계(32)로 복귀한다(단계 41). 사용자가 로그 아웃하거나 다른 방식으로 네트워크(11)를 통해 웹 브라우징 세션을 종료하기를 원하는 요구를 나타내면(단계 41), 세션은 도 5를 참조하여 후술된 바와 같이 종료되고(단계 42), 방법(30)은 종료한다.
보안 웹 브라우징 세션을 시작하려면 몇 가지 이벤트가 발생해야 한다. 도 3은 일 실시예에 따라 도 2의 방법(30)에서 사용되는 보안 웹 브라우징 세션을 시작하는 루틴을 나타내는 흐름도(50)이다. 컴퓨팅 장치의 웹 브라우저의 플러그인을 통해 또는 밸런서(24)를 지시하도록 브라우저(15)를 구성하는 것에 의해 인터네트워크(13)를 통해 분산 네트워크(11) 상의 컴퓨팅 장치(14)와 로드 밸런서(24) 사이이 접속이 수립된다(단계 51). 접속을 수립하는 동안, 컴퓨팅 장치(14)는 사용자 이름 및 패스워드와 같은 인증 정보를 프록시 서버(12)에 제공하여, 프록시 서버(12)가 사용자의 신원을 인증하게 한다. 접속을 수립할 때, 선택적으로, 사용자가 시스템(10)과 이전에 상호 작용한 경우, 컴퓨팅 장치(14)는 로드 밸런서 또는 요청이 할당된 프록시 서버(12)에 그 사용자에 대한 사용자 프로파일(23)을 복호하는 개인 복호 키를 제공한다(단계 52). 이후, 프록시 서버(12)는 사용자의 프로파일(23)을 검색하고, 이 키를 사용하여 프로파일(23)을 복호하여, 프로파일(23)을 수정하고 이를 사용하여 추가적인 내용을 획득하고(단계 53), 루틴(50)은 종료한다.
전술된 바와 같이, 사용자(22)로서 프로파일은 방법(30)의 실행 동안 다수의 인스턴스에서 업데이트되고 편집될 수 있어서, 더 많은 사용자 트래픽이 이용 가능하고 사용자가 프로파일에 변경을 구현할 때 프로파일을 업데이트할 수 있게 한다. 도 4는 도 2의 방법에서 사용되는 일 실시예에 따른 사용자 프로파일을 관리하는 루틴(60)을 나타내는 흐름도이다. 사용자의 웹 트래픽, 예를 들어, 사용자가 요청한 페이지, 사용자가 페이지에서 소비한 시간 기간, 사용자가 수행한 검색, 및 사용자가 클릭한 링크를 분석하여(단계 61) 관심사 및 인구 통계 정보와 같은 사용자의 특성을 식별하지만, 여전히 다른 특성도 가능하다. 이 특성은 사용자의 프로파일(23)의 일부로서 저장된다(단계 62). 선택적으로, 사용자는 네트워크(11)에 접속하여 프로파일에 기록된 특성을 변경, 제거 및 추가하는 것을 포함할 수 있는 사용자의 프로파일(23)을 편집할 수 있지만(단계 63), 다른 유형의 편집도 가능하고, 이후 루틴이 종료한다(60).
일단 사용자가 통신을 종료하기를 원하면 사용자 프로파일 정보는 무단으로 사용하지 못하도록 보호되어야 한다. 도 5는 일 실시예에 따라 도 2의 방법(30)에서 사용되는 보안 웹 브라우징 세션을 종료하는 루틴(70)을 나타내는 흐름도이다. 사용자의 프로파일은 공개 암호화 키를 사용하여 프록시 서버(12)에 의해 암호화되고(단계 72), 프록시 서버(12)에 의해 저장 장치(12)에 저장된다(단계 73). 선택적으로, 사용자가 시스템(10)을 처음으로 사용하는 세션인 경우, 프록시 서버(10)는 후속 보안 브라우징 세션 동안 사용될 수 있는 개인 복호 키를 컴퓨팅 장치(14)에 제공한다(단계 74). 프록시 서버(12)는 개인 암호 해독 키를 저장하지 않아서, 사용자 프로파일은 시스템(10)의 관리자가 액세스할 수 없다. 컴퓨팅 장치에 대한 접속이 종료되고, 루틴(70)은 종료한다.
Claims (18)
- 프록시 기반 프라이버시를 보호하는 시스템으로서,
하나 이상의 프록시 서버로서, 각각의 프록시 서버는, 프로그램 코드를 포함하는 비일시적 컴퓨터 판독가능한 기록 매체와 상기 기록 매체에 연결된 컴퓨터 프로세서를 포함하고, 상기 코드를 실행하여,
사용자와 관련된 적어도 하나의 컴퓨팅 장치로부터 적어도 하나의 타깃 서버에 저장된 웹 페이지를 제공해 달라는 하나 이상의 요청을 수신하는 단계로서, 상기 적어도 하나의 컴퓨팅 장치는 요구된 웹페이지들 각각의 비주얼 렌더링(visual rendering)을 사용자에게 디스플레이하도록 구성된, 상기 하나 이상의 요청을 수신하는 단계와;
상기 요청들 각각에 대해, 상기 타깃 서버로부터 상기 요청된 웹 페이지를 검색하는 단계와;
상기 검색된 웹 페이지 각각에 대해, 상기 웹 페이지를 하나 이상의 요소들로 파싱하고, 상기 파싱된 요소들 중 하나 이상에 기초하여 상기 웹 페이지의 비주얼 렌더링을 생성하고, 상기 비주얼 렌더링의 상기 웹페이지의 비주얼 성분들 - 상기 비주얼 성분들은 비주얼 렌더링이 디스플레이될 때 상기 비주얼 렌더링에 존재하는 적어도 하나의 텍스트 및 하나 이상의 이미지를 포함하는 비주얼 성분들 - 을 식별하는 단계와;
상기 파싱된 웹 페이지 각각에 대해, 웹페이지에 대한 비주얼 렌더링에서 식별된 하나 이상의 비주얼 성분들을 사용하여, 상기 웹 페이지에 대한 비주얼 렌더링시에 식별된 하나 이상의 비주얼 성분들 없이 재구성된 파싱된 웹 페이지의 버전의 표현을 생성하는 단계와;
상기 표현들 각각에 대해, 상기 프록시 서버들 중 하나에 의해 상기 표현을 상기 컴퓨팅 장치에 제공하는 단계의 단계로서, 상기 컴퓨팅 장치는 웹 페이지에 대한 표현 및 웹페이지의 비주얼 표현과는 상이한 디스플레이되는 재구성된 버전을 사용하여 하나 이상의 상기 비주얼 성분들을 포함하는 웹 페이지의 재구성된 버전을 디스플레이하는, 상기 컴퓨팅 장치에 제공하는 단계와;
상기 요구된 웹페이지들을 분석하는 단계와;
분석에 기초하여 사용자의 하나 이상의 특성을 도출하는 단계와;
도출된 특성을 포함하는 프로파일을, 사용자 프로파일로 생성하는 단계와;
상기 프로파일을 프록시 서버에 인터페이싱되는 저장 장치에 저장하는 단계의 단계들을 수행하도록 구성된, 프록시 기반 프라이버시를 보호하는 시스템. - 제1항에 있어서,
로드 밸런서가 상기 요청들 각각을 수신하고 상기 요청들 각각을 상기 프록시 서버들에 랜덤하게 할당하는 것을 더 포함하는, 프록시 기반 프라이버시를 보호하는 시스템. - 제1항에 있어서,
상기 재구성된 웹 페이지에 존재하지 않는 하나 이상의 파싱된 요소가 추적 요소를 포함하는, 프록시 기반 프라이버시를 보호하는 시스템. - 제1항에 있어서,
상기 단계들은,
상기 사용자 프로파일을 저장하기 전에 상기 사용자 프로파일을 암호화하는 단계와;
상기 컴퓨팅 장치로부터 복호 키를 수신하는 단계와;
상기 키의 수신시 상기 키를 사용하여 상기 사용자 프로파일을 복호하는 단계를 더 포함하는, 프록시 기반 프라이버시를 보호하는 시스템. - 제1항에 있어서,
상기 단계들은,
사용자로부터의 입력에 기초하여 상기 사용자 프로파일을 편집하는 단계를 더 포함하는, 프록시 기반 프라이버시를 보호하는 시스템. - 제1항에 있어서,
상기 단계들은,
상기 사용자 프로파일에 기초하여 하나 이상의 파싱된 웹페이지들에 대한 하나 이상의 부가적인 성분들을 선택하는 단계를 더 포함하고,
하나 이상의 표시가 하나 이상의 부가적인 요소에 기초하여 또한 생성되는, 프록시 기반 프라이버시를 보호하는 시스템. - 제6항에 있어서,
부가적인 성분들은 광고인, 프록시 기반 프라이버시를 보호하는 시스템. - 제1항에 있어서,
각각의 프록시 서버는 나머지 프로시 서버들의 IP(Internet Protocol) 어드레스와는 상이한 인터넷 IP 어드레스와 연관되는, 프록시 기반 프라이버시를 보호하는 시스템. - 제1항에 있어서,
상기 컴퓨팅 장치는 로드 블랜서에 연결하는 플러그-인을 포함하는 웹브라우저를 실행하는, 프록시 기반 프라이버시를 보호하는 시스템. - 프록시-기반 프라이버시를 보호하는 방법으로서,
사용자와 관련된 적어도 하나의 컴퓨팅 장치로부터 적어도 하나의 타깃 서버에 저장된 웹 페이지를 제공해 달라는 하나 이상의 요청을 하나 이상의 프록시 서버에 의해 수신하는 단계로서, 상기 적어도 하나의 컴퓨팅 장치는 요구된 웹페이지들 각각의 비주얼 렌더링을 사용자에게 디스플레이하도록 구성된, 상기 수신하는 단계와;
상기 요청들 각각에 대해, 상기 타깃 서버로부터 상기 요청된 웹 페이지를 상기 프록시 서버들 중 하나에 의해 검색하는 단계와;
상기 검색된 웹 페이지 각각에 대해, 상기 프록시 서버들 중 하나에 의해 상기 웹 페이지를 하나 이상의 요소들로 파싱하고, 상기 파싱된 요소들 중 하나 이상에 기초하여 상기 웹 페이지의 비주얼 렌더링을 생성하고, 비주얼 렌더링의 웹페이지의 비주얼 성분들 - 상기 비주얼 성분들은 비주얼 렌더링이 디스플레이될 때 상기 비주얼 렌더링에 존재하는 적어도 하나의 텍스트 및 하나 이상의 이미지를 포함하는 비주얼 성분들 - 을 식별하는 단계와;
상기 파싱된 웹 페이지 각각에 대해, 상기 웹 페이지에 대한 비주얼 렌더링에서 식별된 하나 이상의 비주얼 성분들을 사용하여, 상기 웹 페이지에 대한 비주얼 렌더링에서 식별된 하나 이상의 비주얼 성분들 없이 재구성된 파싱된 웹 페이지의 버전의 표현을 상기 프록시 서버에 의해 생성하는 단계와;
상기 표현들 각각에 대해, 상기 프록시 서버들 중 하나에 의해 상기 표현을 상기 컴퓨팅 장치에 제공하는 단계로서, 상기 컴퓨팅 장치는 상기 웹 페이지에 대한 표현 및 상기 웹페이지의 비주얼 표현과는 상이한 디스플레이되는 재구성된 버전을 사용하여 상기 비주얼 성분들 중 하나 이상을 포함하는 상기 웹 페이지의 재구성된 버전을 디스플레이하는, 상기 컴퓨팅 장치에 제공하는 단계와;
하나 이상의 프록시 서버에 의해, 상기 요구된 웹페이지들을 분석하는 단계와;
하나 이상의 프록시 서버에 의해, 상기 분석에 기초하여 사용자의 하나 이상의 특성을 도출하는 단계와;
하나 이상의 프록시 서버에 의해, 상기 도출된 특성을 포함하는 프로파일을, 사용자 프로파일로 생성하는 단계와;
하나 이상의 프록시 서버에 의해, 상기 프로파일을 프록시 서버에 인터페이싱되는 저장 장치에 저장하는 단계를 수행하도록 구성된, 프록시-기반 프라이버시를 보호하는 방법. - 제10항에 있어서,
상기 요청들 각각은 로드 밸런서에 의해 수신되고,
상기 로드 밸런서에 의해 상기 프록시 서버에 상기 요청을 랜덤하게 할당하는 단계를 더 포함하는, 프록시-기반 프라이버시를 보호하는 방법. - 제10항에 있어서,
상기 재구성된 웹 페이지에 존재하지 않는 하나 이상의 파싱된 요소가 추적 요소를 포함하는, 프록시-기반 프라이버시를 보호하는 방법. - 제10항에 있어서,
상기 사용자 프로파일을 저장하기 전에 상기 사용자 프로파일을 암호화하는 단계와;
상기 컴퓨팅 장치로부터 복호화 키를 수신하는 단계와;
상기 키의 수신시 상기 키를 사용하여 상기 사용자 프로파일을 복호하는 단계를 더 포함하는, 프록시-기반 프라이버시를 보호하는 방법. - 제10항에 있어서,
사용자로부터의 입력에 기초하여 상기 사용자 프로파일을 편집하는 단계를 더 포함하는, 프록시-기반 프라이버시를 보호하는 방법. - 제10항에 있어서,
상기 사용자 프로파일에 기초하여 하나 이상의 파싱된 웹페이지들에 대한 하나 이상의 부가적인 성분들을 선택하는 단계를 더 포함하고,
하나 이상의 표시가 하나 이상의 부가적인 요소에 기초하여 또한 생성되는, 프록시-기반 프라이버시를 보호하는 방법. - 제15항에 있어서,
부가적인 성분들은 광고인, 프록시-기반 프라이버시를 보호하는 방법. - 제10항에 있어서,
각각의 프록시 서버는 나머지 프로시 서버들의 IP 어드레스와는 상이한 인터넷 IP 어드레스와 연관되는, 프록시-기반 프라이버시를 보호하는 방법. - 제11항에 있어서,
상기 컴퓨팅 장치는 로드 블랜서에 연결하는 플러그-인을 포함하는 웹브라우저를 실행하는, 프록시-기반 프라이버시를 보호하는 방법.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/069,755 US10044679B2 (en) | 2016-03-14 | 2016-03-14 | System and method for proxy-based privacy protection |
US15/069,755 | 2016-03-14 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20170106912A KR20170106912A (ko) | 2017-09-22 |
KR102407305B1 true KR102407305B1 (ko) | 2022-06-13 |
Family
ID=58266902
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170025222A KR102407305B1 (ko) | 2016-03-14 | 2017-02-27 | 프록시 기반 프라이버시 보호 시스템 및 방법 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10044679B2 (ko) |
EP (1) | EP3220600B1 (ko) |
JP (1) | JP6768560B2 (ko) |
KR (1) | KR102407305B1 (ko) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8800033B2 (en) * | 2011-05-26 | 2014-08-05 | International Business Machines Corporation | Rotation of web site content to prevent E-mail spam/phishing attacks |
GB2553247B (en) * | 2017-10-21 | 2018-08-15 | Bruce Kelman Alistair | Apparatus and method for protecting the privacy of viewers of commercial television |
FI20185066A1 (en) * | 2018-01-24 | 2019-07-25 | Fail Safe It Solutions Oy | Control of and protection against computer risk for web browsing |
US20190303976A1 (en) * | 2018-03-29 | 2019-10-03 | SuperAwesome Trading Limited | System and method for fulfilling digital advertising requests without storing or providing personally identifiable information about a user to an external entity |
CN108734022B (zh) * | 2018-04-03 | 2021-07-02 | 安徽师范大学 | 基于三维网格划分的隐私保护轨迹数据发布方法 |
KR102383998B1 (ko) * | 2021-04-05 | 2022-04-08 | 주식회사 틸코블렛 | Ip주소를 관리하는 프록시 서버가 포함된 정보수집 대행 시스템 |
CN113691578A (zh) * | 2021-05-31 | 2021-11-23 | 珠海大横琴科技发展有限公司 | 一种数据处理的方法和装置 |
CN113515612B (zh) * | 2021-06-23 | 2023-06-02 | 中国联合网络通信集团有限公司 | 一种黑产手机号识别方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120084348A1 (en) | 2009-12-30 | 2012-04-05 | Wei-Yeh Lee | Facilitation of user management of unsolicited server operations |
WO2013079113A1 (en) | 2011-12-01 | 2013-06-06 | Fundacio Privada Barcelona Digital Centre Tecnologic | Secure cloud browsing client-server system and method of secure remote browsing using the same |
US20140283002A1 (en) | 2013-03-15 | 2014-09-18 | Stephen Frechette | Method and system for anonymous circumvention of internet filter firewalls without detection or identification |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6460076B1 (en) * | 1998-12-21 | 2002-10-01 | Qwest Communications International, Inc. | Pay per record system and method |
US20060020660A1 (en) * | 2004-07-20 | 2006-01-26 | Vishwa Prasad | Proxy and cache architecture for document storage |
US7570755B2 (en) * | 2006-09-29 | 2009-08-04 | Verint Americas Inc. | Routine communication sessions for recording |
US8122360B2 (en) * | 2007-06-27 | 2012-02-21 | Kosmix Corporation | Automatic selection of user-oriented web content |
WO2009073214A2 (en) * | 2007-12-04 | 2009-06-11 | Bytemobile, Inc. | Advertisement insertion module and advertisement replacement module |
WO2009092004A2 (en) | 2008-01-18 | 2009-07-23 | Radius Innovations | Method and apparatus for delivering targeted content |
US20110087966A1 (en) * | 2009-10-13 | 2011-04-14 | Yaniv Leviathan | Internet customization system |
US9560023B2 (en) * | 2014-08-13 | 2017-01-31 | AOL, Inc. | Systems and methods for protecting internet advertising data |
US10157588B2 (en) * | 2014-09-19 | 2018-12-18 | Excalibur Ip, Llc | Systems and methods for image optimization |
-
2016
- 2016-03-14 US US15/069,755 patent/US10044679B2/en active Active
-
2017
- 2017-02-27 KR KR1020170025222A patent/KR102407305B1/ko active IP Right Grant
- 2017-02-28 JP JP2017037722A patent/JP6768560B2/ja active Active
- 2017-03-08 EP EP17159879.0A patent/EP3220600B1/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120084348A1 (en) | 2009-12-30 | 2012-04-05 | Wei-Yeh Lee | Facilitation of user management of unsolicited server operations |
WO2013079113A1 (en) | 2011-12-01 | 2013-06-06 | Fundacio Privada Barcelona Digital Centre Tecnologic | Secure cloud browsing client-server system and method of secure remote browsing using the same |
US20140283002A1 (en) | 2013-03-15 | 2014-09-18 | Stephen Frechette | Method and system for anonymous circumvention of internet filter firewalls without detection or identification |
Also Published As
Publication number | Publication date |
---|---|
JP2017168096A (ja) | 2017-09-21 |
US20170264591A1 (en) | 2017-09-14 |
KR20170106912A (ko) | 2017-09-22 |
EP3220600A1 (en) | 2017-09-20 |
EP3220600B1 (en) | 2019-12-25 |
US10044679B2 (en) | 2018-08-07 |
JP6768560B2 (ja) | 2020-10-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102407305B1 (ko) | 프록시 기반 프라이버시 보호 시스템 및 방법 | |
Bujlow et al. | A survey on web tracking: Mechanisms, implications, and defenses | |
US11671509B2 (en) | Anonymous eCommerce behavior tracking | |
US20160330237A1 (en) | System and Method for Blocking Internet Data Brokers and Networks | |
US9060031B1 (en) | Anonymized personalization of network content | |
Ruiz-Martínez | A survey on solutions and main free tools for privacy enhancing Web communications | |
JP7132350B2 (ja) | ブラウザクッキーの置換えとしてのドメイン固有ブラウザ識別子 | |
Sanchez-Rola et al. | The web is watching you: A comprehensive review of web-tracking techniques and countermeasures | |
CN104380690A (zh) | 用于推荐服务的隐私保护系统的架构 | |
Bujlow et al. | Web tracking: Mechanisms, implications, and defenses | |
Schmucker | Web tracking | |
EP3756331B1 (en) | Self-authenticating domain specific browser identifiers | |
US9998429B2 (en) | Method for transmitting information from a first information provider to a second information provider via an information intermediary | |
JP2022527231A (ja) | コンテンツ要求データの暗号化のためのシステムおよび方法 | |
Peterson et al. | Investigation of cookie vulnerabilities: poster | |
EP2793444B1 (en) | Transmitting information from a first information provider to a second information provider via an information intermediary | |
EP4191945A1 (en) | Methods of linking data with a token associated with a user account, methods of supplying relevant content, and servers and computer software configured to perform the methods | |
Sivakorn et al. | Http cookie hijacking in the wild: Security and privacy implications | |
Beretas | Governments Failure on Global Digital Geopolitical Strategy | |
Cho et al. | A Privacy Preserving Model for Personal Information in Search Engine | |
WO2023104645A1 (en) | Methods of linking data with a token associated with a user account, methods of supplying relevant content, and servers and computer software configured to perform the methods | |
Vörös | New generation data-and network protection procedures | |
Ali et al. | A framework for secure and privacy protected collaborative | |
Clark | Profiling, Tracking, and Monetizing: An Analysis of Internet and Online Social Network Concerns | |
Huber | Security and privacy implications of third-party access to online social networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |