Một ứng dụng có thể làm gì với TÀI KHOẢN SỬ DỤNG TÀI KHOẢN trên sự cho phép của DEVICE?


28

Một ứng dụng như vậy có thể tự do đọc email / lịch / tin nhắn / tài liệu / v.v. của tôi không?

Quyền "TÀI KHOẢN SỬ DỤNG TRÊN THIẾT BỊ" cũng được các nhà phát triển biết đến với tên gọi là ERIC.USE_CREDENTIALS .

Ví dụ về các ứng dụng như vậy: WhatsApp , MightyText .


1
Tôi đã tìm thấy một ví dụ về API Android về những gì có thể được thực hiện bằng quyền này: goo.gl/gjkJB . Theo hiểu biết của tôi với tư cách là một nhà phát triển, điều này có nghĩa là quyền truy cập vào MỌI THỨ . Khi người dùng có mã thông báo của tài khoản, anh ta có thể truy cập bất kỳ dịch vụ nào mà tài khoản cung cấp: luồng của Facebook, email của Google - MỌI THỨ .
AlikElzin-kilaka

2
Tôi có nghĩa là từ quan điểm người dùng. Tôi nghĩ rằng người dùng không nhận thức được sự xâm nhập đằng sau sự cho phép đó.
AlikElzin-kilaka

1
@ t0mm13b - Chẳng hạn, việc cấp quyền cụ thể (OAuth) để đọc tin nhắn, ít xâm phạm hơn nhiều so với việc cấp quyền truy cập đầy đủ vào tài khoản.
AlikElzin-kilaka

8
Tôi nghĩ rằng đây là một câu hỏi hợp lý cho trang web này. Tôi chắc chắn muốn biết chính xác những gì mỗi quyền có sẵn thực sự mang lại quyền truy cập.
ale

Câu trả lời:


35

Android có một hệ thống tập trung để quản lý thông tin đăng nhập cho các dịch vụ trực tuyến (chẳng hạn như tài khoản Google của bạn). Một thành phần được gọi là AccountManager. Một số ứng dụng có thể " hoạt động như một trình xác thực tài khoản ". Điều này có nghĩa là họ hiểu cách đăng nhập vào một dịch vụ trực tuyến cụ thể và có thể đăng nhập vào dịch vụ đó cho AccountManager. Các ứng dụng khác muốn sử dụng thông tin đăng nhập đó để nhận dạng bạn hoặc thực hiện các hành động thay mặt bạn mà không cần bạn phải nhập mật khẩu mỗi lần.

Ví dụ: đăng nhập vào Google

Điện thoại của bạn có ứng dụng tích hợp "hoạt động như một trình xác thực tài khoản" cho tài khoản Google của bạn. Nó biết cách đăng nhập vào Google và nó có email và mật khẩu bạn đã nhập khi bạn thiết lập điện thoại. Ngoài ra còn có một ứng dụng YouTube muốn đăng nhập để hiển thị các video yêu thích của bạn và cho phép bạn nhận xét nhưng không phải nhập lại email và mật khẩu.

Ứng dụng YouTube này nói chuyện với AccountManagervà hỏi xem nó có bất kỳ thông tin xác thực nào cho tài khoản Google không. Đặt câu hỏi này yêu cầu quyền "tìm tài khoản trên thiết bị". Có AccountManagermột danh sách các trình xác thực được cài đặt trên điện thoại, mà nó tư vấn để trả lời câu hỏi này. Nếu nó không có bất kỳ thông tin, ứng dụng sẽ sau đó yêu cầu cho những gì được biết đến như một authToken cho tài khoản Google. Yêu cầu này yêu cầu quyền " sử dụng tài khoản trên thiết bị ".

Sau AccountManagerđó sẽ hỏi bạn nếu bạn muốn ứng dụng yêu cầu (YouTube) có thể sử dụng tài khoản được yêu cầu (tài khoản Google). Điều này có thể trong một hộp thoại xuất hiện trên ứng dụng hoặc trong một thông báo. Ngoài ra, ứng dụng có thể chọn không làm gì nếu bạn chưa trả lời có cho câu hỏi này: ứng dụng có thể muốn hỏi sau vào thời điểm thuận tiện hơn. Bước này đảm bảo rằng một ứng dụng có quyền "sử dụng tài khoản trên thiết bị" không thể sử dụng ngay lập tức mọi tài khoản mà không cần hỏi.

Nếu bạn nói có, AccountManageryêu cầu chuyển tiếp đến trình xác thực (ứng dụng Google tích hợp). Điều gì xảy ra tiếp theo là tùy thuộc vào trình xác thực và dịch vụ cụ thể mà bạn đang đăng nhập. Bạn có thể cần phải đăng nhập nếu trước đó bạn chưa làm điều đó và đăng nhập có thể yêu cầu tên người dùng và mật khẩu, ảnh, SMS hoặc một cái gì đó hoàn toàn khác. Dù trình xác thực làm gì, nó cũng có thể thất bại hoặc trả lại tự động cho ứng dụng yêu cầu.

Kiểm tra thêm

Trình xác thực và dịch vụ trực tuyến cũng có thể kiểm soát những hành động mà ứng dụng yêu cầu có thể thực hiện. Ví dụ: khi bạn kết nối một ứng dụng với tài khoản Google của mình, Google sẽ liệt kê các quyền mà ứng dụng cần (chẳng hạn như "tải lên video" cho YouTube). Vì vậy, ứng dụng chỉ có thể thực hiện các hành động được liệt kê. Tuy nhiên, một số dịch vụ có thể không có gì như vậy; đối với một dịch vụ như vậy, một khi bạn đã cho phép ứng dụng sử dụng thông tin đăng nhập của mình, nó có thể thực hiện bất kỳ hành động nào trong tên của bạn.

Khi ứng dụng yêu cầu đã nhận được authtoken, nó có thể tiếp tục sử dụng nó để thực hiện các hành động trong tên của bạn mà không có bất kỳ tương tác nào từ bạn. Đó là, một khi bạn đã đồng ý rằng Twitter Client của Dan có thể đăng lên nguồn cấp dữ liệu Twitter của bạn, nó có thể chạy trong nền và đăng các tweet khác mà bạn không biết. Bạn chỉ nên cấp cho ứng dụng quyền truy cập vào thông tin đăng nhập của bạn nếu bạn tin tưởng nó không làm điều đó.

Tóm lược

Một ứng dụng có quyền " sử dụng tài khoản trên thiết bị " có thể, sau khi được cài đặt, yêu cầu bạn truy cập một dịch vụ trực tuyến (như Google, Facebook hoặc Twitter) trong tên của bạn. Bạn có thể chọn để cho phép nó truy cập dịch vụ hay không. Nếu bạn cho phép nó truy cập dịch vụ, những hành động mà họ có thể thực hiện thay mặt bạn có thể bị giới hạn bởi dịch vụ (tùy thuộc vào dịch vụ) và dịch vụ có thể cho phép bạn thu hồi quyền đó sau (thường thông qua danh sách "ứng dụng được kết nối "Trên trang web của dịch vụ).


0

Tôi đã tìm thấy ví dụ này trong API Android về những gì có thể được thực hiện bằng quyền đó.

Theo hiểu biết của tôi với tư cách là một nhà phát triển, điều này có nghĩa là quyền truy cập vào gần như MỌI THỨ được cung cấp bởi tài khoản, ngoại trừ thay đổi mật khẩu.

Khi người dùng có mã thông báo của tài khoản, anh ta có thể truy cập bất kỳ dịch vụ nào mà tài khoản cung cấp: đăng lên tường Facebook của bạn, đọc Gmail của bạn - gần như MỌI THỨ .


Tôi không chắc chắn 100% nhưng tôi nghĩ rằng có màn hình "Chọn tài khoản" trước khi Ứng dụng có thể truy cập và sử dụng Mã thông báo xác thực. Chỉ riêng quyền là không đủ để có quyền truy cập vào tài khoản người dùng.
Lưu lượng

2
Không hoàn toàn - thêm từ "gần như" trước nó. Như tên của đặc quyền cho thấy: nó có thể sử dụng thông tin tài khoản, nhưng không thay đổi nó. Theo hiểu biết của tôi, nó có thể "xác thực tên của người dùng", nhưng không cần biết thông tin đăng nhập. Vì vậy, có: Nó có thể đọc thư của bạn, thậm chí có thể đăng nó trên Facebook. Nhưng nó không thể theo dõi mật khẩu của bạn. Tuy nhiên, đây là một đặc quyền nhạy cảm.
Izzy

Câu trả lời này không chính xác vì bạn không thể thay đổi mật khẩu của tài khoản với loại quyền truy cập này, do đó bạn không có quyền truy cập vào "mọi thứ".
pzkpfw

@pzkpfw: Tôi đã cập nhật câu trả lời để bao gồm cả thế giới "gần như" bởi vì đối với nhiều trường hợp sử dụng độc hại, kẻ tấn công sẽ không muốn thay đổi mật khẩu mà chỉ lặng lẽ sử dụng sai tài khoản.
Dan Dascalescu

-1

Ứng dụng sẽ không truy cập bất kỳ tài khoản dịch vụ. Một số ứng dụng cần sự cho phép này vì chúng cần mở một tài khoản mới từ ứng dụng của chúng.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.