Apa yang bisa dilakukan aplikasi dengan izin "GUNAKAN AKUN PADA PERANGKAT"?

28

Bisakah aplikasi seperti itu membaca secara bebas email / kalender / pesan / dokumen / dll?

Izin "GUNAKAN AKUN DI PERANGKAT" juga dikenal oleh pengembang sebagai android.permission.USE_CREDENTIALS .

Contoh aplikasi tersebut: WhatsApp , MightyText .

AlikElzin-kilaka
sumber
1
Saya menemukan contoh API Android tentang apa yang dapat dilakukan dengan menggunakan izin ini: goo.gl/gjkJB . Dari pemahaman saya sebagai pengembang, ini berarti akses ke SEGALA SESUATU . Setelah pengguna memiliki token akun, ia dapat mengakses penawaran layanan apa pun dari akun: aliran Facebook, email Google - SEMUANYA .
AlikElzin-kilaka
2
Maksud saya dari perspektif pengguna. Saya pikir bahwa pengguna tidak menyadari gangguan di balik izin itu.
AlikElzin-kilaka
1
@ t0mm13b - Memberikan izin khusus (OAuth) untuk membaca pesan, misalnya, jauh lebih tidak mengganggu daripada memberikan akses penuh ke akun.
AlikElzin-kilaka
8
Saya pikir ini adalah pertanyaan yang masuk akal untuk situs ini. Saya tentu ingin tahu persis apa masing-masing izin yang tersedia benar - benar memberikan akses.
ale

Jawaban:

35

Android memiliki sistem terpusat untuk mengelola kredensial untuk layanan online (seperti akun Google Anda). Satu komponen disebut AccountManager. Beberapa aplikasi dapat " bertindak sebagai pengautentikasi akun ". Ini berarti bahwa mereka memahami cara masuk ke layanan online tertentu, dan dapat masuk ke layanan itu untuk AccountManager. Aplikasi lain ingin menggunakan informasi masuk itu untuk mengidentifikasi Anda atau melakukan tindakan atas nama Anda, tanpa harus memasukkan kata sandi Anda setiap saat.

Contoh: masuk ke Google

Ponsel Anda memiliki aplikasi bawaan yang "bertindak sebagai pengautentator akun" untuk akun Google Anda. Ia tahu cara masuk ke Google, dan memiliki email dan kata sandi yang Anda masukkan saat mengatur telepon. Ada juga aplikasi YouTube, yang ingin masuk untuk menampilkan video favorit Anda, dan membiarkan Anda berkomentar, tetapi tanpa harus memasukkan email dan kata sandi lagi.

Aplikasi YouTube ini berbicara kepada AccountManagerdan menanyakan apakah ia memiliki kredensial untuk akun Google. Mengajukan pertanyaan ini memerlukan izin "temukan akun di perangkat". The AccountManagermemiliki daftar otentikator diinstal pada ponsel, yang berkonsultasi untuk menjawab pertanyaan ini. Jika memang memiliki kredensial, aplikasi kemudian akan menanyakan apa yang dikenal sebagai authtoken untuk akun Google. Permintaan ini membutuhkan izin " gunakan akun di perangkat ".

The AccountManagerkemudian meminta Anda jika Anda ingin aplikasi yang meminta (YouTube) untuk dapat menggunakan akun yang diminta (akun Google). Ini mungkin dalam dialog yang muncul di atas aplikasi, atau dalam pemberitahuan. Atau, aplikasi dapat memilih untuk tidak melakukan apa pun jika Anda belum menjawab ya untuk pertanyaan ini: mungkin ingin bertanya nanti pada waktu yang lebih nyaman. Langkah ini memastikan bahwa aplikasi dengan izin "gunakan akun di perangkat" tidak dapat langsung menggunakan setiap akun tanpa diminta.

Jika Anda menjawab ya, AccountManagerkirimkan permintaan ke autentikator (aplikasi Google bawaan). Apa yang terjadi selanjutnya tergantung pada autentikator dan layanan tertentu yang Anda masuki. Anda mungkin harus masuk jika sebelumnya Anda belum melakukannya, dan masuk mungkin memerlukan nama pengguna dan kata sandi, foto, SMS, atau yang lainnya sama sekali. Apa pun yang dilakukan autentikator, itu bisa gagal, atau mengembalikan authtoken ke aplikasi yang meminta.

