CN101635715A - 提高网络应用安全性的方法和系统 - Google Patents

提高网络应用安全性的方法和系统 Download PDF

Info

Publication number
CN101635715A
CN101635715A CN200910086341A CN200910086341A CN101635715A CN 101635715 A CN101635715 A CN 101635715A CN 200910086341 A CN200910086341 A CN 200910086341A CN 200910086341 A CN200910086341 A CN 200910086341A CN 101635715 A CN101635715 A CN 101635715A
Authority
CN
China
Prior art keywords
protocol massages
module
intelligent cipher
network
application server
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
CN200910086341A
Other languages
English (en)
Other versions
CN101635715B (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.)
Feitian Technologies Co Ltd
Original Assignee
Beijing Feitian Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Feitian Technologies Co Ltd filed Critical Beijing Feitian Technologies Co Ltd
Priority to CN200910086341A priority Critical patent/CN101635715B/zh
Publication of CN101635715A publication Critical patent/CN101635715A/zh
Priority to US12/863,444 priority patent/US8504820B2/en
Priority to PCT/CN2010/071900 priority patent/WO2010139210A1/zh
Application granted granted Critical
Publication of CN101635715B publication Critical patent/CN101635715B/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/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/061Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/02Capturing of monitoring data
    • H04L43/028Capturing of monitoring data by filtering

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种提高网络应用安全性的方法和系统,属于信息安全领域。该方法包括:客户端软件生成协议报文,拆分为多个IP数据包发送,网络过滤驱动收到并缓存及组包得到协议报文,判断其中是否有关键信息;若有则发送协议报文给智能密钥设备,智能密钥设备解析后输出关键信息给用户,用户确认正确时,对协议报文签名返回签名结果,网络过滤驱动根据签名结果和协议报文生成新的协议报文,再拆分为多个IP数据包后通过网卡驱动发给应用服务器;用户确认错误或超时未确认时,智能密钥设备做异常处理。该系统包括:智能密钥设备和客户端主机内的网络过滤驱动。本发明在不改动客户端的前提下提高了网络应用的安全性,具有良好的兼容性、易用性。

Description

