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

Triển khai giao thức SSL cho các dịch vụ mạng cơ bản

43 1,7K 4

Đ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 43
Dung lượng 1,9 MB

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

Nội dung

SSL (Secure Socket Layer) là giao thức để cung cấp dịch vụ bảo mật cho lưu lượng dữ liệu trên kênh truyền, nó sử dụng tổ hợp nhiều giải thuật nhằm mã hóa để đảm bảo quá trình trao đổi thông tin trên mạng được bảo mật. Việc mã hóa dữ liệu diễn ra một cách trong suốt, hỗ trợ nhiều giao thức khác chạy trên nền giao thức TCP.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 TCPIP nào, SSL đã kết hợp những yếu tố sau để thiết lập được một giao dịch an toàn:

Trang 1

Mục Lục

Danh mục các từ viết tắt 3

Danh mục các hình vẽ 4

Lời mở đầu 5

Chương 1: Tổng quan về giao thức SSL 6

1.1 Tìm hiểu SSL là gì ? 6

1.2 Lịch sử của giao thức SSL 8

1.3 Lợi ích khi dùng giao thức SSL 9

1.4 Một số dịch vụ mạng cơ bản 9

1.4.1 Dịch vụ HTTP 9

1.4.2 Dịch vụ FTP 10

1.4.3 Dịch vụ POP 10

1.4.4 Dịch vụ SMTP 12

Chương 2: Cấu trúc và cơ chế hoạt động của giao thức SSL 13

2.1 Cấu trúc của SSL 13

2.2 Các giao thức con trong giao thức SSL 14

2.2.1 Handshake Protocol 15

2.2.2 Change CipherSpec Protocol 19

2.2.3 Alert Protocol 19

2.2.4 SSL Record Protocol 19

2.3 Các thuật toán mã hóa 20

2.3.1 Kiểu mã hóa đối xứng 20

2.3.2 Kiểu mã hóa bất đối xứng 22

2.3.3 Hash Algorithms ( Băm dữ liệu) 24

2.4 Cơ chế hoạt động của giao thức SSL 25

Chương 3: Các phương thức tấn công và cách phòng chống trong SSL 28

Trang 2

3.1 Các phương thức tấn công 28

3.1.1 Tấn công Man in the Middle.(MITM) – Tấn công giả mạo SSL 28

3.1.2 Tham khảo cách tấn công SSL bằng công cụ SSLStrip 30

3.1.3 Minh họa một kết nối an toàn và không an toàn 33

3.2 Các cách phòng chống 41

Chương 4: Demo 42

4.1 Triển khai giao thức SSL cho dịch vụ HTTP 42

4.2 Triển khai giao thức SSL cho dịch vụ SMTP và POP3 trên Exchange Server 2007 42

4.3 Triển khai giao thức SSL cho dịch vụ FTP 42

Tài liệu tham khảo 43

Phân công nhiệm vụ: 43

Trang 3

Danh mục các từ viết tắt

SSL: Secure Socket Layer

TCP : Transmission Control Protocol

HTTP: Hypertext Transfer Protocol

FTP : File Transfer Protocol

POP: Point of presence

SMTP : Simple Mail Transfer Protocol

TLS : Transport Layer Security

IIETF : Internet Engineering Task Force

CA : Certificate authority

PCT : Private Communication Technology

VPN : Virtual Private Network

UUCP : Unix to Unix CoPy

DNS : Domain Name Server

MITM : Man in the Middle

DES : Data Encryption Standard

MAC : Medium access control

Trang 4

Danh mục các hình vẽ

Hình 1: Các dịch vụ sử dụng SSL 13

Hình 2: Giao thức SSL trong mô hình TCP/IP 14

Hình 3: Các giao thức con trong giao thức SSL 14

Hình 4: Server và client đăng ký giấy chứng nhận từ CA 15

Hình 5: Quá trình tạo giấy chứng chỉ (X.509) 16

Hình 6: Client xác thực Server 17

Hình 7: Server xác thực Client 18

Hình 8: Qúa trình sử dụng key đối xứng 21

Hình 9: Các giai đoạn của DES 21

Hình 10: Quá trình sử dụng key bất đối xứng 23

Hình 11: Quá trình sử dụng key bất đối xứng giữa người dùng A và B 23

Hình 12: Cơ chế hoạt động của SSL 26

Hình 13: Giao thức HTTPS thường dùng 28

Hình 14: Qúa trình Connect từ Web Browser đến Web Server 29

Hình 15: Tấn công giả mạo Certificate 30

Hinh 16: Mô tả tấn công SSL bằng SSLStrip (1) 31

Hinh 17: Mô tả tấn công SSL bằng SSLStrip (2) 32

