TCP Timestamp Session Association via Clock Skew
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current browsers lack unique identifiers for session association, leading to difficulties in tracking user activity across different applications and websites, which can result in inaccurate traffic metrics and potential exposure of personally identifiable information.
Innovation Solution
Implementing TCP timestamp-based session association by retrieving data packets, determining skew between device clocks, calculating uptime, and matching it with previous sessions to update a list of associated sessions, allowing for accurate tracking and privacy protection.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If browsers and applications do not contain unique identifiers, then user privacy is protected, but the ability to track user activity and associate sessions across different browsers and applications is lost
Solution Approach 1:
The patent uses TCP timestamp data as an intermediary to indirectly identify devices without requiring browsers or applications to contain or expose unique identifiers. By analyzing timestamp patterns in network packets, the system can associate sessions with devices while maintaining privacy protection, as the timestamp data is already present in standard TCP protocols and does not require additional tracking mechanisms
Solution Approach 2:
The patent replaces the traditional mechanical approach of using explicit unique identifiers (cookies, device IDs) with a computational method based on timestamp analysis. By calculating clock skew and uptime from TCP timestamps, the system substitutes direct identification with indirect temporal correlation, achieving session association without exposing personal information
2Loss of information
If traditional tracking methods are used to identify user traffic, then accurate user activity tracking is achieved, but personally identifiable information may be exposed
Solution Approach 1:
The patent extracts only the necessary temporal information (TCP timestamps) from network packets for tracking purposes, while deliberately excluding or not exposing any personally identifiable information. By taking out only the timestamp data needed for uptime calculation and session association, the system achieves traffic tracking accuracy without capturing or exposing sensitive user information
Solution Approach 2:
The patent uses ephemeral TCP timestamp data that is naturally present in network communication but does not persist as identifiable user information. The timestamp-based identification method relies on temporary, disposable data that serves its tracking function and then can be discarded, unlike persistent cookies or device IDs that continuously identify users
3Adaptability or versatility
If different browsers and applications are used to access websites, then user choice and privacy are maintained, but the ability to get a full picture of user traffic is compromised
Solution Approach 1:
The patent creates a universal tracking method that works across all TCP-based applications and browsers without requiring application-specific implementation. By using the standardized TCP timestamp field that exists in all TCP communications, the system can identify and associate sessions from any browser or application with the underlying device, providing a complete traffic picture while maintaining user choice about which applications to use
Data Source
AI summary
Systems and methods for associating sessions using (TCP packet-level) timestamps are provided. A collection of data packets received during one or more sessions within a time period may be retrieved. Each packet in the collection may be associated with a unique identifier of a respective session. A skew for a selected session within the time period may be determined based on a rate difference between a respective receiving device clock and a respective sending device clock of at least two data packets associated with the unique identifier of the selected session. The selected session may be associated with a computing device. An uptime may be calculated for each of the retrieved data packets based on the determined skew and respective timestamp information of the data packet. It may be identified as to whether each of the calculated uptimes matches a previously calculated uptime for a packet associated with a previous session or a session that has previously been associated with a selected session. A list of sessions associated with the computing device may be updated based on one or more identified matches between the respective calculated uptime and the previously calculated uptime.


