Cách giải mã dữ liệu trên điện thoại của bạn. Android và mã hóa dữ liệu. Về việc mọi thứ tệ đến mức nào và tại sao nó khó có thể khá hơn. Những điều cần cân nhắc trước khi kích hoạt mã hóa

Nếu bạn nhìn nó từ góc độ bảo mật, điện thoại thông minh Android của bạn là một chiếc hộp nhỏ gọn chứa đầy những thông tin cá nhân quan trọng và bạn khó có thể muốn nó rơi vào tay kẻ xấu. Để có được bức tranh thực tế hơn về tình huống, hãy nghĩ về e-mail, Tin nhắn SMS, số thẻ tín dụng đã lưu, ảnh cá nhân và các dữ liệu nhạy cảm khác.

Tôi nghĩ không ai muốn rơi vào tình huống mà một người lạ chiếm hữu dữ liệu này, bởi vì thật đáng sợ khi nghĩ đến hậu quả của việc này. Và đây là lý do chính khiến chúng tôi đến với phương pháp khác nhau tổ chức bảo vệ điện thoại hoặc máy tính bảng của bạn và mã hóa dữ liệu là phương tiện chính để bảo vệ dữ liệu.

Mã hóa là gì?

Mã hóa là một quá trình có thể đảo ngược để chuyển đổi dữ liệu thành dữ liệu không chế độ xem có thể đọc được cho tất cả mọi người ngoại trừ những người biết cách giải mã nó. Cách duy nhất để đưa dữ liệu trở lại dạng có thể đọc được là giải mã lại bằng khóa chính xác.

Sẽ dễ hiểu hơn những điều như vậy bằng cách sử dụng các ví dụ đơn giản, giả sử bạn bị mất nhật ký và ai đó tìm thấy nó và biết tiếng Nga có thể dễ dàng đọc và tìm ra những bí mật sâu kín nhất của bạn, nhưng nếu bạn viết nhật ký theo một cách nào đó mã bí mật hoặc một ngôn ngữ mà chỉ bạn hiểu thì không ai khác có thể đọc được.

Cách tiếp cận tương tự có thể được áp dụng cho dữ liệu được lưu trữ trên thiết bị Android của bạn. Kẻ trộm có thể chiếm lấy điện thoại thông minh hoặc máy tính bảng của bạn và giành quyền truy cập vào dữ liệu cá nhân, nhưng nếu dữ liệu được mã hóa thì đó sẽ chỉ là một đống gobbledygook vô dụng mà hắn không thể đọc được.

Chúng tôi mã hóa Android của bạn

Mã hóa Android rất thủ tục đơn giản. Xin lưu ý rằng các menu mã hóa dữ liệu có thể được đặt ở những vị trí khác nhau trên các thiết bị khác nhau. Ngoài ra, chương trình cơ sở và giao diện người dùng tùy chỉnh, chẳng hạn như Samsung TouchWiz UX, có thể có các yêu cầu khác nhau.

Trước hết, hãy đặt mật khẩu hoặc mã PIN để khóa màn hình. Mật khẩu hoặc mã PIN này sẽ tạo thành một phần của khóa để giải mã dữ liệu, vì vậy điều quan trọng là phải đặt mật khẩu trước khi bắt đầu mã hóa.

Một số nhà sản xuất thiết bị áp đặt các yêu cầu bảo mật bổ sung, chẳng hạn như Galaxy S3 và Galaxy S4.

Sau khi đặt mã PIN hoặc mật khẩu, hãy chuyển đến phần phụ “Bảo mật” của menu chính và chọn “Mã hóa điện thoại” hoặc “Mã hóa máy tính bảng”. Trên các thiết bị khác nhau, menu mã hóa dữ liệu có thể được đặt ở những nơi khác nhau, chẳng hạn như trong HTC One nó nằm trong phần “Bộ nhớ” trong menu chính.

Menu mã hóa sẽ trông giống như thế này:

Quá trình mã hóa mất nhiều thời gian, vì vậy điều quan trọng là pin của bạn phải được sạc đầy. Nếu không đủ pin, bạn sẽ nhận được thông báo trước khi bắt đầu mã hóa.

Nếu mọi thứ đã sẵn sàng, hãy nhấp vào nút ở cuối màn hình “Mã hóa điện thoại” hoặc “Mã hóa máy tính bảng”. Tại đây điện thoại của bạn sẽ yêu cầu nhập mật khẩu hoặc mã PIN, hãy nhập vào để xác nhận. Một thông báo cảnh báo sẽ xuất hiện lại, nhấp vào nút “Mã hóa điện thoại”.

Thiết bị của bạn sẽ khởi động lại và chỉ sau đó quá trình mã hóa mới bắt đầu. Bạn sẽ thấy chỉ báo tiến trình mã hóa trên màn hình. Trong khi quá trình mã hóa đang chạy, đừng nghịch điện thoại hoặc cố thực hiện bất kỳ hành động nào; nếu làm gián đoạn quá trình mã hóa, bạn có thể mất tất cả hoặc một phần dữ liệu.

Sau khi mã hóa hoàn tất, điện thoại (máy tính bảng) sẽ khởi động lại và bạn sẽ phải nhập mật khẩu hoặc mã PIN để giải mã tất cả dữ liệu. Sau khi nhập mật khẩu, tất cả dữ liệu sẽ được giải mã và Android sẽ khởi động bình thường.

Mã hóa thẻ SD bên ngoài

Một số thiết bị, chẳng hạn như Galaxy S3 và Galaxy S4, cho phép bạn mã hóa dữ liệu ngay cả trên thiết bị lưu trữ ngoài - thẻ nhớ SD.

Thông thường, bạn có tùy chọn chọn tệp nào trên thẻ nhớ để mã hóa. Bạn có các tùy chọn mã hóa sau: toàn bộ thẻ SD, bao gồm/loại trừ các tệp đa phương tiện hoặc chỉ mã hóa các tệp mới.

Dữ liệu bạn đã mã hóa trên thẻ SD sẽ không thể đọc được trên thiết bị Android khác. Một số thiết bị sẽ báo cáo rằng thẻ nhớ trống hoặc có hệ thống tệp không xác định.

Không giống như mã hóa bộ nhớ tích hợp, mã hóa dữ liệu trên thẻ SD có thể bị hủy. Trên Galaxy S3 và Galaxy S4, bạn có thể giải mã dữ liệu trên thẻ nhớ microSD bên ngoài bằng menu Mã hóa thẻ SD bên ngoài. Hãy cẩn thận với việc mã hóa trên thẻ SD vì một số thiết bị Android có thể hủy tất cả dữ liệu trong quá trình mã hóa hoặc giải mã.

Giống

Tóm tắt: Nếu bạn sử dụng phím đồ họa để truy cập vào điện thoại của mình thì 99% trường hợp này là đủ để đảm bảo rằng không ai có thể truy cập thông tin trên điện thoại của bạn mà bạn không biết. Nếu dữ liệu trên điện thoại của bạn rất nhạy cảm thì bạn nên sử dụng tính năng mã hóa toàn diện được tích hợp sẵn trong điện thoại.

Ngày nay, hầu hết tất cả điện thoại thông minh đều trở thành vật mang dữ liệu cá nhân hoặc doanh nghiệp quan trọng. Ngoài ra, thông qua điện thoại của chủ sở hữu, bạn có thể dễ dàng truy cập vào tài khoản của mình, chẳng hạn như Gmail, DropBox, FaceBook và thậm chí dịch vụ của công ty. Do đó, ở mức độ này hay mức độ khác, cần phải lo lắng về tính bảo mật của dữ liệu này và việc sử dụng phương tiện đặc biệtđể bảo vệ điện thoại của bạn khỏi bị truy cập trái phép trong trường hợp bị mất cắp hoặc mất mát.

  1. Bạn nên bảo vệ dữ liệu điện thoại của mình khỏi ai?
  2. Bảo vệ dữ liệu tích hợp trong Android.
  3. Mã hóa bộ nhớ điện thoại đầy đủ
  4. Kết quả

Thông tin nào được lưu trữ trên điện thoại và tại sao phải bảo vệ nó?

Điện thoại thông minh hoặc máy tính bảng thường đóng vai trò như một thư ký di động, giúp chủ sở hữu không phải lưu trữ một lượng lớn thông tin. Thông tin quan trọng. Danh bạ điện thoại chứa số của bạn bè, đồng nghiệp và thành viên gia đình. Số thẻ tín dụng, mã truy cập, mật khẩu mạng xã hội, email và hệ thống thanh toán thường được ghi vào sổ.
Danh sách các cuộc gọi gần đây cũng rất quan trọng.
Mất điện thoại có thể là một thảm họa thực sự. Đôi khi chúng bị đánh cắp nhằm mục đích thâm nhập vào cuộc sống cá nhân hoặc để chia sẻ lợi nhuận với chủ sở hữu.
Đôi khi chúng hoàn toàn không bị đánh cắp mà được sử dụng trong thời gian ngắn, không được chú ý, nhưng một vài phút là khá đủ để một người dùng độc hại có kinh nghiệm có thể tìm hiểu tất cả các chi tiết.

Việc mất thông tin bí mật có thể dẫn đến sự hủy hoại tài chính, sự sụp đổ trong cuộc sống cá nhân của bạn và sự tan vỡ của gia đình bạn.
Tôi ước gì tôi không có nó! - người chủ cũ sẽ nói. - Thật tốt khi có anh ấy! - kẻ tấn công sẽ nói.

Và vậy những gì cần được bảo vệ trên điện thoại:

  1. Tài khoản. Ví dụ: điều này bao gồm quyền truy cập vào hộp thư đến gmail của bạn. Nếu bạn đã thiết lập đồng bộ với facebook, dropbox, twitter. Thông tin đăng nhập và mật khẩu cho các hệ thống này được lưu trữ dưới dạng văn bản rõ ràng trong thư mục hồ sơ điện thoại /data/system/accounts.db.
  2. Lịch sử thư từ SMS và danh bạ điện thoại cũng chứa thông tin bí mật.
  3. Chương trình trình duyệt web. Toàn bộ hồ sơ trình duyệt phải được bảo vệ. Được biết, Trình duyệt Web (tích hợp hoặc bên thứ ba) ghi nhớ tất cả mật khẩu và thông tin đăng nhập cho bạn. Tất cả điều này được lưu trữ ở dạng mở trong thư mục hồ sơ chương trình trong bộ nhớ điện thoại. Hơn nữa, thông thường bản thân các trang web (với sử dụng cookie) ghi nhớ bạn và để lại quyền truy cập vào tài khoản của bạn, ngay cả khi bạn không chỉ định ghi nhớ mật khẩu.
    Nếu bạn đang sử dụng đồng bộ hóa trình duyệt di động(Chrome, FireFox, Maxthon, v.v.) bằng phiên bản trình duyệt dành cho máy tính để bàn để chuyển dấu trang và mật khẩu giữa các thiết bị, khi đó bạn có thể cho rằng bạn có thể truy cập tất cả mật khẩu từ các trang web khác từ điện thoại của mình.
  4. Thẻ nhớ. Nếu bạn lưu trữ các tập tin bí mật trên thẻ nhớ hoặc tải tài liệu từ Internet. Thông thường, ảnh và video đã chụp sẽ được lưu trên thẻ nhớ.
  5. Album ảnh.

Bạn nên bảo vệ dữ liệu điện thoại của mình khỏi ai:

  1. Từ một người ngẫu nhiên tìm thấy chiếc điện thoại bị mất của bạntôi vì “vô tình” trộm điện thoại.
    Trong trường hợp này, dữ liệu trên điện thoại khó có giá trị đối với chủ sở hữu mới. Do đó, ngay cả việc bảo vệ khóa đồ họa đơn giản cũng sẽ đảm bảo an toàn dữ liệu. Rất có thể, điện thoại sẽ được định dạng lại để sử dụng lại.
  2. Từ những ánh mắt tò mò(đồng nghiệp/con cái/vợ), người có thể truy cập vào điện thoại của bạn mà bạn không biết, lợi dụng sự vắng mặt của bạn. Bảo vệ đơn giản sẽ đảm bảo an toàn cho dữ liệu của bạn.
  3. Cung cấp quyền truy cập bắt buộc
    Điều đó xảy ra là bạn tự nguyện bị buộc phải cung cấp số điện thoại và quyền truy cập mở vào hệ thống (thông tin). Ví dụ: khi vợ bạn, quan chức chính phủ hoặc nhân viên yêu cầu bạn xem điện thoại của mình Trung tâm dịch vụ Bạn mang điện thoại đi sửa ở đâu? Trong trường hợp này, mọi biện pháp phòng thủ đều vô ích. Mặc dù có thể sử dụng các chương trình bổ sung để che giấu sự hiện diện của một số thông tin: ẩn một phần thư từ SMS, một phần danh bạ, một số tệp.
  4. Từ mục tiêu trộm cắp điện thoại của bạn.
    Ví dụ: ai đó thực sự muốn biết nội dung trên điện thoại của bạn và đã nỗ lực để có được nó.
    Trong trường hợp này, chỉ mã hóa toàn bộ điện thoại và thẻ SD mới có ích.

Bảo vệ dữ liệu tích hợp trên thiết bị Android .

1. Khóa màn hình bằng Phím mẫu.
Phương pháp này rất hiệu quả trong trường hợp thứ nhất và thứ hai (bảo vệ khỏi bị mất điện thoại do vô tình và bảo vệ khỏi những con mắt tò mò). Nếu bạn vô tình làm mất điện thoại hoặc để quên ở nơi làm việc thì sẽ không ai có thể sử dụng được. Nhưng nếu điện thoại của bạn cố tình rơi vào tay kẻ xấu thì điều này khó có thể cứu được bạn. Việc hack thậm chí có thể xảy ra ở cấp độ phần cứng.

Màn hình có thể được khóa bằng mật khẩu, mã PIN và Khóa mẫu. Bạn có thể chọn phương pháp khóa bằng cách khởi chạy cài đặt và chọn phần Bảo mật -> Khóa màn hình.

Khóa đồ họa(Mẫu) - c Cách thuận tiện nhất và đồng thời đáng tin cậy để bảo vệ điện thoại của bạn.

Không có- thiếu sự bảo vệ,
Cầu trượt- Để mở khóa, bạn cần vuốt ngón tay trên màn hình theo một hướng nhất định.

Mẫu- đây là Graphic Key, nó trông như thế này:

Bạn có thể cải thiện bảo mật theo hai cách.
1. Phóng to trường nhập phím Đồ họa. Nó có thể thay đổi từ 3x3 chấm trên màn hình đến 6x6 (Android 4.2 được tìm thấy ở một số kiểu máy, tùy thuộc vào phiên bản Android và kiểu điện thoại).
2. Ẩn hiển thị các điểm và “đường đi” của phím đồ họa trên màn hình smartphone để không thể nhìn lén phím.

3. Cài đặt chặn tự động màn hình sau 1 phút điện thoại không hoạt động.

Chú ý!!! Điều gì xảy ra nếu bạn quên khóa mẫu:

  1. Số lần thử sai để vẽ Khóa đồ họa được giới hạn ở 5 lần (mỗi lần mô hình khác nhau số lần thử có thể lên tới 10 lần).
  2. Sau khi bạn đã thử mọi cách mà vẫn không vẽ được Khóa mẫu chính xác, điện thoại sẽ bị khóa trong 30 giây. Sau đó, rất có thể bạn sẽ phải thử lại một vài lần, tùy thuộc vào kiểu điện thoại và phiên bản Android của bạn.
  3. Tiếp theo, điện thoại sẽ yêu cầu thông tin đăng nhập và mật khẩu tài khoản Gmail của bạn, tài khoản này đã được đăng ký trong cài đặt Tài khoản của điện thoại.
    Phương pháp này sẽ chỉ hoạt động nếu điện thoại hoặc máy tính bảng của bạn được kết nối với Internet. Nếu không thì bế tắc hoặc khởi động lại cài đặt của nhà sản xuất.

Chuyện xảy ra là điện thoại rơi vào tay một đứa trẻ - nó bắt đầu chơi, rút ​​chìa khóa nhiều lần và điều này dẫn đến việc chìa khóa bị khóa.

GHIM- đây là mật khẩu bao gồm nhiều số.

Và cuối cùng, Mật khẩu- sự bảo vệ đáng tin cậy nhất, với khả năng sử dụng chữ cái và số. Nếu bạn quyết định sử dụng mật khẩu, bạn có thể bật tùy chọn Mã hóa điện thoại.

Mã hóa bộ nhớ điện thoại.

Chức năng này được bao gồm trong gói Android phiên bản 4.0* trở lên. cho máy tính bảng. Nhưng tính năng này có thể bị thiếu trên nhiều điện thoại bình dân.
Cho phép bạn mã hóa bộ nhớ trong của điện thoại để chỉ có thể truy cập bộ nhớ trong bằng mật khẩu hoặc mã PIN. Mã hóa giúp bảo vệ thông tin trên điện thoại của bạn trong trường hợp ts hành vi trộm cắp có chủ đích. Không có cách nào kẻ tấn công có thể truy cập dữ liệu của bạn từ điện thoại.

Điều kiện tiên quyết để sử dụng mã hóa là đặt khóa màn hình bằng mật khẩu.
Phương pháp này đạt được mục đích lưu dữ liệu người dùng nằm trong bộ nhớ điện thoại, chẳng hạn như danh bạ điện thoại, cài đặt trình duyệt, mật khẩu được sử dụng trên Internet, ảnh và video mà người dùng nhận được bằng camera và không sao chép vào thẻ SD.

Mã hóa thẻ SD được kích hoạt dưới dạng tùy chọn riêng biệt.
- Mã hóa bộ nhớ có thể mất tới một giờ tùy thuộc vào dung lượng bộ nhớ trên thiết bị. Không thể sử dụng điện thoại trong quá trình mã hóa.

Nếu bạn quên mật khẩu thì sao?

Phục hồi mật khẩu không được cung cấp trong trường hợp này. Có thể thực hiện trên điện thoại hoặc máy tính bảng THIẾT LẬP LẠI đầy đủ, I E. cài đặt lại Android nhưng dữ liệu người dùng trên điện thoại hoặc máy tính bảng sẽ bị xóa. Vì vậy, nếu kẻ tấn công không biết mật khẩu để mở khóa điện thoại thì sẽ không thể sử dụng được. Cũng sẽ không thể xem dữ liệu từ bộ nhớ điện thoại bằng các chương trình khác bằng cách kết nối điện thoại với máy tính vì tất cả bộ nhớ trong đều được mã hóa. Cách duy nhất để điện thoại của bạn hoạt động trở lại là định dạng lại nó.

Xin lưu ý, chức năng mã hóa đầy đủ chỉ khả dụng từ hệ điều hành Android 4.0 - 4.1 và có thể không khả dụng trên một số kiểu điện thoại. Thường thấy nhất trong các điện thoại của Samsung, HTC, LG, Sony. Một số người mẫu trung quốc cũng có chức năng mã hóa. Trên một số điện thoại, chức năng này nằm trong phần “Bộ nhớ”.

Sai sót:

  1. Bạn sẽ cần phải liên tục nhập khá mật khẩu phức tạp(6-10 ký tự) ngay cả khi bạn chỉ muốn gọi. Mặc dù có thể đặt một khoảng thời gian dài (30 phút) trong đó mật khẩu sẽ không được yêu cầu khi bạn bật màn hình điện thoại. Trên một số kiểu điện thoại, độ dài mật khẩu tối thiểu có thể là 3 ký tự.
  2. Trên một số kiểu điện thoại, không thể tắt mã hóa nếu bạn muốn tránh phải liên tục nhập mật khẩu. Chỉ có thể tắt mã hóa bằng cách đưa điện thoại về cài đặt gốc và xóa tất cả dữ liệu.

Mã hóa thẻ nhớ SD bên ngoài

Chức năng được bao gồm trong gói tiêu chuẩn Android 4.1.1 cho máy tính bảng. Thiếu trong nhiều bản dựng ngân sách.
Chức năng này cung cấp bảo vệ đáng tin cậy dữ liệu trên thẻ SD bên ngoài. Có thể lưu trữ ở đây Ảnh cá nhân, tệp văn bản có thông tin thương mại và cá nhân.
Cho phép bạn mã hóa các tệp trên thẻ SD mà không thay đổi tên hoặc cấu trúc tệp của chúng, trong khi vẫn bảo toàn xem trước tập tin đồ họa (biểu tượng). Chức năng này yêu cầu đặt mật khẩu khóa màn hình ít nhất 6 ký tự.

Có thể hủy mã hóa. Khi thay đổi mật khẩu, quá trình mã hóa lại sẽ tự động diễn ra.
Nếu người dùng bị mất thẻ nhớ, các tập tin được mã hóa sẽ không thể đọc được qua đầu đọc thẻ. Nếu bạn đặt nó trên một máy tính bảng khác có mật khẩu khác thì dữ liệu được mã hóa cũng không thể đọc được.
Thuộc tính mã hóa khác:

  • Mã hóa minh bạch. Nếu thẻ được lắp vào máy tính bảng và người dùng đã mở khóa màn hình bằng mật khẩu, bất kỳ ứng dụng nào cũng sẽ thấy các tệp ở dạng được giải mã.
  • Nếu bạn kết nối máy tính bảng qua cáp USB với máy tính, các tệp được mã hóa cũng có thể được đọc trên máy tính bằng cách mở khóa thẻ trước từ màn hình của thiết bị di động.
  • Nếu bạn ghi một số tập tin không được mã hóa khác vào thẻ thông qua đầu đọc thẻ, chúng cũng sẽ được mã hóa sau khi lắp thẻ vào máy tính bảng.
  • Nếu bạn có thẻ mã hóa, bạn không thể hủy mật khẩu khóa.
  • Dữ liệu được mã hóa ở cấp độ tệp (tên tệp được hiển thị nhưng nội dung của tệp được mã hóa).

Nhược điểm của chương trình: bị thiếu trong hầu hết các bản dựng Android.

Cần nhấn mạnh rằng sự an toàn tốt nhất của dữ liệu là một bản sao hoàn chỉnh của nó trên Máy tính của bạn trongĐiện thoại thông minh là một thiết bị nhỏ khá mỏng manh, điều đó có nghĩa là nó luôn có khả năng bị hỏng hoặc bị mất.

Cải thiện khả năng sử dụng của điện thoại thông minh an toàn

Mã hóa toàn bộ điện thoại mang lại mức độ bảo vệ mạnh nhất nhưng việc liên tục nhập mật khẩu 6 chữ số khiến việc sử dụng trở nên khó khăn. Nhưng có một giải pháp.

Chọn mẫu, mã PIN hoặc mật khẩu để thiết lập bảo mật của bạn.

Bạn sẽ được đưa ra lựa chọn: bảo vệ bằng mã PIN, mật khẩu hoặc mẫu khi khởi động. Lựa chọn là tùy thuộc vào bạn, nhưng chúng tôi khuyên bạn nên chọn một số loại bảo vệ vì nó làm tăng tính bảo mật cho thiết bị của bạn.

Lưu ý rằng ngay cả với đầu đọc dấu vân tay, bạn không thể sử dụng dấu vân tay của mình để mở khóa thiết bị trong lần khởi động đầu tiên—bạn sẽ phải nhập mật khẩu, mã PIN hoặc hình mở khóa. Sau khi thiết bị đã được giải mã bằng phương pháp chính xác, máy quét dấu vân tay có thể được sử dụng để mở khóa màn hình.

Từ giờ trở đi, thiết bị của bạn sẽ được mã hóa nhưng nếu muốn tắt mã hóa, bạn có thể thực hiện bằng cách thực hiện khôi phục cài đặt gốc. Nếu bạn có một thiết bị mới tự động kích hoạt mã hóa thì không có cách nào để vô hiệu hóa nó, thậm chí không thông qua khôi phục cài đặt gốc.

Mã hóa dữ liệu trong hệ điều hành Android liên quan chặt chẽ đến hai vấn đề: kiểm soát quyền truy cập vào thẻ nhớ và chuyển ứng dụng sang thẻ nhớ. Nhiều chương trình chứa dữ liệu kích hoạt, thông tin thanh toán và thông tin bí mật. Việc bảo vệ nó yêu cầu quản lý các quyền truy cập, vốn không được hỗ trợ bởi hệ thống tệp thông thường dành cho thẻ. Hệ thống FAT 32. Do đó, trong mỗi phiên bản Android, các phương pháp mã hóa đã thay đổi hoàn toàn - từ hoàn toàn không có bảo vệ mật mã phương tiện di động trước khi tích hợp sâu vào một phân vùng duy nhất với mã hóa nhanh chóng.

Vai trò đặc biệt của thẻ nhớ

Ban đầu Nhà phát triển Android nhằm mục đích chỉ sử dụng thẻ nhớ làm nơi lưu trữ riêng cho các tập tin người dùng. Nó chỉ là một kho đa phương tiện mà không có bất kỳ yêu cầu nào về khả năng bảo vệ và độ tin cậy. Thẻ microSD(HC) với FAT32 đáp ứng tốt vai trò lưu trữ đơn giản, giải phóng bộ nhớ trong khỏi ảnh, video và nhạc.

Khả năng chuyển sang thẻ nhớ không chỉ tập tin đa phương tiện, nhưng ứng dụng này cũng xuất hiện lần đầu tiên trong Android 2.2 Froyo. Nó được triển khai bằng cách sử dụng khái niệm vùng chứa được mã hóa cho từng ứng dụng, nhưng điều này chỉ bảo vệ chống lại việc thẻ rơi vào tay kẻ xấu - chứ không phải điện thoại thông minh.

Ngoài ra, đây chỉ là một biện pháp nửa vời: nhiều chương trình được chuyển một phần, để lại một số dữ liệu trong bộ nhớ trong và một số (ví dụ: chương trình hệ thống hoặc chứa các widget) hoàn toàn không được chuyển vào thẻ. Khả năng chuyển ứng dụng phụ thuộc vào loại của chúng (được cài đặt sẵn hoặc bên thứ ba) và cấu trúc bên trong. Đối với một số người, thư mục chứa dữ liệu người dùng ngay lập tức được đặt riêng biệt, trong khi đối với những người khác, nó nằm trong thư mục con của chính chương trình.

Nếu các ứng dụng sử dụng nhiều thao tác đọc/ghi thì độ tin cậy và tốc độ của thẻ không còn có thể làm hài lòng các nhà phát triển. Họ cố tình làm cho việc chuyển chương trình bằng các phương tiện tiêu chuẩn không thể thực hiện được. Nhờ thủ thuật này, tác phẩm của họ được đảm bảo được ghi vào bộ nhớ trong với tài nguyên ghi lại lớn và hiệu suất cao.

Với phiên bản thứ tư của Android, bạn có thể chọn nơi đặt ứng dụng. Theo mặc định, có thể chỉ định thẻ nhớ làm đĩa để cài đặt chương trình, nhưng không phải tất cả phần sụn đều hỗ trợ chính xác chức năng này. Cách nó hoạt động trong một thiết bị cụ thể chỉ có thể được xác định bằng thực nghiệm.

Ở Android thứ năm, Google một lần nữa quyết định quay trở lại khái niệm ban đầu và làm mọi cách để khiến việc chuyển ứng dụng sang thẻ nhớ trở nên khó khăn nhất có thể. Nhà sản xuất lớn bắt được tín hiệu và thêm các chức năng giám sát của riêng họ vào chương trình cơ sở, phát hiện các nỗ lực của người dùng nhằm buộc di chuyển ứng dụng sang thẻ bằng cách sử dụng root. Chỉ có tùy chọn với tạo ra khó khăn hoặc liên kết tượng trưng. Trong trường hợp này, đơn được xác định bởi địa chỉ chuẩn trong bộ nhớ tích hợp nhưng thực tế lại nằm trên thẻ. Tuy nhiên, sự nhầm lẫn là do trình quản lý tệp gây ra, nhiều trình quản lý tệp không xử lý liên kết chính xác. Họ cho thấy âm lượng sai không gian trông, bởi vì họ tin rằng ứng dụng được cho là chiếm dung lượng cả trong bộ nhớ trong và trên thẻ cùng một lúc.

Thích ứng nó!

TRONG Android Marshmallow một thỏa hiệp xuất hiện có tên là “Bộ lưu trữ có thể thích ứng”. Đây là nỗ lực của Google nhằm giữ cho đàn cừu được an toàn và những người lính luôn vui vẻ.

Chức năng Adoptable Storage cho phép bạn kết hợp phân vùng người dùng trong bộ nhớ tích hợp với phân vùng trên thẻ thành một ổ đĩa logic. Trên thực tế, nó tạo một phân vùng ext4 hoặc F2FS trên thẻ và thêm nó vào phân vùng người dùng của bộ nhớ trong. Đây là một hoạt động hợp nhất hoàn toàn hợp lý, gợi nhớ một cách mơ hồ đến việc tạo một ổ đĩa kéo dài từ một số đĩa vật lý trong Windows.

Trong quá trình kết hợp với bộ nhớ trong, thẻ được định dạng lại. Theo mặc định, toàn bộ dung lượng của nó sẽ được sử dụng trong tập đã hợp nhất. Trong trường hợp này, các tệp trên thẻ không thể đọc được trên thiết bị khác nữa - chúng sẽ được mã hóa bằng khóa thiết bị duy nhất, khóa này được lưu trữ bên trong môi trường thực thi đáng tin cậy.

Ngoài ra, bạn có thể dành dung lượng trên thẻ cho phân vùng thứ hai với FAT32. Các tập tin được lưu trữ trên đó sẽ hiển thị trên tất cả các thiết bị như trước đây.

Phương thức chia thẻ được đặt thông qua menu Bộ nhớ có thể chấp nhận hoặc thông qua cầu nối gỡ lỗi cho Android (Android Cầu gỡ lỗi-ADB). Tùy chọn cuối cùng được sử dụng trong trường hợp nhà sản xuất đã ẩn Bộ lưu trữ thông qua khỏi menu, nhưng chưa xóa chức năng này khỏi chương trình cơ sở. Ví dụ: nó được ẩn trong Samsung Galaxy S7 và điện thoại thông minh hàng đầu LG. TRONG Gần đây Nhìn chung, đã có xu hướng loại bỏ Bộ lưu trữ có thể chấp nhận khỏi các thiết bị hàng đầu. Nó được coi là một cái nạng cho điện thoại thông minh giá rẻ và máy tính bảng không có đủ bộ nhớ Flash tích hợp.

Tuy nhiên, các nhà tiếp thị không có quyền quyết định cách chúng ta sử dụng thiết bị của mình. Thông qua ADB trên máy tính có Chức năng Windows Bộ nhớ có thể chấp nhận được bật như sau.

  1. Chúng tôi tạo một bản sao lưu tất cả dữ liệu trên thẻ - nó sẽ được định dạng lại.
  2. Java SE Bộ dụng cụ phát triển từ trang web của Oracle.
  3. Cài đặt phiên bản mới nhất Trình quản lý SDK Android.
  4. Bật gỡ lỗi USB trên điện thoại thông minh của bạn.
  5. Khởi chạy Trình quản lý SDK và viết trên dòng lệnh:

    Trong đó x:y là số thẻ nhớ.

  6. Nếu bạn muốn để lại một phần cho ổ đĩa FAT32 thì hãy thay đổi lệnh từ bước 7 thành:

    $sm phân vùng đĩa: x:y hỗn hợp nn


    trong đó nn là phần trăm ổ đĩa còn lại cho ổ FAT32.

Ví dụ: lệnh sm phân vùng đĩa:179:32 hỗn hợp 20 sẽ thêm 80% dung lượng của thẻ vào bộ nhớ tích hợp và để lại ổ đĩa FAT32 trên đó với 1/5 dung lượng của nó.

Trên một số điện thoại thông minh, phương pháp “nguyên trạng” này không còn hoạt động và yêu cầu các thủ thuật bổ sung. Các nhà sản xuất đang làm mọi cách để phân chia sản phẩm của họ thành các ngóc ngách thị trường một cách giả tạo. Các mẫu máy hàng đầu hiện có sẵn với dung lượng bộ nhớ tích hợp khác nhau và ngày càng có ít người sẵn sàng trả quá nhiều tiền cho nó.

Một số điện thoại thông minh không có khe cắm thẻ nhớ (ví dụ: dòng Nexus) nhưng hỗ trợ kết nối ổ USB-Flash trong Chế độ OOT. Trong trường hợp này, ổ flash cũng có thể được sử dụng để mở rộng bộ nhớ trong. Điều này được thực hiện bằng lệnh sau:

$ adb shell sm set - bắt buộc - có thể áp dụng đúng

Theo mặc định, khả năng sử dụng USB-OTG để tạo bộ lưu trữ tùy chỉnh bị tắt vì việc xóa không mong muốn có thể dẫn đến mất dữ liệu. Xác suất tắt máy đột ngột Thẻ nhớ thấp hơn nhiều do vị trí vật lý của chúng bên trong thiết bị.

Nếu có vấn đề phát sinh khi thêm ổ đĩa phương tiện di động hoặc chia nó thành các phân vùng, thì trước tiên hãy xóa tất cả thông tin về bố cục logic trước đó khỏi nó. Điều này có thể được thực hiện một cách đáng tin cậy bằng cách sử dụng tiện ích Linux gparted, tiện ích này chạy trên máy tính Windows với đĩa khởi động hoặc trong một máy ảo.

Theo chính sách chính thức của Google, các ứng dụng có thể được cài đặt trực tiếp hoặc chuyển đến cửa hàng tùy chỉnh nếu nhà phát triển đã chỉ định điều này trong thuộc tính android:installLocation. Điều trớ trêu là không phải tất cả các ứng dụng của Google đều cho phép điều này. Không có giới hạn thực tế nào đối với “bộ nhớ thích ứng” trong Android. Giới hạn lý thuyết cho Bộ nhớ có thể chấp nhận là 9 zettabyte. Không có quá nhiều ngay cả trong các trung tâm dữ liệu và thậm chí còn nhiều hơn nữa, thẻ nhớ có dung lượng lớn hơn sẽ không xuất hiện trong những năm tới.

Bản thân quy trình mã hóa khi tạo bộ lưu trữ thích ứng được thực hiện bằng cách sử dụng dm-crypt - cùng một mô-đun nhân Linux thực hiện mã hóa toàn bộ đĩa của bộ nhớ tích hợp của điện thoại thông minh (xem bài viết trước “”). Thuật toán AES được sử dụng ở chế độ chuỗi khối bản mã (CBC). Một vectơ khởi tạo riêng với muối (ESSIV) được tạo cho từng khu vực. Độ dài tích chập của hàm băm SHA là 256 bit và bản thân khóa là 128 bit.

Việc triển khai này, mặc dù có độ tin cậy kém hơn AES-XTS-256, nhưng nhanh hơn nhiều và được coi là đủ tin cậy cho các thiết bị tiêu dùng. Một người hàng xóm tò mò khó có thể mở một kho lưu trữ được mã hóa thích ứng trong một thời gian hợp lý, nhưng các cơ quan tình báo từ lâu đã học được cách khai thác những thiếu sót của kế hoạch CBC. Ngoài ra, trên thực tế, không phải tất cả 128 bit của khóa đều hoàn toàn ngẫu nhiên. Sự suy yếu vô ý hoặc cố ý của trình tạo số giả ngẫu nhiên tích hợp là vấn đề phổ biến nhất trong mật mã. Nó không chỉ ảnh hưởng đến các tiện ích Android mà còn ảnh hưởng đến tất cả các thiết bị tiêu dùng nói chung. Vì thế nhất cách đáng tin cậyđảm bảo quyền riêng tư - hoàn toàn không lưu trữ dữ liệu bí mật trên điện thoại thông minh của bạn.

Nếu sau khi kết hợp bộ nhớ với sử dụng có thể chấp nhận được Khôi phục bộ nhớ về cài đặt gốc thì dữ liệu trên thẻ cũng sẽ bị mất. Do đó, bạn nên tạo bản sao lưu của chúng trước hoặc tốt hơn là ngay lập tức chỉ định đồng bộ hóa đám mây.

Mã hóa dữ liệu thay thế trên thẻ nhớ

Bây giờ chúng ta đã giải quyết được các đặc thù của việc lưu trữ tệp trên thẻ nhớ trong các phiên bản Android khác nhau, hãy chuyển trực tiếp sang mã hóa chúng. Nếu bạn có một thiết bị chạy Android 6 trở lên thì khả năng cao là bạn có thể kích hoạt chức năng Bộ nhớ có thể chấp nhận bằng cách này hay cách khác. Khi đó toàn bộ dữ liệu trên thẻ sẽ được mã hóa giống như trong bộ nhớ trong. Chỉ các tập tin trên phần bổ sung FAT32, nếu bạn muốn tạo nó khi định dạng lại thẻ.

Trong các phiên bản Android trước đây, mọi thứ phức tạp hơn nhiều, vì trước phiên bản 5.0, tính năng bảo vệ bằng mật mã hoàn toàn không ảnh hưởng đến thẻ nhớ (tất nhiên ngoại trừ dữ liệu từ các ứng dụng được chuyển). Các tập tin “thông thường” trên thẻ vẫn mở. Để đóng chúng khỏi những con mắt tò mò, bạn sẽ cần các tiện ích của bên thứ ba (thường chỉ có vỏ đồ họa cho các công cụ tích hợp). Với tất cả sự đa dạng của các phương pháp hiện có, có bốn phương pháp khác nhau về cơ bản:

  • sử dụng một bộ chứa mật mã phổ quát - một tệp có hình ảnh của một ổ đĩa được mã hóa trong định dạng phổ biến, ứng dụng nào dành cho các hệ điều hành khác nhau có thể hoạt động;
  • mã hóa minh bạch các tệp trong một thư mục được chỉ định thông qua trình điều khiển FUSE và tiện ích của bên thứ ba để tạo/gắn phân vùng được mã hóa dưới dạng tệp;
  • mã hóa toàn bộ thẻ nhớ thông qua dm-crypt;
  • sử dụng “hộp đen” - một ứng dụng riêng biệt lưu trữ dữ liệu được mã hóa trong định dạng riêng và không cung cấp quyền truy cập vào chúng cho các chương trình của bên thứ ba.

Tùy chọn đầu tiên quen thuộc với bất kỳ ai sử dụng TrueCrypt hoặc một trong các nhánh của nó trên máy tính. Có những ứng dụng dành cho Android hỗ trợ bộ chứa TrueCrypt, nhưng những hạn chế của chúng là khác nhau.

Tùy chọn thứ hai cho phép bạn tổ chức “mã hóa minh bạch”, tức là lưu trữ tất cả dữ liệu được mã hóa và giải mã nó khi được truy cập từ bất kỳ ứng dụng nào. Để thực hiện việc này, tất cả dữ liệu từ thư mục đã chọn sẽ được thể hiện dưới dạng nội dung của hệ thống tệp ảo có hỗ trợ mã hóa nhanh chóng. EncFS thường được sử dụng, chúng tôi sẽ nói chi tiết hơn ở bên dưới.

Tùy chọn thứ ba được tích hợp sẵn dm-crypt. Bạn có thể sử dụng nó, chẳng hạn như thông qua Trình quản lý LUKS. Ứng dụng yêu cầu cài đặt root và BusyBox. Giao diện của nó không dành cho tất cả mọi người.

Trình quản lý LUKS tạo vùng chứa tiền điện tử trên thẻ dưới dạng tệp. Vùng chứa này có thể được kết nối với một thư mục tùy ý và hoạt động với nó như với một thư mục thông thường. Ưu điểm là giải pháp này có hỗ trợ đa nền tảng. Bạn có thể làm việc với vùng chứa không chỉ trên tiện ích Android mà còn trên máy tính để bàn: trên Linux - thông qua cryptsetup và trên Windows - thông qua chương trình hoặc nhánh của nó LibreCrypt. Nhược điểm là sự bất tiện khi sử dụng nó cùng với các dịch vụ đám mây. Mỗi lần trên đám mây, bạn phải lưu lại toàn bộ vùng chứa, ngay cả khi một byte đã thay đổi.

Tùy chọn thứ tư thường ít được quan tâm vì nó hạn chế rất nhiều tình huống sử dụng các tệp được mã hóa. Chúng chỉ có thể được mở bằng một số ứng dụng chuyên biệt và tin tưởng rằng nhà phát triển nó đã thành công trong việc nghiên cứu mật mã. Thật không may, hầu hết các ứng dụng này không đứng vững trước những lời chỉ trích. Nhiều trong số chúng không liên quan gì đến mật mã cả, vì chúng chỉ che giấu các tệp thay vì mã hóa chúng. Trong trường hợp này, phần mô tả có thể đề cập đến các thuật toán mạnh (AES, 3DES...) và trích dẫn từ “Mật mã ứng dụng” của Schneier. TRONG kịch bản hay nhất những chương trình như vậy sẽ có khả năng triển khai mã hóa rất kém và trong trường hợp xấu nhất là không có mã hóa nào cả.

Không có ứng dụng khách chính thức nào dành cho Android cho VeraCrypt và không được lên kế hoạch, nhưng các tác giả của nó khuyên bạn nên sử dụng ứng dụng EDS (Kho dữ liệu được mã hóa). Đây là một sự phát triển của Nga, tồn tại ở dạng phiên bản nhẹ và đầy đủ chức năng. Phiên bản đầy đủ EDS có giá 329 rúp. Nó hỗ trợ các vùng chứa tiền điện tử ở định dạng TrueCrypt, VeraCrypt, CyberSafe, cũng như LUKS và EncFS. Có thể hoạt động với bộ lưu trữ cục bộ, mạng và đám mây, cung cấp cho các ứng dụng khác mã hóa minh bạch. Mã hóa nhanh chóng yêu cầu hỗ trợ nhân hệ điều hành cho khung FUSE và quyền root. Công việc thường xuyên với các thùng chứa tiền điện tử có thể thực hiện được trên bất kỳ chương trình cơ sở nào.

Phiên bản EDS Lite được phân phối miễn phí và có những hạn chế về chức năng. Ví dụ: nó có thể hoạt động độc quyền với các vùng chứa chứa ổ đĩa có hệ thống tệp FAT, được mã hóa bằng thuật toán AES với độ dài khóa 256 bit và sử dụng hàm băm SHA-512. Nó không hỗ trợ các tùy chọn khác. Vì vậy, đáng để tập trung vào phiên bản trả phí.

Thùng chứa tiền điện tử là nơi đáng tin cậy nhất và phương pháp phổ quát. Nó có thể được lưu trữ trong bất kỳ hệ thống tệp nào (thậm chí FAT32) và được sử dụng trên mọi thiết bị. Tất cả dữ liệu bạn đã mã hóa trên máy tính để bàn sẽ có sẵn trên điện thoại thông minh của bạn và ngược lại.

EncFS

Năm 2003, Valient Gough (một kỹ sư phần mềm đến từ Seattle, người viết phần mềm cho NASA và sau đó làm việc cho Google và Amazon) đã phát hành bản phát hành đầu tiên của một hệ thống tệp miễn phí được tích hợp sẵn cơ chế mã hóa minh bạch - EncFS. Nó tương tác với nhân hệ điều hành thông qua lớp gọi lại, nhận yêu cầu thông qua giao diện libfuse của khung FUSE. Theo lựa chọn của người dùng, EncFS sử dụng một trong các thuật toán đối xứng được triển khai trong thư viện OpenSSL - AES và Blowfish.

Vì EncFS sử dụng nguyên tắc tạo hệ thống tệp ảo nên nó không yêu cầu phân vùng riêng. Trên hệ điều hành Android, bạn chỉ cần cài đặt một ứng dụng hỗ trợ EncFS và trỏ nó tới một vài thư mục. Một trong số chúng sẽ lưu trữ nội dung được mã hóa (hãy gọi nó là kho tiền) và tệp thứ hai - được giải mã tạm thời (hãy gọi nó là mở).

Sau khi nhập mật khẩu, các tập tin được đọc từ thư mục kho tiền và được lưu trữ được giải mã trong mở(Làm thế nào điểm mới mount), nơi chúng có sẵn cho tất cả các ứng dụng. Sau khi hoàn thành công việc, hãy nhấp vào nút Quên giải mã (hoặc nút tương đương) trong ứng dụng. Mục lục mở sẽ được ngắt kết nối và tất cả các tệp được giải mã từ nó sẽ biến mất.

Nhược điểm: EncFS không hỗ trợ các liên kết cứng, vì dữ liệu bị ràng buộc không phải với inode mà với tên tệp. Vì lý do tương tự, tên tệp có độ dài lên tới 190 byte được hỗ trợ. Trong danh mục kho tiền tên và nội dung tệp sẽ bị ẩn nhưng siêu dữ liệu sẽ vẫn có sẵn. Bạn có thể tìm hiểu số lượng tệp được mã hóa, quyền của chúng và lần cuối cùng chúng được truy cập hoặc sửa đổi. Ngoài ra còn có một dấu hiệu rõ ràng EncFS là một tệp cài đặt có tiền tố encfs và số phiên bản trong tên của nó. Tệp chứa các tham số mã hóa, bao gồm thuật toán, độ dài khóa và kích thước khối.

Cuộc kiểm tra EncFS có trả phí đã được thực hiện vào tháng 2 năm 2014. Nó kết luận rằng "EncFS có thể được bảo mật miễn là kẻ tấn công chỉ có một bộ tệp được mã hóa và không có gì khác." Nếu kẻ tấn công có sẵn nhiều dữ liệu hơn (ví dụ: hai ảnh chụp nhanh của hệ thống tệp được lấy thời điểm khác nhau), thì EncFS không thể được coi là đáng tin cậy.

Sau khi cài đặt, EncFS sẽ hiển thị dưới dạng hệ thống tệp không gian người dùng riêng biệt thông qua trình điều khiển FUSE. Việc truy cập vào nó sẽ được thực hiện thông qua một số ứng dụng của bên thứ ba - ví dụ: trình quản lý tệp Encdroid hoặc Cryptonite. Cái sau dựa trên mã nguồn EncFS, vì vậy chúng tôi sẽ tập trung vào nó.

tiền điện tử

Phiên bản mới nhất của ứng dụng Cryptonite là 0.7.17 beta ngày 15 tháng 3 năm 2015. Nó có thể được cài đặt trên mọi thiết bị chạy Android 4.1 trở lên, nhưng một số chức năng hoạt động ổn định hơn ở phiên bản Android 4.3 trở lên.

Hầu hết các hoạt động trong Cryptonite không yêu cầu root hoặc bất kỳ thành phần cụ thể nào. Việc tạo khối EncFS và đồng bộ hóa với Dropbox có thể được thực hiện trên cả chương trình cơ sở chính thức và tùy chỉnh.

Đồng bộ hóa đám mây các tệp được mã hóa

Tuy nhiên, một số thao tác sẽ yêu cầu gắn các ổ đĩa EncFS, yêu cầu quyền root và hỗ trợ cho khung FUSE của nhân hệ điều hành. Việc sử dụng FUSE là cần thiết để tổ chức “mã hóa minh bạch”, tức là để các ứng dụng khác có thể truy cập dữ liệu được mã hóa và nhận dữ liệu đã được giải mã. Hầu hết các phần mềm cũ hơn không hỗ trợ FUSE, nhưng nó có sẵn trong CyanogenMod, MIUI, AOKP và các phần mềm tùy chỉnh khác. Bắt đầu với Android 4.4, FUSE được sử dụng tiêu chuẩn để mô phỏng thẻ SD trong bộ nhớ tích hợp.

Nhược điểm: Khi bạn nhấp vào “Giải mã” và nhập mật khẩu thành công, Cryptonite sẽ tạo một bản sao tạm thời của tệp được giải mã trong /data/data/csh.cryptonite/app_open/. Bản sao của tệp được đánh dấu là có thể đọc được trên thế giới (có thể đọc được và thực thi được đối với mọi người). Bạn có thể xóa các tập tin được giải mã bằng cách nhấp vào nút Quên giải mã.

kết luận

Phương pháp mã hóa dữ liệu trên thẻ nhớ nên được lựa chọn dựa trên hai tiêu chí chính: kịch bản sử dụng và phiên bản Android. Trên các thiết bị hiện đại chạy Android 6.0 trở lên, tùy chọn dễ dàng nhất là sử dụng Bộ lưu trữ thông qua, gắn thẻ vào bộ nhớ trong và mã hóa minh bạch toàn bộ ổ đĩa logic. Nếu bạn cần cung cấp các tệp trên các thiết bị khác hoặc thêm mã hóa dữ liệu trên thẻ ở các thiết bị cũ hơn, các thùng chứa tiền điện tử có định dạng đã được chứng minh là phù hợp. Tiện ích của bên thứ ba Tốt hơn hết là nên tránh hoàn toàn kiểu “vật tự nó”, vì thay vì bảo vệ dữ liệu thực sự, họ thường chỉ bắt chước nó.

Cập nhật lần cuối vào ngày 18 tháng 2 năm 2017.

Bất kì tiện ích di động có thể bị mất, bị bỏ rơi, bị lãng quên và đơn giản là bị đánh cắp. Bất kỳ thông tin nào được lưu trữ trên đó ở dạng không được bảo vệ đều có thể được đọc và sử dụng để chống lại bạn. Và nhất phương pháp hiệu quả bảo vệ thông tin - . Trong bài viết này, chúng tôi sẽ nói về các tính năng triển khai hệ thống mã hóa dữ liệu trong các phiên bản Android mới, đồng thời thảo luận về các công cụ cho phép bạn triển khai mã hóa có chọn lọc các thư mục riêng lẻ.

Giới thiệu

Android dựa trên nhân Linux, nhân này bao gồm toàn bộ dòng cơ chế thực hiện mã hóa của nhiều thực thể khác nhau. Để bảo vệ bằng mật mã cho các đĩa và phân vùng, một hệ thống có tên dm-crypt được cung cấp - một loại bộ lọc mật mã mà qua đó bạn có thể chuyển tất cả các yêu cầu đến đĩa hoặc phân vùng và nhận mã hóa dữ liệu một cách nhanh chóng.

Các lập trình viên của Google đã dạy Android sử dụng dm-crypt, bắt đầu từ phiên bản 3.0 của Honeycomb, trong đó xuất hiện một tùy chọn cho phép bạn nhanh chóng kích hoạt mã hóa và đặt mã PIN để truy cập dữ liệu. Từ góc nhìn của người dùng, mọi thứ trông rất đơn giản và không rắc rối: kết nối điện thoại với bộ sạc, đợi cho đến khi sạc đầy và nhấn nút quý giá. Hệ thống đã bắt đầu mã hóa dữ liệu hiện có. Tất cả trông thú vị hơn nhiều từ bên trong.

Cách tiếp cận đặc biệt của Android

Trong bất kỳ bản phân phối Linux nào, tiện ích cryptsetup chịu trách nhiệm quản lý dm-crypt, tạo một khối được mã hóa theo tiêu chuẩn LUKS, cũng có thể được truy cập bằng các công cụ của bên thứ ba từ Windows hoặc OS X. Thông thường, cryptsetup được khởi chạy ở giai đoạn này khởi tạo hệ điều hành từ hình ảnh initramfs khởi động và kết nối dm-crypt với ổ đĩa, sau đó ổ đĩa này sẽ được gắn vào.

Trong Android, mọi thứ diễn ra khác nhau. Do yêu cầu cấp phép cho tất cả các thành phần phía trên hạt nhân bằng giấy phép tương thích với Apache, cryptsetup, được phân phối theo GPL2, không được bao gồm trong Android. Thay vào đó, mô-đun cryptfs được phát triển từ đầu cho trình quản lý âm lượng cục bộ vold sẽ được sử dụng (đừng nhầm lẫn với các công cụ Linux gốc: vold và cryptfs, đây là những bước phát triển hoàn toàn khác nhau).

Theo mặc định, Android sử dụng cryptfs để mã hóa dữ liệu, cài đặt và ứng dụng của người dùng (thư mục/data). Nó phải được khởi động sớm khi khởi động hệ điều hành ngay cả trước khi môi trường đồ họa khởi động và ứng dụng cơ bản, để các thành phần cấp cao hơn của hệ thống có thể đưa hệ thống về trạng thái mong muốn bằng cách đọc cài đặt và lấy dữ liệu cần thiết từ bộ đệm.

TRONG chế độ tự độngđiều này là không thể thực hiện được, vì hệ thống phải nhắc người dùng nhập mật khẩu để giải mã, điều này yêu cầu khởi chạy môi trường đồ họa và do đó, nó không thể khởi chạy nếu không kết nối thư mục /data, không thể kết nối nếu không có mật khẩu. Để thoát khỏi tình trạng này, Android đã sử dụng một thủ thuật bất thường là buộc HĐH khởi động “hai lần”. Lần khởi động đầu tiên của hệ thống tối thiểu xảy ra trước khi cryptfs bắt đầu yêu cầu mật khẩu giải mã với hệ thống tệp tạm thời được kết nối với /data, sau đó về cơ bản hệ thống sẽ tắt, phân vùng /data được mã hóa được gắn kết và phiên bản cuối cùng của HĐH là đã ra mắt.

Cho phép mã hóa

Mã hóa dữ liệu trong Android được bật bằng menu “Cài đặt -> Bảo mật -> Mã hóa dữ liệu”. Trong trường hợp này, điện thoại thông minh phải được sạc đầy và kết nối với bộ sạc, đồng thời phương thức mở khóa phải là mã PIN hoặc mật khẩu (Cài đặt -> Bảo mật -> Khóa màn hình -> Mã PIN), phải nhập mã này trước khi bắt đầu mã hóa hoạt động. Điện thoại thông minh sẽ cảnh báo bạn rằng quá trình này sẽ mất khoảng một giờ, trong thời gian đó thiết bị sẽ được khởi động lại nhiều lần.

Điều gì xảy ra tiếp theo chính xác là những gì được mô tả trong phần trước. Điện thoại thông minh sẽ khởi động phiên bản tối thiểu của hệ thống với hệ thống tệp tạm thời được kết nối với điểm /data và bắt đầu mã hóa dữ liệu, hiển thị tiến trình hoạt động trên màn hình. Bản thân quá trình mã hóa xảy ra như sau:

  1. Đầu tiên, vold/cryptfs tạo khóa chính 128 bit dựa trên dữ liệu ngẫu nhiên từ /dev/urandom và sử dụng khóa này để ánh xạ phân vùng chứa thư mục /data vào một thiết bị mật mã ảo mới, việc ghi vào đó sẽ gây ra mã hóa tự động dữ liệu bằng khóa chính và đọc để giải mã.
  2. Khóa chính được mã hóa bằng mã PIN của người dùng và được đặt ở cuối phân vùng. Từ giờ trở đi, khi khởi động, hệ thống sẽ yêu cầu người dùng nhập mã PIN, đọc khóa chính được mã hóa từ phân vùng, giải mã bằng mã PIN và kết nối phân vùng được mã hóa/dữ liệu.
  3. Để mã hóa dữ liệu đã có trên phân vùng, hệ thống sẽ đọc tuần tự các khối dữ liệu từ phân vùng và ghi chúng vào thiết bị mật mã, do đó, về bản chất, hoạt động tuần tự “đọc khối -> mã hóa -> ghi lại” xảy ra cho đến khi toàn bộ phần, ngoại trừ 16 KB cuối cùng lưu trữ khóa chính.
  4. Khi kết thúc thao tác, điện thoại thông minh sẽ khởi động lại và lần khởi động tiếp theo, hệ thống sẽ yêu cầu mã PIN để giải mã dữ liệu.