提高网络应用安全性的方法和系统
技术领域
本发明涉及信息安全领域,特别涉及一种提高网络应用安全性的方法和系统。
背景技术
随着网络蓬勃的发展,人们越来越依赖网络进行各种活动,网上银行、网上购物等都已经深入人们的生活当中,但是黑客攻击窃取用户密码进行非法交易等事件也发生得越来越多,造成了许多的损失,人们在享受网络的方便快捷的同时也越来越担忧网络安全问题,这时,身份识别技术就显得尤为重要了。目前,身份识别技术得到了广泛的发展并已经应用在各个领域,主要是网上银行、政府网站、BS(Browser/Server,浏览器/服务器)架构的ERP(EnterpriseResource Planning,企业资源管理)系统以及对保密性要求比较高的各个领域。
目前,已经出现了多种针对网络安全的保护方法,数字签名就是其中一种,在客户端中下载并安装数字证书,也有安全性更高的使用USB Key(Universal Serial BUS Key,通用串行总线接口硬件设备)等智能密钥设备对网络传输的数据进行签名等操作,但是USB Key内签名的数据仍然是由客户端主机发送过去的,仍然存在安全风险。
而且,现有的安全手段大多操作过于繁琐,为了完成签名的操作需要安装各种插件、与智能密钥设备相应的软件程序,并且现有的程序插件大多是针对IE内核进行开发,对一些如Firefox等浏览器并不支持,导致部分用户不能正常的进行网上安全的通讯。
综上所述,现有网络安全手段存在的缺点就是操作繁琐,兼容性、易用性差,安全程度不够高。
发明内容
基于现有技术的不足,本发明提供了一种提高网络应用安全性的方法和系统。所述技术方案如下:
一种提高网络应用安全性的方法,所述方法包括:
客户端主机内的客户端软件根据用户输入的信息生成协议报文,并拆分为多个IP数据包发送;
所述客户端主机内的网络过滤驱动接收并缓存所述多个IP数据包,进行组包操作得到所述协议报文;
所述网络过滤驱动根据约定的协议解析所述协议报文,判断所述协议报文中是否存在所述网络过滤驱动、智能密钥设备和应用服务器预先约定的关键信息;
如果所述协议报文中存在所述关键信息,则所述网络过滤驱动将所述协议报文发送给所述智能密钥设备,所述智能密钥设备解析所述协议报文得到所述关键信息,输出该关键信息供用户确认;
如果接收到用户确认关键信息正确的信号,则所述智能密钥设备对所述协议报文进行签名,返回签名结果给所述网络过滤驱动,所述网络过滤驱动根据所述签名结果和协议报文生成新的协议报文,将该新的协议报文拆分为多个IP数据包,通过网卡驱动发送给所述应用服务器;
如果接收到用户确认关键信息不正确的信号或在预设的时间内没有接收到用户进行确认的信号,则所述智能密钥设备进行异常处理;
如果所述协议报文中不存在所述关键信息,则所述网络过滤驱动将缓存的所述多个IP数据包通过所述网卡驱动发送给所述应用服务器。
所述客户端主机内的网络过滤驱动接收并缓存所述多个IP数据包,进行组包操作得到所述协议报文,具体包括:
所述客户端主机内的网络过滤驱动接收并缓存所述多个IP数据包;
将所述多个IP数据包中的目的地址与预先存储的所述应用服务器的地址进行比对;
将所述多个IP数据包中目的地址均为所述应用服务器的地址的数据包进行组包操作,得到所述协议报文,将所述多个IP数据包中目的地址不为所述应用服务器的地址的数据包发送给所述网卡驱动。
所述网络过滤驱动根据约定的协议解析所述协议报文,判断所述协议报文中是否存在所述网络过滤驱动、智能密钥设备和应用服务器预先约定的关键信息,具体包括:
所述网络过滤驱动根据约定的协议解析所述协议报文,判断所述协议报文中是否存在所述网络过滤驱动、智能密钥设备和应用服务器预先约定的关键信息标识符,如果存在,则判断出所述协议报文中存在所述关键信息;
或,
所述网络过滤驱动根据约定的协议解析所述协议报文,在所述协议报文中找到所述网络过滤驱动、智能密钥设备和应用服务器指定的字段,判断该字段中是否存在数据,如果存在,则判断出所述协议报文中存在所述关键信息。
所述协议报文和新的协议报文均包含有请求头域,所述请求头域中写有所述应用服务器的地址。
所述网络过滤驱动将所述协议报文发送给所述智能密钥设备,具体包括:
所述网络过滤驱动对所述协议报文的请求头域进行解析,判断所述请求头域中写入的应用服务器地址是否与所述网络过滤驱动存储的应用服务器地址一致;
如果一致,则执行所述网络过滤驱动将所述协议报文发送给所述智能密钥设备的步骤;
如果不一致,则所述网络过滤驱动提示用户应用服务器错误,流程结束。
所述智能密钥设备解析所述协议报文得到所述关键信息,具体包括:
所述智能密钥设备解析所述协议报文,判断所述协议报文中是否存在所述网络过滤驱动、智能密钥设备和应用服务器预先约定的关键信息标识符,如果存在,则根据所述关键信息标识符找到所述关键信息;
或,
所述智能密钥设备解析所述协议报文,在所述协议报文中找到所述网络过滤驱动、智能密钥设备和应用服务器指定的字段,判断该字段中是否存在数据,如果存在,则读出所述数据,得到所述关键信息。
所述输出该关键信息供用户确认,具体包括:
所述智能密钥设备通过液晶显示器显示输出所述关键信息供用户确认,或者通过语音播报的方式播放所述关键信息供用户确认。
所述智能密钥设备进行异常处理,具体包括:
所述智能密钥设备通知所述网络过滤驱动停止操作,向用户提示操作失败;
或者,
所述智能密钥设备向所述网络过滤驱动返回一个错误的签名结果。
所述智能密钥设备对所述协议报文进行签名,具体包括:
所述智能密钥设备根据个人识别码或个人生物特征对用户的身份进行验证,所述个人生物特征包括指纹、虹膜或静脉识别;
如果合法,则对所述协议报文进行签名;
如果不合法,则拒绝对所述协议报文进行签名,流程结束。
所述网络过滤驱动根据所述签名结果和协议报文生成新的协议报文,具体包括:
所述网络过滤驱动将接收到的签名结果插入到所述协议报文中,并根据预先约定的协议对所述协议报文中的请求头域进行修改,得到新的协议报文;
或者,
所述网络过滤驱动使用接收到的签名结果对所述协议报文中的指定部分进行替换,并根据预先约定的协议对所述协议报文中的请求头域进行修改,得到新的协议报文。
所述约定的协议包括超文本传输协议http和/或安全的超文本传输协议https。
一种提高网络应用安全性的系统,所述系统包括:智能密钥设备和客户端主机内的网络过滤驱动;
所述网络过滤驱动包括:
接口模块,用于接收客户端主机内的客户端软件发来的多个IP数据包,所述多个IP数据包为所述客户端软件根据用户输入的信息生成协议报文后拆分得到的,并与所述智能密钥设备通讯,向所述智能密钥设备发送所述协议报文,接收所述智能密钥设备返回的签名结果,还用于发送新的协议报文拆分后的多个IP数据包给网卡驱动,由所述网卡驱动发送给所述应用服务器;
存储模块,用于缓存所述接口模块收到的所述多个IP数据包;
组包模块,用于对所述接口模块收到的所述多个IP数据包进行组包操作,得到所述协议报文;
解析判断模块,用于根据约定的协议对所述组包模块得到的所述协议报文进行解析,判断所述协议报文中是否存在所述网络过滤驱动、智能密钥设备和应用服务器预先约定的关键信息,如果存在所述关键信息,通过所述接口模块发送所述协议报文给所述智能密钥设备,如果不存在所述关键信息,通过所述接口模块将所述存储模块缓存的所述多个IP数据包通过所述网卡驱动发送给所述应用服务器;
报文生成模块,用于根据所述接口模块收到的签名结果和所述组包模块得到的所述协议报文,生成新的协议报文;
拆分模块,用于将所述报文生成模块得到的所述新的协议报文拆分为多个IP数据包,通过所述接口模块发送给所述客户端主机内的网卡驱动;
所述智能密钥设备包括:
接口模块,用于与所述网络过滤驱动通讯,接收所述网络过滤驱动发送的协议报文,向所述网络过滤驱动发送签名结果;
过滤模块,用于解析所述智能密钥设备的接口模块收到的协议报文,得到所述关键信息;
输出模块,用于输出所述过滤模块得到的关键信息供用户确认;
确认模块,用于接收用户输入的确认所述关键信息是否正确的信息;
签名模块,用于当所述确认模块收到的信息为用户确认关键信息正确时,对所述智能密钥设备的接口模块收到的协议报文进行签名,并通过所述智能密钥设备的接口模块返回签名结果给所述网络过滤驱动;
异常处理模块,用于当所述确认模块收到的信息为用户确认关键信息不正确时,或者所述确认模块在预设的时间内未收到用户的确认信息时,进行异常处理。
所述存储模块还用于存储所述应用服务器的地址,所述组包模块具体包括:
比对单元,用于将所述网络过滤驱动的接口模块收到的所述多个IP数据包中的目的地址与所述存储模块存储的所述应用服务器的地址进行比对;
组包单元,用于根据所述比对单元比对的结果,将所述多个IP数据包中目的地址均为所述应用服务器的地址的数据包进行组包操作,得到所述协议报文,将所述多个IP数据包中目的地址不为所述应用服务器的地址的数据包通过所述网络过滤驱动的接口模块发送给所述网卡驱动。
所述协议报文和新的协议报文均包含有请求头域,所述请求头域中写有所述应用服务器的地址,所述存储模块还用于存储所述应用服务器的地址,所述解析判断模块具体包括:
判断单元,用于根据约定的协议对所述组包模块得到的所述协议报文进行解析,判断所述协议报文中是否存在所述网络过滤驱动、智能密钥设备和应用服务器预先约定的关键信息;
第一处理单元,用于如果所述判断单元判断出所述协议报文中存在所述关键信息,则对所述协议报文的请求头域进行解析,判断所述请求头域中写入的应用服务器地址是否与所述存储模块存储的应用服务器地址一致,如果一致,则通过所述接口模块将所述协议报文发送给所述智能密钥设备,如果不一致,则提示用户应用服务器错误;
第二处理单元,用于如果所述判断单元判断出所述协议报文中不存在所述关键信息,则通过所述接口模块将所述存储模块缓存的所述多个IP数据包通过所述网卡驱动发送给所述应用服务器。
所述解析判断模块具体包括:
标识符解析判断单元,用于根据约定的协议对所述组包模块得到的所述协议报文进行解析,判断所述协议报文中是否存在所述网络过滤驱动、智能密钥设备和应用服务器预先约定的关键信息标识符,如果存在,则判断出所述协议报文中存在所述关键信息,通过所述网络过滤驱动的接口模块发送所述协议报文给所述智能密钥设备,如果不存在所述关键信息,通过所述接口模块将所述存储模块缓存的所述多个IP数据包通过所述网卡驱动发送给所述应用服务器;
或者,
字段解析判断单元,用于根据约定的协议对所述组包模块得到的所述协议报文进行解析,在所述协议报文中找到所述网络过滤驱动、智能密钥设备和应用服务器预先指定的字段,判断该字段中是否存在数据,如果存在,则判断出所述协议报文中存在所述关键信息,通过所述网络过滤驱动的接口模块发送所述协议报文给所述智能密钥设备,如果不存在,则判断出所述协议报文中不存在所述关键信息,通过所述接口模块将所述存储模块缓存的所述多个IP数据包通过所述网卡驱动发送给所述应用服务器。
所述过滤模块具体包括:
标识符过滤单元,用于判断所述智能密钥设备的接口模块收到的协议报文中是否存在所述网络过滤驱动、智能密钥设备和应用服务器预先约定的关键信息标识符,如果存在,则根据所述关键信息标识符找到所述关键信息;
或者,
字段过滤单元,用于在所述智能密钥设备的接口模块收到的协议报文中找到所述网络过滤驱动、智能密钥设备和应用服务器预先指定的字段,判断该字段中是否存在数据,如果存在,则读出所述数据,得到所述关键信息。
所述输出模块为液晶显示器或音频装置。
所述异常处理模块具体包括:
第一异常处理单元,用于当所述确认模块收到的信息为用户确认关键信息不正确时,或者所述确认模块在预设的时间内未收到用户的确认信息时,通过所述智能密钥设备的接口模块通知所述网络过滤驱动停止操作,向用户提示操作失败;
或者,
第二异常处理单元,用于当所述确认模块收到的信息为用户确认关键信息不正确时,或者所述确认模块在预设的时间内未收到用户的确认信息时,通过所述智能密钥设备的接口模块向所述网络过滤驱动返回一个错误的签名结果。
所述智能密钥设备的签名模块具体包括:
签名单元,用于当所述确认模块收到的信息为用户确认关键信息正确时,根据个人识别或个人生物特征对用户的身份进行验证,如果合法,则对所述智能密钥设备的接口模块收到的协议报文进行签名,并通过所述智能密钥设备的接口模块返回签名结果给所述网络过滤驱动;如果不合法,则拒绝对所述协议报文进行签名。
所述网络过滤驱动的报文生成模块具体包括:
第一生成单元,用于将所述网络过滤驱动的接口模块接收到的签名结果插入到所述协议报文中,并根据预先约定的协议对所述协议报文中的请求头域进行修改,得到新的协议报文;
或者,
第二生成单元,用于使用所述网络过滤驱动的接口模块接收到的签名结果对所述协议报文中的指定部分进行替换,并根据预先约定的协议对所述协议报文中的请求头域进行修改,得到新的协议报文。
本发明实施例提供的技术方案通过客户端的网络过滤驱动判断协议报文中是否存在关键信息,如果存在,由智能密钥设备对协议报文进行签名后返回签名结果给网络过滤驱动,网络过滤驱动根据签名结果生成新的协议报文发给网卡驱动程序,通过网卡发送给应用服务器,在不改动原有客户端的前提下提高了网络应用的安全性,可以适用于各种客户端软件,具有良好的兼容性、易用性。
附图说明
图1是本发明实施例1提供的提高网络应用安全性的方法流程图;
图2是本发明实施例2提供的提高网络应用安全性的系统结构图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
本发明实施例提供了一种提高网络应用安全性的方法,包括:
客户端主机内的客户端软件根据用户输入的信息生成协议报文,并拆分为多个IP数据包发送;客户端主机内的网络过滤驱动接收并缓存该多个IP数据包,进行组包操作得到该协议报文;网络过滤驱动根据约定的协议解析该协议报文,判断该协议报文中是否存在网络过滤驱动、智能密钥设备和应用服务器预先约定的关键信息;如果该协议报文中存在所述关键信息,则网络过滤驱动将该协议报文发送给智能密钥设备,智能密钥设备解析该协议报文得到所述关键信息,输出该关键信息供用户确认;如果接收到用户确认该关键信息正确的信号,则智能密钥设备对该协议报文进行签名,返回签名结果给网络过滤驱动,网络过滤驱动根据签名结果和协议报文生成新的协议报文,将该新的协议报文拆分为多个IP数据包,通过网卡驱动发送给应用服务器;如果接收到用户确认所述关键信息不正确的信号或在预设的时间内没有接收到用户进行确认的信号,则智能密钥设备进行异常处理;如果所述协议报文中不存在所述关键信息,则网络过滤驱动将缓存的所述多个IP数据包通过网卡驱动发送给应用服务器。
本发明实施例中的应用服务器是指客户端请求服务的目的站点服务器,有多种类型,包括但不限于:电子商务系统服务器、网上银行系统服务器等等。网络过滤驱动是指安装于客户端主机内的功能模块,该功能模块可以对计算机上层应用向网卡发送的数据包进行接收、缓存和处理,其中上述网卡可以为普通PC机网卡、无线网卡等。
实施例1
参见图1,本实施例提供了一种提高网络应用安全性的方法,具体包括:
步骤101:用户在客户端登录应用服务器,在本实施例中,以登录网上银行为例进行说明,用户输入登录相关信息;
在本步骤中,用户可以通过系统自带的IE或其他的浏览器等客户端软件程序访问网上银行,不需要安装其他插件或对客户端软件做更改。
步骤102:客户端软件接收到用户输入的信息后,根据该信息生成协议报文;
进一步地,客户端、智能密钥设备和应用服务器还可以预先约定协议报文中的关键信息,作为用户确认的基础,当协议报文中包含关键信息时,需要用户对该关键信息进行确认,如将网上银行交易的一些重要信息作为关键信息给用户进行确认,用户确认后才可以进行网上银行交易。
为了便于以后判断提取关键信息,还可以在协议报文中添加关键信息的标识符,对用户输入的关键信息进行标识,该关键信息的标识符可以为智能密钥设备、应用服务器和代理服务器预先约定。在本实施例中,以用户在网上银行进行转账为例,具体说明客户端生成的协议报文,包括协议内容和请求头域,下面列出XML格式的协议内容:
<?xml version=″1.0″encoding=″gb2312″?>
<!--业务数据--!>
<TradeInfo>
   <AccountInfo name=″To″><!--转入帐号--!>
      <AccountName>张三</AccountName><!--转入账户姓名--!>
      <AccountValue>4367420037465985234</AccountValue><!--转入帐号--!>
      <!--转入行信息--!>
      <BankInfo>
           <BankName>北京分行</BankName><!--转入分行--!>
       </BankInfo>
    </AccountInfo>
    <AccountInfo name=″From″>
       <AccountName>李四</AccountName><!--转出账户姓名--!>
       <AccountValue>4367420074923372387</AccountValue><!--转出帐号--!>
       <!--转出行信息--!>
       <BankInfo>
           <BankName>上海分行</BankName><!--转出分行--!>
       </BankInfo>
    </AccountInfo>
    <TradeData>
           <TradeMoney>134.22</TradeMoney>         <!--转账金额-->
           <TradeType>1</TradeType>                <!--交易类型-->
           <MoneyType>2</MoneyType>                <!--货币类型-->
           <TradeTime>20090206152645</TradeTime>   <!--交易时间-->
           <OtherData></OtherData>                 <!--其它数据-->
       </TradeData>
       <SignatureData>
    </SignatureData>
    </TradeInfo>
