密码协议实现的安全分析是属于数学、计算机和密码学等交叉学科的研究热点之一,该领域的研究背景不仅需要数学、密码学以及计算机程序语言编程技术等,而且还涉及逻辑、统计等学科的体系知识,这是一个多学科交叉的研究领域。
密码协议实现涉及复杂环境和多学科知识融合,交叉学科研究前景广阔,主要应用于密码软件实现的逻辑安全分析、软件设计的逻辑缺陷分析、基于逻辑安全的密码协议设计与分析、系统实现的漏洞检测与分析等网络空间安全领域。
密码算法是密码技术的核心固件,是网络空间安全的核心技术。在保护公共信道方面,信息传输起到至关重要的作用。密码协议的安全是建立在密码算法安全基础之上的,但又不同于密码算法。密码协议至少存在两个参与者,按照一定的规则交互式地交换信息。虽然基于密码技术的协议在互联网上得到了广泛的应用,在网络空间安全领域中作出了巨大的贡献,但是随着密码协议实现环境的复杂化以及协同化要求越来越高,网络攻击事件频频发生,密码协议的分析与设计面临巨大挑战。
基于密码技术的密码协议在理论上被证明是安全的,但是在其编码成为软件实现时,并不一定是安全的,原因在于密码协议在设计时并没有考虑其实现时的安全性,以及在设计时的逻辑安全。针对这种情况,本书把密码协议实现时的安全性作为阐述重点,主要讨论密码协议代码实现时的安全性,并以此作为设计新密码协议方案的前提条件;在复杂环境下,引入数理逻辑规则与逻辑证明、π-演算的移动与交互理论等,设计新的密码协议方案,并对新的密码协议实现时进行逻辑安全分析。
对读者的要求
本书主要探讨复杂环境下密码协议实现时的安全性,分析密码协议实现的安全性需求,设计新的密码方案等。所以在技术上对读者有如下几方面的要求:
(1)具备良好的数学基础知识、现代密码学基础知识和数理逻辑知识,例如,离散数学、数论、现代密码基础知识以及逻辑规则等;
(2)具备计算机程序语言编程能力,例如,C语言、C++语言以及汇编语言等;
(3)需掌握一定的计算机网络知识与网络编程技术,例如,TCP/IP基础知识以及基于Socket套接字编程技术;
(4)具备一定的漏洞分析能力、反汇编能力和相关工具的使用能力;例如,漏洞分析、熟悉C/C++反汇编语言、工具olldbg使用等;
(5)掌握一定的大数据处理与分析技术,例如,数据挖掘、机器学习和统计分析等。
本书写作思路
本书是在长期从事网络空间安全教学与科研的基础上写成的,秉承着理论与实践相结合的写作思路。
首先,基于密码学的困难数学问题对密码协议代码实现的安全性进行分析,以密码协议代码实现时的安全因素作为前提条件,设计新的密码协议或改进现有的密码协议,使新的密码协议适用于对复杂环境下信息的安全保护。
其次,对提出或改进的新密码协议进行源代码分析,包括密码协议代码实现时的特征和行为的逻辑安全分析。
最后,通过具体的密码协议源代码实现的实验来证实新方案的可行性。
本书是一本学术专著,基本框架是理论与实践的融合,其理论主要来自数学、π-演算以及移动通信系统等,考虑密码协议代码实现时的安全因素,提出新的密码协议实现安全分析方案或设计新的密码协议。
本书读者
本书可作为信息安全、网络空间安全以及计算机科学与技术专业的本科生、研究生学习与学术研究的指导性教材,还可供在高等学校从事信息安全、密码学与应用密码学、网络空间安全等研究的工作者,以及网络空间安全爱好者学习参考之用。
作者团队与感谢
本书第8章由李延斌编写,其余章节由吴福生编写,并由吴福生对全书统稿。
本书的出版得到了国家自然科学基金项目(No.62062019,62072247, 62061007)和贵州财经大学学术专著出版专项资助。在写作过程中,引用了大量的文献,在此谨向这些文献的作者表示诚挚的谢意。
因笔者学术水平有限,书中难免会有不妥和错误之处,对此,恳请读者的理解和批评指正,并于此先致感谢之意。
衷心感谢博士生导师张焕国教授,感谢硕士生朱嘉杰、王雪梅的细心校对以及给予指导、支持和帮助的所有领导、专家和同行,衷心感谢本书的每一位读者。