Signal API untuk kunci sandi di desktop Chrome

Dipublikasikan: 13 Nov 2024

Mulai Chrome 132, desktop Chrome (macOS, Windows, Linux, dan ChromeOS) mendukung Signal API yang dapat menjaga kunci sandi di penyedia kunci sandi agar konsisten dengan kredensial kunci publik di server pihak tepercaya.

Saat kunci sandi (kredensial yang dapat ditemukan) dibuat, metadata seperti nama pengguna dan nama tampilan disimpan ke penyedia kunci sandi (seperti pengelola sandi) bersama dengan kunci pribadi, dan kredensial kunci publik disimpan ke server pihak tepercaya (RP). Menyimpan nama pengguna dan nama tampilan membantu pengguna mengidentifikasi kunci sandi yang akan digunakan untuk login, karena pengguna diminta untuk memilih kunci sandi saat login. Hal ini sangat berguna jika pengguna memiliki lebih dari dua kunci sandi dari penyedia kunci sandi yang berbeda.

Namun, ada beberapa kasus saat perbedaan antara daftar kunci sandi di penyedia kunci sandi dan daftar kredensial di server dapat menyebabkan kebingungan.

Kasus pertama adalah saat pengguna menghapus kredensial di server sehingga kunci sandi di penyedia kunci sandi tidak tersentuh. Saat berikutnya pengguna mencoba login dengan kunci sandi, kunci sandi akan tetap ditampilkan kepada pengguna oleh penyedia kunci sandi. Namun, upaya login akan gagal karena server tidak akan dapat memverifikasi dengan kunci publik yang dihapus.

Kasus kedua adalah saat pengguna memperbarui nama pengguna atau nama tampilan di server. Saat pengguna mencoba login lagi, kunci sandi di penyedia kunci sandi akan terus menampilkan nama pengguna dan nama tampilan lama meskipun telah diperbarui di server. Idealnya, keduanya harus sinkron.

Signal API

WebAuthn Signal API memungkinkan RP memberikan sinyal kredensial yang ada ke penyedia kunci sandi yang terhubung. Hal ini memungkinkan penyedia kunci sandi pendukung untuk memperbarui atau menghapus kunci sandi yang salah atau dicabut dari penyimpanannya sehingga konsisten dengan server.

Misalnya, saat pengguna gagal login ke RP karena kredensial terkait di server RP tidak ada lagi, RP dapat menggunakan Signal API untuk memberi sinyal bahwa kredensial yang dihapus tidak lagi valid untuk penyedia kunci sandi, sehingga penyedia kunci sandi dapat menghapus kunci sandi terkait.

Contoh lainnya adalah saat pengguna membuka halaman setelan RP dan menghapus kredensial yang ada, RP dapat menggunakan Signal API untuk memberikan sinyal daftar kredensial yang tersedia kepada penyedia kunci sandi, sehingga penyedia kunci sandi dapat terus menyinkronkan kunci sandi terkait.

Dialog yang ditampilkan saat kunci sandi dihapus dari Pengelola Sandi Google di Chrome.
Dialog yang ditampilkan saat kunci sandi dihapus dari Pengelola Sandi Google di Chrome.

Hal ini juga dapat menandakan nama pengguna dan nama tampilan yang diperbarui, sehingga metadata kunci sandi yang disimpan untuk pengguna yang sama dapat diperbarui.

Misalnya, saat pengguna memperbarui nama pengguna atau nama tampilannya di RP, RP dapat menggunakan Signal API untuk memberikan sinyal informasi pengguna yang diperbarui kepada penyedia kunci sandi, sehingga penyedia kunci sandi dapat menyinkronkan informasi pengguna kunci sandi terkait.

Dialog yang ditampilkan saat metadata kunci sandi diperbarui di Pengelola Sandi Google di Chrome.
Dialog yang ditampilkan saat metadata kunci sandi diperbarui di Pengelola Sandi Google di Chrome.

Pengelola Sandi Google di desktop Chrome menerapkan AP Sinyal. Untuk penyedia kunci sandi berbasis ekstensi Chrome, penyedia tersebut dapat memilih untuk mencerminkan sinyal atau tidak.

Kami berencana mendukung Signal API di Chrome Android pada masa mendatang.

Untuk mempelajari cara mengintegrasikan WebAuthn Signal API, baca Membuat daftar kunci sandi tetap sinkron dengan server menggunakan Signal API.