安全实验课程大纲目标:通过实验加深对安全基础知识及其运用的理解。安全基础知识:密码技术、安全模型;安全基础知识描述:原理、算法和编程;安全基础知识运用:代码、操作系统、网络、应用系统;安全基础知识运用描述:攻击、防护、检测、响应。实验题目、要求突出:原理、算法关键步骤;性能关键参数;运用范围对比;使用管理关键;常用平台技术对比。1.密码学a)DES加密算法的实现目标理解DES加密、解密的基本原理类型编程环境Windows系统、C/C++语言内容编程实现DES加密、解密算法要求1.在加密、解密算法代码中,分别做如下标注并输出每步中间结果:1)明文、密钥的输入和位数;2)初始置换;3)16轮置换和代换;4)预输出;5)结果输出;6)S盒代换计算。2.计算加密效率。参考资料1.胡予濮,张玉清,肖国镇(著),对称密码学,机械工业出版社,2002年8月。2.BruceSscheier,应用密码学(协议算法与c源程序),机械工业出版社,2000年1月。b)AES加密算法的实现目标理解AES算法的基本原理类型编程环境Windows系统、C/C++语言内容编程实现AES算法要求1.在加密、解密算法代码中,分别做如下标注并输出每步中间结果:1)密钥扩展;2)1-10轮迭代运算;3)每轮标注以下四个阶段:●字节代换;●行移位;●列混淆;●轮密钥加。2.计算加密效率。参考资料1.胡予濮,张玉清,肖国镇(著),对称密码学,机械工业出版社,2002年8月。2.BruceSscheier,应用密码学(协议算法与c源程序),机械工业出版社,2000年1月。c)RSA加密算法的实现目标理解RSA算法基本原理类型编程环境Windows系统、C/C++语言内容编程实现RSA参数生成与加密、解密算法要求1.用Solovay-strassen算法或Miller-Rabin算法生成RSA参数,标注两个大数以及公约和私钥生成代码。2.用上述结果,加密、解密文件,计算加密、解密效率。参考资料1.BruceSscheier,应用密码学(协议算法与c源程序),机械工业出版社,2000年1月。2.周玉洁,冯登国,公开密钥密码算法及其快速实现,国防工业出版社,2002年9月。d)ECC加密算法的实现目标理解ECC算法的基本原理类型编程环境Linux系统、libecc、C/C++语言内容编程实现ECC加密、解密要求1.在用户A加密、用户B解密算法代码中,分别做如下标注并输出每步中间结果:1)Eq(a,b)参数a,b,q计算;2)参数G计算;3)用户A密钥生成;4)用户A明文编码;5)用户A加密;6)用户B密钥生成;7)用户B解密。2.对比libecc、计算加密、解密效率。参考资料1.WilliamStallings,孟庆树等译,密码编码学与网络安全----原理与实践,电子工业出版社,2011.2.DouglasR.Stinson,冯登国等译,密码学原理与实践,电子工业出版社,2009.e)多表替代分析算法的实现目标掌握多表替代分析的方法与步骤类型编程环境Windows系统、C/C++语言内容编程实现多表替代分析算法要求1.在分析代码中做如下标注:1)猜测密钥字长度;2)使用重合指数法确认猜测;3)对密钥字计算对应的Mg值,寻找密钥。2.计算分析效率。参考资料DarrelHankerson,AlfredMenezes,ScottVanstone,椭圆曲线密码学导论,电子工业出版社,2005年8月。f)PKCS接口目标掌握Linux系统PKCS接口的使用,并通过Windows平台的CryptoAPI中的函数对其进行认证类型编程环境Linux系统、C/C++语言、PKCS接口内容利用PKCS接口制作数字签名要求在数字签名代码中做如下标注:Linux系统:1.信息摘要生成;2.摘要加密;3.signerInfo的封装;4.Signed-data的封装;Windows平台:1.CryptoAPI中的函数对其进行认证。参考资料1.AtulKahate著金名等译,密码学与网络安全,清华大学出版社,2009.2.(美)MitchTulloch,IngridTulloch著邓云佳等译,网络百科全书,科学出版社,2003.3.)MS-CAPI目标掌握MS-CAPI使用类型编程环境Windows系统、C/C++语言、MS-CAPI内容利用MS-CAPI实现数字信封要求在加密和解密代码中做如下标注:1.会话密钥生成;2.加密明文;3.加密会话密钥;4.解密会话密钥;5.解密密文。参考资料1.AtulKahate著金名等译,密码学与网络安全,清华大学出版社,2009.2.://cryptodox.com/Microsoft_CAPIh)PGP加密与解密目标掌握PGP软件的使用类型上机操作环境Windows系统内容利用PGP软件对outlook邮件与文件进行加密、解密和数字签名要求在Windows环境安装PGP软件;完成下列操作并生成操作截图:1.生成一对密钥;2.传递公钥;3.搜寻公钥;4.对outlook邮件加密、签名;5.对outlook加密邮件解密。参考资料1.(美)WilliamStallings著白国强译,网络安全基础应用与标准,清华大学出版社.2.=pgpi)PKI技术目标理解PKI实际的配置策略和应用类型上机操作环境Windows系统内容掌握CA服务安装、策略配置;掌握证书申请、发放,并使用证书进行邮件通信。要求描述CA服务安装、证书申请、发放中涉及的标准、策略和参数、密码技术。参考资料1.AtulKahate著金名等译,密码学与网络安全,清华大学出版社,2009.2.DouglasR.Stinson,冯登国等译,密码学原理与实践,电子工业出版社,2009.j)Kerberos5协议目标掌握Kerberos5的配置与使用类型上机操作环境Windows2003/2008内容使用Kerberos5实现用户鉴别、网络资源管理要求1.升级Windows2003/2008Server为域控制器;2.配置DNS服务器;3.配置Kerberos策略;4.Windows客户端加入域;5.Windows客户端经过Windows2003Server的Kerberos认证,并访问DNS服务器;同时说明以下内容:1)第一阶段客户最初票据的获取,客户与AS通信的数据内容、加密技术;2)第二阶段客户服务器票据的获取,客户与TGS通信的数据内容、加密技术;3)第三阶段客户发出服务请求,客户端与DNS服务器相互验证身份的数据内容、加密技术。参考资料1.WilliamStallings,孟庆树等译,密码编码学与网络安全----原理与实践,电子工业出版社2011.2.AtulKahate著金名等译,密码学与网络安全,清华大学出版社,2009.3.(美)WilliamStallings著白国强译,网络安全基础应用与标准,清华大学出版社,2011.k)电子商务安全目标理解Internet安全电子交易协议SET类型上机操作环境Windows系统、Internet、InternetExplorer内容1.升级浏览器高度加密强度;2.基于SET协议的电子钱包网上支付;3.申请网上银行金融交易服务。要求在以下操作步骤中,描述SET协议相关安全技术和功用:1.客户对商家的订单和支付命令;2.商家向支付网关传送客户支付命令、查询客户授权请求;3.支付网关向金融机构查询客户授权请求;4.支付网关向商家传送授权相应和付款标志;5.商家向客户发出购买响应;6.商家向支付网关发出付款请求;7.支付网关向金融机构发出付款请求;8.支付网关向商家发出付款响应。参考资料1.1.AtulKahate著金名等译,密码学与网络安全,清华大学出版社,2009.2.张爱菊主编,电子商务安全技术,清华大学出版社,2006.l)信息隐藏目标了解信息隐藏技术与其在数字水印中的应用类型上机操作环境Windows系统、MATLAB、VC内容空域不可见LSB图像水印图像信息隐藏与提取要求编写空域不可见LSB图像水印图像信息隐藏与提取代码,在代码中标出以下内容:1.载入图像;2.载入水印;3.水印嵌入;4.水印提取;将编码实际运行,观察并保存上述步骤运行结果。参考资料1.StefanKatzenbeisser,信息隐藏技术—隐写术与数字水印,北京,人民邮电出版社,2003。2.王丽娜、张焕国,信息隐藏技术与应用,武汉,武汉大学出版社,2003.8。2.系统安全a)Gina目标掌握Gina认证函数接口的应用类型编程环境Windows系统内容使用Gina设计实现系统认证界面、机制。要求通过修改Gina函数,编程实现以下系统认证功能,并在代码中标注以下各个功能相关的函数:1.界面输入包括:学号、一次性口令密码;2.界面操作选项包括:确定、关机。参考资料1..MicrosoftCorporation.MSDNLibraryb)PAM接口目标掌握PAM接口的应用类型编程环境Linux系统、PAM共享库内容使用PAM接口进行认证机制和参数的配置实现单点登录。要求(对以下编程关键步骤进行注释,对结果进行截图以说明)1)使用PAM提供给应用程序的接口pam_authenticate(),pam_setcred(),pam_acct_mgmt(),pam_open_session(),pam_close_session(),pam_chauthtok()编程实现Linux本地用户的验证管理功能;2)对其进行单点测试;3)形成完整的实验报告。参考资料倪继利.Linux安全体系分析与编程.电子工业出版社,2007c)TPM目标理解TPM软件栈的规范簇并学会配置和使用TPM接口类型编程环境Linux系统、硬件TPM安全芯片、支持TCG的BIOS程序、TrouSerS工具与库集内容使用TPM接口进行可信启动要求(对以下编程关键步骤进行注释,对结果进行截图以说明)1)修改grub,添加代码以度量代码并扩展tpm寄存器重新编译linux内核,增加对tpm驱动的支持;2)安装tpm库,以支持用户态程序,如makeSecret、viewSecret;3)编译生成makeSecret、viewSecret可执行文件;4)进行可信启动测试;5)写出完整的实验报告;6)在实验过程中碰到的问题以及解决方法;参考资料倪继利.Linux安全体系分析与编程.电子工业出版社,2007d)系统口令攻击目标掌握Windows和Linux下口令攻击技术的方法、原理以及口令安全性增强对策类型上机操作环境Linux系统和Windows系统内容使用L0phtCrack破解WindowsNT口令使用JohntheRipper破解Linux口令要求(对以下操作步骤进行注释,并截图说明实验结果)1.在Windows环境下使用L0phtCrack破解本地用户的密码信息,选择多种口令破解方法:快速口令破解、普通口令破解、复杂口令破解;2.在Linux环境下使用JohntheRipper破解本地用户的密码信息,选择多种口令破解方法:由规则及不规则的字典档破解模式、singlecrack、暴力法和外部破解模式;3.写出完整的实验报告;4.写出关于口令安全强度对口令攻击的影响与两种系统下口令安全机制的异同点的报告。参考资料1.张玉清.网络攻击与防御技术.清华大学出版社,20112.胡道元、闵京华.网络安全(第2版).清华大学出版社,2008e)Windows系统的漏洞扫描、系统攻击与安全防范目标掌握Windows下的漏洞扫描工具和攻击工具的使用方法与相应的防范漏洞的