FreeSoft - Phần mềm mã hóa dữ liệu Cppcryptfs | VN-Zoom | Cộng đồng Chia Sẻ Kiến Thức Công Nghệ và Phần Mềm Máy Tính

Adblocker detected! Please consider reading this notice.

We've detected that you are using AdBlock Plus or some other adblocking software which is preventing the page from fully loading.

We need money to operate the site, and almost all of it comes from our online advertising.

If possible, please support us by clicking on the advertisements.

Please add vn-z.vn to your ad blocking whitelist or disable your adblocking software.

×

FreeSoft Phần mềm mã hóa dữ liệu Cppcryptfs

chetuyet.hp

Rìu Sắt
Trong quá trình mình đi tìm phần mềm để mã hóa dữ liệu trước khi đưa lên mây. Minh có tìm được cái phần mềm này cũng khá hay và nó là dạng Open source. Trước khi biết đến phần mềm này mình cũng có thử qua một số phần mềm khác nhưng một số thì mất phí một số không đáp ứng được tiêu chí của mình.
Đây là bài giới thiệu của Tác giả mình nhờ Google dịch lại.
Link: https://github.com/bailey27/cppcryptfs
Cppcryptfs dựa trên thiết kế của gocryptfs, một hệ thống tập tin lớp phủ được mã hóa được viết trong Go.

cppcryptfs là một triển khai của hệ thống tệp gocryptfs trong C++ cho Windows. cppcryptfs tương thích với gocryptfs. Các hệ thống tập tin được tạo bằng một hệ thống thường có thể được gắn kết (và đồng bộ hóa) với hệ thống khác. Vui lòng xem câu lệnh về tính tương thích gần cuối tài liệu này.

cppcrypts cung cấp mã hóa nhanh chóng, lưu trữ và trên đám mây của các tệp và tên tệp trong một hệ thống tệp ảo. Nó sử dụng trình điều khiển và thư viện Dokany để cung cấp một fileystem ảo ở chế độ người dùng trong Windows.

Bạn có thể sử dụng cppcryptfs để tạo một hệ thống tệp được mã hóa trong một thư mục. Hệ thống tệp được mã hóa được bảo vệ bằng mật khẩu mà bạn chọn.

Khi bạn sử dụng cppcryptfs để gắn kết hệ thống tệp được mã hóa bằng cách cung cấp mật khẩu, sau đó bạn có một ký tự ổ đĩa mới trong Windows. Ký tự ổ đĩa ảo này cung cấp cho bạn chế độ xem không mã hóa các tệp của bạn. Việc mã hóa và giải mã được thực hiện nhanh chóng và minh bạch với các ứng dụng sử dụng các tệp trên ổ đĩa ảo đó.

Sau khi bạn yêu cầu cppcryptfs tháo gỡ ký tự ổ đĩa ảo, thì không có cách nào để lấy dữ liệu không được mã hóa của bạn trừ khi hệ thống tệp được gắn lại bằng mật khẩu của bạn.

Tắt máy tính của bạn tự động tháo gỡ tất cả các ký tự ổ đĩa cppcryptfs.

Nếu thư mục nơi lưu giữ các tệp được mã hóa đang được đồng bộ hóa với dịch vụ đám mây, thì chỉ các tệp được mã hóa có tên tệp được mã hóa mới được tải lên dịch vụ đám mây.

Bằng cách này, cả nhân viên của dịch vụ đám mây và bất kỳ ai hack vào dịch vụ đám mây đều không thể sử dụng các tệp của bạn.

Ngoài ra, nếu ai đó đánh cắp máy tính của bạn và hệ thống tệp được mã hóa không được gắn kết, thì kẻ trộm không thể sử dụng tệp của bạn.

Bởi vì mã hóa được thực hiện trên cơ sở mỗi tệp thay vì sử dụng tệp chứa để lưu trữ dữ liệu, bạn không phải quyết định trước số lượng lưu trữ được mã hóa bạn sẽ cần. cppcryptfs có chi phí lưu trữ rất tối thiểu và hệ thống tệp được mã hóa của bạn chỉ có thể bị giới hạn động bởi lượng không gian trống trên ổ đĩa vật lý mà hệ thống tệp được mã hóa nằm trên đó.

Một ưu điểm khác của mã hóa trên mỗi tệp so với mã hóa dựa trên bộ chứa là mã hóa trên mỗi tệp đồng bộ hóa rất nhanh chóng và hiệu quả với các dịch vụ dựa trên đám mây.

Trạng thái Hiện tại​

Nhà phát triển đã sử dụng cppcryptfs ở chế độ chuyển tiếp (bình thường) trong hơn ba năm và không mất bất kỳ dữ liệu nào. Ít nhất một người khác đang sử dụng nó.

Chế độ đảo ngược chỉ trải qua thử nghiệm hạn chế của nhà phát triển.

Các bản phát hành nhị phân có chữ ký của nhà phát triển, Bailey Brown, nằm trên trang phát hành.

Luôn thận trọng khi giữ các bản sao lưu dữ liệu của bạn trong trường hợp có sự cố.

Thử nghiệm​

cppcryptfs vượt qua 506/506 bài kiểm tra trong winfstest khi chạy với tư cách quản trị viên. Không có đặc quyền của quản trị viên, cppcryptfs vượt qua 500/506 bài kiểm tra. Winfstest này được phân chia từ phiên bản được sử dụng bởi dự án Dokany. Nhóm Dokany đã thêm các thử nghiệm bổ sung.

Kiểm tra cppcryptfs không thành công khi chạy mà không có đặc quyền quản trị viên phải làm với các hoạt động trên DACLs (Danh sách kiểm soát truy cập tùy ý). cppcryptfs phải được chạy với tư cách quản trị viên để các hoạt động này hoạt động. Chạy mà không có đặc quyền quản trị viên dường như không ảnh hưởng đến việc sử dụng cppcryptfs bình thường.

Lưu ý: Có vẻ như Windows 10 Phiên bản 1909 (Bản dựng HĐH 18363.1016) cho phép cppcryptfs vượt qua tất cả các bài kiểm tra 506 mà không cần phải chạy với tư cách quản trị viên.

Yêu cầu xây dựng​

Microsoft Visual Studio 2019 Community Edition, perl, nasm, and git (all free)
OpenSSL - https://github.com/openssl/openssl (static build required)
RapidJSON - https://github.com/miloyip/rapidjson (for parsing gocryptfs.conf)
Dokany - https://github.com/dokan-dev/dokany

For Dokany, you probably want to use the binary distribution from here:
https://github.com/dokan-dev/dokany/releases
(be sure to select "install development files" in the installer options)

Có hướng dẫn xây dựng chi tiết trong INSTALL.md.

cppcryptfs hiện đang được cập nhật với Dokany 1.4.0.1000

dùng​

cppcryptfs không yêu cầu đặc quyền quản trị viên để chạy, nhưng nếu nó không chạy với tư cách quản trị viên, thì nó sẽ không thể có được đặc quyền SE_SECURITY_NAME bạn. SE_SECURITY_NAME cần thiết cho một số hoạt động được thực hiện bởi các chức năng API Windows SetFileSecurity() và GetFileSecurity().

cppcryptfs dường như hoạt động mà không cần SE_SECURITY_NAME. Nếu bạn gặp sự cố, bạn có thể thử chạy cppcryptfs với tư cách adminstrator và xem điều đó có giúp được gì không.

Để tạo một fileystem ảo được mã hóa mới, trước tiên hãy nhấp vào tab "Tạo".

Alt text

Bạn cần tìm hoặc tạo một thư mục để trở thành thư mục gốc của hệ thống tệp của bạn. Bạn có thể tạo một thư mục trong bộ chọn thư mục trong giao diện người dùng.

Nếu bạn đang sử dụng chế độ bình thường (chuyển tiếp), thì thư mục này phải trống.

Nếu bạn đang sử dụng chế độ đảo ngược, thì thư mục không cần phải trống (xem phần trên Chế độ đảo ngược trong tài liệu này theo phần này).

Chúng tôi khuyên bạn nên thư mục này nằm trên hệ thống tệp NTFS.

