8.8. Gestionnaire CCID IFD pour lecteurs de carte à puce USB externes (Oracle Solaris)

8.8.1. Installation du gestionnaire CCID IFD
8.8.2. Désinstallation du gestionnaire CCID IFD
8.8.3. Problèmes connus

Sun Ray Software prend en charge le gestionnaire CCID IFD v1.3.10 sur les serveurs Sun Ray exécutant Oracle Solaris, qui permet d'accéder aux lecteurs de carte à puce USB externes CCID connectés aux clients Sun Ray et aux ordinateurs client exécutant Oracle Virtual Desktop Client. Le gestionnaire IFD CCID V1.3.10 est une implémentation Sun Ray du gestionnaire de périphérique d'interface (IFD) pour l'API PC/SC-lite API. Lorsqu'il est utilisé en conjonction avec les services de carte à puce fournis par Sun Ray Software, ce gestionnaire CCID IFD permet aux applications et à l'intergiciel PC/SC d'utiliser les lecteurs de carte à puce USB externes CCID sur les clients de bureau.

Reportez-vous à Section 8.6.2, « Configuration des lecteurs de carte à puce USB CCID externes pour l'authentification (Oracle Solaris) » pour plus de détails sur toute la procédure nécessaire.

8.8.1. Installation du gestionnaire CCID IFD

Suivez les instructions ci-après pour installer le gestionnaire CCID IFD.

Note

Pour installer le gestionnaire CCID IFD dans un environnement Oracle Solaris Trusted Extensions, effectuez l'installation en tant qu'utilisateur root à partir d'ADMIN_LOW (zone globale).

  1. Téléchargez et décompressez le gestionnaire CCID IFD.

    Le gestionnaire CCID IFD n'est pas fourni avec la version Sun Ray Software 5.4. Toutefois, vous pouvez télécharger le composant PC/SC-lite 1.3 à partir du Pack 5.1.1 Media, qui comprend la distribution du gestionnaire CCID IFD v1.3.10. Seul le gestionnaire CCID IFD doit être installé. PC/SC-lite est déjà installé avec Sun Ray Software 5.4.

  2. Connectez-vous au serveur Sun Ray en tant que superutilisateur.

  3. Installez le gestionnaire CCID IFD :

    # svcadm disable pcscd
    # /usr/sbin/pkgadd -d . SUNWusb-scrdr
    # svcadm enable pcscd

8.8.2. Désinstallation du gestionnaire CCID IFD

Suivez ces instructions pour supprimer le gestionnaire CCID IFD.

Note

Pour désinstaller le gestionnaire CCID IFD d'un environnement Oracle Solaris Trusted Extensions, effectuez la désinstallation en tant qu'utilisateur root à partir d'ADMIN_LOW (zone globale).

  1. Connectez-vous au serveur Sun Ray en tant que superutilisateur.

  2. Désinstallez le gestionnaire CCID IFD :

    # svcadm disable pcscd
    # /usr/sbin/pkgrm SUNWusb-scrdr
    # svcadm enable pcscd

8.8.3. Problèmes connus

Voici quelques-uns des problèmes connus lors de l'utilisation des lecteurs de carte à puce USB externes.

8.8.3.1. Délais d'énumération PC/SC-lite USB

Actuellement, il y a un délai de quelques secondes avant que les lecteurs USB externes deviennent visibles pour les applications clientes PC/SC-lite. Ce délai survient dès lors qu'une instance PC/SC-lite est démarrée pour une session utilisateur ainsi qu'à l'occasion de tout autre délai requis par le bus USB à ré-énumérer. Plus précisément, un délai d'énumération dans lequel les lecteurs USB externes ne sont pas visibles immédiatement pour une application se produit dans les circonstances suivantes :

  • La première fois qu'une instance de PC/SC-lite est démarrée. C'est-à-dire, lorsqu'une application tente d'accéder à PC/SC-lite à partir d'une session donnée pour la première fois.

  • Chaque fois qu'une instance de PC/SC-lite est automatiquement redémarrée après une auto-interruption de PC/SC-lite en raison d'une période d'inactivité. Cette opération est similaire à celle du premier cas.

  • Chaque fois qu'un événement de mobilité de session se produit, cela provoque un retard dans la visibilité des lecteurs pendant que les lecteurs USB externes sont ré-énumérés dans le client Sun Ray cible. La mobilité de session n'est actuellement pas prise en charge par le gestionnaire IFD CCID pour les lecteurs USB externes des clients Sun Ray.

  • Réinitialisation ou mise sous tension progressive du client Sun Ray dans une session Sun Ray.

8.8.3.2. Le délai d'énumération pose des problèmes à certaines applications.

Certaines applications, telles que la connexion par carte à puce à Windows sur le connecteur Windows, ne sont pas conçues pour s'adapter aux délais d'énumération liés au modèle de connexion à chaud USB. Les applications de ce type ne voient pas les lecteurs qui apparaissent après qu'elles aient initialement analysé la liste des lecteurs PC/SC-lite. En d'autres termes, les lecteurs qui s'affichent en retard risquent d'être ignorés par une application en raison de l'un des scénarios décrits ci-dessus.

Il arrive parfois que les applications utilisent le premier lecteur qu'elles trouvent. Sur les clients Sun Ray, c'est toujours le lecteur interne, sauf s'il a été désactivé à l'aide de la commande suivante :

# utdevadm -d -s internal_smartcard_reader

Une solution supplémentaire consiste vérifier que la liste des lecteurs USB est visible pour l'application avant que celle-ci n'analyse la liste des lecteurs. Une manière de gérer ce problème consiste à empêcher les instances PC/SC-lite d'arriver à expiration à l'issue du délai d'inactivité spécifié précédemment. Vous pouvez désactiver l'expiration de l'instance en modifiant le fichier /etc/smartcard/pcscd-SunRay.conf et en attribuant la valeur -1 au paramètre INSTANCE_TIMEOUT. La valeur d'expédition par défaut est 600 secondes (10 minutes).

Lorsque vous désactivez les délais d'inactivité en modifiant INSTANCE_TIMEOUT, les instances de PC/SC-lite restent opérationnelles jusqu'à ce que la session de l'utilisateur soit interrompue, ce qui peut signifier que de nombreux processus PC/SC-lite peuvent être présents dans la table des processus, à l'aide des ressources système.

Actuellement, nous n'avons pas de données sur l'ampleur de l'impact qui peut provoquer la croissance du nombre de sessions utilisateur dans un système (p. ex., nous avons des données insuffisantes sur la manière dont cela s'adapte). Dans la plupart des cas, ce n'est peut-être pas un problème du tout, à l'exception du fait que la table des processus sera plus encombrée par des processus inactifs que dans le cas contraire.