US20110002459A1 - Apparatus and method for transmitting and receiving data - Google Patents

Apparatus and method for transmitting and receiving data Download PDF

Info

Publication number
US20110002459A1
US20110002459A1 US12/796,483 US79648310A US2011002459A1 US 20110002459 A1 US20110002459 A1 US 20110002459A1 US 79648310 A US79648310 A US 79648310A US 2011002459 A1 US2011002459 A1 US 2011002459A1
Authority
US
United States
Prior art keywords
message
cryptogram
encryption key
key assigned
authentication code
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
US12/796,483
Other versions
US8464070B2 (en
Inventor
Dae Youb Kim
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Assigned to SAMSUNG ELECTRONICS CO., LTD. reassignment SAMSUNG ELECTRONICS CO., LTD. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: KIM, DAE YOUB
Publication of US20110002459A1 publication Critical patent/US20110002459A1/en
Application granted granted Critical
Publication of US8464070B2 publication Critical patent/US8464070B2/en
Active legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3242Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/126Applying verification of the received information the source of the received data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/60Digital content management, e.g. content distribution

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

Provided is an apparatus to transmit and receive data, and a method thereof. A data transmission apparatus may generate a first cryptogram and a second cryptogram by encrypting a message authentication code to be transmitted, using a plurality of encryption keys, and may transmit the generated first cryptogram and the second cryptogram to a data reception apparatus.

Description

    CROSS-REFERENCE TO RELATED APPLICATIONS
  • This application claims the benefit under 35 U.S.C. §119(a) of Korean Patent Application No. 10-2009-0050392 filed on Jun. 8, 2009, in the Korean Intellectual Property Office, the entire disclosure of which is incorporated herein by reference.
  • BACKGROUND
  • 1. Field
  • The following description relates to an apparatus to transmit and receive data, and a method thereof, and more particularly, to an apparatus to transmit and receive data that may reduce amounts of data transmitted during a message authentication, and may also be effectively prevent a denial-of-service (DoS) attack, and a method thereof.
  • 2. Description of Related Art
  • With the rapid development of various types of high speed Internet environments, there is a need for methods which prevent Internet criminals from infiltrating networks. In particular, where a server crashes or personal information is leaked due to an attack on a network by a computer hacker, a large amount of damage may be caused to an operator of a large portal site.
  • Types of network attacks may include an attack of hacking an Internet site to obtain confidential information or personal information, an attack of infecting a plurality of client computers with a malicious code (e.g., a computer virus or worm) to make the client computers transmit a large number of packets to a particular network system at one time and to thereby cause a server of the network system to go down, and the like.
  • In particular, the second type of above-mentioned network attack is also referred to as a denial-of-service (DoS) attack. Generally, the DoS attack may use a very simple attacking scheme. Tools to perform the DoS attack are readily available on the Internet and even an inexperienced computer hacker may easily attack a network system using the DoS attack.
  • Accordingly, there is a need for a method that may effectively defend against the DoS attack.
  • SUMMARY
  • In one general aspect, a data transmission apparatus includes an authentication code generator to generate a message authentication code using an i-th message and an encryption key assigned to the i-th message, wherein i denotes an integer greater than or equal to 1, an encryption unit to generate a first cryptogram by encrypting the message authentication code using encryption keys from an encryption key assigned to an (i−1)-th message to an encryption key assigned to an (i−d+1)-th message, and to generate a second cryptogram by encrypting the message authentication code using encryption keys from the encryption key assigned to the (i−1)-th message to an encryption key assigned to an (i-d)-th message, wherein d denotes an integer greater than or equal to 1, and a transmitter to transmit the i-th message, the first cryptogram, and the second cryptogram.
  • The encryption unit may generate the first cryptogram by sequentially encrypting the message authentication code using the encryption keys from the encryption key assigned to the (i−1)-th message to the encryption key assigned to the (i−d+1)-th message, and may generate the second cryptogram by sequentially encrypting the message authentication code using the encryption keys from the encryption key assigned to the (i−1)-th message to the encryption key assigned to the (i-d)-th message.
  • The transmitter may transmit the i-th message, the first cryptogram, the second cryptogram, and the encryption key assigned to the (i-d)-th message.
  • In another general aspect, a data reception apparatus includes a receiver to receive a first data packet that includes an i-th message, a first cryptogram associated with the i-th message, and a second cryptogram associated with the i-th message, and a second data packet that includes an encryption key assigned to an (i-k)-th message, wherein i denotes an integer greater than or equal to 1 and k denotes an integer greater than or equal to zero, a storage unit to store the i-th message, the first cryptogram, and the second cryptogram, and a control unit to manage a storage status of the i-th message, the first cryptogram, and the second cryptogram, using the encryption key assigned to the (i-k)-th message, the i-th message, the first cryptogram, and the second cryptogram.
  • The first cryptogram may be generated by sequentially encrypting a message authentication code using encryption keys from an encryption key assigned to an (i−1)-th message to an encryption key assigned to an (i−d+1)-th message, and the message authentication code may be generated using the i-th message and an encryption key assigned to the i-th message, and d may denote an integer greater than k, and the second cryptogram may be generated by sequentially encrypting the message authentication code using encryption keys from the encryption key assigned to the (i−1)-th message to an encryption key assigned to an (i-d)-th message.
  • The control unit may restore an encryption key assigned to an (i-k−1)-th message from the encryption key assigned to the (i-k)-th message, generate a second decryptogram by decrypting the second cryptogram using the restored encryption key assigned to the (i-k−1)-th message, and manage the storage status of the i-th message, the first cryptogram, and the second cryptogram through a comparison between the first cryptogram and the second decryptogram.
  • In response to the second decryptogram being identical to the first cryptogram, the control unit may generate a first decryptogram by decrypting the first cryptogram using the encryption key assigned to the (i-k)-th message, may substitute the first cryptogram with the first decryptogram, may store the first decryptogram in the storage unit, may substitute the second cryptogram with the second decryptogram, and may store the second decryptogram in the storage unit.
  • In response to the second decryptogram being different from the first cryptogram, the control unit deletes, from the storage unit, the i-th message, the first cryptogram, and the second cryptogram.
  • The control unit may generate a message authentication code associated with the i-th message using the i-th message and the encryption key assigned to the (i-k)-th message, and manage the storage status of the i-th message, the first cryptogram, and the second cryptogram through a comparison between the message authentication code and the first cryptogram.
  • In response to the message authentication code being different from the first cryptogram, the control unit may delete, from the storage unit, the i-th message, the first cryptogram, and the second cryptogram.
  • In still another general aspect, a data transmission method includes generating a message authentication code using an i-th message and an encryption key assigned to the i-th message, wherein i denotes an integer greater than or equal to 1, generating a first cryptogram by encrypting the message authentication code using encryption keys from an encryption key assigned to an (i−1)-th message to an encryption key assigned to an (i−d+1)-th message, and generating a second cryptogram by encrypting the message authentication code using encryption keys from the encryption key assigned to the (i−1)-th message to an encryption key assigned to an (i-d)-th message, wherein d denotes an integer greater than or equal to 1, and transmitting the i-th message, the first cryptogram, and the second cryptogram.
  • The generating of the first cryptogram and the second cryptogram may include generating the first cryptogram by sequentially encrypting the message authentication code using the encryption keys from the encryption key assigned to the (i−1)-th message to the encryption key assigned to the (i−d+1)-th message and generating the second cryptogram by sequentially encrypting the message authentication code using the encryption keys from the encryption key assigned to the (i−1)-th message to the encryption key assigned to the (i-d)-th message.
  • The transmitting may include transmitting the i-th message, the first cryptogram, the second cryptogram, and the encryption key assigned to the (i-d)-th message.
  • In yet another general aspect, there is provided a method of receiving data, the method including receiving a first data packet that includes an i-th message, a first cryptogram associated with the i-th message, and a second cryptogram associated with the i-th message, wherein i denotes an integer greater than or equal to 1, storing the i-th message, the first cryptogram, and the second cryptogram, receiving a second data packet that includes an encryption key assigned to an (i-k)-th message, wherein k denotes an integer greater than or equal to zero, and managing a storage status of the i-th message, the first cryptogram, and the second cryptogram using the encryption key assigned to the (i-k)-th message, the i-th message, and the first cryptogram, and the second cryptogram.
  • The first cryptogram may be generated by sequentially encrypting a message authentication code using encryption keys from an encryption key assigned to an (i−1)-th message to an encryption key assigned to an (i−d+1)-th message, and the message authentication code may be generated using the i-th message and an encryption key assigned to the i-th message, and d denotes an integer greater than k, and the second cryptogram may be generated by sequentially encrypting the message authentication code using encryption keys from the encryption key assigned to the (i−1)-th message to an encryption key assigned to an (i-d)-th message.
  • The managing may include restoring an encryption key assigned to an (i-k−1)-th message from the encryption key assigned to the (i-k)-th message, generating a second decryptogram by decrypting the second cryptogram using the restored encryption key assigned to the (i-k−1)-th message, and managing the storage status of the i-th message, the first cryptogram, and the second cryptogram through a comparison between the first cryptogram and the second decryptogram.
  • In response to the second decryptogram being identical to the first cryptogram, the managing may include generating a first decryptogram by decrypting the first cryptogram using the encryption key assigned to the (i-k)-th message, substituting the first cryptogram with the first decryptogram, storing the first decryptogram, substituting the second cryptogram with the second decryptogram and storing the second decryptogram.
  • In response to the second decryptogram being different from the stored first cryptogram, the managing may include deleting the stored i-th message, the stored first cryptogram, and the stored second cryptogram.
  • The managing may include generating a message authentication code associated with the i-th message using the i-th message and the encryption key assigned to the (i-k)-th message, and managing the storage status of the i-th message, the first cryptogram, and the second cryptogram through a comparison between the message authentication code and the first cryptogram.
  • In response to the message authentication code being different from the first cryptogram, the managing may include deleting the stored i-th message, the stored first cryptogram, and the stored second cryptogram.
  • In another general aspect, there is provided a system to transmit and receive data, including an authentication code generator to generate a message authentication code using an i-th message and an encryption key assigned to the i-th message, wherein i denotes an integer greater than or equal to 1; an encryption unit to generate a first cryptogram by encrypting the message authentication code using encryption keys from an encryption key assigned to an (i−1)-th message to an encryption key assigned to an (i−d+1)-th message, and to generate a second cryptogram by encrypting the message authentication code using encryption keys from the encryption key assigned to the (i−1)-th message to an encryption key assigned to an (i-d)-th message, wherein d denotes an integer greater than or equal to 1; a transmitter to transmit a first data packet that includes the i-th message, the first cryptogram, and the second cryptogram, and a second data packet that includes the encryption key assigned to the (i-d)-th message; a receiver to receive the first data packet that includes the i-th message, the first cryptogram, the second cryptogram, and the second data packet that includes the encryption key assigned to the (i-d)-th message; a storage unit to store the i-th message, the first cryptogram, and the second cryptogram; and a control unit to manage a storage status of the i-th message, the first cryptogram, and the second cryptogram, using the encryption key assigned to the (i-d)-th message, the i-th message, the first cryptogram, and the second cryptogram.
  • Other features and aspects will be apparent from the following detailed description, the drawings, and the claims.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIGS. 1A and 1B are diagrams illustrating an example of a concept of a TESLA (Timed Efficient Stream Loss-tolerant Authentication) protocol;
  • FIGS. 2A and 2B are diagrams illustrating an example of a concept of a staggered TESLA protocol;
  • FIG. 3 is a block diagram illustrating an example of a configuration of a system to transmit and receive data;
  • FIG. 4 is a diagram illustrating an example of an encryption operation that is performed by a data transmission apparatus;
  • FIG. 5 is a diagram illustrating an example of a decryption operation that is performed by a data reception apparatus;
  • FIG. 6 is a flowchart illustrating an example of a method of transmitting data; and
  • FIGS. 7 through 9 are flowcharts illustrating an example of a method of receiving data.
  • Throughout the drawings and the detailed description, unless otherwise described, the same drawing reference numerals will be understood to refer to the same elements, features, and structures. The elements may be exaggerated for clarity, illustration and convenience.
  • DETAILED DESCRIPTION
  • The following detailed description is provided to assist the reader in gaining a comprehensive understanding of the methods, apparatuses and/or systems described herein. Accordingly, various changes, modifications, and equivalents of the systems, apparatuses and/or methods described herein will be suggested to those of ordinary skill in the art. Descriptions of well-known functions and constructions may be omitted for increased clarity and conciseness.
  • FIGS. 1A and 1B illustrate an example of a concept of a Timed Efficient Stream Loss-tolerant Authentication (TESLA) protocol.
  • The TESLA protocol may include a message authentication code and a message in a data packet, and may transmit the data packet to verify that the data packet is transmitted from an authenticated source. Through this, the TESLA protocol may protect a data transmission apparatus (e.g., a server) and a data reception apparatus (e.g., a terminal) from a denial-of-service (DoS) attack.
  • Hereinafter, an example of transmitting the data packet from the data transmission apparatus to the data reception apparatus according to the TESLA protocol will be described with reference to FIG. 1A.
  • In a first operation, the data transmission apparatus may divide a time where the data packet is transmitted, into intervals each having a same duration. The data packet containing a single message may be transmitted in each of the intervals. Hereinafter, a message transmitted in an i-th interval is referred to as a message Mi.
  • In a second operation, the data transmission apparatus may allocate an encryption key to a corresponding message transmitted in each of the intervals. The encryption key may be used to generate a message authentication code associated with the message. Hereinafter, an encryption key assigned to the message Mi is referred to as an encryption key Ki.
  • The data transmission apparatus may perform a one-way function operation corresponding to a seed to generate the encryption key, which may be expressed by the following Equation 1.

  • K i =F 1(S i)   [Equation 1]
  • In the above Equation 1, F1( ) denotes a one-way function and Si denotes a seed with respect to the encryption key Ki.
  • A seed Si−1 with respect to an encryption key ki−1 assigned to a message Mi−1 may be calculated from the seed Si with respect to the encryption key Ki assigned to the message Mi, which may be expressed by the following Equation 2.

  • S n−1 =F 2(S n)   [Equation 2]
  • In the above Equation 2, F2( ) denotes the one-way function.
  • In a third operation, the data transmission apparatus may generate the message authentication associated with the message using the encryption key assigned to the message.
  • In a fourth operation, the data transmission apparatus may transmit, to the data reception apparatus, the data packet that includes the message, the message authentication code, and the seed of the encryption key. In this case, a seed of an encryption key transmitted in each of the intervals may be a seed of an encryption key assigned to a message being transmitted in a previous interval being d intervals prior to a current interval. Here, d denotes an integer greater than or equal to 1 and may be determined based on a maximum network delay for all the recipients, that is, all the data reception apparatuses to receive the data packet transmitted from the data transmission apparatus.
  • For example, as illustrated in FIG. 1A, a data packet transmitted in an i-th interval may include the message Mi, a seed Si-d of an encryption key Ki-d assigned to a message Mi-d being transmitted d intervals prior to the message Mi, and a message authentication code MAC(Ki, Mi) associated with the message Mi. Here, the message Mi may be generated using the encryption key Ki. The seed Si of the encryption key Ki assigned to the message Mi may be transmitted in an (i+d)-th interval after d intervals from the i-th interval. Hereinafter, the data packet transmitted to the data reception apparatus according to the TESLA protocol is referred to as a TESLA packet. The TESLA packet transmitted in the i-th interval may be expressed by TESLA packet {Mi, MAC(Ki, Mi), Si-d}.
  • For example, where d has a value of 3, a TESLA packet {Mi, MAC(Ki, Mi), Si−3} may be transmitted in the i-th interval, and a TESLA packet {Mi+3, MAC(Ki+3, Mi+3), Si} may be transmitted in an (i+3)-th interval.
  • Hereinafter, an operation of the data reception apparatus to authenticate a message included in a received data packet will be described with reference to FIG. 1B.
  • The data reception apparatus may store the message Mi and the message authentication code MAC(Ki, Mi) that are included in the TESLA packet {Mi, MAC(Ki, Mi), Si−d} transmitted in an i-th interval. The data reception apparatus may buffer the message Mi and the message authentication code MAC(Ki, Mi) until the seed Si of the encryption key Ki assigned to the message Mi is received.
  • In an (i+d)-th interval, the data reception apparatus may receive the TESLA packet {Mi+d, MAC(Ki+d, Mi+d), Si} including the seed Si of the encryption key Ki assigned to the message Mi. The data reception apparatus may calculate the encryption key Ki from the seed Si, and may authenticate the message Mi using the encryption key Ki, and the message authentication code MAC(Ki, Mi). Where the message Mi is unauthenticated, the data reception apparatus may delete the message Mi and the message authentication code MAC(Ki, Mi).
  • For example, where d has a value of 3, the data reception apparatus may receive a TESLA packet {Mi, MAC(Ki, Mi), Si−3} in the i-th interval and buffer the message Mi and the message authentication code MAC(Ki, Mi) until an (i+2)-th interval. The data reception apparatus may authenticate the message Mi using the seed Si included in a TESLA packet {Mi+3, MAC(Ki+3, Mi+3), Si}.
  • As described above, in the TESLA protocol, the message Mi and the message authentication code MAC(Ki, Mi) may need to be buffered until the seed Si of the encryption key Ki assigned to the message Mi is received. Therefore, the TESLA protocol may be weak against a DoS attack such as an overflow attack. A staggered TESLA protocol is proposed to overcome the above weakness. Hereinafter, the staggered TESLA protocol will be described in detail with reference to FIGS. 2A and 2B.
  • FIGS. 2A and 2B illustrate diagrams illustrating an example of a concept of a staggered TESLA protocol.
  • A data transmission apparatus to transmit data according to the staggered TESLA protocol may additionally transmit (d−1) message authentication codes to a TESLA packet to protect a data reception apparatus from a DoS attack.
  • Hereinafter, an example of transmitting the data packet from the data transmission apparatus to the data reception apparatus according to the staggered TESLA protocol will be described with reference to FIG. 2A.
  • In a first operation, the data transmission apparatus may divide a time where a message is transmitted, into intervals having a same duration.
  • In a second operation, the data transmission apparatus may allocate an encryption key to a corresponding message transmitted in each of the intervals. Descriptions related to the first operation and the second operation will be the same as or similar to descriptions made above regarding the TESLA protocol illustrated in FIGS. 1A and 1B, and thus further detailed descriptions will be omitted.
  • In a third operation, the data transmission apparatus may generate a plurality of message authentication codes associated with a message to be transmitted in each of the intervals.
  • In a fourth operation, the data transmission apparatus may transmit, to the data reception apparatus, a data packet that includes the message, the plurality of message authentication codes, and a seed of an encryption key.
  • For example, the data transmission apparatus may generate a staggered TESLA packet with the additionally added (d−1) message authentication codes in the third operation, and may transmit the generated staggered TESLA packet to the data reception apparatus in the fourth operation.
  • Where a potential Internet criminal (e.g., computer hacker, virus programmer, etc.) desires to fabricate a message Mi, the Internet criminal may be unaware of an encryption key Ki, and encryption keys Ki−1 through Ki−d+1. Accordingly, the data transmission apparatus may further transmit a message authentication code MAC(Ki, Mi) and the (d−1) message authentication codes and thereby make it more difficult for the Internet criminal to fabricate the message Mi, and may protect the data reception apparatus from the DoS attack.
  • The (d−1) message authentication codes may include message authentication codes MAC(Ki−1, Mi), MAC(Ki−2, Mi), . . . , MAC(Ki−d+1, Mi) associated with the message Mi that are generated using the encryption keys Ki−1 through Ki−d+1. Specifically, the data transmission apparatus to transmit data according to the staggered TESLA protocol may transmit, to the data reception apparatus, a staggered TESLA packet {Mi, MAC(Ki, Mi), MAC(Ki−1, Mi), MAC(Ki−2, Mi), . . . , MAC(Ki−d+1, Mi), Si−d} in an i-th interval.
  • For example, where d has a value of 3, a staggered TESLA packet {Mi, MAC(Ki, Mi), MAC(Ki, Mi), MAC(Ki−2, Mi), Si−3} may be transmitted in the i-th interval. A staggered TESLA packet Mi+3, MAC{Ki+3, Mi+3), MAC(Ki−4, Mi+3), MAC(Ki−5, Mi+3), Si} may be transmitted in an (1+3)-th interval.
  • Hereinafter, an operation of the data reception apparatus to authenticate a message included in a received data packet will be described with reference to FIG. 2B.
  • In the i-th interval, the data reception apparatus may receive the staggered TESLA packet {Mi, MAC(Ki, Mi), MAC(Ki−1, Mi), MAC(Ki−2, Mi), . . . , MAC(Ki−d+1, Mi), Si-d}, and may store the message Mi, and message authentication codes MAC(Ki, Mi) through MAC(Ki-d+1, Mi) that are included in the staggered TESLA packets.
  • In an (i+1)-th interval, the data reception apparatus may receive a staggered TESLA packet {Mi+1, MAC(Ki+1, Mi+1), MAC(Ki, Mi+1), MAC(Ki−1, Mi+1), . . . , MAC(Ki−d+2, Mi+1), Si−d+1}, and may determine whether to maintain or delete the stored message Mi based on the seed Si−d+1 and the message authentication code MAC(Ki−d+1, Mi) that are stored in the staggered TESLA packet.
  • For example, the data transmission apparatus may calculate an encryption key Ki−d+1 from the seed Si−d+1 using the above Equation 1, and may generate a message authentication code MAC′(Ki−d+1, Mi) associated with the message Mi using the encryption key Ki−d+1. The data transmission apparatus may compare whether the generated message authentication code MAC′(Ki−d+1, Mi) is identical to the stored message authentication code MAC(Ki−d+1, Mi). Where the message authentication code MAC′(Ki−d+1, Mi) is identical to the message authentication code MAC(Kd+1, Mi), the data reception apparatus may continuously buffer the message Mi and the remaining message authentication codes MAC(Ki, Mi) through MAC(Ki−d+2, Mi). Conversely, where the message authentication code MAC(Ki−d+1, Mi) is different from the message authentication code MAC(Ki−d+1, Mi), the data reception apparatus may delete the message Mi and the remaining message authentication codes MAC(Ki, Mi) through MAC(Ki−d+2, Mi).
  • In an (i+2)-th interval, the data reception apparatus may receive a staggered TESLA packet {Mi+2, MAC(Ki+2, Mi+2), MAC(Ki−1, Mi+2), MAC(Ki, Mi+2), . . . , MAC(Ki−d+3, Mi+2), Si−d+2}, and may determine whether to maintain or delete the stored message Mi using a seed Si−d+2 and a message authentication code MAC(Ki−d+2, Mi) that are included in the received staggered TESLA packet. The above operation may be the same as the aforementioned operation of the data reception apparatus that may be performed in the (i+1)-th interval.
  • The data reception apparatus may repeat an operation of maintaining or deleting the message Mi in each of the intervals until an (i+d)-th interval, that is, until the seed Si is received.
  • As illustrated in FIG. 2B, for example, in the case of d=3, where a generated message authentication code MAC′(Ki−2, Mi) is identical to a stored message authentication code MAC(Ki−2, Mi), the data reception apparatus may buffer the message Mi and message authentication codes MAC(Ki−1, Mi) and MAC(Ki, Mi) in the (i+1)-th interval. In the (i+2)-th interval, here a generated message authentication code MAC(Ki−1, Mi) is identical to a stored message authentication code MAC(Ki−1, Mi), the data reception apparatus may buffer the message Mi and the message authentication code MAC(Ki, Mi). In an (i+3)-th interval, where a generated message authentication code MAC′(Ki, Mi) is identical to the stored message authentication code MAC(Ki, Mi), the data reception apparatus may authenticate that the message Mi as a valid message.
  • As described above, the data reception apparatus may verify whether the message Mi is a valid message in advance before a d-th interval. Accordingly, it is possible to enhance a buffering efficiency of the message Mi.
  • According to the staggered TESLA protocol, a plurality of message authentication codes may need to be transmitted to the data reception apparatus, which may extend a length of a data packet to be transmitted. Since the data reception apparatus may need to store the plurality of message authentication codes, it may not provide efficient buffering. Accordingly, there is a need for a data transmission and reception protocol that may have similar positive functions to the staggered TESLA protocol, and may also decrease the length of the data packet to be transmitted and an amount of data to be buffered.
  • Hereinafter, a system to transmit and receive data according to an example will be described in detail with reference to FIG. 3.
  • FIG. 3 illustrates an example of a configuration of a system 300 to transmit and receive data.
  • Referring to FIG. 3, the system 300 includes a data transmission apparatus 310 and a data reception apparatus 320. The data transmission apparatus 310 includes an authentication code generator 311, an encryption unit 312, and a transmitter 313. The data reception apparatus 320 includes a receiver 321, a storage unit 322, and a control unit 323. Functions of the above system 300 and components thereof will be further described below.
  • Hereinafter, an operation of transmitting a data packet from the data transmission apparatus 310 to the data reception apparatus 320, and an operation of authenticating, by the data reception apparatus 320 receiving the data packet, a message included in the data packet will be described.
  • First, the operation of transmitting the data packet from the data transmission apparatus 310 to the data reception apparatus 320 will be described.
  • The data transmission apparatus 310 may divide a time where the data packet is transmitted, into intervals each having a same duration, and may transmit the data packet containing a single message in each of the intervals. The operation of transmitting the data packet in each of the intervals may be the same and thus only an operation of the data transmission apparatus 310 to transmit the data packet in an i-th interval will be described.
  • The authentication code generator 311 may generate a message authentication code associated with an i-th message using the i-th message and an encryption key assigned to the i-th message. As described above, the i-th message denotes a message Mi transmitted in the i-th interval. The encryption key assigned to the i-th message denotes an encryption key Ki. The message authentication code associated with the i-th message denotes a message authentication code MAC(Ki, Mi).
  • The encryption unit 312 may generate a first cryptogram by encrypting the message authentication code MAC(Ki, Mi) using encryption keys from an encryption key assigned to an (i−1)-th message to an encryption key assigned to an (i−d+1)-th message, that is, using encryption keys from an encryption key Ki−1 to an encryption key Ki−d+1. The encryption unit 312 may generate a second cryptogram by encrypting the message authentication code MAC(Ki, Mi) using encryption keys from the encryption key assigned to the (i−1)-th message to an encryption key assigned to an (i-d)-th message, that is, using encryption keys from the encryption key Ki−1 to an encryption key Ki-d.
  • To make it difficult for an Internet criminal to fabricate a message, the encryption unit 312 may encrypt the message authentication code MAC(Ki, Mi) using a plurality of encryption keys. In this case, the encryption unit 312 may generate the first cryptogram by encrypting the message authentication code MAC(Ki, Mi) using (d−1) encryption keys, that is, the encryption keys Ki−1 through Ki−d+1, and may generate the second cryptogram by encrypting the first cryptogram using the encryption key Ki-d. The first cryptogram and the second cryptogram may be used where the data reception apparatus 320 determines whether the message Mi is valid. Hereinafter, the first cryptogram with respect to the message authentication code MAC(Ki, Mi) is referred to as a cryptogram Ai, and the second cryptogram with respect to the message authentication code MAC(Ki, Mi) is referred to as a cryptogram Ci.
  • The transmitter 313 may transmit the message Mi, the cryptogram Ai, and the cryptogram Ci to the data reception apparatus 320. Here, the transmitter 313 may generate a data packet {Mi, Ai, Ci} that includes the message Mi, the cryptogram Ai, and the cryptogram Ci, and may transmit the generated data packet {Mi, Ai, Ci} to the data reception apparatus 320.
  • The transmitter 313 may generate a data packet {Mi, Ai, Ci, Ki-d} that further includes the encryption key Ki-d assigned to the (i-d)-th message in addition to the message Mi, the cryptogram Ai, and the cryptogram Ci, and may transmit the generated data packet {Mi, Ai, Ci, Ki-d} to the data reception apparatus 320.
  • Referring to FIG. 3, the encryption unit 312 may generate the cryptogram Ai by sequentially encrypting the message authentication code MAC(Ki, Mi) using the encryption keys Ki−1 through Ki−d+1. The encryption unit 312 may generate the cryptogram Ci by sequentially encrypting the message authentication code MAC(Ki, Mi) using the encryption keys Ki−1 through Ki-d. Hereinafter, an operation of the data transmission apparatus 310 to generate the cryptogram Ai and the cryptogram Ci by sequentially encrypting the message authentication code MAC(Ki, Mi) using the encryption keys through Ki−1 through Ki-d will be further described with reference to FIG. 4.
  • FIG. 4 illustrates an example of an encryption operation that may be performed by the data transmission apparatus 310.
  • For ease of description, it is assumed that d is an integer greater than or equal to 5.
  • In a first operation, the data transmission apparatus 310 may generate a message authentication code MAC(Ki, Mi) associated with a message Mi using an encryption key Ki. The message authentication code MAC(Ki, Mi) may be generated by the authentication code generator 311.
  • In a second operation, the data transmission apparatus may encrypt the message authentication code MAC(Ki, Mi) using an encryption key Ki−1.
  • In a third operation, the data transmission apparatus may re-encrypt the encrypted message authentication code MAC(Ki, Mi) using an encryption key Ki−2.
  • The data transmission apparatus 310 may generate a cryptogram Ai by repeating the above sequential encryption using encryption keys Ki−3 through Ki−d+1. In a d-th operation, the data transmission apparatus 310 may generate a cryptogram Ci by re-encrypting the cryptogram Ai using an encryption key Ki-d. As described above, the cryptogram Ai and the cryptogram Ci may be generated by the encryption unit 312.
  • The data transmission apparatus 310 may generate the cryptogram Ai and the cryptogram Ci by sequentially applying the encryption keys Ki−1 through Ki-d with respect to the message authentication code MAC(Ki, Mi).
  • Hereinafter, the system 300 to transmit and receive data will be described again with reference to FIG. 3.
  • The data reception apparatus 320 to receive a data packet transmitted from the data transmission apparatus 310 may authenticate whether a message included in the data packet is a valid message, and may perform various types of processes using the authenticated message.
  • Hereinafter, an operation of authenticating, by the data reception apparatus 320, the message included in the data packet will be described.
  • Since the same message authentication operation is performed in each interval, an operation of the data reception apparatus 320 to authenticate the message Mi received in the i-th interval will be described as an example.
  • The receiver 321 may receive the data packet {Mi, Ai, Ci, Ki−d} in the i-th interval.
  • As described above, the cryptogram Ai may be generated by sequentially encrypting the message authentication code MAC(Ki, Mi) associated with the message Mi using the encryption keys Ki through Ki−d+1. Here, the message Mi may be generated using the encryption key Ki. Also, the cryptogram Ci may be generated by sequentially encrypting the message authentication code MAC(Ki, Mi) using the encryption keys Ki−1 through Ki-d.
  • The storage unit 322 may store the message Mi, the cryptogram Ai, and the cryptogram Ci that are included in the data packet {Mi, Ai, Ci, Ki-d}.
  • The receiver 321 may receive a data packet q, {Mj, Ai, Cj, Kj-d} in a j-th interval. Here, j denotes an integer greater than i and less than i+d.
  • Since an encryption key Kj-d transmitted in the j-th interval has been transmitted in an interval being k intervals prior to the message Mi, that is, in an (i-k)-th interval, the encryption key Kj-d may be expressed by the encryption key Ki-k. Here, k denotes an integer greater than or equal to zero and less than d.
  • The control unit 323 may manage a storage status of the message Mi, the cryptogram Ai, and the cryptogram Ci using the encryption key Kj-d(=Ki-k) included in the data packet {Mj, Aj, Cj, K−j-d(=Ki-k)}, and the message Mi, the cryptogram Ai, and the cryptogram Ci stored in the storage unit 322.
  • Prior to authenticating a validity of the message Mi in an (i+d)-th interval, the control unit 323 may preliminarily determine the validity of the message Mi and determine whether to maintain or delete the stored message Mi, the cryptogram Ai, and the cryptogram Ci. Accordingly, the data transmission apparatus 310 may verify whether the message Mi is a valid message, in advance before the (i+d)-th interval, whereby a buffering efficiency of the message Mi may be enhanced.
  • Hereinafter, an operation of the data reception apparatus 320 to manage the storage status of the message Mi, the cryptogram Ai, and the cryptogram Ci using the encryption key Kj-d(=Ki-k), and the message Mi, the cryptogram Ai, and the cryptogram Ci stored in the storage unit 322 will be further described with reference to FIG. 5.
  • FIG. 5 is a diagram illustrating an example of a decryption operation that may be performed by the data reception apparatus 320.
  • Referring to FIG. 5, a cryptogram Ai may be generated by sequentially encrypting a message authentication code MAC(Ki, Mi) using encryption keys Ki−1 through Ki−d+1. Also, a cryptogram Ci may be generated by sequentially encrypting the message authentication code MAC(Ki, Mi) using encryption keys Ki−1 through Ki-d.
  • Where j=i+1, that is, in an (i+1)-th interval, the data reception apparatus 320 may perform the following operations. In a first operation, the receiver 321 may receive a data packet {Mi+1, Ai+1, Ci+1, Ki−d+1}.
  • In a second operation, the control unit 323 may restore an encryption key Ki-d using an encryption key Ki−d+1, which may be performed similarly to the above Equation 2. Like a seed, an encryption key may be restored using a one-way function operation, as given by the following Equation 3.

  • K i−1 =F 3(K i)   [Equation 3]
  • In the above Equation 3, F3( ) denotes a one-way function.
  • In a third operation, the control unit 323 may generate a second decryptogram by decrypting a stored cryptogram Ci, that is, a second cryptogram, using the restored encryption key Ki-d. Hereinafter, the second decryptogram is referred to as a decryptogram Ci′.
  • The cryptogram Ci may be generated by encrypting a cryptogram Ai, that is, a first cryptogam, using the encryption key Ki-d. Therefore, where a valid data packet is transmitted, the decryptogram Ci′ and the cryptogram Ai may need to be identical to each other. Where the decryptogram Ci′ is different from the cryptogram Ai, the received data packet may be transmitted from an unauthenticated user. Therefore, the data reception apparatus 320 storing the message Mi at an (i+d)-th interval may be ineffective in preventing an Internet criminal from infiltrating the system 300.
  • The control unit 323 may compare the decryptogram Ci′ and the cryptogram Ai to manage the storage status of the message Mi, the cryptogram Ai, and the cryptogram Ci.
  • In a fourth operation, the control unit 323 may compare whether the decryptogram Ci′ is identical to the cryptogram Ai.
  • Where the decryptogram Ci′ is different from the cryptogram Ai, the control unit 323 may determine the message Mi is an invalid message, and delete the message Mi, the cryptogram Ai, and the cryptogram Ci stored in the storage unit 322 in a fifth operation.
  • Conversely, where the decryptogram Ci′ is identical to the cryptogram Ai, the control unit 323 may determine the message Mi is a valid message in the fifth operation. In this case, the control unit 323 may generate a first decryptogram (hereinafter, referred to as Ai′) by decrypting the cryptogram Ai using an encryption key Ki−d+1, and may substitute the cryptogram Ai with the decryptogram Ai′ and store the decryptogram Ai′, and may substitute the cryptogram Ci with the decryptogram Ci′ and store the decryptogram Ci′. Specifically, the control unit 323 may update the cryptogram Ai and the cryptogram Ci according to the following Equation 4.

  • C i =D(K i-d , C i)   [Equation 4]

  • A i =D(K i−d+1 , A i)
  • In the above Equation 4, D( ) denotes a decryption operation.
  • Updating of the cryptogram Ai and the cryptogram Ci may be performed to preliminarily determine the validity of the message Mi in a subsequent interval, that is, in an (i+2)-th interval.
  • Where j=i+2, that is, in the (i+2)-th interval, the data reception apparatus 320 may repeat the aforementioned preliminary determination regarding the message Mi. Hereinafter, the above-described preliminary determination regarding the message Mi will be further described below.
  • In a first operation, the receiver 321 may receive a data packet {Mi+2, Ai+2, Ci+2, Ki−d+2}.
  • In a second operation, the control unit 323 may restore an encryption key Ki−d+1 using an encryption key Ki-d+2. The encryption key Ki-d+1 may be restored using the one-way function operation as given by the above Equation 3.
  • In a third operation, the control unit 323 may generate a decryptogram Ci′ by decrypting the stored cryptogram Ci using the restored encryption key Ki-d+1.
  • In a fourth operation, the control unit 323 may compare whether the generated decryptogram Ci′ is identical to the stored cryptogram Ai.
  • Since the cryptogram Ai and the cryptogram Ci are updated in an (i+1)-th interval, the decrypted decryptogram Ci′ and the cryptogram Ai may need to be identical to each other in the (i+2)-th interval where a valid data packet is received.
  • Where the decryptogram Ci′ is different from the cryptogram Ai, the control unit 323 may determine the message Mi is an invalid message, and delete the message Mi, the cryptogram Ai, and the cryptogram Ci stored in the storage unit 322, in a fifth operation.
  • Conversely, where the decryptogram Ci′ is identical to the cryptogram Ai, the control unit 323 may determine the message Mi is a valid message in the fifth operation. In this case, the control unit 323 may generate a decryptogram Ai′ by decrypting the cryptogram Ai using the received encryption key Ki-d+2, and may substitute the cryptogram Ai with the decryptogram Ai′ and store the decryptogram Ai′, and may substitute the cryptogram Ci with the decryptogram Ci′ and store the decryptogram Ci′, as given by the above Equation 4.
  • The data reception apparatus 320 may repeat the preliminary determination regarding the validity of the message Mi until j=i+d−1, that is, until an (i+d−1)-th interval.
  • Where j=i+d, that is, in an (i+d)-th interval, the data reception apparatus 320 may perform an operational of finally determining whether the message Mi is a valid message.
  • In a first operation, the receiver 321 may receive a data packet {Mi+d, Ai+d, Ci+d, Ki}.
  • In a second operation, the control unit 323 may generate a message authentication code MAC(Ki, Mi), stored in the storage unit 322, using the received encryption key Ki.
  • The cryptogram Ai updated in an (i+d−1)-th interval may be decrypted by sequentially applying encryption keys Ki−d+1 through Ki−1 with respect to the cryptogram Ai stored in the i-th interval. Specifically, the cryptogram Ai may be decrypted by sequentially applying the encryption keys Ki-d through Ki−1 with respect to the cryptogram Ci stored in the i-th interval. Therefore, where a valid data packet is received, the generated message authentication code MAC(Ki, Mi) may need to be identical to the cryptogram Ai stored in the (i+d−1) interval.
  • In a third operation, the control unit 323 may compare whether the generated message authentication code MAC(Ki, Mi) is identical to the stored cryptogram Ai.
  • Where the generated message authentication code MAC(Ki, Mi) is different from the stored cryptogram Ai, the control unit 323 may determine the message Mi is an invalid message, and thus delete the message Mi, the cryptogram Ai, and the cryptogram Ci stored in the storage unit 322 in a fourth operation.
  • Where the generated message authentication code MAC(Ki, Mi) is identical to the stored cryptogram Ai, the control unit 323 may determine or authenticate the message Mi is a valid message in the fourth operation.
  • Referring to FIGS. 3 and 5, it is possible to decrease an amount of data to be transmitted for a message authentication, and to decrease an amount of data to be buffered in the data reception apparatus 320. Accordingly, it is possible to more effectively cope with a DoS attack such as an overflow attack.
  • FIG. 6 illustrates a flowchart illustrating an example of a method of transmitting data.
  • At 610, the data transmission method generates a message authentication code MAC(Ki, Mi) associated with an i-th message, that is, a message Mi, using the message Mi and an encryption key Ki assigned to the message Mi.
  • At 620, the data transmission method generates a first cryptogram, that is, a cryptogram Ai by encrypting the message authentication code MAC(Ki, Mi) using encryption keys from an encryption key assigned to an (i−1)-th message to an encryption key assigned to an (i−d+1)-th message, that is, using encryption keys from an encryption key Ki−1 assigned to a message Mi−1 to an encryption key Ki+d−1 assigned to a message Mi+d−1, and generates a cryptogram Ci by encrypting the message authentication code MAC(Ki, Mi) using encryption keys from the encryption key Ki−1 assigned to the message Mi−1 to an encryption key assigned to an (i-d)-th message, that is, an encryption key Ki-d assigned to a message Mi-d.
  • Referring to FIG. 6, at 620, the data transmission method may generate the cryptogram Ai by sequentially encrypting the message authentication code MAC(Ki, Mi) using the encryption keys Ki−1 through Ki−d+1, and may generate the cryptogram Ai by sequentially encrypting the message authentication code MAC(Ki, Mi) using the encryption keys Ki−1 through Ki-d.
  • At 630, the data transmission method transmits the message Mi, the cryptogram Ai, and the cryptogram Ci. Here, the data transmission method may generate a data packet {Mi, Ai, Ci} that includes the message Mi, the cryptogram Ai, and the cryptogram Ci, and may transmit the generated data packet {Mi, Ai, Ci} to a data reception apparatus.
  • According to an example, the data transmission method may generate a data packet {Mi, Ai, Ci, Ki−d} that further includes the encryption key Ki-d assigned to the (i- d)-th message in addition to the message Mi, the cryptogram Ai, and the cryptogram Ci, and may transmit the generated data packet {Mi, Ai, Ci, Ki-d}.
  • FIGS. 7 through 9 illustrate flowcharts illustrating an example of a method of receiving data.
  • At 710, a data reception apparatus receives a first data packet that includes an i-th message, that is, a message Mi, a first cryptogram associated with the message Mi, that is, a cryptogram Ai, and a second cryptogram associated with the message Mi, that is, a cryptogram Ci. For example, the data packet may be a data packet {Mi, Ai, Ci, Ki-d}.
  • According to FIG. 7, the cryptogram Ai may be generated by sequentially encrypting a message authentication code MAC(Ki, Mi) using encryption keys Ki−1 through Ki−d+1. The cryptogram Ci may be generated by sequentially encrypting the message authentication code MAC(Ki, Mi) using the encryption keys Ki−1 through Ki-d.
  • At 720, the data reception apparatus stores the message Mi, the cryptogram Ai, and the cryptogram Ci.
  • At 730, the data reception apparatus receives a second data packet that includes an encryption key Ki-k assigned to an (i-k)-th message, that is, a message Mi-k. For example, the second data packet may be a data packet {Mj, Aj, Cj, Kj-k(=Ki-k)} transmitted in a j-th interval.
  • At 740, the data reception method manages a storage status of the message Mi, the cryptogram Ai, and the cryptogram Ci using the encryption key Ki-k, the message Mi, the cryptogram Ai, and the cryptogram Ci.
  • Hereinafter, operation 740 will be further described with reference to FIGS. 8 and 9.
  • Where the second data packet is received in any one of (i+1)-th through (i+d−1)-th intervals, 740 of FIG. 7 may be performed as follows.
  • Referring to FIG. 8. at 810, the data reception method restores an encryption key Ki-k−1 assigned to a message Mi-k−1, from the encryption key Ki-k assigned to the message Mi-k. In this case, the encryption key Ki-k−1 may be restored according to the above Equation 3.
  • At 820, the data reception method generates a decryptogram C1′, that is, a second decryptogram by decrypting the cryptogram Ci using the encryption key Ki-k−1.
  • At 830, the data reception method determines whether the decryptogram Ci′ is identical to the cryptogram Ai.
  • Where the decryptogram Ci′ is different from the cryptogram Ai, the data reception method deletes the message Mi, the cryptogram Ai, and the cryptogram Ci at 840.
  • Conversely, where the decryptogram Ci′ is identical to the cryptogram Ai, the data reception method generates a decryptogram Ai′, that is, a first decryptogram by encrypting the cryptogram Ai using the encryption key Ki-k at 850.
  • At 860, the data reception method substitutes the cryptogram Ai with the decryptogram Ai′, and stores the decryptogram Ai′.
  • At 870, the data reception method substitutes the cryptogram Ci with the decryptogram Ci′, and stores the decryptogram Ci′.
  • Where the second data packet is received in an (i+d)-th interval, 740 of FIG. 7 may be performed as follows.
  • Referring to FIG. 9, at operation 910, the data reception method generates the message authentication code MAC(Ki, Mi) associated with the message Mi using the encryption key Ki included in the data packet received in the (i+d)-th interval.
  • At 920, the data reception method determines whether the generated message authentication code MAC(Ki, Mi) is identical to the stored cryptogram Ai.
  • Where the message authentication code MAC(Ki, Mi) is different from the stored cryptogram Ai, the data reception method deletes the message Mi, the cryptogram Ai, and the cryptogram Ci at 930.
  • Where the message authentication code MAC(Ki, Mi) is identical to the stored cryptogram Ai, the data reception method authenticates the message Mi as a valid message at 940.
  • Examples of a data transmission method and a data reception method are described above. Descriptions made above in relation to a configuration of a system 300 to transmit and receive data as depicted in FIG. 3 may be applicable as described. Therefore, further detailed descriptions will be omitted here.
  • The methods and/or operations described above including a data transmission and reception method may be recorded, stored, or fixed in one or more computer-readable media that includes program instructions to be implemented by a computer to cause a processor to execute or perform the program instructions. The media may also include, alone or in combination with the program instructions, data files, data structures, and the like. The media and program instructions may be those specially designed and constructed, or they may be of the kind well-known and available to those having skill in the computer software arts. Examples of computer-readable media include magnetic media such as hard disks, floppy disks, and magnetic tape; optical media such as CD ROM disks and DVDs; magneto-optical media such as optical disks; and hardware devices that are specially configured to store and perform program instructions, such as read-only memory (ROM), random access memory (RAM), flash memory, and the like. Examples of program instructions include both machine code, such as produced by a compiler, and files containing higher level code that may be executed by the computer using an interpreter. The described hardware devices may be configured to act as one or more software modules in order to perform the operations and methods described above, or vice versa. In addition, a computer-readable storage medium may be distributed among computer systems connected through a network and computer-readable codes or program instructions may be stored and executed in a decentralized manner.
  • A number of examples have been described above. Nevertheless, it will be understood that various modifications may be made. For example, suitable results may be achieved if the described techniques are performed in a different order and/or if components in a described system, architecture, device, or circuit are combined in a different manner and/or replaced or supplemented by other components or their equivalents. Accordingly, other implementations are within the scope of the following claims.

