WO2009133206A1 - Verfahren zur bestimmung einer kette von schlüsseln, verfahren zur übertragung einer teilkette der schlüssel, computersystem und chipkarte - Google Patents

Verfahren zur bestimmung einer kette von schlüsseln, verfahren zur übertragung einer teilkette der schlüssel, computersystem und chipkarte Download PDF

Info

Publication number
WO2009133206A1
WO2009133206A1 PCT/EP2009/055350 EP2009055350W WO2009133206A1 WO 2009133206 A1 WO2009133206 A1 WO 2009133206A1 EP 2009055350 W EP2009055350 W EP 2009055350W WO 2009133206 A1 WO2009133206 A1 WO 2009133206A1
Authority
WO
WIPO (PCT)
Prior art keywords
key
chain
function
keys
string
Prior art date
Application number
PCT/EP2009/055350
Other languages
English (en)
French (fr)
Inventor
Christoph Ruland
Original Assignee
Secutanta Gmbh
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 Secutanta Gmbh filed Critical Secutanta Gmbh
Priority to EP09738250A priority Critical patent/EP2321927A1/de
Priority to US13/124,080 priority patent/US20120027212A1/en
Publication of WO2009133206A1 publication Critical patent/WO2009133206A1/de

Links

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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • 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/12Transmitting and receiving encryption devices synchronised or initially set up in a particular manner
    • 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/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • 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/12Details relating to cryptographic hardware or logic circuitry
    • H04L2209/127Trusted platform modules [TPM]
    • 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/80Wireless
    • H04L2209/805Lightweight hardware, e.g. radio-frequency identification [RFID] or sensor

