谷歌身份验证器的一次性验证_使用一次性密码创建和应用多因素身份验证策略

谷歌身份验证器的一次性验证

本教程描述了如何将ISAM for Mobile基于上下文的访问(CBA)策略应用于IBM DataPower Gateway(以下称为DataPower)。 它扩展了本系列第1部分中描述的功能。 您将开发一种移动访问策略,该策略要求在尝试“高价值”交易时执行身份验证。 使用的身份验证机制是一次性密码(OTP)的一种形式。 此机制是作为政策执行义务触发的。 触发时,OTP表示强大的第二因素身份验证,可为移动事务以及对高价值业务API和数据的访问提供高级别的身份保证和风险缓解。

您将学到以下内容:

  • 使用自动化脚本配置DataPower和ISAM for Mobile之间的集成。
  • 为移动CBA策略开发一个简单的ISAM。
  • 将可执行策略附加到DataPower上受ISAM反向代理保护的资源上。

先决条件

您需要以下产品才能完成本教程:

  • IBM DataPower Gateway V7.1或更高版本
  • ISAM for Mobile V8.0.0.5或更高版本
  • IBM MobileFirst™V6或V7

本教程基于此处记录的ISAM和MobileFirst集成。 本教程使用与指南中相同的示例移动应用程序。

高级架构审查

为了方便起见,在此重复了本教程系列的第1部分的高级解决方案体系结构。 图1描绘了高级体系结构,其中显示了请求流。

图1.高层架构
高层架构
  • 移动应用程序将请求发送到DataPower设备上的反向代理,该代理检查请求是否存在有效会话。 否则,它提示用户输入用户ID和密码。
  • 然后,用户将其凭据提交到DataPower设备上的反向代理,该代理将针对ISAM for Mobile设备上的策略服务器和LDAP服务器发送对身份验证和授权的请求。
  • 成功进行身份验证和授权后,反向代理会生成一个HTTP标头,以声明身份并将其传递给IBM MobileFirst服务器,该服务器还将在允许访问受保护的后端资源之前验证身份。
  • 由于用户会话有效,因此任何后续请求都不会提示进行身份验证。
  • 如果用户在经过身份验证的会话或请求流中尝试执行“高价值”交易,并且当前身份验证级别太低,则会提示用户完成OTP逐步身份验证流。
  • 成功地应对升迁挑战后,随后执行“高价值”交易的尝试将无需进行额外的升迁或身份验证。

配置与ISAM for Mobile的反向代理集成

在本系列教程的第1部分中,您在DataPower上配置了ISAM反向代理的实例。 在本部分中,您将增强该配置以实现与ISAM for Mobile的集成和连接。 此步骤允许反向代理在运行时发生“高价值”交易时触发策略评估。 在较低级别上,此处执行的技术配置支持ISAM反向代理与移动安全性ISAM的运行时安全服务(RTSS)和身份验证服务的连接和操作。

尽管启用集成的配置步骤可以手动执行,但遵循DataPower与IBM Security Access Manager for Mobile集成中的说明和Perl脚本要容易得多。

本教程需要以下ISAM移动版接口:

  • 管理 :M.1
  • 应用程序 :P.2(RTSS和身份验证服务)

您可以从ISAM管理控制台主页查看IP地址,如图2所示。

图2. ISAM for Mobile界面
ISAM移动界面

如果配置了P.1接口,则在引用P.2时可以使用该接口。 否则,请按照以下步骤配置P.2接口:

  1. 管理系统设置>网络设置>应用程序接口配置P.2应用程序接口
  2. 配置P.2接口,ISAM for Mobile将侦听运行时流量。 选择“ 安全移动设置”>“管理”>“运行时参数”>“运行时调整参数” 。 在“ 运行时侦听接口”下 ,修改表以使用以下接口(您的IP地址将有所不同)和端口组合,如图3所示。
    图3. ISAM for Mobile运行时界面
    ISAM移动版运行时界面

    F

    反向代理使用P.2应用程序接口与ISAM进行移动RTSS和身份验证服务的通信。 部署所有未完成的更改并重新启动运行时服务器(“ 安全移动设置”>“管理”>“运行时设置”>“重新启动本地运行时” )。

    • 您还将需要ISAM和DataPower管理员凭据才能运行ISAM for Mobile自动化脚本。
    • 在上一教程中 ,您创建了一个用户帐户demo ,可用于本教程。

