Keamanan Jaringan - Lapisan Aplikasi

Berbagai layanan bisnis kini ditawarkan secara online melalui aplikasi server-klien. Formulir yang paling populer adalah aplikasi web dan email. Di kedua aplikasi, klien berkomunikasi ke server yang ditunjuk dan mendapatkan layanan.

Saat menggunakan layanan dari aplikasi server apa pun, klien dan server bertukar banyak informasi di intranet atau Internet yang mendasarinya. Kami menyadari fakta bahwa transaksi informasi ini rentan terhadap berbagai serangan.

Keamanan jaringan memerlukan pengamanan data dari serangan saat sedang transit di jaringan. Untuk mencapai tujuan ini, banyak protokol keamanan waktu nyata telah dirancang. Protokol tersebut perlu menyediakan setidaknya tujuan utama berikut -

  • Para pihak dapat bernegosiasi secara interaktif untuk mengotentikasi satu sama lain.
  • Buat kunci sesi rahasia sebelum bertukar informasi di jaringan.
  • Tukarkan informasi dalam bentuk terenkripsi.

Menariknya, protokol ini bekerja di berbagai lapisan model jaringan. Misalnya, protokol S / MIME bekerja di lapisan Aplikasi, protokol SSL dikembangkan untuk bekerja di lapisan transport, dan protokol IPsec bekerja di lapisan Jaringan.

Dalam bab ini, kita akan membahas berbagai proses untuk mencapai keamanan komunikasi email dan protokol keamanan terkait. Metode untuk mengamankan DNS dibahas kemudian. Di bab selanjutnya, protokol untuk mencapai keamanan web akan dijelaskan.

Keamanan Email

Saat ini, e-mail telah menjadi aplikasi jaringan yang sangat banyak digunakan. Mari kita bahas secara singkat infrastruktur email sebelum melanjutkan untuk mengetahui tentang protokol keamanan email.

Infrastruktur Email

Cara paling sederhana untuk mengirim email adalah mengirim pesan langsung dari mesin pengirim ke mesin penerima. Dalam hal ini, kedua mesin harus berjalan di jaringan secara bersamaan. Namun, penyiapan ini tidak praktis karena pengguna terkadang dapat menghubungkan mesin mereka ke jaringan.

Oleh karena itu, konsep pengaturan server email tiba. Dalam penyiapan ini, email dikirim ke server email yang tersedia secara permanen di jaringan. Ketika mesin penerima terhubung ke jaringan, itu membaca email dari server email.

Secara umum, infrastruktur email terdiri dari jaringan server email, juga disebut sebagai Message Transfer Agents (MTA) dan mesin klien yang menjalankan program email yang terdiri dari User Agent (UA) dan MTA lokal.

Biasanya, pesan email diteruskan dari UA-nya, melewati mesh MTA dan akhirnya mencapai UA di mesin penerima.

Protokol yang digunakan untuk email adalah sebagai berikut -

  • Simple mail Transfer Protocol (SMTP) digunakan untuk meneruskan pesan email.

  • Post Office Protocol (POP) dan Internet Message Access Protocol (IMAP) digunakan untuk mengambil pesan oleh penerima dari server.

PANTOMIM

Standar e-mail Internet dasar ditulis pada tahun 1982 dan menjelaskan format pesan e-mail yang dipertukarkan di Internet. Ini terutama mendukung pesan email yang ditulis sebagai teks dalam alfabet Romawi dasar.

Pada tahun 1992, kebutuhan dirasakan untuk meningkatkan hal yang sama. Oleh karena itu, standar tambahan Multipurpose Internet Mail Extensions (MIME) telah ditetapkan. Ini adalah sekumpulan ekstensi untuk standar Internet E-mail dasar. MIME menyediakan kemampuan untuk mengirim email menggunakan karakter selain dari alfabet Romawi dasar seperti alfabet Sirilik (digunakan dalam bahasa Rusia), alfabet Yunani, atau bahkan karakter ideografik China.

Kebutuhan lain yang dapat dipenuhi oleh MIME adalah mengirimkan konten non-teks seperti gambar atau klip video. Karena fitur ini, standar MIME diadopsi secara luas dengan SMTP untuk komunikasi email.

Layanan Keamanan E-Mail