Claims (20)

1. An apparatus to transmit data, comprising:
an authentication code generator to generate a message authentication code using an i-th message and an encryption key assigned to the i-th message, wherein i denotes an integer greater than or equal to 1;
an encryption unit to generate a first cryptogram by encrypting the message authentication code using encryption keys from an encryption key assigned to an (i−1)-th message to an encryption key assigned to an (i−d+1)-th message, and to generate a second cryptogram by encrypting the message authentication code using encryption keys from the encryption key assigned to the (i−1)-th message to an encryption key assigned to an (i-d)-th message, wherein d denotes an integer greater than or equal to 1; and
a transmitter to transmit the i-th message, the first cryptogram, and the second cryptogram.
2. The apparatus of claim 1, wherein the encryption unit generates the first cryptogram by sequentially encrypting the message authentication code using the encryption keys from the encryption key assigned to the (i−1)-th message to the encryption key assigned to the (i−d+1)-th message, and generates the second cryptogram by sequentially encrypting the message authentication code using the encryption keys from the encryption key assigned to the (i−1)-th message to the encryption key assigned to the (i-d)-th message.
3. The apparatus of claim 2, wherein the transmitter transmits the i-th message, the first cryptogram, the second cryptogram, and the encryption key assigned to the (i-d)-th message.
4. An apparatus to receive data, comprising:
a receiver to receive a first data packet that includes an i-th message, a first cryptogram associated with the i-th message, and a second cryptogram associated with the i-th message, and a second data packet that includes an encryption key assigned to an (i-k)-th message, wherein i denotes an integer greater than or equal to 1 and k denotes an integer greater than or equal to zero;
a storage unit to store the i-th message, the first cryptogram, and the second cryptogram; and
a control unit to manage a storage status of the i-th message, the first cryptogram, and the second cryptogram, using the encryption key assigned to the (i-k)-th message, the i-th message, the first cryptogram, and the second cryptogram.
5. The apparatus of claim 4, wherein:
the first cryptogram is generated by sequentially encrypting a message authentication code using encryption keys from an encryption key assigned to an (i−1)-th message to an encryption key assigned to an (i−d+1)-th message, and the message authentication code is generated using the i-th message and an encryption key assigned to the i-th message, and d denotes an integer greater than k, and
the second cryptogram is generated by sequentially encrypting the message authentication code using encryption keys from the encryption key assigned to the (i−1)-th message to an encryption key assigned to an (i-d)-th message.
6. The apparatus of claim 5, wherein the control unit restores an encryption key assigned to an (i-k−1)-th message from the encryption key assigned to the (i-k)-th message, generates a second decryptogram by decrypting the second cryptogram using the restored encryption key assigned to the (i-k−1)-th message, and manages the storage status of the i-th message, the first cryptogram, and the second cryptogram through a comparison between the first cryptogram and the second decryptogram.
7. The apparatus of claim 6, wherein, in response to the second decryptogram being identical to the first cryptogram, the control unit generates a first decryptogram by decrypting the first cryptogram using the encryption key assigned to the (i-k)-th message, substitutes the first cryptogram with the first decryptogram, stores the first decryptogram in the storage unit, substitutes the second cryptogram with the second decryptogram, and stores the second decryptogram in the storage unit.
8. The apparatus of claim 6, wherein, in response to the second decryptogram being different from the stored first cryptogram, the control unit deletes, from the storage unit, the stored i-th message, the first cryptogram, and the second cryptogram.
9. The apparatus of claim 4, wherein the control unit generates a message authentication code associated with the i-th message using the i-th message and the encryption key assigned to the (i-k)-th message, and manages the storage status of the i-th message, the first cryptogram, and the second cryptogram through a comparison between the message authentication code and the first cryptogram.
10. The apparatus of claim 9, wherein, in response to the message authentication code being different from the first cryptogram, the control unit deletes, from the storage unit, the i-th message, the first cryptogram, and the second cryptogram.
11. A method of transmitting data, the method comprising:
generating a message authentication code using an i-th message and an encryption key assigned to the i-th message, wherein i denotes an integer greater than or equal to 1;
generating a first cryptogram by encrypting the message authentication code using encryption keys from an encryption key assigned to an (i−1)-th message to an encryption key assigned to an (i−d+1)-th message, and generating a second cryptogram by encrypting the message authentication code using encryption keys from the encryption key assigned to the (i−1)-th message to an encryption key assigned to an (i- d)-th message, wherein d denotes an integer greater than or equal to 1; and
transmitting the i-th message, the first cryptogram, and the second cryptogram.
12. The method of claim 11, wherein the generating of the first cryptogram and the second cryptogram comprises:
generating the first cryptogram by sequentially encrypting the message authentication code using the encryption keys from the encryption key assigned to the (i−1)-th message to the encryption key assigned to the (i−d+1)-th message; and
generating the second cryptogram by sequentially encrypting the message authentication code using the encryption keys from the encryption key assigned to the (i−1)-th message to the encryption key assigned to the (i-d)-th message.
13. The method of claim 12, wherein the transmitting comprises transmitting the i-th message, the first cryptogram, the second cryptogram, and the encryption key assigned to the (i-d)-th message.
14. A method of receiving data, the method comprising:
receiving a first data packet that includes an i-th message, a first cryptogram associated with the i-th message, and a second cryptogram associated with the i-th message, wherein i denotes an integer greater than or equal to 1;
storing the i-th message, the first cryptogram, and the second cryptogram;
receiving a second data packet that includes an encryption key assigned to an (i-k)-th message, wherein k denotes an integer greater than or equal to zero; and
managing a storage status of the i-th message, the first cryptogram, and the second cryptogram using the encryption key assigned to the (i-k)-th message, the i-th message, and the first cryptogram, and the second cryptogram.
15. The method of claim 14, wherein:
the first cryptogram is generated by sequentially encrypting a message authentication code using encryption keys from an encryption key assigned to an (i−1)-th message to an encryption key assigned to an (i−d+1)-th message, and the message authentication code is generated using the i-th message and an encryption key assigned to the i-th message, and d denotes an integer greater than k, and
the second cryptogram is generated by sequentially encrypting the message authentication code using encryption keys from the encryption key assigned to the (i−1)-th message to an encryption key assigned to an (i-d)-th message.
16. The method of claim 15, wherein the managing comprises:
restoring an encryption key assigned to an (i-k−1)-th message from the encryption key assigned to the (i-k)-th message;
generating a second decryptogram by decrypting the second cryptogram using the restored encryption key assigned to the (i-k−1)-th message; and
managing the storage status of the i-th message, the first cryptogram, and the second cryptogram through a comparison between the first cryptogram and the second decryptogram.
17. The method of claim 16, wherein, in response to the second decryptogram being identical to the first cryptogram, the managing comprises:
generating a first decryptogram by decrypting the first cryptogram using the encryption key assigned to the (i-k)-th message;
substituting the first cryptogram with the first decryptogram;
storing the first decryptogram;
substituting the second cryptogram with the second decryptogram; and
storing the second decryptogram.
18. The method of claim 16, wherein, in response to the second decryptogram being different from the stored first cryptogram, the managing comprises deleting the stored i-th message, the stored first cryptogram, and the stored second cryptogram.
19. The method of claim 14, wherein the managing comprises:
generating a message authentication code associated with the i-th message using the i-th message and the encryption key assigned to the (i-k)-th message; and
managing the storage status of the i-th message, the first cryptogram, and the second cryptogram through a comparison between the message authentication code and the first cryptogram.
20. A system to transmit and receive data, comprising:
an authentication code generator to generate a message authentication code using an i-th message and an encryption key assigned to the i-th message, wherein i denotes an integer greater than or equal to 1;
an encryption unit to generate a first cryptogram by encrypting the message authentication code using encryption keys from an encryption key assigned to an (i−1)-th message to an encryption key assigned to an (i−d+1)-th message, and to generate a second cryptogram by encrypting the message authentication code using encryption keys from the encryption key assigned to the (i−1)-th message to an encryption key assigned to an (i-d)-th message, wherein d denotes an integer greater than or equal to 1;
a transmitter to transmit a first data packet that includes the i-th message, the first cryptogram, and the second cryptogram, and a second data packet that includes the encryption key assigned to the (i-d)-th message;
a receiver to receive the first data packet that includes the i-th message, the first cryptogram, the second cryptogram, and the second data packet that includes the encryption key assigned to the (i-d)-th message;
a storage unit to store the i-th message, the first cryptogram, and the second cryptogram; and
a control unit to manage a storage status of the i-th message, the first cryptogram, and the second cryptogram, using the encryption key assigned to the (i-d)-th message, the i-th message, the first cryptogram, and the second cryptogram.
US12/796,483 2009-06-08 2010-06-08 Apparatus and method for transmitting and receiving data Active 2031-03-23 US8464070B2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020090050392A KR101584987B1 (en) 2009-06-08 2009-06-08 Apparatus for transmitting and receiving data and method using the same
KR10-2009-0050392 2009-06-08

