1. Trang chủ
  2. » Luận Văn - Báo Cáo

Giao thức HTTPS và vai trò của mật mã trong giao thức HTTPS

31 1,5K 13

Đ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 31
Dung lượng 430,33 KB

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

Nội dung

Giao thức HTTPS và vai trò của mật mã trong giao thức HTTPS

Trang 1

Học Viện Kĩ Thuật Mật Mã Khoa an toàn thông tin

Trang 2

Mục Lục

Chương I : HOẠT ĐỘNG CỦA GIAO THỨC HTTPS 6

1.1Tổng quan về HTTPS 6

1.1.1 Sử dụng HTTPS? 7

1.1.2 Quá trình giao tiếp giữa client và server thông qua https 8

1.2 Một số giao thức bảo mật 8

1.2.1Giao thức bảo mật ngăn cách(tách rời) 9

1.2.2 Bảo mật đặc tả ứng dụng 10

Chương II : SECURE SOCKET LAYER 11

2.1 Tổng quan về SSL 11

2.1.1 Lịch sử SSL 11

2.1.2 Cơ bản về SSL 12

2.2 Bảo mật của SSL 14

2.2.1 Các hệ mã hoá sử dụng với SSL 14

2.2.2 Bảo mật của SSL 15

2.3 Giao thức bắt tay - SSL Handshaking Protocol 17

2.4 Trạng thái phiên và giao thức Rehandshake 20

2.4.1 Trạng thái phiên 20

2.4.2 Giao thức Rehandshake 21

2.5 Ưu nhược điểm của SSL 21

2.5.1 Ưu điểm 21

2.5.2 Nhược điểm 22

Chương III : TRANSPORT LAYER SECURITY 23

3.1 Sự khác nhau giữa SSL vàTLS 23

3.2 Thông điệp giao thức cảnh báo 24

3.3 Xác thực thông điệp 26

3.4 Sinh nguyên liệu khóa 26

Kết Luận 31

Trang 3

Danh mục các ký hiệu, chữ viết tắt

HTTP : HyperText Transfer Protocol

HTTPS : Hypertext Transfer Protocol Secure

SSL : Secure Socket Layer

TLS : Transport Layer Security

RFC : Request For Comment

CA : Certificate authority

DES : Data Encrypt Standar

URL : Uniform Resource Locator

IETF : Internet Engineering Task Force

MAC:Media Access Control

TCP : Transmission Control Protocol

UDP :User Datagram Protocol

Trang 4

Danh mục bảng và hình vẽ

Hình 0.1.2.1 Vị trí SSL trong mô hình giao thức bảo mật tách rời 9

Hình1.2.0.1: Bảo mật có thể được gắn trực tiếp vào giao thức ứng dụng 10

Hình 0.1 2.1.2Vị trí SSL trong mô hình OSI 12

Hình 0.1.2.2:Giao thức bắt tay SSL 17

Hình 3.4.0.1: TLS sử dụng HMAC để sinh ra giả ngẫu nhiên 27

Hình 3.4.0.1 Hàm giá ngẫu nhiên của TLS sử dụng cả MD5 và SHA 28

Hình 0.1.3.4.3: TLS sử dụng PRF để tạo ra master secret và nguyên liệu khoá 29

Hình 0.2 3.6: TLS sử dụng PRF cho các thông điệp Finished 30

Bảng 0.1.3.0.2 Sự khác biệt giữa SSL v3.0 và TLS1.0 23

Bảng 0.1.2 Các thay đổi trong giao thức cảnh báo 24

Bảng 0.2.3.4 Các bước sinh một đầu ra giả ngẫu nhiên 26

Trang 5

Lời nói đầu Việc kết nối giữa một Web browser tới bất kỳ điểm nào trên mạng Internet đi qua rất nhiều các hệ thống độc lập mà không có bất

kỳ sự bảo vệ nào với các thông tin trên đường truyền Không một ai kể

