[0001] This invention relates generally to cryptographic schemes, and more specially to
implicit signature schemes.
BACKGROUND OF THE INVENTION
[0002] Diffie-Hellman key agreement provided the first practical solution to the key distribution
problem, in cryptographic systems. The key agreement protocol allows two parties never
having met in advance or sharing key material to establish a shared secret by exchanging
messages over an open (unsecured) channel. The security rests on the intractability
of computing discrete logarithms or in factoring large integers.
[0003] With the advent of the Internet and such like, the requirement for large-scale distribution
of public keys and public key certificates is becoming increasingly important to enable
systems like Diffie-Hellman key agreement.
[0004] A number of vehicles are known by which public keys may be stored, distributed or
forwarded over unsecured media without danger of undetectable manipulation. These
vehicles include public-key certificates, identity-based systems, and implicit certificates.
The objective of each vehicle is to make one party's public key available to others
such that its authenticity and validity are verifiable.
[0005] A public-key certificate is a data structure consisting of a data part and a signature
part. The data part contains cleartext data including as a minimum, a public key and
a string identifying the party to be associated therewith. The signature part consists
of the digital signature of a certification authority (CA) over the data part, effectively
the encryption of the data with the CA's private key so it may be recovered with his
public key, thereby binding the entities identity to the specified public key. The
CA is a trusted third party whose signature on the certificate vouches for the authenticity
of the public key bound to the subject entity.
[0006] Identity-based systems (ID-based system) resemble ordinary public-key systems, involving
a private transformation and a public transformation, but parties do not have explicit
public keys as before. Instead, the public key is effectively replaced by a party's
publicly available identity information (e.g. name or network address). Any publicly
available information, which uniquely identifies the party and can be undeniably associated
with the party, may serve as identity information. Here a trusted CA is required to
furnish each party with the private key corresponding to their public key.
[0007] An alternate approach to distributing public keys involves implicitly certified public
keys. Here explicit user public keys exist, but they are to be reconstructed by the
recipient rather than transported by explicitly signed public-key certificates as
in certificate based systems. Thus implicitly certified public keys may be used as
an alternative means for distributing public keys (e.g. Diffie-Hellman keys).
[0008] With a conventional certificate, the authenticity of the information must be verified
to ensure that the sender and the sender's public key are bound to one another. With
an implicit certification it is simply necessary to verify the sender's signature
of the message using the implicit certificate. The primary advantage of implicit certificates
is the computationally expense explicit certificate verification is not required as
it is in certification schemes. Further, unconditionally trusted CAs are not required
as they are in ID-based schemes.
[0009] An example of an implicitly certified public key mechanism is known as Gunther's
implicitly-certified public key method. In this method:
- 1. A trusted server T selects an appropriate fixed public prime p and generator α
of Z*p. T selects a random integer t, with 1 ≤ t ≤ p-2 and gcd(t,p-1) =1, as its private
key, and publishes its public key u = αt mod p, along with α, p.
- 2. T assigns to each party A a unique name or identifying string IA and a random integer kA with gcd(kA,p-1) = 1. T then computes PA = αkA mod p. PA is A's key reconstruction public data, allowing other parties to compute (PA)a below.
- 3. Using a suitable hash function h, T solves the following equation for a: H(IA)≡ t.PA + kA a(mod p-1)
- 4. T securely transmits to A the pair (r,s) = (PA,a), which is T's ElGamal signature on IA. (a is A's private key for a Diffie-Hellman key-agreement)
- 5. Any other party can then reconstruct A's Diffie-Hellman public key

entirely from publicly available information (α, IA, u, PA,p) by computing:

[0010] Thus signing an implicit certificate needs one exponentiation operation, but reconstructing
the ID-based implicitly-verifiable public key needs two exponentiations.
[0011] It is known that exponentiation in the group