Trong trường hợp ổ Galaxy Nexus 16 GB, tất cả các thao tác này mất khoảng 30 phút và quan trọng nhất là chúng hoàn toàn tự động, do đó ngay cả một đứa trẻ cũng có thể xử lý mã hóa.

Một mật khẩu để mở khóa và giải mã?

Để giúp cuộc sống của người dùng dễ dàng hơn, Google đã quyết định sử dụng cùng một mật khẩu để mở khóa và giải mã dữ liệu, dẫn đến một bức tranh khá mâu thuẫn. Một mặt, mật khẩu để giải mã phải dài và phức tạp, vì kẻ tấn công có thể đoán nó bên ngoài điện thoại thông minh chỉ bằng cách xóa hình ảnh của phân vùng. Mặt khác, mật khẩu mở khóa có thể rất đơn giản, vì sau một vài lần nỗ lực không thành công Android sẽ khóa màn hình vĩnh viễn, buộc bạn phải nhập mật khẩu Google của mình.

Do đó, bạn phải lựa chọn giữa sự tiện lợi của việc mở khóa và tính bảo mật của dữ liệu được mã hóa (chúng tôi không coi kiểm soát khuôn mặt là một phương tiện bảo vệ). May mắn thay, nếu điện thoại đã được root, mật khẩu giải mã có thể được chỉ định thủ công bằng ứng dụng khách bảng điều khiển vold. Bạn có thể làm điều đó như thế này:

Từ giờ trở đi, mật khẩu mở khóa và giải mã sẽ khác nhưng sẽ giống nhau nếu bạn thay đổi mật khẩu mở khóa (mã PIN). Để không leo vào bảng điều khiển, bạn có thể sử dụng một trong giao diện đồ họa, ví dụ EncPassChanger.

Rollback và khả năng tương thích phần mềm

Thật không may, vì lý do nào đó Lý do Android không cho phép bạn quay lại phân vùng không được mã hóa. Do đó, nếu dữ liệu đã được mã hóa, nó sẽ giữ nguyên như vậy cho đến khi thực hiện khôi phục cài đặt gốc (xóa hoàn toàn) - một thao tác định dạng lại phân vùng chứa thư mục /data và sẽ tự động biến nó thành phân vùng không được mã hóa.

Nhưng ở đây có thể nảy sinh câu hỏi: “Điều gì xảy ra nếu tôi cập nhật Android hoặc cài đặt chương trình cơ sở tùy chỉnh?” Trong trường hợp này, tất cả phụ thuộc vào phương pháp cài đặt. Trong hầu hết các trường hợp, khi cập nhật chương trình cơ sở hoặc cài đặt chương trình cơ sở thay thế có cùng phiên bản (ví dụ: thay thế CyanogenMod 10.1 bằng Android hoang tưởng 3 hoặc MIUI 5) không cần xóa. Nó có nghĩa là phần mềm đã cài đặt Khi bạn cố gắn kết phân vùng /data, nó sẽ “nhận ra” rằng nó đang xử lý một phân vùng được mã hóa, yêu cầu bạn nhập mật khẩu và bình tĩnh giải mã dữ liệu.

Nếu quá trình cài đặt yêu cầu xóa hoàn toàn, điều này thường cần thiết khi nâng cấp lên phiên bản Android mới, thì tình huống ở đây thậm chí còn đơn giản hơn. Trong quá trình xóa, phân vùng /data sẽ được định dạng lại và tự động không được mã hóa. Điều chính là tạo bản sao lưu trước khi cập nhật bằng Titanium Backup hoặc Carbon.

thẻ SD

Google từ lâu đã bày tỏ quan điểm của mình coi thẻ nhớ như một bãi rác, theo định nghĩa, thẻ này không thể chứa dữ liệu bí mật và ngay cả khi có, việc mã hóa nó cũng vô nghĩa vì người dùng có thể quyết định lắp thẻ vào một điện thoại khác. Do đó, không có cách tiêu chuẩn nào để mã hóa thẻ nhớ trong Android và để có được chức năng như vậy, bạn sẽ phải sử dụng phần mềm của bên thứ ba.

Trong số các mã hóa Phần mềm của bên thứ ba chúng ta có ba lựa chọn các lớp khác nhau các ứng dụng:

  1. Bản thân nó là một thứ. Một ứng dụng có thể tạo và mở các thùng chứa tiền điện tử nhưng không cho phép kết nối chúng với hệ thống tệp. Một loại trình quản lý tệp có hỗ trợ khối lượng được mã hóa. Thứ này ít có tác dụng vì nó chỉ thích hợp để ghi nhật ký và ghi chú.
  2. GiảFS. Trong nhân Linux của nhiều cổ phiếu và phần mềm thay thế có hỗ trợ cho trình điều khiển hệ thống tệp không gian người dùng FUSE, trên cơ sở đó một số hệ thống tệp mã hóa đã được phát triển cùng một lúc. Một trong số đó là EncFS. Trên Android, nó có sẵn ở dạng ứng dụng Cryptonite, Encdroid và các ứng dụng khác. Phần mềm như vậy cho phép bạn mã hóa bất kỳ thư mục nào để tất cả các ứng dụng đều có quyền truy cập vào nó.
  3. Dựa trên dm-crypt. Chúng có chức năng và cách triển khai tương tự như các phiên bản trước, nhưng sử dụng dm-crypt gốc để mã hóa. LUKS Manager là đại diện tốt nhất cho loại phần mềm này. Cho phép bạn tạo một tập tin hình ảnh trên thẻ nhớ, có thể kết nối với bất kỳ thư mục nào vào bất kỳ lúc nào để truy cập dữ liệu. Điều tương tự có thể được thực hiện từ Linux bằng cryptsetup hoặc từ Windows bằng FreeOTFE.

tiền điện tử

Cryptonite là một trình bao bọc xung quanh hệ thống tệp mã hóa EncFS và cho phép bạn tạo và xem các ổ đĩa được mã hóa trên thẻ lưu trữ và bên trong Dropbox, cũng như gắn các ổ đĩa vào thư mục thẻ lưu trữ để tất cả các ứng dụng đều có thể nhìn thấy chúng. Chúng tôi chủ yếu quan tâm đến trường hợp sử dụng thứ hai vì đây là trường hợp duy nhất được chấp nhận để sử dụng hàng ngày, nhưng nó yêu cầu quyền root cũng như hỗ trợ FUSE trong kernel.

Sử dụng Cryptonite trong khả năng này khá đơn giản, tuy nhiên, để tránh nhầm lẫn, chúng ta hãy tìm hiểu nguyên tắc hoạt động của nó. Ứng dụng này dựa trên một công cụ nổi tiếng với người dùng Linux có tên EncFS. Về cơ bản, đây là một tiện ích cho phép bạn ánh xạ thư mục này sang thư mục khác để những gì được ghi vào thư mục thứ hai sẽ tự động kết thúc ở thư mục đầu tiên ở dạng được mã hóa và khi đọc, nó sẽ được giải mã tương ứng. Khi màn hình bật, có quyền truy cập vào dữ liệu, nhưng ngay khi bạn tắt nó, nội dung của thư mục thứ hai sẽ biến mất và chỉ còn lại thư mục đầu tiên, nội dung trong đó được mã hóa hoàn toàn.

Vì lý do này, Cryptonite yêu cầu hai thư mục: thư mục đầu tiên - để lưu trữ dữ liệu được mã hóa và thư mục thứ hai - một thư mục trống, nơi nội dung của thư mục đầu tiên sẽ được hiển thị ở dạng được giải mã. Để đơn giản, hãy gọi chúng là mật mã và giải mã. Chúng tôi tạo hai thư mục này trên thẻ nhớ bằng bất kỳ trình quản lý tệp nào. Khởi chạy Cryptonite, đi tới “Cài đặt -> Điểm gắn kết” và chọn thư mục giải mã. Bây giờ nó sẽ luôn được sử dụng làm điểm truy cập vào dữ liệu được mã hóa. Chúng ta quay lại, chuyển đến tab ĐỊA PHƯƠNG và nhấp vào nút “Tạo âm lượng cục bộ” để khởi tạo thư mục được mã hóa. Chọn thư mục mật mã và nhập mật khẩu. Bây giờ tất cả những gì còn lại là quay lại màn hình chính và nhấn nút “Mount EncFS” (và nhập lại mật khẩu). Từ giờ trở đi, mọi thứ bạn sao chép vào thư mục giải mã sẽ tự động kết thúc trong thư mục mật mã ở dạng mã hóa và sau khi vô hiệu hóa giải mã, sẽ không ai có thể đọc được nội dung của nó (bạn có thể kiểm tra bằng cách sao chép một số tệp để giải mã, sau đó xem nội dung của mật mã).

Nhân tiện, bạn có thể tổ chức mã hóa dữ liệu trong Dropbox theo cách tương tự. Cryptonite cho phép bạn thực hiện việc này ngay lập tức, nhưng trong trường hợp này, chỉ có thể truy cập vào dữ liệu thông qua chính ứng dụng, nghĩa là đối với bất kỳ thao tác nào trên dữ liệu được mã hóa, bạn sẽ phải khởi chạy Cryptonite và thực hiện mọi hành động thông qua trình quản lý tập tin tích hợp của nó. Tất nhiên, Dropbox dành cho Android cũng hoạt động theo cách tương tự, nhưng ít nhất nó có một API mở mà các ứng dụng khác có thể sử dụng, ở đây chỉ yêu cầu truy cập thủ công.

Để giải quyết vấn đề này, bạn có thể cài đặt dịch vụ Dropsync, dịch vụ này chạy ở chế độ nền và đồng bộ hóa định kỳ nội dung của các thư mục đã chọn với Dropbox. Chỉ cần cấu hình nó để đồng bộ hóa thư mục mật mã (nhưng không giải mã) là đủ và dữ liệu được mã hóa sẽ tự động chuyển đến Dropbox. Để truy cập dữ liệu từ anh lớn, bạn có thể sử dụng phiên bản EncFS trên Linux hoặc Windows. Chỉ có kẻ lười biếng mới không viết về cách sử dụng chúng.


LUKS Manager

Ứng dụng thứ hai trong danh sách của chúng tôi là LUKS Manager, một ứng dụng về cơ bản có chức năng tương tự, sử dụng dm-crypt thay vì EncFS và hình ảnh nhị phân được mã hóa thay vì thư mục. Từ quan điểm thực tế, tùy chọn này tốt hơn tùy chọn trước ở chỗ hình ảnh được mã hóa bằng nó có thể được xem hoặc sửa đổi trong hầu hết mọi hệ điều hành, bao gồm Linux, Windows và OS X. Nhược điểm là bất tiện khi sử dụng để mã hóa. các tệp trong Dropbox, vì ứng dụng khách Dropbox sẽ phải đồng bộ hóa toàn bộ hình ảnh mỗi lần, có thể rất lớn, trái ngược với tập tin riêng biệt, giống như trường hợp của EncFS.


hoạt động chính xác Trình quản lý LUKS yêu cầu hạt nhân có hỗ trợ dm-crypt và loopback, nhưng mặc dù hạt nhân đầu tiên có sẵn ngay cả trong hạt nhân Android 2.3, hạt nhân thứ hai không có sẵn trong tất cả các hạt nhân gốc. Do đó, rất có thể, bạn sẽ cần phần sụn có hạt nhân thay thế, chẳng hạn như CyanogenMod, AOKP hoặc MIUI.

Phần còn lại rất đơn giản. Giao diện chương trình chỉ bao gồm sáu nút: Trạng thái, Ngắt kết nối tất cả, Gắn kết, Ngắt kết nối, Tạo và Xóa. Để tạo một hình ảnh mới và truy cập nó, chỉ cần nhấp vào “Tạo”, chọn thư mục để gắn kết, kích thước và chỉ định mật khẩu và hệ thống tệp (FAT32 cho khả năng tương thích với Windows hoặc ext2 cho Linux). Một số hình ảnh có thể tồn tại và được kết nối trên thẻ nhớ cùng một lúc, có thể tắt hình ảnh này bằng cách sử dụng nút “Unmount” hoặc xóa bằng cách sử dụng “Remove”.

Không có gì phức tạp trong việc quản lý ứng dụng, tôi sẽ chỉ nói rằng gói LUKS Manager cũng bao gồm một phiên bản tiện ích cryptsetup được biên dịch cho Android, có thể được sử dụng để điều khiển và kết nối hình ảnh theo cách thủ công.


Công dụng khác

Dm-crypt và cryptfs được sử dụng trong Android không chỉ để bảo vệ thư mục /data khỏi những con mắt tò mò. Với sự giúp đỡ của họ, thật kỳ lạ, một hệ thống cài đặt ứng dụng trên thẻ nhớ lại được triển khai tại đây. Nó dựa trên ý tưởng về các hình ảnh được mã hóa, mỗi hình ảnh một ứng dụng đã cài đặt. Điều này được thực hiện để bảo vệ dữ liệu bí mật có thể được ứng dụng lưu trữ khỏi các ứng dụng khác có toàn quyền truy cập vào thẻ SD để đọc cũng như từ những người sở hữu thẻ SD.

Bằng cách khởi chạy một thiết bị đầu cuối và chạy lệnh df, bạn có thể tự mình thấy cách thực hiện điều này. Ảnh chụp màn hình "Galaxy Nexus và df" hiển thị đầu ra của lệnh này trên điện thoại thông minh của tôi. Có thể thấy rõ rằng ngoài thiết bị giả tiền điện tử /dev/block/dm–0, được kết nối với thư mục /data và chịu trách nhiệm mã hóa dữ liệu trên điện thoại thông minh, còn có 15 thiết bị khác thiết bị tương tự, được kết nối với các thư mục khác nhau bên trong /mnt/asec. Đây là những ứng dụng được cài đặt trên thẻ nhớ. Bản thân các ứng dụng được lưu trữ dưới dạng hình ảnh được mã hóa trong thư mục .asec trên thẻ nhớ và các khóa mã hóa được lưu trong bộ nhớ chính của điện thoại thông minh.


Bạn cũng có thể nhận thấy rằng còn có một thiết bị giả /dev/fuse, được kết nối với /storage/emulated/legacy, cũng như một số thư mục khác. Đây không gì khác hơn là một “trình giả lập” của thẻ nhớ, được triển khai bằng trình điều khiển FUSE được mô tả trước đó (bản thân Galaxy Nexus không hỗ trợ thẻ nhớ). Về cơ bản, đây là sự sao chép đơn giản của thư mục /storage/emulated/legacy sang /data/media/0. Trong trường hợp này, thư mục /sdcard là liên kết đến /storage/emulated/legacy. Bằng cách chạy lệnh ps, bạn sẽ nhận thấy rằng việc sao chép được triển khai bằng ứng dụng /system/bin/sdcard, ứng dụng này sử dụng FUSE làm cơ sở. Trên thực tế, đây là một cách triển khai thay thế của Unionfs, quen thuộc với tất cả người dùng Linux.

CẢNH BÁO

Không thể sử dụng mô-đun dm-crypt để mã hóa các phân vùng bằng hệ thống tệp YAFFS, vì hệ thống sau sử dụng các hoạt động cấp thấp khi truy cập bộ nhớ NAND.

kết luận

Như bạn có thể thấy, việc mã hóa dữ liệu chất lượng cao trong Android rất đơn giản và trong hầu hết các trường hợp, bạn thậm chí không cần phải cài đặt phần mềm bổ sung. Hạn chế duy nhất là cần phải có điện thoại thông minh chạy Android 4.0 trở lên, nhưng vì mọi thứ trước 4.0 đều khá khó gọi là HĐH nên không có vấn đề cụ thể nào ở đây :).

THÔNG TIN

Chi tiết triển khai hệ thống tiêu chuẩn Mã hóa Androidđối với người hoang tưởng: AES 128-bit ở chế độ CBC và ESSIV: SHA–256. Khóa chính được mã hóa bằng khóa AES 128 bit khác thu được từ mật khẩu người dùng sử dụng 2000 lần lặp sử dụng tiêu chuẩn PBKDF2 với 128 bit muối ngẫu nhiên.

Cập nhật lần cuối vào ngày 18 tháng 11 năm 2016.

Mã hóa dữ liệu trong hệ điều hành Android liên quan chặt chẽ đến hai vấn đề: kiểm soát quyền truy cập vào thẻ nhớ và chuyển ứng dụng sang thẻ nhớ. Nhiều chương trình chứa dữ liệu kích hoạt, thông tin thanh toán và thông tin bí mật. Việc bảo vệ nó yêu cầu quản lý các quyền truy cập, vốn không được hỗ trợ bởi hệ thống tệp FAT32 thông thường dành cho thẻ. Do đó, trong mỗi phiên bản Android, các phương pháp mã hóa đã thay đổi đáng kể - từ việc hoàn toàn không có tính năng bảo vệ bằng mật mã đối với phương tiện di động đến việc tích hợp sâu chúng vào một phần duy nhất với mã hóa nhanh chóng.

Vai trò đặc biệt của thẻ nhớ

Ban đầu, các nhà phát triển Android dự định chỉ sử dụng thẻ nhớ làm nơi lưu trữ riêng cho các tập tin của người dùng. Nó chỉ là một kho đa phương tiện mà không có bất kỳ yêu cầu nào về khả năng bảo vệ và độ tin cậy. Thẻ microSD(HC) với FAT32 đáp ứng tốt vai trò lưu trữ đơn giản, giải phóng bộ nhớ trong khỏi ảnh, video và nhạc.

Khả năng truyền không chỉ các tập tin đa phương tiện mà cả các ứng dụng sang thẻ nhớ lần đầu tiên xuất hiện trên Android 2.2 Froyo. Nó được triển khai bằng cách sử dụng khái niệm vùng chứa được mã hóa cho từng ứng dụng, nhưng điều này chỉ bảo vệ chống lại việc thẻ rơi vào tay kẻ xấu - chứ không phải điện thoại thông minh.