Hinh 18: Mô tả tấn công SSL bằng SSLStrip (3) 32

Hinh 19: Mô tả tấn công SSL bằng SSLStrip (4) 33

Hình 20: Xem trang web có dùng SSL hay không 41

Hình 21: Nhận dạng tính bảo mật trang web dùng SSL 42

Trang 5

Lời mở đầu

Ngày nay mạng máy tính là một khái niệm trở nên quen thuộc với hầu hết tất cảmọi người, đặc biệt chiếm vị trí hết sức quan trọng với các doanh nghiệp Với xu thế pháttriển mạnh mẽ của hệ thống mạng như: mạng internet, hệ thống thương mại điện tử, hệthống thông tin trong các cơ quan, doanh nghiệp thì vấn đề bảo mật và an ninh mạng trởnên hết sức cần thiết

Bảo mật và mã hóa thông tin là một vấn đề quan trọng và có nhiều ứng dụng trongđời sống xã hội Ngày nay các ứng dụng mã hóa và bảo mật thông tin được sử dụng ngàycàng phổ biến hơn trong các lĩnh vực từ lĩnh vực an ninh, quân sự, quốc phòng đến cáclĩnh vực dân sự như thương mại điện tử, ngân hàng …

Trong thời điểm hiện nay, khi mà mạng Internet chiếm một vai trò quan trọng thì sựgian lận dữ liệu internet ngày càng tăng Bạn luôn muốn mọi thông tin của bạn luônmuốn được bảo vệ với mã hóa mạnh mẽ từ các nhà cung cấp bảo mật đáng tin cậy thựchiện việc trao đổi thông tin nhạy cảm qua Internet

Và Secure Sockets Layer (SSL) một tiêu chuẩn an ninh công nghệ toàn cầu sẽ làgiải pháp mà bạn đang tìm kiếm Việc sử dụng SSL sẽ cung cấp tính riêng tư và bảo mậttốt hơn kết nối Internet không được mã hóa Nó giảm nguy cơ bên thứ ba có thể chặn vàlạm dụng và khai thác thông tin Chúng ta sẽ thấy an toàn, tin cậy hơn trong việc chia sẻthông tin thanh toán và thông tin cá nhân với các nhà cung cấp dịch vụ khi biết họ đang

sử dụng giao thức SSL

Trang 6

Chương 1: Tổng quan về giao thức SSL

1.1 Tìm hiểu SSL là gì ?

SSL (Secure Socket Layer) là giao thức để cung cấp dịch vụ bảo mật cho lưu lượng

dữ liệu trên kênh truyền, nó sử dụng tổ hợp nhiều giải thuật nhằm mã hóa để đảm bảo quátrình trao đổi thông tin trên mạng được bảo mật Việc mã hóa dữ liệu diễn ra một cáchtrong suốt, hỗ trợ nhiều giao thức khác chạy trên nền giao thức TCP

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 quarấ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átnà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àothô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 đã kết hợp những yếu tố sau để thiết lập được một giao dịch antoàn:

Xác thực: đảm bảo tính xác thực của trang mà bạn 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ủa người

sử dụng

Mã hoá: đảm bảo thông tin không thể bị truy cập bởi đối tượng thứ ba Để loại trừ

việc nghe trộm những thông tin “nhạy cảm” khi nó được truyền qua Internet, dữliệu phải được mã hoá để không thể bị đọc được bởi những người khác ngoàingười gửi và người nhận

 Toàn vẹn dữ liệu: đảm bảo thông tin không bị sai lệch và nó phải thể hiện chínhxác thông tin gốc gửi đến

Với việc sử dụng SSL, các Web site có thể cung cấp 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 KhiWeb 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 thanhtrạ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

Trang 7

“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.

SSL được sử dụng phổ biến nhất trên Web, Mail, Ftp

Giao thức SSL được phát triển bởi Netscape, ngày nay giao thức SSL được sử dụngrộng rãi trên World Wide Web trong việc xác thực và mã hóa thông tin giữa client vàsever Tổ chức IETF (Internet Engineering Task Force ) đã chuẩn hóa SSL và đặt lại làTLS (Transport Layer Security) Mặc dù là ó sự thay đổi về tên nhưng TLS chỉ là mộtphiên bản mới của SSL Phiên bản TLS 1.0 tương đương với phiên bản SSL 3.1 Tuynhiên SSL là thuật ngữ được sử dụng phổ biến hơn

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ợ chorấ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 giao thứcứng dụng tầng cao hơn như là HTTP (Hyper Text Transport Protocol), IMAP ( InternetMessaging Access Protocol) và FTP (File Transport Protocol) SSL được 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 và đang được sửdụng chính cho các giao dịch trên Internet

