throbber
United States Patent [191
`Brown
`
`ll?llllllllllllllllllllilllllilllllillillllllillllilllillillllillli
`
`USOO5740361A
`[11] Patent Number:
`[45] Date of Patent:
`
`5,740,361
`Apr. 14, 1998
`
`[54] SYSTEM FOR REMOTE PASS-PHRASE
`AUTHENTICATION
`[75] Inventor: Gary S. Brown. Columbus, Ohio
`
`Bird. et aL. Systematic Design of a Family ofAttack-Resis
`rant Authentication Protocols, Sep. 1992. pp. 1-26.
`21143338383; Kgplioags‘ight Authenncaao" and Key D18?"
`
`[73] Assignee: CompuServe Incorporated, Columbus.
`Ohio
`
`Primary Examiner-—Robert B. Harrell
`Attorney, Agent, or Firm-Standley & Gilcrest
`
`Jun‘ 3’ 1996
`[22] F??d:
`[51] rm. Cl.6 .................................................... .. G06F 12/14
`[52] us. 61. ....................................................... .. 39s/1s7.o1
`[58] Field of Search ..................... .. 364/DIG. 1 MS File.
`364/DIG_ 2 MS File; 380/4“ 2 1_ 23_ 46_
`49; 395,6OL 609_ 761_ 762 186‘ 187_01_
`183.01. 200‘3_ 20033
`
`[56]
`
`References Cited
`
`Us PATENT DOCUMENTS
`7/1996 Ganesan .................................. .. 380/25
`8/1996 Geus ________ __
`2/1997 Aziz _____ __
`6/1997 Nguyen ................................... .. 380/29
`
`5,535,276
`5,550,934
`5,604,303
`5,638,448
`
`UI‘HER PUBLICATIONS
`
`Dave Raggett. Internet Draft. Mediated Digest Authentica
`lion, Mar. 1995. pp. 1-12.
`Bird. et al.. A Modular Family of Secure Protocols for
`Authentication and Key Distribution, Nov. 1992. pp. 1-15.
`
`A system and method are disclosed for authenticating users
`and services communicating over an insecure network Each
`user and Service has a Pass-Phrase used for authentication
`H°W°v°r~ ‘11° Pass-Phrases are 11°‘ "vealed during ‘ha
`authentication process as challenge-response techniques are
`used to keep the pass-phrase secret. In addition. the users
`and services do not need to know nor do they learn each
`other‘s pass-phrases making the process useful in a distrib
`uted environment. Pass-phrases are known by an authenti
`cation entity with which the service communicates to
`authenticate both users and services. Users may have iden
`titles in and scrviccs may Support a number °frea1ms~ “ch
`of which may be viewed as large collection of users (e.g..
`CompuServe.com). Users choose the realm in which they
`would like to be authenticated In one embodiment of the
`present invention. the system and method are adapted for use
`with the Hyper’I‘ext Transfer Protocol of the World Wide
`Web so that secure transactions may be accomplished
`between users and services communicating via the Internet.
`
`26 Claims, 3 Drawing Sheets
`
`User
`1
`
`Uger
`
`Authentication Deity I
`compuservacom
`
`16
`
`12
`
`44
`
`Network
`N d 0 e \ Server
`
`Computer
`Network 10
`
`46
`
`32
`
`Authentication Deity II
`aol. com
`
`18
`
`20
`
`Service
`A
`
`22
`
`Service
`B
`
`1
`
`USAA 1035
`
`

`
`U.S. Patent
`
`Apr. 14, 1998
`
`Sheet 1 of 3
`
`5,740,361
`
`User
`1
`
`Uger
`
`Authentication Deity I
`compuservacom
`
`16
`
`12
`
`44
`
`Network 24
`Node \ Server
`
`Computer
`Network 10
`
`46
`
`Authentication Deity II
`aoLcom
`
`18
`
`Figure 1
`
`20
`
`Service
`A
`
`22
`
`Service
`B
`
`2
`
`

`
`&U
`
`47.,
`
`1M
`
`|.I...||IY$M3.50mmuoom.8HmoscommeP:o:mo::o£:<uo_>._omBD
`
`
`EfiomAEmE_«8mo853%mIIII.
`
`2.5:838$2cocoflom
`
`
`
`
`
`M.’moowcozmnoEowcmmm|..--......V€A:2
`
`slIl|u||l.||l||wEo
`
`
`
`:0ow=o=_£uEoucmm
`
`
`
`ExExflooim3.3%.&.=v~$8.conmomEV8532
`
` co.§o.:=o£:<HE.u|lnIn|u|VM.atamM60SD52.22:2$252:o:mo.a=o£:<%QI
`
`amomcommomA5»
`
`0.,No.:.w_,m
`
`5Exmooi32$>3coawom
`
`IM:
`
`3
`
`