Ngoài ra, đây chỉ là một biện pháp nửa vời: nhiều chương trình được chuyển một phần, để lại một số dữ liệu trong bộ nhớ trong và một số (ví dụ: chương trình hệ thống hoặc chứa các widget) hoàn toàn không được chuyển vào thẻ. Khả năng chuyển ứng dụng phụ thuộc vào loại của chúng (được cài đặt sẵn hoặc bên thứ ba) và cấu trúc bên trong. Đối với một số người, thư mục chứa dữ liệu người dùng ngay lập tức được đặt riêng biệt, trong khi đối với những người khác, nó nằm trong thư mục con của chính chương trình.

Nếu các ứng dụng sử dụng nhiều thao tác đọc/ghi thì độ tin cậy và tốc độ của thẻ không còn có thể làm hài lòng các nhà phát triển. Họ cố tình làm cho việc chuyển chương trình bằng các phương tiện tiêu chuẩn không thể thực hiện được. Nhờ thủ thuật này, tác phẩm của họ được đảm bảo được ghi vào bộ nhớ trong với tài nguyên ghi lại lớn và hiệu suất cao.

Với phiên bản thứ tư của Android, bạn có thể chọn nơi đặt ứng dụng. Theo mặc định, có thể chỉ định thẻ nhớ làm đĩa để cài đặt chương trình, nhưng không phải tất cả phần sụn đều hỗ trợ chính xác chức năng này. Nó hoạt động như thế nào trong thiết bị cụ thể- chỉ có thể tìm ra bằng thực nghiệm.

Ở Android thứ năm, Google một lần nữa quyết định quay trở lại khái niệm ban đầu và làm mọi cách để khiến việc chuyển ứng dụng sang thẻ nhớ trở nên khó khăn nhất có thể. Các nhà sản xuất lớn đã nắm bắt được tín hiệu và thêm các chức năng giám sát của riêng họ vào chương trình cơ sở, phát hiện nỗ lực của người dùng để buộc các ứng dụng vào thẻ bằng cách sử dụng root. Chỉ có tùy chọn tạo liên kết cứng hoặc tượng trưng mới hoạt động ít nhiều. Trong trường hợp này, ứng dụng được xác định theo địa chỉ tiêu chuẩn trong bộ nhớ tích hợp nhưng thực tế lại nằm trên thẻ. Tuy nhiên, sự nhầm lẫn là do trình quản lý tệp gây ra, nhiều trình quản lý tệp không xử lý liên kết chính xác. Họ hiển thị sai dung lượng trống vì họ tin rằng ứng dụng được cho là đã chiếm dung lượng trong cả bộ nhớ trong và thẻ cùng một lúc.

Thích ứng nó!

Android Marshmallow đã giới thiệu một thỏa hiệp có tên là Bộ nhớ có thể chấp nhận. Đây là nỗ lực của Google nhằm giữ cho đàn cừu được an toàn và những người lính luôn vui vẻ.

Chức năng Adoptable Storage cho phép bạn kết hợp phân vùng người dùng trong bộ nhớ tích hợp với phân vùng trên thẻ thành một ổ đĩa logic. Trên thực tế, nó tạo một phân vùng ext4 hoặc F2FS trên thẻ và thêm nó vào phân vùng người dùng của bộ nhớ trong. Đây là một hoạt động hợp nhất hoàn toàn hợp lý, gợi nhớ một cách mơ hồ đến việc tạo một ổ đĩa kéo dài từ một số đĩa vật lý trong Windows.

Trong quá trình kết hợp với bộ nhớ trong, thẻ được định dạng lại. Theo mặc định, toàn bộ dung lượng của nó sẽ được sử dụng trong tập đã hợp nhất. Trong trường hợp này, các tệp trên thẻ không thể đọc được trên thiết bị khác nữa - chúng sẽ được mã hóa bằng khóa thiết bị duy nhất, khóa này được lưu trữ bên trong môi trường thực thi đáng tin cậy.

Ngoài ra, bạn có thể dành dung lượng trên thẻ cho phân vùng thứ hai với FAT32. Các tập tin được lưu trữ trên đó sẽ hiển thị trên tất cả các thiết bị như trước đây.

Phương thức chia thẻ được đặt thông qua menu Bộ nhớ có thể chấp nhận hoặc thông qua Cầu gỡ lỗi Android (ADB). Tùy chọn cuối cùng được sử dụng trong trường hợp nhà sản xuất đã ẩn Bộ lưu trữ thông qua khỏi menu, nhưng chưa xóa chức năng này khỏi chương trình cơ sở. Ví dụ: nó được ẩn trong Samsung Galaxy S7 và các điện thoại thông minh hàng đầu của LG. Gần đây, xu hướng chung là loại bỏ Bộ lưu trữ có thể chấp nhận khỏi các thiết bị hàng đầu. Nó được coi là chiếc nạng cho điện thoại thông minh và máy tính bảng giá rẻ không có đủ bộ nhớ Flash tích hợp.

Tuy nhiên, các nhà tiếp thị không có quyền quyết định cách chúng ta sử dụng thiết bị của mình. Thông qua ADB trên máy tính Windows, chức năng Adoptable Storage được kích hoạt như sau.

  1. Chúng tôi tạo một bản sao lưu tất cả dữ liệu trên thẻ - nó sẽ được định dạng lại.
  2. Bộ công cụ phát triển Java SE từ trang web của Oracle.
  3. Cài đặt phiên bản mới nhất của Trình quản lý SDK Android.
  4. Bật gỡ lỗi USB trên điện thoại thông minh của bạn.
  5. Khởi chạy Trình quản lý SDK và dòng lệnh chúng tôi viết:

    Trong đó x:y là số thẻ nhớ.

  6. Nếu bạn muốn để lại một phần cho ổ đĩa FAT32 thì hãy thay đổi lệnh từ bước 7 thành:

    $sm phân vùng đĩa: x:y hỗn hợp nn


    trong đó nn là phần trăm ổ đĩa còn lại cho ổ FAT32.

Ví dụ: lệnh sm phân vùng đĩa:179:32 hỗn hợp 20 sẽ thêm 80% dung lượng của thẻ vào bộ nhớ tích hợp và để lại ổ đĩa FAT32 trên đó với 1/5 dung lượng của nó.

Trên một số điện thoại thông minh, phương pháp “nguyên trạng” này không còn hoạt động và yêu cầu các thủ thuật bổ sung. Các nhà sản xuất đang làm mọi cách để phân chia sản phẩm của họ thành các ngóc ngách thị trường một cách giả tạo. Các mẫu máy hàng đầu hiện có sẵn với dung lượng bộ nhớ tích hợp khác nhau và ngày càng có ít người sẵn sàng trả quá nhiều tiền cho nó.

Một số điện thoại thông minh không có khe cắm thẻ nhớ (ví dụ: dòng Nexus) nhưng hỗ trợ kết nối ổ USB-Flash ở chế độOTG. Trong trường hợp này, ổ flash cũng có thể được sử dụng để mở rộng bộ nhớ trong. Điều này được thực hiện bằng lệnh sau:

$ adb shell sm set - bắt buộc - có thể áp dụng đúng

Theo mặc định, khả năng sử dụng USB-OTG để tạo bộ lưu trữ tùy chỉnh bị tắt vì việc xóa không mong muốn có thể dẫn đến mất dữ liệu. Khả năng thẻ nhớ đột ngột ngắt kết nối thấp hơn nhiều do vị trí vật lý của thẻ nhớ bên trong thiết bị.

Nếu có vấn đề phát sinh khi thêm ổ đĩa phương tiện di động hoặc chia nó thành các phân vùng, thì trước tiên hãy xóa tất cả thông tin về bố cục logic trước đó khỏi nó. Điều này có thể được thực hiện một cách đáng tin cậy bằng cách sử dụng tiện ích Linux gparted, tiện ích này trên máy tính Windows được khởi chạy từ đĩa khởi động hoặc trong máy ảo.

Theo chính sách chính thức của Google, các ứng dụng có thể được cài đặt trực tiếp hoặc chuyển đến cửa hàng tùy chỉnh nếu nhà phát triển đã chỉ định điều này trong thuộc tính android:installLocation. Điều trớ trêu là không phải tất cả đều là của riêng họ Ứng dụng Google miễn là họ cho phép bạn làm điều này. Không có giới hạn thực tế nào đối với “bộ nhớ thích ứng” trong Android. Giới hạn lý thuyết cho Bộ nhớ có thể chấp nhận là 9 zettabyte. Không có quá nhiều ngay cả trong các trung tâm dữ liệu và thậm chí còn nhiều hơn nữa, thẻ nhớ có dung lượng lớn hơn sẽ không xuất hiện trong những năm tới.

Bản thân quy trình mã hóa khi tạo bộ lưu trữ thích ứng được thực hiện bằng cách sử dụng dm-crypt - cùng một mô-đun nhân Linux thực hiện mã hóa toàn bộ đĩa của bộ nhớ tích hợp của điện thoại thông minh (xem bài viết trước “”). Thuật toán AES được sử dụng ở chế độ chuỗi khối bản mã (CBC). Một vectơ khởi tạo riêng với muối (ESSIV) được tạo cho từng khu vực. Độ dài tích chập của hàm băm SHA là 256 bit và bản thân khóa là 128 bit.

Việc triển khai này, mặc dù có độ tin cậy kém hơn AES-XTS-256, nhưng nhanh hơn nhiều và được coi là đủ tin cậy cho các thiết bị tiêu dùng. Một người hàng xóm tò mò khó có thể mở một kho lưu trữ được mã hóa thích ứng trong một thời gian hợp lý, nhưng các cơ quan tình báo từ lâu đã học được cách khai thác những thiếu sót của kế hoạch CBC. Ngoài ra, trên thực tế, không phải tất cả 128 bit của khóa đều hoàn toàn ngẫu nhiên. Sự suy yếu vô ý hoặc cố ý của trình tạo số giả ngẫu nhiên tích hợp là vấn đề phổ biến nhất trong mật mã. Nó không chỉ ảnh hưởng đến các tiện ích Android mà còn ảnh hưởng đến tất cả các thiết bị tiêu dùng nói chung. Do đó, cách đáng tin cậy nhất để đảm bảo quyền riêng tư là không lưu trữ dữ liệu bí mật trên điện thoại thông minh của bạn.

Nếu bạn thực hiện khôi phục cài đặt gốc sau khi hợp nhất bộ nhớ bằng Bộ nhớ thông qua, dữ liệu trên thẻ cũng sẽ bị mất. Do đó, bạn nên tạo bản sao lưu của chúng trước hoặc tốt hơn là ngay lập tức chỉ định đồng bộ hóa đám mây.

Mã hóa dữ liệu thay thế trên thẻ nhớ

Bây giờ chúng ta đã giải quyết được các đặc thù của việc lưu trữ tệp trên thẻ nhớ trong các phiên bản Android khác nhau, hãy chuyển trực tiếp sang mã hóa chúng. Nếu bạn có một thiết bị chạy Android 6 trở lên thì khả năng cao là bạn có thể kích hoạt chức năng Bộ nhớ có thể chấp nhận bằng cách này hay cách khác. Khi đó toàn bộ dữ liệu trên thẻ sẽ được mã hóa giống như trong bộ nhớ trong. Chỉ các tệp trên phân vùng FAT32 bổ sung sẽ vẫn mở nếu bạn muốn tạo nó khi định dạng lại thẻ.

Trong các phiên bản Android trước đây, mọi thứ phức tạp hơn nhiều, vì trước phiên bản 5.0, tính năng bảo vệ bằng mật mã hoàn toàn không ảnh hưởng đến thẻ nhớ (tất nhiên ngoại trừ dữ liệu từ các ứng dụng được chuyển). Các tập tin “thông thường” trên thẻ vẫn mở. Để đóng chúng khỏi những con mắt tò mò, bạn sẽ cần các tiện ích của bên thứ ba (thường hóa ra chỉ là lớp vỏ đồ họa cho các công cụ tích hợp sẵn). Với tất cả sự đa dạng của các phương pháp hiện có, có bốn phương pháp khác nhau về cơ bản:

  • sử dụng bộ chứa mật mã phổ quát - một tệp có hình ảnh của ổ đĩa được mã hóa ở định dạng phổ biến mà các ứng dụng dành cho các hệ điều hành khác nhau có thể hoạt động;
  • mã hóa minh bạch các tệp trong một thư mục được chỉ định thông qua trình điều khiển FUSE và tiện ích của bên thứ ba để tạo/gắn phân vùng được mã hóa dưới dạng tệp;
  • mã hóa toàn bộ thẻ nhớ thông qua dm-crypt;
  • sử dụng “hộp đen” - một ứng dụng riêng biệt lưu trữ dữ liệu được mã hóa ở định dạng riêng và không cung cấp quyền truy cập vào dữ liệu đó cho các chương trình của bên thứ ba.

Tùy chọn đầu tiên quen thuộc với bất kỳ ai sử dụng TrueCrypt hoặc một trong các nhánh của nó trên máy tính. Có những ứng dụng dành cho Android hỗ trợ bộ chứa TrueCrypt, nhưng những hạn chế của chúng là khác nhau.

Tùy chọn thứ hai cho phép bạn tổ chức “mã hóa minh bạch”, tức là lưu trữ tất cả dữ liệu được mã hóa và giải mã nó khi được truy cập từ bất kỳ ứng dụng nào. Để thực hiện việc này, tất cả dữ liệu từ thư mục đã chọn sẽ được thể hiện dưới dạng nội dung của hệ thống tệp ảo có hỗ trợ mã hóa nhanh chóng. EncFS thường được sử dụng, chúng tôi sẽ nói chi tiết hơn ở bên dưới.

Tùy chọn thứ ba được tích hợp sẵn dm-crypt. Bạn có thể sử dụng nó, chẳng hạn như thông qua Trình quản lý LUKS. Ứng dụng yêu cầu cài đặt root và BusyBox. Giao diện của nó không dành cho tất cả mọi người.

Trình quản lý LUKS tạo vùng chứa tiền điện tử trên thẻ dưới dạng tệp. Vùng chứa này có thể được kết nối với một thư mục tùy ý và hoạt động với nó như với một thư mục thông thường. Ưu điểm là giải pháp này có hỗ trợ đa nền tảng. Bạn có thể làm việc với vùng chứa không chỉ trên tiện ích Android mà còn trên máy tính để bàn: trên Linux - thông qua cryptsetup và trên Windows - thông qua chương trình hoặc nhánh của nó LibreCrypt. Nhược điểm là sự bất tiện khi sử dụng nó cùng với các dịch vụ đám mây. Mỗi lần trên đám mây, bạn phải lưu lại toàn bộ vùng chứa, ngay cả khi một byte đã thay đổi.

Tùy chọn thứ tư thường ít được quan tâm vì nó hạn chế rất nhiều tình huống sử dụng các tệp được mã hóa. Chúng chỉ có thể được mở bằng một số ứng dụng chuyên biệt và tin tưởng rằng nhà phát triển nó đã thành công trong việc nghiên cứu mật mã. Thật không may, hầu hết các ứng dụng này không đứng vững trước những lời chỉ trích. Nhiều trong số chúng không liên quan gì đến mật mã cả, vì chúng chỉ che giấu các tệp thay vì mã hóa chúng. Trong trường hợp này, phần mô tả có thể đề cập đến các thuật toán mạnh (AES, 3DES...) và trích dẫn từ “Mật mã ứng dụng” của Schneier. Tốt nhất, những chương trình như vậy sẽ có khả năng triển khai mã hóa rất kém và tệ nhất là sẽ không có mã hóa nào cả.

Không có ứng dụng khách chính thức nào dành cho Android cho VeraCrypt và không được lên kế hoạch, nhưng các tác giả của nó khuyên bạn nên sử dụng ứng dụng EDS (Kho dữ liệu được mã hóa). Đây là một sự phát triển của Nga, tồn tại ở dạng phiên bản nhẹ và đầy đủ chức năng. Phiên bản đầy đủ của EDS có giá 329 rúp. Nó hỗ trợ các vùng chứa tiền điện tử ở định dạng TrueCrypt, VeraCrypt, CyberSafe, cũng như LUKS và EncFS. Có thể hoạt động với bộ lưu trữ cục bộ, mạng và đám mây, cung cấp cho các ứng dụng khác mã hóa minh bạch. Mã hóa nhanh chóng yêu cầu hỗ trợ nhân hệ điều hành cho khung FUSE và quyền root. Có thể hoạt động bình thường với các thùng chứa tiền điện tử trên bất kỳ chương trình cơ sở nào.

Phiên bản EDS Lite được phân phối miễn phí và có những hạn chế về chức năng. Ví dụ: nó có thể hoạt động độc quyền với các vùng chứa chứa ổ đĩa có hệ thống tệp FAT, được mã hóa bằng thuật toán AES với độ dài khóa 256 bit và sử dụng hàm băm SHA-512. Nó không hỗ trợ các tùy chọn khác. Vì vậy, đáng để tập trung vào phiên bản trả phí.

Thùng chứa tiền điện tử là cách đáng tin cậy và phổ biến nhất. Nó có thể được lưu trữ trong bất kỳ hệ thống tệp nào (thậm chí FAT32) và được sử dụng trên mọi thiết bị. Tất cả dữ liệu bạn đã mã hóa trên máy tính để bàn sẽ có sẵn trên điện thoại thông minh của bạn và ngược lại.

EncFS

Năm 2003, Valient Gough (một kỹ sư phần mềm đến từ Seattle, người viết phần mềm cho NASA và sau đó làm việc cho Google và Amazon) đã phát hành bản phát hành đầu tiên của một hệ thống tệp miễn phí được tích hợp sẵn cơ chế mã hóa minh bạch - EncFS. Nó tương tác với nhân hệ điều hành thông qua lớp gọi lại, nhận yêu cầu thông qua giao diện libfuse của khung FUSE. Theo lựa chọn của người dùng, EncFS sử dụng một trong các thuật toán đối xứng được triển khai trong thư viện OpenSSL - AES và Blowfish.

Vì EncFS sử dụng nguyên tắc tạo hệ thống tệp ảo nên nó không yêu cầu phân vùng riêng. Trên hệ điều hành Android, bạn chỉ cần cài đặt một ứng dụng hỗ trợ EncFS và trỏ nó tới một vài thư mục. Một trong số chúng sẽ lưu trữ nội dung được mã hóa (hãy gọi nó là kho tiền) và tệp thứ hai - được giải mã tạm thời (hãy gọi nó là mở).