其中,预先约定在转账操作中用户输入的三种信息:转入账户姓名、转入账户和转账金额,即张三、4367420037465985234和134.22为关键信息,并使用如下关键信息标识符:
<AccountName>张三</AccountName>                   <!--转入账户姓名--!>
<AccountValue>4367420037465985234</AccountValue>  <!--转入帐号--!>
<TradeMoney>134.22</TradeMoney>                   <!--转账金额-->
其中,<AccountName>和</AccountName>标识转入账户姓名,<AccountValue>和</AccountValue>标识转入账号,<TradeMoney>和</TradeMoney>标识转账金额,网络过滤驱动和银行应用服务器可以通过上述关键信息标识符,判断出协议报文中是否存在关键信息,并且可以确定出关键信息的位置。
上例中,因协议内容中没有签名值,<SignatureData></SignatureData>字段为空。
上述协议报文中还有客户端软件按照预先约定的协议添加的请求头域。本实施例中,预先预定的协议可以为http协议(Hypertext Transfer Protocol,超文本传输协议)和/或https协议(Hypertext Transfer Protocol over Secure Socket Layer,安全的超文本传输协议),且不局限于这两种。每种协议对应的请求头域都有多种,例如,http协议对应的请求头域包括但不限于:OPTIONS、GET、HEAD、POST、PUT、DELETE和TRACE等等。优选地,可以使用POST请求头域,具体如下:
POST/transfer.cgi HTTP/1.1\r\n
Host:219.168.0.1\r\n
Content-Length:512\r\n\r\n
POST=M
其中,M为上述XML格式的协议内容,请求头域使用的是http1.1协议,/transfer.cgi为银行服务器端处理网上银行交易的程序,219.168.0.1为所要访问的银行服务器地址,报文长度512。
步骤103:客户端软件将协议报文拆分为多个IP数据包,然后发送;
具体地,客户端软件可以调用系统的接口,将上层的协议报文根据下层TCP/IP协议拆分为固定长度的IP数据包发送给网卡驱动程序,再通过硬件转换发送到网络中。在本实施例中,由于操作系统和网卡驱动程序之间存在网络过滤驱动,因此操作系统会将上述多个IP数据包先发送给网络过滤驱动,由网络过滤驱动再将该多个IP数据包转发给网卡驱动。其中每个数据包都包括发送的目的地址、源地址、IP数据包的序列号、协议报文的一部分、该协议报文的长度。
步骤104:网络过滤驱动接收该多个IP数据包并进行缓存,对接收到的多个IP数据包进行排序,然后进行组包操作,得到上述协议报文;
在本实施例中,网络过滤驱动进行组包操作的具体过程如下:
网络过滤驱动每次处理一个IP数据包。对每一个IP数据包,解析出数据包中的目的地址。如果目的地址不是所述预先存储的应用服务器的地址,则网络过滤驱动不做任何额外处理,直接将该IP数据包发给网卡驱动。如果目的地址是所述预先存储的应用服务器的地址,则缓存该IP数据包,并不将其发送给网卡驱动,直到得到上述协议报文被拆分后得到的所有IP数据包。IP数据包中写有整个协议报文的长度,网卡过滤驱动根据上述长度判断IP数据包的个数,一旦该协议报文被拆分后得到的所有IP数据包均接收到之后,将每个IP数据包中所包含的协议报文部分取出,按IP数据包的序列号顺序排列,得到上述协议报文。
其中,网络过滤驱动可以预先存储有多个应用服务器的地址,并可根据需要修改该配置,为了进一步提高安全性,还可以加密存储多个应用服务器的地址。
步骤105:网络过滤驱动对组包得到的协议报文进行解析,判断协议报文中是否存在网络过滤驱动、智能密钥设备和应用服务器预先约定的关键信息,如果不存在,则执行步骤106,如果存在,则执行步骤107;
其中,解析是指根据当前应用的协议将协议报文拆分为请求头域部分和协议内容部分。解析之后网络过滤驱动判断协议内容中是否存在关键信息。
在本步骤中,网络过滤驱动可以采用以下两种方式中的任一种来判断协议报文中是否存在关键信息:
1)判断协议报文中是否存在网络过滤驱动、智能密钥设备和应用服务器预先预定的关键信息标识符,如果存在,则判断出该协议报文中存在关键信息,否则,协议报文中不存在关键信息;
例如,解析协议报文得到协议内容后,判断协议内容中是否存在关键信息标识符:<AccountName>和</AccountName>,如果存在,则将<AccountName>和</AccountName>之间的数据读出得到转入账号姓名关键信息;判断该协议内容中是否存在关键标识符:<AccountValue>和</AccountValue>,如果存在,则将<AccountValue>和</AccountValue>之间的数据读出得到转入账号关键信息;判断该协议内容中是否存在关键标识符:<TradeMoney>和</TradeMoney>,如果存在,则将<TradeMoney>和</TradeMoney>之间的数据读出得到转账金额关键信息。如果网络过滤驱动、智能密钥设备和应用服务器预先约定的上述三种关键信息标识符中有一个不为空(即中间写有数据),则认为协议内容中存在关键信息,如果该三种关键信息标识符均为空(即都未写有数据),则认为协议内容中不存在关键信息。
2)网络过滤驱动根据约定的协议解析所述协议报文,在该协议报文中找到网络过滤驱动、智能密钥设备和应用服务器指定的字段,判断该字段中是否存在数据,如果存在,则判断出所述协议报文中存在所述关键信息。
进一步地,本步骤中,如果存在关键信息,网络过滤驱动还可以先对组包得到的协议报文的请求头域中写入的应用服务器地址进行验证,如果正确,即与网络过滤驱动预先存储的应用服务器的地址一致,则执行步骤107;如果不正确,则向用户提示应用服务器错误,流程结束。
步骤106:网络过滤驱动将缓存的多个IP数据包发送给网卡驱动程序,通过网卡发送到网络中的应用服务器,在本实施例中发送给网上银行的服务器,然后客户端与应用服务器进行交互,流程结束;
步骤107:网络过滤驱动将组包得到的协议报文发送给USB Key,USB Key收到该协议报文后进行解析,得到上述关键信息,并且输出该关键信息供用户进行确认;
在本步骤中,USB Key可以采用以下两种方式中的任一种来解析协议报文得到关键信息:
1)USB Key判断协议报文中是否存在网络过滤驱动、智能密钥设备和应用服务器预先预定的关键信息标识符,如果存在,则根据该关键信息标识符读出关键信息;
2)USB Key解析协议报文,在协议报文中找到网络过滤驱动、智能密钥设备和应用服务器指定的字段,判断该字段中是否存在数据,如果存在,则读出该数据,得到关键信息。
具体地,USB Key可以通过液晶显示器显示输出该关键信息供用户进行确认,或者USBKey也可以通过语音播报的方式播放该关键信息供用户进行确认。其中,USB Key可以将得到的关键信息组成标准格式后再输出,例如:USB Key得到转入账号4367420037465985234、转入账号姓名张三和转账金额134.22后,在显示器上输出以下关键信息供用户进行确认:
帐号:4367420037465985234
户名:张三
金额:134.22
另外,USB Key也可以将该关键信息传给客户端主机,由客户端主机提示用户对该关键信息进行确认。
步骤108:USB Key接收用户输入的确认信息,判断是否用户确认该关键信息正确,如果用户确认该关键信息正确,则执行步骤109,如果用户确认该关键信息不正确或在约定的时间内USB Key没有接到用户的确认信息,则执行步骤112;
其中,所述约定的时间为USB Key为用户输入确认信息所预留的时间,在该时间段内输入的确认信息有效,如果超过该时间用户再输入确认信息,则视为无效。
步骤109:USB Key对收到的协议报文进行签名,并将签名结果发送给网络过滤驱动;
具体地,USB Key对协议报文进行签名前,还可以先验证用户的身份,其中,验证用户的身份的方式可以包括PIN(Personal Identification Number,个人识别码)码或指纹、虹膜、静脉特征等个人生物特征的方式,在本实施例中采取验证PIN码的方式,具体如下:
USB Key用显示输出或语音播报的方式提示用户输入PIN码,用户利用USB Key自带的键盘键入PIN码,USB Key接收并验证该PIN码是否正确,如果正确,则对协议报文进行签名,并将签名结果发送给网络过滤驱动,如果错误,则提示用户再次输入PIN码或停止操作。
另外,上述USB Key验证PIN码的过程还可以由以下过程替换:
USB Key向客户端软件发送验证PIN码的请求,客户端软件提示用户输入PIN码并接收用户输入的PIN码然后发送给USB Key,USB Key收到后验证该PIN码是否正确,如果正确,则对协议报文进行签名,并将签名结果发送给网络过滤驱动,如果错误,则提示用户再次输入PIN码或停止操作。
本发明实施例中,USB Key可以在一次网银交易初始时只验证一次PIN码,也可以在每次签名操作前验证PIN码。
另外,USB Key对协议报文进行签名操作时,可以对协议报文的全部协议内容进行签名,也可以选择部分协议内容进行签名,如约定仅对协议内容中的关键信息部分进行签名,即上例中对帐号:4367420037465985234,户名:张三和金额:134.22这三个关键信息进行签名,优选地,可以使用哈希算法,对该三个关键信息进行计算,得到以下签名结果:
“MualIO9msIOE1IuIiH22Z8N57PzagkURnlxUgknTTXi88t+9u1Tzg0ltcYZWdG+D3LOgDXfejPtjx01HSt293usQhRTt5SW8qte24lUvw0eMC0YHzH3Iwu0Jb5KErXrsg0OMWFZMnhbjF33pGloQWMC23pe6Z98XCcnKR3nqBdY=”。
步骤110:网络过滤驱动接收到该签名结果,根据该签名结果和协议报文生成新的协议报文,然后拆分成多个IP数据包发送给网卡驱动程序,网卡驱动程序处理后通过网卡硬件发送到网络中,最后到达应用服务器;
其中,网络过滤驱动生成新的协议报文可以具体如下:在组包得到的协议报文的协议内容中插入USB Key返回的签名结果,组合得到新的协议内容,并且根据预先约定的协议对协议报文中的请求头域进行修改,得到新的协议报文。插入的签名结果可以采取base64编码的方式,在本实施例中,具体为在字段<SignatureData></SignatureData>中插入签名结果:
<SignatureData>
MualIO9msIOE1IuIiH22Z8N57PzagkURnlxUgknTTXi88t+9u1Tzg0ltcYZWdG+D3LOgDXfejPtjx01HSt293usQhRTt5SW8qte24lUvw0eMC0YHzH3Iwu0Jb5KErXrsg0OMWFZMnhbjF33pGloQWMC23pe6Z98XCcnKR3nqBdY=
</SignatureData>
由于插入操作后协议报文的长度发生变化,因此对协议报文中的请求头域进行如下修改:
POST/transfer.cgi HTTP/1.1\r\n
Host:www.domain.com\r\n
Content-Length:528\r\n\r\n
POST=N
其中,N为插入签名结果后的协议内容。
除上述插入签名结果的方式外,网络过滤驱动还可以使用签名结果替换协议报文中的指定部分,并根据预先约定的协议对协议报文中的请求头域进行修改,得到新的协议报文。该指定部分由网络过滤驱动预先设置,可以为协议报文的全部协议内容或部分协议内容。例如,将协议内容中的指定字段<SignatureData></SignatureData>中的数据替换为签名结果。其中,客户端软件在生成协议内容时,可以在该字段中插入一段假的签名结果,作为初始值,当网络过滤驱动生成新的协议报文时,使用上述USB Key返回的签名结果替换原有的假的签名结果,并相应地修改请求头域,得到新的协议报文。
在本步骤中,网络过滤驱动将新的协议报文进行拆分得到多个IP数据包的具体过程如下:在本实施例中,优选地使用TCP/IP协议,按一定长度将新的协议报文分为多段数据,并为每一段数据添加新的IP协议包头,将上述被分成多段的数据按顺序排列并分配一个序号写入到IP协议包头中,其中,IP协议头中还包括IP版本、IP协议包长度、该IP数据包的总长度、目的地址、源地址等,完成拆包操作后,将上述拆分得到的IP数据包发送给网卡驱动。
步骤111:应用服务器收到该多个IP数据包后,组包得到上述新的协议报文,进行解析并验证其中的签名,验证通过后为客户端提供服务,进行网上转账,流程结束;
步骤112:USB Key进行异常处理,流程结束。
其中,异常处理的方式包括:USB Key拒绝对协议报文进行签名,并通知网络过滤驱动停止操作及向用户提示错误;或者,USB Key返回一个错误的签名结果给网络过滤驱动,导致网上交易失败。
在本实施例中,USB Key还可以在得到关键信息后,不输出该关键信息给用户进行确认,而是,直接对协议报文进行签名,然后返回签名结果给代理服务器,代理服务器根据该签名结果和协议内容生成新的协议报文,发送该新的协议报文给应用服务器。
在本实施例中,如果需要更高的安全性,步骤106还可以替换为以下过程:
网络过滤驱动将协议报文发送给USB Key,USB Key对该协议报文进行签名,并将签名结果返回给网络过滤驱动,网络过滤驱动根据该签名结果和协议报文(插入或替换方式),生成新的协议报文,拆分成多个IP数据包,然后发送给网卡驱动程序,通过网卡发送到应用服务器,应用服务器收到后组包得到该新的协议报文,解析验证其中的签名,验证通过后为客户端提供服务。
实施例2
本实施例提供了一种提高网络应用安全性的系统,包括:网络过滤驱动1和智能密钥设备2。其中,网络过滤驱动1安装于客户端主机内,具体包括:
接口模块11,用于接收客户端主机内的客户端软件发来的多个IP数据包,该多个IP数据包为客户端软件根据用户输入的信息生成协议报文后拆分得到的,还用于与智能密钥设备通讯,向智能密钥设备发送该协议报文,接收智能密钥设备返回的签名结果,还用于发送新的协议报文拆分后的多个IP数据包给网卡驱动,由网卡驱动发送给应用服务器;
存储模块12,用于缓存接口模块11收到的多个IP数据包;
组包模块13,用于对接口模块11收到的多个IP数据包进行组包操作,得到上述协议报文;
解析判断模块14,用于根据约定的协议对组包模块13得到的协议报文进行解析,判断该协议报文中是否存在网络过滤驱动1、智能密钥设备2和应用服务器预先约定的关键信息,如果存在该关键信息,通过接口模块11发送该协议报文给智能密钥设备2,如果不存在该关键信息,通过接口模块11将存储模块12缓存的多个IP数据包通过网卡驱动发送给应用服务器;
报文生成模块15,用于根据接口模块11收到的签名结果和组包模块13得到的协议报文,生成新的协议报文;
拆分模块16,用于将报文生成模块15得到的新的协议报文拆分为多个IP数据包,通过接口模块11发送给客户端主机内的网卡驱动;
智能密钥设备2包括:
接口模块21,用于与网络过滤驱动1通讯,接收网络过滤驱动1发送的协议报文,向网络过滤驱动1发送签名结果;
过滤模块22,用于解析智能密钥设备的接口模块21收到的协议报文,得到所述关键信息;
输出模块23,用于输出过滤模块22得到的关键信息供用户确认;
确认模块24,用于接收用户输入的确认所述关键信息是否正确的信息;
签名模块25,用于当确认模块24收到的信息为用户确认关键信息正确时,对智能密钥设备的接口模块21收到的协议报文进行签名,并通过智能密钥设备的接口模块21返回签名结果给网络过滤驱动1;
异常处理模块26,用于当确认模块24收到的信息为用户确认关键信息不正确时,或者确认模块24在预设的时间内未收到用户的确认信息时,进行异常处理。
本实施例中,存储模块12还用于存储应用服务器的地址,组包模块13具体包括:
比对单元,用于将网络过滤驱动1的接口模块11收到的多个IP数据包中的目的地址与存储模块12存储的应用服务器的地址进行比对;
组包单元,用于根据比对单元比对的结果,将接口模块11收到的多个IP数据包中目的地址均为所述应用服务器的地址的数据包进行组包操作,得到所述协议报文,将接口模块11收到的多个IP数据包中目的地址不为所述应用服务器的地址的数据包,通过接口模块11发送给网卡驱动。
本实施例中,所述协议报文和新的协议报文均包含有请求头域,请求头域中写有所述应用服务器的地址,存储模块12还用于存储所述应用服务器的地址,相应地,网络过滤驱动1的解析判断模块14具体包括:
判断单元,用于根据约定的协议对组包模块13得到的所述协议报文进行解析,判断该协议报文中是否存在网络过滤驱动1、智能密钥设备2和应用服务器预先约定的关键信息;
第一处理单元,用于如果判断单元判断出所述协议报文中存在关键信息,则对所述协议报文的的请求头域进行解析,判断该请求头域中写入的应用服务器地址是否与存储模块12存储的应用服务器地址一致,如果一致,则通过接口模块11将所述协议报文发送给智能密钥设备2,如果不一致,则提示用户应用服务器错误;
第二处理单元,用于如果判断单元判断出所述协议报文中不存在关键信息,则通过接口模块11将存储模块12缓存的多个IP数据包通过网卡驱动发送给应用服务器。
本实施例中,解析判断模块14具体包括:
标识符解析判断单元,用于根据约定的协议对组包模块13得到的协议报文进行解析,判断该协议报文中是否存在网络过滤驱动1、智能密钥设备2和应用服务器预先约定的关键信息标识符,如果存在,则判断出该协议报文中存在所述关键信息,通过接口模块11发送该协议报文给智能密钥设备2,如果不存在关键信息,则通过接口模块11将存储模块12缓存的多个IP数据包通过网卡驱动发送给应用服务器;
或者,
字段解析判断单元,用于根据约定的协议对组包模块13得到的协议报文进行解析,在该协议报文中找到网络过滤驱动1、智能密钥设备2和应用服务器预先指定的字段,判断该字段中是否存在数据,如果存在,则判断出该协议报文中存在所述关键信息,通过接口模块11发送该协议报文给智能密钥设备2,如果不存在,则判断出该协议报文中不存在所述关键信息,通过接口模块11将存储模块12缓存的多个IP数据包通过网卡驱动发送给应用服务器。
本实施例中,过滤模块22具体包括:
标识符过滤单元,用于判断接口模块21收到的协议报文中是否存在网络过滤驱动1、智能密钥设备2和应用服务器预先约定的关键信息标识符,如果存在,则根据该关键信息标识符找到所述关键信息;
或者,
字段过滤单元,用于在智能密钥设备2的接口模块21收到的协议报文中找到网络过滤驱动1、智能密钥设备2和应用服务器预先指定的字段,判断该字段中是否存在数据,如果存在,则读出该数据,得到所述关键信息。
本实施例中,输出模块23为液晶显示器或音频装置。
本实施例中,异常处理模块26具体包括:
第一异常处理单元,用于当确认模块24收到的信息为用户确认关键信息不正确时,或者确认模块24在预设的时间内未收到用户的确认信息时,通过接口模块21通知网络过滤驱动1停止操作,向用户提示操作失败;
或者,
第二异常处理单元,用于当确认模块24收到的信息为用户确认关键信息不正确时,或者确认模块24在预设的时间内未收到用户的确认信息时,通过接口模块21向网络过滤驱动1返回一个错误的签名结果。
本实施例中,网络过滤驱动1的接口模块11还用于当解析判断模块14判断出所述协议报文中不存在关键信息时,将存储模块12缓存的多个IP数据包发送给网卡驱动,由网卡驱动发送给所述应用服务器。
本实施例中,智能密钥设备2的签名模块25具体包括:
签名单元,用于当确认模块24收到的信息为用户确认关键信息正确时,根据个人识别码或个人生物特征对用户的身份进行验证,如果合法,则对接口模块21收到的协议报文进行签名,并通过接口模块21返回签名结果给网络过滤驱动1;如果不合法,则拒绝对所述协议报文进行签名。
本实施例中,网络过滤驱动1的报文生成模块15具体包括:
第一生成单元,用于将网络过滤驱动1的接口模块11接收到的签名结果插入到所述协议报文中,并根据预先约定的协议对所述协议报文中的请求头域进行修改,得到新的协议报文;
或者,
第二生成单元,用于使用网络过滤驱动1的接口模块11接收到的签名结果对所述协议报文中的指定部分进行替换,并根据预先约定的协议对所述协议报文中的请求头域进行修改,得到新的协议报文。
本发明实施例提供的技术方案通过客户端的网络过滤驱动判断协议报文中是否存在关键信息,如果存在,由智能密钥设备对协议报文进行签名后返回签名结果给网络过滤驱动,网络过滤驱动根据签名结果生成新的协议报文发给网卡驱动程序,通过网卡发送给应用服务器,在不改动原有客户端的前提下提高了网络应用的安全性,可以适用于各种客户端软件,具有良好的兼容性、易用性。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (20)