Publications (2)

Publication Number Publication Date
US20110002459A1 true US20110002459A1 (en) 2011-01-06
US8464070B2 US8464070B2 (en) 2013-06-11

Family

ID=43412674

Family Applications (1)

Application Number Title Priority Date Filing Date
US12/796,483 Active 2031-03-23 US8464070B2 (en) 2009-06-08 2010-06-08 Apparatus and method for transmitting and receiving data

Country Status (2)

Country Link
US (1) US8464070B2 (en)
KR (1) KR101584987B1 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110051927A1 (en) * 2009-08-27 2011-03-03 Nxp B.V. Device for generating a message authentication code for authenticating a message
US20150156176A1 (en) * 2013-12-02 2015-06-04 Mastercard International Incorporated Method and system for secure transmission of remote notification service messages to mobile devices without secure elements
US9177123B1 (en) * 2013-09-27 2015-11-03 Emc Corporation Detecting illegitimate code generators
US20160094347A1 (en) * 2014-09-30 2016-03-31 Alibaba Group Holding Limited Method and system for secure management of computer applications
US20160148002A1 (en) * 2013-07-18 2016-05-26 Nippon Telegraph And Telephone Corporation Key storage apparatus, key storage method and program therefor
RU2701128C1 (en) * 2018-10-26 2019-09-24 Закрытое акционерное общество Научно-технический центр "Модуль" Binary information encryption method

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102208072B1 (en) * 2014-09-01 2021-01-27 삼성전자주식회사 Data processing system
US10630534B1 (en) 2016-12-02 2020-04-21 Worldpay, Llc Systems and methods for subscribing topics and registering computer server event notifications

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080125043A1 (en) * 2006-11-29 2008-05-29 Lg Electronics Inc. Protection of access information in wireless communications
US7401217B2 (en) * 2003-08-12 2008-07-15 Mitsubishi Electric Research Laboratories, Inc. Secure routing protocol for an ad hoc network using one-way/one-time hash functions
US7934095B2 (en) * 2006-11-10 2011-04-26 Toyota Motor Engineering & Manufacturing North America, Inc. Method for exchanging messages and verifying the authenticity of the messages in an ad hoc network

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1343286A1 (en) 2002-03-04 2003-09-10 BRITISH TELECOMMUNICATIONS public limited company Lightweight authentication of information
US8116243B2 (en) 2006-10-05 2012-02-14 Electronics And Telecommunications Research Institute Wireless sensor network and adaptive method for monitoring the security thereof

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7401217B2 (en) * 2003-08-12 2008-07-15 Mitsubishi Electric Research Laboratories, Inc. Secure routing protocol for an ad hoc network using one-way/one-time hash functions
US7934095B2 (en) * 2006-11-10 2011-04-26 Toyota Motor Engineering & Manufacturing North America, Inc. Method for exchanging messages and verifying the authenticity of the messages in an ad hoc network
US20080125043A1 (en) * 2006-11-29 2008-05-29 Lg Electronics Inc. Protection of access information in wireless communications

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110051927A1 (en) * 2009-08-27 2011-03-03 Nxp B.V. Device for generating a message authentication code for authenticating a message
US9497021B2 (en) * 2009-08-27 2016-11-15 Nxp B.V. Device for generating a message authentication code for authenticating a message
US20160148002A1 (en) * 2013-07-18 2016-05-26 Nippon Telegraph And Telephone Corporation Key storage apparatus, key storage method and program therefor
US9177123B1 (en) * 2013-09-27 2015-11-03 Emc Corporation Detecting illegitimate code generators
WO2015084797A1 (en) * 2013-12-02 2015-06-11 Mastercard International Incorporated Method and system for secure tranmission of remote notification service messages to mobile devices without secure elements
US20150156176A1 (en) * 2013-12-02 2015-06-04 Mastercard International Incorporated Method and system for secure transmission of remote notification service messages to mobile devices without secure elements
AU2014357343B2 (en) * 2013-12-02 2017-10-19 Mastercard International Incorporated Method and system for secure tranmission of remote notification service messages to mobile devices without secure elements
RU2642821C2 (en) * 2013-12-02 2018-01-29 Мастеркард Интернэшнл Инкорпорейтед Method and system for protected transmition of remote notify service messages to mobile devices without protected elements
US10007909B2 (en) * 2013-12-02 2018-06-26 Mastercard International Incorporated Method and system for secure transmission of remote notification service messages to mobile devices without secure elements
RU2661910C1 (en) * 2013-12-02 2018-07-23 Мастеркард Интернэшнл Инкорпорейтед Method and system for protected communication of remote notification service messages to mobile devices without protected elements
CN111160902A (en) * 2013-12-02 2020-05-15 万事达卡国际股份有限公司 Method and system for secure delivery of remote notification service messages to mobile devices without secure elements
US11334890B2 (en) 2013-12-02 2022-05-17 Mastercard International Incorporated Method and system for secure authentication of user and mobile device without secure elements
US20160094347A1 (en) * 2014-09-30 2016-03-31 Alibaba Group Holding Limited Method and system for secure management of computer applications
US10284372B2 (en) * 2014-09-30 2019-05-07 Alibaba Group Holding Limited Method and system for secure management of computer applications
RU2701128C1 (en) * 2018-10-26 2019-09-24 Закрытое акционерное общество Научно-технический центр "Модуль" Binary information encryption method