and its analog scalar multiplication of a point in E(F
q) is computationally intensive. An RSA scheme is extremely slow requiring successive
squaring and multiplication operations. Elliptic curve (EC) cryptosystems are not
only more robust but also more efficient by using doubling and adding operations.
However, despite the resounding efficiency of EC systems over RSA type systems the
computational requirement is still a problem particularly for computing devices having
limited computing power such as "smart cards", pagers and such like.
[0012] Significant improvements have been made in the efficacy of certification protocols
by adopting the protocols set out in Canadian patent application
2,232,936. In this arrangement, an implicitly-certified public key is provided by cooperation
between a certifying authority, CA, and a correspondent A.
[0013] For each correspondent A, the CA selects a unique identity I
A distinguishing the entityA. The CA generates public data γ
A for reconstruction of a public key of correspondent A by mathematically combining
a private key of the trusted party CA and a generator created by the CA with a private
value of the correspondent A. The values are combined in a mathematically secure way
such that the pair (I
A,γ
A) serves as correspondent A's implicit certificate. The CA combines the implicit certificate
information (I
A,γ
A) in accordance with a mathematical function F(γ
A,I
A) to derive an entity information
f. A private key a of the correspondent A is generated from
f and the private value of the correspondent A. The correspondent A's public key may
be reconstructed from the public information, the generator γ
A and the identity I
A relatively efficiently.
[0014] Certificates, implicit certificates, and ID-based systems provide assurance of the
authenticity of public keys. However, it is frequently necessary to verify the status
of the public key to ensure it has not been revoked by the CA.
[0015] Several solutions are known to this revocation problem, the most common bein the
use of certificate revocation lists (CRLs). Each CA maintains a CRL which contains
the serial number of revoked certificates and is signed by the CA using its private
key. When a recipient receives a message that has been secured with a certificate,
the recipient will recover the serial number, and check the CRL.
[0016] Typically, therefore, the correspondent A will sign a message m with a private key,
a, and forward it together with a certificate from the CA that binds the sender A
and the public key
aP. The recipient B checks the certificate and verifies the signature on the message
m.
[0017] The correspondent B will then ask the CA whether the certificate is valid and receives
a message signed by the CA confirming the status of the certificate at a particular
time. The correspondent B will then verify the signature on the CA's message and proceed
accordingly to accept or reject the message sent by correspondent A.
[0018] During this process it is necessary for correspondent A to perform one signature,
for the CA to perform one signature, and for the recipient B to verify three signatures.
CAs may also issue authorization or attributable certificates in addition to public-key
certificates. In this case the certificate issued by the CA to the correspondent A
has a certain expiry or has details such as a credit limit or access rights to certain
programs.
[0019] However with each arrangement, verification of the certificates is necessary as the
information contained in the certificate may change periodically, even within the
life of the certificate.
[0020] Furthermore, a correspondent may wish to be recertified. This is particularly true
if the correspondent has reason to believe that its implicit public key has been compromised.
However, recertification is a costly process that requires the correspondent to regenerate
its private key, securely communicate its private key with the CA, and regenerate
the data for constructing and reconstructing the implicit public key.
[0021] Accordingly, there is a need for a technique that simplifies the verification and
recertification of certificates issued by a certifying authority and it is an object
of the present invention to provide a technique that obviates or mitigates the above
disadvantages.
SUMMARY OF THE INVENTION
[0023] In accordance with a first embodiment of the present invention there is provided
a method of authenticating a transaction over a data communication system between
a first correspondent and a second correspondent through use of a certifying authority,
upon one of said first and second correspondents advising said certifying authority
of said transaction; said method comprising the steps of: (a) said first correspondent
receiving at least one of a set of implicit certificate components generated by said
certifying authority said set of implicit certificate components including transaction
specific information; (b) said first correspondent generating a transaction specific
ephemeral private key using said at least one of said set of implicit certificate
components; (c) said first correspondent signing a message with said transaction specific
ephemeral private key to generate a signature and forwarding said message and said
signature to said second correspondent, whereby said second correspondent can verify
said signature using a transaction specific ephemeral public key generated from selected
ones of said set of implicit certificate components including said transaction specific
information, and said second correspondent can proceed with said transaction upon
verification.
[0024] In accordance with a second embodiment of the present invention there is provided
a method of authenticating a transaction over a data communication system between
a first correspondent and a second correspondent through use of a certifying authority,
upon one of said first and second correspondents advising said certifying authority
of said transaction, said method comprising the steps of: (a) said second correspondent
receiving at least two of a set of implicit certificate components for permitting
recovery of a transaction specific ephemeral public key corresponding to a transaction
specific ephemeral private key to be generated by said first correspondent from selected
ones of said set of implicit certificate components; said set of implicit certificate
components including transaction specific information; (b) said second correspondent
receiving from said first correspondent a signature of a message signed with said
transaction specific ephemeral private key; and (c) said second correspondent attempting
to verify said signature using said transaction specific ephemeral public key and
proceeding with said transaction upon verification.
[0025] In accordance with a third embodiment of the present invention there is provided
a method of authenticating a transaction over a data communication system between
a first correspondent and a second correspondent through use of a certifying authority;
said method comprising the steps of (a) said certifying authority receiving from one
of said first and second correspondents a message advising said certifying authority
of said transaction; (b) said certifying authority computing at least two of a set
of implicit certificate components using a random number and a private key; said set
of implicit certificate components including transaction specific information; (c)
said certifying authority making available to said first correspondent at least one
of said at least two implicit certificate components for permitting said first correspondent
to generate a transaction specific ephemeral private key; and (d) said certifying
authority making available to said second correspondent (14) at least the other of
said at least two implicit certificate components for permitting said second correspondent
to generate a transaction specific ephemeral public key corresponding to said transaction
specific ephemeral private key.
[0026] In accordance with a fourth embodiment of the present invention there is provided
a certificate generated by a certifying authority, the certificate comprising: (a)
a first implicit certificate component to be used by a first correspondent to compute
a transaction specific ephemeral private key; and (b) a second implicit certificate
component to be used by a second correspondent to compute a transaction specific ephemeral
public key corresponding to said transaction specific ephemeral private key; wherein
said first implicit certificate component (s
i) is of the form
si =
r - cH(
Ai,γi) or
si = cH(
Ai ∥γ
i∥
cP) +
r or
si = rH(
Ai ∥γ
i∥
cP) +
c or
si =
rH (
Aiγi)
- c , and said second implicit certificate component (γ
i) is of the form γ
i = kP+
rP , wherein c is a private key of the certifying authority, r is a random number generated
by the certifying authority, H(.) is a secure hash function, A
i is transaction specific information, P is a point on an underlying elliptic curve,
cP is a public key of the certifying authority corresponding to said private key c,
and kP is a public key of the first correspondent.
[0027] In accordance with a further embodiment of the present invention there is provided
a system for performing the method of any one of the first to third embodiments.
[0028] In accordance with a further embodiment of the present invention there is provided
a computer readable medium having stored thereon computer readable instructions for
performing the method of any one of the first to third embodiments.
BRIEF DESCRIPTION OF THE DRAWINGS
[0029] Embodiments of the present invention will now be described by way of example only
with reference to the accompanying drawings in which
Figure 1 is a schematic representation of a data communication system;
Figure 2 is a flow chart illustrating the exchange of information conducted on the system
of figure 1 in a first embodiment;
Figure 3 is a flow chart illustrating the exchange of information conducted on the system
of figure 1 in a second embodiment;
Figure 4 is a flow chart showing a third embodiment of the system of Figure 1;
Figure 5 is a flow chart showing a fourth embodiment of the system of Figure 1;
Figure 6 is a flow chart showing a fifth embodiment of the system of Figure 1.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT
[0030] Referring therefore to figure 1, a data communication system 10 includes a pair of
correspondents A,B, respectively identified as 12, 14, interconnected by a communication
link 16. The correspondent B, 14, is also connected by a communication link 18 to
a certifying authority, CA, indicated at 20. It will be appreciated that the links
16, 18 are typically telephone lines or wireless links allowing the parties to route
messages to intended recipients.
[0031] Each of the correspondents, 12, 14 and certifying authority 20 incorporate cryptographic
units 22 that perform public-key cryptographic functions under the control of cryptographic
software that may be embodied on a data carrier or programmed in an integrated circuit.
Such implementations are well known and need not be described in detail, except to
the extent necessary to appreciate the operation of the exchange of messages. For
the purpose of this description it is assumed that each of the units 22 implement
an elliptic curve public-key cryptosystem (ECC) operating in a field defined over
F(q) but it will be appreciated that other implementations, such as those using

, the multiplicative group of integers modulo a prime may be used.
[0032] The parameters for the ECC are an underlying cubic curve and a defined point P on
the curve of order n. The correspondent A has an identity, ID
A, a short term or ephemeral private key k and a corresponding public key kP. The CA
20 is advised of the public key kP and identity ID
A which conveniently remain the same for all correspondence originating from the correspondent
A.
[0033] To initiate an exchange of a message,
m, for example a transaction record, between correspondents A and B, the message is
sent by correspondent A to correspondent B over the communication channel 16. The
message
m is sent in the clear or in any other manner that may be read by correspondent B.
[0034] The correspondent B advises the certifying authority CA 20 that he has received a
message from correspondent A and may also include some additional information relating
to the nature of the transaction. This may be performed on a dedicated channel or
may be encrypted if the information is considered to be of a sensitive nature. Upon
receiving the information from correspondent B, the CA 20 checks the record of correspondent
A and, if in order, prepares to return to the correspondent B the implicit certificate
components, 24, identified as s
i,γ
i and A
i.
[0035] The component A
i includes the identity of A, i.e. ID
A, typically a unique distinguishing name or identity, for example a name, address
or phone number that is stored by the CA 20 and a time stamp, message or similar transaction
specific information.
[0036] The CA 20 also generates a random integer r and computes a corresponding public key
rP. The value of γ
i is then computed from the relationship that γ
i = kP + rP.
[0037] The value of s
i is then computed. s
i is a signature component computed from one of the number of signing equations having
a complementary public key reconstruction equation. In the embodiment described, the
signing equation is selected as s
i = r - c•H(A
i,γ
i) (mod n) where c is a long term secret key of the CA 20, and H indicates a secure
hash function such as SHA 1 or SHA 2.
[0038] The CA 20 forwards s
i, γ
i, and A
i to correspondent B. Since A
i contains transaction specific information, the implicit signature components γ
i, s
i are also transaction specific. It is preferable, but not necessary, that the CA signs
the signature components forwarded to correspondent B.
[0039] Correspondent B, upon receipt of the communication from the CA 20, forwards the certificate
component s
i to the correspondent A. It is preferable, but not necessary, that correspondent B
signs the certificate component sent to correspondent A. The correspondent A computes
a transaction specific private key a
i from the relationship a
i = k+s
i. The message
m is then signed according to a selected signature scheme that utilizes the computed
private key a
i and the signature is returned to the correspondent B. For example, a Nyberg Rueppel
signature scheme may be implemented between the correspondents A and B. The correspondent
A selects an ephemeral key pair w; W where w is a randomly selected integer and W
is a corresponding point wP.
[0040] The signature on the message m is R, S where
R = Wx +
H(
m) (mod n) and
S =
w-
aiR (mod n) and W
x is the x coordinate of the point wP.
[0041] The correspondent B then recovers the value corresponding to the transaction specific
public key, a
iP, from the values of γ
i and A
i received from the CA 20. For the signing equation exemplified above, the public key
a
iP can be computed from a
iP= γ
i-H(A
i,γ
i)·cP (mod n), where cP is the public key of the CA 20, and checks the signature on
the message m. The verification equation for a Nyberg Rueppel schemes requires the
computation of
sP+
R(
aiP) which is the point W on the curve. The x coordinate of the point is selected and
R-W
x is computed. The result should correspond to H(m), which can be computed and verified
by B. If the signature verifies, the message m is accepted and the transaction completed.
[0042] The implementation described above maintains a relatively small size of certificate
and reduces the work performed by the correspondents A and B. The CA 20 is required
to perform one implicit signature per transaction and correspondent B only requires
one implicit signature verification and two signature verifications per transaction.
Whereas prior proposals would require the CA 20 to return a message to the correspondent
B stating that correspondent A has a valid certificate, this is avoided in the present
embodiment by sending transaction specific implicit certificate components.
[0043] As described above, a common key kP is used for each transaction by correspondent
A but if preferred a different key kP may be used to inhibit tracing of transactions
originating at correspondent A. In this case new values of kP are sent to the CA 20
offline with appropriate levels of security.
[0044] In the above embodiment a specific computation of s
i and the public key reconstruction equation is given. It will be appreciated that
other forms of s
i may be used. For example
si =
rH(
Aiγi) -
c (mod n) could be used with a corresponding change to the public key reconstruction
equation such that
aiP = H(
Aiγi)γ
i =
cP. With this scheme, the correspondents A and B may utilize an ECDSA signature scheme
to exchange the messages, m, in which the signature is R, S with the component S of
the form k
-1(E+RD) where
K is an ephemeral private key,
R is an integer derived from the x coordinate of the point kP,
E is a hash of the message m, and
D is a long term private key.
[0045] In this embodiment, the computed private, a
i, is used for the long term private key D with K and R computed for each communication
in the normal manner. For a ECDSA scheme, the verification is performed by computing
u
1=ES
-1 mod (n) and u
2-RS
-1 mod (n). A value corresponding to R is computed from u
1P+u
2(a
iP) and compared with the received value of R. If they correspond, the signature is
verified, the message is accepted and the transaction completed.
[0046] An alternative arrangement is shown in figure 3, wherein like numerals with a prefix
"1" refer to similar components as those of Figure 1, in which the originator of the
message, correspondent A, communicates directly with the CA 120 who has previously
been provided with the identity ID
A and the public key kP. In this arrangement the correspondent A notifies the CA 120
that a certificate is required. The CA 120 generates a certificate with components
s
i, γ
i, A
i as before. The correspondent A then computes the transaction specific private key
a
i = k + s
i and uses it to sign the message
m. The signed message is forwarded together with the explicit signature components
γ
i and A
i to the correspondent B.
[0047] The correspondent B recovers the public key a
iP from A
i and γ
i and checks the signature on the message m. The transaction specific information in
the component A
i is checked to determine if it is as expected. Verification of the transaction specific
information after it has been recovered is known in the art and depends on the type
of information being verified. If both the signature and the information are verified
then the transaction is accepted.
[0048] Alternately, the CA 120 could send
si to correspondent A and γ
i,
Ai to correspondent B. Correspondent A can then sign message
m using the private key
ds =
a +
si and forward the message and signature to correspondent B.
[0049] The above protocol may also be used to provide implicit attributable certificates
as shown in figure 4, wherein like numerals with a prefix "2" refer to similar components
as those of Figure 1. Initially the values of ID
A and kP are transferred to the CA 220 from correspondent A. A request is then sent
from correspondent A to the CA 220 to gain access to a particular application controlled
by B.
[0050] The CA 220 generates a certificate including A
i, γ
i and s
i with A
i including the ID
A and an indication that the correspondent A can use a particular application and sends
the certificate to A. A value of a
i = k + s
i is generated by the correspondent A and used to sign the message m. The signed message
is forwarded to correspondent B together with γ
i and A
i who recovers the corresponding public key a
iP. The signature is then checked and, if it verifies, access is given to the application.
If the signature does not verify, the request is returned.
[0051] The above implicit attributable certificate is efficient in that it only requires
one signed certificate and by using different public keys per application is hard
to trace to a particular user. Moreover, the identity and the specific attributable
certificate can be incorporated into one certificate rather than the two normally
required.
[0052] Yet an alternate embodiment, similar to that illustrated in figure 3, is shown in
figure 5. The CA 120 has a private key,
c, and a public key, Q
c = cP. In order to acquire a certificate, correspondent A first generates a random
integer,
a. Integer
a is used to compute a value
aP, which is sent to the CA 120 along with correspondent A's identity, ID
A or, alternately, A
i (which may contain ID
A).
[0053] Upon receiving
aP and ID
A from correspondent A, the CA 120 generates a random integer
cA and uses it to calculate correspondent A's certificate, γ
A = aP +
cAP. The CA 120 also calculates a signature component s
A of a suitable form. In the preferred embodiment,
sA = H(
γA ∥
IDA ∥
cP)
c +
cA (mod
n). As an alternative, s
A could be computed from
sA =
H(γ
A ∥
IDA ∥
cP)
cA +
c(mod
n). The certificate, γ
A and s
A are sent to correspondent A. Correspondent A's private key then becomes d = a +
sA, and its public key becomes Q
A = dP. Correspondent A's public key can be derived from the certificate according
to the appropriate public key reconstruction equation, i.e. in the preferred embodiment
QA=
h(
γA ∥
IDA ∥
cP)
Qc + γ
A.
[0054] Therefore, if correspondent A wants to sign a message, m, to send to correspondent
B, correspondent A does so using the private key,
d. Correspondent A then sends the signed message along with the certificate, γ
A, and identification, ID
A. Upon receiving the information sent from correspondent A, correspondent B uses the
certificate and identification along with the CA's public key, Q
c, for deriving correspondent A's public key, Q
A. The message is accepted if the signature is verified using correspondent A's derived
public key, Q
A.
[0055] In the present embodiment, it is possible for the CA to efficiently recertify correspondent
A. The CA generates a random number,
cA and computes c
AP. Using the original value of aP received from correspondent A, the CA generates a
new certificate, γ
A=
cAP+
aP and a new
sA =
H(γ
A ∥
IDA ∥
cP)c+
cA(mod
n). The certificate, γ
A,
and sA are sent to correspondent A. Therefore, correspondent A has a new private key,
d =
a + sA, and a new certificate, γ
A. Therefore, correspondent A's new public key,
QA, can be derived according to
QA =
H(
γA ∥
IDA ∥
cP)
Qc +γ
A·
[0056] Using such a recertification process can recertify correspondent A without requiring
correspondent A to change its private key. However, this scheme requires sufficient
bandwidth to send both
sA and γ
A to correspondent A. Furthermore, for each correspondent (such as correspondent A),
the CA has to perform a point multiplication to obtain the new certificate, γ
A.
[0057] However, it is possible to make a modification to the recertification process as
described above such that it is more efficient and requires less bandwidth. In the
following example illustrated in figure 6, the CA recertifies all correspondents (including
correspondent A). Also, it is assumed that correspondent A has been previously certified,
acquired the certificate, γ
A, from the CA and determined the private key
d =
a + s
A.
[0058] The CA certifies the correspondents at the expiration of a certification period.
For an
ith certification period, the CA generates a random value k¡ and computes the value Q
i = k
iP. For each correspondent such as correspondent A, the CA computes
ri =
H(γ
A ∥
IDA ∥
cP ∥
kiP ∥
i) and then
sAi =
ric +
ki +
cA (mod
n). Again, the CA could use other equations to produce
sAi, for example
sAi = ricA + c +
ki (mod
n) with a corresponding public key reconstruction equation. Since the certificate does
not change, it is only necessary for the CA to send
sAi to correspondent A. The private key for correspondent A becomes
di =
a +
sAi and the certificate remains γ
A. The CA makes Q
i and
i publicly available.
[0059] Therefore, it is possible to reconstruct correspondent A's public key,
diP, by computing
ri, and then calculating
diP =
riQc + γ
A +
Qi. Correspondent A communicates with correspondent B similarly to the situation previously
described. If correspondent A wants to sign a message to send to correspondent B,
correspondent A does so using the private key,
di. Correspondent A then sends the signed message along with the certificate, γ
A, and identification ID
A. Upon receiving the information sent from correspondent A, correspondent B uses the
certificate and identification along with the CA's public keys, Q
c and Q
i, for deriving
ri. The values
ri, Q
c, Q
i, and γ
A are then used for deriving correspondent A's public key. The message is accepted
if the signature is verified using correspondent A's derived public key.
[0060] Thus it can be seen that correspondent A's certificate does not change. Therefore,
the CA is only required to send s
i and
i to correspondent A for recertification, which requires essentially half the bandwidth
of sending s
A and γ
A as in the previous example. Further, although the CA has to calculate
Qi =
kiP for the
ith certification period, the calculation is amortized over all the correspondents.
That is, the CA only has to do one point multiplication for all the correspondents
(for the calculation of
Qi). The CA also has to perform one modular multiplication for each correspondent (while
calculating
sAi). This results in a more efficient process than previously described wherein the
CA has to perform one point multiplication and one modular multiplication for each
correspondent.
[0061] Since the recertification scheme described above is not a costly operation for the
CA, the CA could recertify correspondents more frequently than if traditional schemes
are implemented. Therefore, one application of this recertification scheme is to replace
revocation lists. Instead of providing a list of revoked certificates, the CA recertifies
only those certificates that are still valid and have not been revoked.
[0062] In an alternate embodiment, the certificates as described in the previous embodiments
are embedded into an RSA modulus itself. For an RSA encryption algorithm, correspondent
A is required to provide a public key pair, (
n,
e), where
n is the modulus and
e is the public exponent. The modulus is defined as
n =
pq where
p and
q are large prime numbers. The public exponent is selected as 1 <
e <
φ, where
φ = (
p-1)(
q-1). It has been shown that a portion of the modulus can be set aside to have a predetermined
value without increasing the vulnerability of the key. This method is described in
detail in
U.S. serial no. 08/449,357 filed May 24, 1995, which is hereby incorporated by reference.
[0063] Embedding the certificate into the modulus reduces the bandwidth requirements since
the certificate is included as part of the modulus instead of in addition to it. This
implementation is particularly useful for a CA who signs using RSA and certifies using
ECC. For example, a 2048-bit RSA modulus can easily contain a 160-bit ECC certificate.
1. A method of verifying a transaction over a data communication system between a first
correspondent (12) and a second correspondent (14) through use of a certifying authority
(20), upon one of said first and second correspondents (12,14) advising said certifying
authority (20) of said transaction; said method comprising:
said first correspondent (12) receiving at least one, si, of a set of transaction specific implicit certificate components generated by said
certifying authority (20);
said first correspondent (12) generating a transaction specific ephemeral private
key, ai, using said at least one, si, of said set of transaction specific implicit certificate components; and
said first correspondent (12) signing a message, m, with said transaction specific
ephemeral private key, ai, to generate a signature and forwarding said message, m, and said signature to said
second correspondent (14).
2. The method of claim 1 wherein said second correspondent (14) can proceed with said
transaction upon verification of said signature using a transaction specific ephemeral
public key, aiP, generated from selected ones of said set of transaction specific implicit certificate
components.
3. The method of claim 2 wherein said transaction specific ephemeral private key, ai, is computed by said first correspondent (12) by combining said one transaction specific
implicit certificate component, si, with a private key, k.
4. The method of claim 3 wherein said first correspondent (12) forwards to said certifying
authority (20) a public key, kP, corresponding to said private key, k, to be used
by said certifying authority (20) in generating another, γi, of said set of transaction specific implicit certificate components.
5. The method of claim 4 wherein said another, γi, of said set of transaction specific implicit certificate components can be used
by said second correspondent (14) to compute said transaction specific ephemeral public
key, aiP.
6. The method of claim 5 wherein said at least one, si, of said set of transaction specific implicit certificate components is of the form
si = r - cH(Ai γi ) or si = cH(Ai ∥ γi ∥ cP) + r or si = rH(Ai∥ γi ∥ cP) + c or si = rH(Aiγi) - c , and said another, γi , of said set of transaction specific implicit certificate components is of the form
γi = kP + rP , wherein Ai comprises transaction specific information, c is a private key of the certifying
authority (20), r is a random number generated by the certifying authority (20), H
is a secure hash function, and P is a point on an underlying elliptic curve.
7. The method of claim 6 wherein said transaction specific information includes at least
one of a time of said transaction, a date of said transaction, and a message.
8. A method of verifying a transaction over a data communication system between a first
correspondent (12) and a second correspondent (14) through use of a certifying authority
(20), upon one of said first and second correspondents (12,14) advising said certifying
authority (20) of said transaction, said method comprising:
said second correspondent (14) receiving at least two, γi, Ai, of a set of transaction specific implicit certificate components for permitting
recovery of a transaction specific ephemeral public key, aiP, corresponding to a transaction specific ephemeral private key, ai, to be generated by said first correspondent (12) from selected ones of said set
of transaction specific implicit certificate components;
said second correspondent (14) receiving from said first correspondent a signature
of a message, m, signed with said transaction specific ephemeral private key, ai; and
said second correspondent (14) attempting to verify said signature using said transaction
specific ephemeral public key, aiP, and proceeding with said transaction upon verification.
9. The method of claim 8 wherein said second correspondent (14) computes said transaction
specific ephemeral public key, aiP, by combining said two transaction specific implicit certificate components, γi , Ai, with a public key, Qc, of the certifying authority (20).
10. The method of claim 8 or 9 wherein said second correspondent (14) receives from said
certifying authority (20) another, si, of said set of transaction specific implicit certificate components, and said second
correspondent (14) forwards said another, si, of said set of transaction specific implicit certificate components to said first
correspondent (12) to be used by said first correspondent (12) to compute said transaction
specific ephemeral private key, ai.
11. The method of any one of claims 8 to 10 wherein one, Ai, of said at least two of said set of transaction specific implicit certificate components
comprises transaction specific information, wherein the other, γi , of said at least two of said set of transaction specific implicit certificate components
is of the form γi = kP + rP , wherein kP is a public key of the first correspondent (12), r is a random number
generated by the certifying authority and P is a point on an underlying elliptic curve,
and wherein said second correspondent (14) computes said transaction specific ephemeral
public key, aiP, as either aiP = γi - QcH(Ai, γi) or
ai P = γi + QcH(Ai ∥ γi ∥Qc) or aiP = γiH(Aiγi), wherein H is a secure hash function and Qc is a public key of the certifying authority (20).
12. A method of verifying a transaction over a data communication system between a first
correspondent (12) and a second correspondent (14) through use of a certifying authority
(20), said method comprising:
said certifying authority (20) receiving from one of said first and second correspondents
(12,14) a message advising said certifying authority (20) of said transaction;
said certifying authority (20) computing at least two, γi , si, of a set of transaction specific implicit certificate components using a random
number, r, and a private key, c, of the certifying authority (20);
said certifying authority (20) making available to said first correspondent (12) at
least one, si, of said at least two transaction specific implicit certificate components for permitting
said first correspondent (12) to generate a transaction specific ephemeral private
key, ai; and
said certifying authority (20) making available to said second correspondent (14)
at least the other, γi , of said at least two transaction specific implicit certificate components for permitting
said second correspondent (14) to generate a transaction specific ephemeral public
key, aiP, corresponding to said transaction specific ephemeral private key, ai.
13. The method of claim 12 wherein said one, si, of said at least two transaction specific implicit certificate components is of
the form si = r - cH(Ai , γi ) or si = cH(Ai ∥ γi ∥ cP) + r or si = rH(Ai ∥ γi ∥ cP) + c or si = rH(Ai γi ) - c , and said other, γi ,of said at least two transaction specific implicit certificate components is of
the form γi = kP + rP , wherein H is a secure hash function, P is a point on an underlying elliptic curve,
Ai comprises transaction specific information, and kP is a public key of the first correspondent
(12).
14. The method of claim 13 wherein the certifying authority (20) generates said transaction
specific information and makes said transaction specific information available to
the second correspondent (14) for use in generating said transaction specific ephemeral
public key, aiP..
15. The method of any one of claims 12 to 14 wherein said certifying authority (20) receives
from said second correspondent (14) said message advising said certifying authority
(20) of said transaction, and wherein said certifying authority (20) uses said second
correspondent (14) to forward said at least one, si, of said at least two transaction specific implicit certificate components to said
first correspondent (12).
16. A certificate generated by a certifying authority (20), the certificate comprising:
a first transaction specific implicit certificate component, si, to be used by a first correspondent (12) to compute a transaction specific ephemeral
private key, ai; and
a second transaction specific implicit certificate component, γi to be used by a second correspondent (14) to compute a transaction specific ephemeral
public key, aiP, corresponding to said transaction specific ephemeral private key, ai; wherein said first transaction specific implicit certificate component, si, is of the form si =r-cH(Ai,γi) or si = cH(Ai ∥γi ∥cP) + r or si = rH(Ai ∥ γi ∥ cP) + c or si = rH(Ai γi ) - c, and said second transaction specific implicit certificate component, γi, is of the form γi = kP + rP , wherein c is a private key of the certifying authority (20), r is a random number
generated by the certifying authority (20), H is a secure hash function, Ai comprises transaction specific information, P is a point on an underlying elliptic
curve, cP is a public key of the certifying authority (20) corresponding to said private
key c, and kP is a public key of the first correspondent (12).
17. A device for performing the method of any one of claims 1 to 15.
18. A computer readable medium having stored thereon computer readable instructions for
performing the method of any one of claims 1 to 15.
1. Verfahren zum Verifizieren einer Transaktion über ein Datenkommunikationssystem zwischen
einem ersten Korrespondent (12) und einem zweiten Korrespondent (14) durch Verwendung
einer Zertifizierungsautorität (20), wenn einer der ersten und zweiten Korrespondenten
(12,14) die Zertifizierungsautorität (20) über die Transaktion benachrichtigt, wobei
das Verfahren aufweist:
der erste Korrespondent (12) empfängt zumindest eine, si, eines Satzes von transaktionsspezifischen impliziten Zertifikatskomponenten, die
von der Zertifizierungsautorität (20) erzeugt werden;
der erste Korrespondent (12) erzeugt einen transaktionsspezifischen kurzlebigen privaten
Schlüssel, ai, unter Verwendung der zumindest einen, si,
des Satzes von transaktionsspezifischen impliziten Zertifikatskomponenten;
und
der erste Korrespondent (12) signiert eine Nachricht, m, mit dem transaktionsspezifischen
kurzlebigen privaten Schlüssel, ai, um eine Signatur zu erzeugen, und leitet die Nachricht, m, und die Signatur an den
zweiten Korrespondent (14) weiter.
2. Verfahren gemäß Anspruch 1, wobei der zweite Korrespondent (14) mit der Transaktion
fortfahren kann bei Verifizierung der Signatur unter Verwendung eines transaktionsspezifischen
kurzlebigen öffentlichen Schlüssels, aiP, der aus ausgewählten des Satzes von transaktionsspezifischen impliziten Zertifikatskomponenten
erzeugt wird.
3. Verfahren gemäß Anspruch 2, wobei der transaktionsspezifische kurzlebige private Schlüssel,
ai, durch den ersten Korrespondent (12) berechnet wird durch Kombinieren der einen transaktionsspezifischen
impliziten Zertifikatskomponente, si, mit einem privaten Schlüssel, k.
4. Verfahren gemäß Anspruch 3, wobei der erste Korrespondent (12) an die Zertifizierungsautorität
(20) einen öffentlichen Schlüssel, kP, weiterleitet, der dem privaten Schlüssel, k,
entspricht, der von der Zertifizierungsautorität (20) zu verwenden ist bei einem Erzeugen
einer anderen, γi, des Satzes von transaktionsspezifischen impliziten Zertifikatskomponenten.
5. Verfahren gemäß Anspruch 4, wobei die andere, γi, des Satzes von transaktionsspezifischen impliziten Zertifikatskomponenten von dem
zweiten Korrespondent (14) verwendet werden kann zum Berechnen des transaktionsspezifischen
kurzlebigen öffentlichen Schlüssels, aiP.
6. Verfahren gemäß Anspruch 5, wobei die zumindest eine, si, des Satzes von transaktionsspezifischen impliziten Zertifikatskomponenten die Form
si =r-cH(Ai,γi) oder si = cH(Ai ∥γi ∥ cP) + r oder
si = rH(A, ∥ γi ∥cP)+c oder si = rH(Aiγi) - c hat, und die andere, γi, des Satzes von transaktionsspezifischen impliziten Zertifikatskomponenten die Form
γi = kP + rP hat, wobei Ai eine transaktionsspezifische Information aufweist, c ein privater Schlüssel der Zertifizierungsautorität
(20) ist, r eine Zufallszahl ist, die von der Zertifizierungsautorität (20) erzeugt
wird, H eine sichere Hash-Funktion ist, und P ein Punkt auf einer zugrunde liegenden
elliptischen Kurve ist.
7. Verfahren gemäß Anspruch 6, wobei die transaktionsspezifische Information zumindest
eines aus einer Zeit der Transaktion, einem Datum der Transaktion, und einer Nachricht
umfasst.
8. Verfahren zum Verifizieren einer Transaktion über ein Datenkommunikationssystem zwischen
einem ersten Korrespondent (12) und einem zweiten Korrespondent (14) durch Verwendung
einer Zertifizierungsautorität (20), wenn einer der ersten und zweiten Korrespondenten
(12,14) die Zertifizierungsautorität (20) über die Transaktion benachrichtigen, wobei
das Verfahren aufweist:
der zweite Korrespondent (14) empfängt zumindest zwei, γi, Ai, eines Satzes von transaktionsspezifischen impliziten Zertifikatskomponenten zum
Ermöglichen einer Wiederherstellung eines transaktionsspezifischen kurzlebigen öffentlichen
Schlüssels, aiP, der einem transaktionsspezifischen kurzlebigen privaten Schlüssel, ai, entspricht, der von dem ersten Korrespondent (12) aus ausgewählten des Satzes von
transaktionsspezifischen impliziten Zertifikatskomponenten zu erzeugen ist;
der zweite Korrespondent (14) empfängt von dem ersten Korrespondent eine Signatur
einer Nachricht, m, signiert mit dem transaktionsspezifischen kurzlebigen privaten
Schlüssel, ai; und
der zweite Korrespondent (14) versucht, die Signatur zu verifizieren unter Verwendung
des transaktionsspezifischen kurzlebigen öffentlichen Schlüssels, aiP, und fährt mit der Transaktion nach der Verifizierung fort.
9. Verfahren gemäß Anspruch 8, wobei der zweite Korrespondent (14) den transaktionsspezifischen
kurzlebigen öffentlichen Schlüssel, aiP, berechnet durch Kombinieren der zwei transaktionsspezifischen impliziten Zertifikatskomponenten,
γi, Ai, mit einem öffentlichen Schlüssel, Qc, der Zertifizierungsautorität (20).
10. Verfahren gemäß Anspruch 8 oder 9, wobei der zweite Korrespondent (14) von der Zertifizierungsautorität
(20) eine weitere, si, des Satzes von transaktionsspezifischen impliziten Zertifikatskomponenten empfängt
und der zweite Korrespondent (14) die weitere, si, des Satzes von transaktionsspezifischen impliziten Zertifikatskomponenten an den
ersten Korrespondent (12) weiterleitet zur Verwendung durch den ersten Korrespondent
(12) zum Berechnen des transaktionsspezifischen kurzlebigen privaten Schlüssels, ai.
11. Verfahren gemäß einem der Ansprüche 8 bis 10, wobei eine, Ai, der zumindest zwei des Satzes von transaktionsspezifischen impliziten Zertifikatskomponenten
eine transaktionsspezifische Information aufweist, wobei die andere, γi, der zumindest zwei des Satzes von transaktionsspezifischen impliziten Zertifikatskomponenten
die Form γi = kP + rP hat, wobei kP ein öffentlicher Schlüssel des ersten Korrespondents (12) ist, r eine
Zufallszahl ist, die durch die Zertifizierungsautorität erzeugt wird, und P ein Punkt
auf einer zugrunde liegenden elliptischen Kurve ist, und wobei der zweite Korrespondent
(14) den transaktionsspezifischen kurzlebigen öffentlichen Schlüssel, aiP, entwederals aiP = γi -QcH(Ai,γi) oder aiP = γi + QcH(Ai ∥γi ∥Qc) oder aiP = γi(Aiγi) berechnet, wobei H eine sichere Hash-Funktion ist und Qc ein öffentlicher Schlüssel der Zertifizierungsautorität (20) ist.
12. Verfahren zum Verifizieren einer Transaktion über ein Datenkommunikationssystem zwischen
einem ersten Korrespondent (12) und einem zweiten Korrespondent (14) durch Verwendung
einer Zertifizierungsautorität (20), wobei das Verfahren aufweist:
die Zertifizierungsautorität (20) empfängt von einem der ersten und zweiten Korrespondenten
(12, 14) eine Nachricht, die die Zertifizierungsautorität (20) über die Transaktion
benachrichtigt;
die Zertifizierungsautorität (20) berechnet zumindest zwei, γi, si, aus einem Satz von transaktionsspezifischen impliziten Zertifikatskomponenten unter
Verwendung einer Zufallszahl, r, und eines privaten Schlüssels, c, der Zertifizierungsautorität
(20);
die Zertifizierungsautorität (20) stellt für den ersten Korrespondent (12) zumindest
eine, si, der zumindest zwei transaktionsspezifischen impliziten Zertifikatskomponenten zur
Verfügung, um dem ersten Korrespondent (12) zu ermöglichen, einen transaktionsspezifischen
kurzlebigen privaten Schlüssel, ai, zu erzeugen; und
die Zertifizierungsautorität (20) stellt für den zweiten Korrespondent (14) zumindest
die andere, γi, der zumindest zwei transaktionsspezifischen impliziten Zertifikatskomponenten zur
Verfügung, um dem zweiten Korrespondent (14) zu ermöglichen, einen transaktionsspezifischen
kurzlebigen öffentlichen Schlüssel, aiP, zu erzeugen, der dem transaktionsspezifischen kurzlebigen privaten Schlüssel, ai, entspricht.
13. Verfahren gemäß Anspruch 12, wobei die eine, si, der zumindest zwei transaktionsspezifischen impliziten Zertifikatskomponenten die
Form si = r - cH(Ai,γi) oder si = cH(Ai ∥γi ∥ cP) + r oder
si = rH(Ai ∥ γi ∥ cP) + c oder si = rH(Aiγi) - c hat, und die andere, γi, der zumindest zwei transaktionsspezifischen impliziten Zertifikatskomponenten die
Form γi = kP + rP hat, wobei H eine sichere Hash-Funktion, P ein Punkt auf einer zugrundeliegenden
elliptischen Kurve ist, Ai eine transaktionsspezifische Information aufweist und kP ein öffentlicher Schlüssel
des ersten Korrespondents (12) ist.
14. Verfahren gemäß Anspruch 13, wobei die Zertifizierungsautorität (20) die transaktionsspezifische
Information erzeugt und die transaktionsspezifische Information für den zweiten Korrespondent
(14) zur Verfügung stellt zur Verwendung bei einem Erzeugen des transaktionsspezifischen
kurzlebigen öffentlichen Schlüssels, aiP.
15. Verfahren gemäß einem der Ansprüche 12 bis 14, wobei die Zertifizierungsautorität
(20) von dem zweiten Korrespondent (14) die Nachricht empfängt, die die Zertifizierungsautorität
(20) über die Transaktion benachrichtigt, und wobei die Zertifizierungsautorität (20)
den zweiten Korrespondent (14) verwendet, um die zumindest eine, si, der zumindest zwei transaktionsspezifischen impliziten Zertifikatskomponenten an
den ersten Korrespondent (12) weiterzuleiten.
16. Zertifikat, das von einer Zertifizierungsautorität (20) erzeugt wird, wobei das Zertifikat
aufweist:
eine erste transaktionsspezifische implizite Zertifikatskomponente, si, zur Verwendung durch einen ersten Korrespondent (12), um einen transaktionsspezifischen
kurzlebigen privaten Schlüssel, ai, zu berechnen;
und
eine zweite transaktionsspezifische implizite Zertifikatskomponente, γi, zur Verwendung durch einen zweiten Korrespondent (14), um einen transaktionsspezifischen
kurzlebigen öffentlichen Schlüssel, aiP, zu berechnen, der dem transaktionsspezifischen kurzlebigen privaten Schlüssel, ai, entspricht; wobei die erste transaktionsspezifische implizite Zertifikatskomponente,
si, die Form si = r - cH(Ai, γi) oder
si = cH(Ai ∥γi ∥ cP) + r oder si = rH(Ai ∥ γi ∥ cP) + c oder si = rH(Aiγi) - c hat, und die zweite transaktionsspezifische implizite Zertifikatskomponente, γi, die Form γi = kP + rP hat, wobei c ein privater Schlüssel der Zertifizierungsautorität (20) ist, r eine
Zufallszahl ist, die von der Zertifizierungsautorität (20) erzeugt wird, H eine sichere
Hash-Funktion ist, Ai transaktionsspezifische Information aufweist, P ein Punkt auf einer zugrunde liegenden
elliptischen Kurve ist, cP ein öffentlicher Schlüssel der Zertifizierungsautorität
(20) ist, der dem privaten Schlüssel c entspricht, und
kP ein öffentlicher Schlüssel des ersten Korrespondents (12) ist.
17. Vorrichtung zur Durchführung des Verfahrens gemäß einem der Ansprüche 1 bis 15.
18. Computerlesbares Medium, auf dem computerlesbare Anweisungen zur Durchführung des
Verfahrens gemäß einem der Ansprüche 1 bis 15 gespeichert sind.
1. Procédé de vérification d'une transaction sur un système de communication de données
entre un premier correspondant (12) et un deuxième correspondant (14) à travers l'utilisation
d'une autorité de certification (20), sur l'un desdits premier et deuxième correspondants
(12, 14) avertissant ladite autorité de certification (20) de ladite transaction ;
ledit procédé comprenant le fait :
de recevoir, par le biais dudit premier correspondant (12), au moins un composant,
si, d'un ensemble de composants de certificat implicite spécifiques à la transaction
générés par ladite autorité de certification (20) ;
de générer, par le biais dudit premier correspondant (12) une clé privée éphémère
spécifique à la transaction, ai, en utilisant ledit au moins un composant, si, dudit ensemble de composants de certificat implicite spécifiques à la transaction
; et
de signer par le biais dudit premier correspondant (12) un message, m, avec ladite
clé privée éphémère spécifique à la transaction, ai, afin de générer une signature et de transmettre ledit message, m, et ladite signature
audit deuxième correspondant (14).
2. Procédé de la revendication 1 dans lequel ledit deuxième correspondant (14) peut procéder
à ladite transaction après vérification de ladite signature en utilisant une clé publique
éphémère spécifique à la transaction, aiP, générée à partir des ensembles sélectionnés dudit ensemble de composants de certificat
implicite spécifiques à la transaction.
3. Procédé de la revendication 2 dans lequel ladite clé privée éphémère spécifique à
la transaction, ai, est calculée par ledit premier correspondant (12) en combinant ledit composant de
certificat implicite spécifique à la transaction, si, avec une clé privée, k.
4. Procédé de la revendication 3 dans lequel ledit premier correspondant (12) transmet
à ladite autorité de certification (20) une clé publique, kP, correspondant à ladite
clé privée, k, destinée à être utilisée par ladite autorité de certification (20),
dans la génération d'un autre composant, γi, dudit ensemble de composants de certificat implicite spécifiques à la transaction.
5. Procédé de la revendication 4 dans lequel ledit autre composant, γi, dudit ensemble de composants de certificat implicite spécifiques à la transaction
peut être utilisé par ledit deuxième correspondant (14) pour calculer ladite clé publique
éphémère spécifique à la transaction, aiP.
6. Procédé de la revendication 5 dans lequel ledit au moins un composant, si, dudit ensemble de composants de certificat implicite spécifiques à la transaction
est sous la forme si = r - cH(Ai, γi) ou si = cH (Ai ∥γi ∥cP) + r ou si = rH(Ai ∥γi ∥cP) + c ou si = rH(Aiγi) - c, et ledit autre composant, γi, dudit ensemble de composants de certificat implicite spécifiques à la transaction
est sous la forme, γi = kP + rP, où Ai comprend des informations spécifiques à la transaction, c est une clé privée de l'autorité
de certification (20), r est un nombre aléatoire généré par l'autorité de certification
(20), H est une fonction de hachage sécurisée, et P est un point sur une courbe elliptique
sous-jacente.
7. Procédé de la revendication 6 dans lequel lesdites informations spécifiques à la transaction
comportent au moins un paramètre parmi l'heure de ladite transaction, la date de ladite
transaction, et un message.
8. Procédé de vérification d'une transaction sur un système de communication de données
entre un premier correspondant (12) et un deuxième correspondant (14) à travers l'utilisation
d'une autorité de certification (20), sur l'un desdits premier et deuxième correspondants
(12, 14) avertissant ladite autorité de certification (20) de ladite transaction,
ledit procédé comprenant le fiait :
de recevoir, par le biais dudit deuxième correspondant (14) au moins deux composants,
γi, Ai, d'un ensemble de composants de certificat implicite spécifiques à la transaction
pour permettre la récupération d'une clé publique éphémère spécifique à la transaction,
aiP, correspondant à une clé privée éphémère spécifique à la transaction, ai, à être générée par ledit premier correspondant (12) à partir des composants sélectionnés
dudit ensemble de composants de certificat implicite spécifiques à la transaction
;
de recevoir, par le biais dudit deuxième correspondant (14), à partir dudit premier
correspondant une signature d'un message, m, signé avec ladite clé privée éphémère
spécifique à la transaction, ai ; et
de tenter de vérifier, par le biais dudit deuxième correspondant (14), ladite signature
en utilisant ladite clé publique éphémère spécifique à la transaction, aiP, et de procéder à la transaction en cas de vérification.
9. Procédé de la revendication 8 dans lequel ledit deuxième correspondant (14) calcule
la clé publique éphémère spécifique à la transaction, aiP, en combinant lesdits deux composants de certificat implicite spécifiques à la transaction,
γi, Ai, avec une clé publique, Qc, de l'autorité de certification (20).
10. Procédé de la revendication 8 ou 9 dans lequel ledit deuxième correspondant (14) reçoit
de ladite autorité de certification (20) un autre composant, si, dudit ensemble de composants de certificat implicite spécifiques à la transaction,
et ledit deuxième correspondant (14) transmet audit premier correspondant (12) ledit
autre composant , si, dudit ensemble de composants de certificat implicite spécifiques à la transaction
à être utilisé par ledit premier correspondant (12) pour calculer ladite clé privée
éphémère spécifique à la transaction, ai.
11. Procédé de l'une quelconque des revendications 8 à 10 dans lequel un composant, Ai, desdits au moins deux composants dudit ensemble de composants de certificat implicite
spécifiques à la transaction comprend des informations spécifiques à la transaction,
où l'autre composant, γi, desdits au moins deux composants de l'ensemble de composants de certificat implicite
spécifiques à la transaction est sous la forme γi = kP + rP, où kP est une clé publique du premier correspondant (12), r est un nombre aléatoire
généré par l'autorité de certification et P est un point sur une courbe elliptique
sous-jacente, et où ledit deuxième correspondant (14) calcule la clé publique éphémère
spécifique à la transaction, aiP, soit par aiP = γi - QcH(Ai,γi) ou aiP = γi + QcH(Ai ∥ γi ∥ Qc) ou aiP = γiH(Aiγi), où H est une fonction de hachage sécurisée et Qc est une clé publique de l'autorité de certification (20).
12. Procédé de vérification d'une transaction sur un système de communication de données
entre un premier correspondant (12) et un deuxième correspondant (14) à travers l'utilisation
d'une autorité de certification (20), ledit procédé comprenant le fait :
de recevoir, par le biais de ladite autorité de certification (20), à partir de l'un
desdits premier et deuxième correspondants (12, 14) un message avertissant ladite
autorité de certification (20) de ladite transaction ;
de calculer, par le biais de ladite autorité de certification (20) au moins deux composants,
γi, si d'un ensemble de composants de certificat implicite spécifiques à la transaction
en utilisant un nombre aléatoire, r, et une clé privée, c, de l'autorité de certification
(20) ;
de rendre disponible audit premier correspondant (12), par le biais de ladite autorité
de certification (20), au moins un composant, si, desdits au moins deux composants de certificat implicite spécifiques à la transaction
permettant audit premier correspondant (12) de générer une clé privée éphémère spécifique
à la transaction, ai ; et
de rendre disponible audit deuxième correspondant (14), par le biais de ladite autorité
de certification (20), au moins l'autre composant, γi, desdits au moins deux composants de certificat implicite spécifiques à la transaction
permettant audit deuxième correspondant (14) de générer une clé publique éphémère
spécifique à la transaction, aiP, correspondant à ladite clé privée éphémère spécifique à la transaction, ai.
13. Procédé de la revendication 12 dans lequel ledit un composant, si, desdits au moins deux composants de certificat implicite spécifiques à la transaction
est sous la forme si = r - cH(Ai, γi) ou si =cH(Ai ∥γi ∥cP) + r ou si = rH(Ai ∥γi ∥ cP) + c ou si = rH(Aiγi) - c, et ledit autre composant, γi, desdits au moins deux composants de certificat implicite spécifiques à la transaction
est sous la forme γi = kP + rP, où H est une fonction de hachage sécurisée, P est un point sur une courbe elliptique
sous-jacente, Ai comprend des informations spécifiques à la transaction, et kP est une clé publique
du premier correspondant (12).
14. Procédé de la revendication 13 dans lequel l'autorité de certification (20) génère
lesdites informations spécifiques à la transaction et rend lesdites informations spécifiques
à la transaction disponibles au deuxième correspondant (14) pour les utiliser dans
la génération de ladite clé publique éphémère spécifique à la transaction, aiP.
15. Procédé de l'une quelconque des revendications 12 à 14 dans lequel ladite autorité
de certification (20) reçoit dudit deuxième correspondant (14) ledit message avertissant
ladite autorité de certification (20) de ladite transaction, et dans lequel ladite
autorité de certification (20) utilise ledit deuxième correspondant (14) pour transmettre
ledit au moins un composant, si, desdits au moins deux composants de certificat implicite spécifiques à la transaction
audit premier correspondant (12).
16. Certificat généré par une autorité de certification (20), le certificat comprenant
:
un premier composant de certificat implicite spécifique à la transaction, si, destiné à être utilisé par un premier correspondant (12) pour calculer une clé privée
éphémère spécifique à la transaction, ai ; et
un deuxième composant de certificat implicite spécifique à la transaction, γi, destiné à être utilisé par un deuxième correspondant (14) pour calculer une clé
publique éphémère spécifique à la transaction, aiP, correspondant à ladite clé privée éphémère spécifique à la transaction, ai ; où ledit premier composant de certificat implicite spécifique à la transaction,
si, est sous la forme si = r - cH(Ai,γi) ou si = cH(Ai ∥γi ∥ cP) + r ou si = rH(Ai∥γi∥cP) + c ou si = rH(Aiγi)-c, et ledit deuxième composant de certificat implicite spécifique à la transaction,
γi, est sous la forme γi = kP + rP, où c est une clé privée de l'autorité de certification (20), r est un nombre aléatoire
généré par l'autorité de certification (20), H est une fonction de hachage sécurisée,
Ai comprend des informations spécifiques à la transaction, P est un point sur une courbe
elliptique sous-jacente, cP est une clé publique de l'autorité de certification (20)
correspondant à ladite clé privée c, et kP est une clé publique du premier correspondant
(12).
17. Dispositif pour mettre en oeuvre le procédé de l'une quelconque des revendications
1 à 15.
18. Support lisible par ordinateur sur lequel sont stockées des instructions lisibles
par ordinateur permettant de mettre en oeuvre le procédé de l'une quelconque des revendications
1 à 15.