CN108011896A - 基于应用程序的安全通信方法、装置和电子设备 - Google Patents
基于应用程序的安全通信方法、装置和电子设备 Download PDFInfo
- Publication number
- CN108011896A CN108011896A CN201711437640.9A CN201711437640A CN108011896A CN 108011896 A CN108011896 A CN 108011896A CN 201711437640 A CN201711437640 A CN 201711437640A CN 108011896 A CN108011896 A CN 108011896A
- Authority
- CN
- China
- Prior art keywords
- application program
- dns
- vpn
- operation state
- front stage
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0272—Virtual private networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4505—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
- H04L61/4511—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/1466—Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明提出一种基于应用程序的安全通信方法、装置和电子设备,其中,方法包括:监测得到处于前台运行状态的应用程序;查询应用程序列表,以确定处于前台运行状态的应用程序是否在应用程序列表中;若处于前台运行状态的应用程序在应用程序列表中,根据预设的安全域名服务器DNS的网络地址,创建用于与安全DNS通信的虚拟专用网络VPN连接;采用VPN连接,执行域名解析通信过程。当处于前台运行状态的应用程序在应用程序列表中时,通过使用VPN连接,将DNS请求通过VPN定向到一个安全的DNS上,从而防止DNS劫持。同时,由于采用VPN技术对IP地址和域名进行加密传输,也能够防止用户的网络访问行为泄露,从而能够有效保护用户的隐私和财产安全。
Description
技术领域
本发明涉及移动终端技术领域,尤其涉及一种基于应用程序的安全通信方法、装置和电子设备。
背景技术
随着终端技术的不断发展,各种应用程序如雨后春笋般不断出现。用户可以根据自身需求在终端设备上安装不同类别的应用程序,例如社交类应用程序、支付类应用程序、娱乐类应用程序等。目前,为了防止社交类应用程序中用户的聊天记录以及支付类应用程序中的账号和密码被泄露,可以通过用户在安全检测应用程序中,例如,猎豹清理大师中,设置社交类应用程序和支付类应用程序的开启密码。
这种方式下,仅能保护用户的隐私不被周围的人偷看,而无法阻止别人通过网络途径窃取用户社交类应用程序中的聊天记录和以及支付类应用程序中的账号和密码,从而无法有效保护用户的隐私,同时严重威胁用户的财产安全。
发明内容
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本发明的第一个目的在于提出一种基于应用程序的安全通信方法,当处于前台运行状态的应用程序在应用程序列表中时,通过使用VPN连接,将DNS请求通过VPN定向到一个安全的DNS上,从而防止DNS劫持。同时,由于采用VPN技术对IP地址和域名进行加密传输,也能够防止用户的网络访问行为泄露,从而能够有效保护用户的隐私和财产安全。
本发明的第二个目的在于提出一种基于应用程序的安全通信装置。
本发明的第三个目的在于提出一种电子设备。
本发明的第四个目的在于提出一种计算机可读存储介质。
为达上述目的,本发明第一方面实施例提出了一种基于应用程序的安全通信方法,包括:
监测得到处于前台运行状态的应用程序;
查询应用程序列表,以确定所述处于前台运行状态的应用程序是否在所述应用程序列表中;
若所述处于前台运行状态的应用程序在所述应用程序列表中,根据预设的安全域名服务器DNS的网络地址,创建用于与所述安全DNS通信的虚拟专用网络VPN连接;
采用所述VPN连接,执行域名解析通信过程。
可选地,作为第一方面的第一种可能的实现方式,所述创建用于与所述安全DNS通信的虚拟专用网络VPN连接之后,还包括:
当所述应用程序列表中的应用程序均未处于前台运行状态时,断开所述VPN连接。
可选地,作为第一方面的第二种可能的实现方式,所述处于前台运行状态的应用程序为多个,所述若处于前台运行状态的应用程序在所述应用程序列表中,根据预设的安全域名服务器DNS的网络地址,创建用于与所述安全DNS通信的虚拟专用网络VPN连接,包括:
至少一个所述处于前台运行状态的应用程序在所述应用程序列表中,根据预设的安全域名服务器DNS的网络地址,创建用于与所述安全DNS通信的虚拟专用网络VPN连接。
可选地,作为第一方面的第三种可能的实现方式,所述采用所述VPN连接,执行域名解析通信过程,包括:
当获取到所述域名解析通信过程所需解析的域名时,通过所述VPN连接向所述安全DNS发送所述域名;所述域名解析通信过程是处于所述应用程序列表中的应用程序发起的,或,未处于所述应用程序列表中的应用程序发起的;
通过所述VPN连接接收所述安全DNS对所述域名进行解析得到的网络地址,以使所述应用程序根据所述解析得到的网络地址访问对应的服务器。
可选地,作为第一方面的第四种可能的实现方式,所述根据预设的安全DNS的网络地址,创建用于与所述安全DNS通信的VPN连接之前,还包括:
请求授予VPN连接建立权限;
获取到VPN连接建立权限后,利用预设的安全DNS的网络地址,替换所述VPN连接的默认DNS的网络地址。
可选地,作为第一方面的第五种可能的实现方式,所述监测得到处于前台运行状态的应用程序之前,还包括:
获取输入的所述应用程序列表;所述应用程序列表包括支付类应用程序。
可选地,作为第一方面的第六种可能的实现方式,所述监测得到处于前台运行状态的应用程序之前,还包括:
请求授予用于监测得到处于前台运行状态的应用程序的权限。
本发明实施例的基于应用程序的安全通信方法,通过监测得到处于前台运行状态的应用程序;查询应用程序列表,以确定处于前台运行状态的应用程序是否在应用程序列表中;若处于前台运行状态的应用程序在应用程序列表中,根据预设的安全域名服务器DNS的网络地址,创建用于与安全DNS通信的虚拟专用网络VPN连接;采用VPN连接,执行域名解析通信过程。本实施例中,当处于前台运行状态的应用程序在应用程序列表中时,通过使用VPN连接,将DNS请求通过VPN定向到一个安全的DNS上,从而防止DNS劫持。同时,由于采用VPN技术对IP地址和域名进行加密传输,也能够防止用户的网络访问行为泄露,从而能够有效保护用户的隐私和财产安全。
为达上述目的,本发明第二方面实施例提出了一种基于应用程序的安全通信装置,包括:
监测模块,用于监测得到处于前台运行状态的应用程序;
查询模块,用于查询应用程序列表,以确定所述处于前台运行状态的应用程序是否在所述应用程序列表中;
创建模块,用于在所述处于前台运行状态的应用程序在所述应用程序列表中时,根据预设的安全域名服务器DNS的网络地址,创建用于与所述安全DNS通信的虚拟专用网络VPN连接;
执行模块,用于采用所述VPN连接,执行域名解析通信过程。
可选地,作为第二方面的第一种可能的实现方式,所述装置还包括:
断开模块,用于在所述创建用于与所述安全DNS通信的虚拟专用网络VPN连接之后,当所述应用程序列表中的应用程序均未处于前台运行状态时,断开所述VPN连接。
可选地,作为第二方面的第二种可能的实现方式,所述处于前台运行状态的应用程序为多个,所述创建模块,具体用于:
至少一个所述处于前台运行状态的应用程序在所述应用程序列表中,根据预设的安全域名服务器DNS的网络地址,创建用于与所述安全DNS通信的虚拟专用网络VPN连接。
可选地,作为第二方面的第三种可能的实现方式,所述执行模块,具体用于:
当获取到所述域名解析通信过程所需解析的域名时,通过所述VPN连接向所述安全DNS发送所述域名;所述域名解析通信过程是处于所述应用程序列表中的应用程序发起的,或,未处于所述应用程序列表中的应用程序发起的;
通过所述VPN连接接收所述安全DNS对所述域名进行解析得到的网络地址,以使所述应用程序根据所述解析得到的网络地址访问对应的服务器。
可选地,作为第二方面的第四种可能的实现方式,所述装置还包括:
第一请求模块,用于在所述根据预设的安全DNS的网络地址,创建用于与所述安全DNS通信的VPN连接之前,请求授予VPN连接建立权限;
替换模块,用于获取到VPN连接建立权限后,利用预设的安全DNS的网络地址,替换所述VPN连接的默认DNS的网络地址。
可选地,作为第二方面的第五种可能的实现方式,所述装置还包括:
获取模块,用于在所述监测得到处于前台运行状态的应用程序之前,获取输入的所述应用程序列表;所述应用程序列表包括支付类应用程序。
可选地,作为第二方面的第六种可能的实现方式,所述装置还包括:
第二请求模块,用于在所述监测得到处于前台运行状态的应用程序之前,请求授予用于监测得到处于前台运行状态的应用程序的权限。
本发明实施例的基于应用程序的安全通信装置,通过监测得到处于前台运行状态的应用程序;查询应用程序列表,以确定处于前台运行状态的应用程序是否在应用程序列表中;若处于前台运行状态的应用程序在应用程序列表中,根据预设的安全域名服务器DNS的网络地址,创建用于与安全DNS通信的虚拟专用网络VPN连接;采用VPN连接,执行域名解析通信过程。本实施例中,当处于前台运行状态的应用程序在应用程序列表中时,通过使用VPN连接,将DNS请求通过VPN定向到一个安全的DNS上,从而防止DNS劫持。同时,由于采用VPN技术对IP地址和域名进行加密传输,也能够防止用户的网络访问行为泄露,从而能够有效保护用户的隐私和财产安全。
为达上述目的,本发明第三方面实施例提出了电子设备,包括:壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为上述电子设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行第一方面所述的基于应用程序的安全通信方法。
为达上述目的,本发明第四方面实施例提出了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如第一方面所述的基于应用程序的安全通信方法。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本发明实施例一所提供的基于应用程序的安全通信方法的流程示意图;
图2为本发明实施例中应用程序列表设置示意图;
图3为本发明实施例二所提供的基于应用程序的安全通信方法的流程示意图;
图4a为本发明实施例中一种安全检测应用程序的显示界面示意图
图4b为本发明实施例中另一种安全检测应用程序的显示界面示意图
图5为本发明实施例中获取的应用程序的运行状态示意图;
图6为本发明实施例中又一种安全检测应用程序的显示界面示意图;
图7为本发明实施例提供的一种基于应用程序的安全通信装置的结构示意图;
图8为本发明实施例提供的另一种基于应用程序的安全通信装置的结构示意图;
图9为本发明电子设备一个实施例的结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
为了清楚说明本发明实施例,下面首先对DNS劫持和VPN的相关技术进行简要介绍。
1)DNS劫持:
域名服务器(Domain Name Sever,DNS),用来将域名解析为网络地址,即IP地址。对于互联网中的每一个网络端都有一个唯一的IP地址用于通信,就如同每个人都有住址用来收信。在IPv4网络中,IP地址的形式为192.168.1.1;在IPv6网络中,IP地址的形式可以为:2001:0DB8:02de:0000:0000:0000:0000:0e13。但是每次对网络断进行访问时,如都要在浏览器上输入IP地址,访问过程较为不便捷,因此,需要采用域名来指代某个网络端的IP地址。DNS就是用来存储从域名到IP地址的映射。
若DNS存在不安全性,导致解析的IP地址不准确,从而将浏览器等应用程序定向到不安全的服务器,这种情况就是DNS劫持。当出现DNS劫持时,容易导致用户的用户名、密码等隐私泄露。
2)VPN技术
VPN属于远程访问技术,简单地说就是利用公用网络架设专用网络。VPN比较传统的应用场景是:某公司员工出差到外地,他想访问企业内网的服务器资源,这种访问就属于远程访问。采用VPN技术,可以在内网中架设一台VPN服务器。外地员工在当地连上互联网后,通过互联网连接VPN服务器,然后通过VPN服务器进入企业内网。为了保证数据安全,VPN服务器和客户机之间的通讯数据都进行了加密处理。有了数据加密,就可以认为数据是在一条专用的数据链路上进行安全传输,就如同专门架设了一个专用网络一样,但实际上VPN使用的是互联网上的公用链路,因此VPN称为虚拟专用网络,其实质上就是利用加密技术在公网上封装出一个数据通讯隧道。
本地VPN技术是指,无需架设前面提到的VPN服务器,而是在DNS和本地之间建立专用的数据链路,对域名和IP地址进行安全传输。
通常情况下,DNS是由互联网服务提供商(ISP)所提供,但ISP所提供的DNS并不一定是安全的,存在DNS劫持的可能性。本发明实施例,通过使用VPN连接,将DNS请求通过VPN定向到一个安全的DNS防止DNS劫持。同时,由于采用VPN技术对IP地址和域名进行加密传输,也能够防止用户的网络访问行为例如访问的页面这类隐私数据泄露。
下面参考附图描述本发明实施例的基于应用程序的安全通信方法、装置和电子设备。
图1为本发明实施例一所提供的基于应用程序的安全通信方法的流程示意图。
如图1所示,该基于应用程序的安全通信方法包括以下步骤:
步骤101,监测得到处于前台运行状态的应用程序。
本发明实施例的执行主体可以为电子设备中的安全检测应用程序。
其中,应用程序可以是指运行在电子设备上的软件程序,电子设备例如为个人电脑(Personal Computer,PC),云端设备或者移动设备,移动设备例如智能手机,或者平板电脑等。
本发明实施例中,可以对所有的应用程序进行监测,从而可以获取处于前台运行状态的应用程序以及处于后台运行状态的应用程序。
步骤102,查询应用程序列表,以确定处于前台运行状态的应用程序是否在应用程序列表中。
本发明实施例中,应用程序列表中的应用程序为用户希望对其进行隐私保护和/或财产保护的应用程序,例如,应用程序列表中可以包括社交类应用程序和/或支付类应用程序等。可选地,可以展示应用程序列表设置界面,用户可以在该界面中手动选择想要保护的应用程序,将选择的应用程序加入到应用程序列表中。
作为一种示例,参见图2,图2为本发明实施例中应用程序列表设置示意图。用户可以打开安全检测应用程序,而后可以通过触发图2中的划动控件21,选择应用程序,将其添加至应用程序列表中。例如,用户根据自身需求,选择的应用程序为快拍和脸书,则应用程序列表中包括的应用程序为快拍和脸书。
本发明实施例中,当确定当前处于前台运行状态的应用程序后,可以查询应用程序列表,以确定处于前台运行状态的应用程序是否在应用程序列表中。当处于前台运行状态的应用程序在应用程序列表中时,表明该应用程序为用户想要对其进行隐私保护的应用程序,此时,可以触发步骤103,而当处于前台运行状态的应用程序未在应用程序列表中时,表明该应用程序不是用户想要对其进行隐私保护的应用程序,此时,可以不做任何处理。
步骤103,若处于前台运行状态的应用程序在应用程序列表中,根据预设的安全域名服务器DNS的网络地址,创建用于与安全DNS通信的虚拟专用网络VPN连接。
其中,网络地址包括IP地址。安全DNS由于在进行DNS解析的同时,还能够有效屏蔽挂马、色情、赌博、低俗广告等多种类型的恶意网站,从而能够阻断病毒传播途径,常用的安全DNS包括OneDNS,openDNS等。
可选地,为了避免DNS解析的IP地址不准确,从而将应用程序定向到不安全的服务器,进而访问钓鱼网页,本发明实施例中,可以通过用户预先指定多个安全DNS的网络地址,或者,可以在电子设备中预置多个安全DNS的网络地址,而预设的安全DNS可以为用户指定的任意一个安全DNS的网络地址,或者,预设的安全DNS可以为电子设备中预置的任意一个安全DNS的网络地址,对此不作限制。
本发明实施例中,处于前台运行状态的应用程序可以为一个,也可以为多个。当至少一个处于前台运行状态的应用程序在应用程序列表中时,可以根据预设的安全DNS的网络地址,创建用于与安全DNS通信的VPN连接。
步骤104,采用VPN连接,执行域名解析通信过程。
本发明实施例中,当创建用于与安全DNS通信的虚拟专用网络VPN连接后,可以采用VPN连接,执行域名解析通信过程。
可以理解的是,无论应用程序是处于前台运行状态,还是处于后台运行状态,应用程序均需访问特定的服务器,而特定的服务器是采用域名形式预置在应用程序中的。当应用程序想要访问该特定服务器时,需要安全DNS解析该特定服务器的域名,得到该特定服务器对应的网络地址。因此,本发明实施例中,可以获取域名解析通信过程所需解析的域名,当获取到域名解析通信过程所需解析的域名时,可以通过VPN连接向安全DNS发送域名,其中,域名解析通信过程是处于应用程序列表中的应用程序发起的,或,未处于应用程序列表中的应用程序发起的。当安全DNS接收到域名时,可以对该域名进行解析,得到与该域名对应的网络地址。而后安全DNS可以将解析得到的网络地址,通过VPN连接发送至安全检测应用程序,相应地,安全检测应用程序可以接收安全DNS对域名进行解析得到的网络地址,以使应用程序根据解析得到的网络地址访问对应的服务器。
作为一种可能的实现方式,应用程序可以根据解析得到的网络地址,建立与网络地址对应的服务器之间的访问连接,而后通过访问连接,向该服务器发送用于获取所需资源的请求,相应地,服务器接收到请求后,可以向应用程序发送所需的资源。
在本发明实施例一种可能的应用场景下,执行本发明实施例的电子设备基于安卓系统。因此,步骤101,有两种具体的实现方式:
可以通过RunningTaskInfo类判断当前应用程序是否处于前台运行状态。但是该方法需要权限来进行判断,此时,可以在AndroidMenitfest.xml文件中添加权限,例如为:
<USES-PERMISSION android:name="android.permission.GET_TASKS"/>
或者,可以通过RunningAppProcessInfo类判断当前应用程序是否处于前台运行状态,该方法则无需用户授权便可以判断应用程序是否处于前台运行状态。
本实施例的基于应用程序的安全通信方法,通过监测得到处于前台运行状态的应用程序;查询应用程序列表,以确定处于前台运行状态的应用程序是否在应用程序列表中;若处于前台运行状态的应用程序在应用程序列表中,根据预设的安全域名服务器DNS的网络地址,创建用于与安全DNS通信的虚拟专用网络VPN连接;采用VPN连接,执行域名解析通信过程。本实施例中,当处于前台运行状态的应用程序在应用程序列表中时,通过使用VPN连接,将DNS请求通过VPN定向到一个安全的DNS上,从而防止DNS劫持。同时,由于采用VPN技术对IP地址和域名进行加密传输,也能够防止用户的网络访问行为泄露,从而能够有效保护用户的隐私和财产安全。
作为本发明实施例的一种可能的实现方式,在监测得到处于前台运行状态的应用程序之前,或者,在检测到处于前台运行状态的应用程序在应用程序列表中之后,需授予VPN连接建立权限。下面结合图2,对上述过程进行详细说明。
图3为本发明实施例二所提供的基于应用程序的安全通信方法的流程示意图。
如图3所示,示意了用户授予VPN连接建立权限的过程。用户授予VPN连接建立权限的过程,存在至少两种可能的应用场景:
场景一,可以在监测得到处于前台运行状态的应用程序之前,具体可以是用户开启VPN功能时,执行用户授予VPN连接建立权限的过程。
场景二,可以是在监测到处于前台运行状态的应用程序在应用程序列表中之后,执行用户授予VPN连接建立权限的过程。
以上两种场景,可以择一执行,也可以在两种场景下分别执行,例如:若在用户开启VPN功能时,未成功获得VPN连接建立权限,可以在检测到处于前台运行状态的应用程序在应用程序列表中之后再次执行用户授予VPN连接建立权限的过程,以再次尝试获得VPN连接建立权限。
为了清楚说明执行用户授予VPN连接建立权限的过程的具体步骤,本实施例提供了图3所示的流程示意图,在图1所示实施例的基础上,图3所示的步骤可以在步骤101(对应场景一)之前(,或者,在步骤102(对应场景二)之后)执行,图3所示的该基于应用程序的安全通信方法包括以下步骤:
步骤201,请求授予VPN连接建立权限。
本发明实施例中,可以向用户请求授予VPN连接建立权限,由用户根据自身需求,确定是否授予VPN连接建立权限。
举例而言,当用户未使用涉及个人隐私和财产相关的应用程序时,例如,当用户并未使用支付类应用程序时,此时,用户并不担心账号和密码被泄露,因此,用户可以不授予VPN连接建立权限。或者,用户并未使用社交类应用程序时,此时,用户并不担心聊天记录被泄露,因此,用户可以不授予VPN连接建立权限。而当用户使用涉及个人隐私和财产相关的应用程序时,此时,用户可以授予VPN连接建立权限。
作为一种示例,参见图4a,为了保护用户的隐私,当用户打开安全检测应用程序后,可以在电子设备的显示界面上提示相关信息,例如为:担心社交和财产隐私?通过安全连接阻止社交或者财产隐私被网络泄露。当用户点击“开启”按钮后,例如,参见图4b,可以在显示界面发送授予VPN连接建立权限的请求,当用户点击“确认”按钮后,此时,可以授予VPN连接建立权限,而当用户点击“取消”按钮后,此时,可以不授予VPN连接建立权限。
步骤202,获取到VPN连接建立权限后,利用预设的安全DNS的网络地址,替换VPN连接的默认DNS的网络地址。
可选地,当用户授予VPN连接建立权限后,可以利用预设的安全DNS的网络地址,替换VPN连接的默认DNS的网络地址,这里默认的DNS可以是网络提供商指定的DNS,通常不具有安全DNS进行DNS解析同时有效屏蔽挂马、色情、赌博、低俗广告等多种类型的恶意网站的功能。这里预设的安全DNS的网络地址可以是预置在电子设备中的,也可以是用户手动设置的。
例如:在电子设备出厂时,已经预置了安全DNS的网络地址,以备用户选择将其用于建立前述VPN连接。
又例如:在用户授予VPN连接建立权限之后,展示VPN连接的设置界面,用户可以在VPN连接的设置界面中手动设置安全DNS的网络地址;还可以在用户启用VPN连接功能后(未授权VPN连接建立权限),展示VPN连接的设置界面,用户可以在该界面中,手动设置安全DNS的网络地址。
本实施例的基于应用程序的安全通信方法,通过请求授予VPN连接建立权限,获取到VPN连接建立权限后,利用预设的安全DNS的网络地址,替换VPN连接的默认DNS的网络地址。本实施例中,通过用户根据自身需求,确定是否授予VPN连接建立权限,能够有效提升该方法的灵活性和适用性。
本发明实施例中,在监测得到处于前台运行状态的应用程序之前,还需授予用于监测得到处于前台运行状态的应用程序的权限。
作为一种示例,用户可以授予安全检测应用程序用于监测得到处于前台运行状态的应用程序的权限,当用户授予该安全检测应用程序权限后,该安全检测应用程序可以监测得到处于前台运行状态的应用程序,从而用户可以通过该安全检测应用程序的显示界面,直观地获取处于前台运行状态的应用程序。例如,参见图5,图5为本发明实施例中获取的应用程序的运行状态示意图。当用户授予安全检测应用程序权限后,可以展示安全检测应用程序的显示界面,用户可以通过该安全检测应用程序的显示界面,直观地获取处于前台运行状态的应用程序为360安全卫士和Betternet。
本发明实施例中,通过用户授予用于监测得到处于前台运行状态的应用程序的权限,能够有效提升该方法的灵活性及适用性。
本发明实施例中,当创建用于与安全DNS通信的虚拟专用网络VPN连接之后,如果应用程序列表中的应用程序均未处于前台运行状态,则断开VPN连接。
作为一种示例,参见图6,图6为本发明实施例中安全检测应用程序的显示界面示意图。可以在安全检测应用程序的显示界面显示相关提示信息,例如,可以在区域61显示“隐私正被保护”,在区域62中显示“退出应用程序时断开VPN连接”。当应用程序列表中的应用程序均未处于前台运行状态时,可以断开VPN连接。
进一步地,参见图6,本发明实施例中,还可以在安全检测应用程序的显示界面上,显示应用程序列表中各个应用程序的保护时长。以应用程序网络信使而言,当建立VPN连接后,其隐私保护时长为9s。
为了实现上述实施例,本发明还提出一种基于应用程序的安全通信装置。
图7为本发明实施例提供的一种基于应用程序的安全通信装置的结构示意图。
如图7所示,该基于应用程序的安全通信装置100包括:监测模块110、查询模块120、创建模块130,以及执行模块140。其中,
监测模块110,用于监测得到处于前台运行状态的应用程序。
查询模块120,用于查询应用程序列表,以确定处于前台运行状态的应用程序是否在应用程序列表中。
创建模块130,用于在处于前台运行状态的应用程序在应用程序列表中时,根据预设的安全域名服务器DNS的网络地址,创建用于与安全DNS通信的虚拟专用网络VPN连接。
本发明实施例中,处于前台运行状态的应用程序为多个,创建模块130,具体用于至少一个处于前台运行状态的应用程序在应用程序列表中,根据预设的安全域名服务器DNS的网络地址,创建用于与安全DNS通信的虚拟专用网络VPN连接。
执行模块140,用于采用VPN连接,执行域名解析通信过程。
作为一种可能的实现方式,执行模块140,具体用于当获取到域名解析通信过程所需解析的域名时,通过VPN连接向安全DNS发送域名;域名解析通信过程是处于应用程序列表中的应用程序发起的,或,未处于应用程序列表中的应用程序发起的;通过VPN连接接收安全DNS对域名进行解析得到的网络地址,以使应用程序根据解析得到的网络地址访问对应的服务器。
进一步地,在本发明实施例的一种可能的实现方式中,参见图8,在图7所示实施例的基础上,该基于应用程序的安全通信装置100还可以包括:
断开模块150,用于在创建用于与安全DNS通信的虚拟专用网络VPN连接之后,当应用程序列表中的应用程序均未处于前台运行状态时,断开VPN连接。
第一请求模块160,用于在根据预设的安全DNS的网络地址,创建用于与安全DNS通信的VPN连接之前,请求授予VPN连接建立权限。
需要说明的是,第一请求模块160可以在监测模块110之前执行,也可以在查询模块120之后,创建模块130之前执行,本发明实施例仅以第一请求模块160在查询模块120之后,创建模块130之前执行示例。
替换模块170,用于获取到VPN连接建立权限后,利用预设的安全DNS的网络地址,替换VPN连接的默认DNS的网络地址。
获取模块180,用于在监测得到处于前台运行状态的应用程序之前,获取输入的应用程序列表;应用程序列表包括支付类应用程序。
第二请求模块190,用于在监测得到处于前台运行状态的应用程序之前,请求授予用于监测得到处于前台运行状态的应用程序的权限。
需要说明的是,前述对基于应用程序的安全通信方法实施例的解释说明也适用于该实施例的基于应用程序的安全通信装置100,此处不再赘述。
本实施例的基于应用程序的安全通信装置,通过监测得到处于前台运行状态的应用程序;查询应用程序列表,以确定处于前台运行状态的应用程序是否在应用程序列表中;若处于前台运行状态的应用程序在应用程序列表中,根据预设的安全域名服务器DNS的网络地址,创建用于与安全DNS通信的虚拟专用网络VPN连接;采用VPN连接,执行域名解析通信过程。本实施例中,当处于前台运行状态的应用程序在应用程序列表中时,通过使用VPN连接,将DNS请求通过VPN定向到一个安全的DNS上,从而防止DNS劫持。同时,由于采用VPN技术对IP地址和域名进行加密传输,也能够防止用户的网络访问行为泄露,从而能够有效保护用户的隐私和财产安全。
本发明实施例还提供一种电子设备,电子设备包含前述任一实施例所述的装置。
图9为本发明电子设备一个实施例的结构示意图,可以实现本发明图1-8所示实施例的流程,如图9所示,上述电子设备可以包括:壳体41、处理器42、存储器43、电路板44和电源电路45,其中,电路板44安置在壳体41围成的空间内部,处理器42和存储器43设置在电路板44上;电源电路45,用于为上述电子设备的各个电路或器件供电;存储器43用于存储可执行程序代码;处理器42通过读取存储器43中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述任一实施例所述的基于应用程序的安全通信方法。
处理器42对上述步骤的具体执行过程以及处理器42通过运行可执行程序代码来进一步执行的步骤,可以参见本发明图1-8所示实施例的描述,在此不再赘述。
该电子设备以多种形式存在,包括但不限于:
(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机(例如iPhone)、多媒体手机、功能性手机,以及低端手机等。
(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:PDA、MID和UMPC设备等,例如iPad。
(3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放器(例如iPod),掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。
(4)服务器:提供计算服务的设备,服务器的构成包括处理器、硬盘、内存、系统总线等,服务器和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。
(5)其他具有数据交互功能的电子设备。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
为了实现上述实施例,本发明还提出一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如前述实施例所述的基于应用程序的安全通信方法。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (10)
1.一种基于应用程序的安全通信方法,其特征在于,包括以下步骤:
监测得到处于前台运行状态的应用程序;
查询应用程序列表,以确定所述处于前台运行状态的应用程序是否在所述应用程序列表中;
若所述处于前台运行状态的应用程序在所述应用程序列表中,根据预设的安全域名服务器DNS的网络地址,创建用于与所述安全DNS通信的虚拟专用网络VPN连接;
采用所述VPN连接,执行域名解析通信过程。
2.根据权利要求1所述的安全通信方法,其特征在于,所述创建用于与所述安全DNS通信的虚拟专用网络VPN连接之后,还包括:
当所述应用程序列表中的应用程序均未处于前台运行状态时,断开所述VPN连接。
3.根据权利要求1所述的安全通信方法,其特征在于,所述处于前台运行状态的应用程序为多个,所述若处于前台运行状态的应用程序在所述应用程序列表中,根据预设的安全域名服务器DNS的网络地址,创建用于与所述安全DNS通信的虚拟专用网络VPN连接,包括:
至少一个所述处于前台运行状态的应用程序在所述应用程序列表中,根据预设的安全域名服务器DNS的网络地址,创建用于与所述安全DNS通信的虚拟专用网络VPN连接。
4.根据权利要求1所述的安全通信方法,其特征在于,所述采用所述VPN连接,执行域名解析通信过程,包括:
当获取到所述域名解析通信过程所需解析的域名时,通过所述VPN连接向所述安全DNS发送所述域名;所述域名解析通信过程是处于所述应用程序列表中的应用程序发起的,或,未处于所述应用程序列表中的应用程序发起的;
通过所述VPN连接接收所述安全DNS对所述域名进行解析得到的网络地址,以使所述应用程序根据所述解析得到的网络地址访问对应的服务器。
5.根据权利要求1-4任一项所述的安全通信方法,其特征在于,所述根据预设的安全DNS的网络地址,创建用于与所述安全DNS通信的VPN连接之前,还包括:
请求授予VPN连接建立权限;
获取到VPN连接建立权限后,利用预设的安全DNS的网络地址,替换所述VPN连接的默认DNS的网络地址。
6.根据权利要求1-4任一项所述的安全通信方法,其特征在于,所述监测得到处于前台运行状态的应用程序之前,还包括:
获取输入的所述应用程序列表;所述应用程序列表包括支付类应用程序。
7.根据权利要求1-4任一项所述的安全通信方法,其特征在于,所述监测得到处于前台运行状态的应用程序之前,还包括:
请求授予用于监测得到处于前台运行状态的应用程序的权限。
8.一种基于应用程序的安全通信装置,其特征在于,包括:
监测模块,用于监测得到处于前台运行状态的应用程序;
查询模块,用于查询应用程序列表,以确定所述处于前台运行状态的应用程序是否在所述应用程序列表中;
创建模块,用于在所述处于前台运行状态的应用程序在所述应用程序列表中时,根据预设的安全域名服务器DNS的网络地址,创建用于与所述安全DNS通信的虚拟专用网络VPN连接;
执行模块,用于采用所述VPN连接,执行域名解析通信过程。
9.一种电子设备,其特征在于,包括:壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为上述电子设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行权利要求1-7任一项所述的基于应用程序的安全通信方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7任一项所述的基于应用程序的安全通信方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711437640.9A CN108011896B (zh) | 2017-12-26 | 2017-12-26 | 基于应用程序的安全通信方法、装置和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711437640.9A CN108011896B (zh) | 2017-12-26 | 2017-12-26 | 基于应用程序的安全通信方法、装置和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108011896A true CN108011896A (zh) | 2018-05-08 |
CN108011896B CN108011896B (zh) | 2021-01-22 |
Family
ID=62061587
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711437640.9A Active CN108011896B (zh) | 2017-12-26 | 2017-12-26 | 基于应用程序的安全通信方法、装置和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108011896B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111934972A (zh) * | 2020-08-12 | 2020-11-13 | 北京指掌易科技有限公司 | 应用程序vpn管理方法、装置及电子设备 |
CN112615860A (zh) * | 2020-12-17 | 2021-04-06 | 中国农业银行股份有限公司 | 网络链路的切换方法、装置、电子设备以及存储介质 |
CN114979069A (zh) * | 2021-02-22 | 2022-08-30 | 腾讯科技(深圳)有限公司 | 域名解析请求的处理方法、存储介质及电子设备 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090031028A1 (en) * | 2007-07-25 | 2009-01-29 | Chendil Kumar | Secure tunnel domain name management |
CN101416171A (zh) * | 2004-06-30 | 2009-04-22 | 塞特里克斯网络应用有限责任公司 | 用于建立虚拟专用网络的系统和方法 |
CN102790807A (zh) * | 2011-05-16 | 2012-11-21 | 奇智软件(北京)有限公司 | 域名解析代理方法和系统、域名解析代理服务器 |
CN104468865A (zh) * | 2014-12-25 | 2015-03-25 | 北京奇虎科技有限公司 | 域名解析控制、响应方法及相应的装置 |
CN105100095A (zh) * | 2015-07-17 | 2015-11-25 | 北京奇虎科技有限公司 | 移动终端应用程序安全交互方法及装置 |
CN105210330A (zh) * | 2014-04-22 | 2015-12-30 | 柏思科技有限公司 | 用于处理dns请求的方法和系统 |
CN106888186A (zh) * | 2015-12-15 | 2017-06-23 | 北京奇虎科技有限公司 | 移动终端支付类应用程序安全支付方法及装置 |
CN106888184A (zh) * | 2015-12-15 | 2017-06-23 | 北京奇虎科技有限公司 | 移动终端支付类应用程序安全支付方法及装置 |
US20170329850A1 (en) * | 2007-10-31 | 2017-11-16 | Microsoft Technology Licensing, Llc | Secure dns query |
-
2017
- 2017-12-26 CN CN201711437640.9A patent/CN108011896B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101416171A (zh) * | 2004-06-30 | 2009-04-22 | 塞特里克斯网络应用有限责任公司 | 用于建立虚拟专用网络的系统和方法 |
US20090031028A1 (en) * | 2007-07-25 | 2009-01-29 | Chendil Kumar | Secure tunnel domain name management |
US20170329850A1 (en) * | 2007-10-31 | 2017-11-16 | Microsoft Technology Licensing, Llc | Secure dns query |
CN102790807A (zh) * | 2011-05-16 | 2012-11-21 | 奇智软件(北京)有限公司 | 域名解析代理方法和系统、域名解析代理服务器 |
CN105210330A (zh) * | 2014-04-22 | 2015-12-30 | 柏思科技有限公司 | 用于处理dns请求的方法和系统 |
CN104468865A (zh) * | 2014-12-25 | 2015-03-25 | 北京奇虎科技有限公司 | 域名解析控制、响应方法及相应的装置 |
CN105100095A (zh) * | 2015-07-17 | 2015-11-25 | 北京奇虎科技有限公司 | 移动终端应用程序安全交互方法及装置 |
CN106888186A (zh) * | 2015-12-15 | 2017-06-23 | 北京奇虎科技有限公司 | 移动终端支付类应用程序安全支付方法及装置 |
CN106888184A (zh) * | 2015-12-15 | 2017-06-23 | 北京奇虎科技有限公司 | 移动终端支付类应用程序安全支付方法及装置 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111934972A (zh) * | 2020-08-12 | 2020-11-13 | 北京指掌易科技有限公司 | 应用程序vpn管理方法、装置及电子设备 |
CN111934972B (zh) * | 2020-08-12 | 2022-09-30 | 北京指掌易科技有限公司 | 应用程序vpn管理方法、装置及电子设备 |
CN112615860A (zh) * | 2020-12-17 | 2021-04-06 | 中国农业银行股份有限公司 | 网络链路的切换方法、装置、电子设备以及存储介质 |
CN114979069A (zh) * | 2021-02-22 | 2022-08-30 | 腾讯科技(深圳)有限公司 | 域名解析请求的处理方法、存储介质及电子设备 |
CN114979069B (zh) * | 2021-02-22 | 2024-04-09 | 腾讯科技(深圳)有限公司 | 域名解析请求的处理方法、存储介质及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN108011896B (zh) | 2021-01-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Chiew et al. | A survey of phishing attacks: Their types, vectors and technical approaches | |
US10063547B2 (en) | Authorization authentication method and apparatus | |
US9374369B2 (en) | Multi-factor authentication and comprehensive login system for client-server networks | |
CN104113534B (zh) | 应用程序app的登录系统及方法 | |
CN103607385A (zh) | 基于浏览器进行安全检测的方法和装置 | |
JP2016530814A (ja) | 大量のvpn接続を遮断するためのゲートウェイデバイス | |
CN104660562A (zh) | 一种信息查看方法、相关装置及系统 | |
CN104156662A (zh) | 进程监控的方法、装置和智能终端 | |
WO2009087359A2 (en) | Internet activity evaluation method and system | |
Giani et al. | Data exfiltration and covert channels | |
CN103745160B (zh) | 智能移动终端上超级用户密码管理方法和装置 | |
CN105530261B (zh) | 隐私信息的保护方法及装置 | |
CN108183972A (zh) | 文件处理方法及终端 | |
CN106302332B (zh) | 用户数据的访问控制方法、装置及系统 | |
CN107528865A (zh) | 文件的下载方法和系统 | |
CN108337210A (zh) | 设备配置方法及装置、系统 | |
CN108011896A (zh) | 基于应用程序的安全通信方法、装置和电子设备 | |
CN108111516A (zh) | 基于无线局域网的安全通信方法、装置和电子设备 | |
CN106664535B (zh) | 一种信息发送方法、装置、终端设备以及系统 | |
CN110011953A (zh) | 阻止被盗密码再用 | |
CN105162763A (zh) | 通讯数据的处理方法和装置 | |
CN108183896A (zh) | 浏览器的页面获取方法、装置和电子设备 | |
CN105119897A (zh) | 一种路由器 | |
CN113098758A (zh) | 一种基于企业微信的企业消息推送安全网关系统 | |
Androulidakis et al. | Industrial espionage and technical surveillance counter measurers |
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 |