1、一种提高网络应用安全性的方法,其特征在于,所述方法包括:
客户端主机内的客户端软件根据用户输入的信息生成协议报文,并拆分为多个IP数据包发送;
所述客户端主机内的网络过滤驱动接收并缓存所述多个IP数据包,进行组包操作得到所述协议报文;
所述网络过滤驱动根据约定的协议解析所述协议报文,判断所述协议报文中是否存在所述网络过滤驱动、智能密钥设备和应用服务器预先约定的关键信息;
如果所述协议报文中存在所述关键信息,则所述网络过滤驱动将所述协议报文发送给所述智能密钥设备,所述智能密钥设备解析所述协议报文得到所述关键信息,输出该关键信息供用户确认;
如果接收到用户确认关键信息正确的信号,则所述智能密钥设备对所述协议报文进行签名,返回签名结果给所述网络过滤驱动,所述网络过滤驱动根据所述签名结果和协议报文生成新的协议报文,将该新的协议报文拆分为多个IP数据包,通过网卡驱动发送给所述应用服务器;
如果接收到用户确认关键信息不正确的信号或在预设的时间内没有接收到用户进行确认的信号,则所述智能密钥设备进行异常处理;
如果所述协议报文中不存在所述关键信息,则所述网络过滤驱动将缓存的所述多个IP数据包通过所述网卡驱动发送给所述应用服务器。
2、根据权利要求1所述的提高网络应用安全性的方法,其特征在于,所述客户端主机内的网络过滤驱动接收并缓存所述多个IP数据包,进行组包操作得到所述协议报文,具体包括:
所述客户端主机内的网络过滤驱动接收并缓存所述多个IP数据包;
将所述多个IP数据包中的目的地址与预先存储的所述应用服务器的地址进行比对;
将所述多个IP数据包中目的地址均为所述应用服务器的地址的数据包进行组包操作,得到所述协议报文,将所述多个IP数据包中目的地址不为所述应用服务器的地址的数据包发送给所述网卡驱动。
3、根据权利要求1所述的提高网络应用安全性的方法,其特征在于,所述网络过滤驱动根据约定的协议解析所述协议报文,判断所述协议报文中是否存在所述网络过滤驱动、智能密钥设备和应用服务器预先约定的关键信息,具体包括:
所述网络过滤驱动根据约定的协议解析所述协议报文,判断所述协议报文中是否存在所述网络过滤驱动、智能密钥设备和应用服务器预先约定的关键信息标识符,如果存在,则判断出所述协议报文中存在所述关键信息;
或,
所述网络过滤驱动根据约定的协议解析所述协议报文,在所述协议报文中找到所述网络过滤驱动、智能密钥设备和应用服务器指定的字段,判断该字段中是否存在数据,如果存在,则判断出所述协议报文中存在所述关键信息。
4、根据权利要求1所述的提高网络应用安全性的方法,其特征在于,所述协议报文和新的协议报文均包含有请求头域,所述请求头域中写有所述应用服务器的地址。
5、根据权利要求4所述的提高网络应用安全性的方法,其特征在于,所述网络过滤驱动将所述协议报文发送给所述智能密钥设备,具体包括:
所述网络过滤驱动对所述协议报文的请求头域进行解析,判断所述请求头域中写入的应用服务器地址是否与所述网络过滤驱动存储的应用服务器地址一致;
如果一致,则执行所述网络过滤驱动将所述协议报文发送给所述智能密钥设备的步骤;
如果不一致,则所述网络过滤驱动提示用户应用服务器错误,流程结束。
6、根据权利要求1所述的提高网络应用安全性的方法,其特征在于,所述智能密钥设备解析所述协议报文得到所述关键信息,具体包括:
所述智能密钥设备解析所述协议报文,判断所述协议报文中是否存在所述网络过滤驱动、智能密钥设备和应用服务器预先约定的关键信息标识符,如果存在,则根据所述关键信息标识符找到所述关键信息;
或,
所述智能密钥设备解析所述协议报文,在所述协议报文中找到所述网络过滤驱动、智能密钥设备和应用服务器指定的字段,判断该字段中是否存在数据,如果存在,则读出所述数据,得到所述关键信息。
7、根据权利要求1所述的提高网络应用安全性的方法,其特征在于,所述输出该关键信息供用户确认,具体包括:
所述智能密钥设备通过液晶显示器显示输出所述关键信息供用户确认,或者通过语音播报的方式播放所述关键信息供用户确认。
8、根据权利要求1所述的提高网络应用安全性的方法,其特征在于,所述智能密钥设备进行异常处理,具体包括:
所述智能密钥设备通知所述网络过滤驱动停止操作,向用户提示操作失败;
或者,
所述智能密钥设备向所述网络过滤驱动返回一个错误的签名结果。
9、根据权利要求1所述的提高网络应用安全性的方法,其特征在于,所述智能密钥设备对所述协议报文进行签名,具体包括:
所述智能密钥设备根据个人识别码或个人生物特征对用户的身份进行验证,所述个人生物特征包括指纹、虹膜或静脉识别;
如果合法,则对所述协议报文进行签名;
如果不合法,则拒绝对所述协议报文进行签名,流程结束。
10、根据权利要求1所述的提高网络应用安全性的方法,其特征在于,所述网络过滤驱动根据所述签名结果和协议报文生成新的协议报文,具体包括:
所述网络过滤驱动将接收到的签名结果插入到所述协议报文中,并根据预先约定的协议对所述协议报文中的请求头域进行修改,得到新的协议报文;
或者,
所述网络过滤驱动使用接收到的签名结果对所述协议报文中的指定部分进行替换,并根据预先约定的协议对所述协议报文中的请求头域进行修改,得到新的协议报文。
11、根据权利要求1至10中任一权利要求所述的提高网络应用安全性的方法,其特征在于,所述约定的协议包括超文本传输协议http和/或安全的超文本传输协议https。
12、一种提高网络应用安全性的系统,其特征在于,所述系统包括:智能密钥设备和客户端主机内的网络过滤驱动;
所述网络过滤驱动包括:
接口模块,用于接收客户端主机内的客户端软件发来的多个IP数据包,所述多个IP数据包为所述客户端软件根据用户输入的信息生成协议报文后拆分得到的,并与所述智能密钥设备通讯,向所述智能密钥设备发送所述协议报文,接收所述智能密钥设备返回的签名结果,还用于发送新的协议报文拆分后的多个IP数据包给网卡驱动,由所述网卡驱动发送给所述应用服务器;
存储模块,用于缓存所述接口模块收到的所述多个IP数据包;
组包模块,用于对所述接口模块收到的所述多个IP数据包进行组包操作,得到所述协议报文;
解析判断模块,用于根据约定的协议对所述组包模块得到的所述协议报文进行解析,判断所述协议报文中是否存在所述网络过滤驱动、智能密钥设备和应用服务器预先约定的关键信息,如果存在所述关键信息,通过所述接口模块发送所述协议报文给所述智能密钥设备,如果不存在所述关键信息,通过所述接口模块将所述存储模块缓存的所述多个IP数据包通过所述网卡驱动发送给所述应用服务器;
报文生成模块,用于根据所述接口模块收到的签名结果和所述组包模块得到的所述协议报文,生成新的协议报文;
拆分模块,用于将所述报文生成模块得到的所述新的协议报文拆分为多个IP数据包,通过所述接口模块发送给所述客户端主机内的网卡驱动;
所述智能密钥设备包括:
接口模块,用于与所述网络过滤驱动通讯,接收所述网络过滤驱动发送的协议报文,向所述网络过滤驱动发送签名结果;
过滤模块,用于解析所述智能密钥设备的接口模块收到的协议报文,得到所述关键信息;
输出模块,用于输出所述过滤模块得到的关键信息供用户确认;
确认模块,用于接收用户输入的确认所述关键信息是否正确的信息;
签名模块,用于当所述确认模块收到的信息为用户确认关键信息正确时,对所述智能密钥设备的接口模块收到的协议报文进行签名,并通过所述智能密钥设备的接口模块返回签名结果给所述网络过滤驱动;
异常处理模块,用于当所述确认模块收到的信息为用户确认关键信息不正确时,或者所述确认模块在预设的时间内未收到用户的确认信息时,进行异常处理。
13、根据权利要求12所述的提高网络应用安全性的系统,其特征在于,所述存储模块还用于存储所述应用服务器的地址,所述组包模块具体包括:
比对单元,用于将所述网络过滤驱动的接口模块收到的所述多个IP数据包中的目的地址与所述存储模块存储的所述应用服务器的地址进行比对;
组包单元,用于根据所述比对单元比对的结果,将所述多个IP数据包中目的地址均为所述应用服务器的地址的数据包进行组包操作,得到所述协议报文,将所述多个IP数据包中目的地址不为所述应用服务器的地址的数据包通过所述网络过滤驱动的接口模块发送给所述网卡驱动。
14、根据权利要求12所述的提高网络应用安全性的系统,其特征在于,所述协议报文和新的协议报文均包含有请求头域,所述请求头域中写有所述应用服务器的地址,所述存储模块还用于存储所述应用服务器的地址,所述解析判断模块具体包括:
判断单元,用于根据约定的协议对所述组包模块得到的所述协议报文进行解析,判断所述协议报文中是否存在所述网络过滤驱动、智能密钥设备和应用服务器预先约定的关键信息;
第一处理单元,用于如果所述判断单元判断出所述协议报文中存在所述关键信息,则对所述协议报文的请求头域进行解析,判断所述请求头域中写入的应用服务器地址是否与所述存储模块存储的应用服务器地址一致,如果一致,则通过所述接口模块将所述协议报文发送给所述智能密钥设备,如果不一致,则提示用户应用服务器错误;
第二处理单元,用于如果所述判断单元判断出所述协议报文中不存在所述关键信息,则通过所述接口模块将所述存储模块缓存的所述多个IP数据包通过所述网卡驱动发送给所述应用服务器。
15、根据权利要求12所述的提高网络应用安全性的系统,其特征在于,所述解析判断模块具体包括:
标识符解析判断单元,用于根据约定的协议对所述组包模块得到的所述协议报文进行解析,判断所述协议报文中是否存在所述网络过滤驱动、智能密钥设备和应用服务器预先约定的关键信息标识符,如果存在,则判断出所述协议报文中存在所述关键信息,通过所述网络过滤驱动的接口模块发送所述协议报文给所述智能密钥设备,如果不存在所述关键信息,通过所述接口模块将所述存储模块缓存的所述多个IP数据包通过所述网卡驱动发送给所述应用服务器;
或者,
字段解析判断单元,用于根据约定的协议对所述组包模块得到的所述协议报文进行解析,在所述协议报文中找到所述网络过滤驱动、智能密钥设备和应用服务器预先指定的字段,判断该字段中是否存在数据,如果存在,则判断出所述协议报文中存在所述关键信息,通过所述网络过滤驱动的接口模块发送所述协议报文给所述智能密钥设备,如果不存在,则判断出所述协议报文中不存在所述关键信息,通过所述接口模块将所述存储模块缓存的所述多个IP数据包通过所述网卡驱动发送给所述应用服务器。
16、根据权利要求12所述的提高网络应用安全性的系统,其特征在于,所述过滤模块具体包括:
标识符过滤单元,用于判断所述智能密钥设备的接口模块收到的协议报文中是否存在所述网络过滤驱动、智能密钥设备和应用服务器预先约定的关键信息标识符,如果存在,则根据所述关键信息标识符找到所述关键信息;
或者,
字段过滤单元,用于在所述智能密钥设备的接口模块收到的协议报文中找到所述网络过滤驱动、智能密钥设备和应用服务器预先指定的字段,判断该字段中是否存在数据,如果存在,则读出所述数据,得到所述关键信息。
17、根据权利要求12所述的提高网络应用安全性的系统,其特征在于,所述输出模块为液晶显示器或音频装置。
18、根据权利要求12所述的提高网络应用安全性的系统,其特征在于,所述异常处理模块具体包括:
第一异常处理单元,用于当所述确认模块收到的信息为用户确认关键信息不正确时,或者所述确认模块在预设的时间内未收到用户的确认信息时,通过所述智能密钥设备的接口模块通知所述网络过滤驱动停止操作,向用户提示操作失败;
或者,
第二异常处理单元,用于当所述确认模块收到的信息为用户确认关键信息不正确时,或者所述确认模块在预设的时间内未收到用户的确认信息时,通过所述智能密钥设备的接口模块向所述网络过滤驱动返回一个错误的签名结果。
19、根据权利要求12所述的提高网络应用安全性的系统,其特征在于,所述智能密钥设备的签名模块具体包括:
签名单元,用于当所述确认模块收到的信息为用户确认关键信息正确时,根据个人识别或个人生物特征对用户的身份进行验证,如果合法,则对所述智能密钥设备的接口模块收到的协议报文进行签名,并通过所述智能密钥设备的接口模块返回签名结果给所述网络过滤驱动;如果不合法,则拒绝对所述协议报文进行签名。
20、根据权利要求12所述的提高网络应用安全性的系统,其特征在于,所述网络过滤驱动的报文生成模块具体包括:
第一生成单元,用于将所述网络过滤驱动的接口模块接收到的签名结果插入到所述协议报文中,并根据预先约定的协议对所述协议报文中的请求头域进行修改,得到新的协议报文;
或者,
第二生成单元,用于使用所述网络过滤驱动的接口模块接收到的签名结果对所述协议报文中的指定部分进行替换,并根据预先约定的协议对所述协议报文中的请求头域进行修改,得到新的协议报文。
CN200910086341A 2009-05-31 2009-05-31 提高网络应用安全性的方法和系统 Active CN101635715B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN200910086341A CN101635715B (zh) 2009-05-31 2009-05-31 提高网络应用安全性的方法和系统
US12/863,444 US8504820B2 (en) 2009-05-31 2010-04-19 Method for improving network application security and system thereof
PCT/CN2010/071900 WO2010139210A1 (zh) 2009-05-31 2010-04-19 提高网络应用安全性的方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200910086341A CN101635715B (zh) 2009-05-31 2009-05-31 提高网络应用安全性的方法和系统