Sau đó, bạn cần chọn một mật khẩu (hy vọng mạnh) và lặp lại nó. Hộp thoại sẽ chấp nhận tối đa 255 ký tự cho mật khẩu.

Lớp trường mật khẩu coi một ký tự là đặc biệt. Nhân vật này trông giống như một x nhỏ, nhưng không giống nhau. Đó là unicode 215 được 0xd7 lục giác.

Kết quả là bạn không thể sử dụng ký tự đó trong mật khẩu.

Bạn có thể chọn để tên tệp của bạn được kết tinh bằng cách sử dụng AES256-EME hoặc không mã hóa tên tệp (văn bản thuần túy).

Nếu "Tên tệp dài" được chọn, thì tên của các tệp và thư mục có thể dài tới 255 ký tự khi tên tệp được mã hóa được sử dụng. Tùy chọn này không có hiệu lực nếu tên tệp văn bản thuần túy được sử dụng (tên tệp văn bản thuần túy có thể dài tới 255 ký tự). Xem phần "Giới hạn độ dài tên tệp và đường dẫn" gần cuối tài liệu này để biết thêm thông tin.

Bạn có thể chọn giữa AES256-GCM hoặc AES256-SIV (RFC 5297) để mã hóa dữ liệu tệp. Mặc định là AES256-GCM được khuyến nghị. GCM nhanh gấp đôi SIV để đọc và ghi trực tuyến. SIV được triển khai để hỗ trợ chế độ đảo ngược.

Lưu ý: Trong tài liệu gocryptfs, chế độ SIV được gọi là AES-512-SIV, đây là tên riêng cho chế độ hoạt động này. Tuy nhiên, nó được gọi là AES256-SIV trong cppcryptfs vì khóa SIV 512 bit có nguồn gốc từ khóa chính 256 bit (như trường hợp của gocryptfs). Ngoài ra, nhà phát triển cppcryptfs không muốn gọi nó là AES512-SIV trong giao diện người dùng vì điều đó có thể khiến người dùng nghĩ rằng nó an toàn hơn AES256-GCM.

Nếu bạn chọn Đảo ngược thì bạn sẽ tạo một hệ thống tập tin Reverse Mode. Xem phần trong tài liệu này về Chế độ đảo ngược để biết thêm thông tin.

Nếu bạn muốn, bạn có thể specifiy một tập tin cấu hình. Đây là tệp chứa cài đặt cho hệ thống tệp và cũng là khóa chính AES 256 bit ngẫu nhiên được mã hóa bằng mật khẩu của bạn. Tệp cấu hình có thể được giữ bên ngoài hệ thống tệp được mã hóa để tăng mức độ bảo mật.

Khi bạn nhấp vào nút "Tạo", tệp cấu hình sẽ được tạo. Nó sẽ được tạo dưới dạng gocryptfs.conf trong thư mục gốc của hệ thống tệp được mã hóa trừ khi bạn chỉ định một tệp cấu hình thay thế. Trừ khi bạn chọn sử dụng tên tệp văn bản thuần túy, gocryptfs.diriv cũng sẽ được tạo ở đó. Hãy chắc chắn sao lưu các tệp này trong trường hợp chúng bị mất hoặc bị hỏng. Bạn sẽ không thể truy cập bất kỳ dữ liệu nào của mình nếu có sự cố xảy ra với gocryptfs.conf. gocryptfs.conf sẽ không bao giờ thay đổi cho cuộc sống của hệ thống tập tin của bạn trừ khi bạn thay đổi nhãn âm lượng (xem bellow).

Nếu bạn chọn cung cấp cho ổ đĩa một nhãn, nhãn sẽ được mã hóa bằng gocryptfs.conf. Độ dài nhãn âm lượng tối đa là 32 ký tự.

Nhãn ổ đĩa được mã hóa AES256-GCM bằng khóa chính và vectơ khởi tạo ngẫu nhiên 128 bit và 8 byte dữ liệu xác thực. Sau đó, nó được mã hóa base64 cùng với vectơ initilization và được lưu trong gocryptfs.conf.

Bạn có thể nhấp chuột phải vào ký tự ổ đĩa được gắn trong File Explorer, chọn "Thuộc tính" và thay đổi nhãn âm lượng. Tuy nhiên, làm như vậy sẽ khiến cppcryptfs viết lại gocryptfs.conf khi ổ đĩa bị tháo rời. Điều này đòi hỏi một số rủi ro cho gocryptfs.conf của bạn. Một lần nữa, bạn nên sao lưu tệp gocryptfs.conf của mình ở đâu đó.

Tùy chọn "Vô hiệu hóa các luồng được đặt tên" có thể cần thiết nếu hệ thống tệp cơ bản (ví dụ: hệ thống tệp Linux được chia sẻ qua Samba) không hỗ trợ các luồng có tên. cppcryptfs thường tự động phát hiện (tại thời điểm gắn kết) nếu hệ thống tệp cơ bản hỗ trợ các luồng được đặt tên. Tuy nhiên, trong một số cấu hình, hệ thống tệp cơ bản đang báo cáo rằng nó hỗ trợ các luồng được đặt tên khi nó thực sự không. Nhà phát triển đã thử nghiệm với Ubuntu 16.04 Samba và không gặp sự cố này. Tính năng này đã được thêm vào để giúp người dùng gặp sự cố này với phiên bản Linux khác. Vui lòng xem https://github.com/bailey27/cppcryptfs/issues/63 nếu bạn đang gặp sự cố với Samba và muốn chủ động tắt các luồng được đặt tên sau khi tạo hệ thống tệp của bạn.

Sau đó chuyển đến tab "Gắn kết" và chọn một ký tự ổ đĩa và chọn thư mục bạn vừa tạo hệ thống tệp. Sau đó nhập mật khẩu và nhấp vào nút "Gắn kết".

Alt text

Bạn cũng có thể nhấp chuột phải vào danh sách các chữ cái ổ đĩa và chọn "Thêm điểm gắn kết". Điều này sẽ cho phép bạn thêm một thư mục trống vào danh sách các chữ cái ổ đĩa. Thư mục trống này, phải nằm trên ổ đĩa NTFS, có thể đóng vai trò là điểm gắn kết thay cho ký tự ổ đĩa. Điểm gắn kết được thêm vào sẽ được thêm vào danh sách bên dưới các chữ cái ổ đĩa. Bạn cũng có thể nhấp chuột phải vào một điểm gắn kết đã thêm và xóa nó khỏi danh sách. Thư mục điểm gắn kết bạn thêm được lưu trong sổ đăng ký Windows.

LƯU Ý: Mặc dù A: và B: có thể sử dụng làm điểm gắn kết, nhưng không nên sử dụng chúng vì việc gắn hệ thống tệp được mã hóa vào chúng đã được biết là gây ra sự cố với Windows Update.

Bạn cũng có thể nhấp chuột phải vào một hệ thống tệp được gắn kết và tháo gỡ nó hoặc xem các thuộc tính của nó.

Nhấp đúp vào ổ đĩa được gắn sẽ mở cửa sổ File Explorer trên đó.

Nếu bạn đã chỉ định một đường dẫn tùy chỉnh cho tệp cấu hình khi bạn tạo hệ thống tệp, thì bạn cũng phải chỉ định nó ở đây.

Nếu bạn đã chỉ định đường dẫn tùy chỉnh cho tệp cấu hình, bạn cũng phải chọn "đảo ngược" nếu đó là hệ thống tệp ngược. Nếu không, cppcryptfs sẽ tự động phát hiện nếu filesytem nên được gắn ở chế độ chuyển tiếp hoặc đảo ngược.

Lưu ý: cppcryptfs sử dụng đường dẫn đến hệ thống tệp được mã hóa làm khóa để điều chỉnh lại đường dẫn tùy chỉnh đến tệp cấu hình (nếu có) và các cài đặt khác như đảo ngược và chỉ đọc. Vì vậy, khi bạn chọn một đường dẫn để gắn kết, hãy chắc chắn xác minh rằng các cài đặt này là những gì bạn muốn sử dụng lần này.

Sau khi bạn gắn hệ thống tệp, sau đó bạn sẽ có một ký tự ổ đĩa mới và bạn có thể sử dụng nó như một ký tự ổ đĩa bình thường và lưu trữ thông tin nhạy cảm của bạn ở đó. Dữ liệu được mã hóa và lưu trong các tệp trong thư mục bạn đã chỉ định.

