Anda di halaman 1dari 41

S-HTTP & SSL

Materi - 06

Protokol S-HTTP
Protokol HTTP dikembangkan untuk
mentransfer informasi multimedia, grafik,
audio, video, dll.
Pada awalnya tidak diharapkan akan menjadi
basis dari transaksi komersial yang besar di
internet
Dengan menggunakan protokol HTTP tidak
cukup menjamin keamanannya
Untuk memenuhi kebutuhan peningkatan
keamanan di internet, pada tahun 1994
Internet Engineering Task Force (IETF)
membuat proposal Secure-HTTP (S-HTTP)

Karakteristik S-HTTP
1. Ekstensi dari set instruksi HTTP yang
memungkinkan transaksi terenkripsi yang
aman
2. Transmisi yang aman dengan menggunakan
header dan enkipsi berdasarkan HTTP
3. Transaksi aman dengan menggunakan
metoda tanda tangan (signature), metoda
enkripsi, verifikasi identitas dari pengirim
dan autentikasi pesan
4. Enkripsi transmisi dengan menggunakan
kriptografi kunci simetrik dan sistem
kriptografi kunci asimetrik

S-HTTP vs SSL
Sampai beberapa waktu lalu S-HTTP
memegang peranan penting dalam evolusi
internet tapi kemudian digantikan oleh
protokol Secure Socket Layer (SSL)
S-HTTP terutama bertujuan untuk eksekusi
operasi yang aman di internet, sementara
SSL lebih tepat untuk aplikasi yang luas (FTP,
HTTP, IRC, dll)
Baik S-HTTP dan SSL mensuport kunci privat
dan kunci publik, walaupun kebanyakan
pengguna lebih familiar dengan S-HTTP, tapi
kebanyakan menggunakan SSL

Pengenalan S-HTTP
S-HTTP men-support enkripsi dokumen web
yang dikirim melalui internet dan mensupport tanda tangan digital. Protokol ini
memungkinkan klien web browser untuk
mem-verifikasi integritas dari pesan web
menggunakan Message Authentication Code
(MAC)
Memungkinkan transaksi HTTP dan
memastikan keamanan yang diperlukan.
Metoda yang digunakan untuk memastikan
keamanan dari pesan meliputi tanda tangan
digital, enkripsi, verifikasi dari identitas
pengirim dan autentikasi dari pesan

Penambahan keamanan S-HTTP


terhadap HTTP

Format HTTP
Pesan HTTP dibentuk dari dua bagian dasar:
Header, yang menjelaskan pada penerima untuk
memproses pesan
Body, pesan itu sendiri

Demikian juga pesan S-HTTP terdiri dari


header dan body yang terenkripsi yang
mengandung pesan.
Header mungkin terdiri dari beberapa aspek
seperti informasi bagaimana penerima harus
memproses body dari pesan setelah di
dekripsi
Pengirim pesan bisa keduanya: klien dan
server

Pembuatan pesan S-HTTP


Berikut ini contoh urutan umum pembuatan pesan S-HTTP,
misalnya balasan aman untuk permintaan dari klien:
1. Server membentuk pesan dalam plain text yang harus
dikirim ke klien, umumnya dari disk lokal. Pesan teks
murni bisa berupa pesan HTTP atau objek lain. Karena SHTTP menyampaikan pesan, termasuk header secara
transparan, software yang mengirim pesan bisa HTTP
versi berapapun.
2. Server memproses permintaan kriftografis dari klien dan
semua materi terkait kunci yang dikirim klien ke server
pada saat inisialisasi. Server akan menggunakan sistem
enkripsi yang diberikan oleh klien. Metoda enkripsi yang
digunakan oleh server tergantung bagaimana
administrator server mengkonfigurasinya
3. Server memproses preferensi kriptografi sendiri dan
bahan mengenai kunci.

Server untuk dapat menghasilkan


pesan S-HTTP, mengintegrasikan
prefensi keamanan miliknya dengan
preferensi yang diterima dari klien.
Menggunakan metoda kriftografi yang
di support dari klien dan server, server
akan meng-enkrip dan menyisipkan
pesan dalam pesan S-HTTP
Server kemudian mengirim pesan ke
klien, dengan cara yang sama dengan
response normal HTTP

Komunikasi terenkripsi S-HTTP


