Tuesday, September 28, 2010

Kriptografi

Kriptografi, secara umum adalah ilmu dan seni untuk menjaga kerahasiaan berita [bruce Schneier - Applied Cryptography]. Selain pengertian tersebut terdapat pula pengertian ilmu yang mempelajari teknik-teknik matematika yang berhubungan dengan aspek keamanan informasi seperti kerahasiaan data, keabsahan data, integritas data, serta autentikasi data [A. Menezes, P. van Oorschot and S. Vanstone - Handbook of Applied Cryptography]. Tidak semua aspek keamanan informasi ditangani oleh kriptografi.

Ada empat tujuan mendasar dari ilmu kriptografi ini yang juga merupakan aspek keamanan informasi yaitu :

* Kerahasiaan, adalah layanan yang digunakan untuk menjaga isi dari informasi dari siapapun kecuali yang memiliki otoritas atau kunci rahasia untuk membuka/mengupas informasi yang telah disandi.
* Integritas data, adalah berhubungan dengan penjagaan dari perubahan data secara tidak sah. Untuk menjaga integritas data, sistem harus memiliki kemampuan untuk mendeteksi manipulasi data oleh pihak-pihak yang tidak berhak, antara lain penyisipan, penghapusan, dan pensubsitusian data lain kedalam data yang sebenarnya.
* Autentikasi, adalah berhubungan dengan identifikasi/pengenalan, baik secara kesatuan sistem maupun informasi itu sendiri. Dua pihak yang saling berkomunikasi harus saling memperkenalkan diri. Informasi yang dikirimkan melalui kanal harus diautentikasi keaslian, isi datanya, waktu pengiriman, dan lain-lain.
* Non-repudiasi., atau nirpenyangkalan adalah usaha untuk mencegah terjadinya penyangkalan terhadap pengiriman/terciptanya suatu informasi oleh yang mengirimkan/membuat.

Algoritma Sandi

algoritma sandi adalah algoritma yang berfungsi untuk melakukan tujuan kriptografis. Algoritma tersebut harus memiliki kekuatan untuk melakukan (dikemukakan oleh Shannon):

* konfusi/pembingungan (confusion), dari teks terang sehingga sulit untuk direkonstruksikan secara langsung tanpa menggunakan algoritma dekripsinya
* difusi/peleburan (difusion), dari teks terang sehingga karakteristik dari teks terang tersebut hilang.

sehingga dapat digunakan untuk mengamankan informasi. Pada implementasinya sebuah algoritmas sandi harus memperhatikan kualitas layanan/Quality of Service atau QoS dari keseluruhan sistem dimana dia diimplementasikan. Algoritma sandi yang handal adalah algoritma sandi yang kekuatannya terletak pada kunci, bukan pada kerahasiaan algoritma itu sendiri. Teknik dan metode untuk menguji kehandalan algoritma sandi adalah kriptanalisa.

Dasar matematis yang mendasari proses enkripsi dan dekripsi adalah relasi antara dua himpunan yaitu yang berisi elemen teks terang /plaintext dan yang berisi elemen teks sandi/ciphertext. Enkripsi dan dekripsi merupakan fungsi transformasi antara himpunan-himpunan tersebut. Apabila elemen-elemen teks terang dinotasikan dengan P, elemen-elemen teks sandi dinotasikan dengan C, sedang untuk proses enkripsi dinotasikan dengan E, dekripsi dengan notasi D.

Enkripsi : E(P) = C

Dekripsi : D(C) = P atau D(E(P)) = P

Secara umum berdasarkan kesamaan kuncinya, algoritma sandi dibedakan menjadi :

* kunci-simetris/symetric-key, sering disebut juga algoritma sandi konvensional karena umumnya diterapkan pada algoritma sandi klasik
* kunci-asimetris/asymetric-key

Berdasarkan arah implementasi dan pembabakan jamannya dibedakan menjadi :

* algoritma sandi klasik classic cryptography
* algoritma sandi modern modern cryptography

Berdasarkan kerahasiaan kuncinya dibedakan menjadi :

* algoritma sandi kunci rahasia secret-key
* algoritma sandi kunci publik publik-key

