Skip to content

Support RSA SecurID in TOTP #2441

Open
@philipsd6

Description

Expected Behavior

Setup TOTP allows using Steam and Default RFC 6238 token settings, and I would like to be able to use my RSA SecurID as well. The modern RSA SecurID algorithm is not very different from TOTP.

Current Behavior

Configuring TOTP with the settings of my RSA SecurID "works" (i.e. doesn't cause an error) but it produces invalid tokens.

Possible Solution

Integrate the stoken code into KeePassXC. The only GUI change necessary would be adding a radio button for RSA SecurID like the Steam one, and a text input for an optional PIN.

Steps to Reproduce (for bugs)

Here's what I'm doing:

  1. I've imported the .sdtid file I got from our security manager into stoken and verified that it provides the same tokens as the RSA Windows app.
  2. I ran stoken show --seed and set up TOTP using:
    • Decrypted seed (as the Key)
    • Seconds per tokencode (as the Time step)
    • Tokencode digits (as the Code size)
  3. Select Show TOTP from the context menu, and see that the tokens it generates do not match the ones produced by the RSA app or stoken

Context

We use RSA SecurID for external VPN and internal 2FA for accessing secure networks. Currently, I can have KeepassXC autotype my personal authentication for the first layer, and then have my static pin prefix autotyped, but then I have to get the output of stoken and paste it, and then do another autotype for the final authentication layer.

Making this seamless would require autotyping the current TOTP token, which I'm not sure is possible either. But it should be!

Debug Info

KeePassXC - Version 2.3.4
Revision: 6fe821c

Libraries:

  • Qt 5.11.2
  • libgcrypt 1.8.3

Operating system: Solus 3.9999
CPU architecture: x86_64
Kernel: linux 4.18.16-96.current

Enabled extensions:

  • Auto-Type
  • Browser Integration
  • SSH Agent
  • YubiKey

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions