Topic 3F
Windows 2003 EFS
EFS (Encrypting File System) cho phép người dùng mã hóa dữ liệu, thông tin cá nhân
được lưu trữ trên máy tính nhằm bảo vệ sự riêng tư, tránh người dùng khác khi sử dụng
máy tính truy cập một cách cố ý hoặc vô ý. Đặc biệt, EFS thường được sử dụng để bảo vệ
những dữ liệu quan trọng, “nhạy cảm” trên những máy tính xách tay hoặc máy tính có
nhiều người sử dụng. Cả hai trường hợp trên đều dễ bị tấn công do những hạn chế của
ACL (Access Control Lists).
Trên một máy tính dùng chung, kẻ tấn công có thể lấy được quyền truy cập vào hệ thống
thông qua việc sử dụng một hệ điều hành khác nếu máy tính được cài đặt nhiều HĐH. Một
trường hợp khác với máy tính bị đánh cắp, bằng cách tháo ổ cứng và gắn vào máy tính
khác, kẻ tấn công dễ dàng truy cập những tập tin lưu trữ. Sử dụng EFS để mã hóa những
tập tin, nội dung hiển thị chỉ là những ký tự vô nghĩa nếu kẻ tấn công không có khóa để
giải mã.
Tính năng EFS được tích hợp chặt chẽ với hệ thống tập tin NTFS. Khi mở một tập tin, EFS
sẽ thực hiện quá trình giải mã, dữ liệu được đọc từ nơi lưu trữ sau khi so khớp khóa mã
hóa tập tin; khi người dùng lưu những thay đổi của tập tin, EFS sẽ mã hóa dữ liệu và ghi
chúng vào nơi lưu trữ cần thiết. Với thuật toán mã hóa đối xứng 3DES, quá trình mã hóa
và giải mã diễn ra ngầm bên dưới, thậm chí người dùng cũng không nhận ra sự khác biệt
khi làm việc với những tập tin được mã hóa.
EFS được kích hoạt cho phép người dùng mã hóa những tập tin trong giới hạn tài khoản
của mình (tham khảo thêm thông tin trong bài Sử dụng máy tính với tài khoản thuộc nhóm
Users (phần 1) (TGVT A tháng 4/2005, tr.139) mà không chịu ảnh hưởng bởi chính sách
quản lý của người quản trị. Tài khoản thuộc các nhóm người dùng đều có thể sử dụng EFS
mà không cần đến quyền Administrator, có thể áp dụng trên máy đơn hoặc máy trạm thuộc
domain, workgroup.
Dưới góc nhìn của người dùng cuối, việc mã hóa một tập tin rất đơn giản, tương tự việc
thiết lập thuộc tính cho tập tin. Việc mã hóa cũng được áp dụng cho thư mục và tất cả tập
tin được tạo hoặc thêm vào thư mục này cũng được tự động mã hóa.
Chỉ những người dùng được phép hoặc được chỉ định mới có quyền giải mã những tập tin
này. Những tài khoản người dùng khác trong hệ thống; thậm chí có thể chiếm quyền kiểm
soát tập tin (Take Ownership Permission) vẫn không thể đọc được nội dung nếu không có
khóa truy cập (access key). Ngay cả tài khoản thuộc nhóm Administrators cũng không thể
mở tập tin này nếu tài khoản đó không được chỉ định quyền giải mã.
EFS and Users
Một trong những điều mà có thể được cho là tốt-hoặc-xấu của EFS là người dùng có thể sử
dụng khi không có quyền admin. Các hệ thống con EFS tự động tạo ra các khoá yêu
cầu,nếu người dùng không có một cặp khóa công khai.
Tập tin và thư mục được đánh dấu được mã hóa trên cơ sở mỗi tập tin hoặc mỗi thư mục,
đều có một mã số duy nhất. Bởi vì chúng được mã hóa duy nhất, nếu bạn di chuyển một
tập tin mã hóa đến một thư mục không được mã hóa trên cùng một phân vùng, các tập tin
sẽ vẫn được mã hóa. Nếu bạn sao chép một tập tin mã hóa đến một vị trí cho phép mã hóa,
tập tin sẽ vẫn được mã hóa.
Việc sử dụng EFS được thiết kế để được rõ ràng cho người dùng. Điều này có nghĩa rằng
người dùng có thể có mã hóa cho phép và không nhận thức được EFS.Miễn là mọi việc
suôn sẻ, đây không phải là một vấn đề. Trong những điều kiện không đi suôn sẻ, có
phương pháp để khôi phục.
Data Recovery
Như đã đề cập về cách thức EFS mã hóa và giải mã; dữ liệu được EFS mã hóa thường có
thêm hai trường thông tin giải mã và khôi phục dữ liệu. Nói một cách đơn giản, ngoài chìa
khóa chính, EFS còn cung cấp thêm một (hoặc nhiều) chìa khóa dự phòng - DRA hay RA.
Certificate chứa private key để mã hóa khác với certificate chứa private key để giải mã.
Bạn không thể sử dụng certificate mã hóa để giải mã và ngược lại. Để tăng cường tính bảo
mật, nên thiết lập password “chắc chắn” cho certificate và lưu giữ ở một nơi an toàn. Để
giữ nguyên thuộc tính của dữ liệu, sử dụng Backup Utility (System Tools.Backup) để sao
chép, di chuyển những tập tin, thư mục đã mã hóa.
EFS Cryptography
EFS sử dụng kết hợp khóa công khai và khóa mã hóa đối xứng để bảo mật tập tin. Phương
pháp mã hóa công khai (public key encryption) sử dụng một cặp khóa public key/private
key (thông tin mã hóa bởi public key có thể được giải mã bằng private key)và khóa mã hóa
FEK (file encryption key) để mã hóa và giải mã dữ liệu.
Khi người dùng mã hóa một tập tin, EFS tạo ra một FEK để mã hóa dữ liệu; FEK này sẽ
được mã hóa với public key sau khi kết thúc “nhiệm vụ” của mình và được lưu giữ trong
header của dữ liệu đã mã hóa. Khi cần giải mã, EFS sử dụng private key (ứng với mỗi
người dùng) để giải mã FEK và sử dụng FEK để giải mã dữ liệu.
Việc mã hóa và giải mã trong Windows XP có thể sử dụng bằng nhiều cách khác nhau: tùy
chọn thuộc tính mã hóa trong Advanced Properties; có thể sao chép tập tin cần mã hóa vào
thư mục đã mã hóa hoặc sử dụng dòng lệnh “Cipher.exe” trong cửa sổ DOS – Prompt...
TASK 3F-1
Encryting Files
1. Tại phân vùng NTFS, tạo một text document với tên Mine.txt và một số văn bản ở
trong đó.
2. Mở Explorer, và hiển thị thuộc tính của file Mine.txt.
3. Click Advanced, check vào Encrypt Contents To Secure Data, và click twice.
4. Quan sát trình duyệt windows để xác định các thuộc tính điện tử hiện nay.
5. Đóng tất cả các cửa sổ đang mở.
Quá trình mã hóa tập tin của EFS
Mở tập tin cần mã hóa và sao chép tất cả dữ liệu vào một tập tin tạm thời trong thư mục
TEMP của hệ thống. Một FEK ngẫu nhiên được tạo ra để mã hóa dữ liệu bằng thuật toán
DESX hoặc 3DES (tùy vào việc áp dụng chính sách bảo mật) và FEK này được mã hóa với
public key và lưu vào DDF (Data Decrypting Field - vùng dành để giải mã). Nếu sử dụng
Recovery Agent (được thiết lập trong Group Policy), DRF (Data Recovery Field - vùng
khôi phục dữ liệu) được tạo ra để chứa FEK mã hóa bằng public key của Data Recovery
Agent (tác nhân phục hồi dữ liệu). Kết thúc quá trình mã hóa, EFS sẽ ghi những dữ liệu đã
mã hóa cùng với DDF và DRF vào tập tin và xóa bỏ tập tin tạm.
Quá trình giải mã tập tin của EFS
Khi ứng dụng cần truy cập một tập tin mã hóa, quá trình giải mã được thực hiện như sau:
NTFS sẽ ghi nhận tập tin cần giải mã và gửi yêu cầu đến EFS driver. EFS driver sẽ khôi
phục DDF và gửi nó đến EFS service. Với private key của người dùng, EFS service sử
dụng chìa khóa này để giải mã DDF nhằm có được FEK và gửi FEK này cho EFS driver.
EFS driver sử dụng FEK để giải mã nội dung tập tin mà ứng dụng yêu cầu. Như vậy public
key, private key, file encryption key là các yếu tố quan trọng của quá trình mã hóa và giải
mã.