Secure Sockets Layer

Содержание

Слайд 2

Определение SSL—криптографический протокол, который обеспечивает установление безопасного соединения между клиентом и сервером.

Определение

SSL—криптографический протокол, который обеспечивает установление безопасного соединения между клиентом и сервером.


Слайд 3

Свойства канала Канал является частным. Шифрование используется для всех сообщений после

Свойства канала

Канал является частным. Шифрование используется для всех сообщений после простого

диалога, который служит для определения секретного ключа.
Канал аутентифицирован. Серверная сторона диалога всегда аутентифицируется, в то время как клиентская - аутентифицируется опционно.
Канал надежен. Транспортировка сообщений включает в себя проверку целостности (с привлечением MAC).
Слайд 4

Содержание 1 Спецификация протокола записей SSL 1.1 Формат заголовка записи SSL

Содержание

1 Спецификация протокола записей SSL
1.1 Формат заголовка записи SSL
2.2

Формат информационных записей SSL
2 Спецификация протокола диалога SSL
2.1 Протокол диалога SSL
2.2 Типовой протокол обмена сообщениями
2.3 Ошибки
2.4 Сообщения протокола диалога SSL
Слайд 5

Спецификация протокола записей SSL Формат заголовка записи SSL Формат информационных записей SSL

Спецификация протокола записей SSL

Формат заголовка записи SSL
Формат информационных записей SSL

Слайд 6

