Obtenga más información sobre el entorno de ejecución confiable RISC-V en un artículo: Keystone

Con respecto a los artículos de ARM TrustZone, he publicado varios artículos superficiales para aprender de usted.

Hoy les daré una descripción general del entorno de ejecución confiable (TEE) de RISC-V: Risc-V Keystone.

superficie

Keystone es un marco de código abierto diseñado para crear entornos de ejecución confiables (TEE) personalizados.

Proporciona una capa confiable altamente programable debajo del sistema operativo que no es confiable y se implementa utilizando los componentes básicos de RISC-V.

Keystone está diseñado para allanar el camino para la personalización de casos de uso de bajo costo al desacoplar los mecanismos de aislamiento de la gestión de recursos, la virtualización y las decisiones sobre límites de confianza.

En comparación con las soluciones TEE existentes, Keystone es más flexible y personalizable. Puede explorar de forma independiente brechas/compensaciones en los diseños existentes, crear prototipos rápidamente de nuevos requisitos funcionales, ciclos de reparación más cortos, adaptarse a modelos de amenazas e implementar implementaciones de uso específico.

Keystone también está diseñado teniendo en cuenta la seguridad, aprovechando las primitivas de hardware para brindar soporte integrado para garantías TEE, como arranque seguro, aislamiento de memoria y autenticación.

¡Echemos un vistazo a continuación!

¿Por qué necesitas Keystone?

Keystone es un marco de código abierto que le permite crear su propio entorno de ejecución confiable (TEE) como bloques de construcción. TEE es donde su código y sus datos pueden protegerse de entornos informáticos inseguros. Los TEE se han desarrollado rápidamente en la última década y muchos proveedores de CPU han lanzado sus propios TEE.

Pero el TEE de cada proveedor tiene sus propias limitaciones, al igual que no se puede cambiar la forma de los bloques de construcción a voluntad. Cuando elige un proveedor de servicios en la nube o un desarrollador de software, es posible que se vean atrapados en las limitaciones de su propio TEE, que puede no satisfacer sus necesidades reales de aplicación.

Keystone es como una nueva caja de bloques de construcción con varios componentes que se pueden utilizar para construir TEE. Puede elegir qué componentes utilizar según sus propias necesidades y crear un TEE que satisfaga sus necesidades. Esto le brinda más flexibilidad para proteger su código y sus datos, ya sea en servidores en la nube, teléfonos móviles, ISP, dispositivos IoT, sensores o tokens de hardware.

Keystone también está diseñado pensando en la seguridad. Tiene un monitor de seguridad (SM) y componentes de tiempo de ejecución (RT). SM utiliza primitivas de hardware para brindar garantías de seguridad, como arranque seguro, aislamiento de memoria y autenticación. RT proporciona módulos funcionales en el enclave, como interfaz de llamada al sistema, soporte libc estándar, administración de memoria virtual y autopaginación. De esta manera, RT puede implementar limpiamente cualquier funcionalidad específica del enclave, mientras que SM aplica la seguridad del hardware.

En general, Keystone es un marco de código abierto más flexible y seguro que le permite crear TEE personalizados para proteger su código y sus datos.

Introducción a Keystone

Un sistema habilitado para Keystone consta de múltiples componentes con diferentes modelos de permisos.

El hardware confiable es un paquete de CPU creado por un proveedor confiable y debe contener un kernel RISC-V estándar compatible con Keystone y una raíz de confianza. El hardware también puede incluir características opcionales como partición de caché, cifrado de memoria, fuentes aleatorias criptográficamente seguras, etc. Security Monitor requiere complementos específicos de la plataforma para admitir funciones opcionales.

Security Monitor (SM) es un software en modo M con un pequeño TCB. SM proporciona una interfaz para gestionar el ciclo de vida de un enclave y aprovechar las funciones específicas de la plataforma. SM aplica la mayoría de las garantías de seguridad de Keystone porque gestiona el límite de aislamiento entre el enclave y el sistema operativo que no es de confianza.

Un Enclave es un entorno aislado de sistemas operativos que no son de confianza y otros enclaves. Cada enclave tiene una región de memoria física privada a la que solo pueden acceder el enclave y el SM. Cada enclave consta de una aplicación eapp de enclave a nivel de usuario y un tiempo de ejecución a nivel de supervisor.

Una aplicación de enclave (eapp) es una aplicación a nivel de usuario que se ejecuta en un enclave. Puede crear una eapp personalizada desde cero o simplemente ejecutar un ejecutable RISC-V existente en Keystone.

