Abstract:
The present invention provides a certificate management apparatus which retains an important certificate, while deleting the oldest referenced certificate. 
     An update determination information output unit outputs update determination information being information for determining whether or not to update a certificate. A certificate cache stores the certificate on a volatile memory. An operation unit stores the update determination information output by the update determination information output unit in the certificate cache by relating to the certificate, and based on the update determination information stored in the certificate cache, updates the certificate related to the update determination information.

Description:
TECHNICAL FIELD 
       [0001]    The present invention relates to a certificate management apparatus verifying a message and a certificate using a digital certificate. 
       BACKGROUND ART 
       [0002]    Conventionally, for instance, in an automobile, a system providing a driver with traffic congestion information, through radio communication which is carried out between a communication apparatus to be mounted on the automobile (hereinafter, referred to as an on-board device) and a communication apparatus to be set on a road (hereinafter, referred to as a roadside device) is used. Further, a system has been studied, in which driving support or automatic driving is carried out while on-board devices mutually perform radio communication. Since human lives are involved in these systems, the confidentiality or the integrity is required for the message to be transmitted. 
         [0003]    In order to guarantee the confidentiality or the integrity, the communication apparatus mounts a digital certificate (EE (End Entity) certificate), and for data such as a message to be transmitted, puts a signature on the data or makes the data confidential. Since the digital certificate is issued for each communication apparatus, the communication apparatus transmits the message by appending its own certificate. The communication apparatus which has received the message verifies whether or not the received digital certificate is a digital certificate issued by a predetermined certification authority using a digital certificate (CA (Certification Authority) certificate) of the certification authority, and verifies the signature of the message using the EE certificate which has passed the verification. Hereinafter, the digital certificate is simply referred to as a certificate. 
         [0004]    Generally, in a system carrying out driving support or automatic driving, it is required to process 2000 to 4000 messages per second; and it takes a large amount of time to verify the signatures. Therefore, a method is proposed, in which a certificate that has been verified once is stored in a cache, thereby eliminating the subsequent signature verification. 
         [0005]    However, generally, since the size of the cache is limited, it is impossible to store certificates exceeding the upper limit of the cache size. For this problem, an apparatus is proposed, which overwrites a part of the cache to store certificates (for instance, Patent Literature 1). Further, for general data, an apparatus which overwrites the cache is proposed (for instance, Patent Literature 2). 
       CITATION LIST 
     Patent Literature 
       [0000]    
       
         Patent Literature 1: JP 4624099B2 
         Patent Literature 2: JP H04-149676A 
       
     
       SUMMARY OF INVENTION 
     Technical Problem 
       [0008]    According to Patent Literature 1, in order to compress memory quantity to store certificates, a certificate table to record a digest of a public key is retained. It is described that the certificate table stores a hash of the public key, an expiration date, a pointer to the upper certificate, and a counter to be used, and when a certain certificate is referenced, the counter of the certificate and the counter of the upper certificate are each incremented by one. However, in this case, the certificate to which the reference is made frequently is retained preferentially. In the system carrying out the driving support or the automatic driving, since the certificate which has been referenced lately has to be retained preferentially, the above method is not suitable for the system. 
         [0009]    On the other hand, according to Patent Literature 2, it is described that since the oldest searched data is automatically deleted, the contents of auxiliary data corresponding to the registered or searched data is rewritten by a value of a counter which is retained inside. However, in a case where this method is applied without change, there is a possibility to delete the CA certificate which has to be retained even if the referenced date and time is old. 
         [0010]    The present invention is done to solve the above problems, and provides a certificate management apparatus which retains an important certificate, while deleting the oldest referenced certificate. 
       Solution to Problem 
       [0011]    In order to solve the above-discussed problems, a certificate management apparatus of the present invention includes: an update determination information output unit to output update determination information being information for determining whether or not to update a certificate; a certificate cache being a cache memory to store the certificate on a volatile memory; and an operation unit to store the update determination information output by the update determination information output unit by relating to the certificate in the certificate cache, and based on the update determination information stored in the certificate cache, to update the certificate related to the update determination information. 
       Advantageous Effects of Invention 
       [0012]    According to the present invention, update determination information being information for determining whether or not to update a certificate is stored by relating to the certificate, and a priority to update the certificate is decided using the update determination information, and thereby an effect that enables to retain an important certificate, while deleting the oldest referenced certificate, is obtained. 
     
    
     
       BRIEF DESCRIPTION OF DRAWINGS 
         [0013]      FIG. 1  is a configuration diagram illustrating a configuration example of a certificate management apparatus according to a first embodiment. 
           [0014]      FIG. 2  is a configuration diagram illustrating a configuration example of a certificate cache, a certificate store, and an internal counter. 
           [0015]      FIG. 3  is a diagram illustrating an operation of the cache and the store when an EE2 certificate is added while the EE2 certificate is not in the cache. 
           [0016]      FIG. 4  is a diagram illustrating an operation of the cache and the store when a CA3 certificate signed by a CA2 certificate is added. 
           [0017]      FIG. 5  is a diagram illustrating an operation of the cache and the store when an EE1 certificate is added while the EE1 certificate is in the cache. 
           [0018]      FIG. 6  is a diagram illustrating an operation of the cache and the store when an EE3 certificate is to be added while the cache has no vacancy. 
           [0019]      FIG. 7  is a diagram illustrating an operation when an EE4 certificate signed by a CA1 certificate is added. 
           [0020]      FIG. 8  is a configuration diagram illustrating a configuration example of a certificate management apparatus according to a third embodiment 
           [0021]      FIG. 9  is a configuration diagram illustrating a configuration example of the certificate cache, the certificate store, and a default range store. 
           [0022]      FIG. 10  is a diagram illustrating an operation of the cache and the store when the EE2 certificate is added while the EE2 certificate is not in a cache  1001 . 
           [0023]      FIG. 11  is a diagram illustrating an operation of the cache and the store when the CA3 certificate signed by the CA2 certificate is added. 
           [0024]      FIG. 12  is a diagram illustrating an operation of the cache and the store when the EE1 certificate is added while the EE1 certificate is in the cache. 
           [0025]      FIG. 13  is a diagram illustrating an operation of the cache and the store when the EE4 certificate is to be added while the cache has no vacancy. 
       
    
    
     DESCRIPTION OF EMBODIMENTS 
     Embodiment 1 
       [0026]    In a first embodiment, an embodiment will be explained, in which a value of an internal counter is used as update determination information being information for determining whether or not to update a certificate. 
         [0027]      FIG. 1  is a configuration diagram illustrating a configuration example of a certificate management apparatus according to the first embodiment. 
         [0028]    In  FIG. 1 , a certificate management apparatus  101  is configured by an operation unit  102 , a volatile memory  103 , and a nonvolatile memory  104 , each connected by a bus  105 . The volatile memory  103  is a memory having a small capacity and being volatile, but is capable to be accessed with a high speed; the nonvolatile memory  104  is a memory having a large capacity and low-speed, but is nonvolatile. The volatile memory  103  stores a certificate cache  106 . The nonvolatile memory  104  stores a certificate store  107  and an internal counter  108 . The certificate store  107  is an example of a certificate memory unit. Further, the internal counter  108  is an example of an update determination information output unit. 
         [0029]      FIG. 2  is a configuration diagram illustrating a configuration example of the certificate cache, the certificate store, and the internal counter. 
         [0030]    In  FIG. 2 , a certificate cache  201  is a table to store a counter value of the internal counter when a certificate is referenced and the certificate; the certificate cache  201  stores a CA certificate and a verified EE certificate. An internal counter  202  stores an internal counter value, and is incremented by one at every reference to the certificate. A certificate store  203  is a table to store the CA certificate. Hereinafter, the certificate cache and the certificate store are referred to as a cache and a store, respectively. 
         [0031]      FIG. 3  is a diagram illustrating an operation of the cache and the store when an EE2 certificate is added while the EE2 certificate is not in the cache. 
         [0032]    In  FIG. 3 , it is assumed that the EE2 certificate is signed by a CA2 certificate. When a cache  301  has vacancy before adding, the EE2 certificate and the counter value of the internal counter at that time are added in a vacant area. In a cache  302 , the EE2 certificate is added in the final line, and 0003 is added as the counter value of the internal counter at that time. Next, after adding to the cache  302 , the counter value of the internal counter is incremented. Further, if the CA2 certificate is not in the cache, the certificate from a store  303  and the counter value of the internal counter at that time are added in the same manner. In the internal count of the cache  302 , since the EE2 certificate and the CA2 certificate are added, the count value is 0005 by incrementing twice. Further, if the CA2 certificate is in the cache, only the counter value is updated. 
         [0033]      FIG. 4  is a diagram illustrating an operation of the cache and the store when a CA3 certificate signed by the CA2 certificate is added. 
         [0034]    The operation to the cache is the same as the case of the EE certificate; in case of the CA certificate, the CA3 certificate is added also to the store  403 . If the store has no space to write, an error may be returned or an unnecessary CA certificate may be deleted and overwritten. 
         [0035]      FIG. 5  is a diagram illustrating an operation of the cache and the store when an EE1 certificate is added while the EE1 certificate is in the cache. 
         [0036]    In  FIG. 5 , since the EE1 certificate and the CA1 certificate are in a cache  501 , only the counter values of the corresponding certificates on the cache are updated. 
         [0037]      FIG. 6  is a diagram illustrating an operation of the cache and the store when an EE3 certificate is to be added while the cache has no vacancy. 
         [0038]    In  FIG. 6 , it is assumed that the EE3 certificate is signed by the CA3 certificate. First, among certificates stored in a cache  601 , an entry having the smallest counter value (the EE1 certificate in  FIG. 6 ) is updated to the EE3 certificate. The internal counter value 0005 at that time is written in a place of the counter value corresponding to the EE3 certificate in the same manner. After the certificate and the counter value are written, the counter value of the internal counter is incremented to 0006. Further, among the certificates stored in the cache  601 , an entry having the second smallest counter value (the CA1 certificate in  FIG. 6 ) is updated to the CA3 certificate. The counter value of the cache  602  is updated to 0006 in the same manner. After the update, the value of the internal counter is incremented to 0007. 
         [0039]    Here, in the above explanation, the entry having the smallest counter value is updated; however, the update may be implemented when the counter value is equal to or less than a threshold value. 
         [0040]    As discussed above, according to the invention of the first embodiment, the counter value of the internal counter is used as the update determination information being information for determining whether or not to update the certificate, the certificate is stored by relating to the counter value, and a priority to update the certificate is decided using the counter value, and thereby an effect that enables to retain the latest referenced certificate, while deleting the oldest referenced certificate, is obtained. 
       Embodiment 2 
       [0041]    In the first embodiment, the counter value of the internal counter is used as the update determination information to decide a priority to update the certificate; in a second embodiment, an embodiment of a certificate management apparatus will be explained, which keeps a ratio of the CA certificates and the EE certificates that are stored in the certificate cache constant, so as to prevent the CA certificate from being deleted excessively. 
         [0042]      FIG. 7  is a diagram illustrating an operation when an EE4 certificate signed by the CA1 certificate is added. 
         [0043]      FIG. 7  illustrates an example in which a ratio of the CA certificates and the EE certificates that are stored in the cache is 2:3. According to the first embodiment, among the certificates in a cache  701 , the CA2 certificate having the smallest value is overwritten by the EE4 certificate; according to the second embodiment, in order to keep the ratio constant, an entry of the EE1 certificate having the smallest value among the EE certificates is overwritten. Further, the value 0008 of the internal counter at that time is written in the same manner. Since the CA1 certificate is already stored in the cache, only the counter value is updated to 0009. 
         [0044]    As discussed above, according to the invention of the second embodiment, the ratio of the CA certificates and the EE certificates that are stored is kept constant, and thereby there is an effect that enables to prevent the CA certificate from being excessively deleted. Further, compared with a case in which separate caches are prepared for the CA certificate and the EE certificate, the ratio of the certificates that are stored can be dynamically changed, and thereby there is an effect that enables to keep an appropriate ratio according to the environment of the apparatus. 
       Embodiment 3 
       [0045]    In the third embodiment, anther embodiment will be explained, in which geographic position information is used as update determination information for determining whether or not to update a certificate, and the certificate around a specific position is preferentially retained. 
         [0046]      FIG. 8  is a configuration diagram illustrating a configuration example of a certificate management apparatus according to the third embodiment 
         [0047]    In  FIG. 8 , a certificate management apparatus  101  is configured by an operation unit  102 , a volatile memory  103 , a nonvolatile memory  104 , and a current position acquisition unit  801 , each connected by the bus  105 . The current position acquisition unit  801  is an example of an update determination information output unit. The volatile memory  103  is a memory having a small capacity and being volatile, but capable to be accessed with a high speed; the nonvolatile memory  104  is a memory having a large capacity and low-speed, but is nonvolatile. The current position acquisition unit  801  is a device to acquire position information such as GPS (Global Positioning System) and the like. The volatile memory  103  stores a certificate cache  106 . The nonvolatile memory  104  stores a certificate store  107  and a default range store  802 . The default range store  802  is an example of a default range memory unit. 
         [0048]      FIG. 9  is a configuration diagram illustrating a configuration example of the certificate cache, the certificate store, and the default range store. 
         [0049]    In  FIG. 9 , the geographic position information and the certificate are recorded in a certificate cache  106 . For the geographic position information, if the certificate to be recorded is the CA certificate, a geographic range in which the corresponding certificate is valid is recorded; and in case of the EE certificate, a geographic position at which the certificate is acquired is recorded. 
         [0050]    A certificate store  107  records the CA certificate and a geographic range in which the corresponding certificate is valid. If the valid geographic range is not limited, information indicating that is recorded. 
         [0051]    The default range store  802  records a plurality of predetermined geographic ranges. The certificates in the predetermined ranges on the cache are retained preferentially. The describing method for the position and the range may be arbitrary. In an example of  FIG. 9 , the position is expressed by latitude and longitude, the range is expressed by a rectangular having diagonal lines, each connecting two points of the positions. Hereinafter, the position and the range will be expressed in accordance with the above. 
         [0052]      FIG. 10  is a diagram illustrating an operation of the cache and the store when the EE2 certificate is added while the EE2 certificate is not in a cache  1001 . 
         [0053]    It is assumed that the EE2 certificate is signed by the CA2 certificate. In a case where the cache  1001  has vacancy before adding, the EE2 certificate and the value of the current position at that time are added to a vacant area. Further, the CA2 certificate is not in the cache  1001 , the corresponding certificate and the valid range are added from a store  1003  in the same manner. In a case where the CA2 certificate is in the cache, no operation is carried out. 
         [0054]      FIG. 11  is a diagram illustrating an operation of the cache and the store when the CA3 certificate signed by the CA2 certificate is added. 
         [0055]    In a store  1103 , the CA2 certificate of which the valid range is “everywhere” is assumed to be a certificate being valid at an arbitrary place. The operation to the cache is the same as the case of the EE certificate; in case of the CA certificate, it is also added to the store. If the store has no vacancy to write, an error may be returned, or an unnecessary CA certificate may be deleted and overwritten. If the valid range of the CA3 certificate is determined, the corresponding valid range is added to a cache  1102  and the store  1103 . If no valid range is particularly determined, a valid range of the CA2 certificate being the upper-level certificate may be succeeded. 
         [0056]      FIG. 12  is a diagram illustrating an operation of the cache and the store when the EE1 certificate is added while the EE1 certificate is in the cache. 
         [0057]    Since the EE1 certificate and the CA1 certificate are stored in a cache  1201 , the position information of the corresponding certificates on the cache are updated to the current positions. 
         [0058]      FIG. 13  is a diagram illustrating an operation of the cache and the store when the EE4 certificate is to be added while the cache has no vacancy. 
         [0059]    First, a certificate (the EE2 certificate in case of  FIG. 13 ) included in a default range stored in a default range store  1305  is searched. Except for the certificate (the EE2 certificate) which has been matched by the search, among the remaining certificates, a certificate (the EE3 certificate in case of  FIG. 13 ) which is the farthest from the current position is overwritten. Similarly, for the CA certificate, a certificate including a position described in the default range information is retained, and a certificate indicating the farthest range from the current position is overwritten. 
         [0060]    Here, in the above explanation, the certificate in the farthest position is overwritten; however, the overwriting may be implemented if a distance from the current position is equal to or greater than a threshold value. 
         [0061]    Further, similarly to the second embodiment, a function may be added to select a certificate so as to keep a ratio of the CA certificates and the EE certificates that are stored constant. 
         [0062]    As discussed above, the invention of the third embodiment enables to manage the certificates effectively by preferentially deleting the certificate which is the farthest from the current position since such a certificate is referenced the most hardly. In particular, in case of mounting on the automobile, since the current position changes from time to time, an effective certificate management can be implemented. Further, the certificate at a particular position is preferentially retained, and thereby the certificate of the roadside device of, for instance, the commuting route or the neighborhood can be preferentially retained; the certificate management can be implemented effectively. 
       REFERENCE SIGNS LIST 
       [0063]      101 : certificate management apparatus;  102 : operation unit;  103 : volatile memory;  104 : nonvolatile memory;  105 : bus;  106 : certificate cache;  107 : certificate store;  108 : internal counter;  201 : certificate cache (configuration);  202 : internal counter (configuration);  203 : certificate store (configuration);  801 : current position acquisition unit; and  802 : default range store.