Publications (2)

Publication Number Publication Date
CN101635715A true CN101635715A (zh) 2010-01-27
CN101635715B CN101635715B (zh) 2012-09-12

Family

ID=41594776

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200910086341A Active CN101635715B (zh) 2009-05-31 2009-05-31 提高网络应用安全性的方法和系统

Country Status (3)

Country Link
US (1) US8504820B2 (zh)
CN (1) CN101635715B (zh)
WO (1) WO2010139210A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010139210A1 (zh) * 2009-05-31 2010-12-09 北京飞天诚信科技有限公司 提高网络应用安全性的方法和系统
WO2010139203A1 (zh) * 2009-05-31 2010-12-09 北京飞天诚信科技有限公司 提高网络应用安全性的方法和系统
CN103713934A (zh) * 2012-09-29 2014-04-09 京信通信系统(中国)有限公司 应用程序访问物理外设的方法和系统
CN111510300A (zh) * 2020-04-10 2020-08-07 中国联合网络通信集团有限公司 数据处理方法、装置、设备及计算机可读存储介质
CN111541775A (zh) * 2020-05-09 2020-08-14 飞天诚信科技股份有限公司 一种认证报文的安全转换方法及系统

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102521186B (zh) * 2011-11-22 2015-01-14 飞天诚信科技股份有限公司 一种USB Key及其与终端进行通信的方法
WO2014138187A1 (en) 2013-03-05 2014-09-12 Christmas Coy System and method for cubic graphical user interfaces
MX2016000616A (es) 2013-07-18 2017-05-17 Fasetto L L C Sistema y metodo para videos desde multiples angulos.
GB201315826D0 (en) * 2013-09-05 2013-10-23 Trw Ltd Safety filter
US10095873B2 (en) 2013-09-30 2018-10-09 Fasetto, Inc. Paperless application
US9584402B2 (en) * 2014-01-27 2017-02-28 Fasetto, Llc Systems and methods for peer to peer communication
WO2016007780A1 (en) 2014-07-10 2016-01-14 Fasetto, Llc Systems and methods for message editing
MX2017004463A (es) 2014-10-06 2017-08-18 Fasetto Llc Sistemas y metodos para dispositivos de almacenamiento portatiles.
US10437288B2 (en) 2014-10-06 2019-10-08 Fasetto, Inc. Portable storage device with modular power and housing system
EP3269124B1 (en) 2015-03-11 2020-05-06 Fasetto, Inc. Method and device for web api communications
US10929071B2 (en) 2015-12-03 2021-02-23 Fasetto, Inc. Systems and methods for memory card emulation
EP3545661B1 (en) 2016-11-23 2023-01-04 Fasetto, Inc. Systems and methods for streaming media
WO2018144833A1 (en) 2017-02-03 2018-08-09 Fasetto, Llc Systems and methods for data storage in keyed devices
JP7118708B2 (ja) * 2017-04-07 2022-08-16 トゥルソナ,インコーポレイテッド 通信検証のためのシステムおよび方法
CN109428916B (zh) 2017-08-25 2022-02-22 中兴通讯股份有限公司 数据传输方法和装置、终端及服务器
WO2019079628A1 (en) 2017-10-19 2019-04-25 Fasetto, Inc. PORTABLE ELECTRONIC DEVICE CONNECTING SYSTEMS
JP2021505938A (ja) 2017-12-01 2021-02-18 ファセット・インコーポレーテッド データ暗号化を改善するシステムおよび方法
WO2019204524A1 (en) 2018-04-17 2019-10-24 Fasetto, Inc. Device presentation with real-time feedback
US11005585B1 (en) * 2019-12-31 2021-05-11 Juniper Networks, Inc. Transporting client timing information across a network
US11895193B2 (en) * 2020-07-20 2024-02-06 Juniper Networks, Inc. Data center resource monitoring with managed message load balancing with reordering consideration

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7263102B2 (en) * 2002-11-27 2007-08-28 At&T Intellectual Property, Inc. Multi-path gateway communications device
CN1271485C (zh) * 2004-01-08 2006-08-23 中国工商银行股份有限公司 对网上银行数据进行加密、认证方法
US20060168653A1 (en) * 2005-01-27 2006-07-27 Contrera Suzanne H Personal network security token
CN101051907B (zh) * 2007-05-14 2012-08-22 北京握奇数据系统有限公司 面向签名数据的安全认证方法及其系统
CN101183456B (zh) * 2007-12-18 2012-05-23 中国工商银行股份有限公司 加密装置、利用该加密装置加密、认证的系统与方法
CN100589390C (zh) * 2007-12-21 2010-02-10 北京飞天诚信科技有限公司 一种认证方法和认证系统
CN101635715B (zh) * 2009-05-31 2012-09-12 飞天诚信科技股份有限公司 提高网络应用安全性的方法和系统
CN101635714B (zh) * 2009-05-31 2012-02-29 飞天诚信科技股份有限公司 提高网络应用安全性的方法和系统

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010139210A1 (zh) * 2009-05-31 2010-12-09 北京飞天诚信科技有限公司 提高网络应用安全性的方法和系统
WO2010139203A1 (zh) * 2009-05-31 2010-12-09 北京飞天诚信科技有限公司 提高网络应用安全性的方法和系统
CN103713934A (zh) * 2012-09-29 2014-04-09 京信通信系统(中国)有限公司 应用程序访问物理外设的方法和系统
CN111510300A (zh) * 2020-04-10 2020-08-07 中国联合网络通信集团有限公司 数据处理方法、装置、设备及计算机可读存储介质
CN111541775A (zh) * 2020-05-09 2020-08-14 飞天诚信科技股份有限公司 一种认证报文的安全转换方法及系统