Pada skema kunci-simetris, digunakan sebuah kunci rahasia yang sama untuk melakukan proses enkripsi dan dekripsinya. Sedangkan pada sistem kunci-asimentris digunakan sepasang kunci yang berbeda, umumnya disebut kunci publik(public key) dan kunci pribadi (private key), digunakan untuk proses enkripsi dan proses dekripsinya. Bila elemen teks terang dienkripsi dengan menggunakan kunci pribadi maka elemen teks sandi yang dihasilkannya hanya bisa didekripsikan dengan menggunakan pasangan kunci pribadinya. Begitu juga sebaliknya, jika kunci pribadi digunakan untuk proses enkripsi maka proses dekripsi harus menggunakan kunci publik pasangannya.

algoritma sandi kunci-simetris

Skema algoritma sandi akan disebut kunci-simetris apabila untuk setiap proses enkripsi maupun dekripsi data secara keseluruhan digunakan kunci yang sama. Skema ini berdasarkan jumlah data per proses dan alur pengolahan data didalamnya dibedakan menjadi dua kelas, yaitu block-cipher dan stream-cipher.

Block-Cipher

Block-cipher adalah skema algoritma sandi yang akan membagi-bagi teks terang yang akan dikirimkan dengan ukuran tertentu (disebut blok) dengan panjang t, dan setiap blok dienkripsi dengan menggunakan kunci yang sama. Pada umumnya, block-cipher memproses teks terang dengan blok yang relatif panjang lebih dari 64 bit, untuk mempersulit penggunaan pola-pola serangan yang ada untuk membongkar kunci. Untuk menambah kehandalan model algoritma sandi ini, dikembangkan pula beberapa tipe proses enkripsi, yaitu :

* ECB, Electronic Code Book
* CBC, Cipher Block Chaining
* OFB, Output Feed Back
* CFB, Cipher Feed Back

Stream-Cipher

Stream-cipher adalah algoritma sandi yang mengenkripsi data persatuan data, seperti bit, byte, nible atau per lima bit(saat data yang di enkripsi berupa data Boudout). Setiap mengenkripsi satu satuan data di gunakan kunci yang merupakan hasil pembangkitan dari kunci sebelum.

Algoritma-algoritma sandi kunci-simetris

Beberapa contoh algoritma yang menggunakan kunci-simetris:

* DES - Data Encryption Standard
* blowfish
* twofish
* MARS
* IDEA
* 3DES - DES diaplikasikan 3 kali
* AES - Advanced Encryption Standard, yang bernama asli rijndael

Algoritma Sandi Kunci-Asimetris

Skema ini adalah algoritma yang menggunakan kunci yang berbeda untuk proses enkripsi dan dekripsinya. Skema ini disebut juga sebagai sistem kriptografi kunci publik karena kunci untuk enkripsi dibuat untuk diketahui oleh umum (public-key) atau dapat diketahui siapa saja, tapi untuk proses dekripsinya hanya dapat dilakukan oleh yang berwenang yang memiliki kunci rahasia untuk mendekripsinya, disebut private-key. Dapat dianalogikan seperti kotak pos yang hanya dapat dibuka oleh tukang pos yang memiliki kunci tapi setiap orang dapat memasukkan surat ke dalam kotak tersebut. Keuntungan algoritma model ini, untuk berkorespondensi secara rahasia dengan banyak pihak tidak diperlukan kunci rahasia sebanyak jumlah pihak tersebut, cukup membuat dua buah kunci, yaitu kunci publik bagi para korensponden untuk mengenkripsi pesan, dan kunci privat untuk mendekripsi pesan. Berbeda dengan skema kunci-simetris, jumlah kunci yang dibuat adalah sebanyak jumlah pihak yang diajak berkorespondensi.


Fungsi Enkripsi dan Dekripsi Algoritma Sandi Kunci-Asimetris

Apabila Ahmad dan Bejo hendak bertukar berkomunikasi, maka:

  1. Ahmad dan Bejo masing-masing membuat 2 buah kunci
    1. Ahmad membuat dua buah kunci, kunci-publik \!K_{publik[Ahmad]} dan kunci-privat \!K_{privat[Ahmad]}
    2. Bejo membuat dua buah kunci, kunci-publik \!K_{publik[Bejo]} dan kunci-privat \!K_{privat[Bejo]}
  2. Mereka berkomunikasi dengan cara:
    1. Ahmad dan Bejo saling bertukar kunci-publik. Bejo mendapatkan \!K_{publik[Ahmad]} dari Ahmad, dan Ahmad mendapatkan \!K_{publik[Bejo]} dari Bejo.
    2. Ahmad mengenkripsi teks-terang \!P ke Bejo dengan fungsi \!C = E(P,K_{publik[Bejo]})
    3. Ahmad mengirim teks-sandi \!C ke Bejo
    4. Bejo menerima \!C dari Ahmad dan membuka teks-terang dengan fungsi \!P = D(C,K_{privat[Bejo]})

