locked
WCF TransportCredentialOnly mit HttpClientCredentialType.Certificate RRS feed

  • Frage

  • Wir haben einen WCF Service welcher ClientAuthentication=Certificate eingestellt ist damit sich unsere User mittels SmartCard und dadurch ohne Benutzernamen am System anmelden können.
    Damit dies funktioniert muss die Message über einen sicheren Kanal übertragen werden, Transport oder Message Security, also in unserem Fall HTTPS. Somit erreichen wir eine Mutual Authentication zwischen Client und Server.
    Einige Kunden sind jedoch nicht in der Lage oder sind nicht gewillt ein X509 Certificate bereitzustellen (schon vorweg, es ist keine Kostenfrage). HTTPS wäre zum Teil auch ein Overkill, da die Daten nicht besonders schützenwert sind und auch die Umbebung absolut nicht „gefährlich“ ist.
    Unser Kunde möchte trotz Verzicht auf HTTPS nicht auf seine Smartcard Infrastructure (Benutzer Certificate) verzichten und diese verwenden um auf unserem System einzulogen.

    Nun WCF verweigert sich folgender Einstellung:

    BasicHttpBinding httpCertBinding = new BasicHttpBinding(BasicHttpSecurityMode.TransportCredentialOnly);
    httpCertBinding.Security.Transport.ClientCredentialType = HttpClientCredentialType.Certificate;

    "Certificate-based client authentication is not supported in TransportCredentialOnly security mode. Select the Transport security mode."

    Frage: Warum wird TransportCredentialOnly mit Basic, Digest, NTLM und Kerberos erlaubt und mit Certificate nicht? Das einzige worum es geht ist es die Identiät des Benutzer sicher feststellen zu können. Es geht nicht darum die Message zu signieren, zu verschlüsseln oder Session hijacking zu verhindern, einzig nur darum die Identiät sicher festzustellen wie dies mit NTLM, Kerberos, etc über einen unsicheren Channel möglich ist.

    Seit .NET 4.0 wird anscheinend genau diese Scenario unterstützt, aufgrund von Proxies welche die SSL Verbinding terminieren.

    http://blogs.msdn.com/distributedservice...te-devices.aspx

    Dies schein aber nur für diesen Fall empfohlen zu sein. Kann die Identiät damit nicht sicher übertragen werden, das heisst kann diese gefälscht werden mit einer MITM? Habe ich da etwas übersehen?
    Dienstag, 25. Mai 2010 06:08