安全生产《信息安全基础实验指导》实验指导书.doc
- 格式:doc
- 大小:1.64 MB
- 文档页数:39
《信息安全基础实验指导》实验指导书 实验一 古典密码算法 实验名称:古典密码算法 实验类型 : 设计性实验
学 时: 4 适用对象 : 信息安全
一、实验目的 学习常见的古典密码学算法,通过编程实现替代密码算法和置换密码算法,加深对古典 密码体制的了解,为深入学习密码学奠定基础。 二、实验要求 分析替代密码算法和置换密码算法的功能需求,详细设计实现替代密码算法和置换密码 算法的数据结构和流程,给出测试用例和测试步骤,得出测试和结论。替代密码算法和置换 密码算法的实现程序必须提供加密和解密两个接口: int encrypt() 和 int decrypt() 。当加
密或者解密成功时返回 CRYPT_OK,失败时返回 CRYPT_ERROR。
三、实验原理 古典密码算法曾被广泛应用,大都比较简单,使用手工和机械操作来实现加密和解密。它的主要应用对象是文字信息,利用密码算法实现文字信息的加密和解密。下面介绍两种常见的具有代表性的古典密码算法,以帮助读者对密码算法建立一个初步的印象。
1. 替代密码 替代密码的原理是使用替代法进行加密,就是将明文由其它的字母、数字或符合所代替
后形成密文。这里每个明文字母对应的密文字母可能是一个,也可能是多个。接收者对密文进行逆向替换即可得到明文。替代密码有五种表现形式:
○1 单表代替 即简单替代密码或者称为单字母代替,明文字母表中的一个字符对应密文字母表中的一个字符。这是所有加密中最简单的方法。
○2 多名码代替 就是将明文字母表中的字符映射为密文字母表中的多个字符。 多名码简单代替早在 1401
年就由 DuchyMantua 公司使用。在英文中,元音字母出现频率最高,降低对应密文字母出现 频率的一种方法就是使用多名码,如 e 可能被密文 5、 13 或 25 替代。 ○3 多音码代替 就是将多个明文字符代替为一个密文字符。比如将字母 “i ”和 “j对”应为 “K”, “v和” “w” 代替为 “L”最古老的这种多字母加密始见于 1563 年由波他的 《密写评价》( De furtiois literarum
notis)一书。 ○4 多表代替 即由多个简单代替组成,也就是使用了两个或两个以上的代替表。比如使用有 5 个简单
代替表的代替密码,明文的第一个字母用第一个代替表,第二个字母用第二个表,第三个字 母用第三个表,以此类推,循环使用这五张代替表。多表代替密码由莱昂 .巴蒂斯塔于 1568
年发明,著名的维吉尼亚密码和博福特密码均是多表代替密码。 下面我们介绍一种典型的单表替代密码——凯撒 (Caesar)密码,又叫循环移位密码。 它的
加密方法就是将明文中的每个字母用字母表中该字母后的第 R 个字母来替换, 达到加密的目 的。它的加密过程可以表示为下面的函数: E(m) ( m k) mod n
其中,m为明文字母在字母表中的位置数; n为字母表中的字母个数; k为密钥;
E(m)
为密文字母在字母表中对应的位置数。 例如:对于明文字母 H ,其在字母表中的位置数为 8,设 k 4 ,则按照上式计算出来的密文为 L ,计算过程如下:
E(8) ( m k) mod n (8 4) mod 26 12 L
2.置换密码 置换密码算法的原理是不改变明文字符,而是按照某一规则重新排列消息中的比特或字符顺序,才而实现明文信息的加密。置换密码有时又称为换位密码。
矩阵换位法是实现置换密码的一种常用方法。它将明文中的字母按照给定的顺序安排在一个矩阵中,然后用根据密钥提供的顺序重新组合矩阵中的字母,从而形成密文。例如,明
文为 attack begins at five ,密钥为 cipher ,将明文按照每行 6 个字母的形式排在矩阵中,形成如下形式:
a t t a c k b e g i n s a t f i v e
根据密钥 cipher 中各个字母在字母表中出现的先后顺序,给定一个置换: 1 2 3 4 5 6 f
4 5 3 2 6 1
根据上面的置换,将原有居住中的字母按照第1列、第4裂、第5裂、第3裂、第2列、第6列的顺序排列,则有下面的形式:
a a c t t k b i n g e s a i v f t e
从而得到密文:abatgftetcnvaiikse 其解密过程是根据密钥的字母数作为列数,将密文按照列、行的顺序写出,再根据由 密钥给出的矩阵置换产生新的矩阵,从而恢复明文。 四、实验所需仪器、设备、材料(试剂) 运行 Windows 或 Linux 操作系统的 PC机,具有 gcc ( Linux )、 VC( Windows)等 C 语
言或 java 编译环境。 五、实验预习要求、实验条件、方法及步骤 ( 1)根据实验原理部分对替代密码算法的介绍,自己创建明文信息,并选择一个密钥,编写替代密码算法的实现程序,实现加密和解密操作。
( 2)根据实验原理部分对置换密码算法的介绍,自己创建明文信息,并选择一个密钥,编写置换密码算法的实现程序,实现加密和解密操作。 六、思考题 1、 你所知道的古典密码算法还有那些?详细说明具体的加密和解密过程。 2、 你所看过的和密码有关的电影或小说有哪些?描述一下其中的加密解密基本原理。
实验二 使用 Sniffer 工具嗅探
实验名称:使用 Sniffer 工具嗅探 实验类型 : 验证性实验、综合性实验
学 时: 6 适用对象 : 信息安全 一、实验目的 通过使用 Sniffer Pro 软件掌握 Sniffer (嗅探器)工具的使用方法,实现捕捉 FTP、 HTTP等协议的数据包,以理解 TCP/IP 协议中的多种协议的数据结构、会话连接建立和终止
的过程、 TCP序列号、应答序号的变化规律。并且,通过实验了解 FTP、 HTTP等协议明文传 输的特性,以建立安全意识,防止 FTP、 HTTP等协议由于传输明文密码造成的泄密。 二、实验要求
(1) 用两台主机做实验,一台主机进行 Telnet 登陆,另一台主机进行嗅探,把嗅探到的重要信息写出来,尤其是用户名和密码,过程与任务二和任务三类似。
(2) 任务三中嗅探 HTTP 信息所得到的数据包太多,既占用主机的硬盘资源,分析起来又极其麻烦,其实可以设置 Define Filter 选项中的 Data Pattern,这个功能可以设置更加详细的过滤选项从而使我们用最少的数据包得到最有用的数据,请自己做实验并研究怎样设置这
些选项,并把任务三的实验重新做一遍,以得到少而有用的数据包,把设置的详细步骤和最终结果写出来。
(3) 用两台主机做实验,在一台主机上安装防火墙,另一台主机再进行嗅探,看是否还能接收到信息,如果不能,分析其原因并详细写出来。
三、实验原理 Sniffer 是 NAI 公司推出的协议分析软件,它可以利用计算机的网络接口截获目的地为 其他计算机的数据报文,并迎合了网络管理所需的基本要求,支持丰富的协议,能够进行快 速解码分析,而且 Sniffer 可以运行在各种 Windows 平台。
1.网络技术与设备简介 在讲述 Sniffer 的概念之前,首先需要讲述局域网设备的一些基本概念。
数据在网络上是以很小的称为帧 ( Frame)的单位传输的, 帧由几部分组成, 不同的部分
执行不同的功能。帧通过特定的称为网络驱动程序的软件进行成型,然后通过网卡发送到网 线上,通过网线到达它们的目的机器,在目的机器的一端执行相反的过程。接收端机器的以 太网卡捕获到这些帧,并告诉 操作系统 帧已到达,然后对其进行存储。就是在这个传输和接 收的过程中,嗅探器会带来安全方面的问题。 每一个在局域网 ( LAN)上的工作站都有其硬件地址, 这些地址惟一地表示了网络上的机
器(这一点与 Internet 地址系统比较相似) 。当用户发送一个数据包时,这些数据包就会发 送到 LAN上所有可用的机器。 在一般情况下,网络上所有的机器都可以“听”到通过的流量,但对不属于自己的数据 包则不予响应(换句话说,工作站 A 不会捕获属于工作站 B的数据,而是简单地忽略这些数 据)。如果某个工作站的网络接口处于混杂模式(关于混杂模式的概念会在后面解释) ,那么 它就可以捕获网络上所有的数据包和帧。 2.网络监听原理 Sniffor 程序是一种利用以太网的特性把网络适配卡( NIC,一般为以太同卡)置为杂乱 ( promiscuous )模式状态的工具, 一旦同卡设置为这种模式, 它就能接收传输在网络上的每一个信息包。
普通的情况下,阿卡只接收和自己的地址有关的信息包,即传输到本地主机的信息包。 要使 Sniffer 能接收并处理这种方式的信息,系统需要支持 BPF, Linux 下需要支持 SOCKET 一 PACKET。但一般情况下, 网络硬件和 TCP/ IP 堆栈不支持接收或者发送与本地计算机无关 的数据包,所以,为了绕过标准的TCP/IP 堆栈,网卡就必须设置为我们刚开始讲的混杂模
式。一般情况下,要激活这种方式,内核必须支持这种伪设备 Bpfilter ,而且需要 root 权
限来运行这种程序, 所以
sniffer 需要 root 身份安装, 如果只是以本地用户的身份进人了系
统,那么不可能唤探到 root 的密码,因为不能运行 Sniffer 。
基于 Sniffer 这样的模式,可以分析各种信息包并描述出网络的结构和使用的机器,由
于它接收任何一个在同一网段上传输的数据包,所以也就存在着捕获密码、各种信息、秘密 文档等一些没有加密的信息的可能性。这成为黑客们常用的扩大战果的方法,用来夺取其他 主机的控制权。 3. Snifffer 的分类
Sniffer 分为软件和硬件两种,软件的 Sniffer 有 NetXray 、 Packetboy 、 Net monitor
等,其优点是物美价廉,易于学习使用,同时也易于交流;缺点是无法抓取网络上所有的传 输,某些情况下也就无法真正了解网络的故障和运行情况。硬件的 Sniffer 通常称为协议分 析仪,一般都是商业性的,价格也比较贵。 实际上本实验中所讲的 Sniffer 指的是软件。它把包抓取下来,然后打开并查看其中的
内容,可以得到密码等。 Sniffer 只能抓取一个物理网段内的包,就是说,你和监听的目标
中间不能有 路由 或其他屏蔽广播包的设备,这一点很重要。所以,对一般拨号上网的用户来 说,是不可能利用 Sniffer 来窃听到其他人的通信内容的。
4. Snifffer 可能造成的危害
嗅探器能够捕获口令; 能够捕获专用的或者机密的信息; 可以用来危害网络邻居的安全,