Abstract:
In a data stream individually encoded data stream (ds 1  . . . n), data packets formed as key data packets (sp 1  . . . n) are to be inserted, with which the data stream-individual key information (si 1  . . . n) is transmitted with the associated data stream (ds 1  . . . n). For analyzing and/or recording, at least one key data packet (sp 1  . . . n) is searched for in the associated data stream (ds 1  . . . n), and the data stream-individual key information (si 1  . . . n) is determined. By means of the data stream-individual key information (si 1  . . . n), the associated data stream (ds 1  . . . n) is decoded. The generation and insertion of key information (si 1  . . . n) can be achieved with minor administrative effort, thus considerably reducing the effort for the analysis or diagnosis (ds 1  . . . n) of the simultaneously transmitted, encoded data streams (ds 1  . . . n). Advantageously, the insertion of key data packets can only be activated or initiated if the diagnosis or analysis and/or recording of the data streams is currently carried out.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     This application is the United States national phase under 35 U.S.C. §371 of International Application No. PCT/EP2008/059631, filed on Jul. 23, 2008, and claiming priority to German Application No. 10 2007 041 145.8, filed on Aug. 30, 2007. Those applications are incorporated by reference herein. 
     BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     Embodiments of the invention are related to analysis of individual or simultaneously transmitted data streams containing data packets. 
     2. Background of the Art 
     In communication networks, especially in Voice Over IP communication networks, the RTP (Real Time Protocol) is often used to transmit data streams or multimedia data streams consisting of data packets, i.e., user information or speech information. The RTP is defined in RFC standard 1889, or since 2003 in RFC standard 3550. Due to increased security requirements, data streams have been transmitted encrypted for quite some time, and the secure RTP used for this is described in RFC standard 3711. In this context, the key information required for encryption is assigned and used on a data-stream-specific basis. As an example, for a multimedia session between two endpoints on an IP-based communication network, an audio and a video data stream are each transmitted in one transmission direction. Related to both transmission directions, four data streams are transmitted within a multimedia session, each of which is encrypted separately, i.e., encrypted data-stream-specifically. The key information for that particular session or data stream is assigned or processed during connection signaling—using the SIP (Session Initiation Protocol), for example—with a special key used to encrypt the connection signaling—Preshared Secrets, for example—which cannot be recognized even if the data stream is hacked. 
     In communication networks, multiple data streams or multimedia data streams are generally transmitted through a transmission leg or transmission segment. For problem situations arising in communication networks, analysis or diagnosis of the transmitted data streams is necessary in order to locate or delimit errors. For error analysis or diagnosis, reconstruction of the unencrypted data streams is usually necessary. An analysis or diagnosis is often performed on transmission segments with multiple data streams transmitted simultaneously using the RTP, so that the key information in the data streams (RTP data streams, for example), is not available and cannot be determined even during connection signaling, because the signaling information and the key information are re-encrypted, and the key information used is not available. 
     BRIEF SUMMARY OF THE INVENTION 
     It would be useful to improve the analysis or diagnosis of individual or simultaneously transmitted data streams containing data packets, with data streams generated and encrypted data-stream-specifically according to a network protocol for data stream transmission. 
     One aspect of embodiments taught herein lies in the fact that data packets generated as key data packets are inserted into each generated data stream, and they transmit the data-stream-specific key information for that data stream. For an analysis, at least one key data packet is searched for in the data stream, and the data-stream-specific key information is determined; using that data-stream-specific key information, the associated data stream is decrypted. 
     An important advantage of the invention is that key information can be generated and inserted with minimal administrative effort, and the effort required to analyze or diagnose simultaneously transmitted data streams is significantly reduced. Another advantage is that the insertion of key data packets can be activated or initiated only if diagnosis or analysis of the data streams is currently in progress. 
     According to one embodiment of the invention, a data packet type for key data packets is determined in the network protocol, so that when the data stream is received according to the network protocol, the key data packets are discarded. This ensures that key information cannot be read when data packets are transmitted to a network protocol-compliant data receiver according to the network protocol. As an alternative, a data packet type that is new to the network protocol can be defined for the key data packets, or an unused data packet type can be provided, which is not read when data packets are transmitted to a network protocol-compliant receiver according to the network protocol. 
     According to another preferred embodiment of the invention, the key data packet is represented by a data packet in whose header or expanded header the key information is inserted, and the generated header information is of a type such that the key information is discarded when the data stream is received according to the network protocol. 
     Additional preferred developments of the invented method and one embodiment of an analysis unit according to the invention can be found in other claims. 
     The following text further explains the invention and some of its embodiments with reference to two drawings. 
    
    
     
       BRIEF DESCRIPTION OF THE FIGURES 
         FIG. 1 , a schematic showing one communication arrangement for applying the invented method, and 
         FIG. 2 , a key data packet suitable for the communication arrangement according to the invention. 
     
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
       FIG. 1  is a schematic diagram showing an example of a communication arrangement in which the invented method is used, including only components in which the invented method is implemented or which clarify the embodiment shown. 
     The communication arrangement is suitable for Voice Over IP, i.e., for transmitting spoken information in the IP protocol, with signaling by means of the standardized H.323 or SIP protocol. For speech and/or video transmission, use of the RTP (Real Time Protocol) is preferred, with speech and/or video information transmitted directly between the components that are connected by signaling. The RTP protocol is defined in RFC standard 1889 or 3550 and consists of a protocol for continuous transmission of real-time data, e.g., audiovisual or multimedia data over IP-based networks. Under this protocol, data packets to be transmitted are coded and inserted for transmission over IP-based networks in data packets, with each session having at least one data stream ds or multiple data streams assigned to it. The RTP protocol is suitable for transmission of individual data streams ds as well as for simultaneous transmission of multiple data streams ds 1  . . . n or data packets. For the execution example given here, it is assumed that multiple data streams ds 1  . . . n, i.e. multimedia streams, are transmitted simultaneously between components of an IP-based network. 
     Due to increased security requirements for transmitting data streams ds, it has become increasingly common to encrypt data streams ds, especially data streams ds transmitted according to the RTP protocol. Key information si, which is recognized by the components between which the data streams are transmitted in an IP-based network, is used for this encryption. A protocol for encrypting RTP data streams is defined in the SRTP protocol (Secure Real Time Protocol) according to RFC standard 3711. It uses a symmetrical encryption system that offers a high degree of security. 
     The communication arrangement consists of a first component K 1  that is represented in the execution example by a Gateway GW. The Gateway GW can, for example, be connected via a local network LAN—hereafter designated as LAN and represented in  FIG. 1  by a dash-and-dot outlined oval—to a second component K 2 , which in the execution example is represented by an Internet endpoint IP-E such as a multimedia terminal MME. The LAN can consist physically and procedurally of an Ethernet, for example. 
     For the execution example, it is further assumed that multiple data streams ds 1 ′ . . . n′ or multimedia data streams generated according to the RTP are to be transmitted simultaneously from the Gateway GW to the Internet endpoint IP-E. As an example, the multiple data streams ds 1 ′ . . . n′ are generated as audio data streams and video data streams, and both an audio and a video data stream can be assigned to each session. In addition, the data streams ds 1 ′ . . . n′ generated according to the RTP protocol are encrypted data-stream-specifically, using an encryption unit VE. This means that, for each data stream ds 1 ′ . . . n′, a different piece of key information si 1  . . . n is designated for encryption. RTP data streams ds are encrypted preferably using the SRTP protocol according to RFC standard 3711. 
     According to the invention, the encrypted data streams ds 1  . . . n from the data-stream-specifically encrypted data streams ds 1  . . . n should be decrypted for analysis of the data streams by a diagnosis unit DE. Normally a diagnosis unit DE is not involved in the signaling between the connection-generating components of an IP-based network, so as part of the signaling the used key information si is processed for each individual data stream. Of course, signaling could also be analyzed by the diagnosis unit DE, but the key information si 1  . . . n for the data streams ds 1  . . . n could not be determined, because the signaling and the key information si 1  . . . n are encrypted again and the pieces of key information for these encryptions are not available to the diagnosis unit, nor can they be determined from the signaling information. This means that the diagnosis unit DE has no information about the key information si used in the data streams ds 1  . . . n. 
     So that data streams ds 1  . . . n generated according to the SRTP protocol can still be decrypted, the invented method is used, with the invented method applied in the execution example to the simultaneous transmission of multiple data streams ds 1  . . . n generated according to the SRTP protocol from the Gateway GW to the IP endpoint IP-E. The methods and components described below apply to the opposite transmission direction. 
     In the Gateway GW, the data streams ds 1 ′ . . . n′ are encrypted in an encryption unit VE according to the SRTP protocol. The required key information si 1  . . . n is stored in a key unit SE and is available from the key unit SE, which is designated in  FIG. 1  by an arrow marked with si 1  . . . n. This means that a piece of key information si 1  . . . n is designated for each data stream ds 1 ′ . . . n′, i.e., the data streams ds 1 ′ . . . n′ are encrypted data-stream-specifically. 
     Also in the key unit SE, key data packets sp 1  . . . n are generated for each data stream ds 1  . . . n, and the key information si 1  . . . n needed to decrypt the data-stream-specifically encrypted data streams ds 1  . . . n is inserted in the key data packets sp 1  . . . n. The key data packets sp 1  . . . n and the encrypted data streams ds 1  . . . n are sent to a transmission unit UE. In the transmission unit UE, the key data packets sp 1  . . . n are inserted data-stream-specifically into the data streams ds 1  . . . n, i.e., the first key data packets sp 1  are inserted into the first data stream ds 1 , the second key data packets sp 2  into the second data stream ds 2 , etc. Preferentially, key data packets sp 1  . . . n are inserted continuously into each of the encrypted data streams ds 1  . . . n. The key data packets sp 1  . . . n are normally inserted into the data streams ds 1  . . . n by a data packet multiplexer, represented in  FIG. 1  by a multiplexer triangle. 
     For increased security when transmitting key data packets sp 1  . . . n, the key data packets (sp 1  . . . n) can also be encrypted. Additional key information is needed for this, and it is generated using a public key spublic and a private key spriv. In this case, the public key spub for the additional encryption is provided in the key unit SE in the Gateway GW and is sent to the transmission unit UE for encrypting the key data packets sp 1  . . . n, shown in  FIG. 1  as an arrow marked spub. The private key spriv is provided to the diagnosis unit DE by the decryption unit EE and is used to decrypt the additional encrypted key data packets (sdp 1  . . . n), shown in  FIG. 1  by the designation spriv in the decryption unit EE. 
     The data streams sds 1  . . . n containing key data packets sp 1  . . . n are transmitted over the LAN to the IP endpoint IP-E. A diagnosis unit DE connected to the LAN is provided for the purpose of diagnosing or analyzing the data streams sds 1  . . . n. So that the data streams sds 1  . . . n containing the key data packets sp 1  . . . n can be analyzed, the encrypted data streams sds 1  . . . n must be decrypted. As explained previously, for each encrypted data stream ds 1  . . . n, the key information si 1  . . . n needed for decryption is necessary. Because the key data packets sp 1  . . . n containing the key information si 1  . . . n are inserted into the data streams sds 1  . . . n according to the invention, the key data packets sp 1  . . . n in each data stream ds 1  . . . n are searched for, read, and stored in the diagnosis unit DE with the help of a monitoring unit UEE. Preferentially, the entire key data packet sp 1  . . . n would not be sent and stored, but rather only the key information si 1  . . . n contained in it. Together with each piece of key information si 1  . . . n, a piece of information i(ds 1  . . . n) from the key data packets sp 1  . . . n must also be determined and stored, for which the data stream sds 1  . . . n that contains the key data packets sp 1  . . . n is provided with the key information si 1  . . . n for decryption. For the following execution example it is assumed that, with the help of a demultiplexer function provided in the monitoring unit UEE—shown in  FIG. 1  as a triangle—the key data packets sp 1  . . . n that were found are eliminated from the data streams sds 1  . . . n containing the key data packets sp 1  . . . n after determination and storage of the key information si 1  . . . n, and only the encrypted data streams sds 1  . . . n are sent to a decryption unit EE. 
     The key information si 1  . . . n, including the information i(ds 1  . . . n) is also sent to the decryption unit ESE. In this unit, using the key information si 1  . . . n, i.e., with the decryption information and the information i(ds 1  . . . n), the encrypted data streams sds 1  . . . n are decrypted. After decryption, the unencrypted data streams ds 1 ′ . . . n′ are ready for diagnosis or analysis in the diagnosis unit DE. 
     Preferentially, the diagnosis unit DE is provided with a recording unit REC inserted between the LAN and the diagnosis unit DE, for example, in which the data streams sds 1  . . . n containing the key data packets sp 1  . . . n can be recorded. The recorded data streams sds 1  . . . n can then be analyzed or diagnosed at a later time; they can be recorded at night, for example, and diagnosed later during the day. Alternatively, the recording unit REC can also be inserted after the encrypted data streams sds 1  . . . n are decrypted—not shown—so that the data streams ds 1 ′ . . . n′ are unencrypted when readied for diagnosis or analysis. 
       FIG. 2  shows the protocol structure of a key data packet sp, in which a piece of key information si is inserted. The key data packet sp is generated according to the standard RTP and includes an RTPH header portion according to RFC 3550—known as a header in the industry—and an RTPP user data portion known as the payload. The RTP protocol is embedded in a UDP protocol, whose header UDPH is added into the RTP protocol header RTPH. Because an IP-based transmission is involved, the UDP protocol is packed into an IP protocol IPP, to which an IP header IPH is added. When there is a transmission over the LAN, especially an Ethernet LAN, the corresponding protocol element is still referenced—shown only partially for clarity. 
     In the header RTP of the RTP protocol, the information about the payload type PT shows information that is important to the invented method. According to the invention, the payload type PT used is designated in the RTP protocol, but no payload type PT is assigned to it. A payload type PT of “19” is defined in the standardization phase, but it is later designated as unused and then as “reserved.” Therefore, to designate an RTP data packet as a key data packet sp 1  . . . n, the use of payload type 19 is preferred. 
     The payload type PT is positioned in the standardized RTP header RTPH as shown in Table 1, with the numbering 0.9 represents a byte. 
     
       
         
               
             
           
               
                 TABLE 1 
               
               
                   
               
             
             
               
                 
                   
                             
                     
                         
                         
                     
                   
                 
               
               
                   
               
             
          
         
       
     
     The key information si 1  . . . n for each data stream ds 1  . . . n is inserted in the user data portion RTPP of a key data packet sp. Table 2 shows the key information si used for decryption according to the standardized SRTP, with the numbering 0.9 representing a byte. 
     
       
         
               
             
           
               
                 TABLE 2 
               
               
                   
               
             
             
               
                 
                   
                             
                     
                         
                         
                     
                   
                 
               
               
                   
               
             
          
         
       
     
     As part of this process, the information from Table 1 is assigned according to the standard and the following definitions. 
     Version: 
     
         
         
           
             Version of the tracebeacon.
 
