BitLocker với Quản lý khóa mã hóa Windows DPAPI


8

Chúng tôi có nhu cầu thực thi mã hóa nghỉ ngơi trên iSCSI LUN có thể truy cập được từ bên trong máy ảo Hyper-V.

Chúng tôi đã triển khai một giải pháp hoạt động bằng BitLocker, sử dụng Windows Server 2012 trên Máy chủ ảo Hyper-V có quyền truy cập iSCSI vào LUN trên SAN của chúng tôi. Chúng tôi đã có thể thực hiện thành công việc này bằng cách sử dụng hack "lưu trữ khóa đĩa mềm" như được định nghĩa trong POST NÀY . Tuy nhiên, phương pháp này có vẻ "hokey" với tôi.

Trong quá trình nghiên cứu tiếp tục, tôi phát hiện ra rằng nhóm CNTT của Amazon Corporate đã xuất bản một WHITEPAPER nêu chính xác những gì tôi đang tìm kiếm trong một giải pháp thanh lịch hơn, không có "hack đĩa mềm". Trên trang 7 của tờ giấy trắng này, họ tuyên bố rằng họ đã triển khai Quản lý khóa mã hóa Windows DPAPI để quản lý an toàn các khóa BitLocker của họ. Đây chính xác là những gì tôi đang muốn làm, nhưng họ tuyên bố rằng họ phải viết một kịch bản để làm điều này, nhưng họ không cung cấp kịch bản hoặc thậm chí bất kỳ gợi ý nào về cách tạo một kịch bản.

Có ai có chi tiết về cách tạo "tập lệnh kết hợp với dịch vụ và tệp lưu trữ khóa được bảo vệ bởi khóa DPAPI của tài khoản máy chủ" (khi chúng nêu trong whitepaper) để quản lý và tự động mở khóa khối lượng BitLocker không? Bất kỳ lời khuyên được đánh giá cao.

--- CHỈNH SỬA 1 ---

Dựa trên phản hồi của Evan bên dưới, đây là những gì tôi đã tìm ra, nhưng tôi vẫn bị mắc kẹt.

Tôi giả sử rằng bằng cách sử dụng PsExec và chạy lệnh sau, PowerShell đang chạy trong tài khoản Hệ thống và nó sẽ mã hóa chuỗi w / mật khẩu của tài khoản máy như Evan đã nêu. Điều này có đúng không?

PsExec.exe -i -s Powershell.exe

Sau đó, từ bên trong PS, (sử dụng bài đăng này làm tài liệu tham khảo) Tôi chạy lệnh này để tạo mật khẩu SecureString:

ConvertTo-SecureString -String "MyBitLockerPassword" -AsPlainText –Force | ConvertFrom-SecureString | Out-File C:\securestring.txt

Điều đó mang lại cho tôi một tập tin chứa chuỗi bảo mật theo định dạng của 01 01000000d08c Khắc Hồi (tổng cộng 524 ký tự). Sau đó, bây giờ tôi có thể tạo Tác vụ lịch biểu để chạy khi khởi động, sử dụng thông tin sau để tải mật khẩu (dưới dạng SecureString) và chuyển nó đến lệnh Unlock-BitLocker :

$SecureBitLockerPassword = Get-Content C:\securestring.txt | ConvertTo-SecureString
Unlock-BitLocker -MountPoint "E:" -Password $ SecureBitLockerPassword

Tuy nhiên, nếu tôi chỉ lưu trữ mật khẩu được mã hóa dưới dạng tệp trên ổ cứng, thì điểm mã hóa và giải mã mật khẩu là gì? Điều đó có an toàn không khi lưu trữ mật khẩu trong văn bản thuần túy và sử dụng thông tin sau (không cần tạo tệp chuỗi bảo mật)?

$SecureString = ConvertTo-SecureString " MyBitLockerPassword " -AsPlainText –Force
Unlock-BitLocker -MountPoint "E:" -Password $SecureString

Làm thế nào khác bạn sẽ tiếp cận điều này? Tôi có thể lưu khóa SecureString ở đâu để chỉ tài khoản Hệ thống có thể truy cập?

Câu trả lời:


6

Có vẻ như tất cả những gì Amazon đang làm là lưu trữ các khóa Bitlocker trong DPAPI trong bối cảnh HỆ THỐNG. Mặc dù điều này kém an toàn hơn nhiều so với việc lưu trữ các khóa trong TPM (vì có thể truy xuất khóa bản rõ bởi bất kỳ dịch vụ nào chạy dưới dạng HỆ THỐNG so với khóa được lưu trữ trong TPM không thể khôi phục được) nếu TPM không được hiển thị với máy ảo đây có lẽ là lựa chọn duy nhất của bạn

Để thực hiện điều gì đó tương tự như những gì họ mô tả, có lẽ tôi nên sử dụng API PowerShell ConvertFrom-SecureStringmiễn phí và miễn phí ConvertTo-SecureString. Theo tài liệu của Microsoft, ConvertFrom-SecureStringlệnh ghép ngắn sử dụng DPAPI nếu không có khóa tĩnh nào được chỉ định. Chạy tập lệnh trong ngữ cảnh HỆ THỐNG và DPAPI sẽ mã hóa chuỗi của bạn với mật khẩu của tài khoản máy.

Từ đó, vấn đề là sử dụng manage-bdecông cụ để mở khóa ổ đĩa bằng mật khẩu đã lấy (ví dụ manage-bde -unlock x: -password)


Evan, cảm ơn bạn cho bài viết của bạn. Bạn đang chỉ cho tôi đi đúng hướng, nhưng tôi vẫn bế tắc trong việc xác định vị trí hoặc cách khóa mã hóa được lưu trữ. Xin vui lòng xem cập nhật của tôi trong bài viết gốc ở trên.
bigmac

1
@bigmac - Chỉnh sửa của bạn là lý do tại sao đoạn đầu tiên của tôi có cụm từ "kém an toàn hơn nhiều" trong đó. Cách bảo vệ duy nhất mà phương thức này cung cấp bảo vệ khóa khỏi những kẻ tấn công có thể nhận được các đặc quyền HỆ THỐNG và một khi chúng có HỆ THỐNG thì đó là "trò chơi kết thúc" cho khóa của bạn. Tại TPM, ít nhất, không thể được thực hiện để tiết lộ chìa khóa của nó. Việc thu thập khóa Bitlocker từ bộ nhớ chắc chắn là có thể, bộ nhớ khởi động lạnh tấn công phần cứng vật lý, nhưng điều đó không làm ảnh hưởng đến khóa của TPM. Bạn đang nhận ra rằng tôi mong đợi bạn - whitepaper của Amazon là nhà hát bảo mật.
Evan Anderson
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.