Abstract:
Method to authenticate identification between two remote entities that had for once performed a direct contact and wishes to conduct later on an indirect repetitive communication over a public media (such as an electronic, electromagnetic, or sonic media) that is both easy to operate, highly strong, and produces an automatic confirmation of all the previous connections, and provides a base for encryptions—all in one action.

Description:
BACKGROUND OF THE INVENTION  
         [0001]    In a situation where two entities communicate with each other, there is sometimes a need of one entity to authenticate the identity of the other.  
           [0002]    Natural communication holds a wide range of means to authenticate the entity that you are in contact with. A location oriented authentication (this is the bank manager&#39;s room, so I acknowledge the guy in the big chair to be the bank manager as he claims to be). Natural biometric (her voice, his figure, the smell, etc.). A history match (he came in the time they said the technician would come? He knows who ordered him? He knows how to fix the machine? These are pieces of information that confirm that he has the history of the technician we asked for, so I accept his saying so.)  
           [0003]    A remote communication that is conducted over a public media such as an electronic or electromagnetic media, especially a digitized one, is characterized in a total derogation of all of the natural means of authentication.  
           [0004]    For such communication, when at least one of the sides is a computing machine, the preferred (and maybe the only) method to authenticate is through receiving information from the other side and checking it either by a pre-agreed process, or by a trusted third party.  
           [0005]    The increasing dependency on remote communication for passing sensitive private commitments using public media has created a need for reliable, easy-to-use authentication methods (i.e. commitment to secrecy in passing medical data, or a bank committed to integrity and secrecy).  
           [0006]    The authentication process is a combination of three parameters that sometimes are too obvious to be noticed: you need to create uniqueness to each entity, you need that uniqueness to be recognizable, and you need that uniqueness to be non duplicable.  
           [0007]    The existing methods are attending to less than all three parameters. A password is the least authenticating of all methods. A biometric authentication in remote communication is basically passing bigger passwords, carrying almost all of the simple password defaults. The most popular PKI (Public Key Infrastructure) is a beautiful, mathematically based system that creates very strong encryption codes but uniqueness is not a structured value in it—the PKI system is agreeable with more than one duplication of an entity using the same code, and the strength of the PKI is basically measured not by the strength of its keys, but by the strength of the lockers that contain the keys. Moreover, the PKI method is based on a single copy of a private root key that requires Fort Knox security measures for guarding, and the issuing firm has to guard its uniqueness literally for life. A rolling key method, on the other hand, provides infrastructure uniqueness, but it still provides poor protection from milking out its next code, and weaker base for encryption.  
         BRIEF DESCRIPTIONS OF THE INVENTION  
         [0008]    The method presented herewith is based upon a digital optimization of the natural authenticating through history, and constantly manipulates that history.  
           [0009]    The system is built upon a fixed length line of confidential codes (“the inner shifting line”) that exists in parallel in the hands of both entities.  
           [0010]    In the end of the process of authentication of each contact, the two entities write the sequential number of this contact, and one entity provides to both entities a unique code for this contact—a code that both entities register as the top code in the line.  
           [0011]    In this way, a unique private memory is created; combined from these two parallel lines of inner codes—a memory that is shared only by these two entities.  
           [0012]    The authentication process is executed through these two inner shifting lines.  
           [0013]    In the beginning of the contact, the two entities identify themselves to each other, and then they initiate the process of authenticating each other.  
           [0014]    The first entity asks for the bottom code (the oldest key), verifies it, and the two entities erase it from their inner shifting line. This is to exploit the code that must be deleted anyhow in order to keep the length of the line fixed.  
           [0015]    The other entity asks for one code of one random place in the inner shifting line, verifies it, and provides to both entities a new code to replace it (refresh it) in both entities inner shifting line.  
           [0016]    (Option) The first entity repeats the process in another random place of the inner shifting line.  
           [0017]    The other entity asks for the top code of the inner shifting line (the code that was created in the previous contact), verifies it, and provides to both entities a new code to replace it (refresh it) in the two entities&#39; inner shifting line. The specification of the first code is to assure the integrity of the line from the last communication.  
           [0018]    Any non-matched code sets a faked identity warning.  
           [0019]    If a match exists through all the process, the authentication is completed. The two entities write the sequential number of this contact, and one entity provides to both entities the unique code for this contact—the entities are free to exchange secure information.  
           [0020]    The inner shifting line can alternatively use the random code to provide it as a “random synchronized key” for encrypting messages between the entities. In this option, one entity notifies the other only of the place of the code to be used in the current message. 
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0021]    [0021]FIG. 1—an overall view of the system  
         [0022]    [0022]FIG. 2 a -FIG. 2 c —the structure of the inner metamorphic ring.  
         [0023]    [0023]FIG. 3 a -FIG. 3 g —the process for establishing a secure authenticated communication.  
         [0024]    [0024]FIG. 4—the conclusion of the metamorphose process on the ring.  
         [0025]    [0025]FIG. 5 a -FIG. 5 b —flowchart from the points of view of both entities. 
     
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT  
       [0026]    [0026]FIG. 1 An overall view of the system involved in establishing a virtual private network (VPN): a secure, private and authenticated communication over the internet (Ov 04 ), between a server of a firm (Ov 02 ), and a remote person that works from his laptop (Ov 03 ) and carries a token (Ov 01 ) that is plugged to the laptop by a USB connection (Ov 05 ), and carries inside it an IC processor and a flash memory.  
         [0027]    The system presented herewith is based on the designing of the codes line in a loop that will be referred here as “The inner metamorphic ring”, or “The inner ring”.  
         [0028]    [0028]FIG. 2 a  The inner metamorphic ring (Ir 01 ) is based on a relational table, as in SQL format (Ir 02 ), and holds 3 columns—a fixed index column (Ir 03 ) whose cell values determine the order of the rows, a column (Ir 04 ) whose cells each contain a different short code (represented here by the different textures of the cells), and a column (Ir 05 )whose cells accept only a binary I/O value, under the condition that one, and only one of its cells must contain the I value (“radio buttons”). The I value is represented in the drawings as “a stone” (Ir 06 ), and the code in its row is declared to be the newest, referred here as cell No.  0  or C 0  (Ir 07 ).Calls following it are counted as C 1 , C 2 , C 3  . . . and so forth for all the rows.  
         [0029]    Each communication renews the next row code to be declared as the newest, so the “stone” is shifted (Ir 08 ) to the next row one step at a time.  
         [0030]    Each established relationship has its unique table that carries its unique ID. The ID of this relation is A 3 K (Ir 09 ).  
         [0031]    [0031]FIG. 2 b  the token (Ov 01 ) contains the ring (Ir 01 ) in its flash memory. These drawings demonstrate a ring in the size of eight rows; in reality it will include at least several dozens of rows.  
         [0032]    [0032]FIG. 2 c  the server (Ir 01 ) from its side keeps in its memory a packet of rings (Ir 10 ). For each entity that it relates to, it keeps en exact copy of its ring (Ir 01 ), including the position of the stone—a copy that it draws out (Ir 06 ) whenever the entity contacts it.  
         [0033]    [0033]FIG. 3 a  the process begins with a request of the token (Ov 01 ) to contact the server (Ov 02 ). The request is made by sending a packet (Pr 01 ) of plain information that contains the ID (Pr 02 ) of the ring and a random number between 2-7 as a No.  1  pointer to point out a random cell (Pr 03 ) in the ring (In the case that is presented in the drawings it is c 6  the 6th cell from the stone). This data is the only un-encrypted data that will pass in the process.  
         [0034]    The server draws out the matching ring and confirms (Pr 04 ) to the token to continue with the process.  
         [0035]    [0035]FIG. 3 b  both the server and the token are drawing the same two codes from their rings (Ir 01 ). The code of the random line that was pointed out by the pointer No.  1  (Ir 01 ), and (Pr 06 ) the code that is declared to be the oldest one (C 1 —the right cell next to the stone), and combine them to a seed code (Pr 07 ) that will be used for one-way encryption (Pr 08 ), only for incoming data (a VPN tunnel) from the server to the token—The server is only encrypted by it, and the token is only decrypted by the same (Pr 09 ).  
         [0036]    [0036]FIG. 3 c  Through the VPN tunnel that has been established, the server (Ov 02 ) sends to the token (Ov 01 ) the No.  1  encrypted package (Pr 10 ) including two refilling codes to replace the two codes that have been used to establish the tunnel (Pr 11 ), and a pointer No.  2  (Pr 12 )—a random number between 2-7 that is not equal to pointer No.  1  (In the case that is presented in the drawings it is c 4  the 4th cell from the stone). The two sides replace the two used codes with the new ones, thus starting the metamorphosis of the ring (Pr 13 ) configuration.  
         [0037]    [0037]FIG. 3 d  Both the server and the token are again drawing another two codes from their rings. The code of the random line that was pointed out by the pointer No.  2  (Pr 14 ), and the code (PR 15 ) that is declared to be the newest one (C 0 —the cell under to the stone), and combine them to a seed code (Pr 16 ) that will be used for one-way encryption (Pr 17 ), only for outgoing data (a VPN tunnel) from the token to the server—The token is only encrypted by it, and the server is only decrypted by the same (Pr 18 ).  
         [0038]    [0038]FIG. 3 e  Through the outgoing VPN tunnel (Pr 18 ), the token (Ov 01 ) sends to the server (Ov 02 ) an OK confirmation to proceed with the process, and the server returns an encrypted package No.  2  (Pr 20 ) that contains two additional refilling codes (Pr 21 ), to replace the two codes that have been used to establish the second tunnel. The two sides (Pr 22 ) replace the two used codes with the new ones, thus proceeding with the metamorphosis of the ring configuration.  
         [0039]    [0039]FIG. 3 f  After establishing the two tunnels (Pr 23 ) for both incoming (Pr 08 ) and outgoing (Pr 17 ) communication between the token (Ov 01 ) and the server (Ov 02 ), the two sides can now conduct a secured authenticated communication between themselves.  
         [0040]    [0040]FIG. 3 g  At the end of the communication, the two sides are abolishing the VPN tunnels among them, and are shifting (Ir 08 ) the stone (Ir 06 ) one step to the right, so C 0  became C 8 , C 1  is declared as the newest (Ir 07 ) code in the ring (Ir 01 ), and becomes C 0  while all the other cells loose one degree in their order.  
         [0041]    [0041]FIG. 4 The metamorphic process has begun in one configuration of the ring (Ir 01 ) with which we have started the communication, and now this configuration has gone both from the server and the token. If someone indeed had managed to fake the ring prior to this communication, and he was the one that conducted this contact, this configuration would still have been kept in the token, and the next time that the token&#39;s entity would have tried to establish communication, the failure to communicate would both automatically alert the problem and halt it.  
         [0042]    At the end of the process (Po 01 ) the codes of the ring have been only partly changed, some in random selection, and some in predefined selection, but the shifting of the stone has completely altered the ring configuration for the next communication.  
         [0043]    [0043]FIG. 5 a  is a flowchart from the token&#39;s point of view.  
         [0044]    [0044]FIG. 5 b  is a flowchart from the server&#39;s point of view.  
         [0045]    The authentication process reveals a minimal profile of the chain of codes by completely redesigning the ring, and thus the inner metamorphic ring system insures that not the ring programmer, and not even the ring holder can create a lasting existence for more than one copy for each relationship.  
         [0046]    A single eavesdropping submits only one known code out of four needed to establish the next communication (only the code that is declared to be the newest).  
         [0047]    To create a duplicate for the ring, an eavesdropper would have to crack every communication of its history (the number of the cells in the inner ring) from wherever they were made.  
         [0048]    The cross reference is built to prevent an impostor server.  
         [0049]    The need to change every used code prevents the possibility of “milking out” one of the sides.  
         [0050]    Authenticating proof of the last connection proves all the previous contacts.