Nếu bạn chọn "Chỉ đọc", thì hệ thống tệp sẽ được gắn chỉ đọc (được bảo vệ chống ghi).

Để biết giải thích về cách mật khẩu đã lưu hoạt động trong cppcryptfs, vui lòng xem phần "Mật khẩu đã lưu" bên dưới.

Để biết chi tiết kỹ thuật về thiết kế mật mã của gocryptfs, vui lòng truy cập trang dự án gocryptfs.

Khi bạn đã sử dụng xong ký tự ổ đĩa, hãy chuyển đến tab "Gắn kết" và chọn ký tự ổ đĩa và nhấp vào "Tháo dỡ" hoặc nhấp vào "Tháo gỡ tất cả". (Các) ký tự ổ đĩa sẽ bị tháo gỡ và các khóa mã hóa sẽ bị xóa khỏi bộ nhớ.

Bạn có thể gắn kết nhiều hệ thống tệp gocryptfs như bạn có sẵn các ký tự ổ đĩa không sử dụng.

Mật khẩu và khóa được khóa trong bộ nhớ bằng VirtualLock(). Khi chúng không còn cần thiết, chúng sẽ bị xóa bằng SecureZeroMemory() và sau đó được mở khóa. Nếu bạn không bao giờ ngủ đông máy tính của mình, thì bạn không phải lo lắng về mật khẩu hoặc khóa của mình từng được ghi vào ổ cứng.

Nếu bạn đóng cửa sổ cppcryptfs, thì nó sẽ ẩn chính nó trong khay hệ thống. Để thoát cppcryptfs, hãy sử dụng nút Thoát trên trang gắn kết hoặc menu ngữ cảnh của biểu tượng khay hệ thống.

Cài đặt​

Ngoài ra còn có một tab cài đặt.

Alt text
Thiết đặt đề xuất được hiển thị

Thay đổi giá trị trên tab cài đặt ảnh hưởng đến tất cả các hệ thống tệp sau đó được gắn kết. Bất kỳ hệ thống tập tin đã được gắn kết sẽ không bị ảnh hưởng.

Các cài đặt hiện tại được lưu trữ trong sổ đăng ký Windows và sẽ được sử dụng vào lần tiếp theo một hệ thống tệp được gắn kết, ngay cả từ dòng lệnh.

Tab thiết đặt có các thiết lập sau:

Luồng trên mỗi hệ thống tập tin

Sử dụng nhiều hơn một chủ đề để xử lý yêu cầu cho mỗi hệ thống tập tin có thể dẫn đến cải thiện hiệu suất.

Sử dụng "Mặc định Dokany" sẽ khiến Dokany chọn số lượng luồng thích hợp. Nó hiện đang sử dụng năm chủ đề.

Kích thước bộ đệm I/O (KB)

Thiết đặt này kiểm soát kích thước tối đa của số lần đọc và ghi mà cppcryptfs thực hiện trên fileystem cơ bản.

cppcryptfs thực sự thực hiện I/O theo bội số của kích thước khối được mã hóa, là 4.128 byte. Vì vậy, khi bạn chỉ định 4KB, kích thước bộ đệm thực sự là 4.128 byte và khi bạn chỉ định 1024KB, kích thước bộ đệm thực sự là 1.056.768 byte.

Tăng kích thước bộ đệm I/O có thể dẫn đến cải thiện hiệu suất, đặc biệt là khi hệ thống tệp cơ bản là một hệ thống tệp mạng từ xa.

Đối với hệ thống tệp từ xa, giá trị tốt để thử là "Dokany mặc định (5)" cho mỗi chuỗi hệ thống tệp và 64KB cho kích thước bộ đệm I/O.

Thời gian lưu trữ để sống

cppcryptfs lưu trữ thông tin về hệ thống tệp. Nếu mục nhập trong bộ nhớ đệm cũ hơn thời gian hoạt động, mục đó sẽ được xác thực lại trước khi sử dụng.

Tăng thời gian bộ nhớ cache để sống hoặc đặt nó thành vô hạn sẽ dẫn đến hiệu suất tốt hơn.

Tuy nhiên, nếu bạn liên tục đồng bộ hóa hệ thống tệp cppcryptfs của mình với một bản sao khác của hệ thống tệp trên một máy tính khác đang chạy trong một phiên bản khác của cppcryptfs hoặc gocryptfs, thì việc đặt thời gian sống quá cao của một giá trị có thể dẫn đến lỗi nếu hệ thống tệp được sửa đổi trên máy tính khác.

Nếu bạn không đồng bộ hóa hệ thống tệp giữa hai phiên bản cppcryptfs đang chạy đồng thời hoặc giữa một phiên bản cppcryptfs và một phiên bản của gocryptfs, thì không có lý do gì để không đặt thời gian bộ nhớ cache để sống ở giá trị cao hoặc vô hạn.

Trường hợp vô cảm

Tùy chọn này chỉ có hiệu lực ở chế độ chuyển tiếp và chỉ khi tên tệp được mã hóa được sử dụng. Hệ thống tệp chế độ đảo ngược với tên tệp được mã hóa luôn phân biệt chữ hoa chữ thường và các hệ thống tệp có tên tệp văn bản thuần túy luôn không nhạy cảm với chữ hoa chữ thường.

Thông thường, khi mã hóa tên tệp được sử dụng, cppcryptfs yêu cầu mở các tệp và thư mục bằng cách sử dụng cùng một trường hợp được sử dụng khi các tệp và thư mục được tạo.

Nếu tùy chọn không nhạy cảm trường hợp được chọn, thì cppcryptfs sẽ bỏ qua trường hợp tên tệp và thư mục, ở chế độ chuyển tiếp, ngay cả khi mã hóa tên tệp được sử dụng. Đây là cách API Windows hoạt động bình thường. Ngoài ra, hiệu suất sẽ chậm hơn một chút.

Xem phần "Độ nhạy trường hợp" để biết thêm thông tin.

Bật Trình quản lý Gắn kết (Thùng Rác)

Thiết đặt này hiện không được bật khi chọn Thiết đặt Mặc định hoặc Được đề xuất. Bạn phải kích hoạt nó riêng nếu bạn muốn sử dụng nó. Nó chưa được thử nghiệm kỹ lưỡng.

Thiết đặt này cho phép trình quản lý gắn kết Windows trên ổ đĩa được mã hóa. Bật trình quản lý gắn kết cho phép thùng rác. Thiết đặt này chỉ hoạt động nếu cppcryptfs được chạy với tư cách quản trị viên. Nếu bạn cố gắng gắn kết một hệ thống tệp với thiết đặt này được chọn và cppcryptfs không chạy với tư cách quản trị viên, thì cppcyrptfs sẽ hiển thị hộp thoại cảnh báo (có thể bị vô hiệu hóa) và sẽ không bật trình quản lý gắn kết.

Thiết đặt này không ảnh hưởng đến hệ thống tập tin đảo ngược hoặc khi hệ thống tập tin được gắn chỉ đọc.

Lưu ý: Nếu bạn đang đồng bộ hóa các tệp được mã hóa của hệ thống tệp với Dropbox, thì nếu bạn bật mount manger (thùng rác), thì Dropbox sẽ không thể đồng bộ hóa các tệp trong thùng rác vì nó không có đủ đặc quyền.
Bạn nên chạy Dropbox với tư cách Quản trị viên hoặc bạn nên xác định tên thư mục được mã hóa nào là tên của thùng rác và loại trừ nó bằng tính năng đồng bộ hóa chọn lọc của Dropbox. Nếu bạn đang sử dụng tên tệp văn bản thuần túy, thì thùng rác sẽ chỉ đơn giản là "$RECYCLE. BIN". Chuyển đổi dòng lệnh --list, nếu được đưa ra đường dẫn (không được mã hóa) đến thư mục gốc của hệ thống tệp làm đối số, có thể được sử dụng để tìm tên được mã hóa của thùng rác.

Ví dụ.


cppcryptfs --list=d:\



Bật mật khẩu đã lưu