Definitions

  • the invention relates to a method for determining a resulting chain of keys, a method for transmitting a sub-string of the resulting string of keys, a method for receiving a sub-string of the resulting string of keys and corresponding computer program products, a computer system and an electronic device, in particular a security token , such as a chip card, SIM card or an RFID tag.
  • a security token such as a chip card, SIM card or an RFID tag.
  • cryptographic keys are used to secure information, files or programs against unauthorized access or unauthorized use, or serve as a proof of eligibility for the use of a service, access to a protected area or for other authentication purposes.
  • This use of cryptographic keys requires the distribution and management of the keys, which are generally referred to as "key management”.
  • US 2007/0127719 A1 discloses a method for the key management of cryptographic keys.
  • a one-way trapdoor function is used, which is applied iteratively. This creates a chain of cryptographic keys.
  • the disadvantage here is that a recipient of a key of this chain can calculate all of this key preceding the key of the chain, whereby the recipient receives access to such key, with respect to which he is not entitled. It is an object of the invention to provide an improved method of determining a chain of keys, a method of transmitting a sub-string, a method of receiving a sub-string and a corresponding computer system, computer program product and electronic device.
  • a method for determining a resulting chain of keys comprises the following steps: Determination of a first chain of first keys, wherein a first function can be used to calculate a predecessor key from each successor key of the first chain, whereby the first function is a one-way trapdoor. Function or a one-way function; Determining a second chain of second keys by iteratively applying a second function, wherein the second function is also a one-way trapdoor function or a one-way function, wherein each key of the resulting chain consists of a first one Key of the first chain and a second key of the second chain is determinable.
  • a first successor key to generate the first chain, starting from a predetermined initial key of the first chain, i. the first predecessor key, a first successor key.
  • the first successor key then serves as a predecessor key for determining a further successor key, etc., up to an end key of the first chain.
  • the direction from the initial key to the end key of a string is hereinafter defined as "forward direction”.
  • the number of successor keys until the end key is reached may be indefinite.
  • the determination of the resulting chain of keys thus takes place with the aid of the first and second chains.
  • the first chain has the property that each predecessor key in the first chain can be calculated from its successor key, namely by a predefined first function.
  • the second chain has the property that each successor key can be calculated from its predecessor key, using a predefined second function.
  • a "one-way function” is understood here to be any function whose inverse function can not be calculated, or only with a very large amount of computation.
  • the page that determines the keys has so much computing power that it can perform the inverse function, but it is assumed that the participants are unable to do so.
  • each key of the resulting string is determined by combining a key of the first string and a key of the second string together in a predefined manner, for example by concatenating the two keys, i. be concatenated by subjecting the two keys to a logical and / or arithmetic operation, which in turn may involve another key, such as a bitwise exclusive-OR (XOR) operation, or by providing a function value of a one-way function, such as the Function value of a one-way hash function from the two keys is determined.
  • this one-way hash function can be initialized with a secret value.
  • the selection of at least one key from the first chain and at least one key from the second chain for the determination of a key of the resulting chain can take place in the order given by the chains or according to another predefined scheme.
  • Embodiments of the invention are particularly advantageous because they enable particularly effective key management for the distribution of cryptographic keys.
  • To transmit a sub-string of the resulting chain of keys to a subscriber it is only necessary that one of the Key of the second chain, which has been used, for example, to determine the initial key of the resulting substring, and a key of the first chain, which has been used, for example, to determine the end key of the resulting substring, are transmitted to the subscriber.
  • the first and / or the second function is a HASH function, an RSA operation, an operation of the Rabin method, or an operation of a method based on the problem of the discrete logarithm.
  • this is used only in the forward direction, ie for calculating a key Ej + i from the preceding key in the second chain Ei; If necessary, a public key belonging to the second function can be used for this purpose.
  • the "resulting substring” is here understood to mean a defined portion of the resulting string, the defined portion including keys intended for one or more participants, the defined portion starting with an initial key and ending with an end key.
  • the subscriber can calculate from the received key of the first chain by using the first function all predecessor keys of the received key in the first chain.
  • the subscriber can calculate from the received key of the second string all the successor keys of the received key in the second string.
  • the subscriber still only receives knowledge of the substring of the resulting keys, since he can not calculate predecessor keys of the received key of the second string and also no successor keys of the received key of the first string.
  • the keys of the resulting sub-string can then be calculated on the subscriber side.
  • the subscriber side it is advantageous that the subscriber side not the It is also possible to determine keys of the resulting string that are predecessor keys to the initial key of the substring.
  • the first function is a one-way function.
  • a follower key to generate the first chain from an initial key of the first chain, a follower key must be determined so that the initial key is obtained by applying the one-way function. The same applies to the key of the first chain following the initial key.
  • a successor key can be found, for example, randomly generated candidates for successor keys, which are then subsequently checked to see if they have the predecessor key when using the one-way function. As soon as such a successor key has been found, it becomes the predecessor key, for which in turn a successor key is searched for.
  • the method of finding the successor key by means of a one-way function must require so much computing capacity that this is only possible for the computer system used for key generation.
  • this computer system is a high-performance key generation center. Since such a large computer performance is usually not available to the participants, they can not find the successor key with the method described above.
  • the key generation center is operated by a provider to provide encrypted content, e.g. so-called content to deliver to the participants.
  • the first function is a one-way trapdoor function.
  • a "one-way trapdoor function” is a special case of a one-way function, and the inverse function of a one-way trapdoor function can not be calculated at all or can only be calculated with considerable effort, as is the case with a one-way trapdoor function.
  • Way function is the case, unless one has knowledge of the so-called "trapdoor”.
  • the "trapdoor” is a secret that allows you to easily calculate the inverse of the one-way trapdoor feature, which makes it easy to generate the first chain with little effort, because for each predecessor key, the Successor key can be calculated using the inverse function of the one-way trapdoor function, since the "trapdoor” is known to the producer of the chains.
  • the "trapdoor” is a private key of an asymmetric key pair that is known only to the producer of the resulting chain of keys, for example, the private key in a protected memory area of a smart card or in a so-called secure computing Platform, so reading is not possible.
  • the one-way trapdoor function is an RSA operation (modular exponentiation with certain parameter requirements) as it is known per se for the generation and verification of digital signatures (see, for example, R. Rivest, A. Shamir, and L. Adleman, "A method for obtaining digital signatures and public key cryptosystems," in Communications of the ACM, vol. 21, no. 2, 1978, pp. 120-126.)
  • the RSA operation is used with the help of the private key in order to realize the inverse function in this way and to calculate a successor key for each predecessor key in the first chain.
  • a predecessor key of the first string can be calculated using the RSA operation and the public key, thereby realizing the function.
  • ni for the first chain and e 2, d 2, n 2 are ei, di, used for the second chain, preferably at least (di, ni) and (d 2, n 2) are different.
  • the first function is a Rabin function, cf. M. O. Rabin, "Digitalized Signatures", Foundations of Secure Computation, R. Lipton and R. D. MiIIo, Eds. New York: Academic Press, 1978, pp. 155-166.
  • the invention in another aspect, relates to a method of transmitting a substring of a resulting string of keys.
  • the substring has an initial key and an end key.
  • To send the substring to a receiver it is only necessary to send the first-key end-key and the second-chain start key to the receiver. The recipient This will provide the necessary information to calculate all the keys of the substring of the resulting string.
  • an extension of the substring is transmitted to the receiver by sending only one more key of the first string to the receiver, the further key in the first string in the forward direction of the first string being behind the first sent
  • the transmission of the key of the first chain and the key of the second chain to the receiver takes place via a network, in particular a public network, such as the Internet, satellite or broadband cable distribution networks.
  • a network in particular a public network, such as the Internet, satellite or broadband cable distribution networks.
  • the transmission is encrypted, preferably according to a secure messaging method.
  • the first and second chains as well as the resulting chain may be associated with a particular subscriber or group of participants, i. separate keys are created for each participant or group of participants. Furthermore, the length of the resulting chain can be limited. When the resulting string has reached a maximum length, starting with new starting values for the first and / or second chains, a new resulting string is generated. This is particularly advantageous when one or more subscribers e.g. his or her subscription has terminated and then resumed or have resumed.
  • the invention relates to a method for receiving a substring of a resulting string of keys. From the received key of the first chain, the receiver calculates predecessor keys in the first chain using the first function. Further, the receiver calculates successor keys from the received key of the second string using the second function. From the thus calculated keys of the first and second chains, the receiver then calculates keys of the substring of the resulting string. Optionally, another key can be used for this, which already exists at the receiver. This further key is used to generate a resulting key from keys of the first and second substrings.
  • an extension of the partial chain is received by receiving a further key of the first chain, which lies in the first chain behind the key initially received.
  • the invention in another aspect, relates to a computer program product having executable instructions for carrying out one or more of the methods of the invention.
  • the invention relates to a computer system for determining a resulting chain of keys, the computer system comprising means for generating the first chain and the second chain of keys.
  • the calculation of the resulting chain from the keys of the first and second chains can be done by this computer system itself or by another computer system, such as a provider computer system of an online service or product provider.
  • the invention relates to a computer system for receiving the first chain and the second chain, and optionally the resulting chain of keys.
  • the provider computer system for example, encrypts files or programs using the keys of the resulting chain and transmits to its participants in each case a sub-string of the resulting chain, the one to a Subscriber sent sub-string corresponds to the services used by this subscriber of the provider.
  • the invention relates to an electronic device for receiving a sub-string of the resulting chain of keys.
  • the computer system may be a personal computer of a subscriber. In order to avoid misuse of the partial chain received by the subscriber, the computer system may be a so-called trusted computing platform.
  • the electronic device can also be a chip card, a USB stick, an RFID tag or another security token, or the electronic device contains such a security token or an interface to a security token.
  • FIG. 1 shows a flowchart of an embodiment of a method according to the invention for determining a resulting chain of keys
  • FIG. 2 shows a flowchart of an embodiment of a method according to the invention for providing encrypted files
  • FIG. 3 shows an embodiment of a method according to the invention for receiving a partial chain of the resulting chain
  • FIG. 4 shows a diagram for illustrating an embodiment of a method according to the invention for determining a resulting chain and for lengthening the resulting chain
  • FIG. 5 shows a block diagram of an embodiment of computer systems according to the invention and of an electronic device according to the invention.
  • FIG. 1 shows an embodiment of a method according to the invention for determining a resulting chain of keys K 0 , Ki,..., Kj,..., K m- i, wherein the resulting string should have a number of p cryptographic keys.
  • start parameters D 0 and E 0 are entered in step 100.
  • the start parameter Do is the first key of a first chain, which is generated in step 102. This is done by selecting a successor key Di for each predecessor key DM of the first chain such that the predecessor key results again when a function f is applied to the successor key.
  • a successor key can be calculated for each predecessor key of the first chain with the aid of the inverse of the function f, for which purpose the "trapdoor" must be known or sufficient computing capacity must be available
  • the further keys Dj of the first chain are thus calculated in step 102 from the start parameter D 0 , ie the initial key of the first chain, whereby the first chain in the embodiment considered here is the same Length m as the desired resulting chain has.
  • a second chain of keys is calculated, starting with the start parameter E 0 , using a function g, which is a one-way or one-way trapdoor function.
  • the keys of the second chain starting with the start parameter E 0 , ie starting with the start key of the second chain, are thus calculated in succession.
  • step 106 at least one key of the first chain and one key of the second chain are selected in each case to determine from the selected keys a key of the resulting chain.
  • the selection of the keys from the first and second chains is carried out according to a predetermined scheme. For example, to determine a key Kj of the resulting string, the keys Dj of the first string and Kj of the second string are selected and then combined together by a combination function COM, optionally using another key.
  • the combination function COM is arranged such that each key of the resulting string is determined by combining a key of the first string and a key of the second string in a predefined manner. This can for example be done so that the two keys are hung together, i. be concatenated by subjecting the two keys to a logical and / or arithmetic operation, such as a bitwise exclusive-OR (XOR) operation, or by determining a function value of a one-way function, such as a HASH value from the two keys becomes.
  • a logical and / or arithmetic operation such as a bitwise exclusive-OR (XOR) operation
  • the selection of at least one key from the first chain and at least one key from the second chain for the determination of a key of the resulting chain can take place in the order given by the chains or according to another predefined scheme; Optionally, the selection can also be based on another key that determines the selection.
  • / (•) is a one-way trapdoor feature because y is easy to calculate.
  • d means the secret required to calculate the inverse of / Q. / (•) is therefore a one-way trapdoor feature.
  • the exponent d is also called a private key.
  • the RSA method is used: the generator calculates two random natural numbers G 0 ⁇ O and F 0 ⁇ O which are smaller than n but about the same order of magnitude as n (length less a few bits) and determined
  • the divisor n may be different in the calculation of D 0 and E 0 .
  • the producer calculates with the help of the formula
  • the keys D 1 for i l, 2, ...., ie the first chain (see step 102)
  • the D 1 are referred to below as the reverse key.
  • the producer calculates with the help of the formula
  • the producer calculates with the help of the formula
  • the service provider calculates the key K 1 used for the encryption, for example, as follows:
  • COM (-) is a function that links D 1 and E 1 together and creates a value that satisfies the requests made to a secure key of the method to be used for encryption.
  • n is 2048 bits.
  • D 1 and E 1 , D 1 , E 1 ⁇ n for example, also have the length of n bits. However, it can also happen that some leading bits of D 1 and / or E 1 can be zero. For the encryption but a key of length 128 bits is needed. Then one turns on D 1 and E 1 a one-way HASH function
  • the function COM (-) can therefore consist of several functions. and can also include a secret or private key.
  • the resultant chain of cryptographic keys obtained in this way can be used for various purposes.
  • the present invention is suitable for regulating access to a time sequence of services or products issued in chronological order.
  • the present invention is equally suitable for services provided online or products delivered online as well as for so-called "real world" services and products.
  • a resulting chain of cryptographic keys is generated to govern the access rights of subscribers to a service or product, such as a magazine.
  • the journal appears weekly by providing a DA week file on a publisher's internet platform for download. Past issues of the journal are also available for download on this internet platform.
  • the files DAwoc h e are each encrypted using a cryptographic key of the resulting chain so that only au- torinstrumente subscribers can gain access to the journals.
  • the journal for the week i is then made available to the subscribers on the Internet platform for download by providing the encrypted file DAj ' for downloading.
  • the encryption of the files in step 200 may be done by symmetric and / or asymmetric encryption techniques using the keys of the resulting string. In principle, any encryption method that meets the security requirements can be used.
  • the cryptographic keys of the resulting chain can be used directly for the encryption or for the derivation or encryption of other cryptographic keys, which are then used for the actual encryption.
  • the length of the keys is determined by the cryptographic encryption method used; for example, it can be 56, 64, 128, 192 or 256 bits.
  • Embodiments of the present invention are particularly advantageous because key management does not require that the individual cryptographic keys of the resulting chain be distributed to the subscribers. For example, to a subscriber who wishes to obtain the magazine for a period of time, for example weeks i through k, it is only necessary to use the first chain key Dj + k and the second chain key Ei (see steps 102 and 104 of FIG. 1) in step 300 according to the method of FIG. 3.
  • step 302 from the received key Dj + k, the predecessor key in the first chain, ie the key Dj + ⁇ -i, can be calculated by using the function f.
  • the keys can thus be calculated, for example, up to the key Dj.
  • step 304 the successor key E i + 1 is calculated from the key Ej by using the function g.
  • the function g By iteratively applying the function g respectively to the successor key, it is thus possible to calculate the keys of the second chain which follow the key Ej. For example, the calculation is done up to the key E i + k .
  • step 306 from the key calculated in steps 302 and 304, a sub-string of the resulting string is calculated by using the function COM.
  • the keys Ki to K i + k are calculated. This may be done in advance or as needed, ie, for example, upon receipt of an encrypted file DA q ' in step 308, where i ⁇ q ⁇ i + k.
  • the encrypted file DA q ' may be decrypted using the associated key K q of the resulting string.
  • this is a service that is provided daily.
  • a key change therefore takes place daily.
  • the service provider offers access to a service in the form of a monthly subscription.
  • a subscriber buys such a monthly subscription, he receives a key Ej and a key Dj +30 for a month having 30 days.
  • the keys D 1 to Dj + M of the first chain as well as the keys E i + i to Ej + 30 of the second chain can be calculated on the subscriber side from these two keys. From these keys, in turn, the resulting keys Kj to Kj + 3O can be calculated by the function COM, so that the subscriber, in the possession of only the keys Ej and Dj +30, comes into possession of the 30 resulting keys for his monthly subscription.
  • the subscription will be extended to the end of a month if it is not canceled.
  • the subscriber receives for every following month another key from the first chain, for example for the following month the key D i + 3 o +3 i to determine therefrom an extension of the previously sawn calculated substring of the first chain, namely Key Dj +31 to D 1 + 61 .
  • the subscriber does not need any additional information, since he can extend it at will by iteratively applying the function g in forward calculation. From the extension of the first and second partial chains, the further keys Kj + 3 i to Kj + 6 i for the following month can then be calculated on the subscriber side.
  • Another example is the distribution of multiple programs by a service provider. These programs are encrypted independently.
  • the cryptographic key of the resulting program encryption string is changed daily, i. Each participant needs a new key every day. Accordingly, if a subscriber subscribes to several programs, he needs several keys per day to be able to use the programs that he subscribes to.
  • such programs can also be combined into packages, with each package being encrypted with a single key.
  • subscribers may also be grouped into subscriber groups, each sharing common keys, i. use the same key.
  • Embodiments of the method according to the invention enable each subscriber to calculate the resulting keys themselves from the beginning for a period of his subscription specified by the service provider of the programs, for example until the end of the contract period. If an explicit or silent silent renewal of the contract, a participant receives another key of the first chain, which allows the subscriber to calculate the remaining resulting keys, which he needs during the extended contract period.
  • the subscriber should be able to use the resulting keys K "..., K i + k to decrypt the subscribed service so that he can use the service.
  • the keys Ki, Ki + v ..., Ki + k are used for encryption.
  • He should not be able to decrypt the data of his subscribed services, which are encrypted with the keys K Q , ..., K hl or with the keys K l + k + x , ....
  • he receives from the service provider, the keys E 1 and D ⁇ + k .
  • obtaining E 1 allows the participant to easily calculate all of the following E M , E j + 2 , ... using the following formula
  • K i + j COWL ⁇ D i + j , E i + j )
  • the key change can also be event-oriented, for example, a certain number of episodes can be subscribed.
  • the independent calculation of the resulting keys at the subscriber then depends on the number of key exchanges to which the subscriber is authorized, not on time, i. for example, the number of subscribed episodes.
  • FIG. 4 shows by way of example a first chain 400 which contains a number of m first keys D 0 to D m- i.
  • the first chain 400 has been generated according to step 102 in the embodiment of FIG.
  • FIG. 4 shows by way of example a second chain 402 having a number of m second keys E 0 to E m- i.
  • the second chain 402 has been generated according to step 104 in the embodiment of FIG.
  • FIG. 4 shows by way of example a resulting chain 404 of a number of m resulting keys Ko to K m-1 . This resulting chain 404 may be determined according to step 106 in the embodiment of FIG.
  • a substring 406 of resulting keys Kj through Ki + k is to be transmitted to a subscriber, such as a subscriber.
  • the partial chain 406 includes the partial chain 408 of the first chain 400, which has the first keys D 0 to Dj + k , and the partial chain 410 of the second chain 402, which has the second keys Ej to Ej + k , since these keys are the Subchains 408 and 410 serve to define the corresponding key of the sub-string 406.
  • the predecessor keys of the end key 412 of the sub-string 408 can then be calculated on the subscriber side, as shown in FIG. 4 (compare step 302 in the embodiment of FIG.
  • the successor keys of the initial key 414 in the sub-string 410 can be calculated by iteratively applying the function g (see step 304 in the embodiment of Fig. 3).
  • the sub-string 406 can then be calculated on the subscriber-side from the sub-strings 408 and 410, for example by using the function COM (compare step 306 in the embodiment of FIG.
  • the predefined scheme can now be used again to determine the extension 407 of the resulting chain 404 from the extensions of the partial chains.
  • FIG. 5 shows a computer system 500, which is designed as a key generation unit for defining the first and second chains, optionally also a resulting chain (see the resulting chain 404 of FIG.
  • the computer system 500 has a memory 502 with a memory area 504 and a memory area 506 for storing the start parameters D 0 and E 0 , ie the initial keys of the first chain 400 and the second chain 402 in the embodiment of FIG. 4.
  • the memory 502 further has a memory area 508 for storing the first chain 400 and a memory area 510 for storing the second chain 402.
  • the memory 502 further has a memory area 512 for storing the resulting chain 404.
  • the computer system 500 has at least one processor 514 for executing a program 516 which can access the program modules 518 and 520 and optionally 522.
  • the program module 518 implements the inverse function of the function f, ie the function f 1
  • the function g is implemented by the program module 520.
  • the optional program module 522 implements the function COM.
  • the computer system 500 also has access to a private key 524, which is the "trapdoor" for computing the function f 1 acts.
  • the computer system 500 may be a so-called trusted computing platform, in particular to prevent unauthorized access to the private key 524.
  • the storage of the private key 524 as well as the program module 518 may also be implemented in a smart card or in another security token.
  • the computer system 500 executes the method of FIG. 1 by having the program 516 access the memory areas 504 and 506 to read D 0 and E 0 , then using the program modules 518 and 520, the first and second chains 400 and 402 are calculated and stored in memory areas 508 and 510, respectively.
  • the computer system 500 also computes the resulting string 404 using the program module 522 and stores the resulting string 404 in the memory region 512.
  • the storage of the first and second chains 400, 402 in the memory areas 504, 506 is not necessarily required, as these chains can be recalculated by the computer system 500 at any time.
  • FIG. 5 also shows a computer system 526 of the provider of an online service or another device providing a resource with access control.
  • the online service is concerned with the provision of files for downloading.
  • the computer system 526 has a memory 528 for storing a number m of files DA 0 to DA m- i in a memory area 530.
  • the memory 528 further has a memory area 532 for storing the encrypted files DA 0 ' to DA m- r.
  • the memory 528 has memory areas 534, 536 and 538 for storing the first chain 400, the second chain 402 and the resulting chain 404
  • Storage of the string 404 in the storage area 538 is not necessarily required if the computer system 526 can recalculate the string 404 at any time.
  • the computer system 526 further has at least one processor 540 for executing a program 542 that can access the optional program module 522 and the program module 544.
  • the program module 544 serves for Encrypt the files using the keys of the resulting chain, for example, according to a symmetric encryption method.
  • the computer system 500 and the computer system 526 can communicate with each other, for example via a network 546, in particular the Internet.
  • the transmission of the keys via the network is preferably encrypted.
  • the computer system 526 receives from the computer system 500 a message 548 including the first string 400 and the second string 402.
  • the message 548 may also include the resulting string 404.
  • the program 516 accesses the storage areas 508 and 510 to read the first and second chains 400, 402 so that they can then be sent using the message 548.
  • message 548 also includes the resulting chain 404.
  • computer system 500 has program module 522 for calculating the resulting string 404.
  • the first chain 400 is stored in the memory area 534 and the second chain 402 is stored in the memory area 536. If the resulting string 404 is not part of the message 548, it is computed by the program module 522 by the computer system 526.
  • an encryption of the files of the memory area 530 is then carried out, so that they are then present in encrypted form in the memory area 532.
  • the encrypted files are made available for download on an Internet platform, for example. Instead of files, it can be other data, especially the data of a data stream. Especially in the latter case, the encryption of the data can be done "on the fly". The encryption of the data can be done directly with the keys of the resulting chain. Alternatively, the keys of the resulting chain serve as input to another method for deriving the keys with which the data is to be encrypted.
  • the computer systems 500 and 526 may also be a unit, i. the provider of the online service provides itself for the generation of the key material.
  • the embodiment of separating the computer systems 500 and 526 shown in FIG. 5 is advantageous because the computer system 500 can generate the required key material for various service providers.
  • an electronic device 550 of a subscriber is used.
  • the electronic device 550 may be, for example, a personal computer, a mobile phone, a multimedia device with a common interface or chip card interface and chip card or the like.
  • the subscriber's electronic device 550 has a memory 552 with the memory areas 554, 556, 558, 560, 562, 564 and 566. Further, the electronic device 550 has at least one processor 569 for executing a program 555 which is run on the program modules 568, 570 and 572 can access.
  • the program module 568 implements the function f
  • the program module 570 implements the function g
  • the program module 572 the function COM.
  • the computer system 526 sends a message 574 to the electronic device 550, for example via the network 546.
  • the message 574 includes the end key 412 and the initial key 414 (see embodiment of FIG 4).
  • the end key 412 is stored in the storage area 554 and the initial key 414 in the storage area 556.
  • the message 564 may also include the public key corresponding to the private key 524, which is then stored in the storage area 558.
  • the public key is preferably transmitted in a certificate according to X.509 standard.
  • the public key may be stored in the memory 528 for later transmission to the electronic device 550, for example with the message 574.
  • the message 574 is preferably encrypted with a key previously assigned to the subscriber.
  • the program 556 then calculates, with the aid of the program modules 568 and 570, the substring 408 or 410 and stores it in the memory area 562 or 564 (see embodiment of FIG. With the aid of the program module 572, the program 556 then calculates the substring 406 from the substrings 408 and 410, which contains the resulting keys. These are stored in the memory area 566.
  • the electronic device 550 may then load encrypted data 576 including, for example, the encrypted file DA q ' from the storage area 532 via the network 546.
  • the encrypted file DA q ' is, for example, decrypted by the program 556 using the key K q and stored in the memory area 560 for further use by the subscriber.
  • At least the program module 568 may be implemented on a smart card or RFID tag accessible to the electronic device 550.
  • the electronic device 550 may include an integrated chip card reader for accessing a telecommunication chip card, such as a so-called SIM card.
  • the program module 568 may then be performed, for example, by the SIM card, on which the public key 558 may also be stored.
  • the keys D i + ⁇ ⁇ and egg are stored on the SIM card and preferably also the functions f and g are implemented in the SIM card.
  • a chip card in particular a SIM card, or RFID tag can also be another security token, such as a USB stick can be used.
  • asymmetric key pair consisting of the above-mentioned private key and the public key, different key pairs can be used for the generation of the first and second chains.
  • the smart card or the SIM card can also be used for executing an encryption method for establishing an encrypted channel for transmitting the message 574 from the computer system 526 to the electronic device 550.
  • the private key 524 should be stored in memory, preferably in a protected area; the private key belongs to f 1 .
  • connection from the service provider, ie the computer system 526, to the device 550 of the subscriber should be encrypted.
  • a required subscriber key can be stored in the device 550 of the subscriber.
  • Dj, E 1 and Kj should also be stored in a secure memory, so that they can not be passed on without authorization.

Abstract

Die Erfindung betrifft ein Verfahren zur Bestimmung einer resultierenden Kette (404) von Schlüsseln mit folgenden Schritten: Ermittlung einer ersten Kette (400) von ersten Schlüsseln, wobei sich durch Anwendung einer ersten Funktion ein Vorgängerschlüssel aus jedem Nachfolgerschlüssel der ersten Kette berechnen lässt, wobei es sich bei der ersten Funktion um eine One-Way-Funktion oder One-Way Trapdoor-Funktion handelt. Ermittlung einer zweiten Kette (402) von zweiten Schlüsseln durch iterative Anwendung einer zweiten Funktion, wobei es sich bei der zweiten Funktion um eine One-Way-Funktion oder One-Way-Trapdoor Funktion handelt, wobei zur Berechnung jeden Schlüssels der resultierenden Kette jeweils mindestens ein erster Schlüssel der ersten Kette und ein zweiter Schlüssel der zweiten Kette verwendet wird.

Description

Verfahren zur Bestimmung einer Kette von Schlüsseln, Verfahren zur Übertragung einer Teilkette der Schlüssel, Computersystem und Chipkarte
B e s c h r e i b u n g
Die Erfindung betrifft ein Verfahren zur Bestimmung einer resultierenden Kette von Schlüsseln, ein Verfahren zum Senden einer Teilkette der resultierenden Kette von Schlüsseln, ein Verfahren zum Empfangen einer Teilkette der resultierenden Kette von Schlüsseln sowie entsprechende Computerprogrammprodukte, ein Computersystem und ein elektronisches Gerät, insbesondere ein Sicherheitstoken, wie z.B. eine Chipkarte, SIM-Karte oder ein RFID Tag.
Aus dem Stand der Technik ist die Verwendung von kryptographischen Schlüsseln für verschiedene Zwecke bekannt. Insbesondere dienen kryptographische Schlüssel zur Sicherung von Informationen, Dateien oder Programmen vor unbefugtem Zugriff oder unbefugter Nutzung oder sie dienen als Berechtigungsnachweis für die Inan- spruchnahme einer Dienstleistung, des Zugangs zu einem geschützten Bereich oder für andere Authentisierungszwecke. Diese Verwendung von kryptographischen Schlüsseln setzt die Verteilung und Verwaltung der Schlüssel voraus, welche im Allgemeinen als „Key Management" bezeichnet werden.
Aus US 2007/0127719 A1 ist ein Verfahren für das Key Management kryptographi- scher Schlüssel bekannt. Zur Generierung von kryptographischen Schlüsseln wird eine One-Way-Trapdoor-Funktion verwendet, die iterativ angewendet wird. Hierdurch wird eine Kette von kryptographischen Schlüsseln erzeugt. Nachteilig ist hierbei, dass ein Empfänger eines Schlüssels dieser Kette sämtliche der diesem Schlüssel vorausgehenden Schlüssel der Kette berechnen kann, wodurch der Empfänger Zugriff auch auf solche Schlüssel erhält, hinsichtlich derer er gar nicht berechtigt ist. Der Erfindung liegt demgegenüber die Aufgabe zugrunde, ein verbessertes Verfahren zur Bestimmung einer Kette von Schlüsseln, ein Verfahren zum Senden einer Teilkette, ein Verfahren zum Empfangen einer Teilkette sowie ein entsprechendes Computersystem, Computerprogrammprodukt und ein elektronisches Gerät zu schaffen.
Die der Erfindung zugrunde liegenden Aufgaben werden jeweils mit den Merkmalen der unabhängigen Ansprüche gelöst. Ausführungsformen der Erfindung sind in den abhängigen Ansprüchen angegeben.
Nach Ausführungsformen der Erfindung wird ein Verfahren zur Bestimmung einer resultierenden Kette von Schlüsseln geschaffen. Das Verfahren beinhaltet die folgenden Schritte: Ermittlung einer ersten Kette von ersten Schlüsseln, wobei sich durch Anwendung einer ersten Funktion ein Vorgängerschlüssel aus jedem Nach- folgerschlüssel der ersten Kette berechnen lässt, wobei es sich bei der ersten Funktion um eine One-way-Trapdoor-Funktion oder eine One-Way-Funktion handelt; Ermittlung einer zweiten Kette von zweiten Schlüsseln durch iterative Anwendung einer zweiten Funktion, wobei es sich bei der zweiten Funktion ebenfalls um eine One-way-Trapdoor-Funktion oder eine One-Way-Funktion handelt, wobei jeder Schlüssel der resultierenden Kette aus jeweils einem ersten Schlüssel der ersten Kette und einem zweiten Schlüssel der zweiten Kette bestimmbar ist.
Nach Ausführungsformen der Erfindung wird zur Erzeugung der ersten Kette also ausgehend von einem vorgegebenen Anfangsschlüssel der ersten Kette, d.h. dem ersten Vorgängerschlüssel, ein erster Nachfolgerschlüssel bestimmt. Der erste Nachfolgerschlüssel dient dann als Vorgängerschlüssel zur Bestimmung eines weiteren Nachfolgerschlüssels usw. bis zu einem Endschlüssel der ersten Kette. Die Richtung von dem Anfangsschlüssel bis zum Endschlüssel einer Kette wird im Weiteren als „Vorwärtsrichtung" definiert.
Die Anzahl der Nachfolgerschlüssel, bis der Endschlüssel erreicht wird, kann unbestimmt sein. Die Bestimmung der resultierenden Kette von Schlüsseln erfolgt also mit Hilfe der ersten und zweiten Ketten. Die erste Kette hat die Eigenschaft, dass sich jeder Vorgängerschlüssel in der ersten Kette aus seinem Nachfolgerschlüssel berechnen lässt, nämlich durch eine vordefinierte erste Funktion. Die zweite Kette hat dagegen die Eigenschaft, dass sich jeder Nachfolgerschlüssel aus seinem Vorgängerschlüssel berechnen lässt, und zwar mit Hilfe einer vordefinierten zweiten Funktion.
Unter einer „One-Way-Funktion" wird hier jede Funktion verstanden, deren Umkehrfunktion nicht oder nur mit sehr großem Rechenaufwand zu berechnen ist. Wenn bei der ersten Funktion einer One-Way-Funktion verwendet wird, verfügt die Seite, die die Schlüssel bestimmt über soviel Rechenkapazität, dass sie die Umkehrfunktion ausführen kann; es wird jedoch angenommen, dass die Teilnehmer nicht dazu in der Lage sind.
Mit Hilfe der ersten und zweiten Ketten wird die resultierende Kette von Schlüsseln festgelegt oder erzeugt. Beispielsweise wird jeder Schlüssel der resultierenden Kette dadurch bestimmt, dass ein Schlüssel der ersten Kette und ein Schlüssel der zweiten Kette auf eine vordefinierte Art und Weise miteinander kombiniert werden, beispielsweise indem die beiden Schlüssel aneinandergehängt, d.h. konkateniert werden, indem die beiden Schlüssel einer logischen und/oder arithmetischen Operation unterzogen werden, die wiederum einen weiteren Schlüssel miteinbeziehen kann, beispielsweise einer bitweisen Exklusiv-ODER (XOR)-Operation, oder indem ein Funktionswert einer One-Way-Funktion, beispielsweise der Funktionswert einer One-Way-Hashfunktion aus den beiden Schlüsseln ermittelt wird. Diese One-Way- Hashfunktion kann beispielsweise mit einem geheimen Wert initialisiert werden. Die Auswahl von zumindest einem Schlüssel aus der ersten Kette und zumindest einem Schlüssel aus der zweiten Kette für die Bestimmung eines Schlüssels der resultierenden Kette kann dabei in der durch die Ketten gegebenen Reihenfolge erfolgen oder nach einem anderen vordefinierten Schema.
Ausführungsformen der Erfindung sind besonders vorteilhaft, da sie ein besonders effektives Key Management für die Verteilung von kryptographischen Schlüsseln ermöglichen. Zur Übertragung einer Teilkette der resultierenden Kette von Schlüsseln an einen Teilnehmer ist es nämlich lediglich erforderlich, dass einer der Schlüssel der zweiten Kette, der beispielsweise zur Bestimmung des Anfangsschlüssel der resultierenden Teilkette verwendet worden ist, und ein Schlüssel der ersten Kette, der beispielsweise zur Bestimmung des Endschlüssels der resultierenden Teilkette verwendet worden ist, an den Teilnehmer übertragen werden.
Nach einer Ausführungsform der Erfindung handelt es sich bei der ersten und/oder der zweiten Funktion um eine HASH-Funktion, eine RSA Operation, eine Operation des Rabin-Verfahrens, oder um eine Operation eines Verfahrens beruhend auf dem Problem des Diskreten Logarithmus.
Im Falle der zweiten Funktion wird diese nur in Vorwärtsrichtung verwendet, d.h. zur Berechnung eines Schlüssels Ej+i aus dem in der zweiten Kette vorausgehenden Schlüssel Ei; hierzu kann erforderlichenfalls ein öffentlicher Schlüssel verwendet werden, der zu der zweiten Funktion gehört.
Unter der „resultierenden Teilkette" wird hier ein definierter Abschnitt der resultierenden Kette verstanden, wobei der definierte Abschnitt Schlüssel beinhaltet, die für einen oder mehrere Teilnehmer bestimmt sind, wobei der definierte Abschnitt mit einem Anfangsschlüssel beginnt und mit einem Endschlüssel endet.
Dies ist dadurch begründet, dass der Teilnehmer aus dem empfangenen Schlüssel der ersten Kette durch Anwendung der ersten Funktion sämtliche Vorgängerschlüssel des empfangenen Schlüssels in der ersten Kette berechnen kann. Andererseits kann der Teilnehmer aus dem empfangenen Schlüssel der zweiten Kette durch An- wendung der zweiten Funktion sämtliche Nachfolgerschlüssel des empfangenen Schlüssels in der zweiten Kette berechnen. Der Teilnehmer erhält aber dennoch nur Kenntnis von der Teilkette der resultierenden Schlüssel, da er keine Vorgängerschlüssel des empfangenen Schlüssels der zweiten Kette berechnen kann und auch keine Nachfolgerschlüssel des empfangenen Schlüssels der ersten Kette.
Durch Kombination der einander zugeordneten Schlüssel der ersten und zweiten Ketten können dann teilnehmerseitig die Schlüssel der resultierenden Teilkette berechnet werden. Insbesondere ist dabei vorteilhaft, dass teilnehmerseitig nicht die Möglichkeit besteht, auch Schlüssel der resultierenden Kette zu bestimmen, die Vorgängerschlüssel bezüglich des Anfangsschlüssels der Teilkette sind.
Nach einer Ausführungsform der Erfindung handelt es sich bei der ersten Funktion um eine One-Way-Funktion. In diesem Fall muss zur Generierung der ersten Kette ausgehend von einem Anfangsschlüssel der ersten Kette ein Nachfolgerschlüssel so bestimmt werden, sodass sich durch Anwendung der One-Way-Funktion wieder der Anfangsschlüssel ergibt. Entsprechendes gilt für die auf den Anfangsschlüssel folgenden Schlüssel der ersten Kette.
Im Falle einer One-Way-Funktion kann ein Nachfolgerschlüssel so aufgefunden werden, dass zum Beispiel nach einem Zufallsverfahren Kandidaten für Nachfolgerschlüssel generiert werden, welche dann anschließend dahingehend überprüft werden, ob sie bei Anwendung der One-Way-Funktion den Vorgängerschlüssel zum Ergebnis haben. Sobald ein solcher Nachfolgerschlüssel aufgefunden worden ist, wird dieser zum Vorgängerschlüssel, für den wiederum ein Nachfolgerschlüssel gesucht wird.
Die Methode, den Nachfolgerschlüssel mit Hilfe einer One-Way-Funktion zu finden, muss soviel Rechenkapazität erfordern, dass dies nur dem Computersystem, welches zur Schlüsselgenerierung dient, möglich ist. Beispielsweise handelt es sich bei diesem Computersystem um eine Schlüsselgenerierungszentrale mit großer Rechenleistung. Da eine solche große Rechnerleistung bei den Teilnehmern üblicherweise nicht zur Verfügung steht, können diese die Nachfolgerschlüssel nicht mit dem oben beschriebenen Verfahren finden.
Beispielsweise wird die Schlüsselgenerierungszentrale von einem Provider betrieben, um verschlüsselte Inhalte, d.h. sog. Content, an die Teilnehmer zu liefern.
Nach einer Ausführungsform der Erfindung handelt es sich bei der ersten Funktion um eine One-Way-Trapdoor-Funktion. Unter einer „One-Way-Trapdoor-Funktion" wird hier ein Spezialfall einer One-Way- Funktion verstanden. Die Umkehrfunktion einer One-Way-Trapdoor-Funktion ist nicht oder nur mit erheblichem Aufwand zu berechnen, wie das auch bei einer One- Way-Funktion der Fall ist, es sei denn man hat Kenntnis von der so genannten „Trapdoor".
Bei der „Trapdoor" handelt es sich um ein Geheimnis, welches es ermöglicht, die Umkehrfunktion der One-Way-Trapdoor-Funktion ohne großen Aufwand zu berechnen. Dies ermöglicht es, die erste Kette mit geringem Aufwand zu generieren, da für jeden Vorgängerschlüssel der Nachfolgerschlüssel mit Hilfe der Umkehrfunktion der One-Way-Trapdoor-Funktion berechnet werden kann, da die „Trapdoor" dem Erzeuger der Ketten bekannt ist.
Beispielsweise handelt es sich bei der „Trapdoor" um einen privaten Schlüssel eines asymmetrischen Schlüsselpaars. Dieser private Schlüssel ist nur dem Erzeuger der resultierenden Kette von Schlüsseln bekannt. Beispielsweise wird der private Schlüssel in einem geschützten Speicherbereich einer Chipkarte oder in einer so genannten Secure-Computing-Plattform gespeichert, sodass ein Auslesen nicht möglich ist.
Nur bei Kenntnis des privaten Schlüssels ist es also einem Erzeuger der ersten Kette möglich, die Schlüssel der ersten Kette ausgehend von einem Anfangsschlüssel durch die Umkehrfunktion der One-Way-Trapdoor-Funktion mit geringem Aufwand zu berechnen. Einem Empfänger eines Schlüssels der ersten Kette ist die Berech- nung des Nachfolgerschlüssels des empfangenen Schlüssels der ersten Kette nicht möglich, da der Empfänger keine Kenntnis von der „Trapdoor", d.h. dem privaten Schlüssel, hat. Allerdings kann der Empfänger aus einem empfangenen Schlüssel der ersten Kette dessen Vorgängerschlüssel durch Anwendung der One-Way- Trapdoor-Funktion berechnen, da hierfür die Kenntnis der Trapdoor nicht erforder- lieh ist. Beispielsweise handelt es sich bei der One-Way-Trapdoor-Funktion um eine RSA Operation (modulare Exponentiation mit bestimmten Anforderungen an die Parameter), wie sie an sich für die Generierung und Verifikation digitaler Signaturen bekannt ist (vgl. zum Beispiel R. Rivest, A. Shamir, and L. Adleman, "A method for obtaining digital signatures and public key cryptosystems", in Communications of the ACM, vol. 21 , no. 2, 1978, pp. 120-126.)
Erzeugerseitig wird also die RSA-Operation mit Hilfe des privaten Schlüssels verwendet, um die Umkehrfunktion so zu realisieren, und für jeden Vorgängerschlüssel in der ersten Kette einen Nachfolgerschlüssel zu berechnen. Empfängerseitig kann umgekehrt aus jedem Nachfolgerschlüssel ein Vorgängerschlüssel der ersten Kette berechnet werden, und zwar mit Hilfe der RSA-Operation und dem öffentlichen Schlüssel, wodurch die Funktion realisiert wird.
Für die Generierung der ersten und zweiten Ketten können auch jeweils unterschiedliche Schlüsselsysteme verwendet werden. Beispielsweise werden e-i, d-i, ni für die erste Kette und e2, d2 ,n2 für die zweite Kette verwendet, wobei vorzugsweise zumindest (di , n-i) und (d2 , n2) unterschiedlich sind.
Nach einer Ausführungsform der Erfindung handelt es sich bei der ersten Funktion um eine Rabin-Funktion, vgl. M. O. Rabin, "Digitalized signatures", in Foundations of Secure Computation, R. Lipton and R. D. MiIIo, Eds. New York: Academic Press, 1978, pp. 155-166.
Alternativ können auch andere an sich bekannte One-Way-Trapdoor-Funktionen verwendet werden, die auf dem Faktorisierungsproblem oder dem Problem des diskreten Logarithmus basieren.
In einem weiteren Aspekt betrifft die Erfindung ein Verfahren zum Senden einer Teilkette einer resultierenden Kette von Schlüsseln. Die Teilkette hat einen Anfangsschlüssel und einen Endschlüssel. Zum Senden der Teilkette an einen Empfänger ist es lediglich erforderlich, den Endschlüssel der ersten Kette und den Anfangsschlüssels der zweiten Teilkette an den Empfänger zu senden. Der Empfänger erhält dadurch die erforderlichen Informationen, um sämtliche Schlüssel der Teilkette der resultierenden Kette zu berechnen.
Nach einer Ausführungsform der Erfindung wird eine Verlängerung der Teilkette dadurch an den Empfänger übertragen, dass lediglich ein weiterer Schlüssel der ersten Kette an den Empfänger gesendet wird, wobei der weitere Schlüssel in der ersten Kette in Vorwärtsrichtung der ersten Kette hinter dem zuerst gesendeten
Schlüssel liegt. Dadurch wird der Empfänger in die Lage versetzt, weitere Schlüssel der resultierenden Kette zu berechnen, welche auf die zunächst empfangene TeM- kette folgen.
Nach einer Ausführungsform der Erfindung erfolgt die Übertragung des Schlüssels der ersten Kette und des Schlüssels der zweiten Kette an den Empfänger über ein Netzwerk, insbesondere ein öffentliches Netzwerk, wie zum Beispiel das Internet, Satellit oder Breitband Kabelverteilnetze. Zum Schutz der gesendeten Schlüssel vor Ausspähung erfolgt die Übertragung verschlüsselt, vorzugsweise nach einem Secu- re-Messaging-Verfahren.
Die ersten und zweiten Ketten sowie die resultierende Kette können einem be- stimmten Teilnehmer oder einer bestimmten Teilnehmergruppe zugeordnet sein, d.h. für jeden Teilnehmer oder jede Teilnehmergruppe werden separate Schlüssel erzeugt. Ferner kann die Länge der resultierenden Kette begrenzt sein. Wenn die resultierende Kette eine maximale Länge erreicht hat, wird beginnend mit neuen Startwerten für die ersten und/oder zweiten Ketten eine neue resultierende Kette generiert. Dies ist insbesondere vorteilhaft, wenn ein oder mehrere Teilnehmer z.B. sein oder ihr Abonnement gekündigt und dann wieder aufgenommen hat oder haben.
In einem weiteren Aspekt betrifft die Erfindung ein Verfahren zum Empfang einer Teilkette einer resultierenden Kette von Schlüsseln. Aus dem empfangenen Schlüssel der ersten Kette berechnet der Empfänger unter Anwendung der ersten Funktion Vorgängerschlüssel in der ersten Kette. Ferner berechnet der Empfänger aus dem empfangenen Schlüssel der zweiten Kette Nachfolgerschlüssel unter Verwendung der zweiten Funktion. Aus den dadurch berechneten Schlüsseln der ersten und zweiten Ketten berechnet der Empfänger dann Schlüssel der Teilkette der resultierenden Kette. Hierzu kann optional ein weiterer Schlüssel verwendet werden kann, der beim Empfänger bereits vorhanden ist. Dieser weitere Schlüssel dient zur Erzeugung eines resultierenden Schlüssels aus Schlüsseln der ersten und zweiten Teilketten..
Unter „Empfang" der resultierenden Kette oder Teilkette wird hier also verstanden, dass tatsächlich nur zwei Schlüssel empfangen werden, aus denen dann weitere Schlüssel berechnet werden, aus welchen sich dann die Schlüssel der resultieren- den Kette oder Teilkette ergeben.
Nach einer Ausführungsform der Erfindung erfolgt ein Empfang einer Verlängerung der Teilkette durch Empfang eines weiteren Schlüssels der ersten Kette, der in der ersten Kette hinter dem zunächst empfangenen Schlüssel liegt.
In einem weiteren Aspekt betrifft die Erfindung ein Computerprogrammprodukt mit ausführbaren Instruktionen zur Ausführung eines oder mehrerer der erfindungsgemäßen Verfahren.
In einem weiteren Aspekt betrifft die Erfindung ein Computersystem zur Bestimmung einer resultierenden Kette von Schlüsseln, wobei das Computersystem Mittel zur Generierung der ersten Kette und der zweiten Kette von Schlüsseln aufweist. Die Berechnung der resultierenden Kette aus den Schlüsseln der ersten und zweiten Ketten kann durch dieses Computersystem selbst oder durch ein anderes Com- putersystem erfolgen, wie zum Beispiel ein Provider-Computersystem eines Providers einer Online-Dienstleistung oder eines Produkts.
In einem weiteren Aspekt betrifft die Erfindung ein Computersystem zum Empfang der ersten Kette und der zweiten Kette sowie optional der resultierenden Kette von Schlüsseln. Das Provider-Computersystem verschlüsselt beispielsweise Dateien oder Programme mit Hilfe der Schlüssel der resultierenden Kette und überträgt an seine Teilnehmer jeweils eine Teilkette der resultierenden Kette, wobei die an einen Teilnehmer gesendete Teilkette der von diesem Teilnehmer in Anspruch genommenen Leistung des Providers entspricht.
In einem weiteren Aspekt betrifft die Erfindung ein elektronisches Gerät zum Emp- fang einer Teilkette der resultierenden Kette von Schlüsseln. Bei dem Computersystem kann es sich um einen Personalcomputer eines Teilnehmers handeln. Um einen Missbrauch der von dem Teilnehmer empfangenen Teilkette zu vermeiden, kann es sich bei dem Computersystem um eine so genannte Trusted-Computing- Plattform handeln. Bei dem elektronischen Gerät kann es sich auch um eine Chip- karte, einen USB-Stick, ein RFID Tag oder einen anderen Sicherheitstoken handeln, oder das elektronische Gerät beinhaltet einen solchen Sicherheitstoken oder eine Schnittstelle zu einem Sicherheitstoken.
Im Weiteren werden Ausführungsformen der Erfindung mit Bezugnahme auf die Zeichnungen näher erläutert. Es zeigen:
Figur 1 ein Flussdiagramm einer Ausführungsform eines erfindungsgemäßen Verfahrens zur Bestimmung einer resultierenden Kette von Schlüsseln,
Figur 2 ein Flussdiagramm einer Ausführungsform eines erfindungsgemäßen Verfahrens zur Bereitstellung von verschlüsselten Dateien,
Figur 3 eine Ausführungsform eines erfindungsgemäßen Verfahrens zum Empfang einer Teilkette der resultierenden Kette,
Figur 4 ein Diagramm zur Darstellung einer Ausführungsform eines erfindungsgemäßen Verfahrens zur Bestimmung einer resultierenden Kette sowie zur Verlängerung der resultierenden Kette,
Figur 5 ein Blockdiagramm einer Ausführungsform von erfindungsgemäßen Computersystemen und eines erfindungsgemäßen elektronischen Geräts.
Elemente der nachfolgenden Ausführungsformen, die einander entsprechen, sind jeweils mit denselben Bezugszeichen gekennzeichnet. Figur 1 zeigt eine Ausführungsform eines erfindungsgemäßen Verfahrens zur Bestimmung einer resultierenden Kette von Schlüsseln K0, Ki, ..., Kj, ... , Km-i, wobei die resultierende Kette eine Anzahl von p kryptographischen Schlüsseln aufweisen soll.
Zur Bestimmung dieser resultierenden Kette werden Startparameter D0 und E0 in dem Schritt 100 eingegeben. Bei dem Startparameter Do handelt es sich um den ersten Schlüssel einer ersten Kette, die in dem Schritt 102 generiert wird. Dies er- folgt, indem für jeden Vorgängerschlüssel DM der ersten Kette ein Nachfolgerschlüssel Di so gewählt wird, dass sich bei Anwendung einer Funktion f auf den Nachfolgerschlüssel wieder der Vorgängerschlüssel ergibt.
Insbesondere kann es sich bei der Funktion f um eine One-Way-Trapdoor-Funktion handeln oder um eine One-Way-Hashfunktion, falls die ausführende Einheit über soviel Rechenkapazität verfügt, dass sie für ein gegebenes y ein x finden kann, so- daß y = f(x). In jedem Fall kann zu jedem Vorgängerschlüssel der ersten Kette ein Nachfolgerschlüssel mit Hilfe der Umkehrung der Funktion f berechnet werden, wobei hierzu die „Trapdoor" bekannt sein muss oder genügend Rechenkapazität zur Verfügung stehen muss
Beispielsweise durch iterative Anwendung der Umkehrung der Funktion f werden also in dem Schritt 102 aus dem Startparameter D0, d.h. dem Anfangsschlüssel der ersten Kette, schrittweise die weiteren Schlüssel Dj der ersten Kette berechnet, wo- bei die erste Kette in der hier betrachteten Ausführungsform dieselbe Länge m wie die gewünschte resultierende Kette hat.
In dem Schritt 104 wird eine zweite Kette von Schlüsseln beginnend mit dem Startparameter E0 berechnet, und zwar mit Hilfe einer Funktion g, bei der es sich um ei- ne One-Way-Funktion oder One-Way-Trapdoor-Funktion handelt. Durch iterative Anwendung der Funktion g werden also nacheinander die Schlüssel der zweiten Kette beginnend mit dem Startparameter E0, d.h. beginnend mit dem Anfangsschlüssel der zweiten Kette, berechnet. In dem Schritt 106 werden je mindestens ein Schlüssel der ersten Kette und ein Schlüssel der zweiten Kette selektiert, um aus den selektierten Schlüsseln einen Schlüssel der resultierenden Kette zu ermitteln. Die Selektion der Schlüssel aus den ersten und zweiten Ketten erfolgt dabei nach einem vorgegebenen Schema. Bei- spielsweise werden zur Bestimmung eines Schlüssels Kj der resultierenden Kette die Schlüssel Dj der ersten Kette und Kj der zweiten Kette selektiert und anschließend durch eine Kombinationsfunktion COM miteinander kombiniert, optional unter Verwendung eines weiteren Schlüssels.
Beispielsweise ist die Kombinationsfunktion COM so ausgebildet, dass jeder Schlüssel der resultierenden Kette dadurch bestimmt wird, dass ein Schlüssel der ersten Kette und ein Schlüssel der zweiten Kette auf eine vordefinierte Art und Weise miteinander kombiniert werden. Dies kann beispielsweise so erfolgen, dass die beiden Schlüssel aneinandergehängt, d.h. konkateniert werden, indem die beiden Schlüssel einer logischen und/oder arithmetischen Operation unterzogen werden, beispielsweise einer bitweisen Exklusiv-ODER (XOR)-Operation, oder indem ein Funktionswert einer One-Way-Funktion, beispielsweise ein HASH-Wert aus den beiden Schlüsseln ermittelt wird. Die Auswahl von zumindest einem Schlüssel aus der ersten Kette und zumindest einem Schlüssel aus der zweiten Kette für die Bestimmung eines Schlüssels der resultierenden Kette kann dabei in der durch die Ketten gegebenen Reihenfolge erfolgen oder nach einem anderen vordefinierten Schema; optional kann die Auswahl auch basierend auf einem weiteren Schlüssel erfolgen, durch den die Auswahl festgelegt wird.
Die Berechnung der ersten Kette erfolgt also auf der Basis einer umkehrbaren One- Way Trapdoor-Funktion f : y = /(x) . Zu einem i-Wert gibt es nur einen y -Wert.
Die Umkehrung der Funktion fix) , d.h. deren Umkehrfunktion, wird mit χ = f(y) bezeichnet, x muss nicht eindeutig sein, aber es gilt
Figure imgf000014_0001
Die Gleichheit in dieser und folgenden Formeln kann auch Äquivalenz bedeuten, wenn Restklassenarithmetik (modulo-Arithmetik) verwendet wird, d.h. f(f~1(y)) und y liegen in der gleichen Resteklasse Eine One-Way-Trapdoor-Funktion /(•) ist zum Beispiel die RSA Funktion
y = f(x) = xe modn
/(•) ist eine One-Way Trapdoor-Funktion, weil y leicht zu berechnen ist. x < n, n =pq ist ein Produkt aus zwei Primzahlen p und q. Der Exponent e ≠ O wird als bekannt vorausgesetzt, mit gcd(e,φ(ή)) = l . Bei e handelt sich i.a. um einen Systemparameter.
Ein Wert der Umkehrfunktion
x = f(y) - yd modn
kann nur berechnet werden, wenn man d kennt, falls y ≥ 2 . Der Ausdruck x = yd modn ergibt eine Zahl x < n, für die gilt xe modn = y .
Die Berechnung von d < n erfolgt über die Gleichung edmodφ(ή) = l , bzw. edmod (p-ϊ)(q -I) = I die man nur unter Kenntnis von p und q lösen kann.
d bedeutet das Geheimnis, das erforderlich ist, um die Umkehrung von /Q zu be- rechnen. /(•) ist daher eine One-Way Trapdoor-Funktion. Der Exponent d wird auch als privater Schlüssel bezeichnet.
Die Anforderungen an die Parameter und die Funktion /"1O) nach dem RSA Verfahren sind in der Literatur beschrieben, vgl. A. Beutelspacher, "Moderne Verfahren der Kryptographie", Vieweg Verlag, 2004.
Es gibt noch zahlreiche andere Trapdoor-Funktionen, z.B. das Rabin-Verfahren oder Verfahren, die auf dem Problem des Diskreten Logarithmus beruhen. In den folgenden Ausführungsformen wird aber ohne Beschränkung der Allgemeinheit das o.a. RSA-Verfahren verwendet, da die Funktion /(•) besonders leicht ausgeführt werden kann, und sich daher für die elektronischen Komponenten der Teilnehmer eignen, die evtl. nicht über eine große Rechenkapazität verfügen. Die Bestimmung der resultierenden Kette gemäß der Ausführungsform der Figur 1 erfolgt also, indem Startparameter D0 und E0 erzeugerseitig generiert werden (vgl.
Schritt 100).
Du muss die Voraussetzung erfüllen, dass aus DM DJ berechnet werden kann, d.h. es gilt
Figure imgf000016_0001
Die Berechnungen sind nur unter Kenntnis des Geheimnisses oder mit sehr großem Aufwand möglich, der den Teilnehmern nicht möglich ist. Dazu kann je nach der gewählten Funktion f erforderlich sein, einen geeigneten zufälligen Startwert für D0 zu wählen. Wenn es mehrere Dj gibt, die die o.a. Gleichung für Dμi erfüllen, ist von diesen ein Wert zu wählen, für den diese Gleichung ebenfalls erfüllt ist, d.h. für den gilt
A+1 =Z^(A) / = i,2,.. •
Desweiteren ist die o.g. Voraussetzung zwecks der iterativen Anwendung erforderlich.
Die Berechnung von Dj muss nicht eindeutig sein, da / 1Q nicht eindeutig sein muss.
Für die One-Way-Funktion g(-) gilt
EM = g(E,) z = l,2,... . Beispielsweise wird das RSA Verfahren eingesetzt: Der Erzeuger berechnet zwei zufällige natürliche Zahlen G0 ≠ O und F0 ≠ O, die kleiner als n sind, aber ungefähr die gleiche Größenordnung haben wie n (Länge einige Bits kleiner) und ermittelt
D0 = F0 moάn
E0 = Go e modn
mit
n =pq.
Generell muss gcd(e,^(«)) = l sein, die weiteren Anforderungen an p, q und e können der Literatur entnommen werden, n und e werden als System parameter allen Teilnehmern bekannt gemacht. Der Teiler n kann bei der Berechnung von D0 und E0 unterschiedlich sein.
Wenn andere Verfahren zum Einsatz kommen, kann die Erfüllung anderer Bedingungen für die Wahl der Startwerte D0 und/oder E0 erforderlich sein.
Der Erzeuger berechnet mit Hilfe der Formel
A = (T1J(A)) = f'if'i- -T1 (D0))) (i-malige Anwendung der Funktion /"1O)
die Schlüssel D1 für i = l,2,.... , d.h. die erste Kette (vgl. Schritt 102) Die D1 werden im Weiteren als Rückwärtsschlüssel bezeichnet.
Außerdem berechnet der Erzeuger mit Hilfe der Formel
E1 = g'(E0) = g(g(...g(E0))) (i-malige Anwendung der Funktion g)
die Schlüssel E1 für z = 1,2, d.h. die zweite Kette (vgl. Schritt 104) Die E1 werden als Vorwärtsschlüssel bezeichnet. Bei Anwendung des RSA Verfahrens bedeutet dies:
Figure imgf000018_0001
Außerdem berechnet der Erzeuger mit Hilfe der Formel
E1 = E/ modn, / = 1,2,... die Schlüssel E1 für / = 1,2,....
Aus den Schlüsseln D1 und E1 berechnet der Serviceprovider den für die Verschlüsselung verwendete Schlüssel K1 beispielsweise wie folgt:
K1 = COMiD11E,)
COM(-) ist dabei eine Funktion, die D1 und E1 miteinander verknüpft und einen Wert erstellt, der die Anforderungen, die an einen sicheren Schlüssel des zur Verschlüsselung zu verwendenden Verfahrens gestellt werden, erfüllt.
Beispielsweise beträgt die Länge von n 2048 Bit. D1 und E1 , D1 , E1 < n, haben beispielsweise ebenfalls die Länge von n Bit. Es kann aber auch vorkommen, dass einige führende Bits von D1 und/oder E1 Null sein können. Für die Verschlüsselung wird aber ein Schlüssel der Länge 128 Bit benötigt. Dann wendet man auf D1 und E1 eine One-Way-HASH-Funktion
K(D13E1)
an und schneidet das Ergebnis entsprechend der benötigten Länge ab, man nimmt z.B. die rechts stehenden 128 Bits. Beispiele für One-Way-HASH-Funktion sind aus J. Buchmann, "Einführung in die Kryptographie", Springer Verlag, 2004 bekannt. Werden weitere Sicherheitsanforderungen oder Anforderungen an das Format oder die Konstruktion des Schlüssels gestellt, so sind auch diese von der Funktion COM(-) zu berücksichtigen. Die Funktion COM(-) kann daher aus mehreren Funkti- onen zusammengesetzt sein und kann dabei auch einen geheimen oder privaten Schlüssel miteinbeziehen.
Die auf diese Art und Weise erhaltene resultierende Kette von kryptographischen Schlüsseln kann für verschiedene Zwecke eingesetzt werden. Besonders eignet sich die vorliegende Erfindung zur Regelung des Zugangs zu einer zeitlichen Reihenfolge von Dienstleistungen oder in einer zeitlichen Reihenfolge herausgegebenen Produkten. Dabei eignet sich die vorliegende Erfindung gleichermaßen für online erbrachte Dienstleistungen oder online gelieferte Produkte als auch für so ge- nannte „real world" Dienstleistungen und Produkte.
In einer Ausführungsform der Erfindung wird eine resultierende Kette von kryptographischen Schlüsseln generiert, um die Zugriffsrechte von Abonnenten einer Dienstleistung oder eines Produkts, wie zum Beispiel einer Zeitschrift, zu regeln. Beispielsweise erscheint die Zeitschrift wöchentlich, indem eine Datei DAWoche auf einer Internet-Plattform des Herausgebers der Zeitschrift zum Download bereitgestellt wird. Auch zurückliegende Ausgaben der Zeitschrift stehen auf dieser Internet- Plattform zum Download bereit. Die Dateien DAwoche sind jeweils mit Hilfe eines kryptographischen Schlüssels der resultierenden Kette verschlüsselt, damit nur au- torisierte Abonnenten Zugriff auf die Zeitschriften erhalten können.
Beispielsweise wird für jedes Erscheinungsjahr der Zeitschrift im Voraus eine resultierende Kette von k = 52 kryptographischen Schlüsseln K0 bis K51 generiert. Sobald eine Zeitschrift neu erscheinen soll, wird deren entsprechende Datei DAWoche mit einem der Schlüssel der resultierenden Kette verschlüsselt. Beispielsweise wird die Zeitschrift der Woche i, d.h. deren entsprechende Datei DAj=woche, mit dem kryptographischen Schlüssel der resultierenden Kette desselben Index i, d.h. mit Kj, verschlüsselt (vgl. Schritt 200 in dem Verfahren der Figur 2). Die Zeitschrift für die Woche i wird dann auf der Internet-Plattform den Abonnenten zum Download zur Ver- fügung gestellt, indem die verschlüsselte Datei DAj 'zum Herunterladen bereitgestellt wird.
Für ein darauffolgendes Erscheinungsjahr der Zeitschrift wird eine Verlängerung der resultierenden Kette um weitere k = 52 kryptographische Schlüssel berechnet. Dies kann so erfolgen, dass die iterative Durchführung der Berechnung der ersten Kette und der zweiten Kette in den Schritten 102 und 104 der Figur 1 beginnend mit dem letzten Element der jeweiligen Kette, d.h. beginnend mit Dm-i bzw. Em-i wieder aufgenommen wird, um weitere Schlüssel Dm bis D2m-1 und Em bis E2m-1 zu berechnen. Aus diesen Verlängerungen der ersten und zweiten Kette wird dann die Verlängerung der resultierenden Kette, d.h. die Schlüssel Km bis K2m-i berechnet. Mit diesen weiteren Schlüsseln Km bis K2m-1 werden dann die Dateien der im Folgejahr erscheinenden Zeitschriften verschlüsselt und nacheinander zum Herunterladen bereitgestellt, wie das bei der Ausführung der Schritte 200 und 202 für das erstge- nannte Erscheinungsjahr der Fall war.
Die Verschlüsselung der Dateien in dem Schritt 200 kann durch symmetrische und/oder asymmetrische Verschlüsselungsverfahren mit Hilfe der Schlüssel der resultierenden Kette erfolgen. Es kann prinzipiell jedes Verschlüsselungsverfahren verwendet werden, welches die Sicherheitsanforderungen erfüllt. Die kryptographi- schen Schlüssel der resultierenden Kette können dabei unmittelbar für die Verschlüsselung verwendet werden oder für die Ableitung oder Verschlüsselung weiterer kryptographischer Schlüssel, die dann für die eigentliche Verschlüsselung verwendet werden. Die Länge der Schlüssel wird durch das verwendete kryptographi- sehe Verschlüsselungsverfahren vorgegeben; sie kann zum Beispiel 56, 64, 128, 192 oder 256 Bit betragen.
Es ist darauf hinzuweisen, dass nicht notwendigerweise jede Datei DAj mit einem anderen Schlüssel Kj verschlüsselt werden muss; es können auch mehre- re Dateien mit demselben Schlüssel Ki verschlüsselt werden.
Ausführungsformen der vorliegenden Erfindung sind besonders vorteilhaft, da es für das Key Management nicht erforderlich ist, dass die einzelnen kryptographischen Schlüssel der resultierenden Kette an die Abonnenten verteilt werden. An einen Abonnenten, der beispielsweise die Zeitschrift für einen gewissen Zeitraum beziehen möchte, beispielsweise für die Wochen i bis k, ist es lediglich erforderlich, den Schlüssel Dj+k der ersten Kette und den Schlüssel Ei der zweiten Kette (vgl. die Schritte 102 und 104 der Figur 1) in dem Schritt 300 gemäß dem Verfahren der Figur 3 zu empfangen. In dem Schritt 302 kann aus dem empfangenen Schlüssel Dj+k der Vorgängerschlüssel in der ersten Kette, d.h. der Schlüssel Dj+κ-i durch Anwendung der Funktion f berechnet werden. Durch iterative Anwendung der Funktion f auf den jeweils berechneten Vorgängerschlüssel können so die Schlüssel beispielsweise bis zu dem Schlüssel Dj berechnet werden.
In dem Schritt 304 wird aus dem Schlüssel Ej der Nachfolgerschlüssel Ei+1 durch Anwendung der Funktion g berechnet. Durch iterative Anwendung der Funktion g jeweils auf den Nachfolgerschlüssel lassen sich also die auf den Schlüssel Ej folgenden Schlüssel der zweiten Kette berechnen. Beispielsweise erfolgt die Berechnung bis zum Schlüssel Ei+k.
In dem Schritt 306 wird aus den in den Schritten 302 und 304 berechneten Schlüs- sein eine Teilkette der resultierenden Kette durch Anwendung der Funktion COM berechnet. In dem hier betrachteten Beispielsfall werden also die Schlüssel Ki bis Ki+k berechnet. Dies kann im Voraus erfolgen oder je nach Bedarf, d.h. beispielsweise anlässlich des Empfangs einer verschlüsselten Datei DAq ' in dem Schritt 308, wobei i < q < i +k ist. In dem Schritt 310 kann die verschlüsselte Datei DAq ' mittels des dazugehörigen Schlüssels Kq der resultierenden Kette entschlüsselt werden.
In einem weiteren Beispielfall handelt es sich um eine Dienstleistung, die täglich erbracht wird. Ein Schlüsselwechsel findet daher täglich statt. Der Dienstleister bietet den Zugriff auf eine Dienstleistung in Form eines Monatsabonnements an. Wenn ein Teilnehmer ein solches Monatsabonnement kauft, so erhält er einen Schlüssel Ej und einen Schlüssel Dj+30 für einen Monat, der 30 Tage hat. Aus diesen beiden Schlüsseln können teilnehmerseitig die Schlüssel D1 bis Dj+M der ersten Kette sowie die Schlüssel Ei+i bis Ej+30 der zweiten Kette berechnet werden. Aus diesen Schlüsseln können wiederum die resultierenden Schlüssel Kj bis Kj+3O durch die Funktion COM berechnet werden, sodass der Teilnehmer aufgrund nur des Empfangs der Schlüssel Ej und Dj+30 in den Besitz der 30 resultierenden Schlüssel für sein Monatsabonnement gelangt. Beispielsweise verlängert sich das Abonnement zum Ende eines Monats, wenn es sich nicht gekündigt wird. Der Teilnehmer erhält dann für jeden Folgemonat einen weiteren Schlüssel aus der ersten Kette, beispielsweise für den nächstfolgenden Monat den Schlüssel Di+3o+3i, um daraus eine Verlängerung der zuvor bereits be- rechneten Teilkette der ersten Kette zu ermitteln, nämlich die Schlüssel Dj+31 bis D1+61. Für die Verlängerung der zuvor bereits berechneten Teilkette der zweiten Kette braucht der Teilnehmer keine zusätzlichen Informationen, da er diese ja nach Belieben durch iteratives Anwenden der Funktion g in Vorwärtsrechnung verlängern kann. Aus der Verlängerung der ersten und zweiten Teilketten können dann teil- nehmerseitig die weiteren Schlüssel Kj+3i bis Kj+6i für den Folgemonat berechnet werden.
Über ein Jahr müssen dann daher an den Abonnenten lediglich 13 Schlüssel übertragen werden. Ohne das erfindungsgemäße Verfahren hätte dagegen für jeden Tag ein neuer Schlüssel übertragen werden müssen, d.h. insgesamt 365 Schlüssel. Die Erfindung ermöglicht also eine drastische Reduzierung des für das Key Management erforderlichen Aufwands.
Ein weiteres Beispiel ist die Verteilung mehrerer Programme durch einen Service- anbieter. Diese Programme werden unabhängig voneinander verschlüsselt. Der kryptographische Schlüssel der resultierenden Kette für die Programmverschlüsselung wird täglich gewechselt, d.h. jeder der Teilnehmer benötigt für jeden Tag einen neuen Schlüssel. Wenn ein Teilnehmer mehrere Programme abonniert, benötigt er dementsprechend täglich mehrere Schlüssel, um die von ihm abonnierten Pro- gramme nutzen zu können. Solche Programme können aber auch zu Paketen zu- sammengefasst werden, wobei jedes Paket mit einem einzigen Schlüssel verschlüsselt wird. Ferner können auch Teilnehmer zu Teilnehmergruppen zusammen- gefasst werden, die jeweils gemeinsame Schlüssel miteinander teilen, d.h. denselben Schlüssel verwenden.
Ausführungsformen des erfindungsgemäßen Verfahrens versetzen jeden Teilnehmer in der Lage, von Beginn für eine vom Serviceanbieter der Programme vorgegebene Dauer seines Abonnements die resultierenden Schlüssel selbst zu berechnen, zum Beispiel bis zum Ende der Vertragslaufzeit. Falls eine ausdrückliche oder still- schweigende Verlängerung der Vertragslaufzeit erfolgt, erhält ein Teilnehmer einen weiteren Schlüssel der ersten Kette, welche es dem Teilnehmer ermöglicht, die weitere resultierenden Schlüssel, die er während der verlängerten Vertragslaufzeit benötigt, selbst zu berechnen.
Diese Berechnung kann beispielsweise wie folgt durchgeführt werden:
Der Abonnent soll in die Lage versetzt werden, zur Entschlüsselung des abonnierten Dienstes die resultierenden Schlüssel K„...,Ki+k zu berechnen, damit er die Dienstleistung in Anspruch nehmen kann. Nacheinander werden die Schlüssel Ki,Ki+v...,Ki+k zur Verschlüsselung verwendet. Er soll nicht in der Lage sein, die Daten des von ihm abonnierten Services zu entschlüsseln, die mit den Schlüsseln KQ,...,Khl oder mit den Schlüsseln Kl+k+x,... verschlüsselt werden. Zu diesem Zweck erhält er vom Service Provider die Schlüssel E1 und Dι+k.
Mit dem Erhalt von E1 ist der Teilnehmer mit Hilfe der folgenden Formel in der Lage, alle folgenden Ei+ι,Ei+2,... zu berechnen.
El+J = gJ(Ei) = g(g(...g(Ei))) G-malige Anwendung der Funktion g), j = 1,2,...
Er ist aber nicht in der Lage, E0,...,Ehl zu berechnen, da g(-)z.B. eine One-Way Trapdoor Funktion oder eine Hash-Funktion ist, wobei der Teilnehmer nicht das Geheimnis kennt oder nicht über genügend Rechenkapazität verfügt, um die Umkehrfunktion von g-Q zu berechnen.
Mit dem Erhalt von Dι+k ist der Teilnehmer in der Lage, durch Anwendung der Formel
Di+k_j = fj{Di+k) = /(/(.../(A+J)) (j-malige Anwendung der Funktion f)> j = 1,2,...,i + k D0,... ,Dj+^1 zu berechnen, aber nicht Di+lc+ι,Di+k+2,.... Daher werden die D1 Rückwärtsschlüssel genannt, weil damit alle Vorgängerschlüssel abgeleitet werden können. Bei Anwendung des RSA Verfahrens ist mit dem Erhalt von E1 der Teilnehmer mit Hilfe der folgenden Formel in der Lage, alle folgenden EM,Ej+2,... leicht zu berechnen
E1+J = E ' modft, 7 = 1,2,...
Er ist aber nicht in der Lage, E0,...,Ehl zu berechnen, da er nicht den privaten Schlüssel d kennt. Zur Berechnung von d benötigt er p und q, die er ebenfalls nicht kennt.
Mit dem Erhalt von Dl+k ist der Teilnehmer in der Lage, durch Anwendung der Formel
Di+k_j = Di+k eJ modn, j = 1,2,... i + Jc D0,..., D1+^1 zu berechnen, aber nicht
Zur Berechnung der Schlüssel Kj+J für j = O,...,k benötigt ein Teilnehmer den gültigen Vorwärts- und Rückwärtsschlüssel:
Ki+j = COWL{Di+j,Ei+j)
Die oben genannten Beispiele beziehen sich überwiegend auf einen zeitlich abhängigen Schlüsselwechsel. Der Schlüsselwechsel kann aber auch ereignisorientiert stattfinden, zum Beispiel kann eine bestimmte Anzahl von Folgen abonniert werden Die eigenständige Berechnung der resultierenden Schlüssel beim Teilnehmer hängt dann von der Anzahl der Schlüsselwechsel ab, zu denen der Teilnehmer befugt ist, nicht von der Zeit, d.h. beispielsweise von der Anzahl der abonnierten Folgen.
Die Figur 4 zeigt exemplarisch eine erste Kette 400, die eine Anzahl von m ersten Schlüsseln D0 bis Dm-i beinhaltet. Die erste Kette 400 ist entsprechend dem Schritt 102 in der Ausführungsform der Figur 1 generiert worden. Ferner zeigt die Figur 4 exemplarisch eine zweite Kette 402 mit einer Anzahl von m zweiten Schlüsseln E0 bis Em-i. Die zweite Kette 402 ist entsprechend Schritt 104 in der Ausführungsform der Figur 1 generiert worden. Ferner zeigt die Figur 4 exemplarisch eine resultierende Kette 404 einer Anzahl von m resultierenden Schlüsseln Ko bis Km-1. Diese resultierende Kette 404 kann entsprechend Schritt 106 in der Ausführungsform der Figur 1 festgelegt werden.
Beispielsweise soll eine Teilkette 406 von resultierenden Schlüsseln Kj bis Ki+k an einen Teilnehmer, wie zum Beispiel einen Abonnenten, übertragen werden. Zu der Teilkette 406 gehören die Teilkette 408 der ersten Kette 400, welche die ersten Schlüssel D0 bis Dj+k aufweist, sowie die Teilkette 410 der zweiten Kette 402, wel- che die zweiten Schlüssel Ej bis Ej+k aufweist, da diese Schlüssel der Teilketten 408 und 410 zur Festlegung der entsprechenden Schlüssel der Teilkette 406 dienen.
Zur Übertragung der Teilkette 406 an einen Teilnehmer, wie zum Beispiel einen Abonnenten, ist es initial lediglich erforderlich, den Endschlüssel 412 der Teilkette 408, d.h. den Schlüssel Di+k, sowie den Anfangsschlüssel 414 der Teilkette 410, d.h. den Schlüssel E1 an den Teilnehmer zu übertragen (vgl. Schritt 300 der Figur 3).
Durch wiederholte Anwendung der Funktion f können dann teilnehmerseitig die Vorgängerschlüssel des Endschlüssels 412 der Teilkette 408 berechnet werden, wie in der Figur 4 dargestellt (vgl. Schritt 302 in der Ausführungsform der Figur 3). Aus dem Anfangsschlüssel 414 können dagegen die Nachfolgerschlüssel des Anfangsschlüssels 414 in der Teilkette 410 durch iterative Anwendung der Funktion g berechnetet werden (vgl. Schritt 304 in der Ausführungsform der Figur 3). Aus den Teilketten 408 und 410 kann teilnehmerseitig dann die Teilkette 406 berechnet wer- den, beispielsweise durch Anwendung der Funktion COM (vgl. Schritt 306 in der Ausführungsform der Figur 3).
Wenn nachfolgend die Teilkette 406 um eine Verlängerung 407 bis zu dem Schlüssel Kr verlängert werden soll, so muss lediglich ein weiterer Schlüssel 413, d.h. D r der ersten Kette 400 an den Teilnehmer übertragen werden, wobei i+k < r < m-1 , Aus diesem aktualisierten Endschlüssel 413 kann teilnehmerseitig nämlich eine Verlängerung der Teilkette 408 berechnet werden. Für eine Berechnung einer Verlängerung der Teilkette 410 benötigt der Teilnehmer eine solche Zusatzinformation nicht, da er hier zur Berechnung von Nachfolgerschlüsseln, die auf den bisherigen Endschlüssel der Teilkette 410 folgen, lediglich die Funktion g iterativ anwenden muss. Für die Übertragung einer beliebigen Ver- längerung 407 der Teilkette 406 ist daher lediglich die Übertragung eines einzigen weiteren Schlüssels 413 der ersten Kette 400 erforderlich, welcher in Vorwärtsrichtung hinter dem bisherigen Endschlüssel 412 liegt.
Das vordefinierte Schema kann jetzt wieder zur Anwendung kommen, um aus den Verlängerungen der Teilketten die Verlängerung 407 der resultierenden Kette 404 zu ermitteln.
Die Figur 5 zeigt ein Computersystem 500, welches als Schlüsselgenerierungsein- heit zur Festlegung der ersten und zweiten Ketten, optional auch einer resultieren- den Kette (vgl. resultierende Kette 404 der Figur 4) ausgebildet ist. Das Computersystem 500 hat hierzu einen Speicher 502 mit einem Speicherbereich 504 und einem Speicherbereich 506 zur Speicherung der Startparameter D0 und E0, d.h. der Anfangsschlüssel der ersten Kette 400 bzw. der zweiten Kette 402 in der Ausführungsform der Figur 4.
Der Speicher 502 hat ferner einen Speicherbereich 508 zur Speicherung der ersten Kette 400 und einen Speicherbereich 510 zur Speicherung der zweiten Kette 402. Optional hat der Speicher 502 ferner einen Speicherbereich 512 zur Speicherung der resultierenden Kette 404.
Das Computersystem 500 hat zumindest einen Prozessor 514 zur Ausführung eines Programms 516, welches auf die Programmmodule 518 und 520 sowie optional 522 zugreifen kann. Durch das Programmodul 518 wird die Umkehrfunktion der Funktion f, d.h. die Funktion f1, implementiert und durch das Programmmodul 520 wird die Funktion g implementiert. Ferner wird durch das optionale Programmmodul 522 die Funktion COM implementiert.
Das Computersystem 500 verfügt ferner über einen Zugriff auf einen privaten Schlüssel 524, bei dem es sich um die „Trapdoor" für die Berechnung der Funktion f1 handelt. Bei dem Computersystem 500 kann es sich um eine so genannte Trusted Computing Plattform handeln, insbesondere um einen unbefugten Zugriff auf den privaten Schlüssel 524 zu unterbinden. Die Speicherung des privaten Schlüssels 524 sowie das Programmmodul 518 können auch in einer Chipkarte oder in einem anderen Sicherheitstoken implementiert sein.
Zur Festlegung der Ketten 400, 402 und optional 404 führt das Computersystem 500 beispielsweise das Verfahren gemäß Figur 1 aus, indem das Programm 516 auf die Speicherbereiche 504 und 506 zugreift, um D0 und E0 auszulesen, sodass daraufhin mit Hilfe der Programmmodule 518 und 520 die ersten und zweiten Ketten 400 und 402 berechnet und in den Speicherbereichen 508 bzw. 510 abgelegt werden. Optional berechnet das Computersystem 500 auch die resultierende Kette 404 mit Hilfe des Programmmoduls 522 und speichert die resultierende Kette 404 in dem Speicherbereich 512 ab. Die Speicherung der ersten und zweiten Ketten 400, 402 in den Speicherbereichen 504, 506 ist nicht unbedingt erforderlich, da diese Ketten jederzeit von dem Computersystem 500 erneut berechnet werden können.
Die Figur 5 zeigt ferner ein Computersystem 526 des Erbringers einer Online- Dienstleistung oder einer anderen Vorrichtung zur Verfügungstellung einer Res- source mit Zugangskontrolle In dem hier betrachteten Beispielsfall hat die Online- Dienstleistung die Zurverfügungstellung von Dateien zum Herunterladen zum Gegenstand. Das Computersystem 526 hat einen Speicher 528 zur Speicherung von einer Anzahl m Dateien DA0 bis DAm-i in einem Speicherbereich 530. Der Speicher 528 hat ferner einen Speicherbereich 532 zur Speicherung der verschlüsselten Da- teien DA0 ' bis DAm-r.
Ferner hat der Speicher 528 Speicherbereiche 534, 536 und 538 zur Speicherung der ersten Kette 400, der zweiten Kette 402 sowie der resultierenden Kette 404. Die
Speicherung der Kette 404 in dem Speicherbereich 538 ist nicht unbedingt erforder- lieh, wenn das Computersystem 526 die Kette 404 jederzeit erneut berechnen kann.
Das Computersystem 526 hat ferner zumindest einen Prozessor 540 zur Ausführung eines Programms 542, welches auf das optionale Programmmodul 522 und das Programmmodul 544 zugreifen kann. Das Programmmodul 544 dient dabei zur Verschlüsselung der Dateien unter Verwendung der Schlüssel der resultierenden Kette, beispielsweise nach einem symmetrischen Verschlüsselungsverfahren.
Das Computersystem 500 und das Computersystem 526 können miteinander bei- spielsweise über ein Netzwerk 546, insbesondere das Internet, miteinander kommunizieren. Die Übertragung der Schlüssel über das Netzwerk erfolgt vorzugsweise verschlüsselt.
In Betrieb empfängt das Computersystem 526 von dem Computersystem 500 eine Nachricht 548, die die erste Kette 400 und die zweite Kette 402 beinhaltet. Zusätzlich kann die Nachricht 548 auch die resultierende Kette 404 beinhalten. Zur Generierung der Nachricht 548 greift das Programm 516 auf die Speicherbereiche 508 und 510 zu, um die ersten und zweiten Ketten 400, 402 zu lesen, sodass diese dann mit Hilfe der Nachricht 548 gesendet werden können. Optional beinhaltet die Nachricht 548 auch die resultierende Kette 404. Im letzteren Fall verfügt das Computersystem 500 über das Programmmodul 522 zur Berechnung der resultierenden Kette 404.
Wenn das Computersystem 526 die Nachricht 548 empfängt, so werden die erste Kette 400 in dem Speicherbereich 534 und die zweite Kette 402 in dem Speicherbereich 536 gespeichert. Falls die resultierende Kette 404 nicht Teil der Nachricht 548 ist, so wird diese mit Hilfe des Programmmoduls 522 seitens des Computersystems 526 berechnet.
Mit Hilfe der resultierenden Kette erfolgt dann eine Verschlüsselung z.B. der Dateien des Speicherbereichs 530, sodass diese dann in verschlüsselter Form in dem Speicherbereich 532 vorliegen. Die verschlüsselten Dateien werden zum Beispiel auf einer Internet-Plattform zum Download bereitgestellt. Statt um Dateien kann es sich um andere Daten handeln, insbesondere auch um die Daten eines Datenstroms. Insbesondere im letzteren Fall kann die Verschlüsselung der Daten „on the fly" erfolgen. Die Verschlüsselung der Daten kann unmittelbar mit den Schlüsseln der resultierenden Kette erfolgen. Alternativ dienen die Schlüssel der resultierenden Kette als Eingangswerte für ein weiteres Verfahren zur Ableitung der Schlüssel, mit denen die Daten verschlüsselt werden sollen.
Bei den Computersystemen 500 und 526 kann es sich auch um eine Einheit handeln, d.h. der Erbringer der Online-Dienstleistung sorgt selbst für die Generierung des Schlüsselmaterials. Die in der Figur 5 gezeigte Ausführungsform einer Trennung der Computersysteme 500 und 526 ist aber vorteilhaft, da das Computersys- tem 500 für verschiedene Dienstleistungserbringer das erforderliche Schlüsselmaterial generieren kann.
Zum Zugriff auf die Online bereitgehaltenen verschlüsselten Dateien dient ein elektronisches Gerät 550 eines Teilnehmers. Bei dem elektronischen Gerät 550 kann es sich zum Beispiel um einen Personalcomputer, ein Mobiltelefon, ein multimediales Empfangsgerät mit Common Interface oder Chipkarteninterface und Chipkarte oder dergleichen handeln.
Das elektronische Gerät 550 des Teilnehmers hat einen Speicher 552 mit den Speicherbereichen 554, 556, 558, 560, 562, 564 und 566. Ferner hat das elektronische Gerät 550 zumindest einen Prozessor 569 zur Ausführung eines Programms 555, welches auf die Programmmodule 568, 570 und 572 zugreifen kann. Das Programmmodul 568 implementiert dabei die Funktion f, das Programmmodul 570 die Funktion g und das Programmmodul 572 die Funktion COM.
Um dem Teilnehmer die Entschlüsselung der von ihm abonnierten Daten zu ermöglichen, sendet das Computersystem 526 eine Nachricht 574 an das elektronische Gerät 550, zum Beispiel über das Netzwerk 546. Die Nachricht 574 beinhaltet den Endschlüssel 412 und den Anfangsschlüssel 414 (vgl. Ausführungsform der Figur 4). Der Endschlüssel 412 wird in dem Speicherbereich 554 und der Anfangsschlüssel 414 in dem Speicherbereich 556 gespeichert. Die Nachricht 564 kann auch den zu dem privaten Schlüssel 524 korrespondierenden öffentlichen Schlüssel beinhalten, welcher dann in den Speicherbereich 558 gespeichert wird. Der öffentliche Schlüssel wird vorzugsweise in einem Zertifikat nach X.509-Standard übermittelt. Der öffentliche Schlüssel kann in dem Speicher 528 gespeichert werden, um ihn später an das elektronische Gerät 550 z.B. mit der Nachricht 574 zu übertragen.
Die Nachricht 574 ist vorzugsweise mit einem Schlüssel verschlüsselt, der dem Teil- nehmer vorher zugeteilt wurde.
Das Programm 556 berechnet dann mit Hilfe der Programmmodule 568 und 570 die Teilkette 408 bzw. 410 und speichert diese in den Speicherbereich 562 bzw. 564 ab (vgl. Ausführungsform der Figur 4). Mit Hilfe des Programmmoduls 572 berechnet das Programm 556 aus den Teilketten 408 und 410 dann die Teilkette 406, welche die resultierenden Schlüssel beinhaltet. Diese werden in dem Speicherbereich 566 abgelegt.
Das elektronische Gerät 550 kann dann verschlüsselte Daten 576, die zum Beispiel die verschlüsselte Datei DAq ' aus dem Speicherbereich 532 beinhaltet, über das Netzwerk 546 laden. Die verschlüsselte Datei DAq ' wird zum Beispiel mit Hilfe des Schlüssels Kq durch das Programm 556 entschlüsselt und in dem Speicherbereich 560 zur weiteren Verwendung durch den Teilnehmer gespeichert.
Entsprechend kann für weitere, in der Figur 5 nicht gezeigten Teilnehmer vorgegangen werden.
Zumindest das Programmmodul 568 kann auf einer Chipkarte oder einem RFID-tag implementiert sein, auf weiche das elektronische Gerät 550 zugreifen kann. Falls es sich bei dem elektronischen Gerät 550 um ein Mobilfunkgerät handelt, so kann das elektronische Gerät 550 einen integrierten Chipkartenleser zum Zugriff auf eine Te- lekommunikations-Chipkarte, wie zum Beispiel eine so genannte SIM-Karte, beinhalten. Das Programmmodul 568 kann dann zum Beispiel durch die SIM-Karte durchgeführt werden, auf der auch der öffentliche Schlüssel 558 gespeichert sein kann. Vorzugsweise sind auch die Schlüssel Di+ι< und Ei auf der SIM-Karte gespeichert und vorzugsweise sind auch die Funktionen f und g in der SIM-Karte implementiert. Statt einer Chipkarte, insbesondere einer SIM-Karte, oder RFID-tag kann auch ein anderer Sicherheitstoken, wie z.B. ein USB Stick verwendet werden. Anstelle nur eines asymmetrischen Schlüsselpaares bestehend aus dem o.g. privaten Schlüssel und dem öffentlichen Schlüssel, können für die Erzeugung der ersten und zweiten Ketten auch verschiedene Schlüsselpaare verwendet werden.
Ferner kann die Chipkarte bzw. die SIM-Karte auch zur Ausführung eines Verschlüsselungsverfahrens zum Aufbau eines verschlüsselten Kanals zur Übertragung der Nachricht 574 von dem Computersystem 526 an das elektronische Gerät 550 verwendet werden.
In dem Computersystem 500, d.h der Schlüsselgenerierungseinheit, müssen nicht alle Dj, Kj und Ej gespeichert werden, da sie jederzeit rekonstruiert werden können. Der private Schlüssel 524 sollte im Speicher, am besten in einem geschützten Bereich gespeichert werden; der private Schlüssel gehört zu f 1.
Die Verbindung vom Service Provider, d.h. dem Computersystem 526, zum Gerät 550 des Teilnehmers sollte verschlüsselt sein. Ein hierfür erforderlicher Teilnehmerschlüssel kann in dem Gerät 550 des Teilnehmers gespeichert werden . Teilneh- merseitig sollten Dj, E1 und Kj auch in einem sicheren Speicher abgelegt werden, damit sie nicht unbefugt weitergegeben werden können.
Bezugszeichen l iste
400 erste Kette
402 zweite Kette
404 resultierende Kette
406 Teilkette
407 Verlängerung
408 Teilkette
10 410 Teilkette
412 Endschlüssel
413 aktualisierter Endschlüssel
414 Anfangsschlüssel
500 Computersystem
15 502 Speicher
504 Speicherbereich
506 Speicherbereich
508 Speicherbereich
510 Speicherbereich
20 512 Speicherbereich
514 Prozessor
516 Programm
518 Programmmodul
520 Programmmodul
25 522 Programmmodul
524 privater Schlüssel
526 Computersystem
528 Speicher
530 Speicherbereich
30 532 Speicherbereich
534 Speicherbereich
536 Speicherbereich
538 Speicherbereich
540 Prozessor 542 Programm
544 Programmmodul
546 Netzwerk
548 Nachricht
550 elektronisches Gerät
552 Speicher
554 Speicherbereich
555 Programm
556 Speicherbereich
10 558 Speicherbereich
560 Speicherbereich
562 Speicherbereich
564 Speicherbereich
566 Speicherbereich
15 568 Programmmodul
569 Prozessorl
570 Programmmodul
572 Programmmodul
574 Nachricht
20 576 verschlüsselte Daten

Claims

P a t e n t a n s p r ü c h e
1. Verfahren zur Bestimmung einer resultierenden Kette (404) von Schlüsseln mit folgenden Schritten:
Ermittlung einer ersten Kette (400) von ersten Schlüsseln, wobei sich durch Anwendung einer ersten Funktion ein Vorgängerschlüssel aus je- dem Nachfolgerschlüssel der ersten Kette berechnen lässt, wobei es sich bei der ersten Funktion um eine One-way-Funktion handet,
Ermittlung einer zweiten Kette (402) von zweiten Schlüsseln durch iterative Anwendung einer zweiten Funktion, wobei es sich bei der zweiten Funktion um eine One-Way-Funktion handelt,
wobei jeder Schlüssel der resultierenden Kette aus jeweils einem ersten Schlüssel der ersten Kette und einem zweiten Schlüssel der zweiten Kette bestimmbar ist.
2. Verfahren nach Anspruch 1 , wobei es sich bei der zweiten Funktion um eine HASH-Funktion, eine RSA Operation, eine Operation des Rabin-Verfahrens, oder eine Operation eines Verfahrens beruhend auf dem Problem des Diskreten Logarithms handelt.
3. Verfahren nach Anspruch 1 , wobei es sich bei der ersten Funktion um eine
One-Way-Trapdoor-Funktion handelt.
4. Verfahren nach Anspruch 3, wobei die Ermittlung der ersten Kette durch itera- tive Anwendung einer Umkehrfunktion der One-Way-Trapdoor-Funktion erfolgt.
5. Verfahren nach Anspruch 4, wobei die Ausführung der ersten Funktion die Kenntnis eines öffentlichen Schlüssels (558) voraussetzt, und wobei die Aus- führung der Umkehrfunktion der ersten Funktion die Kenntnis eines privaten
Schlüssels (524) voraussetzt.
6. Verfahren nach einem der vorhergehenden Ansprüche, wobei es sich bei der ersten Funktion um die RSA-Operation (modulare Exponentiation) mit öffentlichem Schlüssel, bei der Umkehrung mit privatem Schlüssel handelt.
7. Verfahren nach einem der vorhergehenden Ansprüche, wobei es sich bei der ersten Funktion um die Operation des Rabin-Verfahrens mit öffentlichem Schlüssel, bei der Umkehrung mit privatem Schlüssel handelt.
8. Verfahren nach einem der vorhergehenden Ansprüche, wobei es sich bei der ersten Funktion um die Operation eines Verfahrens beruhend auf dem Problem des Diskreten Logarithms mit öffentlichem Schlüssel, bei der Umkehrung mit privatem Schlüssel handelt.
9. Verfahren nach einem der vorhergehenden Ansprüche, wobei ein Schlüssel der resultierenden Kette durch paarweises Aneinanderhängen eines der ersten und eines der zweiten Schlüssel bestimmt wird.
10. Verfahren nach einem der vorhergehenden Ansprüche, wobei ein Schlüssel der resultierenden Kette durch logische und arithmetische Operationen bestimmt wird, die mit Hilfe zumindest eines der ersten Schlüssel und eines der zweiten Schlüssel durchgeführt wird.
11. Verfahren nach einem der vorhergehenden Ansprüche, wobei ein Schlüssel der resultierenden Kette durch logische und arithmetische Operationen bestimmt wird, die mit Hilfe zumindest eines der ersten Schlüssel und eines der zweiten Schlüssel durchgeführt und von zumindest einem weiteren Schlüssel beeinflusst wird.
12. Verfahren nach einem der vorhergehenden Ansprüche, wobei ein Schlüssel der resultierenden Kette durch Anwendung einer One-Way-Hash-Funktion auf zumindest einen der ersten Schlüssel und einen der zweiten Schlüssel ermittelt wird.
13. Verfahren zum Senden einer Teilkette (406) einer resultierenden Kette (404) von Schlüsseln, wobei die resultierende Kette nach einem der vorhergehenden Ansprüche bestimmt worden ist, und wobei die Teilkette einen Anfangsschlüssel (Ki) und einen Endschlüssel (Ki+k) hat, und wobei zur Bestimmung der Teilkette (406) eine entsprechende Teilkette (408) der ersten Kette und eine entsprechende Teilkette (410) der zweiten Kette verwendet worden ist, in folgen- den Schritten:
Senden eines Endschlüssels (412) der Teilkette (408) der ersten Kette,
Senden eines Anfangsschlüssels (414) der Teilkette (410) zweiten Kette.
14. Verfahren nach Anspruch 13, wobei die Teilkette dadurch verlängert wird, dass ein weiterer erster Schlüssel (413) der ersten Kette, der in der ersten Kette hinter dem zuvor gesendeten Endschlüssel (412) liegt, gesendet wird.
15. Verfahren nach Anspruch 13 oder 14, wobei das Senden des Endschlüssels der ersten Kette und des Anfangsschlüssels der zweiten Kette, bzw. des weiteren ersten Schlüssels der ersten Kette über ein Netzwerk erfolgt.
16. Verfahren nach Anspruch 13, 14 oder 15, wobei das Senden des Endschlüs- sels der ersten Kette und des Anfangsschlüssels der zweiten Kette, bzw. des weiteren ersten Schlüssels der ersten Kette verschlüsselt erfolgt.
17. Computerprogramm produkt mit computerausführbaren Instruktionen zur Durchführung eines Verfahrens nach einem der vorhergehenden Ansprüche.
18. Computersystem zur Bestimmung einer resultierenden Kette (404) von Schlüsseln mit
Mitteln (516, 518, 524) zur Ermittlung einer ersten Kette (400) von ersten Schlüsseln, wobei sich durch Anwendung einer ersten Funktion ein Vorgängerschlüssel aus jedem Nachfolgerschlüssel der ersten Kette berechnen lässt, wobei es sich bei der ersten Funktion um eine One-way- Funktion oder One-Way-Trapdoor Funktion handelt,
- Mitteln (516, 520) zur Ermittlung einer zweiten Kette (402) von zweiten
Schlüsseln durch iterative Anwendung einer zweiten Funktion, wobei es sich bei der zweiten Funktion um eine One-Way-Funktion oder eine One- Way-Trapdoor Funktion handelt,
wobei jeder Schlüssel der resultierenden Kette aus zumindest jeweils einem ersten Schlüssel der ersten Kette und einem zweiten Schlüssel der zweiten
Kette bestimmbar ist.
19. Computersystem zum Senden einer Teilkette (406) einer resultierenden Kette (404) von Schlüsseln, wobei die resultierende Kette nach einem der vorherge- henden Ansprüche bestimmt worden ist, und wobei die Teilkette einen Anfangsschlüssel (Ki) und einen Endschlüssel (Kj+k) hat, und wobei zur Bestimmung der Teilkette (406) eine entsprechende Teilkette (408) der ersten Kette und eine entsprechende Teilkette (410) der zweiten Kette verwendet worden ist, mit Mitteln (542) zum Senden der Teilkette, wobei Mittel zum Senden zur Durchführung der folgenden Schritte ausgebildet sind:
Senden eines Endschlüssels (412) der Teilkette (408) der ersten Kette,
Senden eines Anfangsschlüssels (414) der Teilkette (410) zweiten Kette.
20. Verfahren zum Empfang einer Teilkette (406) einer resultierenden Kette (404) von Schlüsseln, wobei die resultierende Kette nach einem der Ansprüche 1 bis 10 bestimmt worden ist, und wobei die Teilkette einen Anfangsschlüssel (Kj) und einen Endschlüssel (Kj+k) hat, mit folgenden Schritten:
Empfang eines der ersten Schlüssel (412) der ersten Kette,
Empfang eines der zweiten Schlüssel (414) der zweiten Kette,
- Berechnung von ersten Schlüsseln einer ersten Teilkette (408) der ersten
Kette durch iterative Anwendung der ersten Funktion beginnend mit dem empfangenen ersten Schlüssel, Berechnung von zweiten Schlüsseln einer zweiten Teilkette (410) der zweiten Kette durch iterative Anwendung der zweiten Funktion beginnend mit dem empfangenen zweiten Schlüssel,
- Ermittlung der Teilkette der resultierenden Kette aus den ersten und zweiten Teilketten.
21. Verfahren nach Anspruch 20, mit folgenden weiteren Schritten:
- Empfang eines weiteren der ersten Schlüssel (413) der ersten Kette, der vor dem zuvor empfangenen ersten Schlüssel (412) liegt,
Berechnung einer Verlängerung der ersten Teilkette aus dem weiteren ersten Schlüssel durch Anwendung der ersten Funktion,
Berechnung einer Verlängerung der zweiten Teilkette,
Bestimmung einer Verlängerung (407) der Teilkette der resultierenden Kette aus den Verlängerungen der ersten und der zweiten Teilketten.
22. Computerprogrammprodukt mit ausführbaren Instruktionen zur Durchführung eines Verfahrens nach Anspruch 20 oder 21.
23. Elektronisches Gerät zum Empfang einer Teilkette (406) einer resultierenden Kette (404) von Schlüsseln, wobei die resultierende Kette nach einem der Ansprüche 1 bis 10 bestimmt worden ist, und wobei die Teilkette einen Anfangsschlüssel (Ki) und einen Endschlüssel (Ki+k) hat, und wobei zur Bestimmung der Teilkette (406) eine entsprechende Teilkette (408) der ersten Kette und ei- ne entsprechende Teilkette (410) der zweiten Kette verwendet worden ist, mit
Mitteln (554, 555) zum Empfang eines der ersten Schlüssel (412) der ersten Kette, Mitteln (569, 555) zum Empfang eines der zweiten Schlüssel (414) der zweiten Kette,
Mitteln (568) zur Berechnung von ersten Schlüsseln der ersten Teilkette (408) der ersten Kette durch iterative Anwendung der ersten Funktion beginnend mit dem empfangenen ersten Schlüssel,
Mitteln (570) zur Berechnung von zweiten Schlüsseln der zweiten Teilkette der zweiten Kette durch iterative Anwendung der zweiten Funktion be- ginnend mit dem empfangenen zweiten Schlüssel,
Mitteln (572) zur Ermittlung der Teilkette der resultierenden Kette aus den ersten und zweiten Teilketten.
24. Elektronisches Gerät nach Anspruch 23, wobei es sich um ein Computersystem handelt.
25. Elektronisches Gerät nach Anspruch 23, wobei es sich um ein mobiles Gerät, einen Sicherheitstoken, insbesondere einen USB Stick, eine Chipkarte oder ein RFID tag handelt.
PCT/EP2009/055350 2008-05-02 2009-05-04 Verfahren zur bestimmung einer kette von schlüsseln, verfahren zur übertragung einer teilkette der schlüssel, computersystem und chipkarte WO2009133206A1 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP09738250A EP2321927A1 (de) 2008-05-02 2009-05-04 Verfahren zur bestimmung einer kette von schlüsseln, verfahren zur übertragung einer teilkette der schlüssel, computersystem und chipkarte
US13/124,080 US20120027212A1 (en) 2008-05-02 2009-05-04 Method for determining a chain of keys, method for transmitting a partial chain of the keys, computer system and chip card

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102008021933A DE102008021933B4 (de) 2008-05-02 2008-05-02 Verfahren zur Bestimmung einer Kette von Schlüsseln, Verfahren zur Übertragung einer Teilkette der Schlüssel, Computersystem und Chipkarte I
DE102008021933.9 2008-05-02

Publications (1)

Publication Number Publication Date
WO2009133206A1 true WO2009133206A1 (de) 2009-11-05

Family

ID=40821812

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2009/055350 WO2009133206A1 (de) 2008-05-02 2009-05-04 Verfahren zur bestimmung einer kette von schlüsseln, verfahren zur übertragung einer teilkette der schlüssel, computersystem und chipkarte

Country Status (4)

Country Link
US (1) US20120027212A1 (de)
EP (1) EP2321927A1 (de)
DE (1) DE102008021933B4 (de)
WO (1) WO2009133206A1 (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011013028A1 (en) * 2009-07-31 2011-02-03 Telefonaktiebolaget Lm Ericsson (Publ) Self-healing key distribution based on a dynamically adjusted sliding window
CN102256247A (zh) * 2011-06-17 2011-11-23 西安电子科技大学 无线网络中安全有效的切换认证方案的通用构造

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5255499B2 (ja) * 2009-03-30 2013-08-07 株式会社エヌ・ティ・ティ・ドコモ 鍵情報管理方法、コンテンツ送信方法、鍵情報管理装置、ライセンス管理装置、コンテンツ送信システム、及び端末装置
US8534323B2 (en) * 2009-04-10 2013-09-17 Flowserve Corporation Control valves and methods of flowing a material through a control valve
US8687807B2 (en) * 2011-01-26 2014-04-01 Nagrastar, L.L.C. Cascading dynamic crypto periods
WO2013020172A1 (en) * 2011-08-08 2013-02-14 Mikoh Corporation Radio frequency identification technology incorporating cryptographics
GB2535101B (en) * 2013-12-03 2020-03-25 Radio Systems Corp Battery Authentication System
CN105099693B (zh) * 2014-05-23 2018-10-19 华为技术有限公司 一种传输方法及传输装置
JP6896879B2 (ja) * 2017-04-11 2021-06-30 ヒューレット−パッカード デベロップメント カンパニー エル.ピー.Hewlett‐Packard Development Company, L.P. システム、方法、可読媒体
CN114095161A (zh) * 2021-11-12 2022-02-25 电子科技大学 一种支持等式测试的身份基可穿刺加密方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060107043A1 (en) * 2004-11-12 2006-05-18 Samsung Electronics Co., Ltd. Method for managing user key for broadcast encryption
US20070127719A1 (en) * 2003-10-14 2007-06-07 Goran Selander Efficient management of cryptographic key generations
US20080085003A1 (en) * 2006-10-05 2008-04-10 Nds Limited Key production system

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7599497B2 (en) * 2002-03-27 2009-10-06 British Telecommunications Public Limited Company Key management protocol
US7873166B2 (en) * 2005-09-13 2011-01-18 Avaya Inc. Method for undetectably impeding key strength of encryption usage for products exported outside the U.S
US7477738B2 (en) * 2005-12-21 2009-01-13 General Instrument Corporation Data sequence encryption and decryption

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070127719A1 (en) * 2003-10-14 2007-06-07 Goran Selander Efficient management of cryptographic key generations
US20060107043A1 (en) * 2004-11-12 2006-05-18 Samsung Electronics Co., Ltd. Method for managing user key for broadcast encryption
US20080085003A1 (en) * 2006-10-05 2008-04-10 Nds Limited Key production system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011013028A1 (en) * 2009-07-31 2011-02-03 Telefonaktiebolaget Lm Ericsson (Publ) Self-healing key distribution based on a dynamically adjusted sliding window
CN102256247A (zh) * 2011-06-17 2011-11-23 西安电子科技大学 无线网络中安全有效的切换认证方案的通用构造

Also Published As

Publication number Publication date
DE102008021933B4 (de) 2011-04-07
EP2321927A1 (de) 2011-05-18
DE102008021933A1 (de) 2009-11-05
US20120027212A1 (en) 2012-02-02

Similar Documents

Publication Publication Date Title
DE102008021933B4 (de) Verfahren zur Bestimmung einer Kette von Schlüsseln, Verfahren zur Übertragung einer Teilkette der Schlüssel, Computersystem und Chipkarte I
DE69725659T2 (de) Verfahren und Einrichtung zur Ablage eines in einem RSA-Kryptosystem benutzten Geheimschlüssels
DE60215332T2 (de) System und Verfahren zum Verabreiten eines gemeinsamen Geheimnisses
DE102019208032A1 (de) Verfahren und system für fehlertolerante und sichere mehrparteienberechnung mit spdz
EP0472714B1 (de) Verfahren zur authentifizierung eines eine datenstation benutzenden anwenders
DE60028645T2 (de) Vorrichtung und Verfahren zur Verteilung von Dokumenten
DE602005002652T2 (de) System und Verfahren für das Erneuern von Schlüsseln, welche in Public-Key Kryptographie genutzt werden
EP2438707B1 (de) Pseudonymisierte authentifizierung
EP3033855B1 (de) Unterstützung einer entschlüsselung von verschlüsselten daten
DE69935469T2 (de) Verfahren zur schnellen Ausführung einer Entschlüsselung oder einer Authentifizierung
EP2340502B1 (de) Datenverarbeitungssystem zur bereitstellung von berechtigungsschlüsseln
DE69838258T2 (de) Public-Key-Datenübertragungssysteme
EP2409255A1 (de) Verfahren zur erzeugung von asymmetrischen kryptografischen schlüsselpaaren
DE19622630C1 (de) Verfahren zum gruppenbasierten kryptographischen Schlüsselmanagement zwischen einer ersten Computereinheit und Gruppencomputereinheiten
WO2015024763A1 (de) Unterstützung der nutzung eines geheimen schlüssels
DE60109805T2 (de) Verfahren und system zur benützung eines ungesicherten krypto-beschleunigers
DE112012000971B4 (de) Datenverschlüsselung
WO2018085870A1 (de) Verfahren zum austausch von datenfeldern von zertifizierten dokumenten
EP3050244B1 (de) Bereitstellung und verwendung pseudonymer schlüssel bei hybrider verschlüsselung
EP3618348B1 (de) Verfahren zum betreiben eines verteilten datenbanksystems, verteiltes datenbanksystem und industrieautomatisierungssystem
DE60026439T2 (de) System und Verfahren zur Übertragung der Befugnis, Nachrichten zu entschüsseln in einem symmetrischen Kodierungsschema
DE112007000419B4 (de) Digitale-Rechte-Managementsystem mit diversifiziertem Inhaltsschutzprozess
DE60105328T2 (de) Öffentliche Schlüsselverteilung unter Verwendung einer näherungsweise linearen Funktion
DE102022000638B9 (de) Verfahren zum sicheren Aushandeln von symmetrischen Schlüsseln zwischen zwei Teilnehmern einer Kommunikation
EP3671599A1 (de) Verfahren zum betreiben eines verteilten datenbanksystems, verteiltes datenbanksystem und industrieautomatisierungssystem

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 09738250

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2009738250

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 13124080

Country of ref document: US