CN110059475A - 用于数据保护的方法、设备和计算机程序产品 - Google Patents

用于数据保护的方法、设备和计算机程序产品 Download PDF

Info

Publication number
CN110059475A
CN110059475A CN201810050700.XA CN201810050700A CN110059475A CN 110059475 A CN110059475 A CN 110059475A CN 201810050700 A CN201810050700 A CN 201810050700A CN 110059475 A CN110059475 A CN 110059475A
Authority
CN
China
Prior art keywords
installation kit
certificate
client
response
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.)
Pending
Application number
CN201810050700.XA
Other languages
English (en)
Inventor
陈令
朱小良
李劼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
EMC Corp
Original Assignee
EMC IP Holding Co LLC
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 EMC IP Holding Co LLC filed Critical EMC IP Holding Co LLC
Priority to CN201810050700.XA priority Critical patent/CN110059475A/zh
Priority to US16/251,377 priority patent/US10713036B2/en
Publication of CN110059475A publication Critical patent/CN110059475A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1433Saving, restoring, recovering or retrying at system level during software upgrading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • 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/3263Cryptographic 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
    • H04L9/3268Cryptographic 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 using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services

Landscapes

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

Abstract

本公开的实施例涉及用于实现数据保护的方法、设备和计算机程序产品。根据本公开的实施例,客户端从服务器接收用于进行验证数据合法性的证书。响应于从该服务器接收到待进行数据合法性验证的安装包,客户端利用该证书来确定该安装包是否合法。该安装包与该客户端的操作系统的一个更新应用相关联。响应于确定该安装包合法,在该客户端处安装该安装包。根据本公开的实施例,用于进行数据合法性验证的证书将由服务器推送给客户端,即客户端将无需在安装该安装包之前而手动导入该证书。这对于存在大量客户端的数据保护系统而言,将显著提高数据保护系统的操作系统应用的更新效率。

Description