SSL không phải là một giao thức đơn lẻ mà là một tập các thủ tục đã được chuẩnhóa để thực hiện các nhiệm vụ bảo mật sau

 Xác thực Server: Cho phép người sử dụng xác thực được server muốn kết nối Lúcnày, phía browser sử dụng các kỹ thuật mã hóa công khai để chắc chắn rằngcertificate và public ID 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 Điều nàyrất quan trọng đối với người dùng

 Xác thực Client: Cho phép phía 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ã hóa công khai để kiểm tra xemCertificate và Public ID của server có giá tị hay không và được cấp phát bởi một

CA trong danh sách các CA đáng tin cậy của server không Điều này rất quantrọng đối với các nhà cung cấp

 Mã hóa kết nối: Tất cả các thông tin trao đổi giữa client và server được mã hóatrê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 đốivới cả 2 bên khi có giao dịch mang tính riêng tư Ngoài ra tất cả các dữ liệu được

Trang 8

gửi đi trên một kết nối SSL đã được mã hóa còn được bảo vệ nhờ cơ chế tự độngphát hiện các xáo trộn, thay đổi trong dữ liệu.

1.2 Lịch sử của giao thức SSL.

Như chúng ta đã biết có hai giao thức bảo mật quan trọng lớp vận chuyển (LayerTransport) có tầm quan trọng cao nhất đối với sự bảo mật của các trình ứng dụng trênWeb: đó là hai giao thức SSL và TLS

Nói chung, có một số khả năng để bảo vệ bằng mật mã lưu lượng dữ liệu HTTP Ví

dụ, vào những năm 1990, tập đoàn CommerceNet đã đề xuất S-HTTP mà về cơ bản làmột cải tiến bảo mật của HTTP Một phần thực thi của S-HTTP đã làm cho có sẵn côngcộng trong một phiên bản được chỉnh sửa của trình duyệt Mosaic NCSA mà những ngườidùng phải mua (trái với trình duyệt Mo NCSA "chuẩn" có sẵn công cộng và miễn phí trênInternet)

Tuy nhiên, cùng thời điểm Netscape Communication đã giới thiệu SSL và một giaothức tương ứng với phiên bản đầu tiên của Netscape Navigator, Trái với tập đoànCommerceNet, Netscape Communications đã không tính phí các khách hàng của nó vềviệc thực thi giao thức bảo mật của nó Kết quả, SSL trở thành giao thức nổi bật để cungcấp các dịch vụ bảo mật cho lưu lượng dữ liệu HTTP 1994 và S-HTTP lặng lẽ biến mất.Cho đến bây giờ, có ba phiên bản của SSL:

 SSL 1.0: được sử dụng nội bộ chỉ bởi Netscape Communications Nó chứa một sốkhiếm khuyết nghiêm trọng và không bao giờ được tung ra bên ngoài

 SSL 2.0: được kết nhập vào Netscape Communications 1.0 đến 2.x Nó có một sốđiểm yếu liên quan đến sự hiện thân cụ thể của cuộc tấn công của đối tượng trunggian Trong một nỗ lực nhằm dùng sự không chắc chắn của công chúng về bảomật của SSL, Microsoft cũng đã giới thiệu giao thức PCT (Private CommunicationTechnology) cạnh tranh trong lần tung ra Internet Explorer đầu tiên của nó vàonăm 1996

 SLL 3.0: Netscape Communications đã phản ứng lại sự thách thức PCT củaMicrosoft bằng cách giới thiệu SSL 3.0 vốn giải quyết các vấn đề trong SSL 2.0

và thêm một số tính năng mới Vào thời điểm này, Microsoft nhượng bộ và đồng ý

Trang 9

hỗ trợ SSL trong tất cả các phiên bản phần mềm dựa vào TCP/IP của nó (mặc dùphiên bản riêng của nó vẫn hỗ trợ PCT cho sự tương thích ngược).

Thông số kỹ thuật mới nhất của SSL 3.0 đã được tung ra chính thức vào tháng 3năm 1996 Nó được thực thi trong tất cả các trình duyệt chính bao gồm ví dụ MicrosoftInternet Explorer 3.0 (và các phiên bản cao hơn), Netscape Navigator 3.0 (và các phiênbản cao hơn), và Open Như được thảo luận ở phần sau trong chương này, SSL 3.0 đãđược điều chỉnh bởi IETF TLS WG Thực tế, thông số kỹ thuật giao thức TLS 1.0 dẫnxuất từ SSL 3.0

1.3 Lợi ích khi dùng giao thức SSL

 Xác thực website thiết lập kết nối an toàn các phiên giao dịch trên Internet

 Nâng cao hình ảnh, thương hiệu và uy tín doanh nghiệp vì sự bảo mật và an toàn

 Bảo mật các giao dịch giữa khách hàng và doanh nghiệp, các dịch vụ truy nhập hệthống

 Bảo mật webmail và các ứng dụng như Outlook Web Access, Exchange, và OfficeCommunication Server

 Bảo mật các ứng dụng ảo hóa như Citrix Delivery Platform hoặc các ứng dụngđiện toán đám mây;

 Bảo mật dịch vụ FTP;

 Bảo mật truy cập control panel;

 Bảo mật các dịch vụ truyền dữ liệu trong mạng nội bộ, file sharing, extranet;

 Bảo mật VPN Access Servers, Citrix Access Gateway …

Website không được xác thực và bảo mật sẽ luôn ẩn chứa nguy cơ bị xâm nhập dữliệu, dẫn đến hậu quả khách hàng không tin tưởng sử dụng dịch vụ

1.4 Một số dịch vụ mạng cơ bản

1.4.1 Dịch vụ HTTP

HTTP là chữ viết tắt từ HyperText Transfer Protocol (giao thức truyền tải siêu vănbản) Nó là giao thức cơ bản mà World Wide Web sử dụng HTTP xác định cách cácthông điệp (các file văn bản, hình ảnh đồ hoạ, âm thanh, video, và các file multimedia

Trang 10

khác) được định dạng và truyền tải ra sao, và những hành động nào mà các Web server(máy chủ Web) và các trình duyệt Web (browser) phải làm để đáp ứng các lệnh rất đadạng Chẳng hạn, khi bạn gõ một địa chỉ Web URL vào trình duyệt Web, một lệnh HTTP

sẽ được gửi tới Web server để ra lệnh và hướng dẫn nó tìm đúng trang Web được yêu cầu

và kéo về mở trên trình duyệt Web Nói nôm na hơn, HTTP là giao thức truyền tải cácfile từ một Web server vào một trình duyệt Web để người dùng có thể xem một trangWeb đang hiện diện trên Internet.HTTP là một giao thức ứng dụng của bộ giao thức TCP/

IP (các giao thức nền tảng cho Internet)

1.4.2 Dịch vụ FTP

FTP viết tắt từ File Transfer Protocol, một giao thức truyền tải tập tin từ một máytính đến máy tính khác thông qua một mạng TCP hoặc qua mạng Internet Thông quagiao thức FTP, người dùng có thể tải dữ liệu như hình ảnh, văn bản, các tập tin media(nhạc, video) từ máy tính của mình lên máy chủ đang đặt ở một nơi khác hoặc tải cáctập tin có trên máy chủ về máy tính cá nhân

Giao thức FTP được sử dụng nhiều nhất vào mục đích truyền tải dữ liệu Việc bộphận IT của công ty tạo tài khoản FTP cho bạn là để có thể gửi những dữ liệu dung lượnglớn một cách nhanh chóng, vì không thể gửi qua email hay các phương thức sao chép vật

lý khác như CD hay USB flash Khi sử dụng FTP được cấp, bạn có thể gửi các tập tin códung lượng vài trăm MB một cách dễ dàng, không cần phải lo lắng về việc người nhậnkhông nhận được file

Hơn nữa, bạn có thể cùng lúc tải (upload/ download) nhiều tập tin cùng một lúc đểtiết kiệm thời gian Tuy nhiên, yếu tố tốc độ đường truyền cũng đóng vai trò quan trọngtrong việc truyền tải dữ liệu qua FTP

FTP cũng là giao thức dùng để truyền tải dữ liệu web lên máy chủ web.

1.4.3 Dịch vụ POP

POP (Post Office Protocol) POP là một giao thức Internet mail server phục vụ việclưu trữ các thông điệp được gởi đến hệ thống Nó hoạt động kết hợp với giao thức SMTP(Simple Mail Transfer Protocol: Giao thức truyền thư đơn giản), cung cấp các dịch vụ

Trang 11

vận chuyển tin nhắn, yêu cầu chuyển thư từ hệ thống nầy đến hệ thống khác Tuy nhiên,một giao thức mới được gọi là IMAP4 (Internet Mail Access Protocol, version 4: Giaothức truy cập thư Internet, phiên bản 4) đang thay thế POP trong nhiều hệ thống cài đặt.POP và SMTP được liên kết một cách chặt chẽ Một mail server (server phục vụ thưđiện tử) phải chạy cả hai giao thức nếu nó dùng để nhận, lưu trữ hay gửi tiếp các thôngđiệp Công việc trao đổi các thông điệp được điều hành bởi giao thức SMTP Các thôngđiệp được dẫn đường từ mail server nầy đến mail server khác cho đến khi chúng đếnđích Sau đó, SMTP sắp xếp các thông điệp vào POP server để nó đặt chúng vào một hộpthư Nếu POP server đích đang ở chế độ offline, thì POP server sau cùng nhận đượcthông điệp sẽ giữ nó lại cho đến khi nó có thể được gửi tiếp đến POP server đích RồiPOP server đích đặt thư nầy trong hộp thư của người nhận để họ lấy xem.

