IBM Security Access Manager for Mobile (ISAM for Mobile) 允许安全架构师通过 IBM Security Access Manager for Web (ISAM for Web or WebSEAL) 安全设备制定关于 Web 访问的基于上下文的授权 (CBA) 决策(也称为基于风险的访问 决策)。此设计中的一个重要考虑因素是,开发的 Web 安全架构能够最小化风险计算次数,同时维护一个得到上下文保护的 Web 环境。
身份和访问管理基础架构正成为安全智能信息的主要来源。EMA 分析师发布了一篇新报告,其中描述了身份和访问智能的性质和推动这一方面的安全性演变的因素。要了解 IT 安全性的这一方面,可以下载并阅读 “身份和访问智能:变革企业安全性。”
在本文中,我们将介绍如何一起配置 ISAM for Web 和 ISAM for Mobile 的架构和配置,以便允许对用户身份验证制定 CBA 风险决策,从而保护 Web 资源集合(或整个网站)。这种架构可以确保仅在必要时执行风险计算,而不是对每个后续访问请求都执行风险计算。
图 1 列出了此架构。
IBM Tivoli® Federated Identity Manager 是我们以前的基于风险的访问和一次性密码功能交付平台。随着 IBM Security Access Manager for Mobile 的发布,这些功能现在可同时用在硬件和虚拟设备配置中。
要配置此解决方案,需要拥有以下组件:
在本场景中,我们有一个需要强身份验证的 Web 应用程序。该 Web 应用程序将使用 ISAM 设备上的 WebSEAL 进行保护。
本文中使用的示例应用程序是一个名为 Your Bank 的虚假的网络银行网站。在该网站内,有一个为进行未经验证的访问而设计的页面和一个仅用于经过验证的访问的页面。此设计在许多在线 Web 应用程序中很常见,这使它成为了一个演示 ISAM for Mobile 的更强身份验证功能的恰当示例应用程序。
该站点的 URL 结构大体类似于表 1。
URL 模式 | 用途 |
---|---|
/bank/* | 此文件夹下的 URL 是为来自普通银行客户的经过验证的访问而设计的。 |
/* | 站点核心上的 URL 一般是为来自未经验证的用户的访问而设计的。 |
浏览器指纹是一种从浏览器和宿主计算机 (hosting computer) 或设备中寻找标识位的技术。这可以是浏览器提供的简单的用户代理标头,但可以将它扩展为系统信息,比如字体列表、安装的浏览器插件等。甚至可以使用其他设备功能,比如地理位置和 IP 信息来提供更完整的信息。
Electronic Frontier Foundation 提供了浏览器指纹强度的示例。
在 下载 部分中,我们提供了共含两页的等效示例银行 Web 应用程序;它适合在 Tomcat 上运行,或者可以将它部署到一个 WebSphere 环境中。
Your Bank 拥有以下安全策略需求:
该安全策略的核心就是显著改善了银行客户的安全状态,因为它始终要求经过第二因素身份验证才能登录。在第一次与网站交互时,用户需要输入一个用户名和一次性密码。
在最初的交互期间,用户的浏览器会被采集指纹并注册。
在后续交互中,在用户输入用户名和密码后,ISAM for Mobile 中的 CBA 模块会将用户的浏览器指纹与以前的交互进行对比。如果指纹相同,则为用户提供第二因素身份验证。
此方法为用户提供了更高的易用性,在这种情况下他们只需要在注册新浏览器或设备时提供一个 OTP。这一步可以减少管理和实现 OTP SMS 战略的成本,为组织节省金钱。
现在我们将详细介绍配置 ISAM 设备来满足安全场景所采用的步骤。
通过使用这些设备,我们引入了管理接口和应用程序网络接口的概念。管理任务是通过管理接口执行的,而运行时通信是通过应用程序接口执行的。这在设备上创造了一种逻辑网络分离,允许通过网络分离来实现一种更强的安全状态。
配置 ISAM 设备来使用本地策略服务器和本地注册表。您可以使用一个远程 LDAP 和策略服务器,但本文中提供的示例假设使用了一个本地服务器。
为 ISAM 设备配置一个在应用程序网络接口上监听的活动的逆向代理实例。
用户 easuser 是一个用于向 CBA 服务执行验证的现有的用户名和密码。
WebSEAL 外部授权服务 (EAS) 在 CBA 授权决策中会使用这些凭证。默认情况下,密码是 passw0rd
,但可以在 ISAM for Mobile 管理接口上更改它。
单击 Secure Mobile Settings > User Registry,在用户列表中单击 easuser 和 Set Password。
如果在运行配置工具后更改密码,还需要在 WebSEAL 配置文件中更改密码。它也位于 [rtss-cluster:cluster1]
部分,具有参数名 basic-auth-passwd。
在本节中,我们将介绍配置 ISAM 设备(外部授权服务插件)和 ISAM for Mobile 设备(授权服务)之间的连接的步骤。
因为此示例使用了一个虚拟主机联接,所以映射到 ISAM 设备的应用程序接口的主机名 localhost 需要包含在您的网络 DNS 中,或者在 MGA 设备的 hosts 配置文件中设置它。为了在 hosts 文件中设置该值,在 MGA 设备中,请导航到 Manage System Settings > Hosts File 并添加以下值:
第二个配置步骤需要运行 isamcfg
工具。该工具可以从 ISAM for Mobile 设备运行,或者从 Manage System Settings > File Downloads 页面的 /mga/tools/isamcfg 下进行下载。对于此配置,我们将通过 SSH 命令行在 ISAM for Mobile 设备的本地运行它。
首先,使用 PuTTY 或等效工具通过 SSH 连接到 ISAM for Mobile 管理接口。
接下来,在进入菜单提示中后,导航到配置工具:
isam8> isam isam8:isam> mga isam8:mga> config Security Access Manager Autoconfiguration Tool Version 8.0.1.0 [20141203-1958]
启动配置工具后,首先选择配置 Context-based Authorization
和 Authentication Service
的选项。这会转变为启用 WebSEAL 实例,以便能够调用 ISAM for Mobile 设备来制定 CBA 决策和执行 OTP 强身份验证。
按照提示进行操作。(您可以将 bold 变量替换为与您的环境匹配的细节。)一定要在配置工具中保持 Context-based Authorization
和 Authentication Service
被选中为 [ X ]
。
isam8> isam Select/deselect the capabilities you would like to configure by typing its number. Press enter to continue: [ X ] 1. Context-based Authorization [ X ] 2. Authentication Service [ X ] 3. API Protection Enter your choice: <Press Enter> Press 1 for Next, 2 for Previous, 3 to Repeat, C to Cancel: 1
提供 ISAM 设备的 ISAM for Mobile 管理接口的信息并提供管理凭证。
Security Access Manager for Mobile Local Management Interface hostname: 10.150.27.149 Security Access Manager for Mobile Local Management Interface port [443]: 443 Security Access Manager for Mobile Appliance administrator user ID [admin]: admin Security Access Manager for Mobile Appliance administrator password: <password> Testing connection to https://10.150.27.149:443/. SSL certificate information: Issuer DN: CN=isam4m Subject DN: CN=isam4m SSL certificate fingerprints: MD5: 7A:93:EB:F4:65:EA:F3:A2:10:37:CD:88:C3:52:FC:3D SHA1: 2A:A2:29:DB:E9:38:C5:0E:ED:27:35:95:0E:F1:B3:06:C6:E2:0D:E9 SSL certificate data valid (y/n): y Press 1 for Next, 2 for Previous, 3 to Repeat, C to Cancel: 1 Web Gateway Appliance Local Management Interface hostname: 10.150.27.149 Web Gateway Appliance Local Management Interface port [443]: 443 Web Gateway Appliance administrator user ID [admin]: admin Web Gateway Appliance administrator password: <password> Testing connection to https://10.150.27.149:443/. SSL certificate information: Issuer DN: CN=isam4w Subject DN: CN=siam4w SSL certificate fingerprints: MD5: 7E:88:5C:FA:F6:E3:5C:12:D5:72:64:EF:F3:4C:AA:83 SHA1: BB:EA:97:55:25:DC:67:64:01:35:79:F7:E6:27:E0:97:90:A9:1A:84 SSL certificate data valid (y/n): y Instance to configure: 1. wga 2. Cancel Enter your choice [1]: 1 Press 1 for Next, 2 for Previous, 3 to Repeat, C to Cancel: 1 Security Access Manager administrator user ID [sec_master]: sec_master Security Access Manager administrator password: <password> Security Access Manager Domain Name [Default]: <press Enter to select the default> Press 1 for Next, 2 for Previous, 3 to Repeat, C to Cancel: 1
提供 ISAM for Mobile 设备的应用程序接口的信息,包括 CBA 授权决策 Web 服务(我们之前测试的同一个 Web 服务)的用户名和密码。
Security Access Manager for Mobile application interface hostname: localhost Security Access Manager for Mobile application interface port: 443 Select the method for authentication between WebSEAL and the Security Access Manager for Mobile application interface: 1. Certificate authentication 2. User-id/password authentication Enter your choice [1]: 2 Security Access Manager for Mobile application interface user ID: easuser Security Access Manager for Mobile application interface password: passw0rd <this is the default out-of-the-box password> Testing connection to https://localhost:443. Connection completed. SSL certificate information: Issuer DN: CN=isam, O=ibm, C=us Subject DN: CN=isam, O=ibm, C=us SSL certificate fingerprints: MD5: 79:23:E3:5D:27:DC:66:2B:D2:C5:43:93:10:C4:3E:3F SHA1: F8:08:49:4A:47:CF:92:C2:54:29:EF:24:59:DD:7A:9E:D6:E0:1F:81 SSL certificate data valid (y/n): y Automatically add CA certificate to the key database (y/n): y Restarting the WebSEAL server... Press 1 for Next, 2 for Previous, 3 to Repeat, C to Cancel: 1 Press 1 for Next, 2 for Previous, 3 to Repeat, C to Cancel: 1 The following files are available on the Web Gateway Appliance. Choose one for the '400 Bad Request' response page. 1. oauth_template_rsp_400_bad_request.html 2. oauth_template_rsp_401_unauthorized.html 3. oauth_template_rsp_502_bad_gateway.html Enter your choice [1]: 1 The following files are available on the Web Gateway Appliance. Choose one for the '401 Unauthorized' response page. 1. oauth_template_rsp_400_bad_request.html 2. oauth_template_rsp_401_unauthorized.html 3. oauth_template_rsp_502_bad_gateway.html Enter your choice [1]: 2 The following files are available on the Web Gateway Appliance. Choose one for the '502 Bad Gateway' response page. 1. oauth_template_rsp_400_bad_request.html 2. oauth_template_rsp_401_unauthorized.html 3. oauth_template_rsp_502_bad_gateway.html Enter your choice [1]: 3 Press 1 for Next, 2 for Previous, 3 to Repeat, C to Cancel: 1 The junction /mga contains endpoints that require Authorization HTTP header to be forwarded to the backend server. Do you want to enable this feature? [y|n]? y
isamcfg
工具现在将配置 WebSEAL ACL 和 EAS POP。
URLs allowing unauthenticated access: https://localhost/mga/sps/static URLs allowing all authenticated users access: https://localhost/mga/sps/ac https://localhost/mga/sps/xauth https://localhost/mga/sps/mga/user/mgmt/html https://localhost/mga/sps/mga/user/mgmt/device https://localhost/mga/sps/mga/user/mgmt/otp Press 1 for Next, 2 for Previous, 3 to Repeat, C to Cancel: 1 ----------------------------------------------- Planned configuration steps: A junction to the Security Access Manager server will be created at /mga. The POP oauth-pop will be created. The POP rba-pop will be created. ACLs denying access to all users will be attached to: /WebSEAL/isam8-wga/mga ACLs allowing access to all users will be attached to: /WebSEAL/isam8-wga/mga/sps/authsvc /WebSEAL/isam8-wga/mga/sps/xauth /WebSEAL/isam8-wga/mga/sps/authservice/authentication /WebSEAL/isam8-wga/mga/sps/oauth/oauth20/authorize /WebSEAL/isam8-wga/mga/sps/static /WebSEAL/isam8-wga/mga/sps/oauth/oauth20/session /WebSEAL/isam8-wga/mga/sps/oauth/oauth20/token ACLs allowing access to all authenticated users will be attached to: /WebSEAL/isam8-wga/mga/sps/auth /WebSEAL/isam8-wga/mga/sps/ac /WebSEAL/isam8-wga/mga/sps/xauth /WebSEAL/isam8-wga/mga/sps/mga/user/mgmt/html /WebSEAL/isam8-wga/mga/sps/oauth/oauth20/clients /WebSEAL/isam8-wga/mga/sps/common/qr /WebSEAL/isam8-wga/mga/sps/mga/user/mgmt/device /WebSEAL/isam8-wga/mga/sps/mga/user/mgmt/questions /WebSEAL/isam8-wga/mga/sps/mga/user/mgmt/otp /WebSEAL/isam8-wga/mga/sps/mga/user/mgmt/grant EAI authentication will be enabled for the endpoints: /WebSEAL/isam8-wga/mga/sps/oauth/oauth20/session /WebSEAL/isam8-wga/mga/sps/auth /WebSEAL/isam8-wga/mga/sps/authservice/authentication /WebSEAL/isam8-wga/mga/sps/authsvc Certificate authentication will be disabled. HTTP-Tag-Value header insertion will be configured for the attributes: user_session_id=user_session_id Press 1 for Next, 2 for Previous, 3 to Repeat, C to Cancel: 1 Beginning configuration... Attaching ACLs. Creating ACL isam_mobile_nobody. Creating ACL isam_mobile_unauth. Creating ACL isam_mobile_rest. Creating ACL isam_mobile_anyauth. Creating junction /mga. Editing configuration file... Disabling BA authentication. Enabling forms authentication. Restarting the WebSEAL server... Configuration complete.
备注:确保您等待了约 30 秒,让 WebSEAL 服务器重新启动,然后再前进到下一步。
在完成配置后,ISAM 设备上的 WebSEAL 将拥有:
配置 ISAM for Mobile 和 ISAM for Web Policy Server 之间的通信。这是将基于上下文的访问策略附加到 ISAM for Web 资源的必要步骤。WebSEAL 上定义的资源可以通过 ISAM for Mobile 控制台进行查看。请导航到 Secure Mobile Settings > Access Control,单击 Resources,然后单击 Add 图标。
控制台会提示您输入策略服务器管理凭证;输入 sec_master 用户名和它的密码。
单击 Add 图标;现在应能够浏览 WebSEAL 对象空间中的资源了。
在本节中,我们将介绍在 ISAM 设备本地注册表中创建示例用户的步骤。
从前面步骤中使用的 PuTTY 终端启动 ISAM 管理实用程序。对于熟悉以前的 ISAM 版本的人,这也称为 pdadmin
。使用策略服务器管理员 sec_master
的身份和配置的密码进行登录。
isam8> isam isam8:isam> admin pdadmin> login Enter User ID: sec_master Enter Password: <password> pdadmin sec_master>
在本地 ISAM 设备注册表中创建一个测试用户 testuser
。
pdadmin sec_master> user create testuser cn=testuser,dc=iswga testuser testuser passw0rd pdadmin sec_master> user modify testuser account-valid yes
备注:使用板载 LDAP 服务器时,后缀为 dc=iswga
。此后缀无法更改。
在这一节中,我们将介绍配置联接到示例应用程序的一个联接的步骤。创建联接到 Your Bank 服务器的联接有许多备选机制。在示例环境中,Your Bank Java™ WAR 文件作为 ROOT 应用程序部署在 Tomcat 上。
ISAM 设备引入了通过逻辑管理接口 (LMI) 创建联接的功能,如下所示:
使用 LMI,导航到 Secure Reverse Proxy Settings > Reverse Proxy,为您的应用服务器配置一个虚拟主机联接。选择您希望向其添加联接的实例并单击 Manage > Junction Management。在显示的页面上,单击 New > Virtual Junction。在 Junction 选项卡下,在 Junction Point Name 字段中输入标签 bank。
在 Server 选项卡下,添加托管 Your Bank 站点的联接服务器(Tomcat 或等效的服务器)。在测试环境中,Tomcat 在位于 10.166.1.14 上的服务器上的端口 8080 上进行监听。使用的虚拟主机将是 localhost,它将在应用程序接口 10.150.27.215 上的 WebSEAL 端口 80 上进行监听。请注意,如果使用一个具有虚拟主机感知功能的后端服务器,应该确保主机名和端口在 WebSEAL 前端和后端服务器配置上都是匹配的。
在 Identity 选项卡上配置一个联接,以标头形式发送用户名 iv-user
属性。
完成时保存联接。LMI 现在应显示为 ISAM 设备实例列出的两个联接。
也可以像前面的用户创建步骤中的那样,仍然通过传统的管理 (pdadmin
) 命令行接口来创建虚拟主机联接。
pdadmin sec_master> server task <WebSEAL instance> virtualhost create -t tcp -h 10.166.1.14 -p 8080 -v localhost -c iv-user -p 8080 bank Created Virtual Host Junction at bank
此命令创建一个与我们的应用服务器的联接,基于主机名 localhost 来建立映射,在 iv-user 标头中提供用户名。
向您的 DNS 服务器或本地测试客户端计算机 hosts 文件添加一个条目,以便将 ISAM 设备应用程序接口映射到您定义的主机名 localhost。
此场景需要对默认 WebSEAL 配置文件执行一些更改。按照本节中的步骤更新配置。
首先编辑配置文件:导航到 Secure Reverse Proxy Settings > Reverse Proxy。单击 Reverse Proxy 实例,然后导航到 Manage > Configuration > Edit Configuration File。
这将打开传统的 WebSEAL 配置文件。
接下来,设置以下参数来启用本场景中使用的通过 HTTP 的身份验证:
[forms] #---------------------- # FORMS #---------------------- # Enable authentication using the forms authentication mechanism # One of <http, https, both, none> forms-auth = both
[eai] #---------------------- # EXTERNAL AUTHENTICATION INTERFACE #---------------------- # Enable EAI authentication. # # One of <http, https, both, none> eai-auth = both
现在,设置以下参数来启用本场景中使用标准和虚拟主机联接的混合处理:
[acnt-mgt]... #----------------------------- # ALLOW UNAUTHENTICATED LOGOUT #----------------------------- # Set this parameter to 'yes' to allow unauthenticated users to be able # to request the pkmslogout resource. If this parameter is set to 'no' # an unauthenticated user will be requested to authenticate before the # pkmslogout resource is returned. allow-unauthenticated-logout = yes
[junction] ... # Two separate junction tables are managed by WebSEAL, one for virtual host # junctions, and the other for standard junctions. When a request is # received the VHJ table is searched first, and if no match is found the # table which manages the standard junctions is then searched. The following # configuration item is used to reverse the search order so that the table # which manages the standard junctions is searched before the VHJ table. match-vhj-first = no
[session] ... # Enable a cookie based session to be shared across all standard and virtual # host junctions on a single WebSEAL instance. This is achieved through # enabling the WebSEAL instance to store a single session key as an # independent value in a multi-valued domain cookie, indexed by the instance # name. The domain cookie itself is shared across all participating WebSEAL # instances, but the session values are specific to each instance. # # If WebSEAL exists in an environment where SMS already handles single # sign-on across domains, do not enable this configuration item. shared-domain-cookie = yes
最后,保存对配置文件的更改,部署更改,并重新启动逆向代理实例。
在默认情况下,WebSEAL 将需要身份验证才能访问受保护的网站的任何部分。以下命令将修改安全策略,以支持未经验证地访问应用程序根,以及要求经过验证才能访问受保护的银行页面。它还允许未经验证地访问属性收集流程来采集 CBA 风险计算浏览器指纹。
此外,我们将经过验证的 ACL 附加到标记了 @bank 的虚拟主机联接上名为 /stepup/ 的资源 — 这是我们将在 CBA 设计中使用的应用程序,将在以后详细介绍。
isam8> isam isam8:isam> admin pdadmin> login Enter User ID: sec_master Enter Password: <password> pdadmin sec_master> acl attach /WebSEAL/<WebSEAL instance>/@bank/ isam_mobile_unauth pdadmin sec_master> acl attach /WebSEAL/<WebSEAL instance>/@bank/bank/ default-webseal pdadmin sec_master> acl attach /WebSEAL/<WebSEAL instance>/@bank/stepup/ default-webseal pdadmin sec_master> server replicate
有了这条基本安全策略,在我们导航到 ISAM 设备应用程序接口时,就会显示 Your Bank 网站,不需要任何身份验证凭证,而且 /bank 文件夹下的任何信息将使用基于表单的身份验证来保护。
接下来,我们将定义一个需要 2 级身份验证才能访问 /bank 文件夹的安全策略。第一步是定义一条需要 2 级身份验证的受保护的对象策略 (POP)。
pdadmin sec_master> pop create level2 pdadmin sec_master> pop modify level2 set ipauth anyothernw 2
现在我们将此策略附加到我们的银行资源。
pdadmin sec_master> pop attach /WebSEAL/<WebSEAL instance>/@bank/bank level2
有了访问银行站点所需的 2 级身份验证的配置,我们现在必须配置一种机制,使用户能够获得 2 级凭证。出于此目的,我们将使用一个非常简单的 EAI JSP 页面,它将返回一个没有用户交互的 2 级身份验证消息。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <%@page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" import="java.util.Enumeration"%> <html> <head> <title>Stepup</title> <meta http-equiv="pragma" content="no-cache" /> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <% String URL = request.getParameter("URL"); String username = request.getHeader("iv-user"); /* This is where the EAI returns the authenticated user, * and the higher level authentication credential. */ response.setHeader("am-fim-eai-user-id", username); response.setHeader("am-eai-auth-level", "2"); if (URL != null) response.setHeader("am-fim-eai-redir-url", URL); %> </head> </html>
包含这个 JSP 页面的示例 WAR 文件可从 下载 部分获得。
将 ISAM for Mobile 配置到 ISAM 设备中后,WebSEAL EAI 接口已完成了针对此目的的部分配置。还剩下两个步骤。
首先将此应用程序 URL 设置为 WebSEAL EAI 触发器 URL。在 ISAM 设备管理界面上,导航到逆向代理实例:
http://bank.test/stepup/*
现在配置进阶 HTML 模板,以便重定向到进阶应用程序:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> <html> <head> <title>Fingerprinting Browser...</title> <script src="/mga/sps/ac/js/info.js"> </script> </head> <body> <form action="/stepup/" method="post"> <input type="hidden" name="URL" value="%URL%" /> </form> <script TYPE="text/javascript"> var loginText = 'Fingerprinting Browser - Please wait...<br>' + 'Note, this page contains an intentional delay of 3 seconds.'; document.write(loginText); // Set the parameter '3000' to '0' to remove the 3 second delay. setTimeout('document.forms[0].submit()', 3000); </script> </body> </html>
这一页将加载属性集合 JavaScript 文件:
http://bank.test/mga/sps/ac/js/info.js
属性集合基于选择的风险概况来采集浏览器的指纹。这已在 基于上下文的授权策略定义 部分进行了更详细的介绍。
备注:为了让您能够看到此页面已加载到浏览器中,我们特意设置了一个 3 秒的延迟。
在完成属性集合后,它将重定向到部署在应用服务器上的 /stepup/ 文件夹下的进阶应用程序。此模板文件的一个版本已包含在 下载 部分。
最后,在完成配置之后,保存并部署更改,然后重新启动逆向代理实例。
现在尝试访问 /bank
资源,WebSEAL 现在会提示输入用户名和密码来执行基于表单的身份验证,这会让用户通过 1 级身份验证。然后,WebSEAL 将执行要求用户通过 2 级身份验证的 POP 安全策略,并重定向到进阶模板页面。进阶模板页面将会重定向浏览器来访问进阶 EAI,后者将凭证升级到 2 级凭证,然后重定向回 /bank 站点 — 满足安全策略。
ISAM for Mobile 设备引入了大量 OTP 生成和交付功能。对于本演示环境,最容易演示的是基于 HMAC 的一次性密码 (HOTP) 机制。对于其他 OTP 凭证,请访问 ISAM for Mobile 信息中心来了解配置细节。
使用您的移动电话下载并安装一个支持 TOTP 或 HOTP 的移动应用程序。对于本测试,我们使用了 Google Authenticator [下载 iOS 版本 | 下载 Android 版本]。
接下来,通过您的 ISAM 设备受保护应用程序界面,导航到 MGA 联接,获取您的测试用户的 HOTP 秘密共享密钥。
https://bank.test/mga/sps/mga/user/mgmt/html/otp/otp.html
在提示时执行身份验证,使用您的移动电话采集 HOTP 条形码。请注意,这里显示了两个条形码,所以请确保使用标为 HOTP 的条形码。HOTP 是一个基于计数器的软件标记,在虚拟化的测试环境中很有用,因为不需要时钟同步。
在这一节中,我们将介绍设置静默设备注册和将使用 HMAC 一次性密码验证的进阶身份验证的步骤。
首先,打开 ISAM for Mobile 管理逻辑管理接口。
接下来,修改风险概况以用于计算风险分数。对于本场景,我们将使用 Browser 概况:
备注:这需要花费一段时间,因为此更改需要重新启动运行时。
下一步是导航到 Secure Mobile Settings > Access Control。
在完成此操作之后,单击 Policy 表上的 + 图标来创建一条新策略。
现在创建一条触发 HOTP 和设备注册的策略:
在规则的第一部分中,我们定义一条策略,用它来处理已使用用户名和密码执行身份验证、但之前未使用此浏览器访问过该站点的用户。这被标识为较低的身份验证级别(1 级),他们拥有一个大于或等于 55 的 riskScore
。因为我们配置了基于浏览器的风险概况,所以这个 riskScore
是基于浏览器指纹来计算的。执行此访问时,我们使用 HOTP 身份验证功能将它们重定向到 HOTP 流程。
单击 OK 完成规则的第一部分。
在规则的第二部分中,我们定义一条策略来处理以下用户:已使用用户名和密码执行身份验证,拥有一个未注册的浏览器且已完成其 OTP 流的用户。这标识为它们的 authenticationTypes
,它没有成员 urn:ibm:security:authentication:asf:hotp
,而且它们有一个仍然很高 (>55) 的 riskScore
。执行此访问时,我们允许通过静默设备注册来实现访问。
单击 OK 完成规则的第二部分。
在规则的第三部分中,我们定义了一条策略,用它来处理已使用用户名和密码执行验证且拥有一个已注册的浏览器的用户。这使用低于 55 的较低 riskScore
来标识。执行此访问时,我们直接允许访问。
单击 OK 完成规则的第三部分。
完整的策略应该类似于下面的屏幕截图:
下一步是创建一个新资源并附加新策略:
建立此策略,在配置 ACL 和 POP 后,该站点现在应受到了真正的双因素身份验证的保护。下图描述了这些流程。
注册的设备可由最终用户和系统管理员管理。
在通过 WebSEAL 执行验证后,用户可以导航到下面这个 URL 来查看他注册的设备。
http://bank.test/mga/sps/mga/user/mgmt/html/device/device_selection.html
此页面的外观和功能可通过 ISAM for Mobile 模板页面修改。此页面上的数据使用来自 REST 接口的 JavaScript 来填充。
通过这种方式,演示中包含的示例银行网站可列出注册的设备。
管理员可通过 ISAM for Mobile LMI 管理用户注册的设备。
我们介绍了如何通过集成和配置 IBM Security Access Manager for Web 和 IBM Security Access Manager for Mobile,在整个受 WebSEAL 保护的网站上安全地实现双因素身份验证。我们还演示了如何使用 ISAM for Mobile 的基于上下文的访问和一次性密码 (OTP) 接口,使您能够在整个组织的网站上应用智能的更强身份验证访问决策。这一节中的简短视频演示了完成的场景。
描述 | 名字 | 大小 |
---|---|---|
示例应用程序 | Sample-Application.zip | 6KB |