1. Trang chủ
  2. » Công Nghệ Thông Tin

Báo cáo Công nghệ TLS

26 306 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 26
Dung lượng 345,5 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Ngày nay, Internet có thể được dùng để liên lạc điện tử. Những người sử dụng Internet vì mục đích này thường có nhu cầu bảo đảm an toàn cho thông tin liên lạc đó. Thông tin liên lạc an toàn có thể được đảm bảo bằng cách sử dụng kênh an toàn. Một kênh an toàn sẽ cung cấp cho người sử dụng ba tính năng là: chứng thực những người có liên quan trong liên lạc, bảo mật cho thông tin được trao đổi trong liên lạc và bảo đảm tính toàn vẹn của thông tin được trao đổi trong liên lạc.

Trang 1

M C L C Ụ Ụ

1 Mở đầu 3

2 SSL(Secure Socket Layer) và TLS (Transport Layer Security) 3

2.1 Lịch sử SSL và TSL 3

2.2 Sự khác nhau giữa SSL và TLS 5

2.3 SSL/TLS làm giao thức bảo mật riêng 6

2.4 Tính năng bảo đảm an toàn của SSL/TLS 6

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

3.1 TLS Record Protocol 8

3.2 TLS Handshake Protocol 8

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

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

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

5 Xác thực thông điệp 16

6 Các Cipher Suites cơ bản 17

7 Khả năng cộng tác với SSL 19

8 Tương lai của SSL và TLS 20

9 Các ứng dụng của TLS 21

10 Sử dụng giao thức SSL/TLS 21

10.1 Cài đặt Certificate Services cho Windows 2003 Server 21

10.2 Tạo một yêu cầu Certificate 22

10.3 Gởi yêu cầu certificate 22

10.4 Phát sinh và download 1 Certificate 23

10.5 Cài SSL cho web site 23

10.6 Cấu hình 24

10.7 Cài đặt Apache Webserver hỗ trợ SSL 24

Trang 2

10.7.2 Biên dịch 24

10.7.3 Start Apache webserver with ssl 25

10.7.4 Cấu hình httpd.conf 25

TÀI LIỆU THAM KHẢO 27

Trang 3

1 Mở đầu

Ngày nay, Internet có thể được dùng để liên lạc điện tử Những người sửdụng Internet vì mục đích này thường có nhu cầu bảo đảm an toàn cho thông tinliên lạc đó

Thông tin liên lạc an toàn có thể được đảm bảo bằng cách sử dụng kênh

an toàn

Một kênh an toàn sẽ cung cấp cho người sử dụng ba tính năng là: chứng

thực những người có liên quan trong liên lạc, bảo mật cho thông tin được trao

đổi trong liên lạc và bảo đảm tính toàn vẹn của thông tin được trao đổi trong

SSL là một giao thức lập mạng máy tính cung cấp tính năng chứng thực,bảo mật và đảm bảo tính toàn vẹn cho thông tin được trao đổi bởi các phươngtiện sử dụng mạng máy tính

Trang 4

Trước đây, SSL được thiết kế bởi tổ chức Netscape Communications vàonăm 1994

SSL phiên bản 1.0 chưa từng được công bố mà chỉ được sử dụng trongnội bộ của Netscape

Phiên bản được ban hành lần đầu tiên, SSL 2.0, thì lại có những nhượcđiểm nghiêm trọng đòi hỏi phải cho ra đời một phiên bản SSL mới

Vào năm 1995, Microsoft đã tiến hành phát triển PCT (một công nghệliên lạc cá nhân) để khắc phục lại những nhược điểm của SSLv2 Đáp lại,Netscape cũng phát triển SSL phiên bản 3.0 để giải quyết nhược điểm SSLv2 vàcung cấp thêm một số tính năng mà PCT không có

Tháng 5 năm 1996, cơ quan Đặc Trách Kỹ Thuật Internet (IETF) đã chophép hai nhóm phụ trách hoạt động TLS tiến hành thực hiện tiêu chuẩn hóa giaothức dạng SSL

TLS 1.0 lần đầu tiên được định nghĩa trong RFC 2246 vào tháng 1 1999

như là một nâng cấp lên phiên bản SSL 3.0 Như đã nêu trong RFC, "sự khácbiệt giữa giao thức này và SSL 3.0 này không đáng kể, nhưng họ đủ quan trọng

mà TLS 1.0 và SSL 3.0 không tương thích." TLS 1.0 bao gồm một phương tiện

mà một TLS thực hiện có thể hạ cấp kết nối đến SSL 3.0

TLS 1.1(SSL 3.2) TLS 1.1 được quy định tại RFC 4.346 trong tháng 4 năm

2006 Đây là một bản cập nhật từ phiên bản 1.0 TLS Sự khác biệt đáng kể trongphiên bản này bao gồm:

