Dasar Teori Tentang Linux Backtrack

LINUX BACKTRACK
Dasar teori tentang linux backtrack
Linux BackTrack merupakan salah satu distro Linux berbasis KDE yang digunakan oleh para hacker ataupun networking security untuk menjaga suatu komputer server agar tidak dapat diserang oleh oleh para cracker. BackTrack berisikan sejumlah aplikasi untuk kebutuhan penestration testing. Distro ini sangat cocok digunakan oleh para profesional di bidang security, maupun siapa saja yang tertarik lebih dalam mempelajari security.
Dalam distro ini, kita dapat menemukan sejumlah security tool yang sudah tersusun rapi di submenu Back-Track. Beberapa kategori tool yang terdapat di submenu BackTrack, di antaranya, information gathering, network mapping, vulnerability identiļ¬cation, penetration privilige escalation, maintaining access, covering tracks, radio network analysis, voip & telephony analysis, digital forensics, reverse engineering, dan miscellaneous. Selain berfungsi sebagai Live-CD, BackTrack juga dapat diinstalasi ke media USB Flash Drive maupun harddisk.
Dengan ini, maka waktu loading BackTrack dapat semakin dipercepat.
Peralatan yang biasa digunakan diantaranya :
1. Personal Komputer
2. CD Backtrack
3. Hub & Switch
4. Media Komunikasi (Kabel UTP Straight & Crossover)
5. Sistem Operasi Windows XP Service Pack 2
Tahap dan langkah dalam percobaannya :
1. Jalankan CD backtrack
2. Login dengan nama “root” dan password “toor”
3. Set Ip, ketik ifconfig
maka akan tampil
4. Untuk mengatur IP address dan netmask
ifconfig eth0 192.168.2.110 netmask 255.255.255.0
ifconfig
maka akan tampil
Keterangan :
• lo = local host
• Hwaddr
 Merupakan make address / physical address / alamat fisik yang menempel pada perangkat jaringannya.
Mengunakan bilangan heksa.
 Fungsinya : bisa digunakan untuk membatasi masuk dalam jaringan
Hwaddr pada contoh di atas = 00:0C:29:0A:88:87
00:0C:29 = identitas perusahaan pembuatnya, akan sama untuk semua netwok card yang satu perusahaan
0A:88:87 = nomor seri (nomor urut) dari setiap netwok card yang dibuat perusahaan, merupakan nomor seri, tidak akan sama di seluruh dunia.(identitas unix)
• Inet addr = logical address yang bisa ditukar-tukar = 192.168.2.110
• Bcast = broadcast = 192.168.2.255
• Netmask = 255.255.255.0
5. Untuk melihat makeaddress :
C=Dinamik=bisa berubah, maksud nya makeaddress bisa dimanipulasi/ ditukar.
6. Tes jaringan , yaitu dengan cara ping.
Formatnya : ping
Ex : ping 192.168.2.110
7. Untuk melihat jumlah komputer yang terkoneksi ke jaringan :
#nmap -sP 192.168.2.1-254
Pada gambar di atas, kita dapat mengetahui bahwa komputer yang terkoneksi ke jaringan berjumlah 8 komputer.
8. Untuk melihat apa saja yang bisa dilakukan dengan nmap :
#nmap
Sintak-sintak dari linux backtrack, contoh nya :
Example :
Linux memiliki 2 prompt :
• $ = haknya hanya sebagai user biasa, hanya untuk menggunakan, tidak ada hak administrative.
$ pada windows = C,D, atau E
• # = disebut unix (root ).
Pada windows disebut dengan administrator (admin).
Untuk set IP (merupakan tugas admin) kita menggunakan prompt #, jika kita masih dalam $, maka rubah ke # . cara nya
  su atau
  sudo
Ada 4 syarat jaringan bisa terkoneksi ( terhubung) :
1. Host id tidak boleh sama
2. IP broadcast harus sama
3. Netmask harus sama
4. Net id harus sama ,192.168.2.0 net id tergantung netmask
192.168.2.0 Net id IP awal (tidak boleh digunakan)
192.168.2.110 Host id
192.168.2.255 Bcast IP akhir (tidak boleh digunakan)
255.255.255.0 netmask 11111111. 11111111. 11111111.00000000 = TCP IP kelas C, versi 4 = 32 bit
Sekarang sudah ada versi 6 = 128 bit
Jumlah host yang bisa digunakan = 28 =256
IP awal dan IP akhir tidak boleh digunakan. Jadi jumlah IP yang bisa digunakan = 254
Menu dari backtrack :
1. Information Gatering
  berisi informasi-informasi dari backtrack
