Devices facilitating direct and remote access to a computer network, including wireless access, are well known in the art. Direct (wired) connectivity to a network provides some security due to the ability to physically secure the physical medium for transmitting information. In contrast, remotely-connected hosts such as hosts connected via a wireless lan, such as IEEE 802.11 or other medium a part of which cannot be physically secured, may pose a greater security risk to the network and its users. Communication between such remotely connected hosts is more susceptible to eavesdropping by a third party.
It is desirable to provide a mechanism to secure communications so that an eavesdropper is less able to intercept or modify their content. It is further desirable that any means for securing permit convenient, efficient and effective system administration without significant impact on performance of the corresponding computer systems. It is also desirable that the security be achieved, so much as possible, with minimum impact on the experience of end-users. Accordingly, a sound, flexibly-administered and secure means for authenticating and thereby securing communications between users, devices and remotely connected network hosts is desired.
These problems have been addressed, in part, by various approaches to authenticate a user onto a network or device. Attempted solutions known in the art include identifying hosts via the host computer's MAC address, perhaps in combination with an authentication server such as a Radius server; smart card authentication using credentials possessed or known to a specific user; and hardware “dongle” technology requiring possession of the dongle and dongle reading device. Such attempted solutions appear to have an unacceptable level of vulnerability, difficulty in deployment, difficulty in use and/or impede the ability of an administrator to conveniently reassign or reconfigure credentials on a by-user or by-device basis.
Various embodiments of systems, methods, and computer software for providing a secure access to a communication network are provided. One embodiment comprises a method for providing secure access to a communication network. One such method comprises: providing a device to access a communication network via a gateway; encrypting a network ID associated with the device; providing the encrypted network ID to the gateway using a data link layer packet; decrypting the encrypted network ID at the gateway; authenticating the decrypted network ID as the network ID at the gateway; authenticating the device at the gateway based on a unique device ID associated with the device; and authenticating a user associated with the device at the gateway.
Another embodiment comprises a system for providing secure access to a communication network. One such system comprises: a gateway for controlling access to a communication network; and a secure client program executed on a device to access the communication network via the gateway, the secure client program comprising logic configured to: communicate with the gateway via a data link layer; authenticate a network ID with the gateway via the data link layer; authenticate a device ID with the gateway via the data link layer; and authenticate user credentials with the gateway via the data link layer. Another such system comprises: means for controlling access to a communication network; means for authenticating a network ID associated with a device attempting to access the communication network via a data link layer; means for authenticating a device ID associated with the device via the data link layer; and means for authenticating user credentials associated with a user of the device via the data link layer.
A particularly preferred embodiment of the invention will be described in detail below in connection with the drawings in which:
The workstation shown in
The gateway 312 may provide principal communications between internal hosts 310 and the user 302, including authentication operations. In an aspect, the network may provide management of authentication by means of an interaction with an independently managed access control server 314, such as a RADIUS or a similar authentication server.
In another aspect, one, two or three of the predicates for authentication are determined at the Data Link layer of the OSI hierarchy.
In an aspect, the authentication gateway may communicate with an Access Control Server 314 to determine whether the predicate for Device Authentication is satisfied. Conveniently, the Access Control Server may unconditionally authorize access to the device, conditionally authorize access to the device pending user authentication, conditionally authorize access to the device pending system administrator or other approval of the connection or unconditionally reject access to the device. If the device 304 is unconditionally authorized, then access to the network 303 is allowed. If the device 304 is unconditionally rejected, then access to the network 303 is denied. If authorization is conditioned on a predicate, then further authentication is required.
In an aspect, the authentication gateway may communicate with an Access Control Server 314 to determine whether the predicate for User Authentication is satisfied. The Access Control Server authorizes the user to access the network in every case, authorizes the user to access the network only if the user is using an approved device among a list of device IDs, such as device 304, or unconditionally rejects the user. If the user 302 is authorized through the device 304, then access to the network 303 is allowed. If the user 302 is rejected through the device 304, then access to the network 303 is blocked.
One of ordinary skill in the art will appreciate that various aspects of the systems, methods, computer programs, and related equipment described above may be implemented in software, hardware, firmware, or a combination thereof. Accordingly, in one embodiment, at least a portion of the logic and/or functionality associated with the authentication methodologies is implemented in software or firmware that is stored in a memory and that is executed by a suitable instruction execution system or processor. It should be appreciated that various process descriptions, functionality, logic, and services described above represent modules, segments, or portions of code which include one or more executable instructions for implementing specific logical functions or steps in the process. It should be further appreciated that any logical functions may be executed out of order from that shown or discussed, including substantially concurrently or in reverse order, depending on the functionality involved, as would be understood by those reasonably skilled in the art.
Furthermore, various logical and/or functional aspects of the authentication methodologies described above may be embodied in any computer-readable medium for use by or in connection with an instruction execution system, apparatus, or device, such as a computer-based system, processor-containing system, or other system that can fetch the instructions from the instruction execution system, apparatus, or device and execute the instructions. In the context of this document, a “computer-readable medium” can be any means that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device. The computer-readable medium can be, for example but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, device, or propagation medium. More specific examples (a nonexhaustive list) of the computer-readable medium would include the following: an electrical connection (electronic) having one or more wires, a portable computer diskette (magnetic), a random access memory (RAM) (electronic), a read-only memory (ROM) (electronic), an erasable programmable read-only memory (EPROM or Flash memory) (electronic), an optical fiber (optical), and a portable compact disc read-only memory (CDROM) (optical). Note that the computer-readable medium could even be paper or another suitable medium upon which the program is printed, as the program can be electronically captured, via for instance optical scanning of the paper or other medium, then compiled, interpreted or otherwise processed in a suitable manner if necessary, and then stored in a computer memory.
It should be emphasized that the above-described embodiments, particularly any “preferred” or “exemplary” embodiments, are merely possible examples of implementations, merely set forth for a clear understanding of the principles of the invention. Many variations and modifications may be made to the above-described embodiment(s) of the invention without substantially departing from the spirit and principles of the invention. All such modifications and variations are intended to be included within the scope of this disclosure and the present invention and protected by the following claims.
This application claims the benefit of U.S. Application Ser. No. 60/559,737, entitled “Method, Apparatus and Computer Software System for Authenticating Users, Hosts and Networks” and filed Apr. 6, 2004, which is hereby incorporated by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
60559737 | Apr 2004 | US |