WCF transfer güvenliği için beş farklı seçenek sunmaktadır. Bir servisin güvenliğini sağlamak istediğimizde hangi öncelik bizim için daha avantajlıysa o biçimde transfer seçeneğini belirleriz. Güvenlikte birincil önceliğimizi doğru şekilde belirlemeliyiz. Transfer güvenliği seçeneklerini şu şeklide sıralayabiliriz: None,Transport security, Message security, Mixed ve Both.
None Transfer Security
Adından da anlaşılacağı üzere bu seçenekte herhangi bir güvenlik bulunmamaktadır. WCF güvenliği tamamen kapalıdır. Herhangi bir istemci kimlik bilgisi istenmemektedir. Mesajlar, herhangi bir mahremiyet korumasında değildir. Mesaj gizliliği açısında doğru bir yöntem değildir.
Transport Transfer Security
Bu güvenlik seviyesinde WCF, güvenli iletişim protokollerini kullanır. Bu protokoller, HTTPS, TCP, IPC ve MSMQ protokolleridir.Transport security, kanal üzerindeki tüm iletişimi şifreleyerek, bu şekilde mesaj bütünlüğünü, mahremiyeti ve kimlik doğrulamasını sağlar. Mesaj içeriğinin değiştirilmesine yönelik herhangi bir girişim, şifreleme anahtarı bilinmediğinden başarısızlıkla sonuçlanacaktır ve bu da mesaj bütünlüğünün sağlandığının bir kanıtıdır. Alıcıdan başka kimse mesaj içeriğini göremediğinden mahremiyet sağlanmaktadır. Karşılıklı kimlik doğrulamaları gerçekleştirildiğinden, mesajı sadece alıcı okuyabilmektedir. Bu sayede güvenilir olmayan end point’ler ile mesaj aktarımı sağlanmaz.
Başlıca dezavantajı, sadece noktadan noktaya (point-to-point) olan taşıma güvenliğini garantilemesidir. İstemci, arada herhangi bir aracı bulunmadan direk servise bağlanır. Dolayısıyla ulaşım, güvenli bir ortamda sağlanmış olur. Bu iletişim güvenliği genelde intranet uygulamalarında kullanılır.
Message Transfer Security
Mesaj güvenliği seviyesinde mesajın kendisi şifrelenir. Mesajın şifrelenmesiyle, Transport güvenliğinde olduğu gibi, mesaj bütünlüğü, mahremiyeti ve kimlik doğrulaması sağlanarak mesajın içeriğinin okunmasına yönelik yapılan herhangi bir okuma girişimi başarısızlıkla sonuçlanmış olur. Mesaj içeriği şifrelendiğinden HTTP gibi güvenli olmayan protokoller üzerinden gönderilebilir. Bu nedenle ulaşım sağlayan aracılara ve taşımanın güvenliğine bakılmaz. Buna ek olarak Mesaj güvenliği, Dos Attack ve replay attack gibi saldırılara yönelik bir dizi standart ile tasarlanmıştır. Message transfer güvenliğinin dezavantajı da mesajın iletim süresinin artmasına bağlı gecikmelerin yaşanmasıdır. Bu güvenlik seçeneği internet uygulamalarında kullanılır.
Mixed Transfer Security Mode
Mixed güvenlik seçeneği, servis doğrulamasının yanı sıra mesaj bütünlüğünü ve mahremiyetini sağlamak için Transport güvenliğini, istemci kimliğinin doğrulanması için de Message güvenliğini kullanır. Bu karma yapı sayesinde Transport ve Message güvenlik seçeneklerinin avantajlarından faydalanmak hedeflenmiştir. Dezavantajı, Transport güvenliğinden dolayı, noktadan noktaya (point-to-point) ulaşımlarda kullanılmasıdır.
Both Transfer Security Mode
Adından da anlaşılacağı üzere Both transfrt güvenliği, hem Transport hem de Message güvenlik seçeneğini kullanır. Mesajın kendisi şifrelenerek güvenli bir şekilde iletilir.
Kaynak: Bu yazının hazırlanmasında Programming WCF Services kitabından faydalandım.