CA2230304A1 - Method of and apparatus for providing secure distributed directory services and public key infrastructure - Google Patents
Method of and apparatus for providing secure distributed directory services and public key infrastructure Download PDFInfo
- Publication number
- CA2230304A1 CA2230304A1 CA002230304A CA2230304A CA2230304A1 CA 2230304 A1 CA2230304 A1 CA 2230304A1 CA 002230304 A CA002230304 A CA 002230304A CA 2230304 A CA2230304 A CA 2230304A CA 2230304 A1 CA2230304 A1 CA 2230304A1
- Authority
- CA
- Canada
- Prior art keywords
- client
- directory
- access control
- computer
- request
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
-
- 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/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
- H04L63/0442—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
-
- 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/0823—Network architectures or network communication protocols for network security for authentication of entities using certificates
-
- 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/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/101—Access control lists [ACL]
-
- 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/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/102—Entity profiles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2211/00—Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
- G06F2211/007—Encryption, En-/decode, En-/decipher, En-/decypher, Scramble, (De-)compress
- G06F2211/008—Public Key, Asymmetric Key, Asymmetric Encryption
Abstract
In an exemplary embodiment, the server receives the client's Distinguishing Name (DN), and then searches its directory for identification information and access control rights for this specific context. The server can act as a stand-alone server or in conjunction with other directory services on the network. A client must have a verifiable identity in order for secure communications to continue. A
client's identity can be said to be fully verifiable if the server has access to the directory service that maintains that client's DN. The client receives the server's DN, and the client can then determine whether or not to accept a response to a request for information (i.e., trust the response). The client determines the identity of the server using some directory service (the client can act stand-alone or as a client of other directory servers). A server is fully verifiable if the client can identify the directory service that maintains the server's DN. In both cases, determining identity is predicated on being able to identify a directory service. Since servers and clients are issued identities (DN's) from some directory service before they participate in secure communications, they are able to at least identify their "home"
directory service. Their "home" directory service communicates with other directory services, each "serving" their lists of electronic identities to each other using secure directory services. In this manner, a client or server can verify the peer identity of a secure communicator by relying on the trusted "home" directory service.
Public Key certificates, certificate revocation lists, pending certificate requests, Certification Authority policy, and other information is stored in the directory server. Access to the directory server is through secure communications; this maintains the integrity and privacy of the information.
client's identity can be said to be fully verifiable if the server has access to the directory service that maintains that client's DN. The client receives the server's DN, and the client can then determine whether or not to accept a response to a request for information (i.e., trust the response). The client determines the identity of the server using some directory service (the client can act stand-alone or as a client of other directory servers). A server is fully verifiable if the client can identify the directory service that maintains the server's DN. In both cases, determining identity is predicated on being able to identify a directory service. Since servers and clients are issued identities (DN's) from some directory service before they participate in secure communications, they are able to at least identify their "home"
directory service. Their "home" directory service communicates with other directory services, each "serving" their lists of electronic identities to each other using secure directory services. In this manner, a client or server can verify the peer identity of a secure communicator by relying on the trusted "home" directory service.
Public Key certificates, certificate revocation lists, pending certificate requests, Certification Authority policy, and other information is stored in the directory server. Access to the directory server is through secure communications; this maintains the integrity and privacy of the information.
Description
THOD OF AND APPARATUS FOR PROVIDING
~3ECURE DISTRIBUTED DIRECTORY SERVICES
AND PUBLIC EEY INFRASTRUCTURE
FIELD OF THE INVENTION
The invention generally relates to the field of digital data processing cu.. ~.. ic~hon.~ systems in which a user at a workstation requests information or services from a server computer. More 0 particularly, the invention relates to a method of and apparatus for providing a public key infrastructure via secure directory services within a computer system and/or a com~u~er netwo~k.
BAC~GROUND AND SUMMARY OF THE INVENTION
With the widespread and ever mushrooming use of network-based communications, a business world where electronic-based business transactions are the rule rather than the exception has been a longstanding vision shared by many. A major stumbling block to 20 widespread electronic business transactions is the need to effectively deploy a secure co...-~ .-ic~h-~n.~ system providing privacy, message integrity, non-repudiation and authenticity.
Cryptographic systems have been widely used to ensure the privacy and authenticity of messages co~-ulicated over a wide 25 variety of different networks. Many conventional cryptosystems are not satisfactory for widespread business world deployment due to well recognized problems rel~hng to, for ~mple, key distribution.
Public key cryptographic systems have been advantageously utilized to solve existing cryptographic system problems including key 0157446.01 CA 02230304 l998-02-23 distribution problem.s. Such public key cryptographic systems use a public key/private key pair and decouple the en~;ly~ g and de-;ly~Li~g processes such that the encrypting process key is separate and distinct from the dewy~ g process key. In such system~, given 5 the knowledge of the encryption key and an encryption key that is large enough, it is not viable to co...~ule the decryption key and thus the encryption key for users may be distributed or published. Anyone desiring to co.. u licate with a user at a particular destination, encrypts a me.sfi~ge under the destination user's public key. Only the 0 destination user who retains the secret de~y~Lillg key of the public key/~riv~te key pair is able to decipher the transmitted messages.
In public key cryptographic systems, it is known that a trusted authority may create a digital message which contains a rl~im~nt's public key and the name of the rl~im~nt. A representative of the 5 trusted authority digitally signs the digital message with the authority's own digital signature. Such a digital message, referred to as a digital certificate is tr~n.smitted along with the use of the rl~imz~nt's own digital signature. See U.S. Patent No. 4,405,829 ~ issued to Rivest et al., which discloses exempl~ry methodology for a 20 practical public key cryptographic ~y~em implementation. Also see U.S. Patent No. 5,214,702, which describes a public key digital signature cryptographic system having enhanced digital signature certification.
Existing public key cryptography methodologies envision that 25 electronic business transactions employ a global standard for tying the public key use to a high level global authority, using what is referred to as the X.500 standard. Not all users, however, participate in this global standard, thereby limiting the standard's practical utility.
01574~.01 . CA 02230304 l998-02-23 The present methodology does not rely on a global standard. In accordance with an e~emrl ~ry embodiment of the present invention, ~ y~tographic keys may be resident in a user's own directory services, while permitting users to securely co~ ic~te with each other as a 5 result of using the distributed directory services described herein. The present invention ~ e.s secure distributed directory services to maintain a public key infrastructure, and does not operate in the conventional global, top-down hierarchy using a "meta-certifier", who must certify all users in order to provide the desired level of security.
o In accordance with an exemrl~ry embo~iment, users may receive digital cer~ficates from various other users and still securely co~ icate with each other with sufficient security such that electronic business transactions may be clllmin~ted. The present invention incorporates the use of policy statements which efficiently 15 permit trust levels to be applied to a user's service request based upon an analysis by the recipient of the message sender's identity via the distributed directory services system. Thus, the fact that a particular message sender is identified in a given distributed directory service using ~e~sign~ted policy statements, permits the message recipient to 20 determine the degree of trust to be given to a message sender.
The exempl~ry embodiment implements the concept that by being able to uniquely identify a client in a specific co~ullications context, a server can assign the client with specific access rights for that context. The access rights granted to a client depend on the 25 client's identity in that conte~t.
Given that access rights are based on identity, the feature of being able to uniquely identify a client becomes significant. The server requires a secure and inf~llihle method of identif ying the client.
01~4~.01 The inf~llihle method is based on using secure directory services of the nature described in the present e~Pmpl~ry embodiment. By securely receiving identity verification services from a directory service, the server can then determine the access rights to grant to a client. This 5 allows a server to deliver client-sensitive information, without prior knowledge ofthe client.
In accordance with an e~emrl~ry embodiment of the present invention, a client initiates a secure connection with a server providing directory services. The server, taking advantage of the 0 authentication feature in the secure co~ unications methodology described herein, uniquely identifies the client and thus obtains the client's distinguished n~me (DN). The server uses the client's DN to determine what access rights to grant the client, either by looking up the client's DN in its own directory or by recursively acting as a client 5 to another directory server that contains definitive information about that particular DN. The directory server then returns the information to the client that is specific to that client and is able to do so by taking advantage of the authentication feature provided by the secure cu~ ulications methodology used herein.
In accordance with another aspect of the present invention, a client initiates a secure co~ll-lic~t~on with a server. The methodology desclibed herein is also applicable to the instance where the client and server are on the same m~hines so that the network described herein may be internal to the computer in this special case.
25 The server is able to uniquely identify the client based on the authentication feature of the secure co~ ications server as a directory service to verify the identity of the client's DN and for access control permissions to grant to the client. This cwl~-nu-~ication with o1 57446.01 CA 02230304 l998-02-23 the directory service must be over a secure commlmic~ions ch~nnel because the inform~nn passed on to the client/server coL~ ication depends on the result and velific~t~on and access rights returned by the directory service. The directory service responds to the server with 5 verification information and access control information, particular to that client and the server is able to determine what information should be sent to the client. The server then returns either none, some or all the inform~t~on requested by the client.
In an illu~l~ aLive embodiment, the identities of the parties 0 involved determine the access rights for a directory service's Co..~ ications context. All requests for information made by the client, receive customized directory service responses. The peer identities are determined through the use of secure communications.
In an exempl~ry embodiment, the server receives the client's Distinglli.shing N~rne (DN), and then searches its directory for identification information and access control rights for this specific context. The server can act as a stand-alone server or in conjunction with other directory services on the network. A client must have a verifiable identity in order for secure commllnic~t~ons to continue. A
client's identity can be said to be fully verifiable if the server has access to the directory service that maintains that client's DN.
The client receives the server's DN, and the client can then determine whether or not to accept a response to a request for information (i.e., trust the response). The client determines the identity of the server using some directory service (the client can act stand-alone or as a client of other directory servers). A server is fully verifiable if the client can identify the directory service that maintains the server's DN.
01574~.01 In both cases, determining identity is predicated on being able to identify a directory service. Since servers and clients are issued identities (DN's) from some directory service before they participate in secure communications, they are able to at least identify their "home"
5 directory service. Their "home" directory service co~ icates with other directory services, each "serving" their lists of electronic identities to each other using secure directory services. In this manner, a client or server can verify the peer identity of a secure communicator by relying on the trusted "home" directory service.
0 The present exempl~ry implementation of the invention can be used to implement a Public Key Infrastructure in the following m~nner. Public Key cer~fir~t~.s, certificate revocation lists, pending certificate requests, Cer1~fic~tion Authority policy, and other information is stored in the directory server. Access to the directory server is through secure co.. ~LLLLcations; this maintains the integrity and privacy of the information. A-lmini~trators acting in the capacity of the Certification Authority are granted full access to the repository, by issuing them the "A~mini.~trator's DN", and can add new certificates, modify certificate revocation lists, etc. Others would have 20 less access, to the limit that unknown parties may only be allowed to submit certificate requests or download public cerlificates (and revocation lists). Additionally, cerl~ficates can be used as vectors in directory searches; the client alle~ ling the directory search has its access limited by its client DN, and the client's DN may not contain a 25 name at all, but rather a hash of the client's policy. In this manner, certificates can be issued that contain minim~l information; in fact, they only need to contain a llnique identifier that can be used as a 01 57446.01 CA 02230304 l998-02-23 vector in the vector space (this would be the entire namespace that is visible to that particular client).
BRIEF DESCRIPTION OF l'HE DRAWINGS
These as well as other features of thi.c invention will be better appreciated by reading the following description of the ~Ul ere~l ed embodiment of the present invention, taken into conjunction with the accompanying drawings of which:
FIGURE 1 is a block diagram of an exempl Ary collll,lu,lications system within which the present invention may be utilized;
FIGURE 2 is a data flow diagram showing illu~llaLive data co~ullicated between a directory client and a server;
FIGURE 3 is a data flow diagram e~emplifying how a client may be identified in a secure cu~u~-cations protocol;
FIGURE 4 is an ~mple of a digital cerlificate which may be used in conjunction with FIGURE 3;
FIGURE 5 is a flowchart of the general sequence of operations performed in accordance with an e~empl~ry embodiment;
FIGURES 6A and 6B are a flowchart delineating an exempl~ry sequence of operations involved in the identification verification process;
01574~.01 CA 02230304 l998-02-23 FIGURE 7 is an e~mpl~ry verification descriptor object/data structure;
FIGURE 8 is an e~empl~Ty context descriptor object/data 5 structure;
FIGURE 9 is an e~Pmpl~ry data structure/object utilized in conjunction with FIGURE 6A, block 80, verification analysis;
10FIGURE 10 is an e~empl~ry object/data structure used in performing verific~1~Qn analysis of FIGURE 6A, block 86;
FIGURE 11 is an e~empl~ry object used in pelro~ illg the verification analysis of FIGURE 6A, block 90;
FIGURE 12 is an exempl~ry object/data structure used for retrieving an access control list rule;
FIGURE 13 is an access list control rule object/data structure.
EMBODIMENT OF THE INVENTION
Figure 1 shows in block diagram form, an ~empl~ry co~ l i llg system within which the present invention may be utilized as part of 25 an electronic commercelco~u~ications network. It should be recognized that, while the present methodology may be utilized in such a coll~ u~ications network envirnnment, the invention may likewise be used in conjunction with a wide range of data proce~.cing system~, including one or more laptop co~ uters, stand-alone, 01574~.01 PC-type computers, minicomputers, and any other computer system environment where data security is a ~i~nific~nt concern and practically implementable.
Before describing an exempl~ry cu~ullic~t~snc system, which 5 may be used in conjunction with the present invention, te~ ology utilized herein is first described. A "client process" or progr~m runs on a computer attached to a network. The client process is distinguished by the fact that it makes requests for information or services. The client process may be referred to herein as a client.
0 A "server process" also runs on a co~ uler attached to a network. The server process is disting~ushed by the fact that it fulfills requests for information or services. The server process may be referred to herein as a server. It should be recognized that a client and a server may actually run on the s~me computer and that a server may be a client to another server.
As used herein, "secure cu..~ ications" typically refers to any data transport me~h~ni.~m, which preferably provides, but is not limited to, privacy, message integrity, non-repudiation, and authenticity.
2û A "Distinguished Name" (DN) uniquely identifies an entity participating in a digital conversation preferably enabled via secure co~, . ,-ications.
A "communications context" is an instance where a client is requesting information from some server, and the request for 25 information can be distinguished by one or more of the following:
client DN, server DN, information requested, information available, and access controls on that information.
0157446.01 Turning back to Figure 1, this figure shows an e~mpl~ry co~ u~ic~on.s nelwo.kincludingmultiple client cu~uLillg devices, and combin~ion client/server cul-l,uuLiug services interconnected via local networks, and through an Internet. The local area networks 5 (LANs) shown in Figure 1, i.e., LAN 1 and LAN 13 are depicted for illustration purposes only. These networks are intended to be representative of any of the many network designs, such as Ethernet, token ring, or other type of networks having attached clients and servers which are likewise intended to be subsumed by the Figure 1 û architecture. By way of e~mple only, LAN 1 may be an Ethernet 802.3 10 base T network. A variety of protocols run on LAN 1, including TCP/IP and NETBIOS. Although numerous protocols may be rllnning on LAN 1, TCP/IP is preferably utilized, which is the prûtocol that runs on the Internet.
As shown in Figure 1, LAN 1 includes a PC-type computer 2 operating solely as a client, which may, for example, be a Windows 95-based wolk~lation. LAN 1 additionally includes a workstation 3 which may, for example, be an IBM RS 6000, operating as both a client and a server. The IBM RS 6000 typically runs the AIX
2û operating system. Client/server 3 may be rlmning as a client in the context of the methodology described herein and/or as a server having its own X.~00 directorv space.
LAN 1 also includes a minicu...~uter server 4, which may be any commercially available minico~ u~er. Minicomputer server 4 may, 25 for ex~mple, be dedicated to providing digital certificates or directory services. Minicomputer server 4 may be attached to another network (not shown). As suggested by inclusion of minicomputer server 4, servers are not limited to workstation type devices.
0157446.01 LAN 1 may, for e~m~le, also include a graphics-based SGI
client/server 6, which may be one of the workstations manufactured by Silicon Graphics Corporation. Client/server 6 may perform computer graphics and/or CAD operations. Workstation client 8 may, for 5 ~ mrle, be an IBM PC-based work station and is representative of the numerous additional available workstations which may, if desired, be coupled to LAN 1.
The secure co~ ications with directory services of the present invention occur not only on the ex~mrl~ry LAN 1, but also on 0 LAN 13. LAN 13 also runs protocols including TCP/IP for Internet communication.
LANs 1 and 13 may, for example, co~ullicate via the Internet 22, via routers 16 and 18. Routers 16 and 18 are conventional routing computers for Internet communications, having sufficient memory 15 capacity to perform necessary routing functions and keep track of the devices with which they are associated on the Internet. A router provides a quick connection between two devices on the Internet. A
router 16,18 may serve more than one LAN. The routers 16 and 18 may, for example, be routers commercially available from Cisco 20 Corporation.
Various other clients such as Smart Card Reader 20 and laptop client 24 may be attached to, and co~u~icate with, any of the other depicted devices through the Internet via phone lines 23,25. Smart Card Reader 20 may, for example, be a Visa card reader. With respect 25 to Smart Card Reader 20, although the concept of a "client" described thus far has been applied to a progr~m requesting information or services, a client may also be h;3ldwale or ~ y embodied in, for e~mple, a Smart Card Reader requesting inform~nn or services.
01 57446.01 CA 02230304 l998-02-23 LAN 13 includes a clientlserver 12, which may, for e~rnple, be a SUN Microsystems SP~RC, which is a RISC-based workstation.
LAN 13 also includes a client w~ alion 10 which may be a Mac II, manufactured by Apple Corporation, and a client/server 14, which 5 may be a DEC workstation. Wolk~l~Lions 10, 12 and 14 are exemplary wolk~lalions which may be coupled to a LAN each of which may be rllnnin~ different operating systems.
Although the LANs 1 and 13 are coupled together via the Internet 22, the method and apparatus may be advantageously o utilized without Internet connections. Thus, for e~mple, an intraoffice network may distribute digital certificates and secure information in accordance with the present invention. It should be understood that the present invention may be employed with any subset of the structure shown in Figure 1.
Figure 2 is a data flow diagram showing illustrative data communicated between directory client 40 and server 42, in accordance with an e~empl~ry embodiment of the present invention.
The directory client 40 may be, for e~mple, any of the enumerated clients previously described above in conjllnc~nn with Figure 1.
20 Similarly, server 42 may be, for e~mple, any of the servers identified above in Figure 1. The directory server 44, the secure communications protocol component 46, the directory access component 48, and the internal directory database 50 are resident in server co,-~ul i-~g device 42. As set forth above, directory client 40 requests information or 25 services from a server 42. Client 40 is identified as a directory client and is therefore seeking directory information. The directory itself may be distributed and reside virtually anywhere in the Figure 1 network. The directory stores information regarding individual users 0157~.01 and corporate entities such as, for example, may be contained in a white page directory. For e~mple, the directory may include client data including a Distinguished Name or another unique client identifier. In addition to the client identifier, a directory may store 5 public key information for identifying the public key of the party to which it is desired to securely co~ ic~te. Directory Server 44 within server 42 operates in accordance with a preestablished directory protocol to serve directory information to directory clients. If the directory server 42, by ~cces~ing its associated internal data base o 50, can adequately respond to the client's directory related query, server 42 appropriately responds. If not, the question may be responded to by server 44 by returning a referral to directory client 40 to identify the location of a server which can respond. Alternatively, directory server 44 may be chained to other directory servers and may 5 attempt to find the answer to the inquiry, rather than sending a referral to directory client 40. In this context, the directory server 44 operates as a client to another directory server.
The secure co-..-.~--.-ic~t~ons protocol component 46 ensures that the directory client 40 co~ l....ic~te.s with directory server 44 using a 20 secure communications protocol. The secure co~ ications protocol preferably provides privacy, authentication, non-repudiation, and integrity to the co~ ..ic~;ons between client 40 and server 42. In conventional systems, no response is provided when a client is not entitled to access a server. In accordance with the present invention, a 25 response may be obtained from a directory server which indicates whether the client 40 has enough privilege to get the requested information as will be described further below.
0157446.01 CA 02230304 l998-02-23 The directory access component 48 of server 42 permits co~ication with the server's internal database 50. The server 42 - determines via the direct access component 48, what type of access the client 40 is entitled to have.
In operation, in accordance with step 2a, server 42 receives the client identity from the directory client 40 using the underlying secure co~ cationsprotocol. Becausethe cu~ ications protocol provides authenticity assurance, the client is securely identified so that the server receives a known identity which can later be verified.
o Figures 3 and 4 show an e~ample of how a client may be identified using a secure co~ ul~cations protocol. As exemplified in Figure 3, client 60 initiates cu~ -..lication with server 62 by opening up a network connection to the server. The precise matter of initiation will depend on the nature of the network. Server 62 responds to the 5 connection and r~m~nds that client 60 identify itself. Client 60 then sends its identity for this co--.ll-uL ication session in the form of a digital certificate to server 62. By way of example only, the secure co---~ icAt~ons protocol utilized may be the commercially available SSL protocol, which in accordance with the present invention is 20 advantageously applied to directory services to provide a secure directory services system.
Figure 4 is an e~An~ple of a digital cerl~ificate 64 which may be used to identify the client as described in conjunction with Figure 3 above. The digital certificate may be, but is not required to be, 25 structured as recommended in the X.509 standard. The certificate may be custom designed to include numerous different and/or additional fields as desired. The certificate may be written, for example, in ASN.l syntax. The digital cer1;ificate 64 includes a 01574~.01 CA 02230304 l998-02-23 "certificate" field which is a digitally signed sequence, that includes a hash of the data identified below, which is then encrypted with the ~i~ning party's private key. Within the information that is digitally signed is a version number, a serial number w_ich uniquely identifies 5 the cerl~icate, and the .sign~ re of the .si~ning party in accordance with an identified algorithm such as RS~ Additionally included within the signed certificate information is an identification of the certificate issuer, identifying the name of the party that signed the digital certificate. The certificate includes a validity field which 0 specifies how long the certificate is valid. The subject field specifies the name of the party who holds the certificate, and the public key information field specifies the public key of the subject. The fields referred to above are expanded in Figure 4 to show their constituent construction in more detail. Figure 4 t_us shows an exemplary data structure of a digital certificate which may be used in conjunction with the present invention.
Turning to back to Figure 2, in accordance with step 2b, the server 42 checks if the client identity is recognized by the internal directory data base. Thus, if directory client 40 transmits client 20 identity information in the form of a digital certificate, such as that shown in Figure 4, server 42 checks the digital certificate to confirm recognition from its internal data base 60. The server 42 initially checks the digital certificate to confirm that the signature of the issuer matches the signer's signature. Thus, if the internal directory data 25 base ~0 has no information regarding the certificate's signer, the client will not be identifiable. Under such circumstances, the server 42 may act as a client to retrieve the required signer's public key information from another server to complete the identification. Details of this 01574~.01 CA 02230304 l998-02-23 process are described in further detail in conjunction with Figure 6 and subsequent figures described below.
Once the identity of the client is verified, the internal directory returns an access control rule to apply to the client's c~ ication 5 session. Alternatively, it may return an access denied in the case of an untrusted client. Once the client's identity is confirmed, an access control list is accessed to retrieve the access rules that apply to the co..lll.u~ications session. This information is returned to the directory service protocol 46 via the directory access co~p~ller 48.
With respect to step 2d, the co~u- ications session is established with the client and the retrieved access control rules are applied to the communicAt~on.~ session. In this fashion, a client may be precluded from retrieving directory information that it is not entitled to retrieve, as specified by access control rules. While Figure
~3ECURE DISTRIBUTED DIRECTORY SERVICES
AND PUBLIC EEY INFRASTRUCTURE
FIELD OF THE INVENTION
The invention generally relates to the field of digital data processing cu.. ~.. ic~hon.~ systems in which a user at a workstation requests information or services from a server computer. More 0 particularly, the invention relates to a method of and apparatus for providing a public key infrastructure via secure directory services within a computer system and/or a com~u~er netwo~k.
BAC~GROUND AND SUMMARY OF THE INVENTION
With the widespread and ever mushrooming use of network-based communications, a business world where electronic-based business transactions are the rule rather than the exception has been a longstanding vision shared by many. A major stumbling block to 20 widespread electronic business transactions is the need to effectively deploy a secure co...-~ .-ic~h-~n.~ system providing privacy, message integrity, non-repudiation and authenticity.
Cryptographic systems have been widely used to ensure the privacy and authenticity of messages co~-ulicated over a wide 25 variety of different networks. Many conventional cryptosystems are not satisfactory for widespread business world deployment due to well recognized problems rel~hng to, for ~mple, key distribution.
Public key cryptographic systems have been advantageously utilized to solve existing cryptographic system problems including key 0157446.01 CA 02230304 l998-02-23 distribution problem.s. Such public key cryptographic systems use a public key/private key pair and decouple the en~;ly~ g and de-;ly~Li~g processes such that the encrypting process key is separate and distinct from the dewy~ g process key. In such system~, given 5 the knowledge of the encryption key and an encryption key that is large enough, it is not viable to co...~ule the decryption key and thus the encryption key for users may be distributed or published. Anyone desiring to co.. u licate with a user at a particular destination, encrypts a me.sfi~ge under the destination user's public key. Only the 0 destination user who retains the secret de~y~Lillg key of the public key/~riv~te key pair is able to decipher the transmitted messages.
In public key cryptographic systems, it is known that a trusted authority may create a digital message which contains a rl~im~nt's public key and the name of the rl~im~nt. A representative of the 5 trusted authority digitally signs the digital message with the authority's own digital signature. Such a digital message, referred to as a digital certificate is tr~n.smitted along with the use of the rl~imz~nt's own digital signature. See U.S. Patent No. 4,405,829 ~ issued to Rivest et al., which discloses exempl~ry methodology for a 20 practical public key cryptographic ~y~em implementation. Also see U.S. Patent No. 5,214,702, which describes a public key digital signature cryptographic system having enhanced digital signature certification.
Existing public key cryptography methodologies envision that 25 electronic business transactions employ a global standard for tying the public key use to a high level global authority, using what is referred to as the X.500 standard. Not all users, however, participate in this global standard, thereby limiting the standard's practical utility.
01574~.01 . CA 02230304 l998-02-23 The present methodology does not rely on a global standard. In accordance with an e~emrl ~ry embodiment of the present invention, ~ y~tographic keys may be resident in a user's own directory services, while permitting users to securely co~ ic~te with each other as a 5 result of using the distributed directory services described herein. The present invention ~ e.s secure distributed directory services to maintain a public key infrastructure, and does not operate in the conventional global, top-down hierarchy using a "meta-certifier", who must certify all users in order to provide the desired level of security.
o In accordance with an exemrl~ry embo~iment, users may receive digital cer~ficates from various other users and still securely co~ icate with each other with sufficient security such that electronic business transactions may be clllmin~ted. The present invention incorporates the use of policy statements which efficiently 15 permit trust levels to be applied to a user's service request based upon an analysis by the recipient of the message sender's identity via the distributed directory services system. Thus, the fact that a particular message sender is identified in a given distributed directory service using ~e~sign~ted policy statements, permits the message recipient to 20 determine the degree of trust to be given to a message sender.
The exempl~ry embodiment implements the concept that by being able to uniquely identify a client in a specific co~ullications context, a server can assign the client with specific access rights for that context. The access rights granted to a client depend on the 25 client's identity in that conte~t.
Given that access rights are based on identity, the feature of being able to uniquely identify a client becomes significant. The server requires a secure and inf~llihle method of identif ying the client.
01~4~.01 The inf~llihle method is based on using secure directory services of the nature described in the present e~Pmpl~ry embodiment. By securely receiving identity verification services from a directory service, the server can then determine the access rights to grant to a client. This 5 allows a server to deliver client-sensitive information, without prior knowledge ofthe client.
In accordance with an e~emrl~ry embodiment of the present invention, a client initiates a secure connection with a server providing directory services. The server, taking advantage of the 0 authentication feature in the secure co~ unications methodology described herein, uniquely identifies the client and thus obtains the client's distinguished n~me (DN). The server uses the client's DN to determine what access rights to grant the client, either by looking up the client's DN in its own directory or by recursively acting as a client 5 to another directory server that contains definitive information about that particular DN. The directory server then returns the information to the client that is specific to that client and is able to do so by taking advantage of the authentication feature provided by the secure cu~ ulications methodology used herein.
In accordance with another aspect of the present invention, a client initiates a secure co~ll-lic~t~on with a server. The methodology desclibed herein is also applicable to the instance where the client and server are on the same m~hines so that the network described herein may be internal to the computer in this special case.
25 The server is able to uniquely identify the client based on the authentication feature of the secure co~ ications server as a directory service to verify the identity of the client's DN and for access control permissions to grant to the client. This cwl~-nu-~ication with o1 57446.01 CA 02230304 l998-02-23 the directory service must be over a secure commlmic~ions ch~nnel because the inform~nn passed on to the client/server coL~ ication depends on the result and velific~t~on and access rights returned by the directory service. The directory service responds to the server with 5 verification information and access control information, particular to that client and the server is able to determine what information should be sent to the client. The server then returns either none, some or all the inform~t~on requested by the client.
In an illu~l~ aLive embodiment, the identities of the parties 0 involved determine the access rights for a directory service's Co..~ ications context. All requests for information made by the client, receive customized directory service responses. The peer identities are determined through the use of secure communications.
In an exempl~ry embodiment, the server receives the client's Distinglli.shing N~rne (DN), and then searches its directory for identification information and access control rights for this specific context. The server can act as a stand-alone server or in conjunction with other directory services on the network. A client must have a verifiable identity in order for secure commllnic~t~ons to continue. A
client's identity can be said to be fully verifiable if the server has access to the directory service that maintains that client's DN.
The client receives the server's DN, and the client can then determine whether or not to accept a response to a request for information (i.e., trust the response). The client determines the identity of the server using some directory service (the client can act stand-alone or as a client of other directory servers). A server is fully verifiable if the client can identify the directory service that maintains the server's DN.
01574~.01 In both cases, determining identity is predicated on being able to identify a directory service. Since servers and clients are issued identities (DN's) from some directory service before they participate in secure communications, they are able to at least identify their "home"
5 directory service. Their "home" directory service co~ icates with other directory services, each "serving" their lists of electronic identities to each other using secure directory services. In this manner, a client or server can verify the peer identity of a secure communicator by relying on the trusted "home" directory service.
0 The present exempl~ry implementation of the invention can be used to implement a Public Key Infrastructure in the following m~nner. Public Key cer~fir~t~.s, certificate revocation lists, pending certificate requests, Cer1~fic~tion Authority policy, and other information is stored in the directory server. Access to the directory server is through secure co.. ~LLLLcations; this maintains the integrity and privacy of the information. A-lmini~trators acting in the capacity of the Certification Authority are granted full access to the repository, by issuing them the "A~mini.~trator's DN", and can add new certificates, modify certificate revocation lists, etc. Others would have 20 less access, to the limit that unknown parties may only be allowed to submit certificate requests or download public cerlificates (and revocation lists). Additionally, cerl~ficates can be used as vectors in directory searches; the client alle~ ling the directory search has its access limited by its client DN, and the client's DN may not contain a 25 name at all, but rather a hash of the client's policy. In this manner, certificates can be issued that contain minim~l information; in fact, they only need to contain a llnique identifier that can be used as a 01 57446.01 CA 02230304 l998-02-23 vector in the vector space (this would be the entire namespace that is visible to that particular client).
BRIEF DESCRIPTION OF l'HE DRAWINGS
These as well as other features of thi.c invention will be better appreciated by reading the following description of the ~Ul ere~l ed embodiment of the present invention, taken into conjunction with the accompanying drawings of which:
FIGURE 1 is a block diagram of an exempl Ary collll,lu,lications system within which the present invention may be utilized;
FIGURE 2 is a data flow diagram showing illu~llaLive data co~ullicated between a directory client and a server;
FIGURE 3 is a data flow diagram e~emplifying how a client may be identified in a secure cu~u~-cations protocol;
FIGURE 4 is an ~mple of a digital cerlificate which may be used in conjunction with FIGURE 3;
FIGURE 5 is a flowchart of the general sequence of operations performed in accordance with an e~empl~ry embodiment;
FIGURES 6A and 6B are a flowchart delineating an exempl~ry sequence of operations involved in the identification verification process;
01574~.01 CA 02230304 l998-02-23 FIGURE 7 is an e~mpl~ry verification descriptor object/data structure;
FIGURE 8 is an e~empl~Ty context descriptor object/data 5 structure;
FIGURE 9 is an e~Pmpl~ry data structure/object utilized in conjunction with FIGURE 6A, block 80, verification analysis;
10FIGURE 10 is an e~empl~ry object/data structure used in performing verific~1~Qn analysis of FIGURE 6A, block 86;
FIGURE 11 is an e~empl~ry object used in pelro~ illg the verification analysis of FIGURE 6A, block 90;
FIGURE 12 is an exempl~ry object/data structure used for retrieving an access control list rule;
FIGURE 13 is an access list control rule object/data structure.
EMBODIMENT OF THE INVENTION
Figure 1 shows in block diagram form, an ~empl~ry co~ l i llg system within which the present invention may be utilized as part of 25 an electronic commercelco~u~ications network. It should be recognized that, while the present methodology may be utilized in such a coll~ u~ications network envirnnment, the invention may likewise be used in conjunction with a wide range of data proce~.cing system~, including one or more laptop co~ uters, stand-alone, 01574~.01 PC-type computers, minicomputers, and any other computer system environment where data security is a ~i~nific~nt concern and practically implementable.
Before describing an exempl~ry cu~ullic~t~snc system, which 5 may be used in conjunction with the present invention, te~ ology utilized herein is first described. A "client process" or progr~m runs on a computer attached to a network. The client process is distinguished by the fact that it makes requests for information or services. The client process may be referred to herein as a client.
0 A "server process" also runs on a co~ uler attached to a network. The server process is disting~ushed by the fact that it fulfills requests for information or services. The server process may be referred to herein as a server. It should be recognized that a client and a server may actually run on the s~me computer and that a server may be a client to another server.
As used herein, "secure cu..~ ications" typically refers to any data transport me~h~ni.~m, which preferably provides, but is not limited to, privacy, message integrity, non-repudiation, and authenticity.
2û A "Distinguished Name" (DN) uniquely identifies an entity participating in a digital conversation preferably enabled via secure co~, . ,-ications.
A "communications context" is an instance where a client is requesting information from some server, and the request for 25 information can be distinguished by one or more of the following:
client DN, server DN, information requested, information available, and access controls on that information.
0157446.01 Turning back to Figure 1, this figure shows an e~mpl~ry co~ u~ic~on.s nelwo.kincludingmultiple client cu~uLillg devices, and combin~ion client/server cul-l,uuLiug services interconnected via local networks, and through an Internet. The local area networks 5 (LANs) shown in Figure 1, i.e., LAN 1 and LAN 13 are depicted for illustration purposes only. These networks are intended to be representative of any of the many network designs, such as Ethernet, token ring, or other type of networks having attached clients and servers which are likewise intended to be subsumed by the Figure 1 û architecture. By way of e~mple only, LAN 1 may be an Ethernet 802.3 10 base T network. A variety of protocols run on LAN 1, including TCP/IP and NETBIOS. Although numerous protocols may be rllnning on LAN 1, TCP/IP is preferably utilized, which is the prûtocol that runs on the Internet.
As shown in Figure 1, LAN 1 includes a PC-type computer 2 operating solely as a client, which may, for example, be a Windows 95-based wolk~lation. LAN 1 additionally includes a workstation 3 which may, for example, be an IBM RS 6000, operating as both a client and a server. The IBM RS 6000 typically runs the AIX
2û operating system. Client/server 3 may be rlmning as a client in the context of the methodology described herein and/or as a server having its own X.~00 directorv space.
LAN 1 also includes a minicu...~uter server 4, which may be any commercially available minico~ u~er. Minicomputer server 4 may, 25 for ex~mple, be dedicated to providing digital certificates or directory services. Minicomputer server 4 may be attached to another network (not shown). As suggested by inclusion of minicomputer server 4, servers are not limited to workstation type devices.
0157446.01 LAN 1 may, for e~m~le, also include a graphics-based SGI
client/server 6, which may be one of the workstations manufactured by Silicon Graphics Corporation. Client/server 6 may perform computer graphics and/or CAD operations. Workstation client 8 may, for 5 ~ mrle, be an IBM PC-based work station and is representative of the numerous additional available workstations which may, if desired, be coupled to LAN 1.
The secure co~ ications with directory services of the present invention occur not only on the ex~mrl~ry LAN 1, but also on 0 LAN 13. LAN 13 also runs protocols including TCP/IP for Internet communication.
LANs 1 and 13 may, for example, co~ullicate via the Internet 22, via routers 16 and 18. Routers 16 and 18 are conventional routing computers for Internet communications, having sufficient memory 15 capacity to perform necessary routing functions and keep track of the devices with which they are associated on the Internet. A router provides a quick connection between two devices on the Internet. A
router 16,18 may serve more than one LAN. The routers 16 and 18 may, for example, be routers commercially available from Cisco 20 Corporation.
Various other clients such as Smart Card Reader 20 and laptop client 24 may be attached to, and co~u~icate with, any of the other depicted devices through the Internet via phone lines 23,25. Smart Card Reader 20 may, for example, be a Visa card reader. With respect 25 to Smart Card Reader 20, although the concept of a "client" described thus far has been applied to a progr~m requesting information or services, a client may also be h;3ldwale or ~ y embodied in, for e~mple, a Smart Card Reader requesting inform~nn or services.
01 57446.01 CA 02230304 l998-02-23 LAN 13 includes a clientlserver 12, which may, for e~rnple, be a SUN Microsystems SP~RC, which is a RISC-based workstation.
LAN 13 also includes a client w~ alion 10 which may be a Mac II, manufactured by Apple Corporation, and a client/server 14, which 5 may be a DEC workstation. Wolk~l~Lions 10, 12 and 14 are exemplary wolk~lalions which may be coupled to a LAN each of which may be rllnnin~ different operating systems.
Although the LANs 1 and 13 are coupled together via the Internet 22, the method and apparatus may be advantageously o utilized without Internet connections. Thus, for e~mple, an intraoffice network may distribute digital certificates and secure information in accordance with the present invention. It should be understood that the present invention may be employed with any subset of the structure shown in Figure 1.
Figure 2 is a data flow diagram showing illustrative data communicated between directory client 40 and server 42, in accordance with an e~empl~ry embodiment of the present invention.
The directory client 40 may be, for e~mple, any of the enumerated clients previously described above in conjllnc~nn with Figure 1.
20 Similarly, server 42 may be, for e~mple, any of the servers identified above in Figure 1. The directory server 44, the secure communications protocol component 46, the directory access component 48, and the internal directory database 50 are resident in server co,-~ul i-~g device 42. As set forth above, directory client 40 requests information or 25 services from a server 42. Client 40 is identified as a directory client and is therefore seeking directory information. The directory itself may be distributed and reside virtually anywhere in the Figure 1 network. The directory stores information regarding individual users 0157~.01 and corporate entities such as, for example, may be contained in a white page directory. For e~mple, the directory may include client data including a Distinguished Name or another unique client identifier. In addition to the client identifier, a directory may store 5 public key information for identifying the public key of the party to which it is desired to securely co~ ic~te. Directory Server 44 within server 42 operates in accordance with a preestablished directory protocol to serve directory information to directory clients. If the directory server 42, by ~cces~ing its associated internal data base o 50, can adequately respond to the client's directory related query, server 42 appropriately responds. If not, the question may be responded to by server 44 by returning a referral to directory client 40 to identify the location of a server which can respond. Alternatively, directory server 44 may be chained to other directory servers and may 5 attempt to find the answer to the inquiry, rather than sending a referral to directory client 40. In this context, the directory server 44 operates as a client to another directory server.
The secure co-..-.~--.-ic~t~ons protocol component 46 ensures that the directory client 40 co~ l....ic~te.s with directory server 44 using a 20 secure communications protocol. The secure co~ ications protocol preferably provides privacy, authentication, non-repudiation, and integrity to the co~ ..ic~;ons between client 40 and server 42. In conventional systems, no response is provided when a client is not entitled to access a server. In accordance with the present invention, a 25 response may be obtained from a directory server which indicates whether the client 40 has enough privilege to get the requested information as will be described further below.
0157446.01 CA 02230304 l998-02-23 The directory access component 48 of server 42 permits co~ication with the server's internal database 50. The server 42 - determines via the direct access component 48, what type of access the client 40 is entitled to have.
In operation, in accordance with step 2a, server 42 receives the client identity from the directory client 40 using the underlying secure co~ cationsprotocol. Becausethe cu~ ications protocol provides authenticity assurance, the client is securely identified so that the server receives a known identity which can later be verified.
o Figures 3 and 4 show an e~ample of how a client may be identified using a secure co~ ul~cations protocol. As exemplified in Figure 3, client 60 initiates cu~ -..lication with server 62 by opening up a network connection to the server. The precise matter of initiation will depend on the nature of the network. Server 62 responds to the 5 connection and r~m~nds that client 60 identify itself. Client 60 then sends its identity for this co--.ll-uL ication session in the form of a digital certificate to server 62. By way of example only, the secure co---~ icAt~ons protocol utilized may be the commercially available SSL protocol, which in accordance with the present invention is 20 advantageously applied to directory services to provide a secure directory services system.
Figure 4 is an e~An~ple of a digital cerl~ificate 64 which may be used to identify the client as described in conjunction with Figure 3 above. The digital certificate may be, but is not required to be, 25 structured as recommended in the X.509 standard. The certificate may be custom designed to include numerous different and/or additional fields as desired. The certificate may be written, for example, in ASN.l syntax. The digital cer1;ificate 64 includes a 01574~.01 CA 02230304 l998-02-23 "certificate" field which is a digitally signed sequence, that includes a hash of the data identified below, which is then encrypted with the ~i~ning party's private key. Within the information that is digitally signed is a version number, a serial number w_ich uniquely identifies 5 the cerl~icate, and the .sign~ re of the .si~ning party in accordance with an identified algorithm such as RS~ Additionally included within the signed certificate information is an identification of the certificate issuer, identifying the name of the party that signed the digital certificate. The certificate includes a validity field which 0 specifies how long the certificate is valid. The subject field specifies the name of the party who holds the certificate, and the public key information field specifies the public key of the subject. The fields referred to above are expanded in Figure 4 to show their constituent construction in more detail. Figure 4 t_us shows an exemplary data structure of a digital certificate which may be used in conjunction with the present invention.
Turning to back to Figure 2, in accordance with step 2b, the server 42 checks if the client identity is recognized by the internal directory data base. Thus, if directory client 40 transmits client 20 identity information in the form of a digital certificate, such as that shown in Figure 4, server 42 checks the digital certificate to confirm recognition from its internal data base 60. The server 42 initially checks the digital certificate to confirm that the signature of the issuer matches the signer's signature. Thus, if the internal directory data 25 base ~0 has no information regarding the certificate's signer, the client will not be identifiable. Under such circumstances, the server 42 may act as a client to retrieve the required signer's public key information from another server to complete the identification. Details of this 01574~.01 CA 02230304 l998-02-23 process are described in further detail in conjunction with Figure 6 and subsequent figures described below.
Once the identity of the client is verified, the internal directory returns an access control rule to apply to the client's c~ ication 5 session. Alternatively, it may return an access denied in the case of an untrusted client. Once the client's identity is confirmed, an access control list is accessed to retrieve the access rules that apply to the co..lll.u~ications session. This information is returned to the directory service protocol 46 via the directory access co~p~ller 48.
With respect to step 2d, the co~u- ications session is established with the client and the retrieved access control rules are applied to the communicAt~on.~ session. In this fashion, a client may be precluded from retrieving directory information that it is not entitled to retrieve, as specified by access control rules. While Figure
2 shows the co~ul~ication between a directory client 40 and a directory server 42, the methodology is intended to be applied to a client and server. For e~Ample, the server may act to retrieve access control rules for clients going to its web site.
Figure 5 shows in flowchart form a general sequence of 20 operations performed in accordance with an exemplary embodiment of the present invention. As indicated in Figure 5, initially the client sends its Distinguished Name (DN) which uniquely identifies the client (70). Thereafter, the server receives the distinguished name DN
(72).
As suggested by block 74, the server analyzes the client DN to determine the appropriate ACL access control rules to apply. As indicated by the "recursive" parenthetical in block 74, the server may access other directory servers throughout the Internet in order to 01574~.01 CA 02230304 l998-02-23 determine the appropriate access rules to apply. In addition to access control rules, degree of trust related information which may be associated with the client also may be accessed from rlifferent servers on the Internet. The server, by m~kin~ requests to other directory 5 servers on the Internet, itself becomes the client in its effort to provide the access control and trust rules to apply to the client. Thus, in the conte~ct of a web site, if a client sends its distinguished name DN (or an alternative identifier) to a web site, the web site needs to identify the client either at an internal data base at its associated server or at 0 other web sites. The web site can then seek identifying information from other directory server web sites until a trust relationship with the requesting client is determined. With such information retrieved from other directory servers, the degree of trust which may be associated with the requesting client may be determined.
If the client is verified in block 74 processing, ACL information is returned to the directory server as indicated in block 76 and is applied to the data connection. The access control rules and trust related inform~hon are applied to the data connection to ensure that actions take place during the data connection in accordance with the 20 access control rules and/or the trust information, to thereby ensure that authorization levels are not exceeded.
In accordance with this methodology, for e~mple, a digital certificate possessed by a party which has been issued by Visa may be transmitted to a web site and an electronic transaction may take 25 place, whereby goods are purchased. The transaction may be completed in accordance with the client's credit rating which may be checked, for e~mple, through Visa's directory server. The Visa directory server may determine the nature of the credit rating to 01574~.01 transmit depending upon the particular context, e.g., the party at the web site requesting the information and the individual client. During this process, the web site would likewise be tran~ g to the Visa directory server its digital certificate so that the Visa directory server 5 can determine whether the web site is, for e~mple, a business which has recently gone bankrupt, or another bank which should be associated with a great deal of trust. In this f~.~hion, the present invention enables the transaction parameters to be fully developed in the particular communications or business transaction context.
o In accordance with Figure 5 at block 78, having obtained the appropriate access control list rules and/or trust information, such information is applied to the data connection. The data requested is transmitted back to the client, as shown in Figure 6, although the access control rule or trust level information would not be 5 communicated. The process may be repeated in connection with different subsequent col~ ication sessions.
Figures 6A and 6B are a flowchart delineating the sequence of operations involved in an exemrl~ry identification verification analysis. The input data to the directory server verification analysis 20 component is the client identity which may include the digital certificate as, for e~mrle, shown in Figure 4, colllm~ications context information which is a context descriptor that describes the nature and/or type of co~ullication and a server identity which is the server's digital certificate. The directory server verification analysis 25 flowchart shown in Figures 6A and 6B is implemented by soflwa~e embodied within the directory server 42 shown in Figure 2.
Figure 7 is an exemrl~ry verification descriptor object and Figure 8 is an exempl~ry context descriptor data structure utilized in 0157446.01 CA 02230304 l998-02-23 the ve~ification analysis shown in Figure 6. Tllrning first to the verification descriptor, the data structure/object shown in Figure 7 includes a digital certificate identifying the client and a digital certificate identifying the server as well as a context descriptor. In the 5 case of a null context descriptor, the context defaults to that of the directory server protocol. Thus, if there is no context descriptor, the conte~t is presumed to be a CU~ u fication session between a client communicating with a directory server. Alternatively, if a web client is communicating with a web server and the web server is performing û a verification analysis, then the contea~t descriptor is set to indicate a web server co~icating with a web client. In the case of a null server identity, the server defaults to the directory server itself. If communication takes place between a web client and a web server, the web server inputs its web identity via its digital certificate.
As shown in Figure 8, the illustrative context descriptor includes a version number field and a t~me field which indicates the coordinated universal time. The "protocol" field varies depending upon the particular co~ ications context. For e~mrle, if a web server is co~..llic~t~ng with a web client, the protocol may be the 20 web protocol "http". If an E-mail client is co....~ ficating with an E-mail server, then the protocol may be the "SMTP" protocol.
Additionally, any parameters defined by the protocol may be listed in the context descriptor.
Turning back to Figure 6A, block 80, the directory server checks 25 that the digital certificate issuer's public key is available to the directory server. For ~x~mple, if Visa issued a digital certificate to a requesting party, a check is made at, for ~x~mple, a web site to determine whether the web site can identify Visa and has access to 01574~.01 CA 02230304 l998-02-23 Visa's public key. If the certificate issuer is known, then the digital signature of the certificate issuer may be verified.
Based upon the block 80 analysis, a determin~hon is made as to whether the certificate issuer is known (82). If the certificate issuer is 5 not known, then the directory acts as a directory client to attempt to find a known certificate issuer.
After the directory server acts as a directory client to find a known certificate issuer, a check is made at Figure 6B, block 84, to determine whether a known certificate issuer has been found. If so, o the routine branches back to block 80, and the routine continues. If no known certificate issuer is found, then access is denied.
An exemplary data structure or object utilized in conjunction with the block 80 analysis is shown in Figure 9. As shown in Figure 9, the certificate issuer's n~me is identified by using the verification 5 descriptor's client identity and the issuer's identity information. As shown in Figure 9, the verification process utilizes the issuer's public key and verification algorithm identifier information. If the data structure shown in Figure 9 has a null or blank "issuer public key"
field, resolving the unknown certificate issuer may involve either 20 storing information from another directory in a local cache, acting as a directory service client to another directory service, or permitting an llnkn own signature by deferring resolution until the access control rules are searched. By p~lllli~Li~lg an nnknown signature to be utilized, the system may accept the nnknown signature, while relying 25 on the access control rules to determine whether this is appropriate.
For example, certain web sites may not care who the certificate issuer is and, in fact, wish to promote the web site to be accessed. Under these circumstances, the ~cce.s.cihle control list rules may include 01R4~.01 CA 02230304 l998-02-23 specific restrictions identifying the context where an unknown certificate issuer is involved.
Turning back to Figure 6A, if the certificate issuer's public key is available, the directory se~rvices ve~ifies at block 86 the digital 5 signature, such that the digital signature on the issuer's certificate matches the internally stored public key of the cerl~fic~te issuer.
Figure 10 shows an e~mIlle of an object or data structure required to perform the verification operations of Figure 6A, block 86.
As shown in Figure 10, the client identity is used which consists of the o signed sequence embodied in a digital certificate previously discussed in conjunction with Figure 4. The issuer's public key is also used which includes the information shown, including an algorithm identifier. Thus, the client identity, which is a signed sequence defined by a digital certificate, permits the signature to be verified 5 with the issuer's public key.
~ A check is next made at Figure 6A, block 88 to determine whether the signature is good. If the signature is bad, then as shown in Figure 6B, access is denied or, as previously described, a decision may be made to defer resolving this issue until the access control rules 20 are checked.
If the check in block 88 indicates that the signature is good, then, as indicated in block 90, the directory service verifies that the certificate is still currently valid by checking an internally stored certificate status or optionally, a check is made of an internally stored 25 certificate revocation list.
Figure 11 shows exemplary objects or data structures which may be used in performing the verification indicated at Figure 6A, block 90. As shown in Figure 11, the client identity information 0157~.01 includes the digital certificate previously discussed. The certificate revocation list is a list of certificates which have been previously revoked and may be presented as attributes with an attribute-syntax certificate list. The list would be in the form of a signed sequence of 5 certificates as shown in Figure 11. The signed sequence includes the certificate serial numbers and the revocation date. The certificate revocation list would be prepared by the controlling directory service entity. If the certificate serial number identifying a client is stored in a certificate revocation list kept at a directory service and the o certificate is revoked, the certificate revocation list may only be modified by those who are properly authorized. The revocation list may be prepared and revised by an authority connecting to the directory service having more e~pansive rights than the typical client.
Such authority would include the authority to write into such data structures as the certificate revocation list. Such a connection would typically take place only with the directory service ~lmini~trator~s digital certificate. The directory service may not need to maintain a full certificate revocation list since it may be constructed from the raw data stored in the directory service. Thus, information may be stored 20 in the directory service indicating that a particular certificate is not valid. Raw data stored in the directory service permits per certificate lookups for validity purposes. The certific~te revocation list may be retrieved from a local cache, from another directory service or deferred until the ACL rule check.
Turning back to Figure 6A, based on the processing in block 90, a check is made to determine if there is a valid certificate (92). If there is not a valid cer1~ificate, as determined by the check in block 92, then connection is denied or deferred as previously described.
0157446.01 If there is a valid certificate, then, in accordance with block 94 proce.ssing, the directory cross-references the client certificate, the server cerlificate and the co~ ic~ions context to retrieve an internally stored access control rule to apply to the client connection.
Figure 12 discloses an ~mpl~ry object or data structure which may be used for the block 94, Figure 6 processing, for retrieving an access control rule, an e~mple of which is shown in Figure 13. The set of access control rules are defined in the directory service database.
Various directory servers may be linked so that access control rules o stored in other directory servers may be utilized and may be required in order to fully determine the access control rules that apply. The directory servers may be linked based upon prearranged contractual trust relationships. For e~mI~le, a trust relationship with a Visa card may require that Visa trust a given merchant and its cardholder, and that the merchant trust the Visa cardholder. The ACL rule is accessed by the server itself by use of the context and the client cer1;ificate and the server's cer1~icate. ~n ACL rule is retrieved from the server's internal database, based on the client identity, the context descriptor (which may, for e~mrle, indicate whether E-mail or a web site related 20 transaction is involved), and the server identity.
As shown in Figure 13, the ACL rule is a digital sequence including a "to what" field, which, for example, may indicate that the rule applies to a web page. An ACL rule may also include parameters associated with the "to what" field which may, for e~mrle, include a 25 web page address or a credit card number, the nature of the card and/or the cardholder's name. A "by what" field may also be included, which typically includes the client's certificate, which may be identified by a client ID. "By what" parameters are included which 0157446.01 CA 02230304 l998-02-23 may be, for e~ample, a digital certificate. An "access" field may also be included and is comprised of an integer tl~fining the allowable directory access modes. By way of an e~mple access integers 0-4 may respectively indicate search, compare, read, write or none. The access 5 control rule may also include a version number.
If the cerlificate issuer's signature or the certificate revocation list checking operations were deferred until Figure 6A, block 94 proces.~ing, then these events are passed on as part of the context field shown in Figure 12. Additionally, the cerlificate revocation list can be 0 part of an access control rule list in the deferred case. Additionally, it is noted that trust levels can be defined in an access control list rule.
The access control rules may be retrieved from a local cache memory, or from another directory service. T.imits may be placed on any particular limitation as to when access control rules must be kept local or when they may be retrieved from another directory service.
Turning back to Figure 6A, the access control rule is applied to the data connection so that the client only receives the correct and intended data. The verification component thus returns an access rule to be applied for the client to the server.
While the invention has been described in connection with what is presently considered to be the most practical and preferred embodiment, it is to be understood that the invention is not to be limited to the disclosed embo~iment, but on the contrary, is intended 5 to cover various mo.lific~hons and equivalent arrangements included within the spirit and scope of the appended claims.
01574~.01
Figure 5 shows in flowchart form a general sequence of 20 operations performed in accordance with an exemplary embodiment of the present invention. As indicated in Figure 5, initially the client sends its Distinguished Name (DN) which uniquely identifies the client (70). Thereafter, the server receives the distinguished name DN
(72).
As suggested by block 74, the server analyzes the client DN to determine the appropriate ACL access control rules to apply. As indicated by the "recursive" parenthetical in block 74, the server may access other directory servers throughout the Internet in order to 01574~.01 CA 02230304 l998-02-23 determine the appropriate access rules to apply. In addition to access control rules, degree of trust related information which may be associated with the client also may be accessed from rlifferent servers on the Internet. The server, by m~kin~ requests to other directory 5 servers on the Internet, itself becomes the client in its effort to provide the access control and trust rules to apply to the client. Thus, in the conte~ct of a web site, if a client sends its distinguished name DN (or an alternative identifier) to a web site, the web site needs to identify the client either at an internal data base at its associated server or at 0 other web sites. The web site can then seek identifying information from other directory server web sites until a trust relationship with the requesting client is determined. With such information retrieved from other directory servers, the degree of trust which may be associated with the requesting client may be determined.
If the client is verified in block 74 processing, ACL information is returned to the directory server as indicated in block 76 and is applied to the data connection. The access control rules and trust related inform~hon are applied to the data connection to ensure that actions take place during the data connection in accordance with the 20 access control rules and/or the trust information, to thereby ensure that authorization levels are not exceeded.
In accordance with this methodology, for e~mple, a digital certificate possessed by a party which has been issued by Visa may be transmitted to a web site and an electronic transaction may take 25 place, whereby goods are purchased. The transaction may be completed in accordance with the client's credit rating which may be checked, for e~mple, through Visa's directory server. The Visa directory server may determine the nature of the credit rating to 01574~.01 transmit depending upon the particular context, e.g., the party at the web site requesting the information and the individual client. During this process, the web site would likewise be tran~ g to the Visa directory server its digital certificate so that the Visa directory server 5 can determine whether the web site is, for e~mple, a business which has recently gone bankrupt, or another bank which should be associated with a great deal of trust. In this f~.~hion, the present invention enables the transaction parameters to be fully developed in the particular communications or business transaction context.
o In accordance with Figure 5 at block 78, having obtained the appropriate access control list rules and/or trust information, such information is applied to the data connection. The data requested is transmitted back to the client, as shown in Figure 6, although the access control rule or trust level information would not be 5 communicated. The process may be repeated in connection with different subsequent col~ ication sessions.
Figures 6A and 6B are a flowchart delineating the sequence of operations involved in an exemrl~ry identification verification analysis. The input data to the directory server verification analysis 20 component is the client identity which may include the digital certificate as, for e~mrle, shown in Figure 4, colllm~ications context information which is a context descriptor that describes the nature and/or type of co~ullication and a server identity which is the server's digital certificate. The directory server verification analysis 25 flowchart shown in Figures 6A and 6B is implemented by soflwa~e embodied within the directory server 42 shown in Figure 2.
Figure 7 is an exemrl~ry verification descriptor object and Figure 8 is an exempl~ry context descriptor data structure utilized in 0157446.01 CA 02230304 l998-02-23 the ve~ification analysis shown in Figure 6. Tllrning first to the verification descriptor, the data structure/object shown in Figure 7 includes a digital certificate identifying the client and a digital certificate identifying the server as well as a context descriptor. In the 5 case of a null context descriptor, the context defaults to that of the directory server protocol. Thus, if there is no context descriptor, the conte~t is presumed to be a CU~ u fication session between a client communicating with a directory server. Alternatively, if a web client is communicating with a web server and the web server is performing û a verification analysis, then the contea~t descriptor is set to indicate a web server co~icating with a web client. In the case of a null server identity, the server defaults to the directory server itself. If communication takes place between a web client and a web server, the web server inputs its web identity via its digital certificate.
As shown in Figure 8, the illustrative context descriptor includes a version number field and a t~me field which indicates the coordinated universal time. The "protocol" field varies depending upon the particular co~ ications context. For e~mrle, if a web server is co~..llic~t~ng with a web client, the protocol may be the 20 web protocol "http". If an E-mail client is co....~ ficating with an E-mail server, then the protocol may be the "SMTP" protocol.
Additionally, any parameters defined by the protocol may be listed in the context descriptor.
Turning back to Figure 6A, block 80, the directory server checks 25 that the digital certificate issuer's public key is available to the directory server. For ~x~mple, if Visa issued a digital certificate to a requesting party, a check is made at, for ~x~mple, a web site to determine whether the web site can identify Visa and has access to 01574~.01 CA 02230304 l998-02-23 Visa's public key. If the certificate issuer is known, then the digital signature of the certificate issuer may be verified.
Based upon the block 80 analysis, a determin~hon is made as to whether the certificate issuer is known (82). If the certificate issuer is 5 not known, then the directory acts as a directory client to attempt to find a known certificate issuer.
After the directory server acts as a directory client to find a known certificate issuer, a check is made at Figure 6B, block 84, to determine whether a known certificate issuer has been found. If so, o the routine branches back to block 80, and the routine continues. If no known certificate issuer is found, then access is denied.
An exemplary data structure or object utilized in conjunction with the block 80 analysis is shown in Figure 9. As shown in Figure 9, the certificate issuer's n~me is identified by using the verification 5 descriptor's client identity and the issuer's identity information. As shown in Figure 9, the verification process utilizes the issuer's public key and verification algorithm identifier information. If the data structure shown in Figure 9 has a null or blank "issuer public key"
field, resolving the unknown certificate issuer may involve either 20 storing information from another directory in a local cache, acting as a directory service client to another directory service, or permitting an llnkn own signature by deferring resolution until the access control rules are searched. By p~lllli~Li~lg an nnknown signature to be utilized, the system may accept the nnknown signature, while relying 25 on the access control rules to determine whether this is appropriate.
For example, certain web sites may not care who the certificate issuer is and, in fact, wish to promote the web site to be accessed. Under these circumstances, the ~cce.s.cihle control list rules may include 01R4~.01 CA 02230304 l998-02-23 specific restrictions identifying the context where an unknown certificate issuer is involved.
Turning back to Figure 6A, if the certificate issuer's public key is available, the directory se~rvices ve~ifies at block 86 the digital 5 signature, such that the digital signature on the issuer's certificate matches the internally stored public key of the cerl~fic~te issuer.
Figure 10 shows an e~mIlle of an object or data structure required to perform the verification operations of Figure 6A, block 86.
As shown in Figure 10, the client identity is used which consists of the o signed sequence embodied in a digital certificate previously discussed in conjunction with Figure 4. The issuer's public key is also used which includes the information shown, including an algorithm identifier. Thus, the client identity, which is a signed sequence defined by a digital certificate, permits the signature to be verified 5 with the issuer's public key.
~ A check is next made at Figure 6A, block 88 to determine whether the signature is good. If the signature is bad, then as shown in Figure 6B, access is denied or, as previously described, a decision may be made to defer resolving this issue until the access control rules 20 are checked.
If the check in block 88 indicates that the signature is good, then, as indicated in block 90, the directory service verifies that the certificate is still currently valid by checking an internally stored certificate status or optionally, a check is made of an internally stored 25 certificate revocation list.
Figure 11 shows exemplary objects or data structures which may be used in performing the verification indicated at Figure 6A, block 90. As shown in Figure 11, the client identity information 0157~.01 includes the digital certificate previously discussed. The certificate revocation list is a list of certificates which have been previously revoked and may be presented as attributes with an attribute-syntax certificate list. The list would be in the form of a signed sequence of 5 certificates as shown in Figure 11. The signed sequence includes the certificate serial numbers and the revocation date. The certificate revocation list would be prepared by the controlling directory service entity. If the certificate serial number identifying a client is stored in a certificate revocation list kept at a directory service and the o certificate is revoked, the certificate revocation list may only be modified by those who are properly authorized. The revocation list may be prepared and revised by an authority connecting to the directory service having more e~pansive rights than the typical client.
Such authority would include the authority to write into such data structures as the certificate revocation list. Such a connection would typically take place only with the directory service ~lmini~trator~s digital certificate. The directory service may not need to maintain a full certificate revocation list since it may be constructed from the raw data stored in the directory service. Thus, information may be stored 20 in the directory service indicating that a particular certificate is not valid. Raw data stored in the directory service permits per certificate lookups for validity purposes. The certific~te revocation list may be retrieved from a local cache, from another directory service or deferred until the ACL rule check.
Turning back to Figure 6A, based on the processing in block 90, a check is made to determine if there is a valid certificate (92). If there is not a valid cer1~ificate, as determined by the check in block 92, then connection is denied or deferred as previously described.
0157446.01 If there is a valid certificate, then, in accordance with block 94 proce.ssing, the directory cross-references the client certificate, the server cerlificate and the co~ ic~ions context to retrieve an internally stored access control rule to apply to the client connection.
Figure 12 discloses an ~mpl~ry object or data structure which may be used for the block 94, Figure 6 processing, for retrieving an access control rule, an e~mple of which is shown in Figure 13. The set of access control rules are defined in the directory service database.
Various directory servers may be linked so that access control rules o stored in other directory servers may be utilized and may be required in order to fully determine the access control rules that apply. The directory servers may be linked based upon prearranged contractual trust relationships. For e~mI~le, a trust relationship with a Visa card may require that Visa trust a given merchant and its cardholder, and that the merchant trust the Visa cardholder. The ACL rule is accessed by the server itself by use of the context and the client cer1;ificate and the server's cer1~icate. ~n ACL rule is retrieved from the server's internal database, based on the client identity, the context descriptor (which may, for e~mrle, indicate whether E-mail or a web site related 20 transaction is involved), and the server identity.
As shown in Figure 13, the ACL rule is a digital sequence including a "to what" field, which, for example, may indicate that the rule applies to a web page. An ACL rule may also include parameters associated with the "to what" field which may, for e~mrle, include a 25 web page address or a credit card number, the nature of the card and/or the cardholder's name. A "by what" field may also be included, which typically includes the client's certificate, which may be identified by a client ID. "By what" parameters are included which 0157446.01 CA 02230304 l998-02-23 may be, for e~ample, a digital certificate. An "access" field may also be included and is comprised of an integer tl~fining the allowable directory access modes. By way of an e~mple access integers 0-4 may respectively indicate search, compare, read, write or none. The access 5 control rule may also include a version number.
If the cerlificate issuer's signature or the certificate revocation list checking operations were deferred until Figure 6A, block 94 proces.~ing, then these events are passed on as part of the context field shown in Figure 12. Additionally, the cerlificate revocation list can be 0 part of an access control rule list in the deferred case. Additionally, it is noted that trust levels can be defined in an access control list rule.
The access control rules may be retrieved from a local cache memory, or from another directory service. T.imits may be placed on any particular limitation as to when access control rules must be kept local or when they may be retrieved from another directory service.
Turning back to Figure 6A, the access control rule is applied to the data connection so that the client only receives the correct and intended data. The verification component thus returns an access rule to be applied for the client to the server.
While the invention has been described in connection with what is presently considered to be the most practical and preferred embodiment, it is to be understood that the invention is not to be limited to the disclosed embo~iment, but on the contrary, is intended 5 to cover various mo.lific~hons and equivalent arrangements included within the spirit and scope of the appended claims.
01574~.01
Claims (53)
1. A method for providing secure communications between a client at a first workstation and a computer comprising the steps of:
receiving at said computer a request from said client for at least one of information and services, said request including at least one digital certificate identifying said client;
checking at said computer to determine if the issuer of said digital certificate is recognized;
verifying that said digital certificate is valid; and retrieving, if the digital certificate is valid, an access control rule to apply to the communication session with said client during which at least one of information and services is provided to said client.
receiving at said computer a request from said client for at least one of information and services, said request including at least one digital certificate identifying said client;
checking at said computer to determine if the issuer of said digital certificate is recognized;
verifying that said digital certificate is valid; and retrieving, if the digital certificate is valid, an access control rule to apply to the communication session with said client during which at least one of information and services is provided to said client.
2. A method according to claim 1, further including the step of applying said access control rule to the communication session.
3. A method according to claim 1, further including the step of accessing information related to the degree of trust which may be associated with said client.
4. A method according to claim 1, wherein said receiving step includes the step of receiving the client's public key.
5. A method according to claim 1, wherein said computer includes an internal data base and wherein said step of checking includes the step of checking to determine if the public key of an identified certifying party is stored in said internal data base.
6. A method according to claim 2, wherein said computer includes a directory and wherein said step of applying said access control rules includes the step of permitting the client to access said directory only in accordance with said access control rules.
7. A method according to claim 2, wherein said client requests access to a web site via said request and wherein said step of applying said access control rules includes the step of permitting the client to perform operations at said web site only in accordance with said access control rules.
8. A method according to claim 5, further including the step of accessing information related to the degree of trust which may be associated with said client.
9. A method for providing secure communications between a client at a first workstation and a computer comprising the steps of:
receiving at said computer a request from said client for at least one of information and services, said request uniquely identifying said client;
checking at said computer to determine if the client is recognized by said computer;
retrieving, if the client is recognized, an access control rule to apply to the communication session with said client during which at least one of information and services is provided to said client;
applying said access control rule to the communications session with said client.
receiving at said computer a request from said client for at least one of information and services, said request uniquely identifying said client;
checking at said computer to determine if the client is recognized by said computer;
retrieving, if the client is recognized, an access control rule to apply to the communication session with said client during which at least one of information and services is provided to said client;
applying said access control rule to the communications session with said client.
10. A method according to claim 9, wherein said receiving step includes the step of uniquely identifying the client via a digital certificate.
11. A method according to claim 9, wherein said receiving step includes the step of receiving data uniquely identifying the client including the client's public key.
12. A method according to claim 10, wherein said computer includes an internal data base and wherein said step of checking includes the step of checking to determine if the public key of an identified certifying party is stored in said internal data base.
13. A method according to claim 9, wherein said computer includes a directory and wherein said step of applying said access control rules includes the step of permitting the client to access said directory only in accordance with said access control rules.
14. A method according to claim 9, wherein said client requests access to a web site via said request and wherein said step of applying said access control rules includes the step of applying the client to perform operations at said web site only in accordance with said access control rules.
28 16. A method according to claim 9, further including the step of accessing information related to the degree of trust which may be associated with said client.
16. A method for providing secure communications between a client at a first workstation and a computer comprising the steps of:
receiving at said computer a request from said client of at least one of information and services, said request including at least one digital certificate identifying said client;
checking at said computer to determine if the digital signature in said digital certificate is valid; and retrieving an access control rule to apply to the communication session with said client during which at least one of information and services is provided to said client.
receiving at said computer a request from said client of at least one of information and services, said request including at least one digital certificate identifying said client;
checking at said computer to determine if the digital signature in said digital certificate is valid; and retrieving an access control rule to apply to the communication session with said client during which at least one of information and services is provided to said client.
17. A method according to claim 16, further including the step of accessing information related to the degree of trust which may be associated with said client.
18. A method according to claim 16, further including the step of applying said access control rules to the communications session with the client.
19. A method according to claim 16, wherein said computer includes an internal data base and wherein said step of checking includes the step of checking to determine if the public key of an identified certified party is stored in said internal data base.
20. A method according to claim 18, wherein said computer includes a directory and wherein said step of applying said access control rules includes the step of permitting the client to access said directory only in accordance with said access control rules.
21. A method according to claim 18, wherein said client requests access to a web site via said request and wherein said step of applying said access control rules includes the step of permitting the client to perform operations at said web site only in accordance with said access control rules.
22. A method according to claim 16, further including the step of accessing information related to the degree of trust which may be associated with said client.
23. A method for providing secure communications between a client at a first workstation coupled to a network including a plurality of computers comprising the steps of:
receiving at a first computer a request from said client for at least one of information and services, said request uniquely identifying said client;
checking at said first computer to determine if the client is recognized;
checking at a second computer coupled to said network, to determine if the client is recognized; and retrieving from said second computer, if the client is recognized, an access control rule to apply to the communication session with said client during which at least one of information and services is provided to said client.
receiving at a first computer a request from said client for at least one of information and services, said request uniquely identifying said client;
checking at said first computer to determine if the client is recognized;
checking at a second computer coupled to said network, to determine if the client is recognized; and retrieving from said second computer, if the client is recognized, an access control rule to apply to the communication session with said client during which at least one of information and services is provided to said client.
24. A method according to claim 23, further including the step of applying said access control rule to the communications session with said client.
25. A method according to claim 23, further including the step of identifying a second computer for operating as a server which can verify the identity of said client and interconnecting said second computer with said first computer via the Internet.
26. A method according to claim 23, further including the step of accessing information related to the degree of trust which may be associated with said client.
27. A method according to claim 23, wherein said receiving step includes the step of uniquely identifying the client via a digital certificate.
28. A method according to claim 23, wherein said receiving step includes the step of receiving data uniquely identifying the client including the client's public key.
29. A method according to claim 23, wherein said first computer and said second computer include an internal data base and wherein said step of checking includes the step of checking to determine if the public key of an identified certifying party is stored in said internal data base.
30. A method according to claim 24, wherein said computer includes a directory and wherein said step of applying said access control rules includes the step of permitting the client to access said directory only in accordance with said access control rules.
31. A method according to claim 24, wherein said client requests access to a web site via said request and wherein said step of applying said access control rules includes the step of permitting the client to perform operations at said web site only in accordance with said access control rules.
32. A method according to claim 27, further including the step of accessing information related to the degree of trust which may be associated with said client.
33. A method for providing secure directory services communications between a client at a first workstation and a computer comprising the steps of:
transmitting from a client's workstation a request for directory services to said computer for at least one of information and services, said request including digital information for uniquely establishing that said client has a known identity which can subsequently be unambiguously verified;
checking to determine if the client is recognized by said computer;
retrieving an access control rule to apply to the communication session with said client during which directory services is provided to said client; and applying said access control rule to the communications session with said client.
transmitting from a client's workstation a request for directory services to said computer for at least one of information and services, said request including digital information for uniquely establishing that said client has a known identity which can subsequently be unambiguously verified;
checking to determine if the client is recognized by said computer;
retrieving an access control rule to apply to the communication session with said client during which directory services is provided to said client; and applying said access control rule to the communications session with said client.
34. A method according to claim 33, further including the step of accessing information related to the degree of trust which may be associated with said client.
35. A method for providing secure communications between a client at a first workstation coupled to a network including a plurality of computers, each of said plurality of computers including a directory server and an associated data base, comprising the steps of:
transmitting from said first workstation to a first computer of said plurality of computers a request from said user for at least one of information and services, said request uniquely identifying said client;
checking by the first computer's directory server, the associated data base at said first computer to determine if the client is recognized by said first computer;
checking by the second computer's directory server, the associated data base at said second computer coupled to said network, to determine if the client is recognized; and retrieving from said second computer, if the client is recognized, an access control rule to apply to the communication session with said client during which at least one of information and services is provided to said client.
transmitting from said first workstation to a first computer of said plurality of computers a request from said user for at least one of information and services, said request uniquely identifying said client;
checking by the first computer's directory server, the associated data base at said first computer to determine if the client is recognized by said first computer;
checking by the second computer's directory server, the associated data base at said second computer coupled to said network, to determine if the client is recognized; and retrieving from said second computer, if the client is recognized, an access control rule to apply to the communication session with said client during which at least one of information and services is provided to said client.
36. A method according to claim 35, further including the step of accessing trust related information from the internal data base of said second computer.
37. A method according to claim 36, further including the step of applying the trust related information and the access control rule to the client's request to ensure that authorization levels are not exceeded.
38. A method according to claim 35, wherein said request is a request for an electronic business transaction transmitted to a web site.
39. A method according to claim 35, wherein the request is a request for a business transaction and wherein the server which recognizes the client develops transaction parameters in the context of the parties involved.
40. A method according to claim 35, wherein said transmitting step includes the step of uniquely identifying the client via a digital certificate.
41. A method according to claim 35, wherein said transmitting includes the step of transmitting data uniquely identifying the client including the client's public key.
42. A method according to claim 35, wherein said step of checking by said first computer's directory server includes the step of checking to determine if the public key of an identified certifying party is stored in said associated internal data base.
43. A method according to claim 35, further including the step of applying said access control rules to permit the client to access said directory only in accordance with said access control rules.
44. A method according to claim 35, wherein said client requests access to a web site via said request and further including the step of applying said access control rules to permit the client to perform operations at said web site only in accordance with said access control rules.
45. A method for providing secure directory services communications between a client at a first workstation and a computer having a directory server comprising the steps of:
transmitting from a client's workstation a request for directory services to said computer said request from said client including at least one of information and services, said request including a digital certificate for uniquely establishing that said client has a known identity which can subsequently be ambiguously verified;
verifying by said directory server the authorization for the server to comply with the request based upon at least one digital certificate and information related to the request context; and retrieving an access control rule to apply to the communication session with said client during which directory services is provided to said client.
transmitting from a client's workstation a request for directory services to said computer said request from said client including at least one of information and services, said request including a digital certificate for uniquely establishing that said client has a known identity which can subsequently be ambiguously verified;
verifying by said directory server the authorization for the server to comply with the request based upon at least one digital certificate and information related to the request context; and retrieving an access control rule to apply to the communication session with said client during which directory services is provided to said client.
46. A method according to claim 45, further including the step of applying said access control rule to the communications session with said client.
47. A method according to claim 45, wherein said request includes the client's public key.
48. A method according to claim 45, wherein said computer includes an internal data base and wherein said step of verifying includes the step of checking to determine if the public key of an identified certifying party is stored in said internal data base.
49. A method according to claim 46, wherein said computer includes a directory and wherein said step of applying said access control rules includes the step of permitting the client to access said directory only in accordance with said access control rules.
50. A method according to claim 46, wherein said client requests access to a web site via said request and wherein said step of applying said access control rules includes the step of permitting the client to perform operations at said web site only in accordance with said access control rules.
51. A method according to claim 45, further including the step of accessing information related to the degree of trust which may be associated with said client.
52. Apparatus for providing secure directory services while responding to a request for information or services by a client at a first workstation comprising:
a secure communications input module for receiving from said client's workstation a request for directory services including at least one of information and services, said request including a digital certificate for uniquely establishing that said client has a known identity which can subsequently be ambiguously verified;
a directory server module for responding to said request; and a database for storing information indicative of the public key of the issuer of the client's digital certificate and for storing access control rules to apply to requests;
said directory server module being operable to verify the authorization for the server to comply with the request based upon at least one digital certificate and information related to the request context and for retrieving an access control rule to apply to the communication session with said client during which directory services are provided to said client.
a secure communications input module for receiving from said client's workstation a request for directory services including at least one of information and services, said request including a digital certificate for uniquely establishing that said client has a known identity which can subsequently be ambiguously verified;
a directory server module for responding to said request; and a database for storing information indicative of the public key of the issuer of the client's digital certificate and for storing access control rules to apply to requests;
said directory server module being operable to verify the authorization for the server to comply with the request based upon at least one digital certificate and information related to the request context and for retrieving an access control rule to apply to the communication session with said client during which directory services are provided to said client.
53. Apparatus according to claim 52, wherein said directory server module to operable to apply said access control rule is applied to the communications session with said client.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/808,846 US5922074A (en) | 1997-02-28 | 1997-02-28 | Method of and apparatus for providing secure distributed directory services and public key infrastructure |
US08/808,846 | 1997-02-28 |
Publications (1)
Publication Number | Publication Date |
---|---|
CA2230304A1 true CA2230304A1 (en) | 1998-08-28 |
Family
ID=25199919
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA002230304A Abandoned CA2230304A1 (en) | 1997-02-28 | 1998-02-23 | Method of and apparatus for providing secure distributed directory services and public key infrastructure |
Country Status (5)
Country | Link |
---|---|
US (2) | US5922074A (en) |
EP (1) | EP0862105A3 (en) |
JP (1) | JPH10308733A (en) |
AU (1) | AU739898B2 (en) |
CA (1) | CA2230304A1 (en) |
Families Citing this family (334)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10361802B1 (en) | 1999-02-01 | 2019-07-23 | Blanding Hovenweep, Llc | Adaptive pattern recognition based control system and method |
US8352400B2 (en) | 1991-12-23 | 2013-01-08 | Hoffberg Steven M | Adaptive pattern recognition based controller apparatus and method and human-factored interface therefore |
US7937312B1 (en) | 1995-04-26 | 2011-05-03 | Ebay Inc. | Facilitating electronic commerce transactions through binding offers |
US7702540B1 (en) * | 1995-04-26 | 2010-04-20 | Ebay Inc. | Computer-implement method and system for conducting auctions on the internet |
US7647243B2 (en) | 1995-11-07 | 2010-01-12 | Ebay Inc. | Electronic marketplace system and method for creation of a two-tiered pricing scheme |
US6243691B1 (en) * | 1996-03-29 | 2001-06-05 | Onsale, Inc. | Method and system for processing and transmitting electronic auction information |
US7137006B1 (en) | 1999-09-24 | 2006-11-14 | Citicorp Development Center, Inc. | Method and system for single sign-on user access to multiple web servers |
US5922074A (en) * | 1997-02-28 | 1999-07-13 | Xcert Software, Inc. | Method of and apparatus for providing secure distributed directory services and public key infrastructure |
JP3595109B2 (en) * | 1997-05-28 | 2004-12-02 | 日本ユニシス株式会社 | Authentication device, terminal device, authentication method in those devices, and storage medium |
US7290288B2 (en) * | 1997-06-11 | 2007-10-30 | Prism Technologies, L.L.C. | Method and system for controlling access, by an authentication server, to protected computer resources provided via an internet protocol network |
US6141758A (en) * | 1997-07-14 | 2000-10-31 | International Business Machines Corporation | Method and system for maintaining client server security associations in a distributed computing system |
US6141754A (en) * | 1997-11-28 | 2000-10-31 | International Business Machines Corporation | Integrated method and system for controlling information access and distribution |
US6192405B1 (en) * | 1998-01-23 | 2001-02-20 | Novell, Inc. | Method and apparatus for acquiring authorized access to resources in a distributed system |
US7268700B1 (en) | 1998-01-27 | 2007-09-11 | Hoffberg Steven M | Mobile communication device |
US6055636A (en) * | 1998-01-27 | 2000-04-25 | Entrust Technologies, Limited | Method and apparatus for centralizing processing of key and certificate life cycle management |
US6088805A (en) * | 1998-02-13 | 2000-07-11 | International Business Machines Corporation | Systems, methods and computer program products for authenticating client requests with client certificate information |
US6553368B2 (en) * | 1998-03-03 | 2003-04-22 | Sun Microsystems, Inc. | Network directory access mechanism |
US6415289B1 (en) * | 1998-03-19 | 2002-07-02 | Williams Communications, Inc. | Network information control method utilizing a common command format and a centralized storage management system |
US6738905B1 (en) * | 1998-04-15 | 2004-05-18 | Digital Video Express, L.P. | Conditional access via secure logging with simplified key management |
US6965999B2 (en) * | 1998-05-01 | 2005-11-15 | Microsoft Corporation | Intelligent trust management method and system |
US6571337B1 (en) * | 1998-06-24 | 2003-05-27 | International Business Machines Corporation | Delayed secure data retrieval |
US6442686B1 (en) | 1998-07-02 | 2002-08-27 | Networks Associates Technology, Inc. | System and methodology for messaging server-based management and enforcement of crypto policies |
US6336186B1 (en) | 1998-07-02 | 2002-01-01 | Networks Associates Technology, Inc. | Cryptographic system and methodology for creating and managing crypto policy on certificate servers |
US6959288B1 (en) * | 1998-08-13 | 2005-10-25 | International Business Machines Corporation | Digital content preparation system |
GB2341523B (en) * | 1998-09-12 | 2003-10-29 | Ibm | Apparatus and method for establishing communication in a computer network |
IL126552A (en) * | 1998-10-13 | 2007-06-03 | Nds Ltd | Remote administration of smart cards for secure access systems |
US6058417A (en) | 1998-10-23 | 2000-05-02 | Ebay Inc. | Information presentation and management in an online trading environment |
US7007076B1 (en) * | 1998-10-23 | 2006-02-28 | Ebay Inc. | Information presentation and management in an online trading environment |
US6823338B1 (en) * | 1998-11-19 | 2004-11-23 | International Business Machines Corporation | Method, mechanism and computer program product for processing sparse hierarchical ACL data in a relational database |
US7840472B1 (en) | 1999-12-08 | 2010-11-23 | Ebay Inc. | Method and apparatus for holding an online live auction to combine features of both the internet and traditional, real world auctions |
US7162446B1 (en) | 1998-12-08 | 2007-01-09 | Ebay Inc. | Integrated auction |
US8527392B2 (en) * | 1998-12-08 | 2013-09-03 | Ebay Inc. | Method and apparatus for holding a two-stage live auction for on-site and on-line bidders |
US6430688B1 (en) * | 1998-12-22 | 2002-08-06 | International Business Machines Corporation | Architecture for web-based on-line-off-line digital certificate authority |
JP3581589B2 (en) * | 1999-01-11 | 2004-10-27 | 株式会社日立製作所 | Communication network system and service management method in communication network system |
US7904187B2 (en) | 1999-02-01 | 2011-03-08 | Hoffberg Steven M | Internet appliance system and method |
JP2000250832A (en) | 1999-02-26 | 2000-09-14 | Oki Electric Ind Co Ltd | Distributed directory management system |
US6981023B1 (en) * | 1999-03-09 | 2005-12-27 | Michael Hamilton | Message routing |
US7213262B1 (en) | 1999-05-10 | 2007-05-01 | Sun Microsystems, Inc. | Method and system for proving membership in a nested group using chains of credentials |
US7085931B1 (en) | 1999-09-03 | 2006-08-01 | Secure Computing Corporation | Virtual smart card system and method |
EP1085396A1 (en) | 1999-09-17 | 2001-03-21 | Hewlett-Packard Company | Operation of trusted state in computing platform |
DE29917313U1 (en) * | 1999-10-01 | 2001-02-15 | Mwg Biotech Ag | Device for carrying out chemical or biological reactions |
GB2355323A (en) * | 1999-10-05 | 2001-04-18 | Authoriszor Ltd | Information security profile and policy system |
FI108184B (en) * | 1999-10-12 | 2001-11-30 | Sonera Oyj | Service access control |
US6275859B1 (en) * | 1999-10-28 | 2001-08-14 | Sun Microsystems, Inc. | Tree-based reliable multicast system where sessions are established by repair nodes that authenticate receiver nodes presenting participation certificates granted by a central authority |
US6823454B1 (en) * | 1999-11-08 | 2004-11-23 | International Business Machines Corporation | Using device certificates to authenticate servers before automatic address assignment |
US6826690B1 (en) * | 1999-11-08 | 2004-11-30 | International Business Machines Corporation | Using device certificates for automated authentication of communicating devices |
US6842863B1 (en) | 1999-11-23 | 2005-01-11 | Microsoft Corporation | Certificate reissuance for checking the status of a certificate in financial transactions |
US7143144B2 (en) * | 1999-11-30 | 2006-11-28 | Ricoh Company, Ltd. | System, method and computer readable medium for certifying release of electronic information on an internet |
US6466917B1 (en) | 1999-12-03 | 2002-10-15 | Ebay Inc. | Method and apparatus for verifying the identity of a participant within an on-line auction environment |
US7373312B1 (en) | 1999-12-03 | 2008-05-13 | Ebay Inc. | Method and apparatus for facilitating user registration in an on-line auction environment |
US7260715B1 (en) * | 1999-12-09 | 2007-08-21 | Koninklijke Philips Electronics N.V. | Method and apparatus for revocation list management |
US6823452B1 (en) * | 1999-12-17 | 2004-11-23 | International Business Machines Corporation | Providing end-to-end user authentication for host access using digital certificates |
US7149718B1 (en) * | 1999-12-21 | 2006-12-12 | Ebay Inc. | Method and system for the creation and communication of notes concerning an auction participant or item within a network-based auction facility |
US6714982B1 (en) | 2000-01-19 | 2004-03-30 | Fmr Corp. | Message passing over secure connections using a network server |
US8781940B2 (en) | 2000-01-26 | 2014-07-15 | Ebay Inc. | Method and apparatus for facilitating user selection of a category item in a transaction |
US8290809B1 (en) | 2000-02-14 | 2012-10-16 | Ebay Inc. | Determining a community rating for a user using feedback ratings of related users in an electronic environment |
US6993653B1 (en) | 2000-02-22 | 2006-01-31 | International Business Machines Corporation | Identity vectoring via chained mapping records |
US7428505B1 (en) | 2000-02-29 | 2008-09-23 | Ebay, Inc. | Method and system for harvesting feedback and comments regarding multiple items from users of a network-based transaction facility |
US9614934B2 (en) | 2000-02-29 | 2017-04-04 | Paypal, Inc. | Methods and systems for harvesting comments regarding users on a network-based facility |
US7502922B1 (en) * | 2000-03-01 | 2009-03-10 | Novell, Inc. | Computer network having a security layer interface independent of the application transport mechanism |
GB2360368B (en) * | 2000-03-02 | 2002-05-29 | Trustmarque Internat Ltd | A method and apparatus for confirming access of data stored on a remote database |
US7716484B1 (en) * | 2000-03-10 | 2010-05-11 | Rsa Security Inc. | System and method for increasing the security of encrypted secrets and authentication |
KR100430147B1 (en) | 2000-03-15 | 2004-05-03 | 인터내셔널 비지네스 머신즈 코포레이션 | Access Control for Computers |
GB2377059A (en) | 2000-03-17 | 2002-12-31 | Ebay Inc | Method and apparatus for facilitating online payment transactions in a network based transaction facility using multiple payment instruments |
US8706618B2 (en) | 2005-09-29 | 2014-04-22 | Ebay Inc. | Release of funds based on criteria |
US7499875B1 (en) | 2000-03-17 | 2009-03-03 | Ebay Inc. | Method and apparatus for facilitating online payment transactions in a network-based transaction facility using multiple payment instruments |
US7523114B2 (en) * | 2000-04-24 | 2009-04-21 | Ebay Inc. | Method and system for categorizing items in both actual and virtual categories |
US6604107B1 (en) * | 2000-04-24 | 2003-08-05 | Ebay Inc. | Generic attribute database system for storing items of different categories having shared attributes |
US6950933B1 (en) | 2000-05-19 | 2005-09-27 | Networks Associates Technology, Inc. | Method and system for management and notification of electronic certificate changes |
US20040046637A1 (en) | 2000-05-23 | 2004-03-11 | Eveline Wesby Van Swaay | Programmable communicator |
CN1260724C (en) * | 2000-05-25 | 2006-06-21 | 日本胜利株式会社 | Content recording method and apparatus, playing-back method and device and recording media |
US6714930B1 (en) | 2000-05-31 | 2004-03-30 | International Business Machines Corporation | Lightweight directory access protocol, (LDAP) trusted processing of unique identifiers |
US7673229B1 (en) | 2000-06-07 | 2010-03-02 | Ebay Inc. | Apparatus and method for generating sub-codes to a turbo-encoder |
US6934859B2 (en) * | 2000-06-09 | 2005-08-23 | Northrop Grumman Corporation | Authenticated search engines |
US6941455B2 (en) * | 2000-06-09 | 2005-09-06 | Northrop Grumman Corporation | System and method for cross directory authentication in a public key infrastructure |
US7028181B1 (en) * | 2000-06-09 | 2006-04-11 | Northrop Grumman Corporation | System and method for efficient and secure revocation of a signature certificate in a public key infrastructure |
US20040073617A1 (en) | 2000-06-19 | 2004-04-15 | Milliken Walter Clark | Hash-based systems and methods for detecting and preventing transmission of unwanted e-mail |
US6581060B1 (en) * | 2000-06-21 | 2003-06-17 | International Business Machines Corporation | System and method for RDBMS to protect records in accordance with non-RDBMS access control rules |
WO2002001827A2 (en) | 2000-06-26 | 2002-01-03 | Intel Corporation | Establishing network security using internet protocol security policies |
US6973569B1 (en) * | 2000-06-30 | 2005-12-06 | Sun Microsystems, Inc. | Inexpensive secure on-line certification authority system and method |
US6757680B1 (en) | 2000-07-03 | 2004-06-29 | International Business Machines Corporation | System and method for inheriting access control rules |
US7080085B1 (en) | 2000-07-12 | 2006-07-18 | International Business Machines Corporation | System and method for ensuring referential integrity for heterogeneously scoped references in an information management system |
US7340048B2 (en) * | 2000-07-14 | 2008-03-04 | Context Connect Llc | System and method for directory services and e-commerce across multi-provider networks |
US6731927B1 (en) | 2000-07-14 | 2004-05-04 | Context Connect, Inc. | System and method for context association |
US7899173B2 (en) * | 2000-07-14 | 2011-03-01 | Context Connect, Llc | Communication connectivity via context association, advertising sponsorship, and multiple contact databases |
GB0020441D0 (en) * | 2000-08-18 | 2000-10-04 | Hewlett Packard Co | Performance of a service on a computing platform |
US7275155B1 (en) * | 2000-09-01 | 2007-09-25 | Northrop Grumman Corporation | Chain of trust processing |
US6944599B1 (en) * | 2000-09-13 | 2005-09-13 | Ebay Inc. | Monitoring and automatic notification of irregular activity in a network-based transaction facility |
US6523037B1 (en) | 2000-09-22 | 2003-02-18 | Ebay Inc, | Method and system for communicating selected search results between first and second entities over a network |
US7660740B2 (en) | 2000-10-16 | 2010-02-09 | Ebay Inc. | Method and system for listing items globally and regionally, and customized listing according to currency or shipping area |
US6748422B2 (en) | 2000-10-19 | 2004-06-08 | Ebay Inc. | System and method to control sending of unsolicited communications relating to a plurality of listings in a network-based commerce facility |
US7340429B2 (en) * | 2000-10-23 | 2008-03-04 | Ebay Inc. | Method and system to enable a fixed price purchase within a online auction environment |
US7203634B2 (en) * | 2000-10-30 | 2007-04-10 | Translation Technologies, Inc. | Computational geometry system, interrupt interface, and method |
AU2002210969A1 (en) * | 2000-10-31 | 2002-05-15 | Arkray, Inc. | User authentication method in network |
US8458214B1 (en) | 2000-11-14 | 2013-06-04 | Ebay Inc. | Taxonomy-based database partitioning |
JP2002215585A (en) * | 2000-11-16 | 2002-08-02 | Fuji Xerox Co Ltd | Device and method for processing subject name of individual certificate |
US20030236985A1 (en) * | 2000-11-24 | 2003-12-25 | Nokia Corporation | Transaction security in electronic commerce |
GB2376763B (en) | 2001-06-19 | 2004-12-15 | Hewlett Packard Co | Demonstrating integrity of a compartment of a compartmented operating system |
US7299206B2 (en) | 2000-11-30 | 2007-11-20 | Ebay Inc. | Method and system to implement seller authorized buying privileges within a network-based shopping facility |
US20020072968A1 (en) * | 2000-12-12 | 2002-06-13 | Gorelick Richard B. | System and method for incentivizing online sales |
US7123722B2 (en) * | 2000-12-18 | 2006-10-17 | Globalcerts, Lc | Encryption management system and method |
US20020078152A1 (en) | 2000-12-19 | 2002-06-20 | Barry Boone | Method and apparatus for providing predefined feedback |
US7774279B2 (en) * | 2001-05-31 | 2010-08-10 | Contentguard Holdings, Inc. | Rights offering and granting |
US20020099668A1 (en) * | 2001-01-22 | 2002-07-25 | Sun Microsystems, Inc. | Efficient revocation of registration authorities |
US20020099822A1 (en) * | 2001-01-25 | 2002-07-25 | Rubin Aviel D. | Method and apparatus for on demand certificate revocation updates |
US7310733B1 (en) | 2001-01-29 | 2007-12-18 | Ebay Inc. | Method and system for maintaining login preference information of users in a network-based transaction facility |
EP1227386A1 (en) * | 2001-01-30 | 2002-07-31 | International Business Machines Corporation | Access control for computers |
GB0102516D0 (en) * | 2001-01-31 | 2001-03-21 | Hewlett Packard Co | Trusted gateway system |
GB0102518D0 (en) * | 2001-01-31 | 2001-03-21 | Hewlett Packard Co | Trusted operating system |
GB2372345A (en) * | 2001-02-17 | 2002-08-21 | Hewlett Packard Co | Secure email handling using a compartmented operating system |
GB2372592B (en) | 2001-02-23 | 2005-03-30 | Hewlett Packard Co | Information system |
GB2372593B (en) * | 2001-02-23 | 2005-05-18 | Hewlett Packard Co | Electronic communication |
GB2372595A (en) | 2001-02-23 | 2002-08-28 | Hewlett Packard Co | Method of and apparatus for ascertaining the status of a data processing environment. |
US6938155B2 (en) | 2001-05-24 | 2005-08-30 | International Business Machines Corporation | System and method for multiple virtual private network authentication schemes |
US7003662B2 (en) * | 2001-05-24 | 2006-02-21 | International Business Machines Corporation | System and method for dynamically determining CRL locations and access methods |
US20020178240A1 (en) * | 2001-05-24 | 2002-11-28 | International Business Machines Corporation | System and method for selectively confirming digital certificates in a virtual private network |
EP1393230A4 (en) * | 2001-06-07 | 2004-07-07 | Contentguard Holdings Inc | Method and apparatus managing the transfer of rights |
US7774280B2 (en) | 2001-06-07 | 2010-08-10 | Contentguard Holdings, Inc. | System and method for managing transfer of rights using shared state variables |
US8428996B2 (en) * | 2001-06-11 | 2013-04-23 | Ebay Inc. | Method and system automatically to support multiple transaction types, and to display seller-specific transactions of various transaction types in an integrated, commingled listing |
GB2376762A (en) * | 2001-06-19 | 2002-12-24 | Hewlett Packard Co | Renting a computing environment on a trusted computing platform |
GB2376764B (en) * | 2001-06-19 | 2004-12-29 | Hewlett Packard Co | Multiple trusted computing environments |
GB2376761A (en) * | 2001-06-19 | 2002-12-24 | Hewlett Packard Co | An arrangement in which a process is run on a host operating system but may be switched to a guest system if it poses a security risk |
GB0114898D0 (en) * | 2001-06-19 | 2001-08-08 | Hewlett Packard Co | Interaction with electronic services and markets |
GB2376765B (en) * | 2001-06-19 | 2004-12-29 | Hewlett Packard Co | Multiple trusted computing environments with verifiable environment identities |
GB2409919B (en) * | 2001-07-06 | 2005-11-23 | Livedevices Ltd | Improvements relating to internet-connected devices |
GB2378013A (en) * | 2001-07-27 | 2003-01-29 | Hewlett Packard Co | Trusted computer platform audit system |
US7890375B2 (en) * | 2001-07-31 | 2011-02-15 | Half.Com, Inc. | Method and system to facilitate pre-ordering via an electronic commerce facility, and to automatically facilitate satisfying of a pre-order upon listing of an appropriate offer via the electronic commerce facility |
WO2003015372A1 (en) * | 2001-07-31 | 2003-02-20 | Abolhassan Agha | Secure network architecture |
US7197640B2 (en) * | 2001-08-10 | 2007-03-27 | Meisel William S | Use of identification codes in the handling and management of communications |
JP2003069559A (en) * | 2001-08-23 | 2003-03-07 | Sony Corp | Content protection system |
US7310821B2 (en) * | 2001-08-27 | 2007-12-18 | Dphi Acquisitions, Inc. | Host certification method and system |
US7672903B2 (en) * | 2001-08-27 | 2010-03-02 | Dphi Acquisitions, Inc. | Revocation method and apparatus for secure content |
US7493363B2 (en) | 2001-09-19 | 2009-02-17 | Microsoft Corporation | Peer-to-peer group management and method for maintaining peer-to-peer graphs |
US7299351B2 (en) * | 2001-09-19 | 2007-11-20 | Microsoft Corporation | Peer-to-peer name resolution protocol (PNRP) security infrastructure and method |
US7752266B2 (en) | 2001-10-11 | 2010-07-06 | Ebay Inc. | System and method to facilitate translation of communications between entities over a network |
US20030074555A1 (en) * | 2001-10-17 | 2003-04-17 | Fahn Paul Neil | URL-based certificate in a PKI |
US8332275B2 (en) * | 2001-10-31 | 2012-12-11 | Ebay Inc. | Method and apparatus to facilitate a transaction within a network-based facility |
GB2382419B (en) * | 2001-11-22 | 2005-12-14 | Hewlett Packard Co | Apparatus and method for creating a trusted environment |
US20030131232A1 (en) * | 2001-11-28 | 2003-07-10 | Fraser John D. | Directory-based secure communities |
US20030130960A1 (en) * | 2001-11-28 | 2003-07-10 | Fraser John D. | Bridging service for security validation within enterprises |
US20030105876A1 (en) * | 2001-11-30 | 2003-06-05 | Angelo Michael F. | Automatic generation of verifiable customer certificates |
US7921284B1 (en) | 2001-12-12 | 2011-04-05 | Gary Mark Kinghorn | Method and system for protecting electronic data in enterprise environment |
US7681034B1 (en) | 2001-12-12 | 2010-03-16 | Chang-Ping Lee | Method and apparatus for securing electronic data |
US7562232B2 (en) * | 2001-12-12 | 2009-07-14 | Patrick Zuili | System and method for providing manageability to security information for secured items |
USRE41546E1 (en) | 2001-12-12 | 2010-08-17 | Klimenty Vainstein | Method and system for managing security tiers |
US7380120B1 (en) | 2001-12-12 | 2008-05-27 | Guardian Data Storage, Llc | Secured data format for access control |
US7783765B2 (en) | 2001-12-12 | 2010-08-24 | Hildebrand Hal S | System and method for providing distributed access control to secured documents |
US8065713B1 (en) | 2001-12-12 | 2011-11-22 | Klimenty Vainstein | System and method for providing multi-location access management to secured items |
US10033700B2 (en) | 2001-12-12 | 2018-07-24 | Intellectual Ventures I Llc | Dynamic evaluation of access rights |
US7260555B2 (en) | 2001-12-12 | 2007-08-21 | Guardian Data Storage, Llc | Method and architecture for providing pervasive security to digital assets |
US7565683B1 (en) | 2001-12-12 | 2009-07-21 | Weiqing Huang | Method and system for implementing changes to security policies in a distributed security system |
US8006280B1 (en) | 2001-12-12 | 2011-08-23 | Hildebrand Hal S | Security system for generating keys from access rules in a decentralized manner and methods therefor |
US7921288B1 (en) | 2001-12-12 | 2011-04-05 | Hildebrand Hal S | System and method for providing different levels of key security for controlling access to secured items |
US7930756B1 (en) | 2001-12-12 | 2011-04-19 | Crocker Steven Toye | Multi-level cryptographic transformations for securing digital assets |
US10360545B2 (en) | 2001-12-12 | 2019-07-23 | Guardian Data Storage, Llc | Method and apparatus for accessing secured electronic data off-line |
US7921450B1 (en) | 2001-12-12 | 2011-04-05 | Klimenty Vainstein | Security system using indirect key generation from access rules and methods therefor |
US7178033B1 (en) | 2001-12-12 | 2007-02-13 | Pss Systems, Inc. | Method and apparatus for securing digital assets |
US7305469B2 (en) | 2001-12-18 | 2007-12-04 | Ebay Inc. | Prioritization of third party access to an online commerce site |
US7054944B2 (en) * | 2001-12-19 | 2006-05-30 | Intel Corporation | Access control management system utilizing network and application layer access control lists |
US7950066B1 (en) | 2001-12-21 | 2011-05-24 | Guardian Data Storage, Llc | Method and system for restricting use of a clipboard application |
US8176334B2 (en) * | 2002-09-30 | 2012-05-08 | Guardian Data Storage, Llc | Document security system that permits external users to gain access to secured files |
ATE526784T1 (en) * | 2002-02-27 | 2011-10-15 | Opentv Inc | METHOD AND DEVICE FOR PROVIDING A HIERARCHICAL SECURITY PROFILE OBJECT |
US20040003247A1 (en) * | 2002-03-11 | 2004-01-01 | Fraser John D. | Non-centralized secure communication services |
CN1653783B (en) * | 2002-03-20 | 2010-06-16 | 捷讯研究有限公司 | System and method of mobile lightweight directory access |
US8918073B2 (en) | 2002-03-28 | 2014-12-23 | Telecommunication Systems, Inc. | Wireless telecommunications location based services scheme selection |
US8290505B2 (en) | 2006-08-29 | 2012-10-16 | Telecommunications Systems, Inc. | Consequential location derived information |
US8027697B2 (en) | 2007-09-28 | 2011-09-27 | Telecommunication Systems, Inc. | Public safety access point (PSAP) selection for E911 wireless callers in a GSM type system |
US7426380B2 (en) | 2002-03-28 | 2008-09-16 | Telecommunication Systems, Inc. | Location derived presence information |
US9154906B2 (en) | 2002-03-28 | 2015-10-06 | Telecommunication Systems, Inc. | Area watcher for wireless network |
US8126889B2 (en) | 2002-03-28 | 2012-02-28 | Telecommunication Systems, Inc. | Location fidelity adjustment based on mobile subscriber privacy profile |
US8613102B2 (en) | 2004-03-30 | 2013-12-17 | Intellectual Ventures I Llc | Method and system for providing document retention using cryptography |
US7092942B2 (en) * | 2002-05-31 | 2006-08-15 | Bea Systems, Inc. | Managing secure resources in web resources that are accessed by multiple portals |
JP3791464B2 (en) * | 2002-06-07 | 2006-06-28 | ソニー株式会社 | Access authority management system, relay server and method, and computer program |
US8719041B2 (en) | 2002-06-10 | 2014-05-06 | Ebay Inc. | Method and system for customizing a network-based transaction facility seller application |
US8078505B2 (en) | 2002-06-10 | 2011-12-13 | Ebay Inc. | Method and system for automatically updating a seller application utilized in a network-based transaction facility |
US7941348B2 (en) | 2002-06-10 | 2011-05-10 | Ebay Inc. | Method and system for scheduling transaction listings at a network-based transaction facility |
US20040019805A1 (en) * | 2002-07-25 | 2004-01-29 | Perkins Gregory M. | Apparatus and method for securing a distributed network |
US7512810B1 (en) | 2002-09-11 | 2009-03-31 | Guardian Data Storage Llc | Method and system for protecting encrypted files transmitted over a network |
US20040064691A1 (en) * | 2002-09-26 | 2004-04-01 | International Business Machines Corporation | Method and system for processing certificate revocation lists in an authorization system |
US7337224B1 (en) * | 2002-10-24 | 2008-02-26 | Cisco Technology, Inc. | Method and apparatus providing policy-based determination of network addresses |
US7568218B2 (en) * | 2002-10-31 | 2009-07-28 | Microsoft Corporation | Selective cross-realm authentication |
US7836310B1 (en) | 2002-11-01 | 2010-11-16 | Yevgeniy Gutnik | Security system that uses indirect password-based encryption |
US7469416B2 (en) * | 2002-11-05 | 2008-12-23 | International Business Machines Corporation | Method for automatically managing information privacy |
US7613812B2 (en) | 2002-12-04 | 2009-11-03 | Microsoft Corporation | Peer-to-peer identity management interfaces and methods |
US7890990B1 (en) | 2002-12-20 | 2011-02-15 | Klimenty Vainstein | Security system with staging capabilities |
US7904346B2 (en) * | 2002-12-31 | 2011-03-08 | Ebay Inc. | Method and system to adjust a seller fixed price offer |
US7593866B2 (en) * | 2002-12-31 | 2009-09-22 | Ebay Inc. | Introducing a fixed-price transaction mechanism in conjunction with an auction transaction mechanism |
US7596625B2 (en) | 2003-01-27 | 2009-09-29 | Microsoft Corporation | Peer-to-peer grouping interfaces and methods |
US9818136B1 (en) | 2003-02-05 | 2017-11-14 | Steven M. Hoffberg | System and method for determining contingent relevance |
CA2458123C (en) * | 2003-03-13 | 2012-05-15 | Synodon Inc. | Remote sensing of gas leaks |
US9881308B2 (en) | 2003-04-11 | 2018-01-30 | Ebay Inc. | Method and system to facilitate an online promotion relating to a network-based marketplace |
US8707034B1 (en) | 2003-05-30 | 2014-04-22 | Intellectual Ventures I Llc | Method and system for using remote headers to secure electronic files |
US7742985B1 (en) | 2003-06-26 | 2010-06-22 | Paypal Inc. | Multicurrency exchanges between participants of a network-based transaction facility |
US7730543B1 (en) | 2003-06-30 | 2010-06-01 | Satyajit Nath | Method and system for enabling users of a group shared across multiple file security systems to access secured files |
US20050001743A1 (en) * | 2003-07-02 | 2005-01-06 | Haemerle Richard R. | Information retrieval and display device and system |
US7599938B1 (en) | 2003-07-11 | 2009-10-06 | Harrison Jr Shelton E | Social news gathering, prioritizing, tagging, searching, and syndication method |
FR2860366A1 (en) * | 2003-09-26 | 2005-04-01 | France Telecom | TELECOMMUNICATION SYSTEM IMPLEMENTING RESOLUTION OF SECURE DOMAIN NAMES |
US8127366B2 (en) | 2003-09-30 | 2012-02-28 | Guardian Data Storage, Llc | Method and apparatus for transitioning between states of security policies used to secure electronic documents |
US7703140B2 (en) | 2003-09-30 | 2010-04-20 | Guardian Data Storage, Llc | Method and system for securing digital assets using process-driven security policies |
US7496648B2 (en) * | 2003-10-23 | 2009-02-24 | Microsoft Corporation | Managed peer name resolution protocol (PNRP) interfaces for peer to peer networking |
US7949996B2 (en) | 2003-10-23 | 2011-05-24 | Microsoft Corporation | Peer-to-peer identity management managed interfaces and methods |
EP1690368B1 (en) * | 2003-11-12 | 2014-07-02 | Avaya Canada Corp. | Peer discovery |
EP1533971A1 (en) * | 2003-11-18 | 2005-05-25 | STMicroelectronics S.r.l. | Method and system for establishing secure communication |
US7424293B2 (en) | 2003-12-02 | 2008-09-09 | Telecommunication Systems, Inc. | User plane location based service using message tunneling to support roaming |
US7783555B2 (en) * | 2003-12-11 | 2010-08-24 | Ebay Inc. | Auction with interest rate bidding |
US20050131837A1 (en) | 2003-12-15 | 2005-06-16 | Sanctis Jeanne D. | Method, system and program product for communicating e-commerce content over-the-air to mobile devices |
US8146141B1 (en) | 2003-12-16 | 2012-03-27 | Citibank Development Center, Inc. | Method and system for secure authentication of a user by a host system |
US7260186B2 (en) | 2004-03-23 | 2007-08-21 | Telecommunication Systems, Inc. | Solutions for voice over internet protocol (VoIP) 911 location services |
US20080126535A1 (en) | 2006-11-28 | 2008-05-29 | Yinjun Zhu | User plane location services over session initiation protocol (SIP) |
US20080090546A1 (en) | 2006-10-17 | 2008-04-17 | Richard Dickinson | Enhanced E911 network access for a call center using session initiation protocol (SIP) messaging |
DE60315853D1 (en) | 2003-12-24 | 2007-10-04 | St Microelectronics Srl | Method for decrypting a message |
US7363429B2 (en) * | 2004-01-29 | 2008-04-22 | Toshiba Corporation | System and method for caching directory data in a networked computer environment |
US8688803B2 (en) * | 2004-03-26 | 2014-04-01 | Microsoft Corporation | Method for efficient content distribution using a peer-to-peer networking infrastructure |
US7792763B2 (en) | 2004-04-12 | 2010-09-07 | Ebay Inc. | Method and system to detect outlying behavior in a network-based marketplace |
US9189568B2 (en) | 2004-04-23 | 2015-11-17 | Ebay Inc. | Method and system to display and search in a language independent manner |
US20050246187A1 (en) * | 2004-04-30 | 2005-11-03 | Reed Maltzman | System and method to facilitate differentiated levels of service in a network-based marketplace |
US8370269B2 (en) | 2004-06-02 | 2013-02-05 | Overstock.Com, Inc. | System and methods for electronic commerce using personal and business networks |
US20060005032A1 (en) * | 2004-06-15 | 2006-01-05 | Adam Cain | Method and system for enabling trust-based authorization over a network |
US20070208946A1 (en) * | 2004-07-06 | 2007-09-06 | Oracle International Corporation | High performance secure caching in the mid-tier |
US7707427B1 (en) | 2004-07-19 | 2010-04-27 | Michael Frederick Kenrich | Multi-level file digests |
US20060041507A1 (en) * | 2004-08-13 | 2006-02-23 | Sbc Knowledge Ventures L.P. | Pluggable authentication for transaction tool management services |
US20060059546A1 (en) * | 2004-09-01 | 2006-03-16 | David Nester | Single sign-on identity and access management and user authentication method and apparatus |
US7590589B2 (en) | 2004-09-10 | 2009-09-15 | Hoffberg Steven M | Game theoretic prioritization scheme for mobile ad hoc networks permitting hierarchal deference |
US8312431B1 (en) * | 2004-09-17 | 2012-11-13 | Oracle America, Inc. | System and computer readable medium for verifying access to signed ELF objects |
US8719075B2 (en) * | 2004-09-23 | 2014-05-06 | Overstock.Com, Inc. | System, program product, and methods for online image handling |
US7113128B1 (en) | 2004-10-15 | 2006-09-26 | Telecommunication Systems, Inc. | Culled satellite ephemeris information for quick, accurate assisted locating satellite location determination for cell site antennas |
US7629926B2 (en) | 2004-10-15 | 2009-12-08 | Telecommunication Systems, Inc. | Culled satellite ephemeris information for quick, accurate assisted locating satellite location determination for cell site antennas |
US7411546B2 (en) | 2004-10-15 | 2008-08-12 | Telecommunication Systems, Inc. | Other cell sites used as reference point to cull satellite ephemeris information for quick, accurate assisted locating satellite location determination |
US6985105B1 (en) | 2004-10-15 | 2006-01-10 | Telecommunication Systems, Inc. | Culled satellite ephemeris information based on limiting a span of an inverted cone for locating satellite in-range determinations |
EP1815642A4 (en) | 2004-11-04 | 2010-12-29 | Topeer Corp | System and method for creating a secure trusted social network |
US20060117004A1 (en) * | 2004-11-30 | 2006-06-01 | Hunt Charles L | System and method for contextually understanding and analyzing system use and misuse |
US8365301B2 (en) * | 2005-02-22 | 2013-01-29 | Microsoft Corporation | Peer-to-peer network communication |
US7849303B2 (en) * | 2005-02-22 | 2010-12-07 | Microsoft Corporation | Peer-to-peer network information storage |
WO2006100522A1 (en) | 2005-03-22 | 2006-09-28 | Hewlett-Packard Development Company, L.P. | Methods, devices and data structures for trusted data |
US7353034B2 (en) | 2005-04-04 | 2008-04-01 | X One, Inc. | Location sharing and tracking using mobile phones or other wireless devices |
US8036140B2 (en) * | 2005-04-22 | 2011-10-11 | Microsoft Corporation | Application programming interface for inviting participants in a serverless peer to peer network |
US7571228B2 (en) | 2005-04-22 | 2009-08-04 | Microsoft Corporation | Contact management in a serverless peer-to-peer system |
US7844816B2 (en) * | 2005-06-08 | 2010-11-30 | International Business Machines Corporation | Relying party trust anchor based public key technology framework |
US7650307B2 (en) * | 2005-06-28 | 2010-01-19 | Ebay Inc. | Method and system to enable a fixed price purchase within a multi-unit online auction environment |
US8660573B2 (en) | 2005-07-19 | 2014-02-25 | Telecommunications Systems, Inc. | Location service requests throttling |
US8234340B2 (en) * | 2005-09-16 | 2012-07-31 | Microsoft Corporation | Outsourcing of instant messaging hosting services |
US7987251B2 (en) * | 2005-09-16 | 2011-07-26 | Microsoft Corporation | Validation of domain name control |
US7925786B2 (en) * | 2005-09-16 | 2011-04-12 | Microsoft Corp. | Hosting of network-based services |
US8244812B2 (en) * | 2005-09-16 | 2012-08-14 | Microsoft Corporation | Outsourcing of email hosting services |
US7979340B2 (en) | 2005-09-21 | 2011-07-12 | Overstock.Com, Inc. | System, program product, and methods for online image handling |
US9282451B2 (en) | 2005-09-26 | 2016-03-08 | Telecommunication Systems, Inc. | Automatic location identification (ALI) service requests steering, connection sharing and protocol translation |
US8874477B2 (en) | 2005-10-04 | 2014-10-28 | Steven Mark Hoffberg | Multifactorial optimization system and method |
US7825780B2 (en) | 2005-10-05 | 2010-11-02 | Telecommunication Systems, Inc. | Cellular augmented vehicle alarm notification together with location services for position of an alarming vehicle |
US7907551B2 (en) * | 2005-10-06 | 2011-03-15 | Telecommunication Systems, Inc. | Voice over internet protocol (VoIP) location based 911 conferencing |
US8467320B2 (en) | 2005-10-06 | 2013-06-18 | Telecommunication Systems, Inc. | Voice over internet protocol (VoIP) multi-user conferencing |
US8700902B2 (en) * | 2006-02-13 | 2014-04-15 | At&T Intellectual Property I, L.P. | Methods and apparatus to certify digital signatures |
US8150363B2 (en) | 2006-02-16 | 2012-04-03 | Telecommunication Systems, Inc. | Enhanced E911 network access for call centers |
US8059789B2 (en) | 2006-02-24 | 2011-11-15 | Telecommunication Systems, Inc. | Automatic location identification (ALI) emergency services pseudo key (ESPK) |
US7471236B1 (en) | 2006-03-01 | 2008-12-30 | Telecommunication Systems, Inc. | Cellular augmented radar/laser detector |
US7899450B2 (en) | 2006-03-01 | 2011-03-01 | Telecommunication Systems, Inc. | Cellular augmented radar/laser detection using local mobile network within cellular network |
US9167553B2 (en) | 2006-03-01 | 2015-10-20 | Telecommunication Systems, Inc. | GeoNexus proximity detector network |
US8208605B2 (en) | 2006-05-04 | 2012-06-26 | Telecommunication Systems, Inc. | Extended efficient usage of emergency services keys |
US9704174B1 (en) | 2006-05-25 | 2017-07-11 | Sean I. Mcghie | Conversion of loyalty program points to commerce partner points per terms of a mutual agreement |
US7703673B2 (en) | 2006-05-25 | 2010-04-27 | Buchheit Brian K | Web based conversion of non-negotiable credits associated with an entity to entity independent negotiable funds |
US10062062B1 (en) | 2006-05-25 | 2018-08-28 | Jbshbm, Llc | Automated teller machine (ATM) providing money for loyalty points |
US8668146B1 (en) | 2006-05-25 | 2014-03-11 | Sean I. Mcghie | Rewards program with payment artifact permitting conversion/transfer of non-negotiable credits to entity independent funds |
US8684265B1 (en) | 2006-05-25 | 2014-04-01 | Sean I. Mcghie | Rewards program website permitting conversion/transfer of non-negotiable credits to entity independent funds |
US8639782B2 (en) | 2006-08-23 | 2014-01-28 | Ebay, Inc. | Method and system for sharing metadata between interfaces |
US7966013B2 (en) | 2006-11-03 | 2011-06-21 | Telecommunication Systems, Inc. | Roaming gateway enabling location based services (LBS) roaming for user plane in CDMA networks without requiring use of a mobile positioning center (MPC) |
US8799218B2 (en) * | 2006-12-01 | 2014-08-05 | Ebay Inc. | Business channel synchronization |
US8050386B2 (en) | 2007-02-12 | 2011-11-01 | Telecommunication Systems, Inc. | Mobile automatic location identification (ALI) for first responders |
WO2008122645A2 (en) * | 2007-04-10 | 2008-10-16 | Apertio Limited | Improved sub-tree access control in network architectures |
US8185087B2 (en) | 2007-09-17 | 2012-05-22 | Telecommunication Systems, Inc. | Emergency 911 data messaging |
US7929530B2 (en) | 2007-11-30 | 2011-04-19 | Telecommunication Systems, Inc. | Ancillary data support in session initiation protocol (SIP) messaging |
US8112535B2 (en) * | 2007-11-30 | 2012-02-07 | Microsoft Corporation | Securing a server in a dynamic addressing environment |
US9130963B2 (en) | 2011-04-06 | 2015-09-08 | Telecommunication Systems, Inc. | Ancillary data support in session initiation protocol (SIP) messaging |
US8549407B2 (en) | 2007-12-05 | 2013-10-01 | Ebay Inc. | Multi-dimensional dynamic visual browsing |
US8583480B2 (en) | 2007-12-21 | 2013-11-12 | Overstock.Com, Inc. | System, program product, and methods for social network advertising and incentives for same |
US8214804B2 (en) * | 2007-12-31 | 2012-07-03 | Overstock.Com, Inc. | System and method for assigning computer users to test groups |
US8326662B1 (en) | 2008-06-18 | 2012-12-04 | Overstock.Com, Inc. | Positioning E-commerce product related to graphical imputed consumer demand |
US8068587B2 (en) | 2008-08-22 | 2011-11-29 | Telecommunication Systems, Inc. | Nationwide table routing of voice over internet protocol (VOIP) emergency calls |
US20100082133A1 (en) * | 2008-09-30 | 2010-04-01 | Ics Triplex Isagraf Inc. | Application builder for industrial automation |
US8892128B2 (en) | 2008-10-14 | 2014-11-18 | Telecommunication Systems, Inc. | Location based geo-reminders |
WO2010044837A1 (en) | 2008-10-14 | 2010-04-22 | Telecommunication Systems, Inc. | Location based proximity alert |
US8943311B2 (en) | 2008-11-04 | 2015-01-27 | Securekey Technologies Inc. | System and methods for online authentication |
US8843997B1 (en) * | 2009-01-02 | 2014-09-23 | Resilient Network Systems, Inc. | Resilient trust network services |
WO2010094125A1 (en) | 2009-02-19 | 2010-08-26 | Securekey Technologies Inc. | System and methods for online authentication |
US9747622B1 (en) | 2009-03-24 | 2017-08-29 | Overstock.Com, Inc. | Point-and-shoot product lister |
US9301191B2 (en) | 2013-09-20 | 2016-03-29 | Telecommunication Systems, Inc. | Quality of service to over the top applications used with VPN |
US8867485B2 (en) | 2009-05-05 | 2014-10-21 | Telecommunication Systems, Inc. | Multiple location retrieval function (LRF) network having location continuity |
US8331568B2 (en) * | 2009-05-28 | 2012-12-11 | Microsoft Corporation | Efficient distribution of computation in key agreement |
US8775398B2 (en) * | 2009-06-01 | 2014-07-08 | Ebay Inc. | Method and system for determining an order of presentation of search results |
US8676632B1 (en) | 2009-07-16 | 2014-03-18 | Overstock.Com, Inc. | Pricing and forecasting |
CA2782713C (en) * | 2009-12-01 | 2018-05-01 | Securekey Technologies Inc. | System and methods for identity attribute validation |
US8315599B2 (en) | 2010-07-09 | 2012-11-20 | Telecommunication Systems, Inc. | Location privacy selector |
US8336664B2 (en) | 2010-07-09 | 2012-12-25 | Telecommunication Systems, Inc. | Telematics basic mobile device safety interlock |
US8688087B2 (en) | 2010-12-17 | 2014-04-01 | Telecommunication Systems, Inc. | N-dimensional affinity confluencer |
US8942743B2 (en) | 2010-12-17 | 2015-01-27 | Telecommunication Systems, Inc. | iALERT enhanced alert manager |
WO2012087353A1 (en) | 2010-12-22 | 2012-06-28 | Telecommunication Systems, Inc. | Area event handling when current network does not cover target area |
WO2012141762A1 (en) | 2011-02-25 | 2012-10-18 | Telecommunication Systems, Inc. | Mobile internet protocol (ip) location |
US9047642B2 (en) | 2011-03-24 | 2015-06-02 | Overstock.Com, Inc. | Social choice engine |
US8649806B2 (en) | 2011-09-02 | 2014-02-11 | Telecommunication Systems, Inc. | Aggregate location dynometer (ALD) |
US9479344B2 (en) | 2011-09-16 | 2016-10-25 | Telecommunication Systems, Inc. | Anonymous voice conversation |
WO2013048551A1 (en) | 2011-09-30 | 2013-04-04 | Telecommunication Systems, Inc. | Unique global identifier for minimizing prank 911 calls |
US9264537B2 (en) | 2011-12-05 | 2016-02-16 | Telecommunication Systems, Inc. | Special emergency call treatment based on the caller |
US9313637B2 (en) | 2011-12-05 | 2016-04-12 | Telecommunication Systems, Inc. | Wireless emergency caller profile data delivery over a legacy interface |
US8984591B2 (en) | 2011-12-16 | 2015-03-17 | Telecommunications Systems, Inc. | Authentication via motion of wireless device movement |
US9384339B2 (en) | 2012-01-13 | 2016-07-05 | Telecommunication Systems, Inc. | Authenticating cloud computing enabling secure services |
US8688174B2 (en) | 2012-03-13 | 2014-04-01 | Telecommunication Systems, Inc. | Integrated, detachable ear bud device for a wireless phone |
US9544260B2 (en) | 2012-03-26 | 2017-01-10 | Telecommunication Systems, Inc. | Rapid assignment dynamic ownership queue |
US9307372B2 (en) | 2012-03-26 | 2016-04-05 | Telecommunication Systems, Inc. | No responders online |
US9338153B2 (en) | 2012-04-11 | 2016-05-10 | Telecommunication Systems, Inc. | Secure distribution of non-privileged authentication credentials |
US8744078B2 (en) | 2012-06-05 | 2014-06-03 | Secure Channels Sa | System and method for securing multiple data segments having different lengths using pattern keys having multiple different strengths |
US9313638B2 (en) | 2012-08-15 | 2016-04-12 | Telecommunication Systems, Inc. | Device independent caller data access for emergency calls |
US9208346B2 (en) | 2012-09-05 | 2015-12-08 | Telecommunication Systems, Inc. | Persona-notitia intellection codifier |
US10546262B2 (en) | 2012-10-19 | 2020-01-28 | Overstock.Com, Inc. | Supply chain management system |
US10949876B2 (en) | 2012-10-29 | 2021-03-16 | Overstock.Com, Inc. | System and method for management of email marketing campaigns |
US9456301B2 (en) | 2012-12-11 | 2016-09-27 | Telecommunication Systems, Inc. | Efficient prisoner tracking |
US11676192B1 (en) | 2013-03-15 | 2023-06-13 | Overstock.Com, Inc. | Localized sort of ranked product recommendations based on predicted user intent |
US11023947B1 (en) | 2013-03-15 | 2021-06-01 | Overstock.Com, Inc. | Generating product recommendations using a blend of collaborative and content-based data |
US8983047B2 (en) | 2013-03-20 | 2015-03-17 | Telecommunication Systems, Inc. | Index of suspicion determination for communications request |
US10810654B1 (en) | 2013-05-06 | 2020-10-20 | Overstock.Com, Inc. | System and method of mapping product attributes between different schemas |
US9483788B2 (en) | 2013-06-25 | 2016-11-01 | Overstock.Com, Inc. | System and method for graphically building weighted search queries |
US10929890B2 (en) | 2013-08-15 | 2021-02-23 | Overstock.Com, Inc. | System and method of personalizing online marketing campaigns |
US9408034B2 (en) | 2013-09-09 | 2016-08-02 | Telecommunication Systems, Inc. | Extended area event for network based proximity discovery |
US9516104B2 (en) | 2013-09-11 | 2016-12-06 | Telecommunication Systems, Inc. | Intelligent load balancer enhanced routing |
US9479897B2 (en) | 2013-10-03 | 2016-10-25 | Telecommunication Systems, Inc. | SUPL-WiFi access point controller location based services for WiFi enabled mobile devices |
US10872350B1 (en) | 2013-12-06 | 2020-12-22 | Overstock.Com, Inc. | System and method for optimizing online marketing based upon relative advertisement placement |
DE102014203813A1 (en) * | 2014-02-28 | 2015-09-03 | Siemens Aktiengesellschaft | Use of certificates by means of a positive list |
US10380656B2 (en) | 2015-02-27 | 2019-08-13 | Ebay Inc. | Dynamic predefined product reviews |
US10534845B2 (en) | 2016-05-11 | 2020-01-14 | Overstock.Com, Inc. | System and method for optimizing electronic document layouts |
US10375057B2 (en) | 2017-01-27 | 2019-08-06 | Visa International Service Association | Systems and methods for certificate chain validation of secure elements |
US10970769B2 (en) | 2017-03-02 | 2021-04-06 | Overstock.Com, Inc. | Method and system for optimizing website searching with user pathing |
US11546174B2 (en) * | 2018-12-11 | 2023-01-03 | Apple Inc. | Wireless terminal authentication |
US11514493B1 (en) | 2019-03-25 | 2022-11-29 | Overstock.Com, Inc. | System and method for conversational commerce online |
US11205179B1 (en) | 2019-04-26 | 2021-12-21 | Overstock.Com, Inc. | System, method, and program product for recognizing and rejecting fraudulent purchase attempts in e-commerce |
JP7298356B2 (en) * | 2019-07-16 | 2023-06-27 | 富士フイルムビジネスイノベーション株式会社 | Information processing device and information processing program |
CN110764942B (en) * | 2019-09-17 | 2023-08-18 | 平安银行股份有限公司 | Multi-kind data verification method, device, computer system and readable storage medium |
US11734368B1 (en) | 2019-09-26 | 2023-08-22 | Overstock.Com, Inc. | System and method for creating a consistent personalized web experience across multiple platforms and channels |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4405829A (en) * | 1977-12-14 | 1983-09-20 | Massachusetts Institute Of Technology | Cryptographic communications system and method |
US4864494A (en) * | 1986-03-21 | 1989-09-05 | Computerized Data Ssytems For Mfg., Inc. | Software usage authorization system with key for decrypting/re-encrypting/re-transmitting moving target security codes from protected software |
US5214702A (en) * | 1988-02-12 | 1993-05-25 | Fischer Addison M | Public key/signature cryptosystem with enhanced digital signature certification |
US5138712A (en) * | 1989-10-02 | 1992-08-11 | Sun Microsystems, Inc. | Apparatus and method for licensing software on a network of computers |
US5235642A (en) * | 1992-07-21 | 1993-08-10 | Digital Equipment Corporation | Access control subsystem and method for distributed computer system using locally cached authentication credentials |
US5586260A (en) * | 1993-02-12 | 1996-12-17 | Digital Equipment Corporation | Method and apparatus for authenticating a client to a server in computer systems which support different security mechanisms |
US5572673A (en) * | 1993-12-01 | 1996-11-05 | Sybase, Inc. | Secure multi-level system for executing stored procedures |
WO1997000471A2 (en) * | 1993-12-15 | 1997-01-03 | Check Point Software Technologies Ltd. | A system for securing the flow of and selectively modifying packets in a computer network |
US5604490A (en) * | 1994-09-09 | 1997-02-18 | International Business Machines Corporation | Method and system for providing a user access to multiple secured subsystems |
US5872847A (en) * | 1996-07-30 | 1999-02-16 | Itt Industries, Inc. | Using trusted associations to establish trust in a computer network |
US5922074A (en) * | 1997-02-28 | 1999-07-13 | Xcert Software, Inc. | Method of and apparatus for providing secure distributed directory services and public key infrastructure |
-
1997
- 1997-02-28 US US08/808,846 patent/US5922074A/en not_active Expired - Lifetime
-
1998
- 1998-02-23 CA CA002230304A patent/CA2230304A1/en not_active Abandoned
- 1998-02-23 EP EP98301300A patent/EP0862105A3/en not_active Withdrawn
- 1998-02-25 AU AU56278/98A patent/AU739898B2/en not_active Expired
- 1998-02-27 JP JP10047343A patent/JPH10308733A/en not_active Withdrawn
-
1999
- 1999-07-13 US US09/352,353 patent/US6249873B1/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
AU739898B2 (en) | 2001-10-25 |
EP0862105A2 (en) | 1998-09-02 |
US6249873B1 (en) | 2001-06-19 |
JPH10308733A (en) | 1998-11-17 |
AU5627898A (en) | 1998-09-03 |
US5922074A (en) | 1999-07-13 |
EP0862105A3 (en) | 2002-04-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6249873B1 (en) | Method of and apparatus for providing secure distributed directory services and public key infrastructure | |
US6446206B1 (en) | Method and system for access control of a message queue | |
US5530758A (en) | Operational methods for a secure node in a computer network | |
Gasser et al. | The Digital distributed system security architecture | |
US7478236B2 (en) | Method of validating certificate by certificate validation server using certificate policies and certificate policy mapping in public key infrastructure | |
US6105131A (en) | Secure server and method of operation for a distributed information system | |
US7818576B2 (en) | User controlled anonymity when evaluating into a role | |
US5999711A (en) | Method and system for providing certificates holding authentication and authorization information for users/machines | |
EP1312191B1 (en) | Method and system for authentification of a mobile user via a gateway | |
US7020778B1 (en) | Method for issuing an electronic identity | |
US8340283B2 (en) | Method and system for a PKI-based delegation process | |
US7937584B2 (en) | Method and system for key certification | |
US6895501B1 (en) | Method and apparatus for distributing, interpreting, and storing heterogeneous certificates in a homogenous public key infrastructure | |
US20030081774A1 (en) | Method and apparatus for dynamic generation of symmetric encryption keys and exchange of dynamic symmetric key infrastructure | |
US20010020274A1 (en) | Platform-neutral system and method for providing secure remote operations over an insecure computer network | |
US20040143738A1 (en) | System for providing session-based network privacy, private, persistent storage, and discretionary access control for sharing private data | |
JPH11317735A (en) | Centrarized certificate management system for two-way interactive communication device in data network | |
US20030037259A1 (en) | Remote unblocking with a security agent | |
US6795920B1 (en) | Vault controller secure depositor for managing secure communication | |
JPH08335208A (en) | Method and system for proxy authorization | |
Gollmann et al. | Authentication services in distributed systems | |
US7139911B2 (en) | Password exposure elimination for digital signature coupling with a host identity | |
Muftic et al. | Security architecture for distributed systems | |
Yeh et al. | Applying lightweight directory access protocol service on session certification authority | |
EP1175067B1 (en) | Method and arrangement for managing data transmission in a data network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
EEER | Examination request | ||
FZDE | Discontinued |