Формат заголовка записи SSL 2 байта RECORD-LENGTH = ((byte[0] & 0x7F

Формат заголовка записи SSL

2 байта
RECORD-LENGTH =
((byte[0] & 0x7F << 8))

| byte[1];

3 байта
RECORD-LENGTH =
((byte[0] & 0x3F) << 8)) | byte[1];
IS-ESCAPE = (byte[0] & 0x40) != 0;
PADDING = byte[2];

Слайд 7

Формат информационных записей SSL MAC-DATA[MAC-SIZE] Для MD2 и MD5 MAC-SIZE равен

Формат информационных записей SSL
MAC-DATA[MAC-SIZE]
Для MD2 и MD5 MAC-SIZE равен 16

байтам
ACTUAL-DATA[N]
PADDING-DATA[PADDING]
N = RECORD-LENGTH - MAC-SIZE - PADDING
Слайд 8

MAC-DATA

MAC-DATA

Слайд 9

HASH Тип хэш-функции определяется параметром CIPHER-CHOICE Для MD2 и MD5 MAC-SIZE равен 16 байтам

HASH
Тип хэш-функции определяется параметром CIPHER-CHOICE
Для MD2 и MD5 MAC-SIZE равен 16

байтам
Слайд 10

SECRET

SECRET

Слайд 11

SEQUENCE-NUMBER Счетчик, который инкрементируется как сервером, так и получателем. Для каждого

SEQUENCE-NUMBER

Счетчик, который инкрементируется как сервером, так и получателем. Для каждого направления

передачи, используется пара счетчиков (один для отправителя, другой для получателя). При отправлении сообщения счетчик инкрементируется. Порядковыми номерами являются 32-битовые целые числа без знака, которые при переполнении обнуляются.
Слайд 12

Спецификация протокола диалога SSL Протокол диалога SSL Типовой протокол обмена сообщениями

Спецификация протокола диалога SSL

Протокол диалога SSL
Типовой протокол обмена сообщениями

Слайд 13

Протокол диалога SSL Фаза 1 Фаза 2

Протокол диалога SSL
Фаза 1
Фаза 2

Слайд 14

Фаза 1 Клиент инициирует диалог посылкой сообщения CLIENT-HELLO. Сервер получает сообщение

Фаза 1

Клиент инициирует диалог посылкой сообщения CLIENT-HELLO. Сервер получает сообщение CLIENT-HELLO,

обрабатывает его и откликается сообщением SERVER-HELLO
Когда нужен новый мастер ключ, сообщение SERVER-HELLO будет содержать достаточно данных, чтобы клиент мог сформировать такой ключ
Клиент генерирует мастер ключ и посылает сообщение CLIENT-MASTER-KEY или сообщение ERROR, если информация сервера указывает, что клиент и сервер не могут согласовать базовый шифр
после того как мастер ключ определен, сервер посылает клиенту сообщение SERVER-VERIFY
Слайд 15

SERVER-HELLO сертификат сервера список базовых шифров идентификатор соединения

SERVER-HELLO

сертификат сервера
список базовых шифров
идентификатор соединения

Слайд 16

Блок-схема Фазы 1

Блок-схема Фазы 1

Слайд 17

Фаза 2 Сервер уже аутентифицирован клиентом на первой фазе, по этой

Фаза 2

Сервер уже аутентифицирован клиентом на первой фазе, по этой причине

здесь осуществляется аутентификация клиента.
Когда один партнер выполнил аутентификацию другого партнера, он посылает сообщение finished.
В случае клиента сообщение CLIENT-FINISHED содержит зашифрованную форму идентификатора CONNECTION-ID, которую должен верифицировать сервер. Если верификация терпит неудачу, сервер посылает сообщение ERROR.
Слайд 18

Блок-схема Фазы 2

Блок-схема Фазы 2

Слайд 19

Типовой протокол обмена сообщениями

Типовой протокол обмена сообщениями

Слайд 20

При отсутствии идентификатора сессии

При отсутствии идентификатора сессии

Слайд 21

Идентификатор сессии найден клиентом и сервером

Идентификатор сессии найден клиентом и сервером

Слайд 22

Использован идентификатор сессии и аутентификация клиента

Использован идентификатор сессии и аутентификация клиента

Слайд 23

Ошибки

Ошибки

Слайд 24

Протокольные сообщения клиента CLIENT-HELLO (Фаза 1; посылается открыто) CLIENT-MASTER-KEY (Фаза 1;

Протокольные сообщения клиента

CLIENT-HELLO (Фаза 1; посылается открыто)
CLIENT-MASTER-KEY (Фаза 1; посылается вначале

открыто)
CLIENT-CERTIFICATE (Фаза 2; посылается шифрованным)
CLIENT-FINISHED (Фаза 2; посылается шифрованным)
Слайд 25

CLIENT-HELLO (Фаза 1; посылается открыто) char MSG-CLIENT-HELLO char CLIENT-VERSION-MSB char CLIENT-VERSION-LSB

CLIENT-HELLO (Фаза 1; посылается открыто)

char MSG-CLIENT-HELLO char CLIENT-VERSION-MSB char CLIENT-VERSION-LSB char CIPHER-SPECS-LENGTH-MSB char CIPHER-SPECS-LENGTH-LSB char SESSION-ID-LENGTH-MSB char

SESSION-ID-LENGTH-LSB char CHALLENGE-LENGTH-MSB char CHALLENGE-LENGTH-LSB char CIPHER-SPECS-DATA[(MSB<<8)|LSB] char SESSION-ID-DATA[(MSB<<8)|LSB] char CHALLENGE-DATA[(MSB<<8)|LSB]
Слайд 26

CLIENT-MASTER-KEY (Фаза 1; посылается вначале открыто) char MSG-CLIENT-MASTER-KEY char CIPHER-KIND[3] char

CLIENT-MASTER-KEY (Фаза 1; посылается вначале открыто)

char MSG-CLIENT-MASTER-KEY char CIPHER-KIND[3] char CLEAR-KEY-LENGTH-MSB char CLEAR-KEY-LENGTH-LSB char ENCRYPTED-KEY-LENGTH-MSB char

ENCRYPTED-KEY-LENGTH-LSB char KEY-ARG-LENGTH-MSB char KEY-ARG-LENGTH-LSB char CLEAR-KEY-DATA[MSB<<8|LSB] char ENCRYPTED-KEY-DATA[MSB<<8|LSB] char KEY-ARG-DATA[MSB<<8|LSB]
Слайд 27

CLIENT-CERTIFICATE (Фаза 2; посылается шифрованным) char MSG-CLIENT-CERTIFICATE char CERTIFICATE-TYPE char CERTIFICATE-LENGTH-MSB

CLIENT-CERTIFICATE (Фаза 2; посылается шифрованным)

char MSG-CLIENT-CERTIFICATE char CERTIFICATE-TYPE char CERTIFICATE-LENGTH-MSB char CERTIFICATE-LENGTH-LSB char RESPONSE-LENGTH-MSB char RESPONSE-LENGTH-LSB char

CERTIFICATE-DATA[MSB<<8|LSB] char RESPONSE-DATA[MSB<<8|LSB]
Слайд 28

CLIENT-FINISHED (Фаза 2; посылается шифрованным) char MSG-CLIENT-FINISHED char CONNECTION-ID[N-1]

CLIENT-FINISHED (Фаза 2; посылается шифрованным)

char MSG-CLIENT-FINISHED char CONNECTION-ID[N-1]

Слайд 29

Протокольные сообщения сервера SERVER-HELLO (Фаза 1; посылается открыто) SERVER-VERIFY (Фаза 1;

Протокольные сообщения сервера

SERVER-HELLO (Фаза 1; посылается открыто)
SERVER-VERIFY (Фаза 1; посылается шифрованным)
SERVER-FINISHED

(Фаза 2; посылается зашифрованным)
REQUEST-CERTIFICATE (Фаза 2; посылается шифрованным)
Слайд 30

SERVER-HELLO (Фаза 1; посылается открыто) char MSG-SERVER-HELLO char SESSION-ID-HIT char CERTIFICATE-TYPE

SERVER-HELLO (Фаза 1; посылается открыто)

char MSG-SERVER-HELLO char SESSION-ID-HIT char CERTIFICATE-TYPE char SERVER-VERSION-MSB char SERVER-VERSION-LSB char CERTIFICATE-LENGTH-MSB char

CERTIFICATE-LENGTH-LSB char CIPHER-SPECS-LENGTH-MSB char CIPHER-SPECS-LENGTH-LSB char CONNECTION-ID-LENGTH-MSB char CONNECTION-ID-LENGTH-LSB char CERTIFICATE-DATA[MSB<<8|LSB] char CIPHER-SPECS-DATA[MSB<<8|LSB] char CONNECTION-ID-DATA[MSB<<8|LSB]
Слайд 31

CIPHER-KIND

CIPHER-KIND

Слайд 32

SERVER-VERIFY (Фаза 1; посылается шифрованным) char MSG-SERVER-VERIFY char CHALLENGE-DATA[N-1]

SERVER-VERIFY (Фаза 1; посылается шифрованным)

char MSG-SERVER-VERIFY char CHALLENGE-DATA[N-1]

Слайд 33

SERVER-FINISHED (Фаза 2; посылается зашифрованным) char MSG-SERVER-FINISHED char SESSION-ID-DATA[N-1]

SERVER-FINISHED (Фаза 2; посылается зашифрованным)

char MSG-SERVER-FINISHED char SESSION-ID-DATA[N-1]

Слайд 34

REQUEST-CERTIFICATE (Фаза 2; посылается шифрованным) char MSG-REQUEST-CERTIFICATE char AUTHENTICATION-TYPE char CERTIFICATE-CHALLENGE-DATA[N-2]

REQUEST-CERTIFICATE (Фаза 2; посылается шифрованным)

char MSG-REQUEST-CERTIFICATE char AUTHENTICATION-TYPE char CERTIFICATE-CHALLENGE-DATA[N-2]