1. Field of the Invention
The invention relates to a centralized authentication mechanism. More particularly, the invention relates to use of a centralized authentication mechanism for providing user privileges information to a networked peripheral device.
2. Description of the Related Art
Networked peripheral devices are typically multifunction devices that handle functions such as printing, scanning, copying or faxing and are often relied upon in performing enterprise level tasks. Controlling usage of a networked peripheral device means that a walk-up user of the device, i.e., one that gains access to the device locally at the device, or a remote user of the device, i.e., a non walk-up user, is allowed access to only those services and/or features available on the device that are authorized. For example, a user may have access to copying but not a printing service of a networked peripheral device that offers faxing, printing, copying and scanning services. Likewise, a user may only be allowed access to a black-and-white, but not a color printing feature of the printing service offered by the device.
Controlling usage of services and/or features offered by a networked peripheral device is often necessary for economic as well as other reasons. For example, color ink cartridges containing ink for color printing typically cost significantly more than black ink cartridges that are used for black and white printing. It may therefore be desirable to limit access to color printing features of a printer in order to save costs.
One conventional approach to controlling access to a networked peripheral device by a non-enterprise user is to program each device separately as to the access privileges of the user. This approach requires presence of an input mechanism such as a keyboard or a magnetic card reader on the device through which the user logs into the device. Following login by the user, the device examines the user's access privileges, which are maintained by the device, and allows the user access to the device based on the programmed information concerning the user's access privileges. Adoption of this approach is cumbersome since it requires separate programming of each networked peripheral device and reprogramming of each device in response to changes in access policy.
Another conventional approach to controlling access to a networked peripheral device by a non-enterprise user is to program user access privileges on a keycard that is carried by the user. Upon swiping the keycard on a card reader installed on the device, the user access policy is transmitted from the card to the device. The user is then allowed to use the device in accordance with the limitations contained in the user access policy. This approach also suffers from the drawback suffered by the previous alternative in that each individual card needs to be programmed in order to encode user access policy and reprogrammed each time the policy is revised as to that user. It would therefore be beneficial to be able to control and customize access to services and/or features of a networked peripheral device by a non-enterprise user using a centralized mechanism, which provides both enterprise user authentication and non-enterprise user authentication and access privilege information to manage device/resource usage, at the enterprise level.
The present invention addresses the above inadequacies by providing a centralized level of access management to networked peripheral devices for both walk-up and remote users in order to prevent unauthorized use by a non-enterprise user of services and/or features that are available on a device based on authentication of the user at the device.
In one aspect, the invention concerns creating a context-sensitive user interface for a networked peripheral device. The user supplies authentication information to a device via any input means including, but not limited to, a keypad, a smart card, or any other input method that is supported by the device. The device communicates the authentication information provided by the user to an authentication server, which provides authentication services for both walk-up and remote for users of the device, and where networked peripheral device access policy information for users is stored. Access policy information is in turn transmitted to the device, which determines the level of access of a user based on the received access policy information.
The access policy information may concern access to a service offered by the networked peripheral device itself or to certain features of services available on the device. Upon authentication of the user by the authentication server, the information (e.g., privilege information or other access policy information) about the user's level of access to the device is passed back to the device. The device determines the user's access to services/features of the device based on the privilege information supplied by the authentication server. The device can create a customized user interface such as a customized service menu for the user that incorporates access policy information for the user. The customized service menu is then displayed on the device, allowing the user access to the determined features.
Providing a centralized location for access management information for use by a networked peripheral device in order to prevent unauthorized use of device services/features based on authentication of the user addresses the current problems associated with controlling access to a networked peripheral device by a walk-up user and eliminates the need for individual programming of each device or keycard in response to changes in access policy.
This brief summary has been provided so that the nature of the invention may be understood quickly. A more complete understanding of the invention can be obtained by reference to the following detailed description of the preferred embodiment(s) thereof in connection with the attached drawings.
Computing equipment 1 includes a computer-readable memory medium such as a fixed disk 17 and/or floppy disk drive 20 and/or CD-ROM drive 19. Such computer readable memory media allow computing equipment 1 to access information such as user-related data, computer executable process steps, application programs, and the like, stored on removable and non-removable memory media. In addition, computing equipment 1 is connected to server 8 through an enterprise network 7 and can acquire information and application programs from the server 8 through network 7. Enterprise network is preferably an Intranet but can also be a Local Area Network (LAN), a Wide Area Network (WAN) or the Internet, for example. The computing equipment 1 is connected to networked peripheral device 6 through the network 7. Device 6 includes one or more buttons 11, which may be programmable. As is discussed in more detail below, buttons 11 may be enabled or disabled by device 6 depending on the received access policy.
Like computing equipment, server 8 is a computer preferably having a windowing operating system. The server 8 has a storage device 41, which is preferably a large fixed disk for storing files. While device 41 is shown to be external to server 8, it need not be. Other devices on the network 7 can therefore use the serve 8 as a file server and for storing applications such as an authenticator configured to authenticate a user and for storing user and device configuration information on a directory service, which is described in more detail with reference to
The interface between the directory service, which contains authentication and access policy information, and other components is provided by the authenticator, a component of server 8, which is responsible for authenticating users and providing access management information stored on the directory service. The authenticator is preferably located on server 8 with the directory service, but can also be implemented on a remote system, or server.
Main memory 30 interfaces with computer bus 25 so as to provide RAM storage to CPU 20 during execution of software programs such as the operating system, application programs, and device drivers. More specifically, CPU 20 loads computer-executable process steps from disk 3 or other memory media into a region of main memory 30, and thereafter executes the stored process steps from main memory 30 in order to execute software programs. Data can be stored in main memory 29, where the data can be accessed by CPU 20 during execution. As also own in
The device 6 includes an access controller 66, which allows the user to access the device consistent with the determined level of access. Access controller is preferably an embedded computer system with an internal architecture similar to that shown in
According to
In the above example, the print service includes black-and-white (i.e., B/W), color and daily quota features. The information under the policy column identifies whether or not the feature is available and/or a number from zero to two thousand that represents a daily quota (e.g., a number of pages) the number of pages the user is allowed. For example, a user may be limited to printing 200 pages in a single day.
In addition to features that are similar to those of the print service, the scan service is available at high (H), medium (H/L), and low (L) resolutions as indicated under the policy column (i.e., H, H/L, L). The daily quota feature for the scan service is between zero and one hundred pages. The Fax service includes local, long distance, and daily quota features. The information under the policy column identifies whether or not the feature is available and/or a number from zero to two hundred that represents the number of pages the user can fax. In addition to the features that are similar to those of the print service, the copy service is available at various H, H/L and L resolutions that are indicated under the policy column. The information under the policy column identifies whether or not the feature is available and/or a number from zero to two hundred that represents the number of pages the user can copy.
After the authenticator 48 has tested the user authentication information against the access policy information and transmitted the result back to the device 6, the access controller 66 determines the user's level of access to services/features available on the device 6 based on the access policy information received from the authenticator 48. The access controller 66 preferably enforces the enterprise access policy for the user by creating a customized user experience (e.g., customized UI, customized service menu) for the user. The customized service menu is then displayed on the device 6. Input/Output (I/O) unit 76 on the networked peripheral device 6 provides the customized service menu. I/O unit 76 may be an external unit that is attached to the device 6 but may also be built into the device 6, and may provide a display unit as well as input mechanism (e.g., keyboard and/or media reader).
The customized service menu allows the user to use the determined services and/or features available on the networked peripheral device 6 in accordance with enterprise access policy information for the user. The customized service menu is preferably displayed on a touch-screen that allows the user to activate the keys by touching virtual keys that are displayed on the screen on which the menu is displayed. In such a case, the user may gain access to the device 6 by activating the virtual keys that are displayed on the I/O unit 76 corresponding to available services/features on the device 6. However, keys can also be activated through other means such as use of a pointing device 16, where I/O unit 76 comprises computing equipment 1.
Generally, the I/O unit that is used at the device 6 can be non-integrated where the input and output functions are performed by separate units. For example, I/O unit 76 may comprise a separate keypad. I/O unit can also be integrated where the same unit performs both input and output functions. For example, I/O unit may be a touch screen that displays output including virtual keys that are activated in response to the user's touch.
A user of the networked peripheral device 6 can be a walk-up user or a remote user. A walk-up user is defined as one who gains access to the device 6 locally at the device. A remote user is a non-walk-up user. In the case of the walk-up user, as discussed in more detail with respect to
The authenticator 48 transmits access policy information to device driver 54. Authenticator 48 notifies device 6 of access policy associated with the authenticated user preferably along with the job, which was submitted by the user via device driver 54. If authenticator 48 is unable to authenticate a user based on the authentication information sent by device 6, it may send an “authentication failed” message or a “no services/features available,” message, or both. Where the user is authenticated, the authenticator 48 forwards the access policy information along with the job request to the device 6. The device 6 then processes the job request to the extent it conforms to the access policy information.
Since a walk-up user accesses the device directly, in step S301 a walk-up user provides authentication information to the device 6. Preferably, a single, universal sign-on functionality is in effect according to which the authentication information is the user's username and password. In any case, the same authentication information may be used to authenticate a user for other purposes (e.g., access to server 8, or files stored thereon). Advantageously, a universal sign-on avoids entry of separate, unique user names/passwords for login at the device 6 and for any other purposes for which authentication is a prerequisite.
Step S302 causes the device 6 to communicate the authentication information provided by the user to the authenticator 48, which in turn determines if the user is an authorized user. The authenticator 48 accomplished this in step S303 by comparing or testing the authentication information provided by the user to access policy information stored in directory service 47. The enterprise access policy for the user may also be stored on the directory service 47 on the server 8.
Step S304 determines whether the user has been successful or unsuccessful in obtaining authentication from the authenticator 48. If the user is unsuccessful in obtaining authentication for the job request, the authenticator 48 preferably communicates this failure through an “access denied” message that is transmitted to the device 6 per step S305. If the user is successful in obtaining authentication, then in step S306 the authenticator 48 sends access policy information for the user back to the device 6.
The communication between the device 6 and the server 8 is conducted through a secure communication that minimizes chances of unauthorized access to the device by hackers. The preferred security mechanism implements an encryption mechanism for communications between the server 8 and the device 6. The encryption is preferably performed such that access information is stored at the directory service 47 in an encrypted form utilizing a cryptographic signing operation. The encrypted access policy information is then retrieved and sent by the authenticator 48 in an encrypted form to device 6, which decrypts the information upon receipt. In addition to encrypting access policy information, device 6 may encrypt authentication information before sending it to server 8.
Although the encryption is preferably performed such that the information stored at the directory service 47 is encrypted, it can alternatively be stored in non-encrypted form at the directory service 47. Accordingly, access policy information is stored in a non-encrypted form at the directory service 47 and is encrypted at the authenticator 48. Similarly, although the preferred security mechanism is an encryption mechanism, other feasible security mechanisms include transmission with secure socket layer (“SSL”) capabilities, use of propriety protocols for communications between the server 8 and the device 6, and use of propriety mechanisms in connection with standard protocols.
Once the device 6 obtains the user access policy information from the authentication server 8, the access controller 66 proceeds in step S307 to determine user access to services and/or features offered by the device 6 based on the access policy information received from the authenticator 48. The following is an example of user access policy information for a multi-functional networked peripheral device:
In the above example, user is allowed to use both black-and-white and color features of the print service up to a daily maximum of 150 pages. The user can use the scan service for scanning up to 50 pages of black-and-white pages per day at low resolution, fax up to 25 pages a day as long as the faxes are not transmitted over long distance telephone line, and are transmitted at medium or low resolution, and can use the copying service to make up to 500 black-and-white copies a day at all resolutions.
In step S308 the user is allowed access to services/features of the device 6 consistent with the determined level of access. This may be implemented by the access controller 66 through creation of a user interface, which includes selections based on the access policy information obtained for the particular user. Accordingly, the device 6 creates a customized user interface such as a customized service menu for the user that incorporates the access policy for the user. The customized service menu is then displayed on the device 6 with services/features appearing as virtual keys on the I/O unit 76.
In a case that the UI includes “unauthorized” selections, these selections may be disables such that the keys corresponding to unauthorized services/features are grayed out. The user then proceeds to use the device 6 in accordance with the determined level of access by activating non-grayed out keys that are displayed on the I/O unit 76 preferably through a touch screen.
Step S1002 causes the authentication information entered by user in step S1001 to be forwarded to authenticator 48. The authenticator 48, compares or tests the authentication information provided by the user against access policy information that is stored in the directory service 47, and transmits the results back to the device 6. At step S103, device 6 awaits the results from the server 8. Step S1004 inquires into the user's success in being authenticated by the authenticator 48 based on the results received from server 8.
Should the user be unsuccessful in obtaining authentication, step S1005 causes an “access denied” message to be displayed by the device 6, thus denying the user access to any service/features of the device 6. In case of successful authentication by the user for the job requested, the device 6 determines the user's level of access to the services/features of the device 6 based on the received access policy information per step S1006. Step S1007 causes the device 6 to create a customized menu for the user based on the determined level of access.
A remote user may access device 6, for example, via a workstation such a computing equipment 1. However, the process in which a remote user accesses device 6, differs from that of a walk-up user. The following example concerns a remote user who seeks to print a job using device 6 from a workstation and an application that exists on the workstation.
In step S1104, the server 8 sends access policy information back to the driver. Step S1105 causes the driver to forward the access policy information along with the job request to the device 6. In step S1106, the device 6 determines the user's level of access based on the received access policy information. In step S1107, the device 6 compares or tests the requested services/features against the user's level of access to determine whether the user's request conforms to the user's level of access.
A determination that the user's job request does not conform to the user's determined level of access, results in an “access denied” condition, per step S1108, thus denying the user's job request. Preferably, a message is sent to the user's workstation to alert the user of the “access denied” condition. Should the inquiry in step S1107 result in the determination that the user's job request does conform to the user's determined level of access, then step S1109 causes the device 6 to perform the requested job in accordance with the determined level of access.
In step S1201, device driver 54 forwards the user's job to the device 6. The device 6, per step S1202, asks whether the user's access policy information is included along with the job request. If user's access policy information is not included along with the job request, then step S1203 causes an error message to be sent back to the driver 54, denying the user access to the requested services/features.
If the user's access policy information is included along with the job request, then step S1204 proceeds to determine the user's level of access based on the received access policy information. In step S1205, the device 6 compares or tests the requested services/features against the user's level of access to determine whether the user's request conforms to the user's level of access. A determination that the user's job request does not conform to the user's determined level of access, results in an error message, per step S1206, that is sent to driver 54, thus denying the user's job request. Should the inquiry in step S1205 result in the determination that the user's job request does conform to the user's determined level of access, then step S1207 causes the device 6 to perform the requested job.
Server 8 is configured to provide access policy information for a walk-up user and preferably for all enterprise users (i.e., walk-up and remote users) once the user has been authenticated by server 8.
Server 8 may reside locally with respect to device 6, computing equipment 1, or both. In a case that the network 7 is the Internet, for example, server 8 may be remotely located with respect to device 6, computing equipment 1, or both. Even where server 8 is local, it may be preferable to use a trusted architecture in which access policy information, that is received from server 8 can be trusted.
While the invention is described above with respect to what is currently considered its preferred embodiment, it is to be understood that the invention is not limited to that described above. To the contrary, the invention is intended to cover various modifications and equivalent arrangements within the spirit and scope of the appended claims.
Number | Name | Date | Kind |
---|---|---|---|
5172396 | Rose et al. | Dec 1992 | A |
5191611 | Lang | Mar 1993 | A |
5421011 | Camillone et al. | May 1995 | A |
5457746 | Dolphin | Oct 1995 | A |
5483596 | Rosenow et al. | Jan 1996 | A |
5513126 | Harkins et al. | Apr 1996 | A |
5544236 | Andruska et al. | Aug 1996 | A |
5583914 | Chang et al. | Dec 1996 | A |
5657446 | Pinard et al. | Aug 1997 | A |
5671354 | Ito et al. | Sep 1997 | A |
5758072 | Filepp et al. | May 1998 | A |
5819047 | Bauer et al. | Oct 1998 | A |
5869825 | Ziarno | Feb 1999 | A |
5907598 | Mandalia et al. | May 1999 | A |
5923756 | Shambroom | Jul 1999 | A |
5968124 | Takahashi et al. | Oct 1999 | A |
5969316 | Greer et al. | Oct 1999 | A |
5978450 | McAllister et al. | Nov 1999 | A |
5995729 | Hirosawa et al. | Nov 1999 | A |
6028838 | Yamamura et al. | Feb 2000 | A |
6029198 | Iizuka | Feb 2000 | A |
6041325 | Shah et al. | Mar 2000 | A |
6070192 | Holt et al. | May 2000 | A |
6076166 | Moshfeghi et al. | Jun 2000 | A |
6088451 | He et al. | Jul 2000 | A |
6115696 | Auger | Sep 2000 | A |
6119230 | Carter | Sep 2000 | A |
6125283 | Kolev et al. | Sep 2000 | A |
6128602 | Northington et al. | Oct 2000 | A |
6161185 | Guthrie et al. | Dec 2000 | A |
6173406 | Wang et al. | Jan 2001 | B1 |
6202092 | Takimoto | Mar 2001 | B1 |
6216009 | Barnett | Apr 2001 | B1 |
6223292 | Dean et al. | Apr 2001 | B1 |
6243451 | Shah et al. | Jun 2001 | B1 |
6289450 | Pensak et al. | Sep 2001 | B1 |
6363411 | Dugan et al. | Mar 2002 | B1 |
6378070 | Chan et al. | Apr 2002 | B1 |
6416414 | Stadelmann | Jul 2002 | B1 |
6425005 | Dugan et al. | Jul 2002 | B1 |
6442547 | Bowman-Amuah | Aug 2002 | B1 |
6470025 | Wilson et al. | Oct 2002 | B1 |
6484145 | Home et al. | Nov 2002 | B1 |
6498912 | Leni et al. | Dec 2002 | B1 |
6505300 | Chan et al. | Jan 2003 | B2 |
6519232 | Becher | Feb 2003 | B1 |
6564128 | Baird et al. | May 2003 | B2 |
6567396 | Pohjanvouri et al. | May 2003 | B1 |
6609198 | Wood et al. | Aug 2003 | B1 |
6640239 | Gidwani | Oct 2003 | B1 |
6643318 | Parsa et al. | Nov 2003 | B1 |
6674537 | Kadowaki | Jan 2004 | B2 |
6678826 | Kelly et al. | Jan 2004 | B1 |
6678827 | Rothermel et al. | Jan 2004 | B1 |
6716103 | Eck et al. | Apr 2004 | B1 |
6732176 | Stewart et al. | May 2004 | B1 |
6782396 | Greene et al. | Aug 2004 | B2 |
6789077 | Slaughter et al. | Sep 2004 | B1 |
6789126 | Saulpaugh et al. | Sep 2004 | B1 |
6801902 | David | Oct 2004 | B1 |
6804716 | Koch et al. | Oct 2004 | B1 |
6810527 | Conrad et al. | Oct 2004 | B1 |
6829332 | Farris et al. | Dec 2004 | B2 |
6850977 | Barnhouse et al. | Feb 2005 | B2 |
6889321 | Kung et al. | May 2005 | B1 |
6947985 | Hegli et al. | Sep 2005 | B2 |
6971018 | Witt et al. | Nov 2005 | B1 |
6985244 | Bhogal et al. | Jan 2006 | B1 |
7024487 | Mochizuki et al. | Apr 2006 | B2 |
7035900 | Yamaguchi et al. | Apr 2006 | B2 |
7120926 | Safadi et al. | Oct 2006 | B1 |
7167919 | Iwamoto et al. | Jan 2007 | B2 |
7277398 | Makipaa | Oct 2007 | B1 |
20010054152 | Nakao et al. | Dec 2001 | A1 |
20020032655 | Antonin et al. | Mar 2002 | A1 |
20020042880 | Endoh | Apr 2002 | A1 |
20020049846 | Horen et al. | Apr 2002 | A1 |
20020058530 | Akama | May 2002 | A1 |
20020072414 | Stylinski et al. | Jun 2002 | A1 |
20020087710 | Aiken et al. | Jul 2002 | A1 |
20020094067 | August | Jul 2002 | A1 |
20020113995 | Evans et al. | Aug 2002 | A1 |
20020161831 | Nakaoka et al. | Oct 2002 | A1 |
20030018900 | Endoh | Jan 2003 | A1 |
20030046231 | Wu | Mar 2003 | A1 |
20030055876 | Korala et al. | Mar 2003 | A1 |
20030131073 | Lucovsky et al. | Jul 2003 | A1 |
20030149765 | Hubbard et al. | Aug 2003 | A1 |
20040034794 | Mayer et al. | Feb 2004 | A1 |
20040111709 | Furst et al. | Jun 2004 | A1 |
20040122730 | Tucciarone et al. | Jun 2004 | A1 |
20040193513 | Pruss et al. | Sep 2004 | A1 |
20050080679 | Barton et al. | Apr 2005 | A1 |
20050114366 | Mathai et al. | May 2005 | A1 |
20050233744 | Karaoguz et al. | Oct 2005 | A1 |
20050273863 | Nakao et al. | Dec 2005 | A1 |
20060159109 | Lamkin et al. | Jul 2006 | A1 |
20060161635 | Lamkin et al. | Jul 2006 | A1 |
Number | Date | Country |
---|---|---|
0 863 658 | Feb 1998 | EP |
929023 | Apr 1999 | EP |
0 935 182 | Aug 1999 | EP |
1 130 497 | Sep 2001 | EP |
1193593 | Apr 2002 | EP |
1 320 008 | Jun 2003 | EP |
406169283 | Jun 1994 | JP |
8-235114 | Sep 1996 | JP |
9-130532 | May 1997 | JP |
11-296327 | Oct 1999 | JP |
2001-16383 | Jan 2001 | JP |
2001-297045 | Oct 2001 | JP |
2002-202945 | Jul 2002 | JP |
2002-259108 | Sep 2002 | JP |
02003078956 | Mar 2003 | JP |
0165768 | Sep 2001 | WO |
Number | Date | Country | |
---|---|---|---|
20030105849 A1 | Jun 2003 | US |