Abstract:
A memory authentication technique for field maintenance tools is provided. A non-volatile electronic memory includes a unique software identifier. A non-reversible algorithm is applied to the unique software identifier to obtain a result. The result is then encrypted and compared with a stored encrypted result previously stored on the electronic memory. Based upon this comparison, the tool can be fully enabled, fully disabled, or selectively enabled.

Description:
BACKGROUND OF THE INVENTION  
         [0001]    Intrinsically safe field maintenance tools are known. Such tools are highly useful in the process control and measurement industry to allow operators to conveniently communicate with and/or interrogate field devices in a given process installation. Examples of such process installations include petroleum, pharmaceutical, chemical, pulp and other processing installations. In such installations, the process control and measurement network may include tens or even hundreds of various field devices which periodically require maintenance to ensure that such devices are functioning properly and/or calibrated. Moreover, when one or more errors in the process control and measurement installation is detected, the use of an intrinsically safe handheld field maintenance tool allows technicians to quickly diagnose such errors in the field.  
           [0002]    One such device is sold under the trade designation Model 275 HART® Communicator available from Fisher-Rosemount Systems, Inc., of Eden Prairie, Minnesota. HART® is a registered trademark of the HART® Communication Foundation. The Model  275  provides a host of important functions and capabilities and generally allows highly effective field maintenance.  
           [0003]    Intrinsic Safety requirements are intended to guarantee that instrument operation or failure cannot cause ignition if the instrument is properly installed in an environment that contains explosive gasses. This is accomplished by limiting the maximum energy stored in the transmitter in a worst case failure situation. Excessive energy discharge may lead to sparking or excessive heat which could ignite an explosive environment in which the transmitter may be operating.  
           [0004]    Examples of intrinsic safety standards include European CENELEC standards EN50014 and 50020, Factory Mutual Standard FM3610, the Canadian Standard Association, the British Approval Service for Electrical Equipment in Flammable Atmospheres, the Japanese Industrial Standard, and the Standards Association of Australia.  
           [0005]    In order to ensure stringent compliance with automation industry safety protocols and specifications, only equipment certified by an independent agency can be used in such locations. Any component of a handheld field maintenance tool which is removable must be replaced with another component that also satisfies all requisite safety requirements.  
           [0006]    Another difficulty for modern intrinsically safe handheld field maintenance tools is that such tools can be provided with varying levels of functionality. Often times this functionality is controlled by software selections that are generated based upon a user purchasing specific groups of functionality. Since electric removable storage media usable with such devices is inherently portable, it is important to provide an authentication regime that not only ensures that electronic memory placed within the handheld field maintenance tool complies with intrinsic safety requirements, but also that such memory contains licensed code and not unauthorized software.  
         SUMMARY OF THE INVENTION  
         [0007]    A memory authentication technique for field maintenance tools is provided. A non-volatile electronic memory includes a unique software identifier. A non-reversible algorithm is applied to the unique software identifier to obtain a result. The result is then encrypted and compared with a stored encrypted result previously stored on the electronic memory. Based upon this comparison, the tool can be fully enabled, fully disabled, or selectively enabled. 
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0008]    [0008]FIG. 1 is a diagrammatic view of an industrial process control and measurement environment in which embodiments of the invention are useful.  
         [0009]    [0009]FIG. 2 is a flow diagram of a method for authenticating electronic non-volatile memory for a handheld field maintenance tool in accordance with the embodiment of the present invention.  
     
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS  
       [0010]    [0010]FIG. 1 illustrates an exemplary system in which embodiments of the present invention are useful. System  10  includes controller  12 , I/O and control sub-system  14 , intrinsic safety (IS) barrier  16 , process communication loop  18  and field devices  20 . Controller  12  is coupled to I/O and control sub-system  14  via link  21  which can be any suitable link such as a local area network (LAN) operating in accordance with Ethernet signaling protocols or any other suitable protocol. I/O and control sub-system  14  is coupled to intrinsic safety barrier  16  which in turn is coupled to process communication loop  18  to allow data communication between loop  18  and I/O and control sub-system  14  in a manner that limits energy passing therethrough.  
         [0011]    In this illustration, process communication or process control loop  18  is a FOUNDATION™ fieldbus process communication loop and is coupled to field devices  20 , which are shown coupled arranged in a multi-drop configuration. An alternative process communication loop (not shown) is an HART® process communication loop. FIG. 1 illustrates a multi-drop wiring configuration that vastly simplifies system wiring compared to other topologies such as the star topology. Multi-drop HART® configurations support a maximum of 15 devices, while multi-drop FOUNDATION™ Fieldbus configurations support a maximum of 32 devices.  
         [0012]    While embodiments of the present invention will be described with respect to Secure Digital (SD) memory cards, it is expressly contemplated that embodiments of the present invention may be practiced with any form of electronic non-volatile memory.  
         [0013]    The Secure Digital card is a very secure small-sized flash memory card. The SD card is currently used in a wide variety of consumer products. Such products include, for example, digital video camcorders, digital music players, car navigation systems, smart phones, electronic books, cellular phones and handheld computing devices. Each SD card has a unique software identifier known as the CID. This software identifier is in essence a unique serial number but can also be defined to mean other information. It should be noted that the CID is permanently stored on the SD card and not changeable by re-formatting the SD card. This unique, non-changeable software identifier can be used by an application in the handheld tool to ensure that the memory card is approved for use in a hazardous environment as well as for authenticating one or more aspects of software licensing for software contained within the electronic memory card. For example, to guard against copyright violations of a software application, an Identification Code file (that resides as a hidden file on the SD card) is created based upon the software identifier (CID). This Identification Code file is created by running the software identifier (CID) through an algorithm and then encrypting the results such that the process cannot be reverse-engineered. This process can be performed by encoding of the file checksum followed by encryption of the entire file (including the checksum) using a keyed exclusive OR pattern, for example.  
         [0014]    When the electronic memory card is placed into its host unit (handheld field maintenance tool) an application in the host reads both the software identifier and the Identification Code file. The host then repeats the process of running the software identifier through the algorithm and encrypting the results. This result is then compared to that contained in the Identification Code file. Only the card that has a valid Identification Code file will match the host-generated result. Only that unit will become functional. In units where a mismatch occurs, all or parts of the functionality of the tool will be disabled. If the Identification Code file was copied from one SD card to another, the host-generated result will not match that contained in the Identification Code file. The host would then use the software identifier of the new SD card while the file contained a result generated with the original software identifier.  
         [0015]    To increase the flexibility of this authentication technique, the algorithm can also include a series of options that make the resultant Identification Code file unique to one or more selected options. For example, this includes the option to allow for programming of the handheld tool as well as the option to allow execution of a FOUNDATION™ Fieldbus application on the tool.  
         [0016]    Once the process described above determines that the electronic memory card is valid for use with the handheld field maintenance tool, the tool can then read the Identification Code file to determine which option(s) are to be enabled on the handheld tool. In other words, the handheld tool can be shipped containing all of the hardware and software necessary for various options, with only options purchased by the user authorized and accordingly enabled.  
         [0017]    For a user to license additional functionality, the Identification Code file for a particular SD card is replaced or modified. This can be done by replacing the entire card with one that contains the desired license, or it can be done through an external connection of the handheld field maintenance tool. Preferably, the handheld field maintenance tool will contain an infrared data access port that can be used to interface to a personal computer or in some cases directly to a network such as the internet. In either case, the user can access a website, or other destination, that contains an upgrade application. When the user starts the process, a request is made to have the software identifier and the license information passed to the internet database. An interactive application on a remote device, such as a server, will then display the license identity of the electronic media card. The user can then select which additional functionality he or she would like to add. At this point, a financial exchange, password or some other appropriate means of managing this feature is enforced. Once the step is complete, an Identification Code file based on the SD card software identifier and the newly licensed functionality is created via a new Identification Code file. This new file is sent to the portable tool via the personal computer and the infrared data access interface. The host unit will now contain functionality based on the new licensing.  
         [0018]    The Identification Code file also preferably contains information that identifies the SD card as qualifying or otherwise meeting one or more requisite safety criteria for use in a hazardous area. Thus, not only will software licensing be facilitated, but only the use of approved memory cards will occur in the hazardous environments sometimes found in the process industry field.  
         [0019]    [0019]FIG. 2 is a flow diagram of a method for authenticating electronic non-volatile memory for a handheld field maintenance device, and/or authenticating software licenses thereon. At block  100 , an application on an external computing device such as desktop computer, is started. The external computing device is coupled to handheld field maintenance tool  22 , preferably via an infrared data access port, and at block  102 , the handheld field maintenance tool is queried to establish communications between the external computing device and the handheld field maintenance tool.  
         [0020]    At block  104 , it is determined whether the handheld field maintenance tool has successfully established communications with the external computing device. If communications have not been established, control returns via block  106  to block  102  where communications are attempted again. In the event that the handheld field maintenance tool does establish communications with the external computing device, a request is sent from the external computing device to the handheld field maintenance tool for the tool to provide the software version information for the tool to the external computing device, as indicated at block  108 . Subsequently, at block  110 , the programmable license status is queried from the handheld field maintenance tool. At block  112 , the queried information is reviewed to determine if both the software version and the license status are current. If this determination is in the negative, control passes to block  114  where it is determined whether the handheld field maintenance tool is safety flagged. In other words, it is determined whether the Identification Code file contains information indicating that the SD card within the handheld field maintenance tool complies with requisite safety regulations.  
         [0021]    If the handheld field maintenance tool is flagged for safety regulations, control passes to block  116  where information is sent to the application to have the user thereof confirm an upgrade. If the user confirms the upgrade, control passes to block  118  where upgraded handheld field maintenance tool software and/or license information is passed to the handheld field maintenance tool. After block  118 , control returns to block  108  where the handheld field maintenance tool software version information is queried again.  
         [0022]    If during block  116 , the user does not confirm the software and/or functionality upgrade, control passes to block  120  which determines whether the user of the application has finished maintenance/transfer operations. If the user indicates that he or she is finished, control passes to block  122  where the application on the external computing device ends. However, if the user indicates that further maintenance is required, then control passes to block  124  and a maintenance process is executed. If at block  120  the user indicates that a transfer process is requested, then control passes to block  126  where such process is initiated.  
         [0023]    Returning to the determination at block  114  regarding whether the handheld field maintenance tool is safety flagged, if that determination is in the negative, then control passes to block  128  where it is determined whether the electronic memory is programmable. If the memory is not programmable, control passes to block  120 . However, if the memory is programmable, control passes to block  116  and thereafter as indicated above.  
         [0024]    Although the present invention has been described with reference to preferred embodiments, workers skilled in the art will recognize that changes may be made in form and detail without departing from the spirit and scope of the invention. For example, while authentication has been described above using the unique software identifier on the memory, additional unique identifiers, such as a serial number of the handheld tool, can be used to essentially lock a memory card to a handheld tool.