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

NGHIÊN CỨU SỬ DỤNG CÔNG NGHỆ BẢO MẬTSSL/TLS

89 1,1K 2

Đ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 89
Dung lượng 493,45 KB

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

Nội dung

Với khoá luận này, em muốn mang lại cái nhìn chi tiết hơn về côngnghệ bảo mật SSL, hy vọng rằng nó sẽ được áp dụng rộng rãi ở Việt Nam trong mộttương lai không xa.Nội dung khoá luận được

Trang 1

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

Đặng Thị Huê

NGHIÊN CỨU SỬ DỤNG CÔNG NGHỆ BẢO MẬT

SSL/TLS

KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY

Ngành : Công nghệ thông tin

Cán bộ hướng dẫn: PGS.TS Trịnh Nhật Tiến

HÀ NỘI - 2005

Trang 2

-Con xin gửi đến Bố Mẹ và gia đình tình thương yêu và lòng biết ơn Bố Mẹ

và gia đình luôn là nguồn động viên của con và là chỗ dựa vững chắc cho cuộc đờicon Tôi xin cảm ơn các bạn cùng lớp đã động viên và giúp đỡ tôi trong thời gian thựchiện luận văn này

Vì thời gian có hạn, khoá luận tốt nghiệp của em không tránh khỏi khiếmkhuyết Rất mong nhận được sự góp ý của thầy cô và các bạn

Hà Nội, ngày 06 tháng 06 năm 2005.

Sinh viênĐặng Thị Huê

Trang i

Trang 3

Tóm tắt

Được thiết kế bởi Netscape bao gồm các cơ chế bảo mật trong các sản phẩmtrình duyệt để tạo ra truyền thông an toàn trên mạng, SSL (Secure Sockets Layer) hiệnđang là giao thức bảo mật được sử dụng phổ biến trên Internet nhất là trong các hoạtđộng thương mại điện tử Ban đầu, SSL được thiết kế kết hợp cùng với giao thứcHTTP được sử dụng bởi các Web server và browser, nhưng bây giờ nó đã là một thànhphần quan trọng trong mọi loại truyền thông Internet bảo mật Việt Nam đang trênđường hội nhập với nền công nghệ thông tin thế giới, các hoạt động giao dịch trênmạng ở Việt Nam cũng sẽ diễn ra sôi nổi, khi đó vấn đề bảo mật trở nên quan trọng,việc triển khai SSL là điều cần thiết Tuy nhiên đến nay hầu hết các website ở ViệtNam đều chưa sử dụng SSL trong các giao dịch của mình Trong khoá luận này, emtiến hành nghiên cứu chi tiết về giao thức bảo mật SSL và cách triển khai chúng trênInternet Information Service (IIS) và Windows Server Enterprise 2003 Chúng tôi hyvọng rằng với khoá luận này sẽ đem đến cái nhìn cụ thể hơn về SSL và bảo mật mạng,tầm quan trọng của nó cũng như ứng dụng trong thực tế

Trang ii

Trang 4

MỤC LỤC

Chương 1 MỘT SỐ VẤN ĐỀ VỀ BẢO MẬT 5

1.1 Vấn đề an toàn mạng 5

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

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

1.1.3 Bảo mật với các giao thức trung tâm 7

1.1.4 Giao thức bảo mật song song 8

1.2 Vấn đề mã hoá 9

1.2.1 Khái niệm mã hoá 9

1.2.2 Hệ mã hoá đối xứng 10

1.2.3 Hệ mã hoá phi đối xứng 10

1.2.4 Chứng chỉ khoá công khai 11

1.3 Vấn đề ký số 12

1.4 Vấn đề xác thực số 13

Chương 2 KHE CẮM AN TOÀN (SSL) 16

2.1 Tổng quan về SSL 16

2.1.1 Lịch sử SSL 16

2.1.2 Cơ bản về SSL 16

2.1.3 SSL và ứng dụng thương mại điện tử 19

2.2 Giao thức bản ghi (Record Protocol) 20

2.3 Giao thức ChangeCipherSpec 23

2.4 Giao thức cảnh báo (Alert Protocol) 23

2.4.1 Kiểu Closure Alert 24

2.4.2 Kiểu Error Alert 24

2.5 Giao thức bắt tay (Handshake Protocol) 25

2.5.1 Giai đoạn 1 : Các thông điệp Hello cho kết nối logic 28

• 1 Thông điệp HelloRequest .28

• 2 Thông điệp ClientHello .28

2.5.2 Giai đoạn 2 : Xác thực Server và trao đổi khoá 30

Trang 4

Trang 5

•4 Thông điệp ServerCertificate 30

•5 Thông điệp ServerKeyExchange 32

•6 Thông điệp CertificateRequest 34

•7 Thông điệp ServerHelloDone 36

2.5.3 Giai đoạn 3 : Xác thực Client và trao đổi khoá 36

•8 Thông điệp ClientCertificate 36

•9 Thông điệp ClientKeyExchange 37

•10 Thông điệp CertificateVerify 38

2.5.4 Giai đoạn 4 : Kết thúc kết nối bảo mật 40

•11 Thông điệp ChangeCipherSpec 40

•12 Thông điệp Finished 41

2.5.5 Xác thực Server, xác thực client 42

2.5.5.1 Xác thực Server 42

2.5.5.2 Xác thực Client 43

2.6 Bảo mật của SSL 45

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

2.6.2 Bảo mật của SSL 46

2.7 Ưu điểm và hạn chế của SSL/TLS 48

2.7.1 Ưu điểm của SSL 48

2.7.2 Hạn chế của SSL 49

2.7.2.1 Các giới hạn giao thức cơ bản 49

2.7.2.2 Giới hạn công cụ 51

2.7.2.3 Các giới hạn môi trường 51

2.7.3 Tối ưu hoá SSL 52

2.7.3.1 Công nghệ tăng tốc giao dịch SSL .53

2.7.3.2 Tăng tốc SSL với vấn đề duy trì website (Web site persistence) 55 2.7.3.3 Tăng tốc SSL và content switch .55 2.7.3.4 Quá trình phát triển của bộ tăng tốc SSL .56 2.7.3.5 Bộ tăng tốc SSL của SonicWALL .56 2.7.3.6 Các đặc điểm nổi bật và lợi ích của SonicWALL SSL Offloader 57

2.7.3.7 Các phương án triển khai 59

Chương 3 BẢO MẬT TẦNG GIAO VẬN (TLS) 61

3.1 Giới thiệu tổng quan 61

Trang 6

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

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

3.4 Sinh nguyên liệu khoá 64

3.5 Xác nhận chứng chỉ 67

3.6 Thông điệp Finished 67

3.7 Các bộ mã cơ sở 68

Chương 4 SỬ DỤNG GIAO THỨC SSL/TLS 69

Tài liệu tham khảo 77

Trang 7

Danh sách hình vẽ

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

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

Hình 3 IPSec 7

Hình 4 Giao thức ứng dụng sử dụng Kerberos 8

Hình 5 SSL tính toán một mã thông điệp 14

Hình 6 Vị trí SSL trong mô hình OSI 17

Hình 7 Vị trí giao thức bản ghi trong giao thức SSL 21

Hình 8 Các giai đoạn thi hành của giao thức bản ghi 21

Hình 9 Cấu trúc một thông điệp SSL Record 22

Hình 10 Thông điệp ChangeCipherSpec 23

Hình 11 Định dạng thông điệp Alert 24

Hình 12 Vị trí giao thức bắt tay 25

Hình 13 Tiến trình bắt tay 26

Hình 14 Thông điệp Certificate 31

Hình 15 ServerKeyExchange mang các tham số Diffie-Hellman 32

Hình 16 ServerKeyExchange mang các tham số RSA 33

Hình 17 ServerKeyExchange sử dụng Fortezza 33

Hình 18 Server ký một hàm băm của các tham số ServerKeyExchange 34

Hình 19 Thông điệp CertificateRequest 35

Hình 20 Thông điệp ServerHelloDone 36

Hình 21 Thông điệp ClientKeyExchange với RSA 37

Hình 22 Thông điệp ClientKeyExchange với Diffie-Hellman 38

Hình 23 Thông điệp ClientKeyExchange với Fortezza 38

Hình 24 CertificateVerify 39

Hình 25 Thông điệp Finished 41

Trang 8

Hình 26 Thông điệp Finish bao gồm một hàm băm 42

Hình 27 Quá trình xác thực server 43

Hình 28 Quá trình xác thực client 45

Hình 29 Một bộ tăng tốc trực tuyến 54

Hình 30 TLS sử dụng HMAC để sinh đầu ra giả ngẫu nhiên 65

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

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