Sau khi nhập mật khẩu, các tập tin được đọc từ thư mục kho tiền và được lưu trữ được giải mã trong mở(như ở một điểm gắn kết mới) nơi tất cả các ứng dụng đều có thể truy cập chúng. Sau khi hoàn thành công việc, hãy nhấp vào nút Quên giải mã (hoặc nút tương đương) trong ứng dụng. Mục lục mở sẽ được ngắt kết nối và tất cả các tệp được giải mã từ nó sẽ biến mất.

Nhược điểm: EncFS không hỗ trợ các liên kết cứng, vì dữ liệu bị ràng buộc không phải với inode mà với tên tệp. Vì lý do tương tự, tên tệp có độ dài lên tới 190 byte được hỗ trợ. Trong danh mục kho tiền tên và nội dung tệp sẽ bị ẩn nhưng siêu dữ liệu sẽ vẫn có sẵn. Bạn có thể tìm hiểu số lượng tệp được mã hóa, quyền của chúng và lần cuối cùng chúng được truy cập hoặc sửa đổi. Ngoài ra còn có dấu hiệu rõ ràng về việc sử dụng EncFS - đây là tệp cài đặt có tiền tố encfs và số phiên bản trong tên của nó. Tệp chứa các tham số mã hóa, bao gồm thuật toán, độ dài khóa và kích thước khối.

Cuộc kiểm tra EncFS có trả phí đã được thực hiện vào tháng 2 năm 2014. Nó kết luận rằng "EncFS có thể được bảo mật miễn là kẻ tấn công chỉ có một bộ tệp được mã hóa và không có gì khác." Nếu kẻ tấn công có nhiều dữ liệu hơn (ví dụ: hai ảnh chụp nhanh của hệ thống tệp được chụp vào các thời điểm khác nhau), thì EncFS không thể được coi là đáng tin cậy.

Sau khi cài đặt, EncFS sẽ hiển thị dưới dạng hệ thống tệp không gian người dùng riêng biệt thông qua trình điều khiển FUSE. Việc truy cập vào nó sẽ được thực hiện thông qua một số ứng dụng của bên thứ ba- ví dụ: trình quản lý tệp Encdroid hoặc Cryptonite. Cái sau dựa trên mã nguồn EncFS, vì vậy chúng tôi sẽ tập trung vào nó.

tiền điện tử

Phiên bản mới nhất của ứng dụng Cryptonite là 0.7.17 beta ngày 15 tháng 3 năm 2015. Nó có thể được cài đặt trên mọi thiết bị chạy Android 4.1 trở lên, nhưng một số chức năng hoạt động ổn định hơn ở phiên bản Android 4.3 trở lên.

Hầu hết các hoạt động trong Cryptonite không yêu cầu root hoặc bất kỳ thành phần cụ thể nào. Việc tạo khối EncFS và đồng bộ hóa với Dropbox có thể được thực hiện trên cả chương trình cơ sở chính thức và tùy chỉnh.

Đồng bộ hóa đám mây các tệp được mã hóa

Tuy nhiên, một số thao tác sẽ yêu cầu gắn các ổ đĩa EncFS, yêu cầu quyền root và hỗ trợ cho khung FUSE của nhân hệ điều hành. Việc sử dụng FUSE là cần thiết để tổ chức “mã hóa minh bạch”, tức là để các ứng dụng khác có thể truy cập dữ liệu được mã hóa và nhận dữ liệu đã được giải mã. Hầu hết các phần mềm cũ hơn không hỗ trợ FUSE, nhưng nó có sẵn trong CyanogenMod, MIUI, AOKP và các phần mềm tùy chỉnh khác. Bắt đầu với Android 4.4, FUSE được sử dụng tiêu chuẩn để mô phỏng thẻ SD trong bộ nhớ tích hợp.

Nhược điểm: Khi bạn nhấp vào “Giải mã” và nhập mật khẩu thành công, Cryptonite sẽ tạo một bản sao tạm thời của tệp được giải mã trong /data/data/csh.cryptonite/app_open/. Bản sao của tệp được đánh dấu là có thể đọc được trên thế giới (có thể đọc được và thực thi được đối với mọi người). Bạn có thể xóa các tập tin được giải mã bằng cách nhấp vào nút Quên giải mã.


kết luận

Phương pháp mã hóa dữ liệu trên thẻ nhớ nên được lựa chọn dựa trên hai tiêu chí chính: kịch bản sử dụng và phiên bản Android. Trên các thiết bị hiện đại chạy Android 6.0 trở lên, tùy chọn dễ dàng nhất là sử dụng Bộ lưu trữ thông qua, gắn thẻ vào bộ nhớ trong và mã hóa minh bạch toàn bộ ổ đĩa logic. Nếu bạn cần cung cấp các tệp trên các thiết bị khác hoặc thêm mã hóa dữ liệu trên thẻ ở các thiết bị cũ hơn, các thùng chứa tiền điện tử có định dạng đã được chứng minh là phù hợp. Tốt hơn hết là nên tránh hoàn toàn các tiện ích “thứ tự nó” của bên thứ ba, vì thay vì bảo vệ dữ liệu thực sự, chúng thường chỉ bắt chước nó.

Cập nhật lần cuối vào ngày 18 tháng 2 năm 2017.

Google đã giới thiệu tính năng mã hóa toàn bộ dữ liệu trên điện thoại theo Điều khiển Android Gingerbread (2.3.x), nhưng nó đã trải qua một số thay đổi mạnh mẽ kể từ đó. Như trên một số điện thoại đắt tiền hơn chạy Lollipop (5.x) trở lên, nó được kích hoạt ngay lập tức, trong khi trên một số thiết bị cũ hơn hoặc cũ hơn, bạn phải tự kích hoạt nó. Bạn có thể đọc cách mã hóa ổ đĩa flash.

Tại sao bạn có thể cần mã hóa điện thoại

Mã hóa lưu trữ dữ liệu điện thoại của bạn ở dạng không thể đọc được, gần như được mã hóa. (Để thực sự thực hiện được chức năng mã hóa cấp thấp Android sử dụng DM-crypt, đây là hệ thống mã hóa ổ đĩa tiêu chuẩn trong nhân Linux. Đây là công nghệ tương tự được sử dụng bởi nhiều Bản phân phối Linux.) Khi bạn nhập mã PIN, mật khẩu hoặc hình mở khóa trên màn hình khóa, điện thoại sẽ giải mã dữ liệu, làm cho dữ liệu đó có thể đọc được. Nếu ai đó không biết mã PIN hoặc mật khẩu, họ sẽ không thể truy cập dữ liệu. (Trên Android 5.1 trở lên, mã hóa không yêu cầu bạn đặt mã PIN hoặc mật khẩu nhưng rất khuyến khích vì nếu không có mã PIN hoặc mật khẩu, hiệu quả của mã hóa sẽ giảm.)

Mã hóa dữ liệu bảo vệ dữ liệu nhạy cảm trên điện thoại của bạn. Ví dụ: các công ty có dữ liệu kinh doanh nhạy cảm trên điện thoại của họ sẽ cần sử dụng mã hóa (có khóa màn hình) để bảo vệ dữ liệu đó khỏi hoạt động gián điệp của công ty. Kẻ tấn công sẽ không thể truy cập dữ liệu nếu không có khóa mã hóa, mặc dù có nhiều phương pháp hack nâng cao hơn có thể thực hiện được điều này.

Nếu là người dùng thông thường, bạn có thể nghĩ rằng mình không có dữ liệu nhạy cảm trên điện thoại nhưng có thể bạn đã nhầm. Nếu điện thoại của bạn bị đánh cắp, kẻ trộm hiện có quyền truy cập vào hộp thư đến email của bạn, biết thông tin của bạn địa chỉ nhà, và một số lượng lớn khác thông tin cá nhân. Hầu hết kẻ trộm sẽ không truy cập dữ liệu bằng mã mở khóa tiêu chuẩn, bất kể thiết bị có được mã hóa hay không. Hầu hết những tên trộm quan tâm đến việc bán điện thoại của bạn (đặt lại dữ liệu) hơn là truy cập dữ liệu cá nhân của bạn. Nhưng điều này không có nghĩa là bạn không cần bảo vệ dữ liệu của mình.

Những điều cần cân nhắc trước khi kích hoạt mã hóa

Chọn mẫu, mã PIN hoặc mật khẩu để thiết lập bảo mật của bạn.

Bạn sẽ được đưa ra lựa chọn: bảo vệ bằng mã PIN, mật khẩu hoặc mẫu khi khởi động. Lựa chọn là tùy thuộc vào bạn, nhưng chúng tôi khuyên bạn nên chọn một số loại bảo vệ vì nó làm tăng tính bảo mật cho thiết bị của bạn.

Lưu ý rằng ngay cả với đầu đọc dấu vân tay, bạn không thể sử dụng dấu vân tay của mình để mở khóa thiết bị trong lần khởi động đầu tiên—bạn sẽ phải nhập mật khẩu, mã PIN hoặc hình mở khóa. Sau khi thiết bị đã được giải mã bằng phương pháp chính xác, máy quét dấu vân tay có thể được sử dụng để mở khóa màn hình.

Từ giờ trở đi, thiết bị của bạn sẽ được mã hóa nhưng nếu muốn tắt mã hóa, bạn có thể thực hiện bằng cách thực hiện khôi phục cài đặt gốc. Nếu bạn có một thiết bị mới tự động kích hoạt mã hóa thì không có cách nào để vô hiệu hóa nó, thậm chí không thông qua khôi phục cài đặt gốc.

Xin chào các bạn! Bài viết hôm nay sẽ xem xét các chương trình mã hóa tệp, chính xác hơn là để làm việc với bộ chứa mật mã trong Android. Đối với những người chưa biết thùng chứa tiền điện tử là gì, chúng tôi đã nói về nó trong bài viết này.

Chúng tôi sẽ không xem xét các vật phẩm, hình ảnh có tính chuyên môn cao, v.v. Chúng tôi đã nói về tất cả điều này trong ấn phẩm trước đây(sử dụng mẫu tìm kiếm trang web). Trong bài viết này, chúng tôi sẽ không nghiên cứu từng ứng dụng riêng biệt. Cái này đánh giá hời hợt tất cả các chương trình mã hóa dữ liệu phổ biến dành cho Android. Trong thời gian tới, sau bài viết này sẽ có hướng dẫn riêng cho từng ứng dụng.

Bạn cũng có thể quan tâm đến bài viết “”, trong đó chúng tôi đã nói về cách mã hóa thư từ một cách an toàn bằng ứng dụng và K-9 Mail.

Các chương trình mã hóa sau đây hiện có sẵn:

  • Giám đốc LUKS;
  • EDS Lite;
  • tiền điện tử;
  • CyberSafe Di động.

Ngoài ra, ứng dụng còn cho phép bạn chia sẻ các tập tin được mã hóa với người dùng khác và cho phép bạn mã hóa các thư mục tùy ý trên Google Drive. Tuy nhiên, cứ mỗi thùng mật ong lại có một con ruồi trong thuốc mỡ. Ứng dụng này được trả tiền. Và của anh ấy phiên bản miễn phí giới hạn độ dài mật khẩu tối đa chỉ có 2 ký tự, theo bạn hiểu, là rất nhỏ. Mặt khác, ứng dụng này rất rẻ (dưới 3 đô la) và nó không hạn chế mật khẩu khi mở vùng chứa mà chỉ khi tạo nó. Nghĩa là, nếu bạn cần sử dụng một ứng dụng có cùng bộ dữ liệu trên các thiết bị khác nhau, thì bạn có thể tạo vùng chứa trên một thiết bị và sao chép nó sang thiết bị khác và chỉ mua chương trình trên một thiết bị (trên đó bạn sẽ tạo thùng đựng hàng).

Ứng dụng mã hóa dữ liệu cho Android

Bạn nên chọn ứng dụng nào?

Đáp án đơn giản. Nếu bạn sử dụng TrueCrypt trên máy tính cá nhân thì sự lựa chọn là hiển nhiên - EDS Lite. Nếu muốn mã hóa đám mây, có vẻ như bạn sẽ phải nâng cấp lên CyberSafe trên máy tính của mình.

Tóm tắt: Nếu bạn sử dụng phím đồ họa để truy cập vào điện thoại của mình thì 99% trường hợp này là đủ để đảm bảo rằng không ai có thể truy cập thông tin trên điện thoại của bạn mà bạn không biết. Nếu dữ liệu trên điện thoại của bạn rất nhạy cảm thì bạn nên sử dụng tính năng mã hóa toàn diện được tích hợp sẵn trong điện thoại.

Ngày nay, hầu hết tất cả điện thoại thông minh đều trở thành vật mang dữ liệu cá nhân hoặc doanh nghiệp quan trọng. Ngoài ra, thông qua điện thoại của chủ sở hữu, bạn có thể dễ dàng truy cập vào tài khoản của anh ấy, chẳng hạn như Gmail, DropBox, FaceBook và thậm chí cả các dịch vụ của công ty. Do đó, ở mức độ này hay mức độ khác, điều đáng lo ngại là tính bảo mật của dữ liệu này và sử dụng các phương tiện đặc biệt để bảo vệ điện thoại khỏi bị truy cập trái phép trong trường hợp bị đánh cắp hoặc mất mát.

  1. Bạn nên bảo vệ dữ liệu điện thoại của mình khỏi ai?
  2. Bảo vệ dữ liệu tích hợp trong Android.
  3. Mã hóa bộ nhớ điện thoại đầy đủ
  4. Kết quả

Thông tin nào được lưu trữ trên điện thoại và tại sao phải bảo vệ nó?

Điện thoại thông minh hoặc máy tính bảng thường đóng vai trò như một thư ký di động, giúp chủ sở hữu không phải lưu trữ một lượng lớn thông tin quan trọng. Danh bạ điện thoại chứa số của bạn bè, đồng nghiệp và thành viên gia đình. Số thẻ tín dụng, mã truy cập, mật khẩu mạng xã hội, email và hệ thống thanh toán thường được ghi vào sổ.
Danh sách các cuộc gọi gần đây cũng rất quan trọng.
Mất điện thoại có thể là một thảm họa thực sự. Đôi khi chúng bị đánh cắp nhằm mục đích thâm nhập vào cuộc sống cá nhân hoặc để chia sẻ lợi nhuận với chủ sở hữu.
Đôi khi chúng hoàn toàn không bị đánh cắp mà được sử dụng trong thời gian ngắn, không được chú ý, nhưng một vài phút là khá đủ để một người dùng độc hại có kinh nghiệm có thể tìm hiểu tất cả các chi tiết.

Việc mất thông tin bí mật có thể dẫn đến sự hủy hoại tài chính, sự sụp đổ trong cuộc sống cá nhân của bạn và sự tan vỡ của gia đình bạn.
Tôi ước gì tôi không có nó! - người chủ cũ sẽ nói. - Thật tốt khi có anh ấy! - kẻ tấn công sẽ nói.

Và vậy những gì cần được bảo vệ trên điện thoại:

  1. Tài khoản.Điều này bao gồm, ví dụ, quyền truy cập vào hộp thư gmail. Nếu bạn đã thiết lập đồng bộ với facebook, dropbox, twitter. Thông tin đăng nhập và mật khẩu cho các hệ thống này được lưu trữ dưới dạng văn bản rõ ràng trong thư mục hồ sơ điện thoại /data/system/accounts.db.
  2. Lịch sử thư từ SMS và danh bạ điện thoại cũng chứa đựng những thông tin bí mật.
  3. Chương trình trình duyệt web. Toàn bộ hồ sơ trình duyệt phải được bảo vệ. Được biết, Trình duyệt Web (tích hợp hoặc bên thứ ba) ghi nhớ tất cả mật khẩu và thông tin đăng nhập cho bạn. Tất cả điều này được lưu trữ ở dạng mở trong thư mục hồ sơ chương trình trong bộ nhớ điện thoại. Hơn nữa, thông thường chính các trang web (sử dụng cookie) sẽ ghi nhớ bạn và để lại quyền truy cập vào tài khoản của bạn, ngay cả khi bạn không chỉ định ghi nhớ mật khẩu.
    Nếu bạn sử dụng đồng bộ hóa trình duyệt di động (Chrome, FireFox, Maxthon, v.v.) với phiên bản trình duyệt dành cho máy tính để bàn để chuyển dấu trang và mật khẩu giữa các thiết bị, thì bạn có thể cho rằng bạn có thể truy cập tất cả mật khẩu từ các trang web khác từ điện thoại của mình.
  4. Thẻ nhớ. Nếu bạn lưu trữ các tập tin bí mật trên thẻ nhớ hoặc tải tài liệu từ Internet. Thông thường, ảnh và video đã chụp sẽ được lưu trên thẻ nhớ.
  5. Album ảnh.

Bạn nên bảo vệ dữ liệu điện thoại của mình khỏi ai:

  1. Từ một người ngẫu nhiên tìm thấy chiếc điện thoại bị mất của bạntôi vì “vô tình” trộm điện thoại.
    Trong trường hợp này, dữ liệu trên điện thoại khó có giá trị đối với chủ sở hữu mới. Do đó, ngay cả việc bảo vệ khóa đồ họa đơn giản cũng sẽ đảm bảo an toàn dữ liệu. Rất có thể, điện thoại sẽ được định dạng lại để sử dụng lại.
  2. Từ những ánh mắt tò mò(đồng nghiệp/con cái/vợ), người có thể truy cập vào điện thoại của bạn mà bạn không biết, lợi dụng sự vắng mặt của bạn. Bảo vệ đơn giản sẽ đảm bảo an toàn cho dữ liệu của bạn.
  3. Cung cấp quyền truy cập bắt buộc
    Điều đó xảy ra là bạn tự nguyện bị buộc phải cung cấp số điện thoại và quyền truy cập mở vào hệ thống (thông tin). Ví dụ: khi vợ bạn, một quan chức chính phủ hoặc nhân viên của trung tâm dịch vụ nơi bạn mang điện thoại đi sửa yêu cầu bạn xem điện thoại của mình. Trong trường hợp này, mọi biện pháp phòng thủ đều vô ích. Mặc dù có thể, với sự trợ giúp của các chương trình bổ sung, để che giấu sự thật về sự hiện diện của một số thông tin: ẩn một phần thư từ SMS, một phần danh bạ, một số tệp.
  4. Từ mục tiêu trộm cắp điện thoại của bạn.
    Ví dụ: ai đó thực sự muốn biết nội dung trên điện thoại của bạn và đã nỗ lực để có được nó.
    Trong trường hợp này, chỉ mã hóa toàn bộ điện thoại và thẻ SD mới có ích.

