[go: up one dir, main page]

CN105429928A - 数据通信方法和系统及客户端和服务器 - Google Patents

数据通信方法和系统及客户端和服务器 Download PDF

Info

Publication number
CN105429928A
CN105429928A CN201410239154.6A CN201410239154A CN105429928A CN 105429928 A CN105429928 A CN 105429928A CN 201410239154 A CN201410239154 A CN 201410239154A CN 105429928 A CN105429928 A CN 105429928A
Authority
CN
China
Prior art keywords
data
code
server
bit
client
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.)
Pending
Application number
CN201410239154.6A
Other languages
English (en)
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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201410239154.6A priority Critical patent/CN105429928A/zh
Priority to TW103134016A priority patent/TWI668586B/zh
Priority to US14/724,632 priority patent/US9807103B2/en
Priority to KR1020167032649A priority patent/KR20170013231A/ko
Priority to PCT/US2015/033034 priority patent/WO2015184171A1/en
Priority to JP2016566986A priority patent/JP6682453B2/ja
Publication of CN105429928A publication Critical patent/CN105429928A/zh
Priority to HK16109241.0A priority patent/HK1221347A1/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/42User authentication using separate channels for security data
    • G06F21/43User authentication using separate channels for security data wireless channels
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/10Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
    • G06Q20/108Remote banking, e.g. home banking
    • G06Q20/1085Remote banking, e.g. home banking involving automatic teller machines [ATMs]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/20Point-of-sale [POS] network systems
    • G06Q20/202Interconnection or interaction of plural electronic cash registers [ECR] or to host computer, e.g. network details, transfer of information from host to ECR or from ECR to ECR
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/20Point-of-sale [POS] network systems
    • G06Q20/206Point-of-sale [POS] network systems comprising security or operator identification provisions, e.g. password entry
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/385Payment protocols; Details thereof using an alias or single-use codes
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/42Confirmation, e.g. check or permission by the legal debtor of payment
    • G06Q20/425Confirmation, e.g. check or permission by the legal debtor of payment using two different networks, one for transaction and one for security confirmation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • H04L63/0838Network architectures or network communication protocols for network security for authentication of entities using passwords using one-time-passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Computer Security & Cryptography (AREA)
  • Finance (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Signal Processing (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Software Systems (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Information Transfer Between Computers (AREA)
  • Cash Registers Or Receiving Machines (AREA)
  • Computer And Data Communications (AREA)

Abstract

本申请实施方式公开了一种数据通信方法和系统及客户端和服务器。数据通信方法包括:客户端向服务器发出通信请求;所述服务器响应所述通信请求,按照第一预设规则产生至少一个位码,所述服务器将附带有所述至少一个位码的信息发送给所述客户端;所述客户端产生数量与所述至少一个位码对应的至少一个输入框;所述客户端将所述至少一个输入框的数据作为至少一个验证数据发送给所述服务器;所述服务器将所述至少一个位码中每个所述位码对应的位数据和验证数据进行比对,所述至少一个位码中每个所述位码对应的位数据和验证数据均相同时,所述服务器向所述客户端发出成功信息码。本申请可以提升密码安全,降低密码被破解的风险。

Description

数据通信方法和系统及客户端和服务器
技术领域
本申请涉及数据通信领域,特别涉及一种数据通信方法与系统及客户端和服务器。
背景技术
现实生活中,很多场合均需要采用密码验证的方式确认用户的身份。具体的,举例为:用户登陆网站、在商场消费、在银行或ATM取款机取款等。用户会首先在网站进行注册,或者到一家银行进行开户。在注册或者开户时,用户会设置用户名和密码,用于后续确认身份。在完成注册或开户之后,用户便可以利用用户名和密码登陆网站,利用网络银行进行购物,或者使用银行卡在银行或ATM取款机取款等。
现有网站和银行的系统均为要求用户输入完整的账户和密码,系统会进一步将终端提供的账号和密码与自身存储的账号和密码进行匹配,在用户输入的账号和密码与自身存储的账号和密码相同时,会认为当前终端登录账户成功,允许当前终端进一步访问系统内的对该账户开放权限的数据。然而现有的系统存在一定的安全风险,由于现有系统要求完整的账号和密码,使得在通信过程中,密码存在被破解的风险,可能给用户带来经济损失。具体的,举例为:在用户登陆网站的账户名称或银行账户号被不法分子获得之后,不法分子可能使用密码破解软件,不断的向网站的服务器发出登陆请求,每个登陆请求都采用不同的密码,如此进行遍历的方式破解用户的密码,由于现有的网站每次要求输入的密码不会发生变化,使得现有的密码较易于被破解。一旦被破解,可能导致用户在购物网站预存的金额被盗用,或用户网络银行的账号和密码等信息泄露,导致用户的资产可能被不法分子转移。
发明内容
本申请实施方式的目的是提供一种能够减小用户的密码被破解的风险的数据通信方法和系统及客户端和服务器。
为解决上述技术问题,本申请提供一种数据通信方法,其包括:客户端向服务器发出通信请求;所述服务器响应所述通信请求,按照第一预设规则产生至少一个位码,所述服务器将附带有所述至少一个位码的信息发送给所述客户端;所述客户端产生数量与所述至少一个位码对应的至少一个输入框,侦测所述至少一个输入框的输入事件,在发生输入事件时获取所述至少一个输入框的数据;所述客户端将所述至少一个输入框的数据作为至少一个验证数据发送给所述服务器;所述服务器从所述预设数据中获取所述至少一个位码对应的至少一个位数据;所述服务器将所述至少一个位码中每个所述位码对应的位数据和验证数据进行比对,所述至少一个位码中每个所述位码对应的位数据和验证数据均相同时,所述服务器向所述客户端发出成功信息码。
本申请还提供一种数据通信系统,所述数据通信系统包括客户端和服务器,所述客户端包括:请求发送模块,用于向所述服务器发出通信请求;位码接收模块,用于接收所述服务器发出的附带有至少一个位码的信息;输入模块,用于产生数量与所述至少一个位码对应的至少一个输入框,侦测所述至少一个输入框的输入事件,在发生输入事件时获取所述至少一个输入框的数据;验证数据发送模块,用于将所述至少一个输入框的数据作为至少一个验证数据发送给所述服务器;所述服务器包括:请求接收模块,用于接收所述客户端发出的所述通信请求;响应模块,用于响应所述通信请求,按照第一预设规则产生至少一个位码,将附带有所述至少一个位码的信息发送给所述客户端;验证数据接收模块,用于接收所述客户端发出的至少一个验证数据;比对模块,用于将所述至少一个位码对应的所述预设数据中的位数据和验证数据进行比对,所述至少一个位码对应的位数据和验证数据相同时,向所述客户端发出成功信息码。
本申请还提供一种数据通信方法,所述数据通信方法包括:向服务器发出通信请求;接收所述服务器发送的信息,获取所述信息附带的至少一个位码;产生数量与所述至少一个位码对应的至少一个输入框,侦测所述至少一个输入框的输入事件,在发生输入事件时获取所述至少一个输入框的数据;将所述至少一个输入框的数据作为至少一个验证数据发送给所述服务器。
本申请还提供一种客户端,所述客户端包括:请求发送模块,用于向服务器发出通信请求;位码接收模块,用于接收所述服务器发出的附带有至少一个位码的信息;输入模块,用于产生数量与所述至少一个位码对应的至少一个输入框,侦测所述至少一个输入框的输入事件,在发生输入事件时获取所述至少一个输入框的数据;验证数据发送模块,用于将所述至少一个输入框的数据作为至少一个验证数据发送给所述服务器。
本申请还提供一种数据通信方法,所述方法包括:接收客户端发出的通信请求;响应通信请求,按照第一预设规则产生至少一个位码,将附带有所述至少一个位码的信息发送给所述客户端;接收客户端发出的至少一个验证数据;从所述预设数据中获取所述至少一个位码对应的至少一个位数据;将所述至少一个位码对应的所述预设数据中的位数据和验证数据进行比对,所述至少一个位码中每个所述位码对应的位数据和验证数据相同时,向所述客户端发出成功信息码。
本申请还提供一种服务器,所述服务器包括:请求接收模块,用于接收客户端发出的通信请求;响应模块,用于响应所述通信请求,按照第一预设规则产生至少一个位码,将附带有所述至少一个位码的信息发送给所述客户端;验证数据接收模块,用于接收客户端发出的至少一个验证数据;比对模块,用于将所述至少一个位码对应的所述预设数据中的位数据和验证数据进行比对,所述至少一个位码对应的位数据和验证数据相同时,向所述客户端发出成功信息码。
由以上本申请实施方式提供的技术方案可见,本申请通过预设规则使用户在进行验证身份的过程中,输入预设数据中指定的几个数位的数据,用户每次进行验证身份时,要求用户输入的内容可以发生变化,如此实现保障用户的密码安全,降低了密码被破解的风险。
附图说明
为了更清楚地说明本申请实施方式或现有技术中的技术方案,下面将对实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请一个实施方式提供的数据通信方法的流程图;
图2为本申请一个实施方式提供的数据通信方法的流程图;
图3为本申请一个实施方式提供的数据通信系统的模块图;
图4为本申请一个实施方式提供的数据通信方法的流程图;
图5为本申请一个实施方式提供的客户端的模块图;
图6为本申请一个实施方式提供的数据通信方法的流程图;
图7为本申请一个实施方式提供的数据通信方法的流程图;
图8为本申请一个实施方式提供的服务器的模块图。
具体实施方式
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施方式中的附图,对本申请实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式仅仅是本申请一部分实施方式,而不是全部的实施方式。基于本申请中的实施方式,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施方式,都应当属于本申请保护的范围。
请参阅图1,为本申请的一个实施方式提供的数据通信方法,其包括如下步骤。
步骤S10:客户端向服务器发出通信请求。
在本实施方式中,客户端可以是用户的个人电脑、商场的刷卡机或ATM取款机,也可以是运行在上述硬件的软件。所述服务器可以是网站的服务器或银行的服务器。
在本实施方式中,客户端向服务器发出通信请求,表示可能存在用户通过客户端登陆服务器,查阅、编辑或使用服务器中对应所述用户保存的数据。具体的,举例为:用户通过个人电脑登陆某网站;用户使用银行卡在某商场消费;用户使用银行卡在ATM取款机或存/取款机中提取现金;用户使用网络银行进行消费,或管理账户等等。
在本实施方式中,通信请求可以是字符组成的字符串,用于表示客户端请求与服务器建立通信,在该通信的基础上,客户端可以访问服务器中存储的数据。触发发出通信请求的事件可以包括:用户登录网站时点击登录按钮;用户使用银行卡在刷卡设备上进行刷卡操作
步骤S20:所述服务器响应所述通信请求,按照第一预设规则产生至少一个位码,所述服务器将附带有所述至少一个位码的信息发送给所述客户端。
在本实施方式中,位码可以表示预设数据的数位的序号,预设数据的位码的排序方式可以从左至右,也可以从右至左。具体的,举例为:所述预设数据可以为754962,若所述位码的排序方式是从左至右,数字“7”的位码可以是1,数字“5”的位码可以是2,以此类推,数字“4”、“9”、“6”和“2”的位码分别为3、4、5和6;若所述位码的排序方式是从右至左,数字“2”的位码可以是1,数字“6”的位码可以是2,以此类推,数字“9”、“4”、“5”和“7”的位码分别是3、4、5和6。
在本实施方式中,预设数据预先设置存储在服务器中,用于在客户端与服务器建立通信过程中,作为秘钥使用,即客户端输入与服务器相同的预设数据时,客户端与服务器建立通信。预设数据可以是用户预先设置的密码,所述预设数据对应用户的账号或账户名保存,用户输入正确账号和密码、或账户名和密码可以访问服务器内的相关数据。具体的,举例为:预设数据可以是用户登录网站的密码,用户在网站的登录界面输入账户名和密码,即可登录网站,从而进一步的操作;预设数据可以是用户银行账户的密码,用户使用账号和密码、或账户名和密码可以在银行或ATM存取款机办理业务。在本实施方式中,预设数据的位数可以统一规定固定的数量。
在本实施方式中,第一预设规则用于产生至少一个位码,位码的数量和取值均小于或等于预设数据的位数。第一预设规则能够产生数量和取值均小于或等于预设数据的位数的数字。具体的,举例为:预设数据的位数为6,所述第一预设规则可以为每次随机的在1~6之间选择2个数字,该选中的两个数字作为位码。当然,在收到通信请求之后,产生的至少一个位码的数量并不限于2个,也可以为1个、3个、4个、5个或6个,只要至少一个位码的数量小于或等于预设数据的位数即可。
步骤S30:所述客户端产生数量与所述至少一个位码对应的至少一个输入框,侦测所述至少一个输入框的输入事件,在发生输入事件时获取所述至少一个输入框的数据。
在本实施方式中,所述客户端接收所述至少一个位码之后,产生至少一个输入框。当用户向输入框输入数据,即为发生了输入事件。客户端侦测到输入事件之后,获取输入框内的数据。输入框可以是客户端中的一个控件。
在本实施方式中,在客户端可以给用户输入提示,即在每个输入框附近提示该输入框对应的位码。当用户知道预设数据时,可以按照提示输入位码对应的预设数据中的数据。客户端可以在至少一个输入框均发生输入事件之后,获取全部输入框的数据,也可以每当一个输入框发生输入事件,获取该输入框的数据。
步骤S40:所述客户端将所述至少一个输入框的数据作为至少一个验证数据发送给所述服务器。
在本实施方式中,客户端可以在全部输入框均发生了输入事件后,便将全部输入框的数据发送给服务器,也可以设置有按钮,在按钮被触发后将当前获取的数据发送给服务器。
在本实施方式中,客户端获取的输入框的数据作为验证数据,判断当前输入数据的用户是否有权限通过客户端访问服务器中的数据。由于客户端是对应至少一个位码产生了至少一个输入框,使得所述至少一个验证数据中的每个数据与所述至少一个位码中的一个位码相对应。
步骤S50:所述服务器从所述预设数据中获取所述至少一个位码对应的至少一个位数据。
在本实施方式中,服务器依照至少一个位码从预设数据中读取位码对应的位数据。具体的,举例为:所述预设数据可以为754962,位码的排序方式为从左至右,至少一个位码包括“1”和“4”,位码“1”对应位数据7,位码“4”对应位数据9。
步骤S60:所述服务器将所述至少一个位码中每个所述位码对应的位数据和验证数据进行比对,所述至少一个位码中每个所述位码对应的位数据和验证数据均相同时,所述服务器向所述客户端发出成功信息码。
在本实施方式中,服务器将每个位码对应的位数据和验证数据进行对比,验证数据与位数据均相同,表明当前用户有权限通过身份验证,或有权限登陆,或有权限访问服务器中的数据。当验证数据与位数据部分或全部不同时,表明验证数据时错误的,也表明当前用户没有权限通过份验证,或有没有权限登陆,或有没有权限访问服务器中的数据。
在本实施方式中,所述成功信息码可以是字符或字符串,其可以表示全部位码对应的位数据和验证数据均相同。当前客户端可以进一步访问服务器中的数据。具体的,举例为:用户通过电脑登陆网站,在电脑收到服务器的成功信息码之后,电脑会提示登陆成功,此时用户可以通过电脑进一步访问权限允许范围内的数据。用户登陆网络银行,在客户端收到成功信息码之后,用户便可以进行付款等操作。用户在ATM取款机取款,在ATM取款机收到成功信息码之后,用户便可以通过ATM取款机进行取款等操作。
本申请实施方式提供的客户端与服务器的数据通信方法,可以通过预设规则产生位码,使得在用户通过客户端登陆服务器时,只需要输入密码中与位码对应的位数据,如此在客户端与服务器交互的过程中,客户端每次要求输入的内容可以是不同的,增加了破解密码的难度,降低了密码被破解的风险。
在本申请的一个实施方式中,在步骤S20中:所述至少一个位码的数量和取值均小于预设数据的位数。
在本实施方式中,第一预设规则将预设数据的位数作为位码的数量和取值的上限值,即位码的数量和取值均小于预设数据的位数。第一预设规则可以包括随机函数,所述随机函数能够产生数量和取值均小于预设数据的位数的数字。具体的,举例为:预设数据的位数为6,所述第一预设规则可以为每次随机的在1~6之间选择数字,选择数字的数量可以为1个、2个、3个、4个或5个。本实施方式提供的数据通信方法,使得在客户端与服务器交互过程中,不会出现完整的密码,当用户错误访问钓鱼网站或客户端被植入木马时,不法分子也难以获得完整的密码,有效避免了完整密码的泄漏。
在本申请的一个实施方式中,在步骤S10中:所述通信请求附带有账户信息。
在步骤S20中:所述至少一个位码的数量和取值均小于所述账户信息对应的预设数据的位数。
在本实施方式中,所述账户信息可以包括账户名和账号或二者之一。在服务器中可以对应账户信息存储有预设数据。具体的,举例为:用户在一个网站的账户名为“taobaoyonghu”,在登录该网站时,可以首先收入上述账户名并提交给服务器,服务器接收到通信请求之后,获取所述账户名“taobaoyonghu”对应的预设数据的位数,产生相应的至少一个位码并进行后续的步骤。
请参阅图2,在本申请的一个实施方式中,所述数据通信方法还包括如下子步骤。
步骤S61:所述服务器按照第二预设规则产生的验证码,将所述验证码发送给预设终端。
在本实施方式中,第二预设规则用于产生验证码。第二预设规则可以为能够产生随机数的随机函数,该随机函数产生的随机数即为所述验证码。第二预设规则可以为能够产生二维码的二维码生成器,优选地其为动态二维码生成器,所述二维码或动态二维码即可以为验证码,所述第二预设规则每次产生的二维码或动态二维码不相同。第二预设规则还可以为能够产生条形码的条形码生成器,所述条形码可以为所述验证码,第二预设规则每次产生的条形码不同。
在本实施方式中,预设终端可以为用户的移动电话。用户可以预先在服务器中保存移动电话的号码,服务器可以将验证码以短信方式发送至所述移动电话。当然,预设终端还可以为软体,并安装在用户使用的设备上,该软体能够通过设备接收服务器发出的验证码。
步骤S63:所述客户端获取所述预设终端接收的所述验证码,将所述验证码作为待验证码发送给所述服务器。
在本实施方式中,客户端可以具有扫描装置,扫描预设终端的验证码,也可以为客户端提供输入框,供用户输入预设终端接收的验证码。具体的,举例为:客户端设置有扫描装置,客户端扫描预设终端显示二维码或动态二维码或条形码之后,完成获取二维码或动态二维码或条形码,即完成获取验证码。当然,若验证码是随机数,客户端可以设置有输入框,用于接收用户输入所述随机数,如此使客户端获取验证码。还可以为,预设终端与客户端之间可以通信,例如使用蓝牙技术或红外技术,实现客户端从预设终端获取验证码。
在所述步骤S60中:所述服务器将所述至少一个位码中每个所述位码对应的位数据和验证数据进行比对,将所述待验证码与所述验证码进行比对,所述至少一个位码中每个所述位码对应的位数据和验证数据均相同并且所述待验证码与所述验证码相同时,所述服务器向所述客户端发出成功信息码。
在本实施方式中,服务器可以将所述至少一个位码中每个所述位码对应的位数据和验证数据进行比对,以及将待验证码和验证码进行比对。当所述至少一个位码中每个所述位码对应的位数据和验证数据均相同,并且待验证码和验证码也相同时,服务器才向客户端发出成功信息码。
在本实施方式中,所述客户端与服务器的数据通信方法在随机的位码对应的预设数据进行验证的基础上,增加了单次有效的验证码验证,如此极大的提高了客户端与服务器之间交互的安全性。提升了用户账户和密码的安全性,能够有效避免用户的密码泄漏,并且能够有效防止不法分子盗用用户的账户,避免不法分子冒充用户的身份登录服务器损害用户的利益。
在本申请的一个实施方式中,所述第一预设规则包括将所述预定数据中的至少一个数位设置为保留位,所述第一预设规则产生的所述至少一个位码不包括所述保留位的位码。
在本实施方式中,保留位的数量小于预定数据的位数。如此,使得预定数据中作为保留位的位码不会出现在提供给客户端的至少一个位码中。如此实现在客户端与服务器进行交互过程中,即使用户输入的账户和验证数据被多次拦截,但不法分子始终无法得到完整的预定数据。具体的,举例为:所述预设数据可以为754962,位码的排序方式为从左至右,保留位的位码是“5”和“6”,则第一预设规则在产生至少一个位码时,不会出现“5”和“6”,使得客户端与服务器的建立通信的过程中,不会出现输入预设数据中的6和2的情况,即使木马或钓鱼网站等多次获取客户端与服务器建立通信时的数据,也无法获知预定数据的第5位和第6位数据。所述预设数据可以用作为密码,本实施方式提供的客户端与服务器的数据通信方法,能够有效提升密码安全。
请参阅图3,本申请实施方式还提供一种数据通信系统100,包括客户端10和服务器12。在本实施方式中,客户端可以是用户的个人电脑、商场的刷卡机或ATM取款机,也可以是运行在上述硬件的软体。所述服务器可以是网站的服务器或银行的服务器。
客户端10包括:请求发送模块14、位码接收模块15、输入模块16和验证数据发送模块18。
请求发送模块14用于向服务器发出通信请求。
在本实施方式中,请求发送模块14向服务器发出通信请求,表示存在用户通过客户端登陆服务器,查阅、编辑或使用服务器中对应所述用户保存的数据。具体的,举例为:用户通过个人电脑登陆某网站;用户使用银行卡在某商场消费;用户使用银行卡在ATM取款机或存/取款机中提取现金;用户使用网络银行进行消费,或管理账户等等。
在本实施方式中,通信请求可以是字符组成的字符串,其代表客户端请求与服务器建立通信,在该通信的基础上,客户端可以访问服务器中存储的数据。
位码接收模块15,用于接收所述服务器发出的附带有至少一个位码的信息。
在本实施方式中,在本实施方式中,位码可以表示预设数据的数位的序号,预设数据的位码的排序方式可以从左至右,也可以从右至左。具体的,举例为:所述预设数据可以为754962,若所述位码的排序方式是从左至右,数字“7”的位码可以是1,数字“5”的位码可以是2,以此类推,数字“4”、“9”、“6”和“2”的位码分别为3、4、5和6;若所述位码的排序方式是从右至左,数字“2”的位码可以是1,数字“6”的位码可以是2,以此类推,数字“9”、“4”、“5”和“7”的位码分别是3、4、5和6。所述预设数据可以是用户预先设置的密码。
输入模块16用于产生数量与所述至少一个位码对应的至少一个输入框,侦测所述至少一个输入框的输入事件,在发生输入事件时获取所述至少一个输入框的数据。
在本实施方式中,所述客户端接收所述至少一个位码之后,输入模块16产生至少一个输入框。当用户向输入框输入数据,即为发生了输入事件。输入模块16侦测到输入事件之后,获取输入框内的数据。输入框可以是客户端中的一个控件。
在本实施方式中,输入模块16可以给用户输入提示,即在每个输入框附近提示该输入框对应的位码。当用户知道预设数据时,可以按照提示输入位码对应的预设数据中的数据。输入模块16可以在至少一个输入框均发生输入事件之后,获取全部输入框的数据,也可以每当一个输入框发生输入事件,获取该输入框的数据。
验证数据发送模块18用于将所述至少一个输入框的数据作为至少一个验证数据发送给所述服务器。
在本实施方式中,验证数据发送模块18可以在全部输入框均发生了输入事件后,便将全部输入框的数据发送给服务器,也可以设置有按钮,在按钮被触发后将当前获取的数据发送给服务器。
在本实施方式中,验证数据发送模块18将输入框的数据发送给服务器作为验证数据。验证数据用于服务器判断当前输入数据的用户是否有权限通过客户端访问服务器中的数据。由于输入模块16是对应至少一个位码产生了至少一个输入框,使得所述至少一个验证数据中的一个数据与所述至少一个位码中的一个位码相对应。
服务器12包括:请求接收模块20、响应模块22、验证数据接收模块24和比对模块26。
请求接收模块20用于接收客户端发出的通信请求。
在本实施方式中,客户端向服务器发出通信请求,表示可能存在用户通过客户端登陆服务器,查阅、编辑或使用服务器中对应所述用户保存的数据。具体的,举例为:用户通过个人电脑登陆某网站;用户使用银行卡在某商场消费;用户使用银行卡在ATM取款机或存/取款机中提取现金;用户使用网络银行进行消费,或管理账户等等。
在本实施方式中,通信请求可以是字符组成的字符串,其代表客户端请求与服务器建立通信,在该通信的基础上,客户端可以访问服务器中存储的数据。
响应模块22用于响应通信请求,按照第一预设规则产生至少一个位码,将附带有所述至少一个位码的信息发送给所述客户端。
在本实施方式中,位码可以表示预设数据的数位的序号,预设数据的位码的排序方式可以从左至右,也可以从右至左。具体的,举例为:所述预设数据可以为754962,若所述位码的排序方式是从左至右,数字“7”的位码可以是1,数字“5”的位码可以是2,以此类推,数字“4”、“9”、“6”和“2”的位码分别为3、4、5和6;若所述位码的排序方式是从右至左,数字“2”的位码可以是1,数字“6”的位码可以是2,以此类推,数字“9”、“4”、“5”和“7”的位码分别是3、4、5和6。
在本实施方式中,预设数据为预先设置存储在服务器中,用于在客户端与服务器建立通信过程中,作为秘钥使用,即客户端输入与服务器相同的预设数据时,客户端与服务器建立通信。预设数据可以是用户预先设置的密码,所述预设数据对应用户的账号或账户名保存,用户输入正确账号和密码、或账户名和密码可以访问服务器内的相关数据。具体的,举例为:预设数据可以是用户登录网站的密码,用户在网站的登录界面输入账户名和密码,即可登录网站,从而进一步的操作;预设数据可以是用户银行账户的密码,用户使用账号和密码、或账户名和密码可以在银行或ATM存取款机办理业务。在本实施方式中,预设数据的位数可以统一规定固定的数量。
在本实施方式中,第一预设规则用于产生至少一个位码,位码的数量和取值均小于或等于预设数据的位数。第一预设规则能够产生数量和取值均小于或等于预设数据的位数的数字。具体的,举例为:预设数据的位数为6,所述第一预设规则可以为每次随机的在1~6之间选择2个数字,该选中的两个数字作为位码。当然,在收到通信请求之后,产生的至少一个位码的数量并不限于2个,也可以为1个、3个、4个、5个或6个,只要至少一个位码的数量小于或等于预设数据的位数即可。
验证数据接收模块24用于接收客户端发出的至少一个验证数据。
在本实施方式中,验证数据用于判断客户端是否有权限进一步访问服务器的数据。
比对模块26用于将所述至少一个位码对应的所述预设数据中的位数据和验证数据进行比对,所述至少一个位码对应的位数据和验证数据相同时,向所述客户端发出成功信息码。
在本实施方式中,服务器将每个位码对应的位数据和验证数据进行对比,验证数据与位数据均相同,表明当前用户有权限通过身份验证,或有权限登陆,或有权限访问服务器中的数据。当验证数据与位数据部分或全部不同时,表明验证数据时错误的,也表明当前用户没有权限通过份验证,或有没有权限登陆,或有没有权限访问服务器中的数据。
在本实施方式中,所述成功信息码可以是字符或字符串,其可以表示全部位码对应的位数据和验证数据均相同。当前客户端可以进一步访问服务器中的数据。具体的,举例为:用户通过电脑登陆网站,在电脑收到服务器的成功信息码之后,电脑会提示登陆成功,此时用户可以通过电脑进一步访问权限允许范围内的数据。用户登陆网络银行,在客户端收到成功信息码之后,用户便可以进行付款等操作。用户在ATM取款机取款,在ATM取款机收到成功信息码之后,用户便可以通过ATM取款机进行取款等操作。
请参阅图4,本申请实施方式还提供一种数据通信方法。所述数据通信方法包括如下步骤。
步骤S11:向服务器发出通信请求。
在本实施方式中,客户端向服务器发出通信请求,表示可能存在用户通过客户端登陆服务器,查阅、编辑或使用服务器中对应所述用户保存的数据。具体的,举例为:用户通过个人电脑登陆某网站;用户使用银行卡在某商场消费;用户使用银行卡在ATM取款机或存/取款机中提取现金;用户使用网络银行进行消费或管理账户等等。
在本实施方式中,通信请求可以是字符组成的字符串,其代表客户端请求与服务器建立通信,在该通信的基础上,客户端可以访问服务器中存储的数据。
步骤S31:接收所述服务器发送的信息,获取所述信息附带的至少一个位码。
步骤S33:产生数量与所述至少一个位码对应的至少一个输入框,侦测所述至少一个输入框的输入事件,在发生输入事件时获取所述至少一个输入框的数据。
在本实施方式中,客户端接收所述至少一个位码之后,产生至少一个输入框。当用户向输入框输入数据,即为发生了输入事件。客户端侦测到输入事件之后,获取输入框内的数据。输入框可以是客户端中的一个控件。
在本实施方式中,在客户端可以给用户输入提示,即在每个输入框附近提示该输入框对应的位码。当用户知道预设数据时,可以按照提示输入位码对应的预设数据中的数据。客户端可以在至少一个输入框均发生输入事件之后,获取全部输入框的数据,也可以每当一个输入框发生输入事件,获取该输入框的数据。
步骤S41:将所述至少一个输入框的数据作为至少一个验证数据发送给所述服务器。
在本实施方式中,客户端可以在全部输入框均发生了输入事件后,便将全部输入框的数据发送给服务器,也可以设置有按钮,在按钮被触发后将当前获取的数据发送给服务器。
在本实施方式中,客户端获取的输入框的数据作为验证数据,判断当前输入数据的用户是否有权限通过客户端访问服务器中的数据。由于客户端是对应至少一个位码产生了至少一个输入框,使得所述至少一个验证数据中的每个数据与所述至少一个位码中的一个位码相对应。
在本申请的一个实施方式中,在步骤S10中:所述通信请求附带有账户信息。在本实施方式中,所述账户信息可以包括账户名和账号或二者之一。在服务器中可以对应账户信息存储有预设数据。具体的,举例为:用户在一个网站的账户名为“taobaoyonghu”,在登录该网站时,可以首先收入上述账户名并提交给服务器,服务器接收到通信请求之后,获取所述账户名“taobaoyonghu”对应的预设数据的位数,产生相应的至少一个位码并进行后续的步骤。
在本申请的一个实施方式中,所述通信方法还包括:获取预设终端接收的验证码,将所述验证码作为待验证码发送给所述服务器。
在本实施方式中,客户端可以具有扫描装置,扫描预设终端的验证码,也可以为客户端提供输入框,供用户输入预设终端接收的验证码。具体的,举例为:验证码可以为数字、二维码、动态二维码或条形码。客户端设置有扫描装置,客户端扫描预设终端显示二维码或动态二维码或条形码之后,完成获取二维码或动态二维码或条形码,即完成获取验证码。当然,若验证码是随机数,客户端可以设置有输入框,用于接收用户输入所述随机数,如此使客户端获取验证码。还可以为,预设终端与客户端之间可以通信,例如使用蓝牙技术或红外技术,实现客户端从预设终端获取验证码。
在本实施方式中,预设终端可以为用户的移动电话。用户可以预先在服务器中保存移动电话的号码,服务器可以将验证码以短信方式发送至所述移动电话。当然,预设终端还可以为软体,并安装在用户使用的设备上,该软体能够通过设备接收服务器发出的验证码。
请参阅图5,本申请实施方式还提供一种客户端10。在本实施方式中,客户端可以是用户的个人电脑、商场的刷卡机或ATM取款机,也可以是运行在上述硬件的软体。
客户端10包括:请求发送模块14、位码接收模块15、输入模块16和验证数据发送模块18。
请求发送模块14用于向服务器发出通信请求。
在本实施方式中,请求发送模块14向服务器发出通信请求,表示存在用户通过客户端登陆服务器,查阅、编辑或使用服务器中对应所述用户保存的数据。具体的,举例为:用户通过个人电脑登陆某网站;用户使用银行卡在某商场消费;用户使用银行卡在ATM取款机或存/取款机中提取现金;用户使用网络银行进行消费,或管理账户等等。
在本实施方式中,通信请求可以是字符组成的字符串,其代表客户端请求与服务器建立通信,在该通信的基础上,客户端可以访问服务器中存储的数据。
位码接收模块15,用于接收所述服务器发出的附带有至少一个位码的信息。
在本实施方式中,在本实施方式中,位码可以表示预设数据的数位的序号,预设数据的位码的排序方式可以从左至右,也可以从右至左。具体的,举例为:所述预设数据可以为754962,若所述位码的排序方式是从左至右,数字“7”的位码可以是1,数字“5”的位码可以是2,以此类推,数字“4”、“9”、“6”和“2”的位码分别为3、4、5和6;若所述位码的排序方式是从右至左,数字“2”的位码可以是1,数字“6”的位码可以是2,以此类推,数字“9”、“4”、“5”和“7”的位码分别是3、4、5和6。所述预设数据可以是用户预先设置的密码。
输入模块16用于产生数量与所述至少一个位码对应的至少一个输入框,侦测所述至少一个输入框的输入事件,在发生输入事件时获取所述至少一个输入框的数据。
在本实施方式中,所述客户端接收所述至少一个位码之后,输入模块16产生至少一个输入框。当用户向输入框输入数据,即为发生了输入事件。输入模块16侦测到输入事件之后,获取输入框内的数据。输入框可以是客户端中的一个控件。
在本实施方式中,输入模块16可以给用户输入提示,即在每个输入框附近提示该输入框对应的位码。当用户知道预设数据时,可以按照提示输入位码对应的预设数据中的数据。输入模块16可以在至少一个输入框均发生输入事件之后,获取全部输入框的数据,也可以每当一个输入框发生输入事件,获取该输入框的数据。
验证数据发送模块18用于将所述至少一个输入框的数据作为至少一个验证数据发送给所述服务器。
在本实施方式中,验证数据发送模块18可以在全部输入框均发生了输入事件后,便将全部输入框的数据发送给服务器,也可以设置有按钮,在按钮被触发后将当前获取的数据发送给服务器。
在本实施方式中,验证数据发送模块18将输入框的数据发送给服务器作为验证数据。验证数据用于服务器判断当前输入数据的用户是否有权限通过客户端访问服务器中的数据。由于输入模块16是对应至少一个位码产生了至少一个输入框,使得所述至少一个验证数据中的每个数据与所述至少一个位码中的一个位码相对应。
请参阅图6,本申请实施方式还提供一种数据通信方法。所述数据通信方法包括如下步骤。
步骤S21:接收客户端发出的通信请求。
在本实施方式中,客户端向服务器发出通信请求,表示可能存在用户通过客户端登陆服务器,查阅、编辑或使用服务器中对应所述用户保存的数据。具体的,举例为:用户通过个人电脑登陆某网站;用户使用银行卡在某商场消费;用户使用银行卡在ATM取款机或存/取款机中提取现金;用户使用网络银行进行消费,或管理账户等等。
在本实施方式中,通信请求可以是字符组成的字符串,其代表客户端请求与服务器建立通信,在该通信的基础上,客户端可以访问服务器中存储的数据。
步骤S23:响应通信请求,按照第一预设规则产生至少一个位码,将附带有所述至少一个位码的信息发送给所述客户端。
在本实施方式中,位码可以表示预设数据的数位的序号,预设数据的位码的排序方式可以从左至右,也可以从右至左。具体的,举例为:所述预设数据可以为754962,若所述位码的排序方式是从左至右,数字“7”的位码可以是1,数字“5”的位码可以是2,以此类推,数字“4”、“9”、“6”和“2”的位码分别为3、4、5和6;若所述位码的排序方式是从右至左,数字“2”的位码可以是1,数字“6”的位码可以是2,以此类推,数字“9”、“4”、“5”和“7”的位码分别是3、4、5和6。
在本实施方式中,预设数据为预先设置存储在服务器中,用于在客户端与服务器建立通信过程中,作为秘钥使用,即客户端输入与服务器相同的预设数据时,客户端与服务器建立通信。预设数据可以是用户预先设置的密码,所述预设数据对应用户的账号或账户名保存,用户输入正确账号和密码、或账户名和密码可以访问服务器内的相关数据。具体的,举例为:预设数据可以是用户登录网站的密码,用户在网站的登录界面输入账户名和密码,即可登录网站,从而进一步的操作;预设数据可以是用户银行账户的密码,用户使用账号和密码、或账户名和密码可以在银行或ATM存取款机办理业务。在本实施方式中,预设数据的位数可以统一规定固定的数量。
在本实施方式中,第一预设规则用于产生至少一个位码,位码的数量和取值均小于或等于预设数据的位数。第一预设规则能够产生数量和取值均小于或等于预设数据的位数的数字。具体的,举例为:预设数据的位数为6,所述第一预设规则可以为每次随机的在1~6之间选择2个数字,该选中的两个数字作为位码。当然,在收到通信请求之后,产生的至少一个位码的数量并不限于2个,也可以为1个、3个、4个、5个或6个,只要至少一个位码的数量小于或等于预设数据的位数即可。
步骤S51:接收客户端发出的至少一个验证数据。
在本实施方式中,验证数据用于判断客户端是否有权限进一步访问服务器的数据。
步骤S53:从所述预设数据中获取所述至少一个位码对应的至少一个位数据。
在本实施方式中,服务器依照至少一个位码从预设数据中读取位码对应的位数据。具体的,举例为:所述预设数据可以为754962,位码的排序方式为从左至右,至少一个位码包括“1”和“4”,位码“1”对应位数据7,位码“4”对应位数据9。
步骤S62:将所述至少一个位码对应的所述预设数据中的位数据和验证数据进行比对,所述至少一个位码中每个所述位码对应的位数据和验证数据相同时,向所述客户端发出成功信息码。
在本实施方式中,服务器将每个位码对应的位数据和验证数据进行对比,验证数据与位数据均相同,表明当前用户有权限通过身份验证,或有权限登陆,或有权限访问服务器中的数据。当验证数据与位数据部分或全部不同时,表明验证数据时错误的,也表明当前用户没有权限通过份验证,或有没有权限登陆,或有没有权限访问服务器中的数据。
在本实施方式中,所述成功信息码可以是字符或字符串,其可以表示全部位码对应的位数据和验证数据均相同。当前客户端可以进一步访问服务器中的数据。具体的,举例为:用户通过电脑登陆网站,在电脑收到服务器的成功信息码之后,电脑会提示登陆成功,此时用户可以通过电脑进一步访问权限允许范围内的数据。用户登陆网络银行,在客户端收到成功信息码之后,用户便可以进行付款等操作。用户在ATM取款机取款,在ATM取款机收到成功信息码之后,用户便可以通过ATM取款机进行取款等操作。
在本申请的一个实施方式中,在步骤S23中:所述至少一个位码的数量和取值均小于预设数据的位数。
在本实施方式中,第一预设规则将预设数据的位数作为位码的数量和取值的上限值,即位码的数量和取值均小于预设数据的位数。第一预设规则可以包括随机函数,所述随机函数能够产生数量和取值均小于预设数据的位数的数字。具体的,举例为:预设数据的位数为6,所述第一预设规则可以为每次随机的在1~6之间选择数字,选择数字的数量可以为1个、2个、3个、4个或5个。本实施方式提供的数据通信方法,使得在客户端与服务器交互过程中,不会出现完整的密码,当用户错误访问钓鱼网站或客户端被植入木马时,不法分子也难以获得完整的密码,有效避免了完整密码的泄漏。
在本申请的一个实施方式中,所述通信请求附带有账户信息,在步骤S23中:所述至少一个位码的数量和取值均小于所述账户信息对应的预设数据的位数。
在本实施方式中,所述账户信息可以包括账户名和账号或二者之一。在服务器中可以对应账户信息存储有预设数据。具体的,举例为:用户在一个网站的账户名为“taobaoyonghu”,在登录该网站时,可以首先收入上述账户名并提交给服务器,服务器接收到通信请求之后,获取所述账户名“taobaoyonghu”对应的预设数据的位数,产生相应的至少一个位码并进行后续的步骤。
请参阅图7,在本申请的一个实施方式中,所述数据通信方法还包括如下步骤。
步骤S64:按照第二预设规则产生的验证码,将所述验证码发送给预设终端。
在本实施方式中,第二预设规则用于产生验证码。第二预设规则可以为能够产生随机数的随机函数,该随机函数产生的随机数即为所述验证码。第二预设规则可以为能够产生二维码的二维码生成器,优选地其为动态二维码生成器,所述二维码或动态二维码即可以为验证码,所述第二预设规则每次产生的二维码或动态二维码不相同。第二预设规则还可以为能够产生条形码的条形码生成器,所述条形码可以为所述验证码,第二预设规则每次产生的条形码不同。
在本实施方式中,预设终端可以为用户的移动电话。用户可以预先在服务器中保存移动电话的号码,服务器可以将验证码以短信方式发送至所述移动电话。当然,预设终端还可以为软体,并安装在用户使用的设备上,该软体能够通过设备接收服务器发出的验证码。
步骤S66:接收所述客户端发出的待验证码。
在本实施方式中,待验证码可以是客户端获取预设终端接收的验证码。
在步骤S62中:将所述至少一个位码中每个所述位码对应的位数据和验证数据进行比对,将所述待验证码与所述验证码进行比对,所述至少一个位码中每个所述位码对应的位数据和验证数据均相同并且所述待验证码与所述验证码相同时,向所述客户端发出成功信息码。
在本实施方式中,服务器可以将所述至少一个位码中每个所述位码对应的位数据和验证数据进行比对,以及将待验证码和验证码进行比对。当所述至少一个位码中每个所述位码对应的位数据和验证数据均相同,并且待验证码和验证码也相同时,服务器才向客户端发出成功信息码。
在本实施方式中,所述客户端与服务器的数据通信方法在随机的位码对应的预设数据进行验证的基础上,增加了单次有效的验证码验证,如此极大的提高了客户端与服务器之间交互的安全性。提升了用户账户和密码的安全性,能够有效避免用户的密码泄漏,并且能够有效防止不法分子盗用用户的账户,避免不法分子冒充用户的身份登录服务器损害用户的利益。
在本申请的一个实施方式中,所述第一预设规则包括将所述预定数据中的至少一个数位设置为保留位,所述第一预设规则产生的所述至少一个位码不包括所述保留位的位码。
在本实施方式中,保留位的数量小于预定数据的位数。如此,使得预定数据中作为保留位的位码不会出现在提供给客户端的至少一个位码中。如此实现在客户端与服务器进行交互过程中,即使用户输入的账户和验证数据被多次拦截,但不法分子始终无法得到完整的预定数据。具体的,举例为:所述预设数据可以为754962,位码的排序方式为从左至右,保留位的位码是“5”和“6”,则第一预设规则在产生至少一个位码时,不会出现“5”和“6”,使得客户端与服务器的建立通信的过程中,不会出现输入预设数据中的6和2的情况,即使木马或钓鱼网站等多次获取客户端与服务器建立通信时的数据,也无法获知预定数据的第5位和第6位数据。所述预设数据可以用作为密码,本实施方式提供的客户端与服务器的数据通信方法,能够有效提升密码安全。
请参阅图8,本申请实施方式还提供一种服务器12。服务器12包括:请求接收模块20、响应模块22、验证数据接收模块24、比对模块26。
请求接收模块20用于接收客户端发出的通信请求。
在本实施方式中,客户端向服务器发出通信请求,表示可能存在用户通过客户端登陆服务器,查阅、编辑或使用服务器中对应所述用户保存的数据。具体的,举例为:用户通过个人电脑登陆某网站;用户使用银行卡在某商场消费;用户使用银行卡在ATM取款机或存/取款机中提取现金;用户使用网络银行进行消费,或管理账户等等。
在本实施方式中,通信请求可以是字符组成的字符串,其代表客户端请求与服务器建立通信,在该通信的基础上,客户端可以访问服务器中存储的数据。
响应模块22用于响应通信请求,按照第一预设规则产生至少一个位码,将附带有所述至少一个位码的信息发送给所述客户端。
在本实施方式中,位码可以表示预设数据的数位的序号,预设数据的位码的排序方式可以从左至右,也可以从右至左。具体的,举例为:所述预设数据可以为754962,若所述位码的排序方式是从左至右,数字“7”的位码可以是1,数字“5”的位码可以是2,以此类推,数字“4”、“9”、“6”和“2”的位码分别为3、4、5和6;若所述位码的排序方式是从右至左,数字“2”的位码可以是1,数字“6”的位码可以是2,以此类推,数字“9”、“4”、“5”和“7”的位码分别是3、4、5和6。
在本实施方式中,预设数据为预先设置存储在服务器中,用于在客户端与服务器建立通信过程中,作为秘钥使用,即客户端输入与服务器相同的预设数据时,客户端与服务器建立通信。预设数据可以是用户预先设置的密码,所述预设数据对应用户的账号或账户名保存,用户输入正确账号和密码、或账户名和密码可以访问服务器内的相关数据。具体的,举例为:预设数据可以是用户登录网站的密码,用户在网站的登录界面输入账户名和密码,即可登录网站,从而进一步的操作;预设数据可以是用户银行账户的密码,用户使用账号和密码、或账户名和密码可以在银行或ATM存取款机办理业务。在本实施方式中,预设数据的位数可以统一规定固定的数量。
在本实施方式中,第一预设规则用于产生至少一个位码,位码的数量和取值均小于或等于预设数据的位数。具体的,举例为:预设数据的位数为6,所述第一预设规则可以为每次随机的在1~6之间选择2个数字,该选中的两个数字作为位码。当然,在收到通信请求之后,产生的至少一个位码的数量并不限于2个,也可以为1个、3个、4个、5个或6个,只要至少一个位码的数量小于或等于预设数据的位置即可。
验证数据接收模块24用于接收客户端发出的至少一个验证数据。
在本实施方式中,验证数据用于判断客户端是否有权限进一步访问服务器的数据。
比对模块26用于将所述至少一个位码对应的所述预设数据中的位数据和验证数据进行比对,所述至少一个位码对应的位数据和验证数据相同时,向所述客户端发出成功信息码。
在本实施方式中,服务器将每个位码对应的位数据和验证数据进行对比,验证数据与位数据均相同,表明当前用户有权限通过身份验证,或有权限登陆,或有权限访问服务器中的数据。当验证数据与位数据部分或全部不同时,表明验证数据时错误的,也表明当前用户没有权限通过份验证,或有没有权限登陆,或有没有权限访问服务器中的数据。
在本实施方式中,所述成功信息码可以是字符或字符串,其可以表示全部位码对应的位数据和验证数据均相同。当前客户端可以进一步访问服务器中的数据。具体的,举例为:用户通过电脑登陆网站,在电脑收到服务器的成功信息码之后,电脑会提示登陆成功,此时用户可以通过电脑进一步访问权限允许范围内的数据。用户登陆网络银行,在客户端收到成功信息码之后,用户便可以进行付款等操作。用户在ATM取款机取款,在ATM取款机收到成功信息码之后,用户便可以通过ATM取款机进行取款等操作。
由以上本申请实施方式提供的技术方案可见,本申请通过预设规则使用户在进行验证身份的过程中,输入预设数据中指定的几个数位的数据,用户每次进行验证身份时,要求用户输入的内容可以发生变化,如此实现保障用户的密码安全,降低了密码被破解的风险。
虽然通过实施方式描绘了本申请,本领域普通技术人员知道,本申请有许多变形和变化而不脱离本申请的精神,希望所附的权利要求包括这些变形和变化而不脱离本申请的精神。

Claims (19)

1.一种数据通信方法,其特征在于,其包括:
客户端向服务器发出通信请求;
所述服务器响应所述通信请求,按照第一预设规则产生至少一个位码,所述服务器将附带有所述至少一个位码的信息发送给所述客户端;
所述客户端产生数量与所述至少一个位码对应的至少一个输入框,侦测所述至少一个输入框的输入事件,在发生输入事件时获取所述至少一个输入框的数据;
所述客户端将所述至少一个输入框的数据作为至少一个验证数据发送给所述服务器;
所述服务器从所述预设数据中获取所述至少一个位码对应的至少一个位数据;
所述服务器将所述至少一个位码中每个所述位码对应的位数据和验证数据进行比对,所述至少一个位码中每个所述位码对应的位数据和验证数据均相同时,所述服务器向所述客户端发出成功信息码。
2.如权利要求1所述的方法,其特征在于:所述至少一个位码的数量和取值均小于预设数据的位数。
3.如权利要求1所述的方法,其特征在于,所述客户端发出的通信请求附带有账户信息,在产生位码的步骤中:所述至少一个位码的数量和取值均小于所述账户信息对应的预设数据的位数。
4.如权利要求1所述的方法,其特征在于,所述数据通信方法还包括:
所述服务器按照第二预设规则产生的验证码,将所述验证码发送给预设终端;
所述客户端获取所述预设终端接收的所述验证码,将所述验证码作为待验证码发送给所述服务器;
在所述服务器向所述客户端发出成功信息码的步骤中:所述服务器将所述至少一个位码中每个所述位码对应的位数据和验证数据进行比对,将所述待验证码与所述验证码进行比对,所述至少一个位码中每个所述位码对应的位数据和验证数据均相同并且所述待验证码与所述验证码相同时,所述服务器向所述客户端发出成功信息码。
5.如权利要求1所述的方法,其特征在于,所述第一预设规则包括将所述预定数据中的至少一个数位设置为保留位,所述第一预设规则产生的所述至少一个位码不包括所述保留位的位码。
6.如权利要求1所述的方法,其特征在于,所述第一预设规则包括随机函数,所述随机函数能够产生数量和取值均小于预设数据的位数的数字。
7.一种数据通信系统,其特征在于:所述数据通信系统包括客户端和服务器,所述客户端包括:
请求发送模块,用于向所述服务器发出通信请求;
位码接收模块,用于接收所述服务器发出的附带有至少一个位码的信息;
输入模块,用于产生数量与所述至少一个位码对应的至少一个输入框,侦测所述至少一个输入框的输入事件,在发生输入事件时获取所述至少一个输入框的数据;
验证数据发送模块,用于将所述至少一个输入框的数据作为至少一个验证数据发送给所述服务器;
所述服务器包括:
请求接收模块,用于接收所述客户端发出的所述通信请求;
响应模块,用于响应所述通信请求,按照第一预设规则产生至少一个位码,将附带有所述至少一个位码的信息发送给所述客户端;
验证数据接收模块,用于接收所述客户端发出的至少一个验证数据;
比对模块,用于将所述至少一个位码对应的所述预设数据中的位数据和验证数据进行比对,所述至少一个位码对应的位数据和验证数据相同时,向所述客户端发出成功信息码。
8.一种数据通信方法,其特征在于,所述数据通信方法包括:
向服务器发出通信请求;
接收所述服务器发送的信息,获取所述信息附带的至少一个位码;
产生数量与所述至少一个位码对应的至少一个输入框,侦测所述至少一个输入框的输入事件,在发生输入事件时获取所述至少一个输入框的数据;
将所述至少一个输入框的数据作为至少一个验证数据发送给所述服务器。
9.如权利要求8所述的方法,其特征在于,所述通信请求附带有账户信息。
10.如权利要求8所述的方法,其特征在于,所述数据通信方法还包括:获取预设终端接收的验证码,将所述验证码作为待验证码发送给所述服务器。
11.一种客户端,其特征在于,所述客户端包括:
请求发送模块,用于向服务器发出通信请求;
位码接收模块,用于接收所述服务器发出的附带有至少一个位码的信息;
输入模块,用于产生数量与所述至少一个位码对应的至少一个输入框,侦测所述至少一个输入框的输入事件,在发生输入事件时获取所述至少一个输入框的数据;
验证数据发送模块,用于将所述至少一个输入框的数据作为至少一个验证数据发送给所述服务器。
12.一种数据通信方法,其特征在于,所述方法包括:
接收客户端发出的通信请求;
响应通信请求,按照第一预设规则产生至少一个位码,将附带有所述至少一个位码的信息发送给所述客户端;
接收客户端发出的至少一个验证数据;
从所述预设数据中获取所述至少一个位码对应的至少一个位数据;
将所述至少一个位码对应的所述预设数据中的位数据和验证数据进行比对,所述至少一个位码中每个所述位码对应的位数据和验证数据相同时,向所述客户端发出成功信息码。
13.如权利要求12所述的方法,其特征在于:所述至少一个位码的数量和取值均小于预设数据的位数。
14.如权利要求12所述的方法,其特征在于,所述通信请求附带有账户信息,在产生位码的步骤中,所述至少一个位码的数量和取值均小于所述账户信息对应的预设数据的位数。
15.如权利要求12所述的方法,其特征在于,所述方法还包括:按照第二预设规则产生的验证码,将所述验证码发送给预设终端;
在向客户端发出成功信息码的步骤中:所述服务器将所述至少一个位码中每个所述位码对应的位数据和验证数据进行比对,将所述待验证码与所述验证码进行比对,所述至少一个位码中每个所述位码对应的位数据和验证数据均相同并且所述待验证码与所述验证码相同时,所述服务器向所述客户端发出成功信息码。
16.如权利要求15所述的方法,其特征在于,所述预设终端是移动电话。
17.如权利要求12所述的方法,其特征在于,所述第一预设规则包括将所述预定数据中的至少一个数位设置为保留位,所述第一预设规则产生的所述至少一个位码不包括所述保留位的位码。
18.如权利要求12所述的方法,其特征在于,所述第一预设规则包括随机函数,所述随机函数能够产生数量和取值均小于预设数据的位数的数字。
19.一种服务器,其特征在于,所述服务器包括:
请求接收模块,用于接收客户端发出的通信请求;
响应模块,用于响应所述通信请求,按照第一预设规则产生至少一个位码,将附带有所述至少一个位码的信息发送给所述客户端;
验证数据接收模块,用于接收客户端发出的至少一个验证数据;
比对模块,用于将所述至少一个位码对应的所述预设数据中的位数据和验证数据进行比对,所述至少一个位码对应的位数据和验证数据相同时,向所述客户端发出成功信息码。
CN201410239154.6A 2014-05-30 2014-05-30 数据通信方法和系统及客户端和服务器 Pending CN105429928A (zh)

Priority Applications (7)

Application Number Priority Date Filing Date Title
CN201410239154.6A CN105429928A (zh) 2014-05-30 2014-05-30 数据通信方法和系统及客户端和服务器
TW103134016A TWI668586B (zh) 2014-05-30 2014-09-30 Data communication method and system, client and server
US14/724,632 US9807103B2 (en) 2014-05-30 2015-05-28 Data communication
KR1020167032649A KR20170013231A (ko) 2014-05-30 2015-05-28 데이터 통신
PCT/US2015/033034 WO2015184171A1 (en) 2014-05-30 2015-05-28 Data communication
JP2016566986A JP6682453B2 (ja) 2014-05-30 2015-05-28 データ通信
HK16109241.0A HK1221347A1 (zh) 2014-05-30 2016-08-03 數據通信方法和系統及客戶端和服務器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410239154.6A CN105429928A (zh) 2014-05-30 2014-05-30 数据通信方法和系统及客户端和服务器

Publications (1)

Publication Number Publication Date
CN105429928A true CN105429928A (zh) 2016-03-23

Family

ID=54699821

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410239154.6A Pending CN105429928A (zh) 2014-05-30 2014-05-30 数据通信方法和系统及客户端和服务器

Country Status (7)

Country Link
US (1) US9807103B2 (zh)
JP (1) JP6682453B2 (zh)
KR (1) KR20170013231A (zh)
CN (1) CN105429928A (zh)
HK (1) HK1221347A1 (zh)
TW (1) TWI668586B (zh)
WO (1) WO2015184171A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108829838A (zh) * 2018-06-19 2018-11-16 彭建超 一种账户信息批量处理方法及服务器
CN111144875A (zh) * 2019-11-30 2020-05-12 飞天诚信科技股份有限公司 一种终端设备及其工作方法
CN112579984A (zh) * 2019-09-30 2021-03-30 广州艾美网络科技有限公司 多媒体信息认证方法、系统、计算机设备和存储介质

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106411812B (zh) * 2015-07-27 2019-10-08 阿里巴巴集团控股有限公司 用户身份的验证方法、系统和验证服务器
CN107122628A (zh) * 2016-02-24 2017-09-01 阿里巴巴集团控股有限公司 应用程序的图标处理方法及装置、终端
CN105703908A (zh) * 2016-03-24 2016-06-22 珠海市小源科技有限公司 验证码输入方法及装置
US20250119426A1 (en) * 2023-10-06 2025-04-10 Wells Fargo Bank, N.A. Systems and methods for establishing shared trust between a primary agent user and recipient client user

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020059146A1 (en) * 2000-09-07 2002-05-16 Swivel Technologies Limited Systems and methods for identity verification for secure transactions
US20090031407A1 (en) * 2007-07-24 2009-01-29 Shaobo Kuang Method and system for security check or verification
US20110113245A1 (en) * 2009-11-12 2011-05-12 Arcot Systems, Inc. One time pin generation
CN102098315A (zh) * 2011-03-02 2011-06-15 中国工商银行股份有限公司 一种客户端安全登录方法、装置及系统
CN102891841A (zh) * 2012-08-17 2013-01-23 广东世纪网通信设备有限公司 一种网上银行帐号锁定的方法、装置以及系统

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5233655A (en) 1991-02-19 1993-08-03 Shapiro Sanford S Data access verification system
JP4232365B2 (ja) * 2001-10-23 2009-03-04 沖電気工業株式会社 カード利用確認システム
US7660771B2 (en) * 2003-10-30 2010-02-09 Wells Fargo Bank, N.A. Express check conversion
EP1723594B1 (en) * 2004-02-23 2017-11-29 Symantec International Token authentication system and method
AP3361A (en) 2006-11-16 2015-07-31 Net1 Ueps Technologies Inc Secure financial transactions
TW200928991A (en) * 2007-12-17 2009-07-01 Hann-Tzong Chern A simple mechanism to prevent the credit card being used by an illegal user
JP2010226336A (ja) * 2009-03-23 2010-10-07 Denso It Laboratory Inc 認証方法および認証装置
US8869255B2 (en) * 2010-11-30 2014-10-21 Forticom Group Ltd Method and system for abstracted and randomized one-time use passwords for transactional authentication
GB2502773B (en) * 2012-05-28 2015-03-11 Swivel Secure Ltd Method and system for secure user identification

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020059146A1 (en) * 2000-09-07 2002-05-16 Swivel Technologies Limited Systems and methods for identity verification for secure transactions
US20090031407A1 (en) * 2007-07-24 2009-01-29 Shaobo Kuang Method and system for security check or verification
US20110113245A1 (en) * 2009-11-12 2011-05-12 Arcot Systems, Inc. One time pin generation
CN102098315A (zh) * 2011-03-02 2011-06-15 中国工商银行股份有限公司 一种客户端安全登录方法、装置及系统
CN102891841A (zh) * 2012-08-17 2013-01-23 广东世纪网通信设备有限公司 一种网上银行帐号锁定的方法、装置以及系统

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108829838A (zh) * 2018-06-19 2018-11-16 彭建超 一种账户信息批量处理方法及服务器
CN108829838B (zh) * 2018-06-19 2021-11-26 彭建超 一种账户信息批量处理方法及服务器
CN112579984A (zh) * 2019-09-30 2021-03-30 广州艾美网络科技有限公司 多媒体信息认证方法、系统、计算机设备和存储介质
CN112579984B (zh) * 2019-09-30 2024-03-15 广州艾美网络科技有限公司 多媒体信息认证方法、系统、计算机设备和存储介质
CN111144875A (zh) * 2019-11-30 2020-05-12 飞天诚信科技股份有限公司 一种终端设备及其工作方法
CN111144875B (zh) * 2019-11-30 2023-04-18 飞天诚信科技股份有限公司 一种终端设备及其工作方法

Also Published As

Publication number Publication date
US20150350224A1 (en) 2015-12-03
US9807103B2 (en) 2017-10-31
WO2015184171A1 (en) 2015-12-03
HK1221347A1 (zh) 2017-05-26
TW201544983A (zh) 2015-12-01
KR20170013231A (ko) 2017-02-06
JP2017519278A (ja) 2017-07-13
JP6682453B2 (ja) 2020-04-15
TWI668586B (zh) 2019-08-11

Similar Documents

Publication Publication Date Title
US11405380B2 (en) Systems and methods for using imaging to authenticate online users
US9741033B2 (en) System and method for point of sale payment data credentials management using out-of-band authentication
US9756056B2 (en) Apparatus and method for authenticating a user via multiple user devices
US11665156B2 (en) Method and system for securely authenticating a user by an identity and access service using a pictorial code and a one-time code
TWI668586B (zh) Data communication method and system, client and server
EP3065366A1 (en) Identification and/or authentication system and method
CN106453205B (zh) 一种身份验证方法和装置
KR20180124067A (ko) 계정에 연결하고 서비스 프로세스를 제공하기 위한 방법 및 디바이스
KR102482104B1 (ko) 식별 및/또는 인증 시스템 및 방법
US20170011393A1 (en) Personal identification and anti-theft system and method using disposable random key
JP2018502410A (ja) 共通識別データ置換システムおよび方法
US11410170B2 (en) Systems, methods and computer program products for securing OTPS
KR101027228B1 (ko) 인터넷 보안을 위한 본인인증 장치, 그 방법 및 이를 기록한 기록매체
US20130151411A1 (en) Digital authentication and security method and system
KR20180037168A (ko) Otp를 이용한 상호 인증 방법 및 시스템
Mandalapu et al. An NFC featured three level authentication system for tenable transaction and abridgment of ATM card blocking intricacies
CN103929310A (zh) 一种手机客户端口令统一认证方法及系统
CN107885986A (zh) 一种表单填充方法、表单数据保存方法及装置
KR101879842B1 (ko) Otp를 이용한 사용자 인증 방법 및 시스템
KR102267628B1 (ko) 일회성 식별자를 이용한 사용자 인증 방법 및 이를 수행하는 인증 시스템
CN106921632A (zh) 无线热点接入控制方法及装置
KR102029309B1 (ko) 인증 요청 기능이 구비된 정보 입력 장치 및 이를 이용한 인증 요청 방법
CN103905443A (zh) 一种验证装置、系统及注册、验证方法
TW201810153A (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1221347

Country of ref document: HK

RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20160323

REG Reference to a national code

Ref country code: HK

Ref legal event code: WD

Ref document number: 1221347

Country of ref document: HK