Chương 1 AN TOÀN VÀ BẢO MẬT THÔNG TIN 1. Giới thiệu Trước đây khi công nghệ máy tính chưa phát triển, khi nói đến vấn đề an toàn bảo mật thông tin (Information Security), chúng ta thường hay nghĩ đến các biện pháp nhằm đảm bảo cho thông tin được trao đổi hay cất giữ một cách an toàn và bí mật. Chẳng hạn là các biện pháp như: - Đóng dấu và ký niêm phong một bức thư để biết rằng lá thư có được chuyển nguyên vẹn đến người nhận hay không. - Dùng mật mã mã hóa thông điệp để chỉ có người gửi và người nhận hiểu được thông điệp.
- Lưu giữ tài liệu mật trong các két sắt có khóa, tại các nơi được bảo vệ nghiêm ngặt, chỉ có những người được cấp quyền mới có thể xem tài liệu. Với sự phát triển mạnh mẽ của công nghệ thông tin, đặt biệt là sự phát triển của mạng Internet, ngày càng có nhiều thông tin được lưu giữ trên máy vi tính và gửi đi trên mạng Internet. Và do đó xuất hiện nhu cầu về an toàn và bảo mật thông tin trên máy tính. Có thể phân loại mô hình an toàn bảo mật thông tin trên máy tính theo hai hướng chính như sau: 1) Bảo vệ thông tin trong quá trình truyền thông tin trên mạng (Network Security).
2) Bảo vệ hệ thống máy tính, và mạng máy tính, khỏi sự xâm nhập phá hoại từ bên ngoài (System Security). Bảo vệ thông tin trong quá trình truyền thông tin trên mạng 1. Các loại hình tấn công Để xem xét những vấn đề bảo mật liên quan đến truyền thông trên mạng, chúng ta hãy lấy một bối cảnh sau: Có ba nhân vật tên là Alice, Bob và Trudy, trong đó Alice và Bob thực hiện trao đổi thông tin với nhau, còn Trudy là kẻ 3 xấu, đặt thiết bị can thiệp vào kênh truyền tin giữa Alice và Bob. Sau đây là các loại hành động tấn công của Trudy mà ảnh hưởng đến quá trình truyền tin giữa Alice và Bob: 1) Xem trộm thông tin (Release of Message Content): Trong trường hợp này Trudy chặn các thông điệp Alice gửi cho Bob, và xem được nội dung của thông điệp.
Trudy Đọc nội dung thông điệp của Alice Network Alice Bob Hình 1.1: Xem trộm thông điệp. 2) Thay đổi thông điệp (Modification of Message): Trudy chặn các thông điệp Alice gửi cho Bob và ngăn không cho các thông điệp này đến đích. Sau đó Trudy thay đổi nội dung của thông điệp và gửi tiếp cho Bob. Bob nghĩ rằng nhận được thông điệp nguyên bản ban đầu của Alice mà không biết rằng chúng đã bị sửa đổi.
Trudy Sửa thông điệp của Alice gửi cho Bob Network Alice Bob Hình 1.2: Sửa thông điệp. 4 3) Mạo danh (Masquerade): Trong trường hợp này Trudy giả là Alice gửi thông điệp cho Bob. Bob không biết điều này và nghĩ rằng thông điệp là của Alice. Trudy Trudy giả là Alice gửi thông điệp cho Bob Network Alice Bob Hình 1.
4) Phát lại thông điệp (Replay): Trudy sao chép lại thông điệp Alice gửi cho Bob. Sau đó một thời gian Trudy gửi bản sao chép này cho Bob. Bob tin rằng thông điệp thứ hai vẫn là từ Alice, nội dung hai thông điệp là giống nhau. Thoạt đầu có thể nghĩ rằng việc phát lại này là vô hại, tuy nhiên trong nhiều trường hợp cũng gây ra tác hại không kém so với việc giả mạo thông điệp.
Trudy Sao chép thông điệp của Alice và gửi lại cho Bob Network Alice Bob Hình 1.4: Phát lại thông điệp. Xét tình huống sau: giả sử Bob là ngân hàng còn Alice là một khách hàng. Alice gửi thông điệp đề nghị Bob chuyển cho Trudy 1000$. Alice có áp dụng các biện pháp như chữ ký điện tử với mục đích không cho Trudy mạo danh 5 cũng như sửa thông điệp.
Tuy nhiên nếu Trudy sao chép và phát lại thông điệp thì các biện pháp bảo vệ này không có ý nghĩa. Bob tin rằng Alice gửi tiếp một thông điệp mới để chuyển thêm cho Trudy 1000$ nữa. Yêu cầu của một hệ truyền thông tin an toàn và bảo mật chuyển đổi chuyển đổi liên quan đến liên quan đến an toàn Kênh thông tin an toàn Bên gửi thông tin thông tin Bên nhận bí mật bí mật Đối thủ Hình 1.5: Mô hình bảo mật truyền thông tin trên mạng. Một hệ truyền tin được gọi là an toàn và bảo mật thì phải có khả năng chống lại được các hình thức tấn công.
Như vậy hệ truyền tin phải có các đặc tính sau: 1) Tính bảo mật (Confidentiality): Ngăn chặn được vấn đề xem trộm thông điệp. 2) Tính chứng thực (Authentication): Nhằm đảm bảo cho Bob rằng thông điệp mà Bob nhận được thực sự được gửi đi từ Alice, và không bị thay đổi trong quá trình truyền tin. Như vậy tính chứng thực ngăn chặn các hình thức tấn công sửa thông điệp, mạo danh, và phát lại thông điệp. 3) Tính không từ chối (Nonrepudiation): Xét tình huống sau: Giả sử Bob là nhân viên môi giới chứng khoán của Alice.
Alice gửi thông điệp yêu cầu Bob mua cổ phiếu của công ty Z. Ngày hôm sau, giá cổ phiếu công ty này giảm hơn 50%. Thấy bị thiệt hại, Alice nói rằng Alice không gửi thông điệp nào cả và quy trách nhiệm cho Bob. Bob phải có cơ chế để xác định rằng chính Alice là người gửi mà Alice không thể từ chối trách nhiệm được.
6 Khái niệm chữ ký trên giấy mà con người đang sử dụng ngày nay là một cơ chế để bảo đảm tính chứng thực và tính không từ chối. Và trong lĩnh vực máy tính, người ta cũng thiết lập một cơ chế như vậy, cơ chế này được gọi là chữ ký điện tử. Vai trò của mật mã trong việc bảo mật thông tin trên mạng Mật mã hay mã hóa dữ liệu (cryptography), là một công cụ cơ bản thiết yếu của bảo mật thông tin. Mật mã đáp ứng được các nhu cầu về tính bảo mật (confidentiality), tính chứng thực (authentication) và tính không từ chối (non- repudiation) của một hệ truyền tin.
Bảo vệ hệ thống khỏi sự xâm nhập phá hoại từ bên ngoài Ngày nay, khi mạng Internet đã kết nối các máy tính ở khắp nơi trên thế giới lại với nhau, thì vấn đề bảo vệ máy tính khỏi sự thâm nhập phá hoại từ bên ngoài là một điều cần thiết. Thông qua mạng Internet, các hacker có thể truy cập vào các máy tính trong một tổ chức, lấy trộm các dữ liệu quan trọng như mật khẩu, thẻ tín dụng, tài liệu… Hoặc đơn giản chỉ là phá hoại, gây trục trặc hệ thống mà tổ chức đó phải tốn nhiều chi phí để khôi phục lại tình trạng hoạt động bình thường. Để thực hiện việc bảo vệ này, người ta dùng khái niệm “kiểm soát truy cập” (Access Control). Khái niệm kiểm soát truy cập này có hai yếu tố sau: - Chứng thực truy cập (Authentication): Xác nhận rằng đối tượng (con người hay chương trình máy tính) được cấp phép truy cập vào hệ thống.
Ví dụ: để sử dụng máy tính thì trước tiên đối tượng phải logon vào máy tính bằng username và password. Ngoài ra, còn có các phương pháp chứng thực khác như sinh trắc học (dấu vân tay, mống mắt…) hay dùng thẻ (thẻ ATM…). - Phân quyền (Authorization): Các hành động được phép thực hiện sau khi đã truy cập vào hệ thống. Ví dụ, bạn được cấp username và password để logon 7 vào hệ điều hành, tuy nhiên bạn chỉ được cấp quyền để đọc một file nào đó.
Hoặc bạn chỉ có quyền đọc file mà không có quyền xóa file. Với nguyên tắc như vậy thì một máy tính hoặc một mạng máy tính được bảo vệ khỏi sự thâm nhập của các đối tượng không được phép. Tuy nhiên thực tế chúng ta vẫn nghe nói đến các vụ tấn công phá hoại. Để thực hiện điều đó, kẻ phá hoại tìm cách phá bỏ cơ chế Authentication và Authorization bằng các cách thức sau: - Dùng các đoạn mã phá hoại (Malware): Như virus, worm, trojan, backdoor… những đoạn mã độc này phát tán lan truyền từ máy tính này qua máy tính khác dựa trên sự bất cẩn của người sử dụng, hay dựa trên các lỗi của phần mềm.
Lợi dụng các quyền được cấp cho người sử dụng (chẳng hạn rất nhiều người login vào máy tính với quyền administrator), các đoạn mã này thực hiện các lệnh phá hoại hoặc dò tìm password của quản trị hệ thống để gửi cho hacker, cài đặt các cổng hậu để hacker bên ngoài xâm nhập. - Thực hiện các hành vi xâm phạm (Intrusion): Việc thiết kế các phần mềm có nhiểu lỗ hổng, dẫn đến các hacker lợi dụng để thực hiện những lệnh phá hoại. Những lệnh này thường là không được phép đối với người bên ngoài, nhưng lỗ hổng của phần mềm dẫn đến được phép. Trong những trường hợp đặc biệt, lỗ hổng phần mềm cho phép thực hiện những lệnh phá hoại mà ngay cả người thiết kế chương trình không ngờ tới.
Hoặc hacker có thể sử dụng các cổng hậu do các backdoor tạo ra để xâm nhập. Kênh truy cập Hệ thống thông tin - Các tài nguyên tính toán (bộ nhớ, chíp xử lý.) - Dữ liệu Con người: hacker Chức năng - Các tiến trình Phần mềm: virus, worm. gác cổng - Các tài nguyên mạng Hình 1.6: Mô hình phòng chống xâm nhập và phá hoại hệ thống. 8 Để khắc phục các hành động phá hoại này, người ta dùng các chương trình có chức năng gác cổng, phòng chống.
Những chương trình này dò tìm virus hoặc dò tìm các hành vi xâm phạm để ngăn chặn chúng, không cho chúng thực hiện hoặc xâm nhập. Đó là các chương trình chống virus, chương trình firewall… Ngoài ra các nhà phát triển phần mềm cần có quy trình xây dựng và kiểm lỗi phần mềm nhằm hạn chế tối đa những lỗ hổng bảo mật có thể có. 9 Chương 2 TỔNG QUAN VỀ MẬT MÃ HÓA 2. Khái niệm về mã hóa Mã hoá là một tiến trình biến đổi thông tin, sử dụng các thuật toán nhằm mục đích không cho người khác có thể nắm bắt được nếu thiếu một vốn thông số nhất định (key) để dịch ngược.
Đi kèm với mã hoá là giải mã. Có rất nhiều loại thuật toán mã hoá cho dữ liệu máy tính, chúng được gọi tên theo thuật toán và có thể so sánh trực tiếp với nhau, ví dụ như mã hoá 128- bit, Triple- DES, 2048-bit RSA. Trong cùng một thuật toán mã hoá, dĩ nhiên một phép mã hoá 2048-bit RSA sẽ mạnh mẽ hơn phép mã hoá 1024-bit RSA. Nhưng như vậy không có nghĩa là một phép mã hoá với độ dài dãy bit lớn được xem là an toàn.