Third Party Certificate Management for Mobile Apps

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Mobile apps face security vulnerabilities due to the lack of control over third-party certificate updates, leading to potential man-in-the-middle attacks when communicating with third-party hosts, as most software development kits (SDKs) lack the capability to perform certificate pinning operations.

Innovation Solution

Implementing a validating engine that aggregates and pins third-party certificates, ensuring only authenticated certificates are loaded and run on the mobile device, thereby shifting the certificate pinning responsibility from individual SDKs to a centralized validating engine.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If mobile apps use third-party SDKs for data collection, then functionality and data collection capability are improved, but security vulnerabilities increase because most SDKs cannot perform certificate pinning operations

Engineering Contradiction:
ImprovefunctionalityVSAvoidsecurity
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent introduces a certificate pinning management component as an intermediary between the mobile app and third-party SDKs. This component aggregates certificates from multiple SDKs and performs centralized certificate pinning operations, enabling security validation even when individual SDKs lack this capability. The intermediary manages the certificate lifecycle and provides pinning functionality to SDKs that cannot perform it themselves.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If third-party hosts update their digital certificates independently, then certificate lifecycle management is maintained by hosts, but security control is lost by mobile app providers

Engineering Contradiction:
Improvecertificate managementVSAvoidsecurity control
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The patent implements preliminary action by having the mobile app provider proactively aggregate certificates from third-party hosts and SDKs before communication occurs. The system pre-configures certificate pinning rules and maintains an updated certificate store, enabling the app to verify third-party certificates before establishing connections. This preliminary certificate management approach allows providers to maintain security control despite independent host certificate updates.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If mobile apps dynamically update third-party certificates, then communication flexibility is improved, but vulnerability to man-in-the-middle attacks increases

Engineering Contradiction:
Improvecommunication flexibilityVSAvoidattack vulnerability
Core Design Contradiction:
Adaptability or versatilityVSObject-affected harmful factors

Solution Approach 1:

The patent implements feedback mechanisms where the certificate pinning management component continuously monitors and validates third-party certificates against the aggregated certificate store. When certificates are updated, the system verifies them through validation operations before allowing their use. This feedback loop ensures that dynamic certificate updates maintain security by confirming authenticity before enabling communication with updated certificates.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11917082B2Third party certificate management for native and third party mobile apps
Publication Date: 2024.02.27 CAPITAL ONE SERVICES LLC
  • US11917082B2 patent drawing
  • US11917082B2 patent drawing
  • US11917082B2 patent drawing

AI summary

Systems and methods are disclosed herein for real-time digital authentication. According to some embodiments, a certification authentication method includes receiving a list of third party root certificates from a remote server, the list of third party root certificates including at least one association between a program configured to run on the computing apparatus and a public key for authenticating communication between the program and an associated server of the program. The method may also include authenticating the list of third party root certificates. The method may also include initiating a communication between the computing apparatus and the associated server and authenticating the communication with the associated server using the public key. Furthermore, the method may also include loading the program onto the one or more memories during a bootstrapping process in response to determining that the communication with the associated server is authentic.