Rabu, 15 Juni 2011

Processor tipe CISC dan tipe RISC

Ada dua arsitektur prosesor yang menonjol saat ini, yakni arsitektur RISC (Reduce Instruction Set Computer) dan CISC (Complex Instruction Set Computer). Prosesor CISC memiliki instruksi-instruksi kompleks untuk memudahkan penulisan program bahasa assembly, sedangkan prosesor RISC memiliki instruksi-instruksi sederhana yang dapat dieksekusi dengan cepat untuk menyederhanakan implementasi rangkaian kontrol internal prosesor. Karenanya, prosesor RISC dapat dibuat dalam luasan keping semikonduktor yang relatif lebih sempit dengan jumlah komponen yang lebih sedikit dibanding prosesor CISC. Perbedaan orientasi di antara kedua prosesor ini menyebabkan adanya perbedaan sistem secara keseluruhan, termasuk juga perancangan kompilatornya

Apakah prosesor dengan instruksi yang lebih sedikit akan lebih baik dari prosesor yang instruksinya kompleks dan lengkap. Apakah memang perbedaan prosesor itu hanya dari banyak atau tidaknya instruksi saja. Bukankah jumlah instruksi tidak berhubungan dengan ke-handal-an suatu prosesor. Pertanyaan-pertanyaan ini yang hendak dijawab melalui tulisan berikut. Namun supaya lebih dekat dengan elektronika praktis,  ElectronicLab akan lebih fokus pada mikrokontroler low-cost yang berbasis RISC dan CISC. Sebagai contoh dari mikrokontroler CISC adalah 68HC11 buatan Motorola dan  80C51 dari Intel. Kita juga mengenal keluarga PIC12/16CXX dari Microchip dan COP8 buatan National Semiconductor sebagai mikrokontroler yang berbasis RISC.

1. RISC 

Pengertian RISC
RISC singkatan dari Reduced Instruction Set Computer. Merupakan bagian dari arsitektur mikroprosessor, berbentuk kecil dan berfungsi untuk negeset istruksi dalam komunikasi diantara arsitektur yang lainnya.


Prosesor RISC tidak sekedar memiliki instruksi-instruksi yang sedikit dan sederhana seperti namanya tetapi juga mencakup banyak ciri-ciri lain yang tidak semuanya disepakati oleh kalangan perancang sendiri.

Karakteristik
Arsitektur RISC memiliki beberapa karakteristik diantaranya :
a.    Siklus mesin ditentukan oleh waktu yang digunakan untuk mengambil dua buah operand dari register, melakukan operasi ALU, dan menyimpan hasil operasinya kedalam register, dengan demikian instruksi mesin RISC tidak boleh lebih kompleks dan harus dapat mengeksekusi secepat mikroinstruksi pada mesin-mesin CISC. Dengan menggunakan instruksi sederhana atau instruksi satu siklus hanya dibutuhkan satu mikrokode atau tidak sama sekali, instruksi mesin dapat dihardwired. Instruksi seperti itu akan dieksekusi lebih cepat dibanding yang sejenis pada yang lain karena tidak perlu mengakses penyimapanan kontrol mikroprogram saat eksekusi instruksi berlangsung.

b.    Operasi berbentuk dari register-ke register yang hanya terdiri dari operasi load dan store yang mengakses memori . Fitur rancangan ini menyederhanakan set instruksi sehingga menyederhanakan pula unit control. Keuntungan lainnya memungkinkan optimasi pemakaian register sehingga operand yang sering diakses akan tetap ada di penyimpan berkecepatan tinggi. Penekanan pada operasi register ke register merupakan hal yang unik bagi perancangan RISC.

c.    Penggunaan mode pengalamatan sederhana, hampir sama dengan instruksi menggunakan pengalamatan register,. Beberapa mode tambahan seperti pergeseran dan pe-relatif dapat dimasukkan selain itu banyak mode kompleks dapat disintesis pada perangkat lunak dibanding yang sederhana, selain dapat menyederhanakan sel instruksi dan unit kontrol.

d.    Penggunaan format-format instruksi sederhana, panjang instruksinya tetap dan disesuaikan dengan panjang word. Fitur ini memiliki beberapa kelebihan karena dengan menggunakan field yang tetap pendekodean opcode dan  pengaksesan operand register dapat dilakukan secara bersama-sama


Ciri-ciri :
a.    Instruksi berukuran tunggal
b.    Ukuran yang umum adalah 4 byte
c.    Jumlah pengalamatan data sedikit, biasanya kurang dari 5 buah.
d.    Tidak terdapat pengalamatan tak langsung yang mengharuskan melakukan sebuah akses memori agar memperoleh alamat operand lainnya dalam memori.
e.     Tidak terdapat operasi yang menggabungkan operasi load/store dengan operasi aritmatika, seperti penambahan ke memori dan penambahan dari memori.
f.     Tidak terdapat lebih dari satu operand beralamat memori per instruksi
g.    Tidak mendukung perataan sembarang bagi data untuk operasi load/ store.
h.    Jumlah maksimum pemakaian memori manajemen bagi suatu alamat data adalah sebuah instruksi .
i.     Jumlah bit bagi integer register spesifier sama dengan 5 atau lebih, artinya sedikitnya 32 buah register integer dapat direferensikan sekaligus secara eksplisit.
j.    Jumlah bit floating point register spesifier sama dengan 4 atau lebih, artinya sedikitnya 16 register floating point dapat direferensikan sekaligus secara eksplisit.

