Ẩn toàn bộ file hệ thống như thế nào

Mã hoá file đơn giản có ích lợi riêng của nó, nhưng đôi khi sẽ còn ích lợi hơn nếu mã hoá được toàn bộ file hệ thống hoặc mã hoá toàn bộ ổ đĩa. Như trong trường hợp bạn cần bảo vệ một tập hợp lớn các file, hoặc đôi khi không chỉ bảo vệ mà bạn còn cần ẩn toàn bộ sự hiện diện của dữ liệu nhạy cảm trước những con mắt tò mò. Trong những trường hợp như vậy, giải pháp nào hữu hiệu cho bạn? Bài này sẽ cung cấp một số lựa chọn giúp bạn bảo vệ an toàn hơn cho hệ thống của mình.

Nếu đã có một phân vùng hay ổ đĩa mã hoá chuyên dụng, cái bạn cần bây giờ chỉ là một mật khẩu hoặc khoá giải mã để mở tất cả các file được bảo vệ. Một số giải pháp thậm chí cho phép bạn mã hoá cả phân vùng gốc và phân vùng trung gian. Song, có một số nhược điểm là đôi khi tốc độ thực thi bị giảm đáng kể (và đáng tiếc, đây lại là một trong các tiêu chí đánh giá bảo mật). Sự thật là, nếu một kẻ tấn công nào đó tìm ra khoá giải mã của bạn (hoặc có khi do chủ nhân sơ ý để lộ) thì bạn có thể nói lời tạm biệt với tất cả các file được bảo vệ của mình.

Thiết bị lặp vòng và dm-crypt

Hiện nay, phương thức chính được sử dụng trong mã hoá file hệ thống ở nhân Linux là trình điều khiển thiết bị lặp vòng và hệ thống ánh xạ thiết bị (sử dụng đích dm-crypt). Nếu bạn có ý định sử dụng thiết bị lặp vòng thì loop-AES là lựa chọn tốt nhất. Đó là một trong các phương thức mã hoá đĩa cứng hoàn chỉnh nhất dành cho Linux và file hướng dẫn README thông minh của nó cung cấp một số ví dụ thực đáng kể trong mã hoá file hệ thống.

Dm-crypt được đóng gói với loạt kernel 2.6 và cung cấp khả năng thực thi tốt hơn, bảo mật hơn trình điều khiển thiết bị lặp vòng. Thành phần của nó cũng phong phú hơn.

Dự án sử dụng dm-cryp nhiều triển vọng nhất hiện nay dường như là LUKS. Mục đích của dự án là cung cấp một kiểu định dạng trên đĩa tiêu chuẩn, giúp việc chuyển dời dữ liệu được bảo vệ giữa các phân phối dễ dàng hơn. Bên cạnh đó, nó cung cấp chương trình quản lý đa khoá (một mở rộng lớn) và các phân vùng mã hoá có thể được truy cập trong Windows qua FreeOTFE (mở rộng thậm chí còn lớn hơn).

Các phương thức sử dụng FUSE

Hai ứng dụng khác lại có đường lối khác. Cả CryptoFSEncFS đều là file hệ thống được mã hoá chạy trên đầu FUSE, tức một gói cho phép người dùng tạo file hệ thống trong không gian người dùng và thao tác với nó mà không cần phải có đặc quyền root cùng với nhiều thứ khác. Với các ứng dụng này, file (và tên của chúng) được mã hoá và chứa trong một thư mục bình thường. Người dùng phải chọn thư mục khác với vai trò như một điểm đặt cho file hệ thống được mã hoá: dữ liệu mã hoá sẽ được giải mã ở đó, sử dụng một khoá giải mã. Nếu không có khoá giải, sẽ không có cách nào mở được thư mục với các file đã được giải mã.

