EP1604484B1 - Identity-based-encryption messaging system - Google Patents
Identity-based-encryption messaging system Download PDFInfo
- Publication number
- EP1604484B1 EP1604484B1 EP04775839.6A EP04775839A EP1604484B1 EP 1604484 B1 EP1604484 B1 EP 1604484B1 EP 04775839 A EP04775839 A EP 04775839A EP 1604484 B1 EP1604484 B1 EP 1604484B1
- Authority
- EP
- European Patent Office
- Prior art keywords
- private key
- recipient
- message
- given
- key
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
- 238000000034 method Methods 0.000 claims description 52
- 238000004891 communication Methods 0.000 claims description 26
- 230000008569 process Effects 0.000 description 17
- 230000006870 function Effects 0.000 description 16
- 238000013459 approach Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 10
- 230000008520 organization Effects 0.000 description 6
- 230000008901 benefit Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 239000003550 marker Substances 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000001815 facial effect Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000007620 mathematical function Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3066—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
- H04L9/3073—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0825—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
Definitions
- This invention relates to encryption, and more particularly, to identity-based-encryption schemes for sending secure messages.
- Cryptographic systems are used to provide secure communications services such as secure email services and secure web browsing.
- symmetric key cryptographic systems With symmetric key cryptographic systems, the sender of a message uses the same key to encrypt the message that the receiver of the message uses to decrypt the message. Symmetric-key systems require that each sender and receiver exchange a shared key in a secure manner.
- Senders may encrypt messages using the public keys of the receivers.
- Each receiver has a private key that is used to decrypt the messages for that receiver.
- One public-key cryptographic system that is in use is the RSA cryptographic system.
- Each user in this system has a unique public key and a unique private key.
- a sender using the system may obtain the public key of a given receiver from a key server connected to the Internet.
- the public key may be provided to the sender with a certificate signed by a trusted certificate authority. The certificate may be used to verify that the public key belongs to the intended recipient of the sender's message.
- some organizations may arrange to have the public keys of all of their employees automatically expire at the end of each day. New public keys for the current employees may be generated each day. The new public keys may be made publicly available by placing them on a public key server.
- a sender With public-key encryption systems, a sender must obtain the public key of a message recipient before the sender can encrypt a message.
- a sender may be traveling with a portable computer and may desire to respond to an email message that has been temporarily stored on the computer. If the sender does not already have a copy of the public key of the person who sent the message, the sender must obtain that public key from a public key server. However, the sender's portable computer may not be on-line when the sender desires to compose the response to the email. The sender will therefore not be able to access an on-line public key server and may be unable to encrypt the message as soon as it is composed. Because the sender's computer may be at risk of being stolen, the unencrypted message on the computer may be susceptible to interception.
- Identity-based encryption schemes work differently than public-key systems. With an identity-based encryption system, senders and receivers communicate securely using public parameter information and private keys. Each user has a unique private key based on the user's identity for decrypting messages, but the public parameter information that is used during the encryption and decryption processes may be shared by many users. These schemes are said to be "identity based,” because user-specific identity information such as a particular user's email address is used as one of the inputs to the identity-based encryption algorithm.
- a user's email address or a user's email address concatenated with a date stamp may be used to identify each user.
- senders who are currently off-line and who would therefore be unable to access a public key server in a conventional public-key system may still immediately encrypt sensitive messages if they have access to the public parameter information of the user. Because all of the users in an organization may share the same public parameter information, senders may often have access to the correct public parameter information to use for a given recipient, even if the sender has never communicated with that receiver before. When network access is available, the encrypted message may be transmitted to the receiver. Receivers can decrypt messages using their private keys.
- private keys may be generated by a private key generator.
- the private key generator uses secret information (i.e., a so-called "master secret") as an input when generating the private keys.
- master secret secret information
- the security of the system rests on the ability of the organization holding the master secret to maintain its secrecy.
- users may have difficulties in locating the correct private key to use to decrypt a given message.
- System 10 allows users at various locations to communicate securely using an identity-based-encryption scheme.
- the users in the system may be individuals, organizations, or any other suitable parties or entities. Users may communicate with each other using user equipment devices 12.
- Equipment 12 may, for example, include computing equipment such as a personal computers, portable computers, mainframe computers, networked computers or terminals, telecommunications equipment, handheld computers or personal digital assistants, or cellular telephones. Multiple users may use the same device. For example, a group of users may share the use of a single computer terminal that is connected to a host computer in a local area network. These are merely illustrative examples of the type of platforms that the users of system 10 may use.
- User equipment 12 may be based on any suitable electronic equipment if desired.
- Network 14 may be, for example, the Internet, a local area network, a wide area network, the public switched telephone network, a virtual private network, a wired network, a wireless network, dedicated leased lines, a network based on fiber-optic or cable paths or other wired or wireless paths, or a network formed using any other suitable network technology or a combination of such networks.
- computing devices may be connected to network 14 to support the features of the identity-based encryption scheme.
- computing equipment at a private key generator 16 may be used to distribute private keys.
- such computing equipment may be used to provide the functions of a server in a client-server architecture.
- Any suitable computing device arrangement may be used to distribute private keys and other information for supporting encrypted communications in system 10 if desired.
- a typical server-based arrangement may use one or more computers to provide the functions of a server.
- a server may be formed using a single computer or multiple computers. If desired, the functions of a single server may be provided by computers that are distributed over a number of different physical locations.
- Private key generator 16 may be based on a suitable computing platform such as a server-based platform that is connected to communications network 14. If desired, the key generation functions of private key generator 16 may be divided among multiple computers at one or more locations (each of which may have only part of the secret information needed to generate the private keys). For clarity, the present discussion will focus primarily on private key generator arrangements in which each private key generator 16 individually generates its own private keys for its own associated users.
- Some user activities such as sending person-to-person email messages, require manual intervention. For example, a person who desires to send such a message must compose the message before it is encrypted and sent to the appropriate recipient.
- Other user activities in system 10 may be automated or semiautomated. These user activities may take place with little or no manual intervention.
- the user at one device 12 may be a banking institution that desires to use encrypted communications to deliver encrypted bank statements to account holders at other devices 12 over communications networks 14.
- the distribution process may be automated so that no operator intervention will generally be needed at the banking institution's equipment once the system has been properly set up. User receipt of the statements may also be automated.
- Identity-based encryption schemes can be implemented using a number of different cryptographic algorithms.
- One such scheme is based on quadratic residues (see, e.g., " An Identity Based Encryption Scheme Based on Quadratic Residues," Eighth IMA International Conference on Cryptography and Coding, Dec. 2001, Royal Agricultural College, Cirencester, UK, by Clifford Cocks ).
- Another suitable scheme is based on elliptic curves (see, e.g., " Identity-Based Encryption from the Weil Pairing," by Dan Boneh and Matthew Franklin, extended abstract in Advances in Cryptology - Crypto 2001, Lecture Notes in Computer Science, Vol. 2139, Springer-Verlag, pp. 231-229, Aug. 2001 .
- identity-based encryption is based on the properties of bilinear maps such as a Weil Pairing or Tate Paring.
- identity-based encryption scheme such as the elliptic curve implementation described by Boneh and Franklin. This is, however, merely illustrative. Any suitable approach for identity-based encryption may be used with system 10 if desired.
- the messages sent from a sender at one device 12 to a recipient at another device 12 may be any digital information (e.g., text, graphics, audio, video, commands, executable code, data, etc.) that is to be electronically conveyed in a secure manner.
- private key generator 16 of FIG. 1 obtains or generates a master secret s.
- the private key generator may create a master secret from a number that is randomly generated at the private key generator by a processor housed inside a tamper-proof enclosure.
- the master secret may also be produced off-site and delivered to the private key generator 16.
- the master secret (also sometimes referred to as a secret master key or a master key) is secret information that will subsequently be used by the private key generator 16 to generate private keys for receivers in the system to use in decrypting messages and to generate public parameter information for use by senders in encrypting messages.
- the private key generator may generate public parameter information.
- the public parameter information that is generated includes public parameters P and sP.
- the parameter P may first be generated by the private key generator (e.g., using a random number generator).
- the parameter sP may then be generated by the private key generator.
- the "multiplication" of s by P in the Boneh and Franklin work is accomplished using the multiplication of integers with points on elliptic curves. While multiplication (calculating sP) is straightforward, the inverse operation (determining s from knowledge of P and sP) is essentially impossible.
- the public parameter information may be numbers.
- certain information e.g., the master secret or public parameters
- certain information e.g., a user's identity
- character form e.g., in the form of an email address
- the private key generator may publish this information. For example, this information may be made available over the communications network 14 using computing equipment (e.g., a server) at private key generator 16.
- the public parameter information may be sent to users via email. If desired, the public parameter information may be provided to users on demand (e.g., by downloading from a server, in the form of a message, or using any other suitable arrangement).
- Public parameter information (e.g., the public parameters P and sP) may be distributed as part of a downloadable or preinstalled software module or package.
- the public parameter information may be incorporated into an email application, web browser, or other communications or Internet application that is distributed with the user's personal computer or other user equipment 12 or that is downloaded (e.g., in the form of a plug-in or stand-alone package) at a later time.
- the parameters may be distributed together or separately.
- parameters P and sP may be distributed together or separately.
- each parameter may be distributed using a different distribution mechanism.
- P may be built into the user's software and sP may be distributed over the Internet.
- P and sP may be combined to form the equivalent of a single number or parameter or may be subdivided (e.g., to form three or more public parameter sub-parts).
- public parameter information e.g., public parameters P and sP
- may be distributed manually e.g., by printed mail or by distributing a diskette or other computer-readable media to the user).
- private key generators may generate multiple versions of the public parameter information (e.g., based on different P values-P VERSION-1 , P VERSION-2 , etc.).
- the public parameter information for each private key generator and for each version may be distributed using any of the above-mentioned distribution techniques or a combination of such techniques or other suitable distribution techniques. These distribution methods are merely illustrative. Any suitable technique may be used to publish the public parameter information if desired.
- the sender may encrypt and send the message to the recipient.
- the recipient receives the encrypted message, or earlier, when the recipient sets up or updates the equipment at the recipient's location, the recipient obtains the recipient's private key from the private key generator.
- Identity-based encryption is so named because the encryption process at the sender uses as inputs: (1) the public parameter information and (2) a public key Q based on the recipient's identity.
- the identity of a user may be represented by any suitable string, number, or symbol.
- the identity of a message recipient may be represented by that recipient's email address, name, or social security number.
- An advantage of IBE schemes is that a sender can generally determine the identity (e.g., the email address) of an intended recipient without all of the complexities involved in obtaining the RSA-public key of the intended recipient as would be required with traditional public-key cryptographic schemes.
- the IBE public keys may be the same as (or based on) user email addresses, which are readily obtainable.
- the private key generator 16 may generate private keys for each of the multiple users associated with that private key generator based on the public keys (the Q's) of each of these users (i.e., based on the users' identities).
- the form of public key Q that is used in system 10 depends on the security features that are desired. For example, user privileges may be made to automatically expire in system 10 by automatically concatenating a validity period (e.g., a date or date range such as the current day of the year and year, the current month, starting and ending dates such as 1/2/03-1/10/03, or any other suitable time-related date-stamp information) with each user's email address to form Q values based not only on the users' identities (i.e., email addresses) but also validity period information.
- a validity period e.g., a date or date range such as the current day of the year and year, the current month, starting and ending dates such as 1/2/03-1/10/03, or any other suitable time-related date-stamp information
- a sender that desires to send an encrypted message to a given recipient generally must know the recipient's identity (e.g., the recipient's email address) and, if applicable, must know how to construct the user's public key Q from the additional public key information (e.g., validity period, security level, etc.) The sender must also obtain the public parameter information (e.g., P and sP). Prior to message transmission, the sender may use the identity-based-encryption (IBE) process (e.g., the process of the work of Boneh and Franklin described above) to encrypt the message contents for the recipient.
- IBE identity-based-encryption
- the IBE process may take as inputs (1) the message to be encrypted, (2) public parameter information (e.g., P and sP), and (3) the public key Q that is based on the identity of the given recipient to which the message is to be sent.
- the IBE process produces an encrypted version of the message as its output.
- the recipient may receive and decrypt the received message using an appropriate private key.
- the private key that is used for decrypting the message is related to the identity-based-encryption public key Q and public parameter information (e.g., P and sP) used when encrypting the message. Only the private key that matches the public key may be used to decrypt the message. Generation of the private key requires knowledge of the master secret s, so only the private key generator 16 can generate the recipient's private key based on the recipients public key Q.
- the private key for the recipient may be generated from the recipient's identity Q and the master secret s by using an appropriate mathematical function (e.g., the multiplication of integers with points on elliptic curves) to calculate the value of sQ.
- the recipient's identity may be verified using authentication information from the recipient before the private key is issued to the recipient.
- any suitable manual or automatic authentication technique may be used.
- the recipient may be asked to fax or mail a letter to the private key generator 16 on the recipient's official letterhead, which is examined for authenticity by personnel or automated equipment at the private key generator.
- biometric identification techniques e.g., fingerprint analysis, eye-scanning, handprint or voiceprint analysis, facial recognition methods, or in-person identification checks
- the authentication process involves electronic communications between the recipient and the private key generator
- the communications path between the recipient and the private key generator should be secure.
- the communications path may be assumed to be secure if it is not available for use by untrusted parties.
- the network between the private key generator 16 and the recipient may be a private line that is controlled by the private key generator or another trusted entity.
- a secure channel may be supported using a secure web browser link (e.g., using the secure sockets layer protocol).
- the private key should be provided to the recipient for use in decrypting the message.
- Any suitable technique may be used to provide the private key to the recipient.
- the private key may be transmitted to the recipient in an email or other suitable message, may be made available for downloading over the Internet (as part of a stand-alone downloadable application or a downloadable plug-in module, as a stand-alone key, etc.).
- a secure communications channel may be used for electronic communications between the private key generator 16 and the recipient's equipment 12.
- the private key may be preinstalled on the recipient's equipment, so that the private key will be available for the recipient when the recipient first uses the equipment.
- the private key may also be distributed by mail or courier (e.g., on a computer-readable medium such as a computer disk or memory chip).
- the recipient may, if desired, store the private key locally (e.g., in a database on a storage device such as a memory circuit or hard drive on the recipient's equipment). If the private key is stored locally, the recipient can retrieve it the next time a message needs to be decrypted without needing to contact the private key generator to obtain a new copy of the private key over the communications network. If the private key is not located locally, the recipient may obtain the private key from the appropriate private key generator by consulting a previously-stored local list of private key generators, by consulting private key generators listed in a directory, by contacting one or more private key generators based on information provided with the message, or using any other suitable technique.
- a two-step decryption technique may be used in which a message key (e.g., a symmetric message key) is used to encrypt the contents of the message prior to transmission to the recipient.
- the IBE process is then used to encrypt the symmetric message key.
- the message that is sent from the sender to the recipient contains the IBE-encrypted message key and the message-key-encrypted message contents.
- the recipient uses the IBE private key to decrypt the message key.
- the message key may then be used by the recipient to decrypt the rest of the message.
- a pure identity-based encryption scheme may be able to encrypt data at the rate of roughly 1000 bytes/second, whereas a symmetric encryption algorithm such as DES3 (3-DESData Encryption Standard) may be able to encrypt data at a rate of about 100 Mbytes/second.
- DES3 3-DESData Encryption Standard
- the size of an IBE-encrypted block of data may be many orders of magnitude larger than the unencrypted version of the same block of data.
- This type of two-step IBE cryptographic scheme uses IBE to securely exchange a message key, while encrypting and decryption most message data using an efficient message key cryptographic process (e.g., 3-DES or AES).
- an efficient message key cryptographic process e.g., 3-DES or AES.
- the two-step encryption strategy in which "pure" IBE is used in conjunction with a more efficient encryption technique can improve the overall IBE encryption efficiency of system 10.
- a more efficient encryption technique e.g., a symmetric key encryption technique such as 3-DES or AES
- Such hybrid or "two-step” IBE encryption schemes are sometimes referred to herein as simply “identity-based-encryption” schemes or “IBE” schemes for clarity.
- pure IBE schemes in which only IBE is used for encryption and decryption
- IBE identity-based-encryption
- the message key encryption technique e.g., the 3-DES technique or other symmetric key technique
- the message key encryption technique can be chosen for its efficiency in encrypting data, which can make such mixed algorithms significantly more efficient than using a "pure" IBE encryption strategy in which all of the message data is encrypted using the IBE encryption algorithm.
- an IBE-encrypted message key may be transmitted to the recipient of a message in an encrypted-message key field.
- each private key generator 16 there may be more than one private key generator 16 in system 10.
- different institutions e.g., different banks, brokerage houses, corporations, military establishments, branches of government, educational institutions, etc.
- each private key generator has its own master secret and its own public parameter information (e.g., its own set of public parameter information P and sP in environments using an approach of the type described in the above-mentioned work of Boneh and Franklin).
- the actions of the sender and recipient must be coordinated.
- the sender must use public parameter information in encrypting the message that comes from the same private key generator that the recipient uses to obtain the private key.
- a sender may consult a directory service 18 or other suitable equipment connected to network 14 to look up the recipient's private key generator affiliation. For example, if a sender desires to send an encrypted message to a member of an organization that has an associated private key generator, the sender may consult a directory 18 to locate the private key generator information for members of that organization. This information may identify the private key generator by name or Internet location or other suitable identifier. The identifying information may then be used by the sender to contact this private key generator (or other suitable source) to obtain the appropriate public parameter information to use when encrypting the message for the recipient. If desired, the appropriate public parameter information itself may be provided directly in the directory 18.
- This type of directory arrangement allows senders to determine which IBE public parameter information to use in encrypting a message for a given user.
- Public parameter information may also be distributed by publishing it using other suitable arrangements.
- the appropriate public parameter information (e.g., parameters P and sP) to be used in encrypting a sender's message is the public parameter information that was generated using the same master secret (s) used in generating the intended recipient's IBE private key (sQ).
- s master secret
- sQ IBE private key
- Some users in system 10 may have relationships with more than one private key generator.
- a user may receive IBE-encrypted communications from a bank having a first private key generator and from an employer having a second private key generator.
- receivers may have multiple private keys and may therefore need to determine which of the private keys is the correct one to use to decrypt a given incoming message.
- senders of messages in system environments with multiple private key generator will generally need to determine which public parameter information is the appropriate public parameter information to use (e.g., the public parameter information associated with the bank private key generator, the public parameter information associated with the employer private key generator, or the public parameter information associated with some other entity) before a message may be encrypted.
- public parameter information e.g., the public parameter information associated with the bank private key generator, the public parameter information associated with the employer private key generator, or the public parameter information associated with some other entity
- Senders may determine which public parameters to use in encrypting a message by looking up information on the intended receiver in a directory of users (e.g., a directory such as directory 18). Senders may also obtain information on the appropriate public parameter information to use from a private key generator, from a recipient, or other suitable source.
- a directory of users e.g., a directory such as directory 18
- Senders may also obtain information on the appropriate public parameter information to use from a private key generator, from a recipient, or other suitable source.
- the recipient can attempt to decrypt the message using each of the recipient's private keys. This may produce success in decrypting the message without need for further action, but can sometimes require a number of steps (e.g., when the process of obtaining the private key involves user steps such as responding to a pop-up password window or other authentication steps for each attempt).
- receivers can look up information on private key generators in a directory. As an example, if a receiver receives a decrypted message, the user may try to obtain an appropriate private key at some or all of the private key generators listed in the directory. This approach may be particularly satisfactory in systems 10 in which there are not a large number of different private key generators.
- the sender may assist the recipient in locating the correct private key by providing private key identifying information with the message.
- the private key identifying information can be used by the recipient to identify which of the recipient's private keys is the correct one to use in decrypting the message.
- a diagram of an illustrative message 20 containing private key identification information 22 is shown in FIG. 3 .
- Information in the header of message 20 such as information on the sender's email address may be used as the private key identifying information 22.
- the recipient may determine the appropriate private key to use from the context provided by the sender's email address. For example, when a recipient receives a message that is identified as originating at the recipient's bank (e.g., if the sender information contained in the message header matches that for the recipient's bank), the recipient can surmise that the private key generator of the recipient's bank is associated with the message and that the appropriate one of the recipient's private keys to be used in decrypting the message is the private key that is associated with the bank's private key generator. Because the public parameter information that the bank used to encrypt the message for the recipient was generated by the same private key generator that was used to generate the private key, the private key can be successfully used to decrypt the message.
- the name of the private key generator associated with the encrypted message may be used as the private key identifying information.
- This name may be provided as a text string, as a number, as a URL or IP address specifying the location of the private key generator 16 on network 14, or as any other suitable identifier that may be used to uniquely or accurately identify the private key generator 16.
- the recipient of a given message can easily locate the appropriate private key generator 16 and can request a private key from that private key generator that can then be used to decrypt the given message.
- an IBE-encrypted message and associated private key identifying information may be generated at the sender.
- a message key may be used to encrypt a message payload and an IBE encryption process may be used to encrypt the message key.
- the message to be transmitted over the network may be constructed from the encrypted message payload and the encrypted message key.
- the IBE encryption process may use the public key Q of the intended recipient and public parameter information from a given private key generator that is associated with the recipient as inputs when encrypting the message key.
- the sender may append private key identifying information (e.g., a server name or other information that specifically identifies the given private key generator involved) to the message.
- the encrypted message with its associated private key identifying information may be transmitted from the sender to the receiver at step 26.
- the recipient may receive the encrypted message and the private key identifying information.
- the private key identifying information may be used by the recipient to identify which private key of the recipient is to be used to decrypt the message and may be used to obtain a copy of that private key.
- the private key identifying information may identify the network location of the specific private key generator that was used in generating the IBE public parameter information that was used in encrypting the message (i.e., that was used in encrypting the message key).
- the private key identifying information may identify the private key directly (e.g., through an identifier directly associated with the private key) or indirectly (e.g., by identifying the private key generator associated with the private key or the public parameters that are associated with the private key generator that is associated with the private key, etc.). These are merely illustrative examples. Any suitable private key identifying information may be used that allows the recipient to identify which of the recipient's private keys to use.
- the identified private key may be retrieved from a local private key database at the recipient. If the private key is not available in the local database, the recipient may obtain the private key from the appropriate private key generator. The recipient may, for example, obtain the private key by contacting the appropriate private key generator 16 over network 14 manually, automatically, or using a combination of manual and automatic steps.
- the private key generator may authenticate the recipient's identity and verify that the recipient is authorized to access the message content, before generating an appropriate private key (e.g., a key sQ that is based on the recipient's identity-based IBE public key and the master secret of that private key generator). If desired, the recipient may retain the private key (e.g., in the local private key database).
- the local private key database may be implemented using a memory device, hard drive or other local storage on the recipient's equipment. The stored private key may be retained until needed by the recipient when the next message associated with the same private key generator is received.
- the recipient i.e., the equipment 12 that received the message
- the private key may be used to decrypt an IBE-encrypted payload.
- the private key may be used to decrypt the IBE-encrypted message key. The message key that has been decrypted may then be used to decrypt the message-key-encrypted payload.
- the messages that are exchanged in system 10 may be instant messages, email messages, or any other suitable type of messages.
- An illustrative message format is shown in FIG. 5 .
- message 20 has a header 34, recipient info block 36, and a payload portion 38.
- the header 34 may include protocol-specific information such as recipient email address information, sender email address information, subject information, date of transmission information, etc.
- the payload 38 may be any suitable text, media, code, or other content.
- the payload may be encrypted using a message key (e.g., a symmetric message key such as a 3-DES key or an AES key).
- the message key may be encrypted using IBE.
- the IBE-encrypted message key may be placed in the recipient info block 36.
- the recipient info block 36 may contain a recipient info field having a key info field 36a and an encrypted message key field 36b for each recipient of the message. If there is only one recipient, for example, the recipient info block 36 may include a single key info field and a single corresponding encrypted message key field.
- the IBE-encrypted message key may be placed in the encrypted message key field.
- the message key may be encrypted differently for each encrypted message key field.
- the copy of the message key to be used by recipient 1 may be encrypted using IBE based on the public key for recipient 1 and the public parameter information obtained from private key generator 1
- the copy of the message key to be used by recipient 2 may be encrypted using IBE based on the public key of recipient 2 and the public parameter information obtained from private key generator 2.
- the resulting encrypted message keys may be stored in corresponding encrypted message key fields.
- the key info fields 36a in each recipient info field may be used to identify which recipients are associated with which recipient info fields.
- the private key identifying information for each recipient may, if desired, be provided in the key info field associated with that recipient.
- the message 20 may be an email message that uses a format based on that of standard S/MIME email messages, as shown in FIG. 6 .
- message 20 may have S/MIME mail headers 34.
- Information from the mail headers 34 of FIG. 5 or FIG. 6 such as the identity of the sender may be used as private key identifying information.
- a recipient may use header information from headers 34 to determine that a given message was sent from the recipient's bank. The recipient may then use this information to obtain a private key from local storage or from the recipient's bank's private key generator. Private key identifying information may also be provided in recipient info block 36 (e.g., in each key info field 36a) .
- Ciphertext start location marker 40 and ciphertext stop location marker 42 may be used to identify the location of the encrypted contents of message 20 (e.g., the location of ciphertext 44).
- Message 20 may, if desired, have one or more attachments 46, which may, if desired, be encrypted.
- a sender that desires to sign a message 20 may do so by placing a digital signature in digital signature block 48.
- the sender may generate the digital signature using any suitable technique.
- the sender may generate the digital signature using an RSA private key that the receiver can verify with a corresponding RSA public key.
- Algorithm identifier block 50 may be used to hold an algorithm identifier that specifies which encryption algorithm or algorithms are being used to encrypt the message 20.
- the algorithm identifier may specify that the IBE algorithm Version 2.2 is being used to encrypt the message key and that 3-DES encryption algorithm is being used as a message-payload encryption algorithm to encrypt the message payload (i.e., the message key is a 3-DES message key).
- Other illustrative algorithm IDs include IBE + 3-DES, IBE + AES, IBE v.3 + 3-DES, IBE v.4 + 3-DES, etc.
- the algorithm IDs may be represented using an alphanumeric string, binary code, or other suitable representation.
- algorithm identifier block 50 may, if desired, conform to the S/MIME email standard.
- FIG. 7 illustrates how IBE cryptographic techniques may be used to support secure messaging between a sender and a recipient.
- the recipient may be provided with an IBE private key.
- the recipient may request a private key (step 1) which may be delivered from the private key generator 16 to the recipient (step 2).
- the recipient may store the private key in private key database 52.
- the recipient may query database 52 to attempt to locate a local copy of the private key before requesting that the key be delivered electronically over a network.
- a sender may generate a message key (e.g., a 3-DES or AES message key) (step A).
- the sender then obtains the public parameter information (e.g., public parameters P and sP) for the intended recipient and the IBE public key Q of the intended recipient (step B).
- the public parameter information may be published on the Internet by a directory service, by a private key generator associated with the recipient, by the recipient, or any other suitable entity.
- the public key is based on the recipient's identity. For example, the public key may be based on the recipient's email address. Additional information may be provided in the public key to add additional security features to system 10. For example, a validity period may be appended to the email address to form the public key.
- the sender encrypts the message key (step C) using the IBE public key and IBE public parameters as inputs to the IBE encryption algorithm running at the sender.
- the message key (in its unencrypted form) is used to encrypt the message payload (e.g., a text or media file, code, etc.) (step D).
- the message payload e.g., a text or media file, code, etc.
- the message may be constructed from the encrypted payload.
- the IBE-encrypted version of the message key may be placed in the encrypted message field of the recipient info block.
- the message may be addressed to multiple receivers (each of which may receive a message key that has been encrypted using an appropriate corresponding identity-based public key and potentially different public parameter information).
- the recipient info block may contain recipient info fields that each contain information for identifying which recipient is associated with the contents of each associated encrypted message key field.
- the recipient info fields may also contain information that identifies for the recipients which of their potentially numerous private keys is to be used to decrypt their encrypted message key (private key identifying information).
- the message may be sent at step F.
- an email program or application with an email function may be used to send the message.
- the recipient may receive the message.
- the recipient may use an email program or an application with an email function to receive the message.
- the recipient may search each of the recipient info fields 36a to determine whether there is a match between the recipient and the information in any of the fields. If there is no match, the message is not destined for the recipient and can be discarded.
- the recipient can (at step I) use some or all of the matching key info field information to obtain the appropriate private key needed to decrypt the encrypted message key and thereby access the message contents (i.e., the recipient can use the private key identifying information in the key info field to obtain the appropriate private key).
- the recipient may obtain a previously-stored private key from database 52 or may obtain the private key from an appropriate IBE private key generator 16.
- the private key identifying information may include information sufficient for the recipient to identify the correct private key in database 52 and/or to request the correct private key (at step 1) from the correct private key generator 16 (e.g., in a multi-private-key-generator environment).
- the IBE private key of the recipient may be used to decrypt the encrypted message key for the recipient (obtained from the recipient's encrypted message key field).
- the decrypted version of the message key may be used to decrypt the encrypted payload (e.g., ciphertext 44 of FIG. 6 ), thereby providing the recipient with access to the contents of the message.
- the encrypted payload e.g., ciphertext 44 of FIG. 6
- private key identifying information may be sent with message 20.
- the private key identifying information and other message information may, for example, be provided in the key info fields 36a of an email message. Any suitable configuration may be used for recipient info fields 36 and their associated key info fields 36a and encrypted message key fields 36b. Illustrative key info fields 36a are shown in FIGS. 8a, 8b, 8c, 8d, 8e, and 8f .
- Message 20 may contain one or more of any of these illustrative key info fields 36a or other suitable recipient info fields. Typically each key info field 36a is associated with a particular recipient and contains information that is sufficient for the recipient to confirm this association. Once a recipient locates a matching key info field 36a, the recipient can use the encrypted message key that has been provided in the corresponding encrypted message key field 36b to decrypt the message payload.
- the key info field 36a of message 20 may include recipient identifier information that is based on the recipient's email name. For example, "bob@aol.com" may be placed in the recipient info field 36a.
- recipient info field 36a When using this type of recipient info field 36a, each recipient may use the email name information to identify which corresponding encrypted message key is intended for that recipient.
- a recipient identifier in the key info field 36a may be based on both the recipient's email address and a validity period.
- the validity period may be a date (e.g., 2/10/03), date range (e.g., 1/2/03-2/22/03), or any other suitable time-based period over which the recipient is authorized to decrypt the encrypted contents of the message.
- keys can be made to automatically expire or can be made to be valid only at a future date.
- the recipient identifier information of FIG. 8b may be used by each recipient to identify which corresponding encrypted message key field is associated with that recipient.
- the key info field 36a may contain private key identification information.
- the private key identification information may be used by the message recipients to determine which of their private keys to use in decrypting a message (and, if a private key needs to be requested over network 14, which private key generator or other location should be contacted to obtain that private key).
- the private key identification information is based on private key generator identification information (e.g., a private key generator ID in the form of a server name) and is provided in addition to the recipient ID.
- This private key generator information is sufficient to identify, for each recipient, which of their private keys is to be used.
- the private key generator ID may be used to formulate a local database query for locating the private key among a number of private keys stored in a local private key database on the recipient's equipment or may be used to formulate a request that directs the correct private key generator to generate the private key needed by the recipient to decrypt the encrypted message key (thereby allowing the recipient to decrypt the message contents).
- the recipient IDs may be used by the recipients of the message to determine which private key identification information corresponds to which recipients.
- a given recipient first locates a matching email address in the recipient ID portion of the key info field.
- the given recipient uses the accompanying private key identification information (e.g., the server name in the example of FIG. 8c ) to attempt to retrieve the appropriate private key for that given recipient to use from the given recipient's local private key database. If the private key cannot be located in the private key database, the server name can be used to identify which private key generator the recipient should contact to obtain a copy of the appropriate private key over network 14.
- the given recipient can use that private key to decrypt the encrypted message key located in the encrypted message key field that is associated with the key info field in which the matching email address was found.
- the decrypted message key may be used to complete the message decryption process by decrypting the contents of the message.
- the key info field may have private key identification information such as public parameter version number information.
- the public parameters that are generated by private key generators 16 may be changed from time to time (e.g., periodically, or when the secrecy of the master secret of that private key generator may have been compromised).
- a private key generator 16 may initially generate public parameter information with a version number 1.0 and may later generate public parameter information with a version number 2.0. Because the recipient must use the private key that matches the correct public parameter version number in order to properly perform decryption activities, the recipient can use private key identification information that contains version number information to ensure that the correct private key is obtained and used.
- An example of a key info field containing public parameter version number information is shown in FIG. 8d .
- the public parameter version number is a form of private key identification information and may be provided in addition to private key identification information such as a private key generator ID based on a server name (or other suitable private key generator ID).
- the key info field 36a may include public parameter information (e.g., the set of public parameters P and sP in a system environment of the type described in the above-mentioned work of Boneh and Franklin).
- the public parameter information that is included in the key info field 36a may be the same IBE public parameter information that the sender used when encrypting the message key in the corresponding encrypted message field 36b.
- the public parameter information of FIG. 8e may be provided in addition to the recipient ID, so that the recipient can use the recipient ID to locate the appropriate key info field in the message.
- the public parameter information is a form of private key identification information, because this information can be used to determine which private key the recipient is to use in decrypting the encrypted message key.
- any of the key info field information of FIGS. 8a, 8b, 8c, 8d, and 8e or any other suitable key info field information may be processed using a hash function prior to insertion in the key info field 36a by the sender.
- the one-way property of the hash function conceals potentially sensitive information in the key info field during transmission of the message 20 over network 14. Even if the message is intercepted, the interceptor cannot determine the email name of the recipient. This may be beneficial if the recipient does not desire to make the email name available to the general public.
- private key server name information e.g., as shown in FIGS. 8c and 8d
- other potentially sensitive private key identifier information or key info field information may be hidden from interceptors.
- Another advantage of using the hash function is that it can tend to make the key info field more compact, because the output of a hash function is typically shorter than the string passed into it. Thus, even if the only string input to the hash function is a recipient ID or a recipient ID plus a public parameter information (as shown in FIG. 8e ), it can still be advantageous to use the hash function prior to placing this information into the key info field 36a of the message 20.
- the IBE scheme may be used to encrypt message keys for email communications or any other suitable type of messages.
- the first instant message during an instant message session may include a recipient info block (including a key info field and encrypted message key field) and an encrypted message payload.
- the recipient may use IBE to decrypt the encrypted message key.
- the decrypted message key may then be retained for decrypting subsequent instant messages during the session.
- Such subsequent messages may be transmitted from the sender to the recipient with the encrypted message payload but without all of the recipient block information (e.g., without including the encrypted message key).
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Analysis (AREA)
- General Physics & Mathematics (AREA)
- Algebra (AREA)
- Information Transfer Between Computers (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Storage Device Security (AREA)
Description
- This invention relates to encryption, and more particularly, to identity-based-encryption schemes for sending secure messages.
- Cryptographic systems are used to provide secure communications services such as secure email services and secure web browsing.
- With symmetric key cryptographic systems, the sender of a message uses the same key to encrypt the message that the receiver of the message uses to decrypt the message. Symmetric-key systems require that each sender and receiver exchange a shared key in a secure manner.
- With public-key cryptographic systems, two types of keys are used -- public keys and private keys. Senders may encrypt messages using the public keys of the receivers. Each receiver has a private key that is used to decrypt the messages for that receiver.
- One public-key cryptographic system that is in use is the RSA cryptographic system. Each user in this system has a unique public key and a unique private key. A sender using the system may obtain the public key of a given receiver from a key server connected to the Internet. To ensure the authenticity of the public key and thereby defeat possible man-in-the-middle attacks, the public key may be provided to the sender with a certificate signed by a trusted certificate authority. The certificate may be used to verify that the public key belongs to the intended recipient of the sender's message.
- To allow an organization to revoke the secure email privileges of an employee when the employee no longer works for the organization, some organizations may arrange to have the public keys of all of their employees automatically expire at the end of each day. New public keys for the current employees may be generated each day. The new public keys may be made publicly available by placing them on a public key server.
- Because encryption using public-key encryption algorithms is computationally intensive, some systems allow users to use public-key encryption to securely exchange a shared symmetric key. The symmetric key may then be used to support a secure communication session.
- With public-key encryption systems, a sender must obtain the public key of a message recipient before the sender can encrypt a message. A sender may be traveling with a portable computer and may desire to respond to an email message that has been temporarily stored on the computer. If the sender does not already have a copy of the public key of the person who sent the message, the sender must obtain that public key from a public key server. However, the sender's portable computer may not be on-line when the sender desires to compose the response to the email. The sender will therefore not be able to access an on-line public key server and may be unable to encrypt the message as soon as it is composed. Because the sender's computer may be at risk of being stolen, the unencrypted message on the computer may be susceptible to interception.
- Identity-based encryption schemes work differently than public-key systems. With an identity-based encryption system, senders and receivers communicate securely using public parameter information and private keys. Each user has a unique private key based on the user's identity for decrypting messages, but the public parameter information that is used during the encryption and decryption processes may be shared by many users. These schemes are said to be "identity based," because user-specific identity information such as a particular user's email address is used as one of the inputs to the identity-based encryption algorithm.
- With one suitable arrangement, a user's email address or a user's email address concatenated with a date stamp may be used to identify each user. With this approach, senders who are currently off-line and who would therefore be unable to access a public key server in a conventional public-key system, may still immediately encrypt sensitive messages if they have access to the public parameter information of the user. Because all of the users in an organization may share the same public parameter information, senders may often have access to the correct public parameter information to use for a given recipient, even if the sender has never communicated with that receiver before. When network access is available, the encrypted message may be transmitted to the receiver. Receivers can decrypt messages using their private keys.
- In an identity-based cryptographic system, private keys may be generated by a private key generator. The private key generator uses secret information (i.e., a so-called "master secret") as an input when generating the private keys. The security of the system rests on the ability of the organization holding the master secret to maintain its secrecy.
- Because of the importance of maintaining the secrecy of the master secret in identity-based cryptographic systems, certain organizations may be unwilling to entrust custodial responsibility for the master secret to third parties. As a result, there may be multiple private key generators in a system, each with its own master secret.
- In an identity-based encryption environment in which there are multiple private key generators or other opportunities for a user to have multiple private keys, users may have difficulties in locating the correct private key to use to decrypt a given message.
- The document by SHAMIR A: "IDENTITY-BASED CRYPTOSYSTEMS AND SIGNATURE SCHEMES", LECTURE NOTES IN COMPUTER SCIENCE, SPRINGER VERLAG, NEW YORK, NY, US, 1985, pages 47-53, XP000675444,ISSN: 0302-9743, is the document that first introduced the paradigm of identity-based cryptography in computer networks. It is widely known in the field, and it mentions the fact that in an identity-based key management infrastructure "hundreds of key generation centers" can coexist simultaneously.
- For its part, the document by MENEZES, OORSCHOT, VANSTONE: "Handbook of Applied Cryptography", CRC PRESS SERIES ON DISCRETE MATHEMATICS AND ITS APPLICATIONS, 1997, pages 561-566, XP002389193,BOCA RATON, FL, US, ISBN: 0-8493-8523-7, discloses the use, in an identity-based key management system, of publicly available information (called "authentic public system data") that allows to unambiguously identify any of the generators of any of the private keys of an identity-based system.
- In accordance with the present invention, a system is provided that allows messages to be exchanged
- Further features of the invention, its nature and various advantages will be more apparent from the accompanying drawings and the following detailed description of the preferred embodiments.
-
-
FIG. 1 is a diagram of an illustrative identity-based encryption system for supporting secure electronic messaging in accordance with the present invention. -
FIG. 2 is a diagram of an illustrative identity-based encryption system having multiple private key generators for supporting secure electronic messaging in accordance with the present invention. -
FIG. 3 is a diagram of an illustrative message with associated private key identification information in accordance with the present invention. -
FIG. 4 is a flow chart of illustrative steps involved in steps involved in sending secure email messages using identity-based-encryption cryptographic techniques in accordance with the present invention. -
FIG. 5 is a generalized diagram of an illustrative message in accordance with the present invention. -
FIG. 6 is a diagram of an illustrative embodiment of a suitable message format that may be used in accordance with the present invention. -
FIG. 7 is a diagram that illustrates how identity-based encryption may be used to send secure messages between a sender and a recipient in accordance with the present invention. -
FIGS. 8a, 8b, 8c, 8d, 8e, and 8f are diagrams of illustrative recipient info fields that may be used in accordance with the present invention. - A portion of an illustrative identity-based-encryption
cryptographic system 10 in accordance with the present invention is shown inFIG. 1 . System 10 allows users at various locations to communicate securely using an identity-based-encryption scheme. The users in the system may be individuals, organizations, or any other suitable parties or entities. Users may communicate with each other usinguser equipment devices 12.Equipment 12 may, for example, include computing equipment such as a personal computers, portable computers, mainframe computers, networked computers or terminals, telecommunications equipment, handheld computers or personal digital assistants, or cellular telephones. Multiple users may use the same device. For example, a group of users may share the use of a single computer terminal that is connected to a host computer in a local area network. These are merely illustrative examples of the type of platforms that the users ofsystem 10 may use.User equipment 12 may be based on any suitable electronic equipment if desired. - The user equipment devices may be interconnected by a
communications network 14.Network 14 may be, for example, the Internet, a local area network, a wide area network, the public switched telephone network, a virtual private network, a wired network, a wireless network, dedicated leased lines, a network based on fiber-optic or cable paths or other wired or wireless paths, or a network formed using any other suitable network technology or a combination of such networks. - Various computing devices may be connected to network 14 to support the features of the identity-based encryption scheme. For example, computing equipment at a
private key generator 16 may be used to distribute private keys. In some arrangements, such computing equipment may be used to provide the functions of a server in a client-server architecture. For clarity, the present invention will sometimes be described in the context of such server-based arrangements. This is, however, merely illustrative. Any suitable computing device arrangement may be used to distribute private keys and other information for supporting encrypted communications insystem 10 if desired. A typical server-based arrangement may use one or more computers to provide the functions of a server. A server may be formed using a single computer or multiple computers. If desired, the functions of a single server may be provided by computers that are distributed over a number of different physical locations. - Private
key generator 16 may be based on a suitable computing platform such as a server-based platform that is connected tocommunications network 14. If desired, the key generation functions of privatekey generator 16 may be divided among multiple computers at one or more locations (each of which may have only part of the secret information needed to generate the private keys). For clarity, the present discussion will focus primarily on private key generator arrangements in which eachprivate key generator 16 individually generates its own private keys for its own associated users. - Some user activities, such as sending person-to-person email messages, require manual intervention. For example, a person who desires to send such a message must compose the message before it is encrypted and sent to the appropriate recipient.
- Other user activities in
system 10 may be automated or semiautomated. These user activities may take place with little or no manual intervention. As just one example, the user at onedevice 12 may be a banking institution that desires to use encrypted communications to deliver encrypted bank statements to account holders atother devices 12 over communications networks 14. The distribution process may be automated so that no operator intervention will generally be needed at the banking institution's equipment once the system has been properly set up. User receipt of the statements may also be automated. - Identity-based encryption schemes can be implemented using a number of different cryptographic algorithms. One such scheme is based on quadratic residues (see, e.g., "An Identity Based Encryption Scheme Based on Quadratic Residues," Eighth IMA International Conference on Cryptography and Coding, Dec. 2001, Royal Agricultural College, Cirencester, UK, by Clifford Cocks). Another suitable scheme is based on elliptic curves (see, e.g., "Identity-Based Encryption from the Weil Pairing," by Dan Boneh and Matthew Franklin, extended abstract in Advances in Cryptology - Crypto 2001, Lecture Notes in Computer Science, Vol. 2139, Springer-Verlag, pp. 231-229, Aug. 2001. See also http://eprint.iacr.org/2001/090 by Dan Boneh and Matthew Franklin). With the approach described in the work of Boneh and Franklin, identity-based encryption is based on the properties of bilinear maps such as a Weil Pairing or Tate Paring. For clarity, aspects of the present invention will sometimes be described in the context of an identity-based encryption scheme such as the elliptic curve implementation described by Boneh and Franklin. This is, however, merely illustrative. Any suitable approach for identity-based encryption may be used with
system 10 if desired. - The messages sent from a sender at one
device 12 to a recipient at anotherdevice 12 may be any digital information (e.g., text, graphics, audio, video, commands, executable code, data, etc.) that is to be electronically conveyed in a secure manner. Initially, when the system is set up,private key generator 16 ofFIG. 1 obtains or generates a master secret s. For example, the private key generator may create a master secret from a number that is randomly generated at the private key generator by a processor housed inside a tamper-proof enclosure. The master secret may also be produced off-site and delivered to theprivate key generator 16. The master secret (also sometimes referred to as a secret master key or a master key) is secret information that will subsequently be used by theprivate key generator 16 to generate private keys for receivers in the system to use in decrypting messages and to generate public parameter information for use by senders in encrypting messages. - After the master secret s has been obtained, the private key generator may generate public parameter information. In the identity-based encryption approach of the above-mentioned work of Boneh et al., the public parameter information that is generated includes public parameters P and sP. The parameter P may first be generated by the private key generator (e.g., using a random number generator). The parameter sP may then be generated by the private key generator. The "multiplication" of s by P in the Boneh and Franklin work is accomplished using the multiplication of integers with points on elliptic curves. While multiplication (calculating sP) is straightforward, the inverse operation (determining s from knowledge of P and sP) is essentially impossible.
- The public parameter information (e.g., the parameters P and sP in an identity-based encryption process based on elliptic curves) may be numbers. In general, there is an equivalency between numbers, letters, symbols, and other such schemes for representing information. Sometimes certain information (e.g., the master secret or public parameters) will be described as being in number form and sometimes certain information (e.g., a user's identity) may be described as being at least partly in character form (e.g., in the form of an email address). Because of the inherent equivalency between these different representational schemes, the techniques involved in converting letters or symbols into numbers or for representing multiple numbers or strings as a single number or other such operations are not described in detail herein.
- After the public parameter information (e.g., the public parameters P and sP) has been determined, the private key generator may publish this information. For example, this information may be made available over the
communications network 14 using computing equipment (e.g., a server) at privatekey generator 16. The public parameter information may be sent to users via email. If desired, the public parameter information may be provided to users on demand (e.g., by downloading from a server, in the form of a message, or using any other suitable arrangement). Public parameter information (e.g., the public parameters P and sP) may be distributed as part of a downloadable or preinstalled software module or package. For example, the public parameter information may be incorporated into an email application, web browser, or other communications or Internet application that is distributed with the user's personal computer orother user equipment 12 or that is downloaded (e.g., in the form of a plug-in or stand-alone package) at a later time. - If the public parameter information includes more than one parameter, the parameters may be distributed together or separately. For example, parameters P and sP may be distributed together or separately. If parameters P and sP are distributed separately, each parameter may be distributed using a different distribution mechanism. For example, P may be built into the user's software and sP may be distributed over the Internet. Moreover, P and sP may be combined to form the equivalent of a single number or parameter or may be subdivided (e.g., to form three or more public parameter sub-parts). If desired, public parameter information (e.g., public parameters P and sP) may be distributed manually (e.g., by printed mail or by distributing a diskette or other computer-readable media to the user).
- There may be multiple private key generators in
system 10. Moreover, private key generators may generate multiple versions of the public parameter information (e.g., based on different P values-PVERSION-1, PVERSION-2, etc.). The public parameter information for each private key generator and for each version may be distributed using any of the above-mentioned distribution techniques or a combination of such techniques or other suitable distribution techniques. These distribution methods are merely illustrative. Any suitable technique may be used to publish the public parameter information if desired. - Once the public parameter information (e.g., public parameters P and sP) has been provided to a user (i.e., a sender) who desires to send an encrypted message to another user (i.e., a recipient), the sender may encrypt and send the message to the recipient. When the recipient receives the encrypted message, or earlier, when the recipient sets up or updates the equipment at the recipient's location, the recipient obtains the recipient's private key from the private key generator.
- Identity-based encryption (IBE) is so named because the encryption process at the sender uses as inputs: (1) the public parameter information and (2) a public key Q based on the recipient's identity. The identity of a user may be represented by any suitable string, number, or symbol. For example, the identity of a message recipient may be represented by that recipient's email address, name, or social security number. An advantage of IBE schemes is that a sender can generally determine the identity (e.g., the email address) of an intended recipient without all of the complexities involved in obtaining the RSA-public key of the intended recipient as would be required with traditional public-key cryptographic schemes. For example, the IBE public keys may be the same as (or based on) user email addresses, which are readily obtainable.
- The
private key generator 16 may generate private keys for each of the multiple users associated with that private key generator based on the public keys (the Q's) of each of these users (i.e., based on the users' identities). - The form of public key Q that is used in
system 10 depends on the security features that are desired. For example, user privileges may be made to automatically expire insystem 10 by automatically concatenating a validity period (e.g., a date or date range such as the current day of the year and year, the current month, starting and ending dates such as 1/2/03-1/10/03, or any other suitable time-related date-stamp information) with each user's email address to form Q values based not only on the users' identities (i.e., email addresses) but also validity period information. - As another example, users' privileges may be restricted based on security clearance level, by concatenating or otherwise adding security clearance level information to each user's email address when forming the public keys Q (i.e., Q=joe@navy.com | top_secret, etc.). These approaches are merely illustrative of the ways in which additional criteria may be added to a user identity such as a user email address when forming the public key for each user (e.g., the Q for each user). Any suitable approach for forming the public keys may be used if desired.
- A sender that desires to send an encrypted message to a given recipient generally must know the recipient's identity (e.g., the recipient's email address) and, if applicable, must know how to construct the user's public key Q from the additional public key information (e.g., validity period, security level, etc.) The sender must also obtain the public parameter information (e.g., P and sP). Prior to message transmission, the sender may use the identity-based-encryption (IBE) process (e.g., the process of the work of Boneh and Franklin described above) to encrypt the message contents for the recipient. The IBE process may take as inputs (1) the message to be encrypted, (2) public parameter information (e.g., P and sP), and (3) the public key Q that is based on the identity of the given recipient to which the message is to be sent. The IBE process produces an encrypted version of the message as its output.
- After the sender transmits the encrypted message to the recipient over
communications network 14, the recipient may receive and decrypt the received message using an appropriate private key. The private key that is used for decrypting the message is related to the identity-based-encryption public key Q and public parameter information (e.g., P and sP) used when encrypting the message. Only the private key that matches the public key may be used to decrypt the message. Generation of the private key requires knowledge of the master secret s, so only theprivate key generator 16 can generate the recipient's private key based on the recipients public key Q. - With one suitable approach, the private key for the recipient may be generated from the recipient's identity Q and the master secret s by using an appropriate mathematical function (e.g., the multiplication of integers with points on elliptic curves) to calculate the value of sQ. The recipient's identity may be verified using authentication information from the recipient before the private key is issued to the recipient.
- Any suitable manual or automatic authentication technique may be used. For example, the recipient may be asked to fax or mail a letter to the
private key generator 16 on the recipient's official letterhead, which is examined for authenticity by personnel or automated equipment at the private key generator. As another example, biometric identification techniques (e.g., fingerprint analysis, eye-scanning, handprint or voiceprint analysis, facial recognition methods, or in-person identification checks) may be used. When the authentication process involves electronic communications between the recipient and the private key generator, the communications path between the recipient and the private key generator should be secure. The communications path may be assumed to be secure if it is not available for use by untrusted parties. For example, the network between theprivate key generator 16 and the recipient may be a private line that is controlled by the private key generator or another trusted entity. As another example, a secure channel may be supported using a secure web browser link (e.g., using the secure sockets layer protocol). - Regardless of how the
private key generator 16 authenticates the identity of the recipient and generates the recipient's private key, the private key should be provided to the recipient for use in decrypting the message. Any suitable technique may be used to provide the private key to the recipient. For example, the private key may be transmitted to the recipient in an email or other suitable message, may be made available for downloading over the Internet (as part of a stand-alone downloadable application or a downloadable plug-in module, as a stand-alone key, etc.). A secure communications channel may be used for electronic communications between theprivate key generator 16 and the recipient'sequipment 12. If desired, the private key may be preinstalled on the recipient's equipment, so that the private key will be available for the recipient when the recipient first uses the equipment. The private key may also be distributed by mail or courier (e.g., on a computer-readable medium such as a computer disk or memory chip). - The recipient may, if desired, store the private key locally (e.g., in a database on a storage device such as a memory circuit or hard drive on the recipient's equipment). If the private key is stored locally, the recipient can retrieve it the next time a message needs to be decrypted without needing to contact the private key generator to obtain a new copy of the private key over the communications network. If the private key is not located locally, the recipient may obtain the private key from the appropriate private key generator by consulting a previously-stored local list of private key generators, by consulting private key generators listed in a directory, by contacting one or more private key generators based on information provided with the message, or using any other suitable technique.
- To enhance the efficiency of the decryption and encryption process, a two-step decryption technique may be used in which a message key (e.g., a symmetric message key) is used to encrypt the contents of the message prior to transmission to the recipient. The IBE process is then used to encrypt the symmetric message key. The message that is sent from the sender to the recipient contains the IBE-encrypted message key and the message-key-encrypted message contents. At the recipient, the recipient uses the IBE private key to decrypt the message key. The message key may then be used by the recipient to decrypt the rest of the message.
- "Pure" or "single-step" identity-based encryption algorithms in which the IBE algorithm alone is used to encrypt the entire message payload can be computationally intensive. For example, a pure identity-based encryption scheme may be able to encrypt data at the rate of roughly 1000 bytes/second, whereas a symmetric encryption algorithm such as DES3 (3-DESData Encryption Standard) may be able to encrypt data at a rate of about 100 Mbytes/second. Moreover, with pure IBE algorithms the size of an IBE-encrypted block of data may be many orders of magnitude larger than the unencrypted version of the same block of data. Accordingly, it may be desirable to use the two-step identity-based encryption scheme to allow the sender and recipient to securely exchange message keys such as symmetric message keys. This type of two-step IBE cryptographic scheme uses IBE to securely exchange a message key, while encrypting and decryption most message data using an efficient message key cryptographic process (e.g., 3-DES or AES).
- The two-step encryption strategy in which "pure" IBE is used in conjunction with a more efficient encryption technique (e.g., a symmetric key encryption technique such as 3-DES or AES) can improve the overall IBE encryption efficiency of
system 10. Such hybrid or "two-step" IBE encryption schemes are sometimes referred to herein as simply "identity-based-encryption" schemes or "IBE" schemes for clarity. Similarly, pure IBE schemes (in which only IBE is used for encryption and decryption) are sometimes referred to herein as "identity-based-encryption" or "IBE" schemes. - In two-step IBE algorithms, the message key encryption technique (e.g., the 3-DES technique or other symmetric key technique) can be chosen for its efficiency in encrypting data, which can make such mixed algorithms significantly more efficient than using a "pure" IBE encryption strategy in which all of the message data is encrypted using the IBE encryption algorithm. With one suitable two-step approach, which is described in more detail below, an IBE-encrypted message key may be transmitted to the recipient of a message in an encrypted-message key field.
- As shown in
FIG. 2 , there may be more than oneprivate key generator 16 insystem 10. For example, different institutions (e.g., different banks, brokerage houses, corporations, military establishments, branches of government, educational institutions, etc.) may each have a separate associated private key generator. In general, each private key generator has its own master secret and its own public parameter information (e.g., its own set of public parameter information P and sP in environments using an approach of the type described in the above-mentioned work of Boneh and Franklin). - For proper communications between a sender and a recipient, the actions of the sender and recipient must be coordinated. In particular, the sender must use public parameter information in encrypting the message that comes from the same private key generator that the recipient uses to obtain the private key. When there are multiple possible private
key generators 16 associated with any given user insystem 10, it is beneficial to provide a directory or other suitable mechanism for informing senders of which private key generator is associated with a given user. - For example, to encrypt a message properly for a given recipient, a sender may consult a
directory service 18 or other suitable equipment connected to network 14 to look up the recipient's private key generator affiliation. For example, if a sender desires to send an encrypted message to a member of an organization that has an associated private key generator, the sender may consult adirectory 18 to locate the private key generator information for members of that organization. This information may identify the private key generator by name or Internet location or other suitable identifier. The identifying information may then be used by the sender to contact this private key generator (or other suitable source) to obtain the appropriate public parameter information to use when encrypting the message for the recipient. If desired, the appropriate public parameter information itself may be provided directly in thedirectory 18. - This type of directory arrangement allows senders to determine which IBE public parameter information to use in encrypting a message for a given user. Public parameter information may also be distributed by publishing it using other suitable arrangements. The appropriate public parameter information (e.g., parameters P and sP) to be used in encrypting a sender's message is the public parameter information that was generated using the same master secret (s) used in generating the intended recipient's IBE private key (sQ). When there is a correspondence between public parameter information and private keys, messages can be properly encrypted and decrypted using the IBE scheme.
- Some users in
system 10 may have relationships with more than one private key generator. For example, a user may receive IBE-encrypted communications from a bank having a first private key generator and from an employer having a second private key generator. - In this type of multi-private-key-generator environment, receivers may have multiple private keys and may therefore need to determine which of the private keys is the correct one to use to decrypt a given incoming message.
- Moreover, senders of messages in system environments with multiple private key generator will generally need to determine which public parameter information is the appropriate public parameter information to use (e.g., the public parameter information associated with the bank private key generator, the public parameter information associated with the employer private key generator, or the public parameter information associated with some other entity) before a message may be encrypted.
- Senders may determine which public parameters to use in encrypting a message by looking up information on the intended receiver in a directory of users (e.g., a directory such as directory 18). Senders may also obtain information on the appropriate public parameter information to use from a private key generator, from a recipient, or other suitable source.
- When a recipient receives a message, the recipient can attempt to decrypt the message using each of the recipient's private keys. This may produce success in decrypting the message without need for further action, but can sometimes require a number of steps (e.g., when the process of obtaining the private key involves user steps such as responding to a pop-up password window or other authentication steps for each attempt).
- If desired, receivers can look up information on private key generators in a directory. As an example, if a receiver receives a decrypted message, the user may try to obtain an appropriate private key at some or all of the private key generators listed in the directory. This approach may be particularly satisfactory in
systems 10 in which there are not a large number of different private key generators. - With another suitable arrangement, the sender may assist the recipient in locating the correct private key by providing private key identifying information with the message. The private key identifying information can be used by the recipient to identify which of the recipient's private keys is the correct one to use in decrypting the message. A diagram of an
illustrative message 20 containing privatekey identification information 22 is shown inFIG. 3 . - Information in the header of
message 20 such as information on the sender's email address may be used as the privatekey identifying information 22. In this situation, the recipient may determine the appropriate private key to use from the context provided by the sender's email address. For example, when a recipient receives a message that is identified as originating at the recipient's bank (e.g., if the sender information contained in the message header matches that for the recipient's bank), the recipient can surmise that the private key generator of the recipient's bank is associated with the message and that the appropriate one of the recipient's private keys to be used in decrypting the message is the private key that is associated with the bank's private key generator. Because the public parameter information that the bank used to encrypt the message for the recipient was generated by the same private key generator that was used to generate the private key, the private key can be successfully used to decrypt the message. - Sometimes there is no preexisting relationship between sender and recipient or there may be difficulties in ascertaining the sender's identity from the usual message header information. It may therefore be useful to provide other types of private
key identifying information 22 with themessage 20. For example, the name of the private key generator associated with the encrypted message may be used as the private key identifying information. This name may be provided as a text string, as a number, as a URL or IP address specifying the location of theprivate key generator 16 onnetwork 14, or as any other suitable identifier that may be used to uniquely or accurately identify theprivate key generator 16. With this information, the recipient of a given message can easily locate the appropriate privatekey generator 16 and can request a private key from that private key generator that can then be used to decrypt the given message. - Illustrative steps involved in using the private key identifying information in sending and receiving secure messages in
system 10 are shown inFIG. 4 . Atstep 24, an IBE-encrypted message and associated private key identifying information may be generated at the sender. For example, a message key may be used to encrypt a message payload and an IBE encryption process may be used to encrypt the message key. The message to be transmitted over the network may be constructed from the encrypted message payload and the encrypted message key. The IBE encryption process may use the public key Q of the intended recipient and public parameter information from a given private key generator that is associated with the recipient as inputs when encrypting the message key. The sender may append private key identifying information (e.g., a server name or other information that specifically identifies the given private key generator involved) to the message. - The encrypted message with its associated private key identifying information may be transmitted from the sender to the receiver at
step 26. - At
step 28, the recipient may receive the encrypted message and the private key identifying information. - At
step 30, the private key identifying information may be used by the recipient to identify which private key of the recipient is to be used to decrypt the message and may be used to obtain a copy of that private key. - For example, the private key identifying information may identify the network location of the specific private key generator that was used in generating the IBE public parameter information that was used in encrypting the message (i.e., that was used in encrypting the message key). The private key identifying information may identify the private key directly (e.g., through an identifier directly associated with the private key) or indirectly (e.g., by identifying the private key generator associated with the private key or the public parameters that are associated with the private key generator that is associated with the private key, etc.). These are merely illustrative examples. Any suitable private key identifying information may be used that allows the recipient to identify which of the recipient's private keys to use.
- The identified private key may be retrieved from a local private key database at the recipient. If the private key is not available in the local database, the recipient may obtain the private key from the appropriate private key generator. The recipient may, for example, obtain the private key by contacting the appropriate private
key generator 16 overnetwork 14 manually, automatically, or using a combination of manual and automatic steps. The private key generator may authenticate the recipient's identity and verify that the recipient is authorized to access the message content, before generating an appropriate private key (e.g., a key sQ that is based on the recipient's identity-based IBE public key and the master secret of that private key generator). If desired, the recipient may retain the private key (e.g., in the local private key database). The local private key database may be implemented using a memory device, hard drive or other local storage on the recipient's equipment. The stored private key may be retained until needed by the recipient when the next message associated with the same private key generator is received. - At
step 32, the recipient (i.e., theequipment 12 that received the message) may use the private key that has been obtained to decrypt the message. In a pure IBE arrangement, the private key may be used to decrypt an IBE-encrypted payload. In a two-step IBE scheme, the private key may be used to decrypt the IBE-encrypted message key. The message key that has been decrypted may then be used to decrypt the message-key-encrypted payload. - The messages that are exchanged in
system 10 may be instant messages, email messages, or any other suitable type of messages. An illustrative message format is shown inFIG. 5 . In the example ofFIG. 5 ,message 20 has aheader 34,recipient info block 36, and apayload portion 38. Theheader 34 may include protocol-specific information such as recipient email address information, sender email address information, subject information, date of transmission information, etc. Thepayload 38 may be any suitable text, media, code, or other content. The payload may be encrypted using a message key (e.g., a symmetric message key such as a 3-DES key or an AES key). The message key may be encrypted using IBE. The IBE-encrypted message key may be placed in therecipient info block 36. - The
recipient info block 36 may contain a recipient info field having akey info field 36a and an encrypted messagekey field 36b for each recipient of the message. If there is only one recipient, for example, therecipient info block 36 may include a single key info field and a single corresponding encrypted message key field. - The IBE-encrypted message key may be placed in the encrypted message key field. When there are multiple recipients, the message key may be encrypted differently for each encrypted message key field. For example, the copy of the message key to be used by
recipient 1 may be encrypted using IBE based on the public key forrecipient 1 and the public parameter information obtained from privatekey generator 1, whereas the copy of the message key to be used byrecipient 2 may be encrypted using IBE based on the public key ofrecipient 2 and the public parameter information obtained from privatekey generator 2. The resulting encrypted message keys may be stored in corresponding encrypted message key fields. Thekey info fields 36a in each recipient info field may be used to identify which recipients are associated with which recipient info fields. The private key identifying information for each recipient may, if desired, be provided in the key info field associated with that recipient. - The
message 20 may be an email message that uses a format based on that of standard S/MIME email messages, as shown inFIG. 6 . As the diagram ofFIG. 6 illustrates,message 20 may have S/MIME mail headers 34. Information from themail headers 34 ofFIG. 5 orFIG. 6 such as the identity of the sender may be used as private key identifying information. For example, a recipient may use header information fromheaders 34 to determine that a given message was sent from the recipient's bank. The recipient may then use this information to obtain a private key from local storage or from the recipient's bank's private key generator. Private key identifying information may also be provided in recipient info block 36 (e.g., in eachkey info field 36a) . - Ciphertext
start location marker 40 and ciphertext stoplocation marker 42 may be used to identify the location of the encrypted contents of message 20 (e.g., the location of ciphertext 44).Message 20 may, if desired, have one ormore attachments 46, which may, if desired, be encrypted. - A sender that desires to sign a
message 20 may do so by placing a digital signature indigital signature block 48. The sender may generate the digital signature using any suitable technique. For example, the sender may generate the digital signature using an RSA private key that the receiver can verify with a corresponding RSA public key. -
Algorithm identifier block 50 may be used to hold an algorithm identifier that specifies which encryption algorithm or algorithms are being used to encrypt themessage 20. For example, the algorithm identifier may specify that the IBE algorithm Version 2.2 is being used to encrypt the message key and that 3-DES encryption algorithm is being used as a message-payload encryption algorithm to encrypt the message payload (i.e., the message key is a 3-DES message key). Other illustrative algorithm IDs include IBE + 3-DES, IBE + AES, IBE v.3 + 3-DES, IBE v.4 + 3-DES, etc. The algorithm IDs may be represented using an alphanumeric string, binary code, or other suitable representation. There may be a separate algorithm identifier entry for each recipient or a single algorithm identifier that specifies the cryptographic algorithm(s) that are being used for all recipients. The format of thealgorithm identifier block 50 may, if desired, conform to the S/MIME email standard. - The diagram of
FIG. 7 illustrates how IBE cryptographic techniques may be used to support secure messaging between a sender and a recipient. - At an appropriate time (e.g., during a set-up process or later when a recipient needs to decrypt a message) the recipient may be provided with an IBE private key. With one illustrative approach, the recipient may request a private key (step 1) which may be delivered from the
private key generator 16 to the recipient (step 2). The recipient may store the private key in privatekey database 52. When a message is to be decrypted, the recipient may querydatabase 52 to attempt to locate a local copy of the private key before requesting that the key be delivered electronically over a network. - To send a message, a sender may generate a message key (e.g., a 3-DES or AES message key) (step A). The sender then obtains the public parameter information (e.g., public parameters P and sP) for the intended recipient and the IBE public key Q of the intended recipient (step B). The public parameter information may be published on the Internet by a directory service, by a private key generator associated with the recipient, by the recipient, or any other suitable entity. The public key is based on the recipient's identity. For example, the public key may be based on the recipient's email address. Additional information may be provided in the public key to add additional security features to
system 10. For example, a validity period may be appended to the email address to form the public key. - The sender encrypts the message key (step C) using the IBE public key and IBE public parameters as inputs to the IBE encryption algorithm running at the sender.
- The message key (in its unencrypted form) is used to encrypt the message payload (e.g., a text or media file, code, etc.) (step D).
- At step E, the message may be constructed from the encrypted payload. The IBE-encrypted version of the message key may be placed in the encrypted message field of the recipient info block. The message may be addressed to multiple receivers (each of which may receive a message key that has been encrypted using an appropriate corresponding identity-based public key and potentially different public parameter information). The recipient info block may contain recipient info fields that each contain information for identifying which recipient is associated with the contents of each associated encrypted message key field. The recipient info fields may also contain information that identifies for the recipients which of their potentially numerous private keys is to be used to decrypt their encrypted message key (private key identifying information).
- The message may be sent at step F. For example, an email program or application with an email function may be used to send the message.
- At step G, the recipient may receive the message. For example, the recipient may use an email program or an application with an email function to receive the message.
- At step H, the recipient may search each of the recipient info fields 36a to determine whether there is a match between the recipient and the information in any of the fields. If there is no match, the message is not destined for the recipient and can be discarded.
- If there is a match, the recipient can (at step I) use some or all of the matching key info field information to obtain the appropriate private key needed to decrypt the encrypted message key and thereby access the message contents (i.e., the recipient can use the private key identifying information in the key info field to obtain the appropriate private key). The recipient may obtain a previously-stored private key from
database 52 or may obtain the private key from an appropriate IBE privatekey generator 16. The private key identifying information may include information sufficient for the recipient to identify the correct private key indatabase 52 and/or to request the correct private key (at step 1) from the correct private key generator 16 (e.g., in a multi-private-key-generator environment). - At step J, the IBE private key of the recipient may be used to decrypt the encrypted message key for the recipient (obtained from the recipient's encrypted message key field).
- At step K, the decrypted version of the message key may be used to decrypt the encrypted payload (e.g., ciphertext 44 of
FIG. 6 ), thereby providing the recipient with access to the contents of the message. - As described above, private key identifying information may be sent with
message 20. The private key identifying information and other message information may, for example, be provided in thekey info fields 36a of an email message. Any suitable configuration may be used for recipient info fields 36 and their associatedkey info fields 36a and encrypted messagekey fields 36b. Illustrativekey info fields 36a are shown inFIGS. 8a, 8b, 8c, 8d, 8e, and 8f .Message 20 may contain one or more of any of these illustrativekey info fields 36a or other suitable recipient info fields. Typically eachkey info field 36a is associated with a particular recipient and contains information that is sufficient for the recipient to confirm this association. Once a recipient locates a matchingkey info field 36a, the recipient can use the encrypted message key that has been provided in the corresponding encrypted messagekey field 36b to decrypt the message payload. - As shown in
FIG. 8a , thekey info field 36a ofmessage 20 may include recipient identifier information that is based on the recipient's email name. For example, "bob@aol.com" may be placed in therecipient info field 36a. When using this type ofrecipient info field 36a, each recipient may use the email name information to identify which corresponding encrypted message key is intended for that recipient. - As shown in
FIG. 8b , a recipient identifier in thekey info field 36a may be based on both the recipient's email address and a validity period. The validity period may be a date (e.g., 2/10/03), date range (e.g., 1/2/03-2/22/03), or any other suitable time-based period over which the recipient is authorized to decrypt the encrypted contents of the message. With this approach, keys can be made to automatically expire or can be made to be valid only at a future date. The recipient identifier information ofFIG. 8b may be used by each recipient to identify which corresponding encrypted message key field is associated with that recipient. - As shown in
FIG. 8c , thekey info field 36a may contain private key identification information. The private key identification information may be used by the message recipients to determine which of their private keys to use in decrypting a message (and, if a private key needs to be requested overnetwork 14, which private key generator or other location should be contacted to obtain that private key). - In the example of
FIG. 8c , the private key identification information is based on private key generator identification information (e.g., a private key generator ID in the form of a server name) and is provided in addition to the recipient ID. This private key generator information is sufficient to identify, for each recipient, which of their private keys is to be used. The private key generator ID may be used to formulate a local database query for locating the private key among a number of private keys stored in a local private key database on the recipient's equipment or may be used to formulate a request that directs the correct private key generator to generate the private key needed by the recipient to decrypt the encrypted message key (thereby allowing the recipient to decrypt the message contents). - The recipient IDs (which are based on email and validity period information in the example of
FIG. 8c ) may be used by the recipients of the message to determine which private key identification information corresponds to which recipients. In one suitable arrangement, a given recipient first locates a matching email address in the recipient ID portion of the key info field. The given recipient then uses the accompanying private key identification information (e.g., the server name in the example ofFIG. 8c ) to attempt to retrieve the appropriate private key for that given recipient to use from the given recipient's local private key database. If the private key cannot be located in the private key database, the server name can be used to identify which private key generator the recipient should contact to obtain a copy of the appropriate private key overnetwork 14. Once the correct private key has been obtained by the given recipient, the given recipient can use that private key to decrypt the encrypted message key located in the encrypted message key field that is associated with the key info field in which the matching email address was found. The decrypted message key may be used to complete the message decryption process by decrypting the contents of the message. - As shown in
FIG. 8d , the key info field may have private key identification information such as public parameter version number information. The public parameters that are generated by privatekey generators 16 may be changed from time to time (e.g., periodically, or when the secrecy of the master secret of that private key generator may have been compromised). As an example, aprivate key generator 16 may initially generate public parameter information with a version number 1.0 and may later generate public parameter information with a version number 2.0. Because the recipient must use the private key that matches the correct public parameter version number in order to properly perform decryption activities, the recipient can use private key identification information that contains version number information to ensure that the correct private key is obtained and used. An example of a key info field containing public parameter version number information is shown inFIG. 8d . The public parameter version number is a form of private key identification information and may be provided in addition to private key identification information such as a private key generator ID based on a server name (or other suitable private key generator ID). - As shown in
FIG. 8e , thekey info field 36a may include public parameter information (e.g., the set of public parameters P and sP in a system environment of the type described in the above-mentioned work of Boneh and Franklin). The public parameter information that is included in thekey info field 36a may be the same IBE public parameter information that the sender used when encrypting the message key in the correspondingencrypted message field 36b. The public parameter information ofFIG. 8e may be provided in addition to the recipient ID, so that the recipient can use the recipient ID to locate the appropriate key info field in the message. The public parameter information is a form of private key identification information, because this information can be used to determine which private key the recipient is to use in decrypting the encrypted message key. - As shown in
FIG. 8f , any of the key info field information ofFIGS. 8a, 8b, 8c, 8d, and 8e or any other suitable key info field information may be processed using a hash function prior to insertion in thekey info field 36a by the sender. A hash function H has the property that H(s) = V, where s is an alphanumeric string of arbitrary string length and V is a binary number of fixed length. The length of V may be, for example, 128 bits, 160 bits (e.g., 16 or 20 bytes) or other suitable length. Hash functions are collision free so that one cannot (in a reasonable amount of time) find an s1 and an s2 such that H(s1) = H(s2). Hash functions are also one-way, so that given a V1, one cannot (in a reasonable amount of time) find an s3 such that H(s3) = V1. - These properties provide several advantages when a hash function H is used in
key info field 36a as shown inFIG. 8f . For example, the one-way property of the hash function conceals potentially sensitive information in the key info field during transmission of themessage 20 overnetwork 14. Even if the message is intercepted, the interceptor cannot determine the email name of the recipient. This may be beneficial if the recipient does not desire to make the email name available to the general public. Moreover, private key server name information (e.g., as shown inFIGS. 8c and 8d ) or other potentially sensitive private key identifier information or key info field information may be hidden from interceptors. Another advantage of using the hash function is that it can tend to make the key info field more compact, because the output of a hash function is typically shorter than the string passed into it. Thus, even if the only string input to the hash function is a recipient ID or a recipient ID plus a public parameter information (as shown inFIG. 8e ), it can still be advantageous to use the hash function prior to placing this information into thekey info field 36a of themessage 20. - The IBE scheme may be used to encrypt message keys for email communications or any other suitable type of messages. When supporting secure communications involving instant messages, it is generally not necessary to continually retransmit the message key. With instant messaging, it is generally acceptable to retain the message key from the first instant message for use in decrypting subsequent instant messages. Accordingly, the first instant message during an instant message session may include a recipient info block (including a key info field and encrypted message key field) and an encrypted message payload. The recipient may use IBE to decrypt the encrypted message key. The decrypted message key may then be retained for decrypting subsequent instant messages during the session. Such subsequent messages may be transmitted from the sender to the recipient with the encrypted message payload but without all of the recipient block information (e.g., without including the encrypted message key).
Claims (13)
- A method for using identity-based encryption to support encrypted communications in a system (10) in which users (12) at user equipment communicate over a communications network (14), wherein the system (10) has a plurality of identity-based-encryption private key generators (16) each of which generates private keys for the users (12) and each of which generates respective public parameter information for use in the identity-based encryption of messages (20) to be sent to those users (12) that use that private key generator (16) in encrypted communications, wherein senders (12) of messages (20) in the system (10) encrypt each of the messages (20) using an identity-based-encryption algorithm that has as inputs (1) the public parameter information generated by the private key generator (16) used by an intended message recipient (12) to support encrypted communications with other users and (2) an identity-based-encryption public key that is based on the identity of that intended recipient (12), wherein users (12) may use more than one of the private key generators (16) to support encrypted communications with other users so that when a given recipient (12) receives a given encrypted message (20) from a given sender (12), the given recipient (12) may not know in advance which private key generator (16) generated the public parameter information that was used by the given sender (12) to encrypt the given message (20) and may not know in advance which of that given recipient's (12) corresponding private keys to use to decrypt the given encrypted message (20), the method characterized by:receiving private key identification information (22) at the recipient (12) that was sent from the given sender (12) to the given recipient (12) with the given encrypted message (20), wherein the private key identification information (22) identifies for the recipient (12) which of the plurality of identity-based-encryption private key generators (16) to contact to obtain an appropriate private key to decrypt the given encrypted message (20);with the private key identification information (22) received at the given recipient (12), identifying which of the plurality of identity-based-encryption private key generators (16) to contact to obtain the appropriate private key to decrypt the given encrypted message (20); andat the given recipient (12), retrieving the appropriate private key from the identified private key generator (16) over the communications network (14).
- The method defined in claim 1 wherein receiving the private key identification information (22) at the recipient (12) that was sent from the given sender (12) comprises receiving private key identification information (22) that has been placed in a recipient info field (36) in the given message (20) .
- The method defined in claim 1 wherein receiving the private key identification information (22) comprises receiving private key identification information (22) that has been placed in a key info field (36a) in the given message (20).
- The method defined in claim 3 further comprising using the appropriate private key to decrypt the given message (20) by decrypting an encrypted message key that was sent from the given sender (12) in an encrypted message key field (36b) in the encrypted message (20) and then using the message key to decrypt a message payload (38) that was encrypted by the given sender (12) using the message key.
- The method defined in claim 3, wherein the key info field (36a) comprises a recipient identifier based on an email address of the recipient (12).
- The method defined in claim 5 wherein the recipient identifier is based on the email address of the recipient (12) concatenated with a validity period.
- The method defined in claim 3, wherein the key info field (36a) comprises a recipient identifier for the given recipient (12) and a private key generator identifier.
- The method defined in claim 7 wherein the private key generator identifier is based on a server name.
- The method defined in claim 1 wherein receiving the private key identification information (22) comprises receiving private key identification information (22) that includes information on the version of the public parameter information used to encrypt the given message (20) by the given sender (12).
- The method defined in claim 1 wherein receiving the private key identification information (22) comprises receiving the public parameter information that was used by the given sender (12) in encrypting the given message (20).
- The method defined in claim 1 wherein receiving the private key identification information (22) comprises receiving information that has been processed by a hash function.
- The method defined in claim 1 wherein receiving the private key identification information (22) comprises receiving private key generator identification information (22) that has been processed by a hash function.
- The method defined in claim 1 wherein the sender (12) provides algorithm identifier information with the message (20) that identifies which identity-based-encryption algorithm is to be used in decrypting the message (20) at the recipient (12), the method further comprising using the algorithm identifier information when decrypting the message (20) at the recipient (12).
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US390058 | 2003-03-14 | ||
US10/390,058 US7571321B2 (en) | 2003-03-14 | 2003-03-14 | Identity-based-encryption messaging system |
PCT/US2004/007829 WO2005010732A2 (en) | 2003-03-14 | 2004-03-12 | Identity-based-encryption messaging system |
Publications (3)
Publication Number | Publication Date |
---|---|
EP1604484A2 EP1604484A2 (en) | 2005-12-14 |
EP1604484A4 EP1604484A4 (en) | 2006-08-23 |
EP1604484B1 true EP1604484B1 (en) | 2019-05-01 |
Family
ID=32962342
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP04775839.6A Expired - Lifetime EP1604484B1 (en) | 2003-03-14 | 2004-03-12 | Identity-based-encryption messaging system |
Country Status (4)
Country | Link |
---|---|
US (2) | US7571321B2 (en) |
EP (1) | EP1604484B1 (en) |
JP (1) | JP4659749B2 (en) |
WO (1) | WO2005010732A2 (en) |
Families Citing this family (148)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7003117B2 (en) * | 2003-02-05 | 2006-02-21 | Voltage Security, Inc. | Identity-based encryption system for secure data distribution |
US7921292B1 (en) | 2003-04-04 | 2011-04-05 | Voltage Security, Inc. | Secure messaging systems |
GB2400699B (en) * | 2003-04-17 | 2006-07-05 | Hewlett Packard Development Co | Security data provision method and apparatus and data recovery method and system |
EP1632091A4 (en) * | 2003-05-12 | 2006-07-26 | Gtech Corp | Method and system for authentication |
US7017181B2 (en) * | 2003-06-25 | 2006-03-21 | Voltage Security, Inc. | Identity-based-encryption messaging system with public parameter host servers |
GB2406246B (en) * | 2003-09-17 | 2006-05-31 | Hewlett Packard Development Co | Secure provision of image data |
US7590236B1 (en) * | 2004-06-04 | 2009-09-15 | Voltage Security, Inc. | Identity-based-encryption system |
WO2006034428A2 (en) * | 2004-09-20 | 2006-03-30 | Pgp Corporation | Apparatus and method for identity-based encryption within a conventional public-key infrastructure |
US7660798B1 (en) * | 2004-10-04 | 2010-02-09 | Adobe Systems Incorporated | System and method for providing document security, access control and automatic identification of recipients |
GB2421097B (en) * | 2004-12-10 | 2009-07-01 | Hewlett Packard Development Co | Methods, devices and computer programs for creating ciphertext, plaintext and a cryptographic key |
US7636939B2 (en) * | 2004-12-10 | 2009-12-22 | Microsoft Corporation | Endpoint identification and security |
CN1262087C (en) * | 2005-01-14 | 2006-06-28 | 南相浩 | Method and apparatus for cipher key generation based on identification |
US20070174636A1 (en) * | 2005-02-23 | 2007-07-26 | Robert Raja | Methods, systems, and apparatus for encrypting e-mail |
US7116349B1 (en) * | 2005-04-04 | 2006-10-03 | Leadtek Research Inc. | Method of videophone data transmission |
US20060227943A1 (en) * | 2005-04-12 | 2006-10-12 | International Business Machines Corporation | Rule-based instant message retention |
US20060238304A1 (en) * | 2005-04-21 | 2006-10-26 | Sean Loving | System and method for adapting an FRID tag reader to its environment |
US20060238302A1 (en) * | 2005-04-21 | 2006-10-26 | Sean Loving | System and method for configuring an RFID reader |
US7659819B2 (en) | 2005-04-21 | 2010-02-09 | Skyetek, Inc. | RFID reader operating system and associated architecture |
US7570164B2 (en) * | 2005-12-30 | 2009-08-04 | Skyetek, Inc. | System and method for implementing virtual RFID tags |
US20070046431A1 (en) * | 2005-08-31 | 2007-03-01 | Skyetek, Inc. | System and method for combining RFID tag memory |
US20060238303A1 (en) * | 2005-04-21 | 2006-10-26 | Sean Loving | Adaptable RFID reader |
US20070046467A1 (en) * | 2005-08-31 | 2007-03-01 | Sayan Chakraborty | System and method for RFID reader to reader communication |
US20060238305A1 (en) * | 2005-04-21 | 2006-10-26 | Sean Loving | Configurable RFID reader |
US20060253415A1 (en) * | 2005-04-21 | 2006-11-09 | Sayan Chakraborty | Data-defined communication device |
JP4350682B2 (en) * | 2005-06-15 | 2009-10-21 | キヤノン株式会社 | Monitoring device |
US20080025497A1 (en) * | 2005-06-28 | 2008-01-31 | Ogram Mark E | Multiple key encryption with "Red Herrings" |
US20070206786A1 (en) * | 2005-08-31 | 2007-09-06 | Skyetek, Inc. | Rfid security system |
US8145718B1 (en) * | 2005-10-21 | 2012-03-27 | Voltage Security, Inc. | Secure messaging system with personalization information |
US20070130462A1 (en) * | 2005-12-06 | 2007-06-07 | Law Eric C W | Asynchronous encryption for secured electronic communications |
US8099495B2 (en) * | 2005-12-29 | 2012-01-17 | Intel Corporation | Method, apparatus and system for platform identity binding in a network node |
US20080042830A1 (en) * | 2005-12-30 | 2008-02-21 | Skyetek, Inc. | Virtual rfid-based tag sensor |
US20070206797A1 (en) * | 2006-03-01 | 2007-09-06 | Skyetek, Inc. | Seamless rfid tag security system |
US20080022160A1 (en) * | 2005-12-30 | 2008-01-24 | Skyetek, Inc. | Malware scanner for rfid tags |
FR2898747A1 (en) * | 2006-03-15 | 2007-09-21 | Gemplus Sa | DECHIFFRABLE CHERCHABLE ENCRYPTION PROCESS, SYSTEM FOR SUCH ENCRYPTION |
US8205238B2 (en) * | 2006-03-30 | 2012-06-19 | Intel Corporation | Platform posture and policy information exchange method and apparatus |
US7818264B2 (en) * | 2006-06-19 | 2010-10-19 | Visa U.S.A. Inc. | Track data encryption |
US9002018B2 (en) * | 2006-05-09 | 2015-04-07 | Sync Up Technologies Corporation | Encryption key exchange system and method |
US7992203B2 (en) * | 2006-05-24 | 2011-08-02 | Red Hat, Inc. | Methods and systems for secure shared smartcard access |
FR2901940B1 (en) * | 2006-05-31 | 2012-12-14 | Oberthur Card Syst Sa | METHOD OF GENERATING A PRIVATE KEY AND METHODS OF ENCRYPTING AND DE-CREATING A MESSAGE |
US8086873B2 (en) * | 2006-06-05 | 2011-12-27 | Lenovo (Singapore) Pte. Ltd. | Method for controlling file access on computer systems |
US8364952B2 (en) | 2006-06-06 | 2013-01-29 | Red Hat, Inc. | Methods and system for a key recovery plan |
US8180741B2 (en) | 2006-06-06 | 2012-05-15 | Red Hat, Inc. | Methods and systems for providing data objects on a token |
US8332637B2 (en) * | 2006-06-06 | 2012-12-11 | Red Hat, Inc. | Methods and systems for nonce generation in a token |
US8098829B2 (en) | 2006-06-06 | 2012-01-17 | Red Hat, Inc. | Methods and systems for secure key delivery |
US8495380B2 (en) | 2006-06-06 | 2013-07-23 | Red Hat, Inc. | Methods and systems for server-side key generation |
US8707024B2 (en) | 2006-06-07 | 2014-04-22 | Red Hat, Inc. | Methods and systems for managing identity management security domains |
US8589695B2 (en) | 2006-06-07 | 2013-11-19 | Red Hat, Inc. | Methods and systems for entropy collection for server-side key generation |
US8099765B2 (en) | 2006-06-07 | 2012-01-17 | Red Hat, Inc. | Methods and systems for remote password reset using an authentication credential managed by a third party |
US8412927B2 (en) | 2006-06-07 | 2013-04-02 | Red Hat, Inc. | Profile framework for token processing system |
US9769158B2 (en) | 2006-06-07 | 2017-09-19 | Red Hat, Inc. | Guided enrollment and login for token users |
US8787566B2 (en) | 2006-08-23 | 2014-07-22 | Red Hat, Inc. | Strong encryption |
US8806219B2 (en) * | 2006-08-23 | 2014-08-12 | Red Hat, Inc. | Time-based function back-off |
US8316233B2 (en) * | 2006-08-24 | 2012-11-20 | Privacydatasystems, Llc | Systems and methods for accessing secure and certified electronic messages |
US8356342B2 (en) | 2006-08-31 | 2013-01-15 | Red Hat, Inc. | Method and system for issuing a kill sequence for a token |
US9038154B2 (en) | 2006-08-31 | 2015-05-19 | Red Hat, Inc. | Token Registration |
US8074265B2 (en) | 2006-08-31 | 2011-12-06 | Red Hat, Inc. | Methods and systems for verifying a location factor associated with a token |
US8977844B2 (en) | 2006-08-31 | 2015-03-10 | Red Hat, Inc. | Smartcard formation with authentication keys |
US8412947B2 (en) * | 2006-10-05 | 2013-04-02 | Ceelox Patents, LLC | System and method of secure encryption for electronic data transfer |
CN101170401B (en) * | 2006-10-27 | 2011-02-02 | 鸿富锦精密工业(深圳)有限公司 | Email encryption/decryption system and its method |
WO2008066671A2 (en) * | 2006-11-08 | 2008-06-05 | Voltage Security, Inc. | Indentity-based-encryption extensions formed using multiple instances of an identity based encryption scheme |
US8693690B2 (en) | 2006-12-04 | 2014-04-08 | Red Hat, Inc. | Organizing an extensible table for storing cryptographic objects |
US8813243B2 (en) * | 2007-02-02 | 2014-08-19 | Red Hat, Inc. | Reducing a size of a security-related data object stored on a token |
US8832453B2 (en) | 2007-02-28 | 2014-09-09 | Red Hat, Inc. | Token recycling |
US8639940B2 (en) | 2007-02-28 | 2014-01-28 | Red Hat, Inc. | Methods and systems for assigning roles on a token |
US9081948B2 (en) | 2007-03-13 | 2015-07-14 | Red Hat, Inc. | Configurable smartcard |
US8669845B1 (en) | 2007-03-30 | 2014-03-11 | Vail Resorts, Inc. | RFID skier monitoring systems and methods |
US7859411B2 (en) | 2007-03-30 | 2010-12-28 | Skyetek, Inc. | RFID tagged item trajectory and location estimation system and method |
US20080290995A1 (en) * | 2007-03-30 | 2008-11-27 | Skyetek, Inc. | System and method for optimizing communication between an rfid reader and an rfid tag |
US20080297326A1 (en) * | 2007-03-30 | 2008-12-04 | Skyetek, Inc. | Low Cost RFID Tag Security And Privacy System And Method |
JP2010534003A (en) * | 2007-07-03 | 2010-10-28 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | Multidimensional identification, authentication, authorization and key distribution system for patient monitoring |
WO2009055802A1 (en) * | 2007-10-26 | 2009-04-30 | Telcordia Technologies, Inc. | Method and system for secure session establishment using identity-based encryption (vdtls) |
CN101567784B (en) * | 2008-04-21 | 2016-03-30 | 华为数字技术(成都)有限公司 | A kind of method, system and equipment obtaining key |
US8656177B2 (en) * | 2008-06-23 | 2014-02-18 | Voltage Security, Inc. | Identity-based-encryption system |
WO2010019593A1 (en) | 2008-08-11 | 2010-02-18 | Assa Abloy Ab | Secure wiegand communications |
US8867779B2 (en) * | 2008-08-28 | 2014-10-21 | Microsoft Corporation | Image tagging user interface |
US8396246B2 (en) * | 2008-08-28 | 2013-03-12 | Microsoft Corporation | Tagging images with labels |
US8407202B2 (en) * | 2008-10-06 | 2013-03-26 | At&T Intellectual Property I, L.P. | Embedded business metadata |
US8341427B2 (en) * | 2009-02-16 | 2012-12-25 | Microsoft Corporation | Trusted cloud computing and services framework |
US9165154B2 (en) * | 2009-02-16 | 2015-10-20 | Microsoft Technology Licensing, Llc | Trusted cloud computing and services framework |
US8510558B2 (en) | 2009-02-17 | 2013-08-13 | Alcatel Lucent | Identity based authenticated key agreement protocol |
WO2010111440A2 (en) | 2009-03-25 | 2010-09-30 | Pacid Technologies, Llc | Token for securing communication |
TW201103298A (en) | 2009-03-25 | 2011-01-16 | Pacid Technologies Llc | Method and system for securing communication |
US8934625B2 (en) * | 2009-03-25 | 2015-01-13 | Pacid Technologies, Llc | Method and system for securing communication |
US8782408B2 (en) | 2009-03-25 | 2014-07-15 | Pacid Technologies, Llc | Method and system for securing communication |
US8726032B2 (en) | 2009-03-25 | 2014-05-13 | Pacid Technologies, Llc | System and method for protecting secrets file |
GB2471282B (en) * | 2009-06-22 | 2015-02-18 | Barclays Bank Plc | Method and system for provision of cryptographic services |
US8510835B1 (en) | 2009-09-18 | 2013-08-13 | Trend Micro Incorporated | Techniques for protecting data in cloud computing environments |
US8826013B1 (en) | 2009-09-23 | 2014-09-02 | Trend Micro Incorporated | Protection of customer data in cloud virtual machines using a central management server |
CN101800640B (en) * | 2009-11-10 | 2012-09-05 | 浙江工业大学 | IBE private key management system based on Web Service |
CA2780643C (en) * | 2009-11-25 | 2017-03-21 | Aclara RF Systems Inc. | Cryptographically secure authentication device, system and method |
US8488783B2 (en) * | 2010-02-19 | 2013-07-16 | Nokia | Method and apparatus for applying recipient criteria in identity-based encryption |
US9025767B2 (en) * | 2010-03-24 | 2015-05-05 | Nokia Corporation | Method and apparatus for querying content protected by identity-based encryption |
US20110258430A1 (en) * | 2010-04-15 | 2011-10-20 | Nokia Corporation | Method and apparatus for applying execution context criteria for execution context sharing |
DE102010027018A1 (en) * | 2010-07-08 | 2012-01-12 | Bundesdruckerei Gmbh | Method for secure data transmission and decryption for communication via the Internet |
ES2386627B1 (en) * | 2010-10-22 | 2013-06-11 | Telefónica, S.A. | METHOD AND SYSTEM FOR THE ASYNCHRONOUS AND NOT REPORTED COGENERATION OF SECRET CRYPTOGRAPHIC KEYS IN SPACEALLY DISTINGUISHED LOCATIONS THROUGH A DISTRIBUTED SYSTEM. |
CA2795287C (en) * | 2011-04-01 | 2018-02-27 | Certicom Corp. | Identity-based decryption |
KR101234784B1 (en) * | 2011-05-30 | 2013-02-20 | 삼성에스디에스 주식회사 | Method of encryping basded on terminal's identification and apparatus thereof |
US9049025B1 (en) * | 2011-06-20 | 2015-06-02 | Cellco Partnership | Method of decrypting encrypted information for unsecure phone |
US8619986B2 (en) * | 2011-07-21 | 2013-12-31 | Patton Protection Systems LLC | Systems and methods for secure communication using a communication encryption bios based upon a message specific identifier |
US8892875B1 (en) | 2011-07-29 | 2014-11-18 | Trend Micro Incorporated | Methods and apparatus for controlling access to encrypted computer files |
US8479021B2 (en) | 2011-09-29 | 2013-07-02 | Pacid Technologies, Llc | Secure island computing system and method |
US9166953B2 (en) * | 2011-10-31 | 2015-10-20 | Nokia Technologies Oy | Method and apparatus for providing identity based encryption in distributed computations |
JP2013207376A (en) * | 2012-03-27 | 2013-10-07 | Toshiba Corp | Information processing device and program |
US20150149775A1 (en) * | 2012-09-02 | 2015-05-28 | POWA Technologies (Hong Kong) Limited | Method and System of Secure Email |
CN103684759A (en) * | 2012-09-11 | 2014-03-26 | 中国银联股份有限公司 | Terminal data encrypting method and device |
US8763085B1 (en) | 2012-12-19 | 2014-06-24 | Trend Micro Incorporated | Protection of remotely managed virtual machines |
US9020151B1 (en) | 2013-03-04 | 2015-04-28 | Trend Micro Incorporated | Secure real-time data replication with disk encryption and key management system |
JP6093664B2 (en) * | 2013-07-05 | 2017-03-08 | Kddi株式会社 | Secret key issuing device, public key cryptosystem, electronic signature system, secret key issuing method, and computer program |
US9350550B2 (en) | 2013-09-10 | 2016-05-24 | M2M And Iot Technologies, Llc | Power management and security for wireless modules in “machine-to-machine” communications |
US9100175B2 (en) | 2013-11-19 | 2015-08-04 | M2M And Iot Technologies, Llc | Embedded universal integrated circuit card supporting two-factor authentication |
US10498530B2 (en) | 2013-09-27 | 2019-12-03 | Network-1 Technologies, Inc. | Secure PKI communications for “machine-to-machine” modules, including key derivation by modules and authenticating public keys |
US9275242B1 (en) | 2013-10-14 | 2016-03-01 | Trend Micro Incorporated | Security system for cloud-based emails |
US9197419B1 (en) | 2013-10-14 | 2015-11-24 | Trend Micro Incorporated | Security system for data stored in the cloud |
US10700856B2 (en) | 2013-11-19 | 2020-06-30 | Network-1 Technologies, Inc. | Key derivation for a module using an embedded universal integrated circuit card |
WO2015113138A1 (en) * | 2014-01-31 | 2015-08-06 | Teixem Corp. | System and method for performing secure communications |
CN103986573A (en) * | 2014-05-17 | 2014-08-13 | 北京深思数盾科技有限公司 | Information safety device supporting IBC system |
US9843563B2 (en) | 2014-09-29 | 2017-12-12 | Airwatch Llc | Securing relayed email communication |
US10038674B2 (en) * | 2014-10-17 | 2018-07-31 | Sap Se | Secure mobile data sharing |
CN104660589B (en) * | 2015-01-20 | 2021-09-10 | 中兴通讯股份有限公司 | Method, system and terminal for encrypting control and information analysis of information |
US9853977B1 (en) | 2015-01-26 | 2017-12-26 | Winklevoss Ip, Llc | System, method, and program product for processing secure transactions within a cloud computing system |
WO2016131056A1 (en) * | 2015-02-13 | 2016-08-18 | Visa International Service Association | Confidential communication management |
US10136310B2 (en) | 2015-04-24 | 2018-11-20 | Microsoft Technology Licensing, Llc | Secure data transmission |
US9674158B2 (en) * | 2015-07-28 | 2017-06-06 | International Business Machines Corporation | User authentication over networks |
EP3185465A1 (en) * | 2015-12-23 | 2017-06-28 | Osmerus Investments Ltd | A method for encrypting data and a method for decrypting data |
CN109417475B (en) * | 2016-05-30 | 2022-06-28 | 意大利电信股份公司 | Privacy protection in a wireless telecommunications network |
SG10201606165SA (en) | 2016-07-26 | 2018-02-27 | Huawei Int Pte Ltd | A key generation and distribution method based on identity-based cryptography |
US10218515B2 (en) * | 2016-08-26 | 2019-02-26 | Microsoft Technology Licensing, Llc | Evolving a signature during trust verification of an object |
US10652218B2 (en) * | 2016-08-31 | 2020-05-12 | Mcafee, Llc | Message protection |
JP6468567B2 (en) | 2016-09-01 | 2019-02-13 | 日本電信電話株式会社 | Key exchange method, key exchange system |
JP2018067859A (en) * | 2016-10-21 | 2018-04-26 | 日本電信電話株式会社 | Cryptographic system and method |
US10205709B2 (en) | 2016-12-14 | 2019-02-12 | Visa International Service Association | Key pair infrastructure for secure messaging |
US10452877B2 (en) | 2016-12-16 | 2019-10-22 | Assa Abloy Ab | Methods to combine and auto-configure wiegand and RS485 |
CN106850412B (en) * | 2017-02-23 | 2019-11-26 | 北京二六三企业通信有限公司 | The sending method and device of mail |
JP7065887B2 (en) | 2017-06-07 | 2022-05-12 | エヌチェーン ホールディングス リミテッド | Methods and systems for establishing reliable peer-to-peer communication between nodes in a blockchain network |
WO2019066822A1 (en) * | 2017-09-27 | 2019-04-04 | Visa International Service Association | Secure shared key establishment for peer to peer communications |
US11044213B2 (en) * | 2017-12-19 | 2021-06-22 | Nice Ltd. | Systems and methods for invisible identification of agents participating in on-line communication sessions |
WO2019214942A1 (en) * | 2018-05-10 | 2019-11-14 | Telecom Italia S.P.A. | Protecting signaling messages in hop-by-hop network communication link |
CN109361506B (en) * | 2018-09-21 | 2021-06-15 | 无锡润盟软件有限公司 | Information processing method |
CN110351076A (en) * | 2019-05-28 | 2019-10-18 | 电子科技大学 | A kind of identity Hidden Authentication encipherment scheme of identity-based |
US11128454B2 (en) | 2019-05-30 | 2021-09-21 | Bong Mann Kim | Quantum safe cryptography and advanced encryption and key exchange (AEKE) method for symmetric key encryption/exchange |
CN111082932B (en) * | 2019-12-25 | 2023-03-28 | 武汉理工大学 | Anti-repudiation identification private key generation and digital signature method, system and device |
US11917068B1 (en) | 2020-06-29 | 2024-02-27 | Thomas William Maloney | System, apparatus, and method for secure exchange of personal information |
US11750572B2 (en) | 2020-08-12 | 2023-09-05 | Capital One Services, Llc | System, method, and computer-accessible medium for hiding messages sent to third parties |
WO2022125198A1 (en) * | 2020-12-10 | 2022-06-16 | Sri International | Certificate-based encryption implemented with multiple encryption schemes |
US11616767B2 (en) * | 2020-12-17 | 2023-03-28 | Western Digital Technologies, Inc. | Storage system with encrypted data storage device telemetry data |
US20230129539A1 (en) * | 2021-10-22 | 2023-04-27 | Micron Technology, Inc. | Authenticated modification of memory system data |
AU2022283634A1 (en) * | 2022-03-04 | 2023-09-21 | Baixin LIU | System and method for exchange of data and/or secret keys |
CN117118713A (en) * | 2023-08-30 | 2023-11-24 | 广州趣米网络科技有限公司 | Encryption algorithm based on double encryption |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1988001120A1 (en) * | 1986-07-31 | 1988-02-11 | Kabushiki Kaisya Advance | System for generating a shared cryptographic key and a communication system using the shared cryptographic key |
US5272755A (en) * | 1991-06-28 | 1993-12-21 | Matsushita Electric Industrial Co., Ltd. | Public key cryptosystem with an elliptic curve |
US5159632A (en) * | 1991-09-17 | 1992-10-27 | Next Computer, Inc. | Method and apparatus for public key exchange in a cryptographic system |
US5271061A (en) * | 1991-09-17 | 1993-12-14 | Next Computer, Inc. | Method and apparatus for public key exchange in a cryptographic system |
JPH08263438A (en) * | 1994-11-23 | 1996-10-11 | Xerox Corp | Distribution and use control system of digital work and access control method to digital work |
US5715403A (en) * | 1994-11-23 | 1998-02-03 | Xerox Corporation | System for controlling the distribution and use of digital works having attached usage rights where the usage rights are defined by a usage rights grammar |
US6061448A (en) * | 1997-04-01 | 2000-05-09 | Tumbleweed Communications Corp. | Method and system for dynamic server document encryption |
US6385596B1 (en) * | 1998-02-06 | 2002-05-07 | Liquid Audio, Inc. | Secure online music distribution system |
JP2000196583A (en) * | 1998-12-28 | 2000-07-14 | Mitsubishi Materials Corp | Broadcast communication system |
JP3776619B2 (en) | 1999-03-05 | 2006-05-17 | 株式会社東芝 | Encryption communication terminal, encryption communication center apparatus, encryption communication system, and storage medium |
JP2000349749A (en) | 1999-06-03 | 2000-12-15 | Mitsubishi Electric Corp | Secret key management device and computer readable recording medium |
US6658415B1 (en) * | 2000-04-28 | 2003-12-02 | International Business Machines Corporation | Monitoring and managing user access to content via a universally accessible database |
AUPQ865700A0 (en) * | 2000-07-07 | 2000-08-03 | Toneguzzo Group Pty Limited, The | Content filtering and management |
US6970562B2 (en) * | 2000-12-19 | 2005-11-29 | Tricipher, Inc. | System and method for crypto-key generation and use in cryptosystem |
AU2002332671A1 (en) * | 2001-08-13 | 2003-03-03 | Board Of Trustees Of The Leland Stanford Junior University | Systems and methods for identity-based encryption and related cryptographic techniques |
US6886096B2 (en) * | 2002-11-14 | 2005-04-26 | Voltage Security, Inc. | Identity-based encryption system |
-
2003
- 2003-03-14 US US10/390,058 patent/US7571321B2/en not_active Expired - Fee Related
-
2004
- 2004-03-12 EP EP04775839.6A patent/EP1604484B1/en not_active Expired - Lifetime
- 2004-03-12 WO PCT/US2004/007829 patent/WO2005010732A2/en active Application Filing
- 2004-03-12 JP JP2006532326A patent/JP4659749B2/en not_active Expired - Fee Related
-
2009
- 2009-07-29 US US12/511,811 patent/US8086857B2/en not_active Expired - Fee Related
Non-Patent Citations (1)
Title |
---|
None * |
Also Published As
Publication number | Publication date |
---|---|
US7571321B2 (en) | 2009-08-04 |
WO2005010732A3 (en) | 2005-07-28 |
JP2006528874A (en) | 2006-12-21 |
EP1604484A2 (en) | 2005-12-14 |
JP4659749B2 (en) | 2011-03-30 |
US20090307497A1 (en) | 2009-12-10 |
WO2005010732A2 (en) | 2005-02-03 |
US8086857B2 (en) | 2011-12-27 |
US20040179684A1 (en) | 2004-09-16 |
EP1604484A4 (en) | 2006-08-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1604484B1 (en) | Identity-based-encryption messaging system | |
US7765582B2 (en) | Identity-based-encryption messaging system with public parameter host servers | |
US8108678B1 (en) | Identity-based signcryption system | |
US8627084B1 (en) | Secure messaging systems | |
US7831829B2 (en) | Identity-based encryption system | |
US7370202B2 (en) | Security device for cryptographic communications | |
US7961879B1 (en) | Identity-based-encryption system with hidden public key attributes | |
US7634085B1 (en) | Identity-based-encryption system with partial attribute matching | |
EP1665623B1 (en) | Secure message system with remote decryption service | |
US20050084100A1 (en) | Identity-based-encryption system with district policy information | |
US7685414B1 (en) | Subscription management service for secure messaging system | |
GB2401014A (en) | Identifier based encryption method using an encrypted condition and a trusted party | |
Simmons | Secure communications and asymmetric cryptosystems | |
Gautam et al. | A Survey of the Various Identity-based Encryption Techniques in Wireless Sensor Networks | |
Aneja | AN EMPIRICAL ANALYSIS AND SIMULATION OF A COLLISION AVOIDANCE ALGORITHM FOR SECURE DATA EXCHANGE AND NON REDUNDANT PACKET TRANSMISSION |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
17P | Request for examination filed |
Effective date: 20051012 |
|
AK | Designated contracting states |
Kind code of ref document: A2 Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LI LU MC NL PL PT RO SE SI SK TR |
|
AX | Request for extension of the european patent |
Extension state: AL LT LV MK |
|
DAX | Request for extension of the european patent (deleted) | ||
RIC1 | Information provided on ipc code assigned before grant |
Ipc: H04L 9/30 20060101ALI20060712BHEP Ipc: H04L 9/00 20060101AFI20050808BHEP Ipc: H04L 9/08 20060101ALI20060712BHEP |
|
A4 | Supplementary search report drawn up and despatched |
Effective date: 20060724 |
|
17Q | First examination report despatched |
Effective date: 20100913 |
|
RAP1 | Party data changed (applicant data changed or rights of an application transferred) |
Owner name: VOLTAGE SECURITY, LLC |
|
RAP1 | Party data changed (applicant data changed or rights of an application transferred) |
Owner name: ENTIT SOFTWARE LLC |
|
GRAP | Despatch of communication of intention to grant a patent |
Free format text: ORIGINAL CODE: EPIDOSNIGR1 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: GRANT OF PATENT IS INTENDED |
|
RIN1 | Information on inventor provided before grant (corrected) |
Inventor name: APPENZELLER, GUIDO Inventor name: KACKER, RISHI, R. Inventor name: PAUKER, MATTHEW, J. Inventor name: SPIES, TERENCE |
|
INTG | Intention to grant announced |
Effective date: 20181008 |
|
GRAS | Grant fee paid |
Free format text: ORIGINAL CODE: EPIDOSNIGR3 |
|
RIC1 | Information provided on ipc code assigned before grant |
Ipc: H04L 9/08 20060101ALI20060712BHEP Ipc: H04L 9/30 20060101ALI20060712BHEP Ipc: H04L 9/00 20060101AFI20050808BHEP |
|
GRAA | (expected) grant |
Free format text: ORIGINAL CODE: 0009210 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE PATENT HAS BEEN GRANTED |
|
REG | Reference to a national code |
Ref country code: DE Ref legal event code: R081 Ref document number: 602004053932 Country of ref document: DE Owner name: MICRO FOCUS LLC (N.D.GES.D.STAATES DELAWARE), , US Free format text: FORMER OWNER: VOLTAGE SECURITY, INC., PALO ALTO, CALIF., US |
|
AK | Designated contracting states |
Kind code of ref document: B1 Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LI LU MC NL PL PT RO SE SI SK TR |
|
REG | Reference to a national code |
Ref country code: GB Ref legal event code: FG4D |
|
REG | Reference to a national code |
Ref country code: CH Ref legal event code: EP Ref country code: AT Ref legal event code: REF Ref document number: 1128376 Country of ref document: AT Kind code of ref document: T Effective date: 20190515 |
|
REG | Reference to a national code |
Ref country code: DE Ref legal event code: R096 Ref document number: 602004053932 Country of ref document: DE |
|
REG | Reference to a national code |
Ref country code: IE Ref legal event code: FG4D |
|
REG | Reference to a national code |
Ref country code: NL Ref legal event code: MP Effective date: 20190501 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: PT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20190901 Ref country code: ES Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20190501 Ref country code: SE Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20190501 Ref country code: NL Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20190501 Ref country code: FI Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20190501 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: BG Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20190801 Ref country code: GR Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20190802 |
|
REG | Reference to a national code |
Ref country code: AT Ref legal event code: MK05 Ref document number: 1128376 Country of ref document: AT Kind code of ref document: T Effective date: 20190501 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: SK Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20190501 Ref country code: EE Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20190501 Ref country code: AT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20190501 Ref country code: DK Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20190501 Ref country code: CZ Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20190501 Ref country code: RO Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20190501 |
|
REG | Reference to a national code |
Ref country code: DE Ref legal event code: R097 Ref document number: 602004053932 Country of ref document: DE |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: IT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20190501 |
|
PLBE | No opposition filed within time limit |
Free format text: ORIGINAL CODE: 0009261 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: TR Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20190501 |
|
26N | No opposition filed |
Effective date: 20200204 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: PL Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20190501 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: SI Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20190501 |
|
REG | Reference to a national code |
Ref country code: DE Ref legal event code: R082 Ref document number: 602004053932 Country of ref document: DE Representative=s name: BOEHMERT & BOEHMERT ANWALTSPARTNERSCHAFT MBB -, DE Ref country code: DE Ref legal event code: R081 Ref document number: 602004053932 Country of ref document: DE Owner name: MICRO FOCUS LLC (N.D.GES.D.STAATES DELAWARE), , US Free format text: FORMER OWNER: ENTIT SOFTWARE LLC, SUNNYVALE, CALIF., US |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: MC Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20190501 |
|
REG | Reference to a national code |
Ref country code: CH Ref legal event code: PL |
|
REG | Reference to a national code |
Ref country code: BE Ref legal event code: MM Effective date: 20200331 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: LU Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20200312 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: CH Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20200331 Ref country code: IE Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20200312 Ref country code: LI Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20200331 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: BE Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20200331 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: FR Payment date: 20210218 Year of fee payment: 18 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: DE Payment date: 20210217 Year of fee payment: 18 Ref country code: GB Payment date: 20210219 Year of fee payment: 18 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: CY Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20190501 |
|
REG | Reference to a national code |
Ref country code: DE Ref legal event code: R119 Ref document number: 602004053932 Country of ref document: DE |
|
GBPC | Gb: european patent ceased through non-payment of renewal fee |
Effective date: 20220312 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: GB Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20220312 Ref country code: FR Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20220331 Ref country code: DE Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20221001 |