SECURITY
CHAPTER 8
Prinsip
terakhir dari sistem terdistribusi yang kita bahas adalah keamanan.Keamanan
tidak berarti prinsip paling penting.Namun, orang dapat berargumentasi bahwa
itu adalah salah satu prinsip yang paling sulit, karena keamanan harus menyebar
di seluruh sistem.Sebuah desain cacat tunggal sehubungan dengan keamanan dapat
membuat semua langkah-langkah keamanan tidak berguna. Dalam bab ini, kami
berkonsentrasi pada berbagai mekanisme yang umumnya tergabung dalam sistem
terdistribusi untuk mendukung keamanan.
Kita
mulai dengan memperkenalkan isu-isu dasar keamanan. Membangun semua jenis
mekanisme keamanan ke dalam sistem tidak benar-benar masuk akal kecuali
diketahui bagaimana mekanisme tersebut akan digunakan, dan terhadap apa. Ini
mengharuskan kita tahu tentang kebijakan keamanan yang harus ditegakkan.
Gagasan tentang kebijakan keamanan, bersama dengan beberapa masalah desain umum
untuk mekanisme yang membantu menegakkan kebijakan tersebut, akan dibahas lebih
dulu. Kami juga sempat menyinggung kriptografi yang diperlukan.
Keamanan
dalam sistem terdistribusi secara kasar dapat dibagi menjadi dua bagian. Salah
satu bagian menyangkut komunikasi antara pengguna atau proses,
possibly'residing oii mesin yang berbeda. Mekanisme utama untuk memastikan
komunikasi yang aman adalah bahwa dari saluran aman.Saluran aman, dan lebih khusus
lagi, otentikasi, integritas pesan, dan kerahasiaan, dibahas dalam bagian
terpisah.Bagian lain keprihatinan otorisasi, yang berkaitan dengan memastikan
bahwa proses hanya mendapat hak akses ke sumber daya dalam sistem terdistribusi
itu berhak. Otorisasi tercakup dalam bagian terpisah yang berhubungan dengan
kontrol akses.Selain mekanisme kontrol akses tradisional, kami juga fokus pada
pengendalian akses saat harus berurusan dengan kode mobile seperti agen.
Saluran yang aman dan kontrol akses membutuhkan mekanisme untuk membagikan kunci kriptografi, tetapi juga mekanisme untuk menambah dan menghapus pengguna dari sistem.Topik ini dibahas oleh apa yang dikenal sebagai manajemen keamanan. Dalam bagian terpisah, kami membahas masalah yang berhubungan dengan pengelolaan kunci kriptografi, manajemen kelompok aman, dan membagikan sertifikat yang membuktikan pemilik berhak untuk mengakses sumber daya tertentu.
Saluran yang aman dan kontrol akses membutuhkan mekanisme untuk membagikan kunci kriptografi, tetapi juga mekanisme untuk menambah dan menghapus pengguna dari sistem.Topik ini dibahas oleh apa yang dikenal sebagai manajemen keamanan. Dalam bagian terpisah, kami membahas masalah yang berhubungan dengan pengelolaan kunci kriptografi, manajemen kelompok aman, dan membagikan sertifikat yang membuktikan pemilik berhak untuk mengakses sumber daya tertentu.
Akhirnya,
kita membuat hal-hal konkret dengan membahas dua contoh bagaimana keamanan
muncul dalam sistem terdistribusi.Sesame adalah sistem yang lengkap yang dapat
diintegrasikan ke dalam sistem terdistribusi untuk menangani keamanan. Sebagai
contoh yang sama sekali berbeda dari keamanan sistem terdistribusi, kita secara
singkat membahas sistem pembayaran elektronik, yang memungkinkan pengguna dan
pedagang di lokasi yang berbeda untuk aman melakukan suatu transaksi pemesanan
dan pembayaran barang.
8.1 Pengantar
Keamanan
Kita
mulai deskripsi kita tentang keamanan pada sistem terdistribusi dengan
mengambil melihat beberapa masalah keamanan umum. Pertama, perlu untuk
mendefinisikan apa sistem yang aman. Kami membedakan kebijakan keamanan dari
mekanisme keamanan, dan lihatlah sistem wide-area Globus yang kebijakan
keamanan telah secara eksplisit dirumuskan.Kekhawatiran kedua kami adalah untuk
mempertimbangkan beberapa masalah desain umum untuk sistem aman.Akhirnya, kita
secara singkat membahas beberapa algoritma kriptografi, yang memainkan peran
kunci dalam desain protokol keamanan.
8.1.1 Ancaman
Keamanan, Kebijakan, dan Mekanisme
Keamanan
dalam sistem komputer sangat terkait dengan gagasan keteguhan.
Secara informal, sistem komputer diandalkan adalah salah satu yang dibenarkan
kita percaya tc memberikan layanan (Laprie, 1995). Seperti disebutkan dalam
Bab. 7, ketergantunganmeliputi ketersediaan, kehandalan, keamanan, dan
kemudahan perawatan.Namun, jika kita ingin menaruh kepercayaan kita dalam
sebuah sistem komputer, maka kerahasiaan dan integritas juga harus
diperhitungkan.Kerahasiaan mengacu pada properti dari sebuah sistem komputer
dimana informasi yang diungkapkan hanya kepada pihak yang berwenang. Integritas
adalah karakteristik bahwa perubahan terhadap aset sistem dapat dibuat hanya
dengan cara resmi. Dengan kata lain, perubahan yang tidak tepat dalam sistem
komputer yang aman harus terdeteksi dan dipulihkan. Aset utama dari setiap
sistem komputer perangkat keras, perangkat lunak, dan data.
Cara
lain untuk melihat keamanan dalam sistem komputer adalah bahwa kita mencoba
untuk melindungi layanan dan data yang menawarkan terhadap ancaman keamanan.
Ada empat jenis ancaman keamanan untuk mempertimbangkan (Pfleeger, 1997):
1.
Penangkapan
2.
Gangguan
3.
Modifikasi
4.
Pembuatan
Intersepsi
mengacu pada situasi bahwa pihak yang tidak sah telah memperoleh akses ke
layanan atau data. Sebuah contoh khas dari intersepsi adalah di mana komunikasi
antara dua pihak telah terdengar oleh orang lain. Intersepsi juga terjadi
ketika data disalin secara ilegal, misalnya, setelah membobol direktori pribadi
seseorang dalam sistem file.
Contoh dari gangguan adalah ketika file rusak atau hilang. Secara umum, gangguan mengacu pada situasi di mana layanan atau data menjadi tidak tersedia, tidak dapat digunakan, hancur, dan sebagainya. Dalam pengertian ini, penolakan serangan layanan dimana seseorang jahat mencoba untuk membuat layanan tidak dapat diakses pihak lain adalah ancaman keamanan yang mengklasifikasikan sebagai gangguan.
Contoh dari gangguan adalah ketika file rusak atau hilang. Secara umum, gangguan mengacu pada situasi di mana layanan atau data menjadi tidak tersedia, tidak dapat digunakan, hancur, dan sebagainya. Dalam pengertian ini, penolakan serangan layanan dimana seseorang jahat mencoba untuk membuat layanan tidak dapat diakses pihak lain adalah ancaman keamanan yang mengklasifikasikan sebagai gangguan.
Modifikasi
tidak sah melibatkan perubahan data atau merusak layanan sehingga tidak lagi
melekat dengan spesifikasi aslinya.Contoh modifikasi termasuk mencegat dan
kemudian mengubah data yang dikirimkan, merusak entri basis data, dan mengubah
program sehingga diam-diam log aktivitas user-nya.Fabrikasi mengacu pada
situasi di mana data atau kegiatan tambahan yang dihasilkan yang biasanya tidak
akan ada. Sebagai contoh, seorang penyusup mencoba untuk menambahkan sebuah
entri ke file password atau database.Demikian juga, kadang-kadang mungkin untuk
masuk ke sistem dengan memutar pesan sebelumnya terkirim.Kita
akan menemukan contoh-contoh tersebut kemudian dalam bab ini.Perhatikan bahwa
gangguan, modifikasi, dan fabrikasi masing-masing dapat dilihat sebagai bentuk
pemalsuan data.Hanya menyatakan bahwa sistem harus dapat melindungi diri
terhadap semua ancaman keamanan yang mungkin bukan cara untuk benar-benar membangun
sebuah sistem yang aman.
Yang
pertama diperlukan adalah deskripsi persyaratan keamanan, yaitu, kebijakan
keamanan.Sebuah kebijakan keamanan menjelaskan secara tepat tindakan entitas
dalam sistem diperbolehkan untuk mengambil dan mana yang dilarang.Entitas
termasuk pengguna, layanan, data, mesin, dan sebagainya.Setelah kebijakan
keamanan telah ditetapkan, menjadi mungkin untuk berkonsentrasi pada mekanisme
keamanan dimana kebijakan dapat ditegakkan. Mekanisme keamanan penting adalah:
1.
Enkripsi
2.
Otentikasi
3.
Otorisasi
4.
Audit
Enkripsi
adalah fundamental bagi keamanan komputer.Enkripsi mengubah data menjadi
sesuatu penyerang tidak dapat mengerti. Dengan kata lain, enkripsi menyediakan
sarana untuk melaksanakan kerahasiaan. Selain itu, enkripsi memungkinkan kita
untuk memeriksa.Data hether telah dimodifikasi.Dengan demikian juga menyediakan
dukungan untuk pemeriksaan integritas.Otentikasi digunakan untuk memverifikasi
identitas yang diklaim pengguna, klien, server, dan sebagainya. Dalam kasus
klien, premis dasar adalah bahwa sebelum layanan akan melakukan pekerjaan untuk
klien, layanan harus belajar identitas klien. Biasanya, pengguna dikonfirmasi
melalui password, tetapi ada banyak cara lain untuk authenticaxe klien.Setelah
klien telah dikonfirmasi, maka perlu untuk memeriksa apakah klien berwenang
untuk melakukan tindakan yang diminta.Akses ke catatan dalam database medis
adalah contoh yang khas. Tergantung pada siapa yang mengakses database, izin
dapat diberikan untuk membaca catatan, untuk mengubah bidang-bidang tertentu
dalam catatan, atau untuk menambah atau menghapus catatan.
Alat
audit yang digunakan untuk melacak klien yang diakses apa, dan jalan mana.
Meskipun audit tidak benar-benar memberikan perlindungan terhadap ancaman keamanan,
audit log dapat sangat berguna untuk analisis pelanggaran keamanan, dan
subsequendy mengambil tindakan terhadap penyusup. Untuk alasan ini, penyerang
umumnya tertarik untuk tidak meninggalkan jejak apapun yang akhirnya dapat
menyebabkan mengekspos identitas mereka.Dalam pengertian ini, akses penebangan
membuat menyerang kadang-kadang bisnis yang lebih berisiko.
Contoh: The
Globus Arsitektur Keamanan
Gagasan
kebijakan keamanan dan peran mekanisme keamanan bermain di sistem terdistribusi
untuk menegakkan kebijakan tersebut sering terbaik dijelaskan dengan melihat
pada contoh konkret.Pertimbangkan kebijakan keamanan yang ditetapkan untuk
sistem wide-area Globus (Chervenak et al., 2000). Globus adalah sistem
pendukung perhitungan terdistribusi skala besar di mana banyak host, file, dan
sumber daya lain secara bersamaan digunakan untuk melakukan suatu perhitungan.
Lingkungan tersebut juga disebut sebagai komputasi grid (Foster dan Kesselman,
1998).Sumber daya dalam grid ini sering berada dalam domain administrasi yang
berbeda yang mungkin terletak di berbagai belahan dunia.
Karena pengguna dan sumber daya yang luas dalam jumlah dan tersebar luas di seluruh domain administrasi yang berbeda, keamanan sangat penting. Untuk merancang dan benar menggunakan mekanisme keamanan, perlu untuk memahami apa sebenarnya perlu dilindungi, dan apa asumsi tersebut sehubungan dengan keamanan. Menyederhanakan hal agak, kebijakan keamanan untuk Globus memerlukan delapan pernyataan berikut, yang kami jelaskan di bawah (Foster et al, 1998.):
Karena pengguna dan sumber daya yang luas dalam jumlah dan tersebar luas di seluruh domain administrasi yang berbeda, keamanan sangat penting. Untuk merancang dan benar menggunakan mekanisme keamanan, perlu untuk memahami apa sebenarnya perlu dilindungi, dan apa asumsi tersebut sehubungan dengan keamanan. Menyederhanakan hal agak, kebijakan keamanan untuk Globus memerlukan delapan pernyataan berikut, yang kami jelaskan di bawah (Foster et al, 1998.):
1.
Lingkungan
terdiri dari beberapa domain administrasi.
2.
Operasi lokal
(yaitu, operasi yang dilakukan hanya dalam satu domain) dikenakan hanya
kebijakan keamanan domain lokal.
3.
Operasi global
(yaitu, operasi yang melibatkan beberapa domain) meminta pemrakarsa untuk
diketahui dalam setiap domain di mana operasi dilakukan.
4.
Operasi antara
entitas dalam domain yang berbeda memerlukan otentikasi bersama.
5.
Global
authentication menggantikan otentikasi lokal.
6.
Mengontrol akses
ke sumber daya tunduk pada keamanan lokal saja.
7.
Pengguna dapat
mendelegasikan hak untuk proses.
8.
Sekelompok
proses dalam domain yang sama dapat berbagi kredensial.
Globus
mengasumsikan bahwa lingkungan terdiri dari beberapa domain administrasi,
dimana setiap domain memiliki kebijakan keamanan lokal sendiri.Hal ini
diasumsikan bahwa kebijakan lokal tidak dapat diubah hanya karena domain
berpartisipasi dalam Globus, atau dapat kebijakan keseluruhan Globus menimpa
keputusan keamanan lokal. Akibatnya, keamanan di Globus akan membatasi diri
pada operasi yang mempengaruhi beberapa domain.
Terkait dengan masalah ini adalah bahwa Globus mengasumsikan bahwa operasi yang sepenuhnya lokal ke domain yang tunduk hanya pada kebijakan keamanan yang domain. Dengan kata lain, jika operasi dimulai dan dilaksanakan dalam satu domain, semua masalah keamanan akan dilakukan dengan menggunakan langkah-langkah keamanan lokal saja. Globus tidak akan memberlakukan langkah-langkah tambahan.
Terkait dengan masalah ini adalah bahwa Globus mengasumsikan bahwa operasi yang sepenuhnya lokal ke domain yang tunduk hanya pada kebijakan keamanan yang domain. Dengan kata lain, jika operasi dimulai dan dilaksanakan dalam satu domain, semua masalah keamanan akan dilakukan dengan menggunakan langkah-langkah keamanan lokal saja. Globus tidak akan memberlakukan langkah-langkah tambahan.
Kebijakan
keamanan The Globus menyatakan bahwa permintaan untuk operasi dapat dimulai
baik secara global maupun lokal. Pemrakarsa, baik itu pengguna atau proses
bertindak atas nama pengguna, harus secara lokal dikenal dalam setiap domain di
mana operasi yang dilakukan. Misalnya, pengguna mungkin memiliki nama global
yang dipetakan ke nama domain lokal yang spesifik. Bagaimana tepatnya pemetaan
yang terjadi yang tersisa untuk setiap domain.
Sebuah
pernyataan kebijakan penting adalah bahwa operasi antara entitas dalam domain
yang berbeda memerlukan otentikasi bersama.Ini berarti, misalnya, bahwa jika
pengguna dalam satu domain memanfaatkan layanan dari domain lain, maka
identitas pengguna harus diverifikasi. Sama pentingnya adalah bahwa pengguna
harus yakin bahwa ia menggunakan layanan ia berpikir ia gunakan. Kami kembali
ke otentikasi, luas, kemudian dalam bab ini.
Di
atas dua isu kebijakan digabungkan menjadi persyaratan keamanan berikut. Jika
identitas pengguna telah diverifikasi, dan user yang juga dikenal secara lokal
di domain, maka ia dapat bertindak sebagai yang dikonfirmasi untuk domain
lokal. Ini berarti bahwa Globus mensyaratkan bahwa tindakan otentikasi sistem
yang sesuai cukup untuk mempertimbangkan bahwa pengguna telah dikonfirmasi
untuk domain jauh (di mana pengguna yang dikenal) ketika mengakses sumber daya
dalam domain tersebut.Otentikasi tambahan dengan domain yang seharusnya tidak
perlu.Setelah pengguna (atau proses bertindak atas nama pengguna) telah
dikonfirmasi, masih diperlukan untuk memverifikasi hak akses yang tepat widi
terhadap sumber daya. Misalnya, pengguna yang ingin memodifikasi file pertama
harus dikonfirmasi, setelah itu dapat diperiksa apakah user yang sebenarnya
diizinkan untuk memodifikasi file.Kebijakan keamanan Globus menyatakan bahwa
keputusan kontrol akses tersebut yang seluruhnya terbuat lokal dalam domain di
mana sumber daya diakses berada.Untuk menjelaskan pernyataan ketujuh,
pertimbangkan agen mobile di Globus yang melakukan tugas dengan memulai
beberapa operasi di domain yang berbeda, satu demi satu.Seperti agen itu
mungkin memakan waktu lama untuk menyelesaikan tugasnya. Untuk menghindari
komunikasi dengan pengguna atas nama siapa agen bertindak, Globus mensyaratkan
bahwa proses dapat didelegasikan subset dari hak-hak pengguna. Akibatnya,
dengan mengesahkan agen dan kemudian memeriksa hak, Globus harus dapat
memungkinkan agen untuk memulai operasi tanpa harus menghubungi pemilik agen.
Sebagai
pernyataan kebijakan akhir, Globus mensyaratkan bahwa kelompok proses yang
berjalan dengan satu domain dan bertindak atas nama pengguna yang sama dapat
berbagi satu set kredensial. Seperti yang akan dijelaskan di bawah ini, mandat
yang diperlukan untuk otentikasi. Pernyataan ini pada dasarnya membuka jalan
untuk solusi scalable untuk otentikasi dengan tidak menuntut bahwa setiap
proses membawa mengatur sendiri unik kredensial.Kebijakan keamanan Globus
memungkinkan desainer untuk berkonsentrasi pada pengembangan solusi secara
keseluruhan untuk keamanan.Dengan asumsi bahwa setiap domain memberlakukan
kebijakan keamanan sendiri, Globus berkonsentrasi hanya pada ancaman keamanan
yang melibatkan beberapa domain.Secara khusus, kebijakan keamanan menunjukkan
bahwa masalah desain penting adalah representasi dari pengguna dalam domain
jauh, dan alokasi sumber daya dari domain jauh untuk user atau wakilnya.Apa Globus
karena itu terutama perlu, mekanisme untuk otentikasi lintas domain, dan
membuat pengguna dikenal dalam domain jauh.Untuk tujuan ini, dua jenis
perwakilan diperkenalkan. Sebuah proxy pengguna adalah proses yang diberikan
izin untuk bertindak atas nama pengguna untuk jangka waktu terbatas. Sumber
daya diwakili oleh proxy sumber daya. Sebuah proxy sumber daya adalah proses
yang berjalan dalam satu domain tertentu yang digunakan untuk menerjemahkan
operasi global pada sumber daya dalam operasi lokal yang sesuai dengan
kebijakan keamanan bahwa domain tertentu. Sebagai contoh, proxy pengguna
biasanya akan berkomunikasi dengan proxy sumber daya ketika akses ke sumber
daya yang diperlukan.
Arsitektur
keamanan Globus dasarnya terdiri dari entitas seperti pengguna, proxy pengguna,
proxy sumber daya, dan proses umum. Entitas ini terletak di domain dan
berinteraksi satu sama lain. Secara khusus, arsitektur keamanan mendefinisikan
empat protokol yang berbeda, seperti ditunjukkan pada Gambar.8-1 (lihat juga
Foster et al., 1998).
Protokol pertama menjelaskan secara tepat bagaimana pengguna dapat membuat proxy pengguna dan hak delegasi ke proxy tersebut. Secara khusus, dalam rangka untuk membiarkan tindakan proksi pengguna atas nama user-nya, pengguna memberikan proxy set sesuai mandat.Protokol kedua menentukan bagaimana proxy pengguna dapat meminta alokasi sumber daya dalam domain jauh. Pada intinya, protokol memberitahu proxy sumber daya untuk membuat proses dalam domain jauh setelah saling otentikasi telah terjadi. Proses itu merupakan pengguna (seperti halnya
Protokol pertama menjelaskan secara tepat bagaimana pengguna dapat membuat proxy pengguna dan hak delegasi ke proxy tersebut. Secara khusus, dalam rangka untuk membiarkan tindakan proksi pengguna atas nama user-nya, pengguna memberikan proxy set sesuai mandat.Protokol kedua menentukan bagaimana proxy pengguna dapat meminta alokasi sumber daya dalam domain jauh. Pada intinya, protokol memberitahu proxy sumber daya untuk membuat proses dalam domain jauh setelah saling otentikasi telah terjadi. Proses itu merupakan pengguna (seperti halnya
domain yang sama dengan sumber
daya yang diminta. Proses ini diberikan akses ke sumber daya tunduk pada
keputusan kontrol akses lokal ke domain tersebut.
Sebuah proses
dibuat dalam domain jauh dapat memulai perhitungan tambahan di domain lainnya.
Akibatnya, protokol diperlukan untuk mengalokasikan sumber daya dalam domain
jauh seperti yang diminta oleh proses selain proxy pengguna. Dalam Globus,
jenis alokasi dilakukan melalui proxy pengguna, dengan membiarkan proses
memiliki asosiasi pengguna permintaan proxy alokasi sumber daya, pada dasarnya
mengikuti protokol kedua.
Yang keempat dan terakhir protokol dalam arsitektur keamanan Globus adalah cara pengguna dapat membuat dirinya dikenal di domain. Dengan asumsi bahwa pengguna memiliki account di domain, apa yang perlu dibentuk adalah bahwa mandat systemwide dimiliki oleh proxy pengguna secara otomatis dikonversi ke kredensial yang diakui oleh domain yang spesifik. Protokol mengatur bagaimana pemetaan antara mandat global dan lokal yang bisa didaftarkan oleh pengguna dalam sebuah tabel pemetaan lokal untuk domain tersebut.
Yang keempat dan terakhir protokol dalam arsitektur keamanan Globus adalah cara pengguna dapat membuat dirinya dikenal di domain. Dengan asumsi bahwa pengguna memiliki account di domain, apa yang perlu dibentuk adalah bahwa mandat systemwide dimiliki oleh proxy pengguna secara otomatis dikonversi ke kredensial yang diakui oleh domain yang spesifik. Protokol mengatur bagaimana pemetaan antara mandat global dan lokal yang bisa didaftarkan oleh pengguna dalam sebuah tabel pemetaan lokal untuk domain tersebut.
Rincian
spesifik dari masing-masing protokol yang dijelaskan dalam (Foster et al.,
1998). Isu penting di sini adalah bahwa arsitektur keamanan Globus mencerminkan
kebijakan keamanan seperti yang disebutkan di atas. Mekanisme yang digunakan
untuk mengimplementasikan arsitektur yang, khususnya protokol disebutkan di
atas, yang umum untuk banyak sistem terdistribusi, dan dibahas secara luas
dalam bab ini. Kesulitan dalam merancang aman sistem terdistribusi tidak begitu
banyak disebabkan oleh mekanisme keamanan, tetapi dengan memutuskan bagaimana
mekanisme tersebut akan digunakan untuk menegakkan kebijakan keamanan. Pada
bagian berikutnya, kita mempertimbangkan beberapa keputusan desain.
1.1.2
Masalah Desain
Sebuah sistem
terdistribusi, atau sistem komputer dalam hal ini, harus menyediakan jasa
keamanan di mana berbagai kebijakan keamanan dapat diimplementasikan. Ada
sejumlah isu desain penting yang perlu dipertimbangkan ketika menerapkan
layanan keamanan untuk tujuan umum. Pada halaman berikut, kita akan membahas
tiga masalah ini: fokus kontrol, layering mekanisme keamanan, dan kesederhanaan
(lihat juga Gollmann, 1999).
Fokus Kontrol
Ketika
mempertimbangkan perlindungan dari (mungkin didistribusikan) aplikasi, pada
dasarnya ada tiga pendekatan yang berbeda yang dapat diikuti, seperti
ditunjukkan pada Gambar. 8-2. Pendekatan pertama adalah untuk berkonsentrasi
langsung pada perlindungan data yang terkait dengan aplikasi tersebut. Dengan
langsung, kita berarti bahwa terlepas dari berbagai operasi yang mungkin dapat
dilakukan pada item data, perhatian utama adalah untuk memastikan integritas data.
Biasanya, jenis perlindungan terjadi dalam sistem database di mana berbagai
kendala integritas dapat dirumuskan bahwa secara otomatis diperiksa setiap kali
item data yang dimodifikasi (lihat, misalnya, UU-man, 1988).
Pendekatan
kedua adalah untuk berkonsentrasi pada perlindungan dengan menentukan mana yang
operasi dapat dipanggil, dan oleh siapa, kapan data atau sumber daya tertentu
untuk diakses. Dalam hal ini, fokus kontrol sangat terkait dengan akses
mekanisme kontrol, yang akan kita bahas secara ekstensif kemudian dalam bab
ini. Sebagai contoh, dalam sistem berbasis objek, mungkin memutuskan untuk
menentukan untuk setiap metode yang dibuat tersedia untuk klien klien yang
diijinkan untuk memanggil metode tersebut. Atau, metode kontrol akses dapat diterapkan
pada sebuah antarmuka keseluruhan yang ditawarkan oleh suatu objek, atau mati
seluruh obyek itu sendiri. Pendekatan ini sehingga memungkinkan untuk berbagai
granularities kontrol akses.
Pendekatan
ketiga adalah untuk fokus langsung pada pengguna dengan mengambil
langkah-langkah dengan mana hanya orang-orang tertentu memiliki akses ke
aplikasi tersebut, terlepas dari operasi mereka ingin melaksanakan. Sebagai
contoh, sebuah database dalam bank dapat dilindungi dengan menolak akses kepada
siapapun kecuali manajemen yang lebih tinggi. Sebagai contoh lain, di banyak
universitas, data dan aplikasi tertentu dibatasi untuk digunakan oleh anggota
fakultas dan staf saja, sedangkan akses oleh siswa tidak diperbolehkan.
Akibatnya, kontrol difokuskan pada mendefinisikan peran bahwa pengguna memiliki,
dan sekali peran pengguna telah diverifikasi, akses ke sebuah sumberdaya baik
diberikan atau ditolak. Sebagai bagian dari merancang aman peran kemudian dalam
bab ini.
Layering
Mekanisme Keamanan
Suatu hal yang penting dalam merancang sistem yang aman adalah untuk
memutuskan di mana mekanisme tingkat keamanan harus ditempatkan. Tingkat dalam
konteks ini berkaitan dengan organisasi logis dari suatu sistem menjadi
beberapa lapisan. Sebagai contoh, jaringan komputer sering disusun dalam
lapisan berikut beberapa model referensi, seperti yang kita bahas dalam Bab. 2.
Dalam Chap. 1, kami memperkenalkan organisasi sistem terdistribusi terdiri dari
lapisan yang terpisah untuk aplikasi, middleware, layanan sistem operasi, dan
kernel sistem operasi. Menggabungkan organisasi berlapis jaringan komputer dan
sistem terdistribusi, menyebabkan kira-kira dengan apa yang ditampilkan pada
Gambar. 8-3.
Pada
intinya, Gambar.8-3memisahkanlayanantujuan
umumdarilayanan komunikasi.Pemisahan
inipenting untuk memahamilayeringkeamanandalam sistemterdistribusidan,
khususnya, gagasankepercayaan.Perbedaan
antara
1997). Di mana mekanisme keamanan
lapisan ditempatkan tergantung pada kepercayaan klien memiliki dalam bagaimana
aman layanan berada dalam lapisan tertentu.Sebagai contoh, pertimbangkan sebuah
organisasi yang terletak di lokasi yang berbeda yang terhubung melalui layanan
komunikasi seperti Switched Data Service Multimegabit (SMDS). Jaringan SMDS
dapat dianggap sebagai tulang punggung tingkat link yang menghubungkan berbagai
jaringan area lokal di lokasi mungkin secara geografis, seperti ditunjukkan
pada Gambar. 8-4 (untuk informasi lebih lanjut tentang SMDS see (Klessig dan
Tesink, 1995).
Keamanan dapat
diberikan dengan menempatkan perangkat enkripsi pada setiap router SMDS,
seperti yang juga ditampilkan pada Gambar. 8-4. Perangkat ini secara otomatis
mengenkripsi dan mendekripsi paket yang dikirim antara situs, tetapi sebaliknya
tidak menyediakan komunikasi yang aman antara host di situs yang sama. Jika
Alice di situs A mengirimkan pesan ke Bob di situs B, dan dia khawatir tentang
pesannya dicegat, ia setidaknya harus percaya bahwa enkripsi lalu lintas
intersite untuk bekerja dengan baik. Ini berarti, misalnya, bahwa ia harus
mempercayai administrator sistem pada kedua situs telah mengambil langkah yang
tepat terhadap gangguan dengan perangkat.
Sekarang
anggaplah bahwa Alice tidak mempercayai keamanan lalu lintas intersite. Dia
kemudian dapat memutuskan untuk mengambil tindakan sendiri dengan menggunakan
layanan transportasi tingkat keamanan seperti SSL. SSL singkatan dari Secure
Socket Layer dan dapat digunakan untuk aman mengirim pesan di koneksi TCP. Kami
akan membahas rincian SSL di Chap. 11 ketika membahas keamanan di Web. Yang penting
untuk dicatat adalah bahwa SSL memungkinkan Alice untuk membuat sambungan aman
ke Bob. Semua pesan tingkat transportasi akan dienkripsi dan pada tingkat SMDS
juga, tapi itu bukan urusan Alice. Dalam kasus ini, Alice harus menaruh
kepercayaan ke dalam SSL. Dengan kata lain, dia percaya SSL yang aman.
Dalam sistem
terdistribusi, mekanisme keamanan sering ditempatkan dalam lapisan middleware.
Jika Alice tidak percaya SSL, dia mungkin ingin menggunakan layanan RPC aman
setempat. Sekali lagi, dia harus mempercayai layanan RPC ini untuk melakukan
apa yang dijanjikan, seperti tidak membocorkan informasi atau benar otentikasi
klien dan server.
Pelayanan keamanan yang ditempatkan di lapisan middleware dari sistem terdistribusi dapat dipercaya hanya jika layanan yang mereka andalkan untuk menjadi aman memang aman. Sebagai contoh, jika sebuah layanan RPC aman sebagian dilakukan dengan cara SSL, kemudian percaya pada layanan RPC tergantung pada seberapa banyak kepercayaan seseorang dalam SSL. Jika keamanan SSL tidak dipercaya, maka tidak ada kepercayaan dalam keamanan dari layanan RPC.
Pelayanan keamanan yang ditempatkan di lapisan middleware dari sistem terdistribusi dapat dipercaya hanya jika layanan yang mereka andalkan untuk menjadi aman memang aman. Sebagai contoh, jika sebuah layanan RPC aman sebagian dilakukan dengan cara SSL, kemudian percaya pada layanan RPC tergantung pada seberapa banyak kepercayaan seseorang dalam SSL. Jika keamanan SSL tidak dipercaya, maka tidak ada kepercayaan dalam keamanan dari layanan RPC.
Distribusi Mekanisme Keamanan
Dependensi
antara layanan mengenai kepercayaan mengarah pada gagasan Computing Basis
Trusted (TCB). TCB adalah himpunan semua mekanisme keamanan dalam
(terdistribusi) sistem komputer yang diperlukan untuk menegakkan kebijakan
keamanan. Semakin kecil TCB, semakin baik. Jika sistem terdistribusi dibangun
sebagai middleware pada sistem operasi jaringan yang ada, keamanan tergantung
pada keamanan yang mendasari sistem operasi lokal. Dengan kata lain, TCB dalam
sistem terdistribusi dapat mencakup sistem operasi lokal di berbagai host.
Pertimbangkan
sebuah file server dalam sebuah sistem berkas terdistribusi. Seperti server
mungkin perlu mengandalkan mekanisme perlindungan berbagai yang ditawarkan oleh
sistem operasi lokal. Mekanisme tersebut termasuk tidak hanya orang-orang untuk
melindungi file terhadap akses oleh proses selain file server, tetapi juga
mekanisme untuk melindungi file server dari yang jahat dibawa turun.Sistem
terdistribusi middleware berbasis sehingga membutuhkan kepercayaan dalam sistem
operasi lokal yang ada mereka bergantung pada. Jika kepercayaan tersebut tidak
ada, dien bagian dari fungsi sistem operasi lokal mungkin perlu dimasukkan ke
dalam sistem terdistribusi itu sendiri. Pertimbangkan sebuah sistem operasi
mikrokernel, di mana layanan sistem operasi yang paling dijalankan sebagai
proses user biasa. Dalam hal ini, sistem file, misalnya, dapat sepenuhnya
digantikan oleh salah satu disesuaikan dengan kebutuhan spesifik mati dari
sistem terdistribusi, termasuk langkah-langkah keamanan berbagai perusahaan.
Perhatikan bahwa pendekatan ini secara bertahap dapat menggantikan sistem
terdistribusi berbasis middleware oleh sistem operasi terdistribusi seperti
yang telah kita bahas dalam Bab. 1.
Konsisten
dengan pendekatan ini adalah untuk memisahkan layanan keamanan dari jenis
layanan dengan mendistribusikan layanan di seluruh mesin yang berbeda
tergantung pada keamanan yang diperlukan. Sebagai contoh, untuk sistem file
terdistribusi aman, dimungkinkan untuk mengisolasi file server dari klien
dengan menempatkan server pada mesin dengan sistem operasi dipercaya, mungkin
menjalankan sistem file aman berdedikasi. Klien dan aplikasi mereka ditempatkan
pada mesin yang tak dikenal.Pemisahan ini efektif mengurangi TCB untuk jumlah
yang relatif kecil dari mesin dan komponen perangkat lunak. Dengan kemudian
melindungi mesin-mesin terhadap serangan keamanan dari luar, kepercayaan
keseluruhan dalam keamanan sistem terdistribusi dapat ditingkatkan. Mencegah
klien dan aplikasi mereka akses langsung ke layanan penting diikuti dalam
Antarmuka Mengurangi untuk Secure System Komponen (RISSC) pendekatan, seperti
yang dijelaskan dalam (Neumann, 1995). Dalam pendekatan RISSC, setiap keamanan
server kritis ditempatkan pada mesin yang terpisah terisolasi dari sistem
pengguna akhir menggunakan tingkat rendah antarmuka jaringan yang aman, seperti
ditunjukkan pada Gambar. 8-5. Klien dan aplikasi mereka berjalan di mesin yang
berbeda dan dapat mengakses server aman hanya melalui antarmuka jaringan.
Kesederhanaan
Isu
lain desain penting yang berkaitan dengan memutuskan di mana lapisan untuk
menempatkan mekanisme keamanan adalah kesederhanaan. Merancang sistem komputer
aman umumnya dianggap sebagai tugas yang sulit.Akibatnya, jika seorang desainer
sistem dapat menggunakan beberapa, mekanisme sederhana yang mudah dipahami dan
dipercaya untuk bekerja, semakin baik.Sayangnya, mekanisme sederhana sering
tidak cukup untuk melaksanakan kebijakan keamanan.Pertimbangkan lagi situasi di
mana Alice ingin mengirim pesan ke Bob seperti dibahas di atas. Enkripsi
tingkat link adalah mekanisme sederhana dan mudah dimengerti untuk melindungi
terhadap intersepsi lalu lintas pesan intersite: Namun, jauh lebih diperlukan
jika Alice ingin memastikan bahwa hanya Bob akan menerima pesannya. Dalam hal
ini, layanan otentikasi pengguna tingkat yang diperlukan, dan Alice mungkin
perlu menyadari bagaimana layanan tersebut bekerja dalam rangka untuk menempatkan
kepercayaannya di dalamnya.Tingkat otentikasi pengguna sehingga mungkin
memerlukan setidaknya gagasan kunci kriptografi dan kesadaran mekanisme seperti
sertifikat, meskipun fakta bahwa layanan keamanan banyak yang sangat otomatis
dan tersembunyi dari pengguna.
Dalam
kasus lain, aplikasi itu sendiri secara inheren kompleks dan memperkenalkan
keamanan hanya membuat keadaan menjadi lebih buruk. Sebuah aplikasi domain
contoh yang melibatkan protokol keamanan kompleks (seperti yang kita bahas
nanti dalam bab ini) adalah bahwa sistem pembayaran digital. Kompleksitas
pembayaran digital sering disebabkan oleh fakta bahwa beberapa pihak perlu
berkomunikasi untuk melakukan pembayaran.Dalam kasus ini, adalah penting bahwa
mekanisme yang mendasari yang digunakan untuk mengimplementasikan protokol
relatif sederhana dan mudah dimengerti. Kesederhanaan akan memberikan
kontribusi kepercayaan bahwa pengguna akhir akan dimasukkan ke dalam aplikasi
dan, lebih penting lagi, akan memberikan kontribusi untuk meyakinkan para
desainer bahwa sistem tidak memiliki lubang keamanan.
1.1.2 Kriptografi
Dasar untuk keamanan dalam sistem
terdistribusi adalah penggunaan teknik kriptografi.Ide dasar dari penerapan
teknik ini adalah sederhana. Pertimbangkan pengirim S ingin mengirimkan pesan m
ke R. penerima Untuk melindungi pesan terhadap ancaman keamanan, pengirim
pertama mengenkripsi menjadi sebuah pesan m dimengerti \ dan kemudian
mengirimkan m 'untuk R. R, pada gilirannya, harus mendekripsi diterima pesan ke
dalam bentuk m aslinya.
Enkripsi dan dekripsi yang dilakukan
dengan menggunakan metode kriptografi parameter dengan kunci, seperti
ditunjukkan pada Gambar.8-6. Bentuk asli dari pesan yang dikirimkan disebut
plaintext, ditunjukkan sebagai P pada Gambar.8-6, bentuk terenkripsi yang
disebut sebagai ciphertext, digambarkan sebagai C.
Untuk
menggambarkan berbagai protokol keamanan yang digunakan dalam membangun layanan
keamanan untuk sistem terdistribusi, hal ini berguna untuk memiliki notasi
untuk berhubungan plaintext, ciphertext, dan kunci. Setelah konvensi penulisan
umum, kita akan menggunakanC = EK (P) untuk menunjukkan bahwa ciphertext C
diperoleh dengan mengenkripsi plaintext P menggunakan kunci K. Demikian juga, P
= DK {C) digunakan untuk mengekspresikan dekripsi ciphertext C menggunakan
kunci K, sehingga plaintext P .
Kembali ke contoh kita ditunjukkan pada Gambar.8-6, sementara mentransfer pesan sebagai ciphertext C, ada tiga serangan yang berbeda yang kita butuhkan untuk melindungi, dan enkripsi yang membantu.
Kembali ke contoh kita ditunjukkan pada Gambar.8-6, sementara mentransfer pesan sebagai ciphertext C, ada tiga serangan yang berbeda yang kita butuhkan untuk melindungi, dan enkripsi yang membantu.
Pertama,
penyusup dapat mencegat pesan tanpa baik pengirim atau penerima menyadari bahwa
menguping terjadi. Tentu saja, jika pesan yang dikirim telah dienkripsi
sedemikian rupa sehingga tidak dapat dengan mudah didekripsi tanpa kunci yang
tepat, intersepsi tidak berguna: penyusup hanya akan melihat data yang tidak
penting. (By the way, fakta saja bahwa pesan sedang dikirim terkadang cukup
bagi penyusup untuk menarik kesimpulan. Misalnya, jika selama krisis dunia
jumlah lalu lintas ke Gedung Putih tiba-tiba turun ke nol sementara jumlah lalu
lintas pergi ke sebuah gunung tertentu di Colorado meningkat dengan jumlah yang
sama, mungkin ada informasi yang berguna dalam mengetahui bahwa.)
Tipe
kedua dari serangan yang perlu ditangani adalah bahwa memodifikasi
pesan.Memodifikasi plaintext mudah, memodifikasi ciphertext yang telah
dienkripsi dengan baik jauh lebih sulit karena penyusup pertama harus
mendekripsi pesan sebelum bermakna dapat memodifikasinya. Selain itu, ia juga
harus benar mengenkripsi lagi atau penerima mungkin melihat bahwa pesan telah
dirusak.
Jenis
ketiga adalah serangan ketika memasukkan penyusup pesan terenkripsi ke dalam
sistem komunikasi, mencoba untuk membuat R percaya pesan-pesan ini datang dari
S. Sekali lagi, seperti yang akan kita lihat nanti dalam bab ini, enkripsi
dapat membantu melindungi terhadap serangan tersebut. Perhatikan bahwa jika
seorang penyusup dapat memodifikasi pesan, ia juga dapat menyisipkan pesan.
Ada
perbedaan mendasar antara sistem kriptografi yang berbeda, berdasarkan pada
apakah atau tidak enkripsi dan kunci dekripsi adalah sama. Dalam cryptosystem
simetris, kunci yang sama digunakan untuk mengenkripsi dan mendekripsi pesan.
Dengan kata lain,
P
- DK (EK (P))
Kriptografi
Symmetric juga disebut sebagai kunci rahasia atau sistem kunci bersama, karena
pengirim dan penerima yang diperlukan untuk berbagi kunci yang sama, dan untuk
memastikan perlindungan yang bekerja, tombol ini bersama harus dirahasiakan,
tidak ada orang lain yang diizinkan untuk melihat kunci. Kami akan menggunakan
notasi KA B untuk menunjukkan kunci bersama oleh A dan B.
Dalam
cryptosystem asimetris, kunci untuk enkripsi dan dekripsi berbeda, tetapi
bersama-sama membentuk pasangan yang unik. Dengan kata lain, ada KE terpisah
kunci untuk enkripsi dan satu untuk dekripsi, KD, sehingga
P
= DKO (EKI {P))
Salah
satu kunci dalam kriptografi asimetris bersifat rahasia, yang lain dibuat
publik. Untuk alasan ini, kriptografi asimetris juga disebut sebagai sistem
kunci publik. Dalam apa yang berikut, kita menggunakan notasi untuk menunjukkan
kunci publik milik A, dan K4 sebagai kunci pribadi yang sesuai.Mengantisipasi
diskusi rinci tentang protokol keamanan kemudian dalam bab ini, yang salah satu
enkripsi atau kunci dekripsi yang benar-benar membuat masyarakat tergantung
pada bagaimana tombol digunakan. Misalnya, jika Alice ingin mengirim pesan
rahasia kepada Bob, dia harus menggunakan kunci publik Bob untuk mengenkripsi
pesan. Karena Bob adalah satu-satunya memegang kunci dekripsi pribadi, ia juga
satu-satunya orang yang dapat mendekripsi pesan.
Di
sisi lain, anggaplah bahwa Bob ingin tahu pasti bahwa pesan yang ia baru saja
menerima benar-benar datang dari Alice. Dalam hal ini, Alice dapat menjaga
kunci enkripsi nya pribadi untuk mengenkripsi pesan dia mengirimkan. Jika Bob
berhasil dapat mendekripsi pesan menggunakan kunci publik Alice (dan plaintext
dalam pesan memiliki informasi yang cukup untuk memberi makna bagi Bob), dia
tahu pesan itu pasti berasal dari Alice, karena kunci dekripsi unik terkait
dengan kunci enkripsi .Kita kembali ke algoritma tersebut secara rinci di
bawah.
Salah
satu aplikasi akhir kriptografi dalam sistem terdistribusi adalah penggunaan
fungsi hash. Sebuah fungsi hash H mengambil pesan m panjang sewenang-wenang
sebagai masukan dan menghasilkan bit string h memiliki panjang tetap sebagai
output:
h
= H {m)
Sebuah
h hash sebanding dengan bit ekstra yang ditambahkan ke pesan dalam sistem
komunikasikation untuk memungkinkan deteksi kesalahan, seperti cek edundancy
cyclicr (CRC).
Fungsi
hash yang digunakan dalam sistem kriptografi memiliki sejumlah properti.
Pertama, mereka adalah fungsi satu arah, yang berarti bahwa komputasi tidak
layak untuk menemukan m masukan yang sesuai dengan output h dikenal. Di sisi
lain, komputasi / 1 m dari mudah. Kedua, mereka memiliki sifat resistensi
tabrakan yang lemah, yang berarti bahwa diberi m input dan output terkait h = H
(m), merupakan komputasi layak untuk menemukan yang lain, yang berbeda masukan
m '* m, sehingga H (m) = H (m '). Akhirnya, fungsi hash kriptografi juga
memiliki properti tahan tabrakan yang kuat, yang berarti bahwa, bila hanya
diberikan H, merupakan komputasi layak untuk menemukan dua yang berbeda nilai
input m dan m ', sehingga H (m) = Nya').
Sifat
yang mirip berlaku untuk setiap fungsi enkripsi E dan tombol yang digunakan.
Selanjutnya, untuk setiap fungsi enkripsi E, itu harus komputasi tidak layak
untuk menemukan kunci K ketika diberi plaintext P dan terkait ciphertext C = EK
(P). Demikian juga, analog dengan resistensi tabrakan, ketika diberi plaintext
P dan K kunci, itu harus mustahil untuk menemukan K kunci lain 'sehingga EK {P)
= EK-(P).
Seni
dan ilmu merancang algoritma untuk sistem kriptografi memiliki sejarah panjang
(Kahn, 1967), dan membangun sistem yang aman sering mengejutkan sulit, atau
bahkan tidak mungkin (Schneier, 2000).Hal ini di luar cakupan buku ini untuk
membahas salah satu dari algoritma ini secara rinci. Namun, untuk memberikan
beberapa kesan kriptografi dalam sistem komputer, kita akan secara singkat
menyajikan tiga algoritma representatif. Informasi lengkap mengenai algoritma
kriptografi ini dan lainnya dapat ditemukan dalam (Kaufman et al, 1995;.Menezes
et al "1996, dan Schneier, 1996).Sebelum kita masuk ke rincian dari
berbagai protokol, Gambar.8-7 merangkum notasi dan singkatan kita gunakan.
Notation
|
Description
|
KA, B
|
Secret key shared by A and B
|
|
Public key of A
|
|
Private key of A
|
Symmetrickriptografi: DES
Contoh
pertamadarialgoritmakriptografiadalahData EncryptionStandard(DES), yang digunakan
untukkriptografisimetris. DESdirancang untuk
beroperasipada 64-bitblok data. Satu
blokditransformasikan menjaditerenkripsi(64 bit) blokoutput
dalam16 putaran, di manasetiap putaranmenggunakan
kunci48-bit yang berbeda
untukenkripsi. Masing-masing16kunciberasal darimaster
key56-bit, seperti ditunjukkan
pada Gambar. 8-8(a). Sebelumblok
inputmulai16nyaputaranenkripsi, pertama-tama subjectkepermutasiawal,yangterbaliktersebutkemudianditerapkan
padaoutputterenkripsiyang mengarah keblokoutput akhir.
Setiap
putaranenkripsiidanaublok64-bit
yang dihasilkan olehputaransebelumnya saya-1sebagai input,
seperti ditunjukkan pada Gambar. 8-8(b).
64bitdibagi menjadibagiankiriL, _idanbagian
kananmasing-masing berisi32 bit. Bagian kanandigunakan
untukbagian kiridi babak berikutnya, yaitu, L, -=i. Kerja kerasyang dilakukandalam
fungsimangier/. Fungsi ini membutuhkanblokj32-bitsebagai
input, bersama dengan48-bit
kunci Khdan menghasilkanblok32-bityangXOR denganmenghasilkanRt.
(. XORmerupakan singkatan
darioperasieksklusifatau) FungsimangierpertamamemperluasKe
blok48-bit dan XORsdenganKi.
Hasilnyadibagi menjadidelapanpotonganenambit masing-masing.
Setiappotonganini kemudian dimasukkanke dalamS-kotak yang berbeda, yang merupakan
operasiyang penggantimasing-masing dari64kemungkinaninput6-bit menjadi satudari16 kemungkinanoutput4-bit.
Delapanpotonganoutputempatbit
masing-masingkemudian digabungkanmenjadi sebuahnilai 32-bit dan permutedlagi.Kunci48-bit AT, -untuk
putaraniberasal darikunci master56-bit sebagai berikut. Pertama, kunci masterpermuteddandibagi menjadi dua bagian28-bit.
Untuksetiap putaran, masing-masing setengahdiputarpertamasatu
ataudua bitke kiri, setelah itu 24 bityang diambil.
Bersamadengan 24bitdaridiputarsetengah lainnya, kunci48-bit con¬dibangun.Rinciansatu
putaranenkripsiditunjukkan pada Gambar. 8-9.
Gambar
8.8. (a) prinsip DES garis besar satu putaran enkripsi
Prinsip DES cukup sederhana, namun
algoritma sulit untuk istirahat menggunakan metode analisis. Menggunakan
serangan brute-force dengan hanya mencari kunci yang akan melakukan pekerjaan
telah menjadi mudah sebagaimana telah ditunjukkan dalam beberapa kali.
Menggunakan DES tiga kali dalam mode enkripsi-dekripsi-enkripsi khusus dengan
kunci yang berbeda tampaknya aman untuk saat ini.
Apa yang membuat DES sulit untuk
menyerang dengan analisis adalah bahwa alasan di balik desain tidak pernah
jelas. Sebagai contoh, telah menunjukkan bahwa lainnya S-box daripada yang saat
ini digunakan dalam standar, membuat algoritma substansial lebih mudah untuk
istirahat (lihat Pfleeger, 1997 untuk analisa singkat DES).Sebuah alasan untuk desain
dan penggunaan dari S-box diterbitkan hanya setelah "baru" model
serangan telah dirancang pada 1990-an. DES terbukti cukup tahan terhadap
serangan ini, dan desainer yang mengungkapkan bahwa model baru dirancang sudah
diketahui mereka ketika mereka mengembangkan DES pada tahun 1974 (Coppersmith,
1994).
DES telah digunakan sebagai teknik
enkripsi standar selama bertahun-tahun, tapi saat ini sedang dalam proses
digantikan oleh blok algoritma Rijndael 128 bit. Ada juga varian dengan tombol
yang lebih besar dan blok data yang lebih besar. Algoritma telah dirancang
untuk menjadi cukup cepat sehingga bahkan dapat diimplementasikan pada smart
card, yang merupakan wilayah aplikasi semakin penting bagi kriptografi.
Gambar
8-9. Rincian pembangkitan kunci per-bulat dalam DES.
Kriptografi Public-Key: RSA
Contoh kedua dari algoritma kriptografi
banyak digunakan untuk sistem kunci publik: RSA, dinamai penemunya Rivest,
Shamir, dan Adleman (1978). Keamanan RSA berasal dari fakta bahwa tidak ada
metode yang dikenal efisien menemukan faktor prima dari jumlah besar.Hal ini
dapat ditunjukkan bahwa setiap bilangan bulat dapat ditulis sebagai produk dari
bilangan prima. Misalnya, 2100 dapat ditulis sebagai
2100 = 2x2x3x5x5x7
membuat
2, 3, 5, dan 7 faktor prima pada tahun 2100. Di RSA, kunci pribadi dan publik
yang dibangun dari bilangan prima yang sangat besar (terdiri dari ratusan digit
desimal). Ternyata, melanggar RSA adalah setara dengan menemukan dua bilangan
prima.Sejauh ini, ini telah menunjukkan untuk menjadi komputasi tidak layak
meskipun matematika bekerja pada masalah selama berabad-abad.
Menghasilkan
kunci pribadi dan publik membutuhkan empat langkah:
1. Pilih
dua bilangan prima yang sangat besar, p dan q.
2. Hitung
n = p xq dan z = ip - 1) x {q - 1).
3. Pilih
nomor d yang relatif prima terhadap z.
4. Hitung
jumlah e sehingga e x d = 1 mod z
Salah satu nomor, katakanlah d, dapat
kemudian digunakan untuk dekripsi, sedangkan e digunakan untuk enkripsi. Hanya
satu dari dua dibuat publik, tergantung pada apa algoritma yang digunakan
untuk.
Mari kita mempertimbangkan kasus (topi
Alice ingin menjaga dia mengirimkan pesan ke Bob rahasia. Dengan kata lain, dia
ingin memastikan bahwa tidak ada seorang pun kecuali Bob dapat mencegat dan
membaca pesan padanya. RSA menganggap setiap pesan m menjadi hanya string bit.
Setiap pesan pertama dibagi menjadi panjang tetap blok, dimana setiap blok mit
diartikan sebagai bilangan biner, harus berada dalam interval 0 <m, <n.
Untuk mengenkripsi pesan m, pengirim
menghitung untuk setiap blok m, nilai Cj = m '(mod n), yang kemudian dikirim ke
penerima. Dekripsi di sisi penerima berlangsung dengan komputasi mt = cf (mod
n). Perhatikan bahwa untuk enkripsi, baik e dan n dibutuhkan, sedangkan
dekripsi membutuhkan pengetahuan nilai-nilai d dan n.
Ketika membandingkan RSA kriptografi
simetris seperti DES, RSA memiliki kelemahan menjadi komputasi yang lebih
kompleks.Ternyata, mengenkripsi pesan menggunakan RSA adalah sekitar 100-1000
kali lebih lambat dari DES, tergantung pada teknik pelaksanaan yang digunakan.
Akibatnya, banyak sistem kriptografi RSA menggunakan untuk bertukar hanya
berbagi kunci dalam cara yang aman, tetapi jauh lebih sedikit untuk benar-benar
mengenkripsi data "normal". Kita akan melihat contoh dari kombinasi
dua teknik ini kemudian berhasil bagian.
Fungsi hash: MD5
Sebagai contoh terakhir dari algoritma
kriptografi banyak digunakan, kita lihatlah MD5 (Rivest, 1992). MD5 adalah
fungsi hash untuk menghitung 128-bit, panjang tetap message digest dari panjang
string masukan biner sewenang-wenang. Input string pertama melangkah untuk
total panjang 448 bit (modulo 512), setelah itu panjang bit string asli
ditambahkan sebagai integer 64-bit. Akibatnya, input dikonversi menjadi
serangkaian 512-bit blok.
Struktur algoritma ditunjukkan pada Gambar.
8-10. Dimulai dengan beberapa constant nilai 128-bit, hasil algoritma di k
fase, di mana k adalah jumlah blok 512-bit yang terdiri dari pesan empuk. Pada
setiap fase, 128-bit menggali dihitung dari blok 512-bit data yang berasal dari
pesan empuk, dan 128-bit digest dihitung dalam fase sebelumnya. Sebuah fase di
MD5 terdiri dari empat putaran perhitungan, di mana setiap putaran menggunakan
salah satu dari empat fungsi berikut:
F (x, y, z) = (x DAN y) ATAU ((TIDAK x)
DAN z)
G (x, y, z) = (x DAN z) ATAU (y DAN
(TIDAK z))
H (x, y, z) = x XOR XOR y z
I (x, y, z) = y XOR (x OR (TIDAK z))
Masing-masing
fungsi beroperasi pada variabel 32-bit x, y, dan z. Untuk menggambarkan
bagaimana fungsi-fungsi ini digunakan, mempertimbangkan 512-bit blok b dari
pesan empuk yang sedang diproses selama fase k. Blok b dibagi menjadi 16
subblocks 32-bit
Gambar
8-10. Struktur MD5.
b0, b; ¿) 5.Selama putaran pertama,
fungsi F digunakan untuk mengubah empat variabel (dinotasikan sebagai p, q, r,
dan s, masing-masing) di 16 iterasi seperti ditunjukkan pada Gambar.8-11
Variabel-variabel dibawa ke setiap putaran berikutnya, dan setelah fase suatu
telah selesai, diteruskan ke tahap berikutnya. Ada total 64 standar konstanta
C,. Notasi j: <ss: / t digunakan untuk menunjukkan kiri memutar: bit dalam x
dialihkan «posisi ke kiri, di mana sedikit bergeser dari kiri ditempatkan di
posisi paling kanan.
Gambar 8-11 16 iterasi
selama putaran pertama dalam fase di MD5
Putaran kedua
menggunakan fungsi G dengan cara yang sama, sedangkan H dan / digunakan di
babak ketiga dan keempat, masing-masing. Setiap langkah demikian terdiri dari
64 iterasi, setelah tahap berikutnya dimulai, tapi sekarang dengan nilai-nilai
yang p, q, r, s dan memiliki pada saat itu.
8.2 SALURAN SECURE
Dalam bab-bab
sebelumnya, kita sering menggunakan model client-server sebagai cara mudah
untuk mengatur sistem terdistribusi. Dalam model ini, server mungkin
didistribusikan dan direplikasi, tetapi juga bertindak sebagai klien sehubungan
dengan server lain. Ketika mempertimbangkan keamanan pada sistem terdistribusi,
hal ini berguna untuk kembali berpikir dalam hal klien dan server.Secara
khusus, membuat sistem terdistribusi mengamankan dasarnya bermuara pada dua isu
utama.Masalah pertama adalah bagaimana membuat komunikasi antara klien dan
server yang aman.Komunikasi yang aman memerlukan otentikasi pihak yang
berkomunikasi, tetapi juga memastikan integritas pesan dan mungkin kerahasiaan
juga.Sebagai bagian dari masalah ini, kita juga perlu mempertimbangkan
melindungi komunikasi dalam sekelompok server.
Isu kedua adalah bahwa
otorisasi: sekali server telah menerima permintaan dari klien, bagaimana bisa
mengetahui apakah bahwa klien berwenang untuk memiliki permintaan yang
dilakukan? Otorisasi berkaitan dengan masalah akses pengendalian terhadap
sumber daya, yang akan kita bahas secara ekstensif dalam bagian berikutnya.
Pada bagian ini, kami berkonsentrasi untuk melindungi komunikasi dalam sistem
terdistribusi.
Masalah melindungi
komunikasi antara klien dan server, dapat dianggap dalam hal menyiapkan saluran
aman antara berkomunikasi ikatan (Voydock dan Kent, 1983).Sebuah saluran aman
melindungi pengirim dan penerima terhadap intersepsi, modifikasi, dan fabrikasi
pesan.Ini tidak pasti juga melindungi terhadap gangguan. Melindungi pesan
terhadap intersepsi dilakukan dengan memastikan kerahasiaan: saluran aman
memastikan bahwa pesan-pesan yang tidak bisa menguping oleh penyusup.
Melindungi terhadap modifikasi dan fabrication oleh penyusup dilakukan melalui protokol
untuk saling otentikasi dan integritas pesan.Pada halaman berikut, pertama kita
membahas berbagai protokol yang dapat digunakan untuk otentikasi, menggunakan
simetris serta sistem kriptografi kunci publik.Sebuah penjelasan rinci tentang
otentikasi yang mendasari logika dapat ditemukan dalam (Lampson et al
"1992).Kami mendiskusikan kerahasiaan dan integritas pesan secara
terpisah.
8.2.1 Otentikasi
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-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.
.
Gambar
8-12. Otentikasi berdasarkan kunci rahasia bersama.
Tidak ada komentar:
Posting Komentar