WebAC -- Web访问控制方案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
WEBAC
&
网站访问控制方案
目录
1 概述 (3)
1.1 前言 (3)
1.2 WEBAC简介 (4)
1.3 WEBAC实现方式 (4)
1.4 WEBAC特点 (5)
2 WEBAC开发与实现 (6)
2.1 基本原理 (6)
2.2 开发前准备 (7)
2.3 模块开发 (9)
发行管理模块 (9)
用户认证模块 (12)
UKEY操作状态 (14)
UKey硬件的状态 (16)
3 常见问题 (17)
3.1 页面基本元素 (17)
3.2 PIN码的问题 (18)
1概述
1.1 前言
许多收费网站都需要一个比传统“账号+密码”更有效的身份认证方式来认证用户的身份。道理很简单:在“账号+密码”的认证方式中,用户很容易将账号和密码与他人分享,即使网站加上同一时间一个账号只允许一人登录的限制也无济于事,因为用户可以与他人分时分享网站提供的各种收费服务。分享用户账号对用户来说是很方便的,但是对于网络公司来说却意味着潜在收入的减少,这无疑是网络公司不愿意看到的。
智能卡或类似USB电子钥匙的硬件认证方式可以满足收费网站的认证需求。这种认证方式要求用户需要同时提供硬件和账号密码才能登录访问网页,有效的
避免了用户共享账号带来的问题。Passbay也提供基于硬件UKey的SecureWeb 解决方案,但是在许多场合这种解决方案也有其不足之处:首先,硬件具有专用性。也就是说,一个硬件只能应用于某个特定的网站登录认证,而不具有其他的功能或用途,这难免让用户觉得其实用价值较低;此外,这种解决方案需要用户在终端安装驱动程序和客户端程序,给用户的使用带来不便,同时也给网络公司增加了额外的与网站运营无关的售后服务。
总的来说,目前普遍采用的基于智能卡或USB电子钥匙的硬件认证方式虽然可以满足收费网站控制用户登录访问的需求,但仍然具有较大的缺陷,不管是对于网络公司还是对于用户来说,这种方案都不能算是一个完美的解决方案。
1.2WEBAC简介
为满足收费网站控制用户登录和访问的需求,Passbay结合自身的优势推出WebAC网站访问控制方案,WebAC网站访问控制方案由硬件UKey、Passbay 安全管理软件和面向网站开发者的开发接口三个部分组成。方案允许网站拥有者在UKey中创建并管理用户登录账户,用户进入指定页面之后必须插入UKey才能完成登录或访问。这一方案保证只有合法持有UKey的用户才能享受到网站提供的服务,避免用户分享账号给网络公司带来的损失。
1.3WEBAC实现方式
Passbay® UKey WebAC网站访问控制方案通过随机数单向认证方式来验证用户身份和对用户账户进行管理。这一方案的实现原理如下:
网站在创建用户账户时,将用户账号和用于认证的一个字符串(SaltValue)写入UKey(由接口写入),并将上述两项值与PSA的序列号(SerialNumber)写入数据库(由开发者写入)。用户进入登录页面后,服务器端生成一随机数据(Random),通过网络传输至客户端。这一数据在客户端通过MD5算法进行计算,计算结果MD5Result = MD5(SerialNumber + AdminPass + Random + SaltValue)(由接口计算),计算完毕后,客户端将计算结果(MD5Result -c)与UKey的序列号(SerialNumber)和之前存入的用户账号通过Form提交给服务器
端。
服务器端通过序列号(SerialNumber)和用户名称在数据库里面查询到该用户记录的认证字符串(SaltValue),然后以与客户端相同的算法计算出MD5Result -s = MD5(SerialNumber + AdminPass + Random + SaltValue),计算完毕后将这一结果与客户端传输过来的MD5Result -c 进行比较,如果两个值相等,则表明终端插入的UKey就是之前创建的用户所使用的UKey,用户身份得到确认,网站可以据此对用户登录和访问实现精确的控制。
1.4WEBAC特点
1、提升用户身份认证的安全性
UKey自带Passbay密码管理功能组件,这一功能组件使用户登录网页的账号密码和网页URL可在创建用户账户时直接保存在UKey中,用户通过PIN 码验证后便可一键登录网页,避免用户记忆账号密码的麻烦,可以设置较为复杂的账号密码而无需担心用户遗忘账号密码,提升账号密码的安全性。此外,Passbay密码管理功能组件在保存账号密码的同时保存网页URL,并采用加密方式处理账号密码信息,有效防止网络钓鱼和盗号木马、病毒等窃取用户的账号密码,保护账号密码的安全。软硬件结合的身份认证方式也可以有效的提高用户身份认证的安全性。
2、加强对用户账号的管理和控制
只有合法持有UKey的用户才能登录网页,享受网络公司提供的各种服务,这便很好的避免了用户共享账号给网络公司带来的损失。这一方案的实现原理使得网站可以准确的确认用户身份,并在这一前提下设定用户用户登录和访问网页的权限,对用户的登录和访问实现精确的控制。
3、脱离ActiveX,易于开发
无需专门开发接口。网站开发者只需按照完全开放的WEBAC HTML接口规范开发网页即可实现这一方案提供的各种功能。WEBAC支持所有WEB开发语言
4、简单易用,易于部署
因为脱离ActiveX开发,所以不需要对IE安全的设置,用户只需将UKey 插入计算机,在通过PIN码认证后便可使用UKey中的信息登录网页,无需安装驱动程序和客户端软件,给用户使用带来极大的方便。
2 WEBAC开发与实现
2.1 基本原理
在网页上要实现基于硬件对用户进行身份认证,就必然需要网页能够访问硬件内所存储的数据。但是网页有基本的安全模型,“沙盒”(SandBox),目的就在限制网页对本地资源的访问能力,这两者实际上是矛盾的。Microsoft推出的ActiveX能够解决开发人员在实际开发中遇到的这个问题,但是ActiveX过于强大,事实上几乎无所不能。IE的做法是使用签名验证,然后提示用户认清控件来源,把选择权交给用户。这样就在用户端需要进行若干安全设置,部署这类系统在用户那里常常造成困扰,用户不知道怎么样去做设置,只能求助于技术支持人员,形成大量的售后支持需求。
WEBAC不使用ActiveX。其要点在于在用户终端运行一个具备本地资源访问权限的可执行程序,该程序负责:
1 与网页进行交互,获取网页对硬件的读写操作要求;
2 与硬件进行交互,执行读写硬件数据的操作;
WEBAC与硬件如何进行交互:
容易理解,就是利用硬件的API进行读写。
WEBAC与网页进行交互:
WEBAC利用预先定义的网页元素,来实现与网页的交互,比如网页里面有个Edit控件元素,其ID为IID_SecureWeb_I_SerialNumber,当硬件插入时WEBAC就会自动读出硬件的ID序列号,并将该控件的value属性赋值为序列号数据,这样网页就获知了当前插入的硬件的ID序列号,这样实现了WEBAC