Pendekatan RISC 

Prosesor RISC hanya menggunakan instruksi-instruksi sederhana yang bisa dieksekusi dalam satu siklus. Dengan demikian, instruksi ‘MULT’ sebagaimana dijelaskan sebelumnya dibagi menjadi tiga instruksi yang berbeda, yaitu “LOAD”, yang digunakan untuk memindahkan data dari memori ke dalam register, “PROD”, yang digunakan untuk melakukan operasi produk (perkalian) dua operan yang berada di dalam register (bukan yang ada di memori) dan “STORE”, yang digunakan untuk memindahkan data dari register kembali ke memori. Berikut ini adalah urutan instruksi yang harus dieksekusi agar yang terjadi sama dengan instruksi “MULT” pada prosesor RISC (dalam 4 baris bahasa mesin):
LOAD A, 2:3
LOAD B, 5:2
PROD A, B
STORE 2:3, A

Awalnya memang kelihatan gak efisien iya khan? Hal ini dikarenakan semakin banyak baris instruksi, semakin banyak lokasi RAM yang dibutuhkan untuk menyimpan instruksi-instruksi tersebut. Kompailer juga harus melakukan konversi dari bahasa tingkat tinggi ke bentuk kode instruksi 4 baris tersebut.

2. CISC 
 
Pengertian CISC


Prosessor CISC Complex Instruction Set Computing. Merupakan beberapa instruksi yang saling terangkai yang built in pada processor yang memiliki tugas-tugas yang diberikan berupa perintah yang sangat kompleks. Instruksi-instruksi yang tersedia memudahkan para programmer untuk mengembangkan aplikasi untuk plattform CISC. Di lain pihak, banyaknya instruksi dalam CISC dapat mengurangi kecepatannya. CISC merupakan kebalikan dari RISC, biasanya digunakan pada keluarga processor untuk PC (Intel, AMD, Cyrix).

Karakteristik 
a.    Sarat informasi memberikan keuntungan di mana ukuran program-program yang dihasilkan akan menjadi relatif lebih kecil, dan penggunaan memory akan semakin berkurang. Karena CISC inilah biaya pembuatan komputer pada saat itu (tahun 1960) menjadi jauh lebih hemat
b.    Dimaksudkan untuk meminimumkan jumlah perintah yang diperlukan untuk mengerjakan pekerjaan yang diberikan. (Jumlah perintah sedikit tetapi rumit) Konsep CISC menjadikan mesin mudah untuk diprogram dalam bahasa rakitan

Ciri-ciri
a.    Jumlah instruksi banyak
b.    Banyak terdapat perintah bahasa mesin
c.    Instruksi lebih kompleks

Pendekatan CISC
Tujuan utama dari arsitektur CISC adalah melaksanakan suatu perintah cukup dengan beberapa baris bahasa mesin sedikit mungkin. Hal ini bisa tercapai dengan cara membuat perangkat keras prosesor mampu memahami dan menjalankan beberapa rangkaian operasi. Untuk tujuan contoh kita kali ini, sebuah prosesor CISC sudah dilengkapi dengan sebuah instruksi khusus, yang kita beri nama MULT. Saat dijalankan, instruksi akan membaca dua nilai dan menyimpannya ke 2 register yag berbeda, melakukan perkalian operan di unit eksekusi dan kemudian mengambalikan lagi hasilnya ke register yang benar. Jadi instruksi-nya cukup satu saja…
MULT 2:3, 5:2
MULT dalam hal ini lebih dikenal sebagai “complex instruction”, atau instruksi yang kompleks. Bekerja secara langsung melalui memori komputer dan tidak memerlukan instruksi lain seperti fungsi baca maupun menyimpan.
Satu kelebihan dari sistem ini adalah kompailer hanya menerjemahkan instruksi-instruksi bahasa tingkat-tinggi ke dalam sebuah bahasa mesin. Karena panjang kode instruksi relatif pendek, hanya sedikit saja dari RAM yang digunakan untuk menyimpan instruksi-instruksi tersebut.

Algoritma Sandi Kunci-Asimetris

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]})

SSL dan PGP

Pengertian SSH (Secure Shell) dan SSL (Secure Socket Layer)

