Skip to content

Protocol specification

Al Zohali edited this page May 12, 2017 · 2 revisions
Name Value Semantics / Implementation-specific notes
session iv|expiration|payload|mac Encrypted message with metadata

The value goes into acsSessionField.
iv Fixed-length sequence of random bytes. Initialization vector used to encrypt the message.

The bytes are taken from RandomSource. The amount is determined by blockSize method of BlockCipher.
expiration Fixed-length sequence of bytes. Since when the cookies become expired.

The time is calculated as result of getCurrentTime plus acsMaxAge and formatted using acsExpirationFormat.
payload encrypt iv key (msg|padding) Encrypted message (possibly with paddings).
msg Sequence of bytes. Original message.

Serialized AuthCookieData value.
padding Sequence of random bytes. Suffix to the message to make it fit the cipher's requirements.

The bytes are takes from RandomSource.
encrypt A function. Encryption algorithm.

Specidied by acsEncryptAlgorithm.
mac hash sk (iv|expiration|payload) Message authentication code.
hash A function. Hashing algorithm.

Specified by acsHashAlgorithm.
sk Fixed-length sequence of random bytes. A key, that is used for additional security and integrity checks.

Got from ServerKeySet instance.
key hash sk (iv|expiration) A key, that is used to encrypt the message.

The value is compared against cipherKeySize method of Cipher. Too long values are truncated, too short throw an exception.
_______________________________
Clone this wiki locally