SESAME

 What is SESAME?
 Overview of SESAME.
 Walk-through of SESAME.
 SESAME v.s. Kerberos.
 Reference.
 



1. What is SESAME?

SESAME stands for "Secure European System for Applications in a Multi-vendor Environment" , it is a European research and development project, partly funded by the Commission of the European Communities (CEC). It is also the name of the technology that came out of that project.

The SESAME technology offers sophisticated single sign-on with added distributed access control features and cryptographic protection of interchanged data.

SESAME is a construction kit. It is a set of security infrastructure components for product developers. It provides the underlying bedrock upon which full managed single sign-on products can be built.

SESAME is similar to Kerberos, but has a lot of extensions to Kerberos. one important extension is it supports role based access control using PAS (Privilege Arribute Server)



2. Overview of SESAME
In SESAME, there are several architectural components to consider: Key Management:


 


3. Walk-through of SESAME

Client Machine Interactions:

  1. The User Sponsor invokes the APA Client through an authentication API to authenticate the person, who specifies the name of the role he wishes to use. The APA invokes the authentication API which generates a Kerberos conformant authentication request to the AS.
  2. The AS builds a PAS ticket and returns it along with control data to the APA Client. For password based authentication this is a pure Kerberos action. The APA client stores the PAS ticket in a cache and returns to the User Sponsor. For private-key based authentication, a message is also returned to authenticate the AS to the user.
  3. The APA client requests an initial PAC from the PAS. This is done by invoking the initiator's SACM component through GSS-API. The request message includes username, role name and PAS ticket,
  4. The PAS decrypted the PAS ticket to get the key used to protect the dialogue between SACM and the PAS. The PAS reads the user name and the role name and verifies that the user is allowed to exercise that role. If the role name which has been given is not allowed, the system default role is used instead. The role name is used to access the privilege and the target qualifier attributes associated with that role.
  5. The PAS then builds a PAC and signs it with  its private key. Also it builds a KDS ticket and encrypts it with a secret key shared with the KDS. The PAS returns to SACM the PAC and the KDS ticket along with one or more optional Control Values (CVs) if the PAC is to be delegatable, and the Kerberos conformant control data accompanying the KDS ticket. This response is protected by the SACM/PAS basic key.
  6. The initiator's SACM calls its KDS to request a basic key, BKip, for TA's PVF, using the KDS ticket obtained above. These exchanges are protected by the secret key returned by PAS. and included in KDS packet.
  7. There are two cases:
  8. KDS return the Keying information and optional list of PVF application to the initiator SACM.
  9. Initiator SACM extracts the basic key and encypt any CV's present with that key. SACM also adds a dialogue key package to the basic key package, using which, integrity and confidentiality dialogue keys DKIit and DKCit can be derived from the basic key. It then returns the client application a GSS token comprising PAC, the encrpted CV(s), the basic key package and the dialogue package , along with other administration information.
  10. Client application sends GSS token to the target application.
Targer Machine Interactions:
  1. The target application passes the received token to Target SACM, Target SACM passed it to its PVF for validation.
  2. In the interdomain case, the PVF sends the basic key package to KDS2 for processing, KDS2 validates the signature of KDS1, decrypts the DESK using its private key, decrypts the Ticket and then re-encrypts the Ticket under the long term key it shares with the PVF and returns it to the PVF.
  3. The PVF decrypts the Ticket and extracts BKip and TA's name. It checks the integrity of incoming message, checks the PAC is valid for TA. If all checks are successful, Dialogue keys DKIit and DKCit are caculated using BKip and the dialogue key package information. The PVF returns the PAC, the associated CVs, the privilege attributes and the dialogue keys to Target SACM.
  4. SACM returns a security context handler to the server application.
  5. The client and target application can interact with the dialogue confidential key.

Delegation Control

Distributed systems commonly contain application services that are themselves distributed over a number of physical servers. An initiator accessing such a service may not know precisely which server of the service can support its requests, and may simply make a request on a convienet server, expecting that server to act as its delegate with respect to another server of the service if necessary. This delegation could be repeated until the server that can handle the request directly is found.

An initiator may not wish to delegate all his rights, and may also want to restrict the area within which PAC may be used. In SESAME, the CV/PV protection methods allows a PAC to be used by proxy.



4. SESAME  vs. Kerberos
 
5. Reference

https://www.cosic.esat.kuleuven.ac.be/sesame/