FR 2947126 A1 20101224 FR 1002434 A 20100609 Génération d'une clé de session pour l'authentification et la transmission de données sécurisée. Les exemples de réalisation de la présente invention concernent une génération d'une clé de session, telle qu'elle peut être utilisée par exemple pour une authentification réciproque entre deux partenaires de communication et une transmission de données successive. Une authentification réciproque sécurisée entre deux partenaires de communication, tels que par exemple deux terminaux d'abonné sous forme d'un appareil de lecture et d'une carte de données sans contact, peut, dans un procédé cryptographique symétrique être réalisée par exemple par un soi-disant procédé `Challenge Response' (soit approximativement: procédé de réponse de défi), tel que par exemple un procédé `Challenge Response' à deux ou trois directions. Un procédé `Challenge Response' est un procédé d'authentification d'un partenaire de communication sur base de connaissance. Un partenaire de communication établit une mission (en anglais, challenge), que l'autre doit résoudre (en anglais, response), pour prouver qu'il connaît une certaine information. De tels procédés sont en général susceptibles d'attaques par canal latéral, telles que par exemple DPA (Differential Power Analysis), EMA (Electro-Magnetic Analysis), etc. C'est-à-dire qu'un agresseur peut, par exemple en enregistrant les profils de courant (profils de rayonnement EM) en cas de tentatives d'authentification répétées entre les partenaires de communication, reconstruire à un déploiement relativement faible une clé secrète de l'un des deux terminaux et, de ce fait, en principe cloner ce terminal.35 Les mesures sur le plan technique du matériel pour la protection d'un cryptage à la base de l'authentification, telles que par exemple un cryptage par bloc, sont relativement coûteuses. L'objet de la présente invention consiste donc à proposer un concept pour éviter des attaques par canal latéral qui est amélioré par rapport aux mesures de protection conventionnelles. 10 Cet objectif est résolu par un dispositif de génération d'une clé de session (ko), qui est connue d'un premier partenaire de communication (P; T) et d'un deuxième partenaire de communication (T; P), pour le premier partenaire de 15 communication (P; T), à partir d'une information secrète (kiv) qui peut être déterminée par le premier et le deuxième partenaire de communication, ayant les caractéristiques suivantes: 20 un moyen pour obtenir un nombre aléatoire (rp; rT); un moyen pour calculer la clé de session (ko) à l'aide d'un couplage d'au moins une partie du nombre aléatoire (rp; rT) et une partie de l'information secrète (kiv); et un moyen pour utiliser la clé de session (ko) pour une communication avec le deuxième partenaire de communication. L'invention vise aussi un procédé de génération d'une clé de 30 session (ko), qui est connue d'un premier partenaire de communication et d'un deuxième partenaire de communication, pour le premier partenaire de communication, à partir d'une information secrète (kiv) pouvant être déterminée par le premier et le deuxième partenaire de communication, aux 35 étapes suivantes consistant à: obtenir un nombre aléatoire (rp; rT); 25 calculer la clé de session (ko) à l'aide d'un couplage d'au moins une partie du nombre aléatoire (rp; rT) et une partie de l'information secrète (k1v); et utiliser la clé de session (ko) pour une communication avec le deuxième partenaire de communication. L'invention vise enfin un programme d'ordinateur 10 corespondant. De préférence, le dispositif est caractérisé par le fait que le moyen pour obtenir le nombre aléatoire (rp; rT) est adapté pour déterminer de manière aléatoire ou pseudo-aléatoire au 15 moins une première partie du nombre aléatoire. De préférence, le dispositif est caractérisé par le fait que le moyen pour obtenir le nombre aléatoire est adapté pour obtenir une deuxième partie du nombre aléatoire (rp; rT) du 20 deuxième partenaire de communication. De préférence, le dispositif est caractérisé par le fait que le moyen pour calculer la clé de session (k0) est adapté pour calculer la clé de session (ko) à l'aide d'un couplage non 25 linéaire (NLM) de l'au moins une partie du nombre aléatoire (rp; rT) et de la partie de l'information secrète (k1v) De préférence, le dispositif est caractérisé par le fait que le moyen pour calculer la clé de session (ka) est adapté pour 30 mettre en œuvre le couplage non linéaire (NLM) au moyen d'un registre à décalage rétrocouplé de manière non linéaire qui est chargé de l'au moins une partie (rp) du nombre aléatoire et couple en séquence des bits individuels de la partie de l'information secrète (k1v) avec des cellules du registre à 35 décalage.5 De préférence, le dispositif est caractérisé par le fait que le moyen pour calculer la clé de session (ko) est adapté pour mettre en œuvre le couplage non linéaire (NLM) au moyen d'un registre à décalage rétrocouplé de manière non linéaire qui est chargé de la partie de l'information secrète (k1v) et couple en séquence des bits individuels de l'au moins une partie (rp) du nombre aléatoire avec des cellules du registre à décalage. De préférence, le dispositif est caractérisé par le fait que le moyen pour calculer la clé de session (ko) est adapté pour mettre en œuvre le couplage non linéaire (NLM) au moyen d'un registre à décalage rétrocouplé de manière linéaire qui est défini par un polynôme irréductible (f(X)), de sorte qu'un résultat du couplage non linéaire (NLM) dépende d'une opération modulo d'un couplage multiplicatif de l'au moins une partie du nombre aléatoire (rp; rT) et de la partie de l'information secrète (k1v) avec le polynône irréductible (f (X)) . De préférence, le dispositif est caractérisé par le fait que le moyen pour calculer la clé de session (ko) est adapté pour utiliser une valeur (kg) dérivée du couplage non linéaire (NLM) comme clé pour un cryptage (AES), pour crypter l'information secrète (kiv) ou une valeur dérivée de cette dernière et pour obtenir, sur base du cryptage (AES), la clé de session (ko) . De préférence, le dispositif est caractérisé par le fait que le moyen pour calculer la clé de session (ko) est adapté pour utiliser l'information secrète (kiv) ou une valeur dérivée de cette dernière comme clé pour un cryptage (AES), pour crypter une valeur (kv) dérivée du couplage non linéaire (NLM) et pour obtenir, sur base du cryptage (AES), la clé de session (ko). De préférence, le dispositif est caractérisé par le fait que le cryptage est un cryptage par bloc. De préférence, le dispositif est caractérisé par le fait que 5 le cryptage par bloc se base sur la norme `Advanced Encryption Standard' (AES). De préférence, le dispositif est caractérisé par le fait que le moyen pour obtenir le nombre aléatoire est adapté pour 10 déterminer de manière aléatoire ou pseudo-aléatoire un premier nombre aléatoire (rp) et pour obtenir un deuxième nombre aléatoire (rT) du deuxième partenaire de communication, et dans lequel le moyen pour calculer la clé de session (ko) est adapté pour obtenir la clé de session 15 (ko) sur base d'un deuxième cryptage (AES) d'une valeur (k') dérivée d'un premier cryptage (AES) avec une valeur dérivée du deuxième nombre aléatoire (rT), une valeur (kv) dérivée d'un couplage non linéaire (NLM) du premier nombre aléatoire (rp) et de la partie de l'information secrète (kiv) étant 20 utilisée comme clé pour le premier cryptage (AES), pour crypter l'information secrète (kiv) ou une valeur dérivée de cette dernière et pour obtenir, sur base du premier et du deuxième cryptage (AES), la clé de session (ko). 25 De préférence, le dispositif est caractérisé par le fait que le moyen pour obtenir le nombre aléatoire est adapté pour déterminer de manière aléatoire ou pseudo-aléatoire un premier nombre aléatoire (rp) et pour recevoir un deuxième nombre aléatoire (rT) du deuxième partenaire de 30 communication, et dans lequel le moyen pour calculer la clé de session (k0) est adapté pour calculer la clé de session (ko) sur base d'un cryptage (AES) d'une valeur dérivée de l'information secrète (kiv) avec une clé dérivée du premier (rp) et du deuxième nombre aléatoire (rT). 35 De préférence, le dispositif est caractérisé par le fait qu'une information secrète (k1) peut être déterminée au moyen d'une fonction d'obtention de clé (KD) sur base d'une identifikation spécifique à l'appareil (IV) et d'une clé générale (km). De préférence, le dispositif est caractérisé par le fait que le moyen pour utiliser la clé de session (ko) est adapté pour calculer, pour la communication avec le deuxième partenaire de communication, une partie de contrôle (MAC) pour l'authentification d'un message sur base du message et de la clé de session (ko) ou d'une clé dérivée de cette dernière. De préférence, le dispositif est caractérisé par le fait que le moyen pour utiliser la clé de session (ko) est adapté pour calculer une partie de contrôle (Mi) d'un message à transmettre actuel sur base d'une clé actuelle (ki) dérivée de la clé de session (ko) et d'une clé suivante (ki+1) pour un message à transmettre suivant, la clé suivante (ki+o) dépendant de la clé actuelle (ki) dérivée et du message à transmettre actuel. De préférence, le dispositif est caractérisé par le fait que le moyen pour utiliser la clé de session (ko) est adapté pour utiliser, pour le calcul de la partie de contrôle (Mi), un cryptage par bloc (AES) selon la norme `Advanced Encryption Standard'. De préférence, le dispositif est caractérisé par le fait que le moyen pour utiliser la clé de session (ko) est adapté pour crypter/décrypter, pour la communication avec le deuxième partenaire de communication, des blocs de données (Di) d'un message sur base de la clé de session (ko) ou d'une clé dérivée de cette dernière. De préférence, le dispositif est caractérisé par le fait que le moyen pour utiliser la clé de session (ko) est adapté pour crypter/décrypter une clé actuelle (ki+1) pour un bloc de données à crypter/décrypter actuel (D,+1) sur base d'une clé précédente (ki) pour un bloc de données à crypter/décrypter précédent (Di) et d'une valeur prédéterminée (q). De préférence, le dispositif est caractérisé par le fait que le moyen pour utiliser la clé de session (ko) est adapté pour utiliser, pour le calcul de la clé actuelle (ki+1), un cryptage par bloc (AES) selon la norme `Advanced Encryption Standard'. Le procédé est caractérisé de préférence par : - une clé de session (ko) est générée tant par le premier que par le deuxième partenaire de communication sur base du nombre aléatoire (rp; rT) et de l'information secrète (kiv) - un premier nombre aléatoire (kv) est, lors de l'obtention du nombre aléatoire, déterminé sur base d'un couplage non linéaire (NLM) d'un nombre aléatoire (rp) déterminé de manière aléatoire ou pseudo-aléatoire ou d'une valeur dérivée de ce dernier et d'une partie de l'information secrète (kiv) et un deuxième nombre aléatoire (rT) est obtenu du deuxième partenaire de communication, et dans lequel le calcul de la clé de session (ko) se base sur un cryptage par bloc (AES) d'une valeur dérivée de l'information secrète (kiv) avec une clé dérivée du premier (kg) et du deuxième nombre aléatoire (rT) ; - un premier nombre aléatoire (rp) est, lors de l'obtention du nombre aléatoire, déterminé de manière aléatoire ou pseudo-aléatoire par le premier partenaire de communication et un deuxième nombre aléatoire (rT) est obtenu du deuxième partenaire de communication, et dans lequel le calcul de la clé de session (ko) se base sur un cryptage par bloc (AES) du deuxième nombre aléatoire (rT) avec un cryptage par bloc (AES) de l'information secrète (kiv) avec un couplage non linéaire (NLM) du premier nombre aléatoire (rp) et de la partie de l'information secrète (kiv) ; - une clé de session (k0) est utilisée, dans un procédé d'authentification, comme secret commun pour une authentification entre le premier et le deuxième partenaire de communication ; un procédé de `challenge response' pour une authentification unilatérale ou réciproque au moyen de la clé de session (k0) . Les exemples de réalisation de la présente invention se basent sur l'utilisation d'un procédé à base de protocole qui permet l'utilisation d'une mise en œuvre de cryptage non protégé contre des attaques par canal latéral et, de ce fait, plus économiques. Les exemples de réalisation permettent une dérivation sécurisée contre des attaques par canal latéral d'une soi-disant äsession key ou clé de session. C'est-à-dire que, pour une authentification et sécurisation d'une transmission de données successive entre deux partenaires de communication, il peut être dérivé, d'une äroot key ou clé de base individuelle d'un terminal, une clé unique spécifique à la session (clé de session). La dérivation de la clé de session se base sur l'aide de nombres aléatoires qui, selon des exemples de réalisation, peuvent être échangés entre les deux partenaires de communication. Une mise à disposition des nombres aléatoires par un tiers, un soi-disant tiers fiable (trusted third party), est également envisageable. Ci-après sont expliqués plus en détail des exemples de 30 réalisation de la présente invention, en référence aux figures jointes en annexe, dans lesquelles: la figure 1 est une représentation schématisée d'un protocole cryptographique selon un exemple de réalisation de la 35 présente invention; la figure 2A est un schéma-bloc d'un dispositif de génération d'une clé de session selon un exemple de réalisation de la présente invention; la figure 2B est un schéma-bloc d'un dispositif de génération d'une clé de session selon un autre exemple de réalisation de la présente invention. la figure 2C est un schéma-bloc d'un dispositif de génération 10 d'une clé de session selon encore un autre exemple de réalisation de la présente invention; la figure 3 est un schéma opérationnel d'un procédé de génération d'une clé de session selon un exemple de 15 réalisation de la présente invention; la figure 4 est une représentation d'une évolution d'un protocole d'authentification selon un exemple de réalisation de la présente invention; la figure 5a est une représentation détaillée d'une génération d'une clé de session et d'une authentification réciproque selon un premier exemple de réalisation de la présente invention; la figure 5b est une représentation détaillée d'une génération d'une clé de session et d'une authentification réciproque selon un autre exemple de réalisation de la présente invention; la figure 6 est un schéma d'ensemble d'un protocole d'échange de données selon un exemple de réalisation de la présente invention; 35 la figure 7 est une représentation d'un calcul d'une clé, dérivée de la clé de session, pour une transmission de 20 25 30 données entre les deux partenaires de communication, selon un exemple de réalisation de la présente invention; la figure 8 est une représentation schématisée d'une trame de 5 données à transmettre; la figure 9 est une représentation schématisée d'une génération d'une partie de contrôle pour l'authentification d'un message selon un exemple de réalisation de la présente 10 invention; la figure 10 est une représentation schématisée d'une génération de parties de contrôle successives pour l'authentification de messages successifs selon un exemple de 15 réalisation de la présente invention; la figure 11 est une représentation schématisée d'une trame de données cryptée; 20 la figure 12 est une représentation schématisée d'un cryptage d'une trame de données à transmettre selon un exemple de réalisation de la présente invention; la figure 13 est une représentation schématisée d'un cryptage 25 de trames de données à transmettre successives selon un exemple de réalisation de la présente invention; la figure 14 est une représentation schématisée d'un décryptage d'une trame de données reçue selon un exemple de 30 réalisation de la présente invention; la figure 15A est une représentation schématisée d'un registre à décalage autonome couplé en rétroaction de manière non linéaire selon un exemple de réalisation de la présente 35 invention; et la figure 15B est une représentation schématisée d'un registre à décalage couplé en rétroaction de manière non linéaire avec couplage selon un exemple de réalisation de la présente invention. Les exemples de réalisation de la présente invention permettent une authentification réciproque sécurisée de deux partenaires de communication qui seront désignés ci-après, sans limitation de la généralité, comme terminal ou appareil de lecture T et carte à puce sans contact P (Proximity Integrated Circuit Card, PICC). De manière générale, on peut bien sûr aussi imaginer d'autres configurations des deux partenaires de communication, telles que par exemple des configurations serveur-client. Les cartes de proximité sont en général utilisées à proximité immédiate (Proximity) d'un appareil de lecture, par exemple à des fins de paiement. Il peut s'agir d'une carte à puce passive, en particulier d'une carte à puce passive RFID (RFID = Radio Frequency Identification) qui obtient son énergie de l'appareil de lecture. De telles cartes de proximité peuvent fonctionner par exemple à des fréquences de 125 kHz ou 13.56 MHz. Par ailleurs, les exemples de réalisation de la présente invention permettent une protection d'intégrité de messages échangés entre les deux partenaires de communication T et P après l'authentification. Une protection des messages échangés eux-mêmes, c'est-à-dire une protection de confidentialité, est également possible. Après une authentification réciproque selon un exemple de réalisation, les partenaires de communication peuvent convenir soit d'un mode de transfert de données avec protection d'intégrité, soit d'un mode de transfert de données avec protection de confidentialité. La condition requise est que puisse être déterminée, tant par le premier que par le deuxième partenaire de communication, une information secrète commune, de manière similaire à la soi-disant cryptographie à `Private Key' (= clé privée). La figure 1 illustre une représentation schématisée d'une partie cryptographique d'un protocole de communication selon un exemple de réalisation de la présente invention. La partie cryptographique du protocole se compose de deux parties: une authentification 10 et un transfert de données 12 successif. Pendant l'authentification 10, les deux partenaires de communication P et T s'authentifient mutuellement. Cela peut se faire, selon des exemples de réalisation, dans le cadre d'un protocole de `challenge response' à trois directions. Le résultat de l'authentification 10 est soit une acceptation de l'autre partenaire de communication respectif ou un rejet de l'autre respectif. En cas d'acceptation, il résulte de l'authentification 10 un secret temporaire commun, une soi-disant `session key' ou clé de session ko, et éventuellement quelques informations additionnelles qui sont nécessaires pour le transfert de données 12 successif. Après une authentification 10 fructueuse, le premier partenaire de communication P peut libérer des parties de sa mémoire pour un accès par le deuxième partenaire de communication T. De ce dait, le deuxième partenaire de communication T peut lire et/ou écrire des blocs de données déterminés pour lesquels il possède des droits d'accès appropriés. La lecture/l'écriture de/dans la mémoire non volatile (NVM = Non Volatile Memory) de P peut être effectuée par P. Les commandes à cet effet peuvent toutefois provenir du deuxième partenaire de communication T. Cela vaut en particulier pour les exemples de réalisation dans lesquels le premier partenaire de communication P est une carte à puce sans contact et le deuxième partenaire de communication T est un appareil de lecture. Pour sécuriser le transfert de données 12, il existe, selon les exemples de réalisation, deux mesures: - un mécanisme de protection d'intégrité de données, également appelé mode MAC (MAC = Message Authentication Code). - un mécanisme de protection de confidentialité, appelé mode de cryptage. Selon des exemples de réalisation, un seul des modes de protection peut être utilisé à un moment déterminé pour le transfert de données 12 entre les deux partenaires de communication P et T. La protection du transfert de données 12 est liée à l'authentification 10 par la clé de session ko déterminée pendant l'authentification précédente. - Pour la protection d'intégrité, la clé de session ko est utilisée, selon des exemples de réalisation, comme clé de base, pour générer de soi-disant 'Message Authentication Codes' (= codes d'authentification de message)(MAC), c'est-à-dire des parties de contrôle pour l'authentification d'un message envoyé. - Pour la protection de confidentialité, la clé de session ko est utilisée comme clé de base, pour crypter les paquets de données transmis. Après qu'ait été donné, en référence à la figure 1, un aperçu du concept selon l'invention, des exemples de réalisation de la présente invention seront décrits plus en détail en référence aux autres figures. La figure 2A illustre à cet effet de manière schématisée un dispositif 20 de génération d'une clé de session ko, qui est connue d'un premier partenaire de communication et d'un deuxième partenaire de communication, pour le premier partenaire de communication. La clé de session ko est générée à partir d'une information secrète kiv qui peut être déterminée par le premier et le deuxième partenaire de communication. Le dispositif 20 est à cet effet associé au premier partenaire de communication. Lequel des deux partenaires de communication P et T considérés ici est désigné comme premier ou deuxième partenaire de communication est totalement sans importance. Le dispositif 20 comporte un moyen 22 pour obtenir un nombre aléatoire r. Au moins une partie rp ou rT du nombre aléatoire r peut être alimentée vers un moyen 24 de calcul de la clé de session ko à l'aide d'un couplage de l'au moins une partie du nombre aléatoire et d'une partie de l'information secrète klv. Pour obtenir l'information secrète klv, il est prévu un moyen 26. La clé de session ko calculée peut alors être utilisée par un moyen 28 pour une communication avec le deuxième partenaire de communication (non illustré). Pour la communication avec le deuxième partenaire de communication, il est prévu une interface 29 avec une entrée 29a et une sortie 29b. Selon le partenaire de communication dans lequel est installé le dispositif 20 de génération de la clé de session ko, des conditions requises différentes peuvent s'imposer pour les différents blocs ou moyens du dispositif 20. Si le dispositif 20 est installé par exemple dans une carte de proximité P, il est prévu, selon des exemples de réalisation, différentes ressources pour garantir une authentification sécurisée et un transfert de données sécurisé entre P et T. Un schéma-bloc d'un dispositif 20 intégré dans une carte de proximité P est illustré à la figure 2B. Le moyen 26 pour obtenir l'information secrète k1v est, selon cet exemple de réalisation, réalisé pour mettre à disposition une identifikation IV individuelle par puce du premier partenaire de communication, c'est-à-dire donc par exemple de la carte de proximité P, et pour en dériver l'information secrète kiv. Cela peut se faire de manière spécifique au fabricant. Le moyen 22 pour obtenir le nombre aléatoire comprend, selon des exemples de réalisation, un générateur de nombre aléatoire cryptographique RNG comme module de matériel. Par ce dernier peut être générée au moins une partie rp du nombre aléatoire r. Selon un exemple de réalisation, le moyen 24 pour calculer la clé de session ko comprend un module de matériel pour un cryptage ou décryptage. Il peut s'agir d'un cryptage par bloc, en particulier d'un cryptage par bloc selon la norme AES (AES = Advanced Encryption Standard). Le couplage de l'au moins une partie rp du nombre aléatoire et de la partie de l'information secrète kzv peut, du côté d'une carte à puce P sans contact être effectué par un module de matériel NLM. Pour le couplage, il s'agit, selon un exemple de réalisation, d'un couplage ou reproduction non linéaire (NLM = Non Linear Map). Pour un appareil de lecture T, on peut en général se baser sur le fait qu'il se trouve dans un environnement sécurisé contre des attaques. De ce fait, moins de conditions pertinentes en matière de sécurité doivent être imposées pour la mise en œuvre en technique de matériel d'un appareil de lecture. Aussi, purement du point de vue de la construction schématisée, un dispositif 20 de génération de la clé de session ko intégrée du côté d'un appareil de lecture T ne diffère pas d'un dispositif 20 de génération de la clé de session ko inclus du côté d'une carte à puce P. Selon des exemples de réalisation, uniquement l'information secrète kzv est obtenue d'une autre manière du côté de l'appareil de lecture T, d'où il peut y avoir des différences de principe entre les partenaires de communication en ce qui concerne le moyen 26. Cela est illustré à la figure 2C. Du côté d'un appareil de lecture T, le moyen pour obtenir l'information secrète kzv peut être rféalisé de manière à obtenir l'information secrète kzv sur base d'une identifikation IV spécifique à l'appareil de la carte à puce P et d'une clé générale kM. La clé générale kM et l'identifikation IV spécifique à l'appareil peuvent être amenées à la fonction d'obtention de clé KD, pour déterminer klv. Avant d'entrer plus en détail sur un exemple de réalisation d'un procédé de génération d'une clé de session selon l'invention, il sera donné, en référence à la figure 3, un aperçu approximatif des étapes de procédé. Les différentes étapes de procédé peuvent être effectuées par chacun des deux partenaires de communication. Les étapes de procédé peuvent toutefois tout aussi bien se répartir de manière différente sur les deux partenaires de communication. Finalement, il est également imaginable qu'une troisième identité digne de foi effectue les étapes de procédé. Dans une première étape 32 est obtenu un nombre aléatoire r ou une partie de celui-ci. Dans une deuxième étape 34 est calculée la clé de session ko à l'aide d'un couplage d'au moins une partie du nombre aléatoire et d'une partie de l'information secrète klv. Ensuite, dans une troisième étape 36, la clé de session ko calculée est utilisée pour une communication entre les deux partenaires de communication P et T. Pour la descfription détaillée qui suit est utilisée la notation mathématique suivante: L'égalité mathématique de deux expressions x et y est exprimée par 35 x = y, (1) une attribution d'une valeur x à une variable y étant écrite comme y x. (2) Un enchaînement z de deux nombres binaires x et y est z x 1 y. (3) Une addition modulo 2 ou OU exclusif par bit de deux nombres binaires x et y est écrite comme z := x XOR y (4) Un cryptage d'un bloc de données m de 2X bits au moyen d'une clé k de 2y bits est exprimé ci-après selon c := AES(key=k, m), (5) les exemples de réalisation de la présente invention prévoyant un cryptage par bloc, en particulier un cryptage 20 selon la norme AES. Par conséquent, un décryptage est désigné m := AES-1(key=k, c), (6) où il peut s'agir d'un décryptage par bloc selon la norme 25 AES. Un schéma opérationnel de la génération de la clé de session ko et d'une authentification réciproque des deux partenaires de communication P et T selon un exemple de réalisation de la 30 présente invention est illustré dans le schéma de déroulement/séquence à la figure 4. Ci-après sont données, pour chaque étape du côté du premier partenaire de communication P et du deuxième partenaire de 35 communication T, des explications détaillées en tenant compte d'un ordre d'exécution des étapes individuelles. Pour l'exemple de réalisation présenté à l'aide de la figure 4, 10 15 l'ordre décrit des différentes étapes est important. Les étapes sont désignées par P0,P1, n ou T0,T1,...,Tn, P signifiant le premier partenaire de communication, T le deuxième partenaire de communication et les indices n l'ordre dans le temps. Les étapes qui peuvent être exécutées simultanément ou qui peuvent être interchangées pour faciliter une mise en œuvre sont mises en évidence explicitement. Pour une représentation simpifiée, un nom est donné à chaque étape. P1: Génération d'un nombre aléatoire du côté du premier partenaire de communications P: Le générateur aléatoire sur puce RNG peut être mis en marche, pour générer, selon un exemple de réalisation, deux nombres aléatoires rp et Rp. Rp peut, selon les exemples de réalisation, être d'une largeur de 128 bits et être envoyé, comme soi-disant äChallenge ou défi au deuxième partenaire de communication T. Selon un exemple de réalisation, rp a une largeur de 32 bits et peut être utilisé pour calculer la clé de session ko. Rp et rp sont considérés comme étant des nombres binaires à bits aléatoires indépendants et répartis de manière uniforme. Selon un exemple de réalisation, le moyen 22 pour obtenir le nombre aléatoire est donc adapté pour déterminer de manière aléatoire ou pseudo-aléatoire au moins une première partie du nombre aléatoire. P2: Premier message du premier partenaire de communication P au deuxième partenaire de communication T: Selon les exemples de réalisation, le premier partenaire de communication P enchaîne son identification d'appareil IV, la valeur aléatoire de clé de session rp du côté de P et le `challenge' aléatoire Rp du côté de P, pour obtenir un premier message MI qui est transmis au deuxième partenaire de communication T: M := IV I rp I I Rp . C'est-à-dire qu'après l'obtention des nombres aléatoires rp et Rp, rp est transmis, ensemble avec Rp et l'identification spécifique à l'appareil IV, au deuxième partenaire de communication T. P3: Détermination de l'information secrète kiv du côté du premier partenaire de communication P: L'information secrète k1v peut être obtenue du côté de P par des mesures spécifiques au fabricant qui protègent l'information secrète k1v contre des attaques. 15 T4: Génération d'un nombre aléatoire du côté du deuxième Partenaire de communication T: Le moyen 22 pour obtenir le nombre aléatoire ou le générateur de nombres aléatoires RNG du côté du deuxième partenaire de 20 communication T peut être mis en marche, pour obtenir deux nombres aléatoires rT et RT. Selon les exemples de réalisation, RT peut être d'une largeur de 128 bits et servir de ächallenge qui est transmis au premier partenaire de communication P. rT peut, selon les exemples de réalisation, 25 être d'une largeur de 32 bits et être utilisé pour calculer la clé de session ko. RT et rT comportent tous deux des bits aléatoires indépendants et répartis de manière uniforme. T5: Détermination de l'information secrète kiv du côté du 30 deuxième partenaire de communication T: Après une réception du premier message MI du premier partenaire de communication P (étape P2), le deuxième partenaire de communication T peut dériver l'information 35 secrète, c'est-à-dire, la clé secrète individuelle k1v du premier partenaire de communications, par exemple d'une clé générale km ensemble avec l'identification spécifique à 1910 l'appareil IV obtenue au moyen d'une fonction d'obtention de clé KD: k1V :=KD(kM, IV). (14) Une définition de la fonction d'obtention de clé KD peut être spécifique au fabricant et n'a donc pas d'influence sur le protocole selon l'invention. Du côté d'un appareil de lecture T, l'information secrète k1v peut également être déterminée au moyen d'une fonction d'obtention de clé KD sur base d'une clé générale km et d'une identification spécifique à l'appareil IV de la carte à puce P. T6: Calcul de la clé de session ko du côté du deuxième 15 partenaire de communication T: La clé de session ko est calculée à l'aide d'un couplage SK d'au moins une partie du nombre aléatoire et d'une partie de l'information secrète kiv. A cet effet, x = (xo,xl, 20 ...,x127) E GF(2)128 et y = (yo,y1,...,y31) e GF(2)32, GF(2)n signifiant un corps de Galois, donc une quantité avec un nombre fini de 2n éléments, sur lequel sont définies les opérations de base addition, soustraction, multiplication et division. Une fonction 25 EXT: GF(2)128-> GF(2)32 (15) signifie alors généralement une extraction de 32 bits quelconques d'une valeur de 128 bits. Selon les exemples de 30 réalisation, il s'agit de l'extraction des 32 bits à la valeur la plus basse. Par contre, la fonction PAD: GF(2)32-) GF(2)128 (16) 35 désigne un remplissage généralement à volonté d'une valeur de 32 bits, pour obtenir une valeur de 128 bits. C'est-à-dire que PAD désigne une règle de remplissage de bits. Selon les exemples de réalisation, il s'agit d'un remplissage de zéros d'une valeur de 32 bits, pour obtenir une valeur de 128 bits. Selon un exemple de réalisation, le deuxième partenaire de communication T calcule une clé de session ko commune et unique selon ko = SK (kir, rp, rT) . SK signifie un couplage de kiv et d'au moins une partie (rp,rT) d'un nombre aléatoire r sous forme de fonction de calcul de clé de session. Selon un exemple de réalisation, la clé de session peut être calculée comme suit: SK: kp := NLM (EXT (kiv) , rp) , (17) k' := AES (key=PAD (kp) , kiv) , (1 8 ) ko := AES(key=PAD(rT) ,k') . (19) C'est-à-dire que, dans une première sous-étape (Eq. 17), il peut être formé une reproduction ou un couplage non linéaire de 32 bits de l'information secrète kiv et de la valeur aléatoire de 32 bits rp selon kp := NLM (EXT (kir) , rp) , où vaut: NLM: GF(2)32 x GF(2)32- GF(2)32, z = NLM (x, y) (20) c'est-à-dire que, selon les exemples de réalisation, le moyen 24 pour calculer la clé de session ko est adapté pour calculer la clé de session à l'aide d'un couplage non linéaire NLM de l'au moins une partie rp du nombre aléatoire et de la partie EXT(kiv) de l'information secrète kiv. Une tâche du couplage non linéaire NLM est le couplage du secret individuel par puce kiv et du nombre aléatoire accessible publiquement rp, de sorte qu'il ne puisse pas être obtenu d'information relative à kiv au moyen d'une attaque de canal latéral ou DPA. Selon les exemples de réalisation, le secret de 128 bits kiv et la variable aléatoire de 32 bits rp sont combinés pour obtenir une valeur précurseur de clé de session aléatoire de 32 bits kp. La clé de session définitive ko peut être déterminée sur base de la valeur précurseur kp. De manière formelle, le couplage non linéaire peut être défini selon l'Eq. (20). Etant donné que kp est, selon les exemples de réalisation, la seule base aléatoire pour la clé de session ko, il peut, selon l'exemple décrit ici, être généré un maximum de 232 clés de session différentes. Aussi, il suffit d'utiliser uniquement 32 bits de kiv comme entrée pour le couplage non linéaire NLM. Bien entendu, il peut toutefois aussi être utilisé un autre nombre de bits, tel que par exemple 16, 64, 128, etc. Un registre à décalage rétrocouplé de manière non linéaire (NLFSR = Non-Linear Feedback Shift Register) peut être utilisé comme mise en œuvre hautement efficace du couplage non linéaire NLM. Un registre à décalage rétrocouplé de manière non linéaire présente la propriété qu'il maintient un état zéro, c'est-à-dire un étant dans lequel toutes les cellules de registre sont initialisées à zéro. Tout état initial différent de zéro se répétera, par exemple dans le cas de 32 cellules de registre, exactement après 232 - 1 cycles. En d'autres termes, un état du registre à décalage, s'il est à fonctionnement autonome, se répète avec une période de 232-1. Une représentation schématisée d'une possible mise en ouvre d'un registre à décalage rétrocouplé de manière non linéaire selon un exemple de réalisation de la présente invention est donnée à la figure 15A. Tous les contenus des 32 cellules de registre Do à D31 sont alimentés vers la fonction f. Après chaque cycle, un contenu d'une cellule de registre peut être transmis à une cellule de registre voisine, tel qu'indiqué par les flèches dessinées à la figure 15A. C'est-à-dire que le contenu de la cellule de registre Dl est transmis à la cellule de registre DO, le contenu de la cellule de registre D2 est transmis à la cellule de registre Dl, etc. Le résultat de la fonction f est écrit dans la cellule de registre D31, après que celle-ci ait transmis sa valeur précédente à la cellule D30. Un possible calcul du couplage non linéaire NLM au moyen du 5 NLFSR implique, selon un exemple de réalisation, les étapes suivantes: 1. Régler l'état initial du NLFSR: Charger rp[O..31] dans les cellules de registre 10 D[0..31]. 2. Insérer la partie de l'information secrète: La partie de l'information secrète k1v[O..31] est couplée en séquence, selon l'ordre kIv[O], k1v[1], kiv[2], 15 ..., kIv[31] dans le NLFSR, tel que représenté à la figure 15B. Le NLFSR est synchronisé après chaque étape de couplage. C'est-à-dire que l'insertion de la partie k1[0. .31 ] requiert TSIK = 32 cycles. 20 3. Coupler Le NLFSR est synchronisé de manière autonome pour une période TMIx = 64 cycles. C'est-à-dire que rien n'est inséré ou couplé dans le registre pendant cette période TMIx. Après 64 cycles, le contenu de reigstre T[0..31] 25 constitue la valeur précurseur de clé de session kp. Selon un autre exemple de réalisation de la présente invention, le couplage non linéaire NLM peut être réalisé, au lieu d'au moyen d'un registre à décalage rétrocouplé de 30 manière non linéaire, également sur base d'un polynôme irréductible f(X), donc d'un polynôme qui ne peut pas être écrit comme produit de deux polynômes non triviaux. Avec x= (x0 , x1 , . . . , x31) , y= (x0 , y1 , . . . , y31) , z= (z 0 , z 1 , • • . , z31) , z = 35 NLM(x,y) peut être déterminé par exemple selon z31X31 +...+ z1X1 + z0 = (x3iX31 +...+ x1X1 + x0) * (y31X31 +. . . +y1X1 + y0) mod f (X) (21) ou en bref, z = x * y mod f. Etant donné qu'il s'agit ici d'une multiplication dans le corps fini GF(232), NLM(x,NLM(y1,y2)) = NLM(NLM(x,y1),y2) est d'application. C'est pourquoi, une mise en oeuvre de l'Eq. (17) selon rp := NLM(r1 rr2) , (22) k'p := NLM(EXT(k1v) ,r1) , (23) kp := NLM(k'p,r2) (24) peut être sécurisée contre des attaques DPA, pour autant que EXT(k1v) # (0,0,...,0). Selon cet exemple de réalisation, le couplage non linéaire selon l'Eq. (17) est subdivisé en deux couplages non linéaires selon les Eq. (23) et (24). A cet effet, le générateur de nombres aléatoires RNG génère, dans un mode de réalisation alternatif de l'étape P1, trois valeurs aléatoires r1r r2 et Rp. Rp peut, selon les exemples de réalisation, être d'une largeur de 128 bis et sera envoyé comme soi-disant ächallenge ou défi au deuxième partenaire de communication T. r1 et r2 peut être d'une largeur de 32 bits et sont utilisés pour le calcul de la clé de session ko. Rp et r1r r2 sont considérés être des nombres binaires avec des bits aléatoires indépendants et répartis de manière uniforme. Le premier partenaire de communication P calcule rp := NLM (r1 , r2) et mémorise r1 et r2 dans une mémoire temporaire. Une réalisation de NLM avec le polynône irréductible f(X) utilise, selon un exemple de réalisation, principalement un registre à décalage rétrocouplé de manière linéaire (LFSR) qui est défini par le polynôme f(X), ensemble avec un deuxième registre qui contient le premier argument x de la fonction z = NLM(x,y). Le deuxième registre est couplé au LFSR par l'intermédiaire de portes ET et XOR logiques. La valeur z peut être calculée par exemple comme suit: Placer toutes les cellules de registre du LFSR à zéro: Charger les cellules de registre Xi du deuxième registre de la valeur xi (i=0,...,31) 3 Coupler les valeurs y31, y3o,... , yo dans la porte ET pour une période T = 32 cycles, pour coupler y avec x. 4 Après 32 cycles, le contenu de registre du LFSR constitue la valeur z= (zo, z1 , ... , z31 ) C'est-à-dire que le moyen pour calculer la clé de session ko est, selon un exemple de réalisation, adapté pour mettre en oeuvre le couplage non linéaire NLM au moyen d'un registre à décalage rétrocouplé de manière linéaire qui est défini par un polynôme irréductible f(X), de sorte qu'un résultat du couplage non linéaire (NLM) dépende d'une opération modulo d'un couplage multiplicatif de l'au moins une partie du nombre aléatoire et de la partie de l'information secrète k1v par le polynône irréductible f(X) (cf. Eq. 23 en rapport avec l'Eq. 21). A l'aide d'une mise en oeuvre adéquate du couplage non linéaire NLM peut être obtenue une réduction importante de fuites par canal latéral pendant la génération de la clé de session ko - et ce dans une mesure telle que les attaques DPA deviennent pratiquement impossibles, même pour des agresseurs expérimentés. Par ailleurs, le calcul de la clé de session ko peut être acéléré par le couplage non linéaire NLM. Dans une étape suivant le couplage non linéaire NLM, l'information secrète kiv est couplée avec la valeur précurseur de clé de session kp selon l'Eq. (18). Il s'agit ici, pour le couplage AES (.,.), d'un algorithme de cryptage. Selon les exemples de réalisation, il s'agit, pour l'algorithme de cryptage AES, d'un cryptage par bloc ou d'un chiffrage par bloc. En particulier, il peut être utilisé un cryptage par bloc selon la soi-disant `Advanced Encryption Standard' (AES). C'est-à-dire que, selon les exemples de 1 2 réalisation, le moyen 24 pour calculer la clé de session ko est adapté pour utiliser une valeur kp dérivée du couplage non linéaire NLM comme clé pour un cryptage AES, pour crypter l'information secrète kiv ou une valeur dérivée de cette dernière et pour obtenir, sur base du cryptage, la clé de session ko. Selon les exemples de réalisation, il est également possible que seul le premier partenaire de communication P détermine un nombre aléatoire rp, mais toutefois pas le deuxième partenaire de communication T. Dans ce cas, la valeur k' selon l'Eq. (18) résultant du cryptage serait déjà la clé de session. Dans l'exemple de réalisation décrit ici, le cryptage selon l'Eq. (18) peut toutefois être davantage amélioré par le deuxième nombre aléatoire rT en couplant, dans une troisième étape (Eq. 19), le résultat intermédiaire k' avec la deuxième valeur aléatoire rT selon ko:=AES(key=PAD(rT),k') , (22) pour obtenir finalement la clé de session ko commune. Si les Eq. (17) - (19) sont regroupées, le moyen 24 pour calculer la clé de session ko est, selon les exemples de réalisation, adapté pour calculer la clé de session ko sur base de ka = AES (PAD (rT) , (AES (PAD (NLM (EXT (kiv) , rp)) , kiv)) , (23) rp signifiant un premier nombre aléatoire, rT un deuxième nombre aléatoire et kiv l'information secrète, et NLM(',') correspondant au couplage non linéaire, EXT(') à une règle d'extraction, PAD(') à une règle de remplissage de bits et AES(',') à un cryptage par bloc selon la norme `Advanced Encryption Standard'. On peut par ailleurs s'imaginer que les étapes selon les Eq. (18) et (19) soient remplacées par une seule étape de cryptage, par exemple selon ko := AES (key=PAD2 (kp) XOR PAD (rT) , kIv) , la fonction PAD2: GF (2) 32- GF (2) 128 signifiant un remplissage d'une valeur de 64 bits qui résulte d'un dédoublement des 32 bits de la valeur d'entrée y. En particulier, la valeur de 64 bits peut être remplie de zéros. C'est-à-dire que, selon un exemple de réalisation, le moyen 22 pour obtenir le nombre aléatoire est adapté pour déterminer de manière aléatoire ou pseudo-aléatoire un premier nombre aléatoire rp et pour obtenir un deuxième nombre aléatoire rT de l'autre partenaire de communication. Le moyen 24 pour calculer la clé de session ko est adapté pour calculer la clé de session ko sur base d'un cryptage AES d'une valeur dérivée de l'information secrète k1V avec une clé dérivée du premier rp et du deuxième nombre aléatoire rT. Selon un autre exemple de réalisation, le moyen 22 pour obtenir le nombre aléatoire est adapté pour déterminer un premier nombre aléatoire kp sur base d'un couplage non linéaire NLM d'un mombre aléatoire rp déterminé de manière aléatoire ou pseudo-aléatoire ou d'une valeur dérivée de ce dernier et d'une partie EXT (k2V) de l'information secrète kiv et pour obtenir un deuxième nombre aléatoire rT de l'autre partenaire de communication. Le moyen 24 pour calculer la clé de session ko est adapté pour calculer la clé de session ko sur base d'un cryptage AES d'une valeur dérivée de l'information secrète k1V avec une clé dérivée du premier kp et du deuxième nombre aléatoire rT (cf. Eq. 24). (24) (25) T7: Calcul de la réponse du côté du deuxième partenaire de communication T A l'étape T7, le deuxième partenaire de communication T calcule une äresponse ou réponse cp au ächallenge Rp du premier partenaire de communication P, la clé de session de l'étape T6 étant utilisée à cet effet: cp := AES(key=ko, Rp) (26) T8: Deuxième message du deuxième partenaire de communication T au premier partenaire de communication P A l'étape T8 sont enchaînés du côté du deuxième partenaire de 15 communication T la Response cp calculée à l'étape T7, la valeur aléatoire rT déterminée du côté du deuxième partenaire de communication T et le challenge aléatoire RT, pour former un deuxième message M2. Ce message M2 est transmis du deuxième partenaire de communication T au premier partenaire 20 de communication P: = cp IrTI IRT (27) Le deuxième partenaire de communication T détermine donc, 25 selon un exemple de réalisation, tout d'abord sur base d'un couplage AES de ko et Rp par l'intermédiaire d'un algorithme cryptographique, une réponse au challenge Rp du premier partenaire de communication P (Eq. 26) et la transmet ensemble avec le deuxième nombre aléatoire rT et la quantité 30 aléatoire RT, au premier partenaire de communication P. P9: Calcul de la clé de session ko du côté du premier partenaire de communication P: 35 Après que le premier partenaire de communication P ait obtenu le deuxième message M2 avec le deuxième nombre aléatoire rT, la clé de session commune peut également être calculée, du M2 : côté du premier partenaire de communication P,.selon ko = SK (kiV,rP,rT), en effectuant, du côté du premier partenaire de communication P, les trois mêmes étapes que les étapes déjà décrites en référence aux Eq. (17) - (19) du deuxième partenaire de communication T: kp = NLM (EXT (kiv) , rp), (28) k' = AES (key=PAD (kp) , kiv), (29) ko = AES (key=PAD (rT) , k') . (30) Les deux premières étapes, c'est-à-dire le calcul de kp et k', peuvent également déjà être réalisées avant la réception du deuxième message M2. Il y a lieu de mentionner à nouveau ici que la troisième étape, c'est-à-dire le calcul de ko selon l'Eq. (30) ne doit être effectuée que lorsque le deuxième nombre aléatoire rT est déterminé, par exemple du côté du deuxième partenaire de communication T. Tel que déjà mentionné plus haut, les exemples de réalisation de la présente invention comprennent également les cas où un nombre aléatoire est uniquement combiné du côté du premier partenaire de communication P ou par un tiers digne de confiance et mis à disposition des partenaires de communication P, T. L'étape selon l'Eq. (30) sert donc à augmenter davantage la sécurité du calcul de clé. Selon l'exemple de réalisation décrit ici, le moyen 22 pour obtenir le nombre aléatoire du côté de P est également adapté pour déterminer de manière aléatoire ou pseudo-aléatorie un premier nombre aléatoire rp et pour obtenir un deuxième nombre aléatoire rT du deuxième partenaire de communication T. Le moyen 24 pour calculer la clé de session ko est adapté pour obtenir la clé de session ko sur base d'un deuxième cryptage (Eq. 30) d'une valeur k' dérivée d'un premier cryptage (Eq. 29) avec une valeur dérivée du deuxième nombre aléatoire rT, une valeur kp dérivée d'un couplage non linéaire (Eq. 28) du premier nombre aléatoire rp et de la partie de l'information secrète kiv étant utilisée comme clé pour le premier cryptage, pour crypter l'information secrète ou une valeur dérivée de cette dernière, et pour obtenir, sur base du premier et du deuxième cryptage, la clé de session ko. Tel qu'il a déjà été décrit plus haut, il est également possible que les étapes selon les Eq. (18) et (19) ou les Eq. (29) et (30) soient remplacées par une seule étape de cryptage, par exemple selon ko := AES (key=PAD2 (kp) XOR PAD (rT) , kIv) . (31) Au cas où NLM se base sur le polynône irréductible f (X) , le calcul de la clé de session ko du côté du premier partenaire de communication P, selon un exemple de réalisation, peut également se faire selon k'p := NLM (EXT (k1v) , r1) , (32) kp := NLM(k'p,r2) (33) ko : = AES (key=PAD2 (kv) XOR PAD (rT) , kI~) . (34) P10: Calcul de la réponse du côté du premier partenaire de communication P: Dans une étape P10, le premier partenaire de communication P 25 calcule, selon un exemple de réalisation, une réponse cT au défi RT du deuxième partenaire de communication T, sur base de la clé de session commune ko qui a été calculée à l'étape P9: 30 cT := AES(key=ko, RT). (35) C'est-à-dire que la clé de session ko est utilisée comme clé pour un cryptage par bloc selon la norme AES, pour crypter le défi RT du deuxième partenaire de communication T et, donc, 35 pour obtenir la réponse cp.20 P11: Troisième message (du premier partenaire de communication P au deuxième partenaire de communication T): Dans une étape P11, le premier partenaire de communication P 5 envoie au deuxième partenaire de communication T la réponse cT calculée à l'étape P10. P12: Vérification de réponse du côté du premier partenaire de communication P: A cet effet est crypté, du côté du premier partenaire de communication P, le défi aléatoire Rp qui a été envoyé au moyen du premier message MI au deuxième partenaire de communication T, à l'aide de la clé de session ko selon 15 cp' = AES (key=ko, Rp), (36) pour obtenir une valeur de comparaison de réponse cp'. Ensuite, la valeur de comparaison de réponse cp' obtenue du 20 côté du premier partenaire de communication P est comparée avec la réponse cp qui a été obtenue par le deuxième partenaire de communication T à l'aide du deuxième message M2. Si cp' = cp, le deuxième partenaire de communication T peut être authentifié fructueusement du côté du premier 25 partenaire de communication P. Autrement, l'authentification est échouée. En cas d'échec de l'authentification, une nouvelle communication entre les deux partenaires de communication P, T doit être arrêtée. L'échec de l'authentification peut être signalé au deuxième partenaire 30 de communication T. T13: Vérification de réponse du côté du deuxième partenaire de communication T: 35 A cet effet est crypté, du côté du deuxième partenaire de communication T, le défi aléatoire RT qui a été envoyé au 10 deuxième partenaire de communication P au moyen du deuxième message M2, à l'aide de la clé de session ko selon cT' = AES (key=ko, RT), (37) pour obtenir une valeur de comparaison de réponse cT'. Ensuite, du côté du deuxième partenaire de communication T, la valeur de comparaison de réponse cT' est comparée avec la réponse cT qui a été obtenue du deuxième partenaire de communication T par le troisième message M3 (étape P11),. Si CT' = CT, le premier partenaire de communication P peut être authentifié fructueusement du côté du deuxième partenaire de communication T. Autrement, l'authentification échoue. En cas d'échec de l'authentification, une nouvelle communication entre les deux partenaires de communication P, T doit être arrêtée. L'échec de l'authentification peut être signalé au premier partenaire de communication P. Une représentation graphique détaillée des exemples de réalisation qui viennent d'être décrits pour le procédé d'authentification, ensemble avec les blocs de matériel/ logiciel y impliqués du côté des deux partenaires de communication P, T, est donnée aux figures 5a et 5b. Après une authentification fructueuse 10 et une génération fructueuse de la clé de session ko, il peut être passé à l'étape 12 de transfert de données entre les deux partenaires de communication P et T. A cet effet, le premier partenaire de communication P peut rendre accessibles des parties de sa mémoire au deuxième partenaire de communication T (éventuellement aussi inversement), de sorte que le deuxième partenaire de communication T puisse lire des blocs de données déterminés pour lesquels il possède des droits d'accès correspondants. De même, T peut écrire des blocs de données déterminés. La lecture ou la programmation de ou dans une mémoire non volatile du premier partenaire de communication P est alors certes provoquée par P lui-même. Le premier partenaire de communication P reçoit toutefois les commandes à cet effet du deuxième partenaire de communication T. La communication ou le transfert de données entre les deux partenaires de communication P et T peut être organisé en trames de données FI, F2, F3, .... qui peuvent être transmises tant de P à T qu'inversement. Pour des raisons de sécurité, il est requis pour chaque trame de données Fi une clé secrète ki comme entrée. Après qu'une trame de données Fi ait été traitée, il peut être généré une nouvelle clé ki+1 qui peut être utilisée pour la trame de données Fi+1 à transmettre suivante. Une première clé secrète kI pour la première trame de données FI à transmettre est dérivée de la clé de session ko. Toutes les trames de données contiennent des paquets de données pertinents pour la sécurité DI, D2, D3,... qui sont échangés entre les deux partenaires de communication P et T. Peu importe la direction dans laquelle les paquets de données sont envoyés. Ils peuvent être indexés selon leur occurrence globale, tel que représenté de manière schématisée et à titre d'exemple à la figure 6. Selon un exemple de réalisation de la présente invention, chaque paquet de données DX contient tout au plus 128 bits, d'autres grandeurs de paquet de données étant bien sûr aussi imaginables. Les paquets de données qui sont envoyés du premier partenaire de communication P au deuxième partenaire de communication T peuvent contenir des données lues de la mémoire de P. Les paquets de données dans l'autre direction, c'est-à-dire de T à p, peuvent contenir des données qui doivent être écrites dans la mémoire de P. En outre, les paquets de données échangés peuvent contenir des ordres de lecture/écriture et/ou des adresses de mémoire des données. Une couche de protocole supérieure (Wrapping Protocol Layer) définit, selon les exemples de réalisation, celles parmi les données de contrôle qui peuvent être envoyées en dehors des paquets de données DX soumis aux mécanismes de protection décrits ici. Les paquets de données peuvent être disposés en trames de données contenant des paquets de données successifs. Tous les paquets de données d'une trame de données sont envoyés dans la même direction, c'est-à-dire soit de T à P, soit inversement, de P à T, et ont un ordre particulier. L'organisation à cet effet est assurée par la couche de protocole supérieure. Les paquets de données transmis pendant le transfert de données 12 peuvent être cryptés, en mode de protection de confidentialité, par exemple au moyen d'un algorithme AES. A cet effet, chaque paquet peut avoir, par exemple, exactement une grandeur de 128 bits. D'autre part, pendant le transfert de données 12, le mode de protection d'intégrité peut également être utilisé, en calculant des codes d'authentification de message (MAC). Dans ce cas, la grandeur des paquets de données peut être inférieure ou égale à 128 bits. Chaque trame de données peut, dans ce cas, comporter un paquet de MAC MI qui ne fait pas partie des paquets de données DI, D2, D3, .. . Tel qu'indiqué de manière schématisée à la figure 6, une première étape 61 de la phase de transfert de données est la dérivation de la première clé secrète kI pour la première trame de données FI à transmettre sur base de la clé de session ko. L'étape 61 est identique tant pour le mode de protection d'intégrité que pour le mode de •protection de confidentialité. Les paramètres d'entrée pour l'étape 61 peuvent, tel que représenté à la figure 7, être la clé de session ko, ainsi que les deux défis aléatoires Rp et RT qui ont été générés pendant la phase d'authentification 10 tant par le premier partenaire de communication P que par le deuxième partenaire de communication T. Selon un exemple de réalisation, la première clé ki peut être calculée selon ki := AES(key = Rp; ko XOR RT) , (38) 5 tel que représenté graphiquement à la figure 7a. C'est-à-dire que la valeur de défi Rp peut être utilisée comme clé pour un cryptage AES, pour crypter un couplage XOR de la valeur de défi RT et de la clé de session ko et pour obtenir, sur base 10 rend du cryptage AES, la première clé dérivée ki. Selon un autre exemple de réalisation, la prfemière clé kl peut également être calculée selon 15 k1 := AES(key = Rp; ko XOR RT) XOR (ko XOR RT) , (39) tel que le montre graphiquement la figure 7b. En mode de protection d'intégrité, chaque trame de données Fi 20 peut être pourvue d'une partie de contrôle (MAC) Mi pour l'authentification de la trame de données, la partie de contrôle Mi étant générée au moyen d'une clé ki correspondante. Pour la partie de contrôle Mi, il peut s'agit par exemple d'un CBC-MAC (Cipher Block Chaining Message 25 Authentication Code), d'un HMAC (keyed-Hash Message Authentication Code), d'un OMAC (One-key MAC), d'un UMAC (message authentication code based on universal hashing), d'un PMAC (Parallelizable MAC) ou d'un CMAC (Cipher-based MAC). 30 L'ordre des paquets de données DX, DX+l , ... , Dy d'une trame de données Fi est décidée par la partie de contrôle Mi, tel que cela est illustré de manière schématisée à la figure 8. L'émetteur de la trame Fi utilise ki et lés paquets de 35 données DX,DX+l,...,Dy, pour déterminer la partie de contrôle Mi et envoie (DX,. _ , Dy, M�) dans la trame Fi_ C'est-à-dire que le moyen 28 pour utiliser la clé de session ko est, selon les exemples de réalisation, adapté pour calculer, pour la communication avec le deuxième partenaire de communication, une partie de contrôle Mi pour l'authentification d'un message Fi sur base du message et de la clé de session ko ou d'une clé ki dérivée de cette dernière. De la même manière, le récepteur de la trame de données Mi avec le contenu (D,. , . , Dy, Mi) peut être réalisé pour utiliser ki et les paquets de données Dx, Dx+1 , ... , Dy reçus, pour calculer une partie de contrôle qui en résulte. Le récepteur compare la partie de contrôle résultante avec la valeur Mi reçue. Si les deux valeurs sont identiques, le transfert de données entre les deux partenaires de communication peut être continué, autrement le transfert de données doit être arrêté. Le récepteur peut informer l'émetter par une erreur de MAC. Les deux partenaires de communication P et T calculent également la clé ki+1 pour une trame de données Fi+1 à transmettre suivante (voir la figure 6, étapes 62, 63, 64). Selon un exemple de réalisation de la présente invention, la partie de contrôle Mi et la clé suivante ki+1 peuvent être calculées comme suit: h.x := ki, hx+1 := AES(key = hx; Dx) XOR Dx, hx+2 := AES (key = hx+1 ; Dx+1) XOR Dx+1, hx+3 := AES (key = hx+2 ; Dx+2) XOR Dx+2, hy+1 AES(key = hy; Dy) XOR Dy, ki+1 . = hy+1 M' i := AES(key = ki ; ki+1) XOR ki+1 , Mi EXT (Mil) (40) Si la grandeur d'un paquet de données Dx est de moins de 128 bits, le paquet de données Dx correspondant peut être rempli de zéros, pour obtenir une grandeur de 128 bits. Le paquet de données DX rempli peut alors être utilisé comme entrée pour le cryptage AES par bloc et/ou les couplages XOR. La génération de la valeur de contrôle Mi et de la clé 5 suivante ki+1 est à nouveau illustrée graphiquement à la figure 9. Il ressort clairement de la figure 9 que la clé suivante ki+1 est déterminée à partir de la clé précédente ki et des 10 différents paquets de données DX,DX+l,...,Dy de la trame de données Fi. Un premier paquet de données DX est crypté par bloc avec la clé précédente ki, le résultat de ce cryptage par bloc est à nouveau couplé XOR au premier paquet de données DX, le résultat de couplage étant, à son tour, 15 utilisé comme clé pour crypter par bloc le deuxième paquet de données DX+~, pour coupler, à son tour, le résultat de ce cryptage par bloc au deuxième paquet de données DX+1 et pour utiliser, à son tour, le résultat de ce couplage comme clé pour le paquet de données suivant DX+z, etc. 20 La partie de contrôle Mi est formée en utilisant la clé précédente ki comme clé, pour crypter la clé suivante ki+1 selon un cryptage par bloc AES. Le résultat de ce cryptage peut être couplé XOR avec ki+1, pour obtenir la valeur de 25 contrôle MAC Mi. C'est-à-dire que, selon un exemple de réalisation de la présente invention, le moyen 28 pour utiliser la clé de session est adaptée pour calculer une partie de contrôle Mi d'un message à transmettre actuel Fi, sur base d'une clé ki dérivée de la clé de session ko et 30 d'une clé suivante ki+1 pour un message à transmettre suivant Fi+1, la clé suivante ki+1 étant fonction de la clé actuelle dérivée ki et du message à transmettre actuel Fi. La figure 10 illustre un déroulemet d'ensemble du mode de 35 protection d'intégrité pour deux trames de données à transmettre, en commençant par la génération de la première clé kl sur base de la clé de session ko. En mode de protection de confidentialité, chaque trame de données Fi est sécurisée en cryptant les blocs de données DX, pour obtenir des blocs cryptés Ci, la clé ki étant chaque fois utilisée à cet effet. Cette procédure est illustrée de manière schématisée à la figure 11. L'émetteur de la trame de données Fi utilise ki et les paquets de données DX,DX+l,...,Dy, crypte chaque paquet de données Di, pour obtenir un paquet crypté Ci et envoie (Cx,... , Cy) dans la trame de données Fi. Le récepteur de la trame de données Fi avec (CX, Cy) utilise également la clé ki et les CX,...,Cy cryptés, pour récupérer les paquets DX,DX+1,...,Dy non cryptés. Les deux partenaires de communication calculent la clé suivante ki+1 pour la trame de données suivante Fi+l. Pour le traitement de messages plus longs, il existe différentes procédures. Les données peuvent tout d'abord être subdivisées en paquets de données DX dont la grandeur est prédéterminée par l'algorithme de cryptage (par exemple 128 bits). Les modes de fonctionnement Electronic Code Book Mode (ECB) et Cipher Block Chaining Mode (CBC) présupposent des paquets de données entiers. Aussi, le dernier paquet de données Dy peut être rempli de données de remplissage (padding). Les paquets de données peuvent ensuite être cryptés successivement. Dans un procédé CBC souvent utilisé, le résultat du cryptage d'un paquet de données, Chiffre (en anglais Cipher) du paquet de données crypté auparavant est couplé ou enchaîné avec le paquet de données suivant. Les calculs de l'émetteur, pour obtenir Ci et ki+1, sont, selon un exemple de réalisation, comme suit: hX := ki, hX AES(key = hx_i ; q) XOR q, CX := AES(key = hX; Dx), hX+1 AES(key = hX; q) XOR q, CX+1 := AES(key = hX+i ; DX+1) , hy := AES(key = hy_I; q) XOR q, Cy AES(key = hy; Dy), ki+1 := hy La valeur q signifie par exemple une valeur de 128 bits qui peut être définie à volonté, mais reste ensuite toutefois fixe. Selon les exemples de réalisation, la grandeur d'un paquet de données DX peut toujours être de 128 bits. Un remplissage avec des zéros, pour obtenir cette grandeur, peut être réalisé par une couche de protocole supérieure. La structure de la génération de clé en mode de protection de confidentialité, qui est représentée graphiquement à la figure 12, est, selon les exemples de réalisation, identique à la génération de clé en mode de protection d'intégrité ou MAC. Une comparaison des figures 9 et 12 montre que, par rapport au mode MAC, Dx,l en mode de protection de confidentialité est uniquement remplacé par la constante q. Cette procédure offre l'avantage qu'il peut ainsi être évité une réduction de ressources de matériel, par exemple sous forme de trajets de contrôle et de données additionnels. Tout comme la figure 10 pour le mode MAC, la figure 13 illustre, pour le mode de protection de confidentialité, un flux de données total pour deux trames de données à transmettre, où il est commencé par la génération de la première clé ki, sur base de la clé de session ko. La figure 14 illustre, de manière analogue à la figure 12, un schéma du décryptage des paquets cryptés CX,...,Cy de la trame de données Fi du côté d'un récepteur de la trame de données. Le calcul des clés ki et ki+1, ainsi que de toutes les clés intermédiaires hx_I, hX, hX+1 , ... entre ces dernières s'effectue de manière identique à celui du côté de l'émtteur, c'est-à-dire selon les Eq. (41). Pour décrypter les paquets cryptés CX, les clés intermédiaires hX déterminées sont (41) utilisées comme clé pour un décryptage par bloc AES-1 inverse au cryptage par bloc AES: hX ki, hX := AES(key = hx_1; q) XOR q, DX AES-' (key = hX; C.) , hX+1 := AES(key = hX; q) XOR q, DX+1 AES-1 (key = hX+1 ; CX+1) , hy := AES(key = hy_1; q) XOR q, Dy := AES-' (key = hy; Cy) , ki+1 := hy (42) Etant donné que les deux partenaires de communication P et T agissent, en général, tant comme émetteur que comme récepteur, le moyen 28 pour utiliser la clé de session est donc, selon les exemples de réalisation, adapté pour crypter ou décrypter une clé actuelle ki+1 pour un bloc de données actuel à crypter ou décrypter Di+1/Ci+1, sur base d'une clé précédente ki pour un bloc de données à cryptes ou décrypter précédent Di/Ci et d'une valeur q prédéterminée. En résumé, les exemples de réalisation de la présente invention visent donc premièrement une authentification réciproque sécurisée de deux partenaires de communication P et T. Selon les exemples de réalisation, un premier partenaire de communication peut être une soi-disant carte de proximité P et le deuxième partenaire de communication un appareil de lecture T correspondant. Deuxièmement, les exemples de réalisation de la présente invention visent à garantir une protection d'intégrité de messages échangés entre les deux partenaires de communication. Troisièmement, selon les exemples de réalisation, il doit également être permis une protection de la confidentialité des messages échangés. Selon les exemples de réalisation, ces deux derniers objectifs s'excluent mutuellement, c'est-à-dire que les partenaires de communication peuvent, après une authentification réciproque sécurisée 10, accorder soit un mode de transfert de données 12 avec protection d'intégrité ou un mode de transfert de données avec protection de confidentialité. Comme condition de base requise, les deux partenaires de communication T et P partagent une information secrète commune klv, selon les réglages d'une cryptographie de clé privée. Selon les exemples de réalisation, il peut être utilisé, pour le cryptage par bloc, l'AES avec une longueur de clé de 128 bits. D'autres algorithmes de cryptage par bloc ainsi que d'autres longueur de clé sont bien sûr également imaginables. Les exemples de réalisation de la présente invention peuvent, de manière inhérente, augmenter la sécurité contre les attaques par canal latéral. De ce fait est possible une réduction de mesures spécifiques au matériel dans un module de cryptage à la base, en particulier un module de matériel AES. Cela peut conduire par exemple à des cartes de proximité de grandeur nettement réduite. En fonction des circonstances, les procédés selon l'invention peuvent être mis en œuvre tant en matériel qu'en logiciel. La mise en œuvre peut avoir lieu sur un support de mémoire numérique, par exemple un DVD, un CD ou une disquette avec des signaux de commande lisibles électroniquement pouvant coopérer avec un système d'ordinateur programmable de sorte que soit réalisé le procédé correspondant. De manière générale, l'invention consiste donc également en un programme d'ordinateur avec un code de programme mémorisé sur un support et lisible en machine pour la réalisation du programme selon l'invention respectif lorsque le programme d'ordinateur est exécuté sur un ordinateur. En d'autres termes, l'invention peut également être réalisée sous forme de programme d'ordinateur pour la réalisation d'un programme pour la génération d'une clé de session lorsque le programme d'ordinateur est exécuté sur un ordinateur. Revendications1. Dispositif (20) de génération d'une clé de session (ko), qui est connue d'un premier partenaire de communication (P; T) et d'un deuxième partenaire de communication (T; P), pour le premier partenaire de communication (P; T), à partir d'une information secrète (k1v) qui peut être déterminée par le premier et le deuxième partenaire de communication, aux caractéristiques suivantes: un moyen (22) pour obtenir un nombre aléatoire (rp; rT); un moyen (24) pour calculer la clé de session (ko) à l'aide d'un couplage d'au moins une partie du nombre aléatoire (rp; 15 rT) et une partie de l'information secrète (kir); et un moyen (28) pour utiliser la clé de session (ko) pour une communication avec le deuxième partenaire de communication. 20 2. Dispositif selon la revendication 1, dans lequel le moyen (22) pour obtenir le nombre aléatoire (rp; rT) est adapté pour déterminer de manière aléatoire ou pseudoaléatoire au moins une première partie du nombre aléatoire. 25 3. Dispositif selon la revendication 2, dans lequel le moyen (22) pour obtenir le nombre aléatoire est adapté pour obtenir une deuxième partie du nombre aléatoire (rp; rT) du deuxième partenaire de communication. 30 4. Dispositif selon l'une des revendications précédentes, dans lequel le moyen (24) pour calculer la clé de session (k0) est adapté pour calculer la clé de session (ko) à l'aide d'un couplage non linéaire (NLM) de l'au moins une partie du nombre aléatoire (rp; rT) et de la partie de l'information 35 secrète (k1v) . 5. Dispositif selon la revendication 4, dans lequel le moyen (24) pour calculer la clé de session (ko) est adapté pour mettre en œuvre le couplage non linéaire (NLM) au moyen d'un registre à décalage rétrocouplé de manière non linéaire qui est chargé de l'au moins une partie (rp) du nombre aléatoire et couple en séquence des bits individuels de la partie de l'information secrète (k1v) avec des cellules du registre à décalage. 6. Dispositif selon la revendication 4, dans lequel le moyen (24) pour calculer la clé de session (ko) est adapté pour mettre en œuvre le couplage non linéaire (NLM) au moyen d'un registre à décalage rétrocouplé de manière non linéaire qui est chargé de la partie de l'information secrète (k1v) et couple en séquence des bits individuels de l'au moins une partie (rp) du nombre aléatoire avec des cellules du registre à décalage. 7. Dispositif selon la revendication 4, dans lequel le moyen (24) pour calculer la clé de session (ko) est adapté pour mettre en oeuvre le couplage non linéaire (NLM) au moyen d'un registre à décalage rétrocouplé de manière linéaire qui est défini par un polynôme irréductible (f(X)), de sorte qu'un résultat du couplage non linéaire (NLM) dépende d'une opération modulo d'un couplage multiplicatif de l'au moins une partie du nombre aléatoire (rp; rT) et de la partie de l'information secrète (kiv) avec le polynône irréductible (f (X)) . 8. Dispositif selon l'une des revendications 4 à 7, dans lequel le moyen (24) pour calculer la clé de session (ko) est adapté pour utiliser une valeur (kg) dérivée du couplage non linéaire (NLM) comme clé pour un cryptage (AES), pour crypter l'information secrète (k1) ou une valeur dérivée de cette dernière et pour obtenir, sur base du cryptage (AES), la clé de session (ko) . 9. Dispositif selon l'une des revendications 4 à 7, dans lequel le moyen (24) pour calculer la clé de session (ko) est adapté pour utiliser l'information secrète (kiv) ou une valeur dérivée de cette dernière comme clé pour un cryptage (AES), pour crypter une valeur (kv) dérivée du couplage non linéaire (NLM) et pour obtenir, sur base du cryptage (AES), la clé de session (ko). 10. Dispositif selon la revendication 8 ou 9, dans lequel le 10 cryptage est un cryptage par bloc. 11. Dispositif selon la revendication 10, dans lequel le cryptage par bloc se base sur la norme `Advanced Encryption Standard' (AES). 15 12. Dispositif selon l'une des revendications précédentes, dans lequel le moyen (22) pour obtenir le nombre aléatoire est adapté pour déterminer de manière aléatoire ou pseudoaléatoire un premier nombre aléatoire (rp) et pour obtenir un 20 deuxième nombre aléatoire (rT) du deuxième partenaire de communication, et dans lequel le moyen (24) pour calculer la clé de session (ko) est adapté pour obtenir la clé de session (ko) sur base d'un deuxième cryptage (AES) d'une valeur (k') dérivée d'un premier cryptage (AES) avec une valeur dérivée 25 du deuxième nombre aléatoire (rT), une valeur (kv) dérivée d'un couplage non linéaire (NLM) du premier nombre aléatoire (rp) et de la partie de l'information secrète (kiv) étant utilisée comme clé pour le premier cryptage (AES), pour crypter l'information secrète (kir) ou une valeur dérivée de 30 cette dernière et pour obtenir, sur base du premier et du deuxième cryptage (AES), la clé de session (ko). 13. Dispositif selon l'une des revendications précédentes, dans lequel le moyen (22) pour obtenir le nombre aléatoire 35 est adapté pour déterminer de manière aléatoire ou pseudoaléatoire un premier nombre aléatoire (rp) et pour recevoir un deuxième nombre aléatoire (rT) du deuxième partenaire decommunication, et dans lequel le moyen (24) pour calculer la clé de session (ko) est adapté pour calculer la clé de session (ko) sur base d'un cryptage (AES) d'une valeur dérivée de l'information secrète (kiv) avec une clé dérivée du premier (rp) et du deuxième nombre aléatoire (rT). 14. Dispositif selon l'une des revendications précédentes, dans lequel l'information secrète (kiv) peut être déterminée au moyene d'une fonction d'obtention de clé (KD) sur base d'une identifikation spécifique à l'appareil (IV) et d'une clé générale (km). 15. Dispositif selon l'une des revendications précédentes, dans lequel le moyen (28) pour utiliser la clé de session (k0) est adapté pour calculer, pour la communication avec le deuxième partenaire de communication, une partie de contrôle (MAC) pour l'authentification d'un message sur base du message et de la clé de session (ko) ou d'une clé dérivée de cette dernière. 16. Dispositif selon la revendication 15, dans lequel le moyen (28) pour utiliser la clé de session (ko) est adapté pour calculer une partie de contrôle (Mi) d'un message à transmettre actuel sur base d'une clé actuelle (ki) dérivée de la clé de session (ko) et d'une clé suivante (ki+l) pour un message à transmettre suivant, la clé suivante (ki+1) dépendant de la clé actuelle (ki) dérivée et du message à transmettre actuel. 17. Dispositif selon la revendication 15 ou 16, dans lequel le moyen (28) pour utiliser la clé de session (ko) est adapté pour utiliser, pour le calcul de la partie de contrôle (Mi), un cryptage par bloc (AES) selon la norme `Advanced Encryption Standard'. 18. Dispositif selon l'une des revendications précédentes, dans lequel le moyen (28) pour utiliser la clé de session(ko) est adapté pour crypter/décrypter, pour la communication avec le deuxième partenaire de communication, des blocs de données (Di) d'un message sur base de la clé de session (k0) ou d'une clé dérivée de cette dernière. 19. Dispositif selon la revendication 18, dans lequel le moyen (28) pour utiliser la clé de session (ko) est adapté pour crypter/décrypter une clé actuelle (ki+1) pour un bloc de données à crypter/décrypter actuel (Di+1) sur base d'une clé précédente (ki) pour un bloc de données à crypter/décrypter précédent (Di) et d'une valeur prédéterminée (q). 20. Dispositif selon la revendication 18 ou 19, dans lequel le moyen (28) pour utiliser la clé de session (ko) est adapté pour utiliser, pour le calcul de la clé actuelle un cryptage par bloc (AES) selon la norme `Advanced Encryption Standard'. 21. Procédé de génération d'une clé de session (ko), qui est connue d'un premier partenaire de communication et d'un deuxième partenaire de communication, pour le premier partenaire de communication, à partir d'une information secrète (k1v) pouvant être déterminée par le premier et le deuxième partenaire de communication, aux étapes suivantes consistant à: obtenir (32) un nombre aléatoire (rp; rT); calculer (34) la clé de session (ko) à l'aide d'un couplage 30 d'au moins une partie du nombre aléatoire (rp; rT) et une partie de l'information secrète (k1v); et utiliser (36) la clé de session (ko) pour une communication avec le deuxième partenaire de communication. 22. Procédé selon la revendication 21, dans lequel la clé de session (ko) est générée tant par le premier que par le 35deuxième partenaire de communication sur base du nombre aléatoire (rp; rT) et de l'information secrète (kiv) 23. Procédé selon la revendication 21 ou 22, dans lequel un premier nombre aléatoire (kg) est, lors de l'obtention du nombre aléatoire, déterminé sur base d'un couplage non linéaire (NLM) d'un nombre aléatoire (rp) déterminé de manière aléatoire ou pseudo-aléatoire ou d'une valeur dérivée de ce dernier et d'une partie de l'information secrète (kiv) et un deuxième nombre aléatoire (rT) est obtenu du deuxième partenaire de communication, et dans lequel le calcul de la clé de session (ko) se base sur un cryptage par bloc (AES) d'une valeur dérivée de l'information secrète (kiv) avec une clé dérivée du premier (kv) et du deuxième nombre aléatoire (rT). 24. Procédé selon l'une des revendications 21 à 23, dans lequel un premier nombre aléatoire (rp) est, lors de l'obtention du nombre aléatoire, déterminé de manière aléatoire ou pseudo-aléatoire par le premier partenaire de communication et un deuxième nombre aléatoire (rT) est obtenu du deuxième partenaire de communication, et dans lequel le calcul de la clé de session (ko) se base sur un cryptage par bloc (AES) du deuxième nombre aléatoire (rT) avec un cryptage par bloc (AES) de l'information secrète (kiv) avec un couplage non linéaire (NLM) du premier nombre aléatoire (rp) et de la partie de l'information secrète (kiv). 25. Procédé selon l'une des revendications 21 à 24, dans lequel la clé de session (ko) est utilisée, dans un procédé d'authentification, comme secret commun pour une authentification entre le premier et le deuxième partenaire de communication. 26. Procédé selon l'une des revendications 21 à 25, dans lequel le procédé d'authentification est un procédé de`challenge response' pour une authentification unilatérale ou réciproque au moyen de la clé de session (ko). 27. Programme d'ordinateur pour réaliser le procédé selon 5 l'une des revendications 21 à 26 lorsque le programme d'ordinateur est exécuté sur un ordinateur ou un micro- contrôleur.