KR102562178B1 - 통신 네트워크 측정치의 데이터 조작 방지 및 사용자 프라이버시 보호 - Google Patents
통신 네트워크 측정치의 데이터 조작 방지 및 사용자 프라이버시 보호 Download PDFInfo
- Publication number
- KR102562178B1 KR102562178B1 KR1020217023852A KR20217023852A KR102562178B1 KR 102562178 B1 KR102562178 B1 KR 102562178B1 KR 1020217023852 A KR1020217023852 A KR 1020217023852A KR 20217023852 A KR20217023852 A KR 20217023852A KR 102562178 B1 KR102562178 B1 KR 102562178B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- digital component
- client device
- delete delete
- event
- Prior art date
Links
- 238000004891 communication Methods 0.000 title abstract description 45
- 238000005259 measurement Methods 0.000 title abstract description 38
- 230000002265 prevention Effects 0.000 title 1
- 238000000034 method Methods 0.000 claims abstract description 91
- 230000004044 response Effects 0.000 claims abstract description 18
- 230000003993 interaction Effects 0.000 claims abstract description 14
- 230000002776 aggregation Effects 0.000 claims description 48
- 238000004220 aggregation Methods 0.000 claims description 48
- 230000008569 process Effects 0.000 claims description 40
- 239000012634 fragment Substances 0.000 claims description 3
- 238000001514 detection method Methods 0.000 description 28
- 238000012545 processing Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 12
- 238000004590 computer program Methods 0.000 description 11
- 230000009471 action Effects 0.000 description 7
- 238000006243 chemical reaction Methods 0.000 description 7
- 238000013515 script Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 230000004931 aggregating effect Effects 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000000135 prohibitive effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M7/00—Arrangements for interconnection between switching centres
- H04M7/006—Networks other than PSTN/ISDN providing telephone service, e.g. Voice over Internet Protocol (VoIP), including next generation networks with a packet-switched transport layer
- H04M7/0078—Security; Fraud detection; Fraud prevention
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/126—Applying verification of the received information the source of the received data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/085—Secret sharing or secret splitting, e.g. threshold schemes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/321—Cryptographic 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/3213—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3247—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3247—Cryptographic 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
- H04L9/3257—Cryptographic 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 using blind signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3263—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/72—Signcrypting, i.e. digital signing and encrypting simultaneously
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M2201/00—Electronic components, circuits, software, systems or apparatus used in telephone systems
- H04M2201/18—Comparators
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Telephonic Communication Services (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
본 개시는 통신 네트워크 측정치를 생성하는 것에 관한 것이다. 일 양태에서, 방법은 상호 작용할 때 디지털 컴포넌트에 의해 지정된 전화번호로 클라이언트 디바이스에 의한 호출을 개시하는 디지털 컴포넌트를 클라이언트 디바이스에 의해 제시하는 단계를 포함한다. 신뢰 프로그램은 프리젠테이션 이벤트 데이터 구조에 디지털 컴포넌트에 대한 보고가 전송되는 보고 시스템에 대한 전화 번호 및 리소스 로케이터를 지정하는 프리젠테이션 이벤트 데이터 엘리먼트를 저장한다. 신뢰 프로그램은 클라이언트 디바이스에서 주어진 전화 번호로 걸려온 전화를 감지한다. 주어진 전화 번호는 프리젠테이션 이벤트 데이터 구조에 저장된 하나 이상의 프리젠테이션 이벤트 데이터 엘리먼트와 비교된다. 주어진 전화 번호가 디지털 컴포넌트에서 지정한 전화 번호와 일치하는지 결정된다. 이에 대한 응답으로 이벤트 보고가 보고 시스템으로 전송된다.
Description
클라이언트 디바이스는 인터넷과 같은 공용 네트워크를 통해 데이터를 전송한다. 이러한 통신은 의도된 수신자가 아닌 엔티티에 의해 인터셉트되거나 변경될 수 있다. 또한, 엔터티들은 네트워크 ID를 위조하고 이러한 위조된 네트워크 ID에서 비롯된 것으로 보이는 데이터를 전송할 수 있다. 이러한 위조의 예는 엔티티가 네트워크 ID를 생성하여 피어-투-피어 네트워크의 평판 시스템을 파괴하는 시빌 (Sybil) 공격이다.
본 명세서는 부정(fraud)을 방지하고 사용자 프라이버시를 보호하는 방식으로 통신 네트워크 측정치를 생성하는 것과 관련된 기술을 설명한다.
일반적으로, 본 명세서에 기술된 주제의 한 혁신적인 양태는 클라이언트 디바이스에 의해, 상호 작용할 때 디지털 컴포넌트에 의해 지정된 전화번호로 클라이언트 디바이스에 의한 호출을 개시하는 디지털 컴포넌트를 제시하는 단계와; 디지털 컴포넌트를 제시하는 것에 응답하여, 클라이언트 디바이스의 신뢰 프로그램에 의해 프리젠테이션 이벤트 데이터 구조에, 디지털 컴포넌트에 대한 보고가 전송되는 보고 시스템에 대한 전화번호 및 리소스 로케이터를 지정하는 프리젠테이션 이벤트 데이터 엘리먼트를 저장하는 단계와; 신뢰 프로그램에 의해, 주어진 전화 번호에 대한 클라이언트 디바이스에 의한 전화 호출을 검출하는 단계와; 전화 호출을 검출하는 것에 응답하여, 주어진 전화 번호를 프리젠테이션 이벤트 데이터 구조에 저장된 하나 이상의 프리젠테이션 이벤트 데이터 엘리먼트와 비교하는 단계와; 비교에 기초하여, 주어진 전화번호가 디지털 컴포넌트에 의해 지정된 전화번호와 매칭함을 결정하는 단계와; 그리고 주어진 전화 번호가 디지털 컴포넌트에 의해 지정된 전화 번호와 매칭한다는 결정에 응답하여, 디지털 컴포넌트의 보고 시스템으로, 디지털 컴포넌트가 클라이언트 디바이스에 의해 제시된 후 디지털 컴포넌트에 의해 지정된 전화번호가 클라이언트 디바이스에 의해 호출되었음을 나타내는 이벤트 보고를 전송하는 단계를 포함하는 방법으로 구현될 수 있다.
이들 및 다른 구현은 각각 다음의 특징들 중 하나 이상을 선택적으로 포함할 수 있다. 일부 양태에서, 이벤트 보고에는 데이터 세트를 포함하는 증명 토큰을 포함한다. 데이터 세트는 클라이언트 디바이스의 디바이스 공개키; 증명 토큰이 생성된 시간을 나타내는 증명 토큰 생성 시간; 클라이언트 디바이스의 신뢰성 레벨을 나타내는 디바이스 무결성 토큰; 디지털 컴포넌트에 의해 지정된 전화번호를 포함하는 페이로드 데이터; 및 디바이스 공개키에 대응하는 디바이스 개인키를 사용하여 생성된 데이터 세트의 디지털 서명이 포함된다. 증명 토큰의 페이로드 데이터는 (i) 전화 호출의 호출 지속시간, (ii) 전화 호출의 시작 시간, 또는(iii) 전화 호출의 종료 시간 중 적어도 하나를 더 포함할 수 있다.
일부 양태는 복수의 호출 지속시간 분위수(quantiles) 중 주어진 호출 지속시간 분위수에 전화 호출의 호출 지속시간을 할당하고 페이로드 데이터에 호출 지속시간 통화 분위수를 포함시키는 단계; 복수의 시작 시간 분위수 중 주어진 시작 시간 분위수에 전화 호출의 시작 시간을 할당하고 페이로드 데이터에 주어진 시작 시간 분위수를 포함시키는 단계; 또는 복수의 종료 시간 분위수 중 주어진 종료 시간 분위수에 전화 호출의 종료 시간을 할당하고 페이로드 데이터에 주어진 종료 시간 분위수를 포함시키는 단계를 포함할 수 있다.
일부 양태는 보고 시스템으로, 디지털 컴포넌트를 프리젠테이션하는 것에 응답하여 프리젠테이션 증명 토큰을 포함하는 프리젠테이션 보고를 전송하는 단계를 포함할 수 있고, 프리젠테이션 증명 토큰은 데이터 세트 및 데이터 세트의 디지털 서명을 포함한다.
일부 양태에서, 보고 시스템으로 이벤트 보고를 제공하는 단계는 임계값 암호화 기술을 사용하여, 적어도 디지털 컴포넌트에 의해 지정된 전화번호를 포함하는 이벤트 데이터를 지정하는 비밀 조각(share of secret)을 생성하는 단계; 및 비밀 조각을 이벤트 보고에 포함시키는 단계를 포함한다. 보고 시스템은 비밀의 개별 조각을 포함하는 적어도 임계수의 이벤트 보고가 디지털 컴포넌트를 제시하는 클라이언트 디바이스로부터 수신될 때 비밀을 복호화할 수 있다.
일부 양태는 디지털 컴포넌트의 프리젠테이션에 응답하여 제1 집계 서버로, 디지털 컴포넌트의 프리젠테이션을 위한 암호화된 프리젠테이션 데이터 및 (i) 적어도 보고 시스템의 리소스 로케이터, 클라이언트 디바이스 또는 클라이언트 디바이스 사용자의 식별자, 및 디지털 컴포넌트에 의해 지정된 전화번호의 암호화된 조합을 포함하는 제1 암호화된 데이터와 그리고 (ii) 암호화된 제1 데이터 엘리먼트에 기초하여 생성된 제1 블라인드 서명을 포함하는 제1 블라인드 서명된 키를 포함하는 프리젠테이션 보고를 전송하는 단계를 포함할 수 있다. 이벤트 보고를 전송하는 단계는 제2 집계 서버로 이벤트 보고를 전송하는 단계를 포함할 수 있으며, 이벤트 보고는 디지털 컴포넌트에 대한 암호화된 이벤트 데이터 및 (i) 적어도 보고 시스템의 리소스 로케이터, 클라이언트 디바이스 또는 클라이언트 디바이스 사용자의 식별자, 및 검출된 전화 호출의 주어진 전화 번호와 그리고 (ii) 암호화된 제2 데이터 엘리먼트에 기초하여 생성된 제2 블라인드 서명을 포함하는 제2 블라인드 서명된 키를 포함한다. 제1 집계 서버와 제2 집계 서버는 암호화된 프리젠테이션 데이터 및 암호화된 이벤트 데이터를 복호화하기 위해 제1 및 제2 블라인드 서명된 키를 사용하여 다자간 계산을 수행한다.
일부 양태에서, 제1 집계 서버와 제2 집계 서버는 블라인드 서명된 키가 적어도 임계수의 상이한 클라이언트 디바이스들로부터 수신된 각각의 블라인드 서명된 키에 대한 암호화된 프리젠테이션 데이터 및 암호화된 이벤트 데이터만을 복호화하기 위해 다자간 계산 프로세스에 임계값 기술을 적용한다.
본 명세서에 기술된 주제는 다음 이점들 중 하나 이상을 실현하기 위해 특정 실시예에서 구현될 수 있다. 사용자가 디지털 컴포넌트에 대해 전화 번호를 호출한 횟수와 같은 통신 네트워크 측정치를 보고하고 집계하는 것의 정확도는 디지털 컴포넌트가 제시된 후 클라이언트 디바이스가 호출을 보고하도록 (i) 데이터의 조작을 방지하고 (ii) 손상되거나 사기성 클라이언트 디바이스들로부터의 데이터 집계를 방지하는 방식으로 이벤트를 보고함으로써 증가한다. 예를 들어, 통신 데이터는 증명 토큰의 데이터 조작이 검출될 수 있도록 클라이언트 디바이스의 개인키를 사용하여 디지털 서명된 증명 토큰을 사용하여 보고될 수 있다. 증명 토큰은 또한 클라이언트 디바이스가 신뢰할 수 있는지 여부를 나타내는 디바이스 무결성 토큰을 포함할 수 있으며, 보고된 데이터가 신뢰할 수 있는 디바이스로부터 수신되었음을 보장하기 위해 클라이언트 디바이스가 신뢰할만하다고 인증한 신뢰 디바이스 평가자의 디지털 서명을 포함할 수 있다. 다중 당사자 계산, 차등 프라이버시 보호 및/또는 임계값 암호화 기술이 사용자 프라이버시를 보호하고 통신 데이터의 보고 및 집계에서 부정(사기)을 방지하는데 사용될 수도 있다. 본 문서에 설명된 기술은 디지털 컴포넌트가 사용자에게 제공된 후 디지털 컴포넌트에 의해 디스플레이되거나, 임베딩되거나 참조되는 전화 번호를 실제로 호출하는 사용자 수를 결정하는 효율적이고 신롸할 수 있는 방법을 제공하는 동시에 호출 카운트의 위조를 방지하고 사용자 프라이버시를 보호한다.
전술한 주제의 다양한 특징 및 이점이 도면과 관련하여 아래에서 설명된다. 추가 특징 및 이점은 본 명세서에 기재된 주제 및 청구범위로부터 명백하다.
도 1은 통신 네트워크 측정치가 결정되는 환경의 블록도이다.
도 2는 네트워크 측정 데이터를 수집하기 위한 예시적인 프로세스를 도시하는 스윔 레인 다이어그램이다.
도 3은 통신 네트워크 측정치를 결정하기 위한 예시적인 프로세스를 도시하는 흐름도이다.
도 4는 통신 네트워크 측정치를 결정하기 위한 예시적인 프로세스를 도시하는 흐름도이다.
도 5는 통신 네트워크 측정치를 결정하기 위한 예시적인 프로세스를 도시하는 흐름도이다.
도 6은 위에서 설명된 동작들을 수행하는데 사용될 수 있는 예시적인 컴퓨터 시스템의 블록도이다.
다양한 도면에서 동일한 참조 번호 및 명칭은 동일한 요소를 나타낸다.
도 2는 네트워크 측정 데이터를 수집하기 위한 예시적인 프로세스를 도시하는 스윔 레인 다이어그램이다.
도 3은 통신 네트워크 측정치를 결정하기 위한 예시적인 프로세스를 도시하는 흐름도이다.
도 4는 통신 네트워크 측정치를 결정하기 위한 예시적인 프로세스를 도시하는 흐름도이다.
도 5는 통신 네트워크 측정치를 결정하기 위한 예시적인 프로세스를 도시하는 흐름도이다.
도 6은 위에서 설명된 동작들을 수행하는데 사용될 수 있는 예시적인 컴퓨터 시스템의 블록도이다.
다양한 도면에서 동일한 참조 번호 및 명칭은 동일한 요소를 나타낸다.
일반적으로, 본 문서는 데이터 무결성을 개선하고, 데이터 조작(예를 들어, 사기)을 방지하고, 통신 데이터(예를 들어, 통신 네트워크 측정치)를 보고 및 집계할 때 사용자 프라이버시를 보호하는 시스템 및 기술을 설명한다. 원하는 수준의 사용자 프라이버시 보호, 적용 가능한 프라이버시 규칙 및/또는 사용자 기대에 기초하여 다른 기술이 사용될 수 있다. 예를 들어, 집계 보고와 관련된 이벤트 레벨 통신 데이터 보고에 다른 기술이 사용될 수 있다.
일부 구현에서, 클라이언트 디바이스의 신뢰(trusted) 코드는 통신 데이터의 유효성을 증명하고 토큰이 생성된 후 데이터의 조작을 방지하는 증명 토큰을 생성한다. 신뢰 코드는 예를 들어 운영 체제 코드 또는 애플리케이션의 이진 코드일 수 있다. 증명 토큰은 (예를 들어, 토큰이 다수의 중개 엔터티를 통과하더라도) 데이터의 유효성이 토큰을 수신하는 엔터티에 의해 검증될 수 있도록 다른 데이터 중에서 그 토큰을 전송하는 클라이언트 디바이스의 신뢰성 레벨을 나타내는 데이터 및 데이터의 디지털 서명을 포함할 수 있다.
임계값 암호화 기술은 통신 네트워크 측정 데이터를 수집하고 결정하는데 사용될 수 있다. 각 클라이언트 디바이스는 임계값 암호화 기술을 사용하여 비밀 조각(예를 들어 디지털 컴포넌트와 관련된 전환용 이벤트 데이터)를 생성하고 그 비밀 조각을 보고 시스템으로 전송할 수 있다. 임계값 암호화 체계를 사용하여, 보고 시스템은 클라이언트 디바이스들로부터 임계수의 비밀 조각을 수신한 경우에만 이벤트 데이터를 복호화(해독)할 수 있다. 이것은 엔터티들이 개별 사용자를 추적할 수 없도록 한다.
다자간 계산 및 차등 프라이버시 기술이 통신 네트워크 측정 데이터를 수집하고 집계하는데 사용될 수 있다. 각 클라이언트 디바이스는 암호화된 프리젠테이션(제시) 데이터를 제1 집계 서버로 전송하고 암호화된 이벤트 데이터는 제2 집계 서버로 전송할 수 있다. 암호화된 데이터는 집계 서버들이 프리젠테이션 데이터를 이벤트 데이터와 결합하고 다자간 계산을 사용하여 암호화된 데이터를 복호화할 수 있도록 하는 결합(join) 키와 함께 전송될 수 있다. 임계값 암호화 기술은 동일한 이벤트(예를 들어, 동일한 디지털 컴포넌트)에 대한 이벤트 데이터가 적어도 임계수의 클라이언트 디바이스로부터 수신될 때만 데이터가 복호화되도록 보장하는데 사용될 수 있다. 차등 프라이버시 기술은 측정 데이터에 랜덤 노이즈를 삽입하는데 사용될 수 있다.
도 1은 통신 네트워크 측정치가 결정되는 예시적인 환경(100)의 블록도이다. 예시적인 환경(100)은 LAN(Local Area Network), WAN(Wide Area Network), 인터넷, 모바일 네트워크, 또는 이들의 조합과 같은 데이터 통신 네트워크(105)를 포함한다. 네트워크(105)는 클라이언트 디바이스(110), 게시자(130), 웹 사이트(140), 디지털 컴포넌트 배포 시스템(150), 부정 검출 시스템(170), 집계 서버(180-A 및 180-B) 및 보고 시스템(190)을 연결한다. 예시적인 환경(100)은 많은 상이한 클라이언트 디바이스(110), 게시자(130), 웹사이트(140), 디지털 컴포넌트 배포 시스템(150) 및 보고 시스템(190)을 포함할 수 있다.
웹사이트(140)는 도메인 이름과 연관되고 하나 이상의 서버에 의해 호스팅되는 하나 이상의 리소스(145)이다. 예시적인 웹 사이트는 텍스트, 이미지, 멀티미디어 컨텐츠, 및 스크립트와 같은 프로그래밍 엘리먼트를 포함할 수 있는 HTML로 포멧된 웹 페이지의 모음이다. 각 웹사이트(140)는 웹사이트(140)를 포함하여 하나 이상의 웹사이트를 제어, 관리 및/또는 소유하는 엔티티인 게시자(130)에 의해 유지된다. 도메인은 대응하는 도메인 이름을 호스팅하는 컴퓨터(예를들어, 원격 서버)일 수 있는 도메인 호스트일 수 있다.
리소스(145)는 네트워크(105)를 통해 제공될 수 있는 임의의 데이터이다. 리소스(145)는 그 리소스(145)와 관련된 리소스 주소(예를 들어, URL)에 의해 식별된다. 리소스에는 HTML 페이지, 워드 프로세싱 문서, PDF 문서, 이미지, 비디오, 및 피드 소스 등이 있다. 리소스에는 임베딩된 정보(예를 들어, 하이퍼링크의 메타 정보) 및/또는 임베딩된 명령들(예를 들어, 스크립트)을 포함할 수 있는 단어, 구, 이미지 및 사운드와 컨텐츠가 포함될 수 있다.
클라이언트 디바이스(110)는 네트워크(105)를 통해 통신할 수 있는 전자 디바이스이다. 예시적인 클라이언트 디바이스(110)는 개인용 컴퓨터, 모바일 통신 디바이스, 예를 들어 스마트 폰, 및 네트워크(105)를 통해 데이터를 송수신할 수 있는 다른 디바이스를 포함한다.
클라이언트 디바이스(110)는 일반적으로 네트워크(105)를 통한 데이터의 송수신을 용이하게 하기 위해 웹 브라우저 및/또는 기본(native) 애플리케이션과 같은 애플리케이션(112)을 포함한다. 기본 애플리케이션은 특정 플랫폼 또는 특정 디바이스용으로 개발된 애플리케이션이다. 게시자(130)는 기본 애플리케이션을 개발하여 클라이언트 디바이스(110)에 제공, 예를 들어 다운로드 가능하게 만들 수 있다. 일부 구현에서, 클라이언트 디바이스(110)는 디지털 미디어 디바이스, 예를 들어 텔레비전에 비디오를 스트리밍하기 위해 텔레비전 또는 다른 디스플레이에 연결하는 스트리밍 디바이스이다. 디지털 미디어 디바이스는 또한 웹 브라우저 및/또는 비디오를 스트리밍하고 및/또는 리소스를 제공하는 기타 애플리케이션을 포함할 수 있다.
웹 브라우저는 예를 들어 클라이언트 디바이스(110)의 사용자가 웹 브라우저의 주소 표시줄에 리소스(145)에 대한 리소스 주소를 입력하거나 리소스 어드레스를 참조하는 링크를 선택하는 것에 응답하여 게시자(130)의 웹사이트(140)를 호스팅하는 웹 서버로부터 리소스(145)를 요청할 수 있다. 유사하게, 기본 애플리케이션은 게시자(130)의 원격 서버로부터 애플리케이션 컨텐츠를 요청할 수 있다.
일부 리소스(145), 애플리케이션 페이지 또는 다른 애플리케이션 컨텐츠는 리소스(145) 또는 애플리케이션 페이지와 함께 디지털 컴포넌트를 제시하기 위한 디지털 컴포넌트 슬롯을 포함할 수 있다. 이 문서 전체에서 사용되는 "디지털 컴포넌트"라는 문구는 디지털 컨텐츠 또는 디지털 정보의 개별 단위(예를 들어, 비디오 클립, 오디오 클립, 멀티미디어 클립, 이미지, 텍스트 또는 다른 컨텐츠 단위)를 지칭한다. 디지털 컴포넌트는 물리적 메모리 디바이스에 단일 파일 또는 파일 모음으로 전자적으로 저장될 수 있으며, 디지털 컴포넌트는 비디오 파일, 오디오 파일, 멀티미디어 파일, 이미지 파일 또는 텍스트 파일의 형태를 취하며, 광고가 디지털 컴포넌트의 유형이 되도록 광고 정보를 포함할 수 있다. 예를 들어, 디지털 컴포넌트는 웹 페이지의 컨텐츠 또는 애플리케이션(112)에 의해 제시되는 다른 리소스를 보완하기 위한 컨텐츠일 수 있다. 보다 구체적으로, 디지털 컴포넌트는 리소스 컨텐츠와 관련된 디지털 컨텐츠를 포함할 수 있다(예를 들어, 디지털 컴포넌트는 웹 페이지 컨텐츠와 동일한 토픽 또는 관련 토픽과 관련될 수 있음). 따라서, 디지털 컴포넌트 분배 시스템(150)에 의한 디지털 컴포넌트의 제공은 웹 페이지 또는 애플리케이션 컨텐츠를 보완하고 일반적으로 향상시킬 수 있다.
애플리케이션(112)이 하나 이상의 디지털 컴포넌트 슬롯을 포함하는 리소스(145)(또는 애플리케이션 컨텐츠)를 로드할 때, 애플리케이션(112)은 디지털 컴포넌트 분배 시스템(150)으로부터 각 슬롯에 대한 디지털 컴포넌트를 요청할 수 있다. 디지털 컴포넌트 분배 시스템(150)은 차례로 디지털 컴포넌트 제공자(160)로부터 디지털 컴포넌트를 요청할 수 있다. 디지털 컴포넌트 제공자(160)는 리소스(145) 및/또는 애플리케이션 컨텐츠와 함께 프리젠테이션하기 위한 디지털 컴포넌트를 제공하는 엔티티이다.
일부 디지털 컴포넌트는 상호 작용(예를 들어, 선택)될 때 디지털 컴포넌트에 의해 지정된 전화번호로 전화 호출을 개시할 수 있다. 이러한 디지털 컴포넌트는 클릭-투-콜("CTC") 디지털 컴포넌트라고도 지칭될 수 있다. 예를 들어, CTC 디지털 컴포넌트가 상호 작용할 때, 디지털 컴포넌트는 디지털 컴포넌트를 제시하는 클라이언트 디바이스(110)로 하여금 전화 다이얼러 사용자 인터페이스를 제시하고, 전화 다이얼러 사용자 인터페이스를 디지털 컴포넌트에 의해 지정된 전화번호로 채우게 하고 및/또는 그 전화번호로 호출을 개시하게 할 수 있다.
디지털 컴포넌트는 전화번호, 디지털 컴포넌트의 프리젠테이션과 관련된 이벤트 레벨 노출 데이터, 프리젠테이션 만료(아래에 설명됨), 및 리소스 로케이터, 예를 들어 디지털 컴포넌트에 대한 보고가 전송될 보고 시스템(190)의 URL을 포함하는 파라미터들을 지정하는 (메타 데이터 형식의) 데이터를 포함할 수 있다. 리소스 로케이터에는 디지털 컴포넌트에 대한 보고가 전송될 eTLD+1(유효한 최상위 도메인 + 공용 접미사이상의 하나의 레이블, 예를 들어, example.com, 여기서 .com은 최상위 도메인임) 엔드포인트가 포함될 수 있다.
클라이언트 디바이스(110)는 또한 디지털 컴포넌트의 프리젠테이션 및 디지털 컴포넌트의 프리젠테이션 후에 발생하는 이벤트와 관련된 정보를 지정하는 이벤트 보고를 전송하는 신뢰(trusted) 프로그램(114)을 포함한다. 신뢰 프로그램(114)은 위조하기 어려운 신뢰성 있는 소스로부터의 신뢰 코드를 포함할 수 있다. 예를 들어, 신뢰 프로그램(114)은 운영 체제, 운영 체제의 일부, 웹 브라우저 등일 수 있다. 일반적으로, 신뢰 프로그램(114)은 침투하기 어렵고, 가해자가 신뢰 프로그램(114)을 변조하기 위해 소비해야 하는 시간과 노력의 양이 엄청나게 많다. 또한, 신뢰 프로그램(114)은 신뢰성 있는 소스에 의해 제공되고 유지되기 때문에 발생하는 모든 취약성은 소스에 의해 해결될 수 있다.
신뢰 프로그램(114)은 클라이언트 디바이스(110)에 대해 로컬일 수 있다. 예를 들어, 신뢰 프로그램(114)은 클라이언트 디바이스(110)의 운영 체제의 디바이스 드라이버일 수 있다. 일부 구현에서, 신뢰 프로그램(114)은 클라이언트 디바이스(110)에 대해 전적으로 로컬로 동작하여, 사용자 정보를 전송할 필요성을 감소시킨다. 일부 구현에서, 신뢰 프로그램(114)은 클라이언트 디바이스(110)에 대해 로컬로 네트워크(105)와 같은 네트워크를 통해 동작할 수 있다. 예를 들어, 신뢰 프로그램(114)은 클라이언트 디바이스(110)에 설치되고 네트워크(105)를 통해 정보를 전송 및 수신하는 웹 브라우저일 수 있다.
CTC 디지털 컴포넌트가 클라이언트 디바이스(110)에 의해 제시될 때, 신뢰 프로그램(114)은 데이터베이스, 테이블, 또는 다른 적절한 데이터 구조일 수 있는 프리젠테이션 이벤트 데이터 구조(116)에 프리젠테이션과 관련된 데이터를 저장할 수 있다. 프리젠테이션 이벤트 데이터 구조(116)는 신뢰 프로그램(114)에 의해 유지되는 보안 데이터 저장 위치의 일부일 수 있다. 신뢰 프로그램(114)은 프리젠테이션 이벤트 데이터 구조(116)에 각각의 CTC 디지털 컴포넌트에 대한 프리젠테이션 이벤트 데이터 엘리먼트를 저장할 수 있다. CTC 디지털 컴포넌트에 대한 프리젠테이션 이벤트 데이터 엘리먼트는 예를 들어 디지털 컴포넌트에 의해 지정된 파라미터 및 프리젠테이션이 발생한 시간을 포함할 수 있다.
신뢰 프로그램(114)은 디지털 컴포넌트에 의해 지정된 프리젠테이션 만료에 기초하여 디지털 컴포넌트의 프리젠테이션을 위한 프리젠테이션 이벤트 데이터를 제거할 수 있다. 예를 들어, 프리젠테이션 만료는 디지털 컴포넌트에 대한 프리젠테이션 이벤트 데이터가 클라이언트 디바이스(110)에 저장될 수 있는 시간량일 수 있다. 시간량이 경과할 때, 신뢰 프로그램(114)은 프리젠테이션 이벤트 데이터 구조(116)에서 디지털 컴포넌트에 대한 프리젠테이션 이벤트 데이터를 제거할 수 있다. 아래에서 더 상세히 설명되는 바와 같이, 신뢰 프로그램(114)은 디지털 컴포넌트에 의해 지정된 리소스 로케이터를 사용하여 디지털 컴포넌트에 대한 보고 시스템(190)으로 프리젠테이션 이벤트 데이터를 전송할 수 있다.
신뢰 프로그램(114)은 또한 클라이언트 디바이스(110)에 의해 개시된 전화 호출을 모니터링하고 검출할 수 있다. 전화 호출이 발생할 때, 신뢰 프로그램(114)은 호출되고 있는 전화 번호를 획득하여 호출된 전화 번호를 프리젠테이션 이벤트 데이터 구조(116)에 저장된 각각의 프리젠테이션 이벤트 데이터 엘리먼트의 전화 번호와 비교할 수 있다. 만약 클라이언트 디바이스(110)에서 프리젠테이션이 발생하고 디지털 컴포넌트에 대한 데이터가 프리젠테이션 이벤트 데이터 구조(116)에 남아 있는 디지털 컴포넌트의 전화번호와 호출된 전화번호 사이에 매칭(일치)이 있으면, 신뢰 프로그램(114)은 디지털 컴포넌트에 대해 클릭-투-콜 전환 이벤트가 발생했다고 결정할 수 있다. 즉, 디지털 컴포넌트가 제시되었고 디지털 컴포넌트의 전화번호는 디지털 컴포넌트가 제시되었던 클라이언트 디바이스(110)에 의해 호출되었다. 디지털 컴포넌트에 대한 데이터가 프리젠테이션 이벤트 데이터 구조(116)에 저장되어 있는 한, 디지털 컴포넌트가 상호 작용할 때 전화번호가 호출되었는지 여부 또는 클라이언트 디바이스(110)의 사용자에 의해 나중에 호출되었는지 여부는 중요하지 않다.
신뢰 프로그램(114)은 클릭-투-콜 전환 이벤트("호출 이벤트")를 다양한 방식으로 보고할 수 있다. 일부 구현에서, 신뢰 프로그램(114)은 보고 시스템(190)에 이벤트 보고를 제공한다. 보고 시스템(190)은 디지털 컴포넌트를 제공하는 디지털 컴포넌트 제공자(160)의 시스템 또는 디지털 컴포넌트 제공자(160)에 통신 네트워크 측정치를 보고하는 별도의 보고 엔티티의 시스템일 수 있다.
일부 구현에서, 이벤트 보고는 증명 토큰의 형태이다. 신뢰 프로그램(114)은 호출 이벤트를 검출하는 것에 응답하여 증명(인증) 토큰을 생성할 수 있다. 증명 토큰은 데이터 세트 및 데이터 세트에 기초하여 생성된 디지털 서명을 포함할 수 있다. 데이터 세트는 클라이언트 디바이스(110)의 디바이스 공개키, 증명 토큰이 신뢰 프로그램(114)에 의해 생성된 시간을 나타내는 증명 토큰 생성 시간, 부정 검출 시스템(170)에 의해 발행된 디바이스 무결성 토큰, 및 페이로드 데이터를 포함할 수 있다.
신뢰 프로그램(114)은 데이터 세트에 포함된 디바이스 공개키에 대응하는, 예를 들어 수학적으로 링크된 디바이스 개인키를 사용하여 데이터 세트에 대한 디지털 서명을 생성할 수 있다. 예를 들어, 디바이스 공개키와 디바이스 개인키는 비대칭 암호화 키 쌍일 수 있다. 클라이언트 디바이스(110)는 클라이언트 디바이스(110)로부터 증명 토큰을 수신하는 엔티티(예를 들어 보고 시스템(190))가 증명 토큰의 유효성을 신뢰할 수 있도록 자신의 개인키를 기밀로 유지할 수 있다.
디바이스 무결성 토큰은 예를 들어 호출 이벤트가 발생한 시간에 클라이언트 디바이스(110)의 신뢰성 레벨을 표시한다. 일부 구현에서, 신뢰 프로그램(114)은 디바이스 레벨 부정(fraud) 신호를 수집하여 부정 검출 시스템(170)에 그 신호를 제공할 수 있다. 부정 검출 시스템(170)은 부정 신호를 평가하고 그 평가에 기초하여 판정을 내리는 신뢰 엔티티의 신뢰 시스템일 수 있다. 부정 검출 시스템(170)은 판정을 포함하는 디바이스 무결성 토큰을 신뢰 프로그램(114)에 발행할 수 있다. 디바이스 무결성 토큰은 판정의 디지털 서명 및 부정 검출 시스템(170)의 개인키를 사용하는 디바이스 무결성 토큰의 임의의 다른 데이터를 포함할 수 있다. 이러한 방식으로, 디바이스 무결성 토큰을 포함하는 증명 토큰을 수신하는 엔티티는 부정 검출 시스템(170)의 공개키를 이용하여 전자 서명을 검증함으로써 디바이스 무결성 토큰의 데이터가 수정되지 않았음을 검증(확인)할 수 있다. 디바이스 무결성 토큰의 데이터에는 그 디바이스 무결성 토큰이 생성된 시간을 나타내는 토큰 생성 시간도 포함될 수 있다. 이것은 토큰을 수신하는 엔티티가 디바이스 무결성 토큰이 오래된 상태가 아니라 클라이언트 디바이스(110)의 현재 상태에 대응한다는 것을 검증하는 것을 가능하게 한다.
페이로드 데이터는 디지털 컴포넌트에 의해 지정된 전화 번호, 호출 지속시간 및/또는 호출 시작 시간을 포함할 수 있다. 사용자 프라이버시를 보호하기 위해, 신뢰 프로그램(114)은 증명 토큰의 데이터 양을 제한하기 위해 호출 지속시간 및 시작 시간에 분위수(quantile)를 적용할 수 있다. 예를 들어, 신뢰 프로그램(114)은 호출 지속시간의 크기에 기초하여 호출 지속시간 분위수의 세트 중의 주어진 호출 지속시간 분위수에 호출 지속시간을 할당할 수 있다. 특정 예에서, 호출 지속시간 분위수는 각각 특정 지속시간 범위, 예를 들어 0-10초 중 하나, 10-20초 중 하나, 20-30초 중 하나에 대한 것일 수 있다. 물론 다른 지속시간 범위도 사용될 수 있다. 페이로드 데이터는 실제 호출 지속시간보다는 호출 지속시간이 할당되는 호출 지속시간 분위수(예를 들어, 호출 지속시간이 22초인 것을 기반으로 하는 20-30초 분위수)를 지정할 수 있다.
유사하게, 신뢰 프로그램(114)은 주어진 호출 시작 시간 분위수에 호출 시작 시간을 할당할 수 있다. 예를 들어, 호출 시작 시간 분위수는 각 시간 범위에 대한 분위수, 예를 들어 하루 중 각 시간, 각 30분, 각 15분 기간, 또는 다른 적절한 시작 시간 범위에 대한 분위수를 포함할 수 있다. 페이로드 데이터는 실제 호출 시작 시간이 아니라 호출 시작 시간이 할당되는 호출 시작 시간 분위수(예를 들어, 오전 10:05에서 시작하는 호출을 기반으로 하는 오전 10:00 시작 시간 분위수)를 지정할 수 있다.
증명 토큰에 대한 데이터를 획득한 후, 신뢰 프로그램(114)은 증명 토큰을 생성하고 디바이스 개인키를 사용하여 데이터의 디지털 서명을 생성할 수 있다. 이어서 신뢰 프로그램(114)은 디지털 컴포넌트에 의해 지정된 리소스 로케이터를 사용하여 증명 토큰을 보고 시스템(190)으로 전송할 수 있다. 후술되는 바와 같이, 보고 시스템(190)은 증명 토큰의 유효성을 검증하고 유효성이 검증되면 디지털 컴포넌트에 대한 통신망 측정치를 업데이트할 수 있다. 통신 네트워크 측정치는 디지털 컴포넌트가 클라이언트 디바이스들에 의해 제시되거나 사용자들에 의해 상호 작용한 후 클라이언트 디바이스들에 의해 전화 번호가 호출된 횟수일 수 있다.
일부 구현에서, 신뢰 프로그램(114)은 예를 들어 증명 토큰을 전송하기 보다는 임계값 암호화 기술(scheme)을 사용하여 보고 시스템(190)으로 호출 이벤트를 보고한다. 각 클라이언트 디바이스(110)의 신뢰 프로그램(114)은 호출 이벤트를 보고하기 위해 동일한 임계값 암호화 기술을 사용할 수 있다. 신뢰 프로그램(114)이 디지털 컴포넌트에 대해 호출 이벤트가 발생했다고 결정한 경우, 신뢰 프로그램(114)은 임계값 암호화 기술을 사용하여 비밀의 조각(시크릿 쉐어)를 생성할 수 있다. 비밀은 예를 들어 디지털 컴포넌트의 전화 번호와 같은 호출 이벤트 데이터일 수 있다. 임계값 암호화 기술은 (t,n)-임계값 암호화 기술일 수 있으며, 이 암호화 방식에서는 비밀을 해독하기 위해서는 n개의 당사자로부터 적어도 임계값(t개)의 비밀 조각이 수신되어야 한다.
신뢰 프로그램(114)은 보고 시스템(190)으로 비밀 조각을 전송할 수 있다. 예를 들어, 신뢰 프로그램(114)은 키 값 쌍을 보고 시스템(190)으로 전송할 수 있다. 키는 디지털 컴포넌트에 해당하는 태그 및 비밀 조각인 값일 수 있다. 이러한 방식으로, 보고 시스템(190)은 동일한 태그를 갖는 조각(쉐어)들을 함께 그룹화할 수 있다. 일단 적어도 임계수의 비밀 조각이 클라이언트 디바이스(110)로부터 수신되면, 보고 시스템(190)은 비밀, 예를 들어 디지털 컴포넌트에 대한 전화번호를 복호화할 수 있다. 이어서 보고 시스템(190)은 예를 들어 클라이언트 디바이스들로부터 수신된 별개의 조각의 수에 기초하여 디지털 컴포넌트에 대한 통신 네트워크 측정치를 결정하거나 업데이트할 수 있다. 즉, 각 조각은 디지털 컴포넌트가 클라이언트 디바이스(110)에서 제공된 후 디지털 컴포넌트의 전화번호에 대한 호출을 나타낼 수 있다. 보고 시스템(190)은 조각들의 수의 합을 결정함으로써 호출 수를 결정할 수 있다.
상이한 유형의(t,n)-임계치 암호화 방식이 호출 이벤트 데이터를 암호화하는데 사용될 수 있다. 예를 들어, 다항식 또는 평면을 사용하여 비밀 조각(예를 들어, 노출 및 전환 데이터)를 배포하고 적어도 t개의 조각이 수신될 때 비밀을 복구하는 (t, n)-임계값 암호화 기술이 사용될 수 있다. 특정 예에서 임계값 암호화 기술은 그룹 키가 평면을 포함하고 측정 데이터가 각 평면이 교차하는 지점에 있는 평면 기반 암호화 방식, 예를 들어 블레이클리의 방식일 수 있다. 다른 예에서, 임계값 암호화 기술은 중국인 나머지 정리, 사전 예방적 시크릿 쉐어링, 검증 가능한 시크릿 쉐어링(VSS), 또는 다른 적절한 임계값 암호화 기술을 사용할 수 있다.
일부 구현에서, 신뢰 프로그램(114)은 프리젠테이션 이벤트 및 호출 이벤트를 집계(통합) 서버(180-A 및 180-B)에 보고한다. 예를 들어, 신뢰 프로그램(114)은 암호화된 프리젠테이션 데이터를 아래에서 설명되는 바와 같이 블라인드 서명된 겹합 키일 수 있는 결합키와 함께 집계 서버(180-A)로 전송할 수 있다. 유사하게, 신뢰 프로그램(114)은 또한 블라인드 서명된 결합키일 수 있는 결합키와 함께 암호화된 이벤트 데이터를 집계 서버(180-B)로 전송할 수 있다. 집계 서버(180-A, 180-B)는 이벤트 데이터에 대응하는 프리젠테이션 데이터를 결합하고 암호화된 프리젠테이션 데이터 및 이벤트 데이터를 해독하기 위해 다자간 계산을 사용할 수 있다. 집계 서버(180-A 및 180-B)는 또한 임계값 기술을 사용하여 사용자 프라이버시를 더 잘 보호하기 위해 적어도 임계수의 클라이언트 디바이스로부터 수신된 결합된 프리젠테이션 및 이벤트 데이터만을 복호화할 수 있다. 집계 서버(180-A, 180-B)는 복호화된 데이터를 보고 시스템(190)에 제공할 수 있고, 보고 시스템(190)은 복호화된 데이터에 기초하여 통신 네트워크 측정치를 생성하거나 업데이트할 수 있다. 집계 서버(180-A, 180-B)는 동일하거나 상이한 신뢰 엔티티들에 의해 유지 및 동작될 수 있다.
어느 하나의 구현에서, 각 디지털 컴포넌트에 대한 보고 시스템(190)은 디지털 컴포넌트에 대한 통신 네트워크 측정치를 결정할 수 있고 디지털 컴포넌트를 제공하는 디지털 컴포넌트 제공자(160)에게 측정치를 제공할 수 있다. 이러한 측정치는 예를 들어 디지털 컴포넌트가 클라이언트 디바이스(110)에서 제시된 횟수, 디지털 컴포넌트가 클라이언트 디바이스(110)에서 상호 작용한 횟수, 및/또는 디지털 컴포넌트가 클라이언트 디바이스(110)에 제시된 후 디지털 컨포넌트의 전화번호가 클라이언트 디바이스(110)에 의해 호출된 횟수를 포함할 수 있다. 각 디지털 컴포넌트 제공자(160)는 디지털 컴포넌트 제공자(160) 또는 상이한 엔티티에 의해 유지되는 시스템일 수 있는 보고 시스템(190)을 선택할 수 있다.
일부 구현은 또한 차등 프라이버시 기술을 포함할 수 있다. 예를 들어, 약간의 확률로, 클라이언트 디바이스(110)는 실제로 발생한 호출 이벤트를 보고하지 않는다. 다른 예에서, 약간의 확률로, 클라이언트 디바이스(110)는 결코 일어나지 않은 호출 이벤트를 보고한다. 다른 예에서, 랜덤 노이즈가 호출 시작 시간, 종료 시간 또는 호출 지속시간에 추가된다. 이러한 차등 프라이버시 기술은 사용자에 대한 추가 프라이버시를 제공할 수 있다.
도 2는 네트워크 측정 데이터를 수집하기 위한 예시적인 프로세스(200)를 도시하는 스윔 레인(swim lane) 다이어그램이다. 프로세스(200)는 클라이언트 디바이스(110), 디지털 컴포넌트 배포 시스템(150), 부정 검출 시스템(170) 및 보고 시스템(190)에 의해 수행될 수 있다.
클라이언트 디바이스(110)는 디지털 컴포넌트를 페치한다(202). 예를 들어, 클라이언트 디바이스(110)는 디지털 컴포넌트 슬롯을 포함하는 리소스 또는 애플리케이션 컨텐츠를 제시할 수 있다. 이에 응답하여, 클라이언트 디바이스(110)는 디지털 컴포넌트 분배 시스템(150)으로부터 디지털 컴포넌트를 요청할 수 있다.
디지털 컴포넌트 분배 시스템(150)은 CTC 디지털 컴포넌트를 반환한다(204). 위에서 설명된 바와 같이, CTC 디지털 컴포넌트는 전화번호, 디지털 컴포넌트의 프리젠테이션과 관련된 이벤트-레벨 노출 데이터, 프리젠테이션 만료, 및 디지털 컴포넌트에 대한 보고가 전송될 보고 시스템(190)의 리소스 로케이터(예를 들어, eTLD+1)를 포함하는 파라미터들을 지정하는 데이터를 포함할 수 있다. 일단 수신되면, 클라이언트 디바이스(110)는 디지털 컴포넌트를 제시할 수 있다.
클라이언트 디바이스(110)의 신뢰 프로그램(114)은 디지털 컴포넌트에 대한 프리젠테이션 이벤트 데이터 엘리먼트를 저장한다(206). 프리젠테이션 이벤트 데이터 엘리먼트는 디지털 컴포넌트의 파라미터 및 디지털 컴포넌트가 클라이언트 디바이스(110)에 의해 제시된 시간을 포함할 수 있다. 전술한 바와 같이, 신뢰 프로그램(114)은 디지털 컴포넌트에 의해 지정된 프리젠테이션 만료에 기초하여 프리젠테이션 이벤트 데이터 엘리먼트를 프리젠테이션 이벤트 데이터 구조에 일시적으로 저장할 수 있다.
신뢰 프로그램(114)은 보고 시스템(190)으로 프리젠테이션 보고를 전송한다(208). 신뢰 프로그램(114)은 보고 시스템(190)에 프리젠테이션 보고를 전송하기 위해 디지털 컴포넌트에 의해 지정된 리소스 위치를 사용할 수 있다. 프리젠테이션 보고에는 예를 들어 이벤트-레벨 노출 데이터 및 디지털 컴포넌트의 전화 번호가 포함될 수 있다.
일부 구현에서, 예를 들어 이벤트 데이터가 증명 토큰을 사용하여 보고되는 구현에서, 프리젠테이션 보고는 프리젠테이션 증명 토큰을 포함하거나 증명 토큰의 형태일 수 있다. 이 프리젠테이션 증명 토큰은 데이터 세트 및 클라이언트 디바이스(110)의 클라이언트 개인키 및 데이터 세트를 사용하여 생성된 디지털 서명을 포함할 수 있다. 데이터 세트는 클라이언트 디바이스(110)의 디바이스 공개키, 프리젠테이션 증명 토큰이 신뢰 프로그램(114)에 의해 생성된 시간을 나타내는 프리젠테이션 증명 토큰 생성 시간, 부정 검출 시스템(170)에 의해 발행된 디바이스 무결성 토큰 및 페이로드 데이터를 포함할 수 있다. 페이로드 데이터는 이벤트 레벨 노출 데이터 및/또는 디지털 컴포넌트의 전화번호를 포함할 수 있다.
임계값 암호화 기술을 사용하는 구현에서, 프리젠테이션 데이터는 이벤트 데이터의 일부로서 포함될 수 있다. 다자간 계산을 사용하는 구현에서 프리젠테이션 보고는 아래에서 더 자세히 설명되는 것처럼 암호화된 프리젠테이션 데이터 및 결합키를 포함할 수 있다.
디지털 컴포넌트와의 사용자 상호 작용이 검출된다(210). 사용자 상호 작용은 디지털 컴포넌트의 선택, 예를 들어 클릭일 수 있다. 클라이언트 디바이스(110)는 디지털 컴포넌트가 제시되는 동안 디지털 컴포넌트와의 상호 작용을 모니터링할 수 있다.
일부 구현에서, 신뢰 프로그램(114)은 보고 시스템(190)으로 클릭 보고를 전송한다(212). 클릭 보고는 디지털 컴포넌트와의 사용자 상호 작용이 검출되었음을 나타낼 수 있다. 일부 구현에서, 클릭 보고는 증명 토큰을 포함하거나 증명 토큰의 형태일 수 있다. 이 증명 토큰은 데이터 세트 및 클라이언트 디바이스(110)의 개인키 및 데이터 세트를 사용하여 생성된 디지털 서명을 포함할 수 있다. 데이터 세트는 클라이언트 디바이스(110)의 디바이스 공개키, 증명 토큰이 신뢰 프로그램(114)에 의해 생성된 시간을 나타내는 증명 토큰 생성 시간, 부정 검출 시스템(170)에 의해 발행된 디바이스 무결성 토큰, 및 페이로드 데이터를 포함할 수 있다. 페이로드 데이터는 이벤트-레벨 노출 데이터, 디지털 컴포넌트와의 사용자 상호 작용이 검출되었음을 지정하는 데이터, 및/또는 디지털 컴포넌트의 전화번호를 포함할 수 있다. 일부 구현에서, 신뢰 프로그램(114)은 디지털 컴포넌트와의 사용자 상호 작용이 검출되었는지 여부를 지정하는 프리젠테이션을 위한 하나의 보고를 전송한다.
클라이언트 디바이스(110)는 디지털 컴포넌트(214)와의 사용자 상호 작용에 응답하여 전화 다이얼러(전화 걸기) 사용자 인터페이스를 제시한다. 전화 다이얼러 사용자 인터페이스는 사용자가 연락처를 선택하거나 번호를 다이얼할 수 있도록 하는 사용자 인터페이스일 수 있다. 클라이언트 디바이스(110)는 전화 다이얼러 사용자 인터페이스를 디지털 컴포넌트에 의해 지정된 전화 번호로 자동으로 채울 수 있으므로 사용자는 전화 번호로 전화를 걸기 위해 다이얼 버튼(또는 다른 버튼)을 누르기만 하면 된다.
클라이언트 디바이스(110)는 전화 번호로 전화를 건다(216). 클라이언트 디바이스(110)는 전화 다이얼러 사용자 인터페이스가 디지털 컴포넌트에 의해 지정된 전화번호를 제시하는 동안 다이얼 버튼과 상호 작용하는 사용자에 응답하여 전화를 걸 수 있다. 다른 예에서, 사용자는 해당 시간에 전화를 걸지 않기로 결정할 수 있다. 대신에, 사용자는 전화번호를 저장하고 나중에 전화번호로 전화를 걸 수 있다.
클라이언트 디바이스(110)에서 발생하는 각각의 전화 호출에 응답하여, 클라이언트 디바이스(110)의 신뢰 프로그램(114)은 프리젠테이션 이벤트 데이터 구조에 있는 프리젠테이션 이벤트 데이터 엘리먼트를 질의하거나 조회한다(218). 신뢰 프로그램(114)은 호출된 전화번호를 각각의 프리젠테이션 이벤트 데이터 엘리먼트의 전화번호와 비교할 수 있다. 매칭하지 않는 경우, 그 호출은 CTC 디지털 컴포넌트에 대한 변환 이벤트가 아닐 수 있다. 매칭하는 경우, 신뢰 프로그램(114)은 호출된 전화 번호에 메칭하는 전화 번호를 갖는 디지털 컴포넌트에 대한 전환 이벤트가 있다고 결정할 수 있다.
이에 응답하여, 신뢰 프로그램(114)은 부정 검출 시스템으로부터 디바이스 무결성 토큰을 요청할 수 있다(220). 신뢰 프로그램은 클라이언트 디바이스(110)로부터 디바이스-레벨 부정 신호를 수집하여 부정 검출 시스템(170)으로 그 신호를 제공할 수 있다. 전술한 바와 같이, 부정 검출 시스템(170)은 부정 신호를 평가하고 그 평가에 기초하여 판정(verdict)을 내릴 수 있다. 디바이스 무결성 토큰을 요청하는 동작이 프로세스(200)의 이 시점에서 발생하는 것으로 표시되지만, 이 동작은 언제든지 발생할 수 있다. 예를 들어, 신뢰 프로그램(114)은, 예를 들어 이 프로세스(200)와 비동기식으로 또는 사용자 상호 작용과 비동기식으로 디바이스 무결성 토큰을 주기적으로 페치 및 캐시할 수 있다. 부정 검출 시스템(170)은 판정을 포함하는 디바이스 무결성 토큰을 신뢰 프로그램(114)으로 전송할 수 있다(222).
일부 구현에서, 신뢰 프로그램(114)은 클라이언트 디바이스(110)의 사용자에게 클라이언트 디바이스(114)가 호출된 전화 번호에 매칭하는 전화 번호를 갖는 디지털 컴포넌트에 대한 이벤트 보고를 전송하기 위한 허가를 제공하도록 프롬프트할 수 있다(224). 신뢰 프로그램(114)은 각각의 잠재적 보고 또는 모든 후속 잠재적 보고에 대해 사용자를 프롬프트할 수 있다. 예를 들어, 신뢰 프로그램은 사용자가 이 특정 보고 또는 모든 보고에 대한 허가를 제공할 수 있도록 하는 프롬프트를 제시할 수 있다. 사용자는 옵션에 대한 허가를 제공하거나 보고의 전송을 거부할 수 있다. 위에서 설명한 프리젠테이션 및 클릭 보고에도 유사한 프롬프트가 사용될 수 있다.
사용자가 보고를 전송하기 위한 허가를 제공하면, 신뢰 프로그램(114)은 이벤트 보고를 생성하여 보고 시스템(190)으로 전송할 수 있다(226). 일부 구현에서 이벤트 보고는 증명 토큰을 포함하거나 증명 토큰의 형태일 수 있다. 이 증명 토큰은 데이터 세트 및 클라이언트 디바이스(110)의 클라이언트 개인키 및 데이터 세트를 사용하여 생성된 디지털 서명을 포함할 수 있다. 데이터 세트는 클라이언트 디바이스(110)의 디바이스 공개키, 인증 토큰이 신뢰 프로그램(114)에 의해 생성된 시간을 나타내는 증명 토큰 생성 시간, 부정 검출 시스템(170)에 의해 발행된 디바이스 무결성 토큰, 및 페이로드 데이터를 포함할 수 있다. 페이로드 데이터는 디지털 컴포넌트에 의해 지정된 전화 번호, 호출 지속시간 및/또는 호출 시작/종료 시간(또는 호출 지속시간 및/또는 호출 시작/종료 시간에 대한 분위수)을 포함할 수 있다.
임계값 암호화가 사용되는 구현에서, 신뢰 프로그램(114)은 아래에서 더 자세히 설명되는 바와 같이 적어도 디지털 컴포넌트에 의해 지정된 전화번호를 포함하는 이벤트 데이터를 지정하는 비밀 조각을 포함하는 이벤트 보고를 생성할 수 있다. 다자간 계산이 사용되는 구현에서, 이벤트 보고는 아래에서 더 자세히 설명되는 바와 같이 암호화된 이벤트 데이터 및 결합키를 포함할 수 있다.
보고 시스템(190)은 다수의 클라이언트 디바이스로부터 이벤트 보고를 수신하고 보고된 데이터에 기초하여 통신 네트워크 측정치를 생성할 수 있다. 도 3 내지 도 5는 이벤트 보고의 유효성을 결정하고 및/또는 이벤트 보고의 데이터를 해독하고 통신 네트워크 측정치를 결정하기 위한 예시적인 프로세스를 도시한다.
도 3은 통신 네트워크 측정치를 결정하기 위한 예시적인 프로세스(300)를 도시하는 흐름도이다. 프로세스(300)는 예를 들어 보고 시스템(예를 들어, 도 1의 보고 시스템(190))에 의해 구현될 수 있다. 프로세스(300)의 동작들은 또한 비-일시적 컴퓨터 판독가능 매체에 저장된 명령들(명령어)로서 구현될 수 있고, 하나 이상의 데이터 처리 장치에 의한 명령들의 실행은 하나 이상의 데이터 처리 장치가 프로세스(300)의 동작들을 수행하게 할 수 있다. 간결함을 위해, 프로세스(300)는 도 1의 보고 시스템(190)과 관련하여 설명된다. 예시적인 프로세스(300)는 증명 토큰을 사용하여, 예를 들어, 디지털 컴포넌트가 클라이언트 디바이스에 제시된 후 디지털 컴포넌트의 전화번호에 대한 호출이 클라이언트 디바이스에서 발생하는지 여부와 같은 이벤트-레벨 통신 네트워크 측정 데이터를 보고한다.
보고 시스템(190)은 이벤트 보고를 수신한다(302). 이벤트 보고는 증명 토큰을 포함하거나 증명 토큰의 형태일 수 있다. 이 증명 토큰은 이벤트 보고를 전송한 클라이언트 디바이스(110)의 클라이언트 개인키 및 데이터 세트를 사용하여 생성된 데이터 세트 및 디지털 서명을 포함할 수 있다. 데이터 세트는 클라이언트 디바이스(110)의 디바이스 공개키, 클라이언트 디바이스(110)의 신뢰 프로그램(114)에 의해 증명 토큰이 생성되는 시간을 나타내는 증명 토큰 생성 시간, 부정 검출 시스템(170)에 의해 발행된 디바이스 무결성 토큰 및 페이로드 데이터를 포함할 수 있다. 페이로드 데이터는 디지털 컴포넌트에 의해 지정된 전화 번호, 호출 기간 및/또는 호출 시작/종료 시간(또는 호출 지속시간 및/또는 호출 시작/종료 시간에 대한 분위수)을 포함할 수 있다.
보고 시스템(190)은 이벤트 보고의 무결성이 유효한지 여부를 결정한다(304). 보고 시스템(190)은 증명 토큰의 데이터 세트 및 증명 토큰의 디지털 서명에 기초하여 이벤트 보고의 무결성이 유효한지 여부를 결정할 수 있다. 예를 들어, 보고 시스템(190)은 증명 토큰에 포함된 디바이스 공개키를 사용하여 데이터 세트의 디지털 서명을 검증하려고 시도할 수 있다. 만약 디지털 서명이 생성된 이후 데이터 세트 내의 임의의 데이터가 변경되면, 그 검증은 실패할 것이다. 만약 데이터 세트가 동일하면 그 검증은 성공할 것이다.
보고 시스템(190)이 이벤트 보고의 무결성이 유효하지 않다고 결정하면, 보고 시스템(190)은 디지털 컴포넌트(306)에 대한 통신 네트워크 측정치(들)를 업데이트하지 않는다.
보고 시스템(190)이 이벤트 보고의 무결성이 유효하다고 결정하면, 보고 시스템은 클라이언트 디바이스(110)의 무결성이 유효한지 여부를 결정한다(308). 보고 시스템(190)은 증명 토큰의 디바이스 무결성 토큰을 사용하여 클라이언트 디바이스(110)의 무결성이 유효한지 여부를 결정할 수 있다. 예를 들어, 보고 시스템(190)은 디바이스 무결성 토큰의 판정을 평가하여 부정 검출 시스템(170)이 클라이언트 디바이스(110)가 신뢰할만 하다고 결정했는지 여부를 결정할 수 있다.
보고 시스템(190)은 또한 디바이스 무결성 토큰의 디지털 서명을 검증하려고 시도할 수 있다. 예를 들어, 보고 시스템(190)은 부정 검출 시스템(170)의 공개키 및 디바이스 무결성 토큰의 데이터 세트를 사용하여 디바이스 무결성 토큰의 디지털 서명을 검증하려고 시도할 수 있다.
보고 시스템(190)은 또한 디바이스 무결성 토큰에 대한 토큰 생성 시간을 평가할 수 있다. 토큰 생성 시간이 증명 토큰 생성 시간 또는 이벤트 보고가 전송된 시간의 임계값 이내인 경우, 보고 시스템(190)은 디바이스 무결성 토큰이 부실 (stale)하지 않은 것으로 결정할 수 있다.
판정이 클라이언트 디바이스가 신뢰할 수 있음을 나타내고, 디바이스 무결성 토큰의 디지털 서명이 성공적으로 검증되었고, 디바이스 무결성 토큰이 부실하지 않은 경우, 보고 시스템(190)은 클라이언트 디바이스(110)의 무결성이 유효했다고 결정할 수 있다. 테스트 중 하나라도 실패하면, 보고 시스템(190)은 클라이언트 디바이스(110)의 무결성이 유효하지 않다고 결정할 수 있다.
보고 시스템(190)이 클라이언트 디바이스(110)의 무결성이 유효하지 않다고 결정하면, 보고 시스템(190)은 디지털 컴포넌트(306)에 대한 통신 네트워크 측정치(들)을 업데이트하지 않는다(306).
보고 시스템(190)이 클라이언트 디바이스(110)의 무결성이 유효하다고 결정하면, 보고 시스템(190)은 디지털 컴포넌트에 대한 통신 네트워크 측정치를 업데이트한다(310). 예를 들어, 보고 시스템(190)은 이벤트 보고에 기초하여 클라이언트 디바이스에서 디지털 컴포넌트의 프리젠테이션 후에 클라이언트 디바이스에서 발생한 호출 이벤트의 총 수의 카운트를 업데이트할 수 있다. 즉, 이벤트 보고가 하나의 호출에 해당하는 경우, 보고 시스템(190)은 카운트를 1씩 증가시킬 수 있다.
보고 시스템(190)은 또한 이벤트 보고의 페이로드 데이터에 기초하여 다른 메트릭을 결정할 수 있다. 예를 들어, 보고 시스템(190)은 전화 번호에 대한 호출의 총 또는 평균 지속시간을 결정하기 위해 지속시간을 사용할 수 있다. 보고 시스템(190)은 또한 각 호출의 지속시간에 기초하여 짧은 호출, 중간 호출 및 긴 호출과 같은 지속시간 범위에 대한 호출을 분류할 수 있다. 이어서 보고 시스템(190)은 각 범위의 전화 번호에 대한 호출 수를 결정할 수 있다. 예시적인 프로세스(300)는 호출 이벤트의 관점에서 설명되지만, 디지털 컴포넌트가 제시되거나 상호 작용한 횟수의 카운트를 결정하기 위해 유사한 프로세스가 사용될 수 있다.
도 4는 통신 네트워크 측정치를 결정하기 위한 예시적인 프로세스(400)를 도시하는 흐름도이다. 프로세스(400)는 예를 들어 보고 시스템(예를 들어, 도 1의 보고 시스템(190))으로 구현될 수 있다. 프로세스(400)의 동작들은 또한 비-일시적 컴퓨터 판독가능 매체에 저장된 명령들로서 구현될 수 있고, 하나 이상의 데이터 처리 장치에 의한 명령들의 실행은 하나 이상의 데이터 처리 장치로 하여금 프로세스(300)의 동작들을 수행하게 할 수 있다. 간결함을 위해, 프로세스(400)는 도 1의 보고 시스템(190)과 관련하여 설명된다. 예시적인 프로세스(400)는 통신 네트워크 측정 데이터, 예를 들어 디지털 컴포넌트가 클라이언트 디바이스에 제시된 후에 클라이언트 디바이스에서 발생하는 디지털 디지털 컴포넌트의 전화번호에 대한 호출 수를 집계하기 위해 임계값 암호화 기술을 사용한다.
보고 시스템(190)은 다수의 클라이언트 디바이스로부터 이벤트 보고를 수신한다(402). 각 클라이언트 디바이스(110)가 디지털 컴포넌트에 대응하는 호출 이벤트가 발생한다고 결정하면, 클라이언트 디바이스는 디지털 컴포넌트에 대응하는 비밀 조각을 포함하는 이벤트 보고를 생성할 수 있다. 각각의 클라이언트 디바이스(110)는 자신의 비밀 조각을 생성하기 위해 공통 임계값 암호화 기술을 구현하도록 구성될 수 있다. 임계값 암호화 기술은 그룹 키가 평면을 포함하고 측정 데이터가 각 평면이 교차하는 지점에 있는 평면-기반 암호화 방식, 예를 들어 블레이클리의 방식일 수 있다. 다른 예에서, 임계값 암호화 기술은 중국어 나머지 정리, 사전 예방적 시크릿 쉐어링, 검증 가능한 시크릿 쉐어링(VSS), 또는 다른 적절한 임계값 암호화 기술을 사용할 수 있다.
시크릿은 디지털 컴포넌트에 대한 이벤트 데이터일 수 있다. 예를 들어, 이벤트 데이터, 따라서 비밀은 디지털 컴포넌트의 전화번호를 포함할 수 있다. 특정 지속기간 또는 특정 호출 지속기간 분위수를 지속한 호출 수를 측정하는 경우, 비밀은 전화 번호와 호출 지속기간 또는 호출 지속시간 분위수를 조합일 수 있다. 마찬가지로, 특정 시간 또는 특정 시작 시간 분위수 내에서 시작된 통화 수를 측정하는 경우, 이벤트 데이터는 전화 번호와 특정 시간 또는 특정 시작 시간 분위수의 조합일 수 있다. 이벤트 데이터는 또한 전화 번호, 호출 지속시간(또는 분위수) 및 시작 시간(또는 그의 분위수)의 조합일 수 있다.
일부 구현에서, 비밀로 사용되는 이벤트 데이터는 부정 검출 시스템(170)에 의해 블라인드로 서명된 블라인드 서명된 데이터이다. 이 예에서, 클라이언트 디바이스의 신뢰 프로그램(114)은 호출 이벤트에 대한 이벤트 데이터를 블라인드(예를 들어, 모호하게)하기 위해 블라인드 기법을 사용할 수 있다. 일반적으로, 블라인드 기법은 노출 데이터에 블라인드 팩터를 적용하여, 블라인드된 이벤트 데이터를 수신하는 엔티티들이 블라인드된 노출 데이터를 생성하는데 사용되는 블라인드 기법 및 파라미터들/키들에 대한 지식 없이는 실제 이벤트 데이터를 결정할 수 없도록 실제 이벤트 데이터를 숨기는 블라인드된 이벤트 데이터를 생성할 수 있다. 일부 구현에서, 신뢰 프로그램(114)은 디지털 컴포넌트에 대한 노출 데이터를 블라인드하기 위한 IETF(Internet Engineering Task Force) 초안 표준 프로토콜인 VOPRF(Verifiable, Oblivious Pseudorandom Function) 프로토콜을 사용하여 디지털 컴포넌트에 대한 이벤트 데이터를 블라인드한다. 다른 적절한 블라인드 서명 기술이 사용될 수도 있다.
신뢰 프로그램(114)은 디바이스 레벨 부정 신호와 함께 블라인드된 이벤트 데이터를 부정 검출 시스템(170)으로 전송할 수 있다. 이러한 블라인드된 데이터의 사용은 부정 검출 시스템(170)이 블라인드된 이벤트 데이터로부터 실제 이벤트 데이터에 액세스할 수 없기 때문에 사용자 프라이버시를 보호한다. 부정 검출 시스템(170)은 부정 신호를 평가하여 클라이언트 디바이스(110)가 신뢰할만한지 여부를 결정할 수 있다. 그런 경우, 부정 검출 시스템(170)은 블라인드 기술을 사용하여 블라인드된 이벤트 데이터에 디지털 서명하고 블라인드 서명을 신뢰 프로그램(114)에 반환할 수 있다. 신뢰 프로그램(114)은 블라인드 서명을 검증하기 위해 블라인드 기술을 사용할 수 있다. 신뢰 프로그램(114)은 또한 이벤트 데이터의 블라인드를 해제하기 위해 블라인드 기술을 사용할 수 있다.
신뢰 프로그램(114)은 임계값 암호화 기술을 사용하여 비밀 조각, 예를 들어 이벤트 데이터 또는 블라인드 서명된 블라인드 이벤트 데이터를 생성할 수 있다. 신뢰 프로그램(114)은 또한 이벤트 데이터에 대한 태그를 생성할 수 있다. 태그는 이벤트 데이터를 고유하게 식별하고 이벤트 데이터의 적어도 일부를 기반으로 하는 번호일 수 있다. 예를 들어, 각각의 신뢰 프로그램(114)은 각각의 신뢰 프로그램이 동일한 이벤트 데이터에 대해 동일한 태그를 생성하도록 이벤트 데이터에 기초하여 태그를 생성하도록 구성될 수 있다.
이어서 신뢰된 프로그램(114)은 보고 시스템(190)에 이벤트 보고를 제공할 수 있다. 이벤트 보고는 이벤트 데이터 및 비밀 조각을 식별하는 태그를 포함할 수 있다.
보고 시스템(190)은 동일한 태그를 갖는 적어도 임계수의 별개의 이벤트 보고가 수신되었는지 여부를 결정한다(404). 임계값 암호화를 사용하면, 비밀은 적어도 임계수의 고유한 비밀 조각이 수신되지 않는 한 보호화될 수 없다. 동일한 태그를 갖는 수신된 이벤트 보고의 수가 임계값 미만인 경우, 프로세스(400)는 단계(402)로 돌아가서 추가 이벤트 보고를 기다린다.
동일한 태그를 갖는 수신된 이벤트 보고의 수가 임계값 이상인 경우, 보고 시스템(190)은 비밀을 복호화할 수 있다(406). 보고 시스템(190)은 임계값 암호화 기술 및 이벤트 보고에 포함된 비밀 조각을 사용하여 비밀, 예를 들어 이벤트 데이터 또는 블라인드 서명된 이벤트 데이터를 복호화할 수 있다.
이벤트 데이터가 블라인드 서명된 이벤트 데이터인 경우, 보고 시스템(190)은 클라이언트 디바이스가 신뢰할만함을 보장하기 위해 블라인드 서명의 유효성을 체크할 수 있다. 일부 구현에서, 보고 시스템(190)은 블라인드 서명을 검증하기 위한 요청과 함께 블라인드 서명된 블라인드 이벤트 데이터를 부정 검출 시스템(170)으로 전송할 수 있다. 보고 시스템(190)은 블라인드 서명을 검증하고 블라인드 서명이 성공적으로 검증되었는지 여부에 관한 보고로 보고 시스템(190)에 응답하기 위해 블라인드 기술을 사용할 수 있다. 공개적으로 검증 가능한 블라인드 서명 방식에 의존하는 다른 구현에서, 보고 시스템(190)은 블라인드 서명을 검증하기 위해 부정 검출 시스템(170)을 요청할 필요가 없다. 대신에, 보고 시스템(190)은 부정 검출 시스템(170)으로부터 검증 키를 다운로드한 후 독립적으로 블라인드 서명을 검증할 수 있다.
보고 시스템(190)은 이벤트 보고에 기초하여 디지털 컴포넌트에 대한 통신 네트워크 측정치를 결정한다(408). 예를 들어, 보고 시스템(190)은 이벤트 보고에 기초하여 클라이언트 디바이스에서 디지털 컴포넌트가 제시된 이후 클라이언트 디바이스에서 발생한 호출 이벤트의 총 수의 카운트를 결정할 수 있다. 이는 이벤트 데이터에 대한 태그를 포함하는 수신된 개별 이벤트 보고의 수에 해당할 수 있다.
도 5는 통신 네트워크 측정치를 결정하기 위한 예시적인 프로세스(500)를 도시하는 흐름도이다. 프로세스(500)는 예를 들어 집계 서버 및 보고 시스템, 예를 들어 도 1의 집계 서버(180-A 및 180-B) 및 보고 시스템(190)으로 구현될 수 있다. 프로세스(500)의 동작들은 또한 비-일시적 컴퓨터 판독가능 매체에 저장된 명령들로 구현될 수 있고, 하나 이상의 데이터 처리 장치에 의한 명령들의 실행은 하나 이상의 데이터 처리 장치로 하여금 프로세스(500)의 동작들을 수행하게 할 수 있다. 예시적인 프로세스(500)는 통신 테으워크 측정 데이터, 예를 들어 디지털 컴포넌트가 클라이언트 디바이스에서 제시된 후 클라이언트 디바이스에서 발생되는 디지털 컴포넌트의 전화 번호에 대한 호출 수를 집계하기 위해 다자간 계산 및 선택적 차등 프라이버시 기술을 사용한다.
집계 서버(180-A)는 클라이언트 디바이스(110)로부터 프리젠테이션 보고를 수신한다(502). 클라이언트 디바이스(110)는 디지털 컴포넌트를 제시하는 것에 응답하여 디지털 컴포넌트에 대한 프리젠테이션 보고를 생성하고 제공할 수 있다. 각 프리젠테이션 보고에는 디지털 컴포넌트 및 프리젠테이션 결합키의 프리젠테이션을 위한 암호화된 프리젠테이션 데이터가 포함될 수 있다. 프리젠테이션 데이터는 예를 들어 디지털 컴포넌트에 의해 지정된 전화번호 및 디지털 컴포넌트의 프리젠테이션과 연관된 이벤트-레벨 노출 데이터를 포함할 수 있다. 프리젠테이션 데이터는 집계 서버(180-A)의 공개키와 집계 서버(180-B)의 공개키를 이용하여 암호화될 수 있다. 프리젠테이션 데이터는 또한 디지털 컴포넌트에 대한 보고 시스템(190)의 공개키를 사용하여 암호화될 수 있다. 예를 들어, 프리젠테이션 보고를 전송하는 클라이언트 디바이스(110)의 신뢰 프로그램(114)은 보고 시스템(190)의 공개키를 사용하여 프리젠테이션 데이터를 암호화하고, 이어서 집계 서버(180-A)의 공개키를 사용하여 이 암호화된 데이터를 암호화한 다음 집계 서버(180-B)의 공개키를 사용하여 이 암호화된 데이터를 암호화한다.
프리젠테이션 결합키는 적어도 보고 시스템에 대한 리소스 로케이터, 클라이언트 디바이스(110)의 식별자 및 디지털 컴포넌트에 의해 지정된 전화 번호의 암호화된 조합을 포함하는 암호화된 데이터 엘리먼트를 포함하는 블라인드 서명된 키일 수 있다. 프리젠테이션 결합키에는 또한 암호화된 데이터 엘리먼트의 블라인드 서명이 포함될 수 있다. 예를 들어, 부정 검출 시스템(170)은 신뢰 프로그램(114)에 의해 제공되는 디바이스 레벨 부정 신호를 평가하고, 클라이언트 디바이스(110)가 신뢰할만 한 경우 암호화된 데이터 엘리먼트에 블라인드 서명할 수 있다. 프리젠테이션 결합키는 프리젠테이션 보고 및 대응하는 이벤트 보고를 결합하는데 사용된다.
집계 서버(180-B)는 클라이언트 디바이스들(110)로부터 이벤트 보고를 수신한다(504). 클라이언트 디바이스(110)는 디지털 컴포넌트의 프리젠테이션 후에 디지털 컴포넌트에 의해 지정된 전화번호로 클라이언트 디바이스(110)가 호출했다는 결정에 응답하여 디지털 컴포넌트에 대한 이벤트 보고를 생성 및 제공할 수 있다. 각 프리젠테이션 보고에는 디지털 컴포넌트 및 프리젠테이션 결합키에 대한 암호화된 이벤트 데이터가 포함될 수 있다. 이벤트 데이터는 예를 들어, 디지털 컴포넌트에 의해 지정되고 클라이언트 디바이스(110)에 의해 호출된 전화번호, 호출 지속시간(또는 그의 분위수), 및 호출 시작 또는 종료 시간(또는 그의 분위수)을 포함할 수 있다.
이벤트 데이터는 집계 서버(180-A)의 공개키와 집계 서버(180-B)의 공개키를 이용하여 암호화될 수 있다. 이벤트 데이터는 또한 디지털 컴포넌트에 대한 보고 시스템(190)의 공개키를 사용하여 암호화될 수 있다. 예를 들어, 이벤트 보고를 전송하는 클라이언트 디바이스(110)의 신뢰 프로그램(114)은 보고 시스템(190)의 공개키를 사용하여 프리젠테이션 데이터를 암호화하고, 이어서 집계 서버(180-B)의 공개키를 사용하여 이 암호화된 데이터를 암호화한 다음 집계 서버(180-A)의 공개키를 사용하여 이 암호화된 데이터를 암호화한다.
이벤트 결합키는 적어도 보고 시스템에 대한 리소스 로케이터, 클라이언트 디바이스(110)의 식별자, 및 디지털 컴포넌트에 의해 지정되고 클라이언트 디바이스(110)에 의해 호출된 전화번호의 암호화된 조합을 포함하는 암호화된 데이터 엘리먼트를 포함하는 블라인드 서명된 키일 수 있다. 이벤트 결합키는 또한 암호화된 데이터 엘리먼트의 블라인드 서명을 포함할 수 있다. 예를 들어, 부정 검출 시스템(170)은 신뢰 프로그램(114)에 의해 제공된 디바이스-레벨 부정 신호를 평가하고 클라이언트 디바이스(110)가 신뢰할만한 경우 암호화된 데이터 엘리먼트를 블라인드 서명할 수 있다. 이벤트 결합키는 프리젠테이션 보고를 대응하는 이벤트 보고와 결합하는데 사용된다.
결합키의 식별자는 구현에 따라 다를 수 있다. 예를 들어, 식별자는 클라이언트 디바이스(110)의 식별자, 클라이언트 디바이스(110)의 디바이스 공개키, 클라이언트 디바이스(110)의 전화번호, 또는 클라이언트 디바이스(110)에 고유한 기타 적절한 정보, 클라이언트 디바이스(110)의 사용자의 식별자(사용자에 의해 허용되는 경우), 또는 보고가 생성되는 애플리케이션일 수 있다.
집계 서버(180-A)와 집계 서버(180-B)는 다자간 계산을 수행하여 프리젠테이션 보고 및 이벤트 보고를 복호화한다(506). 이 프로세스에는 결합키를 사용하여 프리젠테이션 보고와 대응하는 이벤트 보고를 결합하는 것이 포함될 수 있다. 결합키는 디지털 컴포넌트의 전화 번호와 클라이언트 디바이스(110)의 식별자를 기반으로하기 때문에, 결합키는 클라이언트 디바이스(110)에서 디지털 컴포넌트의 프리젠테이션을 위한 프리젠테이션 보고를 디지털 컴포넌트의 전화번호(있는 경우)로 행해진 호출에 대한 이벤트 보고와 결합하는데 사용될 수 있다.
호출 이벤트에 대한 암호화된 이벤트 데이터는 이벤트 데이터가 동일하고 데이터를 암호화하는데 사용되는 공개키가 동일할 것이기 때문에 상이한 클라이언트 디바이스에서 각각의 동일한 이벤트에 대해 동일할 것이다. 예를 들어, 두 개의 상이한 클라이언트 디바이스에서 동일한 번호의 동일한 디지털 컴포넌트에 대한 호출을 위한 이벤트 데이터는 동일한다. 마찬가지로, 두 개의 상이한 클라이언트 디바이스와 동일한 번호 및 동일한 호출 지속시간 분위수에 대한 호출을 위한 이벤트 데이터는 동일한다. 동일한 디지털 컴포넌트에 대한 암호화된 프리젠테이션 데이터도 여러 클라이언트 디바이스에서 동일한다.
따라서, 동일한 암호화된 프리젠테이션 데이터 및 동일한 암호화된 이벤트 데이터를 갖는 암호화된 프리젠테이션 데이터 및 대응하는 암호화된 이벤트 데이터의 각각의 결합(된) 쌍은 동일한 이벤트 데이터를 갖는 디지털 컴포넌트에 대한 고유한 클릭-투-콜 전환을 나타낸다. 암호화된 프리젠테이션 데이터와 대응하는 이벤트 데이터를 결합한 후, 집계 서버(180-A, 180-B)는 각 쌍의 발생 횟수, 예를 들어 암호화된 프리젠테이션 데이터 및 대응하는 암호화된 이벤트 데이터의 동일한 결합 쌍에 모두 링크된 고유 키의 수를 카운트할 수 있다. 만약 이벤트 데이터가 특정 디지털 컴포넌트의 특정 전화번호에 대한 호출인 경우, 이 카운트는 디지털 컴포넌트가 클라이언트 디바이스에 제시된 후 클라이언트 디바이스들이 전화번호로 호출한 횟수를 나타낸다. 마찬가지로, 이벤트 데이터가 특정 호출 지속시간 분위수를 갖는 특정 전화 번호에 대한 호출인 경우, 카운트는 특정 호출 지속시간 분위수의 지속시간 범위 내의 지속 시간을 지속한 전화 번호에 대한 호출 수를 나타낸다. 집계 서버(180-A, 180-B)는 암호화된 프리젠테이션 데이터 및 대응하는 암호화된 이벤트 데이터의 각 결합 쌍에 대해 이러한 통신 네트워크 측정치를 결정할 수 있다.
다자간 계산 프로세스는 또한, 집계 서버(180-A 및 180-B)의 개인키를 사용하여 보고를 암호화 및 복호화하고 두 집계 서버(180-A 및 180-B) 간에 암호화/복호화된 데이터를 전달하는 것을 포함할 수 있다. 보고가 보고 시스템(190)의 공개키를 사용하여 암호화되는 경우, 집계 서버(180-A, 180-B)는 그 보고의 실제 데이터에 액세스할 수 없다.
일부 구현에서, 다자간 계산 프로세스는 임계값 기술을 사용할 수 있다. 예를 들어, 집계 서버(180-A 및 180-B)는 예를 들어, 적어도 임계수의 클라이언트 디바이스(110)에 의해 보고된 적어도 임계수의 고유 결합키를 갖는 암호화된 프리젠테이션 데이터 및 대응하는 암호화된 이벤트 데이터의 결합 쌍에 대한 통신 네트워크 측정치만을 결정할 수 있다. 유사하게, 집계 서버(180-A, 180-B)는 적어도 임계수의 고유 결합키를 갖는 암호화된 프리젠테이션 데이터 및 대응하는 암호화된 이벤트 데이터의 결합 쌍에 대한 데이터만을 복호화할 수 있다. 이는 특정 클라이언트 디바이스에 다시 링크될 수 있는 소수의 클라이언트 디바이스로부터의 데이터를 복호화하지 않음으로써 사용자 프라이버시를 보호한다.
집계 서버(180-A, 180-B)는 복호화된 데이터를 보고 시스템(190)으로 전송한다(508). 보고 시스템(190)은 또한 해독된 데이터에 기초하여 통신 네트워크 측정치(들)를 결정할 수 있다. 예를 들어, 보고 시스템(190)은 이벤트 보고 및/또는 클라이언트 디바이스들(110)에서의 디지털 컴포넌트의 프리젠테이션 횟수에 기초하여 클라이언트 디바이스에서 디지털 컴포넌트를 프리젠테이션한 후에 클라이언트 디바이스들에서 발생한 호출 이벤트의 총 수를 결정할 수 있다.
보고 시스템(190)은 또한 전화 번호에 대한 평균 또는 총 지속시간, 짧은, 중간 또는 긴 통화 수와 같은 복호화된 데이터에 기초하여 다른 메트릭을 결정할 수 있다. 그렇게 하기 위해, 보고 시스템(190)은 전화 번호를 포함하는 복호화된 데이터를 집계하고 그 집계된 데이터에 기초하여 메트릭을 계산할 수 있다.
위에서 설명된 기술은 또한 디지털 컴포넌트가 제시된 것과 다른 디바이스에서 발생하는 호출 이벤트에 대한 통신 네트워크 측정치를 결정하는데 사용될 수 있다. 예를 들어, 연관된 전화 번호를 갖는 디지털 컴포넌트는 사용자가 로그인한 태블릿 컴퓨터, 스마트 텔레비전 또는 스마트 스피커(예를 들어, 전화 번호를 말함으로써)상에 제시될 수 있다. 그런 다음 사용자는 스마트 폰, 스마트 스피커 또는 기타 적절한 디바이스를 사용하여 전화 번호로 호출할 수 있다.
일부 구현에서, 사용자의 다수의 디바이스(예를 들어, 사용자가 로그인한 디바이스)는 디지털 컴포넌트들에 대한 프리젠테이션 이벤트 데이터를 동기화할 수 있다. 일 예에서, 각 디바이스의 신뢰 프로그램은 개별 프리젠테이션 이벤트 데이터 구조(116)에 있는 프리젠테이션 이벤트 데이터를 동기화할 수 있다. 다른 예에서, 각 디바이스의 웹 브라우저는 프리젠테이션 이벤트 데이터를 서로 동기화할 수 있다. 이러한 방식으로, 디바이스들 중 하나에서 전화가 걸려왔을 때 해당 디바이스는 호출된 전화 번호를 동기화된 이벤트 데이터의 동기화된 전화 번호들과 비교함으로써 디지털 컴포넌트들 중 하나에 대한 호출 이벤트가 발생했는지 여부를 결정할 수 있다. 검출되는 경우, 디바이스는 위에서 설명한 대로 그 호출 이벤트를 보고할 수 있다.
프리젠테이션 이벤트 데이터가 호출 이벤트 데이터와 상이한 서버로 보고되는 구현에서, 예를 들어, 도 5를 참조하여 전술한 바와 같이, 동기화는 요구되지 않을 수 있다. 예를 들어, 사용자의 각 디바이스의 신뢰 프로그램은 각 CTC 디지털 컴포넌트에 대한 프리젠테이션 보고를 전송할 수 있다. 이러한 프리젠테이션 보고는 예를 들어 클라이언트 디바이스에 대한 식별자에 추가로 또는 대신하여 사용자의 식별자를 포함할 수 있다. 마찬가지로, 사용자의 각 디바이스의 신뢰 프로그램은 디바이스에서 건 각 호출에 대한 이벤트 보고를 전송할 수 있다. 이러한 이벤트 보고에는 사용자의 식별자도 포함될 수 있다. 프리젠테이션 및 호출을 위한 결합키는 디지털 컴포넌트의 프리젠테이션을 위한 프리젠테이션 이벤트에 대한 결합키가 디지털 컴포넌트의 전화번호를 위한 호출 이벤트에 대한 결합키와 동일하도록 사용자의 식별자에 기초할 수 있다. 이러한 방식으로, 한 디바이스의 프리젠테이션 이벤트는 다자간 계산 프로세스 중에 다른 디바이스로부터의 대응하는 호출 이벤트와 결합된다.
위의 설명에 더하여, 사용자에게는 본 명세서에 설명된 시스템, 프로그램 또는 특징이 사용자 정보(예를 들어, 사용자의 소셜 네트워크, 소셜 액션 또는 활동, 직업, 사용자의 선호도 또는 사용자의 현재 위치에 관한 정보)의 수집을 가능케하는지 여부 및 시기 그리고 사용자가 서버에서 개인화된 컨텐츠 또는 통신을 보내는지 여부에 대해 사용자가 선택할 수 있도록 허용하는 컨트롤이 제공될 수 있다. 또한, 특정 데이터는 개인 식별 정보가 제거될 수 있도록 저장 또는 사용되기 전에 하나 이상의 방식으로 처리될 수 있다. 예를 들어, 사용자의 신원은 개인 식별 정보(예를 들어, 전화 번호, IMEI, 디바이스 일련 번호)가 사용자에 대해 결정될 수 없도록 처리되거나 사용자의 지리적 위치는 사용자의 특정 위치가 결정될 수 없도록 위치 정보가 획득된 곳(예를 들어, 도시, 우편 번호, 주 수준)으로 일반화될 수 있다. 따라서, 사용자는 사용자에 대해 수집되는 정보, 해당 정보가 사용되는 방법, 정보 보유 정책 및 사용자에게 제공되는 정보를 제어할 수 있다.
도 6은 위에서 설명된 동작들을 수행하는데 사용될 수 있는 예시적인 컴퓨터 시스템(600)의 블록도이다. 시스템(600)은 프로세서(610), 메모리(620), 저장 디바이스(630), 및 입출력 디바이스(640)를 포함한다. 컴포넌트(610, 620, 630, 640) 각각은 예를 들어 시스템 버스(650)를 사용하여 상호 연결될 수 있다. 프로세서(610)는 시스템(600) 내에서 실행하기 위한 명령들을 처리할 수 있다. 일부 구현에서, 프로세서(610)는 단일 스레드 프로세서이다. 다른 구현에서, 프로세서(610)는 다중 스레드 프로세서이다. 프로세서(610)는 메모리(620) 또는 저장 디바이스(630)에 저장된 명령들을 처리할 수 있다.
메모리(620)는 시스템(600) 내의 정보를 저장한다. 일 구현에서, 메모리(620)는 컴퓨터 판독가능 매체이다. 일부 구현에서, 메모리(620)는 휘발성 메모리 유닛이다. 다른 구현에서, 메모리(620)는 비-휘발성 메모리 유닛이다.
저장 디바이스(630)는 시스템(600)을 위한 대용량 저장소를 제공할 수 있다. 일부 구현에서, 저장 디바이스(630)는 컴퓨터 판독가능 매체이다. 다양한 상이한 구현에서, 저장 디바이스(630)는 예를 들어, 하드 디스크 디바이스, 광 디스크 디바이스, 네트워크를 통해 다수의 컴퓨팅 디바이스(예를 들어, 클라우드 저장 디바이스)에 의해 공유되는 저장 디바이스, 또는 일부 다른 대용량 저장 디바이스를 포함할 수 있다.
입/출력 디바이스(640)는 시스템(600)에 대한 입/출력 동작들을 제공한다. 일부 구현에서, 입/출력 디바이스(640)는 네트워크 인터페이스 디바이스, 예를 들어 이더넷 카드, 직렬 통신 디바이스(예를 들어, RS-232 포트), 및/또는 무선 인터페이스 디바이스(예를 들어, 802.11 카드) 중 하나 이상을 포함할 수 있다. 다른 구현에서, 입/출력 디바이스는 입력 데이터를 수신하고 출력 데이터를 외부 디바이스(660), 예를 들어, 키보드, 프린터 및 디스플레이 디바이스로 보내도록 구성된 드라이버 디바이스를 포함할 수 있다. 그러나, 모바일 컴퓨팅 디바이스, 모바일 통신 디바이스, 셋톱 박스 텔레비전 클라이언트 디바이스 등과 같은 다른 구현도 사용될 수 있다.
예시적인 처리 시스템이 도 6에서 설명되었지만, 본 명세서에서 설명된 주제 및 기능적 동작들의 구현은 다른 유형의 디지털 전자 회로, 또는 본 명세서에 개시된 구조 및 그의 구조적 등가물을 포함하는 컴퓨터 소프트웨어, 펌웨어 또는 하드웨어에서 구현되거나, 또는 이들 중 하나 이상의 조합으로 구현될 수 있다.
본 명세서에 기술된 주제 및 동작들의 실시예는 디지털 전자 회로, 또는 본 명세서에 개시된 구조 및 그의 구조적 등가물을 포함하는 컴퓨터 소프트웨어, 펌웨어 또는 하드웨어에서 또는 이들 중 하나 이상의 조합으로 구현될 수 있다. 본 명세서에 기술된 주제의 실시예는 하나 이상의 컴퓨터 프로그램, 즉 데이터 처리 장치에 의해 실행되거나 데이터 처리 장치의 동작을 제어하기 위해 컴퓨터 저장 미디어(또는 매체) 상에 인코딩된 컴퓨터 프로그램 명령의 하나 이상의 모듈로서 구현될 수 있다. 대안적으로 또는 추가적으로, 프로그램 명령들은 데이터 처리 장치에 의한 실행을 위해 적절한 수신기 장치의 전송을 위해 정보를 인코딩하도록 생성된 인위적으로 생성된 전파 신호, 예를 들어 기계 생성 전기, 광학 또는 전자기 신호에 인코딩될 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독 가능 저장 디바이스, 컴퓨터 판독 가능 저장 기판, 랜덤 또는 직렬 액세스 메모리 어레이 또는 디바이스, 또는 이들 중 하나 이상의 조합일 수 있거나 이에 포함될 수 있다. 더욱이, 컴퓨터 저장 매체는 전파 신호가 아니지만, 컴퓨터 저장 매체는 인위적으로 생성된 전파 신호로 인코딩된 컴퓨터 프로그램 명령의 소스 또는 목적지가 될 수 있다. 컴퓨터 저장 매체는 또한 하나 이상의 개별 물리적 컴포넌트 또는 매체(예를 들어, 다중 CD, 디스크 또는 기타 저장 디바이스)일 수 있거나 이에 포함될 수 있다.
본 명세서에 설명된 동작들은 하나 이상의 컴퓨터 판독 가능 저장 디바이스에 저장되거나 다른 소스로부터 수신된 데이터에 대해 데이터 처리 장치에 의해 수행되는 동작으로 구현될 수 있다.
"데이터 처리 장치"라는 용어는 예를 들어 프로그램 가능 프로세서, 컴퓨터, 칩상의 시스템, 또는 전술한 것들의 다수 또는 조합을 포함하여 데이터 처리를 위한 모든 종류의 장치, 디바이스 및 기계를 포함한다. 장치는 특수 목적의 논리 회로, 예를 들어 FPGA(필드 프로그래밍 가능 게이트 어레이) 또는 ASIC(애플리케이션 특정 집적 회로)를 포함할 수 있다. 장치는 또한 하드웨어 외에도 문제의 컴퓨터 프로그램에 대한 실행 환경을 만드는 코드, 예를 들어, 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 체제, 크로스 플랫폼 런타임 환경, 가상 머신 또는 이들 중 하나 이상의 조합을 구성하는 코드를 포함할 수 있다. 장치 및 실행 환경은 웹 서비스, 분산 컴퓨팅 및 그리드 컴퓨팅 인프라와 같은 다양한 다른 컴퓨팅 모델 인프라를 구현할 수 있다.
컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 애플리케이션, 스크립트 또는 코드라고도 함)은 컴파일 또는 해석 언어, 선언적 또는 절차적 언어를 포함하여 모든 형태의 프로그래밍 언어로 작성될 수 있으며, 독립 실행형 프로그램이나 모듈, 컴포넌트, 서브 루틴, 객체 또는 컴퓨팅 환경에서 사용하기에 적합한 기타 단위를 포함하여 모든 형태로 배포될 수 있다. 컴퓨터 프로그램은 파일 시스템의 파일에 해당할 수 있지만 반드시 그럴 필요는 없다. 프로그램은 다른 프로그램 또는 데이터(예를 들어, 마크 업 언어 문서에 저장된 하나 이상의 스크립트)를 포함하는 파일의 일부, 해당 프로그램 전용 단일 파일 또는 다수의 조정 파일(예를 들어, 하나 이상의 모듈, 서브 프로그램 또는 코드 일부를 저장하는 파일)에 저장될 수 있다. 컴퓨터 프로그램은 하나의 컴퓨터 또는 한 사이트에 위치하거나 다수의 사이트에 분산되고 통신 네트워크로 상호 연결된 다수의 컴퓨터에서 실행되도록 배포될 수 있다.
본 명세서에 설명된 프로세스 및 논리 흐름은 입력 데이터에 대해 동작하여 출력을 생성함으로써 액션들을 수행하기 위해 하나 이상의 컴퓨터 프로그램을 실행하는 하나 이상의 프로그램 가능 프로세서에 의해 수행될 수 있다. 프로세스 및 논리 흐름은 또한 FPGA 또는 ASIC과 특수 목적 로직 회로로 구현될 수 있다.
컴퓨터 프로그램의 실행에 적합한 프로세서는 예로서 범용 및 특수 목적의 마이크로 프로세서 모두를 포함한다. 일반적으로, 프로세서는 판독 전용 메모리 또는 랜덤 액세스 메모리 또는 둘 다로부터 명령과 데이터를 수신한다. 컴퓨터의 필수 엘리먼트는 명령들에 따라 동작을 수행하기 위한 프로세서와 명령 및 데이터를 저장하기 위한 하나 이상의 메모리 디바이스이다. 일반적으로, 컴퓨터는 또한 데이터를 저장하기 위한 하나 이상의 대용량 저장 디바이스, 예를 들어 자기, 광 자기 디스크 또는 광 디스크로부터 데이터를 수신하거나 데이터를 전송하거나 둘 모두를 하도록 작동 가능하게 결합된다. 그러나 컴퓨터에는 이러한 디바이스들이 필요하지 않다. 더욱이, 컴퓨터는 다른 디바이스(예를 들어, 모바일 전화기, PDA, 모바일 오디오 또는 비디오 플레이어, 게임 콘솔, GPS 수신기 또는 휴대용 저장 디바이스(예를 들어, 범용 직렬 버스(USB) 플래시 드라이브)에 내장될 수 있다. 컴퓨터 프로그램 명령 및 데이터 저장에 적합한 디바이스에는 반도체 메모리 디바이스(예를 들어, EPROM, EEPROM 및 플래시 메모리 디바이스); 자기 디스크(예를 들어, 내부 하드 디스크 또는 이동식 디스크); 광 자기 디스크; 및 CD ROM 및 DVD-ROM 디스크를 포함한 모든 형태의 비-휘발성 메모리, 미디어 및 메모리 디바이스가 포함된다. 프로세서와 메모리는 특수 목적 논리 회로에 의해 보완되거나 통합될 수 있다.
사용자와의 상호 작용을 제공하기 위해, 본 명세서에 기술된 주제의 실시예는 사용자에게 정보를 표시하기 위한 디스플레이 디바이스(예를 들어, CRT(음극선 관) 또는 LCD(액정 디스플레이) 모니터) 및 사용자가 컴퓨터에 입력을 제공할 수 있는 키보드 및 포인팅 디바이스(예를 들어, 마우스 또는 트랙볼)를 갖는 컴퓨터 상에 구현될 수 있다. 사용자와의 상호 작용을 제공하기 위해 다른 종류의 디바이스가 사용될 수도 있는데, 예를 들어, 사용자에게 제공되는 피드백은 예를 들어 시각적 피드백, 청각적 피드백 또는 촉각적 피드백과 같은 임의의 형태의 감각 피드백일 수 있으며, 사용자로부터의 입력은 음향, 음성 또는 촉각 입력을 포함하여 임의의 형태로 수신될 수 있다. 또한, 컴퓨터는 사용자가 사용하는 디바이스로 문서를 전송하고 그로부터 문서를 수신함으로써 예를 들어, 웹 브라우저로부터 수신된 요청에 응답하여 사용자의 클라이언트 디바이스상의 웹 브라우저로 웹 페이지를 전송함으로써 사용자와 상호 작용할 수 있다.
본 명세서에 기술된 주제의 실시예는 백엔드 컴포넌트(예를 들어, 데이터 서버)를 포함하거나, 미들웨어 컴포넌트(예를 들어, 애플리케이션 서버)를 포함하거나 프런트 엔드 컴포넌트(예를 들어, 사용자가 본 명세서에 설명된 주제의 구현과 상호 작용할 수 있는 그래픽 사용자 인터페이스 또는 웹 브라우저를 갖는 클라이언트 컴퓨터)를 포함하거나 이러한 백엔드, 미들웨어 또는 프런트 엔드 컴포넌트 중 하나 이상의 조합을 포함하는 컴퓨팅 시스템에서 구현될 수 있다. 시스템의 컴포넌트는 디지털 데이터 통신의 임의의 형태 또는 매체, 예를 들어 통신 네트워크에 의해 상호 연결될 수 있다. 통신 네트워크의 예에는 근거리 통신망("LAN") 및 광역 네트워크("WAN"), 인터-네트워크(예를 들어, 인터넷) 및 피어-투-피어 네트워크(예를 들어, 애드혹 피어-투-피어 네트워크)가 포함될 수 있다.
컴퓨팅 시스템은 클라이언트 및 서버를 포함할 수 있다. 클라이언트와 서버는 일반적으로 서로 떨어져 있으며 일반적으로 통신 네트워크를 통해 상호 작용한다. 클라이언트와 서버의 관계는 개별 컴퓨터에서 실행되고 서로 클라이언트-서버 관계를 갖는 컴퓨터 프로그램으로 인해 발생한다. 일부 실시예에서, 서버는 (클라이언트 디바이스와 상호 작용하는 사용자에게 데이터를 표시하고 사용로부터 사용자 입력을 수신하기 위해) 데이터(예를 들어, HTML 페이지)를 클라이언트 디바이스로 전송한다. 클라이언트 디바이스에서 생성된 데이터(예를 들어, 사용자 상호 작용 결과)는 서버에서 클라이언트 디바이스로부터 수신될 수 있다.
본 명세서에는 많은 특정 구현 세부 사항이 포함되어 있지만, 이들은 임의의 발명의 범위 또는 청구될 수 있는 것에 대한 제한으로 해석되어서는 안되며, 오히려 특정 발명의 특정 실시예에 특정된 특징들의 설명으로 해석되어야 한다. 별도의 실시예의 맥락에서 본 명세서에 설명된 특정 특징들은 또한 단일 실시예에서 조합하여 구현될 수 있다. 반대로, 단일 실시예의 맥락에서 설명된 다양한 특징은 또한 다중 실시예에서 개별적으로 또는 임의의 적절한 서브 조합으로 구현될 수 있다. 더욱이, 특징들이 특정 조합으로 작용하는 것으로 위에서 설명될 수 있고 심지어 처음에 그렇게 주장될 수도 있지만, 청구된 조합으로부터의 하나 이상의 특징은 일부 경우 조합으로부터 제외될 수 있고, 청구된 조합은 하위 조합 또는 하위 조합의 변형에 대한 것일 수 있다.
유사하게, 동작들은 특정 순서로 도면에 도사되지만, 이는 바람직한 결과를 달성하기 위해 그러한 동작들이 특정 순서 또는 순차적 순서로 수행되거나 모든 예시된 동작들이 수행될 것을 요구하는 것으로 이해되어서는 안된다. 특정 상황에서, 멀티 태스킹 및 병렬 처리가 유리할 수 있다. 더욱이, 위에서 설명된 실시예에서 다양한 시스템 컴포넌트의 분리는 모든 실시예에서 그러한 분리를 요구하는 것으로 이해되어서는 안되며, 설명된 프로그램 컴포넌트 및 시스템은 일반적으로 단일 소프트웨어 제품으로 함께 통합되거나 다수의 소프트웨어 제품으로 패키징될 수 있음을 이해해야 한다.
따라서, 주제의 특정 실시예들이 설명되었다. 다른 실시예는 다음 청구항의 범위 내에 있다. 일부 경우에, 청구 범위에 언급된 동작들은 다른 순서로 수행될 수 있으며 여전히 바람직한 결과를 얻을 수 있다. 또한, 첨부된 도면에 도시된 프로세스들은 바람직한 결과를 얻기 위해 도시된 특정 순서 또는 순차적인 순서를 반드시 필요로 하지 않는다. 특정 구현에서는 멀티 태스킹 및 병렬 처리가 유리할 수 있다.
Claims (42)
- 방법으로서,
클라이언트 디바이스에 의해, 상호 작용할 때 디지털 컴포넌트에 의해 지정된 전화번호로 클라이언트 디바이스에 의한 호출을 개시하는 디지털 컴포넌트를 제시하는 단계;
디지털 컴포넌트를 제시하는 것에 응답하여, 클라이언트 디바이스의 신뢰 (trusted) 프로그램에 의해 프리젠테이션 이벤트 데이터 구조에, 디지털 컴포넌트에 대한 보고가 전송되는 보고 시스템에 대한 전화번호 및 리소스 로케이터를 지정하는 프리젠테이션 이벤트 데이터 엘리먼트를 저장하는 단계;
신뢰 프로그램에 의해, 주어진 전화 번호에 대한 클라이언트 디바이스에 의한 전화 호출을 검출하는 단계;
전화 호출을 검출하는 것에 응답하여, 주어진 전화 번호를 프리젠테이션 이벤트 데이터 구조에 저장된 하나 이상의 프리젠테이션 이벤트 데이터 엘리먼트와 비교하는 단계;
비교에 기초하여, 주어진 전화번호가 디지털 컴포넌트에 의해 지정된 전화번호와 매칭함을 결정하는 단계; 및
주어진 전화 번호가 디지털 컴포넌트에 의해 지정된 전화 번호와 매칭한다는 결정에 응답하여, 디지털 컴포넌트의 보고 시스템으로, 디지털 컴포넌트가 클라이언트 디바이스에 의해 제시된 후 디지털 컴포넌트에 의해 지정된 전화번호가 클라이언트 디바이스에 의해 호출되었음을 나타내고 그리고 지정된 전화번호를 포함하는 이벤트 데이터를 지정하는 비밀 조각(share)을 포함하는 이벤트 보고를 전송하는 단계를 포함하는 것을 특징으로 하는 방법. - 제1항에 있어서,
상기 이벤트 보고는 데이터 세트를 포함하는 증명 토큰을 포함하고,
상기 데이터 세트는,
클라이언트 디바이스의 디바이스 공개키;
증명 토큰이 생성된 시간을 나타내는 증명 토큰 생성 시간;
클라이언트 디바이스의 신뢰성 레벨을 나타내는 디바이스 무결성 토큰;
디지털 컴포넌트에 의해 지정된 전화번호를 포함하는 페이로드 데이터; 및
디바이스 공개키에 대응하는 디바이스 개인키를 사용하여 생성된 데이터 세트의 디지털 서명을 포함하는 것을 특징으로 하는 방법. - 제2항에 있어서,
상기 증명 토큰의 페이로드 데이터는,
(i) 전화 호출의 호출 지속시간, (ii) 전화 호출의 시작 시간, 또는(iii) 전화 호출의 종료 시간 중 적어도 하나를 더 포함하는 것을 특징으로 하는 방법. - 제2항에 있어서,
복수의 호출 지속시간 분위수(quantiles) 중 주어진 호출 지속시간 분위수에 전화 호출의 호출 지속시간을 할당하고 페이로드 데이터에 호출 지속시간 통화 분위수를 포함시키는 단계;
복수의 시작 시간 분위수 중 주어진 시작 시간 분위수에 전화 호출의 시작 시간을 할당하고 페이로드 데이터에 주어진 시작 시간 분위수를 포함시키는 단계; 또는
복수의 종료 시간 분위수 중 주어진 종료 시간 분위수에 전화 호출의 종료 시간을 할당하고 페이로드 데이터에 주어진 종료 시간 분위수를 포함시키는 단계 중 적어도 하나를 더 포함하는 것을 특징으로 하는 방법. - 제2항에 있어서,
보고 시스템으로, 디지털 컴포넌트를 프리젠테이션하는 것에 응답하여 프리젠테이션 증명 토큰을 포함하는 프리젠테이션 보고를 전송하는 단계를 더 포함하고, 상기 프리젠테이션 증명 토큰은 데이터 세트 및 데이터 세트의 디지털 서명을 포함하는 것을 특징으로 하는 방법. - 제1항에 있어서,
상기 보고 시스템으로 이벤트 보고를 제공하는 단계는,
임계값 암호화 기술을 사용하여, 적어도 디지털 컴포넌트에 의해 지정된 전화번호를 포함하는 이벤트 데이터를 지정하는 비밀의 조각(share)을 생성하는 단계; 및
비밀의 조각을 이벤트 보고에 포함시키는 단계를 포함하고,
보고 시스템은 비밀의 개별 조각을 포함하는 적어도 임계수의 이벤트 보고가 디지털 컴포넌트를 제시하는 클라이언트 디바이스로부터 수신될 때 비밀을 복호화하는 것을 특징으로 하는 방법. - 제1항에 있어서,
디지털 컴포넌트의 프리젠테이션에 응답하여 제1 집계 서버로, 디지털 컴포넌트의 프리젠테이션을 위한 암호화된 프리젠테이션 데이터 및 (i) 적어도 보고 시스템의 리소스 로케이터, 클라이언트 디바이스 또는 클라이언트 디바이스 사용자의 식별자, 및 디지털 컴포넌트에 의해 지정된 전화번호의 암호화된 조합을 포함하는 제1 암호화된 데이터와 그리고 (ii) 암호화된 제1 데이터 엘리먼트에 기초하여 생성된 제1 블라인드 서명을 포함하는 제1 블라인드 서명된 키를 포함하는 프리젠테이션 보고를 전송하는 단계를 더 포함하고,
상기 이벤트 보고를 전송하는 단계는 제2 집계 서버로 이벤트 보고를 전송하는 단계를 포함하고, 상기 이벤트 보고는 디지털 컴포넌트에 대한 암호화된 이벤트 데이터 및 (i) 적어도 보고 시스템의 리소스 로케이터, 클라이언트 디바이스 또는 클라이언트 디바이스 사용자의 식별자, 및 검출된 전화 호출의 주어진 전화 번호와 그리고 (ii) 암호화된 제2 데이터 엘리먼트에 기초하여 생성된 제2 블라인드 서명을 포함하는 제2 블라인드 서명된 키를 포함하고, 그리고
상기 제1 집계 서버와 제2 집계 서버는 암호화된 프리젠테이션 데이터 및 암호화된 이벤트 데이터를 복호화하기 위해 제1 및 제2 블라인드 서명된 키를 사용하여 다자간 계산을 수행하는 것을 특징으로 하는 방법. - 제7항에 있어서,
상기 제1 집계 서버와 제2 집계 서버는,
블라인드 서명된 키가 적어도 임계수의 상이한 클라이언트 디바이스들로부터 수신된 각각의 블라인드 서명된 키에 대해 암호화된 프리젠테이션 데이터 및 암호화된 이벤트 데이터만 복호화하기 위해 다자간 계산 프로세스에 임계값 기술을 적용하는 것을 특징으로 하는 방법. - 제1항에 있어서,
이벤트 보고를 보고 시스템으로 전송하기 전에 클라이언트 디바이스의 사용자에게 이벤트 보고를 전송하기 위한 허가를 프롬프트하는 단계를 더 포함하고, 상기 이벤트 보고는 사용자가 이벤트 보고를 전송하기 위한 허가를 제공하는 것에 응답하여 보고 시스템으로 전송되는 것을 특징으로 하는 방법. - 제1항에 있어서,
상기 신뢰 프로그램은 클라이언트 디바이스의 운영 체제를 포함하는 것을 특징으로 하는 방법. - 시스템으로서,
하나 이상의 프로세서; 및
하나 이상의 프로세서에 의해 실행될 때, 하나 이상의 프로세서로 하여금 제1항 내지 제10항 중 어느 한 항의 방법을 수행하게 하는 명령들을 저장하는 하나 이상의 저장 디바이스를 포함하는 것을 특징으로 하는 시스템. - 하나 이상의 프로세서에 의해 실행될 때, 하나 이상의 프로세서로 하여금 제1항 내지 제10항 중 어느 한 항의 방법을 수행하게 하는 명령들을 포함하는 비-일시적 컴퓨터 판독가능 저장 매체.
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2020/033739 WO2021236074A1 (en) | 2020-05-20 | 2020-05-20 | Preventing data manipulation and protecting user privacy in telecommunication network measurements |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20210144664A KR20210144664A (ko) | 2021-11-30 |
KR102562178B1 true KR102562178B1 (ko) | 2023-08-01 |
Family
ID=71016694
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020217023852A KR102562178B1 (ko) | 2020-05-20 | 2020-05-20 | 통신 네트워크 측정치의 데이터 조작 방지 및 사용자 프라이버시 보호 |
Country Status (6)
Country | Link |
---|---|
US (2) | US11863690B2 (ko) |
EP (2) | EP4340299A3 (ko) |
JP (1) | JP7098065B1 (ko) |
KR (1) | KR102562178B1 (ko) |
CN (2) | CN113973508B (ko) |
WO (1) | WO2021236074A1 (ko) |
Family Cites Families (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001024774A (ja) | 1999-07-09 | 2001-01-26 | Matsushita Electric Ind Co Ltd | 誤発呼防止機能付き電話機 |
JP2002044229A (ja) | 2000-07-27 | 2002-02-08 | Nec Corp | 無線通信システムおよび無線通信端末装置 |
KR100721848B1 (ko) | 2005-06-20 | 2007-05-28 | (주)소프트가족 | 발신번호 표시 서비스를 이용한 사용자 인증 방법 |
US20070038516A1 (en) * | 2005-08-13 | 2007-02-15 | Jeff Apple | Systems, methods, and computer program products for enabling an advertiser to measure user viewing of and response to an advertisement |
US8081744B2 (en) * | 2006-12-22 | 2011-12-20 | Rockstar Bidco, LP | Interactive content for click-to-call calls |
US9106704B2 (en) * | 2007-01-18 | 2015-08-11 | Yellowpages.Com Llc | Systems and methods to provide connections via callback acceptance |
US10089658B2 (en) * | 2007-04-09 | 2018-10-02 | Yellowpages.Com Llc | Systems and methods to provide connections via callback acceptance cross-reference to related applications |
US9767510B2 (en) * | 2007-07-06 | 2017-09-19 | Yellowpages.Com Llc | Systems and methods to generate leads to connect people for real time communications |
EP2362337B1 (en) * | 2010-02-26 | 2018-10-10 | BlackBerry Limited | System and method to measure the effectiveness of click to call advertisement |
US8259915B2 (en) * | 2010-07-01 | 2012-09-04 | Marchex, Inc. | System and method to analyze calls to advertised telephone numbers |
US20120036006A1 (en) * | 2010-07-22 | 2012-02-09 | Adtrak360 | Advertising media tracking |
US8838784B1 (en) * | 2010-08-04 | 2014-09-16 | Zettics, Inc. | Method and apparatus for privacy-safe actionable analytics on mobile data usage |
US8732010B1 (en) * | 2011-08-24 | 2014-05-20 | Google Inc. | Annotated advertisements and advertisement microsites |
KR20140075562A (ko) | 2012-12-11 | 2014-06-19 | 에릭슨엘지엔터프라이즈 주식회사 | 전화 시스템의 부가서비스 제공 장치 및 방법 |
US9424424B2 (en) | 2013-04-08 | 2016-08-23 | Trusteer, Ltd. | Client based local malware detection method |
US9319419B2 (en) * | 2013-09-26 | 2016-04-19 | Wave Systems Corp. | Device identification scoring |
US9317873B2 (en) * | 2014-03-28 | 2016-04-19 | Google Inc. | Automatic verification of advertiser identifier in advertisements |
WO2015196469A1 (en) * | 2014-06-27 | 2015-12-30 | Google Inc. | Automated creative extension selection for content performance optimization |
US20160021255A1 (en) * | 2014-07-17 | 2016-01-21 | Vonage Network Llc | System and method for accessing telephony services via an application plug-in |
JP6258189B2 (ja) | 2014-12-24 | 2018-01-10 | 日本電信電話株式会社 | 特定装置、特定方法および特定プログラム |
US9781265B2 (en) * | 2015-10-07 | 2017-10-03 | Google Inc. | Systems and methods for syncing data related to voice calls via a dynamically assigned virtual phone number |
US10447481B2 (en) * | 2016-03-14 | 2019-10-15 | Arizona Board Of Regents On Behalf Of Arizona State University | Systems and methods for authenticating caller identity and call request header information for outbound telephony communications |
JP2017208662A (ja) | 2016-05-17 | 2017-11-24 | 富士通株式会社 | 制御装置、端末装置、及び発信者番号認証方法 |
US9781149B1 (en) * | 2016-08-17 | 2017-10-03 | Wombat Security Technologies, Inc. | Method and system for reducing reporting of non-malicious electronic messages in a cybersecurity system |
US10805314B2 (en) * | 2017-05-19 | 2020-10-13 | Agari Data, Inc. | Using message context to evaluate security of requested data |
US10574829B2 (en) * | 2016-12-28 | 2020-02-25 | Google Llc | Integrating additional information into a telecommunications call |
WO2018218046A1 (en) * | 2017-05-24 | 2018-11-29 | Esipco, Llc | System for sending verifiable e-mail and/or files securely |
JP6669364B2 (ja) | 2017-06-20 | 2020-03-18 | Necプラットフォームズ株式会社 | ホームゲートウェイ装置、VoIP発信方法およびVoIP発信制御プログラム |
WO2018236934A2 (en) * | 2017-06-20 | 2018-12-27 | Jonathan Bannon Maher | MONETISATION AND CONTENT DEVELOPMENT |
US11005839B1 (en) * | 2018-03-11 | 2021-05-11 | Acceptto Corporation | System and method to identify abnormalities to continuously measure transaction risk |
US11012557B2 (en) * | 2018-04-13 | 2021-05-18 | Lucency Technologies, Inc. | Systems and methods for client relation management |
US11018872B2 (en) * | 2018-07-17 | 2021-05-25 | Verizon Patent And Licensing Inc. | Validating and securing caller identification to prevent identity spoofing |
-
2020
- 2020-05-20 JP JP2021544220A patent/JP7098065B1/ja active Active
- 2020-05-20 WO PCT/US2020/033739 patent/WO2021236074A1/en unknown
- 2020-05-20 KR KR1020217023852A patent/KR102562178B1/ko active IP Right Grant
- 2020-05-20 EP EP24156108.3A patent/EP4340299A3/en active Pending
- 2020-05-20 EP EP20731338.8A patent/EP4042665B1/en active Active
- 2020-05-20 CN CN202080011446.8A patent/CN113973508B/zh active Active
- 2020-05-20 US US17/423,579 patent/US11863690B2/en active Active
- 2020-05-20 CN CN202311667539.8A patent/CN117857047A/zh active Pending
-
2023
- 2023-11-16 US US18/511,465 patent/US20240089119A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
EP4340299A2 (en) | 2024-03-20 |
CN117857047A (zh) | 2024-04-09 |
US20240089119A1 (en) | 2024-03-14 |
WO2021236074A1 (en) | 2021-11-25 |
CN113973508A (zh) | 2022-01-25 |
EP4042665B1 (en) | 2024-02-07 |
KR20210144664A (ko) | 2021-11-30 |
CN113973508B (zh) | 2023-12-22 |
US11863690B2 (en) | 2024-01-02 |
US20230068395A1 (en) | 2023-03-02 |
EP4042665A1 (en) | 2022-08-17 |
EP4340299A3 (en) | 2024-03-27 |
JP7098065B1 (ja) | 2022-07-08 |
JP2022533874A (ja) | 2022-07-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP4432144A2 (en) | Anonymous event attestation with group signatures | |
US11949688B2 (en) | Securing browser cookies | |
KR20220123695A (ko) | 암호화 방식으로 보안 요청 검증 | |
US20240146739A1 (en) | Preventing data manipulation and protecting user privacy in determining accurate location event measurements | |
EP4022845A1 (en) | Cryptographically secure data protection | |
KR102608325B1 (ko) | 클라이언트 장치에서 통신의 무결성 보호 | |
US20240095364A1 (en) | Privacy-preserving and secure application install attribution | |
KR102661484B1 (ko) | 집계된 네트워크 측정에서의 부정 방지 | |
KR102562178B1 (ko) | 통신 네트워크 측정치의 데이터 조작 방지 및 사용자 프라이버시 보호 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |