Language selection

Search

Patent 2374195 Summary

Third-party information liability

Some of the information on this Web page has been provided by external sources. The Government of Canada is not responsible for the accuracy, reliability or currency of the information supplied by external sources. Users wishing to rely upon this information should consult directly with the source of the information. Content provided by external sources is not subject to official languages, privacy and accessibility requirements.

Claims and Abstract availability

Any discrepancies in the text and image of the Claims and Abstract are due to differing posting times. Text of the Claims and Abstract are posted:

  • At the time the application is open to public inspection;
  • At the time of issue of the patent (grant).
(12) Patent: (11) CA 2374195
(54) English Title: SYSTEM AND METHOD OF LOOKING UP AND VALIDATING A DIGITAL CERTIFICATE IN ONE PASS
(54) French Title: SYSTEME ET METHODE D'EXAMEN ET DE VALIDATION D'UN CERTIFICAT NUMERIQUE EN UN SEUL PASSAGE
Status: Expired
Bibliographic Data
(51) International Patent Classification (IPC):
  • H04L 9/32 (2006.01)
(72) Inventors :
  • WILDISH, MICHAEL ANDREW (Canada)
  • ANSELL, STEVEN M. (Canada)
  • CRERAR, MICHAEL CAMERON (Canada)
(73) Owners :
  • IMS SOFTWARE SERVICES, LTD. (United States of America)
(71) Applicants :
  • DIVERSINET CORP. (Canada)
(74) Agent: MCMILLAN LLP
(74) Associate agent:
(45) Issued: 2010-08-10
(22) Filed Date: 2002-03-01
(41) Open to Public Inspection: 2003-09-01
Examination requested: 2005-12-08
Availability of licence: N/A
(25) Language of filing: English

Patent Cooperation Treaty (PCT): No

(30) Application Priority Data: None

Abstracts

English Abstract

A system and method for a certificate verifier to make a request to a certificate distribution server for a copy of another entity's digital certificate and to have the certificate distribution center validate it. The certificate distribution center can request the appropriate certificates and validation thereof from a number of certificate authorities or may alternatively obtain copies from a certificate cache and validate the copies against a revocation list server.


French Abstract

Système et méthode pour permettre à un vérificateur de certificats de demander à un serveur de distribution de certificats une copie du certificat numérique d'une autre entité et de la faire valider par le centre de distribution de certificats. Le centre de distribution de certificats peut demander les certificats appropriés ainsi que leur validation à des autorités de certification, ou encore obtenir des copies à partir d'une mémoire cache de certificats et les valider en les comparant à des listes de révocation sur serveurs.

Claims

Note: Claims are shown in the official language in which they were submitted.



WE CLAIM:

1. A system for accessing and validating a digital certificate, comprising:
a first set of certificate authorities connected to a communication network
and
able to receive and respond to requests for certificates;
said first set of certificate authorities having a set of hierarchical trust
relationships among them, said set of hierarchical trust relationships being
verified by a set of digital certificates;
a certificate holder having a digital certificate issued by one of said first
set of
certificate authorities;
a certificate verifier connected to said communication network and having a
trust
relationship with a second set of certificate authorities; and
a certificate distribution center connected to said communication network and
operable to receive a request from said certificate verifier for a validated
copy of
said digital certificate, obtain said digital certificate from said one of
said first set
of certificate authorities, obtain a subset of digital certificates of said
set of digital
certificates necessary to validate said digital certificate, and return to
said
certificate verifier a validated copy of said digital certificate,
wherein said certificate distribution server determines said subset of digital
certificates of said set of digital certificates based on said second set of
certificate
authorities.
2. The system for accessing and validating a digital certificate of claim 1,
wherein
said certificate distribution center is operable to indicate to said
certificate verifier
that said digital certificate has a status chosen from the group consisting of
invalid, revoked, expired or non-existent.



14


3. The system for accessing and validating a digital certificate of claim 1,
additionally comprising:
at least one revocation list server having a list of digital certificates that
have been
revoked; and
a certificate cache,
wherein said certificate distribution center additionally obtains from said
certificate cache a cached copy of one of said digital certificate and said
set of
digital certificates and verifies with said at least one revocation server the
validity
thereof prior to contacting said set of certificate authorities.
4. The system for accessing and validating a digital certificate of claim 3,
wherein
said certificate cache resides at said certificate distribution center.
5. The system for accessing and validating a digital certificate of claim 3,
wherein
said certificate cache serves a plurality of certificate verifiers.
6. The system for accessing and validating a digital certificate of claim 3,
wherein
said certificate distribution center deposits a subset of said digital
certificate and
said subset of digital certificates obtained from said first set of
certificate
authorities in said certificate cache.
7. The system for accessing and validating a digital certificate of claim 3,
wherein
said request from said certificate verifier indicates a desired level of
confidence
for said digital certificate's validity.