Karena komunikasi S-HTTP terenkripsi maka klien dan
server harus sepakat pada tahap awal sebuah kunci
enkripsi. Untuk pertukaran kunci tahapannya sbb:
1. Klien meminta halaman aman dari server. Di dalam
permintaan skema enkripsi yang di support
didaftarkan
2. Server me respon dengan mengirim skema yg disupport bersama dengan kunci publik
3. Klien menrespon ke server dengan pesan
terenkripsi dengan kunci publik server. Pesan juga
berisi kunci sesi atau nilai yang dapat digunakan
oleh server untuk menghasilkan kunci sesi
4. Klien dan server mulai melakukan komunikasi
menggunakan skema enkripsi yang disetujui

Proteksi pesan
S-HTTP memastikan proteksi pesan
dengan tiga cara :
1. Via tanda tangan digital
2. Via autentikasi pesan
3. Via enkripsi pesan

Tanda tangan digital dalam S-HTTP


Tanga tangan digital dalam S-HTTP
menggunakan tipe PKCS-7
S-HTTP server mengenkrip semua
transmisi yang dikirim ke klien
S-HTTP juga mendukung verifikasi dari
integritas pesan dan autentikasi dari
pengirim

Secure Socket Layer (SSL)


Selain S-HTTP untuk komunikasi yang
aman antara server web dan klien
digunakan protokol aman yang lain
yaitu SSL, yang saat ini lebih banyak
digunakan oleh internet server dan web
site.

Karakteristik SSL
1. Protokol yang open dan non-proprietary
2. Dapat mendukung fitur enkripsi data, autentikasi
server, integritas pesan dan autentikasi klien untuk
koneksi TCP/IP
3. Kompatibel dengan firewall
4. Kompatibel dengan koneksi tunnel (koneksi telepon
yang memungkinkan user mengakses Wan dan
intranet korporat via internet)
5. Mentransmisikan data aman menggunakan Secure
MIME (S/MIME, Secure/Multipurpose Internet Mail
Extensions)
6. Men-support enkripsi 40, 56 dan 128 bit. Ada
beberapa algoritma yang panjang kuncinya lebih
dari 128bit, tapi karena pembatasan pada teknologi

SSL merupakan protokol yang umum


digunakan untuk transaksi aman lewat
internet. Pengembangan selanjutnya adalah
Transport Layer Security (TLS) yang tidak
mendukung SSL, sehingga ada ketidak
kompatibilitasan diantara kedua protokol
tersebut
SSL dikembangkan oleh Netscape untuk
mendukung kebutuhan transmisi yang
handal lewat internet
Mendukung keamanan diantara protokol
aplikasi (HTTP, Telnet, NNTP, FTP, dll)

Posisi SSL di dalam protokol Internet

Layanan SSL
SSL memungkinkan server dan
pengguna untuk melindungi komunikasi
di Web menggunakan layanan berikut:
1. Otentikasi Server menggunakan
sertifikat digital, untuk mencegah
penipu apapun.
2. Keamanan transmisi menggunakan
kriptografi, untuk menghindari
pembacaan yang tidak diinginkan dari
pesan yang dikirimkan.
3. Integritas data dalam koneksi, untuk

Komunikasi SSL antara browser dan


server

Respon dari server untuk permintaan koneksi


SSL oleh browser

Fitur dari browser dan SSL Server


Untuk memulai koneksi ke server aman URL address
dimulai dengan https

SSLD
Untuk membuat sambungan aman,
kedua pihak yang terlibat dalam
komunikasi harus menggunakan
protokol SSL.
Mayoritas server UNIX yang
mendukung SSL dilengkapi dengan
daemon (program manajemen untuk
aplikasi khusus) SSL disebut SSLD

SSLD
SSLD dapat membuat koneksi yang aman ke server
SSL dari klien non-SSL, seperti yang ditunjukkan
pada Gambar. Jika SSLD dijalankan dari server
jaringan, memungkinkan koneksi antara klien SSL
dan server non-aman. Untuk mengaktifkan saluran
komunikasi yang aman antara dua proses non-aman,
dua proses SSLD dapat digunakan.

Tunnel di firewall dan SSL


Telah diketahui bahwa firewal digunakan untuk
meningkatkan keamanan dari jaringan
Dalam banyak kasus, perlu untuk membuat tunnel
dalam firewall untuk memungkinkan pengguna
berwenang untuk mengakses sumber daya internal
yang biasanya tidak dapat diakses
Pada umumnya akses FTP diblok untuk akses dari
luar tapi untuk pengguna internal dapat
diperkenankan untuk mengakses dari luar
Proses ini disebut tunnel
Mengingat penggunaan intensif SSL di server aman,
SSL harus memperpanjang protokol proxy yang
sedemikian rupa bahwa klien yang terletak di luar
firewall dapat terhubung ke server SSL

