Keyed Hash Contact Table for Privacy Protection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing messaging platforms face challenges in securely disassociating user identities from message content, with existing anonymization methods being vulnerable to data breaches and computationally expensive to implement, especially when dealing with large contact tables.

Innovation Solution

A keyed hash contact table system is implemented, where a contact table stores hashed identifications computed from contact information and keys, with only partial key portions stored locally and remotely, making it impractical to link message content to specific users without computational expense.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional anonymization methods are used to disassociate user identities from message content, then user privacy is protected, but the system becomes vulnerable to data breaches and computationally expensive to implement

Engineering Contradiction:
Improveprivacy protectionVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system segments the identification process by separating the hashing operation (performed on user devices) from the key storage (distributed across multiple secure locations). This segmentation allows privacy protection without requiring a complex centralized anonymization system, as each user device independently generates its own hashed identification without needing to trust a central authority.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The hashed identification acts as an intermediary between user identity and message content. Instead of directly linking messages to user identities or using complex anonymization tables, the system introduces hashed identifications as a one-way intermediary that preserves privacy while enabling basic functionality like message retrieval and deletion.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If complete key storage is implemented for hashing, then hashed identification can be generated, but the computational burden increases significantly

Engineering Contradiction:
Improvehash generation capabilityVSAvoidcomputational energy
Core Design Contradiction:
Ease of operationVSUse of energy by moving object

Solution Approach 1:

The system applies partial action by storing only the necessary portion of hashing information locally on user devices (the identifier) while keeping the secret key distributed and secure. This allows hash generation to proceed with minimal local computational resources, while the full key remains secure in distributed storage, avoiding the need for complete key storage and excessive computation.

Inventive Principle:
Principle #16Partial or excessive action

3Ease of repair

If user data deletion is implemented using traditional methods, then user data can be removed, but the computational burden of scanning and deleting data increases with large contact tables

Engineering Contradiction:
Improvedata deletion capabilityVSAvoiddeletion processing time
Core Design Contradiction:
Ease of repairVSLoss of time

Solution Approach 1:

The system extracts the hashed identification from the user's identifier and uses it as a standalone key for message retrieval and deletion. When deletion is needed, the system only needs to re-hash the user's identifier (a quick operation) and use that hashed value to efficiently locate and delete associated messages, without needing to scan through entire contact tables or perform complex deletion operations.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS10581808B2Keyed hash contact table
Publication Date: 2020.03.03 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10581808B2 patent drawing
  • US10581808B2 patent drawing
  • US10581808B2 patent drawing

AI summary

In an example, a method includes receiving a data package, the data package including a contact identification and a message payload; in response to determining that a key for the contact identification does not exist in a contact table: generating a key for the contact identification; and updating the contact table with the generated key to indicate an association between the key and the contact identification; calculating a hashed identification based on the generated key and contact identification; and associating the message payload with the hashed identification in a message table.