Sistem yang aman mungkin harus melakukan pelacakan identitas pengguna yang meminta layanan dari sistem. Salah satu cara dalam melakukan hal tersebut yakni dengan cara Autentikasi dan Identifikasi (Identification and Authentication).
Baca Juga: Dasar Keamanan Komputer Yang Perlu Kamu Tahu
Table of Contents
User authentication (Autentikasi Pengguna)
Autentikasi merupakan proses untuk melakukan verifikasi identitas pengguna. Ada dua alasan kenapa autentikasi pengguna perlu dilakukan, yaitu:
- Identitas pengguna adalah parameter dalam keputusan kontrol akses.
- Identitas pengguna dicatat saat mencatat peristiwa keamanan yang relevan di jejak audit.
Hal ini sebenarnya tidak perlu selalu dilakukan atau dibutuhkan untuk menentukan kontrol akses pada identitas pengguna. Ada hal yang jauh lebih penting kenapa menggunakan identitas yakni untuk log audit.
Identification & authentication (Autentikasi dan Identifikasi)
Saat masuk ke komputer atau laptop, kita memasukkan nama pengguna dan kata sandi. Saat memasukkan nama pengguna, itu merupakan proses identifikasi. Pada tahap tersebut kita memberitahukan siapa yang masuk ke dalam komputer atau laptop tersebut. Saat memasukkan kata sandi, itu merupakan proses autentikasi. pada tahap tersebut kita membuktikan bahwa kita adalah pengguna yang kita klaim.
Entity authentication (Autentikasi entitas)
Untuk membedakan jenis ‘autentikasi’ dari interpretasi lain, kita dapat merujuk secara khusus ke otentikasi entitas. Autentikasi entitas merupakan proses untuk melakukan verifikasi identitas yang diklaim.
Passwords (Kata Sandi)
Kata sandi adalah kumpulan karakter atau string yang dapat berupa gabungan huruf, angka dan simbol. Hal ini digunakan oleh user (pengguna) jaringan atau sebuah sistem operasi yang mendukung multiuser (banyak pengguna) untuk melakukan verifikasi identitas dirinya kepada sistem keamanan yang dimiliki oleh jaringan atau sistem tersebut. Kata sandi juga bisa diartikan sebagai kata rahasia yang digunakan sebagai pengenal identitas.
Masalah yang ada pada Kata Sandi
Otentikasi dengan sandi diterima secara luas dan tidak terlalu sulit untuk diterapkan. Mengelola keamanan kata sandi bisa sangat mahal. Mengecek kata sandi yang valid adalah cara umum untuk menjaga akses tidak sah ke sistem komputer. Masalah umum pada kata sandi yang perlu ditangani yaitu:
- cara mendapatkan kata sandi untuk pengguna,
- lupa kata sandi,
- menebak kata sandi,
- spoofing kata sandi,
- kompromi file kata sandi.
Bootstrapping Authentication
Kata sandi harus menjadi rahasia yang dibagikan antara pengguna dan sistem yang melakukan autentikasi pengguna. Bagaimana Anda mem-bootstrap sistem sehingga kata sandi berakhir di tempat yang benar, tetapi tidak di tempat lain? Dalam suatu perusahaan, pengguna dapat mengumpulkan sandi mereka secara pribadi. Jika tidak, kata sandi dapat dikirim melalui surat, email, atau telepon, atau dimasukkan oleh pengguna di halaman web. Anda sekarang harus mempertimbangkan siapa yang mungkin mencegat pesan dan siapa yang mungkin benar-benar mengambilnya.
Misalnya, surat yang berisi sandi untuk rekening bank online mungkin dicuri atau peniru mungkin menelepon untuk meminta sandi pengguna lain.
Mengautentikasi Pengguna Jarak Jauh (Remote User)
Jangan berikan kata sandi kepada penelepon tetapi panggil kembali nomor telepon resmi dari file Anda, misalnya dari buku alamat internal perusahaan. Panggil kembali orang lain, misalnya manajer penelepon atau petugas keamanan lokal. Kirim kata sandi yang hanya valid untuk satu permintaan login sehingga pengguna harus segera mengganti kata sandi yang tidak diketahui oleh pengirim. Kirim surat melalui kurir dengan pengiriman pribadi. Minta konfirmasi di saluran lain untuk mengaktifkan akun pengguna, misalnya masukkan sandi pada halaman web dan kirim konfirmasi melalui SMS (telepon).
Mengatur Ulang Kata Sandi (Resetting Passwords)
Saat membuat akun pengguna baru, penundaan dalam mendapatkan kata sandi dapat ditoleransi. Jika Anda lupa kata sandi tetapi sedang mengerjakan tugas penting, maka Anda memerlukan bantuan instan. Prosedur untuk mengatur ulang kata sandi sama seperti yang disebutkan sebelumnya, tetapi sekarang reaksi cepat diinginkan. Dalam organisasi global, hot desk harus tersedia sepanjang waktu. Dukungan kata sandi dapat menjadi faktor biaya utama. Pelatihan keamanan yang tepat harus diberikan kepada personel di hot desk tersebut.
Mekanisme keamanan mungkin gagal memberikan akses ke pengguna yang sah. Solusi keamanan Anda harus mampu menangani situasi seperti itu secara efisien.
Menebak Kata Sandi (Guessing Passwords)
- Exhaustive search (brute force) yakni dengan mencoba semua kemungkinan kombinasi simbol yang valid hingga panjang tertentu.
- Intelligent search, yakni dengan mencari melalui ruang nama terbatas, misalnya kata sandi yang entah bagaimana dikaitkan dengan pengguna seperti nama, nama teman dan kerabat, merek mobil, nomor registrasi mobil, nomor telepon,…, atau coba kata sandi yang umumnya populer.
- Contoh umum untuk pendekatan kedua: serangan kamus mencoba semua kata sandi dari kamus online.
- Anda tidak dapat mencegah penyerang secara tidak sengaja menebak kata sandi yang valid, tetapi Anda dapat mencoba mengurangi kemungkinan penyusupan kata sandi.
Pertahanan (Defences)
- Atur kata sandi: jika administrator sistem atau pengguna lupa untuk mengatur kata sandi untuk akun pengguna, penyerang bahkan tidak perlu menebak kata sandinya.
- Ubah kata sandi default: sering kali kata sandi untuk akun sistem disetel secara default ke nilai seperti “manajer”. Hal ini tentunya membantu insinyur lapangan untuk menginstal sistem, akan tetapi jika kata sandi tidak diubah, penyerang dapat dengan mudah masuk ke sistem.
- Panjang kata sandi: untuk memperlambat exhaustive search, tetapkan panjang kata sandi minimal.
- Format kata sandi: campur simbol huruf besar dan kecil dan sertakan simbol numerik dan nonalfabet lainnya dalam kata sandi Anda.
- Hindari kata sandi yang jelas:
- Catatan: Saat ini kamus online untuk hampir semua bahasa ada.
- Pemeriksa kata sandi: periksa kata sandi terhadap beberapa kamus kata sandi “lemah”. Ini meniru dan mendahului serangan kamus terhadap sistem.
- Pembuat kata sandi: Menghasilkan kata sandi acak tetapi dapat diucapkan. Pengguna tidak diperbolehkan untuk memilih kata sandi mereka sendiri tetapi harus menggunakan kata sandi yang diusulkan oleh sistem.
- Umur kata sandi: tetapkan tanggal kedaluwarsa kata sandi untuk memaksa pengguna mengubah kata sandi secara teratur.
- Mencegah pengguna kembali ke kata sandi lama, misalnya simpan daftar sepuluh kata sandi terakhir yang digunakan.
- Batasi upaya login: sistem dapat memantau upaya login yang tidak berhasil dan bereaksi dengan mengunci akun pengguna (sepenuhnya atau untuk interval waktu tertentu) untuk mencegah atau mencegah upaya lebih lanjut.
- Informasikan pengguna: setelah login berhasil, tampilkan waktu login terakhir dan jumlah upaya login yang gagal sejak saat itu, untuk memperingatkan pengguna tentang serangan yang baru-baru ini dilakukan.
Keamanan Kata Sandi (Password Security)
Apakah kita mencapai keamanan tertinggi jika pengguna harus menggunakan kata sandi yang panjang? atau mencampurkan karakter huruf besar dan kecil serta simbol numerik? apakah yang dibuat oleh sistem untuk user? atau yang diubah berulang kali? Pengguna tidak mungkin mengingat kata sandi yang panjang dan rumit. Kata sandi tersebut akan ditulis di selembar kertas yang disimpan di dekat komputer, yang mana merupakan tempat yang paling berguna baik untuk pengguna yang sah maupun calon penyusup.
Pakar keamanan secara rutin mencari kata sandi pada catatan yang dipasang di terminal komputer.
Pengguna mungkin merasa kesulitan untuk menangani perubahan kata sandi yang sering dan mungkin menemukan cara untuk menggunakan kembali kata sandi favorit mereka. Orang-orang paling baik dalam mengingat kata sandi yang mereka gunakan secara teratur. Oleh karenaitu, kata sandi berfungsi dengan baik dalam situasi di mana kata sandi cukup sering dimasukkan, tetapi tidak demikian halnya dengan sistem yang hanya digunakan sesekali. Saat mengubah kata sandi Anda, ada baiknya untuk segera mengetiknya beberapa kali.
Jangan melihat mekanisme keamanan dalam pengasingan. Menempatkan terlalu banyak penekanan pada satu mekanisme keamanan sebenarnya dapat melemahkan sistem. Pengguna akan menemukan cara untuk menghindari keamanan agar dapat melakukan pekerjaannya dengan baik. Dengan kata sandi, ada pertukaran antara kerumitan kata sandi dan kemampuan memori manusia.
Spoofing Attacks
Identifikasi dan otentikasi melalui nama pengguna dan kata sandi memberikan otentikasi sepihak. Komputer memverifikasi identitas pengguna tetapi pengguna tidak memiliki jaminan tentang identitas pihak yang telah menerima kata sandi. Ini bisa dimanfaatkan dengan serangan spoofing.
- Penyerang memulai program yang menampilkan layar login palsu dan meninggalkan komputer.
- Pengguna berikutnya yang datang ke mesin ini dimintai nama pengguna dan kata sandi. Ini kemudian disimpan oleh penyerang.
- Login kemudian biasanya dibatalkan dengan pesan kesalahan (palsu) dan program spoofing dihentikan.
- Kontrol dikembalikan ke sistem operasi yang sekarang meminta pengguna dengan permintaan login asli.
Penanggulangan
Menampilkan jumlah login yang gagal dapat menunjukkan kepada pengguna bahwa serangan seperti itu telah terjadi. Trusted path, yakni menjamin bahwa pengguna berkomunikasi dengan sistem operasi dan bukan dengan program spoofing. Misalnya, Windows memiliki tombol perhatian aman CTRL + ALT + DEL yang memanggil layar masuk sistem operasi. Mutual authentication, yakni ketika pengguna memerlukan jaminan tentang identitas sistem tempat mereka berkomunikasi, sistem harus mengotentikasi dirinya sendiri kepada pengguna.
Melindungi File Kata Sandi
Sistem operasi memelihara file dengan nama pengguna dan kata sandi. Penyerang dapat mencoba meretas kerahasiaan atau integritas file kata sandi ini. Opsi untuk melindungi file kata sandi:
- perlindungan kriptografi,
- kontrol akses diberlakukan oleh sistem operasi,
- kombinasi perlindungan kriptografi dan kontrol akses, mungkin dengan tindakan lebih lanjut untuk memperlambat serangan kamus.
Fungsi Satu Arah (One-way Functions)
Untuk perlindungan kriptografi kita dapat menggunakan fungsi satu arah. Fungsi satu arah f adalah fungsi yang relatif mudah untuk dihitung tetapi sulit untuk dibalik.
Diberikan input x mudah untuk menghitung f(x), tetapi dengan output y sulit untuk menemukan x sehingga y = f(x).
Sebagai ganti kata sandi x, nilai f(x) disimpan di file kata sandi. Saat pengguna login dan memasukkan sandi, Contoh x’, sistem menerapkan fungsi satu arah f dan membandingkan f(x’) dengan nilai yang diharapkan f(x).
Password Salting
Salt memiliki arti harfiah garam. Dalam kriptografi, salt yang terdiri bit acak yang digunakan sebagai salah satu masukan untuk kunci fungsi turunan. Masukan lain biasanya kata sandi. Keluaran dari fungsi kunci turunannya disimpan sebagai sandi versi dienkripsi. Untuk memperlambat serangan kamus, salt dapat ditambahkan ke kata sandi sebelum dienkripsi dan disimpan dengan kata sandi yang dienkripsi.
- Jika dua pengguna memiliki kata sandi yang sama, mereka sekarang akan memiliki entri yang berbeda di file kata sandi terenkripsi.
- Contoh: Unix menggunakan salt 12 bit.
Pengaturan Kontrol Akses
Hanya pengguna yang memiliki hak istimewa harus memiliki akses tulis ke file kata sandi. Apabila tidak, penyerang bisa mendapatkan akses ke data pengguna lain hanya dengan mengubah kata sandi mereka, bahkan jika itu dilindungi dengan cara kriptografi.
Jika akses baca dibatasi untuk pengguna yang memiliki hak istimewa, maka kata sandi secara teori dapat disimpan tidak terenkripsi. Apabila file kata sandi berisi data yang dibutuhkan oleh pengguna yang tidak memiliki hak istimewa, kata sandi harus “dienkripsi”. File seperti itu masih bisa digunakan dalam serangan kamus.
Contoh umumnya adalah /etc/passwd di Unix. Oleh karena itu, banyak versi Unix menyimpan sandi yang dienkripsi dalam file sandi bayangan yang tidak dapat diakses publik.
Caching Passwords
Deskripsi login cukup abstrak, yakni Kata sandi dikirim langsung dari pengguna ke rutinitas pemeriksaan kata sandi. Pada kenyataannya, ini akan disimpan sementara di lokasi penyimpanan menengah seperti buffer, cache, atau bahkan halaman web.
Pengelolaan lokasi penyimpanan ini biasanya di luar kendali pengguna dan kata sandi dapat disimpan lebih lama dari yang ditawarkan kepada pengguna.
Anda telah melihat contoh untuk dua prinsip desain keamanan. Kombinasi mekanisme dapat meningkatkan perlindungan. Penggunaan enkripsi dan kontrol akses untuk menjaga file kata sandi. Pisahkan data terkait keamanan dari data yang harus tersedia secara terbuka.
Sistem Masuk Tunggal (Single Sign-on)
Akan sangat tidak nyaman jika Anda harus memasukkan kata sandi berulang kali saat menjelajahi dunia maya untuk mendapatkan sedikit informasi. Contohnya, apakah Anda akan bersedia jika terpaksa memasukkan kata sandi
- pertama di workstation,
- kedua untuk keluar di jaringan,
- ketiga untuk mengakses server,
- keempat untuk mengakses sistem manajemen basis data di server,
- kelima untuk membuka tabel di database?
Dengan layanan masuk tunggal, Anda hanya perlu memasukkan kata sandi Anda sekali. Single-sign yang sederhana pada layanan sistem dapat menyimpan kata sandi Anda dan melakukan pekerjaan itu untuk Anda kapan pun Anda harus mengautentikasi diri Anda sendiri. Layanan seperti itu menambah kenyamanan Anda tetapi juga menimbulkan masalah keamanan baru. Ini juga berlaku untuk solusi Sistem Masuk Tunggal yang lebih canggih.
Perancang sistem harus menyeimbangkan kenyamanan dan keamanan. Kemudahan penggunaan merupakan faktor penting dalam membuat sistem TI benar-benar berguna, tetapi banyak praktik yang nyaman juga memperkenalkan kerentanan baru.
Biometrics
Skema biometrik menggunakan karakteristik fisik yang unik (ciri, ciri) seseorang seperti wajah, sidik jari, pola iris, geometri tangan (bahkan mungkin DNS suatu saat nanti). Biometrik tampaknya menawarkan solusi paling aman untuk melaukan autentikasi pada seseorang. Kami akan menggunakan contoh Fingerprint (sidik jari) untuk membuat sketsa cara kerja otentikasi biometrik.
Fingerprint (sidik jari)
- Pendaftaran: Template referensi sidik jari pengguna diperoleh di pembaca sidik jari.
- Failure-to-enrol (FTR): tidak setiap orang memiliki sidik jari yang dapat digunakan.
- Untuk akurasi yang lebih tinggi, beberapa templat dapat direkam, kemungkinan untuk lebih dari satu jari
- Template disimpan dalam database yang aman.
- Saat pengguna masuk, pembacaan sidik jari yang baru diambil dan dibandingkan dengan template referensi.
Identifikasi dan Verifikasi
Biometrik digunakan untuk dua tujuan:
- Identifikasi: perbandingan 1: n mencoba mengidentifikasi pengguna dari database n orang.
- Verifikasi: perbandingan 1: 1 memeriksa apakah ada kecocokan untuk pengguna tertentu.
Terdapat perbedaan autentikasi dengan kata sandi dan biometrics. Otentikasi dengan kata sandi melakukan penolakan secara jelas atau menerima di setiap upaya autentikasi. Sedangkan Biometrik mencocokkan templat referensi yang disimpan dengan templat yang saat ini diukur. Dalam fingerprint berarti akan mencocokkan sidik jari yang tersimpan dalam database dengan sidik jari yang saat ini sedang dipindai.
Tingkat Kegagalan
Yang dipindai yaitu kesamaan antara template referensi dan template saat ini diukur. Pengguna diterima jika kecocokan berada di atas ambang yang telah ditentukan sebelumnya. Masalah baru yang ditemukan yakni false positives dan false negatives. Menerima pengguna yang salah (false positives) adalah masalah keamanan. Menolak pengguna yang sah (false negatives) menciptakan rasa was-was dan pengerjaan menjadi tidak efisien.
Dengan menyetel ambang batas untuk algoritma pencocokan, kita dapat menukar false acceptance rate (FAR) yang lebih rendah dengan false rejection rate (FRR) yang lebih tinggi. Menemukan keseimbangan yang tepat antara kedua kesalahan tersebut bergantung pada aplikasinya. Equal error rate (EER) diberikan oleh nilai ambang di mana FAR dan FRR sama.
Saat ini, skema pengenalan sidik jari paling mutakhir memiliki EER sekitar 12%.
Pengenalan pola iris mata memiliki performa yang superior.
Skema biometrik masih cukup baru. Harus dilihat apakah hasil dari eksperimen yang dilakukan di lingkungan terkontrol merupakan indikator yang baik untuk kinerja praktis.
TOCTTOU (Time of check to time of use)
Contoh: penyerang menggunakan mesin tanpa pengawasan tempat pengguna lain masuk. Sistem operasi memeriksa identitas pengguna di awal sesi, tetapi menggunakan identitas tersebut untuk membuat keputusan kontrol akses di kemudian hari selama sesi.
Solusi: juga meminta otentikasi pada interval dalam sesi: mengunci layar secara otomatis ketika pengguna menganggur terlalu lama.
Kesimpulan
- Anda mungkin khawatir tentang kegagalan yang secara keliru mengizinkan suatu tindakan.
- Anda juga harus sama khawatirnya tentang kegagalan yang salah menolak akses.
- Kata sandi yang terlupakan, kesalahan penolakan biometrik: sistem tidak tersedia untuk pengguna yang sah.
- Anda harus menerapkan langkah-langkah yang menangani kegagalan tersebut; ini mungkin cukup mahal.
- Lebih buruk lagi, Anda mungkin percaya bahwa teknologi itu sempurna (atau lupa tentang masalah ini) dan sistem Anda mungkin gagal dengan cara yang cukup merusak.
Baca Juga: Model Bell–LaPadula dan model UNIX dalam Keamanan Komputer
Referensi
Gollman D. Identification & Authentication (password & Biometrics) http://www.wiley.com/go/gollmann