Network-based authentication of computer user
Granted 8 Jan 2002 · 2 office actions
Assignee: Oracle Corporation
Law firm: Law firm · Log in to unlock
Attorney: Attorney · Log in to unlock
Inventors: William J. Raduchel, Abhay Gupta, Yvonne Wilson · Examiner: Albert Decady · AU 2762 · TC 2700
Life of the application
11 dated eventsAbstract
A network-based authentication scheme is provided that performs authentication in a centralized manner for the stand-alone computers of a particular organization. Since authentication is centralized, the individual computers do not need to store authentication information, and control over all of the computers rests in a single location, enabling the system administrator to manage access and utilization of the computers from this location. The network-based authentication scheme includes an authentication manager, remotely located with respect to a local computer, that performs authentication for the local computer. The authentication manager receives login information from the local computer, verifies this information against an authentication file, and returns indications of the services on the local computer that the user is able to utilize. The local computer receives these indications and displays icons representing the services available to that user. The user may then select an icon, causing an applet to be downloaded from the authentication manager onto the local computer to facilitate the user\'s utilization of the corresponding service.
Description
8 parts›RELATED APPLICATION
The following identified U.S. provisional patent application is relied upon and is incorporated by reference in this application: Provisional U.S. patent application No. 60/072,714, entitled, “Integration of a Stand-Alone Computer into a Network-Based Computing Environment,” filed on Jan. 27, 1998.
›FIELD OF THE INVENTION
The present invention relates generally to data processing systems and, more particularly, to network-based authentication of a computer user.
›BACKGROUND OF THE INVENTION
Conventional stand-alone computers typically perform their own authentication, a process known as local authentication. A “stand-alone computer” refers to a computer that is fully functional without having to connect to another device. Since the computer is fully functional, it has a processor, input/output capabilities, and an operating system with a file system. Conventional stand-alone computers perform local authentication by authenticating a user when the user attempts to log into the computer and then, based upon the outcome of the authentication, by either allowing or inhibiting the user form using the services of the computer. The term “services” refers to functionality provided by the computer system, such as access to the file system, e-mail system, or calendaring system.
Performing local authentication has its drawbacks in certain environments. Specifically, performing local authentication in a large organization is difficult because a large organization typically has many users using many interconnected computers, and multiple users may utilize the same computer. In such an organization, the computers are interconnected via a network, such as a local-area network, wide-area network, or the Internet, and it would be very difficult to enable each computer to authenticate any user that may want to use it. Another drawback is that a system administrator is typically unable to control access and use of each of the individual computers unless he configures each one individually. Such an effort is very time consuming and is not practical for large organizations. It is therefore desirable to improve the authentication scheme of computers that are interconnected by a network.
›BRIEF DESCRIPTION OF THE DRAWINGS
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate an implementation of the invention and, together with the description, serve to explain the advantages and principles of the invention. In the drawings,
FIG. 1 depicts a data processing system suitable for use with methods and systems consistent with the present invention;
FIG. 2 depicts a flow chart of the steps performed during login to the local computer depicted in FIG. 1;
FIG. 3 depicts a login screen presented by the browser depicted in FIG. 1;
FIG. 4 depicts a flow chart of the steps performed by the authentication manager depicted in FIG. 1;
FIG. 5 depicts the browser of FIG. 1 displaying icons representing available services to the user; and
FIG. 6 depicts the browser of FIG. 1 displaying icons representing all the services available on the local computer.
›SUMMARY OF THE INVENTION
A network-based authentication scheme is provided that performs authentication in a centralized manner for the interconnected stand-alone computers of a particular organization. Since authentication is centralized, the individual computers do not need to store authentication information, and authentication control over all of the computers rests in a single location, enabling a system administrator to manage access and utilization of the computers from this location.
In accordance with methods and systems consistent with the present invention, an authentication manager, remotely located with respect to a local computer, performs authentication for the local computer. The authentication manager receives login information from the local computer, verifies this information against an authentication file, and returns indications of the local computer services that the user is able to utilize. The local computer receives these indications and displays icons representing the services available to that user. The user may then select an icon, causing an applet to be downloaded from the authentication manager (or another server) onto the local computer to facilitate the user's utilization of the corresponding service.
In accordance with methods consistent with the present invention, a method for performing authentication in a computer system with services is provided. According to this method, an identification of a user is received, the identification is sent to a remote location to determine which among the services the user is authorized to use, and code is received that facilitates use of at least one of the services, where the user has been authorized to use this service.
In accordance with methods consistent with the present invention, a method for performing authentication in a data processing system having an authentication server and a computer system with services is provided. The authentication server performs the method by receiving an identification of the user of the computer system, by determining which among the services the user is authorized to use, and by sending to the computer system code that facilitates use of the services that the user is authorized to use.
In accordance with systems consistent with the present invention, a data processing system with services and a user is provided. This data processing system includes a security node and a computer system. The security node includes an authentication manager configured to receive an identification of the user, configured to authenticate the user based on the identification, and configured to return code that facilitates use of the services when the user has been authenticated. The computer system includes a browser configured to receive the user identification, configured to send the user identification to the authentication manager, configured to receive the code, and configured to invoke the code to facilitate the use of the services by the user when the user has been authenticated.
›DETAILED DESCRIPTION · 1 of 3
Methods and systems consistent with the present invention provide an improved authentication scheme. This authentication scheme centralizes authentication-related processing in an authentication manager so that the network administrator may easily control both the access and the use of each computer on the administrator's network.
Overview
In accordance with methods and systems consistent with the present invention, a computer system may perform a number of services. Some of these services are local to the computer in that they are performed by the operating system. Other services are downloaded from the authentication manager (or another server) upon authentication (e.g., application programs like e-mail and calendaring). In the situation where the services are provided by the operating system, the user is unable to utilize the services until authentication is successfully completed and the user is granted access to those services. To gain access to one of these services, code must be downloaded from the authentication manager, in the form of an applet, that provides a user interface to the service. For example, if the service is a file system, the applet provides a command line or other graphical user interface so that the user could enter commands to manipulate the file system. An “applet” comprises code that usually runs in another program like a browser. In the situation where the services are remote, the user is unable to utilize the services because the code that performs the services are applets downloaded from the authentication manager (or other server) only after successful authentication.
In accordance with methods and systems consistent with the present invention, when a stand-alone computer starts up, the user is unable to utilize any of the services of the computer until an authentication process is successfully completed. To perform authentication, the computer runs a browser with an applet that displays a logon screen to the user, who then enters log-in information (e.g., username and password). Upon receiving this log-in information, the applet transfers it to an authentication manager, remotely located somewhere in the network, that determines whether the user should be able to use all the available services of the computer or only a limited subset of the available services. If the user is authenticated, the authentication manager enables the user to use additional services of the computer, such as access to files, change calendar information, and access to applications that the user is otherwise authorized to use. To do so, the authentication manager downloads to the browser an indication of the services the user is able to use. The browser then displays icons indicating each of these services, and the user may select the icons, causing applets that either perform these services or provide access to these services to be downloaded to the browser and run, thus enabling the user to utilize the services.
If the user is not authenticated, the authentication manager enables him to only utilize a subset of the services provided by the computer, such as calendaring and e-mail; he is unable to utilize other services provided by the computer such as accessing the local file system. To enable the user to use this subset, the authentication manager downloads an indication of the services the user is allowed to use, and the browser displays icons which, when selected, cause applets to be downloaded that facilitate use of these services.
Implementation Details
FIG. 1 depicts a data processing system 100 suitable for use with methods and systems consistent with the present invention. Data processing system 100 comprises local computer 101 connected to the Internet 102 . Local computer 101 is a stand-alone computer and hence is fully functional, containing central processing unit (CPU) 104 , secondary storage device 106 , memory 108 , input device 110 , and video display 112 . Memory 108 contains browser 114 , Java™ Runtime Environment 115 , and operating system 116 . The browser 114 provides access to web pages on the Internet 102 and runs on the Java Runtime Environment 115 . An example of a suitable browser is the HotJava Browser available from Sun Microsystems of Palo Alto, Calif. The Java Runtime Environment 115 includes Java™ Virtual Machine 117 , which acts like an abstract computing machine, receiving instructions in the form of bytecodes and interpreting the bytecodes by dynamically converting them into a format suitable for execution on the processor and by executing them. The Java Virtual Machine is described in greater detail in Lindholm and Yellin, The Java Virtual Machine Specification, Addison-Wesley (1997), which is incorporated herein by reference.
Internet 102 contains security node 118 with CPU 120 , secondary storage device 122 , memory 124 , and at least one I/O device 126 . Secondary storage device 122 contains authentication file 130 , storing the data against which users are authenticated, and service applets 132 , facilitating use of various computer services when downloaded to browser 114 . Authentication file 130 contains the user name and password for authenticated users. Alternatively, one skilled in the art will appreciate that the authentication file 130 may contain information for performing authentication with digital token cards, such as enigma cards or information for performing authentication using digital certificates (such as x.509).
Service applets 132 facilitate use of a particular service when downloaded and run in browser 114 of local computer 101 . For example, one service applet may be a file system applet providing a command-line user interface or graphical user interface that allows a user to manipulate the file system. Such an applet may be constructed using well-known user interface techniques to interact with the user and may use the Java™ class libraries to manipulate the file system. In this case, the applet is “signed” or authenticated such that it can provide access to the file system. The Java class libraries are described in greater detail in Chan and Lee, The Java Class Libraries: An Annotated Reference, Addison-Wesley (1997), which is incorporated herein by reference. Other examples of service applets include an e-mail applet and a calendar applet that perform either well-known e-mail functionality or time-management functionality, respectfully.
›DETAILED DESCRIPTION · 2 of 3
Although data processing system 100 depicts one computer being authenticated by the authentication manager, one skilled in the art will appreciate that the authentication manager may be used to perform authentication for many computers. Additionally, although aspects of the present invention are described as being stored in memory, one skilled in the art will appreciate that these aspects can also be stored on or read from other types of computer-readable media, such as secondary storage devices, like hard disks, floppy disks, or CD-ROM; a carrier wave from the Internet; or other forms of RAM or ROM. Furthermore, although local computer 101 is depicted as being connected to the Internet, one skilled in the art will appreciate that, instead of the Internet, the local computer may be connected to other networks like an Intranet or other local-area or wide-area networks. Sun, Sun Microsystems, the Sun Logo, Java and Java-based trademarks are trademarks or registered trademarks of Sun Microsystems Inc. in the United States and other countries.
Methods and systems consistent with the present invention are described in greater detail with reference to FIG. 2, which depicts a flowchart of the steps performed at start-up time of local computer 101 . When the local computer is initially started, a small portion of the operating system is loaded (step 202 ). In this step, the minimum code necessary to run authentication is loaded, including VM 117 as well as the minimum components of the operating system necessary to load and run a web browser; it does not include a command interpreter or file capabilities.
Next, the browser is loaded and run (step 204 ). As shown in FIG. 3, when running the browser, the user is initially presented with a screen 300 having a login dialog box 302 into which the user can enter their username and password. This screen is displayed by an applet, stored with the browser, that performs authentication by communicating with the authentication manager. In an alternative embodiment, the user enters a user name and is prompted with a challenge number which is entered into a digital token card and the resulting password is entered into the system. In another alternative embodiment, the local computer includes a smartcard reader and the user inserts a smartcard into the reader. However received, the authentication information, including the username and password, is sent by the browser to the authentication manager using the well-known HyperText Transfer Protocol (HTTPS), and using the well-known Secure Socket Layer (step 206 ).
The authentication manager receives the log-in information and uses it to authenticate the user, as shown in FIG. 4 . Although various embodiments of the authentication manager may vary and could be configurable, in one implementation, the authentication manager receives a log-in request containing a user name and password (step 402 in FIG. 4 ). After receiving this information, the authentication manager authenticates the user by accessing the authentication file to determine if the user name and password are contained in it (step 404 ) and returns a token that identifies the services that the user may use (step 406 ). Additionally, this token may contain a profile of the user's access rights, and when the token is returned to the local computer, it would be included in all further requests from the local computer.
Returning to FIG. 2, the local computer receives the authentication results from the authentication manager and determines if the user was authenticated (step 208 ). If authentication fails (i.e., the returned token indicates only a limited number of services), the user is allowed only to perform actions considered non-invasive, such as sending and receiving e-mail, viewing publicly available, non-proprietary web pages via the browser, or viewing on-line calendars. However, if authentication is successful, the user may use all of the available services of the local computer. One skilled in the art will appreciate that, if authentication fails, one embodiment of the present invention may inhibit the user from using any of the computer's services. In this case, no applets are allowed to be downloaded.
If authentication fails, the browser provides the user with restricted access to the local computer (step 210 ). In this step, the browser displays icons representative of the services that the user may use, as indicated in the token received from the authentication manager. For example, FIG. 5 depicts the browser screen 300 with three icons: icon 502 , allowing the user to access an e-mail system; icon 504 , allowing the user to use a time management program; and icon 506 , allowing the user to browse various web pages on the Internet. Upon selecting one of the icons 502 - 506 for the first time, the browser sends a request to the authentication manager for the appropriate service applet, and the authentication manager downloads it to the browser so that the user may use the corresponding service. Subsequent selections of the icon do not cause a download of the service applet; instead, recognizing that a copy has already been downloaded, the browser merely invokes that copy. Also as part of this step, the browser's security level is set to the highest possible setting, resulting in the user's inability to either run programs or access network resources such as files, because the user does not have access to the operating system command interpreter.
In an alternative implementation, all applications are run on servers remote from the local computer. In this situation, all requests for services originating from the local computer include the user's authentication token and pass through the authentication manager, where it is validated (to preclude tampering) and the request as well as the authorization profile (from the authentication file) are forwarded to the appropriate application manager. The application manager then uses this information to decide to what extent to fulfill or respond to the client request.
›DETAILED DESCRIPTION · 3 of 3
When the authentication manager determines that an authorized user is present, the authentication token returned to the local computer indicates that the user can utilize all of the available services on the local computer (step 212 ). In this case, the user has access to a much greater range of capabilities, such as running a variety of programs and accessing numerous local files through their web browser. The user may be granted access to an operating system command interpreter and/or to files via a client application which provides access to directories exported via the well-known Network File System (NFS). Again, the browser displays icons indicating the services to which the user has access. For example, FIG. 6 depicts the browser screen 300 displaying four icons: the e-mail icon 502 , the calendar icon 504 , the browse icon 506 , and the file system icon 602 . Upon selection of the file system icon 602 , an applet facilitating access to the local file system is downloaded from the authentication manager and run.
Although the present invention has been described with reference to a preferred embodiment thereof, those skilled in the art will know of various changes in form and detail which may be made without departing from the spirit and scope of the claimed invention as defined in the appended claims and their full scope of equivalents.
Claims as granted
25 claimsLog in to read the claims of this application.
Log in to unlockClassifications
14 codes- G06F21/00
- G06F17/30
- G11B27/34
- G11B27/034
Claim changes
SoonSee which claims were amended, added or cancelled during examination, with every added and removed word marked.
The published claims of this application are not paired with the granted ones in what we hold.
File wrapper
See the full prosecution history — every USPTO and applicant action on this file, in order.
Log in to unlockDocuments
Log in to open the documents of this file: the application as filed, every office action and response, the notice of allowance.
Log in to unlockChain of title
See the full assignment history — every owner this patent has passed through, with recordation dates and reel/frame numbers.
Log in to unlock