Hình 33 TLS sử dụng PRF cho các thông điệp Finished 68

Danh sách bảng biểu Bảng 1 Giá trị các kiểu chứng chỉ 35

Bảng 2 Sự khác biệt giữa SSL v3.0 và TLSv1.0 61

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

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

Trang vii

Trang 9

LDAP Lightweight Directory Access Protocol

MAC Message Authentication Code (Mã xác thực thông điệp)Server Máy chủ

SSL Secure Sockets Layer (Khe cắm an toàn)

TCP/IP Transfer Control Protocol/Internet Protocol

TLS Transport Layer Security (Bảo mật tầng giao vận)

Trang viii

Trang 10

Giới thiệ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 điqua 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 tintrê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ạngInternet hay bất kỳ mạng TCP/IP nào, SSL (Secure Sockets Layer) đã kết hợp nhữngyế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ênthanh trạng thái của cửa sổ browser và dòng “http” trong hộp nhập địa chỉ URL sẽ đổithành “https” Một phiên giao dịch HTTPS sử dụng cổng 443 thay vì sử dụng cổng 80như dùng cho HTTP.Tuy nhiên, mặt trái của SSL là làm chậm lại hiệu nǎng thực hiệncủa ứng dụng Mức sử dụng tài nguyên hệ thống CPU đòi hỏi trong tiến trình mã hoá

và giải mã cho một trang SSL có thể cao hơn từ 10 đến 100% so với các trang khôngđược bình thường Nếu máy chủ có lưu lượng các trang SSL cao, có thể chúng ta phảicân nhắc tới việc sử dụng thêm một bộ tǎng tốc SSL phần cứng

Đề tài luận văn đề cập đến thuộc lĩnh vực an toàn, xác thực và bảo mật thôngtin 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ộttrong 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ò rỉ 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ệtNam, 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ẫnchư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 tincủ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ảomật thông tin

Từ những vấn đề nêu trên, luận văn đã thực hiện việc tiến hành những nghiêncứu chi tiết về một công nghệ bảo mật và xác thực mạng hiện nay đang được sử dụngrất phổ biến là Secure Sockets Layer (SSL), giao thức bảo mật tầng giao vận Đồngthời cũng đưa ra giới thiệu công nghệ tăng tốc SSL, được sử dụng nhằm tăng hiệuGiới thiệu Nghiên cứu sử dụng công nghệ SSL/TLS

Trang 11

năng của Website Với khoá luận này, em muốn mang lại cái nhìn chi tiết hơn về côngnghệ bảo mật SSL, hy vọng rằng nó sẽ được áp dụng rộng rãi ở Việt Nam trong mộttương lai không xa.

Nội dung khoá luận được trình bày bao gồm các phần sau :

Chương 1 trình bày một số phương pháp bảo mật mạng cùng với các kháiniệm cơ bản về mã hoá, xác thực, ký số… Có bốn phương pháp bảo mật mạng.Phương pháp thứ nhất là thêm vào một giao thức (SSL) giữa tầng TCP/IP và HTTP, đó

là phương pháp bảo mật mạng tách rời, nó yêu cầu những thay đổi rất nhỏ ở giao thứcbên trên và bên dưới nó Phương pháp thứ hai là bảo mật đặc tả ứng dụng Phươngpháp này thêm trực tiếp các dịch vụ bảo mật vào trong giao thức (Secure HTTP).Phương pháp bảo mật thứ ba là bảo mật với các giao thức trung tâm, tức là các dịch vụbảo mật được thêm trực tiếp vào giao thức mạng trung tâm, tất cả các dịch vụ bảo mật

sẽ trở thành một phần tuỳ chọn của bản thân Internet Protocol, đây chính là kiến trúcIPSEC IPSEC cũng có rất nhiều tiện ích giống SSL, nó độc lập với giao thức ứngdụng Và phương pháp bảo mật cuối cùng là bảo mật song song Ví dụ phổ biến vềphương pháp này là giao thức Kerberos Giao thức Kerberos làm việc như một bộcông cụ mà các giao thức khác có thể sử dụng cho các dịch vụ bảo mật, nhưng bảnthân nó không phải là giải pháp bảo mật hoàn toàn

Chương 2 giới thiệu về hoạt động của SSL SSL là giao thức đa mục đíchđược phát triển bởi Netscape, có thể hỗ trợ cho rất nhiều ứng dụng SSL hoạt động bêntrên TCP/IP và bên dưới các ứng dụng tầng cao hơn như HTTP, LDAP…SSL chophé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épclient tự xác thực với server và cho phép cả hai bên thiết lập một kết nối được mã hoá.Điều này là rất quan trọng với cả hai bên khi có những giao dịch mang tính riêng tư.Ngoài ra dữ liệu còn được bảo vệ nhờ cơ chế tự động phát hiện các xáo trộn hay thayđổi trong thông điệp Ngày nay, SSL được sử dụng rộng rãi như nền tảng bảo mật chocác Website bán hàng qua mạng thanh toán bằng thẻ tín dụng, các trang tài chính ngânhàng, giao dịch chứng khoán, các dịch vụ của chính phủ như thuế, an ninh xã hội, quânđội….Tuy nhiên việc triển khai SSL cũng còn nhiều hạn chế do sự bảo hộ và kiểmsoát chặt chẽ của chính phủ Mỹ

Tiếp theo là mô tả cấu trúc và phương pháp làm việc của các giao thức RecordProtocol, ChangeCipherSpec Protocol, Alert Protocol, Handshake Protocol

Trang 12

Record Protocol nhận dữ liệu từ tầng trên gửi xuống, phân nhỏ thành từngblock, nén dữ liệu, bổ sung dữ liệu kiểm tra, mã hoá và gửi đi Khi nhận dữ liệu về tiếntrình được thực hiện ngược lại : giải mã, kiểm tra, gỡ nén và sắp xếp lại rồi gửi lại chotầng trên.

ChangeCipherSpec Protocol bao gồm duy nhất một thông điệp, được sử dụng

để client báo cho server biết rằng các bản ghi sau này sẽ được bảo vệ với các bộ mãhoá và các khoá đã thoả thuận

Alert Protocol được sử dụng để báo hiệu một lỗi hay một cảnh báo xảy ratrong quá trình truyền thông giữa hai bên Cũng như các loại thông điệp khác, thôngđiệp Alert cũng được mã hoá và nén

Handshake Protocol là một phần quan trọng của SSL, nó cho phépclient/server thống nhất về phiên bản SSL sử dụng, xác thực mỗi bên bằng cách thihành một MAC (mã xác thực thông điệp), thoả thuận về thuật toán mã hoá và các khoálập mã cho việc bảo vệ dữ liệu gửi đi trong một SSL Record trước khi dữ liệu được gửiđi

Phần tiếp theo giới thiệu về cách server xác thực client và ngược lại client xácthực server, các hệ mã hoá được sử dụng với SSL và mức độ bảo mật của SSL

Hạn chế lớn nhất của SSL với người dùng hiện nay là do tốc độ truy cập vàocác Website sử dụng SSL còn chậm, trung bình chậm hơn đến 50% tốc độ thôngthường khi không sử dụng SSL Điều này sẽ gây tác dụng không tốt với người sử dụng

do phải chờ đợi quá lâu, họ dễ dàng bỏ sang truy cập các Website khác, hoặc nôn nóngkhởi tạo lại kết nối Để khắc phục nhược điểm trên, ngoài một số phương pháp tối ưuhoá như giảm số lượng hình ảnh trên trang web, sử dụng các phần mềm tăng tốc, hiệnnay hãng SonicWall đã cho ra một sản phẩm gọi là SSL Accelerator hay SSL offloaderdùng để tăng hiệu năng của trang Web Bộ tăng tốc SSL có thể tăng tốc độ thực hiệncác giao dịch SSL lên đến 50 lần

Chương 3 tiếp tục giới thiệu về một phiên bản khác của SSLv3.0 là TLS TLS

về cơ bản là giống SSL nhưng có một số cải tiến đáng kể Trong chương này, chúng ta

sẽ chỉ đi nghiên cứu về các phần mà TLS khác với SSL như các thông điệp cảnh báo,cách xác thực thông điệp, quá trình sinh nguyên liệu khoá, xác nhận chứng chỉ, nộidung thông điệp Finished và các bộ mã được sử dụng với TLS

Trang 13

Phần cuối của luận văn là phần giới thiệu về cách cấu hình IIS và Apache sửdụng bảo mật SSL với các website.

