Step-Up Authentication vs 2FA: Implementing Additional Verification for Sensitive Operations in Corporate Systems
Two-factor authentication (2FA) has become a standard for protecting corporate systems, yet it often proves insufficient for handling personal data or other high-risk operations. While 2FA verifies identity only at login and then grants access for the duration of the trusted session, modern attacks increasingly target already-active sessions. This limitation prompted the adoption of Step-Up Authentication, which requests additional confirmation precisely when a user attempts a sensitive action.
Why Standard 2FA Falls Short
Common second factors include SMS or Email OTP, TOTP from authenticator apps such as Yandex Key, Google Authenticator, Microsoft Authenticator, or Authy, and other one-time codes. These methods protect the login process effectively but do not re-verify identity during an ongoing session. As a result, prolonged sessions or shared devices can expose critical resources without further checks.
What Step-Up Authentication Provides
Step-Up Authentication differs by triggering extra verification only at the point of elevated-risk operations. Typical scenarios include work on shared devices, long-lived sessions, or access requests that demand a higher trust level than the initial login provided. In the described project, this mechanism was applied specifically when users attempted to retrieve salary information, requiring re-authentication only for selected APIs.
The technical foundation relies on ACR (Authentication Context Class Reference) values embedded in tokens. These values indicate whether login occurred with password alone or with an additional OTP. Applications inspect the ACR claim and either grant access or redirect the user for further authentication.
Project Implementation Challenges and Solution
Although Keycloak and WSO2 both support Step-Up Authentication out of the box, the project’s business requirements exceeded standard capabilities. The PIN code had to remain valid for six months, external systems needed to treat it as a user password, and verification had to occur at a separate gateway layer independent of the Identity Provider. These constraints made heavy customization of WSO2 impractical.
The team therefore created an independent PIN-code service and a dedicated gateway-2fa microservice. Only requests to protected APIs pass through this gateway; all other traffic follows the normal route. The flow works as follows:
- The web application directs the user to the PIN service to generate a code.
- The service creates an encrypted PIN, stores it, and delivers it via email and SMS.
- After successful entry, the service issues a signed cookie with a defined TTL confirming Step-Up completion.
- On subsequent protected calls, gateway-2fa validates the cookie and cross-checks key JWT fields; mismatches result in denial of access.
User Experience and Monitoring
From the user’s perspective, the additional step appears only when accessing protected data. A 401 response prompts PIN entry; successful validation sets the cookie, after which the user can work with sensitive resources until the TTL expires (set to 20 minutes in this implementation). Incorrect PIN attempts simply keep the resource inaccessible.
Usage statistics are collected in Matomo and technical metrics in ELK, enabling early detection of performance issues or unusual patterns.
Key Considerations for Deployment
Successful rollout requires careful definition of TTL duration, strong encryption for stored PINs, load testing of the additional service, and logging that supports incident investigation without exposing sensitive user data. The resulting architecture strengthens protection for critical operations while preserving a seamless login experience and supporting Zero Trust principles.
Related articles
Why 99% Attack Detection Rules Generate 99.9% False Positives in Real SOC Environments
A detection rule claiming 99% attack coverage with only 1% false positive rate sounds effective on paper, yet in practice it produces roughly one thousand false alerts for every genuine incident. Using a realistic example of 200,000 daily logins containing just two real compromises, the article demonstrates that 1.98 true positives are buried among 2,000 false positives. Bayes' theorem explains why sensitivity improvements barely move the needle while reducing the false-positive rate or narrowing the population yields dramatic gains in precision. The piece outlines three practical levers—lowering FPR, scoping rules to high-risk accounts, and cascading cheap-then-expensive checks—that cut analyst workload by orders of magnitude without sacrificing meaningful coverage. It also warns that chronically low-precision rules train analysts to ignore alerts, eventually leading to the rule being disabled despite remaining in compliance matrices. The recommended metric pair is therefore confirmed detections alongside coverage, rather than coverage alone.
ChatGPT Knows Your Company but Google Doesn't: Step-by-Step Guide to Diagnosing AI Visibility Issues
The complaint that a brand is missing from AI answers often masks six distinct technical problems that require opposite fixes. The guide separates three visibility layers—model knowledge without search, pre-indexed search bots such as OAI-SearchBot, and on-demand agent bots such as ChatGPT-User—and explains how to measure each one. It details checks for robots.txt entries, nosnippet and max-snippet meta tags, Cloudflare AI bot toggles, and server logs that reveal 403, 429, and 404 responses from specific crawlers. Additional steps cover JavaScript-rendered content, repeated query testing across 20 prompts, official reports in Yandex Webmaster and Google Search Console, and hidden prompt-injection instructions that may have been planted in page metadata. The article stresses that aggregated “AI visibility” percentages are meaningless without layer separation and warns that blocking training can unintentionally harm ordinary search indexing.
redb.Identity Adds gRPC Transport for OpenID Server Alongside Existing HTTP Facade
redb.Identity has introduced a second transport layer using gRPC next to its existing HTTP interface, sharing the same core routes, client registry, token store, and authorization logic. The new facade exposes standard OAuth and OpenID Connect operations such as Token, Introspect, Revoke, UserInfo, Discovery, and Jwks through protobuf-defined methods under identity.v1.Identity. Both transports enforce identical verdicts based on a single centralized scope table located behind direct-vm addresses, ensuring that a client authorized via HTTP receives the same result when calling gRPC. Error handling on gRPC uses status codes and trailers to carry machine-readable OAuth error codes and retry-after values, preserving compatibility with existing interceptors and tracing. Browser-facing flows, DPoP proofs, and user self-service remain on HTTP, while administrative operations are available on a separate management port. The implementation was validated through 64 unit tests, cross-language interop with @grpc/grpc-js clients, and a conformance run against the official OpenID Foundation suite.
Nvidia to Cease Regular GeForce Driver Updates for Windows 10 After October 2026
Nvidia has announced the end of regular driver support for Windows 10 in its GeForce Game Ready and Nvidia Studio driver lines starting October 2026. The first driver package without Windows 10 support will arrive in November of that year. Microsoft ended the base lifecycle of Windows 10 on October 14, 2025, and Nvidia is extending support by one additional year. Existing games and applications will continue to function after the change, while quarterly security patches for critical vulnerabilities will remain available until October 2029. Users will no longer receive optimizations for new games, fixes for graphics issues, or new GPU features. Newer technologies such as DLSS may also skip Windows 10 compatibility. The transition is described as gradual rather than abrupt, allowing older titles to keep running while newer releases increasingly encourage migration to a supported Windows version.