BeaconType:
 
In
 
             Content of the tracebeacon.
 
F:
 
             Indicate if the lengths of the variable fields is fixed to their maximum values (the lengths are fixed if F==1).
 
Rsv:
 
             Reserved bits.
 
NbCtx:
 
             Indicates the number of contexts contained in the packet. A context is an association between a direction (Tx/Rx) and an SSRC. It has been judged that a maximum of 15 contexts should suffice for the current purposes.
 
NbKeys:
 
             Indicates the number of keys contained in the packet.
 
SCIAuthTagLen:
 
             The length of the authentication tag appended to the tracebeacon. This length will always be zero for now as the authentication is not expected to be used in the short-term.
 
KEK SPI Len:
 
             Length in bytes of the SPI needed to retrieve the key that encrypted the KEK. This length can be zero if the Encrypted KEK is not present in the tracebeacon.
 
Encrypted KEK length:
 
             Length of the symmetric key encrypted using RSA, in bytes. This length can be zero if the tracebeacon does not contain this key. Since the Encrypted KEK can be the longest part of the tracebeacon, sending the Encrypted KEK in, say, one tracebeacon out of two can result in appreciable gains in the average size of the tracebeacons sent.
 
Contexts:
 
             Configuration information for the contexts (see the next diagrams).
 
Keys:
 
             Configuration information for the keys (see the next diagrams).
 
Encrypted KEK:
 
             Symmetric key encrypted using RSA. This field can take up to 256 bytes when the public key has 2048 bits and does not need to end on a 32 bits boundary. This field is also optional as it can have a length of zero
 
KEK SPI:
 
             Identifier that allows to retrieve the key needed to decrypt the KEK. In your case this field corresponds to a Certificate Id. This field does not need to end on a 32 bits boundary. Like the Encrypted KEK this field is optional, as it can have a length of zero.
 
SCI Authentication tag:
 
             The authentication tag of the tracebeacon. The authenticated portion of the tracebeacon will be the first eight bytes, the contexts and keys sections. This field is optional, as the authentication tag length can be zero. It is indeed not expected to be present for this version of the tracebeacon. 
           
         
       
    
     Using the previously described key information si 1  . . . n according to the standardized SRTP protocol, the encrypted data streams ds 1  . . . n are decrypted, i.e. transformed back into the original data streams ds 1 ′ . . . n′. The data streams ds 1 ′ . . . n′ can be processed in the diagnosis unit DE using the implemented diagnosis routines—not shown.