El tiempo de ejecución es un software en modo S, que implementa llamadas al sistema, manejo de trampas, administración de memoria virtual y otras funciones.

Características clave

Keystone esun proyecto de código abierto que crea entornos de ejecución confiables (TEE) personalizables basados ​​en RISC-V, adecuados para diversas plataformas y usos. casos.

Nuestro objetivo es construir un enclave de hardware seguro y confiable de código abierto que pueda aplicarse a una variedad de aplicaciones y dispositivos.

Keystone es un marco TEE de código abierto basado en Risc-V. En cualquier procesador Risc-V, solo necesita modificaciones mínimas en el hardware para cumplir con el marco de la plataforma Keystone. es una breve introducción a las características que la CPU Risc-V debe admitir cuando se usa Keystone.

Compatibilidad del conjunto de instrucciones

  • Keystone requiere los tres modos de permisos (M/S/U) para admitir el aislamiento dinámico a nivel de usuario en máquinas Linux.
  • rv64gc-lp64d (modo de direccionamiento virtual Sv39)
  • rv32gc-ilp32d (modo de direccionamiento virtual Sv32)

Keystone requiere los tres modos de permisos (M/S/U) para admitir el aislamiento dinámico a nivel de usuario en máquinas Linux. Esto significa que Keystone puede admitir tres niveles de permisos diferentes: nivel de máquina (M), nivel de sistema (S) y nivel de usuario (U). Estos tres niveles de permiso se pueden utilizar para crear y administrar diferentes tipos de entornos de aislamiento y seguridad.

Keystone también admitedos modos de direccionamiento virtual diferentes, Sv39 y Sv32. Estos modos son parte del sistema de memoria virtual en la arquitectura RISC-V y se utilizan para administrar código y datos en la memoria virtual. Sv39 es un modo de 64 bits que permite ejecutar aplicaciones de 32 bits en sistemas de 64 bits. Y Sv32 es un modo de 32 bits que admite la ejecución de aplicaciones de 32 bits en un sistema de 32 bits.

Tres privilegios de software

RISC-V tiene tres niveles de privilegios de software (en orden creciente de funcionalidad):

  • Modo de usuario (modo U),
  • Modo supervisor (modo S)
  • Modo máquina (modo M).

El procesador sólo puede funcionar en uno de estos modos privilegiados a la vez.

Los niveles de permiso definen lo que puede hacer el software en ejecución durante su ejecución. El uso común de cada nivel de permiso es el siguiente:

  • Modo U: proceso de usuario
  • Modo S: kernel (incluidos módulos del kernel y controladores de dispositivos), hipervisor
  • Modo M: gestor de arranque, firmware

Algunos dispositivos integrados pueden ser solo en modo M o solo en modo M/U.

El modo M es el modo más privilegiado y controla todos los recursos físicos y las interrupciones. El modo M es similar al microcódigo en las ISA de computadora con conjunto de instrucciones complejas (CISC), como x86, en el sentido de que no es interrumpible ni interrumpido por modos inferiores.

Keystone utiliza el modo M para ejecutar Security Monitor (SM), la Trusted Computing Base (TCB) del sistema.

Sí,el modo M es el modo más privilegiado y puede controlar todos los recursos físicos y las interrupciones. Es similar al microcódigo en las ISA de computadora con conjunto de instrucciones complejas (CISC), como x86, en el sentido de que no es interrumpible ni interrumpido por modos inferiores. En la arquitectura RISC-V, el modo M es un modo privilegiado que puede realizar tareas críticas como administración de memoria, manejo de excepciones y llamadas al sistema. Tiene control total sobre todos los recursos físicos y puede interrumpir otras operaciones en modo inferior. Por el contrario, el modo S y el modo U tienen permisos a nivel de sistema y a nivel de usuario respectivamente, y se debe ingresar al modo M a través de una llamada al sistema específica.

protección de memoria

En primer lugar, RISC-V es una arquitectura de conjunto de instrucciones (ISA) de código abierto que proporciona una forma flexible de definir y ampliar el conjunto de instrucciones. El estándar RISC-V Priv 1.10 introduce la función Protección de memoria física (PMP), una potente primitiva que permite controlar el acceso a la memoria física desde privilegios inferiores (modo U-/S) en modo M.

