KR20220123695A - 암호화 방식으로 보안 요청 검증 - Google Patents

암호화 방식으로 보안 요청 검증 Download PDF

Info

Publication number
KR20220123695A
KR20220123695A KR1020227026990A KR20227026990A KR20220123695A KR 20220123695 A KR20220123695 A KR 20220123695A KR 1020227026990 A KR1020227026990 A KR 1020227026990A KR 20227026990 A KR20227026990 A KR 20227026990A KR 20220123695 A KR20220123695 A KR 20220123695A
Authority
KR
South Korea
Prior art keywords
user
data
token
client device
request
Prior art date
Application number
KR1020227026990A
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 KR20220123695A publication Critical patent/KR20220123695A/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/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/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
    • 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/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • 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/0884Network architectures or network communication protocols for network security for authentication of entities by delegation of authentication, e.g. a proxy authenticates an entity to be authenticated on behalf of this entity vis-à-vis an authentication entity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • 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/321Cryptographic 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 a third party or a trusted authority
    • H04L9/3213Cryptographic 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 a third party or a trusted authority using tickets or tokens, e.g. Kerberos

Abstract

본 개시는 데이터 보안 및 암호화에 관한 것이다. 일 양태에서, 방법은 엔터티가 사용자의 데이터를 수집, 저장 및 사용하는 방법을 정의하는 데이터 프라이버시 설정을 사용자가 지정하게 하는 사용자 인터페이스 제어를 제시하도록 클라이언트 디바이스의 사용자 인터페이스를 업데이트하는 단계를 포함한다. 데이터 보안 시스템은 하나 이상의 사용자 인터페이스 제어와의 사용자 인터렉션에 기초하여 클라이언트 디바이스로부터 하나 이상의 엔터티에 대한 데이터 프라이버시 설정을 수정하기 위한 요청을 수신한다. 요청은 사용자에 대한 임시 사용자 식별자와 증명 토큰을 포함한다. 데이터 보안 시스템은 적어도 임시 사용자 식별자와 증명 토큰을 사용하여 요청을 확인한다. 데이터 보안 시스템은 수정된 주어진 데이터 프라이버시 설정에 기초하여 사용자 데이터의 사용을 수정하도록 엔터티에 지시하는 데이터를 하나 이상의 엔터티 각각에 전송한다.

Description

