Tuesday, October 8, 2013

OSI LAYER DAN IMPLEMENTASINYA PADA SEND DAN RECEIVE EMAIL

   
  
   Jaringan diorganisasikan sebagai suatu tumpukan lapisan (layer). Tujuan tiap lapisan adalah memberikan layanan kepada lapisan yang berada di atasnya. Misal lapisan 1 memberi layanan terhadap lapisan 2. Masing-masing lapisan memiliki protokol. Protokol adalah aturan suatu "percakapan" yang dapat dilakukan. Protokol mendefinisikan format, urutan pesan yang dikirim dan diterima antar sistem pada jaringan dan melakukan operasi pengiriman dan penerimaan pesan. OSI atau open system interconnection hadir sebagai model arsitektur yang dikembangkan oleh ISO.

OSI Reference Model memiliki tujuh lapis, yakni sebagai berikut

Layer 7 :   Application layer
     Berfungsi sebagai antarmuka dengan aplikasi dengan fungsionalitas jaringan, mengatur bagaimana aplikasi dapat mengakses jaringan, dan kemudian membuat pesan-pesan kesalahan. Protokol yang berada dalam lapisan ini adalah HTTP, FTP, SMTP, danNFS.

Layer 6 :   Presentation layer
     Berfungsi untuk mentranslasikan data yang hendak ditransmisikan oleh aplikasi ke dalam format yang dapat ditransmisikan melalui jaringan. Protokol yang berada dalam level ini adalah perangkat lunak redirektor (redirector software), seperti layananWorkstation (dalam Windows NT) dan juga Network shell (semacam Virtual Network Computing (VNC) atau Remote Desktop Protocol (RDP)).

Layer 5 :  Session layer
    Berfungsi untuk mendefinisikan bagaimana koneksi dapat dibuat, dipelihara, atau dihancurkan. Selain itu, di level ini juga dilakukan resolusi nama.

Layer 4 :  Transport layer
    Berfungsi untuk memecah data ke dalam paket-paket data serta memberikan nomor urut ke paket-paket tersebut sehingga dapat disusun kembali pada sisi tujuan setelah diterima. Selain itu, pada level ini juga membuat sebuah tanda bahwa paket diterima dengan sukses (acknowledgement), dan mentransmisikan ulang terhadp paket-paket yang hilang di tengah jalan.

Layer 3 :  Network layer
    Berfungsi untuk mendefinisikan alamat-alamat IP, membuat header untuk paket-paket, dan kemudian melakukan routing melaluiinternetworking dengan menggunakan router dan switch layer-3.

Layer 2 :  Data-link layer
    Befungsi untuk menentukan bagaimana bit-bit data dikelompokkan menjadi format yang disebut sebagai frame. Selain itu, pada level ini terjadi koreksi kesalahan, flow control, pengalamatan perangkat keras (seperti halnya Media Access Control Address (MAC Address)), dan menetukan bagaimana perangkat-perangkat jaringan seperti hub, bridge, repeater, dan switch layer 2beroperasi. Spesifikasi IEEE 802, membagi level ini menjadi dua level anak, yaitu lapisan Logical Link Control (LLC) dan lapisanMedia Access Control (MAC).

Layer 1 :  Physical layer
    Berfungsi untuk mendefinisikan media transmisi jaringan, metode pensinyalan, sinkronisasi bit, arsitektur jaringan (seperti halnyaEthernet atau Token Ring), topologi jaringan dan pengabelan. Selain itu, level ini juga mendefinisikan bagaimana Network Interface Card (NIC) dapat berinteraksi dengan media kabel atau radio.

  Adapun contoh implementasi dari model arsitektur OSI  ini dapat dilihat dari proses pengiriman dan penerimaan email yang mana tahapannya adalah sebagai berikut :


TAHAP PENGIRIMAN EMAIL :

1.   Pada layer 7, mengatur interface dengan user misalnya program Microsoft Outlook yang mempunyai fungsi SMTP dan POP3.
2.   Setelah itu layer 6, mengirim email dengan format ASCII atau HTML.
3.   Layer 5, dalam menggunakan email anda harus menginstal OS dahulu untuk membuka sesi komunikasi jaringan
4.   Layer 4, OS membuka SMTP dengan sebuah TCP socket kemudian protocol terbuka untuk menerima data dari server email.
5.   Layer 3, Komputer mencari IP addres dari SMTP Server dengan melihat routing table yang diberikan OS Router jika tidak ditemukan akan memberikan pesan
6.   Layer 2, Paket Data dari IP addres di kirimkan oleh Ethernet
7.   Layer 1, mengubah paket data menjadi signal elektrik yang ditransformasilkan pada kabel UTP Cat5

