版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 新型安全电子邮件加密系统的设计与实现【摘要】基于身份公钥加密是一种以用户的身份标识符作为公钥的新型加密体制。本文首先介绍基于身份的公钥加密方案(ibe,给出ibe安全加密体制的基本框架结构与工作原理;设计了一个ibe密钥管理方案,实现ibe公钥和私钥的安全分发;提出了一套基于ibe的安全电子邮件系统,开发了一个pkg密钥服务器和outlook邮件客户端加密插件,并实现ibe密钥管理方案;最后讨论了ibe邮件加密系统的安全问题。【关键词】基于身份的公钥加密;密钥管理;私钥产生中心;邮件加密【 abstract 】 identity-based encryption (ibe is a nove
2、l type of public key scheme which uses the users identity as her public key. in this paper, the identity-based encryption is firstly introduced, as well as the basic work framework of ibe present. a key management solution for ibe public and private key issuing is then proposed. at last, an ibe-base
3、d secure email system is proposed which including an ibe key server named pkg and an encryption client plug-in for outlook. in the proposed email encryption system, the ibe key management scheme is fully implemented and the security and performance of system are both discussed. 【 keywords 】 identity
4、-based encryption;key management;pkg; email encryption1 引言pki(public key infrastructure 系统中用户的公钥是由密码算法生成的一串大数,通过认证机构ca 签发的证书与用户的身份信息绑定,客户端在使用时需执行获取并验证公钥证书的操作,通常由ca 以证书撤销列表crl 的形式发布公钥的撤销信息。由于pki系统的组成和运营复杂庞大,且ca需要负责证书的颁发撤销和管理等操作,效率低下。1984年shamir提出了基于身份的公钥密码(identity-based encryption,以下简称ibe1。ibe的好处是无需
5、公钥证书,可大大简化基于证书的pki系统的密钥管理过程。ibe 加密体制采用接收者身份信息(id产生公钥,公钥对应的私钥由一个密钥管理中心pkg产生。由于私钥也可根据用户id产生,因此私钥产生的权限不能赋予用户而需pkg集中管理。由此,用户如何获取私钥、如何向pkg进行身份认证,私钥如何安全传送等密钥管理问题也成为ibe系统应用的研究热点。本文即将在介绍ibe体制基础上,设计一个具体的密钥管理解决方案,提出一套基于ibe的新型邮件加密系统,并给出具体的实现。2 ibe安全加密体制ibe的公钥是由用户身份信息计算所得,再由此公钥产生相应的私钥。这是ibe跟其它公钥加密技术(如pki等公钥和私钥随
6、机产生 的不同之处。ibe消除了发送方在发送加密信息之前直接或间接地通过目录服务器等代理方式跟接收方的交互验证过程。目前的ibe方案主要有两类:一类是基于数论中的二次剩余的方案,使用了大整数因子分解难题;另一种是基于椭圆曲线的方案,使用了双线性对映射,如weil对和tate对。在实际应用中基于二次剩余的ibe 方案产生的密文较长,对传输带宽要求较高,基于椭圆曲线的方案则具有低带宽等优点。一个ibe方案通常有四个算法组成:系统初始化、私钥提取、加密和解密,系统还应包含一个第三方信任机构pkg。(1 系统初始化:系统参数和主密钥初始化,系统参数完全公开,包括明文空间、密文空间、密码hash 函数等
7、,主密钥仅由pkg秘密保管,用于计算用户私钥。(2 私钥提取:输入系统参数、主密钥和标识用户身份的任意字符串id,返回对应的私钥。(3 加密:输入系统参数、用户id和明文,返回对应的密文。(4 解密:输入系统参数、用户私钥和密文,返回对应的明文。(1服务器系统初始化:生成公共参数和主密钥,并且把系统参数和一些关于该服务器的策略信息(如公钥自动更新时间等放在ibe参数服务器上作为公共参数,同时把公共参数和主密钥存放在pkg服务器上。(2用户(发送者及接收者向ibe参数服务器请求公共参数,服 务器经过对用户的身份认证为合法用户,即返回公共参数,否则请求失败。(3发送者在客户端,根据ibe公共参数及
8、接收者身份信息对明文加密,产生ibe密文。(4接收者收到密文后,若未取得对应的私钥,则向pkg发起私钥请求。(5pkg接收用户私钥请求,验证客户端信息如版本等、用户信息如用户名和密码,以及请求的公钥信息等;经pkg认证成功则在服务器产生用户私钥,并通过安全协议如ssl给用户返回私钥,认证失败则给出失败原因代码信息。(6接收方获得私钥后,输入公共参数、私钥即可解密,获得消息明文。3 ibe安全电子邮件框架设计与实现3.1 ibe密钥管理方案设计(1 公钥参数获取协议在ibe系统中发送方、接收方和pkg共用同一组公共参数,用户通过访问ibe参数服务器来获得公共参数,用户需要提供身份信息经过ibe参
9、数服务器认证为合法用户,ibe 参数服务器才会返回参数,否则将拒绝请求。(2 私钥分发协议私钥管理是ibe最关键的部分。接收者收到加密信息后,向pkg server提出私钥请求,pkg接收请求后,提取请求信息,如版本、私钥产生算法(bf或者bbl,请求的身份信息 以及用户身份认证信息。pkg根据信息分析,产生不同的响应:拒绝服务或提供服务。3.2 协议设计与实现本文采用c 语言开发实现了一整套基于身份加密的boneh-franklin方案,提供了产生系统参数、私钥生成、加密、解密等ibe应用接口和服务器客户端的应用测试等程序,并且采用java web开发实现了上述的ibe密钥管理协议。用户需要
10、先在服务器上注册:注册用户名、邮箱地址、用户口令等基本信息。服务器接受后发送邮件到用户邮箱,用户通过点击邮件链接激活帐号。注册成功后用户可以通过访问ibe参数服务器地址(如https:/.,输入相关信息通过验证后,经ssl或tls协议获取ibe公共参数。用户私钥分发协议的实现如下:服务器端系统在jdk1.5下采用java axis开发包,对用户请求信息进行soap消息封装,通过https 下soapconnection的call函数,即public soapmessage call (soapmessage msg,url to的调用,采用soapmessage req封装请求信息,请求地址t
11、o为newurl(“https:/localhost/soap/service/ getkey,服务器端采用public class keyresponse extends jaxmservlet implements reqresplistenerpublic soapmessage onmessage(soapmessage req 将该 servlet 映射为 ibe 的 pkg 服务器地址。 私钥请求客户端采用了 vc6.0 mfc,用 mssoaptoolkit api 封装客 户端信息,发送 soap 消息,服务器端部署证书,通过 ssl 对请求 消息和响应消息加密,由 onmes
12、sage 函数接收客户端的请求并解析 请求信息,经过对信息的验证,对版本不对、用户信息错误等给用 户返回不成功的响应消息,对用户正确的请求产生相应的私钥返 回。客户端解析响应:成功则自动保存私钥,失败则给出相应原因。 3.3 邮件客户端实现 outlook 是广泛使用的电子邮件客户端, 并且 microsoft 提供了二 次开发接口,即 outlook add-in 插件编程。com 加载项可以用于 office 的动态连接库 (.dll) com 加载项被明确注册要通过 office 。 应用程序来加载。因为 com 加载项被设计为 dll,所以它们可以在 与主控程序相同的进程中运行。进程内
13、加载项的好处是,可有效访 问主控程序的对象模型,这使得加载项可以快速地调用方法和属性 或接收来自主控程序的事件。 本文使用 vc6.0 建立新工程(atl com appwizard,插入 atl 对象, 实现 idtextensibility2 接口。 idtextensibility2 库提供了 5 个 可用来操纵插件以及宿主应用程序的事件: onconnection、 ondisconnection、onaddinsupdate、onstartupcomplete 和 onbeginshutdown。通过对该 com 加载项注册,可在 outlook 的选 项/其他/高级选项/com 加
14、载项处显示。 通过添加事件响应代码实现 atl 为 com 对象的 idispatch 接口提供的模板类 idispeventsimpleimpl<>,可对明文邮件加密、密文邮件解密,实 现用收件人邮件作为身份公钥加密邮件,当收件人收到该邮件并用 上述私钥请求客户端获取私钥后,点击”ibe dec”即可获得明文。 4 ibe 邮件加密系统的安全分析 本文开发实现的 ibe 安全电子邮件系统,发送方通过获取的 ibe 公共参数对发送消息加密时,可进一步通过自动添加时间信息(以 每年更新一次为例,如发送方输入对方邮箱 abc 加密 时,实际身份公钥可自动设置为 purpose=emai
15、l&date=2011&id=abc&system=test,表示 采用 email 地址作为用户身份 id,ibe 密钥参数信息为 test,密钥 有效期为 2011 年。我们称这种方案为基于策略的身份管理机制, 可有效加强 ibe 密钥管理的安全性和灵活性。并且,还可实现对用 户的透明操作,并可实现对公钥的定期更新。在应用中,可根据实 际情况确定一个合适的密钥更新时间周期。 在 ibe 公共参数请求和私钥分发协议中,采用了 ssl 协议加密保 护密钥的请求和响应数据包。但是,用户收到私钥后可选择保存在 本地客户端,对此问题,可在客户端提供对私钥的对称加密保护, 及用户收到私钥后需输入用户加密口令才能使用私钥,即用户每次 解密邮件时必须输入用户口令。这种机制符合常规,并不会改变用 户的安全操作习惯,可有效提高 ibe 密钥的安全性。 5 结论 本文阐述了 ibe 安全加密体制,并且给出了基于身份加密安全邮 件框架的具体设计和实现,最后讨论了公钥更新和私钥保存的安全 问题。 参考文献 1 m. f. dan boneh. identity-based
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论