암호화 방식으로 보안 요청 검증
본 명세서는 데이터 보안 및 암호화에 관한 것이다.
클라이언트 디바이스는 인터넷과 같은 공용 네트워크를 통해 요청 및 기타 데이터를 전송한다. 이러한 통신은 통신을 가로채는 당사자 및/또는 통신을 수신하여 다른 당사자에게 전달하는 중개자와 같은 다른 당사자에 의해 변경될 수 있다. 클라이언트 디바이스는 또한 사용자 모르게 또는 승인 없이 사기성 요청을 보낼 수 있는 바이러스 및 맬웨어와 같은 악의적인 공격의 대상이 된다. 또한 다른 당사자는 클라이언트 디바이스를 에뮬레이트하여 클라이언트 디바이스로부터 시작된 것처럼 보이지만 실제로는 다른 당사자의 디바이스에서 오는 요청을 보낼 수 있다.
클라이언트 디바이스의 사용자는 애플리케이션(예를 들어, 웹 브라우저 또는 네이티브 애플리케이션)을 사용하여 다양한 콘텐츠 제공자(예를 들어, 검색 엔진, 소셜 미디어 플랫폼, 웹사이트 퍼블리셔 등)로부터 콘텐츠를 획득할 수 있다. 클라이언트 디바이스와 콘텐츠 제공자의 서버 간의 통신은 디지털 콘텐츠와 교환하는 이름, 전자 메일 주소, 전화번호와 같은 민감한 정보(예: 사용자의 개인 식별 정보(PII))를 공유하는 것을 포함할 수 있다. 예를 들어, 구독 기반 콘텐츠 전달은 PII를 사용하여 사용자에게 콘텐츠를 전달할 수 있다.
본 명세서는 사용자 프라이버시 보호와 관련된 기술을 설명한다. 일반적으로, 본 명세서에 기술된 발명의 일 혁신적 양태는 방법들에 수록될 수 있고, 방법은 데이터 보안 시스템에 의해, 퍼블리셔의 퍼블리셔 컴퓨팅 시스템으로부터 주어진 사용자에 대한 구독 토큰에 대한 요청을 수신하는 단계를 포함한다. 요청은 퍼블리셔의 전자 콘텐츠를 구독할 때 주어진 사용자에 의해 퍼블리셔에게 제공된 사용자 식별 정보를 포함한다. 구독 토큰에 대한 요청을 수신함에 대한 응답으로, 데이터 보안 시스템은 퍼블리셔 및 주어진 사용자에 대한 구독 토큰을 생성한다. 구독 토큰은 (i) 데이터 보안 시스템의 암호화 키를 사용하여 주어진 사용자를 식별하기 위해 데이터 보안 시스템에 의해 사용되는 주어진 사용자에 대한 제1 사용자 식별자를 암호화함으로써 생성된 제1 암호화된 사용자 식별자를 포함하는 데이터 세트 및 하나 이상의 콘텐츠 플랫폼 각각에 대해, (ii) 콘텐츠 플랫폼의 암호화 키를 사용하여 주어진 사용자를 식별하기 위해 콘텐츠 플랫폼에 의해 사용되는 주어진 사용자에 대한 제2 사용자 식별자를 암호화하고 구독 토큰을 퍼블리셔 컴퓨팅 시스템에 전송함으로써 생성된 제2 암호화된 사용자 식별자를 포함하는 첨부 엘리먼트를 포함한다. 이 양태의 다른 구현예는 상기 방법의 양태를 수행하도록 구성된 대응 장치, 시스템 및 컴퓨터 저장 디바이스에 인코딩된 컴퓨터 프로그램을 포함한다.
이들 또는 다른 실시예들은 다음 구성들 중 하나 이상을 각각 선택적으로 포함할 수 있다. 일부 양태에서, 데이터 보안 시스템은 전자 메일 제공자의 컴퓨팅 시스템을 포함하고, 사용자 식별 정보는 주어진 사용자의 전자 메일 주소 및 전자 메일 제공자와 함께 주어진 사용자의 전자 메일 계정을 포함한다.
일부 양태에서, 주어진 사용자에 대한 제1 사용자 식별자는 (i) 전자 메일 제공자와 함께 주어진 사용자의 전자 메일 계정에 대한 주어진 사용자의 전자 메일 주소 또는 (ii) 주어진 사용자의 전자 메일 주소에 대응하는 다른 사용자 식별자 중 하나를 포함한다. 일부 양태에서, 사용자 식별 정보는 주어진 사용자의 전화번호를 포함한다.
일부 양태에서, 각각의 콘텐츠 플랫폼에 대한 첨부 엘리먼트는 데이터 세트의 디지털 서명 및 데이터 보안 시스템의 개인 키를 사용하여 생성된 첨부 엘리먼트의 제2 암호화된 사용자 식별자를 포함한다. 일부 양태에서, 구독 토큰은 데이터 세트 및 각 첨부 엘리먼트의 디지털 서명을 포함한다.
일부 양태에서, 퍼블리셔 컴퓨팅 시스템은 이전 요청의 각각의 제1 암호화된 사용자 식별자를 포함하는 주어진 사용자에 대한 갱신된 구독 토큰에 대한 반복적인 갱신 요청을 수신한다. 일부 양태에서, 각각의 갱신 요청에 대해, 이전 요청의 제1 암호화된 사용자 식별자와 상이한 업데이트된 제1 암호화된 사용자 식별자가 생성된다. 일부 양태에서, 갱신된 구독 토큰은 업데이트된 제1 암호화된 사용자 식별자 및 각각의 첨부 엘리먼트를 포함하는 업데이트된 데이터 세트를 포함한다. 갱신된 각 구독 토큰은 퍼블리셔 컴퓨팅 시스템으로 전송된다.
일부 양태에서, 갱신된 구독 토큰은 구독 토큰이 생성된 이후 사용자에 의해 업데이트된 데이터 프라이버시 설정을 더 포함한다. 일부 양태에서, 퍼블리셔 및 주어진 사용자에 대한 구독 토큰을 생성하는 것은 각각의 콘텐츠 플랫폼이 퍼블리셔 및 사용자에 의해 적격한 콘텐츠 플랫폼인 것으로 지정되고 콘텐츠 플랫폼인 각각의 적격한 콘텐츠 플랫폼이 퍼블리셔의 전자 리소스를 사용하여 주어진 사용자에게 제시할 디지털 컴포넌트를 선택할 수 있도록 하나 이상의 콘텐츠 플랫폼을 식별하는 것을 포함한다.
일부 양태에서, 퍼블리셔 및 주어진 사용자를 위한 구독 토큰을 생성하는 것은 퍼블리셔 및 사용자에 의해 적격한 콘텐츠 플랫폼인 것으로 지정된 각각의 콘텐츠 플랫폼 및 콘텐츠 플랫폼인 각각의 적격한 콘텐츠 플랫폼이 주어진 사용자의 데이터를 수집, 저장 및 사용할 수 있도록 하나 이상의 콘텐츠 플랫폼을 식별하는 것을 포함한다.
일부 양태에서, 주어진 사용자의 클라이언트 디바이스는 주어진 사용자가 퍼블리셔 세트 및 콘텐츠 플랫폼 세트에 의한 주어진 사용자의 데이터 사용을 관리할 수 있게 하는 인터렉티브 사용자 인터페이스가 제공된다. 일부 양태에서, 인터렉티브 사용자 인터페이스는 퍼블리셔의 콘텐츠와 함께 제시할 디지털 컴포넌트를 선택하기 위해 퍼블리셔와 파트너 관계를 맺고 주어진 사용자가 주어진 사용자의 데이터를 획득 및 저장할 수 있는 하나 이상의 콘텐츠 플랫폼을 선택할 수 있게 하는 콘텐츠 플랫폼을 식별하는 데이터를 포함한다. 인터렉티브 사용자 인터페이스를 통해 사용자는 주어진 사용자에 대한 데이터를 획득 및 저장할 자격이 있는 하나 이상의 퍼블리셔를 선택할 수 있으며, 또한 주어진 사용자의 데이터가 각 콘텐츠 플랫폼 및 각 퍼블리셔에 의해 사용될 자격이 있는 하나 이상의 방식을 선택할 수 있다. 인터렉티브 사용자 인터페이스는 추가로 사용자가 하나 이상의 콘텐츠 플랫폼 또는 하나 이상의 퍼블리셔에게 주어진 사용자에 대한 데이터를 삭제하도록 요청할 수 있게 한다.
일부 양태에서, 데이터 보안 시스템은 주어진 사용자가 주어진 사용자의 클라이언트 디바이스로부터 수신된 데이터에 기초하여 주어진 사용자에 대한 데이터를 획득 및 저장하기에 부적격한 것으로 퍼블리셔를 지정했음을 검출한다. 일부 양태에서, 검출 후, 데이터 보안 시스템은 퍼블리셔 컴퓨팅 시스템으로부터 주어진 사용자에 대한 갱신된 구독 토큰에 대한 요청을 수신한다. 데이터 보안 시스템은 주어진 사용자가 퍼블리셔를 사용자의 데이터를 획득 및 저장할 수 있는 자격이 없는 것으로 지정한 것을 검출한 것에 응답하여 주어진 사용자에 대한 갱신된 구독 토큰을 퍼블리셔 컴퓨팅 시스템에 제공하지 않기로 결정한다.
일부 양태에서, 데이터 보안 시스템은 주어진 사용자가 주어진 사용자의 클라이언트 디바이스로부터 수신된 데이터에 기초하여 주어진 사용자에 대한 데이터를 획득 및 저장하기에 부적격한 것으로 퍼블리셔를 지정했음을 검출한다. 일부 양태에서, 검출 후, 데이터 보안 시스템은 퍼블리셔 컴퓨팅 시스템으로부터 주어진 사용자에 대한 갱신된 구독 토큰에 대한 요청을 수신한다. 데이터 보안 시스템은 주어진 사용자가 주어진 사용자에 대한 데이터를 획득 및 저장할 수 없는 것으로 주어진 콘텐츠 플랫폼을 지정했음을 검출한 것에 응답하여 갱신된 구독 토큰과 함께 주어진 콘텐츠 플랫폼에 대한 첨부 엘리먼트를 포함하지 않기로 결정한다.
일반적으로, 본 명세서에 기술된 발명의 다른 양태는 액션을 포함하는 방법에 수록될 수 있으며, 상기 액션은 엔터티가 사용자의 데이터를 사용하는 방법을 정의하는 데이터 프라이버시 설정을 사용자가 지정하게 하는 사용자 인터페이스 제어를 제시하도록 사용자 인터페이스를 업데이트하는 단계를 포함한다. 하나 이상의 엔터티에 대한 데이터 프라이버시 설정을 수정하기 위한 요청은 사용자에 대한 임시 사용자 식별자 및 증명 토큰을 포함하는 하나 이상의 사용자 인터페이스 제어와의 사용자 인터렉션에 기초하여 클라이언트 디바이스로부터 수신되며, 상기 임시 사용자 식별자는 클라이언트 디바이스의 전화번호에 기초한다. 요청은 적어도 사용자에 대한 임시 사용자 식별자와 증명 토큰을 사용하여 확인되고, 요청 확인에 대한 응답으로, 엔터티에 수정된 주어진 데이터 프라이버시 설정에 기초하여 사용자 데이터의 사용을 수정하도록 지시하는 데이터가 하나 이상의 엔터티 각각에 전송된다. 이 양태의 다른 구현예는 상기 방법의 양태를 수행하도록 구성된 대응 장치, 시스템 및 컴퓨터 저장 디바이스에 인코딩된 컴퓨터 프로그램을 포함한다.
이들 또는 다른 실시예들은 다음 구성들 중 하나 이상을 각각 선택적으로 포함할 수 있다. 일부 양태에서, 사용자 인터페이스를 업데이트하기 전에, 사용자의 전화번호에 대한 구독 토큰을 요청하는 토큰 요청이 퍼블리셔로부터 수신되고, (i) 사용자 인터페이스를 포함하는 전자 리소스에 대한 리소스 로케이터 및 (ii) 사용자에 대한 임시 사용자 식별자를 포함하는 메시지가 클라이언트 디바이스에 전송된다.
일부 양태에서, 임시 사용자 식별자는 사용자의 전화번호 또는 전자 메일 주소를 암호화함으로써 생성된 암호화된 결과를 포함한다. 일부 양태에서, 요청은 클라이언트 디바이스의 공개 키를 더 포함하고, 요청을 확인하는 것은 임시 사용자 식별자와 클라이언트 디바이스의 공개 키 사이의 연관을 검증하는 것을 더 포함한다.
일부 양태에서, 임시 사용자 식별자를 검증하는 것은 임시 사용자 식별자를 복호화하려고 시도하고, 임시 사용자 식별자가 성공적으로 복호화될 때 임시 사용자 식별자가 성공적으로 검증되었다고 결정하는 단계를 포함한다.
일부 양태에서, 증명 토큰 및 업데이트된 설정은 감사 로그에 저장된다.
일부 양태에서, 요청은 웹 쿠키를 포함한다. 일부 양태에서, 요청을 확인하는 것은 임시 사용자 식별자를 복호화하고 임시 사용자 식별자를 사용하여 웹 쿠키를 검증하는 것을 포함한다.
일부 양태에서, 증명 토큰은 데이터 세트 및 데이터 세트의 디지털 서명을 포함한다. 일부 양태에서, 증명 토큰을 검증하는 것은 데이터 세트에 기초하여 디지털 서명이 유효한지를 결정하는 것을 포함한다.
일부 양태에서, 증명 토큰은 상기 증명 토큰이 생성되었던 시간을 표시하는 토큰 생성 타임스탬프를 포함하며 그리고 상기 증명 토큰을 검증하는 것은 상기 증명 토큰이 생성되었던 시간이 상기 요청이 수신된 시간의 임계 지속시간 내에 있는지를 결정하는 것을 포함한다.
일부 양태에서, 상기 증명 토큰은 상기 클라이언트 디바이스 또는 상기 클라이언트 디바이스에서 실행 중인 애플리케이션의 신뢰성에 대한 판정을 포함하는 무결성 토큰을 포함하며 그리고 상기 증명 토큰을 검증하는 것은 상기 무결성 토큰을 검증하는 것을 포함한다.
본 명세서에 기술된 본 발명은 다음의 이점들을 실현하도록 특정한 실시예들에서 구현될 수 있다. 사용자에게 온라인 생태계 전반에 걸쳐 데이터 프라이버시 설정을 관리하기 위한 플랫폼을 제공하면 민감한 정보를 포함할 수 있는 사용자 데이터에 액세스할 수 있는 온라인 엔터티에 대한 투명한 보기를 사용자에게 제공하고, 사용자가 사용자 데이터를 저장할 수 있는 엔터티 및 엔터티가 사용자 데이터를 사용하는 방법을 제어하게 한다. 프라이버시 설정에 대한 투명하고 효율적인 제어를 통해 사용자는 사용자 데이터에 액세스할 수 있는 온라인 엔터티, 사용자 데이터에 액세스할 수 없는 온라인 엔터티, 각 엔터티가 데이터를 저장하고 사용하는 방법을 결정할 수 있다. 기존 기법과 비교하여 이 문서에서 설명하는 방법은 민감한 사용자 정보를 서드파티 엔터티에 공유하는 것을 더욱 방지하여 사용자 프라이버시를 유지한다.
기법은 데이터 배포 및 사용자 프라이버시 프로토콜의 준수를 검증하고 사용자 데이터를 오용할 수 있는 임의의 불량 엔터티를 식별하기 위해 사용자 데이터에 액세스할 수 있는 온라인 엔터티를 감사할 목적으로 사용자 프라이버시 설정 및 프라이버시 설정을 수정하는 사용자 액션과 같은 정보를 저장하는 것을 포함할 수 있다. 기법은 각각 하나 이상의 수신자를 위한 하나 이상의 첨부 엘리먼트와 함께 구독 토큰을 사용하는 것을 포함하고, 각 첨부 엘리먼트는 그 수신자에 대한 데이터, 예를 들어 암호화된 데이터를 포함할 수 있다. 구독 토큰 내의 각 엔터티에 대한 데이터를 포함하는 대신 구독 토큰과 함께 별도의 데이터 구조로 첨부 엘리먼트를 포함함으로써, 첨부 엘리먼트는 구독 토큰을 검증하는 수신자의 능력에 영향을 미치지 않으면서 전체 메시지 또는 기타 전자 통신에서 제거될 수 있다. 이렇게 하면 수신자 중 한 명이 구독 토큰과 모든 첨부 엘리먼트를 수신하고 구독 토큰이 있는 해당 수신자에 대한 첨부 엘리먼트만 서로에게 전달하게 할 수 있다.
또한, 이는 증명 토큰을 검증하는데 필요한 프로세싱 능력과 계산 리소스(예: CPU 주기)를 감소시킨다. 예를 들어, 각 수신자에 대한 데이터가 증명 토큰에 포함되었던 경우,1 수신자의 디바이스는 증명 토큰의 디지털 서명을 검증하기 위해 증명 토큰의 다른 데이터와 함께 이 모든 데이터를 스캔해야 한다. 각 수신자에 대한 첨부 엘리먼트를 생성함으로써, 각 수신자의 디바이스는 예를 들어 각 수신자에 대한 데이터를 스캔하지 않고 서명을 검증하기 위해 다른 증명 데이터만 스캔하면 된다. 또한, 수신자의 데이터를 다른 수신자에게 제공하지 않음으로써 각 수신자의 데이터를 더 잘 보호한다. 데이터가 증명 토큰에서 암호화되더라도, 암호화된 데이터는 데이터를 복호화하는 방법을 찾는 다른 엔터티에 취약할 수 있다.
일부 구현예에서, 구독 토큰의 데이터 크기는 각 첨부 엘리먼트에 대한 개별 디지털 서명보다는 모든 첨부 엘리먼트를 포함하는 전체 구독 토큰에 대한 단일 디지털 서명을 포함함으로써 감소될 수 있다. 이렇게 하면, 구독 토큰에 대한 데이터 저장 요구 사항을 줄이고, 클라이언트 디바이스에서 구독 토큰을 전송할 때 대역폭 소비를 줄일 수 있다. 하루에 수천 또는 수백만 건의 전송을 집계하면, 상당한 데이터 저장 및 대역폭 절약이 가능하다.
전자 메일 제공자는 사용자가 다양한 온라인 엔터티에서 데이터를 사용하는 방법을 관리할 수 있도록 하는 플랫폼 및/또는 사용자 인터페이스와 같은 메커니즘을 제공하는 중앙 기관의 역할을 할 수 있다. 이러한 방식으로, 사용자는 사용자의 잠재적으로 민감한 데이터를 저장하기 위해 사용자가 이미 신뢰하는 엔터티를 통해 하나의 중앙 위치에서 데이터가 사용되는 방법을 보다 쉽게 관리할 수 있다.
전자 메일 제공자 또는 기타 중앙 기관은 사용자 데이터에 기초하여 사용자를 위해 디지털 컴포넌트와 같은 콘텐츠를 선택하기 위해 사용자 데이터를 사용하는 콘텐츠 플랫폼과 협력하는 퍼블리셔에게 구독 토큰을 발행할 수 있다. 이러한 토큰은 다른 엔터티가 사용자를 추적하지 못하도록 방지하고 콘텐츠 플랫폼이 동의 설정에 따라 사용자 데이터를 사용하고 있음을 증명하고 이러한 데이터의 위조를 방지하는 암호화 및 프라이버시 보호 기능을 포함한다. 사용자는 중앙 기관(예: 전자 메일 제공자)이 제공하는 사용자 인터페이스와 인터렉션하여 어떤 엔터티가 자신의 데이터를 수신 및/또는 사용할 수 있는지 쉽게 관리할 수 있으며, 엔터티가 차단된 경우, 중앙 기관은 엔터티가 구독 토큰을 수신하고 및/또는 토큰을 사용자와 상관시키는 것을 방지한다(예를 들어, 사용자에 대한 엔터티의 사용자 식별자를 포함하는 첨부 엘리먼트를 토큰과 함께 제공하지 않음으로써).
역사적으로, 서드파티 쿠키(즉, 클라이언트 디바이스에서 렌더링되는 리소스와 다른 도메인의 쿠키)는 인터넷을 통해 클라이언트 디바이스에서 데이터를 수집하는데 사용되어 왔다. 다만, 일부 브라우저는 서드파티 쿠키의 사용을 차단하여 서드파티 쿠키를 이용한 데이터 수집을 차단하고 있다. 이것은 온라인 브라우징 경험을 향상시키기 위해 수집된 데이터를 활용하려고 할 때 문제를 만든다. 즉, 서드파티 쿠키를 사용하지 않으면 이전에 수집된 많은 데이터를 더 이상 사용할 수 없으므로 컴퓨팅 시스템에서 해당 데이터를 사용할 수 없다. 이 문서에 설명된 구독 토큰은 유사한 기능을 가능하게 하지만, 사용자에게 투명하고 사용자가 데이터 수집 및 사용 방법을 세부적으로 제어할 수 있도록 한다.
구독 토큰의 수신자는 다른 수신자에 대한 첨부 엘리먼트를 제거하여 데이터 저장 요구 사항을 줄일 수 있다. 토큰이 다수의 이벤트에 대한 사용자 데이터 사용에 대한 사용자 동의를 제공하는 경우, 다수의 이벤트에 대해 단일 토큰을 저장하여 데이터 저장 요구 사항을 더욱 줄일 수 있다. 대신, 감사 로그는 각 이벤트에 대한 식별자 또는 대응하는 구독 토큰에 대한 참조를 포함할 수 있다. 구독 토큰을 포함하는 요청 또는 기타 통신마다가 아닌 특정 기간별로 구독 토큰을 발행함으로써, 토큰을 생성하는데 필요한 계산 리소스의 양이 줄어들고, 퍼블리셔에게 구독 토큰을 배포하는데 사용되는 대역폭의 양이 감소하며, 수신자가 구독 토큰을 저장하기 위한 데이터 저장 요구 사항이 줄어든다.
전술한 주제의 다양한 구성 및 이점이 도면과 관련하여 아래에 설명된다. 추가 구성 및 이점은 본 명세서 및 청구 범위에 기술된 주제로부터 명백하다.
도 1은 데이터 보안 시스템이 사용자 데이터의 보안 및 프라이버시를 관리하는 환경의 블록도이다.
도 2는 전자 메일 제공자와 중앙 기관이 사용자 데이터의 보안 및 프라이버시를 관리하는 예시적 환경의 블록도이다.
도 3은 디지털 컴포넌트를 제공하기 위해 구독 토큰을 사용하기 위한 예시적 프로세스의 스윔 레인 다이어그램이다.
도 4는 구독 토큰을 생성하는 예시적 프로세스의 흐름도이다.
도 5는 구독 토큰을 갱신하는 예시적 프로세스의 흐름도이다.
도 6은 데이터 보안 시스템에 의해 제공되는 애플리케이션을 사용하여 임시 사용자 식별자를 수신하기 위한 예시적 프로세스의 스윔 레인 다이어그램이다.
도 7은 사용자가 데이터 프라이버시 설정을 조정하게 하는 사용자 인터페이스를 생성 및 제공하기 위한 예시적 프로세스의 스윔 레인 다이어그램이다.
도 8은 데이터 보안 시스템에 의해 제공되는 애플리케이션을 사용하여 사용자 데이터를 삭제하기 위한 예시적 프로세스의 스윔 레인 다이어그램이다.
도 9는 데이터 보안 시스템의 웹 기반 사용자 인터페이스에 액세스하기 위한 예시적 프로세스의 스윔 레인 다이어그램이다.
도 10은 사용자 인터페이스 제어를 사용하여 수정된 데이터 프라이버시 설정에 기초하여 사용자 데이터의 사용을 수정하기 위한 예시적 프로세스의 흐름도이다.
도 11는 예시적 컴퓨터 시스템의 블록도이다.
다양한 도면들에서 동일한 참조 번호 및 기호는 동일한 컴포넌트를 표시한다.
일반적으로 이 문서는 사용자가 중앙 플랫폼에서 안전하고 암호화 방식으로 증명할 수 있는 방식으로 온라인 생태계 전반에 걸쳐 데이터 프라이버시 설정을 관리하게 하는 시스템 및 기법에 대해 설명한다. 기법을 통해 각 사용자는 콘텐츠 플랫폼과 같은 온라인 엔터티에 대한 권한을 제어(예: 허용 및/또는 취소)할 수 있고, 이 권한은 사용자의 데이터를 수집 및/또는 저장할 수 있는지 여부와 수집할 수 있는 경우 해당 데이터를 사용하는 방법 및 그 기간을 정의한다.
하나 이상의 데이터 보안 시스템은 각각 구독 토큰을 사용하여 사용자의 데이터 프라이버시를 관리하는(예: 사용자의 데이터를 수집, 저장 및 사용할 수 있는 엔터티를 관리하는) 중앙 플랫폼 역할을 할 수 있다. 일부 구현예에서, 데이터 보안 시스템은 전자 메일 제공자에 의해 운영될 수 있으며, 각 전자 메일 제공자는 전자 메일 제공자와 전자 메일 계정이 있는 사용자의 데이터 프라이버시를 관리할 수 있다. 기본 데이터 보안 시스템은 참여하는 전자 메일 제공자와 전자 메일 계정이 있는 사용자의 데이터 프라이버시를 관리할 수 있다.
도 1은 데이터 보안 시스템(180)이 사용자 데이터의 보안 및 프라이버시를 180 관리하는 환경(100)의 블록도이다. 예시적 환경(100)은 근거리 네트워크(LAN), 광역 네트워크(WAN), 인터넷, 모바일 네트워크 또는 이들의 조합과 같은 데이터 통신 네트워크(105)를 포함한다. 네트워크(105)는 클라이언트 디바이스(110), 디지털 컴포넌트 제공자(170), 수요측 플랫폼(DSP)(160), 공급측 플랫폼(SSP)(150), 데이터 보안 시스템(180), 퍼블리셔(140) 및 웹사이트(142)를 연결한다. 예시적 환경(100)은 많은 상이한 클라이언트 디바이스(110), 디지털 컴포넌트 제공자(170), DSP(160), SSP(150), 데이터 보안 시스템(180), 퍼블리셔(140) 및 웹사이트(142)를 포함할 수 있다.
클라이언트 디바이스(110)는 네트워크(105)를 통해 통신할 수 있는 전자 디바이스이다. 예시적 클라이언트 디바이스(110)는 퍼스널 컴퓨터, 모바일 통신 디바이스, 예를 들어, 스마트폰 및 네트워크(105)를 통해 데이터를 송수신할 수 있는 기타 디바이스를 포함한다. 클라이언트 디바이스는 또한 마이크를 통해 오디오 입력을 수용하고 스피커를 통해 오디오 출력을 출력하는 디지털 어시스턴트 디바이스를 포함할 수 있다. 디지털 어시스턴트는 오디오 입력을 수용하기 위해 마이크를 활성화하는 "핫워드" 또는 "핫프레이즈"를 디지털 어시스턴트가 감지할 때 청취 모드(예를 들어, 오디오 입력을 수락할 준비가 됨)로 배치될 수 있다. 디지털 어시스턴트 디바이스는 또한 이미지를 캡처하고 정보를 시각적으로 제시하기 위한 카메라 및/또는 디스플레이를 포함할 수 있다. 디지털 어시스턴트는 웨어러블 디바이스(예: 시계 또는 안경), 스마트폰, 스피커 디바이스, 태블릿 디바이스 또는 다른 하드웨어 디바이스를 포함하는 다양한 형태의 하드웨어 디바이스로 구현될 수 있다. 클라이언트 디바이스는 디지털 미디어 디바이스, 예를 들어 텔레비전에 비디오를 스트리밍하기 위해 텔레비전 또는 다른 디스플레이에 연결하는 스트리밍 디바이스이다.
클라이언트 디바이스(110)는 네트워크(105)를 통한 데이터의 송수신을 용이하게 하기 위한 웹브라우저 또는 네이티브 애플리케이션과 같은 애플리케이션(112)을 일반적으로 포함한다. 네이티브 애플리케이션은 특정한 플랫폼 또는 특정한 디바이스(예: 특정 운영 체제를 갖는 모바일 디바이스)용으로 개발된 애플리케이션이다. 퍼블리셔(140)는 네이티브 애플리케이션을 개발하고 클라이언트 디바이스(110)에 제공할 수 있다(예: 네이티브 애플리케이션이 다운로드 가능하게 함). 웹 브라우저는 예를 들어 클라이언트 디바이스(110)의 사용자가 웹브라우저의 주소 표시줄에 리소스(145)에 대한 리소스 주소를 입력하는 것 또는 리소스 주소를 참조하는 링크를 선택하는 것에 응답하여 퍼블리셔(140)의 웹사이트(142)를 호스팅하는 웹 서버로부터 리소스(145)를 요청할 수 있다. 유사하게, 네이티브 애플리케이션은 퍼블리셔의 원격 서버로부터 애플리케이션 콘텐츠를 요청할 수 있다.
클라이언트 디바이스(110)는 신뢰 프로그램(111)을 더 포함할 수 있다. 신뢰 프로그램(111)은 위조하기 어려운 신뢰할 수 있는 소스로부터의 신뢰 코드를 포함할 수 있다. 예를 들어, 신뢰 프로그램(111)은 운영 체제, 운영 체제의 일부, 웹 브라우저 등일 수 있다. 일부 구현예에서, 신뢰 프로그램(111)은 클라이언트 디바이스(110) 상의 신뢰 프로그램(111)에 의해서만 액세스가능한 클라이언트 디바이스(110)에 대한 보안 저장소(예: 키스토어(114))를 포함할 수 있다.
일부 리소스, 애플리케이션 페이지 또는 다른 애플리케이션 콘텐츠는 리소스(145) 또는 애플리케이션 페이지와 함께 디지털 컴포넌트를 제시하기 위한 디지털 컴포넌트 슬롯을 포함할 수 있다. 디지털 컴포넌트 슬롯은 디지털 컴포넌트를 요청하기 위한 컴퓨터 판독가능 코드를 포함하는 리소스에 내장된 디지털 컴포넌트 태그일 수 있다. 이 문서 전체에서 사용된 문구 "디지털 컴포넌트"는 디지털 콘텐츠 또는 디지털 정보(예: 비디오 클립, 오디오 클립, 멀티미디어 클립, 이미지, 텍스트 또는 다른 콘텐츠 유닛)의 개별 유닛을 지칭한다. 디지털 컴포넌트는 물리적 메모리 디바이스에 단일 파일 또는 파일들의 집합으로 전자적으로 저장될 수 있으며, 디지털 컴포넌트는 비디오 파일, 오디오 파일, 멀티미디어 파일, 이미지 파일 또는 텍스트 파일의 형태를 취할 수 있으며, 광고 정보를 포함할 수 있어 광고가 디지털 컴포넌트의 한 유형이도록 한다. 예를 들어, 디지털 컴포넌트는 애플리케이션(112)에 의해 제시되는 웹 페이지 또는 기타 리소스의 콘텐츠를 보완하기 위해 의도된 콘텐츠일 수 있다. 더 구체적으로, 디지털 컴포넌트는 리소스 콘텐츠와 관련된 디지털 콘텐츠를 포함할 수 있다(예를 들어, 디지털 컴포넌트는 웹페이지 콘텐츠와 동일한 토픽 또는 관련 토픽에 관련될 수 있다). 따라서, 디지털 컴포넌트의 제공은 웹페이지 또는 애플리케이션 콘텐츠를 보충하고 일반적으로 향상시킬 수 있다.
애플리케이션(112)이 하나 이상의 디지털 컴포넌트 슬롯을 포함하는 리소스(또는 애플리케이션 콘텐츠)를 로드할 때, 애플리케이션(112)은 각 슬롯에 대한 디지털 컴포넌트를 요청할 수 있다. 일부 구현예에서, 디지털 컴포넌트 슬롯은 애플리케이션(112)이 클라이언트 디바이스(110)의 사용자에게 제시하기 위해 디지털 컴포넌트를 요청하게 하는 코드(예를 들어, 스크립트)를 포함할 수 있다.
일부 퍼블리셔(140)는 SSP(150)를 사용하여 그 리소스(145) 및/또는 애플리케이션의 디지털 컴포넌트 슬롯에 대한 디지털 컴포넌트를 획득하는 프로세스를 관리한다. SSP(150)는 리소스 및/또는 애플리케이션에 대한 디지털 컴포넌트를 얻는 프로세스를 자동화하는 하드웨어 및/또는 소프트웨어로 구현된 기술 플랫폼이다. SSP(150)는 하나 이상의 DSP(160)와 인터렉션하여 디지털 컴포넌트 슬롯에 대한 디지털 컴포넌트를 선택하는데 사용될 수 있는 정보를 얻을 수 있다. 각각의 퍼블리셔(140)는 대응하는 SSP(150) 또는 다수의 SSP(150)를 가질 수 있다. 다수의 퍼블리셔(140)가 동일한 SSP(150)를 사용할 수 있다.
디지털 컴포넌트 제공자(170)는 퍼블리셔의 리소스 및 애플리케이션의 디지털 컴포넌트 슬롯에 제시되는 디지털 컴포넌트를 생성(또는 달리 발행)할 수 있다. 디지털 컴포넌트 제공자(170)는 DSP(160)를 사용하여 디지털 컴포넌트 슬롯에서의 제시를 위한 디지털 컴포넌트의 제공을 관리할 수 있다. DSP(160)는 리소스 및/또는 애플리케이션과 함께 제시를 위해 디지털 컴포넌트를 배포하는 프로세스를 자동화하는 하드웨어 및/또는 소프트웨어로 구현된 기술 플랫폼이다. DSP(160)는 디지털 컴포넌트 제공자(170)를 대신하여 다수의 SSP(150)와 인터렉션하여 다수의 상이한 퍼블리셔(140)의 리소스 및/또는 애플리케이션과 함께 제시하기 위한 디지털 컴포넌트를 제공할 수 있다. 일반적으로, DSP(160)는 (예를 들어, SSP(150)로부터 직접 또는 교환을 통해) 디지털 컴포넌트에 대한 요청을 수신하고, 요청에 기초하여 하나 이상의 디지털 컴포넌트 제공자에 의해 생성된 하나 이상의 디지털 컴포넌트에 대한 선택 파라미터를 생성(또는 선택)하고, 디지털 컴포넌트(예를 들어, 디지털 컴포넌트 자체) 및 선택 파라미터와 관련된 데이터를 SSP(150)에 제공한다.
일부 경우에, 사용자의 이익에 따라 디지털 컴포넌트를 받는 것이 사용자에게 유리하다. 일부 퍼블리셔(140)는 퍼블리셔(140)의 네이티브 애플리케이션을 다운로드하기 위해 사용자가 웹사이트(142)를 구독하거나 구독 정보를 제공하도록 요구한다. 다른 경우에, 퍼블리셔(140)는 비-구독자에게 제공되지 않는 추가 서비스 또는 기능을 구독자에게 제공할 수 있다. 구독하기 위해 사용자는 일반적으로 예를 들어 퍼블리셔(140)의 웹사이트(142) 또는 애플리케이션(112)을 통해 전자 메일 주소 또는 전화번호와 같은 PII를 퍼블리셔(140)에 제공한다.
통상적으로, 퍼블리셔 리소스(145)의 디지털 컴포넌트 슬롯의 코드는 디지털 컴포넌트에 대한 요청과 함께 서드파티 쿠키를 보낼 수 있다. 예를 들어, 사용자가 하나 이상의 DSP(160-1…160-N)로부터의 다른 디지털 컴포넌트와 함께 뉴스 기사를 제공하는 퍼블리셔(140)에 의해 발행된 웹사이트를 탐색한다고 가정한다. 뉴스 기사를 수신하기 위해, 사용자는 사용자의 전자 메일 주소를 사용하여 웹사이트를 구독한다. 사용자에게 맞춤형 디지털 컴포넌트를 제공하기 위해, 코드는 서드파티 쿠키(브라우징 기록과 같은 사용자 관련 데이터와 연관될 수 있음)를 SSP(150)에 제공할 수 있으며, 이는 차례로 서드파티 쿠키를 DSP(160)에게 제공할 수 있다. 사용자 데이터에 액세스할 수 있는 모든 당사자가 검증 및/또는 신뢰할 수 있는 것은 아니므로, 이 사용자 데이터는 검증되지 않은 및/또는 신뢰할 수 없는 당사자에 의해 악의적인 활동에 사용될 수 있으며, 사용자는 어떤 엔터티가 데이터를 수신하는지 또는 그러한 데이터가 어떻게 사용되는지에 관하여 거의 또는 전혀 알 수 없다. 대신, 사용자는 클라이언트 디바이스(110)로부터 다양한 쿠키를 삭제하거나, 예를 들어, 그들의 웹사이트에서 하나씩 수신자를 차단해야 할 수 있다.
사용자 프라이버시를 보호하고 사용자 데이터의 보안을 관리하기 위해, 환경(100)은 사용자가 어떤 엔터티가 자신의 데이터를 수신하는지, 어떤 엔터티가 자신의 데이터를 저장하도록 허용되는지, 이러한 엔터티가 어떻게 데이터를 사용하도록 허용되는지 및/또는 엔터티가 데이터를 사용할 수 있는 기간을 관리하게 하는 하나 이상의 데이터 보안 시스템(180)을 포함한다. 기타 데이터 프라이버시 및/또는 사용자 동의 설정도 가능하다. 각각의 데이터 보안 시스템(180)은 사용자 세트에 대한 사용자 데이터의 보안 및 프라이버시를 관리할 수 있다. 일부 구현예에서, 각각의 데이터 보안 시스템(180)은 전자 메일 제공자, 예를 들어 사용자에게 무료 전자 메일 계정을 제공하는 무료 전자 메일 제공자에 의해 관리된다. 이 예에서, 각각의 전자 메일 제공자는 전자 메일 제공자와 전자 메일 계정을 가진 사용자가 데이터 프라이버시 설정을 정의 및 조정하고 데이터 프라이버시 설정에 따라 구독 토큰을 발행할 수 있게 하는 데이터 보안 시스템(180)을 포함할 수 있다.
환경(100)은 각각의 참여 전자 메일 제공자, 예를 들어, 도 2를 참조하여 후술되는 바와 같이 데이터 프라이버시 보호 프로그램에 참여하는 각각의 전자 메일 제공자를 위한 데이터 보안 시스템(180)을 포함할 수 있다. 또한, 환경(100)은 비참여 전자 메일 제공자의 전자 메일 주소를 갖고 있거나 전자 메일 주소가 없는 사용자가 그들의 사용자 프라이버시 설정을 관리할 수 있게 하는 데이터 보안 시스템(180)을 포함할 수 있다. 일부 구현예에서, 환경(100)은 신뢰할 수 있는 당사자, 예를 들어 산업 그룹 또는 정부 기관에 의해 관리되는 단일(또는 다중) 데이터 보안 시스템(180)을 포함할 수 있다.
일반적으로, 데이터 보안 시스템(180)은 구독 토큰을 사용하여 사용자 데이터의 보안 및 프라이버시를 관리할 수 있다. 각 사용자에 대해, 데이터 보안 시스템(180)은 데이터 보안 시스템(180)으로부터 구독 토큰을 요청하는 적격 퍼블리셔에게 구독 토큰을 발행할 수 있다. 적격 퍼블리셔는 예를 들어 퍼블리셔의 콘텐츠를 수신하기 위해 사용자가 구독한 퍼블리셔일 수 있다. 예를 들어, 후술하는 바와 같이 사용자가 퍼블리셔를 구독하면 퍼블리셔는 데이터 보안 시스템(180)에 사용자에 대한 구독 토큰을 요청할 수 있다. 이 요청은 사용자가 퍼블리셔를 구독했음을 나타낼 수 있고 사용자의 전자 메일 주소(또는 예를 들어 데이터 보안 시스템(180)가 전자 메일 제공자가 아닌 경우 구독에 사용되는 다른 PII)를 포함할 수 있다. 사용자가 데이터 보안 시스템(180)에 사용자가 퍼블리셔를 구독하지 않았다는 것을 나타내지 않는 한 또는 그 때까지, 데이터 보안 시스템(180)은 아래에서 더 상세히 설명되는 바와 같이 퍼블리셔에 대한 구독 토큰을 갱신할 수 있다.
일부 구현예에서, 데이터 보안 시스템(180)은 사용자가 전체(또는 적어도 일부) 온라인 생태계에 걸쳐 사용자 프라이버시 설정을 관리할 수 있게 하는 인터렉티브 제어를 사용자 인터페이스에 제공할 수 있다. 예를 들어, 사용자 인터페이스는 사용자에게 모든 현재(활성) 또는 과거(만료) 구독 목록을 제공하는 웹사이트 또는 네이티브 애플리케이션의 사용자 인터페이스일 수 있다. 특정 예에서, 사용자 인터페이스는 사용자가 구독한 퍼블리셔의 목록을 포함할 수 있다. 다른 예에서, 목록은 또한 퍼블리셔의 콘텐츠와 함께 제시하기 위한 디지털 컴포넌트를 선택 및/또는 제공하는 콘텐츠 플랫폼을 포함할 수 있다. 각 퍼블리셔의 경우, 목록은 퍼블리셔의 콘텐츠와 함께 제시할 디지털 컴포넌트를 얻기 위해 퍼블리셔와 파트너가 되는 각 콘텐츠 플랫폼을 포함할 수 있다. 이러한 방식으로, 사용자는 어떤 온라인 엔터티가 사용자에게 직접 또는 간접적으로 디지털 콘텐츠 및/또는 디지털 컴포넌트를 제공하는지 및/또는 사용자 데이터에 액세스할 수 있는지 투명하게 볼 수 있다. 사용자는 사용자 인터페이스를 사용하여 데이터 보안 시스템(180)에 대해 임의의 사기성 구독 예를 들어 퍼블리셔가 사용자 인터페이스에 포함될 수 있으므로 사용자가 구독하지 않았지만 구독 토큰을 요청했거나 사용자가 구독을 취소한 퍼블리셔를 식별할 수 있다. 사용자 인터페이스는 또한 사용자가 구독자를 사기성 또는 미구독자로 지정하게 하거나 사기성 또는 미구독 퍼블리셔를 구독된(예를 들어, 적격한) 퍼블리셔를 지정할 수 있게 하는 인터렉티브 제어, 예를 들어 버튼 또는 선택기를 포함할 수 있다. 이러한 방식으로, 사용자는 사용자의 사용자 데이터에 기초한 디지털 컴포넌트를 선택하는데 사용하기 위해 데이터 보안 시스템(180)이 구독 토큰을 제공하고 따라서 구독 토큰을 콘텐츠 플랫폼(예: SSP(150) 및 DSP(160))에 보낼 수 있는 퍼블리셔를 제어한다.
사용자 인터페이스는 또한 SSP(150) 및 DSP(160) 및 디지털 컴포넌트 제공자(170)와 같은 콘텐츠 플랫폼의 목록을 제공할 수 있다. 예를 들어, 사용자 인터페이스는 사용자에 대한 구독 토큰을 받을 수 있는 적격한 콘텐츠 플랫폼 목록을 포함할 수 있다. 사용자 인터페이스는 사용자로 하여금 콘텐츠 플랫폼을 적격 또는 부적격으로 지정하게 하는 인터렉티브 제어, 예를 들어 버튼 또는 선택기를 포함할 수 있다(예: 구독 토큰을 수신할 수 없으므로 사용자 데이터를 수신, 저장 또는 사용할 수 없음). 초기적으로, 사용자가 퍼블리셔를 구독할 때, 퍼블리셔와 연관된 콘텐츠 플랫폼은 사용자를 위한 적격한 콘텐츠 플랫폼으로 추가될 수 있다. 예를 들어, 퍼블리셔는 퍼블리셔의 콘텐츠와 함께 제시하기 위한 디지털 컴포넌트를 조달하는 SSP(150) 세트를 가질 수 있다. 이 예에서, SSP(150)의 세트는 사용자가 퍼블리셔를 구독한 후 초기적으로 적격 콘텐츠 플랫폼으로서 추가될 수 있다. 그 후, 사용자는 사용자 인터페이스를 사용하여 콘텐츠 플랫폼을 부적격으로 지정할 수 있다.
일부 구현예에서, 사용자 인터페이스는 사용자가 각 엔터티(예: 퍼블리셔, 콘텐츠 플랫폼 또는 디지털 컴포넌트 제공자)가 수신할 수 있는 사용자 데이터, 각 엔터티에서 데이터를 사용할 수 있는 방법 및/또는 데이터를 저장하고 사용할 수 있는 기간을 정의하게 한다. 예를 들어, 사용자 인터페이스는 각 엔터티에 대해 데이터를 사용할 수 있는 방법에 대한 옵션 세트를 포함할 수 있다. 사용자는 각 적격 엔터티에 대해 0개 이상의 옵션을 선택할 수 있다.
사용자에 대한 사용자 데이터의 보안 및 프라이버시를 관리하는 데이터 보안 시스템(180)은 사용자의 현재 데이터 프라이버시 설정을 유지할 수 있고 사용자에 대한 이력적 데이터 프라이버시 설정을 기록할 수 있다. 데이터 프라이버시 설정은 적격 및 부적격 퍼블리셔, 콘텐츠 플랫폼, 디지털 컴포넌트 제공자(170)를 나타내는 데이터와 이들 엔터티 각각에 대한 각각의 설정을 포함할 수 있다.
일부 구현예에서, 데이터 보안 시스템(180)은 사용자 구독 및 데이터 프라이버시 설정을 보고 및/또는 관리하기 위해 사용자 인터페이스 및 인터렉티브 제어(116)를 제공할 수 있는 애플리케이션(113)을 클라이언트 디바이스(110)에 제공할 수 있다. 일부 구현예에서, 데이터 보안 시스템(180)은 예를 들어, 웹페이지의 일부로서 브라우저 내에서 사용자 인터페이스를 제공할 수 있다.
예로서, 사용자가 뉴스 기사를 제공하는 퍼블리셔(140)의 웹사이트(142)로 이동한다고 가정한다. 사용자는 전자 메일 주소 또는 전화번호와 같은 사용자의 PII를 제공함으로써 웹사이트(142)를 구독한다. 퍼블리셔(140)는 사용자로부터 PII를 수신한 후, 데이터 보안 시스템(180)에 연락하여 특정 PII를 가진 사용자가 웹사이트(142)를 구독했음을 알릴 수 있다. 응답으로, 데이터 보안 시스템(180)은 사용자에게 연락하여(예를 들어, 사용자에게 전자 메일을 전송하거나 사용자의 디바이스에 단문 메시지 서비스(SMS) 문자 메시지를 전송함으로써) 사용자에게 사용자가 웹사이트(142)에 대한 최근 구독을 보고 검증하고, 다른 구독을 관리하고, 데이터 프라이버시 설정을 조정할 수 있는 데이터 보안 시스템(180)의 웹사이트에 대한 링크를 프롬프트한다.
일부 구현예에서, 데이터 보안 시스템(180)은 사용자의 전자 메일 주소의 전자 메일 제공자 또는 임의의 신뢰할 수 있는 서드파티 기관에 의해 구현되는 하드웨어 및/또는 소프트웨어로 구현된 기술 플랫폼이다. 이러한 구현예에서, 데이터 보안 시스템(180)과 클라이언트 디바이스(110) 사이의 통신은 사용자에게 전자 메일 서비스를 제공하기 위해 전자 메일 제공자가 사용하는 것과 동일한 네트워크 보안 및 인증 프로토콜을 사용할 수 있다.
일부 구현예에서, 사용자가 퍼블리셔(140)의 웹사이트(142)(또는 다른 콘텐츠)를 구독할 때, 퍼블리셔(140)는 구독 토큰에 대한 요청을 생성하고 네트워크(105)를 통해 데이터 보안 시스템(180)으로 요청을 전송할 수 있다. 데이터 보안 시스템(180)은 사용자에 대한 구독 토큰을 생성하고 구독 토큰을 네트워크(105)를 통해 퍼블리셔(140)로 전송한다.
일반적으로, 각 구독 토큰은 사용자 및 퍼블리셔에 고유하며 특정 데이터 보안 시스템(180)에 의해 생성된다. 예를 들어, 데이터 보안 시스템(180)은 사용자에 대해 사용자의 각 적격 퍼블리셔에 대한 각각의 구독 토큰을 생성할 수 있다. 데이터 보안 시스템(180)은 퍼블리셔로부터의 요청에 응답하여 퍼블리셔에 대한 구독 토큰을 생성할 수 있다. 예를 들어, 퍼블리셔는 퍼블리셔를 구독하는 사용자에 응답하여 사용자에 대한 구독 토큰을 요청할 수 있고, 예를 들어 현재 구독 토큰이 만료되기 전에 갱신된 구독 토큰에 대한 반복적인 요청을 제출할 수 있다.
일부 구현예에서, 각 구독 토큰은 데이터 세트 및 첨부 엘리먼트 세트를 포함한다. 데이터 세트는 제1 암호화된 사용자 식별자(임시 사용자 식별자라고도 함)를 포함한다. 일부 구현예에서, 제1 암호화된 사용자 식별자의 사용자 식별자는 퍼블리셔에 등록하기 위해 사용자가 사용하는 PII이다. 예를 들어, 사용자 식별자는 사용자가 등록하는데 사용한 PII와 퍼블리셔의 요청에 포함된 PII에 따라 사용자의 전자 메일 주소 또는 사용자의 전화번호일 수 있다. 일부 구현예에서, 제1 암호화된 사용자 식별자의 사용자 식별자는 데이터 보안 시스템(180)에 의해 유지되는 사용자에 대한 내부 식별자이다. 예를 들어, 데이터 보안 시스템(180)은 내부 식별자를 PII에 매핑하여 PII가 암호화된 형태라도 구독 토큰에 포함되지 않도록 하여 사용자의 프라이버시 및 데이터 보안을 보다 잘 보호할 수 있다.
제1 암호화된 사용자 식별자는 데이터 보안 시스템(180)에만 알려진 암호화 키를 사용하여 암호화된 사용자의 전자 메일 주소(또는 내부 식별자 또는 기타 PII)일 수 있으며, 이에 따라 구독 토큰을 수신하는 다른 모든 엔터티로부터 일반 텍스트 전자 메일 주소 숨길 수 있다. 이러한 방식으로, 신뢰할 수 없는 및/또는 검증되지 않은 엔터티에 의한 PII를 사용하는 악의적인 활동을 피하기 위해 사용자의 PII가 퍼블리셔(140) 이외의 엔터티로부터 숨겨진다. 일부 구현예에서, 데이터 보안 시스템(180)은 새로운 제1 암호화된 사용자 식별자를 생성하도록 사용자의 전자 메일 주소(또는 내부 식별자 또는 기타 PII)를 암호화하기 위한 매 미리 결정된 시간 간격(예: 24 시간, 2일, 일주일 등) 후에 새로운 암호화 키 또는 새로운 넌스(nonce)를 생성한다.
일부 구현예에서, 데이터 보안 시스템(180)은 정규 시간 간격 후에 생성된 키(또는 넌스)를 사용하여 AES128-GCM과 같은 확률적 대칭 암호화 알고리즘을 사용하여 PII 또는 내부 식별자를 암호화함으로써 제1 암호화된 사용자 식별자를 생성한다. 예를 들어, 데이터 보안 시스템(180)은 24시간마다 또는 다른 적절한 기간마다 비밀 키(또는 넌스)를 생성할 수 있다. 일부 구현예에서, 확률적 암호화 알고리즘은 모든 암호화 프로세스에 대해 고유한 넌스를 생성한다. 이러한 방식으로, 사용자에 대한 각 구독 토큰에 포함된 제1 암호화된 사용자 식별자는 동일한 식별자가 암호화되고 데이터 보안 시스템(180)이 여전히 제1 암호화된 식별자를 복호화할 수 있더라도 달라질 것이다. 이러한 방식으로 암호화된 결과를 변경하면, 특정 사용자에 대해 다수의 구독 토큰을 수신하는 엔터티가 다수의 구독 토큰을 함께 연관시킬 수 없거나 토큰이 동일한 사용자를 위한 것인지 결정할 수 없다.
구독 토큰의 데이터 세트는 구독 토큰의 만료 날짜도 포함할 수 있다. 각 구독 토큰은 만료 시간으로 지정된 특정 기간 동안 사용할 수 있다. 예를 들어, 각 구독 토큰은 일, 주, 월 또는 기타 적절한 기간에 대한 것일 수 있다. 구독 토큰은 해당 기간 동안 사용자 데이터를 수신, 저장 또는 사용할 수 있는 엔터티 및/또는 각 엔터티가 해당 기간 동안 사용자 데이터를 사용할 수 있는 방법을 정의한다. 구독 토큰을 받는 각 엔터티는 엔터티가 해당 기간 동안 사용자의 데이터를 수신, 저장 및/또는 사용하도록 허용했다는 검증 가능한 증거로 구독 토큰을 저장할 수 있다.
구독 토큰의 데이터 세트는 사용자가 퍼블리셔와 구독을 확인했는지 여부를 나타내는 확인 상태를 포함할 수 있다. 예를 들어, 동의 상태는 사용자가 데이터 보안 시스템(180)에 로그인했는지, 데이터 프라이버시 설정을 관리하기 위한 사용자 인터페이스에 액세스했는지, 퍼블리셔(140)에 대한 구독을 확인했는지 여부를 나타낼 수 있다.
구독 토큰의 데이터 세트는 사용자의 현재 데이터 프라이버시 설정을 나타내는 사용자 동의 데이터를 포함할 수 있다. 예를 들어, 사용자 동의 데이터는 사용자 데이터를 획득, 저장, 액세스 또는 사용하기 위해 사용자로부터 동의를 받은 콘텐츠 플랫폼, 퍼블리셔 및/또는 기타 엔터티를 나타내는 사용자 동의 문자열을 포함할 수 있다. 일부 구현예에서, 구독 토큰은 사용자의 액세스 및/또는 브라우징 이력과 같은 사용자 데이터의 삭제와 같은 소비자 권리를 행사하기 위한 사용자의 요청을 인코딩하는 데이터를 더 포함한다. 예를 들어, 구독 토큰을 사용하여 엔터티가 사용자의 모든 데이터를 삭제하도록 요청할 수 있다. 구독 토큰의 데이터 세트는 또한 사용 사례 특정 데이터, 예를 들어 특정 소비자 권리 유형 및 적용 범위를 포함할 수 있다.
일부 구현예에서, 구독 토큰의 데이터 세트는 퍼블리셔(140)의 도메인을 포함한다. 예를 들어, 구독 토큰은 사용자가 구독한 웹사이트(142)의 도메인을 포함할 수 있다. 다른 구현예에서, 구독 토큰의 데이터 세트는 또한 구독 토큰을 발행한 PII 제공자 또는 데이터 보안 시스템(180)의 도메인을 포함할 수 있다. 예를 들어, 웹사이트(142)에 제공된 PII가 사용자의 전자 메일 주소인 경우, 전자 메일 제공자의 도메인은 구독 토큰의 데이터 세트에 포함된다. PII 제공자 및/또는 웹사이트의 도메인은 eTLD+1 형식일 수 있다. eTLD+1은 유효 최상위 도메인(eTLD)에 공용 접미사보다 한 레벨을 더 추가한 것이다. eTLD+1의 예는 "example.com"이며, 여기서 ".com"은 최상위 도메인이다.
일부 구현예에서, 구독 토큰은 퍼블리셔(140)의 콘텐츠와 함께 제시하기 위한 디지털 컴포넌트를 선택 및/또는 제공하는 적격 콘텐츠 플랫폼 각각에 대한 첨부 엘리먼트를 포함한다. 예를 들어, 퍼블리셔(140)는 퍼블리셔(140)에 의해 퍼블리싱된 웹사이트 및/또는 애플리케이션 콘텐츠와 함께 제시하기 위한 디지털 컴포넌트를 선택하고 제공하기 위해 인터렉션하는 SSP(150) 및/또는 DSP(160)와 같은 콘텐츠 플랫폼의 목록을 유지할 수 있다. 일 예에서, 콘텐츠 플랫폼의 목록은 구독 토큰에 대한 요청과 함께 데이터 보안 시스템(180)으로 전송된다. 데이터 보안 시스템(180)은 콘텐츠 플랫폼의 목록을 수신한 후, 목록의 각 콘텐츠 플랫폼에 대한 첨부 엘리먼트를 생성한다. 구현예에 따라, 구독 토큰은 사용자 데이터를 수신 및/또는 사용할 수 있는 각 엔터티(예: 구독 토큰이 발행되는 퍼블리셔 제외)에 대한 첨부 엘리먼트를 포함할 수 있다.
위에서 설명한 바와 같이, 사용자는 사용자 데이터를 수신, 저장 및/또는 사용하기에 적합한 콘텐츠 플랫폼을 선택할 수 있다. 이 예에서, 데이터 보안 시스템(180)은 적격 콘텐츠 플랫폼에 대한 첨부 엘리먼트만을 생성하고 포함한다. 다른 예에서, 사용자는 콘텐츠 플랫폼이 사용자 데이터를 획득하거나 저장하는 것을 허용하지 않을 수 있지만 콘텐츠 플랫폼이 개인화되지 않은 디지털 컴포넌트를 제공하는 것을 허용할 수 있다. 이러한 구현예에서, 구독 토큰은 콘텐츠 플랫폼에 특정한 사용자 동의를 포함하는 콘텐츠 플랫폼에 대한 첨부 엘리먼트를 여전히 포함할 수 있다(예를 들어, 개인화된 디지털 컴포넌트를 제공하는 것이 허용되지 않음). 이 콘텐츠 플랫폼은 사용자의 데이터를 사용하는 것이 허용되지 않으므로, 이 콘텐츠 플랫폼의 첨부 엘리먼트는 사용자에 대한 유효한 제2 암호화된 사용자 식별자(아래에 설명됨)가 포함되지 않으므로 콘텐츠 플랫폼이 구독 토큰을 사용자와 연관시키는 것을 방지한다. 대안적으로, 구독 토큰은 콘텐츠 플랫폼에 대한 첨부 엘리먼트를 포함하지 않을 수 있다. 이 예에서 구독 토큰은 콘텐츠 플랫폼에 특정한 사용자 동의를 포함할 수 있다.
콘텐츠 플랫폼에 대한 첨부 엘리먼트는 사용자에 대한 제2 암호화된 사용자 식별자를 포함한다. 이 사용자 식별자는 아래에 설명된 대로 구현예에 따라 다를 수 있다. 어느 구현예에서나, 사용되는 사용자 식별자는 콘텐츠 플랫폼(및 필요한 경우 데이터 보안 시스템(180))에만 알려진 암호화 및/또는 복호화 키를 사용하여 복호화 가능하도록 암호화될 수 있다. 이러한 방식으로 각 콘텐츠 플랫폼은 사용자 식별자의 일반 텍스트 값을 얻기 위해 해당 첨부 엘리먼트만 복호화할 수 있다. 이 사용자 식별자를 사용하면 제1자 또는 제3자 쿠키를 사용하여 사용자 데이터를 연관시키는 방법과 유사하게 적격한 콘텐츠 플랫폼이 다수의 구독 토큰을 동일한 사용자 식별자와 상관시키게 할 수 있다.
콘텐츠 플랫폼이 나중에 사용자에 의해 부적격으로 지정되거나 사용자가 콘텐츠 플랫폼에 개인화된 콘텐츠를 제공하는 것을 차단하는 경우, 사용자에 대한 구독 토큰은 해당 콘텐츠 플랫폼에 대한 첨부 엘리먼트를 더 이상 포함하지 않는다(또는 해당 콘텐츠 플랫폼에 대한 제2 암호화된 사용자 식별자를 포함하지 않는다). 콘텐츠 플랫폼은 첨부 엘리먼트의 제1 암호화된 사용자 식별자 또는 제2 암호화된 사용자 식별자들 중 어느 것도 복호화할 수 없으므로, 부적격한 콘텐츠 플랫폼은 사용자에 대한 후속 구독 토큰들 중 임의의 것을 사용자에 대한 이전 구독 토큰과 상관시킬 수 없다.
일부 구현예에서, 첨부 엘리먼트의 제2 암호화된 사용자 식별자는 SHA256과 같은 암호화 해시 기능을 사용하여 생성되고 콘텐츠 플랫폼의 암호화 키를 사용하여 암호화된 사용자의 전자 메일 주소(또는 사용자의 전화번호 또는 PII와 연관된 데이터 보안 시스템(180)에 의해 제공되는 사용자 식별자와 같은 다른 PII)의 해시된 값이다.
일부 구현예에서, 첨부 엘리먼트의 제2 암호화된 사용자 식별자는 콘텐츠 플랫폼의 암호화 키를 사용하여 암호화된 데이터 보안 시스템(180)에 의해 콘텐츠 플랫폼에 할당된 사용자 식별자일 수 있다. 사용자 식별자는 데이터 보안 시스템(180)에 의해 콘텐츠 플랫폼에 할당된 가명 식별자일 수 있다. 이 사용자 식별자는 수신자 도메인별로 분할되거나 분할되지 않을 수 있다. 예를 들어, 데이터 보안 시스템(180)은 비대칭 키 암호화 알고리즘을 사용하여 공개/개인 키 쌍을 생성할 수 있다. 이러한 경우 사용자 식별자는 고정 길이(예: 16바이트)로 잘린 SHA256과 같은 암호화 해시 함수를 사용하여 생성된 공개 키의 해시 값일 수 있다. 그런 다음 사용자 식별자는 콘텐츠 플랫폼의 암호화 키를 사용하여 암호화된다.
일부 구현예에서, 데이터 보안 시스템(180)은 데이터 보안 시스템(180)과 연관된 각각의 엔터티에 대한 비대칭 키 암호화 알고리즘을 사용하여 공개/개인 키 쌍을 생성할 수 있다. 이러한 시나리오에서, 특정 엔터티에 대한 제2 암호화된 사용자 식별자의 사용자 식별자는 예를 들어 고정 길이로 잘린 SHA256과 같은 암호화 해시 함수를 사용하여 특정 엔터티에 대해 생성된 공개 키의 해시 값일 수 있다. 다른 예에서, 데이터 보안 시스템(180)은 공개 및 개인 키를 생성 및 저장하는 것과 대조적으로 각 엔터티에 대한 공개 및 개인 키를 생성하기 위해 각 사용자 및 암호화 함수에 대한 단일 개인 키(마스터 개인 키라고 함)를 사용할 수 있어서, 데이터 스토리지를 절약한다. 예를 들어, 특정 엔터티에 대한 개인 키는 암호화 함수 g(마스터 개인 키, 특정 엔터티의 도메인)를 사용하여 생성될 수 있고, 여기서 암호화 함수 g는 마스터 개인 키에 적용되고 특정 엔터티의 도메인은 특정 엔터티의 eTLD+1(entity_eTLD+1이라고 함)를 표현한다. 마찬가지로 특정 엔터티에 대한 공개 키는 암호화 함수 h(마스터 개인 키, 특정 엔터티의 도메인)를 사용하여 생성할 수 있고, 여기서 암호화 함수 h는 마스터 개인 키에 적용되고, 특정 엔터티의 도메인은 특정 엔터티의 eTLD+1를 표현한다. 두 경우 모두, 특정 엔터티에 대한 제2 암호화된 사용자 식별자의 사용자 식별자는 예를 들어 고정 길이로 잘린 SHA256과 같은 암호화 해시 함수를 사용하여 특정 엔터티에 대해 생성된 공개 키의 해시 값일 수 있다.
SSP(150), DSP(160) 및 디지털 컴포넌트 제공자(170)와 같은 콘텐츠 플랫폼은 제2 암호화된 사용자 식별자의 사용자 식별자를 사용하여 사용자 데이터에 액세스하여 사용자의 PII에 액세스하지 않고도 맞춤형 디지털 컴포넌트를 전달할 수 있다. 또한, 이것은 사용자가 예를 들어 데이터 프라이버시 사용자 인터페이스를 사용하여, 사용자에 대한 사용자 식별자를 재설정할 수 있게 하고, 따라서 이전 사용자 식별자와 새로운 사용자 식별자 사이의 상관을 방지한다.
일부 구현예에서, 구독 토큰의 각 첨부 엘리먼트는 또한 디지털 서명을 포함할 수 있다. 이 디지털 서명은 데이터 세트(또는 데이터 세트의 적어도 일부, 예를 들어, 제1 암호화된 사용자 식별자) 및 첨부 엘리먼트의 제2 암호화된 사용자 식별자의 디지털 서명일 수 있다. 즉, 데이터 보안 시스템(180)은 데이터 보안 시스템(180)의 비대칭 개인 키를 사용하여 구독 토큰의 데이터 세트와 첨부 엘리먼트의 제2 암호화된 사용자 식별자에 대해 디지털 서명함으로써 첨부 엘리먼트의 디지털 서명을 생성할 수 있다.
각 콘텐츠 플랫폼은 구독 토큰이 생성된 후, 예를 들어 네트워크(105)를 통한 전송 동안 구독 토큰의 콘텐츠가 변경되지 않았음을 검증하기 위해 디지털 서명을 사용할 수 있다. 콘텐츠 플랫폼은 서명 생성에 사용된 개인 키에 대응하는 비대칭 공개 키를 사용하여 전자 서명을 검증할 수 있다. 디지털 서명이 생성된 후 구독 토큰의 데이터 세트 또는 제2 암호화된 사용자 식별자 중 임의의 부분이 변경되면 디지털 서명 검증은 실패할 것이다.
일부 구현예에서, 구독 토큰은 데이터 세트 및 모든 첨부 엘리먼트를 포함하는 구독 토큰의 나머지 콘텐츠에 서명함으로써 생성되는 디지털 서명을 포함한다. 이러한 방식으로 구독 토큰은 많은 첨부 엘리먼트가 포함할 수 있지만 구독 토큰은 단일 디지털 서명을 포함한다. 이러한 방식으로, 구독 토큰의 데이터 크기가 줄어들고, 결과적으로 네트워크(105)를 통해 구독 토큰을 전송할 때 데이터 스토리지 요구사항이 감소되고 네트워크 대역폭 소비가 감소한다.
따라서 구독 토큰을 통해 각 콘텐츠 플랫폼은 특정 사용자의 클라이언트 디바이스에 디지털 컴포넌트를 제공하는데 동의했는지 여부를 알 수 있다. 특히 콘텐츠 플랫폼이 첨부 엘리먼트 중 하나의 암호화된 제2 사용자 식별자를 복호화할 수 있는 경우에만 해당 제2 사용자 식별자에 의해 식별된 사용자에게 디지털 컴포넌트를 제공하는데 동의했다는 것을 알 수 있다. 또한, 다른 콘텐츠 플랫폼의 제1 사용자 식별자 또는 제2 사용자 식별자를 복호화할 수 없으며 승인되지 않은 당사자는 제1 또는 제2 사용자 식별자를 복호화할 수 없다. 이는 사용자 데이터의 보안을 향상시키는데 도움이 된다. 또한 구독 토큰은 각 콘텐츠 플랫폼에 대한 첨부 엘리먼트를 포함하므로 단일 구독 토큰만 사용하면 된다(해당되는 경우 지정된 만료 시간 제한 내). 이는 계산 및 네트워크 효율성을 개선하는데 도움이 된다. 따라서 본 기법은 계산 및 네트워크 효율적 방식으로 사용자 데이터의 향상된 보안을 제공한다. 또한, 디지털 서명이 설명된 방식으로 각 첨부 엘리먼트와 함께 제공되는 실시예에서, 위조 구독 토큰이 검출되도록 돕기 때문에 보안이 더욱 향상된다(예: 암호화된 제1 사용자 식별자 또는 첨부 엘리먼트 중 하나가 이전에 합법적으로 생성됨). 동시에 단일 구독 토큰을 갖는 것과 연관된 효율성이 유지된다. 이러한 실시예는 계산 및 네트워크 효율적 방식으로 사용자 데이터의 개선된 보안을 제공하는데 도움이 된다.
일부 구현예에서, 구독 토큰의 각 첨부 엘리먼트는 첨부 엘리먼트가 대응하는 개별 콘텐츠 플랫폼에 대한 식별자를 포함한다. 특정 구현예에 따라 콘텐츠 플랫폼의 식별자 범위가 다를 수 있다. 예를 들어, 콘텐츠 플랫폼은 각 콘텐츠 플랫폼이 데이터 보안 시스템 도메인 내에서 고유하게 식별될 수 있도록 (예: 전자 메일 제공자의) 데이터 보안 시스템(180)에 의해 콘텐츠 플랫폼의 eTLD+1과 다른 고유 식별자를 발행할 수 있다. 다른 예에서, 하나 이상의 전자 메일 제공자 또는 중앙 기관은 모든 콘텐츠 플랫폼의 전역적으로 인정된 레지스트리를 공동으로 유지하고 각 콘텐츠 플랫폼이 인터넷을 통해 전역적으로 식별될 수 있도록 다수의 콘텐츠 플랫폼 각각에 고유 식별자를 발행할 수 있다.
구독 토큰의 일부로서 각 첨부 엘리먼트에 대한 콘텐츠 플랫폼의 식별자를 포함함으로써, 각 콘텐츠 플랫폼은 대응하는 첨부 엘리먼트를 쉽게 찾고 복호화된 제2 사용자 식별자를 복호화할 수 있다. 이것은 올바른 제2 암호화된 사용자 식별자를 최종적으로 복호화할 때까지 각 첨부 엘리먼트의 제2 암호화된 사용자 식별자를 복호화하려고 시도하는데 낭비되는 계산 리소스를 절약한다.
상술한 바와 같이, 제1 암호화된 사용자 식별자는 사용자 식별자를 암호화하는데 사용되는 확률적 대칭 암호화 알고리즘에 기초하여 각 암호화에 따라 변경된다. 따라서 이 제1 암호화된 사용자 식별자는 임시적이며, 갱신된 구독 토큰마다 변경되며, 제1 암호화된 사용자 식별자가 각 퍼블리셔에 대해 별도로 암호화되는 경우 각 퍼블리셔마다 다를 수 있다. 이렇게 하면 제1 암호화된 사용자 식별자가 시간이 지남에 따라 안정적이고 사용자에 대한 구독 토큰을 받는 각 퍼블리셔에 대해 동일한 경우 엔터티가 사용자를 추적하는 것을 방지할 수 있다. 제2 암호화된 사용자 식별자는 주어진 콘텐츠 플랫폼에 대한 첨부 엘리먼트가 주어진 사용자에 대한 각 구독 토큰에 포함되지 않을 가능성이 높기 때문에 안정적일 수 있다. 예를 들어, 사용자는 10개의 다른 퍼블리셔를 구독할 수 있다. 각 퍼블리셔는 다른 콘텐츠 플랫폼을 사용할 수 있다. 따라서 주어진 콘텐츠 플랫폼에 대한 첨부 엘리먼트는 10명의 퍼블리셔 중 하나에 대한 구독 토큰에만 포함된다. 이 예에서 제1 암호화된 사용자 식별자가 시간이 지남에 따라 변경되면 엔터티는 다른 퍼블리셔에게 전송된 구독 토큰을 상관시킬 수 없다.
일부 구현예에서, 퍼블리셔(140)는 구독 토큰을 수신한 후, 예를 들어 퍼블리셔(140)의 웹 페이지 또는 다른 리소스와 함께 구독 토큰을 클라이언트 디바이스(110)에 전송한다. 클라이언트 디바이스(110)의 사용자가 하나 이상의 디지털 컴포넌트 슬롯을 포함하는 웹사이트(142)를 탐색할 때, 클라이언트 디바이스(110)는 네트워크(105)를 통해 구독 토큰과 함께 DSP(160)와 같은 콘텐츠 플랫폼으로 전송된 하나 이상의 디지털 컴포넌트 슬롯 각각에 대한 디지털 컴포넌트에 대한 요청을 생성한다. 디지털 컴포넌트에 대한 요청을 수신한 콘텐츠 플랫폼은 데이터 보안 시스템(180)에 의해 생성되었던 구독 토큰의 디지털 서명과 데이터 보안 시스템(180)의 공개 키를 사용하여 구독 토큰을 확인한다. 다른 예에서, 퍼블리셔(140)(또는 SSP(150))는 디지털 컴포넌트에 대한 요청을 생성하고, 이를 네트워크(105)를 통해 구독 토큰과 함께 DSP(160)(또는 디지털 컴포넌트 제공자(170))에 전송할 수 있다.
일부 구현예에서, 퍼블리셔(140)는 구독 토큰을 수신한 후 구독 토큰을 유지한다. 클라이언트 디바이스(110)가 웹사이트(142)의 하나 이상의 디지털 컴포넌트 슬롯 각각에 대한 디지털 컴포넌트에 대한 요청을 생성하고 이를 네트워크(105)를 통해 SSP(150)에 전송할 때, SSP(150)는 디지털 컴포넌트에 대한 요청을 구독 토큰과 함께 네트워크(105)를 통해 DSP(160) 또는 디지털 컴포넌트 제공자(170)와 같은 콘텐츠 플랫폼에 전송한다.
디지털 서명을 통해 구독 토큰을 확인한 후 콘텐츠 플랫폼은 구독 토큰의 유효성에 기반하여 클라이언트 디바이스(110)(또는 퍼블리셔(140), SSP(150))에 디지털 컴포넌트를 제공하거나 제공하지 않도록 선택할 수 있다. 예를 들어, DSP(160)는 구독 토큰이 만료 날짜가 경과한 경우 디지털 컴포넌트를 클라이언트 디바이스에 제공하지 않을 수 있다. 다른 예에서, 특정 DSP(160)는 DSP(160)가 특정 DSP(160)의 고유 식별자를 포함하는 DSP(160)와 연관된 부착 엘리먼트를 찾을 수 없는 경우 클라이언트 디바이스(110)에 디지털 컴포넌트를 제공하지 않을 수 있다. 구독 토큰이 성공적으로 확인되면, 콘텐츠 플랫폼은 제2 암호화된 사용자 식별자를 복호화하고 사용자 식별자에 대응하는 사용자의 데이터를 사용하여 사용자에 의해 지정된 콘텐츠 플랫폼에 대한 데이터 프라이버시 설정에 따라 디지털 컴포넌트를 선택할 수 있다.
구독 토큰을 수신하는 콘텐츠 플랫폼은 예를 들어 콘텐츠 플랫폼이 구독 토큰의 데이터 프라이버시 설정에 따라 사용자의 데이터를 사용했는지 검증하기 위해 구독 토큰을 저장할 수 있다. 일부 경우에, 콘텐츠 플랫폼은 만료 날짜 전에 동일한 구독 토큰을 여러 번 받을 수 있다. 예를 들어, 퍼블리셔의 구독 토큰은 24시간 후에 만료되도록 설정할 수 있다. 이 예에서, 사용자는 하루에 여러 번 퍼블리셔의 웹사이트를 탐색할 수 있다. 매번 동일한 구독 토큰을 포함하는 디지털 컴포넌트에 대한 요청이 생성될 수 있다. 예를 들어, 각 요청에 대해 한 번씩 구독을 여러 번 저장하는 대신, 콘텐츠 플랫폼은 각 구독 토큰을 한 번 저장할 수 있다. 콘텐츠 플랫폼은 사용자 데이터가 디지털 컴포넌트를 선택하는데 사용된 각 이벤트를 나타내는 이벤트 로그와 각 이벤트에 대해 콘텐츠 플랫폼이 사용자 데이터를 사용하도록 허용한 구독 토큰의 식별자를 유지 관리할 수 있다. 이러한 방식으로 데이터 스토리지 요구사항은 감소하는 동시에 콘텐츠 플랫폼이 사용자가 콘텐츠 플랫폼에 제공한 사용자 동의 내에서 작동하고 있는지에 대한 감사가능한 검증을 제공한다.
도 2는 전자 메일 제공자(240)와 중앙 기관(210)이 사용자 데이터의 보안 및 프라이버시를 관리하는 예시적 환경(200)의 블록도이다. 이 예에서, 전자 메일 제공자(240) 및 중앙 기관의 디폴트 데이터 관리자(213)는 도 1의 데이터 보안 시스템(180)의 기능을 수행한다.
중앙 기관(210)은 산업 그룹 또는 정부 기관과 같은 신뢰할 수 있는 당사자일 수 있다. 중앙 기관(210)은 온라인 생태계 전반에 걸쳐 사용자 데이터의 보안 및 프라이버시를 보호하기 위한 식별자로서 전자 메일 주소의 사용을 관리할 수 있다. 예를 들어, 중앙 기관(210)은 이 데이터 프라이버시 보호 프로그램에 참여하는 전자 메일 제공자를 관리할 수 있다. 중앙 기관(210)은 참여자인 각 전자 메일 제공자(240)를 식별하는 전자 메일 제공자 레지스트리(211) 및 참여자인 각 콘텐츠 플랫폼(예를 들어, SSP 및 DSP)을 식별하는 콘텐츠 플랫폼 레지스트리(212)를 유지할 수 있다. 전자 메일 공급자 및 콘텐츠 플랫폼은 데이터 프라이버시 보호 프로그램에 참여하기 위해 중앙 기관에 등록할 수 있다. 중앙 기관(210)은 데이터 프라이버시 보호 프로그램의 규칙을 따르지 않는 예를 들어, 사용자가 허용하지 않은 방식으로 사용자 데이터를 사용하거나 갱신된 구독 토큰이 참여자에게 거부된 경우 만료된 구독 토큰을 기반으로 사용자 데이터를 사용하는 참여자를 제거할 수 있다.
각각의 퍼블리셔(220)는 어떤 전자 메일 제공자(240) 및 콘텐츠 플랫폼이 참여자인지 식별하기 위해 중앙 기관(210)의 컴퓨팅 시스템과 인터렉션할 수 있다. 예를 들어, 사용자가 퍼블리셔(220)가 이전에 보지 않은 도메인의 전자 메일 주소로 퍼블리셔(220)를 구독하는 경우, 퍼블리셔(220)는 도메인에 대한 전자 메일 제공자(240)가 데이터 프라이버시 보호 프로그램에 참여할지 여부를 중앙 기관(210)에 질의할 수 있다. 참여한다면, 퍼블리셔(220)는 전자 메일 제공자로부터 사용자에 대한 구독 토큰을 요청할 수 있다. 참여하지 않는다면, 퍼블리셔(220)는 디폴트 데이터 관리자(213)로부터 사용자에 대한 구독 토큰을 요청할 수 있다. 기본 데이터 관리자(213)는 비참여 전자 메일 제공자의 전자 메일 주소를 가지거나 다른 PII를 사용하여 구독하는 사용자, 예를 들어 전화번호를 사용하여 구독하는 사용자를 위해 퍼블리셔(220)에 구독 토큰을 발행할 수 있다.
퍼블리셔는 참여자 콘텐츠 플랫폼에 구독 토큰을 제공할 수 있다. 예를 들어, 퍼블리셔(220)는 퍼블리셔(220)의 콘텐츠(예: 애플리케이션 콘텐츠의 웹페이지)에 제시하기 위한 디지털 컴포넌트를 얻기 위해 디지털 컴포넌트에 대한 요청과 함께, 퍼블리셔(220)와 파트너인 참여자 콘텐츠 플랫폼(230-1 내지 230-N)에 사용자에 대한 구독 토큰을 제공할 수 있다. 구독 토큰은 콘텐츠 플랫폼(230-1 내지 230-N) 각각에 대한 각각의 첨부 엘리먼트를 포함할 수 있다. 콘텐츠 플랫폼(230-1 내지 230-N)은 또한 예를 들어 구독 토큰이 다른 참여자 콘텐츠 플랫폼을 식별하거나 다른 참여자 콘텐츠 플랫폼에 대한 식별자를 갖는 첨부 엘리먼트를 포함하는 경우 구독 토큰을 다른 참여자 콘텐츠 플랫폼에 포워딩할 수 있다. 퍼블리셔(220)는 비참여 콘텐츠 플랫폼에 구독 토큰을 포워딩하는 것이 허용되지 않을 수 있다.
도 3은 디지털 컴포넌트를 제공하기 위해 구독 토큰을 사용하기 300 위한 예시적 프로세스(300)를 도시하는 스윔 레인 다이어그램이다. 프로세스(300)의 동작은 예를 들어 데이터 보안 시스템(180), 클라이언트 디바이스(110), 퍼블리셔(140) 및 SSP(150)에 의해 구현될 수 있다. 또한, 프로세스(300)의 동작은 비일시적인 하나 이상의 컴퓨터 판독가능 매체에 저장된 명령어로 구현될 수 있으며, 하나 이상의 데이터 프로세싱 장치에 의한 명령어의 실행은 상기 하나 이상의 데이터 프로세싱 장치로 하여금 프로세스(300)의 동작을 수행하게 한다.
이 예에서, 클라이언트 디바이스(110)의 사용자는 웹 서버에서 호스팅되는 퍼블리셔(140)의 웹사이트(142)에 액세스하기 위해 웹 브라우저와 같은 애플리케이션(112)을 사용한다. 웹사이트(142)에 액세스하기 위해, 클라이언트 디바이스(110)는 웹사이트(142)에 대한 요청을 개시할 수 있고, 웹사이트(142)를 호스팅하는 웹 서버는 클라이언트 디바이스(110)에서 웹페이지(또는 다른 전자 리소스)의 제시를 개시하는 컴퓨터 실행가능 명령어 및/또는 데이터를 송신함으로써 요청에 응답할 수 있다.
클라이언트 디바이스(110)의 사용자는 퍼블리셔(140)의 웹사이트(142)로 이동한다(302) 예를 들어, 클라이언트 디바이스(110)의 사용자는 참조(예를 들어, URL)를 지정함으로써 웹사이트(142)를 방문하기 위해 애플리케이션(112)(예를 들어, 브라우저)을 사용할 수 있다.
클라이언트 디바이스(110)는 콘텐츠에 대한 요청을 생성하고 네트워크(105)를 통해 퍼블리셔에게 요청을 전송한다(304). 예를 들어, 클라이언트 디바이스(110)의 사용자가 웹사이트(142)를 탐색한 후, 애플리케이션(112)은 요청을 생성하고 이를 네트워크(105)를 통해 웹사이트(142)를 호스팅하는 웹 서버로 전송한다.
디지털 콘텐츠에 대한 요청은 예를 들어, 패킷화된 네트워크(105)를 통해 전송될 수 있고, 콘텐츠 요청 자체는 헤더 및 페이로드 데이터를 갖는 패킷화된 데이터로서 포맷팅될 수 있다. 상기 헤더는 상기 패킷의 목적지를 특정할 수 있고, 상기 페이로드 데이터는 상기 논의된 임의의 정보를 포함할 수 있다.
퍼블리셔(140), 예를 들어 퍼블리셔(140)의 웹 서버 또는 콘텐츠 서버는 콘텐츠로 응답한다(306). 예를 들어, 클라이언트 디바이스(110)로부터 디지털 콘텐츠(예를 들어, 웹사이트(142))에 대한 요청을 수신한 후, 웹 서버는 클라이언트 디바이스(110)의 웹사이트(142)의 리소스(예를 들어, 웹 페이지)의 제시를 개시하는 컴퓨터 실행가능 명령어 및 데이터를 전송함으로써 응답할 수 있다. 응답은 예를 들어 패킷화된 네트워크(105)를 통해 전송되는 웹사이트와 관련된 데이터를 포함할 수 있고 콘텐츠 자체는 패킷화된 데이터로 포맷팅될 수 있다.
클라이언트 디바이스(110)의 사용자는 사용자의 PII(308)를 제공하고 웹사이트(142)의 퍼블리셔(140)를 구독한다. 예를 들어, 퍼블리셔가 뉴스 기관이고, 웹사이트(142)가 뉴스 기사를 제공한다고 가정한다. 사용자는 퍼블리셔(140)의 웹사이트(142)를 구독하여 매일 뉴스 기사를 수신할 수 있다. 클라이언트 디바이스(110)의 사용자는 뉴스 기사를 수신하는 서비스에 대한 대가로 웹사이트(142)의 퍼블리셔(140)에게 사용자의 전자 메일 주소(또는 전화번호 또는 다른 PII)를 제공할 수 있다.
퍼블리셔(140)는 구독 토큰(310)에 대한 요청을 데이터 보안 시스템(180)에 전송한다. 예를 들어, 클라이언트 디바이스(110)의 사용자로부터 전자 메일 주소를 수신한 후, 퍼블리셔(140)는 전자 메일 주소의 도메인, 예를 들어, 사용자에 대한 전자 메일 계정의 전자 메일 제공자를 식별하고, 전자 메일 제공자의 데이터 보안 시스템(180)에 대한 구독 토큰에 대한 요청을 전송한다. PII가 전자 메일 주소가 아니거나 전자 메일 제공자가 참여자가 아닌 경우, 퍼블리셔(140)는 도 2의 기본 데이터 관리자(213)와 같은 다른 데이터 보안 시스템(180)에 요청을 전송할 수 있다.
데이터 보안 시스템(180)은 구독 토큰을 생성한다(312). 구독 토큰에 대한 요청을 수신한 후, 데이터 보안 시스템(180)은 퍼블리셔(140) 및 사용자를 위한 구독 토큰을 생성한다. 위에서 설명된 바와 같이, 구독 토큰은 무엇보다도 제1 암호화된 사용자 식별자를 포함하는 데이터 세트를 포함한다. 일부 구현예에서, 제1 암호화된 사용자 식별자는 암호화된 PII 또는 데이터 보안 시스템(180) 이외의 다른 당사자가 구독 토큰에서 일반 텍스트로 된 사용자의 전자 메일 주소를 추출할 수 없도록 하는 데이터 보안 시스템(180)의 암호화 키를 사용하여 암호화된 사용자의 내부 식별자이다.
일부 구현예에서, 구독 토큰은 퍼블리셔(140)를 위한 디지털 컴포넌트의 제공을 관리하는 콘텐츠 플랫폼(예를 들어, SSP 및/또는 DSP) 각각에 대한 첨부 엘리먼트를 포함한다. 구독 토큰의 각 첨부 엘리먼트는 특정 콘텐츠 플랫폼에서 사용하도록 지정된다. 전술한 바와 같이, 각각의 첨부 엘리먼트는 사용자에 대한 제2 암호화된 사용자 식별자를 포함하고, 구독 토큰 및 제2 암호화된 사용자 식별자의 데이터 세트에 기초하여 생성된 디지털 서명을 포함할 수 있다. 다른 예에서, 구독 토큰은 구독 토큰의 데이터 세트 및 구독 토큰의 모든 첨부 엘리먼트에 기초하여 생성된 단일 디지털 서명을 포함한다.
구독 토큰의 승인된 사용을 지원하기 위해, 첨부는 퍼블리셔(140)에 디지털 컴포넌트를 제공하는 DSP(160) 또는 디지털 컴포넌트 제공자(170)와 같은 개별 콘텐츠 플랫폼에 대한 식별자를 포함한다. 콘텐츠 플랫폼의 식별자 범위는 구현예에 따라 다를 수 있다. 예를 들어, 콘텐츠 플랫폼은 각각의 콘텐츠 플랫폼이 데이터 보안 시스템의 도메인 내에서 고유하게 식별될 수 있도록 데이터 보안 시스템(180)에 의해 고유 식별자를 발행할 수 있다. 다른 예에서, 하나 이상의 전자 메일 제공자 또는 중앙 기관은 모든 콘텐츠 플랫폼의 세계적으로 인정된 레지스트리를 공동으로 유지하고, 각각의 콘텐츠 플랫폼이 다수의 도메인에 걸쳐 식별될 수 있도록 다수의 콘텐츠 플랫폼 각각에 고유 식별자를 발행할 수 있다.
데이터 보안 시스템(180)은 구독 토큰을 퍼블리셔(140)에게 전송한다(314). 퍼블리셔(140)는 웹 페이지 또는 퍼블리셔의 다른 콘텐츠와 함께 사용자에게 제시하기 위한 디지털 컴포넌트를 획득하는데 사용하기 위한 구독 토큰을 저장할 수 있다.
클라이언트 디바이스(110)는 디지털 컴포넌트에 대한 요청을 SSP(150)로 전송한다(316). 예를 들어, 퍼블리셔(140)에 가입한 후, 사용자는 예를 들어 더 많은 뉴스 기사를 보기 위해 퍼블리셔의 웹사이트(142)로 다시 탐색할 수 있다. 퍼블리셔의 웹 페이지는 클라이언트 디바이스(110)가 디지털 컴포넌트에 대한 요청을 생성 및 전송하게 하는 스크립트 또는 다른 코드를 포함하는 하나 이상의 디지털 컴포넌트 슬롯을 포함할 수 있다. 스크립트는 또한 퍼블리셔(140)로부터 사용자에 대한 구독 토큰을 얻을 수 있고(또는 웹 페이지의 일부일 수 있음) 요청에 구독 토큰을 포함할 수 있다.
클라이언트 디바이스(110)는 퍼블리셔(140)를 위한 SSP(150)에 디지털 컴포넌트에 대한 요청을 보낼 수 있다. 예를 들어, 애플리케이션(112)은 하나 이상의 디지털 컴포넌트 슬롯에 기초하여 디지털 컴포넌트에 대한 하나 이상의 요청을 생성할 수 있다. 특정 예에서, 애플리케이션(112)은 디지털 컴포넌트 슬롯의 태그에 기초하여 디지털 컴포넌트에 대한 요청을 생성하고, 네트워크(105)를 통해 SSP(150)에 요청을 전송할 수 있다.
디지털 컴포넌트 대한 요청은 예를 들어, 패킷화된 네트워크(105)를 통해 전송될 수 있고, 컴포넌트 요청 자체는 헤더 및 페이로드 데이터를 갖는 패킷화된 데이터로서 포맷팅될 수 있다. 상기 헤더는 상기 패킷의 목적지를 특정할 수 있고, 상기 페이로드 데이터는 상기 논의된 임의의 정보를 포함할 수 있다.
SSP(150)는 디지털 컴포넌트에 대한 요청을 하나 이상의 DSP(160)에 전송할 수 있다. 앞서 언급한 바와 같이, 디지털 컴포넌트 제공자(170)와 같은 콘텐츠 플랫폼은 애플리케이션과 함께 제시하기 위해 디지털 컴포넌트를 배포하는 프로세스를 자동화하기 위해 하나 이상의 DSP(160)를 사용할 수 있다. 요청을 수신한 후, SSP(150)는 하나 이상의 DSP와 인터렉션하고 디지털 컴포넌트에 대한 대응하는 요청을 전송할 수 있다.
일부 구현예에서, 디지털 컴포넌트에 대한 요청은 퍼블리셔(140) 및 SSP(150)에 전송되었던 데이터 보안 시스템(180)에 의해 생성된 구독 토큰을 포함할 수 있다. 예를 들어, SSP(150)는 클라이언트 디바이스(110)로부터 디지털 컴포넌트에 대한 요청을 수신한 후, 구독 토큰을 포함하는 디지털 컴포넌트에 대한 요청을 생성하고 이를 네트워크(105)를 통해 DSP(160)에 전송한다. 구독 토큰은 클라이언트 디바이스(110)에 디지털 컴포넌트를 제공하도록 허용된 사용자 프라이버시 및 콘텐츠 플랫폼에 대한 사용자의 선호 설정을 나타낸다.
일부 구현예에서, 구독 토큰은 구독 토큰을 수신할 수 있는 콘텐츠 플랫폼의 목록, 또는 각각의 첨부 엘리먼트에 대해 첨부 엘리먼트에 대응하는 콘텐츠 플랫폼을 포함할 수 있다. SSP(150)는 이 데이터를 사용하여 요청을 제출할 DSP(160)를 식별할 수 있다. 예를 들어, SSP(150)는 구독 토큰에서 식별된 각각의 DSP(160)에 요청을 보낼 수 있지만 구독 토큰에서 식별되지 않은 콘텐츠 플랫폼에는 요청할 수 없다.
DSP(160)는 구독 토큰 및 선택적으로 사용자에 대해 이전에 수신된 구독 토큰에 기초하여 디지털 컴포넌트를 선택할 수 있다. 앞서 도 1을 참조하여 언급한 바와 같이, 구독 토큰은 클라이언트 디바이스(110)에 제공하기 위한 디지털 컴포넌트를 선택할 때 사용자의 데이터를 사용할 수 있는 콘텐츠 플랫폼에 대한 사용자의 선호 설정을 나타낸다. 예를 들면, 디지털 서명을 통해 구독 토큰을 확인한 후 DSP(160)는 인증 토큰의 콘텐츠에 기반하여 클라이언트 디바이스(110)(또는 퍼블리셔(140), SSP(150))에 디지털 컴포넌트를 제공하거나 제공하지 않도록 선택할 수 있다. 예를 들어, DSP(160)는 데이터 보안 시스템(180)에 의해 서명을 생성하기 위해 사용되었던 개인 키에 대응하는 비대칭 공개 키를 사용하여 디지털 서명을 검증할 수 있다. 디지털 서명이 데이터 보안 시스템(180)에 의해 생성된 후 구독 토큰의 데이터 세트 또는 제2 암호화된 사용자 식별자의 임의의 부분이 변경되면 디지털 서명의 검증은 실패할 것이고, DSP(160)는 디지털 컴포넌트를 SSP(150)에 제공하지 않을 것이다. 다른 예에서, DSP(160)는 구독 토큰이 만료 날짜를 지난 경우 SSP(150)에 디지털 컴포넌트를 제공하지 않을 것이다. 다른 예에서, 특정 DSP(160)가 특정 DSP(160)의 고유 식별자를 갖는 특정 DSP(160)와 연관된 부착 엘리먼트를 찾을 수 없는 경우, 특정 DSP(160)는 SSP(150)에 디지털 컴포넌트를 제공하지 않을 것이다.
DSP(160)는 사용자에 대해 수신된 다수의 구독 토큰에 기초하여 디지털 컴포넌트를 선택할 수 있다. 예를 들어, DSP(160)는 DSP에 대한 제2 암호화된 사용자 식별자를 복호화하고 해당 사용자 식별자를 사용하여 현재 구독 토큰을 예를 들어 사용자에 대해 이전에 수신된 구독 토큰으로부터 사용자에 대해 이전에 수신된 데이터와 상관시킬 수 있다. DSP(160)는 예를 들어, 퍼블리셔(140)를 식별하는 컨텍스트 데이터, 웹 페이지, 웹 페이지의 디지털 컴포넌트 슬롯에 관한 정보 등과 같은 다른 데이터와 함께 이 데이터를 사용하여 웹페이지와 제시하기 위한 하나 이상의 디지털 컴포넌트를 선택할 수 있다.
DSP(160)는 하나 이상의 선택된 디지털 컴포넌트에 대한 데이터를 SSP(150)에 전송한다. 예를 들어, 구독 토큰에 기초하여 선택된 하나 이상의 DSP(160)는 하나 이상의 선택된 디지털 컴포넌트 또는 디지털 컴포넌트(예를 들어, 디지털 컴포넌트를 제시하기 위한 명령어를 포함하는 생성 엘리먼트)를 식별하는 데이터를 전송함으로써 SSP의 디지털 컴포넌트에 대한 요청에 응답할 수 있다. 각각의 디지털 컴포넌트에 대해, DSP(160)는 또한 디지털 컴포넌트에 대한 선택 파라미터를 생성하거나 선택할 수 있다. 그 다음 DSP(160)는 디지털 컴포넌트에 대한 선택 파라미터 및 데이터를 SSP(150)에 전송할 수 있다.
SSP(150)는 DSP(318)에 의해 식별된 디지털 컴포넌트로부터 디지털 컴포넌트를 선택한다. 예를 들어, SSP(150)는, 예를 들어, 디지털 컴포넌트에 대한 선택 파라미터에 기초하여 퍼블리셔(140)의 가장 높은 기대량을 갖는 디지털 컴포넌트를 선택할 수 있다.
SSP(150)는 선택된 디지털 컴포넌트에 대한 데이터를 클라이언트 디바이스(110)에 전송한다(322). 예를 들어, SSP(150)는 네트워크(105)를 통해 클라이언트 디바이스(110) 상에서 실행되는 애플리케이션(112)에 디지털 컴포넌트 또는 디지털 컴포넌트에 대한 생성물을 전송할 수 있다.
애플리케이션(112)은 수신된 디지털 컴포넌트를 제시한다(324). 예를 들어, 애플리케이션(112)은 퍼블리셔(140)의 웹 페이지와 함께 디지털 컴포넌트를 제시할 수 있다.
도 4는 구독 토큰을 생성하는 프로세스(400)를 도시하는 흐름도이다. 프로세스(400)는 예를 들어, 도 1의 데이터 보안 시스템에 의해 구현될 수 있다. 또한, 프로세스(400)의 동작은 비일시적인 하나 이상의 컴퓨터 판독가능 매체에 저장된 명령어로 구현될 수 있으며, 하나 이상의 데이터 프로세싱 장치에 의한 명령어의 실행은 상기 하나 이상의 데이터 프로세싱 장치로 하여금 프로세스(400)의 동작을 수행하게 한다. 간결함을 위해, 프로세스(400)는 도 1의 데이터 보안 시스템(180)과 관련하여 설명된다.
주어진 사용자에 대한 구독 토큰에 대한 요청이 수신된다(410). 요청은 퍼블리셔의 전자 콘텐츠를 구독할 때 주어진 사용자가 제공한 정보를 포함할 수 있다. 예를 들어, 사용자는 뉴스 기사를 제공하는 퍼블리셔(140)에 의해 발행된 웹사이트(142)로 이동할 수 있다. 사용자는 전자 메일 주소와 같은 사용자의 PII를 제공하여 웹사이트를 구독한다. 사용자의 PII를 수신한 후, 퍼블리셔(140)의 웹사이트(142)는 사용자에 대한 구독 토큰에 대한 요청을 생성하고, 네트워크(105)를 통해 요청을 데이터 보안 시스템(180)에 전송한다.
데이터 보안 시스템(180)은 구독 토큰을 생성한다(420). 구독 토큰에 대한 요청을 수신한 후, 데이터 보안 시스템(180)은 데이터 보안 시스템(180)이 구독 토큰을 사용자와 상관시킬 수 있지만 구독 토큰의 다른 수신자가 상관을 수행하는 것을 방지하는 제1 암호화된 사용자 식별자를 포함하는 구독 토큰을 생성한다. 일부 구현예에서, 제1 암호화된 사용자 식별자는 데이터 보안 시스템(180)에만 알려진 암호화 키를 사용하여 암호화된, 퍼블리셔를 구독하는데 사용되는 사용자의 전자 메일 주소 또는 다른 PII다. 상기 기술된 바와 같이, 구독 토큰은 만료일, 확인 상태, 사용자 동의 데이터 및/또는 퍼블리셔의 도메인을 더 포함할 수 있다. 사용자에 대한 각 구독 토큰의 사용자 동의 데이터는 구독 토큰이 생성된 시점에 사용자에 대한 현재 데이터 프라이버시 설정을 나타낼 수 있다.
구독 토큰은 또한 퍼블리셔(140)에게 디지털 컴포넌트를 제공하기 위해 퍼블리셔(140)와 파트너 관계를 맺는 하나 이상의 적격 콘텐츠 플랫폼 각각에 대한 하나 이상의 첨부 엘리먼트를 포함한다. 적격 콘텐츠 플랫폼은 데이터 프라이버시 보호 프로그램의 참여자이고, 사용자에 의해 적격으로 지정된(예를 들어, 차단되지 않음), 퍼블리셔(140)에 의해 표시된 바와 같이 퍼블리셔(140)의 파트너인 플랫폼만을 포함할 수 있다. 특정 콘텐츠 플랫폼에 대한 구독 토큰의 각 첨부 엘리먼트는 퍼블리셔 구독에 사용되는 PII(또는 암호화 해시 PII)(예: 사용자의 전자 메일 주소) 또는 특정 콘텐츠 플랫폼만이 복호화할 수 있는(또는 선택적으로 데이터 보안 시스템(180)도 복호화할 수 있는) 암호화 방식을 사용하는 가명 식별자(PII와 다름)를 암호화하여 생성된 제2 암호화된 사용자 식별자가 포함된다. 예를 들어 암호화 방식은 콘텐츠 플랫폼의 공개 키를 사용하는 비대칭 암호화일 수 있다. 다른 예에서, 데이터 보안 시스템(180) 및 특정 콘텐츠 플랫폼은 데이터 보안 시스템(180)이 암호화하고 특정 콘텐츠 플랫폼이 대칭 키 암호화 알고리즘으로 복호화할 수 있게 하는 공유 비밀 키를 생성할 수 있다.
특정 콘텐츠 플랫폼에 대한 구독 토큰의 각 첨부 엘리먼트는 또한 첨부 엘리먼트가 대응하는 콘텐츠 플랫폼에 대한 식별자를 포함할 수 있다. 특정 구현예에 따라 콘텐츠 플랫폼에 대한 이 식별자 범위가 다를 수 있다. 일부 구현예에서, 구독 토큰은 첨부 엘리먼트가 구독 토큰과 함께 포함되는 콘텐츠 플랫폼의 목록을 포함한다. 일부 구현예에서, 구독 토큰의 각 첨부 엘리먼트는 또한 데이터 보안 시스템의 비대칭 개인 키를 사용하여 구독 토큰의 데이터 세트와 첨부 엘리먼트의 제2 암호화된 사용자 식별자에 대해 디지털 서명함으로써 생성된 디지털 서명을 포함할 수 있다.
데이터 보안 시스템(180)은 구독 토큰을 퍼블리셔(140)에게 전송한다(430). 예를 들어, 퍼블리셔(140)(또는 SSP(150))는 웹사이트(142) 또는 퍼블리셔(140)의 애플리케이션을 위한 디지털 컴포넌트 슬롯을 위해 DSP(160)(또는 디지털 컴포넌트 제공자(170))로부터 디지털 컴포넌트를 수집하는 책임을 질 수 있다. 구독 토큰은 SSP(150) 및/또는 DSP(160)(또는 디지털 컴포넌트 제공자(170))로의 배포를 위해 네트워크(105)를 통해 퍼블리셔(140)로 전송된다. 예를 들어, 퍼블리셔(140)는 사용자의 클라이언트 디바이스로 전송되는 전자 리소스(예를 들어, 웹 페이지)에 대한 코드에 사용자에 대한 구독 토큰을 포함할 수 있다. 다른 예에서, 전자 리소스의 디지털 컴포넌트 슬롯의 코드는 예를 들어 클라이언트 디바이스에 의해 실행되는 코드에 응답하여 퍼블리셔(140)로부터 구독 토큰을 얻을 수 있다. 이러한 방식으로, 클라이언트 디바이스(110)는 클라이언트 디바이스에 의해 콘텐츠 플랫폼, 예를 들어 SSP(150) 및 DSP(160)에 전송되는 디지털 컴포넌트에 대한 요청에 구독 토큰을 포함할 수 있다.
앞서 언급한 바와 같이, 데이터 보안 시스템(180)은 클라이언트 디바이스(110)의 사용자에게 퍼블리셔(140)에 대한 구독을 관리하고 액세스를 제공하거나 콘텐츠 플랫폼(예를 들어, 퍼블리셔(140)와 파트너 관계)이 PII, 사용자의 브라우징 이력 등을 포함하는 사용자 데이터를 사용하는 것을 차단하는 플랫폼을 제공할 수 있다. 일부 구현예에서, 구독 토큰은 만료 날짜를 가지며, 퍼블리셔(140)는 유효한 구독 토큰을 갖기 위해 각 사용자에 대해 갱신된 구독 토큰을 얻어야 한다. 예를 들어, 특정 퍼블리셔(140)가 사용자를 위한 구독 토큰을 SSP(150)에 제공했다고 가정한다. 또한 이 구독 토큰이 구독 토큰의 만료 날짜를 기준으로 만료되었거나 곧 만료된다고 가정한다. 그러한 시나리오에서, 퍼블리셔(140)는 콘텐츠 플랫폼에 구독 토큰을 계속 전송하고, 이에 의해 콘텐츠 플랫폼이 디지털 컴포넌트를 선택하는데 사용자의 데이터를 사용할 수 있게 하기 위해 데이터 보안 시스템(180)으로부터 갱신된 구독 토큰을 얻어야 한다.
일부 구현예에서, 퍼블리셔(140)는 데이터 보안 시스템(180)으로 전송되는 반복적인 갱신 요청을 생성한다. 예를 들어, 구독 토큰이 24시간 후에 만료되면 퍼블리셔(140)는 갱신된 구독 토큰에 대한 요청을 24시간마다 제출할 수 있다. 다른 적절한 기간도 사용될 수 있다. 다른 예에서, 퍼블리셔(140)는 사용자의 구독 토큰이 만료되는 임계 기간 내에 있는 것에 응답하여 사용자에 대한 요청을 생성하도록 구성된 컴퓨팅 시스템을 가질 수 있다. 이들 요청 각각은 이전 구독 토큰에 대해 데이터 보안 시스템(180)에 의해 생성된 제1 암호화된 사용자 식별자를 포함할 수 있다. 갱신 요청을 수신한 후, 데이터 보안 시스템(180)은 각각의 반복적인 갱신 요청에 대해 최신 사용자 동의 상태뿐만 아니라 제1 암호화된 사용자 식별자와 다른 업데이트된 제1 암호화된 사용자 식별자를 포함하는 갱신된 구독 토큰을 생성하고, 갱신된 구독 토큰을 퍼블리셔(140)에 전송한다. 구독 토큰을 갱신하는 예시적 프로세스는 도 5를 참조하여 더 설명된다.
도 5는 구독 토큰을 갱신하는 프로세스(500)를 도시하는 흐름도이다. 프로세스(500)의 동작은 예를 들어, 데이터 보안 시스템(180)에 의해 구현될 수 있다. 또한, 프로세스(500)의 동작은 비일시적인 하나 이상의 컴퓨터 판독가능 매체에 저장된 명령어로 구현될 수 있으며, 하나 이상의 데이터 프로세싱 장치에 의한 명령어의 실행은 상기 하나 이상의 데이터 프로세싱 장치로 하여금 프로세스(500)의 동작을 수행하게 한다.
데이터 보안 시스템(180)은 퍼블리셔 컴퓨팅 시스템으로부터 갱신 요청을 수신한다(510). 예를 들어, 사용자(구독자)가 전자 메일 주소 또는 전화번호와 같은 사용자의 PII를 제공함으로써 퍼블리셔(140)의 웹사이트(142)를 구독했다고 가정한다. PII를 수신한 후, 퍼블리셔(140)는 구독 토큰에 대한 요청을 생성하여 데이터 보안 시스템(180)에 전송한다. 데이터 보안 시스템(180)은 특정 기간, 예를 들어, 다음 24시간 또는 다른 적절한 기간 동안 유효한 구독 토큰을 생성한다. 이 예에서, 구독 토큰의 데이터 세트는 토큰이 생성되었던 시간으로부터 24시간인 만료 날짜를 포함한다. 구독 토큰을 수신한 후 퍼블리셔(140)는 디지털 컴포넌트에 대한 요청과 함께 퍼블리셔(140)에 디지털 컴포넌트를 제공하는 등록된 엔터티에 구독 토큰을 배포한다. 만료 날짜가 끝나갈 무렵(예를 들어, 만료 날짜의 임계 시간 내), 퍼블리셔(140)는 만료될 현재 구독 토큰(또는 만료되는 구독 토큰에 대한 적어도 제1 암호화된 사용자 식별자)을 포함하는 구독 토큰의 갱신을 요청할 수 있다. 퍼블리셔는 예를 들어 현재 구독 토큰이 만료되기 전에 갱신된 구독 토큰에 대한 반복적인 요청을 데이터 보안 시스템(180)에 제출할 수 있다.
데이터 보안 시스템(180)은 업데이트된 제1 암호화된 사용자 식별자를 생성한다(520). 만료가 임박한 현재 구독 토큰을 포함하는 갱신 요청을 수신한 후, 데이터 보안 시스템(180)은 현재 구독 토큰(또는 이 비밀 키에 대응하는 다른 암호화 키)를 생성하는 동안 제1 암호화된 사용자 식별자를 생성하는데 사용되었던 비밀 키를 사용하여 제1 암호화된 사용자 식별자(임시 사용자 식별자)를 복호화한다. 제1 암호화된 사용자 식별자를 복호화하면 일반 텍스트 사용자 식별자, 예를 들어 사용자의 PII 또는 사용자에 대한 내부 계정 식별자를 생성한다. 데이터 보안 시스템(180)은 생성되었던 사용자 식별자를 데이터 보안 시스템(180)이 구독 토큰을 발행한 다수의 사용자의 사용자 식별자 목록과 비교함으로써 현재 구독 토큰이 생성되었던 사용자를 식별하기 위해 일반 텍스트 사용자 식별자를 사용한다. 사용자 및/또는 사용자의 식별자를 식별한 후, 데이터 보안 시스템(180)은 확률적 대칭 암호화 알고리즘 및 현재 구독 토큰의 제1 암호화된 사용자 식별자를 생성하는데 사용되었던 비밀 키와 상이한 비밀 키를 사용하여 현재 구독 토큰의 제1 암호화된 사용자 식별자와 상이한 업데이트된 제1 암호화된 사용자 식별자를 생성한다. 이러한 방식으로 암호화된 결과를 변경하면, 제1 암호화된 사용자 식별자에 기초하여 특정 사용자에 대해 다수의 구독 토큰을 수신하는 엔터티가 다수의 구독 토큰을 함께 연관시킬 수 없거나 토큰이 동일한 사용자를 위한 것인지 결정할 수 없다. 이러한 방식으로, 구독 토큰이 수신자가 복호화할 수 있는 제2 암호화된 사용자 식별자를 포함하는 첨부 엘리먼트를 포함하는 수신자만이 사용자에 대한 다수의 구독 토큰을 상관시킬 수 있다.
데이터 보안 시스템(180)은 갱신된 구독 토큰을 생성한다(530). 도 1을 참조하여 설명된 바와 같이, 데이터 보안 시스템(180)은 업데이트된 제1 암호화된 사용자 식별자 및 업데이트된 만료 날짜, 하나 이상의 콘텐츠 플랫폼이 디지털 컴포넌트 등을 제공하기 위해 사용자 데이터를 사용하는데 사용자로부터 동의를 받았거나 받지 않았는지 여부를 나타내는 업데이트된 사용자 동의 데이터(예: 업데이트된 사용자 동의 문자열)와 같은 업데이트된 데이터 세트를 포함하는 갱신된 구독 토큰을 생성한다. 업데이트된 동의 설정은 이전 구독 토큰이 생성된 이후 데이터 프라이버시 사용자 인터페이스를 사용하여 사용자가 변경한 사항을 반영할 수 있다. 예를 들어, 사용자가 특정 콘텐츠 플랫폼에서 사용자 데이터를 사용하지 못하도록 차단한 경우, 업데이트된 동의 설정에 변경 사항이 반영될 수 있으며 갱신된 구독 토큰은 특정 콘텐츠 플랫폼에 대한 첨부 엘리먼트를 포함하지 않을 것이다.
데이터 보안 시스템(180)은 갱신된 구독 토큰을 퍼블리셔(140)에게 전송한다(540). 예를 들어, 퍼블리셔(140)(또는 SSP(150))는 웹사이트(142) 또는 퍼블리셔(140)의 애플리케이션을 위한 디지털 컴포넌트 슬롯을 위해 DSP(160)(또는 디지털 컴포넌트 제공자(170))로부터 디지털 컴포넌트를 수집하는 책임을 질 수 있다. 갱신된 구독 토큰은 SSP(150) 및/또는 DSP(160)(또는 디지털 컴포넌트 제공자(170))로의 배포를 위해 네트워크(105)를 통해 퍼블리셔(140)로 전송된다. 예를 들어, 퍼블리셔(140)는 사용자의 클라이언트 디바이스로 전송되는 전자 리소스(예를 들어, 웹 페이지)에 대한 코드에 사용자에 대한 갱신된 구독 토큰을 포함할 수 있다. 다른 예에서, 전자 리소스의 디지털 컴포넌트 슬롯의 코드는 예를 들어 클라이언트 디바이스에 의해 실행되는 코드에 응답하여 퍼블리셔(140)로부터 갱신된 구독 토큰을 얻을 수 있다. 이러한 방식으로, 클라이언트 디바이스는 클라이언트 디바이스에 의해 콘텐츠 플랫폼, 예를 들어 SSP(150) 및 DSP(160)에 전송되는 디지털 컴포넌트에 대한 요청에 갱신된 구독 토큰을 포함할 수 있다.
일부 구현예에서, 클라이언트 디바이스의 사용자가 퍼블리셔(140)의 웹사이트(142)에 전자 메일 주소와 같은 PII를 제공할 때, 클라이언트 디바이스(110)에서 실행되는 웹사이트(142)의 스크립트는 사용자에 의해 제공된 각각의 전자 메일에 대한 전자 메일 제공자를 식별한다. 식별된 전자 메일 제공자가 이전에 설명된 기법 및 방법을 구현하지 않는 상황에서(예: 참여자가 아님), 스크립트는 다른 데이터 보안 플랫폼(180), 예를 들어 도 2의 기본 데이터 관리자(213)로부터 구독 토큰을 요청할 수 있다. 어느 경우든, 데이터 보안 플랫폼(180)은 구독 및 프라이버시 설정을 위한 사용자 인터페이스를 제공하는 데이터 보안 시스템(180)의 웹사이트에 URL(또는 URL을 참조하는 링크)을 포함하는 전자 메일을 사용자의 전자 메일 주소에 보내 사용자에게 구독 및 프라이버시 설정을 확인하라고 프롬프트한다. 전자 메일에 포함된 URL은 임시 사용자 식별자, 예를 들어 데이터 보안 시스템(180)의 비밀 키를 사용하여 확률적 대칭 키 암호화 알고리즘으로 암호화된 전자 메일 주소를 포함할 수 있다. URL과 인터렉션한 후, 데이터 보안 시스템(180)은 애플리케이션(112)을 사용하여 사용자에게 웹사이트를 제시하기 위해 웹사이트의 컴퓨터 실행가능 명령어 및 데이터를 클라이언트 디바이스(110)에 제공한다. 일부 구현예에서, 웹 쿠키는 데이터 보안 시스템(180)과의 임의의 미래 통신 동안 애플리케이션(112)을 식별하기 위해 애플리케이션(112)의 쿠키 항아리에 배치된다.
앞서 언급했듯이, PII는 민감할 수 있는 사용자 관련 정보이다. 그러한 정보를 의도하지 않게 공유하면 프라이버시 문제가 발생할 수 있다. 클라이언트 디바이스(110)의 사용자가 뉴스 기사를 제공하는 퍼블리셔(140)에 의해 발행된 웹사이트를 탐색한다고 가정한다. 뉴스 기사를 수신하기 위해, 사용자는 사용자의 전자 메일 주소 대신 사용자의 전화번호를 사용하여 웹사이트를 구독할 수 있다. 전자 메일 주소가 사용되는 경우, 전자 메일 제공자는 데이터 프라이버시 설정을 보거나 수정할 때 사용자가 진짜인지 확인하는 인증 메커니즘을 제공할 수 있다. 그러나 전화번호가 퍼블리셔 구독을 위한 PII로 사용되는 경우 동일한 인증 메커니즘이 없을 수 있다.
구독을 위한 사용자의 전화번호를 수신한 후, 퍼블리셔(140)의 웹사이트(142)는 구독 토큰에 대한 요청을 생성하고, 요청을 네트워크(105)를 통해 데이터 보안 시스템(180)에 전송한다. 데이터 프로세싱 시스템(180)은 SMS 메시지를 클라이언트 컴퓨팅 디바이스(110)에 전송할 수 있다. 이 예에서, 클라이언트 디바이스(110)는 전화 능력, 예를 들어, 셀룰러 능력을 갖는다. 예를 들어, 클라이언트 디바이스(110)는 셀룰러 네트워크 또는 인터넷을 포함할 수 있는 네트워크(105)를 통한 스마트폰, 태블릿, 랩톱 또는 개인용 컴퓨터일 수 있다.
일부 구현예에서, 데이터 보안 시스템(180)에 의해 사용자의 클라이언트 디바이스(110)로 전송된 SMS 메시지는 데이터 보안 플랫폼(180)의 대시보드 또는 웹사이트에 대한 URL과 같은 리소스 로케이터 및 사용자에 대한 임시 사용자 식별자를 포함한다. 사용자에 대한 임시 사용자 식별자는 데이터 보안 시스템(180)이 알고 있는 확률적 대칭 암호화 알고리즘과 비밀 키를 사용하여 사용자의 전화번호(또는 사용자에 대한 내부 식별자)를 암호화하여 데이터 보안 시스템(180)에 의해 생성된다.
일부 구현예에서, SMS 메시지를 수신한 후 및 URL(또는 URL을 참조하는 링크)과의 사용자 인터렉션 후, 사용자는 클라이언트 디바이스(110)의 데이터 보안 시스템(180)에 의해 제공되는 애플리케이션(예를 들어, 애플리케이션(113) 또는 클라이언트 디바이스(110) 상의 브라우저 기반 애플리케이션(예를 들어, 애플리케이션(112))을 통해 데이터 보안 시스템(180)의 웹사이트로 리디렉션될 수 있다. 어느 경우이든, 데이터 프라이버시 설정을 관리하기 위한 인터렉티브 사용자 인터페이스가 사용자에게 제공된다. 예를 들어, 사용자는 위에서 설명한 것처럼 구독을 사기로 지정하거나 콘텐츠 플랫폼을 차단하거나 사용자 데이터의 수신자가 데이터를 사용할 수 있는 방법을 지정할 수 있다.
일부 구현예에서, SMS 메시지를 통해 클라이언트 디바이스(110)에 제공되었던 임시 사용자 식별자는 클라이언트 디바이스(110)에 저장된다. 예를 들어, SMS 메시지를 통해 클라이언트 디바이스(110)에 제공되었던 URL과 인터렉션한 후, 사용자는 클라이언트 디바이스(110)에서 실행 중인 데이터 보안 시스템(180)에 의해 제공되는 애플리케이션(113)으로 리디렉션된다고 가정한다. 애플리케이션(113)은 SMS 메시지를 파싱하고 사용자의 임시 사용자 식별자를 추출하고 임시 사용자 식별자를 클라이언트 디바이스(110)에 저장한다. 이는 도 6을 참조하여 추가로 설명된다.
도 6은 클라이언트 디바이스에 의해 임시 사용자 식별자를 수신하는 예시적 프로세스(600)를 도시하는 스윔 레인 다이어그램이다. 프로세스(600)의 동작은 예를 들어 클라이언트 디바이스(110), 퍼블리셔(140)의 컴퓨팅 시스템, 데이터 보안 시스템(180)에 의해 구현될 수 있다. 프로세스(600)의 동작은 비일시적인 하나 이상의 컴퓨터 판독가능 매체에 저장된 명령어로 구현될 수 있으며, 하나 이상의 데이터 프로세싱 장치에 의한 명령어의 실행은 상기 하나 이상의 데이터 프로세싱 장치로 하여금 프로세스(600)의 동작을 수행하게 한다. 이 프로세스(600)는 웹 페이지를 다운로드하는 웹 브라우저의 관점에서 설명되지만, 유사한 프로세스에서 네이티브 애플리케이션이 사용될 수 있다.
클라이언트 디바이스(110)의 사용자는 퍼블리셔(140)의 웹사이트(142)로 이동한다(602) 예를 들어, 클라이언트 디바이스(110)의 사용자는 리소스 로케이터(예를 들어, URL)를 지정함으로써 웹사이트(142)를 방문하거나 검색 결과의 링크를 선택하기 위해 브라우저 애플리케이션(112)을 사용할 수 있다.
클라이언트 디바이스(110)는 콘텐츠에 대한 요청을 생성하고 네트워크(105)를 통해 퍼블리셔에게 요청을 전송한다(604). 예를 들어, 클라이언트 디바이스(110)의 사용자가 참조(예를 들어, URL)를 사용하여 웹사이트(142)를 지정한 후, 애플리케이션(112), 즉 클라이언트 디바이스(110)에서 실행되는 웹 브라우저는 디지털 콘텐츠(즉, 웹사이트(142))에 대한 요청을 생성하고, 그것을 네트워크(105)를 통해 웹사이트(142)를 호스팅하는 퍼블리셔(140)의 웹 서버에 전송한다.
디지털 콘텐츠에 대한 요청은 예를 들어, 패킷화된 네트워크(105)를 통해 전송될 수 있고, 콘텐츠 요청 자체는 헤더 및 페이로드 데이터를 갖는 패킷화된 데이터로서 포맷팅될 수 있다. 상기 헤더는 상기 패킷의 목적지를 특정할 수 있고, 상기 페이로드 데이터는 상기 논의된 임의의 정보를 포함할 수 있다.
퍼블리셔(140), 예를 들어 퍼블리셔(140)의 웹 서버 또는 콘텐츠 서버는 콘텐츠로 응답한다(606). 예를 들어, 클라이언트 디바이스(110)로부터 콘텐츠에 대한 요청(예를 들어, 웹사이트(142)에 대한 요청)을 수신한 후, 웹사이트(142)를 호스팅하는 웹 서버는 클라이언트 디바이스(110)에서 웹페이지의 제시를 개시하는 컴퓨터 실행가능 명령어 및 데이터를 전송함으로써 응답할 수 있다. 응답은 예를 들어 패킷화된 네트워크(105)를 통해 전송되는 웹페이지와 관련된 데이터를 포함할 수 있고 콘텐츠 자체는 패킷화된 데이터로 포맷팅될 수 있다.
클라이언트 디바이스(110)의 사용자는 사용자의 전화번호(608)를 제공하고 웹사이트(142)의 퍼블리셔(140)를 구독한다. 예를 들어, 웹사이트(142)가 뉴스 기사를 제공한다고 가정한다. 사용자는 퍼블리셔(140)의 웹사이트(142)를 구독하여 매일 뉴스 기사를 수신할 수 있다. 클라이언트 디바이스(110)의 사용자는 뉴스 기사를 수신하는 서비스에 대한 대가로 웹사이트(142)의 퍼블리셔(140)에게 사용자의 전화번호를 제공한다.
퍼블리셔(140)는 토큰 요청(610)을 데이터 보안 시스템(180)에 전송한다. 예를 들어, 클라이언트 디바이스(110)의 사용자로부터 전화번호를 수신한 후, 퍼블리셔(140)는 토큰 요청을 생성하여 데이터 보안 시스템(180), 예를 들어, 도 2의 디폴트 데이터 관리자(213)에게 전송한다.
데이터 보안 시스템(180)은 SMS 메시지를 클라이언트 디바이스(110)에 전송한다(612). 예를 들어, 데이터 보안 시스템(180)은 전화번호에 대응하는 스마트폰, 예를 들어 전화번호를 소유한 스마트폰에 SMS 메시지를 보낼 수 있다. 데이터 보안 시스템(180)에 의해 사용자의 클라이언트 디바이스(110)에 전송된 SMS 메시지는 데이터 보안 플랫폼(180)의 대시보드 또는 웹사이트에 대한 리소스 로케이터(예: URL) 및 사용자에 대한 임시 사용자 식별자를 포함한다. 사용자에 대한 임시 사용자 식별자는 데이터 보안 시스템(180)이 알고 있는 확률적 대칭 키 암호화 알고리즘과 비밀 키를 사용하여 사용자의 전화번호(또는 내부 식별자)를 암호화하여 데이터 보안 시스템(180)에 의해 생성된다. 따라서 실용적인 목적을 위해, 임시 사용자 식별자는 암호화되며, 임시 사용자 식별자를 생성하는데 사용되는 암호화 알고리즘을 기반으로 시간이 지남에 따라 변경된다. 임시 사용자 식별자는 URL의 파라미터로 포함될 수 있다.
사용자는 애플리케이션(113)으로 리디렉션된다(614). 예를 들어, SMS를 수신하고 URL과 사용자의 인터렉션 후에, 사용자는 데이터 보안 시스템(180)에 의해 제공되고 클라이언트 디바이스(110)에 설치되거나 실행되는 애플리케이션(예를 들어, 애플리케이션(113))으로 리디렉션된다. 애플리케이션(113)은 사용자 구독 및 프라이버시 설정에 관한 정보를 데이터 보안 시스템(180)으로부터 수신할 수 있고, 그 정보를 사용자에게 제시하기 위한 사용자 인터페이스를 제공한다. 애플리케이션(113)은 사용자가 개별 구독 및 데이터 프라이버시 설정을 선택하고 관리하기 위한 제어를 더 포함할 수 있다.
애플리케이션(113)은 임시 사용자 식별자를 파싱한다(616). 애플리케이션(113)으로 리디렉션된 후, 애플리케이션(113)은 SMS 메시지를 파싱하고, 사용자의 임시 사용자 식별자를 추출하고, 임시 사용자 식별자(618)를 클라이언트 디바이스(110)에 저장한다. 일부 구현예에서, 애플리케이션(113)은 임시 사용자 식별자를 클라이언트 디바이스(110)의 신뢰 프로그램(111)(예를 들어, 운영 체제)의 키스토어(114)(또는 키체인) 또는 클라이언트 디바이스(110)의 다른 보안 스토리지에 저장한다.
상황에서, 사용자가 구독 설정에 액세스하고 수정하기 위해 데이터 보안 시스템(180)에 의해 제공되는 애플리케이션(113)으로 리디렉션될 때, 애플리케이션(113)은 데이터 보안 시스템(180)으로부터 사용자 구독 데이터에 액세스한다. 이러한 상황에서, 클라이언트 디바이스(110)에서 실행되는 애플리케이션(113)이 손상되지 않았는지 검증하기 위해, 클라이언트 디바이스는 데이터 보안 시스템(180)과 통신하는 동안 추가 보안 조치를 구현한다. 예를 들어, 애플리케이션(111)은 데이터 보안 시스템(180)에 의해 검증될 수 있는 증명 토큰을 생성하기 위해 신뢰할 수 있는 프로그램(111)과 인터렉션할 수 있다. 일반적으로 신뢰 프로그램(111)은 침투하기 어렵고, 가해자가 신뢰 프로그램(111)을 변조하는데 드는 시간과 노력이 엄청나게 높다. 또한, 신뢰 프로그램(111)은 신뢰할 수 있는 소스에 의해 제공되고 유지되기 때문에 발생하는 모든 취약성은 소스에 의해 해결될 수 있다. 이는 도 7을 참조하여 추가로 설명된다. 따라서 사용자는 전화번호만을 기준으로 데이터 프라이버시 설정을 수정할 수 있다. 전화번호는 이미 사용자에게 고유하게 할당된 소량의 숫자 데이터이다. 이는 사용자에게 향상된 편의성을 제공한다(예: 고유 사용자 이름과 같은 추가 식별 데이터를 생성할 필요가 없음). 또한, 소량의 숫자 데이터는 프로세스하는데 계산적으로 효율적이다. 또한, 증명 토큰의 사용 및 일부 구현예에서 설명된 방식의 암호화, 디지털 서명 및/또는 공개 키의 사용은 사용자 데이터의 보안을 개선하는데 도움이 된다. 따라서 사용자가 자신의 데이터 프라이버시 설정(들)을 수정할 수 있도록 하는 보다 계산 효율적이고 안전한 방법이 제공된다.
도 7은 사용자가 데이터 프라이버시 설정을 조정하게 하는 사용자 인터페이스를 생성 및 제공하기 위한 예시적 프로세스(700)를 도시하는 스윔 레인 다이어그램이다. 프로세스(700)의 동작은 예를 들어 클라이언트 디바이스(110) 또는 데이터 보안 시스템(180)에 의해 구현될 수 있다. 프로세스(700)의 동작은 비일시적인 하나 이상의 컴퓨터 판독가능 매체에 저장된 명령어로 구현될 수 있으며, 하나 이상의 데이터 프로세싱 장치에 의한 명령어의 실행은 상기 하나 이상의 데이터 프로세싱 장치로 하여금 프로세스(700)의 동작을 수행하게 한다.
클라이언트 디바이스(110)의 사용자는 애플리케이션(113)을 오픈한다(예를 들어, 런칭)(702). 앞서 언급한 바와 같이, 애플리케이션(113)은 데이터 보안 시스템(180)에 의해 제공될 수 있고, 클라이언트 디바이스(110) 상에서 설치되거나 달리 실행될 수 있다. 애플리케이션(113)은 사용자 구독 및 프라이버시 설정에 관한 정보를 데이터 보안 시스템(180)으로부터 수신하고, 해당 정보를 사용자에게 제시하기 위한 사용자 인터페이스를 제공할 수 있다. 애플리케이션(113)은 사용자가 개별 구독 및 프라이버시 설정을 선택하고 관리할 수 있게 하는 인터렉티브 제어를 더 포함할 수 있다. 구독 및 프라이버시 설정을 보기 위해, 사용자는 클라이언트 디바이스(110)에서 애플리케이션(113)을 오픈한다. 이 정보가 민감할 수 있으므로, 클라이언트 디바이스(110), 애플리케이션(113) 및/또는 사용자가 유효하고 손상되지 않았음을 보장하기 위해 후술하는 바와 같이 추가 인증 기법이 사용된다.
클라이언트 디바이스에서 실행 중인 애플리케이션(113)은 임시 사용자 식별자를 가져온다(704). 앞서 도 6을 참조하여 언급한 바와 같이, 임시 사용자 식별자는 클라이언트 디바이스(110)에 저장된다. 예를 들면, 애플리케이션(113)은 임시 사용자 식별자를 클라이언트 디바이스(110)의 신뢰 프로그램(111)의 키스토어(114) 또는 클라이언트 디바이스(110)의 다른 보안 스토리지에 저장한다. 애플리케이션(113)을 개시한 후, 애플리케이션(113)은 임시 사용자 식별자를 클라이언트 디바이스(110)의 신뢰 프로그램(111)의 키스토어(114) 또는 클라이언트 디바이스(110)의 다른 보안 스토리지로부터 가져온다. 예를 들어, 애플리케이션(113)은 하나 이상의 애플리케이션 프로그램 인터페이스(API) 호출을 통해 신뢰할 수 있는 프로그램(111)에 임시 사용자 식별자에 대한 요청을 생성할 수 있고, 신뢰할 수 있는 프로그램(111)은 임시 사용자 식별자를 포함하는 응답을 제공한다.
애플리케이션(113)은 공개 키를 가져온다(706). 일부 구현예에서, 애플리케이션(113)은 설치 동안 또는 클라이언트 디바이스(110)에서의 제1 실행 동안 데이터 보안 시스템(180)과 안전하게 통신할 목적으로 공개/개인 키 쌍을 생성한다. 클라이언트 디바이스(110)에서 실행되는 애플리케이션(113)이 공개/개인 키 쌍을 생성하기 때문에, 다른 수신자 엔터티에 배포되는 공개 키는 클라이언트 디바이스(110)에 대한 고유 식별자로 사용될 수 있다. 일반적으로 공개/개인 키 쌍은 검증되지 않은 네트워크를 통한 두 당사자 간의 통신을 위한 비대칭 암호화에 사용할 수 있다. 예를 들어, 발신자는 모든 당사자가 사용할 수 있는 공개 키를 사용하여 일반 텍스트의 메시지를 암호문으로 암호화할 수 있다. 메시지를 수신한 수신자는 개인 키를 사용하여 암호문을 복호화하여 일반 텍스트로 된 메시지를 얻을 수 있다. 개인 키는 비밀 키이며 수신자(예: 데이터 보안 시스템(180))만 알고 있다. 공개/개인 키 쌍을 생성한 후 애플리케이션(113)은 클라이언트 디바이스(110)의 신뢰할 수 있는 프로그램(111)의 키스토어(114) 또는 클라이언트 디바이스(110)의 다른 보안 스토리지에 개인 키를 안전하게 저장한다. 사용자가 애플리케이션(113)을 개시하면, 애플리케이션(113)은 클라이언트 디바이스(110)의 보안되지 않은 데이터 저장 위치에 저장될 수 있는 클라이언트 디바이스(110)의 공개 키를 가져온다.
애플리케이션(113)은 클라이언트 디바이스(110)의 신뢰할 수 있는 프로그램으로부터 증명 토큰을 가져온다(708). 일반적으로, 클라이언트 디바이스는 통신의 무결성을 검증하기 위해 통신의 수신자에 의해 사용될 수 있는 증명 토큰을 포함하는 요청 또는 전자 메시지와 같은 통신을 생성할 수 있다. 증명 토큰은 개인 키를 사용하여 데이터 세트에 기초하여 생성되는 페이로드 및 디지털 서명을 포함할 수 있다. 이러한 방식으로, 수신자는 수신된 데이터 세트와 디지털 서명을 생성하는데 사용된 개인 키에 대응하는 공개 키를 사용하여 디지털 서명을 검증함으로써, 예를 들어 전송 중 또는 중개자에 의해 페이로드가 수정되지 않았는지 검증할 수 있다. 신뢰 프로그램(111)이 증명을 지원하는 경우, 신뢰 프로그램(111)은 증명 토큰에 대한 공개/개인 키 쌍을 생성할 수 있다. 그렇지 않다면, 애플리케이션(113)은 증명 토큰의 공개/개인 키 쌍을 생성할 수 있다.
페이로드 데이터는 증명 토큰이 생성되는 시간을 나타내는 토큰 생성 시간, 페이로드 데이터 및/또는 하나 이상의 무결성 시스템에 의해 제공되는 하나 이상의 무결성 토큰을 포함할 수 있다. 이 증명 토큰 생성 시간은 고해상도 타임스탬프일 수 있다(예: 초, 밀리초 또는 마이크로초까지 정확함). 이 타임스탬프는 예를 들어, 토큰 생성 시간이 증명 토큰이 수신되었던 시간의 임계 지속시간 내에 있다고 결정함으로써 증명 토큰의 수신자가 증명이 오래되지 않았음을 보장할 수 있게 한다.
증명 토큰의 하나 이상의 무결성 토큰은 증명 토큰을 전송하는 클라이언트 디바이스(110) 및/또는 전송을 개시한 클라이언트 디바이스(110)에서 실행 중인 애플리케이션(113)이 신뢰할 수 있는지 여부를 나타낸다. 예를 들어, 무결성 토큰은 클라이언트 디바이스(110) 또는 애플리케이션(113)에 대한 신뢰성의 판정을 포함할 수 있다. 이것은 증명 토큰의 수신자(데이터 보안 시스템(180))가 데이터가 예를 들어 에뮬레이터나 손상된 디바이스 또는 손상된 애플리케이션(113)이 아닌 신뢰할 수 있는 클라이언트 디바이스(110) 및 신뢰할 수 있는 애플리케이션(113)으로부터 왔는지 검증할 수 있게 한다. 무결성 토큰은 신뢰 분석기(예: 서드파티 분석기)에 의해 생성되고 디지털 서명될 수 있으므로, 증명 토큰의 수신자는 클라이언트 디바이스(110)가 신뢰 분석기에 의해 평가되었고 데이터가 신뢰 분석기에 의해 생성 후 무결성 토큰이 수정되지 않았다는 것을 검증하도록 할 수 있다.
애플리케이션(113)은 클라이언트 디바이스(110)에서 실행되는 신뢰할 수 있는 프로그램(111)에 요청을 제출하여 신뢰할 수 있는 프로그램(111)에 대한 하나 이상의 API 호출을 사용하여 페이로드 데이터로서 임시 사용자 식별자(위에서 설명된 대로 사용자에 대한 사용자 식별자를 암호화함으로써 암호화된 결과임) 및 클라이언트 디바이스(110)의 공개 키를 포함하는 증명 토큰을 생성한다. 즉, 클라이언트 디바이스(110)의 임시 사용자 식별자 및 공개 키는 증명 토큰의 페이로드 데이터에 포함될 수 있다. 신뢰할 수 있는 프로그램(111)은 증명 토큰을 생성하고 증명 토큰을 애플리케이션(113)에 제공한다. 증명 토큰은 페이로드 데이터, 하나 이상의 무결성 토큰 및 페이로드 데이터의 디지털 서명, 무결성 토큰 및 증명 토큰에 포함된 기타 데이터, 예를 들어 토큰 생성 타임스탬프 및 임시 사용자 식별자를 포함할 수 있다. 일부 구현예에서, 신뢰 프로그램(111)은 디지털 서명을 생성하기 위해 타원 곡선 디지털 서명 알고리즘(ECDSA)을 사용하지만, 다른 서명 기법(예를 들어, RSA)도 사용될 수 있다.
애플리케이션(113)은 사용자 구독 정보에 대한 요청을 생성할 수 있다(710). 임시 사용자 식별자, 공개 키 및 증명 토큰을 가져온 후 애플리케이션(113)은 사용자 구독 정보에 대한 요청을 생성하여 데이터 보안 시스템(180)에 전송한다. 요청은 임시 사용자 식별자와 공개 키를 페이로드 데이터로서 포함할 수 있는 증명 토큰을 포함한다. 일부 구현예에서, 임시 사용자 식별자, 공개 키 및 증명 토큰은 데이터 보안 시스템(180)의 공개 키를 사용하여, 예를 들어 임시 사용자 식별자 및 공개 키를 포함하는 증명 토큰을 암호화함으로써 암호화된다. 위에서 설명된 바와 같이, 증명 토큰은 증명 토큰의 다른 데이터, 예를 들어 임시 사용자 식별자, 공개 키, 토큰 생성 타임스탬프 및 임의의 무결성 토큰의 디지털 서명을 포함할 수 있다. 사용자 구독 데이터에 대한 요청은 예를 들어, 패킷화된 네트워크(105)를 통해 전송될 수 있고, 콘텐츠 요청 자체는 헤더 및 페이로드 데이터를 갖는 패킷화된 데이터로서 포맷팅될 수 있다. 상기 헤더는 상기 패킷의 목적지를 특정할 수 있고, 상기 페이로드 데이터는 상기 논의된 임의의 정보를 포함할 수 있다.
데이터 보안 시스템(180)은 임시 사용자 식별자를 확인한다(712). 사용자 구독 정보에 대한 요청을 수신한 후, 데이터 보안 시스템(180)은 데이터 보안 시스템(180)에 의해서만 알려진 비밀 키를 사용하여 임시 사용자 식별자의 복호화를 시도함으로써 임시 사용자 식별자를 확인할 수 있다. 데이터 보안 시스템(180)이 임시 사용자 식별자를 성공적으로 복호화할 수 있으면, 데이터 보안 시스템(180)은 임시 사용자 식별자가 성공적으로 검증되었다고 결정할 수 있다. 그렇지 않다면, 데이터 보안 시스템(180)은 임시 사용자 식별자가 검증되지 않았다고 결정할 수 있다.
데이터 보안 시스템(180)은 증명 토큰을 확인한다(714). 데이터 보안 시스템(180)은 페이로드 데이터가 변조되지 않았으며 사용자 구독 정보에 대한 요청의 발신자가 애플리케이션(113)인지 검증하기 위해 사용자 구독 정보 요청에 포함된 증명 토큰을 확인한다. 예를 들어, 데이터 보안 시스템(180)은 토큰 생성 시간(예를 들어, 토큰 생성 시간이 현재 시간의 임계 지속 기간 내에 있음을 보장함으로써), 디지털 서명(증명 토큰의 공개 키를 사용하여) 및/또는 증명 토큰에 포함된 무결성 토큰을 사용하여 증명 토큰을 검증할 수 있다. 각 무결성 토큰의 검증은 증명 토큰이 검증되는 방식과 유사할 수 있다(예: 무결성 토큰의 디지털 서명 및 무결성 토큰의 토큰 생성 타임스탬프에 기초함). 일부 구현예에서, 세 가지 검증이 모두 수행되지만 다른 구현예에서는 더 적은 수의 검증이 수행될 수 있다. 또한, 검증은 다른 순서로 또는 병렬로 수행될 수 있다.
데이터 보안 시스템(180)은 데이터 보안 시스템(180)과 안전하게 통신할 목적으로 애플리케이션(113)에 의해 생성된 공개/개인 키 쌍의 공개 키(716)와 임시 사용자 식별자 사이의 연관을 검증한다. 임시 사용자 식별자를 검증한 후 데이터 보안 시스템(180)은 가능한 가장을 방지하기 위해 클라이언트 디바이스(110)를 인증할 수 있다. 예를 들어, 데이터 보안 시스템(180)은 클라이언트 디바이스(110)가 과거 공개 키와 연관 예를 들어 링크되었는지 여부를 검증하기 위해 클라이언트 디바이스(110)의 전화번호의 이력적 기록 및 그것의 증명 토큰의 공개 키와의 연관을 조회할 수 있다. 예를 들어, 데이터 보안 시스템(180)은 각각의 성공적으로 검증된 증명 토큰에 대해 증명 토큰의 공개 키를 증명 토큰의 임시 사용자 식별자에 링크하는 로그를 유지할 수 있다. 만약 그렇다면, 현재 공개 키는 임시 사용자 식별자에 이전에 연결되었고, 로그에 반영된 바와 같이, 데이터 보안 시스템(180)은 임시 사용자 식별자가 성공적으로 검증되었다고 결정할 수 있다.
그렇지 않은 경우, 데이터 보안 시스템(180)은 사용자가 애플리케이션(113)에 입력할 수 있거나 또는 애플리케이션(113)이 SMS 메시지에서 자동으로 추출할 수 있는 코드가 포함된 SMS 메시지를 클라이언트 디바이스(110)에 송신하여, 사용자에 의해 클라이언트 디바이스(110)로부터 개시된 구독 정보에 대한 요청을 검증할 수 있다. 다른 예에서, SMS 메시지는 사용자의 진위를 검증하기 위해 데이터 보안 시스템(180)의 웹사이트로 사용자를 리디렉션할 수 있는 URL을 포함할 수 있다. 이것은 새로운 공개 키가 임시 사용자 식별자와 연관되고 따라서 클라이언트 디바이스(110)에 속하는 것을 보장하기 위해 추가적인 보안을 제공한다. 데이터 보안 시스템(180)은 검증 중 하나가 실패한 경우, 이 SMS 메시지를 보낼 수 있다.
데이터 보안 시스템(180)은 사용자 구독 토큰 요청에 대한 응답을 준비한다(718). 클라이언트 디바이스(110)에서 실행되는 애플리케이션(113), 클라이언트 디바이스(110)의 사용자 및 사용자 구독 정보에 대한 요청의 진위를 검증한 후, 데이터 보안 시스템(180)은 사용자에게 제시하기 위해 애플리케이션(113)에 의해 요구되는 정보를 포함하는 응답을 생성한다. 예를 들어, 데이터 보안 시스템(180)은 데이터 보안 시스템(180)에 의해 유지되는 보안화되고 암호화된 사용자 데이터베이스로부터 데이터를 추출할 수 있다.
데이터 보안 시스템(180)은 애플리케이션(113)을 전송하기 전에 응답을 암호화한다(720). 데이터 보안 시스템(180)은 애플리케이션(113)의 공개/개인 키 쌍의 공개 키 또는 증명 토큰에 내장된 클라이언트 디바이스(110)의 공개 키를 사용하여 사용자 구독 정보를 암호문으로 암호화하여, 클라이언트 디바이스(110)에서 실행되는 애플리케이션(113)에서만 개인 키를 사용하여 암호문을 복호화하고 사용자 구독 정보에 일반 텍스트로 액세스할 수 있도록 한다.
데이터 보안 시스템(180)은 사용자 구독 정보를 애플리케이션(110)에 전송한다(722). 예를 들어, 암호화된 사용자 정보는 데이터 보안 시스템(180)으로부터 패킷화된 네트워크(105)를 통해 사용자에게 제시하기 위해 클라이언트 디바이스(110)에서 실행되는 애플리케이션(113)에 전송되고, 콘텐츠 자체는 헤더 및 페이로드 데이터를 갖는 패킷화된 데이터로서 포맷팅될 수 있다. 상기 헤더는 상기 패킷의 목적지를 특정할 수 있고, 상기 페이로드 데이터는 상기 논의된 임의의 정보를 포함할 수 있다. 사용자 구독 정보는 사용자의 데이터 프라이버시 설정을 포함할 수 있으며, 여기에는 예를 들어 사용자가 퍼블리셔를 구독하는 것에 응답하여 사용자에 대한 구독 토큰을 요청한 퍼블리셔의 목록을 포함할 수 있다.
암호화된 사용자 구독 데이터에 대한 응답을 수신한 후 클라이언트 디바이스(110)에서 실행되는 애플리케이션(113)은 개인 키(724)를 사용하여 데이터를 일반 텍스트로 복호화하고, 일반 텍스트 사용자 구독 데이터(726)를 클라이언트 디바이스(110)의 사용자에게 제시한다.
앞서 언급된 바와 같이, 애플리케이션(113)은 사용자가 개별 구독 및 프라이버시 설정을 선택하고 관리할 수 있게 하는 인터렉티브 제어를 더 포함할 수 있다. 이는 도 8을 참조하여 앞서 설명하였다.
도 8은 데이터 프라이버시 설정을 수정하는 예시적 프로세스(800)를 도시하는 스윔 레인 다이어그램이다. 프로세스(800)의 동작은 예를 들어 클라이언트 디바이스(110), 콘텐츠 플랫폼 및 데이터 보안 시스템(180)에 의해 구현될 수 있다. 프로세스(800)의 동작은 비일시적인 하나 이상의 컴퓨터 판독가능 매체에 저장된 명령어로 구현될 수 있으며, 하나 이상의 데이터 프로세싱 장치에 의한 명령어의 실행은 상기 하나 이상의 데이터 프로세싱 장치로 하여금 프로세스(800)의 동작을 수행하게 한다. 설명의 목적을 위해, 프로세스(800)는 클라이언트 디바이스의 사용자가 애플리케이션(113)과 인터렉션하여 하나 이상의 콘텐츠 플랫폼을 선택하고 애플리케이션(112)의 사용자 인터페이스를 통해 선택된 하나 이상의 콘텐츠 플랫폼으로부터 사용자 데이터를 삭제하기 위한 지시를 제공하는 예시적 시나리오를 참조하여 설명될 것이다.
클라이언트 디바이스(110)의 사용자는 애플리케이션(113)과 인터렉션하여 하나 이상의 콘텐츠 플랫폼으로부터 사용자 데이터를 삭제한다(802). 앞서 언급한 바와 같이, 애플리케이션(113)은 데이터 보안 시스템(180)에 의해 제공되고, 클라이언트 디바이스(110) 상에서 설치되거나 달리 실행된다. 애플리케이션(113)은 데이터 프라이버시 설정을 포함하는 사용자 구독에 관한 정보를 데이터 보안 시스템(180)으로부터 수신하고, 해당 정보를 사용자에게 제시하기 위한 사용자 인터페이스를 제공한다. 애플리케이션(113)은 사용자가 개별 구독 및 프라이버시 설정을 선택하고 수정할 수 있게 하는 인터렉티브 제어를 더 포함할 수 있다. 예를 들어, 사용자는 클라이언트 디바이스(110)에서 애플리케이션(113)을 열고, 예시적 프로세스(700)를 통해 그리고 사용자 인터페이스를 통해 현재 구독 및 프라이버시 설정을 보고, 선택된 하나 이상의 콘텐츠 플랫폼으로부터 사용자 데이터를 삭제하기 위한 지시를 제공한다. 이 예는 DSP에서 사용자 데이터를 삭제하는 것에 관한 것이지만, 유사한 프로세스를 사용하여 DSP에서 사용자 데이터를 사용하는 방법과 같은 다른 수정을 수행할 수 있다. 따라서, 보다 일반적으로, 사용자 데이터(810 및 820)를 삭제하기 위한 요청은 하나 이상의 엔터티(예: 콘텐츠 플랫폼)에 대한 데이터 프라이버시 설정을 수정하기 위한 요청일 수 있고, 사용자 데이터(822)의 삭제는 데이터 프라이버시 설정의 수정일 수 있고, 승인(824)은 데이터 프라이버시 설정 수정의 승인일 수 있다.
클라이언트 디바이스에서 실행 중인 애플리케이션(113)은 임시 사용자 식별자를 가져온다(804). 앞서 도 6을 참조하여 언급한 바와 같이, 임시 사용자 식별자는 클라이언트 디바이스(110)에 저장된다. 예를 들어, 클라이언트 디바이스(110)는 임시 사용자 식별자를 수신한 후 클라이언트 디바이스(110)의 신뢰할 수 있는 프로그램(111)의 키스토어(114)에 식별자를 안전하게 저장할 수 있다. 애플리케이션(113)을 개시한 후, 애플리케이션(113)은 클라이언트 디바이스(110)의 신뢰할 수 있는 프로그램(111)으로부터 임시 사용자 식별자를 가져온다. 예를 들어, 애플리케이션(113)은 임시 사용자 식별자에 대한 요청을 생성할 수 있고, 신뢰할 수 있는 프로그램(111)은 임시 사용자 식별자를 포함하는 요청에 대한 응답을 제공한다. 상술한 바와 같이, 임시 사용자 식별자는 사용자에 대한 사용자 식별자(예: 전화번호, 전자 메일 주소 또는 내부 식별자)를 암호화하여 생성된 암호화된 결과이다.
애플리케이션(113)은 공개 키를 가져온다(806). 상기 기술된 바와 같이, 애플리케이션(113)은 설치 동안 또는 클라이언트 디바이스(110)에서의 제1 실행 동안 데이터 보안 시스템(180)과 안전하게 통신할 목적으로 공개/개인 키 쌍을 생성한다. 공개/개인 키 쌍을 생성한 후 애플리케이션(113)은 클라이언트 디바이스(110)의 신뢰할 수 있는 프로그램(111)의 키스토어(114) 또는 클라이언트 디바이스(110)의 다른 보안 스토리지에 개인 키를 안전하게 저장한다. 사용자가 애플리케이션(113)을 개시하면, 애플리케이션(113)은 클라이언트 디바이스(110)의 다른 보안되지 않은 데이터 저장 위치로부터 클라이언트 디바이스(110)의 공개 키를 가져온다.
애플리케이션(113)은 클라이언트 디바이스(110)의 신뢰할 수 있는 프로그램(111)으로부터 증명 토큰을 가져온다(808). 프로세스(700)의 단계(708)와 유사하게, 애플리케이션(113)은 신뢰할 수 있는 프로그램(111)에 대한 하나 이상의 API 호출을 사용하는 페이로드 데이터로서 애플리케이션(113)의 임시 사용자 식별자 및 공개 키를 포함하는 증명 토큰을 생성하기 위해 클라이언트 디바이스(110) 내에서 실행되는 신뢰할 수 있는 프로그램(111)에 요청을 제출한다. 신뢰할 수 있는 프로그램(111)은 증명 토큰을 생성하고 증명 토큰을 애플리케이션(113)에 제공한다. 증명 토큰은 페이로드 데이터와 페이로드 데이터의 디지털 서명을 포함할 수 있다. 일부 구현예에서, 신뢰 프로그램(111)은 디지털 서명을 생성하기 위해 타원 곡선 디지털 서명 알고리즘(ECDSA)을 사용하지만, 다른 서명 기법(예를 들어, RSA)도 사용될 수 있다.
애플리케이션(113)은 사용자 데이터 삭제 요청을 생성한다(810). 임시 사용자 식별자, 공개 키 및 증명 토큰을 가져온 후 애플리케이션(113)은 사용자 데이터를 삭제하기 위한 요청을 생성하여 데이터 보안 시스템(180)에 전송한다. 요청은 임시 사용자 식별자, 공개 키 및 증명 토큰을 포함한다. 사용자 데이터 삭제 요청은 사용자 인터페이스를 통해 사용자에 의해 선택된 사용자 데이터를 삭제하기 위해 선택된 하나 이상의 콘텐츠 플랫폼 또는 DSP(160)의 목록을 포함할 수 있다. 사용자 데이터 삭제 요청은 예를 들어, 패킷화된 네트워크를 통해 전송될 수 있고, 컴포넌트 요청들(112) 자체는 헤더 및 페이로드 데이터를 갖는 패킷화된 데이터로서 포맷팅될 수 있다. 상기 헤더는 상기 패킷의 목적지를 특정할 수 있고, 상기 페이로드 데이터는 상기 논의된 임의의 정보를 포함할 수 있다.
데이터 보안 시스템(180)은 임시 사용자 식별자를 확인한다(812). 사용자 데이터 삭제 요청을 수신한 후, 데이터 보안 시스템(180)은 도 7을 참조하여 위에서 설명된 것과 동일한 방식으로 임시 사용자 식별자를 확인할 수 있다.
데이터 보안 시스템(180)은 증명 토큰을 확인한다(814). 예를 들어, 데이터 보안 시스템(180)은 도 7을 참조하여 기술된 바와 같이, 토큰 생성 시간, 디지털 서명 및/또는 증명 토큰에 포함된 무결성 토큰(들)을 사용하여 증명 토큰을 검증할 수 있다.
데이터 보안 시스템(180)은 임시 사용자 식별자와 공개 키 사이의 연관을 검증한다(816). 예를 들어, 도 7을 참조하여 기술된 바와 같이, 데이터 보안 시스템(180)은 클라이언트 디바이스(110)가 공개 키와 사실상 연관되는지 여부를 검증하기 위해 클라이언트 디바이스(110)의 전화번호의 이력적 기록 및 그것의 증명 토큰의 공개 키와의 연관을 조회할 수 있다. 다른 예시에서, 데이터 보안 시스템(180)은 사용자가 애플리케이션(113)에 입력할 수 있거나 또는 애플리케이션(113)이 코드를 추출하기 위해 SMS 메시지를 읽을 수 있는 코드가 포함된 SMS 메시지를 클라이언트 디바이스(110)에 송신하여, 사용자에 의해 클라이언트 디바이스(110)로부터 개시된 구독 정보에 대한 요청을 검증할 수 있다. 다른 예에서, SMS 메시지는 사용자의 진위를 검증하기 위해 데이터 보안 시스템(180)의 웹사이트로 사용자를 리디렉션할 수 있는 URL을 포함할 수 있다.
데이터 보안 시스템(180)은 증명 토큰을 저장한다(818). 데이터 보안 시스템은 클라이언트 디바이스(110)로부터 수신된 사용자 구독/프라이버시 설정을 수정하기 위한 각 요청에 대한 로그를 유지할 수 있다. 예를 들어, 데이터 보안 시스템(180)은 사용자 데이터 삭제 요청에 포함된 증명 토큰을 저장하여, 클라이언트 디바이스(110)의 사용자 및 데이터 보안 시스템(180)과 연관된 모든 엔터티가 사용자 및 데이터 보안 시스템(180)이 설정한 프로토콜을 준수하는지 여부를 확인하기 위한 감사를 수행할 수 있도록 한다. 일부 구현예에서, 데이터 보안 시스템(180)은 데이터 보안 시스템(180)의 저장 공간을 보존하기 위해 증명 토큰의 첨부 엘리먼트를 제거할 수 있다.
데이터 보안 시스템(180)은 사용자가 데이터 삭제를 요청한 콘텐츠 플랫폼(들)에 사용자 데이터 삭제 요청을 전송한다(820). 예를 들어, 사용자 데이터 삭제 요청 및 클라이언트 디바이스(110)를 인증한 후, 데이터 보안 시스템(180)은 데이터 보안 시스템(180)과 연관된 선택된 하나 이상의 콘텐츠 플랫폼 각각에 사용자 데이터 삭제 요청을 전송할 수 있다. 요청이 데이터 프라이버시 설정을 수정하는 것이라면 요청은 대신 요청된 수정을 지정할 수 있다.
콘텐츠 플랫폼(들)은 사용자 데이터를 삭제한다(822). 데이터 보안 시스템(180)에 의해 전송된 사용자 데이터 삭제 요청을 수신하는 것에 응답하여, 선택된 하나 이상의 콘텐츠 플랫폼은 사용자 데이터 삭제 요청에 포함된 제2 사용자 식별자에 의해 식별된 사용자의 사용자 데이터를 삭제한다. 콘텐츠 플랫폼(들)은 이벤트, 예를 들어 데이터 삭제 이벤트를 기술하는 데이터와 함께 증명 토큰을 저장할 수 있다. 이벤트가 데이터 프라이버시 설정을 수정하는 것인 경우(예: 콘텐츠 플랫폼에 사용자 데이터 사용 권한 부여), 증명 토큰은 콘텐츠 플랫폼이 사용자 데이터를 사용하도록 허용되었다는 암호학적으로 검증 가능한 증거로 사용될 수 있다.
데이터 보안 시스템(180)은 콘텐츠 플랫폼으로부터 승인을 수신한다(824). 선택된 하나 이상의 콘텐츠 플랫폼 각각에 의한 사용자 데이터 삭제에 응답하여, 선택된 하나 이상의 콘텐츠 플랫폼 각각은 네트워크(105)를 통해 데이터 보안 시스템(180)에 승인 통지를 전송한다. 응답으로 데이터 보안 시스템(180)은 사용자의 요청이 처리되었음을 사용자에게 알리기 위해 클라이언트 디바이스(105)의 애플리케이션(113)에 승인을 전송한다(826). 일부 구현예에서, 애플리케이션(113)은 사용자 데이터 삭제 요청을 하나 이상의 DSP(160)에 직접 전송할 수 있다.
일부 구현예에서, 클라이언트 디바이스(110)의 사용자가 애플리케이션(113)에 대한 액세스 권한이 없을 때(예를 들어, 애플리케이션(113)이 클라이언트 디바이스(110)에 설치되지 않은 경우), 사용자는 데이터 보안 시스템(180)에 의해 제공되는 웹사이트에 액세스하기 위해 브라우저 기반 애플리케이션(112)을 사용하여 위에서 언급한 모든 작업을 수행한다. 이 시나리오는 도 9를 참조하여 더 설명된다.
도 9은 사용자가 브라우저 애플리케이션을 사용하여 데이터 프라이버시 설정을 조정하게 하는 사용자 인터페이스를 생성 및 제공하기 위한 예시적 프로세스(900)를 도시하는 스윔 레인 다이어그램이다. 프로세스(900)의 동작은 예를 들어 클라이언트 디바이스(110) 또는 데이터 보안 시스템(180)에 의해 구현될 수 있다. 프로세스(900)의 동작은 비일시적인 하나 이상의 컴퓨터 판독가능 매체에 저장된 명령어로 구현될 수 있으며, 하나 이상의 데이터 프로세싱 장치에 의한 명령어의 실행은 상기 하나 이상의 데이터 프로세싱 장치로 하여금 프로세스(900)의 동작을 수행하게 한다.
데이터 보안 시스템(180)은 SMS 메시지를 클라이언트 디바이스(110)에 전송한다(902). 예를 들어, 클라이언트 디바이스(110)의 사용자가 브라우저 애플리케이션(112)을 사용하여 퍼블리셔(140)의 웹사이트(142)를 탐색한다고 가정한다. 또한, 사용자가 퍼블리셔(140)를 구독하기 위해 사용자의 전화번호를 제공한다고 가정한다. 그러한 시나리오에서, 퍼블리셔(140)는 데이터 보안 시스템(180)에 통지할 것이고, 이는 차례로 전화번호가 속하는 클라이언트 디바이스(110)에 SMS 메시지를 보낼 것이다. 일부 구현예에서, 데이터 보안 시스템(180)에 의해 사용자의 클라이언트 디바이스(110)에 전송된 SMS 메시지는 데이터 보안 플랫폼(180)의 대시보드 또는 웹사이트에 대한 URL과 같은 리소스 로케이터 및 사용자에 대한 암호화된 임시 사용자 식별자를 포함한다. 사용자에 대한 임시 사용자 식별자는 데이터 보안 시스템(180)만 알고 있는 확률적 대칭 키 암호화 알고리즘과 비밀 키를 사용하여 사용자의 전화번호를 암호화하여 데이터 보안 시스템(180)에 의해 생성된다.
클라이언트 디바이스의 사용자는 SMS 메시지에 대해 통지되고(904) 사용자는 SMS 메시지와 인터렉션한다(906). 예를 들어, 데이터 보안 시스템(180)으로부터 SMS 메시지를 수신한 후, 사용자는 SMS 메시지에 대해 통지받는다. 사용자는 SMS 메시지에 대해 클라이언트 디바이스(110)의 신뢰할 수 있는 프로그램(111)(예: 운영 체제)에 의해 통지된 후, SMS 메시지에 제공된 URL과 인터렉션하고, 브라우저 애플리케이션(112)을 사용하여 데이터 보안 시스템(180)이 제공하는 웹사이트로 리디렉션된다(908).
브라우저 애플리케이션(112)은 디지털 콘텐츠에 대한 요청을 생성 및 전송한다(910). 예를 들어, 클라이언트 디바이스(110)의 사용자가 SMS 메시지의 참조(예를 들어, URL)를 클릭하여 웹사이트를 지정한 후, 애플리케이션(112), 예를 들어, 클라이언트 디바이스(110)에서 실행되는 웹 브라우저는 디지털 콘텐츠에 대한 요청(즉, 데이터 보안 시스템(180)의 웹사이트에 대한 요청)을 생성하고, 요청을 네트워크(105)를 통해 데이터 보안 시스템에 전송한다. 일부 구현예에서, 디지털 콘텐츠에 대한 요청은 증명을 포함할 수 있다. 이 예에서 증명 토큰은 신뢰할 수 있는 서드파티가 발행한 신뢰 토큰의 형태일 수 있다. 예를 들어, 신뢰할 수 있는 서드파티는 클라이언트 디바이스(110)로부터 획득된 사기 탐지 신호를 평가한 후 클라이언트 디바이스(110)에 신뢰 토큰을 발행할 수 있다. 일부 구현예에서, 디지털 컴포넌트에 대한 요청은 데이터 보안 시스템(180)과의 사전 통신 동안 클라이언트 디바이스(110)에 배치된 데이터 보안 시스템(180)의 쿠키를 포함할 수 있다.
데이터 보안 시스템(180)은 신뢰 토큰의 증명 기록을 확인한다(912). 증명 기록은 서명된 상환 기록을 포함할 수 있다. 예를 들어, 웹페이지의 스크립트 또는 기타 코드는 브라우저에 신뢰할 수 있는 서드파티로부터 신뢰 토큰을 교환하도록 요청할 수 있다. 신뢰 토큰이 유효하면, 신뢰할 수 있는 서드파티가 서명된 상환 기록을 브라우저에 반환할 수 있다. 데이터 보안 시스템(180)은 증명 기록이 첨부된 디지털 콘텐츠에 대한 요청(즉, 데이터 보안 시스템(180)의 웹사이트에 대한 요청)을 수신한다. 증명 기록은 신뢰 토큰에 대한 토큰 식별자, 토큰 생성 타임스탬프 및 서명된 상환 기록을 포함하는 데이터 세트를 포함할 수 있다. 증명 기록은 신뢰할 수 있는 서드파티의 개인 키를 사용하여 생성된 데이터 세트의 디지털 서명을 포함할 수 있다. 데이터 보안 시스템(180)은 토큰 생성 시간이 현재 시간의 임계 지속 시간 이내인지 검증하고, 신뢰할 수 있는 서드파티의 개인 키에 대응하는 공개 키를 사용하여 전자 서명을 검증하여 서명된 상환 기록을 검증할 수 있다.
데이터 보안 시스템(180)은 임시 사용자 식별자를 확인한다(914). 데이터 보안 시스템(180)은 데이터 보안 시스템(180)의 개인 키를 사용하여 암호화된 임시 사용자 식별자, 공개 키 및 증명 토큰을 복호화한다. 데이터 보안 시스템(180)은 클라이언트 디바이스(110) 또는 애플리케이션(113)의 공개 키를 사용하여 디지털 콘텐츠에 대한 요청에 포함된 디지털 서명을 사용하여 임시 사용자 식별자, 공개 키 및 증명 토큰을 추가로 확인한다. 디지털 서명이 생성된 후 디지털 콘텐츠 요청 데이터의 임의의 조각이 변경되면, 디지털 서명 검증이 실패할 것이다.
데이터 보안 시스템(180)은 디지털 컴포넌트에 대한 요청과 함께 수신된 쿠키를 확인한다(916). 예를 들어, 데이터 보안 시스템(180)이 애플리케이션(112)에 의해 데이터 보안 시스템의 웹사이트에 사전 액세스하는 동안 브라우저 애플리케이션(112)에 쿠키를 배치했다고 가정한다. 또한 쿠키 값이 임시 사용자 식별자(위에서 설명한 암호화된 결과)라고 가정한다. 디지털 컴포넌트에 대한 요청에 포함된 쿠키를 수신한 후 데이터 보안 시스템(180)은 가짜의 징후에 대해 쿠키의 유효성을 확인한다.
데이터 보안 시스템(180)은 디지털 콘텐츠를 브라우저 애플리케이션(112)에 전송한다(918). 예를 들어, 데이터 보안 시스템(180)은 컴퓨터 실행가능 명령어 및 웹사이트의 데이터를 클라이언트 디바이스(110) 상에서 실행되는 브라우저 애플리케이션(112)에 전송함으로써 응답할 수 있다. 응답은 예를 들어 패킷화된 네트워크(105)를 통해 전송되는 웹사이트와 관련된 데이터를 포함할 수 있고 콘텐츠 자체는 패킷화된 데이터로 포맷팅될 수 있다. 일부 구현예에서, 디지털 콘텐츠에 대한 응답은 또한 데이터 보안 시스템(180)과의 임의의 미래 통신 동안 브라우저 애플리케이션(112)을 식별하기 위해 브라우저 애플리케이션(112)의 쿠키 항아리에 배치될 쿠키를 포함할 수 있다. 브라우저 애플리케이션(112)은 웹사이트의 콘텐츠를 수신한 후 사용자에게 웹사이트를 제시한다(920).
도 10은 사용자 인터페이스 제어를 사용하여 수정된 데이터 프라이버시 설정에 기초하여 사용자 데이터의 사용을 수정하는 프로세스(1000)를 도시하는 흐름도이다. 프로세스(1000)의 동작은 예를 들어 클라이언트 디바이스(110) 및/또는 데이터 보안 시스템(180)에 의해 구현될 수 있다. 또한, 프로세스(1000)의 동작은 비일시적인 하나 이상의 컴퓨터 판독가능 매체에 저장된 명령어로 구현될 수 있으며, 하나 이상의 데이터 프로세싱 장치에 의한 명령어의 실행은 상기 하나 이상의 데이터 프로세싱 장치로 하여금 프로세스(1000)의 동작을 수행하게 한다.
사용자 인터페이스가 업데이트되어 사용자가 데이터 프라이버시 설정을 지정할 수 있도록 하는 사용자 인터페이스 제어를 제공한다(1010). 예를 들어, 애플리케이션(113)은 데이터 보안 시스템(180)으로부터 사용자 구독 데이터에 액세스한다. 사용자 구독 데이터에 액세스하면, 애플리케이션(113)은 사용자 구독 데이터를 사용자에게 제시하고 사용자에 대한 인터페이스 제어를 제공한다. 사용자는 인터페이스 제어와 인터렉션하여 하나 이상의 콘텐츠 플랫폼에서 사용자 데이터를 삭제하거나, 하나 이상의 엔터티에 대해 주어진 데이터 프라이버시 설정을 수정한다.
하나 이상의 엔터티에 대한 주어진 데이터 프라이버시 설정을 수정하기 위한 요청이 수신된다(1020). 예를 들어, 사용자가 하나 이상의 콘텐츠 플랫폼을 선택한 후, 애플리케이션(113)은 클라이언트 디바이스(110)로부터 임시 사용자 식별자, 공개 키 및 증명 토큰을 가져온다. 그 다음, 애플리케이션은 사용자의 데이터 프라이버시 설정을 업데이트 또는 수정하기 위한 요청을 생성하고 데이터 보안 시스템(180)에 전송한다.
데이터 보안 시스템(180)은 적어도 임시 사용자 식별자를 사용하여 요청을 확인하려고 시도한다(1030). 예를 들어, 데이터 프라이버시 설정을 수정하기 요청을 수신한 후, 데이터 보안 시스템(180)은 도 7 내지 도 8을 참조하여 위에서 설명된 바와 같이, 임시 사용자 식별자, 증명 토큰(서명된 상환 기록이 있는 증명 기록의 형태일 수 있음) 및/또는 임시 사용자 식별자와 공개 키 사이의 연관을 검증함으로써 요청을 확인한다.
요청이 성공적으로 확인되면, 데이터 보안 시스템(180)은 수정된 데이터 프라이버시 설정에 의해 영향을 받는 하나 이상의 엔터티 각각에 수정된 데이터 프라이버시 설정에 따라 데이터의 사용을 수정하도록 지시하는 데이터를 전송한다(1050). 예를 들어, 클라이언트 디바이스(110)로부터의 데이터 프라이버시 설정을 수정하기 위한 요청을 확인한 후, 데이터 보안 시스템(180)은 해당 엔터티에 대한 수정된 데이터 프라이버시 설정에 기초하여 사용자 데이터의 수집, 저장 및/또는 사용을 수정하기 위한 요청을 각각의 영향을 받는 엔터티에 전송할 수 있다. 이 요청은 사용자의 임시 사용자 식별자를 포함할 수 있다.
요청이 성공적으로 확인되지 않은 경우, 데이터 보안 시스템(180)은 하나 이상의 엔터티 각각에 데이터 사용을 수정하도록 지시하는 데이터를 전송하지 않는다(1040). 예를 들어, 검증 중 하나라도 실패하면 데이터 보안 시스템(180)은 사용자 데이터의 사용을 수정하기 위한 요청을 영향을 받는 엔터티에 전송하지 않는다.
도 11는 상기 기술된 동작들을 수행하는데 사용될 수 있는 예시적 컴퓨터 시스템(1100)의 블록 다이어그램이다. 시스템(1100)은 프로세서(1110), 메모리(1120), 저장 디바이스(1130) 및 입력/출력 디바이스(1140)를 포함한다. 컴포넌트들(1110, 1120, 1130 및 1140) 각각은 예를 들면, 시스템 버스(1150)를 사용하여 상호 연결될 수 있다. 프로세서(1110)는 시스템(1100) 내에서 실행하기 위한 명령어들을 프로세싱할 수 있다. 일부 구현예에서, 프로세서(1110)는 단일-스레드 프로세서이다. 다른 구현예에서, 프로세서(1110)는 멀티-스레드 프로세서이다. 프로세서(1110)는 메모리(1120) 또는 저장 디바이스(1130)에 저장된 명령어들을 프로세싱할 수 있다.
메모리(1120)는 시스템(1100) 내에 정보를 저장한다. 일 구현예에서, 메모리(1120)는 컴퓨터 판독가능 매체이다. 일부 구현예에서, 메모리(1120)는 휘발성 메모리 유닛이다. 다른 구현예에서, 메모리(1120)는 비휘발성 메모리 유닛이다.
저장 디바이스(1130)는 시스템(500)에 대한 대형 저장소를 제공할 수 있다. 일부 구현예에서, 저장 디바이스(1130)는 컴퓨터 판독가능 매체이다. 다양한 상이한 구현예에서, 저장 디바이스(1130)는 예를 들면, 하드 디스크 디바이스, 광학 디스크 디바이스, 다수의 컴퓨팅 디바이스들(예를 들면, 클라우드 저장 디바이스)에 의해 네트워크를 통해 공유되는 저장 디바이스 또는 일부 기타 대용량 저장 디바이스를 포함할 수 있다.
입력/출력 디바이스(1140)는 시스템(1100)에 대한 입력/출력 동작들을 제공한다. 일부 구현예에서, 입력/출력 디바이스(1140)는 네트워크 인터페이스 디바이스 예를 들어, 이더넷 카드, 직렬 통신 디바이스(예를 들어, RS-232 포트) 및/또는 무선 인터페이스 디바이스(예를 들어, 802.11 카드) 중 하나 이상을 포함할 수 있다. 다른 구현예에서, 입력/출력 디바이스는 입력 데이터를 수신하고 출력 데이터를 다른 외부 디바이스들(1160) 예를 들어, 키보드, 프린터 및 디스플레이 디바이스들에 송신하도록 구성된 드라이버 디바이스들을 포함할 수 있다. 그러나, 모바일 컴퓨팅 디바이스들, 모바일 통신 디바이스들, 셋톱 박스 텔레비전 클라이언트 디바이스들 등과 같은 다른 구현예들도 사용될 수 있다.
예시적 프로세싱 시스템이 도 11에서 기술되었지만, 본 발명의 구현예들 및 본 명세서에 기술된 기능적 동작들은 본 발명에 개시된 구조들 및 그들의 구조적 균등물들 또는 그들 중 하나 이상의 조합들을 포함하는 다른 유형의 디지털 전자 회로에서, 또는 컴퓨터 소프트웨어, 펌웨어 또는 하드웨어에서 구현될 수 있다.
본 발명의 실시예들과 본 명세서에 기술된 동작들은 본 발명에 개시된 구조들 및 그들의 구조적 균등물들 또는 그들 중 하나 이상의 조합들을 포함하는 디지털 전자회로 또는 컴퓨터 소프트웨어, 펌웨어 또는 하드웨어에서 구현될 수 있다. 본 명세서에 기술된 본 발명의 실시예들은 하나 이상의 컴퓨터 프로그램들로서 구현될 수 있다. 즉, 데이터 프로세싱 장치에 의해 실행 또는 데이터 프로세싱 장치의 동작을 제어하기 위한 컴퓨터 저장 매체(또는 매체들)에 인코딩된 컴퓨터 프로그램 명령어들의 하나 이상의 모듈들. 대안적으로 또는 추가로, 프로그램 명령어들은 데이터 프로세싱 장치에 의해 실행하기 위한 적절한 수신기 장치에 전송하기 위한 정보를 인코딩하기 위해 생성된 인공적으로 생성된 전파된 신호 즉, 기계-생성 전기, 광학 또는 전자기적 신호에 인코딩될 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 저장 디바이스, 컴퓨터 판독가능 저장 기판, 랜덤 또는 직렬 액세스 메모리 어레이 또는 디바이스 또는 그들 중 하나 이상의 조합이거나 그에 포함될 수 있다. 또한, 컴퓨터 저장 매체는 전파된 신호가 아니지만, 컴퓨터 저장 매체는 인공적으로 생성된 전파된 신호에 인코딩된 컴퓨터 프로그램 명령어들의 소스 또는 목적지일 수 있다. 또한, 컴퓨터 저장 매체는 하나 이상의 별개의 물리적 컴포넌트들 또는 매체(예를 들면, 다수의 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) 또는 LCD(liquid crystal display) 모니터와 같은 디스플레이 디바이스 및 사용자가 컴퓨터에 입력을 제공할 수 있는 키보드 및 포인팅 디바이스 예를 들어, 마우스 또는 트랙볼을 갖는 컴퓨터에서 구현될 수 있다. 다른 종류의 디바이스들도 사용자와의 인터렉션을 제공하는데 사용될 수 있다. 예를 들어, 사용자에게 제공되는 피드백은 시각 피드백, 청각 피드백 또는 촉각 피드백과 같은 임의의 형태의 감각적 피드백일 수 있고, 사용자로부터의 입력은 음향, 음성 또는 촉각 입력을 포함하는 임의의 형태로 수신될 수 있다. 추가로, 컴퓨터는 사용자에 의해 사용되는 디바이스에 문서를 송수신함으로써 예를 들어, 웹브라우저로부터 수신된 요청에 응답하여, 사용자의 사용자 디바이스상의 웹브라우저에 웹페이지를 전송함으로써 사용자와 인터렉션할 수 있다.
본 명세서에서 기술된 발명의 실시예는 예를 들어 데이터 서버와 같은 백엔드 컴포넌트, 애플리케이션 서버와 같은 미들웨어 컴포넌트 또는 그래픽 사용자 인터페이스를 가지는 사용자 컴퓨터 또는 사용자가 본 명세서에 기술된 본 발명의 구현예와 인터렉션할 수 있는 웹 브라우저와 같은 프론트엔드 컴포넌트 또는 하나 이상의 상기 백엔드, 미들웨어 또는 프론트엔드 컴포넌트들의 임의의 조합을 포함하는 컴퓨팅 시스템에서 구현될 수 있다. 시스템의 컴포넌트들은 디지털 데이터 통신의 임의의 형태 또는 매체, 예를 들어 통신 네트워크에 의해 상호연결될 수 있다. 통신 네트워크들의 예는 근거리 통신망("LAN") 및 광역 통신망("WAN"), 인터-네트워크(예를 들어, 인터넷) 및 피어투피어 네트워크(예를 들어, 애드혹 피어투피어 네트워크)를 포함한다.
컴퓨팅 시스템은 사용자들 및 서버들을 포함할 수 있다. 사용자와 서버는 일반적으로 서로 멀리 떨어져 있으며, 일반적으로 통신 네트워크를 통해 인터렉션한다. 사용자와 서버의 관계는 각각의 컴퓨터에서 실행되고 서로 사용자-서버 관계를 갖는 컴퓨터 프로그램에 의해 발생한다. 일부 실시예에서, 서버는(예를 들어, 사용자 디바이스와 인터렉션하는 사용자에게 데이터를 디스플레이하고 사용자 입력을 수신하기 위해) 사용자 디바이스에 데이터(예를 들어, HTML 페이지)를 전송한다. 사용자 디바이스에서 생성된 데이터(예를 들어, 사용자 인터렉션의 결과)는 서버에서 사용자 디바이스로부터 수신될 수 있다.
본 명세서는 많은 특정 구현 세부내용을 포함하지만, 이들은 임의의 발명의 범위 또는 청구될 수 있는 범위에 대한 제한으로서 해석되어서는 안되며, 오히려 특정한 발명의 특정한 실시예에 특정한 구성들에 대한 설명으로 해석되어야 한다. 별개의 실시예의 컨텍스트에서 본 명세서에서 기술되는 일정 구성들은 또한 단일 실시예에서 조합하여 구현될 수 있다. 반대로, 단일 실시예의 컨텍스트에서 기술된 다양한 구성들은 또한 다수의 실시예에서 개별적으로 또는 임의의 적절한 서브 조합으로 구현될 수 있다. 게다가, 구성들은 일정 조합으로 동작하고 심지어 초기적으로 그렇게 청구되는 것으로서 상기에서 기술될 수 있지만, 청구된 조합으로부터의 하나 이상의 구성들은 일부 경우, 조합으로부터 제거될 수 있고, 청구된 조합은 서브 조합 또는 서브 조합의 변형으로 안내될 수 있다.
유사하게, 동작들이 특정한 순서로 도면에서 도시되었지만, 이는 상기 동작들이 도시된 특정한 순서로 또는 시계열적 순서로 수행되어야 함을 요구하는 것으로서 또는 모든 도시된 동작들이 수행되어야 하는 것으로 이해되어서는 안된다. 특정 환경에서, 멀티태스킹과 병렬 프로세싱은 이점이 있다. 게다가, 상기 기술된 실시예에서 다양한 시스템 컴포넌트들의 분리는 모든 실시예에서 그러한 분리가 필요한 것으로서 이해되어서는 안되며, 일반적으로 기술된 프로그램 컴포넌트들 및 시스템들은 단일의 소프트웨어 제품에 함께 통합되거나 다수의 소프트웨어 제품들에 패키징될 수 있다고 이해되어야 한다.
따라서, 본 발명의 특정한 실시예들이 기술되었다. 다른 실시예들도 다음의 청구항들의 범위 내에 있다. 일부 경우에, 청구항들에서 기재된 액션들은 상이한 순서로 수행되고 여전히 원하는 결과들을 달성할 수 있다. 추가로, 첨부 도면들에 도시된 프로세스들은 원하는 결과들을 달성하기 위해 특정한 도시된 순서, 또는 시계열적 순서를 반드시 필요로 하지 않는다. 특정 구현예에서, 멀티태스킹과 병렬 프로세싱은 이점이 있다.

Claims (13)

  1. 컴퓨터로 구현되는 방법으로서,
    엔터티가 사용자의 데이터를 수집, 저장 및 사용하는 방법을 정의하는 데이터 프라이버시 설정을 사용자가 지정하게 하는 사용자 인터페이스 제어를 제시하도록 클라이언트 디바이스의 사용자 인터페이스를 업데이트하는 단계;
    하나 이상의 사용자 인터페이스 제어와의 사용자 인터렉션에 기초하여, 클라이언트 디바이스로부터 하나 이상의 엔터티에 대한 데이터 프라이버시 설정을 수정하기 위한 요청을 수신하는 단계, 상기 요청은 상기 사용자에 대한 임시 사용자 식별자 및 증명 토큰을 포함하고, 상기 임시 사용자 식별자는 상기 클라이언트 디바이스의 전화번호에 기초하며;
    적어도 상기 사용자에 대한 임시 사용자 식별자와 상기 증명 토큰을 사용하여 상기 요청을 확인하는 단계; 및
    상기 요청을 확인하는 것에 응답하여, 상기 수정된 주어진 데이터 프라이버시 설정에 기초하여 상기 사용자 데이터의 사용을 수정하도록 엔터티에 지시하는 데이터를 상기 하나 이상의 엔터티 각각에 전송하는 단계를 포함하는, 방법.
  2. 청구항 1 또는 2에 있어서, 상기 사용자 인터페이스를 업데이트하기 전에:
    퍼블리셔로부터, 상기 사용자의 전화번호에 대한 구독 토큰을 요청하는 토큰 요청을 수신하는 단계; 및
    (i) 상기 사용자 인터페이스를 포함하는 전자 리소스에 대한 리소스 로케이터 및 (ii) 상기 사용자에 대한 임시 사용자 식별자를 포함하는 메시지를 상기 클라이언트 디바이스에 전송하는 단계를 더 포함하는, 방법.
  3. 임의의 선행하는 청구항에 있어서, 상기 임시 사용자 식별자는 (i) 상기 사용자의 전화번호 또는 (ii) 전자 메일 주소를 암호화하여 생성된 암호화된 결과를 포함하는, 방법.
  4. 임의의 선행하는 청구항에 있어서,
    상기 요청은 상기 클라이언트 디바이스의 공개 키를 더 포함하고; 그리고
    상기 요청을 확인하는 단계는 상기 임시 사용자 식별자와 상기 클라이언트 디바이스의 공개 키 사이의 연관을 검증하는 단계를 더 포함하는, 방법.
  5. 청구항 4에 있어서, 상기 임시 사용자 식별자를 검증하는 단계는:
    상기 임시 사용자 식별자를 복호화하려고 시도하는 단계; 및
    상기 임시 사용자 식별자가 성공적으로 복호화된 경우 상기 임시 사용자 식별자가 성공적으로 검증되었다고 결정하는 단계를 포함하는, 방법.
  6. 임의의 선행하는 청구항에 있어서, 감사 로그에 증명 토큰 및 업데이트된 설정을 저장하는 단계를 더 포함하는, 방법.
  7. 임의의 선행하는 청구항에 있어서,
    상기 요청은 웹 쿠키를 포함하며; 그리고
    상기 요청을 확인하는 단계는:
    상기 임시 사용자 식별자를 복호화하는 단계; 및
    상기 임시 사용자 식별자를 사용하여 웹 쿠키를 검증하는 단계를 포함하는, 방법.
  8. 임의의 선행하는 청구항에 있어서,
    상기 증명 토큰은:
    데이터 세트; 및
    상기 데이터 세트의 디지털 서명을 포함하며; 그리고
    상기 증명 토큰을 검증하는 단계는 상기 데이터 세트에 기초하여 상기 디지털 서명이 유효한지 결정하는 단계를 포함하는, 방법.
  9. 임의의 선행하는 청구항에 있어서,
    상기 증명 토큰은 상기 증명 토큰이 생성되었던 시간을 표시하는 토큰 생성 타임스탬프를 포함하며; 그리고
    상기 증명 토큰을 검증하는 단계는 상기 증명 토큰이 생성되었던 시간이 상기 요청이 수신된 시간의 임계 지속시간 내에 있는지를 결정하는 단계를 포함하는, 방법.
  10. 임의의 선행하는 청구항에 있어서,
    상기 증명 토큰은 상기 클라이언트 디바이스 또는 상기 클라이언트 디바이스에서 실행 중인 애플리케이션의 신뢰성에 대한 판정을 포함하는 무결성 토큰을 포함하며; 그리고
    상기 증명 토큰을 검증하는 단계는 상기 무결성 토큰을 검증하는 것을 포함하는, 방법.
  11. 시스템으로서,
    하나 이상의 프로세서; 및
    명령어를 포함하는 하나 이상의 저장 디바이스를 포함하며, 상기 명령어는 하나 이상의 프로세서에 의해 실행될 때, 상기 하나 이상의 프로세서로 하여금 선행하는 청구항 중 어느 한 항의 방법을 수행하게 하는, 시스템.
  12. 명령어를 포함하는 컴퓨터 판독가능 저장 매체로서, 상기 명령어는 하나 이상의 프로세서에 의해 실행될 때, 상기 하나 이상의 프로세서로 하여금 청구항 1 내지 10 중 어느 한 항의 방법을 수행하게 하는, 컴퓨터 판독가능 저장 매체.
  13. 명령어를 포함하는 컴퓨터 프로그램 물로서, 상기 명령어는 컴퓨터에 의해 실행될 때, 상기 컴퓨터로 하여금 청구항 1 내지 10 중 어느 한 항의 방법을 수행하게 하는, 컴퓨터 프로그램 물.
KR1020227026990A 2020-10-27 2020-10-27 암호화 방식으로 보안 요청 검증 KR20220123695A (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2020/057554 WO2022093202A1 (en) 2020-10-27 2020-10-27 Cryptographically secure request verification

Publications (1)

Publication Number Publication Date
KR20220123695A true KR20220123695A (ko) 2022-09-08

Family

ID=73449246

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227026990A KR20220123695A (ko) 2020-10-27 2020-10-27 암호화 방식으로 보안 요청 검증

Country Status (6)

Country Link
US (1) US20230050222A1 (ko)
EP (1) EP4073976A1 (ko)
JP (1) JP7376727B2 (ko)
KR (1) KR20220123695A (ko)
CN (1) CN115066865A (ko)
WO (1) WO2022093202A1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10949564B2 (en) * 2018-05-07 2021-03-16 Apple Inc. Contact discovery service with privacy aspect
US11962573B2 (en) * 2021-10-26 2024-04-16 Genetec Inc System and method for providing access to secured content field
US11695772B1 (en) * 2022-05-03 2023-07-04 Capital One Services, Llc System and method for enabling multiple auxiliary use of an access token of a user by another entity to facilitate an action of the user
WO2023214975A1 (en) * 2022-05-06 2023-11-09 Google Llc Privacy-preserving and secure application install attribution

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7478434B1 (en) * 2000-05-31 2009-01-13 International Business Machines Corporation Authentication and authorization protocol for secure web-based access to a protected resource
US20060002556A1 (en) 2004-06-30 2006-01-05 Microsoft Corporation Secure certificate enrollment of device over a cellular network
JP2008525863A (ja) 2004-10-04 2008-07-17 コンテントガード ホールディングズ インコーポレイテッド 共有状態変数を用いる権利のオファー及び許諾のためのシステムおよび方法
JP2012137995A (ja) 2010-12-27 2012-07-19 Fujitsu Ltd リソース提供システム、アクセス制御プログラム及びアクセス制御方法
US8918850B2 (en) * 2011-08-01 2014-12-23 Google Inc. Share cookie on native platform in mobile device without having to ask for the user's login information
GB2498708B (en) * 2012-01-17 2020-02-12 Secure Cloudlink Ltd Security management for cloud services
US11349665B2 (en) 2017-12-22 2022-05-31 Motorola Solutions, Inc. Device attestation server and method for attesting to the integrity of a mobile device
JP7216881B2 (ja) 2018-10-19 2023-02-02 日本電信電話株式会社 コンテンツ契約システム、コンテンツ契約方法、権利者端末、譲受人端末、制御端末、コンテンツ蓄積サーバ、権利者プログラム、譲受人プログラム、制御プログラムおよびコンテンツ蓄積プログラム

Also Published As

Publication number Publication date
EP4073976A1 (en) 2022-10-19
JP7376727B2 (ja) 2023-11-08
WO2022093202A1 (en) 2022-05-05
CN115066865A (zh) 2022-09-16
US20230050222A1 (en) 2023-02-16
JP2023518662A (ja) 2023-05-08

Similar Documents

Publication Publication Date Title
US20230050222A1 (en) Cryptographically secure request verification
US20220300643A1 (en) Cryptographically secure data protection
CN113015974A (zh) 针对隐私保护的可验证同意
US11949688B2 (en) Securing browser cookies
JP2023096089A (ja) グループ署名による匿名イベント証明
KR20220025076A (ko) 클라이언트 장치에서 통신의 무결성 보호
US20240095364A1 (en) Privacy-preserving and secure application install attribution
KR102639228B1 (ko) 익명 이벤트 증명
JP7157258B2 (ja) 集約されたネットワーク測定における不正の防止
KR102562178B1 (ko) 통신 네트워크 측정치의 데이터 조작 방지 및 사용자 프라이버시 보호
EP4162647B1 (en) Anonymous authentication with token redemption
CN118043812A (en) Privacy protection and secure application installation attribution
KR20220161428A (ko) 정보 액세스를 제한하는 보안 네트워크 통신