Nhập bảo vệ chống lại tấn công Cipher block chaining (CBC)

Các ngầm khởi Vector (IV) được thay thế bằng một IV rõ ràng

Thay đổi trong việc xử lý sai sót padding

Hỗ trợ cho các thông số đăng ký IANA

TLS 1.2 đã được định nghĩa trong RFC 5.246 trong tháng 8 năm 2008 Nó

dựa trên TLS trước đó 1.1 đặc điểm kỹ thuật sự khác biệt chính bao gồm:

Trang 5

Sự kết hợp MD5/SHA-1 trong chức năng pseudorandom (PRF) đã đượcthay thế với SHA-256, với một tùy chọn để sử dụng mật mã, bộ quy định PRFs.

Sự kết hợp MD5/SHA-1 trong hash kết thúc tin nhắn đã được thay thế vớiSHA-256, với một tùy chọn để sử dụng thuật toán mã hóa-suite thuật toán băm

và chế độ CCM của mã hóa AES

TLS mở rộng định nghĩa và Advanced Encryption Standard (AES)CipherSuites được thêm vào

Message authentication ad hoc standard

Baseline cipher suites FortezzaIncludes no Fortezza

Trang 6

2.3 SSL/TLS làm giao thức bảo mật riêng

SSL đã được tạo riêng thành giao thức chỉ dùng cho bảo mật Trong đó,một tầng bảo mật đặc biệt đã được thêm vào kiến trúc của giao thức Internet

Ở dưới cùng là giao thức Internet (IP) chịu trách nhiệm về định tuyến tinnhắn trên mạng Giao thức Kiểm soát Truyền dẫn (TCP) có nhiệm vụ đảm bảo

độ đáng tin cậy cho thông tin liên lạc Phía trên cùng là Giao thức Truyền ĐaVăn Bản (HTTP) có thể xác định được các chi tiết của quá trình tương tác giữacác trình duyệt Web và máy chủ Web

SSL thêm vào tính năng bảo đảm an toàn bằng cách vận hành như mộtgiao thức bảo mật riêng đòi hỏi rất ít sự thay đổi trong các giao thức đã nói trên

và dưới đây Đó là lý do tại sao nó có thể bảo đảm an toàn cho các ứng dụngInternet khác như HTTP(HTTPS), SMTP (SMTPS), NNTP(NNTPS),LDAP(LDAPS), FTP(FTPS), telnet (telnets), IMAP4(IMAPS), POP3(POP3S).

2.4 Tính năng bảo đảm an toàn của SSL/TLS

SSL/TLS được đánh giá là mạnh như các hàm mã hóa bên trong giao thứcnày

Trong phiên bản cuối cùng TLS 1.2 (RFC 5246), thuật toán SHA256 được

sử dụng cho hàm giả ngẫu nhiên (PRF) và HMAC – hàm băm duy nhất theo yếu

tố ký số, bộ mã hóa AES và 3DES đã thay thế cho IDEA và DES cũ

TLS 1.2 có năm thuộc tính mã hóa được thiết kế để dùng cho ký số, mãhóa luồng, mã hóa khối, mã hóa AEAD (authenticated encryption with

Trang 7

additional data), mã hóa khóa công cộng tương ứng là: ký số, mã hóa mật mãluồng, mã hóa mật mã khối, mã hóa có chứng thực với dữ liệu bổ sung (AEAD)

và mã hóa khóa công cộng

Sự hỗ trợ mở rộng cho các mật mã mã hóa có chứng thực, được sử dụngchủ yếu cho chế đọ Galois/Counter (GCM) và chế độ CCM của mã hóa AES(Advanced Encryption Standard –Tiêu chuẩn mã hóa cao cấp)

Chương trình cũng thêm định nghĩa các phần mở rộng TLS và các bộ mật

mã AES

Máy khách có thể sử dụng khóa công cộng của cơ quan chứng nhận (CA)

để xác nhận chữ ký số của CA trong chứng nhận máy chủ Nếu có thể xác minhchữ ký số đó thì máy khách sẽ tiếp nhận giấy chứng nhận máy chủ làm chứngnhận hợp pháp được phát hành bởi CA đáng tin

Bảo vệ chống lại sự xuống cấp của giao thức trong phiên bản trước (phiênbản ít an toàn hơn) hoặc bộ mật mã yếu hơn

Đánh số cho tất cả các bản ghi của Ứng dụng với một mã số thứ tự và sửdụng mã số thứ tự này trong các mã chứng thực tin (MAC)

Sử dụng digest của tin nhắn được củng cố thêm bởi một khóa (vì vậy chỉ

có người giữ khóa mới có thể kiểm tra MAC) Cấu trúc HMAC được sử dụngbởi hầu hết các bộ mật mã TLS ciphersuites là được quy định trong RFC 2104(SSLv3 được sử dụng bởi MAC dựa trên cơ sở hàm băm khác)

