Déploiement avec tokens ou cartes à puce

Introduction

Un grand nombre de tokens et de cartes à puce permettant une authentification forte multi-facteurs (MFA) sont prise en charge par SN VPN Client Exclusive via l’une des API suivantes : CNG (par défaut) ou PKCS#11.

NOTE
La liste des tokens et cartes à puce qualifiés avec SN VPN Client Exclusive est disponible sur le site TheGreenBow à l’adresse : https://thegreenbow.com/fr/support/guides-dintegration/tokens-vpn-compatibles/.

CNG

CNG signifie « Cryptography API: Next Generation ». C’est une API d’accès aux tokens et aux cartes à puce actuellement fournie par Microsoft. Elle est utilisée par défaut par SN VPN Client Exclusive, et ne requiert pas de configuration supplémentaire.

PKCS#11

PKCS#11 est une API d’accès aux tokens ou aux cartes à puce standardisée par RSA Labs. La plupart des tokens ou cartes à puce sont compatibles PKCS#11. L’utilisation de l’API PKCS#11 par SN VPN Client Exclusive requiert l’installation préalable sur le poste cible d’un middleware fourni par le fabricant du token ou de la carte à puce.

Pour forcer SN VPN Client Exclusive à utiliser l’API PKCS#11 au lieu de l’API CNG, utilisez l’option Forcer l'utilisation de PKCS#11 (voir la section « Options PKI » dans le « Guide de l’administrateur » du SN VPN Client Exclusive) ou bien la propriété MSI PKCS11ONLY à l’installation du logiciel (cf. section PKCS11ONLY).

SN VPN Client Exclusive prend en charge les tokens ou cartes à puce compatibles PKCS#11 des principaux fabricants (Gemalto, IN Groupe, Neowave, Feitian, Yubico, etc.) sans configuration supplémentaire.

Les tokens et cartes à puce pris en charge par SN VPN Client Exclusive sont ceux qui sont listés sur le site TheGreenBow à l’adresse https://thegreenbow.com/fr/support/guides-dintegration/tokens-vpn-compatibles/ et pour lesquels la case PKCS11 est cochée.

Pour les tokens ou cartes à puce qui ne sont pas reconnus en standard par SN VPN Client Exclusive, le logiciel offre la possibilité de spécifier leurs caractéristiques dans un fichier d’initialisation PKCS#11 appelé vpnconf.ini, décrit ci-après.

Fichier vpnconf.ini

Pour permettre à SN VPN Client Exclusive de prendre en charge des tokens ou cartes à puces non reconnus en standard, un fichier vpnconf.ini doit être crée dans le répertoire d’installation du Client VPN (par défaut : C:\Program Files\Stormshield\Network VPN Client Exclusive\). Il peut être établi avec un éditeur texte classique (p. ex. Bloc-notes).

Les paramètres à indiquer dans le fichier vpnconf.ini sont répartis en plusieurs sections :

  • une succession de sections (optionnelles) ATR qui permettent de définir les attributs de tokens ou cartes à puce qui ne sont pas reconnus en standard par le logiciel ;

  • une section (optionnelle) ROAMING qui permet de caractériser le token ou la carte à puce à utiliser lors de l’initialisation du logiciel.

Sections ATR

ATR signifie « Answer To Reset ». C’est un identifiant retourné par le token ou la carte à puce sur commande de réinitialisation. Cet identifiant est lié au fabricant et au modèle de token ou de carte à puce.

Chaque section ATR décrit les caractéristiques nécessaires pour accéder à un token ou une carte à puce, ou à une famille de tokens ou de cartes à puce qui ne sont pas encore connues du logiciel.

Les paramètres à indiquer dans la section ATR sont détaillés dans la table suivante :

Paramètre

Signification

[ATR#]

ATR du token ou de la carte à puce à ajouter

mask

Masque à utiliser avec cet ATR.

Les informations relatives aux ATR et aux masques des ATR sont fournies par les fabricants de tokens ou de cartes à puce. En cas de doute, un masque ne contenant que FF peut être configuré. Les longueurs de l’ATR et du masque doivent être identiques. La ligne mask peut ainsi prendre la forme suivante : mask=FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF

scname

Nom du token ou de la carte à puce (champ purement descriptif)

manufacturer

Nom du constructeur (champ purement descriptif)

pkcs11dllname

Nom de la DLL PKCS#11

dllpath

Chemin d’accès à la DLL PKCS#11. Le chemin est le chemin complet. Il doit contenir aussi le nom de la DLL.

L’un des deux paramètres dllpath ou registry doit obligatoirement être défini.

registry

Nom de la clef en base de registre indiquant le chemin vers le middleware.

L’un des deux paramètres dllpath ou registry doit obligatoirement être défini.

EXEMPLE
[3B:0F:52:4E:42:4F:24:00:23:00:00:00:00:00:00:00:01]
mask="FF:FF:FF:FF:FF:FF:FF:00:FF:00:00:FF:FF:00:00:00:FF"
scname="Nom de la carte"
manufacturer="Nom de la société"
pkcs11dllname="mdlw.dll"
dllpath="C:\chemin\vers\middleware\mdlw.dll"

Section ROAMING

La section ROAMING permet de caractériser le token ou le lecteur de cartes à puce à utiliser lorsque l’option Utiliser le lecteur token/CàP spécifié dans vpnconf.ini est sélectionnée (voir la section « Options PKI » dans le « Guide de l’administrateur » du SN VPN Client Exclusive) ou lorsque l’installation du logiciel a été effectuée avec la propriété SMARTCARDROAMING égale à 2 ou 3 (voir section SMARTCARDROAMING).

Les paramètres à indiquer dans la section ROAMING sont détaillés dans la table suivante :

Paramètre

Signification

SmartCardReader

Nom du lecteur de cartes à puce ou du token à utiliser

SmartCardMiddleware

Fichier dll utilisé pour communiquer avec le token ou à la carte à puce

SmartCardMiddlewareType

Type de middleware.

PKCS#11 est la seule valeur possible pour le paramètre SmartCardMiddlewareType.

SmartCardMiddelwarePath

Chemin vers le middleware incluant le nom du middleware.

L’un des deux paramètres SmartCardMiddlewarePath ou SmartCardMiddlewareRegistry doit obligatoirement être défini.

SmartCardMiddlewareRegistry

Nom de la clef en base de registre indiquant le chemin vers le middleware.

L’un des deux paramètres SmartCardMiddlewarePath ou SmartCardMiddlewareRegistry doit obligatoirement être défini.

NOTE
Les paramètres d’accès à la base de registre doivent respecter la syntaxe suivante :
CLEF_PRIMAIRE:chemin\\vers\\la\\clef\\spécifique:valeur

EXEMPLE
[ROAMING]
SmartCardReader="Nom de la carte"
SmartCardMiddleware="mdlw.dll"
SmartCardMiddlewareType="PKCS#11"
SmartCardMiddlewareRegistry="HKEY_LOCAL_MACHINE:SOFTWARE\\Fournisseur\\Prod\\CK:PKCS#11DLL"