Diagram koneksi dari client dengan server


proxy dan server SSL

Ilustrasi Cara Kerja SSL

Penjelasan Blok Diagram


1. Klien membuka suatu halaman yang
mendukung protokol SSL, biasanya diawali
dengan https:// pada browsernya.
2. Kemudian webserver mengirimkan kunci
publiknya beserta dengan sertifikat server.
3. Browser melakukan pemeriksaan : apakah
sertifikat tersebut dikeluarkan oleh CA
(Certificate Authority) yang terpercaya?
Apakah sertifikat tersebut masih valid dan
memang berhubungan dengan alamat situs
yang sedang dikunjungi?

Penjelasan Blok Diagram...


4. Setelah diyakini kebenaran dari
webserver tersebut, kemudian
browser menggunakan kunci public
dari webserver untuk melakukan
enkripsi terhadap suatu kunci simetrik
yang dibangkitkan secara random dari
pihak klien. Kunci yang dienkripsi ini
kemudian dikirimkan ke webserver
untuk digunakan sebagai kunci untuk
mengenkripsi alamat URL (Uniform
Resource Locator) dan data http lain

Penjelasan Blok Diagram...


5. Webserver melakukan dekripsi
terhadap enkripsi dari klien tadi,
menggunakan kunci privat server.
Server kemudian menggunakan kunci
simetrik dari klien tersebut untuk
mendekripsi URL dan data http yang
akan diperlukan klien.
6. Server mengirimkan kembali halaman
dokumen HTML yang diminta klien dan
data http yang terenkripsi dengan
kunci simetrik tadi.
7. Browser melakukan dekripsi data http
dan dokumen HTML menggunakan
kunci simetrik tadi dan menampilkan

S/MIME: ekstensi aman


Sudah dijelskan di atas bahwa protokol HTTP, dalam
rangka untuk mengirimkan data melalui internet,
menggunakan ekstensi MIME.
RSA Data Security telah mengembangkan S/MIME,
yang merupakan versi aman dari MIME, berguna
untuk pesan email dan untuk transmisi terenkripsi
dan ditandatangani secara digital.
S/MIME memungkinkan klien email untuk mengirim
pesan terenkripsi dan untuk autentikasi setelah
pesan diterima.
Server dan klien SSL menggunakan S/MIME untuk
mengirimkan dari cipher di Internet.
S/MIME menggunakan otentikasi dan enkripsi pesan
di sebagian besar browser Web yang saat ini
digunakan.

S/MIME
Ini mencakup beberapa fitur berikut:
1. Kriptografi untuk privasi pesan.
2. Otentikasi Server menggunakan tanda
tangan digital.
3. Deteksi gangguan/perubahan
(tampering).
4. Interoperabilitas dengan software
S/MIME lainnya.
5. integrasi Transparan dalam paket
lainnya.

Transport Layer Security


Secure Socket Layer (SSL) dan pengembangannya
Transport Layer Security (TLS), kedua sering disebut
sebagai "SSL
Merupakan kelanjutan dari protokol kriptografi yang
menyediakan komunikasi yang aman di Internet.
Dikembangkan oleh Netscape, SSL versi 3.0 dirilis pada
tahun 1996, yang pada akhirnya menjadi dasar
pengembangan Transport Layer Security, sebagai
protocol standart IETF. Definisi awal dari TLS muncul pada
RFC,2246 : The TLS Protocol Version 1.0. Visa,
MaterCard, American Express dan banyak lagi institusi
finansial terkemuka yang memanfaatkan TLS untuk
dukungan commerce melalui internet.
Seprti halnya SSL, protocol TLS beroperasi dalam tatacara modular. TLS didesain untuk berkembang, dengan
mendukung kemampuan meningkat dan kembali ke

Transport Layer Security


Protocol SSL dan TLS berjalan pada layer dibawah
application protocol seperti HTTP, SMTP and NNTP dan di
atas layer TCP transport protocol, yang juga merupakan
bagian dari TCP/IP protocol.
Selama SSL dan TLS dapat menambahkan keamanan ke
protocol apa saja yang menggunakan TCP, keduanya
terdapat paling sering pada metode akses HTTPS.
HTTPS menyediakan keamanan web-pages untuk aplikasi
seperti pada Electronic commerce. Protocol SSL dan TLS
menggunakan cryptography public-key dan sertifikat
publik key untuk memastikan identitas dari pihak yang
dimaksud.
Sejalan dengan peningkatan jumlah client dan server
yang dapat mendukung TLS atau SSL alami, dan
beberapa masih belum mendukung. Dalam hal ini,
pengguna dari server atau client dapat menggunakan

