views:

150

answers:

3

I’m developing an Intranet application and I want to make a secure authentication.

One approach can be use “https”. The problem is that the server doesn’t have a trusted certificate, therefore is a bit annoying for the client because the browser doesn’t trust in the certificate and complaints with a scary message.

Using http will compromise the user password but it can be combined with “Digest access authentication

What do you think?

+3  A: 

Purchase a trusted certificate? They are really not that expensive anymore if you shop around.

Having said that, digest access authentication is reasonably safe for authentication. Using http rather than https, all of the information you send across the wire will be plain text even if the password is not. Anyone that can plug a laptop in to your intranet running an application such as WireShark can view all of the information sent back and forth. If you care about that information not being compromised, http will not meet your needs.

Eric J.
A: 

If you need it to be a fully secure, you should purchase the SSL certificate.

From the wiki link you provided:

Disadvantages

Digest access authentication is intended as a security trade-off; it is intended to replace unencrypted HTTP Basic access authentication which is extremely weak. However it is not intended to replace strong authentication protocols, such as Public key or Kerberos authentication.

I think there's your answer :)

jaywon
+2  A: 

You have these options:

  1. Purchase a trusted certificate.

  2. Or, generate your own root certificate, install it in browsers on all intranet computers (you should be able to do it since it's intranet), generate your own server certificate signed with your own root certificate. This is actually what companies often do.

Note: Digest access authentication is not helpful if you want to have form authentication (a HTML form with user, password, login page using the visual style of your app, nicer wrong-password error reporting, possibly additional features such as "remember me" or "forgot password").

Jan Soltis
#2 is what we do here.
Chris