Thế giới đứng trước thách thức của các tấn công khủng bố với an ninh được thắt chặt Công nghệ thông tin cũng là nạn nhân của một số lượng lớn chưa từng có các tấn công An toàn thông tin là một thành phần cốt lõi của công nghệ thông tin Bảo vệ thông tin điện tử có giá trị Nhu cầu về các chuyên gia CNTT biết bảo vệ an toàn mạng và máy tính là rất lớn ....
Trang 1AN TOÀN VÀ AN NINH MẠNG
TS Nguyễn Đại Thọ
Trường Đại học Công nghệ Đại học Quốc gia Hà Nội
Trang 2GIỚI THIỆU
Chương 1
Trang 3Bối cảnh xã hội
• Thế giới đứng trước thách thức của các tấn công khủng bố với an ninh được thắt chặt
• Công nghệ thông tin cũng là nạn nhân của một
số lượng lớn chưa từng có các tấn công
• An toàn thông tin là một thành phần cốt lõi của công nghệ thông tin
– Bảo vệ thông tin điện tử có giá trị
• Nhu cầu về các chuyên gia CNTT biết bảo vệ an toàn mạng và máy tính là rất lớn
Trang 4Bối cảnh công nghệ
• Hai biến đổi lớn trong yêu cầu về an toàn
thông tin thời gian gần đây
– Trước đây an toàn thông tin được đảm bảo bằng các biện pháp vật lý và hành chính
– Sử dụng máy tính tạo yêu cầu về các công cụ tự động để bảo vệ file và các thông tin lưu trữ khác – Sử dụng mạng và các phương tiện truyền thông
Trang 5Làm rõ khái niệm an toàn thông tin
• An toàn
– Trạng thái không bị nguy hiểm hoặc rủi ro
• Trạng thái hay điều kiện đó tồn tại vì các biện pháp bảo
vệ được thiết lập và duy trì
• An toàn thông tin
– Mô tả nhiệm vụ bảo vệ thông tin ở khuôn dạng số
• An toàn thông tin có thể được hiểu thông qua xem xét mục tiêu và cách thức thực hiện
Trang 6Mục tiêu của an toàn thông tin
• Đảm bảo các biện pháp bảo vệ được thực hiện một cách thích hợp
• Bảo vệ thông tin có giá trị đối với con người
Trang 8Các thành phần an toàn thông tin
Trang 9Định nghĩa an toàn thông tin
• Một định nghĩa hoàn chỉnh hơn về an toàn
thông tin
– Là thứ bảo vệ tính toàn vẹn, tính bảo mật, và tính khả dụng của thông tin trên các thiết bị lưu trữ, thao tác, và truyền dẫn thông tin thông qua các sản phẩm, con người, và các thủ tục
Trang 10Các khái niệm an toàn thông tin (1)
• Tính bảo mật
– Bảo vệ những hạn chế cho phép về truy nhập và
tiết lộ thông tin
• Bao gồm các biện pháp bảo vệ tính riêng tư cá nhân và thông tin độc quyền
• Tính toàn vẹn
– Bảo vệ thông tin khỏi bị sửa đổi hoặc triệt tiêu một cách không thích hợp
Trang 11Các khái niệm an toàn thông tin (2)
Trang 13Các thách thức an toàn máy tính (1)
• Không đơn giản như lầm tưởng ban đầu
• Luôn phải xem xét các tấn công tiềm tàng vào các tính năng an ninh muốn phát triển
• Các thủ tục an ninh thường trái với trực quan
• Phải quyết định triển khai các cơ chế an ninh ở đâu
• Bao hàm nhiều hơn một giải thuật hay giao
thức và cần tới thông tin bí mật
Trang 14Các thách thức an toàn máy tính (2)
• Cuộc đấu trí giữa kẻ tấn công và người thiết kế
hay quản trị
• Không thấy là có lợi cho đến khi bị phá hoại
• Yêu cầu giám sát đều đặn thậm chí thường xuyên
• Quá thường xuyên là giải pháp tích hợp sau khi hoàn thành thiết kế
• Bị coi là trở ngại đối với việc sử dụng hiệu quả và
Trang 15Kiến trúc an ninh OSI
• Mục tiêu
– Ước định một cách có hiệu quả các nhu cầu an ninh – Đánh giá và lựa chọn các sản phẩm và chính sách an ninh thích hợp
• “Kiến trúc an ninh cho OSI” của ITU-T X.800
• Một cách thức có hệ thống định nghĩa và đáp
ứng các nhu cầu an ninh
• Cung cấp một tổng quan hữu ích mặc dù trừu tượng về các khái niệm sẽ nghiên cứu
Trang 17– Làm lộ nội dung thông báo
– Phân tích lưu lượng
• Chú trọng ngăn ngừa thay vì phát hiện
– Thường bằng các biện pháp mã hóa
Trang 18Làm lộ nội dung thông báo
Trang 19Phân tích lưu lượng
Trang 20Tấn công chủ động
• Bao hàm việc sửa đổi luồng dữ liệu hoặc tạo
ra luồng dữ liệu giả
• Bốn kiểu
– Giả mạo ─ Sửa đổi thông báo
– Lặp lại ─ Từ chối dịch vụ
• Mục tiêu là phát hiện tấn công chủ động và
khôi phục khỏi ngưng trệ hay chậm trễ
Trang 21Giả mạo
Trang 22Lặp lại
Trang 23Sửa đổi thông báo
Trang 24Từ chối dịch vụ
Trang 25Dịch vụ an ninh
• X.800
– Dịch vụ cung cấp bởi một tầng giao thức trong các
hệ thống mở truyền thông, đảm bảo an toàn thỏa đáng các hệ thống và các chuyển giao dữ liệu
• RFC 2828
– Dịch vụ xử lý hoặc truyền thông cung cấp bởi một
hệ thống để đem lại một loại bảo vệ nhất định cho các tài nguyên hệ thống
• Chủ định chống lại các tấn công an ninh
Trang 26Các dịch vụ an ninh (X.800) (1)
• Xác thực
– Đảm bảo thực thể truyền thông là cái nó khai
nhận
• Điều khiển truy nhập
– Ngăn ngừa sử dụng một cách trái phép tài nguyên
• Bảo mật dữ liệu
– Bảo vệ dữ liệu khỏi bị tiết lộ một cách trái phép
Trang 28• Một yếu tố đặc biệt hậu thuẫn nhiều cơ chế
an ninh đang được sử dụng
– Các kỹ thuật mật mã học
Trang 29Các cơ chế an ninh (X.800)
• Các cơ chế an ninh chuyên biệt
– Được cài đặt ở một tầng giao thức chuyên biệt
– Mã 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 lưu lượng, điều khiển định tuyến, công chứng
• Các cơ chế an ninh phổ quát
– Không chuyên biệt cho bất kỳ dịch vụ an ninh hay tầng giao thức đặc biệt nào
– Tính năng đáng tin, nhãn an ninh, phát hiện sự kiện,
dấu vết kiểm nghiệm an ninh, khôi phục an ninh
Trang 30Mô hình an toàn mạng
Trang 31Nhiệm vụ mô hình an toàn mạng
• Thiết kế giải thuật thực hiện chuyển đổi liên
quan đến an toàn
• Sinh thông tin bí mật để dùng với giải thuật
• Phát triển các phương pháp phân phối và chia
sẻ thông tin bí mật
• Đặc tả một giao thức cho phép các chủ thể sử dụng giải thuật an ninh và thông tin bí mật cho một dịch vụ an ninh
Trang 33– Có thể bảo vệ tính toàn vẹn của thông tin
– Giúp đảm bảo tính khả dụng của dữ liệu để những
người dùng được phép (với khóa) truy nhập được
– Có thể xác minh tính xác thực của bên gửi
– Có thể buộc chống chối bỏ
Trang 34Các giải thuật mật mã học
• Các giải thuật đối xứng
– Sử dụng cùng một khóa để mã hóa và giải mã
thông báo
• Các giải thuật bất đối xứng (khóa công khai)
– Sử dụng hai thay vì một khóa
• Các giải thuật băm
– Tạo ra một “chữ ký” duy nhất đại diện cho nội
Trang 36MÃ HÓA ĐỐI XỨNG VÀ BẢO MẬT
Chương 2
Trang 37Mã hóa đối xứng
• Còn gọi là mã hóa truyền thống, khóa bí mật, khóa riêng, hay khóa đơn
• Bên gửi và bên nhận sử dụng một khóa chung
• Tất cả mã hóa từ thời cổ đại đến năm 1976 chỉ dựa trên các phương pháp đối xứng
• Được sử dụng rộng rãi nhất cho đến nay
Trang 39Mô hình mã hóa đối xứng
Khóa bí mật dùng chung bởi bên gửi và bên nhận
Khóa bí mật dùng chung bởi bên gửi và bên nhận
Nguyên bản
đầu vào
Nguyên bản đầu ra
Bản mã truyền đi
Mã hóa
Y = EK(X)
Giải mã
X = DK(Y)
Trang 40Các yêu cầu đặt ra
• Một giải thuật mã hóa mạnh
– Không cần giữ bí mật giải thuật mã hóa
• Có thể sử dụng rộng rãi
– Địch thủ có thể biết một số bản mã cùng với các nguyên bản tương ứng
• Chỉ bên gửi và bên nhận biết khóa bí mật
– An ninh chủ yếu nằm ở vấn đề duy trì tính bí mật
Trang 41Phân loại mật mã học
• Phân loại theo 3 tiêu chí độc lập với nhau
– Kiểu thao tác mã hóa được sử dụng
Trang 44An toàn của các hệ mật mã học
• Tính an toàn tính toán
– Chi phí phá vỡ hệ mã hóa vượt quá giá trị của
thông tin được mã hóa
– Thời gian cần thiết để phá vỡ hệ mã hóa vượt quá tuổi thọ hữu ích của thông tin
• Nếu giải thuật không có yếu điểm toán học nội tại nào thì phương pháp tìm kiếm vét cạn có
Trang 452,15 ms 10,01 giờ 5,4 x 10 18 năm 5,9 x 10 30 năm 6,4 x 10 6 năm
Tuổi vũ trụ : ~ 10 10 năm
Khóa DES dài 56 bit
Khóa AES dài 128+ bit
Khóa 3DES dài 168 bit
Trang 46Cấu trúc hệ mã hóa Feistel
• Được mô tả đầu tiên bởi Horst Feistel của công
ty IBM vào năm 1973
Trang 47Mã hóa và
giải mã
Feistel
Trang 48Các yếu tố thiết kế Feistel
Trang 49DES (Data Encryption Standard)
• Giải thuật mã hóa được sử dụng rộng rãi nhất
• Chuẩn FIPS 46 do NIST ban hành năm 1977
• Nguyên bản 64 bit và khóa 56 bit
– Các nguyên bản dài hơn được xử lý theo các khối 64 bit
• Một biến thể nhỏ của mạng Feistel
– 16 vòng với 16 khóa con, 1 khóa con cho mỗi vòng – Phép giải mã hầu như giống hệt phép mã hóa với các khóa con được sử dụng theo thứ tự ngược lại
Trang 50Độ mạnh của DES
• Hai quan ngại
– Khả năng khai thác các đặc tính của giải thuật DES
• Nhiều nỗ lực phá mã không thành công
– Độ dài khóa
• Mất hơn một nghìn năm để phá mã với một máy tính
có tốc độ thực hiện 1 phép mã hóa DES /s
• Tháng 7/1998, EFF tuyên bố đã phá mã DES với một máy tính trị giá 250000 đô la trong chưa đến 3 ngày
Trang 51• Chuẩn hóa lần đầu trong ANSI X9.17 năm 1985
• Một phần của DES trong FIPS 46-3 năm 1999
• Sử dụng 3 khóa và 3 lần thực hiện DES
– C = E(K3, D(K2, E(K1, P)))
– Có thể sử dụng 2 khóa: C = E(K1, D(K2, E(K1, P)))
– Trở thành DES đơn với 1 khóa
• Vì sao không dùng 2DES?
– Tấn công gặp nhau ở giữa với O(256 ) bước
Trang 52Xuất xứ của AES
• Nhược điểm của 3DES
– Tương đối chậm về phần mềm
– Sử dụng kích thước khối 64 bit
• Năm 1997 NIST kêu gọi đề xuất một chuẩn
mới AES (Advanced Encryption Standard)
• 15 đề xuất qua vòng 1, 5 giải thuật qua vòng 2
• Rijndael được chọn làm AES tháng 10/2000
Trang 53Tổng quan về AES
• Rijndael được phát triển bởi 2 nhà mật mã
học người Bỉ là Rijmen và Daemen
• Sử dụng các khối 128 bit và các khóa
128/192/256 bit
• Lưu ý
– Không theo cấu trúc Feistel
• Xử lý toàn bộ khối dữ liệu ở mỗi vòng
• Các khối dữ liệu và khóa được coi như các ma trận vuông các byte với thứ tự theo cột
Trang 54Mã hóa và
giải mã AES
Trang 55Vòng mã hóa AES
Trang 56Cấu trúc các hệ mã hóa luồng
Trang 57Tính chất các hệ mã hóa luồng
• Các tiêu chí thiết kế quan trọng
– Chuỗi mã hóa có chu kỳ lớn
– Luồng khóa có biểu hiện ngẫu nhiên
– Độ dài khóa đủ lớn
• Ít nhất là 128 bit
• Nếu được thiết kế hợp lý, có thể an toàn như
hệ mã hóa khối có độ dài khóa tương tự
• Nhưng thường nhanh hơn và đơn giản hơn
Trang 58• Thiết kế năm 1987 bởi Rivest cho RSA Security
• Hệ mã hóa luồng định hướng byte với kích
thước khóa có thể thay đổi
• Được sử dụng trong SSL/TLS và WEP/WPA
• Rất đơn giản và tương đối dễ giải thích
• Dùng khóa khởi tạo vector trạng thái 256 byte
• Sinh byte k qua lựa chọn 1 trong 256 phần tử
Trang 59Khởi tạo RC4
• Bắt đầu với một mảng S có 256 phần tử nhận các giá trị 0 255 theo thứ tự tăng dần
Trang 60Sinh luồng RC4
• Duyệt qua tất cả các phần tử của S
– S tiếp tục được xáo trộn
– Tổng của cặp xáo trộn chọn nên giá trị khóa luồng
Trang 61Tổng quan RC4
Trang 62Chế độ hoạt động
• Các hệ mã hóa khối xử lý các khối có kích thước
cố định
– Với DES và 3DES là 64 bit, AES là 128 bit
• Cần phân nguyên bản dài hơn thành các khối
– Độn khối cuối cùng nếu cần thiết
• SP 800-38A của NIST định ra 5 chế độ
– Đủ hỗ trợ gần như tất cả các ứng dụng có thể
Trang 63ECB (Electronic Codebook)
• Nguyên bản được xử lý theo từng khối một
• Mỗi khối được mã hóa một cách độc lập sử
– Có thể không an toàn với các thông báo dài
• Có tính cấu trúc cao hoặc trùng lặp theo độ dài khối
Trang 64Ví dụ tính không an toàn của ECB
Trang 65CBC (Cipher Block Chaining)
• Thông báo được phân thành các khối
• Đầu vào cho phép mã hóa là kết quả XOR khối nguyên bản hiện thời và khối bản mã trước đó
– Mỗi khối bản mã trước được xâu chuỗi với khối nguyên bản hiện thời
– Sử dụng IV (Initial Vector) để khởi tạo quá trình
• Không làm bộc lộ các mẫu khối trùng lặp
• IV cần được bảo vệ như khóa
Trang 66Mã hóa và
giải mã
CBC
Trang 67CFB (Cipher Feedback)
• Chuyển đổi một hệ mã hóa khối thành luồng
– Không cần độn thông báo
– Có thể hoạt động theo thời gian thực
– Bản mã có cùng độ dài như nguyên bản
• Đơn vị bên trái nhất ở đầu ra của phép mã hóa được XOR với đơn vị nguyên bản hiện thời tạo
ra đơn vị bản mã hiện thời
– Đơn vị bản mã được phản hồi vào giai đoạn sau
– Đầu vào của phép mã hóa được khởi tạo bằng IV
Trang 68Mã hóa và
giải mã
CFB
Trang 69– Thường được khởi tạo sau đó tăng 1 mỗi lần sau
• Biến đếm được mã hóa sau đó XOR với khối
nguyên bản để tạo khối bản mã
Trang 70Mã hóa và
giải mã
CTR
Trang 71Ưu điểm của CTR
• Tính hiệu quả
– Có thể mã hóa song song bằng phần cứng hoặc
phần mềm
– Có thể tiền xử lý trước khi cần
• Truy nhập ngẫu nhiên vào các khối dữ liệu
• Tính an toàn đã được chứng minh
– Tốt như các chế độ khác
• Chỉ cần cài đặt phép mã hóa
Trang 72Tổng kết
• Các nguyên tắc mã hóa đối xứng
– Cấu trúc hệ mã hóa Feistel
• Các giải thuật mã hóa khối đối xứng
– DES, 3DES, AES
• Mã hóa luồng và hệ mã hóa luồng RC4
• Các chế độ hoạt động của các hệ mã hóa khối
– ECB, CBC, CFB, CTR
Trang 73MẬT MÃ KHÓA CÔNG KHAI VÀ XÁC THỰC THÔNG BÁO
Chương 3
Trang 74Xác thực thông báo
• Các yêu cầu đối với xác thực thông báo
– Cho phép kiểm tra tính xác thực của thông báo
• Có nguồn gốc đúng như tự nhận
• Không bị thay đổi
– Có thể cho phép kiểm tra trình tự và thời điểm
• Các hàm xác thực thông báo
– Hàm băm
Trang 75Mã hóa truyền thống
• Điều kiện
– Bên nhận có thể nhận biết thông báo hợp lệ hoặc thông báo có chứa mã phát hiện lỗi
• Có thể kiểm tra tính xác thực của thông báo
– Bên nhận biết chỉ có thể là bên gửi đã tạo ra nó
• Chỉ bên gửi và bên nhận biết khóa được sử dụng
– Bên nhận yên tâm không có thay đổi nào
• Có thể kiểm tra trình tự và thời điểm
– Nếu thông báo chứa số thứ tự và nhãn thời gian
Trang 76Không mã hóa thông báo
• Tạo thẻ xác thực gắn với mỗi thông báo
– Bản thân thông báo không được mã hóa
• Những tình huống mong muốn xác thực thông cần bảo mật
– Phát tỏa một thông báo đến nhiều đích với chỉ
một đích chịu trách nhiệm giám sát tính xác thực – Xác thực một cách ngẫu nhiên để làm nhẹ tải
Trang 79Sử dụng mã hóa đối xứng
Trang 80Sử dụng mã hóa khóa công khai
Trang 81Sử dụng giá trị bí mật
Trang 82Các yêu cầu đối với hàm băm
• Các yêu cầu về an ninh đối với hàm băm H
– Không thể tìm được x bằng tính toán sao cho H(x) =
h với bất kỳ giá trị băm h cho trước nào
• Tính một chiều hay chống tiền ảnh
– Không thể tìm được y x bằng tính toán sao cho H(y) = H(x) với bất kỳ dữ liệu x cho trước nào
• Tính chống tiền ảnh thứ hai hay chống xung đột yếu
– Không thể tìm được cặp (x, y) bằng tính toán sao
Trang 83Độ an toàn của hàm băm
• Hai kiểu tấn công
– Thám mã phân tích hoặc vét cạn
• Độ an toàn đối với các tấn công vét cạn chỉ phụ
thuộc vào độ dài n của mã băm
– Chống tiền ảnh: 2n
– Chống tiền ảnh thứ hai: 2n
– Chống xung đột: 2n/2
• Giá trị 2n/2 xác định sức mạnh của hàm băm
– 128 bit là không đủ, 160 bit là không chắc chắn
Trang 84SHA (Secure Hash Algorithm)
• Hàm băm được sử dụng rộng rãi nhất
• Phát triển bởi NIST và công bố thành chuẩn FIPS
180 (SHA-0) vào năm 1993
• Hiệu chỉnh thành SHA-1 năm 1995, ban hành
thành FIPS 180-1 (SHS), có đặc tả trong RFC 3174
• SHA dựa trên thiết kế MD4
• SHA-1 sinh các giá trị băm 160 bit
Trang 85SHS hiệu chỉnh
• NIST đưa ra 1 bản hiệu chỉnh của SHS trong FIPS 180-2 vào năm 2002 với 3 phiên bản mới của
SHA (gọi chung là SHA-2)
– SHA-256, SHA-384, SHA-512
• Có cùng cấu trúc và kiểu các phép thao tác như SHA-1
• Một bản hiệu chỉnh nữa được ban hành thành FIPS 180-3 vào năm 2008 với một phiên bản
224 bit, cũng có đặc tả trong RFC 4634
Trang 86So sánh các thông số SHA
Trang 87Tổng
quan
SHA-512
Trang 88Xử lý
SHA-512 của một
khối 1024 bit