PMP se implementa a través de un conjunto de registros de control y estado (CSR). Estos registros se pueden configurar para permitir o denegar el acceso a áreas específicas de la memoria física.

  • En modo U, solo se puede acceder a aquellas áreas de memoria física configuradas por PMP para permitir el acceso.
  • En modo S, se puede acceder a todas las áreas de memoria física no denegadas.
  • Sin embargo, el estado del registro PMP se puede configurar y cambiar solo en modo M.

Cada entrada de PMP puede estar definida por uno o más CSR de PMP. Cada CSR tiene un patrón de bits específico que indica el tamaño y la extensión del área de memoria física que controla el CSR.

Por ejemplo, una entrada PMP podría estar definida por dos CSR, uno que indique la dirección inicial de la región de memoria física y otro que indique el tamaño.

Keystone es un marco de código abierto para crear entornos de ejecución confiables (TEE) personalizados. Utiliza RISC-V como conjunto de instrucciones básicas e introduce componentes de monitor de seguridad (SM) y tiempo de ejecución (RT). Keystone requiere que PMP implemente el aislamiento de la memoria de enclave.

En Keystone**, SM es responsable de realizar funciones de monitoreo de seguridad, que utiliza PMP para hacer cumplir el control de acceso a la memoria**. Cada enclave tiene su propia área aislada de memoria física a la que solo puede acceder ese enclave.

RT proporciona módulos funcionales dentro de cada enclave, como interfaz de llamada al sistema, soporte libc estándar, administración de memoria virtual y autopaginación. RT solicita acceso a recursos externos, como memoria compartida o recursos del host, comunicándose con SM.

De esta manera, Keystone puede proporcionar un entorno de ejecución seguro y altamente aislado.

Cada enclave tiene su propio espacio de memoria virtual y sólo puede acceder a áreas de memoria física autorizadas por el SM. Este diseño garantiza la seguridad e integridad de los datos al realizar tareas confidenciales.

Interrupciones y excepciones

De forma predeterminada, el modo M es el primer destinatario de cualquier interrupción o excepción (es decir, una trampa) en el sistema, lo que significa que el modo M tiene autoridad total sobre la programación y configuración de la CPU. Sin embargo, el Modo M puede delegar este control al Modo S según sea necesario.

El modo M puede usar mieCSR para deshabilitar o habilitar cada interrupción. mieCSR es un registro de control y estado que se puede configurar para indicar qué interrupciones están habilitadas o deshabilitadas.

El modo M también puede delegar trampas al modo S configurando los bits del registro de delegación de trampas (es decir, mideleg y medeleg). Los delegados de trampas pueden omitir los controladores del modo M para que el modo S pueda manejar rápidamente las trampas frecuentes, como fallas de página, llamadas al sistema (llamadas ambientales), etc.

De esta manera, la colaboración entre el modo M y el modo S optimiza el rendimiento del sistema. El modo S puede manejar rápidamente las interrupciones o excepciones frecuentes, mientras que el modo M puede centrarse en tareas más importantes, como la programación y configuración de la CPU. Este enfoque descentralizado permite que el sistema se configure de manera óptima en función de los requisitos de la aplicación específica.

traducción de direcciones virtuales

En RISC-V, la traducción de direcciones virtuales la realiza la Unidad de administración de memoria (MMU), un proceso que consta de dos componentes de hardware: el caminador de la tabla de páginas (PTW) y el búfer de traducción (TLB).

La traducción de direcciones virtuales utiliza tablas de páginas de varios niveles. El número de páginas en la tabla de páginas y el tamaño de la página dependen del modo de direccionamiento. El CSR (Registro de control y estado) determina qué modo de direccionamiento debe usar la MMU y qué página física contiene la tabla de páginas raíz utilizada para iniciar el recorrido de la tabla de páginas.

En el enclave Keystone, la protección del acceso a la memoria se implementa a través de PMP (Protección de memoria física). Los enclaves tienen sus propias tablas de páginas protegidas, que el sistema operativo no puede modificar.

PMP restringe el acceso a la memoria física a través del Registro de control y estado (CSR). Cada enclave tiene su propia área aislada de memoria física a la que solo puede acceder ese enclave.

El sistema operativo no puede modificar las tablas de páginas del enclave, por lo que no hay forma de atacarlo cambiando las tablas de páginas. Este diseño proporciona un entorno de ejecución altamente aislado y seguro, lo que garantiza la seguridad e integridad de los datos al realizar tareas confidenciales.

Flujo de trabajo clave

