Inicio Artículos Desarrollos de Sistemas de Seguridad Funcional desde el punto de vista de...

Desarrollos de Sistemas de Seguridad Funcional desde el punto de vista de un fabricante de MCU

Introducción Sistemas

El término de seguridad funcional se ha convertido en un tema de gran interés. Seguridad funcional generalmente significa que un mal funcionamiento de los sistemas operativos o aplicaciones que manejan cualquier tipo de amenaza o incluso accidente, deben evitarse. Por supuesto esto incluye básicamente la salud humana y el medio ambiente, pero también proteger la integridad material puede ser de gran interés. En otras palabras, la seguridad funcional es la parte de la seguridad general que depende de la operación libre de fallos de un sistema. Pero ¿cómo pueden evitarse estos eventos peligrosos? Por un lado, es importante minimizar los riesgos. Actualmente, la minimización del riesgo sólo es razonable hasta cierto punto. Esto es fundamental en el campo de la seguridad funcional para identificar y entender los riesgos potenciales y las causas de los fallos de un sistema. Si idealmente se conocen todas las causas potenciales de fallos y se entienden las consecuencias, es posible definir las contramedidas a utilizar. De este modo los fallos son detectados antes de que ocurra algún evento peligroso y con la reacción necesaria de la seguridad funcional, se inicia el estado seguro.
Los estados seguros pueden ser muy diferentes dependiendo del tipo de aplicación: un calentador puede ser seguro simplemente apagándolo, una barrera de seguridad se debería cerrar, una grúa puede ser quedarse parada en la posición actual y una unidad de control de motor pudiese necesitar un procedimiento específico de apagado. Simplemente mirando las diferencias de estados seguros, nos revela la variedad de aplicaciones de seguridad funcional. Cada aplicación es diferente y tiene sus propias peculiaridades y así posibles causas de fracaso y estados seguros relacionados. Esto hace que el análisis de seguridad funcional sea complicado e interesante al mismo tiempo.

Tendencias Actuales de los Sistemas de Seguridad

Como hemos mencionado al principio, la seguridad funcional es una de las mayores tendencias actuales en muchas industrias. El tema está mucho más presente ahora que hace algunos años y aún crece rápidamente. Actualmente la seguridad funcional es o sería mejor que creciese junto con el uso de tecnologías de información en aplicaciones críticas de seguridad. En realidad, se necesitaban algunas experiencias y lamentablemente también algunos accidentes que llevan al principio de la seguridad funcional en los tempranos años ochenta. Desde entonces hemos tenido un importante y también un constante crecimiento de tecnologías de información y sistemas embebidos que controlan la seguridad relacionada con aplicaciones.
Sin lugar a dudas, la presencia de seguridad funcional en los últimos años es muy diferente para áreas específicas. En algunos sectores especiales de la industria como la industria de procesos, la seguridad funcional se aplica ya hace muchos años. Más tarde se ha necesitado en el área de automoción y hoy la seguridad funcional ya está establecida y es bien conocida, consiguiendo que sistemas embebidos conquisten nuestros coches, ya que cada vez se necesita más seguridad funcional. La situación es similar en todos los sectores donde los humanos son transportados por cualquier clase de dispositivo controlado eléctrico o electrónicamente, no importa si por agua, aire o en ferrocarriles: las vidas humanas dependen del correcto funcionamiento de los sistemas y se tiene que considerar la seguridad funcional. Hoy en día áreas adicionales están acelerando el crecimiento de los dispositivos de seguridad funcional global. Una de las razones es que la seguridad funcional está impulsada por tendencias importantes como la industria 4.0, el Internet de las cosas y los hogares/ edificios inteligentes. Un montón de nuevas aplicaciones de seguridad se presentan en estos sectores debido a la nueva integración de la inteligencia. Paralelamente las aplicaciones existentes de seguridad se vuelven mucho más complejas.
La Industria 4.0 mueve fábricas a grupos de producción inteligentes y flexibles. La separación y encapsulado de los pasos de flujo de trabajo crítico de seguridad continuamente se están reduciendo. Hombre y máquina están trabajando lado a lado o incluso de la mano. Sistemas autónomos de producción descentralizada en tiempo real requieren integrar seguridad funcionalidad para permitir tales colaboraciones persona-máquina, que reduzcan las barreras de seguridad física, como cerraduras de seguridad o vallas de seguridad. Todo que esto conduce a un aumento en seguridad funcional relacionada con las aplicaciones. Debido al Internet de las cosas, sistemas embebidos y generalmente la información tecnológica, están ahora conquistando zonas más amplias de la casa y domótica. Esto aumenta los riesgos de toda esta “inteligencia adicional”.

Normas de Seguridad Funcional de Sistemas

A primera vista hay muchas normas relacionadas con la seguridad funcional (Figura 1). Estos estándares tienen muchas similitudes y a menudo difieren en muy poco, por ejemplo, en definiciones. La norma más importante es la IEC/ EN 61508. Esta norma estándar fundamental funcional de seguridad para equipos E/E/EP (eléctricos, electrónicos o programables electrónicos) las aplicaciones cumplen las normas de seguridad anterior. Este estándar es generalmente la base para el desarrollo de la seguridad funcional y ampliado por las normas específicas del sector industria adicional. Algunos de estos estándares adicionales se refieren directamente como una adaptación o ampliación de la IEC 61508.

Desarrollo de Soluciones de Sistemas de Seguridad

Desarrollar una aplicación de seguridad, especialmente con sistemas embebidos en el interior, puede ser una tarea muy compleja. Históricamente, una gran cantidad de sistemas críticos de seguridad, establecieron la seguridad, simplemente por separación física. En el caso de no presentar separación como un acceso abierto, el sistema completo también puede separarse físicamente de la electricidad. Esto garantiza una muy alta seguridad, pero puede ser muy ineficiente desde el punto de vista de productividad y también caro. El objetivo de aplicaciones de seguridad moderna es combinar una adecuada seguridad funcional con un alto rendimiento del sistema. Un desarrollador de seguridad se enfrenta siempre al compromiso entre seguridad y disponibilidad. Por lo general una mayor disponibilidad y alto rendimiento del sistema hace crecer la complejidad y el esfuerzo necesario de consideraciones de seguridad funcional. Por lo tanto, se debe llevar a cabo en detalle un “análisis de peligro y riesgo”. El objetivo es identificar cada fallo potencial, entender las consecuencias de ello, estimar las probabilidades de su ocurrencia y por último identificar las contramedidas para detectar cualquier ocurrencia de cada riesgo. Para un análisis de seguridad de un sistema se tienen que considerar todos los componentes y sus interacciones.
Esto incluye los componentes de hardware, el diseño de hardware y el software de aplicación. Basado en esto, se puede hacer un análisis de seguridad de las contramedidas de todos los escenarios de fallo crítico. Además, es muy importante obtener una completa comprensión de los tiempos de una aplicación crítica de seguridad. Es obligatorio entender cuando pueden ocurrir los fallos y ajustar los tiempos para sincronizar las contramedidas. Aquí se tiene que evaluar el llamado “proceso de tiempo de seguridad” (PST) relacionado con la aplicación. Este es el tiempo mínimo en que en caso de fallo conduce a un evento peligroso y por lo tanto contramedida necesaria debe actuar muy rápido. Buscando en la variedad de aplicaciones de seguridad el PST puede ser en un menor rango de milisegundos hasta incluso varios segundos. En un análisis de seguridad, siempre el panorama ha de entenderse con todos sus componentes críticos y parcialmente complejos. En los sistemas modernos uno de los componentes de hardware más importantes y complicados son IC´s complejos y especialmente microcontroladores (MCU).

MCU´s en aplicaciones de Sistemas de Seguridad

En casi cada aplicación electrónica moderna se integra alguna especie de MCU. Todos los diferentes tipos de MCU tienen en común que generalmente son la parte compleja de la aplicación. El desarrollo de un sistema o aplicación de seguridad requiere una atención especial a estos dispositivos. Pero ¿pueden los desarrolladores, asesores de seguridad o los programadores entender el comportamiento de un MCU? La plausibilidad comprueba la salida de datos, el uso del watchdog, cálculo de pruebas, notificaciones cíclicas, diversidad de software para el control y muchos más mecanismos de seguridad ampliamente utilizados que se integran para garantizar el correcto funcionamiento de un MCU. También se utilizan simples MCU redundantes que realizar la misma operación; y así comprobar que los datos de salida de ambos son iguales. Esta redundancia de hardware reduce drásticamente el riesgo de un fallo sin comprender el funcionamiento detallado del MCU. Al final, todo esto, son mecanismos de seguridad bastante buenos. Pero lamentablemente desde un punto de vista de análisis de seguridad esto podría no ser suficiente. Para desarrollar un sistema de seguridad de alta calidad, se necesita una comprensión más profunda del sistema ya que es obligatorio para obtener valores realistas de las tasas de fallos y fallos de seguridad. Esto no sólo es importante para desarrollar una aplicación de seguridad no determinista. Además, es obligatorio en cuanto a las diferentes normas de seguridad. Para la cualificación y clasificación de seguridad, se necesitan figuras reales y valores como prueba.

