认证与访问控制(崔永泉)身份认证课程实验大纲.doc
文本预览下载声明
身份认证课程实验指导书
一、身份认证课程实验的意义
当前,重视实验与实践教育是各国高等教育界的发展潮流,实验与实践教学与理论教学是相辅相成的,具有同等重要的地位。它是在开放教育的基础上,为配合理论教学、培养学生分析问题和解决问题的能力以及加强训练学生专业实践能力而设置的教学环节;对于完成教学计划、落实教学大纲,确保教学质量,培养学生分析问题、解决问题的能力和实践操作技能更具有特别重要的意义。
身份认证是信息安全与保密技术的核心技术之一,是一门实践性非常强的课程,实践教学是培养密码技术应用性人才的重要途径,实践教学质量的好环,实际上也决定了应用型人才培养质量的高低。因此,加强身份认证课程实践教学环节,提高实践教学质量,对培养高质量的应用型人才至关重要。
二、实验的目的与要求
本实验指导书并不给出一些非常具体的实验步骤,让学生们照着做一遍的实验“指导书”。这样的实验无法发掘这群充满活力的人群的智慧和创造性。本书中的每个实验都是按照这种模式编写的:先给出有关的理论介绍,然后抛砖引玉地给出几范例,再给出一个简单的实验要求。同时,希望每个实验都完成准备-预约-实验-答辩4个环节。
实验内容包含对称密码和公钥密码二个方面,以Kerberos协议和OpenSSL
协议为代表通过具体实验使学生掌握这二类身份认证协议的结构、特性、攻击方法以及实际应用技术。
1.实验目的
(1)掌握Kerberos协议的相关原理;
(2)能够正确编译、安装、部署和配置Kerberos认证系统;
(3)能够自己动手编写程序,使用Kerberos认证系统发布的票据进行C/S系统的身份认证,并且协议会话密钥KS,使用KS对C/S之间的通信信息进行加密。
2.实验原理
参考Kerberos协议课程的PPT、krb5安装与配置手册、openssl目录下相关命令介绍等资料,还可以从网络上自己查询和下载相关资源进行参考。
3.实验环境
运行Windows系统和Linux操作系统的PC机,或者Windows系统上安装Linux系统的虚拟机,具有gcc(Linux)等C语言编译环境。
4.实验题目及要求
实验1 基于Kerberos协议票据的身份认证编程实现
(1)实验原理
本实验的原理参考Kerberos协议的相关内容。
(2)实验要求
① 熟悉Linux系统下基本命令的使用:比如启动telnet,ftp,ssh等服务,熟悉ftp、tar、vi等命令操作,熟悉使用root用户创建其他用户,并且能够使用其他用户telnet或ssh登录linux系统,并且能够在root用户和其他用户之间进行切换;
②能够在linux系统下,使用configure、make、make install 等命令正确编译、安装和配置Kerberos认证系统;保证Kerberos认证系统的正确运行;能够添加以自己姓名(汉语全拼)为名字的principal和服务sample所使用的principal;比如:
zhangsan1/@EXAMPLE.COM
zhangsan2/@EXAMPLE.COM
sample/@EXAMPLE.COM
③熟悉基于socket的网络通信编程的相关知识,编写简单的Client程序和Server程序,实现Client程序与Server程序之间基于Kerberos协议票据的身份认证和通信加密;具体可参考 Kerberos源代码安装包src目录下的
src/appl/simple/client 和 src/appl/simple/server目录下的 相关源代码;
④ 编写user_client和user_server通信程序,能够实现两个principal之间进行相同认证和信息传输的程序;
具体可参考 Kerberos源代码安装包src目录下的
src/appl/ user_user目录下的相关源代码;
能够由用户自己输入想要传输的message;比如-m “zhangsan is working”
⑤ 对程序重要的函数添加完整的注释,对调用krb5_开头的函数都要说明清楚函数的功能、输入和输出参数列表、返回值和函数内部的关键算法;
注释的参考格式如下:
/********************************************************
**功能:编制一个文件名匹配函数,与全局数组中的black,white,postfix规则匹配,得到是否需要加密
**输入:
** IN WCHAR* filename: 需要匹配的文件名,保证以L\0结束的
宽字符串
**输出:
** OUT BOOL* flag: 是否匹配的结果
**返回:
** NT_SUCCESS(Status):成功;其他失败:失败
**其他说明:
** 匹配算法说明:
显示全部