Algoritma AES sebagai Metode Enkripsi dalam Password Management Disusun untuk memenuhi tugas mata kuliah Keamanan Jaringan
Disusun Oleh: Yeni Wahyuningsih (0710960013) Septavia Prativi Sekar Sari (0710960047)
PROGRAM STUDI ILMU KOMPUTER JURUSAN MATEMATIKA FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS BRAWIJAYA MALANG MARET 2010
BAB I PENDAHULUAN 1.1. Latar Belakang Sistem adalah sesuatu yang berkaitan dengan hubungan (relationship). Dan suatu hubungan sepenuhnya berkenaan dengan kepercayaan (trust). Bagi sebuah usaha/bisnis yang harus berhadapan dengan ancaman keamanan jaringan, pentingnya suatu pengelolaan identitas menjadi sangat jelas dan signifikan. Akses menuju jaringan bagi pihak-pihak yang tidak berwenang dan penyalahgunaan resource dapat dilakukan baik secara internal maupun eksternal. Oleh sebab itu, kemampuan untuk mengindentifikasi pengguna (user) dan devais yang berusaha untuk melakukan akses ke jaringan merupakan langkah awal dan yang terpenting dari setiap solusi masalah keamanan. Masalah keamanan dan akses terhadap suatu jaringan dapat diatasi dengan pengelolaan password (Password Management) . Untuk menjamin keamanan dalam password management, sebaiknya turut dipertimbangkan juga proses enkripsi password sebelum disimpan, pengamanan akses menuju tempat disimpannya password tersebut, dan menjamin keamanan proses validasi sebuah password.
Kebutuhan sebuah organisasi untuk bertahan dan terus berkembang yang memanfaatkan teknologi informasi harus menggunakan metode kriptografi penyandian data yaitu enkripsi terhadap informasi yang di kirimkan maupun data yang tersimpan. Perkembangan algoritma pun semakin ramai setelah HAS dianggap tidak layak, maka dikembangkan lah Algoritma AES dalam dunia pengkodean. Aes bekerja pada platform SLL. Algoritma AES mengamankan data yang tersimpan dalam perangkat penyimpanan data, sehingga tidak mudah hilang maupun di manfaatkan oleh orang-orang yng tidak bertanggung jawab. algoritma AES (Advanced Encryption Standard) atau Rijndael sebagai salah satu metode kriptografi. Algoritma ini diketahui sangat unggul dalam pengenkripsian dan pendekripsian data. AES digunakan dalam berbagai penyandian. Salah satunya adalah untuk penyandian sandi-lewat yang digunakan pada aplikasi pengompresian data.
1.2. Tujuan Makalah ini dibuat dengan tujuan untuk memberikan pengetahuan tentang Password Management beserta algoritma pengenkripsian password yaitu AES (Advanced Encryption Standard) 256 bit dalam keamanan sebuah jaringan.
1.3. Rumusan Masalah Masalah yang akan dibahas di dalam makalah ini adalah sebagai berikut : 1. Apa yang dimaksud dengan Password Management? 2. Apa saja komponen yang ada di dalam Password Management? 3. Apa hubungan Password Management dan Algoritma AES? 4. Apa yang dimaksud dengan algoritma AES (Advanced Encryption Standard)? 5. Bagaimana mekanisme algoritma AES? 6. Bagaimana keamanan AES 256 bit?
BAB II PEMBAHASAN 2.1. Pengertian Password Management Masalah keamanan dan akses terhadap suatu jaringan dapat diatasi dengan pengelolaan password. Dengan cara seperti ini, pihak-pihak yang berkepentingan dengan suatu keamanan jaringan dapat memeriksa terlebih dahulu keabsahan identitas pengguna atau devais, menetapkan kebijakan keamanan, dan menyediakan alokasi resource bagi pengguna berdasarkan fungsi kerjanya. Pengelolaan password pada dasarnya mengkombinasikan proses dan teknologi untuk mengelola dan mengamankan akses menuju informasi/resource sekaligus melindungi profil identitas user. Setiap user (atau devais) diidentifikasi lalu akses masing-masing user dikontrol sesuai dengan hak dan batasan yang diberikan. Password management memiliki kemampuan untuk mengelola hal tersebut tersebut secara efektif baik untuk user di dalam maupun di luar perusahaan/organisasi (karyawan, pelanggan, partner bisnis, atau bahkan sebuah aplikasi, pada dasarnya semua orang atau alat yang hendak berhubungan dengan perusahaan/organisasi). Banyak definisi yang diberikan oleh para pakar dalam menjelaskan konsep pengelolaan password. Namun demikian konsep pengelolaan password secara umum dapat dipandang sebagai suatu cara untuk: Mendefinisikan identitas dari sebuah entitas/obyek (orang,tempat, alat) Menyimpan informasi-informasi yang berkaitan dengan entitas tersebut, seperti nama/pengenal, dalam sebuah tempat penyimpanan (biasanya direktori aktif) yang aman, fleksibel, dan dapat disesuaikan. Menjadikan informasi-informasi tersebut dapat diakses melalui beberapa ketentuan. Menyediakan infrastruktur yang baik, terdistribusi dan memiliki performansi yang tinggi. Mengatur hubungan antara resource dan entitas/obyek sesuai dengan konteks dan dalam waktu tertentu.
2.2. Komponen-komponen Password Management Melakukan sebuah pengelolaan password berarti meyakinkan bahwa orang yang tepat mendapatkan informasi yang tepat pada waktu yang tepat pula. Sebuah manajemen password harus melakukan: 1. Kontrol akses, hanya mengizinkan entitas yang berhak saja yang boleh memasuki jaringan, dan mengontrol tindakan yang dilakukan entitas tersebut sesaat setelah memasuki jaringan. 2. Pemisahan akses, secara otomatis mengatur akses berdasarkan identitas yang telah diverifikasi sebelumnya.
3. Melindungi jaringan, menjaga para user dari membuka peluang diserangnya jaringan seperti distributed denial of service, baik user tersebut sengaja atau tidak.
4. Mencegah
terjadinya
penyusupan,
dengan
mengatur
pertahanan
dari
serangan,
mengkarantinakan sistem yang terkena serangan sehingga tidak mempengaruhi jaringan secara keseluruhan, kemudian melakukan perbaikan.
Password management memiliki tiga fungsi dasar, yaitu : 1.
Self-service password reset, fungsi ini dapat digunakan user untuk mengubah sendiri password yang hilang karena lupa. User harus menjawab “pertanyaan” yang sebelumnya telah dibuat dan dijawab oleh user yang bersangkutan pada saat membuat password yang pertama.
2.
Password synchronization, fungsi ini memudahkan user sehingga user hanya menggunakan sebuah password untuk banyak aplikasi. Jika sebuah password telah direset, maka semua password akan diperbaharui secara otomatis.
3.
Password policy enforcement, fungsi ini menetapkan kebijakan mengenai format password baru yang boleh digunakan. Format ini sesuai dengan syarat dari sistem operasi (seperti jumlah karakter yang digunakan) atau kebijakan keamanan dari perusahaan (seperti larangan menggunakan password yang sama dengan sebelumnya).
2.3. Hubungan Password Management dengan Algoritma AES Untuk menjamin keamanan dalam password management, sebaiknya turut dipertimbangkan juga proses enkripsi password sebelum disimpan, pengamanan akses menuju tempat disimpannya password tersebut, dan menjamin keamanan proses validasi sebuah password.
Enkripsi ialah proses mengamankan suatu informasi dengan membuat informasi tersebut tidak dapat dibaca tanpa bantuan pengetahuan khusus. Dikarenakan enkripsi telah digunakan untuk mengamankan komunikasi di berbagai negara, hanya organisasiorganisasi tertentu dan individu yang memiliki kepentingan yang sangat mendesak akan kerahasiaan yang menggunakan enkripsi. Salah satu algoritma untu mengenkripsi password yang saat ini banyak digunakan adalah Algoritma AES (Advanced Encryption Standard).
2.4. Pengertian Algoritma AES (Advanced Encryption Standard) Advanced Encryption Standard. AES adalah algoritma simetrik berbasis block cipher yang mengenkripsi/mendekripsi blok berukuran 128 bit dengan panjang kunci yang beragam, yaitu 128, 192, dan 256 bit. Sehingga dikenal tiga tipe AES berdasarkan panjang kuncinya, yaitu AES-128, AES-192, dan AES-256. AES tidak berorientasi bit melainkan berorientasi byte sehingga implementasi AES ke hardware maupun software menjadi efektif. AES adalah
teknik enkripsi kunci simetris yang menggantikan Data Encryption Standard (DES). Algoritma Rijndael,dibuat oleh dua kriptologis Belgia, Vincent Rijmen and Joan Daemen, memenangkan kompetisi yang diadakan oleh NIST sehingga algoritma tersebut ditetapkan sebagai AES.
AES menyediakan enkripsi yang kuat dan telah dipilih oleh NIST sebagai Federal Information Processing Standard pada November 2001 (FIPS-197), dan pada Juni 2003 Pemerintah A.S. (NSA) mengumumkan bahwa AES cukup aman untuk melindungi informasi rahasia sampai pada tingkat TOP SECRET, yang merupakan tingkat kemanan tertinggi dan didefinisikan sebagai informasi yang akan menyebabkan "kerusakan yang sangat fatal (exceptionally grave damage)" terhadap keamanan nasional jika informasi tersebut sampai ke publik/ masyarakat.
Algoritma menggunakan salah satu dari tiga kekuatan kunci cipher: 128-, 192-, atau 256-bit kunci enkripsi (password). Setiap ukuran kunci enkripsi menyebabkan algoritma berperilaku sedikit berbeda dengan yang lainnya, jadi ukuran kunci yang lebih besar tidak hanya menawarkan jumlah bit yang lebih banyak dimana dengan hal itu anda dapat mengacak data, tetapi juga meningkatkan kompleksitas dari algoritma cipher.
2.5. Mekanisme Algoritma AES (Advanced Encryption Standard) 256 bit Garis besar Algoritma Rijndael yang beroperasi pada blok 128-bit dengan kunci 128bit adalah sebagai berikut (di luar proses pembangkitan round key): 1. AddRoundKey: melakukan XOR antara state awal (plainteks) dengan cipher key. Tahap ini isebut juga initial round. 2. Putaran sebanyak Nr – 1 kali. Proses yang dilakukan pada setiap putaran adalah : Bytes: substitusi byte dengan menggunakan tabel substitusi (S-box). ShiftRows: pergeseran baris-baris array state secara wrapping. MixColumns: mengacak data di masing-masing kolom array state. AddRoundKey: melakukan XOR antara state sekarang round key. 3. Final round: proses untuk putaran terakhir: SubBytes ShiftRows AddRoundKey
2.5.1. Transformasi Subtitusi Byte Dalam operasi ini, setiap byte yang akan dienkripsi disubtitusikan dengan nilai byte lain dengan menggunakan S-box. S-box dibuat dari multiplicative inverse dari angka yang diberikan dalam Rijndael’s finite field yang kemudian ditransformasikan dengan affine transformation :
Hasilnya kemudian di-xor dengan 9910 atau 0x6316 atau 11000112. Operasi matriks dengan xor ini ekuivalen dengan persamaan: b’i = bi b(i+4)mod8 b(i+5)mod8 b(i+6)mod8 b(i+7)mod8 ci dengan b’, b, dan c adalah array 8 bit dan nilai c adalah 01100011. Proses tersebut menghasilkan masing-masing nilai dari elemen tabel S-box yang hasilnya sebagai berikut
Seperti yang telah diketahui sebelumnya, AES merupakan algoritma simetri, yang berarti tabel subtitusi yang dibutuhkan untuk mengenkripsi berbeda dengan untuk mendekripsi. Untuk acuan tersebut, digunakanlah tabel S-box inversi sebagai berikut
Sebagai contoh, input yang akan dienkripsikan adalah 95 95 08 19 4f 6b 5c 6e c8 89 80 26 fc 75 4e 6c Dengan menggunakan S-box, hasil dari operasi ini adalah : 2a 2a 30 d4 84 7f 4a 9f e8 a7 cd f7 b0 9d 2f 50 Jika hasil tersebut ingin dikembalikan ke nilai semula sebelum operasi, nilai-nilainya dapat disubtitusikan dengan menggunakan tabel
S-box
inversi. Operasi transformasi
subtitusi byte pada proses enkripsi dan dekripsi tidak dilakukan pada putaran pertama. Operasi ini hanya dilakukan pada putaran kedua hingga terakhir.
2.5.2. Transformasi Pergeseran Baris Pada operasi ini, byte-byte pada setiap baris digeser secara memutar dengan pergeseran yang berbeda dari tiap-tiap baris. Setiap baris digeser dengan aturan tertentu untuk jenis panjang blok yang berbeda. Baris pertama blok untuk semua jenis panjang blok (128, 196, dan 256 bit) tidak digeser. Baris kedua untuk semua jenis panjang blok digeser 1 ke kiri. Pergeseran baris ketiga dan keempat untuk panjang blok 128 dan 196 bit berbeda dengan 256 bit. Pada panjang blok 128 dan 196 bit, baris ketiga digeser ke kiri sebanyak dua kali dan baris keempat digeser ke kiri sebanyak tiga kali. Pada panjang blok 256 bit, baris ketiga digeser ke kiri sebanyak tiga kali dan baris keempat digeser ke kiri sebanyak empat kali. Untuk lebih jelasnya, proses tersebut dapat dilihat sebagai berikut :
Sebagai contoh, hasil operasi ini terhadap input yang nilainya adalah output dari hasil operasi subtitusi byte sebelumnya adalah sebagai berikut : 2a 2a 30 d4 7f 4a 9f 84 cd f7 e8 a7 50 b0 9d 2f
2.5.3. Transformasi Percampuran Kolom Transformasi ini mengoperasikan blok pada masing masing kolomnya. Setiap kolom diperlakukan sebagai four-term polynomial dengan cara Galois Field (GF) (28) dan dimodulokan dengan x tetap a(x) [3], yaitu a(x) = {03}x3 + {01}x2 + {01}x + {02} Hal ini dapat dituliskan sebagai perkalian matriks sebagai berikut.: s'(x) = a(x) s(x)
dengan c adalah letak kolom, sehingga hasilnya : s’0,c = ({02}•s0,c) ({03}•s1,c) s’0,c = s0,c ({02}•s1,c) ({03}• s’0,c = s0,c s1,c ({02}•s2,c) ({03} s’0,c = ({03}•s0,c) s1,c s2,c
Jika hasil perkalian memiliki lebih dari 8 bit, bit yang lebih tidak begitu saja dibuang. Hasil tersebut di dengan 1000110112 [5]. Sebagai contoh, perkalian 11001010 dengan 11 dengan GF(2) sebagai berikut : 11001010 11 -------------- * 11001010 11001010 ---------------- xor 101011110 100011011 ---------------- xor 1000101 Nilai 1000101 merupakan hasil dari perkalian tersebut. Misalnya, jika dalam transfomasi ini input yang dipakai adalah hasil dari operasi pergeseran baris sebelumnya, hasil yang diperoleh adalah sebagai berikut : 48 cd af ac c8 0c ab 1a 24 5e d8 74 6c b8 06 fa
Transformasi ini dapat diilustrasikan sebagai berikut :
Operasi transformasi ini tidak digunakan dalam putaran terakhir, baik untuk enkripsi maupun dekripsi.
2.5.4. Transformasi Penambahan Kunci Dalam operasi transformasi ini, digunakanlah upakunci untuk masing-masing putaran yang berasal dari kunci utama dengan menggunakan jadwal kunci Rijndael (Rijndael’s key schedule)upakunci tersebut sama dengan ukura diproses. Upakunci tersebut kemudian di blok input sehingga diperoleh hasilnya Sebagai contoh, jika inputnya adalah : a3 c5 08 08 78 a4 ff d3 00 ff 36 36 28 5f 01 02 dan diperoleh upa kunci 36 8a c0 f4 ed cf 76 a6 08 a3 b6 78 31 31 27 6e Maka, hasilnya adalah a6 34 1a 00 24 dd f1 0e 62 a8 73 cf 48 b9 5d 61
2.5.5. Putaran Jumlah putaran pengoperasian blok input untuk setiap macam panjang blok berbeda j umlah putaran untuk proses enkripsi dan dekripsi tetap sama. Proses enkripsi dan dekripsi da pat digambarkan sebagai berikut :
Algoritma Rijndael mempunyai 3 parameter : 1. plaintext : array yang berukuran 16-byte, yang berisi data masukan. 2. ciphertext : array yang berukuran 16-byte, yang berisi hasil enkripsi. 3. key : array yang berukuran 16-byte, yang berisi kunci ciphering (disebut juga cipher key)
2.6. Keamanan AES (Advanced Encryption Standard) 256 bit AES adalah FIPS (Federal Information Processing Standard) bersertifikat dan pada saat ini tidak diketahui serangan langsung non-brute force terhadap AES (kecuali beberapa saluran sisi waktu serangan pada pengolahan AES yang tidak layak lingkungan melalui jaringan dan ini tidak berlaku bagi SSL pada umumnya). Pada kenyataannya keamanan AES cukup kuat untuk mendapatkan sertifikasi untuk digunakan oleh pemerintah AS untuk informasi rahasia. Desain dan kekuatan dari semua panjang kunci algoritma AES (yaitu, 128, 192 dan 256) yang cukup untuk melindungi informasi rahasia ke tingkat RAHASIA. TOP SECRET informasi akan memerlukan penggunaan baik 192 atau 256 panjang kunci. Pelaksanaan AES dalam produk yang ditujukan untuk melindungi sistem keamanan nasional dan atau informasi harus ditinjau dan disertifikasi oleh NSA sebelum akuisisi dan menggunakan mereka. Jika anda memiliki pilihan metode enkripsi, AES 256 bit adalah metode untuk memilih.
BAB III PENUTUP 3.1 Kesimpulan Password management merupakan salah satu cara meningkatkan keamanan sistem. Dengan penetapan kebijakan yang tepat dan penerapan aspek-aspek fungsional password management (autentifikasi, password management, provisioning, dan access control) yang baik tidak hanya keamanan yang diperoleh, namun efisiensi kerja dan produktivitas juga meningkat. Password management membuat infrastruktur jaringan dalam mengelola identitas user dalam jumlah besar menjadi lebih fleksibel.
AES terbukti kebal menghadapi serangan konvensional (linear dan diferensial attack) yang menggunakan statistik untuk memecahkan sandi. Kesederhanaan AES memberikan keuntungan berupa kepercayaan bahwa AES tidak ditanami trapdoor. Namun, kesederhanaan struktur AES juga membuka kesempatan untuk mendapatkan persamaan aljabar AES yang selanjutnya akan diteliti apakah persamaan tersebut dapat dipecahkan. Bila persamaan AES dapat dipecahkan dengan sedikit pasangan plaintext / ciphertext, maka riwayat AES akan berakhir. AES didesain dengan sangat hati-hati dan baik sehingga setiap komponennya memiliki tugas yang jelas. AES memiliki sifat cipher yang diharapkan yaitu : tahan menghadapi analisis sandi yang diketahui, fleksibel digunakan dalam berbagai perangkat keras dan lunak, baik digunakan untuk fungsi hash karena tidak memiliki weak(semi weak) key, cocok untuk perangkat yang membutuhkan key agility yang cepat, dan cocok untuk stream cipher. Algoritma AES atau Rijndael merupakan algoritma simetri yang sangat cocok dipakai untuk berbagai keperluan yang berkaitan dengan kriptografi saat ini. Algoritma ini banyak dipakai untuk keperluan penyandian.
DAFTAR PUSTAKA
Madaharsa ,Bernardino.2008. Algoritma AES (Advanced Encryption Standard) dan Penggunaannya
dalam
Penyandian
Pengompresian
Data.
http://74.125.155.132/search?q=cache:c1FCLZS1rF0J:webmail.informatika.org/~rinal di/Matdis/2008-009/Makalah2008/Makalah0809090.pdf+algoritma+AES+256&cd=1&hl=id&ct=clnk&gl=id&client=opera.
Diakses
pada tanggal 8 Maret 2009.
M.
Bishop.1991.
Password
Management
COMPCON
1991
Proceedings.
http://nob.cs.ucdavis.edu/~bishop/papers/. Diakses pada tanggal 8 Maret 2009.
Nina. 2009. AES 256 bit. http://www.scribd.com/doc/26771733/Aes-256-Tgs-KeamananJaringan-UAS?secret_password=&autodown=doc. Diakses pada tanggal 8 Maret 2009.
Rachman, Patria.2004. Algoritma Dan Implementasi Advanced Encryption Standard (AES). http://miqbalc.web.ugm.ac.id/gudlux/algoritma-dan-implementasi-advancedencryption-standard-aes.php. Diakses pada tanggal 8 Maret 2009.
Restia.2009.Simulasi Enkripsi-Dekripsi AES Menggunakan Library Bouncy Castle « Restia's Blog.
http://reeshtea.wordpress.com/2009/12/10/simulasi-enkripsi-dekripsi-
menggunakan-library-bouncy-castle/ . Diakses pada tanggal 8 Maret 2009.
Robby. 2006. Algoritma Kriptografi. http://74.125.155.132/search?q=cache:5mlNlanIwN4J:robby.c.staff.gunadarma.ac.id/ Downloads/files/10306/Algoritma%2BKriptografi.ppt+algoritma+AES+256&cd=8& hl=id&ct=clnk&gl=id&client=opera. Diakses pada tanggal 8 Maret 2009.