用于数据保护的方法、设备和计算机程序产品
技术领域
本公开的实施例总体涉及数据保护领域,具体涉及用于对用于数据更新的安装包进行数据保护的方法、设备和计算机程序产品。
背景技术
在基于客户端以及服务器架构的数据保护系统中,用于数据保护的服务器可以针对多个客户端来执行数据保护,以便验证用于更新应用程序的安装包是否合法。例如,该多个客户端可以安装所述应用程序安装包,以便其能够与例如其他中央服务器进行安全通信。在不同的操作系统中,该安装包可以为多种不同的形式。
对于一个典型的数据保护系统,服务器通常是将安装包推送给多个客户端,以避免多个客户端必须手动地安装该安装包。当前,数据保护系统的安全性成为日益重要的问题。一般地,为了安全性的考虑,不同操作系统的安装包可能需要利用安全证书或者安全密钥而被签名。经过证书或者安全密钥签名后的安装包然后由数据保护服务器推送给客户端。为了在客户端处成功安装上述签名后的安装包,可能需要在正式安装程序之前将安全证书或者安全密钥导入到客户端处。这对于存在成千上万个客户端的数据保护系统而言,可能需要耗费大量人工成本。
发明内容
本公开的实施例提供了用于数据保护系统的方法、设备和计算机程序产品。
在本公开的第一方面,提供了一种用于实现数据保护的方法,包括:从服务器接收用于进行验证数据合法性的第一证书;响应于从该服务器接收到待进行数据合法性验证的安装包,利用该第一证书来确定该安装包是否合法,该安装包与该客户端的操作系统的一个系统更新应用相关联;以及响应于确定该安装包合法,在该客户端处安装该安装包。
在本公开的第二方面,提供了一种用于实现数据保护的设备。该设备包括至少一个处理单元和至少一个存储器。至少一个存储器被耦合到至少一个处理单元并且存储用于由至少一个处理单元执行的指令。该指令当由至少一个处理单元执行时使得该设备执行动作,该动作包括:响应于从该服务器接收到待进行数据合法性验证的安装包,利用该第一证书来确定该安装包是否合法,该安装包与该客户端的操作系统的一个系统更新应用相关联;以及响应于确定该安装包合法,在该客户端处安装该安装包。
在本公开的第三方面,提供了一种计算机程序产品。该计算机程序产品被有形地存储在非瞬态计算机存储介质中并且包括机器可执行指令。该机器可执行指令在由设备执行时使该设备执行根据本公开的第一方面所描述的方法的任意步骤。
提供发明内容部分是为了以简化的形式来介绍对概念的选择,它们在下文的具体实施方式中将被进一步描述。发明内容部分无意标识本公开的关键特征或必要特征,也无意限制本公开的范围。
附图说明
通过结合附图对本公开示例性实施例进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施例中,相同的参考标号通常代表相同部件。
图1示出了可用于实施根据本公开的实施例的数据保护系统的示意图;
图2示出了根据本公开的实施例的用于实现数据保护的方法的交互图;
图3示出了根据本公开的实施例的用于实现数据保护的示例方法的流程图;以及
图4示出了可以用来实施本公开的实施例的示例设备的示意图。
在各个附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
下面将参照附图更详细地描述本公开的优选实施例。虽然附图中显示了本公开的优选实施例,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
在本文中使用的术语“包括”及其变形表示开放性包括,即“包括但不限于”。除非特别申明,术语“或”表示“和/或”。术语“基于”表示“至少部分地基于”。术语“一个示例实施例”和“一个实施例”表示“至少一个示例实施例”。术语“另一实施例”表示“至少一个另外的实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。
图1示出了一种用于实现数据安全性的数据保护系统100的示意图。如图1所示,数据保护系统100可以包括用于数据保护的服务器110、待执行应用安装程序的客户端120以及130。应当理解,如图1所示的数据保护系统100的结构和功能仅用于示例的目的,而不暗示对于本公开的范围的任何限制。本公开的实施例可以被体现在不同的结构和/或功能中。此外,图1中所示的服务器以及客户端的数量仅仅是示例性的。不失一般性地,图1中的数据保护系统100可以包括任意数量的服务器以及客户端,即本公开在此方面不做限制。
如图1所示,服务器110通过一条或多条通信链路与客户端120以及130进行通信,以便将与客户端的操作系统的一个系统更新应用相关联的安装包推送给客户端120以及130。为了保证该安装包的数据安全性,服务器110需要利用安全证书或者安全密钥将安装包进行签名处理,然后服务器110将签名后的安装包发送到客户端120以及130。为了验证该安装包是否是合法的,客户端120以及130需要确定用于对安装包进行签名的证书或者安全密钥,并给予所确定的证书或者安全密钥来确定接收到的安装包是否是客户端120以及130所需要的合法的安装包。
在传统的数据保护系统中,需要在客户端处手动地导入用于确定安装包是否为合法的证书或者安全密钥。这对于存在大量客户端的数据保护系统而言,为了进行一个安装包的应用升级,可能需要耗费大量时间来人工地在大量客户端处导入上述证书或者安全密钥。这将影响数据保护系统进行应用升级的效率。
为了解决上述问题以及其他潜在问题中的一个或者多个,本公开的示例实施例提出了一种用于数据保护的方法。在本公开的实施例中,服务器110将用于进行验证数据合法性的证书或者安全密钥通过有线或者无线链路而推送到客户端120以及130。在客户端120以及130从服务器收到用于进行应用程序更新的安装包之后,客户端120以及130将利用接收到的证书或者安全密钥来验证接收到的安装包是否合法。在确定接收到的安装包是合法的情况下,客户端120以及130将安装接收到的安装包以完成客户端操作系统的升级或更新。因此,通过本公开的实施例,客户端120以及130将避免在大量客户端处导入或者下载用于验证数据合法性的证书或者安全密钥,这将显著提高数据保护系统100的更新或升级效率。
下面将参考图2来描述本公开的实施例。一般地,图2示出了根据本公开的实施例的用于数据保护系统的交互图。典型地,下文将针对如图1所示的数据保护系统100的服务器110和客户端120来描述该交互图。特别地,该交互图对应的动作也可以在客户端130以及任何其他适当的部件或者设备处执行。
如图2所示,用于数据保护的服务器110向客户端120发送205用于验证数据合法性的证书(称之为“第一证书”)。客户端120接收到该第一证书之后,其可以将第一证书存储在该客户端120中用于数据保护的模块,以用于后续利用该第一证书进行的数据合法性验证。在接收到来自服务器110的第一证书的情况下,客户端120可以向服务110器发送210一个请求信息,以请求服务器110向其发送用于更新的应用程序安装包,其中该安装包是通过一个证书(称之为“第二证书”)签名过的。例如,对于安全合法的安装包,第二证书可以是与第一证书相匹配。对于非法的安装包,第二证书可能与第一证书不相匹配。服务器110向客户端120发送215该安装包。接收到该安装包之后,客户端120利用接收到的第一证书来确定220该安装包是否为合法。在确定该安装包为合法的情况下,客户端120安装该安装包,以例如完成程序更新或者升级。在确定该安装包为合法的情况下,客户端120则可以发出报错提醒,避免安装了不合法或者被篡改的安装包。
通过图2所示出的用于实现数据保护的交互流程,客户端120可以容易地从服务器处接收到用于进行数据安全性保护的证书,进而避免在进行系统更新之前手动地对该证书进行导入。这将显著提高数据保护系统的数据验证效率。
图3示出了根据本公开的实施例的用于数据保护系统的示例方法300的流程图。该方法300可以被实现在如图1所示的数据保护系统100的客户端120上执行,并且该方法300也可以在客户端130或者其他部件或者设备处实现。方法300仅仅实现本公开的实施例的示例方法,不是一般性地,方法300还可以包括未示出的附加动作和/或可以省略所示出的动作,并且本公开的范围在此方面不受限制。
在框310,客户端120从服务器110接收用于进行数据合法性验证的第一证书。作为示例,第一证书可以包括通用公共许可隐私保护(GPG)密钥,以用于对应用程序或者系统更新的合法性或者完整性进行验证,进而实现数据保护的目的。在接收到该第一证书的情况下,客户端120可以将证书安装或者导入在客户端处,以用于后续的数据保护。
在一些实施例中,在客户端120接收到所述第一证书的情况下,客户端120可以向用于数据验证的服务器110发送一个请求,以使得服务器110向客户端120发送进行系统升级或者更新的安装包。
在框320,客户端120确定是否接收到待进行数据验证的安装包。该安装包与客户端120的操作系统的一个系统更新应用相关联。作为示例,该操作系统可以是不同类型的操作系统,例如Windows、Unix或者Linux操作系统。作为示例,上述安装包可以是RPM安装包、MSI安装包、Deb安装包以及EXE安装包。
在框330处,客户端120利用该第一证书确定上述接收到的安装包是否合法。在一些实施例中,客户端120可以从上述安装包提取第二证书。进而,客户端120可以通过将上述第一证书与第二证书进行比较,以便确定接收到的安装包是否满足数据合法性的要求。例如,在客户端120确定第二证书与第一证书相匹配的情况下,可以确定该接收到的安装包为合法,而在客户端120确定第二证书与所述第一证书不相匹配的情况下,则可以认为接收到的安装包为不合法。
在框340处,在客户端120确定上述安装包合法的情况下,客户端120安装上述接收到的安装包,以例如完成程序更新或者升级。在客户端确定上述安装包不合法的情况下,在框350,客户端120可以向服务器110发送报错提醒。
对于图3所示的用于数据保护的方法,在实际系统中可以通过可扩展标记语言(XML)来实现。作为示例,XML数据结构可以包括服务器110以及客户端120的交互动作(即,针对XML的执行任务)之间的依赖关系以及安装文件以及安装路径之类的参数配置信息。例如,该动作依赖关系包括在服务器110上实现的针对第一证书的推送动作以及针对签名后的安装包的另一个推送动作。通过在XML中定义上述动作之间的依赖关系,服务器110和客户端120可以通过如上文图3中流程图所示出的动作执行流程而被不同的执行主体(即,服务器110以及客户端120)来执行。
作为示例,一个典型的XML数据结构可以如下表1所示。
表1.XML数据结构的示例元素描述
作为示例,在构建完例如下表1所示的XML数据配置之后,将该XML发送到用于数据验证的服务器110。在进行安装包的应用更新之前,服务器110可以解析该XML数据结构中的相关配置,以便确定相应的系统配置以及服务器110与待进行应用更新的客户端120之间动作的执行逻辑关系。例如,如表1所示,jobs和-job字段分别定义了服务器110需要执行的任务和对应的具体任务条目,例如上文所描述的针对第一证书的推送动作以及针对安装包的推送动作。其中,depends属性定义了服务器110在执行两个或更多个动作之间的先后依赖关系。作为示例,可以在XML数据结构中定义如下的任务执行依赖关系,即服务器110发送安装包的任务要在其接收到来自客户端120的请求之后被执行。
应当理解,上述所描述的XML数据结构仅仅是实现本公开中用于数据保护系统的一个示例性实施例。根据实际需要,还可以使用任何其他适当的结构性语言来实现本公开的实施例,本公开对此方面不做限制。
图4示出了可以用来实施本公开内容的实施例的示例设备400的示意性框图。例如,如图1所示的客户端120、130可以由设备400实施。如图所示,设备400包括中央处理单元(CPU)401,其可以根据存储在只读存储器(ROM)402中的计算机程序指令或者从存储单元408加载到随机访问存储器(RAM)403中的计算机程序指令,来执行各种适当的动作和处理。在RAM 403中,还可存储设备400操作所需的各种程序和数据。CPU 401、ROM 402以及RAM403通过总线404彼此相连。输入/输出接口405也连接至总线404。
设备400中的多个部件连接至I/O接口405,包括:输入单元406,例如键盘、鼠标等;输出单元407,例如各种类型的显示器、扬声器等;存储单元408,例如磁盘、光盘等;以及通信单元409,例如网卡、调制解调器、无线通信收发机等。通信单元409允许设备400通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
上文所描述的各个过程和处理,例如示意图3所示的方法300,可由处理单元401执行。例如,在一些实施例中,方法300可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元408。在一些实施例中,计算机程序的部分或者全部可以经由ROM 402和/或通信单元409而被载入和/或安装到设备400上。当计算机程序被加载到RAM 403并由CPU 401执行时,可以执行上文描述的方法300的一个或多个动作。
本公开可以是方法、装置、系统和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于执行本公开的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是——但不限于——电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。本文所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算设备/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算设备/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算设备/处理设备中的计算机可读存储介质中。
用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
这里参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理单元,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理单元执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

Claims (13)

1.一种用于实现数据保护的方法,包括:
从服务器接收用于进行验证数据合法性的第一证书;
响应于从所述服务器接收到待进行数据合法性验证的安装包,利用所述第一证书来确定所述安装包是否合法,所述安装包与所述客户端的操作系统的一个系统更新应用相关联;以及
响应于确定所述安装包合法,在所述客户端处安装所述安装包。
2.根据权利要求1所述的方法,还包括:
响应于确定所述安装包不合法,发出报错提醒。
3.根据权利要求1所述的方法,其中利用所述第一证书来确定所述安装包是否合法包括:
从所述安装包提取第二证书;
响应于确定所述第二证书与所述第一证书相匹配,确定所述安装包合法;以及
响应于确定所述第二证书与所述第一证书不相匹配,确定所述安装包不合法。
4.根据权利要求1所述的方法,还包括:
响应于接收到所述第一证书,向所述服务器发送一个请求,以使得所述服务器向所述客户端发送所述安装包。
5.根据权利要求1所述的方法,其中所述第一证书包括GPG密钥。
6.根据权利要求1所述的方法,其中所述安装包是如下至少一项:
RPM安装包,
MSI安装包,
Deb安装包,以及
EXE安装包。
7.一种用于实现数据保护的设备,所述设备包括:
至少一个处理单元;
至少一个存储器,所述至少一个存储器被耦合到所述至少一个处理单元并且存储用于由所述至少一个处理单元执行的指令,所述指令当由所述至少一个处理单元执行时,使得所述设备执行动作,所述动作包括:
从服务器接收用于进行验证数据合法性的第一证书;
响应于从所述服务器接收到待进行数据合法性验证的安装包,利用所述第一证书来确定所述安装包是否合法,所述安装包与所述客户端的操作系统的一个系统更新应用相关联;以及
响应于确定所述安装包合法,在所述客户端处安装所述安装包。
8.根据权利要求7所述的设备,其中所述动作还包括:
响应于确定所述安装包不合法,发出报错提醒。
9.根据权利要求7所述的设备,其中利用所述第一证书来确定所述安装包是否合法包括:
从所述安装包提取第二证书;
响应于确定所述第二证书与所述第一证书相匹配,确定所述安装包合法;以及
响应于确定所述第二证书与所述第一证书不相匹配,确定所述安装包不合法。
10.根据权利要求7所述的设备,其中所述动作还包括:
响应于接收到所述第一证书,向所述服务器发送一个请求,以使得所述服务器向所述客户端发送所述安装包。
11.根据权利要求7所述的设备,其中所述第一证书包括GPG密钥。
12.根据权利要求7所述的设备,其中所述安装包是如下至少一项:
RPM安装包,
MSI安装包,
Deb安装包,以及
EXE安装包。
13.一种计算机程序产品,所述计算机程序产品被有形地存储在非瞬态计算机存储介质中并且包括机器可执行指令,所述机器可执行指令在由设备执行时使所述设备执行根据权利要求1-6中的任一项所述的方法。
CN201810050700.XA 2018-01-18 2018-01-18 用于数据保护的方法、设备和计算机程序产品 Pending CN110059475A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201810050700.XA CN110059475A (zh) 2018-01-18 2018-01-18 用于数据保护的方法、设备和计算机程序产品
US16/251,377 US10713036B2 (en) 2018-01-18 2019-01-18 Method, device and computer program product for data protection

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810050700.XA CN110059475A (zh) 2018-01-18 2018-01-18 用于数据保护的方法、设备和计算机程序产品

