您好,欢迎访问三七文档
Scep协议一、概念Scep(SimpleCertificateEnrollmentProtocol)简单证书注册协议,是cisco和Verisign一起制定的设备证书管理的通信协议。它利用现有的PKCS#7和PKCS#10协议技术结合,享有广泛的支持客户端和CA的实现。二、功能该协议现在支持一下操作:1、CA证书的下载(--getca);2、证书的注册(--enroll);3、证书的查询(--getcert);4、证书吊销列表的查询(--getcrl)。三、协议分析Scep协议中有三实体:端实体(scepclient)、数字证书认证中心(CA)、审核授权部门(RA)。Scep采用的传输协议是http协议,Scepclient用httpGET消息像服务器发送请求,其中GET操作包含请求url的opeartion和message,而opeartion标明GET操作的类型(getca、enroll、getcert、getcrl),message携带的是文本字符串形式编码的pki信息,对于每一个GET操作,CA/RA会通过http协议返回一个MIME对象。Scep协议的信息分为两个部分:一部分是详细的处理属性集合;和另一部分为信息内容部分。当采用PKCS#7协议来保证安全传输时,详细的处理属性将被编码,从而成为PKCS#7签名数据中的属性的一部分。而Scep信息中的信息内容部分,首先被加密成为封装好的数据,然后对封装好的数据提取摘要,作为信息摘要属性的一部分,最后和其他的详细处理属性一起被签名。而scep信息的格式的签名处理属性会被编码成PKCS#7协议用于鉴定身份属性,属性包含:transactionID-----处理号messageType-----说明操作类型pkiStatus-----处理状态failinfo----失败原因senderNouce----client发的随机数recipientNonce-----server回复的随机数transactionID:处理号属性唯一地标识一个处理流程,在pki信息中必不可少。messageType:处理流程执行的操作类型,在pki中必不可少,目前定义了一下类型的信息:PKCSReq(19)-------允许使用PKCS#10协议的证书请求;CertRep(3)--------对证书请求或作废证书列表(crl)的响应;GetCertInitial(20)------在手工进行证书请求时,周期性的证书的证书端实体初始证书请求;GetCert(21)-----请求获得证书;GetCRL(22)------请求获得吊销列表(CRL);pkiStatus:表明处理状态的信息,每一个响应信息都会包含pkistatus属性结果有3中:SUCCESS(0)----请求被批准;FAILURE(2)----请求被拒绝;PENDING(3)----请求被挂起,等待手工批准。Failinfo:表明失败的原因,如果响应失败(FAILURE),那么failinfo属性会包含下列失败原因之一:1、没有确认或者不被支持的算法标识符2、数据完整性检查失败3、处理不被批准或者不允许4、信息的时间域与系统的时间相差太大5、没有证书鉴定与提供的证书相匹配senderNouce和recipientNonce:属性为每次处理流程随机产生的16字节的随机数,用于抗重播攻击。端实体在发送的pki信息当中会包含一个senderNouce,CA像端实体回应消息时,首先会把端实体的senderNouce发回,再自己产生一个随机数以recipientNonce回应。四、协议工作过程1、获取CA证书:为了获得CA证书,端实体首先执行“HTTPGET”,并把参数operation设为“GetCACert”,CA/RA对信息进行相应处理,若通过,则子响应消息中携带CA/RA证书回复给端实体,端实体收到CA证书,要立刻对CA证书进行md5算法产生一个指纹,并与CA服务器对指纹鉴别,从而确认CA的合法性。协商流程图如下:2、证书注册:端实体先用PKCS#10协议产生一个证书登记请求,然后再用PKCS#7协议把证书请求封装起来,接着发送给CA/RA,等CA/RA收到请求后,它或者自动批准请求并返回签名证书,或是要求端实体等待CA/RA操作员的手工鉴定身份再批准。若是注册需要挑战码时,在PKCS#10的请求文件里必须包含PKCS#6中定义的属性:challengePassword和可选的ExtensionReg。工作流程如图:证书的注册过程就是端实体发送一个PKCSReg的证书注册请求信息到CA,然后CA响应并返回一个CertRep信息。对于PKCSReg信息的创建流程的结构如图:对于CertRep信息的创建流程结构如下图:3、证书查询:证书查询是指端实体像CA查询自己的或者其他端实体的证书,查询证书时是通过颁发者名字和要查询证书的系列号来标识。证书查询时,端实体首先像CA发出GetCert信息,CA收到进行相应处理通过后,CA向端实体返回CertRep响应消息。证书查询流程如下图:5、查询吊销列表(CRL)CA/RA不会主动把证书的吊销列表发给端实体,必须由端实体发起CRL查询。端实体可以通过一个简单的HTTPGET命令像CA/RA请求吊销列表,如果CA/RA响应,就会回复一个CertRep信息把颁发证书的中被吊销的证书的节点及响应扩展属性添加到响应消息中回复给端实体。数据封装结构如下图:五、实际运用1、在linux当中运用sscep协议模拟scep协议当端实体(scepclient),以windosserver2003中的证书中心当CA服务器来实现scep协议的操作:1.1、首先在windos2003上安装证书服务器安装步骤/方法如下:在“控制面板”窗口中双击“添加或删除程序”选项,打开“添加或删除程序”窗口。然后在左窗格中单击“添加/删除Windows组件”按钮,打开“Windows组件向导”对话框。在“组件”列表中找到并选中“证书服务”选项,然后单击“详细信息”按钮,在打开的“证书服务”对话框中选中“证书服务Web注册支持”和“证书服务颁发机构(CA)”复选框。依次单击“确定”→“下一步”按钮,如图所示。在打开的“CA类型”对话框中选中“独立根(CA)”单选框,单击“下一步”按钮,如图所示。打开“CA识别信息”对话框,输入CA名称等标识信息(如“安全站点”)。在“有效期限”编辑框中设置CA识别信息的有效期限,单击“下一步”按钮,如图所示。打开“证书数据库设置”对话框,建议保持默认路径,并依次单击“下一步”→“完成”按钮。小提示:在安装过程中系统会提示安装向导将停止IIS服务,单击“是”按钮停止继续安装。如果IIS当前没有启用ASP支持,想到将提示用户启用ASP。单击“是”按钮将继续安装。另外在复制文件的过程中会要求用户提供Windows2000Server安装光盘或指定安装源,并且在完成安装后证书服务会自动启动。在开始菜单中依次单击“管理工具”→“证书颁发机构”菜单项,打开“证书颁发机构”窗口。在左窗中右键单击“安全站点”(即证书服务标识)目录,依次选择“所有任务”→“启动服务”命令启动证书服务,如图所示。安装好证书服务器后,若要是兼容cisco的设备就得安装mscep插件。安装mscep插件过程如下:双击下载好的插件cepsetup.exe,然后一默认点击下一步,在弹出如下对话框时:选择使用本地系统账户,在点击下一步,弹出这里可以根据自己情况选择证书注册时是否需要挑战码,一般选择需要挑战码,然后下一步,弹出的对话框填好相应信息然后一直点击下一步,弹出安装就完成了,现在可在浏览器中输入检验安装是否成功。1.2、在linux当中安装sscep协议,使用tar、make、makeinstall安装sscep安装包。1.3、操作命令及解释如下:###注释:##¥1、例子以win2003为CA证书。client为申请者##¥2、sscep或./sscep+命令执行1)、下载CA证书%%sscepgetca-cwin2003-u从scep服务器上下载win2003证书到本地,由于windos2003采用RA注册,会下载一个证书链,包含3个证书,一个CA证书,2个RA证书,一个RA证书用来进行数字签名(win2003-0),一个用于数据加密(win2003-1),其中win2003-2即为下载的CA证书。2)、向服务器注册(1)需要挑战码1.1、先创建带有挑战码的请求文件和密钥%%./mkrequest-ip1.0.0.10127FABDE99A5FDE21//后台创建默认名都为local1.2、向服务器注册(ca.crt为CA证书,local为申请证书)%%./sscepenroll–cwin2003-0-klocal.key-rlocal.csr-llocal.cert-u(2)无需挑战码%%sscepenroll-cwin2003-0-kclient.key-rclient.req-lclient.pem-u像服务器发注册申请,并为client.req颁发证书,保存在client.pem中,轮询时间为20s。3)、查询证书%%sscepgetcert-cwin2003-0-lclient.pem-s1207ED61000000000007-wclient11-kclinet.key-u–ewin2003.crt-1像服务器查询证书的,下载并保存在client11中,轮询时间为20s。4)、查询吊销例表(crl)%%./sscepgetcrl-cxwc-0-lclient.pem-wclient22-kclient.key-u像服务器查询证书吊销例表,下载并保存到client22中。5)、各操作的调试(debug)%%对于sscep处理操作的调试,可以在命令末尾加–v来显示处理操作的每一步过程,也可以用–d来更详细的显示实现操作的具体流程。以getcrl为例:2、以ciscoiosrouter为CA中心,以ciscovpnclient通过scep协议从iosrouter上获得CA,注册证书,及以网御墙为客户端从ciscorouter下载CA及注册证书。2.1、在ciscorouter上配置CAServer配置:hostnameR3//为路由器命名ipdomainnamecisco.com//创建域名,为后面客户端证书注册必须一样//这两个命令必须配,用来生成keyClocksetxx:xx:xxdaymonthyear//时间设置配置接口ip:intf1/0ipaddress1.1.1.1255.255.255.0noshutdown//配置路由器与client连接网段为1.1.1.0iphttpserver//把80端口打开,vpnclient正是用这个端口从这个caserver获取证书pki服务器配置:
本文标题:scep协议文档
链接地址:https://www.777doc.com/doc-5893622 .html