Mô hình hộp thư tập trung dạng POP bảo đảm rằng người nhận có thể nhận thư của

họ ngay khi máy tính của họ không bật, bởi vì thư nầy được quản lý bởi POP server chođến khi nó được lấy ra POP server theo dõi các người dùng để đảm bảo rằng chỉ cóngười mà thư chỉ định gửi cho mới truy cập thư trong hộp thư Địa chỉ e-mail và mật mãcủa người dùng đủ để chứng minh nhận dạng của họ, mặc dù hiện nay đã có nhiều hệthống sử dụng các chứng nhận an toàn hơn

Người dùng chạy trình nhận mail tương thích với giao thức SMTP để nối vào mộtPOP server và tải về thư từ các hộp thư của họ Ngay khi người dùng nối kết vào, thư sẽđược tải về ngay POP không cho phép người dùng giữ một số thư của họ tại POP Server

để xem xét lại sau, có ích khi người dùng đang làm việc trên máy trạm của người khác.Giao thức IMAP cho phép các người dùng tải về các thông điệp có chọn lọc và giữ chúng

ở trạng thái unread (chưa đọc) tại mail server để lúc khác đọc

Các hệ thống mạng trong nhà có thể bao gồm một POP server đơn để tổ chức tất cảcác hộp thư của người dùng Các tập đoàn lớn có thể có các POP server riêng cho mỗiphòng hay khu vực Internet là hệ thống mạng lớn nhất gồm rất nhiều POP server trêntoàn cầu Những trường học, công ty, nhà cung cấp dịch vụ Internet (Internet ServiceProvider) duy trì nối kết của các POP server với Internet để cho phép tất cả mọi ngườitrên khắp thế giới trao đổi thư từ với nhau Ví dụ, một POP Server của ISP tổ chức hộpthư cho khách hàng của ISP đó

Trang 12

SMTP dùng cổng 25 của giao thức TCP Để xác định trình chủ SMTP của một tênmiền nào đấy (domain name), người ta dùng một mẫu tin MX (Mail eXchange – Trao đổithư) của DNS (Domain Name System – Hệ thống tên miền)

SMTP bắt đầu được sử dụng rộng rãi vào những năm đầu thập niên kỷ 1980 Tạithời điểm đó, SMTP chỉ là một phần mềm bổ sung của bộ trình ứng dụng đồng giao thứcUUCP (Unix to Unix CoPy – Sao chép từ máy Unix sang máy Unix) nhưng tiện lợi hơntrong việc truyền tải thư điện tử giữa các máy vi tính – những máy này thỉnh thoảng mớilại được kết nối với nhau một lần, để truyền thông dữ liệu Thực ra, SMTP sẽ làm việc tốthơn nếu các máy gửi và máy nhận được kết nối liên tục

SMTP là một nghi thức của Internet dùng để gửi thư Khi dùng SMTP để gửi thư,bạn thường phải dùng một chương trình Sendmail(Sendmail Deamon) Có thủ tục khácgọi là QMail nhưng thường thường Sendmail vẫn phổ biến hơn cả mặc dù Sendmaili làmột nghi thức gửi thư rất ko an toàn

Chương trình sendmail có cổng mặc định là 25, cổng này mở để đợi máy khách kếtnối vào để gửi thư SMTP có thể bị kẻ xấu lợi dụng để dùng vào mục đích ko tốt vìSMTP ko dùng hệ thống kiểm tra người dùng Bạn chỉ cần kết nối vào server và đưa rađịa chỉ nội dung thư là thư đó đựoc gửi đi ko cần biết bạn là ai Hiện trên thế giới có rấtnhiều SMTP server

Một số dịch vụ mạng dùng SSL sử dùng các số cổng chuyên dụng dành riêng đượcquy định bởi IANA (Internet Asingned Numbers Authority)

Trang 13

4 giao thức con này được phân làm 2 phần chính là:

 Handshake protocols layer

 SSL record layer

Vị trí của các giao thức trên, tương ứng với mô hình TCP/IP được minh hoạ theohình sau:

Trang 14