`
`US. Patent
`
`Apr. 14, 1998
`
`Sheet 3 of 3
`
`5,740,361
`
`$8.6m 6M3
`
`
`
`MU omcuzmso 525mm
`
`
`
`=0 owco=mso Eowcmm A Q
`
`a“ umcoawum
`
`A 3
`
`mm ammonium
`
`1%
`
`Y3
`
`2.5“;
`
`4
`
`

`
`5,740,361
`
`2
`with a service that wishes to learn and authenticate the user's
`identity and vice versa. To clarify the problem. there are
`three aspects of network security that may be distinguished:
`
`1
`SYSTEM FOR REMOTE PASS-PHRASE
`AUTHENTICATION
`
`BACKGROUND OF THE INVENTION
`1. Field of the Invention
`The present invention relates to authentication of com
`puter users and services in distributed environments.
`Particularly. the present invention relates to a Remote Pass
`phrase Authentication scheme that provides a way to authen
`ticate users and services using a pas s-phrase over a computer
`network without revealing the pass-phrase.
`2. Description of the Related Art
`The importance of secure communication is increasing as
`world-wide networks such as the Interact and the World
`Wide Web (WWW) portion of the Internet expand. As global
`networks expand through the interconnection of existing
`networks. users may gain access to an unprecedented amber
`of services. The services. each of which may be maintained
`by a dilferent provider. give users access to academic.
`business. consumer. government. etc. information. Service
`providers are now able to make their services available to an
`ever-expanding user base.
`The ease with which services and users are able to ?nd
`each other and the convenience associated with on-line
`transactions is leading to an increase in the number of
`remote business and related transactions. However. users
`and services are not always certain who or what is at the
`other end of a transaction. Therefore. before they engage in
`business and other transactions. users and services want and
`need reassurance that each entity with whom they commu
`nicate is who or what it purports to be. For example. users
`will not be willing to make on-line purchases that require
`them to reveal their credit card nunmers unless they are
`con?dent that the service with which they are communicat—
`ing is in fact the service they wanted to access. Commercial
`and other private entities who provide on-line services may
`be more reluctant than individuals to conduct business
`on-line unless they are con?dent the communication is with
`the desired individual or service.
`Both users and services need reassurance that neither will
`compromise the integrity of the other nor that con?dential
`information will be revealed unintentionally to third parties
`while communications are occurring. Security in a global
`network. however. may be di?icult to achieve for sevm'al
`reasons. First. the connections between remote users and
`services are dynamic. With the use of portable devices. users
`may change their remote physical locations frequently. The
`individual networks that comprise the global networks have
`many entry and exit points. Also. packet switching tech
`niques used in global networks result in numerous dynamic
`paths that are established between participating entities in
`order to achieve reliable cormnunication between two par
`ties. Finally. communication is often accomplished via
`inherently insecure facilities such as the public telephone
`network and many private communication facilities. Secure
`communication is dil?cult to achieve in such distributed
`environments because security breaches may occur at the
`remote user’s site. at the service computer site. or along the
`communication link. Consequently. reliable two-way
`authentication of users and the services is essential for
`achieving security in a distributed environment.
`Two-way authentication schemes generally involve hand
`shaking techniques so that each party may verify he or she
`is in communication with the desired party regardless of
`each party’s location or the types of devices in use. The
`problem to be solved is one in which a user communicates
`
`5
`
`Identi?cation:
`
`Authentication:
`
`Authorization:
`
`10
`
`the way in which a user or service is
`referenced
`the way in which a user may prove his or her
`identity.
`a method for determining what a given user
`may do. The same aspects apply to services
`as well as users.
`
`2 O
`
`35
`
`Identi?cation
`A user’s identity consists of a user name and a realm
`15 name. A realm is a universe of identities. CompuServe
`Information Service (C15) user IDs and America Online
`(AOL) screen names are two examples of realms. The
`combination of user name and realm—typically shown as
`name@realm—identi?es a user. Any given service recog
`nizes some particular set of identities. Arealrn does not have
`to be large. though. either in number of users or size of
`service. For example. a single WWW server may have its
`own realm of users.
`Often. a service recognizes only one realm: CIS recog
`nizes only identities within the CIS realm and AOL recog
`25 nizes only identities within the AOL realm. But. one can
`imagine a service that has agreements with both CIS and
`AOL. The service gives the user a choice of realms
`“Please supply a C18 or AOL identity. and prove it"—and
`the user chooses a realm in which he or she has an identity.
`3'0 Identi?cation. thus. provides the ability to identify. or to
`refer to. a user.
`Authentication
`Authentication provides the ability to prove identity.
`When asking to do something for which a user’s identity
`matters. the user may be asked for his or her identity-—a user
`name and realm-and the service requires the user to prove
`that he is who he says he is. To accomplish this. most
`services use a secret called a pass-phrase. although it is not
`necessarily derived from text. Such a secret is sometimes
`called a secret key. but it is not necessarily used for encryp
`tion. In this context. the fundamental problem to be solved
`is: How can a user prove his pass-phrase without revealing
`the pass-phrase in the process?
`Authorization
`Authorization refers to the process of determining
`whether a given user is allowed to do something. For
`example. may he post a message? May he use a surcharged
`service? It is important to realize that authentication and
`authorization are distinct processes-one related to proving
`an identity and the other related to the properties of an
`identity. The present invention is not related to
`authorization. but it is designed to co-exist with authoriza
`tion mechanisms.
`Pass-phrase
`A service that wishes to authenticate a user requires the
`user to identify himself or herself and to prove that he or she
`knows the pass-phrase. Generally. the service prompts the
`user for the pass-phrase. However. transmitting the plain text
`60 pass-phrases through a network comprises secmity because
`an eavesdropper may learn the pass-phrase as it travels
`through the network. X.25 networks have been
`compromised. and LANs. modem pools. and "The Internet”
`likewise are not suitable for plain text pass-phrases due to
`the eavesdropper problem. Prompting for the pass-phrase.
`while su?icient in the past. no longer works for extensive
`world-wide networks.
`
`40
`
`45
`
`50
`
`55
`
`5
`
`

`
`3
`
`5,740,361
`
`25
`
`Pass-phrase Encryption
`Encryption of the pass-phrase provides additional security
`and addresses the eavesdropper problem. Using encryption.
`the user encrypts the pass-phrase. sends the result to the
`service which then decrypts it. Some techniques are based
`on a one-time key that prevents an eavesdropper from
`decrypting the pass-phrase.
`There are. however. problems with this technique as well.
`Somebody else-a spoofer-may pretend to be the service.
`The spoofer decrypts the result. learns the pass-phrase. and
`gains the ability to masquerade as the user. Some people
`have spoofed services by getting users to dial into the
`spoofer’s computer. The spooler advertises a dial up number
`for the service that is claimed to have been omitted from the
`directory of service numbers. The spoofer may entice people
`to try the “unlisted” number by claiming it is much faster
`than the listed numbers. Therefore. there is a need for a
`mechanism that will not reveal the pass-phrase to anyone.
`even if the user is interacting with a spooler.
`Challenge-response Techniques
`Challenge-response techniques involve a series of
`exchanges between a user and a service. The service sends
`the user a challenge. which is a random number. and the user
`applies a one-way function to the number to calculate a
`result that depends on the challenge and the user's pass
`phrase. The user sends the result to the service which
`performs the same calculation and compares the result to the
`result sent by the user. Done correctly. this technique reveals
`no information to eavesdroppers. nor does it allow a spoofer
`to acquire the pass-phrase-if a spoofer pretends to be the
`service. he learns the result only for a particular challenge
`which is of no value. Although such a technique works. it
`does not solve the problem completely. The service must
`know the pass-phrase in order to reproduce the user’s
`calculation and verify the user’s response to the service’s
`challenge.
`The service may not know the user’s pass-phrase for
`several reasons. A set of services may share a set of users’
`identities. For example. a collection of Web servers. scat
`tered throughout the world. may be part of a "Total Infor
`mation Service (TIS).” A user requesting access to TIS may
`use her TIS user name and pass-phrase to identify herself to
`any TIS service. In accordance with one implementation.
`each physical server may have a copy of all pass-phrases or
`access to a master database containing all pass-phrases. This
`solution may not. however. work under all scenarios
`especially if some are third-party servers. not directly under
`the control of the imaginary 118. Or consider a service that
`accepts identities in multiple realms-for example. a service
`that has agreements with both CIS and AOL. The service
`gives the user a choice of realms-—“Please supply a C15 or
`AOL identity. and prove it”—and the user chooses a realm
`in which he has an identity. It is unlikely that CIS and AOL
`will entrust a copy of their pass-phrase databases to a
`55
`third-party service. or to each other. If the service does not
`how the user’s pass-phrase. then the user cannot prove to the
`service that he knows it
`One technique to address this problem is to have the
`service prompt the user for her pass-phase. For example. a
`WWW service may display a Hyper-Text Markup Language
`(HTML) form with two boxes-one that asks for the user for
`her user name and one that asks her for her pass-phrase. A
`protocol such as SSL or SH'ITP may be used so an eaves
`dropper cannot see it. When the service receives the user‘s
`reply. the service may use a challenge-response technique to
`verify the pass-phrase with a server that knows the pass
`
`4
`phrases. But. there is a drawback to this technique. It is
`important to teach a user not to type his or her pass-phrase
`just because somebody asks for it. This technique is com
`monly used for cracking others’ accounts. Teaching users to
`provide their pass-phrases in a HTML form is not a desirable
`solution because the pass-phrase is revealed. which is pre
`cisely what should be avoided. especially if the service is a
`spoofer.
`The pass-phrase database server also has some undesir
`able side effects. Using this scheme. the service asks the user
`for a copy of her pass-phase. Now. an ordinary challenge
`response technique may be used. However. there is a need to
`get the pass-phrase from that database to the service. safely.
`If the service can look up the pass-phrase. then anybody else
`may do the same. Even worse. the entire pass-phrase data
`base may be accessed so that pass-phrases for many users
`may be obtained.
`Current authentication mechanisms are inadequate for the
`distributed systems. services. and users that comprise
`today’s world-wide networks such as the WWW/Internet.
`Users and services need a way to reliably authenticate one
`another that also meets speci?c design criteria. Users and
`services also have a need for a mechanism that is adaptable
`to the many communication protocols used throughout
`world-wide networks and that is straightforward for users to
`use. These criteria and others are met with the present
`invention.
`
`SUMMARY OF THE INVENTION
`The present invention-Remote Passphrase Authentica
`tion (RPA)—provides a way to authenticate a user to a
`service by using a pass-phrase over an insecure network.
`without revealing the pass-phrase to eavesdroppers. RPA is
`designed so that the service need not know and does not
`learn the user’s pass-phrase. Consequently. RPA is useful in
`distributed environments where it would be dii?cult or
`inappropriate to trust a service with a pass-phrase database
`or to allow the service to learn enough to masquerade as the
`user in a future authentication attempt. In one embodiment
`of the present invention. users and services on the WWW/
`Internet use the mechanism of the present invention to
`authenticate one another.
`Using the present invention. a service may authenticate a
`user and a user may authenticate a service. Authentication is
`accomplished using pass-phrases (which may be derived
`from textual phrases). The goal is to prove to the service that
`the user knows the pass-phrase. and vice versa. Techniques
`are employed to minimize the possibility that the pass
`phrase is revealed to an eavesdropper or a spoofer.
`Using RPA. a "user“ communicates with a “service” that
`wishes to learn and authenticate the user’s identity. An
`authentication “deity” knows the users’ and services‘ pass
`phrases. The service communicates with the authentication
`deity during the authentication process. Ifthe service knows
`the pass-phrases. then it acts as its own deity. simplifying the
`implementation but. otherwise having no effect on the
`mechanism.
`Identities for users exist in a “realm" which may be
`viewed as a relatively large collection of users—such as
`compuservecom or aol.com—but it may well consist of a
`small set of users (e.g.. user names and pass-phrases asso
`ciated with an individual Web server.) The service may
`specify a set of realms so that it may recognize an identity
`in any of the realms in which it participates.
`This authentication mechanism of the present invention
`consists of three related processes: authentication.
`
`20
`
`45
`
`50
`
`65
`
`6
`
`

`
`5
`reauthentication. and reauthentication cheating. Authentica
`tion is the fundamental process by which a usu and a service
`mutually authenticate one another within one of a set of
`realms. without revealing their pass-phrases to one another.
`Reauthentication is a process by which a user and service.
`having recently authenticated one another. may again
`authenticate one another. They may. of course. simply repeat
`the authentication process. but that requires interaction with
`an authentication deity. The reauthentication process is
`faster, requiring no communication with a third party. Reau
`thentication is useful when multiple connections between
`the user and service are established, whether sequential as in
`Hyper-Text Transfer Protocol (HTTP) or simultaneous.
`Preferably. each connection is authenticated. but the reau
`thentication process provides a shortcut.
`Authentication
`Three parties or entities participate in the authentication
`process:
`the user;
`the service; and
`the authentication deity.
`Each user has a user name and a pass-phrase in some
`realm of interest. Similarly. each service has a name and a
`pass-phrase in that realm. The pass-phrase is not text. but is
`instead a 128-bit (l6-octet) string of bits. However. it is
`often useful to use pass-phrases in the conventional. textual
`sense. so a procedure is de?ned for convening a textual
`phrase to the 128-bit value used by the authentication
`mechanism of the present invention.
`The service may specify a list of realms and the usa may
`choose one in which he has an identity. For example. a CIS
`user may choose to be authenticated in the CIS realm. Thus.
`a service is not restricted to authenticating identities in a
`single realm. The service possesses a name and pass-phrase
`in all realms it speci?es.
`Each realm has an authentication deity that knows the
`names and pass-phrases of its members. The service locates
`an authentication deity for each realm. If the service knows
`the user’s pass-phrase. it performs the role of the authenti
`cation deity itself. but this does not alfect the mechanism.
`The primary steps for a preferred embodiment of the present
`invention are as follows:
`The service supplies a sequence of realms. with the
`service’s name in each realm. to the user.
`The user chooses a realm. The chosen realm and the user’s
`name in that realm are communicated to the service.
`The service and user exchange random challenges.
`The user calculates a response and sends it to the service.
`The service calculates a response.
`The service sends a request to the authentication deity for
`the realm in question. The request contains the realm
`name. the user’s name. the service’s name. the user’s
`challenge. the service’s challenge. the user’s response.
`and the service’s response.
`The deity uses the realm. service. and user name to look
`up the user’s and service’s pass-phrases.
`The deity uses the values in the request. plus the service’s
`pass-phrase to verify the service’s response.
`Having veri?ed the requesting service’s identity. the deity
`uses the values in the request. plus the user’s pass
`phrase to verify the user’s response.
`Having veri?ed both the user’s and service’s identity. the
`deity creates a random. 128-bit session key for use by
`the user and service. They may use it for session
`encryption or for the reauthentication process described
`later.
`
`20
`
`25
`
`30
`
`35
`
`45
`
`50
`
`55
`
`65
`
`5,740,361
`
`6
`The authentication deity generates and sends to the ser
`vice authentication proofs for the service and the user.
`The service veri?es its authentication proof and for
`wards the other authentication proof to the user. The
`user then veri?es its authentication proof.
`
`BRIEF DESCRIPTION OF THE DRAWING(S)
`
`10
`
`FIG. 1 is a system block diagram for a preferred embodi
`ment of the present invention;
`FIG. 2 illustrates an authentication protocol for a pre
`ferred embodiment of the present invention; and
`FIG. 3 illustrates a reauthentication protocol for a pre
`ferred embodiment of the present invention.
`
`DETAILED DESCRIPTION OF THE
`PREFERRED EMBODINIENT(S)
`Referring to FIG. 1. a system block diagram for a pre
`ferred embodiment of the present invention is shown. Three
`entities or parties participate in the authentication process of
`the present invention:
`the user 12. 14;
`the service 20. 22; and
`the authentication deity 16. 18.
`The entities communicate with one another via a global
`computer network 10 such as the Internet. In an alternative
`embodiment. the three participating entities may be part of
`a small. domestic computer network. The computer network
`10. which uses a message passing scheme for communica
`tion between entities. may be comprised of network node
`computers 24 that route messages through the network to the
`communicating entities 12. 14. 16. 18. 20. 22. The network
`node computers may rely on servers 26 that access databases
`28 to obtain routing and other information needed to facili
`tate network tra?ic.
`To communicate with one another. each entity establishes
`a connection 40. 42. 44. 46. 48. 50 to the network 10.
`Network connection options for the entities are varied and
`may include a local area network (LAN) or the public
`telephone network via a modem or a dedicated line such as
`a X.25 link or a satellite or ?ber optic link Using addressing
`information provided by the users l2. l4 and services 20. 22.
`the network facilitates communications so that any one
`entity may communicate. either in real time or by leaving
`messages. with another entity on the network. For example.
`User 1 may communicate with Service A 20. Service B 22.
`or User 2 (14). Service B 22 may communicate with Service
`A20 or with either User 12. 14. Although two users and two
`services are shown for simplicity. in reality. millions of users
`and services may communicate with one anotha through the
`computer network 10.
`To use RPA. each user 12. 14 is assigned a user name and
`a pass-phrase in some realm of interest (e.g.. compuserve
`.oom or aoLcom). Similarly. each service 20. 22 has a name
`and a pass-phrase for the realms that it supports. The
`pass-phrase is not text. but is instead a 128-bit (lo-octet)
`string of bits. However. it is often useful to use pass-phrases
`in the conventional. textual sense. so a procedure is de?ned
`for converting a textual phrase to the 128-bit value used by
`the authentication mechanism of the present invention.
`A service may support multiple realms. each of which has
`its own authentication deity 16. 18. By supporting multiple
`realm% a service may be able to increase its user base by
`making itself available to users who have a user name/pass
`phrase in only one realm. User name/pass-phrase and
`servicelpass-phrase pairs used by each authentication deity
`
`7
`
`

`
`5,740,361
`
`7
`2t). 30 that supports a particular realm may be stored in a
`database 30. 32 for retrieval during the authentication pro
`cess. The authentication deity with which a service commu
`nicates to complete the authentication process depends on
`the realms o?ered by the service and the realm selected by
`the user. The service then locates the authentication deity for
`the selected realm If the service knows the user’s pass
`phrase. it performs the role of the authentication deity itself.
`but this does not all‘ect the mechanism.
`The following values are involved in the authentication
`process of the present invention.
`
`: Authentication deity's response to service;
`proves user’s identity
`‘ Autlzntication deity's response to user;
`proves service's identity
`Challerue from service
`Challenge from user
`Sessirm key for user and service
`Session key obscured so visible only to
`service
`Session key obscured so visible only to
`user
`
`Cs:
`Cu:
`Kus:
`Kuss:
`
`Kusw
`
`20
`
`. Realm name
`: Service name
`' User name
`Service's pass-phrase, a 128 bit value
`User's pass-phrase, a 128 bit value
`: Service's response to challenge (during
`authentication process, goes to
`authentication deity; din-Eng
`reauthentication. goes to \EQI')
`: User’s response to challenge (during
`authentication process, goes via service to
`authentication deity; during
`reautheutication, goes to service)
`Padding consisting of 48 octets (384 bits)
`with all bits set to zero
`+: Ooncatentation of octet strings
`xor. Bitwise “Exclusive Or"
`
`Preferably. bit patterns for each value are speci?ed so that
`different implementations may be supported For example.
`one implementation may use ASCII. another EBCDIC. and
`another Unicode for the user name. Another implementation
`may convert the user name to lowercase and another to all
`caps. The ditferent implementations produce different
`results for the same calculation so the authentication may
`fail. The details may be left to underlying protocol. but that
`makes the service-to-deity protocol dependent on the user
`to-service protocol. Using such a scheme makes it di?icult
`to provide a single deity for each realm. By specifying the
`bit patterns. any mixture of user-to-service and service-to
`deity protocols may be used to operate on the same data.
`The following conventions facilitate the development of a
`single deity to support multiple realms. Preferably. text
`strings are represented in the Unicode character set. in
`big-endian byte order. without a trailing null character. Each
`16-bit Unicode character may be stored in two octets. with
`its high-order 8 bits in the ?rst octet. The speci?cation refers
`only to values used in the authentication calculations. not the
`underlying protocol. For example. a protocol may use ASCII
`for user names. if that character set is adequate. The ASCII
`characters may be converted to Unicode before using them
`in authentication calculations. but the protocol need not
`transmit Unicode characters.
`Names-Nr. Ns. Nu—are converted to lowercase Uni
`code.
`Challenges-Cs. Cu-arc arbitrary strings of octets. not
`text. They may contain any bit patterns. including nulls.
`and are preferably. at least eight octets in length.
`
`45
`
`55
`
`65
`
`8
`Pass-phrases—Ps. Pu—are l6-octet quantities that con
`tain arbitrary bit patterns. including nulls. If the pass
`phrase is based on a textual phrase. the textual phrase
`is converted to a 16-octet quantity by the following
`process:
`Convert the text string to a sequence of characters in
`either the Unicode or ISO 8859-1 character sets. as
`appropriate for the realm
`Convert each character to its lowercase equivalent. or
`its uppercase equivalent. or leave it alone. as appro
`priate for the realm.
`Store the sequence of characters in an octet stream.
`with each Unicode character in two consecutive
`octets in big-cndian order. or each ISO 8859-1
`character in one octet.
`Take the MDS digest of the resulting string of octets.
`The result is the 128-bit value to use in the authen
`tication calculations.
`A realm speci?es which of the preceding options—
`character set. case conversion. and hash function-it uses
`for the text-to- l28-bit value transformation. Preferably. the
`defaults are Unicode. convert to lowercase. and MD5. The
`user-service protocol may be designed to convey the appro
`priate options for each realm from the service to the user. if
`other than the defaults are to be supported. to avoid requiring
`the (human) user to manually con?gure software.
`Referring to FIG. 2. the primary steps for a preferred
`embodiment of the present invention are shown.
`The authentication process begins when a user attempts to
`access a service 60.
`In response to the user’s access attempt. the service
`supplies a sequence of realms. with the service‘s name
`in each realm. to the user 62. A user may choose a realm
`in which he has an identity. For example. a CIS user
`may choose to be authenticated in the CIS realm while
`an AOL user may choose to be authenticated in the
`AOL realm. [foo@compuserve.com bar@aol.com may
`mean “Please identify yourself with a CIS user ID. If
`you don't have one. your AOL ID will do.”] Preferably.
`the service indicates its realm preferences in most
`preferred to least-preferred order. By specifying only
`one realm. the service requires identi?cation in that
`realm.
`The user chooses a realm. Nr. and gives it and his name
`in that realm. Nu. to the service 64. That. in turn.
`determines Ns. the service’s name in that realm. Note
`that a protocol may allow the service to include a null
`realm name. meaning “I'll accept you as an anonymous
`user if you wish.” The user may make this choice by
`supplying a null name; then the process stops here. and
`no authentication is performed.
`The service transits a random challenge. Cs 66. The
`challenges are random values that make each authen
`tication unique.
`The user sends a random challenge. Cu 68.
`The user calculates a response. Ru:
`
`The response is sent to the service 70. Only the real user
`may generate the correct response because it depends
`on the user’s pass-phrase. Pu. Generally. user’s pass
`phrase may not be determined from a captured
`response because it’s generated by a one-way func
`tion (although there is the risk of a dictionary attack
`if Pu is based on a poorly chosen pass-phrase.)
`The service calculates a response. Rs:
`
`8
`
`

`
`5,740,361
`
`9
`This response is not sent to the user. It may be seen by
`the user. but the user does not need it.
`The service sends a request to the authentication deity for
`the realm in question 72. The request contains the realm
`name, Nr (included so the same deity may serve more
`than one realm), the user’s name, Nu, the service's
`name, Ns, the user’s challenge. Cu, the service's
`challenge, Cs, the user’s response, Ru, the service's
`response, Rs.
`The deity uses Nr, Ns, and Nu to look up the user’s and
`service's pass-phrases.
`The deity uses the values in the request, plus the service’s
`pass-phrase. P5, to verify Rs. If it is incorrect. the deity
`returns a negative response as this request apparently
`did not come from a legitimate service 74.
`Having veri?ed the requesting service’s identity, the deity
`uses the values in the request. plus the user’s pass
`phrase. Pu. to verify Ru. If it is incorrect, the deity
`returns a failure response to the service as the user does
`not know the correct pass-phrase 74.
`Having veri?ed both the user’s and service’s identity, the
`deity creates a random, 128-bit session key. Kus. for
`use by the user and service. They may use it for session
`encryption. In addition. it may be used in the reauthen
`tication process described later.
`The deity generates two obscured copies of the session
`key:
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`10
`ally authenticate without talking to a deity. This technique is
`useful for protocols such as H'I'I‘Pwhich involve a sequence
`of connections that are independent

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