KR20220137955A - 개인 정보 보호 활동 집계 메커니즘 - Google Patents

개인 정보 보호 활동 집계 메커니즘 Download PDF

Info

Publication number
KR20220137955A
KR20220137955A KR1020227030754A KR20227030754A KR20220137955A KR 20220137955 A KR20220137955 A KR 20220137955A KR 1020227030754 A KR1020227030754 A KR 1020227030754A KR 20227030754 A KR20227030754 A KR 20227030754A KR 20220137955 A KR20220137955 A KR 20220137955A
Authority
KR
South Korea
Prior art keywords
cohort
random
domain
application
identifier
Prior art date
Application number
KR1020227030754A
Other languages
English (en)
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 KR20220137955A publication Critical patent/KR20220137955A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/33User authentication using certificates
    • 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
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • G06F21/6263Protecting personal data, e.g. for financial or medical purposes during internet communication, e.g. revealing personal data from cookies
    • 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/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0407Network 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
    • H04L63/0421Anonymous communication, i.e. the party's identifiers are hidden from the other party or parties, e.g. using an anonymizer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/062Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/535Tracking the activity of the user
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • H04L9/3268Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3297Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving time stamps, e.g. generation of time stamps
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/42Anonymization, e.g. involving pseudonyms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/121Timestamp

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)

Abstract

본 개시는 개인 정보 보호 웹 활동 모니터링 방법에 관한 것으로, 이 방법은 사용자의 사용자 장치상의 애플리케이션으로부터, 도메인으로부터의 디지털 콘텐츠에 대한 요청을 수신하는 단계와; 무작위로 선택된 식별자 및 타임스탬프에 기초하여 구성된 무작위 코호트(randomized cohort)를 제1시간에 상기 애플리케이션에 할당하는 단계와, 상기 타임스탬프는 상기 무작위 코호트가 상기 애플리케이션에 할당된 상기 제1시간을 나타내며; 그리고 (i) 상기 무작위로 선택된 식별자 및 타임스탬프에 대응하는 디지털 서명된 인증서 및 (ii) 상기 인증서와 관련된 고유한 공개 키 및 대응하는 고유한 개인 키를 제공하는 단계를 포함하며, 상기 무작위로 선택된 식별자는 또한, 상기 애플리케이션에 대한 상기 무작위 코호트의 할당의 미리 결정된 기간 내에 다른 사용자 장치들 상에서 실행되는 다른 애플리케이션들의 적어도 임계 수에 할당된다.

Description