Hình 2: Giao thức SSL trong mô hình TCP/IPTheo biểu đồ trên, SSL nằm trong tầng ứng dụng của giao thức TCP/IP Do đặcđiểm này, SSL có thể được dùng trong hầu hết mọi hệ điều hành hỗ trợ TCP/IP mà khôngcần phải chỉnh sửa nhân của hệ thống hoặc ngăn xếp TCP/IP Điều này mang lại cho SSL

sự cải tiến mạnh mẽ so với các giao thức khác như IPSec (IP Security Protocol) Vì giaothức này đòi hỏi nhân hệ điều hành phải hỗ trợ và chỉnh sửa ngăn xếp TCP/IP

2.2 Các giao thức con trong giao thức SSL

Hình 3: Các giao thức con trong giao thức SSL

Thực tế giao thức SSL không phải là một giao thức đơn mà là một bộ các giao thức

Trang 15

2.2.1 Handshake Protocol

Handshake protocol là bộ giao thức SSL phức tạp nhất giao thức này chịu tráchnhiệm thiết lập hoặc phục hồi lại các phiên làm việc an toàn chính vì vậy giao thức này

có các chức năng chính sau:

+ Authentication( thẩm định): Xác nhận server cho các client, các tùy chọn, xác

thực các client thông qua các giấy chứng nhận(certificates) bằng các public và privatekeys

- Giấy chứng nhận là một hình thức nhận dạng bằng kỹ thuật số được ban hành bởimột tổ chức có thẩm quyền cấp giấy chứng nhận(CA), nó chứa các thông tin nhận diện,thời gian hiệu lực, một khóa công khai, một serial, và chữ ký kĩ thuật của nhà phát hành

Hình 4: Server và client đăng ký giấy chứng nhận từ CA

- Với mục đích xác thực, Handshake protocols sử dụng giấy chứng nhận X.509 đểxác minh danh tính của các bên nắm giữ giấy chứng nhận, đồng thời Handshakeprotocols sử dụng X.509 để thực hiện các việc sau:

 Tham gia vào quá trình băm dữ liệu.trong quá trình này thì private key do CAcung cấp sẽ được các thuật toán băm sử dụng vào quá trình tạo ra giá trị băm(MAC)

 Thiết lập độ dài của key 512 bit, 1024 bit hoặc hơn Độ dài của key sẽ tác độngđến sự mã hóa dữ liệu, khi key có độ dài lớn thì việc mã hóa dữ liệu sẽ lâu hơnnhưng bù là nó sẽ đảm bảo về khả năng bảo mật của dữ liệu và ngược lại Cácthuật toán mã hóa của RSA hoặc DSA thường sử dụng key 512 bit, 1024 bit hoặc

2018 bit

Trang 16

Hình 5: Quá trình tạo giấy chứng chỉ (X.509)

- CA (Certificate authority) là một bên thứ ba đáng tin cậy CA có thể xác nhận danhtính của bên yêu cầu cấp giấy chứng nhận (thường là một user hoặc máy tính), và sau đócấp giấy chứng nhận, public keys cho bên yêu cầu, CA cũng gia hạn, thu hồi giấy chứngnhận khi cần thiết Hiện nay có nhiều tổ chức cung cấp giấy chứng nhận như là:

 StartCom,Cacert các tổ chức này chuyên cung cấp các giấy chứng nhận miễn phí

 Đối với Verisign,Comodo,DigiCert,Entrust,GlobalSign… thì thu phí

Chức năng xác thực sẽ thực hiện 2 phần chính đó là:

+ Xác thực 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 client sẽ sử dụng các thuật toán công khai để chắc rằng giấy chứngnhận(certificate) và public ID của server là có giá trị và được cấp phát bởi một CA trongdanh sách các CA đáng tin cậy của Client Điều này rất quan trọng đối với người sửdụng Ví dụ như gửi mã số credit card qua mạng thì người dùng thực sự muốn kiểm traserver nhận thông tin này có đúng là server mà họ định gửi đến hay không

Trang 17

Hình 6: Client xác thực Server

+ Xác thực client: Cho phép phía server xác thực được người dùng muốn kết nối.

Phía server cũng sử dụng các kỹ thuật mã hóa công khai để kiểm tra xem Certificate vàpublic ID của server có giá trị hay không và được cấp phát bởi một CA đáng tin cậy củaserver không Điều này rất quan trọng đối với nhà cung cấp Ví dụ như một ngân hàngđịnh gửi các thông tin tài chính mang tính bảo mật tới một khách hàng thì họ rất muốnkiểm tra định danh của người nhận

Trang 18