Meningkatnya penggunaan komunikasi email untuk transaksi penting dan krusial menuntut penyediaan layanan keamanan dasar tertentu sebagai berikut -

  • Confidentiality - Pesan email tidak boleh dibaca oleh siapa pun kecuali penerima yang dituju.

  • Authentication - Penerima email dapat memastikan identitas pengirimnya.

  • Integrity - Jaminan kepada penerima bahwa pesan email belum diubah sejak dikirim oleh pengirim.

  • Non-repudiation - Penerima email dapat membuktikan kepada pihak ketiga bahwa pengirim benar-benar mengirim pesan.

  • Proof of submission - Pengirim email mendapat konfirmasi bahwa pesan telah dikirim ke sistem pengiriman email.

  • Proof of delivery - Pengirim mendapat konfirmasi bahwa penerima menerima pesan tersebut.

Layanan keamanan seperti privasi, otentikasi, integritas pesan, dan non-repudiation biasanya disediakan dengan menggunakan kriptografi kunci publik.

Biasanya, ada tiga skenario komunikasi email yang berbeda. Kami akan membahas metode mencapai layanan keamanan di atas dalam skenario ini.

Email Satu-ke-Satu

Dalam skenario ini, pengirim mengirim pesan email hanya ke satu penerima. Biasanya, tidak lebih dari dua MTA yang terlibat dalam komunikasi.

Anggaplah pengirim ingin mengirim email rahasia ke penerima. Ketentuan privasi dalam hal ini dicapai sebagai berikut -

  • Pengirim dan penerima masing-masing memiliki kunci publik-pribadi sebagai (S PVT , S PUB ) dan (R PVT , R PUB ).

  • Pengirim menghasilkan kunci simetris rahasia, K S untuk enkripsi. Meskipun pengirim dapat menggunakan R PUB untuk enkripsi, kunci simetris digunakan untuk mencapai enkripsi dan dekripsi yang lebih cepat.

  • Pengirim mengenkripsi pesan dengan kunci K S dan juga mengenkripsi K S dengan kunci publik penerima, R PUB .

  • Pengirim mengirimkan pesan terenkripsi dan K S terenkripsi ke penerima.

  • Penerima pertama-tama mendapatkan K S dengan mendekripsi K S yang dienkripsi menggunakan kunci pribadinya, R PVT .

  • Penerima kemudian mendekripsi pesan menggunakan kunci simetris, K S .

Jika integritas pesan, otentikasi, dan layanan non-penolakan juga diperlukan dalam skenario ini, langkah-langkah berikut ditambahkan ke proses di atas.

  • Pengirim menghasilkan hash pesan dan menandatangani hash ini secara digital dengan kunci pribadinya, S PVT .

  • Pengirim mengirimkan hash bertanda tangan ini ke penerima bersama dengan komponen lainnya.

  • Penerima menggunakan kunci publik S PUB dan mengekstrak hash yang diterima di bawah tanda tangan pengirim.

  • Penerima kemudian mencirikan pesan yang didekripsi dan sekarang membandingkan dua nilai hash. Jika cocok, integritas pesan dianggap tercapai.

  • Selain itu, penerima yakin bahwa pesan tersebut dikirim oleh pengirim (otentikasi). Dan terakhir, pengirim tidak dapat menyangkal bahwa dia tidak mengirimkan pesan (non-repudiation).

Email Satu-ke-Beberapa Penerima

Dalam skenario ini, pengirim mengirim pesan email ke dua atau lebih penerima. Daftar ini dikelola oleh program email pengirim (UA + MTA lokal). Semua penerima mendapatkan pesan yang sama.

Misalkan, pengirim ingin mengirim email rahasia ke banyak penerima (misalnya R1, R2, dan R3). Ketentuan privasi dalam hal ini dicapai sebagai berikut -

  • Pengirim dan semua penerima memiliki pasangan kunci privat-publik mereka sendiri.

  • Pengirim menghasilkan kunci simetris rahasia, K s dan mengenkripsi pesan dengan kunci ini.

  • Pengirim kemudian mengenkripsi K S beberapa kali dengan kunci publik R1, R2, dan R3, mendapatkan R1 PUB (K S ), R2 PUB (K S ), dan R3 PUB (K S ).

  • Pengirim mengirimkan pesan terenkripsi dan K S terenkripsi yang sesuai ke penerima. Misalnya, penerima 1 (R1) menerima pesan terenkripsi dan R1 PUB (K S ).

  • Setiap penerima pertama-tama mengekstrak kunci K S dengan mendekripsi K S yang dikodekan menggunakan kunci pribadinya.

  • Setiap penerima kemudian mendekripsi pesan menggunakan kunci simetris, K S .