개인 정보 보호 활동 집계 메커니즘
본 명세서는 온라인 환경에서 웹 활동 집계, 데이터 처리 및 사용자 개인 정보 보호에 관한 것이다. 온라인 사용자 개인 정보의 향상은 많은 브라우저 개발자들로 하여금 사용자 데이터를 처리하는 방식을 변경하게 했다. 예를 들어, 일부 유형의 쿠키들은 일부 브라우저에 의해 더 이상 지원되지 않지만 제3자(3P) 쿠키들의 사용 중단은 사기 및 남용을 야기할 수 있다.
웹 활동을 집계하는 것은 사용자에 대한 브라우징 경험의 개인화를 가능하게 하고, 모니터링 없이 보다 빠르게 사용자와 관련된 콘텐츠의 전달을 가능하게 한다. 그러나 쿠키들과 같은 기존 메커니즘들이 단일 사용자 및 사용자에 관한 정보에 링크될 수 있다. 이러한 정밀함은 사용자들로 하여금 이들이 너무 쉽게 식별되고 이들의 정보가 너무 쉽게 손상되는 것처럼 느낄 수 있게 한다
일반적으로, 본 명세서에 설명된 주제의 한 가지 혁신적인 양태는 사용자의 사용자 장치상의 애플리케이션으로부터 디지털 콘텐츠에 대한 요청을 수신하는 것을 포함하는 개인 정보 보호 웹 활동 모니터링 방법으로 구현될 수 있으며, 이 방법은 사용자의 사용자 장치상의 애플리케이션으로부터, 도메인으로부터의 디지털 콘텐츠에 대한 요청을 수신하는 단계와, 무작위로 선택된 식별자 및 타임스탬프에 기초하여 구성된 무작위 코호트(randomized cohort)를 제1시간에 상기 애플리케이션에 할당하는 단계와, 상기 타임스탬프는 상기 무작위 코호트가 상기 애플리케이션에 할당된 상기 제1시간을 나타내며, 그리고 (i) 상기 무작위로 선택된 식별자 및 타임스탬프에 대응하는 디지털 서명된 인증서 및 (ii) 상기 인증서와 관련된 고유한 공개 키 및 대응하는 고유한 개인 키를 제공하는 단계를 포함하며, 상기 무작위로 선택된 식별자는 또한, 상기 애플리케이션에 대한 상기 무작위 코호트의 할당의 미리 결정된 기간 내에 다른 사용자 장치들 상에서 실행되는 다른 애플리케이션들의 적어도 임계 수에 할당된다.
일부 구현들에서, 상기 방법은 상기 애플리케이션으로부터, 상기 도메인으로부터의 디지털 콘텐츠에 대한 제2 요청을 수신하는 단계와, 그리고 상기 무작위로 선택된 식별자에 대응하는 모호한(vague) 식별자 및 무작위 코호트 연령 버킷을 제2시간에 상기 애플리케이션에 의해 상기 도메인에 제공하는 단계 - 상기 무작위 코호트 연령 버킷은 상기 무작위 코호트의 연령을 포함하는 쿠키들의 연령들의 범위를 나타낸다 - 를 포함하며, 상기 무작위 코호트의 연령은 상기 제2시간과 상기 제1시간 사이의 차이에 기초하여 계산된다.
일부 구현들에서, 상기 방법은 상기 도메인에 의해 그리고 상기 수신된 무작위 코호트 연령 버킷에 기초하여, 상기 무작위로 선택된 식별자와 관련된 비정상 활동과, 그리고 상기 무작위로 선택된 식별자와 관련된 인터랙션의 수, 무작위 코호트 연령 분포, 특정 인터랙션 및 특정 기간과 관련된 확률 분포 중 적어도 하나를 검출하는 단계를 더 포함한다.
일부 구현에서, 상기 애플리케이션에 무작위 코호트를 할당하는 단계는 상기 도메인에 의해, 상기 무작위 코호트를 상기 애플리케이션에 할당하는 것을 포함하고, 상기 무작위로 선택된 식별자는 적어도 임계 수의 다른 애플리케이션들에 할당되고, 상기 무작위로 선택된 식별자는 2개 이상의 무작위로 생성된 식별자 중에서 선택된 무작위로 생성된 식별자이고, 상기 고유한 공개 키는 상기 도메인에 의해 생성된다.
일부 구현들에서, 상기 브라우저에 무작위 코호트를 할당하는 단계는 중앙 서버에 의해 상기 무작위 코호트를 상기 애플리케이션에 할당하는 것을 포함하고, 상기 무작위로 선택된 식별자는 상기 적어도 임계 수의 다른 애플리케이션들에 할당되고, 상기 무작위로 선택된 식별자는 2개 이상의 무작위로 생성된 식별자 중에서 선택된 무작위로 생성된 식별자이고, 상기 고유한 공개 키는 상기 중앙 서버에 의해 생성된다.
일부 구현들에서, 상기 방법은 상기 애플리케이션에 의해, 상기 제1 도메인과 다른 제2 도메인으로부터의 디지털 콘텐츠에 대한 요청 및 상기 무작위 코호트를 제공하는 단계와, 상기 제2 도메인으로부터의 디지털 콘텐츠에 대한 요청을 제공하는 것에 응답하여, 상기 애플리케이션에 의해 그리고 상기 제2 도메인으로부터 챌린지(challenge)를 포함하는 입증 요청을 수신하는 단계와, 그리고 디지털 서명된 인증서를 상기 애플리케이션에 의해 검증 시스템에 제공하는 단계를 포함하며, 상기 디지털 서명된 인증서는 상기 검증 시스템으로 하여금 (i) 상기 무작위로 선택된 식별자, 상기 무작위 코호트 연령 버킷 및 상기 챌린지를 포함하는 모호한 인증서를 생성하게 하고, (ii) 상기 모호한 인증서에 서명하게 하고 (iii) 상기 모호한 인증서를 상기 제2 도메인에 제공하게 하며, 상기 챌린지는 블라인드 방식을 사용하여 상기 검증 시스템에서 블라인드된다.
일부 구현들에서, 상기 방법은 상기 애플리케이션에 의해 상기 검증 시스템에 상기 디지털 서명된 인증서를 제공하는 단계와, 그리고 상기 검증 시스템에 의해 상기 무작위 코호트가 적어도 임계 수의 사람들에게 할당됨을 검증하는 단계를 포함한다.
이 양태의 다른 실시예는 대응하는 시스템, 장치, 및 컴퓨터 저장 장치상에 인코딩되며 상기 방법들의 동작을 수행하도록 구성된 컴퓨터 프로그램을 포함한다.
본 명세서에 기술된 주제는 다음 이점들 중 하나 이상을 실현하기 위해 특정 실시예에서 구현될 수 있다.
디지털 컴포넌트 배포 시스템이 개인화된 디지털 컴포넌트를 선택하고 배포(예컨대, 선택 파라미터 및/또는 선택 파라미터 그 자체를 생성)하는 방식은 역사적으로, 클라이언트 장치에서 렌더링되는 웹 페이지의 도메인과 다른 도메인(예컨대, eTLD+1)에 의해 클라이언트 장치에 드롭된(dropped) 쿠키들인 제3자 쿠키들에서 얻어진 사용자 정보(예컨대, 브라우징 정보, 관심 그룹 정보 등)를 사용하는 것을 포함해왔다. 그러나 일부 브라우저들은 제3자 쿠키의 사용을 차단하여 개인화된 디지털 컴포넌트를 선택하고 제공하는 것을 더 어렵게 만드는바, 이는 컴퓨터 자원들 및 대역폭이 사용자들에게 관심이 없는 콘텐츠를 선택하여 사용자들에게 배포함으로서 낭비될 수 있음을 의미한다. 더욱이, 컴퓨터 시스템이 이전에 제3자 쿠키를 사용하여 수행할 수 있었던 기능들을 더 이상 수행할 수 없으므로 컴퓨터 시스템의 효율성 및 효과가 낮아지는 결과를 초래한다. 이 문제를 극복하기 위해 웹 활동의 모니터링, 집계 및 분석을 가능하게 하는 동시에 사용자 추적을 방지하고 컴퓨팅 시스템들에 걸친 사용자 정보의 누출을 방지하는 개인 정보 보호 기술을 사용할 수 있다. 즉, 여기에서 논의된 기술은 브라우저들이 제3자 쿠키들의 사용을 지원하지 않을 때 발생하는 문제를 극복하기 위해 컴퓨팅 시스템이 작동하는 방식을 변경한다.
여기에서 설명하는 개인 정보 보호 모니터링 메커니즘인 무작위 코호트들은 웹 활동 모니터링 기능을 제공한다. 무작위 코호트들은 식별자와 타임스탬프를 포함한다. 식별자와 타임스탬프의 조합은 특정 브라우저나 사용자 장치를 고유하게 식별할 수 없고 대신에. 그러나 무작위 코호트가 속한 연령 버킷을 생성하고 식별자와 연령 버킷의 조합을 제공함으로써 유용한 정보를 계속 제공하면서 타임스탬프를 판독하기 어렵게 할 수 있다. 식별자 및 연령 버킷 조합은 서로 다른 사용자 장치들에서 실행되는 고유한 브라우저들의 임계 수에 할당되므로 무작위 코호트의 통계적 유용성을 희생하지 않으면서 익명성을 보장한다. 무작위 코호트는 사용자의 익명성을 보장하면서 코호트의 활동 및 기타 정보에 관한 통계를 생성하는 데 사용할 수 있다. 사용자들은 k 크기의 코호트로 무작위로 그룹화되어 무작위 코호트의 범위가 지정된 도메인이 코호트의 활동을 추적할 수 있지만 한 사용자의 활동은 추적할 수 없다.
추가로, 무작위 코호트는 사기 행위 또는 조정된 오용을 검출하기 위해 콘텐츠 제공자 및 호스트와 같은 제3자를 위한 보안 컨텍스트에서 사용될 수 있다. 예를 들어, 무작위 코호트는 기존의 남용 방지 기술이 참여 남용을 방지할 수 있게 한다. 참여 남용은 클릭 사기, 조회수 인플레이션, 등급 조작, 순위 조작 등과 같은 행동을 포함할 수 있다. 무작위 코호트를 사용하여 사기성 사용을 나타내는 의심스러운 웹 활동을 검출하는 동시에 이전에 사용자가 사용할 수 없었던 특정 레벨의 개인 정보를 사용자에게 제공할 수 있다. 예를 들어, 무작위 코호트를 사용하여 사용자에게 k-익명성 보장을 제공할 수 있다. k-익명성의 보장은 무작위 코호트 식별자와 타임스탬프로 식별할 수 있는 단일 무작위 코호트와 관련된 최소 k명의 무작위 사용자들이 있게 해준다. 예를 들어, k=100인 무작위 코호트 식별자에 대한 k-익명성 보장은 무작위 코호트 식별자와 관련된 적어도 100명의 임의 사용자가 있음을 보장하므로 특정 무작위 코호트와 관련된 정보는 어느 정도 익명화되며, 이는 통계 분석 및 남용 검출과 같은 애플리케이션들에 유용하다.
설명된 모니터링 메커니즘인 무작위 코호트는 독립적인 제3자에 의해 외부적으로 검증될 수 있는 개인 정보 보장을 제공함으로써 사용자 경험과 신뢰를 개선한다. 설명된 시스템은 무작위 코호트의 소스와 독립적인 하나 이상의 검증 서버를 포함할 수 있어, 검증 서버가 특정 무작위 코호트 식별자의 통계적 특성을 결정할 수 있도록 하면서 무작위 코호트 및 사용자의 특정 신원이 숨겨진 상태로 유지된다. 이를 통해 사용자는 독립적인 소스를 통해 익명이 유지되고 개인 정보 보호 시스템이 약속한 대로 작동하는지 확인할 수 있다. 개인 정보 보호 보장을 개별적으로 입증할 수 있는 사용자는 설명된 모니터링 메커니즘을 사용하는 시스템을 채택하는 것이 더 편안할 수 있다.
또한, 웹 활동 모니터링의 전통적인 방법을 사용하는 시스템들에서 무작위 코호트를 대체물로 사용할 수 있다. 예를 들어, 무작위 코호트들은 특정 조건에서 거의 적응이 필요하지 않은 기존 시스템들에서 사용할 수 있으므로 시스템 설계자들이 웹 활동에 관한 관련 통계 데이터를 제공하고 사용자 개인 정보를 개선하면서 제3자를 보호하기 위한 보안 기능을 수행하기 위해 기존 인프라를 재사용할 수 있게 해준다.
이 문서 전체에 걸쳐 논의된 기술들은 또한 불규칙한 활동(예컨대, 네트워크 공격)을 검출하고 불규칙한 활동을 차단하는 데 사용될 수 있다. 예를 들어, 이러한 기술들은 일상보다 높은 레벨의 네트워크 요청 또는 트래픽을 검출하고 해당 정보를 사용하여 추가 네트워크 요청 또는 트래픽을 방지하거나 높은 레벨의 네트워크 요청 또는 트래픽을 담당하는 컴퓨팅 장치들의 그룹으로부터의 추가 요청을 블라인드할 수 있다. 이 기술들은 또한 특정 컴퓨팅 자원들의 과용을 검출하고 컴퓨터 시스템의 효율성을 개선하기 위해 로드 밸런싱을 수행하는 데 사용될 수 있다.
전술한 주제의 다양한 특징 및 이점들이 도면과 관련하여 아래에서 설명된다. 추가적인 특징 및 이점들이 본 명세서에 기재된 주제 및 청구범위로부터 분명해진다.
도 1은 개인 정보 보호 모니터링 메커니즘이 구현되는 시스템의 블록도이다.
도 2는 개인 정보 보호 모니터링 메커니즘을 발행 및 구현하기 위한 예시적인 프로세스의 데이터 흐름도이다.
도 3a는 단일 발행 도메인으로 범위가 제한된 개인 정보 보호 모니터링 메커니즘을 발행 및 구현하기 위한 예시적인 프로세스를 예시하는 스윔 레인 다이어그램이다.
도 3b는 상이한 도메인들에 걸쳐 수행되는 웹 활동에 걸쳐 사용되는 개인 정보 보호 모니터링 메커니즘을 발행 및 구현하기 위한 예시적인 프로세스를 예시하는 스윔 레인 다이어그램이다.
도 4는 개인 정보 보호 모니터링 메커니즘을 발행 및 구현하기 위한 예시적인 프로세스를 도시하는 흐름도이다.
도 5는 예시적인 컴퓨터 시스템의 블록도이다
다양한 도면에서 동일한 참조 번호 및 명칭은 동일한 요소를 나타낸다.
일반적으로, 이 문서는 통계적 추적 및 남용 검출 기능을 또한 제공하는 모니터링 메커니즘인 무작위 코호트와 관련된 사용자들에 대한 특정 레벨의 개인 정보를 보장하기 위한 시스템 및 기술을 설명한다.
도 1은 개인 정보 보호 데이터 수집 및 분석을 위한 환경(100)의 블록도이다. 이 예시적인 환경(100)은 LAN, WAN, 인터넷, 또는 이들의 조합과 같은 네트워크(102)를 포함한다. 네트워크(102)는 전자 문서 서버(104)("전자 문서 서버"), 사용자 장치(106), 디지털 컴포넌트 배포 시스템(110)(DCDS(110)이라고도 칭함), 하나 이상의 검증 서버(130)를 연결한다. 이 예시적인 환경(100)은 많은 상이한 전자 문서 서버(104), 사용자 장치(106), 검증 서버(130), 및 신뢰 도메인 서버(140)를 포함할 수 있다. 설명의 편의를 위해, 하나의 신뢰 도메인 서버(140)가 도시된다.
사용자 장치(106)는 네트워크(102)를 통해 자원(예컨대, 전자 문서)를 요청 및 수신할 수 있는 전자 장치이다. 예시적인 사용자 장치(106)는 개인용 컴퓨터, 웨어러블 장치, 스마트 스피커, 태블릿 장치, 모바일 통신 장치(예를 들어, 스마트 폰), 스마트 기기, 및 네트워크(102)를 통해 데이터를 송수신할 수 있는 기타 장치를 포함할 수 있다. 일부 구현에서, 사용자 장치는 사용자에게 가청 정보를 출력하는 스피커, 및 사용자로부터 가청 입력(예컨대, 음성 입력)을 받아드리는 마이크를 포함할 수 있다. 사용자 장치는 또한 입력을 제시하고 및/또는 입력에 응답하여 제공되는 출력을 수신하기 위한 대화형 음성 인터페이스를 제공하는 디지털 어시스턴트를 포함할 수 있다. 사용자 장치는 또한 시각적 정보(예를 들어, 텍스트, 이미지, 및/또는 비디오)를 제시하기 위한 디스플레이를 포함할 수 있다. 사용자 장치(106)는 일반적으로 네트워크(102)를 통한 데이터의 송수신을 용이하게 하기 위해 웹 브라우저와 같은 사용자 애플리케이션을 포함하지만, 사용자 장치(106)에 의해 실행되는 네이티브 애플리케이션이 또한 네트워크(102)를 통한 데이터의 송수신을 용이하게 할 수 있다.
사용자 장치(106)는 소프트웨어(107)를 포함한다. 소프트웨어(107)는 예를 들어 브라우저 또는 운영 체제일 수 있다. 일부 구현에서, 소프트웨어(107)는 사용자로 하여금 네트워크(102)와 같은 네트워크를 통해 정보에 액세스하고, 서버로부터 정보를 검색하고, 사용자 장치(106)의 디스플레이에 정보를 표시할 수 있게 한다. 일부 구현에서, 소프트웨어(107)는 사용자 장치(106)의 하드웨어 및 소프트웨어 자원을 관리하고 사용자 장치(106)의 다른 프로그램들에 대한 공통 서비스를 제공한다. 소프트웨어(107)는 프로그램과 사용자 장치(106)의 하드웨어 사이에서 중개자 역할을 할 수 있다.
소프트웨어(107)는 각 사용자 장치(106)에 고유하다. 아래에 상세히 설명되는 바와 같이, 개인 정보 보호 데이터 분석 및 수집의 혁신은 자원 효율적이고 안전한 장치 고유의 솔루션을 제공한다.
전자 문서는 사용자 장치(106)에서 콘텐츠 세트를 나타내는 데이터이다. 전자 문서의 예는 웹페이지, 워드 프로세싱 문서, PDF(Portable Document Format) 문서, 이미지, 비디오, 검색 결과 페이지 및 피드 소스를 포함한다. 모바일, 태블릿 또는 데스크톱 컴퓨팅 장치에 설치된 애플리케이션과 같은 네이티브 애플리케이션(예컨대, "앱") 또한 전자 문서의 예이다. 전자 문서(105)("전자 문서")는 전자 문서 서버(104)에 의해 사용자 장치(106)에 제공될 수 있다. 예를 들어, 전자 문서 서버(104)는 네트워크 도메인(예를 들어, eTLD+1)과 같은 퍼블리셔 웹사이트를 호스팅하는 서버를 포함할 수 있다. 전자 문서 서버(104)는 각각 개별의 도메인(예를 들어, 다른 eTLD+1) 내에 있거나 이와 관련된 서버일 수 있다.
이 예에서, 사용자 장치(106)는 주어진 발행자 웹페이지에 대한 요청을 개시할 수 있고, 주어진 발행자 웹페이지를 호스팅하는 전자 문서 서버(104)는 사용자 장치(106)에서 상기 주어진 웹페이지의 프리젠테이션을 개시하는 머신 HTML(Hyper-Text Markup Language) 코드를 전송함으로써 요청에 응답할 수 있다.
전자 문서는 다양한 콘텐츠를 포함할 수 있다. 예를 들어, 전자 문서(105)는 전자 문서 자체 내에 있고/있거나 시간이 지남에 따라 변경되지 않는 정적 콘텐츠(예컨대, 텍스트 또는 기타 지정된 콘텐츠)를 포함할 수 있다. 전자 문서는 시간이 지남에 따라 또는 요청별로 변경될 수 있는 동적 콘텐츠를 또한 포함할 수 있다. 예를 들어, 주어진 전자 문서의 퍼블리셔는 전자 문서의 일부를 채우는 데 사용되는 데이터 소스를 유지할 수 있다. 이 예에서, 주어진 전자 문서는 주어진 전자 문서가 사용자 장치(106)에 의해 처리(예를 들어, 렌더링 또는 실행)될 때 사용자 장치(106)로 하여금 데이터 소스로부터 콘텐츠를 요청하게 하는 태그 또는 스크립트를 포함할 수 있다. 사용자 장치(106)는 데이터 소스로부터 획득된 콘텐츠를 주어진 전자 문서의 프리젠테이션에 통합하여 데이터 소스로부터 획득된 콘텐츠를 포함하는 복합 전자 문서를 생성한다.
일부 상황들에서, 주어진 전자 문서는 DCDS(110)를 참조하는 디지털 콘텐츠 태그 또는 디지털 콘텐츠 스크립트를 포함할 수 있다. 이들 상황들에서, 디지털 콘텐츠 태그 또는 디지털 콘텐츠 스크립트는 주어진 전자 문서가 사용자 장치(106)에 의해 처리될 때 사용자 장치(106)에 의해 실행된다. 디지털 콘텐츠 태그 또는 디지털 콘텐츠 스크립트의 실행은 네트워크(102)를 통해 DCDS(110)로 전송되는 디지털 콘텐츠에 대한 요청(108)을 생성하도록 사용자 장치(106)를 구성한다. 예컨대, 콘텐츠 태그 또는 디지털 콘텐츠 스크립트는 사용자 장치(106)가 헤더 및 페이로드 데이터를 포함하는 패킷화된 데이터 요청을 생성하도록 할 수 있다. 요청(108)은 디지털 콘텐츠를 요청하는 서버의 이름(또는 네트워크 위치), 요청 장치(예를 들어, 사용자 장치(106))의 이름(또는 네트워크 위치), 및/또는 DCDS(110)가 요청에 응답하여 제공되는 디지털 콘텐츠를 선택하기 위해 사용할 수 있는 정보와 같은 그러한 데이터를 포함할 수 있다. 요청(108)은 사용자 장치(106)에 의해 네트워크(102)(예를 들어, 통신 네트워크)를 통해 DCDS(110)의 서버로 전송된다.
요청(108)은 전자 문서 및 디지털 콘텐츠가 제시될 수 있는 위치의 특성을 지정하는 데이터를 포함할 수 있다. 예를 들어, 디지털 콘텐츠를 제시할 전자 문서(예컨대, 웹 페이지)에 대한 참조(예컨대, URL)를 특정하는 데이터, 디지털 콘텐츠를 제시하는 데 사용할 수 있는 전자 문서의 사용 가능한 위치(예컨대, 디지털 콘텐츠 슬롯), 사용 가능한 위치의 크기, 전자 문서의 프리젠테이션 내 사용 가능한 위치의 위치 및/또는 위치에서 프리젠테이션에 적격한 미디어 유형이 DCDS(110)에 제공될 수 있다. 유사하게, 전자 문서("문서 키워드")의 선택을 위해 지정된 키워드 또는 데이터 전자 문서에 의해 참조되는 엔티티(예컨대, 사람, 장소 또는 사물)을 특정하는 데이터가 (예컨대, 페이로드 데이터로서) 또한 요청(108)에 포함될 수 있고, 전자 문서와 함께 프리젠테이션에 적격한 전자 문서 또는 디지털 컴포넌트와 같은 디지털 콘텐츠 아이템의 식별을 용이하게 하기 위해 DCDS(110)에 제공될 수 있다.
요청(108)은 또한 사용자가 제공한 정보, 요청이 제출된 주 또는 지역을 나타내는 지리적 정보, 또는 디지털 콘텐츠가 디스플레이될 환경에 대한 콘텍스트(예컨대, 모바일 장치 또는 태블릿 장치와 같이 디지털 콘텐츠가 디스플레이될 장치의 유형)를 제공하는 정보와 같은 기타 정보에 관한 데이터를 포함할 수 있다. 사용자 제공 정보는 사용자 장치(106)의 사용자에 대한 인구 통계 데이터를 포함할 수 있다. 예를 들어, 인구 통계 정보는 연령, 성별, 지리적 위치, 교육 레벨, 결혼 상태, 가구 소득, 직업, 취미, 소셜 미디어 데이터 및 사용자가 여러 특성들 중 특정 아이템을 소유하는지 여부를 포함할 수 있다.
사용자 장치(106)의 모델, 사용자 장치(106)의 구성, 또는 전자 문서가 제시되는 전자 디스플레이(예컨대, 터치스크린 또는 데스크탑 모니터)의 크기(예컨대, 물리적 크기 또는 해상도)를 나타내는 정보와 같은 그러한 사용자 장치(106)의 특성들을 특정하는 데이터가 또한 요청(108)에 제공될 수 있다. 요청(108)은 예를 들어 패킷화된 네트워크를 통해 전송될 수 있고, 요청(108) 자체는 헤더 및 페이로드 데이터를 갖는 패킷화된 데이터로서 포맷될 수 있다. 헤더는 패킷의 목적지를 특정할 수 있고 페이로드 데이터는 위에서 논의된 정보 중 어느 것을 포함할 수 있다.
이 문서 전체에 걸쳐 논의된 개인 정보 보호 기술에 더하여, 사용자로 하여금 여기에 설명된 시스템, 프로그램 또는 피처(feature)들이 사용자 정보(예를 들어, 사용자의 소셜 네트워크, 소셜 행위 또는 활동, 직업, 사용자의 선호도 또는 사용자의 현재 위치에 관한 정보)의 수집을 가능하게 할 수 있는지 또는 언제 가능하게 할 수 있는지 및 사용자가 서버로부터 콘텐츠 또는 통신을 전송받는지에 관한 선택을 할 수 있도록 하는 제어가 사용자에게 제공될 수 있다. 또한, 어떤 데이터는 저장 또는 사용되기 전에 하나 이상의 방식으로 처리되어 개인 식별 정보가 제거될 수 있다. 예를 들어, 사용자에 대한 개인 식별 정보를 결정할 수 있도록 사용자의 신원을 처리할 수 있거나, 사용자의 특정 위치를 판단할 수 없도록 위치 정보가 얻어지는 사용자의 지리적 위치를 일반화할 수 있다(예컨대, 도시, 우편 번호 또는 주 레벨로). 따라서 사용자는 사용자에 관해 수집되는 정보, 해당 정보가 사용되는 방법 및 사용자에게 제공되는 정보를 제어할 수 있다.
DCDS(110)는 요청(108)을 수신하고/하거나 요청(108)에 포함된 정보를 사용하는 것에 응답하여 주어진 전자 문서와 함께 제시될 디지털 콘텐츠를 선택한다. 일부 구현에서, DCDS(110)는 예를 들어 상호 연결되고 요청(108)에 대한 응답으로 디지털 콘텐츠를 식별 및 배포하는 서버 및 다수의 컴퓨팅 장치 세트를 포함하는 분산 컴퓨팅 시스템(또는 환경)에서 구현된다. 수백만 개 이상의 사용 가능한 디지털 콘텐츠 중 전자 문서로 제시되기에 적격인 디지털 콘텐츠의 세트를 식별하기 위해 다수의 컴퓨팅 장치들이 서로 동작할 수 있다. 수백만 개 이상의 사용 가능한 디지털 콘텐츠가 예를 들어, 디지털 컴포넌트 데이터베이스(112)에서 인덱싱될 수 있다. 각각의 디지털 콘텐츠 인덱스 엔트리는 대응하는 디지털 콘텐츠를 참조할 수 있고/있거나, 대응하는 디지털 콘텐츠의 배포를 조절하는 배포 파라미터들을 포함할 수 있다..
적격한 디지털 콘텐츠의 식별은 다수의 컴퓨팅 장치 세트 내의 컴퓨팅 장치 들 사이에 할당되는 다수의 작업으로 분할될 수 있다. 예를 들어, 상이한 컴퓨팅 장치들이 각각 디지털 컴포넌트 데이터베이스(112)의 상이한 부분을 분석하여 요청(108)에 포함된 정보와 일치하는 배포 파라미터들을 갖는 다양한 디지털 콘텐츠를 식별할 수 있다.
DCDS(110)는 다수의 컴퓨팅 장치의 세트로부터 수신된 결과를 집계하고 집계된 결과와 관련된 정보를 사용하여 요청(108)에 응답하여 제공될 디지털 콘텐츠의 하나 이상의 인스턴스를 선택한다. 이어서, DCDS(110)는 네트워크(102)를 통해, 사용자 장치(106)가 디지털 콘텐츠의 선택된 세트를 주어진 전자 문서에 통합할 수 있게 하는 응답 데이터(114)(예를 들어, 응답을 나타내는 디지털 데이터)를 생성하고 전송할 수 있어 디지털 콘텐츠의 선택된 세트 및 전자 문서의 콘텐츠가 사용자 장치(106)의 디스플레이에서 함께 제시되게 된다.
DCDS(110)는 사용자 장치(106)의 소프트웨어(107)로부터의 요청(108)을 전자 문서 서버(104)와 같은 데이터 소스에 전달할 수 있고 응답(114)을 전자 문서 서버(104)로부터 사용자 장치(106)의 소프트웨어(107)에 전달할 수 있다. 예를 들어, DCDS(110)는 전자 문서 서버(104)와 사용자 장치(106) 및/또는 사용자 장치(106)에서 실행되는 소프트웨어(107)와의 사이에서 중개자 역할을 한다.
무작위 코호트 생성기(121)(RCX 생성기)는 전자 문서 서버(104)가 무작위 코호트(여기서 설명하는 개인 정보 보호 모니터링/집계 메커니즘)을 생성할 수 있게 한다. 본 문서에서 무작위 코호트는 무작위 코호트 식별자와 무작위 코호트 타임스탬프를 갖는 개인 정보 보호 모니터링 메커니즘의 특정 형식을 나타낸다. 무작위 코호트는 소프트웨어(107)와 같은 애플리케이션 또는 사용자 장치(106)와 같은 장치로부터의 초기 제3자 요청에 응답하여 생성되며, 식별자(즉, 무작위 코호트 식별자) 및 타임스탬프(즉, 무작위 코호트 타임스탬프)를 포함한다. 예를 들어, 무작위 코호트는 rcx(rcx.id, rcx.timestamp)로 표현되는 데이터일 수 있으며, 여기서 rcx는 무작위 코호트를 나타내고, rcx.id는 무작위 코호트 식별자를 나타내고, rcx.timestamp는 타임스탬프를 나타낸다. 무작위 코호트는 초기 요청이 수신된 소프트웨어(107) 또는 사용자 장치(106)에 할당된다. 설명의 단순화를 위해, 이 예에서는 브라우저(107)로부터의 초기 요청에 응답하여 무작위 코호트가 생성된다. 다른 예에서, 특정 사용자 장치(106)로부터의 초기 요청에 응답하여 무작위 코호트가 생성될 수 있다.
무작위 코호트 생성기(121)는 도메인과 관련되기 때문에, 각 생성기(121)에 의해 생성된 무작위 코호트는 도메인 범위일 수 있으며, 이는 무작위 코호트 데이터가 무작위 코호트 생성기(121) 및/또는 전자 문서 서버(104)가 관련되는 도메인 내에서 사용되고, 무작위 코호트가 다른 도메인 또는 서버에 제공되거나 이와 공유되지 않음을 의미한다.
초기 요청은 전자 문서 서버(104)로부터의 전자 문서(105)에 대한 요청일 수 있다. 이 초기 요청은 전자 문서 서버(104)에서 요청된 콘텐츠와 함께 디스플레이를 위해 제공될 수 있는 디지털 컴포넌트와 같은 콘텐츠를 제공하는 제3자 서버(150)로부터의 콘텐츠 아이템에 대한 요청일 수 있다.
무작위 코호트 식별자는 전자 문서 서버(104)에 초기 요청을 또한 제공한 다른 사용자 장치(106)에서 실행되는 다수의 다른 브라우저(107)에도 할당되는 무작위로 선택되거나 구성된 식별자이다. 예를 들어, 무작위 코호트 식별자는 기존 식별자 세트로부터 선택되거나 브라우저(107)로부터의 초기 요청에 응답하여 생성된 무작위로 생성된 64비트 식별자일 수 있다. 무작위 코호트 식별자가 할당되는 다른 애플리케이션(107)의 수는 사용자들에게 보장되는 미리 결정된 임계값 레벨의 개인 정보 보호에 기초한다. 예를 들어, 전자 문서 서버(104)는 k-익명성의 보장을 구현할 수 있으며, 이는 각각의 무작위 코호트 식별자가 상이한 사용자 장치(106)들 상에서 동작하는 적어도 k개의 브라우저(107)에 할당된다는 것을 의미한다. 각각의 전자 문서 서버(104)는 보장을 위해 k를 독립적으로 선택할 수 있다. 일부 예들에서, 각각의 전자 문서 서버(104)는 동일한 레벨의 k-익명성을 보장한다.
무작위 코호트 타임스탬프는 무작위 코호트 식별자가 요청되고/되거나 요청(108)에 대한 응답으로 소프트웨어(107)에 할당되는 시간을 나타낸다. 예를 들어, 무작위 코호트 타임스탬프는 요청(108)이 무작위 코호트 생성기(121)에 의해 수신된 시간을 나타낼 수 있다. 다른 예에서, 무작위 코호트 타임스탬프는 요청(108)에 대한 응답으로 무작위 코호트 식별자가 선택된 시간을 나타낼 수 있다. 다른 예에서, 무작위 코호트 타임스탬프는 무작위 코호트 식별자는 요청(108)에 대한 응답으로 소프트웨어(107)에 할당된 시간을 나타낼 수 있다. 이러한 액션들 중 하나 이상이 동시에 수행될 수 있고, 따라서 무작위 코호트 타임스탬프는 이러한 액션 중 하나 이상이 수행되는 시간을 나타낼 수 있다. 무작위 코호트 식별자는 k-익명성을 유지하기 위해 적어도 k개의 브라우저(107)에 할당되기 때문에(즉, k=3000에 대해 3,000개의 다른 브라우저(107)에 할당), 무작위 코호트 타임스탬프와 무작위 코호트 식별자의 조합은 고유 식별자로서 역할을 한다. 무작위 코호트를 제공할 때 개인 정보를 보호하기 위해, 무작위 코호트 생성기(121)는 또한 무작위 코호트 타임스탬프를 익명화하여 무작위 코호트가 속하는 연령 버킷을 나타내는 파라미터를 생성할 수 있다. 연령 버킷은 무작위 코호트의 연령이 속하는 일반화된 연령 값 범위를 나타내지만, 무작위 코호트가 할당된 브라우저(107)를 고유하게 식별하는 데 사용될 수 없다. 예를 들어, 무작위 코호트 생성기(121)는 무작위 코호트의 연령을 결정하기 위해 현재 시간과 무작위 코호트 타임스탬프 사이의 차이를 결정할 수 있다. 그 후, 무작위 코호트 생성기(121)는 그 다음 다른 파라미터들 중에서 k값 및 k-익명성을 유지하는 데 필요한 연령 범위 또는 연령 범위와 같은 정보에 기초하여 연령 버킷에 대한 값을 생성할 수 있다.
무작위 코호트 식별자 및 무작위 코호트 타임스탬프를 포함하는 무작위 코호트에 추가하여, 무작위 코호트 생성기(121)는 무작위 코호트의 유효성을 입증하는 데 사용될 수 있는 인증서를 생성한다. 예를 들어, 무작위 코호트 생성기(121)는 전자 문서 서버(104)에 의해 서명된 공개 검증 키를 포함하는 인증서를 생성할 수 있다. 전자 문서 서버(104)는 또한 공개/개인 키 쌍을 생성할 수 있다. 인증서 생성 프로세스 및 검증 프로세스는 아래에서 더 자세히 설명한다.
무작위 코호트 식별자 및 무작위 코호트 타임스탬프 모두를 포함하는 무작위 코호트는 고유한 식별뿐만 아니라 익명성을 허용하는 유연한 개인 정보 보호 모니터링 메커니즘이다. 아래에서 더 자세히 설명되는 바와 같이, 인증서는 브라우저(107)가 무작위 코호트의 유효성을 입증할 때 브라우저(107)를 고유하게 식별하는 데 사용될 수 있다. 예를 들어, 브라우저(107)는 검증 목적을 위해, 무작위 코호트 생성기(121)에 의해 제공된 인증서를 검증 시스템에 전송할 수 있다.
일부 구현에서, 브라우저(107)가 저장된 사용자 장치(106)에 저장될 발행 도메인 또는 전자 문서 서버(104)에 의해 무작위 코호트 이외의 메타데이터가 제공되지 않는다. 이러한 추가 제한은 수집 및 저장되는 데이터의 양을 줄이고 수집되지 않아 특정 사용자 또는 무작위 코호트 식별자에 링크될 수 없는 특정 유형의 사용자 데이터를 손상시킬 가능성을 제거함으로써 사용자 개인 정보를 더욱 향상시킨다.
분석기(123)가 사용자 웹 활동을 모니터링하기 위해 무작위 코호트 데이터를 분석한다. 분석기(123)는 분석기(123)가 관련된 전자 문서 서버(104)로부터 데이터에 대한 요청과 함께 무작위 코호트 식별자 및 무작위 코호트 데이터를 수신할 수 있고, 수신된 무작위 코호트 식별자 및 무작위 코호트 데이터를 사용하여 보안 기능을 수행할 수 있다. 예를 들어, 분석기(123)는 무작위 코호트 식별자 및 무작위 코호트 데이터에 기초하여, 시스템 또는 전자 문서 서버(104)로부터 콘텐츠의 특정 유형의 사기 활동 또는 전자 문서 서버(104)로부터 조정된 남용을 검출할 수 있다. 도 1에 도시된 바와 같이, 각각의 전자 문서 서버(104)는 자신의 필요에 맞춰진 별도의 분석기(123)를 가질 수 있다. 일부 예에서, 전자 문서 서버(104)는 원격 또는 개별 분석 서버 또는 서비스로서 구현될 수 있는 중앙 분석기(123)를 공유할 수 있다.
시스템(100)은 사용자 장치(106) 또는 브라우저(107)의 사용자가 사용을 위해 선택할 수 있는 하나 이상의 제3자 독립 검증 서비스를 포함한다. 제3자 독립 검증 서비스는 위에서 설명한 전자 문서 서버(104) 및 아래에서 설명하는 신뢰 도메인 서버(140)와 같은 발행 서비스에 의해 할당된 무작위 코호트의 개인 정보 특성을 독립적으로 검증한다. 무작위 코호트의 개인 정보 특성에 대한 독립적인 검증은 사용자의 선택 사항이며 아래에서 더 자세히 설명한다.
검증 서버(130)는 전자 문서 서버(104)와 독립적으로, 무작위 코호트 식별자 와 무작위 코호트 식별자 및 무작위 코호트 파라미터의 쌍의 통계적 특성의 검증을 수행하는 서버이다. 검증 서버(130)는 무작위 코호트를 발행하지 않고 무작위 코호트 데이터 모니터링에 참여하지 않거나 무작위 코호트 데이터를 모니터링 및/또는 분석하는 전자 문서 서버(104)와 같은 서버들과 인터랙션하지 않는 독립적인 서버로서 역할을 한다. 검증 서버(130)는 사용자로 하여금 전자 문서 서버(104)와 같은 발행 서버가 특정 무작위 코호트에 대해 보장된 개인 정보 레벨을 유지하고 있는지 검증할 수 있게 한다. 사용자에게 독립적인 서비스를 통해 발행 도메인에 참여하여 개인 정보가 유지되고 있음을 확인할 수 있는 기회를 제공함으로써 시스템(100)은 사용자 신뢰를 장려하고 사용자 경험을 개선한다. 또한, 이는 사용자들로 하여금 특정 발행 도메인이 규정을 준수하는지 여부를 파악할 수 있게 하고, 발행 도메인들에 책임지게 할 수 있으므로 모든 사용자들을 위한 경험을 개선할 수 있다.
신뢰 도메인 서버(140)는 전자 문서 서버(104)와 독립적이며, 요청(108)에 응답하여 소프트웨어(107)에 무작위 코호트를 발행할 수 있는 서버이다. 신뢰 도메인 서버(140)는 전역 범위인 무작위 코호트를 발행하며, 이는 무작위 코호트가 상이한 도메인들로부터 요청 서버에 제공될 수 있고, 전자 문서 서버(104)에 의해 생성된 도메인 범위 무작위 코호트와 같은 특정 도메인 내에서 사용하는 것으로 제한되지 않는다. 신뢰 도메인 서버(140)는 무작위 코호트의 중앙 소스로서 역할을 하며, 생성 및 할당된 각 무작위 코호트에 대해 하나 이상의 개인 정보 보호 레벨을 보장한다. 일부 구현에서, 신뢰 도메인 서버(140)는 전자 문서 서버(104)와 분리되어 있고, 전자 문서 서버(104) 중 어느 것과도 정보를 공유하지 않으며, 콘텐츠를 제공하거나 호스팅하지 않는다. 예를 들어, 신뢰 도메인 서버(140)는 콘텐츠 배포 프로세스에 참여하지 않고 시스템(100) 사용자들의 개인 정보를 유지하기 위해 무작위 코호트를 생성하고 할당하기 위해서만 시스템(100)에 관여된다.
무작위 코호트 생성기(142)(RCX 생성기)는 전술한 바와 같이 무작위 코호트 생성기(121)와 유사하게 동작하지만 전자 문서 서버 대신 신뢰 도메인 서버(140)와 관련되는 생성기이다.
도 2는 개인 정보 보호 모니터링 메커니즘을 발행하고 구현하기 위한 예시적인 프로세스(200)의 데이터 흐름도이다. 아래에 설명된 바와 같이, 무작위 코호트를 지원하는 도메인은 특정의 검증 가능한 k-익명성 특성을 보존하는 방식으로 무작위 코호트를 사용자에게 할당하는 것이 요구된다. 프로세스(200)의 동작은 예를 들어 전자 문서 서버(104), 사용자 장치(106), 검증 서버(130), 신뢰 도메인 서버(140), 및/또는 제3자 서버(150)에 의해 구현될 수 있다. 프로세스(200)의 동작은 또한 비일시적일 수 있는 하나 이상의 컴퓨터 판독 가능 매체에 저장되는 명령어로서 구현될 수 있고, 하나 이상의 데이터 처리 장치에 의한 명령의 실행은 하나 이상의 데이터 처리 장치가 프로세스(200)의 동작을 수행하게 할 수 있다.
도 1과 관련하여 위에서 논의된 바와 같이. DCDS(110)는 사용자 장치(106)로부터 전자 문서 서버(104)로 요청(108)을 전달하고 전자 문서 서버(104)로부터 사용자 장치(106)로 응답(114)을 전달하는 중개자로서 역할을 할 수 있다. 이 특정 예에서, DCDS(110)는 사용자 장치(106)와 전자 문서 서버(104)간에 데이터를 전송할 수 있지만 데이터 흐름에는 도시되어 있지 않다.
프로세스(200)는 단계(A-1)에서 시작되며, 이 단계에서 사용자 장치(106)가 콘텐츠에 대한 요청을 전자 문서 서버(104)에 제공한다. 예를 들어, 소프트웨어(107)는 특정 웹 페이지와 같은 콘텐츠에 대한 특정 네트워크 도메인과 관련된 전자 문서 서버(104)에 요청을 제공한다. 소프트웨어(107)는 웹 페이지 외에 추가적으로 디지털 컴포넌트와 같은 제3자 콘텐츠에 대한 요청을 제공할 수 있다. 예를 들어, 소프트웨어(107)는 제3자 서버(140)에 요청을 제공할 수 있다. 단계(A-1)의 요청은 콘텐츠 또는 디지털 컴포넌트에 대한 요청인 사용자 장치(106)로부터의 요청일 수 있다. 이 요청은 전자 문서 서버(104) 또는 제3자 서버(140)에 제공될 수 있다. 이 특정 예에서, 요청 1로 표기된 요청은 전자 문서 서버(104)에 제공된다.
요청 1은 소프트웨어(107)로부터의 초기 요청이다. 초기 요청은 소프트웨어(107)가 전자 문서 서버(104)에 요청을 이전에 발행하지 않았으며, 소프트웨어(107)가 이전에 무작위 코호트를 발행하지 않았으며, 및/또는 이전에 발행된 무작위 코호트가 만료되었거나, 소프트웨어(107)와 관련된 사용자에 의해 재설정되었거나, 그렇지 않으면 유효하지 않음을 나타낸다. 예를 들어, 요청 1은 소프트웨어(107)가 전자 문서 서버(104)에 요청을 이전에 발행하지 않았으며, 따라서 전자 문서 서버(104)가 소프트웨어(107)에 무작위 코호트를 발행 및 할당해야 함을 나타낼 수 있다. 일부 구현에서, 시스템(100)이 신뢰 도메인 서버(140)와 같은 단일의 중앙 발행 엔티티를 사용하면, 단계(A-2)가 발생하며, 여기서 요청 1을 나타내는 데이터가 전자 문서 서버(104)로부터 신뢰 도메인 서버(140)로 전달된다. 시스템(100)이 전자 문서 서버(104)와 같은 별도의 발행 엔티티를 사용하면, 단계 (A-2)는 발생하지 않는다. 이 특정 예에서, 시스템(100)이 별도의 발행 엔티티를 사용하기 때문에 단계(A-2)는 발생하지 않는다. 다른 예 및 구현에서, 시스템(100)이 별도의 발행 엔티티를 사용하더라도 단계(A-2)가 발생할 수 있다.
프로세스(200)는 단계(B)로 계속되며, 이 단계에서 무작위 코호트 생성기는 요청 1을 나타내는 데이터 수신에 응답하여 무작위 코호트(201)를 생성/구성하고, 무작위 코호트를 요청을 행하는 사용자 장치(106) 또는 소프트웨어(107)에 할당한다.
시스템(100)이 신뢰 도메인 서버(140)와 같은 단일의 중앙 발행 엔티티를 사용하는 경우, 무작위 코호트 생성기(142)는 요청 1을 나타내는 데이터를 수신함에 응답하여 무작위 코호트를 생성함으로써 단계(B)를 수행한다. 시스템(100)이 전자 문서 서버(104)와 같은 별도의 발행 엔티티를 사용하는 경우, 무작위 코호트 생성기(121)는 요청 1을 나타내는 데이터를 수신함에 응답하여 무작위 코호트를 생성함으로써 단계 B를 수행한다. 이 특정 예에서, 단계 B는 무작위 코호트 생성기(121)에 의해 수행되는 것으로 설명된다. 다른 예들 및 구현들에서, 단계 B는 예를 들어 시스템(100)이 신뢰 도메인 서버(140)와 같은 단일의 중앙 발행 엔티티를 사용하는 경우 무작위 코호트 생성기(142)에 의해 수행될 수 있다.
무작위 코호트 생성기(121)는 무작위로 선택된 식별자 및 타임스탬프에 기초하여 각각의 무작위 코호트를 생성한다. 식별자는 무작위로 생성될 수 있거나, 시스템(100)이 상이한 사용자 장치(106) 또는 상이한 사용자 장치(106)에서 실행되는 충분한 양의 상이한 브라우저(107)를 가질 때, 식별자는 이미 사용 중인 기존 식별자들 중에서 선택될 수 있다. 이 특정 예에서, 무작위 코호트 생성기(121)는 무작위 코호트 식별자로서 64비트 식별자를 선택한다.
무작위 코호트 식별자에 적용되는 k-익명성의 개념은 각각의 무작위 코호트 식별자가 적어도 k개의 브라우저(107)에 할당되는 것을 보장한다. 예를 들어, k개의 상이한 브라우저(107)들이 k개의 상이한 사용자에 대응하는 k개의 상이한 사용자들을 보장하기 위한 프록시 메트릭으로 사용될 수 있다. 각각의 발행 도메인은 그것이 발행하는 무작위 코호트에 대해 특정한 k를 보장하여, 무작위 코호트 식별자 각각이 상이한 사용자 장치들(106)에서 실행되는 적어도 k개의 브라우저(107)에 할당되도록 한다. 이러한 레벨의 개인 정보를 보장하기 위해, 발행 도메인은 발행되는 각각의 무작위 코호트 식별자의 수를 추적하고 브라우저(107)들을 이미 할당된 특정 무작위 코호트 식별자와 관련시켜야 한다. 할당 프로세스 동안, 브라우저들(107)은 특정 무작위 코호트 식별자에 할당된 브라우저들(107)의 클러스터에 할당될 수 있다. 예를 들어, 무작위 코호트 생성기(121)는 요청 1이 수신된 브라우저(107)를 특정 무작위 코호트 식별자와 관련된 브라우저들(107)의 클러스터에 무작위로 할당할 수 있다.
각각의 발행 도메인은 식별자의 균일하게 분포되는(또는 균일하게 분포되는 임계값 내에서) 할당 프로세스를 수행한다. 예를 들어, 무작위 코호트 생성기(121)는 이미 생성되어 브라우저(107)와 관련된 무작위 코호트 식별자 세트 중 하나에 브라우저(107)를 무작위로 할당할 수 있다. 사용자에 대한 k-익명성 보장을 유지하기 위해, 무작위 코호트 생성기(121)는 상이한 무작위 코호트 식별자의 수를 브라우저의 수와 균형을 맞춘다. 예를 들어, 무작위 코호트 생성기(121)는 콘텐츠에 대한 요청을 각각의 전자 문서 서버(104)에 제공하는 예상 및 현재 브라우저(107)의 수에 기초하여 할당되는 상이한 무작위 코호트 식별자의 수의 균형을 맞출 수 있다. 일 예에서, 무작위 코호트 생성기(121)는 콘텐츠에 대한 요청을 전자 문서 서버(104)에 제공하는 예상 브라우저(107)에 기초하여 상이한 무작위 코호트 식별자의 임계 수를 생성 또는 수신하고, 콘텐츠에 대한 요청을 전자 문서(104)에 제공하는 상이한 브라우저(107)로부터의 실제의 현재 트래픽 양에 기초하여 상이한 무작위 코호트 식별자의 임계 수를 조정할 수 있다. 예를 들어, 무작위 코호트 생성기(121)는 상이한 브라우저(107)의 수에서의 변화의 수 또는 속도에서의 증가에 기초하여 자신의 도메인과 관련된 상이한 무작위 코호트 식별자의 수를 증가시킬 수 있다. 다른 예에서 시스템(100)의 초기화에서 무작위 코호트 생성기(121)는 개별 사용자 장치(106)에서 실행되는 상이한 브라우저들(107)로부터 다수의 요청을 수신하고, k-익명성을 보장하기 위해 k개의 브라우저(107)의 클러스터를 특정 무작위 코호트 식별자에 무작위로 할당할 수 있다.
k-익명성을 보장하기 위해, 도메인은 통계적 인수(arguments)가 의미가 있고 익명화 효과를 제공하기에 충분한 양의 트래픽을 가짐으로써, 특정 무작위 코호트 식별자가 서로 다른 사용자 장치들에서 실행되는 k개의 서로 다른 브라우저들에 할당되도록 해야 한다. 시스템(100)은 웹 활동 레벨에 대한 임계값을 설정 및 조정함으로써 시스템이 충분한 양의 트래픽을 갖도록 보장하고, 도메인이 검증 가능한 무작위 코호트 개인 정보 특성이 검증가능하도록 하기에 충분한 양의 트래픽을 유지하도록 보장할 수 있다.
무작위 코호트가 생성되어 브라우저(107)에 할당되면, 무작위 코호트는 만료 시간을 가질 수 있다. 예를 들어, 무작위 코호트는 미리 결정된 기간 후 또는 사용자가 무작위 코호트를 재설정하거나 지울 때까지 만료될 수 있다. 일부 예에서, 무작위 코호트는 브라우저(107)의 사용자에 의해 지정된 기간, 브라우저(107)의 디폴트 설정, 발행 도메인, 브라우저의 사용자의 웹 활동(사용자의 습관 또는 이 사용자와 유사한 브라우징 습관을 갖는 사용자의 습관)에 기초하여 브라우저(107)에 의해 결정된 기간 후에 만료될 수 있다. 예를 들어 사용자가 정기적인 일정에 따라 발행 도메인과 관련된 무작위 코호트를 자주 삭제하는 경우, 무작위 코호트의 만료 기간이 조정되어 무작위 코호트가 도메인 사용자들이 일반적으로 사용하는 것과 유사한 정기적인 일정으로 지워질 수 있다.
무작위 코호트 생성기(121)는 무작위 코호트 식별자 할당이 만료되거나 지워질 때, 이전에 사용된 무작위 코호트 식별자를 재할당할 수 있다. 예를 들어, 무작위 코호트 생성기(121)는 이전에 만료된 무작위 코호트 식별자를 포함하는 이용가능한 무작위 코호트 식별자의 목록을 사용하여 무작위 코호트 식별자를 브라우저(107)에 무작위로 할당하거나, 시스템의 요구에 기초하여 무작위 코호트 식별자를 무작위로 생성할 수 있다.
일부 구현에서, 무작위 코호트 식별자는 "진부(stale)"해질 수 있다. 즉, 특정 무작위 코호트 식별자에 할당된 사용자들의 수는 사용자들이 무작위 코호트를 재설정하거나 이들의 무작위 코호트가 만료될 때 시간이 지남에 따라 저하될 수 있다. 전자 문서 서버(104)와 같은 발행 도메인은 무작위 코호트가 발행될 때 k 사용자들을 보장할 수 있지만, FC 뒤에 있는 사용자들의 수는 무작위 코호트가 만료되거나 재설정됨에 따라 감소할 수 있다. 시스템(100)은 예를 들어 k 미만의 사용자가 있는 무작위 코호트 식별자/연령 버킷에 대한 재활용 상태를 나타내는 하나 이상의 추가 상태를 서버에 저장함으로써 버킷당 사용자들의 이러한 감소에 대응할 수 있다. 추가적으로, 검증 서버(130)가 또한 특정 사용자 버킷(즉, 일정 기간 내에 특정 무작위 코호트 식별자에 할당된 사용자 버킷)에서의 활동 부족을 검출할 수 있다. 검증 서버(130)는 또한 무작위 코호트 식별자의 분포에 관한 피드백을 브라우저(107)에 제공할 수 있고 무작위 코호트 생성기(121)에 피드백을 제공할 수 있다.
또한, 무작위 코호트 생성기(121)는 도 1과 관련하여 전술한 바와 같이 무작위 코호트 식별자가 할당되거나 생성된 시간을 나타내는 타임스탬프를 생성한다. 를 들어, 소프트웨어(107)로부터 요청이 수신될 때, 무작위 코호트 생성기는 무작위 코호트 타임스탬프를 생성한다. 타임스탬프는 무작위로 선택된 식별자가 무작위코호트를 사용자들에게 무작위로 할당하는 발행 도메인에 할당된 때를 나타낸다.
브라우저(107)의 사용자들은 다른 모니터링 메커니즘이 삭제 및/또는 재설정될 수 있는 것처럼 언제든지 자신들의 브라우저(107)와 관련된 무작위 코호트를 재설정할 수 있다. 사용자가 그들의 브라우저(107)와 관련된 발행 도메인에 의해 발행된 무작위 코호트를 재설정할 때, 브라우저(107)로부터 전자 문서 서버(104)와 같은 발행 도메인에 전송되는 다음 요청이 무작위 코호트를 브라우저(104)에 할당하라는 초기 요청으로서 수신된다.
브라우저(107)에 할당된 무작위 코호트에 추가하여, 무작위 코호트 생성기(121)는 무작위 코호트 및 공개/개인 키 쌍을 포함하는 인증서를 생성한다. 무작위 코호트 생성기(121)에 의해 제공되는 이 인증서는 무작위 코호트 식별자 및 무작위 코호트 타임스탬프를 포함하는 브라우저(107)의 식별 가능한 정보를 포함한다. 무작위 코호트 생성기(121)는 인증서의 신뢰성과 브라우저(107)로의 이의 할당을 나타내는 인증서에 서명한다. 서명된 인증서는 아래에서 더 자세히 설명되는 바와 같이 검증 목적으로만 사용되며 검증 서버 이외의 도메인들에 전송되거나 이 도메인들에 의해 액세스될 수 없다. 무작위 코호트 생성기(121)는 암호 알고리즘을 사용하여 다른 사람이 알 수 있는 공개 키와 브라우저(107) 외에는 절대 알 수 없는 개인 키를 생성한다. 공개/개인 키 쌍은 입증을 위해 사용되거나 무작위 코호트를 포함하는 서명된 인증서를 제공하는 브라우저(107)의 신원을 입증하는 데 사용된다. 특히, 공개 키는 요청 엔티티에 제공되고, 브라우저(107)는 인증서가 할당되었음을 암호적으로 입증하기 위해 개인 키를 사용할 수 있다. 또한, 인증서는 공개/개인 키 쌍을 사용하여 암호화될 수 있다.
검증 서버(130)는 인증서 상의 서명이 유효한지 검증한다. 예를 들어, examplecoolvideoplatform.com이 인증서를 발행했다면 검증 서버(130)는 examplecoolvideoplatform.com의 공개 키를 검색하고 인증서의 서명이 유효한지 검증할 것이다. 키는 예를 들어 공개 키 기반 구조(PKI)와 같은 기술을 통해 배포될 수 있으며 인증서를 생성한 무작위 코호트 생성기(121)와 관련된 전자 문서 서버(104)에 의해 배포될 필요가 없다. 그런 다음, 검증 서버(130)는 챌린지를 생성하여 브라우저(107)에 전송한다. 예를 들어, 챌린지는 검증 서버(130)에 알려진 난수 또는 일부 변수일 수 있다. 그 후, 브라우저(107)는 자신의 개인 키를 사용하여 챌린지에 서명하고, 그 서명을 검증 서버(130)에 리턴할 수 있다. 그러면 검증 서버(130)는 서명된 인증서에 공개된 공개 검증 키를 사용하여 서명이 유효한지 검증할 수 있다.
프로세스(200)는 단계(C)로 계속되며, 이 단계에서 전자 문서 서버(104)가 무작위 코호트, 서명된 인증서, 공개/개인 키 쌍, 및 요청에 대한 응답을 브라우저(107)에 제공한다. 일부 구현에서, 전자 문서 서버(104)는 무작위 코호트, 서명된 인증서, 공개/개인 키 쌍, 및 요청에 대한 응답 각각을 동시에 브라우저(107)에 제공한다. 다른 구현에서, 전자 문서 서버(104)는 무작위 코호트 중 하나 이상을 제공한다. 서명된 인증서, 공개/개인 키 쌍, 및 요청에 대한 응답중 하나 이상을 브라우저(107)에 개별적으로 제공한다. 일부 구현에서, 개인/공개 키 쌍은 PKI와 같은 표준 기술을 통해 배포된다. 위에서 설명된 바와 같이, 프로세스(200)의 특정 단계들은 전자 문서 서버(104)에 의해 수행된다. 예를 들어, 단계 C는 신뢰 도메인 서버(140)에 의해 수행될 수 있다.
프로세스(200)는 단계(D)로 계속되며, 이 단계에서 브라우저(107)가 무작위 코호트 데이터와 함께 전자 문서 서버(104)에 후속 요청을 제공한다. 후속 요청은 초기 요청과 형식이 동일할 수 있으며 요청이 초기 요청에 후속됨을 나타내는 추가 정보를 제공할 필요가 없다. 브라우저(107)는 브라우저(107)가 할당된 무작위 코호트와 관련된 도메인에 요청이 제공되고 있음을 검출하고 무작위 코호트 데이터를 제공하여 전자 문서 서버(104)에 요청이 후속 요청임을 표시한다. 무작위 코호트 데이터는 전자 문서 서버(104)와 관련된 도메인이 이전에 가능했던 것보다 더 큰 정도로 브라우저 사용자의 개인 정보를 보호하면서 도메인 내에서 서로 다른 브라우저들의 활동을 모니터링할 수 있게 한다.
브라우저(107)는 전자 문서 서버(104)와 관련된 도메인에 대한 할당된 무작위 코호트 식별자 및 도메인에 대한 무작위 코호트의 모호한 연령을 나타내는 데이터를 포함하는 무작위 코호트 데이터를 제공한다. 구체적으로, 브라우저(107)는 브라우저(107)의 특정 신원를 모호하게 하기 위해 무작위 코호트 타임스탬프 대신에 제공될 무작위 코호트 연령 버킷을 생성한다. 예를 들어, 브라우저(107)는 함수 RCX.AgeBucketFn()를 사용하여 무작위 코호트 연령 버킷을 계산한다. 이 함수는 예를 들어 log2(currentTime - randomized cohort.Timestamp)와 같은 버킷 함수일 수 있으며, 여기서 currentTime은 현재 시간을 나타내고, randomized cohort.Timestamp는 무작위 코호트 타임스탬프를 나타낸다.
브라우저(107)가 후속 요청과 함께 무작위 코호트 식별자 및 무작위 코호트 타임스탬프 모두를 제공하기 때문에, 발행 도메인(이 예에서, 발행 도메인의 전자 문서 서버(104))은 k-익명성 보장을 충족하기 위해 무작위 코호트 식별자 및 무작위 코호트 연령 버킷의 각 쌍에 할당된 적어도 k 수의 사용자 또는 브라우저들(107)의 사용자 프록시들이 있다는 것을 보장하는데 책임이 있다. 일부 구현에서, 발행 도메인은 무작위 코호트 식별자 및 무작위 코호트 식별자와 무작위 코호트 타임스탬프 쌍에 대해 상이한 레벨의 k-익명성을 보장할 수 있다.
선택적으로, 브라우저(107)의 사용자는 브라우저(107)에 할당된 무작위 코호트의 통계적 및/또는 개인 정보 특성을 검증하도록 선택할 수 있다. 검증될 무작위 코호트의 발행 도메인이 아닌 임의의 제3자(예컨대, 전자 문서 서버(104) 또는 신뢰 도메인 서버(140))는 검증 서버(130)를 유지할 수 있고, 사용자들은 그들의 브라우저(107)를 임의의 검증 서버(130)로 안내하도록 선택할 수 있다. 일부 구현에서, 전자 문서 서버(104)는 다른 도메인과 관련된 다른 전자 문서 서버(104)에 의해 발행된 무작위 코호트의 통계 및/또는 개인 정보 특성을 검증하기 위해 검증 서버(130)를 유지할 수 있다. 일부 구현에서, 브라우저(107)는 사용자의 지시 없이 자동으로 검증 서버(130)로부터 검증을 요청할 수 있다. 예를 들어, 시스템(100)은 참여 브라우저(107)가 무작위로 선택된 적격한 검증 서버(130)로부터 검증을 주기적으로 요청하도록 요구할 수 있다. 일부 구현에서, 브라우저(107)는 사용자에 의해 지시되지 않는 한 검증을 요청하지 않는다.
프로세스(200)는 소프트웨어(107)가 검증 서버(130)에 인증서를 제공하는 단계 E로 계속된다. 예를 들어, 브라우저(107)는 단계(B)에서 무작위 코호트 생성기(121)에 의해 생성된 인증서를 검증 서버(130)에 제공한다. 브라우저(107)는 또한 입증을 위한 검증 서버의 공개 키를 제공할 수 있다. 일부 구현에서, 브라우저(107)는 무작위 코호트 연령을 모호하게 하지 않는 인증서 대신에 무작위 코호트 식별자 및 무작위 코호트 연령 버킷과 같은 무작위 코호트 정보를 제공한다.
프로세스(200)는 단계(F)로 계속되며, 이 단계에서 검증 서버(130)가 브라우저(107)에 의해 제공되는 무작위 코호트 데이터의 통계적 및/또는 개인 정보 특성을 검증하는 검증 프로세스를 수행한다.
검증 서버(130)는 검증 서버(130)가 액세스하는 무작위 코호트 식별자들의 세트가 균일하게 분포되어 있는지를 검증한다. 예를 들어, 검증 서버(130)는 무작위 코호트 식별자 및/또는 무작위 코호트 연령 버킷을 결정하기 위해 인증서를 사용할 수 있다. 검증 서버(130)는 그 다음, 무작위 코호트 식별자 및/또는 무작위 코호트 연령 버킷을 검증 서버가 액세스하는 무작위 코호트 식별자 및/또는 무작위 코호트 연령 버킷의 목록과 비교하여 적절한 범위 내에서 서로 다른 무작위 코호트 식별자 각각에 할당된 서로 다른 사용자 장치들에서 동작하는 브라우저의 수가 균일하게 분포되거나 균일하게 분포되어야 하는 임계 거리 내에 있는지 여부를 결정할 수 있다. 위에서 논의한 바와 같이, 그 범위는 특정 도메인 내에 있거나 참여 도메인의 네트워크 내에서 전역적으로 있을 수 있다. 예를 들어, 검증 서버(130)는 자신의 검증 서비스에 참여하는 브라우저(107)로부터 수신한 무작위 코호트 식별자 및 무작위 코호트 버킷 쌍의 목록을 유지할 수 있다. 그 다음, 검증 서버(130)는 특정 연령 버킷 및/또는 도메인 내의 서로 다른 무작위 코호트 식별자들 각각에 할당된 서로 다른 사용자 장치들 상에서 동작하는 브라우저들의 수가 정상적으로 분포되는지를 결정할 수 있다. 일부 구현에서, 검증 서버(130)는 특정 도메인 내의 상이한 무작위 코호트 식별자 각각에 할당된 상이한 사용자 장치들 상에서 동작하는 상이한 브라우저들의 수가 동일한 연령 버킷 내에 있어야 한다는 추가 요구사항 없이 정상적으로 분포되는지를 결정한다.
브라우저(107)는 특정 시간 간격으로 검증 서버(130)와 같은 검증 서비스로부터 검증을 자동으로 요청할 수 있다. 예를 들어, 브라우저(107)는 전자 문서 서버(104)가 k-익명성 보장 책임을 준수하고 사용자에게 약속한 개인 정보 레벨을 전달하고 있는지 확인하기 위해 매주 검증 서버(130)로부터 검증을 요청할 수 있다.
선택적으로, 무작위 코호트가 전역 범위이고 각 도메인에 의해 할당되지 않는 콘텐츠 전달 프로세스 동안, 브라우저(107)가 콘텐츠를 요청하는 전자 문서 서버(104)는 브라우저(107)로부터 초기 요청에 응답하는 입증 요청을 포함할 수 있다.
그러한 무작위 코호트는 전자 문서 서버(104)가 관련되어 있는 도메인에 관계없이 브라우저(107)에 의해 각각의 요청에 따라 각각의 전자 문서 서버(104)에 제공될 것이다. 전역 범위의 무작위 코호트를 사용하면 더 추적 가능한 엔트로피를 생성하는 방식으로 도메인들에 걸친 무작위 코호트들을 결합하기 위해 악의적인 도메인들이 공모하는 것을 방지하여, 도메인들 간의 공모로 인해 사용자 개인 정보를 손상시킬 위험을 줄인다. 그러나, 전역 범위의 무작위 코호트들은 전역적으로 읽을 수 있으므로 재생 공격과 같은 전술로 인한 남용 가능성이 제거되지 않는다. 예를 들어, 악의적인 행위자는 도메인에 대한 트래픽을 구매하고, 무작위 코호트들(무작위 코호트 식별자 및 무작위 코호트 타임스탬프를 포함함)을 수집한 다음 관찰된 배포물을 사용하여 다른 도메인을 공격할 수 있다. 무작위 코호트들을 생성한 엔티티는 전자 문서 서버(104) 또는 제3자 서버(150)와 같은 콘텐츠가 요청되는 서버와 별개이고 독립적이기 때문에 콘텐츠가 요청되는 서버는 무작위 코호트 식별자 및 무작위 코호트 타임스탬프를 제공하는 브라우저(107)가 신뢰 도메인 서버(140)와 같은 신뢰 서버로부터 무작위 코호트를 실제로 할당받았는지를 검증하기 위한 입증 단계를 수행할 수 있어야 한다.
입증 요청은 브라우저(107)가 브라우저(107)에 의한 콘텐츠 요청과 함께 전자 문서 서버(104)에 제공된 무작위 코호트 식별자 및 무작위 코호트 버킷이 신뢰 도메인 서버(140)와 같은 신뢰 서버에 의해 브라우저(107)에 실제로 할당되었는지 여부를 결정하도록 검증 서버(130)에 요청을 행해야 함을 지정할 수 있다. 예를 들어, 전자 문서 서버(104)는 인증 서버(130)에게 브라우저(107)가 인증서 및 관련된 무작위 코호트 정보가 신뢰 도메인 서버(140)와 같은 신뢰 서버에 의해 할당된 브라우저(107)로서의 자신의 신원을 증명할 것을 요청할 수 있다. 검증 서버(130)는 특정 인증서가 특정 브라우저(107)에 할당되었음을 입증하는 무작위 코호트 생성기(121)에 의해 제공 및 서명된 인증서와는 다른 익명화된 인증서를 생성함으로써 이 입증 프로세스를 용이하게 할 수 있다. 이 프로세스는 각 도메인이 브라우저(104)에 무작위 코호트를 발행하도록 무작위 코호트가 각 도메인에 대해 국부적으로 범위가 지정된 경우에는 관련이 없으며, 따라서 브라우저(107)가 무작위 코호트 생성기(121)에 의해 발행된 서명된 인증서에 기초하여 무작위 코호트를 할당한 브라우저인지 여부를 결정할 수 있을 것이다. 예를 들어, 전자 문서 서버(104)와 관련된 무작위 코호트 생성기(121)가 무작위 코호트를 생성한 경우, 무작위 코호트와 관련하여 혹은 단계 B와 관련하여 위에서 설명한 것처럼 생성된 공개/개인 키 쌍을 사용한 공개키 암호화의 사용을 통해 자신이 수신하는 인증서에서 그 자신의 서명을 검증할 수 있을 것이다.
하나의 예시적인 예에서, 사용자는 브라우저(107)를 사용하여 ExampleNewsWebsite.com에 액세스한다. 사용자는 ExampleVideoHostingPlatform.com에서 특정 비디오로 링크되는 기사를 읽는다. 이 예에서, 브라우저(107)는 이전에 신뢰 도메인 서버(140)로부터 무작위 코호트 및 인증서를 할당받았고, 따라서 브라우저(107)는 특정 비디오에 대한 요청을 전자 문서 서버(104)와 관련된 ExampleVideoHostingPlatform.com에 전송한다. 이 요청에서, 브라우저(107)는 할당된 무작위 코호트 식별자 및 무작위 코호트 연령 버킷을 포함한다.
신뢰 서버에 의해 브라우저(107)에 할당된 전역 범위의 무작위 코호트가 전자 문서 서버(104)와 관련된 무작위 코호트 생성기(121)에 의해 생성되지 않았기 때문에, ExampleVideoHostingPlatform.com은 브라우저(107)가 자신의 신원을 입증하고 이 요청을 확인 서버(130)에 전달하여 완료할 것을 요청할 수 있다. 전자 문서 서버(104)는 브라우저(107)에 비밀 X를 제공한다. 비밀은 임의의 값을 가질 수 있고, 예를 들어 무작위로 생성된 16비트 값일 수 있다. 브라우저(107)는 검증 서버(130)가 입증 프로세스를 수행할 것을 요청하기 위해 비밀 X 및 무작위 코호트 생성기(142)에 의해 제공된 인증서를 검증 서버(130)에 제공한다. 브라우저(107)는 비밀 X가 브라우저(107)에 링크되는 것을 방지하기 위해 검증 서버(130)로부터 X의 값을 블라인드할 수 있다. 예를 들어, 브라우저(107)는 부분 블라인드 서명 방식을 사용하여 검증 서버(130)로부터 X를 블라인드할 수 있다. 그런 다음, 검증 서버(130)는 브라우저(107)의 인증서와 블라인드 비밀 X를 수신하고, 인증서를 기반으로 무작위 코호트 식별자와 무작위 코호트 연령 버킷을 나타내는 익명 인증서를 생성한다. 그런 다음 검증 서버(130)는 이 익명화된 인증서에 서명하고 서명된 익명화된 인증서 및 X를 입증 요청을 발행한 전자 문서 서버(104)에 리턴한다. 전자 문서 서버(104)는 검증 서버(130)로부터의 서명된 익명화된 인증서 내의 무작위 코호트 정보를 전자 문서 서버(104)가 브라우저(107)로부터 수신한 무작위 코호트 식별자 및 무작위 코호트 버킷과 비교할 수 있다. 정보가 일치하면, 브라우저(107)는 성공적으로 자신의 신원이 입증된 브라우저는 신뢰 도메인 서버(140)가 전자 문서 서버(104)에 제공된 무작위 코호트 정보를 할당한 브라우저를 갖는다.
일부 구현에서, 다수의 검증 서버(130)가 협력 및/또는 자원을 공유하는 경우 보다 강건한 검증 프로세스가 수행될 수 있다. 예를 들어, 검증 서버(130)는 특정 연령 버킷 내의 무작위 코호트 식별자의 수가 참여 브라우저 및 도메인의 전체 모집단(population)을 더 잘 나타내는 더 큰 개체수의 맥락에서 예컨대 전자 문서 서버(104)에 의해 제공되고, 준수하는 것으로 간주되도록 시스템(100)에 의해 지정되는 k-익명성 보장을 준수하는지 여부를 결정할 수 있다. 검증 서버(130)는 예를 들어, 모든 검증 서버에 걸쳐 수신된 인증서와 함께 제공된 고유 공개 키의 총 수를 계산할 수 있고, 이를 통해 사용자가 동일한 무작위 코호트 식별자를 갖는 대략 k 이상의 사용자가 있다는 것을 검증할 수 있게 한다.
다른 예시적인 구현에서, 전자 문서 서버(104)는 비밀 X 대신 브라우저(107)에 고유한 추적 URL을 리턴할 수 있다. 브라우저(107)는 고유한 추적 URL을 따라갈 수 있고 서명된 익명화된 인증서를 검증 서버(130)로부터 고유한 추적 URL의 목적지에 게시할 수 있다.
독립적인 검증 서버들(130)은 무작위 코호트의 전체 모집단의 특정 통계적 특성이 충족되고 개인 정보 보장이 대규모로 유지되고 있음을 나타내기 위해 협력할 수 있다. 서로 다른 사용자들을 나타내는 서로 다른 사용자 장치들에서 실행되는 브라우저의 수의 특성 및 규모로 인해, 검증 서버(130)는 정확성 또는 합법성에 대한 공식적인 입증이 아니라 도용(spoof)하기 어려운 체크 포인트 형태로 보호 레벨을 제공한다.
일부 예들에서, 악의적인 발행자는 무작위 코호트 식별자의 비트들의 서브세트를 사용하여 사용자에 대한 민감한 데이터를 인코딩하거나 그렇지 않으면 은폐 방식으로 정보를 임베딩할 수 있다. 시스템(100)은 비트 레벨에서 균일성 검사를 수행하여 무작위 코호트 식별자를 검사하고 무작위 코호트 식별자가 균일하게 선택되고 분포되는지 여부를 결정할 수 있다. 예를 들어, 검증 서버(130)는 마스크를 무작위로 생성하고, 모든 무작위 코호트 식별자로 비트 AND 연산을 수행하고, 재집계할 수 있다. 무작위 코호트 식별자가 균일하게 선택되고 할당된 경우, 결과 역시 모든 마스크에 대해 균일해야 한다. 일부 구현에서, 검증 서버(130)는 각 사용자에 대해 이전에 할당된 무작위 코호트 식별자를 기억하고 시간에 따른 비트 레벨 상관관계에 대해 테스트한다. 일부 구현들에서, 검증 서버(130)는 상이한 사용자 장치들(106) 상에서 실행되는 2개 이상의 브라우저들(107)이 동일한 무작위 코호트 식별자에 일관되게 할당되지 않는다는 것을 보장하기 위해 테스트를 수행한다.
프로세스(200)는 단계(G)로 계속되며, 이 단계에서 검증 서버(130)가 검증 프로세스의 결과를 브라우저(107)에 제공한다. 검증 서버(130)는 무작위 코호트 식별자 및 무작위 코호트 연령 버킷의 통계적 및/또는 개인 정보 특성을 처리되지 않은 수들의 관점에서 브라우저(107) 제공할 수 있다. 예를 들어, 검증 서버(130)는 무작위 코호트 식별자 할당의 분포 또는 상이한 사용자 장치 상에서 실행되는 상이한 무작위 코호트 브라우저의 수를 무작위 코호트 식별자와 관련된 브라우저(107)에 제공할 수 있다. 그 후, 브라우저(107)는 무작위 코호트 식별자 할당의 처리되지 않은 수의 분포를 균일 분포로부터의 임계 편차와 비교하거나 혹은 무작위 코호트 식별자와 관련된 브라우저(107)의 상이한 사용자 장치들에서 실행되는 상이한 무작위 코호트 브라우저의 수를 k-익명성을 보장하기 위해 무작위 코호트 식별자와 관련되어야만 하는 상이한 사용자 장치들에서 실행되는 상이한 브라우저들의 임계수 k와 비교할 수 있다. 브라우저(107)는 하나 이상의 임계값이 충족되지 않은 경우 브라우저(107)의 사용자에게 표시를 제공할 수 있다. 예를 들어, 무작위 코호트 식별자와 관련된 브라우저(107)에 대해 상이한 사용자 장치에서 실행되는 상이한 무작위 코호트 브라우저의 수가 상이한 사용자 장치에서 실행되는 상이한 브라우저의 임계 수 k를 충족하지 않는 경우, 브라우저(107)는 임계값이 충족되지 않았음을 사용자에게 표시하기 위해 시각적 메시지를 디스플레이하거나, 오디오를 플레이하거나, 진동을 생성하는 등의 동작을 할 수 있다.
사용자에게 독립적으로 검증 가능한 레벨의 개인 정보를 제공하는 모니터링 메커니즘을 제공하는 이점에 더하여, 무작위 코호트는 시스템의 콘텐츠 제공자와 호스트에 대한 보호를 제공한다. 콘텐츠 배포 시스템의 하나의 남용 벡터는 참여 통계의 조작이다. 예를 들어, 콘텐츠 제공자가 인터랙션당 지불하는 방식(예컨대, 클릭당 지불 시스템)에서, 사용자는 콘텐츠 제공자로부터 요구되는 지불을 늘리기 위해 특정 콘텐츠 아이템을 클릭하도록 인센티브를 받을 수 있다. 또한, 비디오 콘텐츠 플랫폼에서, 사용자들은 사기성 조회를 제공하여 특정 비디오의 인기를 인위적으로 높임으로써 비디오 콘텐츠 추천 시스템의 조작을 조정하기 위해 공모할 수 있다. 무작위 코호트는 이러한 남용을 검출할 수 있는 모니터링 메커니즘을 제공한다.
사용자 관점에서, 무작위 코호트는 전통적인 모니터링 메커니즘과 유사하게 기능하면서도 더 높은 레벨의 개인 정보를 제공한다. 따라서, 개인 정보 보호 모니터링 메커니즘을 위한 상기 설명된 시스템은 사용자 경험에 대한 변경을 거의 또는 전혀 필요로 하지 않으면서 개인 정보를 개선하고 사용자 정보가 손상될 확률을 줄인다.
무작위 코호트는 사용자 개인 정보를 보장하기 위한 통계적 논증의 사용에 의존하고, 사용자 개인 정보를 침해함이 없이 남용 검출을 수행할 목적으로 훨씬 더 많은 양의 엔트로피를 이용한다. k-익명성 컨텍스트에서 k=1인 경우, 무작위 코호트는 쿠키와 같은 기존 추적 메커니즘과 동일한 레벨의 남용 검출을 제공한다. k가 증가함에 따라 무작위 코호트는 증가하는 개인 정보 레벨을 사용자에게 제공하면서 남용 검출에 유용함을 유지한다. 또한 무작위 코호트는 무작위 코호트가 지역적으로 범위가 지정되고 무작위 코호트를 발행한 도메인에 의해 사용이 제한되는 제1자 컨텍스트에서 신뢰가 표명(assertion)될 필요가 없다.
브라우저(107)가 무작위 코호트 정보를 전자 문서 서버(104)에 제공했으면, 전자 문서 서버(104)는 시스템(100)의 남용을 검출하기 위해 통계 분석과 같은 보안 기능을 수행할 수 있다. 예를 들어, 무작위 코호트가 특정 도메인에 대해 지역 범위이고 무작위 코호트가 전역 범위일 때 특정 전자 문서 서버(104)의 각 분석기(123)는 분석기(123)가 관련되어 있는 전자 문서 서버(104)에 의해 지정된 통계 분석을 수행할 수 있다.
전자 문서 서버(104)는 상기 설명된 모니터링 메커니즘, 무작위 코호트의 사용을 통해 사용자 개인 정보를 보존하는 방식으로 참여 남용으로부터 그의 도메인을 보호할 수 있다. 시스템은 k-익명성(k는 조정 가능함)을 보장하기 때문에, 무작위 코호트의 사용은 현재 가능한 것보다 높은 레벨의 개인 정보 보호 레벨을 유지하는 참여 남용으로부터 보호의 연속체를 제공하는 시스템을 제공한다.
전자 문서 서버(104)의 분석기(123)는 무작위 코호트 정보의 사용을 통해 익명화된 사용자 웹 활동을 모니터링하고 무작위 코호트 식별자의 분포 및 무작위 코호트 식별자와 관련된 활동의 통계적 특성에 기초하여 참여 남용 또는 공모의 징후를 검출한다. 예를 들어, 분석기(123)는 특정 무작위 코호트 식별자 및/또는 연령 버킷과 관련된 사용자 그룹으로부터의 불규칙한 자원 요청 또는 비정상적인 활동과 같은 통계적 이상점(outlier)행동을 검출할 수 있다.
주어진 참여 도메인에 대해, 무작위 코호트 식별자당 클릭 수는 균일하게 분포되어야 한다. 클릭 수가 균일하지 않으면 비정상적인 활동을 나타낼 수 있다. 예를 들어, 무작위 코호트 식별자와 관련된 클릭 수의 임계값 편차보다 큰 편차 또는 하나 이상의 무작위 코호트와 관련된 일정 기간 동안의 활동 스파이크(편차의 양 또는 속도)는 학대를 나타낼 수 있는 비정상적인 활동을 통계적으로 나타낼 수 있다. 분석기(123)는 예를 들어 악의적인 활동으로 인한 위험 및 잠재적 손상과 비교하여 활동 및 도메인 자원에 대한 영향에 대한 위험 비율과 같은 메트릭을 통해 통계적으로 비정상적인 활동을 검증하기 위한 통계적 테스트를 결정할 수 있다.
분석기(123)는 무작위 코호트 식별자와 조합하여 수신된 무작위 코호트 연령 버킷에 대한 연령 분포를 계산할 수 있고, 예를 들어 알려진 전역 배경 분포에 대해 이상을 테스트할 수 있다. 예를 들어, 분석기(123)는 임계 연령 값 미만의 무작위 코호트 연령 버킷 값을 갖는 브라우저로부터의 활동량이 임계치 이하인 것을 검출하고 비정상적인 활동량이 있다고 결정할 수 있다.
분석기(123)는 위장 방지 알고리즘을 사용하여 사기 검출를 수행함으로써 악의적인 사용자들의 코호트들을 포함하는 협력 공격을 검출할 수 있고 검출할 수 없는 사기에 대한 입증 가능한 한계를 사용하여 사기의 효율성에 대한 상한을 제공한다. 예를 들어, 분석기(123)는 2개 이상의 무작위 코호트 식별자/무작위 코호트 연령 버킷 쌍이 일부 시간 창에 걸쳐 롱테일 웹사이트의 동일한 세트를 방문할 확률을 제한할 수 있다. 다른 예에서, 분석기(123)는 사용자와 웹사이트 사이에 이분 그래프를 구성한 다음, 조화 방식으로 행동하는 사용자들의 클러스터들에 대응하는 이분클리크(제1 세트의 모든 정점이 제2 세트의 모든 정점에 연결되는 특정 종류의 이분 그래프)를 찾으려 시도할 수 있다.
분석기(123)는 한 명 이상의 사용자를 추적할 목적으로 사기적으로 생성된 엔트로피를 검출할 수 있다. 예를 들어, 악의적인 행위자는 다른 k-1 브라우저들(107)이 봇(bots)인 무작위 코호트 식별자에 단일 브라우저(107)를 할당하려 고 시도할 수 있다. 그러나, 전자 문서 서버(104)는 무작위 방식으로 사용자들에게 무작위 코호트 식별자들을 할당하며, 따라서 이러한 성질의 공격은 공격자가 서버 액세스를 획득하지 않고는 이 공격을 성사시키기 어려울 것이다. 악의적이거나 손상된 도메인 전자 문서 서버(104)는 브라우저(107)와 관련된 다수의 사용자들에게 이러한 사기를 범할 수 있지만 악의적인 도메인이 검증 서버(130)와 같은 독립적인 검증 서버에 의한 검출를 회피하면서 의미 있는 규모의 공격을 실행하는 것은 어려울 것이다. 도메인들이 식별된 무작위 코호트 식별자로부터의 남용을 방지할 수 있도록 참여 도메인들에 대한 전자 문서 서버(104)에 그러한 무작위 코호트 식별자/연령 버킷 쌍의 통지를 제공하는 것 외에도, 그러한 규모의 공격은 검증 서버(130)가 남용 검출 및 방지를 수행하도록 함으로써 효과적으로 저지될 수 있고, 검증 서버(130)가 일정 기간 동안 봇넷에 할당된 무작위 코호트를 검출 및 차단하거나 제거할 수 있게 한다.
분석기(123)가 통계적으로 비정상적인 행동을 검출할 때, 분석기(123)는 특정 사용자들이 특정 전자 문서 서버(104)로부터 자원들을 요청하거나 혹은 일반적으로 일정 기간 동안 자원를 요청하는 것을 방지하기 위해 제한을 설정하거나 조정할 수 있다. 예를 들어, 분석기(123)는 특정 무작위 코호트 식별자/무작위 코호트 버킷 쌍이 전자 문서 서버(104)에 제공되고 있고 지난 5분 내에 비정상적인 양의 활동과 관련되어 있다는 것을 검출할 수 있고, 특정 무작위 코호트 식별자/무작위 코호트 연령 버킷이 전자 문서 서버(104)로부터 자원을 요청하는 것을 방지할 수 있다. 따라서, 시스템(100)은 사기 행위를 조장하는 데 사용되는 자원의 양을 줄일 수 있다. 그러나, 무작위 코호트가 독립적인 도메인 범위의 무작위 코호트인 경우, 각 검증 서버(130)는 그 특정 검증 서버(130)를 그들의 독립적인 검증 서비스로 사용하기로 선택한 사용자들의 무작위 코호트 식별자 및 무작위 코호트 연령 버킷에만 액세스할 수 있다. 일부 구현에서, 무작위 코호트가 도메인인지 또는 전역 범위인지에 관계없이, 검증 서버들(130)은 브라우저(107)에 통계적으로 의미 있는 결과를 제공하기 위해 무작위 코호트의 임계량에 액세스를 갖도록 다른 검증 서버(130)와 연합되고 그룹화된다.
무작위 코호트가 전역 범위일 때, 분석기(123)는 신뢰 도메인 서버(140)와 통신하여, 참여 도메인들에 걸친 남용을 모니터링하고 방지하도록 다른 전자 문서 서버들(104)에 통신될 수 있는 전역 범위의 무작위 코호트 식별자/무작위 코호트 연령 버킷 쌍과 관련된 의심되는 사기 또는 비정상적인 활동을 식별할 수 있다.
도 3a 및 3b는 상이한 도메인에 걸쳐 수행되는 웹 활동에 걸쳐 사용되는 개인 정보 보호 모니터링 메커니즘을 발행 및 구현하기 위한 예시적인 프로세스(300 및 350)를 예시하는 스윔 레인 다이어그램이다. 프로세스(300 및 350)의 동작은 예를 들어 사용자 장치(106) 및/또는 소프트웨어(107), 전자 문서 서버(104), DCDS(110), 검증 서버(130), 신뢰 도메인 서버(140), 및/또는 제3자 서버(150)에 의해 구현될 수 있다. 프로세스(300 및 350)의 동작은 또한 비일시적일 수 있는 하나 이상의 컴퓨터 판독 가능 매체에 저장된 명령어들로서 구현될 수 있으며, 하나 이상의 데이터 처리 장치에 의한 명령어들의 실행은 하나 이상의 데이터 처리 장치로 하여금 프로세스(300 및 350)의 동작을 수행하게 할 수 있다.
이제 도 3a를 참조하면, 프로세스(300)는 단계(1)로 시작되며, 이 단계에서 소프트웨어(107)로부터의 초기 요청이 전자 문서 서버(104)에 제공된다. 일부 예에서, 이 요청은 도 3a에 도시되지 않은 DCDS(110)을 통해 전자 문서 서버에 전달될 수 있다. 예를 들어, ExampleImageHostingPlatform 네트워크 도메인과 관련된 ExampleImageHostingPlatform.com은 이미지에 대한 브라우저(107)로부터의 요청을 수신할 수 있다. 이 예에서 브라우저(107)는 ExampleImageHostingPlatform의 전자 문서 서버(104)로부터 무작위 코호트를 할당받지 않았고, 그러므로 요청은 초기 요청이다. 다른 예에서, 브라우저(107)가 ExampleImageHostingPlatform의 전자 문서 서버(104)로부터 무작위 코호트를 이전에 할당받았지만 무작위 코호트가 만료되었거나 브라우저(107)의 사용자에 의해 지워진 경우, 요청은 또한 초기 요청으로 간주된다.
프로세스(300)는 단계(2)로 계속되며, 이 단계에서 전자 문서 서버(104)가 무작위 코호트 식별자, 무작위 코호트 타임스탬프, 서명된 인증서, 및 공개/개인 키 쌍을 포함하는 무작위 코호트를 생성하고 무작위 코호트를 소프트웨어(107)에 할당한다. 예를 들어, 전자 문서 서버(104)의 무작위 코호트 생성기(121)는 도 2와 관련하여 위에서 설명한 바와 같이 무작위 코호트, 서명된 인증서, 및 공개/개인 키 쌍을 생성하고 무작위 코호트를 브라우저(107)에 할당할 수 있다. 전술한 바와 같이, 전자 문서 서버(104)는 특정 네트워크 도메인과 관련되어 있다.
프로세스(300)는 단계(3)으로 계속되며, 이 단계에서 전자 문서 서버(104)는 도 2와 관련하여 위에서 설명된 바와 같이 무작위 코호트 식별자, 무작위 코호트 타임스탬프, 서명된 인증서 및 공개/개인 키 쌍을 포함하는 요청된 콘텐츠 및 무작위 코호트를 갖는 응답을 소프트웨어(107)에 제공한다. 예를 들어, 전자 문서 서버(104)는 요청된 이미지, 무작위 코호트, 서명된 인증서 및 공개/개인 키 쌍을 포함하는 응답을 브라우저(107)에 전송할 수 있다.
프로세스(300)는 단계(4)로 계속되며, 이 단계에서 소프트웨어(107)가 소프트웨어(107)에 대해 이전에 무작위 코호트를 발행한 전자 문서 서버(104)에 후속 요청을 제공한다. 소프트웨어(107)는 요청과 함께 무작위 코호트 식별자 및 연령 버킷을 포함한다. 예를 들어, 도메인 ExampleImageHostingPlatform.com에 대한 전자 문서 서버(104)는 제2 이미지에 대한 브라우저(107)로부터의 요청뿐만 아니라 할당된 무작위 코호트 식별자 및 무작위 코호트 연령 버킷을 수신할 수 있다.
선택적으로, 소프트웨어(107)의 사용자는 단계(5, 6 및 7)와 관련하여 설명된 바와 같이 소프트웨어(107)와 관련된 무작위 코호트 식별자의 개인 정보 및/또는 통계적 특성을 독립적으로 검증하기 위해 검증 서버를 선택할 수 있다.
프로세스(300)는 단계(5)로 계속되며, 이 단계에서 소프트웨어(107)가 검증 서버(130)에 인증서를 제공한다. 예를 들어, 브라우저(107)는 무작위 코호트 생성기(121)에 의해 생성된 서명된 인증서를 검증 서버(130)에 제공할 수 있다.
프로세스(300)는 단계(6)로 계속되며, 이 단계에서 검증 서버(130)가 인증서에 기초하여 검증 프로세스를 수행한다. 예를 들어, 검증 서버(130)는 인증서에 제공된 무작위 코호트 식별자의 통계적 및/또는 개인 정보 보호 특성을 결정하기 위해 인증서에 기초하여 검증 프로세스를 수행할 수 있다.
선택적으로, 검증 서버(130)는 또한, 제공된 무작위 코호트 식별자가 인증서를 제공하는 소프트웨어(107)에 할당되었는지를 결정하기 위해 검증 프로세스를 수행하기 전에 제공된 인증서를 인증할 수도 있다. 예를 들어, 검증 서버(130)는 제공된 무작위 코호트 식별자가 인증서를 제공하고 있는 브라우저(107)에 할당되었는지를 결정하기 위해 공개/개인 키 쌍을 사용할 수 있다.
프로세스(300)는 단계(7)로 계속되며, 이 단계에서 검증 서버(130)가 검증 프로세스의 결과를 소프트웨어(107)에 제공한다. 예를 들어, 검증 서버(130)는 처리되지 않은 수들을 브라우저(107)에 출력하거나, 통계적으로 비정상적이거나 사기 행위가 검출되었는지 여부 또는 보장된 개인 정보 레벨이 브라우저(107)에 대해 보존되었는지 여부를 결정하기 위해 통계적 분석 및 임계값과의 비교 결과를 출력할 수 있다.
이제, 도 3b를 참조하면, 상이한 도메인들에 걸쳐 수행되는 웹 활동에 걸쳐 사용되는 개인 정보 보호 모니터링 메커니즘을 발행 및 구현하기 위한 프로세스(350)는 별도의 전자 문서 서버들(104) 대신 중앙 신뢰 도메인 서버(140)에 의해 수행된다. 신뢰 도메인 서버(140)에 의해 발행된 무작위 코호트는 전역 범위이다. 프로세스(350)는 단계(1)로 시작되며, 이 단계에서 소프트웨어(107)로부터의 초기 요청이 전자 문서 서버(104)에 제공된다. 일부 예들에서, 이 요청은 도 3b에 도시되지 않은 DCDS(110)를 통해 전자 문서 서버(104)로 전달될 수 있다.
프로세스(350)는 단계(2)로 계속되며, 이 단계에서 전자 문서 서버(104)가 요청 정보를 신뢰 도메인 서버(140)에 전달한다. 예를 들어, 전자 문서 서버(104)는 자신의 도메인, ExampleTextandImageHostingPlatform.com으로부터 여러 라인의 텍스트에 대한 요청을 수신할 수 있다. 이 예에서, 브라우저(107)는 무작위 코호트를 할당받지 않았고, 전자 문서 서버(104)에 제공하지 않으며, 따라서 요청은 초기 요청이다.
프로세스(350)는 단계(3)으로 계속되며, 이 단계에서 신뢰 도메인 서버(140)가 무작위 코호트 식별자, 무작위 코호트 타임스탬프, 인증서, 및 공개/개인 키 쌍을 포함하는 무작위 코호트를 생성하고, 소프트웨어(107)에 무작위 코호트를 할당한다. 예를 들어, 신뢰 도메인 서버(140)의 무작위 코호트 생성기(142)는 도 2와 관련하여 위에서 설명된 바와 같이 무작위 코호트, 서명된 인증서, 및 공개/개인 키 쌍을 생성하고, 브라우저(107)에 무작위 코호트를 할당할 수 있다. 위에서 설명된 바와 같이, 신뢰 도메인 서버(140)는 하나의 특정 네트워크 도메인과 관련되지 않고, 다른 도메인에 걸쳐 사용될 수 있는 전역 범위의 무작위 코호트를 생성한다.
프로세스(350)는 단계(4a)로 계속되며, 이 단계에서 전자 문서 서버(104)가 소프트웨어(107)에 대한 응답을 제공한다. 예를 들어, 전자 문서 서버(104)는 요청된 텍스트를 포함하는 응답을 브라우저(107)에 전송할 수 있다.
프로세스(350)는 단계(4b)로 계속되고, 이 단계에서 신뢰 도메인 서버(140)는 무작위 코호트 식별자, 무작위 코호트 타임스탬프, 인증서, 및 공개/개인 키 쌍을 포함하는 무작위 코호트를 소프트웨어(107)에 제공한다. 예를 들어, 신뢰 도메인 서버(140)는 무작위 코호트, 서명된 인증서, 및 공개/개인 키 쌍을 브라우저(107)에 전송할 수 있다.
일부 구현에서, 단계(4a 및 4b)는 동시에 발생한다. 일부 구현에서, 단계(4a 및 4b)는 비동기적으로 발생한다.
프로세스(350)는 단계(5)로 계속되며, 이 단계에서 소프트웨어(107)가 전자 문서 서버(104)에 후속 요청을 제공한다. 예를 들어, 도메인 ExampleTextandImageHostingPlatform.com에 대한 전자 문서 서버(104)는 이미지에 대한 브라우저(107)로부터의 요청 뿐만 아니라 할당된 무작위 코호트 식별자 및 무작위 코호트 연령 버킷을 수신할 수 있다.
선택적으로, 소프트웨어(107)의 사용자는 단계(6, 7 및 8)와 관련하여 설명된 바와 같이 소프트웨어(107)와 관련된 무작위 코호트 식별자의 개인 정보 및/또는 통계적 특성을 독립적으로 검증하기 위해 검증 서버를 선택할 수 있다.
프로세스(350)는 단계(6)로 계속되며, 이 단계에서 소프트웨어(107)가 검증 서버(130)에 인증서를 제공한다. 예를 들어, 브라우저(107)는 무작위 코호트 생성기(142)에 의해 생성된 서명된 인증서를 검증 서버(130)에 제공할 수 있다.
프로세스(350)는 단계(7)로 계속되며, 이 단계에서 검증 서버(130)가 인증서에 기초하여 검증 프로세스를 수행한다. 예를 들어, 검증 서버(130)는 인증서에 제공된 무작위 코호트 식별자의 통계적 및/또는 개인 정보 보호 특성을 결정하기 위해 인증서에 기초하여 검증 프로세스를 수행할 수 있다.
선택적으로, 검증 서버(130)는 또한, 제공된 무작위 코호트 식별자가 인증서를 제공하는 소프트웨어(107)에 할당되었는지를 결정하기 위해 검증 프로세스를 수행하기 전에 제공된 인증서를 인증할 수 있다. 예를 들어, 검증 서버(130)는 제공된 무작위 코호트 식별자가 인증서를 제공하는 브라우저(107)에 할당되었는지를 결정하기 위해 공개/개인 키 쌍을 사용할 수 있다. 이러한 프로토콜은 검증 서버(130)가 위조 또는 도난된 인증서를 가지고 브라우저(107)로부터의 통계를 고려하는 것을 방지하여, 수집된 통계 활동 데이터의 강건성을 개선하고 사기성 사용을 위해 선택되는 자원들을 줄인다.
프로세스(350)는 단계(8)로 계속되며, 이 단계에서 검증 서버(130)가 검증 프로세스의 결과를 소프트웨어(107)에 제공한다. 예를 들어, 검증 서버(130)는 처리되지 않은 수들을 브라우저(107)에 출력하거나, 통계적으로 비정상적이거나 사기성 활동이 검출되었는지 여부 또는 보장된 개인 정보 레벨이 브라우저(107)에 대해 보존되었는지 여부를 결정하기 위해 통계적 분석 및 임계값들과의 비교의 결과를 출력할 수 있다.
도 4는 개인 정보 보호 모니터링 메커니즘을 발행하고 구현하기 위한 예시적인 프로세스(400)를 도시하는 흐름도이다. 프로세스(400)의 동작들은 예를 들어 사용자 장치(106) 및/또는 소프트웨어(107), 전자 문서 서버(104), DCDS(110), 검증 서버(130), 신뢰 도메인 서버(140), 및/또는 제3자 서버(150)에 의해 구현될 수 있다. 프로세스(400)의 동작들은 또한 비일시적일 수 있는 하나 이상의 컴퓨터 판독 가능 매체에 저장된 명령어들로서 구현될 수 있으며, 하나 이상의 데이터 처리 장치에 의한 명령어들의 실행은 하나 이상의 데이터 처리 장치로 하여금 프로세스(400)의 동작들을 수행하게 할 수 있다.
프로세스(400)는 사용자의 사용자 장치 상의 애플리케이션으로부터 도메인으로부터의 디지털 콘텐츠에 대한 요청을 수신하는 것으로 시작한다(402). 예를 들어, 전자 문서 서버(104)는 도 1, 2 및 3a와 관련하여 위에서 설명된 바와 같이 전자 문서 서버(104)와 관련된 도메인으로부터의 디지털 콘텐츠에 대한 요청을 사용자 장치(106)의 브라우저(107)로부터 수신할 수 있다.
프로세스(400)는 무작위로 선택된 식별자 및 무작위 코호트가 애플리케이션에 할당된 제1시간을 나타내는 타임스탬프에 기초하여 생성된 무작위 코호트를 제1시간에 애플리케이션에 할당하는 것으로 계속된다(404). 예를 들어, 전자 문서 서버(104)는 도 1, 2 및 3a와 관련하여 위에서 설명된 바와 같이 도메인과 관련된 지역 범위의 무작위 코호트를 브라우저(107)에 할당할 수 있다. 다른 예에서, 신뢰 도메인 서버(140)는 도 1, 2 및 3b와 관련하여 위에서 설명된 바와 같이, 사용될 수 있는 전역 범위의 무작위 코호트를 브라우저(107)에 할당할 수 있다.
프로세스(400)는 (i)무작위로 선택된 식별자 및 타임스탬프에 대응하고 고유한 공개 키로 서명된 인증서 및 (ii) 고유한 공개 키에 대응하는 고유한 개인 키를 를 제1시간에 애플리케이션에 제공하는 것으로 시작되며, 무작위로 선택된 식별자는 또한 미리 결정된 시간 기간 내에 다른 사용자 장치들에서 실행되는 다른 애플리케이션들의 적어도 임계 수에 할당된다(406). 예를 들어, 전자 문서 서버(104) 또는 신뢰 도메인 서버(140)는 브라우저(107)에 무작위 코호트 및/또는 인증서를 제공한다. 신뢰 도메인 서버(140)가 지역 범위의 무작위 코호트를 생성하면 전자 문서 서버(104) 또한 요청된 디지털 콘텐츠를 브라우저(107)에 제공한다. 신뢰 도메인 서버(140)가 전역 범위의 무작위 코호트를 생성하면 전자 문서 서버(104)는 요청된 디지털 콘텐츠를 브라우저(107)에 제공한다. 단계(406)는 도 1, 2 및 3a-3b에 관하여 위에서 설명된 바와 같이 수행될 수 있다.
일부 구현에서, 프로세스(400)는 도메인으로부터의 디지털 콘텐츠에 대한 제2 요청을 애플리케이션으로부터 수신하는 것 및 애플리케이션에 의해 제2 시간에 도메인에, 무작위로 선택된 식별자와 그리고 무작위 코호트의 연령을 포함하는 쿠키의 연령 범위를 나타내는 무작위 코호트 연령 버킷에 기초하여 생성된 모호한 식별자를 제공하는 것을 포함할 수 있으며, 무작위 코호트의 연령은 제2 시간과 제1 시간 간의 차이에 기초하여 계산된다. 예를 들어, 브라우저(107)는 도 1, 2 및 3a-3b와 관련하여 위에서 설명된 바와 같이 전자 문서 서버(104) 또는 신뢰 도메인 서버(140)에 의해 제공되는 무작위 코호트 및/또는 인증서에 기초하여 무작위 코호트 연령 버킷을 계산할 수 있다. 일부 구현에서, 모호한 식별자는 무작위로 선택된 식별자 및 무작위 코호트 연령 버킷을 포함한다. 일부 구현에서, 모호한 식별자는 무작위로 선택된 식별자 및/또는 무작위 코호트 연령 버킷으로부터 파생되는 데이터 및 파라미터를 포함한다. 예를 들어, 모호한 식별자는 승수를 적용하거나, 상수를 추가하거나, 무작위로 선택된 식별자 및/또는 무작위 코호트 연령 버킷에 일부 다른 연산 세트를 적용함으로써 파생된 파라미터를 포함할 수 있다. 모호한 식별자는 또한, 무작위로 선택된 식별자 및 무작위 코호트 연령 버킷 이외의 데이터 및 파라미터도 포함할 수 있다.
일부 구현에서, 무작위 코호트를 애플리케이션에 할당하는 것은 도메인에 의해 애플리케이션에 무작위 코호트를 할당하는 것을 포함하며, 무작위로 선택된 식별자는 도메인에 의해 다른 애플리케이션들의 적어도 임계 수에 할당되고, 무작위로 선택된 식별자는 2개 이상의 무작위로 생성된 식별자 중에서 선택된 무작위로 생성된 식별자이고, 고유 공개 키는 도메인에 의해 생성된다. 예를 들어, 전자 문서 서버(104)는 무작위 코호트를 생성하여 브라우저(107)에 할당할 수 있고 무작위 코호트 식별자가 전자 문서 서버(104)에 의해 적어도 k-1개의 다른 브라우저(107)에 할당되는 것을 보장할 수 있으며, 여기서 무작위 코호트 식별자는 2개 이상의 무작위로 생성된 식별자 중에서 선택된 것이며, 고유 공개 키는 도 1, 2 및 3a와 관련하여 위에서 설명된 바와 같이 전자 문서 서버(104)에 의해 생성된다.
일부 구현에서, 프로세스(400)는 애플리케이션에 의해 검증 시스템에 인증서를 제공하는 것, 및 검증 시스템에 의해 무작위 코호트가 적어도 임계 수의 사람들에게 할당되었음을 검증하는 것을 포함한다. 예를 들어, 검증 서버(130)는 도 1, 2, 및 3a와 관련하여 위에서 설명된 바와 같이 인증서에 표시된 무작위 코호트의 통계적 및/또는 개인 정보 특성을 결정할 수 있다.
일부 구현에서, 무작위 코호트를 애플리케이션에 할당하는 것은 중앙 서버에 의해 무작위 코호트를 애플리케이션에 할당하는 것을 포함하며, 무작위로 선택된 식별자는 다른 애플리케이션들의 적어도 임계 수에 할당되고, 무작위로 선택된 식별자는 2개 이상의 무작위로 생성된 식별자 중에서 선택된 무작위로 생성된 식별자이며, 고유 공개 키는 중앙 서버에 의해 생성된다. 예를 들어, 신뢰 도메인 서버(140)는 무작위 코호트를 생성하여 브라우저(107)에 할당할 수 있고 무작위 코호트 식별자가 적어도 k-1개의 다른 브라우저(107)에 할당되는 것을 보장할 수 있으며, 무작위 코호트 식별자는 2개 이상의 무작위로 생성된 식별자 중에서 선택되고, 고유 공개 키는 도 1, 2 및 3b와 관련하여 위에서 설명된 바와 같이 신뢰 도메인 서버(140)에 의해 생성된다.
일부 구현에서, 프로세스(400)는 제2 도메인으로부터의 디지털 콘텐츠에 대한 요청을 제공하는 것에 응답하여 제1 도메인 및 무작위 코호트와 상이한 제2 도메인으로부터의 디지털 콘텐츠에 대한 요청을 애플리케이션에 의해 제공하는 ㄱ단것과, 챌린지를 포함하는 입증 요청을 애플리케이션에 의해 그리고 제2 도메인으로부터 수신하는 것과, 그리고 애플리케이션에 의해 그리고 검증 시스템에 인증서 - 이 인증서는 검증 시스템으로 하여금 (i) 무작위로 선택된 식별자, 무작위 코호트 연령 버킷 및 챌린지를 포함하는 모호한 인증서를 생성하게 하고, (ii) 모호한 인증서에 서명하게 하고, 그리고 (iii) 블라인드 방식을 사용하여 챌린지가 검증 서버로부터 블라인드되는 제2 도메인에 모호한 인증서를 제공하게 한다 - 를 제공하는 것을 포함한다. 예를 들어, 검증 서버(130)는 도 1, 2 및 3b와 관련하여 위에서 설명된 바와 같이 입증 요청에 기초하여 익명화된 인증서를 생성할 수 있다.
일부 구현에서, 프로세스(400)는 도메인에 의해 그리고 수신된 무작위 코호트 연령 버킷에 기초하여 무작위로 선택된 식별자와 관련된 비정상 활동을 검출함과 아울러, 무작위로 선택된 식별자와 관련된 인터랙션의 수, 무작위 코호트 연령 분포, 특정 인터랙션과 관련된 확률 분포 및 특정 기간 중 적어도 하나를 검출할 수 있다. 예를 들어, 전자 서버(103)의 분석기(123)는 도 1, 2 및 3a-3b와 관련하여 위에서 설명된 바와 같이 무작위 코호트 식별자 및/또는 무작위 코호트 식별자/연령 버킷 쌍과 관련된 비정상적인 활동을 검출할 수 있다.
따라서, 본 기술은 (예를 들어, 남용 또는 사기 방지를 돕기 위해) 인터넷 활동의 추적을 허용하면서 개별 사용자 개인 정보를 개선하는 것을 돕는다. 특정 타임스탬프가 아닌 2 이상의 사용자 및 연령 버킷에 할당된 무작위 코호트 식별자의 사용은 주어진 무작위 코호트와 관련된 개별 사용자를 식별할 수 없음을 의미한다. 따라서, 사용자의 개인 정보가 향상된다. 동시에, 무작위 코호트 식별자/연령 버킷 쌍의 사용은 잠재적으로 사기를 나타내는 인터넷 활동에서의 이상을 식별하기에 충분한 통계 정보를 시간에 걸쳐 제공한다. 또한, 제3자 도메인에 의해 발행된 검증 시스템 및 챌린지의 사용을 통해, 제3자 도메인들이 개별 사용자에 관한 식별 가능한 정보를 얻을 필요 없이 무작위 코호트를 진정한 것으로 검증할 수 있다. 따라서, 본 기술은 남용 또는 사기성 인터넷 활동을 퇴치하면서 개별 사용자 개인 정보를 개선하는 데 도움이 되는 강건한 방법을 제공한다.
도 5는 위에서 설명된 동작을 수행하는 데 사용될 수 있는 예시적인 컴퓨터 시스템(500)의 블록도이다. 시스템(500)은 프로세서(510), 메모리(520), 저장 장치(530), 및 입출력 장치(540)를 포함한다. 각각의 컴포넌트(510, 520, 530, 540)는 예를 들어, 시스템 버스(550)를 사용하여 상호연결될 수 있다. 프로세서(510)는 시스템(500) 내에서 실행하기 위한 명령어들을 처리할 수 있다. 일부 구현에서, 프로세서(510)는 단일 스레드 프로세서이다. 다른 구현에서, 프로세서(510)는 다중 스레드 프로세서이다. 프로세서(510)는 메모리(520) 또는 저장 장치(530)에 저장된 명령어들을 처리할 수 있다.
메모리(520)는 시스템(500) 내에 정보를 저장한다. 일 구현에서, 메모리(520)는 컴퓨터 판독가능 매체이다. 일부 구현에서, 메모리(520)는 휘발성 메모리 유닛이다. 다른 구현에서, 메모리(520)는 비휘발성 메모리 유닛이다.
저장 장치(530)는 시스템(500)을 위한 대용량 저장 장치를 제공할 수 있다. 일부 구현에서, 저장 장치(530)는 컴퓨터 판독 가능 매체이다. 다양한 상이한 구현들에서, 저장 장치(530)는 예를 들어, 하드 디스크 장치, 광 디스크 장치, 다수의 컴퓨팅 장치들(예를 들어, 클라우드 저장 장치)에 의해 네트워크를 통해 공유되는 저장 장치, 또는 일부 다른 대용량 저장 장치를 포함할 수 있다.
입력/출력 장치(540)는 시스템(500)에 대한 입력/출력 동작을 제공한다. 일부 구현에서, 입력/출력 장치(540)는 네트워크 인터페이스 장치(예를 들어, 이더넷 카드), 직렬 통신 장치(예를 들어, RS-232 포트) 및/또는 무선 인터페이스 장치(예를 들어, 802.11 카드) 중 하나 이상을 포함할 수 있다. 다른 구현에서, 입력/출력 장치는 입력 데이터를 수신하고 출력 데이터를 외부 장치(560), 예를 들어, 키보드, 프린터 및 디스플레이 장치로 보내도록 구성된 드라이버 장치를 포함할 수 있다. 그러나, 모바일 컴퓨팅 장치, 모바일 통신 장치, 셋톱 박스 텔레비전 클라이언트 장치 등과 같은 다른 구현도 사용될 수 있다.
예시적인 프로세싱 시스템이 도 4에서 설명되었지만, 본 명세서에 기술된 주제 및 기능적 동작의 구현은 본 명세서에 개시된 구조들 및 이들의 구조적 균등물을 포함하는 다른 유형의 디지털 전자 회로, 또는 컴퓨터 소프트웨어, 펌웨어 또는 하드웨어에서 또는 이들 중 하나 이상의 조합에서 구현될 수 있다.
본 발명의 실시예들과 본 명세서에 기술된 동작들은 본 발명에 개시된 구조들 및 그들의 구조적 균등물들 또는 그들 중 하나 이상의 조합들을 포함하는 디지털 전자회로 또는 컴퓨터 소프트웨어, 펌웨어 또는 하드웨어에서 구현될 수 있다. 본 명세서에 기술된 본 발명의 실시예들은 하나 이상의 컴퓨터 프로그램들로서 구현될 수 있다. 즉, 데이터 프로세싱 장치에 의해 실행 또는 데이터 프로세싱 장치의 동작을 제어하기 위한 컴퓨터 저장매체에 인코딩된 컴퓨터 프로그램 명령어들의 하나 이상의 모듈들. 대안적으로 또는 추가로, 프로그램 명령어들은 데이터 프로세싱 장치에 의해 실행하기 위한 적절한 수신기 장치에 전송하기 위한 정보를 인코딩하기 위해생성된 인공적으로 생성된 전파된 신호 즉, 머신-생성 전기, 광학 또는 전자기적 신호에 인코딩될 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 저장 디바이스, 컴퓨터 판독가능 저장 기판, 무작위 또는 직렬 액세스 메모리 어레이 또는 디바이스 또는 그들 중 하나 이상의 조합이거나 그에 포함될 수 있다. 컴퓨터 저장 매체 또는 비일시적 컴퓨터 저장 매체는 컴퓨터 판독가능 매체로 지칭될 수 있다. 또한, 컴퓨터 저장 매체는 전파된 신호가 아니지만, 컴퓨터 저장 매체는 인공적으로 생성된 전파된 신호에 인코딩된 컴퓨터 프로그램 명령어들의 소스 또는 목적지일 수 있다. 또한, 컴퓨터 저장 매체는 하나 이상의 별개의 물리적 컴포넌트 또는 매체(예를 들면, 다수의 CD, 디스크, 플래시 드라이버 또는 다른 저장 디바이스)이거나 또는 그에 포함될 수 있다.
본 명세서에 기술된 동작들은 하나 이상의 컴퓨터 판독가능 저장 디바이스들에 저장된 또는 다른 소스들로부터 수신된 데이터에서 데이터 프로세싱 장치에 의해 수행되는 동작들로서 구현될 수 있다.
용어 "데이터 프로세싱 장치"는 예시로서 프로그래머블 프로세서, 컴퓨터, 시스템 온 칩 또는 앞서 언급된 것 중 다수의 것 또는 조합들을 포함하는 데이터를 프로세싱하기 위한 모든 종류의 장치, 디바이스 및 머신를 포함한다. 상기 장치는 특수 목적 논리 회로, 예를 들어 FPGA(field programmable gate array) 또는 ASIC(application specific integrated circuit)을 포함할 수 있다. 또한, 장치는 하드웨어 이외에 문제의 컴퓨터 프로그램에 대한 실행 환경을 생성하는 코드, 예를 들어 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 체제, 크로스-플랫폼 런타임(cross-platform runtime) 실행 환경, 가상 머신 또는 그들 중 하나 이상의 조합을 구성하는 코드를 포함할 수 있다. 장치 및 실행 환경은 웹 서비스들, 분산 컴퓨팅 및 그리드 컴퓨팅 인프라와 같은 다양한 컴퓨팅 모델 인프라를 실현할 수 있다.
컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 어플리케이션, 스크립트 또는 코드로도 알려져 있음)은 컴파일된 또는 인터프리트된 언어들, 선언적 또는 절차적 언어들을 포함하는 임의의 형태의 프로그래밍 언어로 작성될 수 있으며, 독립 실행형 프로그램으로서 또는 모듈, 컴포넌트, 서브루틴, 객체로서 또는 컴퓨팅 환경에서 사용하기에 적합한 기타 단위를 포함하는 임의의 형태로 배포될 수 있다. 컴퓨터 프로그램은 파일 시스템의 파일에 대응할 수 있지만, 반드시 그런 것은 아니다. 프로그램은 다른 프로그램들이나 데이터, 예를 들어, 마크업 언어 문서에 저장된 하나 이상의 스크립트들을 가지는 파일의 부분에, 문제되는 프로그램 전용 단일의 파일에 또는 다수의 조정된 파일들, 예를 들어, 하나 이상의 모듈들, 서브프로그램 또는 코드의 일부를 저장하는 파일들에 저장될 수 있다. 컴퓨터 프로그램은 하나의 컴퓨터 또는 하나의 사이트에 위치되어 있거나 다수의 사이트들에 걸쳐서 분산되어 있고 통신 네트워크에 의해 상호연결된 다수의 컴퓨터들에서 실행되도록 배포될 수 있다.
본 명세서에 기술된 프로세스들 및 논리 흐름들은 입력 데이터를 동작하고 출력을 생성함으로써 액션들을 수행하기 위해 하나 이상의 컴퓨터 프로그램들을 실행하는 하나 이상의 프로그래머블 프로세서들에 의해 수행될 수 있다. 프로세스들 및 논리 흐름들은 또한 FPGA 또는 ASIC와 같은 특수 목적 논리 회로에 의해 수행될 수 있고, 장치는 또한 특수 목적 논리 회로로서 구현될 수 있다.
컴퓨터 프로그램의 실행에 적절한 프로세서들은, 예시로서, 범용 및 전용 마이크로프로세서들과 임의의 종류의 디지털 컴퓨터의 임의의 하나 이상의 프로세서들을 포함한다. 일반적으로, 프로세서는 읽기-전용 메모리 또는 랜덤 액세스 메모리 또는 둘 모두로부터 명령어들 및 데이터를 수신할 것이다. 컴퓨터의 필수 엘리먼트들은 명령어들에 따라 액션들을 수행하기 위한 프로세서 및 명령어들 및 데이터를 저장하기 위한 하나 이상의 메모리 디바이스들이다. 일반적으로, 컴퓨터는 데이터를 저장하기 위한 하나 이상의 대형 저장 디바이스들 예를 들면, 자기적, 자기-광학 디스크들 또는 광학적 디스크들 또한 포함하거나 또는 그로부터 데이터를 수신하거나 그에 데이터를 전송하기 위해 동작적으로 결합될 수 있다. 그러나, 컴퓨터는 상기 디바이스들을 반드시 가져야하는 것은 아니다. 추가로, 컴퓨터는 다른 디바이스, 예를 들어, 몇 가지만 나열하면, 모바일 전화, 개인 휴대 정보 단말기(PDA), 모바일 오디오 또는 비디오 플레이어, 게임 콘솔, GPS 수신기 또는 휴대용 저장 디바이스 예를 들어, 범용 직렬 버스(USB) 플래시 드라이브에 내장될 수 있다. 컴퓨터 프로그램 명령어들 및 데이터를 저장하기에 적합한 디바이스들은 예를 들어, EPROM, EEPROM 및 플래시 메모리 디바이스들과 같은 반도체 메모리 디바이스들; 예를 들어, 내부 하드 디스크들 또는 이동식 디스크들과 같은 자기 디스크들; 및 CD-ROM 및 DVD-ROM 디스크들을 포함하는 모든 형태의 비휘발성 메모리, 매체 및 메모리 디바이스들을 포함한다. 프로세서 및 메모리는 특수 목적 논리 회로에 의해 보충되거나 그 안에 통합될 수 있다.
사용자와의 인터렉션을 제공하기 위해, 본 명세서에서 기술된 본 발명의 실시예는 사용자에게 정보를 디스플레이하기 위해 예를 들어, CRT(cathode ray tube), OLED(organic light-emitting diode) 또는 LCD(liquidcrystal display) 모니터와 같은 디스플레이 디바이스 및 사용자가 컴퓨터에 입력을 제공할 수 있는 키보드 및 포인팅 디바이스 예를 들어, 마우스 또는 트랙볼을 갖는 전자 디바이스에서 구현될 수 있다. 다른 종류의 디바이스들도 사용자와의 인터렉션을 제공하는데 사용될 수 있다. 예를 들어, 사용자에게 제공되는 피드백은 시각 피드백, 청각 피드백 또는 촉각 피드백과 같은 임의의 형태의 감각적 피드백일 수 있고, 사용자로부터의 입력은 음향, 음성 또는 촉각 입력을 포함하는 임의의 형태로 수신될 수 있다. 추가로, 컴퓨터는 사용자에 의해 사용되는 디바이스에 문서를 송수신함으로써 예를 들어, 웹브라우저로부터 수신된 요청에 응답하여, 사용자의 디바이스 상의 웹 브라우저에 웹페이지를 전송함으로써 사용자와 인터렉션할 수 있다.
본 명세서에서 기술된 발명의 실시예는 예를 들어 데이터 서버와 같은 백엔드 컴포넌트, 어플리케이션 서버와 같은 미들웨어 컴포넌트 또는 그래픽 사용자 인터페이스를 가지는 사용자 컴퓨터 또는 사용자가 본 명세서에 기술된 본 발명의 구현예와 인터렉션할 수 있는 웹브라우저와 같은 프론트엔드 컴포넌트 또는 하나 이상의 상기 백엔드, 미들웨어 또는 프론트엔드 컴포넌트의 임의의 조합을 포함하는 컴퓨팅 시스템에서 구현될 수 있다. 시스템의 컴포넌트들은 디지털 데이터 통신의 임의의 형태 또는 매체, 예를 들어 통신 네트워크에 의해 상호연결될 수 있다. 통신 네트워크들의 예는 근거리 통신망("LAN") 및 광역 통신망("WAN"), 인터-네트워크(예를 들어, 인터넷) 및 피어투피어 네트워크(예를 들어, 애드혹 피어투피어 네트워크)를 포함한다.
컴퓨팅 시스템은 사용자들 및 서버들을 포함할 수 있다. 사용자와 서버는 일반적으로 서로 멀리 떨어져 있으며, 일반적으로 통신 네트워크를 통해 인터렉션한다. 예를 들어, 사용자 디바이스는 클라이언트이고, 디지털 콘텐츠 서버 또는 디지털 컴포넌트 서버가 서버일 수 있다. '사용자 디바이스'와 '클라이언트 디바이스'라는 상호 교환적으로 사용될 수 있다. 사용자와 서버의 관계는 각각의 컴퓨터에서 실행되고 서로 사용자-서버 관계를 갖는 컴퓨터 프로그램에 의해 발생한다. 일부 실시예에서, 서버는(예를 들어, 사용자 디바이스와 인터렉션하는 사용자에게 데이터를 디스플레이하고 사용자 입력을 수신하기 위해) 사용자 디바이스에 데이터(예를 들어, HTML 페이지)를 전송한다. 사용자 디바이스에서 생성된 데이터(예를 들어, 사용자 인터렉션의 결과)는 서버에서 사용자 디바이스로부터 수신될 수 있다.
본 명세서는 많은 특정 구현 세부내용을 포함하지만, 이들은 임의의 발명의 범위 또는 청구될 수 있는 범위에 대한 제한으로서 해석되어서는 안되며, 오히려 특정한 발명의 특정한 실시예에 특정한 구성들에 대한 설명으로 해석되어야 한다. 별개의 실시예의 컨텍스트에서 본 명세서에서 기술되는 일정 구성들은 또한 단일 실시예에서 조합하여 구현될 수 있다. 반대로, 단일 실시예의 컨텍스트에서 기술된 다양한 구성들은 또한 다수의 실시예에서 개별적으로 또는 임의의 적절한 서브 조합으로 구현될 수 있다. 게다가, 구성들은 일정 조합으로 동작하고 심지어 초기적으로 그렇게 청구되는 것으로서 상기에서 기술될 수 있지만, 청구된 조합으로부터의 하나 이상의 구성들은 일부 경우, 조합으로부터 제거될 수 있고, 청구된 조합은 서브 조합 또는 서브 조합의 변형으로 안내될 수 있다.
유사하게, 동작들이 특정한 순서로 도면에서 도시되었지만, 이는 상기 동작들이 도시된 특정한 순서로 또는 시계열적 순서로 수행되어야 함을 요구하는 것으로서 또는 모든 도시된 동작들이 수행되어야 하는 것으로 이해되어서는 안된다. 특정 환경에서, 멀티태스킹과 병렬 프로세싱은 이점이 있다. 게다가, 상기 기술된 실시예에서 다양한 시스템 컴포넌트들의 분리는 모든 실시예에서 그러한 분리가 필요한 것으로서 이해되어서는 안되며, 일반적으로 기술된 프로그램 컴포넌트들 및 시스템들은 단일의 소프트웨어 제품에 함께 통합되거나 다수의 소프트웨어 제품들에 패키징될 수 있다고 이해되어야 한다.
따라서, 본 발명의 특정한 실시예들이 기술되었다. 다른 실시예들도 다음의 청구항들의 범위 내에 있다. 일부 경우에, 청구항들에서 기재된 액션들은 상이한 순서로 수행되고 여전히 원하는 결과들을 달성할 수 있다. 추가로, 첨부 도면들에 도시된 프로세스들은 원하는 결과들을 달성하기 위해 특정한 도시된 순서, 또는 시계열적 순서를 반드시 필요로 하지 않는다. 특정 구현예에서, 멀티태스킹과 병렬 프로세싱이 장점적일 수 있다.
104: 전자 문서 서버 105: 전자 문서
121: RCX 생성기 123: 분석기
106: 사용자 장치 107: 소프트웨어
108: 요청 114: 응답
102: 네트워크 110: 디지털 컴포넌트 배포 시스템
112: 디지털 컴포넌트 데이터베이스
140: 신뢰 도메인 서버 142: RCX 생성기
130: 검증 서버 150: 제3자 서버