Pada awalnya SSH dikembangkan oleh Tatu Yl nen di Helsinki University of Technology. SSH memberikan alternatif yang secure terhadap remote session tradisional dan file transfer protocol seperti telnet dan relogin.Protokol SSH mendukung otentikasi terhadap remote host, yang dengan demikian meminimalkan ancaman pemalsuan identitas client lewat IP address spoofing maupun manipulasi DNS. Selain itu SSH mendukung beberapa protokol enkripsi secret key (DES,TripleDES,IDEA, dan Blowfish) untuk membantu memastikan privacy dari keseluruhan komunikasi, yang dimulai dengan username/password awal.SSH menyediakan suatu virtual private connection pada application layer, mencakup interactive logon protocol (ssh dan sshd) serta fasilitas untuk secure transfer file (scd). Setelah meng-instal SSH, sangat dianjurkan untuk mendisable telnet dan rlogin. Implementasi SSH pada linux diantaranya adalah OpenSSH.

SSH merupakan paket program yang digunakan sebagai pengganti yang aman untuk rlogin, rsh dan rcp. Ia menggunakan public-key cryptography untuk mengenkripsi komunikasi antara dua host, demikian pula untuk autentikasi pemakai. Ia dapat digunakan untuk login secara aman ke remote host atau menyalin data antar host, sementara mencegah man-in-themiddle attacks (pembajakan sesi) dan DNS spoofing atau dapat dikatakan Secure Shell adalah program yang melakukan loging terhadap komputer lain dalam jaringan, mengeksekusi perintah lewat mesin secara remote, dan memindahkan file dari satu mesin ke mesin lainnya. SSL (Secure Socket Layer) dikembangkan oleh Netscape untuk mengamankan HTTP dan sampai sekarang masih inilah pemanfaatan utama SSL. SSL menjadi penting karena beberapa produk umum seperti Netscape Communicator, Internet Explorer, dan WS_FTP Pro, yang merupakan produk yang lazim digunakan, menggunakan SSL. Secure Sockets Layer, adalah metode enkripsi yang dikembangkan oleh Netscape untuk memberikan keamanan di Internet. Ia mendukung beberapa protokol enkripsi dan memberikan autentikasi client dan server. SSL beroperasi pada layer transpor, menciptakan saluran enkripsi yang aman untuk data, dan dapat mengenkripsi banyak tipe data. Hal ini dapat dilihat ketika mengunjungi site yang aman untuk melihat dokumen online aman dengan Communicator, dan berfungsi sebagai dasar komunikasi yang aman dengan Communicator, juga dengan enkripsi data Netscape Communication lainnya. Atau dapat dikatakan bahwa SSL merupakan Protokol berlapis. Dalam tiap lapisannya, sebuah data terdiri dari panjang, deskripsi dan isi. SSL mengambil data untuk dikirimkan, dipecahkan kedalam blok-blok yang teratur, kemudian dikompres jika perlu, menerapkan MAC, dienkripsi, dan hasilnya dikirimkan. Di tempat tujuan, data didekripsi, verifikasi, dekompres, dan disusun kembali. Hasilnya dikirimkan ke klien di atasnya.

Kegunaan SSH dan SSL

SSL dirancang untuk mengamankan sesi web, sedangkan SSH dirancang untuk menggantikan protokol telnet dan FTP. Keduanya mempunyai banyak fitur lain, tetapi tujuan utamanya memang untuk mengamankan komunikasi melalui internet.

SSL telah digunakan untuk mengamankan protokol-protokol yang insecure menjadi secure. SSL menjadi perantara antara pemakai dengan protokol HTTP dan menampilkan HTTPS kepada pemakai. Hal yang sama dapat dilakukan pula terhadap protokol-protokol insecure lain seperti POP3, SMTP, IMAP dan apasaja yang merupakan aplikasi TCP.

Adapun SSH merupakan produk serbaguna yang dirancang untuk melakukan banyak hal, yang kebanyakan berupa penciptaan tunnel antar host. Beberapa implementasi SSH tergantung pada SSL libraris karena SSH dan SSL menggunakan banyak menggunakan algoritma enkripsi yang sama (misalnya TripleDES(Pengembangan dari DES oleh IBM). ), Algoritma enkripsi lain yang didukung oleh SSH di antaranya BlowFish (BRUCE SCHNEIER), IDEA (The International Data Encryption Algorithm), dan RSA (The Rivest-Shamir-Adelman).

Dengan berbagai metode enkripsi yang didukung oleh SSH, Algoritma yang digunakan dapat diganti secara cepat jika salah satu algoritma yang diterapkan mengalami gangguan. SSH tidak berdasarkan SSL seperti halnya HTTPS berdasarkan SSL. SSH mempunyai jauh lebih banyak kelebihan daripada SSL, dan keduanya tidak berhubungan satu sama lain.

Keduanya merupakan dua protokol yang berbeda, namun dalam mencapai tujuan-tujuannya mungkin saling tumpang tindih. SSL tidak memberi apa-apa kecuali handshake dan enkripsi. Diperlukan aplikasi untuk membuat SSL menjalankan tugasnya. SSH sebaliknya menjalankan menjalankan sendiri banyak hal. Dua hal penting SSH adalah console login (menggantikan telnet) dan secure filetransfer (menggantikan FTP), tetapi dengan SSH anda juga memperoleh kemampuan membentuk source tunnel untuk melewatkan HTTP,FTP,POP3, dan apapun lainnya melalui SSH tunel.