Với khoá luận này, chúng tôi muốn giới thiệu về một cơ chế bảo mật (SSL)trong thương mại điện tử, tầm quan trọng cũng như những lợi ích của nó, hy vọng sẽmang lại một cái nhìn đúng đắn và sâu sắc hơn về vai trò của bảo mật và xác thực quamạng cũng như xu hướng phát triển của nó trong tương lai

Trang 14

Chương 1 MỘT SỐ VẤN ĐỀ VỀ BẢO MẬT

1.1 Vấn đề an toàn mạng

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ầng giaothứ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 giao thức khácnhau có thể hỗ trợ các dịch vụ bảo mật, và mỗi cái lại có những thuận lợi và khó khănkhác nhau Như chúng ta thấy, các nhà thiết kế ra SSL đã chọn phương pháp là tạo ramộ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ào nhâ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ên các giao thức song song cho mộtvà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ậtcá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.1.1 Giao 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ảo mật.Trong thực tế, họ đã thêm vào một tầng trong kiến trúc giao thức của Internet

Hình 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êndưới cùng là Internet Protocol (IP) Giao thức này chịu trách nhiệm hỗ trợ định tuyếncác thông điệp truyền trên mạng từ nguồn đến đích của chúng Transmission ControlProtocol (TCP) dựa trên các dịch vụ của IP để bảo đảm rằ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ức bảo mật riêng biệt, thêm nó vào giữaHTTP và TCP Làm việc như một giao thức mới, SSL yêu cầu rất ít sự thay đổi trongChương 1 - Một số vấn đề về bảo mật Nghiên cứu sử dụng công nghệ SSL/TLS

Trang 15

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ảo mậ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ươngphá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ụngkhá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ưngSSL cũng được sử dụng để thêm vào sự bảo mật cho các ứng dụng Internet khác, baogồm Net News Transfer Protocol (NNTP) và File Transfer Protocol (FTP)

Hình 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ông giống nhưSSL, nó không thể bảo mật cho NNTP, FTP, hay các giao thức ứng dụng khác vớiSecure 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ácdịch vụ bảo mật một cách chặt chẽ với ứng dụng Mỗi khi giao 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

Trang 16

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

1.1.3 Bảo mật với các giao thức trung

sự phát triển và triển khai IPSEC

Một hạn chế khác của phương pháp IPSEC là nó cung cấp quá nhiều sự liên hệgiữa các dịch vụ bảo mật và ứng dụng IPSEC hướng tới việc thừa nhận rằng các yêucầu bảo mật là một chức năng của hệ thống, và tất cả các ứng dụng bên trong hệ thốngcần các dịch vụ bảo mật tương tự nhau Phương pháp SSL cung cấp sự liên hệ giữa cácứng dụng và bảo mật, nhưng nó cũng cho phép tương tác giữa cả hai Hoạt động bêntrong của một ứng dụng như HTTP không cần thay đổi khi sự bảo mật được thêm vào,

và đặc biệt là ứng dụng có thể tạo ra quyết định có sử dụng SSL hay không Hoạt động

Trang 17

đó tạo sự dễ dàng cho các ứng dụng có thể chọn các dịch vụ bảo mật phù hợp nhất vớimình.

Bất kể những trở ngại này, IPSEC thêm vào các công cụ bảo mật mới khá hiệuquả trên Internet, vào không còn nghi ngờ gì khi thấy sự triển khai rộng rãi của nó.Tuy nhiên, giao thức SSL cũng có nhiều tiện ích quan trọng và sự triển khai của nócũng được hy vọng sẽ tăng lên trong tương lai

1.1.4 Giao thức bảo mật song song

Ví dụ phổ biến nhất về phương pháp này là giao thức Kerberos được phát triểnbởi Học viện công nghệ Massachusetts Các nhà nghiên cứu đã phát triển Kerberoscung cấp sự xác thực và điều khiển truy cập tài nguyên trong một môi trường phân tán.Giao thức Kerberos làm việc như là một bộ công cụ mà các giao thức khác có thể sửdụng cho các dịch vụ bảo mật Ví dụ, một giao thức truy nhập từ xa như Telnet có thể

sử dụng Kerberos để bảo mật định danh người dùng của nó

Hình 4 Giao thức ứng dụng sử dụng Kerberos

Trong những ngày đầu phát triển trình duyệt Web, một vài thử nghiệm kết hợpviệc hỗ trợ Kerberos với HTTP, mặc dù công việc này chưa bao giờ hoàn thành Thayvào đó, hiện nay có một vài thử nghiệm kết hợp Kerberos với TLS Trong các ứngdụng như vậy, Kerberos cung cấp một kỹ thuật trao đổi khoá tin tưởng cho TLS Mặc

dù chú ý rằng riêng Kerberos không thể là một giải pháp bảo mật hoàn toàn Nó khôngtruy cập tới các thông tin thực được trao đổi bởi các tổ chức truyền thông Không có sựtruy cập này, Kerberos không thể cung cấp các dịch vụ lập mã và giải mã

Trang 18

1.2 Vấn đề mã hoá

1.2.1 Khái niệm mã hoá

Mã hóa có lẽ là kĩ thuật được dùng lâu đời nhất trong an toàn truyền thông.Hiện nay có nhiều phương pháp mã hóa khác nhau, mỗi phương pháp có ưu, nhượcđiểm riêng Tùy theo yêu cầu của môi trường ứng dụng mà người ta có thể lựa chọndùng phương pháp bảo mật nào Có những môi trường cần phải an toàn tuyệt đối bất

kể thời gian và chi phí Có những môi trường lại cần giải pháp dung hòa giữa bảo mật

–P là tập hữu hạn các bản rõ có thể–C là tập hữu hạn các bản mã có thể–K là tập hữu hạn khóa có thể–E là tập các hàm lập mã– D là tập các hàm giải mã Với mỗi k ∈ K có một hàm lập mã Ek ∈E(Ek:P → C) và một hàm giải mã Dk ∈ D (Dk : C → P) saocho Dk(Ek(x)) = x, ∀ x ∈P

Hiện nay các hệ mật mã được phân làm hai loại chính là: hệ mật mã đối xứng

và hệ mật mã phi đối xứng (hay còn gọi là hệ mật mã khóa công khai)

Trang 19

1.2.2 Hệ mã hoá đối xứng

Phương pháp mã hoá đối xứng còn được gọi là phương pháp mã hoá khoá bímật Với phương pháp này thì người gửi và người nhận sẽ dùng chung một khoá để mãhoá và giải mã dữ liệu Trước khi mã hoá dữ liệu để truyền đi trên mạng thì hai bêngửi và nhận phải có khoá và phải thống nhất thuật toán dùng để mã hoá và giải mã

Nhược điểm chính của phương pháp mã hoá này là làm thế nào để hai bên gửi

và nhận có được khoá đúng vì khóa được truyền trên môi trường mạng thì không cótính bảo mật cao, nhưng nó cũng có ưu điểm là tốc độ mã hoá và giải mã rất nhanh.Phương pháp này được sử dụng nhiều để truyền dữ liệu trong phiên làm việc của SSL.Lập mã khoá bí mật sử dụng thuật toán mã hoá Data Encrytion Standard (DES), triple-strength (3DES), Rivest Cipher 2 (RC2), và RC4…

1.2.3 Hệ mã hoá phi đối xứng

Mã hoá phi đối xứng (hay còn gọi là mã hoá khoá công khai) đã giải quyếtđược vấn đề của mã hoá khoá bí mật là sử dụng hai khoá : khoá công khai (public key)

và khoá riêng (private key) Khoá công khai được gửi công khai trên mạng, trong khi

đó khoá riêng được giữ kín Khoá công khai và khoá riêng có vai trò trái ngược nhau,một khoá dùng để mã hoá và khoá kia dùng để giải mã

Giả sử B muốn gửi cho A một thông điệp bí mật sử dụng phương pháp mã hoákhoá công khai Ban đầu A có cả khoá riêng và khoá công khai A sẽ giữ khoá riêng ởnơi an toàn và gửi khoá công khai nhận được của A Sau đó A sẽ giải mã thông điệpbằng khoá riêng của mình Ngược lại nếu A muốn gửi thông điệp cho B thì A phải mãhoá thông điệp bằng khoá công khai của B

Tới đây nảy sinh vấn đề : “giả mã khoá công khai” Làm sao để A có thể tinđược rằng đây là khoá công khai của B Vì một hacker (kẻ tấn công) có thể tự sinh ramột cặp khoá công khai và khoá riêng, sau đó đưa cho A khoá công khai này và nóiđấy là khoá công khai của B Như thế mọi thông tin A truyền đi đều bị hacker đọcđược nếu A dùng khoá công khai giả Vấn đề này sẽ trở nên một cách đơn giản nếu Atin tưởng một nhân vật thứ 3, gọi là C Khi đó A chỉ tin tưởng những khoá công khainào được C chứng nhận Những khoá công khai đã được C chứng nhận được gọi làchứng chỉ khoá công khai (public key certificate) hay chứng chỉ số (digital certificate)

