用于存储和检索身份映射信息的方法和系统的制作方法

文档序号:7662703阅读:164来源:国知局
专利名称:用于存储和检索身份映射信息的方法和系统的制作方法
技术领域
本发明涉及用于在一身份管理系统中存储和检索身份映射信息的系统 和方法,所述身份管理系统允许在第一域处被认证的用户访问第二域。
背景技术
关于用户的个人信息以及用于登入计算机的机制通常位于中央存储库 内。每个存储库都被称为域或者区域,其将每个参与的用户绑定到该存储 库内的数据。例如,当用户希望从某一域中的计算机系统获得数据时,他 通常将必须认证他自己,并且还可能让他的授权被验证,这涉及对相应存 储库的访问。
但是,在较大的机构中,通常存在多个域。结果,已经在第一域中认 证(并且授权)了他自己并且现在想要执行或者访问第二域所拥有的资源 的用户需要在第二域中再次被认证。这在第一和第二域不同类的情况下 (即在使用不同的硬件和/或软件的情况下)尤其是个问题。
Kerberos是本领域中已知的当第一和第二域位于一些不同类的平台时 提供信任关系的一种系统。但是,存在许多实际示例,其中该方法不能用 在不同类的系统上(例如,Kerberos方案不可用于一平台,或者现有的安 全系统和/或应用程序不能被容易地修改为适合于Kerberos方法)。在某种 程度上解决这些困难的其他方法可从申请人的EP 1035462和EP 1650923 中得知。
具体而言,对于真正不同类的域,即,域之间没有限定允许建立信任 关系的通信路径,现有技术中已知的一种方法是使用某种形式的用户身份 映射。当已经登入第一域的用户希望访问来自第二域的资源时,他的第一 域的用户ID (例如"John Doe")被映射到另一用户ID (例如 "jdoe"),该另一用户ID符合第二域的安全系统的具体要求。该映射过
程通常由为了该目的而访问数据库的身份管理系统来执行。
但是,存储在数据库中并且从该数据库传递到要求映射的应用程序的 身份数据被自动地信任并且不能由应用程序或用户在运行时间检查。换言 之, 一旦身份映射信息已被存储,用户或应用程序就不对其进行验证。这 在有人修改身份映射信息以例如"劫持"另一域处的别人的身份的情况下 存在可能被恶意攻击所利用的可能的安全缺口。更重要的是,用户或应用 程序甚至都不能检测到发生了这样的攻击。
因此,本发明的技术问题是要克服现有技术的上面所列出的缺点并且 提供允许更安全的用户映射的方法和系统。

发明内容
在本发明的一个方面中,该问题由一种用于将身份映射信息存储在身 份管理系统中以允许在第一域处被认证的用户访问第二域的方法来解决, 该方法包括以下步骤
-由用户对身份映射信息进行数字签名;
-将映射信息提供给身份管理系统;以及
-在由身份管理系统对经用户签名的映射信息进一步进行数字签名之 后存储经用户签名的映射信息。
因此,根据一个方面,本发明通过存储映射信息以使得用户和身份管 理系统都可以通过检査本发明的两个数字签名来验证所存储的映射信息的 完整性而克服了现有技术的上述缺点。具体而言,因为用户对系统具有更
多的控制,所以本发明区别于Kerberos所采用的方法。
优选地,由用户对身份映射信息进行的数字签名涉及用户的私钥的使 用,由身份管理系统对身份映射信息进行的数字签名涉及身份管理系统的 私钥的使用。因此,可以优选地由应用程序利用用户和身份管理系统的相 应公钥来检查这两个数字签名,而不需要用户的私钥,因此不需要与用户 进行对话。
在一个实施例中,映射信息还包括访问第二域所需要的密码,所述方 法还包括以下步骤
-用加密密钥至少对所述密码进行加密,其中加密密钥可以被至少划 分为第一部分和第二部分;
-用用户的公钥对加密密钥的第一部分进行加密;
-用从信任中心所获得的公钥对加密密钥的第二部分进行加密;
-将经加密的密码和经加密的加密密钥存储在身份管理系统中。
尽管映射信息的上述双重签名仅确保数据的完整性,但是优选的实施 例也可以避免诸如密码之类的个人信息被以某种方式获得对映射信息的访 问的恶意攻击者所査看。
与诸如Kerberos之类的现有技术系统相比,这些特征进一步增加了安 全性。尽管Kerberos依赖于对称密钥,但是本发明优选地使用针对最重要 部分的公钥/私钥密码技术以及敏感数据的双重加密。而且,Kerberos局限 于处理用户ID和密码,而本发明的上述实施例可以同样保护任何敏感的 用户数据。照此,不能容易地修改Kerberos以增加安全级别,也不能对其 进行扩展以存储私有用户数据。
根据另一方面,本发明涉及一种用于从身份管理系统检索身份映射信 息以允许在第一域处被认证的用户访问第二域的方法,该方法包括以下步