TAHAP  PENERIMAAN EMAIL  


1.   Sama halnya dengan tahap pengiriman email namun pada penerimaan email pertama-tama signal elektrik yang merupakan paket data diterima pada layer 1
2.   Kemudian layer 2, paket data diterima dari IP source yang telah dikirimkan melalui ethernet
3.   Layer 3, menerima paket data dari IP address source kemudian membuka header paket
4.   Layer 4, menyusun ulang paket-paket data dan memberikan acknowledment terhadap paket-paket data yang hilang.
5.   Layer 5, menjalin komunikasi dengan jaringan
6.   Layer 6, mentranslasikan email yang sebelumnya berformat ASCII sehingga dapat dibaca oleh user
7.   Tahap terakhir adalah layer 7, yang merupakan layer applikasi yang merupakan interface user
dimana email ditampilkan pada aplikasi email, contohnya Microsoft Outlook.

Referensi :
http://id.wikipedia.org/wiki/Model_OSI
http://sheunyil.blogspot.com/2012/10/osi-layer-vs-tcpip.html
http://realitypod.com

Sunday, September 29, 2013

TUTORIAL WIRESHARK




Pertama membuka wireshark kemudian memilih menu capture dan submenu interface dan pilih jaringan yang terhubung ke jaringan dan klik start :


Setelah itu wireshark akan menangkap semua perpindahan data di jaringan yang terhubung dengan komputer kita dan ditampilkan pada display.


Pada saat membuka browser dan mulai login ke website (dalam hal ini menggunakan elaboratory) wireshark juga akan mengcapture


Untuk memudahkan kita melihat paket data yang dikirimkan dan diterima dapat menggunakan command prompt yang digunakan untuk ping pada website yang akan diamati sehingga ip address website tersebut dapat diketahui.

Setelah mengetahui IP destination kemudian kembali ke wireshark untuk memastikan jaringan telah ter-capture.

Pada wireshark dapat dilihat GET /elaboratory login/ yang berarti bahwa wireshark telah berhasil mengcapture website sitrampil.ui.ac.id.
Pada hasil capture diatas yang kita perhatikan adalah protocol HTTP. HTTP berkomunikasi melalui TCP / IP. Klien HTTP terhubung ke server HTTP menggunakan TCP. Setelah membuat sambungan, klien dapat mengirim pesan permintaan HTTP ke server. HTTP digunakan untuk mengirimkan permintaan dari klien web (browser) ke web server, dikembali kan ke konten web (halaman web) dari server ke klien. 
Untuk menemukan username dan password terlebih dahulu stop capture wireshark dan untuk memudahkan urutkan protocol dengan klik protocol. Setelah itu cari protocol HTTP dengan info POST. 


Setelah itu klik kanan dan pilih menu Follow TCP Stream maka akan tampil pop up berikut yang berisi data-data akses termasuk user dan password. 




            Pada capture wireshark diatas kita melihat pada tabel info adanya GET dan POST. Get adalah metode pengiriman data menggunakan query string, jadi seluruh nilai pada form anda akan di kirim ke sisi server/file dan nilai dari form anda akan tampil pada barus URL/ Address bar sedangkan post sendiri mengirimkan data ke sisi lain/ file namun tidak menampilkan nilai dari form pada address bar seperti GET/ Query String. Itulah sebabnya pada info POST kita dapat menemukan password dan user yang kita masukkan ke website tersebut.
 

          Untuk melihat tampilan paket SSL/TSL pada https yang merupakan protokol yang sangat aman, pertama-tama kita melakukan langkah seperti yang terdapat diatas (untuk ini kita mencoba mengakses webmail.ui.ac.id):



Kemudian mencari paket TSL/SSL

Tampilan diatas menunjukkan bahwa wireshark tidak berhasil mengcapture paket yang dikirim dan diterima dengan baik yang disebabkan karena HTTPS mengenkripsi data yang dikirim. 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. Maka dari itu walaupun wireshark mengcapture nya namun sangat sulit untuk dibaca.

REFERENSI :
1. Networking Laboratory University of Indonesia
2. http://www.wireshark.org 
 

Monday, September 23, 2013

