Create an account

Very important

  • To access the important data of the forums, you must be active in each forum and especially in the leaks and database leaks section, send data and after sending the data and activity, data and important content will be opened and visible for you.
  • You will only see chat messages from people who are at or below your level.
  • More than 500,000 database leaks and millions of account leaks are waiting for you, so access and view with more activity.
  • Many important data are inactive and inaccessible for you, so open them with activity. (This will be done automatically)


Thread Rating:
  • 106 Vote(s) - 3.44 Average
  • 1
  • 2
  • 3
  • 4
  • 5
WCF Security - A list of what I don't understand

#1
I'm going around in circles with regards to WCF and security, so I'm listing some questions here in order to gain a clear picture.

1. I'm interested in getting a better explanation of Transport vs Message level security.

2. I *think* I have a service running under SSL that will authenticate the user based upon their windows credentials. I also *think* I understand how to limit access to a service method via the PrincipalPermission. But how do I actually retrieve the current IPrinciple, so I can return different results dependent upon who's calling the service?

3. I have figured out how to turn tracing on and I can see my trace logs using "Microsoft Service Trace Log Viewer" but ill be damned if I can figure out what Im being displayed. Is there a decent resource explaining how to use this thing?

4. When using the "Certificate" clientCredentialType, is this something different to SSL?

5. When using the "Windows" clientCredentialType how can I see what windows user is being passed through?

6. My requirements mean I have to use basicHttpBindings - Am I correct in assuming:
- I only have Transport level security available to me?
- I can not implement custom username/password for this binding?

Edit
---

7. How can I add custom SOAP headers to my service in a similar manor to .asmx services? Is this a valid approach?

Edit
---

Further to the above questions I would like to know if it is possible to authenticate a windows mobile device based upon its windows user by checking against Active Directory. For all that I have found so far it seems unlikely.

N.B. For those who do not know what's available for Windows CE's version of WCF it's: Transport level security only, and either none/certificate for the Client Credential Type. So it seems that CE's WCF won't allow this by default but could I securely send this information in the message (via the method signature) and would this be an acceptable way of sending this kind of information?
Reply

#2
Check out [WCF Security Guidance][1]. If you need more information, you should be able to find it all there, its quite complete. Though it looks like @olle gave a pretty complete answer....


[1]:

[To see links please register here]

Reply

#3
I don't know all answers but here are the ones I do know

1. transport security means the communication is encrypted while the message is transported so it can't be read and or tampered with. Message security means the contents of the message itself is encrypted the transport however isn't necessarily. Message security can for instance be used with HTTP while transport security would require the use of HTTPS (or other bindings).
2. IPrincipal principal = Thread.CurrentPrincipal;
3. no answer
4. Yes, although SSL itself uses certificates it's not the same. You can have the client send a certificate which is known to the service or which is signed by a trusted authority to that the service knows who the client is and whether to allow them to make the call or not. Using SSL will only ensure that third parties can't read the communication between the client and the services by intercepting the network packages.
5. IPrincipal principal = Thread.CurrentPrincipal; principal.Identity.Name;
6. No.
- You have None, Transport, Message and Mixed security as your options however Transport security will require calling the endpoint using HTTPS since thats the secured version of the protocol
- EDIT: Check out the discussion at [this forum][1].

And the questions certainly aren't stupid.

P.S. I can recommend the book [programming WCF services][2] by Juval Lowy it's really in depth and comes with a really useful framework extending WCF/Simplifying certain things.


[1]:

[To see links please register here]

[2]:

[To see links please register here]

Reply

#4
Also check these [WCF Common Security Scenarios][1]


[1]:

[To see links please register here]

Reply



Forum Jump:


Users browsing this thread:
1 Guest(s)

©0Day  2016 - 2023 | All Rights Reserved.  Made with    for the community. Connected through