Hình 7: Server xác thực Client+ Trong một kết nối logic được thiết lập giữa client và server và ngược lại thì cáctham số sau sẽ được thỏa thuận

 Version: phiên bản SSL mà hai bên server và client đang dùng

 Random: dữ liệu chứa một tem thời gian 32 bít và một số ngẫu nhiên dài 28 byte

 Session ID: Định danh cho phiên làm việc của server và client

 Server public key: key công khai của server, client dùng key này để mã hóa MACcủa client, server sẽ dùng private key của nó để giải mã nhằm xác thực dữ liệuđến

 Server private key: như đã nói ở trên key này dùng để giải mã MAC

Trang 19

 Client public key: : key công khai của client, server dùng key này để mã hóa MACcủa server, client sẽ dùng private key của nó để giải mã nhằm xác thực dữ liệuđến.

 Client private key: dùng để giải mã dữ liệu MAC để xác thực thông tin của server

 Server write key: là session key của server dùng để mã hóa dữ liệu, client sẽ dùngkey này để giải mã dữ liệu mà client gửi tới

 Server write key: là session key của server dùng để mã hóa dữ liệu, client sẽ dùngkey này để giải mã dữ liệu

 Sequence number (số thứ tự): server và client quản lý một cách riêng rẽ, các số thứ

tự này để đánh số các thông điệp gửi và nhận cho mỗi kết nối

2.2.2 Change CipherSpec Protocol

Đây là giao thức SSL đơn giản nhất Nó chỉ chứa một thông điệp mang giá trị 1.Mục đích duy nhất của thông điệp này là làm chuyển trạng thái của một phiên từ “đangchờ” (pending) sang “bền vững” (fixed) Ví dụ khi 2 bên qui ước bộ giao thức nào sẽ sửdụng Cả client và server đều phải gửi thông điệp loại này cho bên đối tác, sau khi đã traođổi xong thì coi như hai bên đã đồng ý với nhau

2.2.3 Alert Protocol

Alert Protocol được các bên sử dụng để mang các thông điệp của phiên liên quan tớiviệc trao đổi dữ liệu và hoạt động của các giao thức Mỗi thông điệp của giao thức nàygồm 2 byte Byte thứ nhất chứa một trong hai giá trị là warning (1) và fatal (2) xác địnhtính nghiêm trọng của thông điệp Khi một trong 2 bên gửi thông điệp có giá trị bít đầutiên là fatal (2) thì phiên làm việc giữa 2 bên sẽ kết thúc ngay lập tức Byte tiếp theo củathông điệp chứa mã lỗi xảy ra trong phiên giao dịch SSL

Trang 20

phân mảnh dữ liệu cần truyền, đóng gói, bổ sung header tạo thành một đối tượng gọi làbản ghi (record), bản ghi đó được mã hoá và có thể truyền bằng giao thức TCP

Trong mô tả của RFC 2246 thì Record Layer có 4 chức năng sau:

 Tập hợp những mảng dữ liệu từ ứng dụng thành các khối để quản lý (và tập hợplại các dữ liệu đến chuyển đến lớp ứng dụng)

 Nén và giải nén dữ liệu chuyển đến

 Sử dụng Message Authentication Code (MAC) để xác minh dữ liệu đến

 Mã hoá dữ liệu băm và giải mã dữ liệu đến

2.3 Các thuật toán mã hóa

Tất cả các thông tin trao đổi giữa client và server sẽ được mã hóa trên đường truyềnnhằ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ó giaodị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 đổi trong

dữ liệu.( đó là các thuật toán băm- hash algorithm)

SSL hỗ trợ nhiều thuật toán mã hoá Các thuật toán mã hoá (cryptographicalgorithm hay còn gọi là cipher) là các hàm toán học được sử dụng để mã hoá thông tin.SSL áp dụng các thuật toán này để thực hiện chứng thực server và client, truyền tải cáccertifitaces và thiết lập các khoá của từng phiên giao dịch (sesion key) Client và server

có thể hỗ trợ các bộ mật mã (cipher suite) khác nhau tuỳ thuộc vào nhiều yếu tố nhưphiên bản SSL đang dùng, chính sách của các tổ chức về độ dài khoá mà họ cảm thấy antoàn, điều này liên quan đến mức độ bảo mật của thông tin

Các thuật toán mã hoá và xác thực của SSL được sử dụng bao gồm nhiều loại tuỳtheo phiên bản SSL hỗ trợ nhưng chung quy chúng thuộc 2 kiểu mã hoá:

2.3.1 Kiểu mã hóa đối xứng

Phương pháp mã hoá đối xứng là phương pháp dùng khoá riêng, nghĩa là cả bên gửi

và bên nhận phải biết cùng một khóa Vấn đề chính trong phương pháp này là bên gửi vàbên nhận phải trao đổi khóa một cách an toàn

Trang 21