Q & A about Microprocessor



   Assalamualaikum wr.wb, pada pembahasan kali ini saya mencoba untuk menjawab beberpa pertanyaan-pertanyaan dasar terkait dengan mikroprocessor.

1.       Ada berapa jenis bus? Sebutkan!
Microprocessor merupakan otak dari sebuah komputer dimana jika digambarkan dalam suatu diagram terletak antara memory system dan I/O system.
Bus merupakan penghubung yang ada dalam suatu komputer. Pada pelajaran mikroprocessor dan mikrokontroller kita mengenal ada 3 jenis bus yaitu :
a.       Address bus, yang berfungsi untuk mengirimkan alamat/ memilih sebuah alamat yang akan dituju pada I/O system atau memory device.
b.      Data bus, yang berfungsi untuk transfer data antara I/O device atau memory device dengan mikroprosessor.
c.       Control bus, berfungsi untuk mengontrol I/O atau memory system.

2. Tuliskan micro operation dari instruksi write! (apa saja yang terjadi di bus, memori dan mikroprosesor)
Pada mikroprocessor kita mengenal adanya beberapa instruksi yang tentu saja terkait dengan control bus. Ada 4 jenis kontrol yaitu: MWTC (Memory Write Control), MRDC (Memory Read Control), IOWC( Input Output Write Control), dan IORC(Input Output Read Control).
Example : WRITE ke memory alamat OFFH
1.       Alamat memory OFFH yang akan ditulis dikirimkan dengan address bus
2.       MWTC diaktifkan : diset “0” dengan control bus. *nb: instruksi yang tidak aktif bernilai “1”
3.       Data ditransferkan dari memori ke mikroprocessor dengan data bus.

3. Buatlah sebuah program lengkap, dengan model small, untuk mengkopikan sebuah nilai 1234H ke register AX, BX, CX dan DX

*catatan : ada beberapa operasi MOV yang tidak diperkenankan :
1. Operasi MOV yang melibatkan register yang berbeda size
2. Operasi MOV dari suatu segment dengan tujuan segment yang lain (Segment to Segment)
3. Menjadikan CS sebagai tujuan dari MOV, example MOV CS, AX  ---> program berjalan tapi memungkinkan hasil yang diperoleh akan berbeda dikarenakan mengubah isi CS akan menyebabkan perpindahan register.  

4. Apakah alamat akhir dari segment jika alamat awalnya 1234H?
Untuk mencari alamat akhir atau ending address dari segment dapat ditempuh dengan cara berikut:
Alamat awal       : 1234H
Alamat akhir       :
                (1234H x 10) + FFFFH =   1  2  3  4  0  H
                                                                    F   F  F  F  H
                                                                ------------------- +
                                                                2  2  3  3  F  H
Jawaban : 2233FH

5. Sebutkan pasangan segmen register dari ofset berikut ini:
IP, BX, BP, SP
Oke untuk menjawab pertanyaan ini pertama-tama mari kita perhatikan pasangan-pasangan segmen :
SEGMENT
OFFSET
CS
IP
SS
SP atau BP
DS
BX, DI, SI, atau angka
ES
DI
Dari tabel diatas dapat kita ketahui bahwa pasangan dari IP adalah CS, BX adalah DS, BP adalah SS, dan SP adalah SS.

   Demikian Q&A yang sempat dibahas pada pembahasan kali ini. Jika memungkinkan akan menyusul ringkasan materi Mikroprocessor Bab tentang The Microprosesor Architecture Hardware Specification, Assembly Language Programming for Microprocessor v2, dan Addressing Modes. Wassalam.

Referensi :
1. Prima Dewi Purnamasari, ST MSc. 

2. The Intel Microprocessors 8086/8088, 80186/80188, 80286, 80386, 80486, Pentium, Pentium Pro Processor, Pentium II, Pentium III, Pentium IV Architecture, Programming, and Interfacing, Seventh Edition, Brey, Barry, B., PHI Inc, USA, 2006. 

3. The Intel Microprocessors 8086/8088, 80186/80188, 80286, 80386, 80486, Pentium, Pentium Pro Processor, Pentium II, Pentium III, Pentium IV Architecture, Programming, and Interfacing, Fifth Edition, Brey, Barry, B., PHI Inc, USA, 2000. 

4. The 8051 Microcontroller and Embedded Systems, Second Edition, Muhammad Ali Mazidi, Prentice Hall, 2006


Sunday, September 22, 2013

Tutorial Enkripsi dan Dekripsi Data


Pada pembahasan kali ini, kita akan belajar bagaimana mengirimkan data dengan sangat aman. Bagaimana caranya? Yang pertama tentu saja kita harus mendekripsi data yang akan diamankan agar tidak ada orang yang dapat membukanya baik pada saat pengiriman maupun pada saat data diterima oleh user yang tepat akan membaca pesan kita.


Nah untuk dekripsi dan enkripsi sendiri kita mengenal adanya public key dan private key. Public Key adalah kunci yang diberikan atau disebarluaskan kepada umum yang kemudian digunakan untuk meng-enkripsi data yang akan dikirim kepada kita penerima dan private key sendiri merupakan kunci yang kita gunakan sebagai penerima untuk membuka file (dekripsi) yang sebelumnya tadi di-enkripsi dengan public key milik kita dan dikirim oleh pengirim (umum). Perlu diingat bahwa tiap public key memiliki private key masing-masing dan data yang dienkripsi oleh suatu public key hanya dapat didekripsi oleh pasangan private keynya.

Selain mengenal istilah public key dan private key, dalam keamanan jaringan khususnya pada enkripsi dan dekripsi data kita juga mengenal istilah  PGP (Pretty Good Privacy) yang merupakan  suatu metode enkripsi yang menyimpan kerahasiaan suatu informasi agar tidak dapat diketahui/dibaca oleh pihak selain pengirim dan penerima informasi. Informasi ini bisa berupa Email rahasia, nomor kode kartu kredit, atau pengiriman dokumen rahasia perusahaan melalui internet. 
PGP menggunakan metode asymmetric cryptography, yang memiliki sistem pasangan public key dan private key. Setiap orang yang akan berkomunikasi menggunakan metode PGP harus memiliki sepasang kunci ini. Public key merupakan kunci yang dipublikasikan dan digunakan oleh orang lain untuk melakukan enkripsi pesan yang ditujukan kepada pemilik public key tersebut. Untuk men-dekripsi pesan tersebut, si penerima harus menggunakan private key milik-nya yang tidak boleh diketahui oleh orang lain. Berbeda dengan metode symmetric cryptography dimana proses enkripsi dan dekripsi hanya melibatkan satu buah kunci, sehingga si pengirim dan penerima harus bertukar kunci terlebih dahulu yang sangat beresiko karena dapat di-intercept oleh pihak lain di dalam jarigan.
Pada tutorial kali ini kita menggunakan program Gpg4win. Gpg4win adalah paket instalasi untuk Windows (2000/XP/2003/Vista/7) dengan program dan handbook untuk enkripsi file dan email. Gpg4win dan program-program di dalamnya adalah free software, berbeda dengan software PGP yang berbayar. Gpg4win terdiri dari program-program berikut:



   GnuPG, program inti dari Gpg4win yang bersifat gratis. GnuPG berbasis standar internasional OpenPGP (RFC 2440) yang kompatibel dengan PGP serta memiliki infrastruktur yang sama (certificate server, dll). GnuPG versi 2 juga mendukung standar cryptography S/MIME (IETF RFC 3851, ITU-T X.509 dan ISIS-MTT/Common PKI)

·         Kleopatra, program administrasi certificate yang menyediakan navigasi user untuk semua operasi cryptography maupun pengelolaan key.

·         GNU Privacy Assistant (GPA), program alternatif untuk manajemen certificate

·         GnuPG for Outlook (GpgOL), extension dari Microsoft Outlook

·         GPG Explorer eXtension (GpgEX), extension untuk Windows Explorer

·         Claws Mail, program email yang mendukung software GnuPG

Tools lain : Instant Crypt, software opensource untuk melakukan enkripsi & dekripsi berbasis Open PGP



Prinsip Enkripsi-Dekripsi


Meskipun memiliki keandalan tinggi, konsep public key ternyata menyisakan masalah dari sisi pengirim pesan. Misalkan Andi dan Budi ingin melakukan korespondensi menggunakan email rahasia. Mereka memang tidak perlu bertemu langsung untuk bertukaran key sebelum berkiriman email rahasia, cukup upload public key di certificate server atau di website masing-masing agar dapat diakses oleh lawan komunikasinya. Namun, bagaimana cara Andi meyakinkan dirinya bahwa public key tersebut adalah benar milik Budi? Dalam kasus tertentu, bisa saja ada orang lain yang berpura-pura menjadi Budi dan menggunakan public key miliknya untuk mendapatkan email rahasia yang seharusnya hanya boleh dibaca oleh Budi. Oleh karenanya, tidak hanya kerahasiaan pesan, tapi identitas dari pemilik public key juga harus terjamin kredibilitasnya. Hal ini disebut dengan authenticity. Terdapat dua metode yang digunakan : 

1. S/MIME (Secure/Multipurpose Internet Mail Extension), menggunakan konsep “hierarchical trust”. Jika menggunakan S/MIME, public key kita harus diautentikasi terlebih dahulu oleh organisasi terakreditasi sebelum dapat digunakan. Rantai hierarki ini biasanya terdiri dari tiga link : root certificate, certificate authority, dan user certificate



2. OpenPGP, menggunakan konsep “Web of trust”. Konsep ini merepresentasikan struktur dasar dari internet non-hierarki beserta user-usernya. Sebagai contoh, jika User B memberikan kepercayaan-nya kepada User A, maka User B juga akan meyakini kebenaran public key milik User C, jika key tersebut sudah diautentikasi kebenarannya oleh User A.



    Untuk memastikan bahwa pesan yang diterima adalah benar buatan si pengirim yang kita inginkan, PGP/GnuPG menyediakan fasilitas digital signature atau tandatangan digital. Pengirim menggunakan PGP/GnuPG untuk membuat digital signature dari pesan dengan algoritma RSA atau DSA. Untuk melakukannya, PGP/GnuPG akan melakukan komputasi untuk menghasilkan hash (message digest) dari plaintext, dan membuat digital signature dari hasil enkripsi hash tersebut menggunakan private key milik si pengirim. Penerima kemudian akan menggunakan public key milik si pengirim untuk men-dekripsi kode hash tersebut. Jika cocok, maka kode hash tersebut menjadi digital signature untuk pesan, sehingga penerima yakin bahwa pesan tersebut benar dibuat oleh pengirim yang diketahui, atau belum pernah dimodifikasi oleh siapa pun. PGP versi RSA menggunakan algoritma MD5 (Message Digest 5, 128 bit) untuk menggenerate kode hash, sedangkan vesi Diffie-Hellman menggunakan algoritma SHA-1.



OKE! Sekarang kita masuk ke tutorial MEMBUAT PUBLIC DAN PRIVATE KEY

1. Buka Kleopatra

2. Klik File > New Certificate..

3. Di kotak dialog, pilih opsi Create a Personal OpenPGP key pair

4. Masukkan detail key




5. Klik Next > Create Key, masukkan passphrase. Harus menyertakan karakter angka.




6. Akan muncul kotak dialog, pilih Make a Backup Of Your Key Pair untuk meng-export key





7. Masukkan direktori. Centang opsi ASCII armor untuk tipe file *.asc ; kosongkan untuk tipe file *.pgp atau *.gpg.




8. Private key sudah dibuat. Untuk mengexport Public key, klik kanan pada certificate dan pilih Export Certificate.


Nah, setelah membuat public dan private key selanjutnya kita dapat meng-enkripsi dan dekripsi pesan. Berikut tutorialnya :



1. Buka InstantCrypt

2. Klik Key Management > Import Key untuk memasukkan key

3. Enkripsi. Pada form Used Own Key, masukkan private key anda untuk melakukan digital signature. Pada form From/To, masukkan public key milik penerima pesan.




4. Masukkan pesan ke form Message Text, Klik Encrypt. Pesan terenkripsi.




5. Decrypt. Masukkan pesan terenkripsi ke form Encrypted Message. Pada form Used Own Key, masukkan private key anda untuk mendekripsi pesan. Pada form Sender (Signer’s Key), masukkan public key pengirim untuk membuka digital signature di dalam pesan. Klik Decrypt.



Tutorial tambahan : Authentikasi Public Key dengan metode openPGP



1. Buka Kleopatra

2. Klik kanan pada certificate yang akan diautentikasi. Pilih Certify Certificate.

3. Centang opsi I have verified the fingerprint. Fingerprint adalah identitas unik dari setiap key, dengan memverifikasi-nya, anda berarti menyatakan bahwa kunci tersebut benar milik orang yang anda maksud (pada gambar di bawah user : Adele)




4. Klik Next. Pilih opsi Certify for everyone to see. Klik Certify, masukkan passphrase.



5. Untuk mengecek key tersebut sudah diautentikasi oleh siapa saja, klik kanan pada certificate. Pilih Certificate Detail, buka tab User IDs and Certification


Referensi:
1. Networking Laboratory University of Indonesia
2. http://www.gpg4win.org