Also Published As

Publication number Publication date
KR101584987B1 (en) 2016-01-13
KR20100131678A (en) 2010-12-16
US8464070B2 (en) 2013-06-11

Similar Documents

Publication Publication Date Title
US8464070B2 (en) Apparatus and method for transmitting and receiving data
EP1359491B1 (en) Methods for remotely changing a communications password
US9852300B2 (en) Secure audit logging
US7895436B2 (en) Authentication system and remotely-distributed storage system
US7457411B2 (en) Information security via dynamic encryption with hash function
JP5224481B2 (en) Password authentication method
CN110719165A (en) Block chain distributed dynamic network key generation and encryption method
CN110868291B (en) Data encryption transmission method, device, system and storage medium
Sari et al. Comparative analysis of wireless security protocols: WEP vs WPA
CN110381055B (en) RFID system privacy protection authentication protocol method in medical supply chain
CN110545285B (en) Internet of things terminal security authentication method based on security chip
CN106470103B (en) Method and system for sending encrypted URL request by client
CN101938500A (en) Method and system for verifying source address
JP2017524306A (en) Protection against malicious changes in cryptographic operations
US11765133B2 (en) Authentication scheme in a virtual private network
GB2488753A (en) Encrypted communication
Islam et al. A novel approach for client side encryption in cloud computing
US11943201B2 (en) Authentication procedure in a virtual private network
KR102400260B1 (en) In-vehicle communication system based on edge computing using attribute-based access control and method thereof
Paverd et al. Omnishare: Encrypted cloud storage for the multi-device era
KR100381710B1 (en) Method For Security In Internet Server Based Upon Membership Operating System And Server Systems Regarding It
CN115865524B (en) Data security transmission method and system
Nasir et al. Prevention of disclosure attack on a mutual authentication protocol using RFID tag in IoT
US20230239138A1 (en) Enhanced secure cryptographic communication system
JP6538923B2 (en) Authentication system, method, program and server

Legal Events

Date Code Title Description
AS Assignment

Owner name: SAMSUNG ELECTRONICS CO., LTD., KOREA, REPUBLIC OF

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:KIM, DAE YOUB;REEL/FRAME:025009/0847

Effective date: 20100917

FEPP Fee payment procedure

Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

STCF Information on status: patent grant

Free format text: PATENTED CASE

FPAY Fee payment

Year of fee payment: 4

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 8