CryptoFS và EncFS đạt được tỷ lệ cân bằng tốt giữa bảo mật và sự tiện lợi trong sử dụng cho người dùng. Các file hệ thống được tạo với FUSE có thể tăng lên bất kỳ độ lớn nào, tương phản với phương thức lặp vòng đòi hỏi phải tạo phân vùng với kích thước cố định. Tuy nhiên, với đối tượng người dùng cẩn thận thì họ nhận thấy có một nhược điểm lớn trong sử dụng file hệ thống FUSE là: nếu nhìn vào bên trong thư mục thông thường, bất kỳ ai cũng sẽ vẫn thấy tổng số file mã hoá là bao nhiêu, tính toán được kích thước thực của chúng và kiểm tra quyền hạn có thể có.

Một nghiên cứu mới đây so sánh giữa EncFS và CryptoFS với LUKS chỉ ra rằng LUKS “cao tay” hơn trong thực thi file.

eCryptfs

Một lựa chọn khác có xu hướng ngược lại trong nhân Linux là eCryptfs. Bạn sẽ cần đến mô-đun kernel và các tiện ích không gian người dùng để cài đặt và sử dụng nó. eCryptfs cung cấp một hệ thống file mã hoá ngăn xếp, nghĩa là nó làm việc phía trên của một hệ thống file khác đã có trước đó và ngăn xếp lời gọi của nó (bởi vậy, một số file hệ thống như XFS có thể là nguyên nhân gây ra nhiều vấn đề).

Một điểm cải tiến khi dùng eCryptfs đủ cho bạn an tâm là: eCryptfs là một kiểu hệ thống file tự nhiên trong Linux và không cần hoạt động qua các lời gọi FUSE hay RPC. Như thế có nghĩa là nó có ít phụ thuộc hơn và dễ dàng phát triển hơn. Siêu dữ liệu mật mã của mỗi file được lưu trữ trong phần tiêu đề của chúng, giúp việc chuyển dịch dữ liệu và sao lưu dễ dàng hơn. Các thành phần như quản lý khoá đã được cung cấp. Một số thành phần khác, như mã hoá tên file đang được lên kế hoạch trong tương lai gần.

Mã hoá có thể từ chối

Trong một số trường hợp, dữ liệu không chỉ cần được bảo vệ mà còn cần tránh con mắt tò mò của nhiều người khác. Ở một số nước đã từng có luật quy định công dân có thể sẽ bị bỏ tù nếu từ chối cung cấp khoá giải mã các file mã hoá cho các nhà chức trách. Do đó, liệu pháp bảo vệ tốt nhất đôi khi là đừng có hiện dữ liệu mã hoá lên.

Một số công cụ steganographic cho phép người dùng ẩn dữ liệu một cách kín đáo “sau” các file khác (thông thường là file ảnh hoặc âm thanh). Tuy nhiên, khi bạn có nhiều file cần ẩn hoặc kích thước của chúng quá lớn để có thể nằm sau một file .jpg đơn giản, cách tốt nhất là nên sử dụng hệ thống file steganographic.

Một đề xuất thú vị mới được đưa ra gần đây là hệ thống file MP3 steganographic. Phương thức được sử dụng nhiều nhất là đơn giản chỉ cần tạo các phân vùng mã hoá ẩn. Nhưng không chỉ dừng ở đó, chúng cũng cho phép người dùng tạo các tầng bên trong phân vùng, với mật khẩu khác nhau cho từng phân vùng. Khi bị ép cung cấp mật khẩu cho một phân vùng ẩn, người dùng có thể đưa cho họ mật khẩu truy cập tới tầng chứa dữ liệu giả. Một tầng đều độc lập và không biết nhau, vì thế sẽ không thể chỉ ra sự tồn tại của tầng khác được. Do đó, bạn có khả năng từ chối cung cấp thông tin một cách khéo léo và hợp lý.