Tanpa adanya traffic dari suatu aplikasi, SSL tidak melakukan apa-apa, tetapi SSH sudah membentuk encrypted tunel antara dua host yang memungkinkan untuk melakukan login shell, file transfer, dan lain sebagainya. HTTPS menggunakan SSL untuk menjalankan HTTP yang secure dan HTTPS itu dapat dilewatkan melalui tunel yang dibentuk oleh SSH.

Cara Kerja SSH dan SSL

Cara Kerja SSH

Misalkan suatu client mencoba mengakses suatu linux server melalui SSH. SH daemon yang berjalan baik pada linux server maupun SSH client telah mempunyai pasangan public/private key yang masing-masing menjadi identitas SSH bagi keduanya. Langkah-langkah
koneksinya adalah sebagai berikut :
Langkah 1
Client bind pada local port nomor besar dan melakukan koneksi ke port 22 pada server.
Lankah 2
Client dan server setuju untuk menggunakan sesi SSH tertentu. Hal ini penting karena SSH v.1 dan v.2 tidak kompatibel.
Langkah 3
Client meminta public key dan host key milik server.
Langkah 4
Client dan server menyetujui algoritma enkripsi yang akan dipakai (misalnya TripleDES atau IDEA).
Langkah 5
Client membentuk suatu session key yang didapat dari client dan mengenkripsinya menggunakan public key milik server.
Langkah 6
Server men-decrypt session ky yang didapat dari client, meng-re-encrypt-nya dengan public key milik client, dan mengirimkannya kembali ke client untuk verivikasi.
Langkah 7
Pemakai mengotentikasi dirinya ke server di dalam aliran data terenkripsi dalam session key tersebut.
Sampai disini koneksi telah terbentuk, dan client dapat selanjutnya bekerja secara interaktif pada server atau mentransfer file ke atau dari server. Langkah ketujuh diatas dapat dilaksanakan dengan berbagai cara (username/password, kerberos, RSA dan lain-lain)

 

Cara Kerja SSL

Cara kerja SSL dapat kita lihat dengan tahapan – tahapan :
Langkah 1
Client membentuk koneksi awal ke server dan meminta koneksi SSL.
Langkah 2
Bila server yang dihubungi telah dikonfigurasi dengan benar, maka server ini akan mengirimkan client public key miliknya.
Langkah 3
Client membandingkan sertifikat dari server ke basisdata trusted authorities. Bila sertifikat ini terdaftar di situ, artinya client mempercayai (trust) server itu dan akan maju kelangkah 4. Bila sertifikat itu terdaftar, maka pemakai harus menambahkan sertifikat ini ke trusted database sebelum maju ke langkah 4.
Langkah 4
Client menggunakan Public Key yang didapatnya untuk men-enkrip sesi dan mengirimkan session key ke server. Bila server meminta sertifikat client di langkah2, maka clent harus mengirimkannya sekarang.
Langkah5
Bila server di-setup untuk menerima sertifikat, maka server akan membandingkan sertifikat yang diterimanya dengan basisdata trusted authorities dan akan menerima atau menolak koneksi yang diminta. Bila kondisi ditolak, suatu pesan kegagalan akan dikirimkan ke client. Bila koneksi diterima, atau bila server tidak di-setup untuk menerima sertifikat, maka server akan men-decode session key yang didapat dari client dengan privete key milik server dan mengirimkan pesan berhasil ke client yang dengan demikian membuka suatu secure data chanel.

Implementasi SSH dan SSL

Implementasi SSH terlihat dalam produk-produk berikut :
FreeSSH
OpenSSH (Unix, Windows)
LSH (unix)
PuTTY (Windows)
Okhapkin s port of SSH1(windows)
MacSSH (Macintosh)
TeraTerm (windows)
MindTerm (Inix, Windows)
NitfyTelnet 1.1 SSH (Machintosh)
Commercial SSH
SSH communication Security (unix, windows)
F-Secure SSH (unix,Windows)
Secure CRT, SecureFX (windows)
Vshell (Windows)

Implementasi SSL
Terdapat dua implementasi SSL: SSLeay dan OpenSSL. Microsoft menerapkan versi SSH-nya sendiri yang dikenal sebagai TSL atau Transport Layer Security (disebut juga sebagai SSL v.3.1), namun tidak mendapat banyak dukungan diluar produk-produk Microsoft sendiri.

KESIMPULAN

SSH maupun SSL digunakan untuk mengamankan komunikasi melalui internet
SSH mendukung otentikasi terhadap remote host, sehingga meminimalkan ancaman pemalsuan identitas client lewat IP address spoofing maupun manipulasi DNS.
SSH mendukung beberapa protokol enkripsi secret key (DES,TripleDES,IDEA, dan Blowfish) untuk membantu memastikan privacy dari keseluruhan komunikasi, yang dimulai dengan username/password awal
SSL mendukung beberapa protokol enkripsi dan memberikan autentikasi client dan server
SSL beroperasi pada layer transpor, menciptakan saluran enkripsi yang aman untuk data, dan dapat mengenkripsi banyak tipe data.

PGP

