CN111367821A - 一种软件测试方法及系统 - Google Patents

一种软件测试方法及系统 Download PDF

Info

Publication number
CN111367821A
CN111367821A CN202010443456.0A CN202010443456A CN111367821A CN 111367821 A CN111367821 A CN 111367821A CN 202010443456 A CN202010443456 A CN 202010443456A CN 111367821 A CN111367821 A CN 111367821A
Authority
CN
China
Prior art keywords
data
fingerprint
application program
interface
payment application
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202010443456.0A
Other languages
English (en)
Other versions
CN111367821B (zh
Inventor
李志雄
杨文波
黄冕
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alipay Hangzhou Information Technology Co Ltd
Original Assignee
Alipay Hangzhou Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alipay Hangzhou Information Technology Co Ltd filed Critical Alipay Hangzhou Information Technology Co Ltd
Priority to CN202010443456.0A priority Critical patent/CN111367821B/zh
Publication of CN111367821A publication Critical patent/CN111367821A/zh
Application granted granted Critical
Publication of CN111367821B publication Critical patent/CN111367821B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3696Methods or tools to render software testable
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本说明书公开了一种软件测试方法及系统,获取业务测试配置文件;对系统指纹接口进行hook,从系统指纹接口中获得指纹校验请求;指纹校验请求由支付应用程序运行业务测试脚本生成;业务测试配置文件和业务测试脚本隶属于同一业务测试场景;响应指纹校验请求,通过控制应用程序从业务测试配置文件中获得指纹校验结果;调用系统指纹接口返回指纹校验结果给支付应用程序;对认证接口进行hook,从认证接口中获得安全性校验请求,安全性校验请求由支付应用程序根据指纹校验结果产生;响应安全性校验请求,通过软TEE程序创建待验证数据;将待验证数据通过认证接口返回给支付应用程序以将待验证数据转发给认证服务器进行安全性校验。

Description

一种软件测试方法及系统
技术领域
本说明书涉及测试领域,特别涉及一种软件测试方法及系统。
背景技术
随着互联网的快速发展,各类不同用途的应用软件层出不穷。例如支付类软件、聊天类软件等等。以支付类软件为例,为了适应日渐变化的应用需求,支付类应用软件一直在尝试增加新功能或者修复原有功能。
通常,若软件新增或者修改原有功能,在正式发布前都会不断进行测试,直到其满足发布条件。
发明内容
本说明书实施例提供一种软件测试方法及系统。
第一方面,本说明书提供一种软件测试方法,包括:
获取业务测试配置文件;
对系统指纹接口进行hook,从所述系统指纹接口中获得指纹校验请求;所述指纹校验请求由支付应用程序运行业务测试脚本生成;所述业务测试配置文件和所述业务测试脚本隶属于同一业务测试场景;
响应所述指纹校验请求,通过控制应用程序从所述业务测试配置文件中获得指纹校验结果;
调用所述系统指纹接口返回所述指纹校验结果给所述支付应用程序;
对认证接口进行hook,从所述认证接口中获得安全性校验请求,所述安全性校验请求由所述支付应用程序根据所述指纹校验结果产生;
响应所述安全性校验请求,通过软TEE程序创建待验证数据;
将所述待验证数据通过所述认证接口返回给所述支付应用程序,并由所述支付应用程序将所述待验证数据转发给认证服务器进行安全性校验。
第二方面,本说明书提供一种软件测试系统,包括:
控制应用程序,用于获取业务测试配置文件;
所述控制应用程序,用于对系统指纹接口进行hook,从所述系统指纹接口中获得指纹校验请求;所述指纹校验请求由支付应用程序运行业务测试脚本生成;所述业务测试配置文件和所述业务测试脚本隶属于同一业务测试场景;还用于响应所述指纹校验请求,通过所述控制应用程序从所述业务测试配置文件中获得指纹校验结果;调用所述系统指纹接口返回所述指纹校验结果给所述支付应用程序;
软TEE程序,用于对认证接口进行hook,从所述认证接口中获得安全性校验请求,所述安全性校验请求由所述支付应用程序根据所述指纹校验结果产生;响应所述安全性校验请求,创建待验证数据;将所述待验证数据通过所述认证接口返回给所述支付应用程序,并由所述支付应用程序将所述待验证数据转发给认证服务器进行安全性校验。
第三方面,本说明书提供一种软件测试方法,所述方法包括:
接收并运行业务测试脚本,生成指纹校验请求;
接收从系统指纹接口传来的指纹校验结果,所述指纹校验结果由控制应用程序获取业务测试配置文件并对所述系统指纹接口hook后,从所述系统指纹接口中获得所述指纹校验请求,并响应所述指纹校验请求,通过所述控制应用程序从所述业务测试配置文件中获得指纹校验结果,并调用所述系统指纹接口返回所述指纹校验结果给支付应用程序;其中,所述业务测试脚本和所述业务测试配置文件隶属于同一业务测试场景;
根据所述指纹校验结果产生安全性校验请求,所述安全性校验请求用于请求认证接口进行安全性校验;
接收从所述认证接口传来的待验证数据,所述待验证数据由软TEE程序对所述认证接口进行hook后响应所述安全性校验请求创建;
将所述待验证数据转发给认证服务器进行安全性校验。
第四方面,本说明书提供一种支付应用程序,包括:
第一接收单元,用于接收并运行业务测试脚本,生成指纹校验请求;
第二接收单元,用于接收从系统指纹接口传来的指纹校验结果,所述指纹校验结果由控制应用程序获取业务测试配置文件并对所述系统指纹接口hook后,从所述系统指纹接口中获得所述指纹校验请求,并响应所述指纹校验请求,通过所述控制应用程序从所述业务测试配置文件中获得指纹校验结果,并调用所述系统指纹接口返回所述指纹校验结果给所述支付应用程序;其中,所述业务测试脚本和所述业务测试配置文件隶属于同一业务测试场景;
生成单元,用于根据所述指纹校验结果产生安全性校验请求,所述安全性校验请求用于请求认证接口进行安全性校验;
第三接收单元,用于接收从所述认证接口传来的待验证数据,所述待验证数据由软TEE程序对所述认证接口进行hook后响应所述安全性校验请求创建;
转发单元,用于将所述待验证数据转发给认证服务器进行安全性校验。
第五方面,本说明书提供一种测试系统,包括:
控制应用程序,用于获取业务测试配置文件;
支付应用程序,用于接收并运行业务测试脚本,生成指纹校验请求;所述业务测试配置文件和所述业务测试脚本隶属于同一业务测试场景;
所述控制应用程序,用于对系统指纹接口进行hook,从所述系统指纹接口中获得所述指纹校验请求;响应所述指纹校验请求,从所述业务测试配置文件中获得指纹校验结果;调用所述系统指纹接口返回所述指纹校验结果给所述支付应用程序;
所述支付应用程序,用于根据所述指纹校验结果产生所述安全性校验请求;
软TEE程序,用于对认证接口进行hook,从所述认证接口中获得安全性校验请求;响应所述安全性校验请求,创建待验证数据;将所述待验证数据通过所述认证接口返回给所述支付应用程序;
所述支付应用程序,用于将所述待验证数据转发给认证服务器进行安全性校验。
第六方面,本说明书提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面中任一方法的步骤。
第七方面,本说明书提供一种电子设备,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上的程序存储于存储器中,且经配置以由一个或者一个以上的处理器执行所述一个或者一个以上的程序所包含的用于进行如第一方面中任一方法的操作指令。
本说明书实施例中的上述一个或多个技术方案,至少具有如下技术效果:
本说明书实施例提供一种软件测试方法及系统,会根据各种可能遇到的具体情况模拟出业务测试场景,由控制应用程序获取业务测试配置文件,通过支付应用程序运行业务测试脚本在该业务场景中运行,业务测试配置文件和业务测试脚本隶属于同一业务测试场景。而在支付类应用程序具有校验请求(例如指纹校验请求)时,利用控制应用程序的校验逻辑对系统指纹接口进行hook,然后响应支付应用软件的校验请求控制指纹校验结果返给支付应用程序,以测试支付应用程序在得到校验结果后的应对方式。进一步的,会结合安全性校验,对认证接口进行hook,从所述认证接口中获得安全性校验请求,并响应所述安全性校验请求,通过软TEE程序创建待验证数据;将所述待验证数据通过所述认证接口返回给所述支付应用程序,并由所述支付应用程序将所述待验证数据转发给认证服务器进行安全性校验,以提高针对支付应用程序的测试安全性和校验可信度。
附图说明
为了更清楚地说明本说明书实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本说明书的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本说明书实施例提供的软件测试方法的流程示意图;
图2为本说明书实施例提供的软TEE程序的注册实施过程的示意图;
图3为本说明书实施例提供的软TEE程序校验过程的示意图;
图4为本说明书实施例提供的软件测试系统的示意图;
图5为本说明书实施例提供的测试系统的示意图;
图6为本说明书实施例提供的电子设备的示意图。
具体实施方式
为使本说明书实施例的目的、技术方案和优点更加清楚,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本说明书保护的范围。
xposed:xposed框架(Xposed Framework)是一套开源的,在Android高权限模式下运行的框架服务,可以在不修改APK文件的情况下影响程序运行(修改系统)的框架服务。
软TEE:TEE(Trusted Execution Environment)为可信执行环境,该环境可以保证不被常规操作系统干扰的计算,安全的访问软件及硬件资源。本实施例的软TEE程序是在应用层模拟了终端厂商的TEE环境校验的逻辑程序。
多指位:指支持且需要多次开通多个指纹进行支付的设备。
去指位:在开通过程中无需验证指纹,开通时系统已录入指纹均可直接支付。
下面结合附图对本说明书实施例技术方案的主要实现原理、具体实施方式及其对应能够达到的有益效果进行详细的阐述。
本说明书的一个或者多个实施例提供了一种软件测试方法,本实施例的测试方法在xposed框架中实施,主要描述的是针对支付应用程序的测试方式,以达到在保证完成对支付宝进行测试的同时,提高测试的安全级别。
通常,若支付应用程序中的某些功能进行修改,就会采用各种方式对其进行测试,以测试支付应用程序的功能。而在本实施例中,为了对支付应用程序进行测试,本实施例通过hook手机厂商侧的系统指纹接口和其他接口(例如机型接口、认证结果接口),然后将原本由终端底层测试逻辑实现的校验流程切换为由本实施例的软TEE程序和控制应用程序中设计的校验方法去实现,测试效率高并且测试全面。在达到对上层调用者(支付类软件)不同的指纹校验反馈以测试指纹支付效果的同时,能够保证针对支付应用程序测试的安全性和校验的可信度。
具体的,在xposed框架中设置有本实施例设计的用于测试的控制应用程序、软TEE程序和被测试的支付应用程序。本实施例的方法会根据各种可能遇到的具体情况模拟出业务测试场景。例如A品牌A系列的多指位机型中使用支付应用程序的指纹支付功能的业务测试场景,B品牌B系列的去指位机型使用支付应用程序的指纹支付功能的业务测试场景等等。然后根据业务测试场景生成业务测试脚本和业务测试配置文件,通过支付应用程序运行业务测试脚本在该业务场景中运行,并且在支付类应用程序具有校验请求(例如指纹校验请求)时,利用控制应用程序的校验逻辑对相应接口进行hook,然后响应支付应用软件的校验请求控制校验结果返给支付应用程序,以测试支付应用程序在得到校验结果后具有何种应对方式,或者进行何种流程。在此基础上,为了提高测试的安全性,保证校验可信度。本实施例还设计了软TEE程序进行安全性方面的校验,以提高针对支付应用程序的测试安全性和校验可信度。
下面请参看图1,本实施例的软件测试方法具体包括如下步骤:
步骤100,获取业务测试配置文件。
在本实施例中,由控制应用程序获取业务测试配置文件,而支付应用程序获取业务测试脚本,并运行业务测试脚本生成指纹校验请求。
其中,在一个可选的实施例中,本实施例的测试系统安装在(手机)终端设备,而业务测试配置文件和业务测试脚本可由PC端配置,然后下发到(手机)终端设备供测试系统使用。在另一个可选的实施例中,业务测试配置文件和业务测试脚本可由(手机)终端设备直接配置以供测试系统使用。
其中,业务测试配置文件config和业务测试脚本隶属于同一业务测试场景,本实施例中根据测试需求会模拟出若干业务测试场景,并且各业务测试场景各不相同。例如是注册、注销、指位变更等等测试场景,当然还有其他场景。另外,业务测试场景对应有具体的模拟环境数据,该模拟环境数据模拟的是终端环境,但和终端原有环境不同。因为终端原有环境是固定的,例如原有终端环境是A机型的手机单指位手机,而本实施例的测试需求是需要模拟出不同的终端环境,以对支付应用程序进行测试。因此模拟环境数据可以为多指位手机/IFAA2.0(网络可信身份认证产业联盟互联网金融分会提供的认证协议)、B机型型号的环境数据等等。每个业务测试场景从不同角度对支付应用程序进行测试,并且每个业务测试场景按照业务测试需求可以被执行多次。业务测试场景中的具体数据和模拟环境数据都会在业务测试配置文件和业务测试脚本中体现。
业务测试配置文件和业务测试脚本具有时序一致性,支付应用程序在上层调用时,控制应用程序会根据配置文件执行不同的逻辑并且返回数据给支付应用程序,以供支付应用程序呈现出不同的效果。例如,在进行指纹校验的过程中,本实施例控制framework层的系统指纹接口返回当前业务场景需要的结果。具体的,本实施例通过将业务测试配置文件下发给控制应用程序,控制应用程序则对相应的如FIngerprintManager(系统指纹接口),IFAAManager(IFAA认证接口,本实施例仅做举例,但并不限于是IFAA认证标准)调用后,模拟出对应的终端指纹环境匹配支付应用程序。此过程通过json格式的业务测试配置文本的传递实现不断地解析并应用,从而保证时序和支付应用程序的应用场景的匹配。
将业务测试脚本下发给支付应用程序之后,支付应用程序开始执行自动化页面点击操作。在此过程中,支付应用程序会生成环境数据获取请求。该环境数据获取请求用于请求终端通过对应接口返回终端原有环境数据给支付应用程序。而在本实施例的测试方法中,在对支付宝进行测试时,校验的结果,手机中录入指纹情况,及不同的多指位,去指位机型等等,均可能促使支付应用软件走向不同的支付流程,所以本实施例会模拟出各种环境数据来测试支付应用程序在面对不同的环境数据时的支付流程和支付效果。具体的,对终端原有环境数据对应的系统接口进行hook,从终端原有环境数据对应的系统接口获得环境数据获取请求。基于业务测试配置文件生成模拟环境数据。通过终端原有环境数据对应的系统接口,返回模拟环境数据给支付应用程序,以测试支付应用程序中和模拟环境数据对应的支付流程。在本实施例中,环境数据包含有:指位机型、机型型号、触摸方式、接口等等终端软硬件参数。而本实施例的模拟环境数据和终端原有环境数据不同。比如,终端原有环境数据为单指位机型,而模拟环境数据可模拟为多指位机型;或者终端原有环境数据A品牌机型,模拟环境数据可将其模拟为B品牌机型,或者终端原有环境数据为电容触摸方式,模拟环境数据可将其模拟为屏下指纹触摸方式。通过模拟出不同的环境数据可以对支付应用程序进行全方位的测试。
进一步的,本实施例基于业务测试配置文件模拟正向模拟环境数据或负向模拟环境数据;其中,正向模拟环境数据是能够维护终端正常响应请求的环境数据。将正向模拟环境数据通过相应接口返回给支付应用程序后,支付应用程序可以正常执行流程。而负向模拟环境数据是导致终端无法正常响应请求的环境数据,例如底层的某个接口出现bug,无法响应支付应用程序的请求;或者返回了错误的指纹触摸方式给支付应用程序,以测试支付宝在遇到负向模拟环境数据时的应对流程。
对于支付应用程序来说,会接收并运行业务测试脚本生成指纹校验请求。例如,支付应用程序在模拟环境数据中进行指纹支付时,会生成指纹校验请求,指纹校验请求用于请求终端原有的底层校验逻辑进行指纹校验并通过系统指纹接口返回终端校验结果。并且通常会调用framework层的系统指纹接口,以返回终端校验结果。
而在本实施例中,会通过控制应用程序对系统指纹接口进行hook,并生成模拟环境数据中的指纹校验结果,以替代给终端原有的底层校验逻辑返回的终端校验结果返回给支付应用程序,来测试支付应用程序的应对方式。具体请看下面的步骤。
步骤102,对系统指纹接口进行hook,从系统指纹接口中获得指纹校验请求。
在本实施例中,控制应用程序会利用钩子函数(hook)对系统指纹接口进行监控,并从中获得指纹校验请求,此时控制应用程序可以任意控制指纹校验结果给支付应用程序,使其执行不同的流程。
具体的,本实施例的控制应用程序根据业务测试配置文件生成各种测试控制逻辑,以模拟业务测试场景中具体的情景对支付应用程序进行测试。控制应用程序的功能可以延伸到各个方面。例如,在IFAA接口纬度控制方面,配置有IFAA1.0/2.0,指位信息等等。应用维度上,配置为支付应用、购物应用等等应用。在软TEE程序环境维度控制方面,可以配置公私钥等,此外还具有hook能力(例如hook系统指纹接口、IFAA认证接口)、扩展能力等等。
步骤104,响应指纹校验请求,通过控制应用程序从业务测试配置文件中获得指纹校验结果。
其中,指纹校验结果用于替代终端校验结果,其由控制应用程序根据从业务测试配置文件中获得。本实施例中的指纹校验结果是可控的,事先已经在业务测试配置文件中设置好,因此可以根据业务测试配置文件返回指纹校验通过或者指纹校验失败的指纹校验结果给支付应用程序。也即:本实施例的指纹校验结果主要取决于业务测试配置文件中的配置。例如,业务测试配置文件中配置的是在B品牌的多指位机型中,指纹校验失败的配置参数。此时控制应用程序则会根据业务测试配置文件中的配置返回指纹校验失败的指纹校验结果给支付应用程序,以测试支付应用程序在面对校验失败时的应对流程。当然,业务测试配置文件中的配置也可以配置为指纹校验成功的结果给支付应用程序,在此不再举例说明。
作为一种可选的实施例,业务测试配置文件中也可配置校验逻辑,而不直接配置校验结果。此时,控制应用程序会从系统指纹接口中得到待校验指纹,然后执行校验逻辑,并返回由校验逻辑生成的校验结果。
步骤106,调用系统指纹接口返回指纹校验结果给支付应用程序。
在本实施例中返回的是指纹校验结果而并非是终端校验结果,该结果是由本实施例中的控制应用程序根据业务测试配置文件生成。通过系统指纹接口返回给支付应用程序,支付应用程序接收到该结果后即可执行后续流程。
以上是本实施例中对于具有指纹校验测试需求的支付应用程序进行应对的流程。通过hook手机厂商侧的系统指纹接口和其他接口(例如机型接口),将原本由终端底层逻辑实现的校验流程切换为由本实施例的控制应用程序中设计的校验逻辑去实现,而本实施例的控制应用程序中设计的校验逻辑和终端底层逻辑是不一样的,本实施例将各种可能遇到的情况都配置成业务测试场景,并将业务测试场景配置成业务测试配置文件和业务测试脚本,分别下发给控制应用程序和支付应用程序。在hook住系统指纹接口得到指纹校验请求后,控制应用程序会从业务测试配置文件中获得指纹校验结果替代终端指纹接口,能够全方位对支付应用程序进行测试,而不必受限于终端原本参数和校验逻辑的影响。本实施例只需要配置业务测试配置文件和业务测试脚本即可完成对支付应用程序的测试,能够达到对上层调用者(支付类软件)不同的指纹校验反馈以测试指纹支付效果,测试效率高并且测试全面。
而值得注意的是,为了避免恶意攻击程序也能够轻易的hook系统指纹接口从而返回校验结果给支付应用程序,以达到对支付应用程序进行恶意攻击的目的。本实施例在上述校验结果的基础上会进行安全性校验,以保证针对支付应用程序的测试安全性和校验可信度。
值得注意的是,本实施例使用的是软TEE程序进行安全性校验。可选的,软TEE程序可配置在控制应用程序中,或者也可以配置在单独的应用程序中。
步骤108,对认证接口进行hook,从认证接口中获得安全性校验请求。
其中,安全性校验请求由支付应用程序根据指纹校验结果产生。
具体的,本实施例的支付应用程序得到指纹校验结果后,由于该指纹校验结果可能是恶意攻击程序产生,故本实施例的支付应用程序并不会直接进行后续的支付流程,需要再次进行校验,以保证支付应用程序测试的安全性。具体的,支付应用程序会发送安全性校验请求到认证接口中。故软TEE程序会利用认证接口获取安全性校验请求,并进行后续的步骤。
步骤110,响应安全性校验请求,通过软TEE程序创建待验证数据。
在本实施例中,安全性校验涉及软TEE程序和支付应用程序、认证服务器等多侧进行交互,而整个交互过程都是在本实施例创建的可信执行环境中进行。软TEE程序是在应用层模拟了手机厂商的TEE环境校验的逻辑,但其创建逻辑和校验逻辑都为本实施例所保护。
步骤112,将待验证数据通过认证接口返回给支付应用程序,并由支付应用程序将待验证数据转发给认证服务器进行安全性校验。
本实施例的通过认证服务器对待验证数据进行安全性校验的目的,是为了证实待验证数据是否真的是由软TEE程序创建并且由支付应用程序转发,且待验证数据是否是可信的。如果待验证数据是可信的,表示其确实由软TEE程序创建并且由支付应用程序转发,那么就能够证明支付应用程序并未遭受恶意程序的攻击,能够保证测试的安全性。
作为一种可选的实施例,响应安全性校验请求,通过软TEE程序创建待验证数据之前,软TEE程序在认证服务器上进行注册,获得由认证服务器创建的动态令牌和邀请码;通过软TEE程序创建业务密钥对,并将业务密钥对中的设备公钥发送给认证服务器。其中,动态令牌和邀请码都是由认证服务器创建并下发给软TEE程序,用于验证软TEE程序合法身份的标识,以避免恶意程序的攻击。
下面请参看图2,是本实施例软TEE程序的注册实施过程的示意图。
步骤200,通过软TEE程序创建注册登记数据。具体的,注册登记数据除设备ID之外,还可以包含认证类型、证书编码、IFAA版本等一种或者多种注册登记数据。
步骤202,软TEE程序根据注册登记数据创建注册请求。该注册请求中携带有上述注册登记数据。
步骤204,通过支付应用程序将注册请求转发到认证服务器IFAA Server。值得注意的是,本实施例的认证服务器是认证和支付合并成的一个总服务器,两者也可以分开为单独的服务器。若为单独的服务器,支付应用程序会将注册请求转发给单独的支付服务器,再由支付服务器转发给单独的认证服务器。
在认证服务器侧会执行步骤206,生成注册数据并使用证书私钥进行签名,得到签名数据。
具体的,IFAA Server会创建业务令牌(token)、邀请码(challenge code,用来避免重放攻击)等信息,用以构建注册数据RegisterRespData。业务令牌和邀请码都是认证服务器为软TEE程序创建的唯一性的标识。然后采用IFAA Server的证书私钥进行签名得到签名数据,使用IFAA Server的证书私钥进行签名是为了避免被冒充者冒充发布。然后将该签名数据再发送给支付应用程序。
作为一种可选的实施例,软TEE程序会进行生物特征确认,获得指位信息。这个阶段会要求用户进行生物特征识别获取生物特征的标识,对于指纹识别而言其标识就是指位信息finId,多指位设备时指纹识别还要求用户此时输入的指位必须为其在系统绑定的多个指位中的一个。
步骤208,通过软TEE程序使用证书公钥先对签名数据进行验签,以确保该签名数据是从IFAA服务器发送的数据。
步骤210,通过软TEE程序创建业务密钥对。若具有生物特征识别,则在识别通过后软TEE程序会创建业务密钥对,并且预置到软TEE程序中。
步骤212,使用业务密钥对中的设备私钥签名创建公共数据PubKeyData。具体的,公共数据中至少包括业务密钥对中的设备公钥,IFAA Server下发的业务令牌和邀请码。此外还可以包括待验证指纹(若模拟去指位手机会带上设备名单idlist,模拟多指位手机时可只带上待验证指纹),认证类型,设备ID,等信息。通过预置在软TEE程序中的设备私钥对上述信息进行加签得到公共数据,用以认证服务器收到后进行验签验证。使用设备私钥进行签名一方面是为了保证数据的不可篡改性,另外能够确保公共数据是由可信设备产生的,而这个设备私钥软TEE程序是单独配置了一份。
步骤214,将公共数据由支付应用程序转发给认证服务器。具体的,将公共数据组装成tlv格式。经由支付应用程序、支付服务端进行转发至IFAA Server。
步骤216,认证服务器对公共数据进行校验,并返回校验结果数据给支付应用程序。具体的,在校验的过程中,首先校验请求证书。即:校验IFAA版本是否正确,若正确则合法。进一步的,校验设备是否合法。由于IFAA Server 传来的公共数据PubKeyData使用了设备私钥签名,因此其含有设备私钥的签名信息,且设备ID以及设备公钥都存放在此。所以IFAA Server会校验设备ID、认证类型等是否和此前登记的设备ID、认证类型一致,若一致则校验结果数据为合法。该步骤由IFAA 认证中心负责执行。
进一步的,会校验业务令牌token、邀请码challenge code是否合法。也即此时发送的业务令牌token、邀请码challenge code是否和认证服务器中创建的业务令牌token、邀请码challenge code一致。若一致则表示该数据是由可信设备发送的,该数据合法。此步骤最主要的目的是为了避免重放攻击,需要做此步骤校验,同时也确保token 与challengecode为之前IFAA Server下发的数据。
此外,认证服务器会执行步骤218,记录业务密钥对中的设备公钥。
如此,软TEE程序就已经注册完毕。
在上述注册流程中,通过软TEE程序创建业务密钥对,用于在安全性校验时使用。而在校验过程中,会在软TEE程序中会使用创建流程中设备私钥加签待验证数据,以保证待验证数据是可信的。
下面请参看图3,为本实施例中的软TEE程序校验过程的示意图。
步骤300,在软TEE程序下,根据动态令牌和邀请码创建待验证数据。由于动态令牌和邀请码是由认证服务器创建的,并且用于标示软TEE程序的唯一性,因此,将动态令牌和邀请码创建为待验证数据是可信的,表示其确实由软TEE程序创建并且由支付应用程序转发,能够证明支付应用程序并未遭受恶意程序的攻击,能够保证测试的安全性。
步骤302,利用业务密钥对中的设备私钥对待验证数据进行签名,获得签名数据。具体的,使用设备私钥进行签名一方面是为了保证数据的不可篡改性,另外能够确保公共数据是由可信设备产生的。
步骤304,通过认证接口返回签名数据给支付应用程序,并由支付应用程序将签名数据发送给认证服务器进行验签。具体的,将签名数据组装成tlv格式。经由支付应用程序、支付服务端进行转发至IFAA Server。
步骤306,认证服务器对签名数据进行校验,并返回校验结果数据给支付应用程序。在校验的过程中,首先校验请求证书。即:校验IFAA版本是否正确,若正确则合法。进一步的,校验设备是否合法。由于IFAA Server 传来的公共数据PubKeyData使用了设备私钥签名,因此其含有设备私钥的签名信息,且设备ID以及设备公钥都存放在此。所以IFAAServer会校验设备ID、认证类型等是否和此前登记的设备ID、认证类型一致,若一致则校验结果数据为合法。该步骤由IFAA 认证中心负责执行。
进一步的,会校验业务令牌token、邀请码challenge code是否合法。也即此时发送的业务令牌token、邀请码challenge code是否和认证服务器中创建的业务令牌token、邀请码challenge code一致。若一致则表示该数据是由可信设备发送的,该数据合法。此步骤最主要的目的是为了避免重放攻击,需要做此步骤校验,同时也确保token 与challengecode为之前IFAA Server下发的数据。
基于同一发明构思,下面的实施例介绍了一种软件测试系统,该系统用于Xposed框架中。值得注意的是,本说明书中的各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。具体参看图4,包括:
控制应用程序41,用于获取业务测试配置文件。
具体的,控制应用程序获取业务测试配置文件,支付应用程序获取业务测试脚本,并运行业务测试脚本生成指纹校验请求;其中,业务测试配置文件和业务测试脚本隶属于同一业务测试场景;指纹校验请求用于请求终端原有的底层校验逻辑进行指纹校验并通过系统指纹接口返回终端校验结果;
控制应用程序41,用于对系统指纹接口进行hook,从系统指纹接口中获得指纹校验请求;指纹校验请求由支付应用程序运行业务测试脚本生成;业务测试配置文件和业务测试脚本隶属于同一业务测试场景;还用于响应指纹校验请求,通过控制应用程序从业务测试配置文件中获得指纹校验结果;调用系统指纹接口返回指纹校验结果给支付应用程序;
软TEE程序42,用于对认证接口进行hook,从认证接口中获得安全性校验请求,安全性校验请求由支付应用程序根据指纹校验结果产生;响应安全性校验请求,创建待验证数据;将待验证数据通过认证接口返回给支付应用程序,并由支付应用程序将待验证数据转发给认证服务器进行安全性校验。
作为一种可选的实施例,控制应用程序41,具体用于:
在对系统指纹接口进行hook,从系统指纹接口中获得指纹校验请求之前,对终端原有环境数据对应的系统接口进行hook,从终端原有环境数据对应的系统接口获得环境数据获取请求;
基于业务测试配置文件生成模拟环境数据,模拟环境数据和终端原有环境数据不同;
通过终端原有环境数据对应的系统接口,返回模拟环境数据给支付应用程序,以测试支付应用程序中和模拟环境数据对应的支付流程。
作为一种可选的实施例,控制应用程序41,具体用于:基于业务测试配置文件模拟正向模拟环境数据或负向模拟环境数据;其中,正向模拟环境数据是能够维护终端正常响应请求的环境数据;负向模拟环境数据是导致终端无法正常响应请求的环境数据。
作为一种可选的实施例,软TEE程序42,还用于在认证服务器上进行注册,获得由认证服务器创建的动态令牌和邀请码;创建业务密钥对,并将业务密钥对中的设备公钥发送给认证服务器。
作为一种可选的实施例,软TEE程序42,还用于:
根据动态令牌和邀请码创建待验证数据;
利用业务密钥对中的设备私钥对待验证数据进行签名,获得签名数据;
通过认证接口返回签名数据给支付应用程序,并由支付应用程序将签名数据发送给认证服务器进行验签。
基于同一发明构思,本实施例介绍了一种软件测试方法。该方法实施例基本相似于上述方法实施例,所以描述的比较简单,相关之处参见上述方法实施例的部分说明即可。该方法包括:
接收并运行业务测试脚本,生成指纹校验请求;其中,业务测试脚本和业务测试配置文件隶属于同一业务测试场景;指纹校验请求用于请求系统指纹接口调用终端原有的底层校验逻辑进行指纹校验并通过系统指纹接口返回终端校验结果;
接收从系统指纹接口传来的指纹校验结果,指纹校验结果由控制应用程序获取业务测试配置文件并对系统指纹接口hook后,从系统指纹接口中获得指纹校验请求,并响应指纹校验请求,通过控制应用程序从业务测试配置文件中获得指纹校验结果,并调用系统指纹接口返回指纹校验结果给支付应用程序;
根据指纹校验结果产生安全性校验请求,安全性校验请求用于请求认证接口进行安全性校验;
接收从认证接口传来的待验证数据,待验证数据由软TEE程序对认证接口进行hook后响应安全性校验请求创建。
将待验证数据转发给认证服务器进行安全性校验。
具体的,待验证数据包括动态令牌和邀请码;动态令牌和邀请码由软TEE程序在认证服务器上进行注册时,通过认证服务器创建。作为一种可选的实施例,接收从认证接口传来的签名数据,签名数据由软TEE程序将动态令牌和邀请码创建为待验证数据后,利用注册时创建的业务密钥对中的设备私钥对待验证数据进行签名获得;故,在将待验证数据转发给认证服务器进行安全性校验的过程中,将签名数据传输给认证服务器进行验签。
基于同一发明构思,本实施例介绍了一种支付应用程序,该实施例基本相似于上述方法实施例,所以描述的比较简单,相关之处参见上述方法实施例的部分说明即可。其具体包括:
第一接收单元,用于接收并运行业务测试脚本,生成指纹校验请求;其中,业务测试脚本和业务测试配置文件隶属于同一业务测试场景;指纹校验请求用于请求系统指纹接口调用终端原有的底层校验逻辑进行指纹校验并通过系统指纹接口返回终端校验结果。
第二接收单元,用于接收从系统指纹接口传来的指纹校验结果,指纹校验结果由控制应用程序获取业务测试配置文件并对系统指纹接口hook后,从系统指纹接口中获得指纹校验请求,并响应指纹校验请求,通过控制应用程序从业务测试配置文件中获得指纹校验结果,并调用系统指纹接口返回指纹校验结果给支付应用程序。
生成单元,用于根据指纹校验结果产生安全性校验请求,安全性校验请求用于请求认证接口进行安全性校验;
第三接收单元,用于接收从认证接口传来的待验证数据,待验证数据由软TEE程序对认证接口进行hook后响应安全性校验请求创建;
转发单元,用于将待验证数据转发给认证服务器进行安全性校验。
作为一种可选的实施例,待验证数据包括动态令牌和邀请码;动态令牌和邀请码由软TEE程序在认证服务器上进行注册时,通过认证服务器创建。
作为一种可选的实施例,第三接收单元,具体用于:
接收从认证接口传来的签名数据,签名数据由软TEE程序将动态令牌和邀请码创建为待验证数据后,利用注册时创建的业务密钥对中的设备私钥对待验证数据进行签名获得;
将签名数据传输给认证服务器进行验签。
基于同一发明构思,下面的实施例介绍了一种测试系统。值得注意的是,本说明书中的各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。具体参看图5,包括:
控制应用程序41,用于获取业务测试配置文件;
支付应用程序51,用于接收并运行业务测试脚本,生成指纹校验请求;业务测试配置文件和业务测试脚本隶属于同一业务测试场景;
控制应用程序41,用于对系统指纹接口进行hook,从系统指纹接口中获得指纹校验请求;响应指纹校验请求,从业务测试配置文件中获得指纹校验结果;调用系统指纹接口返回指纹校验结果给支付应用程序51;
支付应用程序51,用于根据指纹校验结果产生安全性校验请求;
软TEE程序42,用于对认证接口进行hook,从认证接口中获得安全性校验请求;响应安全性校验请求,通过软TEE程序42创建待验证数据;将待验证数据通过认证接口返回给支付应用程序51;
支付应用程序51,用于将待验证数据转发给认证服务器进行安全性校验。
在本实施例的实施场景中,业务测试配置文件和业务测试脚本可由PC端配置完毕,然后下发到测试系统所在终端设备(例如手机),控制应用程序和支付应用程序分别接收业务测试配置文件和业务测试脚本,然后由测试系统执行测试流程。另外,业务测试配置文件和业务测试脚本也可由终端设备自行配置,然后由测试系统执行测试流程。
可见,从成本上来说,本实施例只需要将手机配置好测试环境即可,除此之外没有其他成本。另外,在效率上来说,只需要配置好环境,则可以同时几十台设备一起工作,理论上没有上限。
基于与前述实施例中同样的发明构思,本说明书实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前文任一方法的步骤。
基于与前述实施例中同样的发明构思,本说明书实施例还提供一种计算机设备。请参考图6,是根据一示例性实施例示出的电子设备600的框图。包括有存储器604,以及一个或者一个以上的程序,其中一个或者一个以上的程序存储于存储器604中,且经配置以由一个或者一个以上的处理器602执行一个或者一个以上的程序所包含的上述任一实施例的方法的操作指令。
其中,在图6中,总线架构(用总线600来代表),总线600可以包括任意数量的互联的总线和桥,总线600将包括由处理器602代表的一个或多个处理器和存储器604代表的存储器的各种电路链接在一起。总线600还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口605在总线600和接收器601和发送器603之间提供接口。接收器601和发送器603可以是同一个元件,即收发机,提供用于在传输介质上与各种其他终端设备通信的单元。处理器602负责管理总线600和通常的处理,而存储器604可以被用于存储处理器602在执行操作时所使用的数据。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本说明书也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本说明书的内容,并且上面对特定语言所做的描述是为了披露本说明书的实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本说明书的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本说明书的示例性实施例的描述中,本说明书的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本说明书要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本说明书的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本说明书的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本说明书的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本说明书实施例的网关、代理服务器、系统中的一些或者全部部件的一些或者全部功能。本说明书还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本说明书的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本说明书进行说明而不是对本说明书进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本说明书可以借助于包括有不同元件的硬件以及借助于适当编程的计算机来实现。在列举了装置的单元权利要求中,这些装置中的个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

Claims (19)

1.一种软件测试方法,包括:
获取业务测试配置文件;
对系统指纹接口进行hook,从所述系统指纹接口中获得指纹校验请求;所述指纹校验请求由支付应用程序运行业务测试脚本生成;所述业务测试配置文件和所述业务测试脚本隶属于同一业务测试场景;
响应所述指纹校验请求,通过控制应用程序从所述业务测试配置文件中获得指纹校验结果;
调用所述系统指纹接口返回所述指纹校验结果给所述支付应用程序;
对认证接口进行hook,从所述认证接口中获得安全性校验请求,所述安全性校验请求由所述支付应用程序根据所述指纹校验结果产生;
响应所述安全性校验请求,通过软TEE程序创建待验证数据;
将所述待验证数据通过所述认证接口返回给所述支付应用程序,并由所述支付应用程序将所述待验证数据转发给认证服务器进行安全性校验。
2.如权利要求1所述的方法,所述对系统指纹接口进行hook,从所述系统指纹接口中获得所述指纹校验请求之前,所述方法还包括:
对终端原有环境数据对应的系统接口进行hook,从所述终端原有环境数据对应的系统接口获得环境数据获取请求;
基于所述业务测试配置文件生成模拟环境数据,所述模拟环境数据和所述终端原有环境数据不同;
通过终端原有环境数据对应的系统接口,返回所述模拟环境数据给所述支付应用程序,以测试所述支付应用程序中和所述模拟环境数据对应的支付流程。
3.如权利要求2所述的方法,所述基于所述业务测试配置文件生成模拟环境数据,具体包括:
基于所述业务测试配置文件模拟正向模拟环境数据或负向模拟环境数据;其中,所述正向模拟环境数据是能够维护终端正常响应请求的环境数据;所述负向模拟环境数据是导致所述终端无法正常响应请求的环境数据。
4.如权利要求1所述的方法,所述响应所述安全性校验请求,通过软TEE程序创建待验证数据之前,所述方法还包括:
通过所述软TEE程序在所述认证服务器上进行注册,获得由所述认证服务器创建的动态令牌和邀请码;
通过所述软TEE程序创建业务密钥对,并将所述业务密钥对中的设备公钥发送给所述认证服务器。
5.如权利要求4所述的方法,所述响应所述安全性校验请求,通过软TEE程序创建待验证数据,具体包括:
在所述软TEE程序下,根据所述动态令牌和所述邀请码创建所述待验证数据;
利用所述业务密钥对中的设备私钥对所述待验证数据进行签名,获得签名数据;
所述将所述待验证数据通过所述认证接口返回给所述支付应用程序,并由所述支付应用程序将所述待验证数据转发给认证服务器进行安全性校验,具体包括:
通过所述认证接口返回所述签名数据给所述支付应用程序,并由所述支付应用程序将所述签名数据发送给所述认证服务器进行验签。
6.一种软件测试系统,包括:
控制应用程序,用于获取业务测试配置文件;
所述控制应用程序,用于对系统指纹接口进行hook,从所述系统指纹接口中获得指纹校验请求;所述指纹校验请求由支付应用程序运行业务测试脚本生成;所述业务测试配置文件和所述业务测试脚本隶属于同一业务测试场景;还用于响应所述指纹校验请求,通过所述控制应用程序从所述业务测试配置文件中获得指纹校验结果;调用所述系统指纹接口返回所述指纹校验结果给所述支付应用程序;
软TEE程序,用于对认证接口进行hook,从所述认证接口中获得安全性校验请求,所述安全性校验请求由所述支付应用程序根据所述指纹校验结果产生;响应所述安全性校验请求,创建待验证数据;将所述待验证数据通过所述认证接口返回给所述支付应用程序,并由所述支付应用程序将所述待验证数据转发给认证服务器进行安全性校验。
7.如权利要求6所述的系统,所述控制应用程序,具体用于:
在对系统指纹接口进行hook,从所述系统指纹接口中获得所述指纹校验请求之前,对终端原有环境数据对应的系统接口进行hook,从所述终端原有环境数据对应的系统接口获得环境数据获取请求;
基于所述业务测试配置文件生成模拟环境数据,所述模拟环境数据和所述终端原有环境数据不同;
通过终端原有环境数据对应的系统接口,返回所述模拟环境数据给所述支付应用程序,以测试所述支付应用程序中和所述模拟环境数据对应的支付流程。
8.如权利要求7所述的系统,所述控制应用程序,具体用于:基于所述业务测试配置文件模拟正向模拟环境数据或负向模拟环境数据;其中,所述正向模拟环境数据是能够维护终端正常响应请求的环境数据;所述负向模拟环境数据是导致所述终端无法正常响应请求的环境数据。
9.如权利要求6所述的系统,所述软TEE程序,还用于在所述认证服务器上进行注册,获得由所述认证服务器创建的动态令牌和邀请码;创建业务密钥对,并将所述业务密钥对中的设备公钥发送给所述认证服务器。
10.如权利要求9所述的系统,所述软TEE程序,还用于:
根据所述动态令牌和所述邀请码创建所述待验证数据;
利用所述业务密钥对中的设备私钥对所述待验证数据进行签名,获得签名数据;
通过所述认证接口返回所述签名数据给所述支付应用程序,并由所述支付应用程序将所述签名数据发送给所述认证服务器进行验签。
11.一种软件测试方法,所述方法包括:
接收并运行业务测试脚本,生成指纹校验请求;
接收从系统指纹接口传来的指纹校验结果,所述指纹校验结果由控制应用程序获取业务测试配置文件并对所述系统指纹接口hook后,从所述系统指纹接口中获得所述指纹校验请求,并响应所述指纹校验请求,通过所述控制应用程序从所述业务测试配置文件中获得指纹校验结果,并调用所述系统指纹接口返回所述指纹校验结果给支付应用程序;其中,所述业务测试脚本和所述业务测试配置文件隶属于同一业务测试场景;
根据所述指纹校验结果产生安全性校验请求,所述安全性校验请求用于请求认证接口进行安全性校验;
接收从所述认证接口传来的待验证数据,所述待验证数据由软TEE程序对所述认证接口进行hook后响应所述安全性校验请求创建;
将所述待验证数据转发给认证服务器进行安全性校验。
12.如权利要求11所述的方法,所述待验证数据包括动态令牌和邀请码;所述动态令牌和所述邀请码由所述软TEE程序在所述认证服务器上进行注册时,通过所述认证服务器创建。
13.如权利要求12所述的方法,所述接收从所述认证接口传来的待验证数据,具体包括:
接收从所述认证接口传来的签名数据,所述签名数据由所述软TEE程序将所述动态令牌和所述邀请码创建为所述待验证数据后,利用注册时创建的业务密钥对中的设备私钥对所述待验证数据进行签名获得;
将所述签名数据传输给所述认证服务器进行验签。
14.一种支付应用程序,包括:
第一接收单元,用于接收并运行业务测试脚本,生成指纹校验请求;
第二接收单元,用于接收从系统指纹接口传来的指纹校验结果,所述指纹校验结果由控制应用程序获取业务测试配置文件并对所述系统指纹接口hook后,从所述系统指纹接口中获得所述指纹校验请求,并响应所述指纹校验请求,通过所述控制应用程序从所述业务测试配置文件中获得指纹校验结果,并调用所述系统指纹接口返回所述指纹校验结果给所述支付应用程序;其中,所述业务测试脚本和所述业务测试配置文件隶属于同一业务测试场景;
生成单元,用于根据所述指纹校验结果产生安全性校验请求,所述安全性校验请求用于请求认证接口进行安全性校验;
第三接收单元,用于接收从所述认证接口传来的待验证数据,所述待验证数据由软TEE程序对所述认证接口进行hook后响应所述安全性校验请求创建;
转发单元,用于将所述待验证数据转发给认证服务器进行安全性校验。
15.如权利要求14所述的支付应用程序,所述待验证数据包括动态令牌和邀请码;所述动态令牌和所述邀请码由所述软TEE程序在所述认证服务器上进行注册时,通过所述认证服务器创建。
16.如权利要求15所述的支付应用程序,所述第三接收单元,具体用于:
接收从所述认证接口传来的签名数据,所述签名数据由所述软TEE程序将所述动态令牌和所述邀请码创建为所述待验证数据后,利用注册时创建的业务密钥对中的设备私钥对所述待验证数据进行签名获得;
将所述签名数据传输给所述认证服务器进行验签。
17.一种测试系统,包括:
控制应用程序,用于获取业务测试配置文件;
支付应用程序,用于接收并运行业务测试脚本,生成指纹校验请求;所述业务测试配置文件和所述业务测试脚本隶属于同一业务测试场景;
所述控制应用程序,用于对系统指纹接口进行hook,从所述系统指纹接口中获得所述指纹校验请求;响应所述指纹校验请求,从所述业务测试配置文件中获得指纹校验结果;调用所述系统指纹接口返回所述指纹校验结果给所述支付应用程序;
所述支付应用程序,用于根据所述指纹校验结果产生所述安全性校验请求;
软TEE程序,用于对认证接口进行hook,从所述认证接口中获得安全性校验请求;响应所述安全性校验请求,创建待验证数据;将所述待验证数据通过所述认证接口返回给所述支付应用程序;
所述支付应用程序,用于将所述待验证数据转发给认证服务器进行安全性校验。
18.一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如权利要求1-5任一权项方法的步骤。
19.一种电子设备,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上的程序存储于存储器中,且经配置以由一个或者一个以上的处理器执行所述一个或者一个以上的程序所包含的用于进行如权利要求1-5任一权项方法的操作指令。
CN202010443456.0A 2020-05-22 2020-05-22 一种软件测试方法及系统 Active CN111367821B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010443456.0A CN111367821B (zh) 2020-05-22 2020-05-22 一种软件测试方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010443456.0A CN111367821B (zh) 2020-05-22 2020-05-22 一种软件测试方法及系统

Publications (2)

Publication Number Publication Date
CN111367821A true CN111367821A (zh) 2020-07-03
CN111367821B CN111367821B (zh) 2020-09-08

Family

ID=71209663

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010443456.0A Active CN111367821B (zh) 2020-05-22 2020-05-22 一种软件测试方法及系统

Country Status (1)

Country Link
CN (1) CN111367821B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112184211A (zh) * 2020-09-17 2021-01-05 山东亚华电子股份有限公司 一种收付款结算方法及装置
CN112612721A (zh) * 2021-01-13 2021-04-06 四川酷比通信设备有限公司 终端指纹识别功能的测试方法、系统、设备及存储介质
CN112699047A (zh) * 2021-01-13 2021-04-23 腾讯科技(深圳)有限公司 一种应用测试方法、装置、计算机设备及存储介质
CN113010870A (zh) * 2020-10-10 2021-06-22 支付宝(杭州)信息技术有限公司 基于数字凭证的业务处理方法、装置及设备
CN114116039A (zh) * 2020-08-31 2022-03-01 北京比特大陆科技有限公司 数据处理设备配置方法、数据处理设备及计算机可读存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104765612A (zh) * 2015-04-10 2015-07-08 武汉天喻信息产业股份有限公司 一种访问可信执行环境、可信应用的系统及方法
CN105354143A (zh) * 2015-12-02 2016-02-24 北京奇虎科技有限公司 一种用于应用程序的测试方法及装置
CN106354628A (zh) * 2016-08-12 2017-01-25 北京小米移动软件有限公司 支付应用的测试方法及装置
CN107133794A (zh) * 2017-05-08 2017-09-05 奇酷互联网络科技(深圳)有限公司 Ifaa指纹支付装置、系统、方法和移动终端
US20190317888A1 (en) * 2015-06-05 2019-10-17 International Business Machines Corporation Application testing for security vulnerabilities

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104765612A (zh) * 2015-04-10 2015-07-08 武汉天喻信息产业股份有限公司 一种访问可信执行环境、可信应用的系统及方法
US20190317888A1 (en) * 2015-06-05 2019-10-17 International Business Machines Corporation Application testing for security vulnerabilities
CN105354143A (zh) * 2015-12-02 2016-02-24 北京奇虎科技有限公司 一种用于应用程序的测试方法及装置
CN106354628A (zh) * 2016-08-12 2017-01-25 北京小米移动软件有限公司 支付应用的测试方法及装置
CN107133794A (zh) * 2017-05-08 2017-09-05 奇酷互联网络科技(深圳)有限公司 Ifaa指纹支付装置、系统、方法和移动终端

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
刘利华: "基于生物特征识别的手机支付系统设计和实现", 《中国优秀硕士学位论文全文数据库》 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114116039A (zh) * 2020-08-31 2022-03-01 北京比特大陆科技有限公司 数据处理设备配置方法、数据处理设备及计算机可读存储介质
CN112184211A (zh) * 2020-09-17 2021-01-05 山东亚华电子股份有限公司 一种收付款结算方法及装置
CN112184211B (zh) * 2020-09-17 2022-11-11 山东亚华电子股份有限公司 一种收付款结算方法及装置
CN113010870A (zh) * 2020-10-10 2021-06-22 支付宝(杭州)信息技术有限公司 基于数字凭证的业务处理方法、装置及设备
CN112612721A (zh) * 2021-01-13 2021-04-06 四川酷比通信设备有限公司 终端指纹识别功能的测试方法、系统、设备及存储介质
CN112699047A (zh) * 2021-01-13 2021-04-23 腾讯科技(深圳)有限公司 一种应用测试方法、装置、计算机设备及存储介质
CN112699047B (zh) * 2021-01-13 2023-08-25 腾讯科技(深圳)有限公司 一种应用测试方法、装置、计算机设备及存储介质
CN112612721B (zh) * 2021-01-13 2024-04-23 四川酷比通信设备有限公司 终端指纹识别功能的测试方法、系统、设备及存储介质

Also Published As

Publication number Publication date
CN111367821B (zh) 2020-09-08

Similar Documents

Publication Publication Date Title
CN111367821B (zh) 一种软件测试方法及系统
CN109981679B (zh) 在区块链网络中执行事务的方法和装置
US8533799B2 (en) Service integration platform system and method for internet services
CN108960830B (zh) 智能合约的部署方法、装置、设备及存储介质
CN110351269A (zh) 通过第三方服务器登录开放平台的方法
CN106357609B (zh) 一种创建用户的方法和系统、公网服务器及私有云设备
CN112714158B (zh) 事务处理方法、中继网络、跨链网关、系统、介质和设备
CN110535648A (zh) 电子凭证生成及验证和密钥控制方法、装置、系统和介质
CN113938886B (zh) 身份认证平台测试方法、装置、设备及存储介质
CN110324338A (zh) 数据交互方法、装置、堡垒机与计算机可读存储介质
TWI762293B (zh) 安全的服務請求處理方法及裝置
CN102437998B (zh) 应用商店系统及使用该应用商店系统进行开发的方法
CN110688428B (zh) 用于发布智能合约的方法和装置
KR20130114651A (ko) 서비스로서 신뢰할 수 있는 장치 클레임
CN114189553B (zh) 一种流量回放方法、系统及计算设备
CN103975567A (zh) 双因素认证方法及虚拟机设备
WO2024032209A1 (zh) 区块链交易验证方法、装置、存储介质及电子设备
CN108632348B (zh) 一种业务校验方法和装置
CN110177096A (zh) 客户端认证方法、装置、介质和计算设备
CN111273970B (zh) 智能合约的调用方法、装置、系统、介质及电子设备
CN113688040A (zh) 系统测试方法、设备、存储介质及计算机程序产品
CN113987035A (zh) 区块链的外部数据访问方法、装置、系统、设备和介质
CN114978675B (zh) 一种访问认证方法、装置、电子设备及存储介质
CN117675633B (zh) 一种智能硬件设备测试方法及系统
Rivera-Dourado DebAuthn: a Relying Party Implementation as a WebAuthn Authenticator Debugging Tool

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant