Windows Tutorial

Two-Factor Authentication with SecSign ID

Use SecSign ID to enable two factor authentication on your Windows Server with an easy and highly secure user login using iOS or Android mobile devices.


Find out why our Two-Factor Authentication is the best, some key-facts for developers and why you should upgrade to SecSign for your business.

Learn more about the options of on-premise use and your own customized ID App in your corporate design.

Download the plugin as cloud version for a free and convenient protection.


Table of contents

    SecSign ID two factor authentication adds another layer of security by using a second token. In this case the physical token is your smartphone.

    Questions? Feel free to get in touch with us if you need help setting up your SecSign ID plugin or to request a plugin for a not yet supported environment.

    1. Active Directory Two-Factor Authentication Activation and Extension

    This article describes the activation for your Active Directory users for the integration with your Windows system.
    Your users are stored in the Active Directory. In order to activate the two-factor authentication for users and user groups you have two options.

    Activate the two-factor authentication without schema extension
    Activate the two-factor authentication without schema extension

    2. SecSign ID Credential Provider

    The SecSign ID credential provider adds an SecSign ID log-in after the interactive Windows log-on with user name and password. This affects direct log-ins at the PC as well as Remote Desktop connections.

    2.1 Prerequisites

    The SecSign ID Credential Provider looks up the SecSign ID user name of a Windows user in the Active Directory of the Windows domain. Therefore:

    • The PC on which the credential provider is install must be member of a Windows domain and
    • The Active Directory of the Windows domain must contain the SecSign ID user name for each Windows user who shall log-in. Section 1 describes the required Active Directory setup.

    2.2 Installation

    Run SecSignCredProv-Setup.exe.

    The installer will automatically download and install Microsoft’s Visual Studio 2015 runtime components as well as the .NET 4 runtime if not installed yet.

    The SecSign ID Credential provider uses the following registry keys which you will find at HKLM\SOFTWARE\SecSign\CredentialProvider.
    Please edit them to match your environment.

    – ServiceNameForSecSignApp: The name of your service for which the login will be secured by the SecSign ID. The SecSignApp will display this text during the log-in.

    – ServiceAddressForSecSignApp: The address of your service for which the login will be secured by the SecSign ID. The SecSignApp will display this text during the log-in. Typically this is a URL.

    – SecSignIDServerHostName: The host name of the SecSign ID Server.

    – SecSignIDServerPort: The port at the SecSign ID Server for requests from mobile devices.

    – FallbackSecSignIDServerHostName: The host name of the optional fallback SecSign ID Server if you have one.

    – FallbackSecSignIDServerPort: The port at the optional fallback SecSign ID Server for requests from mobile devices.

    2.3 Log-In

    With the SecSign ID Credential Provider installed, the Windows log-in consists of:

    1. Windows username and password entry.
    2. SecSign ID approval on the mobile device.

    2.4 Safe Mode

    The SecSign ID Credential Provider is not active if Windows is booted into Safe Mode. That means it has to made sure that users cannot reboot Windows into Safe Mode.

    3 SecSign ID Plugin for MS Remote Desktop Web Access

    Microsoft’s Remote Desktop Web Access service allows to run published Windows applications from a browser. If the SecSign ID log-in has been added to the RD Web Access site then after the usual log-in with Windows user name and password a second page asks for confirmation of the log- in using SecSign ID:

    3.1 Installation

    Log-in using a domain administrator account an the Windows Server which has the RD Web Access role. Then run SecSign-RD-WebAccess-Setup.exe:

    Run cmd.exe or a PowerShell

    • Type: certlm.msc
    • Select the node Certificates – Local Computer -> Personal -> Certificates.
    • Select the HTTPS certificate of this host.
    • Select All Tasks -> Manage Private Keys… from the context menu of the certificate.
    • Add Read permissions for the SERVICE account.
    • The integration of SecSign ID into the Microsoft Remote Desktop Web Access log-in requires to edit five files in C:\Windows\Web\RDWeb. This installer has placed an example of each file with the required modifications into this folder and its subfolders. The example files have the same file name plus the extension SecSignID.
    • Run a diff tool like ExamDiff or Araxis Merge.
    • Integrate the modifications from the example files having .SecSignID as extension into the original files on your machine. Be careful since your files may have other modifications already which you probably want to keep. For example you may have modified the files in the past to present the RD Web Access site in your corporate design.
    • If you are unsure how to do the modifications we will be happy to perform the modifications for you. In this case please send us a copy of the respective files or the whole RDWeb folder to support@secsign.com.
    • Run regedit.exe.
    • Open HKEY_LOCAL_MACHINE\SOFTWARE\SecSign\RDWebAccess.
    • Set SecSignIDServerHostName and SecSignIDServerPort to the host name and port of your SecSign ID Server. You will find the port number in the properties files of your SecSign ID Server in the line secsignidserver.port=… .
    • If you have a second SecSign ID Server enter its host name and address in FallbackSecSignIDServerHostName and FallbackSecSignIDServerPort. Otherwise, you may enter the values of the primary SecSign ID Server again.
    • The values configured in ServiceAddressForSecSignApp and ServiceNameForSecSignApp will be displayed in the user’s SecSign App during a log-in.
    • SharedSecretWithRDGateway shall contain any random bytes. Please type any arbitrary characters here but make sure that the length remains 64 bytes.

    After installing the SecSign ID plug-in for Microsoft Remote Desktop Gateway the shared secret has to be copied there. The SecSign ID RD Web Access plug-in uses the secret to sign a gateway access token which it inserts into the RDP files of each published application. The SecSign ID RD Gateway plug-in will validate the signature using the same secret.

    Finally, open your RD Web Access URL in a browser, log-in using your Windows user name and password and test the SecSign ID log-in. If anything fails the Windows Event Log will contain more information in Windows Logs → Application with the source SecSign ID RD Web Access.

    4 SecSign ID Plugin for Microsoft Remote Desktop Gateway

    The SecSign ID log-in integration into RD Web Access alone only protects the RD Web Access log-in in a browser. A user who knows the necessary details to create an RDP file could log-in directly at the RD Gateway using the Remote Desktop Client. Furthermore, users could download RDP files generated by RD Web Access and use them again later without logging in at the RD Web Access site again.

    The SecSign ID PAA (plugable authentication and authorization) plug-in for Microsoft’s Remote Desktop Gateway prevents the aforementioned unwanted direct log-ins at the RD Gateway. To achieve this, the SecSign ID plug-in validates the signature of the gateway access token which has been inserted into the RDP file by the SecSign ID RD Web Access plug-in after a sucessful SecSign ID log-in at the RD Web Access site using a browser.

    • Log-in using a domain administrator account an the Windows Server which has the RD Gateway role.
    • Run SecSign-RD-Gateway-Setup.
    • Run regedit.exe.
    • Open HKEY_LOCAL_MACHINE\SOFTWARE\SecSign\RDGatewayAuthentication.
    • SharedSecretWithRDWebAccess has to contain exactly the same 64 bytes as the respective
      value SharedSecretWithRDGateway in the adjacent registry key RDWebAccess.
    • AccessTokenMaxAgeSeconds defines for how many seconds after a RD Web Access log-in the generated RDP files are allowed to run the published applications. The remote desktop client’s connection to the RD session host remains open for a certain time. During this time the opening of published applications is still possible even if AccessTokenMaxAgeSeconds has expired already. A user may always generate fresh RDP files by reloading the RD Web Access page in his browser. Only someone you downloads and copies an RDP file cannot use it after the RD Web Access log-out or on another computer when AccessTokenMaxAgeSeconds has expired.

    The Windows Event Log will contain information about SecSign ID log-ins in „Windows Logs → Application“ with the source „SecSign ID RD Gateway“.

    5 SecSign ID Radius Proxy

    The SecSign ID RADIUS proxy allows to add the SecSign ID log-in to systems with RADIUS support. This includes for example a VPN log-in to a Windows Server 2012. A RADIUS client who wants to process the log-in of a user will send a request to the SecSign ID RADIUS proxy. The proxy will forward the primary authentication containing information about user name and password to a forward RADIUS server. If this server has validated user name and password and allows the log-in the proxy will initiate a SecSign ID log-in as a secondary authentication. The user then authenticates the log-in using his private 2048 bit key in the SecSignApp on his smart phone. Finally, the SecSign ID RADIUS proxy will inform the RADIUS client about the success of the log-in.

    5.1 Installation

    Java VM

    As the SecSign ID RADIUS proxy is written in Java it can be run on any operating system with Java support like for example Windows or Linux. So the first step of the installation is to install a recent Java virtual machine preferable with 64 bit available at Oracle’s web site.

    SecSign ID RADIUS proxy installation

    The directory SecSignIDRadiusProxy contains the application code in a JAR file and its configuration file. This directory has to be copied to the system that shall run the SecSign ID RADIUS proxy.

    SecSign ID RADIUS proxy configuration file

    The configuration file secradiusproxy.properties needs to be edited:
    The default port number of RADIUS is 1812. If necessary, if different value may be set here:

    If the SecSign ID RADIUS proxy shall only bind to a specific IP address it may be specified here. The default is to bind to all IP addresses the machine has.

    For each RADIUS client (for example a Microsoft Windows Server) the proxy needs to know the IP address and the shared secret. The list of RADIUS clients starts with the index ‘0’ and may have any number of entries which are consecutitvely numbered.

    The proxy also needs to know where to forward the RADIUS access requests for validation of the primary authentication credentials (user name and password). This forward RADIUS server may be for example another Microsoft Windows Server or even the same as the RADIUS client.

    For each Windows user whose log-in shall be secured be the SecSign ID the Active Directory must contain an attribute containing the SecSign ID user name of this user. The proxy uses an LDAP connection to query the SecSign ID user name in the Active Directory. For this LDAP connection it needs the name and password of a technical user with read access to the users branch of the Active Directory. Furthermore, the base DN will tell the proxy where to find the users branch in the LDAP tree. The recommended full name of this technical user is SecSign ID Radius Proxy and its descrption: Technical user to allow AD LDAP queries for the SecSign ID RADIUS proxy.

    The proxy will keep a copy of each received RADIUS packet for a certain time in order to recognize duplicate packets. The proxy will also remember the Windows user names for whom it is waiting for the completion of the SecSign ID log-in. The proxy will not start a new log-in session for such users if requested by the RADIUS client. The time out for both list entries can be specified here.

    In order to initiate a SecSign ID log-in the SecSign ID RADIUS proxy needs the host name of the SecSign ID server and optionally of fallback SecSign ID servers:

    The connection to the SecSign ID server is TLS encrypted. Therefore, a DER encoded trusted certificate of the SecSign ID server may be configured. If the server uses a certificate issued on its official DNS name by a regular trustcenter this configuration entry is not necessary.

    A timeout value be set after which the proxy tries to send its request to the next fallback SecSign ID server:

    The SecSign ID RADIUS proxy may use a HTTP proxy to send requests to the SecSign ID server. The HTTP proxy has the following settings:

    If certain hosts can be reached without the general HTTP proxy they can be named here:


    The SecSign ID RADIUS proxy may write a log file. It contains all messages whose severity is equal to or above a specified level.


    The levels are:

    • 0: Error
    • 10: Warning
    • 20: Standard
    • 30: Usage
    • 40: Event
    • 50: Debug
    • 60: Verbose


    The proxy may begin a new log file each day:

    5.2 SecSign ID Radius Proxy Start

    The proxy can be started with:

    The proxy will output messages like:

    Pressing ^C in the terminal window will end the proxy.

    5.3 Windows Server 2012 R2 as Radius Client

    The SecSign ID RADIUS proxy can be used with different systems that support RADIUS. As an example the following section shows how to configure the SecSign ID RADIUS proxy in a Microsoft Windows Server 2012.

    In the Server Manager the option Network Policy Server in the Tools menu will open the configuration of the Network Policy Server. A new RADIUS server can be added at the node NPS (Local) – RADIUS Clients and Servers – Remote RADIUS Server Groups. There, in the context menu the option New opens the following dialog in which a RADIUS server group with a name like SecSign ID RADIUS proxy group may be created:

    The button Add shows a dialog in which the IP address or host name of the SecSign ID RADIUS proxy can be added:

    The shared secret has to be entered in the Authentication/Accounting tab. It must be identical to the value of secradiusproxy.radiusclient..sharedsecret in the configuration file of the proxy.

    In the Load Balancing tab it is necessary to set the Number of seconds without response before a request is considered dropped to at least 60 seconds. This time allows the user to perform the SecSign ID authentication on his smart phone. The SecSign ID RADIUS proxy cannot answer the RADIUS client before the SecSign ID log-in is completed.

    Now, the Microsoft Network Policy Server will be configured to send RADIUS requests to the SecSign ID RADIUS proxy in case of for example a VPN log-in: Selecting the node NPS (Local) – Policies – Connection Request Policies shows the following dialog:

    A double click on Microsoft Routing and Remote Access Service Policy displays a dialog in which the tab Settings has to be selected. The node Forwarding Connection Request – Authentication allows to determine that RADIUS requests shall be forwarded to the SecSign ID RADIUS proxy:

    5.4 Windows Server 2012 R2 as Forward Radius Server

    The SecSign ID RADIUS proxy can forward RADIUS requests to different systems that support RADIUS. As an example the following section shows how to allow the SecSign ID RADIUS proxy as a RADIUS client in a Microsoft Windows Server 2012.

    In the Server Manager the option Network Policy Server in the Tools menu will open the configuration of the Network Policy Server. A new RADIUS client can be added at the node NPS (Local) – RADIUS Clients and Servers – RADIUS Clients. There, in the context menu the option New opens the following dialog in which a RADIUS client with a name like SecSign ID RADIUS proxy may be created.

    The IP address or DNS host name is the one of the machine running the SecSign ID RADIUS proxy. The shared secret is the same which was specified as secradiusproxy.forwardradiusserver.sharedsecret in the configuration file of the proxy.

    5.5 Windows VPN Login

    If the SecSign ID RADIUS proxy is integrated into a Microsoft Windows Server infrastructure it can be used to secure for example the log-in of a Windows 8.1 VPN client with SecSign ID.

    To create a VPN connection using Microsoft Windows 8.1, open the Windows Control Panel and then the Network and Sharing Center. Select:

    • Set up a new connection or network
    • Connect to a workplace and finally:
    • Use my Internet connection (VPN)

    In this example, the Internet address of the VPN target is win2012r2.secsignersde.com and the destination is described by the name: „VPN with SecSign ID“

    Pressing Create opens the Windows side bar showing all connections. Selecting VPN with SecSign ID and clicking on Connect opens a password entry asking for the Windows user name and password having an account at the VPN target:

    When Window 8.1 says Verifying your credentials, please authenticate the log-in in the SecSignApp on your smart phone.

    If desired, the authentication methods for the VPN connection can be changed in the network adapter settings in the Network and Sharing Center of the Windows Control Panel. The SecSign ID RADIUS proxy supports the authentication methods MS-CHAP v2 and PAP:

    6. Available APIS

    We provide an ever growing list of APIs and plugins to easily integrate the SecSign ID Two-Factor Authentication in any project. An overview is available at Plugin and APIs.
    We do not only offer APIs in different programming languages but also plugins for CMS, Server and VPN environments, oAuth2 and many more. These plugins use our APIs and offer additional functionalities, for example user management, easy and native installation, logging or integration in firewalls or Active Directory.

    The JIRA plugin for example uses the JAVA-API. The PHP-Api and JS-API is used by WordPress, Joomla, Drupal, Typo3 and many more. The ASP.net/C#-API is used for the Windows and Cisco VPN and the C-API is used for protecting Unix SSH services. The Objective-C API is used by our AppleTV and iPhone/iPad apps.

    available_apis

    7. See for yourself

    You can experience the SecSign ID two-factor authentication and the two-factor login by simply integrating the plugin into your website or test environment. Or you can try out the login process on our website without having to register first. You already have a SecSign ID or you want one? Login now and use the portal or use our hassle free registration.

    See for yourself how fast and convenient the login process using challenge-response authentication with 2048-bit key pairs is. There is no need for passwords, and no passwords or other confidential information are ever transmitted. It is easy to integrate and simple to use.

    For more information about the patented SafeKey procedure and it's unique security can be found here.

    If you are missing an API for the programming language you are working with, feel free to contact us and we’ll find a solution with you. If you need help with the integration into an existing system or you can’t find the plugin for your content management system you are working with, don’t hesitate to contact our support team.

    Your own ID-Server

    On premise installations of SecSign ID offer the flexibility to connect with your preferred servers, services, and devices. And you can customize the SecSign ID with your own organization’s branding.

    your_own_id

    Why upgrade to SecSign?

    On-premise or in the cloud

    Choose between our SecSign ID Cloud or operate your own on-premise Two-Factor Authentication server.

    Easy customization

    Operate your own YourBrand ID app - Two-Factor Authentication customized to your needs.

    Ready-to-use SDK

    Integrate SecSign ID Two-Factor Authentication in existing apps with our ready-to-use SDK.

    Easy user management

    Use the Two-Factor Authentication Server to secure your company Active Directory/LDAP. Your own Identity and Access Management System, for example for mandatory updates and additional security features.

    Cover all logins

    Integration in any login environment: web, local, VPN, remote desktop, mobile logins and many more.

    Plugins for all your needs

    No need for complex integration: we have plugins for almost all environments.

    Do NOT follow this link or you will be banned from the site!