Les EALs (Evaluation Assurance Level)

Une évaluation selon les Critères Communs aboutit à la remise d'un certificat d'évaluation qui certifie que le SI évalué respecte un certain niveau d'assurance. Ce niveau d'assurance est une note allant de EAL1 à EAL7. EAL1 étant le plus bas niveau de garantie et EAL7 le plus fort.

A chacune de ces notes on peut associer une équivalence aux autres grandes normes de certification (ITSEC - Europe, TCSEC -états Unis et CTCPEC - Canada), et une signification informelle grossière, comme montré dans le tableau suivant :

EAL Niveau de sécurité TCSEC ITSEC CTCPEC
- Niveau minimum de sécurité D E0 T0
EAL1 Tests fonctionnels - - T1
EAL2 Tests structurels C1 E1 T2
EAL3 Tests et vérifications méthodiques C2 E2 T3
EAL4 Conception, tests et vérifications méthodiques C3 E3 T4
EAL5 Conception semi-formelle et tests C4 E4 T5
EAL6 Vérification semi-formelle de la conception générale C5 E5 T6
EAL7 Vérification formelle de la conception générale C6 E6 T7

Remarques :

Chacune de ces notes est associée à un paquet minimum d'exigences d'assurance. En effet, les niveaux d'assurance sont reliés directement, et exclusivement, aux différentes garanties de sécurité. Or, comme au sein de chaque famille, les composants sont triés par ordre croissant de sécurité, on peut alors définir une EAL en fonction de chaque famille de chaque classe. Ainsi, pour une EAL donnée, on peut avoir la liste minimum des composants de chaque famille qui sont nécessaires à son obtention. La figure 2 montre l'intégralité de ces liens.

Figure 2: Tableau récapitulatif des exigences des différentes EALs
\begin{figure}\begin{center}
\begin{tabular}{\vert c\vert c\vert\vert c\vert c\...
... & ASE\_TSS & & & & & & & \\
\hline
\end{tabular}
\end{center} \end{figure}

Dans ce tableau, on voit l'ensemble des classes d'assurance et de leurs familles définies dans les Critères Communs. Pour chacun des niveaux d'EAL, on représente, dans les colonnes 3 à 9 (étiquetées EAL1 à EAL7), le composant minimum de chaque famille devant être présent pour pouvoir postuler au dit EAL. Ce sont les chiffres ce trouvant dans les colonnes, en face de leur classe et famille.

En effet, chaque ligne correspond à une famille différente. Ainsi, par le croisement d'une ligne et d'une colonne, on identifie le composant minimum de la famille donnée qui doit être présent dans le paquet d'assurances d'un SI pour pouvoir postuler à l'EAL de la colonne choisie. Ce composant est matérialisé par son numéro dans la case désignée par l'intersection décrite.

En effet, comme dit plus avant, chaque composant est désigné par un numéro d'identification qui est choisi en fonction de son niveau d'assurance. C'est à dire qu'un composant d'une famille ayant un numéro plus grand qu'un autre composant de la même famille fournira un niveau d'assurance plus important.

De fait, une case vide signifie que, pour l'obtention de l'EAL donnée, la famille associée à cette ligne n'a pas à être représentée dans le paquet des exigences d'assurance.

Prenons l'exemple de la classe ADO (Livraison et exploitation) :

Classe Famille Composants par niveau d'assurance
EAL1 EAL2 EAL3 EAL4 EAL5 EAL6 EAL7
Livraison et ADO_DEL 1 1 2 2 2 3
exploitation ADO_IGS 1 1 1 1 1 1 1

Si l'on voulait postuler à l'EAL4, alors il faudrait au moins avoir dans notre paquet de composants d'assurance les composants ADO_DEL.2 et ADO_IGS.1, alors que pour l'EAL1 on n'aurait besoin que du composant ADO_IGS.1.

On représente en gras les changement entre 2 EALs contiguës. Par exemple, le passage de l'EAL3 à l'EAL4 nécessite la présence du composant ADO_DEL.2 au moins et non plus du composant ADO_DEL.1. C'est pourquoi le 2 de la ligne ADO_DEL et de la colonne EAL4 est en gras.

Par la lecture de ce tableau, nous pouvons voir quels sont les différents paquets nécessaires aux différentes notes. Nous pouvons également constater que certaines des exigences d'assurance prévues par les Critères Communs n'entrent en compte dans aucune des notes (comme par exemple les classes APE - Evaluation d'un profil de protection - et ASE - Evaluation d'une cible de sécurité -, ou la famille ALC_FLR - Support au cycle de vie / Correction d'anomalies).

En fait, il est tout à fait possible de demander à être évalué sur un paquet d'exigences d'assurance qui serait à cheval sur plusieurs EALs. La note finale sera la plus importante dont l'ensemble des composants nécessaires à son obtention sont présents.

Cela dit, si des composants supplémentaires, présents dans la liste, sont présents dans le paquet évalué, alors on dira que le niveau atteint est augmenté.

De même, si des composants supplémentaires, non présents dans la listes, sont présents dans le paquet évalué, alors on dira que le niveau atteint est étendu.

Par exemple, voici le paquet qui, si son évaluation est un succès, correspond à l'EAL1 :
ACM_CAP.1, ADO_IGS.1, ADV_ESP.1, ADV_RCR.1, AGD_ADM.1, AGD_USR.1 et ATE_IND.1.

Si maintenant, on ajoute à ce paquet la famille AVA_VLA.1, alors son évaluation donnera la note EAL1 augmentée.

Enfin, si l'on ajoute au paquet correspondant à l'EAL1, une famille ADV_PERSO définie par nos soins, alors son évaluation donnera la note EAL1 étendue.

Les documents [dlsdt02,AFRT02] montrent deux exemples concrets d'extension des Critères Communs dans le cas d'applications spécialisées.


nicolas.stouls@imag.fr