欢迎来到天天文库
浏览记录
ID:22596581
大小:57.00 KB
页数:7页
时间:2018-10-30
《基于pki的电子公文安全传输系统的设计研究》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、基于PKI的电子公文安全传输系统的设计研究:为解决Inter的安全问题,世界各国进行了多年的研究,初步形成了一套解决方案,即目前被广泛采用的PKI体系结构。PKI体系结构采用证书管理公钥,通过第三方的可信机构CA,把用户的公钥和用户的其他标识信息捆绑在一起,在InterX上验证用户的身份。PKI体系结构把公钥密码和对称密码结合起来,保证X上数据的机密性、完整性。 关键词:PKI电子公文安全传输系统设计研究 一、PKI的涵义 PKI是PublicKeyInfrastructure的缩写,即“公钥基础设施”,是利用公钥技术实现电子商务安全的
2、一种体系,X络通讯、X上交易是由它来保证安全的。 二、PKI技术 PKI技术是信息安全技术的核心,也是电子商务的关键和基础技术。PKI的基础技术包括加密、数字签名、数据完整性机制、数字信封、双重数字签名等。 三、公文加密的基本算法 1、RSA算法 RSA算法是在1977年由美国麻省理工学院MIT的RonalRivest,AdiShamir和LenAdleman三位年轻教授提出,并以三人的姓氏命名为RSA算法。该算法利用了数论领域中把两个大质数相乘生成一个合数十分容易,但要把一个合数分解为两个质数却十分困难,因此,可以将乘积公开作为加密密
3、钥。RSA是目前最有影响力的公钥加密算法。 2、HASH算法 HASH,一般翻译做“散列”,或音译为“哈希”的,就是一种将任意长度的消息,压缩到某一固定长度消息的函数。主要用于信息安全领域中加密算法,它把一些不同长度的信息转化成杂乱的128位的编码里,叫做HASH值。HASH就是找到一种数据内容和数据存放地址之间的映射关系。 3、文件的HASH值 文件的数字文摘通过HASH函数计算得到。不管文件长度如何,它的HASH函数计算结果是一个固定长度的数字。HASH算法是一个不可逆的单向函数。采用安全性高的HASH算法,如MD5、SHA1时,两个
4、不同的文件几乎不可能得到相同的HASH结果。因此,一旦文件被修改,就可检测出来。 四、电子公文安全传输系统的设计研究 1、系统总体功能设计 电子公文安全传输系统总体分为两个大部分:即CA系统和用户系统。 CA系统:其功能包括接收用户申请、审批申请、认证证书和反馈结果。 用户系统:其功能包括生成私钥以及请求证书、申请数字证书、申请结果查询、生成、签名、公文加密、生成数字信封、发送公文、打开数字信封、公文解密、认证、接收公文。 (1)申请数字证书。用户生成私钥和请求证书,将请求证书发送至CA,CA通过审核,对请求证书进行认证,并生成数字证
5、书,CA将数字证书颁发给申请的用户。 (2)发送电子公文。用户对电子公文的明文进行签名,对电子公文进行对称加密并生成密码文件;用接收方数字证书对密码进行加密,生成数字信封;发送方将数字信封和电子公文密码一起发送至接收方。 (3)接收电子公文和数字信封。接收方用私钥打开数字信封,生成密码对公文进行对称解密,解密后将发送方的数字证书对签字进行认证,并对比电子公文明文,以此来判断公文是否被恶意篡改。 (4)CA审核用户资料并颁发数字证书。CA接收用户的申请,审核用户资料,通过审核的用户,CA将为其颁发数字证书,并反馈审核结果。 2、系统程序设计
6、 (1)生成私钥及请求证书。用户申请私钥及其请求证书,首先输入保存私钥的位置,填写申请资料,输入保存请求证书的位置,执行程序,私钥和请求证书就生成了,生成私钥函数: RSA*RSA_generate_key(intnum,unsignedlonge,void(*callback)(int,int,void*),void*cb_arg);产生一个模为num位的密钥对,e为公开的加密指数,一般为65537(ox10001),假如后两个参数不为NULL,会有调用。 (2)公文加密。发送方输入公文明文文件、签字、数字证书,系统将判断数字证书是否有效
7、。只有数字证书有效,程序才继续执行。公文加密阶段使用对称加密,输入两次加密密码,若密码一致,则保存密码文件已生成的加密公文文件。 (3)公文解密。接收方接收到公文后,输入电子公文及密码文件,或直接输入解密密码,就能对文件进行解密,解密成功后,将公文文件保存。 (4)发送公文。发送方选择要发送的对象,然后输入该公文密文和数字信封文件,再将文件发送出去,这时将文件上传至FTP服务器,并更新数据库。当接收方登陆系统时,系统会提示有新的公文,接收方可从该FTP服务器上下载该文件,上传至FTP服务器函数: privateFtpStatusCodeUp
8、loadFun(stringfileName,stringuploadUrl) { StreamrequestStream=null
此文档下载收益归作者所有