Home | About

Encryption Level Broker

The aim of this pattern is to solve the problem of different level encryption and negotiation between entities about the correct level to choose.

In some complex situations, the security policies can mention different level of encryption. Two entities participating to a distributed system can communicate using encrypted data. A negotiation mechanism is useful to select a common encryption mechanism that fits to security policies of each entity.

This pattern can be used when two entities of a grid system need to negotiate in order to select a correct level of encryption and to use the encryption mechanism linked to this level of encryption.

The TrustedEncryptionBroker is used to negotiate the level of encryption needed in a communication between a client and a service.

The ClientNegotiator is the role played by a client entity that which to select a common encryption mechanism to communicate with a service;

The ServiceNegotiator is the role played by a service that allows negotiating the encryption level needed.

The Encryptor is the object used to encrypt data

The Decryptor is the object use to decrypt data

The client wants to connect to a service with a particular level of encryption. The encryption broker negotiates with the service the level needed. Then the broker checks with the client if the encryption level proposed is accepted. If it’s the case, the broker creates the encryptors and decryptors needed in the exchange between the two entities. Then, he transmits these chiffring mechanism top each of entities.