2. Network Mapping
memetakan jaringan (men-cek sevice-service atau layanan yang aktif, mengidentifikasi host, dll).
 Salah satu bagian dari Network Mapping adalah VPN, yang merupakan sebuah sistem yang memungkinkan untuk membuat sebuah sistem privat (pribadi) untuk menumpang di jaringan publik (jaringan internet). VPN merupakan Server yang dikerjakan di luar, tetapi seolah-olah di dalam. Keuntungan VPN yaitu orang luar tidak bisa melihat jaringan kita, karena paket datanya berupa enkripsi.
 Bagian Network Mapping lainnya yaitu Netdiscover, yaitu Scanning dengan perkiraan IP yang ada di jaringan, mendeteksi IP yang bisa di deteksinya dalam broadcast.
Maka akan tampil :
Keterangan :
MAC vendor  perusahaan penyedia network card
192.168.122.0/16
16 = 1111111.1111111.00000000.00000000 = 255.255.0.0  Kelas B
3. Vulnerability Identification
mengecek lobang keamanan
4. Penetration
mencoba untuk masuk dengan tool-tool yang ada.
5. Privilage Escalation
  mencoba menangkap password orang lain.
Bagian dari dari Provilege Escalation yaitu :
• Sniffer mengendus paket yang lewat di jaringan.
• Maintaning Access  kalau sudah berhasil masuk ke sistem lain, untuk ke depannya bisa masuk lagi tanpa harus mencari-cari pintu masuk lagi.
6. Maintaining Access
7. Radio Network Analysis
8. VOIP & Telephony Analysis
9. Digital Forensics
10. Reverse Engineering
11. Miscellaneous
Latihan Praktikum
1. Backtrack  Privilege Escalation  Sniffers  Etherape  terdapat protokol-protokol yang melewati sebuah jaringan.
2. Pada Etherape  terdapat protokol-protokol yang melewati sebuah jaringan
Macam-macam protokol :
a. HTTP (HyperText Transfer Protocol) adalah protokol yang digunakan untuk mentransfer dokumen dalam World Wide Web (WWW). Protokol ini adalah protokol ringan, tidak berstatus dan generik yang dapat dipergunakan berbagai macam tipe dokumen.
b. Gopher adalah aplikasi yang dapat mencari maklumat yang ada di Internet, tetapi hanya “text base” saja, atau berdasarkan teks.Untuk mendapatkan maklumat melalui Gopher, kita harus menghubungkan diri dengan Gopher server yang ada di Internet. Gopher sudah mulai di tinggalkan karena penggunaannya tidak sesedeharna HTTP.
c. FTP (File Transfer Protocol) adalah sebuah protokol Internet yang berjalan di dalam lapisan aplikasi yang merupakan standar untuk pentransferan berkas (file) komputer antar mesin-mesin dalam sebuah internetwork. FTP masih digunakan hingga saat ini untuk melakukan download dan upload berkas-berkas komputer antara klien FTP dan server FTP.
d. Mailto, digunakan untuk mengirim email melalu jaringan internet. Bentuk format pada protocol ini adalah : mailto:nama_email@namahost.
e. TCP/IP (Transmission Control Protocol/Internet Protocol) merupakan standar komunikasi data yang digunakan oleh komunitas internet dalam proses tukar-menukar data dari satu komputer ke komputer lain di dalam jaringan Internet.
Pada TCP/IP terdapat beberapa protokol sub yang menangani masalah komunikasi antar komputer. TCP/IP merngimplemenasikan arsitektur berlapis yang terdiri atas empat lapis, diantaranya adalah :
  Protokol lapisan aplikasi : bertanggung jawab untuk menyediakan akses kepada aplikasi terhadap layanan jaringan TCP/IP. Protokol ini mencakup protokol :