Also Published As

Publication number Publication date
US8504820B2 (en) 2013-08-06
WO2010139210A1 (zh) 2010-12-09
CN101635715B (zh) 2012-09-12
US20110113251A1 (en) 2011-05-12

Similar Documents

Publication Publication Date Title
CN101635715B (zh) 提高网络应用安全性的方法和系统
CN101635714B (zh) 提高网络应用安全性的方法和系统
US10484376B1 (en) Authenticating a user device associated with a user to communicate via a wireless network in a secure web-based environment
CN102132304B (zh) 利用数字身份的表单填充以及自动口令生成
CN111771354A (zh) 使用区块链的单点登录方案
CN112292682A (zh) 分散式文档和实体验证引擎
US20200082361A1 (en) System and method for controlling a ledger of transactions
WO2014042992A2 (en) Establishing and using credentials for a common lightweight identity
CN100589390C (zh) 一种认证方法和认证系统
CN106341233A (zh) 客户端登录服务器端的鉴权方法、装置、系统及电子设备
CN111915301B (zh) 基于区块链的数据处理方法、装置、电子设备及可读介质
CN111818088A (zh) 授权模式管理方法、装置、计算机设备及可读存储介质
CN102546642A (zh) 远程登录的方法及装置
CN102694782A (zh) 基于互联网的安全性信息交互设备及方法
CN103139147B (zh) 数据传输时进行安全性验证的方法及系统
CN104426657B (zh) 一种业务认证方法、系统及服务器
CN113962676A (zh) 交易验证的方法、装置
KR20090095940A (ko) 거래단계 검증을 통한 비대면 금융거래 방법 및 시스템과이를 위한 기록매체
Urien Collaboration of SSL smart cards within the WEB2 landscape
CN114598531A (zh) 身份认证方法及设备
CN103023642A (zh) 一种移动终端及其数字证书功能实现方法
CN112669033A (zh) 基于fido设备的交易认证方法及fido设备
CN115001701B (zh) 用于授权认证的方法及装置、存储介质及电子设备
JP7249037B2 (ja) 暗号通貨のためのウォレットシステム
KR101223477B1 (ko) 블로그(또는 웹사이트) 운영자에 대한 대출서비스 제공 방법 및 이를 위한 기록매체

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: FEITIAN TECHNOLOGIES CO., LTD.

Free format text: FORMER OWNER: BEIJING FEITIAN CHENGXIN SCIENCE + TECHNOLOGY CO. LTD.

Effective date: 20110804

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 100191 HAIDIAN, BEIJING TO: 100085 HAIDIAN, BEIJING

TA01 Transfer of patent application right

Effective date of registration: 20110804

Address after: 100085 Beijing city Haidian District Xueqing Road No. 9 Ebizal building B block 17 layer

Applicant after: Feitian Technologies Co., Ltd.

Address before: 100191, Haidian District, Xueyuan Road, No. 40 research, 7 floor, 5 floor, Beijing

Applicant before: Beijing Feitian Chengxin Science & Technology Co., Ltd.

C14 Grant of patent or utility model
GR01 Patent grant