《构建网络完全之加密和解密篇》课程计划表
提升系统安全性——系统安全加固(第1~2讲)
课程目标:
掌握Java无辖区限制政策文件配置以及使用。
掌握加密组件Bouncy Castle(简称“BC”)相关配置,熟练使用BC扩充加密算法。
课程内容:
介绍Java无辖区限制政策文件,并演示如何使用无辖区限制政策文件获得长密钥支持。(1课时)
介绍加密组件Bouncy Castle,并演示如何使用Bouncy Castle扩充加密算法。(1课时)
为数据做校验——消息摘要算法(第3~4讲)
课程目标:
了解常用消息摘要算法。
掌握Java 平台基本消息摘要算法相关API,实现常用消息摘要算法相关实现。
熟练使用Commons Codec和Bouncy Castle等工具包实现消息摘要算法,进行校验数据。
课程内容:
介绍常用消息摘要算法(包括MD、SHA、MAC三大系列)及应用模型分析。(0.5课时)
介绍并演示Java 6实现MD5、SHA1、HmacMD5和HmacSHA1等消息摘要算法,校验一般数据文件。(0.5课时)
介绍并演示Commons Codec对于Java 6所支持的消息摘要算法的简化实现,校验大数据文件。(0.5课时)
介绍并演示Bouncy Castle扩充Java 6尚不支持的消息摘要算法,如MD4、SHA224、HmacMD4和HmacSHA224等。(0.5课时)
隐藏机密数据——Base64算法(第5~6讲)
课程目标:
了解Base64算法原理。
熟练运用Commons Codec和Bouncy Castle提供的Base64及URL Base64算法实现,隐藏机密数据。
课程内容:
介绍Base64算法原理。(0.5课时)
介绍并演示Bouncy Castle和Commons Codec对于Base64算法的支持,以及SUN不推荐使用的算法实现API,并通过Base64算法隐藏机密数据。(0.5课时)
介绍URL Base64算法原理。(0.5课时)
介绍并演示Bouncy Castle和Commons Codec对于URL Base64算法的支持,并通过该算法在URL中隐藏传递机密数据。(0.5课时)
加密机密数据——对称加密算法(第7~8讲)
课程目标:
了解常用对称加密算法及其应用环境。
掌握DES、3DES和AES等主流对称加密算法的相关实现。
了解Blowfish、RC2、RC4和IDEA等非主流对称加密算法的相关实现。
了解PBE算法相关实现。
了解如何运用对称加密算法对数据加密。
课程内容:
介绍并演示DES和3DES最基本的对称加密算法实现,对网络交互数据加密。(1课时)
演示AES、Blowfish、RC2、RC4等算法实现,以及如何通过Bouncy Castle实现IDEA算法,结合消息摘要算法MAC对数据做校验。(0.5课时)
演示PBE算法实现,使用密码对文件加密。(0.5课时)
安全传递密钥——非对称加密算法(第9~10讲)
课程目标:
了解常用非对称加密算法及其应用环境。
了解DH、ElGamal算法相关实现。
掌握RSA算法相关实现。
课程内容:
介绍并演示DH、RSA算法实现。(0.5课时)
运用非对称加密算法进行密钥交换。(0.5课时)
介绍并演示通过Bouncy Castle实现ElGamal算法。(0.5课时)
介绍并演示“数字信封”技术。(0.5课时)
身份认证——数字签名算法(第11~12讲)
课程目标:
了解常用数字签名算法、模型分析,及其应用环境。
掌握RSA、DSA算法相关实现。
了解ECDSA算法相关实现。
课程内容:
介绍并演示RSA算法实现。(0.5课时)
运用数字签名算法对数据进行签名、验证。(0.5课时)
介绍并演示DSA算法实现。(0.5课时)
介绍并演示如何通过Bouncy Castle实现ECDSA算法。(0.5课时)
构建安全凭证——数字证书(第13~14讲)
课程目标:
了解数字证书应用模型分析,以及在网络安全应用中的作用。
掌握KeyTool证书管理工具。
掌握OpenSSL证书管理工具。
课程内容:
演示使用KeyTool构建自签名证书。(1课时)
演示使用OpenSSL构建根证书、服务器证书、客户证书。(1课时)
保护WebService应用——安全协议(第15~16讲)
课程目标:
了解HTTPS和SSL/TLS协议,以及在网络安全应用中的作用。
掌握单向认证、双向认证相关数字证书管理和服务器配置。
课程内容:
演示通过KeyTool工具构建的数字证书,搭建基于Tomcat+Axis架构下的WebService单向认证服务。(1课时)
演示通过OpenSSL工具构建的数字证书,搭建基于Tomcat+Axis架构下的WebService单向认证和双向认证服务构建。(1课时)