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.
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.