Topik wawancara representatif

Wawancara Desain Sistem: Bagaimana Anda membangun layanan inventaris kriptografi yang dapat diaudit?

Desain sistemSulit
Tim Redaksi Offer.ccDipublikasikan Diperbarui

Pertanyaan

Sebuah perusahaan sedang bersiap untuk migrasi pasca-kuantum tetapi tidak dapat mengetahui sistem mana yang menggunakan RSA, kurva eliptik, atau kunci bersama (shared keys). Rancang layanan inventaris kriptografi yang mencakup pengumpulan, deduplikasi, penilaian risiko, kontrol akses, deteksi perubahan, dan serah terima (handoff) migrasi.

Pokok Permasalahan dan Cakupan

Sebuah perusahaan sedang bersiap untuk migrasi pasca-kuantum tetapi tidak dapat mengetahui sistem mana yang menggunakan RSA, kurva eliptik, atau kunci bersama (shared keys). Rancang layanan inventaris kriptografi yang mencakup pengumpulan, deduplikasi, penilaian risiko, kontrol akses, deteksi perubahan, dan serah terima (handoff) migrasi.

Ini adalah pertanyaan desain tata kelola aset, bukan permintaan untuk memprediksi kapan komputer kuantum akan tiba. RFC 9958 menghubungkan inventaris, pembentukan kunci versus penggunaan tanda tangan, kelincahan kriptografi (cryptographic agility), dan bukti migrasi; NIST telah memfinalisasi standar ML-KEM, ML-DSA, dan SLH-DSA.

Hal yang Dievaluasi oleh Pewawancara

  • Membedakan algoritma, kunci, sertifikat, rangkaian protokol (protocol suites), dan masa pakai data.
  • Menghubungkan pemindaian kode, telemetri runtime, data sertifikat, dan API HSM menjadi fakta yang dapat dilacak.
  • Menangani temuan duplikat, catatan usang, algoritma yang tidak dikenal, dan vendor yang tidak transparan.
  • Merancang isolasi penyewa (tenant), hak istimewa paling rendah (least privilege), bukti berversi, dan kueri audit.
  • Menghubungkan skor risiko dengan batch migrasi, garis henti (stop lines), dan rollback, bukan hanya membuat dasbor.

Pertanyaan Klarifikasi

  • Lingkungan mana yang masuk dalam cakupan: kode sumber, kontainer, klien seluler, firmware, KMS cloud, HSM, dan vendor SaaS?
  • Apakah identitasnya berupa kunci, sertifikat, call site, layanan, atau alur data? Apakah penggunaan ulang kunci lintas-sistem diizinkan?
  • Berapa lama riwayat harus disimpan, dan siapa yang boleh melihat nama algoritma atau label bisnis yang sensitif?
  • Apakah penilaian skor ditujukan untuk bukti kepatuhan, perencanaan rekayasa, atau pemblokiran penerapan (deployment) otomatis?
  • Ketika pengumpulan gagal, bolehkah sistem memperkirakan, atau harus menandainya sebagai tidak dikenal dan mencegah klaim selesai?

Desain Ujung-ke-Ujung (End-to-End)

Kolektor menulis hasil pemindaian statis, penguraian sertifikat, peristiwa audit KMS/HSM, konfigurasi layanan, dan ringkasan jabat tangan (handshake) runtime ke dalam aliran peristiwa (event stream) yang tidak dapat diubah (immutable). Lapisan normalisasi memetakan algoritma, tujuan, pengidentifikasi kunci, pemanggil, masa pakai kerahasiaan, sumber, waktu, dan tingkat keyakinan ke dalam skema berversi. Resolusi entitas menggunakan tenant_id + asset_namespace + provider_id + local_id sebagai kunci kandidat dan melakukan deduplikasi dengan sidik jari sertifikat, ARN kunci, ID penerapan, dan jendela waktu. Catatan yang tidak dapat dibuktikan identik tetap ditautkan alih-alih digabungkan.

API kueri mengembalikan metadata dan tautan bukti, tidak pernah berupa kunci privat atau teks tersandi (ciphertext) lengkap. Lapisan kebijakan menilai aset berdasarkan masa pakai data, status algoritma, paparan, proporsi klien yang tidak dapat diperbarui, dan kebaruan bukti. Skor menyimpan snapshot input, versi aturan, dan alasan penggantian (override). Orkestrator migrasi menggunakan aset berisiko tinggi untuk membuat batch, pemilik, matriks kompatibilitas, dan metrik penerimaan; orkestrator tidak boleh mengganti kunci produksi secara langsung.

Konsistensi dan Deteksi Perubahan

Karena aliran bersifat setidaknya-sekali (at-least-once), setiap temuan membawa source_event_id dan versi kolektor; konsumen menggunakan penulisan idempoten. Status aset dilipat (folded) dari peristiwa, dan penghapusan adalah peristiwa pencabutan berbatas waktu sehingga pemindaian yang terlewat tidak terlihat seperti kehilangan data. Pemindaian terjadwal dan detak jantung (heartbeat) runtime memperbarui last_seen; catatan di luar jendela kebaruan menjadi tidak dikenal.