Publications (1)

Publication Number Publication Date
CN110059475A true CN110059475A (zh) 2019-07-26

Family

ID=67213884

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810050700.XA Pending CN110059475A (zh) 2018-01-18 2018-01-18 用于数据保护的方法、设备和计算机程序产品

Country Status (2)

Country Link
US (1) US10713036B2 (zh)
CN (1) CN110059475A (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021014596A1 (ja) * 2019-07-23 2021-01-28 日本電信電話株式会社 検証情報作成システム、検証情報作成方法、および、検証情報作成プログラム
US11323532B1 (en) * 2021-01-29 2022-05-03 Salesforce.Com, Inc. Data stream packaging

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050120106A1 (en) * 2003-12-02 2005-06-02 Nokia, Inc. System and method for distributing software updates to a network appliance
US20070169079A1 (en) * 2005-11-08 2007-07-19 Microsoft Corporation Software update management
US20140033193A1 (en) * 2006-12-18 2014-01-30 Adobe Systems Incorporated Secured distribution of software updates
CN103778367A (zh) * 2013-12-30 2014-05-07 网秦(北京)科技有限公司 基于应用证书来检测应用安装包的安全性的方法、终端以及辅助服务器
CN104123491A (zh) * 2014-07-18 2014-10-29 广州金山网络科技有限公司 一种检测应用程序安装包是否被篡改的方法及装置
US20170250826A1 (en) * 2016-02-26 2017-08-31 Apple Inc. Obtaining and using time information on a secure element (se)

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7069440B2 (en) * 2000-06-09 2006-06-27 Northrop Grumman Corporation Technique for obtaining a single sign-on certificate from a foreign PKI system using an existing strong authentication PKI system
JP4304362B2 (ja) * 2002-06-25 2009-07-29 日本電気株式会社 Pki対応の証明書確認処理方法及びその装置、並びにpki対応の証明書確認処理プログラム
US7921302B2 (en) * 2003-03-10 2011-04-05 Igt Universal game download methods and system for legacy gaming machines
EP1989655A2 (en) * 2005-06-01 2008-11-12 Dennis Drews Data security
US8413229B2 (en) * 2006-08-21 2013-04-02 Citrix Systems, Inc. Method and appliance for authenticating, by an appliance, a client to access a virtual private network connection, based on an attribute of a client-side certificate
US20080303630A1 (en) * 2007-06-06 2008-12-11 Danilo Jose Martinez DigiKey and DigiLock
US8924714B2 (en) * 2008-06-27 2014-12-30 Microsoft Corporation Authentication with an untrusted root
US9654505B2 (en) * 2009-06-22 2017-05-16 Citrix Systems, Inc. Systems and methods for encoding the core identifier in the session identifier
US8601556B2 (en) * 2009-06-22 2013-12-03 Citrix Systems, Inc. Systems and methods for handling SSL session not reusable across multiple cores
US9203831B2 (en) * 2009-11-25 2015-12-01 Red Hat, Inc. SSL client authentication
JP2014513348A (ja) * 2011-04-08 2014-05-29 インサイド ソフトウェア コーポレーション 統合拡張ファームウェアインタフェース準拠計算装置内のシステムセキュリティデータベースおよびファームウェア格納部を変更する要求を処理するシステムおよび方法
US20130290234A1 (en) * 2012-02-02 2013-10-31 Visa International Service Association Intelligent Consumer Service Terminal Apparatuses, Methods and Systems
WO2013126615A1 (en) * 2012-02-21 2013-08-29 Pulselocker, Inc. Method and apparatus for limiting access to data by process or computer function with stateless encryption
FR3001313B1 (fr) * 2013-01-22 2016-02-12 Univ Aix Marseille Procede de verification d'au moins une metadonnee d'un bloc de donnees numeriques
US8799053B1 (en) * 2013-03-13 2014-08-05 Paul R. Goldberg Secure consumer data exchange method, apparatus, and system therfor
US9722978B2 (en) * 2013-03-22 2017-08-01 Lidcore, Inc. System and method for automated licensing identification and verification
US9652212B2 (en) * 2014-09-24 2017-05-16 Oracle International Corporation Managing change events for devices in an enterprise system
US9749315B1 (en) * 2014-10-03 2017-08-29 ViaBlitz Inc. Mobile root trust device
US9853955B2 (en) * 2014-12-23 2017-12-26 Facebook, Inc. Techniques for securing delivery of an audio message
EP3295644B1 (en) * 2015-05-08 2021-06-30 Citrix Systems Inc. Systems and methods for improving security of secure socket layer (ssl) communications
US20170093586A1 (en) * 2015-09-25 2017-03-30 Qualcomm Incorporated Techniques for managing certificates on a computing device
US9948633B2 (en) * 2015-10-28 2018-04-17 Citrix Systems, Inc. Systems and methods for policy driven fine grain validation of servers' SSL certificate for clientless SSLVPN access
US10425417B2 (en) * 2017-03-08 2019-09-24 Bank Of America Corporation Certificate system for verifying authorized and unauthorized secure sessions
US10361852B2 (en) * 2017-03-08 2019-07-23 Bank Of America Corporation Secure verification system
US10432595B2 (en) * 2017-03-08 2019-10-01 Bank Of America Corporation Secure session creation system utililizing multiple keys
US10374808B2 (en) * 2017-03-08 2019-08-06 Bank Of America Corporation Verification system for creating a secure link
US10534548B2 (en) * 2017-06-20 2020-01-14 International Business Machines Corporation Validating restricted operations on a client using trusted environments
US11416616B2 (en) * 2017-11-30 2022-08-16 Forcepoint Llc Secure boot chain for live boot systems
US10411894B1 (en) * 2019-05-17 2019-09-10 Cyberark Software Ltd. Authentication based on unique encoded codes

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050120106A1 (en) * 2003-12-02 2005-06-02 Nokia, Inc. System and method for distributing software updates to a network appliance
US20070169079A1 (en) * 2005-11-08 2007-07-19 Microsoft Corporation Software update management
US20140033193A1 (en) * 2006-12-18 2014-01-30 Adobe Systems Incorporated Secured distribution of software updates
CN103778367A (zh) * 2013-12-30 2014-05-07 网秦(北京)科技有限公司 基于应用证书来检测应用安装包的安全性的方法、终端以及辅助服务器
CN104123491A (zh) * 2014-07-18 2014-10-29 广州金山网络科技有限公司 一种检测应用程序安装包是否被篡改的方法及装置
US20170250826A1 (en) * 2016-02-26 2017-08-31 Apple Inc. Obtaining and using time information on a secure element (se)

Also Published As

Publication number Publication date
US20190220267A1 (en) 2019-07-18
US10713036B2 (en) 2020-07-14

Similar Documents

Publication Publication Date Title
CN108305072B (zh) 部署区块链网络的方法、设备和计算机存储介质
US11709981B2 (en) Dynamic CFI using line-of-code behavior and relation models
CN107911421B (zh) 用于配置区块链中跨网络通信的方法、设备和计算机存储介质
US11275838B2 (en) Code package processing
CN108964982B (zh) 用于实现区块链的多节点的部署的方法、装置及存储介质
CN109598117A (zh) 权限管理方法、装置、电子设备及存储介质
CN106843976B (zh) 用于生成镜像文件的方法和装置
CN112204557A (zh) 用于自动去中心化多边交易处理的系统和方法
CN110488617A (zh) 智能家居控制系统、方法及终端设备
CN111199398B (zh) 用于跨区块链资产管理的方法、设备、计算机可读存储介质和计算机程序产品
CN115668147A (zh) 防止集群中的未授权封装部署
CN110058894B (zh) 在混合云中执行应用的方法、设备和计算机程序产品
CN104303534B (zh) 用于对移动设备验证进行验证的方法和计算机
US11170105B2 (en) Verifying updates based on update behavior-based profiles
CN103713918A (zh) 软件应用安装系统和方法
US11681513B2 (en) Controlled scope of authentication key for software update
CN110059475A (zh) 用于数据保护的方法、设备和计算机程序产品
CN105931042A (zh) 一种应用权限管理方法以及智能pos终端
CN108351790A (zh) 用于期望状态配置的非单调最终收敛
US20190155588A1 (en) Systems and methods for transforming machine language models for a production environment
CN109726039A (zh) 用于管理虚拟机的方法和设备
WO2019233454A1 (zh) 链码升级方法及装置
CN105590377B (zh) 销售点终端装置及其程序更新方法
CN109743310A (zh) 用于解析报文的方法和装置
CN117061229B (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