Thiết đặt này cho phép lưu mật khẩu. Vui lòng xem phần trên Mật khẩu đã lưu bên dưới để biết thêm thông tin về mật khẩu đã lưu.

Khi cài đặt này được bật, hộp kiểm "Lưu mật khẩu" trong tab gắn kết sẽ có thể sử dụng được.

Nếu cài đặt "Bật mật khẩu đã lưu" được thay đổi từ đã chọn sang bỏ chọn, thì cppcryptfs sẽ hỏi liệu tất cả mật khẩu đã lưu có nên bị xóa hay không.

Thiết đặt này không được bật trong thiết đặt Mặc định hoặc Khuyến cáo.

Không bao giờ lưu lịch sử

Thiết đặt này ngăn cppcryptfs lưu bất kỳ giá trị nào trong sổ đăng ký Windows ngoại trừ các giá trị được mô tả trên trang này. Ví dụ: nó sẽ ngăn chặn việc lưu đường dẫn trong lịch sử và lưu mật khẩu ngay cả khi mật khẩu đã lưu đã được bật.

Khi thiết đặt này được chọn, tất cả các giá trị được lưu trữ bởi cppcryptfs trong sổ đăng ký Windows sẽ bị xóa ngoại trừ các cài đặt được mô tả trên trang này ngoại trừ mật khẩu đã lưu. Tuy nhiên, sẽ không lưu mật khẩu mới trong khi cài đặt này có hiệu lực.

Để xóa mật khẩu đã lưu, bạn phải bỏ chọn cài đặt "lưu mật khẩu".

Thiết đặt này không được bật trong thiết đặt Mặc định hoặc Khuyến cáo.

Xóa tệp .ini bàn

Thiết đặt này được tạo https://github.com/bailey27/cppcryptfs/issues/62. Được biết, Google Drive có thể tạo các tệp máy tính để bàn .ini trong mọi thư mục trong thư mục nguồn của các tệp được mã hóa. Các tệp này đã ngăn người dùng xóa các thư mục khỏi phía không được mã hóa. Nếu hệ thống tệp được gắn với cài đặt này, thì cppcryptfs sẽ tự động xóa các tệp máy tính để bàn.ini không được mã hóa khi xóa thư mục.

Thiết đặt này chỉ có hiệu lực ở chế độ chuyển tiếp và chỉ khi tên tệp được mã hóa được sử dụng.

Thiết đặt này không được bật trong thiết đặt Mặc định hoặc Khuyến cáo.

Mở khi gắn kết

Nếu cài đặt này được bật, thì khi ổ đĩa được mã hóa được gắn, nó sẽ tự động được mở bằng chương trình quản lý tệp Windows mặc định thường là File Explorer.

Thiết đặt này không được bật trong thiết đặt Mặc định hoặc Khuyến cáo.

Mã hóa Khóa trong Bộ nhớ

Khi cài đặt này được bật, cppcryptfs giữ khóa mã hóa (khóa chính và bất kỳ khóa có nguồn gốc nào) được mã hóa bằng API Bảo vệ Dữ liệu Windows (DPAPI) khi chúng không cần thiết. Các khóa được mã hóa bằng DPAPI và chúng không được mã hóa khi cần thiết và sau đó các bản sao không được mã hóa được zeroed ra khi không cần thiết. Xem phần "Mật khẩu đã lưu" bên dưới để biết thêm thông tin về DPAPI.

Cài đặt này làm giảm khả năng phần mềm độc hại có thể đọc các khóa không được mã hóa từ bộ nhớ quy trình của cppcyrptfs.

Ngoài ra, thiết đặt này ngăn các khóa không được mã hóa kết thúc trên đĩa trong tệp ngủ đông nếu hệ thống đi vào chế độ ngủ đông.

Cài đặt này là hoàn toàn mới và bất kỳ lỗi nào trong việc triển khai nó có thể gây mất dữ liệu. Nó được recommened để sử dụng thiết đặt này chỉ khi bạn thực hiện sao lưu thường xuyên của hệ thống tập tin được mã hóa của bạn.

Bạn nên sử dụng "Khóa bộ nhớ cache trong bộ nhớ" (xem bên dưới) với cài đặt này. Nếu không, sẽ có một tác động signficant đến hiệu suất nếu bạn không bật "Phím bộ nhớ cache trong bộ nhớ".

Thiết đặt này không được bật trong thiết đặt Mặc định hoặc Khuyến cáo.

Khóa bộ nhớ cache trong bộ nhớ

Thiết đặt này không có hiệu lực trừ khi "Mã hóa khóa trong bộ nhớ" được bật.

Khi cài đặt này được bật và mã hóa các khóa trong bộ nhớ cũng được bật, thì cppcryptfs sẽ lưu trữ các khóa không được mã hóa giữa các lần sử dụng trong tối đa một giây.

Thiết đặt này làm giảm tác động hiệu suất của "Mã hóa khóa trong bộ nhớ" về cơ bản bằng không. Nếu không bật thiết đặt này, mã hóa khóa trong bộ nhớ làm giảm đáng kể hiệu suất.

Khi hệ thống sắp vào chế độ chờ hoặc ngủ đông, cppcryptfs sẽ tự động vô hiệu hóa bộ nhớ cache để khi hệ thống chuyển sang chế độ nguồn điện thấp, các khóa không được mã hóa sẽ không có trong bộ nhớ. Bộ đệm ẩn được tự động kích hoạt lại khi hệ thống thức dậy.

Thiết đặt này không được bật trong thiết đặt Mặc định hoặc Khuyến cáo.

Mặc định và Đề xuất

Hiện tại, các cài đặt mặc định và được đề xuất là như nhau.

Cho phép gắn kết nhanh

Trước đây, cppcryptfs sẽ luôn đợi Dokany gọi lại để cho biết liệu thao tác gắn kết có thành công hay không.

Dokany thường mất 5 giây để gọi lại. Tuy nhiên, hệ thống tệp dường như được gắn kết và có sẵn gần như ngay lập tức.

Khi Bật gắn nhanh được bật, cppcryptfs sẽ đợi gọi lại của Dokany và định kỳ kiểm tra (thăm dò ý kiến) để xem hệ thống tệp có được gắn kết không. Nếu cppcryptfs phát hiện ra rằng hệ thống tệp dường như được gắn kết, thì cppcryptfs sẽ ngừng chờ trên Dokany và giả sử thao tác gắn kết thành công. Nếu cài đặt này bị vô hiệu hóa, thì cppcryptfs sẽ chỉ chờ gọi lại từ Dokany.

Với cài đặt này được bật, thao tác gắn kết thành công được chỉ định như vậy trên máy của nhà phát triển trong khoảng 31 mili giây thay vì 5 giây như trước đây.

Lưu ý: thiết đặt này không có hiệu lực khi điểm gắn kết là thư mục NTFS trống và không phải là ký tự ổ đĩa. Dokany báo hiệu việc gắn kết thành công nhanh chóng nếu điểm gắn kết là một thư mục và bỏ phiếu không có ý nghĩa trong trường hợp này.

Thiết đặt này được bật theo mặc định.

Đặt lại Cảnh báo

Nhấn nút Đặt lại Cảnh báo sẽ bật lại bất kỳ hộp thoại cảnh báo nào đã bị vô hiệu hóa trước đó bằng cách chọn "không hiển thị lại thông báo này".

Mật khẩu đã lưu​

Nếu cài đặt "Bật mật khẩu đã lưu" được bật trong tab cài đặt, thì hộp kiểm "Lưu mật khẩu" trên tab gắn kết sẽ có thể sử dụng được.

Khi cppcryptfs lưu mật khẩu, nó sử dụng API bảo vệ dữ liệu Windows (DPAPI) để mã hóa mật khẩu. Windows DPAPI được mô tả ở đây.

https://msdn.microsoft.com/en-us/library/ms995355.aspx

Dữ liệu được mã hóa bằng Windows DPAPI chỉ an toàn như độ mạnh và bảo mật của mật khẩu được sử dụng để đăng nhập vào Windows.

Mật khẩu đã lưu được liên kết với đường dẫn đến thư mục gốc của hệ thống tệp được mã hóa.

Ngoài ra, bản thân cài đặt "Lưu mật khẩu" được phân bổ với đường dẫn.

