CN112217835A - 报文数据的处理方法、装置、服务器和终端设备 - Google Patents

报文数据的处理方法、装置、服务器和终端设备 Download PDF

Info

Publication number
CN112217835A
CN112217835A CN202011144928.9A CN202011144928A CN112217835A CN 112217835 A CN112217835 A CN 112217835A CN 202011144928 A CN202011144928 A CN 202011144928A CN 112217835 A CN112217835 A CN 112217835A
Authority
CN
China
Prior art keywords
secret key
request message
data
generation rule
message
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
CN202011144928.9A
Other languages
English (en)
Other versions
CN112217835B (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.)
Industrial and Commercial Bank of China Ltd ICBC
Original Assignee
Industrial and Commercial Bank of China Ltd ICBC
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 Industrial and Commercial Bank of China Ltd ICBC filed Critical Industrial and Commercial Bank of China Ltd ICBC
Priority to CN202011144928.9A priority Critical patent/CN112217835B/zh
Publication of CN112217835A publication Critical patent/CN112217835A/zh
Application granted granted Critical
Publication of CN112217835B publication Critical patent/CN112217835B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network 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
    • H04L63/0435Network 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 wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • G06F21/6263Protecting personal data, e.g. for financial or medical purposes during internet communication, e.g. revealing personal data from cookies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3297Cryptographic 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 time stamps, e.g. generation of time stamps
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2151Time stamp

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Power Engineering (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本说明书提供了报文数据的处理方法、装置、服务器和终端设备。基于该方法,服务器预先将至少包含有第一秘钥的生成规则和第二秘钥的生成规则的Cookie数据发送至终端设备;这样服务器和终端设备能各自在本地生成第一秘钥和第二秘钥,不需要交互传输秘钥,降低了秘钥被泄露的风险;并且,终端设备在发送请求报文前,还利用第一秘钥、第二秘钥加密携带有时间戳的请求报文;服务器在接收到加密后的请求报文后,利用第一秘钥、第二秘钥进行解密,得到时间戳;再根据时间戳所指示的时间信息,和加密后的请求报文的接收时间来检测该请求报文是否存在安全性风险,从而能以较低的处理成本,准确地检测出存在安全性风险的请求报文,保护数据安全。

Description

报文数据的处理方法、装置、服务器和终端设备
技术领域
本说明书属于互联网技术领域,尤其涉及报文数据的处理方法、装置、服务器和终端设备。
背景技术
随着信息技术不断发展、普及,信息安全形势也日益严峻、复杂。***服务器时常会面临诸如遭到黑客攻击,或者信息数据遭窃取等安全性风险。
而现有方法大多需要先对***进行专业、繁复的安全测试找出***中的安全漏洞;再通过修改***中相关代码,以侵入的方式修补上述安全漏洞,从而保护***服务器的数据安全。
可见,基于现有方法,在具体处理报文数据的安全性风险时往往存在的处理成本高,不准确,容易出现遗漏的技术问题。
针对上述问题,目前尚未提出有效的解决方案。
发明内容
本说明书提供了一种报文数据的处理方法、装置、服务器和终端设备,能够以较低的处理成本,准确、高效地检测出服务器所接收的请求报文是否存在安全性风险,从而保护了服务器的数据安全。
本说明书实施例提供了一种报文数据的处理方法,包括:
接收终端设备发送的加密后的请求报文;其中,所述终端设备在根据Cookie数据确定交互模式为加密模式的情况下,利用第一秘钥加密请求报文的时间戳,得到加密后的时间戳;并利用第二秘钥加密携带有加密后的时间戳的请求报文,得到所述加密后的请求报文;所述第一秘钥为终端设备根据第一秘钥的生成规则在本地生成的秘钥数据;所述第二秘钥为终端设备根据第二秘钥的生成规则在本地生成的秘钥数据;所述Cookie数据至少包含有第一秘钥的生成规则和第二秘钥的生成规则;
根据所述第二秘钥的生成规则,在服务器本地生成第二秘钥,并利用所述第二秘钥对所述加密后的请求报文进行解密处理,得到携带有加密后的时间戳的请求报文;
根据所述第一秘钥的生成规则,在服务器本地生成第一秘钥,并利用所述第一秘钥对所述加密后的时间戳进行解密处理,得到时间戳;
根据时间戳所指示的时间信息,以及所述加密后的请求报文的接收时间,检测所述请求报文是否存在第一类安全性风险。
在一个实施例中,在接收终端设备发送的加密后的请求报文之前,所述方法还包括:
接收终端设备发送的登录请求;其中,所述登录请求携带有用户的身份信息和登录凭证;
在对所述用户的身份信息和登录凭证校验通过的情况下,生成与所述用户的身份信息关联的session ID,并确定对应的交互模式;
在确定对应的交互模式为加密模式的情况下,生成第一秘钥的生成规则和第二秘钥的生成规则;
将所述session ID、第一秘钥的生成规则和第二秘钥的生成规则保存在Cookie数据;
将所述Cookie数据反馈给终端设备。
在一个实施例中,确定对应的交互模式,包括:
根据用户的身份信息,查询风险用户黑名单,得到对应的查询结果;其中,所述风险用户黑名单存储有风险用户的身份信息;
根据所述查询结果,在确定所述用户属于风险用户的情况下,确定对应的交互模式为加密模式。
在一个实施例中,在将所述session ID、第一秘钥的生成规则和第二秘钥的生成规则保存在Cookie数据之后,所述方法还包括:
加密所述Cookie数据,得到Cookie数据的密文数据;
将所述Cookie数据的密文数据反馈给终端设备。
在一个实施例中,根据所述第二秘钥的生成规则,在服务器本地生成第二秘钥,包括:
根据所述第二秘钥的生成规则,获取当前的日期字符串,以及与所述加密后的请求报文对应的session ID;
拼接所述当前的日期字符串和session ID,得到第二字符串;
利用第二预设哈希函数计算第二字符串的哈希值,作为第二哈希值;
根据第二秘钥的生成规则,通过从所述第二哈希值中抽取第二预设数据位上的数值,以生成所第二秘钥。
在一个实施例中,所述加密后的请求报文还携带有终端设备的特征信息;其中,所述特征信息包括以下至少之一:终端设备所登录的浏览器的版本号、终端设备的屏幕分辨率、终端设备的***信息。
在一个实施例中,根据所述第一秘钥的生成规则,在服务器本地生成第一秘钥,包括:
根据所述第一秘钥的生成规则,获取所述终端设备的特征信息;
根据所述终端设备的特征信息,生成第一字符串;
利用第一预设哈希函数计算第一字符串的哈希值,作为第一哈希值;
根据第一秘钥的生成规则,通过从所述第一哈希值中抽取第一预设数据位上的数值,以生成所第一秘钥。
在一个实施例中,根据所述时间戳所指示的时间信息,以及所述加密后的请求报文的接收时间,检测所述请求报文是否存在第一类安全性风险,包括:
计算所述时间信息与所述接收时间的时间差值;
比较所述时间差值与预设的时间阈值,得到对应的比较结果;
根据所述比较结果,在确定所述时间差值大于所述预设的时间阈值的情况下,确定所述请求报文存在第一类安全性风险。
在一个实施例中,在确定所述请求报文存在第一类安全性风险之后,所述方法还包括:
停止处理所述请求报文,并生成风险提示信息;
将所述请求报文发送至用户分类器;其中,所述用户分类器用于根据所接收到的存在第一类安全性风险的请求报文,生成风险用户黑名单。
在一个实施例中,所述方法还包括:
根据所述比较结果,在确定所述时间差值小于或等于所述预设的时间阈值的情况下,获取并根据用户的身份信息,查询***的日志记录,以获取预设的时间段内用户的行为统计数据;其中,所述预设的时间段内用户的行为统计数据包括:预设的时间段内用户发送报文数据的总量,和/或,发送报文数据的频率;
根据所述预设的时间段内用户的行为统计数据,确定所述请求报文是否存在第一类安全性风险。
在一个实施例中,在根据所述比较结果,在确定所述时间差值小于或等于所述预设的时间阈值的情况下,所述方法还包括:
根据预设的payload字典,检测所述请求报文是否携带有预设的风险字符;其中,所述预设的风险字符包括:与SQL注入相关的风险字符、与XSS相关的风险字符、与XML外部实体相关的风险字符;
在确定所述请求报文携带有预设的风险字符的情况下,将所述请求报文标记为潜在风险报文;
将所述潜在风险报文发送至用户分类器。
在一个实施例中,在根据所述比较结果,在确定所述时间差值小于或等于所述预设的时间阈值的情况下,所述方法还包括:
根据所述请求报文,确定所述请求报文所涉及的目标权限;
根据用户的身份信息,获取用户的权限表;
根据所述用户的权限表和所述目标权限,确定所述请求报文是否存在越权操作;
在确定所述请求报文存在越权操作的情况下,确定所述请求报文存在第一类安全性风险。
在一个实施例中,在确定所述请求报文不存在第一类安全性风险的情况下,所述方法还包括:
响应所述请求报文,进行相应的数据处理,得到对应的答复报文;
向所述终端设备发送所述答复报文。
在一个实施例中,在向所述终端设备发送所述答复报文之前,所述方法还包括:
根据所述预设的容错字典,检测所述答复报文是否携带有与敏感信息相关的关键词;
在确定所述答复报文携带有所述与敏感信息相关的关键词的情况下,确定所述请求报文存在第二类安全性风险。
在一个实施例中,在确定所述请求报文存在第二类安全性风险的情况下,所述方法还包括:
获取误导数据;其中,所述误导数据包括蜜罐服务器信息;
利用所述误导数据替换所述答复报文,反馈给终端设备。
在一个实施例中,在确定所述请求报文不存在第二类安全性风险的情况下,所述方法还包括:
根据第二秘钥的生成规则,在服务器本地生成第二秘钥;
利用第二秘钥对所述答复报文进行加密处理,得到加密后的答复报文;
向所述终端设备发送所述加密后的答复报文。
本说明书实施例还提供了一种报文数据的处理方法,包括:
根据Cookie数据,确定与服务器的交互模式;其中,所述Cookie数据至少包含有第一秘钥的生成规则和第二秘钥的生成规则;
在确定所述交互模式为加密模式的情况下,从所述Cookie数据中获取第一秘钥的生成规则,和第二秘钥的生成规则;
根据所述第一秘钥的生成规则,在终端设备本地生成第一秘钥,并利用所述第一秘钥加密请求报文的时间戳,得到携带有加密后的时间戳的请求报文;
根据所述第二秘钥的生成规则,在终端设备本地生成第二秘钥,并利用所述第二秘钥加密携带有加密后的时间戳的请求报文,得到加密后的请求报文;
向服务器发送所述加密后的请求报文。
在一个实施例中,在根据Cookie数据,确定与服务器的交互模式之前,所述方法还包括:
向服务器发送登录请求;其中,所述登录请求携带有用户的身份信息和登录凭证;
接收服务器反馈的Cookie数据;其中,所述服务器在对所述用户的身份信息和登录凭证校验通过的情况下,生成并向终端设备发送相应的Cookie数据,所述Cookie数据至少包括:与所述用户的身份信息关联的session ID、第一秘钥的生成规则和第二秘钥的生成规则。
在一个实施例中,所述Cookie数据还包括模式标识,相应的,根据Cookie数据,确定与服务器的交互模式,包括:
从所述Cookie数据中提取所述模式标识;
根据所述模式标识确定与服务器的交互模式。
在一个实施例中,根据所述第一秘钥的生成规则,在终端设备本地生成第一秘钥,包括:
根据所述第一秘钥的生成规则,获取终端设备的特征信息;
根据所述终端设备的特征信息,生成第一字符串;
利用第一预设哈希函数计算第一字符串的哈希值,作为第一哈希值;
根据第一秘钥的生成规则,通过从所述第一哈希值中抽取第一预设数据位上的数值,以生成所第一秘钥。
在一个实施例中,根据所述第二秘钥的生成规则,在终端设备本地生成第二秘钥,包括:
根据所述第二秘钥的生成规则,获取当前的日期字符串,以及session ID;
拼接所述当前的日期字符串和session ID,得到第二字符串;
利用第二预设哈希函数计算第二字符串的哈希值,作为第二哈希值;
根据第二秘钥的生成规则,通过从所述第二哈希值中抽取第二预设数据位上的数值,以生成所第二秘钥。
本说明书实施例还提供了一种报文数据的处理装置,包括:
接收模块,用于接收终端设备发送的加密后的请求报文;其中,所述终端设备在根据Cookie数据确定交互模式为加密模式的情况下,利用第一秘钥加密请求报文的时间戳,得到加密后的时间戳;并利用第二秘钥加密携带有加密后的时间戳的请求报文,得到所述加密后的请求报文;所述第一秘钥为终端设备根据第一秘钥的生成规则在本地生成的秘钥数据;所述第二秘钥为终端设备根据第二秘钥的生成规则在本地生成的秘钥数据;所述Cookie数据至少包含有第一秘钥的生成规则和第二秘钥的生成规则;
处理模块,用于根据所述第二秘钥的生成规则,在服务器本地生成第二秘钥,并利用所述第二秘钥对所述加密后的请求报文进行解密处理,得到携带有加密后的时间戳的请求报文;
所述处理模块,还用于根据所述第一秘钥的生成规则,在服务器本地生成第一秘钥,并利用所述第一秘钥对所述加密后的时间戳进行解密处理,得到时间戳;
检测模块,用于根据时间戳所指示的时间信息,以及所述加密后的请求报文的接收时间,检测所述请求报文是否存在第一类安全性风险。
本说明书实施例还提供了一种报文数据的处理装置,包括:
确定模块,用于根据Cookie数据,确定与服务器的交互模式;其中,所述Cookie数据至少包含有第一秘钥的生成规则和第二秘钥的生成规则;
获取模块,用于在确定所述交互模式为加密模式的情况下,从所述Cookie数据中获取第一秘钥的生成规则,和第二秘钥的生成规则;
处理模块,用于根据所述第一秘钥的生成规则,在终端设备本地生成第一秘钥,并利用所述第一秘钥加密请求报文的时间戳,得到携带有加密后的时间戳的请求报文;
所述处理模块,还用于根据所述第二秘钥的生成规则,在终端设备本地生成第二秘钥,并利用所述第二秘钥加密携带有加密后的时间戳的请求报文,得到加密后的请求报文;
发送模块,用于向服务器发送所述加密后的请求报文。
本说明书实施例还提供了一种服务器,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现接收终端设备发送的加密后的请求报文;其中,所述终端设备在根据Cookie数据确定交互模式为加密模式的情况下,利用第一秘钥加密请求报文的时间戳,得到加密后的时间戳;并利用第二秘钥加密携带有加密后的时间戳的请求报文,得到所述加密后的请求报文;所述第一秘钥为终端设备根据第一秘钥的生成规则在本地生成的秘钥数据;所述第二秘钥为终端设备根据第二秘钥的生成规则在本地生成的秘钥数据;所述Cookie数据至少包含有第一秘钥的生成规则和第二秘钥的生成规则;根据所述第二秘钥的生成规则,在服务器本地生成第二秘钥,并利用所述第二秘钥对所述加密后的请求报文进行解密处理,得到携带有加密后的时间戳的请求报文;根据所述第一秘钥的生成规则,在服务器本地生成第一秘钥,并利用所述第一秘钥对所述加密后的时间戳进行解密处理,得到时间戳;根据时间戳所指示的时间信息,以及所述加密后的请求报文的接收时间,检测所述请求报文是否存在第一类安全性风险。
本说明书实施例还提供一种终端设备,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现根据Cookie数据,确定与服务器的交互模式;其中,所述Cookie数据至少包含有第一秘钥的生成规则和第二秘钥的生成规则;在确定所述交互模式为加密模式的情况下,从所述Cookie数据中获取第一秘钥的生成规则,和第二秘钥的生成规则;根据所述第一秘钥的生成规则,在终端设备本地生成第一秘钥,并利用所述第一秘钥加密请求报文的时间戳,得到携带有加密后的时间戳的请求报文;根据所述第二秘钥的生成规则,在终端设备本地生成第二秘钥,并利用所述第二秘钥加密携带有加密后的时间戳的请求报文,得到加密后的请求报文;向服务器发送所述加密后的请求报文。
本说明书实施例还提供了一种计算机可读存储介质,其上存储有计算机指令,所述指令被执行时实现上述报文数据的处理方法。
本说明书提供的一种报文数据的处理方法、装置、服务器和终端设备,通过利用服务器预先生成并将至少包含有第一秘钥的生成规则和第二秘钥的生成规则的Cookie数据发送至终端设备;这样服务器和终端设备可以各自分别在本地生成所需要的第一秘钥和第二秘钥,而不需要再相互传输相关的秘钥数据,从而有效地降低了秘钥数据被泄露的风险,保护了报文数据处理过程中的数据安全;进一步,通过终端设备在发送请求报文前,先利用本地生成的第一秘钥、第二秘钥加密携带有时间戳的请求报文;服务器在接收到加密后的请求报文后,先利用本地生成的第一秘钥、第二秘钥进行解密,得到请求报文的时间戳;再根据时间戳所指示的时间信息,和加密后的请求报文的接收时间来检测该请求报文是否存在第一类安全性风险。通过上述方式可以有效地避免服务器和终端设备之间交互传输的数据遭到篡改和泄露,能够以较低的处理成本,准确、高效地检测出服务器所接收的请求报文是否存在安全性风险,保护***服务器的在报文数据的处理过程中的数据安全,解决了基于现有方法检测报文数据的安全性风险时存在的处理成本高,不准确,容易出现遗漏的技术问题。
附图说明
为了更清楚地说明本说明书实施例,下面将对实施例中所需要使用的附图作简单地介绍,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是应用本说明书实施例提供的报文数据的处理方法的***的结构组成的一个实施例的示意图;
图2是本说明书的一个实施例提供的报文数据的处理方法的流程示意图;
图3是本说明书的一个实施例提供的报文数据的处理方法的流程示意图;
图4是本说明书的一个实施例提供的服务器的结构组成示意图;
图5是本说明书的一个实施例提供的报文数据的处理装置的结构组成示意图;
图6是在一个场景示例中,应用本说明书实施例提供的报文数据的处理方法的一种实施例的示意图;
图7是在一个场景示例中,应用本说明书实施例提供的报文数据的处理方法的一种实施例的示意图;
图8是在一个场景示例中,应用本说明书实施例提供的报文数据的处理方法的一种实施例的示意图;
图9是在一个场景示例中,应用本说明书实施例提供的报文数据的处理方法的一种实施例的示意图;
图10是在一个场景示例中,应用本说明书实施例提供的报文数据的处理方法的一种实施例的示意图;
图11是在一个场景示例中,应用本说明书实施例提供的报文数据的处理方法的一种实施例的示意图;
图12是在一个场景示例中,应用本说明书实施例提供的报文数据的处理方法的一种实施例的示意图;
图13是在一个场景示例中,应用本说明书实施例提供的报文数据的处理方法的一种实施例的示意图;
图14是在一个场景示例中,应用本说明书实施例提供的报文数据的处理方法的一种实施例的示意图;
图15是在一个场景示例中,应用本说明书实施例提供的报文数据的处理方法的一种实施例的示意图;
图16是在一个场景示例中,应用本说明书实施例提供的报文数据的处理方法的一种实施例的示意图;
图17是在一个场景示例中,应用本说明书实施例提供的报文数据的处理方法的一种实施例的示意图;
图18是在一个场景示例中,应用本说明书实施例提供的报文数据的处理方法的一种实施例的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
考虑到基于现有方法在应对安全性风险问题时,往往需要耗费大量的成本先对***服务器进行较为专业、繁复的安全测试,以找出***中存在的安全漏洞;再通过修改***中的相关代码,以侵入的方式修补上述找出的安全漏洞,从而保护***服务器的数据安全。但是,基于上述方法,具体实施时,往往需要耗费较高的处理成本,且容易出现遗漏,不够准确。
针对产生上述问题的根本原因,本说明书考虑可以摒弃现有方法通过安全测试找出漏洞修补漏洞的模式,而是在***服务器一侧布设相应的安全检测框架,并基于该安全检测框架,通过相应的检测器对服务器所接收到的请求报文进行相应检测以及时地识别出存在安全性风险的请求报文,并作对应处理,从而能够以相对较低的处理成本,达到保护***服务器的数据安全的效果。进一步,为了保证服务器和终端设备之间传输的报文不被篡改,服务器可以预先将至少包含有第一秘钥的生成规则和第二秘钥的生成规则的Cookie数据发送至终端设备;这样服务器和终端设备可以各自在本地生成第一秘钥和第二秘钥,而不需要交互传输秘钥数据,降低了秘钥数据在交互传输过程中被泄露的风险。并且,终端设备在发送请求报文前,利用第一秘钥、第二秘钥加密携带有时间戳的请求报文;服务器在接收到加密后的请求报文后,先利用第一秘钥、第二秘钥进行解密,得到时间戳;再根据时间戳所指示的时间信息,和加密后的请求报文的接收时间来检测该请求报文是否存在第一类安全性风险,从而可以更好地保护***服务器的数据安全,解决基于现有方法检测报文数据的安全性风险时存在的处理成本高,不准确,容易出现遗漏的技术问题。
本说明书实施例提供一种报文数据的处理方法。其中,所述报文数据的处理方法具体可以应用于包含有服务器和终端设备的数据处理***中。可以参阅图1所示。***中的服务器和终端设备具体可以通过有线或无线的方式相连,以进行数据交互。
在本实施例中,上述数据处理***具体可以是银行的报文数据处理***,也可以是购物网站的交易数据处理***等。当然,上述所列举的数据处理***只是一种示意性说明。具体实施时,根据具体情况和处理需求,上述数据处理***还可以是应用于其他应用场景中其他类型的数据处理***。对此,本说明书不作限定。
具体实施时,终端设备可以根据Cookie数据,确定与服务器的交互模式;其中,所述Cookie数据至少包含有第一秘钥的生成规则和第二秘钥的生成规则;在确定所述交互模式为加密模式的情况下,从所述Cookie数据中获取第一秘钥的生成规则,和第二秘钥的生成规则;根据所述第一秘钥的生成规则,在终端设备本地生成第一秘钥,并利用所述第一秘钥加密请求报文的时间戳,得到携带有加密后的时间戳的请求报文;根据所述第二秘钥的生成规则,在终端设备本地生成第二秘钥,并利用所述第二秘钥加密携带有加密后的时间戳的请求报文,得到加密后的请求报文;向服务器发送所述加密后的请求报文。
服务器可以接收终端设备发送的加密后的请求报文;其中,所述终端设备在根据Cookie数据确定交互模式为加密模式的情况下,利用第一秘钥加密请求报文的时间戳,得到加密后的时间戳;并利用第二秘钥加密携带有加密后的时间戳的请求报文,得到所述加密后的请求报文;所述第一秘钥为终端设备根据第一秘钥的生成规则在本地生成的秘钥数据;所述第二秘钥为终端设备根据第二秘钥的生成规则在本地生成的秘钥数据;所述Cookie数据至少包含有第一秘钥的生成规则和第二秘钥的生成规则;根据所述第二秘钥的生成规则,在服务器本地生成第二秘钥,并利用所述第二秘钥对所述加密后的请求报文进行解密处理,得到携带有加密后的时间戳的请求报文;根据所述第一秘钥的生成规则,在服务器本地生成第一秘钥,并利用所述第一秘钥对所述加密后的时间戳进行解密处理,得到时间戳;根据时间戳所指示的时间信息,以及所述加密后的请求报文的接收时间,检测所述请求报文是否存在第一类安全性风险。
服务器在确定所述请求报文不存在第一类安全性风险的情况下,可以响应该请求报文进行相应的数据处理,得到对应的答复报文;再将该答复报文反馈给终端设备。
在本实施例中,所述服务器具体可以包括一种能够实现数据传输、数据处理等功能的后台服务器。具体的,所述服务器例如可以为一个具有数据运算、存储功能以及网络交互功能的电子设备。或者,所述服务器也可以为运行于该电子设备中,为数据处理、存储和网络交互提供支持的软件程序。在本实施例中,并不具体限定所述服务器的数量。所述服务器具体可以为一个服务器,也可以为几个服务器,或者,由若干服务器形成的服务器集群。
在本实施例中,所述终端设备具体可以包括一种布设于用户一侧,能够实现数据采集、数据传输等功能的前端电子设备。具体的,所述终端设备例如可以为台式电脑、平板电脑、笔记本电脑、智能手机等。或者,所述终端设备也可以为能够运行于上述电子设备中的软件应用。例如,可以是在智能手机上运行的某浏览器APP等。
参阅图2所示,本说明书实施例提供了一种报文数据的处理方法。其中,该方法具体可以应用于服务器一侧。具体实施时,可以包括以下内容。
S201:接收终端设备发送的加密后的请求报文;其中,所述终端设备在根据Cookie数据确定交互模式为加密模式的情况下,利用第一秘钥加密请求报文的时间戳,得到加密后的时间戳;并利用第二秘钥加密携带有加密后的时间戳的请求报文,得到所述加密后的请求报文;所述第一秘钥为终端设备根据第一秘钥的生成规则在本地生成的秘钥数据;所述第二秘钥为终端设备根据第二秘钥的生成规则在本地生成的秘钥数据;所述Cookie数据至少包含有第一秘钥的生成规则和第二秘钥的生成规则。
S202:根据所述第二秘钥的生成规则,在服务器本地生成第二秘钥,并利用所述第二秘钥对所述加密后的请求报文进行解密处理,得到携带有加密后的时间戳的请求报文。
S203:根据所述第一秘钥的生成规则,在服务器本地生成第一秘钥,并利用所述第一秘钥对所述加密后的时间戳进行解密处理,得到时间戳。
S204:根据时间戳所指示的时间信息,以及所述加密后的请求报文的接收时间,检测所述请求报文是否存在第一类安全性风险。其中,上述第一类安全性风险具体可以理解为在响应并处理请求报文得到对应的答复报文之前所检测出的安全性风险。
在一个实施例中,用户想要与***服务器交互,以执行具体的数据处理时,可以通过终端设备生成对应的请求报文(例如,request报文),以请求服务器进行相应的数据处理,并反馈对应的答复报文(例如,response报文)。
具体的,例如,用户想要与银行***服务器交互,完成某笔转账业务的数据处理时,可以通过终端设备生成相应的用于请求进行转账的数据处理的请求报文。
终端设备在生成上述请求报文之后,不会直接将上述请求报文发送给服务器。而是可以先根据终端设备本地保存的Cookie数据先确定与服务器之间的关于该请求报文的交互模式是否为加密模式。在确定交互模式为加密模式的情况下,终端设备可以根据Cookie数据对请求报文进行相应的加密处理后,得到加密后的请求报文,再将上述加密后的请求报文发送给服务器。从而可以有效地降低请求报文在交互传输过程中被泄露的风险。
其中,上述Cookie数据具体可以理解为一种储存在用户的终端设备本地上的文件数据。通常上述Cookie数据可以是一种小型的文本文件。
在一个实施例中,上述Cookie数据至少可以包含有第一秘钥的生成规则,以及第二秘钥的生成规则。进一步的,上述Cookie数据还可以包含有模式标识(也可以称为加密开关)等其他数据。其中,上述模式标识具体可以包括:用于指示加密模式的模式标识,和/或,用于指示非加密模式的模式标识。
在一个实施例中,上述Cookie数据具体可以是由服务器生成并提供给终端设备的。服务器通过预先将至少包含有第一秘钥的生成规则和第二秘钥的生成规则的Cookie数据发送给终端设备,同时服务器在本地也保存有同样的第一秘钥的生成规则和第二秘钥的生成规则。这样在进行加密模式的数据交互过程中,服务器和终端设备可以分别在本地利用上述第一秘钥的生成规则和第二秘钥的生成规则生成相应的秘钥数据,再利用上述秘钥数据对数据处理后进行交互,而不需要相互再传输秘钥数据,从而可以降低所使用的秘钥数据在传输过程中被泄露的风险,进一步提高数据处理的安全性。
在一个实施例中,用户在通过终端设备向服务器生成并发出请求报文之前,还可以先通过终端设备进行登录操作。
具体的,例如,用户可以在终端设备所展示的账户登录界面中输入自己的身份信息,以及登录凭证。终端设备接收并根据上述用户的身份信息,以及登录凭证,生成并向服务器发送对应的登录请求,以请求登录用户的账户,以便后续该用户可以通过登录了账户的终端设备向服务器生成并发送请求报文。
其中,上述登录请求具体可以携带有用户的身份信息,以及用户的登录凭证。
在一个实施例中,上述用户的身份信息具体可以包括用户的账户名、用户的身份证号、用户的注册手机号等等。上述登录凭证具体可以包括用户的登录密码、用户的人脸图像、用户的指纹数据等等。当然,上述所列举的用户的身份信息、用户的登录凭证只是一种示意性说明。具体实施时,根据具体的应用场景,上述用户的身份信息、登录凭证还可以包括其他类型的数据。对此,本说明书不作限定。
在一个实施例中,在接收终端设备发送的加密后的请求报文之前,所述方法具体实施时,还可以包括以下内容。
S1:接收终端设备发送的登录请求;其中,所述登录请求携带有用户的身份信息和登录凭证;
S2:在对所述用户的身份信息和登录凭证校验通过的情况下,生成与所述用户的身份信息关联的session ID,并确定对应的交互模式;
S3:在确定对应的交互模式为加密模式的情况下,生成第一秘钥的生成规则和第二秘钥的生成规则;
S4:将所述session ID、第一秘钥的生成规则和第二秘钥的生成规则保存在Cookie数据;
S5:将所述Cookie数据反馈给终端设备。
在一个实施例中,服务器在接收到登录请求后,可以先从登录请求中提取出用户的身份信息(例如,用户ID)和登录凭证;再根据上述用户的身份信息查询***的用户信息数据库,找到与所述用户的身份信息匹配的一个或多个凭证数据;再根据上述匹配到的凭证数据,对所述登录凭证进行校验。如果确定登录凭证与匹配到的凭证数据中的一个凭证数据相同,则校验通过,登录成功。
在一个实施例中,在校验通过,登录成功的情况下,服务器可以建立一个与登录了该用户的账户的终端设备设备之间的会话临时表,生成对应的session(一种用于追踪用户的会话的数据),并将该session存储在服务器的内存中。同时,服务器还可以针对该session,生成与该用户的身份信息关联的session ID,并将该session ID写入待反馈给终端设备的Cookie数据中。
在一个实施例中,服务器可以进一步确定与终端设备之间的交互模式。例如,确定交互模式是加密模式还是非加密模式。进而可以生成对应的模式标识,并将该模式标识也写入上述Cookie数据中。
在一个实施例中,在具体确定交互模式时,服务器可以根据用户的身份信息,查询风险用户黑名单,得到对应的查询结果;其中,所述风险用户黑名单存储有风险用户的身份信息;根据所述查询结果,在确定所述用户属于风险用户的情况下,确定对应的交互模式为加密模式。这样可以后续可以有针对性地在与风险用户的终端设备进行数据交互的过程中采用加密模式,从而可以避免数据交互过程中服务器的一些比较重要的数据信息遭到泄露。
在一个实施例中,在具体确定交互模式时,服务器还可以先确定出当前的业务处理场景,进而可以根据该业务处理场景的保密等级,确定交互模式是加密模式还是非加密模式等。例如,对于一些保密等级较低,不涉及敏感信息交互的业务处理场景,可以确定对应的交互模式为非加密模式。而对于一些保密等级较高,涉及敏感信息交互的业务处理场景,可以确定对应的交互模式为加密模式。
在一个实施例中,在确定对应的交互模式为加密模式的情况下,服务器可以生成第一秘钥的生成规则和第二秘钥的生成规则。其中,上述第一秘钥的生成规则用于限定第一秘钥的具体生成方式,上述第二秘钥的生成规则用于限定第二秘钥的具体生成方式。
具体实施时,服务器可以采用将上述第一秘钥的生成规则和第二秘钥的生成规则写入服务器的配置文件的方式,将第一秘钥的生成规则和第二秘钥的生成规则保存在服务器本地。
在一个实施例中,服务器可以将上述第一秘钥的生成规则,与第二秘钥的生成规则一同写入Cookie数据中,并将上述至少包含有第一秘钥的生成规则,与第二秘钥的生成规则的Cookie数据反馈给终端设备。相应的,终端设备接收上述Cookie数据,并将上述Cookie数据保存在终端设备本地(例如,终端设备的内存)。
在一个实施例中,服务器在将所述session ID、第一秘钥的生成规则和第二秘钥的生成规则保存在Cookie数据之后,所述方法具体实施时,还可以包括以下内容:加密所述Cookie数据,得到Cookie数据的密文数据;将所述Cookie数据的密文数据反馈给终端设备。
在本实施例中,通过先加密Cookie数据,再将Cookie数据的密文数据发送给终端设备可以降低Cookie数据被泄露的风险,进一步保护了数据安全。
在一个实施例中,在校验未通过,登录失败的情况下,服务器可以生成并向终端设备反馈登录失败的提示信息。终端设备可以接收并响应该登录失败的提示信息,跳回之前的账户登录界面,以便用户通过该界面重新输入身份信息和登录凭证。
在一个实施例中,终端设备在生成请求报文之后,发送请求报文之前,可以先从本地保存的Cookie数据中获取模式标识。根据所述模式标签,确定交互模式是否为加密模式。在确定交互模式为加密模式的情况下,可以在终端设备本地,根据第一秘钥的生成规则生成第一秘钥;并利用上述第一秘钥加密请求报文所携带的时间戳,得到携带有加密后的时间戳的请求报文。进一步,可以在终端设备本地,根据第二秘钥的生成规则生成第二秘钥;并利用第二秘钥加密携带有加密后的时间戳的请求报文,得到加密后的请求报文;再将上述加密后的请求报文发送至服务器。从而可以通过二重加密的方式,保护请求报文中的时间戳,避免时间戳遭到篡改,保护了数据安全。
在一个实施例中,终端设备所发送的加密后的请求报文还可以携带有对应的session ID。
在一个实施例中,服务器在接收到上述加密后的请求报文之后,可以先从加密后的请求报文中提取出上述session ID;并结合内存中所保存的session,对该session ID的有效性进行校验。在校验通过,确定该session ID有效的情况下,服务器可以从本地(例如,服务器的配置文件)获取相关数据(例如,第一秘钥的生成规则和第二秘钥的生成规则等)对该加密后的请求报文进行后续处理。
相反,在校验未通过,确定该session ID无效的情况下,服务器可以生成相应的报错信息,并暂停对该请求报文进行后续处理。
在一个实施例中,服务器可以根据相关数据中的第二秘钥的生成规则,在服务器本地采用与终端设备生成第二秘钥相同的生成方式生成用于解密的第二秘钥。
在一个实施例中,上述根据所述第二秘钥的生成规则,在服务器本地生成第二秘钥,具体实施时,可以包括以下内容:根据所述第二秘钥的生成规则,获取当前的日期字符串,以及与所述加密后的请求报文对应的session ID;拼接所述当前的日期字符串和session ID,得到第二字符串;利用第二预设哈希函数计算第二字符串的哈希值,作为第二哈希值;根据第二秘钥的生成规则,通过从所述第二哈希值中抽取第二预设数据位上的数值,以生成所第二秘钥。
进而,服务器可以利用上述第二秘钥对加密后的请求报文进行解密处理,得到携带有加密后的时间戳的请求报文。
在一个实施例中,服务器可以根据相关数据中的第一秘钥的生成规则,在服务器本地采用与终端设备生成第一秘钥相同的生成方式生成用于解密的第一秘钥。
在一个实施例中,所述加密后的请求报文还携带有终端设备的特征信息;其中,所述特征信息包括以下至少之一:终端设备所登录的浏览器的版本号、终端设备的屏幕分辨率、终端设备的***信息等。当然,上述特征信息只是一种示意性说明。具体实施时,根据具体的应用场景还可以引入其他类型的与终端设备相关的特征信息。例如,终端设备的处理器型号、终端设备的物理地址等。对此,本说明书不作限定。
在一个实施例中,上述根据所述第一秘钥的生成规则,在服务器本地生成第一秘钥,具体实施时,可以包括以下内容:根据所述第一秘钥的生成规则,(从所述加密后的请求报文中)获取所述终端设备的特征信息;根据所述终端设备的特征信息,生成第一字符串;利用第一预设哈希函数计算第一字符串的哈希值,作为第一哈希值;根据第一秘钥的生成规则,通过从所述第一哈希值中抽取第一预设数据位上的数值,以生成所第一秘钥。
在一个实施例中,具体实施时,根据第一秘钥的生成规则可以获取一种设备的特征信息来生成对应的第一字符串;也可以获取多种设备的特征信息,并将多种设备的特征信息进行拼接后,来生成对应的第一字符串。
当然,需要说明的是,上述所列举的根据第一秘钥的生成规则生成第一秘钥的生成方式,以及根据第二秘钥的生成规则生成第二秘钥的生成方式只是一种示意性说明。
通过上述生成方式生成第一秘钥和第二秘钥,可以使得不具有第一秘钥的生成规则、第二秘钥的生成规则的第三方很难准确地生成上述第一秘钥和第二秘钥,从而可以提高上述第一秘钥和第二秘钥的保密效果,进一步保护了数据安全。
在一个实施例中,上述根据所述时间戳所指示的时间信息,以及所述加密后的请求报文的接收时间,检测所述请求报文是否存在第一类安全性风险,具体实施时,可以包括以下内容:计算所述时间信息与所述接收时间的时间差值;比较所述时间差值与预设的时间阈值,得到对应的比较结果;根据所述比较结果,在确定所述时间差值大于所述预设的时间阈值的情况下,确定所述请求报文存在第一类安全性风险。
在本实施例中,服务器在接收到加密后的密文数据时,会同时记录下接收该加密后的密文数据的时间作为上述接收时间。
服务器可以根据上述时间戳,确定出时间戳所指示的时间信息。通常时间戳所指示的时间信息具体可以为终端设备生成请求报文的时间。
进而,服务器可以通过计算所述时间信息与所述接收时间的时间差值来确定从终端设备生成请求报文到服务器接收到该请求报文之间的时间间隔。再将上述时间间隔与预设的时间阈值进行比较。
如果该时间间隔较长,大于预设的时间阈值,则可以判断该请求报文中途被篡改的概率相对较大,更有可能存在针对***服务器的攻击性行为,存在第一类安全性风险。
如果该时间间隔较短,小于或等于预设的时间阈值,则可以判断该请求报文中途被篡改的概率较小,不存在第一类安全性风险。
其中,上述预设的时间阈值具体可以根据请求报文的传输时间、传输网路的当前状态,以及***的安全性要求等因素灵活设置。对于上述预设的时间阈值的具体数值,本说明书不作限定。
通过上述针对时间戳的比较判断可以有效地识别出具有较大概率被篡改,可能对***服务器存在攻击性行为的请求报文,并确定这类请求报文存在第一类安全性风险。
在本实施例中,上述针对时间戳的比较判断过程具体可以通过配置于服务器的防篡改校验器实现。
在一个实施例中,在确定所述请求报文存在第一类安全性风险之后,所述方法具体实施时,还可以包括以下内容:停止处理所述请求报文,并生成风险提示信息;将所述请求报文发送至用户分类器;其中,所述用户分类器用于根据所接收到的存在第一类安全性风险的请求报文,生成风险用户黑名单。
在本实施例中,服务器在确定请求报文存在第一类安全性风险之后,为了保护***服务器的数据安全,可以停止正常响应处理该请求报文。并且,还可以生成相应的风险提示信息,反馈给终端设备,以告知用户由于所发送的请求报文存在安全性风险,拒绝处理。
在一个实施例中,服务器还可以将上述存在第一类安全性风险的请求报文发送至配置于服务器的用户分类器。进而,具体实施时,服务器可以通过上述用户分类器对所述接收到的存在第一类安全性风险的请求报文,以各个请求报文所对应的用户的身份信息作为统计维度,进行统计处理,得到对应的统计结果。其中,上述统计结果具体可以是一段时间内对应各个用户的身份信息的存在第一类安全性风险的请求报文的统计数量。
进一步,可以根据上述统计结果,将所对应的存在第一类安全性风险的请求报文的统计数量靠前,或者大于预设的数量阈值的用户的身份信息添加到风险用户黑名单,从而可以将该用户的身份信息所对应的用户确定为风险用户。
在一个实施例中,在根据所述比较结果,在确定所述时间差值小于或等于所述预设的时间阈值的情况下,可以确定该请求报文较大概率可能不存在第一类安全性风险,这时服务器可以响应该请求报文,进行相应的数据处理;并根据具体的数据处理结果,生成并向终端设备反馈对应的答复报文。
在一个实施例中,在根据所述比较结果,在确定所述时间差值小于或等于所述预设的时间阈值之后,还可以对请求报文的安全性风险进行进一步的检测判断,从而可以更加准确地识别、确定出该请求报文是否存在安全性风险。
在一个实施例中,所述方法具体实施时,还可以包括以下内容:
S1:根据所述比较结果,在确定所述时间差值小于或等于所述预设的时间阈值的情况下,获取并根据用户的身份信息,查询***的日志记录,以获取预设的时间段内用户的行为统计数据;其中,所述预设的时间段内用户的行为统计数据包括:预设的时间段内用户发送报文数据的总量,和/或,发送报文数据的频率;
S2:根据所述预设的时间段内用户的行为统计数据,确定所述请求报文是否存在第一类安全性风险。
其中,上述***的日志记录可以记录有历史上***种各个服务器所接收到的请求报文的接收时间,以及该请求报文所对应的用户的身份信息。
在本实施例中,在通过对请求报文的时间戳进行比较判断之后,还可以进一步获取并根据该请求报文所对应的用户的行为统计数据,从用户的行为层面上判断该请求报文是否存在攻击性行为,是否存在安全性风险。
具体的,服务器可以根据请求报文的用户的身份信息,通过查询***的日志记录,确定出预设的时间段内(例如,当天,或者最近一周等)该用户所发送的报文数据的总量,和/或,发送报文数据的频率等行为统计数据。进而可以根据上述所列举的行为统计数据中的一种或多种来判断该用户发送报文数据的行为是否反常。
例如,正常情况下用户每天发送的报文数据的总量都在100条以内。而某个用户当天发送的报文数据的总量特别大,总量达到了上万条,远大于一个用户每天发送的报文数据的总量的正常范围。这显然是很反常的。很有可能是黑客等利用该用户的身份信息通过在某一段时间发送大量报文数据,对***服务器进行攻击。这种情况下,可以判断***服务器当前所接收到的对应该用户的身份信息的请求报文具有较大概率也存在攻击性行为,进而可以确定该请求报文也存在第一类安全性风险。
这时服务器可以停止处理该请求报文,并生成风险提示信息;同时还将所述请求报文发送至用户分类器。
上述针对发送请求报文的用户的行为统计数据的检测判断过程具体可以是由配置于服务器上的交易频率限制器执行完成的。
在一个实施例中,考虑到通常存在攻击性行为的有安全性风险的请求报文往往还会携带有一些相关的风险字符。因此,为了能够更加精准地识别出存在第一类安全性风险的请求报文,避免出现遗漏,还可以通过检测请求报文中字符对请求报文是否存在第一类安全性风险进行进一步的检测判断。
在一个实施例中,在根据所述比较结果,在确定所述时间差值小于或等于所述预设的时间阈值的情况下,所述方法具体实施时,还可以包括以下内容:根据预设的payload字典,检测所述请求报文是否携带有预设的风险字符;其中,所述预设的风险字符包括:与SQL注入相关的风险字符、与XSS相关的风险字符、与XML外部实体相关的风险字符;在确定所述请求报文携带有预设的风险字符的情况下,将所述请求报文标记为潜在风险报文;将所述潜在风险报文发送至用户分类器。
在本实施例中,上述预设的payload字典具体可以理解为一种存储有与多种风险相关的预设的风险字符的字典表。具体实施时,可以获取最新的漏洞信息,进而可以根据最新的漏洞信息及时地更新上述payload字典。
在一个实施例中,在安全性要求相对较高、较严格的场景中,在确定所述请求报文携带有预设的风险字符的情况下,可以直接将该请求报文确定为存在第一类安全性风险的请求报文,并将该请求报文发送至用户分类器。
在一个实施例中,在其他安全性要求相对较低的场景中,在确定所述请求报文携带有预设的风险字符的情况下,往往还不能直接将该请求报文确定为存在第一类安全性风险的请求报文,这时可以将该请求报文确定存在潜在风险的报文,并作相应的标记。例如,将该请求报文标记为潜在风险报文。再将上述标记为潜在风险报文发送至用户分类器进行处理。
进一步,服务器还可以过滤掉该请求报文中携带的预设的风险字符,再对过滤后的该请求报文进行进一步的检测判断。通过上述过滤,可以避免上述预设的风险字符对后续的检测判断的干扰,从而能够从其他层面上准确地确定出该请求报文是否存在安全性风险。
上述检测过滤请求报文中的预设的风险字符的过程具体可以是由配置于服务器的payload过滤器执行完成。
在一个实施例中,在根据所述比较结果,在确定所述时间差值小于或等于所述预设的时间阈值的情况下,所述方法具体实施时还可以包括以下内容:根据所述请求报文,确定所述请求报文所涉及的目标权限;根据用户的身份信息,获取用户的权限表;根据所述用户的权限表和所述目标权限,确定所述请求报文是否存在越权操作;在确定所述请求报文存在越权操作的情况下,确定所述请求报文存在第一类安全性风险。
在本实施例中,还可以通过检测请求报文所涉及到的目标权限是否越权,从用户的权限层面上来进一步更加精细地判断请求报文是否存在安全性风险。
在一个实施例中,服务器可以根据请求报文的具体报文内容,确定出请求报文所请求的数据处理;进而可以根据该数据处理,确定所涉及到的功能权限,作为该请求报文所涉及的目标权限。进一步,服务器可以根据用户的身份信息,通过查询***的用户权限数据库,获取该用户的权限表。进而可以根据上述权限表,确定目标权限是否与权限表中至少一个权限匹配。在确定目标权限与权限表中的所有权限都不匹配的情况系,确定该请求报文存在越权操作。这时可以判断该请求报文存在反常,有较大概率存在攻击性行为,进而可以确定该请求报文存在第一类安全性风险。并将该请求报文发送至用户分类器处理。
上述检测请求报文所涉及的目标权限的过程具体可以是由配置于服务器的功能权限校验器执行完成。
需要说明的是,根据具体情况和安全性要求,可以灵活地搭配、组合上述所列举的多种检测请求报文是否存在第一类安全性风险的检测方式,从而能够精细、准确地识别、判断出当前所接收到的请求报文是否存在第一类安全性风险。
在一个实施例中,在确定所述请求报文不存在第一类安全性风险的情况下,所述方法具体实施时,还可以包括以下内容:响应所述请求报文,进行相应的数据处理,得到对应的答复报文;向所述终端设备发送所述答复报文。
具体的,例如,服务器在确定请求报文不存在第一类安全性风险的情况下,可以响应该请求报文,完成用户所请求转账业务的数据处理,并根据处理结果,生成对应的答复报文,通过发送至终端设备,反馈给用户。
在一个实施例中,又考虑到许多业务场景中还会存在例如通过发送看似比较正常的请求报文来套取服务器反馈携带有敏感信息的答复报文的风险行为。其中,上述敏感信息具体可以理解为***服务器不应该泄露的数据信息。通过上述风险行为,会造成***服务器数据的泄露,对***的数据安全造成损害。
因此,为了避免上述风险行为导致***服务器的数据泄露,以进一步保护***的数据安全,在生成对应的答复报文之后,将该答复报文发送至终端设备之前,服务器还可以通过对答复报文所携带的信息进行检测判断来确定该答复报文是否可能会泄露一些敏感信息,进而可以返回判断对应的请求报文是否存在第二类安全性风险。其中,上述第二类安全性风险具体可以理解为在响应并处理请求报文得到对应的答复报文之后所检测出的安全性风险。
在一个实施例中,在向所述终端设备发送所述答复报文之前,所述方法具体实施时,还可以包括以下内容:根据所述预设的容错字典,检测所述答复报文是否携带有与敏感信息相关的关键词;在确定所述答复报文携带有所述与敏感信息相关的关键词的情况下,确定所述请求报文存在第二类安全性风险。
在本实施例中,上述预设的容错字典具体可以为一种存储有与敏感信息相关的关键词的字典数据。
在一个实施例中,服务器在检测到答复报文中携带有一个或多个容错字典中存储的与敏感信息相关的关键词的情况下,可以判断该答复请求可能会泄露***服务器的数据信息,进而可以确定与该答复报文对应的请求报文存在较大概率在套取***服务器的敏感信息,因此,可以确定该请求报文存在第二类安全性风险。
在一个实施例中,在确定所述请求报文存在第二类安全性风险的情况下,所述方法具体实施时,还可以包括以下内容:获取误导数据;其中,所述误导数据包括蜜罐服务器信息;利用所述误导数据替换所述答复报文,反馈给终端设备。
其中,上述误导数据具体可以理解为一种与原答复报文中所携带的数据信息存在差异,包含有错误信息的数据。
具体的,上述误导数据具体可以包括蜜罐服务器信息,例如,蜜罐服务器的无理地址、蜜罐服务器的***信息等。其中,上述蜜罐服务器具体可以理解为一种用于误导的诱饵服务器。当然,上述所列举的蜜罐服务器信息只是一种示意性说明。具体实施时,根据具体情况,还可以采用其他类型的错误数据作为上述误导数据。
在本实施例中,通过发送误导数据来代替答复报文,进行容错处理,并将该误导数据反馈给终端设备,可以对黑客等想要套取***服务器的敏感信息的第三方造成干扰,影响其判断,从而可以避免***服务器的数据信息遭到泄露,保护***服务器的数据安全。
上述检测第二类安全性风险,并作相应处理的过程具体可以是由配置于服务器的溶处理器执行完成的。
在一个实施例中,在确定所述请求报文不存在第二类安全性风险的情况下,所述方法具体实施时,还可以包括以下内容:根据第二秘钥的生成规则,在服务器本地生成第二秘钥;利用第二秘钥对所述答复报文进行加密处理,得到加密后的答复报文;向所述终端设备发送所述加密后的答复报文。
这样可以有效地避免答复报文所携带的数据信息在交互传输过程中被第三截获而造成数据泄露。从而可以更好地保护***的数据安全。
相应的,终端设备在接收到上述加密后的答复报文后,可以先根据第二秘钥的生成规则,在终端设备本地生成相同的第二秘钥;并利用第二秘钥对上述加密后的答复报文进行解密处理,得到答复报文的明文数据。
在一个实施例中,在上述各个处理过程中,服务器还可以将处理过程中得到的报文数据的相关信息,以及具体的处理操作等提交到日志记录器进行记录,以建立服务器关于报文数据的处理日志。后续,服务器还可以根据上述处理日志对报文数据的各个处理过程进行回溯校验,从而可以更好地保护***的数据安全。
由上可见,本说明书实施例提供的报文数据的处理方法,通过服务器预先将至少包含有第一秘钥的生成规则和第二秘钥的生成规则的Cookie数据发送至终端设备;这样服务器和终端设备可以各自分别在本地生成第一秘钥和第二秘钥,而不需要交互传输相关的秘钥数据,从而降低了秘钥数据被泄露截取的风险,保护了数据安全;进一步,通过终端设备在发送请求报文前,利用本地生成的第一秘钥、第二秘钥加密携带有时间戳的请求报文;服务器在接收到加密后的请求报文后,先利用本地生成的第一秘钥、第二秘钥进行解密,得到请求报文的时间戳;再根据时间戳所指示的时间信息,和加密后的请求报文的接收时间来检测该请求报文是否存在第一类安全性风险。通过上述方式可以有效地避免交互传输的数据遭到篡改,能够以较低的处理成本,准确、高效地检测出服务器所接收的请求报文是否存在安全性风险,保护了服务器的数据安全,解决了基于现有方法检测报文数据的安全性风险时存在的处理成本高,不准确,容易出现遗漏的技术问题。进一步,还通过先采用多种不同的检测方式搭配组合来检测请求报文是否存在第一类安全性风险;在确定请求报文不存在第一类安全性风险,响应并处理该请求报文,得到对应的答复报文之后,在向终端设备反馈该答复报文之前,还通过检测该答复报文确定请求报文是否存在第二类安全性风险,以避免泄露***服务器的数据信息,从而能够更加精准、全面地检测出存在安全性风险的报文数据,更好地保护***服务器的数据安全。
参阅图3所示,本说明书实施例还提供了一种报文数据的处理方法,该方法具体可以应用于终端设备一侧。该方法具体实施时,可以包括以下内容。
S301:根据Cookie数据,确定与服务器的交互模式;其中,所述Cookie数据至少包含有第一秘钥的生成规则和第二秘钥的生成规则;
S302:在确定所述交互模式为加密模式的情况下,从所述Cookie数据中获取第一秘钥的生成规则,和第二秘钥的生成规则;
S303:根据所述第一秘钥的生成规则,在终端设备本地生成第一秘钥,并利用所述第一秘钥加密请求报文的时间戳,得到携带有加密后的时间戳的请求报文;
S304:根据所述第二秘钥的生成规则,在终端设备本地生成第二秘钥,并利用所述第二秘钥加密携带有加密后的时间戳的请求报文,得到加密后的请求报文;
S305:向服务器发送所述加密后的请求报文。
在一个实施例中,在根据Cookie数据,确定与服务器的交互模式之前,所述方法具体实施时,还可以包括:向服务器发送登录请求;其中,所述登录请求携带有用户的身份信息和登录凭证;接收服务器反馈的Cookie数据;其中,所述服务器在对所述用户的身份信息和登录凭证校验通过的情况下,生成并向终端设备发送相应的Cookie数据,所述Cookie数据至少包括:与所述用户的身份信息关联的session ID、第一秘钥的生成规则和第二秘钥的生成规则。
在一个实施例中,所述Cookie数据具体还可以包括模式标识,相应的,上述根据Cookie数据,确定与服务器的交互模式,具体实施时,可以包括:从所述Cookie数据中提取所述模式标识,并根据所述模式标识确定与服务器的交互模式。
在一个实施例中,上述根据所述第一秘钥的生成规则,在终端设备本地生成第一秘钥,具体实施时,可以包括:根据所述第一秘钥的生成规则,获取终端设备的特征信息;根据所述终端设备的特征信息,生成第一字符串;利用第一预设哈希函数计算第一字符串的哈希值,作为第一哈希值;根据第一秘钥的生成规则,通过从所述第一哈希值中抽取第一预设数据位上的数值,以生成所第一秘钥。
在一个实施例中,上述根据所述第二秘钥的生成规则,在终端设备本地生成第二秘钥,具体实施时,可以包括:根据所述第二秘钥的生成规则,获取当前的日期字符串,以及session ID;拼接所述当前的日期字符串和session ID,得到第二字符串;利用第二预设哈希函数计算第二字符串的哈希值,作为第二哈希值;根据第二秘钥的生成规则,通过从所述第二哈希值中抽取第二预设数据位上的数值,以生成所第二秘钥。
本说明书实施例还提供了一种服务器,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器具体实施时可以根据指令执行以下步骤:接收终端设备发送的加密后的请求报文;其中,所述终端设备在根据Cookie数据确定交互模式为加密模式的情况下,利用第一秘钥加密请求报文的时间戳,得到加密后的时间戳;并利用第二秘钥加密携带有加密后的时间戳的请求报文,得到所述加密后的请求报文;所述第一秘钥为终端设备根据第一秘钥的生成规则在本地生成的秘钥数据;所述第二秘钥为终端设备根据第二秘钥的生成规则在本地生成的秘钥数据;所述Cookie数据至少包含有第一秘钥的生成规则和第二秘钥的生成规则;根据所述第二秘钥的生成规则,在服务器本地生成第二秘钥,并利用所述第二秘钥对所述加密后的请求报文进行解密处理,得到携带有加密后的时间戳的请求报文;根据所述第一秘钥的生成规则,在服务器本地生成第一秘钥,并利用所述第一秘钥对所述加密后的时间戳进行解密处理,得到时间戳;根据时间戳所指示的时间信息,以及所述加密后的请求报文的接收时间,检测所述请求报文是否存在第一类安全性风险。
为了能够更加准确地完成上述指令,参阅图4所示,本说明书实施例还提供了另一种具体的服务器,其中,所述服务器包括网络通信端口401、处理器402以及存储器403,上述结构通过内部线缆相连,以便各个结构可以进行具体的数据交互。
其中,所述网络通信端口401,具体可以用于接收终端设备发送的加密后的请求报文;其中,所述终端设备在根据Cookie数据确定交互模式为加密模式的情况下,利用第一秘钥加密请求报文的时间戳,得到加密后的时间戳;并利用第二秘钥加密携带有加密后的时间戳的请求报文,得到所述加密后的请求报文;所述第一秘钥为终端设备根据第一秘钥的生成规则在本地生成的秘钥数据;所述第二秘钥为终端设备根据第二秘钥的生成规则在本地生成的秘钥数据;所述Cookie数据至少包含有第一秘钥的生成规则和第二秘钥的生成规则。
所述处理器402,具体可以用于根据所述第二秘钥的生成规则,在服务器本地生成第二秘钥,并利用所述第二秘钥对所述加密后的请求报文进行解密处理,得到携带有加密后的时间戳的请求报文;根据所述第一秘钥的生成规则,在服务器本地生成第一秘钥,并利用所述第一秘钥对所述加密后的时间戳进行解密处理,得到时间戳;根据时间戳所指示的时间信息,以及所述加密后的请求报文的接收时间,检测所述请求报文是否存在第一类安全性风险。
所述存储器403,具体可以用于存储相应的指令程序。
在本实施例中,所述网络通信端口401可以是与不同的通信协议进行绑定,从而可以发送或接收不同数据的虚拟端口。例如,所述网络通信端口可以是负责进行web数据通信的端口,也可以是负责进行FTP数据通信的端口,还可以是负责进行邮件数据通信的端口。此外,所述网络通信端口还可以是实体的通信接口或者通信芯片。例如,其可以为无线移动网络通信芯片,如GSM、CDMA等;其还可以为Wifi芯片;其还可以为蓝牙芯片。
在本实施例中,所述处理器402可以按任何适当的方式实现。例如,处理器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式等等。本说明书并不作限定。
在本实施例中,所述存储器403可以包括多个层次,在数字***中,只要能保存二进制数据的都可以是存储器;在集成电路中,一个没有实物形式的具有存储功能的电路也叫存储器,如RAM、FIFO等;在***中,具有实物形式的存储设备也叫存储器,如内存条、TF卡等。
本说明书实施例还提供一种终端设备,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器具体实施时可以根据指令执行以下步骤:根据Cookie数据,确定与服务器的交互模式;其中,所述Cookie数据至少包含有第一秘钥的生成规则和第二秘钥的生成规则;在确定所述交互模式为加密模式的情况下,从所述Cookie数据中获取第一秘钥的生成规则,和第二秘钥的生成规则;根据所述第一秘钥的生成规则,在终端设备本地生成第一秘钥,并利用所述第一秘钥加密请求报文的时间戳,得到携带有加密后的时间戳的请求报文;根据所述第二秘钥的生成规则,在终端设备本地生成第二秘钥,并利用所述第二秘钥加密携带有加密后的时间戳的请求报文,得到加密后的请求报文;向服务器发送所述加密后的请求报文。
本说明书实施例还提供了一种基于上述报文数据的处理方法的计算机存储介质,所述计算机存储介质存储有计算机程序指令,在所述计算机程序指令被执行时实现:接收终端设备发送的加密后的请求报文;其中,所述终端设备在根据Cookie数据确定交互模式为加密模式的情况下,利用第一秘钥加密请求报文的时间戳,得到加密后的时间戳;并利用第二秘钥加密携带有加密后的时间戳的请求报文,得到所述加密后的请求报文;所述第一秘钥为终端设备根据第一秘钥的生成规则在本地生成的秘钥数据;所述第二秘钥为终端设备根据第二秘钥的生成规则在本地生成的秘钥数据;所述Cookie数据至少包含有第一秘钥的生成规则和第二秘钥的生成规则;根据所述第二秘钥的生成规则,在服务器本地生成第二秘钥,并利用所述第二秘钥对所述加密后的请求报文进行解密处理,得到携带有加密后的时间戳的请求报文;根据所述第一秘钥的生成规则,在服务器本地生成第一秘钥,并利用所述第一秘钥对所述加密后的时间戳进行解密处理,得到时间戳;根据时间戳所指示的时间信息,以及所述加密后的请求报文的接收时间,检测所述请求报文是否存在第一类安全性风险。
在本实施例中,上述存储介质包括但不限于随机存取存储器(Random AccessMemory,RAM)、只读存储器(Read-Only Memory,ROM)、缓存(Cache)、硬盘(Hard DiskDrive,HDD)或者存储卡(Memory Card)。所述存储器可以用于存储计算机程序指令。网络通信单元可以是依照通信协议规定的标准设置的,用于进行网络连接通信的接口。
在本实施例中,该计算机存储介质存储的程序指令具体实现的功能和效果,可以与其它实施方式对照解释,在此不再赘述。
参阅图5所示,在软件层面上,本说明书实施例还提供了一种报文数据的处理装置,该装置具体可以包括以下的结构模块。
接收模块501,具体可以用于接收终端设备发送的加密后的请求报文;其中,所述终端设备在根据Cookie数据确定交互模式为加密模式的情况下,利用第一秘钥加密请求报文的时间戳,得到加密后的时间戳;并利用第二秘钥加密携带有加密后的时间戳的请求报文,得到所述加密后的请求报文;所述第一秘钥为终端设备根据第一秘钥的生成规则在本地生成的秘钥数据;所述第二秘钥为终端设备根据第二秘钥的生成规则在本地生成的秘钥数据;所述Cookie数据至少包含有第一秘钥的生成规则和第二秘钥的生成规则;
处理模块502,具体可以用于根据所述第二秘钥的生成规则,在服务器本地生成第二秘钥,并利用所述第二秘钥对所述加密后的请求报文进行解密处理,得到携带有加密后的时间戳的请求报文;
所述处理模块502,具体还可以用于根据所述第一秘钥的生成规则,在服务器本地生成第一秘钥,并利用所述第一秘钥对所述加密后的时间戳进行解密处理,得到时间戳;
检测模块503,具体可以用于根据时间戳所指示的时间信息,以及所述加密后的请求报文的接收时间,检测所述请求报文是否存在第一类安全性风险。
需要说明的是,上述实施例阐明的单元、装置或模块等,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本说明书时可以把各模块的功能在同一个或多个软件和/或硬件中实现,也可以将实现同一功能的模块由多个子模块或子单元的组合实现等。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
本说明书实施例还提供了另一种报文数据的处理装置,包括:确定模块,具体可以用于根据Cookie数据,确定与服务器的交互模式;其中,所述Cookie数据至少包含有第一秘钥的生成规则和第二秘钥的生成规则;获取模块,具体可以用于在确定所述交互模式为加密模式的情况下,从所述Cookie数据中获取第一秘钥的生成规则,和第二秘钥的生成规则;处理模块,具体可以用于根据所述第一秘钥的生成规则,在终端设备本地生成第一秘钥,并利用所述第一秘钥加密请求报文的时间戳,得到携带有加密后的时间戳的请求报文;所述处理模块,具体还可以用于根据所述第二秘钥的生成规则,在终端设备本地生成第二秘钥,并利用所述第二秘钥加密携带有加密后的时间戳的请求报文,得到加密后的请求报文;发送模块,具体可以用于向服务器发送所述加密后的请求报文。
由上可见,本说明书实施例提供的报文数据的处理装置,可以有效地避免交互传输的数据遭到篡改,能够以较低的处理成本,准确、高效地检测出服务器所接收的请求报文是否存在安全性风险,保护了服务器的数据安全。
在一个具体的场景示例中,可以应用本说明书实施例提供的报文数据的处理方法来处理银行的业务数据处理***所接收到的报文数据。具体实施过程可以参阅以下内容。
具体的,可以参阅图6所示,基于上述报文数据的处理方法,在***服务器一侧引入一种包含有负责各种类型检测的模块(例如,防篡改校验器、交易频率限制器、Payload过滤器、功能权限校验器、容错处理器),以及日志记录器和用户分类器的非侵入式的模块化应用***安全加固框架。进而可以利用该安全加固框架对接收到的报文数据的安全性风险进行检测,并作相应处理。具体实施过程可以包括以下步骤。
步骤1,用户在客户端(即终端设备)进行操作,客户端生成明文请求报文。
步骤2,客户端根据Cookie(即Cookie数据)中的加密开关(即模式标识)、时间戳密钥生成模式(即第一秘钥的生成规则)、报文密钥生成模式(即第二秘钥的生成规则),对明文请求报文进行加密,并将密文(即加密后的请求报文)发送到服务器端。
步骤3,根据服务器端当前配置的加密开关、时间戳密钥生成模式、报文密钥生成模式,对密文进行解密并获得明文请求报文,将此明文请求报文发送到步骤4防篡改校验器及步骤15日志记录器进行记录。
步骤4,根据报文中解密后的时间戳进行判断:如果服务器时间(例如,接收时间)减去时间戳时间大于配置的阀值(例如,预设的时间阈值),则将该请求判定为篡改报文(可以确定存在第一类安全性风险)。此时不对请求进行进一步处理,而将此报文提交至步骤13用户分类器,同时返回报错。如果服务器时间减去时间戳时间小于等于配置的阀值,则将该请求判定为非篡改报文并提交至步骤5交易频率限制器。
步骤5,将用户ID(例如,用户的身份信息)、时间戳记录到后台并判断:1)该用户当日交易总量是否超过阈值;2)该用户当前交易频率是否超过阈值。如有任意一项超过阀值则判定为超限交易,此时不对请求进行进一步处理(可以确定存在第一类安全性风险),将此报文提交至步骤13用户分类器,同时返回报错。如两项均未超过阀值,则将该请求判定为非超限报文并提交至步骤6payload过滤器。
步骤6,根据服务器端配置的payload字典(即,预设的payload字典),检索请求中是否包含payload(例如,预设的风险字符)。如果包含,则将此报文提交至步骤13用户分类器,同时剔除payload并将剔除后的报文提交至步骤15日志记录器,并将剔除后的报文提交至步骤7功能权限校验器;如果不包含,则直接将报文提交至步骤7功能权限校验器。
步骤7,根据报文中的session ID匹配到用户ID后,查询后台权限表并查询得到该用户的功能权限,校验该请求提交的交易是否符合该用户的功能权限。如不符(可以确定存在越权操作),则不对请求进行进一步处理,将此报文提交至步骤13用户分类器,同时返回报错.如相符,则将报文提交至步骤8。
步骤8,经过步骤4-7,已基本排出用户存在恶意攻击行为。此步骤调用对应的功能处理程序,生成明文response报文(即答复报文),此时将此response报文提交至步骤9容错处理器并提交至步骤15日志记录器。
步骤9,接收明文response报文并读取容错关键词字典(即,预设的容错字典),检索请求中是否包含容错关键词。如果包含,则读取服务器端配置的蜜罐报错信息并作为response报文返回,以扰乱黑客的判断,并将容错处理后的报文提交至步骤15日志记录器;如果不包含,则提交至步骤10服务端对响应报文加密。
步骤10,服务端根据加密开关、密钥信息对response报文进行加密并提交至步骤11客户端对响应报文解密。
步骤11,客户端根据Cookie中的加密开关、密钥信息对response报文进行解密,获得明文response报文后提交至步骤12。
步骤12,客户端解析明文response,报文交互流程完毕。
步骤13,用户分类器接收多种经安全组件校验,判定为可疑的请求报文,将这些报文及相关数据记录到可疑交易表,在批量中按用户粒度统计可疑交易数,并按设置阈值将超限的用户记录到黑名单用户表(即,风险用户黑名单)。
步骤14,可以使用上述黑名单用户表作为智能加密场景中判断某用户的交易报文是否需要加密的依据。同时,也可以利用上述黑名单用户表作为管理员评判、分析用户异常行为的依据之一。由于数据是记录到数据库的,因此也便于开发者进行二次开发,开发相关的前端功能,便于管理员查询、修改黑名单数据。
步骤15,通过日志记录器接收所有原始或经安全组件处理后的明文报文,记录报文内容、序号、客户端IP、时间戳、报文类型等用以完整回溯交易的字段。
需要说明的是,上述安全加固框架包含诸多配置项,这些配置项可以被存放在服务器端的配置文件中。为了更好地保护数据安全,还需注意该配置文件的修改权限,以免被黑客篡改或删除。这些配置项具体可以包含有:报文加密开关(全局开启、全局关闭、智能加密)、时间戳密钥生成模式、报文密钥生成模式、防篡改校验器开关、报文防篡改阈值(单位:毫秒)、交易频率限制器开关、当日交易总量阈值(每日X笔)、当前交易频率阈值(每分钟X笔)、Payload过滤器开关、Payload字典表(通过正则表达式定义)、功能权限校验器开关、容错处理器开关、容错字典表(通过正则表达式定义)、蜜罐报错信息、用于用户分类器的可疑交易阈值(可疑交易类型+阈值)等。
具体的,关于步骤2,在客户端对请求报文加密的登陆场景中(可以记为2.1),可以参阅图7所示。通常而言,这是每次用户发起会话的步骤,通过该步骤,客户端将获取包含session ID、报文加密开关、密钥生成模式,以便在后续交易中通过服务端校验并顺利开展报文加解密,具体地:客户端发送登陆请求;服务端校验用户名(即用户的身份标识)、密码(即登录凭证),如果校验不通过则重新跳转至登陆认证页面。如果校验通过,则为用户生成session ID并写入Cookie,同时将用户ID、session ID记入会话临时表;服务器端读取报文加密开关及时间戳加密密钥生成模式;当报文加密开关:全局启用时,读取报文密钥生成模式并写入Cookie;当报文加密开关:全局关闭时,将关闭标志写入Cookie;当报文加密开关:智能加密时,服务器后端根据session ID关联到用户ID并查询黑名单用户表,如果用户不在黑名单中,则按加密关闭处理,如果在黑名单中,则按加密启用处理;完成报文加密开关、报文密钥生成模式的获取及写入Cookie后,再读取时间戳密钥生成模式,写入Cookie后回传至客户端。(此时,Cookie应包含当前会话的session ID、报文加密开关、报文及时间戳加密密钥生成模式)。
需要说明的是:无论用户是否为黑名单用户,均需获取时间戳密钥生成模式并在后续步骤中,对request报文(即,请求报文)中的时间戳进行加密,以避免用户拦截发报并篡改其中的时间戳,从而绕过防篡改校验器及交易频率限制器的控制。
关于步骤2,在客户端对请求报文加密的非登陆场景中(可以记为2.2),可以参阅图8所示。通常而言,这是每次用户发起触发常规交易时的流程图,具体地:客户端触发任意非登录交易;客户端读取Cookie;读取Cookie中时间戳加密密钥生成模式并在生成request报文时添加加密后的时间戳;读取cookie中报文加密开关标识,如果为开启,则读取报文密钥生成模式并对request报文加密,最后将密文request发送至服务器。如果为关闭,则直接生成明文request报文并发送至服务器。
需要说明的是:1)此步骤中,需要先对时间戳进行加密,再对报文整体进行加密。2)针对报文、时间戳的密钥可以提供两种生成模式(例如,第一秘钥的生成规则和第二秘钥的生成规则)。
其中,第一种可以是根据当前日期和session ID拼接字符串,例如,得到以下的拼接字符串:YYMMDD+sessionID,再经哈希算法转化为固定长度的字符串(SHA1算法可转化为160位),并截取若干位哈希值作为密钥(可选用SHA1等哈希算法);第二种根据可以是将前端浏览器信息(例如:浏览器版本号、屏幕分辨率、操作***信息等)的字符串拼接后经哈希算法转化为固定长度的字符串。配置时,对于报文及时间戳密钥,可以选择不同的生成模式,避免两者一致。
通过此方法生成密钥,既保证前后端使用的对称密钥一致(默认情况下,本框架的加解密均使用对称加密),并且还能使得每次生成不同内容的对称密钥,避免明文传输密钥,提升安全性。此外,通过代码混淆增加前端调阅、调试难度,隐藏加密逻辑。
关于步骤3,可以参阅图9所示。具体地:服务器端接收request报文,校验session有效性,如session无效则跳转至登录页面;如session有效,则读取服务器端的配置文件,获取加密开关标志及报文、时间戳密钥生成模式;根据服务器端配置的密钥生成模式对报文解密,并对request中时间戳字段进行解密。为request生成报文序列号,将其与报文状态(原始)、明文request报文递交至日志记录器;同时递交至下一步骤防篡改校验器。
需要说明的是:由于时间戳先于报文整体加密,因此解密时需先对报文整体解密,再对时间戳进行二次解密。完成所有解密工作后,为报文附上序列号及状态,从而构成联合主键,并记录到日志中,以便于后续定位该请求。
关于步骤4,可以参阅图10所示。具体地:服务器获取明文request报文后,获取已解密的时间戳字段;读取服务器端配置的报文防篡改阈值;判断服务器时间减去request的时间戳时间是否超过阈值;如超过,不处理request,返回报错信息;将报文序列号、用户ID、可疑类型提交至用户分类器;如未超过,则将request提交至交易频率限制器。
需要说明的是:设置报文防篡改阈值时应充分考虑用户的客户端性能、网络延迟、报文加解密的耗时等客观因素,以免拦截正常交易。
关于步骤5,可以参阅图11所示。具体地:通过防篡改校验后,获取解密后的时间戳字段;根据request报文中的session ID匹配会话临时表并获取用户ID;将用户ID、报文时间戳记录到交易频率表;读取服务器端配置的当日交易总量阈值,并判断该用户当日交易总量是否超过阈值(count交易频率表中该用户当日交易笔数);如未超过,读取服务器端配置的当前交易频率阈值,并判断该用户当前交易频率是否超过阈值(count交易频率表中该用户当前这分钟内的交易笔数,如当前交易发生在12:00:50,此前存在11:59:59、12:00:01两笔交易,则当前交易频率为2);如未超过,则视为正常交易,提交至下一步骤;如超过任意一项阈值,则视为超限交易,不处理request,返回报错信息并将报文序列号、用户ID、可疑类型递交至用户分类器。
需要说明的是:本框架默认的控制粒度为全局控制,如需精确控制到角粒度、机构粒度、用户粒度,可进行二次开发。设置阈值时,应考虑到特别情况,如双11交易高峰等,避免拦截正常交易。
关于步骤6,可以参阅图12所示。具体地:接收经过交易频率限制器校验的明文request;服务器读取当前配置的payload字典;检索request中是否包含payload字典;如包含,将报文序列号、用户ID、可疑类型递交至用户分类器,同时剔除报文中的payload;将剔除payload后的request报文、报文序列号、报文状态(payload过滤后)递交至日志记录器;并将剔除payload后的request报文或本身就不包含payload的原始报文递交至下一步骤:功能权限校验器。
需要说明的是:本发明内置一套默认payload字典表,以过滤SQL注入、XSS、文件包含、XML外部实体等常见的Web攻击payload。payload字典表是可以被管理员灵活配置的,以应对payload变种或新型漏洞,同时也可以剔除一些payload,以避免对正常交易产生影响。
关于步骤7,可以参阅图13所示。具体地:接收经过payload过滤的明文request;根据request报文中的session ID匹配会话临时表并获取用户ID;根据用户ID读取后台权限表获取该用户的功能权限;校验request中提交的功能调用与该用户的权限是否相符;如不符,则不处理request请求,返回报错信息,将报文序列号、用户ID、可疑类型递交至用户分类器;如相符,则调用对应的功能处理程序。
需要说明的是:不对交易内容进行后段校验是造成越权问题的主要原因,用户通过篡改报文中的用户ID即可伪冒为其他用户进行操作。因此,本组件使用用户难以伪冒的、同时又可声明用户身份的session ID作为其身份ID,并在服务器端进行权限校验,从而解决此类问题。
关于步骤9,可以参阅图14所示。具体地:接收明文response报文;服务器读取配置的容错关键词字典;检索response中是否包含容错关键词;如包含,则读取服务器端配置的蜜罐报错信息并作为response报文返回,以扰乱黑客的判断,并将容错处理后的response报文、报文序列号递交至日志记录器;如不包含,则将response明文报文递交至响应报文后端加密。
需要说明的是:服务器端还可以内置一套默认的容错字典,包含多种数据库、中间件等报错信息,通过检索response是否包含这些报错关键词,判断response是否有可能泄露相关的服务器信息,从而减少黑客可收集的信息,而且可以替换为蜜罐服务器地址。该容错字典同样支持灵活配置,以强化其过滤能力。此外,开发者也无需担心剔除容错信息后无法获得报错信息,因为完整的报错信息已在步骤8中被提交到了日志记录器。
关于步骤10,可以参阅图15所示,具体地:服务器端读取报文加密开关;如果开关为全局启用,则读取报文密钥生成模式,对response报文加密后传输至客户端;如果开关为全局关闭,则直接将明文response报文传输至客户端;如果开关为智能加密,则根据session ID匹配会话临时表,关联到用户ID并查询黑名单用户表,如果为非黑名单用户,则直接将明文response报文传输至客户端,如果为黑名单用户,则按照报文加密启用处理。
关于步骤11,可以参阅图16所示,具体地:客户端接收服务器回传的response报文后,读取Cookie中加密开关标识;如果为开启,则读取Cookie中的报文密钥生成模式,将response解密为明文,并对明文response进行解析;如果为关闭,则直接解析明文response。
需要说明的是:客户端解密过程也通过代码混淆的方法提升前端调阅、调试并进行解密破解的难度。
此外,上述***安全加固框架还包括用户分类器和日志记录器。
其中,上用户分类器的使用可以参阅图17所示。具体地:接收经过防篡改校验器、交易频率限制器、payload过滤器、功能权限校验器输出的可疑用户;将用户ID、报文序列号、可疑类型、报文日期记录到可疑交易报文表;在日终批量或定时批量中统计用户维度的可疑交易数;根据设置的可疑交易阈值,将超过阈值的用户记录到黑名单用户表。
需要说明的是:上述用户分类器是***安全加固框架中的核心组件之一,通过收集4种异常交易的数据,并根据异常交易笔数对用户进行分类。可疑用户被划入黑名单(管理员也可人工调整黑名单)并被加以报文加密,从而限制其发起进一步的可疑行为。此外,用户分类器收集的可疑交易报文,也可作为机器学习的数据样本,为拟合恶意交易模型提供宝贵的数据“饲料”。
其中,上述日志记录器的使用可以参阅图18所示。具体地:接收经过解密的明文request、经过过滤payload的明文request、正常处理后的response、容错处理后的response;将报文内容、报文序列号、客户端IP、时间戳、报文类型(request、response)记录至日志表。
需要说明的是:日志记录器记录了一次交易从发起-安全处理-返回的完整过程。在安全事件回溯、安全问题分析、安全审计时,为安全人员提供重要的依据。除完整性外,安全日志还应难以被篡改或删除。因此,运维人员应谨慎维护日志文件的权限,以确保黑客难以篡改或抹去黑客行为。
在本场景示例中,基于本说明书实施例提供的报文数据的处理方法,可以构建一种非侵入式的模块化应用***安全加固框架,在完成有限的适配工作后,可大幅改善多种安全问题(交易重放、恶意高频交易、交易参数篡改、SQL注入、XSS跨站脚本、XXE外部实体攻击、越权交易等)的防护能力。与此同时,得益于非侵入式的设计理念,在业务层面,这种改造是无害的;在用户层面,这种改造是无感的。
并且,该框架摒弃了挖洞补洞的传统安全加固思路,直接通过加密、过滤、服务端校验等方式规避多种频发的安全问题。因此,在加固效率方面具有明显的优势。同时,本发明的主要组件都具备良好的配置灵活性,除独立开关外,还提供了自由定制的配置项,以适应不同***的特点,并可用于增强防护性能;此外,这些组件均可以独立运作,***开发者可按需搭配不同的加固组件以适应业务***
在本场景示例中,通过上述方式能够以较低的处理成本,准确地检测出请求报文是否存在安全性风险。
虽然本说明书提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的手段可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或客户端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至为分布式数据处理环境)。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、产品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、产品或者设备所固有的要素。在没有更多限制的情况下,并不排除在包括所述要素的过程、方法、产品或者设备中还存在另外的相同或等同要素。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内部包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构、类等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
通过以上的实施例的描述可知,本领域的技术人员可以清楚地了解到本说明书可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本说明书的技术方案本质上可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,移动终端,服务器,或者网络设备等)执行本说明书各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例采用递进的方式描述,各个实施例之间相同或相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。本说明书可用于众多通用或专用的计算机***环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器***、基于微处理器的***、置顶盒、可编程的电子设备、网络PC、小型计算机、大型计算机、包括以上任何***或设备的分布式计算环境等等。
虽然通过实施例描绘了本说明书,本领域普通技术人员知道,本说明书有许多变形和变化而不脱离本说明书的精神,希望所附的权利要求包括这些变形和变化而不脱离本说明书的精神。