Hal yang sama terjadi apabila Bejo hendak mengirimkan pesan ke Ahmad

  1. Bejo mengenkripsi teks-terang \!P ke Ahmad dengan fungsi \!C = E(P,K_{publik[Ahmad]})
  2. Ahmad menerima \!C dari Bejo dan membuka teks-terang dengan fungsi \!P = D(C,K_{privat[Ahmad]})

Algoritma -Algoritma Sandi Kunci-Asimetris

Fungsi Hash Kriptografis

Fungsi hash Kriptografis adalah fungsi hash yang memiliki beberapa sifat keamanan tambahan sehingga dapat dipakai untuk tujuan keamanan data. Umumnya digunakan untuk keperluan autentikasi dan integritas data. Fungsi hash adalah fungsi yang secara efisien mengubah string input dengan panjang berhingga menjadi string output dengan panjang tetap yang disebut nilai hash.

Sifat-Sifat Fungsi Hash Kriptografi

  • Tahan preimej (Preimage resistant): bila diketahui nilai hash h maka sulit (secara komputasi tidak layak) untuk mendapatkan m dimana h = hash(m).
  • Tahan preimej kedua (Second preimage resistant): bila diketahui input m1 maka sulit mencari input m2 (tidak sama dengan m1) yang menyebabkan hash(m1) = hash(m2).
  • Tahan tumbukan (Collision-resistant): sulit mencari dua input berbeda m1 dan m2 yang menyebabkan hash(m1) = hash(m2)

Algoritma-Algoritma Fungsi Hash Kriptografi


Beberapa contoh algoritma fungsi hash Kriptografi:

* MD4
* MD5
* SHA-0
* SHA-1
* SHA-256
* SHA-512


sumber : http://id.wikipedia.org/wiki/Kriptografi

Sunday, September 26, 2010

Resume KSK

Malicious Code

Malicious Code atau malcodes adalah suatu program, baik itu macro maupun script yang dapat dieksekusi dan dibuat dengan tujuan untuk merusak sistem komputer, jadi tidak salah jika saya katakan kode jahat/perusak. berbeda dengan Bug, bug adalah suatu program yang salah, yang secara tidak sengaja dibuat oleh programmer, tetapi jika bug ini benar-benar mengganggu, tidak ada salahnya juga masuk kategori malicious code. Dahulu digunakan istilah Malware ( malicious software ), tetapi istilah ini terlalui bermakna sempit, sehingga e-mail palsu yang notabene bukan suatu software tidak masuk kategori ini. Oleh karena itu sampai sekarang menggunakan istilah malcode bukan malware.

KLASIFIKASI Malcodes

1. Virus

Program yang dapat mengcopi dirinya sendiri dan menginfeksi komputer tanpa sepengetahuan dari user. Virus terdiri dari kumpulan kode yang dapat memodifikasi target kode yang sedang berjalan, atau dapat pula memodifikasi struktur internal target kode, sehingga target kode tidak dapat berjalan. Virus kadang menampilkan pesan yang tidak kita sukai, merusak tampilan, merusak data dan sebagainya. Virus masih dapat dibagi lagi dalam beberapa kategori:

a. Boot Virus: Jika komputer dinyalakan, sebuah inisial program di boot sector akan dijalankan. Virus yang berada di boot sector disebut boot virus.

b. File Virus: File virus adalah virus yang menginfeksi executable program. Dilaporkan bahwa hampir 80% virus adalah file virus.

c. Multipartite Virus: Virus yang menginfeksi baik boot sector dan file.

d. Macro Virus: Belakangan diketemukan. Targetnya bukan executable program, tetapi file dokument seperti Microsoft Excel atau Word. Ia akan memulai menginfeksi bila program aplikasi membaca dokumen yang berisi macro.

2. Worm

Program pengganggu yang dapat menyebar dan menginfeksi komputer lain tanpa harus mengkopikan induknya pada komputer lain tersebut, artinya mengkopi dirinya sendiri ke hanya memory komputer, bedanya dengan virus tadi adalah virus menginfeksi target code, sedangkan worm tidak, hanya berada di memory. Contoh worm: I-Worm/Happy99(Ska), I-Worm/ExploreZIP, I-Worm/PrettyPark, I-Worm/MyPics

