throbber
United States Patent
`[19]
`[11] Patent Number:
`6,119,230
`
`Carter
`[45] Date of Patent:
`Sep. 12, 2000
`
`U5006ll9230A
`
`[54] DISTRIBUTED DYNAMIC SECURITY
`CAPABILITIES
`
`Inventor: Stephen R. Carter, Spanish Fork, Utah
`[75]
`[73] Assignee: Novell, Inc., Provo, Utah
`
`[21] Appl, No.: 08/943,537
`.
`Flled.
`
`OCt. 1, 1997
`
`[22]
`
`Int. Cl.7 ...................................................... G06F 12/14
`[51]
`[52] US. Cl.
`.............................................................. 713/200
`[58] Field Of Search ..................................... 713/200, 201,
`713/202, 161; 709/229; 380/3, 229, 4, 232,
`25’ 30
`
`[56]
`
`4,558,176
`4599509
`5,196,840
`5,204,961
`5,263,165
`573157657
`5,349,642
`5,481,715
`5,604,490
`5,649,194
`5,818,936
`5,913,025
`
`.
`References C‘ted
`U~S- PATENT DOCUMENTS
`12/1985 Arnold et al.
`.............................. 380/4
`
`-- 235/382
`7/1986 SilVemlan et al-
`3/1993 Leith etal.
`.. 340/8253
`........
`
`
`4/1993 Barlow
`395/725
`
`11/1993 Janis ...........
`395/725
`
`5/1994 AEadi et a1:
`380/25
`9/1994 Kingdon .............. 380/25
`
`
`..
`...... 395/700
`1/1996 Hamilton et al.
`. 340/825.31
`2/1997 Blakley, III et al.
`
`.. 395/616
`7/1997 Miller et al.
`..... 380/25
`10/1998 Mashayekhi
`
`........................... 713/201
`6/1999 Higley et al.
`
`FOREIGN PATENT DOCUMENTS
`0 695 985 A1
`2/1996 European Pat. Off.
`.
`OTHER PUBLICATIONS
`
`Séirs, “The SSH Transport Layer Protocol”, Dr. Dobb’s
`Journal,(Oct. 1997), pp. 38—43.
`t' H11
`T
`b
`D't'btdO t' St
`ren we
`Ifigeagaélgl: pPISS?41:53. pera mg
`ys ems,
`a ’
`“Dover AFB employs Vigilant Networks with NDSTM”,
`Electronic Government;Special Novell®1ssue,pp. 12—13.
`
`P
`
`Dalton et al., Windows NT Server 4: Security, Troubleshoot-
`ing, and Optimization, New Riders Publishing (1996), pp.
`92_93 371_75
`
`Tanenbaum, Computer Networks, Third Edition, Prentice
`Hall, Inc. (1996), pp. 577—630.
`Grimes, Professional DCOM Programming, Wrox Press
`(1997), Ch, 7 pp, 319—389.
`Lampson et al., “Authentication in Distributed Systems:
`Theory and Practice”, ACM Transaction on Computer Sys-
`tems,vol. 10, No. 4 (Nov. 1992), pp. 265—310.
`“DCE web and Security Domains”, no later than May 16,
`1997~
`Steve Lewontin, “The DCE—Web: Securing the Enterprises
`Web” NOV. 1995.
`’
`“Secure Web-Architecture”, no later than May 16, 1997.
`“Secure Web Architecture—Scalability”, no later than May
`16 1997
`.
`i
`’
`“DCE Web Security”, no later than May 16, 1997.
`~
`2‘
`,
`~
`~
`:9
`Rich Salz, Re. [Q]DCE RPC Encr1ption , Jul. 21, 1995.
`
`Primary Examiner—Robert W. Beausoliel, Jr.
`Assistant Examiner—Pierre Eddy Elisca
`Afmeey) Agent) 0? Finn—Computer LaW++
`[57]
`ABSTRACT
`
`Methods and systems are provided for managing security
`credentials in a distributed computer system. Multiple secu-
`rity contexts may be defined for a given principal in the
`system without requiring the use of multiple accounts. A
`secure package is provided to allow the principal to roam.
`Methods are provided for identifying differences in the
`principal’s access rights in different contexts and for updat-
`ing the secure package as needed.
`
`Lampson et al., Abstract—“Authentication in distributed
`systems:theory and practice” , ACM Transaction on Com-
`puter Systems,vol. 10, No. 4 (Nov. 1992), pp. 265—310.
`Jurec et al., Abstract—“Exchange of patient records—proto-
`type implementation of a security attributes service in
`X.500”, Proceedings of the 2ACM Conference on Computer
`and Communications Security,pp. 30—38.
`Chaum, Abstract—“Security without identification:transac-
`tion systems to make big brother obsolete”, Communica-
`45 Claims, 3 Drawing Sheets
`tions of the ACMvol. 28, No. (Oct. 1985) pp. 1030—1044.
`
`7 400
`PROVIDE SECURE PACKAGE
`402
`IDENTIFY/AUTHENTICATE
`404
`SIGN
`406
`ENCRYPT
`408
`STORE
`410
`
` —, v
` LOGIN
`v412
`REQUEST ACCESS
`414
`REQUEST INFO ABOUT SYSTEM
`416
`415
`REQUEST FORWARDING
`422 v
`ENABLE CREDENTIAL CHECK
`424
`I
`ALLOW OR DENV REQUEST
`425
`__.i
`DETERMINE CONTEXTUAL
`428
`DIFFERENCES IN CREDENTIALS
`IDENTITY 2—,
`
`— 430
`
`MODIFY SECURE PACKAGE
`
`432
`434
`MODIFY SIGNATURE(S)
`438
` ADD/REMOVE ACCESS RIGHT(S)
`
`
`420
`
` NOTIFY
`
`REQUEST ACCESS TO RESOURCE
`
`ADD/REMOVE CREDENTIAL(S)
`
`
`VERIFY
`
`I
`
`INTEL EX. 1261.001
`
`INTEL Ex. 1261.001
`
`

`