Tin nhắn hoàn thành quá trình thỏa thuận ("Finished") sẽ gửi một hàmbăm của tất cả các tin nhắn thương lượng được trao đổi mà cả hai bên đầu có thểxem

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

Trang 8

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ốibằng cách sử dụng thủ tục thương lượng Trong quá trình thương lượng, máykhá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áychủ 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áykhá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ấychứ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

Trang 9

Để tạo ra các khóa phiên sử dụng cho kết nối an toà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ửikế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ủamì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 toà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:

Trang 10

- 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ộtdanh 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ựachọn được máy khách đưa ra Máy chủ cũng có thể gửi một phiên id làmphầ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áykhách Chữ ký này có thể được xác nhận bằng cách sử dụng khóa côngcộ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 toá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

Trang 11

- 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ẽ đượcchứ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

Trang 12

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ácthô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áonà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ảnhbáo NoCertificate đòi hỏi một trình độ cao về đồng bộ hóa giữa các giao thứccả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ộtthông báo Giấy chứng nhận sản phẩm nào

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áonày luôn luôn 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 luôn 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

Trang 13

nén, có kích thước hơn 214 + 2048 byte;cảnh báo này luôn luôn gây tràn.

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

liệu mà nó không thể giải nén; cảnh báo này luôn luôn gây tràn

40 Hand-ShakeFailure Bên gửi chỉ ra rằng nó đã không thể đàm

42 BadCertificate Bên gửi nhận được một giấy chứng nhận

đã được sửa đổi (ví dụ, chữ ký của nó không thể được xác minh)

43 UnsupportedCertificate Bên gửi nhận được một giấy chứng nhận

của một loại rằng nó không thể hỗ trợ

44 Certificate-Revoked Bên gửi nhận được một giấy chứng nhận

cái mà đã bị thu hồi của cơ quan cấp giấy chứng nhận

45 Certificate-Expired Bên gửi nhận được một giấy chứng nhận

đã hết hạn

46 Certificate-Unknown Bên gửi chỉ ra một vấn đề không xác

định với một giấy chứng nhận nhận được

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

một tin nhắn bắt tay với một giá trị tham

số đó là bất hợp pháp hoặc không phù hợp với các thông số khác

Trang 14

định hoặc không tin tưởng các cơ quan chứng nhận của một chuỗi giấy chứng nhận nhận được; cảnh báo này luôn luôngây tràn.

49 Access-Denied Bên gửi chỉ ra rằng các bên xác định

trong giấy chứng nhận ngang hàng không có quyền truy cập để tiếp tục đàmphán; cảnh báo này luôn luôn gây tràn

50 DecodeError Bên gửi chỉ ra rằng tin nhắn đã nhận

được không thể được giải mã bởi vì một trường giá trị được ra khỏi phạm vi cho phép hoặc chiều dài tin nhắn được không hợp lệ; cảnh báo này luôn luôn gây tràn

51 DecryptError Bên gửi chỉ ra rằng một hoạt động mật

mã cần thiết để bắt tay đàm phán thất bại

60 ExportRestriction Bên gửi chỉ ra rằng nó phát hiện một

tham số đàm phán không phù hợp với các hạn chế xuất khẩu áp dụng Hoa Kỳ; cảnh báo này luôn luôn gây tràn

70 Protocol-Version Bên gửi chỉ ra rằng nó không thể hỗ trợ

các phiên bản giao thức TLS yêu cầu; cảnh báo này luôn luôn gây tràn

71 Insufficient-Security Bên gửi (luôn luôn là một máy chủ) chỉ

ra rằng nó yêu cầu mật mã dãy phòng antoàn hơn những hỗ trợ của clients; cảnh báo này luôn luôn gây tràn

80 InternalError Bên gửi chỉ ra rằng một lỗi địa phương

để hoạt động và độc lập của giao thức

Trang 15

TLS (như là một sự thất bại cấp phát bộ nhớ) làm cho nó không thể tiếp tục; cảnh báo này luôn luôn gây tràn.

90 UserCanceled Bên gửi chỉ ra rằng nó muốn hủy bỏ

việc đàm phán bắt tay vì những lý do khác hơn là lỗi giao thức; tin nhắn này thường là một lời cảnh báo và cần được theo sau bởi một CloseNotify

100 NoRenegotiation Người gửi chỉ ra rằng nó không thể thực

hiện theo yêu cầu ngang hàng để đàm phán lại TLS handshake; cảnh báo này luôn luôn gây tràn

Mô tả các cảnh báo của TLS

Bí mật h-mac là mac viết bí mật xuất phát từ bí mật tổng thể Bảng 1-3 liệt kêcác thông tin đó được bảo vệ

Ngày đăng: 15/08/2019, 05:41

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w