Blog | G5 Cyber Security

ASP.NET Security Stamp Validation: Reducing Interval

TL;DR

The default 30-minute security stamp validation interval in ASP.NET is a trade-off between security and performance. Lowering it improves security by more quickly detecting account compromises, but increases server load. This guide explains how to change it safely.

Understanding Security Stamps

ASP.NET uses security stamps as an extra layer of cyber security when validating user authentication. A stamp is a unique value associated with a user’s password hash. When a user logs in, the stamp is stored in their cookie. On each request, ASP.NET checks if this stamp matches the one stored on the server. If they don’t match, it forces a re-authentication.

The 30-minute default interval means that every 30 minutes, the system revalidates the stamp against the database. This is to protect against scenarios where an attacker steals a user’s cookie but doesn’t have their password.

Why Change the Interval?

How to Change the Validation Interval

You change this setting in your web.config file or through code.

Step 1: Locate the <system.identityModel> Section

Open your web.config file and find the <system.identityModel> section. If it doesn’t exist, you’ll need to add it.

Step 2: Configure <tokens>

Within <system.identityModel>, look for the <tokens> element. If it doesn’t exist, create it.

Step 3: Set the <lifetimeValidationInterval>

Inside <tokens>, add or modify the <lifetimeValidationInterval> element. The value is specified in minutes.

<system.identityModel>
    <tokens>
        <lifetimeValidationInterval>15</lifetimeValidationInterval>
    </tokens>
</system.identityModel>

This example sets the interval to 15 minutes.

Step 4: Code Configuration (Alternative)

You can also configure this programmatically in your Startup.cs file within the ConfigureServices method:

services.Configure<SecurityStampLifetimeOptions>(options => {
    options.LifetimeValidationInterval = TimeSpan.FromMinutes(15);
});

Step 5: Restart Your Application

After making changes to your web.config file or code, restart your ASP.NET application for the new settings to take effect.

Important Considerations

Exit mobile version