a) Dynamic Host Configuration Protocol (DHCP).
b) Domain Name System (DNS), Fungsinya: Untuk memetakan IP Address dan Nama Host, DNS juga digunakan sebagai sarana bantu penyampaian e-mail.
c) Hypertext Transfer Protocol (HTTP).
d) File Transfer Protocol (FTP).
e) Telnet.
f) Simple Mail Transfer Protocol (SMTP), merupakan protokol aplikasi yang merupakan system pengirim massage atau pesan / e-mail.
g) Simple Network Management Protocol (SNMP), di desain untuk memberikan kemampuan pada pemakai untuk mengelola jaringan komputernya atau jarak jauh/ remote. Pengeloaan ini dilaksanakan dengan cara melakukan polling dan setting vaiabel-variabel elemen jaringan yang dikelolanya.
h) Protokol SMB, didesain untuk LAN dan menimbulkan masalah ketika komputer Windows disambungkan ke Internet. Kecuali lalu lintas SMB di-filter, protokol ini juga cenderung untuk menyebar ke sambungan Internet, menghabiskan bandwidth secara cuma-cuma.
i) dan masih banyak protokol lainnya. Dalam beberapa implementasi stack protokol, seperti halnya Microsoft TCP/IP, protokol-protokol lapisan aplikasi berinteraksi dengan menggunakan antarmuka Windows Sockets (Winsock) atau NetBIOS over TCP/IP (NetBT).
  Protokol lapisan antar-host : berguna untuk membuat komunikasi menggunakan sesi koneksi yang bersifat connection-oriented atau broadcast yang bersifat connectionless. Protokol dalam lapisan ini adalah :
a) Transmission
b) Control Protocol (TCP)
c) User Datagram Protocol (UDP). adalah salah satu protokol lapisan transpor TCP/IP yang mendukung komunikasi yang tidak andal (unreliable), tanpa koneksi (connectionless) antara host-host dalam jaringan yang menggunakan TCP/IP. Connectionless (tanpa koneksi) maksudnya : Pesan-pesan UDP akan dikirimkan tanpa harus dilakukan proses negosiasi koneksi antara dua host yang hendak berukar informasi(dikirim/tidak bukan urusannya).
  Protokol lapisan internetwork : bertanggung jawab untuk melakukan pemetaan (routing) dan enkapsulasi paket-paket data jaringan menjadi paket-paket IP. Protokol yang bekerja dalam lapisan ini adalah :
a) Internet Protocol (IP)
b) Address Resolution Protocol (ARP)
c) Internet Control Message Protocol (ICMP), merupakan protocol yang bertugas mengirimkan pesan-pesan kesalahan dan kondisi lain yang memerlukan perhatian khsusus, pesan atau paket ICMP dikirim jika terjadi masalah pada layer IP dan layer atasnya (TCP/UDP).
d) Internet Group Management Protocol (IGMP), digunakan untuk memfasilitasi transmisi message yang simultan kepasa kelompok/group penerima.
  Protokol lapisan antarmuka jaringan : bertanggung jawab untuk meletakkan frame-frame jaringan di atas media jaringan yang digunakan. TCP/IP dapat bekerja dengan banyak teknologi transport, mulai dari teknologi transport dalam LAN (seperti halnya Ethernet dan Token Ring), MAN dan WAN (seperti halnya dial-up modem yang berjalan di atas Public Switched Telephone Network (PSTN), Integrated Services Digital Network (ISDN), serta Asynchronous Transfer Mode (ATM)).
3. Backtrack  Privilege Escalation  Sniffers  Wireshark
Maka akan tampil :
4. Setelah loading ( proses) selesai , akan tampil :
5. Pilih Capture  Interface, setelah itu akan tampil :
6. Klik Start, sehingga akan tampil info tentang protokol-protokol yang melewati jaringan, sumber dan tujuannya.
7. Klik stop
8. Setelah itu buka Shell-konsole, ketikkan
telnet
contoh : telnet 192.168.2.110
Maka kita akan disuruh login dan mengisi password dari komputer yang kita pakai.
9. Setelah itu, kembali ke Wireshark.
Pilih tab Analyze Follow TCP Stream
10. Setelah tab Analyze  Follow TCP Stream diambil, maka akan muncul tampilan di bawah ini, apa yang user lakukan sebelumnya akan terlihat. Baik itu bagaimana user login, dan password yang digunakan. Pada contoh di bawah yang terlihat hanya huruf “aa”, karena hanya itu yang dikerjakan pada komputer sebelumnya.

Langkah Hacking

Dalam dunia hacking dikenal beberapa jenis serangan terhadap
server. Berikut ini jenis-jenis serangan dasar yang dapat dikelompokkan dalam minimal 6
kelas, yaitu
1.Intrusion
Pada jenis serangan ini seorang cracker (umumnya sudah level hacker) akan dapat
menggunakan sistem komputer server. Serangan ini lebih terfokus pada full access granted
dan tidak bertujuan merusak. Jenis serangan ini pula yg diterapkan oleh para hacker untuk
menguji keamanan sistem jaringan mereka. Dilakukan dalam beberapa tahap dan tidak dalam
skema kerja spesifik pada setiap serangannya (dijelaskan pada artikel lain).
Hacking is an Art!

2.Denial of Services (DoS)
Penyerangan pada jenis DoS mengakibatkan layanan server mengalami stuck karena kebanjiran
request oleh mesin penyerang. Pada contoh kasus Distributed Denial of Services (DDoS)
misalnya; dengan menggunakan mesin-mesin zombie, sang penyerang akan melakukan packeting
request pada server secara serentak asimetris dan simultan sehingga buffer server akan
kelabakan menjawabnya!? Stuck/hung akan menimpa server.

3.Joyrider
Nah, ini namanya serangan iseng!? Karena kebanyakan baca novel-novel hacking dan gak bisa
belajar benar, isenglah jadinya nyoba-nyoba nyerang pake ilmu-ilmu instan super cepat
(istilahnya 'onani' dimesin orang). Atau dengan alasan pengen tau isinya mesin orang!? =).
Yang jelas serangan jenis ini rata-rata karena rasa ingin tau, tapi ada juga yang sampe
menyebabkan kerusakan atau kehilangan data.

4.Vandal
Jenis serangan spesialis pengrusak!? nothing else to explain mbah!? =)

5.Scorekeeper
Serangan yang bertujuan mencapai reputasi hasil cracking terbanyak. Biasanya hanya
berbentuk deface halaman web (index/nambah halaman) dengan memampangakan NickName dan
kelompok tertentu. Sebagian besar masih tidak perduli dengan isi mesin sasarannya =).
Saat ini jenis penyerang ini lebih dikenal dengan sebutan WannaBe/Script kiddies.

6.Spy
Tiga hurup saja. Jenis serangan untuk memperoleh data atau informasi rahasia dari mesin
target. Biasanya menyerang pada mesin-mesin dengan aplikasi database didalamnya. Kadang
kala suatu perusahaan menyewa 'mata-mata' untuk mencuri data perusahaan rivalnya

Berikut ini ada beberapa langkah dan istilah dalam proses hacking, seperti di bawah ini :

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

Meneliti sasaran secara intensif ,yang mencari user account absah, network resource and share & aplikasi untuk mendapatkan mana yang proteksinya lemah.

4. Gaining Access/Mendapatkan Akses

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

5. Escalating Privilege/Menemukan Akses Khusus (Root)

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

6. Pilfering

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