Để lưu mật khẩu, hãy đảm bảo hộp "Lưu mật khẩu" được chọn khi bạn gắn hệ thống tệp.

Mật khẩu sẽ được mã hóa bằng DPAPI và được lưu trong sổ đăng ký Windows.

Để gắn hệ thống tệp mà không cần nhập mật khẩu, hãy đảm bảo "Lưu mật khẩu" được chọn, sau đó chọn đường dẫn từ lịch sử đường dẫn, trong trường hợp đó mật khẩu cho đường dẫn đó (nếu tìm thấy) sẽ được điền (hiển thị dưới dạng dấu chấm) trong trường mật khẩu. Hoặc, nếu thay vì chọn đường dẫn, bạn nhập nó vào trường đường dẫn và nhấn nút gắn mà không cần nhập mật khẩu, thì nếu mật khẩu đã lưu cho đường dẫn đó được tìm thấy, nó sẽ được sử dụng.

Tùy chọn dòng lệnh -P có thể được sử dụng để gắn hệ thống tệp từ dòng lệnh bằng mật khẩu đã lưu cho đường dẫn đó.

Chế độ đảo ngược​

Ở chế độ ngược lại, thư mục nguồn (gốc) được sử dụng cho hệ thống tệp bao gồm các tệp không được mã hóa. Khi thư mục này được gắn kết, thì ký tự ổ đĩa cppcryptfs cung cấp chế độ xem được mã hóa nhanh chóng của các tệp này.

Chế độ đảo ngược cũng cung cấp chế độ xem tệp cấu hình (dưới dạng gocryptfs.conf) và nếu tên tệp được mã hóa được sử dụng, tệp gocryptfs.diriv trong mỗi thư mục. Và nếu tên tệp dài được sử dụng với tên tệp được mã hóa, thì các tệp tên tệp dài đặc biệt cũng được trình bày.

Fileystems chế độ ngược luôn được gắn chỉ đọc.

Khi bạn tạo một fileystem chế độ ngược, thư mục gốc của hệ thống tệp không phải trống (không giống như trong trường hợp tạo một hệ thống tập tin chế độ chuyển tiếp bình thường). cppcryptfs sẽ tạo tệp cấu hình trong thư mục gốc của hệ thống tệp. Đây là một tệp ẩn có tên .gocryptfs.reverse.conf (thay vì gocryptfs.conf unhidden được sử dụng ở chế độ bình thường/chuyển tiếp).

Khi bạn đi để gắn kết một hệ thống tập tin, cppcryptfs đầu tiên tìm kiếm .gocryptfs.reverse.conf, và nếu nó tìm thấy nó, sau đó nó sẽ gắn hệ thống tập tin ở chế độ ngược lại. Nếu nó không tìm thấy .gocryptfs.reverse.conf, thì nó sẽ cố gắng mở gocryptfs.conf và nếu nó thành công, thì filesysem sẽ được gắn ở chế độ chuyển tiếp (bình thường).

Nếu bạn đã chỉ định đường dẫn tùy chỉnh cho tệp cấu hình, bạn phải kiểm tra "đảo ngược" để gắn hệ thống tệp ở chế độ ngược lại.

Nếu bạn gắn một hệ thống tệp ngược và sau đó sao chép toàn bộ cây thư mục đến một số vị trí khác, sau đó bạn có thể gắn bản sao đó (có chứa các tệp được mã hóa và tệp cấu hình chế độ bình thường và các tệp hỗ trợ khác) dưới dạng hệ thống tệp chuyển tiếp (bình thường).

Chế độ đảo ngược rất hữu ích khi bạn muốn sao lưu một cây thư mục chứa các tệp không được mã hóa, nhưng bạn muốn bản sao lưu được mã hóa.

Chế độ đảo ngược sử dụng chế độ mã hóa AES256-SIV xác định (thực sự là AES512-SIV nhưng với khóa SIV 512 bit bắt nguồn từ khóa chính 256 bit) cho dữ liệu tệp và nó cũng thực hiện mã hóa tên tệp một cách xác định.

Lưu ý: khi bạn gắn hệ thống tệp bằng AES256-SIV ở chế độ chuyển tiếp, bất kỳ mã hóa mới nào cũng được thực hiện không xác định (như trường hợp của gocryptfs).

Vì mã hóa ở chế độ ngược lại mang tính quyết định, bạn có thể sử dụng một tiện ích như rsync để sao lưu các tệp được mã hóa và nó sẽ chỉ sao chép các tệp đã thay đổi. Ngoài ra, nếu tiện ích sao lưu của bạn hỗ trợ đồng bộ hóa delta (như rsync) khi làm việc với dữ liệu không được mã hóa, thì nó cũng sẽ thực hiện đồng bộ hóa delta với dữ liệu được mã hóa ở chế độ ngược lại miễn là dữ liệu được thay đổi tại chỗ. Tuy nhiên, nếu dữ liệu được chèn vào một tệp, thì một thay đổi tầng sẽ xuất hiện trong dữ liệu tệp được mã hóa từ thời điểm dữ liệu được chèn vào (thực sự, bắt đầu với toàn bộ khối mã hóa đó) và dữ liệu từ đó trở đi sẽ cần phải được sao chép lại.

Có thể gắn một hệ thống tập tin ngược gắn kết ở chế độ chuyển tiếp. Hệ thống tập tin chuyển tiếp cũng sẽ là chỉ đọc. Điều này rất hữu ích chủ yếu để thử nghiệm.

Tùy chọn Dòng Lệnh​

cppcryptfs chấp nhận một số tùy chọn dòng lệnh để gắn kết và tháo gỡ hệ thống tệp. Hiện tại, hệ thống tập tin chỉ có thể được tạo bằng cách sử dụng gui.

Chỉ có thể có một phiên bản chính của cppcryptfs đang chạy. Nếu không có phiên bản cppcryptfs nào khác đang chạy, thì cppcryptfs xử lý bất kỳ đối số dòng lệnh nào và sau đó tiếp tục chạy. Nếu đã có một phiên bản cppcryptfs khác đang chạy, thì cppcryptfs sẽ gửi đối số dòng lệnh của nó đến phiên bản chính, đã chạy. Nếu chạy từ cửa sổ bảng điều khiển, nó sẽ in bất kỳ đầu ra nào từ xử lý dòng lệnh đến bảng điều khiển. Nếu không chạy từ bảng điều khiển, nó sẽ hiển thị đầu ra trong hộp thông báo.

Ngoài ra còn có một chương trình đồng hành, cppcryptfsctl, có thể được sử dụng để gửi lệnh đến một cppcryptfs đã chạy. cppcryptfsctl là một chương trình giao diện điều khiển. Ưu điểm của việc sử dụng nó là nó đặt ERRORLEVEL để điều này có thể được kiểm tra trong các tập lệnh hàng loạt. Ngoài ra, có thể chuyển hướng đầu ra của cppcryptfsctl đến một tập tin hoặc đường ống nó đến một chương trình khác như grep của findstr. cppcryptfs không đặt ERRORLEVEL và đầu ra của nó không thể được chuyển hướng.

cppcryptfsctl đặt ERRORLEVEL thành 0 khi thành công, thành 1 nếu xảy ra lỗi và 2 nếu nó không thể kết nối ngụ ý rằng cppcryptfs không chạy.

Mật khẩu được truyền qua dòng lệnh không thực sự an toàn. cppcryptfs khóa và zeros các bản sao nội bộ của dòng lệnh, nhưng, ví dụ, nó không bằng không dòng lệnh được lưu trữ trong Windows PEB (Khối môi trường quá trình). Ngoài ra, nếu cppcyrptfs đã chạy, thì một lệnh gọi cppcryptfs (hoặc cppcryptfsctl) từ dòng lệnh sẽ khiến nó truyền dòng lệnh đến phiên bản đã chạy. Nó cố gắng làm điều này một cách khá an toàn. Nó giao tiếp với phiên bản đang chạy bằng cách sử dụng một đường ống có tên Windows cục bộ. Nếu chương trình chạy ở hai bên của đường ống được ký, thì nó xác minh rằng chương trình ở đầu kia của đường ống cũng đang chạy từ một tệp thực thi đã ký và tên chung trên cả hai chữ ký là như nhau. Tuy nhiên, không rõ dòng lệnh có thể được Sao chép bao nhiêu lần bởi Windows ra khỏi sự kiểm soát của cppcryptfs. Vì vậy, có một số khả năng mật khẩu được truyền qua dòng lệnh có thể kết thúc trong tệp hoán trang nếu tệp hoán trang đang được sử dụng.