Claims (20)

  1. 개인 정보 보호 웹 활동 모니터링 방법으로서,
    사용자의 사용자 장치상의 애플리케이션으로부터, 도메인으로부터의 디지털 콘텐츠에 대한 요청을 수신하는 단계;
    무작위로 선택된 식별자 및 타임스탬프에 기초하여 구성된 무작위 코호트(randomized cohort)를 제1시간에 상기 애플리케이션에 할당하는 단계 -상기 타임스탬프는 상기 무작위 코호트가 상기 애플리케이션에 할당된 상기 제1시간을 나타냄-; 그리고
    상기 제1시간에 그리고 상기 애플리케이션에, (i) 상기 무작위로 선택된 식별자 및 타임스탬프에 대응하는 디지털 서명된 인증서 및 (ii) 상기 인증서와 관련된 고유한 공개 키 및 대응하는 고유한 개인 키를 제공하는 단계를 포함하며,
    상기 무작위로 선택된 식별자는 또한, 상기 애플리케이션에 대한 상기 무작위 코호트의 할당의 미리 결정된 기간 내에 다른 사용자 장치들 상에서 실행되는 다른 애플리케이션들의 적어도 임계 수에 할당되는 것을 특징으로 하는 개인 정보 보호 웹 활동 모니터링 방법.
  2. 제1항에 있어서,
    상기 애플리케이션으로부터, 상기 도메인으로부터의 디지털 콘텐츠에 대한 제2 요청을 수신하는 단계와; 그리고
    상기 무작위로 선택된 식별자에 대응하는 모호한(vague) 식별자 및 무작위 코호트 연령 버킷을 제2시간에 상기 애플리케이션에 의해 상기 도메인에 제공하는 단계 -상기 무작위 코호트 연령 버킷은 상기 무작위 코호트의 연령을 포함하는 쿠키들의 연령들의 범위를 나타냄- 를 더 포함하며,
    상기 무작위 코호트의 연령은 상기 제2시간과 상기 제1시간 사이의 차이에 기초하여 계산되는 것을 특징으로 하는 개인 정보 보호 웹 활동 모니터링 방법.
  3. 제1항 또는 제2항에 있어서,
    상기 애플리케이션에 무작위 코호트를 할당하는 단계는 상기 도메인에 의해, 상기 무작위 코호트를 상기 애플리케이션에 할당하는 것을 포함하고,
    상기 무작위로 선택된 식별자는 적어도 임계 수의 다른 애플리케이션들에 할당되고,
    상기 무작위로 선택된 식별자는 2개 이상의 무작위로 생성된 식별자 중에서 선택된 무작위로 생성된 식별자이고,
    상기 고유한 공개 키는 상기 도메인에 의해 생성되는 것을 특징으로 하는 개인 정보 보호 웹 활동 모니터링 방법.
  4. 제1항 또는 제2항에 있어서,
    상기 브라우저에 무작위 코호트를 할당하는 단계는 중앙 서버에 의해 상기 무작위 코호트를 상기 애플리케이션에 할당하는 것을 포함하고,
    상기 무작위로 선택된 식별자는 상기 적어도 임계 수의 다른 애플리케이션들에 할당되고,
    상기 무작위로 선택된 식별자는 2개 이상의 무작위로 생성된 식별자 중에서 선택된 무작위로 생성된 식별자이고,
    상기 고유한 공개 키는 상기 중앙 서버에 의해 생성되는 것을 특징으로 하는 개인 정보 보호 웹 활동 모니터링 방법.
  5. 전술한 어느 항에 있어서, 상기 방법은,
    상기 애플리케이션에 의해, 상기 제1 도메인과 다른 제2 도메인으로부터의 디지털 콘텐츠에 대한 요청 및 상기 무작위 코호트를 제공하는 단계;
    상기 제2 도메인으로부터의 디지털 콘텐츠에 대한 요청을 제공하는 것에 응답하여, 상기 애플리케이션에 의해 그리고 상기 제2 도메인으로부터 챌린지(challenge)를 포함하는 입증 요청을 수신하는 단계; 그리고
    디지털 서명된 인증서를 상기 애플리케이션에 의해 검증 시스템에 제공하는 단계를 더 포함하며,
    상기 디지털 서명된 인증서는 상기 검증 시스템으로 하여금 (i) 상기 무작위로 선택된 식별자, 상기 무작위 코호트 연령 버킷 및 상기 챌린지를 포함하는 모호한 인증서를 생성하게 하고, (ii) 상기 모호한 인증서에 서명하게 하고 (iii) 상기 모호한 인증서를 상기 제2 도메인에 제공하게 하며,
    상기 챌린지는 블라인드 방식을 사용하여 상기 검증 시스템에서 블라인드되는 것을 특징으로 하는 개인 정보 보호 웹 활동 모니터링 방법.
  6. 전술한 어느 항에 있어서, 상기 방법은,
    상기 애플리케이션에 의해 상기 검증 시스템에 상기 디지털 서명된 인증서를 제공하는 단계; 그리고
    상기 검증 시스템에 의해 상기 무작위 코호트가 적어도 임계 수의 사람들에게 할당됨을 검증하는 단계를 더 포함하는 것을 특징으로 하는 개인 정보 보호 웹 활동 모니터링 방법.
  7. 제2항에 있어서, 상기 방법은,
    상기 도메인에 의해 그리고 상기 수신된 무작위 코호트 연령 버킷에 기초하여, 상기 무작위로 선택된 식별자와 관련된 비정상 활동과, 그리고 상기 무작위로 선택된 식별자와 관련된 인터랙션의 수, 무작위 코호트 연령 분포, 특정 인터랙션 및 특정 기간과 관련된 확률 분포 중 적어도 하나를 검출하는 단계를 더 포함하는 것을 특징으로 하는 개인 정보 보호 웹 활동 모니터링 방법.
  8. 시스템으로서,
    하나 이상의 프로세서; 그리고
    실행시 상기 하나 이상의 프로세서로 하여금 동작들을 수행하도록 하는 명령어들을 포함하는 하나 이상의 메모리 요소들을 포함하며, 상기 동작들은,
    사용자의 사용자 장치상의 애플리케이션으로부터, 도메인으로부터의 디지털 콘텐츠에 대한 요청을 수신하는 동작;
    무작위로 선택된 식별자 및 타임스탬프에 기초하여 구성된 무작위 코호트(randomized cohort)를 제1시간에 상기 애플리케이션에 할당하는 동작 -상기 타임스탬프는 상기 무작위 코호트가 상기 애플리케이션에 할당된 상기 제1시간을 나타냄-; 그리고
    상기 제1시간에 그리고 상기 애플리케이션에, (i) 상기 무작위로 선택된 식별자 및 타임스탬프에 대응하는 디지털 서명된 인증서 및 (ii) 상기 인증서와 관련된 고유한 공개 키 및 대응하는 고유한 개인 키를 제공하는 동작을 포함하며,
    상기 무작위로 선택된 식별자는 또한, 상기 애플리케이션에 대한 상기 무작위 코호트의 할당의 미리 결정된 기간 내에 다른 사용자 장치들 상에서 실행되는 다른 애플리케이션들의 적어도 임계 수에 할당되는 것을 특징으로 하는 시스템.
  9. 제8항에 있어서, 상기 동작들은,
    상기 애플리케이션으로부터, 상기 도메인으로부터의 디지털 콘텐츠에 대한 제2 요청을 수신하는 동작; 그리고
    상기 무작위로 선택된 식별자에 대응하는 모호한(vague) 식별자 및 무작위 코호트 연령 버킷을 제2시간에 상기 애플리케이션에 의해 상기 도메인에 제공하는 동작 -상기 무작위 코호트 연령 버킷은 상기 무작위 코호트의 연령을 포함하는 쿠키들의 연령들의 범위를 나타냄- 을 더 포함하며,
    상기 무작위 코호트의 연령은 상기 제2시간과 상기 제1시간 사이의 차이에 기초하여 계산되는 것을 특징으로 하는 시스템.
  10. 제8항 또는 제9항에 있어서,
    상기 애플리케이션에 무작위 코호트를 할당하는 동작은 상기 도메인에 의해, 상기 무작위 코호트를 상기 애플리케이션에 할당하는 것을 포함하고,
    상기 무작위로 선택된 식별자는 적어도 임계 수의 다른 애플리케이션들에 할당되고,
    상기 무작위로 선택된 식별자는 2개 이상의 무작위로 생성된 식별자 중에서 선택된 무작위로 생성된 식별자이고,
    상기 고유한 공개 키는 상기 도메인에 의해 생성되는 것을 특징으로 하는 시스템.
  11. 제8항 또는 제9항에 있어서,
    상기 브라우저에 무작위 코호트를 할당하는 동작은 중앙 서버에 의해 상기 무작위 코호트를 상기 애플리케이션에 할당하는 것을 포함하고,
    상기 무작위로 선택된 식별자는 상기 적어도 임계 수의 다른 애플리케이션들에 할당되고,
    상기 무작위로 선택된 식별자는 2개 이상의 무작위로 생성된 식별자 중에서 선택된 무작위로 생성된 식별자이고,
    상기 고유한 공개 키는 상기 중앙 서버에 의해 생성되는 것을 특징으로 하는 시스템.
  12. 전술한 어느 항에 있어서, 상기 동작들은,
    상기 애플리케이션에 의해, 상기 제1 도메인과 다른 제2 도메인으로부터의 디지털 콘텐츠에 대한 요청 및 상기 무작위 코호트를 제공하는 동작;
    상기 제2 도메인으로부터의 디지털 콘텐츠에 대한 요청을 제공하는 것에 응답하여, 상기 애플리케이션에 의해 그리고 상기 제2 도메인으로부터 챌린지(challenge)를 포함하는 입증 요청을 수신하는 동작; 그리고
    디지털 서명된 인증서를 상기 애플리케이션에 의해 검증 시스템에 제공하는 동작을 더 포함하며,
    상기 디지털 서명된 인증서는 상기 검증 시스템으로 하여금 (i) 상기 무작위로 선택된 식별자, 상기 무작위 코호트 연령 버킷 및 상기 챌린지를 포함하는 모호한 인증서를 생성하게 하고, (ii) 상기 모호한 인증서에 서명하게 하고 (iii) 상기 모호한 인증서를 상기 제2 도메인에 제공하게 하며,
    상기 챌린지는 블라인드 방식을 사용하여 상기 검증 시스템에서 블라인드되는 것을 특징으로 하는 시스템.
  13. 전술한 어느 항에 있어서, 상기 동작들은,
    상기 애플리케이션에 의해 상기 검증 시스템에 상기 디지털 서명된 인증서를 제공하는 동작; 그리고
    상기 검증 시스템에 의해 상기 무작위 코호트가 적어도 임계 수의 사람들에게 할당됨을 검증하는 동작을 더 포함하는 것을 특징으로 하는 시스템.
  14. 제9항에 있어서, 상기 동작들은,
    상기 도메인에 의해 그리고 상기 수신된 무작위 코호트 연령 버킷에 기초하여, 상기 무작위로 선택된 식별자와 관련된 비정상 활동과, 그리고 상기 무작위로 선택된 식별자와 관련된 인터랙션의 수, 무작위 코호트 연령 분포, 특정 인터랙션 및 특정 기간과 관련된 확률 분포 중 적어도 하나를 검출하는 동작을 더 포함하는 것을 특징으로 하는 시스템.
  15. 분산 컴퓨팅 시스템에 의해 실행될 때 분산 컴퓨팅 시스템으로 하여금 동작들을 수행하게 하는 명령어들이 인코딩된 비일시적 컴퓨터 저장 매체로서, 상기 동작들은,
    사용자의 사용자 장치상의 애플리케이션으로부터, 도메인으로부터의 디지털 콘텐츠에 대한 요청을 수신하는 동작;
    무작위로 선택된 식별자 및 타임스탬프에 기초하여 구성된 무작위 코호트(randomized cohort)를 제1시간에 상기 애플리케이션에 할당하는 동작 -상기 타임스탬프는 상기 무작위 코호트가 상기 애플리케이션에 할당된 상기 제1시간을 나타냄-; 그리고
    상기 제1시간에 그리고 상기 애플리케이션에, (i) 상기 무작위로 선택된 식별자 및 타임스탬프에 대응하는 디지털 서명된 인증서 및 (ii) 상기 인증서와 관련된 고유한 공개 키 및 대응하는 고유한 개인 키를 제공하는 동작을 포함하며,
    상기 무작위로 선택된 식별자는 또한, 상기 애플리케이션에 대한 상기 무작위 코호트의 할당의 미리 결정된 기간 내에 다른 사용자 장치들 상에서 실행되는 다른 애플리케이션들의 적어도 임계 수에 할당되는 것을 특징으로 하는 비일시적 컴퓨터 저장 매체.
  16. 제15항에 있어서, 상기 동작들은,
    상기 애플리케이션으로부터, 상기 도메인으로부터의 디지털 콘텐츠에 대한 제2 요청을 수신하는 동작; 그리고
    상기 무작위로 선택된 식별자에 대응하는 모호한(vague) 식별자 및 무작위 코호트 연령 버킷을 제2시간에 상기 애플리케이션에 의해 상기 도메인에 제공하는 동작 -상기 무작위 코호트 연령 버킷은 상기 무작위 코호트의 연령을 포함하는 쿠키들의 연령들의 범위를 나타냄- 을 더 포함하며,
    상기 무작위 코호트의 연령은 상기 제2시간과 상기 제1시간 사이의 차이에 기초하여 계산되는 것을 특징으로 하는 비일시적 컴퓨터 저장 매체.
  17. 제15항 또는 제16항에 있어서,
    상기 애플리케이션에 무작위 코호트를 할당하는 동작은 상기 도메인에 의해, 상기 무작위 코호트를 상기 애플리케이션에 할당하는 것을 포함하고,
    상기 무작위로 선택된 식별자는 적어도 임계 수의 다른 애플리케이션들에 할당되고,
    상기 무작위로 선택된 식별자는 2개 이상의 무작위로 생성된 식별자 중에서 선택된 무작위로 생성된 식별자이고,
    상기 고유한 공개 키는 상기 도메인에 의해 생성되는 것을 것을 특징으로 하는 비일시적 컴퓨터 저장 매체.
  18. 제15항 또는 제16항에 있어서,
    상기 브라우저에 무작위 코호트를 할당하는 동작은 중앙 서버에 의해 상기 무작위 코호트를 상기 애플리케이션에 할당하는 것을 포함하고,
    상기 무작위로 선택된 식별자는 상기 적어도 임계 수의 다른 애플리케이션들에 할당되고,
    상기 무작위로 선택된 식별자는 2개 이상의 무작위로 생성된 식별자 중에서 선택된 무작위로 생성된 식별자이고,
    상기 고유한 공개 키는 상기 중앙 서버에 의해 생성되는 것을 특징으로 하는 비일시적 컴퓨터 저장 매체.
  19. 전술한 어느 항에 있어서, 상기 동작들은,
    상기 애플리케이션에 의해, 상기 제1 도메인과 다른 제2 도메인으로부터의 디지털 콘텐츠에 대한 요청 및 상기 무작위 코호트를 제공하는 동작과;
    상기 제2 도메인으로부터의 디지털 콘텐츠에 대한 요청을 제공하는 것에 응답하여, 상기 애플리케이션에 의해 그리고 상기 제2 도메인으로부터 챌린지(challenge)를 포함하는 입증 요청을 수신하는 동작과; 그리고
    디지털 서명된 인증서를 상기 애플리케이션에 의해 검증 시스템에 제공하는 동작을 더 포함하며,
    상기 디지털 서명된 인증서는 상기 검증 시스템으로 하여금 (i) 상기 무작위로 선택된 식별자, 상기 무작위 코호트 연령 버킷 및 상기 챌린지를 포함하는 모호한 인증서를 생성하게 하고, (ii) 상기 모호한 인증서에 서명하게 하고 (iii) 상기 모호한 인증서를 상기 제2 도메인에 제공하게 하며,
    상기 챌린지는 블라인드 방식을 사용하여 상기 검증 시스템에서 블라인드되는 것을 특징으로 하는 시스템.
  20. 전술한 어느 항에 있어서, 상기 동작들은,
    상기 애플리케이션에 의해 상기 검증 시스템에 상기 디지털 서명된 인증서를 제공하는 동작; 그리고
    상기 검증 시스템에 의해 상기 무작위 코호트가 적어도 임계 수의 사람들에게 할당됨을 검증하는 동작을 더 포함하는 것을 특징으로 하는 비일시적 컴퓨터 저장 매체.