Untuk menyediakan integritas pesan, otentikasi, dan non-penolakan, langkah-langkah yang harus diikuti serupa dengan langkah-langkah yang disebutkan di atas dalam skenario email satu-ke-satu.

Email Daftar Satu-ke-Distribusi

Dalam skenario ini, pengirim mengirim pesan email ke dua atau lebih penerima tetapi daftar penerima tidak dikelola secara lokal oleh pengirim. Umumnya, server email (MTA) mengelola milis.

Pengirim mengirim email ke MTA yang mengelola milis dan kemudian email tersebut diledakkan oleh MTA ke semua penerima dalam daftar.

Dalam hal ini, ketika pengirim ingin mengirim email rahasia ke penerima milis (misalnya R1, R2, dan R3); privasi dijamin sebagai berikut -

  • Pengirim dan semua penerima memiliki pasangan kunci privat-publik mereka sendiri. Server Penjelajah memiliki sepasang kunci privat-publik untuk setiap milis (Daftar PUB , Daftar PVT ) yang dipelihara olehnya.

  • Pengirim menghasilkan simetris kunci rahasia K s dan kemudian mengenkripsi pesan dengan kunci ini.

  • Pengirim kemudian mengenkripsi K S dengan kunci publik yang terkait dengan daftar tersebut, memperoleh Daftar PUB (K S ).

  • Pengirim mengirimkan pesan terenkripsi dan Daftar PUB (K S ). The peledak MTA mendekripsi Daftar PUB (K S ) menggunakan Daftar PVT dan memperoleh K S .

  • Penjelajah mengenkripsi K S dengan kunci publik sebanyak jumlah anggota dalam daftar.

  • Exploder meneruskan pesan terenkripsi yang diterima dan K S terenkripsi yang sesuai ke semua penerima dalam daftar. Misalnya, Peledak meneruskan pesan terenkripsi dan R1 PUB (K S ) ke penerima 1 dan seterusnya.

Untuk memberikan integritas pesan, otentikasi, dan non-penolakan langkah-langkah yang harus diikuti serupa seperti yang diberikan dalam kasus skenario email satu-ke-satu.

Menariknya, program email yang menggunakan metode keamanan di atas untuk mengamankan email diharapkan bekerja untuk semua kemungkinan skenario yang dibahas di atas. Sebagian besar mekanisme keamanan email di atas disediakan oleh dua skema populer, Pretty Good Privacy (PGP) dan S / MIME. Kami membahas keduanya di bagian berikut.

PGP

Pretty Good Privacy(PGP) adalah skema enkripsi email. Ini telah menjadi standar de-facto untuk menyediakan layanan keamanan untuk komunikasi email.

Seperti dibahas di atas, ia menggunakan kriptografi kunci publik, kriptografi kunci simetris, fungsi hash, dan tanda tangan digital. Ini menyediakan -

  • Privacy
  • Otentikasi Pengirim
  • Integritas Pesan
  • Non-repudiation

Bersama dengan layanan keamanan ini, ini juga menyediakan kompresi data dan dukungan manajemen kunci. PGP menggunakan algoritma kriptografi yang sudah ada seperti RSA, IDEA, MD5, dll., Daripada menciptakan yang baru.

Bekerja dari PGP

  • Hash pesan dihitung. (Algoritma MD5)

  • Hash 128 bit yang dihasilkan ditandatangani menggunakan kunci pribadi pengirim (Algoritme RSA).

  • Tanda tangan digital digabungkan ke pesan, dan hasilnya dikompresi.

  • Kunci simetris 128-bit, K S dibuat dan digunakan untuk mengenkripsi pesan yang dikompresi dengan IDEA.

  • K S dienkripsi menggunakan kunci publik penerima menggunakan algoritma RSA dan hasilnya ditambahkan ke pesan terenkripsi.

Format pesan PGP ditunjukkan pada diagram berikut. ID menunjukkan kunci mana yang digunakan untuk mengenkripsi KS dan kunci mana yang akan digunakan untuk memverifikasi tanda tangan pada hash.

Dalam skema PGP, pesan masuk dan dienkripsi, lalu MIME dikodekan sebelum transmisi.

Sertifikat PGP

Sertifikat kunci PGP biasanya dibuat melalui rantai kepercayaan. Misalnya, kunci publik A ditandatangani oleh B menggunakan kunci publiknya dan kunci publik B ditandatangani oleh C menggunakan kunci publiknya. Saat proses ini berlangsung, itu membangun jaringan kepercayaan.

