Là phiên bản chuẩn Internet của SSL
Mô tả trong RFC 2246 rất giống với SSLv3
Một số khác biệt nhỏ so với SSLv3
Số phiên bản trong khuôn dạng bản ghi SSL
Sử dụng HMAC để tính MAC
Sử dụng hàm giả ngẫu nhiên để khai triển các giá trị bí mật
Có thêm một số mã báo động
Không hỗ trợ Fortezza
Thay đổi trong trao đổi chứng thực
Thay đổi trong việc sử dụng dữ liệu đệm
193 trang |
Chia sẻ: tuanhd28 | Lượt xem: 1952 | Lượt tải: 4
Bạn đang xem trước 20 trang tài liệu Bài giảng An toàn mạng, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Nguyễn Đại ThọAn toàn Mạng*AN TOÀN MẠNGTS. Nguyễn Đại ThọBộ môn Mạng & Truyền thông Máy tínhKhoa Công nghệ Thông tinthond_cn@vnu.edu.vnNăm học 2007-2008ĐẠI HỌC QUỐC GIA HÀ NỘITRƯỜNG ĐẠI HỌC CÔNG NGHỆNguyễn Đại ThọAn toàn Mạng*Mục tiêu môn họcChú trọng an toàn liên mạngNghiên cứu các biện pháp ngăn cản, phòng chống, phát hiện và khắc phục các vi phạm an toàn liên quan đến truyền tải thông tinNguyễn Đại ThọAn toàn Mạng*Tài liệu tham khảoSách tham khảo chínhWilliam Stallings. Cryptography and Network Security : Principles and Practice, Fourth Edition. Prentice Hall, 2005.Sách tham khảo phụCharlie Kaufman, Radia Perlman, Mike Speciner. Network Security: Private Communication in a Public World, Second Edition. Prentice Hall, 2002.Matt Bishop. Computer Security: Art and Science. Addison Wesley, 2002.Man Young Rhee. Internet Security: Cryptographic principles, algorithms and protocols. John Wiley & Sons, 2003.Website Đại ThọAn toàn Mạng*Chương 1Giới thiệuNguyễn Đại ThọAn toàn Mạng*Bối cảnhNhu cầu đảm bảo an toàn thông tin có những biến đổi lớnTrước đâyChỉ cần các phương tiện vật lý và hành chínhTừ khi có máy tínhCần các công cụ tự động bảo vệ tệp tin và các thông tin khác lưu trữ trong máy tínhTừ khi có các phương tiện truyền thông và mạngCần các biện pháp bảo vệ dữ liệu truyền trên mạngNguyễn Đại ThọAn toàn Mạng*Các khái niệmAn toàn thông tinLiên quan đến các yếu tố tài nguyên, nguy cơ, hành động tấn công, yếu điểm, và điều khiểnAn toàn máy tínhCác công cụ bảo vệ dữ liệu và phòng chống tin tặcAn toàn mạngCác biện pháp bảo vệ dữ liệu truyền trên mạngAn toàn liên mạngCác biện pháp bảo vệ dữ liệu truyền trên một tập hợp các mạng kết nối với nhauNguyễn Đại ThọAn toàn Mạng*Kiến trúc an toàn OSIKiến trúc an toàn cho OSI theo khuyến nghị X.800 của ITU-TĐịnh ra một phương thức chung cho việc xác định các nhu cầu về an toàn thông tinCung cấp một cái nhìn tổng quan về các khái niệm môn học sẽ đề cập đếnChú trọng đến các hành động tấn công,các cơ chế an toàn, và các dịch vụ an toànNguyễn Đại ThọAn toàn Mạng*Hành động tấn côngLà hành động phá hoại an toàn thông tin của một tổ chứcAn toàn thông tin là những cách thức ngăn ngừa các hành động tấn công, nếu không được thì phát hiện và khắc phục hậu quảCác hành động tấn công có nhiều và đa dạngChỉ cần tập trung vào những thể loại chung nhấtLưu ý : nguy cơ tấn công và hành động tấn công thường được dùng đồng nghĩa với nhauNguyễn Đại ThọAn toàn Mạng*Các hành động tấn côngCác hành động tấn công thụ độngNghe trộm nội dung thông tin truyền tảiGiám sát và phân tích luồng thông tin lưu chuyểnCác hành động tấn công chủ độngGiả danh một thực thể khácPhát lại các thông báo trước đóSửa đổi các thông báo đang lưu chuyểnTừ chối dịch vụNguyễn Đại ThọAn toàn Mạng*Dịch vụ an toànLà một dịch vụ nâng cao độ an toàn của các hệ thống xử lý thông tin và các cuộc truyền dữ liệu trong một tổ chứcNhằm phòng chống các hành động tấn côngSử dụng một hay nhiều cơ chế an toànCó các chức năng tương tự như đảm bảo an toàn tài liệu vật lýMột số đặc trưng của tài liệu điện tử khiến việc cung cấp các chức năng đảm bảo an toàn khó khăn hơnNguyễn Đại ThọAn toàn Mạng*Các dịch vụ an toànTheo X.800Dịch vụ an toàn là dịch vụ cung cấp bởi một tầng giao thức của các hệ thống mở kết nối nhằm đảm bảo an toàn cho các hệ thống và các cuộc truyền dữ liệuCó 5 loại hìnhTheo RFC 2828Dịch vụ an toàn là dịch vụ xử lý hoặc truyền thông cung cấp bởi một hệ thống để bảo vệ tài nguyên theo một cách thức nhất định Nguyễn Đại ThọAn toàn Mạng*Các dịch vụ an toàn X.800 Xác thựcĐảm bảo thực thể truyền thông đúng là nóĐiều khiển truy nhậpNgăn không cho sử dụng trái phép tài nguyên Bảo mật dữ liệuBảo vệ dữ liệu khỏi bị tiết lộ trái phépToàn vẹn dữ liệuĐảm bảo nhận dữ liệu đúng như khi gửiChống chối bỏNgăn không cho bên liên quan phủ nhận hành động Nguyễn Đại ThọAn toàn Mạng*Cơ chế an toànLà cơ chế định ra để phát hiện, ngăn ngừa và khắc phục một hành động tấn côngKhông một cơ chế đơn lẻ nào có thể hỗ trợ tất cả các chức năng đảm bảo an toàn thông tinCó một yếu tố đặc biệt hậu thuẫn nhiều cơ chế an toàn sử dụng hiện nay là các kỹ thuật mật mãMôn học sẽ chú trọng lĩnh vực mật mãNguyễn Đại ThọAn toàn Mạng*Các cơ chế an toàn X.800Các cơ chế an toàn chuyên biệtMã hóa, chữ ký số, điều khiển truy nhập, toàn vẹn dữ liệu, trao đổi xác thực, độn tin truyền, điều khiển định tuyến, công chứngCác cơ chế an toàn phổ quátTính năng đáng tin, nhãn an toàn, phát hiện sự kiện, dấu vết kiểm tra an toàn, khôi phục an toànNguyễn Đại ThọAn toàn Mạng*Mô hình an toàn mạngThông báo an toànThông tinbí mậtChuyển đổiliên quanđến an toànThông báoThông báoThông tinbí mậtChuyển đổiliên quanđến an toànThông báo an toànĐối thủBên thứ ba đáng tinBên gửiBên nhậnKênhthông tinNguyễn Đại ThọAn toàn Mạng*Mô hình an toàn mạngYêu cầuThiết kế một giải thuật thích hợp cho việc chuyển đổi liên quan đến an toànTạo ra thông tin bí mật (khóa) đi kèm với giải thuậtPhát triển các phương pháp phân bổ và chia sẻ thông tin bí mậtĐặc tả một giao thức sử dụng bởi hai bên gửi và nhận dựa trên giải thuật an toàn và thông tin bí mật, làm cơ sở cho một dịch vụ an toàn Nguyễn Đại ThọAn toàn Mạng*Mô hình an toàn truy nhập mạngCác tài nguyên tính toán (bộ xử lý, bộ nhớ, ngoại vi)Dữ liệuCác tiến trìnhPhần mềmKênh truy nhậpChức nănggác cổngCác điều khiển an toàn bên trongĐối thủ- Con người- Phần mềmNguyễn Đại ThọAn toàn Mạng*Mô hình an toàn truy nhập mạng Yêu cầuLựa chọn các chức năng gác cổng thích hợp để định danh người dùngCài đặt các điều khiển an toàn để đảm bảo chỉ những người dùng được phép mới có thể truy nhập được vào các thông tin và tài nguyên tương ứngCác hệ thống máy tính đáng tin cậy có thể dùng để cài đặt mô hình nàyNguyễn Đại ThọAn toàn Mạng*Chương 2MÃ HÓA ĐỐI XỨNGNguyễn Đại ThọAn toàn Mạng*Hai kỹ thuật mã hóa chủ yếuMã hóa đối xứngBên gửi và bên nhận sử dụng chung một khóaCòn gọi làMã hóa truyền thốngMã hóa khóa riêng / khóa đơn / khóa bí mậtLà kỹ thuật mã hóa duy nhất trước những năm 70Hiện vẫn còn được dùng rất phổ biếnMã hóa khóa công khai (bất đối xứng)Mỗi bên sử dụng một cặp khóaMột khóa công khai + Một khóa riêngCông bố chính thức năm 1976Nguyễn Đại ThọAn toàn Mạng*Một số cách phân loại khácTheo phương thức xử lýMã hóa khốiMỗi lần xử lý một khối nguyên bản và tạo ra khối bản mã tương ứng (chẳng hạn 64 hay 128 bit)Mã hóa luồngXử lý dữ liệu đầu vào liên tục (chẳng hạn mỗi lần 1 bit)Theo phương thức chuyển đổiMã hóa thay thếChuyển đổi mỗi phần tử nguyên bản thành một phần tử bản mã tương ứngMã hóa hoán vịBố trí lại vị trí các phần tử trong nguyên bảnNguyễn Đại ThọAn toàn Mạng* Mô hình hệ mã hóa đối xứngKhóa bí mật dùng chungbởi bên gửi và bên nhậnKhóa bí mật dùng chungbởi bên gửi và bên nhậnGiải thuật mã hóaGiải thuật giải mãNguyên bảnđầu vàoNguyên bảnđầu raBản mãtruyền điMã hóaY = EK(X)Giải mãX = DK(Y)Nguyễn Đại ThọAn toàn Mạng*Mô hình hệ mã hóa đối xứng Gồm có 5 thành phầnNguyên bảnGiải thuật mã hóaKhóa bí mậtBản mãGiải thuật giải mãAn toàn phụ thuộc vào sự bí mật của khóa, không phụ thuộc vào sự bí mật của giải thuậtNguyễn Đại ThọAn toàn Mạng*Phá mãLà nỗ lực giải mã văn bản đã được mã hóa không biết trước khóa bí mậtCó hai phương pháp phá mãVét cạnThử tất cả các khóa có thểThám mãKhai thác những nhược điểm của giải thuậtDựa trên những đặc trưng chung của nguyên bản hoặc một số cặp nguyên bản - bản mã mẫuNguyễn Đại ThọAn toàn Mạng*Về lý thuyết có thể thử tất cả các giá trị khóa cho đến khi tìm thấy nguyên bản từ bản mãDựa trên giả thiết có thể nhận biết được nguyên bản cần tìmTính trung bình cần thử một nửa tổng số các trường hợp có thểThực tế không khả thi nếu độ dài khóa lớnPhương pháp phá mã vét cạnNguyễn Đại ThọAn toàn Mạng*Thời gian tìm kiếm trung bìnhKích thước khóa (bit)Số lượng khóaThời gian cần thiết(1 giải mã/μs)Thời gian cần thiết(106 giải mã/μs) 32 5612816826 ký tự(hoán vị) 232 = 4,3 x 109 256 = 7,2 x 10162128 = 3,4 x 10382168 = 3,7 x 1050 26! = 4 x 1026 231 μs = 35,8 phút 255 μs = 1142 năm2127 μs = 5,4 x 1024 năm2167 μs = 5,9 x 1036 năm2 x 1026 μs = 6,4 x 1012 năm2,15 ms10,01 giờ5,4 x 1018 năm5,9 x 1030 năm6,4 x 106 nămTuổi vũ trụ : ~ 1010 nămKhóa DES dài 56 bitKhóa AES dài 128+ bitKhóa 3DES dài 168 bit Nguyễn Đại ThọAn toàn Mạng*Các kỹ thuật thám mãChỉ có bản mãChỉ biết giải thuật mã hóa và bản mã hiện cóBiết nguyên bảnBiết thêm một số cặp nguyên bản - bản mãChọn nguyên bảnChọn 1 nguyên bản, biết bản mã tương ứngChọn bản mãChọn 1 bản mã, biết nguyên bản tương ứngChọn văn bảnKết hợp chọn nguyên bản và chọn bản mãNguyễn Đại ThọAn toàn Mạng*An toàn hệ mã hóaAn toàn vô điều kiệnBản mã không chứa đủ thông tin để xác định duy nhất nguyên bản tương ứng, bất kể với số lượng bao nhiêu và tốc độ máy tính thế nàoChỉ hệ mã hóa độn một lần là an toàn vô điều kiệnAn toàn tính toánThỏa mãn một trong hai điều kiệnChi phí phá mã vượt quá giá trị thông tinThời gian phá mã vượt quá tuổi thọ thông tinThực tế thỏa mãn hai điều kiệnKhông có nhược điểmKhóa có quá nhiều giá trị không thể thử hếtNguyễn Đại ThọAn toàn Mạng*Mã hóa thay thế cổ điểnCác chữ cái của nguyên bản được thay thế bởi các chữ cái khác, hoặc các số, hoặc các ký hiệuNếu nguyên bản được coi như một chuỗi bit thì thay thế các mẫu bit trong nguyên bản bằng các mẫu bit của bản mãNguyễn Đại ThọAn toàn Mạng*Hệ mã hóa CaesarLà hệ mã hóa thay thế xuất hiện sớm nhất và đơn giản nhấtSử dụng đầu tiên bởi Julius Caesar vào mục đích quân sựDịch chuyển xoay vòng theo thứ tự chữ cáiKhóa k là số bước dịch chuyểnVới mỗi chữ cái của văn bảnĐặt p = 0 nếu chữ cái là a, p = 1 nếu chữ cái là b,...Mã hóa : C = E(p) = (p + k) mod 26Giải mã : p = D(C) = (C - k) mod 26Ví dụ : Mã hóa "meet me after class" với k = 3Nguyễn Đại ThọAn toàn Mạng*Phá mã hệ mã hóa CaesarPhương pháp vét cạnKhóa chỉ là một chữ cái (hay một số giữa 1 và 25)Thử tất cả 25 khóa có thểDễ dàng thực hiệnBa yếu tố quan trọngBiết trước các giải thuật mã hóa và giải mãChỉ có 25 khóa để thửBiết và có thể dễ dàng nhận ra được ngôn ngữ của nguyên bảnVí dụ : Phá mã "GCUA VQ DTGCM"Nguyễn Đại ThọAn toàn Mạng*Hệ mã hóa đơn bảngThay một chữ cái này bằng một chữ cái khác theo trật tự bất kỳ sao cho mỗi chữ cái chỉ có một thay thế duy nhất và ngược lạiKhóa dài 26 chữ cáiVí dụKhóa a b c d e f g h i j k l m n o p q r s t u v w x y z M N B V C X Z A S D F G H J K L P O I U Y T R E W Q Nguyên bản i love youNguyễn Đại ThọAn toàn Mạng*Phá mã hệ mã hóa đơn bảngPhương pháp vét cạnKhóa dài 26 ký tựSố lượng khóa có thể = 26! = 4 x 1026Rất khó thực hiệnKhai thác những nhược điểm của giải thuậtBiết rõ tần số các chữ cái tiếng AnhCó thể suy ra các cặp chữ cái nguyên bản - chữ cái bản mãVí dụ : chữ cái xuất hiện nhiều nhất có thể tương ứng với 'e'Có thể nhận ra các bộ đôi và bộ ba chữ cáiVí dụ bộ đôi : 'th', 'an', 'ed'Ví dụ bộ ba : 'ing', 'the', 'est'Nguyễn Đại ThọAn toàn Mạng*Các tần số chữ cái tiếng AnhTần số tương đối (%)Nguyễn Đại ThọAn toàn Mạng*Ví dụ phá mã hệ đơn bảngCho bản mã UZQSOVUOHXMOPVGPOZPEVSGZWSZOPFPESXUDBMETSXAIZ VUEPHZHMDZSHZOWSFPAPPDTSVPQUZWYMXUZUHSX EPYEPOPDZSZUFPOMBZWPFUPZHMDJUDTMOHMQTính tần số chữ cái tương đốiĐoán P là e, Z là tĐoán ZW là th và ZWP là theTiếp tục đoán và thử, cuối cùng được it was disclosed yesterday that several informal but direct contacts have been made with political representatives of the viet cong in moscowNguyễn Đại ThọAn toàn Mạng*Hệ mã hóa Playfair (1)Là một hệ mã hóa nhiều chữGiảm bớt tương quan cấu trúc giữa bản mã và nguyên bản bằng cách mã hóa đồng thời nhiều chữ cái của nguyên bảnPhát minh bởi Charles Wheatstone vào năm 1854, lấy tên người bạn Baron PlayfairSử dụng 1 ma trận chữ cái 5x5 xây dựng trên cơ sở 1 từ khóaĐiền các chữ cái của từ khóa (bỏ các chữ trùng)Điền nốt ma trận với các chữ khác của bảng chữ cáiI và J chiếm cùng một ô của ma trậnNguyễn Đại ThọAn toàn Mạng*Hệ mã hóa Playfair (2)Ví dụ ma trận với từ khóa MONARCHYM O N A RC H Y B DE F G I/J KL P Q S TU V W X ZMã hóa 2 chữ cái một lúcNếu 2 chữ giống nhau, tách ra bởi 1 chữ điền thêmNếu 2 chữ nằm cùng hàng, thay bởi các chữ bên phảiNếu 2 chữ nằm cùng cột, thay bởi các chữ bên dướiCác trường hợp khác, mỗi chữ cái được thay bởi chữ cái khác cùng hàng, trên cột chữ cái cùng cặpNguyễn Đại ThọAn toàn Mạng*Phá mã hệ mã hóa PlayfairAn toàn đảm bảo hơn nhiều hệ mã hóa đơn chữCó 26 x 26 = 676 cặp chữ cáiViệc giải mã từng cặp khó khăn hơnCần phân tích 676 tần số xuất hiện thay vì 26Từng được quân đội Anh, Mỹ sử dụng rộng rãiBản mã vẫn còn lưu lại nhiều cấu trúc của nguyên bảnVẫn có thể phá mã được vì chỉ có vài trăm cặp chữ cái cần giải mãNguyễn Đại ThọAn toàn Mạng*Hệ mã hóa VigenèreLà một hệ mã hóa đa bảngSử dụng nhiều bảng mã hóaKhóa giúp chọn bảng tương ứng với mỗi chữ cáiKết hợp 26 hệ Ceasar (bước dịch chuyển 0 - 25)Khóa K = k1k2...kd gồm d chữ cái sử dụng lặp đi lặp lại với các chữ cái của văn bảnChữ cái thứ i tương ứng với hệ Ceasar bước chuyển iVí dụKhóa : deceptivedeceptivedeceptiveNguyên bản : wearediscoveredsaveyourselfBản mã : ZICVTWQNGRZGVTWAVZHCQYGLMGJNguyễn Đại ThọAn toàn Mạng*Phá mã hệ mã hóa VigenèrePhương pháp vét cạnKhó thực hiện, nhất là nếu khóa gồm nhiều chữ cáiKhai thác những nhược điểm của giải thuậtCấu trúc của nguyên bản được che đậy tốt hơn hệ Playfair nhưng không hoàn toàn biến mấtChỉ việc tìm độ dài khóa sau đó phá mã từng hệ CeasarCách tìm độ dài khóaNếu độ dài khóa nhỏ so với độ dài văn bản, có thể phát hiện 1 dãy văn bản lặp lại nhiều lầnKhoảng cách giữa 2 dãy văn bản lặp là 1 bội số của độ dài khóaTừ đó suy ra độ dài khóaNguyễn Đại ThọAn toàn Mạng*Hệ mã hóa khóa tự độngVigenère đề xuất từ khóa không lặp lại mà được gắn vào đầu nguyên bảnNếu biết từ khóa sẽ giải mã được các chữ cái đầu tiênSử dụng các chữ cái này làm khóa để giải mã các chữ các tiếp theo,...Ví dụ :Khóa : deceptivewearediscoveredsavnguyên bản : wearediscoveredsaveyourselfMã hóa : ZICVTWQNGKZEIIGASXSTSLVVWLAVẫn có thể sử dụng kỹ thuật thống kê để phá mãKhóa và nguyên bản có cùng tần số các chữ cáiNguyễn Đại ThọAn toàn Mạng*Độn một lầnLà hệ mã hóa thay thế không thể phá đượcĐề xuất bởi Joseph MauborgneKhóa ngẫu nhiên, độ dài bằng độ dài văn bản, chỉ sử dụng một lầnGiữa nguyên bản và bản mã không có bất kỳ quan hệ nào về thống kêVới bất kỳ nguyên bản và bản mã nào cũng tồn tại một khóa tương ứngKhó khăn ở việc tạo khóa và đảm bảo phân phối khóa an toànNguyễn Đại ThọAn toàn Mạng*Mã hóa hoán vị cổ điểnChe đậy nội dung văn bản bằng cách sắp xếp lại trật tự các chữ cáiKhông thay đổi các chữ cái của nguyên bảnBản mã có tần số xuất hiện các chữ cái giống như nguyên bảnNguyễn Đại ThọAn toàn Mạng*Hệ mã hóa hàng ràoViết các chữ cái theo đường chéo trên một số hàng nhất địnhSau đó đọc theo từng hàng mộtVí dụNguyên bản : attack at midnightMã hóa với độ cao hàng rào là 2a t c a m d i h t a k t i n g tBản mã : ATCAMDIHTAKTINGTNguyễn Đại ThọAn toàn Mạng*Hệ mã hóa hàngViết các chữ cái theo hàng vào 1 số cột nhất địnhSau đó hoán vị các cột trước khi đọc theo cộtKhóa là thứ tự đọc các cộtVí dụKhóa : 4 3 1 2 5 6 7Nguyên bản : a t t a c k p o s t p o n e d u n t i l t w o a m x y zBản mã : TTNAAPTMTSUOAODWCOIXKNLYPETZNguyễn Đại ThọAn toàn Mạng*Mã hóa tích hợpCác hệ mã hóa thay thế và hoán vị không an toàn vì những đặc điểm của ngôn ngữKết hợp sử dụng nhiều hệ mã hóa sẽ khiến việc phá mã khó hơnHai thay thế tạo nên một thay thế phức tạp hơnHai hoán vị tạo nên một hoán vị phức tạp hơnMột thay thế với một hoán vị tạo nên một hệ mã hóa phức tạp hơn nhiềuLà cầu nối từ các hệ mã hóa cổ điển đến các hệ mã hóa hiện đạiNguyễn Đại ThọAn toàn Mạng*Mã hóa khốiSo với mã hóa luồngMã hóa khối xử lý thông báo theo từng khốiMã hóa luồng xử lý thông báo 1 bit hoặc 1 byte mỗi lầnGiống như thay thế các ký tự rất lớn ( 64 bit)Bảng mã hóa gồm 2n đầu vào (n là độ dài khối)Mỗi khối đầu vào ứng với một khối mã hóa duy nhấtTính thuận nghịchĐộ dài khóa là n x 2n bit quá lớnXây dựng từ các khối nhỏ hơnHầu hết các hệ mã hóa khối đối xứng dựa trên cấu trúc hệ mã hóa FeistelNguyễn Đại ThọAn toàn Mạng*Mạng S-P Mạng thay thế (S) - hoán vị (P) đề xuất bởi Claude Shannon vào năm 1949Là cơ sở của các hệ mã hóa khối hiện đạiDựa trên 2 phép mã hóa cổ điểnPhép thay thế : Hộp SPhép hoán vị : Hộp PĐan xen các chức năngKhuếch tán : Hộp P (kết hợp với hộp S)Phát tỏa cấu trúc thống kê của nguyên bản khắp bản mãGây lẫn : Hộp SLàm phức tạp hóa mối quan hệ giữa bản mã và khóaNguyễn Đại ThọAn toàn Mạng*Hộp S01234567Đầu vào3 bit01001234567 110Đầu ra3 bitLưu ý : Hộp S có tính thuận nghịchNguyễn Đại ThọAn toàn Mạng*Hộp PLưu ý : Hộp P có tính thuận nghịchĐầu vào4 bit1101101111011011Nguyễn Đại ThọAn toàn Mạng*Mã hóa FeistelĐề xuất bởi Horst Feistel dựa trên khái niệm hệ mã hóa tích hợp thuận nghịch của ShannonPhân mỗi khối dài 2w bit thành 2 nửa L0 và R0Xử lý qua n vòngChia khóa K thành n khóa con K1, K2,..., KnTại mỗi vòng iThực hiện thay thế ở nửa bên trái Li-1 bằng cách XOR nó với F(Ki, Ri-1)F thường gọi là hàm chuyển đổi hay hàm vòngHoán vị hai nửa Li và RiNguyễn Đại ThọAn toàn Mạng*Nguyên bản (2w bit)w bitw bitL0R0Vòng 1K1L1R1F+KnLnRnF+Vòng n. . .. . .Ln+1Rn+1Bản mã (2w bit)Nguyễn Đại ThọAn toàn Mạng*Các đặc trưng hệ FeistelĐộ dài khốiKhối càng lớn càng an toàn (thường 64 bit)Độ dài khóaKhóa càng dài càng an toàn (thường 128 bit)Số vòngCàng nhiều vòng càng an toàn (thường 16 vòng)Giải thuật sinh mã conCàng phức tạp càng khó phá mãHàm vòngCàng phức tạp càng khó phá mãẢnh hưởng đến cài đặt và phân tíchNguyễn Đại ThọAn toàn Mạng*Giải mã FeistelGiống giải thuật mã hóa, chỉ khácBản mã là dữ liệu đầu vàoCác khóa con được dùng theo thứ tự ngược lạiTại mỗi vòng kết quả đầu ra chính là các dữ liệu đầu vào của quá trình mã hóaĐối với quá trình mã hóaLi = Ri-1Ri = Li-1 F(Ri-1, Ki)Đối với quá trình giải mãRi-1 = LiLi-1 = Ri F(Li, Ki)Nguyễn Đại ThọAn toàn Mạng*Chuẩn mã hóa dữ liệu DES (Data Encryption Standard) được công nhận chuẩn năm 1977 Phương thức mã hóa được sử dụng rộng rãi nhấtTên giải thuật là DEA (Data Encryption Algorithm)Là một biến thể của hệ mã hóa Feistel, bổ xung thêm các hoán vị đầu và cuốiKích thước khối : 64 bitKích thước khóa : 56 bitSố vòng : 16Từng gây nhiều tranh cãi về độ an toànNguyễn Đại ThọAn toàn Mạng*Giải thuật mã hóa DESNguyên bản (64 bit)giao hoán thuận vòng 1K1 vòng 2K2 vòng nKngiao hoán nghịchBản mã (64 bit)hoán đổi 32 bitKhóa 56 bit. . .giao hoándịch vòng tráigiao hoándịch vòng tráigiao hoándịch vòng tráigiao hoán. . .Nguyễn Đại ThọAn toàn Mạng*Một vòng DESLi-1 mở rộng g/hoán hộp Sgiao hoánRi-1xKixLiRi--- 48 bit--- 48 bit--- 32 bit--- 32 bitNguyễn Đại ThọAn toàn Mạng*Phá mã DESKhóa 56 bit có 256 = 7,2 x 1016 giá trị có thểPhương pháp vét cạn tỏ ra không thực tếTốc độ tính toán cao có thể phá được khóa1997 : 70000 máy tính phá mã DES trong 96 ngày1998 : Electronic Frontier Foundation (EFF) phá mã DES bằng máy chuyên dụng (250000$) trong 0,5 theo nghịch lý ngày sinh)Để người gửi ký biến thể hợp lệ, rồi dùng chữ ký gắn vào biến thể giả mạoNguyễn Đại ThọAn toàn Mạng*An toàn hàm băm và MACKiểu tấn công vét cạnVới hàm băm, nỗ lực phụ thuộc độ dài m của mã bămĐộ phức tạp của tính một chiều và tính chống xung đột yếu là 2m; của tính chống xung đột mạnh là 2m/2128 bit có thể phá được, thường dùng 160 bitVới MAC, nỗ lực phụ thuộc vào độ dài k của khóa và độ dài n của MACĐộ phức tạp là min(2k, 2n)Ít nhất phải là 128 bitKiểu thám mãHàm băm thường gồm nhiều vòng như mã hóa khối nên có thể tập trung khai thác điểm yếu hàm vòngNguyễn Đại ThọAn toàn Mạng*Chữ ký sốXác thực thông báo không có tác dụng khi bên gửi và bên nhận muốn gây hại cho nhauBên nhận giả mạo thông báo của bên gửiBên gửi chối là đã gửi thông báo đến bên nhậnChữ ký số không những giúp xác thực thông báo mà còn bảo vệ mỗi bên khỏi bên kiaChức năng chữ ký sốXác minh tác giả và thời điểm ký thông báoXác thực nội dung thông báoLà căn cứ để giải quyết tranh chấpNguyễn Đại ThọAn toàn Mạng*Yêu cầu đối với chữ ký sốPhụ thuộc vào thông báo được kýCó sử dụng thông tin riêng của người gửiĐể tránh giả mạo và chối bỏTương đối dễ tạo raTương đối dễ nhận biết và kiểm traRất khó giả mạoBằng cách tạo thông báo khác có cùng chữ ký sốBằng cách tạo chữ ký số theo ý muốn cho thông báo Thuận tiện trong việc lưu trữNguyễn Đại ThọAn toàn Mạng*Chữ ký số trực tiếpChỉ liên quan đến bên gửi và bên nhậnVới mật mã khóa công khaiDùng khóa riêng ký toàn bộ thông báo hoặc giá trị bămCó thể mã hóa sử dụng khóa công khai của bên nhậnQuan trọng là ký trước mã hóa sauChỉ có tác dụng khi khóa riêng của bên gửi được đảm bảo an toànBên gửi có thể giả vờ mất khóa riêngCần bổ xung thông tin thời gian và báo mất khóa kịp thờiKhóa riêng có thể bị mất thậtKẻ cắp có thể gửi thông báo với thông tin thời gian sai lệchNguyễn Đại ThọAn toàn Mạng*Chữ ký số gián tiếpCó sự tham gia của một bên trọng tàiNhận thông báo có chữ ký số từ bên gửi, kiểm tra tính hợp lệ của nóBổ xung thông tin thời gian và gửi đến bên nhậnAn toàn phụ thuộc chủ yếu vào bên trọng tàiCần được bên gửi và bên nhận tin tưởngCó thể cài đặt với mã hóa đối xứng hoặc mã hóa khóa công khaiBên trọng tài có thể được phép nhìn thấy hoặc không nội dung thông báoNguyễn Đại ThọAn toàn Mạng*Các kỹ thuật chữ ký số gián tiếp(a) Mã hóa đối xứng, trọng tài thấy thông báo (1) X A : M ║ EKXA[IDX ║ H(M)] (2) A Y : EKAY[IDX ║ M ║ EKXA[IDX ║ H(M)] ║ T](b) Mã hóa đối xứng, trọng tài không thấy thông báo (1) X A : IDX ║ EKXY[M] ║ EKXA[IDX ║ H(EKXY[M])] (2) A Y : EKAY[IDX ║ EKXY[M] ║ EKXA[IDX ║ H(EKXY[M])] ║ T](c) Mã hóa khóa công khai, trọng tài không thấy thông báo (1) X A : IDX ║ EKRX[IDX ║ EKUY[EKRX[M]]] (2) A Y : EKRA[IDX ║ EKUY[EKRX[M]] ║ T]Ký hiệu : X = Bên gửi M = Thông báo Y = Bên nhận T = Nhãn thời gian A = Trọng tàiNguyễn Đại ThọAn toàn Mạng*Chương 5CÁC ỨNG DỤNG XÁC THỰC Nguyễn Đại ThọAn toàn Mạng*Giới thiệuMục đích của các ứng dụng xác thực là hỗ trợ xác thực và chữ ký số ở mức ứng dụngPhân làm 2 loại chínhDựa trên mã hóa đối xứngDịch vụ KerberosGiao thức Needham-SchroederDựa trên khóa công khai được chứng thựcDịch vụ X.509Hệ thống PGPNguyễn Đại ThọAn toàn Mạng*KerberosHệ thống dịch vụ xác thực phát triển bởi MITNhằm đối phó với các hiểm họa sauNgười dùng giả danh là người khácNgười dùng thay đổi địa chỉ mạng của clientNgười dùng xem trộm thông tin trao đổi và thực hiện kiểu tấn công lặp lạiBao gồm 1 server tập trung có chức năng xác thực người dùng và các server dịch vụ phân tánTin cậy server tập trung thay vì các clientGiải phóng chức năng xác thực khỏi các server dịch vụ và các clientNguyễn Đại ThọAn toàn Mạng*Ký hiệuC : ClientAS : Server xác thựcV : Server dịch vụIDC : Danh tính người dùng trên CIDV : Danh tính của VPC : Mật khẩu của người dùng trên CADC : Địa chỉ mạng của CKV : Khóa bí mật chia sẻ bởi AS và V║ : Phép ghépTGS : Server cấp thẻTS : Nhãn thời gianNguyễn Đại ThọAn toàn Mạng*Một hội thoại xác thực đơn giảnGiao thức(1) C AS : IDC ║ PC ║ IDV(2) AS C : Thẻ(3) C V : IDC ║ Thẻ Thẻ = EKV[IDC ║ ADC ║ IDV]Hạn chếMật khẩu truyền từ C đến AS không được bảo mậtNếu thẻ chỉ sử dụng được một lần thì phải cấp thẻ mới cho mỗi lần truy nhập cùng một dịch vụNếu thẻ sử dụng được nhiều lần thì có thể bị lấy cắp để sử dụng trước khi hết hạnCần thẻ mới cho mỗi dịch vụ khác nhauNguyễn Đại ThọAn toàn Mạng*Hội thoại xác thực Kerberos 4(a) Trao đổi với dịch vụ xác thực : để có thẻ cấp thẻ(1) C AS : IDC ║ IDtgs ║ TS1(2) AS C : EKC[KC,tgs ║ IDtgs ║ TS2 ║ Hạn2 ║ Thẻtgs] Thẻtgs = EKtgs[KC,tgs ║ IDC ║ ADC ║ IDtgs ║ TS2 ║ Hạn2](b) Trao đổi với dịch vụ cấp thẻ : để có thẻ dịch vụ(3) C TGS : IDV ║ Thẻtgs ║ DấuC(4) TGS C : EKC,tgs[KC,V ║ IDV ║ TS4 ║ ThẻV]ThẻV = EKV[KC,V ║ IDC ║ ADC ║ IDV ║ TS4 ║ Hạn4]DấuC = EKC,tgs[IDC ║ ADC ║ TS3](c) Trao đổi xác thực client/server : để có dịch vụ(5) C V : ThẻV ║ DấuC(6) V C : EKC,V[TS5 + 1] DấuC = EKC,V[IDC ║ ADC ║ TS5]Nguyễn Đại ThọAn toàn Mạng*Mô hình tổng quan KerberosMỗi phiênngười dùngmột lầnMỗi dịch vụmột lầnMỗi phiêndịch vụmột lầnYêu cầuthẻ cấp thẻThẻ + khóa phiênYêu cầu thẻ dịch vụThẻ + khóa phiênYêu cầu dịch vụGửi dấu serverASTGSClientServerdịch vụNguyễn Đại ThọAn toàn Mạng*Phân hệ KerberosMột phân hệ Kerberos bao gồmMột server Kerberos chứa trong CSDL danh tính và mật khẩu băm của các thành viênMột số người dùng đăng ký làm thành viênMột số server dịch vụ, mỗi server có một khóa bí mật riêng chỉ chia sẻ với server KerberosMỗi phân hệ Kerberos thường tương ứng với một phạm vi hành chínhHai phân hệ có thể tương tác với nhau nếu 2 server chia sẻ 1 khóa bí mật và đăng ký với nhauĐiều kiện là phải tin tưởng lẫn nhauNguyễn Đại ThọAn toàn Mạng*1234567Phân hệ APhân hệ B1. Yêu cầu thẻ cho TGS cục bộ2. Thẻ cho TGS cục bộ3. Yêu cầu thẻ cho TGS ở xa4. Thẻ cho TGS ở xa5. Yêu cầu thẻ cho server ở xa6. Thẻ cho server ở xa7. Yêu cầu dịch vụ ở xa Nguyễn Đại ThọAn toàn Mạng*Kerberos 5Phát triển vào giữa những năm 1990 (sau Kerberos 4 vài năm) đặc tả trong RFC 1510Có một số cải tiến so với phiên bản 4Khắc phục những khiếm khuyết của môi trườngPhụ thuộc giải thuật mã hóa, phụ thuộc giao thức mạng, trật tự byte thông báo không theo chuẩn, giá trị hạn dùng thẻ có thể quá nhỏ, không cho phép ủy nhiệm truy nhập, tương tác đa phân hệ dựa trên quá nhiều quan hệ tay đôiKhắc phục những thiếu sót kỹ thuậtMã hóa hai lần có một lần thừa, phương thức mã hóa PCBC để đảm bảo tính toàn vẹn không chuẩn dễ bị tấn công, khóa phiên sử dụng nhiều lần có thể bị khai thác để tấn công lặp lại, có thể bị tấn công mật khẩuNguyễn Đại ThọAn toàn Mạng*Dịch vụ xác thực X.509Nằm trong loạt khuyến nghị X.500 của ITU-T nhằm chuẩn hóa dịch vụ thư mụcServers phân tán lưu giữ CSDL thông tin người dùngĐịnh ra một cơ cấu cho dịch vụ xác thựcDanh bạ chứa các chứng thực khóa công khaiMỗi chứng thực bao gồm khóa công khai của người dùng ký bởi một bên chuyên trách chứng thực đáng tin Định ra các giao thức xác thựcSử dụng mật mã khóa công khai và chữ ký sốKhông chuẩn hóa giải thuật nhưng khuyến nghị RSANguyễn Đại ThọAn toàn Mạng*Khuôn dạng X.509Nguyễn Đại ThọAn toàn Mạng*Nhận chứng thựcCứ có khóa công khai của CA (cơ quan chứng thực) là có thể xác minh được chứng thựcChỉ CA mới có thể thay đổi chứng thựcChứng thực có thể đặt trong một thư mục công khaiCấu trúc phân cấp CANgười dùng được chứng thực bởi CA đã đăng kýMỗi CA có hai loại chứng thựcChứng thực thuận : Chứng thực CA hiện tại bởi CA cấp trênChứng thực nghịch : Chứng thực CA cấp trên bởi CA hiện tạiCấu trúc phân cấp CA cho phép người dùng xác minh chứng thực bởi bất kỳ CA nào Nguyễn Đại ThọAn toàn Mạng*Phân cấp X.509Nguyễn Đại ThọAn toàn Mạng*Thu hồi chứng thựcMỗi chứng thực có một thời hạn hợp lệCó thể cần thu hồi chứng thực trước khi hết hạnKhóa riêng của người dùng bị tiết lộNgười dùng không còn được CA chứng thựcChứng thực của CA bị xâm phạmMỗi CA phải duy trì danh sách các chứng thực bị thu hồi (CRL)Khi nhận được chứng thực, người dùng phải kiểm tra xem nó có trong CRL không Nguyễn Đại ThọAn toàn Mạng*Các thủ tục xác thựcNguyễn Đại ThọAn toàn Mạng*Chương 6AN TOÀN THƯ ĐIỆN TỬ Nguyễn Đại ThọAn toàn Mạng*Giới thiệuThư điện tử là dịch vụ mạng phổ dụng nhấtHiện nay các thông báo không được bảo mậtCó thể đọc được nội dung trong quá trình thông báo di chuyển trên mạngNhững người dùng có đủ quyền có thể đọc được nội dung thông báo trên máy đíchThông báo dễ dàng bị giả mạo bởi một người khác Tính toàn vẹn của thông báo không được đảm bảoCác giải pháp xác thực và bảo mật thường dùngPGP (Pretty Good Privacy)S/MIME (Secure/Multipurpose Internet Mail Extensions)Nguyễn Đại ThọAn toàn Mạng*PGPDo Phil Zimmermann phát triển vào năm 1991Chương trình miễn phí, chạy trên nhiều môi trường khác nhau (phần cứng, hệ điều hành)Có phiên bản thương mại nếu cần hỗ trợ kỹ thuậtDựa trên các giải thuật mật mã an toàn nhấtChủ yếu ứng dụng cho thư điện tử và fileĐộc lập với các tổ chức chính phủBao gồm 5 dịch vụ : xác thực, bảo mật, nén, tương thích thư điện tử, phân và ghépBa dịch vụ sau trong suốt đối với người dùng Nguyễn Đại ThọAn toàn Mạng*Xác thực của PGPNguồn AĐích BSo sánhM = Thông báo gốc EP = Mã hóa khóa công khaiH = Hàm băm DP = Giải mã khóa công khai║ = Ghép KRa = Khóa riêng của AZ = Nén KUa = Khóa công khai của AZ-1 = Cởi nénNguyễn Đại ThọAn toàn Mạng*Bảo mật của PGPNguồn AĐích BEC = Mã hóa đối xứngDC = Giải mã đối xứngKs = Khóa phiênNguyễn Đại ThọAn toàn Mạng*Xác thực và bảo mật của PGPNguồn AĐích BNguyễn Đại ThọAn toàn Mạng*Nén của PGPPGP nén thông báo sử dụng giải thuật ZIPKý trước khi nénThuận tiện lưu trữ và kiểm tra, nếu ký sau khi nén thìCần lưu phiên bản nén với chữ ký, hoặcCần nén lại thông báo mỗi lần muốn kiểm traGiải thuật nén không cho kết quả duy nhấtMỗi phiên bản cài đặt có tốc độ và tỷ lệ nén khác nhauNếu ký sau khi nén thì các chương trình PGP cần sử dụng cùng một phiên bản của giải thuật nénMã hóa sau khi nénÍt dữ liệu sẽ khiến việc mã hóa nhanh hơnThông báo nén khó phá mã hơn thông báo thôNguyễn Đại ThọAn toàn Mạng*Tương thích thư điện tử của PGPPGP bao giờ cũng phải gửi dữ liệu nhị phânNhiều hệ thống thư điện tử chỉ chấp nhận văn bản ASCII (các ký tự đọc được)Thư điện tử vốn chỉ chứa văn bản đọc đượcPGP dùng giải thuật cơ số 64 chuyển đổi dữ liệu nhị phân sang các ký tự ASCII đọc đượcMỗi 3 byte nhị phân chuyển thành 4 ký tự đọc đượcHiệu ứng phụ của việc chuyển đổi là kích thước thông báo tăng lên 33%Nhưng có thao tác nén bù lạiNguyễn Đại ThọAn toàn Mạng*Bảng chuyển đổi cơ số 64Nguyễn Đại ThọAn toàn Mạng*Phân và ghép của PGPCác giao thức thư điện tử thường hạn chế độ dài tối đa của thông báoVí dụ thường là 50 KBPGP phân thông báo quá lớn thành nhiều thông báo đủ nhỏViệc phân đoạn thông báo thực hiện sau tất cả các công đoạn khácBên nhận sẽ ghép các thông báo nhỏ trước khi thực hiện các công đoạn khác Nguyễn Đại ThọAn toàn Mạng*Danh tính khóa PGPVới một thông báo nhất định cần xác định sử dụng khóa nào trong nhiều khóa công khai / khóa riêngCó thể gửi khóa công khai cùng với thông báo nhưng lãng phí đường truyền không cần thiếtGán cho mỗi khóa một danh tính riêngGồm 64 bit bên phải của khóaXác suất cao là mỗi khóa có một danh tính duy nhấtSử dụng danh tính khóa trong chữ kýNguyễn Đại ThọAn toàn Mạng*Quản lý khóa PGPThay vì dựa trên các CA (cơ quan chứng thực), đối vởi PGP mỗi người dùng là một CACó thể chứng thực cho những người dùng quen biếtTạo nên một mạng lưới tin cậyTin các khóa đã được chứng thựcMỗi khóa có một chỉ số tin cậyNgười dùng có thể thu hồi khóa của bản thânNguyễn Đại ThọAn toàn Mạng*S/MIMENâng cấp từ chuẩn khuôn dạng thư điện tử MIME có thêm tính năng an toàn thông tinMIME khắc phục những hạn chế của SMTP (Simple Mail Transfer Protocol)Không truyền được file nhị phân (chương trình, ảnh,...)Chỉ gửi được các ký tự ASCII 7 bitKhông nhận thông báo vượt quá kích thước cho phép...S/MIME có xu hướng trở thành chuẩn công nghiệp sử dụng trong thương mại và hành chínhPGP dùng cho cá nhânNguyễn Đại ThọAn toàn Mạng*Các chức năng của S/MIMEBao bọc dữ liệuMã hóa nội dung thông báo và các khóa liên quanKý dữ liệuChữ ký số tạo thành nhờ mã hóa thông tin tổng hợp thông báo sử dụng khóa riêng của người kýThông báo và chữ ký số được chuyển đổi cơ số 64Ký và để nguyên dữ liệuChỉ chữ ký số được chuyển đổi cơ số 64Ký và bao bọc dữ liệuKết hợp ký và bao bọc dữ liệuNguyễn Đại ThọAn toàn Mạng*Xử lý chứng thực S/MIMES/MIME sử dụng các chứng thực khóa công khai theo X.509 v3Phương thức quản lý khóa lai ghép giữa cấu trúc phân cấp CA theo đúng X.509 và mạng lưới tin cậy của PGPMỗi người dùng có một danh sách các khóa của bản thân, danh sách các khóa tin cậy và danh sách thu hồi chứng thựcChứng thực phải được ký bởi CA tin cậyNguyễn Đại ThọAn toàn Mạng*Chương 7AN TOÀN IPNguyễn Đại ThọAn toàn Mạng*Giới thiệuLý do cần IPSecCó những vấn đề an toàn cần giải quyết ở mức thấp hơn tầng ứng dụngĐặc biệt các hình thức tấn công ở tầng IP rất phổ biến như giả mạo IP, xem trộm gói tinAn toàn ở mức IP sẽ đảm bảo an toàn cho tất cả các ứng dụngBao gồm nhiều ứng dụng chưa có tính năng an toànCác cơ chế an toàn của IPSecXác thựcBảo mậtQuản lý khóaNguyễn Đại ThọAn toàn Mạng*Các ứng dụng của IPSecXây dựng mạng riêng ảo an toàn trên InternetTiết kiệm chi phí thiết lập và quản lý mạng riêngTruy nhập từ xa an toàn thông qua InternetTiết kiệm chi phí đi lạiGiao tiếp an toàn với các đối tác Đảm bảo xác thực, bảo mật và cung cấp cơ chế trao đổi khóaTăng cường an toàn thương mại điện tửHỗ trợ thêm cho các giao thức an toàn có sẵn của các ứng dụng Web và thương mại điện tửNguyễn Đại ThọAn toàn Mạng*Minh họa ứng dụng IPSecNguyễn Đại ThọAn toàn Mạng*Ích lợi của IPSecTại tường lửa hoặc bộ định tuyến, IPSec đảm bảo an toàn cho mọi luồng thông tin vượt biênTại tường lửa, IPSec ngăn chặn thâm nhập trái phép từ Internet vàoIPSec nằm dưới tầng giao vận, do vậy trong suốt với các ứng dụngIPSec có thể trong suốt với người dùng cuốiIPSec có thể áp dụng cho người dùng đơn lẻIPSec bảo vệ an toàn kiến trúc định tuyếnNguyễn Đại ThọAn toàn Mạng*Kiến trúc an toàn IPĐặc tả IPSec khá phức tạpĐịnh nghĩa trong nhiều tài liệuBao gồm RFC 2401 (tổng quan kiến trúc), RFC 2402 (mô tả mở rộng xác thực), RFC 2406 (mô tả mở rộng mã hóa), RFC 2408 (đặc tả khả năng trao đổi khóa)Các tài liệu khác được chia thành 7 nhómViệc hỗ trợ IPSec là bắt buộc đối với IPv6, tùy chọn đối với IPv4IPSec được cài đặt như các phần đầu mở rộng sau phần đầu IPPhần đầu mở rộng cho xác thực là AHPhần đầu mở rộng cho mã hóa là ESPNguyễn Đại ThọAn toàn Mạng*Tổng quan tài liệu IPSecNguyễn Đại ThọAn toàn Mạng*Các dịch vụ IPSecBao gồmĐiều khiển truy nhậpToàn vẹn phi kết nốiXác thực nguồn gốc dữ liệuTừ chối các gói tin lặpMột hình thức của toàn vẹn thứ tự bộ phậnBảo mật (mã hóa)Bảo mật luồng tin hữu hạnSử dụng một trong hai giao thứcGiao thức xác thực (ứng với AH)Giao thức xác thực/mã hóa (ứng với ESP)Nguyễn Đại ThọAn toàn Mạng*Các liên kết an toànKhái niệm liên kết an toàn (SA)Là quan hệ một chiều giữa bên gửi và bên nhận, cho biết các dịch vụ an toàn đối với luồng tin lưu chuyểnMỗi SA được xác định duy nhất bởi 3 tham sốChỉ mục các tham số an toàn (SPI)Địa chỉ IP đíchĐịnh danh giao thức an toànCác tham số khác lưu trong CSDL SA (SAD)Số thứ tự, các thông tin AH và ESP, thời hạn,...CSDL chính sách an toàn (SPD) cho phép điều chỉnh mức độ áp dụng IPSecNguyễn Đại ThọAn toàn Mạng*Phần đầu xác thựcĐảm bảo toàn vẹn và xác thực các gói IPCho phép một hệ thống đầu cuối hay một thiết bị mạng xác thực người dùng hoặc ứng dụngTránh giả mạo địa chỉChống lại hình thức tấn công lặp lạiSử dụng mã xác thực thông báoBên gửi và bên nhận phải có một khóa bí mật dùng chungNguyễn Đại ThọAn toàn Mạng*Khuôn dạng AHNguyễn Đại ThọAn toàn Mạng*Chế độ giao vận và đường hầmNguyễn Đại ThọAn toàn Mạng*Phần đầu ESPĐảm bảo bảo mật nội dung và bảo mật luồng tin hữu hạnCó thể cung cấp các dịch vụ xác thực giống như với AHCho phép sử dụng nhiều giải thuật mã hóa, phương thức mã hóa, và cách độn khác nhauDES, 3DES, RC5, IDEA, CAST,...CBC,...Độn cho tròn kích thước khối, kích thước trường, che dấu lưu lượng luồng tinNguyễn Đại ThọAn toàn Mạng*Khuôn dạng ESPNguyễn Đại ThọAn toàn Mạng*Giao vận và đường hầm ESPChế độ giao vận ESP dùng để mã hóa và có thể có thêm chức năng xác thực dữ liệu IPChỉ mã hóa dữ liệu không mã hóa phần đầuDễ bị phân tích lưu lượng nhưng hiệu quảÁp dụng cho truyền tải giữa hai điểm cuốiChế độ đường hầm mã hóa toàn bộ gói tin IPPhải bổ xung phần đầu mới cho mỗi bước chuyểnÁp dụng cho các mạng riêng ảo, truyền tải thông qua cầu nốiNguyễn Đại ThọAn toàn Mạng*Kết hợp các liên kết an toànMỗi SA chỉ có thể cài đặt một trong hai giao thức AH và ESPĐể cài đặt cả hai cần kết hợp các SA với nhauTạo thành một gói liên kết an toànCó thể kết thúc tại các điểm cuối khác nhau hoặc giống nhauKết hợp theo 2 cáchGần với giao vậnTạo đường hầm theo nhiều bướcCần xem xét thứ tự xác thực và mã hóa Nguyễn Đại ThọAn toàn Mạng*Ví dụ kết hợp các SANguyễn Đại ThọAn toàn Mạng*Quản lý khóaCó chức năng sản sinh và phân phối khóaHai bên giao tiếp với nhau nói chung cần 4 khóaMỗi chiều cần 2 khóa: 1 cho AH, 1 cho ESPHai chế độ quản lý khóaThủ côngQuản trị hệ thống khai báo các khóa khi thiết lập cấu hìnhThích hợp với các môi trường nhỏ và tương đối tĩnh Tự độngCho phép tạo khóa theo yêu cầu cho các SAThích hợp với các hệ phân tán lớn có cấu hình luôn thay đổiGồm các thành phần Oakley và ISAKMPNguyễn Đại ThọAn toàn Mạng*OakleyLà một giao thức trao đổi khóa dựa trên giải thuật Diffie-HellmanBao gồm một số cải tiến quan trọngSử dụng cookie để ngăn tấn công gây quá tảiCookie cần phụ thuộc vào các bên giao tiếp, không thể sinh ra bởi một bên khác với bên sinh cookie, có thể sinh và kiểm tra một cách nhanh chóngHỗ trợ việc sử dụng các nhóm với các tham số Diffie-Hellman khác nhauSử dụng các giá trị nonce để chống tấn công lặp lạiXác thực các trao đổi Diffie-Hellman để chống tấn công người ở giữaNguyễn Đại ThọAn toàn Mạng*ISAKMPViết tắt của Internet Security Association and Key Management ProtocolCung cấp một cơ cấu cho việc quản lý khóaĐịnh nghĩa các thủ tục và các khuôn dạng thông báo cho việc thiết lập, thỏa thuận, sửa đổi, và hủy bỏ các liên kết an toànĐộc lập với giao thức trao đổi khóa, giải thuật mã hõa, và phương pháp xác thựcNguyễn Đại ThọAn toàn Mạng*Các khuôn dạng ISAKMPNguyễn Đại ThọAn toàn Mạng*Chương 8AN TOÀN WEBNguyễn Đại ThọAn toàn Mạng*Vấn đề an toàn Web (1)Web được sử dụng rộng rãi bởi các công ty, tổ chức, và các cá nhânCác vấn đề đặc trưng đối với an toàn WebWeb dễ bị tấn công theo cả hai chiềuTấn công Web server sẽ gây tổn hại đến danh tiếng và tiền bạc của công tyCác phần mềm Web thường chứa nhiều lỗi an toànWeb server có thể bị khai thác làm căn cứ để tấn công vào hệ thống máy tính của một tổ chứcNgười dùng thiếu công cụ và kiến thức để đối phó với các hiểm họa an toànNguyễn Đại ThọAn toàn Mạng*Vấn đề an toàn Web (2)Các hiểm họa đối với an toàn WebTính toàn vẹnTính bảo mậtTừ chối dịch vụXác thựcCác biện pháp an toàn WebNguyễn Đại ThọAn toàn Mạng*SSLLà một dịch vụ an toàn ở tầng giao vậnDo Netscape khởi xướngPhiên bản 3 được công bố dưới dạng bản thảo InternetTrở thành chuẩn TLSPhiên bản đầu tiên của TLS ≈ SSLv3.1 tương thích ngược với SSLv3Sử dùng TCP để cung cấp dịch vụ an toàn từ đầu cuối tới đầu cuốiGồm 2 tầng giao thứcNguyễn Đại ThọAn toàn Mạng*Mô hình phân tầng SSLNguyễn Đại ThọAn toàn Mạng*Kiến trúc SSL (1)Kết nối SSLLiên kết giao tiếp từ điểm nút tới điểm nútMang tính nhất thờiGắn với một phiên giao tácCác tham số xác định trạng thái kết nốiCác số ngẫu nhiên chọn bởi server và clientKhóa MAC của serverKhóa MAC của clientKhóa mã hóa của serverKhóa mã hóa clientCác vector khởi tạoCác số thứ tựNguyễn Đại ThọAn toàn Mạng*Kiến trúc SSL (2)Phiên SSLLiên kết giữa client và serverTạo lập nhờ giao thức bắt tayCó thể bao gồm nhiều kết nốiXác lập một tập các tham số an toàn sử dụng bởi tất cả các kết nối trong phiên giao tácĐịnh danh phiênChứng thực điểm nútPhương pháp nénĐặc tả mã hóaKhóa bí mật chủCờ có thể tiếp tục hay khôngNguyễn Đại ThọAn toàn Mạng*Giao thức bản ghi SSLCung cấp các dịch vụ bảo mật và xác thựcKhóa bí mật chung do giao thức bắt tay xác lậpNguyễn Đại ThọAn toàn Mạng*Khuôn dạng bản ghi SSLNguyễn Đại ThọAn toàn Mạng*Giao thức đổi đặc tả mã hóa SSLMột trong ba giao thức chuyên dụng SSL sử dụng giao thức bản ghi SSLChỉ gồm một thông báo chứa một byte dữ liệu có giá trị là 1Khiến cho trạng thái treo trở thành trạng thái hiện thờiCập nhật đặc tả mã hóa cho kết nốiNguyễn Đại ThọAn toàn Mạng*Giao thức báo động SSLDùng chuyển tải các báo động liên quan đến SSL tới các thực thể điểm nútMỗi thông báo gồm 2 byteByte thứ nhất chỉ mức độ nghiêm trọngCảnh báo : có giá trị là 1Tai họa : có giá trị là 2Byte thứ hai chỉ nội dung báo độngTai họa : unexpected_message, bad_record_mac, decompression_failure, handshake_failure, illegal_parameterCảnh báo : close_notify, no_certificate, bad_certificate, unsupported_certificate, certificate_revoked, certificate_expired, certificate_unknownNguyễn Đại ThọAn toàn Mạng*Giao thức bắt tay SSLCho phép server và clientXác thực lẫn nhauThỏa thuận các giải thuật mã hóa và MACThỏa thuận các khóa mật mã sẽ được sử dụngGồm một chuỗi các thông báo trao đổi giữa client và serverMỗi thông báo gồm 3 trườngKiểu (1 byte)Độ dài (3 byte)Nội dung ( 0 byte)Nguyễn Đại ThọAn toàn Mạng*TLSLà phiên bản chuẩn Internet của SSLMô tả trong RFC 2246 rất giống với SSLv3Một số khác biệt nhỏ so với SSLv3Số phiên bản trong khuôn dạng bản ghi SSLSử dụng HMAC để tính MACSử dụng hàm giả ngẫu nhiên để khai triển các giá trị bí mậtCó thêm một số mã báo độngKhông hỗ trợ FortezzaThay đổi trong trao đổi chứng thựcThay đổi trong việc sử dụng dữ liệu đệmKẾT THÚC
Các file đính kèm theo tài liệu này:
- slide_an_toan_mang_3218.ppt