15


8. The system for accessing and validating a digital certificate of claim 3,
wherein
said request from said certificate verifier directs said certificate
distribution center
to ignore said certificate cache.
9. The system for accessing and validating a digital certificate of claim 1,
wherein
said reply to said certificate verifier additionally comprises a formatted
first
certificate chain summary.
10. The system for accessing and validating a digital certificate of claim 1,
wherein
said reply to said certificate verifier additionally comprises each of said
subset of
said set of digital certificates obtained from said first set of certificate
authorities.
11. The system for accessing and validating a digital certificate of claim 1,
wherein
said certificate distribution center additionally constructs and returns a
second
certificate chain, based on said second set of certificate authorities, to
said
certificate verifier permitting said certificate verifier to validate said
digital
certificate of said certificate distribution center.
12. The system for accessing and validating a digital certificate of claim 1,
wherein
said certificate distribution center has prior knowledge of said second set of
certificate authorities trusted by said certificate verifier.
13. The system for accessing and validating a digital certificate of claim 1,
wherein
said request from said certificate verifier includes a requested certificate
identifier
from which each of said first set of certificate authorities in parent
relationship to
said certificate holder can be identified.



16


14. A method of validating and serving a digital certificate, comprising the
steps of:
(a) receiving a first request from a certificate verifier for a digital
certificate;
(b) sending a second request to a first certificate authority having issued
said
digital certificate requested by said certificate verifier;
(c) receiving said digital certificate from said first certificate authority;
(d) if said first certificate authority is not trusted by said certificate
verifier;
(i) requesting an additional digital certificate from a subsequent
parent certificate authority;
(ii) receiving said additional digital certificate from said subsequent
parent certificate authority;
(iii) validating a previous digital certificate with said additional digital
certificate; and
(iv) in the event that said subsequent parent certificate authority is not
trusted by said certificate verifier, repeating steps (i) to (iii) as
necessary;
and
(e) returning said digital certificate to said certificate verifier.
15. The method of validating and serving a digital certificate of claim 14,
wherein
steps (c) and (d)(ii) alternatively comprises receiving an indication that
said
digital certificate or said additional digital certificate is invalid, step
(d)(iv)
additionally comprises a condition that said previous digital certificate is



17


validated and said additional digital certificate exists and was not revoked,
and
step (e) alternatively comprise returning a notification that said digital
certificate
is invalid.
16. The method of validating and serving a digital certificate of claim 14,
additionally
comprising the step of obtaining said digital certificate or said additional
digital
certificate from a certificate cache and validating said digital certificate
or said
additional digital certificate using a revocation list in place of obtaining
said
digital certificate or said additional digital certificate from said first or
subsequent
parent certificate authorities, in the event that said digital certificate or
said
additional digital certificate is available from said certificate cache.
17. The method of validating and serving a digital certificate of claim 16,
additionally
comprising the step of placing at least one of said digital certificate and
said
additional digital certificates in said certificate cache once received from
said first
or subsequent parent certificate authority.
18. The method of validating and serving a digital certificate of claim 16,
wherein
step (a) additionally comprises receiving a desired level of confidence from
said
certificate verifier, and the step of validating said digital certificate and
said
additional digital certificates reflects said desired level of confidence.
19. The method of validating and serving a digital certificate of claim 16,
wherein
step (a) additionally comprises receiving from said certificate verifier a
direction
to ignore said certificate cache.
20. The method of validating and serving a digital certificate of claim 14,
wherein
step (e) additionally comprises constructing a first certificate chain from
said



18


