没有合适的资源?快使用搜索试试~ 我知道了~
首页高通平台Security学习笔记
资源详情
资源评论
资源推荐
Qulcomm平台Security学习笔记
ZhaoZhongxi
本文从三个部分阐述Qulcomm平台Security相关功能,
1:相关预备知识
2:Qulcomm平台TZ/QSEE Overview
3:Secure Boot
4:SFS/Secure UI/QSEE debug
1:预备知识
本章介绍Security相关的术语以及基本知识,因为对于初次接触Security的同
事来说,一些基本概念和术语的理解很有必要。
首先,要理解Security研究需要解决的问题,要达到的目的是什么?无非是
要保证数据在传播过程中的“保密性”,“完整性”,“认证性”和“不可抵赖
性”。
A)保密性:确保只有“合法读者”才能阅读信息。
B)完整性:确保信息在传递过程中不会被篡改,或者说,一旦存在篡改或者丢失,
数据接收方有方法可以检测出来。
C)认证性:确认信息发送方的身份。
D)不可抵赖性 - 发送者不能否认已发送的信息。
1.1 加密/解密(Encryption/Decryption)
把明文数据转换成密文的过程称之为加密。随着密码学的发展,加密的方式有很
大的不同和分类,有的是基于算法本身的保密性,有的则是算法公开,基于密钥
的保密性等。
加密 解密
1.2、对称加密(symmetric key algorithms)
在对称加密算法中,加密使用的密钥和解密使用的密钥是相同的。也就是说,加
密和解密都是使用的同一个密钥。因此对称加密算法要保证安全性的话,密钥要
做好保密,只能让使用的人知道,不能对外公开。
1.2、非对称加密(asymmetric key algorithms)
在非对称加密算法中,加密使用的密钥和解密使用的密钥是不相同的,一般称之
为“公钥”、“私钥”。
明文
密文
明文
1.3 、公钥密码体制(public-key cryptography)
公钥密码体制分为三个部分,公钥、私钥、加密解密算法,它的加密解密过程如
下:
加密:通过加密算法和公钥对内容(或者说明文)进行加密,得到密文。加
密过程需要用到公钥。
解密:通过解密算法和私钥对密文进行解密,得到明文。解密过程需要用
到解密算法和私钥。注意,由公钥加密的内容,只能由私钥进行解密,也
就是说,由公钥加密的内容,如果不知道私钥,是无法解密的。
公钥密码体制的公钥和算法都是公开的(这是为什么叫公钥密码体制的原因),私
钥是保密的。大家都以使用公钥进行加密,但是只有私钥的持有者才能解密。在
实际的使用中,有需要的人会生成一对公钥和私钥,把 公钥发布出去给别人使用,
自己保留私钥。
1.4 RSA 简介
RSA 密码体制是一种公钥密码体制,现在使用得很广泛。RSA 的这一对公钥、
私钥都可以用来加密和解密,并且一方加密的内容可以由并且只能由对方进行
解密。
另外,虽然秘密密钥 SK 是由公开密钥 PK 决定的,但却不能根据 PK 计算出
SK。正是基于这种理论,1978 年出现了著名的 RSA 算法,它通常是先生成一对
RSA 密钥,其中之一是保密密钥,由用户保存;另一个为公开密钥,可对外公开,
甚至可在网络服务器中注册。为提高保密强度,RSA 密钥至少为 500 位长,一般
推荐使用 1024 位。
加密是信息被分割成数据块(如 128 位),与公钥“搅拌”,生成不能识别的
密文。解密是通过私钥作用于密文,恢复原来的信息。这样,当人们使用你提供
的公钥加密后发送的密文只有你能够正确还原。
举例说明我们如何生成一个 2048 位、指数 3 的公/私钥对
Openssl genrsa -out private.key 128 (私钥 private.key)
-----BEGIN RSA PRIVATE KEY-----
MGICAQACEQDNk+wZ5KWyQ6++L7NloXBTAgMBAAECECw/fIAOQMPffn+SGWyxW1E
C
CQD9zUBF8OOEzwIJAM9bvs7vMUU9AghIUF/8zZr17wIIPNchdBwQa80CCQDP5I3M
XTxnnw==
-----END RSA PRIVATE KEY-----
openssl rsa -in private.key -pubout -out pub.key (公钥 pub.key)
-----BEGIN PUBLIC KEY-----
MCwwDQYJKoZIhvcNAQEBBQADGwAwGAIRAM2T7BnkpbJDr74vs2WhcFMCAwEAAQ==
-----END PUBLIC KEY-----
加密文件 sec.txt (bpd)
openssl rsautl -sign -in sec.txt -inkey private.key -out
encrypte.txt
n
箱
?g
睃
+u?
•
1.5 Hashing Functions(散列函数)
也称为 compression functions 或者叫摘要(digest)算法,它是将任意大小的
文件转换为固定大小,比如 SHA256 就固定输出 256 位。生成 SHA256 的方法如
下:
openssl dgst -sha256 sec.txt
SHA256(sec.txt)=f91e4de613a963cbdca1bba6f6851b83e9dda483449d37e52743ae4f
7ebb6fb
d
接收这个对比收到的 Hash 文件和通过都到信息生成的 Hash 文件来确定信息是否
有被篡改。
1.6 Digital Signatures(数字签名)
从 1.5 中我们可以看到器解决方案有两个致命缺陷:
1. 如果 hacker 将原始数据文件和 hash 摘要文件都进行了修改,数据接收者无法
判断文件被篡改;
2. 非对称加密算法非常耗费资源;
那么,怎样可以回避以上两个缺点呢?一般的做法是 对原始数据做一个
hash 计算得到一个 hash 值,注意,这个过程是不可逆的,也就是说无法通过
hash 值得出原始数据内容。在把原始数据发送出去时,把这个 hash 值加密后
做为一个签名和原始数据一起发出去。 接收方在收到原始数据后,会重新计算
原始数据的 hash 值,并和原始数据所附带的 hash 值(解密后)进行对比,如果
一致,就说明信息的内容没有被修改过,因为这里 hash 计算可以保证不同的内
容一定会得到不同的 hash 值,所以只要内容一被修改,根据原始数据内容计算
的 hash 值就会变化。当然,正如前面所说不怀好意的人也可以修改原始数据内
容的同时也修改 hash 值,从而让它们可以相匹配,为了防止这种情况,hash
值一般都会加密后(也就是签名)再和原始数据一起发送,以保证这个 hash 值不
被修改。至于如何让别人可以解密这个签名,这个过程涉及到数字证书等概念,
我们后面在说到数字证书时再详细说明,这里您先只需先理解签名的这个概念。
接收者在收到文件后,计算 Hash,同时通过公钥解密收到的 Hash,两个 Hash
文件匹配则所接收文件没有被篡改。
1.7: digital certificate(数字证书)
以上的一系列做法还有一个根本问题没有解决,那就是如何让接收者得到公
钥(解密 hash),这时我么下面要介绍的内容就登场了--数字证书。数字证书实现
了身份识别和电子信息加密, 它含有密钥对(公钥和私钥)所有者的识别信息,
通过验证识别信息的真伪实现对证书持有者身份的认证。
一个证书包含下面的具体内容:
证书的发布机构
证书的有效期
公钥
证书所有者(Subject)
签名所使用的算法
指纹以及指纹算法
剩余38页未读,继续阅读
elicec
- 粉丝: 3
- 资源: 8
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- zigbee-cluster-library-specification
- JSBSim Reference Manual
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0