ARMv8 Security

2024-05-27 15:08
文章标签 security armv8

本文主要是介绍ARMv8 Security,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

内容来自 DEN0024A_v8_architecture_PG.pdf
本质
  • ARMv8 Security 是什么
本质增加了一个 Secure world , 该体系结构的增加意味着单个物理内核可以以时间切片的方式执行来自正常世界和安全世界的代码定义了 硬件实现 , 规范了 软件实现 软件实现 : TrustZone安全扩展硬件实现 : 安全外围设备ARM安全模型将设备硬件和软件资源进行了划分,以便它们要么存在于安全子系统的安全世界中,要么存在于其他所有系统的正常世界中。world这个词不仅用于描述执行状态,还用于描述所有只能在该状态下访问的内存和外围设备。Secure world 		包括 软件和硬件Non-secure world  也包括 软件和硬件
目的:Security is usually defined by the principles of Confidentiality, Integrity, and Availability.A system that offers a certain level of security, a trusted system, is one that protects assets, prevent them from being copied or damaged, or made unavailable.for example passwords and cryptographic keys, or credit card details, from a range of plausible attacks,阻挡两种攻击1. Software attacks通常不需要对设备进行物理访问,并且可以利用操作系统或应用程序中的漏洞进行攻击。2. Simple hardware attacks这些攻击通常是被动的,主要是非破坏性的攻击,需要访问设备和接触电子设备,并使用常见的工具,如逻辑探针和JTAG运行控制单元。不阻挡 "实验室硬件攻击"这种攻击需要复杂且昂贵的工具,如聚焦离子束(FIB)技术或功率分析技术,并且更常用于对付智能卡设备。
  • 硬件
平行世界的诞生将之前的所有都封装到了 Non-secure world , 并增加了一个 Secure worldworld这个词不仅用于描述执行状态,还用于描述所有只能在该状态下访问的内存和外围设备。
  • 软件
除非执行正常世界要求的某些操作,否则通常应避免消耗大量执行时间,并且应尽快向正常世界发送非安全中断信号。
相关概念
  • 两个world的切换 与交互
切换Non-secure world -> Secure world1. Non-secure world 执行代码时 ,调用SMC2. Non-secure world 执行代码时 ,发生 secure world 中的设备中断(一般被映射为FIQ)Secure world  -> Non-secure world1. Secure world 执行代码时 , 调用ERET2. Secure world 执行代码时 , 发生 Non-secure world 中的设备中断 // ?? TODO交互相关组织封装了 SMC 普通世界库提供的高级API,例如authenticate()。该库由与受信任服务相同的供应商提供用户应用程序调用API进行适当的操作系统调用,然后传递到驱动程序代码,然后通过安全监视器将执行传递到TEE
  • SMP 中的 Security
多核系统中的每个核心都具有 两个 world
  • 如何在 Secure world 下调试
安全系统还控制调试供应的可用性。
您可以通过完整的JTAG调试和跟踪控制为正常和安全的软件世界配置单独的硬件,这样就不会泄露有关受信任系统的信息。
您可以通过安全外围设备控制硬件配置选项,也可以通过以下信号对其进行硬连接和控制:•安全特权入侵调试启用(SPIDEN):JTAG调试。•安全特权非侵入性调试启用(SPNIDEN):跟踪和性能监视器。
  • boot
BL1 BL2 是芯片厂家固化到soc芯片里面的代码
BL31 一般是 ATF
BL32 一般是 arm trust os
BL33 一般是 UEFI或者u-boot最终启动后 // 所有的code时分复用同一个核心
EL0 (non-trust)	跑着 linux-app	/ EL0 (trust) 跑着 trust app
EL1 (non-trust) 跑着 linux 		/ EL1 (trust) 跑着 trust os
EL2 (non-trust) 跑着 HYP  		/ EL2 (trust) 什么都没跑
EL3  			跑着 ATF 		// EL3 只有 trust

在这里插入图片描述

这篇关于ARMv8 Security的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1007818

相关文章

Spring Security介绍及配置实现代码

《SpringSecurity介绍及配置实现代码》SpringSecurity是一个功能强大的Java安全框架,它提供了全面的安全认证(Authentication)和授权(Authorizatio... 目录简介Spring Security配置配置实现代码简介Spring Security是一个功能强

spring security 超详细使用教程及如何接入springboot、前后端分离

《springsecurity超详细使用教程及如何接入springboot、前后端分离》SpringSecurity是一个强大且可扩展的框架,用于保护Java应用程序,尤其是基于Spring的应用... 目录1、准备工作1.1 引入依赖1.2 用户认证的配置1.3 基本的配置1.4 常用配置2、加密1. 密

Spring Security自定义身份认证的实现方法

《SpringSecurity自定义身份认证的实现方法》:本文主要介绍SpringSecurity自定义身份认证的实现方法,下面对SpringSecurity的这三种自定义身份认证进行详细讲解,... 目录1.内存身份认证(1)创建配置类(2)验证内存身份认证2.JDBC身份认证(1)数据准备 (2)配置依

Spring Security+JWT如何实现前后端分离权限控制

《SpringSecurity+JWT如何实现前后端分离权限控制》本篇将手把手教你用SpringSecurity+JWT搭建一套完整的登录认证与权限控制体系,具有很好的参考价值,希望对大家... 目录Spring Security+JWT实现前后端分离权限控制实战一、为什么要用 JWT?二、JWT 基本结构

Spring Security基于数据库的ABAC属性权限模型实战开发教程

《SpringSecurity基于数据库的ABAC属性权限模型实战开发教程》:本文主要介绍SpringSecurity基于数据库的ABAC属性权限模型实战开发教程,本文给大家介绍的非常详细,对大... 目录1. 前言2. 权限决策依据RBACABAC综合对比3. 数据库表结构说明4. 实战开始5. MyBA

Spring Security方法级安全控制@PreAuthorize注解的灵活运用小结

《SpringSecurity方法级安全控制@PreAuthorize注解的灵活运用小结》本文将带着大家讲解@PreAuthorize注解的核心原理、SpEL表达式机制,并通过的示例代码演示如... 目录1. 前言2. @PreAuthorize 注解简介3. @PreAuthorize 核心原理解析拦截与

springboot security使用jwt认证方式

《springbootsecurity使用jwt认证方式》:本文主要介绍springbootsecurity使用jwt认证方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录前言代码示例依赖定义mapper定义用户信息的实体beansecurity相关的类提供登录接口测试提供一

springboot security验证码的登录实例

《springbootsecurity验证码的登录实例》:本文主要介绍springbootsecurity验证码的登录实例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录前言代码示例引入依赖定义验证码生成器定义获取验证码及认证接口测试获取验证码登录总结前言在spring

springboot security快速使用示例详解

《springbootsecurity快速使用示例详解》:本文主要介绍springbootsecurity快速使用示例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝... 目录创www.chinasem.cn建spring boot项目生成脚手架配置依赖接口示例代码项目结构启用s

springboot security之前后端分离配置方式

《springbootsecurity之前后端分离配置方式》:本文主要介绍springbootsecurity之前后端分离配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的... 目录前言自定义配置认证失败自定义处理登录相关接口匿名访问前置文章总结前言spring boot secu