Vous avez sûrement déjà eu ce moment de solitude où vous devez filer le mot de passe du WiFi, de Netflix ou d'un compte commun à un pote. Et là, comme un mec bourré qui recontacte son ex après une soirée déprimante, vous finissez par l'envoyer par SMS ou l'écrire sur un bout de papier qui finira à la poubelle.
C'est le genre de truc qui rend dingue niveau sécurité, mais bon, dans la vraie vie on le fait tous !
Au début, je cherchais donc juste un moyen simple de faire ça proprement, et je suis tombé sur ShareMyLogin. C'est un petit outil open source très bien pensé qui permet de partager des identifiants (ou n'importe quel secret) via un lien unique, en chiffrant tout directement dans votre navigateur (Chrome, Firefox, peu importe).
Le principe vous le connaissez, c'est du Zero Knowledge. Du coup, comme le chiffrement se fait localement avant l'envoi, le serveur ne reçoit techniquement que des données illisibles. C'est dans l'esprit de ce que proposent des services comme Bitwarden Send ou
LockTransfer pour les pros
, mais ici sous forme d'un petit outil dédié et gratuit.
Côté technique, on retrouve donc bien de l'AES-256-GCM pour le chiffrement et du PBKDF2 (avec 250 000 itérations) pour la dérivation de clé. Concrètement, vous tapez votre secret, l'outil génère un lien, et hop, vous filez ce lien à votre destinataire.
Ce qui est cool, c'est que le code est disponible sur
GitHub
. Je vous invite d'ailleurs à aller jeter un oeil à encrypt.ts et decrypt.ts qui montrent bien que la crypto est gérée côté client. Après, si vous utilisez la version hébergée, vous devrez faire confiance à l'administrateur pour qu'il ne modifie pas le code à la volée. Mais si vous hébergez votre propre instance, ce qui est franchement conseillé si vous êtes à cheval sur la sécu, c'est top !
Bien sûr pour le partage de mots de passe critiques au quotidien, je vous recommande d'utiliser les fonctions de partage de votre gestionnaire de mots de passe habituel. Mais pour un dépannage ponctuel, genre filer le code du digicode à un livreur ou un accès temporaire, ShareMyLogin fera très bien le job.
Le projet propose aussi une API si vous voulez intégrer ça dans vos propres moulinettes.
De quoi des paramètres relèvent-ils juridiquement parlant ? À l’instar des poids, ils ne sont en tout cas ni des logiciels, ni du code source, ni des données.
L’OSI (Open Source Initiative) a étudié cet aspect dans le cadre de ses travaux sur l’intelligence artificielle. Elle avait amorcé un grand tour d’horizon du sujet à l’été 2022. Avec une question centrale : qu’est-ce que l’IA open source ? Ou, sous un autre angle : dans quelle mesure la définition de l’open source (OSD, Open Source Definition) peut-elle s’appliquer à l’IA, tant cette dernière estompe la frontière entre code et données ?
Avec la perspective du règlement européen sur l’intelligence artificielle, la réflexion s’était accélérée. Jusqu’à la publication, le 28 octobre 2024, d’une définition de l’IA open source.
La qualification juridique des paramètres n’y est pas abordée. L’OSI précise toutefois, en annexe, qu’ils peuvent être libres par nature, ou rendus libres par le biais d’une licence ou d’un autre instrument légal.
Trop d’incertitude juridique pour demander d’ouvrir toutes les données
Entre autres débats, il y eut celui sur les données d’entraînement : lesquelles faut-il mettre à disposition pour entrer dans les clous de l’IA open source ?
Certains promeuvent un accès sans contraintes au nom de la reproductibilité, de la transparence et de la sécurité.
L’OSI n’en a pas décidé ainsi. Son argument : une telle approche ferait de l’IA open source une niche, vu l’éventail de cas où le partage de tout le dataset est illégal ou techniquement impossible.
En la matière, l’un des obstacles s’appelle le copyright… dont L’OSI s’est d’ailleurs fixé l’objectif de limiter l’extension. Elle estime qu’il est en tout cas nécessaire de le mettre en balance avec les besoins de la société. Dans cette optique, elle s’est prononcée en faveur, sinon de l’ouverture des données, au moins de la notion d’usage raisonnable. Son président exécutif est allé jusqu’à suggérer de faire sans la notion de copyright pour ce qui est des modèles d’IA. Son postulat : entre vie privée, protection des consommateurs et respect des droits humains, la protection des jeux de données est déjà bien encadrée.
Beaucoup de savoirs autochtones sont protégés par des mécanismes non compatibles avec des cadres ultérieurs régissant l’exclusivité et le partage de droits, ajoute l’OSI. Il existe de surcroît des cas où les conditions d’utilisation de données publiques peuvent apporter à une entité A l’assurance de les exploiter librement, sans pour autant lui permettre de procurer les mêmes garanties à une entité B. Les notions de fair use et de domaine public en sont des illustrations, tant leurs définitions diffèrent entre les pays.
Les éléments à fournir pour être dans les clous de l’IA open source
Dans ce contexte, l’OSI a choisi d’exiger la fourniture d’« informations sur les données ». Impérativement suffisantes pour qu’une personne compétente puisse recréer un système « substantiellement équivalent ».
Les infos en question doivent couvrir :
Le périmètre et les caractéristiques des données d’entraînement
Leur origine (y compris les processus d’obtention et de sélection)
Les procédures d’annotation, de traitement et de filtrage
Des éléments supplémentaires peuvent être exigés en fonction du dataset. En l’occurrence, la liste des données publiques exploitées et/ou de celles obtenues auprès de tierces parties. Avec, dans l’un et l’autre cas, des informations sur la provenance et les conditions d’accès.
Côté code, il faut procurer celui utilisé pour le prétraitement des données, l’entraînement/validation/test et l’inférence. Ainsi que les outils et bibliothèques sous-jacents. On y ajoutera les poids du modèle et autres paramètres de configuration (par exemple, des checkpoints-clés et l’état final de l’optimiseur ; métadonnées de modèle et échantillons de sorties sont facultatifs).
Obligatoire
Facultatif
Données
Informations sur les données
Article de recherche
Rapport technique Data card
Évaluation (+ résultats)
Code
Prétraitement
Entraînement
Validation
Test
Bibliothèques / outils
Inférence lors des benchmarks
Évaluation
Modèle
Architecture
Paramètres
Carte
Outputs
Métadonnées
Le code, plus important que les données ?
D’après l’OSI, cette approche conserve celle de l’OSD. Laquelle n’impose pas une reproductibilité et une transparence totales, mais les permet (builds reproductibles). De plus, on peut toujours formuler davantage d’exigences, comme le Digital Public Goods Standards et les Recommandations GNU pour les distributions systèmes libres le font vis-à-vis de l’OSD.
Au final, l’utilisateur aurait les mêmes possibilités qu’avec des licences permissives. Tout du moins au sens où il pourrait conserver les insights obtenus à partir du code et de la description des données d’entraînement non partageables, puis construire sur cette base en y associant ses propres données non partageables et en rendant disponibles les insights obtenus en continuant l’entraînement.
Plus globalement, nous assure-t-on, le code d’entraînement et de traitement des données apparaît plus important que le dataset dans l’optique d’une modification libre.
En miroir à l’OSD, un système d’IA open source doit garantir quatre libertés :
Utilisation à toutes fins sans avoir à demander d’autorisation
Étude de son fonctionnement et inspection de ses composantes
Modification à toutes fins, y compris des sorties
Redistribution sans restriction d’utilisation
L’OSI recense pour le moment 5 modèles conformes : Amber et CrystalCoder (LLM360), OLMo (AI2), Pythia (EleutherAI) et T5 (Google). D’autres le seraient probablement s’ils modifiaient leurs conditions de licence, ajoute-t-elle. Parmi eux, BLOOM (BigScience), Falcom (TII) et Starcoder2 (BigCode).
Une centaine d’organisations ont adhéré à la définition de l’IA open source. Côté français, il y a l’APELL, le CNLL, Linagora, Probabl.AI, Sopra Steria et code.gouv.fr.
Le bus dérape violemment alors que Deadpool fait rugir le moteur, une cacophonie de cris extraterrestres remplissant l’air. Il jette un coup d’œil en arrière, un sourire maniaque collé sur son visage : « Road trip ! » Mais ce n’était pas n’importe quel bus scolaire, et ce n’étaient pas vos élèves habituels, il s’agissait d’une évasion à grande […]
L’air dans la pièce était lourd d’attente alors qu’Elon Musk montait sur scène, les investisseurs se penchant en avant, prêts à entendre parler du prochain bond en avant de Tesla. Mais au fur et à mesure que la présentation se poursuivait, un malaise subtil a commencé à se répandre dans la foule. La réalité sur […]
L’air crépitait d’incrédulité à mesure que la nouvelle se répandait : la représentante Ilhan Omar avait été attaquée lors d’une réunion publique. Puis vinrent les murmures, amplifiés par les mégaphones des médias sociaux : tout cela était un canular, une mise en scène. Avez-vous déjà remarqué à quelle vitesse certains récits s’imposent, indépendamment des preuves […]
Trump prétend que lors du raid américain au Venezuela qui a permis de capturer le président Nicolás Maduro, les militaires ont utilisé une nouvelle arme secrète « énergétique » qui a rendu les systèmes de défense vénézuéliens inopérants. La réalité est sans doute beaucoup moins impressionnante.
Vous avez déjà galéré à créer un mot de passe qui respecte les 42 règles imposées par un site un peu trop zélé ? Genre au moins 16 caractères, une majuscule, une minuscule, un chiffre, un caractère spécial, et surtout pas le prénom de votre chat ni votre date de naissance ?
C’est le genre de micro-agression qui peut flinguer une matinée ^^.
Heureusement, y’a un dev qui a eu une idée de génie en inversat complètement le problème grâce à la puissance brute des expressions régulières.
Son outil s'appelle RegExp Password Generator et comme son nom l'indique, c'est un générateur de mots de passe qui fonctionne avec des regex. Au lieu de cocher des cases un peu nazes dans une interface classique, vous définissez vos contraintes ligne par ligne sous forme d'expressions régulières.
Par exemple, vous balancez ^.{16,32}$ pour imposer une longueur entre 16 et 32 caractères, [0-9] pour exiger au moins un chiffre, and [A-Z] pour une majuscule. L’outil va alors calculer l’intersection de tous vos patterns pour vous sortir 5 mots de passe aléatoires qui matchent absolument toutes vos règles simultanément.
L'outil repose heureusement sur la bibliothèque TypeScript @gruhn/regex-utils. Pour ceux qui font du code, vous savez que manipuler des regex pour faire des intersections ou des compléments, c'est normalement une purge monumentale que la plupart des langages de programmation ne gèrent pas nativement.
C'est pourquoi ici, la lib fait tout le sale boulot de calcul d'ensemble pour s'assurer que vos contraintes ne sont pas contradictoires. Si vous demandez un truc impossible (genre un mot de passe qui doit être composé uniquement de chiffres ET uniquement de lettres), l’outil vous le dit direct au lieu de mouliner dans le vide.
Et tout tourne en local dans votre navigateur donc c'est cool pour la vie privée, par contre, gardez en tête que la lib supporte un sous-ensemble bien précis de la syntaxe RegExp de JavaScript. Inutile donc tenter des trucs ultra exotiques comme les lookbehinds complexes, l'outil risque de vous renvoyer une erreur.
Le côté pratique, c'est que vos contraintes sont directement encodées dans l'URL. Du coup, vous pouvez bookmarker une config précise pour un site spécifique ou la partager avec vos collègues sans avoir à tout retaper à chaque fois. Un petit compteur affiche même le nombre total de combinaisons possibles avec vos règles, histoire de vérifier que vous n'avez pas créé un mot de passe trop prévisible (ou au contraire, un truc tellement restrictif qu'il n'existe qu'une seule possibilité).
Le chrono défilait, mon équipe était coincée, et l’équipe ennemie nous pressait de toutes parts dans *Highguard*. Juste quand l’espoir semblait perdu, un coéquipier a sorti un skin légendaire, un flex visuel qui a en quelque sorte rallié nos esprits. Il ne s’agissait pas seulement d’esthétique ; il s’agissait de l’avantage psychologique, et Wildlight Entertainment semble […]
L’appel vidéo s’est coupé, encore une fois. Les fonctionnaires français à Paris ont gémi, fixant des écrans figés affichant leurs homologues à Berlin. « Visio », a murmuré quelqu’un, la plateforme de fabrication française destinée à remplacer Zoom et Microsoft Teams, et un symbole puissant des ambitions de souveraineté technologique de la France. Depuis des mois, l’Europe […]