Claims (26)

1.一种报文数据的处理方法,其特征在于,包括:
接收终端设备发送的加密后的请求报文;其中,所述终端设备在根据Cookie数据确定交互模式为加密模式的情况下,利用第一秘钥加密请求报文的时间戳,得到加密后的时间戳;并利用第二秘钥加密携带有加密后的时间戳的请求报文,得到所述加密后的请求报文;所述第一秘钥为终端设备根据第一秘钥的生成规则在终端设备本地生成的秘钥数据;所述第二秘钥为终端设备根据第二秘钥的生成规则在终端设备本地生成的秘钥数据;所述Cookie数据至少包含有第一秘钥的生成规则和第二秘钥的生成规则;
根据所述第二秘钥的生成规则,在服务器本地生成第二秘钥,并利用所述第二秘钥对所述加密后的请求报文进行解密处理,得到携带有加密后的时间戳的请求报文;
根据所述第一秘钥的生成规则,在服务器本地生成第一秘钥,并利用所述第一秘钥对所述加密后的时间戳进行解密处理,得到时间戳;
根据时间戳所指示的时间信息,以及所述加密后的请求报文的接收时间,检测所述请求报文是否存在第一类安全性风险。
2.根据权利要求1所述的方法,其特征在于,在接收终端设备发送的加密后的请求报文之前,所述方法还包括:
接收终端设备发送的登录请求;其中,所述登录请求携带有用户的身份信息和登录凭证;
在对所述用户的身份信息和登录凭证校验通过的情况下,生成与所述用户的身份信息关联的sessionID,并确定对应的交互模式;
在确定对应的交互模式为加密模式的情况下,生成第一秘钥的生成规则和第二秘钥的生成规则;
将所述session ID、第一秘钥的生成规则和第二秘钥的生成规则保存在Cookie数据;
将所述Cookie数据反馈给终端设备。
3.根据权利要求2所述的方法,其特征在于,所述确定对应的交互模式,包括:
根据用户的身份信息,查询风险用户黑名单,得到对应的查询结果;其中,所述风险用户黑名单存储有风险用户的身份信息;
根据所述查询结果,在确定所述用户属于风险用户的情况下,确定对应的交互模式为加密模式。
4.根据权利要求2所述的方法,其特征在于,在将所述sessionID、第一秘钥的生成规则和第二秘钥的生成规则保存在Cookie数据之后,所述方法还包括:
加密所述Cookie数据,得到Cookie数据的密文数据;
将所述Cookie数据的密文数据反馈给终端设备。
5.根据权利要求2所述的方法,其特征在于,根据所述第二秘钥的生成规则,在服务器本地生成第二秘钥,包括:
根据所述第二秘钥的生成规则,获取当前的日期字符串,以及与所述加密后的请求报文对应的session ID;
拼接所述当前的日期字符串和session ID,得到第二字符串;
利用第二预设哈希函数计算第二字符串的哈希值,作为第二哈希值;
根据第二秘钥的生成规则,通过从所述第二哈希值中抽取第二预设数据位上的数值,以生成所第二秘钥。
6.根据权利要求2所述的方法,其特征在于,所述加密后的请求报文还携带有终端设备的特征信息;其中,所述特征信息包括以下至少之一:终端设备所登录的浏览器的版本号、终端设备的屏幕分辨率、终端设备的***信息。
7.根据权利要求6所述的方法,其特征在于,根据所述第一秘钥的生成规则,在服务器本地生成第一秘钥,包括:
根据所述第一秘钥的生成规则,获取所述终端设备的特征信息;
根据所述终端设备的特征信息,生成第一字符串;
利用第一预设哈希函数计算第一字符串的哈希值,作为第一哈希值;
根据第一秘钥的生成规则,通过从所述第一哈希值中抽取第一预设数据位上的数值,以生成所第一秘钥。
8.根据权利要求2所述的方法,其特征在于,根据所述时间戳所指示的时间信息,以及所述加密后的请求报文的接收时间,检测所述请求报文是否存在第一类安全性风险,包括:
计算所述时间信息与所述接收时间的时间差值;
比较所述时间差值与预设的时间阈值,得到对应的比较结果;
根据所述比较结果,在确定所述时间差值大于所述预设的时间阈值的情况下,确定所述请求报文存在第一类安全性风险。
9.根据权利要求8所述的方法,其特征在于,在确定所述请求报文存在第一类安全性风险之后,所述方法还包括:
停止处理所述请求报文,并生成风险提示信息;
将所述请求报文发送至用户分类器;其中,所述用户分类器用于根据所接收到的存在第一类安全性风险的请求报文,生成风险用户黑名单。
10.根据权利要求8所述的方法,其特征在于,所述方法还包括:
根据所述比较结果,在确定所述时间差值小于或等于所述预设的时间阈值的情况下,获取并根据用户的身份信息,查询***的日志记录,以获取预设的时间段内用户的行为统计数据;其中,所述预设的时间段内用户的行为统计数据包括:预设的时间段内用户发送报文数据的总量,和/或,发送报文数据的频率;
根据所述预设的时间段内用户的行为统计数据,确定所述请求报文是否存在第一类安全性风险。
11.根据权利要求10所述的方法,其特征在于,在根据所述比较结果,确定所述时间差值小于或等于所述预设的时间阈值的情况下,所述方法还包括:
根据预设的payload字典,检测所述请求报文是否携带有预设的风险字符;其中,所述预设的风险字符包括:与SQL注入相关的风险字符、与XSS相关的风险字符、与XML外部实体相关的风险字符;
在确定所述请求报文携带有预设的风险字符的情况下,将所述请求报文标记为潜在风险报文;
将所述潜在风险报文发送至用户分类器。
12.根据权利要求10所述的方法,其特征在于,在根据所述比较结果,确定所述时间差值小于或等于所述预设的时间阈值的情况下,所述方法还包括:
根据所述请求报文,确定所述请求报文所涉及的目标权限;
根据用户的身份信息,获取用户的权限表;
根据所述用户的权限表和所述目标权限,确定所述请求报文是否存在越权操作;
在确定所述请求报文存在越权操作的情况下,确定所述请求报文存在第一类安全性风险。
13.根据权利要求1所述的方法,其特征在于,在确定所述请求报文不存在第一类安全性风险的情况下,所述方法还包括:
响应所述请求报文,进行相应的数据处理,得到对应的答复报文;
向所述终端设备发送所述答复报文。
14.根据权利要求13所述的方法,其特征在于,在向所述终端设备发送所述答复报文之前,所述方法还包括:
根据预设的容错字典,检测所述答复报文是否携带有与敏感信息相关的关键词;
在确定所述答复报文携带有与敏感信息相关的关键词的情况下,确定所述请求报文存在第二类安全性风险。
15.根据权利要求14所述的方法,其特征在于,在确定所述请求报文存在第二类安全性风险的情况下,所述方法还包括:
获取误导数据;其中,所述误导数据包括蜜罐服务器信息;
利用所述误导数据替换所述答复报文,反馈给终端设备。
16.根据权利要求14所述的方法,其特征在于,在确定所述请求报文不存在第二类安全性风险的情况下,所述方法还包括:
根据第二秘钥的生成规则,在服务器本地生成第二秘钥;
利用第二秘钥对所述答复报文进行加密处理,得到加密后的答复报文;
向所述终端设备发送所述加密后的答复报文。
17.一种报文数据的处理方法,其特征在于,包括:
根据Cookie数据,确定与服务器的交互模式;其中,所述Cookie数据至少包含有第一秘钥的生成规则和第二秘钥的生成规则;
在确定所述交互模式为加密模式的情况下,从所述Cookie数据中获取第一秘钥的生成规则,和第二秘钥的生成规则;
根据所述第一秘钥的生成规则,在终端设备本地生成第一秘钥,并利用所述第一秘钥加密请求报文的时间戳,得到携带有加密后的时间戳的请求报文;
根据所述第二秘钥的生成规则,在终端设备本地生成第二秘钥,并利用所述第二秘钥加密携带有加密后的时间戳的请求报文,得到加密后的请求报文;
向服务器发送所述加密后的请求报文。
18.根据权利要求17所述的方法,其特征在于,在根据Cookie数据,确定与服务器的交互模式之前,所述方法还包括:
向服务器发送登录请求;其中,所述登录请求携带有用户的身份信息和登录凭证;
接收服务器反馈的Cookie数据;其中,所述服务器在对所述用户的身份信息和登录凭证校验通过的情况下,生成并向终端设备发送相应的Cookie数据;所述Cookie数据至少包括:与所述用户的身份信息关联的session ID、第一秘钥的生成规则和第二秘钥的生成规则。
19.根据权利要求18所述的方法,其特征在于,所述Cookie数据还包括模式标识,相应的,根据Cookie数据,确定与服务器的交互模式,包括:
从所述Cookie数据中提取所述模式标识;
根据所述模式标识确定与服务器的交互模式。
20.根据权利要求17所述的方法,其特征在于,根据所述第一秘钥的生成规则,在终端设备本地生成第一秘钥,包括:
根据所述第一秘钥的生成规则,获取终端设备的特征信息;
根据所述终端设备的特征信息,生成第一字符串;
利用第一预设哈希函数计算第一字符串的哈希值,作为第一哈希值;
根据第一秘钥的生成规则,通过从所述第一哈希值中抽取第一预设数据位上的数值,以生成所第一秘钥。
21.根据权利要求17所述的方法,其特征在于,根据所述第二秘钥的生成规则,在终端设备本地生成第二秘钥,包括:
根据所述第二秘钥的生成规则,获取当前的日期字符串,以及sessionID;
拼接所述当前的日期字符串和session ID,得到第二字符串;
利用第二预设哈希函数计算第二字符串的哈希值,作为第二哈希值;
根据第二秘钥的生成规则,通过从所述第二哈希值中抽取第二预设数据位上的数值,以生成所第二秘钥。
22.一种报文数据的处理装置,其特征在于,包括:
接收模块,用于接收终端设备发送的加密后的请求报文;其中,所述终端设备在根据Cookie数据确定交互模式为加密模式的情况下,利用第一秘钥加密请求报文的时间戳,得到加密后的时间戳;并利用第二秘钥加密携带有加密后的时间戳的请求报文,得到所述加密后的请求报文;所述第一秘钥为终端设备根据第一秘钥的生成规则在终端设备本地生成的秘钥数据;所述第二秘钥为终端设备根据第二秘钥的生成规则在终端设备本地生成的秘钥数据;所述Cookie数据至少包含有第一秘钥的生成规则和第二秘钥的生成规则;
处理模块,用于根据所述第二秘钥的生成规则,在服务器本地生成第二秘钥,并利用所述第二秘钥对所述加密后的请求报文进行解密处理,得到携带有加密后的时间戳的请求报文;
所述处理模块,还用于根据所述第一秘钥的生成规则,在服务器本地生成第一秘钥,并利用所述第一秘钥对所述加密后的时间戳进行解密处理,得到时间戳;
检测模块,用于根据时间戳所指示的时间信息,以及所述加密后的请求报文的接收时间,检测所述请求报文是否存在第一类安全性风险。
23.一种报文数据的处理装置,其特征在于,包括:
确定模块,用于根据Cookie数据,确定与服务器的交互模式;其中,所述Cookie数据至少包含有第一秘钥的生成规则和第二秘钥的生成规则;
获取模块,用于在确定所述交互模式为加密模式的情况下,从所述Cookie数据中获取第一秘钥的生成规则,和第二秘钥的生成规则;
处理模块,用于根据所述第一秘钥的生成规则,在终端设备本地生成第一秘钥,并利用所述第一秘钥加密请求报文的时间戳,得到携带有加密后的时间戳的请求报文;
所述处理模块,还用于根据所述第二秘钥的生成规则,在终端设备本地生成第二秘钥,并利用所述第二秘钥加密携带有加密后的时间戳的请求报文,得到加密后的请求报文;
发送模块,用于向服务器发送所述加密后的请求报文。
24.一种服务器,其特征在于,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现权利要求1至16中任一项所述方法的步骤。
25.一种终端设备,其特征在于,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现权利要求17至21中任一项所述方法的步骤。
26.一种计算机可读存储介质,其特征在于,其上存储有计算机指令,所述指令被执行时实现权利要求1至16,或17至21中任一项所述方法的步骤。
CN202011144928.9A 2020-10-23 2020-10-23 报文数据的处理方法、装置、服务器和终端设备 Active CN112217835B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011144928.9A CN112217835B (zh) 2020-10-23 2020-10-23 报文数据的处理方法、装置、服务器和终端设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011144928.9A CN112217835B (zh) 2020-10-23 2020-10-23 报文数据的处理方法、装置、服务器和终端设备

