TINJAUAN PUSTAKA
Protokol Protokol adalah aturan yang berisi rangkaian langkah-langkah, yang melibatkan dua atau lebih orang, yang dibuat untuk menyelesaikan suatu kegiatan (Schneier 1996). Menurut Aprilia (2007), protokol memiliki berbagai karakteristik seperti: 1 Protokol memiliki urutan dari awal hingga akhir. 2
Setiap langkah harus dilaksanakan secara bergiliran.
3
Suatu langkah tidak dapat dikerjakan bila langkah sebelumnya belum selesai.
4
Diperlukan dua pihak atau lebih untuk melaksanakan protokol.
5
Protokol harus mencapai suatu hasil.
6
Setiap orang yang terlibat dalam protokol harus mengetahui terlebih dahulu mengenai protokol dan seluruh langkah yang akan dilaksanakan.
7
Setiap orang yang terlibat dalam protokol harus menyetujui untuk mengikutinya.
8
Protokol tidak boleh menimbulkan kerancuan (ambigu) dan tidak boleh timbul kesalahpahaman.
9 Protokol harus lengkap, harus terdapat aksi yang spesifik untuk setiap kemungkinan situasi Protokol Kriptografi Menurut Schneier (1996), protokol kriptografi adalah protokol yang menggunakan kriptografi. Orang yang berpartisipasi dalam protokol kriptografi memerlukan protokol tersebut misalnya untuk berbagi komponen rahasia untuk menghitung sebuah nilai, membangkitkan rangkaian bilangan acak, meyakinkan identitas orang lainnya (otentikasi), dan lain sebagainya. Protokol kriptografi dibangun dengan melibatkan beberapa algoritma kriptografi. Sebagian besar protokol kriptografi dirancang untuk dipakai oleh kelompok yang terdiri dari 2 orang pemakai, tetapi ada juga beberapa protokol yang dirancang untuk dipakai oleh kelompok yang terdiri dari lebih dari dua orang pemakai (misalnya pada aplikasi teleconferencing).
6
Kriptografi Menurut beberapa sumber referensi, pengertian dari Kriptografi antara lain: Kriptografi (Cryptography) adalah ilmu yang mempelajari teknik-teknik matematika yang berhubungan dengan aspek keamanan informasi seperti kerahasiaan, integritas data dan otentifikasi (Menezes et.al. 1996) Kriptografi (cryptography) merupakan ilmu dan seni penyimpanan pesan, data, atau informasi secara aman. Kriptografi merupakan bagian dari suatu cabang ilmu matematika yang disebut Cryptology. Kriptografi bertujuan menjaga kerahasiaan informasi yang terkandung dalam data sehingga informasi tersebut tidak dapat diketahui oleh pihak yang tidak sah. (Schneier 1996) Layanan Keamanan Pada dasarnya layanan keamanan yang terdapat pada sistem keamanan data adalah sebagai berikut (Menezes et.al. 1996). 1 Kerahasiaan merupakan suatu layanan yang digunakan untuk menjaga isi informasi dari semua yang tidak berwenang memilikinya. 2 Integritas data merupakan suatu layanan yang berkaitan pengubahan data dari pihak-pihak yang tidak berwenang. Integritas data dijamin dengan cara mendeteksi manipulasi data dari pihak-pihak yang tidak berwenang. Manipulasi data diartikan sebagai hal-hal yang berkaitan dengan penghapusan, penyisipan, dan penggantian data. 3 Otentikasi merupakan suatu layanan yang berhubungan dengan identifikasi entitas dan informasi itu sendiri. Dua pihak terlibat dalam komunikasi seharusnya mengidentikasi dirinya satu sama lain. Informasi
yang
disampaikan
dapat
melalui
suatu
saluran
(channel)
seharusnya
diidentifikasikan asalnya, isinya, tanggal dan waktunya. Atas dasar ini otentikasi terbagi menjadi dua kelas besar, yaitu: otentikasi entitas dan otentikasi asal data.
7
4 Non-repudiasi yang berupa suatu layanan yang ditujukan untuk mencegah terjadinya pelanggaran kesepakatan yang telah dibuat sebelumnya oleh entitas. Apabila sengketa muncul ketika suatu entitas mengelak telah melakukan komitmen tertentu, maka suatu alat untuk menangani situasi tersebut diperlukan. Misalnya, suatu entitas mendapatkan wewenang dari entitas lainnya untuk melakukan aksi tertentu, kemudian dia mengingkari wewenang yang diberikan, maka suatu prosedur yang melibatkan pihak ketiga yang terpercaya diperlukan untuk menyelesaikan sengketa itu. Ancaman Serangan Keamanan Proteksi data dan informasi dalam komunikasi komputer menjadi penting karena nilai informasi itu sendiri dan meningkatnya penggunaan komputer di berbagai sektor. Melihat kenyataan semakin banyak data yang diproses dengan komputer dan dikirim melalui perangkat komunikasi elektronik maka ancaman terhadap pengamanan data akan semakin meningkat. Menurut Stallings (2003) terdapat beberapa pola ancaman terhadap komunikasi data dalam komputer sebagai berikut: 1
Interruption Interruption terjadi bila data yang dikirimkan dari A tidak sampai pada
orang yang berhak B (Gambar 1). Interruption merupakan pola penyerangan terhadap sifat availability (ketersediaan data).
Gambar 1 Interruption. 2
Interception Serangan ini terjadi bila pihak ketiga C berhasil membaca data yang
dikirimkan (Gambar 2). Interception merupakan pola penyerangan terhadap sifat confidentiality (kerahasiaan data).
Gambar 2 Interception.
8
3 Modification Pada serangan ini pihak ketiga C berhasil merubah pesan yang dikirimkan (Gambar 3). Modification merupakan pola penyerangan terhadap sifat integrity (keaslian data).
Gambar 3 Modification. 4 Fabrication Pada serangan ini, penyerang berhasil mengirimkan data ke tujuan dengan memanfaatkan identitas orang lain (Gambar 4). Fabrication merupakan pola penyerangan terhadap sifat authenticity.
Gambar 4 Fabrication. Ancaman-ancaman tersebut di atas menjadi masalah terutama dengan semakin meningkatnya komunikasi data yang bersifat rahasia seperti: pemindahan dana secara elektronik kepada dunia perbankan atau pengiriman dokumen rahasia pada instansi pemerintah. Untuk mengantisipasi ancaman-ancaman tersebut perlu dilakukan usaha untuk melindungi data yang dikirim melalui saluran komunikasi salah satunya adalah dengan teknik enkripsi. Masalah kekuatan pengamanannya tergantung pada algoritma metode enkripsi tersebut dan juga kunci yang digunakan di dalamnya. Enkripsi dan Dekripsi Menurut Schneier (1996), dalam menjaga kerahasiaan data, kriptografi mentransformasikan data jelas (plaintext) ke dalam bentuk data sandi (ciphertext) yang tidak dapat dikenali. Ciphertext inilah yang kemudian dikirimkan oleh pengirim (sender) kepada penerima (receiver). Penerima mentransformasikan kembali ciphertext tersebut ke dalam bentuk plaintext agar dapat dikenali. Proses tranformasi dari plaintext menjadi ciphertext disebut proses encipherment atau enkripsi (encryption), sedangkan proses mentransformasikan kembali ciphertext
9
menjadi plaintext disebut proses dekripsi (decryption). Secara sederhana istilahistilah tersebut dapat digambarkan pada Gambar 5 berikut : Kunci
Plaintext
Kunci
Ciphertext Enkripsi
Plaintext Dekripsi
Gambar 5 Proses enkripsi dan dekripsi sederhana. Untuk mengenkripsi dan mendekripsi data, kriptografi menggunakan suatu algoritma (cipher) dan kunci (key). Cipher adalah fungsi matematika yang digunakan untuk mengenkripsi dan mendekripsi. Sedangkan kunci merupakan sederetan bit yang diperlukan untuk mengenkripsi dan mendekripsi data. Cryptographic system atau cryptosystem adalah suatu fasilitas untuk mengkonversikan plaintext ke ciphertext dan sebaliknya. Dalam sistem ini, seperangkat parameter yang menentukan transformasi pencipheran tertentu disebut suatu set kunci. Proses enkripsi dan dekripsi diatur oleh satu atau beberapa kunci kriptografi. Secara umum, kunci-kunci yang digunakan untuk proses pengenkripsian dan pendekripsian tidak perlu identik, tergantung pada sistem yang digunakan. Secara umum operasi enkripsi dan dekripsi dapat diterangkan secara matematis sebagai berikut : EK (M) = C (Proses Enkripsi) DK (C) = M (Proses Dekripsi) Pada saat proses enkripsi kita menyandikan pesan M dengan suatu kunci K lalu dihasilkan pesan C. Sedangkan pada proses dekripsi, pesan C tersebut diuraikan dengan menggunakan kunci K sehingga dihasilkan pesan M yang sama seperti pesan sebelumny. Dengan demikian keamanan suatu pesan tergantung pada kunci ataupun kunci-kunci yang digunakan, dan tidak tergantung pada algoritma yang digunakan. Sehingga algoritma-algoritma yang digunakan tersebut dapat dipublikasikan dan dianalisis, serta produk-produk yang menggunakan algoritma
10
tersebut dapat diproduksi massal. Tidaklah menjadi masalah apabila seseorang mengetahui algoritma yang kita gunakan. Selama ia tidak mengetahui kunci yang dipakai, ia tetap tidak dapat membaca pesan. Algoritma Kriptografi Berdasarkan kunci yang dipakai, algoritma kriptografi dapat dibedakan atas dua golongan, yaitu : a.
Symmetric Algorithms Algoritma kriptografi simetris atau disebut juga algoritma kriptografi konvensional adalah algoritma yang menggunakan kunci untuk proses enkripsi sama dengan kunci untuk proses dekripsi. Algoritma kriptografi simetris dibagi menajdi 2 kategori yaitu algoritma aliran (Stream Ciphers) dan algoritma blok (Block Ciphers). Proses penyandiannya pada algoritma aliran berorientasi pada satu bit atau satu byte data. Adapun proses penyandiannya pada algoritma blok, berorientasi pada sekumpulan bit atau byte data (per blok). Contoh algoritma kunci simetris yang terkenal adalah DES (Data Encryption Standard) dan AES (Advanced Encryption Standard).
b.
Asymmetric Algorithms Algoritma kriptografi asimetris adalah algoritma yang menggunakan kunci yang berbeda untuk proses enkripsi dan dekripsinya (Gambar 6). Algoritma ini disebut juga algoritma kunci umum (public key algorithm) karena kunci untuk enkripsi dibuat umum (public key) atau dapat diketahui oleh setiap orang, tapi kunci untuk dekripsi hanya diketahui oleh orang yang berwenang mengetahui data yang disandikan atau sering disebut kunci pribadi (private key). Contoh algoritma terkenal yang menggunakan kunci asimetris adalah RSA, SHA dan ECC. Kunci Umum Plaintext
Kunci Pribadi Ciphertext
Enkripsi
Plaintext Dekripsi
Gambar 6 Proses enkripsi dan dekripsi public key cryptography.
11
Algoritma Blowfish Menurut Schneier (1996) Blowfish merupakan block cipher 64-bit dengan panjang kunci variabel. Algoritme ini terdiri atas dua bagian: key expansion dan enkripsi data. Key expansion mengubah kunci yang dapat mencapai 448-bit menjadi beberapa array subkunci (subkey) dengan total 4168-byte. Blowfish dikembangkan untuk memenuhi kriteria disain sebagai berikut: a
Cepat, pada implementasi yang optimal Blowfish dapat mencapai kecepatan 26 clock cycle per byte.
b
Kompak, Blowfish dapat berjalan pada memori kurang dari 5 KB.
c
Sederhana, Blowfish hanya menggunakan operasi yang simpel: penambahan (addition), XOR, dan penelusuran table (table lookup) pada operand 32-bit.
d
Desainnya mudah untuk dianalisis yang membuatnya resisten terhadap kesalahan implementasi.
e
Keamanan yang variabel, panjang kunci Blowfish dapat bervariasi dan dapat mencapai 448-bit (56-byte).
RSA RSA cryptosystem adalah public-key cryptosystem yang menawarkan baik enkripsi dan tanda tangan digital (otentikasi). Ronald Rivest, Adi Shamir, dan Leonard Adleman mengembangkan sistem RSA cryptosystem pada tahun 1977. Algoritma RSA bekerja seperti berikut: ambil dua bilangan prima besar, p dan q, dan hitung hasil kalinya n = pq; n disebut dengan modulus. Pilih sebuah bilangan, e, yang lebih kecil dari n dan merupakan bilangan prima secara relatif dari (p 1)(q 1), yang artinya e dan (p 1)(q 1) tidak memiliki faktor bersama kecuali 1, kemudian temukan bilangan lain d sehingga (ed 1) dapat dibagi dengan (p 1)(q 1). Nilai-nilai e dan d masing-masing disebut eksponen publik dan privat. Kunci publik adalah pasangan (n, e); kunci privat adalah (n, d). Faktor p dan q dapat dihancurkan atau disimpan dengan kunci privat. Sulit untuk mendapatkan kunci privat d dari kunci publik (n, e). Jika seseorang dapat memfaktorkan n menjadi p dan q, maka ia bisa mendapatkan kunci privat d. Sehingga keamanan sistem RSA berdasar pada asumsi bahwa pemfaktoran sulit dilakukan.
12
Contoh bagaimana sistem RSA dapat digunakan untuk enkripsi dan tanda tangan digital (dalam prakteknya, penggunaan aktualnya sedikit berbeda) dijelaskan seperti berikut: Enkripsi: Anggap Alice ingin mengirim pesan m kepada Bob. Alice membuat ciphertext c dengan mengeksponenkan: c = me mod n, dimana e dan n adalah kunci publik Bob. Alice mengirim c kepada Bob. Untuk mendekripnya, Bob juga mengeksponenkan: m = cd mod n; hubungan antara e dan d meyakinkan bahwa Bob mendapatkan m dengan benar. Karena hanya Bob yang mengetahui d, hanya Bob yang dapat mendekrip pesan ini. Tanda Tangan Digital: Anggap Alice ingin mengirim pesan m kepada Bob sehingga Bob yakin bahwa pesannya otentik, tidak dimodifikasi, dan dari Alice. Alice membuat tanda tangan digital s dengan mengeksponenkan: s = md mod n, dimana d dan n adalah kunci privat Alice. Alice mengirim m dan s kepada Bob. Untuk memverifikasi tandatangan, Bob mengeksponenkan dan mengecek bahwa pesan m didapatkan: m = se mod n, dimana e dan n adalah kunci publik Alice. Hybrid Cryptosystem Munculnya algoritma kunci publik (public-key algorithms) merupakan suatu algoritma yang baik untuk digunakan dalam mengenkripsi kunci, namun bukan untuk mengenkripsi pesan. Hybrid cryptosystem merupakan implementasi dari algoritma simetri dan algoritma kunci publik secara bersamaan, dimana sebuah kunci sesi yang telah dienkripsi dengan algoritma simetri akan diamankan dan didistribusikan dengan menggunakan algoritma kunci publik. Fungsi Satu Arah / Fungsi Hash One-way function (fungsi hash) adalah fungsi matematika yang secara signifikan mudah untuk dihitung pada satu arah (arah maju) daripada dengan arah sebaliknya (inverse). Untuk menghitung fungsi dengan arah maju pada beberapa detik namun untuk menghitung dapat memakan waktu berbulan-bulan atau bertahun-tahun, jika semua dimungkinkan. Trapdoor one-way function adalah
13
fungsi satu arah dimana arah inversnya mudah diberikan sebuah informasi (trapdoor), tetapi sulit untuk melakukan hal sebaliknya. Public-key cryptosystems berdasar pada (dianggap) trapdoor one-way functions. Kunci publik memberikan informasi tentang instance tertentu dari fungsi, kunci privat memberikan informasi tentang trapdoor. Siapapun yang mengetahui trapdoor dapat menghitung fungsi dengan mudah dalam dua arah, tetapi siapapun yang tidak memiliki trapdoor hanya dapat menjalankan fungsi dengan mudah pada arah maju. Arah maju digunakan untuk enkripsi dan verifikasi tandatangan, arah invers digunakan untuk dekripsi dan pembuatan tandatangan. Fungsi hash adalah fungsi yang memproduksi output dengan panjang tetap dari input yang berukuran variabel. Output dari fungsi hash disebut dengan message digest. Fungsi hash memiliki karakteristik fungsi satu arah karena file asli tidak dapat dibuat dari message digest. Otentikasi Pesan dengan Fungsi Hash Otentikasi pesan dengan fungsi hash biasanya berupa tanda tangan digital. Tujuannya untuk mendeteksi modifikasi data yang tidak diotorisasi dan untuk mengotentikasi identitas dari penandatangan, Selain itu juga untuk memberikan layanan non-repudiasi. Fungsi-fungsi ini dicapai dengan meng-generate blok data yang biasanya ukurannya lebih kecil dari data asli. Blok data yang lebih kecil ini dibubuhkan pada data asli dan pada identitas pengirim. Pembubuhan ini untuk memverifikasi integritas data dan mendukung non-repudiasi. Tanda tangan digital dihasilkan dengan cara, program sinyal digital melewatkan file untuk dikirimkan melalui fungsi hash satu arah (Gambar 7). Setelah message digest dihitung, kemudian dienkripsi dengan kunci privat pengirim. Penerima kemudian mendekripsi message digest dengan menggunakan kunci publik pengirim. Jika kunci publik ini membuka message digest dan benar bahwa ia merupakan kunci publik pengirim, verifikasi pengirim telah tercapai. Verifikasi terjadi karena hanya kunci publik pengirim yang dapat mendekrip message digest yang dienkripsi dengan kunci privat pengirim. Kemudian, penerima dapat menghitung message digest dari file yang diterima menggunakan
14
fungsi hash yang identik dengan pengirim. Jika message digest identik dengan message digest yang dikirim sebagai bagian dari tanda tangan, maka pesan tidak dimodifikasi.
Gambar 7 Penggunaan tanda tangan digital untuk validasi integritas data. (Sumber: Yolanda 2007) SHA Menurut Munir (2004), Secure Hash Algorithm (SHA) adalah fungsi hash satu-arah yang dibuat oleh NIST dan digunakan bersama Digital Signature Standard (DSS). Oleh NSA, SHA dinyatakan sebagai standar fungsi hash satuarah. SHA didasarkan pada MD4 yang dibuat oleh Ronald L. Rivest dari MIT. Fungsi hash yang paling umum digunakan adalah SHA-1. SHA 1 adalah revisi terhadap SHA yang dipublikasikan pada tahun 1994. Revisi ini mengkoreksi cacat SHA yang tidak dipublikasikan. Desainnya mirip dengan keluarga fungsi hash MD4 yang dikembangkan oleh Rivest. Algoritmanya mengambil pesan yang panjangnya kurang dari 64-bit dan menghasilkan message digest 160-bit. Algoritma ini lebih lambat daripada MD5, namun message digest yang lebih besar membuatnya semakin aman dari brute-force collision dan serangan inversi. Langkah-langkah pembuatan message digest dengan SHA-1 adalah sebagai berikut: 1 Ubah pesan m menjadi message digest dengan fungsi hash SHA-1, H, 2 Tentukan bilangan acak k < q, 3 Tanda-tangan dari pesan m adalah bilangan r dan s. Hitung r dan s sebagai berikut: r = (gk mod p) mod q s = (k-1 (H(m) + x*r)) mod q 4 Kirim pesan m beserta tanda-tangan r dan s.
15
Nonce Dalam bidang teknik keamanan, nonce merupakan kepanjangan dari number used once (nomor yang digunakan hanya sekali). Umumnya bilangan ini berupa bilangan acak atau semi-acak yang digunakan dalam protokol otentikasi untuk memastikan bahwa komunikasi lama tidak dapat digunakan ulang dalam serangan balasan (replay attacks) (Ross 2001). Serangan pada Protokol Kriptografi Pada dasarnya serangan terhadap primitif dan protokol kriptografi dapat dibedakan menjadi dua jenis yaitu: •
Serangan pasif (passive attack) adalah serangan dimana penyerang hanya memonitor saluran komunikasi.
Penyerang pasif hanya
mengancam
kerahasiaan data. •
Serangan aktif (active attack) adalah serangan dimana penyerang mencoba untuk menghapus, menambahkan, atau dengan cara yang lain mengubah transmisi pada saluran. Penyerang aktif mengancam integritas data dan otentikasi, juga kerahasiaan.
Virtual Private Network (VPN) Virtual Private Network (VPN) adalah sebuah teknologi komunikasi yang memungkinkan untuk dapat terkoneksi ke jaringan publik dan menggunakannya untuk dapat bergabung dengan jaringan lokal. Dengan cara tersebut maka akan didapatkan hak dan pengaturan yang sama seperti halnya berada di dalam kantor atau LAN itu sendiri, walaupun sebenarnya menggunakan jaringan milik publik. VPN dapat terjadi antara dua end-system atau dua komputer atau antara dua atau lebih jaringan yang berbeda. VPN dapat dibentuk dengan menggunakan teknologi tunneling dan enkripsi. Koneksi VPN juga dapat terjadi pada semua layer pada protokol OSI, sehingga komunikasi menggunakan VPN dapat digunakan untuk berbagai keperluan. Dengan demikian, VPN juga dapat dikategorikan sebagai infrastruktur WAN alternatif untuk mendapatkan koneksi point-to-point pribadi antara pengirim dan penerima. Dan dapat dilakukan dengan menggunakan media apa saja, tanpa perlu media leased line atau frame relay (Talin 2010).
16
Gambar 8 Ilustrasi VPN (Sumber: Pengertian dan Cara Kerja VPN, Dhimas Nugraha, 2010).
Menurut Talin (2010), teknologi VPN menyediakan tiga fungsi utama untuk penggunaannya. Ketiga fungsi utama tersebut antara lain sebagai berikut. 1. Confidentially (Kerahasiaan) Dengan digunakannnya jaringan publik yang rawan pencurian data, maka teknologi VPN menggunakan sistem kerja dengan cara mengenkripsi semua data yang lewat melauinya. Dengan adanya teknologi enkripsi tersebut, maka kerahasiaan data dapat lebih terjaga. Walaupun ada pihak yang dapat menyadap data yang melewati internet bahkan jalur VPN itu sendiri, namun belum tentu dapat membaca data tersebut, karena data tersebut telah teracak. Dengan menerapkan sistem enkripsi ini, tidak ada satupun orang yang dapat mengakses dan membaca isi jaringan data dengan mudah. 2. Data Integrity (Keutuhan data) Ketika melewati jaringan internet, sebenarnya data telah berjalan sangat jauh melintasi berbagai negara. Pada saat perjalanan tersebut, berbagai gangguan dapat terjadi terhadap isinya, baik hilang, rusak, ataupun dimanipulasi oleh orang yang tidak seharusnya. Pada VPN terdapat teknologi yang dapat menjaga keutuhan data mulai dari data dikirim hingga data sampai di tempat tujuan.
17
3. Origin Authentication (Otentikasi sumber) Teknologi VPN memiliki kemampuan untuk melakukan autentikasi terhadap sumber-sumber pengirim data yang akan diterimanya. VPN akan melakukan pemeriksaan terhadap semua data yang masuk dan mengambil informasi dari sumber datanya. Kemudian, alamat sumber data tersebut akan disetujui apabila proses autentikasinya berhasil. Dengan demikian, VPN menjamin semua data yang dikirim dan diterima berasal dari sumber yang seharusnya. Tidak ada data yang dipalsukan atau dikirim oleh pihak-pihak lain. 4. Non-repudiation Yaitu mencegah dua perusahaan dari menyangkal bahwa mereka telah mengirim atau menerima sebuah file mengakomodasi Perubahan. 5. Kendali akses Menentukan siapa yang diberikan akses ke sebuah sistem atau jaringan, sebagaimana informasi apa dan seberapa banyak seseorang dapat menerima. Siklus Hidup Sistem Keamanan Siklus hidup sistem keamanan yang dikemukakan oleh Bishop (2003) terdiri dari 6 tahap utama dimana setiap tahap dari siklus dapat mundur (feedback) ke tahap sebelumnya bahkan tahap awal, yang dapat digambarkan pada Gambar 9 berikut. 1. Ancaman (threats)
2. Kebijakan (policy)
3. Spesifikasi (specification)
4. Disain (design)
5. Implementasi (implementation)
6. Operasi dan Pemeliharaan (operation & maintenance)
Gambar 9 Siklus hidup sistem keamanan.
18
1.
Ancaman (Threats) Ancaman adalah kekerasan potensial dalam suatu sistem keamanan. Pada
tahapan ini dilakukan identifkasi terhadap ancaman-ancaman meliputi objek yang berpotensi menjadi target serangan dan celah-celah keamanan yang dapat menimbulkan ancaman terhadap protokol yang ingin diatasi. Kemudian dilanjutkan dengan penentuan kebutuhan layanan keamanan yang menjadi fokus dari protokol. Hal ini dimaksudkan untuk persiapan mengatasi serangan akibat ancaman-ancaman yang diperkirakan akan muncul. 2.
Kebijakan (Policy) Kebijakan keamanan merupakan pernyataan tentang apa saja yang
diperbolehkan dan tidak diperbolehkan dalam protokol. Tujuannya untuk memberikan arahan dan menjadi acuan standar keamanan dalam protokol. Selain itu, kebijakan keamanan tersebut juga harus memenuhi layanan-layanan keamanan yang terdapat dalam protokol. 3.
Spesifikasi (Specification) Spesifikasi merupakan deskripsi dari metode yang digunakan protokol
dalam menyajikan keamanannya, yang berupa pernyataan fungsional dari sistem. Bentuknya bisa berupa ekspresi matematika atau bahasa lain yang digunakan, meliputi model protokol kriptografi atau teknik kriptografi yang mendukung. 4.
Disain (Design) Pada tahapan desain ini akan dilakukan penterjemahan spesifikasi dalam
bentuk komponen-komponen yang akan diimplementasikan. Disain tidak boleh melanggar ketentuan yang telah diberikan dalam spesifikasi. 5.
Implementasi (Implemetation) Tahapan
implementasi
digunakan
untuk
menghasilkan
protokol
berdasarkan disain yang telah ada. Pembuatan disain yang telah memenuhi spesifikasi akan menghasilkan aplikasi yang juga memenuhi spesifikasi tersebut.