-检索经用户签名的映射信息,该信息已由身份管理系统进一步进行 数字签名;
-确认身份管理系统的数字签名;以及 -确认用户的数字签名。
如上所述,这两个确认步骤允许应用程序来确保经用户签名的映射信 息的完整性以使得排除由第三方对该信息的篡改。如果用户和身份管理系 统的私钥被用于数字签名,则公钥可以被用于相应的确认步骤。
尤其优选的是使用将用户的公钥绑到他的身份的用户证书,该证书优 选地是从信任中心(PKI)获得的。如果用户想要废除映射信息或者使其 无效(例如,当用户离开公司时),他可以简单地通知信任中心(PKO 以使该具体证书无效。结果,应用程序可以随后不再针对给定的用户映射 来验证签名。要注意到,这种废除在用户的控制之下。
在一个实施例中,除了映射信息之外,还检索密码,该密码是访问第 二域所需要的并且被用加密密钥进行加密,所述加密密钥至少包括用用户 的公钥进行加密的第一部分和用从信任中心所获得的公钥进行加密的第二 部分,其中所述方法还包括以下步骤
-将加密密钥的第一经加密的部分发送到用户以用其私钥进行解密;
-将第二经加密的部分发送到信任中心以供解密;
-用从经解密的第一部分和第二部分组合的加密密钥对密码进行解密。
本发明的该特征确保密码(或者任何其他的个人私有数据)处于用户 的控制之下并且不用暴露用户的私钥。对密码的篡改现在不再可能,在用 户不知道或者没有用户的允许的情况下传送密码也不再可能。另外,因为 检索密码所需要的完整加密密钥决不被整个在单个通信路径上发送,所以 使得恶意攻击更加困难。
最后,本发明涉及适合于执行上述方法中的任何方法的身份管理系统 以及包括用于执行上述方法中的任何方法的指令的计算机程序。


在下面的详细描述中,参考附图进一步描述了本发明当前优选的实施例
图l:示出了用户身份映射的示意图2:在本发明的一个实施例中执行的用于执行安全的用户映射的步 骤的示意图,所述安全的用户映射用于存储映射信息以使得其完整性被确保;
图3:在本发明的一个实施例中所执行的用于用户映射信息的外部签名的检索和确认的第一部分步骤的示意图4a:所执行的用于用户映射信息的内部签名的检索和在线确认的第二部分步骤的示意图4b:用户映射信息的内部签名的离线确认的示意图5:根据本发明的另一方面所保护的密码(或者其他私有个人信息)的示意图;以及
图6:检索由图5的实施例所保护的密码所必需的步骤的示意图。
具体实施例方式
图1给出了两个域10、 20的示意图,这两个域要求不同的用户ID来 访问数据。域10例如可以给出基于Windows的公司网,而域20可以是包 括一个或多个应用程序和/或一个或多个数据库的老式主机系统。运行应用 程序30的用户l可以要求来自域10、 20两者的数据。因此,用户l必须 被认证并且在需要的情况下在域10、 20两者中证明其授权。但是,包括 用户身份数据库50的身份管理系统40允许应用程序30基于用于第一域 10的用户ID获得用于第二域20的用户ID。结果,用户1仅必须输入单 个用户ID。在图1给出的示例中,用户1仅需要在第一域IO处将其本身 认证为"John Doe",应用程序30也可以基于存储在用户身份数据库50 中的关系在第二域20处将用户认证为"jdoe"。
清楚的是,利用身份管理系统来映射用户ID的概念可以被扩展到多 于简化的图1中所示的两个域10、 20。此外,尽管如果域10和20是真正 不同类的,以使得无法发现或者创建共用的安全系统,则下面所描述的方 法和系统尤其有用,但是本发明也可以应用于不那么不同类的系统或者甚 至同类的系统。
如果用户身份数据库50被篡改,则第一域10的用户ID可能不再被 分配给第二域20的正确用户ID。结果,可以在用户1不知情的情况下用 假身份在第二域20中执行操作。
为了解决这个问题,在下面所描述的本发明的实施例允许针对用户1 和应用程序30两者验证映射信息。在优选实施例中,采用信任中心
(PKI、公钥基础设施)。但是,这对本发明而言不是实质的。为了确保 存储在用户身份数据库50中的映射数据的完整性,每个用户首先通过在 图2所示的步骤100中用其私钥对其映射数据进行签名来明确同意用户映 射。在图1的示例中,域10中的用户"John Doe"被映射到域20中的
"jdoe"。映射数据与签名值一起在步骤110中被发送到身份管理系统40以供
存储。为了提高安全性,可以使用SSL通信(安全套接字层)。在下一步 骤120中,身份管理系统40再次用其私钥对整个信息进行签名,并且身 份管理系统40在步骤130中将双重签名的映射信息存储在用户身份数据 库50中。
在任何稍后的时间点上,应用程序30可以通过执行以下确认步骤来 执行所要求的用户映射首先,在步骤150和151中从身份管理系统获得 双重签名的映射信息(参考图3)。可以再次使用SSL通信来进一歩提高 安全性。随后,在步骤160中通过确认映射信息的外部签名来验证映射信 息曾经过身份管理系统40认证(参考图3)。这通常将会是离线过程,即 可以利用身份管理系统40的公钥由应用程序30来本地执行。
在下一步骤170中,通过确认内部签名来验证经认证的用户1己经真 地限定并同意映射。如果应用程序30拥有用户证书,则其可以通过检查 经认证的用户的凭证80与证书凭证81以及来自用户映射数据82的信息相 匹配来离线执行确认(参考图4b)。
或者,可以利用信任中心(PKI) 70而使用在线确认,如图4a所示意 性示出的。这具有进一步的优点如果用户1 (或者任何其他经授权方) 先前己使用户映射无效,则用于对该映射进行签名的证书将会被取消,并 且随后由称为证书废除列表(CRL)的标准机制使得映射无效,该机制是 用于废除证书的方法,因此由证书的所有者在期满之前所创建的所有签名 都自动地宣布其无效。
图5和图6示出了本发明的进一步的方面。该优选方面被使用并且被 在下面的环境中描述,该环境是上面所说明的用于验证用户映射信息的完 整性的方法和系统的环境。但是,无论何时个人私有数据被存储以使得不 必在每次需要该数据时都对其进行输入, 一般都可以应用所述优选方面。 因此,虽然密码保护仅仅是下面所描述的方法的应用领域的一个示例,但 是其可同样用于保护例如信用卡号码这样的敏感金融信息,或者任何其他 将要保护的数据。
如果访问第二域20需要密码,则确保其在用户映射数据库50中的完整性是不够的。相反,不仅必须保护其不被篡改,而且必须以真正安全和
加密的方式对其进行保持,这例如并非是诸如Kerberos之类的现有技术系 统中的情况。否则,将会存在可被恶意攻击(例如进行欺诈或者窃取身 份)利用的安全缺口。但是,在现有技术系统中,用户通常不能控制如何 存储或使用密码。因此,需要他对存储和使用其密码的系统给予绝对信 任。
如图5所示,在密码210与用户映射信息一起被存储之前,加密密钥 220被用于对密码210进行加密。加密密钥220必须足够长以使得其可以 被划分为两部分221、 222 (或者更多的部分,图5中未示出)。加密密钥 220的第一部分221将被利用用户的公钥加密。其他部分222将被利用来 自信任中心(PKI) 70的专门证书的公钥加密。经加密的密码210然后被 与经加密的两部分加密密钥一起存储,并且与如上所述的用户映射信息一 起被签名。
当应用程序30需要密码210 (例如为了访问域20中的资源)时,则 应用程序30必须首先执行如前所述的用于获得经确认的用户映射信息的 所有步骤。为了对经加密的密码进行解密,应用程序30随后将执行以下 步骤(参考图6):
在步骤310中,经加密的密码密钥220的第一部分221被发送到用户 1。用户1可以通过使用他的私钥而对密钥220的部分221进行解密。要注 意到,密码210或者用于对密码210进行解密的完整密钥220在该步骤期 间都不在通信信道上传播。
应用程序30在步骤320中获得经加密的加密密钥220的第二部分222 并且将其发送到信任中心(PKI) 70以供解密。图5和图6中的虚线表示 信任中心(PKI) 70可以在任何远程位置处。现在,应用程序30持有用于 对密码210进行解密的完整密钥220。
结果,密码210处于用户的控制之下并且可以在不暴露用户的私钥的 情况下被解密。篡改密码210不再可能,并且在用户不知道和没有用户允 许的情况下传送密码210也不再可能。因为对密码210进行解锁所需要的 完整密钥220从未被整体发送(例如在单个通信路径上),所以恶意攻击
被更好地防御。
所描述的方法可以被有效地用于所有下述系统,其中个人敏感数据被 存储并且应该仅在所有的参与方(用户和应用程序)同意时才被揭示。此 外,如果加密密钥220被划分为多于两部分,则在用于经加密的个人敏感 数据的经加密的加密密钥可以完全从其各个经解密的部分组合之前,可能 要求更多方同意。实际上,本发明的该方面允许任意数目的参与者。因 此,在像银行之类的场景中(当私有数据需要被保护时),正常的交易可 能仅需要两个密钥,但是对于"更高风险"的交易而言,可能另外用第三 密钥(例如另外的监管者的密钥)来保护数据以对信息进行解锁。要注意 到,可以容易地改变所需要的密钥的数目。
用于提供防止恶意攻击的更多保护的另外的安全特征(未示出)可以 通过向应用程序本身提供另外的凭证而被实现,这些凭证也例如由身份映射系统40和/或信任中心(PKI) 70来验证。这在应用程序被用某种方法 (例如特洛伊木马)替换的情况下克服了剩下的安全问题。因为应用程序 通常由以管理特权运行的用户激活,所以(秘密地)被替换的应用程序将 具有这些特权。但是,在由信任中心(PKI)禾口/或IMS对应用程序的证书/ 身份进行另外验证的情况下,任何假的应用程序将要克服相当大的障碍。 这对于诸如银行之类的金融公司而言可能尤其重要,这些公司一次性创建 应用程序,然后进行广泛复制的分发。在这样的情形中,可能在应用程序 的生产、分发和安装阶段中的许多阶段遇到对应用程序的恶意攻击。另 外,提供诸如Windows或者Linux之类的操作系统软件的公司和机构可能 很好地将这样的特征用于保护对他们的O/S的关键访问以及关键文件。这 种操作系统的用户还可得到对其自己的文件和磁盘的附加保护。
权利要求
1.一种用于将身份映射信息存储在身份管理系统(40)中以允许在第一域(10)处被认证的用户(1)访问第二域(20)的方法,该方法包括以下步骤a.由所述用户(1)对所述身份映射信息进行数字签名(100);b.将所述映射信息提供(110)给所述身份管理系统(40);以及c.在由所述身份管理系统(40)对经用户签名的映射信息进一步进行数字签名(120)之后存储(130)经用户签名的映射信息。
2. 如权利要求1所述的方法,其中步骤a.涉及所述用户(1)的私钥的 使用。
3. 如权利要求1或2所述的方法,其中步骤c.涉及所述身份管理系统 (40)的私钥的使用。
4. 如前述权利要求中任一项所述的方法,其中所述映射信息还包括访 问所述第二域(20)所需要的密码(210),并且其中所述方法还包括以下步骤d. 用加密密钥(220)至少对所述密码(210)进行加密,其中所述加 密密钥(220)可以被至少划分为第一部分(221)和第二部分(222);e. 用所述用户(1)的公钥对所述加密密钥(220)的所述第一部分 (221)进行加密;f. 用从信任中心(70)所获得的公钥对所述加密密钥(220)的所述第 二部分(222)进行加密;g. 将经加密的密码(210)和经加密的加密密钥(220)存储在所述身 份管理系统(40)中。
5. —种用于从身份管理系统(40)检索身份映射信息以允许在第一域 (10)处被认证的用户(1)访问第二域(20)的方法,该方法包括以下步骤a.检索(150, 151)经用户签名的映射信息,该信息已由所述身份管 理系统(40)进一步进行数字签名; b. 确认(160)所述身份管理系统(40)的数字签名;以及c. 确认(170)所述用户(1)的数字签名。
6. 如权利要求5所述的方法,其中步骤b.包括所述身份管理系统 (40)的公钥的使用。
7. 如权利要求5或6所述的方法,其中步骤c.包括所述用户(1)的公 钥的使用。
8. 如权利要求7所述的方法,其中步骤c.包括所述用户(1)的证书的 使用,所述证书包括所述用户(1)的所述公钥。
9. 如权利要求8所述的方法,其中所述用户证书是从信任中心(70) 获得的。
10. 如权利要求5-9中任一项所述的方法,其中除了所述映射信息之 外,还检索密码(210),该密码(210)是访问所述第二域(20)所需要 的并且被用加密密钥(220)加密,所述加密密钥至少包括用所述用户(1)的公钥进行加密的第一部分(221)和用从信任中心(70)所获得的 公钥进行加密的第二部分(222),其中所述方法还包括以下步骤d. 将所述加密密钥(220)的第一经加密的部分(221)发送(310) 到所述用户(1)以用所述用户的私钥进行解密;e. 将第二经加密的部分(222)发送(320)到所述信任中心(70)以供解密;f. 用从经解密的第一部分(221)和第二部分(222)组合的所述加密 密钥(220)对所述密码(210)进行解密(330)。
11. 一种适合于执行任何前述权利要求中任一项的方法的身份管理系 统(40)。
12. —种包括用于执行权利要求1-10中任一项的方法的指令的计算机 程序。
全文摘要
本发明涉及一种用于将身份映射信息存储在身份管理系统(40)中以允许在第一域(10)处被认证的用户(1)访问第二域(20)的方法,该方法包括以下步骤由用户(1)对身份映射信息进行数字签名(100);将映射信息提供(110)给身份管理系统(40);以及在由身份管理系统(40)对经用户签名的映射信息进一步进行数字签名之后存储(130)经用户签名的映射信息。
文档编号H04L29/08GK101202762SQ200710162849
公开日2008年6月18日 申请日期2007年10月16日 优先权日2006年10月17日
发明者迪特尔·凯勒 申请人:软件股份公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1