digital certificate and said additional digital certificates, if any, and
returning said
first certificate chain, along with said digital certificate, to said
certificate verifier.
21. The method of validating and serving a digital certificate of claim 20,
wherein
step (e) additionally comprises formatting said first certificate chain and
said
digital certificate prior to returning said first certificate chain to said
certificate
verifier.
22. The method of validating and serving a digital certificate of claim 14,
additionally
comprising the step of;
(f) following step (d), constructing a second certificate chain, based on said
second set of certificate authorities, to said certificate verifier permitting
said certificate verifier to validate said certificate distribution center,
and
returning said second certificate chain to said certificate verifier.
23. The method of validating and serving a digital certificate of claim 22,
additionally
comprising the step of formatting said second certificate chain prior to
returning
said second certificate chain to said certificate verifier.
24. The method of validating and serving a digital certificate of claim 14,
wherein
said first request in step (a) identifies said first certificate authority and
each of
said subsequent parent certificate authorities, and step (d)(i) is performed
prior to
receiving said digital certificate from said first certificate authority in
step (c).



19

Description

Note: Descriptions are shown in the official language in which they were submitted.


CA 02374195 2002-03-O1
SYSTEM AND METHOD OF LOOKING UP AND
VALIDATING A DIGITAL CERTIFICATE IN ONE
PASS
FIELD OF THE INVENTION
[00001] This invention relates to the field of digital certificates. More
specifically, it
is directed to an improved scheme for validating digital certificates.
BACKGROUND OF THE INVENTION
[00002] In asymmetric encryption technology, each user generates a pair of
keys
known as a public key and a private key. The public key is widely disseminated
and used by
others to encrypt communications intended for the owner of the public key.
Once the
message has been encrypted with the public key, it can only be decrypted with
the
corresponding private key. This is the basis of public key encryption.
[00003] The problem with this technology is that the sender needs to have a
way of
guaranteeing that the public key used for encryption does indeed belong to the
recipient.
Otherwise, the sender could unintentionally encrypt a message that could only
be decrypted
by some mischievous third party. A method was therefore needed for users to be
able to
have a high degree of assurance that the owner of a public key was indeed the
intended
recipient.
[00004] Digital certificates were invented to solve this problem. A recognized
2 0 certificate authority issues a certificate binding the public key of a
subscriber to his real
world identity. The certificate is digitally signed by the recognized issuing
authority. A
message is digitally signed in effect by encrypting it with a private key. The
message can
then only be decrypted with the corresponding public key, and provided the
user has a high
t

