Abstract:
This system relates to a secure encryption/decryption protocol for elevator displays and controls. The protocol uses an algorithm to scramble information before transmission and reassemble it after transmission. The system uses at least one block of data assembled into unencrypted N-bits of information. An encryption device encodes the data into at least one block of encrypted M-bits of information. A data encryption mask provides an encryption routine which also includes scrambling the data.

Description:
TECHNICAL FIELD  
         [0001]    This invention relates to secure encryption/decryption protocol for elevator displays and controls. The protocol uses an algorithm to scramble information before transmission and reassemble it after transmission.  
         BACKGROUND OF THE INVENTION  
         [0002]    Data encryption provides security for transmitted data by scrambling the “clear text” data into “scrambled text”. Typically, the transmitted data is scrambled in a manner selected by a unique key value. For example, this could be a 56-bit binary number. This then is unscrambled at the receiving station by a reverse process.  
           [0003]    The present invention relates to a communication device for an elevator control system. The communication device performs data communication in a data communication network of the elevator control system.  
           [0004]    More specifically, the communication protocol sends information to the elevators displays and controls. In the past, the format was extremely straightforward and easy to comprehend. Because of the straightforward manner in which the protocol was carried out, it was very insecure. A method and apparatus for generating secure elevator protocols was needed.  
         BRIEF SUMMARY OF THE INVENTION  
         [0005]    The process and apparatus of this invention uses a secure communication in an elevator display and control systems. A primary controller provides information or controls the internal operations of at least one elevator. The system uses at least one block of data assembled into unencrypted N-bits of information, and an encryption device that encodes the data into at least one block of encrypted M-bits of information. A data encryption mask defines an encryption routine for placing the N-bits of information into M-bits of information using an algorithm. A transmitter transmits encrypted data from the primary controller of an elevator; and a decryption algorithm decodes the encrypted information into unencrypted information.  
           [0006]    Within the old protocol, three basic packets were transmitted, a floor packet, a message packet, and a travel packet.  
           [0007]    The floor packet could be broken down in to a floor header, a floor number, three ASCII characters describing the floor (i.e. LBY for Lobby), and some miscellaneous bits. The message packet would contain a message header, message number, three message characters, and some message bits. The travel packet would contain floor numbers, message numbers and single bits each representing a flag for a particular event like door strobes, chimes, up arrows, down arrows, and the like.  
           [0008]    As mentioned above, these data packets were very insecure. It would be a simple matter for a person of skill to pick apart the data and discover how to use it. The ASCII information is especially easy to comprehend.  
           [0009]    During the encryption, a data encryption mask is employed. The data encryption mask defines the encryption routine where all of the data bits should be placed. There are several data encryption masks. The decoding key bits make up a word that describes which mask was used during the encryption process.  
           [0010]    In order to reassemble the information, an algorithm receives all three encrypted packets, determine which packet is which based upon the type nibble, resolves which encryption mask was employed when the data was scrambled, and then uses that same encryption mask to decipher the data and place it back into the floor, message and travel packets.  
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0011]    [0011]FIG. 1 is a block diagram for the elevator control system of this invention.  
         [0012]    [0012]FIG. 2 is a block diagram for the primary and subordinate controllers of this invention.  
         [0013]    [0013]FIG. 3 is a flow chart showing the process steps for encryption according to the present invention.  
         [0014]    [0014]FIG. 4 is a flow chart showing the encryption in greater detail.  
         [0015]    [0015]FIG. 5 is a flow chart showing the process steps for decryption according the present invention.  
         [0016]    [0016]FIG. 6 is a flow chart showing the decryption in greater detail. 
     
    
     DETAILED DESCRIPTION OF THE INVENTION  
       [0017]    In a preferred embodiment, the primary controller controls operations of a plurality of elevators and a plurality of subordinate controllers controls inputs to and outputs from the elevators. The system works well with a single elevator as well as multiple elevators.  
         [0018]    [0018]FIG. 1 is a block diagram for elevator control system  10  of this invention. System  10  includes controller  12  for controlling the internal operations of elevators  14 . Controller  12  manages elevator operations and communicates with MICRO COMM® Driver  18 . Driver  18  communicates through communication device  16  which is a network of common series transmission lines. Control  12  includes MICRO COMM® Driver  18 . System  10  transmits information pertaining to floor, door position, and direction through MICRO COMM® link  18 . MICRO COMM® is a registered trademark for elevator controls and floor indicators. Elevators  14  display information through elevator controls  20  which include displays which are visible in the cabs of the elevators. Hall displays  22  provide information in the lobbies and floors of buildings. Other displays  24  provide information where needed.  
         [0019]    [0019]FIG. 2 shows the components and operation of driver  18  and controls  20  which include MICRO COMM® receiver  30 . Driver  18  includes data source  32  providing bits of information to encryption algorythm  34 . Microprocessors  36  stores algorythm  34 . Microprocessor  36  using algorythm  34  transmits encrypted information through driver circuit  38 . Receiver  30  receives the encrypted information through receiver circuit  40 . Circuit  40  transmits the encrypted information to microprocessor  42  through decryption algorythm  44 . Algorythm  44  decodes the information and processor  42  sends the decrypted information to display  46 . While control  20  is described in FIG. 2, displays  22  and  24  include similar controls.  
         [0020]    FIGS.  3 - 6  are the flow charts for encryption and decryption according to this invention. FIGS. 3 and 4 shows the steps needed for taking unencoded information, selecting an encryption mask, calling the encryption algorithm and transmitting encrypted data. FIGS. 5 and 6 shows the steps for receiving transmitted encoded packets, calling the decryption algorithm, decoding the encrypted packets and using the decoded messages.  
         [0021]    Encoding Description:  
         [0022]    Prior to encoding any of the information, the data is assembled into 28 bits of floor information, 28 bits of message information, and 28 bits of travel information. These packets are very similar to the old packets where the floor packet would consist of a floor number, floor ASCII, and some miscellaneous bits. The other two packets are similar as well.  
         [0023]    Then, the data is encoded into three 40-bit packets. These encoded packets are comprised of a start bit, type nibble (4-bits), decoding key bit, encrypted data, decoding key bit, checksum, and a stop bit. The type bits and the decoding key bits are not encrypted.  
         [0024]    During the encryption, a data encryption mask is employed. The data encryption mask defines to the encryption routine where all of the data bits should be placed. There are several data encryption masks. The decoding key bits make up a word that describes which mask was used during the encryption process.  
         [0025]    Bits from the structured 28-bit floor packet are scattered across all three of the encoded messages inside the encrypted portion of the data. The organized message and travel packets are scattered across the encoded messages in a similar fashion.  
         [0026]    When the encryption is complete, three 40-bit packets house all of the floor, message and travel information. However all of the data has been scrambled based upon the encryption mask.  
         [0027]    Decoding Description:  
         [0028]    In order to reassemble the information, an algorithm will need receive all three encrypted packets, determine which packet is which based upon the type nibble, resolve which encryption mask was employed when the data was scrambled, and then use that same encryption mask to decipher the data and place it back into the floor, message and travel packets.  
         [0029]    Prior to encoding and after decoding the Floor Packet looks like this:  
                                               Bit   Floor Number (bit 7)   Bit   Floor ASCII MidNibble (bit       27       13   5)       Bit   Floor Number (bit 6)   Bit   Floor ASCII MidNibble (bit       26       12   4)       Bit   Floor Number (bit 5)   Bit   Floor ASCII MidNibble (bit       25       11   3)       Bit   Floor Number (bit 4)   Bit   Floor ASCII MidNibble (bit       24       10   2)       Bit   Floor Number (bit 3)   Bit   Floor ASCII MidNibble (bit       23       9   1)       Bit   Floor Number (bit 2)   Bit   Floor ASCII LSNibble (bit 5)       21       7       Bit   Floor Number (bit 0)   Bit   Floor ASCII LSNibble (bit 4)       20       6       Bit   Floor ASCII MSNibble (bit 5)   Bit   Floor ASCII LSNibble (bit 3)       19       5       Bit   Floor ASCII MSNibble (bit 4)   Bit   Floor ASCII LSNibble (bit 2)       18       4       Bit   Floor ASCII MSNibble (bit 3)   Bit   Floor ASCII LSNibble (bit 1)       17       3       Bit   Floor ASCII MSNibble (bit 2)   Bit   Floor ASCII LSNibble (bit 0)       16       2       Bit   Floor ASCII MSNibble (bit 1)   Bit   Spare Bit (SPARE 2 bit 3)       15       1       Bit   Floor ASCII MSNibble (bit 0)   Bit   Spare Bit (SPARE 2 bit 2)       14       0                  
 
         [0030]    Prior to encoding an after decoding the Message Packet looks like this:  
                                               Bit   If this bit is set, the packet is   Bit   Message ASCII MidNibble       27   not a message packet, and bits       (bit 5)           26-0 are reserved for future           expansion.       Bit   Message Number (bit 6)   Bit   Message ASCII MidNibble       26       12   (bit 4)       Bit   Message Number (bit 5)   Bit   Message ASCII MidNibble       25       11   (bit 3)       Bit   Message Number (bit 4)   Bit   Message ASCII MidNibble       24       10   (bit 2)       Bit   Message Number (bit 3)   Bit   Message ASCII MidNibble       23       9   (bit 1)       Bit   Message Number (bit 2)   Bit   Message ASCII MidNibble       22       8   (bit 0)       Bit   Message Number (bit 1)   Bit   Message ASCII LSNibble (bit       21       7   5)       Bit   Message Number (bit 0)   Bit   Message ASCII LSNibble (bit       20       6   4)       Bit   Message ASCII MSNibble (bit   Bit   Messaage ASCII LSNibble       19   5)   5   (bit 3)       Bit   Message ASCII MSNibble (bit   Bit   Message ASCII LSNibble (bit       18   4)   4   2)       Bit   Messzage ASCII MSNibble (bit   Bit   Message ASCII LSNibble (bit       17   3)   3   1)       Bit   Message ASCII MSNibble (bit   Bit   Message ASCII LSNibble (bit       16   2)   2   0)       Bit   Message ASCII MSNibble (bit   Bit   Spare Bit (SPARE 2 bit 1)       15   1)   1       Bit   Message ASCII MSNibble (bit   Bit   Spare Bit (SPARE 2 bit 0)       14   0)   0                  
 
         [0031]    Prior to encoding an after decoding the Travel Packet looks like this:  
                                               Bit   Arrival Arrow Up   Bit   Fire Service       27       13       Bit   Arrival Arrow Down   Bit   Fire Alternate       26       12       Bit   Rear Arrival Up   Bit   Play Strobe       25       11       Bit   Rear Arrival Down   Bit   SPARE 1 (bit 7)       24       10       Bit   Travel Arrow Up   Bit   SPARE 1 (bit 6)       23       9       Bit   Travel Arrow Down   Bit   SPARE 1 (bit 5)       22       8       Bit   Gong Up   Bit   SPARE 1 (bit 4)       21       7       Bit   Gong Down   Bit   SPARE 1 (bit 3       20       6       Bit   Rear Gong Up   Bit   SPARE 1 (bit 2)       19       5       Bit   Rear Gong Down   Bit   SPARE 1 (bit 1)       18       4       Bit   Double Gong Down   Bit   SPARE 1 (bit 0)       17       3       Bit   Passing Chime   Bit   SPARE 2 (bit 6)       16       2       Bit   Fire Priority A   Bit   SPARE 2 (bit 5)       15       1       Bit   Fire Priority B   Bit   SPARE 2 (bit 4)       14       0                  
 
         [0032]    Three packets for transmission after Encryption:  
                                                           Packet #   Bit 1   Bits 2-5   Bit 6   Bits 7-34   Bit 35   Bits 36-39   Bit 40                   1   Start Bit   Type   Decode   Encoded   Decode   Checksum   Stop Bit               Nibble   Key Bit 0   Data   Key Bit 3       2   Start Bit   Type   Decode   Encoded   Decode   Checksum   Stop Bit               Nibble   Key Bit 1   Data   Key Bit 4       3   Start Bit   Type   Decode   Encoded   Decode   Checksum   Stop Bit               Nibble   Key Bit 2   Data   Key Bit 5                  
 
         [0033]    In addition to these embodiments, persons skilled in the art can see that numerous modifications and changes may be made to the above invention without departing from the intended spirit and scope thereof.