基于PKI的校园网身份认证系统的设计与实现
- 格式:doc
- 大小:31.50 KB
- 文档页数:8
基于PKI的网络安全站点通信设计与实现作者:***来源:《电脑知识与技术》2022年第16期摘要:PKI体系结构作为当下广泛采用的安全解决方案,主要用于互联网的安全认证。
该文介绍如何在centos8系统环境下,通过在校园内网架设CA和WEB两台服务器,有效地实现基于PKI的网络安全站点通信,并利用CA数字证书实现网站HTTPS的设计与实现,并在Windows客户端上访问WEB服务测试成功。
关键词:PKI;网络安全;HTTPS中图分类号:TP393 文献标识码:A文章编号:1009-3044(2022)16-0043-03为解决互联网的安全问题,世界各国经过多年的研究,初步形成了一套完整的Internet安全解决方案,即目前被广泛采用的PKI(Public Key Infrastructure)体系结构,PKI体系结构采用证书管理公钥,通过第三方的可信机构CA,把用户的公钥和用户的其他标识信息(如名称、e-mail、身份证号等)捆绑在一起,在Internet网上验证用户的身份,PKI体系结构把公钥密码和对称密码结合起来,在Internet网上实现密钥的自动管理,保证网上数据的机密性、完整性。
PKI,即Public Key Infrastructure,名为公钥基础设施。
PKI是一种遵循标准的利用公钥加密技术为电子商务的开展提供一套安全基础平台的技术和规范。
PKI主要由以下几部分组成:证书颁发机构CA,负责颁发证书。
证书注册机构RA,可以接受用户的证书注册申请。
证书吊销列表CRL,用于存放作废的证书。
证书存取库,用于存放证书,供用户获取[1]。
PKI体系中,包含凭证签发请求文件(Certificate Signing Request - CSR)是一种包含凭证签发时所需的公钥、组织信息、个人信息(域名)等信息的(.csr)文件,不含私钥信息。
证书颁发机构(certification authority - CA)是指互联网上信任的证书颁发機构,CA通过线上、线下等多种手段验证申请者提供信息的真实性,如组织是否存在、企业是否合法,是否拥有域名的所有权等,确认申请用户的身份之后再签发证书[2]。
综述256 2015年55期校园网统一身份认证系统的研究与实现黄娈天津城市建设管理职业技术学院,天津 300134摘要:随着校园建设规模的不断扩大,很多业务部门独立建成了涵盖教学、科研、管理、服务在内的多个业务系统,很大程度上改变了以往的教学及办公模式。
但是随着各种业务系统和用户数量的增加,网络规模也不断扩大,产生的跨部门协同办公和信息孤岛问题严重影响了校园建设进程,访问控制和用户信息安全问题也愈显突出,原有分散的“独立认证、独立授权、独立帐号管理”模式已经不能满足发展需求,因此建设一种完整统一、高效稳定、安全可靠的统一身份认证系统是校园网建设的重要目标。
关键词:校园网;身份认证系统;LDAP;;kerberos中图分类号:TP311.52 文献标识码:A 文章编号:1671-5810(2015)55-0256-02引言互联网技术的飞速发展使得网络服务已涵盖到工作、生活的各个方面,多种多样的网络服务、无处不在的应用和信息交流,使得国民经济的运行、各行各业的生产和人们的生活越来越依赖于网络这个交流平台,校园网也同样如此。
校园网不仅是高校对外交流的重要平台之一,也是展现学校风貌和特点的窗口。
随着近年来国家对高校信息化建设投入的增加,中国高校校园网开始进入高速发展阶段,规模不断扩大,应用领域日益增多,而众多信息系统的建设为教学科研、实验实习、行政管理、娱乐生活提供了一个方便、快捷、稳定、安全、高效的信息交流和资源共享平台。
但是网络高速发展也带来了很多问题,主要表现在网络资源不能合理分配、非校园网用户的接入影响了正常网络秩序,以及校园网内部信息的安全等。
面对这些问题,各高校都采用了用户认证接入系统,可以在一定程度上确保网络服务只能由校园网合法用户使用,从而对网络秩序的建立、资源的合理分配和网络信息的安全起到了保障作用。
1 存在的问题1.1 统一认证模式的问题统一认证模式是以统一身份认证服务为核心的服务使用模式。
第24卷第5期2006年9月北京工商大学学报(自然科学版)Journal of Beijing Tech nology and Busines s University(Natural Science Edition )V ol.24N o.5Sep.2006 文章编号:1671-1513(2006)05-0041-05PKI 系统中CA 服务器的设计与实现郭 晶, 陈 谊(北京工商大学计算机学院,北京 100037)摘 要:认证机构C A 是PKI 的核心执行机构,是PKI 的主要组成部分,本文简要介绍了PKI 的基本组成和C A 的架构设计,详细介绍了用Jav a 和OpenSSL 构建一个小型PKI 系统的方法.该PKI 系统扩展后可满足一定的安全需求,可用于校园网安全和企业安全应用,能实现C A 认证中心的功能,保证网上数据传输的机密性、完整性和不可否认性.关键词:认证中心;公钥基础设施;OpenSSL 中图分类号:TP 309.2 文献标识码:A 收稿日期:20051213作者简介:郭 晶(1980-),女,吉林长春人,硕士研究生,研究方向:计算机网络安全;陈 谊(1963-),女,北京人,教授,博士,研究方向:计算机网络应用,分布式虚拟现实,分布式交互仿真. 为解决Internet 的安全问题,IT 领域初步形成了一套完整的lnternet 安全解决方案,即目前被广泛采用的公钥基础设施(PKI ,public key infrastructure)技术,PKI 体系结构采用数字证书管理公钥,通过可信任的第三方认证系统CA (certifica te authority)来签发和管理证书.PKI 能实现主要包括认证、数据真实性、数据完整性、数据保密性、不可否认性、公正性以及时间戳等服务[1].Internet 网络的安全应用已经离不开PKI 技术的支持.网络应用中的认证、加解密的密钥管理、非否认等服务只有PKI 技术才能提供.研究和开发我们自己的实用PKI 技术已经变得刻不容缓,认证机构CA 是PKI 的核心执行机构,它的设计与实现就显得尤为重要.1 PKI 系统的组成完整的PKI 系统包括C A 、RA (registra tio n autho rity )、数字证书库、证书作废系统、证书应用管理系统等,一般构建PKI 也围绕这五个部分进行[2]:1)认证中心CA :认证机构C A 是PKI 的核心执行机构,是PKI 的主要组成部分,它的核心职责就是认证用户的身份,解决公钥体系中公钥的合法性问题.从技术上来说,证书的作用就是绑定主体的身份以及其与公钥的匹配关系,而CA 正是确立这种绑定关系的机构.C A 使用其私钥对RA 提交的证书申请进行签名,来保证证书数据的完整性,用户可使用CA 的公共密钥对数字证书进行验证.CA 的公钥在网上公开,整个网络系统必须保证完整性.2)注册中心RA(registratio n autho rity ):数字证书注册审批机构.RA 系统是C A 的证书发放、管理的延伸.RA 系统是整个CA 中心得以正常运营不可缺少的一部分,一方面负责审核证书申请者的身份,并决定是否同意给该申请者发放证书,另一方面向LDAP 服务器转发CA 颁发的数字证书和证书撤消列表C RL.3)数字证书库:数字证书库是一种网上公共信息库,存放了经CA 签发的证书和已撤销证书的列表,用户可以从证书库中得到其他用户的证书和公钥、验证其证书的真伪、或查询其证书的状态,因此系统还必须确保证书库的完整性,防止伪造、篡改证书.构造证书库的通用方法是采用支持LDAP 协议的目录系统,用户或相关的应用通过LDAP 来访问证书库.4)证书作废系统:证书作废系统是PKI 的一个41必备而重要的组件.当证书在CA 为其签署的有效期内可能需要作废时,如密钥介质丢失或用户身份变更等,就需要终止证书的生命期.作废证书一般通过将证书列入作废证书表(CRL )来完成.通常由CA 负责创建并维护一张及时更新的CRL,而由用户在验证证书时负责检查该证书是否在CRL 之列.CRL 一般存放在目录系统中,证书的作废处理系统必须保证C RL 的完整性.5)证书应用管理系统:指客户端和服务器端证书应用管理软件.它主要完成对某一确定证书的应用和管理任务,主要具有使用证书进行加密、签名、验证签名等功能,达到PKI 体系透明应用的目的.2 CA 认证中心的设计一个典型的C A 系统包括安全服务器、注册机构RA 、CA 服务器、LDAP 目录服务器和数据库服务器等[3],如图1.图1 典型CA 框架模型本课题中系统只有一个CA,并认为是可依赖的,根据应用的实际情况,将数据库服务器、RA 服务器和CA 服务器合并,RA 作为CA 的一个功能子模块,数据库功能独立,系统不设置安全服务器.具体架构如图 2.根据C A 的主要职责和本系统CA 的架构,将本系统的C A 认证中心分为以下三个模块.2.1 证书申请、签发子模块负责处理用户申请和签发证书.在本系统中用户申请证书的流程如下:1)用户访问本系统的注册网站,先下载CA 的根证书,再填写相应表单,提交证书申请.该申请中包括客户的姓名、通信地址等信息.2)网站后台程序验证客户提交的请求信息.如果正确,就把请求信息放入数据库中.否则,认为申请无效.3)CA 服务器根据提交的请求信息、本地的证书政策签发证书,并把该证书存放到证书库中和目录服务器中.图2 本系统的CA 架构4)CA 服务器在签发证书后,通过邮件通知用户,该证书请求已被批准以及该证书的证书序列号.5)用户在得知证书序列号后,在指定的链接上下载证书.考虑到本系统的规模较小,没有设立独立运行的RA ,只是将RA 作为CA 的一个功能子模块,负责收集用户信息,提供注册服务.2.2 管理证书子模块主要负责管理证书信息资料,并负责更新和归档证书.包括管理证书序号和CA 标识,确保证书主体标识的惟一性,防止证书主体名字的重复.在证书使用中确定并检查证书的有效期,保证不使用过期或已作废的证书,确保文件传输的安全.2.3 证书作废和处理子模块主要负责发布和维护及时更新的作废证书列表(CRL ),此模块可以作废一个或多个主体的证书,也可以作废由某一对密钥签发的所有证书.本系统中,用户自愿提交申请,撤销证书的流程如下:1)用户向C A 操作员发送一封签名加密的邮件,声明自己自愿撤消证书.2)C A 验证请求后,撤消证书,同时更新CRL 列表,然后将CRL 公布到目录服务器上.3)用户浏览CA 网站,下载或浏览CRL.3 系统实现OpenSSL 项目是一个健全的、商业级的和开放源代码的工具包,用于实现安全套接层协议(SSL v 2/v 3)和传输层安全协议(TLS v 1)以及形成一个42北京工商大学学报(自然科学版)2006年9月 功效完整的通用加密库.OpenSSL工具包可分为三个部分:SSL函数库、Cry pto函数库和命令行工具. SSL函数库实现了安全套接层协议(SSL v2/v3)和传输层安全协议(TLS v1);Crypto函数库实现了大多数Internet标准的加密算法;Open SSL的命令行工具提供了一个从操作系统中直接使用以上两个函数库的途径[4].整个系统构建于windo ws2000之上,Web页面采用JSP技术,应用服务器为Tomcat,后台程序调用了OpenSSL的库函数,来实现主要功能.整个C A系统能根据用户提交的信息快速签发数字证书,并放置在网上供用户下载使用,系统能有效地管理证书和密钥.限于篇幅,下面简要介绍系统签发数字证书的相关实现.1)涉及的主要数据结构为:struct stu SubjectInfo{……}∥描述个体信息,包括国家、城市、组织、组织部门、姓名、电子邮件、曾用名等等struct stu Revo ke∥描述证书作废结构链表{ int Index;∥证书序号 time-t tim e;∥吊销时间 stuRevo ke*Link; stuRevo ke() {memset(this,0,sizeof(stu Rev oke));} stuRevo ke(int index,time-t t) {Index=index; tim e=t;; Link=N ULL;}};2)签发用户数字证书的主要流程为:①CA制作自签名根证书,生成私钥文件priFile②生成证书请求reqFile③根据C A根证书和reqFile,签发用户证书3)相关实现,介绍几个主要的函数.(函数并不完整,期间省略了异常处理)CA制作自签名根证书,主要函数为:bool m kRoo t(stuSubjectInfo*roo tInfo,X509 **x509p/*out公钥*/,EV P-PK EY** pkey p/*out私钥*/,int bits/*位数*/,int serial/*序列号*/,int days/*有效期*/) {……∥省略相应变量定义 Rand(N ULL,1,out);∥产生随机数种子 rsa=RSA-g enerate-key(bits,RSA-F4, 0,N U LL);∥产生密钥对 X509-set-_v ersion(x,2);∥版本号,显示+1 ASN1-IN TEGER-set(X509-g et-serialNumber(x),serial);∥序列号 X509-g mtime-adj(X509-g et-notBefo re (x),0);∥起始时间 X509-g mtime-adj(X509-g et-no tAfter (x),(long)60*60*24*day s);∥结束时间 X509-set-pubkey(x,pk);∥公钥 setlocale(LC-CTY PE,""); Add-Name(nam e,NID-co untryNam e, (cha r*)roo tInfo->C, sizeo f(roo tInfo->C),out);∥填充国家信息 ……∥此处省略,按结构stuSubjectInfo 填充各种个体信息 X509-set-issuer-nam e(x,name);∥设置发行者名称等同于上面的 ∥加入扩展信息 Add-Ex tCer t(x,x,N ID-basic-co nstraints,“critical,CA:TRU E”);……}BOO L make Roo t(stuSubjectInfo* roo tInfo,/*信息*/int bits/*位数*/,int serial/*序列号*/,int day s/*有效期*/,char* cer tFile/*证书文件*/,char*priFile/*私钥文件*/,int ty pe/*类型pem-der*/)此函数调用mk Ro ot函数,制作自签名根证书,同时生成私钥文件priFile.生成证书请求的主要函数为:BOO L make Req(stuSubjectInfo*reqInfo,/*请求信息*/int bits/*位数*/,char*req File/*证书请求文件*/,char*priFile/*私钥文件*/, int ty pe) {……∥变量定义 if(((breq=BIO-new-file(req File,“w”)) ==N U LL)||((bkey=BIO-new-file(priFile,“w”))==NU LL)){……//输出错误信息,返回false} if(!m kReq(reqInfo,&req,&pkey,bits, outMsg)){……//输出错误信息,返回false}43 第24卷第5期郭 晶等:PK I系统中CA服务器的设计与实现 if(ty pe==PEM){i=PEM-w rite-bio-X509-REQ(breq,req); j=PEM-w rite-bio-Priv ateKey(bkey, pkey,N ULL,N U LL,0,N ULL,NU LL);} else if(type==DER-T){ i=i2d-X509-REQ-bio(breq,req); j=i2d-Priv ateKey-bio(bkey,pkey); } ……∥省略}签发证书的主要函数为:BOOL makeCert(cha r*cer tfile/*根证书公钥*/,int cer tlen,char*keyfile/*根证书私钥*/,int key len,int seria l/*序列号*/,char* endda te/*作废日期*/,int days/*有效期*/, cha r*reqfile/*请求文件*/,int ty pe/*结果类型DER,PEM*/){……∥变量定义,省略 OpenSSL-add-all-dig ests();∥加入签名算法 if((reqbio=BIO-new-file(reqfile,“r”)) ==N ULL){ret=0;go to err;} if((req=PEM-read-bio-X509-REQ (reqbio,NU LL,N ULL,N U LL))==NU LL) { BIO-reset(reqbio); pkey=LoadKey(key file,keylen, N U LL,outMsg); x509=LoadCert(certfile,certlen, o utM sg); md=“sha1”; j=certify(&x,req,pkey,x509,dgst,∥公钥证书o ut,请求文件,根私钥,根公钥,serial," today",enddate,day s,KU SAGE,EKU SAGE, o utM sg); if(ty pe==DER-T){i2d-X509-bio (bcert,x);} else if(type==PEM){PEM-w rite-bio-X509(bcer t,x);} err:……∥省略}}∥主要是通过证书请求,得到证书.4 结束语数字证书相当于电子身份证,目前在电子商务飞速发展的今天应用相当广泛,交易支付过程中,参与各方必须利用认证中心签发的数字证书来表明各自的身份.2005年4月1日,被喻为“我国首部真正意义的信息化法律”的《电子签名法》正式实施,其配套部门规章《电子认证服务管理办法》同时实施.自此数据电文有法律效力,双方使用电子签名要有认证,所以认证中心的设计与实现就显得非常重要.用OpenSSL认证服务器进行证书发放、证书更新、证书撤销,建立自己的C A认证中心,开发费用低,代码健壮,用强大的加密算法来保证信息传输的安全,它将有力地促进我国电子商务的发展.本文提出了用Java和OpenSSL构建一种小型C A的方法,Java具有跨平台性,OpenSSL是用标准AN SI C编写,具有源代码级的跨平台性,所以用Java和OpenSSL构建的CA系统可以很容易在不同的平台之间移植.参考文献:[1] Andr ew N,Willia m D,Celia J.公钥基础设施(PK I)实现和管理电子安全[M].张玉清,陈建奇,杨波,等译.北京:清华大学出版社,2002.[2] 关振胜.公钥基础设施P KI与认证机构CA[M].北京:电子工业出版社,2002.[3] 刘微微.公钥基础设施P KI/CA认证安全体系[J].计算机辅助工程,2002,11(1):7335.[4] 张浩然.用J av a和OpenSSL实现认证中心[J].计算机应用研究,2004,21(5):157159.44北京工商大学学报(自然科学版)2006年9月 DESIGN AND REALIZATION OF CA SERVER IN PKI SYSTEMGUO Jing , CHEN Yi(College of Computer Science and Technology ,Beijing Technology andBusiness University ,Beijing 100037,China )Abstract :Certifica te autho rity is the co re and important part of PKI.This thesis introduces basic structure o f PKI and structure of certifica te authority simply.Then introduces a method to build a mini C A with Java and OpenSSL.The CA system perfected w ould satisfy requirem ent of so me security lev el.It can be used in security o f cam pus netw ork and enterprise applications.It can realize the functio n o f certificate authority,g ua ra ntee the confidentia lity ,integ rality a nd undeniable opera tion o f data transfered by netw o rk.Key words :CA;PKI;OpenSSL(责任编辑:王 宽)(上接第40页)DEVELOPMENT OF RESEARCH ON DIGITALWATERMARKING TECHNOLOGYC HEN Xiu -xin(College of Information Engineering ,Beijing Technology and Business University ,Beijing 100037,China )Abstract:Digital w aterma rking is a n effective method to protect copy right .No wadays ,it has been a hot in th e research field of m ultimedia security and it is an im por tant branch of info rmation hiding.Studied the research o bject,applica tio n field,classificatio n and system model o f digital w atermarking technolo gy .Sev era l typical w atermarking sch em es fo r pictures w ere also introduced and their adv antages and disadva ntag es w ere a naly zed .Key words :digital w atermarking;m ultimedia security;digital w atermarking for pictures(责任编辑:叶红波)45 第24卷第5期郭 晶等:PK I 系统中CA 服务器的设计与实现。
基于PKI的网络云认证系统设计张瑞;舒虹【摘要】为了提高网络运行的安全性,设计了一种基于PKI的网络云认证系统,介绍了公钥基础设施PKI的框架,详细介绍了数字证书,给出证书制作过程.所设计系统主要由应用模块与云认证模块两大部分组成,通过证书中心模块产生密匙对与数字证书,将其压缩成文件,利用安全信道递交给用户,实现数字证书申请.云认证模块通过"挑战/应答"协议完成核对认证,给出云认证协议的设计过程.实验结果表明所设计系统效率和可靠性均较高.%In order to improve the safety of network operation,a network cloud authentication system based on PKI was de-signed. The framework of the public key infrastructure(PKI)is introduced. The digital certificate is introduced in detail,and its manufacturing operation is given. The system is mainly composed of application module and cloud authentication module. The se-cret key pairs and digital certificate are generated in the certificate center module,compressed into files,and submitted to user through the secure channel to realize the digital certificate request. The certification is checked in cloud authentication module by means of "challenge/response" protocol to give the design process of the cloud authentication protocol. The experimental re-sults show that the designed system has high efficiency and reliability.【期刊名称】《现代电子技术》【年(卷),期】2017(040)023【总页数】4页(P81-84)【关键词】PKI;云认证;系统设计;数字证书【作者】张瑞;舒虹【作者单位】贵阳学院数学与信息科学学院,贵州贵阳 550005;贵阳学院数学与信息科学学院,贵州贵阳 550005【正文语种】中文【中图分类】TN915.08-34;TP311当今社会处于网络时代,人们的生活和工作越来越离不开网络,但在使用网络时往往会被盗取一些信息,被盗取信息或许包含个人隐私、企业商机甚至国家机密[1]。
校园网统一身份认证系统设计摘要:由于在校园网络环境下需要建立多个信息系统,为学校领导、各部门及全校教师、学生提供多种服务,这样就带来了一个突出的问题,众多用户面对多个系统要重复输入帐号、口令等信息,不仅烦琐,更重要的是容易出现口令丢失,一旦口令泄漏不仅会造成不可估量的损失。
关键词:LDAP;数字化校园;身份认证一建设目标数字化校园校内应用环境复杂,将面临不同的网络环境、硬件平台、操作系统、软件结构、开发语言、运行模式,统一身份认证系统必须能够开放的支持应用集成服务,所有安全服务,除了加密、解密服务以外,其它安全服务必须对应用开发人员透明。
建立统一的身份认证中心,集中进行身份认证,提高数字化校园应用系统的安全性。
平台设计满足以下要求:1)支持两种类型客户端的认证,Web浏览器和胖客户端应用程序;2)支持基于HTTP协议基本认证方式的用户名/密码(来源于多种用户存储方式)验证,为了能够保护使用HTTP协议传送密码,必须能够使用传输层安全技术(比如HTTPS),或者使网络层安全技术(比如IPSEC或者VPN等)来对密码提供保护;3)支持基于HTTPS协议的用户CA证书验证;4)支持主流Web服务器,包括系统:Apache、Microsoft IIS等;5)提供便捷的用户、用户组、角色管理功能模块,支持统一的权限管理。
二LDAP目录服务和统一身份认证系统LDAP最大的优势是:它是跨平台的和标准的协议,它可以应用在任何计算机平台上,很容易获得,而且它也很容易定制应用程序为它加上LDAP的支持。
其次,它有优秀的检索性能,LDAP在处理大量用户并发检索访问问题上优势明显,具有比关系数据库系统更快的响应速度。
第三,它有完善的安全机制,LDAP通过访问控制列表ACL设置对目录数据的读和写的权限,通过支持基于SSL(Secure Socket Layer)的安全机制完成对明文加密,能提供更安全的保障。
由于LDAP卓越的检索性能和跨平台支持的特性正符合统一认证系统中大量用户口令的存储和管理的要求,因此,在统一认证系统的设计中,目录服务数据库是整个统一认证系统的基础。
学校网络统一身份认证系统设计
周思吉
【期刊名称】《卷宗》
【年(卷),期】2013(0)2
【摘要】随着计算机技术和网络技术在校园中的普及,校园中建立了多种应用系统,来实现对人员的管理、信息的管理,提供各种信息服务.但是,由于各个系统丰管部门不同、面向对象不同、对学校影响的紧迫程度不同,各个系统是分步建成的,并不是统一规划的.各个系统建立的时间不同,在提供应用的厂商不同,各个系统之间大都互相独立,缺乏一个统一的登录人口.本文可以设计一个统一认证的系统,通过单点登录来实现对各个应用系统的访问和使用.此系统是基于PKI的校园网身份认证系统.【总页数】2页(P103,78)
【作者】周思吉
【作者单位】四川文理学院,四川达州635000
【正文语种】中文
【相关文献】
1.基于URL单点漫游的统一身份认证系统设计 [J], 罗雅过;张红祥;朱浩悦
2.基于SOA的统一身份认证系统设计 [J], 周益飞;蔡利军
3.漫谈基于LDAP的校园网统一身份认证系统设计 [J], 王砚瀚;叶本青
4.基于统一身份认证的校园多账户自助销户系统设计与应用 [J], 刘晓兰;吴驰;张洁卉;陶建平
5.基于统一身份认证的校园多账户自助销户系统设计与应用 [J], 刘晓兰;吴驰;张洁卉;陶建平
因版权原因,仅展示原文概要,查看原文内容请购买。
基于PKI的校园网身份认证系统的设计与实现 摘要: 将P K I 技术引入校园网络, 在加强校园网络安全的同时也为校园网络的使用提出了新的发展方向。这个基于P K I 的身份认证系统是一个两层C A 多R A 结合构造的校园网认证中心模型, 符合学校具有多个不同地域的校区, 多个工作性质不同部门的特点。在此设计模型上,利用开源软件包O pe nS SL对身份认证系统进行具体实现。
关键词:PKI 身份认证 网络安全 1 前言 随着网络信息化时代的到来,科研需求、教学应用、网络办公、网上娱乐等方面的网络应用逐渐渗透到了校园生活的方方面面。校园网是以网络为基础,从环境(包括设备、教室等)、资源(如图书、讲义、课件等)、到活动(包括教、学、管理、服务、办公等)全部信息化。我们要建设越来越多的校园网应用,对越来越多的用户开放这又与校园网的安全和稳定是矛盾的,本文正是基于这样的一对矛盾来研究校园网的安全策略。
基于公钥基础设施的PKI技术,采用了先进的安全技术对网上信息的发送方、接收方进行身份确认,以保证各方信息传递的安全性、完整性、可靠性、不可抵赖性等。作为大型网络上的基本身份认证协议的基础设施,PKI能够为大量的用户提供身份认证和授权绑定服务,公钥方式的身份认证协议安全强度高,通过证书链检验和C A之间的交叉认证,还可以支持跨域认证。
2 相关理论与技术 2.1 密码学 密码学是信息安全的基础[1],很早以前,它就在政治、军事、外交等领域的信息保密方面发挥着重要的作用。随着计算机与互联网的发展,密码学开始广泛用于民用信息安全领域。加密通常包含两个元素:加密算法和密钥。明文是发送人、接收人和任何访问消息的人都能理解的消息。明文消息用某种模式编码后,就得到了密文消息。
近代加密技术主要有两种,一种为对称密码,另一种是公钥密码,也称非对称密码。
2.1.1 对称密码学 对称密码加密是在加密和解密消息时需要使用相同密钥,或者虽然不相同,但是由其中任意一个可以很容易的推导出另一个的一种算法体制。这种算法要求信息交互的双方必须进行安全通信前,协商一个密钥,共享同一个密钥,并且这个密钥还要防止被他人获取。其安全性完全依赖于对密钥的保护,必须有可靠的信道来分发密钥。
对称密码加密的主要优点是运算速度快、效率高、算法简单、计算开销小,硬件容易实现;其缺点,也是最突出的缺点之一是密钥的分发与管理比较困难,特别是当通信的人数增加时,密钥数目急剧膨胀。另外一个问题就是密钥交换问题,无论是通过传统方法还是现代网络通信手段,密钥的安全性都不能得到保证。对称密码加密技术有很多种,如DES、tripleD E S 、I D E A 、R C 2 、R C 4 、R C 5 、R C 6 、G O S T 、F E A L 、L O K I 、A E S 等。
2.1.2 公钥密码学 公钥密码加密也称非对称密钥加密,与对称密码加密不同的是,它需要使用一对密钥来分别完成加密和解密的操作。其中一个公开发布,称为公开密钥;另外一个由用户自己秘密保存,称为私有密钥。这两个密钥之间存在相互依存关系:即用其中任一个密钥加密的信息只能用另一个密钥进行解密。
公钥密码加密算法的核心是一种特殊的单向陷门数字函数,该函数从一个方向求值是容易的,但其逆变换却是极其困难,因此利用公开的加密密钥只能作正向变换。若以公钥作为加密密钥,以私钥作为解密密钥则可实现加密的信息只能由一个用户解读;反之,以用户私钥作为加密密钥而以公钥作为解密密钥,则可实现由一个用户加密的信息而多个用户解读。
公钥密码体制最大的优点就是不需要对密钥通信进行保密,所需传输的只有公开密钥,通信双方不需要能过保密信道交换密钥。而且由于公开性,因而密钥的管理、分发等就不存在如对称密钥加密技术中的重大问题了。比较著名的公钥密码加密算法有: R S A 、D i f f i e - H e l l m a n、D S S、E C C椭圆曲线算法等。
2.2 数字证书 数字证书[3]是一段包含用户信息、用户公钥信息和身份验证机构数字签名的数据。用户的密钥对信息进行加密可以保证数字信息传输的机密性,身份验证机构的数字签名可以确保证书信息的真实性,用户公钥信息可以保证数字信息传输的完整性,用户的数字签名可以保证数字信息的不可否认性。
数字证书是一个经证书认证中心(CA)数字签名的包含公开密钥拥有者信息以及公开密钥的文件。数字证书实质上就是一系列密钥,用于签名和加密数字信息。证书由具备权威性、可信任性和公正性的第三方机构签发。CA的数字签名使得攻击者不能伪造和篡改数字证书,认证中心颁发的数字证书均遵循X .509 V3标准,是网上实体身份的证明。
2.3 PKI的基本概念和内容 PKI是“Public Key Infrastructure”的缩写,即公钥基础设施。PKI作为最新发展起来的安全技术和安全服务规范,引起了极大关注,成为Internet上现代安全机制的中心焦点。它利用非对称算法原理,以数据的机密性、完整性和不可抵赖性为安全目的而构建的认证、授权、加密等硬件、软件设施。PKI遵循标准的利用公钥加密技术为网上电子商务、电子政务等的开展,而提供的一整套安全基础平台。它遵循标准的密钥管理平台,能够为所有网络应用透明地提供采用加密和数字签名等密码服务所需要的密钥和证书管理。PKI包括由PKI策略、软硬件系统、认证中心(CA )、注册机构(R A)、证书签发系统和PKI应用等构成的安全体系,。
认证机构[5](Certificate Authority)是PKI的核心组成部分,简称CA,也称为认证中心,它是可以签发数字证书的信任机构。认证机构有权向个人和组织签发数字证书,使其可以在非对称密钥加密应用程序中使用这些证书。2.4 PKI的功能和应用协议PKI是一个用公钥概念与技术来实施并提供一套安全服务的具有一般通用性的安全基础设施。PKI系统通过公开密钥技术和数字证书来确保系统信息安全并验证数字证书持有者身份。它具有节省费用、互操作性、开放性、一致的解决方案、可验证性、可选择性等特点。它提供的安全支持可以概括为:证书与CA;密钥备份及恢复证书,密钥对的自动更换;交叉认证;支持多应用;支持多平台等。
Internet技术非常宠大,涉及诸多领域,它安全方面涉及的各种协议也非常多,其中最著名的安全协议就是安全套接层SSL[6],它也是PKI的应用协议。SSL现在被广泛用于Internet上的身份认证与We b服务器和用户端浏览器之间的数据安全通信。
3 系统总体设计 校园网身份认证系统采用中心信任模型,在服务器端建立对客户和服务器双方都有效的数字证书认证中心,为客户端和服务器端颁发数字证书。在使用SSL协议进行校园网络通信时,通信双方都应该持有各自的由校园数字证书认证中心颁发的数字证书,并且都信任该证书,然后双方通过数字证书来建立SSL安全网络通信。
4 系统的实现与应用 4.1 系统开发工具 基于PKI的校园网身份认证系统是一套比较完整的PKI数字证书身份认证系统,实现的功能主要包括两大方面:一是建立校园网自己的C A 和R A ,并实现一个P K I系统的基本功能,包括签发证书、生成证书、废止证书、废止列表等;另一方面是为两个拥有该系统证书的实体建立S S L通道。
采用开源代码的软件包OpenSSL的SSL库和密码算法库为基础,通过调用OpenSSL的函数就可以实现一个SSL加密的安全数据传输通道,从而保护客户端和服务器端之间数据的安全。从而实现系统的数字证书生成、管理、S S L安全网络通信、加解密操作等功能。
OpenSSL是用于安全通信的最著名的一个自由软件[7],包含有SSL接口、对称加密、非对称加密及P K C S 接口( 包括X . 5 0 9 证书、PK CS标准、A S N. 1 )等功能。O pe n S SL工具包可分为三个部分:SSL函数库、Crypto函数库和命令行工具。表1是OpenSSL中的主要文件。 4.2 系统的实现 校园网身份认证系统在服务器端建立自己的数字证书认证中心,为客户端和服务器颁发符合X.509 V3标准的数字证书。本文构造的系统采用命令行方式生成数字证书以及对证书进行签发等管理。
数字证书运作流程图,即数字证书的整个生命周期图。 4.3 应用 构建基于PKI的校园网身份认证系统后,我们可以利用其颁发的数字证书机制运用到校园网各应用系统中,提供网上的用户身份认证,并保障信息的安全,以下“开放性数字图书馆”是身份认证系统的一个应用示例。现在一般的图书馆网站都将商用信息资源限制在Intranet范围内使用,Internet上[8]的用户无法访问各图书馆Intranent上的信息资源,采用的方法是通过IP层加密技术来验证登录网站的计算机IP地址是否合法和用防火墙技术将Intranet与Internet隔开的方法。这种现行的方式优点是方便、简单,系统运行效率高,也有效解决商用信息资源的知识保护问题。但是缺点也非常明显,它不仅给Intranet以外的用户利用这些信息资源带来障碍,即使图书馆Intranet的用户,一旦离开了Intranet的覆盖范围,同样也不能使用这些通过IP层加密技术来进行用户验证管理的信息资源。