Bagikan melalui


Ringkasan Keamanan Windows Communication Foundation

Windows Communication Foundation (WCF) adalah platform pemrograman terdistribusi berbasis pesan SOAP, dan mengamankan pesan antara klien dan layanan sangat penting untuk melindungi data. WCF menyediakan platform serbaguna dan dapat dioperasikan untuk bertukar pesan aman berdasarkan infrastruktur keamanan yang ada dan standar keamanan yang dikenali untuk pesan SOAP.

WCF menggunakan konsep yang akrab jika Anda telah membangun aplikasi yang aman dan terdistribusi dengan teknologi yang ada seperti HTTPS, keamanan terintegrasi Windows, atau nama pengguna dan kata sandi untuk mengautentikasi pengguna. WCF tidak hanya terintegrasi dengan infrastruktur keamanan yang ada, tetapi juga memperluas keamanan terdistribusi di luar domain khusus Windows dengan menggunakan pesan SOAP yang aman. Mempertimbangkan WCF sebuah implementasi mekanisme keamanan yang ada dengan keuntungan utama menggunakan SOAP sebagai protokol selain protokol yang ada. Misalnya, mandat yang mengidentifikasi klien atau layanan, seperti nama pengguna dan kata sandi atau sertifikat X.509, yang memiliki profil SOAP berbasis XML yang dapat dioperasikan. Dengan menggunakan profil ini, pesan dipertukarkan dengan aman dengan memanfaatkan spesifikasi terbuka seperti tanda tangan digital XML dan enkripsi XML. Untuk daftar spesifikasi, lihat Protokol Layanan Web yang Didukung oleh System-Provided Pengikatan Interoperabilitas.

Paralel lainnya adalah Model Objek Komponen (COM) pada platform Windows, yang memungkinkan aplikasi yang aman dan terdistribusi. COM memiliki mekanisme keamanan yang komprehensif di mana konteks keamanan dapat dialirkan antar komponen; mekanisme ini memberlakukan integritas, kerahasiaan, dan autentikasi. Namun COM tidak mengaktifkan perpesanan lintas platform, aman seperti yang dilakukan WCF. Dengan menggunakan WCF, Anda dapat membangun layanan dan klien yang mencakup dari domain Windows di internet. Pesan WCF yang dapat dioperasikan sangat penting untuk membangun layanan dinamis berbasis bisnis yang membantu Anda merasa yakin dengan keamanan informasi Anda.

Keuntungan Keamanan Windows Communication Foundation

WCF adalah platform pemrograman terdistribusi berdasarkan pesan SOAP. Dengan menggunakan WCF, Anda dapat membuat aplikasi yang berfungsi sebagai layanan dan klien layanan, membuat dan memproses pesan dari sejumlah layanan dan klien lain yang tidak terbatas. Dalam aplikasi terdistribusi seperti itu, pesan dapat mengalir dari simpul ke simpul, melalui firewall, ke Internet, dan melalui banyak perantara SOAP. Ini memperkenalkan berbagai ancaman keamanan pesan. Contoh berikut mengilustrasikan beberapa ancaman umum yang dapat membantu mitigasi keamanan WCF saat bertukar pesan antar entitas:

  • Pengamatan lalu lintas jaringan untuk mendapatkan informasi sensitif. Misalnya, dalam skenario perbankan online, klien meminta transfer dana dari satu akun ke akun lainnya. Pengguna yang jahat mencegat pesan dan, memiliki nomor akun dan kata sandi, kemudian melakukan transfer dana dari akun yang disusupi.

  • Entitas nakal yang bertindak sebagai layanan tanpa kesadaran klien. Dalam skenario ini, pengguna jahat (nakal) bertindak sebagai layanan online dan mencegat pesan dari klien untuk mendapatkan informasi sensitif. Kemudian pengguna nakal ini menggunakan data yang dicuri untuk mentransfer dana dari akun yang disusupi. Serangan ini juga dikenal sebagai serangan phishing.

  • Perubahan pesan untuk mendapatkan hasil yang berbeda dari penelepon yang dimaksudkan. Misalnya, mengubah nomor rekening tempat deposit dibuat memungkinkan dana masuk ke akun nakal.

  • Peretas memutar ulang di mana peretas pengganggu memutar ulang pesanan pembelian yang sama. Misalnya, toko buku online menerima ratusan pesanan dan mengirim buku kepada pelanggan yang belum memesannya.

  • Ketidakmampuan layanan untuk mengautentikasi klien. Dalam hal ini, layanan tidak dapat memastikan bahwa orang yang sesuai melakukan transaksi.

Singkatnya, keamanan transfer memberikan jaminan berikut:

  • Autentikasi titik akhir layanan (responden).

  • Autentikasi prinsipal klien (inisiator).

  • Integritas pesan.

  • Kerahasiaan pesan.

  • Deteksi pemutaran ulang.

Integrasi dengan Infrastruktur Keamanan yang Ada

Seringkali, penyebaran layanan Web memiliki solusi keamanan yang ada, misalnya, Secure Sockets Layer (SSL) atau protokol Kerberos. Beberapa memanfaatkan infrastruktur keamanan yang telah disebarkan, seperti Windows domain menggunakan Direktori Aktif. Seringkali perlu untuk berintegrasi dengan teknologi yang ada ini sambil mengevaluasi dan mengadopsi teknologi yang lebih baru.

Keamanan WCF berintegrasi dengan model keamanan transportasi yang ada dan dapat memanfaatkan infrastruktur yang ada untuk model keamanan transfer yang lebih baru berdasarkan keamanan pesan SOAP.

Integrasi dengan Model Autentikasi yang Ada

Bagian penting dari model keamanan komunikasi apa pun adalah kemampuan untuk mengidentifikasi dan mengautentikasi entitas dalam komunikasi. Entitas dalam komunikasi ini menggunakan "identitas digital," atau mandat, untuk mengautentikasi diri mereka sendiri dengan rekan komunikasi. Seiring berkembangnya platform komunikasi terdistribusi, berbagai autentikasi mandat dan model keamanan terkait telah diterapkan. Misalnya, di Internet, penggunaan nama pengguna dan kata sandi untuk mengidentifikasi pengguna adalah umum. Pada intranet, penggunaan pengendali domain Kerberos untuk mencadangkan autentikasi pengguna dan layanan menjadi umum. Dalam skenario tertentu, seperti antara dua mitra bisnis, sertifikat dapat digunakan untuk saling mengautentikasi mitra.

Dengan demikian, di dunia layanan Web, di mana layanan yang sama mungkin diekspos ke pelanggan perusahaan internal serta mitra eksternal atau pelanggan Internet, penting bahwa infrastruktur menyediakan integrasi dengan model autentikasi keamanan yang ada ini. Keamanan WCF mendukung berbagai jenis mandat (model autentikasi) termasuk:

  • Penelepon anonim.

  • Mandat klien nama pengguna.

  • Mandat klien sertifikat.

  • Windows (protokol Kerberos dan NT LanMan [NTLM]).

Standar dan Interoperabilitas

Di dunia dengan penyebaran besar yang ada, homogenitas jarang terjadi. Platform komputasi/komunikasi terdistribusi perlu beroperasi dengan teknologi yang ditawarkan vendor yang berbeda. Demikian juga, keamanan juga harus dapat dioperasikan.

Untuk mengaktifkan sistem keamanan yang dapat dioperasikan, perusahaan yang aktif di industri layanan Web telah membuat berbagai standar. Secara khusus mengenai keamanan, beberapa standar penting telah diusulkan: WS-Security: SOAP Message Security (diterima oleh isi standar OASIS dan sebelumnya dikenal sebagai WS-Security), WS-Trust, WS-SecureConversation, dan WS-SecurityPolicy.

WCF mendukung berbagai skenario interoperabilitas. Kelas BasicHttpBinding ini ditargetkan pada Profil Keamanan Dasar (BSP) dan kelas WSHttpBinding ditargetkan pada standar keamanan terbaru, seperti WS-Security 1.1 dan WS-SecureConversation. Dengan mematuhi standar ini, keamanan WCF dapat beroperasi dan berintegrasi dengan layanan Web yang dihosting pada sistem operasi dan platform selain Microsoft Windows.

