新書推薦:
《
跟着渤海小吏读历史:大唐气象(全三册)
》
售價:HK$
189.0
《
心智的构建:大脑如何创造我们的精神世界
》
售價:HK$
81.4
《
美国小史(揭秘“美国何以成为美国”,理解美国的经典入门读物)
》
售價:HK$
81.4
《
中国古代北方民族史丛书——东胡史
》
售價:HK$
87.8
《
巨人传(插图珍藏本)
》
售價:HK$
705.6
《
地下(村上春树沙林毒气事件的长篇纪实)
》
售價:HK$
76.7
《
偿还:债务与财富的阴暗面
》
售價:HK$
80.2
《
清华大学藏战国竹简校释(壹):《命训》诸篇
》
售價:HK$
94.4
|
內容簡介: |
密码算法实现的软件化已经成为了大趋势,然而密码软件区别于一般软件的特殊性在于其密钥极其敏感,但目前主流的密码软件实现方案只将密钥数据当做一般数据进行处理。密钥等敏感数据如果被当作密码算法实现中一般数据对待,密码软件会遭受常见软件攻击进而泄露密钥,包括操作系统的漏洞、软件实现自身存在的漏洞、从未清零动态内存中获取密钥、基于内存数据扩散进行密钥的获取等软件层面的攻击,以及面向内存数据的Cold-Boot攻击和DMA攻击等物理攻击。但是目前软件实现主要依赖于操作系统的安全机制,密钥的存储和使用都存在着一定的风险。
本书主要介绍密码软件实现中所面临的各类安全问题,并介绍一些针对软件实现的常见密钥防护方式,包括基于寄存器、Cache、处理器增强、虚拟化技术、云计算技术等方式的密钥安全方案。
|
目錄:
|
序
前言
第1章 密码算法和密钥1
1.1 密码算法1
1.1.1 密码算法和数据安全2
1.1.2 密码杂凑算法3
1.1.3 对称密码算法6
1.1.4 公钥密码算法11
1.2 密钥管理和密钥安全15
1.2.1 密钥管理15
1.2.2 密钥安全23
1.3 密码算法实现27
1.3.1 密码软件实现28
1.3.2 密码硬件实现30
1.3.3 密码算法软硬件实现对比31
1.4 本章小结31
参考文献32
第2章 计算机存储单元和操作系统内存管理35
2.1 计算机存储单元35
2.1.1 寄存器37
2.1.2 内存44
2.1.3 Cache45
2.2 操作系统内存管理52
2.2.1 内核态和用户态的隔离53
2.2.2 用户态进程隔离54
2.3 本章小结62
参考文献63
第3章 典型的密码软件实现方案65
3.1 用户态密码软件实现65
3.1.1 常见的用户态密码库66
3.1.2 现有用户态密码库的安全防护71
3.2 内核态密码软件实现73
3.2.1 Windows CryptoAPI和Windows CNG73
3.2.2 Linux Kernel Crypto API78
3.3 虚拟机监控器密码软件实现80
3.3.1 虚拟密码设备方案81
3.3.2 虚拟化环境的虚拟密码设备管理方案83
3.4 本章小结85
参考文献86
第4章 密码软件实现面临的攻击87
4.1 软件攻击87
4.1.1 针对操作系统隔离机制漏洞的攻击87
4.1.2 针对内存数据残余的攻击88
4.1.3 针对密码软件实现自身漏洞的攻击90
4.2 物理攻击90
4.2.1 冷启动攻击90
4.2.2 DMA攻击91
4.3 间接攻击92
4.3.1 基于页共享的Flush Reload攻击93
4.3.2 CPU硬件漏洞攻击94
4.4 本章小结99
参考文献100
第5章 基于寄存器的密钥安全方案101
5.1 方案的原理102
5.2 安全假设和安全目标102
5.3 基于寄存器的对称密码算法实现方案103
5.3.1 方案设计103
5.3.2 系统实现106
5.3.3 结合虚拟机监控器的实现109
5.3.4 实现评估110
5.4 基于寄存器的公钥密码算法实现方案111
5.4.1 方案设计111
5.4.2 系统实现114
5.4.3 实现评估122
5.5 本章小结124
参考文献126
第6章 基于Cache的密钥安全方案127
6.1 方案的原理128
6.2 针对公钥密码算法的Copker方案128
6.2.1 安全假设和安全目标129
6.2.2 方案设计129
6.2.3 系统实现133
6.2.4 实现评估137
6.3 针对嵌入式设备的Sentry方案141
6.3.1 安全假设和安全目标141
6.3.2 方案设计和实现142
6.3.3 实现评估145
6.4 本章小结146
参考文献147
第7章 基于处理器扩展特性的密钥安全方案149
7.1 基于可信执行环境的密钥安全方案149
7.1.1 可信执行环境简介150
7.1.2 方案的原理156
7.1.3 安全假设和安全目标157
7.1.4 密钥安全方案设计和示例158
7.2 基于事务内存机制的密钥安全方案165
7.2.1 Intel TSX工作机制166
7.2.2 安全假设和安全目标166
7.2.3 方案设计167
7.2.4 系统实现169
7.2.5 实现评估174
7.3 本章小结176
参考文献177
第8章 基于门限密码算法的密钥安全方案179
8.1 秘密分享180
8.1.1 Shamir秘密分享方案180
8.1.2 基于Shamir秘密分享方案的扩展181
8.2 门限密码算法183
8.2.1 RSA门限密码算法示例184
8.2.2 SM2门限密码算法示例184
8.3 针对门限密码算法的密钥安全方案185
8.3.1 方案的原理186
8.3.2 安全假设和安全目标187
8.3.3 系统架构和工作流程187
8.3.4 实现评估193
8.3.5 密钥使用控制196
8.4 本章小结198
参考文献198
缩略语表200
|
內容試閱:
|
密码学是一门古老而又年轻的学科。自诞生以来,密码技术主要用于军事和外交领域重要信息的保密通信。随着香农的论文“保密系统的通信理论”的发表,密码技术逐渐建立起完备的理论基础,密码学也逐渐成为一门严谨的学科。今天的密码学应用已不再局限于军事和外交领域,密码技术已经成为实现网络空间安全的关键、核心技术,在维护国家安全、保障国计民生等方面发挥着重要的基础性作用。
在传统的应用场景下,密码算法大多实现为专用的硬件,例如密码机、密码卡和密码芯片等,利用隔离的密码计算环境和专用的密钥存储介质保护密码算法中关键的数据—密钥。近年来,随着密码技术的广泛应用,密码技术与计算机技术日益融合,密码软件实现蓬勃发展。软件形态的密码实现由于具有开发便捷、使用灵活、部署快速和维护方便的特点,已经在网络空间中得到广泛部署和应用。
在现有信息系统中,软件已经成为密码实现的主流形态。密码软件实现也是持续扩大密码学应用范围的推动力量之一。然而,由于密码软件实现依赖于计算机操作系统、没有独立的密钥存储空间和密码计算环境,在计算机系统面临各种漏洞和攻击的情况下,保证密钥安全是密码软件实现的巨大技术挑战。按照密码学原理,密码技术发挥安全作用的前提是密钥安全。密钥一旦泄露,攻击者就可以随意访问密钥,基于密码技术的安全服务就形同虚设。
相比于传统的密码硬件实现,密码软件实现的密钥安全技术风险没有得到应有的关注。在现有的密码软件实现中,密钥的安全保护措施与其他数据的一样,并没有得到应有的专门处理。密码软件与其他计算机软件共享运行环境,面临同样的敏感数据泄露威胁,即计算机系统的各种漏洞和攻击同样会影响密码软件,有可能导致密钥泄露,使攻击者非授权地读取密钥。如何保证密码软件实现的密钥安全,已经成为亟待解决而又极具挑战的重要问题。2014年,OpenSSL心脏滴血漏洞事件的大规模爆发为我们敲响了警钟。
本书围绕密码软件实现的密钥安全这条主线,系统地介绍了多种密码软件实现的密钥安全方案的原理和实际应用,通过密码软件实现面临的攻击引出密钥安全方案的设计和实现。全书共有8章,内容如下:第1章主要介绍密码算法以及密钥相关的基本知识和概念,使读者对密码算法实现和密钥安全有初步的认识;第2章简要介绍密码软件实现所依赖的运行环境,包括计算机体系结构和操作系统的相关知识;第3章和第4章介绍常规的密码软件实现及其所面临的各种攻击;第5~8章是本书的主体部分,分别详细介绍基于寄存器、基于Cache、基于处理器扩展特性、基于门限密码算法等的新型密码软件实现的密钥安全方案。
本书可作为高等院校网络空间安全和密码学等相关专业学生的教材,也可作为网络空间安全和密码行业技术人员的参考书。
在本书编写过程中,王子阳、魏荣、高莉莉、万立鹏、范广、孟令佳、郞帆、许新、刘广祺、范浩玲进行了大量的素材搜集、整理和校对工作,谨此致谢。
由于作者认识的局限和技术的快速发展,书中不妥和错漏之处在所难免,恳请广大读者提出宝贵意见,帮助我们不断改进和完善书稿。
作者
|
|