Tải bản đầy đủ - 0 (trang)
Các thành phần của TLS

Các thành phần của TLS

Tải bản đầy đủ - 0trang

Công nghệ TLS – codedoansinhvien@gmail.com



3.1. TLS Record Protocol



3.2. TLS Handshake Protocol

Một máy khách và máy chủ TLS sẽ thương lượng một hoạt động kết nối

bằng cách sử dụng thủ tục thương lượng. Trong quá trình thương lượng, máy

khách và máy chủ sẽ thỏa thuận về các tham số khác nhau được sử dụng để

thiết lập kết nối an toàn (các kết nối trong kênh mã hóa).

Quá trình thương lượng bắt đầu khi một máy khách kết nối với một máy

chủ yêu cầu kết nối an toàn (https), và trình diễn một danh sách các bộ mật mã

được hỗ trợ (các mật mã và hàm băm).

Từ danh sách của máy khách này, máy chủ sẽ chọn ra mật mã mạnh nhất

và hàm băm mà nó cũng hỗ trợ, sau đó thơng báo về quyết định này cho máy

khách.

Máy chủ sẽ gửi lại bản nhận dạng của nó dưới dạng chứng nhận số. Giấy

chứng nhận này thường có chứa tên máy chủ, các cơ quan chứng nhận (CA)

đáng tin cậy, và khóa mã hóa cơng cộng của máy chủ.

Máy khách có thể liên lạc với máy chủ phát hành giấy chứng nhận (tức là

CA đáng tin cậy như đã nói ở trên) và xác nhận rằng chứng nhận mang tính hợp

lệ trước khi tiến hành.

https://www.facebook.com/codedoansinhvien



Trang 8



Công nghệ TLS – codedoansinhvien@gmail.com



Để tạo ra các khóa phiên sử dụng cho kết nối an tồn, máy khách cần mã

hóa một mã số ngẫu nhiên (RN) với khóa cơng cộng của máy chủ (PbK), và gửi

kết quả đến máy chủ. Chỉ có máy chủ mới có thể giải mã nó (với khóa riêng của

mình (PvK)): thực tế này khiến cho các bên thứ ba không thể xem các phím đó

vì chỉ có máy chủ và máy khách mới có thể truy cập vào dữ liệu này. Máy khách

sẽ được biết PbK và RN, và máy chủ được biết về PvK cùng RN (sau khi giải

mã tin nhắn của máy khách). Một bên thứ ba chỉ có thể biết RN nếu xâm nhập

được vào PvK.

Từ mã số ngẫu nhiên đã cho, cả hai bên đều tạo ra dữ liệu khóa để phục

vụ cho việc mã hóa cũng như giải mã dữ liệu (tin nhắn).

Điều này sẽ kết thúc quá trình thương lượng và bắt đầu kết nối an tồn,

được mã hóa và giải mã với dữ liệu khóa đã tạo cho đến khi kết nối kết thúc.

Quá trình thương lượng TLS có chứng thực máy khách

3.2.1. Giai đoạn thương lượng:



https://www.facebook.com/codedoansinhvien



Trang 9



Công nghệ TLS – codedoansinhvien@gmail.com

-



Client gửi một tin nhắn mang tên ClientHello để xác định phiên bản cao

nhất của giao thức SSL/TLS mà nó hỗ trợ, một mã số ngẫu nhiên, một

danh sách các bộ mật mã và phương pháp nén được hỗ trợ.



-



Server phản hồi lại bằng tin nhắn ServerHello, bao gồm phiên bản giao

thức được chọn, mã số ngẫu nhiên, bộ mật mã và phương pháp nén từ lựa

chọn được máy khách đưa ra. Máy chủ cũng có thể gửi một phiên id làm

phần tin nhắn thực hiện quá trình thương lượng nối tiếp.



-



Server gửi tin nhắn Certificate (tùy thuộc vào bộ mật mã được chọn).

Server yêu cầu giấy chứng nhận từ máy khách để kết nối có thể được cả

hai bên chứng thực, sử dụng tin nhắn CertificateRequest.



-



Server gửi tin nhắn ServerHelloDone để cho biết nó đã thực hiện quá

trình thương lượng. Client phản hồi bằng tin nhắn Certificate có chứa

giấy chứng nhận của máy khách.



-



Client gửi tin nhắn ClientKeyExchange mà có thể có chứa

PreMasterSecret, khóa cơng cộng hoặc khơng có gì. PreMasterSecret

được mã hóa bằng cách sử dụng khóa cơng cộng của giấy chứng nhận

máy chủ. Client gửi tin nhắn CertificateVerify, nó là một chữ ký trên các

tin nhắn trước có sử dụng khóa cá nhân trong giấy chứng nhận của máy

