WO2000070428A2 - Method and apparatus for securing automatic entry of password information associated with a web site - Google Patents
Method and apparatus for securing automatic entry of password information associated with a web site Download PDFInfo
- Publication number
- WO2000070428A2 WO2000070428A2 PCT/US2000/012701 US0012701W WO0070428A2 WO 2000070428 A2 WO2000070428 A2 WO 2000070428A2 US 0012701 W US0012701 W US 0012701W WO 0070428 A2 WO0070428 A2 WO 0070428A2
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- password
- web site
- controller
- request
- data
- Prior art date
Links
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/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
Definitions
- the present invention relates in general to a method and apparatus for automatically entering network password information and in particular to automatically entering network password information in response to a password request from an intranet or Internet web site while maintaining a secure environment.
- Networked environments such as an intranet or the Internet, allow people using local network devices to request information from remote network devices.
- the local network device i.e., the user device
- client software e.g., a web browser
- the remote network device is typically a web site.
- Data may be retrieved from a web site by sending a request to a unique address associated with the web site.
- the unique address is a Uniform Resource Locator (URL).
- URL Uniform Resource Locator
- each web site Upon request, each web site transmits data related to one or more web pages such as text, graphics, and hypertext markup language (HTML) files to the user device over the network.
- Certain web sites require the user to be authorized in order to access some or all of the associated web pages.
- the user identifies himself as an authorized user by responding to a password prompt displayed on the user device, wherein the password prompt provides blank fields for a user name and a password.
- a predetermined period of inactivity e.g. 15 minutes
- the user must re-enter his user name and password in order to access data on that server.
- many servers require their own authorization step even if they are working together in what appears to the user to be one seamless environment. As a result, the user must remember and enter his password fairly often. Users are often frustrated by the repetition.
- prior art systems often include an option whereby user names, passwords, and the associated URL may be encrypted and stored on the user's hard drive in a password file. Subsequently, when a password prompt is detected from a known URL, the user name and password may be automatically entered into the blank fields.
- the password file is susceptible to attack. If several users share a PC or a user leaves his PC unattended for a short time, a hacker may copy the password file and proceed to decrypt the file on another machine. Once the password file is decrypted, the authorized data is compromised.
- the present invention is directed to a computing device and program for automatically entering password information associated with a web site.
- the method and apparatus provides increased security and efficiency in entering passwords for various web sites on an intranet or the Internet.
- the invention is directed to a method and apparatus for entering a password associated with a first web site and a second web site on an intranet.
- the system detects a password request from the first web site. Subsequently, the system writes password data exclusively in a volatile memory without having the password data being stored in a non-volatile memory.
- the password data is entered by a user in response to the first password request.
- the system When the system detects a second password request from the second web site, the system reads the volatile memory to retrieve the password data, and transmits the password data to the second web site in response to the second password request.
- FIG. 1 is a block diagram of a computer network capable of utilizing the present invention
- FIG. 2 is a more detailed block diagram of the user device of FIG. 1;
- FIG. 3 is a flow chart of a program that can be implemented by the user device of FIG. 2 to enter passwords associated with an intranet in accordance with the teachings of the present invention; and
- FIG. 4 is a flow chart of a program that can be implemented by the user device of FIG. 2 to enter passwords associated with Internet web sites in accordance with the teachings of the present invention.
- FIG. 1 A block diagram of a computer network 10 (including a plurality of connected devices) in which the present invention is utilized is illustrated in FIG. 1.
- the network 10 includes an intranet 10a.
- the network 10 also includes the Internet 10b.
- the intranet 10a and the Internet 10b may be connected by a proxy server 11, as is well known.
- the Internet 10b is a nationwide network of computers that includes, but is not limited to, the World Wide Web.
- An intranet 10a is a local or wide area network (typically internal to a specific entity such as a corporation) which may use Internet protocols.
- the intranet 10a may include a secure server 12, a plurality of user devices 14, and a plurality of internal web sites 16a, each of which is coupled to the intranet 10a in a known manner.
- a plurality of external web sites 16b may be coupled to the Internet 10b in a known manner.
- each web site 16 has its own server.
- web site servers comprise secure servers. Accordingly, one or more of the internal web sites 16a may reside on the secure server 12.
- Each web site 16 transmits data related to one or more web pages 18 to a user device 14 over the network 10.
- Certain web sites 16 require the user to identify himself as an authorized user by responding to a password prompt displayed on the user device 14.
- a particular user's user name and password is the same for all internal web sites 16a (i.e., web sites 16a on the intranet 10a).
- Many web sites 16a require the user to periodically change her password for security reasons.
- a synchronization utility may be periodically executed by a server (e.g., the secure server 12) on the intranet 10a to update the password on all other internal web sites 16a.
- the proxy server 11 acts as a firewall between the intranet 10a and the Internet 10b.
- the browser transmits the request directly to the web site 16a as is conventional.
- the browser transmits the request to the proxy server 11.
- the proxy server 11 transmits the request to the web site 16b.
- the requested information is returned, it also passes through the proxy server 11.
- browsers are configured with information indicating what type of URLs are associated with internal web sites 16a, and all other URLs are assumed to be associated with external web sites 16b. For example, all internal web sites 16a for company "Xyz” might begin with “internal.xyz.com”. This information is typically entered by the user or system administrator once and then stored in a local registry for subsequent retrieval (i.e., configurable in the browser). When a request for a web page is made, the browser may distinguish internal web sites 16a from external web sites 16b by examining the associated URL and comparing it to the predefined address strings.
- a controller 30 in the user device 14 preferably includes a volatile memory device, such as a random-access memory (RAM) 32, a program memory 34, which may be in the form of a read-only memory (ROM), and a microprocessor 36, all of which may be interconnected by an address/data bus 38.
- the program memory 34 electronically stores a computer program that implements all or part of the method described below, and the program is preferably executed by the microprocessor 36.
- program memory 34 comprises RAM loaded from a hard disk.
- a volatile memory is one that loses its data when power to the memory is terminated.
- An example of a volatile memory is a RAM.
- a non-volatile memory is one that does not lose the data when power to the memory is terminated. Examples of non- volatile memory include ROM, hard disks, diskettes, etc.
- a transmitter and receiver in the form of a conventional input/output (I/O) circuit 40 typically couples the controller 30 to the network 10.
- An input device 42 such as a keyboard, may be connected to the I/O circuit 40 via a line 44 for entering data and commands into the controller 30.
- a visual display 46 such as a cathode ray tube (CRT) or liquid crystal display (LCD), may be connected to the I/O circuit 40 to receive data via a line 48 to generate visual displays of data generated during operation of the user device 14.
- the visual displays may include prompts for a user's name and/or password.
- the user device 14 may also be connected to the network 10 via a line 50 connected to the I/O circuit 40 to send and receive data to and from the web sites 16 or proxy server 11.
- FIG. 3 A flow chart of a computer program 60 that can be implemented by the user device 14 to enter passwords associated with an intranet in accordance with the teachings of the present invention is illustrated in FIG. 3.
- the programmed steps are performed by the controller 30.
- the controller 30 may receive messages from other devices connected to the network 10 via the I/O circuit 40.
- the programmed controller 30 prompts the user for the necessary data.
- the user name and password are recorded in volatile memory (e.g., in RAM 32, not on a hard disk), and the user name/password data is transmitted to the requesting web site 16a.
- the controller 30 may transmit the recorded user name and/or password data without prompting the user.
- the recorded user name/password data is erased or lost.
- the program 60 begins at step 62 by looking for a password and/or user name request message.
- the controller 30 determines that a password and/or user name request message has been received by periodically polling (e.g., every 20 milliseconds) for a password request dialog box.
- the controller 30 could call an operating system routine that returns a list of the names of all open windows. Then, by searching the list for a specific name or names used by a particular web browser (e.g., "Enter user name and password"), the controller 30 could determine if a password request dialog box has appeared since the last time it checked.
- the controller 30 could make a low level system call to determine if a particular type of socket, indicative of a password request, has been opened. Further, interrupt driven methods may be employed. For example, the controller 30 may trap on the operating system window call that was going to create the password request dialog box. Regardless of the method used, if a password and or username has been received as determined at step 62 (e.g., a request dialog box is displayed or would have been displayed), the program 60 then determines at step 64 if the request originated from an internal web site 16a. Preferably, internal web sites 16a are identified by a unique string contained in the associated address.
- a web site 16 address is a Uniform Resource Locator (URL) that contains a string of characters uniquely identifying each web page 18 associated with that web site 16.
- URL Uniform Resource Locator
- organization-specific definitions may be retrieved from a registry commonly used to direct the browser when to not use the proxy server 11 as described in detail above.
- the program 60 determines if a password and/or user name associated with an internal web site 16a has already been entered and is stored in RAM 32 (or some other volatile memory). If the intranet user name and password are not in memory, the program 60 preferably acquires them via a password prompt (e.g., a dialog box in Microsoft Windows ®). In a preferred embodiment, the program 60 intercepts or hides a password dialog box displayed by the browser at step 68 and supplies a similar password dialog box at step 70. In other words, the controller 30 causes a prompt to be shown on the display 46. In response, the user enters her user name and/or password via the keyboard 42 (or other input device) at step 72.
- a password prompt e.g., a dialog box in Microsoft Windows ®
- step 74 the program 60 writes the data to RAM 32 (or some other volatile memory) in a known manner.
- step 76 the user name and/or password may be read from RAM 32 and at step 78 transmitted to the requesting web site 16a.
- the username and/or password are already available to the controller 30, it need not read the data from RAM 32. For example, if the controller 30 has a local cache which still contains the data (because it just wrote the data to RAM 32), then step 76 may be omitted.
- step 62 the program 60 looks for another password and/or user name request message. If a request is detected at step 62, but the program 60 determines that it did not originate at an internal web site 16a (step 64 described in detail above), then the program 60 ignores the request and returns to step 62. However, if a password and/or user name request is detected from an internal web site 16a, and step 66 determines that the user name and password are already stored in RAM 32, then at step 76 the user name and/or password may be read from RAM 32, and at step 78 the user name and/or password may be transmitted to the requesting web site 16a without prompting the user for the user name or password data. Preferably, the password and/or user name is transmitted to the requesting web site via a browser application.
- the program 60 determines if the user name and password transmitted were valid for the requesting web site 16a. Typically, this determination is made by evaluating a message from the web site 16a indicating success or failure of the log on attempt. If the user name and password are valid for this web site 16a, at step 82 the program 60 preferably loads the web site data and returns to step 62. However, if the user name or password are incorrect, at step 84 the program 60 may display several options for the user to select from. Preferably, a dialog box is displayed with three options. Specifically, the options include "Retry”. "Help", and "Cancel". At step 86, if the user selects the "retry” option, program 60 flow loops back to step 68 to allow the user to reenter her user name and/or password.
- the program 60 preferably displays a text box at step 89 which contains information that may assist the user in correcting a problem associated with her user name and/or password.
- the help text includes explanations for at least three scenarios. First, the user may not be authorized for the current web site 16a. Second, the user may have mistyped her user name and/or password. Third, the username and/or password may be out of synchronization with the rest of the internal web sites 16a due to an incompatibility with the synchronization software. If the user selects "cancel", or when the user has finished reading the help screen(s), control preferably returns to step 62.
- step 61 the program 60 checks if the host program has been terminated (e.g., check if any windows from web browser are still open). If the host program is still running, the program 60 loops between step 61 and step 62 until a request is received or the host program is terminated. If the host program is terminated, at step 82 the program 60 erases the user name and/or password data stored in RAM 32, thereby maintaining a secure environment. Subsequently, the program 60 exits.
- deallocating RAM will also serve to effectively erase it. In other words, the data may still be in RAM, but there is no convenient way to locate it. Similarly, if the program 60 is inadvertently aborted (e.g., the computer crashes), the user name and/or password data stored in RAM 32 will typically be lost, thereby maintaining the secure environment.
- the present invention may also be used to handle passwords associated with external web sites 16b (i.e., web sites on the Internet).
- a flow chart of a computer program 90 that can be implemented by the user device 14 to enter passwords associated with the Internet 10b in accordance with the teachings of the present invention is illustrated in FIG. 4.
- the programmed steps are performed by the controller 30.
- the controller 30 may receive messages from other devices connected to the network 10 via the I/O circuit 40.
- the controller 30 prompts the user for the necessary data, records that data by transmitting it to the secure server 12 in an encrypted format, and also transmits the user name/password data to the requesting web site 16b.
- the controller 60 may retrieve the data from the secure server 12, decrypt the data, and transmit it to the requesting web site 16b without prompting the user.
- the program 90 begins at step 114 by authenticating with the secure server 12. For example, a local user name and password may be required to ensure this user is authorized to use the secure server 12.
- the program 90 then proceeds at step 92 by looking for a password and/or user name request message.
- the controller 30 determines that a password and/or user name request message has been received by periodically polling for a password request dialog box as described in detail above. If a password request dialog box is displayed (or would have been displayed), the program 90 then determines if the request originated with an external web site 16b at step 94.
- internal web sites 16a are identified by a unique string contained in the associated address as described in detail above.
- External web sites 16b are all other (non- internal) web sites 16b.
- the program 90 determines if a password and/or user name has already been stored on the secure server 12 for this particular web site 16b by checking for the associated address (e.g., URL) in the database 20 on the secure server 12. If there is no associated user name and/or password stored on the secure server 12, the program 90 preferably acquires them via a password prompt (e.g., a dialog box in Microsoft Windows®). The program 90 may intercept or hide a password dialog box displayed by the browser at step 98 and supplies a similar password dialog box at step 100 as described in detail above.
- a password prompt e.g., a dialog box in Microsoft Windows®
- the program 90 transmits the data (e.g., user name, password, and URL) to the secure server 12 at step 104 in a known manner. Subsequently, at step 106 the user name and/or password may be requested and subsequently received from the secure server 12 and at step 108 transmitted to the requesting web site 16b.
- the username and/or password are already available to the controller 30, it need not request them from the secure server 12. For example, if the controller 30 has a local copy in RAM 32, then step 106 may be omitted.
- the secure server 12 sends a copy of some or all of the database 20 to the user device 14 with or without a request from the user device 14 for the data and with or without a password request from a web site 16b.
- the user device 14 may have a local copy of the data in RAM 32.
- step 92 the program 90 looks for another password and/or user name request message. If a request is detected at step 92, but the program 90 determines that it did not originate at an external web site 16b (step 94 described in detail above), then the program 90 preferably passes the request to program 60 (i.e., intranet password processing) and returns to step 92.
- program 60 i.e., intranet password processing
- step 106 the user name and/or password may be requested and received (if not already in RAM 32), and at step 108 the user name and/or password may be transmitted to the requesting web site 16b without prompting the user for the data.
- the program 90 may check to see if the host program has terminated. If the host program has not terminated (e.g., at least one browser window remains), then the program loops between step 91 and step 92 until a request is received or the host program is terminated.
- the program 90 determines if the user name and password transmitted were valid for the requesting web site 16b. As described above, this determination is typically made by evaluating a message from the web site 16b indicating success or failure of the log on attempt. If the user name and password are valid for this web site 16b, at step 112 the program 90 preferably loads the web site data and returns to step 92. However, if the user name or password are incorrect, at step 114 the program 90 may display several options for the user to select from. Preferably, a dialog box is displayed with three options. Specifically, the options include "Retry", "Help", and "Cancel". At step 116, if the user selects the "retry” option, program 90 flow loops back to step 98 to allow the user to reenter her user name and/or password.
- step 118 if the user selects the "help" option, the program 90 preferably displays a text box at step 120 which contains information that may assist the user in correcting a problem associated with her user name and/or password (as described in detail above). If the user selects "cancel", or when the user has finished reading the help screen(s), control preferably returns to step 92.
- the controller 30 may disconnect from the secure server 12 at step 112. Subsequently, the program 90 exits. Once disconnected, the user must re-authenticate to communicate with the secure server 12.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
- Information Transfer Between Computers (AREA)
Abstract
Description
Claims
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| AU51292/00A AU5129200A (en) | 1999-05-14 | 2000-05-09 | Method and apparatus for securing automatic entry of password information associated with a web site |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US31229399A | 1999-05-14 | 1999-05-14 | |
| US09/312,293 | 1999-05-14 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| WO2000070428A2 true WO2000070428A2 (en) | 2000-11-23 |
| WO2000070428A3 WO2000070428A3 (en) | 2002-09-26 |
Family
ID=23210785
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/US2000/012701 WO2000070428A2 (en) | 1999-05-14 | 2000-05-09 | Method and apparatus for securing automatic entry of password information associated with a web site |
Country Status (2)
| Country | Link |
|---|---|
| AU (1) | AU5129200A (en) |
| WO (1) | WO2000070428A2 (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| GB2357599A (en) * | 1999-12-23 | 2001-06-27 | Ibm | Preventing parasitic usage of web page embedded files |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5642515A (en) * | 1992-04-17 | 1997-06-24 | International Business Machines Corporation | Network server for local and remote resources |
| US6230202B1 (en) * | 1995-05-01 | 2001-05-08 | Donald A Lewine | Method for performing transactions on the world-wide web computer network |
| US6092196A (en) * | 1997-11-25 | 2000-07-18 | Nortel Networks Limited | HTTP distributed remote user authentication system |
-
2000
- 2000-05-09 AU AU51292/00A patent/AU5129200A/en not_active Abandoned
- 2000-05-09 WO PCT/US2000/012701 patent/WO2000070428A2/en active Application Filing
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| GB2357599A (en) * | 1999-12-23 | 2001-06-27 | Ibm | Preventing parasitic usage of web page embedded files |
| GB2357599B (en) * | 1999-12-23 | 2004-08-04 | Ibm | Method for preventing parasitic usage of web page embedded files |
| US7506359B1 (en) | 1999-12-23 | 2009-03-17 | International Business Machines Corporation | Method for preventing parasitic usage of web page embedded files |
Also Published As
| Publication number | Publication date |
|---|---|
| AU5129200A (en) | 2000-12-05 |
| WO2000070428A3 (en) | 2002-09-26 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6006333A (en) | Password helper using a client-side master password which automatically presents the appropriate server-side password to a particular remote server | |
| US7092915B2 (en) | PDA password management tool | |
| US9391779B2 (en) | Reactive biometric single sign-on utility | |
| EP1451660B1 (en) | Methods of accessing and using web-pages | |
| US8925051B1 (en) | Automated login session extender for use in security analysis systems | |
| US5793952A (en) | Method and apparatus for providing a secure remote password graphic interface | |
| US5684951A (en) | Method and system for user authorization over a multi-user computer system | |
| US6393462B1 (en) | Method and apparatus for automatic downloading of URLs and internet addresses | |
| US8261334B2 (en) | System for performing web authentication of a user by proxy | |
| US6851060B1 (en) | User control of web browser user data | |
| JP4864289B2 (en) | Network user authentication system and method | |
| US8572215B2 (en) | Remote automated volume mounting | |
| US7043455B1 (en) | Method and apparatus for securing session information of users in a web application server environment | |
| CA2622253C (en) | Method of controlling a browser window | |
| US20070277235A1 (en) | System and method for providing user authentication and identity management | |
| JPWO2007110951A1 (en) | User confirmation apparatus, method and program | |
| JP2009020853A (en) | Security authentication system and method | |
| US8850563B2 (en) | Portable computer accounts | |
| US20040088576A1 (en) | Secure resource access | |
| US8418058B2 (en) | Graphical indication of signed content | |
| JP2008293518A (en) | Computer program | |
| US20050138435A1 (en) | Method and system for providing a login and arbitrary user verification function to applications | |
| US20040267946A1 (en) | Server access control | |
| WO2000070428A2 (en) | Method and apparatus for securing automatic entry of password information associated with a web site | |
| US20030115343A1 (en) | Unwanted routing block |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| AK | Designated states |
Kind code of ref document: A2 Designated state(s): AE AL AM AT AT AU AZ BA BB BG BR BY CA CH CN CR CU CZ CZ DE DE DK DK DM EE EE ES FI FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW |
|
| AL | Designated countries for regional patents |
Kind code of ref document: A2 Designated state(s): GH GM KE LS MW SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG |
|
| DFPE | Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101) | ||
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
| REG | Reference to national code |
Ref country code: DE Ref legal event code: 8642 |
|
| AK | Designated states |
Kind code of ref document: A3 Designated state(s): AE AL AM AT AT AU AZ BA BB BG BR BY CA CH CN CR CU CZ CZ DE DE DK DK DM EE EE ES FI FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW |
|
| AL | Designated countries for regional patents |
Kind code of ref document: A3 Designated state(s): GH GM KE LS MW SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG |
|
| 122 | Ep: pct application non-entry in european phase | ||
| NENP | Non-entry into the national phase |
Ref country code: JP |