CN107169344B - 阻挡非授权应用程序的方法以及使用该方法的装置 - Google Patents
阻挡非授权应用程序的方法以及使用该方法的装置 Download PDFInfo
- Publication number
- CN107169344B CN107169344B CN201710323921.5A CN201710323921A CN107169344B CN 107169344 B CN107169344 B CN 107169344B CN 201710323921 A CN201710323921 A CN 201710323921A CN 107169344 B CN107169344 B CN 107169344B
- Authority
- CN
- China
- Prior art keywords
- file
- application program
- digital certificate
- application
- motherboard
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0823—Network architectures or network communication protocols for network security for authentication of entities using certificates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3263—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/321—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Virology (AREA)
- Storage Device Security (AREA)
Abstract
本发明提出一种阻挡非授权应用程序的方法以及使用该方法的装置,该阻挡非授权应用程序的方法,由处理单元载入并执行母板支持服务的程序码时实施,且包含以下步骤:从应用程序接收输入参数,以及通过检查输入参数的内容以判断应用程序是否通过验证;当应用程序通过验证时,乱数产生会话密钥,储存会话密钥至文件并且储存此文件至储存装置中只能被母板支持服务及应用程序存取的路径;以及回复路径及文件的文件名给应用程序。本发明能够避免硬件遭受恶意攻击。
Description
技术领域
本发明有关一种计算机安全技术,特别是一种阻挡非授权应用程序的方法以及使用该方法的装置。
背景技术
于计算机安全情境,黑客寻找并攻击计算机系统中的弱点。企业通常会因为这些攻击而遭受伤害,例如危害计算机服务、客户私人数据遭窃、降低利润或声誉等。为防止计算机系统遭受攻击,需要一种阻挡非授权应用程序的方法以及使用该方法的装置。
发明内容
本发明的实施例提出一种阻挡非授权应用程序的方法,由处理单元载入并执行母板支持服务的程序码时实施,且包含以下步骤:从应用程序接收输入参数,以及通过检查输入参数的内容以判断应用程序是否通过验证;当应用程序通过验证时,乱数产生会话密钥,储存会话密钥至文件并且储存此文件至储存装置中只能被母板支持服务及应用程序存取的路径;以及回复路径及文件的文件名给应用程序,使得应用程序可从文件取得会话密钥并使用会话密钥加密及解密于母板支持服务及应用程序间传递的数据。
本发明的实施例另提出一种阻挡非授权应用程序的方法,包含以下步骤:第一计算机装置中的处理单元从第二计算机装置接收请求,其中包含电子申请表,以及电子申请表包含版本编号以及客户识别码;处理单元使用一把私钥加密电子申请表以产生数字证书,其中,私钥相应于一把公钥,此公钥储存于母板中的非易失性存储器,此母板设置于第一计算机装置及第二计算机装置之外的电子设备;以及处理单元回复数字证书给上述计算机装置。
本发明的实施例提出一种阻挡非授权应用程序的装置,包含处理单元。处理单元传送请求给服务器,包含应用程序的数字证书,当从服务器接收到请求允许时,于指定目录下读取文件中的会话密钥,使用会话密钥加密通信数据,传送加密后的通信数据给服务器。
本发明的实施例另提出一种阻挡非授权应用程序的装置,包含处理单元。处理单元从客户端接收请求,包含应用程序的数字证书,以及通过检查数字证书判断请求是否合法,当请求合法时,处理单元产生会话密钥,于指定目录下建立文件,从数字证书中取得用户识别码,设定文件的存取权限为只能被指定用户识别码的处理读取,将会话密钥储存至文件,以及回复请求允许给客户端。
本发明能够避免硬件遭受恶意攻击。
附图说明
图1是依据本发明实施例的网路架构示意图。
图2是依据本发明实施例的电子设备的系统架构图。
图3是依据本发明实施例的计算机装置的系统架构图。
图4是依据本发明实施例的数字证书产生方法。
图5A至5B是依据本发明实施例的阻挡非授权应用程序的方法,于处理单元载入并执行相应于母板支持服务的初始化事件的程序码时实施。
图6A至6F是依据本发明实施例的应用程序验证示意图。
图7是依据本发明实施例的阻挡非授权应用程序的装置的方块图。
图8是依据本发明实施例的阻挡非授权应用程序的装置的方法流程图。
其中,附图中符号的简单说明如下:
100:局域网/因特网;110:母板生产者的计算机;130:设备制造者的计算机;150_1、…、150_n:母板;210:处理单元;220:非易失性存储器;230:输出/入接口;240_1、…、240_m:硬件装置;250:易失性存储器;260:通信接口;270:储存装置;310:处理单元;320:显示单元;330:输入装置;340:储存单元;350:存储器;360:通信接口;S411~S437:方法步骤;S511~S591:方法步骤;610:母板支持服务;630:应用程序;650_1、…、650_3:状态数据库;670_1、…、670_5:数字证书;710:服务器;711:公钥;713:会话密钥;715:文件;730:客户端;731:应用程序;733:数字证书;733a:私钥;733b:电子申请表;735:通信数据。
具体实施方式
以下说明为完成发明的较佳实现方式,其目的在于描述本发明的基本精神,但并不用以限定本发明。实际的发明内容必须参考权利要求书的范围。
必须了解的是,使用于本说明书中的“包含”、“包括”等词,用以表示存在特定的技术特征、数值、方法步骤、操作处理、元件以及/或组件,但并不排除可加上更多的技术特征、数值、方法步骤、操作处理、元件、组件,或以上的任意组合。
于本发明中使用如“第一”、“第二”、“第三”等词用来修饰本发明中的元件,并非用来表示之间具有优先权顺序,先行关系,或者是一个元件先于另一个元件,或者是执行方法步骤时的时间先后顺序,仅用来区别具有相同名字的元件。
本发明实施例提出一种网路架构,用以实施电子设备(electronic equipment)的制造。图1是依据本发明实施例的网路架构示意图。母板生产者可写入母板支持服务(boardsupport service)及公钥(public key)至母板(mother board)150_1至150_n中的非易失性存储器,例如,只读存储器(ROM,Read-only Memory)、可抹除可编程只读存储器(Erasable Programmable Read Only Memory)、快闪存储器(flash memory)等。母板支持服务为底层的驱动程序库(driver library),当母板上的处理单元执行母板支持服务时,控制连接于母板的硬件装置。母板150_1至150_n可被设备制造者组装至不同的电子设备中,例如,工业用个人计算机(industrial PC)、数字看板(digital billboard)、销售时点情报系统(point-of-sale system)、监控系统(surveillance systems)、物联网(IoT,Internet of Things)设备等。工业用个人计算机可用来进行制程控制以及/或取得量测数据。数字看板可设计来于一天的多个时段显示跑马文字或不同画面。销售时点情报系统可包含结账机台,包括电子收银抽屉、条码扫描器、信用卡读取设备、收据或发票印刷设备或以上的任意组合。销售时点情报系统用以记录每一笔刚发生的销售,使得可即时反应在库存记录上。监控系统可包含监控主机及监控摄相头。监控摄相头可为视频摄像头,用以监视特定区域,而监控主机可包含记录装置,用以记录及压缩从监控摄相头取得的影像,以及储存压缩视频至可供搜寻的数据库。物联网设备可为实体装置,嵌入电子电路、软件、感测器及连接器,使得此装置可与其他连接装置交换数据。物联网设备允许装置进行感测,以及跨网路基础建设进行控制。物联网设备包括如照明控制系统、智能电视、门禁控制系统等。设备制造者的计算机130可通过局域网(LAN,Local Area Network)或因特网(Internet)100连接上母板生产者的计算机110。计算机130可传送请求至计算机110,请求中包含申请表。接着,计算机130从计算机110取得数字证书(digital certificate),并将数字证书整合入设备制造者开发的应用程序,用以操作母板支持服务。应用程序可为安卓应用程序(Android App)。安桌操作系统的文件系统权限管理沿用于Linux操作系统。于安卓操作系统中,为保证安全性,每个应用程序都有唯一的软件包名称(package name)。执行时,应用程序的处理(process)都有唯一的用户识别码(UID,User Identifier)。特定处理建立的文件只有相应软件包名称的应用程序可被允许存取。计算机130将包含数字证书的应用程序写入母板150_1至150_n中的非易失性存储器。于另一些实施例中,计算机130可不从计算机110取得数字证书,而只写入应用程序至母板150_1至150_n中的非易失性存储器。
图2是依据本发明实施例的电子设备的系统架构图。此系统架构可实施于工业用个人计算机、数字看板、销售时点情报系统、监控系统、物联网设备中的任一者。系统架构可包含一个母板,母板上至少设置非易失性存储器220及处理单元210。母板生产者于出厂前写入公钥及母板支持服务的程序码至非易失性存储器220。非易失性存储器220可为只读存储器、可抹除可编程只读存储器、快闪存储器等。处理单元210可使用多种方式实施,例如以专用硬件电路或通用硬件(例如,单一处理器、具有平行处理能力的多处理器、图形处理器或其他具有运算能力的处理器),并且在执行程序码或软件时,提供之后所描述的功能。系统架构另包含储存装置270,用以让母板生产者于出厂前储存状态数据库,状态数据库于初始时储存客户识别码为0及版本编号为0的记录。于另一些实施例中,客户识别码及版本编号亦可初始为NULL或其他可代表初始状态的数值。于此须注意的是,状态数据库储存于只能被母板支持服务存取的目录下。储存装置270可为硬盘、光盘、固态硬盘等。储存装置270还可让设备制造者储存应用程序的程序码,以及由母板生产者提供的及数字证书。系统架构另包含易失性存储器250用以储存执行过程中需要的数据,例如,变数、数据表(datatables)、数据结构等。处理单元210于载入并执行母板支持服务时,可通过输出/入接口230控制硬件装置240_1至240_m中的一个,或者是从硬件装置240_1至240_m中的一个读取数据。输出/入接口230可为一般性输出入接口(GPIO,General-purpose input/outputinterface)。硬件装置240_1至240_m中的任一个可为显示控制器(display controller)、印刷控制器(print controller)、实时时钟(real-time clock)、重新启动看门狗计数器(reboot watchdog timer)等。系统架构另包含通信接口260,让处理单元210可借以跟其他电子装置进行沟通。通信接口260可以是局域网(local area network,LAN)通信模块、无线局域网通信模块(Wireless LAN)、通用串行总线(USB,Universal Serial Bus)通信模块或其他通信模块。
图3是依据本发明实施例的计算机装置的系统架构图。此系统架构可实施于如计算机110及130中的任一个,或其他具有运算能力的装置,至少包含处理单元310。处理单元310可使用多种方式实施,例如以专用硬件电路或通用硬件(例如,单一处理器、具有平行处理能力的多处理器、图形处理器或其他具有运算能力的处理器),并且在执行程序码或软件时,提供之后所描述的功能。系统架构另包含存储器350用以储存执行过程中需要的数据,例如,变数、数据表、数据结构等,以及储存单元340,用以储存各式各样的电子文件。系统架构另包含通信接口360,让处理单元310可借以跟其他电子装置进行沟通。通信接口360可以是局域网通信模块、无线局域网通信模块或其他通信模块。输入装置330可包含键盘、鼠标、触控面板等。用户可按压键盘上的硬键来输入字元,通过操作鼠标来控制光标,或者是在触控面板制造手势来控制执行中的应用程序。手势可包含单击、双击、单指拖曳、多指拖曳等,但不限定于此。显示单元320可包含显示面板(例如,薄膜液晶显示面板、有机发光二极管面板或其他具有显示能力的面板),用以显示输入的字元、数字、符号、拖曳鼠标的移动轨迹、绘制的图案或应用程序所提供的画面,提供给用户观看。
为阻挡非授权应用程序使用母板支持服务,母板生产者可提供数字证书给合法的设备制造者,用以整合到设备制造者开发的应用程序。图4是依据本发明实施例的数字证书产生方法。此方法由母板生产者的计算机110及设备制造者的计算机330协同执行,虚线的左边描述计算机110的处理单元310于载入并执行相关程序码时实施的步骤,而虚线的右边描述计算机130的处理单元310于载入并执行相关程序码时实施的步骤。此方法开始于由计算机130的处理单元310通过其通信接口360发出请求给计算机110(步骤S431)。请求中包含电子申请表(electronic application),使用可被计算机110解析的结构化格式储存,包含版本编号(version number)、软件包名称、客户识别码(customer ID)、有效日期(expiration date)等信息。结构化格式可为固定或可变储存格长度的一维阵列(one-dimensional array)。软件包名称可符合安卓应用程序的命名规则。范例电子申请表如下所示:
表1
版本编号 | 1 |
软件包名称 | com.example.demoapp |
客户识别码 | 1 |
有效日期 | 2020/12/31 |
计算机110的处理单元310通过其通信接口360接收到请求后(步骤S411),使用私钥加密请求中的申请表以产生数字证书,此私钥相应于母板的非易失性存储器220中储存的公钥(步骤S413),以及通过其通信接口360传送数字证书给个人计算机110(步骤S415)。于此须注意的是,在正常情况下,以私钥加密的内容可以被公钥解密。然而,当公钥与私钥不相配时,解密后的内容只是乱码而无法辨认。于步骤S413,计算机110的处理单元310可使用已知的算法搭配私钥产生数字证书。计算机130的处理单元310通过其通信接口360接收到数字证书后(步骤S433),写入应用程序的程序码及数字证书至母板的储存装置270(步骤S435),以及将数字证书绑定至应用程序,作为应用程序的资源(步骤S437)。于步骤S435,处理单元310可使用安卓操作系统开发平台提供的应用程序接口来绑定数字证书至应用程序。
当应用程序欲使用母板支持服务提供的方法前,需要先实例化(instantiate)母板支持服务,并选择性地提供数字证书。当实例化母板支持服务时,会触发初始化事件(initialization event)。于初始化事件中,母板支持服务可执行一连串的判断,用以阻挡非授权应用程序。图5A至5B是依据本发明实施例的阻挡非授权应用程序的方法,于处理单元210载入并执行相应于母板支持服务的初始化事件的程序码时实施。此方法开始于从应用程序取得输入参数(步骤S511),并判断输入参数中是否包含数字证书(步骤S513)。当输入参数中不包含数字证书时(步骤S513中“否”的路径),接着判断状态数据库是否处于初始状态(步骤S571)。于步骤S571,若状态数据库中的版本编号为初始状态时,则判断状态数据库为初始状态。当状态数据库处于初始状态时(步骤S571中“是”的路径),乱数产生预定长度的会话密钥(session key),储存会话密钥至一个文件,并且储存文件至储存装置270中只能被母板支持服务及应用程序存取的路径(步骤S573),接着,回复文件的路径及文件名给应用程序(步骤S575)。于步骤S573,母板支持服务可于目录“/data”下相应于此软件包名称的私有文件夹下建立一份新的文件,并且设定此文件的权限为只能被相应于软件包名称的指定UID的处理读取,其中UID用来唯一识别此应用程序于执行时的处理,并且将会话密钥储存至此文件。须了解的是,在文件系统的权限控制下,只有具有此软件包名称的应用程序才能存取目录“/data”下相应于此软件包名称的私有文件夹中的任何文件。此外,在文件系统的权限控制下,只有具有相应于软件包名称的指定UID的处理才能存取此文件。因此,只有通过文件系统的权限检查的应用程序才可读取文件中的会话密钥并使用会话密钥加密传送给母板支持服务的数据,以及解密从母板支持服务接收的数据。当状态数据库不处于初始状态时(步骤S571中“否”的路径),终止母板支持服务的实例化,用以让母板支持服务的实例化失败,并且回复错误消息给应用程序(步骤S591)。
当输入参数中包含数字证书时(步骤S513中“是”的路径),使用非易失性存储器220中储存的公钥解密数字证书(步骤S531),接着,判断是否解密成功(步骤S533)。于步骤S533,当解密后的内容可解析出电子申请表,范例参考表1所示,则代表解密成功;反之,解密失败。当解密失败时(步骤S533中“否”的路径),执行之前所述的步骤S591。当解密成功时(步骤S533中“是”的路径),还判断状态数据库是否处于初始状态(步骤S551)。当状态数据库处于初始状态时(步骤S551中“是”的路径),将状态数据库中的客户识别码及版本编号更新为数字证书中的客户识别码及版本编号(步骤S559),接着执行之前所述的步骤S573及S575。当状态数据库不处于初始状态时(步骤S551中“否”的路径),执行后续三个判断:解密数据中的客户识别码是否相符于状态数据库中储存的客户识别码(步骤S553);解密数据中的版本编号是否较新于状态数据库中的版本编号(步骤S555);以及解密数据中的版本编号是否较旧于状态数据库中的版本编号(步骤S557)。当解密数据中的客户识别码不相符于状态数据库中储存的客户识别码时(步骤S553中“否”的路径),代表此应用程序可能为黑客植入的非授权应用程序,接着执行之前所述的步骤S591。当解密数据中的客户识别码相符于状态数据库中储存的客户识别码但解密数据中的版本编号较旧于状态数据库中的版本编号时(步骤S553中“是”的路径接着步骤S555中“否”的路径并接着步骤S557中“是”的路径),代表此应用程序可能为黑客窃取旧的授权应用程序试图进行攻击,接着执行之前所述的步骤S591。当解密数据中的客户识别码相符于状态数据库中储存的客户识别码及解密数据中的版本编号相同于状态数据库中的版本编号时(步骤S553中“是”的路径接着步骤S555中“否”的路径并接着步骤S557中“否”的路径),代表此为授权应用程序,接着执行之前所述的步骤S573及步骤S575。当解密数据中的客户识别码相符于状态数据库中储存的客户识别码及解密数据中的版本编号较新于状态数据库中的版本编号时(步骤S553中“是”的路径接着步骤S555中“是”的路径),代表此为新版本的授权应用程序,接着执行之前所述的步骤S559、步骤S573及步骤S575。
以下举出数个情境来说明图5A及5B所述的方法:图6A至6F是依据本发明实施例的应用程序验证示意图。应用程序验证于处理单元210载入及执行母板支持服务610及应用程序630的程序码时实施。图6A至6F中所示的数据传递又可称为处理程序间通信(IPC,Inter-Process Communication)。
参考图6A,假设应用程序开发者尚未申请数字证书,此时,状态数据库650_1处于初始状态,举例来说,版本编号v=0及客户编号为cid=0:母板支持服务610接收到应用程序630发送的不包含数字证书的实例化请求“New BSService(C_KEY=NULL)”及发现状态数据库650_1处于初始状态(沿着步骤S513中“否”及步骤S571中“是”的路径)。接着,母板支持服务610回复储存装置270中储存会话密钥的路径及文件名“Path/File_Name(SessionKey)”给应用程序630(步骤S575)。于是,应用程序630可读取文件中的会话密钥并使用会话密钥加密传送给母板支持服务610的数据,以及解密从母板支持服务610接收的数据。
参考图6B,假设应用程序开发者已申请数字证书且第一次使用母板支持服务610,此时,状态数据库650_1处于初始状态,举例来说,版本编号为v=0及客户编号为cid=0:母板支持服务610接收到应用程序630发送的包含数字证书的实例化请求“New BSService(C_KEY)”后,成功解密数字证书670_1及发现状态数据库650_1处于初始状态(沿着步骤S513中“是”、步骤S533中“是”及步骤S551中“是”的路径)。接着,母板支持服务610更新状态数据库650_1成为版本编号为v=1及客户编号为cid=A(如状态数据库650_2所示)(步骤S559),以及,回复储存装置270中储存会话密钥的路径及文件名“Path/File_Name(SessionKey)”给应用程序630(步骤S575)。于是,应用程序630可读取文件中的会话密钥并使用会话密钥加密传送给母板支持服务610的数据,以及解密从母板支持服务610接收的数据。
参考图6C,假设黑客想冒用应用程序开发者而试图通过母板支持服务610危害电子装置,此时的状态数据库650_2中的版本编号为v=1及客户编号为cid=A:母板支持服务610接收到应用程序630发送的包含数字证书的实例化请求“New BSService(C_KEY)”,成功解密数字证书670_2,发现状态数据库650_2不处于初始状态及解密数据中的客户识别码cid=B不相符于状态数据库650_2中储存的客户识别码cid=A(沿着步骤S513中“是”、步骤S533中“是”、步骤S551中“否”及步骤S553中“否”的路径)。接着,母板支持服务610终止母板支持服务610的实例化,并且回复错误消息ERR给应用程序(步骤S591)。
参考图6D,假设应用程序开发者更新数字证书为新版本,此时,状态数据库650_2中的版本编号为v=1及客户编号为cid=A:母板支持服务610接收到应用程序630发送的包含数字证书的实例化请求“New BSService(C_KEY)”,成功解密数字证书670_3,发现状态数据库650_2不处于初始状态,解密数据中的客户识别码cid=A相符于状态数据库650_2中储存的客户识别码cid=A且解密数据中的版本编号v=2较新于状态数据库650_2中储存的版本编号v=1(沿着步骤S513中“是”、步骤S533中“是”、步骤S551中“否”、步骤S553中“是”及步骤S555中“是”的路径)。接着,母板支持服务610更新状态数据库650_2成为版本编号为v=2(如状态数据库650_2所示)(步骤S559),以及,回复储存装置270中储存会话密钥的路径及文件名“Path/File_Name(SessionKey)”给应用程序630(步骤S575)。于是,应用程序630可读取文件中的会话密钥并使用会话密钥加密传送给母板支持服务610的数据,以及解密从母板支持服务610接收的数据。
参考图6E,假设黑客窃取应用程序开发者申请过的旧版本数字证书并试图通过母板支持服务610危害电子装置,此时,状态数据库650_3中的版本编号为v=2及客户编号为cid=A:母板支持服务610接收到应用程序630发送的包含数字证书的实例化请求“NewBSService(C_KEY)”,成功解密数字证书670_4,发现状态数据库650_3不处于初始状态,解密数据中的客户识别码cid=A相符于状态数据库650_2中储存的客户识别码cid=A但解密数据中的版本编号v=1较旧于状态数据库650_3中储存的版本编号v=2(沿着步骤S513中“是”、步骤S533中“是”、步骤S551中“否”、步骤S553中“是”、步骤S555中“否”及步骤S557中“否”的路径)。接着,母板支持服务610终止母板支持服务610的实例化,并且回复错误消息ERR给应用程序(步骤S591)。
参考图6F,假设黑客假造数字证书并试图通过母板支持服务610危害电子装置:母板支持服务610于接收到应用程序630发送的包含数字证书的实例化请求“New BSService(C_KEY)”,且解密数字证书670_5时发现为乱码(沿着步骤S513中“是”及步骤S533中“否”的路径)。母板支持服务610终止母板支持服务610的实例化,并且回复错误消息ERR给应用程序(步骤S591)。
图7是依据本发明实施例的阻挡非授权应用程序的装置的方块图。图8是依据本发明实施例的阻挡非授权应用程序的装置的方法流程图。于一些实施例中,阻挡非授权应用程序的装置可包含服务器(server)710。于另一些实施例中,阻挡非授权应用程序的装置可包含客户端(client)730。于另一些实施例中,阻挡非授权应用程序的装置可包含服务器710及客户端730。服务器710及客户端730中的任一个包含一或多个处理单元,当载入并执行相关软件或韧体时实施以下所述功能。服务器710储存公钥711,而客户端730储存应用程序731,应用程序731包含数字证书733。服务器710从客户端730接收到包含数字证书733的请求,数字证书733包含私钥733a及电子申请表733b(步骤S810)。接着,服务器710使用公钥711解密数字证书以得到第一计算结果(步骤S820),使用安全散列算法(Secure hashalgorithm),例如SHA-256算法,对数字证书733中的电子申请表733b进行计算以得到第二计算结果(步骤S830),并且比较第一及第二计算结果以产生验证结果(步骤S840)。如果第一及第二计算结果不相符,则代表此请求非法,服务器710回复请求拒绝给客户端730,使得客户端730结束应用程序731的执行(步骤S850)。如果第一及第二计算结果相符,则代表此请求合法,产生会话密钥713(步骤S860),于指定目录下建立一份文件715(步骤S870),从数字证书733中的申请表733b取得UID,设定文件715的存取权限为只能被此UID的处理读取(步骤S880),将会话密钥713储存至文件715(步骤S890),以及回复请求允许给客户端730(步骤S850’)。客户端730于指定目录下读取文件715中的会话密钥713(步骤S8100),以及使用会话密钥713加密通信数据735(步骤S8110)。客户端730及服务器710间传送及接收加密后的通信数据735(步骤S8120)。
本发明实施例提出的阻挡非授权应用程序的方法以及使用该方法的装置,将数字证书整合入设备制造者开发的应用程序。每次应用程序请求操作母板支持服务时,操作母板支持服务检查数字证书是否合法,并且在侦测到请求为非法时,阻挡应用程序操作母板支持服务,用以避免硬件遭受恶意攻击。
虽然图2及3中包含了以上描述的元件,但不排除在不违反发明的精神下,使用更多其他的附加元件,已达成更佳的技术效果。此外,图4及5的方法流程图采用特定的顺序来执行,但是在不违法发明精神的情况下,熟悉本项技术的人员可以在达到相同效果的前提下,修改这些步骤间的顺序,所以,本发明并不局限于仅使用如上所述的顺序。
以上所述仅为本发明较佳实施例,然其并非用以限定本发明的范围,任何熟悉本项技术的人员,在不脱离本发明的精神和范围内,可在此基础上做进一步的改进和变化,因此本发明的保护范围当以本申请的权利要求书所界定的范围为准。
Claims (15)
1.一种阻挡非授权应用程序的方法,其特征在于,由处理单元载入并执行母板支持服务的程序码时实施,且包含:
从应用程序接收输入参数;
通过检查上述输入参数的内容以判断上述应用程序是否通过验证;
当上述应用程序通过验证时,乱数产生会话密钥,储存上述会话密钥至文件并且储存上述文件至储存装置中只能被上述母板支持服务及上述应用程序存取的路径;以及
回复上述路径及上述文件的文件名给上述应用程序,使得上述应用程序从上述文件取得上述会话密钥并使用上述会话密钥加密及解密于上述母板支持服务及上述应用程序间传递的数据。
2.根据权利要求1所述的阻挡非授权应用程序的方法,其特征在于,上述母板支持服务及上述应用程序间的数据传递为处理程序间通信。
3.根据权利要求1所述的阻挡非授权应用程序的方法,其特征在于,于储存上述会话密钥至文件并且储存上述文件至储存装置中只能被上述母板支持服务及上述应用程序存取的路径的步骤中还包含:
于相应于上述应用程序的软件包名称的私有文件夹下建立上述文件;
设定上述文件的权限为只能被相应于上述软件包名称的指定UID的处理读取;以及
将上述会话密钥储存至上述文件。
4.根据权利要求1所述的阻挡非授权应用程序的方法,其特征在于,当储存装置储存的状态数据库处于初始状态时,判断上述应用程序通过验证。
5.根据权利要求4所述的阻挡非授权应用程序的方法,其特征在于,上述输入参数包含数字证书,且该阻挡非授权应用程序的方法还包含:
使用非易失性存储器储存的公钥解密上述数字证书以取得第一客户识别码及第一版本编号;以及
更新上述状态数据库中的第二客户识别码及第二版本编号成为上述第一客户识别码及上述第一版本编号。
6.根据权利要求1所述的阻挡非授权应用程序的方法,其特征在于,上述输入参数包含数字证书,当储存装置储存的状态数据库中的客户识别码与上述数字证书中的客户识别码不相符时,判断上述应用程序不通过验证。
7.根据权利要求1所述的阻挡非授权应用程序的方法,其特征在于,上述输入参数包含数字证书,当上述数字证书中的第一客户识别码与储存装置储存的状态数据库中的第二客户识别码相符、但上述数字证书中的第一版本编号较新于上述状态数据库中的第二版本编号时,判断上述应用程序通过验证。
8.根据权利要求7所述的阻挡非授权应用程序的方法,其特征在于,还包含:
使用非易失性存储器储存的公钥解密上述数字证书以取得上述第一客户识别码及上述第一版本编号;以及
更新上述状态数据库中的上述第二版本编号成为上述第一版本编号。
9.根据权利要求1所述的阻挡非授权应用程序的方法,其特征在于,上述输入参数包含数字证书,当上述数字证书中的客户识别码与储存装置储存的状态数据库中的客户识别码相符、但上述数字证书中的版本编号较旧于上述状态数据库中的版本编号时,判断上述应用程序不通过验证。
10.根据权利要求1所述的阻挡非授权应用程序的方法,其特征在于,上述输入参数包含数字证书,当解密上述数字证书失败时,判断上述应用程序不通过验证。
11.根据权利要求1所述的阻挡非授权应用程序的方法,其特征在于,上述母板支持服务及上述应用程序执行于Linux或安卓操作系统。
12.一种阻挡非授权应用程序的方法,其特征在于,包含:
第一计算机装置中的第一处理单元从第二计算机装置接收请求,其中,上述请求包含电子申请表,以及上述电子申请表包含版本编号以及客户识别码;
上述第一处理单元使用私钥加密上述电子申请表以产生数字证书,其中,上述私钥相应于公钥,上述公钥储存于母板中的非易失性存储器,上述母板设置于上述第一计算机装置及上述第二计算机装置之外的电子设备;
上述第一处理单元回复上述数字证书给上述第二计算机装置;
上述母板中的第二处理单元于执行母板支持服务的程序码时,从上述应用程序接收输入参数;
上述第二处理单元通过检查上述输入参数的内容以判断上述应用程序是否通过验证;
当上述应用程序通过验证时,上述第二处理单元乱数产生会话密钥,储存上述会话密钥至文件并且储存上述文件至储存装置中只能被上述母板支持服务及上述应用程序存取的路径;以及
回复上述路径及上述文件的文件名给上述应用程序,使得上述应用程序从上述文件取得上述会话密钥并使用上述会话密钥加密及解密于上述母板支持服务及上述应用程序间传递的数据。
13.根据权利要求12所述的阻挡非授权应用程序的方法,其特征在于,还包含:
第二计算机装置中的第三处理单元从上述第一计算机装置接收上述数字证书;
上述第三处理单元写入应用程序的程序码及上述数字证书至上述母板的储存装置;以及
上述第三处理单元将上述数字证书绑定至上述应用程序,作为上述应用程序的资源。
14.根据权利要求12所述的阻挡非授权应用程序的方法,其特征在于,于储存上述会话密钥至文件并且储存上述文件至储存装置中只能被上述母板支持服务及上述应用程序存取的路径的步骤中还包含:
于相应于上述应用程序的软件包名称的私有文件夹下建立上述文件;
设定上述文件的权限为只能被相应于上述软件包名称的指定UID的处理读取;以及
将上述会话密钥储存至上述文件。
15.根据权利要求12所述的阻挡非授权应用程序的方法,其特征在于,上述第一计算机装置通过局域网或因特网连接至上述第二计算机装置。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710323921.5A CN107169344B (zh) | 2017-05-10 | 2017-05-10 | 阻挡非授权应用程序的方法以及使用该方法的装置 |
TW106118822A TWI627554B (zh) | 2017-05-10 | 2017-06-07 | 阻擋非授權應用程式方法以及使用該方法的裝置 |
US15/707,486 US10701061B2 (en) | 2017-05-10 | 2017-09-18 | Methods for blocking unauthorized applications and apparatuses using the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710323921.5A CN107169344B (zh) | 2017-05-10 | 2017-05-10 | 阻挡非授权应用程序的方法以及使用该方法的装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107169344A CN107169344A (zh) | 2017-09-15 |
CN107169344B true CN107169344B (zh) | 2020-04-21 |
Family
ID=59813815
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710323921.5A Active CN107169344B (zh) | 2017-05-10 | 2017-05-10 | 阻挡非授权应用程序的方法以及使用该方法的装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10701061B2 (zh) |
CN (1) | CN107169344B (zh) |
TW (1) | TWI627554B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10552827B2 (en) * | 2014-09-02 | 2020-02-04 | Google Llc | Dynamic digital certificate updating |
TWI675340B (zh) * | 2018-02-14 | 2019-10-21 | 神雲科技股份有限公司 | 程式驗證方法 |
EP3570575A1 (en) * | 2018-05-16 | 2019-11-20 | INESC TEC - Instituto de Engenharia de Sistemas e Computadores, Tecnologia e Ciência | Internet of things security with multi-party computation (mpc) |
CN109474418B (zh) * | 2019-01-22 | 2023-04-07 | 杭州网易智企科技有限公司 | 文档加密方法、文档解密方法、装置、介质和计算设备 |
US10601806B1 (en) * | 2019-02-22 | 2020-03-24 | Capital One Services, Llc | Runtime identity confirmation for restricted server communication control |
US11157624B2 (en) * | 2019-08-14 | 2021-10-26 | Silicon Motion, Inc. | Scheme of using electronic device to activate mass production software tool to initialize memory device including flash memory controller and flash memory |
TWI705687B (zh) * | 2019-09-09 | 2020-09-21 | 新唐科技股份有限公司 | 用於資料加解密的金鑰管理裝置及處理器晶片 |
TWI756867B (zh) | 2020-10-16 | 2022-03-01 | 財團法人工業技術研究院 | 在作業系統標記物件標籤及產生安全政策的方法及系統 |
US20230126605A1 (en) * | 2021-10-22 | 2023-04-27 | Micron Technology, Inc. | Authenticated reading of memory system data |
US20230127425A1 (en) * | 2021-10-27 | 2023-04-27 | Texas Instruments Incorporated | Customer identification value for electronic devices |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103634265A (zh) * | 2012-08-20 | 2014-03-12 | 腾讯科技(深圳)有限公司 | 安全认证的方法、设备及系统 |
CN104219055A (zh) * | 2014-09-10 | 2014-12-17 | 天津大学 | 一种基于nfc的点对点可信认证方法 |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5818939A (en) * | 1996-12-18 | 1998-10-06 | Intel Corporation | Optimized security functionality in an electronic system |
US7515718B2 (en) * | 2000-12-07 | 2009-04-07 | Igt | Secured virtual network in a gaming environment |
US7058807B2 (en) * | 2002-04-15 | 2006-06-06 | Intel Corporation | Validation of inclusion of a platform within a data center |
TW200805081A (en) * | 2006-07-07 | 2008-01-16 | Systex Corp | Non-centralized software updating system and method thereof |
US8332631B2 (en) * | 2010-11-22 | 2012-12-11 | Intel Corporation | Secure software licensing and provisioning using hardware based security engine |
US9325683B2 (en) * | 2012-06-18 | 2016-04-26 | Infosys Limited | Mobile application management framework |
ITMI20121639A1 (it) * | 2012-10-02 | 2014-04-03 | Bit4Id S R L | Metodo per effettuare una firma digitale |
US8646060B1 (en) * | 2013-07-30 | 2014-02-04 | Mourad Ben Ayed | Method for adaptive authentication using a mobile device |
CN103517273B (zh) * | 2013-10-09 | 2017-04-12 | 中国联合网络通信集团有限公司 | 认证方法、管理平台和物联网设备 |
CN103685323B (zh) * | 2014-01-02 | 2016-08-17 | 中国科学院信息工程研究所 | 一种基于智能云电视网关的智能家居安全组网实现方法 |
WO2016081837A1 (en) * | 2014-11-21 | 2016-05-26 | Interdigital Patent Holdings, Inc. | Using security posture information to determine access to services |
US9965270B2 (en) * | 2015-07-01 | 2018-05-08 | Quanta Computer Inc. | Updating computer firmware |
CN105451231B (zh) * | 2015-12-29 | 2019-04-02 | 乐鑫信息科技(上海)股份有限公司 | 一种安全低功耗代理设备的物联网配置方法及系统 |
CN105577370A (zh) * | 2016-02-29 | 2016-05-11 | 赵运磊 | 一种应用于客户-服务器环境的认证密钥协商方法 |
CN106101097A (zh) * | 2016-06-08 | 2016-11-09 | 美的集团股份有限公司 | 家电设备及其与云服务器的通讯系统及方法、云服务器 |
CN106059869B (zh) * | 2016-07-26 | 2019-06-18 | 北京握奇智能科技有限公司 | 一种物联网智能家居设备安全控制方法及系统 |
CN106385679A (zh) * | 2016-08-30 | 2017-02-08 | 乐视控股(北京)有限公司 | 一种共享wifi密码的方法和装置 |
CN106452783B (zh) * | 2016-09-26 | 2021-02-09 | 上海兆芯集成电路有限公司 | 计算机系统及安全执行的方法 |
CN106357493B (zh) * | 2016-10-08 | 2021-08-06 | Tcl科技集团股份有限公司 | 家电设备与智能终端的绑定方法和装置 |
US10719616B2 (en) * | 2016-10-25 | 2020-07-21 | Beatport, LLC | Secure content access system |
-
2017
- 2017-05-10 CN CN201710323921.5A patent/CN107169344B/zh active Active
- 2017-06-07 TW TW106118822A patent/TWI627554B/zh active
- 2017-09-18 US US15/707,486 patent/US10701061B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103634265A (zh) * | 2012-08-20 | 2014-03-12 | 腾讯科技(深圳)有限公司 | 安全认证的方法、设备及系统 |
CN104219055A (zh) * | 2014-09-10 | 2014-12-17 | 天津大学 | 一种基于nfc的点对点可信认证方法 |
Also Published As
Publication number | Publication date |
---|---|
TW201901515A (zh) | 2019-01-01 |
US10701061B2 (en) | 2020-06-30 |
TWI627554B (zh) | 2018-06-21 |
US20180332030A1 (en) | 2018-11-15 |
CN107169344A (zh) | 2017-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107169344B (zh) | 阻挡非授权应用程序的方法以及使用该方法的装置 | |
CN108369622B (zh) | 软件容器注册表服务 | |
CN113141610B (zh) | 将设备标识符和用户标识符相关联的设备盗窃防护 | |
CN110675144A (zh) | 加强区块链交易的不可抵赖性 | |
CN110620810A (zh) | 在区块链上的连续资产转移的非链接所有权 | |
CN109313690A (zh) | 自包含的加密引导策略验证 | |
EP2727040B1 (en) | A secure hosted execution architecture | |
CN103597494A (zh) | 用于管理文档的数字使用权限的方法和设备 | |
US20120198553A1 (en) | Secure auditing system and secure auditing method | |
JPH10313309A (ja) | 国際暗号法フレームワークでアプリケーションが一定のサービスクラスを合法的に実行することを認証する装置 | |
JP2020524836A (ja) | ソフトウェア起動及びライセンス追跡用のシステム及び方法 | |
CN107292176A (zh) | 用于访问计算设备的可信平台模块的方法和系统 | |
CN109446259B (zh) | 数据处理方法及装置、处理机及存储介质 | |
CN111431707A (zh) | 业务数据信息处理方法、装置、设备以及可读存储介质 | |
US20140208409A1 (en) | Access to data stored in a cloud | |
CN111949986B (zh) | 业务处理方法、系统及存储介质 | |
US20220141029A1 (en) | Using multi-factor and/or inherence-based authentication to selectively enable performance of an operation prior to or during release of code | |
CN108881261B (zh) | 一种容器环境下基于区块链技术的服务认证方法及系统 | |
US10771462B2 (en) | User terminal using cloud service, integrated security management server for user terminal, and integrated security management method for user terminal | |
US20230401328A1 (en) | Protecting sensitive data dump information | |
US20050125698A1 (en) | Methods and systems for enabling secure storage of sensitive data | |
US12086257B2 (en) | Trusted firmware verification | |
US11874752B1 (en) | Methods and systems for facilitating cyber inspection of connected and autonomous electrical vehicles using smart charging stations | |
US11038918B1 (en) | Managing unpatched user devices | |
CN114253660A (zh) | 授权用户数据处理器访问用户数据的容器的系统和方法 |
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 |