Shen, RFC-822 headers

Considerable effort has gone into reusing as much as possible of the existing IETF PEM specification. It is anticipated that future browsers will provide full access to other network resources such as mail and news, thereby replacing single purpose interfaces. It is clearly undesirable for HTTP to use a separate set of authentication and encryption mechanisms.

Secure Request Example

GET . HTTP/1.0
Date: Today in GMT
Digest-Boundary: RSA-MD5, Random data
DEK-Info: DES-CBC, Initialisation vector for DES
KEY-Info: RSA, RSA encrypted session key
Secret-Header: Encrypted header
MIC-Info: RSA-MD5, digest of message body if present
MIC-Head: RSA, RSA-MD5, Signed digest of head

The secret header is decoded to give:

Anon-Session-ID: Session identifier,thread,index
Relative-URI: The real URL
Authorised-Roles: hallam, system
Uncertified-Key: The key to use to encrypt the reply
Accept: text/html; q=1.0, ...

Notes:

Secure Reply Example

HTTP/1.0 200 OK
Digest-Boundary: Random data
DEK-Info: Initialisation vector for DES
KEY-Info: RSA encrypted session key
Secret-Header: Encrypted header
MIC-Info: RSA-MD5, digest of message body if present
Content-Length: Length of message content
MIC-Head: RSA, RSA-MD5, Signed digest of head 

Binary encrypted body

Where the secret header contains:

Content-Type: text/html
Date: Date of creation of content.

Differences between Shen and MIME versions of PEM

Rationale for using session keys with shared key encryption.

If a document is restricted so that it may only be sent in encrypted form it is convenient to store it in an encrypted fashion using a randomly selected session key. In such a case it is inconvenient and unnecessary to decrypt and re-encrypt.

A similar situation occurs where a firewall proxy is being used to add public key encryption. When a document is received by the proxy the public key encryption must be decoded and the document dispatched to the client under the shared secret key between the client and firewall. It is more convenient to process only the head of the message rather than change the session key. In the case that the client originates the document it is essential that the internal secret key not be divulged outside the firewall.

Phillip M. Hallam-Baker, CERN ECP PTG hallam@alws.cern.ch
Henrik Frystyk Nielsen, CERN CN, frystryk@ptsun00.cern.ch
Ari Luotonen, CERN ECP (Now at Mosaic Communications Corp)