Trang 20

Phương pháp này sử dụng thuật toán mã hoá Rivest Shamir Adleman (RSA)

và DiffieHellman(DH) Vì phương pháp mã hoá này rất chậm nên chỉ được sử dụng để

mã hoá những mẩu dữ liệu nhỏ

1.2.4 Chứng chỉ khoá công khai

Chứng chỉ khoá công khai (public key certificate) dùng để làm cho hai bênclient và server xác định chính xác đối tượng của mỗi bên cần giao tiếp vì nhờ cóchứng chỉ khoá công khai mà các đối tượng tham gia trong quá trình trao đổi dữ liệutin cậy khoá công khai mà mình đang sử dụng Như ví dụ đã nêu trên, giả sử C tạo rakhoá công khai và khoá riêng C yêu cầu được giao tiếp với A và gửi khoá công khaicho B Như vậy B sẽ giao tiếp với C nhưng lại tưởng là đang giao tiếp với A

Một chứng chỉ khoá công khai được tạo ra bởi một tổ chức tin cậy, tổ chứcnày được gọi là Ceriticate Authority (CA) Một khi khoá công khai đã được CA chứngnhận thì có thể dùng khoá đó để trao đổi dữ liệu trên mạng với mức độ bảo mật cao

Cấu trúc của một chứng chỉ khoá công khai :

• Issuer : tên của CA tạo ra chứng chỉ

• Period of validity : ngày hết hạn của chứng chỉ

• Subject: bao gồm những thông tin về thực thể được chứng nhận

• Public key : thông tin chính mà chứng chỉ cung cấp là khoá công khai Tất cảcác trường khác được cung cấp để kiểm tra tính hợp lệ của khoá này

• Signature : được tạo bởi khoá riêng của CA và đảm bảo giá trị của chứng chỉ.Nhiều chứng chỉ có thể liên kết với nhau, có nghĩa là một CA có thể tạo ra mộtchứng chỉ cho một CA khác Chứng chỉ đầu tiên luôn là của người gửi, sau đó là đếnchứng chỉ của thực thể tạo ra chứng chỉ của người gửi Cuối cùng của chứng chỉ trongmối liên hệ là root CA Một root CA là một CA công khai có độ tin cậy cao Thông tin

về những root CA được lưu trong trình duyệt Web Thông tin này bao gồm khoá côngkhai của CA Những CA được biết đến nhiều hiện nay như là VeriSign Entrust, vàGTECyberTrust

Trang 21

1.3 Vấn đề ký

số

Chữ ký điện tử (digital signature) là đoạn dữ liệu ngắn, được đính kèm với vănbản gốc để chứng thực tác giả của văn bản và giúp người nhận kiểm tra tính toàn vẹncủa nội dung văn bản gốc

Chữ ký điện tử được tạo ra bằng cách áp dụng thuật toán băm một chiều trênvăn bản gốc để tạo ra văn bản đại diện (message digest) hay còn gọi là fingerprint, sau

đó mã hóa bằng khoá riêng, tạo ra chữ ký số đính kèm với văn bản gốc để gửi đi Khinhận, văn bản được tách làm 2 phần, phần văn bản gốc được tính lại fingerprint để sosánh với fingerprint cũ cũng được phục hồi từ việc giải mã chữ ký số

Các bước mã hoá :

Dùng giải thuật băm (hashing) thông điệp cần truyền đi Kết quả ta được một văn bảnđại diện Văn bản đại diện thường có chiều dài nhỏ hơn nhiều so với thông điệp banđầu Dùng giải thuật MD5 ta được văn bản đại diện có chiều dài 128 bit, dùng giảithuật SHA ta có chiều dài 160 bit

Sử dụng khoá riêng của người gửi mã hoá văn bản đại diện thu được ở bước 1 Thôngthường ở bước này ta dùng giải thuật RSA Kết quả thu được gọi là chữ ký điện tử(digital signature) của thông điệp ban đầu

Gộp chữ ký điện tử vào thông điệp ban đầu Công việc này gọi là “ký nhận” (signing)vào thông điệp Khi đã ký nhận vào thông điệp, ta đảm bảo thông tin gửi đi sẽ không

bị thay đổi - đảm bảo tính toàn vẹn dữ liệu (integrity) – vì mọi sự thay đổi trên thôngđiệp ta gửi đi sẽ bị phát hiện trong giai đoạn kiểm tra Ngoài ra việc ký nhận này đảmbảo người nhận tin tưởng được rằng thông điệp này xuất phát từ người gửi chứ khôngphải ai khác vì chỉ người gửi mới có được khoá riêng

Các bước kiểm tra :

Dùng khoá công khai của người gửi (khoá này được thông báo đến mọi người) giải mãchữ ký điện tử của thông điệp

Dùng giải thuật (MD5 hoặc SHA) băm thông điệp đính kèm

So sánh kết quả thu được ở bước 1 và bước 2 Nếu trùng nhau, ta kết luậnthông điệp này không bị thay đổi trong quá trình truyền và thông điệp này là của ngườigửi

Trang 22

Ghi chú : Chữ ký điện tử được sử dụng để tạo chứng chỉ số A gửi đến CA

của một tổ chức thứ ba đáng tin cậy (trusted third – party) một yêu cầu ký chứng chỉ(certificate signing request), trong đó có khoá công khai CA sẽ ký nhận vào đó và sinh

ra chứng chỉ số gửi về cho A A sẽ thông báo chứng chỉ của mình trên mạng Giả sử Bmuốn gửi cho A một thông báo thì công việc đầu tiên B sẽ lấy chứng chỉ của A vàkiểm tra xem chứng chỉ này có hợp lệ không Quá trình kiểm tra này diễn ra như mô tả

ở trên Nếu hợp lệ B sẽ lấy khoá công khai trong chứng chỉ số để mã hoá dữ liệu vàgửi cho A

1.4 Vấn đề xác thực số

Xác thực là một thủ tục nhằm kiểm tra các thông báo nhận được xem chúng cóđến từ một người gửi hợp lệ và có bị sửa đổi hay không Xác thực cũng có thể kiểm tratrình tự và tính đúng lúc Mã xác thực thông điệp (Message Authentication Code)được xem như là một checksum (kiểm tra tổng thể, cuối cùng) để kiểm tra dữ liệu có

bị thay đổi trong quá trình truyền hay không

Để tính toán (hay kiểm tra) mã xác thực thông điệp, hệ thống sử dụng một

hàm băm hai lớp Nó bắt đầu với một giá trị đặc biệt được gọi là MAC write secret,

theo sau là phần đệm (padding-phần dữ liệu bổ sung), một dãy số tuần tự 64 bit, mộtgiá trị 16 bit với chiều dài nội dung, và cuối cùng là nội dung của nó Padding là mộtbyte đơn giá trị 001100110, được lặp lại 48 lần cho MD5 và 40 lần cho SHA Trong

lớp thứ hai, hệ thống sử dụng MAC write secret, padding và đầu ra của hàm băm trước

đó Lúc này, padding là giá trị nhị phân 01011100, lặp lại 48 lần cho MD5 và 40 lầncho SHA Kết quả là giá trị MAC xuất hiện trong thông điệp SSL Hình 5 minh hoạtiến trình cho một mã xác thực thông điệp MD5

Trang 23

Hình 5 SSL tính toán một mã thông điệp

Hai giá trị đặc biệt sử dụng trong tính toán này là MAC write secret và số tuần

tự Số tuần tự là một giá trị đếm số các thông điệp mà các bên trao đổi Giá trị của nóđược thiết lập là 0 với mỗi thông điệp ChangeCipherSpec, và nó tăng thêm một chomỗi thông điệp SSL Record Layer theo sau trong một phiên

▪ Không có khả năng tìm thấy 2 thông điệp có cùng một MAC

Nhưng gửi một thông điệp kèm theo MAC của nó vẫn chưa thể đảm bảo rằngviệc truyền dữ liệu đã có tình toàn vẹn dữ liệu vì người thứ ba có thể đón nhận thôngđiệp truyền đi, thay đổi dữ liệu của nó đồng thời tính lại MAC kèm theo Như thếngười nhận cũng không thể biết được dữ liệu đã bị thay đổi trong quá trình truyền trênmạng Để giải quyết vấn đề này, có thể sử dụng một trong hai cách sau :

