Alat pembangun · UUID penjana
Menjana UUID Tanpa Pelayan: Mengapa Panel Rangkaian Kekal Kosong
· Mengapa ia penting
uuid kriptografi pelayar-apis
Penjana UUID dalam talian yang memanggil pelayannya menghantar metadata kepada anda yang tidak perlu anda kongsikan. Siaran ini menerangkan sebab generasi tempatan lengkap dengan sendirinya dan cara mengesahkan bahawa alat itu benar-benar tempatan.
Mengapa penjana ID memerlukan pelayan — dan mengapa, untuk UUID rawak, ia tidak
Mengapakah penjana UUID memerlukan pelayan sedangkan generasi UUID adalah setempat sepenuhnya? A UUID bebas secara matematik daripada mana-mana keadaan di luar penjana. Versi 4 UUID ialah 122 bits data rawak kriptografi dengan 4 bits untuk versi dan 2 bits untuk varian. Pelanggan mempunyai akses kepada Web Crypto sumber rawak selamat secara kriptografi dalam pelayar, perpustakaan crypto tempatan dalam pelayan, jadi ia boleh menjana keseluruhan UUID secara tempatan tanpa merujuk sebarang perkhidmatan luaran. Namun banyak penjana UUID dalam talian membuat permintaan HTTP, menghantar data yang tidak perlu meninggalkan pelanggan. Ini tidak perlu dan berpotensi membahayakan privasi.
Perkara yang boleh disimpan oleh penjana yang dihoskan — meminta log, alamat dan cap masa, diterangkan sebagai kemungkinan dan bukannya tuduhan
Penjana yang menghantar permintaan anda kepada pelayan boleh mengekalkan log permintaan, cap masa dan alamat IP yang dikaitkan dengan corak penjanaan UUID anda. Walaupun ia tidak menyimpan UUID itu sendiri, ia tahu bila anda menjana ID dan dari mana. Untuk pembangun yang mengusahakan projek sulit, penjanaan ID mungkin membocorkan maklumat tentang masa dan aktiviti pembangunan. Untuk tujuan ujian, UUID yang diformatkan dengan betul tetapi masih pergi ke pelayan boleh dikatakan terjejas: pelayan kini mengetahui operasi atau sistem yang anda uji. Metadata ini berharga kepada pengagregat dan boleh digunakan untuk analitis atau pemprofilan.
Sebab pengecam itu sendiri sensitif — UUID yang menjadi kunci rekod ialah sekeping kecil struktur sistem anda
Tanggapan terhadap penglibatan pelayan yang tidak perlu ialah penjanaan tempatan lebih mudah, lebih pantas dan lebih peribadi daripada penjanaan berasaskan pelayan. Pelayar anda sudah mempunyai Web Crypto terbina dalam atau pelayan anda mempunyai akses kepada sumber entropi OS. Hasilnya boleh disalin, dimuat turun atau digunakan serta-merta tanpa menunggu perjalanan pergi balik rangkaian. UUID tidak pernah merentasi rangkaian. Penjana tidak pernah mengetahui bahawa anda menjalankannya. Generasi tempatan ialah lalai yang jelas untuk UUID; penglibatan pelayan adalah perantara yang tidak perlu yang mewujudkan risiko tanpa memberikan nilai. Pelanggan mempunyai segala yang diperlukan untuk menjana RFC 9562 UUID yang sah.
Mengesahkan alat adalah setempat — membuka panel rangkaian pelayar, menjana dan melihat permintaan
Penjana yang dihoskan yang memanggil pelayannya boleh mengekalkan log atas pelbagai sebab yang dinyatakan: analitik untuk memahami corak penggunaan, pencegahan penyalahgunaan untuk mengesan serangan, penyahpepijatan untuk menyelesaikan masalah atau atas sebab yang tidak dinyatakan kepada pengguna: jualan data kepada agregator pemasaran, pemprofilan tingkah laku untuk membina dosi pengguna, penyepaduan dengan perkhidmatan lain atau penjejakan merentas perkhidmatan. Permintaan itu sendiri membawa metadata: alamat IP anda mendedahkan lokasi dan asal, pengepala Ejen Pengguna mengenal pasti versi pelayar anda dan kadangkala OS, cap masa ditunjukkan apabila anda mengakses alat dan kuki atau pengecam penjejakan mungkin mengaitkan lawatan. Jika anda menjana UUID, permintaan itu direkodkan. Jika anda kemudian menggunakan UUID itu dalam sistem anda, mengaitkan log dengan sistem anda mungkin membocorkan maklumat tentang perkara yang anda sedang bina.
Perkara yang ditambahkan oleh Dasar Keselamatan Kandungan yang ketat — tiada skrip, fon atau teg pihak ketiga bermakna tiada saluran tersembunyi kepada pihak ketiga
Penjana ToolAcre menggunakan Dasar Keselamatan Kandungan yang ketat yang menghalang permintaan luaran, skrip pihak ketiga dan fon jauh. Anda boleh mengesahkan ini dalam pengepala respons pelayar atau dengan membaca teg meta CSP halaman. Tiada analitis pihak ketiga, teg iklan, piksel penjejakan atau beban sumber luaran. Kod penjanaan UUID dimuatkan dari asal yang sama seperti halaman, jadi ia berada di bawah skop audit yang sama seperti alat yang lain. Pelaksanaan sahaja menggunakan API Kripto Web dan tidak membuat sebarang panggilan rangkaian. Dasar ini boleh disahkan dan bukan sahaja dituntut.
Contoh yang berkesan — pemeriksaan langkah demi langkah penjana ToolAcre dalam DevTools dan perkara yang dilakukan dan tidak dibuktikan oleh panel kosong
Pengesahan adalah mudah dan mengambil masa kurang dari satu minit. Buka Alat Pembangun pelayar, tukar ke panel Rangkaian, kosongkan sebarang permintaan sedia ada, jana UUID dan tonton panel. Tiada permintaan baharu sepatutnya muncul kecuali aset yang berpotensi statik jika halaman belum dimuatkan sepenuhnya pada mulanya. UUID yang dihasilkan muncul dalam kawasan output pada halaman, bukan dalam respons rangkaian. Jika anda melihat permintaan kepada domain luaran, rangkaian iklan atau perkhidmatan analitis, penjana bukan setempat. Jika anda tidak melihat sebarang permintaan sama sekali, penjanaan berlaku dalam JavaScript dilaksanakan secara setempat dalam pelayar anda.
Perkara ini tidak meliputi — telemetri aplikasi anda sendiri, yang berada di luar kawalan mana-mana alat
Contoh yang berfungsi menunjukkan proses pengesahan dalam pelayar moden. Tekan F12 atau klik kanan dan pilih "Inspect" untuk membuka DevTools. Klik tab Rangkaian. Muat semula halaman penjana ToolAcre dan tunggu sehingga ia selesai dimuatkan; anda akan melihat permintaan untuk halaman HTML itu sendiri, CSS helaian gaya, kod JavaScript dan sebarang imej terbenam. Selepas halaman itu stabil, cari butang "Kosongkan" dalam panel Rangkaian dan klik padanya untuk mengosongkan senarai permintaan. Sekarang hasilkan UUID dengan mengklik butang atau menekan Enter. Jika pelaksanaan adalah setempat, tiada permintaan baharu muncul dalam panel. Jika bahagian pelayan, anda akan melihat permintaan ke titik akhir seperti /api/generate-uuid atau https://uuid.example.com/v1/random.
Bawa pulang: setempat boleh disahkan — penjana ToolAcre berjalan sepenuhnya dalam pelayar, tidak menyimpan apa-apa antara lawatan dan boleh disemak dalam panel rangkaian
Alat ToolAcre dibina untuk lulus ujian ini dengan reka bentuk seni bina. Web Crypto API menyediakan crypto.randomUUID untuk betul-betul kes penggunaan ini, dan jika itu tidak tersedia pada pelayar yang lebih lama atau konteks yang tidak selamat, crypto.getRandomValues membekalkan bait rawak mentah yang boleh diformatkan oleh alat menjadi UUID. Pelaksanaannya cukup singkat untuk diaudit: penjana memanggil salah satu kaedah Web Crypto ini, memformatkan hasilnya sebagai rentetan UUID dan memaparkannya. Tiada pelayan terlibat dalam mana-mana langkah. Seni bina ini juga bermakna alat berfungsi di luar talian; selepas halaman dimuatkan, anda boleh memutuskan sambungan rangkaian anda dan terus menjana UUID. Kripto tempatan pelayar masih berfungsi dengan sempurna tanpa akses rangkaian.