KR1020227030754A 2021-03-03 2021-03-03 개인 정보 보호 활동 집계 메커니즘 KR20220137955A (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2021/020694 WO2022186831A1 (en) 2021-03-03 2021-03-03 Privacy-preserving activity aggregation mechanism

Publications (1)

Publication Number Publication Date
KR20220137955A true KR20220137955A (ko) 2022-10-12

Family

ID=75223443

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227030754A KR20220137955A (ko) 2021-03-03 2021-03-03 개인 정보 보호 활동 집계 메커니즘

Country Status (6)

Country Link
US (1) US20230163978A1 (ko)
EP (1) EP4094402A1 (ko)
JP (1) JP7475472B2 (ko)
KR (1) KR20220137955A (ko)
CN (1) CN115380506A (ko)
WO (1) WO2022186831A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11888825B1 (en) * 2021-08-09 2024-01-30 Google Llc Privacy preserving user group expansion

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2380368B (en) * 2001-09-27 2005-06-22 Ibm A method and system for communication via a computer network
US9009258B2 (en) 2012-03-06 2015-04-14 Google Inc. Providing content to a user across multiple devices
US10445769B2 (en) 2013-12-24 2019-10-15 Google Llc Systems and methods for audience measurement
US10771265B2 (en) * 2017-09-21 2020-09-08 Lg Electronics, Inc. Cryptographic methods and systems for managing digital certificates with linkage values
EP3900300A1 (en) * 2019-08-13 2021-10-27 Google LLC Securing browser cookies

Also Published As

Publication number Publication date
JP7475472B2 (ja) 2024-04-26
JP2023524360A (ja) 2023-06-12
US20230163978A1 (en) 2023-05-25
WO2022186831A1 (en) 2022-09-09
CN115380506A (zh) 2022-11-22
EP4094402A1 (en) 2022-11-30

Similar Documents

Publication Publication Date Title
CN113015974A (zh) 针对隐私保护的可验证同意
US11949688B2 (en) Securing browser cookies
US11831651B2 (en) Preventing data manipulation and protecting user privacy in determining accurate location event measurements
JP2023096089A (ja) グループ署名による匿名イベント証明
JP7475472B2 (ja) プライバシーを守る活動集約メカニズム
KR102639228B1 (ko) 익명 이벤트 증명
JP7157258B2 (ja) 集約されたネットワーク測定における不正の防止
EP4042665B1 (en) Preventing data manipulation in telecommunication network measurements
CN116034596A (zh) 具有令牌赎回的匿名认证