cả người sử dụng lẫn Web server có bất kỳ sự kiểm soát nào đối với đường đi của dữ liệu hay có thể kiểm soát được liệu có ai đó thâm nhập vào thông tin trên đường truyền Để bảo vệ những thông tin mật trên mạng Internet hay bất kỳ mạng TCP/IP nào, SSL (Secure Sockets Layer) đã kết hợp những yếu tố sau để thiết lập được một giao dịch an toàn : đó là khả năng bảo mật thông tin, xác thực và toàn vẹn dữ liệu đến người dùng SSL được tích hợp sẵn vào các browser và Web

server, cho phép người sử dụng làm việc với các trang Web ở chế độ

an toàn Khi Web browser sử dụng kết nối SSL tới server, biểu tượng

ổ khóa sẽ xuất hiện trên thanh trạng thái của cửa sổ browser và dòng

“http” trong hộp nhập địa chỉ URL sẽ đổi thành “https” Một phiên giao dịch HTTPS sử dụng cổng 443 thay vì sử dụng cổng 80 như dùng cho HTTP.

Đề tài này đề cập đến thuộc lĩnh vực an toàn, xác thực và bảo mật thông tin trên mạng An toàn thông tin là một yêu cầu rất quan trọng trong việc truyền dữ liệu trên mạng đặc biệt là với các giao dịch thương mại điện tử, còn xác thực là một trong những mục tiêu trọng tâm của các website học tập trực tuyến Những hậu quả do rò ri thông tin gây ra là rất lớn và khó có thể lường hết được Ngày nay, dù ở Việt Nam, các nhà quản trị mạng đã bắt đầu quan tâm tới lĩnh vực này, nhưng thực sự vẫn chưa có nhiều nghiên cứu được tiến hành chi tiết và việc ứng dụng còn là rất hạn chế Với xu thế phát triển hiện nay, trên con đường hội nhập với nền công nghệ thông tin của thế giới, chúng ta cần có những hiểu biết sâu sắc và toàn diện về an toàn và bảo mật thông tin.

Trong đề tài này nhóm em sẽ tìm hiểu về hoạt động của giao thức HTTPS và ứng dụng của mật mã trong giao thức HTTPS Chúng

em hy vọng rằng với đề tài này sẽ đem lại một cái nhìn cụ thể hơn về HTTPS và mật mã ứng dụng trong nó, tầm quan trọng của nó trong thực tế.

Trang 6

Chương I: HOẠT ĐỘNG CỦA GIAO THỨC HTTPS

1.1 Tổng quan về HTTPS

HTTPS là viết tắt của “Hypertext Transfer Protocol Secure”, Nó là một sự kết hợp giữa giao thức HTTP và giao thức bảo mật SSL hay TLS cho phép trao đổi thông tin một cách bảo mật trên Internet Giao thức HTTPS thường được dùng trong các giao dịch nhậy cảm cần tính bảo mật cao

Netscape Communications tạo ra HTTPS vào năm 1994 cho trình duyệt web Netscape Navigator Ban đầu, HTTPS đã được sử dụng với SSL mã hóa Phiên bản hiện hành của HTTPS được chính thức chỉ định bởi RFC 2818 Tháng 5 năm 2000

HTTPS đã có lịch sử phát triển khá dài, thậm chí có thể nói rằng nó sinh cùng thời với Web Nhưng cho đến nay, giao thức này vẫn chỉ được sử dụng chủ yếu bởi những trang web có hoạt động chuyển tiền, trang web của các ngân hànghoặc các cửa hàng trực tuyến Nếu như có những trang web khác sử dụng

HTTPS, thì họ cũng chỉ dùng nó cho một vài tác vụ nhất định mà thôi

Giao thức HTTPS sử dụng port 443, và cung cấp các dịch vụ hay đảm bảo tính chất sau của thông tin:

Confidentiality(bí mật): sử dụng phương thức mã hóa(encryption )để

đảm bảo rằng các thông điệp được trao đổi giữa client và server không bị kẻ khác đọc được

Integrity(toàn vẹn): sử dụng phương thức băm(hashing) để cả client và

server đều có thể tin tưởng rằng thông điệp mà chúng nhận được có không bịmất mát hay chỉnh sửa

