CH-J Toolsadministrasi server melalui SSH
Menu

Autentikasi sistem opsional dan penguncian Vault

Unduh file

Terjemahan ini sedang ditinjau secara kebahasaan. Jika ada bagian yang kurang jelas, bandingkan dengan teks asli bahasa Inggris.

Buat atau buka kunci Vault dengan kata sandi utamanya terlebih dahulu. Buka Settings → Security (Pengaturan → Keamanan), periksa status penyedia, lalu aktifkan buka kunci biometrik. Pendaftaran meminta autentikasi sistem yang baru. Setelah itu, layar masuk menawarkan buka kunci dengan Touch ID, Windows Hello, atau sidik jari di samping formulir kata sandi utama. Disable and remove enrollment (Nonaktifkan dan hapus pendaftaran) menghapus kunci tersimpan milik aplikasi ini, bukan sidik jari yang terdaftar di sistem operasi.

Tetap simpan kata sandi utama: pembatalan, batas waktu habis, perangkat keras/keyring yang tidak tersedia, dan pendaftaran yang tidak lagi valid semuanya memerlukan fallback ke kata sandi. Pendaftaran biometrik bersifat lokal untuk pengguna, perangkat, dan Vault ini. Pendaftaran ini bukan mekanisme pemulihan atau cadangan. Mengatur ulang Vault mencabut pendaftaran dan menghapus profil terenkripsi serta sidik jari host yang ada hanya setelah konfirmasi SMAZAT yang sudah ada.

Platform Autentikasi dan penyimpanan Persyaratan dan batasan
macOS Apple Silicon LocalAuthentication / Touch ID native; item Keychain Security.framework dengan biometryCurrentSet dan WhenUnlockedThisDeviceOnly Touch ID yang terdaftar, sensor yang tersedia, dan Keychain login yang dapat digunakan. Perubahan sidik jari membuat item tidak valid. Gunakan penandatanganan Developer ID yang stabil untuk pembaruan produksi; penandatanganan alpha ad hoc dapat mengganggu kepercayaan Keychain dan pelacakan izin jaringan lokal.
Windows x64 Interop desktop WinRT Windows Hello native yang terikat ke HWND utama; kunci terenkripsi DPAPI pengguna saat ini di Windows Credential Manager Sidik jari, wajah, atau PIN Hello yang sudah dikonfigurasi. Ini adalah buka kunci praktis: persetujuan Hello ditegakkan oleh aplikasi, sedangkan DPAPI sendiri tidak dilindungi biometrik. Kode lain yang berjalan sebagai pengguna yang sama dapat mendekripsi kredensial tersebut.
Ubuntu x64 Sidik jari terdaftar milik pengguna saat ini melalui fprintd D-Bus; penyimpanan kredensial eksplisit libsecret / Secret Service Pembaca yang didukung, sidik jari terdaftar, Secret Service desktop yang berjalan, dan keyring default. Buka kunci praktis: kredensial keyring tidak terikat secara kriptografis pada verifikasi sidik jari. Tidak ada fallback basic_text atau file teks biasa.

Di Ubuntu, paket runtime opsionalnya adalah python3-gi, gir1.2-secret-1, gnome-keyring (atau Secret Service lain yang kompatibel), dan fprintd. Instal paket yang belum ada menggunakan pengelola paket sistem operasi yang biasa, lalu daftarkan sidik jari di pengaturan sistem operasi. Autentikasi menggunakan pengguna saat ini dan tidak memerlukan root atau mengubah PAM. Sesi SSH tanpa antarmuka grafis dan tanpa keyring desktop melaporkan status tidak tersedia; sesi tersebut tidak diam-diam menyimpan kunci di tempat lain.

Aturan penguncian

Penguncian otomatis dinonaktifkan untuk instalasi yang sudah ada. Saat diaktifkan, nilai default yang dipilih adalah 15 menit; nilai yang didukung adalah Never (Tidak pernah), 1, 5, 10, 15, 30, dan 60 menit. Masukan keyboard dan mouse di jendela aplikasi dihitung sebagai aktivitas; keluaran SSH yang masuk tidak dihitung. Penguncian opsional saat fokus hilang memperlakukan jendela plugin aplikasi sebagai bagian dari aplikasi dan membiarkan permintaan autentikasi sistem yang sedang berlangsung selesai. Mengubah aturan ini memerlukan kata sandi utama.

Setiap penguncian Vault, termasuk penguncian karena tidak ada aktivitas dan karena fokus hilang, memutuskan sesi SSH aktif, menutup plugin, dan menghentikan diagnostik. Simpan suntingan jarak jauh sebelum mengunci. Hal ini mempertahankan perilaku penguncian manual yang sudah ada; tidak ada kredensial SSH yang tetap tersedia bagi plugin latar belakang setelah penguncian.

Kebijakan opsional untuk operasi sensitif meminta autentikasi sistem yang baru untuk penghapusan profil, instalasi/penghapusan plugin, peluncuran penginstal, dan pengaturan ulang Vault yang tidak terkunci. Perintah terminal jarak jauh dan suntingan file oleh plugin berada di luar kebijakan ini. Kebijakan ini tidak menggantikan otorisasi server SSH. Jika penyedia berhenti berfungsi, buka kunci dengan kata sandi utama dan ubah kebijakan menggunakan kata sandi tersebut. Pengaturan ulang tetap tersedia dari layar pemulihan yang terkunci setelah konfirmasi destruktifnya.

Desain Vault dan IPC