Usage: cppcryptfs/cppcryptfsctl [OPTIONS]

Mounting:
-m, --mount=PATH mount filesystem located at PATH
-d, --drive=D mount to drive letter D or empty dir DIR
-p, --password=PASS use password PASS
-P, --saved-password use saved password
-r, --readonly mount read-only
-c, --config=PATH path to config file for init/mount
-s, --reverse init/mount reverse filesystem (implies siv for init)

Unmounting:
-u, --unmount=D unmount drive letter D or dir DIR
-u, --unmount=all unmount all drives

Misc:
-t, --tray hide in system tray
-x, --exit exit if no drives mounted
-l, --list list available and mounted drive letters (with paths)
-ld:\p, --list=d:\p list plaintext and encrypted filenames
-C, --csv file list is comma-delimited
-D, --dir file list dirs first and w/ trailing \"\\\"
-i, --info=D show information about mounted filesystem
-v, --version print version (use --init -v for cppcryptfsctl ver)
-h, --help display this help message

Initializing (cppcryptfsctl only):
-I, --init=PATH Initialize encrypted filesystem located at PATH
-V, --volumename=NAME specify volume name for filesystem
-T, --plaintext use plaintext filenames (default is AES256-EME)
-S, --siv use AES256-SIV for data encryption (default is GCM)
-L, --longnames [0|1] enable/disable LFNs. defaults to enabled (1)
-b, --streams [0|1] enable/disable streams. defaults to enabled (1)

Recovery/Maintenance (cppcryptfsctl only):
--changepassword=PATH Change password used to protect master key
--printmasterkey=PATH Print master key in human-readable format
--recover=PATH Prompt for master key and new password to recover

Chỉ cppcryptfsctl mới có thể tạo một hệ thống tập tin từ dòng lệnh(--init). Để tạo một hệ thống tệp với cppcryptfs, bạn phải sử dụng GUI.

Khi tạo / khởi tạo một hệ thống tệp, cppcryptfsctl sẽ nhắc nhập mật khẩu và lặp lại mật khẩu mà không cần tiếng vang nếu chạy tương tác. Nếu đầu vào tiêu chuẩn của nó được chuyển hướng, thì nó sẽ đọc mật khẩu từ đầu vào tiêu chuẩn mà không cần nhắc.

Để có được phiên bản cppcryptfsctl, bạn phải chỉ định khởi tạo và -v. ví dụ cppcryptfsctl -I -v, nếu không nó sẽ cố gắng lấy và in phiên bản của một phiên bản đang chạy của cppcryptfs.

Một số tùy chọn phổ biến cho cả khởi tạo và gắn kết (--cấu hình và --đảo ngược).

Lưu ý: khi sử dụng phiên bản ngắn của tùy chọn, bạn không nên sử dụng dấu bằng giữa tùy chọn và đối số của nó. Khi sử dụng phiên bản dài của tùy chọn, dấu bằng là tùy chọn. ví dụ: những điều này sẽ hoạt động

Ngoài ra, nếu bạn có ý định gắn ổ đĩa vào ký tự ổ đĩa, thì bạn không nên bao gồm ký tự \ trong đối số với tùy chọn ổ đĩa. ví dụ: nếu bạn muốn gắn kết để lái xe "r:" sử dụng "-dr:" và không phải "-dr:\".

cppcryptfs -m c:\tmp\test -d k -p XYZ
cppcryptfs --mount=c:\tmp\test --drive=k --password=XYZ
cppcryptfs --mount c:\tmp\test --drive k --password XYZ


Tùy chọn --list có một đối số tùy chọn. Nếu không có đối số nào được đưa ra, thì nó liệt kê các ký tự ổ đĩa và hiển thị đường dẫn đến thư mục gốc của hệ thống tệp được mã hóa cho các hệ thống tệp được gắn kết.

Lệnh danh sách cũng lấy một đường dẫn đầy đủ làm đối số tùy chọn. Đường dẫn phải là tên không được mã hóa của tệp hoặc thư mục bao gồm ký tự ổ đĩa. Nếu đối số là một tệp, thì cppcryptfs sẽ in đường dẫn tệp không được mã hóa ở bên trái và đường dẫn được mã hóa ở bên phải. Nếu đối số là một thư mục, thì cppcryptfs sẽ in tên không được mã hóa của các tệp ở bên trái và tên được mã hóa ở bên phải.

Do cách xử lý các đối số tùy chọn, nếu bạn đang sử dụng dạng ngắn của công tắc danh sách (-l), thì bạn phải đặt đường dẫn ngay sau -l không có dấu cách. Và nếu bạn đang sử dụng biểu mẫu dài (--list), thì bạn phải sử dụng dấu "=". Ví dụ.

cppcryptfs -lk:\foo

cppcryptfs --list=k:\foo


Chỉ có thể có một phiên bản cppcryptfs chạy bất cứ lúc nào.

Khi cppcryptfs được gọi, nó sẽ kiểm tra xem có một phiên bản khác đang chạy không. Nếu có, thì nếu không có tùy chọn dòng lệnh, phiên bản thứ hai của cppcryptfs sẽ chỉ đơn giản là thoát ra. Nếu không có phiên bản nào khác đang chạy, thì nó sẽ xử lý các tùy chọn dòng lệnh (nếu có) và sẽ tiếp tục chạy trừ khi --exit được chỉ định và không có ổ đĩa được gắn.

Do đó, nếu bạn có kế hoạch sử dụng cppcryptfs hoặc cppcryptfsctl trong các tệp hàng loạt, trước tiên bạn cần bắt đầu một phiên bản trong nền. Sau đó, bạn nên thực hiện các thao tác khác ở nền trước để chúng sẽ chặn cho đến khi hoàn thành.

Nếu bạn khởi động "cppcryptfs --tray" trong nền, thì nếu đã có một phiên bản đang chạy, thì phiên bản đó sẽ được yêu cầu ẩn chính nó trong khay hệ thống. Nếu chưa có phiên bản nào đang chạy, thì bạn sẽ bắt đầu cppcryptfs ẩn trong khay hệ thống, chạy trong nền.

Dưới đây là một ví dụ Windows cmd tập tin hàng loạt bằng cách sử dụng cppcryptfs.

@rem ====================================================
@rem run cppcryptfs in background and give it time to start up
@rem ====================================================

start cppcryptfs.exe --tray
timeout /t 1 >nul

@rem ====================================================
@rem Mount drive U:
@rem ====================================================

cppcryptfs.exe --mount=d:\TestCppCryptFS --drive=u --password=PASSWORD --tray --exit

@rem ====================================================
@rem Mount drive V:
@rem ====================================================

cppcryptfs.exe --mount=d:\TestCppCryptFS2 --drive=v --password=PASSWORD --tray --exit

@rem ====================================================
@rem Run any command with the mounted drives
@rem ====================================================

copy C:\test.txt U:\test.txt
copy C:\test.txt V:\test.txt

Dưới đây là một ví dụ cygwin bash scrypt. Lưu ý rằng trong bash, bạn cần sử dụng dấu gạch chéo ngược kép trong đường dẫn gắn kết.


#!/bin/bash
# start cppcryptfs in the background and hidden in the system tray
/cygdrive/c/bin/cppcryptfs -t &
# give it time to initialize
sleep 1
# mount a filesystem and wait for the mount operation to complete
/cygdrive/c/bin/cppcryptfs --mount c:\\tmp\\test -d k -p XYZ
# do backup operation
rsync .....
# unmount all drives and exit
/cygdrive/c/bin/cppcryptfs -u all -x


Thay đổi Mật khẩu​

cppcryptfsctl có khả năng thay đổi mật khẩu bảo vệ khóa chính trong tệp cấu hình (thường là gocryptfs.conf hoặc .gocryptfs.reverse.conf).

