2009-12-17 14 views
5

Windows kimlik doğrulaması/şifrelemesinin WCF'deki NetTcpBinding ile nasıl çalıştığını anlamaya çalışıyorum. Telden geçen verileri şifrelemek için hangi şifreleme algoritmasının kullanıldığını tam olarak bilmem gerekiyor (ve bunu kanıtlamak için bazı belgeler). İstemci ve/veya ana bilgisayar bir etki alanında değilse, windows kimlik doğrulaması/şifreleme hala çalışır mı?WCF'de Windows Kimlik Doğrulama/Şifreleme NetTcpBinding ile

cevap

6

Windows Kimlik Bilgilerini kullanan netTcpBinding, arayanın ve hizmetin aynı etki alanında veya en azından karşılıklı olarak güvenilen etki alanlarında olmasını gerektirir. Aksi halde, sunucu Windows kimlik bilgilerini doğrulayamaz ve servis çağrısını reddeder.

Şifrelemeye gelince: hangisini tercih edip seçebilirsiniz! :-) TripleDES, AES - siz de, farklı anahtar uzunlukları ile adlandırın.

Fundamentals of WCF Security makalesine bakın - güvenlik ve şifrelemenin tüm yönleri hakkında konuşuyor; ayrıca daha fazla ayrıntıya giren Securing Services'daki MSDN Dokümanlarına bakın; basicHttp taşıma güvenlik unsurunun özelliklerini gösteren iyi bir genel bakış here bulunabilir.

2

Geçen sene, sistemin tüm katmanlarında hem güvenli hem de performanslı bir mekanizma gerektiren wcf kullanarak dağıtılmış bir sistem uygulamak zorunda kaldım. İkili şifreli bir belirteç oluşturarak kendi güvenlik mimarisini oluşturmaya karar verdik. Şifreli belirteç, belirli bir kullanıcının sahip olduğu tüm izinleri içerir. Örneğin, bir kullanıcı sisteme giriş yapar ve başarılı bir şekilde doğrulanmışsa şifrelenmiş bir jetonu geri alır. Örneğin; Bu simge, web istemcisinde yerel olarak depolandı. Kullanıcı tarafından yapılan diğer tüm talepler bu belirteci içerecektir. Simge, mimarinin çeşitli seviyelerinde kullanılmıştır. Web sunucusu, hangi görsel öğelerin etkinleştirileceğini veya devre dışı bırakılacağına karar vermek için kullanacaktır. Hizmet katmanı internete açık olduğundan, her açık kapı, kimlik doğrulaması için belirteci kontrol eder ve belirtecin belirli bir görevi yürütmek için uygun izne sahip olup olmadığını kontrol eder. İş katmanı, belirteçte daha belirli bir hak için tekrar kontrol edebilir.

avantajları:

  • biz NetTcpBinding veya bağlayıcı başka türde kullanıyorlardı (ve bağlayıcı birden fazla türü kullandı) bir önemi yoktu.
  • Biz farklı platformlarda Muhtemelen özel sorulara cevap vermez biliyorum

üzerinde aynı belirteci kullanabilirsiniz veritabanı

  • yuvarlak gezilerinde bir sürü kurtardı ama belki bazı verecek Sisteminizin iç katman mimarisine hâlâ karar verirken düşünce için yiyecek için.

  • +0

    Bu gerçekten ilginç geliyor. Bunu uygulamak için bana gösterebileceğiniz herhangi bir örnek veya referans var mı? İlk giriş verileri şifreli mi? (kullanıcı adı ve şifre) – Lewray