CA 02374195 2002-03-O1
degree of trust in the certifying authority, he will then have assurance that
the public key
contained in the certificate does indeed belong to the user to whom it is
bound.
[00005] Digital certificates generally follow the X.509 standard, developed by
the
International Standards Organization (ISO) and the Comity Consultatif
Internationale
Telegraphique et Telephonique (CCIT'I~. These certificates create a binding
between an
entity's public key and its identity. Obtaining authentic copies of public key
certificates is
critical in deploying secure public key systems. Often a digital certificate
is stored in a
publicly accessible repository such as an LDAP or X.500 directory.
[00006) In practice, implementers of certificate revocation lists have
discovered that
they are di~cult to manage because they can become very large and not usable
by some
certificate verifiers such as smartcards or mobile phones. Further, since
these lists are issued
only periodically,'there is a time gap between when a certificate is revoked
by its issuer and
when it appears on a publicly available list of revoked certificates. Methods
such as the
online certificate status protocol have been developed as a means to make
requests to
validation services to determine whether a particular certificate is cun:ently
valid, however,
this requires that a certificate verifier make at least two requests, one to
obtain a copy of the
certificate and another to obtain the current validity status of the
certificate. Further requests
may be required to obtain all certificates needed to construct a certificate
chain that can be
validated up to a tn>sted root held by the verifier. In many applications, in
particular those
2 0 where the verifier is a mobile phone, smartcard or other client devices
that are relatively
constrained with respect to storage capacity, Processing power and
coaununication
bandwidth, the current solutions are not practical.
[00007] It will be apparent finm the foregoing that prior certificate issuance
and
validation systems and methods are generally designed to allow a user to
obtain a validated
2 5 digital certificate, but are slow and cumbersome to the user under various
circumstances.
2

CA 02374195 2002-03-O1
SUMMARY OF THE INVENTION
[00008) It is an object of the present invention to provide a system for
accessing and
validating a digital certificate, comprising a first set of certificate
authorities connected to a
communication network and able to receive and respond to requests for
certificates; the first
set of certificate authorities having a set of hierarchical trust relationship
among them, the
set of hierarchical trust relationships being verified by a set of digital
certificates; a certificate
holder having a digital certificate issued by one of the first set of
certificate authorities; a
certificate verifier connected to the communication network and having a mist
relationship
with a second set of certificate authorities; and a certificate distribution
cetrter connected to
the communication network and operable to receive a request finm the
certificate verifier for
a validated copy of the digital certificate, obtain the digital certificate
fi~om said one of the
first set of certificate authorities, obtain a subset of digital certificates
of the set of digital
certificates necessary to validate the digital certificate, and return to the
certificate verifier a
validated copy of the digital certificate, wherein the certificate
distribution server determines
the subset of digital certificates of the set of digital certificates based on
the second set of
certificate authorities.
[00009] Preferably, the certificate distribution center is operable to
indicate to the
certificate verifier that the digital certificate has a status of invalid,
revoked, expired or non-
existent.
2 0 [00010] Also preferably, there is at least one revocation list server
having a list of
digital certificates that have been revoked; and a certificate cache, wherein
the certificate
distribution center additionally obtains from the certificate cache a cached
copy of one of the
digital certificate and the set of digital certificates and verifies with the
at least one
revocation server the validity thereof prior to contacting the set of
certificate authorities.
2 5 [00011 ] The certificate cache preferably resides at the certificate
distribution center
and serves a plurality of certificate verifiers.
3

CA 02374195 2002-03-O1
[00012] Also preferably, the certificate distribution center deposits a subset
of the
digital certificate and the subset of digital certificates obtained from the
first set of certificate
authorities in the certificate cache.
[00013] The request finm the certificate verifier can indicate a desired level
of
confidence for the digital certificate's validity or can directs the
certificate distribution center
to ignore the certificate cache.
[00014] Preferably, the reply to the certificate verifier additionally
comprises a
formatted first certificate chain summary.
[00015] Also preferably, the certificate distribution center additionally
constructs and
returns a second certificate chain, based on the second set of certificate
authorities, to the
certificate verifier permitting the certificate verifier to validate the
digital certificate of the
certificate distribution center.
[00016] The certificate distribution center preferably has prior knowledge of
the
second set of certificate authorities trusted by the certificate verifier.
[00017] In addition, the request finm the certificate verifier includes a
requested
certificate identifier fibm which each of the first set of certificate
authorities in parent
relationship to the certificate holder can be identified.
[00018] In another aspect of the invention, there is provided a method of
validating
and serving a digital certificate, comprising the steps of receiving a first
request from a
2 0 certificate verifier for a digital certificate; sending a second request
to a first certificate
authority having issued the digital certificate requested by the certificate
verifier; receiving
the digital certificate from the first certificate authority; if the first
certificate authority is not
twisted by the certificate verifier, requesting an additional digital
certificate from a
subsequent parent certificate authority, receiving the additional digital
certificate from the
2 5 subsequent parent certificate authority, validating a previous digital
certificate with the
additional digital certificate, and, in the event that said subsequent parent
certificate authority
4

CA 02374195 2002-03-O1
is not trusted by the certificate verifier, repeating these steps; and
rettuning the digital
certificate to the certificate verifier.
[00019] Preferably, the step of receiving the digital certificate or
additional digital
certificate from the certificate authority can alternatively comprise
receiving an indication
that the digital certificate or the additional digital certificate is invalid,
the steps of obtaining
additional digital certificates are repeated also conditionally on the
validity of the previous
digital certificate and the existence of the additional digital certificate
and its unrevoked
status, and the step of returning the digital certificate to the certificate
verifier can
alternatively comprise returning a notification that the digital certificate
is invalid.
[00020] Also preferably, the method additionally comprises the step of
obtaining the
digital certificate or the additional digital certificate from a certificate
cache and validating
the digital certificate or the additional digital certificate using a
revocation list in place of
obtaining the digital certificate or the additional digital certificate from
the first or
subsequent parent certificate authorities, in the event that the digital
certificate or the
additional digital certificate is available from the certificate cache.
[00021] Further, the method preferably additionally comprises the step of
placing at
least one of the digital certificate and the additional digital certificates
in the certificate cache
once received from the first or subsequent parent certificate authority.
[00022] The step of receiving a first request from a certificate verifier can
additionally
2 0 comprise receiving a desired level of confidence from the certificate
verifier, and the step of
validating the digital certificate and the additional digital certificates
reflects the desired level
of confidence.
[00023] Alternatively, the step of receiving a first request from a
certificate verifier
comprises receiving from the certificate verifier a direction to ignore the
certificate cache.
2 5 [00024] Further, the step of returning the digital certificate to the
certificate verifier
preferably additionally comprises constmcting a first certificate chain from
the digital
s

CA 02374195 2002-03-O1
certificate and the additional digital certificates, if any, and returning the
first certificate
chain, along with the digital certificate, to the certificate verifier.
[00025] Preferably, the step of returning the certificate chain comprises
formatting the
first certificate chain and the digital certificate prior to returning the
first certificate chain to
the certificate verifier.
[00026] The steps of obtaining additional digital certificates are preferably
followed
by the step of constructing a second certificate chain, based on the second
set of certificate
authorities, to the certificate verifier permitting the certificate verifier
to validate the
certificate distribution cecrter, and returning the second certificate chain
to the certificate
verifier.
[00027] Preferably, the step of constructing a second certificate chain
additionally
comprises the step of formatting the second certificate chain prior to
returning the second
certificate chain to the certificate verifier.
[00028] Also preferably, the step of receiving a first request from a
certificate verifier
for a digital certificate additionally includes the step of identifying the
first certificate
authority and each of the subsequent parent certificate authorities solely
from the
information presented in the first request, and the steps of obtaining the
additional digital
certificates is performed prior to receiving the digital certificate from the
first certificate
authority.
2 0 BRIEF DESCRI>fTION OF TIIE DRAWINGS
[00029] The present invention will now be described, by way of example only,
with
reference to certain embodiments shown in the attached Figures in which:
[00030] FIG. 1 is a block diagram of the prior art method of authenticating
the public
key of an entity;
6

CA 02374195 2002-03-O1
[00031] FIG. 2 is a block diagram of the method in an embodirrient in the
present
invention for authenticating the public key of an entity;
[00032] FIG. 3 is a block diagram of the request data structure sent by the
certificate
verifier to a certificate distribution center in a present embodiment of the
invention;
[00033] FIG. 4 is a block diagram of the response data st<ucttue sent by the
certificate
distribution cert~er to the certificate verifier in a present embodiment of
the invention; and
[00034] FIG. 5 is a flow chart of an embodiment of the method of looking up
and
validating a digital signat<ue in one pass.
DETAILED DESCRIPTION OF THE INVENTION
[00035] The general method of certificate authentication as taught under the
aforementioned standards is shown in FIG. 1. In order to obtain a validated
certificate, a
verifier may be required to make numerous requests to various authorities and
verify the
authenticity of each certificate received individually.
[00036] Referring now to FIGS. 2 to 5, the system and method of looking up and
validating a digital certificate in one pass in accordance with a first
embodiment of the
present invention is indicated generally at 20. A certificate verifier 24 is
provisioned with at
least one certificate of a trusted root certificate authority and means to
locate and contact a
certificate distribution center (CDC) 28. Certificate verifier 24 may be a
desktop or server
computer that has a pernianent connection or establishes a temporary
connection to a
2 0 communication network, such as the Internet. Certificate verifier 24 may
know the physical
address of CDC 28 or may know its virtual address that will resolve to CDC 28
by means of
a resolution system, such as DNS.
[00037] When certificate verifier 24 needs to obtain a copy of a public key
contained
in a certificate, and wants assurances that the certificate is currently
valid, in order to verify a

CA 02374195 2002-03-O1
digital signature of or encrypt a message to a certificate holder 32, it
transmits a certificate
request 36 to CDC 28.
[00038] Certificate request 36 contains a requested certificate identifier 40
that
provides sufficient information for CDC 28 to retrieve the certificate for
certificate holder 32
from the appropriate CA. Requested certificate identifier 40 may be
information that
directly or indirectly identifies certificate holder 32.
[00039] Certificate request 36 can also contain tn,LSted certificate
information 44,
indicating trust relationships with at least one CA. Trusted certificate
information 44 defines
the gap in trust that CDC 28 must try to bridge with a chain of certificates.
Trusted
certificate information 44 can be a list of the CAs for which tn~sted
certificates are held, a
reference to a list of CAs known or available to CDC 28, or any other
information allowing
CDC 28 to detenTiirte what CAs are tn~ by certificate verifier 24.
[00040] Additionally, validated certificate request 36 can optionally contain
a CDC
credentials request field 48 that allows certificate verifier 24 to demand a
copy of the
certificate of CDC 28 and, additionally, any certificates required to
construct a chain to a CA
trusted by certificate verifier 24.
[00041] Further, a set of ayptogcaphic security information 52 can be included
in
validated certificate request 36 to prevent a replay attack such as a time
code or a nonce.
[00042] CDC 28 receives validated certificate request 36 and parses it. The
initial
2 0 task of CDC 28 is to use cryptographic security information 52 to verify
whether the request
was tampered with.
[00043] Once verified, CDC 28 commences acquiring and validating the
appropriate
certificates. The greatest resources used in constructing a response are in
looking up the
certificate chain of certificate holder 32 and validity thereof. CDC 28 may
need to lookup
2 5 these certificates in public directories such as LDAP or X.500
directories. CDC 28 looks up
the certificate of certificate holder 32, the certificates of the CA that
issued the certificate of
8

CA 02374195 2002-03-O1
certificate holder 32 and the certificates of the subsequent parent CAs that
demonstrate the
hierarchical twist relationships, up to the certificate issued by the CA
trusted by certificate
verifier 24. If the CAs tntsted by certificate verifier 24 are not a direct or
indirect parent of
the CA that issued the certificate to certificate holder 32, then CDC 28 can
continue to look
up certificates until that of the root CA has been obtained.
[00044] CDC 28 can maintain a certificate cache 56 to cache certificates
retrieved in
response to certificate requests 36. In this case, CDC 28 preferably serves
multiple
certificate verifiers. Alternatively, certificate cache 56 may be eactaztally
located.
[00045] For each certificate required, CDC 28 checks to see if a cached copy
exists in
certificate cache 56. If it does, CA checks with a revocation list server 60
maintaining a last
of revoked certificates that is updated periodically. Revocation list server
60 can be located
at CDC 28, such'as a process on the same computer making the request or on a
separate
computer cooperatively comprising CDC 28, or can alternatively be located
externally.
Alternatively, Cl7C 28 checks with the CA that issued the certificate to
confirm the validity
1 S of the certificate.
[00046] If C1JC 28 does not have access to a cached copy of a required
certificate,
CDC 28 contacts the CA that issued the certificate for a copy, if available.
[0004'7] CIaC 28 can thus conswct a chain of certificates fibm certificate
holder 32 to
a CA trusted by certificate verifier 24, or to a root CA if no CA in the
hierarchy is misted by
2 0 certificate verifier 24.
[00048] Where CDC credentials request field 48 is employed and certificate
verifier
24 has requested such credentials, CDC 28 can construct a chain of
certificates from CDC 28
to a CA muted by certificate verifier 24, or to a root CA if no CA in the
hierarchy is trusted
by certificate verifier 24.
9

CA 02374195 2002-03-O1
[00049] CDC 28 then forms and transmits a certificate response 64 to
certificate
verifier 24. Certificate response 64 can include a cryptographic hash of the
original request
for proposes of verifying secure receipt of certificate request 36 of
certificate verifier 24.
[00050] If C17C 28 was able to find a valid certificate matching the requested
parameters, it can include in certificate response 64 the certificate and
certificate chain
information up to, but not including, the certificate of a trusted certificate
authority specified
in the request 36, or the root CA where no CA trusted by certificate verifier
24 was in the
chain. Alternatively, CDC 28 can provide a confirmation of the credentials of
certificate
holder 32 in some other format, such as a Boolean response.
[00051 ] If no certificate matches the requested parameters or if the
requested
certificate is revoked, has expired or is invalid because of an incomplete
certificate chain to a
tnrsted certificate authority, CDC 28 sends a response indicating that no such
valid
certificate was found.
[00052] Where certificate verifier 24 requests the credentials of CI7C 28, CDC
28 can
provide its certificate and certificate chain information up to, but not
including, the certificate
of a trusted root specified in the request.
[00053] If certificate verifier does not have a frosted root that is in a
chain containing
the requested certificate or a chain containing the certificate distribution
center's certificate,
CDC 28 may include this tn~sted root but the response may be less meaningful
to the
2 0 certificate verifier.
[00054] The time at which CDC 28 determined the validity of the requested
certificate can be optionally included in the response.
[00055] Finally, CIx 28 includes its digital signature on the response
covering the
entire contents of the response.
2 5 [00056] CDC 28 sends signed certificate response 64 to certificate
verifier 24.
1o

CA 02374195 2002-03-O1
[00057] Certificate verifier 24 uses the public key of CDC 28 to verify the
signatm~e
on certificate response 64. This key is obtained either from certificate
response 64 itself or
by some other method Certificate verifier 24, if it does not trust this key
directly, also
verifies the certificate chain containing this certificate, and resultantly
this key, up to a
tn~sted certificate. Certificate verifier 24 also verifies that the identity
in the certificate
returned in certificate response 64 containing the public key of CDC 28
matches the identity
of CDC 28.
[00058] Certificate verifier 24 also verifies that the cryptographic hash 52
of
certificate request 64 it sent to CDC 28 matches the cryptographic hash 68 in
the response.
This prevents replay attacks and prevents an adversary finm changing the
information in the
original request
[00059] Once certificate verifier 24 has determined that certificate response
64 is
authentic and is a response to the request it made, it can proceed to extract
the requested
certificate and certificate chain information with the confidence that each
certificate in the
chain is currently valid and not revoked.
[00060] While the foregoing description refers to a system whereby the
response
includes the certificate chain and validation thereof, it is contemplated that
CDC 28 returns a
response indicating that the certificate chain has been validated, but does
not include the
certificate chain itself.
2 0 [00061 ] Other variations are within the scope of the invention.
[00062] For example, CDC 28 can have a certificate issued by a CA trusted
directly
or indirectly by certificate verifier 24; for example, the CA whose root
certificate is held by
certificate verifier 24. This enables certificate verifier 24 to trust Cl7C
28.
[00063] Further, the certificate of CDC 28 can indicate that CDC 28 is
permitted to
2 5 act in its capacity.
11

CA 02374195 2002-03-O1
[00064] CDC 28 can maintain state information about which certificate
authorities are
trusted by certificate verifier 24.
[00065] Certificate verifier 24 can specify a desired level of confidence to
be satisfied
in determining the validity of a requested digital certificate. For example,
certificate verifier
may specify that a certificate obtained from a source other than the issuing
certificate
authority only need have been validated within the last month; that is, if the
certificate was
placed in the cache in the last month or was determined not to have been on a
revocation list
in the last month, then the certificate can be retied on. Further, certificate
verifier 24 can
specify for CDC 28 to obtain fresh copies of certificates from the appropriate
issuing
certificate authorities.
[00066] Requested certificate identifier 40 can disclose not only the name and
location of the digital certificate of certificate holder 32, but may also
specify those of each
subsequent parent certificate authority including the root certificate
authority, such as by
using the method of pseudonyms for identifying certificate chains, as
disclosed, in co-
pending Canadian patent application 2,365,441. If the method described in co-
pending
Canadian patent application 2,365,441. is used, then inforniation contained in
the response
may contain a certificate sequence number.
[00067] Further, where the complete hierarchy can be immediately identified
from
requested certificate identifier 40 of certificate request 36, CDC 28 can
perform the
2 0 necessary procedures to validate each of the certificate in the
certificate chain
simultaneously, thus improving response times.
[00068] The present invention provides a novel system and method for looking
up
and validating a digital certificate that is generally less cumbersome and
more rapid for the
certificate verifier.
2 5 [00069] The invention enables client software to have a smaller size
because
certificate validation information is gathered and consolidated by the
certificate distribution
center. The set up of this software is easier because it needs to be
configured to
12

CA 02374195 2002-03-O1
communicate only with the certificate distribution center. Network
communications are
more efficient because the certificate verifier does not need to establish
sessions with
different validation authorities or directories.
[00070] The above-described embodiments of the invention are intended to be
examples of the present invention and alterations and modifications may be
effected thereto,
by those of skill in the art.
[00071] This concludes the description of the preferned embodiment of the
invention.
The foregoing description has been presented for the purpose of illustration
and is not
intended to be exhaustive or to limit the invention to the precise form
disclosed. Many
modifications and variations are possible in light of the above teaching and
will be apparent
to those skilled in the art. It is intended the scope of the invention be
limited not by this
description but by the claims that follow.
13

Representative Drawing
A single figure which represents the drawing illustrating the invention.
Administrative Status

For a clearer understanding of the status of the application/patent presented on this page, the site Disclaimer , as well as the definitions for Patent , Administrative Status , Maintenance Fee  and Payment History  should be consulted.

Administrative Status

Title Date
Forecasted Issue Date 2010-08-10
(22) Filed 2002-03-01
(41) Open to Public Inspection 2003-09-01
Examination Requested 2005-12-08
(45) Issued 2010-08-10
Expired 2022-03-01

Abandonment History

There is no abandonment history.

Payment History

Fee Type Anniversary Year Due Date Amount Paid Paid Date
Registration of a document - section 124 $100.00 2002-03-01
Application Fee $300.00 2002-03-01
Maintenance Fee - Application - New Act 2 2004-03-01 $100.00 2003-07-09
Maintenance Fee - Application - New Act 3 2005-03-01 $100.00 2005-02-09
Request for Examination $800.00 2005-12-08
Maintenance Fee - Application - New Act 4 2006-03-01 $100.00 2006-02-24
Maintenance Fee - Application - New Act 5 2007-03-01 $200.00 2007-02-16
Maintenance Fee - Application - New Act 6 2008-03-03 $200.00 2008-02-14
Maintenance Fee - Application - New Act 7 2009-03-02 $200.00 2009-02-03
Maintenance Fee - Application - New Act 8 2010-03-01 $100.00 2010-02-16
Final Fee $150.00 2010-05-20
Maintenance Fee - Patent - New Act 9 2011-03-01 $100.00 2011-02-25
Maintenance Fee - Patent - New Act 10 2012-03-01 $125.00 2012-02-01
Maintenance Fee - Patent - New Act 11 2013-03-01 $125.00 2013-02-01
Registration of a document - section 124 $100.00 2013-10-01
Maintenance Fee - Patent - New Act 12 2014-03-03 $125.00 2014-01-14
Maintenance Fee - Patent - New Act 13 2015-03-02 $125.00 2015-02-04
Maintenance Fee - Patent - New Act 14 2016-03-01 $125.00 2016-02-01
Maintenance Fee - Patent - New Act 15 2017-03-01 $225.00 2017-02-01
Maintenance Fee - Patent - New Act 16 2018-03-01 $225.00 2018-02-05
Maintenance Fee - Patent - New Act 17 2019-03-01 $450.00 2019-02-25
Maintenance Fee - Patent - New Act 18 2020-03-02 $225.00 2020-02-21
Maintenance Fee - Patent - New Act 19 2021-03-01 $229.50 2021-02-19
Owners on Record

Note: Records showing the ownership history in alphabetical order.

Current Owners on Record
IMS SOFTWARE SERVICES, LTD.
Past Owners on Record
ANSELL, STEVEN M.
CRERAR, MICHAEL CAMERON
DIVERSINET CORP.
WILDISH, MICHAEL ANDREW
Past Owners that do not appear in the "Owners on Record" listing will appear in other documentation within the application.
Documents

To view selected files, please enter reCAPTCHA code :



To view images, click a link in the Document Description column. To download the documents, select one or more checkboxes in the first column and then click the "Download Selected in PDF format (Zip Archive)" or the "Download Selected as Single PDF" button.

List of published and non-published patent-specific documents on the CPD .

If you have any difficulty accessing content, you can call the Client Service Centre at 1-866-997-1936 or send them an e-mail at CIPO Client Service Centre.


Document
Description 
Date
(yyyy-mm-dd) 
Number of pages   Size of Image (KB) 
Representative Drawing 2002-07-04 1 8
Cover Page 2003-08-08 1 35
Cover Page 2010-07-19 2 38
Abstract 2002-03-01 1 14
Description 2002-03-01 13 553
Claims 2002-03-01 6 203
Drawings 2002-03-01 5 63
Claims 2010-01-28 6 228
Drawings 2010-01-28 5 65
Representative Drawing 2010-07-19 1 9
Assignment 2002-03-01 4 153
Fees 2003-07-09 1 30
Prosecution-Amendment 2009-07-28 3 97
Fees 2010-02-16 3 77
Correspondence 2010-02-16 3 75
Fees 2008-02-14 1 39
Fees 2005-02-09 1 34
Prosecution-Amendment 2005-12-08 1 35
Fees 2006-02-24 1 35
Maintenance Fee Payment 2018-02-05 1 33
Fees 2007-02-16 1 35
Fees 2009-02-03 1 49
Prosecution-Amendment 2010-01-28 19 668
Correspondence 2010-05-20 1 40
Fees 2011-02-25 1 202
Fees 2012-02-01 1 163
Fees 2013-02-01 1 163
Assignment 2013-10-01 10 470
Fees 2014-01-14 1 33
Fees 2017-02-01 1 33
Fees 2015-02-04 1 33
Fees 2016-02-01 1 33