Ví dụ:Khi người dùng A có thông tin quan trọng muốn gửi cho người dùng B có nộidung là “tài khoản ngân hàng là son 15345” chẳng hạn và A muốn mã hoá dữ liệu trướckhi gửi cho B, thì A sẽ sử dụng khoá ví dụ là “key 1” chẳng hạn và tiến hành mã hoá nóthành chuỗi “jgsdfsljfdfjdeue”.

Khi đó B nhận được thông tin từ A gửi cho và dùng chính khoá là “key 1” để giải

mã thông tin mã hoá đó thành dữ liệu có ý nghĩa mà A đã gửi cho

Hình 8: Qúa trình sử dụng key đối xứng

Các thuật toán thường sử dụng của kiểu mã hóa đối xứng :

DES - Data Encryption Standard : DES là kỹ thuật bảo mật khóa riêng dùng

thuật toán để mã hóa theo từng khối 64-bit với khóa 56-bit Thuật toán nầy được giảithích trong mục “Cryptography” Khóa 56-bit cho phép khoảng một triệu mũ 4 tổ hợpkhác nhau Ngoài ra, mỗi khối trong dòng dữ liệu được mã hóa bằng các biến dạng khóakhác nhau, làm khó phát hiện sơ đồ mã hóa trong các thông điệp dài

- DES có 3 giai đoạn :

Hình 9: Các giai đoạn của DES

Ngày đăng: 18/10/2014, 15:56

HÌNH ẢNH LIÊN QUAN

Hình 1: Các dịch vụ sử dụng SSL. - Triển khai giao thức SSL cho các dịch vụ mạng cơ bản
Hình 1 Các dịch vụ sử dụng SSL (Trang 12)
Hình 3: Các giao thức con trong giao thức SSL. - Triển khai giao thức SSL cho các dịch vụ mạng cơ bản
Hình 3 Các giao thức con trong giao thức SSL (Trang 13)
Hình 2: Giao thức SSL trong mô hình TCP/IP - Triển khai giao thức SSL cho các dịch vụ mạng cơ bản
Hình 2 Giao thức SSL trong mô hình TCP/IP (Trang 13)
Hình 5: Quá trình tạo giấy chứng chỉ (X.509) . - Triển khai giao thức SSL cho các dịch vụ mạng cơ bản
Hình 5 Quá trình tạo giấy chứng chỉ (X.509) (Trang 15)
Hình 6: Client xác thực Server - Triển khai giao thức SSL cho các dịch vụ mạng cơ bản
Hình 6 Client xác thực Server (Trang 16)
Hình 7: Server xác thực Client - Triển khai giao thức SSL cho các dịch vụ mạng cơ bản
Hình 7 Server xác thực Client (Trang 17)
Hình 8: Qúa trình sử dụng key đối xứng. - Triển khai giao thức SSL cho các dịch vụ mạng cơ bản
Hình 8 Qúa trình sử dụng key đối xứng (Trang 20)
Hình 11: Quá trình sử dụng key bất đối xứng giữa người dùng A và B - Triển khai giao thức SSL cho các dịch vụ mạng cơ bản
Hình 11 Quá trình sử dụng key bất đối xứng giữa người dùng A và B (Trang 22)
Hình 10: Quá trình sử dụng key bất đối xứng. - Triển khai giao thức SSL cho các dịch vụ mạng cơ bản
Hình 10 Quá trình sử dụng key bất đối xứng (Trang 22)
Hình 12: Cơ chế hoạt động của SSL. - Triển khai giao thức SSL cho các dịch vụ mạng cơ bản
Hình 12 Cơ chế hoạt động của SSL (Trang 25)
Hình 13: Giao thức HTTPS thường dùng. - Triển khai giao thức SSL cho các dịch vụ mạng cơ bản
Hình 13 Giao thức HTTPS thường dùng (Trang 27)
Hình 14: Qúa trình Connect từ Web Browser đến Web Server. - Triển khai giao thức SSL cho các dịch vụ mạng cơ bản
Hình 14 Qúa trình Connect từ Web Browser đến Web Server (Trang 28)
Hình 15: Tấn công giả mạo Certificate - Triển khai giao thức SSL cho các dịch vụ mạng cơ bản
Hình 15 Tấn công giả mạo Certificate (Trang 29)
Hình 20: Xem trang web có dùng SSL hay không - Triển khai giao thức SSL cho các dịch vụ mạng cơ bản
Hình 20 Xem trang web có dùng SSL hay không (Trang 40)
Hình 21: Nhận dạng tính bảo mật trang web dùng SSL - Triển khai giao thức SSL cho các dịch vụ mạng cơ bản
Hình 21 Nhận dạng tính bảo mật trang web dùng SSL (Trang 41)

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