SSL

SSL 회로망 베이스 신청을 위해 보안 제공하다 방법입니다

신뢰할 수 있는 숫자 있다 끝으로 종료 보안 서비스 제공하다 ~을 위한 TCP붓다 사용 설계

SSL 싱글 프로토콜 ~ 아니다 칠하다 11.1수업 함께 계층적 규약.

그림 보다CP직접 사용 규약볼 수 있습니다.

그만큼 레이어는 SSL 기록 로그로 모두 다 아는 있다 다른 차이점 계층 기록에 기초적인 보안 서비스 권하다

기록 규약 사용 독립적인 로그는 하이퍼텍스트 마크업 언어(HTTP) 규약.

그리고 맨 위 유지하다 SSL 교환 관리에게 그것을 사용 될거야

SSL 핸드셰이크규약

SSL 암호화 사양 변경

SSL 경고 로그 보지 못하다.

이와 같이 5개들 사이에서

4.

첫 번째 SSL 항목 규약에게 당신이 볼 때

SSL 연결하다 ~을 위한 서비스 제공하다.

기존의 암호화 필요한 기밀

확인 코드 필요한 소식 진실성

제공하고

데이터 조종하다 ~을 위한 로그는 다음 작품 할 것이다.

1. 애플리케이션 메시지를 보내고 관리 가능한 청크로 나누기.

이 블록 2 14 = 16, 384바이트 이하.

2. 그런 다음 이러한 블록은 선택적으로 무손실 압축됩니다.

콘텐츠 길이는 1024바이트 이상으로 늘릴 수 없습니다.

3. 공유 비밀 키를 사용하여 압축 데이터에서 메시지 인증 코드를 계산합니다.

그런 다음 압축(또는 일반 텍스트) 블록에 추가됩니다.

4. 압축된 메시지와 MAC은 대칭 암호화 키를 사용하여 암호화됩니다.

암호화는 콘텐츠 길이를 1024바이트 이상 늘릴 수 없으므로 총 길이는 14의 2승 + 2048바이트를 초과하지 않습니다.

다양한 암호화 알고리즘이 허용됩니다.

• 마지막 단계는 다음 필드로 구성된 헤더를 앞에 추가하는 것입니다.


암호 사양 프로토콜 변경

값이 1인 단일 바이트로 구성된 단일 메시지로 구성됩니다.

그건 현재의 상태로 복사되어 이 연결에 사용됨 Cipher Suite를 업데이트하는 방법 필요합니다.

경고 로그

이 프로토콜은 SSL 관련 경고를 피어 엔터티에 전달하는 데 사용됩니다.

그건 2바이트로 구성되고,

첫 번째 바이트의 값은 1(경고) 또는 2(위험)입니다.

수준이 중요한 경우 SSL은 즉시 연결을 종료합니다. 두 번째 바이트에는 다음을 나타내는 코드가 포함됩니다.


핸드셰이크 프로토콜

이것은 SSL의 가장 복잡한 부분으로, 서버와 클라이언트가 서로를 인증하고

SSL 레코드는 암호화 및 MAC 알고리즘과 암호화 키를 협상하여 전송된 데이터를 보호할 수 있습니다.

이 프로토콜은 애플리케이션 데이터가 전송되기 전에 사용됩니다.

이는 클라이언트와 서버 간에 교환되는 일련의 메시지로 구성되며 그 형식은 그림 11.5에 나와 있습니다. 각 메시지에는 3개의 필드가 있습니다.

1. 수신함(1바이트): 10개의 메시지 중 하나를 나타냅니다. B. “Hello 요청”(그림 11.4 참조).

2. 길이(3바이트): 메시지 길이(바이트)입니다.

3. 내용(숫자 0바이트): 이 메시지와 관련된 매개변수, 예: B. 사용된 SSL 버전


핸드셰이크 프로토콜은 그림 11.6에 나와 있습니다. 4단계로 구성됩니다.

하나.

프로토콜 버전, 세션 ID, 암호화 제품군, 압축 방법 및 초기 난수를 포함한 보안 기능을 설정합니다.

이 단계는 다음과 같은 클라이언트 안녕하세요 및 서버 안녕하세요 메시지로 구성됩니다(클라이언트의 경우, 서버의 경우 약간 다름). • 버전: 클라이언트가 이해하는 가장 높은 SSL 버전입니다.

• 무작위: 32비트 타임스탬프 및 28바이트 난스.

• 세션 ID: 가변 길이 세션 식별자.

• CipherSuite: 클라이언트에서 지원하는 암호화 알고리즘 목록입니다. 키 교환 및 암호화 사양(암호화 알고리즘, MAC 알고리즘, 암호화 유형, 해시 크기, 키 자료 및 IV 크기와 같은 필드 포함)이 모두 정의됩니다.

• 압축 방법: 클라이언트에서 지원하는 방법 목록입니다.

2.

서버는 인증서를 보내고, 키를 교환하고, 인증서를 요청하고,

Hello 메시지 단계의 끝을 알릴 수도 있습니다.

서버 키 교환은 요청 시에만 전송됩니다. 인증서 요청에 필요한 경우 클라이언트에서 인증서를 요청할 수 있습니다.

삼.

서버 준비 메시지를 수신한 후 클라이언트는 서버가 유효한 인증서를 제공했는지 확인하고

서버의 hello 매개변수가 허용되는지 확인해야 합니다.

모든 것이 정상이면 클라이언트는 SSL(Secure Sockets Layer)이라는 하나 이상의 메시지를 서버로 보냅니다. 클라이언트는 요청 시 인증서를 보냅니다(사용 가능한 인증서가 없으면 대신 인증서 없음 알림을 보냅니다).

다음으로 클라이언트는 클라이언트 키 교환 메시지를 보냅니다. 마지막으로 클라이언트는 인증서 확인을 보낼 수 있습니다.

4. 암호 세트를 변경하고 핸드셰이크 프로토콜을 종료합니다.

이제 보안 연결이 설정되고 클라이언트와 서버가 애플리케이션 계층 데이터 교환을 시작할 수 있습니다.