Design and Implementation of the idemix Anonymous Credential System
|
|
|
- Eustacia Haynes
- 10 years ago
- Views:
Transcription
1 Design and Implementation of the idemix Anonymous Credential System Jan Camenisch and Els Van Herreweghen IBM Research, Zurich Research Laboratory 8803 Rüschlikon Switzerland ABSTRACT Anonymous credential systems [8, 9, 12, 24] allow anonymous yet authenticated and accountable transactions between users and service providers. As such, they represent a powerful technique for protecting users privacy when conducting Internet transactions. In this paper, we describe the design and implementation of an anonymous credential system based on the protocols developed by [6]. The system is based on new high-level primitives and interfaces allowing for easy integration into access control systems. The prototype was realized in Java. We demonstrate its use and some deployment issues with the description of an operational demonstration scenario. Categories and Subject Descriptors E.3 [Data]: Data Encryption Public key cryptosystems General Terms Design, Security Keywords Privacy, Anonymous Credential Systems, Cryptographic Protocols 1. INTRODUCTION The protection of users privacy when performing Internet or web-based transactions is an important factor in the acceptance and use of Internet and web services. Solutions for minimizing release of personal information can be based on one of many proposed techniques for anonymizing the transport medium used between users and service providers, e.g., [26, 18, 27]. This may anonymize the user towards outsiders and, if desired, towards the service provider. Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. CCS 02, November 18 22, 2002, Washington, DC, USA. Copyright 2002 ACM /02/ $5.00. Service providers may require authentication (e.g., for controlling access to resources) or accountability of users actions, in which case users need to prove their identity, or at least possession of a certificate or capability of a certain type. Such a certificate may contain a pseudonymous identity of the user, or contain only the necessary attributes required for accessing a certain service. However, when using certificates as defined by X.509 [11] or SPKI [2], or even certificates specifically constructed for conveying policy or authorization information as in Keynote [3], different uses of the same certificate still remain linkable to each other. They can eventually identify a user through a combination of context and addressing information from one or a series of transactions. Moreover, the transaction in which the certificate was issued can be linked to the transaction where it is used and thus, it the issuer and the verifier collude, the user can identified directly. These linkabilities can be avoided by using an anonymous credential system (also called pseudonym system) [8, 9, 12, 24]. In such a system, the organizations (service providers and credential issuers) know the users only by pseudonyms. Different pseudonyms of the same user cannot be linked. Yet, an organization can issue a credential to a pseudonym, and the corresponding user can prove possession of this credential to another organization (who knows him by a different pseudonym), without revealing anything more than the fact that the user owns such a credential. In this paper, we describe the design and implementation of idemix (short for identity mix), a prototype of the credential system by Camenisch and Lysyanskaya [6]. We describe the idemix functionality using high-level primitives. These primitives allow reasoning about security and privacy features, while hiding the complexity of the cryptographic protocols, as well as the differences between actual protocols realizing the same primitive. We also developed additional functionality for service providers and credential issuers to configure and enforce resource access control and credential issuing decisions. As we demonstrate with an example, this allows the use of the prototype in developing actual applications using concepts of anonymous and attribute-based authentication and access control. After describing the functionality of the credential system protocols in Section 2, we describe in Section 3 the high-level primitives. Section 4 describes the architecture and implementation of the prototype implementing these protocols, as well as the additional modules developed to
2 support easy configuration, creation, management and deployment of idemix-based applications. The use of the prototype is demonstrated with an implemented scenario. Section 6 raises security and infrastructure management issues related to the deployment of idemix. Section 7 states conclusions and lists future work. 2. IDEMIX PROTOCOLS, PSEUDONYMS AND CREDENTIALS In this section we describe the functionality of the credential system. The basic protocols for issuing and showing credentials are described in Section 2.1; Sections 2.2 and 2.3 describe optional features of protocols and credentials. 2.1 Basic Credential Protocols The core of the idemix system consists of the protocols described in [6]. This section describes these protocols in terms of parametrized primitives of which functionality can be easily explained and mapped to system interfaces. The entities in the system are users, who obtain and show credentials, and organizations issuing and verifying credentials. Another type of organization, de-anonymizing organization, is discussed in Section Thus, a user U can obtain a credential C from an (issuing) organization O I; and then show the credential C to another (verifying) organization O V. A credential is always issued on a pseudonym N under which U is registered with (or known by) the issuing organization O I. A credential may have certain attributes (attr). When showing a credential, the user can choose which of the credential s attributes shall be revealed (see Section 3.4). Pseudonym registration, credential issuing and credential verification are interactive protocols between the user and the specific organization. A user U has a (single) master secret S U, which is linked to all the pseudonyms and credentials issued to that user. Issuing and verifying organizations all have a public/private key pair. The organization issuing a credential uses its private key to generate the credential; the credential can then be verified using the issuing organization s public key, either by the user when receiving the credential, or later on by any organization to which the user shows the credential. When showing a credential, the user uses the public key of the verifying organization which, in turn, needs its private key in the protocol. Obtaining a credential from O I and showing it to O V works as follows (cf. Figure 1). First, U contacts O I and establishes a pseudonym N with O I. If N is eligible to get a credential with an attribute attr, O I produces a credential C by signing a statement containing attr and N and sends C to U. Now U can show this credential to O V. That is, using a zero-knowledge proof, U convinces O V of (1) possessing a signature generated by O I on a statement containing attr and N, and (2) knowing the master secret key S U related to N. We stress that U does not reveal any other information to O V. In particular, U does not send O V the actual credential. This way of showing a credential together with the zero-knowledge property of the proof ensures the unlinkability of different showings of a credential and also the 1 In the remainder of the text, organization is used for credential issuing and/or verifying organizations. Unless explicitly mentioned, it does not include de-anonymizing organizations. U (S U ) cred(n, O I, attr) show(o I, attr ) O I (PK I, SK I) O V (PK V, SK V ) Figure 1: Basic credential system protocols. unlinkability of a showing of a credential to the pseudonym to which the credential was issued. This means that U can show C to O V (or any other verifier) an unlimited number of times, without these credential shows becoming linkable to each other or to a pseudonym. (Exceptions are one-show credentials, which are discussed in Section 2.2). This unlinkability is maintained even if O V and O I are the same organization (or pool their data). Note that from this unlinkability property it follows that the user is anonymous towards the verifying organization. Of course, this property of the pseudonym system can only provide real anonymity to the user if the communication channel used supports anonymity [7, 18, 26, 27]. While, in general, this approach to showing a credential is not very efficient, the special signature scheme used by the credential system [6] allows for an efficient realization of the zero-knowledge proof described above. In fact, as indicated by our performance results, the computational complexity for both the user and the verifying organization executing the protocol for showing a credential corresponds to generating a small number of signatures in the standard RSA signature scheme. As all of a user s credentials are linked to his master secret, sharing a credential would imply also giving away one s master secret. This not only ensures that users cannot pool their credentials (e.g., to obtain a new credential) but also allows the implementation of measures to discourage users from sharing their credentials. One way to do this is PKIassured non-transferability, where the user s master secret key is tied to some valuable secret key from outside the system (e.g., the secret key that gives access to the user s bank account) [13, 17, 24]. Thus sharing a credential implies also sharing this valuable secret key. However, such a valuable key does not always exist. An other, novel way of achieving this is all-or-nothing non-transferability [6]. Here, sharing just one pseudonym or credential implies sharing all of the user s other credentials and pseudonyms in the system, i.e., sharing all of the user s secret keys inside the system. In cases where the verifier and the issuer are the same entity, sharing credentials can be limited by the approach proposed by Stubblebine, Syverson, and Goldschlag [28]. In this approach a credential can only be used once, but each time a credential is used, a new credential is issued. Thus, when a credential is given away, only the person using the credential first is given the next credential. This mechanism makes sharing access to a resource tedious. Using the so-called Fiat-Shamir heuristic [16], the protocol for showing a credential can also be turned into a sig-
3 show(o I, attr, EV D(N)) U (S U ) O V (PK V, SK V ) de-anonymize(transcript) Figure 2: De-Anonymization N O D (PK D, SK D) nature scheme. The meaning of a signature will then be a person possessing a credential issued by O I has signed this message. Both all-or-nothing non-transferability as well as the signature functionality will only be implemented in a future version of the prototype. 2.2 Credential Options and Attributes Credentials can have options (such as one-show, or multishow) and attributes. The one-show credentials incorporate an off-line double-spending test [10]: when showing a oneshow credential more than once (to the same or different organizations), this results in transcripts from which the issuing organization can extract the pseudonym N on which it was issued. Examples of credential attributes can be an expiration date, the user s age, a credential subtype. When showing a credential, the user can choose which attribute(s) to prove something about, and what to prove about them. E.g., when showing a credential that has attributes (exp-date = " ", age = 55), the user can decide to prove only that age > 18 (see also Section 3.4). 2.3 Parameters of the Show Protocol De-Anonymizible Show of a Credential De-anonymization mechanisms allow to reveal the identity of a user (global de-anonymization, also called global anonymity revocation) or to reveal a user s pseudonym with an issuing organization (lobal de-anonymization or local anonymity revocation). Global de-anonymization allows for global accountability of transactions (e.g., for identifying a user performing illegal transactions); local anonymity revocation can be applied by the issuing organization to take measures when a user misuses his credential. Both types of de-anonymization are optional and require U s cooperation when showing a credential. They require the existence of a designated third party, a de-anonymizing organization O D (see Figure 2). O D has a public-private encryption-decryption key pair (PK D, SK D). Using this variant of the show protocol, U encrypts N with O D s public encryption key. This encryption is verifiable (denoted EV D(N)), which means that O V has proof that O D can decrypt and reveal the relevant N from O V s show protocol transcript. There may be several de-anonymizing organizations in the system, from which U may be able to chose. By including also a de-anonymization condition, U can decide under which condition he consents to the transcript being de-anonymized. Later, when deemed necessary by O V, O V can send the transcript to O D. O D can then decide whether this condition is fulfilled and, if so, de-anonymize the transcript and returns N (local de-anonymization). Global de-anonymization uses essentially the same technique. It requires, in addition, the existence of a special credential issuing organization, a Root Pseudonym Authority, which only issues credentials on pseudonyms of which it knows the mapping with a real user identity. A user typically has a single pseudonym (root pseudonym) with the Root Pseudonym Authority, and one credential (root credential) on that root pseudonym (additional pseudonyms or credentials with the Root Pseudonym Authority would anyway be linkable to the user) Showing a Credential Relative to a Pseudonym Using this option, U, who has obtained a credential C by O I on N I, and who is known under pseudonym N V to O V, proves possession of C to O V, while also proving that the pseudonym to which C was issued belongs to the same user as does N V. More precisely, the user proves that the same master secret key S U that is linked to N V is also linked to the credential C and the pseudonym (N I) the credential C is issued on. This option is mandatory for U to convince O V of possession of several credentials. Without using the option, two users each possessing a different credential could each show their credential to O V and fool O V into believing that it talked to a single user possessing both credentials. Furthermore, this option is also mandatory if showing of a credential is a precondition for a user to get another credential. The reason for this can be seen from the following example. Let us assume that U wants to obtain a credential from O VI; O VI, in order to issue such a credential, requires U to show a credential by O I. If U has such a credential, he first registers a pseudonym N VI with O VI, and then shows the credential by O I to O VI, upon which O VI considers the precondition to be satisfied and issues the new credential on N VI. If U has no such credential, he can try to collaborate with U (who does own the credential) by asking U to perform the second step (showing the credential by O VI). And indeed, if O VI does not require U to show the O I credential relative to a specific pseudonym, U will obtain the credential from O VI without fulfilling the precondition. By requiring to show the O I credential relative to N VI, O VI enforces that the same user who showed the O I credential gets the new O VI credential. 3. CREDENTIAL SYSTEM PRIMITIVES In this section, we start out by describing representations for pseudonyms and credentials, and then define representations of credential attributes and protocol options. Subsequently, we describe the high-level primitives of the pseudonym system. 3.1 Pseudonyms A pseudonym N of user U with O I cannot be mapped to a data representation shared by U and O I: U has a secret value (other than the user s master secret) attached to each pseudonym N - knowledge of this secret value is required to make any operation with pseudonym N, such as obtaining a credential. Thus, an implementation of the credential system needs different representations (or data types) for
4 a pseudonym, depending on the role of the actor (user or organization). Nym(N, Ns, U, O, X) could be an abstract representation of a pseudonym of user U with organization O. N is common to U and O and uniquely identifies the pseudonym to both U and O. Ns is the secret value associated by the user with the pseudonym. X is a statement or set of statements which O attaches to N: information obtained during registration (e.g., a real user identity in the case of root pseudonym registration) as well as up-to-date information about credentials issued to N. 2 Nym(N, Ns, U, O, X) is represented in reality by two sets of data: UserNym(N, Ns, O), and OrgNym(N, X). 3 Note that the user s master secret S U, though essential in using the UserNym, is common to all a user s pseudonyms and is not considered part of the UserNym representation. Note also that the statement X is application-specific, and is not explicitly supported by the core of the pseudonym system as it is introduced in Section 4. O does not authenticate to U during pseudonym registration. While this is not a security threat, as the registration does not reveal any information about U, S U or Ns, the registration of a pseudonym with an impersonator of O can lead to denial of service when U then tries to obtain a credential on N from O. For this and other reasons discussed in Section 6, we assume every O to have a certificate with which to authenticate communication with users. 3.2 Credentials Credentials have a different representation at the user and at the organization side as well: when a credential C is issued by O I on N, user and organization get to store different values associated with it. Cred(N, Ns, U, O I, C, T ) represents a credential, issued by organization O I on pseudonym N of user U. T represents the credential s type (CredInfo), including the specific issuing key (PK I) options and attributes: CredInfo(PK I, MultiShow, Expiration, Subtype, Age,...). Using a similar reasoning as for pseudonyms, Cred(N, Ns, U, O I, C, T ) expresses a relationship between UserCred(UserNym, C, T, O I) and OrgCred(OrgNym, T ). 3.3 CredShowFeatures The parameters of a credential showing are expressed in a CredShowFeatures parameter array. The parameter Rel- Nym indicates whether the show is relative to a pseudonym known to the verifying organization (in which case an additional argument N V will indicate this pseudonym). Another 2 Nym(N, Ns, U, O, X) is the equivalent of following statement: The value N is known by U and O to be a valid pseudonym according to the credential system specification. This means that there has been a pseudonym registration procedure between U and O, during which both U and O contributed to the value of the pseudonym, and during which O verified that N is based on a well-formed secret S U. During that registration procedure, O associated X with N. U s contribution is linked to Us master secret S U as well as to the new pseudonym-specific user secret Ns in a way that credentials issued on N are linked to these secrets. 3 The term DataType(Field1, Field2,...) informally defines the contents of a data set of type DataType. Primitive Inputs/Outputs U registernym IN: UserSecret OUT: UserNym O registernym IN: - OUT: Transcript (incl. OrgNym) U getcredential IN: UserSecret,UserNym, CredInfo OUT: UserCred O issuecredential IN: OrgKeys, OrgNym, CredInfo OUT: Transcript (incl. OrgCred) U showcredential IN: UserSecret, UserCred, CredInfo, CredShowFeatures, [UserNym] OUT: - O verifycredential IN: OrgKeys, CredInfo, CredShowFeatures, [OrgNym] OUT: Transcript O checkdoublespendingin: OrgKeys, Transcript, Transcript OUT: OrgNym DO deanonymize IN: DeAnOrgKeys, Transcript OUT: OrgNym Figure 3: Protocol Primitives parameter contains de-anonymization information specifying whether, under which condition and by which de-anonymization organization O D (or which public key PK D) the show transcript will be de-anonymizable (local or global deanonymization): CredShowFeatures(RelNym, [PK D, ConditionLocal], [PK D, ConditionGlobal]) 3.4 Protocol Primitives Figure 3 lists the basic protocol primitives for registering pseudonyms, issuing and verifying credentials, verifying double-spending of one-show credentials, and deanonymizing. Primitives invoked by a user (respectively org, de-anonymizing org) carry the prefix U (O, DO ). In the user-invoked (U ) primitives, the identifier of the targeted organization (O I, O V ) is not listed as parameter: it is assumed that the application calling the user primitives has set up a communication channel with the correct organization, using addressing information obtained at application level. The organization (O ) versions of these primitives result in a Transcript of the protocol which, among the cryptographic transcript and other application data, includes also the newly established OrgNym or OrgCred. The calling application is responsible for extracting this information and store it in appropriate persistent storage. When showing a credential with CredInfo T, a user can choose which subset of attributes he wants to prove, and what to prove about them, by setting the CredInfo parameter T in the UserShowCredential() primitive. This T is communicated to the verifying organization and used as CredInfo parameter also in OrgVerifyCredential(). E.g., if T.Age= 55, T.Expiration= , T.Age= >18, T.Expiration= any then the show protocol will only prove that T.Age>18. Before executing the show protocol, the calling user application should verify whether canfulfill(t, T ) holds. The de-anonymization primitive does not check the condition for de-anonymization (which is included in the transcript to be de-anonymized): this is assumed to be the application s responsibility.
5 Figure 4: User, Org, and DeAnOrg components Additional primitives, such as for generating parties key pairs and master secrets (and extracting the public information from them), are described in the next section. 4. THE IDEMIX PROTOTYPE In this Section, we describe design and implementation (Java) of the idemix prototype. The core of the idemix system is the NymSystem package as described in [5] implementing the UserNymSystem, OrgNymSystem 4 and De- AnOrgNymSystem components in Figure 4. Each of these components offers functionality related to the specific cryptographic operations executed by the different entities, as well as methods to create a new instance of the entity by generating cryptographic key material (user master secret, organization s public/private key pair, de-anonymizing organization s public/private encryption key pair). The following paragraphs shortly discuss the different interfaces. 4.1 OrgNymSystem and UserNymSystem Token-Based Interfaces UserNymSystem and OrgNymSystem contain the user s and organization s methods to compose and analyze the cryptographic tokens exchanged in the nym registration, credential issuing and credential show protocols. OrgNymSystem, in addition, contains a method for verifying whether two show transcripts result from the double-spending of a one-show credential, and if so, extract the pseudonym the credential was issued on. It is the calling application s responsibility to call this method when deemed appropriate. Each of the interactive user-organization protocols is implemented by a user (in UserNymSystem) and an organization (in OrgNymSystem) state machine (encapsulated in a UserProtocol or OrgProtocol) which the calling application initializes (e.g., initregprotocol). After this, the calling application can execute the protocol using the state machine s getnextmsg() method and a communication channel. When the protocols is finished, the state machines (UserProtocol or OrgProtocol) allow the calling application to retrieve a newly formed UserNym or UserCred (OrgNym or OrgCred). The advantage of this token-based interface is that the protocols can be used asynchronously. For easier programming of synchronous applications, synchronous interfaces (UserSyncNymSystem and OrgSync- NymSystem) (see Section 4.2) were implemented hiding the protocol state machines and the transport of cryptographic tokens from the calling application. 4 NymSystem does not distinguish between verifying and issuing organizations. A distinction can be made only by not enabling an organization to issue credentials using the RequestGranter (Section 4.6.2) functionality. The NymSystem library is stateless and consists of static methods: i.e., the calling application is responsible for providing all the cryptographic information (including system parameters, such as key lengths, and the actual key material) when calling the library methods 5. E.g., when a user master secret is generated using createuser(), the result (UserNymSysData) contains the master secret as well as the system parameters, and is a parameter to any of the cryptographic protocols. For ease of application programming and to avoid repeated file access for key material by User- App and OrgApp, the synchronous extensions which are described in the next section were given a non-persistent state: the classes implementing them contain static variables with handles to system parameters and key material. The organization s public key can be extracted from the OrgNymSys- Data (and distributed to users upon system setup or update). 4.2 UserSyncNymSystem and OrgSyncNym- System Synchronous Interfaces The token-based interfaces of UserNymSystem and Org- NymSystem leave the task of driving the protocols to the calling application. It is also the calling application s responsibility to communicate the meta-information that allows user and organizations to initialize their respective protocol state machines; e.g., it is up to the calling user application to communicate to the organization which kind of credentials and with which options/features it wants to prove possession of, or what type of credential or data it wants to get. To enable easy programming of synchronous applications on top of this token-based interface, the synchronous interfaces (Figure 5) UserSyncNymSystem and OrgSyncNymSystem take care of the signalling of meta-information as well as of driving the protocol state machines. They require the respective UserApp and OrgApp to pass a communication (ClientCommSession, ServerCommSession) object. This allows the calling application to decide whether to create a new communication session for the exchange, or to re-use a communication channel in use by the application; it also allows the calling application to decide which protocols are run within the same communication session. This allows maximal flexibility when hooking idemix as an authentication mechanism into an existing application. 4.3 DeAnonOrgNymSystem A deanonymizing organization does not carry out interactive protocol. It may receive a transcript to be deanonymized from any out-of-band communication channel, and may be operating in batch or asynchronous mode. Therefore, DeAnOrgNymSystem only has an asynchronous interface (Figure 5): it provides methods for creation of the organization and for de-anonymizing a transcript. Also here, the public key in DeAnOnOrgNymSysData (resulting from the createdeanorg()) can be extracted in order to be distributed to users. 4.4 Communication ClientCommSession and ServerCommSession are defined as interfaces offering generic read and write methods. It is up to the calling applications to pass a communication 5 This differs slightly from the earlier version described in [5], where NymSystem was parametrized with file locations of secret keys
6 Figure 5: User, Org and DeAnOrg Token-Based and Synchronous interfaces object that implements these interfaces. Use of encrypted or authenticated channels (e.g., using SSL) is allowed but not mandatory; the security of the communication channel is discussed in more detail in Section 6. Our prototype SSLClientCommSession and SSLServer- CommSession implementation of these interfaces use a proprietary Java SSL implementation. Organizations address and SSL information is part of the public information created by an organization s initialization program, distributed to the users and stored in the users persistent storage (see Section 4.5). Communication is authenticated (organization to user) and encrypted, and the user can check the certificate using the getpeercertificate() method of the SSLClient- CommSession. 4.5 Persistent Data Storage Credentials, pseudonyms, master secrets, organizations keys, system parameters, and address information have to be stored persistently to have a workable prototype. We defined interfaces allowing the various entities to store and retrieve this information. These interfaces, the search keys used for retrieving information about credentials, organizations, pseudonyms etc., and how the persistent information is organized (one or several databases, password-protection, etc.) ultimately depend on how the application will use the system, and are not the focus of this work. Each of the interfaces used in our prototype (UserPersistent, OrgPersistent, DeAnOrgPersistent) combine access methods to the appropriate data sets for each entity. The example scenario in Section 5 illustrates how our example applications use the persistent data. 4.6 Building Applications: Granting and Processing Requests When building real applications, we have to link application with the NymSystem. As granting requests for both credentials and data can depend on a user having shown one or several credentials, granting and processing of credentials and other resource requests are both treated here as actions dependent on access control conditions. In this section we give an overview of how we defined the rules governing the organizations access control conditions, and how we defined the modules granting and processing service requests. This was done in such a way that they can be tailored to a specific application, and that processing conditions and resources not known to the idemix system can be added and linked to the idemix-specific ones. In the following discussion, we refer to Figure 6, where OrgApp stands for an organization application receiving and processing requests. MyOrgPersistent allows OrgApp to store and retrieve its key material OrgNymSysData (input parameter to OrgSyncNymSys methods), to the organization s Rules (input parameter to the RequestGranter), to the organization s Transcripts file (where the credential protocol transcripts, resulting from the OrgRequestProcessor, are stored persistently). An OrgApp may have one or more OrgSession threads which accumulate the Transcript information on a specific communication session with a user Organizations Access Rules An organization has to specify which condition or conditions a user has to fulfill in order to get access to data or to get a credential. A Condition can require to show a credential: ShowCondition(CredInfo, CredShowFeatures) expresses what type of credential U needs to show, and using which options or parameters. It can be used by UserApp and OrgApp to parameterize a NymSystem credential show. Alternatively, a Condition can be an idemix-external fact, expressed in an ExternalCondition: Condition(ShowCondition ExternalCondition) The format of an ExternalCondition is defined by the application, and its fulfillment is verified using an applicationprovided method (see RequestGranter and extensions, Section 4.6.2). E.g., an OrgApp may grant an anonymous newspaper subscription credential based on a (non-anonymous) proof of credit card payment. The checking of this proof is a condition out of the scope of idemix and has to be implemented by the application programmer in an extension of the RequestGranter class. An organization Rules set is a collection of Rule entries ([] is used as an array notation): Rules(Rule[]) Each Rule consists of the description ResourceDescription of the resource(s) for which this rule is valid, and a set of conditions to be fulfilled for accessing the resource: Rule(ResourceDescription, Condition[]) A ResourceDescription can describe a credential or an external resource; an external resource (ExternalResource) is
7 Figure 6: An Organization Application any resource other than a credential (e.g., a URL). It has an application-defined format. ResourceDescription(CredentialInfo ExternalResource) Granting a pseudonym or verifying a proof are currently defined to be unprotected resources; the ResourceDescription could easily be extended to make also these requests subject to conditions. In an operational system, rules and conditions can be communicated dynamically (as a result of a resource request) from OrgApp to UserApp; or it can be part of the organization s publicly distributed information and stored by the users (as described in Section 4.5). They parameterize the granting decision of the organization s RequestGranter (Section 4.6.2) RequestGranter An extendable RequestGranter class contains default implementations of the methods that grant different requests. Calls to the RequestGranter class are parametrized with the Rules set, the persistent Transcript storage (Which credentials did the user owning this nym show in the past?) and with non-persistent OrgSession storage (Which credentials did the user show in this session?) The default RequestGranter cannot evaluate External- Conditions and will consider them unfulfilled by default. An application can provide additional methods in its own extension of RequestGranter (MyRequestGranter in Figure 6), overriding the isfulfilledextcond() method of RequestGranter OrgRequestProcessor A default OrgRequestProcessor module, extending OrgSyncNymSys, deals with incoming requests and extracts the appropriate arguments for the OrgSyncNymSys methods. This default OrgRequestProcessor does not know how to handle application-specific resource requests or requests that deal with fulfilling an ExternalCondition (e.g., showing a credit card receipt). An application-specific extension (MyOrgRequestProcessor) can override the (by default failing) handleextresourcerequest() and handleshowextrequest() methods. 4.7 Performance Protocol Options Time (sec) RegNym GetCred any option ShowCred no option, or w.r.t. pseudonym ShowCred + one show (on-line or off-line) ShowCred + exp date ShowCred + local revocation enable ShowCred + local revocation enable ShowCred all options on Table 1: Performance using 1024 bit moduli. Table 1 lists the execution times of the different operations. The measurements were made on IBM T23 laptop machines (1.1 MHz Pentium III) running Debian Linux using Java (Blackdown). The + -signs in the ShowCred entries mean that if one switches on an option in the Show- Cred protocol, then execution time will increase by the given time. These execution times are for a preliminary version of the NymSystem where no optimization for multi-based exponentiation is used. We are currently implementing such optimizations. First tests indicate that a speed-up by a factor of about 4-5 can be obtained. Furthermore, the cryptographic protocols are currently such that first the users does lots of computations, sends the result to the verifying organization, and then the verifying organization does lots of computations. We plan to optimize the protocols in this respect also, which should provide a speed-up by a factor of a little less than 2.
8 5. AN EXAMPLE SCENARIO: AN ANONY- MOUS SUBSCRIPTION TO THE NEW YORK TIMES In this section, we demonstrate the use of the prototype by user and organization applications. We define four organizations: a Root Pseudonym Authority (PA), a bank (AR- GENTIX), the New York Times news subscription service (KIOSK), and the New York Times news service (NYT). NYT serves items in its cartoons section only upon verification of a subscription credential issued by KIOSK; KIOSK, in turn, issues such a credential upon verification of a (oneshow) $10 credential; ARGENTIX issues such a credential based on proof of an (non-anonymous, idemix-external) payment, combined with the verification of a PA root credential. PA unconditionally grants root pseudonyms and credentials (In a more realistic scenario, a user could be required to show an external certificate when registering a root credential, as discussed in Section 6.3). 5.1 Creating and Configuring the User and Organizations A demo setup program uses the NymSystem user and organization creation facilities to create one user and four organizations. It assigns IP addresses and port numbers to the four organizations, as well as SSL Certificates which are created using the KeyMan [14] PKI management tool. It also creates rules for the three organizations (see below). The initialization program creates persistent data sets for each of the four entities, and initializes each of the organization s data sets with its own OrgNymSystemData key material. The user s data set is initialized with the user s UserNymSysData key information, as well as all the organizations public information (idemix public key, addresses, SSL certificates, rules). PA and KIOSK use the default RequestGranter and OrgRequestProcessor as they do not deal with ExternalConditions or ExternalResources; ARGENTIX implements its own ArgentixRequestGranter defining the verification of the credit card receipt; NYT, finally, implements its own NYTRequestProcessor with handleresourcerequest() mapping a resource request (URL) into the actual contents of a web page. 5.2 User Credential Manager and Browser Plug-In Based on the idemix prototype, [25] describes the design and implementation of a Credential Manager implemented as a plug-in to a WBI [1] browser proxy. Figure 7 shows an instance of the Credential Manager in a scenario with the four organizations initialized as described above. This Credential Manager popped up after a user entered a URL in his browser URL window. The Credential Manager then allows the user to view the relevant condition tree applying to the request, the conditions for which he has the necessary credential or external proof (tick-off symbol) and the credentials he already owns in his credentials purse. E.g., he already has a credential from PA. The two conditions by ARGENTIX are related to (1) a ShowCondition: showing the credential from the PA, and (2) an ExternalCondition giving a reference to a credit-card payment. This reference is implemented by, e.g., a serial number of the payment. The ExternalCondition shows up in the condition tree; but as the payment reference is not an idemix credential, there is no corresponding credential in the credentials purse. When clicking on a condition in the tree, the details are shown in the selected condition window, e.g., the KIOSK requires a one-show credential (multi-show = false) issued by ARGENTX with subtype = 10. It also allows the user to chose local identifiers (e.g., kiosknym ) for the pseudonyms he establishes with the different organizations, and to GET and SHOW credentials. After fulfilling all the conditions, the requested contents (cartoons page) show up in the browser window. 6. DEPLOYMENT CONSIDERATIONS In this section, we discuss some issues related to the deployment of idemix. 6.1 Deploying idemix as a Privacy-Enhanced Public-Key Infrastructure with External Certification In an operational system, public information about organizations (whether or not regularly updated) needs to be certified: users need authenticated information about where to get or show a credential, what is the idemix public key of an organization, and what is its SSL certificate. Also, a real Root Pseudonym Authority can only guarantee total accountability (global anonymity revocation) if a user s real-world information was authenticated upon registering the root pseudonym. A deployment environment using idemix credentials as a (privacy-enhanced) Public-Key Infrastructure needs to provide hooks for an external Public-Key infrastructure (PKI). In this external PKI, users and organizations have publickey certificates issued by a Certification Authority. We call this authority Certifix, although it may be an existing Certification Authority; the only requirement being that it can issue organizations idemix certificates certifying the whole set of an idemix organization s authenticated information. Depending on implementation and deployment choices, such an organization s idemix certificate may contain idemix keys, address and SSL information, and access rules. Users also have Certifix certificates and use them to authenticate real-world information during root pseudonym registration. 6.2 The Role of Authenticated Communication in Linking Transactions Based on idemix Authentication Authenticated communication (e.g., using SSL server authentication) allows users to authenticate organizations with which they register a pseudonym, to which they show a credential or from which they obtain a credential. When several protocol executions (including application-level resource requests) are linked by an authenticated communication channel, this also allows servers to securely link idemix authentication (who showed the correct credential) with providing the resource (who gets the data).
9 condition tree nym identifier selected condition credentials purse Figure 7: UserCredential Manager 6.3 Infrastructural Issues: User Registration and Organization Updates In a real deployment environment, users and organizations dynamically join the system, and organizations may periodically update public information such as rules, public keys, addresses, or SSL information (their idemix certificates). A user joining the system may not only need to authenticate using their real-world certificate when registering a root pseudonym with the root pseudonym authority; he may also have to prove registration (or payment of a license). This may be realized by the Root Pseudonym Authority checking an additional condition. Also, organizations idemix certificates need to be distributed and updated in an efficient way. A separate InfoServer entity may serve as a central repository for up-to-date organizations idemix certificates. Organizations post their idemix certificates to the InfoServer; a certificate update may update whole or part (e.g., only new rules set) of an organization s idemix information. Revocation issues may be dealt with by Certificate Revocation Lists (CRLs) issued by the InfoServer; or avoided by issuing short-lived idemix certificates. 6.4 Idemix, Trust Management and Attribute- Based Access Control Decentralized trust management, a term introduced by Blaze, Feigenbaum and Lacy [4], deals with access control and authorization in distributed environments. Different trust management systems and languages have been proposed, e.g., [3, 21, 20, 19, 23, 22, 15]; a credential or certificate modeled by those systems binds a public key to attributes and/or authorizations. Access control and trust establishment policies controlled by resource owners allow authorization decisions based on these attributes and authorizations, or on derived role assignments. Trust between the verifier and the issuer of a credential can be modeled through delegation of attribute authority, which allows a resource owner to delegate authority over an attribute to another entity. Some work also deals with automatic collection or discovery of (part of) certificate chains (e.g., [23, 22, 19]). The access control rules and conditions language introduced in Section was designed to illustrate the capabilities and usage of idemix for configuring anonymous attribute-based access control in a prototype application environment. However, as idemix certificates can be used to formulate any assertion (also identity assertions, if required), idemix attribute-based authentication can support any of the trust management models mentioned; also, in a distributed system where credential verifiers do not know credential issuers (and their keys) on beforehand, credential verification conditions and rules can be modified to express more general authority delegation and trust management policies (e.g., I accept a credential issued by an issuer satisfying trust or delegation condition Y instead of I accept a credential from issuer X. As the issuers in a certificate chain can be publicly known entities, also automatic certificate chain collection could be realized. 7. CONCLUSIONS AND FUTURE WORK In this paper, we have presented the design and implementation of the idemix anonymous credential system. The high-level primitives that were introduced to define the system s interfaces are easy to use and understand, and easy to extend to include new options and features. We also presented an example infrastructure for applications to exploit idemix authentication in an access control infrastructure. The idemix system as implemented and presented here,
10 does not yet include features such as all-or-nothing nontransferability, or use for signature generation. A new NymSystem library is being implemented which will incorporate these additional features. Deployment of idemix as a privacy-enhanced PKI also requires features supported by the core NymSystem, such as changing of organizations public idemix keys, or for efficient revocation of credentials. We are currently developing the protocols supporting these features. Acknowledgements The authors are grateful to Marco Bove, Endre Bangerter, Roger Mathys, Martin Schaffer, and Dieter Sommer for their amazing Java programming making the idemix prototype reality. 8. REFERENCES [1] R. Barrett, P. P. Maglio, and D. C. Kellem. WBI development kit. [2] S. Bellovin and P. Metzger. Simple Public Key Infrastructure (SPKI) Charter. [3] M. Blaze, J. Feigenbaum, and A. D. Keromytis. Keynote: Trust management for public-key infrastructures. In 1998 Security Protocols International Workshop, vol of LNCS, pp , [4] M. Blaze, J. Feigenbaum, and J. Lacy. Decentralized trust management. Research in Security and Privacy, IEEE Computer Society, Technical Committee on Security and Privacy. [5] M. Bove. Key management, setup and implementation of an anonymous credential system. Master s thesis, [6] J. Camenisch and A. Lysyanskaya. Efficient non-transferable anonymous multi-show credential system with optional anonymity revocation. In EUROCRYPT 2001, vol of LNCS, pp Springer Verlag, [7] D. Chaum. Untraceable electronic mail, return addresses, and digital pseudonyms. Communications of the ACM, 24(2):84 88, Feb [8] D. Chaum. Security without identification: Transaction systems to make big brother obsolete. Communications of the ACM, 28(10): , [9] D. Chaum and J.-H. Evertse. A secure and privacy-protecting protocol for transmitting personal information between organizations. In CRYPTO 86, vol. 263 of LNCS, pp Springer-Verlag, [10] D. Chaum, A. Fiat, and M. Naor. Untraceable electronic cash. In CRYPTO 88, vol. 403 of LNCS, pp Springer Verlag, [11] Consultation Committee. X.509: The Directory Authentication Framework. International Telephone and Telegraph, International Telecommunications Union, Geneva, [12] I. B. Damgård. Payment systems and credential mechanism with provable security against abuse by individuals. In CRYPTO 88, vol. 403 of LNCS, pp Springer Verlag, [13] C. Dwork, J. Lotspiech, and M. Naor. Digital signets: Self-enforcing protection of digital information [14] T. Eirich. KeyMan. [15] C. Ellison, B. Frantz, B. Lampson, R. Rivest, B. Thomas, and T. Ylonen. SPKI Certificate Theory. Internet Engineering Task Force RFC [16] A. Fiat and A. Shamir. How to prove yourself: Practical solution to identification and signature problems. In CRYPTO 86, vol. 263 of LNCS, pp Springer Verlag, [17] O. Goldreich, B. Pfitzman, and R. Rivest. Self-delegation with controlled propagation or what if you lose your laptop. In CRYPTO 98, vol of LNCS, pp , Springer Verlag. [18] D. M. Goldschlag, M. G. Reed, and P. F. Syverson. Onion routing for anonymous and private internet connections. Communications of the ACM, 42(2):84 88, February [19] A. Herzberg, Y. Mass, J. Mihaeli, D. Naor, and Y. Ravid. Access control meets public key infrastructure, or: Assigning roles to strangers. In Proceedings of the 2000 IEEE Symposium on Security and Privacy, pp. 2 14, IEEE Press. [20] N. Li, B. Grosof, and J. Feigenbaum. A practically implementable and tractable delegation logic. In Proceedings of the 2000 IEEE Symposium on Security and Privacy, pp , [21] N. Li, B. N. Grosof, and J. Feigenbaum. A logic-based knowledge representation for authorization with delegation. In Proceedings of the 12th IEEE Computer Security Foundations Workshop, [22] N. Li, J. C. Mitchell, and W. H. Winsborough. Design of a role-based trust-management framework. In Proceedings of the 2002 IEEE Symposium on Security and Privacy, pp , IEEE Press. [23] N. Li, W. H. Winsborough, and J. C. Mitchell. Distributed credential chain discovery in trust management: extended abstract. In 8th ACM CCS, pp ACM Press, [24] A. Lysyanskaya, R. Rivest, A. Sahai, and S. Wolf. Pseudonym systems. In Selected Areas in Cryptography, vol of LNCS, [25] R. Mathys. New idemix client handbuch. Technical report, December [26] A. Pfitzmann, B. Pfitzmann, and M. Waidner. Isdnmixes: Untraceable communication with very small bandwidth overhead, [27] M. K. Reiter and A. D. Rubin. Crowds: anonymity for Web transactions. ACM Transactions on Information and System Security, 1(1):66 92, [28] S. G. Stubblebine, P. F. Syverson, and D. M. Goldschlag. Unlinable serial transactions: Protocols and applications. ACM Transactions on Information and System Security, 2(4): , Nov
A Survey on Untransferable Anonymous Credentials
A Survey on Untransferable Anonymous Credentials extended abstract Sebastian Pape Databases and Interactive Systems Research Group, University of Kassel Abstract. There are at least two principal approaches
Security in Electronic Payment Systems
Security in Electronic Payment Systems Jan L. Camenisch, Jean-Marc Piveteau, Markus A. Stadler Institute for Theoretical Computer Science, ETH Zurich, CH-8092 Zurich e-mail: {camenisch, stadler}@inf.ethz.ch
Understanding digital certificates
Understanding digital certificates Mick O Brien and George R S Weir Department of Computer and Information Sciences, University of Strathclyde Glasgow G1 1XH [email protected], [email protected]
A Taxonomy of Single Sign-On Systems
A Taxonomy of Single Sign-On Systems Andreas Pashalidis and Chris J. Mitchell Royal Holloway, University of London, Egham, Surrey, TW20 0EX, United Kingdom {A.Pashalidis, C.Mitchell}@rhul.ac.uk http://www.isg.rhul.ac.uk
A SECURITY ARCHITECTURE FOR AGENT-BASED MOBILE SYSTEMS. N. Borselius 1, N. Hur 1, M. Kaprynski 2 and C.J. Mitchell 1
A SECURITY ARCHITECTURE FOR AGENT-BASED MOBILE SYSTEMS N. Borselius 1, N. Hur 1, M. Kaprynski 2 and C.J. Mitchell 1 1 Royal Holloway, University of London 2 University of Strathclyde ABSTRACT Future mobile
A TRUST BASED DELEGATION SYSTEM FOR MANAGING ACCESS CONTROL. Rainer Steffen, Rudi Knorr*
A TRUST BASED DELEGATION SYSTEM FOR MANAGING ACCESS CONTROL Rainer Steffen, Rudi Knorr* Abstract Trust is considered to be a powerful approach for managing access control in pervasive computing scenarios.
Digital Certificates (Public Key Infrastructure) Reshma Afshar Indiana State University
Digital Certificates (Public Key Infrastructure) Reshma Afshar Indiana State University October 2015 1 List of Figures Contents 1 Introduction 1 2 History 2 3 Public Key Infrastructure (PKI) 3 3.1 Certificate
CS 356 Lecture 28 Internet Authentication. Spring 2013
CS 356 Lecture 28 Internet Authentication Spring 2013 Review Chapter 1: Basic Concepts and Terminology Chapter 2: Basic Cryptographic Tools Chapter 3 User Authentication Chapter 4 Access Control Lists
CA Performance Center
CA Performance Center Single Sign-On User Guide 2.4 This Documentation, which includes embedded help systems and electronically distributed materials, (hereinafter referred to as the Documentation ) is
Entrust Managed Services PKI. Getting started with digital certificates and Entrust Managed Services PKI. Document issue: 1.0
Entrust Managed Services PKI Getting started with digital certificates and Entrust Managed Services PKI Document issue: 1.0 Date of issue: May 2009 Copyright 2009 Entrust. All rights reserved. Entrust
Privacy-preserving Digital Identity Management for Cloud Computing
Privacy-preserving Digital Identity Management for Cloud Computing Elisa Bertino [email protected] Federica Paci [email protected] Ning Shang [email protected] Rodolfo Ferrini [email protected]
EMC Celerra Version 5.6 Technical Primer: Public Key Infrastructure Support
EMC Celerra Version 5.6 Technical Primer: Public Key Infrastructure Support Technology Concepts and Business Considerations Abstract Encryption plays an increasingly important role in IT infrastructure
Brocade Engineering. PKI Tutorial. Jim Kleinsteiber. February 6, 2002. Page 1
PKI Tutorial Jim Kleinsteiber February 6, 2002 Page 1 Outline Public Key Cryptography Refresher Course Public / Private Key Pair Public-Key Is it really yours? Digital Certificate Certificate Authority
CS 6262 - Network Security: Public Key Infrastructure
CS 6262 - Network Security: Public Key Infrastructure Professor Patrick Traynor 1/30/13 Meeting Someone New 2 What is a certificate? A certificate makes an association between a user identity/job/ attribute
Security Digital Certificate Manager
System i Security Digital Certificate Manager Version 5 Release 4 System i Security Digital Certificate Manager Version 5 Release 4 Note Before using this information and the product it supports, be sure
Lecture slides by Lawrie Brown for Cryptography and Network Security, 5/e, by William Stallings, Chapter 14 Key Management and Distribution.
Lecture slides by Lawrie Brown for Cryptography and Network Security, 5/e, by William Stallings, Chapter 14 Key Management and Distribution. 1 Opening quote. 2 The topics of cryptographic key management
Attribute-proving for Smart Cards
Attribute-proving for Smart Cards progress made over the past two years ir. Pim Vullers [email protected] Institute for Computing and Information Sciences Digital Security 5th October 2011 Pim Vullers
Security Digital Certificate Manager
IBM i Security Digital Certificate Manager 7.1 IBM i Security Digital Certificate Manager 7.1 Note Before using this information and the product it supports, be sure to read the information in Notices,
PRIVACY, SECURITY AND THE VOLLY SERVICE
PRIVACY, SECURITY AND THE VOLLY SERVICE Delight Delivered by EXECUTIVE SUMMARY The Volly secure digital delivery service from Pitney Bowes is a closed, secure, end-to-end system that consolidates and delivers
Introduction to Cryptography
Introduction to Cryptography Part 3: real world applications Jean-Sébastien Coron January 2007 Public-key encryption BOB ALICE Insecure M E C C D channel M Alice s public-key Alice s private-key Authentication
An Electronic Voting System Based On Blind Signature Protocol
CSMR, VOL. 1, NO. 1 (2011) An Electronic Voting System Based On Blind Signature Protocol Marius Ion, Ionuţ Posea University POLITEHNICA of Bucharest Faculty of Automatic Control and Computers, Computer
Key Management Interoperability Protocol (KMIP)
(KMIP) Addressing the Need for Standardization in Enterprise Key Management Version 1.0, May 20, 2009 Copyright 2009 by the Organization for the Advancement of Structured Information Standards (OASIS).
Enabling SSL and Client Certificates on the SAP J2EE Engine
Enabling SSL and Client Certificates on the SAP J2EE Engine Angel Dichev RIG, SAP Labs SAP AG 1 Learning Objectives As a result of this session, you will be able to: Understand the different SAP J2EE Engine
Securing Wireless Access in Vehicular Environments (WAVE) Infrastructure and Operations Support Systems(OSS) Architecture
IEEE GLOBECOM Design and Developers Forum Securing Wireless Access in Vehicular Environments (WAVE) Infrastructure and Operations Support Systems(OSS) Architecture Tim Weil CISSP, CISA Booz Allen Hamilton
Authentication Application
Authentication Application KERBEROS In an open distributed environment servers to be able to restrict access to authorized users to be able to authenticate requests for service a workstation cannot be
CSE543 - Introduction to Computer and Network Security. Module: Public Key Infrastructure
CSE543 - Introduction to Computer and Network Security Module: Public Key Infrastructure Professor Trent Jaeger 1 Meeting Someone New Anywhere in the Internet 2 What is a certificate? A certificate makes
The Security Framework 4.1 Programming and Design
Tel: (301) 587-3000 Fax: (301) 587-7877 E-mail: [email protected] Web: www.setecs.com Security Architecture for Development and Run Time Support of Secure Network Applications Sead Muftic, President/CEO
Authenticity of Public Keys
SSL/TLS EJ Jung 10/18/10 Authenticity of Public Keys Bob s key? private key Bob public key Problem: How does know that the public key she received is really Bob s public key? Distribution of Public Keys!
How To Understand And Understand The Security Of A Key Infrastructure
Security+ Guide to Network Security Fundamentals, Third Edition Chapter 12 Applying Cryptography Objectives Define digital certificates List the various types of digital certificates and how they are used
A Privacy-Preserving Ticketing System
A Privacy-Preserving Ticketing System Kristof Verslype 1, Bart De Decker 1, Vincent Naessens 2, Girma Nigusse 1, Jorn Lapon 2 and Pieter Verhaeghe 1 1 Katholieke Universiteit Leuven, Department of Computer
Ciphire Mail. Abstract
Ciphire Mail Technical Introduction Abstract Ciphire Mail is cryptographic software providing email encryption and digital signatures. The Ciphire Mail client resides on the user's computer between the
Reducing Certificate Revocation Cost using NPKI
Reducing Certificate Revocation Cost using NPKI Albert Levi and Çetin Kaya Koç Oregon State University, Electrical and Computer Engineering Dept., Information Security Lab, Corvallis, Oregon, USA [email protected]
Efficient construction of vote-tags to allow open objection to the tally in electronic elections
Information Processing Letters 75 (2000) 211 215 Efficient construction of vote-tags to allow open objection to the tally in electronic elections Andreu Riera a,,joseprifà b, Joan Borrell b a isoco, Intelligent
GENERIC SECURITY FRAMEWORK FOR CLOUD COMPUTING USING CRYPTONET
http:// GENERIC SECURITY FRAMEWORK FOR CLOUD COMPUTING USING CRYPTONET Manisha Dawra 1, Ramdev Singh 2 1 Al-Falah School of Engg. & Tech., Vill-Dhauj, Ballabgarh-Sohna Road, Faridabad, Haryana (INDIA)-121004
10 Secure Electronic Transactions: Overview, Capabilities, and Current Status
10 Secure Electronic Transactions: Overview, Capabilities, and Current Status Gordon Agnew A&F Consulting, and University of Waterloo, Ontario, Canada 10.1 Introduction Until recently, there were two primary
WIRELESS PUBLIC KEY INFRASTRUCTURE FOR MOBILE PHONES
WIRELESS PUBLIC KEY INFRASTRUCTURE FOR MOBILE PHONES Balachandra Muniyal 1 Krishna Prakash 2 Shashank Sharma 3 1 Dept. of Information and Communication Technology, Manipal Institute of Technology, Manipal
Apache Milagro (incubating) An Introduction ApacheCon North America
Apache Milagro (incubating) An Introduction ApacheCon North America Apache Milagro will establish a new independent security framework for the Internet A Distributed Cryptosystem Secure the Future of the
CHAPTER 4 DEPLOYMENT OF ESGC-PKC IN NON-COMMERCIAL E-COMMERCE APPLICATIONS
70 CHAPTER 4 DEPLOYMENT OF ESGC-PKC IN NON-COMMERCIAL E-COMMERCE APPLICATIONS 4.1 INTRODUCTION In this research work, a new enhanced SGC-PKC has been proposed for improving the electronic commerce and
Federation Proxy for Cross Domain Identity Federation
Proxy for Cross Domain Identity Makoto Hatakeyama NEC Corporation, Common Platform Software Res. Lab. 1753, Shimonumabe, Nakahara-Ku, Kawasaki, Kanagawa 211-8666, Japan +81-44-431-7663 [email protected]
Introduction to Directory Services
Introduction to Directory Services Overview This document explains how AirWatch integrates with your organization's existing directory service such as Active Directory, Lotus Domino and Novell e-directory
3-6 Toward Realizing Privacy-Preserving IP-Traceback
3-6 Toward Realizing Privacy-Preserving IP-Traceback The IP-traceback technology enables us to trace widely spread illegal users on Internet. However, to deploy this attractive technology, some problems
MANAGING OF AUTHENTICATING PASSWORD BY MEANS OF NUMEROUS SERVERS
INTERNATIONAL JOURNAL OF ADVANCED RESEARCH IN ENGINEERING AND SCIENCE MANAGING OF AUTHENTICATING PASSWORD BY MEANS OF NUMEROUS SERVERS Kanchupati Kondaiah 1, B.Sudhakar 2 1 M.Tech Student, Dept of CSE,
Module 7 Security CS655! 7-1!
Module 7 Security CS655! 7-1! Issues Separation of! Security policies! Precise definition of which entities in the system can take what actions! Security mechanism! Means of enforcing that policy! Distributed
Neutralus Certification Practices Statement
Neutralus Certification Practices Statement Version 2.8 April, 2013 INDEX INDEX...1 1.0 INTRODUCTION...3 1.1 Overview...3 1.2 Policy Identification...3 1.3 Community & Applicability...3 1.4 Contact Details...3
Rights Management Services
www.css-security.com 425.216.0720 WHITE PAPER Microsoft Windows (RMS) provides authors and owners the ability to control how they use and distribute their digital content when using rights-enabled applications,
Configuring Digital Certificates
CHAPTER 36 This chapter describes how to configure digital certificates and includes the following sections: Information About Digital Certificates, page 36-1 Licensing Requirements for Digital Certificates,
Securing your Online Data Transfer with SSL
Securing your Online Data Transfer with SSL A GUIDE TO UNDERSTANDING SSL CERTIFICATES, how they operate and their application 1. Overview 2. What is SSL? 3. How to tell if a Website is Secure 4. What does
Privacy in e-ticketing & e-identity
Privacy in e-ticketing & e-identity Attribute-proving for Smart Cards ir. Pim Vullers [email protected] Institute for Computing and Information Sciences Digital Security 17th May 2011 Pim Vullers Collis
On the Limits of Anonymous Password Authentication
On the Limits of Anonymous Password Authentication Yan-Jiang Yang a Jian Weng b Feng Bao a a Institute for Infocomm Research, Singapore, Email: {yyang,baofeng}@i2r.a-star.edu.sg. b School of Computer Science,
Enhanced Privacy ID (EPID) Ernie Brickell and Jiangtao Li Intel Corporation
Enhanced Privacy ID (EPID) Ernie Brickell and Jiangtao Li Intel Corporation 1 Agenda EPID overview EPID usages Device Authentication Government Issued ID EPID performance and standardization efforts 2
OFFICE OF THE CONTROLLER OF CERTIFICATION AUTHORITIES TECHNICAL REQUIREMENTS FOR AUDIT OF CERTIFICATION AUTHORITIES
OFFICE OF THE CONTROLLER OF CERTIFICATION AUTHORITIES TECHNICAL REQUIREMENTS FOR AUDIT OF CERTIFICATION AUTHORITIES Table of contents 1.0 SOFTWARE 1 2.0 HARDWARE 2 3.0 TECHNICAL COMPONENTS 2 3.1 KEY MANAGEMENT
Cryptography: Authentication, Blind Signatures, and Digital Cash
Cryptography: Authentication, Blind Signatures, and Digital Cash Rebecca Bellovin 1 Introduction One of the most exciting ideas in cryptography in the past few decades, with the widest array of applications,
SECURITY ANALYSIS OF A SINGLE SIGN-ON MECHANISM FOR DISTRIBUTED COMPUTER NETWORKS
SECURITY ANALYSIS OF A SINGLE SIGN-ON MECHANISM FOR DISTRIBUTED COMPUTER NETWORKS Abstract: The Single sign-on (SSO) is a new authentication mechanism that enables a legal user with a single credential
Using etoken for Securing E-mails Using Outlook and Outlook Express
Using etoken for Securing E-mails Using Outlook and Outlook Express Lesson 15 April 2004 etoken Certification Course Securing Email Using Certificates Unprotected emails can be easily read and/or altered
Securing your Online Data Transfer with SSL A GUIDE TO UNDERSTANDING SSL CERTIFICATES, how they operate and their application INDEX 1. Overview 2. What is SSL? 3. How to tell if a Website is Secure 4.
A Survey on Optimistic Fair Digital Signature Exchange Protocols
A Survey on Optimistic Fair Digital Signature Exchange s Alfin Abraham Vinodh Ewards Harlay Maria Mathew Abstract Security services become crucial to many applications such as e-commerce payment protocols,
Overview. SSL Cryptography Overview CHAPTER 1
CHAPTER 1 Note The information in this chapter applies to both the ACE module and the ACE appliance unless otherwise noted. The features in this chapter apply to IPv4 and IPv6 unless otherwise noted. Secure
The Disadvantages of Free MIX Routes and How to Overcome Them
The Disadvantages of Free MIX Routes and How to Overcome Them Oliver Berthold 1, Andreas Pfitzmann 1, and Ronny Standtke 2 1 Dresden University of Technology, Germany {ob2,pfitza}@inf.tu-dresden.de 2 Secunet,
Overview of CSS SSL. SSL Cryptography Overview CHAPTER
CHAPTER 1 Secure Sockets Layer (SSL) is an application-level protocol that provides encryption technology for the Internet, ensuring secure transactions such as the transmission of credit card numbers
Card Management System Integration Made Easy: Tools for Enrollment and Management of Certificates. September 2006
Card Management System Integration Made Easy: Tools for Enrollment and Management of Certificates September 2006 Copyright 2006 Entrust. All rights reserved. www.entrust.com Entrust is a registered trademark
A Movie Streaming Application & ABC4Trust as Services in the Cloud. Dr. Anja Lehmann
A Movie Streaming Application & ABC4Trust as Services in the Cloud Dr. Anja Lehmann IBM Research Zurich A research project funded by the European Commission s 7th Framework Programme. Lessons learned from
Secure Group Oriented Data Access Model with Keyword Search Property in Cloud Computing Environment
Secure Group Oriented Data Access Model with Keyword Search Property in Cloud Computing Environment Chih Hung Wang Computer Science and Information Engineering National Chiayi University Chiayi City 60004,
ORACLE DATABASE SECURITY. Keywords: data security, password administration, Oracle HTTP Server, OracleAS, access control.
ORACLE DATABASE SECURITY Cristina-Maria Titrade 1 Abstract This paper presents some security issues, namely security database system level, data level security, user-level security, user management, resource
Chapter 9 Key Management 9.1 Distribution of Public Keys 9.1.1 Public Announcement of Public Keys 9.1.2 Publicly Available Directory
There are actually two distinct aspects to the use of public-key encryption in this regard: The distribution of public keys. The use of public-key encryption to distribute secret keys. 9.1 Distribution
CS 758: Cryptography / Network Security
CS 758: Cryptography / Network Security offered in the Fall Semester, 2003, by Doug Stinson my office: DC 3122 my email address: [email protected] my web page: http://cacr.math.uwaterloo.ca/~dstinson/index.html
Smart Card- An Alternative to Password Authentication By Ahmad Ismadi Yazid B. Sukaimi
Smart Card- An Alternative to Password Authentication By Ahmad Ismadi Yazid B. Sukaimi Purpose This paper is intended to describe the benefits of smart card implementation and it combination with Public
Design Notes for an Efficient Password-Authenticated Key Exchange Implementation Using Human-Memorable Passwords
Design Notes for an Efficient Password-Authenticated Key Exchange Implementation Using Human-Memorable Passwords Author: Paul Seymer CMSC498a Contents 1 Background... 2 1.1 HTTP 1.0/1.1... 2 1.2 Password
Application Security: Threats and Architecture
Application Security: Threats and Architecture Steven M. Bellovin [email protected] http://www.cs.columbia.edu/ smb Steven M. Bellovin August 4, 2005 1 We re from the Security Area, and We re Here to
Chapter 17. Transport-Level Security
Chapter 17 Transport-Level Security Web Security Considerations The World Wide Web is fundamentally a client/server application running over the Internet and TCP/IP intranets The following characteristics
National Identity Exchange Federation (NIEF) Trustmark Signing Certificate Policy. Version 1.1. February 2, 2016
National Identity Exchange Federation (NIEF) Trustmark Signing Certificate Policy Version 1.1 February 2, 2016 Copyright 2016, Georgia Tech Research Institute Table of Contents TABLE OF CONTENTS I 1 INTRODUCTION
The Feasibility and Application of using a Zero-knowledge Protocol Authentication Systems
The Feasibility and Application of using a Zero-knowledge Protocol Authentication Systems Becky Cutler [email protected] Mentor: Professor Chris Gregg Abstract Modern day authentication systems
A Secure Decentralized Access Control Scheme for Data stored in Clouds
A Secure Decentralized Access Control Scheme for Data stored in Clouds Priyanka Palekar 1, Abhijeet Bharate 2, Nisar Anjum 3 1 SKNSITS, University of Pune 2 SKNSITS, University of Pune 3 SKNSITS, University
BlackBerry Enterprise Service 10. Secure Work Space for ios and Android Version: 10.1.1. Security Note
BlackBerry Enterprise Service 10 Secure Work Space for ios and Android Version: 10.1.1 Security Note Published: 2013-06-21 SWD-20130621110651069 Contents 1 About this guide...4 2 What is BlackBerry Enterprise
Sync Security and Privacy Brief
Introduction Security and privacy are two of the leading issues for users when transferring important files. Keeping data on-premises makes business and IT leaders feel more secure, but comes with technical
Configuring DoD PKI. High-level for installing DoD PKI trust points. Details for installing DoD PKI trust points
Configuring DoD PKI This document describes the procedures to configure an XML Firewall that is interoperable with the United Stated Department of Defense (DoD) Public Key Infrastructure (PKI). High-level
CryptoNET: Security Management Protocols
CryptoNET: Security Management Protocols ABDUL GHAFOOR ABBASI, SEAD MUFTIC CoS, School of Information and Communication Technology Royal Institute of Technology Borgarfjordsgatan 15, SE-164 40, Kista,
Digital Identity Management
Digital Identity Management Techniques and Policies E. Bertino CS Department and ECE School CERIAS Purdue University [email protected] Digital Identity Management What is DI? Digital identity (DI)
WHITE PAPER Usher Mobile Identity Platform
WHITE PAPER Usher Mobile Identity Platform Security Architecture For more information, visit Usher.com [email protected] Toll Free (US ONLY): 1 888.656.4464 Direct Dial: 703.848.8710 Table of contents Introduction
Strengthen RFID Tags Security Using New Data Structure
International Journal of Control and Automation 51 Strengthen RFID Tags Security Using New Data Structure Yan Liang and Chunming Rong Department of Electrical Engineering and Computer Science, University
An Introduction to Digital Identity
1 An Introduction to Digital Identity Andreas Pfitzmann Dresden University of Technology, Department of Computer Science, D-01062 Dresden Nöthnitzer Str. 46, Room 3071 Phone: +49 351 463-38277, e-mail:
crypto key generate rsa
, page 2 1 To generate Rivest, Shamir, and Adelman (RSA) key pairs, use the commandinglobal configuration mode. [general-keys usage-keys signature encryption] [label key-label] [exportable] [modulus modulus-size]
Certificate Management in Ad Hoc Networks
Certificate Management in Ad Hoc Networks Matei Ciobanu Morogan, Sead Muftic Department of Computer Science, Royal Institute of Technology [matei, sead] @ dsv.su.se Abstract Various types of certificates
Ericsson Group Certificate Value Statement - 2013
COMPANY INFO 1 (23) Ericsson Group Certificate Value Statement - 2013 COMPANY INFO 2 (23) Contents 1 Ericsson Certificate Value Statement... 3 2 Introduction... 3 2.1 Overview... 3 3 Contact information...
Security & Privacy on the WWW. Topic Outline. Information Security. Briefing for CS4173
Security & Privacy on the WWW Briefing for CS4173 Topic Outline 1. Information Security Relationship to safety Definition of important terms Where breaches can occur Web techniques Components of security
Implementation Guide SAP NetWeaver Identity Management Identity Provider
Implementation Guide SAP NetWeaver Identity Management Identity Provider Target Audience Technology Consultants System Administrators PUBLIC Document version: 1.10 2011-07-18 Document History CAUTION Before
Role Based Encryption with Efficient Access Control in Cloud Storage
Role Based Encryption with Efficient Access Control in Cloud Storage G. V. Bandewar 1, R. H. Borhade 2 1 Department of Information Technology, Sinhgad Technical Education Society s SKNCOE, Pune, India