Vault v1 yang ada tetap menggunakan AES-256-GCM dengan scrypt; pendaftaran tidak menulis ulang file-nya atau mengubah skemanya. Hanya salinan kunci 32 byte turunan miliknya yang dikirim ke penyimpanan kredensial sistem operasi. Kata sandi utama dalam bentuk teks biasa tidak pernah disimpan. Metadata pendaftaran lokal berisi ID kredensial acak, penyedia, dan pengikatan SHA-256 ke metadata Vault yang tidak dapat diubah. Kunci yang dipulihkan harus lolos dekripsi terautentikasi sebelum sesi dibuka. Buffer proses utama dibersihkan setelah digunakan; string protokol native adalah memori proses sementara, bukan klaim penghapusan memori secara menyeluruh pada runtime terkelola.

Helper berkomunikasi melalui pipa stdin/stdout privat yang dibatasi, tidak menerima perintah shell, memiliki batas waktu autentikasi, dan mengembalikan kode kesalahan yang sudah disanitasi. Helper dikemas di luar ASAR di resources/biometrics; helper ini adalah executable native mandiri, sehingga tidak diperlukan modul native ABI Electron. Helper Linux menggunakan Python sistem dan GI. Objek native dan kunci turunan tidak pernah melewati jembatan renderer/plugin. IPC biometrik memvalidasi jendela utama yang aktif dan frame utamanya; plugin tidak dapat memanggilnya. Penguncian eksplisit membatalkan proses buka kunci biometrik dan kata sandi yang tertunda sehingga persetujuan yang terlambat tidak dapat membuka kembali Vault. Menghapus pendaftaran mencabut pengikatan lokalnya bahkan jika penyimpanan sistem operasi sedang luring; penyimpanan yang tidak dapat dijangkau mungkin menyisakan kredensial yatim yang tidak dapat digunakan.

Build dan verifikasi

npm run biometrics:build menyiapkan helper untuk platform host; proses mulai pengembangan dan persiapan rilis memanggilnya secara otomatis. macOS memerlukan Swift/Apple SDK dengan Security dan LocalAuthentication; Windows memerlukan Visual Studio C++ Build Tools, Windows SDK, dan C++/WinRT; Linux menyalin helper Python. Tidak ada dependensi npm baru yang ditambahkan. Lakukan build secara native di setiap sistem operasi target. Helper macOS disertakan dalam penandatanganan bundel rekursif; helper ini tidak memerlukan entitlement App Sandbox karena aplikasi desktop ini tidak berjalan dalam sandbox. Distribusi macOS produksi tetap memerlukan penandatanganan Developer ID dan notarisasi, terlepas dari tanda tangan rilis OpenPGP.

Jalankan npm test, npm run test:biometrics:ui, dan npm run test:diagnostics:ui. Pengujian Node biometrik dan uji asap UI terisolasi menggunakan adaptor sistem operasi tiruan untuk mencakup keberhasilan, penolakan/pembatalan, kunci yang salah, perangkat keras/pendaftaran yang tidak ada, pengaturan ulang, batas waktu dan hasil yang terlambat, keyring Linux yang tidak tersedia, kegagalan kredensial sistem operasi, respons Windows yang disetujui dengan PIN, perubahan pendaftaran macOS, kompatibilitas Vault yang ada, isolasi IPC, dan pembersihan SSH. Hal ini tidak membuktikan keberhasilan autentikasi pada perangkat keras.

Kompilasi native telah diverifikasi di macOS arm64 dan Windows x64. macOS melaporkan Touch ID tersedia; VM Windows melaporkan Hello tidak tersedia. Pendaftaran sidik jari/wajah/PIN, pengambilan kunci terlindungi yang sebenarnya, pembatalan dialog sistem operasi, dan invalidasi akibat perubahan pendaftaran masih memerlukan pengujian interaktif pada perangkat keras di setiap sistem yang didukung. Helper Linux juga harus diuji di desktop dengan pembaca fprintd yang didukung; VM tanpa antarmuka grafis tidak dapat membuktikan verifikasi tersebut.

Referensi platform: Kontrol akses biometrik Apple, Interop Hello desktop Windows, Siklus hidup perangkat fprintd, Spesifikasi Secret Service.

Akses jaringan lokal SSH di macOS

Jika setiap profil SSH lokal gagal dengan connect EHOSTUNREACH tetapi koneksi yang sama berfungsi di Terminal, periksa System Settings → Privacy & Security → Local Network → CH-J Server Manager (Pengaturan Sistem → Privasi & Keamanan → Jaringan Lokal), izinkan akses, keluar sepenuhnya dari aplikasi, lalu buka kembali. Jika sudah diaktifkan, matikan dan nyalakan kembali izinnya lalu mulai ulang. Periksa juga perutean, Wi-Fi/Ethernet, dan VPN: kesalahan ini saja bukan bukti bahwa akses ditolak oleh pengaturan privasi. Jangan mengatur ulang Vault atau membuang sidik jari SSH tepercaya karena kesalahan ini.

Aplikasi mendeklarasikan NSLocalNetworkUsageDescription dan menyediakan panduan yang dilokalkan untuk kesalahan izin/rute jaringan macOS. Aplikasi tidak dapat memberikan izin untuk dirinya sendiri. Apple merekomendasikan identitas penandatanganan yang diterbitkan Apple agar macOS dapat melacak privasi jaringan secara andal di berbagai build; build alpha ad hoc saat ini masih memiliki keterbatasan tersebut. Lihat panduan Apple tentang privasi jaringan lokal.

Ikon aplikasi Ubuntu

Paket Debian menginstal ikon CH-J yang ada dalam ukuran hicolor standar (16–512 px), dengan entri desktop dan kelas jendela Electron yang sesuai. Jendela utama juga menerima ikon tersebut saat dibuat ulang. Setelah memperbarui peluncur lama yang sudah disematkan, lepaskan sematannya lalu sematkan aplikasi yang baru diinstal; keluar lalu masuk kembali ke desktop dapat menyegarkan cache peluncur GNOME yang usang.