khách. Chữ ký này có thể được xác nhận bằng cách sử dụng khóa cơng

cộng của giấy chứng nhận máy khách. Điều này sẽ giúp cho máy chủ biết

được máy khách truy cập vào khóa cá nhân và sở hữu giấy chứng nhận

đó. Sau đó, máy khách và máy chủ sẽ sử dụng các số ngẫu nhiên và

PreMasterSecret để tính tốn bí mật chung, được gọi là "master secret" (bí

mật chính). Tất cả các dữ liệu khóa khác được sử dụng cho kết nối này

đều xuất phát từ bí mật chính này (các giá trị ngẫu nhiên được máy khách

và máy chủ tạo ra), thông qua một “hàm giả ngẫu nhiên” được thiết kế

một cách cẩn trọng.



https://www.facebook.com/codedoansinhvien



Trang 10



Công nghệ TLS – codedoansinhvien@gmail.com

-



Client gửi một bản ghi mang tên ChangeCipherSpec chủ yếu để cho máy

chủ biết rằng: "Từ bây giờ, mọi điều mà tơi nói với bạn đều sẽ được

chứng thực (và được mã hóa nếu có thương lượng về điều đó)."



-



Client gửi một tin nhắn Finished đã mã hóa, nó có chứa một giá trị băm

và MAC trên các tin nhắn thương lượng trước. Server giải mã tin nhắn

Finished của máy khách và xác nhận giá trị băm cùng MAC đó.



-



Server gửi bản ghi ChangeCipherSpec để cho Client biết " Từ bây giờ,

mọi điều mà tơi nói với bạn đều sẽ được chứng thực (và được mã hóa nếu

có thương lượng về điều đó)."



-



Server gửi tin nhắn Finished mã hóa của chính mình. Client thực hiện sự

giải mã và xác nhận tương tự.



3.2.2. Giai đoạn ứng dụng:

Tại thời điểm này, "quá trình thương lượng" được hoàn tất và giao thức

ứng dụng được kích hoạt. Các tin nhắn ứng dụng trao đổi giữa Client và Server

cũng sẽ được mã hóa chính xác như trong thông báo Finished của chúng.

4. Các loại tin nhắn giao thức cảnh báo



https://www.facebook.com/codedoansinhvien



Trang 11



Công nghệ TLS – codedoansinhvien@gmail.com



Một trong những cải tiến của TLS so với SSL là trong thủ tục để thông báo

về các cảnh báo bảo mật thực tế và tiềm ẩn. Đặc biệt, TLS định nghĩa gần như

gấp đôi với nhiều mô tả cảnh báo. Bảng 1-2 cung cấp danh sách đầy đủ của các

thông báo TLS. Nó cũng đánh dấu đó của những cái mới của TLS (với một ký

hiệu bên trái cột đầu tiên), và nó nhấn mạnh một thực tế là mơ tả cảnh báo 41

(NoCertificate) đa bị xoa trong TLS. Các đặc điểm kỹ thuật TLS gỡ bỏ cảnh báo

này bởi vì, trong thực tế, nó rất khó để thực hiện. Diễn giải thành cơng các cảnh

báo NoCertificate đòi hỏi một trình độ cao về đồng bộ hóa giữa các giao thức

cảnh báo và bắt tay (Alert and Handshake protocols), một đồng bộ hóa có nghĩa

là nếu khơng thì khơng cần thiết. Để loại bỏ các yêu cầu cho đồng bộ hóa này,

TLS có clients mà khơng có giấy chứng nhận phù hợp chỉ đơn giản là trả lại một

thông báo Giấy chứng nhận sản phẩm nào.

Value



Name



Meaning



0



CloseNotify



Bên gửi chỉ ra rõ ràng rằng đó là đóng

kết nối; thơng báo đóng có mức độ cảnh

báo trầm trọng.



10



UnexpectedMessage



Bên gửi chỉ ra rằng nó đã nhận được

một thông báo không phù hợp; cảnh báo

này luôn ln gây tràn.



20



BadRecord-MAC



Bên gửi chỉ ra rằng nó đã nhận được

một tin nhắn với một mã xác thực thông

điệp xấu; cảnh báo này luôn luôn gây

tràn.



21



Decryption-Failed



Bên gửi chỉ ra rằng tin nhắn đó đã được

giải mật mã khơng hợp lệ (ví dụ, nó

khơng phải là một bội số của kích thước

khối hoặc có đệm khơng hợp lệ); cảnh

báo này ln luôn gây tràn.



22



RecordOverflow



Bên gửi chỉ ra rằng một tin nhắn nó

nhận được mà sau khi giải mã hoặc giải



https://www.facebook.com/codedoansinhvien



Trang 12



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Các thành phần của TLS

Tải bản đầy đủ ngay(0 tr)

×