Session Fixation Prevention via Segmented Cookie Architecture

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Session fixation attacks occur when an attacker and a user share the same session key, allowing the attacker to access and manipulate cookies associated with third-party websites, compromising online security, especially in scenarios where third-party websites are hosted as subdomains and cookies are vulnerable to client-side scripting attacks.

Innovation Solution

Implementing a verification token stored as a cookie on a secure origin, separate from the third-party origin, and using an encrypted session key with a nonce to prevent unauthorized decryption, ensuring only the user or attacker can obtain the decrypted session key, thus preventing session fixation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If third-party websites are hosted as subdomains to provide free access, then accessibility and service provision are improved, but cookie security and session integrity are compromised due to vulnerability to client-side scripting attacks

Engineering Contradiction:
Improveaccessibility to third-party websitesVSAvoidsession security
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The system segments the session management into two distinct parts: the session key is stored in a cookie accessible to third-party subdomains for functionality, while a separate verification token is stored in a secure cookie inaccessible to third-party scripts. This segmentation allows the system to maintain both accessibility and security by giving different parts of the session data different access permissions.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The verification token acts as an intermediary mechanism that mediates between the session key and the security requirements. Instead of directly protecting the session key from all access, the system introduces a verification token that serves as a security gatekeeper, allowing legitimate session operations while blocking malicious script-based attacks.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If session keys are made accessible to third-party websites for functionality, then service operation is improved, but session fixation attacks become possible allowing attackers to manipulate cookies

Engineering Contradiction:
Improvethird-party website functionalityVSAvoidsession fixation vulnerability
Core Design Contradiction:
Ease of operationVSObject-affected harmful factors

Solution Approach 1:

The system applies local quality by giving different security characteristics to different parts of the session data. The session key cookie is made accessible to third-party websites for operational functionality, while the verification token cookie is given restrictive security properties (secure origin, httpOnly flag) that prevent access by third-party scripts. This localized security approach allows functionality where needed while maintaining protection where critical.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS10454672B2Systems and methods for preventing session fixation over a domain portal
Publication Date: 2019.10.22 META PLATFORMS INC
  • US10454672B2 patent drawing
  • US10454672B2 patent drawing
  • US10454672B2 patent drawing

AI summary

In one embodiment, a method includes a system receiving a request from a user's device, the request being directed to a first host. The system may generate a key, a verification token, and an encrypted key. The system may transmit the verification token and the encrypted key to the device from the first host, and transmit instructions configured to cause (1) the verification token to be stored as a cookie associated with the first host, and (2) the device to transmit the encrypted key to a second host. The system may receive a second request comprising the encrypted key from the device, and decrypt it to obtain the key upon determining that the encrypted key was not previously decrypted. The system may transmit the key to the device from the second host, and instruct the device to store the key as a cookie associated with the second host.