发明名称 一种基于数字证书的单点登录方法
摘要 本发明涉及一种基于数字证书的单点登录实现方法。通过在应用服务器存放数字证书及公/私钥对,利用服务器公/私钥,将用户信息加密保存应用于多应用系统之间,实现安全单点登录,安全可靠。既避免了由于session过期导致的用户信息丢失,也解决了用户拒绝cookies而受到的限制。用户可一次登录,无须重复输入登录信息,使用方便安全,具有很高的示范作用和推广价值。本发明方法特别适用于对已有多应用系统的安全改造,且原应用系统通过用户名/口令控制登录的功能仍然保留。增加数字证书身份认证,改造工作量小。改造后,用户在多应用系统之间切换,无须重复校验身份,真正实现了“一次登录,到处漫游”,是一种安全实用,简单方便的单点登录实现方法。
申请公布号 CN1547343A 申请公布日期 2004.11.17
申请号 CN200310109481.1 申请日期 2003.12.17
申请人 上海市高级人民法院 发明人 顾建荣
分类号 H04L9/32 主分类号 H04L9/32
代理机构 上海智信专利代理有限公司 代理人 沈德新
主权项 1、一种基于数字证书的单点登录实现方法,包括采用的数字证书、公/私钥技术、登录信息加密以及适用环境:系统中有多个不同的应用系统,各系统有各自不同的软硬件运行环境,并假定各应用系统均运行在独立的应用服务器上,用户可以通过客户端/浏览器访问应用系统;每个用户拥有自己的用户身份证书、签名私钥、加密算法的数字证书eKey;每个用户有访问不同应用系统的权限,且在不同系统中有不同的访问权限,权限信息储存在统一的系统数据库中;环境中有一台逻辑存在的登录服务器,负责实现用户登录功能,且实际中该登录服务器可以与各应用服务器共享相同的硬件设备;环境中还有一台证书服务器,负责管理所有的数字证书,其特征在于单点登录实现方法如下:a.CA中心为每个应用服务器颁发一套服务器证书,并相应地生成一对公/私钥对,证书与公/私钥对存放在各应用服务器上,仅用作标识服务器身份及服务器端加解密;b.用户访问浏览器/客户端上的登录界面,向登录服务器发出登录请求;c.登录服务器端收到请求后,生成一个随机字符串,发向浏览器/客户端,要求登录者对这个字符串进行签名;d.浏览器/客户端要求登录者提供数字证书eKey;e.浏览器/客户端调用数字证书eKey提供的接口,将随机字符串签名;f.浏览器/客户端将签名及登录者的身份证书发送到登录服务器端;g.登录服务器先校验用户的签名是否有效,如果验证通过,说明用户信息传送过程中未被篡改;h.登录服务器再校验用户证书是不是有效,如果证书有效,可从证书中取出用户的唯一标识,并根据唯一标识定位系统数据库中的用户权限信息;i.登录服务器根据用户权限信息构造用户登录各应用系统的代理主界面,代理主界面将提供所有应用系统入口,并根据用户权限确定用户是否可以进入各应用系统;j.用户发出访问某应用系统的请求;k.登录服务器验证用户访问该系统的权限信息;l.登录服务器验证用户访问该系统的权限通过后,从系统数据库中取出该用户的用户名、口令,再到该系统所在的应用服务器上获取服务器证书及服务器公钥;m.登录服务器将登录用户的用户名、口令、身份证书、被请求的应用服务器证书等四样信息,用被请求的应用服务器的服务器公钥加密,形成登录密文;n.登录服务器将登录密文发送到被请求的应用服务器;o.应用服务器用本服务器的私钥解密登录密文,获得登录用户的用户名、口令、身份证书等信息,同时将登录密文保存在本服务器上;p.应用服务器根据用户的身份证书从系统数据库中获得登录用户的用户名、口令;q.应用服务器将从系统数据库中获得登录用户的用户名、口令与从登录密文中解密获得的用户名、口令,相比对后,比对一致的用户登录成功,允许用户访问;r.应用服务器根据从系统数据库中获得的用户权限,准许用户访问授权资源;s.用户要从正在访问的应用系统切换到另一应用系统时,点击“退出”按钮,退出程序就可开始运行;t.退出程序从本服务器上取出保存的登录密文,解密出用户的用户名、口令、身份证书,再用本服务器的私钥加密,形成退出密文;u.应用服务器将退出密文发送到登录服务器,发出退出请求;v.登录服务器用该应用服务器的公钥解密退出密文,获得用户的用户名、口令、身份证书;w.登录服务器重复步骤h,再校验用户证书是否有效,如果证书有效,可从证书中取出用户的唯一标识,并根据唯一标识定位系统数据库中的用户权限信息,重新构造登录代理主界面,允许用户访问其他应用系统,而无须再次输入登录名、口令。
地址 200002上海市福州路209号