SRTP Session Key Derivation via Packet Index and Roll-over Counter

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing Secure Real-time Transport Protocol (SRTP) broadcast/multicast services face challenges in effectively updating session keys to prevent unauthorized access, requiring improved methods for key generation and coordination between content providers and authorized wireless communication devices.

Innovation Solution

A method for determining an updated session encryption key using a packet index computed from a sequence number and a predetermined roll-over-counter value, combined with a master key, to securely encrypt or decrypt content, which can be performed at a content server or mobile station.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If session keys are periodically updated during SRTP broadcast to prevent unauthorized access, then security against unauthorized WCDs is improved, but coordination complexity between content provider and authorized WCDs increases

Engineering Contradiction:
ImprovesecurityVSAvoidcoordination complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system enables authorized WCDs to autonomously generate session keys using the packet index computation method (PI = 2^16 * ROC + SEQ) and key derivation function with the master key, eliminating the need for complex coordination with the content provider during key updates. The mobile station independently performs key generation based on received sequence numbers and predetermined roll-over-counter values.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The packet index serves as an intermediary mechanism that bridges the content provider and authorized WCDs. The content provider only needs to distribute the master key and initial parameters, while the packet index computed from sequence numbers enables both parties to derive the same session keys without direct coordination during updates.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If the session key is made more random to prevent unauthorized WCDs from determining the new session key, then security is improved, but the complexity of key generation and coordination increases

Engineering Contradiction:
ImprovesecurityVSAvoidkey generation complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system changes the parameters used in key generation by incorporating the roll-over-counter (ROC) and sequence number (SEQ) into the packet index calculation (PI = 2^16 * ROC + SEQ). This provides increased randomness through varying packet indices while maintaining a structured computation method that simplifies implementation compared to purely random key generation.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If session keys are updated frequently to prevent unauthorized access to BCMCS streams, then security is improved, but the coordination overhead between content provider and mobile stations increases

Engineering Contradiction:
ImprovesecurityVSAvoidcoordination overhead
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

Authorized mobile stations autonomously perform session key updates by computing packet indices from received sequence numbers and applying the key derivation function with the master key. This eliminates the need for the content provider to coordinate each key update with multiple WCDs, significantly reducing coordination overhead while enabling frequent key updates.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS7657036B2Determining a session encryption key during a broadcast/multicast service session using secure real-time transport protocol
Publication Date: 2010.02.02 QUALCOMM INC
  • US7657036B2 patent drawing
  • US7657036B2 patent drawing
  • US7657036B2 patent drawing

AI summary

Techniques are provided for determining an updated session encryption key. According to one embodiment, a packet index can be computed using a sequence number received in a session data packet during a SRTP session and a predetermined value. The predetermined value can be, for example, a non-zero value from a roll-over-counter that has been set to the non-zero value. The updated session encryption key can then be determined using a master key received from a BCMCS controller and the packet index. The determined updated session key is used to encrypt or de-encrypt content provided by a content server.