本节的其余部分描述了如何使用上述脚本配置集成。

  1. 此处下载集成配置脚本。
  2. 从此链接下载配套示例集成属性文件,并将文件重命名为isam.properties
  3. 根据您的环境从步骤2编辑属性文件(清单1):
    清单1.属性文件-ISAM
    components= rba,eas
    #address to your ISAM4Mobile appliance(REQUIRED)
    isamApplianceHostname=<ISAM_Interface_>
    #port the ISAM LMI is running on(REQUIRED)
    isamAppliancePort=443
    #admin username to log into ISAM LMI(REQUIRED)
    isamApplianceAdmin=admin
    #admin password to log into ISAM LMI
    isamApplianceAdminPwd=<isam_admin_pw>
    #isam Runtime address. (REQUIRED)
    isamRuntimeHostname=<ISAM_Interface_ >
    #isam Runtime port. (REQUIRED)
    isamRuntimePort=443
  4. 输入以下信息以配置DataPower反向代理:
    清单2.属性文件-DataPower
    dpHostname=<DP_Hostname>
    #datapower SOMA port(REQUIRED)
    dpPort=5550
    #datapower domain (REQUIRED)
    dpDomain=isam
    #datapower administrator(REQUIRED)
    dpAdmin=admin
    #datapower admin password
    dpAdminPwd=<dp_admin_pw>
    	
    #name of the ISAMReverseProxy Object to configure on datapower(REQUIRED)
    dpProxy=dp-reverse-proxy
    	
    #whether or not to set "-b ignore" on the junction to ISAM4Mobile(Optional.
    #defaults to false).
    dpProxyForwardAuthZHeader=true
    	
    #pdadmin credentials(REQUIRED)
    pdadminUsr=sec_master
    pdadminPwd=<pdadmin_pw>
  5. 对配置的属性文件运行Perl脚本:
    perl isamcfg.pl isam.properties –v

    如果提示您输入easuser密码(并且尚未更改),则可以输入默认密码passw0rd

    根据您的网络连接,脚本需要花费几秒钟来完成。 您可以在脚本执行时查看输出。 确保在脚本中没有看到任何错误。 脚本的最后一行显示以下内容:

    INFO: Configuration Complete.

登录到反向代理的应用程序域,并验证已应用的新配置。

  1. 确保您在isam域中,并导航到反向代理对象页面,并检查对象状态是否已被修改,如图4所示。
    图4.反向代理状态
    反向代理状态

    该脚本修改了反向代理对象中的几个字段。 EAI服务是关键组件之一。

  2. 打开dp-reverse-proxy并单击Authentication选项卡以查看EAI配置,如图5所示。
    图5.新的EAI触发器URL和认证级别
    新的EAI触发URL和身份验证级别

    注意 :触发​​URL用于确定反向代理是否检查外部认证接口(EAI)认证标头的响应。

    认证级别用于指定EAI成功认证请求之前所需的因素数量。 在此配置中,反向代理支持使用最低级别的密码(基于表单的身份验证)和更高级别的ext-auth-interface进行身份验证。 第二种机制启用了与ISAM的集成,以用于移动高级身份验证方法。

  3. 反向代理对象需要使用其指定的应用程序接口<ISAM_Interface_P.2>通过SSL连接到ISAM for Mobile运行时。 ISAM移动版运行时证书必须位于Access Manager反向代理结密钥文件的信任存储中。 该脚本将获取ISAM for Mobile运行时CA证书,然后将其导出并上传到DataPower设备。

    单击SSL选项卡以查看证书密钥数据库设置,如图6所示。

    图6. ISAM for Mobile Runtime CA证书密钥数据库
    用于移动运行时CA的ISAM证书密钥数据库
  4. “移动设备”的ISAM连接在“ 连接”选项卡中定义,如图7所示。
    图7.与ISAM for Mobile的连接
    连接到ISAM移动版
  5. 打开MGA条目并查看配置,如图8所示。
    图8. MGA连接细节
    MGA联结详情

    服务器”选项卡定义了主机和端口(在isam.properties文件中指定)。 “ 身份”选项卡定义了从反向代理传播到ISAM移动设备的身份。

