在商业密码系统中安全使用数字签字的方法

文档序号:7567590阅读:297来源:国知局
专利名称:在商业密码系统中安全使用数字签字的方法
技术领域
本发明涉及数字签字。尤其是,本发明涉及以减少用户风险的方式执行安全性和授权要求的商业密码系统中使用数字签字和数字签字的证书。
公开密钥密码学是能支持创建无纸电子文档系统的一种现代计算机安全技术,假如电子文档上的用户数字签字,亦即用户的电子证明和电子文档的核验能有充分的实用意义和法律意义。这种无纸电子文档系统或“文档结构”将不仅拥有在标准的双边合同下操作的贸易伙伴,而且拥有全球多边系统,其中只要处处都遵守适当的安全控制,任何实体在理论上都能用一种法律上可证明的方式与其他任何实体通信。
这些系统将有巨大的商业意义,因为很多情况下,比起当前流行的有纸交易过程能实现10比1数量级的费用下降,这一改进足以令人注目,以致一旦它们的可行性被证实,很多组织为了经济和竞争的原因都不得不使用它们。
没有人争辩纸在电子世界中是一个令人讨厌的过时的东西,核验钢笔加墨水的签字既费钱又容易出错。但是,至少使用纸张时,签署人保有文档准备的“文本控制”和有形的传递。另一方面,对于数字签署的电子文档,签署人仅控制已编码的签字。一切的时间、地点和方式控制都不存在,并且无法将一个有效的用户签字和另一个由于某种原因获得第一用户的灵巧卡和PIN的另一用户作出的诈骗签字区分开来。舍去这个“新奇的”办公自动化技术所产生的所有节省也不会消除超过几百万或几十亿美元的损失。因此,数字签字早期将只使用在开销低的消费者“电子钱袋”应用以及批发款的汇划(因为对汇款的极严格的安全流程已经成为规范)。但是,这些应用只有很小的一般商业影响。
迄今,大公司和银行拒绝投资这些技术是由于缺乏严格定义的风险模型和审计标准,以及由于对法律和赔偿责任问题的不确定性。对商业数字签字认真投资将仅在主要的国家审计和法律专家规定出这些系统包含适当的安全性控制保证主流公司内和公司之间的商业交易(一般在10,000至10,000,000美元之内)可靠之后才会出现。为了达到这个目的,安全性控制必须公式化以将数字签字文档系统的参加者的风险减至技术上可达到的绝对最低水平。
有两种类型的密码系统已经使用数字签字对称和非对称的密码系统。

