CN105139204A - 一种进行安全认证的方法和系统 - Google Patents
一种进行安全认证的方法和系统 Download PDFInfo
- Publication number
- CN105139204A CN105139204A CN201510445593.7A CN201510445593A CN105139204A CN 105139204 A CN105139204 A CN 105139204A CN 201510445593 A CN201510445593 A CN 201510445593A CN 105139204 A CN105139204 A CN 105139204A
- Authority
- CN
- China
- Prior art keywords
- note
- authentication
- code
- application program
- verification system
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/401—Transaction verification
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
- H04L63/0846—Network architectures or network communication protocols for network security for authentication of entities using passwords using time-dependent-passwords, e.g. periodically changing passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0853—Network architectures or network communication protocols for network security for authentication of entities using an additional device, e.g. smartcard, SIM or a different communication terminal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3234—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving additional secure or trusted devices, e.g. TPM, smartcard, USB or software token
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开一种进行安全认证的方法,应用于包括应用程序、应用系统和认证系统的系统中,该方法包括:认证系统接收应用系统发送的请求信息,生成与请求信息中的用户信息对应的验证请求码,获取与用户的移动终端对应的通信标识,向用户的移动终端发送验证请求码;应用程序获取验证请求码,按照认证算法根据验证请求码和初始密钥信息生成验证响应码并显示;认证系统接收验证响应码,根据通信标识获取对应的验证请求码和初始密钥信息,按照认证算法根据验证请求码和初始密钥信息生成认证码,根据认证码对验证响应码进行认证,向应用系统发送认证结果;应用系统接收认证结果,判断是否认证成功,是则确定安全认证成功,否则确定安全认证失败。
Description
技术领域
本发明涉及信息安全领域,尤其涉及一种进行安全认证的方法和系统。
背景技术
短信验证是一种基于手机的身份认证方式,认证端将短信作为一种凭证发送给用户,通过短信内容来验证用户身份,这种身份验证形式多用在安全性要求高的应用系统中如网络购物、网上银行等。用户在进行操作时,为确保安全,认证端对用户事先绑定的手机号码发送短信验证码,用户收到短信验证码之后,在网站上填写该验证码,验证通过之后,才能完成后续操作。
现有技术中,发送给用户的短信易被第三方截获或篡改,使短信验证方式的安全性降低。
发明内容
本发明的目的是为了克服现有技术的不足,提供一种进行安全认证的方法和系统,认证系统和手机中的应用程序根据初始密钥信息对验证请求码进行计算,根据得到的验证响应码进行身份认证,提高短信验证方式的安全性。
本发明提供的一种进行安全认证的方法,应用于包括应用程序、应用系统和认证系统的系统中,所述应用程序安装在用户的移动终端中,所述方法包括:
步骤S1:当所述应用系统接收到安全认证请求时,所述应用系统向所述认证系统发送请求信息;
步骤S2:所述认证系统接收所述请求信息,生成与所述请求信息中的用户信息对应的验证请求码并保存,获取与所述用户的移动终端对应的通信标识,根据预设号码和所述通信标识向所述用户的移动终端发送所述验证请求码;
步骤S3:所述应用程序获取所述验证请求码,按照认证算法根据所述验证请求码和所述应用程序中的初始密钥信息生成验证响应码,显示所述验证响应码;
步骤S4:所述认证系统接收所述验证响应码,根据所述通信标识获取对应的所述验证请求码和所述认证系统中的初始密钥信息,按照认证算法根据所述验证请求码和所述认证系统中的初始密钥信息生成认证码,根据所述认证码对所述验证响应码进行认证,向所述应用系统发送认证结果;
步骤S5:所述应用系统接收所述认证结果,根据所述认证结果判断是否认证成功,是则确定安全认证成功,否则确定安全认证失败,结束。
本发明又提供的一种进行安全认证的方法,应用于包括应用程序、应用系统和认证系统的系统中,所述应用程序安装在用户的移动终端中,所述方法包括:
步骤T1:当所述应用系统接收到安全认证请求时,所述应用系统向所述认证系统发送请求信息和交易信息;
步骤T2:所述认证系统接收所述请求信息和交易信息,生成与所述请求信息中的用户信息对应的验证请求码并保存,获取与所述用户的移动终端对应的通信标识,根据预设号码和所述通信标识向所述用户的移动终端发送所述验证请求码和所述交易信息;
步骤T3:所述应用程序获取验证请求码和交易信息,按照认证算法根据所述验证请求码、所述交易信息和所述应用程序中的初始密钥信息生成验证响应码,显示所述验证响应码;
步骤T4:所述认证系统接收所述验证响应码,根据所述通信标识获取对应的所述验证请求码和所述认证系统中的初始密钥信息,按照认证算法根据所述验证请求码、所述交易信息和所述认证系统中的初始密钥信息生成认证码,根据所述认证码对所述验证响应码进行认证,向所述应用系统发送认证结果;
步骤T5:所述应用系统接收所述认证结果,根据所述认证结果判断是否认证成功,是则确定安全认证成功,否则确定安全认证失败,结束。
本发明提供一种进行安全认证的系统,所述系统包括应用程序、应用系统和认证系统,所述应用程序安装在用户的移动终端中,所述应用系统包括:第一接收模块、第一发送模块和第一判断模块;
所述第一接收模块,用于接收到安全认证请求;接收所述认证系统的认证结果;
所述第一发送模块,用于向所述认证系统发送请求信息;
所述第一判断模块,用于根据所述第一接收模块接收到的所述认证结果判断是否认证成功,是则确定安全认证成功,否则确定安全认证失败;
所述认证系统包括:第二接收模块、第一生成模块、第二发送模块、第三生成模块和认证模块;
所述第二接收模块,用于接收所述应用系统发送的所述请求信息;接收验证响应码;
所述第一生成模块,用于生成与所述第二接收模块接收到的所述请求信息中的用户信息对应的验证请求码并保存;
所述第二发送模块,用于在所述认证系统中获取与所述用户的移动终端对应的通信标识,根据预设号码和所述通信标识向所述用户的移动终端发送所述第一生成模块生成的所述验证请求码;向所述应用系统发送所述认证模块的认证结果;
所述第三生成模块,用于根据所述通信标识获取对应的所述验证请求码和所述认证系统中的初始密钥信息,按照认证算法根据所述验证请求码和所述认证系统中的初始密钥信息生成认证码;
所述认证模块,用于根据所述第三生成模块生成的所述认证码对所述第二接收模块接收到的所述验证响应码进行认证;
所述应用程序包括:第一获取模块、第二生成模块和显示模块;
所述第一获取模块,用于获取所述验证请求码;
所述第二生成模块,用于按照认证算法根据所述第一获取模块获取到的所述验证请求码和所述应用程序中的初始密钥信息生成验证响应码;
所述显示模块,用于显示所述第二生成模块生成的所述验证响应码。
本发明又提供一种进行安全认证的系统,所述系统包括应用程序、应用系统和认证系统,所述应用程序安装在用户的移动终端中,所述应用系统包括:第一接收模块、第一发送模块和第一判断模块;
所述第一接收模块,用于接收到安全认证请求;接收所述认证系统的认证结果;
所述第一发送模块,用于向所述认证系统发送请求信息和交易信息;
所述第一判断模块,用于根据所述第一接收模块接收到的所述认证结果判断是否认证成功,是则确定安全认证成功,否则确定安全认证失败;
所述认证系统包括:第二接收模块、第一生成模块、第二发送模块、第三生成模块和认证模块;
所述第二接收模块,用于接收所述应用系统发送的所述请求信息和交易信息;接收验证响应码;
所述第一生成模块,用于生成与所述第二接收模块接收到的所述请求信息中的用户信息对应的验证请求码并保存;
所述第二发送模块,用于在所述认证系统中获取与所述用户的移动终端对应的通信标识,根据预设号码和所述通信标识向所述用户的移动终端发送所述第一生成模块生成的所述验证请求码和所述交易信息;向所述应用系统发送所述认证模块的认证结果;
所述第三生成模块,用于根据所述通信标识获取对应的所述验证请求码和所述认证系统中的初始密钥信息,按照认证算法根据所述验证请求码、所述交易信息和所述认证系统中的初始密钥信息生成认证码;
所述认证模块,用于根据所述第三生成模块生成的所述认证码对所述第二接收模块接收到的所述验证响应码进行认证;
所述应用程序包括:第一获取模块、第二生成模块和显示模块;
所述第一获取模块,用于获取所述验证请求码;
所述第二生成模块,用于按照认证算法根据所述第一获取模块获取到的所述验证请求码、所述交易信息和所述应用程序中的初始密钥信息生成验证响应码;
所述显示模块,用于显示所述第二生成模块生成的所述验证响应码。
本发明与现有技术相比,具有以下优点:
本发明提供的一种进行安全认证的方法和系统,认证系统和移动终端中的应用程序根据初始密钥信息对验证请求码进行计算,根据得到的验证响应码进行身份认证,提高短信验证方式的安全性。
附图说明
图1是本发明实施例1提供的一种进行安全认证的方法的流程图;
图2是本发明实施例2提供的一种进行安全认证的方法的流程图;
图3是本发明实施例3提供的一种进行安全认证的方法的流程图;
图4是本发明实施例4提供的一种进行安全认证的系统的模块图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本实施例中提供的一种进行安全认证的方法,应用于包括应用程序、应用系统和认证系统的系统中。应用系统可以为网上银行系统、电话银行系统或手机银行系统等银行系统;应用程序安装在用户的移动终端中,可以作为一个独立的第三方应用程序(如移动终端APP),也可以作为移动终端上的应用系统(如手机银行系统)中的接口。
实施例1
本发明的实施例1提供了一种进行安全认证的方法,如图1所示,包括:
步骤101:当应用系统接收到安全认证请求时,应用系统向认证系统发送请求信息;
本实施例中,请求信息中包括用户的用户信息;例如,用户信息为user1;
步骤102:认证系统接收请求信息,生成与请求信息中的用户信息对应的验证请求码并保存,获取与用户的移动终端对应的通信标识,根据预设号码和与用户的移动终端对应的通信标识向用户的移动终端发送生成的验证请求码;
具体地,该步骤还包括:认证系统根据请求信息中的用户信息,获取对应的初始密钥信息;初始密钥信息为应用程序进行初始化时,认证系统为使用应用程序的用户生成的唯一的数据,用户信息与初始密钥信息对应存储在认证系统中,认证系统获取到的初始密钥信息用于在之后的步骤中对验证响应码进行认证;
本实施例中,认证系统生成一个随机数作为验证请求码,将生成的验证请求码与请求信息中的用户信息对应存储;除此之外,认证系统还可以根据随机数、用户信息对应的账号和/或初始密钥信息等信息计算得到验证请求码,将生成的验证请求码与请求信息中的用户信息对应存储;例如,验证请求码为5678;
本实施例中,认证系统也可以通过应用系统向用户的移动终端发送验证请求码,即该步骤还可以为:认证系统接收请求信息,生成与请求信息中的用户信息对应的验证请求码并保存,向应用系统发送生成的验证请求码;应用系统接收验证请求码,在应用系统中获取与用户的移动终端对应的通信标识,根据预设号码和与用户的移动终端对应的通信标识向用户的移动终端发送验证请求码;
例如,本实施例中,用户的移动终端为移动通信终端,即可以在移动中使用的计算机设备,包括手机、笔记本、平板电脑等;通信标识可以为手机号或者用户在移动终端中安装的即时通信软件的账号,如微信账号;
例如,认证系统根据保存的手机号向用户的手机发送包含验证请求码的短信;
步骤103:应用程序获取验证请求码,按照认证算法根据验证请求码和应用程序中的初始密钥信息生成验证响应码,显示验证响应码;
例如,应用程序检测用户手机中的短信,当检测到短信为预设号码向用户手机发送的短信时,读取该短信,获取短信中的验证请求码;应用程序还可以通过按键接收用户手动输入的验证请求码;
本实施例中,初始密钥信息在应用程序进行初始化时设置在应用程序中;具体地,应用程序进行初始化时,认证系统生成初始密钥信息后,应用程序获取该初始密钥信息,例如,应用程序接收用户手动输入的初始密钥信息;或者应用程序通过USB连接方式接收来自认证系统的初始密钥信息;或者应用程序通过无线连接方式接收来自认证系统的初始密钥信息;或者应用程序通过扫描二维码的方式获取初始密钥信息;
本实施例中,应用程序还可以根据当前应用程序时间、应用程序认证次数或其他信息中的一种或多种,与验证请求码进行结合得到应用程序的结合数据,按照认证算法根据应用程序的结合数据和应用程序中的初始密钥信息生成验证响应码;认证算法可以为SM3算法、SM4算法、SHA1算法或者MD5算法等摘要算法,也可以为SM2算法等签名算法;当认证算法为签名算法时,应用程序中的初始密钥信息为在应用程序进行初始化时设置在应用程序中的初始密钥对的私钥,认证系统中的初始密钥信息为在应用程序进行初始化时生成的对应的初始密钥对的公钥;
其中,若应用程序认证次数参与计算生成验证响应码,则应用程序在生成验证响应码后更新应用程序认证次数;例如,应用程序认证次数初始值为1,应用程序在生成验证响应码后将应用程序认证次数自加1;
例如,应用程序中的初始密钥信息为1234567890abcdef1234567890abcdef,当前应用程序时间为1313998979,应用程序认证次数为1234,验证请求码为5678,认证算法为SM3算法;应用程序将当前应用程序时间、应用程序认证次数和验证请求码顺序组合得到应用程序的组合数据;应用程序将初始密钥信息和应用程序的组合数据作为认证算法的输入参数,计算得到SM3算法的函数输出结果,对函数输出结果进行截位,得到截位结果,获取截位结果的后6位数据作为验证响应码,即验证响应码为814095;其中,对函数输出结果进行截位,得到截位结果,具体为:将函数输出结果进行分组,得到8个4字节的整数,将得到的8个整数相加得到截位结果;
又如,应用程序中的初始密钥信息为1234567890abcdef1234567890abcdef,当前应用程序时间为1340783053,应用程序认证次数为1234,验证请求码为5678,认证算法为SM4算法;应用程序将当前应用程序时间、应用程序认证次数和验证请求码顺序组合得到组合数据;应用程序将初始密钥信息和组合数据作为认证算法的输入参数,计算得到SM4算法的函数输出结果,对函数输出结果进行截位,得到截位结果,获取截位结果的后6位数据作为验证响应码,即验证响应码为446720;其中,对函数输出结果进行截位,得到截位结果,具体为:将函数输出结果进行分组,得到4个4字节的整数,将得到的4个整数相加得到截位结果;
本实施例中,应用程序也可以通过应用系统向认证系统发送验证响应码,即该步骤还可以为:应用程序获取验证请求码,按照认证算法根据验证请求码和应用程序中的初始密钥信息生成验证响应码,显示验证响应码,向应用系统发送验证响应码;应用系统等待接收验证响应码,当应用系统接收到验证响应码时,向认证系统发送用户信息和验证响应码;
或者,应用系统通过短信或即时通信软件获取验证响应码;例如,应用系统等待用户返回的短信,当应用系统接收到与用户对应的手机号码返回的短信时,应用系统获取该短信中的验证响应码;
该步骤还可以包括:认证系统判断是否在预设时间内接收到验证响应码,是则执行步骤104,否则将认证失败信息作为认证结果发送给应用系统,执行步骤105;
步骤104:认证系统接收用户信息和验证响应码,根据用户信息获取对应的验证请求码和认证系统中的初始密钥信息,按照认证算法根据验证请求码和认证系统中的初始密钥信息生成认证码,根据生成的认证码对验证响应码进行认证,向应用系统发送认证结果;
本实施例中,认证系统也可以在本步骤中根据请求信息中的用户信息,获取对应的初始密钥信息;例如,用户信息为user1,验证响应码为814095;具体地,认证系统中的认证算法与应用程序中的认证算法为相同的算法;
本实施例中,若应用程序根据当前应用程序时间、应用程序认证次数或其他信息中的一种或多种,与验证请求码进行结合得到应用程序的结合数据,按照认证算法根据应用程序的结合数据和应用程序中的初始密钥信息生成验证响应码,则相应地,认证系统根据当前认证系统时间、认证系统认证次数或其他信息中的一种或多种,与验证请求码进行结合得到认证系统的结合数据,按照认证算法根据认证系统的结合数据和认证系统中与用户信息对应的初始密钥信息生成认证码;
例如,认证系统中与用户信息对应的初始密钥信息为1234567890abcdef1234567890abcdef,当前认证系统时间为1313998979,认证系统认证次数为1234,验证请求码为5678,认证算法为SM3算法;认证系统将当前认证系统时间、认证系统认证次数和验证请求码顺序组合得到认证系统的组合数据;认证系统将初始密钥信息和认证系统的组合数据作为认证算法的输入参数,计算得到SM3算法的函数输出结果,对函数输出结果进行截位,得到截位结果,获取截位结果的后6位数据作为认证码,即验证响应码为814095;其中,对函数输出结果进行截位,得到截位结果,具体为:将函数输出结果进行分组,得到8个4字节的整数,将得到的8个整数相加得到截位结果;
具体地,认证系统判断接收到的验证响应码是否与生成的认证码一致,是则确定认证成功,将认证成功信息作为认证结果发送给应用系统,否则确定认证失败,将认证失败信息作为认证结果发送给应用系统;
例如,本实施例中,认证系统接收到的验证响应码与生成的认证码均为814095,则确定认证成功,认证系统将认证成功信息作为认证结果发送给应用系统;
其中,若认证系统认证次数参与计算生成认证码,则认证系统以认证系统认证次数为基准,在预设范围内得到多个认证系统认证次数,再根据多个认证系统认证次数得到多个认证码,认证系统判断接收到的验证响应码是否与生成的多个认证码的其中一个认证码一致,是则确定认证成功,将认证成功信息作为认证结果发送给应用系统,否则确定认证失败,将认证失败信息作为认证结果发送给应用系统;
认证系统在生成多个认证码后更新认证系统认证次数;例如,认证系统认证次数初始值为1,认证系统在生成认证码后将认证系统认证次数自加1;
步骤105:应用系统接收认证结果,根据认证结果判断是否认证成功,是则确定安全认证成功,否则确定安全认证失败,结束。
本实施例中,进行安全认证通常为应用系统进行某种具体操作(如转账、查询等操作)的前提,若安全认证成功,则应用系统继续进行具体操作,若安全认证失败,则应用系统认证失败,不进行具体操作。
本实施例步骤103中,应用程序检测用户手机中的短信,当检测到短信为预设号码向用户手机发送的短信时,读取该短信,获取短信中的验证请求码的过程,以Android操作系统的手机为例,具体包括:
应用程序在AndroidManifest.xml配置文件中注册广播接收器,设置广播接收器的优先级,并将权限设置为允许应用程序监控短信;应用程序等待接收操作系统发送的消息,执行以下步骤:
步骤A1:当应用程序接收到操作系统发送的消息时,应用程序对消息类型进行判断,若是短信消息则执行步骤A2,若是其他消息则返回步骤A1;
步骤A2:应用程序获取短信列表,判断短信列表是否不为空,是则执行步骤A3,否则提示错误,结束;
步骤A3:应用程序从短信列表中获取第一条短信作为当前短信;
步骤A4:应用程序通过调用getOriginatingAddress方法获取当前短信的发送者号码;
步骤A5:应用程序判断当前短信的发送者号码是否与预设号码一致,是则执行步骤A7,否则执行步骤A6;
步骤A6:应用程序判断当前短信之后是否还存在其他短信,是则获取当前短信的下一条短信作为当前短信,返回步骤A4;否则,提示错误,结束;
步骤A7:应用程序通过调用getDisplayMessageBody方法,获取当前短信的内容,根据当前短信的内容更新当前数据;
具体地,当前数据初始为空,更新当前数据为将当前短信的内容顺序保存作为当前数据;
该步骤还可以包括:应用程序通过调用abortBroadcast方法,终止当前短信的广播;
步骤A8:应用程序判断当前数据是否符合预设格式,是则执行步骤A9,否则执行步骤A6;
若当前数据符合预设格式,则确定该短信为包含验证请求码的短信;
步骤A9:应用程序判断当前数据是否完整,是则执行步骤A10,否则返回步骤A6;
具体地,应用程序判断当前数据中是否包含起始标识和终止标识,是则确定当前数据完整,否则确定当前数据不完整;
步骤A10:应用程序根据预设标识在当前数据中获取验证请求码;
本实施例中,该步骤之前还包括:应用程序对当前数据进行校验,判断是否校验成功,是则执行步骤A10,否则执行步骤A6;
具体地,应用程序在当前数据中查找预设标识,在查找到的预设标识之后根据验证请求码的长度获取短信中的数据作为验证请求码;
本实施例步骤103中,应用程序检测用户手机中的短信,当检测到短信为预设号码向用户手机发送的短信时,读取该短信的过程,以iOS操作系统的手机为例,具体包括:
应用程序在操作系统中注册回调函数;应用程序中的回调函数等待被操作系统调用,执行以下步骤:
步骤B1:当应用程序中的回调函数被操作系统调用时,应用程序通过回调函数对函数参数中的消息类型进行判断,若是短信消息则执行步骤B2,若是其他消息类型则返回步骤B1;
例如,若消息类型为kCTMessageIdKey,则确定函数参数中的消息类型为短信消息;
步骤B2:应用程序通过回调函数获取短信中心对象,从短信中心对象中获取短信条数;
例如,回调函数通过调用NSClassFromString函数获取短信中心对象,通过调用incomingMessageCount函数获取短信条数;
步骤B3:应用程序通过回调函数判断获取到的短信条数是否有效,是则执行步骤B4,否则提示错误,结束;
例如,若短信条数为0,则获取到的短信条数无效;
步骤B4:应用程序通过回调函数将函数参数中的短信内容读取到短信数组中,在短信数组中获取第一条短信内容作为当前短信;
例如,回调函数通过allIncomingMessages函数将函数参数中的短信内容读取到短信数组中,通过objectAtIndex:0在短信数组中获取第一条短信内容作为当前短信;
步骤B5:应用程序通过回调函数获取当前短信的发送者号码;
例如,回调函数通过sender函数获取当前短信的发送者号码;
步骤B6:应用程序通过回调函数判断当前短信的发送者号码是否与预设号码一致,是则根据当前短信更新当前数据,执行步骤B8,否则执行步骤B7;
具体地,当前数据初始为空,更新当前数据为将当前短信顺序保存作为当前数据;
步骤B7:应用程序通过回调函数判断在短信数组中当前短信之后是否还存在其他短信内容,是则获取当前短信的下一条短信内容作为当前短信,返回步骤B5;否则,提示错误,结束;
步骤B8:应用程序通过回调函数判断当前数据是否符合预设格式,是则执行步骤B9,否则执行步骤B7;
若当前数据符合预设格式,则确定该短信为包含验证请求码的短信;
步骤B9:应用程序通过回调函数判断当前数据是否完整,是则执行步骤B10,否则返回步骤B7;
具体地,应用程序通过回调函数判断当前数据中是否包含起始标识和终止标识,是则确定当前数据完整,否则确定当前数据不完整;
步骤B10:应用程序通过回调函数根据预设标识在当前数据中获取验证请求码;
本实施例中,该步骤之前还包括:应用程序对当前数据进行校验,判断是否校验成功,是则执行步骤B10,否则执行步骤B7;
具体地,应用程序在该短信中查找预设标识,在查找到的预设标识之后根据验证请求码的长度获取短信中的数据作为验证请求码。
本实施例中提供的一种进行安全认证的方法,认证系统和手机中的应用程序根据初始密钥信息对验证请求码进行计算,根据得到的验证响应码进行身份认证,提高短信验证方式的安全性。
实施例2
本发明的实施例2提供了一种进行安全认证的方法,在实施例1的基础上在安全认证的过程中增加交易信息,如图2所示,包括:
步骤201:当应用系统接收到安全认证请求时,应用系统向认证系统发送请求信息和交易信息;
步骤202:认证系统接收请求信息和交易信息,生成与请求信息中的用户信息对应的验证请求码并保存,获取与用户的移动终端对应的通信标识,根据预设号码和通信标识向用户的移动终端发送生成的验证请求码和交易信息;
步骤203:应用程序获取验证请求码,按照认证算法根据验证请求码、交易信息和应用程序中的初始密钥信息生成验证响应码,显示验证响应码;
步骤204:认证系统接收验证响应码,根据通信标识获取对应的验证请求码和认证系统中的初始密钥信息,按照认证算法根据验证请求码、交易信息和认证系统中的初始密钥信息生成认证码,根据认证码对验证响应码进行认证,向应用系统发送认证结果;
步骤205:应用系统接收认证结果,根据认证结果判断是否认证成功,是则确定安全认证成功,否则确定安全认证失败,结束。
实施例3
本发明的实施例3提供了一种进行安全认证的方法,如图3所示,包括:
步骤301:当应用系统接收到安全认证请求时,应用系统向认证系统发送请求信息;
本实施例中,请求信息中包括用户的用户信息;
步骤302:认证系统接收请求信息,生成与请求信息中的用户信息对应的验证请求码并保存,向应用系统发送生成的验证请求码;
具体地,该步骤还包括:认证系统根据请求信息中的用户信息,获取对应的初始密钥信息;初始密钥信息为应用程序进行初始化时,认证系统为使用应用程序的用户生成的唯一的数据,用户信息与初始密钥信息对应存储在认证系统中,认证系统获取到的初始密钥信息用于在之后的步骤中对验证响应码进行认证;
本实施例中,认证系统生成一个随机数作为验证请求码,将生成的验证请求码与请求信息中的用户信息对应存储;除此之外,认证系统还可以根据随机数、用户信息对应的账号和/或初始密钥信息等信息计算得到验证请求码,将生成的验证请求码与请求信息中的用户信息对应存储;
步骤303:应用系统接收验证请求码,在应用系统中获取与用户的移动终端对应的通信标识,向用户的移动终端发送验证请求码和交易信息;
例如,本实施例中,用户的移动终端为移动通信终端,即可以在移动中使用的计算机设备,包括手机、笔记本、平板电脑等;通信标识可以为手机号或者用户在移动终端中安装的即时通信软件的账号,如微信账号;
例如,应用系统根据保存的手机号向用户的手机发送包含验证请求码和交易信息的短信;该交易信息中可以包括用户账号和金额;
步骤304:应用程序获取验证请求码,按照认证算法根据验证请求码、交易信息和应用程序中的初始密钥信息生成验证响应码,显示验证响应码;
以应用系统根据保存的手机号向用户的手机发送包含验证请求码的短信为例,应用程序检测用户手机中的短信,当检测到短信为预设号码向用户手机发送的短信时,读取该短信,获取短信中的验证请求码和交易信息,显示交易信息;应用程序还可以通过按键接收用户手动输入的验证请求码;
本实施例中,初始密钥信息在应用程序进行初始化时设置在应用程序中;具体地,应用程序进行初始化时,认证系统生成初始密钥信息后,应用程序获取该初始密钥信息,例如,应用程序接收用户手动输入的初始密钥信息;或者应用程序通过USB连接方式接收来自认证系统的初始密钥信息;或者应用程序通过无线连接方式接收来自认证系统的初始密钥信息;或者应用程序通过扫描二维码的方式获取初始密钥信息;
本实施例中,应用程序还可以根据当前应用程序时间、应用程序认证次数或其他信息中的一种或多种,与验证请求码和交易信息进行结合得到应用程序的结合数据,按照认证算法根据应用程序的结合数据和应用程序中的初始密钥信息生成验证响应码;认证算法可以为SM3算法或SM4算法;
其中,若应用程序认证次数参与计算生成验证响应码,则应用程序在生成验证响应码后更新应用程序认证次数;例如,应用程序认证次数初始值为1,应用程序在生成验证响应码后将应用程序认证次数自加1;
步骤305:应用系统等待接收验证响应码,当应用系统接收到验证响应码时,向认证系统发送用户信息、交易信息和验证响应码;
例如,应用系统通过短信或即时通信软件获取验证响应码;例如,应用系统等待用户返回的短信,当应用系统接收到与用户对应的手机号码返回的短信时,应用系统获取该短信中的验证响应码;
该步骤还可以包括:应用系统判断是否在预设时间内接收到验证响应码,是则向认证系统发送用户信息和验证响应码,否则认证失败,结束;
步骤306:认证系统接收用户信息、交易信息和验证响应码,根据用户信息获取对应的验证请求码和认证系统中的初始密钥信息,按照认证算法根据验证请求码、交易信息和认证系统中的初始密钥信息生成认证码,根据生成的认证码对验证响应码进行认证,向应用系统发送认证结果;
本实施例中,认证系统也可以在本步骤中根据请求信息中的用户信息,获取对应的初始密钥信息;具体地,认证系统中的认证算法与应用程序中的认证算法为相同的算法;
本实施例中,若应用程序根据当前应用程序时间、应用程序认证次数或其他信息中的一种或多种,与验证请求码和交易信息进行结合得到应用程序的结合数据,按照认证算法根据应用程序的结合数据和应用程序中的初始密钥信息生成验证响应码,则相应地,认证系统根据当前认证系统时间、认证系统认证次数或其他信息中的一种或多种,与验证请求码和交易信息进行结合得到认证系统的结合数据,按照认证算法根据认证系统的结合数据和认证系统中与用户信息对应的初始密钥信息生成认证码;
具体地,认证系统判断接收到的验证响应码是否与生成的认证码一致,是则确定认证成功,将认证成功信息作为认证结果发送给应用系统,否则确定认证失败,将认证失败信息作为认证结果发送给应用系统;
例如,本实施例中,认证系统接收到的验证响应码与生成的认证码均为814095,则确定认证成功,认证系统将认证成功信息作为认证结果发送给应用系统;
其中,若认证系统认证次数参与计算生成认证码,则认证系统以认证系统认证次数为基准,在预设范围内得到多个认证系统认证次数,再根据多个认证系统认证次数得到多个认证码,认证系统判断接收到的验证响应码是否与生成的多个认证码的其中一个认证码一致,是则确定认证成功,将认证成功信息作为认证结果发送给应用系统,否则确定认证失败,将认证失败信息作为认证结果发送给应用系统;
认证系统在生成多个认证码后更新认证系统认证次数;例如,认证系统认证次数初始值为1,认证系统在生成认证码后将认证系统认证次数自加1;
步骤307:应用系统接收认证结果,根据认证结果判断是否认证成功,是则确定安全认证成功,否则确定安全认证失败,结束。
本实施例中,进行安全认证通常为应用系统进行某种具体操作(如转账、查询等操作)的前提,若安全认证成功,则应用系统继续进行具体操作,若安全认证失败,则应用系统认证失败,不进行具体操作。
本实施例中提供的一种进行安全认证的方法,认证系统和手机中的应用程序根据初始密钥信息对验证请求码进行计算,根据得到的验证响应码进行身份认证,提高短信验证方式的安全性。
实施例4
本发明的实施例4提供了一种进行安全认证的系统,如图4所示,包括:应用程序40、应用系统50和认证系统60,应用程序40安装在用户的移动终端中,应用系统50包括:第一接收模块501、第一发送模块502和第一判断模块503;
第一接收模块501,用于接收安全认证请求;接收认证系统60的认证结果;
第一发送模块502,用于向认证系统60发送请求信息;
除此之外,第一发送模块502还用于向认证系统60发送请求信息和交易信息;
第一判断模块503,用于根据第一接收模块501接收到的认证结果判断是否认证成功,是则确定安全认证成功,否则确定安全认证失败;
认证系统60包括:第二接收模块601、第一生成模块602、第二发送模块603、第三生成模块604和认证模块605;
第二接收模块601,用于接收应用系统50发送的请求信息;接收验证响应码;
第一生成模块602,用于生成与第二接收模块601接收到的请求信息中的用户信息对应的验证请求码并保存;
第二发送模块603,用于在认证系统60中获取与用户的移动终端对应的通信标识,根据预设号码和通信标识向用户的移动终端发送第一生成模块602生成的验证请求码;向应用系统50发送认证模块605的认证结果;
除此之外,第二发送模块603还用于在认证系统60中获取与用户的移动终端对应的通信标识,根据预设号码和通信标识向用户的移动终端发送第一生成模块602生成的验证请求码和交易信息;
第三生成模块604,用于根据通信标识获取对应的验证请求码和认证系统60中的初始密钥信息,按照认证算法根据验证请求码和认证系统60中的初始密钥信息生成认证码;
除此之外,第三生成模块604还用于根据通信标识获取对应的验证请求码和认证系统60中的初始密钥信息,按照认证算法根据验证请求码、交易信息和认证系统60中的初始密钥信息生成认证码;
认证模块605,用于根据第三生成模块604生成的认证码对第二接收模块601接收到的验证响应码进行认证;
应用程序40包括:第一获取模块401、第二生成模块402和显示模块403;
第一获取模块401,用于获取验证请求码;
第二生成模块402,用于按照认证算法根据第一获取模块401获取到的验证请求码和应用程序40中的初始密钥信息生成验证响应码;
除此之外,第二生成模块402还用于按照认证算法根据第一获取模块401获取到的验证请求码、交易信息和应用程序40中的初始密钥信息生成验证响应码;
显示模块403,用于显示第二生成模块402生成的验证响应码。
第一生成模块602,具体用于生成一个随机数作为验证请求码,将生成的验证请求码与请求信息中的用户信息对应存储;
或者,第一生成模块602具体用于生成一个随机数,根据随机数、用户信息对应的账号和/或初始密钥信息计算得到验证请求码,将生成的验证请求码与请求信息中的用户信息对应存储。
第二发送模块603,具体用于在认证系统60中获取与用户的移动终端对应的通信标识,根据预设号码和通信标识向用户的移动终端发送包含第一生成模块602生成的验证请求码的短信;向应用系统50发送认证模块605的认证结果。
第一获取模块401,具体用于检测用户手机中的短信,当检测到短信为预设号码向用户手机发送的短信时,读取短信,获取短信中的验证请求码。
第一获取模块401包括:第一注册单元、第一判断单元、第二判断单元、第一获取单元、第二获取单元、第三判断单元、第四判断单元、第三获取单元、第五判断单元、第六判断单元和第四获取单元;
第一注册单元,用于在配置文件中注册广播接收器,设置广播接收器的优先级,并将权限设置为允许应用程序40监控短信;
应用程序40还包括第三接收模块,用于接收操作系统发送的消息;
第一判断单元,用于对第三接收模块接收到的消息的类型进行判断;
第二判断单元,用于当第一判断单元判断出消息为短信消息时,获取短信列表,判断短信列表是否不为空;
第一获取单元,用于当第二判断单元判断出短信列表不为空时,从短信列表中获取第一条短信作为当前短信;
第二获取单元,用于获取当前短信的发送者号码;
第三判断单元,用于判断第二获取单元获取到的当前短信的发送者号码是否与预设号码一致;
第四判断单元,用于当第三判断单元判断出当前短信的发送者号码与预设号码不一致时,判断当前短信之后是否还存在其他短信,是则获取当前短信的下一条短信作为当前短信;
第三获取单元,用于当第三判断单元判断出当前短信的发送者号码与预设号码一致时,获取当前短信的内容,根据当前短信的内容更新当前数据;
第五判断单元,用于判断第三获取单元得到的当前数据是否符合预设格式;
第六判断单元,用于当第五判断单元判断出当前数据符合预设格式时,判断当前数据是否完整;
第四获取单元,用于当第六判断单元判断出当前数据完整时,根据预设标识在当前数据中获取验证请求码。
第一获取模块401包括:第二注册单元、第七判断单元、第五获取单元、第八判断单元、第六获取单元、第七获取单元、第九判断单元、第十判断单元、第十一判断单元、第十二判断单元和第八获取单元;
第二注册单元,用于在操作系统中注册回调函数;
第七判断单元,用于当回调函数被操作系统调用时,通过回调函数对函数参数中的消息类型进行判断;
第五获取单元,用于当第七判断单元判断出消息类型为短信消息时,通过回调函数获取短信中心对象,从短信中心对象中获取短信条数;
第八判断单元,用于通过回调函数判断第五获取单元获取到的短信条数是否有效;
第六获取单元,用于当第八判断单元判断出短信条数有效时,通过回调函数将函数参数中的短信内容读取到短信数组中,在短信数组中获取第一条短信内容作为当前短信;
第七获取单元,用于通过回调函数获取当前短信的发送者号码;
第九判断单元,用于通过回调函数判断第七获取单元获取到的当前短信的发送者号码是否与预设号码一致,是则根据当前短信更新当前数据;
第十判断单元,用于当第九判断单元判断出当前短信的发送者号码与预设号码不一致时,通过回调函数判断在短信数组中当前短信之后是否还存在其他短信内容,是则获取当前短信的下一条短信内容作为当前短信;
第十一判断单元,用于当第九判断单元判断出当前短信的发送者号码与预设号码一致时,通过回调函数判断当前数据是否符合预设格式;
第十二判断单元,用于当第十一判断单元判断出当前数据符合预设格式时,通过回调函数判断当前数据是否完整;
第八获取单元,用于当第十二判断单元判断出当前数据完整时,通过回调函数根据预设标识在当前数据中获取验证请求码。
第一获取模块401,具体用于通过按键接收用户手动输入的验证请求码。
第二发送模块603,还用于向应用系统50发送验证请求码;
第一接收模块501,还用于接收第二发送模块603发送的验证请求码;
第一发送模块502,还用于获取与用户的移动终端对应的通信标识,根据预设号码和与通信标识向用户的移动终端发送验证请求码;
除此之外,第一发送模块502,还用于获取与用户的移动终端对应的通信标识,根据预设号码和与通信标识向用户的移动终端发送验证请求码和交易信息;
应用程序40还包括第三发送模块,用于向应用系统50发送验证响应码;
第一接收模块501,还用于接收第三发送模块发送到验证响应码;
第一发送模块502,还用于向认证系统60发送用户信息和验证响应码。
第二生成模块402,具体用于根据当前应用程序时间、应用程序认证次数中的一种或多种,与验证请求码进行结合得到应用程序40的结合数据,按照认证算法根据应用程序40的结合数据和应用程序40中的初始密钥信息生成验证响应码;
除此之外,第二生成模块402还用于根据当前应用程序时间、交易信息、应用程序认证次数中的一种或多种,与验证请求码和交易信息进行结合得到应用程序的结合数据,按照认证算法根据应用程序40的结合数据和应用程序40中的初始密钥信息生成验证响应码;
当应用程序认证次数参与计算生成验证响应码时,第二生成模块402在生成验证响应码后,还用于更新应用程序认证次数;
第三生成模块604,用于根据通信标识获取对应的验证请求码和认证系统60中的初始密钥信息,根据当前认证系统时间、认证系统认证次数中的一种或多种,与验证请求码进行结合得到认证系统60的结合数据,按照认证算法根据认证系统60的结合数据和认证系统60中与用户信息对应的初始密钥信息生成认证码;
除此之外,第三生成模块604还用于根据通信标识获取对应的验证请求码和认证系统60中的初始密钥信息,根据当前认证系统时间、交易信息、认证系统认证次数中的一种或多种,与验证请求码和交易信息进行结合得到认证系统60的结合数据,按照认证算法根据认证系统60的结合数据和认证系统60中与用户信息对应的初始密钥信息生成认证码;
第三生成模块604在生成多个认证码后,还用于更新认证系统认证次数。
当认证系统认证次数参与计算生成认证码时,第三生成模块604具体用于以认证系统认证次数为基准,在预设范围内得到多个认证系统认证次数,再根据多个认证系统认证次数得到多个认证码;
认证模块605,具体用于判断接收到的验证响应码是否与生成的多个认证码的其中一个认证码一致,是则确定认证成功,将认证成功信息作为认证结果,否则确定认证失败,将认证失败信息作为认证结果。
认证模块605,具体用于判断接收到的验证响应码是否与生成的认证码一致,是则确定认证成功,将认证成功信息作为认证结果,否则确定认证失败,将认证失败信息作为认证结果。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明公开的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (44)
1.一种进行安全认证的方法,其特征在于,应用于包括应用程序、应用系统和认证系统的系统中,所述应用程序安装在用户的移动终端中,所述方法包括:
步骤S1:当所述应用系统接收到安全认证请求时,所述应用系统向所述认证系统发送请求信息;
步骤S2:所述认证系统接收所述请求信息,生成与所述请求信息中的用户信息对应的验证请求码并保存,获取与所述用户的移动终端对应的通信标识,根据预设号码和所述通信标识向所述用户的移动终端发送所述验证请求码;
步骤S3:所述应用程序获取所述验证请求码,按照认证算法根据所述验证请求码和所述应用程序中的初始密钥信息生成验证响应码,显示所述验证响应码;
步骤S4:所述认证系统接收所述验证响应码,根据所述通信标识获取对应的所述验证请求码和所述认证系统中的初始密钥信息,按照认证算法根据所述验证请求码和所述认证系统中的初始密钥信息生成认证码,根据所述认证码对所述验证响应码进行认证,向所述应用系统发送认证结果;
步骤S5:所述应用系统接收所述认证结果,根据所述认证结果判断是否认证成功,是则确定安全认证成功,否则确定安全认证失败,结束。
2.根据权利要求1所述的方法,其特征在于,所述认证系统生成与所述请求信息中的用户信息对应的验证请求码并保存,具体为:所述认证系统生成一个随机数作为验证请求码,将生成的所述验证请求码与所述请求信息中的用户信息对应存储;
或者,所述认证系统生成一个随机数,根据所述随机数、所述用户信息对应的账号和/或初始密钥信息计算得到验证请求码,将生成的所述验证请求码与所述请求信息中的用户信息对应存储。
3.根据权利要求1所述的方法,其特征在于,所述向所述用户的移动终端发送所述验证请求码,具体为:所述认证系统根据预设号码和所述通信标识向所述用户的手机发送包含所述验证请求码的短信。
4.根据权利要求3所述的方法,其特征在于,所述获取所述验证请求码,具体为:所述应用程序检测所述用户的手机中的短信,当检测到所述短信为预设号码向所述用户手机发送的短信时,读取所述短信,获取所述短信中的验证请求码。
5.根据权利要求4所述的方法,其特征在于,所述应用程序检测用户手机中的短信,当检测到所述短信为预设号码向所述用户手机发送的短信时,读取所述短信,获取所述短信中的验证请求码,包括:
所述应用程序在配置文件中注册广播接收器,设置所述广播接收器的优先级,并将权限设置为允许所述应用程序监控短信,所述应用程序等待接收操作系统发送的消息,执行以下步骤:
步骤A1:当所述应用程序接收到操作系统发送的消息时,所述应用程序对消息的类型进行判断,若是短信消息则执行步骤A2,若是其他消息则返回步骤A1;
步骤A2:所述应用程序获取短信列表,判断所述短信列表是否不为空,是则执行步骤A3,否则提示错误,结束;
步骤A3:所述应用程序从所述短信列表中获取第一条短信作为当前短信;
步骤A4:所述应用程序获取当前短信的发送者号码;
步骤A5:所述应用程序判断当前短信的发送者号码是否与所述预设号码一致,是则执行步骤A7,否则执行步骤A6;
步骤A6:所述应用程序判断当前短信之后是否还存在其他短信,是则获取当前短信的下一条短信作为当前短信,返回步骤A4;否则,提示错误,结束;
步骤A7:所述应用程序获取当前短信的内容,根据当前短信的内容更新当前数据;
步骤A8:所述应用程序判断当前数据是否符合预设格式,是则执行步骤A9,否则执行步骤A6;
步骤A9:所述应用程序判断当前数据是否完整,是则执行步骤A10,否则返回步骤A6;
步骤A10:所述应用程序根据预设标识在当前数据中获取所述验证请求码。
6.根据权利要求4所述的方法,其特征在于,所述应用程序检测用户手机中的短信,当检测到所述短信为预设号码向所述用户手机发送的短信时,读取所述短信,获取所述短信中的验证请求码,包括:
所述应用程序在操作系统中注册回调函数;所述应用程序中的回调函数等待被所述操作系统调用,执行以下步骤:
步骤B1:当所述应用程序中的回调函数被所述操作系统调用时,所述应用程序通过所述回调函数对函数参数中的消息类型进行判断,若是短信消息则执行步骤B2,若是其他消息类型则返回步骤B1;
步骤B2:所述应用程序通过所述回调函数获取短信中心对象,从所述短信中心对象中获取短信条数;
步骤B3:所述应用程序通过所述回调函数判断获取到的所述短信条数是否有效,是则执行步骤B4,否则提示错误,结束;
步骤B4:所述应用程序通过所述回调函数将函数参数中的短信内容读取到短信数组中,在所述短信数组中获取第一条短信内容作为当前短信;
步骤B5:所述应用程序通过所述回调函数获取当前短信的发送者号码;
步骤B6:所述应用程序通过所述回调函数判断当前短信的发送者号码是否与所述预设号码一致,是则根据当前短信更新当前数据,执行步骤B8,否则执行步骤B7;
步骤B7:所述应用程序通过所述回调函数判断在所述短信数组中当前短信之后是否还存在其他短信内容,是则获取当前短信的下一条短信内容作为当前短信,返回步骤B5;否则,提示错误,结束;
步骤B8:所述应用程序通过所述回调函数判断当前数据是否符合预设格式,是则执行步骤B9,否则执行步骤B7;
步骤B9:所述应用程序通过所述回调函数判断当前数据是否完整,是则执行步骤B10,否则返回步骤B7;
步骤B10:所述应用程序通过所述回调函数根据预设标识在当前数据中获取验证请求码。
7.根据权利要求1所述的方法,其特征在于,所述获取所述验证请求码,具体为:所述应用程序通过按键接收用户手动输入的验证请求码。
8.根据权利要求1所述的方法,其特征在于,所述步骤S2中所述认证系统获取与所述用户的移动终端对应的通信标识,根据预设号码和所述通信标识向所述用户的移动终端发送所述验证请求码,具体为:所述认证系统向所述应用系统发送所述验证请求码;所述应用系统接收所述验证请求码,获取与所述用户的移动终端对应的通信标识,根据预设号码和与所述通信标识向所述用户的移动终端发送所述验证请求码;
所述步骤S3之后还包括:所述应用程序向所述应用系统发送验证响应码;当所述应用系统接收到所述验证响应码时,向所述认证系统发送用户信息和所述验证响应码。
9.根据权利要求1所述的方法,其特征在于,所述应用程序按照认证算法根据所述验证请求码和所述应用程序中的初始密钥信息生成验证响应码,具体为:所述应用程序根据当前应用程序时间、应用程序认证次数中的一种或多种,与所述验证请求码进行结合得到应用程序的结合数据,按照所述认证算法根据所述应用程序的结合数据和应用程序中的初始密钥信息生成所述验证响应码;
当所述应用程序认证次数参与计算生成所述验证响应码时,所述应用程序在生成所述验证响应码后更新所述应用程序认证次数;
所述认证系统按照认证算法根据所述验证请求码和所述认证系统中的初始密钥信息生成认证码,具体为:所述认证系统根据当前认证系统时间、认证系统认证次数中的一种或多种,与所述验证请求码进行结合得到认证系统的结合数据,按照所述认证算法根据所述认证系统的结合数据和认证系统中与所述用户信息对应的初始密钥信息生成认证码;
所述认证系统在生成所述多个认证码后更新所述认证系统认证次数。
10.根据权利要求9所述的方法,其特征在于,所述当所述认证系统认证次数参与计算生成所述认证码时,所述认证系统以所述认证系统认证次数为基准,在预设范围内得到多个认证系统认证次数,再根据多个认证系统认证次数得到多个认证码;
所述认证系统根据所述认证码对所述验证响应码进行认证,向所述应用系统发送认证结果,具体为:所述认证系统判断接收到的所述验证响应码是否与生成的多个认证码的其中一个认证码一致,是则确定认证成功,将认证成功信息作为认证结果发送给所述应用系统,否则确定认证失败,将认证失败信息作为认证结果发送给所述应用系统。
11.根据权利要求1所述的方法,其特征在于,所述认证系统根据所述认证码对所述验证响应码进行认证,向所述应用系统发送认证结果,具体为:所述认证系统判断接收到的所述验证响应码是否与生成的所述认证码一致,是则确定认证成功,将认证成功信息作为认证结果发送给所述应用系统,否则确定认证失败,将认证失败信息作为认证结果发送给所述应用系统。
12.一种进行安全认证的方法,其特征在于,应用于包括应用程序、应用系统和认证系统的系统中,所述应用程序安装在用户的移动终端中,所述方法包括:
步骤T1:当所述应用系统接收到安全认证请求时,所述应用系统向所述认证系统发送请求信息和交易信息;
步骤T2:所述认证系统接收所述请求信息和交易信息,生成与所述请求信息中的用户信息对应的验证请求码并保存,获取与所述用户的移动终端对应的通信标识,根据预设号码和所述通信标识向所述用户的移动终端发送所述验证请求码和所述交易信息;
步骤T3:所述应用程序获取验证请求码和交易信息,按照认证算法根据所述验证请求码、所述交易信息和所述应用程序中的初始密钥信息生成验证响应码,显示所述验证响应码;
步骤T4:所述认证系统接收所述验证响应码,根据所述通信标识获取对应的所述验证请求码和所述认证系统中的初始密钥信息,按照认证算法根据所述验证请求码、所述交易信息和所述认证系统中的初始密钥信息生成认证码,根据所述认证码对所述验证响应码进行认证,向所述应用系统发送认证结果;
步骤T5:所述应用系统接收所述认证结果,根据所述认证结果判断是否认证成功,是则确定安全认证成功,否则确定安全认证失败,结束。
13.根据权利要求12所述的方法,其特征在于,所述认证系统生成与所述请求信息中的用户信息对应的验证请求码并保存,具体为:所述认证系统生成一个随机数作为验证请求码,将生成的所述验证请求码与所述请求信息中的用户信息对应存储;
或者,所述认证系统生成一个随机数,根据所述随机数、所述用户信息对应的账号和/或初始密钥信息计算得到验证请求码,将生成的所述验证请求码与所述请求信息中的用户信息对应存储。
14.根据权利要求12所述的方法,其特征在于,所述向所述用户的移动终端发送所述验证请求码和所述交易信息,具体为:所述认证系统根据预设号码和所述通信标识向所述用户的手机发送包含所述验证请求码和所述交易信息的短信。
15.根据权利要求14所述的方法,其特征在于,所述获取所述验证请求码,具体为:所述应用程序检测所述用户的手机中的短信,当检测到所述短信为预设号码向所述用户手机发送的短信时,读取所述短信,获取所述短信中的验证请求码。
16.根据权利要求15所述的方法,其特征在于,所述应用程序检测用户手机中的短信,当检测到所述短信为预设号码向所述用户手机发送的短信时,读取所述短信,获取所述短信中的验证请求码,包括:
所述应用程序在配置文件中注册广播接收器,设置所述广播接收器的优先级,并将权限设置为允许所述应用程序监控短信;所述应用程序等待接收操作系统发送的消息,执行以下步骤:
步骤C1:当所述应用程序接收到操作系统发送的消息时,所述应用程序对消息类型进行判断,若是短信消息则执行步骤C2,若是其他消息则返回步骤C1;
步骤C2:所述应用程序获取短信列表,判断所述短信列表是否不为空,是则执行步骤C3,否则提示错误,结束;
步骤C3:所述应用程序从所述短信列表中获取第一条短信作为当前短信;
步骤C4:所述应用程序通过获取当前短信的发送者号码;
步骤C5:所述应用程序判断当前短信的发送者号码是否与所述预设号码一致,是则执行步骤C7,否则执行步骤C6;
步骤C6:所述应用程序判断当前短信之后是否还存在其他短信,是则获取当前短信的下一条短信作为当前短信,返回步骤C4;否则,提示错误,结束;
步骤C7:所述应用程序获取当前短信的内容作为预设号码向用户手机发送的短信;
步骤C8:所述应用程序判断所述预设号码向用户手机发送的短信是否符合预设格式,是则执行步骤C9,否则执行步骤C6;
步骤C9:所述应用程序根据预设标识在所述短信中获取所述验证请求码。
17.根据权利要求15所述的方法,其特征在于,所述应用程序检测用户手机中的短信,当检测到所述短信为预设号码向所述用户手机发送的短信时,读取所述短信,获取所述短信中的验证请求码,包括:
所述应用程序在操作系统中注册回调函数;所述应用程序中的回调函数等待被所述操作系统调用,执行以下步骤:
步骤D1:当所述应用程序中的回调函数被所述操作系统调用时,所述应用程序通过所述回调函数对函数参数中的消息类型进行判断,若是短信消息则执行步骤D2,若是其他消息类型则返回步骤D1;
步骤D2:所述应用程序通过所述回调函数获取短信中心对象,从所述短信中心对象中获取短信条数;
步骤D3:所述应用程序通过所述回调函数判断获取到的所述短信条数是否为有效,是则执行步骤D4,否则提示错误,结束;
步骤D4:所述应用程序通过所述回调函数将函数参数中的短信内容读取到短信数组中,在所述短信数组中获取第一条短信内容作为当前短信;
步骤D5:所述应用程序通过所述回调函数获取当前短信的发送者号码;
步骤D6:所述应用程序通过所述回调函数判断当前短信的发送者号码是否与所述预设号码一致,是则确定当前短信为所述预设号码向用户手机发送的短信,执行步骤D8,否则执行步骤D7;
步骤D7:所述应用程序通过所述回调函数判断在所述短信数组中当前短信之后是否还存在其他短信内容,是则获取当前短信的下一条短信内容作为当前短信,返回步骤D5;否则,提示错误,结束;
步骤D8:所述应用程序通过所述回调函数判断所述预设号码向用户手机发送的短信是否符合预设格式,是则执行步骤D9,否则执行步骤D7;
步骤D9:所述应用程序通过所述回调函数根据预设标识在该短信中获取验证请求码。
18.根据权利要求12所述的方法,其特征在于,所述获取验证请求码,具体为:所述应用程序通过按键接收用户手动输入的验证请求码。
19.根据权利要求12所述的方法,其特征在于,所述步骤T2中所述认证系统获取与所述用户的移动终端对应的通信标识,根据预设号码和所述通信标识向所述用户的移动终端发送所述验证请求码和所述交易信息,具体为:所述认证系统向所述应用系统发送所述验证请求码;所述应用系统接收所述验证请求码,获取与所述用户的移动终端对应的通信标识,根据预设号码和与所述通信标识向所述用户的移动终端发送所述验证请求码和所述交易信息;
所述步骤T3之后还包括:所述应用程序向所述应用系统发送验证响应码;当所述应用系统接收到所述验证响应码时,向所述认证系统发送用户信息和所述验证响应码。
20.根据权利要求12所述的方法,其特征在于,所述应用程序按照认证算法根据所述验证请求码和所述应用程序中的初始密钥信息生成验证响应码,具体为:所述应用程序根据当前应用程序时间、所述交易信息、应用程序认证次数中的一种或多种,与所述验证请求码和所述交易信息进行结合得到应用程序的结合数据,按照所述认证算法根据所述应用程序的结合数据和应用程序中的初始密钥信息生成所述验证响应码;
当所述应用程序认证次数参与计算生成所述验证响应码时,所述应用程序在生成所述验证响应码后更新所述应用程序认证次数;
所述认证系统按照认证算法根据所述验证请求码和所述认证系统中的初始密钥信息生成认证码,具体为:所述认证系统根据当前认证系统时间、所述交易信息、认证系统认证次数中的一种或多种,与所述验证请求码和所述交易信息进行结合得到认证系统的结合数据,按照所述认证算法根据所述认证系统的结合数据和认证系统中与所述用户信息对应的初始密钥信息生成认证码;
所述认证系统在生成所述多个认证码后更新所述认证系统认证次数。
21.根据权利要求20所述的方法,其特征在于,所述当所述认证系统认证次数参与计算生成所述认证码时,所述认证系统以所述认证系统认证次数为基准,在预设范围内得到多个认证系统认证次数,再根据多个认证系统认证次数得到多个认证码;
所述认证系统根据所述认证码对所述验证响应码进行认证,向所述应用系统发送认证结果,具体为:所述认证系统判断接收到的所述验证响应码是否与生成的多个认证码的其中一个认证码一致,是则确定认证成功,将认证成功信息作为认证结果发送给所述应用系统,否则确定认证失败,将认证失败信息作为认证结果发送给所述应用系统。
22.根据权利要求12所述的方法,其特征在于,所述认证系统根据所述认证码对所述验证响应码进行认证,向所述应用系统发送认证结果,具体为:所述认证系统判断接收到的所述验证响应码是否与生成的所述认证码一致,是则确定认证成功,将认证成功信息作为认证结果发送给所述应用系统,否则确定认证失败,将认证失败信息作为认证结果发送给所述应用系统。
23.一种进行安全认证的系统,其特征在于,所述系统包括应用程序、应用系统和认证系统,所述应用程序安装在用户的移动终端中,所述应用系统包括:第一接收模块、第一发送模块和第一判断模块;
所述第一接收模块,用于接收安全认证请求;接收所述认证系统的认证结果;
所述第一发送模块,用于向所述认证系统发送请求信息;
所述第一判断模块,用于根据所述第一接收模块接收到的所述认证结果判断是否认证成功,是则确定安全认证成功,否则确定安全认证失败;
所述认证系统包括:第二接收模块、第一生成模块、第二发送模块、第三生成模块和认证模块;
所述第二接收模块,用于接收所述应用系统发送的所述请求信息;接收验证响应码;
所述第一生成模块,用于生成与所述第二接收模块接收到的所述请求信息中的用户信息对应的验证请求码并保存;
所述第二发送模块,用于在所述认证系统中获取与所述用户的移动终端对应的通信标识,根据预设号码和所述通信标识向所述用户的移动终端发送所述第一生成模块生成的所述验证请求码;向所述应用系统发送所述认证模块的认证结果;
所述第三生成模块,用于根据所述通信标识获取对应的所述验证请求码和所述认证系统中的初始密钥信息,按照认证算法根据所述验证请求码和所述认证系统中的初始密钥信息生成认证码;
所述认证模块,用于根据所述第三生成模块生成的所述认证码对所述第二接收模块接收到的所述验证响应码进行认证;
所述应用程序包括:第一获取模块、第二生成模块和显示模块;
所述第一获取模块,用于获取所述验证请求码;
所述第二生成模块,用于按照认证算法根据所述第一获取模块获取到的所述验证请求码和所述应用程序中的初始密钥信息生成验证响应码;
所述显示模块,用于显示所述第二生成模块生成的所述验证响应码。
24.根据权利要求23所述的系统,其特征在于,所述第一生成模块,具体用于生成一个随机数作为验证请求码,将生成的所述验证请求码与所述请求信息中的用户信息对应存储;
或者,所述第一生成模块具体用于生成一个随机数,根据所述随机数、所述用户信息对应的账号和/或初始密钥信息计算得到验证请求码,将生成的所述验证请求码与所述请求信息中的用户信息对应存储。
25.根据权利要求23所述的系统,其特征在于,所述第二发送模块,具体用于在所述认证系统中获取与所述用户的移动终端对应的通信标识,根据预设号码和所述通信标识向所述用户的移动终端发送包含所述第一生成模块生成的所述验证请求码的短信;向所述应用系统发送所述认证模块的认证结果。
26.根据权利要求25所述的系统,其特征在于,所述第一获取模块,具体用于检测所述用户的手机中的短信,当检测到所述短信为预设号码向所述用户手机发送的短信时,读取所述短信,获取所述短信中的验证请求码。
27.根据权利要求26所述的系统,其特征在于,所述第一获取模块包括:第一注册单元、第一判断单元、第二判断单元、第一获取单元、第二获取单元、第三判断单元、第四判断单元、第三获取单元、第五判断单元、第六判断单元和第四获取单元;
所述第一注册单元,用于在配置文件中注册广播接收器,设置所述广播接收器的优先级,并将权限设置为允许所述应用程序监控短信;
所述应用程序还包括第三接收模块,用于接收操作系统发送的消息;
所述第一判断单元,用于对所述第三接收模块接收到的所述消息的类型进行判断;
所述第二判断单元,用于当所述第一判断单元判断出所述消息为短信消息时,获取短信列表,判断所述短信列表是否不为空;
所述第一获取单元,用于当所述第二判断单元判断出所述短信列表不为空时,从所述短信列表中获取第一条短信作为当前短信;
所述第二获取单元,用于获取当前短信的发送者号码;
所述第三判断单元,用于判断所述第二获取单元获取到的当前短信的发送者号码是否与所述预设号码一致;
所述第四判断单元,用于当所述第三判断单元判断出当前短信的发送者号码与所述预设号码不一致时,判断当前短信之后是否还存在其他短信,是则获取当前短信的下一条短信作为当前短信;
所述第三获取单元,用于当所述第三判断单元判断出当前短信的发送者号码与所述预设号码一致时,获取当前短信的内容,根据当前短信的内容更新当前数据;
所述第五判断单元,用于判断所述第三获取单元得到的当前数据是否符合预设格式;
所述第六判断单元,用于当所述第五判断单元判断出当前数据符合预设格式时,判断当前数据是否完整;
所述第四获取单元,用于当所述第六判断单元判断出当前数据完整时,根据预设标识在当前数据中获取所述验证请求码。
28.根据权利要求26所述的系统,其特征在于,所述第一获取模块包括:第二注册单元、第七判断单元、第五获取单元、第八判断单元、第六获取单元、第七获取单元、第九判断单元、第十判断单元、第十一判断单元、第十二判断单元和第八获取单元;
所述第二注册单元,用于在操作系统中注册回调函数;
所述第七判断单元,用于当所述回调函数被所述操作系统调用时,通过所述回调函数对函数参数中的消息类型进行判断;
所述第五获取单元,用于当所述第七判断单元判断出所述消息类型为短信消息时,通过所述回调函数获取短信中心对象,从所述短信中心对象中获取短信条数;
所述第八判断单元,用于通过所述回调函数判断所述第五获取单元获取到的所述短信条数是否有效;
所述第六获取单元,用于当所述第八判断单元判断出所述短信条数有效时,通过所述回调函数将函数参数中的短信内容读取到短信数组中,在所述短信数组中获取第一条短信内容作为当前短信;
所述第七获取单元,用于通过所述回调函数获取当前短信的发送者号码;
所述第九判断单元,用于通过所述回调函数判断所述第七获取单元获取到的当前短信的发送者号码是否与所述预设号码一致,是则根据当前短信更新当前数据;
所述第十判断单元吗,用于当所述第九判断单元判断出当前短信的发送者号码与所述预设号码不一致时,通过所述回调函数判断在所述短信数组中当前短信之后是否还存在其他短信内容,是则获取当前短信的下一条短信内容作为当前短信;
所述第十一判断单元,用于当所述第九判断单元判断出当前短信的发送者号码与所述预设号码一致时,通过所述回调函数判断当前数据是否符合预设格式;
所述第十二判断单元,用于当所述第十一判断单元判断出当前数据符合预设格式时,通过所述回调函数判断当前数据是否完整;
所述第八获取单元,用于当所述第十二判断单元判断出当前数据完整时,通过所述回调函数根据预设标识在当前数据中获取验证请求码。
29.根据权利要求23所述的系统,其特征在于,所述第一获取模块,具体用于通过按键接收用户手动输入的验证请求码。
30.根据权利要求23所述的系统,其特征在于,所述第二发送模块,还用于向所述应用系统发送所述验证请求码;
所述第一接收模块,还用于接收所述第二发送模块发送的所述验证请求码;
所述第一发送模块,还用于获取与所述用户的移动终端对应的通信标识,根据预设号码和与所述通信标识向所述用户的移动终端发送所述验证请求码;
所述应用程序还包括第三发送模块,用于向所述应用系统发送验证响应码;
所述第一接收模块,还用于接收所述第三发送模块发送到所述验证响应码;
所述第一发送模块,还用于向所述认证系统发送用户信息和所述验证响应码。
31.根据权利要求23所述的系统,其特征在于,所述第二生成模块,具体用于根据当前应用程序时间、应用程序认证次数中的一种或多种,与所述验证请求码进行结合得到应用程序的结合数据,按照所述认证算法根据所述应用程序的结合数据和应用程序中的初始密钥信息生成所述验证响应码;
当所述应用程序认证次数参与计算生成所述验证响应码时,所述第二生成模块在生成所述验证响应码后,还用于更新所述应用程序认证次数;
所述第三生成模块,用于根据所述通信标识获取对应的所述验证请求码和所述认证系统中的初始密钥信息,根据当前认证系统时间、认证系统认证次数中的一种或多种,与所述验证请求码进行结合得到认证系统的结合数据,按照所述认证算法根据所述认证系统的结合数据和认证系统中与所述用户信息对应的初始密钥信息生成认证码;
所述第三生成模块在生成所述多个认证码后,还用于更新所述认证系统认证次数。
32.根据权利要31所述的系统,其特征在于,当所述认证系统认证次数参与计算生成所述认证码时,所述第三生成模块具体用于以所述认证系统认证次数为基准,在预设范围内得到多个认证系统认证次数,再根据多个认证系统认证次数得到多个认证码;
所述认证模块,具体用于判断接收到的所述验证响应码是否与生成的多个认证码的其中一个认证码一致,是则确定认证成功,将认证成功信息作为认证结果,否则确定认证失败,将认证失败信息作为认证结果。
33.根据权利要求23所述的系统,其特征在于,所述认证模块,具体用于判断接收到的所述验证响应码是否与生成的所述认证码一致,是则确定认证成功,将认证成功信息作为认证结果,否则确定认证失败,将认证失败信息作为认证结果。
34.一种进行安全认证的系统,其特征在于,所述系统包括应用程序、应用系统和认证系统,所述应用程序安装在用户的移动终端中,所述应用系统包括:第一接收模块、第一发送模块和第一判断模块;
所述第一接收模块,用于接收到安全认证请求;接收所述认证系统的认证结果;
所述第一发送模块,用于向所述认证系统发送请求信息和交易信息;
所述第一判断模块,用于根据所述第一接收模块接收到的所述认证结果判断是否认证成功,是则确定安全认证成功,否则确定安全认证失败;
所述认证系统包括:第二接收模块、第一生成模块、第二发送模块、第三生成模块和认证模块;
所述第二接收模块,用于接收所述应用系统发送的所述请求信息和交易信息;接收验证响应码;
所述第一生成模块,用于生成与所述第二接收模块接收到的所述请求信息中的用户信息对应的验证请求码并保存;
所述第二发送模块,用于在所述认证系统中获取与所述用户的移动终端对应的通信标识,根据预设号码和所述通信标识向所述用户的移动终端发送所述第一生成模块生成的所述验证请求码和所述交易信息;向所述应用系统发送所述认证模块的认证结果;
所述第三生成模块,用于根据所述通信标识获取对应的所述验证请求码和所述认证系统中的初始密钥信息,按照认证算法根据所述验证请求码、所述交易信息和所述认证系统中的初始密钥信息生成认证码;
所述认证模块,用于根据所述第三生成模块生成的所述认证码对所述第二接收模块接收到的所述验证响应码进行认证;
所述应用程序包括:第一获取模块、第二生成模块和显示模块;
所述第一获取模块,用于获取所述验证请求码;
所述第二生成模块,用于按照认证算法根据所述第一获取模块获取到的所述验证请求码、所述交易信息和所述应用程序中的初始密钥信息生成验证响应码;
所述显示模块,用于显示所述第二生成模块生成的所述验证响应码。
35.根据权利要求34所述的系统,其特征在于,所述第一生成模块,具体用于生成一个随机数作为验证请求码,将生成的所述验证请求码与所述请求信息中的用户信息对应存储;
或者,所述第一生成模块具体用于生成一个随机数,根据所述随机数、所述用户信息对应的账号和/或初始密钥信息计算得到验证请求码,将生成的所述验证请求码与所述请求信息中的用户信息对应存储。
36.根据权利要求34所述的系统,其特征在于,所述第二发送模块,具体用于在所述认证系统中获取与所述用户的移动终端对应的通信标识,根据预设号码和所述通信标识向所述用户的移动终端发送包含所述第一生成模块生成的所述验证请求码的短信;向所述应用系统发送所述认证模块的认证结果。
37.根据权利要求36所述的系统,其特征在于,所述第一获取模块,具体用于检测所述用户的手机中的短信,当检测到所述短信为预设号码向所述用户手机发送的短信时,读取所述短信,获取所述短信中的验证请求码。
38.根据权利要求37所述的系统,其特征在于,所述第一获取模块包括:第一注册单元、第一判断单元、第二判断单元、第一获取单元、第二获取单元、第三判断单元、第四判断单元、第三获取单元、第五判断单元、第六判断单元和第四获取单元;
所述第一注册单元,用于在配置文件中注册广播接收器,设置所述广播接收器的优先级,并将权限设置为允许所述应用程序监控短信;
所述应用程序还包括第三接收模块,用于接收操作系统发送的消息;
所述第一判断单元,用于对所述第三接收模块接收到的所述消息的类型进行判断;
所述第二判断单元,用于当所述第一判断单元判断出所述消息为短信消息时,获取短信列表,判断所述短信列表是否不为空;
所述第一获取单元,用于当所述第二判断单元判断出所述短信列表不为空时,从所述短信列表中获取第一条短信作为当前短信;
所述第二获取单元,用于获取当前短信的发送者号码;
所述第三判断单元,用于判断所述第二获取单元获取到的当前短信的发送者号码是否与所述预设号码一致;
所述第四判断单元,用于当所述第三判断单元判断出当前短信的发送者号码与所述预设号码不一致时,判断当前短信之后是否还存在其他短信,是则获取当前短信的下一条短信作为当前短信;
所述第三获取单元,用于当所述第三判断单元判断出当前短信的发送者号码与所述预设号码一致时,获取当前短信的内容,根据当前短信的内容更新当前数据;
所述第五判断单元,用于判断所述第三获取单元得到的当前数据是否符合预设格式;
所述第六判断单元,用于当所述第五判断单元判断出当前数据符合预设格式时,判断当前数据是否完整;
所述第四获取单元,用于当所述第六判断单元判断出当前数据完整时,根据预设标识在当前数据中获取所述验证请求码。
39.根据权利要求37所述的系统,其特征在于,所述第一获取模块包括:第二注册单元、第七判断单元、第五获取单元、第八判断单元、第六获取单元、第七获取单元、第九判断单元、第十判断单元、第十一判断单元、第十二判断单元和第八获取单元;
所述第二注册单元,用于在操作系统中注册回调函数;
所述第七判断单元,用于当所述回调函数被所述操作系统调用时,通过所述回调函数对函数参数中的消息类型进行判断;
所述第五获取单元,用于当所述第七判断单元判断出所述消息类型为短信消息时,通过所述回调函数获取短信中心对象,从所述短信中心对象中获取短信条数;
所述第八判断单元,用于通过所述回调函数判断所述第五获取单元获取到的所述短信条数是否有效;
所述第六获取单元,用于当所述第八判断单元判断出所述短信条数有效时,通过所述回调函数将函数参数中的短信内容读取到短信数组中,在所述短信数组中获取第一条短信内容作为当前短信;
所述第七获取单元,用于通过所述回调函数获取当前短信的发送者号码;
所述第九判断单元,用于通过所述回调函数判断所述第七获取单元获取到的当前短信的发送者号码是否与所述预设号码一致,是则根据当前短信更新当前数据;
所述第十判断单元吗,用于当所述第九判断单元判断出当前短信的发送者号码与所述预设号码不一致时,通过所述回调函数判断在所述短信数组中当前短信之后是否还存在其他短信内容,是则获取当前短信的下一条短信内容作为当前短信;
所述第十一判断单元,用于当所述第九判断单元判断出当前短信的发送者号码与所述预设号码一致时,通过所述回调函数判断当前数据是否符合预设格式;
所述第十二判断单元,用于当所述第十一判断单元判断出当前数据符合预设格式时,通过所述回调函数判断当前数据是否完整;
所述第八获取单元,用于当所述第十二判断单元判断出当前数据完整时,通过所述回调函数根据预设标识在当前数据中获取验证请求码。
40.根据权利要求34所述的系统,其特征在于,所述第一获取模块,具体用于通过按键接收用户手动输入的验证请求码。
41.根据权利要求34所述的系统,其特征在于,所述第二发送模块,还用于向所述应用系统发送所述验证请求码;
所述第一接收模块,还用于接收所述第二发送模块发送的所述验证请求码;
所述第一发送模块,还用于获取与所述用户的移动终端对应的通信标识,根据预设号码和与所述通信标识向所述用户的移动终端发送所述验证请求码和所述交易信息;
所述应用程序还包括第三发送模块,用于向所述应用系统发送验证响应码;
所述第一接收模块,还用于接收所述第三发送模块发送到所述验证响应码;
所述第一发送模块,还用于向所述认证系统发送用户信息和所述验证响应码。
42.根据权利要求34所述的系统,其特征在于,所述第二生成模块,具体用于根据当前应用程序时间、所述交易信息、应用程序认证次数中的一种或多种,与所述验证请求码和所述交易信息进行结合得到应用程序的结合数据,按照所述认证算法根据所述应用程序的结合数据和应用程序中的初始密钥信息生成所述验证响应码;
当所述应用程序认证次数参与计算生成所述验证响应码时,所述第二生成模块在生成所述验证响应码后,还用于更新所述应用程序认证次数;
所述第三生成模块,用于根据所述通信标识获取对应的所述验证请求码和所述认证系统中的初始密钥信息,根据当前认证系统时间、所述交易信息、认证系统认证次数中的一种或多种,与所述验证请求码和所述交易信息进行结合得到认证系统的结合数据,按照所述认证算法根据所述认证系统的结合数据和认证系统中与所述用户信息对应的初始密钥信息生成认证码;
所述第三生成模块在生成所述多个认证码后,还用于更新所述认证系统认证次数。
43.根据权利要42所述的系统,其特征在于,当所述认证系统认证次数参与计算生成所述认证码时,所述第三生成模块具体用于以所述认证系统认证次数为基准,在预设范围内得到多个认证系统认证次数,再根据多个认证系统认证次数得到多个认证码;
所述认证模块,具体用于判断接收到的所述验证响应码是否与生成的多个认证码的其中一个认证码一致,是则确定认证成功,将认证成功信息作为认证结果,否则确定认证失败,将认证失败信息作为认证结果。
44.根据权利要求34所述的系统,其特征在于,所述认证模块,具体用于判断接收到的所述验证响应码是否与生成的所述认证码一致,是则确定认证成功,将认证成功信息作为认证结果,否则确定认证失败,将认证失败信息作为认证结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510445593.7A CN105139204B (zh) | 2015-07-27 | 2015-07-27 | 一种进行安全认证的方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510445593.7A CN105139204B (zh) | 2015-07-27 | 2015-07-27 | 一种进行安全认证的方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105139204A true CN105139204A (zh) | 2015-12-09 |
CN105139204B CN105139204B (zh) | 2019-07-12 |
Family
ID=54724540
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510445593.7A Active CN105139204B (zh) | 2015-07-27 | 2015-07-27 | 一种进行安全认证的方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105139204B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106878324A (zh) * | 2017-03-15 | 2017-06-20 | 中国联合网络通信集团有限公司 | 短信认证方法、短信认证服务器及终端 |
CN106952370A (zh) * | 2017-03-16 | 2017-07-14 | 武汉世纪金桥安全技术有限公司 | 一种蓝牙智能锁密匙复合验证系统 |
CN108234125A (zh) * | 2016-12-21 | 2018-06-29 | 金联汇通信息技术有限公司 | 用于身份认证的系统和方法 |
CN108604338A (zh) * | 2016-02-01 | 2018-09-28 | 苹果公司 | 验证对安全装置功能性的在线访问 |
CN109446840A (zh) * | 2018-10-19 | 2019-03-08 | 平安科技(深圳)有限公司 | 查看保单信息的方法、装置、电子设备及存储介质 |
CN109560919A (zh) * | 2017-09-27 | 2019-04-02 | 华为技术有限公司 | 一种密钥衍生算法的协商方法及装置 |
CN109672654A (zh) * | 2017-10-17 | 2019-04-23 | 阿里巴巴集团控股有限公司 | 信息认证方法、装置、终端及服务器 |
CN110197409A (zh) * | 2018-02-26 | 2019-09-03 | 张藤耀 | 网络商城的身份验证方法 |
CN111859364A (zh) * | 2020-07-29 | 2020-10-30 | 杭州安恒信息技术股份有限公司 | 一种权限认证方法、装置、设备及存储介质 |
CN113612772A (zh) * | 2021-08-03 | 2021-11-05 | 深圳市闪联信息技术有限公司 | 一种大屏设备文件/应用加密访问的方法和系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102497358A (zh) * | 2011-11-30 | 2012-06-13 | 汉口银行股份有限公司 | 网上银行交易的方法 |
CN103368918A (zh) * | 2012-04-01 | 2013-10-23 | 西门子公司 | 一种动态口令认证方法、装置及系统 |
CN103618606A (zh) * | 2013-11-26 | 2014-03-05 | 觅林网络科技(上海)有限公司 | 通过短信验证的App登录方法 |
CN103840944A (zh) * | 2014-03-18 | 2014-06-04 | 昆明理工大学 | 一种短信认证方法、服务器及系统 |
CN104506534A (zh) * | 2014-12-25 | 2015-04-08 | 青岛微智慧信息有限公司 | 安全通信密钥协商交互方案 |
US20150140961A1 (en) * | 2006-08-25 | 2015-05-21 | At&T Mobility Ii Llc | Short Message Service Protocol Gateway |
-
2015
- 2015-07-27 CN CN201510445593.7A patent/CN105139204B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150140961A1 (en) * | 2006-08-25 | 2015-05-21 | At&T Mobility Ii Llc | Short Message Service Protocol Gateway |
CN102497358A (zh) * | 2011-11-30 | 2012-06-13 | 汉口银行股份有限公司 | 网上银行交易的方法 |
CN103368918A (zh) * | 2012-04-01 | 2013-10-23 | 西门子公司 | 一种动态口令认证方法、装置及系统 |
CN103618606A (zh) * | 2013-11-26 | 2014-03-05 | 觅林网络科技(上海)有限公司 | 通过短信验证的App登录方法 |
CN103840944A (zh) * | 2014-03-18 | 2014-06-04 | 昆明理工大学 | 一种短信认证方法、服务器及系统 |
CN104506534A (zh) * | 2014-12-25 | 2015-04-08 | 青岛微智慧信息有限公司 | 安全通信密钥协商交互方案 |
Non-Patent Citations (1)
Title |
---|
LUCKCHOUDOG: ""仿照支付宝等——自动获取短信中的验证码"", 《CSDN博客》 * |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12039525B2 (en) | 2016-02-01 | 2024-07-16 | Apple Inc. | Validating online access to secure device functionality |
CN108604338A (zh) * | 2016-02-01 | 2018-09-28 | 苹果公司 | 验证对安全装置功能性的在线访问 |
CN108604338B (zh) * | 2016-02-01 | 2021-11-26 | 苹果公司 | 验证对安全装置功能性的在线访问 |
US11107071B2 (en) | 2016-02-01 | 2021-08-31 | Apple Inc. | Validating online access to secure device functionality |
CN113962684A (zh) * | 2016-02-01 | 2022-01-21 | 苹果公司 | 验证对安全装置功能性的在线访问 |
CN108234125B (zh) * | 2016-12-21 | 2020-12-18 | 金联汇通信息技术有限公司 | 用于身份认证的系统和方法 |
CN108234125A (zh) * | 2016-12-21 | 2018-06-29 | 金联汇通信息技术有限公司 | 用于身份认证的系统和方法 |
CN106878324B (zh) * | 2017-03-15 | 2020-03-13 | 中国联合网络通信集团有限公司 | 短信认证方法、短信认证服务器及终端 |
CN106878324A (zh) * | 2017-03-15 | 2017-06-20 | 中国联合网络通信集团有限公司 | 短信认证方法、短信认证服务器及终端 |
CN106952370A (zh) * | 2017-03-16 | 2017-07-14 | 武汉世纪金桥安全技术有限公司 | 一种蓝牙智能锁密匙复合验证系统 |
CN109560919A (zh) * | 2017-09-27 | 2019-04-02 | 华为技术有限公司 | 一种密钥衍生算法的协商方法及装置 |
US11627458B2 (en) | 2017-09-27 | 2023-04-11 | Huawei Technologies Co., Ltd. | Key derivation algorithm negotiation method and apparatus |
CN109672654A (zh) * | 2017-10-17 | 2019-04-23 | 阿里巴巴集团控股有限公司 | 信息认证方法、装置、终端及服务器 |
CN110197409A (zh) * | 2018-02-26 | 2019-09-03 | 张藤耀 | 网络商城的身份验证方法 |
CN109446840A (zh) * | 2018-10-19 | 2019-03-08 | 平安科技(深圳)有限公司 | 查看保单信息的方法、装置、电子设备及存储介质 |
CN111859364A (zh) * | 2020-07-29 | 2020-10-30 | 杭州安恒信息技术股份有限公司 | 一种权限认证方法、装置、设备及存储介质 |
CN113612772A (zh) * | 2021-08-03 | 2021-11-05 | 深圳市闪联信息技术有限公司 | 一种大屏设备文件/应用加密访问的方法和系统 |
CN113612772B (zh) * | 2021-08-03 | 2023-07-25 | 深圳市闪联信息技术有限公司 | 一种大屏设备文件/应用加密访问的方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN105139204B (zh) | 2019-07-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105139204A (zh) | 一种进行安全认证的方法和系统 | |
CN103067402B (zh) | 数字证书的生成方法和系统 | |
CN105554037A (zh) | 身份认证处理方法及服务平台 | |
CN103795545A (zh) | 一种安全通信的方法和系统 | |
CN102056077B (zh) | 一种通过密钥进行智能卡应用的方法和装置 | |
CN104348802A (zh) | 快速注册方法、装置、系统及手机、注册服务器 | |
WO2010057405A1 (zh) | 利用短信息进行身份认证的方法 | |
CN110247897B (zh) | 一种系统登录方法、设备、网关及计算机可读存储介质 | |
CN107113320B (zh) | 一种下载签约文件的方法、相关设备及系统 | |
CN105072616A (zh) | 刷机rom的验证方法和刷机rom的验证装置 | |
CN111131323A (zh) | 报文的传输方法及相关装置 | |
CN107318100B (zh) | 用于绑定手机号码的方法、装置及系统 | |
CN105577606B (zh) | 一种实现认证器注册的方法和装置 | |
KR20120061022A (ko) | 데이터 통신망을 이용한 음성 통화망의 발신자 인증 방법 및 시스템과 이를 위한 발신측 장치, 착신 단말 및 프로그램 | |
CN110324824B (zh) | 副卡添加方法、用户终端和区块链网络系统 | |
CN112329000A (zh) | 设备校验方法、主控设备、被控设备及可读存储介质 | |
CN115664669B (zh) | 金融设备认证方法、取款机、外接设备及存储介质 | |
CN103108316A (zh) | 空中写卡认证方法、装置和系统 | |
CN102045670A (zh) | 传输短消息的方法、服务器及智能卡 | |
CN104917763A (zh) | 一种pin码缓存方法 | |
CN114449520A (zh) | 一种银行流水的远程获得方法及装置 | |
CN110399714B (zh) | 用于验证终端的可信用户界面真实性的方法及其系统 | |
CN110298654B (zh) | 基于5g网络的手机支付方法和系统 | |
CN103108317A (zh) | 一种安全写卡的方法 | |
CN109429226B (zh) | 一种临时用户凭证的生成方法、用户卡、终端及网络设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |