IP Library Granted Patent US 9,003,181
Granted Patent B2
US 9,003,181 · App. 13/070,178 · Granted Apr 7, 2015

Incorporating data into cryptographic components of an ECQV certificate

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,003,181
App. No.
13/070,178
Granted
Apr 7, 2015
Kind
B2
Abstract

During generation of an implicit certificate for a requestor, a certificate authority incorporates information in the public-key reconstruction data, where the public-key reconstruction data is to be used to compute the public key of the requestor. The information may be related to one or more of the requestor, the certificate authority, and the implicit certificate. The certificate authority reversibly encodes the public-key reconstruction data in the implicit certificate and sends it to the requestor. After receiving the implicit certificate from the certificate authority, the requestor can extract the incorporated information from the public-key reconstruction data. The implicit certificate can be made available to a recipient, and the recipient can also extract the incorporated information.

Claims (119)

1. A method to be performed by a certificate authority as part of an implicit certificate scheme, the method comprising:

receiving a certificate request from a requestor, the certificate request comprising a public value [Q A ] of the requestor;

selecting particular information [V A ] from a finite set;

performing an iterative process of generating a point [B A ] on an elliptic curve and applying a known function [F] to the point [B A ], wherein the iterative process is repeated until applying the known function [F] to the point [B A ] results in the particular information [V A ];

encoding an implicit certificate [IC A ] using the point [B A ] as public-key reconstruction data [B A ]; and

calculating an implicit signature [s] that corresponds to the implicit certificate [IC A ],

wherein the iterative process comprises:

generating a private value [d CA ] of the certificate authority;

multiplying the private value [d CA ] of the certificate authority by a base point [G] to obtain a public value [Q CA ] of the certificate authority;

calculating the public-key reconstruction data [B A ] as a sum of the public value [Q A ] of the requestor and the public value [Q CA ] of the certificate authority; and

determining whether applying the known function [F] to the public-key reconstruction data [B A ] results in the particular information [V A ],

wherein the public value [Q A ] of the requestor, the base point [G], and the public value [Q CA ] of the certificate authority are on the elliptic curve.

2. The method as claimed in claim 1 , further comprising:

sending the implicit certificate [IC A ] and the implicit signature [s] to the requestor for use in calculating a reconstructed private key [k A ] which forms a key pair with a public key [K A ] that can be reconstructed from the public-key reconstruction data [B A ].

3. The method as claimed in claim 1 , further comprising:

making the implicit certificate [IC A ] available to a recipient for use in calculating a public key [K A ] from the public-key reconstruction data [B A ].

4. The method as claimed in claim 1 , wherein the particular information [V A ] is related to one or more of the requestor, the implicit certificate [IC A ], and a public key [K A ] that can be reconstructed from the public-key reconstruction data [B A ].

5. The method as claimed in claim 1 , wherein the particular information [V A ] comprises a validity period of the implicit certificate [IC A ] or a validity date of the implicit certificate [IC A ] or both.

6. The method as claimed in claim 1 , wherein in the event that applying the known function [F] to the public-key reconstruction data [B A ] does not result in the particular information [V A ], the iterative process further comprises:

generating a new private value [new d CA ] of the certificate authority;

multiplying the new private value [new d CA ] of the certificate authority by the base point [G] to obtain a new public value [new Q CA ] of the certificate authority;

calculating new public-key reconstruction data [new B A ] as a sum of the public value [Q A ] of the requestor and the new public value [new Q CA ] of the certificate authority; and

determining whether applying the known function [F] to the new public-key reconstruction data [new B A ] results in the particular information [V A ],

wherein the new public value [new Q CA ] of the certificate authority and the new public-key reconstruction data [new B A ] are on the elliptic curve.

7. The method as claimed in claim 1 , wherein in the event that applying the known function [F] to the public-key reconstruction data [B A ] does not result in the particular information [V A ], the iterative process further comprises:

calculating an incremented private value [d CA +c] of the certificate authority as a sum of the private value [d CA ] of the certificate authority and a constant integer [c];

calculating incremented public-key reconstruction data [B A +cG] as a sum of the public-key reconstruction data [B A ] and a product of the constant integer [c] and the base point [G], wherein the incremented public-key reconstruction data [B A +cG] is on the elliptic curve; and

determining whether applying the known function [F] to the incremented public-key reconstruction data [B A +cG] results in the particular information [V A ].

8. A method to be performed by a requestor as part of an implicit certificate scheme, the method comprising:

sending a certificate request to a certificate authority;

receiving from the certificate authority an implicit certificate [IC A ] from which public-key reconstruction data [B A ] is recoverable, wherein the public-key reconstruction data [B A ] is on an elliptic curve and can be used to calculate a reconstructed public key [K A ];

receiving from the certificate authority an implicit signature [s] that corresponds to the implicit certificate [IC A ];

recovering the public-key reconstruction data [B A ] from the implicit certificate [IC A ]; and

extracting information [V A ] from the public-key reconstruction data [B A ] by applying a known function [F] to the public-key reconstruction data [B A ], the known function [F] having been agreed upon by the requestor and by the certificate authority for use by the certificate authority in incorporating the information [V A ] into the public-key reconstruction data [B A ].

9. The method as claimed in claim 8 , wherein the extracted information [V A ] is related to one or more of the requestor, the reconstructed public key [K A ], and the implicit certificate [IC A ].

10. The method as claimed in claim 8 , wherein the extracted information [V A ] comprises a validity period of the implicit certificate [IC A ] or a validity date of the implicit certificate [IC A ] or both.

11. The method as claimed in claim 8 , further comprising:

generating a private value [d A ] of the requestor; and

calculating a public value [Q A ] of the requestor as a product of the private value [d A ] of the requestor and a base point [G] on the elliptic curve,

wherein the public value [Q A ] of the requestor is on the elliptic curve, and

wherein sending the certificate request comprises sending the public value [Q A ] of the requestor.

12. The method as claimed in claim 8 , the method further comprising:

checking whether the extracted information [V A ] complies with certificate policy management rules accessible by the requestor.

13. The method as claimed in claim 11 , the method further comprising:

calculating the reconstructed public key [K A ] from the implicit certificate [IC A ] and from a public key of the CA [K CA ], and

calculating a reconstructed private key [k A ] from the implicit certificate [IC A ], from the implicit signature [s], and from the private value [d A ] of the requestor,

wherein the reconstructed private key [k A ] forms a key pair with the reconstructed public key [K A ].

14. A method to be performed by a recipient as part of an implicit certificate scheme, the method comprising:

receiving an implicit certificate [IC A ];

recovering public-key reconstruction data [B A ] from the implicit certificate [IC A ], wherein the public-key reconstruction data [B A ] is on an elliptic curve and can be used to calculate a reconstructed public key [K A ]; and

extracting information [V A ] from the public-key reconstruction data [B A ] by applying a known function [F] to the public-key reconstruction data [B A ], the known function [F] having been agreed upon by the recipient and by the certificate authority for use by the certificate authority in incorporating the information [V A ] into the public-key reconstruction data [B A ].

15. The method as claimed in claim 14 , wherein the extracted information [V A ] is related to one or more of the implicit certificate [IC A ], a requestor of the implicit certificate [IC A ], and the reconstructed public key [K A ].

16. The method as claimed in claim 14 , wherein the extracted information [V A ] comprises a validity period of the implicit certificate [IC A ] or a validity date of the implicit certificate [IC A ] or both.

17. The method as claimed in claim 14 , the method further comprising:

calculating the reconstructed public key [K A ] from the implicit certificate [IC A ] and from a public key of a certificate authority [K CA ]; and

implicitly authenticating the reconstructed public key [K A ] by using the reconstructed public key [K A ] during communication with a requestor of the implicit certificate [IC A ].

18. The method as claimed in claim 14 , the method further comprising:

checking whether the extracted information [V A ] complies with certificate policy management rules accessible by the recipient.

19. A certificate authority device for use in an implicit certificate scheme, the device comprising:

a processor;

a communication interface able to receive a certificate request from a requestor device, the certificate request comprising a public value [Q A ] of the requestor device; and

a memory storing code which, when executed by the processor, results in:

selecting particular information [V A ] from a finite set;

performing an iterative process of generating a point [B A ] on an elliptic curve and applying a known function [F] to the point [B A ], wherein the iterative process is repeated until applying the known function [F] to the point [B A ] results in the particular information [V A ];

encoding an implicit certificate [IC A ] using the point [B A ] as public-key reconstruction data [B A ]; and

calculating an implicit signature [s] that corresponds to the implicit certificate [IC A ],

wherein the iterative process comprises:

generating a private value [d CA ] of the certificate authority device;

multiplying the private value [d CA ] of the certificate authority device by a base point [G] to obtain a public value [Q CA ] of the certificate authority device;

calculating the public-key reconstruction data [B A ] as a sum of the public value [Q A ] of the requestor device and the public value [Q CA ] of the certificate authority device; and

determining whether applying the known function [F] to the public-key reconstruction data [B A ] results in the particular information [V A ],

wherein the public value [Q A ] of the requestor device, the base point [G], and the public value [Q CA ] of the certificate authority device are on the elliptic curve.

20. The certificate authority device as claimed in claim 19 , wherein the code, when executed by the processor, further results in:

sending the implicit certificate [IC A ] and the implicit signature [s] to the requestor device via the communication interface so that the requestor device is able to calculate from the implicit certificate [IC A ] and from the implicit signature [s] a reconstructed private key [k A ] which forms a key pair with a public key [K A ] that can be reconstructed from the public-key reconstruction data [B A ].

21. The certificate authority device as claimed in claim 19 , wherein the code, when executed by the processor, further results in:

making the implicit certificate [IC A ] available to a recipient device for use in calculating a public key [K A ] from the public-key reconstruction data [B A ].

22. The certificate authority device as claimed in claim 19 , wherein the particular information [V A ] is related to one or more of the requestor device, the implicit certificate [IC A ], and a public key [K A ] that can be reconstructed from public-key reconstruction data [B A ].

23. The certificate authority device as claimed in claim 19 , wherein the particular information [V A ] comprises a validity period of the implicit certificate [IC A ] or a validity date of the implicit certificate [IC A ] or both.

24. The certificate authority device as claimed in claim 19 , wherein in the event that applying the known function [F] to the public-key reconstruction data [B A ] does not result in the particular information [V A ], the iterative process further comprises:

generating a new private value [new d CA ] of the certificate authority device;

multiplying the new private value [new d CA ] of the certificate authority device by the base point [G] to obtain a new public value [new Q CA ] of the certificate authority device;

calculating new public-key reconstruction data [new B A ] as a sum of the public value [Q A ] of the requestor device and the new public value [new Q CA ] of the certificate authority device; and

determining whether applying the known function [F] to the new public-key reconstruction data [new B A ] results in the particular information [V A ],

wherein the new public value [new Q CA ] of the certificate authority device and the new public-key reconstruction data [new B A ] are on the elliptic curve.

25. The certificate authority device as claimed in claim 19 , wherein in the event that applying the known function [F] to the public-key reconstruction data [B A ] does not result in the particular information [V A ], the iterative process further comprises:

calculating an incremented private value [d CA +c] of the certificate authority device as a sum of the private value [d CA ] of the certificate authority device and a constant integer [c];

calculating incremented public-key reconstruction data [B A +cG] as a sum of the public-key reconstruction data [B A ] and a product of the constant integer [c] and the base point [G], wherein the incremented public-key reconstruction data [B A +cG] is on the elliptic curve; and

determining whether applying the known function [F] to the incremented public-key reconstruction data [B A +cG] results in the particular information [V A ].

26. A system for use in an implicit certificate generation scheme, the system comprising:

a requestor device to generate a certificate request, the certificate request comprising a public value [Q A ] of the requestor device; and

a certificate authority device to receive the certificate request from the requestor, to select particular information [V A ] from a finite set, and, in response to receiving the certificate request, to perform an iterative process of generating a point [B A ] on an elliptic curve and applying a known function [F] to the point [B A ], wherein the iterative process is repeated until applying the known function [F] to the point [B A ] results in the particular information [V A ], to encode an implicit certificate [IC A ] using the point [B A ] as public-key reconstruction data, to calculate an implicit signature [s] that corresponds to the implicit certificate [IC A ], and to send the implicit certificate [IC A ] and the implicit signature [s] to the requestor device,

wherein the iterative process comprises:

generating a private value [d CA ] of the certificate authority device;

multiplying the private value [d CA ] of the certificate authority device by a base point [G] to obtain a public value [Q CA ] of the certificate authority device;

calculating the public-key reconstruction data [B A ] as a sum of the public value [Q A ] of the requestor device and the public value [Q CA ] of the certificate authority device; and

determining whether applying the known function [F] to the public-key reconstruction data [B A ] results in the particular information [V A ],

wherein the public value [Q A ] of the requestor device, the base point [G], and the public value [Q CA ] of the certificate authority device are on the elliptic curve.

27. The system as claimed in claim 26 , wherein the requestor device, in response to receiving implicit certificate [IC A ] and the implicit signature [s] from the CA device, is to recover the public-key reconstruction data [B A ] from the implicit certificate [IC A ] and is to extract the information [V A ] from the public-key reconstruction data [B A ] by applying the known function [F] to the public-key reconstruction data [B A ].

28. The system as claimed in claim 26 , wherein the particular information [V A ] is related to one or more of the requestor device, the implicit certificate [IC A ], and a public key [K A ] that can be reconstructed from public-key reconstruction data [B A ].

29. The system as claimed in claim 26 , wherein the particular information [V A ] comprises a validity period of the implicit certificate [IC A ] or a validity date of the implicit certificate [IC A ] or both.

30. A non-transitory computer readable medium storing code which, when executed by a processor of a certificate authority device, results in:

selecting particular information [V A ] from a finite set;

performing an iterative process of generating a point [B A ] on an elliptic curve and applying a known function [F] to the point [B A ], wherein the iterative process is repeated until applying the known function [F] to the point [B A ] results in the particular information [V A ];

encoding an implicit certificate [IC A ] using the point [B A ] as public-key reconstruction data [B A ]; and

calculating an implicit signature [s] that corresponds to the implicit certificate [IC A ],

wherein the iterative process comprises:

generating a private value [d CA ] of the certificate authority device;

multiplying the private value [d CA ] of the certificate authority device by a base point [G] to obtain a public value [Q CA ] of the certificate authority device;

calculating the public-key data [B A ] as a sum of a public value [Q A ] of a requestor device and the public value [Q CA ] of the certificate authority device, the public value [Q A ] of the requestor device having been received by the certificate authority device in a certificate request from the requestor device; and

determining whether applying the known function [F] to the public-key reconstruction data [B A ] results in the particular information [V A ],

wherein the public value [Q A ] of the requestor device, the base point [G], and the public value [Q CA ] of the certificate authority device are on the elliptic curve.

31. A non-transitory computer readable medium storing code which, when executed by a processor of a requestor device that has sent a certificate request to a certificate authority device, results in:

responsive to receiving from the certificate authority device an implicit certificate [IC A ] from which public-key reconstruction data [B A ] is recoverable, and an implicit signature [s] that corresponds to the implicit certificate [IC A ], wherein the public-key reconstruction data [B A ] is on an elliptic curve and can be used to calculate a reconstructed public key [K A ]:

recovering the public-key reconstruction data [B A ] from the implicit certificate [IC A ]; and

extracting information [V A ] from the public-key reconstruction data [B A ] by applying a known function [F] to the public-key reconstruction data [B A ], the known function [F] having been agreed upon by the requestor device and by the certificate authority device for use by the certificate authority device in incorporating the information [V A ] into the public-key reconstruction data [B A ].

32. A non-transitory computer readable medium storing code which, when executed by a processor of a recipient device, results in:

responsive to receiving an implicit certificate [IC A ]:

recovering public-key reconstruction data [B A ] from the implicit certificate [IC A ], wherein the public-key reconstruction data [B A ] is on an elliptic curve and can be used to calculate a reconstructed public key [K A ]; and

extracting information [V A ] from the public-key reconstruction data [B A ] by applying a known function [F] to the public-key reconstruction data [B A ], the known function [F] having been agreed upon by the recipient device and by a certificate authority device for use by the certificate authority device in incorporating the information [V A ] into the public-key reconstruction data [B A ].

Assignments (12)
CORRECTIVE ASSIGNMENT TO CORRECT THE ADDED PATENT NUMBER TO REMOVE PATENT NO. 8,873,407 AT PREVIOUSLY RECORDED ON REEL 64066 FRAME 1. ASSIGNOR(S) HEREBY CONFIRMS THE NUNC PRO TUNC ASSIGNMENT EFFECTIVE DATE MARCH 20, 2023. Recorded Feb 2, 2026
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 074921/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT 12817157 APPLICATION NUMBER PREVIOUSLY RECORDED AT REEL: 064015 FRAME: 0001. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Sep 5, 2023
From: OT PATENT ESCROW, LLC
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064807/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE COVER SHEET AT PAGE 50 TO REMOVE 12817157 PREVIOUSLY RECORDED ON REEL 063471 FRAME 0474. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Sep 5, 2023
From: BLACKBERRY LIMITED
To: OT PATENT ESCROW, LLC
Reel/Frame 064806/0669 →
NUNC PRO TUNC ASSIGNMENT Recorded Jun 19, 2023
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064066/0001 →
NUNC PRO TUNC ASSIGNMENT Recorded Jun 16, 2023
From: OT PATENT ESCROW, LLC
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064015/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 27, 2023
From: BLACKBERRY LIMITED
To: OT PATENT ESCROW, LLC
Reel/Frame 063471/0474 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 2, 2019
From: CERTICOM CORP.
To: BLACKBERRY LIMITED
Reel/Frame 050610/0937 →
CHANGE OF NAME Recorded Nov 3, 2014
From: RESEARCH IN MOTION LIMITED
To: BLACKBERRY LIMITED
Reel/Frame 034143/0567 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 21, 2012
From: CERTICOM (U.S.) LIMITED
To: CERTICOM CORP.
Reel/Frame 027905/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 6, 2011
From: LITTLE, HERBERT ANTHONY
To: RESEARCH IN MOTION LIMITED
Reel/Frame 026397/0308 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 6, 2011
From: CAMPAGNA, MATTHEW JOHN
To: CERTICOM (U.S.) LIMITED
Reel/Frame 026396/0480 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 6, 2011
From: VANSTONE, SCOTT ALEXANDER; BROWN, DANIEL RICHARD L.
To: CERTICOM CORP.
Reel/Frame 026396/0436 →