2012-08-16 37 views
6

Tôi đang đặt ra câu hỏi tương tự như ở đây:Android làm thế nào để đảm bảo nội dung trong tài liệu thư mục

Đối với Android.

Có khái niệm tương đương trong android với những gì được trình bày ở đây:

yêu cầu cụ thể của tôi là để bảo vệ các tập tin từ các thiết bị cắm rễ và cũng làm cho họ có sẵn chỉ thông qua ứng dụng và cho một tuổi thọ nhất định.

Cảm ơn

Trả lời

0

Android sử dụng các quyền của Unix để bảo vệ hộp cát ứng dụng. Mỗi ứng dụng chạy dưới người dùng duy nhất và chỉ người dùng đó có quyền hoạt động trên thư mục /data/data/your.package.name. Tuy nhiên, nếu thiết bị đích được bắt nguồn, dữ liệu ứng dụng của bạn có thể bị xâm phạm.

Một số liên kết:

http://source.android.com/tech/security/index.html

http://www.amazon.co.uk/dp/1430240628

http://developer.android.com/guide/topics/security/permissions.html

+0

Cảm ơn bạn, vấn đề là tôi muốn bảo vệ các tệp từ các loại rễ này mà còn từ người dùng có thể mở chúng ra ngoài ứng dụng –

1

Nhìn qua câu trả lời Mighter và đưa mối quan tâm của bạn qua điện thoại bắt nguồn từ nó trông giống như nó được thảo luận ở đây.

http://source.android.com/tech/encryption/android_crypto_implementation.html

(một liên kết phụ tôi tìm thấy ở đâu đó trong đây http://source.android.com/tech/security/index.html)

Nguyên tôi đã suy nghĩ bạn có thể sử dụng ContentProvider và lưu trữ dữ liệu của bạn trong một cơ sở dữ liệu, tôi tin rằng có thể được bảo vệ, hoặc bạn ít nhất có thể mã hóa dữ liệu bên trong nó. Tôi không chắc chắn rằng sẽ trả lời vấn đề của bạn tuy nhiên. Các liên kết thực hiện mật mã android tôi hy vọng sẽ bao gồm các yêu cầu của bạn. Mặc dù có thể không thực tế do yêu cầu phiên bản.

+0

Xem phản hồi của CommonsWare. Anh ấy đúng, bạn chỉ đơn giản là không thể bảo vệ nó. Vì vậy, câu trả lời về bản chất là KHÔNG. – Emile

1

Hai ghi chú:

Nói chung ứng dụng của bạn có thể chỉ an toàn như hệ điều hành. Trong trường hợp thiết bị được root, hệ điều hành không còn an toàn nữa. Vì vậy, ứng dụng của bạn không thể an toàn. Ví dụ có thể có chỉnh của hệ thống hoạt động mà sẽ:

  • bàn phím log vào
  • lật đổ bất kỳ cuộc gọi (bao gồm cả các cuộc gọi đến API crypto)
  • log bất kỳ thông tin mà đi kèm thông qua HTTP (S).

Lưu ý thứ hai là tại một thời điểm nào đó bạn sẽ cần phải cung cấp dữ liệu (tệp) của bạn trong các ứng dụng của bên thứ ba (không được mã hóa). Ngay sau khi bạn đã làm điều này, họ có thể sao chép nó, gửi nó đến một số máy chủ và bạn không thể làm bất cứ điều gì về nó. Vì vậy, ngay cả khi bạn cung cấp quyền truy cập vào các tệp này trong một khoảng thời gian giới hạn, chúng vẫn có thể "bị rò rỉ".


Điều đó nói rằng, cách tiếp cận đơn giản nhất của bạn (như Emile chỉ ra) sẽ được sử dụng một dữ liệu ContentProvider, mã hóa bên trong nó và giải mã dữ liệu khi nó được phân phối cho các ứng dụng bên thứ 3.

Cách tiếp cận có độ phức tạp cao hơn sẽ là sử dụng DRM (http://developer.android.com/reference/android/drm/package-summary.html) trong trường hợp các ứng dụng của bên thứ ba hỗ trợ nó.

0

Không có gì an toàn khi đưa bất kỳ loại dữ liệu nào lên thiết bị Android. Họ được coi là thiết bị mở. Nếu bạn đang tìm cách để bảo vệ dữ liệu của bạn một lần nữa bắt nguồn từ người dùng, sau đó bạn sẽ phải sử dụng một hình thức mã hóa. Và tùy thuộc vào độ nhạy của mục, có thể thậm chí không hoạt động (trừ khi bạn sử dụng một mã hóa cao cấp thực sự mà sau đó sẽ rút về hiệu suất). Đừng tin tưởng Android với thông tin nhạy cảm là điều duy nhất tôi có thể nói.

3

yêu cầu cụ thể của tôi là để bảo vệ các tập tin từ các thiết bị bắt nguồn từ

Theo định nghĩa, đó là không thể.

Trước tiên, bất kỳ ai có thiết bị gốc đều có quyền truy cập vào mọi tệp, mọi nơi trong chính thiết bị.

Thứ hai, mã hóa chỉ giúp người dùng bảo vệ dữ liệu của họ từ bên thứ ba. Mặt khác, bạn đang cố gắng tấn công người dùng bằng cách ngăn họ truy cập dữ liệu của họ. Cách duy nhất bạn có thể thử làm điều đó thông qua mã hóa là bạn là người duy nhất có khóa giải mã và vì khóa giải mã đó phải có trên thiết bị để thiết bị có thể giải mã tệp, bất kỳ người dùng nào muốn có thể lục lọi trong ứng dụng của bạn, tìm khóa và tự giải mã các tệp. Khái niệm mã hóa các tập tin theo cách này được gọi là DRM, và có hai loại DRM: những loại đã bị bẻ khóa và những cái mà không ai làm phiền khi cố gắng bẻ khóa.

Nếu bạn không muốn người dùng truy cập dữ liệu này, không đặt nó trên thiết bị.

+0

Doh, ông CommonsWare là đúng, bạn có thể làm cho nó khó khăn hơn nhưng không phải là không thể. Vì vậy, yeah, Không có câu trả lời đúng. – Emile

Các vấn đề liên quan