▪ MAC của thông điệp ban đầu cộng thêm khoá phiên (là khoá bí mật – secret key

- được dùng để mã hoá dữ liệu trong các phiên làm việc) và băm lại một

Trang 24

lần nữa Kết quả tạo thành gọi là HMAC Do khoá phiên chỉ có hai bên traođổi dữ liệu biết được nên đảm bảo được rằng mọi sự thay đổi trên thôngđiệp ban đầu sẽ bị phát hiện Thông thường khoá phiên được thiết lập bằnggiải thuật Dellfi-Hellman hoặc RSA.

▪ MAC của thông điệp ban đầu được mã hoá bằng khoá riêng Vì khoá riêng chỉ

có người gửi có nên không thể giả mạo

Hai giải thuật thông dụng để tạo MAC là MD5 và SHA (Secure Hash Algorithm)

Trang 25

Chương 2 KHE CẮM AN TOÀN (SSL)

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án trựctuyế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 (Secure Socket Layer)

và TLS (Transport Layer Security-được bổ sung từ SSL phiên bản 3.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ínhtrên Internet Trong chương này, chúng ta sẽ tìm hiểu SSL là gì, làm việc thế nào, cácthuộc tính và hoạt động của chúng

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ên Internet Giao thứcSSL được hình thành và phát triển đầu tiên năm 1994 bởi nhóm nghiên cứu Netscapedẫn dắt bởi Elgammal và ngày nay đã trở thành chuẩn bảo mật thực hành trên mạngInternet 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 Microsoft hiện nay cũng được sử dụng rộng rãi trong các mạngmáy tính chạy trên hệ điều hành WindowNT Ngoài ra, một chuẩn của IETF (InternetEngineering Task Force) có tên là TLS (Transport Layer Security) dựa trên SSL cũngđược hình thành và xuất bản dưới khuôn khổ nghiên cứu của IETF Internet Draff đượctích hợ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 để đảm bảotí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ụngbất kỳ, thí dụ như webserver và các trình duyệt khách (browsers), do đó được sử dụngrộng rãi trong nhiều ứng dụng khác nhau trên môi trường Internet Toàn bộ cơ chế và

hệ thống thuật toán mã hoá sử dụng trong SSL được phổ biến công khai, trừ khoáChương 2 - Khe cắm an toàn Nghiên cứu sử dụng công nghệ SSL/TLS

Trang 26

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ạng máy tính Ngoài ra, giao thức SSL còn đòihỏi ứng dụng chủ phải được chứng thực bởi một đối tượng lớp thứ ba (CA) thông quagiấy chứng thực điện tử (digital certificate) dựa trên mật mã công khai (ví dụ RSA)

Hình 6 Vị 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ên dướ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 Messaging AccessProtocol) Trong khi SSL có thể sử dụng để hỗ trợ các giao dịch an toàn cho rất nhiềuứng dụng khác nhau trên Internet, thì hiện nay SSL được sử dụng chính cho các giaodị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ết lập một kếtnố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ênmạ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ông khai để 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) trongdanh 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 server nhận

Trang 27

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

dụng muốnkết nối Phía server cũng sử dụng các kỹ thuật mã hoá khoá công khai để kiểmtra chứng chỉ của client và publicID là đúng, được cấp phát bởi một CA trongdanh 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ân hàng định gửi các thông tintà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 danhngườ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 quan trọng đối với cả hai bên khi có các giao dịch mangtí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ốiSSL đã được mã hoá còn được bảo vệ nhờ cơ chế tự động phát hiện cácxáo trộn, thay đổi trong 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ố giao thứcvận tải tin cậy (ví dụ TCP), là tầng SSL Record Protocol SSL Record Protocol được

sử dụng để đóng gói một vài giao thức ở mức cao hơn Một trong những giao thứcđược đóng gói đó là SSL Handshake Protocol, giao thức này cho phép server và clientthực hiện việc xác thực lẫn nhau, thoả thuận một thuật toá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

• TLSv1 : 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ác trình duyệt thông dụng

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

• Kết nối là 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ã đối xứng

Trang 28

được sử dụng cho quá trình mã hoá dữ liệu (ví dụ DES, RC4…) Đảm bả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ã phi đốixứng, hoặc khoá công khai (ví dụ RSA, DSS…) Xác thực tức là đảmbảo tính xác thực của trang mà chúng ta sẽ làm việc ở đầu kia của kếtnối Cũng như vậy, các trang Web cũng cần phải kiểm tra tính xác thựccủa ngườ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ộtquá trình kiểm tra tính toàn vẹn của thông điệp sử dụng một hàmkiể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ôngtin không bị sai lệch và 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ácphương pháp mã hoá và khóa công khai kết hợp lại chặt chẽ với nhau

2.1.3 SSL và ứng dụng thương mại điện tử

Trong thực tiễn, sự hiểu biết của người sử dụng về cơ chế bảo mật được “sắpđặt” trong các giao dịch điện tử trên mạng Internet là ít và mờ Tất cả phần lớn dựavào sự tin tưởng (trust), chẳng hạn tên tuổi của các hãng có uy tín (VisaCard,MasterCard, ) và sản phẩm có tính nǎng tốt của các hãng nổi tiếng (Oracle,Microsoft, Netscape, ) Bảo mật và an toàn là vấn đề quan trọng trong việc quyết định

sự phát triển mạnh mẽ thương mại điện tử hoặc hiện nay như chính phủ điện tử government) và tạo lòng tin cho khách hàng Về vấn đề bảo mật trong giao thức SSLchúng ta cần quan tâm tới khả nǎng lựa chọn công nghệ và mức độ phụ thuộc vào côngnghệ khi xây dựng các ứng dụng nền tảng trong đó có hạ tầng bảo mật thông tin Việctriển khai các hệ thống ứng dụng sử dụng hạ tầng truyền thông Internet đòi hỏi có độbảo mật cao (đặc biệt trong ngân hàng, tài chính, quốc phòng ), và cần phải được xây

Trang 29