Esta imagen muestra la distribución del trabajo de desarrollo, que se puede dividir principalmente en desarrolladores de enclave y desarrolladores de plataformas.

  • Los pasos ❶❷❸ los realiza el proveedor de la plataforma y es necesario implementar en el dispositivo un monitor de seguridad que cumpla con la arquitectura Keystone;

  • Los desarrolladores de enclaves utilizan Keystone SDK para desarrollar enclaves. Los desarrolladores crean archivos binarios de eapp, host y tiempo de ejecución y (opcionalmente) los empaquetan en un solo archivo (❹);

  • Luego despliegue en el dispositivo a través de ❺, ❻ y ❼;

  • ❽Es el proceso de certificación remota.

Como componente fuertemente relacionado con la plataforma, SM lo proporcionan los desarrolladores de la plataforma, mientras que los desarrolladores del enclave son responsables del desarrollo de Host APP, Eapp y Runtime.

  • Trabajos de desarrollador de plataforma:

    • Los desarrolladores de plataformas necesitan desarrollar e implementar Security Monitor que cumpla con la arquitectura Keystone. Este componente es responsable de monitorear y administrar los permisos de acceso a la memoria para garantizar que solo el código y los datos autorizados puedan acceder a la memoria física.
    • Los desarrolladores de plataformas también necesitan configurar y administrar tablas de páginas (tablas de páginas), que son estructuras de datos utilizadas por el sistema operativo para administrar el mapeo entre la memoria virtual y la memoria física. Los desarrolladores de plataformas deben configurar las tablas de páginas correctas para garantizar que las direcciones virtuales se puedan asignar correctamente a las direcciones físicas.
  • Trabajos de desarrolladores de Enclave:

    • Los desarrolladores de Enclave utilizan Keystone SDK para desarrollar aplicaciones de enclave. Este SDK proporciona un conjunto de API y herramientas para crear entornos de ejecución aislados y seguros.
    • Los desarrolladores de Enclave primero deben crear una eApp, que es una colección de código y datos para la aplicación de enclave. Una eapp puede ser cualquier tipo de programa, como una aplicación simple, un sistema operativo o una aplicación crítica para la seguridad.
    • Los desarrolladores de Enclave también necesitan desarrollar y configurar el entorno de ejecución. El entorno de ejecución proporciona varios servicios necesarios para ejecutar eapp, como administración de memoria, programación de procesos, entrada y salida, etc.
    • Los desarrolladores de Enclave pueden utilizar las herramientas proporcionadas por Keystone SDK para empaquetar la eApp y el entorno de ejecución en un binario ejecutable. Este binario puede ejecutarse en el dispositivo y ejecutarse de forma aislada de otras aplicaciones de enclave.
  • Proceso de implementación:

    • Los desarrolladores de Enclave implementan archivos binarios ejecutables en los dispositivos. Los métodos de implementación pueden variar según el tipo de dispositivo y el sistema operativo, como mediante transferencia USB, carga de red o instalación directamente en el dispositivo.
    • Una vez implementada en el dispositivo, la aplicación enclave se carga en la memoria y comienza su ejecución. Cada aplicación de enclave tiene su propia área aislada de memoria física y solo puede acceder a su propio espacio de memoria y no al de otras aplicaciones.
  • Proceso de certificación remota:

    • En algunos casos, puede ser necesario verificar la integridad y seguridad de la aplicación del enclave. En este momento, puede utilizar el proceso de certificación remota proporcionado por Keystone. Este proceso permite a organizaciones o usuarios de terceros verificar que las aplicaciones de enclave cumplan con los estándares de seguridad de Keystone.
    • El proceso de certificación remota generalmente implica recopilar información como los metadatos, el estado de ejecución y el contenido de la memoria de la aplicación de enclave y enviar esta información a una autoridad de verificación para su verificación. Las autoridades de verificación pueden utilizar las herramientas y algoritmos de análisis proporcionados por Keystone SDK para verificar la integridad y seguridad de esta información. Si se supera la verificación, la solicitud de enclave puede considerarse auténtica.

Ciclo de vida clave