Pemeriksaan lebih lanjut

Autentikator dan layanan online juga dapat mengontrol tindakan apa yang dapat dilakukan oleh aplikasi yang meminta. Misalnya, ketika Anda menghubungkan aplikasi ke akun Google Anda, Google mencantumkan izin yang dibutuhkan aplikasi (seperti "unggah video" untuk YouTube). Dengan demikian, aplikasi hanya dapat melakukan tindakan yang tercantum. Namun, beberapa layanan mungkin tidak memiliki yang seperti itu; untuk layanan seperti itu, setelah Anda mengizinkan aplikasi untuk menggunakan kredensial Anda, itu dapat mengambil tindakan apa pun atas nama Anda.

Setelah aplikasi yang meminta memperoleh authtoken, ia dapat terus menggunakannya untuk melakukan tindakan atas nama Anda tanpa interaksi lebih lanjut dari Anda. Yaitu, setelah Anda menyetujui bahwa Klien Twitter Dan dapat memposting ke feed Twitter Anda, itu mungkin berjalan di latar belakang dan memposting tweet lebih lanjut tanpa Anda ketahui. Anda hanya harus memberikan akses aplikasi ke kredensial Anda jika Anda percaya tidak melakukannya.

Ringkasan

Aplikasi dengan izin " gunakan akun pada perangkat " dapat, setelah diinstal, meminta Anda untuk mengakses layanan online (seperti Google, Facebook, atau Twitter) dengan nama Anda. Anda dapat memilih untuk membiarkannya mengakses layanan atau tidak. Jika Anda membiarkannya mengakses layanan, tindakan apa yang dapat dilakukan atas nama Anda mungkin dibatasi oleh layanan (terserah layanan), dan layanan mungkin membiarkan Anda mencabut izin itu nanti (biasanya melalui daftar "aplikasi yang terhubung "di situs web layanan).

Dan Hulme
sumber
0

Saya menemukan contoh ini di Android API tentang apa yang dapat dilakukan dengan menggunakan izin itu.

Dari pemahaman saya sebagai pengembang, ini berarti akses ke hampir SEMUA yang disediakan oleh akun, kecuali mengubah kata sandi.

Setelah pengguna memiliki token akun, ia dapat mengakses layanan apa pun yang ditawarkan akun: posting di dinding Facebook Anda, baca Gmail Anda - hampir SEMUANYA .

AlikElzin-kilaka
sumber
Saya tidak 100% yakin tapi saya pikir ada layar "Pilih Akun" sebelum Aplikasi dapat mengakses dan menggunakan Token Auth. Izin saja tidak cukup mendapatkan akses ke akun pengguna.
Alur
2
Tidak cukup - tambahkan kata "hampir" sebelum itu. Seperti yang disarankan oleh nama hak istimewa: ia dapat menggunakan informasi akun, tetapi tidak mengubahnya . Sejauh pengetahuan saya, ini bisa "mengotentikasi atas nama pengguna", tetapi tanpa mengenal kredensial itu sendiri. Jadi ya: Itu bisa membaca email Anda, bahkan mungkin mempostingnya di Facebook. Tapi itu tidak bisa memata-matai kata sandi Anda. Namun, ini adalah hak istimewa yang sensitif.
Izzy
Jawaban ini salah karena Anda tidak dapat mengubah kata sandi akun dengan akses semacam ini, sehingga Anda tidak memiliki akses ke "segalanya".
pzkpfw
@ pzkpfw: Saya telah memperbarui jawaban untuk memasukkan dunia "hampir" karena untuk banyak kasus penggunaan berbahaya, penyerang tidak ingin mengubah kata sandi, tetapi dengan diam-diam menyalahgunakan akun.
Dan Dascalescu
-1

Aplikasi tidak akan mengakses akun layanan apa pun. Beberapa aplikasi memerlukan izin ini karena mereka perlu membuka akun baru dari aplikasi mereka.

Kasian Mwagike
sumber