Device and Program for Ciphering Data

Information

  • Patent Application
  • 20080028012
  • Publication Number
    20080028012
  • Date Filed
    April 24, 2007
    17 years ago
  • Date Published
    January 31, 2008
    16 years ago
Abstract
A terminal to be connected to a network has: a data acquisition unit for acquiring first data from the network; an extraction unit for extracting second data regarding a physical quantity in accordance with the first data; a random number generation unit for generating a random number in accordance with the second data; and an enciphering unit for enciphering the first data in accordance with the random number. The terminal has further a counter unit for counting the number of the first data, wherein the random number generation unit generates a random number in accordance with the second data or a value counted by the counter unit.
Description
BACKGROUND OF THE INVENTION

The present invention relates to a vehicle-mounted terminal for generating a cipher key for security protection.


Electronization of vehicle-mounted terminals has progressed in the field of vehicles because of an increased demand for safety, good environments and ease of use. For example, a hybrid car mounts not only a conventional gasoline engine but also an electronic motor and an inverter which are important electronic components cooperating with the gasoline engine. In-vehicle networks such as a controller area network (CAN) and a local interconnect network (LIN) are also prevailing in order to realize cooperation between electronic control units (ECUs) for controlling vehicle electronic components. Use of VRM terminals is expanding which terminals are used for collecting vehicle information via an in-vehicle network and storing the vehicle information in a storage medium such as a memory and a hard disc drive (HDD), in order to confirm thereafter trouble information and event information. VRM (an acronym for vehicle relationship management) is a technique of increasing an added value of a vehicle by providing new services such as remote maintenance by collecting, accumulating and utilizing vehicle information.


If vehicle information relates to vehicle control/diagnosis and driver behavior, security of collected data is often required so that ciphering is necessary for security protection. In order to retain sufficient safety, a general information system generates dynamically at each site a random number as a cipher key. It is known that a random number includes an “arithmetic random number (pseudo random number)” obtained from a predetermined algorithm and a “physical random number” obtained from physical phenomena.


As a technique of generating an arithmetic random number, JP-A-10-247140 describes a technique that a bit string generated by a 16-bit free-running counter is sequentially shifted by 16 bits to right and a new freerun count is loaded to left end 16 bits to thereby generate a long random number with small scale hardware. As a technique of generating a physical random number, JP-A-2001-005383 describes a technique that a random number is generated from an output value of a temperature sensor unable to be predicted from an external.


SUMMARY OF THE INVENTION

In generating an “arithmetic random number” according to JP-A-10-247140, since there is a case in which the same random number is generated from the same initial value, it is necessary to change the initial value each time by a freerun counter or the like. Since the counter itself has periodicity, a random number to be generated can be predicted by collecting output random numbers. Namely, if a random number difficult to be estimated from an outsider is to be generated by this method, it is necessary to use a random number generation method having a complicated procedure, raising cost for realizing this method.


In generating a “physical random number” according to JP-A-2001-005383, it is necessary to add a sensor for capturing physical phenomenon, raising cost.


An object of the present invention is to provide an apparatus capable of generating a random number difficult to be estimated by an outsider, without adding an apparatus such as a sensor.


A terminal of the present invention to be connected to a network comprises: a data acquisition unit for acquiring first data from the network; an extraction unit for extracting second data regarding a physical quantity in accordance with the first data; a random number generation unit for generating a random number in accordance with the second data; and an enciphering unit for enciphering the first data in accordance with the random number.


According to the present invention, it is possible to provide an apparatus capable of generating a random number difficult to be estimated by an outsider, without adding an apparatus such as a sensor.


Other objects, features and advantages of the invention will become apparent from the following description of the embodiments of the invention taken in conjunction with the accompanying drawings.




BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 is a functional block diagram of a vehicle system to which the present invention is applied.



FIG. 2 is a diagram showing the structure of hardware of a VRM terminal.



FIG. 3 is a flow chart illustrating an operation of enciphering collected data.



FIG. 4 is a diagram showing a list of CAN IDs.



FIG. 5 is a diagram showing the structure of CAN data.



FIG. 6 is a table from which vehicle data is extracted.



FIG. 7 is a table in an information management unit.




DESCRIPTION OF THE EMBODIMENT