Tính năng này chủ yếu dành cho những người chỉ muốn sử dụng mật khẩu khác. Nó không phải là một giải pháp tốt cho mật khẩu bị xâm phạm.

Tất cả thay đổi mật khẩu là thay đổi mật khẩu được sử dụng để gắn hệ thống tệp. Nó không thay đổi khóa mã hóa được sử dụng để mã hóa dữ liệu. Điều này là do khóa được sử dụng để mã hóa dữ liệu được mã hóa bằng khóa có nguồn gốc từ mật khẩu và được lưu trữ trong tệp cấu hình. Vì vậy, tất cả mật khẩu được sử dụng là giải mã khóa mã hóa thực tế.

Do đó, nếu ai đó có mật khẩu của bạn và một bản sao của tệp cấu hình cũ của bạn, thì họ vẫn có thể giải mã dữ liệu và bất kỳ dữ liệu nào bạn thêm hoặc thay đổi sau khi thay đổi mật khẩu.

Nếu bạn nghĩ rằng mật khẩu của mình đã bị xâm phạm và nếu bạn nghĩ rằng ai đó có thể đã có tệp cấu hình của bạn, thì điều tốt nhất cần làm là tạo một hệ thống tệp mới với mật khẩu mới, gắn nó, gắn kết hệ thống tệp cũ và sao chép dữ liệu của bạn từ chế độ xem không được mã hóa của filesytem cũ sang chế độ xem không được mã hóa của hệ thống tệp mới.

Phục hồi mật khẩu bị mất​

Phục hồi từ mật khẩu bị mất chỉ có thể nếu bạn đã in và lưu khóa chính không được mã hóa.

Nếu bạn chạy:

cppcryptfsctl --printmasterkey PATH (đường dẫn đến dir hệ thống tệp được mã hóa hoặc tệp cấu hình)

Nó sẽ in khóa chính không được mã hóa ở dạng có thể đọc được của con người. Ví dụ: bạn có thể in nó và lưu nó trong ngăn kéo bị khóa.

Nếu quên mật khẩu, bạn có thể chạy

cppcryptfsctl --phục hồi PATH

Nó sẽ nhắc bạn nhập khóa chính, và sau đó nó sẽ nhắc bạn nhập mật khẩu mới và xác nhận mật khẩu mới.

Thao tác này ghi đè lên khóa chính trong tệp cấu hình đích. Nó tạo một bản sao lưu của tệp cấu hình trước khi thực hiện việc này. Bản sao lưu được đặt tên bằng cách .bak vào tên của tệp cấu hình. Nếu tệp .bak đã tồn tại, nó yêu cầu bạn xóa tệp .bak hiện có hoặc di chuyển nó ra khỏi đường đi.

Khôi phục tệp cấu hình bị mất hoặc bị hỏng​

Phục hồi tệp cấu hình bị mất hoặc bị hỏng chỉ có thể nếu bạn có khóa chính không được mã hóa.

cppcryptfsctl --printmasterkey PATH (đường dẫn đến dir hệ thống tệp được mã hóa hoặc tệp cấu hình)

Điều này sẽ in khóa chính không được mã hóa ở dạng có thể đọc được của con người. Nếu bạn đã làm điều này và lưu khóa, thì bạn có thể sử dụng nó để khôi phục từ tệp cấu hình bị mất hoặc bị hỏng.

Quy trình là thực hiện việc này (giả sử bạn đã in khóa chính và lưu nó trước khi cần khôi phục):

  1. Bạn sẽ cần tạo một hệ thống tệp mới, sử dụng các tham số tương tự ngoài đường dẫn (ví dụ: phương pháp mã hóa dữ liệu, phương pháp mã hóa tên tệp, tên tệp dài, v.v.) mà bạn đã sử dụng khi tạo hệ thống tệp mà bạn đang cố gắng khôi phục.
Không quan trọng bạn sử dụng mật khẩu nào.

  1. sử dụng cppcryptfsctl --recover PATH để đặt khóa chính từ hệ thống tệp cũ trong tệp cấu hình đó.
Điều này sẽ thay thế khóa chính trong tệp cấu hình đó bằng khóa bạn đã nhập. Nó sẽ được mã hóa bằng mật khẩu mới mà bạn chọn.

  1. Hãy thử gắn hệ thống tệp cũ chỉ định đường dẫn đến tệp cấu hình mới và xem liệu có hoạt động không (đảm bảo bạn có thể đọc dữ liệu từ nó).
  2. Nếu nó hoạt động, thì bạn có thể đặt tệp cấu hình bạn đã khôi phục vào thư mục gốc của hệ thống tệp được mã hóa nếu bạn muốn.
Điểm hấp dẫn duy nhất ở đây là nếu bạn có một hệ thống tệp được tạo bằng các phiên bản gocryptfs hoặc cppcryptfs trước 1.3 (phát hành vào tháng 4 / tháng 5 năm 2017), thì bạn sẽ gặp sự cố với HKDF và Raw64. Đây là những mặc định và không có cách nào để tạo tệp cấu hình mà không có chúng.

Vì vậy, nếu bạn có một hệ thống tệp cũ mà bạn đang khôi phục và nó không hoạt động, thì hãy thử chỉnh sửa tệp cấu hình bạn đã tạo để khôi phục và xóa các dòng có

"HKDF",
"Raw64",

Và xem nó có hiệu quả không.

Giới hạn độ dài tên tệp và đường dẫn​

Nếu "Tên tệp dài" (mặc định) được xác định khi tạo fileystem hoặc nếu tên tệp văn bản thuần túy được sử dụng và nếu hệ thống tệp cơ bản hiện đại một cách hợp lý (ví dụ: NTFS/exFAT/FAT32), thì tên tệp hoặc thư mục có thể dài tới 255 ký tự và đường dẫn đầy đủ có thể dài khoảng 32.000 ký tự.

Nếu "Tên tệp dài" không được chỉ định và tên tệp văn bản thuần túy không được sử dụng, thì độ dài tối đa của tên tệp hoặc thư mục là 160 ký tự. Nhưng giới hạn đường dẫn đầy đủ vẫn là khoảng 32.000 ký tự (giả sử NTFS/exFAT/FAT32).

Khi tên tệp được mã hóa, nó được chuyển đổi từ UNICODE-16 sang UTF-8, tùy thuộc vào ngôn ngữ, có thể khiến số ký tự tăng lên. Sau đó, nó được mã hóa, khiến nó được đệm tới 16 byte. Sau đó, nó được mã hóa base64, thường dẫn đến chiều dài tăng 33%. Do đó, tên tệp được mã hóa có thể dài hơn nhiều so với tên không được mã hóa.

Ngoài ra, đường dẫn đến thư mục nơi fileystem được mã hóa cư trú phải được chờ trước đến đường dẫn của tên tệp được mã hóa.

Các hệ thống tệp cũ hơn, chẳng hạn như FAT16, sẽ giới hạn tổng độ dài đường dẫn thành 259 ký tự.

Do đó, nên sử dụng một hệ thống tệp hiện đại như NTFS, exFAT hoặc FAT32 bất cứ khi nào có thể.

Rất nhiều progam Windows, bao gồm File Explorer đi kèm với Windows, gặp sự cố với đường dẫn dài hơn giới hạn ký tự 259 cũ, bất kể hệ thống tệp cơ bản nào được sử dụng. Nếu bạn sử dụng tên tệp được mã hóa, bạn có thể cần sử dụng trình quản lý tệp của bên thứ ba xử lý các đường dẫn tệp dài nếu bạn muốn di chuyển thư mục gốc của hệ thống tệp được mã hóa. Bạn nên sao chép nó và sau đó xóa cái cũ thay vì di chuyển nó trong trường hợp trình quản lý tệp của bạn gặp sự cố.

Độ nhạy trường hợp​

API Windows không phân biệt chữ hoa chữ thường đối với tên tệp, nhưng hệ thống tệp Windows (NTFS và FAT32) vẫn giữ nguyên trường hợp tên tệp.

Trong Windows, nếu bạn tạo một tệp dưới dạng "Foo.txt" và sau đó cố gắng mở nó dưới dạng "foo.txt", nó sẽ hoạt động.