3. Trojan

Trojan atau trojan Horse sengaja dibuat dengan tujuan yang jahat. Trojan tidak dapat memproduksi dirinya sendiri, biasanya dibawa oleh suatu program utility lain. program tersebut mengandung trojan dan trojan itu “bergaya” seolah-olah suatu program tersebut. Trojan ini tidak berbahaya sampai dilakukan eksekusi pada program. tetapi biasanya trojan ini tersembunyi dari aplikasi utama sehingga user secara tidak sengaja akan membuka program yang sebenarnya adalah trojan. Aktivitas dari trojan biasanya menghapus file, mengcapture password, dan sebagainya.

Trojan Horse masih dapat dibagi lagi menjadi:

a. DOS Trojan Horse: Trojan Horse yang berjalan di DOS. Ia mengurangi kecepatan komputer atau menghapus file-file pada hari atau situasi tertentu.

b. Windows Trojan Horse: Dijalankan di system Microsoft Windows. Jumlah Windows Trojan Horse meningkat sejak 1998 dan digunakan sebagai program untuk hacking dengan tujuan jahat yang dapat mengkoleksi informasi dari komputer yang tersambung internet.

4. Spyware

Program pengganggu yang dapat membahayakan privasi dari user. Program ini terinstall secara diam-diam pada komputer user dan dapat merekam seluruh aktivitas komputer/semua kegiatan privasi.

5. Hoax

Hoax ini adalah semacam rumors atau berita yang sangat tidak penting dan bahkan berita tidak benar yang tersebar dan disebarkan melalui e-mail, chat, blog dan sebagainya.

6. Joke

Program ini membuat komputer seolah-olah menjadi blank dan terjadi sesuatu seperti terserang virus, tetapi sebenarnya tidak.


Tips mengamankan sistem komputer dari malcodes

1. Pasang Anti Virus pada sistem anda Sebagai perlindungan di garis depan, penggunaan anti virus adalah wajib. Ada banyak anti virus yang beredar di pasaran saat ini.

2. Update database program anti virus secara teratur, Ratusan virus baru muncul setiap bulannya. Usahakan untuk selalu meng-update database dari program anti virus yang anda gunakan. Database terbaru dapat dilihat pada website perusahaan pembuat program anti virus yang anda gunakan.

3. Pergunakan Firewall Personal, dengan menggunakan firewall maka akses yang akan keluar masuk ke system kita dapat diatur, apakah paket data disetujui atau ditolak.

4. Berhati-hati sebelum menjalankan file baru Lakukan scanning terlebih dahulu dengan anti virus sebelum menjalankan sebuah file yang didapat dari mendownload di internet atau mengkopi dari orang lain. Apabila anda biasa menggunakan sarana e-mail, berhati-hatilah setiap menerima attachment dalam bentuk file executable. Waspadai file-file yang berekstensi: *.COM, *.EXE, *.VBS, *.SCR, *.VB. Jangan terkecoh untuk langsung membukanya sebelum melakukan scanning dengan software anti virus.

5. Curigai apabila terjadi keanehan pada sistem anda, Menurunnya performa sistem secara drastis, khususnya saat melakukan operasi pembacaan/penulisan file di disk, serta munculnya masalah pada software saat dioperasikan bisa jadi merupakan indikasi bahwa sistem telah terinfeksi oleh virus. Berhatihatilah!

6. Backup data anda secara teratur, Tips ini mungkin tidak secara langsung menyelamatkan data anda dari ancaman virus, namun demikian akan sangat berguna apabila suatu saat virus betul-betul menyerang dan merusak data di komputer yang anda gunakan. Setidaknya dalam kondisi tersebut, anda tidak akan kehilangan seluruh data yang telah anda backup sebelumnya.

7. Buat Policy / Kebijakan yang jelas.

sumber :

http://hendri.staff.uns.ac.id/2009/03/hati-hati-malicious-code/

http://ikc.depsos.go.id/populer/hendro-malcodes.php

http://dedenthea.wordpress.com/2007/02/16/apa-itu-virus-worm/


halo...ini blog tugas matakuliah KSK saya...
nama saya sefryan daru s..
nim a11.2007.03357
kuliah di Udinus Fakultas Ilmu Komputer....