Tiểu luận môn Mật mã và an toàn dữ liệu Tìm hiểu công nghệ Công nghệ TLS (Transport Layer Security) - Pdf 23

Công nghệ TLS
MỤC LỤC
MỤC LỤC 1
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: 9
3.2.2. Giai đoạn ứng dụng: 11
4. Các loại tin nhắn giao thức cảnh báo 11
5. Xác thực thông điệp 15
6. Các Cipher Suites cơ bản 16
7. Khả năng cộng tác với SSL 18
8. Tương lai của SSL và TLS 19
9. Các ứng dụng của TLS 20
10. Sử dụng SSL/TLS 20
10.1 Cài đặt Certificate Services cho Windows 2003 Server 20
10.2 Tạo một yêu cầu Certificate 20
10.3 Gởi yêu cầu certificate 21
10.4 Phát sinh và download 1 Certificate 22
10.5 Cài SSL cho web site 22
10.6 Cấu hình 23
10.7 Cài đặt Apache Webserver hỗ trợ SSL 23
10.7.1 Các packages cần cài đặt 23
10.7.2 Biên dịch 23
Đoàn Văn Phi – K19 KTPM – ĐH Công Nghệ - ĐH QGHN Trang 1

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) đã cho
phé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 giao
thứ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ác
biệ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ể trong
phiê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:
Đoàn Văn Phi – K19 KTPM – ĐH Công Nghệ - ĐH QGHN Trang 4
Công nghệ TLS
Sự kết hợp MD5/SHA-1 trong chức năng pseudorandom (PRF) đã được
thay 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ới
SHA-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
cụ thể.

nhắ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 Đa
Vă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ữa
cá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ột
giao 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ụng
Internet 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ức
nà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
Đoàn Văn Phi – K19 KTPM – ĐH Công Nghệ - ĐH QGHN Trang 6
Công nghệ TLS
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ụng
chủ 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 minh
chữ ký số đó thì máy khách sẽ tiếp nhận giấy chứng nhận máy chủ làm chứng

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.
Đoàn Văn Phi – K19 KTPM – ĐH Công Nghệ - ĐH QGHN Trang 8
Công nghệ TLS
Để 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ử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 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:
Đoàn Văn Phi – K19 KTPM – ĐH Công Nghệ - ĐH QGHN Trang 9
Công nghệ TLS
- 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ả

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
Đoàn Văn Phi – K19 KTPM – ĐH Công Nghệ - ĐH QGHN Trang 11
Công nghệ TLS
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 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

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.
48 UnknownCA Bên gửi chỉ ra rằng nó không thể xác
Đoàn Văn Phi – K19 KTPM – ĐH Công Nghệ - ĐH QGHN Trang 13
Công nghệ TLS
đị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ôn
gâ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 đàm
phá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.

toán để xác thực thông điệp. Cách xác thực của SSL kết hợp thông tin chính và
dữ liệu ứng dụng là khá độc lập, tạo ra chỉ dành cho giao thức SSL. Giao thức
TLS dựa trên một mã xác thực tin nhắn tiêu chuẩn được gọi là h-mac (for
Hashed Message Authentication Code). Các thuật toán h-mac là một quy định
tiêu chuẩn, và đã bị phân tích mật mã nghiêm ngặt. Các đặc điểm kỹ thuật h-mac
bao gồm một mô tả chính xác của phương pháp tiếp cận, cũng như mã nguồn
mẫu, hình 1 minh họa h-mac trong một định dạng có thể được so sánh với số
liệu khác trong văn bản này. Lưu ý rằng h-mac không xác định một thuật toán
băm cụ thể (như md5 hay sha); đúng hơn, nó hoạt động hiệu quả với bất kỳ thuật
toán băm đủ mạnh. Thông điệp TLS mã xác thực là một ứng dụng đơn giản của
tiêu chuẩn h-mac. Mac là kết quả của phương pháp h-mac, bằng cách sử dụng
thuật toán băm bất cứ điều gì với bộ phần mềm mật mã thương lượng yêu cầu.
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ệ.
Đoàn Văn Phi – K19 KTPM – ĐH Công Nghệ - ĐH QGHN Trang 15
Công nghệ TLS
Băm MAC hoạt động với bất kỳ thuật toán băm.
6. Các Cipher Suites cơ bản.
Về cơ bản, TLS gần như hỗ trợ cùng một dãy cipher suites như SSL, tuy nhiên,
rõ ràng hỗ trợ cho Fortezza/dms cipher suites đã được gỡ bỏ. Các bộ mật mã
được định nghĩa dãy phòng TLS sẽ có khả năng mở rộng như dãy phòng mật mã
mới được phát triển và triển khai thực hiện. Bởi vì IETF có một quy trình rõ
ràng để đánh giá các đề xuất, cải tiến sẽ được dễ dàng hơn để thêm vào TLS hơn
là họ đã để SSL. Bảng 1-5 liệt kê các Cipher Suites cơ bản của TLS, cùng với
các giá trị của nó trong tin nhắn hello.
Đoàn Văn Phi – K19 KTPM – ĐH Công Nghệ - ĐH QGHN Trang 16
Công nghệ TLS
Hình 5: TLS uses the PRF for Finished messages.
Value Cipher Suite
0,0 TLS_NULL_WITH_NULL_NULL