Publications (2)

Publication Number Publication Date
CN112217835A true CN112217835A (zh) 2021-01-12
CN112217835B CN112217835B (zh) 2022-11-04

Family

ID=74056472

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011144928.9A Active CN112217835B (zh) 2020-10-23 2020-10-23 报文数据的处理方法、装置、服务器和终端设备

Country Status (1)

Country Link
CN (1) CN112217835B (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112995138A (zh) * 2021-02-03 2021-06-18 上海钧正网络科技有限公司 一种数据通信方法、装置、电子设备及可读存储介质
CN113422758A (zh) * 2021-06-08 2021-09-21 深圳市欢太数字科技有限公司 数据加密方法、装置、物联网***、电子设备及存储介质
CN113452710A (zh) * 2021-06-28 2021-09-28 深圳前海微众银行股份有限公司 越权漏洞检测方法、装置、设备及计算机程序产品
CN113794702A (zh) * 2021-08-31 2021-12-14 杭州控客信息技术有限公司 智能家居***中通信高级别加密方法
CN114339630A (zh) * 2021-11-30 2022-04-12 度小满科技(北京)有限公司 一种用于短信保护的方法和装置
CN114499847A (zh) * 2022-01-20 2022-05-13 无锡众星微***技术有限公司 芯片生产测试阶段的敏感信息写入方法
CN114548899A (zh) * 2022-01-11 2022-05-27 北京思特奇信息技术股份有限公司 一种防外挂的客户数据调用方法及***
CN114866309A (zh) * 2022-04-28 2022-08-05 四川万网鑫成信息科技有限公司 数据传输方法、***、设备及介质
CN115643117A (zh) * 2022-12-23 2023-01-24 北京六方云信息技术有限公司 数字实体身份标识方法、装置、终端设备以及存储介质
CN117579392A (zh) * 2024-01-16 2024-02-20 北京富通亚讯网络信息技术有限公司 基于加密处理的可靠数据传输方法、装置、设备及介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102647461A (zh) * 2012-03-29 2012-08-22 奇智软件(北京)有限公司 基于超文本传输协议的通信方法、服务器、终端
WO2017210038A1 (en) * 2016-06-01 2017-12-07 Mastercard International Incorporated Method and system for authorization using a public ledger and encryption keys
CN108959990A (zh) * 2017-05-23 2018-12-07 ***通信有限公司研究院 一种二维码的验证方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102647461A (zh) * 2012-03-29 2012-08-22 奇智软件(北京)有限公司 基于超文本传输协议的通信方法、服务器、终端
WO2017210038A1 (en) * 2016-06-01 2017-12-07 Mastercard International Incorporated Method and system for authorization using a public ledger and encryption keys
CN108959990A (zh) * 2017-05-23 2018-12-07 ***通信有限公司研究院 一种二维码的验证方法及装置

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112995138A (zh) * 2021-02-03 2021-06-18 上海钧正网络科技有限公司 一种数据通信方法、装置、电子设备及可读存储介质
CN113422758A (zh) * 2021-06-08 2021-09-21 深圳市欢太数字科技有限公司 数据加密方法、装置、物联网***、电子设备及存储介质
CN113452710B (zh) * 2021-06-28 2022-12-27 深圳前海微众银行股份有限公司 越权漏洞检测方法、装置、设备及计算机程序产品
CN113452710A (zh) * 2021-06-28 2021-09-28 深圳前海微众银行股份有限公司 越权漏洞检测方法、装置、设备及计算机程序产品
CN113794702A (zh) * 2021-08-31 2021-12-14 杭州控客信息技术有限公司 智能家居***中通信高级别加密方法
CN114339630A (zh) * 2021-11-30 2022-04-12 度小满科技(北京)有限公司 一种用于短信保护的方法和装置
CN114339630B (zh) * 2021-11-30 2023-07-21 度小满科技(北京)有限公司 一种用于短信保护的方法和装置
CN114548899A (zh) * 2022-01-11 2022-05-27 北京思特奇信息技术股份有限公司 一种防外挂的客户数据调用方法及***
CN114499847A (zh) * 2022-01-20 2022-05-13 无锡众星微***技术有限公司 芯片生产测试阶段的敏感信息写入方法
CN114866309A (zh) * 2022-04-28 2022-08-05 四川万网鑫成信息科技有限公司 数据传输方法、***、设备及介质
CN114866309B (zh) * 2022-04-28 2024-03-08 四川万网鑫成信息科技有限公司 数据传输方法、***、设备及介质
CN115643117A (zh) * 2022-12-23 2023-01-24 北京六方云信息技术有限公司 数字实体身份标识方法、装置、终端设备以及存储介质
CN115643117B (zh) * 2022-12-23 2023-03-21 北京六方云信息技术有限公司 数字实体身份标识方法、装置、终端设备以及存储介质
CN117579392A (zh) * 2024-01-16 2024-02-20 北京富通亚讯网络信息技术有限公司 基于加密处理的可靠数据传输方法、装置、设备及介质
CN117579392B (zh) * 2024-01-16 2024-04-16 北京富通亚讯网络信息技术有限公司 基于加密处理的可靠数据传输方法、装置、设备及介质

Also Published As

Publication number Publication date
CN112217835B (zh) 2022-11-04

Similar Documents

Publication Publication Date Title
CN112217835B (zh) 报文数据的处理方法、装置、服务器和终端设备
CN108780485B (zh) 基于模式匹配的数据集提取
Chen et al. Uncovering the face of android ransomware: Characterization and real-time detection
US10680812B2 (en) Event attestation for an electronic device
CN108304704B (zh) 权限控制方法、装置、计算机设备和存储介质
US9584543B2 (en) Method and system for web integrity validator
US9294489B2 (en) Method and apparatus for detecting an intrusion on a cloud computing service
CN101482887B (zh) 数据库关键数据的防篡改检验方法
CN108347361B (zh) 应用程序测试方法、装置、计算机设备和存储介质
CN112149123B (zh) 一种应用程序的安全检查***及方法
CN110138731B (zh) 一种基于大数据的网络防攻击方法
CN112131564A (zh) 加密数据通信方法、装置、设备以及介质
JP2022037896A (ja) 脅威対応自動化方法
CN113177205B (zh) 一种恶意应用检测***及方法
CN112150113A (zh) 档案数据的借阅方法、装置和***、资料数据的借阅方法
CN108694329B (zh) 一种基于软硬件结合的移动智能终端安全事件可信记录***及方法
Cho et al. Guaranteeing the integrity and reliability of distributed personal information access records
CN104657504A (zh) 一种文件快速识别方法
Sharma et al. Smartphone security and forensic analysis
CN113962695A (zh) 数据处理方法、装置和服务器
Khan et al. Secure logging as a service using reversible watermarking
US20150229667A1 (en) Self-destructing content
JP2013069016A (ja) 情報漏洩防止装置及び制限情報生成装置
Sorge IT Security measures and their relation to data protection
KR20200080776A (ko) 데이터 보안 장치

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