Token2 Mfa

5 views
Skip to first unread message

Suyay Escarsega

unread,
Aug 5, 2024, 10:34:46 AM8/5/24
to taitingbage
HeyI came across token2.com (.eu; .swiss etc.) as a more budget friendly 2FA hardware maker HQd in Switzerland. They make FIDO certified keys, some with added functionality and they have some additional certifications as well. Industry customers use them too.

A: No, the firmware of our products is not open-source.

You will find Python scripts for compatible products after purchasing them in the customer account interface. You can change it and use it for internal use if needed.


The information about certifications is available below:

Token2 Hardware MFA tokens for Azure MFA Certifications & Compliance TOKEN2 MFA Products and Services programmable hardware token, FIDO2 key, U2F key, TOTP, Hardware MFA tokens for Azure MFA


First step is to order your desired hardware. For this article we are looking at the devices manufactured by Token2 (www.token2.com). These include credit card style and dongle type devices. The options are available at -comparison


For the purposes of this blog post I have been using the TOTP emulator on the Token2 website. This allows you to create virtual TOTP devices and step through and test the entire process without buying a physical token. The TOTP device emulator can be found at -toolset. Each time you browse to this site a new device is emulated, but using key=XXXX, where XXXX is the 32 character device seed. Longer testing will require you to keep a record of the seed ID and use it in the emulator, or keep the browser window open.


For this, I am using the emulator mentioned above, but you would order a number of devices and upon arrival request the unique secret identifiers for each device over encrypted email. In Feb 2019 a programmable device with time sync is being released which will allow you to set the secrets yourself and ensure that clock drift on the device is not a reason for them to stop working after a few years!


Ensure each UPN in the first column matches the device you are issuing to the user and upload the CSV file to Azure AD. This is done from Azure Portal > Azure Active Directory left menu > MFA (in Security area) > OAUTH tokens (in settings area):


Click Upload and browse for your CSV file. As long as there are no errors it will upload fine. Errors are displayed in the notifications area. Once the upload is complete click Refresh to see the imported hardware tokens. Tokens assigned to users that do not exist will appear after the user is created, if the user is created within 30 days.


The token needs activating before it can be used. Activation is to confirm the token works and so you will need the next six digit sequence from the device and so have physical access to the device. End user activation is planned, but as of writing in Jan 2019 the administrator needs to activate the hardware token.


Click Activate and enter the current TOTP six digit number. The CSV file contains information about the time change for the device, which is 30 seconds for these Token2 devices, and so you need to enter the current, previous or next ID (next ID is shown in the emulator and not on the hardware token).


Finally, the user will only be required for an MFA login if either MFA is enabled for the account or conditional access enabled and the login or application access triggers an MFA requirement. The second of these is the better one to use. The admin configuration to force the user to enter their token one time code though is as follows:


The token changes every 30 seconds and is valid for a short while either side of the time it is displayed for on the device. Over time tokens will suffer from clock skew and eventually stop working. The new token2 programmable tokens available in Feb 2019 can have their clocks resynced to fix this issue.


In the above you can see that the user has an iPhone as well as the token, where the hardware token ID matches the serial number on the device that they hold, as well as a phone in this scenario. This allows the user to have a backup MFA method of more than one authenticator (Microsoft Authenticator on iPhone or MFA by phone call in this case) as well as the Authenticator app or hardware token. Your users can now have up to five devices in any combination of hardware or software based OATH tokens and the Microsoft Authenticator app. This gives them the ability to have backup devices ready when they need them and to use different types of credentials in different environments.


These two functions take a string(in the case, the string is always "loaddungeon dfile.txt") These two functions are pretty much the same except for one tiny difference. In the second function, I changed the token2 to "dfile.txt".


It's propably because of the newline at the end of token2 (the debugger showed it); When reading in a line through fgets, the string read in it often contains a new line character '\n' at the end. This character may, though not obvious in the console, influence some other functions (e.g. fopen, which might not find the file then). Hence, remove the trailing new line (as described in this SO answer):


This is due to the order of the token in df1. Since the value in ["rel"] depends on ["token1"] -> ["token2"] it can't apply its value when the order is reversed. Is there any way to do this in the merging process without creating a new version of df1 ?


I had to include all possible combinations of token and token2 in the first DataFrame since the result of rel is dependent on the correct order of the two value. Meaning my desired outcome was wrong to begin with.I had to delete this line in the creation of df1:


config: fixed stat inconsistency between xDS and ADS implementation. update_failure stat isincremented in case of network failure and update_rejected stat is incremented incase of schema/validation error.


http: added support for a per-stream idle timeout. This applies atboth connection manager andper-route granularity. The timeout defaults to 5 minutes; if youhave other timeouts (e.g. connection idle timeout, upstream response per-retry) that are longer than this in duration,you may want to consider setting a non-default per-stream idle timeout.


http: fixed missing support for appending to predefined inline headers, e.g. authorization, in features that interact withrequest and response headers, e.g. request_headers_to_add.For example, a request header authorization: token1 will appear as authorization: token1,token2, after havingrequest_headers_to_add with authorization: token2applied.


rate_limiting: Use of the legacy ratelimit.protois deprecated, in favor of the proto defined in date-plane-api Prior to 1.8.0, Envoy can useeither proto to send client requests to a ratelimit server with the use of the use_data_plane_proto boolean flag inthe ratelimit configuration.However, when using the deprecated client a warning is logged.

3a8082e126
Reply all
Reply to author
Forward
0 new messages