• Sécurité matérielle

    Un point sur l’évolution de la sécurité matérielle


    L’informatique évolue vite, on le savait, mais là je pense qu’il faut faire un point sur la situation, surtout à la veille de la rentrée. On vient de voir arriver de nouveaux disques durs en M2 avec une nouvelle gestion (exit le AHCI, bonjour le NVMe), la DDR4 cadencée à 3200 Mhz (!!!!!!), un UEFI qui remplace le bios, des super processeurs Ryzen, les imprimantes 3D, l’intégration des applis Android dans les ordis (merci Chromium via le webstore et Vladikoff), « l’invitation » qui nous est faite à tout stocker dans le cloud ainsi qu’à y travailler. (à l’éducation nationale également)

    Après les grosses attaques Internet de Mai & Juin, la sécurité web prend un accent aigu . On nous présente le TPM comme une solution majeure de la sécurité car étant une sécurité matérielle dans l’ordi pour la gestion des clefs de cryptage et des mots de passe .Il s’agit en fait d’un vieux monstre du Loch Ness : l’ami Fritz Et même Firefox s’y met avec le FIPS. Pour l’instant c’est une option du Gecko, mais faudra voir quand ils auront changé de moteur.



    Comment donc aborder ces nouveaux ordis ? On va prendre le cas d’un étudiant, ou mieux, d’un artisan en escaliers.(il en fait des droits, des en colimaçon etc.….)
    N’ayant pas de temps à consacrer à l’informatique, il a choisi la solution tout « cloud » et opte donc pour un Chromebook. C’est ce que j’appelle la solution « Minitel »

    Une machine simple, légère, performante, pouvant aussi fonctionner sous Windows10. Ce ne sont rien d’autre que des terminaux. Ces machines sont généralement équipées de disques SSD allant de 16 à 32 Go, mais étrangement démunies de carte SIM ou mieux de eSIM. C’est le smartphone qui fait office toute la journée de point d’accès, même en fin d’après midi après 2 heures de communication avec le comptable. Pour des machines qui jouent le tout internet, c’est un choix surprenant. Ou alors la stratégie est trop fine pour moi.
    Bref, je respecte les choix de ceux qui optent pour ces solutions Minitel et qui s’en remettent aux professionnels et autres institutions (peut-être que l’étudiant le regrettera quand son patron lui sortira sa moyenne d’Anglais pendant sa scolarité alors que sur son CV il a marqué : »Anglais courant »)
    Personnellement, je voulais changer mon vieux portable, mais pour un neuf il faut un gros budget (sup ou égal à 400€), mais j’ai vu que les Minitels sont bien moins chers. J’ ai donc pris un Asus à 190€ avec un disque à 32 Go. J’ai téléchargé l’iso de mon Linux préferé, puis j’ai mis une clef USB dans l’ordi (les CD c’est fini) et j’ai fait :


    #cat monlinux.iso > /dev/sdbX
    #sync


    Ma clef bootable étant écrite en une dizaine de minutes, je l’ai mise sur mon nouveau « Minitel » et …………...je suis allé dans le bios. Là j’ai désactivé tout ce qui est UEFI & TPM car moi je ne veux pas de la solution cloud, n’étant qu’un simple user non emporté dans des besoins collectifs de partage à tous les étages. Puis j’ai installé mon linux préferé tout en gardant la partition UEFI et après avoir fait un backup du W10 (des fois que) envoyé ensuite dans le néant. Bilan le système prend 10 GO et il m’en reste 20 pour mes activités ...suffisant pour moi.


    Finalement, le plus long c’est de télécharger son iso, alors à vos marques.
    Pour les adeptes du Minitel (PC en mode Cloud), quelques commandes utiles:

    -Est-ce que le kernel voit le module TPM ?
    #cat /var/log/messages | grep tpm
    Si oui, vous aurez l'affichage de quelques lignes genre Jeu 24 15:02 vmm kernel : tpm_tis etc....

    -Est ce que le démon est lançé ? (le démon de TPM c'est tcsd)
    #systemctl status tcsd

    Si pas de réponse, installez tcsd dans vos paquetages puis

    #systemctl start tcsd ou bien #tcsd.service
    Vous risquez un message d'erreur si tcsd ne marche pas

    Maintenant installez le paquetage tpm-tools
    puis demandez la version

    #tpm_version
    testez tpm
    #tpm_selftest -l info
    --------------------------------------------------------------------------------------------------------------------------------------
    Quelques extraits du Wiki Arch
    ---------------------------------------------------------------------------------------------------------------------------------------

    Note: Support for TPM 2.0 is still incomplete (both on the kernel and in userspace), and no known workflow for TPM2 exists at the moment.
    Current attempts to run tcsd on a system with TPM 2.0 will result in the following:
    # cat /sys/class/tpm/tpm0/device/description
    TPM 2.0 Device
    # tcsd -f
    TCSD TDDL ioctl: (25) Inappropriate ioctl for device
    TCSD TDDL Falling back to Read/Write device support.
    TCSD TCS ERROR: TCS GetCapability failed with result = 0x1e
    The rest of this article will focus only on TPM 1.2

    Drivers

    TPM drivers are natively supported in modern kernels, but might need to be loaded:
    # modprobe tpm
    Depending on your chipset, you might also need to load one of the following:
    # modprobe tpm_{atmel,bios,infineon,nsc,tis,crb}

    Usage

    TPM is managed by tcsd, a userspace daemon that manages Trusted Computing resources and should be (according to the TSS spec) the only portal to the TPM device driver. tcsd is part of the trousersAUR AUR package, which was created and released by IBM, and can be configured via /etc/tcsd.conf.
    To start tcsd and watch the output, run:
    # tcsd -f
    or simply start and enable tcsd.service.
    Once tcsd is running you might also want to install tpm-toolsAUR which provides many of the command line tools for managing the TPM.
    Some other tools of interest:

    • tpmmanager — A Qt front-end to tpm-tools

    http://sourceforge.net/projects/tpmmanager || tpmmanagerAUR
    • openssl_tpm_engine — OpenSSL engine which interfaces with the TSS API

    http://sourceforge.net/projects/trousers || openssl_tpm_engineAUR[broken link: archived in aur-mirror]
    • tpm_keyring2 — A key manager for TPM based eCryptfs keys

    http://sourceforge.net/projects/trousers || tpm_keyring2AUR[broken link: archived in aur-mirror]
    • opencryptoki — A PKCS#11 implementation for Linux. It includes drivers and libraries to enable IBM cryptographic hardware as well as a software token for testing.

    http://sourceforge.net/projects/opencryptoki || opencryptokiAUR

    Basics

    Start off by getting basic version info:
    $ tpm_version
    and running a selftest:
    $ tpm_selftest -l info
    TPM Test Results: 00000000 ...
    tpm_selftest succeeded

    Securing SSH Keys

    There are several methods to use TPM to secure keys, but here we show a simple method based on simple-tpm-pk11-gitAUR.
    First, create a new directory and generate the key:
    $ mkdir ~/.simple-tpm-pk11
    $ stpm-keygen -o ~/.simple-tpm-pk11/my.key
    Point the config to the key:
    ~/.simple-tpm-pk11/config key my.key
    Now configure SSH to use the right PKCS11 provider:
    ~/.ssh/config Host *
    PKCS11Provider /usr/lib/libsimple-tpm-pk11.so
    It's now possible to generate keys with the PKCS11 provider:
    $ ssh-keygen -D /usr/lib/libsimple-tpm-pk11.so
    Note: This method currently does not allow for multiple keys to be generated and used.

    Troubleshooting

    tcsd.service failed to start

    The tcsd.service service may not start correctly due to permission issues.[1]. It is possible to fix this using:
    $ chown tss:tss /dev/tpm*
    $ chown -R tss:tss /var/lib/tpm

    See also



    Commentaires 3 Commentaires
    1. Avatar de Antoine
      Antoine -
      @Torrent :

      Je vais être franc : pour moi, la qualité de cet article est insuffisante. La moitié n'est qu'un copié-collé d'un wiki en anglais. À la rigueur ça pourrait être un post de forum, mais pour moi il n'y aucun intérêt à mettre ça en l'état sur la page d'accueil d'alionet.

      Je te suggère de demander l'avis d'autres rédacteurs avant de publier.
    1. Avatar de Torrent
      Torrent -
      Ok, compris, il faudrait fermer mon compte et effacer mes poste SVP
    1. Avatar de sogal
      sogal -
      Citation Envoyé par Torrent Voir le message
      Ok, compris, il faudrait fermer mon compte et effacer mes poste SVP
      Faut-il réellement en arriver là pour, au mieux, une simple erreur d'appréciation sur l'emplacement le plus pertinent pour ouvrir un sujet qui au demeurant peut donner matière à d'intéressantes discussions.
      J'ai également un peu surpris de voir ça en tant que news dans la mesure où c'est plus une réflexion que tu nous proposes mais bon, rien qui ne nécessite que tu t'auto-bannisses Si ?