`US. Patent
`
`Sep. 12,2000
`
`Sheet 1 0f3
`
`6,119,230
`
`W12”
`g
`g
`3
`
`h.
`
`‘4
`
`A‘
`
`£91
`
`[Ea
`
`r123
`E'
`E
`a 5
`HH — NETWORKS
`
`-_
`
`104
`
`102
`
`11Q
`116
`
`[C] Q
`
`:élEl
`
`[Eli]
`
`[C]
`E
`110, D
`|:|a
`D E 112 E
`
`106
`
` STORAGE
`
`MEDM|
`
`110
`
`11Q
`
`INTEL EX. 1261.002
`
`INTEL Ex. 1261.002
`
`

`

`US. Patent
`
`Sep. 12,2000
`
`Sheet 2 0f3
`
`6,119,230
`
`
`
`FIG. 2
`
`SECURE PACKAGE
`
`DIGITAL SIGNATURE
`
`PRINCIPAL IDENTIFICATION
`
`DIGITAL SIGNATURE
`
`DIGITAL SIGNATURE
`
`DIGITAL SIGNATURE
`
`DIGITAL SIGNATURE
`
`FIG. 3
`
`300
`
`302
`
`3834
`
`308
`
`310
`
`312
`
`314
`
`316
`
`INTEL EX. 1261.003
`
`INTEL Ex. 1261.003
`
`

`

`US. Patent
`
`Sep. 12,2000
`
`Sheet 3 0f3
`
`6,119,230
`
`
`PROVIDE SECURE PACKAGE
`402
`lDENTIFY/AUTHENTICATE
`404
`
`400
`
`
`
`
`
`
`ENCRYPT
`
`408
`
`406
`
`412
`
`
`
`
`
`
`
`__
`
`
`REQUEST ACCESS
`REQUEST INFO ABOUT SYSTEM
`
`REQUEST ACCESS TO RESOURCE
`
`REQUEST FORWARDING
`
`ENABLE CREDENTIAL CHECK
`
`ALLOW OR DENY REQUEST
`
`414
`416
`
`418
`
`422
`
`424
`
`428
`
`VERIFY
`
`IDENTITY
`
`
`
`DETERMINE CONTEXTUAL
`
`DIFFERENCES IN CREDENTIALS
`
`MODIFY SECURE PACKAGE
`
`ADD/REMOVE CREDENTIAL(S)
`
`
`
`
` 430
`
`
`
`
`432
`MODIFY SIGNATURE(S) .
`
`
`ADD/REMOVE ACCESS RIGHT(S)
`
`
`
`426
`
`
`
`434
`
`436
`
`FIG. 4
`
`INTEL EX. 1261.004
`
`INTEL Ex. 1261.004
`
`

`

`6,119,230
`
`1
`DISTRIBUTED DYNAMIC SECURITY
`CAPABILITIES
`
`FIELD OF THE INVENTION
`
`invention relates to security in computer
`The present
`systems, and more particularly to a system and method for
`issuing a secure package of credentials to a user or agent,
`providing different access capabilities at different system
`locations based in part on the secure package, and modifying
`the secure package to reflect local information about the
`access capabilities of the user or agent.
`TECHNICAL BACKGROUND OF THE
`INVENTION
`
`Various approaches have been proposed and/or imple-
`mented to support roaming users and roaming machines in
`distributed computer systems. One approach, which is
`implemented in Novell NetWare 4.1 and later versions and
`in Novell NDS software, allows users to gain access to
`multiple servers in a distributed directory tree without
`logging in and authenticating themselves to each server
`individually (NOVELL, NETWARE, and NDS are marks of
`Novell, Inc.). However, a separate account, and separate
`login and authentication processes, are still required before
`a user can login to a computer which is not part of the
`distributed directory tree, even if that computer is in network
`communication with a computer which is part of the tree.
`An other approach, which involves home domains and
`logon certificates, is described in European Patent Applica-
`tion EP 0 695 985 A1, having priority based on US.
`application Ser. No. 277,144 filed Jul. 18, 1994 (“Logon
`Certificates Applications”),
`incorporated herein by refer-
`ence. Logon certificates support disconnected operation in a
`distributed system. Each logon certificate is a secure pack-
`age holding credentials information sufficient to establish
`the identity and access rights of a principal (a user or a
`machine) in a domain other than the principal’s home
`domain. Access is enforced through means such as encryp-
`tion and digital signatures. Logon certificates can be carried
`by the principal in convenient forms such as on a portable
`machine or on a floppy disk.
`The relationship between a home domain and a distrib-
`uted directory tree is not clear from the Logon Certificates
`Applications. The use of logon certificates is presented in the
`Logon Certificates Applications as an alternative to repli-
`cating credentials. Although credentials may be replicated in
`a distributed directory tree, however, replication is not
`required. More generally, domains and distributed directory
`trees differ in the services they provide, the hardware and
`software they require or allow, and in characteristics such as
`scalability and fault-tolerance.
`However, a home domain and a distributed directory tree
`each define a context throughout which a given principal has
`identical access rights. Regardless of the location in the
`distributed directory tree at which the principal accesses the
`system, the principal has the same access rights. Similarly,
`a principal has the same access rights regardless of which
`location in the home domain is used to access the system.
`Indeed,
`if logon certificates are used,
`the principal will
`receive the same access rights regardless of whether the
`access attempt occurs inside the principal’s home domain or
`outside that domain.
`
`Uniformity of access rights simplifies the implementation
`of authentication methods, but
`in some situations more
`flexibility would be beneficial. For instance, a distributed
`system might contain both a home domain and a directory
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`2
`tree, with each defining a given principal’s access rights
`differently. It would be useful to provide the principal with
`a straightforward (from the principal’s point of view) way to
`logon and use machines in the domain, machines in the
`directory tree, or both. Supporting different access rights for
`a given principal would also reduce the need to rapidly
`propagate changes to maintain uniform rights,
`thereby
`reducing the burden on domain controllers and directory tree
`administrators. However, such advances would require a
`distributed system that functions properly when different
`parts of the system have different access rights for a given
`principal, without using separate accounts.
`Thus, it would be an advancement in the art to support
`multiple simultaneous access right contexts for a single
`principal in a distributed system.
`It would be an additional advancement to provide such a
`method and system which is a compatible extension of
`known distributed directory tree and logon certificate
`approaches.
`Such a method and system are disclosed and claimed
`herein.
`
`BRIEF SUMMARY OF THE INVENTION
`
`The present invention provides a method and system for
`managing security credentials in a distributed system where
`different locations in the system may contain different infor-
`mation about a principal’s access rights. In one embodiment,
`the system is assumed to have a credential checking facility
`to authenticate one or more principals. Aprincipal may be a
`human user. The principal may also be an agent such as a
`user’s avatar or a system maintenance process or an infor-
`mation gathering “spider”.
`A method of the invention starts by providing the prin-
`cipal with a secure package in a first directory context. The
`secure package is provided by storing its contents in a buffer.
`Suitable buffers include RAM, floppy disks, hard disks,
`portable computers, hard tokens, removable storage media,
`and combinations of these individual buffers. The secure
`
`package contains information identifying the principal and
`also contains zero or more security credentials of the prin-
`cipal. The package has been at least partially encrypted or
`digitally signed or otherwise secured to discourage unau-
`thorized disclosure or modification of the package contents.
`A “directory context” is a portion of the system throughout
`which the principal has identical access rights. A home
`domain is one of many possible examples of a directory
`context.
`
`In a second directory context, the system receives an
`access request from the principal. The request may seek
`information about the system, access to information or other
`resources within the system, or use of the system to forward
`a message. The credential checking facility checks the
`access request by accessing the credentials in the secure
`package and comparing them with the system’s internal
`security records. The system then allows or denies the access
`request according to the result of the credential check.
`The system also determines whether credential informa-
`tion about
`the principal which is found in the second
`directory context was not placed in the secure package in the
`first directory context. If differences exist, the secure pack-
`age may be modified to reflect the differences. Modification
`may involve digitally signing at least a portion of the secure
`package, such as principal identifying information and/or
`credentials in the secure package. Digital signatures,
`credentials, access rights, identifying information, and other
`information may be replaced, removed, or added. One
`
`INTEL EX. 1261.005
`
`INTEL Ex. 1261.005
`
`

`

`6,119,230
`
`3
`method requires further verification of the principal’s iden-
`tity before modifying the secure package, such as by using
`an identification means that was not used in the first direc-
`
`tory context when the secure package was previously pro-
`vided.
`
`A computer system according to the invention contains a
`first directory context including a first set of credentials of a
`principal and also including a providing means for providing
`the principal with a secure package containing at least part
`of the first set of credentials. The system also contains a
`second directory context including a second set of creden-
`tials of the principal and also including a modifying means
`for modifying the secure package to reflect differences
`between credentials in the second set and credentials which
`
`were placed in the secure package by the providing means
`of the first directory context.
`The directory contexts may be defined at least in part
`according to a hierarchy or a connected graph of clearance
`levels and classification levels. A directory context may
`include a home domain of the principal and/or locations that
`are connected within a distributed directory such as an NDS
`tree. A location in the first directory context may be con-
`nected by the distributed directory to a location in the second
`directory context. The first context may include a first
`computer while the second context
`includes a different,
`second computer; the two computers may be networked, or
`they may include standalone or mobile disconnectable
`machines. Alternatively, both contexts may be defined on the
`same computer at different times.
`Unlike other approaches, the invention allows multiple
`security contexts to be defined for a given principal in the
`system without requiring the use of multiple accounts, while
`still allowing the principal
`to roam. Other features and
`advantages of the present invention will become more fully
`apparent through the following description.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`To illustrate the manner in which the advantages and
`features of the invention are obtained, a more particular
`description of the invention will be given with reference to
`the attached drawings. These drawings only illustrate
`selected aspects of the invention and thus do not limit the
`invention’s scope. In the drawings:
`FIG. 1 is a diagram illustrating part of a computer system
`which is one of the many systems suitable for use with the
`present invention.
`FIG. 2 is a diagram further illustrating the computer
`system of FIG. 1.
`FIG. 3 is a block diagram illustrating a secure package of
`credentials according to the present invention.
`FIG. 4 is a flowchart illustrating methods of the present
`invention.
`
`DETAILED DESCRIPTION OF THE
`PREFERRED EMBODIMENTS
`
`The present invention relates to a method and system for
`managing security credentials in a distributed system. The
`invention may be used with local area networks, wide area
`networks, and/or the Internet. “Internet” as used herein
`includes variations such as a private Internet, a secure
`Internet, a value-added network, a virtual private network,
`an extranet, or an intranet. The computers connected by the
`network may be workstations, laptop computers, discon-
`nectable mobile computers, servers, mainframes, so-called
`“network computers”, personal digital assistants, or a com-
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`4
`bination thereof. The network may include one or more
`LANs, wide-area networks, Internet servers and clients,
`intranet servers and clients, peer-to-peer nodes, network
`operating servers and clients, or a combination thereof.
`A portion of one of the computer systems 100 suited for
`use with the present invention is shown in FIG. 1. In one
`embodiment,
`the system 100 includes Novell NetWare®
`network operating system software (NETWARE is a regis-
`tered trademark of Novell, Inc.) and Novell Directory Ser-
`vices software. In alternative embodiments, the system 100
`includes NetWare Connect Services, VINES, TCP/IP, IPX,
`Windows NT, Windows 95, LAN Manager, and/or LANtas-
`tic network operating system software and/or an implemen-
`tation of a distributed hierarchical partitioned object data-
`base according to the X500 protocol or another directory
`service protocol such as the Lightweight Directory Access
`Protocol (VINES is a trademark of Banyan Systems; NT,
`WINDOWS 95, and LAN MANAGER are trademarks of
`Microsoft Corporation; LANTASTIC is a trademark of
`Artisoft). The system 100 may include a local area network
`102 which is connectable to other networks 104, including
`other LANs or portions of the Internet or an intranet, through
`a gateway or similar mechanism.
`The system 100 includes several servers 106 that are
`connected by network signal
`lines 108 to one or more
`network clients 110. The servers 106 and network clients
`
`110 may be configured by those of skill in the art in a wide
`variety of ways to operate according to the present inven-
`tion. The servers 106 may be configured as Internet servers,
`as intranet servers, as general file and print servers, as
`directory service providers, as name servers, as software
`component servers, or as a combination thereof. The servers
`106 may be uniprocessor, multiprocessor, or clustered pro-
`cessor machines. The servers 106 and clients 110 each
`
`include an addressable storage medium such as random
`access memory and/or a non-volatile storage medium such
`as a magnetic or optical disk.
`Suitable network clients 110 include, without limitation,
`personal computers 112, laptops 114, workstations 116, and
`dumb terminals. The signal lines 108 may include twisted
`pair, coaxial, or optical
`fiber cables,
`telephone lines,
`satellites, microwave relays, modulated AC power lines,
`and/or other data transmission “wires” known to those of
`skill in the art. In addition to the network client computers
`110, a printer 118 and an array of disks or other persistent
`storage 120 are also attached to the system 100. A given
`computer may function both as a client 110 and as a server
`106;
`this may occur, for instance, on computers running
`Microsoft Windows NT software. Although particular indi-
`vidual and network computer systems and components are
`shown,
`those of skill in the art will appreciate that the
`present invention also works with a variety of other net-
`works and computers.
`The servers 106 and the network clients 110 are capable
`of using floppy drives, tape drives, optical drives or other
`means to read a storage medium 122. A suitable storage
`medium 122 includes a magnetic, optical, or other
`computer-readable storage device having a specific physical
`configuration. Suitable storage devices include floppy disks,
`hard disks,
`tape, CD-ROMs, PROMs,
`random access
`memory, and other computer system storage devices. The
`physical configuration represents data and instructions
`which cause the computer system to operate in a specific and
`predefined manner as described herein. Thus, the medium
`122 tangibly embodies a program, functions, and/or instruc-
`tions that are executable by the servers 106 and/or network
`client computers 110 to perform credential management
`
`INTEL EX. 1261.006
`
`INTEL Ex. 1261.006
`
`

`

`6,119,230
`
`5
`substantially as described herein. Suitable software for
`implementing the invention is readily provided by those of
`skill
`in the art using the teachings presented here and
`programming languages such as Java, Pascal, C++, C,
`assembly, firmware, microcode, and/or other languages.
`FIG. 2 further illustrates the system 100. The system 100
`includes a home domain 200 of a principal, a distributed
`directory tree 202, a gateway 204 connecting the home
`domain 200 with the directory tree 202, and a standalone
`computer 206. Any one or more of these components may be
`omitted in other systems configured according to the inven-
`tion. A system need only contain one or more computers
`which hold information and/or other resources to which
`access is restricted. The computers may be standalone
`computers, networked computers, mobile computers which
`are connectable to a network, or a combination of such
`computers. The principal may be a human user, a software
`agent, or a hardware agent which seeks access to the system
`or system resources.
`The home domain 200 includes a domain controller 208
`
`and other computers 210. The domain 200 may be config-
`ured using software such as Microsoft Windows NT soft-
`ware (marks of Microsoft Corporation) and/or software and
`hardware described in the Logon Certificates Applications,
`incorporated herein by reference.
`The distributed directory tree 202 includes a master server
`212 and other computers 214. The directory tree may be
`configured using software such as Novell Directory Services
`and Novell NetWare software (marks of Novell, Inc.) and/or
`other database, object database, hierarchical database, hier-
`archical object database, relational database, transactional
`system, X.500, networking, or directory services software.
`In a conventionally configured system, the home domain
`200 and the directory tree 202 would each define a context
`within which the principal has uniform access rights. When
`the system 100 is configured according to the present
`invention, each of the contexts 200, 202 may still be defined.
`However, with the invention other context definitions are
`also possible.
`The invention supports flexible definition of one or more
`contexts for a given principal in a distributed system without
`requiring multiple accounts. A “directory context” is a
`portion of a system throughout which a given principal has
`identical access rights. Access to the system may be
`attempted at different locations in a single directory context,
`or at different locations in different directory contexts. Two
`attempted accesses lie within the same directory context if
`they are made by the same principal and if the principal’s
`credentials are the same for each attempted access. A given
`computer may be part of more than one directory context,
`and a given directory context may include one or more
`computers.
`For instance, after the system 100 is configured according
`to the invention, any of the following directory context
`definitions could be made:
`
`EXAMPLE 1
`
`Context A: home domain 200
`
`Context B: directory tree 202
`Context C: standalone machine 206
`
`EXAMPLE 2
`
`Context A: domain controller 210, master server 212, and
`gateway 204
`Context B: machines 210, 214
`
`6
`EXAMPLE 3
`
`Context A: home domain 200 and directory tree 202
`Context B: standalone machine 206
`Those of skill in the art will appreciate that numerous
`other directory context definitions are also possible. For
`instance, contexts could be defined according to rings,
`levels,
`layers, zones, or other paradigms. Moreover,
`the
`directory context definition may change over time, without
`direct administrator intervention, because the present inven-
`tion allows modification of the secure package to reflect
`differences in access rights at different
`locations in the
`system.
`FIG. 3 illustrates one embodiment of a secure package
`300 according to the present invention. The secure package
`300 includes a digital signature 302, created using means
`described in the Logon Certificates Applications or other
`means familiar to those of skill
`in the art. The digital
`signature 302 may apply to part or all of the secure package
`300. In particular, the secure package 300 may contain one
`or more credentials to which the digital signature 302 does
`not apply. The digital signature 302 discourages tampering
`with the contents of the secure package 300 by making it
`possible to detect unauthorized changes to those contents.
`Multiple digital signatures may also be used.
`In some embodiments, secure packages according to the
`invention are encrypted using symmetric or asymmetric
`encryption algorithms such as those described in the Logon
`Certificates Applications or other encryption means familiar
`to those of skill in the art. In some embodiments, the digital
`signature 302 for the overall secure package is omitted, and
`security is provided instead through encryption and/or digi-
`tal signatures on one or more portions of the secure package.
`The secure package 300 also includes a principal identi-
`fication 304 which identifies the principal whose credentials
`will be managed using the secure package 300. A given user
`or agent may have more than one principal identification
`304, and a given principal identification 304 may identify
`more than one user or agent. The principal identification 304
`is not
`the equivalent of an account
`identification in a
`conventional system. A conventional account provides only
`one context, but the invention allows users to have different
`access rights associated with a single principal identification
`304, depending on the current directory context of the secure
`package 300.
`The principal identification 304 may be signed by a digital
`signature 306, may be signed by multiple digital signatures,
`or may be unsigned. The principal identification 304 may
`also be encrypted, or it may be both signed and encrypted.
`Each secure package includes zero or more security
`credentials for the principal. The illustrated secure package
`300 includes a first credential 308 signed by a digital
`signature 310, as well as a second credential 312 which is
`signed by two digital signatures 314 and 316. In alternative
`embodiments, each credential in a secure package may be
`signed by zero or more digital signatures, may be encrypted,
`or may be both signed and encrypted.
`Each credential 308, 312 includes a description of the
`principal’s access rights. Access right descriptions may
`include tokens, keys, group identifiers, access control lists,
`permissions, certificates, and other descriptions known to
`those of skill in the art. The access rights granted or denied
`or constrained may concern operations such as reading,
`writing, deleting, renaming, modifying security parameters,
`and other operations on computer systems and their
`resources.
`
`The validity of a credential may be confirmed or denied
`during an authentication process. The system 100 includes a
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`INTEL EX. 1261.007
`
`INTEL Ex. 1261.007
`
`

`

`6,119,230
`
`7
`credential checking facility to authenticate principals by
`checking the validity of the credentials they present. Authen-
`tication may involve decrypting part or all of the secure
`package 300, recalculating a digital signature on part or all
`of the secure package 300 and comparing it to the corre-
`sponding digital signature 302, 306, 310, 314, 316 and so
`forth presented in the package 300, requiring further iden-
`tification from the principal, and/or taking other steps to
`confirm the validity of the credentials and/or the right of the
`principal to those credentials. Many suitable authentication
`methods and mechanisms are known to those of skill in the
`art.
`
`FIG. 4 illustrates a method of the present invention for
`managing credentials in a system such as the system 100
`using secure packages such as the secure package 300.
`During a providing step 400, the system 100 provides the
`principal with the secure package 300. For purposes of
`discussion, assume the secure package 300 contains at least
`one credential 308. In other situations the system 100 may
`provide a secure package 300 containing zero credentials,
`thereby granting no access rights or granting only minimal
`default rights, according to the system’s configuration.
`Before providing the secure package 300, the system 100
`typically performs an identification/authentication step 402
`to ensure the identity of the principal and/or verify the
`principal’s claim to the credentials. Conventional identifi-
`cation methods and mechanisms may be used, such as those
`involving passwords, magnetic cards, retinal scans, physical
`or digital keys, and the like. Conventional authentication
`methods and mechanisms may also be used.
`During an optional signing step 404, the secure package
`300 or a portion thereof, such as the principal identification
`304 and/or the credential 308, may be digitally signed. Many
`suitable digital signature methods are available to those of
`skill
`in the art,
`including those discussed in the Logon
`Certificates Applications incorporated herein.
`During an optional encrypting step 406, the secure pack-
`age 300 or a portion thereof, such as the principal identifi-
`cation 304 and/or the credential 308, may be digitally
`signed. Many suitable encryption methods are available to
`those of skill in the art, including those discussed in the
`Logon Certificates Applications incorporated herein. Differ-
`ent portions of the secure package 300 may be encrypted
`using different encryption methods. For instance, a fast
`symmetric algorithm could be used in conjunction with a
`slower but more secure asymmetric algorithm. Likewise,
`different portions of the secure package 300 may be
`encrypted using different key lengths. The signing step 404
`may precede or follow the encrypting step 406.
`More generally, the steps illustrated and discussed herein
`may be performed in various orders, except in those cases in
`which the results of one step are required as input to another
`step. Likewise, steps may be omitted unless called for in the
`claims, regardless of whether they are expressly described as
`optional in this specification. Steps may also be repeated, as
`when a credential is signed, encrypted, and signed again.
`During a storing step 408, the secure package contents are
`stored in a suitable manner to support roaming by the
`principal or its authorized substitutes. For instance,
`the
`secure package 300 may be stored in a buffer on a portable
`computer such as the laptop 114. The buffer may be volatile,
`such as a section of random access memory. Or the buffer
`may be persistent, such as storage on a hard disk or a floppy
`disk or a removable storage medium such as a tape or a Zip
`disk (ZIP is a mark of Iomega Corporation). The buffer may
`also be stored in a hard token such as an iPower PC card
`
`(IPOWER is a mark of National Semiconductor) or a
`specific network address or name.
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`8
`Once the principal receives the secure package 300, the
`principal (or its authorized substitutes) can use the package
`300 to facilitate authentication at different locations in the
`
`system 100 and to manage the access rights and credentials
`associated with those locations, without direct intervention
`by a system administrator.
`The principal may login to the system 100 during an
`optional step 410, but access requests may also be made
`during a step 412 without logging in. The principal may
`already be logged in, or the principal may be permitted to
`skip login if the principal indicates it has a secure package
`300 containing at least the information that would be gained
`by the login step 410.
`Requests made during the step 412 may seek different
`types of access. During a step 414, the principal may request
`information about use of the system 100, such as the name
`and email address of an administrator, the clearance level
`required at this location by the system 100, or an address for
`connection to the system 100 (IP address, port number,
`socket number, direct dial modem number, et cetera).
`During a step 416, the principal may request access to a
`resource on the system 100, such as file contents, object
`attribute values, or a list of current users. A request to
`execute a program,
`task,
`thread, or other computerized
`process is also an access request, since the execution
`requires processor time, memory, and possibly other system
`resources. In particular, during a step 418, the principal may
`request execution of processes which will forward a file,
`packet, message, or other data to another location in the
`system 100 or to a destination outside the system 100.
`An access monitoring agent or a system administrator
`may be notified about the access request during an optional
`step 420. This may be done to detect unauthorized access
`attempts, to log access requests for possible later inspection,
`or merely to track system usage for accounting purposes.
`During an enabling step 422,
`the credential checking
`facility of the system 100 is enabled to check the access
`request by accessing the credentials in the secure package
`300. This may involve decrypting part of all of the secure
`package 300, recalculating one or more digital signatures
`based on part o

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