Etapa de creación:

  • Solicitar memoria: antes de crear un enclave, debe solicitar una memoria contigua al sistema, esta memoria se denomina memoria privada de enclave (EPM). EPM es una memoria privada para una aplicación de enclave y solo ese enclave puede acceder a ella.
  • Cargar archivos binarios: después de solicitar EPM, debe cargar los archivos binarios del enclave en EPM. Este binario incluye la tabla de páginas del enclave (PT), el tiempo de ejecución (RT) y la eapp. Estos componentes son necesarios para que se ejecute la aplicación enclave.
  • Crear enclave: después de cargar el binario, cree el enclave llamando a SM (Security Monitor). SM utiliza entradas PMP (Protección de memoria física) para aislar y proteger la memoria EPM creada. Las entradas de PMP definen qué áreas de la memoria física están protegidas y qué núcleos pueden acceder a estas áreas.
  • Medición de la suma de verificación: una vez creado el enclave, SM realizará una medición de la suma de verificación en el enclave. Este proceso tiene como objetivo principal verificar si el estado inicial del enclave es el esperado y garantizar que no haya inyección de código malicioso u otros problemas de seguridad.

Fase de ejecución:

  • Ejecutar y continuar: en esta etapa, el anfitrión puede controlar un enclave central en ejecución. Para lograr este control, el SM otorgará a este PMP principal acceso al EPM. Luego, el núcleo comienza a ejecutar la aplicación de enclave.
  • Detener y salir: Se puede salir o detener la ejecución de un enclave en cualquier momento. Cuando se detiene o sale, SM cambiará los permisos de PMP del núcleo para garantizar que el núcleo ya no tenga permiso para acceder al EPM, manteniendo así el aislamiento del mundo exterior a través de PMP.

Fase de destrucción:

  • Destrucción: El Anfitrión puede destruir un enclave en cualquier momento. Cuando se destruye un enclave, SM libera las entradas de PMP relacionadas y recupera la memoria libre ocupada por el EPM. De esta forma, el sistema puede reutilizar esta memoria para crear nuevos enclaves.

VS TrustZone

La palabra clave de TrustZone es aislamiento, esta palabra. Cada módulo agrega un filtro y una bandera de seguridad o no seguridad. Este es un diseño realmente inteligente.

Entonces, ¿cuáles son las ventajas de la solución clave de Risc-V sobre TrustZone?

Reflejado principalmente en los siguientes aspectos:

  • Protección de la memoria: Keystone utiliza el mecanismo PMP (Protección de la memoria física) para aislar y proteger la memoria física de cada enclave, asegurando que un enclave no pueda acceder al espacio de memoria de otros enclaves. Este mecanismo de protección evita la inyección de códigos maliciosos y la fuga de datos, mejorando la seguridad. Aunque TrustZone también proporciona funciones de aislamiento de memoria, no puede proporcionar una protección integral de la memoria física como Keystone.

  • Aislamiento de enclave: Keystone admite la creación de múltiples enclaves mutuamente aislados (Zona). Cada enclave tiene su propio entorno de ejecución, aplicaciones y datos, y entre sí no se ve afectado. Este mecanismo de aislamiento puede evitar que los problemas en un enclave afecten a otros enclaves, mejorando la confiabilidad del sistema. Aunque TrustZone también proporciona funciones de aislamiento, existen riesgos potenciales de seguridad al compartir datos y programas entre cada zona de aislamiento (Secure World).

  • Flexibilidad y escalabilidad: la arquitectura de Keystone es más flexible y escalable: admite la creación y destrucción dinámica de máquinas virtuales en enclaves, admite la implementación de múltiples sistemas operativos y aplicaciones y puede satisfacer las necesidades de diferentes escenarios. El soporte de virtualización de TrustZone es relativamente débil y su escalabilidad es limitada.

  • Optimización del rendimiento: al implementar diferentes entornos de ejecución y aplicaciones en diferentes enclaves, Keystone puede utilizar mejor los recursos del sistema, reducir gastos generales innecesarios y mejorar el rendimiento. El entorno de ejecución de TrustZone es fijo y no se puede optimizar.

En general, la solución keystone de Risc-V tiene ventajas sobre TrustZone en términos de protección de memoria, aislamiento de enclave, flexibilidad y escalabilidad, y optimización del rendimiento. Sin embargo, cabe señalar que estas ventajas no son absolutas y que la elección específica de qué solución debe sopesarse en función de los escenarios y necesidades de aplicación reales.

Algunos desafíos y limitaciones que enfrentan las soluciones Keystone

  • La flexibilidad de la solución inevitablemente aumentará la carga de trabajo de los desarrolladores, porque la administración de la memoria y la administración del ciclo de vida deben realizarse en SM al mismo tiempo, lo que corresponde a un aumento en la cantidad de código, por lo que el riesgo aumenta.

¿Cómo garantizar la confiabilidad del código?
Para estas partes clave del código, se pueden utilizar métodos como la verificación formal o el análisis de código estático para comprobar la exactitud del código.

