WO2011145949A1 - Method, system and devices for the establishment of a secure communication session - Google Patents
Method, system and devices for the establishment of a secure communication session Download PDFInfo
- Publication number
- WO2011145949A1 WO2011145949A1 PCT/NO2011/000156 NO2011000156W WO2011145949A1 WO 2011145949 A1 WO2011145949 A1 WO 2011145949A1 NO 2011000156 W NO2011000156 W NO 2011000156W WO 2011145949 A1 WO2011145949 A1 WO 2011145949A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- communication
- request
- server
- requests
- router
- Prior art date
Links
- 238000004891 communication Methods 0.000 title claims abstract description 140
- 238000000034 method Methods 0.000 title claims description 16
- 238000012795 verification Methods 0.000 claims description 11
- 238000012546 transfer Methods 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 4
- 238000010200 validation analysis Methods 0.000 claims description 4
- 230000004044 response Effects 0.000 claims description 3
- 230000000977 initiatory effect Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 4
- 238000004080 punching Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000008520 organization Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000011664 signaling Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 229920001690 polydopamine Polymers 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0853—Network architectures or network communication protocols for network security for authentication of entities using an additional device, e.g. smartcard, SIM or a different communication terminal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
Definitions
- the present invention relates to a system, methods and devices for communication over computer networks.
- IP Internet Protocol
- VoIP Voice over Internet Protocol
- a P2P system is one that sets up calls directly between the client applications of two (or more) equal parties without involvement of any central server.
- Servers may for example be used for discovery of the status of the called party by the calling party prior to call initiation.
- the server may also be involved in distribution of digital certificates in order to handle security, but the server is not involved in routing of the call between the client applications, and no part of the call is routed through the server.
- An example of a peer-to-peer system is the system operated by Skype Limited of Dublin, Ireland. (SKYPE is a trademark.) Skype uses a proprietary protocol and the system includes three main entities, namely supernodes, ordinary nodes and a login server.
- a supernode is a node that also serves as a relayer and a proxy server; in other words, a supernode handles data flow and connections for other users.
- a Skype client is configured to operate as a supernode.
- the login server's role is limited to distribution of digital certificates to the clients.
- SIP Session Initiation Protocol
- SIP is a nonproprietary protocol used to initiate, modify and terminate communication sessions.
- SIP is a signaling protocol developed by the Internet Engineering Task Force (IETF). While SIP itself is a peer-to-peer protocol and two SIP endpoints can communicate without any intervening SIP infrastructure, this approach is often impractical for a public service, and additional network elements are typically involved. Examples include proxy servers, registrar servers and redirect servers.
- SIP is described in IETF RFC 3261 , the contents of which is hereby incorporated in its entirety.
- a user of a SIP service is generally provided with either a telephone number (of the known e.164 format) or a SIP uniform resource identifier ("URI") (of the form SIP:[email protected]).
- URI uniform resource identifier
- the caller uses the SIP:URI or e.164 number to identify the SIP user, and this is translated to the IP addresses of the called user's terminal by a registrar database.
- Other network elements include various types of gateways that operate at the edge of a VoIP, for example by connecting existing telephone lines to the VoIP network.
- An advantage of the peer-to-peer topology is the resulting scalability. Since the actual data traffic is handled by the IP network itself using existing protocols such as TCP/IP or UDP/IP to handle routing, there is no need for central servers handling data traffic. A result of this is that security has primarily been a question of encryption and authentication. Encryption prevents eavesdropping, and authentication ensures that each peer correctly provides the other with proof of its username and privileges when a session is initiated. However, since there often is no authority involved in the assignment of a username in the first place, registration with a login server may be sufficient, the actual identity of the person or persons using a particular username may be uncertain. Furthermore, since users may log in from different locations inside or outside a corporate network, it may be difficult or impossible for an administrator of a corporation to enforce a particular corporate security policy.
- the present invention is directed to a system, methods and devices addressing issues related to security, flexibility and corporate policy in communication over computer networks.
- a communication system consistent with the principles of the invention may include at least one client computer connected to a local area network and configured to create a request for establishment of a communication session with a second client computer, to digitally sign the request and transmit the request to a first secure router; at least one secure router with at least two communication interfaces, including a first communication interface connected to a local area network and a second communication interface connected to a wide area network, and configured to receive requests for establishment of communication sessions on the communication interfaces and not allow requests received by one of the first and second communication interface to be transmitted by the other of the first and second communication interface unless the request is digitally signed with a signature the router can validate; and at least one server connected to a wide area network and configured to receive requests for establishment of communication sessions from client computers, validate a digital signature of received requests, and, when a signature of a received request can be validated, digitally sign the received request and forward it to a designated recipient client computer.
- the at least one client computer comprises a host computer and a connectable hardware component
- the connectable hardware component including memory storing computer program instructions capable of being executed by a processor in the host computer to perform the functionality of a communication client application.
- the connectable hardware component may further include a processor and encryption keys stored in the memory
- the memory may further include computer program instructions capable of being executed by the processor in the hardware component to perform digital signing of requests for establishment of communication sessions created by the communication client application.
- the connectable hardware component further comprises program instructions capable of being executed by the processor in the hardware component to perform encryption of a request for a temporary encryption key to be used to encrypt data traffic during the communication session and to decrypt a response to the request for a temporary encryption key.
- the secure router comprises two processor units, one configured to perform verification of requests received on the first interface and one to perform verification of requests received on the second interface, the processors being connected over a data bus that is configured to only transport data related to communication session requests and subsequently established communication sessions.
- a communication client hardware component includes an interface for connecting the hardware component to a host computer; a memory storing a client application, the client application including instructions to allow a processor of the host computer to create requests for establishment of a communication session; and a secure module including a cryptographic key and configured to digitally sign requests created by the host computer under control of the client application.
- the hardware component may have any one of a wide number of form factors, and the interface may be defined at least in part by a standard or a device format such as PCMCIA, Universal Serial Bus, MultiMediaCard, Secure Digital, Secure Digital High-Capacity, PC Card, Parallel ATA and Serial ATA.
- PCMCIA Peripheral Component Interconnect Express
- MultiMediaCard Secure Digital
- Secure Digital High-Capacity PC Card
- Parallel ATA Serial ATA
- the secure module is, for example, a cryptographic module comprising hardware and software configured to operate in a Public Key Infrastructure.
- a secure router including a first communication interface configured to be connected to a local area network and receive requests for establishment of communication sessions; a second communication interface configured to be connected to a wide area network and receive requests for establishment of communication sessions; and at least one processor configured to validate digital signatures associated with received requests for establishment of communication sessions and to not allow requests to pass from one communication interface to the other communication interface unless the request has an associated digital signature that can be positively validated.
- the secure router is provided with two processors validating signatures for requests received over respective ones of the first and second interfaces.
- the processors may also operate independently of each other.
- the router may further include a communication bus over which the two processors communicate.
- the communication bus may be configured to only transfer data associated with a limited set of communication protocols and to deny transfer of any other data.
- the secure router may further include at least one memory for storing a collection of public keys used to validate the digital signatures.
- the memory (or an additional memory) may also store a set of rules, each rule being associated with at least one of a digital signature, a user name, and an address of at least one of an intended recipient of a request and a sender of a request, and instructions enabling the at least one processor to not allow a request received by one of the first and the second communication interface to be transmitted by the other of the first and the second communication interface if the request is in conflict with one or more of the rules.
- a communication server including one or more communication interfaces for connecting to at least one wide area network; a memory holding a list of addresses associated with user names; and at least one processor configured to validate digital signatures associated with received requests for establishment of communication sessions and to, upon successful validation of a signature associated with a received request, digitally sign the request and forward it to an intended recipient defined by a user name included in the request, using an address found in the list of addresses.
- the communication server includes, in the memory, a set of rules, each rule being associated with at least one of a digital signature, a user name, and an address of at least one of an intended recipient of a request and a sender of a request, and instructions enabling the at least one processor to not allow a request to be digitally signed and forwarded if the request is in conflict with one or more of the rules.
- the user names are selected from the group consisting of a user account names, email addresses, telephone numbers, and Uniform Resource Identifiers.
- the addresses may, for example, be IP addresses.
- IP addresses are addresses of servers or gateways capable of accessing external communication networks.
- servers include servers operating in a different communication system on the same wide area network as the server or servers provided by the invention, and examples of such gateways include gateways or bridges to a different wide area network, or for example a telephone network.
- the request may be converted from a first communication protocol to a second communication protocol before being forwarded. This may, for example, be necessary if the intended user is located in a different network or in a different communication system on the same network.
- method of establishing secure communication including in a first client, creating and digitally signing a request to establish communication with a user; in a router, receiving the request on a first communication interface, and provided that the signature can be validated, transmitting the request on a second communication interface; in a server, receiving the request, validating the signature and provided that the signature can be validated, looking up an address of the user in a list of users and digitally sign and forward the request to the address.
- the router may be located between the client and the server, in which case the router receives the request from the client and transmits it to the server.
- the router may also be located between the server and the user, the intended recipient, in which case the router receives the request from the server and transmits it to the user.
- There may, but does not have to be a first router between the client and the server and a second router between the server and the intended recipient, in which case both routers may perform similar validation.
- Fig. 1 is a diagram illustrating a system consistent with the principles of the invention
- Fig. 2 is a flow chart illustrating establishment of a communication session in accordance with a method of the invention
- Fig. 3 is a diagram illustrating a secure hardware component of a communication client in accordance with the invention
- Fig. 4 is a diagram illustrating a secure router in accordance with the invention.
- the present invention relates to communication over computer networks.
- Such communication may include one or more types of media, for example, but not limited to, audio, video, text, data and commands or instructions to computer software.
- a communication session may be in the form of a voice conference, a video conference, instant messaging, and interaction using collaborative software such as data conferencing and application sharing.
- collaborative software such as data conferencing and application sharing.
- Fig. 1 illustrates a system configured to operate in accordance with the principles of the present invention.
- a local area network (LAN) 100 is connected to a wide area network such as for example the Internet 104 over a router 106 and a firewall 108.
- a first client device illustrated in the form of a personal computer (PC) 102, is connected to the LAN and capable of accessing the Internet 104 over the router 106 and/or the firewall 108.
- the firewall 108 may be configured to only allow certain types of data traffic to pass, in accordance with a security policy.
- the router 106 may be configured to handle data communication in accordance with the principles of the present invention, and will be described in further detail below.
- the client device 102 includes a client application configured to communicate with a corresponding server application.
- the client application may be software that is installed on the client device, and may include digital certificates, encryption capabilities etc.
- the client application is part of a hardware component 1 10 that may be connected to the client device 102, for example using a Universal Serial Bus (USB) port.
- USB Universal Serial Bus
- a request to initiate a communication session is sent to the server 1 12.
- the server 112 attempts to locate the identified recipient and, if successful, sends a corresponding request to a client application running on the recipient client device 1 14.
- the recipient client device will typically be located behind a firewall and a router corresponding to those illustrated for the initiating client 102, but these devices are not illustrated in the drawing. If a successful response is received from the recipient client device 114, a communication channel is successfully set up between the two clients. It should be noted that as opposed to peer-to-peer solutions, communication between the participating clients is routed through the server 1 12. However, in alternative embodiments communication may be routed directly between participating clients after the server 1 12 has handled initial setup of the connection between the clients.
- the server 1 12 may also be configured to operate as a router or bridge between different communication networks.
- the server 12 may be capable of translating between different VoIP protocols and thus allow a user of client device 102 make a call to a subscriber to a different VoIP system, for example a peer-to-peer system.
- a subscriber e.g. of the service provided by Skype mentioned above and connected to the Internet 104 using client device 116, may be reached by the user of client device 102 by way of server 1 12.
- the server 112 may include or be connected to a router or bridge connected to the switched telephone network (PSTN) 1 18 and thereby provide communication with mobile clients 120 or fixed line telephones 122.
- PSTN switched telephone network
- the server may be configured to handle security issues for client devices 124 running a client application 126 outside its home network and the control of a home router 106 and firewall 108, as will be described in further detail below.
- the router 106 may be configured by an administrator of the local area network 100 to handle all incoming and outgoing communication in accordance with the present invention.
- the firewall may then be configured to handle all incoming traffic except communication intended for the client 102, for example VoIP or instant messaging, which may be handled by the router 106.
- communication will be assumed to be VoIP and the router 106 will be referred to as a secure VoIP router. This must be understood as a non-limiting example chosen for convenience, and those with skill in the art will understand that other alternatives are consistent with the principles of the invention.
- the secure VoIP router 106 may be configured to only allow connections to be established if at least some of the data packets of that connection are signed either by the client 102 or the client hardware component 1 10, for outgoing traffic, or by the server 1 12, for incoming traffic.
- the secure VoIP router 102 may require valid signatures for all packets involved in setting up a connection. For increased security valid signatures may be required for certain packets during the communication, in particular packets that carry signaling information, but also packets carrying data traffic. In principle, valid signatures could be required for all packets, but validating a signature requires processing power in the router, and the necessary amount of processing power for such validation may not be present, or may be considered unnecessary from a cost/benefit point of view.
- Signatures may be provided by using a public key infrastructure (PKI).
- PKI public key infrastructure
- the keys used for signatures can also be used to exchange encryption keys for encrypting and decrypting the actual data traffic.
- AES Advanced Encryption Standard
- the server 112 may in any case act as a key server.
- key servers operating independently of the server 1 12 may be used, including key servers operated by an independent certificate authority, or even multiple independent key servers operating in a so called web of trust.
- the secure VoIP router 106 may also include a policy description regarding the permissions of specific users.
- Such a policy description may include rules regarding which outgoing calls a user is allowed to make, and which incoming calls should be routed through to the user's client device 102.
- rules which may, but do not have to be symmetrical, may include a list of domains, enterprises or individual subscribers outside the LAN 100 that the user is allowed to make calls to or receive calls from.
- rules may also include restrictions regarding whether a user is allowed to call or receive calls from users of other communication systems, including users operating client devices 1 16 connected to the Internet 104 and users connected to a telephone network 18 using for example a mobile telephone (cellphone) 120 or a fixed line telephone 122.
- the router may inspect packets involved in call initiation and setup, and only allow these packets through if they, in addition to being properly signed, are consistent with the rules in the policy description for example based on examination of IP addresses, port numbers and domain names.
- the policy description may be stored (or replicated) on the server 1 12.
- the server will perform the same inspection as the secure VoIP router 106 (either in addition to or instead of the inspection being performed by the router).
- the policy description may still be managed by an administrator of the local area network 100 and for example uploaded from the secure VoIP router 106 or over web based access to configuration of the server 12.
- Enforcing the policy on the server means that a roaming user using a laptop 124 and hardware component 126 currently located outside the local area network 100, and consequently outside the secure VoIP router 106, may still be subject to policy rules. This could alternatively be resolved by requiring that the roaming user first connect with the local area network 100 through a virtual private network (VPN) connection, but this may add a layer of complexity that may otherwise be unnecessary.
- VPN virtual private network
- Fig. 2 is a flowchart illustrating how a communication session between two users of a system according to the present invention can be initiated and terminated. It is assumed that both users are located in a local area network protected by a firewall and a router. User A is located in local area network A and User B is located in local area network B.
- User A using a client device running a client application, collectively referred to as Client A, issues a request to establish a connection with Client B.
- the request is signed in step 202 using the private key of Client A and then sent to Router A.
- step 203 the request is received by Router A which determines whether the request is properly signed by Client A and that the request is properly addressed to the server 1 12.
- Router A will attempt to verify whether user A has the right to establish a communication session with user B, as determined by a users' rights policy stored in Router A.
- the router may determine this based on, for example, an explicit list of users user A has the right to access, defined as a list of user names (for example in the form of URI's), a list of email addresses, or a list of telephone numbers.
- a list of user names for example in the form of URI's
- the policy may also list users, domains, systems or networks that may not be called by this user (or any users). The policy may, of course, use a combination of any of these methods, depending on specific implementation choices made by a systems designer in each case.
- step 204 If it is determined in step 204 that the request was not properly signed, or if the request for policy or other reasons is not allowed through the secure VoIP router 106, the request is denied by the router in step 205 and the session is terminated in step 206.
- step 207 the router forwards the request to the server 1 12.
- the server receives the request in step 208 and verifies Client A's digital signature. It should be noted that the verification performed by the secure VoIP router 106 is intended only to determine whether a request should be allowed to pass from the local area network 100 to the wide area network on the outside or conversely if a request should be allowed in to the local area network. The determination made on the server includes whether a call setup between a called party and a calling party should be initiated.
- the server may also verify that the user, or the organization the user belongs to, has the right to establish connections over the server, and to communicate with User B or the organization User B belongs to.
- the rights defined in the server may include a duplication of users' rights found in Router A, as discussed above, in order to allow the administrator of local area network A to enforce policies also when user's belonging to his network is roaming.
- the rights defined in the server 1 12 may also represent rights or limitations associated with the user's or the user's organization's agreement with the provider of the communication services, i.e. the operator of the server 112. If the server is not able to verify the client's signature and any rights associated with the user in step 209 the request is denied in step 210, and the session is terminated in step 21 1.
- step 212 the server accepts the establishment of a communication channel to Client A.
- step 213 the server signs the received request and forwards the request to Client B.
- Router B proceeds to verify the server's signature in step 214.
- Router B may also attempt to verify whether the called party, i.e. User B, has the necessary rights to receive calls from User A, depending on whether such a user's rights policy is enforced on the router.
- User B's rights may be defined using the same strategies as those described for User A and Router A.
- step 216 If it is determined in step 216 that the server's signature or the called user's rights cannot be verified, the request is denied in step 217, and the session is terminated in step 218. When the termination of the session is reported back to the server, the server terminates the established connection with User A. Otherwise, if the necessary rights can be verified in step 216, the router forwards the request to client B. [0048] Upon receipt of the request, possibly dependent on some user input from User B signifying acceptance, Client B establishes or confirms the establishment of a communication channel to the server. Client A and Client B are then connected over the server 112 and may commence to exchange data. The data may be encrypted and signed by the two clients as discussed above.
- the same public key infrastructure used to sign requests is also used to exchange keys for encryption of the data traffic during the communication between Client A and Client B.
- the server may issue symmetric keys to be used by the clients during communication.
- the same key is issued to Client A and Client B and communication is encrypted end-to-end by the same encryption keys.
- different encryption keys can be issued to the two clients and the server can then decrypt and re-encrypt traffic that passes through the server. This may, however, require more processing power from the server than most systems designers will be willing to provide.
- the server may perform the same tasks discussed above during setup, but instead of establishing separate connections between the server and Client A and the server and Client B, respectively, the server may provide the clients with the encryption keys and the necessary data to enable the clients (or the routers) to establish a connection between each other.
- This information may for example include IP addresses and port numbers. While the example illustrated in Fig.
- the server 1 12 may in some embodiments be configured to assist in NAT traversal if the secure VoIP router and/or a client is located behind a network address translation (NAT) gateway, and in some embodiments also firewall hole punching such as UDP hole punching and TCP hole punching.
- NAT network address translation
- Fig. 3 illustrates a smart card which can be used in embodiments of the invention.
- the smart card chip may be embedded in the shape of a traditional credit card sized card (known as ISO 7816) which can be inserted into a card reader in a computer or some other device.
- the smart card chip may be part of a USB token, a small electronic device with a USB connector.
- An advantage with the USB token form factor is that many computers are equipped with USB ports, something which is rarely the case for readers for credit card sized smart cards.
- other form factors are also consistent with the principles of the invention, such as for example Compact Flash (CF), Memory Stick, MultiMediaCard (MMC) Secure Digital (SD) or Secure Digital High-Capacity (SDHC).
- the interface between the smart card device and the host computer may also communicate over an interface at least partly defined by a standard such as PC Card (PCMCIA), Parallel ATA (PATA), Serial ATA (SATA)
- the smart card illustrated in Fig. 3 comprises a Central Processing Unit
- CPU central processing unit
- I/O System input/output system
- the CPU 301 receives external external power Vcc, typically 5V, and is also connected to an external reset connection.
- the I/O system receives a clocking or timing signal CLK and input/output of serial data I/O.
- the smart card in Fig. 3 is also shown as implementing two connections labeled D+ and D- for USB signals and one connection labeled SWP for communication using the Single Wire Protocol for communicating with a Near Field Communication (NFC) chip.
- NFC Near Field Communication
- the smart card further includes three main types of memory.
- a read only memory (ROM) 303 may include the operating system, for example JavaCard OS or MULTOS and other basic software such as encryption algorithms.
- a random access memory (RAM) 304 is used for fast computation and storage of temporary data.
- an electrically erasable programmable read only memory (EEPROM) 305 is included for storage of data that can be changed or erased, but that should not be lost when the smart card no longer receives power.
- the smart card may include a cryptographic module 306 which may simply be a representation of the necessary algorithms stored in ROM 303 and executed by the CPU 301 as well as encryption and decryption keys stored in EEPROM 305, but in more sophisticated cards the cryptographic module 306 may include specialized cryptographic hardware. The following description is intended to cover both alternatives unless otherwise noted.
- the smart card in the hardware component 1 10, 126 may include a standard file system which is not exposed to the host operating system on a client computer 02, 124, since the smart card is primarily performing security operations. Some of the file system functionality may, however, be connected to the host system by hardware and software included as part of the hardware component, for example over a USB Mass Storage (08h) interface, in the same manner as in typical USB mass storage devices (flash drives). In addition to the standard file system, a few device files may also be present, directly interfacing with the cryptographic module 306.
- Write and read to the device files result in direct communication with the secure processor I/O channels, where the file system layer acts as a pipe between a communication client application running on the host 102, 124 and the cryptographic module 306 present on the smart card.
- the device files are "virtual" files in this context, they are named pipes to the functionality of the cryptographic module 306.
- one device file can serve as an "encryption" function, where the written data into the device file is returned encrypted by reading from the same file. This device file write/read loop can be continued until it is possible to write data into the virtual file and data is available to be read from it.
- the cryptographic module 306 may be configured to communicate both over the USB smart card device class interface (OBh) and over the device files exposed over the file system, as described above. Which communication channel that is used, may for example depend on the actual configuration of the audio/video conferencing applications.
- the underlying secure processor serves the sensitive, security related and user identification functions of the conferencing application.
- 102, 124 may be stored in flash memory, either the EEPROM 305 of the smart card itself, or in a separate memory part of the hardware component 110, 126.
- flash memory either the EEPROM 305 of the smart card itself, or in a separate memory part of the hardware component 110, 126.
- Methods for running software applications from flash memory without installing the application on the host computer are known to those skilled in the art.
- One example of a method that is commercially available is delivered by the company U3 LLC.
- FIG. 4 an example of a secure VoIP router 406 is illustrated in further detail.
- This router represents an exemplary embodiment of the router 106 of Fig. 1.
- the router according to this embodiment is configured like a bridge.
- This bridge which may be implemented in a single box, includes two processors 451 , 452 capable of running independently, and where one processor 451 is connected to the LAN 400 (corresponding to LAN 100 of Fig. 1 ) and the other 452 to the public WAN 404 (104 of Fig. 1 ) outside of the firewall (108 of Fig. 1 ).
- Both CPUs 451 , 452 may be running separate instances of an operating system, or even different operating systems. Both CPUs control their own computer system components with which they may communicate over respective internal buses 453, 454.
- the remaining computer system components have been simplified and are only illustrated as respective input/output ports 455, 456 and respective verification modules 457, 458.
- the verification modules 457, 458 represent the combination of computer hardware and software modules necessary to provide the processors with the necessary instructions to perform the methods according to the invention.
- the verification modules include computer storage, for example one or more hard drives or flash memory for storing installed software and random access memory for temporary storage of data and instructions during program execution.
- General computer system components are well known to those with skill in the art and will not be discussed further.
- the processors 451 , 452 are interconnected with a hardware bus 460, which guarantees high speed traffic between the processors.
- the hardware bus 460 is exclusively dedicated to traffic related to the present invention. Specifically, processor 451 only transfers data to processor 452 if it is received as part of a communication session that was initiated by a valid signature from a client in the LAN 400 (102, 1 10 of Fig. 1), and processor 452 only transfers data to processor 451 if it is received as part of a communication session that was initiated by a valid signature from a server (1 12 of Fig. 1).
- the verification may in each case be performed by using the instructions and public keys stored or accessible to the verification modules 457, 458 to verify signatures from a client or server. Additional requirements may be enforced by the hardware bus itself regarding, for example, which protocols and port numbers should be allowed on the bus 460, independent of whether or not the data is verified by one of the processors 451 , 452.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Technology Law (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- Multimedia (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
A first client (102) creates and digitally signs a request to establish communication with a user. A secure router (106) receives the request on a first communication interface, and provided that said signature can be validated, transmits the request on a second communication interface. A server (112) receives the request, validates the signature and provided that the signature is successfully validated, looks up an address of the user in a list of users and digitally sign the request and forwards it to said address.
Description
METHOD, SYSTEM AND DEVICES FOR THE ESTABLISHMENT OF A SECURE COMMUNICATION SESSION
BACKGROUND OF THE INVENTION
Field Of The Invention
[001] The present invention relates to a system, methods and devices for communication over computer networks.
Description Of Relevant Art
[002] Communication systems that traditionally have been based on traditional telephony networks, have gradually been extended to include computer networks. The most important example of this is communication systems based on the Internet Protocol (IP), known as Voice over Internet Protocol (VoIP) systems. Development of early VoIP systems primarily focused on the limited bandwidth that was available to end users at that time by developing compression algorithms and handling latency and packet loss. As available bandwidth has increased and the number of VoIP users has grown, more emphasis has been placed on signaling and security.
[003] Most VoIP systems are peer-to-peer (P2P) systems. A P2P system is one that sets up calls directly between the client applications of two (or more) equal parties without involvement of any central server. Servers may for example be used for discovery of the status of the called party by the calling
party prior to call initiation. The server may also be involved in distribution of digital certificates in order to handle security, but the server is not involved in routing of the call between the client applications, and no part of the call is routed through the server. An example of a peer-to-peer system is the system operated by Skype Limited of Dublin, Ireland. (SKYPE is a trademark.) Skype uses a proprietary protocol and the system includes three main entities, namely supernodes, ordinary nodes and a login server. A supernode is a node that also serves as a relayer and a proxy server; in other words, a supernode handles data flow and connections for other users. By default, a Skype client is configured to operate as a supernode. The login server's role is limited to distribution of digital certificates to the clients.
Another example is the Session Initiation Protocol (SIP). SIP is a nonproprietary protocol used to initiate, modify and terminate communication sessions. SIP is a signaling protocol developed by the Internet Engineering Task Force (IETF). While SIP itself is a peer-to-peer protocol and two SIP endpoints can communicate without any intervening SIP infrastructure, this approach is often impractical for a public service, and additional network elements are typically involved. Examples include proxy servers, registrar servers and redirect servers.
SIP is described in IETF RFC 3261 , the contents of which is hereby incorporated in its entirety. A user of a SIP service is generally provided with either a telephone number (of the known e.164 format) or a SIP uniform resource identifier ("URI") (of the form SIP:[email protected]). To call a SIP user, the caller uses the SIP:URI or e.164 number to identify the SIP
user, and this is translated to the IP addresses of the called user's terminal by a registrar database.
[006] Other network elements include various types of gateways that operate at the edge of a VoIP, for example by connecting existing telephone lines to the VoIP network.
[007] An advantage of the peer-to-peer topology is the resulting scalability. Since the actual data traffic is handled by the IP network itself using existing protocols such as TCP/IP or UDP/IP to handle routing, there is no need for central servers handling data traffic. A result of this is that security has primarily been a question of encryption and authentication. Encryption prevents eavesdropping, and authentication ensures that each peer correctly provides the other with proof of its username and privileges when a session is initiated. However, since there often is no authority involved in the assignment of a username in the first place, registration with a login server may be sufficient, the actual identity of the person or persons using a particular username may be uncertain. Furthermore, since users may log in from different locations inside or outside a corporate network, it may be difficult or impossible for an administrator of a corporation to enforce a particular corporate security policy.
SUMMARY OF THE INVENTION
The present invention is directed to a system, methods and devices addressing issues related to security, flexibility and corporate policy in communication over computer networks.
A communication system consistent with the principles of the invention may include at least one client computer connected to a local area network and configured to create a request for establishment of a communication session with a second client computer, to digitally sign the request and transmit the request to a first secure router; at least one secure router with at least two communication interfaces, including a first communication interface connected to a local area network and a second communication interface connected to a wide area network, and configured to receive requests for establishment of communication sessions on the communication interfaces and not allow requests received by one of the first and second communication interface to be transmitted by the other of the first and second communication interface unless the request is digitally signed with a signature the router can validate; and at least one server connected to a wide area network and configured to receive requests for establishment of communication sessions from client computers, validate a digital signature of received requests, and, when a signature of a received request can be validated, digitally sign the received request and forward it to a designated recipient client computer. In accordance with some embodiments, the at least one client computer comprises a host computer and a connectable hardware component, the connectable hardware component including memory storing computer
program instructions capable of being executed by a processor in the host computer to perform the functionality of a communication client application. In accordance with some embodiments, the connectable hardware component may further include a processor and encryption keys stored in the memory, the memory may further include computer program instructions capable of being executed by the processor in the hardware component to perform digital signing of requests for establishment of communication sessions created by the communication client application.
In accordance with some embodiments the connectable hardware component further comprises program instructions capable of being executed by the processor in the hardware component to perform encryption of a request for a temporary encryption key to be used to encrypt data traffic during the communication session and to decrypt a response to the request for a temporary encryption key.
In accordance with some embodiments the secure router comprises two processor units, one configured to perform verification of requests received on the first interface and one to perform verification of requests received on the second interface, the processors being connected over a data bus that is configured to only transport data related to communication session requests and subsequently established communication sessions.
In one aspect of the invention a communication client hardware component, includes an interface for connecting the hardware component to a host computer; a memory storing a client application, the client application including instructions to allow a processor of the host computer to create
requests for establishment of a communication session; and a secure module including a cryptographic key and configured to digitally sign requests created by the host computer under control of the client application.
[0015] The hardware component may have any one of a wide number of form factors, and the interface may be defined at least in part by a standard or a device format such as PCMCIA, Universal Serial Bus, MultiMediaCard, Secure Digital, Secure Digital High-Capacity, PC Card, Parallel ATA and Serial ATA.
[0016] The secure module is, for example, a cryptographic module comprising hardware and software configured to operate in a Public Key Infrastructure.
[0017] In another aspect of the invention a secure router is provided, including a first communication interface configured to be connected to a local area network and receive requests for establishment of communication sessions; a second communication interface configured to be connected to a wide area network and receive requests for establishment of communication sessions; and at least one processor configured to validate digital signatures associated with received requests for establishment of communication sessions and to not allow requests to pass from one communication interface to the other communication interface unless the request has an associated digital signature that can be positively validated.
[0018] In accordance with some embodiments the secure router is provided with two processors validating signatures for requests received over respective ones of the first and second interfaces. The processors may also operate independently of each other. In embodiments with two processors the router
may further include a communication bus over which the two processors communicate. The communication bus may be configured to only transfer data associated with a limited set of communication protocols and to deny transfer of any other data.
[0019] The secure router may further include at least one memory for storing a collection of public keys used to validate the digital signatures. The memory (or an additional memory) may also store a set of rules, each rule being associated with at least one of a digital signature, a user name, and an address of at least one of an intended recipient of a request and a sender of a request, and instructions enabling the at least one processor to not allow a request received by one of the first and the second communication interface to be transmitted by the other of the first and the second communication interface if the request is in conflict with one or more of the rules.
[0020] In another aspect of the invention a communication server is provided, including one or more communication interfaces for connecting to at least one wide area network; a memory holding a list of addresses associated with user names; and at least one processor configured to validate digital signatures associated with received requests for establishment of communication sessions and to, upon successful validation of a signature associated with a received request, digitally sign the request and forward it to an intended recipient defined by a user name included in the request, using an address found in the list of addresses.
[0021] In accordance with some embodiments, the communication server includes, in the memory, a set of rules, each rule being associated with at least one of
a digital signature, a user name, and an address of at least one of an intended recipient of a request and a sender of a request, and instructions enabling the at least one processor to not allow a request to be digitally signed and forwarded if the request is in conflict with one or more of the rules.
[0022] In accordance with some embodiments, the user names are selected from the group consisting of a user account names, email addresses, telephone numbers, and Uniform Resource Identifiers. The addresses may, for example, be IP addresses.
[0023] In accordance with some embodiments at least some of the IP addresses are addresses of servers or gateways capable of accessing external communication networks. Examples of such servers include servers operating in a different communication system on the same wide area network as the server or servers provided by the invention, and examples of such gateways include gateways or bridges to a different wide area network, or for example a telephone network.
[0024] In accordance with some embodiments the request may be converted from a first communication protocol to a second communication protocol before being forwarded. This may, for example, be necessary if the intended user is located in a different network or in a different communication system on the same network.
[0025] In another aspect of the invention, method of establishing secure communication is provided, including in a first client, creating and digitally signing a request to establish communication with a user; in a router, receiving the request on a first communication interface, and provided that the
signature can be validated, transmitting the request on a second communication interface; in a server, receiving the request, validating the signature and provided that the signature can be validated, looking up an address of the user in a list of users and digitally sign and forward the request to the address.
It should be noted that the router may be located between the client and the server, in which case the router receives the request from the client and transmits it to the server. The router may also be located between the server and the user, the intended recipient, in which case the router receives the request from the server and transmits it to the user. There may, but does not have to be a first router between the client and the server and a second router between the server and the intended recipient, in which case both routers may perform similar validation.
Exemplary embodiments of the present invention will become more fully understood from the detailed description given hereinbelow and the accompanying drawings. These drawings are given by way of illustration only and, thus, are not limiting on the present invention. In these drawings, like reference numerals represent like elements, wherein:
Fig. 1 is a diagram illustrating a system consistent with the principles of the invention;
Fig. 2 is a flow chart illustrating establishment of a communication session in accordance with a method of the invention;
Fig. 3 is a diagram illustrating a secure hardware component of a communication client in accordance with the invention;
[0031] Fig. 4 is a diagram illustrating a secure router in accordance with the invention.
DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTS
[0032] The present invention relates to communication over computer networks.
Such communication may include one or more types of media, for example, but not limited to, audio, video, text, data and commands or instructions to computer software. A communication session may be in the form of a voice conference, a video conference, instant messaging, and interaction using collaborative software such as data conferencing and application sharing. Those with skill in the art will realize that the invention is not limited to specific types or combination of types of media, and the examples used in this specification are not intended to be interpreted in a limiting manner. Examples using a particular type of media, for example voice conferencing using voice over IP (VoIP), are equally valid for other media types, unless otherwise noted.
[0033] Fig. 1 illustrates a system configured to operate in accordance with the principles of the present invention. A local area network (LAN) 100 is connected to a wide area network such as for example the Internet 104 over a router 106 and a firewall 108. A first client device, illustrated in the form of a personal computer (PC) 102, is connected to the LAN and capable of accessing the Internet 104 over the router 106 and/or the firewall 108. The firewall 108 may be configured to only allow certain types of data traffic to pass, in accordance with a security policy. The router 106 may be configured
to handle data communication in accordance with the principles of the present invention, and will be described in further detail below.
[0034] The client device 102 includes a client application configured to communicate with a corresponding server application. The client application may be software that is installed on the client device, and may include digital certificates, encryption capabilities etc. According to the embodiment illustrated in the drawing, the client application is part of a hardware component 1 10 that may be connected to the client device 102, for example using a Universal Serial Bus (USB) port. The client device 102, client application, and the client hardware component 1 10 will be described in further detail below.
[0035] When a user operating client device 102 desires to initiate a communication session with another user, a request to initiate a communication session is sent to the server 1 12. The server 112 attempts to locate the identified recipient and, if successful, sends a corresponding request to a client application running on the recipient client device 1 14. The recipient client device will typically be located behind a firewall and a router corresponding to those illustrated for the initiating client 102, but these devices are not illustrated in the drawing. If a successful response is received from the recipient client device 114, a communication channel is successfully set up between the two clients. It should be noted that as opposed to peer-to-peer solutions, communication between the participating clients is routed through the server 1 12. However, in alternative embodiments communication may be
routed directly between participating clients after the server 1 12 has handled initial setup of the connection between the clients.
[0036] The server 1 12 may also be configured to operate as a router or bridge between different communication networks. For example, the server 12 may be capable of translating between different VoIP protocols and thus allow a user of client device 102 make a call to a subscriber to a different VoIP system, for example a peer-to-peer system. As such, a subscriber e.g. of the service provided by Skype mentioned above and connected to the Internet 104 using client device 116, may be reached by the user of client device 102 by way of server 1 12. Similarly, the server 112 may include or be connected to a router or bridge connected to the switched telephone network (PSTN) 1 18 and thereby provide communication with mobile clients 120 or fixed line telephones 122. Finally, the server may be configured to handle security issues for client devices 124 running a client application 126 outside its home network and the control of a home router 106 and firewall 108, as will be described in further detail below.
[0037] The router 106 may be configured by an administrator of the local area network 100 to handle all incoming and outgoing communication in accordance with the present invention. The firewall may then be configured to handle all incoming traffic except communication intended for the client 102, for example VoIP or instant messaging, which may be handled by the router 106. In the following examples the communication will be assumed to be VoIP and the router 106 will be referred to as a secure VoIP router. This must be understood as a non-limiting example chosen for convenience, and those with
skill in the art will understand that other alternatives are consistent with the principles of the invention.
[0038] The secure VoIP router 106 may be configured to only allow connections to be established if at least some of the data packets of that connection are signed either by the client 102 or the client hardware component 1 10, for outgoing traffic, or by the server 1 12, for incoming traffic. For example, the secure VoIP router 102 may require valid signatures for all packets involved in setting up a connection. For increased security valid signatures may be required for certain packets during the communication, in particular packets that carry signaling information, but also packets carrying data traffic. In principle, valid signatures could be required for all packets, but validating a signature requires processing power in the router, and the necessary amount of processing power for such validation may not be present, or may be considered unnecessary from a cost/benefit point of view.
[0039] Signatures may be provided by using a public key infrastructure (PKI). Many
PKI solutions are available on the market, for example based on the RSA algorithm. The keys used for signatures can also be used to exchange encryption keys for encrypting and decrypting the actual data traffic. For this encryption a number of algorithms are available, for example the Advanced Encryption Standard (AES). The server 112 may in any case act as a key server. Alternatively, key servers operating independently of the server 1 12 may be used, including key servers operated by an independent certificate authority, or even multiple independent key servers operating in a so called web of trust.
[0040] The secure VoIP router 106 may also include a policy description regarding the permissions of specific users. Such a policy description may include rules regarding which outgoing calls a user is allowed to make, and which incoming calls should be routed through to the user's client device 102. Such rules, which may, but do not have to be symmetrical, may include a list of domains, enterprises or individual subscribers outside the LAN 100 that the user is allowed to make calls to or receive calls from. These rules may also include restrictions regarding whether a user is allowed to call or receive calls from users of other communication systems, including users operating client devices 1 16 connected to the Internet 104 and users connected to a telephone network 18 using for example a mobile telephone (cellphone) 120 or a fixed line telephone 122. If such rules are enforced on the secure VoIP router 106, the router may inspect packets involved in call initiation and setup, and only allow these packets through if they, in addition to being properly signed, are consistent with the rules in the policy description for example based on examination of IP addresses, port numbers and domain names.
[0041] Alternatively, or supplementary, the policy description may be stored (or replicated) on the server 1 12. In this case the server will perform the same inspection as the secure VoIP router 106 (either in addition to or instead of the inspection being performed by the router). The policy description may still be managed by an administrator of the local area network 100 and for example uploaded from the secure VoIP router 106 or over web based access to configuration of the server 12. Enforcing the policy on the server means that a roaming user using a laptop 124 and hardware component 126
currently located outside the local area network 100, and consequently outside the secure VoIP router 106, may still be subject to policy rules. This could alternatively be resolved by requiring that the roaming user first connect with the local area network 100 through a virtual private network (VPN) connection, but this may add a layer of complexity that may otherwise be unnecessary.
Reference is now made to Fig. 2 which is a flowchart illustrating how a communication session between two users of a system according to the present invention can be initiated and terminated. It is assumed that both users are located in a local area network protected by a firewall and a router. User A is located in local area network A and User B is located in local area network B. In a first step 201 User A using a client device running a client application, collectively referred to as Client A, issues a request to establish a connection with Client B. The request is signed in step 202 using the private key of Client A and then sent to Router A. In step 203 the request is received by Router A which determines whether the request is properly signed by Client A and that the request is properly addressed to the server 1 12. If a policy of users' permissions is also enforced on the router, Router A will attempt to verify whether user A has the right to establish a communication session with user B, as determined by a users' rights policy stored in Router A. The router may determine this based on, for example, an explicit list of users user A has the right to access, defined as a list of user names (for example in the form of URI's), a list of email addresses, or a list of telephone numbers. Alternatively, there may be a list of Internet domains to which the
user is allowed to make calls, or a list of networks or systems the user is allowed to communicate with such as a different VoIP or instant messaging system, the telephone network etc. The policy may also list users, domains, systems or networks that may not be called by this user (or any users). The policy may, of course, use a combination of any of these methods, depending on specific implementation choices made by a systems designer in each case.
[0043] If it is determined in step 204 that the request was not properly signed, or if the request for policy or other reasons is not allowed through the secure VoIP router 106, the request is denied by the router in step 205 and the session is terminated in step 206.
[0044] Alternatively, if the router is able to verify that the user is permitted to make the call, the process moves on to step 207 where the router forwards the request to the server 1 12.
[0045] The server receives the request in step 208 and verifies Client A's digital signature. It should be noted that the verification performed by the secure VoIP router 106 is intended only to determine whether a request should be allowed to pass from the local area network 100 to the wide area network on the outside or conversely if a request should be allowed in to the local area network. The determination made on the server includes whether a call setup between a called party and a calling party should be initiated.
[0046] The server may also verify that the user, or the organization the user belongs to, has the right to establish connections over the server, and to communicate with User B or the organization User B belongs to. The rights defined in the
server may include a duplication of users' rights found in Router A, as discussed above, in order to allow the administrator of local area network A to enforce policies also when user's belonging to his network is roaming. The rights defined in the server 1 12 may also represent rights or limitations associated with the user's or the user's organization's agreement with the provider of the communication services, i.e. the operator of the server 112. If the server is not able to verify the client's signature and any rights associated with the user in step 209 the request is denied in step 210, and the session is terminated in step 21 1. Otherwise, if the signature and any necessary rights can be verified, the process proceeds to step 212 where the server accepts the establishment of a communication channel to Client A. Then, in step 213, the server signs the received request and forwards the request to Client B. After the request has been signed and sent by the server in step 214 it is first received by Router B. Router B proceeds to verify the server's signature in step 214. In step 215 Router B may also attempt to verify whether the called party, i.e. User B, has the necessary rights to receive calls from User A, depending on whether such a user's rights policy is enforced on the router. User B's rights may be defined using the same strategies as those described for User A and Router A. If it is determined in step 216 that the server's signature or the called user's rights cannot be verified, the request is denied in step 217, and the session is terminated in step 218. When the termination of the session is reported back to the server, the server terminates the established connection with User A. Otherwise, if the necessary rights can be verified in step 216, the router forwards the request to client B.
[0048] Upon receipt of the request, possibly dependent on some user input from User B signifying acceptance, Client B establishes or confirms the establishment of a communication channel to the server. Client A and Client B are then connected over the server 112 and may commence to exchange data. The data may be encrypted and signed by the two clients as discussed above.
[0049] According to some embodiments, the same public key infrastructure used to sign requests is also used to exchange keys for encryption of the data traffic during the communication between Client A and Client B. Since public key cryptography typically is much slower than symmetric encryption, the server may issue symmetric keys to be used by the clients during communication. In a first embodiment the same key is issued to Client A and Client B and communication is encrypted end-to-end by the same encryption keys. Alternatively, different encryption keys can be issued to the two clients and the server can then decrypt and re-encrypt traffic that passes through the server. This may, however, require more processing power from the server than most systems designers will be willing to provide.
[0050] According to the embodiments discussed above with reference to Fig. 2, all data traffic passes through the server 1 12. However, it may be desirable to involve the server only in the call initiation process. In embodiments where this is the case, the server (or multiple servers for load distribution) may perform the same tasks discussed above during setup, but instead of establishing separate connections between the server and Client A and the server and Client B, respectively, the server may provide the clients with the
encryption keys and the necessary data to enable the clients (or the routers) to establish a connection between each other. This information may for example include IP addresses and port numbers. While the example illustrated in Fig. 1 shows the secure VoIP router connected to bypass the firewall 108, it is consistent with the principles of the invention to enable communication with secure VoIP routers or roaming clients, such as for example the client computer 124 hardware component 126 combination, to be located behind a firewall, and the server 1 12 may in some embodiments be configured to assist in NAT traversal if the secure VoIP router and/or a client is located behind a network address translation (NAT) gateway, and in some embodiments also firewall hole punching such as UDP hole punching and TCP hole punching. Various methods for and solutions to problems associated with NAT traversal and hole punching is well known to those with skill in the art.
Reference is now made to Fig. 3 which illustrates a smart card which can be used in embodiments of the invention. The smart card chip may be embedded in the shape of a traditional credit card sized card (known as ISO 7816) which can be inserted into a card reader in a computer or some other device. Alternatively, the smart card chip may be part of a USB token, a small electronic device with a USB connector. An advantage with the USB token form factor is that many computers are equipped with USB ports, something which is rarely the case for readers for credit card sized smart cards. However, other form factors are also consistent with the principles of the invention, such as for example Compact Flash (CF), Memory Stick,
MultiMediaCard (MMC) Secure Digital (SD) or Secure Digital High-Capacity (SDHC). The interface between the smart card device and the host computer may also communicate over an interface at least partly defined by a standard such as PC Card (PCMCIA), Parallel ATA (PATA), Serial ATA (SATA)
[0052] The smart card illustrated in Fig. 3 comprises a Central Processing Unit
(CPU) 301 which controls and is capable of communicating over an input/output system (I/O System) 302. The CPU 301 receives external external power Vcc, typically 5V, and is also connected to an external reset connection. The I/O system receives a clocking or timing signal CLK and input/output of serial data I/O. The smart card in Fig. 3 is also shown as implementing two connections labeled D+ and D- for USB signals and one connection labeled SWP for communication using the Single Wire Protocol for communicating with a Near Field Communication (NFC) chip. A smart card consistent with the principles will not have to implement all these interfaces, and the selection of which interfaces or connections to implement may be left to a systems designer as a design choice or dictated by design criteria that are not part of the present invention as such.
[0053] The smart card further includes three main types of memory. A read only memory (ROM) 303 may include the operating system, for example JavaCard OS or MULTOS and other basic software such as encryption algorithms. A random access memory (RAM) 304 is used for fast computation and storage of temporary data. Finally an electrically erasable programmable read only memory (EEPROM) 305 is included for storage of data that can be changed
or erased, but that should not be lost when the smart card no longer receives power.
[0054] Finally, the smart card may include a cryptographic module 306 which may simply be a representation of the necessary algorithms stored in ROM 303 and executed by the CPU 301 as well as encryption and decryption keys stored in EEPROM 305, but in more sophisticated cards the cryptographic module 306 may include specialized cryptographic hardware. The following description is intended to cover both alternatives unless otherwise noted.
[0055] Consistent with the principles of the invention, the smart card in the hardware component 1 10, 126 may include a standard file system which is not exposed to the host operating system on a client computer 02, 124, since the smart card is primarily performing security operations. Some of the file system functionality may, however, be connected to the host system by hardware and software included as part of the hardware component, for example over a USB Mass Storage (08h) interface, in the same manner as in typical USB mass storage devices (flash drives). In addition to the standard file system, a few device files may also be present, directly interfacing with the cryptographic module 306. Write and read to the device files result in direct communication with the secure processor I/O channels, where the file system layer acts as a pipe between a communication client application running on the host 102, 124 and the cryptographic module 306 present on the smart card. The device files are "virtual" files in this context, they are named pipes to the functionality of the cryptographic module 306. For example one device file can serve as an "encryption" function, where the written data into the
device file is returned encrypted by reading from the same file. This device file write/read loop can be continued until it is possible to write data into the virtual file and data is available to be read from it.
[0056] The cryptographic module 306 may be configured to communicate both over the USB smart card device class interface (OBh) and over the device files exposed over the file system, as described above. Which communication channel that is used, may for example depend on the actual configuration of the audio/video conferencing applications. The underlying secure processor serves the sensitive, security related and user identification functions of the conferencing application.
[0057] The communication client application that is running on the host computer
102, 124 may be stored in flash memory, either the EEPROM 305 of the smart card itself, or in a separate memory part of the hardware component 110, 126. Methods for running software applications from flash memory without installing the application on the host computer are known to those skilled in the art. One example of a method that is commercially available is delivered by the company U3 LLC.
[0058] In Fig. 4 an example of a secure VoIP router 406 is illustrated in further detail.
This router represents an exemplary embodiment of the router 106 of Fig. 1. The router according to this embodiment is configured like a bridge. This bridge, which may be implemented in a single box, includes two processors 451 , 452 capable of running independently, and where one processor 451 is connected to the LAN 400 (corresponding to LAN 100 of Fig. 1 ) and the other 452 to the public WAN 404 (104 of Fig. 1 ) outside of the firewall (108 of Fig.
1 ). Both CPUs 451 , 452 may be running separate instances of an operating system, or even different operating systems. Both CPUs control their own computer system components with which they may communicate over respective internal buses 453, 454. The remaining computer system components have been simplified and are only illustrated as respective input/output ports 455, 456 and respective verification modules 457, 458. The verification modules 457, 458 represent the combination of computer hardware and software modules necessary to provide the processors with the necessary instructions to perform the methods according to the invention. In particular, the verification modules include computer storage, for example one or more hard drives or flash memory for storing installed software and random access memory for temporary storage of data and instructions during program execution. General computer system components are well known to those with skill in the art and will not be discussed further.
The processors 451 , 452 are interconnected with a hardware bus 460, which guarantees high speed traffic between the processors. The hardware bus 460 is exclusively dedicated to traffic related to the present invention. Specifically, processor 451 only transfers data to processor 452 if it is received as part of a communication session that was initiated by a valid signature from a client in the LAN 400 (102, 1 10 of Fig. 1), and processor 452 only transfers data to processor 451 if it is received as part of a communication session that was initiated by a valid signature from a server (1 12 of Fig. 1). The verification may in each case be performed by using the instructions and public keys stored or accessible to the verification modules 457, 458 to verify signatures
from a client or server. Additional requirements may be enforced by the hardware bus itself regarding, for example, which protocols and port numbers should be allowed on the bus 460, independent of whether or not the data is verified by one of the processors 451 , 452.
[0060] It will be understood by those with skill in the art that many variations and modifications can be made to the methods and systems described without departing from the principles of the invention and that not all participants in a system consistent with the invention will have to operate consistently. For example, some client computers could rely only on a software client and forgo the hardware component. Similarly, some secure VoIP routers could use only one processor and verification module which handles both internal (outgoing) and external (incoming) requests. Also, some clients or routers could be behind firewalls, necessitating additional measures for firewall traversal, and some clients (and additional servers) could be part of a different system and connected to the server or servers operating according to the invention over a bridge or gateway. The examples and embodiments described herein should therefore be understood as exemplary only, and not as limiting on the scope of the invention, which is defined in the appended claims.
[0061] The various components of the system have not been described in complete detail for the sake of clarity and brevity. Those with skill in the art will understand that computer devices, whether they are desktop computers, laptop computers, servers, firewalls, routers, gateways or even smart phones or PDAs may include standard components such as processors, memory, system buses, user interfaces including for example keyboards and displays,
and various communication interfaces or ports implementing interface standards and capable of transmitting information in accordance with standard protocols.
Claims
1. A communication system, comprising:
at least one client computer connected to a local area network and configured to create a request for establishment of a communication session with a second client computer, to digitally sign said request and transmit the request to a first secure router;
at least one secure router with at least two communication interfaces, including a first communication interface connected to a local area network and a second communication interface connected to a wide area network, and configured to receive requests for establishment of communication sessions on said communication interfaces and not allow requests received by one of said first and second
communication interface to be transmitted by the other of said first and second communication interface unless the request is digitally signed with a signature the router can validate; and
at least one server connected to a wide area network and configured to receive requests for establishment of communication sessions from client computers, validate a digital signature of received requests, and, when a signature of a received request can be validated, digitally sign the received request and forward it to a designated recipient client computer.
2. The communication system of claim 1 , wherein said at least one client computer comprises a host computer and a connectable hardware component, said connectable hardware component including memory storing computer program instructions capable of being executed by a processor in said host computer to perform the functionality of a communication client application.
3. The communication system of claim 2, wherein said connectable hardware component further including a processor and encryption keys stored in said memory, said memory further including computer program instructions capable of being executed by said processor in said hardware component to perform digital signing of requests for establishment of communication sessions created by said communication client application.
4. The communication system of claim 3, wherein said connectable hardware component further comprises program instructions capable of being executed by said processor in said hardware component to perform encryption of a request for a temporary encryption key to be used to encrypt data traffic during said communication session and to decrypt a response to said request for a temporary encryption key.
5. The communication system of claim 1 , wherein said secure router comprises two processor units, one configured to perform verification of requests received on said first interface and one to perform verification of requests received on said second interface, said processors being connected over a data bus that is configured to only transport data related to communication session requests and subsequently established communication sessions.
6. A communication client hardware component, comprising:
an interface for connecting the hardware component to a host computer; a memory storing a client application, said client application including instructions to allow a processor of said host computer to create requests for establishment of a communication session; and
a secure module including a cryptographic key and configured to digitally sign requests created by said host computer under control of said client application.
7. The communication hardware component of claim 6, wherein said interface defined at least in part by a standard or a device format selected from the group consisting of:
PCMCIA, Universal Serial Bus, MultiMediaCard, Secure Digital, Secure Digital High-Capacity, PC Card, Parallel ATA and Serial ATA.
8. The communication hardware component of claim 6, wherein the secure module is a cryptographic module comprising hardware and software configured to operate in a Public Key Infrastructure.
9. A secure router, comprising:
a first communication interface configured to be connected to a local area network and receive requests for establishment of communication sessions;
a second communication interface configured to be connected to a wide area network and receive requests for establishment of communication sessions; and
at least one processor configured to validate digital signatures associated with received requests for establishment of communication sessions and to not allow requests to pass from one communication interface to the other communication interface unless the request has an associated digital signature that can be positively validated.
10. The secure router of claim 9, wherein said at least one processor is two processors validating signatures for requests received over respective of said first and second interfaces, said processors operating independently.
11. The secure router of claim 10, further comprising a communication bus over which said two processors communicate, said communication bus being configured to only transfer data associated with a limited set of communication protocols and to deny transfer of any other data.
12. The secure router of claim 9, further comprising at least one memory for storing a collection of public keys used to validate said digital signatures.
13. The secure router of claim 9, further comprising at least one memory for storing a set of rules, each rule being associated with at least one of a digital signature, a user name, and an address of at least one of an intended recipient of a request and a sender of a request, and instructions enabling said at least one processor to not allow a request received by one of said first and said second communication interface to be transmitted by the other of said first and said second communication interface if said request is in conflict with one or more of said rules.
14. A communication server, comprising:
one or more communication interfaces for connecting to at least one wide area network;
a memory holding a list of addresses associated with user names; and at least one processor configured to validate digital signatures associated with received requests for establishment of communication sessions and to, upon successful validation of a signature associated with a received request, digitally sign said request and forward it to an intended recipient defined by a user name included in said request, using an address found in said list of addresses.
15. The communication server of claim 14, further comprising, in said memory, a set of rules, each rule being associated with at least one of a digital signature, a user name, and an address of at least one of an intended recipient of a request and a sender of a request, and instructions enabling said at least one processor to not allow a request to be digitally signed and forwarded if said request is in conflict with one or more of said rules.
16. The communication server of claim 14, wherein said user names are selected from the group consisting of a user account names, email addresses, telephone numbers, and Uniform Resource Identifiers.
17. The communication server of claim 16, wherein said addresses are IP addresses.
18. The communication server of claim 17, wherein at least some of said IP addresses are addresses of servers or gateways capable of accessing external communication networks.
19. The communication server of claim 14, wherein said request is converted from a first communication protocol to a second communication protocol before it is forwarded.
20. A method of establishing secure communication, comprising:
in a client computer, creating and digitally signing a request to establish communication with a user;
in a router, receiving said request on a first communication interface, and provided that said signature can be validated, transmitting said request on a second communication interface;
in a server, receiving said request, validating said signature and provided that said signature can be validated, looking up an address of said user in a list of users and digitally sign and forward said request to said address.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
NO20100723 | 2010-05-18 | ||
NO20100723 | 2010-05-18 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2011145949A1 true WO2011145949A1 (en) | 2011-11-24 |
Family
ID=44120807
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/NO2011/000156 WO2011145949A1 (en) | 2010-05-18 | 2011-05-18 | Method, system and devices for the establishment of a secure communication session |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2011145949A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113949566A (en) * | 2021-10-15 | 2022-01-18 | 工银科技有限公司 | Resource access method, device, electronic equipment and medium |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002054665A1 (en) * | 2001-01-04 | 2002-07-11 | Viquity Corporation | Trusted intermediary |
WO2003003767A1 (en) * | 2001-06-29 | 2003-01-09 | Nokia Corporation | Circuit-switched and packet-switched communications |
US20030217165A1 (en) * | 2002-05-17 | 2003-11-20 | Microsoft Corporation | End-to-end authentication of session initiation protocol messages using certificates |
US20070118750A1 (en) * | 2005-10-27 | 2007-05-24 | The Go Daddy Group, Inc. | Authenticating a caller initiating a communication session |
US20070209067A1 (en) * | 2006-02-21 | 2007-09-06 | Fogel Richard M | System and method for providing security for SIP-based communications |
WO2007144737A2 (en) * | 2006-06-09 | 2007-12-21 | Gemalto S.A. | A personal token having enhanced signaling abilities |
-
2011
- 2011-05-18 WO PCT/NO2011/000156 patent/WO2011145949A1/en active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002054665A1 (en) * | 2001-01-04 | 2002-07-11 | Viquity Corporation | Trusted intermediary |
WO2003003767A1 (en) * | 2001-06-29 | 2003-01-09 | Nokia Corporation | Circuit-switched and packet-switched communications |
US20030217165A1 (en) * | 2002-05-17 | 2003-11-20 | Microsoft Corporation | End-to-end authentication of session initiation protocol messages using certificates |
US20070118750A1 (en) * | 2005-10-27 | 2007-05-24 | The Go Daddy Group, Inc. | Authenticating a caller initiating a communication session |
US20070209067A1 (en) * | 2006-02-21 | 2007-09-06 | Fogel Richard M | System and method for providing security for SIP-based communications |
WO2007144737A2 (en) * | 2006-06-09 | 2007-12-21 | Gemalto S.A. | A personal token having enhanced signaling abilities |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113949566A (en) * | 2021-10-15 | 2022-01-18 | 工银科技有限公司 | Resource access method, device, electronic equipment and medium |
CN113949566B (en) * | 2021-10-15 | 2024-06-11 | 工银科技有限公司 | Resource access method, device, electronic equipment and medium |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10237253B2 (en) | Private cloud routing server, private network service and smart device client architecture without utilizing a public cloud based routing server | |
US11038682B2 (en) | Communication method, apparatus and system, electronic device, and computer readable storage medium | |
US9203807B2 (en) | Private cloud server and client architecture without utilizing a routing server | |
RU2542911C2 (en) | Low-latency peer-to-peer session establishment | |
Johnston et al. | Taking on webRTC in an enterprise | |
US9781087B2 (en) | Private and secure communication architecture without utilizing a public cloud based routing server | |
US9935930B2 (en) | Private and secure communication architecture without utilizing a public cloud based routing server | |
US8402511B2 (en) | LDAPI communication across OS instances | |
JP5239341B2 (en) | Gateway, relay method and program | |
TWI632465B (en) | Method for use with a public cloud network, private cloud routing server and smart device client | |
US11849008B2 (en) | Per-application network content filtering | |
Keromytis | Voice over IP: Risks, threats and vulnerabilities | |
TWI537744B (en) | Private cloud routing server, private network service and smart device client architecture without utilizing a public cloud based routing server | |
TWI629598B (en) | Method for use with a public cloud network, private cloud routing server and smart device client | |
Williams et al. | Better-Than-Nothing Security: An Unauthenticated Mode of IPsec | |
US8676998B2 (en) | Reverse network authentication for nonstandard threat profiles | |
KR20140116422A (en) | Integrating server applications with multiple authentication providers | |
JP2006270431A (en) | Call controller, terminal, their programs, and communication channel establishment method | |
Lescisin et al. | SocialSDN: Design and Implementation of a Secure Internet Protocol Tunnel Between Social Connections | |
US20150381387A1 (en) | System and Method for Facilitating Communication between Multiple Networks | |
JP4619059B2 (en) | Terminal device, firewall device, method for firewall device control, and program | |
JP4601979B2 (en) | Certificate mutual authentication system and certificate mutual authentication method | |
WO2011145949A1 (en) | Method, system and devices for the establishment of a secure communication session | |
Urien | Personal HSM, Privacy for Subscribers in 5G/6G Networks | |
GB2532832A (en) | Private and secure communication architecture without utilizing a public cloud based routing server |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 11722596 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 11722596 Country of ref document: EP Kind code of ref document: A1 |