CEI 61508, ou IEC 61508 ou IEC EN 61508 ou NF EN 61508, est une norme internationale générique émanant de la Commission électrotechnique internationale et appliquée dans l'industrie traitant de la sécurité fonctionnelle des systèmes électriques/électroniques/électroniques programmables (E/E/EP) relatifs à la sécurité. En cela elle est une composante de la sûreté de fonctionnement. Elle s'applique pour les systèmes comportant des composants électriques, électroniques ou électroniques programmables Elle détermine quatre niveaux de sécurité : de SIL 1 à SIL 4. Elle est reconnue par le Comité européen de normalisation en électronique et en électrotechnique, d'où la notation EN, depuis 2002. Elle est également reconnue par l'AFNOR et s'intitule « Sécurité fonctionnelle des systèmes électriques/électroniques/électroniques programmables relatifs à la sécurité ».
Comme toute norme générique, elle est indépendante de l’application et a été déclinée pour les fonctions de sécurité dans les applications critiques pour la sécurité des différents domaines de l'industrie des process à celui des transports (ferroviaire...).
La norme repose sur deux principes fondamentaux :
Ce cycle de vie de la sécurité compte seize phases qui peuvent être regroupées en trois blocs :
Toutes les phases concernent la fonction de sécurité du système.
La norme comporte sept parties, :
Les concepts de risque probabiliste pour chaque fonction de sécurité sont au cœur de la norme. Le risque est fonction de la fréquence (ou probabilité) de l'événement dangereux et de la gravité des conséquences de cet événement. Le risque est réduit à un niveau tolérable grâce à l'application de fonctions de sécurité qui peuvent comprendre des E/E/PES, des dispositifs mécaniques associés ou d'autres technologies. De nombreuses exigences s'appliquent à toutes les technologies, mais l'accent est mis sur l'électronique programmable, en particulier dans la partie 3.
La norme CEI 61508 présente les points de vue suivants sur les risques :
Des techniques spécifiques permettent d'éviter les erreurs et les fautes tout au long du cycle de vie. Les erreurs introduites à n'importe quel stade, depuis le concept initial, l'analyse des risques, la spécification, la conception, l'installation, la maintenance jusqu'à la mise au rebut, peuvent compromettre même la protection la plus fiable. La norme CEI 61508 spécifie les techniques à utiliser pour chaque phase du cycle de vie. Les sept parties de la première édition de la norme CEI 61508 ont été publiées en 1998 et 2000. La deuxième édition a été publiée en 2010.
L’analyse de sécurité détermine un niveau de risque appelé SIL, Safety Integrity Level (ou niveau d'intégrité de la sécurité) classé de SIL 1 à SIL 4, SIL 4 correspondant au risque le plus élevé,. En fonction de ce niveau de risques, les activités de développement imposées par la norme sont plus contraignantes. Ainsi pour le matériel, les taux de fiabilité attendus seront plus élevés pour un système classé SIL 4. Quant au logiciel dans le cas d'un système électronique programmable, sa fiabilité n'étant pas quantifiable, les contraintes liées à son processus de développement seront plus fortes avec par exemple un niveau de documentation supérieure, une exigence supérieure sur les tests ou encore une exigence d'indépendance entre les personnes qui conçoivent et celles qui testent afin d'éviter les erreurs dites systématiques.
Cette norme générique est déclinée par métier. L'ISO 26262 dans le secteur automobile hérite ainsi des principes de la CEI 61508. Dans le secteur ferroviaire, les normes EN 50126, EN 50128, EN 50129 héritent de la CEI 61508, quand le secteur nucléaire dispose de la norme CEI 61513. Des normes dites de 'secteur' sont dérivées dans l'industrie des procédés (chimie, pétrochimie) CEI 61511 et dans l'industrie manufacturière, CEI 62061 et dans une moindre manière ISO 13849 partie 1 et 2.
Publié tout d'abord en version de travail (draft) sous le nom de IEC 1508 en 1995 puis officiellement entre 1998 et 2000, la CEI 61508 est en partie fondée sur une norme en version de travail (préparatoire, Vorschlag) allemande, la DIN V19250 publiée en 1994 (Grundlegende Sicherheitsbetrachtungen für MSRSchutzeinrichtungen : aspects fondamentaux de la sécurité à considérer pour l'équipement de contrôle et mesure).
La CEI 61508 comprend un périmètre beaucoup plus large mais reprend en partie le principe d'évaluation du risque et de classes de risques de la norme DIN V19250. Ensuite la norme CEI 61508 a été reconnue dès 2002 par l'organisme européen CENELEC, sous la dénomination IEC EN 61508.
La norme exige que l'évaluation des dangers et des risques soit effectuée sur mesure pour les systèmes : « Le risque lié à l'équipement sous contrôle (equipment under control ou EUC) doit être évalué ou estimé pour chaque événement dangereux déterminé ».
La norme recommande que « des techniques d'analyse qualitative ou quantitative des dangers et des risques puissent être utilisées » et fournit des conseils sur plusieurs approches. L'une d'entre elles, pour l'analyse qualitative des dangers, est un cadre basé sur 6 catégories de probabilité d'occurrence et 4 catégories de conséquences.
Le classement des risques se fait avec des tableaux de ce type.
Catégories de probabilité d'occurrence
| Probabilité d’occurrence | Définition | Taux d’occurrence (défaillance par an) |
|---|---|---|
| Fréquent | Nombreuses fois dans la vie du système | > 10−3 |
| Probable | Plusieurs fois dans la vie du système | 10−3 à 10−4 |
| Occasionnel | Une fois dans la vie du système | 10−4 à 10−5 |
| Rare | Peu probable dans la vie du système | 10−5 à 10−6 |
| Improbable | Très peu probable dans la vie du système | 10−6 à 10−7 |
| Invraisemblable | Ne devrait jamais arriver dans la vie du système | < 10−7 |
Les conséquences si la défaillance survient sont les suivantes :
Catégories de conséquence
| Type de conséquence | Définition |
|---|---|
| Catastrophique | Pertes humaines multiples |
| Critique | Perte d'une vie humaine |
| Marginal | Blessures majeures à une ou plusieurs personnes |
| Insignifiant | Blessures mineures |
En combinant la probabilité d’occurrence et la conséquence dans une matrice, on obtient un niveau de risque.
| Type de conséquence | ||||
|---|---|---|---|---|
| Probabilité d’occurrence | Catastrophique | Critique | Marginal | Insignifiant |
| Fréquent | I | I | I | II |
| Probable | I | I | II | III |
| Occasionnel | I | II | III | III |
| Rare | II | III | III | IV |
| Improbable | III | III | IV | IV |
| Invraisemblable | IV | IV | IV | IV |
On interprète ce tableau de la manière suivante :
Pour diminuer un niveau de risque, on peut donc agir sur sa probabilité d’occurrence ou bien sur la gravité de la conséquence.
Le SIL (Safety Integrity Level) correspond à un niveau de fiabilité attendu par le système, ou la sous-fonction de sécurité concernée, et déterminé par l'analyse de sécurité. Une évaluation des risques permet de déterminer un niveau de SIL cible pour chaque (sous-)fonction de sécurité. Pour toute conception donnée, le SIL atteint est évalué à l'aide de trois mesures :
La mesure de probabilité utilisée à l'étape 3 ci-dessus dépend du fait que le composant fonctionnel sera exposé à une sollicitation « élevée » ou « faible » :
Notez la différence entre fonction et système. Le système qui met en œuvre la fonction peut fonctionner fréquemment (comme un calculateur électronique pour le déploiement d'un airbag), mais la fonction de sécurité (comme le déploiement d'un airbag) peut être sollicitée de manière intermittente.
En fonction du SIL et du niveau de sollicitation du système (faible ou forte), les probabilités de défaillance sont plus contraignantes, SIL 1 étant le plus faible niveau quand SIL 4 est le plus élevé. Un système de niveau SIL4 à faible sollicitation ou sur demande ne doit pas excéder plus d'une demande par an.
| SIL | Faible sollicitation Probabilité moyenne de défaillance de la fonction (sur demande) |
Forte sollicitation Probabilité de défaillance dangereuse (par heure) |
|---|---|---|
| 1 | ≥ 10−2 to < 10−1 | ≥ 10−6 to < 10−5 |
| 2 | ≥ 10−3 to < 10−2 | ≥ 10−7 to < 10−6 |
| 3 | ≥ 10−4 to < 10−3 | ≥ 10−8 to < 10−7 |
| 4 | ≥ 10−5 to < 10−4 | ≥ 10−9 to < 10−8 |
Le respect du SIL garantit ainsi un « niveau de confiance » du système développé car le risque zéro n'existe pas, la norme donnant les activités à effectuer pour atteindre le niveau de SIL visé notamment la mise en place d'une gestion de la qualité et de la configuration. En termes de qualité, la mise en place d'une norme type ISO 9000 est un prérequis dès le SIL 1. La mise en place d'activités démontrant la sécurité est également requise et doit être démontrée à travers un dossier de preuve, safety case, qui établit de manière indépendante de l'équipe de développement que le système livré atteint le SIL requis.
La certification est une attestation délivrée par un tiers certifiant qu'un produit, un processus ou un système répond à toutes les exigences du programme de certification. Ces exigences sont répertoriées dans un document appelé « schéma de certification ». Les programmes de certification CEI 61508 sont gérés par des organismes tiers impartiaux appelés « organismes de certification » (certification bodies ou CB). Ces CB sont accrédités pour fonctionner conformément à d'autres normes internationales, notamment ISO/IEC 17065 et ISO/IEC 17025. Les organismes de certification sont accrédités pour effectuer les travaux d'audit, d'évaluation et d'essai par un « organisme d'accréditation » (accreditation body ou AB). Il existe souvent un AB national dans chaque pays. Ces AB fonctionnent conformément aux exigences de la norme ISO/IEC 17011, qui définit les exigences en matière de compétence, de cohérence et d'impartialité des organismes d'accréditation lors de l'accréditation des organismes d'évaluation de la conformité. Les AB sont membres de l'International Accreditation Forum (IAF) pour les travaux relatifs aux systèmes de gestion, aux produits, aux services et à l'accréditation du personnel, ou de l'International Laboratory Accreditation Cooperation (ILAC) pour l'accréditation des laboratoires. Un accord de reconnaissance multilatérale (Multilateral Recognition Arrangement ou MLA) entre les organismes d'accréditation garantira la reconnaissance mondiale des organismes de certification accrédités. Plusieurs organismes de certification mondiaux ont mis en place des programmes de certification IEC 61508. Chacun d'entre eux a défini son propre système sur la base de la norme IEC 61508 et d'autres normes de sécurité fonctionnelle. Le système répertorie les normes de référence et spécifie les procédures qui décrivent leurs méthodes d'essai, leur politique d'audit de surveillance, leurs politiques de documentation publique et d'autres aspects spécifiques de leur programme. Les programmes de certification IEC 61508 sont proposés à l'échelle mondiale par plusieurs organismes de certification reconnus, notamment exida, Intertek, SGS-TÜV Saar, TÜV Nord, TÜV Rheinland, TÜV SÜD et Underwriters Laboratories (UL).
La norme ISO 26262 est une adaptation de la norme CEI 61508 pour les systèmes électriques/électroniques automobiles. Elle est largement adoptée par les principaux constructeurs automobiles.
Avant le lancement de la norme ISO 26262, le développement de logiciels pour les systèmes automobiles liés à la sécurité était principalement couvert par les directives de la Motor Industry Software Reliability Association (en) (MISRA). Le projet MISRA a été conçu pour développer des lignes directrices pour la création de logiciels embarqués dans les systèmes électroniques des véhicules routiers. Un ensemble de lignes directrices pour le développement de logiciels embarqués dans les véhicules a été publié en . Ce document fournissait la première interprétation par l'industrie automobile des principes de la norme CEI 61508, alors en cours d'élaboration.
Aujourd'hui, la MISRA est surtout connue pour ses directives sur l'utilisation des langages C et C++. MISRA C est devenu la norme de facto pour la programmation C embarquée dans la plupart des industries liées à la sécurité, et est également utilisé pour améliorer la qualité des logiciels même lorsque la sécurité n'est pas la principale préoccupation.
La norme CEI 62279 fournit une interprétation spécifique de la norme CEI 61508 pour les applications ferroviaires. Elle est destinée à couvrir le développement de logiciels pour le contrôle et la protection ferroviaires, y compris les systèmes de communication, de signalisation et de traitement. Les normes EN 50128 et EN 50657 sont des normes CENELEC équivalentes à la norme CEI 62279.
Le secteur de l'industrie des process comprend de nombreux types de processus de fabrication, tels que les raffineries, la pétrochimie, la chimie, la pharmacie, la pâte à papier et le papier, et l'énergie. La norme IEC 61511 est une norme technique qui définit les pratiques en matière d'ingénierie des systèmes qui garantissent la sécurité d'un processus industriel grâce à l'utilisation d'instruments.
La norme IEC 61513 fournit des exigences et des recommandations pour l'instrumentation et le contrôle des systèmes importants pour la sécurité des centrales nucléaires. Elle indique les exigences générales pour les systèmes qui contiennent des équipements câblés conventionnels, des équipements informatiques ou une combinaison des deux types d'équipements. Une liste récapitulative des normes de sécurité spécifiques aux centrales nucléaires est publiée par l'ISO .
La norme IEC 62061 est la mise en œuvre spécifique à la machinerie de l'industrie de la norme IEC 61508. Elle fournit des exigences applicables à la conception au niveau système de tous les types de systèmes de commande électriques liés à la sécurité des machineries, ainsi qu'à la conception de sous-systèmes ou de dispositifs non complexes.
Les logiciels de sécurité écrits conformément à la norme CEI 61508 peuvent nécessiter des tests unitaires, en fonction du niveau de SIL requis. La principale exigence des tests unitaires est de s'assurer que le logiciel est entièrement testé au niveau fonctionnel et que toutes les branches et tous les chemins possibles sont parcourus par le logiciel. Dans certaines applications de niveau de SIL plus élevé, l'exigence en matière de couverture du code logiciel est beaucoup plus stricte et un critère de couverture de code MC/DC est utilisé plutôt qu'une simple couverture de branche. Pour obtenir les informations de couverture MC/DC (couverture de condition/décision modifiée), il faut disposer d'un outil de test unitaire, parfois appelé outil de test de module logiciel.