______________________________________________________________________________________________________________
上海电力学院
计算机系统安全
实验报告
实验题目: 文件完整性保护 院 系: 计算机科学与技术学院信息安全系 专业年级: 信息安全专业三年级 学生姓名: 李鑫 学号 20103277
精品资料
______________________________________________________________________________________________________________
实验七 文件完整性保护
一、实验目的和要求:
掌握文件完整性检查的方法,实现基于莫科尔树模型的完整性验证。 二、实验内容:
1) 文件完整性检查
2) 实现基于莫科尔树的数据完整性验证算法。
三、主要实验设备:(包括实验课程所用设备、软件、工具等)
PC机,Windows, VmWare 虚拟机,Linux操作系统,
四、实验步骤 1. 文件完整性检查
1)使用md5sum对/etc/passwd文件生成摘要,具体命令如下:
md5sum /etc/passwd > md5result , 其中md5result为自定义的文件名。
2) 在passwd未做变动的情况下,对该文件进行完整性检查,具体命令如下:
md5sum -c md5result, 其中, 参数-c md5result 表示从md5result 文件中读取源
精品资料
______________________________________________________________________________________________________________
文件摘要,并进行文件完整性检查。
若passwd文件无变动(生成摘要到当前时间段内),则会出现“passwd: OK”的信息提示。
3)使用vim编辑器 /etc/passwd,对文件进行任意改动,存盘退出(先按esc键, 接着键入“:wq”回车)。
对passwd文件进行完整性检查,由于passwd已被修改过,所以检查后的信息提示为:”passwd :FAILED”.
2. 编写算法实现基于莫科尔树模型实现数据的完整性验证。 要求:
1)算法的详细设计。
2)用实例验证,给出结果截图。
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException; import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException; import sun.misc.BASE64Encoder;
public class MerkleTree { protected static class Merkle_node{ String hash_value; Merkle_node left,right; int elem; //执行计位操作 public Merkle_node(){} public Merkle_node(int elem){ this.elem=elem; this.hash_value=\ } public void setHash(String md5){ this.hash_value=md5; } public int getelem(){return elem;} public String getHash(){return hash_value;} } protected Merkle_node root; private int size;//树节点个数
精品资料