Hitung ringkasan konten (content digest) terpisah untuk kode, sertifikat, dan konfigurasi. Perubahan digest akan membuat versi baru alih-alih menimpa riwayat. Peningkatan aturan menghitung ulang skor sambil mempertahankan skor lama, memungkinkan audit mengenai alasan suatu aset disetujui pada saat itu. Konflik menampilkan bidang, prioritas sumber, dan tugas konfirmasi; sistem tidak boleh memilih sumber secara diam-diam.

Akses, Privasi, dan Keandalan

Terapkan otorisasi tingkat baris berdasarkan penyewa, domain, dan label aset. Tim keamanan dapat melihat algoritma dan paparan; tim aplikasi hanya melihat tugas migrasi mereka. Materi kunci, token, dan lalu lintas mentah tidak pernah masuk ke dalam inventaris; pengumpulan runtime hanya menyimpan metadata jabat tangan dan pengidentifikasi yang telah disunting (redacted). Setiap pembacaan dan pengeditan manual diaudit.

Kolektor offline melakukan buffering lokal dan memutar ulang (replay). Kuota dan tekanan balik (backpressure) melindungi aliran peristiwa. Kueri menampilkan waktu kondisi saat itu (as-of time) dan kebaruan bukti sehingga inventaris yang usang tidak disajikan sebagai kebenaran waktu nyata. Penerapan multi-wilayah menggunakan penulisan terpartisi dan indeks baca global; kegagalan replikasi melaporkan celah cakupan alih-alih mengklaim status penuh.

Pertukaran (Trade-offs) dan Batasan

Pemindaian statis mencakup secara luas tetapi dapat melewatkan negosiasi dinamis; telemetri runtime lebih dekat dengan penggunaan sebenarnya tetapi dibatasi oleh lalu lintas dan privasi. Simpan keduanya dengan tingkat keyakinan yang berbeda. Graf pusat menyederhanakan kueri dependensi tetapi meningkatkan radius dampak (blast radius); partisi domain menyederhanakan otorisasi, dengan tautan baca-saja lintas-domain.

Memblokir algoritma baru secara otomatis mengurangi utang baru tetapi dapat merusak integrasi vendor yang tidak dikenal. Mulailah dengan gerbang persetujuan untuk aturan berisiko tinggi, lalu putuskan penegakan menggunakan tingkat positif palsu, proporsi aset tidak dikenal, dan keberhasilan rollback. Inventaris memiliki fakta dan prioritas; pembaruan pustaka, penerbitan sertifikat, dan migrasi bisnis tetap menjadi jalur pipa (pipeline) yang terpisah.

Latihan Kegagalan dan Rubrik Penilaian

Jika HSM tidak mengekspos tujuan kunci, catat "tujuan tidak dikenal" dan buat tugas bukti; jangan pernah menyimpulkannya dari nama layanan. Jika sertifikat muncul di beberapa penyewa, pertahankan hubungan pembagian tersebut dan picu tinjauan isolasi. Jika peningkatan versi kolektor menyebabkan lonjakan aset yang tiba-tiba, bandingkan peristiwa mentah dan versi aturan sebelum menerima garis dasar (baseline) baru.

Jawaban yang kuat mencakup berbagai jenis sumber, bukti yang tidak dapat diubah, semantik idempotensi dan kedaluwarsa, hak istimewa paling rendah, penilaian skor yang dapat dijelaskan, dan serah terima migrasi. Nilai tambah diberikan untuk status tidak dikenal yang eksplisit, retensi, penanganan konflik, batasan rollback, dan metrik kelengkapan inventaris. Basis data dan dasbor saja tidak cukup.

Pertanyaan Lanjutan dan Contoh Jawaban

Mengapa tidak menyimpulkan algoritma dari nama layanan?

Sebuah layanan dapat memanggil beberapa pustaka, protokol, atau vendor; namanya tidak membuktikan tujuan kunci atau perilaku yang dinegosiasikan. Simpan bukti sumber dan tandai inferensi sebagai tingkat keyakinan rendah.

Bagaimana Anda mendefinisikan kelengkapan inventaris?

Gunakan cakupan lingkungan, kebaruan sumber, proporsi aset tidak dikenal, tingkat duplikasi, latensi peristiwa, dan akurasi verifikasi manusia melalui sampel. Jumlah aset saja bukanlah bukti kelengkapan.

Bagaimana proses migrasi menggunakan inventaris tersebut?

Orkestrator mengelompokkan aset berdasarkan risiko dan kemampuan pembaruan, membaca anggaran kompatibilitas serta performa, dan menjalankan canary, observasi, serta rollback. Inventaris menyediakan fakta dan bukti; inventaris tidak mengubah pengaturan kripto di lingkungan produksi.

Sumber publik

Pertanyaan terkait

Alat wawancara terkait

Gunakan Jawab untuk jawaban desain sistem

Perjelas persyaratan terlebih dahulu, lalu lanjutkan dengan skala, arsitektur, pilihan komponen, dan trade-off.

Lihat alat