测试针对ISAM for Mobile的反向代理配置

测试反向代理配置,以验证其可以连接到用于移动RTSS和身份验证服务的ISAM。

  1. 打开浏览器并输入以下URL: https://<lab-idg>:<port>/mga/sps/xauth?Target=https://www.google.com

    <lab-idg>是DataPower应用程序接口的主机名,而<port>是为反向代理配置的端口号。

  2. 使用您的用户标识和密码凭证登录。 本教程使用的是模拟帐户。 现在您将看到以下页面,如图9所示。
    图9.来自ISAM for Mobile初始配置的成功响应
    ISAM对移动初始配置的成功响应

此测试验证了ISAM移动版脚本执行的步骤。

创建基于上下文的访问策略

在本节中,您将编写ISAM移动访问策略,该策略保护移动应用程序中的“高价值”交易。 该策略将OTP用作保护资源的可执行策略义务。 此安全策略使用上下文运行时信息,特别是包含事务值的HTTP POST参数,并评估策略以确定请求是否应“逐步”执行,因为它需要更高的安全凭证。 您将配置一个策略,该策略允许通过少于100美元的交易而没有额外的安全性,但是高于该数额的交易将需要通过OTP进行身份验证。

  1. 登录到ISAM移动设备。
  2. 选择“ 安全移动设置”>“策略”>“访问控制” ,然后单击加号“ +”以创建新策略,并为新策略分配名称。 例如, HOTP for Large Transfer
  3. 使用Add Rule按钮创建以下规则(对于Rule#3,选择无条件规则 ),如图10所示。单击Save
    图10. ISAM移动策略
    ISAM移动版政策

    该策略可以表示如下:

    • 如果用户发送的authenticationType包含成员urn:ibm:security:authentication:asf:hotp的POST请求,则允许。 如果该成员存在,则用户已经加紧。
    • 如果用户发送的转移量大于100的POST请求,则运行时必须使用HOTP将请求返回到逐步验证。
    • 如果这些先前的测试都不匹配,则允许该请求。

现在在ISAM移动版中定义了该策略。 接下来,您将策略附加到受反向代理保护的资源上,以便可以执行该策略。

将策略附加到受反向代理保护的资源

在本节中,您将策略附加到由反向代理保护的资源上,从而使该策略可强制执行。

  1. 确保您仍然在Access Control页面( Secure Mobile Settings> Policy> Access Control )中,然后单击Resources选项卡,如图11所示。然后单击“ +”创建新的资源策略。
    图11.访问控制受保护资源菜单
    访问控制受保护资源菜单
  2. Add Resource对话框中,选择lab-idg-dp-reverse-proxy,然后输入资源/worklight/apps ,如图12所示。完成后单击Save 。 您可以使用更细粒度的资源URI以避免多次运行时检查(如果适用)。
    图12.添加一个新的策略保护资源
    添加新的受策略保护的资源

    注意 URI( /worklight/apps )是来自ISAM策略服务器的资源,用于触发此“大传输” HOTP策略并检查是否需要逐步认证。 如果它使用其他URI模式,请更改此资源。

  3. 单击“ 附加”按钮,然后选择“ 大传输HOTP” ,然后单击“ 确定” 。 单击Publish以发布运行时策略,如图13所示。
    图13.策略附件
    政策附件

为移动设备交付方法配置OTP

现在,已经在ISAM移动版中定义并发布了CBA策略。 现在,DataPower上的ISAM反向代理可以强制执行此策略。 尝试使用移动应用程序并执行大于$ 100的交易的用户需要提供OTP。 此时,您的用户必须启用OTP交付方式。

该策略将HOTP定义为OTP机制。 使用此功能最便捷的交付方式之一就是使用Google®Authenticator。 这是安装在iOS或Android设备上的移动应用程序。 Google Authenticator可以扫描OTP共享密钥的快速响应(QR)代码表示。 ISAM移动版允许用户通过QR码获取其OTP共享机密。

本节将介绍您的用户可以执行的步骤,以在其移动设备上将Google身份验证器设置为HOTP交付方式。

  1. 从您的移动应用商店下载Google Authenticator
  2. 用户可以使用“ ISAM移动版”自助服务页面访问其OTP共享密钥。 输入URL https://<lab-idg>:<port>/mga/sps/mga/user/mgmt/html/otp/otp.html ,然后使用演示用户ID和密码登录。 OTP QR码如图14所示。
    图14. OTP QR码
    OTP QR码
  3. 使用Google Authenticator扫描HOTP QR码。 现在您将看到一个OTP,如图15所示。
    图15. Google Authenticator OTP
    Google身份验证器OTP

测试解决方案

在本节中,您将测试在本系列教程中开发的集成。

执行以下步骤:

  1. 重新打开Web浏览器以从以前的测试中删除所有会话cookie,然后输入您的移动应用程序的URL。 对于本教程系列,它是:
    https://<lab-idg>:<port>/worklight/apps/services/preview/ISAMforWorklight/common/1.0/default/
     ISAMforWorklight.html
  2. 浏览器返回登录页面。 选择用户名和密码按钮。 输入您的演示用户ID和密码。 成功后,您将被重定向到主页,如图16所示。
    图16.成功登录
    登录成功
  3. 点击基于风险/上下文的访问按钮,然后点击转账
  4. 将“ 从帐户”和“ 到帐户”保留为默认值。 输入金额50 ,然后单击立即转移 。 回想一下,当转移金额大于100时会触发OTP策略。如图17所示,系统不会提示您输入OTP。
    图17.没有OTP的转账资金
    无OTP转移资金
  5. 单击返回到欢迎页面 。 点击基于风险/上下文的访问按钮,然后点击转账 。 将“ 从帐户”和“ 到帐户”保留为默认值。 输入金额300 。 当转账金额大于100时,将触发OTP策略。提示您输入OTP。
  6. 输入Google Authenticator移动应用程序中提供的OTP,如图18所示,然后单击Submit HOTP 。 您现在看到成功的交易。
    图18.使用OTP转移资金
    通过OTP转移资金
  7. 单击“ 返回到欢迎页面”,然后执行大于100的另一次传输。由于升压在每个会话中都有效,因此不会再次提示您输入OTP。 图19显示了成功的传输,没有提示您进行OTP。
    图19. OTP之后转移资金
    一次性付款后转账

恭喜你! 现在,您已经完成了教程系列,在该系列中,您已在DataPower Gateway设备上构建了高度健壮和安全的移动网关解决方案。

致谢

作者要感谢ISAM和DataPower工程团队的成员对本教程的审阅: Leo FarrellJon PalgonDavin HolmesScott Andrews

结论

在本教程中,您学习了如何在DataPower上扩展反向代理的安全功能,以使用简单的脚本从ISAM for Mobile实施策略。 然后,您使用ISAM移动版创作工具来创建基于上下文的身份验证策略,该策略使用表单和一次性密码身份验证策略来保护移动应用程序。 然后将创作的策略附加到受DataPower上的ISAM反向代理保护的资源上。 最后,您测试了移动应用程序,特别是使用Google Authenticator获得了一次性密码并成功执行了“高价值”交易。


翻译自: https://www.ibm.com/developerworks/websphere/library/techarticles/1506_sheikh/1506_sheikh-trs.html

谷歌身份验证器的一次性验证

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值