PGP adalah singkatan dari Pretty Good Privacy, dan merupakan program komputer yang sering dipakai dalam proses kriptografi dan autentikasi pengiriman data komputer. PGP pertama diperkenalkan pada tahun 1991 oleh Philip Zimmermann untuk menyandikan data dalam pengiriman surat elektronik. Dalam proses penyandian data ini, PGP mengikuti standar RFC 4880.

Dalam bidang kriptografi, selain PGP, terdapat metode penyandian enkripsi dan dekripsi yang lain seperti: DES, AES, RSA, dan lain lainnya.

Prinsip Kerja PGP
PGP, seperti yang telah dijelaskan sebelumnya,  menggunakan  teknik yang disebut public-key encryption  dengan dua kode. Kode-kode ini berhubungan secara intrinsik, namun tidak mungkin untuk memecahkan satu dan yang lainnya.
Bila suatu ketika kita membuat suatu kunci, maka secara otomatis akan dihasilkan sepasang kunci yaitu  public key and secret key. Kita dapat  memberikan  public key ke manapun  tujuan yang kita inginkan, melalui telephone,  internet, keyserver, dsb. Secret key yang disimpan pada mesin kita dan menggunakan messager decipher akan dikirimkan ke kita. Jadi orang  yang akan menggunakan public key kita  (yang  hanya dapat didekripsi oleh oleh secret key kita), mengirimkan messages kepada kita , dan  kita akan menggunakan secret key untuk membacanya.
Kenapa menggunakan dua kunci ?.
Karena dengan  conventional crypto,  di saat  terjadi transfer informasi kunci, suatu secure channel  diperlukan. Dan jika kita memiliki suatu secure channel, mengapa kita menggunakan crypto?  Namun dengan public-key system, tidak akan menjadi masalah siapa yang melihat kunci milik kita, karena kunci yang dilihat orang lain adalah yang digunakan hanya untuk  enkripsi dan hanya kita sebagai pemilik yang mengetahui secret key; yaitu key yang berhubungan secara fisik dengan komputer kita  yang dapat melakukan proses dekripsi dengan public key yang ada dan kemudian kita masukan lagi passphrase.  Jadi seseorang mungkin dapat mencuri passphrase  yang kita ketikkan, namun ia dapat membaca  hanya  jika  ia dapat mengakses komputer kita

Anatomy of a Hacking

Dalam dunia internet terdapat orang orang yang mempunyai keahlian pemrograman internet. Baik untuk sendiri maupun orang lain, untuk tujuan yang baik dan tidak baik, yang disebut hacker dan cracker.

1. Hacker
Hacker adalah sebutan untuk mereka yang memberikan sumbangan yang bermanfaat kepada jaringan komputer, membuat program kecil dan membagikannya dengan orang-orang di Internet. Hacker disini artinya, mencari, mempelajari dan mengubah sesuatu untuk keperluan hobi dan pengembangan dengan mengikuti legalitas yang telah ditentukan oleh developer game. 
Para hacker biasanya melakukan penyusupan-penyusupan dengan maksud memuaskan pengetahuan dan teknik. Rata - rata perusahaan yang bergerak di dunia jaringan global (internet) juga memiliki hacker. Tugasnya yaitu untuk menjaga jaringan dari kemungkinan perusakan pihak luar "cracker", menguji jaringan dari kemungkinan lobang yang menjadi peluang para cracker mengobrak - abrik jaringannya, sebagai contoh : perusahaan asuransi dan auditing "Price Waterhouse". Ia memiliki team hacker yang disebut dengan Tiger Team. Mereka bekerja untuk menguji sistem sekuriti client mereka.
2. Cracker
Cracker adalah sebutan untuk mereka yang masuk ke sistem orang lain dan cracker lebih bersifat destruktif, biasanya di jaringan komputer, mem-bypass password atau lisensi program komputer, secara sengaja melawan keamanan komputer, men-deface (merubah halaman muka web) milik orang lain bahkan hingga men-delete data orang lain, mencuri data dan umumnya melakukan cracking untuk keuntungan sendiri, maksud jahat, atau karena sebab lainnya karena ada tantangan. Beberapa proses pembobolan dilakukan untuk menunjukan kelemahan keamanan sistem.

Ada beberapa tingkatan hacker dari yang paling mahir yaitu: Elite, Semi Elite, Developed Kiddie, Script Kiddie, Lamer. Sedangkan cracker tidak mempunyai tingkatan khusus karena sifatnya hanya membongkar dan merusak.

Karena hacker bertujuan demi perkembangan dunia internet, walaupun tidak tertulis mereka mempunyai kode etik dan aturan main yang jelas diantara sesama hacker, sedangkan cracker tidak.






Diagram 1: Anatomy of a Hacking versi McClure and Scambray 2001

1. Footprinting.
Mencari rincian informasi terhadap sistem-sistem untuk dijadikan sasaran, mencakup pencarian informasi dengan search engine, whois, dan DNS zone transfer.

2. Scanning.
Terhadap sasaran tertentu dicari pintu masuk yang paling mungkin. Digunakan ping sweep dan port scan.