Các file hệ thống steganographic có một số nhược điểm. Do dữ liệu ẩn phải được phân phối ngẫu nhiên qua toàn bộ ổ đĩa hoặc phân vùng khiến việc theo dõi không thể thực hiện được. Và chúng có thể bị ghi đè bởi các thao tác file thông thường trong những phân vùng có thể thấy được. Xung đột dữ liệu cũng có thể xuất hiện. Tốc độ thực thi file với kiểu file hệ thống này cũng kém một cách khác thường. Nhưng tệ hại nhất là hầu hết tất cả các dự án mà tôi biết đều không thể triển khai, hoặc triển khai được nửa chừng. Ví dụ như Rubberhose, Phonebook, và StegFS, MagikFS, những dự án vốn đầy hứa hẹn trên lý thuyết. Hy vọng rằng chúng không phải chịu chung số phận như các dự án khác.

Có một công cụ khá dễ chịu với khả năng bảo trì tốt, sử dụng mã hoá có thể từ chối là: Truecrypt. Bên cạnh việc cho phép tạo các phân vùng mã hoá đơn giản, Truecript cũng tạo các ổ đĩa ẩn, nơi một “phân vùng bên ngoài” được mã hoá để che giấu dữ liệu giả. Và do đó, một “phân vùng bên trong” nhỏ hơn không thể thấy được tạo. Dữ liệu của nó được giữ trong không gian trống của phân vùng bên ngoài.

Nếu đọc tài liệu hướng dẫn kèm theo, bạn sẽ thấy Truecrypt tìm ra một số cách tránh được vấn đề ngắt quãng dữ liệu và thực thi file kết hợp với các file hệ thống steganographic. Bên cạnh đó, nó dễ cài đặt và sử dụng, lại có cả phiên bản dành cho Linux với Windows. (Bạn sẽ cần nguồn kernel để cài đặt nó trên Linux). Đó là một trong các giải pháp mã hoá ổ cứng tốt nhất cho cả hai hệ điều hành.

Bảo mật - hãy ưu tiên

Ai đó đã từng nói rằng bảo mật là trạng thái của trí tuệ. Bởi vì không ai khác, chính bạn mới là người giữ cho hệ thống của mình an toàn chứ không phải phần mềm bạn sử dụng. Luôn luôn có một số lỗ hổng trên tất cả các hệ thống khi mã hoá file hay thậm chí mã hoá ổ đĩa không với tới được. Mỗi lần truy cập một file, một bản copy của nó có thể được tạo trong không gian trao đổi hay trong các thư mục tạm thời. File history trên shell của bạn sẽ hiển thị các lệnh được sử dụng gần đây nhất. Nhiều ứng dụng giữ lại các bản copy sao lưu của file mà chúng tạo. Và văn bản bạn vừa in hay xoá từ ổ cứng vẫn có thể phục hồi lại được từ đường ống máy in. Khoá giải mã của bạn nên được viết ra giấy hoặc lưu trữ trong một thiết bị di động (thẻ nhớ, đĩa CD) và để ở một nơi an toàn. Đặt giữa hai sự lựa chọn thì thà hoang tưởng một chút (chuẩn bị cho các sự cố có thể xảy ra) còn hơn là không cẩn thận.

Và chú ý cuối cùng, nếu bạn đang dùng FreeBSD, bạn có thể thử với CryptoFS và EncFS qua Fuse4BSD. Bạn cũng nên để mắt tới CGD (NetBSD) và GBDE. Để biết thêm thông tin về steganography và che giấu dữ liệu, bạn có thể tham khảo tại đây. Tôi cũng cần chú ý thêm rằng, bạn không nên chỉ đơn giản loại bỏ cơ chế mã hoá file thông thường sau khi mã hoá file hệ thống. Thay vào đó hãy xem xét đến giải pháp kết hợp cả hai. Và, nếu bạn có đủ tài nguyên, hãy nghĩ đến một giải pháp mã hoá phần cứng như Trusted Platform Module.

Thứ Sáu, 04/05/2007 11:46
31 👨 389
0 Bình luận
Sắp xếp theo