`
- 浏览:
86920 次
- 性别:
- 来自:
长沙
-
本文围绕以下六个部分展开:
一、安全概述
二、对称加密
三、非对称加密(公钥密码)
四、密钥交换
五、消息摘要
六、电子签名
一、安全概述
1. 安全要解决什么问题?
2. 密码术
如:字母加密、藏头诗、倒写文等。
密码术是算法与密钥的分离。
密码学“潜规则”:算法是公开的,而密钥是私有的。
算法公开的目的:经过专家的论证,经历安全的检验,以及黑客若干年的尝试破解。
二、对称加密
1. 典型的加密模型
2. 对称加密:
加密端与解密端使用同一个密钥(key),这个key被称为shared key。
3. 三种算法模型
(1)置换加密
原始数据顺序不会改变,但对原始的每个/组数据用另一个/组数据去替换。如:凯撒密码。
(2)转置加密
原始数据不会改变,但是对原始数据的顺序进行变换。
(3)乘积密码
置换变换与转置变换一起使用,反复迭代。
4. DES:数据加密标准
不是一个字母一个字母地变换,而是取64bit(1Byte=8bit)的数据作为一个基本的加密单元,经过19道工序(复用迭代乘积加密),然后出来56bit的密钥。
56bit已经被攻破,现已不够安全。因此,又出来三重DES,相当于DES做了三次转换。
5. AES:高级加密标准
虽然用了很多数学算法,但是本质还是乘积密码。
它灵活性很强。输入是128bit,以128bit作为一个单元进行加密。它的密钥强度可以是128bit、192bit、256bit,非常灵活。
AES在对称加密领域应用最广。因为:接受不同强度的密钥,应用场景灵活;而且现在比较安全。
6. 应用场景
双方通信保密、本地存储的数据加密等。
问题:在对称加密中,shared key如何进行交换?怎么存储才不会泄露出去?
三、非对称加密(公钥密码)
1. 非对称加密模型
2. 公钥(public key)和私钥(private key)
公钥:非对称加密模型中,加密密钥K就是公钥。
私钥:非对称加密模型中,解密密钥K'就是私钥。
公钥和私钥是同时产生的。其中用于加密的密钥称为公钥,用于解密的密钥用于私钥。
3. 公钥算法的理论基石
(1)建立在分解大数的困难度。
(2)建立在以大素数为模来计算离散对数的困难度。
4. RSA算法
建立在分解大数的困难度。公钥/私钥长度至少为:1024bit,安全性非常好。
四、密钥交换
1. 对称加密优缺点:
优点:高效。
缺点:密钥交换安全性的问题;不如RSA的加密安全程度高,但是当选择256bit的AES,仍然能胜任绝大多数的安全领域。
2. 非对称加密算法的优缺点:
优点:安全性足够高;没有密钥交换的问题。
缺点:效率低,对于大数据加密很慢。
3. 实际的保密会话应用场景
密钥交换方式一:利用公钥密码来交换会话密钥。
密钥交换方式二:Diffie-Hellman密钥交换协议。
五、消息摘要
1. HASH与散列函数的定义与特点
2. 消息摘要和数字指纹
3. HASH的应用场景
(1)防篡改
(2)防损坏
(3)认证
4. HMAC
Hash-basedMessageAuthenticationCode,基于hash的消息鉴别码。
六、电子签名
不是所有的公钥算法都支持私钥加密、公钥解密。如果支持的话,则该算法除了用来进行加密,还可以用于电子签名。如RSA。
私钥加密、公钥解密的目的:证明我现在加密的信息确实是我加密的,而不是别人伪造的。如果别人能用我的公钥进行解密,更加验证了:这确实是用我的私钥加密后的,否则别人是不可能用我的公钥解密的。
整理时参考:极客学院 - Android六种核心安全机制-加密、密钥、签名与证书
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
必须深入理解Android核心技术的底层原理和在开发中总结并使用各种最佳实践,别无他法!深入Android应用开发:核心技术解析与最佳实践以Android的源代码为主,SDK为辅,针对应用开发者的需求,对各种核心技术的使用...
本课概要 .mp4
必须深入理解Android核心技术的底层原理和在开发中总结并使用各种最佳实践,别无他法!深入Android应用开发:核心技术解析与最佳实践以Android的源代码为主,SDK为辅,针对应用开发者的需求,对各种核心技术的使用...
Android会同一个核心应用程序包一起发布,该应用程序包包括email客户端,SMS短消息程序,日历,地图,浏览器,联系人管理程序等。所有的应用程序都是用JAVA编写的。 开发者也完全可以访问核心应用程序所使用的API...
本书十三个章节,分别讲解了android系统基础知识,android系统的结构和核心框架,Java虚拟机和Dalvik虚拟机的知识,实现程序编译和调试,Dalvik的运作流程,DEX优化和安全管理,Android虚拟机生命周期的管理和内存...
由资深Android开发专家根据OpenGLES2.0版本撰写,不仅系统地讲解了OpenGLES的核心概念、技术,以及Android的图形机制,还通过大量案例讲解了在Android上进行OpenGLES开发的方法和技巧。 《OpenGL ES应用开发实践...
数据安全与恢复机制揭密 58到家集团数据安全建设探索与实践 大数据安全威胁与防范对策(公开版) 大数据安全之系统最佳实践 大数据视野下的数据安全防护体系探索 互联网+时代下新的数据安全防护思路 基于API的数据...
由资深Android开发专家根据OpenGLES2.0版本撰写,不仅系统地讲解了OpenGLES的核心概念、技术,以及Android的图形机制,还通过大量案例讲解了在Android上进行OpenGLES开发的方法和技巧。 《OpenGL ES应用开发实践...
ANDROID 的推出后可能影响的产业包括移动电信业,软件开发业,手机制造业,在以消费者为核心的状 态 。 对消费者的影响 � 高档手机选择面增加。 � A ndroid 在设计初期就考虑了与现其有业务的融合,改变以往从...
基于 Android 平台,通过 CC2541 蓝牙芯片和底层进行通信,以 HT32F1656 单片机为控制核心。 基于蓝牙技术、生物传感技术,RFID技术等,实现智能记忆门锁功能。 利用生物传感技术、RFID技术实现多种识别验证机制。 ...
Android 的核心系统服务依赖于 Linux 2.6 内核,如安全性,内存管理,进程管理, 网络协议栈和驱动模型 。 Linux 内核也同时作为硬件和软件栈之间的抽象层。 5 建立 Android Android Android Android 开发环境 ① ...
接着,书中深入剖析了Android 11.0的核心组件和关键特性,包括Activity管理、Service通信、BroadcastReceiver机制等,详细解释了它们的工作原理、实现细节以及最佳实践。 此外,本书还重点关注了Android 11.0在性能...
Android基础知识1.1 Android简介1.1.1 Android简要介绍1.1.2 Android发展历史1.1.3 Androidl技术特点1.1.4.Antlroid开发语言1.2.Antiroidl系统架构1.2.1 Android系统内核1.2.2 Android架构概述1.2.3 Android安全机制...
Android的核心系统服务依赖于Linux 2.6内核,如安全性、内存管理、进程管理、网络协议栈和驱动模型。Linux内核也同时作为硬件和软件栈之间的抽象层。 Android项目开发报告全文共8页,当前为第2页。 2.2 MVC框架 MVC...
Android 会同一个核心应用程序包一起发布,该应用程序包包括 email 客户端,SMS 短消息程序,日历,地图,浏览器,联系人管理程序等。所 有的应用程序都是用 JAVA 编写的。 Android 应用程序框架开发者也完全可以...
丰富的开发环境包括设备模拟器,调试工具,内存及性能分析图表,和Eclipse 集成开发环境插件应用程序Android 会同一系列核心应用程序包一起发布,该应用程序包包括email 客户端,SMS 短消息程序,日历,地图,浏览器...
DeepDroid: Dynamically Enforcing Enterprise Policy on Android Devices是发表在国际会议NDSS'15上的论文。这篇文章为了增强企业内部使用的安卓手机安全策略提出DeepDroid,以动态监控的方式管理app的访问权限。 ...
开发人员也可以完全访问核心应用程序所使用的API 框架。该应用程序的架构设计简化了组件的重用;任何 一个应用程序都可以发布它的功能块并且任何其它的应用程序都可以使用其所发布的功能块(不过得遵循框 架的安全性...
万维网的核心语言、标准通用标记语言下的一个应用超文本标记语言(HTML)的第五次重大修改 Android 一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放...