throbber
United States Patent
`Abadi et al.
`
`[191
`
`US006141760A
`Patent Number:
`Date of Patent:
`
`[111
`[451
`
`6,141,760
`Oct. 31, 2000
`
`[541
`
`[751
`
`SYSTEM AND METHOD FOR GENERATING
`UNI UE PASSWORDS
`Q
`Inventors: Martin Abadi, Palo Alto; Krishna
`Bharat, Santa Clara; Johannes Marais,
`Mountain View, an of Calif
`
`Assignee: Compaq Computer Corporation,
`Houston, Tex'
`
`A l. N .: 08 962 505
`pp
`0
`/
`’
`Filed:
`Oct. 31, 1997
`Int C17
`
`H04L 9/00
`
`OTHER PUBLICATIONS
`
`.
`Hensley et al.; Proposal for an Open Pro?ling Standard;
`located @ WWW-12W3~Org/TR/NOTE_OPS_Frame'
`work'html; downloaded OCP 1997'
`Hensley et al.; Implementation of OPS Over HTTP; located
`@ WWW.W3.org/TR/NOTE—OPS—OverHTTP.html; doWn
`loaded 091- 1997
`Hensley et al.; Standard Practices for OPS Systems; located
`@WWW.W3 .org/TR/NOTE—OPS—StandardPractices.html;
`downloaded Oct. 1997.
`Hoff et al.; The HTTP Distribution and Replication Protocol;
`located @ WWW.W3.org/TR/NOTE—drp—19970825.html;
`downloaded Oct. 1997.
`
`US. Cl. ........................................... .. 713/202; 713/184
`Field of Search ................................... .. 713/200, 201,
`713/202, 183, 184; 707/9; 380/23, 25; 709/229;
`
`Primary Examiner—R0bert W. Beausoliel, Jr.
`Assistant Examiner—sc0tt T- Baderman
`Attorney, Agent, or Firm—F9nWiCk & West LLP
`
`References Cited
`U S PATENT DOCUMENTS
`'
`'
`9/1994 Blandford ............................... .. 380/25
`5,347,579
`5,684,951 11/ 1997 Goldman et al-
`395/ 188-01
`577197941
`2/1998 swl? Ft a1~ - - - - - -
`- - - ~~ 380/25
`2’812’819
`9/1998 Rodwm et a1‘ "
`395/5500
`{222L333
`grliigor'r'l'g """"" "
`364/468:15
`5’847’957 12/1998 Cohen et
`.. 395/187.01
`5,892,905
`4/1999 Brandt et a1. .
`713/202
`6,006,333 12/1999 Nielsen ...... ..
`6,079,021
`6/2000 Abadi et a1. .......................... .. 713/202
`
`A computerized method is provided for generating pass
`Words for passWord controlled access points. Provided are a
`master passWord, an access passWord, and a user name. The
`master passWord, the service name, and the user name are
`combined using an irreversible function to generate a unique
`passWord. The function can be a one-Way hash function. The
`combining can be performed by a broWser of a client
`computer. A similar combining can also be used to generate
`a user name from the master passWord and the user’s real
`name
`
`20 Claims, 2 Drawing Sheets
`
`(2 O1
`master_password
`
`real
`name
`
`20 4
`
`220 202
`
`service_name
`
`passwords
`
`( 200
`
`203
`
`.
`
`user_name
`
`Page 1
`
`

`
`U.S. Patent
`
`0a. 31, 2000
`
`Sheet 1 of2
`
`6,141,760
`
`ON_
`
`ON_
`
`mm>mmw
`
`ON.
`
`
`
`HZ_On_ wwmOO<
`
`NN_ / U
`
`On
`
`6595
`
`mw>>
`
`Ewzo <0:
`
`
`
`(1/ .v:
`
`\O:
`
`Page 2
`
`

`
`U.S. Patent
`
`0a. 31, 2000
`
`Sheet 2 of2
`
`6,141,760
`
`oEmclEw:
`
`MON
`
`mEmcImEEmm
`
`6%
`
`OEGC
`
`O_N m
`
`oom
`
`N
`
`222523
`
`Page 3
`
`

`
`1
`SYSTEM AND METHOD FOR GENERATING
`UNIQUE PASSWORDS
`FIELD INVENTION
`This invention relates generally to computer systems, and
`more particularly to passwords used to gain access to
`computer system services and data records stored by com
`puter systems.
`BACKGROUND OF THE INVENTION
`
`It is common to use passWords to alloW users to access
`computer systems and data records. More recently, many
`services provided via the World-Wide-Web (the Web) also
`authenticate access With passWords. The use of passWords
`for access protection is so pervasive that it is not unusual for
`a user to have to remember a large number of different
`passWords.
`Because of the large number of passWords that one might
`need to have, many users choose memorable passWords,
`Which are easy to guess. A sophisticated imposter using
`automated schemes can easily “try” millions of common
`passWord variations in a matter of minutes. Because users
`often use the same passWord for many services, if the user’s
`passWord for a particular service is disclosed, then the
`passWord could be used to access other accounts. In
`particular, the oWners or administrators of one service could
`use the user’s passWord to access the user’s other accounts.
`In addition, for services that are accessed by many users,
`user names based on common names, e.g., “johnsmith,” are
`quickly used up.
`The problems With passWords are Well knoWn, and there
`have been a number of proposed replacements for
`passWords, in particular, schemes based on sophisticated
`cryptographic techniques or biometric identi?cation, see
`Schneier, “Applied Cryptography.” In some cases, these
`approaches can provide adequate security at the expense of
`requiring fundamental changes in hoW authentication sys
`tems operate.
`Currently, an “Open Pro?ling Speci?cation” is being
`considered by the Platform for Privacy Preferences (P3)
`project of the W3C. This speci?cation may eventually
`provide a solution to the problem of passWord authentication
`on the Web, although the present efforts of the Open
`Pro?ling Work concentrate on the exchange of user prefer
`ences betWeen broWser and server computers.
`One could use Open Pro?ling for managing user
`passWords, and protecting the passWords from access by
`inappropriate servers. In all cases, Open Pro?ling requires
`aWareness and cooperation by broWsers and servers, so it
`cannot be used With current softWare. Moreover, Open
`Pro?ling requires access to a user-speci?c pro?le, Which
`users Will need to either fetch from a server or carry With
`them. Fetching over a netWork may not alWays be quick or
`possible, e.g., the pro?le may be behind a ?reWall or the
`netWork may be partitioned. Carrying the pro?le may be
`inconvenient or unsafe, since it may require use of ?oppy
`disks, smart-cards, or other auxiliary hardWare.
`Therefore, it is desired to provide a scheme in Which the
`user is not required to remember many different passWords.
`
`1O
`
`15
`
`25
`
`35
`
`45
`
`55
`
`SUMMARY OF THE INVENTION
`A computeriZed method is provided for generating pass
`Words for passWord controlled access points. Provided are a
`master passWord, a service name, and a user name. The
`master passWord, the service name, and the user name are
`combined using an irreversible function to generate a unique
`passWord.
`
`65
`
`6,141,760
`
`2
`The function is a one-Way hash function, e.g., the input
`cannot be determined from the output. The combining can
`be performed by a broWser of a client computer. As an
`advantage the technique is easy to use, and the service name
`does not need to be kept secret. In addition, the method
`provides for a Way to automatically generating unique user
`names. This is useful in the case of users With common
`“real” names.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`FIG. 1 is a block diagram of distributed computer system
`100 providing services accessible using passWords accord
`ing to the invention; and
`FIG. 2 is How diagram of a preferred embodiment for
`generating passWords.
`DETAILED DESCRIPTION OF PREFERRED
`EMBODIMENTS
`
`System OvervieW
`FIG. 1 shoWs a distributed computer system 100 provid
`ing services accessible using passWords generated according
`to the invention. The system 100 includes client computers
`110 connected to server computers 120 via a communica
`tions netWork 130.
`The client computers 110 can be lap-tops, personal
`computers, Work-stations, or the like. The clients 110 gen
`erally include input and output (I/O) devices, for example, a
`mouse 111, a keyboard 112, and a monitor 113. The I/O
`devices alloW users of the clients 110 to execute applications
`under the control of operating system softWare, for example,
`Microsoft WindoWs, or Unix. One of the applications can be
`a Web broWser 114 such as the Netscape Navigator, or the
`Microsoft Explorer.
`The netWork 130 can be the Internet supporting an
`application communications interface, for example, the
`World Wide Web (Web) 131.
`The server computers 120 are usually larger computer
`systems characteriZed by providing services 121 and infor
`mational databases 122 accessible by many client computers
`all over the World.
`System Operation
`A typical user of the system 100 Will provide a passWord
`to enable the operation of the client 110, additional pass
`Words may be required to activate and access privileged
`softWare and applications of the client 110. Use of the
`netWork 130 may require yet another set of passWords.
`Access to the servers 120 and its services 121 and informa
`tion 122 may be protected by a ?nal layer of passWords. In
`a typical day, the user may need to remember doZens of
`passWords that get authenticated by passWord controlled
`access points. This is a burden, particularly When more
`sophisticated authentication processes require a long
`sequence of nonsense characters.
`In order to lessen the burden of remembering a large
`number of passWords for different access points, and also to
`improve the security of passWords, the system 100 is
`enhanced as folloWs.
`The Web broWser 114, Which has become a primary Web
`access tool, is provided With an extension 115, described in
`further detail beloW, Which implements aspects of the inven
`tion.
`PassWords Generation
`As shoWn in FIG. 2, passWords 200 are constructed as
`folloWs.
`Each user chooses a ?rst string as a master13passWord
`201. This is the only passWord the user must remember.
`For any service, hardWare or data structure that requires
`a passWord 200, generally “passWord controlled access
`
`Page 4
`
`

`
`3
`points,” second strings 202 form serviceinames 202.
`Serviceinames 202 need not be kept secret, and may be
`easy to remember and to guess.
`In one implementation, each serviceiname 202 can be
`manually generated by the user. Alternatively, the service
`name may be automatically generated by the client or the
`access point, e.g., the server, from the domain name of the
`service, or data structure. Other possible serviceinames 202
`could be the IP address of the passWord controlled access
`point, or the title of its entrance Web page. In a simplest
`implementation, any speci?c passWord protected access
`point can provide the same serviceiname to each user.
`The string 202 is expressed in a canonical form to
`compensate for minor variations in the spelling of the
`service name as entered by the user. The canonical form can
`be obtained by ignoring all punctuation and spaces, con
`verting uppercase characters to loWercase, and omitting
`common Words such as ‘The,’ ‘in,’ ‘and,’ etc. For example,
`the user may take “The NY. Times” as the serviceiname
`202 for accessing the NeW York Times on-line edition
`service. In canonical form, “The NY. Times” becomes
`“nytimes.”
`In addition, a third string, the user name 203, is associated
`With each user. As an advantage, it is possible to generate
`unique user names for users With common “real” names,
`such as John Smith. This is described in greater detail beloW.
`An operation
`210 combines, for any particular user,
`the strings 201—203 to generate passWords 200. The opera
`tion 210 has the property that it is hard to invert, and that it
`maps different inputs to different outputs. That is, the
`likelihood that combinations of different input strings pro
`duce the same output string is minimal. The operation 210
`can be implemented as part of the broWser extension 115 of
`FIG. 1.
`The method for generating unique userinames 203 can
`proceed as folloWs. The user supplies his masteripasssWord
`201 (e.g., sdtTg2;WqZ:r#), and his or her real name 204 (e.g.,
`John Smith). Afunction 220 is applied. This function applies
`a one-Way hash-function on the real name 204 and the
`master passWord to compute a unique string Which is
`appended to the user’s initials, (e.g., “js”) to give a unique
`useriname 203, e.g., js4546Q. This function can be like the
`function 210 above although it operates on different strings.
`This method for generating unique userinames is optional,
`user-names can be generated by other methods, or the real
`names can be used.
`The extension 115 can be started When the broWser 114 is
`initialiZed, or the extension may be doWnloaded, on demand,
`via the Web. The extension can be implemented in the
`J avaScript language, for example. When the extension 115
`is started, the user only needs to provide the masteri
`passWord 201 and his or her common name.
`As described above, each passWord controlled access
`point has an associated serviceiname 202. Therefore, When
`the user needs a passWord for a particular service, the
`broWser extension must receive the corresponding servicei
`name 202. The broWser extension 115 then determines the
`correct passWord by applying the operation F 210 on the
`masteripassWord, the serviceiname, and the useriname.
`The result is the user’s passWord 200 for the access point and
`user in question. The user can enter the generated passWord
`using easy cut-and-paste operations, or the broWser exten
`sion 114 could directly submit the passWord.
`Because the passWord is generated from the master pass
`Word 201 and the user name, it is generally immune to
`so-called “dictionary attacks”.
`The present invention enhances security and convenience.
`It alloWs users to remember only a single master passWord,
`
`15
`
`3O
`
`35
`
`55
`
`6,141,760
`
`4
`and avoids the dangers of using the same passWord for many
`different controlled access points. In addition, the invention
`alloWs users to use the same user name across services, and
`avoids having to remember complicated user names.
`Furthermore, the invention discourages users to expose
`passWords, e.g., by Writing them doWn. An important aspect
`of this invention is that it can be integrated into current
`softWare for Web broWsing. It does not require any changes
`in the concept of passWord, or any changes in server
`softWare.
`It is understood that the above-described embodiments are
`simply illustrative of the principles of the invention. Various
`other modi?cations and changes may be made by those
`skilled in the art Which Will embody the principles of the
`invention and fall Within the spirit and scope thereof.
`What is claimed is:
`1. A computeriZed method for generating passWords for
`passWord controlled access points, comprising the steps of:
`receiving a master passWord, a service name, and a user
`name; and
`generating a unique passWord at a local terminal by
`combining the master passWord, the service name, and
`the user name.
`2. The method of claim 1 Wherein the generating step uses
`an irreversible function.
`3. The method of claim 2 Wherein the function is a ?rst
`one-Way hash function.
`4. The method of claim 1 Wherein the combining step is
`performed by a broWser of a client computer.
`5. The method of claim 1 Wherein the generating step is
`performed by an applet of a client computer.
`6. The method of claim 1 Wherein the service name is
`expressed in canonical form.
`7. The method of claim 1 Wherein the user name is derived
`by combining the master passWord and a real name of a user.
`8. The method of claim 7 Wherein the generating step uses
`a second one-Way hash function.
`9. The method of claim 1 further comprising the steps of:
`maintaining a plurality of service names Within the local
`computer, each service name corresponding to one of
`the passWord controlled access points; and
`retrieving at least one service name for use in generating
`the unique passWord.
`10. The method of claim 9 Wherein the plurality of service
`names are automatically created by the local terminal.
`11. The method of claim 9 Wherein the plurality of service
`names are created by a user.
`12. A computer apparatus for generating passWords com
`prising:
`a local computer;
`a receiving module adapted to receive a master
`passWord, a service name and a user name;
`a generation module adapted to generate a unique
`passWord at the local computer by combining the
`master passWord, the service name, and the user
`name.
`13. The computer apparatus of claim 12 Wherein the
`generation module is adapted to implement an irreversible
`function adapted to generate the unique passWord by com
`bining the master passWord, the service name, and the user
`name.
`14. The computer apparatus of claim 12 further compris
`ing a broWser applet Within the local computer, said broWser
`applet adapted to generate the unique passWord by combin
`ing the master passWord, the service name and the user
`name.
`
`Page 5
`
`

`
`6,141,760
`
`5
`15. The computer apparatus of claim 12 wherein the
`generation module is adapted to implement a plurality of
`irreversible functions adapted to generate the unique pass
`Word by combining the master passWord, the service name
`and the user name.
`16. The computer apparatus of claim 12 further compris
`ing a storage module adapted to store a plurality of service
`names Within the local computer.
`17. A computer program product comprising:
`a computer usable medium having computer readable
`code embodied therein for causing the generation of a
`unique passWord, the computer program product
`including:
`computer readable program code devices con?gured to
`cause a local computer to effect the reception of a
`master passWord, a service name and a user name;
`computer readable program code devices con?gured to
`cause the local computer to effect the generation of
`the unique passWord at the local computer by com
`bining the master passWord, the service name, and
`the user name.
`
`10
`
`15
`
`6
`18. The computer program product of claim 17 further
`including a computer readable program code device con?g
`ured to cause the local computer to effect the storage of a
`plurality of service names and a computer readable program
`code device con?gured to retrieve at least one of the service
`names for use in the generation of the unique passWord.
`19. The computer program product of claim 17 further
`including a computer readable program code device con?g
`ured to use an irreversible function to generate the unique
`passWord from the combination of the user name, the service
`name and the master passWord.
`20. The computer program product of claim 17 further
`including a computer readable program code device con?g
`ured to use a broWser applet contained Within the local
`computer to generate the unique passWord from the combi
`nation of the user name, the service name and the master
`passWord.
`
`Page 6

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket