This application is related to the field of secure networks and more specifically to apparatus for authenticating and admitting parties to a secure network configuration.
Since the introduction of the public network, such as the Internet, many businesses have changed their mode of operation considerably. Manufacturers and retailers, through the use of interactive dialogue pages, allow their consumers to buy products directly, using a conventional credit card. In this case, security of the credit card information is important to prevent theft of the credit card information and fraud. Conventionally, credit card information is transmitted over a secure socket layer (SSL) that encrypts the information using well-known encryption algorithms, such as RSA and digital certificates. As one skilled in the art would recognize, RSA refers to an encryption algorithm developed by Rivest, Shamir, and Adleman that generates public key and private key information based on the mathematics of large prime numbers. In operation, each party generates a public/private key combination pair and makes the public key available to all other parties. A first party may then encrypt information items using another party's public key and another party may decrypt the information item using the corresponding private key. Similarly, a party may digitally sign a document by encrypting information items using their private key and only another party having access to the corresponding public key is able decrypt the encrypted information. Thus, using public/private encryption algorithms, information items can be securely transmitted over networks while providing a level of assurance that the parties are authorized to transmit or receive the information items.
Video conferencing is an example wherein secure communications among the parties is particularly important. In this case, each party may “sign-on” to the video conference using either a provided public key or by using their private key. The conference may then proceed as each party is able to participate in the conference. However, encryption codes may be compromised, cracked or hacked and the authentication of the parties network may be suspect and the information transmitted over the network could become available to parties that are not authorized to receive such information. The release of this information may cause significant social and/or economic damage.
Accordingly, there is a need for a system and devices that ensures the authentication of the parties and further allows the admission of the authenticated parties to the secure network.
A system and device for authenticating and admitting parties located at remote sites to a secure communication network, wherein each remote site includes a device operable to execute code for determining a first authenticating value received from a second site, which is blinded with a value associated with the remote site, encrypting and transmitting the determined value and decrypting a second authenticating value and validating the transmitting site when the unblinded first authenticating value is equivalent to the second authenticating value. Furthermore, the transmitting site includes a devices operable to execute code for generating and transmitting a first authenticating value blinded by a value associated with a remote site, decrypting a value and validating the remote site when the authenticating value is equivalent to the decrypted received value.
It is to be understood that these drawings are solely for purposes of illustrating the concepts of the invention and are not intended as a definition of the limits of the invention. The embodiments shown in
Server 110 further includes information, such as a value, code or label, that uniquely identifies each remote site. That is, each remote site is registered with server 110. For example, site 115 may be identified, associated or registered with a unique value, code or label, which in this case is depicted as “Identification No. 1.” Further, site 120 may be identified, associated or registered with a value, code or label unique to site 120. In this case, site 120 is depicted as being uniquely identified by the label “Identification No. 2.” Similarly, site 135 may be identified, associated or registered with a unique value, code or label, which is depicted as “Identification No. 5.” Similar identifications are made for remote sites 125 and 130.
In one aspect of the invention, each associated identification value, code or label may be an arbitrarily selected value or combination of alpha-numeric values. In another aspect of the invention, each associated identification value, code or label may be selected to include known properties, e.g., a prime number of a known order or size.
Server 110 may generate and maintain each unique value associated with each remote site and provide this information to the associated remote site. In another aspect, server 110 may be provided each unique value by the corresponding remote site. In either aspect of the invention, knowledge of the unique remote site code is retained by server 110 and the associated remote site only. In addition, server 110 includes a public key/private key encryption algorithm, e.g., RSA. In one aspect, a common server public key may be distributed to each of the remote sites. In another aspect of the invention, server 110 may generate and associate a public key/private key for each remote site. In this aspect, the remote site is provided an individualized server public key. The public keys may be distributed to each of the remote sites on a periodic time basis, a random time basis, dynamically or upon request when a remote site registers with server 110 or when a conference among sites is scheduled. Preferably, public key(s) are provided when a request for a connection is received.
R_exp1XOR IDa; and
R_exp2XOR IDb [1]
At block 215, the two blinded values are then encrypted using the private key associated with server 110. That is, server 110 encrypt, or scramble, the blinded values. As would be understood by those skilled in the art, the process of encrypting a value obscures or scrambles the value in a manner that render the value unintelligible, unclear or in near of translation by those not in possession of a comparable decrypting process. At block 220, the encrypted blinded values are transmitted over network 150, shown in
At block 235, a determination is made whether the decrypted received value is equal to the random value transmitted at block 220. If the answer is negative, then a response was received from a non-authorized site. Processing then exits, as the remote site cannot be authenticated.
However, if the answer is in the affirmative, then the identity of the remote site is confirmed, as only the specified remote site is able to return the generated and provided random number, i.e., R_exp1 or R_exp2. At block 240, the random number associated with the site is then encrypted using the private key of server 110 and transmitted over the network at block 245. At block 250, server 110 awaits a response to the transmitted encrypted message.
When a response is received, a list of encryption algorithms available to each party is obtained at block 260. At block 265, server 110 acknowledges that a secure connection between the parties is established and an encryption algorithm is selected. Preferably, the encryption algorithm is present is present in at each party site. In another aspect, each party may provide a list of available encryption algorithms, from which server 110 may select comparable algorithms. In another aspect, server 110 may provide each party with a suitable encryption algorithm.
{[a XOR b] XOR b}=a [2]
As would be recognized by those skilled in the art, only the remote site having knowledge of the associated identification value, code or label is able to correctly determine the generated random number.
At block 325, the unblinded random number is then encrypted using the public key of server 110 and transmitted over the network at block 330. At block 335, the remote site awaits a response from server 110.
When a response is received, the information is decrypted using the public key of server 110. At block 345, a determination is made whether the decrypted value from block 340 is the same as the decrypted, unblended value obtained at block 320. If the answer is negative, then processing ends, as there is a failure in the authorizations process.
However, if the answer is in the affirmative, then a list of encryption algorithms available to the remote site are provided to server 110 at block 350 and an acknowledgment that the authentication process is completed is provided at block 355.
At block 415, server 110 blinds the received random numbers using each of the unique remote site identification numbers. In one aspect of the invention, the random numbers are blinded using the logical function shown as:
R_site1XOR ID2; and
R_site2XOR ID1 [3]
At block 420, the blinded values are then transmitted to the respective remote sites such that each remote site receives the blinded random number of another remote site.
In another, and preferred, aspect of the invention, the random numbers are blinded using the logical function shown as:
R_site1XOR R_site2 [4]
When a response is received, the received value is unblinded. In the aspect of the invention represented by equation 3, a process similar to that shown in equation 2 may be used to unblind the values. In the aspect of the invention represented by equation 4, the values may be unblinded in accordance with:
{[a XOR b] XOR b} [5]
Accordingly, each remote site possesses the random number generated by another remote site. At block 535, an encryption key is formulated using the random numbers generated by each site conforming to the selected encryption algorithm. Although not shown, it would be recognized by those skilled in the art, the blinded value received may further be encrypted using a private key. Hence, the received values are decrypted using a provided corresponding public key. As would be further understood, the order of processing blinding and encryption information may be interchanged without affecting the scope of the invention.
Client 1, 610 and client 2, 620 transmit to server 615 encrypted values representative of R_exp1, i.e., Eku(R_exp1), and R_exp2, i.e., Eku(R_exp2), respectively. Server 620 then transmits to client 1, 610 and client 2, 620, digitally signed, encrypted random values R_exp1 and R_exp2, i.e., Ekr(R_exp1 ) and Ekr(R_exp2), respectively.
Client 1, 610 and client 2, 620, after successfully decrypting the transmitted values, then transmit and acknowledge a list of encryption algorithms, i.e., cipher suite, to server 615. Server 615 then provides an indication that a connection between the parties has been established and selects a cipher to secure the communications between the parties.
Client 1, 610 and client 2, 620 in one aspect of the invention may then generate random values, Rand1 and Rand2, respectively, and transmit encrypted versions of Rand1 and Rand 2 to server 615. Server 615 then transmits digitally signed blinded value, Ekr(Rand1 XOR Rand2) to both client 1, 610 and client 2, 620. Client 1, 610 and client 2, 620 may then use a known combination of Rand1 and Rand2 to form a session key suitable for the selected cipher.
Specifically, processing system 710 includes one or more input/output devices 740 that receive data from the illustrated source devices 705 over network 750. The received data may then be applied to processor 720, which is in communication with input/output device 740 and memory 730. Processor 720 may be a central processing unit (CPU) or dedicated hardware/software, such as a PAL, ASIC, FGPA, operable to execute computer instruction code or a combination of code and logical operations. Input/output devices 740, processor 720 and memory 730 may communicate over a communication medium 725. Communication medium 725 may represent a communication network, e.g., ISA, PCI, PCMCIA bus, one or more internal connections of a circuit, circuit card or other device, as well as portions and combinations of these and other communication media.
In one embodiment, processor 720 may include code which, when executed, performs the operations illustrated herein. The code may be contained in memory 730, read or downloaded from a memory medium such as a CD-ROM or floppy disk represented as 783, or provided by manual input device 785, such as a keyboard or a keypad entry, or read from a magnetic or optical medium (not shown) which is accessible by processor 720, when needed. Information items provided by input device 783, 785 and/or magnetic medium may be accessible to processor 720 through input/output device 740, as shown. Further, the data received by input/output device 740 may be immediately accessible by processor 720 or may be stored in memory 730. Processor 720 may further provide the results of the processing shown herein to display 780, recording device 790 or a second processing unit 795 through I/O device 740.
As one skilled in the art would recognize, the terms processor, processing system, computer or computer system may represent one or more processing units in communication with one or more memory units and other devices, e.g., peripherals, connected electronically to and communicating with the at least one processing unit. Furthermore, the devices illustrated may be electronically connected to the one or more processing units via internal busses, e.g., serial, parallel, ISA bus, microchannel bus, PCI bus, PCMCIA bus, USB, wireless, infrared, radio frequency, etc., or one or more internal connections of a circuit, circuit card or other device, as well as portions and combinations of these and other communication media, or an external network, e.g., the Internet and Intranet. In other embodiments, hardware circuitry may be used in place of, or in combination with, software instructions to implement the invention. For example, the elements illustrated herein may also be implemented as discrete hardware elements or may be integrated into a single unit.
As would be understood, the operations illustrated in
In a preferred embodiment of the invention, the selected encryption algorithm may be selected from the group consisting of stream cipher encryption or fast block cipher encryption algorithms. As would be recognized in the art, the specific algorithm selected may be determined based on the overall performance of the application and the network configuration. Furthermore, the size of a random value generated or the keys used in the encryption algorithm may be dependent upon the estimated length of the session. In another aspect of the invention, the duration of the encryption key may be selected dependent upon a maximum number of packets that may be transmitted. For example, the duration of the encryption key may be set for 10000 packets for a 1-hour session or 20000 packets for a 2-hour session. Thus, after a fixed amount of time or the transmission of a fixed number of packets the encryption key may be terminated and a new key established.
While there has been shown, described, and pointed out fundamental novel features of the present invention as applied to preferred embodiments thereof, it will be understood that various omissions and substitutions and changes in the apparatus described, in the form and details of the devices disclosed, and in their operation, may be made by those skilled in the art without departing from the spirit of the present invention. For example, although the present invention has been disclosed with regard to video conferencing, it would be recognized by those skilled in the art that the present invention may be used with audio and/or multimedia conferencing or exchange of data between parties. Although the present invention has been described with regard to a single set of keys, it is contemplated, and considered within the scope of the invention, that multiple sets of keys may be determined. For example, in a multimedia exchange one set on keys may be used for audio transmission and a second set of keys may be generated for video transmission. Furthermore, it would be recognized by those skilled in the art that the blinding operation may be performed by functions and/or operations similar to the XOR operation discussed.
It is expressly intended that all combinations of those elements that perform substantially the same function in substantially the same way to achieve the same results are within the scope of the invention. Substitutions of elements from one described embodiment to another are also fully intended and contemplated.
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/US03/21148 | 7/7/2003 | WO | 12/6/2005 |