3. Enumeration.
Telaah intensif terhadap sasaran, yang mencari user account absah, network resource and share, dan aplikasi untuk mendapatkan mana yang proteksinya lemah.

4. Gaining Access.
Mendapatkan data lebih banyak lagi untuk mulai mencoba mengakses sasaran. Meliputi mengintip dan merampas password, menebak password, serta melakukan buffer overflow.

5. Escalating Privilege.
Bila baru mendapatkan user password di tahap sebelumnya, di tahap ini diusahakan mendapat privilese admin jaringan dengan password cracking atau exploit sejenis getadmin, sechole, atau lc_messages.

6. Pilfering.
Proses pengumpulan informasi dimulai lagi untuk mengidentifikasi mekanisme untuk mendapatkan akses ke trusted system. Mencakup evaluasi trust dan pencarian cleartext password di registry, config file, dan user data.

7. Covering Tracks.
Begitu kontrol penuh terhadap sistem diperoleh, maka menutup jejak menjadi prioritas. Meliputi membersihkan network log dan penggunaan hide tool seperti macam-macam rootkit dan file streaming.

8. Creating Backdoors.
Pintu belakang diciptakan pada berbagai bagian dari sistem untuk memudahkan masuk kembali ke sistem ini dengan cara membentuk user account palsu, menjadwalkan batch job, mengubah startup file, menanamkan servis pengendali jarak jauh serta monitoring tool, dan menggantikan aplikasi dengan trojan.

9. Denial of Service.
Bila semua usaha di atas gagal, penyerang dapat melumpuhkan sasaran sebagai usaha terakhir. Meliputi SYN flood, teknik-teknik ICMP, Supernuke, land/latierra, teardrop, bonk, newtear, trincoo, smurf, dan lain-lain

SISTEM OPERASI JARINGAN

Sistem operasi jaringan (Inggrisnetwork operating system) adalah sebuah jenis sistem operasi yang ditujukan untuk menangani jaringan. Umumnya, sistem operasi ini terdiri atas banyak layanan atau service yang ditujukan untuk melayani pengguna, seperti layanan berbagi berkaslayanan berbagi alat pencetak (printer)DNS ServiceHTTP Service, dan lain sebagainya.

Kedudukan Sistem Operasi:


 

Shell merupakan sebuah program yang mengoperasikan driver kernel dan BIOS ex: C:>

Umumnya, sistem operasi Jaringan terdiri atas banyak layanan atau service yang ditujukan untuk melayani pengguna, seperti layanan berbagi berkas, layanan berbagi alat pencetak (printer), DNS Service, HTTP Service, dan lain sebagainya. Istilah ini populer pada akhir dekade 1980-an hingga awal dekade 1990-an.
Beberapa sistem operasi jaringan yang umum dijumpai adalah sebagai berikut:

·         Microsoft MS-NET
·         Microsoft LAN Manager
·         Novell NetWare
·         Microsoft Windows NT Server
·         GNU/Linux
·         Banyan VINES
·         Beberapa varian UNIX, seperti SCO OpenServer, Novell UnixWare, atau Solaris

Sesuai fungsi komputer pada sebuah jaringan, maka tipe jaringan komputer dibedakan menjadi dua tipe:
·         Jaringan peer to peer
·         Jaringan client/server

Jaringan peer to peer

Setiap komputer yang terhubung pada jaringan dapat berkomunikasi dengan komputer-komputer lain secara langsung tanpa melalui komputer perantara. Pada jaringan ini sumber daya terbagi pada seluruh komputer yang terhubung dalam jaringan tersebut, baik sumber daya yang berupa perangkat keras maupun perangkat lunak dan datanya Komputer yang terhubung dalam jaringan peer to peer pada prinsipnya mampu untuk bekerja sendiri sebagai sebuah komputer stand alone. Tipe jaringan seperti ini sesuai untuk membangun sebuah workgroup dimana masing-masing penguna komputer bisa saling berbagi pakai penggunaan perangkat keras.

Jaringan client/server
·         Terdapat sebuah komputer berfungsi sebagai server sedangkan komputer yang lain berfungsi sebagai client
·         Komputer server berfungsi dan bertugas melayani seluruh komputer yang terdapat dalam jaringan tersebut.
·         Sedangkan komputer client (workstation) sesuai dengan namanya menerima lanyanan dari komputer server

Untuk membangun suatu jaringan client-server diperlukan beberapa bagian:

·         Suatu komputer sebagai pusat data yang disebut sebagai file-server.
·         Komputer sebagai tempat kerja yang disebut sebagai workstation.
·         Peralatan jaringan seperti network interface card, hub dan lainnya.
·         Media penghubung antarkomputer.
·         System operasi jaringan seperti Windows 2000 server, Windows 2003 server, windows NT server, NetWare, unix, dan lainnya.
·         System operasi untuk workstation seperti DOS, Windows 3.1x, windows 9x, windows NT workstation, Windows XP, dan lainnya.

Komputer server bertugas dan berfungsi untuk:
·         Melayani dan mengontrol seluruh jaringan.
·         Melayani permintaan-permintaan dari komputer workstation.
·         Mengontrol hubungan komputer satu dengan komputer yang lain, termasuk hubungannya dengan perangkat-perangkat lain yang terdapat di dalam jaringan.

Adapun bentuk layanan (service) yang diberikan komputer service adalah:
·         Disk sharing, yaitu berupa penggunaan kapasitas disk secara bersama pada komputer client.
·         Print sharing, yaitu berupa penggunaan perangkat printer secara bersama-sama.
·         Penggunaan perangkat-perangkat lain secara bersama, demikian pula dengan data dan sistem aplikasi yang ada.
·         Mengatur keamanan jaringan dan data dalam jaringan.
·         Mengatur dan mengontrol hak dan waktu akses perangkat-perangkat yang ada dalam jaringan.
·         Untuk memilih komputer server harus memperhatikan :
·         Sistem operasi yang digunakan.
·         Sistem aplikasi yang akan dijalankan.
·         Arsitektur jaringan yang diterapkan.
·         Jumlah komputer workstation dalam jaringan yang dilayani.
·         Kemampuan dan daya tahan beroperasi dalam jangka waktu tak terbatas.
·         Kompatibelitas terhadap produk jaringan lainnya.
·         Dukungan teknis dari vendor perangkat tersebut.

Perangkat lunak dalam sebuah jaringan komputer terdiri dari dua perangkat utama, yaitu:
·         Perangkat lunak sistem operasi jaringan.
·         Sistem aplikasi yang digunakan untuk bekerja

Contoh sistem operasi jaringan :
·         Novell Netware dari Novell dengan dedicated servernya.
·         Windows NT dari Microsoft.
·         Unix yang dikenal dengan multiusernya.
Kriptografi Asimetris adalah suatu algoritma dimana kunci enkripsi yang digunakan tidak sama dengan kunci dekripsi. Pada algoritma ini menggunakan dua kunci yakni kunci publik (public key) dan kunci privat (private key). Kunci publik disebarkan secara umum sedangkan kunci privat disimpan secara rahasia oleh si pengguna. Walau kunci publik telah diketahui namun akan sangat sukar mengetahui kunci privat yang digunakan.


Pada umumnya kunci publik (public key) digunakan sebagai kunci enkripsi sementara kunci privat (private key) digunakan sebagai kunci dekripsi.

Konsep Kriptografi Kunci-Publik (Kriptografi asymmetric)
Konsep kriptografi kunci-publik sederhana dan elegan, tetapi mempunyai konsekuensi penggunaan yang hebat.
  • Misalkan E adalah fungsi enkripsi dan D adalah fungsi dekripsi. Misalkan (e, d) adalah pasangan kunci untuk enkripsi dan dekripsi sedemikian sehingga:
Ed(m) = c dan Dd(c) = m
untuk suatu plainteks m dan cipherteks c.
  • Kedua persamaan ini menyiratkan bahwa dengan mengetahui e dan c, maka secara komputasi hampir tidak mungkin menemukan m. Asumsi lainnya, dengan mengetahui e, secara komputasi hampir tidak mungkin menurunkan d.
  • Ee digambarkan sebagai fungsi pintu-kolong (trapdoor) satuarah dengan d adalah informasi trapdoor yang diperlukan untuk menghitung fungsi inversinya, D, yang dalam hal ini membuat proses dekripsi dapat dilakukan.
Konsep di atas menjadi penting bila kriptografi kunci-publik digunakan untuk mengamankan pertukaran pesan dari dua entitas yang berkomunikasi. Contoh:
Misalkan Alice berkomunikasi dengan Bob. Bob memilih pasangan kunci (e, d). Bob mengirimkan kunci enkripsi e (kunci publik) kepada Alice melalui sembarang saluran tetapi tetap menjaga kerahasiaan kunci dekripsinya, d (kunci privat).
Kemudian, Alice ingin mengirim pesan m kepada Bob. Alice mengenkripsikan pesan m dengan menggunakan kunci public Bob, untuk mendapatkan c = Ee(m), lalu mengirimkan c melalui saluran komunikasi (yang tidak perlu aman). Bob mendekripsi cipherteks c dengan menggunakan kunci privatnya untuk memperoleh m = Dd(c).





Sistem kriptografi kunci-publik juga cocok untuk kelompok pengguna di lingkungan jaringan komputer (LAN/WAN). Setiap pengguna jaringan mempunyai pasangan kunci public dan kunci privat yang bersuaian. Kunci publik, karena tidak rahasia, biasanya disimpan di dalam basisdata kunci yang dapat diakses oleh pengguna lain. Jika ada pengguna yang hendak berkirim pesan ke pengguna lainnya, maka ia ia perlu mengetahui kunci publik penerima pesan melalui basisdata kunci ini lalu menggunakannya untuk mengenkripsi pesan. Hanya penerima pesan yang berhak yang dapat mendekripsi pesan karena ia mempunyai kunci privat.
Dengan sistem kriptografi kunci-publik, tidak diperlukan pengiriman kunci privat melalui saluran komunikasi khusus sebagaimana pada sistem kriptografi simetri.
Meskipun kunci publik diumumkan ke setiap orang di dalam kelompok, namun kunci publik perlu dilindungi agar otentikasinya terjamin (misalnya tidak diubah oleh orang lain).


