| Tập tin:Windows To Go - Bitlocker.png Tùy chọn BitLocker trong quá trình tạo lậpWindows To Go | |
| Tên khác | Device Encryption |
|---|---|
| Nhà phát triển | Microsoft |
| Phát hành lần đầu | 30 tháng 1 năm 2007; 19 năm trước (2007-01-30) |
| Hệ điều hành | Microsoft Windows |
| Thể loại | Disk encryption software |
| Website | learn |
BitLocker BitLocker là tính năng mã hóa toàn bộ ổ đĩa đi kèm với các phiên bản Microsoft Windows bắt đầu từWindows Vista. Tính năng này được thiết kế để bảo vệ dữ liệu bằng cách cung cấp mã hóa cho toàn bộ ổ đĩa. Theo mặc định, tính năng này sử dụng thuật toánAdvanced Encryption Standard (AES) trongcipher block chaining (CBC) hoặc "xor–encrypt–xor (XEX)-based tweaked codebook mode with ciphertext stealing" (XTS) mode[1] vớikhóa 128bit hoặc 256 bit.[2][3] CBC không được sử dụng trên toàn bộ đĩa; nó được áp dụng cho từng sector riêng lẻ.[3]
BitLocker có nguồn gốc là một phần của kiến trúc Next-Generation Secure Computing Base của Microsoft vào năm 2004 dưới dạng một tính năng tạm thời có tên mã là "Cornerstone"[4][5] và được thiết kế để bảo vệ thông tin trên các thiết bị, đặc biệt là nếu thiết bị bị mất hoặc bị đánh cắp. Một tính năng khác có tên là "Code Integrity Rooting", được thiết kế để xác thực tính toàn vẹn của các tệp hệ thống và khởi động Microsoft Windows.[4] Khi được sử dụng kết hợp vớiTrusted Platform Module (TPM) tương thích, BitLocker có thể xác thực tính toàn vẹn của các tệp hệ thống và khởi động trước khi giải mã một ổ đĩa được bảo vệ; việc xác thực không thành công sẽ cấm truy cập vào một hệ thống được bảo vệ.[6][7] BitLocker được gọi ngắn gọn là Secure Startup trước khi Windows Vista được phát hành để sản xuất.[6]
BitLocker có sẵn trên:
| Nhà phát triển | Microsoft |
|---|---|
| Phát hành lần đầu | 30 tháng 1 năm 2007; 19 năm trước (2007-01-30) |
| Hệ điều hành | Microsoft Windows |
| Thể loại | Command |
| Giấy phép | Proprietarycommercial software |
| Website | manage-bde |
Ban đầu, giao diện BitLocker đồ họa trong Windows Vista chỉ có thể mã hóa ổ đĩa hệ điều hành.[13] Bắt đầu với Windows Vista với Service Pack 1 và Windows Server 2008, các ổ đĩa khác ngoài ổ đĩa hệ điều hành có thể được mã hóa bằng công cụ đồ họa. Tuy nhiên, một số khía cạnh của BitLocker (chẳng hạn như bật hoặc tắt khóa tự động) phải được quản lý thông qua công cụ dòng lệnh có tên làmanage-bde.wsf.[14]
Phiên bản BitLocker có trongWindows 7 vàWindows Server 2008 Release 2 bổ sung khả năng mã hóa ổ đĩa di động. Trên Windows XP hoặc Windows Vista, có thể đạt được quyền truy cập chỉ đọc vào các ổ đĩa này thông qua chương trình có tên làBitLocker To Go Reader, nếu sử dụnghệ thốngfileFAT16,FAT32 hoặcexFAT.[15] Ngoài ra, một công cụ dòng lệnh mới có tên làmanage-bde đã thay thế công cụmanage-bde.wsf.[16]
Bắt đầu từWindows Server 2012 và Windows 8, Microsoft đã bổ sung BitLocker với thông số kỹ thuậtMicrosoft Encrypted Hard Drive, cho phép các hoạt động mã hóa của mã hóa BitLocker được chuyển giao sang phần cứng của thiết bị lưu trữ, ví dụ nhưổ đĩa tự mã hóa.[17][18] Ngoài ra, BitLocker hiện có thể được quản lý thông quaWindows PowerShell.[19] Cuối cùng, Windows 8 đã giới thiệuWindows To Go trong phiên bản Enterprise của mình, mà BitLocker có thể bảo vệ.[20]
Windows Mobile 6.5,Windows RT và các phiên bản cốt lõi của Windows 8.1 bao gồmdevice encryption, một phiên bản giới hạn tính năng của BitLocker mã hóa toàn bộ hệ thống.[21][22][23] Đăng nhập bằngtài khoản Microsoft có quyền quản trị sẽ tự động bắt đầu quá trình mã hóa. Khóa khôi phục được lưu trữ trong tài khoản Microsoft hoặcActive Directory (Active Directory yêu cầu các phiên bản Pro của Windows), cho phép lấy khóa từ bất kỳ máy tính nào. Mặc dù mã hóa thiết bị được cung cấp trên tất cả các phiên bản Windows 8.1, không giống như BitLocker, mã hóa thiết bị yêu cầu thiết bị phải đáp ứng các thông số kỹ thuậtInstantGo (trước đây làConnected Standby),[23] yêu cầuổ đĩa SSD và chip TPM 2.0.[21][24]
Bắt đầu từ Windows 10 1703, các yêu cầu về mã hóa thiết bị đã thay đổi, yêu cầu mô-đun TPM 1.2 hoặc 2.0 có hỗ trợ PCR 7,UEFI Secure Boot và thiết bị đáp ứng các yêu cầu của Modern Standby hoặc xác thực HSTI.[25]
Các yêu cầu về mã hóa thiết bị đã được nới lỏng trongWindows 11 24H2, với việc tuân thủModern Standby, HSTI vàSecure Boot không còn bắt buộc nữa và danh sách chặn giao diện DMA đã bị xóa.[26] Và mã hóa thiết bị sẽ được bật theo mặc định khi cài đặt Windows 11 24H2 mới, được gọi làauto device encryption.[27]
Vào tháng 9 năm 2019, một bản cập nhật mới đã được phát hành (KB4516071[28]) thay đổi cài đặt mặc định cho BitLocker khi mã hóa ổ đĩa tự mã hóa. Bây giờ, mặc định là sử dụng mã hóa phần mềm cho các ổ đĩa mới được mã hóa. Điều này là do các lỗi mã hóa phần cứng và các mối lo ngại về bảo mật liên quan đến các sự cố đó.[29]
Có thể sử dụng ba cơ chế xác thực làm khối xây dựng để triển khai mã hóa BitLocker:[30]
Các kết hợp sau đây của các cơ chế xác thực trên được hỗ trợ, tất cả đều có khóa khôi phục tùy chọn:
BitLocker là hệ thống mã hóa ổ đĩa logic. (Một ổ đĩa trải dài một phần của ổ đĩa cứng, toàn bộ ổ đĩa hoặc nhiều ổ đĩa.) Khi được bật, TPM và BitLocker có thể đảm bảo tính toàn vẹn của đường dẫn khởi động đáng tin cậy (ví dụ:BIOS và khu vực khởi động), để ngăn chặn hầu hết các cuộc tấn công vật lý ngoại tuyến và phần mềm độc hại khu vực khởi động.[38]
Để BitLocker mã hóa ổ đĩa lưu trữ hệ điều hành, cần có ít nhất hai ổ đĩa được định dạngNTFS: một ổ đĩa cho hệ điều hành (thường là C:) và một ổ đĩa khác có kích thước tối thiểu là 100 MB, ổ đĩa này vẫn chưa được mã hóa và khởi động hệ điều hành.[38] (Tuy nhiên, trong trường hợp củaWindows Vista và Windows Server 2008, kích thước tối thiểu của ổ đĩa là 1,5 GB và phải có ký tự ổ đĩa.)[39] Không giống như các phiên bản Windows trước đây, công cụ dòng lệnh "diskpart" của Vista bao gồm khả năng thu nhỏ kích thước của ổ đĩa NTFS để ổ đĩa này có thể được tạo từ không gian đã phân bổ. Một công cụ có tên làBitLocker Drive Preparation Tool cũng có sẵn từMicrosoft cho phép thu nhỏ một ổ đĩa hiện có trên Windows Vista để tạo chỗ cho một ổ đĩa khởi động mới và các file khởi động cần thiết được chuyển đến ổ đĩa đó.[40]
Sau khi phân vùng khởi động thay thế được tạo, mô-đun TPM cần được khởi tạo (giả sử tính năng này đang được sử dụng), sau đó các cơ chế bảo vệ khóa mã hóa đĩa cần thiết như TPM, PIN hoặc khóa USB được cấu hình.[41] Sau đó, ổ đĩa được mã hóa dưới dạng tác vụ nền, việc này có thể mất khá nhiều thời gian với ổ đĩa lớn vì mọi sector logic đều được đọc, mã hóa và ghi lại vào đĩa.[41] Các khóa chỉ được bảo vệ sau khi toàn bộ ổ đĩa đã được mã hóa khi ổ đĩa được coi là an toàn.[42] BitLocker sử dụng trình điều khiển thiết bị cấp thấp để mã hóa và giải mã mọi hoạt động của file, giúp tương tác với ổ đĩa được mã hóa trở nên trong suốt đối với các ứng dụng đang chạy trên nền tảng.[41]
Encrypting File System (EFS) có thể được sử dụng kết hợp với BitLocker để cung cấp khả năng bảo vệ sau khi hệ điều hành đang chạy. Việc bảo vệ các file khỏi các quy trình và người dùng trong hệ điều hành chỉ có thể được thực hiện bằng phần mềm mã hóa hoạt động trong Windows, chẳng hạn như EFS. Do đó, BitLocker và EFS cung cấp khả năng bảo vệ chống lại các lớp tấn công khác nhau.[43]
Trong môi trườngActive Directory, BitLocker hỗ trợ ký quỹ khóa tùy chọn cho Active Directory, mặc dù có thể cần cập nhật lược đồ để tính năng này hoạt động (tức là nếu Dịch vụ Active Directory được lưu trữ trên phiên bản Windows trước Windows Server 2008).
BitLocker và các hệ thống mã hóa toàn bộ ổ đĩa khác có thể bị tấn công bởi trình quản lý khởi động giả mạo. Sau khi trình tải khởi động độc hại nắm bắt được bí mật, nó có thể giải mã Khóa chính ổ đĩa (VMK), sau đó cho phép truy cập để giải mã hoặc sửa đổi bất kỳ thông tin nào trên ổ cứng được mã hóa. Bằng cách định cấu hình TPM để bảo vệ đường dẫn khởi động đáng tin cậy, bao gồm BIOS và khu vực khởi động, BitLocker có thể giảm thiểu mối đe dọa này. (Lưu ý rằng một số thay đổi không độc hại đối với đường dẫn khởi động có thể khiến kiểm tra Sổ đăng ký cấu hình nền tảng không thành công và do đó tạo ra cảnh báo sai.)[38]
Chế độ "Transparent operation mode" và "User authentication mode" của BitLocker sử dụng phần cứng TPM để phát hiện xem có thay đổi trái phép nào đối với môi trường trước khi khởi động hay không, bao gồmBIOS vàMBR. Nếu phát hiện bất kỳ thay đổi trái phép nào, BitLocker sẽ yêu cầu khóa khôi phục trên thiết bị USB. Bí mật mã hóa này được sử dụng để giải mã Khóa chính khối lượng (VMK) và cho phép quá trình khởi động tiếp tục.[44] Tuy nhiên, chỉ TPM thôi là chưa đủ:
Tất cả các cuộc tấn công này đều yêu cầu truy cập vật lý vào hệ thống và bị ngăn chặn bởi một thiết bị bảo vệ thứ cấp như ổ đĩa flash USB hoặc mã PIN.
Mặc dù thuật toán mã hóaAES được sử dụng trong BitLocker thuộcphạm vi công cộng, nhưng việc triển khai thuật toán này trong BitLocker, cũng như các thành phần khác của phần mềm, đều làđộc quyền; tuy nhiên, mã này có sẵn để các đối tác và doanh nghiệp của Microsoft xem xét, tùy thuộc vào thỏa thuận không tiết lộ.[49][50]
Theo các nguồn tin của Microsoft,[51] BitLocker không chứa cửa hậu được tích hợp cố ý, do đó, không có cách nào do Microsoft cung cấp để cơ quan thực thi pháp luật có quyền truy cập được đảm bảo vào dữ liệu trên ổ đĩa của người dùng. Năm 2006,Bộ Nội vụ Anh đã bày tỏ lo ngại về việc thiếu cửa hậu và đã cố gắng đàm phán với Microsoft để đưa ra mộtcửa hậu.[52] Nhà phát triển và chuyên gia mật mã của Microsoft, Niels Ferguson đã từ chối yêu cầu về cửa hậu và nói rằng, "hãy bước qua xác tôi".[53] Các kỹ sư của Microsoft đã nói rằng các đặc vụ củaCục Điều tra Liên bangMỹ cũng đã gây áp lực lên họ trong nhiều cuộc họp để thêm một cửa hậu, mặc dù không có yêu cầu chính thức nào được đưa ra bằng văn bản; Các kỹ sư của Microsoft cuối cùng đã đề xuất rằng các tác nhân nên tìm kiếm bản sao cứng của khóa mã hóa mà chương trình BitLocker gợi ý rằng người dùng của chương trình tạo ra.[54]
Quan điểm của Niels Ferguson rằng "cửa sau đơn giản là không thể chấp nhận được"[53] phù hợp với nguyên tắc của Kerckhoffs. Được nhà mật mã học người Hà LanAuguste Kerckhoffs nêu ra vào thế kỷ 19, nguyên tắc này cho rằng hệ thống mật mã phải an toàn, ngay cả khi mọi thứ về hệ thống, ngoại trừ khóa mã hóa, đều là kiến thức công khai.
Từ năm 2020, phương pháp và cấu trúc dữ liệu của BitLocker là kiến thức công khai do kỹ thuật đảo ngược; chương trìnhcryptsetup củaLinux có khả năng đọc và ghi các ổ đĩa được BitLocker bảo vệ khi có khóa.[55]
Bắt đầu từ Windows 8 và Windows Server 2012, Microsoft đã xóaElephant Diffuser khỏi chương trình BitLocker mà không có lý do chính thức nào được nêu.[56] Nghiên cứu của Dan Rosendorf cho thấy việc xóa Elephant Diffuser có "tác động tiêu cực không thể phủ nhận" đến tính bảo mật của mã hóa BitLocker trước các cuộc tấn công có chủ đích.[57] Sau đó, Microsoft đã trích dẫn các lo ngại về hiệu suất và việc không tuân thủTiêu chuẩn xử lý thông tin liên bang (FIPS) để biện minh cho việc xóa bỏdiffuser.[58] Tuy nhiên, bắt đầu từ Windows 10 phiên bản 1511, Microsoft đã thêm một thuật toán mã hóaXTS-AES tuân thủ FIPS mới vào BitLocker.[59] Bắt đầu từ Windows 10 phiên bản 1803, Microsoft đã thêm một tính năng mới có tên là "Kernel Direct Memory access (DMA) Protection" vào BitLocker để bảo vệ chống lại các cuộctấn công DMA thông qua các cổngThunderbolt 3.[60][61] "Kernel Direct Memory access (DMA) Protection" chỉ bảo vệ chống lại các cuộc tấn công thông qua Thunderbolt. Truy cập bộ nhớ trực tiếp cũng có thể thực hiện được thông quaPCI Express. Trong loại tấn công này, kẻ tấn công sẽ kết nối Thiết bị PCI Express độc hại,[62] có thể ghi trực tiếp vào bộ nhớ và bỏ qua thông tin đăng nhập Windows. Để bảo vệ lại loại tấn công này, Microsoft đã giới thiệu "Virtualization-based Security".[63][64]
Vào tháng 10 năm 2017, có báo cáo rằng một lỗ hổng cho phép suy ra khóa riêng từkhóa công khai, điều này có thể cho phép kẻ tấn công bỏ qua mã hóa BitLocker khi sử dụng chip TPM bị ảnh hưởng.[65] Lỗ hổng này là lỗ hổng Return of Coppersmith's Attack hay ROCA nằm trong thư viện mã do Infineon phát triển và đã được sử dụng rộng rãi trong các sản phẩm bảo mật như thẻ thông minh và TPM. Microsoft đã phát hành phiên bản cập nhật của chương trình cơ sở cho chip TPM của Infineon để khắc phục lỗ hổng thông quaWindows Update.[66]