Android Key/Trust Store研究+ssl证书密钥

2023-09-22 15:54:52

前言:软件搞环境涉及到了中间件thal trustzone certificate key,翻译过来是thal信任区域证书密钥 ,不明白这是什么,学习一下

ssl证书密钥

SSL密钥是SSL加密通信中的重要组成部分。SSL证书通过加密算法生成,用于保护网络通信的安全性和私密性。密钥是一种密码学算法中的关键元素,用于加密和解密敏感信息。在SSL通信过程中,使用可信的证书导入和加载密钥,确保数据加密和解密的安全性。

SSL证书密钥采用公钥加密算法,这意味着加密和解密使用的是不同的密钥。公钥用于数据加密,而私钥用于数据解密。公钥可以公开分发,而私钥必须严格保密,仅用于解密。这种非对称加密方式保证了通信的安全性,即使公钥被泄露,也无法破解私钥。

SSL证书密钥的生成过程非常复杂且具有极高的安全性。一般情况下,证书申请者需要向颁发机构提供相关的身份证明材料。颁发机构根据这些材料生成证书,并在证书中包含公钥和其他相关信息。私钥则在生成证书时由证书申请者保管,确保只有合法的用户能够访问私钥。

SSL证书密钥的重要性不言而喻。它不仅可以确保数据传输过程中的安全性,还可以用于验证服务器的身份。当客户端与服务器建立SSL连接时,服务器会向客户端发送证书。客户端通过验证证书中的公钥和其他信息来判断服务器的真实性和合法性。只有验证通过的服务器才能与客户端进行安全的数据交换。

正因为SSL证书密钥的重要性,任何有意破坏网络安全的恶意行为都会试图获取密钥。因此,保护好密钥的安全性成为了网络安全的重要任务之一。合理的密钥管理措施可以有效避免密钥泄露和私钥被盗用的风险。同时,定期更换证书和密钥也是一种增加安全性的有效方式,以防止已被破解的证书或密钥被滥用。

总之,SSL证书密钥是确保网络通信安全和私密性的关键要素。它采用公钥加密算法,保护数据传输过程中的安全性,并用于验证服务器的身份。密钥的生成过程复杂且安全,需要合理的密钥管理措施来保护其安全性。通过合理使用和保护SSL证书密钥,可以确保网络通信的安全和可靠性

先做个扫盲科普:

ARM TrustZone是什么?

ARM TrustZone是一种硬件和软件的安全解决方案,用于提供更高级别的系统安全性。它是由ARM公司开发的一项技术,旨在通过将处理器资源划分为两个不同的安全域,即安全世界(Secure World)和普通世界(Normal World),实现敏感数据和关键代码的隔离和保护。

在TrustZone中,处理器运行在两个不同的状态下:安全状态和非安全状态。安全状态下的代码和数据受到严格的保护,只能被受信任的应用程序或操作系统访问。非安全状态下的代码和数据可以被普通应用程序和操作系统访问。

TrustZone提供了以下功能:

  • 安全启动:验证引导加载程序和操作系统的完整性,确保系统启动的可靠性。
  • 安全分区:将系统资源划分为安全域和普通域,确保敏感数据和关键代码的隔离和保护。
  • 安全通信:提供安全的通信机制,确保安全域和普通域之间的通信不受恶意攻击影响。
  • 安全监控:监测系统状态和行为,检测潜在的安全威胁,并采取相应的安全防护措施。

TrustZone技术被广泛应用于移动设备、物联网设备和其他需要高级安全性的系统中,以保护用户的隐私和敏感数据。

Android Key/Trust Store研究

Android Key/Trust Store是系统全局的Key/Trust Store。虽然Android符合JCE/JSSE规范,但是Android平台的实现和一般PC机上的实现有很大不同。

我们先来看KeyStore的架构,
在这里插入图片描述

  • 一个APP有两种方式和Android Keystore交互。一种是利用JCE的KeyStore接口,并强制使用“AndroidKeyStore“作为Provider的名字。这样,JCE就会创建AndroidKeyStore对象。当然,这个对象也就是个代理,它会创建另外一个KeyStore对象。这个KeyStore就是android.security.KeyStore。虽然名字一样,但是包名却不同,这个是android特有的。
  • 另外一条路是使用Android提供的KeyChain API。KeyChain我觉得从“Key和CertificatesChain的意思”来理解KeyChain的命名可能会更加全面点。KeyChain会和一个叫KeyChainService的服务交互。这个KeyChainService又是运行在“keychain“进程里的。keychain进程里也会创建android.security.KeyStore对象。
  • 再来看android.security.KeyStore(以后简称AS Store,而JCE里的,我们则简称JSStore)。好吧,binder无处不在。AS(AndroidSecurity) Store其实也是一个代理,它会通过binder和一个native的进程“keystore“交互。而keystore又会和硬件中的SEE(Security Element Enviroment)设备交互(ARM平台几乎就是Trust Zone了)。高通平中,SEE设备被叫做QSEE。keystore进程会加载一个名叫“libQSEEComAPI.so”的文件。

为什么要搞这么复杂?

  • KeyChain其实简化了使用。通过前面的例子大家可以看到,JCE其实用起来是很麻烦的,而且还要考虑各种Provider的情况。而且,通过KeyChain API能使用系统级别的KeyStore,而且还有对应的权限管理。比如,不是某个APP都能使用特定alias的Key和Chain的。有一些需要用户确认。
  • 而更重要的功能是把硬件key managment功能融合到AS Keystore里来了。这在普通的JCE中是没有的。硬件级别的KM听起来(实际上也是)应该是够安全的了:)

关于SEE和TrustZone,见下面的图:
在这里插入图片描述TrustZone示意图

