Abstract:
A first subscriber authenticates himself to a second subscriber with a certificate associated to the first subscriber. The certificate specifies one or several characteristics, which have to be fulfilled by the second subscriber. In the course of the authentication, it is verified using the certificate whether the second subscriber fulfills the characteristics, wherein a criterion required for successful authentication is that the second subscriber fulfills the characteristics(s). Characteristics of the second subscriber are verified in the framework of the authentication process, the second subscriber representing the authenticator with respect to whom the authentication is carried out. In this way, certificates for authentication dedicated communication links between two communication partners can be determined. The method can be used for any subscribers in a communication network, e.g., representing components of an automation system, such as, for example, control devices, field devices, sensors, actuators and the like.

Description:
CROSS REFERENCE TO RELATED APPLICATIONS 
     This application is the U.S. national stage of International Application No. PCT/EP2011/062642, filed Jul. 22, 2011 and claims the benefit thereof. The International Application claims the benefit of German Application No. 102010044518.5 filed on Sep. 7, 2010, both applications are incorporated by reference herein in their entirety. 
     BACKGROUND 
     Described below is a method for certificate-based authentication in which a first subscriber authenticates itself to a second subscriber with the aid of a digital certificate assigned to the first subscriber. 
     Digital certificates are well known. They contain the identity of an entity in the form of a person or institution or machine for which the certificate has been issued. Here and in the following, the concept of a subscriber to which a certificate can be assigned is used. In this context, a subscriber can be a computer or a machine for which the certificate has been issued. A subscriber can also refer to a computer or a machine which manages the certificate for a person or institution. The certificate is assigned to the computer or the machine by the responsibility for the certificate management. 
     A certificate contains a public key for the corresponding entity and the owner of the certificate can be confirmed by a digital signature in the certificate. In this context, the digital signature is calculated by a certificate authority. A root certificate from this authority or a certificate chain to the root certificate can be used to verify the signature as valid. A digital certificate can contain additional encrypted information in the form of so-called attributes which can be used to define authorizations for the user of the certificate or restrictions on the use of the certificate. For example, it is known, how to use an attribute to restrict the certificate or the cryptographic key confirmed by the certificate to certain types of communications or communication protocols only. It is also known how to restrict the geographic validity of a certificate so that, in the course of an authentication, the certificate can only be used by subscribers in a predetermined geographical area. 
     Also known is how to encrypt WLAN network names in a certificate as certificate extensions in order in this way to select a suitable certificate from a plurality of certificates held by the subscriber which is authenticating itself. 
     In addition, the encryption of authorization information is described in certificates. This authorization information is used to define the accesses that may be effected by the subscriber authenticated by the certificate. It is also known how to encrypt role information in certificates in order to simplify the administration of authorized accesses to a plurality of subscribers. In this context, a subscriber is granted or refused access to another subscriber in dependence on the role stored in the certificate. 
     Although known certificate extensions permit a restriction of the use of the certificate, they do not permit the definition of dedicated communication connections between two communication partners which are to have exclusive use of the certificate. 
     SUMMARY 
     Therefore, a method for certificate-based authentication is described below in which the use of the certificate can be precisely defined for predetermined communication tasks. 
     During the course of the method, authentication is performed in which a first subscriber authenticates itself to a second subscriber with the aid of a digital certificate assigned to the first subscriber. In this context, the certificate specifies one or more characteristics, which have to be fulfilled by the second subscriber. In this context, the concept of the specification of one or more characteristics in the certificate should be interpreted broadly. The specified characteristics can be stored directly in the certificate. It is also possible for the certificate to contain a reference to corresponding characteristics which are stored in a different place. This achieves an indirect specification of the characteristics in the certificate. 
     In the course of the authentication described below, it is verified with reference to the certificate whether the second subscriber fulfills the characteristic or characteristics, wherein a criterion required for a successful authentication is that the second subscriber fulfills the characteristic or characteristics. According to the method, during the authentication account is taken of properties of the second subscriber, which during the authentication represents the authenticator to which the first subscriber (i.e. the authenticatee) authenticates itself. This enables the use of the certificate to be dedicatedly restricted to specific communication connections between a first and a second subscriber. 
     As mentioned above, the characteristics specified by the certificate can be directly or indirectly (for example by a reference) coded in the certificate. In an embodiment, the characteristics are specified similarly to in the related art by one or more attributes, which contain the corresponding characteristics directly and/or one or more references to attributes via which the characteristics are specified indirectly. Unlike known attributes, these attributes now contain characteristics or properties of the second subscriber. Optionally, it is also possible for further attributes which are known per se to be specified in the certificate, which, in addition to the characteristics of the second subscriber to be fulfilled, define further restrictions to be taken into account during authentication. 
     In an embodiment of the method, the verification as to whether the second subscriber fulfills the characteristic or characteristics is performed by the second subscriber itself. In this context, the first subscriber transmits its certificate to the second subscriber or the second subscriber retrieves the certificate from a third place, for example from a corresponding certificate authority or a directory service. In this way, the second subscriber obtains access to the characteristics that it is to fulfill so that it is able to verify can whether it fulfills these characteristics. If it does not fulfill these characteristics, the authentication of the first subscriber is aborted or rejected. 
     In a further embodiment of the method, the verification as to whether the second subscriber fulfills the characteristic or characteristics is performed by the first subscriber. In this case, the characteristics to be correspondingly fulfilled do not need to be transmitted or provided to the second subscriber. In this context, corresponding properties of the second subscriber which can be used to verify whether the characteristics specified in the certificate are fulfilled can be stored in advance in the first subscriber. There is also a possibility that the first subscriber receives information relating to properties of the second subscriber from the second subscriber or retrieves the information from a third place (for example a certificate authority or a directory service) so that the first subscriber can then determine from the information whether the second subscriber fulfills the characteristic or characteristics specified in the certificate. If the characteristics are not fulfilled, the authentication can again be aborted in a suitable way, for example the first subscriber can refuse to transmit the certificate to the second subscriber or terminate the authentication at a later time. 
     The characteristics, which have to be fulfilled by the second subscriber can relate to any properties of the second subscriber. The characteristics can comprise one or more the following characteristics:
         an identity or an identity range for the second subscriber;   a device type of the second subscriber;   a service provided by the second subscriber;   a method provided by the second subscriber.       

     In this context, the above concept of the device type should be interpreted broadly and can relate to one or more predetermined devices by which the functions of the second subscriber are implemented, optionally also to the devices of a specific device manufacturer. The above identity or the above identity range can in this context include, for example, an address, in particular an IP address or MAC address, or a corresponding address range, in particular an IP address range or MAC address range. Similarly, the identity or the identity range can refer to a name, for example a DNS name, or a name range, in particular a DNS name range. The identity or the identity range can optionally also represent a port number or a port number range, for example based on the TCP and/or UDP protocol or a URL identifier or URL identifier range. For the specification of an identity range, it is in particular possible to use suitable wildcards or network masks known from the related art. 
     The aforementioned service, which can represent a characteristic to be fulfilled by the second subscriber, is, for example, a web service. Similarly, the aforementioned method, which is to be provided by the second subscriber, can represent a method of a web service. 
     In a further embodiment of the method, during the course of the authentication of the first subscriber to the second subscriber, in addition to the above verification as to whether the second subscriber fulfills the characteristic or characteristics specified in the certificate, a verification of the certificate also takes place. This verification can be performed in a way which is known per se by the verification of the signature of the certificate. 
     In a further embodiment of the method, a public key of the first subscriber contained in the certificate and the private key assigned to this public key is used to establish a cryptographically secure connection between the first and second subscribers, for example based on the SSL/TLS protocol and/or the IKE/IPsec protocol and/or the IKEv2/IPsec protocol. In the course of the establishment of this connection, the verification of the characteristic or characteristics to be fulfilled by the first subscriber can be performed. Optionally, it is also possible for the verification of these characteristics to be performed outside of the establishment of this connection in a separate authentication, for example after the establishment of the cryptographically secure connection. 
     In a further embodiment of the method, the certificate is an extended X.509 certificate, wherein the X.509 certificate is known per se from the related art. This extended certificate also specifies the characteristic or characteristics to be fulfilled by the second subscriber. 
     The method can optionally also be used for mutual authentication between the first and second subscribers. This means the first subscriber uses the method to authenticate itself to the second subscriber and, with a reversal of the roles of the first and second subscribers, similarly the second subscriber authenticates itself to the first subscriber. 
     The method can be used for any first or second subscribers in the form of computers or machines. In this context, the subscribers may represent components of an automation system, such as, for example, corresponding control devices, field devices, sensors, actuators and the like. 
     Also described below is a communication network with a first and a second subscriber, wherein during the operation of the communication network a certificate-based authentication can be performed according to the above-described method or one or more variants of the above-described method. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       These and other aspects and advantages will become more apparent and more readily appreciated from the following description of the exemplary embodiments, taken in conjunction with the accompanying drawings of which: 
         FIG. 1  is a flow diagram of an authentication according to a first embodiment; 
         FIG. 2  is a flow diagram of an authentication according to a second embodiment; and 
         FIG. 3  is a flow diagram of a two-way authentication according to a third embodiment. 
     
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT 
     Reference will now be made in detail to the preferred embodiments, examples of which are illustrated in the accompanying drawings, wherein like reference numerals refer to like elements throughout. 
     The following explains authentication according to the method based on an extended X.509 certificate, which is used, for example, with an IKE/IPsec or an SSL/TLS authentication. In addition to other information, a known X.509 certificate contains in a way which is known per se a public key of a first subscriber which wishes to authenticate itself to a second subscriber. In the course of the authentication, this key is used for the encrypted exchange of a secret and for the generation of a session key for a cryptographically secure communication between the first subscriber and the second subscriber. In this context, the certificate is signed by a trustworthy certificate authority. For verification, the certificate is transmitted to the second subscriber, which then verifies the signature in a way which is known per se based on a root certificate of the certificate authority issuing the certificate or a certificate chain to the root certificate. Table 1 below shows the essential information in a known X.509 certificate. 
     
       
         
               
               
             
           
               
                   
                 TABLE 1 
               
               
                   
                   
               
             
             
               
                   
                 Certificate 
               
               
                   
                 certificateID: SerialNumber 
               
               
                   
                 issuedTo: Name 
               
               
                   
                 issuer: Name 
               
               
                   
                 validFrom: Time 
               
               
                   
                 validTo: Time 
               
               
                   
                 Public Key 
               
               
                   
                 Attributes 
               
               
                   
                 AttributeA 
               
               
                   
                 AttributeB 
               
               
                   
                 Signature 
               
               
                   
                   
               
             
          
         
       
     
     In the above table, the term “certificateID” designates an identity of the certificate, which is specified by the serial number “SerialNumber”. The English term “issuedTo” identifies the subscriber for whom the certificate has been issued, the term “issuedTo” being followed by the name of the subscriber. The term “issuer” designates the issuer of the certificate, which is specified by a suitable name of the issuer. The terms “validFrom” and “validTo” specify the validity period of the certificate, wherein the term “validFrom” specifies a point in time “Time” at which the validity of the certificate starts or has started and the term “validTo” in turn specifies a point in time “Time” defining the expiration date of the certificate. Then, the certificate contains the public key “Public Key” of the subscriber. 
     The certificate can also contain a plurality of attributes, which are defined in the section “Attributes” of the certificate. For example, in this context an attribute AttributeA and an attribute AttributeB are specified. Such attributes can, for example, specify authorizations, which define which actions the subscriber to which the certificate belongs can perform. In particular, it is known in this context to encrypt a DNS name or an IP address in an attribute. This can specify the email address or server address of an SSL/TLS server for which the certificate is considered to be valid. This information relates to the subject, i.e. to the entity which authenticates itself by the certificate. The certificate also contains the above-described signature, which is designated by “Signature” and enables the verification of the certificate based on a root certificate or a certificate chain to the root certificate. 
     In the course of an authentication of a first subscriber to a second subscriber described in more detail below, in the embodiment described here, an extended X.509 certificate is used with the structure shown in Table 2 below. 
     
       
         
               
               
             
           
               
                   
                 TABLE 2 
               
               
                   
                   
               
             
             
               
                   
                 Certificate 
               
               
                   
                 certificateID: SerialNumber 
               
               
                   
                 issuedTo: Name 
               
               
                   
                 issuer: Name 
               
               
                   
                 validFrom: Time 
               
               
                   
                 validTo: Time 
               
               
                   
                 Public Key 
               
               
                   
                 Attributes 
               
               
                   
                 AttributeA 
               
               
                   
                 AttributeB 
               
               
                   
                 authorizedVerifier: verifier 
               
               
                   
                 Signature 
               
               
                   
                   
               
             
          
         
       
     
     The structure of the certificate in Table 2 extensively corresponds to the certificate in Table 1 and hence the same components will not be explained again. Unlike the certificate in Table 1, the extended X.509 certificate now contains a further attribute, which is designated “authorizedVerifier”. This attribute specifies the characteristics designated as “Verifier”, which, unlike the case in the related art, do not relate to the first subscriber authenticating itself, but to the second subscriber functioning as the authenticator, which checks or verifies the certificate. In this context, different embodiments of characteristics that can be specified by the attribute “authorizedVerifier” are possible. In particular, the characteristics can refer to addresses or address ranges or names or port numbers or web services or methods of web services. The following gives examples of characteristics of this kind, their types being shown in parentheses after the characteristics:
         18.5.13.8 (IP address), 18.5.13.1-18.5.13.10 (IP address range), 18.5.0.0/16 (IP address range);   vpn.siemens.com (DNS name), *.siemens.com (DNS name range);   m2m.siemens.com:4137 (DNS name and port number);   m2m.siemens.com/registerRemoteService.wsdl (a web service);   m2m.siemens.com/remoteService/setSensingRange (a method of a web service).       

     In the course of the certificate check, in this context, the characteristics of the attribute “authorizedVerifier” are verified and only if the second subscriber fulfills these characteristics is the authentication successful. In this context, the characteristics do not have to define a specific second subscriber precisely; they can also designate a group of second subscribers, as indicated above by corresponding address ranges or name ranges. In particular, there is also the possibility of using so-called wildcards, which are placeholders for any symbol sequences. Wildcards of this kind can be defined in a way which is known per se using the asterisk symbol “*”. These wildcards can, for example, enable authentication to second subscribers in the form of machines in a subnet with one single certificate. In this context, possible entries are “139.23.10.” or “139.23.10.0/24” as an IP address band or “*.siemens.de” as a server cluster. In this context “139.23.10.0/24” indicates that, in the comparison, only the upper 24 bits of the IP address, i.e. “139.23.10”, have to match. 
     The following describes a first embodiment of an authentication method with reference to  FIG. 1 , wherein, in this example, the verification as to whether the second subscriber fulfills the corresponding characteristics according to the attribute “authorizedVerifier” is performed by the first subscriber. In  FIG. 1  and also in the subsequent  FIGS. 2 and 3 , in this context, the first subscriber functioning as an authenticatee is designated with reference character A and the second subscriber functioning as an authenticator is designated with reference character B, wherein these subscribers are depicted as corresponding computers, although they could also be depicted as any other types of machines or devices, for example components of an automation system. 
     In the embodiment in  FIG. 1 , in S 1 , the authenticator B requests the certificate by a request REQ from the authenticatee A. In S 2 , the authenticatee A transmits the certificate to the authenticator B, wherein the certificate is designated with reference character C and the attribute “authorizedVerifier” contained therein, with which the characteristics of the authenticator are specified is designated with reference character AV. The certificate transmitted in S 2  is checked by the authenticator in S 3 . In this context, in addition to the checks known from the related art, which in particular include checking the signature of the certificate, it is also determined whether the authenticator fulfills the characteristics which are encrypted in the certificate C under the attribute AV. If it is determined in this context that the authenticator does not fulfill the characteristics, the authentication is aborted or rejected. If the certificate check according to S 3  is successful, the authentication is continued within the framework of a challenge-response method which is known per se and in which, in S 4 , a challenge CH is transmitted from the authenticator B to the authenticatee A, wherein the challenge, for example, represents a random number generated by the authenticator. Then, in S 5 , a cryptographic operation is applied to the challenge with the private key of the authenticatee, wherein the corresponding public key to be used for the decryption is contained in the certificate C. In S 6 , the response RES, which results from the cryptographic operation, is transmitted to the authenticator B, which verifies this response based on the public key of the certificate in S 7 . If the verification is successful, i.e. if the original challenge CH can be reconstructed with the public key, the authentication process is successfully terminated, which is confirmed in S 8  by a corresponding OK, which is transmitted from the authenticator to the authenticatee. 
     In the embodiment described with reference to  FIG. 1 , the authenticator B requests the certificate C from the authenticatee A separately. In an alternative embodiment, it is also possible for the authenticatee A to transmit the certificate C together with the response RES. Similarly, it is also possible for the authenticator to retrieve the certificate from a directory service or to have stored it locally on itself in advance. 
       FIG. 2  shows a modification of the authentication shown in  FIG. 1 . In this context, similarly to the case in  FIG. 1 , the certificate of the authenticatee A is designated with reference character C and the attribute “authorized Verifier” contained therein with reference character AV. Exactly as in the case in the embodiment in  FIG. 1 , in S 101 , the certificate is requested via a request REQ of the authenticator B from the authenticatee A. Unlike the method in  FIG. 1 , in S 101 ′, the authenticatee A now performs the verification as to whether the authenticator B requesting the certificate fulfills the characteristics according to the attribute AV. In this context, the actual characteristics of the authenticator are known to the authenticatee. These characteristics can be transmitted from the authenticator to the authenticatee by the above request REQ or optionally by a separate message. It is also possible for the authenticatee to retrieve the actual characteristics of the authenticator from a third place in which these characteristics are stored. If it is established that the characteristics according to the attribute AV are not fulfilled by the authenticator B, the authentication is aborted or rejected in suitable way, for example in that subsequently the certificate C is not provided to the authenticator or the response RES, which is described further below, is not calculated and transmitted. 
     If, on the other hand, it is identified in S 101 ′ that the authenticator B fulfills the characteristics according to the attribute AV of the certificate C, in S 102 , the certificate C is transmitted to the authenticator B. Then, in S 103 , the authenticator verifies the certificate in a way that is known per se, wherein it in particular checks the validity of the certificate and the signature of the certificate. In this context, unlike the case in  FIG. 1 , it no longer needs to verify the attribute AV since this has already been performed by the authenticator in S 101 ′. If the verification of the certificate is successful, similarly to  FIG. 1 , a challenge-response method is performed in which, in S 104 , a challenge CH is transmitted to the authenticatee A, which then, in S 105 , executes a cryptographic operation on the challenge CH with its private key. The response RES resulting from the cryptographic operation is transmitted in S 106  to the authenticator B, which, in S 107 , verifies the response based on the public key of the certificate C and, in the case of a successful verification, in S 108 , transmits an OK to the authenticator, by which the successful authentication is notified. 
     In the embodiments in  FIG. 1  and  FIG. 2 , the authentication is depicted as an independent method. However, it is also optionally possible for the authentication to be performed in the course of the establishment of an authenticated connection based on known protocols, such as SSL, TLS, IKE, EAP-TLS and the like. In a further variant, it is also possible for two-way authentication of both subscriber A to subscriber B and subscriber B to subscriber A to take place.  FIG. 3  depicts an embodiment of this kind of two-way authentication between subscribers B and A. 
     In  FIG. 3 , the information exchange takes place via the SSL/TLS protocol which is known per se. In this context, S 201  to S 205  below generally each include a plurality of partial steps, which are known per se from the SSL/TLS protocol and will therefore not be described in any further detail. In S 201 , subscriber B asks subscriber A for its certificate C with the characteristics or attributes AV contained therein. In S 202 , this certificate is transmitted, wherein, in S 203 , the verification of the certificate takes place. In the course of S 203 , subscriber B verifies whether it fulfills the characteristics AV contained in the certificate C. In S 204 , subscriber B transmits its certificate C′ with the characteristics or attributes AV′ contained therein to subscriber A. After reception of the certificate, subscriber A verifies in S 205  whether it fulfills the characteristics AV′. If the verifications in S 203  and S 205  are both positive, both certificates will be considered to be valid by the corresponding subscribers and a corresponding authentication can take place during the course of which a session key SK is established between the two subscribers A and B. This key can then be used for confidentially-protected communication. 
     In the variant in  FIG. 3 , the verification of the corresponding characteristics AV or AV′ takes place during the course of the execution of the protocol. As mentioned above, this verification can also take place in the course of an independent authentication outside the protocol between the authenticating communication partners, for example by the HTTP protocol following the completion of the establishment of a SSL/TLS connection via the established SSL/TLS connection. 
     The above-described embodiments of the method have a series of advantages. In particular, it is possible for certificates to be issued which can only be used for precisely one defined purpose, for example for secure communication with a bootstrapping server or for secure communication with only one specific VPN server. The authentication method enables possible damage to a compromised certificate or a key confirmed by the certificate to be controlled since the certificate is not universally applicable but can only be used for a quite precisely restricted application. Optionally, it is also possible to use free certificates, which are issued inexpensively with low administrative checks, and which for example only function between devices made by one manufacturer. This can be achieved by the fact that in the corresponding attribute of the certificate only devices of a specific manufacturer are named as authenticators. 
     A description has been provided with particular reference to preferred embodiments thereof and examples, but it will be understood that variations and modifications can be effected within the spirit and scope of the claims which may include the phrase “at least one of A, B and C” as an alternative expression that means one or more of A, B and C may be used, contrary to the holding in  Superguide v. DIRECTV,  358 F3d 870, 69 USPQ2d 1865 (Fed. Cir. 2004).