tìm hiểu ssl – mô phỏng ssl bằng https

36 674 4
tìm hiểu ssl – mô phỏng ssl bằng https

Đ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

1 Lời Mở Đầu Ngày nay với sự bùng nổ công nghệ thông tin, các hoạt động của con người trên môi trường mạng internet đã trở nên vô cùng phổ biến, các công cụ ngày càng phát triển giúp con người tương tác thân thiện hơn với môi trường mạng. Đi kèm với sự phát triển đó việc bảo mật thông tin trên môi trường mạng trở nên cấp thiết. Có rất nhiều giải pháp bảo mật đang được sử dụng. Trong báo cáo này em xin đề cập đến chứng thực SSL. 2 Chương 1: Tổng Quan SSL 1.1. Giới thiệu chung về SSL SSL (Secure Sockets Layer) là giao thức đa mục đích được thiết kế để tạo ra các giao tiếp giữa hai chươ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, được sử dụng trong giao dịch điện tử như truyền số liệu thẻ tín dụng, mật khẩu, số bí mật cá nhân (PIN) trên Internet. Trong các giao dịch điện tử trên mạng và trong các giao dịch thanh toán trực tuyến, thông tin/dữ liệu trên môi trường mạng Internet không 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 Lớp cổng bảo mật SSL (Secure Socket Layer) - 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. Chúng ta thường gặp hầu hết giao thức ống ảo ở tầng transport, xa hơn nữa, là giao thức Secure Sockets Layer (SSL) nằm trong những thứ khác, bảo mật những tác vụ HTML (Hypertext Markup Language) trên Web. Khi chúng ta gặp, SSL có rất nhiều những ứng dụng và có thể dễ dàng được sử dụng để xây dựng mục đích tổng quát những đường ống ảo ở tầng Transport. SSL hoạt động trên vùng rộng nghĩa là những tiện ích của TCPdump và SSLdump, hãy xem cách thức chúng ta có thể sử dụng để xây dựng một đường ống ảo giữa hai chương trình hoặc cả hai cái không cần đến những quan tâm đến SSL, cuối cùng hãy xem cách chúng ta có thể sử dụng SSL để xây dựng một VPN giữa hai mạng. 3 4 1.2. Tổng quan về SSL SSL là một sự xuất hiện bổ sung của VPN trên thị trường. Nó được thiết kế cho những giải pháp truy cập từ xa và không cung cấp những kết nối site-to-site. SSL VPNs cung cấp vấn đề bảo mật truy cập đầu tiên những ứng dụng web. Bởi vì SSL sử dụng trình duyệt web, điển hình là những người sử dụng không phải chạy bất kỳ phần mềm client đặc biệt nào trên những máy tính của họ. SSL VPNs hoạt động ở tầng phiên (session layer) của hình tiêu chuẩn OSI. Và bởi vì client là một trình duyệt web, chỉ những ứng dụng đó mà chúng hổ trợ trình duyệt web, bằng mặc định, nó sẽ làm việc với một giải pháp VPN. Vì thế những ứng dụng như Telnet, FTP, SMTP, POP3, multimedia, hệ thống điện thoại di động IP, điều khiển desktop từ xa, và những cái khác không làm việc với SSL VPNs bởi vì chúng không sử dụng trình duyệt web cho giao diện đầu cuối người dùng của họ. Tất nhiên, 5 nhiều nhà cung cấp cũng sử dụng cả java hoặc ActiveX để nâng cao SSL VPNs bằng việc hổ trợ những ứng dụng không phải là HTTP, những khách hàng là POP3, SMTP e-mail, và tập tin Microsoft Windows và chia sẻ máy in. Ví dụ sự bổ sung SSL VPNs của Cisco hỗ trợ những ứng dụng không phải là web chẳng hạn Citrix, Windows Terminal Services, và nhiều cái khác. Thêm vào đó, một vài nhà cung cấp sử dụng java hay ActiveX để phân phối những thành phần SSL VPNs khác, chẳng hạn như thêm vào những chức năng bảo mật cho việc xóa hết những dấu vết từ một hoạt động của một khách hàng trên máy tính của họ sau khi SSL VPNs đã được kết thúc. Cisco chỉ sự bổ xung SSL VPN như là WebVPN. 1.3. Hoạt động của 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ả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 (browser), do đó được sử dụng rộng rãi trong nhiều ứng dụng khác nhau trên môi trường Internet. Toàn bộ cơ chế hoạt động và hệ thống thuật toán mã hoá sử dụng trong SSL được phổ biến công khai, trừ khoá chia sẻ tạm thời được sinh ra tại thời điểm trao đổi giữa hai ứng dụng là tạo 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 đòi hỏ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 qua chứng chỉ điện tử (digital certificate) dựa trên mật mã công khai (thí dụ RSA). Sau đây ta xem xét một cách khái quát cơ chế hoạt động của SSL để phân tích cấp độ an toàn của nó và các khả nǎng áp dụng trong các ứng dụng nhạy cảm, đặc biệt là các ứng dụng về thương mại và thanh toán điện tử. Giao thức SSL dựa trên hai nhóm con giao thức là giao thức "bắt tay" (handshake protocol) và giao thức "bản ghi" (record protocol). Giao thức bắt tay xác định các tham số giao dịch giữa hai đối tượng có nhu cầu trao đổi thông tin hoặc dữ liệu, còn giao thức bản ghi xác định khuôn dạng cho tiến hành mã hoá và truyền tin hai chiều giữa hai đối tượng đó. Khi hai ứng dụng máy tính, thí dụ giữa một trình duyệt web và máy chủ web, làm việc với nhau, máy chủ và máy khách sẽ trao đổi "lời chào (hello) dưới dạng các thông điệp cho nhau với xuất phát đầu tiên chủ động từ máy chủ, 6 đồng thời xác định các chuẩn về thuật toán mã hoá và nén số liệu có thể được áp dụng giữa hai ứng dụng. Ngoài ra, các ứng dụng còn trao đổi "số nhận dạng/khoá theo phiên" (session ID, session key) duy nhất cho lần làm việc đó. Sau đó ứng dụng khách (trình duyệt) yêu cầu có chứng chỉ điện tử (digital certificate) xác thực của ứng dụng chủ (web server). Chứng chỉ điện tử thường được xác nhận rộng rãi bởi một cơ quan trung gian (Thẩm quyền xác nhận CA - Certificate Authority) như RSA Data Sercurity hay VeriSign Inc., một dạng tổ chức độc lập, trung lập và có uy tín. Các tổ chức này cung cấp dịch vụ "xác nhận" số nhận dạng của một công ty và phát hành chứng chỉ duy nhất cho công ty đó như là bằng chứng nhận dạng (identity) cho các giao dịch trên mạng, ở đây là các máy chủ webserver. Sau khi kiểm tra chứng chỉ điện tử của máy chủ (sử dụng thuật toán mật mã công khai, như RSA tại trình máy trạm), ứng dụng máy trạm sử dụng các thông tin trong chứng chỉ điện tử để mã hoá thông điệp gửi lại máy chủ mà chỉ có máy chủ đó có thể giải mã. Trên cơ sở đó, hai ứng dụng trao đổi khoá chính (master key) - khoá bí mật hay khoá đối xứng - để làm cơ sở cho việc mã hoá luồng thông tin/dữ liệu qua lại giữa hai ứng dụng chủ khách. Toàn bộ cấp độ bảo mật và an toàn của thông tin/dữ liệu phụ thuộc vào một số tham số: • Số nhận dạng theo phiên làm việc ngẫu nhiên. • Cấp độ bảo mật của các thuật toán bảo mật áp dụng cho SSL. • Độ dài của khoá chính (key length) sử dụng cho lược đồ mã hoá thông tin. 1.4. Lịch sử phát triển 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 (Layer Transport) 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ên Web: đó là hai giao thức SSL và TLS. 7 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ông cộ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ười dù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ên Internet). Tuy nhiên, cùng thời điểm Netscape Communication đã giới thiệu SSL và một giao thức tương ứng với phiên bản đầu tiên của Netscape Navigator, Trái với tập đoàn CommerceNet, 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 để cung cấ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 trung gian. 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ảo mật của SSL, Microsoft cũng đã giới thiệu giao thức PCT (Private Communication Technology) cạnh tranh trong lần tung ra Internet Explorer đầu tiên của nó vào năm 1996. Netscape Communications đã phản ứng lại sự thách thức PCT của Microsoft 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 ý 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). 8 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 3 năm 1996. Nó được thực thi trong tất cả các trình duyệt chính bao gồm ví dụ Microsoft Internet Explorer 3.0 (và các phiên bản cao hơn), Netscape Navigator 3.0 (và các phiên bả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ẫn xuất từ SSL 3.0. Hai phần tiếp theo tập trung chỉ vào các giao thức SSL và TLS; giao thức PCT không được trình bầy thêm trong các bài viết sắp tới. 1.4. Ứng dụng SSL trong 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 ỏi và mờ. Tất cả phần lớn dựa và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ử (e- government) và tạo lòng tin cho khách hàng và công chúng. Qua phân tích ví dụ của bảo mật trong giao thức SSL, cho ta thấy mặt khác của vấn đề: khả nǎng lựa chọn công nghệ và mức độ phụ thuộc vào công nghệ, 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ệc triể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 ) cần phải được xây dựng dựa trên sơ đồ gồm các lớp bảo mật nhiều tầng độc lập (thí dụ: giao thức Giao 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ạng má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ật phá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à giao dịch thương mại điện tử của chúng ta cần thận trọng và cân nhắc. 9 Chương 2: Cấu Trúc Và Các Giao Thức Bảo Mật 2.1. Cấu trúc SSL Cấu trúc của SSL và giao thức SSL tương ứng được minh họa trong hình 1.1(Cấu trúc SSL và giao thức SSL). Theo hình này, SSL ám chỉ một lớp (bảo mật) trung gian giữa lớp vận chuyển (Transport Layer) và lớp ứng dụng (Application Layer). SSL được xếp lớp lên trên một dịch vụ vận chuyển định hướng nối kết và đáng tin cậy, chẳng hạn như được cung cấp bởi TCP. Về khả năng, nó có thể cung cấp các dịch vụ bảo mật cho các giao thức ứng dụng tùy ý dựa vào TCP chứ không chỉ HTTP. Thực tế, một ưu điểm chính của các giao thức bảo mật lớp vận chuyển (Transport layer) nói chung và giao thức SSL nói riêng là chúng độc lập với ứng dụng theo nghĩa là chúng có thể được sử dụng để bảo vệ bất kỳ giao thức ứng dụng được xếp lớp lên trên TCP một cách trong suốt. Hình 1.1 minh họa một số giao thức ứng dụng điển hình bao gồm NSIIOP, HTTP, FTP, Telnet, IMAP, IRC, và POP3. Tất cả chúng có thể được bảo vệ bằng cách xếp lớn chúng lên trên SSL (mẫu tự S được thêm vào trong các từ ghép giao thức tương ứng chỉ định việc sử dụng SSL). Tuy nhiên, chú ý rằng SSL có một định hướng client-server mạnh mẽ và thật sự không đáp ứng các yêu cầu của các giao thức ứng dụng ngang hàng. Hình 1.1: Cấu trúc của SSL và giao thức SSL 10 Tóm lại, giao thức SSL cung cấp sự bảo mật truyền thông vốn có ba đặc tính cơ bản: 1. Các bên giao tiếp (nghĩa là client và server) có thể xác thực nhau bằng cách sử dụng mật mã khóa chung. 2. Sự bí mật của lưu lượng dữ liệu được bảo vệ vì nối kết được mã hóa trong suốt sau khi một sự thiết lập quan hệ ban đầu và sự thương lượng khóa session đã xảy ra. 3. Tính xác thực và tính toàn vẹn của lưu lượng dữ liệu cũng được bảo vệ vì các thông báo được xác thực và được kiểm tra tính toàn vẹn một cách trong suốt bằng cách sử dụng MAC. Tuy nhiên, điều quan trọng cần lưu ý là SSL không ngăn các cuộc tấn công phân tích lưu lượng. Ví dụ, bằng cách xem xét các địa chỉ IP nguồn và đích không được mã hóa và các sô cổng TCP, hoặc xem xét lượng dữ liệu được truyền, một người phân tích lưu lượng vẫn có thể xác định các bên nào đang tương tác, các loại dịch vụ đang được sử dụng, và đôi khi ngay cả dành được thông tin về các mối quan hệ doanh nghiệp hoặc cá nhân. Hơn nữa, SSL không ngăn các cuộc tấn công có định hướng dựa vào phần thực thi TCP, chẳng hạn như các cuộc tấn công làm tràn ngập TCP SYN hoặc cưỡng đoạt session. Để sử dụng sự bảo vệ SSL, cả client lẫn server phải biết rằng phía bên kia đang sử dụng SSL. Nói chung, có ba khả năng để giải quyết vấn đề này: 1. Sử dụng các số cổng chuyên dụng được dành riêng bởi Internet Asigned Numbers Authority (IANA). Trong trường hợp này, một số cổng riêng biệt phải được gán cho mọi giao thức ứng dụng vốn sử dụng SSL. 2. Sử dụng số cổng chuẩn cho mọi giao thức ứng dụng và để thương lượng các tùy chọn bảo mật như là một phần của giao thức ứng dụng (bây giờ được chỉnh sửa đôi chút). [...]... sau đó Ngoài những giao thức con SSL này, một SSL Application Data Protocol được sử dụng để chuyển trực tiếp dữ liệu ứng dụng đến SSL Record Protocol SSL Handshake Protocol là giao thức con SSL chính được xếp lớp trên SSL Record Protocol Kết quả, các thông báo thiết lập quan hệ SSL được cung cấp cho lớp bản ghi SSL nơi chúng được bao bọc trong một hoặc nhiều bản ghi 17 SSL vốn được xử lý và được chuyển... một số giao thức con SSL được xếp lớp trên SSL Record Protocol Mỗi giao thức con có thể tham chiếu đến các loại thông báo cụ thể vốn được gửi bằng cách sử dụng SSL Record Protocol Thông số kỹ thuật SSL 3.0 xác định ba giao thức SSL sau đây: - Alert Protocol; - Handshake Protocol; - ChangeCipherSpec Protocol; Tóm lại, SSL Alert Protocol được sử dụng để chuyển các cảnh báo thông qua SSL Record Protocol... loạt các đoạn dữ liệu SSL làm dữ liệu xuất (hoặc còn được gọi là các bản ghi) nhỏ hơn hoặc bằng 16,383 byte Hình 1.5: Các bước SSL Record Protocol Các bước khác nhau của SSL Record Protocol vốn đi từ một đoạn dữ liệu thô đến một bản ghi SSL Plaintext (bước phân đoạn), SSL Compressed (bước nén) và SSL Ciphertext (bước mã hóa) được minh họa trong hình 1.5 Sau cùng, mỗi bản ghi SSL chứa các trường thông... bằng cách trỏ đường dẫn về file cernew.cer Quá trình chứng thực hoàn tất Bây giờ ta có thể vào web bằng link https: //www.hutech.edu Và trên thanh status xuất hiện ổ khóa màu vàng 34 3.4 Kết quả thu được Sau khi chứng thực bằng certificate SSL xong thì ta có thể truy cập vào site bằng giao thức HTTPS với những tính năng an toàn hơn HTTP Tuy nhiên vẫn có những cách khác để qua mặt cơ chế bảo vệ của HTTPS. .. SNMP, ping, traceroute, FTP, IP telephony, Citrix, Oracle’s SQL*net, tập tin và việc chia sẽ máy in thông qua Windows hoặc Unix và nhiều thứ khác 25 Chương 3: Mô phỏng lấy certificate SSL trong HTTPS 3.1 Chuẩn bị hình mạng cần để thực hiện mô phỏng gồm có: Một máy DNS có: • IP: 192.168.2.1 • Netmask: 255.255.255.0 • DNS: trỏ về chính nó (192.168.2.1) • Máy đã được nâng cấp lên DC và cài dịch vụ DNS... một trong hai điểm cuối của một session hoặc nối kết SSL 14 Sau khi SSL Handshake Protocol đã hoàn tất, dữ liệu ứng dụng có thể được gửi và được nhận bằng cách sử dụng SSL Record Protocol và các tham số bảo mật được thương lượng và các thành phần thông tin trạng thái 2.2 Các Giao Thức Bảo Mật SSL SSL Record Protocol nhận dữ liệu từ các giao thức con SSL lớp cao hơn và xử lý việc phân đoạn, nén, xác thực... cần lưu ý là các phía giao tiếp phải sử dụng nhiều session SSL đồng thời và các session có nhiều nối kết đồng thời Bảng 1.3 Các thành phần thông tin trạng thái Session SSL 13 Bảng 1.4 Các thành phần thông tin trạng thái nối kết SSL Như được minh họa trong hình 1.1, giao thức SSL gồm hai phần chính, SSL Record Protocol và một số giao thức con SSL được xếp lớp trên nó: • Record OK được xếp lớp trên một... phần, một mức cảnh báo và một tả cảnh báo SSL Handshake Protocol là giao thức con SSL chính được sử dụng để hỗ trợ xác thực client và server và để trao đổi một khóa session Sau cùng, SSL ChangeCipherSpec Protocol được sử dụng để thay đổi giữa một thông số mật mã này và một thông số mật mã khác Mặc dù thông số mật mã thường được thay đổi ở cuối một sự thiết lập quan hệ SSL, nhưng nó cũng có thể được... được sử dụng để sau đó xử lý tải trọng dữ liệu bản ghi SSL (sau khi giải nén và giải mã hóa thích hợp) Số phiên bản của giao thức xác định phiên bản SSL đang sử dụng (thường là version 3.0) Mỗi tải trọng dữ liệu bản ghi SSL được nén và được mã hóa theo phương thức nén hiện hành và thông số mật mã được xác định cho session SSL Lúc bắt đầu mỗi session SSL, phương pháp nén và thông số mật mã thường được... thuật toán nén được hỗ trợ bởi client Nếu định danh session trong thông báo CLIENTHELLO không rỗng, server tìm trong cache session của nó nhằm tìm ra một mục tương hợp Nếu mục tương hợp được tìm thấy và server muốn thiết lập nối kết mới bằng cách sử dụng trạng thái session tương ứng, server đáp ứng bằng cùng một giá trị như được cung cấp bởi client Chỉ địn này là một session được tiếp tục lại và xác định . Các Giao Thức Bảo Mật 2.1. Cấu trúc SSL Cấu trúc của SSL và giao thức SSL tương ứng được minh họa trong hình 1.1(Cấu trúc SSL và giao thức SSL) . Theo hình này, SSL ám chỉ một lớp (bảo mật) trung. đến SSL Record Protocol. SSL Handshake Protocol là giao thức con SSL chính được xếp lớp trên SSL Record Protocol. Kết quả, các thông báo thiết lập quan hệ SSL được cung cấp cho lớp bản ghi SSL. thức con SSL được xếp lớp trên SSL Record Protocol. Mỗi giao thức con có thể tham chiếu đến các loại thông báo cụ thể vốn được gửi bằng cách sử dụng SSL Record Protocol. Thông số kỹ thuật SSL 3.0 xác

Ngày đăng: 26/05/2014, 18:13

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan