Ini post pertama saya membuat tugas dengan media blog. Maaf kalo kurang berkenan 🙂
Jadi kali ini di kuliah Keamanan Informasi diberi soal berikut:
“Kirimkan email ke diri sendiri (atau minta orang lain untuk mengirimkan email) dengan dua attachment (yang kecil saja). Identifikasi bagian-bagian di email, mana yang menunjukkan separator (pemisahan) dan mana attachmentnya (dan dikodekan dalam format apa).”
OK jadi saya kirimkan sebuah e-mail ke diri sendiri. Attachment yang saya pasang ada dua, satu berupa file PowerPoint dan satu lagi berupa gambar GIF. Saya memiliki beberapa alamat email pada domain berbeda: yahoo, hotmail, gmail, dan lainnya. Kebetulan untuk tugas ini saya perlu melihat source dari e-mail tersebut. GMail memiliki fitur yang mempermudah yang tidak dimiliki Yahoo!Mail maupun Hotmail. (thx to Satrio @ rsatrioadi.wordpress.com untuk infonya). Fitur ini adalah menu “View original” yang bisa memperlihatkan e-mail dalam unformatted version (plaintext).
Berikut struktur e-mail :
Header
Cukup jelas dengan dibaca, menampilkan versi MIME, subyek, cc, bcc, dan informasi lainnya.
MIME-Version: 1.0 Received: by 10.220.90.80 with HTTP; Thu, 11 Mar 2010 12:11:21 -0800 (PST) Bcc: xxxxxx@hotmail.com Date: Fri, 12 Mar 2010 03:11:21 +0700 Delivered-To: xxxxxx@gmail.com Message-ID: <726424811003111211x177db5c0keb7a6632207fb158@mail.gmail.com> Subject: Email Structure From: Ibnu Alam <xxxxxx@gmail.com> To: Ibnu Alam <xxxxxx@gmail.com> Cc: xxxxxx@yahoo.com Content-Type: multipart/mixed; boundary=0016e6465208bba5b704818c04e4 --0016e6465208bba5b704818c04e4
Perhatikan bahwa format MIME dalam e-mail ini mengandung content type multipart sehingga diantara tiap part perlu memakai boundary untuk memisahkan. Misalkan di atas untuk header boundarynya adalah “0016e6465208bba5b704818c04e4”, maka header ditandai berakhir dengan “–0016e6465208bba5b704818c04e4”
Body
Berikut adalah body dari e-mail.
Content-Type: multipart/alternative; boundary=0016e6465208bba5b104818c04e2 --0016e6465208bba5b104818c04e2
Ini bagian tulisan. Formatnya plaintext. Bisa juga berbentuk html untuk mail-mail yang dihias seperti mail iklan. Tulisan yang saya kirimkan cuma “electronic mail one two three hello world!”.
Content-Type: text/plain; charset=ISO-8859-1 electronic mail one two three hello world! --0016e6465208bba5b104818c04e2 Content-Type: text/html; charset=ISO-8859-1 electronic mail one two three hello world! --0016e6465208bba5b104818c04e2-- --0016e6465208bba5b704818c04e4
Perhatikan adanya 2 boundary berbeda yang berurutan di atas. Ini bisa terjadi karena content multipart bisa dimasukkan secara nested. Dengan subtype alternative, sebuah email bisa dimasukkan 2 jenis content type yang bermanfaat untuk semacam backwards compatibility. Misalnya di atas, ada tipe text/plain dan text/html, jadi jika client tidak bisa membaca html, dipakai alternatif baca yang plaintext saja.
Attachment
Bagian attachment berisi file-file yang diupload bersamaan dengan e-mailnya. File-file ini (binary) diencode ke dalam ASCII agar bisa dikirimkan secara integral dengan bagian email lainnya (karena yang lainnya memakai format ASCII). Di sini memakai encoding base64 (7 bit) karena cocok untuk protokol mail yang umum, SMTP. Lebih jelas lihat wiki saja http://en.wikipedia.org/wiki/Base64 .
Attachment pertama adalah file gambar gif. Besarnya hanya 57 kb. Tapi tentu jika dalam bentuk teks akan cukup panjang, jadi saya potong (hapus) di “<truncated>” 😀
Content-Type: image/gif; Content-Disposition: attachment; filename="popopopo.gif" Content-Transfer-Encoding: base64 X-Attachment-Id: f_g6nkh6ab0 R0lGODlhAANAAvcAAAAAAAAAMwAAZgAAmQAAzAAA/wArAAArMwArZgArmQArzAAr/wBVAABVMwBVZgBVmQBVzABV/ wCAAACAMwCAZgCAmQCAzACA/wCqAACqMwCqZgCqmQCqzACq/wDVAADVMwDVZgDVmQDVzADV/wD/AAD/MwD/ZgD/mQ D/zAD//zMAADMAMzMAZjMAmTMAzDMA/zMrADMrMzMrZjMrmTMrzDMr/zNVADNVMzNVZjNVmTNVzDNV/zOAADOAMzO AZjOAmTOAzDOA/zOqADOqMzOqZjOqmTOqzDOq/zPVADPVMzPVZjPVmTPVzDPV/zP/ADP/MzP/ZjP/mTP/zDP//2YA AGYAM2YAZmYAmWYAzGYA/2YrAGYrM2YrZmYrmWYrzGYr/2ZVAGZVM2ZVZmZVmWZVzGZV/2aAAGaAM2aAZmaAmWaAz GaA/2aqAGaqM2aqZmaqmWaqzGaq/2bVAGbVM2bVZmbVmWbVzGbV/2b/AGb/M2b/Zmb/mWb/zGb//5kAAJkAM5kAZp kAmZkAzJkA/5krAJkrM5krZpkrmZkrzJkr/5lVAJlVM5lVZplVmZlVzJlV/5mAAJmAM5mAZpmAmZmAzJmA/5mqAJm qM5mqZpmqmZmqzJmq/5nVAJnVM5nVZpnVmZnVzJnV/5n/AJn/M5n/Zpn/mZn/zJn//8wAAMwAM8wAZswAmcwAzMwA /8wrAMwrM8wrZswrmcwrzMwr/8xVAMxVM8xVZsxVmcxVzMxV/8yAAMyAM8yAZsyAmcyAzMyA/8yqAMyqM8yqZsyqm cyqzMyq/8zVAMzVM8zVZszVmczVzMzV/8z/<truncated>s= --0016e6465208bba5b704818c04e4
Attachment kedua adalah file powerpoint 2007. Tidak ada yang spesial, cuma saya lihat pengenalan content typenya ternyata tersusun dalam kelas-kelas. Kalau tadi kan cuma “gif”, kalau yang ini lumayan panjang turunannya : vnd.openxmlformats-officedocument.presentationml.presentation. Tuh, ada 4 level. Apa ini standar umum atau cuma di Gmail saja? Mungkin umum yah.. kan e-mail bisa dikirimkan ke mana saja K
Content-Type: application/vnd.openxmlformats-officedocument.presentationml.presentation; name="rererere.pptx" Content-Disposition: attachment; filename="rererere.pptx" Content-Transfer-Encoding: base64 X-Attachment-Id: f_g6nkh9mt1 UEsDBBQABgAIAAAAIQAQ2mU99QEAAEoNAAATAAgCW0NvbnRlbnRfVHlwZXNdLnhtbCCiBAIooAACAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMl99v2jAQx98n9X+I/FoRQ7sxOhH6sHVP3YY0+ge4yQHeHNuyDw r//S4JoIAogUDEXkAm+O7j++Hvpf+4SFUwB+el0RHrhG0WgI5NIvUkYi+j760eCzwKnQhlNERsCZ49Dm4+9EdLCz6g 3dpHbIpov3Du4ymkwofGgqYnY+NSgbR0E25F/FdMgN+1210eG42gsYWZDTbo/yIAJxMIhsLhT5GSH24tcq/ox2exND P05cXnkKyz4GthJiOJmLBWyVggnYPPdbLD0DLjsYwhMfEsJc+hdeDpO/97qsKSo9vMND+dqXdtph/CI+WxiFOx6DTC VNg+Kk4rmvtGOKoIshwPnbH+0t43hqsISmW1Vb8fL01UclSX6dN/yNS9NtMqa8300VGZWhHcNRKJKgKk6xx4/nl+CH IzVR5LhbzVMc2cv5CWukzN3GrbTN9gLGYKg6cFCWah0X8sTHa0T6aZtOYPSLn27HGg/M6eCr1c6XVIO3OR9FNp/TpS ezwcFuQKTS2r8aULfct2KqReH+LUoeP8DiijHD900MySqxinjJ0dHMjqKIGkZUkYwaGETVLfiweKVwW/cang4kJaMl 07K9dKy6H5tNM+O1H1<truncated>== --0016e6465208bba5b704818c04e4—
Demikian penjelasannya. Maaf banyak kekurangan. 🙂
kapan2 ajarin yah hahaha 😛
ok mik 🙂