With reference to the accompanying drawings, description will be made on a method of generating a key to be used for enciphering vehicle information collected by a vehicle-mounted terminal. The vehicle-mounted terminal means a terminal mounted on a vehicle, and includes a VRM terminal and ECUs. Vehicle information indicates physical quantity data such as an engine speed, a yaw rate, an acceleration rate, a steering angle, a fuel injection quantity and a target torque value. The engine speed, yaw rate, acceleration rate, steering angle and fuel injection quantity are running information indicating a running state of the vehicle. The target torque value is vehicle control information. The running information and control information is information changing from time to time as the vehicle runs.



FIG. 1 is a diagram showing functional blocks of a vehicle system.


A VRM terminal 101 collects information exchanged between an ECU 102a to an ECU 102c via a control network which ECUs control vehicle components (such as an engine and a brake of the vehicle). In this example, although the control network is assumed to be CAN, it is not limited only thereto. The control network interconnects apparatus (such as ECU) in the vehicle.


A data acquisition unit 104 acquires CAN data packing vehicle information flowing on CAN 103, and temporarily stores it in a data management unit 107 of an information management unit 105. The data management unit 107 stores vehicle information extracted from the CAN data. A counter unit 110 counts the number of acquired data (packets). An extraction unit 106 of the information management unit 105 extracts vehicle information from the CAN data stored in the data management unit 107. An information storing unit 114 stores the CAN data stored in the data management unit 107 in an information accumulation unit 115 for a long period of time. An enciphering unit 113 acquires as a cipher key a random number generated by a random number generation unit 112, and by using this cipher key, enciphers the CAN data stored in the data management unit 107. The random number generation unit 112 generates a random number in accordance with a value (hereinafter called a random number seed) set by a setting unit 111. An information output unit 116 outputs information accumulated in the information accumulation unit 115 to an external tool 117.



FIG. 2 is a diagram showing the structure of hardware of the VRM terminal. The VRM terminal 101 is constituted of: a microcomputer (hereinafter abbreviated to MC) 201; a power source management unit 211 for managing a power source; a reset IC 212 for outputting a reset signal to MC 201 when a power source voltage lowers; a watch dog timer 206 for generating a reset signal upon a system runaway during monitoring a system clock; a battery (BAT) interface 214; an ignition switch (IGN) interface 215; a transceiver 208 as a physical input/output interface for transmission/reception relative to CAN 103; a controller 207 for processing CAN data as digital information; an external RAM 209 and an external FROM (flash ROM). In the transceiver 208, a transmitter (Tx) 217 transmits a signal to CAN 103, and a receiver (Rx) 218 receives a signal from CAN 103. The power source management unit 211 receives power from the battery (BAT) interface 214 when an IGN signal from the ignition switch (IGN) interface 215 is ON. An earth (GND) 216 is connected, for example, to a vehicle body, serving as a reference voltage point of the VRM terminal 101.


MC 201 is constituted of a CPU 203, an internal RAM 204, an internal FROM 205 and an internal bus 202 interconnecting these constituent elements.


CPU 203 loads a program stored in the internal FROM 205 (or external FROM 210) into the internal RAM 204 (or external RAM 209) to conduct processing.


The internal RAM 204 (or external RAM 209) stores data shown in FIGS. 4, 6 and 7 to be described later, and has a role of the information storing unit 114.


The internal FROM 205 (or external FROM 210) stores programs having the functions of the data acquisition unit 104, information management unit 105 (including the extraction unit 106 and data management unit 107), enciphering unit 113, information storing unit 114, counter unit 110, setting unit 111, random number generation unit 112, information output unit 116 and the like described with reference to FIG. 1, and also has a role of the information accumulation unit 115. A RAM and an FROM of large capacity may be built in without using the external RAM and FROM.


The VRM terminal 101 and external tool 116 conduct communications via a serial communication interface (SCI) 213, or may conduct communications via CAN 103.


The functions described with reference to FIG. 1 may be realized by hardware. Programs for realizing these functions may be transferred from a storage medium such as a CD-ROM or may be downloaded from another apparatus via the network.



FIG. 3 is a flow chart illustrating a process of enciphering collected vehicle information and accumulating it. In the following, although description will be made as if the functional blocks described with reference to FIG. 1 are hardware (as if the functional blocks are processing subjects), it is needless to say that the subject for realizing the functions by software is CPU 203 for executing programs.


