US20160294808A1 - Authentication of remote host via closed ports - Google Patents
Authentication of remote host via closed ports Download PDFInfo
- Publication number
- US20160294808A1 US20160294808A1 US15/186,490 US201615186490A US2016294808A1 US 20160294808 A1 US20160294808 A1 US 20160294808A1 US 201615186490 A US201615186490 A US 201615186490A US 2016294808 A1 US2016294808 A1 US 2016294808A1
- Authority
- US
- United States
- Prior art keywords
- communication request
- client
- server
- addresses
- firewall
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
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/029—Firewall traversal, e.g. tunnelling or, creating pinholes
-
- 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/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
-
- 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
-
- 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/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- 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/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
-
- 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
-
- 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/12—Applying verification of the received information
- H04L63/126—Applying verification of the received information the source of the received data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H04L67/42—
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
-
- 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
-
- 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/3271—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 using challenge-response
Definitions
- the present invention relates to network communication security and more particularly to a method and system for allowing a server to authenticate a client without initially permitting direct communication between these devices.
- IP Internet Protocol
- TCP Transmission Control Protocol
- Logical port numbers are straight unsigned integer values which range up to a value of 65535.
- Some logical ports are assigned, some reserved and many unassigned which may be utilized by application programs. For instance, the hypertext transfer protocol (“HTTP”) uses port 80 to provide web browsing services.
- HTTP hypertext transfer protocol
- the supporting ports like port 80
- the supporting ports are typically left unblocked by firewalls so that the corresponding data, for example a request for information, can be received by the web server.
- the web server typically blindly accepts the data, processes it and sends the result back to the originating client computer. Such can even be the case where a web server receives a request and replies by requesting a password and/or ID.
- the present invention addresses the deficiencies of the art in respect to authentication and provides a novel and non-obvious method, system and apparatus for authenticating a client computer to a server.
- a multilayered authentication technique is used to prevent virus/worms and hackers from scanning ports.
- the multilayered technique advantageously prevents initial direct communication, e.g. communication sessions, between the client computer and the server by logging the communication request in a firewall and notifying the server that a client communication request is pending.
- the present invention provides a system for authenticating a communication request sent from a client computing device in which a firewall is in data communication with a server.
- the firewall has a processing unit and a storage unit.
- the processing unit operates to perform functions including initially blocking the communication request and creating a first logging event corresponding to the communication request.
- the storage unit stores the communication request and the logging event.
- the server is in data communication with the firewall.
- the server has a processing unit operating to perform functions including receiving notification of the first logging event created by the firewall, authenticating the communication request corresponding to the first logging event and enabling a port in the firewall if the communication request is authenticated.
- the present invention provides a method for authenticating a communication request sent from a client computing device in which the communication request is initially blocked to prevent delivery to a server.
- a first logging event corresponding to the communication request is created.
- the communication request and the logging event are stored in a firewall.
- the server is notified of the first logging event.
- the communication request corresponding to the first logging event is authenticated.
- a port in the firewall is enabled if the communication request is authenticated.
- a machine readable storage device having stored thereon a computer program for authenticating a communication request sent from a client computing device.
- the computer program includes a set of instructions which when executed by a machine causes the machine to perform a method in which the communication request is initially blocked to prevent delivery to a server.
- a first logging event corresponding to the communication request is created.
- the communication request and the logging event are stored in a firewall.
- the server is notified of the first logging event.
- the communication request corresponding to the first logging event is authenticated.
- a port in the firewall is enabled if the communication request is authenticated.
- FIG. 1 is a diagram of an exemplary system constructed in accordance with the principles of the present invention
- FIG. 2 is a flow chart of the overall process of the present invention
- FIG. 3 is a flow chart of the client content request preparation and transmission process (Step S 200 ) of FIG. 2 ;
- FIG. 4 is a flow chart of the process of authenticating the client computer communication request (Step S 204 ) of FIG. 2 .
- the present invention advantageously provides a method, system and apparatus for allowing communication between a server, such as a web server, and a client computer, such as a computer running web browser software, in a manner which allows the server to authenticate the client computer using a multi-layered authentication and data exchange technique.
- This technique does not require the firewall to respond to the requests and does not initially allow the client computer to directly communicate with the server.
- references to authentication of the client computer is intended to include authentication of the actual client computer and/or a user of the computer.
- FIG. 1 a system constructed in accordance with the principles of the present invention and designated generally as “ 100 ”.
- System 100 includes client computer 102 coupled to server 104 through network 106 and firewall 108 .
- Network 106 can be any computer network capable of transporting data between client computer 102 and firewall 108 .
- data includes all forms of digital communication including but not limited to alpha-numeric information, audio, video, and any other form of encoded or encrypted information.
- firewall 108 and server 104 are shown as separate elements in FIG. 1 and are described separately herein, it is understood that firewall 108 and server 104 can be implemented as a single physical unit with the functions of each device performed by one or more processing units and associated computing hardware in one or more physical chassis.
- Client computer 102 can be any computing device capable of requesting information from a server, such as may be provided by web browsing software.
- client computer 102 can be a desktop or laptop computer, a personal digital assistant (“PDA”) and the like.
- PDA personal digital assistant
- Client computer 102 includes hardware components as known in the art and as may be required to implement the functions of the present invention described herein.
- client computer 102 can include a storage unit such as volatile or non-volatile memory, a central processing unit, input and output devices, network interface hardware, display units and the like, controlled by an operating system and/or one or more application software programs.
- server 104 generally includes the same types of hardware components described above with respect to computer 102 .
- Server 104 is arranged to provide information to client 102 based on requests initiated by client 102 .
- server 104 can be a web server.
- the hardware elements of server 104 are arranged to provide the functions described herein with respect to the authentication of a request for information, i.e., content request originated by client 102 .
- Firewall 108 generally includes the hardware described above with respect to client computer 102 , including the storage unit and processing unit, and includes the programmatic software needed to implement the functions described herein. Of note, it is presumed that one or ordinary skill in the art can write programmatic software using a known computing software language to implement the functions of the invention described herein as may be performed by client computer 102 , server 104 and/or firewall 108 . Authentication process 110 is performed by client computer 102 , server 104 and/or firewall 108 .
- client computer 102 prepares and sends a request for content to server 104 (Step S 200 ).
- the intended destination of the request is addressed to what the client computer 102 believes is the address, such as a TCP/IP address of server 104 .
- Firewall 108 operates to initially block the communication request sent by client computer 102 and logs the request as well as the data and/or packet(s) embodying the request in its storage unit (Step S 202 ).
- Server 104 is notified that a log entry has been made in firewall 108 for communication and evaluates the request (Step S 204 ) to determine whether the client should be authenticated (Step S 206 ). If the client is authenticated, the communication request is honored and server 104 instructs firewall 108 to enable one or more ports in the firewall to allow communication between client 102 and server 104 (Step S 208 ).
- client 102 may be requesting web content from server 104 . If the communication request is authenticated, server 104 may instruct firewall 108 to enable port TCP/IP port 80 to allow client 102 to communicate with server 104 using the well known http port as this port is commonly used for TCP/IP web communication.
- server 104 receives notification that firewall 108 has logged a communication request from client 102 for content. It is contemplated that this notification can be received in any number of ways. For example, server 104 can monitor the log in firewall 108 to determine when an entry for a communication request has been made. As another example, firewall 108 can proactively notify server 104 of the creation of a communication request log entry. In other words, the notification of the communication request log entry can be pushed to server 104 or can be pulled from firewall 108 . Techniques for pushing and pulling data and for monitoring log computer log entries are known and are not described herein.
- the first layer of the multi-layer authentication technique of the present invention is a matching of a hash of addresses corresponding to the requesting client computer 102 . Accordingly, client computer 102 hashes its IP and MAC address (Step S 300 ).
- the hash can be performed using a predetermined hashing protocol or a dynamically changing protocol, such as is done by the SECUREID system. It is also contemplated that positional coordinates using global position system (“GPS”) enhanced computers can also be factored into the hashing algorithm, thereby adding an additional layer of location-specific security to the system.
- GPS global position system
- the communication request transmitted by client 102 and stored in the storage unit of firewall 108 therefore includes the hashed addresses (and optional GPS positional coordinates) as well as these same addresses and coordinates in the clear, i.e., not hashed.
- the communication request is transmitted to a predefined port(s) or a series of ports in a predetermined order (Step S 302 ).
- stateful firewall 108 intercepts the request destined for server 104 .
- the present invention blocks all hackers and viruses/worms from reaching server 104 .
- the only knowledge that server 104 has of the communication request from client 102 is notification of the log entry.
- server 104 detects that the log in firewall 108 has been updated (Step S 400 ). Methods for notifying server 104 of a firewall log update are described above. Server 104 obtains the communication request stored in firewall 108 along with the logging data and hashes the clear IP and MAC address in the communication request (Step S 402 ) using the same hashing algorithm used by client computer 102 . Server 104 compares the addresses it hashed with the hashed addresses (and optional GPS positional information) created by client computer 102 and included in the communication request to determine if the two hashes match (Step S 404 ).
- Step S 406 the authentication fails (Step S 406 ) and the communication request is not honored by server 104 .
- Matching hashes are a strong indication that client computer 102 is not “spoofed” i.e. that the communication request was actually initiated by client computer 102 and not an imposter.
- server 104 sends a unicast request to client computer 102 asking for the server's public encryption key (Step S 408 ).
- the public key can be per IP port or per service.
- the public key is typically distributed to client computer 102 at the time the corresponding communication software and/or application and/or operating system is installed. Upon receiving the request, client computer 102 transmits the public key to server 104 .
- Firewall 108 logs the receipt of the public key and stores this log entry as well as the corresponding public key in its storage unit.
- server 104 is notified of the log entry.
- Server 104 obtains the public key from firewall 108 and tests the public key (Step S 410 ).
- the public key can be tested by server 104 , for example, by encrypting test data with the public key and then trying to decrypt the same data using its private keys. If the decryption is successful, the client (communication request) are authenticated (Step S 414 ). If the decryption is not successful, the authentication has failed (Step S 406 ).
- the present invention can be realized in hardware, software, or a combination of hardware and software.
- An implementation of the method and system of the present invention can be realized in a centralized fashion in one computer system, or in a distributed fashion where different elements are spread across several interconnected computer systems. Any kind of computer system, or other apparatus adapted for carrying out the methods described herein, is suited to perform the functions described herein.
- a typical combination of hardware and software could be a general purpose computer system with a computer program that, when being loaded and executed, controls the computer system such that it carries out the methods described herein.
- the present invention can also be embedded in a computer program product, which comprises all the features enabling the implementation of the methods described herein, and which, when loaded in a computer system is able to carry out these methods.
- Computer program or application in the present context means any expression, in any language, code or notation, of a set of instructions intended to cause a system having an information processing capability to perform a particular function either directly or after either or both of the following a) conversion to another language, code or notation; b) reproduction in a different material form.
Abstract
A method, system and apparatus for authenticating a communication request sent from a client computing device. The communication request is initially blocked by a firewall preventing delivery to a server. A first logging event corresponding to the communication request is created. The communication request and the logging event are stored in a firewall. The server is notified of the first logging event. The communication request corresponding to the first logging event is authenticated. A port in the firewall is enabled if the communication request is authenticated.
Description
- The present invention relates to network communication security and more particularly to a method and system for allowing a server to authenticate a client without initially permitting direct communication between these devices.
- With the proliferation of public access communication networks such as the Internet, security and integrity of data is a concern that permeates society. Related to this concern is the availability of server resources and the need to provide availability and access to potentially sensitive data in the face of malicious unauthorized access attempts, i.e., hackers, as well as attempts to destroy data and computing resources, i.e., viruses and worms. These computer hackers and viruses and worms are constantly probing and analyzing networks, servers and other computing resources for vulnerabilities that can be exploited.
- Many schemes for protecting data and unauthorized access to computing resources exist, ranging from general password protection to more sophisticated firewall arrangements. As typically occurs in Internet communications, when a client computer seeks to access a web server, the request in the form of an Internet Protocol (“IP”) packet is routed through a series of networks. IP layers, such as the Transmission Control Protocol (“TCP”) layer uses a logical port number assigned to each message so that the recipient device can determine the type of service being is requested/provided. These logical ports are therefore reference numbers used to define a service. Logical port numbers are straight unsigned integer values which range up to a value of 65535. Some logical ports are assigned, some reserved and many unassigned which may be utilized by application programs. For instance, the hypertext transfer protocol (“HTTP”) uses port 80 to provide web browsing services.
- In order to allow services like internet web browsing to be used, the supporting ports, like port 80, are typically left unblocked by firewalls so that the corresponding data, for example a request for information, can be received by the web server. Once the data has passed through the firewall, the web server typically blindly accepts the data, processes it and sends the result back to the originating client computer. Such can even be the case where a web server receives a request and replies by requesting a password and/or ID.
- These arrangements make the servers vulnerable to the above-described attacks. These arrangements also disadvantageously require a significant amount of administration by requiring administrators to constantly update firewall rule sets after the attacks have been made. It is therefore desirable to have a system and method which allows client computers to communicate with servers via a firewall in which the firewall does not need to have certain ports allowed by default, i.e. the firewall blocks all incoming traffic regardless of port number.
- The present invention addresses the deficiencies of the art in respect to authentication and provides a novel and non-obvious method, system and apparatus for authenticating a client computer to a server. In this regard, a multilayered authentication technique is used to prevent virus/worms and hackers from scanning ports. The multilayered technique advantageously prevents initial direct communication, e.g. communication sessions, between the client computer and the server by logging the communication request in a firewall and notifying the server that a client communication request is pending.
- According to one aspect, the present invention provides a system for authenticating a communication request sent from a client computing device in which a firewall is in data communication with a server. The firewall has a processing unit and a storage unit. The processing unit operates to perform functions including initially blocking the communication request and creating a first logging event corresponding to the communication request. The storage unit stores the communication request and the logging event. The server is in data communication with the firewall. The server has a processing unit operating to perform functions including receiving notification of the first logging event created by the firewall, authenticating the communication request corresponding to the first logging event and enabling a port in the firewall if the communication request is authenticated.
- According to another aspect, the present invention provides a method for authenticating a communication request sent from a client computing device in which the communication request is initially blocked to prevent delivery to a server. A first logging event corresponding to the communication request is created. The communication request and the logging event are stored in a firewall. The server is notified of the first logging event. The communication request corresponding to the first logging event is authenticated. A port in the firewall is enabled if the communication request is authenticated.
- According to still another aspect, a machine readable storage device having stored thereon a computer program for authenticating a communication request sent from a client computing device is provided. The computer program includes a set of instructions which when executed by a machine causes the machine to perform a method in which the communication request is initially blocked to prevent delivery to a server. A first logging event corresponding to the communication request is created. The communication request and the logging event are stored in a firewall. The server is notified of the first logging event. The communication request corresponding to the first logging event is authenticated. A port in the firewall is enabled if the communication request is authenticated.
- Additional aspects of the invention will be set forth in part in the description which follows, and in part will be obvious from the description, or may be learned by practice of the invention. The aspects of the invention will be realized and attained by means of the elements and combinations particularly pointed out in the appended claims. It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the invention, as claimed.
- The accompanying drawings, which are incorporated in and constitute part of this specification, illustrate embodiments of the invention and together with the description, serve to explain the principles of the invention. The embodiments illustrated herein are presently preferred, it being understood, however, that the invention is not limited to the precise arrangements and instrumentalities shown, wherein:
-
FIG. 1 is a diagram of an exemplary system constructed in accordance with the principles of the present invention; -
FIG. 2 is a flow chart of the overall process of the present invention; -
FIG. 3 is a flow chart of the client content request preparation and transmission process (Step S200) ofFIG. 2 ; and -
FIG. 4 is a flow chart of the process of authenticating the client computer communication request (Step S204) ofFIG. 2 . - The present invention advantageously provides a method, system and apparatus for allowing communication between a server, such as a web server, and a client computer, such as a computer running web browser software, in a manner which allows the server to authenticate the client computer using a multi-layered authentication and data exchange technique. This technique does not require the firewall to respond to the requests and does not initially allow the client computer to directly communicate with the server. As used herein, references to authentication of the client computer is intended to include authentication of the actual client computer and/or a user of the computer.
- Referring now to the drawing figures in which like reference designators refer to like elements there is shown in
FIG. 1 a system constructed in accordance with the principles of the present invention and designated generally as “100”.System 100 includesclient computer 102 coupled toserver 104 throughnetwork 106 andfirewall 108. Network 106 can be any computer network capable of transporting data betweenclient computer 102 andfirewall 108. As used herein, the term “data” includes all forms of digital communication including but not limited to alpha-numeric information, audio, video, and any other form of encoded or encrypted information. Further, althoughfirewall 108 andserver 104 are shown as separate elements inFIG. 1 and are described separately herein, it is understood thatfirewall 108 andserver 104 can be implemented as a single physical unit with the functions of each device performed by one or more processing units and associated computing hardware in one or more physical chassis. -
Client computer 102 can be any computing device capable of requesting information from a server, such as may be provided by web browsing software. For example,client computer 102 can be a desktop or laptop computer, a personal digital assistant (“PDA”) and the like.Client computer 102 includes hardware components as known in the art and as may be required to implement the functions of the present invention described herein. For example,client computer 102 can include a storage unit such as volatile or non-volatile memory, a central processing unit, input and output devices, network interface hardware, display units and the like, controlled by an operating system and/or one or more application software programs. - Similarly,
server 104 generally includes the same types of hardware components described above with respect tocomputer 102.Server 104 is arranged to provide information toclient 102 based on requests initiated byclient 102. For example,server 104 can be a web server. The hardware elements ofserver 104 are arranged to provide the functions described herein with respect to the authentication of a request for information, i.e., content request originated byclient 102. -
Firewall 108 generally includes the hardware described above with respect toclient computer 102, including the storage unit and processing unit, and includes the programmatic software needed to implement the functions described herein. Of note, it is presumed that one or ordinary skill in the art can write programmatic software using a known computing software language to implement the functions of the invention described herein as may be performed byclient computer 102,server 104 and/orfirewall 108.Authentication process 110 is performed byclient computer 102,server 104 and/orfirewall 108. - The overall process,
authentication process 110, of the invention is described with reference toFIG. 2 . Initially,client computer 102 prepares and sends a request for content to server 104 (Step S200). The intended destination of the request is addressed to what theclient computer 102 believes is the address, such as a TCP/IP address ofserver 104.Firewall 108 operates to initially block the communication request sent byclient computer 102 and logs the request as well as the data and/or packet(s) embodying the request in its storage unit (Step S202).Server 104 is notified that a log entry has been made infirewall 108 for communication and evaluates the request (Step S204) to determine whether the client should be authenticated (Step S206). If the client is authenticated, the communication request is honored andserver 104 instructsfirewall 108 to enable one or more ports in the firewall to allow communication betweenclient 102 and server 104 (Step S208). - For example,
client 102 may be requesting web content fromserver 104. If the communication request is authenticated,server 104 may instructfirewall 108 to enable port TCP/IP port 80 to allowclient 102 to communicate withserver 104 using the well known http port as this port is commonly used for TCP/IP web communication. - As noted above, with respect to Step S204,
server 104 receives notification thatfirewall 108 has logged a communication request fromclient 102 for content. It is contemplated that this notification can be received in any number of ways. For example,server 104 can monitor the log infirewall 108 to determine when an entry for a communication request has been made. As another example,firewall 108 can proactively notifyserver 104 of the creation of a communication request log entry. In other words, the notification of the communication request log entry can be pushed toserver 104 or can be pulled fromfirewall 108. Techniques for pushing and pulling data and for monitoring log computer log entries are known and are not described herein. - A detailed example of the client content request preparation and transmission process of Step S200 is described with reference to
FIG. 3 . The first layer of the multi-layer authentication technique of the present invention is a matching of a hash of addresses corresponding to the requestingclient computer 102. Accordingly,client computer 102 hashes its IP and MAC address (Step S300). The hash can be performed using a predetermined hashing protocol or a dynamically changing protocol, such as is done by the SECUREID system. It is also contemplated that positional coordinates using global position system (“GPS”) enhanced computers can also be factored into the hashing algorithm, thereby adding an additional layer of location-specific security to the system. - The communication request transmitted by
client 102 and stored in the storage unit offirewall 108 therefore includes the hashed addresses (and optional GPS positional coordinates) as well as these same addresses and coordinates in the clear, i.e., not hashed. The communication request is transmitted to a predefined port(s) or a series of ports in a predetermined order (Step S302). As noted above, with respect to Step S202 inFIG. 2 ,stateful firewall 108 intercepts the request destined forserver 104. - By blocking all communication requests at
firewall 108, the present invention blocks all hackers and viruses/worms from reachingserver 104. Initially, the only knowledge thatserver 104 has of the communication request fromclient 102 is notification of the log entry. - The authentication of the communication request (Step S204) of
FIG. 2 is explained in detail with reference toFIG. 4 . Initially,server 104 detects that the log infirewall 108 has been updated (Step S400). Methods for notifyingserver 104 of a firewall log update are described above.Server 104 obtains the communication request stored infirewall 108 along with the logging data and hashes the clear IP and MAC address in the communication request (Step S402) using the same hashing algorithm used byclient computer 102.Server 104 compares the addresses it hashed with the hashed addresses (and optional GPS positional information) created byclient computer 102 and included in the communication request to determine if the two hashes match (Step S404). If the hashes do not match, the authentication fails (Step S406) and the communication request is not honored byserver 104. Matching hashes are a strong indication thatclient computer 102 is not “spoofed” i.e. that the communication request was actually initiated byclient computer 102 and not an imposter. - If the hashes match, the first layer of the multi-layer authentication process is deemed successful and
server 104 sends a unicast request toclient computer 102 asking for the server's public encryption key (Step S408). The public key can be per IP port or per service. The public key is typically distributed toclient computer 102 at the time the corresponding communication software and/or application and/or operating system is installed. Upon receiving the request,client computer 102 transmits the public key toserver 104. - However, as with the initial communication request, because no ports have been opened to allow direct communication from
client computer 102 toserver 104, the packet(s) containing the public key are blocked byfirewall 108.Firewall 108 logs the receipt of the public key and stores this log entry as well as the corresponding public key in its storage unit. As with the initial communication request,server 104 is notified of the log entry.Server 104 obtains the public key fromfirewall 108 and tests the public key (Step S410). The public key can be tested byserver 104, for example, by encrypting test data with the public key and then trying to decrypt the same data using its private keys. If the decryption is successful, the client (communication request) are authenticated (Step S414). If the decryption is not successful, the authentication has failed (Step S406). - The present invention can be realized in hardware, software, or a combination of hardware and software. An implementation of the method and system of the present invention can be realized in a centralized fashion in one computer system, or in a distributed fashion where different elements are spread across several interconnected computer systems. Any kind of computer system, or other apparatus adapted for carrying out the methods described herein, is suited to perform the functions described herein.
- A typical combination of hardware and software could be a general purpose computer system with a computer program that, when being loaded and executed, controls the computer system such that it carries out the methods described herein. The present invention can also be embedded in a computer program product, which comprises all the features enabling the implementation of the methods described herein, and which, when loaded in a computer system is able to carry out these methods.
- Computer program or application in the present context means any expression, in any language, code or notation, of a set of instructions intended to cause a system having an information processing capability to perform a particular function either directly or after either or both of the following a) conversion to another language, code or notation; b) reproduction in a different material form. Significantly, this invention can be embodied in other specific forms without departing from the spirit or essential attributes thereof, and accordingly, reference should be had to the following claims, rather than to the foregoing specification, as indicating the scope of the invention.
Claims (20)
1. A system for authenticating a communication request sent from a client computing device, the system comprising:
a firewall, the firewall comprising:
a processing unit operating to perform functions including:
initially block the communication request; and,
create a first logging event corresponding to the communication request; and
a storage unit, the storage unit storing the communication request and the logging event; and
a server in data communication with the firewall, the server having a processing unit, the processing unit operating to perform functions including:
receiving notification of the first logging event created by the firewall;
authenticating the communication request corresponding to the first logging event; and
enabling a port in the firewall if the communication request is authenticated.
2. The system according to claim 1 , wherein the communication request is comprised of a plurality of addresses corresponding to the client and a hash of the plurality of addresses corresponding to the client.
3. The system according to claim 2 , wherein the server central processing unit authenticates the communication request by performing functions including:
hashing the plurality of addresses corresponding to the client; and,
matching the plurality of addresses hashed by the server with the hashed plurality of addresses in the communication request.
4. The system according to claim 3 , wherein the server central processing unit further authenticates the communication request by transmitting a request to the client for a public key corresponding to the server if the plurality of addresses hashed by the server match with the hashed plurality of addresses in the communication request.
5. (canceled)
6. The system according to claim 5 , wherein the plurality of addresses corresponding to the client include an Internet Protocol Address and a Media Access Control layer address.
7. A method for authenticating a communication request sent from a client computing device, the method comprising:
initially blocking the communication request from delivery to a server;
creating a first logging event corresponding to the communication request;
storing the communication request and the logging event in a firewall;
notifying the server of the first logging event;
authenticating the communication request corresponding to the first logging event; and
enabling a port in the firewall if the communication request is authenticated.
8. The method according to claim 7 , wherein the communication request is comprised of a plurality of addresses corresponding to the client and a first hashing of the plurality of addresses corresponding to the client.
9. The method according to claim 8 , wherein authenticating the communication request includes:
performing a second hashing of the plurality of address corresponding to the client; and,
matching the second hashing of plurality of addresses with the hashed plurality of addresses in the communication request.
10. The method according to claim 9 , wherein authenticating the communication request further includes transmitting a request to the client for a public key corresponding to the server if the second hashed plurality of addresses match with the hashed plurality of addresses in the communication request.
11. (canceled)
12. The method according to claim 11 , wherein the plurality of addresses corresponding to the client include an Internet Protocol Address and a Media Access Control layer address.
13. The method according to claim 10 , wherein the first hashing and the second hashing further include positional coordinates corresponding to the client.
14. A machine readable storage device having stored thereon a computer program for authenticating a communication request sent from a client computing device, the computer program comprising a set of instructions which when executed by a machine causes the machine to perform a method including:
initially blocking the communication request from delivery to a server;
creating a first logging event corresponding to the communication request;
storing the communication request and the logging event;
notifying the server of the first logging event;
authenticating the communication request corresponding to the first logging event; and
enabling a port in a firewall if the communication request is authenticated.
15. The machine readable storage device according to claim 14 , wherein the communication request is comprised of a plurality of addresses corresponding to the client and a first hash of the plurality of addresses corresponding to the client.
16. The method according to claim 15 , wherein authenticating the communication request includes:
performing a second hashing of the plurality of address corresponding to the client; and,
matching the second hashing of plurality of addresses with the hashed plurality of addresses in the communication request.
17. The method according to claim 16 , wherein authenticating the communication request further includes transmitting a request to the client for a public key corresponding to the server if the second hashed plurality of addresses match with the first hashed plurality of addresses in the communication request.
18. (canceled)
19. The method according to claim 18 , wherein the plurality of addresses corresponding to the client include an Internet Protocol Address and a Media Access Control layer address.
20. The method according to claim 17 , wherein the first hashing and the second hashing further include positional coordinates corresponding to the client.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/186,490 US20160294808A1 (en) | 2005-01-21 | 2016-06-19 | Authentication of remote host via closed ports |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/040,265 US8826014B2 (en) | 2005-01-21 | 2005-01-21 | Authentication of remote host via closed ports |
US14/451,129 US9374339B2 (en) | 2005-01-21 | 2014-08-04 | Authentication of remote host via closed ports |
US15/186,490 US20160294808A1 (en) | 2005-01-21 | 2016-06-19 | Authentication of remote host via closed ports |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/451,129 Continuation US9374339B2 (en) | 2005-01-21 | 2014-08-04 | Authentication of remote host via closed ports |
Publications (1)
Publication Number | Publication Date |
---|---|
US20160294808A1 true US20160294808A1 (en) | 2016-10-06 |
Family
ID=36698597
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/040,265 Expired - Fee Related US8826014B2 (en) | 2005-01-21 | 2005-01-21 | Authentication of remote host via closed ports |
US14/451,129 Active US9374339B2 (en) | 2005-01-21 | 2014-08-04 | Authentication of remote host via closed ports |
US15/186,490 Abandoned US20160294808A1 (en) | 2005-01-21 | 2016-06-19 | Authentication of remote host via closed ports |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/040,265 Expired - Fee Related US8826014B2 (en) | 2005-01-21 | 2005-01-21 | Authentication of remote host via closed ports |
US14/451,129 Active US9374339B2 (en) | 2005-01-21 | 2014-08-04 | Authentication of remote host via closed ports |
Country Status (2)
Country | Link |
---|---|
US (3) | US8826014B2 (en) |
CN (1) | CN1809067B (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107579971A (en) * | 2017-08-31 | 2018-01-12 | 上海欣方智能系统有限公司 | A kind of intranet and extranet method for interchanging data based on security platform |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7836494B2 (en) * | 1999-12-29 | 2010-11-16 | Intel Corporation | System and method for regulating the flow of information to or from an application |
DE102006006633A1 (en) * | 2006-02-10 | 2007-08-16 | Sia Syncrosoft | Disseminating contents, data blocks for encoding contents involves receiving encoded contents in at least two receivers and decoding them using different data blocks,; encoding of contents is not receiver-specific or receiver group-specific |
US8191131B2 (en) * | 2006-08-23 | 2012-05-29 | International Business Machines Corporation | Obscuring authentication data of remote user |
EP1892913A1 (en) * | 2006-08-24 | 2008-02-27 | Siemens Aktiengesellschaft | Method and arrangement for providing a wireless mesh network |
US20080218809A1 (en) * | 2007-03-08 | 2008-09-11 | Wen Wu Chen | Method and architecture of sending and receiving facsimile over instant messaging software |
US8381281B2 (en) * | 2010-04-07 | 2013-02-19 | International Business Machines Corporation | Authenticating a remote host to a firewall |
DE102014101835A1 (en) * | 2014-02-13 | 2015-08-13 | Fujitsu Technology Solutions Intellectual Property Gmbh | Method for communication between secure computer systems and computer network infrastructure |
US9470796B2 (en) * | 2014-04-23 | 2016-10-18 | Opentv, Inc. | Techniques for securing live positioning signals |
CN105471824A (en) * | 2014-09-03 | 2016-04-06 | 阿里巴巴集团控股有限公司 | Method, device and system for invoking local service assembly by means of browser |
US9667619B1 (en) * | 2016-10-14 | 2017-05-30 | Akamai Technologies, Inc. | Systems and methods for utilizing client side authentication to select services available at a given port number |
CN108694571A (en) * | 2017-04-11 | 2018-10-23 | 优酷网络技术(北京)有限公司 | A kind of method for processing business and device based on multi-process |
CN107948127A (en) * | 2017-09-27 | 2018-04-20 | 北京知道未来信息技术有限公司 | A kind of WAF detection methods and system based on feedback and supervised learning |
CN109788002A (en) * | 2019-03-12 | 2019-05-21 | 北京首汽智行科技有限公司 | A kind of Http request encryption and decryption method and system |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5602918A (en) * | 1995-12-22 | 1997-02-11 | Virtual Open Network Environment Corp. | Application level security system and method |
US5757795A (en) * | 1996-04-25 | 1998-05-26 | Compaq Computer Corporation | Method and apparatus for hashing addresses in a network switch |
US20040190715A1 (en) * | 2003-03-31 | 2004-09-30 | Fujitsu Limited | File security management method and file security management apparatus |
US20050213582A1 (en) * | 2004-03-29 | 2005-09-29 | Wakumoto Shaun K | Load balancing with mesh tagging |
US7380123B1 (en) * | 2003-10-02 | 2008-05-27 | Symantec Corporation | Remote activation of covert service channels |
US7640581B1 (en) * | 2004-02-27 | 2009-12-29 | Embarq Holdings Company, Llc | Method and system for providing secure, centralized access to remote elements |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5586260A (en) * | 1993-02-12 | 1996-12-17 | Digital Equipment Corporation | Method and apparatus for authenticating a client to a server in computer systems which support different security mechanisms |
US5878143A (en) * | 1996-08-16 | 1999-03-02 | Net 1, Inc. | Secure transmission of sensitive information over a public/insecure communications medium |
US7287271B1 (en) * | 1997-04-08 | 2007-10-23 | Visto Corporation | System and method for enabling secure access to services in a computer network |
US6470389B1 (en) * | 1997-03-14 | 2002-10-22 | Lucent Technologies Inc. | Hosting a network service on a cluster of servers using a single-address image |
US6574661B1 (en) * | 1997-09-26 | 2003-06-03 | Mci Communications Corporation | Integrated proxy interface for web based telecommunication toll-free network management using a network manager for downloading a call routing tree to client |
US6088796A (en) * | 1998-08-06 | 2000-07-11 | Cianfrocca; Francis | Secure middleware and server control system for querying through a network firewall |
US6631417B1 (en) * | 2000-03-29 | 2003-10-07 | Iona Technologies Plc | Methods and apparatus for securing access to a computer |
KR100358518B1 (en) * | 2000-07-03 | 2002-10-30 | 주식회사 지모컴 | Firewall system combined with embeded hardware and general-purpose computer |
US7107609B2 (en) * | 2001-07-20 | 2006-09-12 | Hewlett-Packard Development Company, L.P. | Stateful packet forwarding in a firewall cluster |
US7624434B2 (en) * | 2002-03-01 | 2009-11-24 | 3Com Corporation | System for providing firewall capabilities to a communication device |
US7116664B2 (en) * | 2002-05-13 | 2006-10-03 | International Business Machines Corporation | Lookups by collisionless direct tables and CAMs |
US20040117658A1 (en) * | 2002-09-27 | 2004-06-17 | Andrea Klaes | Security monitoring and intrusion detection system |
US7313618B2 (en) * | 2002-10-31 | 2007-12-25 | Sap Aktiengesellschaft | Network architecture using firewalls |
US20040098616A1 (en) * | 2002-11-14 | 2004-05-20 | Jenner Bruce Stephen | Communications firewall |
US7150044B2 (en) * | 2003-03-10 | 2006-12-12 | Mci, Llc | Secure self-organizing and self-provisioning anomalous event detection systems |
US7594268B1 (en) * | 2003-09-19 | 2009-09-22 | Symantec Corporation | Preventing network discovery of a system services configuration |
US7392323B2 (en) * | 2004-11-16 | 2008-06-24 | Seiko Epson Corporation | Method and apparatus for tunneling data using a single simulated stateful TCP connection |
-
2005
- 2005-01-21 US US11/040,265 patent/US8826014B2/en not_active Expired - Fee Related
-
2006
- 2006-01-17 CN CN2006100014688A patent/CN1809067B/en active Active
-
2014
- 2014-08-04 US US14/451,129 patent/US9374339B2/en active Active
-
2016
- 2016-06-19 US US15/186,490 patent/US20160294808A1/en not_active Abandoned
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5602918A (en) * | 1995-12-22 | 1997-02-11 | Virtual Open Network Environment Corp. | Application level security system and method |
US5757795A (en) * | 1996-04-25 | 1998-05-26 | Compaq Computer Corporation | Method and apparatus for hashing addresses in a network switch |
US20040190715A1 (en) * | 2003-03-31 | 2004-09-30 | Fujitsu Limited | File security management method and file security management apparatus |
US7380123B1 (en) * | 2003-10-02 | 2008-05-27 | Symantec Corporation | Remote activation of covert service channels |
US7640581B1 (en) * | 2004-02-27 | 2009-12-29 | Embarq Holdings Company, Llc | Method and system for providing secure, centralized access to remote elements |
US20050213582A1 (en) * | 2004-03-29 | 2005-09-29 | Wakumoto Shaun K | Load balancing with mesh tagging |
Non-Patent Citations (1)
Title |
---|
Martin Krywinski, "Port Knocking - Network Authentication Across Closed Ports," June 2003, pages 12-17. * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107579971A (en) * | 2017-08-31 | 2018-01-12 | 上海欣方智能系统有限公司 | A kind of intranet and extranet method for interchanging data based on security platform |
Also Published As
Publication number | Publication date |
---|---|
US9374339B2 (en) | 2016-06-21 |
US8826014B2 (en) | 2014-09-02 |
US20060168654A1 (en) | 2006-07-27 |
US20140344914A1 (en) | 2014-11-20 |
CN1809067A (en) | 2006-07-26 |
CN1809067B (en) | 2010-05-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9374339B2 (en) | Authentication of remote host via closed ports | |
US11368490B2 (en) | Distributed cloud-based security systems and methods | |
US10652210B2 (en) | System and method for redirected firewall discovery in a network environment | |
US7793094B2 (en) | HTTP cookie protection by a network security device | |
US8200818B2 (en) | System providing internet access management with router-based policy enforcement | |
US8850219B2 (en) | Secure communications | |
US8800024B2 (en) | System and method for host-initiated firewall discovery in a network environment | |
US8661252B2 (en) | Secure network address provisioning | |
US8407240B2 (en) | Autonomic self-healing network | |
US8191131B2 (en) | Obscuring authentication data of remote user | |
US20040098620A1 (en) | System, apparatuses, methods, and computer-readable media using identification data in packet communications | |
AU2003294304B2 (en) | Systems and apparatuses using identification data in network communication | |
JP2022512352A (en) | Timestamp-based authentication including redirection | |
US7636940B2 (en) | Private key protection for secure servers | |
US7594268B1 (en) | Preventing network discovery of a system services configuration | |
CN113904826B (en) | Data transmission method, device, equipment and storage medium | |
CN114884647A (en) | Network access management method and related equipment | |
Simpson et al. | Distributed versus centralized protection schema for the enterprise | |
US11695736B2 (en) | Cloud-based explicit proxy with private access feature set | |
WO2005062233A2 (en) | Computer security system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: LENOVO ENTERPRISE SOLUTIONS (SINGAPORE) PTE. LTD., Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:JENNINGS, JEFFERY BART;REEL/FRAME:039926/0584 Effective date: 20160928 |
|
STCV | Information on status: appeal procedure |
Free format text: ON APPEAL -- AWAITING DECISION BY THE BOARD OF APPEALS |
|
STCV | Information on status: appeal procedure |
Free format text: BOARD OF APPEALS DECISION RENDERED |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- AFTER EXAMINER'S ANSWER OR BOARD OF APPEALS DECISION |