7. Khả năng cộng tác với SSL
Như là trường hợp với sự chuyển đổi từ phiên bản SSL 2.0 sang phiên bản SSL
3.0, có một cách rõ ràng cho các hệ thống để hỗ trợ cả hai SSL 3.0 và TLS 1.0
một cách tương thích. Một clients hỗ trợ cả phiên bản SSL 3.0 và phiên bản TLS
1.0 phải gửi một phiên bản SSL 3.0 ClientHello, nhưng với phiên bản giao thức
thiết lập để 3.1. Nếu máy chủ TLS hiểu, nó phản ứng với một TLS ServerHello;
nếu không, nó phản ứng với một ServerHello SSL, và clients biết để rơi trở lại
phiên bản SSL 3.0. Máy chủ TLS hỗ trợ, ngay cả khi họ không hỗ trợ SSL, vẫn
cần được chuẩn bị để chấp nhận một SSL v3.0 ClientHello. Nếu họ nhận được
một thông điệp với phiên bản thiết lập để 3.1, họ có thể tiến hành một cách an
toàn với một cái bắt tay TLS.
Trường này xác định các kiểu bắt tay tin nhắn
Message Types
Code Description
Đoàn Văn Phi – K19 KTPM – ĐH Công Nghệ - ĐH QGHN Trang 18
Công nghệ TLS
0 HelloRequest
1 ClientHello
2 ServerHello
11 Certificate
12 ServerKeyExchange
13 CertificateRequest
14 ServerHelloDone
15 CertificateVerify
16 ClientKeyExchange
20 Finished
8. Tương lai của SSL và TLS
Tương lai của SSL và TLS rõ ràng là trong tay của IETF, cũng như các nhà
phát triển của các trình duyệt web, máy chủ Web, và hệ thống Internet khác đó
có yêu cầu an ninh. Phiên bản 3.0 của ssl là cũng được thành lập tại các khu vực

TLS 1.2.
Opera 10 hỗ trợ TLS 1.2.
10. Sử dụng SSL/TLS
10.1 Cài đặt Certificate Services cho Windows 2003 Server
Trong Windows 2003 Server, mở cửa sổ Control Panel.
1. Chọn Add/Remove Programs, chọn tiếp Add/Remove Windows
Components.
2. Chọn Certificate Services trong Windows Components Wizard, nhấn
Next.
3. Chọn kiểu dịch vụ mà bạn muốn cài đặt : Stand-Alone root CA, nhấn
Next.
4. Nhập thông tin định danh CA được yêu cầu và nhấn Next.
5. Nhấn Next tiếp để chấp nhận các thiết lập mặc định, nhấn Finish để
hoàn thành quá trình cài đặt.
10.2 Tạo một yêu cầu Certificate
1. Mở cửa sổ Internet Service Manager Microsoft Management Console
(MMC)
Đoàn Văn Phi – K19 KTPM – ĐH Công Nghệ - ĐH QGHN Trang 20
Công nghệ TLS
2. Mở bảng Property của Web Site bạn cần cài Certificate
3. Chọn tab Directory Security
4. Nhấn vào nút Server Certificate, cửa sổ Certificate Wizard hiện ra,
nhấn Next
5. Chọn Create a new certificate, nhấn Next
6. Chọn Prepare the request now, but send it later và chọn Next
7. Gõ tên cho certificate, chọn dộ dài bit mã hoá và các thông tin cần thiết,
nhấn Next để tiếp tục.
8. Chọn đường dẫn và tên file để lưu thông tin certificate
9. Kiểm tra lại thông tin bạn nhập, nhấn Next để tạo certificate
10.3 Gởi yêu cầu certificate

