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
Trang 1thố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
Trong thiết lập mặc định của HĐH Windows XP, 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ã
Phương thức mã hóa dữ liệu của EFS
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
Trang 2nà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
Ví dụ, để mã hóa dữ liệu bằng Advanced Properties:
- Mở Windows Explorer, chọn tập tin bạn muốn mã hóa
- Nhấn chuột phải lên tập tin và chọn Properties
- Chọn Advanced để kích hoạt EFS
- Đánh dấu chọn vào mục “Encrypt contents to secure data” để mã hóa và bỏ chọn nếu không muốn tiếp tục áp dụng EFS cho tập tin này
Quá trình mã hóa tập tin của EFS
Khi cần mã hóa tập tin, EFS sẽ thực hiện các bước sau
- 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
Trang 3Khi ứ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ã Trong bài viết kỳ tới, chúng tôi sẽ giới thiệu việc tạo bản sao dự phòng các khóa này trong trường hợp hệ thống gặp sự cố và một số phương thức để giải mã, lấy lại quyền truy cập dữ liệu khi bạn không có bản sao
dự phòng
nguồn: quantrimang.com
Bảo mật với EFS trong Windows XP
Trong bài viết kỳ trước, chúng tôi đã giới thiệu một cách khái quát về EFS, phương thức mã hóa và giải mã dữ liệu của EFS trong Windows XP Kỳ này, mời các bạn tìm hiểu việc tạo bản sao dự phòng các khóa cần thiết trong trường hợp hệ thống gặp sự cố, phương thức để giải mã, lấy lại quyền truy cập dữ liệu khi bạn không có bản sao dự phòng và một số thông tin liên quan
Có thể nói, mã hóa dữ liệu là một hành động đầy mạo hiểm với người dùng Vì một lư do nào đó, user profile (thông tin tài khoản người dùng) bị hư hỏng hoặc bị xóa đồng nghĩa với việc chìa khoá cần thiết cho quá trình giải mã cũng bị xóa Những phương thức sau có thể giúp bạn thoát khỏi thảm họa “mất trắng” dữ liệu
Trang 4Trước hết, chúng ta hãy làm quen với một số thuật ngữ được sử dụng trong bài:
- Đại diện khôi phục dữ liệu (Data Recovery Agent hay Recovery Agent) là một tài khoản người dùng được chỉ định, cho phép giải mã dữ liệu của các tài khoản khác
- Bản chứng thực người dùng (Users Certificate) được EFS tạo ra trong quá trình
mã hóa dữ liệu Mỗi tài khoản người dùng đều có bản chứng thực riêng biệt
Data Recovery Agent (DRA)
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 (hình 1)
Khác với HĐH Windows 2000, thiết lập mặc định của Windows XP cho phép người dùng sử dụng EFS không cần thiết lập DRA Vì vậy, việc đầu tiên phải làm sau khi kích hoạt tính nãng EFS là thiết lập DRA và sao lưu bảng chứng thực
người dùng nếu có nhiều người sử dụng (máy tính dùng chung)
Quá trình thiết lập DRA cần đến chứng thực người dùng (certificate) có chìa khoá (private key) để giải mã Sử dụng lệnh cipher /R: trong DOS-Prompt để tạo tập tin .pfx (chứa certificate và private key), tập tin cer (chứa certificate) với là tên tập tin được tạo
Để chứng thực Recovery Agent, đãng nhập vào tài khoản người dùng (thường là tài khoản thuộc nhóm Administrators) được sử dụng làm DRA
Chọn Start.Run, gơ dòng lệnh certmgr.msc để mở cửa sổ Certificates
Trong Certificates -> Current User, chọn Personal.Certificates, nhấn phải chuột trong khung hiển thị bên phải và chọn All Tasks.Import để hiển thị Certificate Import Wizard
Trang 5Nhấn Next và Browse để đi đến thư mục chứa tập tin pfx vừa tạo
Xác nhận password khi có yêu cầu và chọn Mark This Key As Exportable Nhấn Next và chọn Automatically Select The Certificate Store Based On The Type Of Certificate
Nhấn Next và chọn Finish để kết thúc (Hình 2)
Để thiết lập Recovery Agent, chọn Start.Run, gơ dòng lệnh secpol.msc để mở cửa
sổ Local Security Settings Trong Security Settings, chọn Public Key
Policies.Encrypting File System, nhấn phải chuột trong khung hiển thị bên phải chọn Add Data Recovery Agent
Nhấn Next và Browse để đi đến thư mục chứa tập tin cer vừa tạo Nhấn Next và chọn Finish để kết thúc (Hình 3)
Nếu thiết lập DRA, trong quá trình mã hóa EFS sẽ tự động gán private key (của DRA) vào trường thông tin khôi phục dữ liệu (tham khảo thông tin trong phần 1, mục Phương thức mã hóa dữ liệu của EFS) Vì vậy, bạn có thể giải mã những dữ liệu được mã hóa của bất kỳ tài khoản người dùng Tuy nhiên, với những dữ liệu
đã mã hóa trước khi DRA được thiết lập, DRA sẽ không thể giải mã vì thông tin khôi phục dữ liệu không chứa private key của DRA
Sao lưu bản chứng thực người dùng
Chọn Start.Run, gơ dòng lệnh certmgr.msc để mở cửa sổ Certificates
Trong Certificates -> Current User chọn Personal.Certificates, nhấn phải chuột trên certificate muốn sao lưu và chọn All Tasks.Export để hiển thị Certificate Export Wizard
Lưu ư: chọn certificate chứa private key để mã hóa (Encrypting File System); có thể có một vài certificate trong mục này, vì vậy hãy cẩn thận khi chọn
Nhấn Next và chọn Yes, Export The Private Key Thiết lập password khi có yêu cầu và nhấn Next
Trang 6Xác định nơi lưu giữ và tên tập tin (.pfx), nhấn Next và chọn Finish để kết thúc (Hình 4)
Trường hợp cài lại hệ điều hành hoặc sử dụng “tạm” với máy tính khác, việc khôi phục bản chứng thực người dùng chứa private key này sẽ giúp bạn truy cập những
dữ liệu đã mã hóa
Trong thư mục lưu trữ, nhấn phải chuột trên bản sao chứng thực và chọn Install PFX để hiển thị Certificate Import Wizard Nhấn Next, nhập password bảo vệ khi
có yêu cầu Chọn tùy chọn Place All Certificates In The Following Store Trong