Authenticity(xác thực): sử dụng chứng thư số(digital certificate) để giúp

client có thể tin tưởng rằng server/website mà họ đang truy cập thực sự là server/website mà họ mong muốn vào, chứ không phải bị giả mạo

1.1.1 Sử dụng HTTPS?

Trước hết, muốn áp dụng HTTPS thì trong quá trình cấu hình Webserver, bạn có thể dễ dàng tự tạo ra một SSL certificate dành riêng cho website của mình và nó được gọi là self-signed SSL certificate

SSL certificate tự cấp này vẫn mang lại tính bí mật và toàn vẹn cho quá trình truyền thông giữa server và client Nhưng rõ ràng là không đạt được tính xác

Trang 7

thực bởi vì không có bên thứ 3 đáng tin cậy nào (hay CA) đứng ra kiểm chứng

sự tính xác thực của certificate tự gán này Điều này cũng giống như việc một người tự làm chứng minh nhân dân (CMND) cho mình rồi tự họ ký tên, đóng dấu luôn vậy

Vì vậy, đối với các website quan trọng như E-Commerce, Online Payment, Web Mail,… thì họ sẽ mua một SSL certificate từ một Trusted Root CA nổi tiếng như VeriSign, Thawte, và ít tên tuổi hơn thì có GoDaddy, DynDNS… Các

CA có 2 nhiệm vụ chính sau:

 Cấp phát và quản lý SSL certificate cho server/website

 Xác thực sự tồn tại và tính hiệu lực của SSL certificate mà Web client gửi tới cho nó

Dưới đây là một số thông tin quan trọng được chứa trong SSL certificate

mà bất cứ client nào cũng có thể xem được bằng cách click vào biểu tượng padlock trên thanh Address của Web browser:

Thông tin về chủ sở hữu của certificate (như tên tổ chức, tên cá nhân hoặc domain của website…)

Tên và chữ kí số của CA cấp certificate

Khoảng thời gian mà chứng thư còn hiệu lực sử dụng

Public key của server/website Còn private key được lưu trữ trên chính server (không có trong certificate) và tuyệt đối không thể để lộ cho bất cứ client nào

Một số thông tin phụ khác như: loại SSL certificate, các thuật toán dùng

để encryption và hashing, chiều dài (tính bằng bit) của key, cơ chế trao đổi key (như RSA, DSA…)