7. Menutupi Jejak (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. Membuat Pintu Belakang (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 service pengendali jarak jauh serta monitoring tool, dan menggantikan aplikasi dengan trojan.

9. Denial of Service (DOS)

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, trini00, dan lain-lain.

Semoga dapat bermanfaat......

eighth discussion

Pretty Good Privacy,
 Pengertian PGP


PGP adalah suatu metode penyandian informasi yang bersifat rahasia sehingga jangan sampai diketahui oleh orang yang tidak berhak. Informasi ini bisa berupa e-mail yang sifatnya rahasia, nomor kode kartu kredit, atau pengiriman dokumen rahasia perusahaan melalui internet. PGP menggunakan   metode kriptografi yang disebut “public key encryption”; yaitu suatu metode kriptografi yang sangat sophisticate.



Beberapa istilah yang sering digunakan

·         cryptography/encryption

ilmu pengetahuan yang mempelajari pengacakan text sehingga tidak seorang pun yang dapat mengetahuinya kecuali bila ia tahu kode yang digunakan untuk men-dechipernya.

·         conventional cryptography  

suatu metode encryption/enkripsi di mana suatu kunci digunakan untuk melakukan enksripsi dan dekripsi suatu plaintext.

·         encrypt/encipher

pengacakan/scramble dari suatu informasi.

·         decrypt/decipher

mengembalikan informasi yang telah diacak menjadi bentuk informasi yang semula.

·         ciphertext/cipher

text setelah dilakukan proses  enkripsi

·         plaintext

text yang akan dienkripsi

·         key/kunci

kode yang digunakan untuk melakukan enchiper dan atau dechiper suatu text. Dalam kriptografi konvensional, kunci yang digunakan untuk  enkripsi dan dekripsi adalah sama. Dalam public-key cryptography,kunci untuk enkripsi dan dekripsi berbeda.

·         public-key crypto  

suatu sistem yang menggunakan dua kunci; yaitu  public key  dan the secret key  yang lebih baik dan lebih praktis dibandingkan dengan  conventional crypto. Tujuan utamanya adalah kemudahan dalam manajemen kunci.

·         algorithm/algoritma

algorithm adalah program  crypto apa yang digunakan untuk melakukan enkripsi. Ia bukanlah suatu kunci, tetapi menghasilkan kunci. Suatu algoritma yang kuat/bagus akan manghasilkan crypto yang kuat.bagus juga. PGP menggunakan IDEA untuk bagian crypto yang konvensional, dan RSA untuk bagian  public-key . keduanya adalah algoritma yang bagus, namun RSA lebih bagus daripada IDEA.

·         passphrase

adalah suatu word  atau phrase, atau bahkan hanya karakter acak,  yang digunakan PGP untuk mengidentifikasi seseorang sebagai person yang diinginkan oleh orang tersebut. Suatu  passphrase sebaiknya lebih dari satu word,  dan jangan pernah membuat yang orang lain dapat menebaknya, seperti nama, nama tengah, binatang kesayangan, nama anak, hari ultah, nama pacar, alamat, band favorit dsb. suatu passphrase yang ideal, adalah setengah dari baris  text.  Sebaiknya lebih dari tiga word dan mengandung hal-hal berikut:  proper name, suatu slang atau vulgar word, dan irregular capitalization, sebagai contoh: tHe, benny, dll. JUGA, Sifat lainnya adalah ia harus mudah diketik secara cepat, tanpa error, dan tanpa perlu melihatnya pada layar.

·         public key

adalah suatu kunci yang memiliki sifat sebagai berikut : mempunyai suatu koneksi, sangat berbeda dari yang lainnya, didistribusikan dalam jumlah yang besar , melaluui banyak channel, secure atau insecure.

·         secret key  

adalah suatu kunci yang dimiliki oleh kita dan hanya kita seorang, dan tidak pernah diperlihatkan kepada publik.

·         ASCII armor/radix-64

adalah suatu format yang digunakan PGP  untuk mengkonversi default binary ciphertext, yang tidak dapat ditransfer melalui jaringan, menjadi suatu bentuk  ASCII yang dapat dikirmkan melalui email atau usenet.



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



Ilustrasi Pemakaian PGP

·         Public-key sangat lambat bila dibandingkan dengan konvensional, jadi PGP akan mengkombinasikan dua algoritma, yaitu RSA and IDEA, untuk melakukan enkripsi plaintext kita.

·         Sebagai contoh, Badrun (pemilik PGP) ingin mengenkripsi  suatu file yang diberi nama plain.txt sedemikian sehingga hanya si Matangin yang dapat mendekripsi-nya.  Maka Badrun mengirimkan  PGP  perintah (command line) untuk melakukan enkripsi  :

pgp -e plain.txt Matangin

Pada command line ini, pgp adalah file executable, -e  berarti  memberitahukan PGP untuk meng-encrypt file, plain.txt adalah nama plaintext, dan dul merepresentasikan public key suatu tujuan (Matangin) yang diinginkan Badrun untuk mengenkripsi message-nya. PGP menggunakan suatu random number generator, dalam file randseed.bin untuk menghasilkan suatu  kunci (session key) temporary IDEA. Session key itu sendiri di-enkripsi dengan kunci RSA public  yang direpresentasikan oleh Matangin  yang disematkan pada plaintext.

·         Kemudian, PGP menggunakan session key  untuk mengenkripsi message, ASCII-armors dan menyimpan seluruhnya sebagai cipher.asc. Bila Matangin ingin membaca pesannya, ia mengetikkan command:

   pgp cipher.asc

·         PGP  menggunakan  secret key milik Matangin, yang merupakan kunci RSA,        untuk men-dekripsi sessi kunci yang mana, yang jika dipanggil oleh Badrun akan dienkripsi oleh  public key. kemudian, conventional crypto digunakan dalam bentuk  session key untuk mendekripsi sisa dari message. Alasan prinsip ini adalah sebagai pengganti/kompensasi dari RSA karena "RSA is too slow, it's not stronger, and it may even be weaker." (-PGP Documentation, pgpdoc2.txt).



Enkripsi untuk File-File Biner

Untuk mereka yang terbiasa bekerja dengan file-file biner, pada usenet mengetahui istilah uuencode.  Uuenconde adalah suatu program, yang terutama untuk UNIX,  namun sekarang berkembang sehingga dapat mengubah file-file biner seperti .GIF or .AU menjadi ASCII text yang sesuai dengan format pengiriman usenet. Feature ini juga dimiliki oleh  PGP. File config.txt (mungkin disebut pgp.ini atau .pgprc ; tergantung protokol local) memiliki suatu option untuk berapa banyak baris file ASCII yang dapat dimuat. Jika jumlah ini tercapai,  PGP akan memecah-mecah file armored .asc menjadi .as1, .as2, .as3, ... dan semuanya harus digabungkan satu sama lain secara bersama-sama dan menjalankan PGP dalam suatu file yang besar. Untuk mengenkripsi suatu file biner, gunakan command berikut:

pgp -a picture.gif

atau option TextMode  diset ke ON:

pgp -a picture.gif +textmode=off


seventh Discussion

SEQURE SOCKET LAYER

 merupakan salah satu metode enkripsi dalam komunikasi data yang dibuat oleh Netscape Communication Corporation. Sebagaimana yang dijelaskan dalam SSL Protocol Internet Draft (The SSL Protocol, Version 3.0 oleh ALAN O.

SSL adalah 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. (terjemahan bebas).
SSL hanya mengenkripsikan data yang dikirim lewat http. Bagaimana SSL berjalan dapat digambarkan sebagai berikut :
  • Pada saat koneksi mulai berjalan, klien dan server membuat dan mempertukarkan kunci rahasia, yang dipergunakan untuk mengenkripsi data yang akan dikomunikasikan. Meskipun sesi antara klien dan server diintip pihak lain, namun data yang terlihat sulit untuk dibaca karena sudah dienkripsi.
  • SSL mendukung kriptografi public key, sehingga server dapat melakukan autentikasi dengan metode yang sudah dikenal umum seperti RSA dan Digital Signature Standard (DSS).
  • SSL dapat melakukan verifikasi integritas sesi yang sedang berjalan dengan menggunakan algoritma digest seperti MD5 dan SHA. Hal ini menghindarkan pembajakan suatu sesi. 
Protokol ini menyediakan authentikasi akhir dan privasi komunikasi di Internet menggunakan cryptography. Dalam penggunaan umumnya, hanya server yang diauthentikasi (dalam hal ini, memiliki identitas yang jelas) selama dari sisi client tetap tidak terauthentikasi. Authentikasi dari kedua sisi (mutual authentikasi) memerlukan penyebaran PKI pada client-nya. Protocol ini mengizinkan aplikasi dari client atau server untuk berkomunikasi dengan didesain untuk mencegah eavesdropping, [[tampering]] dan message forgery.
Baik TLS dan SSL melibatkan beberapa langkah dasar:
  • Negosiasi dengan ujung client atau server untuk dukungan algoritma.
  • Public key, encryption-based-key, dan sertificate-based authentication
  • Enkripsi lalulintas symmetric-cipher-based

sixth discussion

MD5
Dalam kriptografi, MD5 (Message-Digest algortihm 5) ialah fungsi hash kriptografik yang digunakan secara luas dengan hash value 128-bit. Pada standart Internet (RFC 1321), MD5 telah dimanfaatkan secara bermacam-macam pada aplikasi keamanan, dan MD5 juga umum digunakan untuk melakukan pengujian integritas sebuah file.
MD5 di desain oleh Ronald Rivest pada tahun 1991 untuk menggantikan hash function sebelumnya, MD4. Pada tahun 1996, sebuah kecacatan ditemukan dalam desainnya, walau bukan kelemahan fatal, pengguna kriptografi mulai menganjurkan menggunakan algoritma lain, seperti SHA-1 (klaim terbaru menyatakan bahwa SHA-1 juga cacat). Pada tahun 2004, kecacatan-kecacatan yang lebih serius ditemukan menyebabkan penggunaan algoritma tersebut dalam tujuan untuk keamanan jadi makin dipertanyakan.

Sejarah dan kriptoanalisis

MD5 adalah salah satu dari serangkaian algortima message digest yang didesain oleh Profesor Ronald Rivest dari MIT (Rivest, 1994). Saat kerja analitik menunjukkan bahwa pendahulu MD5 — MD4 — mulai tidak aman, MD5 kemudian didesain pada tahun 1991 sebagai pengganti dari MD4 (kelemahan MD4 ditemukan oleh Hans Dobbertin).
Pada tahun 1993, den Boer dan Bosselaers memberikan awal, bahkan terbatas, hasil dari penemuan pseudo-collision dari fungsi kompresi MD5. Dua vektor inisialisasi berbeda I dan Jdengan beda 4-bit di antara keduanya.
MD5compress(I,X) = MD5compress(J,X)
Pada tahun 1996 Dobbertin mengumumkan sebuah kerusakan pada fungsi kompresi MD5. Dikarenakan hal ini bukanlah serangan terhadap fungsi hash MD5 sepenuhnya, hal ini menyebabkan para pengguna kriptografi menganjurkan pengganti seperti WHIRLPOOL, SHA-1 atau RIPEMD-160.
Ukuran dari hash — 128-bit — cukup kecil untuk terjadinya serangan brute force birthday attack. MD5CRK adalah proyek distribusi mulai Maret 2004 dengan tujuan untuk menunjukka kelemahan dari MD5 dengan menemukan kerusakan kompresi menggunakan brute force attack.
Bagaimanapun juga, MD5CRK berhenti pada tanggal 17 Agustus 2004, saat kerusakan ''hash'' pada MD5 diumumkan oleh Xiaoyun Wang, Dengguo Feng, Xuejia Lai dan Hongbo Yu[1][2]. Serangan analitik mereka dikabarkan hanya memerlukan satu jam dengan menggunakan IBM P690 cluster.
Pada tanggal 1 Maret 2005, Arjen Lenstra, Xiaoyun Wang, and Benne de Weger mendemontrasikan[3] kunstruksi dari dua buah sertifikat X.509 dengan public key yang berbeda danhash MD5 yang sama, hasil dari demontrasi menunjukkan adanya kerusakan. Konstruksi tersebut melibatkan private key untuk kedua public key tersebut. Dan beberapa hari setelahnya, Vlastimil Klima menjabarkan[4] dan mengembangkan algortima, mampu membuat kerusakan Md5 dalam beberapa jam dengan menggunakan sebuah komputer notebook. Hal ini menyebabkan MD5 tidak bebas dari kerusakan.
Dikarenakan MD5 hanya menggunakan satu langkah pada data, jika dua buah awalan dengan hash yang sama dapat dibangun, sebuah akhiran yang umum dapat ditambahkan pada keduanya untuk membuat kerusakan lebih masuk akal. Dan dikarenakan teknik penemuan kerusakan mengijinkan pendahuluan kondisi hash menjadi arbitari tertentu, sebuah kerusakan dapat ditemukan dengan awalan apapun. Proses tersebut memerlukan pembangkitan dua buah file perusak sebagai file templat, dengan menggunakan blok 128-byte dari tatanan data pada 64-byte batasan, file-file tersebut dapat mengubah dengan bebas dengan menggunakan algoritma penemuan kerusakan.

Efek nyata dari kriptoanalisis

Saat ini dapat diketahui, dengan beberapa jam kerja, bagaimana proses pembangkitan kerusakan MD5. Yaitu dengan membangkitkan dua byte string dengan hash yang sama. Dikarenakan terdapat bilangan yang terbatas pada keluaran MD5 (2128), tetapi terdapat bilangan yang tak terbatas sebagai masukannya, hal ini harus dipahami sebelum kerusakan dapat ditimbulkan, tapi hal ini telah diyakini benar bahwa menemukannya adalah hal yang sulit.
Sebagai hasilnya bahwa hash MD5 dari informasi tertentu tidak dapat lagi mengenalinya secara berbeda. Jika ditunjukkan informasi dari sebuah public key, hash MD5 tidak mengenalinya secata berbeda jika terdapat public key selanjutnya yang mempunyai hash MD5 yang sama.
Bagaimanapun juga, penyerangan tersebut memerlukan kemampuan untuk memilih kedua pesan kerusakan. Kedua pesan tersebut tidak dengan mudah untuk memberikan seranganpreimage, menemukan pesan dengan hash MD5 yang sudah ditentukan, ataupun serangan preimage kedua, menemukan pesan dengan hash MD5 yang sama sebagai pesan yang diinginkan.
Hash MD5 lama, yang dibuat sebelum serangan-serangan tersebut diungkap, masih dinilai aman untuk saat ini. Khususnya pada digital signature lama masih dianggap layak pakai. Seorang user boleh saja tidak ingin membangkitkan atau mempercayai signature baru menggunakan MD5 jika masih ada kemungkinan kecil pada teks (kerusakan dilakukan dengan melibatkan pelompatan beberapa bit pada bagian 128-byte pada masukan hash) akan memberikan perubahan yang berarti.
Penjaminan ini berdasar pada posisi saat ini dari kriptoanalisis. Situasi bisa saja berubah secara tiba-tiba, tetapi menemukan kerusakan dengan beberapa data yang belum-ada adalah permasalahan yang lebih susah lagi, dan akan selalu butuh waktu untuk terjadinya sebuah transisi.

Pengujian Integritas

Ringkasan MD5 digunakan secara luas dalam dunia perangkat lunak untuk menyediakan semacam jaminan bahwa file yang diambil (download) belum terdapat perubahan. Seorang user dapat membandingkan MD5 sum yang dipublikasikan dengan checksum dari file yang diambil. Dengan asumsi bahwa checksum yang dipublikasikan dapat dipercaya akan keasliannya, seorang user dapat secara yakin bahwa dile tersebut adalah file yang sama dengan file yang dirilis oleh para developer, jaminan perlindungan dari Trojan Horse dan virus komputer yang ditambahkan pada perangkat lunak. Bagaimanapun juga, seringkali kasus yangterjadi bahwa checksum yang dipublikasikan tidak dapat dipercaya (sebagai contoh, checksum didapat dari channel atau lokasi yang sama dengan tempat mengambil file), dalam hal ini MD5 hanya mampu melakukan error-checking. MD5 akan mengenali file yang didownload tidak sempurna, cacat atau tidak lengkap.

Algoritma


Gambar 1. Satu operasi MD5 — MD5 terdiri atas 64 operasi, dikelompokkan dalam empat putaran dari 16 operasi.F adalah fungsi nonlinear; satu fungsi digunakan pada tiap-tiap putaran. Mi menujukkan blok 32-bit dari masukan pesan, dan Ki menunjukkan konstanta 32-bit, berbeda untuk tiap-tiap operasi.
geser kiri s menunjukkan perputaran bit kiri oleh s; s bervariasi untuk tiap-tiap operasi. tambahan menunjukan tambahan modulo 232. MD5 memproses variasi panjang pesan kedalam keluaran 128-bit dengan panjang yang tetap. Pesan masukan dipecah menjadi dua gumpalan blok 512-bit; Pesan ditata sehingga panjang pesan dapat dibagi 512. Penataan bekerja sebagai berikut: bit tunggal pertama, 1, diletakkan pada akhir pedan. Proses ini diikuti dengan serangkaian nol (0) yang diperlukan agar panjang pesan lebih dari 64-bit dan kurang dari kelipatan 512. Bit-bit sisa diisi dengan 64-bit integer untuk menunjukkan panjang pesan yang asli. Sebuah pesan selalu ditata setidaknya dengan 1-bit tunggal, seperti jika panjang pesan adalah kelipatan 512 dikurangi 64-bit untuk informasi panjang (panjang mod(512) = 448), sebuah blok baru dari 512-bit ditambahkan dengan 1-bit diikuti dengan 447 bit-bit nol (0) diikuti dengan panjang 64-bit.
Algoritma MD5 yang utama beroperasi pada kondisi 128-bit, dibagi menjadi empat word 32-bit, menunjukkan A, B, C dan D. Operasi tersebut di inisialisasi dijaga untuk tetap konstan. Algoritma utama kemudian beroperasi pada masing-masing blok pesan 512-bit, masing-masing blok melakukan pengubahan terhadap kondisi.Pemrosesan blok pesan terdiri atas empat tahap, batasan putaran; tiap putasan membuat 16 operasi serupa berdasar pada fungsi non-linear F, tambahan modular, dan rotasi ke kiri. Gambar satu mengilustrasikan satu operasi dalam putaran. Ada empat macam kemungkinan fungsi F, berbeda dari yang digunakan pada tiap-tiap putaran:
F(X,Y,Z) = (X\wedge{Y}) \vee (\neg{X} \wedge{Z})
G(X,Y,Z) = (X\wedge{Z}) \vee (Y \wedge \neg{Z})
H(X,Y,Z) = X \oplus Y \oplus Z
I(X,Y,Z) = Y \oplus (X \vee \neg{Z})
\oplus, \wedge, \vee, \neg menunjukkan operasi logikan XOR, AND, OR dan NOT.






fifth discussion

Asimetris Kriptographi

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