5

Tôi tạo liên kết ứng dụng Android với Google Cloud Storage. Tôi muốn cho phép truy cập GCS vào ứng dụng Android của tôi CHỈ.Xác thực bộ nhớ Google Cloud

Google cung cấp ba giải pháp để kết nối một cách an toàn để GCS:

  • OAuth 2.0 (Vì vậy, với tài khoản google)
  • Tài khoản Cookie-base (Với google tài khoản quá)
  • Dịch vụ Tài khoản xác thực (Với riêng Khóa, nhưng được cài đặt cục bộ trên Ứng dụng Android: Rất tệ nếu ai đó dịch ngược .apk của tôi)

Nguồn: https://developers.google.com/storage/docs/authentication?hl=FR

Có giải pháp nào khác để kết nối an toàn qua GCS không? Tôi muốn kết nối trên GCS theo cách này (Giới hạn đối với ID ứng dụng khách Android: SHA1 tới .apk): https://developers.google.com/appengine/docs/java/endpoints/auth

Có thể với GCS? Tôi có nên sử dụng Blobstore để làm điều đó không?

Cảm ơn trước

+0

Tôi đã đăng câu hỏi mới. Nó có liên quan. http://stackoverflow.com/q/28001476/3216207 – Oru

Trả lời

4

Đây là vấn đề cơ bản với máy tính. Bạn không bao giờ có thể hoàn toàn tin tưởng rằng một ứng dụng chạy trên phần cứng nằm dưới sự kiểm soát hoàn toàn của một bên thứ ba không xác định đã không bị giả mạo bằng cách nào đó. Có rất nhiều, nhiều kỹ thuật để làm cho việc giả mạo khó khăn hơn nhiều, nhưng các hệ thống từ xa sẽ không bao giờ hoàn toàn an toàn. Có một số cách để xác minh rằng người dùng có tài khoản Google cụ thể, nhưng bạn không thể dễ dàng tin tưởng chắc chắn rằng một ứng dụng nhất định chính xác là ứng dụng của bạn.

Điều đó nói rằng, có rất nhiều cách để thiết kế ứng dụng bảo mật mà không tin tưởng khách hàng. Ứng dụng của bạn cần được ủy quyền để làm gì? Tải lên các đối tượng? Tải xuống các đối tượng an toàn? Có điều gì xấu mà người dùng giả mạo khi ứng dụng của bạn có thể thực hiện không?

+0

Vì vậy, đối với một ứng dụng công cụ ứng dụng, có vẻ như tài khoản dịch vụ là cách để đi. Trong trường hợp ứng dụng được cài đặt, mọi bí mật được nhúng đều không thực sự bí mật. Giả sử tôi muốn hạn chế tải xuống tệp chỉ cho những người dùng đã cài đặt ứng dụng của tôi, như trong [câu hỏi được liên kết] của Oru (https://stackoverflow.com/questions/23756570/google-cloud-storage-authentication/23767657#comment44394349_23756570) . Tôi biết câu trả lời phụ thuộc vào tác động tiềm tàng của thỏa hiệp, nhưng bạn có đề xuất nhúng thông tin đăng nhập (hoặc mã thông báo làm mới hoặc khác) hay bạn sẽ cấp quyền truy cập GCS cho người dùng đó khi cài đặt? – BioeJD

0

Tôi nghĩ bạn có thể sử dụng 1) để xác thực thông tin. Ứng dụng sẽ chuyển tiếp yêu cầu xác thực tới máy chủ của bạn (với mã thông báo đăng nhập ứng dụng của riêng bạn) và khi người dùng được xác thực bởi dịch vụ của riêng bạn thì ứng dụng sẽ nhận mã thông báo oauth để gửi tới gcloud và nhận tệp mong muốn.

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