(e-dựng dựa trên sơ đồ gồm các lớp bảo mật nhiều tầng độc lập Ví dụ như giao thứcGiao dịch điện tử bảo mật SET (Secure Electronic Transaction), Giao thức khoáInternet IKP (Internet Keyed Protocol) hoặc PGP (Pretty Good Privacy), thậm chí cảphần cứng, nhằm hạn chế tối đa các “lỗ hổng” bảo mật của hệ thống giao thương điện

tử Ngoài ra cũng cần lưu ý các sản phẩm về bảo mật ứng dụng hiện nay trên mạngmáy tính phần lớn được phát minh từ Mỹ, được bảo hộ và kiểm soát chặt chẽ bởi luậtpháp Mỹ dẫn đến khi thực hành xây dựng và triển khai các hệ thống thông tin và giaodịch thương mại điện tử của chúng ta cần thận trọng và cân nhắc

Ngày nay, SSL được sử dụng rộng rãi như là nền tảng bảo mật cho :

▪ Các truy cập vào những ứng dụng có yêu cầu bảo mật cao như Oracle, PeopleSoft, hay Siebel từ bất kỳ một Web browser nào

▪ Các Website bán hàng qua mạng đang được thanh toán bằng thẻ tín dụng

▪ Các trang học tập trực tuyến, tài chính ngân hàng, giao dịch chứng khoán và dịch

vụ thanh toán hoá đơn

▪ Các nhà cung cấp dịch vụ y tế khi muốn chia sẻ các thông tin nghiên cứu riêng tư của mình

▪ Các công ty bảo hiểm cung cấp các dịch vụ trực tuyến cho các đại lý và các khách hàng

▪ Các trang cung cấp dịch vụ thương mại điện tử trực tiếp

▪ Các dịch vụ của chính phủ đòi hỏi sự bảo mật thông tin như thuế, an ninh xã hội, quân đội và các thông tin về sức khoẻ

▪ Các trang du lịch mà có thể đặt phòng và vé trực tuyến

▪ Các mạng nội bộ (intranet) có yêu cầu bảo mật các thông tin quan trọng

Các mạng mở rộng (extranet) phục vụ cho các truy cập an toàn vào các nguồnthông tin của công ty từ phía các đối tác, các đại lý cung cấp và các khách hàng chính

2.2 Giao thức bản ghi (Record

Protocol)

Secure Sockets Layer sử dụng giao thức bản ghi (Record Protocol) để đónggói tất cả các thông điệp Hình 7 mô tả vị trí của Record Layer trong kiến trúc SSL Nócung cấp một định dạng chung cho các thông điệp Alert, ChangeCipherSpec,Handshake hay thông điệp của các giao thức ứng dụng như HTTP, Telnet…

Trang 30

Hình 7 Vị trí giao thức bản ghi trong giao thức SSL

Giao thức bản ghi là một tầng giao thức Đối với mỗi tầng giao thức nóichung, một gói dữ liệu sẽ bao gồm các trường độ dài, mô tả và nội dung dữ liệu Giaothức bản ghi nhận dữ liệu cần gửi từ tầng trên phân nhỏ thành từng block (khối), nén

dữ liệu, bổ sung dữ liệu kiểm tra, mã hoá và gửi Khi nhận dữ liệu về, tiến trình đượcthực hiện ngược lại: giải mã, kiểm tra, gõ nén và sắp xếp lại rồi gửi lên tầng trên Cácgiai đoạn trong giao thức này được minh hoạ trong hình 8 Với Application data có thể

là dữ liệu của giao thức SSL handshake, giao thức SSL ChangeCipherSpec, giao thứcSSL Alert hoặc dữ liệu của các ứng dụng khác như HTTP, Telnet… Để phân biệt đượctừng loại dữ liệu đó trong mỗi frame dữ liệu của SSL record đều có phần header (phầnnội dung thêm vào đầu thông điệp) để phân biệt

Hình 8 Các giai đoạn thi hành của giao thức bản ghi

Trang 31

Bước đầu tiên là fragmentation Mỗi thông điệp tầng trên được phân nhỏ

thành các khối 214 byte (16384) hoặc nhỏ hơn Tiếp theo là compression (nén), điều

này là tuỳ chọn Nén phải không làm mất dữ liệu và không thể gia tăng kích thước dữliệu hơn 1024 byte Trong SSLv3, không có thuật toán nén nào được chỉ định, thì thuậttoán nén mặc định là null

Bước tiếp theo trong quá trình xử lý là tính toán MAC (Message Authentication Code) - mã xác thực thông điệp qua dữ liệu đã được nén, biến đổi cấu

trúc SSLCompressed thành cấu trúc SSLCiphertext

Bước cuối cùng của tiến trình SSL Record Protocol là thêm vào phần đầu mộtheader bao gồm các trường :

• Protocol (1 byte) :Thể hiện giao thức tầng cao hơn được sử dụng trong thôngđiệp SSL Record Layer

• Version (2 byte) :Phiên bản chính và phụ của đặc tả SSL mà thông điệp tuântheo Phiên bản hiện tại của SSL là 3.0

• Length (2 byte) :Số 16 bít thể hiện độ dài của giao thức tầng cao hơn Đặc tảSSL quy định số này không được vượt quá 214

• Protocol Message (n byte) : Thông điệp của giao thức tầng cao hơn, có thể dàiđến 214 (16384) byte kể cả mã xác thực SSL Record Layer có thể nối nhiềuthông điệp tầng cao hơn trong một thông điệp SSL Record Layer đơn (phải cócùng giao thức tầng cao hơn)

Hình 9 Cấu trúc một thông điệp SSL Record

Trang 32

SSL định nghĩa bốn giao thức tầng cao khác nhau mà Record Layer có thể hỗtrợ là : ChangeCipherSpec protocol (20), Alert protocol (21), Handshake protocol (22),Application protocol data (23).

2.3 Giao thức ChangeCipherSpec

Giao thức ChangeCipherSpec tồn tại các quá trình chuyển tiếp các tín hiệutrong chiến lược mật mã Giao thức này bao gồm một thông điệp, được mã hoá vàđược nén theo CipherSpec hiện tại

Hình 10 Thông điệp ChangeCipherSpec

Phần sẫm màu là Record Layer header, với giá trị protocol là 20, version 3.0,

và chiều dài 1 Bản thân thông điệp ChangeCipherSpec chỉ gồm 1 byte, giá trị 1

Client và server sẽ gửi thông điệp ChangeCipherSpec để báo tin cho bên kiabiết được các bản ghi sau này sẽ được bảo vệ dưới CipherSpec với các khoá mà haibên đã thoả thuận Khi nhận được thông điệp này, bên nhận sẽ chuyển trạng thái chuẩn

bị đọc thành trạng thái đọc hiện tại Sau khi trao đổi khoá (Key Exchange) và chứngchỉ để xác thực thông điệp (CertificateVerify) thì client sẽ gửi thông điệp này, server

sẽ gửi lại cho client một thông điệp tương tự sau khi server xử lý xong thông điệp màclient gửi cho Khi thông điệp ChangeCipherSpec bất thường xuất hiện thì một

unexpected_message sẽ được tạo ra Khi sử dụng lại các phiên trước đây, thông điệp

ChangeCipherSpec sẽ được gửi sau các thông điệp hello.

2.4 Giao thức cảnh báo (Alert Protocol)

Các hệ thống sử dụng giao thức Alert để báo hiệu một lỗi hoặc một cảnh báoxảy ra trong quá trình truyền thông giữa hai bên, và SSL gán cho kiểu giao thức củaAlert là 21 Alert Protocol cũng giống như tất cả các giao thức SSL khác, sử dụngRecord Layer định dạng thông điệp của nó Các thông điệp alert truyền tải các thôngbáo lỗi hay cảnh báo trong quá trình thiết lập cũng như trao đổi dữ liệu của một phiênliên lạc Cũng như các loại thông điệp khác, thông điệp alert cũng được mã hoá và nén.Mỗi thông điệp trong giao thức này bao gồm hai byte

Trang 33

Byte đầu tiên lưu giá trị cảnh báo (1) hay lỗi (2) Nếu là lỗi, SSL sẽ ngay lậptức đóng kết nối Các kết nối khác trên cùng phiên có thể vẫn tiếp tục, nhưng khôngkết nối mới nào trong phiên này có thể được thiết lập Byte thứ hai bao gồm một mãthể hiện kiểu cảnh báo cụ thể Tiếp theo đây là các đặc tả lỗi và cảnh báo cụ thể cùngvới giá trị của nó.

Hình 11 Định dạng thông điệp Alert 2.4.1 Kiểu Closure Alert

Client và server phải biết được khi nào kết nối đang kết thúc để tránh cách tấncông cắt cụt (truncation attack) Hoặc mỗi bên tham gia có đưa ra các thông điệp thôngbáo đóng kết nối

close_notify (0) : thông báo cho bên nhận biết được bên gửi sẽ không gửi bất

kỳ thông điệp nào nữa trên kết nối Sau khi nhận được thông báo này thì bất kỳ dữ liệunào nhận được đều bị loại bỏ

2.4.2 Kiểu Error Alert

Quá trình xử lý lỗi trong SSL Hanshake Protocol là rất đơn giản Khi một lỗiđược phát hiện thì bên phát hiện ra lỗi sẽ gửi một thông điệp cho bên kia, sau đó cả haibên đóng kết nối ngay lập tức Các servers và clients phải bỏ qua bất kỳ số định danhphiên, khoá, các bí mật của kết nối bị hỏng này Sau đây là một số thông báo lỗi

▪ unexpected_message (10) : một thông điệp không phù hợp đã được nhận

▪ bad_record_mac (20) : thông báo này được trả lại nếu một bản ghi nhận

được có MAC không đúng

▪ decompression_failure (30) : hàm thực hiện giải mã nhận đầu vào không phù hợp (ví dụ dữ liệu mở rộng vượt quá kích thước cho phép)

▪ handshake_failure (40) : thông báo cho biết bên gửi không thể thoả thuận một tập các tham số an toàn được đưa vào trong các tuỳ chọn

▪ no_certificate (41): thông báo này có thể gửi đi để đáp lại yêu cầu cần xác thựcnếu việc xác thực không phù hợp

Trang 34

▪ bad_certificate (42) : việc xác thực bị ngắt, ví dụ chữ ký dùng cho xác thực không phù hợp.

▪ unsupported_certificate (43) : việc xác thực là kiểu không được hỗ trợ

▪ certificate_revoked (44) : bên tham gia huỷ bỏ việc xác thực

▪ certificate_expired (45) : việc xác thực đã hết hạn hoặc hiện tại không có giá trị

▪ certificate_unknown (46) : xuất hiện các vấn đề khác trong quá trình xử lý việc xác thực

▪ illegal_parameter (47) : một trường trong handshake ngoài giới hạn hoặc không nhất quán với các trường khác

2.5 Giao thức bắt tay (Handshake Protocol)

SSL Handshake Protocol là một phần quan trọng của SSL, nó cung cấp badịch vụ cho các kết nối SSL giữa client và server Handshake Protocol cho phépclient/server thống nhất về phiên bản giao thức, xác thực mỗi bên bằng cách thi hànhmột MAC và thoả thuận về một thuật toán mã hoá và các khoá lập mã cho việc bảo vệcác dữ liệu gửi đi trong một SSL record trước khi giao thức ứng dụng truyền đi haynhận được byte dữ liệu đầu tiên

Hình 12 Vị trí giao thức bắt tay

Giao thức bắt tay (Handshake Protocol) bao gồm một dãy các thông điệp đượctrao đổi bởi client và server Hình 13 minh hoạ sự trao đổi các thông điệp handshakecần thiết để thiết lập một kết nối logic giữa client và server Nội dung và ý nghĩa mỗithông điệp được mô tả chi tiết trong các phần sau

Trang 35

Hình 13 Tiến trình bắt tay

“ * “ cho biết đây là tuỳ chọn hoặc là các thông điệp phụ thuộc tuỳ vào tình huống cụ thể sẽ không gửi đi

Trang 36

Tiến trình hoạt động của giao thức bắt tay có thể được mô tả tóm tắt như sau :

1 Client gửi tới server số phiên bản SSL của client, các tham số của thuật toán mãhoá, sinh dữ liệu ngẫu nhiên (đó chính là digital signature) và các thông tinkhác mà server cần để thiết lập kết nối với client

2 Server gửi tới client số phiên bản SSL của server đang dùng, các tham số củathuật toán mã hoá, sinh dữ liệu ngẫu nhiên và các thông tin khác mà client cần

để thiết lập kết nối với server có sử dụng SSL Server cũng gửi chứng chỉ(certificate) của mình tới client, nếu client yêu cầu tài nguyên của server mà cần

sự xác thực client thì server sẽ yêu cầu chứng chỉ của client

3 Client sử dụng một số thông tin mà server gửi đến để xác thực server Nếu nhưserver không được xác thực thì người sử dụng sẽ được cảnh báo và kết nối khôngđược thiết lập Còn nếu như xác thực được server thì phía client sẽ thực hiện tiếpbước 4

4 Sử dụng tất cả các thông tin được tạo ra trong giai đoạn bắt tay ở trên, client(cùng với sự cộng tác của server và phụ thuộc vào thuật toán được sử dụng)

sẽ tạo ra premaster secret cho phiên làm việc, mã hoá bằng khoá công khai

(public key) mà server gửi đến trong chứng chỉ ở bước 2, và gửi đến server

5 Nếu server có yêu cầu xác thực client (tuỳ chọn trong quá trình bắt tay), client

sẽ ký trên dữ liệu, dữ liệu này là duy nhất đối với quá trình bắt tay và đều đượclưu trữ bởi client và server Trong trường hợp này, client sẽ gửi cả dữ liệu được

ký, chứng chỉ số của mình cùng với premaster secret đã được mã hoá tới server.

6 Nếu server yêu cầu xác thực client, server sẽ cố gắng để xác thực client.Trường hợp client không được xác thực, phiên làm việc sẽ bị ngắt Còn nếu clientđược xác thực thành công, server sẽ sử dụng khoá riêng (private key) để giải mã

premaster secret, sau đó thực hiện một số bước để tạo ra master secret.

7 Client và server sử dụng master secret để tạo ra các session key (khoá phiên),

đó chính là các khoá đối xứng được sử dụng để mã hoá và giải mã các thông tintrong phiên làm việc và kiểm tra tính toàn vẹn dữ liệu-xác định sự thay đổi về

dữ liệu giữa thời điểm gửi và nhận

8 Client sẽ gửi một thông điệp tới server thông báo rằng các thông điệp tiếp theo sẽ

được mã hoá bằng session key Sau đó gửi kèm theo một thông điệp riêng biệt

xác định quá trình bắt tay phía server đã kết thúc

Trang 37

9 Lúc này giai đoạn “bắt tay” đã hoàn thành, và phiên làm việc SSL bắt đầu Cả hai

phía client và server sẽ sử dụng các session key để mã hoá và giải mã thông

tin trao đổi giữa hai bên, và kiểm tra tính toàn vẹn dữ liệu

Khi client và server quyết định sử dụng lại phiên trước hoặc tạo một bản saocủa phiên đang tồn tại (thay vì phải thoả thuận các tham số an toàn mới), thì luồngthông điệp hoạt động như sau : client gửi một ClientHello có sử dụng Session ID củaphiên được dùng lại server kiểm tra nơi lưu trữ phiên (session cache) tương ứng Nếu

có, server sẽ thiết lập lại kết nối dưới trạng thái phiên được chỉ định, server sẽ gửi mộtthông điệp ServerHello có giá trị Session ID giống hệt Mỗi khi quá trình thiết lập lạiđược hoàn thành thì client và server có thể trao đổi dữ liệu lớp ứng dụng

Ngược lại nếu Session ID không tìm thấy thì server sẽ tạo ra một Session IDmới, SSL client và server thực hiện quá trình bắt tay thông thường như ở trên

2.5.1 Giai đoạn 1 : Các thông điệp Hello cho kết nối logic

Client gửi một thông điệp ClientHello tới server, server phải đáp ứng lại bằngmột thông điệp ServerHello, hoặc ngược lại nếu một lỗi xảy ra và kết nối sẽ thất bại.ClientHello và ServerHello được sử dụng để tăng tính an toàn giữa client và server.ClientHello và ServerHello thiết lập các thuộc tính : Protocol Version, Session ID,Cipher Suite và Compression Method Ngoài ra hai giá trị ngẫu nhiên được tạo ra vàđược trao đổi là : ClientHello.random và ServerHello.random Các thông điệp giaiđoạn chào hỏi được sử dụng để trao đổi các thuộc tính thừa kế bảo mật giữa client vàserver

• 1 Thông điệp HelloRequest

Thông điệp này được gửi bởi server tại bất kỳ thời điểm nào, nhưng có thể bịclient bỏ qua nếu Handshake Protocol đã đang thực hiện Nếu client nhận mộtHelloRequest trong một trạng thái thoả thuận bắt tay thì client đơn giản là bỏ quathông điệp này

• 2 Thông điệp ClientHello

Thông điệp ClientHello bắt đầu phiên truyền thông SSL giữa hai bên Client

sử dụng thông điệp này hỏi server để bắt đầu thoả thuận các dịch vụ bảo mật được sửdụng SSL Sau đây là các thành phần quan trọng của một thông điệp ClientHello :

Trang 38

▪ Version : phiên bản SSL cao nhất mà client hỗ trợ Phiên bản SSLhiện tại là 3.0 Chú ý rằng một server có thể thừa nhận rằng client

có thể hỗ trợ tất các phiên bản SSL cao hơn và bao gồm giá trị củatrường này Ví dụ, nếu một client gửi một ClientHello với Version

có giá trị 3 tới server chỉ hỗ trợ SSL version 2.0, server có thể đápứng bằng các thông điệp version 2.0 và nó hy vọng client hiểu.Client có thể quyết định tiếp tục với phiên SSL sử dụng version 2.0,hoặc có thể bỏ qua

▪ Random : Một cấu trúc ngẫu nhiên được sinh ra, bao gồm mộtnhãn thời gian 32-bit và 28 byte được sinh bởi bộ sinh số ngẫunhiên bảo mật Nhãn thời gian-32 byte bao gồm thời gian và ngày,

để chắc chắn rằng client không bao giờ sử dụng cùng một giá trịngẫu nhiên hai lần Sử dụng phương pháp này để chống lại một sựsao chép bất hợp pháp các thông điệp SSL từ một client bất hợppháp và sử dụng lại chúng để thiết lập một phiên giả mạo 28 bytecòn lại là một số ngẫu nhiên “bảo mật mật mã”, sử dụng một côngnghệ được biết đến như là “sinh số giả ngẫu nhiên” để tạo ra các sốngẫu nhiên

▪ Session ID : một định danh phiên chiều dài biến Một giá trị kháckhông thể hiện rằng client muốn cập nhật các tham số của kết nốiđang tồn tại hoặc tạo một kết nối mới trong phiên này Một giá trịbằng không thể hiện rằng client muốn thiết lập một kết nối mới trênmột phiên làm việc mới

▪ CipherSuite : đây là một danh sách bao gồm các sự kết hợp của cácthuật toán lập mã được hỗ trợ bởi client, xếp tăng theo thứ tự thamchiếu Mỗi phần tử của danh sách định nghĩa cả hai thuật toántrao đổi khoá và một CipherSpec

▪ Compression Method : danh sách các phương pháp nén client hỗ trợ

• 3 ServerHello :Khi server nhận được thông điệp ClientHello, nó gửi đáp ứng lại với mộtthông điệp ServerHello Nội dung của ServerHello tương tự như ClientHello, tuynhiên, cũng có một số điểm khác biệt quan trọng

▪ Version : lưu giá trị phiên bản thấp nhất được chấp nhận bởi clienttrong ClientHello và phiên bản cao nhất được hỗ trợ bởi server

Trang 39

Version trong ServerHello quyết định phiên bản SSL mà kết nối sẽ

sử dụng

Trang 40

▪ Random : giá trị ngẫu nhiên được sinh ra bởi server, bốn byte đầu

là nhãn thời gian (để tránh các giá trị ngẫu nhiên lặp lại); các bytecòn lại sẽ được tạo bởi bộ sinh số ngẫu nhiên bảo mật lập mã

▪ Session ID : trường Session ID của ServerHello có thể lưumột giá trị, không giống như trường Session ID trong ClientHello

đã được nói tới Giá trị này định danh duy nhất truyền thôngSSL cụ thể hoặc session Lý do chính cho việc định danh mộtphiên SSL cụ thể là để sau này có thể dùng lại Nếu server khôngchỉ định ra phiên đã từng sử dụng, nó có thể bỏ qua trường Session

ID trong thông điệp ServerHello

▪ CipherSuite : quyết định các tham số lập mã, các thuật toán và các

cỡ khoá, được sử dụng trong một phiên Server phải chọn một bộ

mã đơn từ danh sách mà client đưa cho trong thông điệpClientHello

▪ CompressionMethod : server sử dụng trường này để định danh việcnén dữ liệu sử dụng cho phiên Một lần nữa, server phải lấy chúng

từ danh sách đã được liệt kê trong ClientHello Tuy nhiên, cácphiên bản SSL hiện tại không định nghĩa bất kỳ phương pháp nénnào, vì thế trường này không có ý nghĩa thiết thực cụ thể

2.5.2 Giai đoạn 2 : Xác thực Server và trao đổi khoá

Sau các thông điệp hello, server bắt đầu giai đoạn này bằng cách gửi chứngchỉ của nó nếu nó cần được xác thực Thêm vào đó, một thông điệp ServerKeyExchange có thể được gửi nếu nó được yêu cầu Nếu server đã được xác thực, nó cóthể yêu cầu một chứng chỉ từ client, nếu nó thích hợp với bộ mã được chọn Sau đó,server sẽ gửi thông điệp ServerHelloDone, thể hiện rằng giai đoạn thông điệp hellocủa handshake đã hoàn thành Server sau đó sẽ đợi đáp ứng của client Nếu server đãgửi một thông điệp yêu cầu chứng chỉ (Certificate request message), client phải gửi lạithông điệp chứng chỉ (certificate message)

• 4 Thông điệp ServerCertificate

Nếu server đã được xác thực, nó phải gửi một chứng chỉ ngay sau thôngđiệp ServerHello Kiểu chứng chỉ phải phù hợp với thuật toán chuyển đổi khoácủa bộ mã (cipher suite) đã lựa chọn, và nó thường là một chứng chỉ X.509 v3

Nó phải chứa một khoá phù hợp với phương pháp chuyển đổi khoá (key

Ngày đăng: 05/01/2016, 09:40

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] GS.TS Phan Đình Diệu. Lý thuyết mật mã và an toàn thông tin Khác
[2] Đàm Mạnh Hùng. Các hệ mã hoá và ứng dụng trong thương mạI điện tử. Khoá luận tốt nghiệp. Hà Nội, 2004 Khác
[3] PGS.TS Trịnh Nhật Tiến. Giáo trình an toàn dữ liệu Tài liệu tiếng Anh Khác
[4] Man Young Rhee. Internet Security. Cryptographic Principles, Algorithms and Protocols. John Wiley, 2003 Khác
[5] Mitch Tulloch. Microsoft Encyclopedia of Security. Microsoft Press, 2003 [6] Network Security with OpenSSL. O’Reilly & Associates, Inc, 2002 Khác
[7] Stephen Thomas. SSL & TLS Essentials. Securing the Web. 2000 [8] Mission Critical Internet Security. Syngress Publishing, Inc, 2001 [9] Hack Proofing Your Web Applications. Syngress Publishing, Inc, 2001.Tài liệu tham khảo Khác

HÌNH ẢNH LIÊN QUAN

Bảng chú giải một số cụm từ viết tắt - NGHIÊN CỨU SỬ DỤNG CÔNG NGHỆ BẢO MẬTSSL/TLS
Bảng ch ú giải một số cụm từ viết tắt (Trang 9)
Hình 8. Các giai đoạn thi hành của giao thức bản ghi - NGHIÊN CỨU SỬ DỤNG CÔNG NGHỆ BẢO MẬTSSL/TLS
Hình 8. Các giai đoạn thi hành của giao thức bản ghi (Trang 30)
Hình 9. Cấu trúc một thông điệp SSL Record - NGHIÊN CỨU SỬ DỤNG CÔNG NGHỆ BẢO MẬTSSL/TLS
Hình 9. Cấu trúc một thông điệp SSL Record (Trang 31)
Hình 13. Tiến trình bắt tay - NGHIÊN CỨU SỬ DỤNG CÔNG NGHỆ BẢO MẬTSSL/TLS
Hình 13. Tiến trình bắt tay (Trang 35)
Hình 14. Thông điệp Certificate - NGHIÊN CỨU SỬ DỤNG CÔNG NGHỆ BẢO MẬTSSL/TLS
Hình 14. Thông điệp Certificate (Trang 41)
Hình 15. ServerKeyExchange mang các tham số Diffie-Hellman - NGHIÊN CỨU SỬ DỤNG CÔNG NGHỆ BẢO MẬTSSL/TLS
Hình 15. ServerKeyExchange mang các tham số Diffie-Hellman (Trang 42)
Hình 16. ServerKeyExchange mang các tham số RSA - NGHIÊN CỨU SỬ DỤNG CÔNG NGHỆ BẢO MẬTSSL/TLS
Hình 16. ServerKeyExchange mang các tham số RSA (Trang 43)
Hình 21. Thông điệp ClientKeyExchange với RSA - NGHIÊN CỨU SỬ DỤNG CÔNG NGHỆ BẢO MẬTSSL/TLS
Hình 21. Thông điệp ClientKeyExchange với RSA (Trang 47)
Hình 25. Thông điệp Finished - NGHIÊN CỨU SỬ DỤNG CÔNG NGHỆ BẢO MẬTSSL/TLS
Hình 25. Thông điệp Finished (Trang 51)
Hình 27. Quá trình xác thực server 2.5.5.2 Xác thực Client - NGHIÊN CỨU SỬ DỤNG CÔNG NGHỆ BẢO MẬTSSL/TLS
Hình 27. Quá trình xác thực server 2.5.5.2 Xác thực Client (Trang 53)
Hình 28. Quá trình xác thực client 2.6 Bảo mật của SSL - NGHIÊN CỨU SỬ DỤNG CÔNG NGHỆ BẢO MẬTSSL/TLS
Hình 28. Quá trình xác thực client 2.6 Bảo mật của SSL (Trang 56)
Hình 30. TLS sử dụng HMAC để sinh đầu ra giả ngẫu nhiên - NGHIÊN CỨU SỬ DỤNG CÔNG NGHỆ BẢO MẬTSSL/TLS
Hình 30. TLS sử dụng HMAC để sinh đầu ra giả ngẫu nhiên (Trang 77)
Hình 31. Hàm giả ngẫu nhiên của TLS sử dụng cả MD5 và SHA - NGHIÊN CỨU SỬ DỤNG CÔNG NGHỆ BẢO MẬTSSL/TLS
Hình 31. Hàm giả ngẫu nhiên của TLS sử dụng cả MD5 và SHA (Trang 78)
Hình 32. TLS sử dụng PRF để tạo ra master secret và nguyên liệu khoá 3.5 Xác nhận chứng chỉ - NGHIÊN CỨU SỬ DỤNG CÔNG NGHỆ BẢO MẬTSSL/TLS
Hình 32. TLS sử dụng PRF để tạo ra master secret và nguyên liệu khoá 3.5 Xác nhận chứng chỉ (Trang 79)
Hình 33. TLS sử dụng PRF cho các thông điệp Finished 3.7 Các bộ mã cơ sở - NGHIÊN CỨU SỬ DỤNG CÔNG NGHỆ BẢO MẬTSSL/TLS
Hình 33. TLS sử dụng PRF cho các thông điệp Finished 3.7 Các bộ mã cơ sở (Trang 80)

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

w