• Aucun résultat trouvé

SPN-DPUF : réseau de substitutions et permutations pour un strong DPUF

description du modèle SPN (Substitution-Permutation-Network) Comme vu précédemment, les DPUFs sont de bons candidats pour sécuriser à faible coût un système

4.3 SPN-DPUF : réseau de substitutions et permutations pour un strong DPUF

4.3.1 Schéma et équation logique de la couche de diffusion

Le circuit d’extraction proposé est inspiré du réseau logique XOR [93], avec des cellules élémentaires composés d’une structure à double inverseurs et d’une porte XOR, tel que décrites en section 4.2.1. Nous intégrons dans le circuit une couche de diffusion constitué d’une opération permutation et d’une opération substitution avec SBOXs 4x4. La Figure 38 schématise l’intégration de cette couche entre deux colonnes de nœuds de connexion. Des SBOXs 4x4 substituent la sortie des XORs, puis une permutation réarrange en sortie des SBOXs la séquence binaire.

Figure 38: Couche de diffusion dans le réseau SPN

La couche de diffusion se compose ainsi de trois sous-couches logiques distinctes : la « colonne » XOR, la substitution et la permutation. Ces couches sont respectivement nommées W6XYZ[,! \6XYZ[(et(G6XYZ[. La couche W6XYZ[ alterne le sens de diffusion des bits transmis, selon la parité de la colonne la structure est reliée en entrée soit avec le bit de rangée supérieure soit avec celui de rangée inférieure. En bordure de grille la structure ne reçoit qu’un seul signal d’entrée et est simplifiée (pas de XOR). La couche \6XYZ[ se compose des tables SBOXs 4x4 utilisées pour substituer les bits transmis en sortie des portes XORs. La dernière couche, G6XYZ[, implique simplement le réarrangement des lignes métalliques pour permuter les signaux. Les bits sont alors transmis à la colonne logique suivante dans le réseau du DPUF.

Par la suite, nous étudions un réseau SPN basé sur ces trois couches logiques. Il existe plusieurs modèles de SBOX 4x4 ou de permutations. Nos choix se portent sur les modèles utilisés pour PRESENT car ceux-ci sont conçus pour assurer des propriétés de sécurité. La SBOX 4x4 de PRESENT (figure 35)

Les informations contenues dans le présent document sont la propriété des contractants. Il ne peut être reproduit ou transmis à des tiers sans l'autorisation

expresse des contractants. 72 / 123

est définie et évaluée pour respecter les critères de confusion et de diffusion. En ce qui concerne la permutation celle-ci disperse les 4 bits de sorties des SBOXs 4x4 « équitablement » sur l’ensemble de la séquence de bit transmis. La couche de diffusion ainsi composée est intégrée entre chaque colonne des nœuds de connexion.

Figure 39: Schéma des couches logiques du circuit d'extraction SPN-DPUF

Soit un DPUF avec une grille de nœuds de connexion répartis en m colonnes et n rangées, nous formalisons les expressions logiques des couches avec les notations suivantes :

- l’état des nœuds de connexion est noté ]/L4(avec i indiquant la rangée et j la colonne. - ]/L4= ?(si la connexion est coupée, ]/L4= 1(si la connexion est établie.

- Les n bits du challenge soumis au DPUF sont notés ^/ avec i la position du bit.

- Les bits transmis dans le circuit SPN, en sortie des couches logiques, sont notés '/L4((avec i indiquant la rangée et j la colonne ; '_L4 désigne la séquence complète des bits transmis en sortie des couches. A chaque colonne de nœuds de connexion l’expression des bits transmis est :

*1,(('_L4= G6XYZ[*\6XYZ[*W6XYZ[*'_L4;8,,

La couche G6XYZ[ est définie, avec I`L4 le bit en sortie de la couche, par l’expression suivante : *b,((((I`L4= E/L4

avec(d = *# + 1,DCfghi _(5R(j (%'k$^*/;8R , j 1!; (« trunc » opérateur de troncature) La couche \6XYZ[ est définie, à l’échelle du niddle (bloc de 4 bits) avec E/L4 le bit en sortie de la couche et \lnWR(la table de qui substitue le niddle, par l’expression suivante :

*h,(((E/L4 = \lnWR(*og/;/(JpqgRi:8L/;/(JpqgRi:RiL4,/(JpqgRi:8(

<]&^(0<(^C$%'<#$%&(f&(%<#00&($ = ?(DCfghiL ^M àM fM 0&(^r<00&$K&(fC#%(ê%'&(k$(Dk0%#I0&(f&(h( La couche W6XYZ[ est définie, avec o/L4 le bit en sortie de la couche, par l’expression suivante:

*2,(((o/L4 = sw]w]/L4(yzy{('/;8L4;8|}~•('/L4;8(L €•(‚(•mƒa•„ /L4(yzy{('/:8L4;8|}~•('/L4;8(L €•(‚(ƒa•„

Les informations contenues dans le présent document sont la propriété des contractants. Il ne peut être reproduit ou transmis à des tiers sans l'autorisation

expresse des contractants. 73 / 123

Les couches de diffusion intégrées successivement entre chaque colonne de la grille de nœuds de connexion forment un réseau SPN. Cette couche logique implémente un mécanisme challenge-réponse, un challenge peut être soumis à ce circuit, et une réponse retournée dépendant de l’état des connexions de la structure matérielle, instanciant un strong DPUF.

Ce modèle de couche de diffusion impose des contraintes sur la taille de la colonne de nœuds de connexion, c.à.d. aussi sur le nombre de rangées de la grille de nœuds de connexion. Cela est induit par les spécificités des opérations logiques sur lesquelles reposent le réseau SPN :

- Le nombre de rangées doit être égal à la taille des paires de challenge-réponse (CRP), en l’occurrence pour 128 bits (taille des clés de sécurité) cela impose 128 rangées.

- Le nombre de rangées (et donc la taille des CRPs) doit être un multiple de la taille des SBOXs, en l’occurrence un multiple de 4 pour des SBOXs 4x4.

- Le modèle de permutation choisi impose aussi un nombre de rangées multiple de 4, cela peut toutefois être adapté.

En ce qui concerne le nombre de colonnes ou le taux de connectivité ce modèle n’implique pas de contraintes particulières.

Plusieurs configurations restent toutefois possibles pour le nombre de colonnes, il est également envisageable de réduire la couche de diffusion pour limiter le coût de surface supplémentaire. D’une part la couche de diffusion peut être réduite en terme d’opération, et éventuellement n’être intégrée que pour un nombre réduit de colonnes.

4.3.2 Architecture SPN: Modélisation du réseau et paramètres de configuration

Le réseau logique SPN combiné avec la grille de nœuds de connexion aléatoire forme un strong DPUF, nous nommons cette primitive SPN-DPUF. Dans l’architecture SPN-DPUF plusieurs paramètres sont variables. La Figure 39 indique notamment les paramètres physiques de la structure matérielle aléatoire, la taille de la grille ainsi que la probabilité d’établissement de la connexion (ceux-ci ont déjà étaient énoncés en section 3.4.3 et en Figure 25: Modélisation de la structure matérielle d'un DPUF) : - Le nombre de rangées de nœuds de connexion dans la grille

- Le nombre de colonnes de nœuds de connexion

- La répartition des connexions ouvertes et fermées (éventuellement simplifiée en « taux de connectivité »)

Les dimensions de la grille sont aisément configurables au cours de la spécification des masques de gravure. Les concepteurs doivent simplement tenir compte des contraintes sur le nombre de rangées énoncées en 4.3.1 : multiple de quatre pour être compatible avec l’opération de substitution, suffisamment grand pour obtenir une taille adéquate de paires de challenge-réponse. La probabilité d’établissement de la connexion dépend de la méthode de fabrication choisie, elle est parfois sujette à une variabilité peu maitrisable. Plusieurs paramètres physico-chimiques interviennent en effet selon le processus de fabrication. La loi de probabilité obtenue peut être complexe ; dans notre travail de modélisation du circuit SPN nous simplifions cette problématique en considérant une probabilité de connexion uniforme. Cette variable est assimilable à un simple taux de connectivité.

En ce qui concerne le circuit d’extraction, nous disposons d’une marge de manœuvre sur la spécification et l’intégration de la couche de diffusion substitution-permutation. Premièrement nous considérons la possibilité de limiter le mécanisme de diffusion à une des deux opérations seulement. Cela offre trois configuration distinctes pour la couche de diffusion :

- substitution et permutation combinées (modèle SPN) - restreinte à la substitution (modèle SN)

Les informations contenues dans le présent document sont la propriété des contractants. Il ne peut être reproduit ou transmis à des tiers sans l'autorisation

expresse des contractants. 74 / 123

Deuxièmement, nous introduisons la notion d’itération pour la couche de diffusion, c.à.d. la fréquence des opérations substitution-permutation dans la grille. L’intégration de celles-ci peut être limitée à un certain nombre de colonnes. Nous considérons une itération régulière des opérations entre les colonnes et nous nommons ce paramètre d’itération « sp ». Nous conservons les opérations XORs à chaque colonne, nécessaires pour mixer l’aléa de la structure matérielle avec les bits diffusés dans le réseau. Nous précisons l’expression logique des bits transmis entre chaque colonne du DPUF, dans le cas d’une couche substitution-permutation :

La Figure 39 indique ces deux paramètres supplémentaires, spécifiques au circuit d’extraction sont configurables indépendamment de la grille de connexions. Cela nous amène à un total de cinq paramètres configurables pour le modèle de strong DPUF :

1) nombre de rangées de la grille de nœud de connexion 2) nombre de colonnes de la grille de nœuds de connexion 3) taux de connectivité de la grille

4) niveau d’itération de la couche de diffusion (paramètre nommé sp)