QRSA OTP Authentication

1 rb+
Hasil download
Rating konten
Semua Umur
Gambar screenshot
Gambar screenshot

Tentang aplikasi ini

Ini adalah sebuah aplikasi untuk otentikasi pengguna melalui ponsel mereka, dengan mendekripsi password satu kali dienkripsi oleh server menggunakan kunci publik. Aplikasi ini dapat digunakan untuk layanan web yang mengimplementasikan metode otentikasi.
(Lihat github tracker untuk informasi lebih lanjut tentang bagaimana menerapkan otentikasi ini di server-side)
Aplikasi ini dapat digunakan dengan jumlah tak terbatas pihak mengandalkan, sebagai kunci publik yang sama digunakan dengan semua pihak. Setelah aplikasi didaftarkan, aplikasi menghasilkan keypair khusus perangkat yang hadir untuk seluruh pakai aplikasi (sampai dihapus nya). Memperbarui aplikasi tidak akan menghapus kunci namun.

Github Tracker: https://github.com/sebastiannielsen/QRSA

Prasyarat untuk menjalankan aplikasi:
1. Telepon harus mendukung penyimpanan berbasis hardware. Ini adalah penyimpanan yang menggunakan "Security Chip" di dalam telepon, sehingga mustahil untuk menyalin kunci dari telepon.
2. Toko harus diinisialisasi. Kadang-kadang mungkin untuk menginisialisasi toko dengan mendirikan layar kunci PIN, dan kemudian hanya menghasilkan kunci. Menghapus layar kunci biasanya akan menjaga kunci, kecuali sifat kunci adalah setup membutuhkan layar kunci.
3. Dalam beberapa kasus, layar kunci aman HARUS digunakan. Ini tergantung pada model telepon.
4. Chip aman di dalam ponsel, harus mendukung operasi berdasarkan 2048 bit RSA / ECB / PKCS1.5
5. Dalam beberapa kasus, telepon berakar dapat secara permanen menonaktifkan chip keamanan untuk alasan keamanan.

Untuk mendaftarkan, Anda harus meluncurkan URL qrsa: // e dari browser atau serupa. Anda juga dapat mendaftarkan diri melalui URL callback, dengan menggunakan qrsa: // u. Untuk menggunakan u, Anda harus terlebih dahulu menambahkan sebuah "s" jika Anda ingin menggunakan HTTPS, atau apa pun untuk HTTP. Maka seluruh URL untuk dipanggil, TANPA skema, dalam format URLSafe Base64. Kunci publik akan ditambahkan ke akhir URL. Jika perangkat tidak kompatibel, itu akan kembali INCOMPATIBLE_DEVICE dan tanggung jawab Anda untuk mengembalikan pesan kesalahan berarti bagi pengguna.

Untuk mengotentikasi, Anda meluncurkan qrsa url: // s atau qrsa: // c diikuti oleh URLSafe Base64 encoded data dari RSA kunci publik teks terenkripsi dalam format padding :: OTP :: PESAN :: Hash :: padding. The "s" tindakan dirancang untuk acara dipindai dan akan tampil sebagai OTP teks pada layar. The "c" tindakan dirancang untuk acara kali klik. Perbedaannya adalah bahwa peristiwa klik akan menyebabkan kode OTP untuk diletakkan di clipboard pengguna sebaliknya, sehingga pengguna dapat langsung melanjutkan ke menyisipkan kode di dalam bidang OTP.
Hash dibangun dengan menciptakan md5 keluar dari OTP + PESAN + OTP, di mana + menunjukkan string concatenation. Hash ini melindungi terhadap beberapa bentuk kasar serangan kelenturan pada teks terenkripsi. konstruksi terjepit mencegah penyerang dari bergerak pemisah antara OTP dan PESAN.

Perhatikan bahwa screenshot dari aplikasi telah sengaja disensor untuk mencegah merek dagang dan / atau hak cipta pelanggaran (UI dari android dan aplikasi lain yang dilindungi hak cipta), sebagai interaksi dalam aplikasi ini disediakan melalui kotak dialog yang muncul di atas pemanggilan aplikasi yang menyebabkan otentikasi terjadi.

Jika ada masalah pada aplikasi, Anda dapat menemukan contoh kode dan lebih petunjuk di halaman GitHub publik, aplikasi ini adalah Open Source.
Juga, jangan ragu untuk membuat masalah di github tracker publik.
Diupdate pada
1 Agu 2016

Keamanan Data

Keamanan dimulai dengan memahami cara developer mengumpulkan dan membagikan data Anda. Praktik privasi dan keamanan data dapat bervariasi berdasarkan penggunaan, wilayah, dan usia Anda. Developer memberikan informasi ini dan dapat memperbaruinya seiring waktu.
Tidak ada data yang dibagikan kepada pihak ketiga
Pelajari lebih lanjut cara developer menyatakan pembagian data
Tidak ada data yang dikumpulkan
Pelajari lebih lanjut cara developer menyatakan pengumpulan data

Yang baru

1.4:
- Added Md5 hash verification, to further protect against malleability attacks.
1.3:
- Improved code so the app can more reliable kill itself.
1.2:
- Added OTP into @string/app_name to match Google Play app name.
1.1:
- Changed enroll function to exclude linebreaks in the public key.
- Added new "u" enroll function. Read the description or GitHub page for more information. The "u" enroll function is recommended when enrolling from a computer.