图1(a)和图1(b)说明对称和非对称加密算法的运用。在图1(a)所示的对称(传统)密码法中,通信的发信人和收信人共用一个密钥11。这个密钥由发信人即通信的始发人用来加密报文12并由通信的收信人解密报文13。也可由收信人通过让发信人使用密钥计算诸如基于报文验证代码(MAC)某种函数来验证报文;从而使收信人能够确信始发人身份,因为只有发信人和收信人知道用于计算MAC的密钥。DES是对称密码系统的一个例子。
在图1(b)所示的非对称(公开密钥)密码法中使用不同的密钥加密和解密一个报文。每个用户使用一对密钥相联系。一个密钥15(公开密钥)是大家都知道的并被指定为那个用户加密报文17,而另一个密钥16(专用密钥)则只有那个用户知道并用于解密输进来的报文18。由于公开密钥不需要保密,所以在交换机密业务或验证报文之前不再需要在通信各方之间秘密传递一个共用加密密钥。RSA是最著名的非对称算法。
但是,一个数字签字就是一个附在报文数据单元的数据块,并允许收信人验证报文数据单元的始发点并防止伪造。一些非对称算法(例如RSA)也能借助使用数字签字提供验证和不可否认性。为了签署数据,发信人用他自己的专用密钥将数据加密。为了使数据生效,收信人使用发信人的公开密钥对其解密。如果使用发信人的公开密钥报文被连续解密,则该报文必然在始发时已被发信人加密,因为发信人是知道相应的专用密钥的唯一实体。使用这个方法签署文档,加密的报文就被限定到签字上,因为收信人不解密签字数据块就不能读出报文。签字加密的报文然后像通常一样,可被加密送到使用收信人的公开密钥的收信人。
数字签字也可使用如下所述并示于图2的非对称加密算法形成。为要签署一个报文,报文20首先使用一个单向散列函数21摘要(散列)成一个单块22,单向散列函数具有特性对给出的摘要,构造任何散列成那个数值的报文或者找出两个散列成同一摘要的报文在计算上都是不可行的。摘要22然后以用户的专用密钥23加密,结果24附到已加密或未加密的报文上作为它的签字25.收信人使用发信人的公开密钥26将签字25解密成散列摘要22,收信人还对已接收的未加密或已加密的并然后由收信人解密的使用发信人所用的同一单向散列函数21报文20摘要(散列)成块27。然后收信人通过检验所解密的散列摘要22与散列的报文摘要27相同来核验28发信人的签字。
用这个办法将签字与报文分离开来,也就是说,不要求发信人和收信人加密与解密整个报文来核验签字,大大减少了要加密的数据量。这是很重要的,因为公开密钥算法一般显著慢于传统算法,处理整个报文来核验签字就需要大量的时间。签字过程也将冗余引入报文使收信人能对报文检出未授权的变化,因为报文必须散列成特定的摘要。
数字签字提供下面安全服务(a)完整性,因为已签数据的任何修改均将产生不同的摘要因而产生不同签字;(b)原始验证,因为只有对应于使签字生效的公开密钥的专用密钥持有者可能签署了该报文;以及(c)不可否认性,作为对第三方的不可改变的证明只有签署人而不是收信人或者它的雇员能够造成签字。一个对称的密钥验证器例如X9.9 MAC不能提供这些服务,因为两方的任何一方都能利用他们的共用密钥造出验证器来。
这里讨论的几种机构均假定带有多方签字或共签一个文档的能力。一种用于这一目的有用格式,正如在这一技术中所熟知的,定义在RSA数据安全公司1993年的“PKCS#7密码报文的语法”中,这里引用它作为参考。文档上的每一个签字结构将包含一个使签字生效所需的证书指示以及一个包含有实际签字的比特串。此外,有关特定签署人的其他信息可以包括在一个单独的签字计算中。这个每签署人的信息可以“签字属性”的形式包括在签字计算中。
为了使一个用户识别出另一个用户以确保第二用户有一个专用密钥的一种方式传输一个报文,第一用户必须能够从可靠来源得到另一用户的公开密钥。正如在这一技术中所熟知的,一种用于使用公开密钥证书的框架定义在CCITT 1993年4月发表的“ X.509名录验证框架”(X.509)中,这里引用它作为参考。这些基本的公开密钥证书将用户的名字结合到公开密钥上并由一个叫做签证当局(CA)的可靠发放人签署。除了包括用户名字和公开密钥之外,证书还包括发放者CA的名字,一个序号以及一个有效期。
虽然X.509不把任何特定的结构强加在CA身上,很多的实现方式发现加上一个分层结构是合理的,在层结构中每一个CA(一般地说)仅保证一个从属于它的实体。因此,我们可构造一个如图3所示的CA层结构,其中较高层次的CA31(也许是银行)签署34紧靠它们的CA32(例如说公司)的证书34,CA的最低层次32签署用户33的证书35。在这个层结构的顶端(未示出)是相对较少的几个其他根CA,也许每个国家一个,它可以“交叉保证”彼此的公开密钥(根密钥)。
各种不同的安全结构定义出通过层次构造一个签证途径,得到一个给定用户证书以及使之生效所必须的全部CA证书的的机构。这些结构共享用户只需信任一个另外公共密钥的公用特征以要得到任何其他证书并使之生效,所信任的密钥可以是顶级CA密钥(在集中信任模式中)或者是已发放用户证书的本地CA(在分散信任模式中)的密钥。
证书还包括一个终止日期。如果在终止日期之前需要撤销一个证书,例如在名字共生体变得无效或者相应的专用密钥丢失或泄密时,该证书可以被加入CA证书撤销清单(CRL)或“危险清单”中。这个清单由CA签署并且可作为CA目录登记的一部分广泛分发。证书留在CRL中一直到证书的终止日期。
常有某个涉及一个实体或CA的信息需以一种可信的方式变成可资利用的情形。在安全X.500目录中,这个信息可通过标准的操作检索并用目录签署结果。在缺少这样一个安全X.500工具时,这一信息放在由CA,以和公开密钥证书同样的方法签署的属性证书中。属性证书可由用户提供的适当凭证来创建。例如用户可提供他的公开密钥证书并证明他拥有相应的专用密钥作为身份证明的一种形式。属性证书通过引用基本证书的序列号与用户的基本公开密钥证书链接,并通过一个同等的平行CRL机构撤销。属性证书在1994年6月的ANSI X9F1“X9.30第三部分用于DSA的证书管理”以及美国专利NO.4,868,877、5,005,200和5,215,702中进一步讨论,在这一技术中都是大家熟知的,都引用在这里作为参考。
属性证书是一种与公开密钥证书分开的结构,因为责任的适当分开常常要求发放属性证书的CA与发放公开密钥证书的CA不同。一个中央CA本身很少拥有所需的安全性或者“代签”所有用户授权的权利。让分开的CA生成各种不同型式的属性证书就把风险较适当地分散开,此外,所规定的属性可以不要求用于所有的域、网络或应用。对这些属性以及额外的域特定属性的需要由每个域确定。
用户的基本公开密钥证书保持X.509兼容,允许与其他应用一起使用并允许使用商业产品生成证书。
最好是能够建立一个可信的组织使用数字签字和证书机制执行由这个组织结构内的规则定义的安全政策。
最好还使用数字签字和证书机制将产业范围的安全政策和授权信息编码到签字和证书中以便让签字的核验人决定是否承认该签字或证书有效,从而适应并简化电子商务交易。
最好通过依靠这种使用公开密钥证书和属性证书,降低与数字签字系统特别是与最终用户灵巧卡有关的风险。
最好再防止任何一方在没有签署关于该系统通信签署人授权的适当“系统规则”协议情况下,该方可能以违反适用授权证书的方式声称“接受”交易而使用这种数字签字系统。
根据本发明的原理,通过提供一种用于安全使用商业密码系统中的数字签字系统,该系统允许使用属性证书将行业范围的安全政策和授权信息编码到签字和证书中以实施政策和授权要求,从而达到本发明的这些和其他目的。除了数值限制,共同签字要求和文档类型限制可以加到交易上以外,一个组织可通过使用属性证书就任何交易对交易用户实施地理和期限上的控制,签字年时限制,预先认可的对方人员限制以及确认要求。对证书分布的限制可使用属性证书建立。证书也可用于确保密钥限制和这一系统中灵巧卡的非解密要求。
本发明的上述和其他目的和优点,通过下面结合附图进行的详细叙述将一目了然,附图中的参考字符处处均指同样部件,在附图中图1(a)和1(b)示出使用对称和非对称算法加密的现有技术;图2是一个说明使用非对称加密算法的现有技术数字签字过程的流程图;图3示出签字证明机构的层次结构;图4示出一个目录信息树(DIT);图5示出授权证书的一个例子;图6是一个说明核验人执行交易钱数限制的现有技术过程的流程图;图7是一个说明核验人执行交易共同签字的现有技术过程的流程图;图8是一个说明核验人实施交易文档类型限制的过程的流程图;图9是一个说明核验人实施交易地理和期限控制的过程的流程图;图10是一个说明核验人实施发信人的签字最大时限的过程的流程图;图11是一个说明核验人和保证人实施预先认可对方人员限制的过程的流程图;图12是一个说明核验人实施交易“确认”要求的过程的流程图;图13是一个说明设备确认密钥限制和非解密的过程的流程图;图14是一个说明保守公开密钥的秘密和执行签署系统规则的过程的流程图;以及图15是一个说明核验交易的用户规则的过程的流程图;下面的一般原理原则反映在本发明定义的签字核验模式中。首先,CA和用户证书可包含提供建立这些证书的条件和前提资料的属性。核验人可简单地拒绝不满足其最低标准的一切证书和交易。
另外,属性证书可以由用户的“保证人”签署表示保证人的签名在交易遇到属性表示或暗含的要求时承诺法定的事务。虽然一般的用户保证人将是用户的雇主,但模型可以扩展到包括用户银行、信用卡发行人、投票站、录像租借商店、公用图书馆或其他任何可能接受用户签字的实体。于是,这个保证人(机构)证书就是如像在传统的签字印戳文本中使用的“法律注释的宣誓书”的电子等价物。参见Robert Jueneman的文章“CA的责任限制和使用数字签字的各个考虑”,(1993年7月2日提交给科学技术认证机构工作组的ABA部)。
再者,行业可以开发“行业政策”说明,建立起对签字验证的最低要求。所有的参加者都签署这些多边协议,以确保所有各方都受编码限制的约束。通常,应当在所有的场合都要求有保证人证书,否则就应当认为数字签字等于零,并且在没有它们的地方无效。行业范围的政策还定义(1)有关文档类型和类别,(2)签字人作用和头衔,以及(3)通过参考标准合同条款和条件引入的编码符号。
而且,必须严格遵守以完全自动化的方式(也就是说,“一见”就验)而不需借助有纸协议或人工的解释(有时也叫做“全机械直接处理”)实施一切限制的原则。在复杂的和/或高数额的环境中,要求这一点是为了在审计和法律专家的眼中给出这些安全性控制的可靠性。对可信赖的第三方的查阅也应当最少化以减少验查等待时间。
这些限制看似复杂,但它们只是反映为了机器核验的目的而搞清楚的日常的业务过程,以前,这类控制都是在送出交易前在保证人的计算机系统内实施的。但是,随着多边分布式交易的出现,核验用户一般都与发信人的保证人系统脱机进行,因此正如反映在属性证书中的那样。核验人必须执行保证人的授权模式,一旦这个方法被确定,正式的软件销售商将开发菜单驱动系统以建立和管理用户属性,用户组织的费用将相当低。
证书的组织结构证书本身可以反映出保证人组织的结构。因为很多授权决定都是以用户在一个组织中的地位为基础的,所以组织结构和用户在其中的地位可以被确定为用户名字的一部分。证书中的名字用X.500目录模型确定如下。
X.500目录结构是分层的;最后的分布式数据库包括图4所示的目录信息树(DIT)。每一个条目41都是一个特定的客体类别并由一组叫做属性42的特性组成。一种属性由一个类型43和一个或多个数值44组成。于是,在组织类的条目中,一种属性就是组织名字;在组织的个人分类条目中,属性可以包括头衔和电话号码。
每一条目还有一个或多个用于构造客体名字的特殊属性数值;这种属性数值就是条目的相对辨别名(RDN)。通过把从DIT根至该条目的所有条目的相对辨别名46链接起来而建立的客体辨别名(DN)45唯一标识整体DIT中的对象。
在X.500中定义的几个属性可以有效地包括在用户属性证书中。例如,对象类别可以用来区别其辨别名为同一形式的实体(例如用户和角色)。另外,头衔可以用于作出授权。
除了沿组织路线使用DIT对实体分组之外,X.500定义几个能够用于构造任意群实体组的对象类。这些对象类包括组织的角色,其“角色占据者”属性列出占据该角色的用户名,以及名称组,其“成员”属性列出组成员的名称。为了用可靠的方式传送这种信息,可以规定分别传送角色占据者和团体成员名称并用一个CA签署的角色和组证书,从而能够使用这个X.500目录系统文本之外的特点。
组和角色证书可以结合共同签字机构一起使用,以简化共同签字要求的结构。例如,一个交易可能要求“采购代理人”角色的三个占据者共同签字。用户也可能通过将签字计算中的角色算作一个(每签字人)签字属性来指出他所担当的角色。于是声称的角色在核验期间能够与角色证书(或用户的属性证书)不相一致。
本发明的另一个实施例是将有关CA的安全性策略的信息编码到CA以及其用户的属性证书中,使得签字的核验人能够使用该信息判断是否承认一个签字为有效。一般,CA证书在作出签证决定时要传送CA使用的规则,同时用户的证书在应用这些规则时将传送CA使用的信息。
CA证书中的属性可表示安全性策略和用于特定CA的保证信息。这种策略信息也可能是下级CA固有的,允许容易地建立共享公共策略的安全域。CA证书中的策略属性除了其他东西之外还可包括(1)赔偿责任性限制CA在出现各种不同问题(例如CA密钥泄密、约束不完善)的情形应负的赔偿责任;这可以是无赔偿责任、全赔偿责任或是一个特定的钱数。
(2)可信度明细表说明一个给定的CA能保证哪些用户和CA,表示与CA本身(例如“所有下级”)、或者DIT总体(例如“组织ABC以下的子树”)或其他有关。
(3)要求的属性用户的属性证书中那些必须对交易和/或文本进行核验以使交易被认为已授权的属性的一个清单。这些属性可以在保证人的证书中找到,并允许单个授权证书含有某些多用途使用的授权属性。一些建议的用户授权属性稍后定义。
(4)允许的名称形式一种CA可证实的允许名字形式的规定。这一信息被保持为(a)一组名字约束,定义可用于已给对象类的名称条目的属性(也就是说,用于该类条目的允许RDN格式);以及(b)一组结构规则,定义哪些对象类在DIT中是互相邻接(即为上一级或下一级)的,也就是说,对象类可以链接在一起组成一个完整的DN的顺序。这个策略属性可被用于限制可能签署交易的实体类型。例如,对于有线传递应用,因为这类似于使用DES MAC的当前运作模式,可以要求限制组织本身而不是要求组织内的用户的签字能力。
(5)交叉确认从效率观点可能希望能确认实体以及组织的相互交叉确认,以约束确认路径的长度。另一方面,则不希望让确认路径包含任意数目交叉证书的,因为很难判断另一端实体的可信度水平。很多确认结构限制确认路径仅包含一个交叉证书。为了容纳一个较宽范围的策略,一种属性可以加到与交叉证书关联的属性证书上,交叉性证者直接允许使用由CA发放的交叉证书是经过交叉确认的。
用户或实体的属性证书中的属性可以表示在建立实体证书时由CA核验过的信息。用户证书中的策略属性除了其他之外,包括(1)连接信息用于将公开密钥连接到已确认的实体标识上的准则。这包括(a)传送方法,例如人身提供,通过授权代理人,通过邮寄或者通过其他方法;(b)识别方法,例如通过合理的商业实践,通过可靠的第三方核验,双重控制,指纹检查,全面的背景调查或是其他方法;(c)提供给CA的识别文档;以及(d)受验实体的类型,即个体、公司、机构或其他(2)可靠的第三方在连接过程中涉及的任何可靠的第三方或代理人的名称。
(3)角色可以是用于授权目的以指出用户可担任什么样的角色(包括组织内部和外部)。这与发放角色和包含所有占据者名称的角色证书相反。
(4)相对身份CA可能希望只确认一个个体的DN的一部分。特别是,CA可能放弃对个人名字的正确性的赔偿责任,因为,在法律代理原则下,个人的签字在任何情况下都连接到其组织保证人身上。考虑名称C=US; O=银行家信誉; OU=全球电子商;CN=Frank Sudia;TI=VP
CA可以只保证组织,组织单位和个人辨别名的称谓部分的有效性,这一切都是容易检验的,而个人的名称只不过是“合理相信的精度”,由于获得假身份文件相对较易,这避免了对可能花费过高的背景调查的需要。这样一种识别可依靠日常的商务安排而不用例如事先涉及意愿或嘱托。
(5)绝对身份我们将相对身份定义为用户相对于他的组织保证人的身份。换一种说法,我们保证用户的“商业身份卡”除个人名字以外的所有因素,作为一种特殊情形,一些CA可能要承受对所选用户比如说富裕客户的子弟、外交人员或国家安全部门的职工的绝对身份保证,几乎肯定要用生物统计学技术来补充。这种情形很少见到,在这里提出来仅是为了完整性,以使“相对身份”的概念圆满。
证书中的授权信息属性可传送控制签字为有效的条件限制。如果没有这种限制,伪造的危险就会被认为过多,因为一个电子签字可被任何拥有用户灵巧卡和个人身份证号码(PIN)的人签署到任何数字文档上。在电子环境中,文档创建和物理传递的正常文本控制不是太弱就是不存在。
即使忠实的用户也很难靠得住经受自由形式脱机委托,因而组织都欢迎有效限制表示签字授权范围的能力。这种授权属性,除了标准的X.500属性之外,可以包括交易限制、共同签字要求、文档类型、主题方式限制、被授权的签署人、地理上和时间期限上的控制、签字时限、预先认可的对方、委托控制、以及对要求的确认。这些属性可以被编码在签字者的组织保证人或者由代表组织行事的外部CA签署的一个或多个授权证书中。授权证书和相关交易的一个例子示于图5中。
当收信用户(核验人)接收到一个来自发信用户的交易51时,收信人首先使用发信人的基本密钥证书55核验交易51上的发信人签字52。正如下面将要更为详细叙述的,收信人还使用由发信人的保证人59签字的发信人授权证书56来核验共同签字53和附在交易51上的时间印戳公证54并核验交易51的属性数值57落在如授权证书56指定的授权属性数值58之内。
用户可以受控制交易数值或用户可能发出的其他文档的交易限制。用户的签字将只对最初规定的某个钱数限额以下或两个钱数界限之间的交易有效。因而,如图6所示,发信用户送出由发信人签署603(实际上是通过含有他的专用密钥的用户灵巧卡600)的交易601,并附上一个授权证书604。核验人使用授权证书604核验607用户的签字603并核验交易的钱数602落在授权证书604的交易限制属性数值605之内。核验人还使用保证人的公开密钥610核验609授权证书604中的保证人签字606。如果这些签字和属性数值的任何一个没有被证实,则交易被拒绝611。如果证实完的,则交易被接受612。
考虑到共同签字的要求,可以要求附加签字,以使一个已给的签字被认为有效。法定人数和衡量机构可用于构成相当精密的检验和衡量用来直接管理每个用户的可信度水平。也可指定所要签字的特定顺序或排序。参照图7,发信用户A发出用他自己的灵巧卡700签署703的交易702,如果用户B被要求在交易702上共签,就用用户B的灵巧卡701签署704。发信用户A还将他自己的授权证书705附到交易702上。核验人使用授权证书705核验711用户A的签字703,并用保证人的公开密钥713核验712授权证书705上的保证人签字707;如果任一签字未得到证实,该交易便被拒绝720。如果通过授权证书705要求714共签数值706,收信人通过核验715共签人用户B在交易702上的签字704实施该项要求,然后使用发放人的公开密钥717通过核验716证书发放人的签字709来检查共同签字用户B的公开密钥证书708。如果用户B或它的证书发放人的签字未被证实,则该项交易被拒绝722。
使用共同签字允许一个组织有效地规定检查和平衡,明确地规定一个用户的可信度水平。使用共同签字也大大降低了由于窃贼、灵巧卡或PIN的误用或放错地方致使个人密钥的非故意泄密而造成的风险。特别是,相信要求共同签字、数值限制以及有关控制的能力将使各组织能够谨慎管理和调整所有的签字授权,从而给它们以管理和限制其风险所需的一切工具。使用共同签字还允许授权功能分布在多个位置和硬件平台上,而且将由于在一个平台上的访问控制失效所产生的最终风险减至最低。请参见美国专利No.4,868,877;5,005,200;以及5,214,702。
必须满足签字人证书中规定的限制的授权签字,通过把签字目的算作签字属性并通过要求指出签字目的被包括在已签的数据中而也可从其他的共同签字中分辨出来。这个签字——目的属性可要求的值是(a)适用于文档的授权签字;(b)适用于共签人的证书具有批准文档的足够权力的文档授权共签;以及(c)在共签人证书本身不具有批准文档的足够权力的场合下的证证共签。数据交换标准协会(DISA)发行的ANSI标准X12.58第二版(附件)草案中讨论的签字目的编码法在这一技术中很有名,特此引用作为参考。
用户也可像行业范围政策规定的那样,被限制为仅签署特定的文档类型,例如日常信件往来、购物单、特定的EDI交易类型、业务合同、指定的财务设备等等。也可为了效率而把某个大类的交易和文档排除在外。参照图8,收信人通过第一核验807交易上的发信人签字803执行发信人的交易801中的文档类型限制,然后通过核验808文档类型属性数值802在交易801内执行发信人授权证书804之内的文档类型限制805。然后收信人再通过使用保证人的公开密钥811校核授权证书804以核验809保证人的签字806。如果任何签字或属性限制未得到证实,则交易被拒绝810。
也可要求增加一些适合于交易主题事务或文本种类的正向或负向限制。例如限制代理人签署一些货物种类(例如说办公用品)的定单,或者否决权例如在否定代理人购买色情材料的能力的情形。主题事务限制由交易收信人采用与文档类型限制同样的方法实施,并且可以隐含在许多文档类型中,但对更一般的文档类型还是要求有单独的说明书。
一个组织可以指定特定的授权签字人,也就是说,只有特定的个人能够代表该组织签字,这类似于对这一效能的标准“共同决议”。这象附加控制签署“共同”文档类型的那样补充文档类型的概念。这个限制可以通过规定要求共签中共签人的头衔(用他的辨别名)必须等于授权证书中所含指定清单上的一个来实施。这代替了列出一个或多个被要求的共签人的清单。
地理上和期限上的控制包括交易被认为有效的地点和时间周期。假定使用当地可信的“时间戳公证人”。这样的公证人会将一个可信的时间戳附到文档上的发起人签字上然后签上结果。于是,一天的时间和星期几的限制就与用户所在地的正常工作周一致起来。另外,地点信息可与公证人结合在一起,以限制对特定网络段,一般是用户指定的工作区域的访问。地点控制的“粒度”可随网络结构而定。签字人或签字人的计算机系统必须将来自指定的本地服务器一个已经确认的时间戳附到交易上,否则核验人不接受该项交易并且签字人的保证人不受其约束。如图9所示,发信用户照例向交易901附上一授权证书902,一个经确认的时间戳903以及一个时间服务器证书904。收信人核验921交易901上的发信人签字905并核验922授权证书902上的保证人签字908。然后,收信人(1)923核验时间戳交易文本散列909与用已知的散列函数散列的交易901的结果文本相一致;(2)核验924交易时间戳903上的时间和日期910落在授权证书中指定的已确认时间和日期906的属性数值之内;(3)925核验时间戳903上的时间服务器签字911;以及(4)926核验时间服务器证书上的保证人签字912。如果所有这些条件均被满足,交易被接收931,否则交易被拒绝930。
再者,除非签字被证实是在某些指定的时间周期之内,否则文档可能无效。对于高额交易,这个签字时限属性周期非常短,而对于较正常的交易,特别是那些经由存储转发系统例如X.400送出的交易,一个较长的时间段(例如两天)将会是适当的。图10示出收信人对签字时限属性数值的执行过程。核验的时间可使用由可靠的时间戳服务104签收的至少包括收信人名字和原交易的签字的收据103提供。核验人必须提供原始签字的盖有时间戳的副本,即在原交易的时间和日期之后立即注明日期的副本,否则保证人将拒绝它。如图10所示,收信人(核验人)121核验交易101上的发信人签字107,并核验授权证书102上的保证人签字115。收信人然后122核验交易101上的日期105和时间106和时间戳103上的日期111和时间112之间的差别落在授权证书102中的签字时限属性限制108之内。收信人还核验123可信的时间戳103内交易101的散列110与交易101的文本一致。如果所有这些条件都被满足,交易就被承认130,否则交易就被拒绝131。
一个类似的概念是签字的最小时限。在这一情形下,签字在完成签署之后的某个最小时间之前无效。这一点使得能够报告灵巧卡丢失以及向收信人广播撤销的通告。控制属性能指定一个最大和/或最小的签字时限…一种“事先认可的对方”属性数值限制一个实体仅与某些指定的值得信赖的已知伙伴群体打交道。这在一般要求预先指定所有被授权受款人的拨号家庭银行事务系统中是一个普遍的要求。另一说明此点的办法是禁止“自由转让”。保证人在出错的情况在同有偿付能力而且值得信任的大客户打交道,而不是同不了解而又未被授权的小客户打交道下实行坚持较好的成功挽回错误的可能性,可以为每一个对方发放单独的证书以避免竞争者在一份证书上得到用户的客户名单(除了他自己)。已认可的对方可编码为一个普通名、一个辨别名、一个证书号码或者是辨别名或对方的公开密钥的散列数值。为了索取交易的利益,核验人必须提供一个与已编码的对方数值相一致的证书。
图11示出在收信人收到之后由用户交易的用户保证人的验证。收信人(对方)核验1110交易1101上的用户签字1103,并核验1111用户的授权证书1102上的保证人签字1105。如果这些签字的任一个未被证实,则交易1101被拒绝1112。如果签字证实并且交易被收信人承认1113,收信人便通过发出已会签1116的原始用户交易1101的文本1106和发信用户的签字1103的已核验交易1114,用所附收信人证书1115签署交易1101。在执行发信用户授权证书1102的预先认可的对方限制过程中,发信用户的保证人如在收信人核验过的交易1114中所包括的一样,核验1121发信用户的签字1103,并且核验1122其上的收信人签字1116。如果这些签字都被证实,保证人下一步通过散列收信人的公开密钥1117和对照用户授权证书1102中指定的一个被授权对方公开密钥散列数值1104检验结果来核验1123对方公开密钥散列数值(在保证人验证收信人证书时保证人为核验而散列的收信人公开密钥1117本身受到验证)。如果这些条件都满足,则交易被承认1125。
授权控制的属性数值能限制一个CA可指定当发放属性证书时授权和数值范围。它们也能用作限制一个用户可将他的签字权力授予别人的范围和深度。例如一个根CA可限制一个组织的CA仅发放允许其最终用户签署文档型式在与国家税务管理有关的文档范围之内的文档的授权。或者,一个CA可以向一个用户提供这样的授权即可向具有助理会计师或更高职称的另一个人授权,时间不超过30天,并且不得再向下放权。
另一个称作“确认要求”数值的授权属性防止在核验人没有向特定邮件或网络地址的第三方(一般是用户的组织保证人或工作督察人员)送出已核验的交易副本时生效,以及(a)接收承认/拒绝报文或者(b)经过一个特定的时间。这个要求类似于共签要求,不过发生在送出交易之后而不是在它之前。这种事后确认可用在较低风险的情况下采用,其中很少交易会被拒绝并且提前获得第三方的共签可能非常困难。或者在要求正向联机检验的高额场合它还是比较好的。在那个情况下,流的模式返回到一个联机系统而不是脱机系统。如图12所示,收信人通常首先核验1211交易1201上的发信人的签字1203并核验1212用户授权证书1202上的保证人签字1205;如果这些签字的任何一个未被证实,则交易1201被拒绝1213。如果签字都被证实,则收信人将一个包括有原始交易1201(交易文件1202和发信用户的签字1203)的确认报文送给1214发信人的授权证书1202中所指定1204的用户保证人1215。收信人应当从保证人1215收到作为确认的1216而返回的同样报文,不过是由保证人签署过的1205。收信人然后核验1217保证人的签字1220和确认报文1216并接受1219交易1201。
为了生成诸限制的复杂组合,一个滤波器表示式(它是包含一个或多个属性的布尔或逻辑表示式)可允许构造涉及多个属性的限制。诸属性命题与通常的布尔算符“与”、“或”以及“非”链接。例如保证人可限制一个用户提交带有类型等于购物单“与“价值小于100,000美元。命题可以包括单一属性数值(等于、小于、大于,等等),多值属性(子集、超集,等等),或者一种属性在文档中的存在或不存在。当然,将会知道,任何或任何所述限制以及其他都能在同一时间对同一文档或交易起作用。为清楚起见,这些限制已经分开讨论和说明。
使用授权属性允许收信人核验授权以及验证。在这样一种情况下,由保证组织的证书认定的保证人证书可被解释为“当面“批准它们所适用的交易,假定所有指定的限制均被满足。
必须确定一组基本策略用于整个金融服务行业和其他行业,以提供一种用于核验过程的严格界定的可预测的服务水平。这些策略可在多边的基础上由每个参加的企业达成协议,并可规定除非特别规定的例外,这一节所讨论的限制和授权规定总是起作用。这些行业协议的比较重要要素之一是文档型式的定义和编码。这工作必须在逐个行业的基础上来做,因为例如,对于海关检查员、航空检查员、审计员、税务官员等等来说,规则显然有很大区别。
某些授权属性可以从属于文档本身的特定内容。这能对自动机器核验造成问题,因为核验人的计算机并不总能为一个给定的文档或交易判断这类属性的数值。例子包括钱数交易限制、文档型式以及安全性或保密性标志。因而,要求最好在文档或交易的开头提供一个标准数据块,将属性例如所述钱数交易额、文档型式或安全灵敏性标志明确编码。为了核验方便,这个文档标志将由签字人计算机附加作为核验处理的辅助。但是,万一在文档标志和实际内容之间有冲突,就要由文档的语言控制。在结构交易例如EDI交易的情形,其中文档类型和金钱数额已经完全是机器可读的,将不需要文档标志。
作为处理简单授权中的一种可能的便利,特别是在给定用户签署很多类似交易的场合,由用户的基本验证证书复制出他的公开密钥并把它算作授权证书的另一属性常常是有帮助的。这允许将授权证书用于两个目的(验证和授权)并使发信人能够省去每笔交易的基本验证证书。此外,在设备依靠填入一个已给条件的场合,将用户设备的公开密钥复制到验证和授权证书中以及进而免除对发送带有每一笔交易的设备证书的需要同样是有利的。
第三方介入数字签字的更多有用特性,除了那些能用属性证书提供的以外,还包括一个签字人和各种类型的第三方之间的相互作用。
对于数字签字的一个这样的应用是电子公证。正如上面所讨论的,需要使用可靠的第三方共签文档以提供精确的时间戳和/或位置信息。简单地依靠原签字人以精确的形式提供这个信息使得签署易于受到例如说基于提前或推后文档日期的欺诈。一种电子“公证人“由于其对准确提供这一信息的CA策略将是可信的。已经设想的多方签字能力可被扩展提供用于这一服务的框架结构。
为了公证的目的,时间戳和位置信息将被纳入签字属性。个人签字结构可以拆下并存储起来或者,如果需要,单独从文档分开传送。
在文档上的多方签字或联合签字本身也能从“互签”中区分开来,“互签”就是在找得出签字的签字结构上的签字而不是文档本身上面的签字。于是,互签提供加有签字的顺序的证明。因为互签本身是一种签字结构,所以它本身就可包含有互签;这一点允许构造出任意长的互签链。于是,电子公证可能由互签原签字人的签字组成并将时间戳包括在所签信息里面。对于很高风险的应用,可能还要求用一个或多个CA在每个证书上进行多方签字,签字都在独立的密码设备中完成且使用不同的专用密钥。
对基于签署前完成的数据核验水准(从公证可完全自动化的文档简单存在情形至人工核验文档内容)以及基于数据保留和审计能力的电子公证可以定出各种不同的服务水准。
数字签字的另一用途是用于代表或“代理人的权限”证书。由于用户常常要把自己的设备或灵巧卡托付别的人,例如当用户休假时,托付给秘书或同事,经常的情况是一个用户得到另一用户的灵巧卡或PIN,致使灵巧卡可能被误用。因此,系统简化对代理人证书的权力的发放,允许一个代表将他自己的灵巧卡的签字与所代表的用户的权力结合起来。代理人证书的权力至少要包括委托人的名字,代表的公开密钥证书的标识,以及一个短的有效期,并且是经委托人签署的。另一可能性是为代表创建一个新的密钥对专门用于委托人的签字,把新的公开密钥包括在代理人证书的权力里。这样就消除了使用代表的专用密钥代表委托人和代表他自己之间的任何潜在混乱。
移交灵巧卡的问题可通过提供保留各个责任原则的切实可行的替代方法而大大减少。这个特性的广泛实施将使不准借出灵巧卡这一个高度希望的目标成为切实可行。
使用上面讨论的代表证书意味着用户充当一个CA。在某些情形,特别在交易跨出组织界限的那些情形,关心的是用各个用户加密设备(例如灵巧卡)达得到的控制和审计水平可能不够。在这种情形下,可由CA根据委托人的申请以正规授权证书的形式发出委托证书。这一点也允许使用标准的CRL机制撤销委托证书。然后,用户证书可以指定一个可能的代表名单,并且委托证书本身可以包含一个列出委托人称谓的属性。
在实行代理人权力中,用户可通过将一个“代签”签字属性包括在文档或交易中来指明他是为另一用户代签,也就是说用户的名字是代签的。必须有一个有效的委托证书授权签字人代表被代签的用户。委托在用户个人计算机中的密码模块方面也是有用的。散列和签署一个文档理想上应当是一个一元化的运算以防止假散列经过软件的加工取而代之。但是,一般的灵巧卡都没有散列一个很长文档的计算能力。一个解决办法是让灵巧卡使用一个仅几分钟有效的很短寿命的委托证书将这一功能分配给密码模块。这个证书由用户的灵巧卡签署并指出灵巧卡的用户已允许委托。例如参阅1989年第12届全国计算机安全大会论文集中Gasser,M.,A.Goldstein,C.Kaufman和B.Lampson的论文“数字分布系统安全结构”;1990年IEEE安全和保密学术讨论会的论文集中Gasser,M.和E.McDermott的论文“一种用于分布系统中实用委托结构”。
非公用的公共密钥然而,一个更基本的问题是确保所有可能的收信人实际使用上述证书核验和属性核验方法。虽然这些方法通过允许保证组织核验与他们交易的那些人的身份和资格以及交易之前的交易特征,使这些保证组织能够保护他们自己,他们的用户以及与他们交易的那些人免遭发生伪造交易时的赔偿责任,但没有保证所有的收信人实际上都如此核验。如果一个收信人对一笔交易没有首先核验发信人和交易两者的属性,并且如果该发信人以后被发现发出了一个诈骗或未授权的交易,于是收信人可通过声明他不熟悉对用户基本签字的授权核验的任何要求而向发信人或它的保证人要求赔偿。确保保证人或其他实体在这种情形免受赔偿责任的一个办法是要求签署人将他的身份和授权证书的各自散列数值都纳入他们的签字中的属性。这样就能防止核验人声明他不熟悉这类证书和它们所加的限制。但是,签署人可能(有意或无意地)忽略做这一工作。另一个确保核验人服从的更有力的办法是防止根密钥,即最后授权的公共密钥,也就是最高级别的确认授权,核验人为了核验交易的任一部分将需要该密钥,被分配到用户(或者分到用户的设备或灵巧卡),除非用户与密码系统订有合同并同意根据预先建立的规则核验所有的当事人和所有的交易。这样,并不强制用户在技术上核验其交易的所有部分。但是,不充分核验其交易就会违反用户与密码系统之间的契约并且会因而免除密码系统的所有各方例如其雇员办事没有授权的保证人的赔偿责任。于是,不核验的收信人将承担他自己未核验交易的一切风险。而且,因为系统授权的根密钥被认为是一个贸易秘密,没有一个未曾签署系统规则协议的人会拥有它的副本,并且没有一个人能要求核验交易的任何部分。这就使“外部”核验人通过对交易即使是事实上有效的的“合理信任”索赔他遭受的损失困难得多。这一作为贸易秘密保持系统根密钥的技术这里所说的所有限制和授权方法提供了特殊的威力和有效性。可以相信,遭受有价交易的潜在大额赔偿责任的可能性将说服用户使用本发明的属性核验方法。
对证书分布的限制用户或组织必须能够限制所有类型的证书分布,有若干理由首先,证书常常包括有用户或组织不愿与别人分享的机密业务信息,以及即使是通过证书与核验人分享,也仅仅是为了签字核验的有限目的。另外,如果公开用户的公共密钥和网络地址,他们的基本隐私权就可能受侵犯。例如一旦他们的公共密钥被传开,他们就可能被不请自来的商业建议和广告淹没。再者,该组织可以对给出用户身份证明号码和公开密钥有一个总的政策,因为它们可被用作各种类型安全性袭击的起点。
这一功能度可以作为一种属性在用户的证书中实现。如果“分布限制”属性为真,则用户/发放者同意使用该证书(可能是一个授权或公共密钥证书)仅用于签字核验;分布或进一步公开是被禁止的。确定这一限制的其他办法可以包括将属性放在组织的证书中,公布该限制为行业特定政策的一部分,或者(在真正的X.500工具中)使用X.500访问控制清单机构限制访问该证书。虽然用于执行这一限制的一些现有法律基础可以在版权法中找到,也就是说,如果证书被宣布为一种未发表的著作,其执照仅对被命名核验者认可,那么严格的法律基础仍将是所希望的。
灵巧卡的要求当用于商务数字签字系统时,有一些对灵巧卡的附加要求。
第一个要求是专用密钥限制和自我确认。也就是说用户的私人签字密钥任何时候都不允许离开灵巧卡。只有这样才能保证不能单纯通过电子装置偷窃密钥而不留任何痕迹。这一专用密钥限制原则对不可抵赖性概念极其重要。
于是,如图13所说明的,当提供要被确认的公开密钥1303时,卡1301必须表明卡1301是防窜改的并拥有一个密钥限制设计。证明可以通过一个说明卡片来源于专门的制造商或生产线的“设备证书”1302提供。设备1301的公共密钥1308因而必须是经制造商或者制造商指定的CA确认过的。一条创建这一设备证书的途径是在制造灵巧卡期间生成设备密钥对,使相应的设备证书1302也能包括在卡片上。设备证书1302确认卡片的特性1304并且卡片生成一个要被卡片的用户使用的并且用户能通过适合要求的CA确认为他自己的密钥对1303,1309。然后,当把一个新生成的公共密钥1303交付确认时,设备的私人签字密钥1305就可被用于会签1306已经由新生成的用户专用密钥1309签署的证书申请数据1307。
另外,在政府要求所有解密密钥都要托管的情形下,卡片应当能够确认它不能解密。这个“仅仅签字”确认可通过上面所述的同一机制实现。从而使用户的签字密钥能够免除托管要求而继续留下来。因为怀疑托管密钥是否保持对不得抵赖服务的任何价值,这个确认对于防止签字密钥在托管期间由于可能的看管不当而导致的泄露是极其重要的。
还应当要求灵巧卡预防非授权使用个人身份识别号码(PIN)。通常,通过与口令等效的PIN防止非授权使用灵巧卡。一般,PIN仅可由用户改变并且必须是一个特定的长度,不过一般无法防止用户把PIN设定成一个平凡的数字,例如全是1或者121212。应当要求灵巧卡销售商实现确保不带重复数码或明显模式的非平凡PIN的PIN改变程序。把PIN做成相对较长(至少6位数)且非平凡的数减少了PIN被某个人找出或窃得运用的机会。对6位数PIN要求的支持可在这一技术中很有名并引入本文作为参考的ANSI,1990版“X9.26用于大批金融交易的金融制度签字验证”中找到,该文件提出了“一百万分之一”标准,声称如果除了其他许多事情之外,一个偷袭者没有百万分之一以上猜中正确口令的机会,并且如果系统采取规避行动防止重复猜测的话,登录机构就可被认为是安全的。此外,应当要求灵巧卡采取“规避行动”,例如在非授权用户输入过多不正确PIN时,关闭一个时间周期或者甚至规避专用密钥。
也可要求灵巧卡制造商使用生物测量学作为更安全的识别方法。作为对PIN的补充,目前正在声波纹和指纹识别领域进行广泛的工作。但是,在虚假的正片和负片的比率必须减少的同时,主要的问题在于保证生物测量学输入设备及其数据通道安全以使它们不受捕捉和重放生物测量学数据的影响。这在生物测量学设备嵌在一个具体墙壁中例如在ATM或有门访问系统中时不是一个问题,不过在一般的商业办公设备中仍是一个严重问题。理想的是,卡片和生物测量学输入设备各为一个能够确认自身并在相互间建立安全通道的防窜改密码模块。
灵巧卡还应当能够维持一个“审计余尾”或是一个至少包含一个时间戳、交易量、类型代码以及报文摘要等最新行为的内部登录。这个信息可被压缩到40字节左右,这样,一个400余条记录的循环登录就消耗16K左右字节。这个记录簿可以被加载并且仅在通过一个安全通道收到卡片发放人签字的请求时才受检验。此外,卡片在收到发放人签字说明加载的记录簿已被原封不动地收到的确认之前将不删去老的记录簿。这个控制机构将制止伪造、减少可能由一个伪造者造成的损失,并使未授权的或有问题的交易能够更快更容易地被调查。由于大多数或全部的交易都是同发放者脱机发生的,卡片就成了它自己的行为的最好的证明。
对鉴证授权机构和费用回收的根的公共密钥的控制访问如图3所示,在一个特定的密码系统中,可以是一个(31-33)发放证书34、35的鉴证授权机构31-33的分层结构。在一个大型系统中,鉴证授权机构的数目和分层结构的深度会大得多。在图3所示的结构中,鉴证授权机构A(31)是鉴证授权机构的根,而所有其他的鉴证授权机构则均在它之下。正如图3的描述所指出的,鉴证授权机构A的公开密钥为众所周知。在一个系统中,鉴证授权机构A接受系统中任何基于A发放的证书中的信息的交易的赔偿责任,这对于鉴证授权机构A(鉴证授权机构的根)来说,控制访问其公共密钥将会有用并且是所希望的。这样做,鉴证授权机构A就能在系统上执行规则,确保系统结构良好。现在叙述用于控制访问一个鉴证授权机构的公共密钥的各种方法。
参照图14,在一个密码系统中,鉴证授权机构(CA)1402向密码系统的用户(例如用户1438)发放用户身份证书1404。鉴证授权机构1402有一个专用密钥1406和一个公共密钥1408。专用密钥用于以鉴证授权机构的数字签字1410数字签署证书1404。鉴证授权机构1402可以是鉴证授权机构的分层结构中的任何鉴证授权机构,例如说图3所示的那些。
鉴证授权机构1402判断有关系统用户的信息并且根据该信息向那些用户发放证书1404。由鉴证授权机构1402发放到用户1438的证书1404包含的用户信息有用户的公开密钥1412和鉴证授权机构对那个用户的政策信息1414。为使证书1404中包含的信息为系统的其他用户核验,这些其他用户必须访问鉴证授权机构1402的公共密钥1408。
实际上,由鉴证授权机构发放的证书1404可被系统的用户用于向系统的其他用户标识自己以方便系统内的交易。一个收到来自系统另一用户1438的交易1440的收信人,其中交易附有鉴证授权机构1402发放的证书1404,(一个系统用户)能够信认证书1404中的信息,根本上是因为发行证书1404的鉴证授权机构1402担保证书中的信息并接受信认证书中信息的一定的交易的赔偿责任。如果证书1404包括有鉴证授权机构的政策信息1414,则这个赔偿责任仅在收信人有一个鉴证授权机构的公开密钥1406的有效副本并且收信人遵守了证书1404中所述的政策1414时才为鉴证授权机构1402所接受。
于是,例如说,假定在核验达到对用户A(1438)的身份满意之后,鉴证授权机构1402向用户A(1438)发放一个证书1404。证书包括用户A(1438)的公共密钥1416,鉴证授权机构1402对用户A的政策1414并且是由鉴证授权机构用数字签署的。假如说证书中的政策规定用户A仅能在工作日从上午9点到下午5点进入交易。用户A(1438)和证书1404的交易1440的收信人1424便能在知道只要(a)收信人核验了用于交易的政策,也就是说如果收验人证实交易发生在允许的时间界限,内并且(b)收信人具有一个鉴证授权机构1402的公开密钥1408的有效副本,鉴证授权机构1402就接受交易赔偿责任的情况下进行该项交易。换句话说,如果收信人不就政策检验交易,则交易便是无效的。另外,即使收信人检验来自用户A的交易并且该交易是鉴证授权机构对用户A的政策(如在证书中所指定的)所允许的,如果收信人不拥有鉴证授权机构的公开密钥1408的有效副本,鉴证授权机构1402还是不负交易的赔偿责任。
密码系统还包括也向用户发放证书的各种保证人1418,这些保证人发放的证书也称为授权证书1420。这些证书1420行使(除了别的以外)详细说明发放它们的保证人的规则或政策的功能。这些授权证书可以是独立的并且不同于鉴证授权机构发放的身份证书1404(尽管身份证书可以包含鉴证授权机构的政策要求)。一个用户可能只有鉴证授权机构1402发放的一种身份证书1404。但是,一个用户却可能拥有一个或多个保证人1418发放的许多授权证书1420。
当一个收信人接收到来自系统另一用户的一宗交易时,收信人还必须核验包括在来自那个用户的交易的授权证书中的所有保证人政策。于是,在这个密码系统中,用户被要求执行系统中鉴证授权机构和保证人的各个规则(政策)。
正如上面所指出的,为了使各种证书中包含的信息被系统的用户核验,这些用户必须访问鉴证授权机构1402或发放各种证书的保证人1418的公开密钥1408。为了执行系统中每一个鉴证授权机构和保证人的规则,有必要限制访问某些鉴证授权机构的公开密钥1408。特别是,有必要限制访问最高层(根)鉴证授权机构1402的公开密钥。
因而,根鉴证授权机构1402保持其公开密钥为一个贸易秘密,并且为了获得根鉴证授权机构的公开密钥,一个希望从事系统内交易的用户(潜在的收信人)1424必须获得由根鉴证授权机构发放的鉴证授权机构规则1426。收信人1424必须散列这些规则以形成散列的规则1428,然后必须对其用数字签署以产生一个已签署的散列规则副本1430。这个用数字签署的散列规则副本必须返回给根鉴证授权机构1402。通过这些做法,收信人1424同意遵守他刚刚签署的鉴证授权机构1402的规则。根鉴证授权机构1402还可以要求收信人1424也获得、签署和返回系统中其他鉴证授权机构的规则以及系统中各保证人的规则。例如,收信人1424也可以被要求获得保证人1418的保证人规则1432并将这些规则的一个已签副本1432返回给保证人1418。
一旦根鉴证授权机构1402对它已收到的由收信人1424签署的系统规则有效副本感到满意,根鉴证授权机构便向收信人1424发放其公共密钥1408。
根鉴证授权机构公开密钥1424可以用几种办法发放给收信人。在诸优选实施例中,收信人都装备一个安全设备1436,比如说一个灵巧卡。在一个优选实施例中,鉴证授权机构公共密钥1408在安全设备中是立即可得的,这样,收信人一旦得到此设备,他就有了鉴证授权机构公共密钥1408。在另一个优选实施例中,鉴证授权机构公开密钥1408以禁止使用的形式存在于设备1436中,并且根签证当1402一收到和核验完已签署的规则1430就起动设备中的密钥1408。
在一些情形下,设备1436中的根鉴证授权机构公共密钥在一定的时间周期之后开始无效或变得不可访问是有用的。在这些情形下,为使根鉴证授权机构复活密钥1406,收信人1424必须重新获得、签署和返回根鉴证授权机构1402的规则。这些规则可以与以前所签署的规则不同。
不同的鉴证授权机构,包括根在内,还可以要求潜在收信人在被准予访问那些鉴证授权机构的公开密钥之前满足其他条件。但是,由任何签署这些规则的人纳入系统规则的是要保守这些规则为一个秘密这样的一个协议。
费用回收规则还能包括对使用系统付费的协议。于是,当一个用户获得一个有效密钥(通过同意遵守系统的根CA的规则)时,这些规则能够执行履行系统的支付清单的协议。
密码系统能够将系统的操作与系统的用户为他们所完成和接受的交易的相关付费链接起来。为交易付费例如以预付帐户、被记帐的协议、或者用数字化现金同时向系统中的各方支付的形式进行。例如,一个诸如数字签署一宗交易的操作可能使一个用户向发放担保该用户身份的证书的鉴证授权机构支付一定数量的费用。
一些数字支付功能可装入包含公共密钥的设备中。由于用户的专用密钥一般都保存在安全设备(例如灵巧卡)中,因而安全设备可用于为每一个用户维持当前数字收付平衡。这个数字收付平衡可以是一个借入或者信贷量。每当一个用户使用其安全设备数字签署一宗交易时,就从该用户的数字收付平衡中减少某一数量。如果安全设备是一个借方设备,则当用户的数字收付平衡达到零时,设备将变为禁止使用并且不再能为用户签署。于是用户将必须从鉴证授权机构或系统的其他保证人获得另外的数字信贷。另一方面,如果安全设备是一个信贷设备,则可以要求用户在某个规则的时间例如说按天、按星期或按月完成向鉴证授权机构进行支付交易。由于数字信贷量可从安全设备得到,所以鉴证授权机构能够担保交易的数量正确。不进行所要求支付交易的用户将作为挂账或取消资格者列入CRL中,并且不再能够在系统中进行交易。
以逐个交易为基础的数字支付也使用确认交易来达到。用户的授权证书要列出收款人的确认地址。一旦发生交易,便通知收款人并能从用户的帐目中扣除支付额。
价格信息由于用户已经同意支付费用和与系统相关的特许权税,所以用户也能被提供灵活的价格和帐目信息。
用户专用的价格政策可使用证书实现。保证人和鉴证授权机构发放的证书可包括支付额和对于特定用户的价格政策。例如,一个证书可包括用于某些交易的价格清单(包括例如使用特定的专用密钥签署,使用一个特定的公开密钥核验、或者检验特定证书的取消状态)、对特定用户的回扣率、对某些收信人交易的回扣率、以及对大批量交易的回扣率。一些记帐通过用户的安全设备完成,而其他可记帐的事件可从交易收信人进行的动作引发。
为了实现某些价格政策,证书可能包含各种不同的数字段。对于某些政策而言,这些数字段包括撤销服务地址、撤销服务费、以及交易确认费。撤销服务地址类似于确认地址,只是仅用于确认证书的有效性。也就是说,撤销试图基于已被取消的证书的交易的服务屏幕。撤销服务费用是为这个服务所收的费用。
这些字段的例子是(a)专用密钥签署费=0.50美元(b)公开密钥核验费=0.50美元(c)撤销服务地址=Rev-check@btec.com(d)撤销服务费=0.50美元(e)确认服务费=0.50美元所有费用都可规定为绝对费用或者是按每一基本交易量的某个数量的费用。例如一种费用可规定为“0.5美元”或者“每1000美元的基本交易量为0.5美元”
通过给出上面的例子,一个接收交易的收信人可将相关的证书送到撤销服务地址并按服务费的规定费率记帐。
为了对确认交易收费,一个证书也可包含有交易确认费用,例如交易确认费用=(每1000美元交易量0.5美元)。
在这一情形下,每宗已确认的交易都会花去收信人适当的费用。
在一些场合,收信人可能收到一宗花费太大因而被拒绝的交易。因此,表示允许给发信人汇单的数字字段(这个字段系由发信人签字)也包括在内。这个字段可包括发信人帐号和包括有最大可接受汇价等等的其他信息。这个“发信人帐单”字段可作为一种属性出现在发信人的签字块内。
知识产权许可规则还可包括同意对用户使用的所有知识产权付费。例如,系统可为用户提供取得专利的交易、服务或算法、有版权的材料,等等。用户为了得到能够访问这种知识产权的公开密钥,用户必须签署同意为知识产权付费的用户规则。
例如,在一个实施例中,安全设备包括许多未起动的服务(要求为该服务付费)。每使用一种这些服务都要求以例如说数字现金的形式或者通过设备中的内部交易或者通过与系统其他用户的某些交易付费。为了得到该设备,用户必须数字签署一组规则(使用设备中的一个对设备因而对用户都是唯一的一个专用密钥)。通过签署这些规则,用户同意按要求进行付费。
签字人所加的政策和规则一个密码系统的用户可以有一个身份证(由CA发放)和一个或多个授权证书(由各CA或用户的保证人发放)。每一个这些证书都有发放方的政策,并且指望一个包含有任何这些证书的交易的收信人核验交易遵从证书中指定的所有规则。但是,可能有这样情况,对于特定的交易,用户希望有比证书允许的更多限制的适用规则。例如,一个用户可能被允许准许所有一百万美元或以下的交易,但他却愿意只准许价值小于1000美元的某种交易。换言之,可能允许一个用户只准许某种交易,而对于特殊交易,该用户则可能愿意要求一个或多个共签人。为了支持这一特性,本发明的密码系统为用户提供了增加用户规则、属性和对交易限制的能力。
用户规则不能允许准许其他规则不允许的交易。因而,收信人必须总是对每笔交易应用最具限制性的规则。例如,如果一个用户证书允许高到1000美元的交易,而用户规则确定的交易数额却高到一百万美元,很清楚应当适用1000美元限额。达到这一点例如可通过收信人首先应用所有的证书规则,然后,如果交易仍然有效,则应用所有的用户规则。首先应用用户规则然后应用证书规则,也将产生正确的结果。但是,由于规则和限制的布尔组合被支持的关系,将用户和证书规则交叉如果不小心进行就可能产生不正确的结果。
图15示出对包含用户提供的规则的用户交易的核验。一笔用户交易1502包括叙述交易将被收信人完成的交易正文1506。用户向交易正文1506附上一组用户希望交易1502由任何收信人核验的用户提供的规则1504。然后用户数字签署这个交易正文1506和规则1504的组合体以形成交易1502,形成一个用户签字1510附到交易上。
然后,交易1506与任何所要求的保证人和/或CA证书例如CA证书1508和保证人证书1509一道送给一个必须随即核验该交易的收信人。为这样做,收信人使用CA证书1508的用户公共密钥1514核验1512用户的签字1510。如果用户的签字被接受,则核验继续进行,否则该交易便被拒绝1514。如果继续核验,则收信人使用CA的公开密钥1520核验1516 CA的签字1518。如果CA的签字被接受,则借助检验所有证书和用户提供的那些证书包括保证人证书1509中的规则继续进行核验1522。否则交易被拒绝1514。如果继续核验,则收信人对照CA证书1508、保证人证书1509(以及任何其他与本交易相关的证书)中的规则来核验1522交易。如果这些规则的任一个不满足,则交易被拒绝1514,否则核验交易便就用户提供的规则1504的核验交易而继续进行。仅当交易满足用户提供的规则1504时,它才被接受1526,否则便被拒绝1514。
用户提供的规则1504可以是系统已知规则的任何组合,包括但并不仅限于共同签字要求、时间限制、交易量限制、确认要求等等。
在一些环境下,用户可生成供自己用于对付特定类型用户或交易的一组规则或缺省规则。这些规则组或缺省规则可自动附到所有那些类型的用户或交易上。例如,一个做银行管理者的用户可能决定(凭经验)对于她会签的新出纳员的所有交易,她要施加比银行要求更多的限制规则。那么她可能把这些规则存储在她的系统中作为用于签署或会签的那些种类的交易的缺省规则。
业内专业人员将会理解,本发明是典型的实地使用的电子设备,诸如数字电子计算机等等,而且证书、交易、报文、签字等等都是用电子设备生成并在电子设备之间传递的数字电子信号。
从而,提供了一种在商业密码系统中安全使用签字的方法。业内专业人员将会理解,本发明可以通过与所述实施例不同的办法实施,提供实施例是为了说明的目的而不是限制,本发明仅受下面的权利要求限制。
权利要求
1.在一种密码系统中,其中鉴证授权机构发放标识所述系统的用户的数字证书,所述数字证书系用所述鉴证授权机构的专用密钥进行数字签署而形成一个数字签字并需要所述鉴证授权机构的一个公开密钥来核验所述数字签字,以及其中所述密码系统中的一笔用户交易需要所述用户交易的收信人核验,所述核验系基于所述数字证书的信息并需要所述公共密钥,一种控制访问所述公共密钥的方法包括的步骤是拒绝访问所述公开密钥;给所述收信人提供至少一种包含有所述系统的规则的报文,所述规则包括保守所述公共密钥的秘密;由所述收信人数字签署所述至少一个文档,以此表明所述收信人同意所述规则;以及响应所述数字签字,允许所述收信人使用所述公共密钥。
2.如同权利要求1的方法,其中所述提供步骤包括给所述收信人提供一个包含有所述公共密钥的安全设备的步骤,其中所述的公共密钥不能从所述安全设备获得。
3.一种在密码系统中执行安全性政策的方法,所述政策要求控制访问公开密钥,所述方法包括的步骤是拒绝访问所述公共密钥;为收信人提供一个包含有所述密码系统的规则的报文,所述规则包括保守所述公共密钥的秘密;由所述收信人数字签署所述文档,以此表明收信人同意所述规则;响应所述数字签字,允许所述收信人使用公共密钥。
4.一种在密码系统中执行安全性政策的方法,所述政策要求控制访问公开密钥,所述方法包括的步骤是为收信人提供一个包含有所述系统的规则的文档和一个包含有停用形式的所述公共密钥的一个安全设备,其中所述公共密钥不能从所述设备得到;所述收信人数字签署所述文档;响应所述数字签字,在所述安全设备中起动所述公共密钥。
5.一种在密码系统中执行安全性政策的方法,所述政策要求控制访问鉴证授权机构的公共密钥,所述方法包括的步骤是由所述鉴证授权机构为用户提供一个包含所述系统的规则的报文和包含有一个停用形式的所述公开密钥的安全设备,其中所述公开密钥不能从所述设备得到;由所述用户表示遵守所述规则的意向,所述表示包括的步骤是散列所述报文以得到一个散列的文档;数字签署所述散列的文档以形成一个数字协议;以及将所述数字协议返回给所述鉴证授权机构;响应所述用户的所述表示由所述鉴证授权机构起动所述安全设备中的所述公共密钥。
6.如同权利要求1-5中任一条的方法,其中系统的每一个用户都有一个专用密钥,并且其中所述规则至少包括一个要求向第三方付费的规则,付费发生在每次使用所述公共密钥;每次使用用户的专用密钥;每次认证证书的状态;以及每次确认用户的交易,
7.如同权利要求1-5中任一条的方法,其中所述规则包括为所述收信人使用在创建或操纵系统中所用的知识产权付费的规则。
8.如同权利要求1的方法,其中所述用户交易在完成所述数字签署步骤之前无效。
9.如同权利要求1的方法还包括的步骤响应所述收信人的所述签署,所述鉴证授权机构接受所述收信人的交易,所述交易则基于所述用户交易。
10.在一个密码系统中,其中鉴证授权机构发放标识所述系统的用户的数字证书,所述数字证书系用所述鉴证授权机构的专用密钥数字签署形成一个数字签字并需要所述鉴证授权机构的一个公共密钥来核验所述数字签字,以及其中所述密码系统中的一笔用户交易需要由所述用户交易的收信人核验,所述核验系基于所述数字证书的信息并需要所述公共密钥,一种控制访问所述公共密钥的方法包括的步骤是为所述收信人提供一个包含有停用形式的所述公共密钥的安全设备,其中所述公共密钥不能从所述安全设备得到;响应使用所述安全设备的一个预定交易,起动所述安全设备中的所述停用公共密钥,所述预定交易包括标识安全设备的运行能力和唯一标识所述安全设备的安全设备信息,并且还包括唯一将所述收信人连接到所述预定交易的信息。
11.在一个密码系统中,其中鉴证授权机构发放标识所述系统的用户的数字证书,所述数字证书系用所述鉴证授权机构的专用密钥数字签署形成一个数字签字并需要所述鉴证授权机构的一个公开密钥来核验所述数字签字,以及其中所述密码系统中的一笔用户交易需要所由述用户交易的收信人核验,所述核验系基于所述数字证书的信息并需要所述公共密钥,一种控制访问所述公共密钥的方法包括的步骤是为所述收信人提供一个安全设备;响应一个使用所述安全设备的预定交易,将所述公开密钥转移到所述安全设备,所述预定交易包括来自安全设备标识安全设备的运行能力和唯一标识所述安全设备的信息,并且还包括唯一将收信人连接到所述预定交易的信息,其中所述公开密钥不能从所述安全设备得到。
12.如同权利要求10和11之一的方法,其中所述安全设备中的所述公开密钥在一个预定的时间周期之后变为停止工作,所述方法还包括的步骤是在所述设备中的所述公开密钥变为停止工作之后响应另一宗使用所述安全设备的预定交易,起动所述安全设备中的所述停止工作的公开密钥,所述另一件预定交易包括标识安全设备的运行能力的安全设备信息并且还包括唯一将所述收信人连接到所述另一宗预定交易的信息。
13.一种在密码通信系统中执行政策的方法,包括的步骤是由用户组成一个数字报文;将所述报文至少与一个用户规则组合;形成一个基于所述数字报文,所述至少一个用户规则和所述用户的一个专用密钥的数字用户签字;将所述数字报文,所述至少一个用户规则和所述数字用户签字组合形成一个数字的用户交易;以及将所述数字用户交易与鉴证授权机构发放的数字标识证书组合起来,所述证明证书具有多个数字段,至少有一个所述数字段标识所述用户,其中所述至少一个用户规则规定所述数字报文交易有效的条件。
14.如同权利要求13的方法,还包括步骤将所述数字交易与独立于所述标识证书并由所述用户的保证人发放用于所述用户的授权交易的数字授权证书组合起来。
15.一种在密码通信系统中执行政策的方法,包括的步骤是接收一宗数字用户的交易,该交易包括一个数字报文,至少一个规定所述交易有效的条件的用户规则以及基于所述数字报文的数字用户签字,所述至少一个用户规则基于用户的专用密钥;接收由鉴证授权机构发放并具有多个数字段的数字标识证书,至少一个所述数字段标识所述用户;根据所述证书和所述至少一个用户规则中的信息核验所述交易;以及根据所述核验的所述结论接受所述交易。
16.如同权利要求15的方法,还包括步骤接收一个独立于所述标识证书并且由所述用户的保证人发放的数字授权证书和由所述用户的授权交易;并且其中所述核验步骤包括的步骤是根据所述授权证书中的信息核验所述交易。
17.如同权利要求13-16中任一条的方法,其中所述至少一个用户规则至少包括下列之一(a)所述交易的允许文档类型;(b)可形成交易的允许地点;(c)可形成交易的允许时间;(d)所述签字有效的时间周期;(e)对所述交易的钱数限制;以及(f)对所述交易的共签要求。
全文摘要
一种用于在商业密码系统中安全使用数字签字的方法,允许通过使用属性证书将行业范围的安全政策和授权信息编码到签字和证书中以实施政策和授权要求。通过限制对已经数字签署并且同意遵守系统的规则的用户访问公共密钥,在系统中实施对政策和授权要求的核验。这些规则还能够确保对使用公共和专用密钥付费。另外,用户能在系统中加上他们自己对交易的规则和政策要求。
文档编号H04L9/32GK1153582SQ95194241
公开日1997年7月2日 申请日期1995年7月19日 优先权日1995年7月19日
发明者弗兰克·W·苏迪亚, 布莱恩·西里茨基 申请人:银行家信托公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1