Proveedores de componentes como Proveedores de Sistemas de Seguridad

Es obligatorio un conocimiento detallado del hardware para desarrollar una aplicación de seguridad compleja de alto rendimiento. Esto es aún más cierto para dispositivos complejos como MCU, donde los desarrolladores y expertos externos tienen una visión muy limitada. Es en ese momento donde los proveedores de MCU entrar en juego. De manera óptima, un proveedor de silicio puede proporcionar tasas FIT (fallos en el tiempo) para los bloques funcionales de un MCU. El proveedor de silicio, por lo tanto, tiene que hacer un exhaustivo análisis de seguridad del hardware del MCU. Esto cuesta dinero y tiempo, pero da al cliente, al desarrollador de la aplicación final, la mejor base sólida para realizar un cálculo de probabilidad de fallos. Alternativamente, el proveedor de MCU también puede proporcionar datos brutos, ej. el área del chip de bloques de funciones. Con estos datos y el uso de fórmulas comunes usadas de estándares (por ejemplo, de IEC62380, SN 29500), se pueden estimar los valores de FIT. Además de los valores teóricos, un buen proveedor de MCU también puede registrar datos de campo. Un análisis detallado de los dispositivos defectuosos que se devuelven, una vez instalados, pueden proporcionar información adicional con respecto a fallos permanentes. En este punto, debe tenerse en cuenta que los MCU modernos rara vez muestran daños aleatorios aparte de los causados por condiciones de operación incorrectas. Además del suministro de estos datos relacionados con la seguridad, el proveedor de MCU también puede ofrecer soluciones que respalden el desarrollo final de la aplicación de seguridad.
Esto puede ser un software de autocomprobación como, por ejemplo, el caso de la solución de seguridad de Renesas. Este paquete de soluciones de seguridad es compatible con dispositivos de la serie de Renesas RX. Este software de autodiagnóstico que prueba la CPU, la RAM y la ROM también podría ser desarrollado por ingenieros de software externos. La clave es, que el fabricante del MCU, posee los datos de diseño y, por lo tanto, puede medir la cobertura del software de autodiagnóstico. Insertando fallos lógicos discretos en un MCU real y probar la detección del software de estos fallos lógicos, se puede determinar la cobertura absoluta de un software de autocomprobación. Esto no es posible sin la extensa información del diseño del chip. Los desarrolladores de software de autocomprobación de core externo similares a las primeras versiones del software de autodiagnóstico de Renesas, normalmente no alcanzan una cobertura de diagnóstico suficiente.
Durante el desarrollo del software de auto-test del Core de Renesas, se realizan múltiples pruebas y ciclos de mejora para alcanzar un objetivo de más del 90% de cobertura de fallos. Estos resultados comprobados no sólo ayudan al desarrollo de aplicaciones de seguridad, sino que también facilitan el proceso final de certificación. Este ejemplo muestra, por un lado, que es necesario un gran esfuerzo para desarrollar un software de seguridad funcional altamente eficiente, especialmente un software de autocomprobación. Por otro lado, se señala lo importante que puede ser el soporte de un fabricante de MCU.

Visión de Sistemas

Como dijimos al principio, el desarrollo de sistemas de seguridad es una tarea muy complicada, y en futuras aplicaciones será aún más complejo. Por lo tanto, será muy importante construir una aplicación pieza a pieza con seguridad funcional considerando que los módulos de hardware y software estén preparados. Lo ideal es que las piezas usadas cuenten ya con una certificación. Aunque cada aplicación es diferente, el uso de componentes modulares de hardware y software de seguridad hace que la carga de trabajo sea menos extensa para los desarrolladores de seguridad. En el futuro, los fabricantes de componentes jugarán un papel decisivo, especialmente los proveedores de MCU. Los desarrolladores de aplicaciones necesitaran soporte para crear sofisticados sistemas de seguridad funcional. Además, podrán acelerar el desarrollo y ahorrar un montón en costes de ingeniería.