Bảo vệ dữ liệu tích hợp trên thiết bị Android .

1. Khóa màn hình bằng Phím mẫu.
Phương pháp này rất hiệu quả trong trường hợp thứ nhất và thứ hai (bảo vệ khỏi bị mất điện thoại do vô tình và bảo vệ khỏi những con mắt tò mò). Nếu bạn vô tình làm mất điện thoại hoặc để quên ở nơi làm việc thì sẽ không ai có thể sử dụng được. Nhưng nếu điện thoại của bạn cố tình rơi vào tay kẻ xấu thì điều này khó có thể cứu được bạn. Việc hack thậm chí có thể xảy ra ở cấp độ phần cứng.

Màn hình có thể được khóa bằng mật khẩu, mã PIN và Khóa mẫu. Bạn có thể chọn phương pháp khóa bằng cách khởi chạy cài đặt và chọn phần Bảo mật -> Khóa màn hình.

Khóa đồ họa (Mẫu) - c Cách thuận tiện nhất và đồng thời đáng tin cậy để bảo vệ điện thoại của bạn.


Không có- thiếu sự bảo vệ,
Cầu trượt- Để mở khóa, bạn cần vuốt ngón tay trên màn hình theo một hướng nhất định.

Mẫu- đây là Graphic Key, nó trông như thế này:


Bạn có thể cải thiện bảo mật theo hai cách.
1. Phóng to trường nhập phím Đồ họa. Nó có thể thay đổi từ 3x3 chấm trên màn hình đến 6x6 (Android 4.2 được tìm thấy ở một số kiểu máy, tùy thuộc vào phiên bản Android và kiểu điện thoại).
2. Ẩn hiển thị các điểm và “đường đi” của phím đồ họa trên màn hình smartphone để không thể nhìn lén phím.

3. Đặt màn hình tự động khóa sau 1 phút không hoạt động trên điện thoại.

Chú ý!!! Điều gì xảy ra nếu bạn quên khóa mẫu:

  1. Số lần thử vẽ Khóa đồ họa không chính xác được giới hạn ở 5 lần (ở các kiểu điện thoại khác nhau, số lần thử có thể lên tới 10 lần).
  2. Sau khi bạn đã thử mọi cách mà vẫn không vẽ được Khóa mẫu chính xác, điện thoại sẽ bị khóa trong 30 giây. Sau đó, rất có thể bạn sẽ phải thử lại một vài lần, tùy thuộc vào kiểu điện thoại và phiên bản Android của bạn.
  3. Tiếp theo, điện thoại sẽ yêu cầu thông tin đăng nhập và mật khẩu tài khoản Gmail của bạn, tài khoản này đã được đăng ký trong cài đặt Tài khoản của điện thoại.
    Phương pháp này sẽ chỉ hoạt động nếu điện thoại hoặc máy tính bảng của bạn được kết nối với Internet. Nếu không thì bế tắc hoặc khởi động lại cài đặt của nhà sản xuất.

Chuyện xảy ra là điện thoại rơi vào tay một đứa trẻ - nó bắt đầu chơi, rút ​​chìa khóa nhiều lần và điều này dẫn đến việc chìa khóa bị khóa.

GHIM- đây là mật khẩu bao gồm nhiều số.

Và cuối cùng, Mật khẩu- sự bảo vệ đáng tin cậy nhất, với khả năng sử dụng chữ cái và số. Nếu bạn quyết định sử dụng mật khẩu, bạn có thể bật tùy chọn Mã hóa điện thoại.

Mã hóa bộ nhớ điện thoại.

Chức năng này được bao gồm trong gói Android phiên bản 4.0* trở lên. cho máy tính bảng. Nhưng tính năng này có thể bị thiếu trên nhiều điện thoại bình dân.
Cho phép bạn mã hóa bộ nhớ trong của điện thoại để chỉ có thể truy cập bộ nhớ trong bằng mật khẩu hoặc mã PIN. Mã hóa giúp bảo vệ thông tin trên điện thoại của bạn trong trường hợp ts hành vi trộm cắp có chủ đích. Không có cách nào kẻ tấn công có thể truy cập dữ liệu của bạn từ điện thoại.

Điều kiện tiên quyết để sử dụng mã hóa là đặt khóa màn hình bằng mật khẩu.
Phương pháp này đạt được mục đích lưu dữ liệu người dùng nằm trong bộ nhớ điện thoại, chẳng hạn như danh bạ điện thoại, cài đặt trình duyệt, mật khẩu được sử dụng trên Internet, ảnh và video mà người dùng nhận được bằng camera và không sao chép vào thẻ SD.


Mã hóa thẻ SD được kích hoạt dưới dạng tùy chọn riêng biệt.
- Mã hóa bộ nhớ có thể mất tới một giờ tùy thuộc vào dung lượng bộ nhớ trên thiết bị. Không thể sử dụng điện thoại trong quá trình mã hóa.

Nếu bạn quên mật khẩu thì sao?

Phục hồi mật khẩu không được cung cấp trong trường hợp này. Bạn có thể thực hiện THIẾT LẬP LẠI toàn bộ trên điện thoại hoặc máy tính bảng của mình, tức là. cài đặt lại Android nhưng dữ liệu người dùng trên điện thoại hoặc máy tính bảng sẽ bị xóa. Vì vậy, nếu kẻ tấn công không biết mật khẩu để mở khóa điện thoại thì sẽ không thể sử dụng được. Cũng sẽ không thể xem dữ liệu từ bộ nhớ điện thoại bằng các chương trình khác bằng cách kết nối điện thoại với máy tính vì tất cả bộ nhớ trong đều được mã hóa. Cách duy nhất để điện thoại của bạn hoạt động trở lại là định dạng lại nó.

Xin lưu ý, chức năng mã hóa đầy đủ chỉ khả dụng từ hệ điều hành Android 4.0 - 4.1 và có thể không khả dụng trên một số kiểu điện thoại. Thường thấy nhất trong các điện thoại của Samsung, HTC, LG, Sony. Một số model Trung Quốc còn có tính năng mã hóa. Trên một số điện thoại, chức năng này nằm trong phần “Bộ nhớ”.

Sai sót:

  1. Bạn sẽ cần phải liên tục nhập một mật khẩu khá phức tạp (6-10 ký tự) ngay cả khi bạn chỉ muốn thực hiện cuộc gọi. Mặc dù có thể đặt một khoảng thời gian dài (30 phút) trong đó mật khẩu sẽ không được yêu cầu khi bạn bật màn hình điện thoại. Trên một số kiểu điện thoại, độ dài mật khẩu tối thiểu có thể là 3 ký tự.
  2. Trên một số kiểu điện thoại, không thể tắt mã hóa nếu bạn muốn tránh phải liên tục nhập mật khẩu. Chỉ có thể tắt mã hóa bằng cách đưa điện thoại về cài đặt gốc và xóa tất cả dữ liệu.

Mã hóa thẻ nhớ SD bên ngoài

Chức năng này được bao gồm trong gói Android 4.1.1 tiêu chuẩn dành cho máy tính bảng. Thiếu trong nhiều bản dựng ngân sách.
Chức năng này cung cấp khả năng bảo vệ dữ liệu đáng tin cậy trên thẻ SD bên ngoài. Hình ảnh cá nhân có thể được lưu trữ ở đây, tập tin văn bản với thông tin thương mại và cá nhân.
Cho phép bạn mã hóa các tệp trên thẻ SD mà không thay đổi tên hoặc cấu trúc tệp của chúng, trong khi vẫn duy trì bản xem trước của tệp đồ họa (biểu tượng). Chức năng này yêu cầu đặt mật khẩu khóa màn hình ít nhất 6 ký tự.

Có thể hủy mã hóa. Khi thay đổi mật khẩu, quá trình mã hóa lại sẽ tự động diễn ra.
Nếu người dùng bị mất thẻ nhớ, các tập tin được mã hóa sẽ không thể đọc được qua đầu đọc thẻ. Nếu bạn đặt nó trên một máy tính bảng khác có mật khẩu khác thì dữ liệu được mã hóa cũng không thể đọc được.
Thuộc tính mã hóa khác:

  • Mã hóa minh bạch. Nếu thẻ được lắp vào máy tính bảng và người dùng đã mở khóa màn hình bằng mật khẩu, bất kỳ ứng dụng nào cũng sẽ thấy các tệp ở dạng được giải mã.
  • Nếu bạn kết nối máy tính bảng qua cáp USB với máy tính, các tệp được mã hóa cũng có thể được đọc trên máy tính bằng cách mở khóa thẻ trước từ màn hình của thiết bị di động.
  • Nếu bạn ghi một số tập tin không được mã hóa khác vào thẻ thông qua đầu đọc thẻ, chúng cũng sẽ được mã hóa sau khi lắp thẻ vào máy tính bảng.
  • Nếu bạn có thẻ mã hóa, bạn không thể hủy mật khẩu khóa.
  • Dữ liệu được mã hóa ở cấp độ tệp (tên tệp được hiển thị nhưng nội dung của tệp được mã hóa).

Nhược điểm của chương trình: bị thiếu trong hầu hết các bản dựng Android.

Cần nhấn mạnh rằng sự an toàn tốt nhất của dữ liệu là một bản sao hoàn chỉnh của nó trên Máy tính của bạn trongĐiện thoại thông minh là một thiết bị nhỏ khá mỏng manh, điều đó có nghĩa là nó luôn có khả năng bị hỏng hoặc bị mất.

Cải thiện khả năng sử dụng của điện thoại thông minh an toàn

Mã hóa toàn bộ điện thoại mang lại mức độ bảo vệ mạnh nhất nhưng việc liên tục nhập mật khẩu 6 chữ số khiến việc sử dụng trở nên khó khăn. Nhưng có một giải pháp.

Trong hệ thống Android từ phiên bản 4.2*, có thể di chuyển một số ứng dụng\widget sang màn hình khóa và do đó bạn có thể thực hiện các bước đơn giản mà không cần mở khóa điện thoại liên tục (không nhập mật khẩu 6 chữ số).

Kết quả:

  • Tích hợp và tính năng miễn phíđể bảo vệ điện thoại rất đáng tin cậy. Họ có thể bảo vệ danh bạ, thư từ và cuộc gọi của người dùng, tài khoản trong các chương trình và mạng khác nhau, cũng như các tệp và thư mục nằm trong bộ nhớ điện thoại và trên thẻ SD có thể tháo rời khỏi những con mắt tò mò.
  • Trước khi mua điện thoại, bạn nên đảm bảo cách thức hoạt động của biện pháp bảo vệ cần thiết trong kiểu điện thoại cụ thể này: yêu cầu sử dụng mã PIN hoặc mật khẩu quá phức tạp trên màn hình khóa (Khóa mẫu không phù hợp), mã hóa không thể đảo ngược bộ nhớ trong của điện thoại , I E. Cách duy nhất để từ chối mã hóa là đặt lại hoàn toàn điện thoại của bạn.
  • Quan trọng!Đảm bảo rằng nếu bạn quên mật khẩu hoặc Khóa đồ họa, bạn có thể khôi phục quyền truy cập vào điện thoại của mình hoặc bạn có thể dễ dàng khôi phục thông tin và cài đặt điện thoại của mình nếu cần. thiết lập lại cứng(đặt lại điện thoại về cài đặt gốc và mất hết dữ liệu).
  • http://www..png lyuda 2013-06-19 19:13:07 2015-06-24 17:54:26 Bảo vệ dữ liệu trên điện thoại và máy tính bảng Android.

FBI cố gắng vặn tay qua tòa án Quả táo, không muốn tạo mã để vượt qua hệ thống bảo mật của chính mình. Một lỗ hổng nghiêm trọng đã được phát hiện trong nhân Android cho phép quyền truy cập siêu người dùng vượt qua tất cả các cơ chế bảo mật. Hai sự kiện này tuy không liên quan nhưng lại trùng hợp về mặt thời gian, thể hiện rõ sự khác biệt trong hệ thống bảo mật của hai hệ điều hành di động phổ biến. Hãy tạm gác lại câu hỏi về lỗ hổng nghiêm trọng Nhân Android, hầu hết các nhà sản xuất khó có thể sửa lỗi này trong các mẫu đã phát hành và xem xét các cơ chế mã hóa dữ liệu trong Android và Apple iOS. Nhưng trước tiên, hãy nói về lý do tại sao cần mã hóa trong thiết bị di động.

Tại sao lại mã hóa điện thoại của bạn?

Một người trung thực không có gì để che giấu - leitmotif phổ biến nhất vang lên sau mỗi ấn phẩm về chủ đề bảo vệ dữ liệu. “Tôi không có gì phải giấu,” nhiều người dùng nói. Than ôi, điều này thường xuyên hơn chỉ có nghĩa là tin tưởng rằng sẽ không có ai bận tâm đến dữ liệu của một Vasya Pupkin cụ thể, bởi vì ai quan tâm đến chúng? Thực tế cho thấy rằng điều này không phải như vậy. Chúng ta sẽ không đi xa: chỉ mới tuần trước, sự nghiệp của một giáo viên để điện thoại trên bàn trong chốc lát đã kết thúc bằng việc cô bị sa thải. Các học sinh ngay lập tức mở khóa thiết bị và lấy ra những bức ảnh của giáo viên dưới hình thức bị lên án bởi đạo đức thuần túy của xã hội Mỹ. Vụ việc là đủ căn cứ để sa thải giáo viên. Những câu chuyện như thế này hầu như xảy ra hàng ngày.

Điện thoại không được mã hóa bị hack như thế nào

Chúng tôi sẽ không đi vào chi tiết, chỉ cần lưu ý: dữ liệu từ điện thoại không được mã hóa có thể được trích xuất trong gần một trăm phần trăm trường hợp. “Hầu như” ở đây đề cập đến những trường hợp cố gắng làm hỏng vật lý hoặc phá hủy điện thoại ngay trước khi dữ liệu bị xóa. Nhiều thiết bị Android và Windows Phone có chế độ dịch vụ cho phép bạn trích xuất tất cả dữ liệu khỏi bộ nhớ của thiết bị thông qua cáp USB thông thường. Điều này áp dụng cho hầu hết các thiết bị trên nền tảng Qualcomm (chế độ HS-USB, hoạt động ngay cả khi bộ nạp khởi động bị khóa), trên điện thoại thông minh Trung Quốc với bộ xử lý MediaTek (MTK), Spreadtrum và Allwinner (nếu bộ nạp khởi động được mở khóa), cũng như tất cả điện thoại thông minh do LG sản xuất (nói chung có một chế độ dịch vụ tiện lợi cho phép bạn hợp nhất dữ liệu ngay cả từ thiết bị “cục gạch”).

Nhưng ngay cả khi điện thoại không có dịch vụ “cửa sau” thì dữ liệu từ máy vẫn có thể lấy được bằng cách tháo rời máy và kết nối với cổng kiểm tra JTAG. Trong những trường hợp cao cấp nhất, chip eMMC sẽ được tháo ra khỏi thiết bị, được lắp vào một bộ chuyển đổi đơn giản và rất rẻ và hoạt động bằng giao thức giống như thẻ SD phổ biến nhất. Nếu dữ liệu không được mã hóa, mọi thứ có thể được trích xuất dễ dàng từ điện thoại, cho đến mã thông báo xác thực cung cấp quyền truy cập vào bộ lưu trữ đám mây của bạn.

Điều gì xảy ra nếu mã hóa được kích hoạt? Trong các phiên bản Android cũ hơn (bao gồm cả phiên bản 4.4), điều này có thể bị bỏ qua (tuy nhiên, ngoại trừ các thiết bị do Samsung sản xuất). Nhưng ở Android 5.0, chế độ mã hóa mạnh mẽ cuối cùng đã xuất hiện. Nhưng nó có hữu ích như Google nghĩ không? Hãy cố gắng tìm ra nó.

Android 5.0–6.0

Thiết bị đầu tiên chạy Android 5.0 là Google Nexus 6, được phát hành vào năm 2014. của Motorola. Vào thời điểm đó, phần mềm 64-bit đã được quảng bá tích cực. bộ xử lý di động với kiến ​​trúc ARMv8, nhưng Qualcomm chưa có sẵn giải pháp trên nền tảng này. Kết quả là Nexus 6 đã sử dụng một bộ logic hệ thống Snapdragon 805 dựa trên lõi 32-bit phát triển riêng Qualcom.

Tại sao nó lại quan trọng? Thực tế là các bộ xử lý dựa trên kiến ​​​​trúc ARMv8 có một bộ lệnh tích hợp để tăng tốc độ mã hóa dữ liệu luồng, nhưng bộ xử lý ARMv7 32 bit không có các lệnh như vậy.

Vì vậy, hãy coi chừng bàn tay của bạn. Không có hướng dẫn nào để tăng tốc mật mã trong bộ xử lý, vì vậy Qualcomm đã xây dựng một bộ xử lý chuyên dụng mô-đun phần cứng, được thiết kế để thực hiện các chức năng tương tự. Nhưng có điều gì đó không suôn sẻ với Google. Trình điều khiển chưa được hoàn thiện tại thời điểm phát hành hoặc Qualcomm không cung cấp mã nguồn (hoặc không cho phép chúng được xuất bản trong AOSP). Công chúng chưa biết chi tiết nhưng kết quả đã biết: Nexus 6 gây sốc cho giới đánh giá với tốc độ đọc dữ liệu cực kỳ chậm. Chậm thế nào? Một cái gì đó như thế này:

Lý do dẫn đến độ trễ gấp 8 lần so với “người em” của nó, điện thoại thông minh Motorola Moto X 2014, rất đơn giản: mã hóa mà công ty triển khai trên cấp độ chương trình. TRONG đời thực Người dùng Nexus 6 trên phiên bản phần mềm cơ sở gốc phàn nàn về nhiều tình trạng chậm trễ và treo máy, thiết bị nóng lên rõ rệt và thời lượng pin tương đối kém. Việc cài đặt kernel có chức năng vô hiệu hóa mã hóa bắt buộc sẽ ngay lập tức giải quyết được những vấn đề này.

Tuy nhiên, firmware là một thứ như vậy, bạn có thể hoàn thành nó phải không? Đặc biệt nếu bạn là Google, có nguồn tài chính không giới hạn và có đội ngũ nhân viên phát triển có trình độ nhất. Nào, hãy xem điều gì xảy ra tiếp theo.

Và sau đó là Android 5.1 (sáu tháng sau), trong đó các trình điều khiển cần thiết để làm việc với bộ tăng tốc phần cứng lần đầu tiên được thêm vào phiên bản xem trước chương trình cơ sở, sau đó bị xóa lại trong chương trình cơ sở cuối cùng do sự cố nghiêm trọng với chế độ ngủ. Sau đó là Android 6.0, tại thời điểm phát hành, người dùng đã không còn hứng thú với trò chơi này và bắt đầu vô hiệu hóa mã hóa bằng mọi cách, sử dụng hạt nhân của bên thứ ba. Hoặc không tắt nó nếu tốc độ đọc 25–30 MB/s là đủ.

Android 7.0

Được rồi, nhưng liệu Android 7 có thể khắc phục được sự cố nghiêm trọng với một thiết bị hàng đầu đã gần hai năm tuổi không? Điều đó có thể xảy ra và nó đã được sửa! Phòng thí nghiệm ElcomSoft đã so sánh hiệu suất của hai chiếc Nexus 6 giống hệt nhau, một chiếc chạy Android 6.0.1 với nhân ElementalX (và đã tắt mã hóa), trong khi chiếc còn lại đang chạy phiên bản xem trước đầu tiên của Android 7 với cài đặt mặc định (bật mã hóa). Kết quả rất rõ ràng:

Mã hóa dữ liệu trong hệ điều hành Android liên quan chặt chẽ đến hai vấn đề: kiểm soát quyền truy cập vào thẻ nhớ và chuyển ứng dụng sang thẻ nhớ. Nhiều chương trình chứa dữ liệu kích hoạt, thanh toán và...

Xin chào các bạn! Bài viết hôm nay sẽ xem xét các chương trình mã hóa tệp, chính xác hơn là để làm việc với bộ chứa mật mã trong Android. Đối với những người chưa biết thùng chứa tiền điện tử là gì, chúng tôi đã nói về nó trong bài viết này.

Chúng tôi sẽ không xem xét các vật phẩm, hình ảnh có tính chuyên môn cao, v.v. Chúng tôi đã nói về tất cả những điều này trong các ấn phẩm trước đó (sử dụng biểu mẫu tìm kiếm trang web). Trong bài viết này, chúng tôi sẽ không nghiên cứu từng ứng dụng riêng biệt. Đây là phần tổng quan sơ lược về tất cả các chương trình mã hóa dữ liệu phổ biến dành cho Android. Trong thời gian tới, sau bài viết này sẽ có hướng dẫn riêng cho từng ứng dụng.

Bạn cũng có thể quan tâm đến bài viết “”, trong đó chúng tôi đã nói về cách mã hóa thư từ một cách an toàn bằng ứng dụng và K-9 Mail.

Các chương trình mã hóa sau hiện có sẵn trên Google Play:

  • Giám đốc LUKS;
  • EDS Lite;
  • tiền điện tử;
  • CyberSafe Di động.

Ngoài ra, ứng dụng còn cho phép bạn chia sẻ các tập tin được mã hóa với người dùng khác và cho phép bạn mã hóa các thư mục tùy ý trên Google Drive. Tuy nhiên, cứ mỗi thùng mật ong lại có một con ruồi trong thuốc mỡ. Ứng dụng này được trả tiền. Và phiên bản miễn phí của nó giới hạn độ dài mật khẩu tối đa chỉ có 2 ký tự, theo bạn hiểu, là rất nhỏ. Mặt khác, ứng dụng này rất rẻ (dưới 3 đô la) và nó không hạn chế mật khẩu khi mở vùng chứa mà chỉ khi tạo nó. Nghĩa là, nếu bạn cần sử dụng một ứng dụng có cùng bộ dữ liệu trên các thiết bị khác nhau, thì bạn có thể tạo vùng chứa trên một thiết bị và sao chép nó sang thiết bị khác và chỉ mua chương trình trên một thiết bị (trên đó bạn sẽ tạo thùng đựng hàng).

Ứng dụng mã hóa dữ liệu cho Android

Bạn nên chọn ứng dụng nào?

Đáp án đơn giản. Nếu bạn sử dụng TrueCrypt trên máy tính cá nhân thì sự lựa chọn là hiển nhiên - EDS Lite. Nếu muốn mã hóa đám mây, có vẻ như bạn sẽ phải nâng cấp lên CyberSafe trên máy tính của mình.

Mã hóa dữ liệu trong hệ điều hành Android liên quan chặt chẽ đến hai vấn đề: kiểm soát quyền truy cập vào thẻ nhớ và chuyển ứng dụng sang thẻ nhớ. Nhiều chương trình chứa dữ liệu kích hoạt, thông tin thanh toán và thông tin bí mật. Việc bảo vệ nó yêu cầu quản lý các quyền truy cập, vốn không được hỗ trợ bởi hệ thống tệp FAT32 thông thường dành cho thẻ. Do đó, trong mỗi phiên bản Android, các phương pháp mã hóa đã thay đổi đáng kể - từ việc hoàn toàn không có tính năng bảo vệ bằng mật mã cho phương tiện di động đến việc tích hợp sâu chúng vào một phân vùng duy nhất với mã hóa nhanh chóng.

CẢNH BÁO

Mỗi tiện ích chạy hệ điều hành Android đều có những khác biệt đáng kể - cả về phần sụn và cấp độ phần cứng. Ngay cả các phiên bản khác nhau của cùng một mô hình cũng có thể rất khác nhau. Thẻ nhớ cũng có những đặc điểm riêng. Đó là lý do tại sao hướng dẫn chi tiết sử dụng mã hóa trên một thiết bị thường không hiệu quả nếu không sửa đổi trên thiết bị khác. Không có phương pháp phổ quát ở đây. Chỉ có những cách tiếp cận chung được mô tả trong bài viết này.

Vai trò đặc biệt của thẻ nhớ

Ban đầu, các nhà phát triển Android dự định chỉ sử dụng thẻ nhớ làm nơi lưu trữ riêng cho các tập tin của người dùng. Nó chỉ là một kho đa phương tiện mà không có bất kỳ yêu cầu nào về khả năng bảo vệ và độ tin cậy. Thẻ microSD(HC) với FAT32 đáp ứng tốt vai trò lưu trữ đơn giản, giải phóng bộ nhớ trong khỏi ảnh, video và nhạc.

Khả năng truyền không chỉ các tập tin đa phương tiện mà cả các ứng dụng sang thẻ nhớ lần đầu tiên xuất hiện trên Android 2.2 Froyo. Nó được triển khai bằng cách sử dụng khái niệm vùng chứa được mã hóa cho từng ứng dụng, nhưng điều này chỉ bảo vệ chống lại việc thẻ rơi vào tay kẻ xấu - chứ không phải điện thoại thông minh.

Ngoài ra, đây chỉ là một biện pháp nửa vời: nhiều chương trình được chuyển một phần, để lại một số dữ liệu trong bộ nhớ trong và một số (ví dụ: chương trình hệ thống hoặc chứa các widget) hoàn toàn không được chuyển vào thẻ. Khả năng chuyển ứng dụng phụ thuộc vào loại của chúng (được cài đặt sẵn hoặc bên thứ ba) và cấu trúc bên trong. Đối với một số người, thư mục chứa dữ liệu người dùng ngay lập tức được đặt riêng biệt, trong khi đối với những người khác, nó nằm trong thư mục con của chính chương trình.


Nếu các ứng dụng sử dụng nhiều thao tác đọc/ghi thì độ tin cậy và tốc độ của thẻ không còn có thể làm hài lòng các nhà phát triển. Họ cố tình làm cho việc chuyển chương trình bằng các phương tiện tiêu chuẩn không thể thực hiện được. Nhờ thủ thuật này, tác phẩm của họ được đảm bảo được ghi vào bộ nhớ trong với tài nguyên ghi lại lớn và hiệu suất cao.

Với phiên bản thứ tư của Android, bạn có thể chọn nơi đặt ứng dụng. Theo mặc định, có thể chỉ định thẻ nhớ làm đĩa để cài đặt chương trình, nhưng không phải tất cả phần sụn đều hỗ trợ chính xác chức năng này. Cách nó hoạt động trong một thiết bị cụ thể chỉ có thể được xác định bằng thực nghiệm.

Ở Android thứ năm, Google một lần nữa quyết định quay trở lại khái niệm ban đầu và làm mọi cách để khiến việc chuyển ứng dụng sang thẻ nhớ trở nên khó khăn nhất có thể. Các nhà sản xuất lớn đã nắm bắt được tín hiệu và thêm các chức năng giám sát của riêng họ vào chương trình cơ sở, phát hiện nỗ lực của người dùng để buộc các ứng dụng vào thẻ bằng cách sử dụng root. Chỉ có tùy chọn tạo liên kết cứng hoặc tượng trưng mới hoạt động ít nhiều. Trong trường hợp này, ứng dụng được xác định theo địa chỉ tiêu chuẩn trong bộ nhớ tích hợp nhưng thực tế lại nằm trên thẻ. Tuy nhiên, sự nhầm lẫn đã xảy ra quản lý tập tin, nhiều trong số đó không xử lý liên kết một cách chính xác. Họ hiển thị sai dung lượng trống vì họ tin rằng ứng dụng được cho là đã chiếm dung lượng trong cả bộ nhớ trong và trên thẻ cùng một lúc.

Thích ứng nó!

Android Marshmallow đã giới thiệu một thỏa hiệp có tên là Bộ nhớ có thể chấp nhận. Đây là nỗ lực của Google nhằm giữ cho đàn cừu được an toàn và những người lính luôn vui vẻ.

Chức năng Adoptable Storage cho phép bạn kết hợp phân vùng người dùng trong bộ nhớ tích hợp với phân vùng trên thẻ thành một ổ đĩa logic. Trên thực tế, nó tạo một phân vùng ext4 hoặc F2FS trên thẻ và thêm nó vào phân vùng người dùng của bộ nhớ trong. Đây là một hoạt động hợp nhất hoàn toàn hợp lý, gợi nhớ một cách mơ hồ về việc tạo một ổ đĩa kéo dài từ một số đĩa vật lý trong Windows.


Trong quá trình kết hợp với bộ nhớ trong, thẻ được định dạng lại. Theo mặc định, toàn bộ dung lượng của nó sẽ được sử dụng trong tập đã hợp nhất. Trong trường hợp này, các tệp trên thẻ không thể đọc được trên thiết bị khác nữa - chúng sẽ được mã hóa bằng khóa thiết bị duy nhất, khóa này được lưu trữ bên trong môi trường thực thi đáng tin cậy.

Ngoài ra, bạn có thể dành dung lượng trên thẻ cho phân vùng thứ hai với FAT32. Các tập tin được lưu trữ trên đó sẽ hiển thị trên tất cả các thiết bị như trước đây.

Phương thức chia thẻ được đặt thông qua menu Bộ nhớ có thể chấp nhận hoặc thông qua Cầu gỡ lỗi Android (ADB). Tùy chọn cuối cùng được sử dụng trong trường hợp nhà sản xuất đã ẩn Bộ lưu trữ thông qua khỏi menu, nhưng chưa xóa chức năng này khỏi chương trình cơ sở. Ví dụ: nó được ẩn trong Samsung Galaxy S7 và các điện thoại thông minh hàng đầu của LG. Gần đây, xu hướng chung là loại bỏ Bộ lưu trữ có thể chấp nhận khỏi các thiết bị hàng đầu. Nó được coi là chiếc nạng cho điện thoại thông minh và máy tính bảng giá rẻ không có đủ bộ nhớ Flash tích hợp.

Tuy nhiên, các nhà tiếp thị không có quyền quyết định cách chúng ta sử dụng thiết bị của mình. Thông qua ADB trên máy tính Windows, chức năng Adoptable Storage được kích hoạt như sau.

  1. Chúng tôi tạo một bản sao lưu tất cả dữ liệu trên thẻ - nó sẽ được định dạng lại.
  2. Bộ công cụ phát triển Java SE từ trang web của Oracle.
  3. Cài đặt phiên bản mới nhất của Trình quản lý SDK Android.
  4. Bật gỡ lỗi USB trên điện thoại thông minh của bạn.
  5. Khởi chạy Trình quản lý SDK và viết trên dòng lệnh: $ adb shell $ sm list-disks
  6. Chúng tôi ghi lại số đĩa mà thẻ nhớ được xác định (thường có dạng 179:160, 179:32 hoặc tương tự).
  7. Nếu bạn muốn thêm toàn bộ dung lượng của thẻ vào bộ nhớ trong thì ghi vào dòng lệnh: $ sm phân vùng đĩa: x:y riêng

    trong đó x:y là số thẻ nhớ.

  8. Nếu bạn muốn để lại một phần cho ổ FAT32 thì thay đổi lệnh từ bước 7 thành: $ sm phân vùng đĩa:x:y hỗn hợp nn

    trong đó nn là phần trăm ổ đĩa còn lại cho ổ FAT32.

Ví dụ: lệnh sm phân vùng đĩa:179:32 hỗn hợp 20 sẽ thêm 80% dung lượng của thẻ vào bộ nhớ tích hợp và để lại ổ đĩa FAT32 trên đó với 1/5 dung lượng của nó.

Trên một số điện thoại thông minh, phương pháp “nguyên trạng” này không còn hoạt động và yêu cầu các thủ thuật bổ sung. Các nhà sản xuất đang làm mọi cách để phân chia sản phẩm của họ thành các ngóc ngách thị trường một cách giả tạo. Các mẫu máy hàng đầu hiện có sẵn với dung lượng bộ nhớ tích hợp khác nhau và ngày càng có ít người sẵn sàng trả quá nhiều tiền cho nó.

Một số điện thoại thông minh không có khe cắm thẻ nhớ (ví dụ: dòng Nexus) nhưng hỗ trợ kết nối ổ USB-Flash ở chế độOTG. Trong trường hợp này, ổ flash cũng có thể được sử dụng để mở rộng bộ nhớ trong. Điều này được thực hiện bằng lệnh sau:

$ adb shell sm set-force-adoptable true

Theo mặc định, khả năng sử dụng USB-OTG để tạo bộ lưu trữ tùy chỉnh bị tắt vì việc xóa không mong muốn có thể dẫn đến mất dữ liệu. Khả năng thẻ nhớ đột ngột ngắt kết nối thấp hơn nhiều do vị trí vật lý của thẻ nhớ bên trong thiết bị.

Nếu có vấn đề phát sinh khi thêm ổ đĩa di động hoặc chia nó thành các phân vùng, thì trước tiên hãy xóa tất cả thông tin về bố cục logic trước đó khỏi nó. Điều này có thể được thực hiện một cách đáng tin cậy bằng cách sử dụng tiện ích Linux gparted, tiện ích này trên máy tính Windows được khởi chạy từ đĩa khởi động hoặc trong máy ảo.

Chính sách chính thức của Google là các ứng dụng có thể được cài đặt trực tiếp hoặc di chuyển sang cửa hàng tùy chỉnh nếu nhà phát triển đã chỉ định điều này trong thuộc tính android:installLocation. Điều trớ trêu là không phải tất cả các ứng dụng của Google đều cho phép điều này. Không có giới hạn thực tế nào đối với “bộ nhớ thích ứng” trong Android. Giới hạn lý thuyết cho Bộ nhớ có thể chấp nhận là 9 zettabyte. Không có quá nhiều ngay cả trong các trung tâm dữ liệu và thậm chí còn nhiều hơn nữa, thẻ nhớ có dung lượng lớn hơn sẽ không xuất hiện trong những năm tới.

Bản thân quy trình mã hóa khi tạo bộ lưu trữ thích ứng được thực hiện bằng cách sử dụng dm-crypt - cùng một mô-đun nhân Linux thực hiện mã hóa toàn bộ đĩa của bộ nhớ tích hợp của điện thoại thông minh (xem bài viết trước “”). Thuật toán AES được sử dụng ở chế độ chuỗi khối bản mã (CBC). Một vectơ khởi tạo riêng với muối (ESSIV) được tạo cho từng khu vực. Độ dài tích chập của hàm băm SHA là 256 bit và bản thân khóa là 128 bit.

Việc triển khai này, mặc dù có độ tin cậy kém hơn AES-XTS-256, nhưng nhanh hơn nhiều và được coi là đủ tin cậy cho các thiết bị tiêu dùng. Một người hàng xóm tò mò khó có thể mở một kho lưu trữ được mã hóa thích ứng trong một thời gian hợp lý, nhưng các cơ quan tình báo từ lâu đã học được cách khai thác những thiếu sót của kế hoạch CBC. Ngoài ra, trên thực tế, không phải tất cả 128 bit của khóa đều hoàn toàn ngẫu nhiên. Sự suy yếu vô ý hoặc cố ý của trình tạo số giả ngẫu nhiên tích hợp là vấn đề phổ biến nhất trong mật mã. Nó không chỉ ảnh hưởng đến các tiện ích Android mà còn ảnh hưởng đến tất cả các thiết bị tiêu dùng nói chung. Do đó, cách an toàn nhất để đảm bảo quyền riêng tư là không lưu trữ dữ liệu nhạy cảm trên điện thoại thông minh của bạn.

THÔNG TIN

Nếu bạn thực hiện khôi phục cài đặt gốc sau khi hợp nhất bộ nhớ bằng Bộ nhớ thông qua, dữ liệu trên thẻ cũng sẽ bị mất. Do đó, bạn nên tạo bản sao lưu của chúng trước hoặc tốt hơn là ngay lập tức chỉ định đồng bộ hóa đám mây.

Mã hóa dữ liệu thay thế trên thẻ nhớ

Bây giờ chúng ta đã giải quyết được các đặc thù của việc lưu trữ tệp trên thẻ nhớ trong các phiên bản Android khác nhau, hãy chuyển trực tiếp sang mã hóa chúng. Nếu bạn có một thiết bị chạy Android 6 trở lên thì khả năng cao là bạn có thể kích hoạt chức năng Bộ nhớ có thể chấp nhận bằng cách này hay cách khác. Khi đó toàn bộ dữ liệu trên thẻ sẽ được mã hóa giống như trong bộ nhớ trong. Chỉ các tệp trên phân vùng FAT32 bổ sung sẽ vẫn mở nếu bạn muốn tạo nó khi định dạng lại thẻ.

Tiếp tục chỉ có sẵn cho người đăng ký

Tùy chọn 1. Đăng ký Hacker để đọc tất cả tài liệu trên trang web

Đăng ký sẽ cho phép bạn đọc MỌI THỨ trong khoảng thời gian được chỉ định tài liệu trả phíđịa điểm. Chúng tôi chấp nhận thanh toán thẻ ngân hàng