Kelebihan dan kekurangan Kriptografi asimetris
Kelebihan :
  1. Masalah keamanan pada distribusi kunci dapat lebih baik
  2. Masalah manajemen kunci yang lebih baik karena jumlah kunci yang lebih sedikit.
  3. Hanya kunci privat yang perlu dijaga kerahasiaannya oleh setiap entitas yang berkomuniaksi (tetapi, otentikasi kunci publik tetap harus terjamin). Tidak ada kebutuhan mengirim kunci kunci privat sebagaimana pada system simetri.
  4. Pasangan kunci publik/kunci privat tidak perlu diubah, bahkan dalam periode waktu yang panjang.
  5. Dapat digunakan untuk mengamankan pengiriman kunci simetri.
  6. Beberapa algoritma kunci-publik dapat digunakan untuk memberi tanda tangan digital pada pesan (akan dijelaskan pada materi kuliah selanjutnya)
Kelemahan :
  1. Enkripsi dan dekripsi data umumnya lebih lambat daripada sistem simetri, karena enkripsi dan dekripsi menggunakan bilangan yang besar dan melibatkan operasi perpangkatan yang besar.
  2. Ukuran cipherteks lebih besar daripada plainteks (bisa dua sampai empat kali ukuran plainteks).
  3. Ukuran kunci relatif lebih besar daripada ukuran kunci simetri.
  4. Karena kunci publik diketahui secara luas dan dapat digunakan setiap orang, maka cipherteks tidak memberikan informasi mengenai otentikasi pengirim.
  5. Tidak ada algoritma kunci-publik yang terbukti aman (sama seperti block cipher). Kebanyakan aalgoriam mendasakan keamanannya pada sulitnya memecahkan persoalan-persoalan aritmetik (pemfaktoran, logaritmik, dsb) yang menjadi dasar pembangkitan kunci.

Simetris Kriptografi

Simetris Kriptografi

adalah enkripsi dengan prose dekripsi nya menggunakan key yang sama

Kelebihan :
  1. Waktu proses untuk enkripsi dan dekripsi relatif cepat
  2. Algoritma ini dapat digunakan pada sistem secara real-time seperti saluran telepon digital.
Kekurangan :
  1. Untuk tiap pasang pengguna dibutuhkan sebuah kunci yang berbeda, sedangkan sangat sulit untuk menyimpan dan mengingat kunci yang banyak secara aman, sehingga akan menimbulkan kesulitan dalam hal manajemen kunci.
  2. Perlu adanya kesepakatan untuk jalur yang khusus untuk kunci, hal ini akan menimbulkan masalah yang baru karena tidak mudah u menentukan jalur yang aman untuk kunci, masalah ini sering disebut dengan “Key Distribution Problem”.
  3. Apabila kunci sampai hilang atau dapat ditebak maka kriptosistem ini tidak aman lagi.
Contoh skema enkripsi kunci simetrik adalah :
  1. IDEA
  2. GOST
  3. Serpent
  4. RC2, RC4, Rc5, dll
Enigma
Enigma dalah sebuah mesin penyandi yang digunakan untuk mengenkripsikan dan mendekripsikan pesan rahasia. Enigma dipatenkan oleh insinyur Jerman Arthur Scherbius, dan awalnya digunakan untuk tujuan komersial, namun nantinya terkenal karena digunakan oleh tentara dan pemerintah Jerman Nazi sebelum dan selama Perang Dunia II. Secara teknis, mesin Enigma termasuk keluarga mesin rotor elektromekanik, yang memiliki berbagai model. Nama Enigma diambil dari kata Latin aenigma, yang artinya teka-teki.
Versi Enigma yang paling terkenal adalah yang digunakan oleh Wehrmacht (tentara Jerman Nazi). Mesin ini, mulai digunakan oleh Nazi pada 1928, pada awalnya dianggap sebagai mesin kriptografi teraman di dunia, namun akhirnya dapat dipecahkan oleh pihak Sekutu, sehingga mesin ini justru merugikan pihak Nazi. Metode pemecahan (dekripsi) mesin ini pertama kali ditemukan di tahun 1932 oleh kriptografer Polandia dari Biuro Szyfrów (Kantor Sandi), Marian Rejewski, Jerzy Różycki dan Henryk Zygalski. Namun pada 1939 Jerman mendisain ulang Enigma sehingga metode tersebut tidak dapat digunakan lagi. Berkat informasi dari Polandia, akhirnya Britania dan Perancis berhasil membuat mesin pemecah Enigma baru ini, yang diberi nama bombe. Informasi yang didapat Sekutu dari pemecahan Enigma disebut ULTRA, yang terbukti amat penting bagi kemenangan Sekutu pada Perang Dunia II. Menurut para ahli, PD II berakhir dua tahun lebih cepat berkat pemecahan Enigma ini.