First, the data acquisition unit 104 acquires collection target CAN data from CAN 103 (Step 301). A list of CAN data to be collected is registered in advance in the data acquisition unit 104. An example of a collection data list is shown in FIG. 4. As shown in FIG. 5, CAN data is constituted of a CAN ID 501, a CTL 502, a data field 503, a CRC 504 and an ACK 505. CAN ID 501 is an identifier for identifying CAN data. CTL 502 is information for controlling CAN data. The data field 503 is a core portion storing actual control information. CRC 504 is error detection code, and ACK 505 is delivery confirmation information. The list shown in FIG. 4 lists up CAN IDs 501 of CAN data to be collected.


Next, the data acquisition unit 104 temporarily stores the acquired CAN data in the data management unit 107 (Step 302). At this time, the counter unit 110 may count the number of CAN data (packets). The data management unit 107 buffers the whole CAN data with time stamps of a designated data capacity (e.g., 10 MB).


Next, the extraction unit 106 extracts vehicle information from the CAN data stored in the data management unit 107 (Step 303). Specifically, a corresponding bit string is picked up from the data field 503, this bit string is input to a predetermined conversion formula, and the resultant output is used as vehicle information. FIG. 6 shows an example of a reference table to be used for extracting vehicle information from CAN data. This table is constituted of: a name 601 indicating a type of vehicle information; a CAN ID 501 for identifying a type of vehicle information; a bit position 602 indicating the start of data; a data length 603 indicating a length of the whole data; and a conversion formula 604 for inputting an obtained bit string and outputting an actual physical quantity. For example, in order to acquire an “engine speed”, CAN data having CAN ID 501 of “123” is acquired, and a bit string is acquired which is 8 bits from the 7-th bit from the start of the data field 503. This bit string is input to the conversion formula 604, and the obtained data is used as the “engine speed”. The information management unit 105 affixes a time stamp indicating a time when the CAN data is acquired, to the acquired vehicle information, and manages a history of the predetermined number of CAN data (e.g., 10 packets). FIG. 7 is an internal data table of the information management unit 105, the table indicating collection results of CAN data.


Next, it is judged whether a capacity of the data management unit 107 for storing CAN data is full (Step 304), and if full, this event is informed to the enciphering unit 113 (Step 305). If not full, the flow returns to Step 301. A threshold value may be set to the capacity, and if the capacity exceeds the threshold value, this event is informed. The event may be informed at other timings. Alternatively, the event may be informed directly to the setting unit 111 without involvement of the enciphering unit 113.


Next, upon reception of the event, the enciphering unit 113 instructs the setting unit 111 to set a random number seed. The setting unit 111 sets a value (e.g., the latest value) whose history is managed by the information management unit 105 to the random number seed. In this case, a value counted by the counter unit 110 may be set. The random number seed may be set as either the value whose history is managed by the information management unit or the value counted by the counter unit 110 (Step 306). Thereafter, the setting unit 111 passes the set random number seed to the random number generation unit 112.


The random number generation unit 112 generates a random number in accordance with the random number seed passed from the setting unit 111, and passes as a cipher key a random number of 128 bits to the enciphering unit 113 (Step 307). A method of generating a random number from a random number seed may be a method of using a random number generation function (argument is the random number seed) prepared as a library of a general programming language such as C and Java (registered trademark).


The enciphering unit 113 acquires the CAN data from the data management unit 107, enciphers the CAN data by using the cipher key passed from the random number generation unit 112, and passes the enciphered data to the information storing unit 114 (Step 308). The CAN data to be enciphered may be the CAN data which was used as a generation basis of the cipher key, or may be the CAN data which was not used as a generation basis of the cipher key. Thereafter, the information storing unit 114 stores the enciphered data in the information accumulation unit 115 (Step 309). As the enciphering algorithm, a common key enciphering algorithm such as AES used as standards may be used. A cipher key used for enciphering is enciphered by using a public key designated beforehand and additionally stored in the information accumulation unit 115. A unit combining the functions of the random number generation unit 112 and setting unit 111 may be used as a random number generation unit. The enciphered data stored in the information accumulation unit 115 may be output to the external tool 117 from the information output unit 116 when the VRM terminal 101 is connected to the external tool 117. The external tool 117 may have a deciphering algorithm corresponding to the enciphering algorithm and the reference table (FIG. 6) to be used for extracting vehicle information from CAN data.


