Abstract:
The embodiments relate to methods and apparatuses for producing secure transmission of a message. The methods are based on production of a basic key that is used for producing respective transmitter keys for a plurality of transmitters. For the ascertainment of the receiver keys by respective receivers, the basic key is transmitted to the receivers, which for their part are able to ascertain a receiver key for checking the integrity of the message from a respective transmitter on the basis of the basic key and an identifier for the transmitter. The receiver ascertains a cryptographic checksum, which, in the course of the integrity check, is compared with a cryptographic checksum that has been produced by the transmitter and sent along by the respective message. The embodiments may be used within the context of automation and sensor networks.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
       [0001]    The present patent document is a §371 nationalization of PCT Application Serial Number PCT/EP2013/058517, filed Apr. 24, 2013, designating the United States, which is hereby incorporated by reference, and this patent document also claims the benefit of DE 10 2012 209 408.3, filed on Jun. 4, 2012, which is also hereby incorporated by reference. 
     
    
     TECHNICAL FIELD 
       [0002]    The embodiments relate to methods and devices for producing a secure transmission of a message. 
       BACKGROUND 
       [0003]    In automation and sensor networks, there is a need to guarantee integrity of data to be transmitted between different systems. This may be done by protecting the data with a cryptographic checksum, such as a message authentication code, message integrity code or digital signature, for example. A key management process is needed for this purpose, which supplies the systems involved with the necessary security parameters. 
         [0004]    Transferring data using messages in automation and sensor networks is often done by broadcast messages or multicast messages. 
         [0005]    In a widely established key management method for broadcast messages or multicast messages, which is used, for example, with Wireless Local Area Network (WLAN) based on standard Institute of Electrical and Electronics Engineers (IEEE) 802.11, the user nodes are informed of the multicast key or broadcast key by the access point. This has the disadvantage that a user node that has been tampered with may impersonate the broadcast/multicast sender, e.g., the access point. 
         [0006]    For a secure broadcast/multicast transmission method, it has therefore been proposed to change relatively frequently the key used for sending broadcast/multicast messages, and to make the key accessible to a receiver node only after a time delay. Once the key used by the sender is known to the receiver node, then the key is already no longer valid for sending. 
         [0007]    Using what are known as hash chains is a known option for providing keys for multicast scenarios. In this case, a plurality of keys are calculated in advance, wherein one particular key may be used for one specific period, which may be limited in terms of time or on the basis of messages to be sent. 
         [0008]    Time Efficient Stream Loss-tolerant Authentication (TESLA) is a multicast protocol based on hash chains. A variation of the TESLA protocol is explained in greater detail under μTESLA. In this case, a particular multicast sender manages its own hash chain. A receiver manages respective hash-chain data explicit to each multicast sender. Such a method is suitable for the situations in which a single multicast sender serves a multiplicity of receiver nodes. 
         [0009]    Embedded systems, which have limited processing and memory capacity, are often used in automation and sensor network systems. The TESLA multicast protocol is unsuitable especially for these systems because the hash chain takes into account parameters for a multiplicity of senders, which may result in the embedded system rapidly reaching its physical limits. 
       SUMMARY AND DESCRIPTION 
       [0010]    The scope of the present invention is defined solely by the appended claims and is not affected to any degree by the statements within this summary. The present embodiments may obviate one or more of the drawbacks or limitations in the related art. 
         [0011]    The embodiments define methods and devices that guarantee a secure transmission of data even for systems having limited physical resources. 
         [0012]    The embodiments relate to a method for producing a secure transmission of a message, which method includes the following acts: (1) generating a base key by a key unit; (2) generating a sender key for the at least one sender by the key unit by a key derivation function on the basis of (i) the base key, and (ii) an identifier that uniquely identifies the at least one sender; (3) transmitting the sender key to the at least one sender; (4) calculating a first cryptographic checksum by the at least one sender for the respective message on the basis of the sender key and the message; (5) transmitting the message together with the first cryptographic checksum to a receiver; (6) transmitting the base key to the receiver; (7) producing a receiver key by the receiver by the key derivation function on the basis of (i) the base key, and (ii) the identifier of the sender of the message; (8) generating a second cryptographic checksum for the message by the receiver on the basis of the receiver key and the message; and (9) checking the integrity of the message by comparing the first cryptographic checksum with the second cryptographic checksum, where the integrity of the message is given if the first cryptographic checksum and the second cryptographic checksum are identical. 
         [0013]    The embodiments have the advantage that complex generation of a base key, for example, by a hash chain or by a cryptographically strong random number generator, only has to be performed once for a plurality of senders, and sender keys, (e.g., individual keys for each sender), may be generated in a simpler and less complex manner. 
         [0014]    In addition, complex checking of the integrity of a multiplicity of base keys is dispensed with at the receiver end, because only a single base key, which is used as the basis for generating a multiplicity of sender keys and receiver keys, needs to be checked for authenticity. 
         [0015]    Key derivation functions are understood to refer to functions that generate one or more keys from two or more pieces of information, for instance in the present case on the basis of the base key and the identifier of the respective sender. Such key derivation functions are sufficiently known to a person skilled in the art, or in the form of cryptographic hash functions such as MD5, SHA1, SHA256, cryptographic keyed hash functions such as HMAC-MD5, HMAC-SHA1, HMAC-SHA256, or AES-CBC-MAC. 
         [0016]    An identifier shall be understood to refer to a description of the sender that uniquely identifies this sender. This may be, for example, an IP address or MAC address but also a firmware version or a product specification that allows a unique assignment to the respective sender. The cryptographic checksums are calculated on the basis of the respective message and the sender key or receiver key. Established techniques may be used here to determine or check a cryptographic checksum, for instance, a message authentication code (MAC), a message integrity code (MIC), or a digital signature. 
         [0017]    The method also has the advantage that only a single base key needs to be transmitted to the receiver(s) for a plurality of senders because the receivers may advantageously generate the respective receiver keys themselves. This also has the advantage that only a small bandwidth is needed to transmit key material. 
         [0018]    Confining the key management process to the key unit achieves a reduction in the processing and memory complexity of the respective sender for managing its key material. The method may thereby be implemented and executed on the smallest sender units such as, for example, embedded systems. In addition, by virtue of the key management process being handled solely by the key unit, it is achieved that a sender does not obtain information about the base key, and therefore the sender may not make inferences about sender keys of other senders. This further increases the security. 
         [0019]    The sender key is transmitted in a cryptographically secure manner to the respective sender. This increases the security in establishing the integrity of a message, because it prevents an attacker simply intercepting or tampering with the sender key. 
         [0020]    In one embodiment, the base key and the sender key are selected to be valid only within a first time interval, and the base key is not transmitted to the receiver until after the first time interval has elapsed. This increases the security of the method because constant changing of the base key and the associated sender key and receiver key makes it harder to falsify messages from the respective sender. 
         [0021]    In one embodiment, the base key is selected from an element of a hash chain. In this case, consecutive base keys from two consecutive time intervals are selected from two consecutive elements of the hash chain. This has the advantage that the integrity of the base key may also be checked on the basis of its position in the hash chain. This further increases the security of the method. 
         [0022]    In an optional embodiment, part of the message, in particular an IP address or a MAC address of the sender, may be selected as the identifier. This is a particularly simple way to enable the sender to calculate a unique identifier of said sender from part of the message to be transmitted. The Internet Protocol (IP) address and the Media Access Control (MAC) address are known from the prior art. 
         [0023]    As an alternative or in addition thereto, a name of the sender in the form of a Uniform Resource Locator (URL) may be selected as the identifier. This embodiment is also a simple way of calculating a unique identifier of the sender, which identifier is accessible to both the sender and the receiver in the simplest manner. 
         [0024]    The embodiments also relate to a device for producing a secure transmission of a message, which device includes the following units: (1) a first unit for generating a base key by a key unit; (2) a second unit for generating a sender key for the at least one sender by the key unit by a key derivation function on the basis of (i) the base key, and (ii) an identifier that uniquely identifies the at least one sender; (3) a third unit for transmitting the sender key to the at least one sender; (4) a fourth unit for calculating a first cryptographic checksum by the at least one sender for the respective message on the basis of the sender key and the message; (5) a fifth unit for transmitting the message together with the first cryptographic checksum to a receiver; (6) a sixth unit for transmitting the base key to the receiver; (7) a seventh unit for producing a receiver key by the receiver by the key derivation function on the basis of (i) the base key, and (ii) the identifier of the sender of the message; (8) an eighth unit for generating a second cryptographic checksum for the message by the receiver on the basis of the receiver key and the message; and (9) a ninth unit for checking the integrity of the message by comparing the first cryptographic checksum with the second cryptographic checksum, where the integrity of the message is given if the first cryptographic checksum and the second cryptographic checksum are identical. 
         [0025]    The advantages and embodiment of individual units may be considered analogously to the acts of the method presented above. In particular, allocating the key management process to the key unit achieves a reduction in the processing and memory complexity for guaranteeing a secure transmission of a message for the senders and receivers. 
         [0026]    In a development, the device includes at least one further unit, which may be used to implement and execute at least one of the method acts. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0027]      FIG. 1  depicts a flow diagram of an embodiment employing key unit, sender, and receiver. 
           [0028]      FIG. 2  depicts a flow diagram of an embodiment in which elements of a hash chain are used as the base key. 
           [0029]      FIG. 3  depicts an example of a design of the key unit, the sender, and the receiver. 
       
    
    
     DETAILED DESCRIPTION 
       [0030]    Elements that have the same function and principle of operation are denoted by the same reference signs in the figures. 
         [0031]      FIG. 1  depicts a first exemplary embodiment in the form of a flow diagram. In this embodiment, a network NET includes the network elements: key unit SUN, first sender SEND1, second sender SEND2, and receiver EMP 1 . The network elements are interconnected by a Local Area Network (LAN). 
         [0032]    The flow diagram is started in the state STA. 
         [0033]    In act S 1 , the key unit SUN generates a base key BS 1 . The base key may be, for example, a randomly selected number or an element of a hash chain. In the present example, BS 1 =173399. Act S 1  is implemented by a first unit U 1 . 
         [0034]    In act S 2 , the key unit generates a separate sender key SS 1 , SS 2  for each of the senders SEND1, SEND2. A key derivation function KDF is used for this purpose to generate the respective sender key on the basis of the base key BS 1  and an identifier KS 1 , KS 2  of the first sender and second sender respectively. The IP address or MAC address of the respective sender or a name of the respective sender, which name is known in the network, for example coded as a URL, for instance in the form “SEND1.PC.DE”, is used, for example, as the identifier of the respective sender. In the present case, KS 1 =192.168.178.17 and KS 2 =192.168.178.233, e.g., the IP address assigned to the respective senders. Act S 2  is implemented by a second unit U 2 . 
         [0035]    Key derivation functions are understood to refer to functions that generate one or more keys from two or more pieces of information, for instance in the present case on the basis of the base key and the identifier of the respective sender. Such key derivation functions are sufficiently known to a person skilled in the art, or in the form of cryptographic hash functions such as MD5, SHA1, SHA256, and cryptographic keyed hash functions such as HMAC-MD5, HMAC-SHA1, HMAC-SHA256, or AES-CBC-MAC. 
         [0036]    Hence the sender keys SS 1 , SS 2  of the first and second senders are generated as follows: 
         [0000]        SS 1= KDF ( BS 1,  KS 1); 
         [0000]        SS 2= KDF ( BS 1,  KS 2). 
         [0037]    In the present example this produces the result SS 1 =995533 and SS 2 =123456. 
         [0038]    In act S 3   a,  the sender key SS 1  of the first sender is transmitted to the first sender. Similarly, in act S 3   b,  the sender key SS 2  of the second sender is transmitted to the second sender. Each of the sender keys may also be transmitted in encrypted form in order to provide increased security in the network. The act is implemented by a third unit U 3 . 
         [0039]    After the first sender receives the sender key, it calculates in act S 4   a  a first cryptographic checksum KP 11  for a first message N 1  to be transmitted. The checksum is calculated on the basis of the sender key SS 1  and the message content of the message N 1 . The cryptographic checksum may be referred to as a message authentication code (MAC), as a message integrity code (MIC) or a digital signature. Symmetric or asymmetric cryptographic techniques may be used here. Examples are HMAC-SHA 1 , AES-CBC-MAC, AES-UMAC, RSA Signature, DSA and ECC-DSA. In order to avoid confusion with the term MAC address, the cryptographic checksum is referred to below as a message integrity code (MIC). A MIC function MIC(K,D) determines a cryptographic checksum on the basis of a cryptographic key K and data D. Similarly, in act S 4   b,  the second sender uses its sender key SS 2  to generate a first cryptographic checksum KP 12  for a second message N 2 . This is expressed by the following equations: 
         [0000]        KP 11= MIC ( SS 1,  N 1); 
         [0000]        KP 12= MIC ( SS 2,  N 2). 
         [0040]    The fourth act is implemented by a fourth unit U 4 . 
         [0041]    In act S 5   a,  implemented by a fifth unit U 5 , the first sender transmits the first message and the first cryptographic checksum KP 11  belonging thereto to the receiver EMP 1 , which, in act S 6   a , receives this message containing the first cryptographic checksum and stores same temporarily for the subsequent authenticity check. In addition, in act S 5   b,  the second sender sends the second message and the first cryptographic checksum KP 12  belonging thereto to the receiver, which, in act S 6   b,  receives this message containing the first cryptographic checksum and stores same temporarily for the subsequent authenticity check. 
         [0042]    In act S 7 , the key unit SUN transmits the base key BS 1  to the receiver, for example after a first time interval ZI1=1 minute has elapsed. Act S 7  is implemented by a sixth unit U 6 . 
         [0043]    In act S 8   a,  implemented by a seventh unit U 7 , the receiver generates a first receiver key ES 1  by the key derivation function KDF on the basis of the base key BS 1  and the identifier KS 1  of the first sender S 1 , e.g., ES 1 =KDF (BS 1 , KS 1 ). 
         [0044]    In act S 9   a,  a second cryptographic checksum KP 21  for the first message N 1  is generated on the basis of the receiver key ES 1  and a message content of the first message N 1 . Act S 9   a  is implemented by an eighth unit U 8 . 
         [0045]    In addition, the receiver checks in act S 10   a  the integrity, (e.g., the authenticity), of the first message N 1  by comparing the first checksum KP 11  with the second cryptographic checksum KP 21 . If both cryptographic checksums are identical, or if the verification of a digital signature produces a positive result, then the integrity of the first message is given. Act S 10   a  is implemented by a ninth unit U 9 . 
         [0046]    In order to check the integrity of the second message, in act S 8   b,  the receiver generates a receiver key ES 2  for the second sender by the key derivation function KDF on the basis of the base key BS 1  and the identifier KS 2  of the second sender, e.g., ES 2 =KDF(BS 1 , KS 2 ). 
         [0047]    In act S 9   b,  a second cryptographic checksum KP 22  is generated for the second message on the basis of the receiver key of the second sender and a message content of the second message N 2 . 
         [0048]    In act S 10   b,  the receiver compares the first cryptographic checksum KP 12  of the second message N 2  with the second cryptographic checksum KP 22  that it has calculated for the second message. If both cryptographic checksums are identical, or if the verification of a digital signature produces a positive result, then the integrity of the second message N 2  is given. 
         [0049]    The flow diagram in  FIG. 1  ends in the state END. 
         [0050]      FIG. 2  depicts a further exemplary embodiment. The units key unit SUN, sender SEND1, and receiver EMP 1  are used in a similar way to  FIG. 1  in this embodiment. The key unit SUN, the sender SEND1, and the receiver EMP 1  are interconnected via a network for the purpose of data transfer. 
         [0051]    In act T 1 , the key unit generates a random starting point H 0  for a hash chain, and hash chain elements H 1 , H 2 , H 3  according to the following rule: 
         [0000]        H 1=Hash( H 0), 
         [0000]        H 2=Hash( H 1), and 
         [0000]        H 3=Hash( H 2). 
         [0052]    Using hash chains and generating hash elements by the hash(.) function are known. Each of the hash elements represents a base key that is valid only in a certain time interval. 
         [0053]    In act T 2 , the key unit transmits the hash element H 3  in signed form SIG to the receiver. The hash element H 3  represents what is known as the hash chain anchor, which is used below to verify whether further hash elements are correct. 
         [0054]    In act T 3 , the key unit generates three sender keys SS 1 - 1 , SS 1 - 2 , SS 1 - 3  for the sender SEND1 on the basis of the hash elements and the identifier of the sender in the following manner: 
         [0000]        SS 1-3= KDF ( H 2, KS 1), valid for a first time interval ZI1; 
         [0000]        SS 1-2= KDF ( H 1, KS 1), valid for a second time interval ZI2; 
         [0000]        SS 1-1= KDF ( H 0, KS 1), valid for a third time interval ZI3. 
         [0055]    The three sender keys are each valid only within one time interval, e.g., SS 1 - 1  within the second time interval. 
         [0056]    In act T 4 , the sender keys SS 1 - 1 , SS 1 - 2 , SS 1 - 3  are transmitted to the sender. 
         [0057]    In act T 5 , the sender calculates the first cryptographic checksum KP 11  on the basis of the sender key SS 1 - 3  and a content of the message N 1 . 
         [0058]    In act T 6 , the sender transmits the message N 1  and the first cryptographic checksum KP 11  to the receiver, which receives and temporarily stores same. 
         [0059]    Not until after the first time interval ZI1 has elapsed does the key unit transmit the hash element H 2 , in act T 7 . In act T 8 , the receiver first checks whether the received hash element H 2  and the hash chain anchor H 3  actually belong to a hash chain, e.g., whether the condition H 3 =Hash (H 2 ) is true. If this is the case, the base key has been received correctly in the form of the hash element H 2 . In certain embodiments, the integrity of a hash element for a time interval is checked on the basis of a hash element from the time interval preceding the time interval. 
         [0060]    In act T 9 , the receiver first calculates the receiver key by the key derivation function KDF on the basis of the base key, (e.g., the hash element H 2  valid in the time interval), and the identifier KS 1  of the sender, (e.g., ES 1 =KDF (H 2 , KS 1 )). 
         [0061]    In act T 10 , the receiver then generates a second cryptographic checksum KP 21  for the received message N 1  on the basis of the message content of the message N 1  and on the basis of the receiver key ES 1 . 
         [0062]    Finally, in act T 11 , the integrity of the message N 1  is checked by comparing the first and second cryptographic checksums. If both checksums are identical then the integrity of the message is given. 
         [0063]    In the exemplary embodiment depicted in  FIG. 2 , the sender key SS 1 - 3  is valid only within the first time interval ZI1. The sender key SS 1 - 3  is not used outside this first time interval ZI1. For example, the sender key SS 1 - 2  is used within the second time interval ZI2. In addition, the base key for calculating the receiver key is not transmitted until after the respective time interval has elapsed. In  FIG. 2 , the base key H 2 , which has been selected to generate the sender key SS 1 - 3  valid in the first time interval ZI1, is not transmitted to the receiver until after the first time interval ZI1 has elapsed. 
         [0064]    The units U 1 , . . . , U 10  may be implemented and executed in software, hardware or in a combination of software and hardware. Hence, the acts implemented by the units may be stored as program code on a storage medium, in particular on a hard disk, CD-ROM or memory module, wherein the individual instructions of the program code are read and processed by at least one processing unit including a processor PROZ. The processor is connected to the storage medium via a bus for data transfer. In addition, an input/output unit may be connected via the bus LAN, wherein data such as messages, sender keys or base keys, for example, may be received and/or sent by the input/output unit EAU. In addition, the units may also be implemented and executed in distributed form across a plurality of processing units, wherein a processing unit is assigned to the key unit, a further processing unit is assigned to the sender, and another processing unit is assigned to the receiver; see  FIG. 3  for example. 
         [0065]    It is to be understood that the elements and features recited in the appended claims may be combined in different ways to produce new claims that likewise fall within the scope of the present invention. Thus, whereas the dependent claims appended below depend from only a single independent or dependent claim, it is to be understood that these dependent claims may, alternatively, be made to depend in the alternative from any preceding or following claim, whether independent or dependent, and that such new combinations are to be understood as forming a part of the present specification. 
         [0066]    While the present invention has been described above by reference to various embodiments, it may be understood that many changes and modifications may be made to the described embodiments. It is therefore intended that the foregoing description be regarded as illustrative rather than limiting, and that it be understood that all equivalents and/or combinations of embodiments are intended to be included in this description.