Android Application Authentication via Kernel Mediator

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for authenticating Android applications are costly and insecure, particularly due to the need for managing private keys and the intervention of Certificate Authorities, which complicates the authentication process between applications.

Innovation Solution

A method and apparatus that utilize an authentication server to authenticate applications by requesting and verifying authentication information signed with the server's private key, comparing HMAC values, and ensuring the integrity of execution files, thereby reducing costs and enhancing security without direct management of private keys.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If certificate authentication through CA is used, then authentication security is improved, but costs increase due to CA intervention

Engineering Contradiction:
Improveauthentication securityVSAvoidauthentication cost
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent extracts the authentication verification function from the CA system and implements it within the Android operating system itself. The kernel generates and manages authentication keys and certificates natively, eliminating the need for external CA intervention while maintaining security standards. This reduces authentication costs by removing the CA fee structure.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The Android kernel acts as an intermediary between applications, providing a centralized authentication service. Instead of applications directly managing their own keys or relying on external CAs, the kernel mediates the authentication process by verifying certificates and managing key pairs, thereby reducing costs while maintaining security.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If public key exchange method is used, then authentication capability is improved, but key management complexity increases

Engineering Contradiction:
Improveauthentication capabilityVSAvoidkey management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system implements self-service authentication where the Android kernel automatically generates key pairs and manages certificate storage. Applications don't need to manually manage their own private keys; instead, the kernel handles key generation, storage, and verification automatically. This reduces key management complexity while maintaining public key authentication capabilities.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The Android kernel provides a universal authentication service that handles public key exchange and certificate verification for all applications. Instead of each application implementing its own key management logic, the kernel provides a multi-functional authentication framework that serves all applications, thereby reducing overall system complexity.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Adaptability or versatility

If applications manage their own private keys, then authentication independence is improved, but security maintenance becomes difficult

Engineering Contradiction:
Improveauthentication independenceVSAvoidsecurity maintenance
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The Android kernel serves as an intermediary that manages private keys on behalf of applications. While applications maintain authentication independence through their own certificate identities, the kernel securely manages the underlying private keys, preventing direct exposure and improving security maintenance. This mediator approach allows applications to be independent in identity while relying on the kernel for secure key management.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent extracts the sensitive private key management function from applications and places it in the kernel. Applications no longer directly handle private keys; instead, they interact with the kernel's authentication interface. This extraction improves security maintenance by isolating key management to a protected environment while preserving application authentication independence.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS9563764B2Method and apparatus for performing authentication between applications
Publication Date: 2017.02.07 SAMSUNG ELECTRONICS CO LTD
  • US9563764B2 patent drawing
  • US9563764B2 patent drawing
  • US9563764B2 patent drawing

AI summary

A method performed by a first application in a client apparatus to authenticate a second application in the client apparatus is provided. The method includes, when the first application receives an execution request from the second application, requesting authentication information of the second application from an authentication server, obtaining the authentication information of the second application from the authentication server, and authenticating the second application using the authentication information, wherein the authentication information of the second application is signed with a private key of the authentication server.