简单点看,ARM芯片上其实跑了两个系统,一个是Android系统,另外一个是安全的系统。Android系统借助指定的API才能和安全系统交互。

参考资料:
1、https://www.wenjiangs.com/doc/pouvrxeviq7b
2、http://research.microsoft.com/en-us/um/people/alecw/asplos-2014.pdf
3、http://www.ti.com.cn/cn/lit/wp/spry228/spry228.pdf
4、http://cache.freescale.com/files/32bit/doc/white_paper/QORIQSECBOOTWP.pdf

更多推荐

Vue进阶(幺陆玖)信创适配改造

文章目录一、前言二、方案实施2.1存在的问题2.2方案优化2.3User-Agent详解三、拓展阅读一、前言随着外部监管对国产化的要求越来越高,所在产品团队信创专项改造工作开始实施,需求如下:信创平台控件只能使用在信创终端使用,不能应用在Windows上,存量系统运行过程中需要能够识别业务人员当前使用的终端操作系统,若

【算法练习Day3】 移除链表元素&&设计链表&&反转链表

​​📝个人主页:@Sherry的成长之路🏠学习社区:Sherry的成长之路(个人社区)📖专栏链接:练题🎯长路漫漫浩浩,万事皆有期待文章目录移除链表元素其他问题设计链表其他问题反转链表其他问题总结:移除链表元素203.移除链表元素-力扣(LeetCode)链表问题大多都可以用虚拟头结点的方法,使链表的插入和删除操

实施主品牌进化战略(三):建立产品竞争与进化体系

产品早晚都会抵达成熟期,所以建立一个有效的产品竞争与进化体系,才能保障产品更新迭代与时俱进在跨周期中实现增长和主品牌进化。同时这也是工业制造、汽车制造、软件开发、食品饮料、人工智能等行业强者穿越周期的战略共性。3M:以超级技术打造产品竞争与进化体系3M公司,诞生于1902年,以胶粘技术起家,后发展出光学、医疗、研磨以及

写在2023,转行软件测试的我后悔了吗?

前言朋友,作为一个曾经从机械转行到IT的行业的过来人,已在IT行业工作5年,分享一下我的经验,供你参考。讲真,现在想通过培训班培训几个月就进入IT行业,越来越来难了;如果是在2018年以前,还有机会,一方面,那个时候IT行业还不算卷,需求还是蛮大的;但最近这一两年,由于大环境不好,很多互联网大厂都开始裁员了,连科班出身

计算机网络与技术——物理层

😊计算机网络与技术——物理层👻物理层的基本概念👻数据通信基础知识🚢数据通信系统的模型🚢信道的基本概念🚢信道的极限容量👻物理层下面的传输媒体🔊导引型传输媒体🔊非导引型传输媒体👻信道复用技术🥏频分复用、时分复用和统计时分复用🥏波分复用🥏码分复用👻宽带接入技术☃️ADSL技术☃️光纤同轴混合网(H

强强联合,波卡生态正成为物联网赛道关键入口

自5月23日,波卡平行链之一Peaq宣布将特斯拉和去中心化汽车共享应用引入Polkadot生态系统后,其以打造Polkadot上Web3汽车共享的未来为目标,开启物联网发展的新时代;而在近期,Peaq又表示将在9月前往德国慕尼黑IAAMOBILITY2023,作为L1底层架构参与特斯拉和捷豹汽车的现场演示。在这场展示活

什么是边缘计算网关?

边缘计算网关(简称边缘网关)将云端功能扩展到本地的边缘设备,使边缘设备能够快速自主地响应本地事件,提供低延时、低成本、隐私安全、本地自治的本地计算服务。同时所有服务都以Docker镜像方式安装,真正做到了跨平台,部署快捷,易管理。在链路安全,应用场景,云开发组件等也都做到了非常好的支持。涂鸦提供了丰富的物联网协议,客户

985、211高校分布

985、211高校分布985211985全国985大学有39所1、北京市(8所)北京大学、中国人民大学、清华大学、北京航空航天大学、北京理工大学、中国农业大学、北京师范大学、中央民族大学2、天津市(2所)南开大学、天津大学3、辽宁省(2所)大连理工大学、东北大学4、吉林省(1所)吉林大学5、黑龙江省(1所)哈尔滨工业大

批量调整视频饱和度和色度,提升你的视频剪辑效率!

作为一名视频剪辑师,你是否经常为如何高效地调整多个视频的饱和度和色度而烦恼?现在,我们为你提供了一种简单、快速、准确的方法,帮助你轻松解决这个问题!首先我们要进入好简单批量智剪,并在左侧的板块栏里选择“任务剪辑”第二步,进入板块之后,并点击“添加视频”在弹出来的文件框里,将要调整的视频都一一导入。第三步,导入后,所有视

电脑入门:怎么进入路由器设置

怎么进入路由器设置在浏览器地址栏上输入路由器的出厂默认IP地址(192.168.0.1)后按回车。在登录窗口中输入说明书上的密码,点击“Login”按钮进入宽带路由器管理设置界面。管理设置界面分为左右栏,左栏是主菜单,右边则是与之对应的设置内容。请根据自己接入的宽带类型来做出正确的选择。第一项“DynamicIPAdd

MySQL 几种导数据的方法与遇到的问题

零、说在前面MySQL导数据通常使用第三方工具和MySQL自身的工具,本文分别就这两类方法分别介绍。一、第三方工具之Navicat1.1、Navicat的“数据传输”工具打开Navicat,点击“工具”标签,找到“数据传输”,即可看到操作界面。这里不对这个工具本身做过多介绍,侧重点在于工具中的一些配置选项的含义的介绍上

热文推荐