Context-Specific Key Binding for Script Injection Defense
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for client authentication using the Generic Bootstrapping Architecture (GBA) are vulnerable to script injection attacks, allowing attackers to steal and reuse shared secret keys across different domains and HTTP sessions, leading to unauthorized access.
Innovation Solution
Implementing a context-specific key creation mechanism in both client terminals and web servers using a Key Derivation Function (KDF) that binds the key to session and page-specific parameters, ensuring the key is valid only within the current context and invalid elsewhere.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a shared secret key Ks_NAF is returned by the JavaScript API at the client for authentication, then client authentication with web servers is enabled, but the key can be stolen through script injection attacks and reused across different domains and HTTP sessions
Solution Approach 1:
The patent segments the authentication key into multiple components: a base key Ks_NAF and context-specific parameters (URL, session ID, timestamp). The final authentication credential is formed by combining these segments, ensuring that compromise of one segment does not invalidate the entire authentication mechanism. This resolves the contradiction by maintaining authentication reliability while limiting the scope of key reuse attacks.
Solution Approach 2:
The patent applies local quality by making the authentication key context-specific to particular URLs, sessions, and time windows. Each authentication credential is tailored to a specific local context (specific web page, specific session), preventing generic key theft from being reused elsewhere. This maintains authentication reliability while preventing widespread key misuse through script injection.
2Adaptability or versatility
If the shared secret key has wide scope of usage across DNS domain and HTTP sessions, then authentication flexibility is improved, but damage from key theft is amplified
Solution Approach 1:
The patent introduces dynamics by making the authentication key time-dependent and session-dependent. The key includes temporal validity windows and session identifiers that change dynamically. This allows the system to maintain adaptability for legitimate users across sessions while dynamically limiting the damage scope for stolen keys, as stolen keys become invalid after their temporal window or session expires.
Solution Approach 2:
The patent implements beforehand cushioning by pre-limiting the scope and duration of key validity through context parameters. Before key theft can cause extensive damage, the key is already constrained to specific URLs, sessions, and time periods. This cushioning effect ensures that even if a key is stolen, the potential damage is bounded from the outset, resolving the contradiction between versatility and damage control.
3Reliability
If context-specific parameters are added to bind the key to session and page, then security against key theft is improved, but key creation and verification complexity increases
Solution Approach 1:
The patent applies universality by using a single context-specific key mechanism that simultaneously provides multiple security functions: binding to specific URLs, binding to specific sessions, and providing temporal validation. This multi-functional approach improves security against key theft while avoiding the need for separate complex mechanisms for each security requirement, thus managing complexity efficiently.
Solution Approach 2:
The patent uses copying by having both the client and server independently derive the same context-specific key from shared secret material and identical context parameters. This copying mechanism ensures security without requiring complex key distribution protocols, as both parties generate equivalent keys through the same derivation process, simplifying the overall system while maintaining high security.
Data Source
Figure 1~2
Figure 3
Figure 4
AI summary
Methods and apparatuses in a client terminal (400) and a web server (402) for enabling safe communication between said terminal and server. When the terminal obtains a web page from the server in a session, the terminal creates a context specific key, Ks_NAF', based on one or more context parameters, P1,...Pn, pertaining to said session and/or web page. The terminal then indicates the context specific key in a login request to the server, and the server determines a context specific key, Ks_NAF', in the same manner to verify the client if the context specific key determined in the web server matches the context specific key received from the client terminal. The context specific key is thus bound to and valid for the present context or session only and cannot be used in other contexts or sessions.