Dalam lingkungan PGP, setiap pengguna dapat bertindak sebagai otoritas sertifikasi. Setiap pengguna PGP dapat mengesahkan kunci publik pengguna PGP lainnya. Namun, sertifikat seperti itu hanya berlaku untuk pengguna lain jika pengguna mengenali pemberi sertifikat sebagai pengenal tepercaya.

Beberapa masalah muncul dengan metode sertifikasi seperti itu. Mungkin sulit untuk menemukan rantai yang mengarah dari kunci publik yang dikenal dan tepercaya ke kunci yang diinginkan. Selain itu, mungkin ada beberapa rantai yang dapat mengarah ke kunci berbeda untuk pengguna yang diinginkan.

PGP juga dapat menggunakan infrastruktur PKI dengan otoritas sertifikasi dan kunci publik dapat disertifikasi oleh CA (sertifikat X.509).

S / MIME

S / MIME adalah singkatan dari Secure Multipurpose Internet Mail Extension. S / MIME adalah standar email yang aman. Ini didasarkan pada standar email tidak aman sebelumnya yang disebut MIME.

Bekerja dari S / MIME

Pendekatan S / MIME mirip dengan PGP. Ia juga menggunakan kriptografi kunci publik, kriptografi kunci simetris, fungsi hash, dan tanda tangan digital. Ini menyediakan layanan keamanan yang serupa dengan PGP untuk komunikasi email.

Cipher simetris yang paling umum digunakan dalam S / MIME adalah RC2 dan TripleDES. Metode kunci publik yang biasa adalah RSA, dan algoritme hashingnya adalah SHA-1 atau MD5.

S / MIME menentukan jenis MIME tambahan, seperti "application / pkcs7-mime", untuk pembungkus data setelah dienkripsi. Seluruh entitas MIME dienkripsi dan dikemas menjadi sebuah objek. S / MIME memiliki format pesan kriptografi standar (berbeda dari PGP). Faktanya, MIME diperpanjang dengan beberapa kata kunci untuk mengidentifikasi bagian yang dienkripsi dan / atau ditandatangani dalam pesan.

S / MIME mengandalkan sertifikat X.509 untuk distribusi kunci publik. Perlu PKI hierarki atas-bawah untuk dukungan sertifikasi.

Dapat dipekerjakan S / MIME

Karena persyaratan sertifikat dari otoritas sertifikasi untuk implementasi, tidak semua pengguna dapat memanfaatkan S / MIME, karena beberapa mungkin ingin mengenkripsi pesan, dengan pasangan kunci publik / pribadi. Misalnya, tanpa keterlibatan atau overhead administrasi sertifikat.

Dalam praktiknya, meskipun sebagian besar aplikasi email menerapkan S / MIME, proses pendaftaran sertifikatnya rumit. Sebaliknya, dukungan PGP biasanya memerlukan penambahan plug-in dan plug-in itu dilengkapi dengan semua yang diperlukan untuk mengelola kunci. Web of Trust tidak benar-benar digunakan. Orang-orang menukar kunci publik mereka dengan media lain. Setelah diperoleh, mereka menyimpan salinan kunci publik dari orang-orang yang biasanya bertukar email.

Lapisan implementasi dalam arsitektur jaringan untuk skema PGP dan S / MIME ditunjukkan pada gambar berikut. Kedua skema ini memberikan keamanan tingkat aplikasi untuk komunikasi email.

Salah satu skema, baik PGP atau S / MIME, digunakan bergantung pada lingkungan. Komunikasi e-email yang aman dalam jaringan tawanan dapat disediakan dengan mengadaptasi PGP. Untuk keamanan email melalui Internet, di mana email sering dipertukarkan dengan pengguna baru yang tidak dikenal, S / MIME dianggap sebagai pilihan yang baik.

Keamanan DNS

Di bab pertama, kami telah menyebutkan bahwa penyerang dapat menggunakan DNS Cache Poisoning untuk melakukan serangan terhadap pengguna target. Domain Name System Security Extensions (DNSSEC) adalah standar Internet yang dapat menggagalkan serangan semacam itu.

Kerentanan DNS Standar

Dalam skema DNS standar, setiap kali pengguna ingin terhubung ke nama domain apa pun, komputernya menghubungi server DNS dan mencari alamat IP terkait untuk nama domain tersebut. Setelah alamat IP diperoleh, komputer kemudian menghubungkan ke alamat IP tersebut.

Dalam skema ini, tidak ada proses verifikasi sama sekali. Komputer meminta server DNS-nya untuk alamat yang terkait dengan situs web, server DNS merespons dengan alamat IP, dan komputer Anda pasti menerimanya sebagai tanggapan yang sah dan terhubung ke situs web itu.

