兰州市房管局统一身份认证及访问控制技术方案1.方案概述1.1.项目背景房屋登记电子信息查询的需要一个比传统“账号+密码”更有效的身份认证方式来认证用户的身份。道理很简单:在“账号+密码”的认证方式中,用户很容易将账号和密码与他人分享,即使系统加上同一时间一个账号只允许一人登录的限制也无济于事,因为用户可以与他人分时分享系统提供的房屋登记电子信息服务。智能卡或类似USB电子钥匙的硬件认证方式可以满足登记系统房屋登记电子信息查询的认证需求。这种认证方式要求用户需要同时提供硬件和账号密码才能登录访问房屋登记电子信息功能,有效的避免了用户共享账号带来的问题。Passbay也提供基于硬件UKey的SecureWeb解决方案,但是在许多场合这种解决方案也有其不足之处:首先,硬件具有专用性。也就是说,一个硬件只能应用于某个特定的系统登录认证,而不具有其他的功能或用途,这难免让用户觉得其实用价值较低;此外,这种解决方案需要用户在终端安装驱动程序和客户端程序,给用户的使用带来不便,同时也给技术支持公司增加了额外的与系统开发无关的售后服务。总的来说,目前普遍采用的基于智能卡或USB电子钥匙的硬件认证方式虽然可以满足房屋登记电子信息查询控制的需求,但仍然具有较大的缺陷,不管是对于开发公司还是对于用户来说,这种方案都不能算是一个完美的解决方案。1.2.系统概述为满足兰州市房屋登记电子信息查询控制用户登录和访问的需求,Passbay结合自身的优势推出WebAC网站访问控制方案,WebAC网站访问控制方案由硬件UKey、Passbay安全管理软件和面向应用系统开发者的开发接口三个部分组成。方案允许应用系统拥有者在UKey中创建并管理用户登录账户,用户进入指定页面之后必须插入UKey才能完成登录或访问。这一方案保证只有合法持有UKey的用户才能享受到应用系统提供的服务,避免用户分享账号给房管局带来的损失。1.3.方案特点Passbay®UKeyWebAC网站访问控制方案具有如下几个方面的特点:1.3.1.提升用户身份认证的安全性UKey自带Passbay密码管理功能组件,这一功能组件使用户登录应用系统的账号密码和应用系统URL可在创建用户账户时直接保存在UKey中,用户通过PIN码验证后便可一键登录系统,避免用户记忆账号密码的麻烦,可以设置较为复杂的账号密码而无需担心用户遗忘账号密码,提升账号密码的安全性。此外,Passbay密码管理功能组件在保存账号密码的同时保存系统URL,并采用加密方式处理账号密码信息,有效防止网络钓鱼和盗号木马、病毒等窃取用户的账号密码,保护账号密码的安全。软硬件结合的身份认证方式也可以有效的提高用户身份认证的安全性。1.3.2.加强对用户账号的管理和控制只有合法持有UKey的用户才能登录系统,享受应用系统提供的各种服务,这便很好的避免了用户共享账号给房管局带来的损失。这一方案的实现原理使得系统可以准确的确认用户身份,并在这一前提下设定用户登录和访问系统的权限,对用户的登录和访问实现精确的控制。1.3.3.简单易用UKey集成了Passbay安全管理软件相关的功能组件,用户只需将UKey插入计算机,在通过PIN码认证后便可使用UKey中的信息登录系统,无需安装驱动程序和客户端软件,给用户使用带来极大的方便。同时,用户可以将各种账号密码信息保存在UKey中,使用Passbay密码管理功能组件实现一键登录,无需记忆和输入账号密码,大大简化了用户的操作,给用户带来良好的使用体验。此外,软件开发公司还可在UKey中设定默认网页,用户插入UKey并通过PIN码验证后便自动打开设定的网页,给用户使用带来方便的同时也有利于提高网站的点击率。1.3.4.易于开发无需专门开发接口。网站开发者只需按照完全开放的UKeyWebACHTML接口规范开发网页即可实现这一方案提供的各种功能。参考接口规范中所提供的例子代码,开发者最快可以在几个小时内完成相关的开发。易于开发的特性使得软件开发公司可以快速的实现方案的部署和实施,同时节约大量的开发成本。1.3.5.具有极高的性价比与其它方案不同,Passbay®UKeyWebAC网站访问控制方案提供的UKey用途并不是唯一的,其集成的密码管理功能组件除了可用于登录指定的应用系统外,还可用于保存其他的应用系统的登录账号和密码,免除用户记忆众多账号密码的烦恼,简化用户登录各种信息系统的操作。1.3.6.不使用ActiveX或其他控件Passbay信息安全管理软件不使用ActiveX或其他控件,不受IE浏览器安全设置的限制,减少了用户使用的局限,为用户使用提供了方便。1.3.7.支持众多页面语言无论页面语言采用ASP、JSP还是PHP,无论服务器操作系统是WINDOWS、LINUX还是UNIX,Passbay®UKeyWebAC网站访问控制方案都可以很好的支持,这一特性使得网络公司可以方便的部署Passbay®UKeyWebAC网站访问控制方案而没有任何的限制。2.总体方案设计2.1.技术原理在网页上要实现基于硬件对用户进行身份认证,就必然需要网页能够访问硬件内所存储的数据。但是网页有基本的安全模型,“沙盒”(SandBox),目的就在限制网页对本地资源的访问能力,这两者实际上是矛盾的。Microsoft推出的ActiveX能够解决开发人员在实际开发中遇到的这个问题,但是ActiveX过于强大,事实上几乎无所不能。IE的做法是使用签名验证,然后提示用户认清控件来源,把选择权交给用户。这样就在用户端需要进行若干安全设置,部署这类系统在用户那里常常造成困扰,用户不知道怎么样去做设置,只能求助于技术支持人员,形成大量的售后支持需求。WEBAC不使用ActiveX。其要点在于在用户终端运行一个具备本地资源访问权限的可执行程序,该程序负责:1与网页进行交互,获取网页对硬件的读写操作要求;2与硬件进行交互,执行读写硬件数据的操作;2.2.技术实现Passbay®UKeyWebAC网站访问控制方案通过随机数单向认证方式来验证用户身份和对用户账户进行管理。这一方案的实现原理如下:系统在创建用户账户时,将用户账号和用于认证的一个字符串(SaltValue)写入UKey(由接口写入),并将上述两项值与PSA的序列号(SerialNumber)写入数据库(由开发者写入)。用户进入登录页面后,服务器端生成一随机数据(Random),通过网络传输至客户端。这一数据在客户端通过MD5算法进行计算,计算结果MD5Result=MD5(SerialNumber+AdminPass+Random+SaltValue)(由接口计算),计算完毕后,客户端将计算结果(MD5Result-c)与UKey的序列号(SerialNumber)和之前存入的用户账号通过Form提交给服务器端。服务器端通过序列号(SerialNumber)和用户名称在数据库里面查询到该用户记录的认证字符串(SaltValue),然后以与客户端相同的算法计算出MD5Results=MD5(SerialNumber+AdminPass+Random+SaltValue),计算完毕后将这一结果与客户端传输过来的MD5Result-c进行比较,如果两个值相等,则表明终端插入的UKey就是之前创建的用户所使用的UKey,用户身份得到确认,网站可以据此对用户登录和访问实现精确的控制。2.3.基本架构利用WEBAC方案实现网站用户身份认证,需要实现两个功能模块:UKey的发行|管理模块(包括发行、修改、删除、回收等等功能),终端用户的认证模块。按照一般的说法,前者面向网站运营维护人员,属于网站后台,后者面向网站用户,始于网站前台。2.4.身份认证原理1一个UKey硬件绑定一个用户这个通过发行UKey来实现。所谓绑定一个用户,实际上是绑定一条用户记录。由于每一个UKey都具备一个唯一的序列号,发行的过程,就是在数据库中的该用户记录里面加上序列号信息,也就是准备发给这个用户的UKey的序列号的信息。同时在硬件和数据库里面都写入一个随机字符串信息。2认证用的种子数据(SaltValue)写入的这一串随机字符串信息,就是用于认证的种子数据。传统的账户+密码的用户认证方式中的密码相当于认证用的种子数据,只不过他不能变化,要变就要执行修改密码的流程,并且要通过网络传输到服务器端,如果是HTTPS模式,还能够避免传输过程中的泄漏,目前大多数的网站都没有这样做,对于一些小型网站或者内部用的网站,很少使用HTTPS的,这样,实际上很容易就能够跟踪到明文传送的账户密码信息,实际上是谈不上任何安全性。WEBAC使用的基于种子数据的认证,其流程是这样的:服务器端准备一串临时生成的随机数据,终端使用UKey里面保存的种子数据作为密钥对该随机数据进行加密,然后将结果传送到服务器端,服务器端再根据数据库里面保存的同样一份种子数据,做同样的运算,如果结果相同,就表明这个用户得到了认证。这个过程中,在网上传输的是一个将临时生成的随机数据加密后的结果,本身也会是无规律可循的,每次都会不一样的结果,作为用户关键特征的最重要的数据:种子数据并没有传输。这样,实现了认证目标的同时,安全性也得到了保证。所有这些数据,包括临时生成的随机数据,加密结果都是通过网页元素进行传递的。薃肀莂蒃袂肀肂虿袈聿芄薂螄肈莇螇蚀肇葿薀罿肆腿莃袅肅芁薈螁膄莃莁蚇膄肃薇薃膃芅荿羁膂莈蚅袇膁蒀蒈螃膀膀蚃虿腿节蒆羈芈莄蚁袄芈蒆蒄螀芇膆蚀蚆袃莈蒃蚂袂蒁螈羀袁膀薁袆袁芃螆螂袀莅蕿蚈衿蒇莂羇羈膇薇袃羇艿莀蝿羆蒂薆螅羅膁蒈蚁羅芄蚄罿羄莆蒇袅羃蒈蚂螁羂膈蒅蚇肁芀蚁薃肀莂蒃袂肀肂虿袈聿芄薂螄肈莇螇蚀肇葿薀罿肆腿莃袅肅芁薈螁膄莃莁蚇膄肃薇薃膃芅荿羁膂莈蚅袇膁蒀蒈螃膀膀蚃虿腿节蒆羈芈莄蚁袄芈蒆蒄螀芇膆蚀蚆袃莈蒃蚂袂蒁螈羀袁膀薁袆袁芃螆螂袀莅蕿蚈衿蒇莂羇羈膇薇袃羇艿莀蝿羆蒂薆螅羅膁蒈蚁羅芄蚄罿羄莆蒇袅羃蒈蚂螁羂膈蒅蚇肁芀蚁薃肀莂蒃袂肀肂虿袈聿芄薂螄肈莇螇蚀肇葿薀罿肆腿莃袅肅芁薈螁膄莃莁蚇膄肃薇薃膃芅荿螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄薆袀腿蕿蒂衿芁莂螁袈羁薇蚇袇肃莀薃羆膅薆葿羆芈荿螇羅羇膁螃羄膀莇虿羃节芀薅羂羂蒅蒁羁肄芈螀羀膆蒃蚆肀芈芆薂聿羈蒂蒈肈肀芅袆肇芃薀螂肆莅莃蚈肅肅薈薄蚂膇莁蒀蚁艿薇蝿螀罿荿蚅蝿肁薅薁螈膄莈薇螈莆膀袆螇肆蒆螁螆膈艿蚇螅芀蒄薃螄羀芇葿袃肂蒃螈袂膄芅蚄袂芇蒁蚀袁肆芄