Area Fungsi keamanan WCF

Keamanan WCF dibagi menjadi tiga area fungsional: transfer keamanan, kontrol akses, dan audit. Bagian berikut membahas area ini secara singkat dan menyediakan link untuk informasi selengkapnya.

Keamanan Transfer

Keamanan transfer mencakup tiga fungsi keamanan utama: integritas, kerahasiaan, dan autentikasi. Integritas adalah kemampuan untuk mendeteksi apakah pesan telah dirusak. Kerahasiaan adalah kemampuan untuk menjaga pesan tidak dapat dibaca oleh siapa pun selain penerima yang dimaksud; ini dicapai melalui kriptografi. Autentikasi adalah kemampuan untuk memverifikasi identitas yang diklaim. Bersama-sama, ketiga fungsi ini membantu memastikan bahwa pesan tiba dengan aman dari satu titik ke titik lainnya.

Mode Keamanan Transportasi dan Pesan

Dua mekanisme utama digunakan untuk menerapkan keamanan transfer di WCF: mode keamanan transportasi dan mode keamanan pesan.

  • Mode keamanan transportasi menggunakan protokol tingkat transportasi, seperti HTTPS, untuk mencapai keamanan transfer. Mode transportasi memiliki keuntungan diadopsi secara luas, tersedia di banyak platform, dan kurang kompleks secara komputasi. Namun, ini memiliki kerugian mengamankan pesan hanya dari titik ke titik.

  • Mode keamanan pesan, di sisi lain, menggunakan WS-Security (dan spesifikasi lainnya) untuk menerapkan keamanan transfer. Karena keamanan pesan diterapkan langsung ke pesan SOAP dan terkandung di dalam amplop SOAP, bersama dengan data aplikasi, ia memiliki keuntungan menjadi protokol transportasi independen, lebih dapat diperluas, dan memastikan keamanan end-to-end (versus point-to-point); ini memiliki kerugian beberapa kali lebih lambat daripada mode keamanan transportasi karena harus berurusan dengan sifat XML pesan SOAP.

Untuk informasi selengkapnya tentang perbedaan ini, lihat Mengamankan Layanan dan Klien.

Mode keamanan ketiga menggunakan mode sebelumnya dan membawa keuntungan dari keduanya. Mode ini disebut TransportWithMessageCredential. Dalam mode ini, keamanan pesan digunakan untuk mengautentikasi keamanan klien dan transportasi digunakan untuk mengautentikasi server dan memberikan kerahasiaan dan integritas pesan. Berkat ini, mode keamanan TransportWithMessageCredential hampir secepat mode keamanan transportasi dan memberikan ekstensibilitas autentikasi klien dengan cara yang sama seperti keamanan pesan. Namun, tidak seperti mode keamanan pesan, mode ini tidak memberikan keamanan menyeluruh yang lengkap.

Access Control

Kontrol akses juga dikenal sebagai otorisasi. Otorisasi memungkinkan pengguna yang berbeda untuk memiliki hak istimewa yang berbeda untuk melihat data. Misalnya, karena file sumber daya manusia perusahaan berisi data karyawan yang sensitif, hanya manajer yang diizinkan untuk melihat data karyawan. Selanjutnya, manajer hanya dapat melihat data untuk laporan langsung mereka. Dalam hal ini, kontrol akses didasarkan pada peran ("manajer") serta identitas spesifik manajer (untuk mencegah satu manajer melihat catatan karyawan manajer lain).

Di WCF, fitur kontrol akses disediakan melalui integrasi dengan runtime bahasa umum (CLR) PrincipalPermissionAttribute dan melalui serangkaian API yang dikenal sebagai model identitas. Untuk detail tentang kontrol akses dan otorisasi berbasis klaim, lihat Memperluas Keamanan.

Audit

Audit adalah pengelogan peristiwa keamanan ke log peristiwa Windows. Anda dapat mencatat peristiwa terkait keamanan, seperti kegagalan autentikasi (atau keberhasilan). Untuk mengetahui informasi selengkapnya, lihat Pengauditan. Untuk detail pemrograman, lihat Cara: Mengaudit Peristiwa Keamanan.

Lihat juga