1.1.2 Quá trình giao tiếp giữa client và server thông qua https

 Client gửi request cho một secure page (có URL bắt đầu

với https://)

 Server gửi lại cho client certificate của nó

 Client gửi certificate này tới CA (mà được ghi trong certificate) để kiểm chứng

Giả sử certificate đã được xác thực và còn hạn sử dụng hoặc client vẫn cố tình truy cập mặc dù Web browser đã cảnh báo rằng không thể tin cậy được

Trang 8

certificate này (do là dạng self-signed SSL certificate hoặc certificate hết hiệu lực, thông tin trong certificate không đúng…) thì mới xảy ra bước 4 sau.

 Client tự tạo ra ngẫu nhiên một khóa đối xứng (symmetric encryption key), rồi sử dụng public key (trong certificate) để mã hóa symmetric key này và gửi về cho server

 Server sử dụng private key (tương ứng với public key trong certificate

ở trên) để giải mã ra symmetric key ở trên

 Sau đó, cả server và client đều sử dụng symmetric key đó để mã

hóa/giải mã các thông điệp trong suốt phiên truyền thông

Và tất nhiên, các symmetric key sẽ được tạo ra ngẫu nhiên và có thể khác nhau trong mỗi phiên làm việc với server Ngoài encryption thì cơchế hashing sẽ được sử dụng để đảm bảo tính Integrity cho các thông điệp được trao đổi

KL: HTTPS là một giao thức phổ biến trên Internet và rất cần thiết để đảm bảo

an toàn cho môi trường Web Tuy nhiên, vẫn có những cách thức mà hacker có thể sử dụng để qua mặt cơ chế bảo vệ của HTTPS

1.2 Một số giao thức bảo mật

Giao thức SSL cung cấp bảo mật hiệu quả cho các phiên giao dịch Web,nhưng nó không phải là phương pháp duy nhất Kiến trúc mạng dựa trên các tầnggiao thức, mồi tầng dựa trên các dịch vụ bên dưới chúng Có nhiều tầng giaothức khác nhau có thể hỗ trợ các dịch vụ bảo mật, và mỗi cái lại có những thuậnlợi và khó khăn khác nhau Như chúng ta thấy, các nhà thiết kế ra SSL đã chọnphương pháp là tạo ra một tầng giao thức hoàn toàn mới cho việc bảo mật Nó cóthể bao gồm các dịch vụ bảo mật trong giao thức ứng dụng hoặc thêm chúng vàonhân một giao thức mạng Một lựa chọn khác là các ứng dụng có thể dựa trêncác giao thức song song cho một vài dịch vụ bảo mật Tất cả các tuỳ chọn này đãđược đề cập đến trong việc bảo mật các giao dịch Web, và các giao thức thực tếtồn tại trong mỗi tuỳ chọn

1.2.1Giao thức bảo mật ngăn cách(tách rời)

Các nhà thiết kế SSL quyết định tạo ra một giao thức ngăn cách cho bảomật Trong thực tế, họ đã thêm vào một tầng trong kiến trúc giao thức củaInternet

Trang 9

Hình 0.1.2.1 Vị trí SSL trong mô hình giao thức bảo mật tách rời

Bên trái hình 1 minh hoạ các giao thức trong cho các truyền thông Web.Bên dưới cùng là Internet Protocol (IP) Giao thức này chịu trách nhiệm hỗ trợđịnh tuyến các thông điệp truyền trên mạng từ nguồn đến đích của chúng.Transmission Control Protocol (TCP) dựa trên các dịch vụ của IP để bảo đảmrằng truyền thông là tin tưởng được Trên cùng là Hypertext Transfer Protocol.Bên phải của hình 1, SSL thêm sự bảo mật bằng cách thực thi như một giao thứcbảo mật riêng biệt, thêm nó vào giữa HTTP và TCP Làm việc như một giao thứcmới, SSL yêu cầu rất ít sự thay đổi trong các giao thức bên trẽn và bên dưới.Giao diện ứng dụng HTTP với SSL gần giống như với TCP khi không có bảomật

Bên cạnh việc yêu cầu những thay đổi rất nhỏ để có thể thi hành được,phương pháp này còn có những tiện ích quan trọng khác: nó cho phép SSL hỗtrợ các ứng dụng khác ngoài HTTP Mục đích chính của việc phát triển SSL làbảo mật Web, nhưng SSL cũng được sử dụng để thêm vào sự bảo mật cho cácứng dụng Internet khác, bao gồm Net News Transfer Protocol (NNTP) và FileTransfer Protocol (FTP)

1.2.2Bảo mật đặc tả ứng dụng

Một phương pháp khác là thêm trực tiếp vào các dịch vụ bảo mật vào trong giaothức ứng dụng Thực tế, chuẩn HTTP có bao gồm một vài thuộc tính bảo mậtkhá sơ bộ, tuy nhiên các thuộc tính bảo mật đó không cung cấp một sự bảo vệđầy đủ cho các giao dịch thương mại điện tử thực sự Trong khi Netscape đangthiết kế SSL, một nhóm các nhà thiết kế giao thức khác cũng đang làm việc trênmột thể hiện của HTTP được biết đến như là Secure HTTP Hình 2 minh họa

Trang 10

kiến trúc giao thức này Chuẩn Secure HTTP được xuất bản bởi IETF như là mộtgiao thức thực nghiệm, và một vài sản phẩm cũng đã hỗ trợ chúng Tuy nhiên, nóchưa được ưa chuộng như SSL, và hiện nay khó mà có thể tìm thấy SecureHTTP bất kỳ nơi nào trên Internet.

Hình1.2.0.2: Bảo mật có thể được gắn trực tiếp vào giao thức ứng dụng

Một trong những bất lợi của việc thẽm sự bảo mật vào trong một ứng dụng

cụ thể là các dịch vụ bảo mật sẽ chỉ có giá trị trong ứng dụng đó Ví dụ, khônggiống như SSL, nó không thể bảo mật cho NNTP, FTP, hay các giao thức ứngdụng khác với Secure HTTP Một trong những bất tiện của phương pháp này còn

là do nó liên kết các dịch vụ bảo mật một cách chặt chẽ với ứng dụng Mỗi khigiao thức ứng dụng thay đổi, các thi hành bảo mật phải được quan tâm cẩn thận,

và các chức năng bảo mật của giao thức phải được thay đổi thích hợp Một giaothức tách rời như SSL cách ly các dịch vụ bảo mật từ giao thức ứng dụng, chophép mỗi dịch vụ tập chung vào giải quyết các vấn đề của riêng nó một cách cóhiệu quả nhất

Trang 11

Chương II : SECURE SOCKET LAYER

2.1 Tổng quan về SSL

Trong các giao dịch điện tử trên mạng và trong các giao dịch thanh toántrực tuyến, thông tin/dữ liệu trên môi trường mạng Internet phi an toàn thườngđược bảo đảm bởi cơ chế bảo mật thực hiện trên tầng vận tải có tên SSL (SecureSocket Layer) và TLS (Transport Layer Security-được bổ sung từ SSL phiên bản3.0) - một giải pháp kỹ thuật hiện nay được sử dụng khá phổ biến trong các hệđiều hành mạng máy tính trên Internet

2.1.1 Lịch sử SSL

SSL là giao thức đa mục đích được thiết kế để tạo ra các giao tiếp giữa haichương trình ứng dụng trên một cổng định trước (socket 443) nhằm mã hoá toàn

bộ thông tin đi/đến, mà ngày nay được được sử dụng rộng rãi cho giao dịch điện

tử như truyền số hiệu thẻ tín dụng, mật khẩu, số bí mật cá nhân (PIN) trênInternet Giao thức SSL được hình thành và phát triển đầu tiên năm 1994 bởinhóm nghiên cứu Netscape dẫn dắt bởi Elgammal và ngày nay đã trở thànhchuẩn bảo mật thực hành trên mạng Internet Phiên bản SSL hiện nay là 3.0 vàvẫn đang được hoàn thiện, bổ sung Tương tự như SSL, một giao thức khác cótên là PCT - Private Communication Technology được đề xướng bởi Microsofthiện nay cũng được sử dụng rộng rãi trong các mạng máy tính chạy trên hệ điềuhành WindowNT Ngoài ra, một chuẩn của IETF (Internet Engineering TaskForce) có tên là TLS (Transport Layer Security) dựa trên SSL cũng được hìnhthành và xuất bản dưới khuôn khổ nghiên cứu của IETF Internet Draff được tíchhợp và hỗ trợ trong sản phẩm của Netscape

2.1.2 Cơ bản về SSL

Điểm cơ bản của SSL là được thiết kế độc lập với tầng ứng dụng để đảmbảo tính bí mật, an toàn và chống giả mạo luồng thông tin qua Internet giữa haiứng dụng bất kỳ, thí dụ như Webserver và các trình duyệt khách (browsers), do

đó được sử dụng rộng rãi trong nhiều ứng dụng khác nhau trên môi trườngInternet Toàn bộ cơ chế và hệ thống thuật toán mã hoá sử dụng trong SSL đượcphổ biến công khai, trừ khoá phiên (session key) được sinh ra tại thời điểm traođổi giữa hai ứng dụng là ngẫu nhiên và bí mật đối với người quan sát trên mạngmáy tính Ngoài ra, giao thức SSL còn đòi hỏi ứng dụng chủ phải được chứngthực bởi một đối tượng lớp thứ ba (CA) thông qua giấy chứng thực điện tử(digital certificate) dựa trên mật mã công khai (ví dụ RSA)

Trang 12

Hình 0.3 2.1.2Vị trí SSL trong mô hình OSI

SSL được thiết kế như là một giao thức riêng cho vấn đề bảo mật có thể hỗtrợ cho rất nhiều ứng dụng.Giao thức SSL hoạt động bên trên TCP/IP và bêndưới các ứng dụng tầng cao hơn như là HTTP (HyperText Transfer Protocol),LDAP (Lightweight Directory Access Protocol) hoặc IMAP (Internet MessagingAccess Protocol) Trong khi SSL có thể sử dụng để hỗ trợ các giao dịch an toàncho rất nhiều ứng dụng khác nhau trên Internet, thì hiện nay SSL được sử dụngchính cho các giao dịch trên Web

SSL cho phép một server có hỗ trợ SSL tự xác thực với một Client cũng

hỗ trợ SSL, cho phép client tự xác thực với server, và cho phép cả hai máy thiếtlập một kết nối được mã hoá Khả năng này đã định ra các mối quan tâm căn bản

về giao tiếp trên mạng Internet và trên các mạng sử dụng TCP/IP:

• Chứng thực SSL Server : cho phép người sử dụng xác thực được server

muốn kết nối Lúc này, phía trình duyệt sử dụng các kỹ thuật mã hóa côngkhai để chắc chắn rằng chứng chỉ và publicID của server là có giá trị vàđược cấp phát bởi một CA (Certificate Authority) trong danh sách các CAđáng tin cậy của client Sự xác thực này có thể quan trọng nếu người sửdụng gửi số thẻ tín dụng qua mạng và muốn kiểm tra định danh servernhận

• Chứng thực SSLClient : cho phép server xác thực được người sử dụng

muốn kết nối Phía server cũng sử dụng các kỹ thuật mã hoá khoá côngkhai để kiểm tra chứng chỉ của client và publicID là đúng, được cấp phátbởi một CA trong danh sách các CA đáng tin cậy của Server hay không.Điều này rất quan trọng đối với các nhà cung cấp Ví dụ như khi một ngânhàng định gửi các thông tin tài chính mang tính bảo mật tới khách hàng thì

họ rất muốn kiểm tra định danh người nhận

• Mã hoá kết nối: tất cả các thông tin trao đổi giữa client và server được mã

hoá trên đường truyền nhằm nâng cao khả năng bảo mật Điều này rất

Trang 13

quan trọng đối với cả hai bên khi có các giao dịch mang tính riêng tư.Ngoài ra tất cả các dữ liệu được gửi đi trên một kết nối SSL đã được mãhoá còn được bảo vệ nhờ cơ chế tự động phát hiện các xáo trộn, thay đổitrong dữ liệu.

Giao thức SSL gồm hai tầng.Tầng thấp nhất, được đặt trên một số giaothức vận tải tin cậy (ví dụ TCP), là tầng SSL Record Protocol.SSL RecordProtocol được sử dụng để đóng gói một vài giao thức ở mức cao hơn Một trongnhững giao thức được đóng gói đó là SSL Handshake Protocol, giao thức nàycho phép server và client thực hiện việc xác thực lẫn nhau, thoả thuận một thuậttoán mã hoá và các khoá mật mã trước khi giao thức ứng dụng gửi hoặc nhận dữliệu

Các phiên bản :

• SSLv2 : đây là phiên bản đầu tiên của giao thức SSL do Netscape

Corporation thiết kế

• SSLv3 : đây là phiên bản SSL version 3.0 do Netscape Corporation thiết

kế, đã có trợ giúp chain certifícate (chứng chỉ nhóm) và được hỗ trợ chotất cả các trình duyệt phổ thông

• TLSvl : giao thức Transport Layer Security version 1.0 dựa trên cơ sở của

SSLv3, được thiết kế bởi IETF nhưng hiện chưa được hỗ trợ cho tất cả cáctrình duyệt thông dụng

Các thuộc tính cơ bản :

• Kết nối bí mật : quá trình mã hóa dữ liệu được áp dụng sau khi quá trình

bắt tay (handshake) đầu tiên xác định được một khoá bí mật Mật mã đốixứng được sử dụng cho quá trình mã hoá dữ liệu (ví dụ DES, RC4 ) Đảmbảo thông tin không thể bị truy cập bởi đối tượng thứ ba

• Danh tính của người bên kia có thể được xác thực bằng mật mã bất đối

xứng, hoặc khoá công khai (ví dụ RSA, DSS ) Xác thực tức là đảm bảotính xác thực của trang mà chúng ta sẽ làm việc ở đầu kia của kết nối.Cũng như vậy, các trang Web cũng cần phải kiểm tra tính xác thực củangười sử dụng

• Kết nối là tin cậy : việc vận chuyển các thông điệp bao gồm một quá trình

kiểm tra tính toàn vẹn của thông điệp sử dụng một hàm kiểm tra MAC cókhoá Các hàm băm an toàn (ví dụ SHA, MD5 ) được sử dụng cho quátrình thực hiện hàm MAC, nhằm đảm bảo thông tin không bị sai lệch và

Trang 14

thể hiện chính xác thông tin gốc gửi đến.

Mục đích :

• Khả năng an toàn mật mã : SSL được sử dụng để thiết lập một kết nối an

toàn giữa hai nhóm

• Khả năng tương tác giữa các phần tử : các nhà lập trình độc lập có thể phát

triển các ứng dụng sử dụng SSL 3.0 sau khi trao đổi các tham số mật mã

mà không phải biết mã chương trình của các ứng dụng khác

• Khả năng mở rộng : SSL cung cấp một framework mà trong đó các

phương pháp mã hoá và khóa công khai kết hợp lại chặt chẽ với nhau

2.2Bảo mật của SSL

2.2.1 Các hệ mã hoá sử dụng với SSL

Giao thức SSL hỗ trợ rất nhiều hệ mã hoá sử dụng cho các hoạt độngchứng thực server và client, cho quá trình truyền thông chứng chỉ số và trongquá trình thành lập khoá phiên Client và server có thể có nhiều bộ mã hoá khácnhau, tuỳ thuộc vào phiên bản SSL hỗ trợ, các chính sách công ty chấp nhận các

hệ mã hoá, và các hạn chế của chính phủ trong việc sử dụng các phần mềm hỗtrợ SSL Bộ mã hoá mô tả sau đây có liên quan tới các thuật toán :

• DES Data Encryption Standard, thuật toán mã hoá sử dụng bởi chính phủMỹ

• DSA (Digital Signature Algorithm) một phần của chuẩn chứng thực

sốđược sử dụng bởi chính phủ Mỹ

• KEA (Key Exchange Algorithm) một thuật toán trao đổi khoá cho chính phủ Mỹ

• MD5(Message Digest 5) thuật toán băm được phát triển bởi Rivest

• RC2-RC4 Hệ mã hoá của Rivest được phát triển cho RSA Data Security

• RSA Hệ mã hoá khoá công khai cho cả mã hoá và xác thực, được phát triển bởi Rivest, Shamir và Adleman

• RSA key exchange: thuật toán trao đổi khoá cho SSL dựa trên thuật toán

Trang 15

• Triple-DES.DES được cài đặt 3 vòng.

Các thuật toán trao đổi khoá như KEA và RSA key exchange được sử dụng để hai bên client và server xác lập khoá đối xứng mà họ sẽ sử dụng trong suốt phiên giao dịch SSL, thuật toán được sử dụng phổ biến là RSA key

exchange

Các phiên bản SSL 2.0, 3.0 hỗ trợ cho hầu hết các bộ mã hoá Người quản trị có thể tuỳ chọn bộ mã hoá sẽ dùng cho cả client và server Khi một client và server trao đổi thông tin trong giai đoạn bắt tay (handshake), họ sẽ xác định bộ

mã hoá mạnh nhất có thể và sử dụng chúng trong phiên giao dịch SSL

2.2.2 Bảo mật của SSL

Mức độ bảo mật của SSL phụ thuộc chính vào độ dài khoá hay phụ thuộcvào việc sử dụng phiên bản mã hoá 40bitvà 128bit Phương pháp mã hoá 40bitđược sử dụng rộng rãi không hạn chế ngoài nước Mỹ và phiên bản mã hoá128bit chỉ được sử dụng trong nước Mỹ và Canada Theo luật pháp Mỹ, các mật

mã “mạnh” được phân loại vào nhóm “vũ khí” (weapon) và do đó khi sử dụngngoài Mỹ (coi như là xuất khẩu vũ khí) phải được phép của chính phủ Mỹ hayphải được cấp giấy phép của Bộ Quốc phòng Mỹ (DoD) Đây là một lợi điểmcho quá trình thực hiện các dịch vụ thương mại và thanh toán điện tử trong Mỹ

và các nước đồng minh phương Tây và là điểm bất lợi cho việc sử dụng các sảnphẩm cần có cơ chế bảo mật và an toàn trong giao dịch điện tà nói chung vàthương mại điện tà nói riêng trong các nước khác

Các phương thức tấn công (hay bẻ khoá) của các thuật toán bảo mậtthường dùng dựa trên phương pháp “tấn công vét cạn” (brute-force attack) bằngcách thử-sai miền không gian các giá trị có thể của khoá.số phép thử tăng lên khi

độ dài khoá tăng và dẫn đến vượt quá khả năng và công suất tính toán, kể cả cácsiêu máy tính hiện đại nhất Thí dụ, với độ dài khoá là 40bit, thì số phép thử sẽ là

240=1,099,511,627,776 tổ họp Tuy nhiên độ dài khoá lớn kéo theo tốc độ tínhtoán giảm (theo luỹ thừa nghịch đảo) và dẫn đến khó có khả năng áp dụng trongthực tiễn Một khi khoá bị phá, toàn bộ thông tin giao dịch trên mạng sẽ bị kiểm

Ngày đăng: 12/10/2015, 18:51

HÌNH ẢNH LIÊN QUAN

Hình 0.1.2.1 Vị trí SSL trong mô hình giao thức bảo mật tách rời - Giao thức HTTPS và vai trò của mật mã trong giao thức HTTPS
Hình 0.1.2.1 Vị trí SSL trong mô hình giao thức bảo mật tách rời (Trang 9)
Bảng 0.1.3.0.2. Sự khác biệt giữa SSL v3.0 và TLS1.0 - Giao thức HTTPS và vai trò của mật mã trong giao thức HTTPS
Bảng 0.1.3.0.2. Sự khác biệt giữa SSL v3.0 và TLS1.0 (Trang 23)
Bảng 0.3.2. Các thay đổi trong giao thức cảnh báo - Giao thức HTTPS và vai trò của mật mã trong giao thức HTTPS
Bảng 0.3.2. Các thay đổi trong giao thức cảnh báo (Trang 24)
Bảng 0.4.3.4 Các bước sinh một đầu ra giả ngẫu nhiên - Giao thức HTTPS và vai trò của mật mã trong giao thức HTTPS
Bảng 0.4.3.4 Các bước sinh một đầu ra giả ngẫu nhiên (Trang 26)
Hình 3.4.0.5: TLS sử dụng HMAC để sinh ra giả ngẫu nhiên - Giao thức HTTPS và vai trò của mật mã trong giao thức HTTPS
Hình 3.4.0.5 TLS sử dụng HMAC để sinh ra giả ngẫu nhiên (Trang 27)
Hình 3.4.0.6. Hàm giá ngẫu nhiên của TLS sử dụng cả MD5 và SHA - Giao thức HTTPS và vai trò của mật mã trong giao thức HTTPS
Hình 3.4.0.6. Hàm giá ngẫu nhiên của TLS sử dụng cả MD5 và SHA (Trang 28)
Hình 0.7.3.4.3: TLS sử dụng PRF để tạo ra master secret và nguyên liệu khoá - Giao thức HTTPS và vai trò của mật mã trong giao thức HTTPS
Hình 0.7.3.4.3 TLS sử dụng PRF để tạo ra master secret và nguyên liệu khoá (Trang 29)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w