En segundo lugar, puede adoptar prácticas de programación seguras para evitar vulnerabilidades de seguridad comunes. Finalmente, el acceso no autorizado se puede evitar implementando un control de acceso en el SM, permitiendo que solo las entidades autorizadas accedan al código.

  • Problemas con la configuración limitada del segmento PMP y los requisitos de memoria continua

Con respecto a los problemas de configuración limitada del segmento PMP y requisitos de memoria continua, esto puede plantear desafíos para la implementación del sistema. Esto puede requerir una planificación y optimización adecuadas por parte de los diseñadores del sistema durante la implementación.
Por ejemplo, la memoria del sistema se puede particionar previamente y algunas áreas se pueden reservar específicamente para la creación de enclaves. Al mismo tiempo, las situaciones en las que se requiere memoria contigua se pueden resolver mediante tecnología de gestión de memoria dinámica o de preasignación.

  • Los atacantes logran el propósito de los ataques DDOS creando enclaves ilimitados

En Keystone, la creación y destrucción de enclaves requiere la autorización de SM, y SM rastreará el estado y el uso de recursos de cada enclave.

El diseño de Keystone en sí no proporciona un mecanismo para prevenir ataques DDOS. Sin embargo, este riesgo de ataque se puede mitigar mediante otros mecanismos de seguridad.

  • Límites de recursos: evite que uno o varios enclaves consuman recursos en exceso estableciendo límites de recursos (como memoria, CPU, etc.) a nivel del sistema o de enclave. Esto limita el grado en que los posibles atacantes DDOS pueden explotar los recursos del enclave.
  • Control de acceso: Limitar la comunicación y la interacción entre enclaves mediante estrictos mecanismos de control de acceso. Esto evita que enclaves maliciosos inunden otros enclaves o recursos del sistema con grandes cantidades de solicitudes o flujo de datos.
  • Monitoreo y detección: al monitorear el uso de recursos del sistema en tiempo real, se puede descubrir tráfico o comportamiento anormal de manera oportuna. Una vez que se descubre un posible ataque DDOS, se pueden tomar las medidas defensivas correspondientes, como limitar la corriente, aislar o finalizar el funcionamiento del enclave malicioso.
  • complejidad de implementación

La solución Keystone requiere la implementación y gestión de múltiples enclaves y entornos de ejecución correspondientes, lo que requiere mecanismos complejos de gestión de memoria y gestión del ciclo de vida. Al mismo tiempo, garantizar el aislamiento y la seguridad entre todos los enclaves requiere implementar sofisticados mecanismos de autenticación y control de acceso.

  • recursos limitados

Aunque la solución Keystone puede aislar y proteger enclaves de manera efectiva, cada enclave aún requiere un entorno de ejecución y espacio de memoria independientes. Esto puede dar como resultado una asignación de recursos limitada, especialmente cuando los recursos de memoria y procesador son limitados.

  • Gastos generales de rendimiento

La implementación y gestión de las soluciones Keystone requieren cierta sobrecarga de rendimiento. Por ejemplo, al crear y destruir enclaves, se requieren operaciones como asignación y reciclaje de memoria, verificación de permisos y monitoreo de seguridad. Estos gastos generales pueden afectar el rendimiento general del sistema.

  • pronto

piedra clave

Si desea obtener más información sobre Keystone, simplemente seguir el siguiente proceso puede resultarle útil:

  • Más información sobre Riscv

Acerca de la arquitectura del chip, interrupciones y excepciones, y gestión de la memoria

  • Aprende sobre sistemas operativos

proceso, proceso, conductor

  • Teoría: piedra angular

【Keystone: un marco abierto para la arquitectura
Entornos de ejecución confiables】

【Enclave-Keystone-un-enclave-seguro-de-código-abierto-para-RISC-V】

  • Práctica: lea el documento de orientación oficial [el mejor libro de orientación]

【Keystone-Primeros pasos】


La aparición de una nueva tecnología debe tener como objetivo resolver algunos puntos débiles, pero también traerá algunos nuevos. Creo que es por eso que muchos proyectos requieren expertos técnicos para seleccionar tecnologías y lograr la estabilidad y el equilibrio de un sistema mediante la combinación de diferentes tecnologías.

Espero que le sea de ayuda al amigo que hizo la pregunta el 2023-10-31 10:16.

Supongo que te gusta

Origin blog.csdn.net/weixin_45264425/article/details/134326170
Recomendado
Clasificación