Sertifikat Digital
Karena kunci publik tersedia secara publik, maka
kunci publik perlu disertifikasi dengan memberikan
sertifikat digital.
Sertifikat digital adalah dokumen digital yang
mengikat kunci publik dengan informasi pemiliknya.
Sertifikat digital dikeluarkan (issued) oleh pemegang
otoritas sertifikasi yang disebut Certification
Authority atau CA.
Di dalam sertifikat digital terdapat tanda tangan CA.
Sertifikat digital mempunyai fungsi yang sama
seperti SIM atau paspor.

X.509
Ada banyak format sertifikat digital yang bisa dibuat.
Agar semua sertifikat digital seragam, maka ITU
(International Telecommunication Union)
mengeluarkan standard untuk sertifikat digital.
Standard tersebut dinamakan X.509 dan digunakan
secara luas di internet.
Ada tiga versi standard X.509, yaitu V1, V2, dan V3.

Public Key Infrastructure (PKI)


Luasnya penggunaan kriptografi kunci-publik di
dalam Internet membutuhkan sebuah infrastruktur
yang menyediakan layanan terintegrasi untuk
membuat, menyimpan, memverifikasi, dan
membuang sertifikat digital.
Infrastruktur tersebut juga mengatur CA dan
membuat kebijakan.
Infrastuktur tersebut dinamakan Public-Key
Infrastructure (PKI)

Public Key Infrastructure (PKI)


Bentuk PKI yang sederhana adalah
hirarki CA dapat digambarkan dalam
struktur pohon berikut

Public Key Infrastructure (PKI)

Aras ke-nol adalah root. Root merupakan root certificate


authority, yang mana adalah Internet Policy Registration
Authority (IPRA).
Root mensertifikasi CA aras satu dengan menggunakan privat
root yang disebut root key.
CA aras satu disebut RA (Regional Authorities), yang bertindak
sebagai policy creation authority, yaitu oganisasi yang
membuat kebijakan untuk memperoleh sertifikat digital.
Sebuah RA mungkin mencakup beberapa area geografis,
seperti negara bagian, negara, atau benua.
RA menandatangai sertifikat digital untuk CA di bawahnya
dengan menggunakan kunci privat RA.
CA menandatangani sertifikat digital untuk individu atau
organisasi dengan mengguankan kunci privat CA.
CA bertanggung jawab untuk otentikasi sertifikat digital,
sehingga CA harus memeriksa informasi secara hati-hati
sebelum mengeluarkan sertifikat digital. Gambar di bawah

Public Key Infrastructure (PKI)

Certificate Authority
Certificate Authority (disingkat menjadi CA), adalah
sebuah entitas yang mengeluarkan sertifikat digital
yang dapat digunakan oleh pihak-pihak lainnya.
Disebut juga sebagai Certification Authority. Para CA
merupakan contoh pihak-pihak yang dapat
dipercayai, khususnya dalam transaksi secara online
di Internet. CA merupakan salah satu ciri-ciri dari
beberapa ciri-ciri lainnya dalam skema implementasi
public key infrastructure (PKI).
Ada banyak CA yang bersifat komersial yang untuk
menggunakan jasanya, sebuah entitas, baik itu
perseorangan ataupun organisasi, harus membayar
jasa mereka. Beberapa pemerintahan dan institusi
pendidikan mungkin memiliki CA mereka masingmasing, dan tentu saja di sana juga banyak tersebar

Let's Encrypt
Let's Encrypt adalah otoritas sertifikat yang
diluncurkan pada April 12, 2016 yang menyediakan
sertifikat X.509 gratis untuk Transport Layer Security
(TLS) enkripsi melalui proses otomatis yang
dirancang untuk menghilangkan proses yang
kompleks saat penciptaan manual, validasi ,
penandatanganan, instalasi, dan pembaharuan
sertifikat untuk situs web yang aman.
Let's Encrypt merupakan layanan yang disediakan
oleh Internet Security Research Group (ISRG),
sebuah public benefit organization.
Sposor utama: Electronic Frontier Foundation (EFF),
Mozilla Foundation, Akamai, and Cisco Systems.
Pihak lain termasuk certificate authority IdenTrust,
University of Michigan (U-M), Stanford Law School,

Anda mungkin juga menyukai