9. Nếu Certificate Server được cấu hình Always Issue the Certificate, bạn
có thể download certificate ngay lập tức.
10. Nếu Certificate Server được cấu hình là Set the certificate request
status to pending, bạn sẽ nhận được thông điệp Certificate Pending.
10.4 Phát sinh và download 1 Certificate
1. Mở Certificate Authority (CA) Microsoft Management Console
(MMC) bằng cách chọn Start – Program – Administrator Tools –
Certificate Authority
2. Mở Certificate Authority
3. Chọn Pending Requests. Cửa sổ bên phải sẽ xuất hiện những yêu cầu
chưa xử lý
4. Nhấn phải chuột vào yêu cầu chưa được xử lý đó, chọn All Tasks rồi
nhấn Issue
Sau khi đã phát sinh certificate, việc tiếp theo là download certificate
1. Mở IE, gõ http://servername/CertSrv
2. Trong trang mặc định, chọn Check on a pending certificate và chọn
Next
3. Trong trang download, nhấn link Download CA Certificate
10.5 Cài SSL cho web site
1. Mở Internet Service Manager
2. Mở Property của Web site muốn cài SSL
3. Thiết lập cổng SSL là 443.
4. Chọn tab Directory Security, dưới Secure Communications, nhấn Server
Certificate. Để mở Certificate Installation Wizard, nhấn Next
Đoàn Văn Phi – K19 KTPM – ĐH Công Nghệ - ĐH QGHN Trang 22
Công nghệ TLS
5. Chọn Select Pending request and install the certificate, chọn Next
6. Chọn file certificate
7. Nhấn Finish.
10.6 Cấu hình

• $ make certificate
• $ make install
10.7.3 Start Apache webserver with ssl
#apachectl startssl
10.7.4 Cấu hình httpd.conf
Giả sử ta muốn website aaa.bbb.ccc.ddd hỗ trợ giao thức https.
<VirtualHost aaa.bbb.ccc.ddd:443>
SSLEngine on
ServerName www.your-domain.netsoft
DocumentRoot /www/docs/secure
SSLCertificateFile /www/conf/ssl.crt/certificate-filename.crt
SSLCertificateKeyFile /www/conf/ssl.key/filename.key
</VirtualHost>
Ngoài ra, chúng ta có thể sử dụng dịch vụ xác nhận chữ ký trực tuyến để
phát sinh một certificate cho server theo cách sau :
1. Tạo một yêu cầu chứng thực server
• Chạy MMC, vào Key Manager, chọn Create New Key
• Chọn Put the request in a file that you will send to an
authority, gán một tên file yêu cầu chứng chỉ, nhấn Next.
• Gán tên và mật khẩu (mã hoá khoá bí mật và cần khi cài đặt
chứng chỉ) cho cặp khoá, nhấn Next.
Đoàn Văn Phi – K19 KTPM – ĐH Công Nghệ - ĐH QGHN Trang 24
Công nghệ TLS
• Cung cấp thông tin về tổ chức của bạn, nhấn Commit Change
Now để Save khoá mới.
Kết quả được một cặp khoá mới (bí mật và công khai), một file
yêu cầu chứng thực Server.
2. Chỉ WebBrowser đến trang http://digitalid.versign.com
3. Chọn WebServer bên dưới Organizations trên trang đăng ký của
VeriSign


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status