Manual Public Key Verification for Secure Messaging Compatibility

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing messaging systems face challenges in verifying the authenticity of public keys distributed by registration services, which can be exploited by unauthorized actors, and legacy devices may not support key transparency features, hindering secure communication.

Innovation Solution

Implementing manual verification techniques through an authentication protocol over a communication channel, such as a voice or video call, to confirm public keys directly between devices, and allowing users to opt-in or opt-out of key transparency features based on device compatibility.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If key transparency features are enabled to verify public keys, then security and authenticity of messaging is improved, but compatibility with legacy devices is worsened

Engineering Contradiction:
ImprovesecurityVSAvoidcompatibility
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The system dynamically adjusts its verification mode based on device capabilities. Modern devices can use automated key transparency server verification when available, while legacy devices fall back to manual verification methods. This dynamic adaptation allows the system to maintain security for capable devices while ensuring compatibility with older devices that lack key transparency support.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The key transparency server acts as an intermediary between devices to automatically verify public keys. For devices that support key transparency, the server mediates the verification process automatically. For legacy devices without this capability, the system provides alternative manual verification methods, effectively using different intermediaries or verification approaches based on device capabilities.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If automated key transparency verification is used, then verification efficiency is improved, but device complexity is worsened

Engineering Contradiction:
Improveverification efficiencyVSAvoiddevice complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The key transparency server provides self-service automated verification for devices that support it, eliminating the need for manual user intervention in the verification process. Users simply need to initiate a message, and the system automatically handles key verification through the transparency server, significantly improving verification efficiency while keeping the user interface simple.

Inventive Principle:
Principle #25Self-service

3Reliability

If manual verification is performed to ensure key authenticity, then security against unauthorized keys is improved, but user operation complexity is worsened

Engineering Contradiction:
Improvekey authenticityVSAvoiduser operation complexity
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The system dynamically selects the verification method based on device capabilities and user preferences. When key transparency is available, automated verification handles authenticity checks without user intervention. When manual verification is needed, the system provides guided workflows that simplify the process for users, adapting the complexity to match the situation rather than forcing a single approach on all users.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS12574241B2Techniques for manual verification
Publication Date: 2026.03.10 APPLE INC
  • US12574241B2 patent drawing
  • US12574241B2 patent drawing
  • US12574241B2 patent drawing

AI summary

A device may include accessing first public key associated with a first user identifier for the first electronic device and a second public key associated with a second user identifier for a second electronic device. The device can generate a first random number and a first commitment using a hash function and the first random number; transmit a first message to the second electronic device via a channel between the first and second electronic devices. The device can receive a message from the second electronic device via the channel including include a second random number generated by the second electronic device. The device can extract a code via the hash function using the first public key, the second public key, the first random number, and the second random number. The device can present the code on a user interface for verification. The user interface can receive confirmation of the verification.