According to the embodiment, as a seed for random number generation (random number seed), not a preset value but vehicle information matching the operation state of a vehicle-mounted terminal is used. It is therefore difficult for an outsider to obtain information on a random number seed from the outside of the vehicle-mounted terminal and estimate the cipher key as a random number. Even if a copy of the vehicle-mounted terminal is formed because of external leak of the specifications of the vehicle-mounted terminal and the identify-theft terminal is connected to the same network as that of the real vehicle-mounted terminal, a probability of estimating a cipher key can be made very low because the random number seed is randomly selected from a plurality of seed candidates.


Although the vehicle-mounted terminal has been described, it is obvious that the present invention is applicable to terminals other than the vehicle-mounted terminal. For example, information on semiconductor manufacture apparatus is monitored in order to improve a manufacture yield. In this case, by installing the terminal of the embodiment in semiconductor manufacture apparatuses, it is possible to collect information on the semiconductor manufacture apparatuses with high security protection, similar to vehicles. In this case, information to be collected is physical quantity data such as a liquid chemical discharge pressure, a gas supply pressure, a motor revolution speed and a vacuum degree.


It should be further understood by those skilled in the art that although the foregoing description has been made on embodiments of the invention, the invention is not limited thereto and various changes and modifications may be made without departing from the spirit of the invention and the scope of the appended claims.

Claims
  • 1. A terminal to be connected to a network, comprising: a data acquisition unit for acquiring first data from said network; an extraction unit for extracting second data regarding a physical quantity in accordance with said first data; a random number generation unit for generating a random number in accordance with said second data; and an enciphering unit for enciphering said first data in accordance with said random number.
  • 2. The terminal according to claim 1, wherein said data acquisition unit holds an ID of said first data, and acquires said first data in accordance with said ID.
  • 3. The terminal according to claim 1, further comprising a counter unit for counting the number of said first data, wherein said random number generation unit generates a random number in accordance with said second data or a value counted by said counter unit.
  • 4. The terminal according to claim 1, wherein: the terminal is mounted on a vehicle; said network is installed in said vehicle to interconnect apparatus in said vehicle; said second data is running information or control information of said vehicle; and said first data is data obtained by packing the running information or control information of said vehicle.
  • 5. The terminal according to claim 1, wherein said extraction unit extracts a bit string corresponding to a storage position of said second data from said first data, and extracts said second data by converting said bit string by using a predetermined conversion formula.
  • 6. The terminal according to claim 1, further comprising correspondence information between identification information of said second data, identification information of said first data, a storage position of said second data in said first data, a data length of said second data, and a conversion formula for converting a bit string in said first data into said second data, wherein said extraction unit extracts a bit string corresponding to a storage position of said second data from said first data by referring to said correspondence information, and extracts said second data by converting said bit string by using a conversion formula and by referring to said correspondence information.
  • 7. A terminal to be connected to a network, comprising: a data acquisition unit for acquiring first data from said network; a counter unit for counting the number of said first data; a random number generation unit for generating a random number in accordance with a value counted by said counter unit; and an enciphering unit for enciphering said first data in accordance with said random number.
  • 8. A program executable by a computer, comprising: a data acquisition program module having a portion of acquiring first data from a network; an extraction program module having a portion of extracting second data regarding a physical quantity in accordance with said first data; a random number generation program module having a portion of generating a random number in accordance with said second data; and an enciphering program module having a portion of enciphering said first data in accordance with said random number.
  • 9. The program according to claim 8, further comprising a counter program module having a portion of counting the number of said first data, wherein said random number generation program module has a portion of generating a random number in accordance with said second data or a value counted by said counter program module.
  • 10. A program executable by a computer, comprising: a data acquisition program module having a portion of acquiring first data from a network; a counter program module having a portion of counting the number of said first data; a random number generation program module having a portion of generating a random number in accordance with a value counted by said counter unit; and an enciphering program module having a portion of enciphering said first data in accordance with said random number.
Priority Claims (1)
Number Date Country Kind
2005-312148 Oct 2005 JP national