Протоколы Internet


Протокол TLS версия 0 - часть 10


/p>

Эти параметры определены в языке представления в виде:

enum { server, client } ConnectionEnd;

enum { null, rc4, rc2, des, 3des, des40 } BulkCipherAlgorithm;

enum { stream, block } CipherType;

enum { true, false } IsExportable;

enum { null, md5, sha } MACAlgorithm;

enum { null(0), (255) } CompressionMethod;

/* Алгоритмы, специфицированные в CompressionMethod, BulkCipherAlgorithm и MACAlgorithm могут быть добавлены. */

struct {

ConnectionEnd

entity;

BulkCipherAlgorithm

bulk_cipher_algorithm;

CipherType

cipher_type;

uint8

key_size;

uint8

key_material_length;

IsExportable

is_exportable;

MACAlgorithm

mac_algorithm;

uint8

hash_size;

CompressionMethod

compression_algorithm;

Opaque

master_secret[48];

opaque

client_random[32];

opaque

server_random[32];} SecurityParameters;

Уровень записей будет использовать параметры безопасности для формирования следующих шести объектов:

Секретный код MAC записи клиента

>Секретный код MAC записи сервера

>Ключ записи клиента

Ключ записи сервера

IV записи клиента (только для блочного шифра)

IV записи сервера (только для блочного шифра)

Параметры записи клиента используются сервером при получении и обработке записей и наоборот. Алгоритм, использованный для генерирования этих объектов с помощью параметров безопасности, описан в разделе 6.3. Раз параметры безопасности определены и ключи сформированы, состояния соединения могут быть в любой момент реализованы путем перевода их в текущее состояние. Эти текущие состояния должны актуализоваться после обработки каждой записи. Каждое состояние соединения включает в себя следующие элементы:

Состояние сжатия

Текущее состояние алгоритма сжатия.

Состояние шифра

Текущее состояние алгоритма шифрования. Оно состоит из текущего ключа для данного соединения. Кроме того, для блочного шифра, работающего в режиме CBC (единственный режим, специфицированный в TLS), оно в исходный момент содержит IV для данного состояния соединения и должно актуализоваться, чтобы содержать текст последнего шифрованного или дешифрованного блока. Для поточных шифров, оно содержит всю необходимую информацию для продолжения шифрования или дешифрования данных.

Секретный код MAC

Секретный код MAC для данного соединения.

Номер по порядку

Каждое состояние соединения содержит номер по порядку, который поддерживается независимо для состояний чтения и записи. Номер по порядку должен быть установлен равным нулю, как только соединение переведено в активное состояние. Номера по порядку имеют тип uint64 и не может превышать 264-1. Номер по порядку инкрементируется после прихода каждой записи: в частности, первая запись, передаваемая через некоторое соединение, имеет порядковый номер 0.

<


Начало  Назад  Вперед