Pencarian DNS sebenarnya terjadi dalam beberapa tahap. Misalnya, saat komputer meminta "www.tutorialspoint.com", pencarian DNS dilakukan dalam beberapa tahap -

  • Komputer pertama kali menanyakan server DNS lokal (ISP disediakan). Jika ISP memiliki nama ini dalam cache-nya, ISP tersebut akan menanggapi yang lain meneruskan kueri ke "direktori zona akar" di mana ia dapat menemukan ".com" dan balasan zona akar.

  • Berdasarkan balasan tersebut, komputer akan menanyakan direktori ".com" di mana ia dapat menemukan "tutorialspoint.com."

  • Berdasarkan informasi yang diterima, komputer menanyakan "tutorialspoint.com" di mana ia dapat menemukan www. tutorialspoint.com.

DNSSEC Didefinisikan

Pencarian DNS, saat dilakukan menggunakan DNSSEC, melibatkan penandatanganan balasan oleh entitas yang merespons. DNSSEC didasarkan pada kriptografi kunci publik.

Dalam standar DNSSEC, setiap zona DNS memiliki pasangan kunci publik / pribadi. Semua informasi yang dikirim oleh server DNS ditandatangani dengan kunci pribadi zona asal untuk memastikan keaslian. Klien DNS perlu mengetahui kunci publik zona tersebut untuk memeriksa tanda tangan. Klien mungkin telah dikonfigurasikan sebelumnya dengan kunci publik dari semua domain level teratas, atau DNS root.

Dengan DNSSEC, proses pencarian berjalan sebagai berikut -

  • Saat komputer Anda menanyakan zona akar tempat ia dapat menemukan .com, balasannya ditandatangani oleh server zona akar.

  • Komputer memeriksa kunci penandatanganan zona akar dan mengonfirmasi bahwa itu adalah zona akar yang sah dengan informasi yang benar.

  • Dalam balasannya, zona akar memberikan informasi tentang kunci penandatanganan server zona .com dan lokasinya, memungkinkan komputer untuk menghubungi direktori .com dan memastikannya sah.

  • Direktori .com kemudian memberikan kunci penandatanganan dan informasi untuk tutorialspoint.com, memungkinkannya untuk menghubungi google.com dan memverifikasi bahwa Anda terhubung ke tutorialspoint.com yang sebenarnya, seperti yang dikonfirmasi oleh zona di atasnya.

  • Informasi yang dikirim berupa Resource Record Set (RRSets). Contoh RRSet untuk domain "tutorialspoint.com" di server ".com" tingkat atas ditunjukkan pada tabel berikut.

Nama domain Waktunya untuk hidup Tipe Nilai
tutorialspoint.com 86400 NS dns.tutorialspoint.com
dns.tutorialspoint.com 86400 SEBUAH 36..1.2.3
tutorialspoint.com 86400 KUNCI 3682793A7B73F731029CE2737D ...
tutorialspoint.com 86400 SIG 86947503A8B848F5272E53930C ...
  • Catatan KEY adalah kunci publik dari "tutorialspoint.com".

  • Catatan SIG adalah hash bertanda tangan server .com tingkat atas dari bidang NS, A, dan catatan KEY untuk memverifikasi keasliannya. Nilainya adalah Kcom pvt (H (NS, A, KEY)).

Dengan demikian, dianggap bahwa ketika DNSSEC diluncurkan sepenuhnya, komputer pengguna dapat memastikan bahwa tanggapan DNS adalah sah dan benar, dan menghindari serangan DNS yang diluncurkan melalui keracunan cache DNS.

Ringkasan

Proses mengamankan e-mail memastikan keamanan komunikasi secara menyeluruh. Ini menyediakan layanan keamanan kerahasiaan, otentikasi pengirim, integritas pesan, dan non-repudiation.

Dua skema telah dikembangkan untuk keamanan email: PGP dan S / MIME. Kedua skema ini menggunakan kriptografi kunci-rahasia dan kunci-publik.

Pencarian DNS standar rentan terhadap serangan seperti spoofing DNS / keracunan cache. Mengamankan pencarian DNS dimungkinkan melalui penggunaan DNSSEC yang menggunakan kriptografi kunci publik.

Dalam bab ini, kita membahas mekanisme yang digunakan pada lapisan aplikasi untuk menyediakan keamanan jaringan untuk komunikasi ujung ke ujung.