Web forms authentication, should I use it?

Ask a Question related to ASP.NET Security, Design and Development.

  1. #1

    Default Web forms authentication, should I use it?

    Hello, people!
    I’m presently trying to choose an appropriate user authentication
    solution for online banking system implemented in ASP.NET, and as far as
    I understood the best practice of what Mcrosoft has to offer (with the
    exception of Windows integrated) is WEB forms authentication. So my
    question would be:
    - Would using forms authentication really be appropriate for such
    security demanding software, considering that authentication cookie will
    still be saved on the client’s computer where it cannot be protected by
    SSL anymore. Or is it better to implement some tailor made
    authentication/authorization mechanism, based on authentication
    information storing into session state/viewstate? What would you suggest?

    Best regards,
    Vlad.

    vladi_dPLACEATHEREdotLV
    Vlad Guest

  2. Similar Questions and Discussions

    1. Accessing htm files without authentication (forms authentication)
      I have application with forms authentication. All works fine. When user opens .aspx file gets login form, login and then get the .aspx page. But...
    2. ASP.Net Forms authentication with basic authentication popup
      Relatively new to ASP.Net but have a strange problem. My site uses forms authentication for a large administration section however after the user...
    3. Forms authentication then redirection to a secure web with NT authentication?
      Hi, I want to allow access to particular secured intranet web sites. These intranet are stored in sharepoint (2003 version) Actually I've...
    4. Authentication ticket, cookieless, forms authentication?
      Hi. I want to use Forms Authentication, cookieless. The issue is setting the Authentication Ticket without using cookies (!) That is, the...
    5. Forms authentication with Windows authentication
      Hi, I have an ASP.NET web site that uses IIS Basic Authentication and accesses an OLAP Server at various stages. The OLAP Server authentication...
  3. #2

    Default Re: Web forms authentication, should I use it?

    > - Would using forms authentication really be appropriate for such
    > security demanding software, considering that authentication cookie
    > will
    > still be saved on the client's computer where it cannot be protected
    > by
    > SSL anymore. Or is it better to implement some tailor made
    > authentication/authorization mechanism, based on authentication
    > information storing into session state/viewstate? What would you
    > suggest?
    A couple of things about this:

    The cookie that Forms authentication issues doesn't have to be persistent.
    This is determined by the second parameter to FormsAuthentication.RedirectFromLoginPage
    or FormsAuthentication.SetAuthCookie. If this is a real app you're building
    then I'd suggest always passing false, which means the cookie won't be persistent.

    Also, you can configure the application to issue the require SSL flag on
    the cookie meaning the browser is not supposed to send the cookie to the
    server unless there is a secure channel (SSL). This is configured in web.config
    in the <forms> element with the requireSSL="true" attribute.

    If you don't use SSL, then the cookie scheme is just as insecure as Windows
    authentication with basic or integrated since those headers to identify the
    client are just passed as headers... So in theory anyone could steal and
    replay any of those types of identification information.

    So, as far as what I'd suggest, if you don't want to rely upon a windows/domain
    account for your users, then use Forms authentication. It has the potential
    to be just as secure as any of those other schemes. It also has the potential
    to be just as insecure too :)

    -Brock
    [url]http://staff.develop.com/ballen[/url]




    Brock Allen Guest

  4. #3

    Default Re: Web forms authentication, should I use it?

    Vlad пишет:
    > Hello, people!
    > I’m presently trying to choose an appropriate user authentication
    > solution for online banking system implemented in ASP.NET, and as far as
    > I understood the best practice of what Mcrosoft has to offer (with the
    > exception of Windows integrated) is WEB forms authentication. So my
    > question would be:
    > - Would using forms authentication really be appropriate for such
    > security demanding software, considering that authentication cookie will
    > still be saved on the client’s computer where it cannot be protected by
    > SSL anymore. Or is it better to implement some tailor made
    > authentication/authorization mechanism, based on authentication
    > information storing into session state/viewstate? What would you suggest?
    >
    > Best regards,
    > Vlad.
    >
    > vladi_dPLACEATHEREdotLV
    Hi

    Check certificates authentication. Plus you can use the client
    certificate for secure documents signing.

    Igor
    Igor Dombrovan Guest

  5. #4

    Default Re: Web forms authentication, should I use it?

    Hi,

    I have developed internet banking apps and used forms auth.

    1. use SSL to encrypt the traffic. I think you already know this.
    2. There has already been a suggestion to NOT use persistent cookies by
    Brock Allen so you can make sure of this.
    3. The cookies can be encrypted via the FormsAuthentication.Encrypt method
    so even if it is stored on the client, it is encrypted. Combine this with
    non persistent cookies, and your "attack" surface is reduced considerably.
    4. Forms auth IS a custom solution. How you accept credentials, what those
    credentials are (eg. might be a PIN number and password instead of username
    or password) is entirely up to you. So in essence, you are writing your own
    custom auth scheme, just mkaing use of the framework support to enforce it.
    Behind the scenes, you can issue your own application specific cookie, that
    contains further security items, perhaps a GUID that is used to access
    temporary security session details inthe DB or whatever you want to further
    ensure your online banking session canot be compromised. In our instance, we
    utilised specific session keys (different to the .default generated session
    keys) that were validated on each request, and re-issued new ones on each
    request. So each request would ensure the previous session key/id was valid,
    then re-issued a new one which had short time restrictions and special
    encryption properties. What you do is up to you.
    5. Optionally, you can go with cookieless authentication (cookieless=true in
    web.config), but produces an ugly looking URL which is easier to get at than
    the actual cookie, (IMHO)
    6. You can use client certificates as suggested by someone else, but this
    requires that each person accessing the online banking ap have this client
    cert and introduces distribution problems. For a public online banking site,
    this is usually more trouble than its worth and distributing these certs on
    a large scale really reduces their effectiveness.

    --

    - Paul Glavich
    ASP.NET MVP
    ASPInsider ([url]www.aspinsiders.com[/url])


    "Vlad" <vladi_dPLACEATHEREdotLV> wrote in message
    news:uN3bigSKFHA.2764@tk2msftngp13.phx.gbl...
    > Hello, people!
    > I’m presently trying to choose an appropriate user authentication
    > solution for online banking system implemented in ASP.NET, and as far as
    > I understood the best practice of what Mcrosoft has to offer (with the
    > exception of Windows integrated) is WEB forms authentication. So my
    > question would be:
    > - Would using forms authentication really be appropriate for such
    > security demanding software, considering that authentication cookie will
    > still be saved on the client’s computer where it cannot be protected by
    > SSL anymore. Or is it better to implement some tailor made
    > authentication/authorization mechanism, based on authentication
    > information storing into session state/viewstate? What would you suggest?
    >
    > Best regards,
    > Vlad.
    >
    > vladi_dPLACEATHEREdotLV

    Paul Glavich [MVP ASP.NET] Guest

  6. #5

    Default Re: Web forms authentication, should I use it?

    Quote Originally Posted by Brock Allen View Post
    > - Would using forms authentication really be appropriate for such

    A couple of things about this:

    The cookie that Forms authentication issues doesn't have to be persistent.
    This is determined by the second parameter to FormsAuthentication.RedirectFromLoginPage
    or FormsAuthentication.SetAuthCookie. If this is a real app you're building
    then I'd suggest always passing false, which means the cookie won't be persistent.

    Also, you can configure the application to issue the require SSL flag on
    the cookie meaning the browser is not supposed to send the cookie to the
    server unless there is a secure channel (SSL). This is configured in web.config
    in the <forms> element with the requireSSL="true" attribute.

    If you don't use SSL, then the cookie scheme is just as insecure as Windows
    authentication with basic or integrated since those headers to identify the
    client are just passed as headers... So in theory anyone could steal and
    replay any of those types of identification information.

    So, as far as what I'd suggest, if you don't want to rely upon a windows/domain
    account for your users, then use Forms authentication. It has the potential
    to be just as secure as any of those other schemes. It also has the potential
    to be just as insecure too :)

    -Brock
    http://staff.develop.com/ballen
    thanks for very good and useful explanation.
    Unregistered Guest

Posting Permissions

  • You may not post new threads
  • You may post replies
  • You may not post attachments
  • You may not edit your posts

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139