Abstract:
A method for operating a security gateway between data buses of a vehicle, in which a correlation between an identification information item (ID) of the message (N) and a processing rule (VR) is provided by a routing matrix (RM) for each message (N) arriving on a data bus, wherein, at least one processing rule (VR) allocated to an identification information item (ID) has a reference information item (POLICY) to a security rule (SR) stored in a memory unit, which rule is used for filtering the message (N) having this identification information item (ID) by an interpreter (IP). In an alternative solution, the reference information (POLICY) is omitted.

Description:
CROSS REFERENCE TO RELATED APPLICATIONS 
       [0001]    This application is the U.S. National Phase Application of PCT International Application No. PCT/US2013/074306, filed Dec. 11, 2013, the contents of such applications being incorporated by reference herein. 
     
    
     FIELD OF THE INVENTION 
       [0002]    The invention relates to a method for operating a security gateway between data buses of a vehicle. 
       BACKGROUND OF THE INVENTION 
       [0003]    Modern vehicles have a multiplicity of control devices which in each case carry out a specific function and are networked to form a link-up of control devices, for example by means of a CAN, MOST or FlexRay data bus to form a communication system. In order to provide also for an exchange of data between such different data buses having different communication protocols within the communication system, special control devices having a so-called gateway functionality are used with the aid of which a conversion of data can be achieved between the different data buses. Such gateways thus convert communication-protocol-specific data of a data bus into the communication-protocol-specific data of another data bus. Apart from forwarding messages (routing) which have communication-protocol-specific data and useful data, a change of the content of the useful data can also be carried out in a gateway. 
         [0004]    From DE 11 2008 000 664 T5, which is incorporated by reference, a generic gateway for connecting a multiplicity of data buses with control devices is known. This gateway comprises a read-only memory in which a memory section has a routing matrix which specifies a correlation between an identification information item (ID) of a message to be forwarded and a data bus via which the message is to be forwarded. In order to be able to integrate further control devices into such a communication system, the messages of which are also to be conducted via a gateway, an additional routing matrix is generated automatically and stored in a random access memory which specifies a new correlation added so that the messages of the control devices newly added can also be forwarded. 
         [0005]    It can be considered to be a disadvantage of this known gateway that the messages are forwarded in accordance with a predetermined scheme, namely in accordance with a rigid scheme corresponding to the predetermined and the additional routing matrix, and it is not possible to change such schemes dynamically. 
       SUMMARY OF THE INVENTION 
       [0006]    An aspect of the present invention, therefore, specifies a security gateway of the type initially mentioned, by means of which messages to be forwarded can be filtered selectively by means of various criteria. 
         [0007]    Such a method for operating a security gateway between data buses of a vehicle, in which a correlation between an identification information item of the message and a processing rule is provided by means of a routing matrix for each message arriving on a data bus, is characterized by the fact, according to the solution mentioned first, that at least one processing rule allocated to an identification information item has a reference information item to a security rule stored in a memory unit, which rule is used for filtering the message having this identification information item by means of an interpreter. 
         [0008]    According to an aspect of the invention, a gateway having a routing matrix is thus extended in software by other components in that the routing matrix is extended by a reference to a security rule, such a security rule being stored in a particular memory area of a memory unit. In addition, the gateway functionality (application) is extended by a generic interpreter for the evaluation of the security rules for each message received. In this solution mentioned first it is not required that a reference information item is allocated to each identification information item. 
         [0009]    By means of such security rules stored separately in a memory unit, a firewall is implemented in order to secure the vehicle against external IT attacks and to protect it. 
         [0010]    According to the solution mentioned secondly, a method for operating a security gateway between data buses of a vehicle, in which a correlation between an identification information item (ID) of the message and a processing rule is provided by means of a routing matrix for each message arriving on a data bus, is characterized, in accordance with the invention, by the fact that a security rule which is used for filtering each incoming message by means of an interpreter is stored in a memory unit. 
         [0011]    This solution mentioned secondly differs from the solution mentioned firstly in that a reference information item is omitted in the routing matrix and the interpreter immediately begins with processing and executing the security rule. Each message arriving at the security gateway is thus filtered in accordance with the security rule. 
         [0012]    In this second solution mentioned, too, the security rules stored in a memory unit, which are used for filtering all incoming messages, are used for implementing a firewall for securing or protecting the vehicle from external IT attacks. 
         [0013]    According to an advantageous embodiment of the invention, the security rule is set up generically as a filter function having at least one filter action. The filter action is preferably also associated with a parameter. Possible filter functions are the identification information item (ID), the message type, the message source, the message sink, the message transmission and/or message reception rate, the message authentication, the vehicle state, the control device state, the message content, the OBD (on-board diagnostic) state, the time interval to control devices/vehicle events and the default state. 
         [0014]    According to a further embodiment of the invention, it is also provided that the security rule is set up with at least one parameter and/or at least one operator of the filter function. Possible parameters of the filter function are value ranges, physical and/or time values and message contents. The logical negation or a quantification can be used as operators. 
         [0015]    According to a further embodiment of the invention, a number of security rules are stored in the memory unit, wherein the security rule to which the reference information points is executed as starting rule by the interpreter, and the subsequent security rules are executed in that the relevance of this security rule to the message is checked for each security rule by means of the filter function and possibly its operators and/or its parameters and, if relevant, the filter action is performed and otherwise the next security rule is executed. 
         [0016]    If the reference information is omitted in the routing matrix, it is provided according to a development that similarly a number of security rules are provided which are executed by the interpreter in that the relevance of this security rule to the message is checked by means of the filter function and possibly its operators and/or its parameters and, if relevant, the filter action is performed and otherwise the next security rule is executed. 
         [0017]    According to a development, the maximum number of executable security rules can be restricted in order to provide for a latency or a particular throughput of the messages. 
         [0018]    Finally, it is particularly advantageous if, according to a development, the security rules are stored as calibration data in a flash memory. By this means, these security rules can be changed dynamically and adjusted in accordance with the specifications of a vehicle manufacturer as firewall rules. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0019]    In the text which follows, the invention will be described in detail with reference to illustrative embodiments, referring to the attached figures, in which: 
           [0020]      FIG. 1  shows a block diagram of a section from a communication system for a vehicle having a security gateway according to the invention, 
           [0021]      FIG. 2  shows a section from a routing matrix and a section of security rules, and 
           [0022]      FIG. 3  shows a presentation of the generic structure of a security rule. 
       
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
       [0023]    The communication system according to  FIG. 1  comprises at least two data buses  10  and  20  having in each case at least one control device, two control devices  11  and  12  and  21  and  22 , respectively, being linked as subscribers, for example. These subscribers  11  and  12  and  21  and  22 , respectively, in each case linked by the data buses  10  and  20  can exchange messages N via the respective data bus  10  or  20 . Various systems are possible as data buses such as, for example, CAN, LIN, MOST, Firewire or FlexRay data buses. The two data buses  10  and  20  are connected via a security gateway  1  so that messages N can also be exchanged between subscribers  11  and  12  on data bus  10  and subscribers  21  and  22  on data bus  20 , which can also have different communication protocols. 
         [0024]    The security gateway  1  comprises a control unit  2  which communicates with a firewall  3  and handles the routing function. This firewall  3  has a routing matrix RM which specifies which messages N are forwarded from a bus  10  or  20  as data source SRC to the other bus  20  or  10  as data sink DST. For this purpose, an allocation to a processing rule VR is made for the identification information item ID of an incoming message N, which allocation specifies whether a message is allowed to be forwarded. 
         [0025]    According to  FIG. 2 , the routing matrix RM contains as processing rule VR, apart from the information of the data source SRC and the data sink DST, a reference information item POLICY to a security rule SR. By way of example, a number of said security rules SR are listed in a table T in  FIG. 2 . According to this  FIG. 2 , a message N coming from a CAN1 bus as data source, having the ID=200 which is to be forwarded to an ETH1 bus (Ethernet), has a reference information item “50” whilst a further message coming from a CAN2 bus having the same ID, which is to be sent to a CAN1 bus, has a reference information item “60”. 
         [0026]    In order to be able to execute the security rules SR deposited in a table T in a calibration memory  4  as memory unit, the gateway functionality (application) of the security gateway  1  is extended by a generic interpreter IP in an application unit  5  of the firewall  3  for the evaluation of the security rules SR per received message. 
         [0027]    For each incoming message N at firewall  3 , prefiltering of the message N is initially performed by means of the routing matrix RM. Following that, filtering of the message N according to the security rule SR is performed by means of the reference information POLICY. 
         [0028]    As explained above by means of  FIG. 2 , reference to the security rules SR is made via the reference information POLICY in the processing rule VR of the routing matrix RM. This ensures that the security rules SR relevant to this message N are executed with the reception of the message N. 
         [0029]    As will be stated more precisely below, these security rules SR contain a filter function CMD and an associated filter action ACTION. According to  FIG. 2 , the filter rule SR thus indicates the vehicle state “VEHICLE STATE” with “ENGINE ON” with the reference information 50, “DROP” being indicated as filter action, that is to say this message N should be dropped. The reference information 60 leads to a filter rule SR in which the vehicle state “VEHICLE STATE” is specified as “ENGINE ON”, where this message N is to be forwarded according to the filter action “ACCEPT”. In the case of the security rule SR with the reference information 51, a LOG entry is provided as filter action “log”. 
         [0030]    According to  FIG. 3 , the structure of a security rule SR has the following generic structure: 
         [0031]    filter function CMD, 
         [0032]    no, one or more operators OP1, OP2 of the filter function CMD, 
         [0033]    no, one or more parameters PARAM1, PARAM2 of the filter function CMD, 
         [0034]    one or more filter actions ACTION, and 
         [0035]    no, one or more parameters JUMP of the filter action ACTION. 
         [0036]      FIG. 3  shows an example of a possible type of coding of a security rule SR which, with an incoming message rate of greater than or equal to 10 ms, jumps to a filter function 2. 
         [0037]    Possible filter functions CMD are: 
         [0038]    the identification information item ID, 
         [0039]    the message type, 
         [0040]    the message source SRC 
         [0041]    the message sink DST 
         [0042]    the message transmission and/or reception rate, 
         [0043]    the message authentication 
         [0044]    the vehicle state, 
         [0045]    the control device state, 
         [0046]    the message content, 
         [0047]    the OBD (on-board diagnostic) state 
         [0048]    the time interval to control devices/vehicle events (for example the vehicle start), and 
         [0049]    the default state which always applies independently of operators and parameters. 
         [0050]    Possible operators OP1 and OP2 are: 
         [0051]    the logical negation (equal to, not equal to) 
         [0052]    quantification (value greater than, value less than, value equal to, value not equal to, etc.). 
         [0053]    Possible parameters (PARAM1 and PARAM2) are: 
         [0054]    value ranges, 
         [0055]    physical and/or time values, 
         [0056]    message contents. 
         [0057]    Possible filter actions (ACTION) are: 
         [0058]    accept message, 
         [0059]    discard message, 
         [0060]    forward message temporarily to another data sink, 
         [0061]    mark message, 
         [0062]    start a LOG entry for a message, 
         [0063]    change vehicle state (for example from “not attacked” to “attacked”), 
         [0064]    jump to another security rule SR, and 
         [0065]    return after a jump. 
         [0066]    For some filter actions ACTION, an additional parameter JUMP is evaluated which specifies the jump destination in the case of a jump. 
         [0067]    It is possible to fit the filter functions CMD and the filter actions ACTION with an arbitrarily high complexity. For example, the previous sequence of the diagnostic communication between two end points can be checked as filter function as to whether faults have occurred. 
         [0068]    The interpreter IP of the firewall  3  of the security gateway  1  executes as security rules SR sequentially successively all subsequent security rules of table T beginning with the starting rule to which the reference information POLICY points. The number of security rules SR to be executed in this process can be unrestricted. However, it is also possible to restrict the maximum number of security rules SR to be executed in order to ensure, for example, a latency or a particular throughput of the messages N thereof. The limitation of the number of the security rules SR also defines the memory space of the calibration memory  4  needed for the security rules SR. 
         [0069]    For each security rule from table T, it is checked by means of the filter function CMD including the operators OP1 and OP2 and the parameters PARAM1 and PARAM2 whether it applies, that is to say is true in terms of the logic of the statement. If this is not so, the process jumps to the next security rule SR in table T, otherwise filter action ACTION of the security rule SR is executed. In this context, the interpreter IP differentiates between 2 possible types of filter actions ACTION, namely a terminating and a non-terminating filter action. In the case of the one mentioned first, further processing stops because, for example, the message N has been accepted for forwarding; in the one mentioned last, processing is continued with the subsequent security rule SR since it has not yet been decided whether the message is to be accepted, temporarily forwarded or discarded. 
         [0070]    In the illustrative embodiment according to  FIG. 1 , the reference to the security rules SR is made via the reference information POLICY in the routing matrix RM. It is possible to dispense with such a reference. Instead of such a reference, the firewall  3  is designed in such a manner that with the reception of a message N, the interpreter IP always begins with the first security rule SR listed in table T and executes it. 
         [0071]    Since the security rules SR are deposited as table T in the calibration memory  4 , designed, for example, as flash memory, of the security gateway  1 , it is possible to specify these security rules SR by calibration via the vehicle manufacturer. These security rules SR are then applied dynamically to the vehicle on-board network messages. By this means, the vehicle can be secured and protected against IT attacks. 
       LIST OF REFERENCE SYMBOLS 
       [0072]      1  Security gateway 
         [0073]      2  Control unit of the security gateway  1   
         [0074]      3  Firewall of the security gateway  1   
         [0075]      4  Memory unit, calibration memory 
         [0076]      5  Application unit 
         [0077]      10  Data bus 
         [0078]      11  Control device 
         [0079]      12  Control device 
         [0080]      20  Data bus 
         [0081]      21  Control device 
         [0082]      22  Control device