Hầu hết, nhưng không phải tất cả, phần mềm mở các tệp bằng cách sử dụng cùng một trường hợp được sử dụng khi các tệp được tạo.

cppcryptfs ban đầu luôn phân biệt chữ hoa chữ thường nếu tên tệp được mã hóa được sử dụng. Đây là cách gocryptfs hoạt động.

Vì vậy, nếu tên tệp được mã hóa được sử dụng, thì nếu một tệp được tạo là "Foo.txt", thì nếu một nỗ lực được thực hiện để mở "foo.txt", tệp sẽ không được tìm thấy.

cppcryptfs bây giờ có một thiết đặt "không nhạy cảm với trường hợp" khiến nó có hành vi không nhạy cảm với trường hợp ngay cả khi tên tệp được mã hóa được sử dụng, nhưng chỉ ở chế độ chuyển tiếp (bình thường).

Ở chế độ ngược lại, tên tệp luôn phân biệt chữ hoa chữ thường nếu tên tệp được mã hóa được sử dụng, bất kể cài đặt không nhạy cảm với chữ hoa chữ thường. Đây là một biện pháp phòng ngừa cần thiết bởi vì nếu trường hợp tên tệp được mã hóa được thay đổi (ví dụ: khi sao lưu hệ thống tệp), thì tên tệp sẽ không giải mã đúng nếu bản sao của filesysem sau đó được gắn ở chế độ chuyển tiếp.

Nếu tên tệp văn bản thuần túy được sử dụng, thì tên tệp luôn không nhạy cảm với chữ hoa chữ thường, ở cả chế độ chuyển tiếp và ngược lại, bất kể cài đặt không nhạy cảm với chữ hoa chữ thường.

hiệu năng​

Dưới đây là một số kết quả điểm chuẩn. Các thử nghiệm được tiến hành bằng cách sử dụng các tiện ích cygwin trong Windows 10 64 bit chạy trên cpu Intel i5-4200U với ssd M500 240GB quan trọng. Với cppcryptfs, AES256-GCM được sử dụng để mã hóa dữ liệu tệp và tên tệp được mã hóa và tên tệp dài đã được sử dụng.

Windows Defender quét thời gian thực đã bị vô hiệu hóa trong các thử nghiệm vì nó làm chậm nghiêm trọng tar cygwin. Phải mất 2m43.600s để trích xuất linux-3.0.tar.gz trên NTFS gốc với quét thời gian thực được kích hoạt.

cppcryptfs thực hiện tương tự như chương trình mẫu phản chiếu từ Dokany không làm mã hóa. SSD được xếp hạng cho hiệu suất ghi trực tuyến 250 MB / giây.

cppcryptfs native NTFS Dokany mirror

Streaming Write 168 MB/s 224 MB/s 181 MB/s
Extract linux-3.0.tar.gz 1m36.412s 0m21.291s 1m34.125s
ls -lR linux-3.0 1m1.979s 0m2.983s 1m11.618s
Delete linux-3.0 1m28.749s 0m10.144s 1m24.677s


Các điểm chuẩn trên đã được chạy từ lâu. Người tạo ra gocryptfs đã xuất bản các điểm chuẩn tương tự gần đây hơn so sánh cppcryptfs với các hệ thống tệp mật mã khác trên Windows.

https://nuetzlich.net/gocryptfs/comparison/#performance-on-windows

Một số kết quả nhanh hơn nhưng hầu hết đều chậm hơn so với các điểm chuẩn trên. Điều này có thể được giải thích bởi bảo vệ thời gian thực của Windows Defender đang hoạt động trong các thử nghiệm. Tất cả các hệ thống tập tin mật mã được thử nghiệm dường như đã bị ảnh hưởng theo cùng một cách.

Khả năng tương thích với gocryptfs​

cppcryptfs có thể gắn kết tất cả các hệ thống tập tin được tạo bởi gocryptfs v0.7 trở lên. Tương tự như vậy, các hệ thống tệp được tạo bởi cppcryptfs với "tên tệp dài = tắt" có thể được gắn bởi gocryptfs v0.7 trở lên. Hệ thống tệp có "tên tệp dài = bật" có thể được gắn bởi gocryptfs v0.9 trở lên.

Ma trận compatability gocryptfs cung cấp thêm chi tiết. cppcryptfs yêu cầu DirIV, EMENames (nếu tên tệp được mã hóa và không sử dụng tên tệp văn bản thuần túy) và cờ tính năng GCMIV128. Nó hỗ trợ LongNames và có thể tạo hệ thống tệp với cờ bật và tắt.
 

chetuyet.hp

Rìu Sắt
Chưa tìm hiểu về thể loại này bao giờ nên đọc hết một lượt chưa được thấm lắm. Cảm ơn chủ tút :)
Đây là bản giới thiệu của họ, Mình thấy họ giới thiệu khá đầy đủ chi tiết.
Chung quy lại là.
Đây là một ứng dụng để mã hóa cả dữ liệu và tên file luôn
Tốc độ mã hóa khá nhanh
Không cần cài đặt nên khá là nhẹ
Múc độ bảo mật thì mình không kiểm tra được nhưng theo đánh giá của tác giả là khá cao
Dùng thằng này cho đồng bộ lên mây không bị tốn tài nguyên hya dung lượng mạng như một số phần mềm khác
Có thể chạy được các phần mềm Portable trên ứng dụng này
Đặc biệt nó là miễn phí trên nền Open source
 

chetuyet.hp

Rìu Sắt
Phần mềm hay mà ít người dùng nhỉ
Uh phần mềm này khá hay.
Thời buổi covis bây giờ làm việc online và dữ liệu online nhiều nên việc mã hóa dữ liệu và bảo mật mật khẩu mình nghĩ là rất quan trọng. Nên mỗi người cần chọn cho mình một phần mềm hợp lý để dùng
 

seemeK

Búa Đá
Uh phần mềm này khá hay.
Thời buổi covis bây giờ làm việc online và dữ liệu online nhiều nên việc mã hóa dữ liệu và bảo mật mật khẩu mình nghĩ là rất quan trọng. Nên mỗi người cần chọn cho mình một phần mềm hợp lý để dùng
nó có khác gì với việc nén file + password lại không bác.
 

chetuyet.hp

Rìu Sắt
Về bảo mật thì chắc là k khác j mấy. Nhưng cách thức hoạt động thì khác nhau.
Với file nén winrar chẳng hạn thì bạn phải nén và xả nén. Còn với phần mềm này thì k
 

pr0vjp

Búa Gỗ Đôi
nhưng nó chỉ cần cho những ai có tài liệu quan trọng thôi chứ trong pc mk toàn game, film, tài liệu học tập thôi chứ có gì đâu mà mã hóa làm gì!! hơn nx lỡ quên mất cách giải mã thì có mà toang!!!! theo cảm nhận của mk thì phần mềm này có vẻ khá hay & ngon nên có thể đây cx là 1 lựa chọn cho ai cần mã hóa tài liệu quan trọng :D:D
 

tittau

Rìu Sắt
Đây là bản giới thiệu của họ, Mình thấy họ giới thiệu khá đầy đủ chi tiết.
Chung quy lại là.
Đây là một ứng dụng để mã hóa cả dữ liệu và tên file luôn
Tốc độ mã hóa khá nhanh
Không cần cài đặt nên khá là nhẹ
Múc độ bảo mật thì mình không kiểm tra được nhưng theo đánh giá của tác giả là khá cao
Dùng thằng này cho đồng bộ lên mây không bị tốn tài nguyên hya dung lượng mạng như một số phần mềm khác
Có thể chạy được các phần mềm Portable trên ứng dụng này
Đặc biệt nó là miễn phí trên nền Open source

thế mình mã hoá trên pc xong trên đt nó có cần phần mềm để giải mã ko nhỉ. vd như ios thì dùng app nào nhỉ
 

chetuyet.hp

Rìu Sắt
thế mình mã hoá trên pc xong trên đt nó có cần phần mềm để giải mã ko nhỉ. vd như ios thì dùng app nào nhỉ
Cái này chỉ dùng trên win thôi k có trên điện thoại .
Muốn dùng được trên điện thoại thì phải dùng sang Cryptomator và phải mất phí. Cryptomator cũng chỉ miến phí trên win.
 


Top