BAB 8
SECURITY
8.2.1Otentikasi
Sebelum pergi ke
rincian berbagai protokol otentikasi, adalah berguna mencatat bahwa otentikasi
dan integritas pesan tidak bisa tanpa satu sama lain. Perhatikan, misalnya,
suatu sistem terdistribusi yang mendukung otentifikasi ¬ tion dari dua pihak
yang berkomunikasi, tetapi tidak menyediakan mekanisme untuk memastikan
integritas pesan. Dalam sistem seperti itu, Bob bisa tahu pasti bahwa Alice
adalah pengirim pesan m. Namun, jika Bob tidak dapat diberikan jaminan bahwa m
belum dimodifikasi selama transmisi, apa gunanya itu dia tahu bahwa Alice
dikirim (versi asli) ml Demikian juga, misalkan hanya integritas pesan yang
didukung, tapi tidak ada mekanisme ada untuk otentikasi. Ketika Bob menerima
pesan yang menyatakan bahwa ia baru saja memenangkan $ 1.000.000 dalam lotre,
betapa bahagianya dia bisa jika ia tidak dapat memverifikasi bahwa pesan itu
dikirim oleh penyelenggara lotere itu?
Akibatnya, otentikasi
dan integritas pesan harus pergi bersama-sama.Dalam banyak protokol, kombinasi
bekerja kira-kira sebagai berikut.Sekali lagi, menganggap bahwa Alice dan Bob
ingin berkomunikasi, dan bahwa Alice mengambil inisiatif dalam mendirikan
saluran. Alice dimulai dengan mengirimkan pesan ke Bob, atau ke pihak ketiga
terpercaya yang akan membantu mengatur saluran. Setelah saluran telah dibentuk,
Alice tahu pasti bahwa dia sedang berbicara dengan Bob, dan Bob tahu pasti dia
bicara ke Alice, mereka bisa bertukar pesan.
Untuk selanjutnya
memastikan integritas dari pesan data yang dipertukarkan setelah otentikasi
telah terjadi, itu adalah praktek umum untuk menggunakan secret-key
cryptography dengan cara kunci sesi. Kunci sesi adalah kunci bersama yang
digunakan untuk mengenkripsi pesan untuk integritas dan mungkin juga
kerahasiaan. Key seperti itu umumnya hanya digunakan selama ada saluran. Bila
saluran tertutup, kunci sesi terkait dibuang (atau sebenarnya, aman
hancur).Kami kembali ke kunci sesi di bawah ini.
Otentikasi Berdasarkan Kunci
Rahasia Bersama
Mari kita mulai dengan
mengambil melihat protokol otentikasi berdasarkan kunci rahasia yang sudah
dibagi antara Alice dan Bob. Cara kedua sebetulnya berhasil memperoleh kunci bersama
dalam cara yang aman dibahas nanti dalam bab ini. Dalam deskripsi protokol,
Alice dan Bob disingkat dengan A dan B, masing - masing, dan kunci mereka
berbagi dilambangkan sebagai KAB. Protokol ini menggunakan pendekatan umum
dimana satu pihak menantang yang lain untuk respon yang dapat benar hanya jika
yang lain mengetahui kunci rahasia bersama. Solusi tersebut juga dikenal
sebagai protokol challenge-response.
Dalam kasus otentikasi
didasarkan pada kunci rahasia bersama, protokol berlangsung seperti ditunjukkan
pada Gambar.8-12. Pertama, Alice mengirimkan identitasnya ke Bob (pesan 1),
menunjukkan bahwa dia ingin mendirikan sebuah saluran komunikasi antara
keduanya. Bob kemudian mengirimkan tantangan RB ke Alice, ditampilkan sebagai
pesan 2. Tantangan seperti itu bisa mengambil bentuk nomor acak.Alice
diperlukan untuk mengenkripsi tantangan dengan kunci rahasia KA B bahwa dia
saham dengan Bob, dan kembali tantangan terenkripsi kepada Bob.Tanggapan ini
ditampilkan sebagai pesan 3 pada Gambar.8-12 mengandung KAB (RB).
.
Gambar
8-12. Otentikasi berdasarkan kunci rahasia bersama.
Ketika Bob menerima respon KAB (RB)
tantangan ia dapat mendekripsi pesan menggunakan kembali tombol berbagi untuk
melihat apakah mengandung RB. Jika demikian, ia kemudian tahu bahwa Alice
adalah di sisi lain, untuk siapa lagi bisa RB dienkripsi dengan KAB di tempat
pertama? Dengan kata lain, Bob kini diverifikasi bahwa ia memang bicara ke
Alice. Namun, perlu diketahui bahwa Alice belum diverifikasi bahwa memang Bob
di sisi lain dari saluran. Oleh karena itu, dia mengirimkan tantangan RA (pesan
4), yang Bob merespon dengan kembali KA B (RA), ditampilkan sebagai pesan 5.
Ketika Alice mendekripsi dengan KA B dan melihat dirinya RA, ia tahu bahwa ia
sedang berbicara dengan Bob.
Salah satu masalah sulit dalam keamanan
adalah merancang protokol yang benar-benar bekerja. Untuk menggambarkan betapa
mudahnya hal yang bisa salah, mempertimbangkan sebuah "optimasi" dari
protokol otentikasi di mana jumlah pesan telah dikurangi dari lima menjadi
tiga, seperti ditunjukkan pada Gambar. 8-13. Ide dasarnya adalah bahwa jika
Alice akhirnya ingin menantang Bob pula, dia mungkin juga mengirim tantangan
bersama dengan identitasnya ketika mengatur saluran.Demikian juga, Bob kembali
tanggapannya terhadap tantangan itu, bersama dengan tantangan sendiri dalam
satu pesan.
Gambar
8-13. Otentikasi berdasarkan kunci rahasia bersama, tetapi menggunakan tiga
manfaat dari lima pesan.
Sayangnya, protokol ini tidak lagi
bekerja. Hal ini dapat dengan mudah dikalahkan oleh apa yang dikenal sebagai
serangan refleksi. Untuk menjelaskan bagaimana serangan seperti itu bekerja,
con Sider seorang penyusup yang disebut Chuck, siapa kita dilambangkan sebagai
C dalam protokol kami. Tujuan Chuck adalah untuk mendirikan sebuah saluran
dengan Bob sehingga Bob percaya bahwa dia sedang berbicara dengan Alice. Chuck
dapat membangun ini jika ia merespon dengan benar terhadap tantangan yang
dikirim oleh Bob, misalnya, dengan mengembalikan versi terenkripsi nomor yang
dikirim Bob. Tanpa pengetahuan KAB, hanya Bob dapat melakukan enkripsi seperti
itu, dan ini adalah tepat apa Chuck trik Bob dalam melakukan.
Serangan ini diilustrasikan pada Gambar.
8-14. Chuck dimulai dengan mengirimkan pesan yang berisi identitas Alice A,
bersama dengan tantangan Rc. Bob mengembalikan tantangan nya ¬ lenge RB dan
respon KA B (RC) dalam pesan tunggal. Pada saat itu, Chuck akan perlu
membuktikan dia tahu kunci rahasia dengan kembali KA B (RB) ke Bob. Unfor ¬
tunately, ia tidak memiliki KAB. Sebaliknya, apa yang dia lakukan adalah upaya
untuk mendirikan sebuah saluran kedua untuk membiarkan Bob melakukan enkripsi
untuknya.
Oleh karena itu, Chuck mengirimkan A dan
RB dalam satu pesan seperti sebelumnya, tapi sekarang cenderung bahwa dia menginginkan
saluran kedua. Hal ini ditunjukkan sebagai pesan 3 pada Gambar.8-14. Bob, tidak
mengakui bahwa dia sendiri telah menggunakan RB sebelumnya sebagai tantangan,
merespon.Vith KA B {RB) dan tantangan lain RBshown sebagai pesan 4.Pada saat
itu, Zhuck memiliki KA B (RB) dan selesai menyiapkan sesi pertama dengan
kembali pesan.
Gambar
8-14. Serangan refleksi.
5 berisi respon KA B (Rs), yang awalnya
diminta dari tantangan ¬ lenge dikirim dalam pesan 2.
Sebagaimana dijelaskan
dalam (Kaufman et al., 1995), salah satu kesalahan yang dibuat selama adaptasi
dari protokol asli adalah bahwa kedua belah pihak dalam versi baru protokol
yang menggunakan tantangan yang sama dalam dua berjalan berbeda dari protokol.
Sebuah desain yang lebih baik adalah untuk selalu menggunakan tantangan yang
berbeda untuk inisiator dan untuk responden. Misalnya, jika Alice selalu
menggunakan angka ganjil dan Bob bahkan nomor, Bob akan telah mengakui bahwa
sesuatu yang mencurigakan sedang terjadi saat menerima RB dalam pesan 3 pada
Gambar. 8-14. (Sayangnya, solusi ini tunduk pada serangan lainnya, terutama
yang dikenal sebagai "man-in-the-middle-attack," yang dijelaskan
dalam Schneier, 1996.) Secara umum, membiarkan dua pihak yang terlibat dalam
setting up saluran aman melakukan beberapa hal identik, bukanlah ide yang baik.
Prinsip lain yang
dilanggar dalam protokol disesuaikan, adalah bahwa Bob menyerahkan informasi
berharga dalam bentuk KAB respon (Rc) tanpa mengetahui dengan pasti kepada
siapa ia memberikan. Prinsip ini tidak dilanggar dalam protokol asli, di mana
Alice pertama yang dibutuhkan untuk membuktikan identitasnya, setelah Bob
bersedia menyampaikan informasi terenkripsi nya.
Ada prinsip-prinsip
lain yang pengembang protokol kriptografi secara bertahap datang untuk belajar
selama bertahun-tahun, dan kami akan menyajikan beberapa dari mereka ketika
membahas protokol lain di bawah ini. Satu pelajaran penting adalah bahwa
merancang protokol keamanan yang melakukan apa yang mereka yang seharusnya
mereka lakukan seringkali jauh lebih sulit daripada yang terlihat. Juga,
tweaking protokol yang ada untuk meningkatkan kinerjanya, dengan mudah dapat
mempengaruhi kebenarannya seperti yang kita contohkan diatas.Lebih lanjut
tentang prinsip-prinsip desain untuk protokol dapat ditemukan dalam (Abadi dan
Needham, 1996).
Otentikasi Menggunakan Pusat
Distribusi Kunci
Salah satu masalah
dengan menggunakan kunci rahasia bersama untuk otentikasi adalah
scala-bility.Jika sistem terdistribusi mengandung N host, dan setiap host
dibutuhkan untuk berbagi kunci rahasia dengan masing-masing lain N - 1 host,
sistem secara keseluruhan kebutuhan untuk mengelola N (N - l) / 2 kunci, dan
masing-masing host memiliki untuk mengelola N - 1 kunci. Untuk besar Nini akan
menyebabkan masalah. Sebuah alternatif adalah dengan menggunakan pendekatan
terpusat dengan cara kunci distribusi Center (KDC). Ini KDC saham kunci rahasia
dengan masing-masing host, tapi tidak ada sepasang host diperlukan untuk
memiliki kunci rahasia bersama juga. Dengan kata lain, menggunakan KDC yang
mengharuskan kita mengelola kunci N bukan N (N - l) / 2, yang jelas perbaikan.
Jika Alice ingin
mendirikan saluran aman dengan Bob, dia bisa melakukannya dengan bantuan
(trusted) KDC.Seluruh ide adalah bahwa tangan KDC keluar kunci untuk kedua
Alice dan Bob yang dapat mereka gunakan untuk komunikasi, ditunjukkan pada
Gambar.8-15.
Gambar
8-15. Prinsip menggunakan KDC.
Alice pertama
mengirimkan pesan ke KDC, mengatakan bahwa dia ingin berbicara dengan Bob.KDC
mengembalikan pesan yang berisi rahasia bersama kunci KA B bahwa dia bisa
menggunakan.Pesan dienkripsi dengan kunci rahasia yang KakDC saham Alice dengan
KDC.Selain itu, KDC mengirimkan KAB juga untuk Bob, tapi sekarang dienkripsi
dengan kunci rahasia KB KDC itu saham dengan Bob.
Kelemahan utama dari
pendekatan ini adalah bahwa Alice mungkin ingin mulai menyiapkan saluran aman
dengan Bob bahkan sebelum Bob telah menerima kunci bersama dari KDC.Selain itu,
KDC diperlukan untuk mendapatkan Bob ke loop dengan melewati dia
kunci.Masalah-masalah ini dapat dielakkan jika KDC hanya melewati Kb.kdc (K \.
B) kembali ke Alice, dan membiarkan dia mengurus menghubungkan ke Bob. Hal ini
menyebabkan protocol ditunjukkan pada Gambar.8-16. Pesan KB KDC (Ka B) juga
dikenal sebagai tiket.Ini adalah tugas Alice untuk lulus tiket ini ke Bob.
Perhatikan bahwa Bob masih satu-satunya yang dapat menggunakan masuk akal
tiket, karena ia adalah satu-satunya selain KDC yang tahu bagaimana untuk
mendekripsi informasi yang dikandungnya.
Protokol ditunjukkan
pada Gambar.8-16 sebenarnya merupakan varian dari contoh yang terkenal dari
protokol otentikasi menggunakan KDC, yang dikenal sebagai protokol otentikasi
Needham-Schroeder, dinamai penemunya (Needham dan Schroeder, 1978).Sebuah
varian yang berbeda dari protokol yang digunakan dalam sistem Kerberos, yang
kami jelaskan nanti. Protokol Needham-Schroeder, ditunjukkan pada Gambar. 8-17,
adalah protokol tantangan-respon multiway dan bekerja sebagai berikut.
Ketika Alice ingin mendirikan
saluran aman dengan Bob, ia mengirimkan permintaan ke KDC mengandung tantangan
RA, bersama dengan identitasnya A dan, tentu saja, bahwa Bob. KDC merespon
dengan memberinya tiket Kb KDC (Ka b), bersama dengan KAB kunci rahasia bahwa
dia kemudian dapat berbagi dengan Bob.
Gambar
8-16. Menggunakan tiket dan membiarkan Alice mengatur koneksi ke Bob.
Gambar
8-17. The Needham-Schroeder protokol otentikasi.
Tantangan RA, bahwa
Alice mengirim ke KDC bersama dengan permintaannya untuk mendirikan sebuah
saluran untuk Bob, juga dikenal sebagai Nonce a. Nonce adalah nomor acak yang
digunakan hanya sekali, seperti yang satu dipilih dari satu set yang sangat
besar. Tujuan utama dari Nonce adalah untuk secara unik berhubungan dua pesan
satu sama lain, dalam hal ini pesan 1 dan pesan 2. Secara khusus, dengan
memasukkan RA \ lagi dalam pesan 2, Alice akan tahu pasti bahwa pesan 2 dikirim
sebagai respon terhadap pesan 1, dan tiiat tidak, misalnya, pengulangan pesan
yang lebih tua.
Untuk memahami masalah
yang dihadapi, menganggap bahwa kita tidak menggunakan nonces, dan bahwa Chuck
telah mencuri salah satu kunci tua Bob, mengatakan Kg'jcDC • Selain itu, Chuck
telah dicegat respon tua-dc (#> ^ t, B> KbuKDc {A, Ka b)) yang KDC telah
kembali ke permintaan sebelumnya dari Alice untuk berbicara dengan Bob.
Sementara itu, Bob akan menegosiasikan kunci rahasia bersama baru dengan KDC.
Namun, Chuck sabar menunggu sampai Alice lagi meminta untuk mendirikan sebuah
saluran aman dengan Bob. Pada saat itu, ia replay respon tua, dan orang-orang
bodoh Alice untuk membuat dia percaya dia sedang berbicara dengan Bob, karena
ia dapat mendekripsi tiket dan membuktikan dia tahu kunci rahasia bersama KTJ.
Dengan termasuk Nonce
a, serangan semacam ini tidak mungkin, karena mengulang pesan yang lebih tua
akan segera ditemukan. Secara khusus, Nonce dalam pesan respon tidak akan cocok
dengan Nonce dalam permintaan yang asli.
Pesan 2 juga mengandung
B, identitas Bob.Dengan termasuk 5, KDC pro ¬ tects Alice terhadap serangan
berikut.Misalkan B tersisa dari pesan 2. Dalam hal ini, Chuck bisa mengubah
pesan 1 dengan mengganti identitas Bob dengan identitasnya sendiri, katakanlah
C. KDC kemudian akan berpikir Alice ingin mendirikan sebuah saluran yang aman
ke Chuck, dan meresponnya. Begitu Alice ingin menghubungi Bob, Chuck penyadapan
pesan dan bodoh Alice menjadi percaya dia berbicara dengan Bob. Dengan menyalin
identitas pihak lain dari pesan 1 pesan 2, Alice akan segera mendeteksi bahwa
permintaannya telah dimodifikasi.
Setelah KDC telah
berlalu tiket untuk Alice, saluran aman antara Alice dan Bob dapat diatur.Alice
dimulai dengan mengirim pesan 3, yang berisi tiket ke Bob, dan tantangan RA2
dienkripsi dengan berbagi kunci KA B yang KDC itu hanya dihasilkan. Bob
kemudian mendekripsi tiket untuk menemukan kunci bersama, dan mengembalikan
respon RA2-1 bersama dengan tantangan RB untuk Alice.
Berikut ini komentar
mengenai pesan 4 adalah dalam rangka. Secara umum, dengan kembali-ing RA2 - 1
dan bukan hanya RA2, Bob tidak hanya membuktikan dia tahu kunci rahasia
bersama, tetapi juga bahwa ia telah benar-benar didekripsi tantangan. Sekali
lagi, ini ikatan pesan 4 pesan 3 dengan cara yang sama bahwa Nonce RA terikat
pesan 2 ke pesan 1. Protokol ini sehingga lebih dilindungi terhadap replay.
Namun, dalam kasus
khusus ini, itu sudah cukup untuk kembali Ka b (RA2, Rb), karena alasan
sederhana bahwa pesan ini belum digunakan mana dalam protokol sebelumnya.KA B
(RA2, RB) sudah membuktikan bahwa Bob telah mampu mendekripsi tantangan dikirim
dalam pesan 3.Pesan 4 seperti ditunjukkan pada Gambar.8-17 adalah karena alasan
historis.
Protokol
Needham-Schroeder seperti yang disajikan di sini masih memiliki titik lemah
kalau Chuck pernah punya memegang sebuah kunci tua KA B, ia bisa memutar ulang
pesan 3 dan Bob untuk mengatur saluran. Bob kemudian akan percaya dia sedang
berbicara dengan Alice, sementara, pada kenyataannya, Chuck adalah di ujung
lain. Dalam hal ini, kita perlu berhubungan pesan 3 sampai mesbijak 1, yaitu,
membuat ketergantungan kunci pada permintaan awal dari Alice untuk mendirikan
sebuah saluran dengan Bob.Solusinya ditunjukkan pada Gambar.8-18.
Caranya adalah dengan
memasukkan Nonce dalam permintaan dikirim oleh Alice KDC. Namun, kesempatan ini
harus datang dari Bob: ini menjamin Bob bahwa siapa pun yang ingin mendirikan
saluran aman dengan dia, akan mendapatkan informasi yang tepat dari KDC. Oleh
karena itu, Alice pertama permintaan Bob mengirimnya sebuah RBL Nonce, dienkripsi
dengan kunci dibagi antara Bob dan KDC. Alice menggabungkan Nonce ini
permintaannya untuk KDC, yang kemudian akan kemudian mendekripsi dan
menempatkan hasil dalam tiket dihasilkan. Dengan cara ini, Bob akan tahu pasti
bahwa session kunci terkait dengan permintaan asli dari Alice untuk berbicara
dengan Bob.
Otentikasi Menggunakan Kriptografi
Public-Key
Mari sekarang kita
lihat pada otentikasi dengan kriptografi kunci publik yang tidak memerlukan
KDC.Sekali lagi, mempertimbangkan situasi bahwa Alice ingin mendirikan sebuah
saluran yang aman ke Bob, dan bahwa keduanya dalam kepemilikan publik
masing-masing.
Gambar
8-18. Perlindungan terhadap reuse berbahaya dari kunci sesi sebelumnya
dihasilkan dalam protokol Needham-Schroeder.
Gambar
8-19. Otentikasi Mutual dalam suatu cryptosystem publik-kunci.
kunci.
Sebuah protokol otentikasi yang khas berdasarkan kriptografi kunci publik
ditunjukkan pada Gambar.8-19, yang kita jelaskan berikutnya.
Alice dimulai dengan mengirimkan
tantangan RA ke Bob dienkripsi dengan kunci publik Kb-Ini adalah tugas Bob
untuk mendekripsi pesan dan kembali tantangan untuk Alice. Karena Bob adalah
satu-satunya orang yang dapat mendekripsi pesan (menggunakan kunci pribadi yang
berhubungan dengan kunci publik Alice digunakan), Alice akan tahu bahwa dia
sedang berbicara dengan Bob. Perhatikan bahwa itu adalah penting bahwa Alice
dijamin untuk akan menggunakan kunci publik Bob, dan bukan kunci publik dari
seseorang meniru Bob. Bagaimana jaminan tersebut dapat diberikan dibahas nanti
dalam bab ini.
Ketika Bob menerima permintaan Alice
untuk mengatur saluran, ia kembali tantangan didekripsi, bersama dengan
tantangan sendiri RB untuk mengotentikasi Alice. Selain itu, ia menghasilkan
kunci sesi B KA yang dapat digunakan untuk komunikasi lebih lanjut. Respon Bob
untuk tantangan Alice 's, tantangan sendiri, dan session key yang dimasukkan ke
dalam pesan yang dienkripsi dengan kunci publik milik Alice, ditunjukkan
sebagai pesan 2 pada Gambar. 8-19. Hanya Alice akan mampu mendekripsi pesan ini
menggunakan IQ kunci pribadi terkait dengan KA.
Alice, akhirnya, kembali tanggapannya
terhadap tantangan Bob menggunakan kunci sesi Ka b dihasilkan oleh Bob. Dengan
cara itu, dia akan telah membuktikan bahwa dia bisa pesan mendekripsi 2, dan
dengan demikian bahwa dia sebenarnya Alice kepada siapa Bob sedang berbicara.
8.2.2 Pesan Integritas dan
Kerahasiaan
Selain otentikasi, saluran aman juga
harus memberikan jaminan integritas pesan dan kerahasiaan.Integritas pesan
berarti bahwa pesan yang dilindungi terhadap modifikasi, kerahasiaan memastikan
bahwa pesan tidak dapat disadap dan dibaca oleh penyadap.Kerahasiaan adalah
mudah didirikan dengan hanya mengenkripsi pesan sebelum mengirimkannya.Enkripsi
dapat Danau tempat baik melalui kunci rahasia bersama dengan penerima atau
dengan menggunakan kunci publik penerima.Namun, melindungi terhadap modifikasi
pesan agak lebih komplikasi berdedikasi, seperti yang kita bahas selanjutnya.
Digital Signatures
Integritas pesan sering melampaui
transfer yang sebenarnya melalui saluran aman. Pertimbangkan situasi di mana
Bob baru saja menjual Alice kolektor item dari beberapa piringan hitam seharga
$ 500. Seluruh transaksi dilakukan melalui e-mail. Pada akhirnya, Alice
mengirimkan Bob pesan yang mengkonfirmasikan bahwa dia akan membeli rekor $
500. Selain otentikasi, setidaknya ada dua hal yang perlu diperhatikan mengenai
integritas pesan.
1.
Alice harus yakin bahwa Bob tidak akan
mengubah jahat ihe $ 500 disebutkan dalam pesannya menjadi sesuatu yang lebih
tinggi, dan mengklaim dia berjanji lebih dari $ 500.
2.
Bob perlu yakin bahwa Alice tidak bisa
menyangkal pernah mengirim pesan, misalnya, karena dia memiliki pikiran kedua.
Kedua isu dapat ditangani dengan jika
Alice digital menandatangani pesan sedemikian rupa sehingga tanda tangannya
secara unik terkait dengan isinya. Hubungan yang unik antara pesan dan tanda
tangan yang mencegah bahwa modifikasi pesan akan diperhatikan. Selain itu, jika
tanda tangan Alice dapat diverifikasi untuk menjadi asli, dia tidak bisa kemudian
menolak kenyataan bahwa ia menandatangani pesan.
Ada beberapa cara untuk menempatkan
tanda tangan digital. Salah satu bentuk populer adalah dengan menggunakan
kriptografi kunci publik seperti RSA, seperti ditunjukkan pada Gambar.8-20.
Ketika Alice mengirim pesan m kepada Bob, dia mengenkripsi dengan IQ kunci
pribadi, dan mengirimkannya pergi ke Bob.Jika dia juga ingin untuk menjaga isi
pesan rahasia, dia bisa menggunakan kunci publik Bob dan mengirim yang
menggabungkan m dan versi ditandatangani oleh Alice.
Ketika pesan tiba di Bob, dia bisa
dekripsi menggunakan kunci publik Alice.Jika dia dapat yakin bahwa kunci publik
memang dimiliki oleh Alice, kemudian mendekripsi versi ditandatangani m dan
berhasil membandingkannya dengan m dapat berarti hanya itu berasal dari Alice.
Alice dilindungi terhadap modifikasi berbahaya untuk m oleh Bob, karena Bob
akan selalu harus membuktikan bahwa versi modifikasi dari m juga ditandatangani
oleh Alice. Dengan kata lain, pesan didekripsi saja dasarnya.
Gambar
8-20. Digital menandatangani pesan menggunakan kriptografi kunci publik.
pernah dianggap sebagai bukti. Hal ini
juga dalam kepentingan Bob sendiri untuk menjaga versi ditandatangani m untuk
melindungi dirinya terhadap penolakan oleh Alice.
Ada sejumlah masalah dengan skema ini,
meskipun protokol itu sendiri benar.Pertama, validitas tanda tangan Alice
memegang hanya selama kunci privat Alice tetap rahasia.Jika Alice ingin
menyelamatkan dari kesepakatan bahkan setelah mengirim Bob konfirmasi, dia bisa
mengklaim bahwa kunci pribadi dicuri sebelum pesan dikirim.
Masalah lain terjadi ketika Alice
memutuskan untuk mengubah kunci pribadi. Hal tersebut dapat dengan sendirinya
menjadi tidak seperti ide yang buruk, seperti mengubah kunci dari waktu ke
waktu gen ¬ erally membantu terhadap gangguan.Namun, setelah Alice telah
berubah kuncinya, pernyataannya dikirim ke Bob menjadi tidak berharga.Apa yang
mungkin diperlukan dalam kasus tersebut adalah kewenangan pusat yang melacak
ketika tombol berubah, selain menggunakan cap waktu saat menandatangani pesan.
Masalah lain dengan skema ini adalah
bahwa Alice mengenkripsi seluruh pesan dengan kunci pribadinya. Enkripsi
semacam itu dapat menjadi mahal dalam hal persyaratan pengolahan (atau bahkan
matematis tidak layak seperti yang kita asumsikan bahwa pesan ditafsirkan
sebagai angka biner dibatasi oleh maksimum yang telah ditetapkan), dan sekutu
yang tidak perlu.Ingatlah bahwa kita hanya perlu unik mengasosiasikan tanda
tangan dengan pesan tertentu.Sebuah skema yang lebih murah dan bisa dibilang
lebih elegan adalah dengan menggunakan mebijak mencerna.
Seperti yang kita dijelaskan, pesan
digest adalah sedikit string tetap-panjang h yang telah dihitung dari pesan m
sewenang-wenang-panjang dengan cara hash kriptografi fungsi H. Jika m diubah
menjadi m ', yang H hash (m') akan berbeda dari h = H (m) sehingga dapat dengan
mudah mendeteksi bahwa modifikasi telah terjadi.
Untuk digital menandatangani pesan,
Alice pertama dapat menghitung message digest dan kemudian mengenkripsi mencerna
dengan kunci pribadinya, seperti ditunjukkan pada Gambar. 8-21. Telah
dienkripsi digest dikirim bersama dengan pesan ke Bob. Perhatikan bahwa pesan
itu sendiri dikirim sebagai plaintext: setiap orang diperbolehkan untuk
membacanya. Jika kerahasiaan diperlukan, maka pesan juga harus dienkripsi
dengan kunci publik Bob.
Ketika Bob menerima pesan dan mencerna
dienkripsi, ia hanya butuh mendekripsi mencerna dengan kunci publik Alice, dan
secara terpisah menghitung message digest. Jika digest dihitung dari pesan yang
diterima dan mencerna pertandingan didekripsi, Bob tahu pesan telah
ditandatangani oleh Alice.
Gambar 8-21 digital menandatangani pesan
menggunakan message digest.
Sesi
Keys
Selama pembentukan
saluran aman, setelah fase otentikasi telah selesai, pihak yang berkomunikasi
umumnya menggunakan kunci sesi bersama unik untuk kerahasiaan.Kunci sesi aman
dibuang bila saluran tersebut tidak lagi digunakan. Sebuah alternatif akan
menggunakan kunci yang sama untuk confiden jaminan kerahasiaan seperti yang
yang digunakan untuk menyiapkan saluran aman. Namun, ada sejumlah manfaat
penting untuk menggunakan kunci sesi (Kaufman et al "1995).
Pertama, ketika tombol
sering digunakan, menjadi lebih mudah untuk mengungkapkannya.Dalam arti, kunci
cryp-tographic tunduk pada "keausan" seperti kunci biasa. Ide
dasarnya adalah bahwa jika seorang penyusup dapat mencegat banyak data yang
telah dienkripsi menggunakan kunci yang sama, maka ada kemungkinan untuk
me-mount serangan untuk menemukan karakteristik tertentu dari tombol yang
digunakan, dan mungkin mengungkapkan plaintext atau kunci itu sendiri. Untuk
ini anak rea ¬, jauh lebih aman untuk menggunakan kunci otentikasi sesedikit
mungkin. Selain itu, kunci tersebut sering dipertukarkan menggunakan beberapa
mekanisme out-of-band yang relatif waktu-mahal seperti surat biasa atau
telepon. Bertukar kunci seperti itu harus disimpan ke minimum.
Alasan lain yang
penting untuk menghasilkan kunci terpisah untuk masing-masing aman channel,
adalah untuk memastikan perlindungan terhadap serangan replay seperti yang kita
telah menemukan previ menerus beberapa kali. Dengan menggunakan kunci sesi yang
unik setiap kali aman channel sudah diatur, pihak berkomunikasi setidaknya
dilindungi mengulang sesi seluruh.Untuk melindungi mengulang pesan individu
dari sesi sebelumnya, langkah-langkah tambahan umumnya dibutuhkan seperti
termasuk cap atau nomor urut sebagai bagian dari isi pesan.
Misalkan integritas
pesan dan kerahasiaan yang dicapai dengan menggunakan tombol yang sama yang
digunakan untuk pembentukan sesi. Dalam hal ini, setiap kali kuncinya adalah
com dijanjikan, seorang penyusup mungkin dapat mendekripsi pesan ditransfer
selama percakapan tua, jelas bukan fitur yang diinginkan.Sebaliknya, jauh lebih
aman untuk menggunakan kunci per-sesi, karena jika kunci tersebut terganggu,
paling buruk, hanya satu sesi dipengaruhi.Pesan yang dikirim selama sesi
lainnya tetap rahasia.
Terkait dengan poin terakhir adalah
bahwa Alice mungkin ingin bertukar beberapa data kerahasiaan esensial dengan Bob,
tapi dia tidak percaya padanya sehingga dia akan memberinya informasi dalam
bentuk data yang telah dienkripsi dengan kunci yang tahan lama. Dia mungkin
ingin memesan tombol tersebut untuk pesan yang sangat rahasia bahwa ia
pertukaran dengan pihak dia benar-benar percaya. Dalam kasus tersebut, dengan
menggunakan kunci sesi yang relatif murah untuk berbicara dengan Bob sudah
cukup.
By-dan-besar, pengesahan kunci yang
sering dibentuk sedemikian rupa bahwa mengganti mereka relatif mahal.Oleh
karena itu, kombinasi tombol tahan lama seperti dengan jauh lebih murah dan
lebih sementara kunci sesi sering merupakan pilihan yang baik untuk menerapkan
saluran aman untuk pertukaran data.
8.2.2 Message
Integrity and Confidentiality(Pesan Integritas dan Kerahasiaan)
Selain otentikasi,
saluran aman juga harus memberikan jaminan integritas pesan dan kerahasiaan.
Integritas pesan berarti bahwa pesan yang dilindungi terhadap modifikasi,
kerahasiaan memastikan bahwa pesan tidak dapat disadap dan dibaca oleh
penyadap. Kerahasiaan adalah mudah didirikan dengan hanya mengenkripsi pesan
sebelum mengirimkannya.
Digital Signatures
Integritas pesan
sering melampaui transfer yang sebenarnya melalui saluran aman. Pertimbangkan
situasi di mana Bob baru saja menjual Alice kolektor item dari beberapa
piringan hitam seharga $ 500. Seluruh transaksi dilakukan melalui e-mail. Pada
akhirnya, Alice mengirimkan Bob pesan yang mengkonfirmasikan bahwa dia akan
membeli rekor $ 500.
Selain otentikasi,
setidaknya ada dua hal yang perlu diperhatikan mengenai integritas pesan.
1. Alice harus yakin bahwa Bob tidak akan mengubah jahat ihe $ 500 disebutkan dalam pesannya menjadi sesuatu yang lebih tinggi, dan mengklaim dia berjanji lebih dari $ 500.
2. Bob perlu yakin bahwa Alice tidak bisa menyangkal pernah mengirim pesan, misalnya, karena dia memiliki pikiran kedua.
1. Alice harus yakin bahwa Bob tidak akan mengubah jahat ihe $ 500 disebutkan dalam pesannya menjadi sesuatu yang lebih tinggi, dan mengklaim dia berjanji lebih dari $ 500.
2. Bob perlu yakin bahwa Alice tidak bisa menyangkal pernah mengirim pesan, misalnya, karena dia memiliki pikiran kedua.
Kedua isu dapat
ditangani dengan jika Alice digital menandatangani pesan sedemikian rupa
sehingga tanda tangannya secara unik terkait dengan isinya. Hubungan yang unik
antara pesan dan tanda tangan yang mencegah bahwa modifikasi pesan akan
diperhatikan. Selain itu, jika tanda tangan Alice dapat diverifikasi untuk
menjadi asli, dia tidak bisa kemudian menolak kenyataan bahwa ia menandatangani
pesan.Ada beberapa cara untuk menempatkan tanda tangan digital. Salah satu
bentuk populer adalah dengan menggunakan kriptografi kunci publik seperti RSA,
seperti ditunjukkan pada Gambar. 8-20. Ketika Alice mengirim pesan m kepada
Bob, dia mengenkripsi dengan IQ kunci pribadi, dan mengirimkannya pergi ke Bob.
Jika dia juga ingin menjaga isi pesan rahasia, dia bisa menggunakan kunci
publik Bob dan mengirim yang menggabungkan m dan versiditandatangani oleh
Alice.Ketika pesan tiba di Bob, dia bisa dekripsi menggunakan kunci publik
Alice. Jika dia dapat yakin bahwa kunci publik memang dimiliki oleh Alice,
kemudian mendekripsi versi ditandatangani m dan berhasil membandingkannya
dengan m dapat berarti hanya itu berasal dari Alice. Alice dilindungi terhadap
modifikasi berbahaya untuk m oleh Bob, karena Bob akan selalu harus membuktikan
bahwa versi modifikasi dari m juga ditandatangani oleh Alice. Dengan kata lain,
pesan didekripsi sendiri pada dasarnya
pernah dianggap
sebagai bukti. Hal ini juga dalam kepentingan Bob sendiri untuk menjaga versi
ditandatangani m untuk melindungi dirinya terhadap penolakan oleh Alice.
Ada sejumlah masalah dengan skema ini, meskipun protokol itu sendiri benar. Pertama, validitas tanda tangan Alice memegang hanya selama kunci privat Alice tetap rahasia. Jika Alice ingin menyelamatkan dari kesepakatan bahkan setelah mengirim Bob konfirmasi, dia bisa mengklaim bahwa kunci pribadi dicuri sebelum pesan dikirim.Masalah lain dengan skema ini adalah bahwa Alice mengenkripsi seluruh pesan dengan kunci pribadinya. Enkripsi semacam itu dapat menjadi sulit dalam hal persyaratan pengolahan (atau bahkan matematis tidak layak seperti yang kita asumsikan bahwa pesan ditafsirkan sebagai angka biner dibatasi oleh maksimum yang telah ditetapkan), dan sebenarnya tidak perlu.kita hanya perlu untuk mengasosiasikan tanda tangan dengan pesan tertentu. Sebuah skema yang lebih dan bisa dibilang lebih elegan adalah dengan menggunakan message digest.
Ada sejumlah masalah dengan skema ini, meskipun protokol itu sendiri benar. Pertama, validitas tanda tangan Alice memegang hanya selama kunci privat Alice tetap rahasia. Jika Alice ingin menyelamatkan dari kesepakatan bahkan setelah mengirim Bob konfirmasi, dia bisa mengklaim bahwa kunci pribadi dicuri sebelum pesan dikirim.Masalah lain dengan skema ini adalah bahwa Alice mengenkripsi seluruh pesan dengan kunci pribadinya. Enkripsi semacam itu dapat menjadi sulit dalam hal persyaratan pengolahan (atau bahkan matematis tidak layak seperti yang kita asumsikan bahwa pesan ditafsirkan sebagai angka biner dibatasi oleh maksimum yang telah ditetapkan), dan sebenarnya tidak perlu.kita hanya perlu untuk mengasosiasikan tanda tangan dengan pesan tertentu. Sebuah skema yang lebih dan bisa dibilang lebih elegan adalah dengan menggunakan message digest.
pesan digest adalah
sedikit string tetap-panjang h yang telah dihitung dari pesan m
sewenang-wenang-panjang dengan cara hash kriptografi fungsi H. Jika m diubah
menjadi m ', yang H hash (m') akan berbeda dari h = H (m) sehingga dapat dengan
mudah mendeteksi bahwa modifikasi telah terjadi.Untuk digital menandatangani
pesan, Alice pertama dapat menghitung message digest dan kemudian mengenkripsi
mencerna dengan kunci pribadinya, seperti ditunjukkan pada Gambar. 8-21. Telah
dienkripsi digest dikirim bersama dengan pesan ke Bob.
Perhatikan bahwa
pesan itu sendiri dikirim sebagai plaintext: setiap orang diperbolehkan untuk
membacanya. Jika kerahasiaan diperlukan, maka pesan juga harus dienkripsi
dengan kunci publik Bob.
Ketika Bob menerima
pesan dan mencerna dienkripsi, ia hanya butuh mendekripsi mencerna dengan kunci
publik Alice, dan secara terpisah menghitung message digest. Jika digest
dihitung dari pesan yang diterima dan mencerna pertandingan didekripsi, Bob
tahu pesan telah ditandatangani oleh Alice.
Gambar 8-21. Digital menandatangani
pesan menggunakan message digest.
Session
keys (Sesi Keys)
Selama pembentukan saluran aman, setelah fase otentikasi telah selesai, pihak yang berkomunikasi umumnya menggunakan kunci sesi bersama unik untuk kerahasiaan. Kunci sesi aman dibuang bila saluran tersebut tidak lagi digunakan. Sebuah alternatif akan menggunakan kunci yang sama untuk kerahasiaan seperti yang yang digunakan untuk menyiapkan saluran aman. Namun, ada sejumlah manfaat penting untuk menggunakan kunci sesi .
Pertama, ketika tombol sering digunakan, menjadi lebih
mudah untuk mengungkapkannya. Dalam arti, kunci cryp-tographic tunduk pada
"keausan" seperti kunci biasa. Ide dasarnya adalah bahwa jika seorang
penyusup dapat mencegat banyak data yang telah dienkripsi menggunakan kunci
yang sama, maka ada kemungkinan untuk me-mount serangan untuk menemukan
karakteristik tertentu dari tombol yang digunakan, dan mungkin mengungkapkan
plaintext atau kunci itu sendiri. Untuk alasan ini, itu jauh lebih aman untuk
menggunakan kunci otentikasi sesedikit mungkin. Selain itu, kunci tersebut
sering dipertukarkan menggunakan beberapa mekanisme out-of-band yang relatif
waktu-mahal seperti surat biasa atau telepon. Bertukar kunci seperti itu harus
disimpan ke minimum.
Alasan lain yang penting untuk menghasilkan kunci terpisah untuk
masing-masing aman saluran, adalah untuk
memastikan perlindungan terhadap serangan replay seperti yang kita telah
menemukan sebelumnya beberapa kali. Dengan menggunakan kunci sesi yang unik
setiap kali saluran aman diatur, pihak berkomunikasi setidaknya dilindungi
mengulang sesi seluruh. Untuk melindungi mengulang pesan individu dari sesi
sebelumnya, langkah-langkah tambahan umumnya dibutuhkan seperti termasuk cap
atau nomor urut sebagai bagian dari isi pesan.
Misalkan integritas pesan dan kerahasiaan yang dicapai dengan menggunakan tombol yang sama yang digunakan untuk pembentukan sesi. By-dan-besar, pengesahan kunci yang sering dibentuk sedemikian rupa bahwa mengganti mereka relatif mahal. Oleh karena itu, kombinasi tombol tahan lama seperti dengan jauh lebih murah dan lebih sementara kunci sesi sering merupakan pilihan yang baik untuk menerapkan saluran aman untuk pertukaran data.
Misalkan integritas pesan dan kerahasiaan yang dicapai dengan menggunakan tombol yang sama yang digunakan untuk pembentukan sesi. By-dan-besar, pengesahan kunci yang sering dibentuk sedemikian rupa bahwa mengganti mereka relatif mahal. Oleh karena itu, kombinasi tombol tahan lama seperti dengan jauh lebih murah dan lebih sementara kunci sesi sering merupakan pilihan yang baik untuk menerapkan saluran aman untuk pertukaran data.
8.2.3 Secure Group Communication
Dalam sistem
terdistribusi, bagaimanapun, sering diperlukan untuk memungkinkan komunikasi
yang aman antara lebih dari hanya dua pihak. Sebuah contoh adalah bahwa dari
sebuah server direplikasi yang semua komunikasi antara replika harus dilindungi
terhadap modifikasi, fabrikasi, dan intersepsi, seperti dalam kasus dua saluran
aman.
Rahasia
Komunikasi KelompokPertama, mempertimbangkan masalah melindungi komunikasi
antara sekelompok pengguna N terhadap penyadapan. Untuk menjamin kerahasiaan,
skema sederhana adalah untuk membiarkan semua anggota kelompok berbagi kunci
rahasia yang sama, yang digunakan untuk mengenkripsi dan mendekripsi semua
pesan ditransmisikan antara anggota kelompok. Karena kunci rahasia dalam skema
ini dimiliki oleh semua anggota, perlu bahwa semua anggota dipercaya untuk
menjaga memang kunci rahasia. Prasyarat ini saja membuat penggunaan kunci
rahasia tunggal bersama untuk komunikasi kelompok rahasia lebih rentan terhadap
serangan dibandingkan dengan dua partai saluran aman.
Sebuah solusi
alternatif adalah dengan menggunakan kunci rahasia bersama yang terpisah antara
setiap pasangan anggota kelompok. Begitu satu anggota ternyata membocorkan
informasi, yang lain hanya bisa menghentikan pengiriman pesan ke anggota itu,
tapi masih menggunakan tombol yang mereka gunakan untuk berkomunikasi satu sama
lain. Namun, daripada harus mempertahankan salah satu kunci, sekarang
diperlukan untuk mempertahankan N (N - l) / 2 kunci, yang mungkin menjadi
masalah yang sulit dengan sendirinya.
Menggunakan
cryptosystem kunci publik dapat memperbaiki masalah. Dalam hal ini, setiap
anggota memiliki (kunci publik, kunci privat) pasangan sendiri, dimana kunci
publik dapat digunakan oleh semua anggota untuk mengirimkan pesan rahasia.
Dalam kasus ini, total N pasangan kunci diperlukan. Jika salah satu anggota
tidak lagi dapat dipercaya, itu hanya dihapus dari grup tanpa mampu kompromi
kunci yang lain.
Aman Server
direplikasiSekarang perhatikan masalah yang sama sekali berbeda: klien isu
permintaan untuk sekelompok server direplikasi. Server mungkin telah
direplikasi karena alasan toleransi kesalahan atau kinerja, tetapi dalam hal
apapun, klien mengharapkan respon dapat dipercaya. Dengan kata lain, terlepas
dari apakah kelompok server tunduk pada kegagalan Bizantium seperti yang kita
bahas dalam bab sebelumnya, klien mengharapkan bahwa respon kembali belum
subjek serangan keamanan. Serangan semacam bisa terjadi jika satu atau lebih
server telah berhasil dirusak oleh penyusup.
Sebuah solusi
untuk protcct klien terhadap serangan tersebut, adalah untuk mengumpulkan
tanggapan dari semua server dan mengotentikasi masing-masing dari mereka. Jika
mayoritas ada di antara tanggapan dari noncorrupted (yaitu, dikonfirmasi)
server, klien bisa mempercayai respon untuk menjadi benar juga.
Inti dari aman
dan transparan server replicated terletak pada
apa yang dikenal sebagai pembagian rahasia. Ketika beberapa pengguna (atau
proses) berbagi rahasia, tidak satupun dari mereka tahu seluruh rahasia.
Sebaliknya, rahasia dapat terungkap hanya jika mereka semua bersama-sama. Skema
tersebut dapat sangat berguna. Perhatikan, misalnya, meluncurkan rudal nuklir.
Tindakan semacam itu umumnya memerlukan otorisasi setidaknya dua orang.
Masing-masing memegang kunci pribadi yang harus digunakan dalam kombinasi
dengan yang lain untuk benar-benar meluncurkan rudal. Hanya menggunakan kunci
tunggal tidak akan dilakukan.
Dengan kata
lain, kelompok server harus mampu mentolerir korupsi paling c server, dan masih
mampu menghasilkan respon yang klien dapat menaruh kepercayaan yang masuk Jika
tanda tangan dari setiap server dapat dikombinasikan sedemikian rupa bahwa
setidaknya c + 1 tanda tangan yang diperlukan untuk membangun sebuah signature
valid untuk respon maka ini akan memecahkan masalah kami. Sebagai contoh,
pertimbangkan sekelompok lima server direplikasi yang harus mampu mentolerir
dua server rusak, dan masih menghasilkan respon bahwa klien dapat percaya.
Setiap server 5, - r mengirimkan respon, ke klien, beserta tanda tangan sig
(Si, ri) = K ~ (md {ri)). Akibatnya, klien akhirnya akan menerima lima triplet <rt,
md(r,), ji'g(S,,r,)> dari yang seharusnya memperoleh respon yang benar.
Situasi ini ditunjukkan pada Gambar. 8-22.
Setiap digest md {r {) juga dihitung
oleh klien. Jika r, tidak benar, maka biasanya ini dapat dideteksi oleh
komputasi FCJ (KJ (md (ri))). Namun, metode ini tidak bisa lagi diterapkan,
karena tidak ada server individu dapat dipercaya. Sebaliknya, klien menggunakan
khusus, publik dikenal dekripsi fungsi D, yang mengambil set y =, {■ "£
(S, r), sig (S ', r'), sig (S", r ")) tiga tanda tangan sebagai
input, dan menghasilkan digest tunggal sebagai output: dcm = D (V) = D (sig (S,
r), sig (S ', r'), sig (. S ", r"))Untuk rincian tentang D, lihat
(Reiter, 1994). Ada 5! / (3! 2!) = 10 mungkin kombinasi dari tiga tanda tangan
bahwa klien dapat digunakan sebagai masukan untuk D. Jika salah satu dari
kombinasi ini menghasilkan benar mencerna md (r,) untuk beberapa respon r
"kemudian klien dapat mempertimbangkan r, sebagai yang benar. Secara
khusus, dapat percaya bahwa respon telah diproduksi oleh setidaknya tiga server
jujur.
Untuk meningkatkan transparansi
replikasi, Reiter dan Birman membiarkan setiap server 5, menyiarkan pesan yang
berisi r respon, ke server lain, aIong dengan tanda tangan terkait s <g
(S,, / -,). Ketika server telah menerima setidaknya c 1
dari pesan tersebut, termasuk pesan sendiri, ia mencoba untuk menghitung tanda
tangan berlaku untuk salah satu tanggapan. Jika ini berhasil untuk, misalnya,
respon r dan V set c 1 tanda tangan, ia akan mengirimkan r dan V sebagai pesan
tunggal untuk klien.
8.3
ACCESS CONTROL
Dalam model client-server, yang telah kami gunakan
sejauh ini,menerapkan suatu saluran yang aman sebagai client dan server, klien
dapat mengeluarkan permintaan yang akan dilakukan oleh server. Permintaan
melibatkan melaksanakan operasi pada sumber daya yang dikendalikan oleh
server.Situasi umum adalah bahwa sejumlah server objek di bawah
kontrolnya.Permintaan dari klien umumnya melibatkan memanggil sebuah metode
objek tertentu.Permohonan tersebut dapat dilakukan jika klien memiliki hak
akses yang memadai untuk melakukan pemanggilan.
Secara formal, hak akses memverifikasi disebut
sebagai kontrol akses, sedangkan otorisasi adalah tentang pemberian hak akses.
Dua istilah ini sangat terkait satu sama lain. Ada banyak cara untuk mencapai
kontrol akses. Kita mulai dengan membahas beberapa isu umum, berkonsentrasi
pada model yang berbeda untuk menangani kontrol akses. Salah satu cara penting
untuk benar-benar mengendalikan akses ke sumber daya adalah untuk membangun
firewall yang melindungi aplikasi atau bahkan seluruh jaringan. Firewall
dibahas secara terpisah. Dengan munculnya kode mobilitas, kontrol akses tidak
bisa lagi dilakukan hanya menggunakan metode tradisional.
Tujuan
dari kontrol akses adalah untuk membatasi tindakan atau operasi bahwa pengguna
yang sah dari sebuah sistem komputer dapat melakukan. Akses kontrol kendala apa
yang pengguna dapat melakukan secara langsung, serta program-program apa
pelaksana atas nama pengguna yang diizinkan untuk dilakukan. Dengan cara ini
kontrol akses berusaha untuk mencegah kegiatan yang dapat menyebabkan
pelanggaran keamanan.
Akses
kontrol bergantung pada dan berdampingan dengan layanan keamanan lain dalam
sistem komputer. Akses kontrol berkaitan dengan membatasi aktivitas pengguna yang
sah. Hal ini diberlakukan oleh monitor referensi yang memediasi setiap
percobaan akses oleh pengguna (atau program pelaksana atas nama user tersebut)
ke objek dalam sistem. Monitor referensi berkonsultasi database otorisasi untuk
menentukan jika pengguna mencoba untuk melakukan operasi sebenarnya berwenang
untuk melakukan operasi itu. Otorisasi dalam database ini dikelola dan
dipelihara oleh administrator keamanan.Administrator menetapkan otorisasi ini
berdasarkan kebijakan keamanan organisasi.Pengguna juga dapat memodifikasi
beberapa bagian dari database otorisasi, misalnya, untuk mengatur hak akses
untuk file pribadi mereka.Audit memantau dan menyimpan catatan aktivitas yang
relevan dalam sistem.
Hal
ini penting untuk membuat perbedaan yang jelas antara auhentication dan kontrol
akses.Benar membangun identitas pengguna adalah tanggung jawab jasa
athentication. Akses kontrol mengasumsikan bahwa otentikasi pengguna telah
berhasil diverifikasi sebelum penegakan kontrol akses melalui monitor referensi.
8.3.1
Masalah Umum di Control Akses
Dalam rangka untuk memahami berbagai isu yang
terlibat dalam kontrol akses, model sederhana ditunjukkan pada Gambar.9-25.
Terdiri dari mata pelajaran yang mengeluarkan permintaan untuk mengakses
objek.Hal ini dapat dianggap sebagai encapsulating negara sendiri dan
melaksanakan operasi di negara itu.Operasi dari sebuah objek yang subjeknya
dapat meminta untuk dilakukan dibuat yang tersedia melalui antarmuka. Subjek
terbaik yang dapat dianggap sebagai proses yang bertindak atas nama pengguna.
Mengontrol akses ke obyek adalah semua yang
melindungi tentang obyek terhadap pemanggilan oleh subjek yang tidak diizinkan
untuk memiliki spesifik (atau bahkan ada) dari metode yang dilakukan. Juga
terdapat perlindungan termasuk masalah-masalah manajemen objek,seperti membuat,
mengubah nama, atau menghapus objek. Perlindungan sering diberlakukan oleh
program yang disebut referensi monitor. Contoh Monitor referensi catatan A yang
sesuai mungkin melakukan apa, dan memutuskan apakah subyek diperbolehkan untuk
memiliki operasi tertentu dilakukan. Monitor ini disebut (misalnya, dengan
mendasari terpercaya operasi system) setiap kali suatu obyek dipanggil. Oleh
Karena itu, sangat pentingbahwa monitor referensi itu sendiri tamperproof.
Access
Control Matrix
Akses control adalah kemampuan untuk membatasi dan
mengontrol akses ke host system. Setiap entitas dalam mencoba untuk akses, maka
yang pertama dilakukan adalah identitas atau autentikasi.Pendekatan umum untuk
pemodelan hak akses subyek sehubungan dengan benda-benda adalah untuk membangun
sebuah kontrol akses matriks.Setiap subjek diwakili oleh baris dalam matriks
ini, setiap objek diwakili oleh kolom.Melihat bahwa sistem perlu dengan mudah
untuk mendukung ribuan pengguna dan membutuhkan perlindungan, menerapkan
kontrol akses matriks sebagai matriks yang benar. Oleh karena itu, cara yang
lebih efisien yang diikuti untuk menerapkan kontrol akses matriks. Salah satu
pendekatan yang diterapkan secara luas-untuk memiliki setiap benda mempertahankan
daftar hak akses yang ingin mengakses objek.
Jenis ini pelaksanaan disebut Access Control List
(ACL).Setiap objek diasumsikan memiliki ACL sendiri terkait. Dengan kata lain,
kemampuan yang sesuai untuk entri dalam matriks kontrol akses tidak memiliki
kemampuan untuk objek tertentu berarti bahwa subjek tidak memiliki hak akses
untuk objek tersebut.Salah satu pendekatan yang sangat cocok dalam sistem
terdistribusi dan yang telah diterapkan secara luas di Amoeba (Tanenbaum et
ai,1990.), adalah untuk melindungi dan hal-hal lain membahas manajemen
keamanan.
Perbedaan antara bagaimana ACL dan kemampuan
digunakan untuk melindungi akses ke obyek ditunjukkan pada Gambar. 9-26.
Menggunakan ACL, ketika klien mengirimkan permintaan ke server, referensi
monitor server akan memeriksa apakah ia tahu klien dan jika klien yang dikenal
maka diperbolehkan untuk memiliki operasi yang diminta dilakukan seperti
ditunjukkan pada Gambar. 9-26 (a).
Perlindungan
Domain
ACL mempunyai kemampuan membantu dalam menerapkan
kontrol akses matrix dengan efisien dan mengabaikan semua entri kosong.Namun
demikian, ACL atau daftar kemampuan dapat masih menjadi sangat besar jika tidak
ada tindakan lebih lanjut diambil. Salah satu cara umum mengurangi ACL adalah
untuk menggunakan domain perlindungan. Secara formal, sebuah domain
perlindungan adalah satu set (objek, hak akses) pasang. Setiap pasangan
menentukan suatu objek tertentu persis yang operasi diperbolehkan untuk
dilakukan (Saltzer dan Schroeder, 1975).
Permintaan
untuk melakukan operasi selalu dikeluarkan dalam sebuah domain. Oleh karena
itu, setiap kali permintaan operasi subjek untuk menjadi dilakukan pada suatu
objek, monitor referensi pertama melihat domain perlindungan terkait dengan
permintaan itu. Kemudian,domain memonitor referensi yang kemudian memeriksa
apakah permintaan tersebut boleh dilakukan.
Peran Domain sebagai pelindung dalam kontrol akses
untuk pengguna selalu log ke dalam sistem dengan peran tertentu, yang sering
dikaitkan dengan fungsi user dalam sebuah organisasi (Sandhu et al, 1996.).
Seorang pengguna mungkin memiliki beberapa fungsi perannya menentukan domain
perlindungan (yaitu, kelompok) di mana ia akan beroperasi. Selain menggunakan
domain perlindungan, efisiensi dapat lebih ditingkatkan oleh (Hirarkis)
pengelompokan objek berdasarkan operasi yang mereka berikan. Misalnya,memperhitungkan
objek individu, objek yang dikelompokkan menurut antarmuka yang mereka berikan,
mungkin menggunakan subtyping juga yang disebut sebagai antarmuka. Dalam hal
ini, ketika permintaan operasi untuk dilakukan pada objek, referensi monitor
menuju kepada interface yang dioperasi untuk objek yang dimiliki. Hal ini
kemudian memeriksa apakah subjek diperbolehkan untuk memanggil operasi milik
interface, atau dapat memanggil operasi untuk objek tertentu. Menggabungkan
domain perlindungan dan pengelompokan objek juga mungkin teknik baik bersama
dengan struktur data tertentu dan operasi terbatas pada objek, Gladney (1997)
yang menjelaskan bagaimana menerapkan ACL untuk digunakan dalam perpustakaan
digital
8.3.2
Firewall
Sejauh ini perlindungan dapat dibangun dengan menggunakan
teknik kriptografi dikombinasikan dengan beberapa implementasi kontrol akses
matriks .Hal ini dapat bekerja dengan baik asalkan semua pihak berkomunikasi
berjalan ke set aturan yang sama, perlindungan ini bisa dikombinasikan atau
digabung Aturan tersebut dapat diberlakukan ketika mengembangkan sebuah sistem
terdistribusi yang terisolasi dari seluruh dunia. Namun, hal-hal menjadi lebih
rumit ketika orang luar diizinkan untuk mengakses sumber daya dikendalikan oleh
sistem terdistribusi. Contoh akses tersebut termasuk pengiriman email, download
file, upload formulir pajak, dan sebagainya. Dalam prakteknya, apa yang terjadi
adalah bahwa akses eksternal untuk setiap bagian dari sistem distribusi
dikendalikan oleh jenis khusus dari referensi monitor dikenal yang disebut
sebagai firewall(Cheswick dan Bellovin, 2000) dan Zwicky et ai, 2000.).
Pada dasarnya, firewall terputus setiap bagian dari
sistem terdistribusi dari dunia luar, seperti yang ditunjukkan dalam
Gambar.9-28. Semua paket keluar, tetapi khususnya semua paket masuk diarahkan
melalui komputer khusus dan diperiksa sebelum mereka berlalu. Lalu lintas yang
tidak sah akan dibuang dan tidak diperbolehkan untuk melanjutkan. Suatu hal
yang penting adalah bahwa firewall itu sendiri harus sangat dilindungi terhadap
segala bentuk ancaman keamanan ia tidak boleh gagal.
Suatu jenis penting dari firewall gateway
packet-filtering. Jenis firewall beroperasi sebagai router dan membuat
keputusan, apakah melanjutkan atau tidak untuk masuk ke jaringan paket berdasarkan
alamat sumber dan tujuan sebagaimana tercantum dalam paket header. Biasanya,
gateway packet-filtering ditampilkan pada LAN di luar Gambar. 9-28 akan
melindungi terhadap paket yang datang, sedangkan yang di bagian dalam LAN akan
filter paket yang keluar. Misalnya, untuk melindungi sebuah server web internal
terhadap permintaan dari host yang tidak pada jaringan internal, sebuah
packet-filtering gateway dapat memutuskan untuk drop semua paket yang masuk
ditujukan ke server Web. Setiap LAN dapat dilindungi melalui gateway
packet-filtering, yang dikonfigurasi untuk melewatkan lalu lintas masuk hanya
jika berasal dari host di salah satu LAN lain. Dengan cara ini, jaringan
virtual pribadi dapat diatur. Jenis lain dari firewall adalah sebuah level
aplikasi. Berbeda dengan packet-filtering gateway, yang hanya memeriksa header
dari paket jaringan, ini merupakan jenis firewall yang benar-benar memeriksa
isi pesan yang masuk atau keluar. Sebuah contoh adalah gateway mail yang
membuang surat masuk atau keluar melebihi ukuran tertentu,dengan mail gateway
yang handal mampu menyaring spam e-mail.
Contoh lain dari aplikasi-level gateway adalah salah
satu yang memungkinkan eksternal akses ke server perpustakaan digital, namun
akan memberikan hanya abstrak dokumen. khusus gateway level aplikasi adalah
dikenal sebagai gatway proxy. Jenis firewall bekerja sebagai front end untuk
jenis tertentu aplikasi,dan memastikan bahwa hanya pesan-pesan tersebut
diteruskan yang memenuhi kriteria tertentu. Perhatikan, misalnya, surfing di
Web.Seperti yang kita bahas di bagian berikutnya, banyak Web.
Halaman
ini berisi script atau applet yang akan dijalankan dalam browser pengguna.
Untuk mencegah kode tersebut untuk di-download ke dalam LAN, semua lalu lintas
Web dapat diarahkan melalui gateway proxy web.Gateway ini menerima permintaan
HTTP biasa, baik dari dalam maupun luar firewall.
Pengertian firewall
Firewall
adalah sebuah perangkat yang mengontrol arus komunikasi di seluruh jaringan
komputer dengan memeriksa mereka sumber, tujuan dan jenis - dan membandingkan
ini dengan daftar yang telah ditetapkan diperbolehkan dan dilarang transaksi.
Firewall adalah
seperangkat program yang terkait, yang terletak di server gateway jaringan,
yang melindungi sumber daya dari jaringan pribadi dari pengguna dari jaringan
lain. (Istilah ini juga menyiratkan kebijakan keamanan yang digunakan dengan
program.) Suatu perusahaan dengan intranet yang memungkinkan pekerja akses ke
Internet lebih luas menginstal firewall untuk mencegah pihak lain mengakses
sumber daya sendiri swasta data dan untuk mengendalikan apa yang sumber daya
luar yang pengguna sendiri memiliki akses ke.
Bagaimana cara kerjanya?
Firewall
berada di antara komputer Anda dan internet dan izin atau blok koneksi antara
komputer Anda dan komputer lain di internet, menurut aturan yang ditetapkan
oleh Anda. Hal ini dapat membuat lebih sulit untuk memulai serangan jarak jauh
pada komputer Anda.
Ada
dua jenis firewall - perangkat lunak dan perangkat keras. Sebuah firewall
perangkat lunak adalah program yang diinstal pada komputer Anda dan hardware
firewall adalah perangkat fisik yang dihubungkan ke router broadband dan
komputer Anda melalui kabel. Mereka memiliki fungsi dasar yang sama, tetapi ada
perbedaan.
Peningkatan keamanan
Sebuah
perangkat lunak firewall tahu tentang program yang sebenarnya Anda menjalankan,
sedangkan hardware firewall hanya dapat mendeteksi sifat generik dari layanan
yang Anda gunakan - misalnya email, akses web atau pesan instan.
Sebuah
firewall perangkat lunak sehingga dapat membuat keputusan yang sangat tepat
tentang apa untuk mengizinkan atau memblokir karena dapat mendeteksi upaya
ilegal oleh program khusus untuk terhubung ke internet.
Tapi
bisa dinonaktifkan oleh beberapa program berbahaya - 'malware' - jika mereka
berhasil menginfeksi komputer Anda.Sebuah firewall hardware lebih kuat terhadap
serangan tersebut, tapi menawarkan kontrol yang kurang tepat dan lebih rumit
untuk mengatur.
Jika
Anda hanya memiliki satu firewall itu harus lunak.Tapi harus benar-benar mampu
menyembunyikan komputer Anda dari internet kecuali untuk koneksi tertentu
komputer Anda memulai.Ini disebut 'stealth mode' dan mencegah penyerang
pemindaian komputer Anda untuk kelemahan mereka bisa mengeksploitasi.
Firewall melindungi Anda terhadap:
1.
Hacker membobol komputer Anda.
2.
Worms - jenis virus yang menyebar dari komputer ke komputer melalui internet.
3.
Beberapa lalu lintas keluar berasal dari infeksi virus.
firewall Proxy
Firewall
Proxy bertindak sebagai perantara, mereka menerima semua permintaan lalu lintas
yang datang ke jaringan dengan meniru penerima sebenarnya dari lalu lintas
dalam jaringan. Setelah pemeriksaan, jika ia memutuskan untuk memberikan akses,
firewall proxy mengirimkan informasi ke komputer tujuan. Balasan komputer
tujuan dikirim ke proxy, yang repackages informasi dengan sumber alamat dari
server proxy. Melalui proses ini, istirahat firewall proxy (atau berakhir)
hubungan antara dua komputer sehingga mesin hanya pada jaringan yang berbicara
ke dunia luar.
Firewall
proxy dapat yang memeriksa konten sepenuhnya dan membuat keputusan akses
berdasarkan lebih spesifik, level granular informasi. Akses kontrol ini
bernuansa menarik bagi administrator jaringan, namun setiap aplikasi
membutuhkan proksi sendiri pada level aplikasi.Jaringan proxy-firewall juga
menderita kinerja lalu lintas yang rusak dan banyak keterbatasan dalam
mendukung aplikasi dan fungsionalitas umum.Ini akhirnya mengarah ke masalah
skalabilitas yang membuat keberhasilan pelaksanaan sulit untuk menarik
off.Untuk alasan ini, proksi firewall belum diadopsi secara luas. Pada
kenyataannya, bahkan di puncak popularitas firewall proxy di tahun 90an,
kinerja dan masalah skalabilitas adopsi terbatas untuk memilih vertikal dalam
penyebaran niche.
8.3.3
Kode Secure Mobile
Pentingnya perkembangan sistem terdistribusi modern
adalah kemampuan untuk bermigrasi kode di antara host bukan hanya migrasi data
pasif. Namun, mobile code memperkenalkan sejumlah ancaman keamanan serius.
Melindungi terhadap host berbahaya yang mencoba untuk mencuri atau memodifikasi
informasi. Masalah lainnya adalah bahwa host perlu dilindungi terhadap agen
berbahaya. Sebagian besar pengguna sistem terdistribusi tidak pakar di bidang
teknologi sistem dan tidak memiliki cara memberitahu apakah program mereka mengambil
dari host lain.
Melindungi
Sebuah Agen
Ketika agen tiba di sebuah host, yang host dengan
mudah dapat mendeteksi apakah saja telah dirusak oleh karena itu memverifikasi
negara terhadap pesan dari keadaan semula.Untuk memungkinkan agen untuk
mengumpulkan informasi sambil bergerak antara host, menyediakan aman
append-only log. Log ini ditandai oleh kenyataan bahwa data hanya ditambahkan
ke log, tidak ada cara bahwa data dapat dihapus atau diubah tanpa pemilik bisa
mendeteksi ini.
Menggunakan
hanya log-append bekerja sebagai berikut:
Ketika agen datang kepada pemiliknya, pemilik dapat
dengan mudah memverifikasi apakah log telah dirusak. Pemilik mulai membaca log
pada akhir dengan komputasi berturut K wner ~ (C) pada checksum C. Setiap
iterasi mengembalikan checksum C "ext untuk iterasi berikutnya, bersama
dengan sig (S, X) dan S untuk beberapa server S. pemilik kemudian dapat
memverifikasi apakah atau tidak maka elemen-terakhir di log pertandingan sig
(S, X). Jika demikian, elemen akan dihapus dan diproses, setelah itu Langkah
iterasi selanjutnya adalah diambil. Iterasi ini akan berhenti bila checksum
awal tercapai, atau ketika pemberitahuan pemilik bahwa log dirusak karena tanda
tangan tidak cocok.
Melindungi
Target
Meskipun melindungi mobile code jahat adalah yang
lebih penting untuk melindungi host terhadap mobile code berbahaya. Jika
mengirim agen ke dunia luar dianggap terlalu berbahaya, pengguna biasanya akan
memiliki alternatif untuk mendapatkan pekerjaan yang dimaksudkan agen. Oleh
karena itu, jika sekali memutuskan bahwa agen akan datang pengguna perlu
mengendalikan penuh. Meskipun melindungi agen dari modifikasi mungkin mustahil,
setidaknya itu adalah mungkin untuk pemilik agen untuk mendeteksi bahwa modifikasi
telah dibuat. Sebaliknya, adalah penting untuk melindungi semua sumber daya
terhadap akses yang tidak sah oleh kode download.
8.4ManajemenKeamanan
Dalamdetiktion,
kita melihatlebih dekat padamanajemen keamanan.Secara khusus, kita membedakantiga mata pelajaran.
·
Pertama, kitaperlu
mempertimbangkanmanajemen terutamasarana yangkunci publicdidistribusikan.
·
Kedua,
kita membahasmasalahamanmengelolasekelompok serverdengan
berkonsentrasi padamasalah menambahkananggotagrup baruyang dipercaya olehpara
anggotasaat ini.Jelas, dalam
menghadapilayananterdistribusi dandireplikasi, penting bahwa
keamanantidak terganggudengan mengakuiprosesberbahayake grup.
·
Ketiga,
kita memperhatikanmanajemen otorisasidengan melihatcapabili-hubungan danapa yang dikenal sebagaiatribut
sertifikat. Suatu hal yang pentingdalamsistem
terdistribusisehubungan denganmanajemen otorisasiadalah bahwasatu
prosesdapatmendelegasikanbeberapa atau semuahakakses keproses lain. Mendelegasikanhakdalam cara yang amanmemilikikehalusansendiri
sebagaikami jugadibahas dalambagian ini.
8.4.1. Manajenen Keamanan
Menyetem
Manajemen Sejauh ini, kita sudah uraikan berbagai protokol cryptographic di
mana assumcd yang berbagai kunci siap tersedia. Sebagai contoh, di (dalam)
kasus public-key cryptosystems, kita mengira bahwa suatu pengirim pesan
mempunyai kedai minuman kunci penerima pada penjualan nya sedemikian sehingga
bisa encrypt pesan untuk memastikan kerahasiaan. Demikian juga, di (dalam)
kasus pengesahan yang menggunakan suatu pusat distribusi kunci ( KDC), kita mengasumsikan
[pesta/pihak] masing-masing telah membagi bersama suatu kunci rahasia dengan
KDC. Bagaimanapun, pendirian/penetapan dan membagi-bagikan kunci bukanlah suatu
perihal sepele.Untuk/Karena ujian, pembagian kunci rahasia atas pertolongan
suatu saluran tak aman adalah ke luar dari question dan dalam banyak kesempatan
kita harus memohon pertolongan out-of-band metoda.Juga, mechan- aliran
diperlukan untuk menarik kembali kunci, yang [itu] adalah, mencegah suatu kunci
dari digunakan setelah [itu] telah disepakati atau dibuat tak berlaku.Sebagai
contoh, penarikan kembali adalah perlu ketika suatu kunci telah disepakati.
Kunci Penetapan
Mari kita
mulai dengan mempertimbangkan bagaimana kunci sesi dapat dibentuk. Kapan Alice
ingin menyediakan suatu menjamin/mengamankan saluran dengan Gerak turun naik,
dia boleh ?rst menggunakan Publik gerak turun naik menyetem untuk memulai
komunikasi [sebagai/ketika] ditunjukkan Buah ara. 8-I9. Jika Gerak turun naik
menerima, ia dapat sesudah itu menghasilkan giliran kembali dan kunci sesi
[itu] [itu] ke Alice yang encrypted dengan Kunci Publik Alice's. Dengan
encrypting kunci sesi yang bersama [sebelum/di depan] transmisi nya, [itu]
dapat dengan aman dilewati ke seberang jaringan [itu]. Suatu rencana serupa
dapat digunakan untuk menghasilkan dan mendistribusikan suatu sesi menyetem
ketika Alice dan Gerak turun naik telah berbagi suatu kunci
rahasia.Bagaimanapun, kedua-duanya metoda memerlukan [bahwa/yang] berkomunikasi
pesta telah mempunyai rata-rata tersedia untuk menetapkan suatu
menjamin/mengamankan saluran. Dengan kata lain, beberapa fon-n penetapan kunci
dan distribusi harus telah pernah berlangsung. Argumentasi yang sama
[menerapkan/berlaku] ketika suatu kunci rahasia bersama dibentuk/mapan atas
pertolongan suatu pihak ketiga dipercaya[i, seperti suatu I<Ldc. Suatu rapi
dan secara luas rencana diterapkan untuk menetapkan suatu kunci bersama ke
seberang suatu saluran tidak kuat, adalah Diffie-Hellman menyetem pertukaran (
Dif?E Dan Hellman, 1976).
Protokol
Bekerja sebagai berikut.Umpamakan bahwa Alice Dan Gerak turun naik ingin estab-
lish [adalah] suatu kunci rahasia bersama. ? Rst Kebutuhan adalah bahwa mereka
bermufakat dua sejumlah besar, n dan g itu adalah tunduk kepada sejumlah
mathematical kekayaan ( yang [yang] kita tidak mendiskusikan di sini).
Kedua-Duanya rt dan g dapat dibuat publik; kulit tidak usah [mereka/nya] dari
orang luar. Alice memungut suatu nomor;jumlah acak besar, kata[kan x, yang
(mana) dia merahasiakan. Demikian juga,
Gerak turun naik memungut sejumlah besar rahasia [milik]nya, kata[kan tahun
Dalam posisi ini ada informasi cukup untuk membangun suatu kunci rahasia,
[seperti/ketika] ditunjukkan Buah ara. 8-31. Alice Start dengan pengiriman g'
mod n untuk Apung, bersama dengan n dan g. Adalah penting untuk catat bahwa
informasi ini dapat dikirim [ketika;seperti] plaintext, karena (itu) adanya
hampir mustahil untuk menghitung x memberi g' mod n. Kapan Gerak turun naik
menerima pesan [itu], ia sesudah itu cal- culates ( g" mod rt)' yang mana
[adalah] sepadan dengan g" mod n. Sebagai tambahan, ia mengirimkan gy yang
marah/gila n ke Alice, [siapa] yang kemudian bisa menghitung ( gy mod
n)"=g'"' marah/gila n. Sebagai konsekwensi, kedua-duanya
Alice dan Gerak turun naik,
dan hanya dua itu, akan sekarang mempunyai kunci rahasia yang bersama g'y mod
n. Catat bahwa [bukan/tidak] [mereka/nya] memerlukan untuk buatan nomor;jumlah
pribadi mereka ( x dan y, berturut-turut), dikenal kepada lain. Dif?E~Hellman
dapat dipandang sebagai suatu public-key cryptosystem. Di (dalam) kasus Alice,
x adalah pribadi nya menyetem, sedangkan g" mod n adalah kunci publik nya.
Ketika kita mendiskusikan berikutnya, dengan aman membagi-bagikan orang
banyak/masyarakat kunci adalah penting [bagi/kepada] membuat Dif?E-Hellman bekerja
dalam praktek.
8.4.2
Scure Group Manajement
Banyak sistem keamanan
menggunakan layanan khusus seperti Pusat Distribusi Kunci (KDCs) atau Otoritas
Sertifikasi (CA).Layanan ini menunjukkan masalah yang sulit dalam sistem
terdistribusi.Untuk meningkatkan kepercayaan dalam layanan keamanan, perlu
untuk memberikan perlindungan tingkat tinggi terhadap semua jenis ancaman
keamanan.
Di sisi lain, juga
perlu bahwa jasa keamanan banyak menawarkan ketersediaan tinggi. Sebagai
contoh, dalam kasus KDC, setiap kali dua proses ingin mendirikan saluran
keamanan, setidaknya salah satu dari mereka akan perlu menghubungi KDC untuk
kunci rahasia bersama. Jika KDC tidak tersedia, komunikasi yang aman tidak
dapat dibangun kecuali suatu teknik alternatif untuk pembangkitan kunci tersedia,
seperti Diffie-Hellman pertukaran kunci.
Solusi untuk
ketersediaan tinggi adalah replikasi. Di sisi lain, replikasi membuat server
lebih rentan terhadap serangan keamanan. Kita sudah membahas bagaimana
komunikasi kelompok aman dapat berlangsung dengan berbagi rahasia antara
anggota kelompok.
Setiap kali sebuah
proses P ingin bergabung dengan grup G, mengirimkan permintaan bergabung JR
mengidentifikai G dan P, P T waktu lokal, dihasilkan balasan pad RP dan KpG
kunci rahasia yang dihasilkan. RP dan KpG bersama-sama dienkripsi
menggunakan kunci publik kelompok seperti yang ditunjukkan sebagai satu pesan pada Gambar. 8-33. Penggunaan RP dan KpG,
dijelaskan lebih rinci di bawah.
Permintaan bergabung JR ditandatangani oleh P, dan dikirim bersama
dengan kunci publik sertifikat P. Kami telah menggunakan notasi secara luas
diterapkan [M] A untuk menunjukkan bahwa pesan M telah ditandatangani oleh
Subjek A.
Gambar8-33Amanmengakuianggotagrup
baru
KetikaanggotakelompokQmenerima
permintaan bergabungtersebut, pertama kali mengotentikasiP, setelah itukomunikasi
dengananggota kelompok lainnyaberlangsunguntuk melihat apakahPdapat diterima
sebagaianggotakelompok.OtentikasiPberlangsungdengan cara
yang biasadengan carasertifikat. ThetimestampT
digunakanuntuk memastikanbahwa sertifikat tersebutmasihberlaku pada saatitu
dikirim.(Perhatikan bahwa kita harus
yakinbahwa waktunyabelum dirusakdengan sebagaiwcll.)anggotaKelompokQmemverifikasitanda
tangandariotoritas sertifikasidan kemudianekstrakkunci publicPdari sertifikatuntukmemeriksa
validitasJR. pada saat itu, sebuah
protokolkelompokkhususdiikutiuntuk melihat apakahsemua anggota kelompoksetuju
padamengakuiPkedalam group. Jika P diizinkan untukbergabung dengan
grup.QmengembalikankelompokmasukpesanGA, ditampilkansebagaipesanpada
Gambar2.8-33, mengidentifikasiPdan
berisiNonceN. BalasanpadaRPdigunakan
untuk mengenkripsikomunikasiCKGkuncikelompok.Selain itu, Pjugaakanmemerlukangi-OUP privatkeyK5, yang
dienkripsidenganCKG. Mes-bijak
GAselanjutnyaditandatangani olehQmenggunakanKEGkunci.
ProsesPsekarang
dapatmengotentikasiQ.karena hanyaanggotakelompokyang benardapattelah
menemukankunci rahasiaKPGTheNonceNdalam protocolini tidak digunakanuntuk
keamanan,.Sebaliknya
ketikaPmengirimkan kembaliNdienkripsidenganKM,.(pesan
3), Qkemudiantahu bahwaPtelah
menerimasemua tombolyang diperlukan, dan karena
itukinimemangbergabung dengan grupPerhatikan bahwaalih-alih
menggunakanbalasanpada RP,
P danQjugabisa memilikiCKGterenkripsimenggunakanP'5kunci publik,
Namun, karenaRP'digunakan hanya sekali,
yaituuntuk enkripsikuncikomunikasikelompokdalam pesanGA»menggunakan.
RPlebih aman.Jika kunci
privatePyangpernahmengungkapkan, hal itu akan
menjadimungkin jugamengungkapkanCKG, yangakan
membahayakankerahasiaansemuakelompokcommunication.
8.4.3
Authorization Manajement
Mengelola keamanan
sistem terdistribusi juga berkaitan dengan mengelola hak akses.Dalam sistem
tidak terdistribusi, mengelola hak akses relatif mudah.Ketika pengguna baru
ditambahkan ke sistem, pengguna yang diberikan hak awal, misalnya, untuk
membuat file dan subdirektori dalam sebuah direktori tertentu, menciptakan
proses.menggunakan waktu CPU, dan sebagainya. Dalam sistem terdistribusi, hal
ini dipersulit oleh kenyataan bahwa sumber daya yang tersebar di beberapa
mesin, Jika pendekatan untuk sistem tidak terdistribusi itu harus diikuti, itu
akan diperlukan untuk membuat account untuk setiap pengguna pada setiap mesin.
Kemampuan
dan Sertifikat Atribut
Sebuah pendekatan yang
lebih baik yang telah banyak diterapkan dalam sistem terdistribusi adalah
penggunaan kemampuan.Seperti kami jelaskan secara singkat di atas, kemampuan
adalah sebuah struktur data unforge-mampu bagi sumber tertentu, menjelaskan
secara tepat tentang hak akses bahwa pemegang kemampuan memiliki hubungan
dengan sumber daya yangada.
Amoeba adalah salah
satu yang pertama obyek berbasis sistem terdistribusi.Model objek terdistribusi
adalah berbentuk objek remote. Dengan kata lain, sebuah benda berada pada
server sementara klien yang ditawarkan akses transparan ke objek yang melalui
proxy. Untuk memanggil operasi pada objek, klien melewati pemilik kemampuan
untuk sistem operasi lokal, yang kemudian menempatkan server di mana objek
berada dan sub-sequently melakukan RPC server.
Sebuah kemampuan adalah mengenali 128 bit, internal terorganisir seperti
ditunjukkan pada Gambar. 8-34. Pertama 48 bit diinisialisasi oleh server objek
ketika objek dibuat dan efektif membentuk identifier mesin-independen server
objek, disebut sebagai port server. Amoeba menggunakan penyiaran untuk membantu
mesin menemukan dimana server saat ini berada
24 bit berikutnya
digunakan untuk mengidentifikasi objek pada server tertentu. Perhatikan bahwa
port server bersama dengan obyek bentuk pengenal 72-bit system wide
mengidentifikasi secara unik untuk setiap objek dalam Amoeba. 8 bit berikutnya
digunakan untuk menentukan hak akses dari pemegang kemampuan. Akhirnya, bidang
pemeriksaan 48-bit digunakan untuk membuat kemampuan unforgeable, sebagaimana
kami jelaskan di halaman berikut .
Ketika sebuah objek
dibuat, server mengambil bidang pemeriksaan acak dan menyimpannya baik dalam
kemampuan maupun internal dalam tabel sendiri. Semua bit yang benar dalam
kemampuan baru pada awalnya, itu adalah pemilik
kemampuan yang meminta kembali kepada klien. Ketika kemampuan dikirim
kembali ke server dalam permintaan untuk melakukan operasi, file cek adalah
diverifikasi.Untuk menciptakan kemampuan terbatas, klien dapat melewati
kemampuan kembali ke server.bersama dengan tanda bit untuk hak-hak baru. Server
mengambil file cek asli dari tabel tersebut, XORs dengan hak-hak baru (yang
harus merupakan bagian dari hak-hak dalam kemampuan), dan kemudian menjalankan
hasil melalui fungsi satu arah.
Server kemudian
menciptakan kemampuan baru, dengan nilai yang sama di bidang objek, tetapi
dengan bit hak baru di bidang hak dan output dari fungsi satu arah di bidang
cek. Kemampuan baru ini kemudian dipanggil kembali. Klien dapat mengirimkan ini
kemampuan baru untuk proses lain, jika ingin. Metode menghasilkan kemampuan
terbatas diilustrasikan pada Gambar.8-35. Dalam contoh ini, pemilik telah tumed
dari semua hak kecuali satu. Misalnya, kemampuan terbatas mungkin memungkinkan
objek yang akan dibaca, tetapi tidak ada yang lain. Arti dari bidang hak
berbeda untuk setiap jenis objek hukum sejak operasi-operasi sendiri juga
bervariasi dari jenis objek ke objek jenis,
Gambar 8-35. Generasi
kemampuan terbatas dari kemampuan pemilik.
Ketika kemampuan
terbatas datang kembali ke server, server melihat dari bidang hak-hak yang
bukan merupakan kemampuan pemilik karena setidaknya satu bit tumed off. Server
kemudian menjemput nomor acak asli dari tabel tersebut, XORs dengan bidang
benar dari kemampuan.dan menjalankan hasil melalui fungsi satu arah. Jika
hasilnya setuju dengan medan cek, kemampuan diterima sebagai valid.
Sebuah generalisasi
dari kemampuan yang digunakan dalam modem sistem terdistribusi adalah
sertifikat atribut. Berbeda dengan sertifikat dibahas di atas yang digunakan
untuk memverifikasi keabsahankunci publik, atribut sertifikatyangdigunakan untuk daftartertentu (atribut,
nilai)-pasang yang
berlaku untukentitasdiidentifikasi. Secara khusus,
atribut sertifikatdapat digunakanuntuk daftarhak aksesbahwa
pemegangsertifikatmemilikisehubungan dengansumber daya diidentifikasi.
Secara
umum,otoritas sertifikasiatributdan servermengelolaentitasyangsertifikattelah
dibuattidak perlusama. Hak aksesyang
tercantumdalamsertifikatyang ditandatangani olehotoritas
sertifikasiatribut.
Delegasi
Sekarang
perhatikan masalah berikut. Seorang pengguna ingin memiliki file besar dicetak
di mana dia memiliki read-only hak akses. Agar tidak mengganggu orang lain
terlalu banyak, pengguna mengirimkan permintaan ke server cetak, meminta untuk
mulai mencetak file tidak lebih awal dari 2 jam di pagi hari. Alih-alih mengirim
seluruh file ke printer, pengguna melewati nama file ke printer sehingga dapat
menyalinnya ke direktori spooling, bila perlu, ketika benar-benar diperlukan.
Delegasi hak akses
adalah teknik penting untuk menerapkan perlindungan dalam sistem komputer dan
sistem terdistribusi, khususnya. Ide dasarnya adalah sederhana: dengan melewati
hak akses tertentu dari satu proses yang lain, menjadi lebih mudah untuk
mendistribusikan pekerjaan antara beberapa proses tanpa merugikan perlindungan
sumber daya. Dalam kasus sistem terdistribusi, proses dapat berjalan pada mesin
yang berbeda dan bahkan dalam domain administrasi berbeda seperti kami yang
bahas untuk Globus.Delegasi dapat menghindari banyak overhead sebagai pelindung
sering dapat ditangani secara lokal.
Ada beberapa cara untuk
mengimplementasikan delegasi. Pendekatan umum seperti yang dijelaskan dalam
(Neuman, 1993), adalah untuk menggunakan proxy. Sebuah proxy dalam konteks
keamanan dalam sistem komputer, adalah tanda yang memungkinkan pemiliknya untuk
beroperasi dengan hak dan keistimewaan yang sama atau terbatas sebagai subjek
yang diberikan token. (Perhatikan bahwa gagasan ini proxy berbeda dari proxy
sebagai sinonim untuk stub sisi klien. Meskipunn kita mencoba untuk menghindari
overloading.Kami membuat pengecualian di sini sebagai istilah "proxy"
dalam definisi di atas terlalu banyak digunakan untuk mengabaikan.) Sebuah
proses dapat membuat proxy dengan yang terbaik hak yang sama dan hak istimewa
itu sendiri. LFA proses menciptakan proxy baru didasarkan pada satu saat ini
memiliki, proxy diturunkan akan memiliki setidaknya pembatasan yang sama
seperti yang asli, dan mungkin lebih.
Sebelum
mempertimbangkan skema umum untuk delegasi, mempertimbangkan dua pendekatan
berikut.Pertama, delegasi relatif sederhana jika Alice tahu semua orang. Jika
dia ingin mendelegasikan hak Bob, ia hanya perlu membangun sebuah sertifikat
tersebut "Alice kata Bob memiliki hak R," seperti [A, B, R]A.
Jika Bob ingin lulus beberapa hak Charlie, ia akan meminta Charlie untuk menghubungi
Alice dan memintanya untuk sertifikat yang sesuai.
Dalam kasus sederhana
kedua Alice hanya dapat membuat sertifikat tersebut "Pembawa sertifikat
ini memiliki hak R." Namun, dalam kasus ini kita perlu untuk melindungi
sertifikat terhadap penyalinan ilegal, seperti yang dilakukan dengan aman
melewati kemampuan antara proses. Skema Neuman menangani kasus ini, serta
menghindari isu bahwa Alice perlu tahu semua orang kepada siapa hak perlu
didelegasikan.
Sebuah proxy dalam
skema Neurnan memiliki dua bagian, seperti ditunjukkan pada Gambar. 8-36.
Misalkan A proses yang menciptakan proxy. Bagian pertama dari proxy adalah satu
set C = {R, S+proxy} yang terdiri dari satu set R hak akses yang
telah didelegasikan oleh A, bersama dengan bagian dikenal publik dari rahasia
yang digunakan untuk otentikasi pemegang sertifikat Kami akan menjelaskan
penggunaan S+proxy di bawah Sertifikat membawa tanda
tangan sig (A, C) dari A, untuk melindunginya dari modifikasi Bagian kedua
berisi bagian lain dari rahasia, dinotasikan sebagai S+proxy
Adalah penting bahwa S-proxy dilindungi terhadap
pengungkapan ketika mendelegasikan hak untuk proses lain.
Gambar rahasia 8-36 .Struktur umum proxy
yang digunakan untuk delegasi.
Ketika mendelegasikan
beberapa hak-haknya, Alice memberikan daftar ditandatangani hak, bersama dengan
pertanyaan jahat , Bob. Dia juga memberikan Bob jawaban memastikan bahwa tidak
ada yang dapat mencegat itu. Bob sekarang memiliki daftar hak, ditandatangani
oleh Alice yang ia dapat menyerahkan ke, katakanlah, Charlie, bila diperlukan.
Charlie akan menanyakan ques jahat -..tion di bagian bawah daftar Jika Bob tahu
jawabannya untuk itu Charlie akan tahu f memastikan bahwa Alice memang
didelegasikan 'hak yang terdaftar untuk Bob.
Sebuah propeny penting
dari skema ini adalah bahwa Alice butuh dikonsultasikan.Dalam kenyataan, Bob
dapat memutuskan beberapa dari hak pada daftar Dave. Dalam melakukan itu, ia
juga akan memberitahu Dave jawaban atas pertanyaan sehingga Dave bisa
mengetahui daftar untuk menghadapi diserahkan kepada seseorang. Alice tidak perlu mengetahui semua
tentang Dave.
Sebuah protokol untuk
mendelegasikan dan melaksanakan hak ditunjukkan pada Gambar 8-37, Asumsikan t
di Alice dan Bob berbagi KM kunci rahasia, yang dapat digunakan untuk
mengenkripsi mes- bijak mereka mengirim satu sama lain Kemudian, Alice pertama
mengirimkan Bob sertifikat C = IR »5, l'm_yl ditandatangani dengan benar (A, C)
(kering dilambangkan lagi sebagai [R, S,, m] A).. _ Tum adalah nptpleed
toaencryipt pesan ini: dapat dikirim sebagai plaintext Hanya bagian pribadi oe
rahasia nee s yang akan dienkripsi, ditampilkan sebagai 1
Gambar 8-37. Menggunakan proxy untuk
mendelegasikan dan membuktikan kepemilikan hak akses.
Sekarang anggaplah
bahwa Bob menginginkan operasi yang akan dilakukan pada obyek yang berada pada
server tertentu. Juga, menganggap bahwa Alice berwenang untuk memiliki operasi
yang dilakukan, dan bahwa dia telah mendelegasikan hak-hak kepada Bob, Bob
menyerahkan mandat untuk server dalam bentuk sertifikat ditandatangani
Pada saat itu,
gorong-gorong akan dapat memverifikasi bahwa C belum dirusak dengan: modifikasi
ke daftar hak, atau pertanyaan jahat. akan diperhatikan, karena keduanya telah
ditandatangani oleh Alice, Namun Server belum tahu apakah Bob adalah pemilik sah
dari certificaie tersebut. Untuk verif ini server harus menggunakan rahasia
yang datang dengan C.
Ada beberapa cara untuk
menerapkan S,,,,,, dan S,.,,,,, y Sebagai contoh, asumsikan lproxy 15 3
Pllbllil kunci and.SP,,,,), kunci privatnya Z bisa. maka tantangan-Sepge Bob
dengan mengirimkan Nonce N, dienkripsi dengan S,. ',,, x_,, Dengan decrypting
hpr0xy (N) dan kembali N, Bob membuktikan dia tahu rahasia dan dengan demikian
sah tua ceruficate tersebut. Ada cara lain untuk menerapkan delegasi aman juga,
tetapi ide dasarnya adalah selalu sama: menunjukkan Anda tahu 3 tampak sakit
8.5
CONTOH: Kerberos
Kerberos merupakan
layanan autentikasi yang dikembangkan oleh MIT (MassachusettsInstitute of
Technology) Amerika Serikat, dengan bantuan dari Proyek Athena.Tujuannya adalah
untuk memungkinkan pengguna (user) dan layanan (service) untuk saling
mengautentikasi satu dengan yang lainnya. Dengan kata lain, saling menunjukkan
identitasnya.
Ø authentication server (AS)
Pendekatan dasar dari
Kerberos adalah menciptakan suatu layanan yang tujuan satu-satunya adalah untuk
autentikasi. Alasannya adalah untuk membebaskan layanan tersebut dari keharusan
untuk mengurusi record akun pengguna. Dalam pendekatan ini, pengguna dan
layanan harus memercayai Kerberos authentication server (AS).AS ini berperan
sebagai pengenal kepada mereka.
Ada tiga langkah dasar
dalam proses autentikasi pengguna kepada layanan. Pertama, pengguna mengirimkan
request kepada AS, meminta untuk mengautentikasi dirinya terhadap layanan.
Dalam langkah kedua, AS bersiap untuk memperkenalkan pengguna dan layanan satu
sama lainnya. Hal ini dilakukan dengan cara menciptakan suatu secret key yang
baru dan random yang akan dibagikan hanya kepada pengguna dan layanan.
Mengirimkan pesan
kepada pengguna yang terdiri atas dua bagian. Satu bagian mengandung random key
bersama nama layanan, yang dienkripsi dengan long-term key milik pengguna.
Bagian lainnya mengandung random key yang sama bersama nama pengguna, yang
dienkripsi dengan long-term key milik layanan. Dalam bahasa Kerberos, pesan
yang pertama sering disebut credentials, sedangkan pesan yang kedua disebut
ticket, dan random key tersebut disebut dengan session key.
Pada tahap ini, hanya
pengguna yang mengetahui session key.Pengguna membuat suatu pesan, misalnya timestamp,
kemudian dienkripsi menggunakan session key.Pesan ini disebut
authenticator.Pesan authenticator ini dikirimkan bersama dengan ticket kepada
layanan.Kemudian layanan mendekripsikan ticket dengan long-term key-nya,
mendapatkan session key, yang pada gilirannya digunakan untuk mendekripsikan
authenticator. Layanan tersebut memercayai AS, sehingga ia dapat yakin bahwa
hanya pengguna yang terdaftar yang dapat membuat authenticator semacam itu. Hal
ini mengakhiri proses autentikasi pengguna terhadap layanan. Bagaimana Kerberos
beroperasi atau bekerja akan dijelaskan dengan lebih detail pada bab
selanjutnya.
kak, materi COMMUNICATIN mata kuliah SISTEM TERDISTRIBUSI kok nga ada di posting ????
BalasHapus