CN109634615A - 应用安装包的发布方法、验证方法和装置 - Google Patents

应用安装包的发布方法、验证方法和装置 Download PDF

Info

Publication number
CN109634615A
CN109634615A CN201811278483.6A CN201811278483A CN109634615A CN 109634615 A CN109634615 A CN 109634615A CN 201811278483 A CN201811278483 A CN 201811278483A CN 109634615 A CN109634615 A CN 109634615A
Authority
CN
China
Prior art keywords
application
installation package
information
node
network
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
CN201811278483.6A
Other languages
English (en)
Other versions
CN109634615B (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.)
Advanced New Technologies Co Ltd
Advantageous New Technologies Co Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201811278483.6A priority Critical patent/CN109634615B/zh
Publication of CN109634615A publication Critical patent/CN109634615A/zh
Application granted granted Critical
Publication of CN109634615B publication Critical patent/CN109634615B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • 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]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • G06F21/128Restricting unauthorised execution of programs involving web programs, i.e. using technology especially used in internet, generally interacting with a web browser, e.g. hypertext markup language [HTML], applets, java
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Technology Law (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Stored Programmes (AREA)

Abstract

本说明书实施例提供一种应用安装包的发布方法、验证方法和装置,该发布方法由已加入第一网络作为网络中第一节点的应用开发者执行,第一网络为去中心化的可信网络,可信网络包括多个节点,多个节点保存了第一节点的公钥;在可信网络中广播第一应用的应用信息和第一签名信息,以使可信网络中的第二节点根据第一节点的公钥对第一签名信息进行验证,并在验证成功后存储第一应用的应用信息;通过第二网络发布第一应用的安装包和第二签名信息,以使应用获取者根据从可信网络获取的第一节点的公钥对第二签名信息进行验证,并至少根据签名验证结果确定安装包是否为可信安装包,从而能够保证应用安装包的真实性以及可追溯性。

Description

应用安装包的发布方法、验证方法和装置
技术领域
本说明书一个或多个实施例涉及计算机领域,尤其涉及应用安装包的发布方法、验证方法和装置。
背景技术
随着手机、平板等智能设备的普及,应用(application,APP)的更新速度也逐渐加快,通常需要将应用安装包发布到网络上以供用户下载安装。在APP快速发展背景下,现行的应用安装包的发布方法中,主要通过各大应用商店发布应用安装包,应用商店作为主要APP发布渠道存在被黑客攻击的风险,如果应用商店被攻击,则会影响大规模用户。同时,很多小网站也会发布应用安装包,从而网上有很多山寨版的应用安装包,难以鉴别应用安装包的真假,并且这些山寨版的应用安装包有很多是恶意的应用安装包,例如病毒和木马APP,恶意APP的作者难以追溯。
因此,希望能有改进的方案,使得应用安装包的发布能够保证应用安装包的真实性以及可追溯性。
发明内容
本说明书一个或多个实施例描述了一种应用安装包的发布方法、验证方法和装置,使得应用安装包的发布能够保证应用安装包的真实性以及可追溯性。
第一方面,提供了一种应用安装包的发布方法,所述方法由已加入第一网络作为网络中第一节点的应用开发者执行,所述第一节点具有密钥对,所述密钥对包括所述第一节点的公钥和所述第一节点的私钥,所述第一网络为去中心化的可信网络,所述可信网络包括多个节点,所述多个节点保存了所述第一节点的公钥;方法包括:
所述应用开发者获取第一应用的应用信息,所述第一应用的应用信息包括所述第一节点的公钥;
所述应用开发者利用所述第一节点的私钥对所述第一应用的应用信息进行签名计算得到第一签名信息;
所述应用开发者在所述可信网络中广播所述第一应用的应用信息和所述第一签名信息,以使所述可信网络中的第二节点根据所述第一节点的公钥对所述第一签名信息进行验证,并在验证成功后存储所述第一应用的应用信息;
所述应用开发者利用所述第一节点的私钥对所述第一应用的安装包进行签名计算得到第二签名信息;
所述应用开发者通过第二网络发布所述第一应用的安装包和所述第二签名信息,以使应用获取者根据从所述可信网络获取的所述第一节点的公钥对所述第二签名信息进行验证,并至少根据签名验证结果确定所述安装包是否为可信安装包。
在一种可能的实施方式中,所述可信网络为区块链网络,所述第一应用的应用信息以区块的形式进行存储。
在一种可能的实施方式中,所述第一应用的应用信息还包括:
所述第一应用的安装包的标识信息和所述第一应用的安装包的属性信息。
进一步地,所述第一应用的安装包的标识信息包括以下至少一种信息:
所述第一应用的名称、所述第一应用的安装包的包名、所述第一应用的安装包的版本。
进一步地,所述第一应用的安装包的属性信息包括以下至少一种信息:
所述第一应用的安装包的大小、所述第一应用的安装包的开发时间、所述第一应用的安装包的哈希值。
第二方面,提供了一种应用安装包的验证方法,方法包括:
应用获取者从第一网络中获取第一应用的应用信息,所述第一应用的应用信息包括第一节点的公钥;其中,所述第一节点为已加入所述第一网络的应用开发者,所述第一节点具有密钥对,所述密钥对包括所述第一节点的公钥和所述第一节点的私钥,所述第一网络为去中心化的可信网络,所述可信网络包括多个节点,所述多个节点保存了所述第一应用的应用信息;
所述应用获取者通过第二网络获取所述第一应用的安装包,以及签名信息,所述签名信息是利用所述第一节点的私钥对所述第一应用的安装包进行签名计算得到的;
所述应用获取者利用所述第一节点的公钥对所述签名信息进行验证,得到签名验证结果;
所述应用获取者至少根据所述签名验证结果,确定所述安装包是否为可信安装包。
在一种可能的实施方式中,所述可信网络为区块链网络,所述第一应用的应用信息以区块的形式进行存储。
在一种可能的实施方式中,所述第一应用的应用信息还包括:
所述第一应用的安装包的标识信息和所述第一应用的安装包的属性信息。
进一步地,所述第一应用的安装包的标识信息包括以下至少一种信息:
所述第一应用的名称、所述第一应用的安装包的包名、所述第一应用的安装包的版本。
进一步地,所述第一应用的安装包的属性信息包括以下至少一种信息:
所述第一应用的安装包的大小、所述第一应用的安装包的开发时间、所述第一应用的安装包的哈希值。
进一步地,所述应用获取者至少根据所述签名验证结果,确定所述安装包是否为可信安装包,包括:
在所述签名验证通过的情况下,所述应用获取者通过解析所述第一应用的安装包,获得所述第一应用的安装包的属性信息;
将解析得到的所述第一应用的安装包的属性信息与从所述可信网络中获取的所述应用信息中的属性信息进行比对,得到比对结果;
所述应用获取者根据所述比对结果,确定所述安装包是否为可信安装包。
在一种可能的实施方式中,所述第一应用的应用信息还包括:
所述第一应用的安装包的版本;
所述应用获取者通过第二网络获取所述第一应用的安装包,以及签名信息之前,所述方法还包括:
所述应用获取者确定已安装所述第一应用,且所述第一应用的版本发生了更新;或者,
所述应用获取者确定未安装所述第一应用。
第三方面,提供了一种应用安装包的发布装置,所述装置设置于已加入第一网络作为网络中第一节点的应用开发者中,所述第一节点具有密钥对,所述密钥对包括所述第一节点的公钥和所述第一节点的私钥,所述第一网络为去中心化的可信网络,所述可信网络包括多个节点,所述多个节点保存了所述第一节点的公钥;装置包括:
获取单元,用于获取第一应用的应用信息,所述第一应用的应用信息包括所述第一节点的公钥;
签名单元,用于利用所述第一节点的私钥对所述获取单元获取的第一应用的应用信息进行签名计算得到第一签名信息;
广播单元,用于在所述可信网络中广播所述获取单元获取的第一应用的应用信息和所述签名单元得到的第一签名信息,以使所述可信网络中的第二节点根据所述第一节点的公钥对所述第一签名信息进行验证,并在验证成功后存储所述第一应用的应用信息;
所述签名单元,还用于利用所述第一节点的私钥对所述第一应用的安装包进行签名计算得到第二签名信息;
发布单元,用于通过第二网络发布所述第一应用的安装包和所述签名单元得到的第二签名信息,以使应用获取者根据从所述可信网络获取的所述第一节点的公钥对所述第二签名信息进行验证,并至少根据签名验证结果确定所述安装包是否为可信安装包。
第四方面,提供了一种应用安装包的验证装置,装置包括:
获取单元,用于从第一网络中获取第一应用的应用信息,所述第一应用的应用信息包括第一节点的公钥;其中,所述第一节点为已加入所述第一网络的应用开发者,所述第一节点具有密钥对,所述密钥对包括所述第一节点的公钥和所述第一节点的私钥,所述第一网络为去中心化的可信网络,所述可信网络包括多个节点,所述多个节点保存了所述第一应用的应用信息;
所述获取单元,还用于通过第二网络获取所述第一应用的安装包,以及签名信息,所述签名信息是利用所述第一节点的私钥对所述第一应用的安装包进行签名计算得到的;
验证单元,用于利用所述获取单元获取的第一节点的公钥对所述签名信息进行验证,得到签名验证结果;
确定单元,用于至少根据所述验证单元得到的签名验证结果,确定所述获取单元获取的安装包是否为可信安装包。
第五方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面或第二方面的方法。
第六方面,提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面或第二方面的方法。
通过本说明书实施例提供的方法和装置,应用开发者预先加入第一网络作为网络中的第一节点,所述第一节点具有密钥对,所述密钥对包括所述第一节点的公钥和所述第一节点的私钥,所述第一网络为去中心化的可信网络,所述可信网络包括多个节点,所述多个节点保存了所述第一节点的公钥;当应用开发者进行应用发布时,首先在可信网络中广播第一应用的应用信息和第一签名信息,以使所述可信网络中的第二节点根据所述第一节点的公钥对所述第一签名信息进行验证,并在验证成功后存储所述第一应用的应用信息,然后应用开发者通过第二网络发布所述第一应用的安装包和第二签名信息,以使应用获取者根据从所述可信网络获取的所述第一节点的公钥对所述第二签名信息进行验证,并至少根据签名验证结果确定所述安装包是否为可信安装包。由上可见,应用开发者在进行应用发布时,不仅发布了该应用的应用安装包,而且在可信网络中发布了该应用的应用信息,由于可信网络是去中心化的,因此能够保证应用信息的真实性,相应地保证与该应用信息相匹配的应用安装包的真实性,并且由于应用开发者本身已加入该可信网络,因此能够实现与该应用信息相匹配的应用安装包的可追溯性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本说明书披露的一个实施例的实施场景示意图;
图2示出根据一个实施例的应用安装包的发布方法流程图;
图3示出根据一个实施例的应用安装包的验证方法流程图;
图4示出根据一个实施例的应用安装包的发布装置的示意性框图;
图5示出根据一个实施例的应用安装包的验证装置的示意性框图。
具体实施方式
下面结合附图,对本说明书提供的方案进行描述。
图1为本说明书披露的一个实施例的实施场景示意图。该实施场景涉及应用安装包的发布和应用安装包的验证,应用开发者11预先加入第一网络12作为网络中的第一节点,所述第一节点具有密钥对,所述密钥对包括所述第一节点的公钥和所述第一节点的私钥,所述第一网络12为去中心化的可信网络,例如,区块链网络,所述可信网络包括多个节点,所述多个节点保存了所述第一节点的公钥。
在一个示例中,应用开发者11在进行应用发布时,不仅在第二网络发布了该应用的应用安装包,而且在可信网络12中发布了该应用的应用信息,上述应用信息中包括第一节点的公钥,由于可信网络是去中心化的,因此能够保证应用信息的真实性,相应地保证与该应用信息相匹配的应用安装包的真实性,并且由于应用开发者11本身已加入该可信网络,因此能够实现与该应用信息相匹配的应用安装包的可追溯性。
相应地,应用获取者13从第一网络12中获取第一应用的应用信息,通过第二网络获取所述第一应用的安装包,以及签名信息,所述签名信息是利用所述第一节点的私钥对所述第一应用的安装包进行签名计算得到的;所述应用获取者13利用所述应用信息中包括的第一节点的公钥对所述签名信息进行验证,得到签名验证结果;所述应用获取者13至少根据所述签名验证结果,确定所述安装包是否为可信安装包。
由上可见,通过应用开发者11在可信网络12中发布应用的应用信息,从而能够确保应用的应用信息是可信的,该应用信息中包括的应用开发者的公钥是可信的,相应地,应用获取者13利用应用开发者的公钥来对安装包进行签名验证的结果是可信的,从而可以识别应用的安装包是否为可信安装包。
需要说明的是,本说明书实施例中对于第二网络的类型不做限定,在一个示例中,第二网络为通常的互联网,应用开发者可以在现有的应用商店中发布应用的安装包。该示例可以实现与现有的发布平台的兼容,并节约可信网络的存储资源。
可以理解的是,第二网络也可以为去中心化的可信网络,例如,第二网络可以与第一网络为同一去中心化的可信网络,也就是说,应用的安装包也可以通过可信网络发布,此时应用的安装包也是可信的,无需应用获取方对安装包进行验证。
此外,本说明书实施例中提到的应用不仅包括用于移动终端(例如手机)的移动APP,还包括用于非移动终端(例如个人电脑)的APP。也就是说,应用获取者13既可以包括移动终端,也可以包括非移动终端。
图2示出根据一个实施例的应用安装包的发布方法流程图,所述方法由已加入第一网络作为网络中第一节点的应用开发者执行,所述第一节点具有密钥对,所述密钥对包括所述第一节点的公钥和所述第一节点的私钥,所述第一网络为去中心化的可信网络,所述可信网络包括多个节点,所述多个节点保存了所述第一节点的公钥。如图2所示,该实施例中应用安装包的发布方法包括以下步骤:步骤21,应用开发者获取第一应用的应用信息,所述第一应用的应用信息包括所述第一节点的公钥;步骤22,应用开发者利用所述第一节点的私钥对所述第一应用的应用信息进行签名计算得到第一签名信息;步骤23,应用开发者在所述可信网络中广播所述第一应用的应用信息和所述第一签名信息,以使所述可信网络中的第二节点根据所述第一节点的公钥对所述第一签名信息进行验证,并在验证成功后存储所述第一应用的应用信息;步骤24,应用开发者利用所述第一节点的私钥对所述第一应用的安装包进行签名计算得到第二签名信息;步骤25,应用开发者通过第二网络发布所述第一应用的安装包和所述第二签名信息,以使应用获取者根据从所述可信网络获取的所述第一节点的公钥对所述第二签名信息进行验证,并至少根据签名验证结果确定所述安装包是否为可信安装包。下面描述以上各个步骤的具体执行方式。
首先在步骤21,应用开发者获取第一应用的应用信息,所述第一应用的应用信息包括所述第一节点的公钥。可以理解的是,应用开发者具体为第一应用的应用开发者,也为第一应用的发布方。应用开发者为可信网络中的第一节点,第一节点的公钥即应用开发者的公钥。
在一个示例中,所述可信网络为区块链网络,所述第一应用的应用信息以区块的形式进行存储。
以区块链网络为例,任何一个应用开发者都可以加入到区块链网络,作为区块链网络的一个节点,每个节点都允许获得一份完整的数据库拷贝。节点间基于一套共识机制,通过竞争计算共同维护整个区块链。任一节点失效,其余节点仍能正常工作。区块链由众多节点共同组成一个端到端的网络,不存在中心化的设备和管理机构。节点之间数据交换通过数字签名技术进行验证,无需互相信任,只要按照系统既定的规则进行,节点之间不能也无法欺骗其它节点。单个甚至多个节点对数据库的修改无法影响其他节点的数据库,除非能控制整个网络中超过51%的节点同时修改,这几乎不可能发生。区块链中的每一区块都通过密码学方法与相邻两个区块串联,因此可以追溯到任何一个区块的前世今生。
可选地,所述第一应用的应用信息还包括:
所述第一应用的安装包的标识信息和所述第一应用的安装包的属性信息。
进一步地,所述第一应用的安装包的标识信息包括以下至少一种信息:
所述第一应用的名称、所述第一应用的安装包的包名、所述第一应用的安装包的版本。
进一步地,所述第一应用的安装包的属性信息包括以下至少一种信息:
所述第一应用的安装包的大小、所述第一应用的安装包的开发时间、所述第一应用的安装包的哈希值。
接着在步骤22,应用开发者利用所述第一节点的私钥对所述第一应用的应用信息进行签名计算得到第一签名信息。可以理解的是,第一节点的私钥与第一节点的公钥为一对密钥。
本说明实施例中,可以采用常用的数字签名技术,数字签名涉及到一个哈希函数、应用开发者的公钥、应用开发者的私钥。数字签名有两个作用,一是能确定消息确实是由发送方签名并发出来的。二是数字签名能确定消息的完整性。
在一个示例中,应用开发者用一个哈希函数从应用信息中生成摘要,然后用自己的私钥对摘要进行加密,加密后的摘要将作为应用信息的数字签名。
然后在步骤23,应用开发者在所述可信网络中广播所述第一应用的应用信息和所述第一签名信息,以使所述可信网络中的第二节点根据所述第一节点的公钥对所述第一签名信息进行验证,并在验证成功后存储所述第一应用的应用信息。可以理解的是,该步骤23用于可信开发者验证。上述第二节点可以为所述可信网络中除第一节点之外的任一节点。
在一个示例中,第二节点首先用与第一节点一样的哈希函数从接收到的应用信息中计算出摘要,接着再用第一节点的公钥来对应用信息附加的数字签名进行解密,如果这两个摘要相同、那么第二节点就能确认该数字签名是第一节点的。
再然后在步骤24,应用开发者利用所述第一节点的私钥对所述第一应用的安装包进行签名计算得到第二签名信息。
其中,可以采用常用的数字签名技术,在此不做赘述。
最后在步骤25,应用开发者通过第二网络发布所述第一应用的安装包和所述第二签名信息,以使应用获取者根据从所述可信网络获取的所述第一节点的公钥对所述第二签名信息进行验证,并至少根据签名验证结果确定所述安装包是否为可信安装包。
可选地,当第一应用的应用信息还包括所述第一应用的安装包的属性信息时,可以在签名验证结果为验证通过时,进一步根据属性信息确定所述安装包是否为可信安装包。
在一个示例中,应用开发者在完成应用开发之后,使用私钥对应用安装包完成签名,将应用安装包和签名通过互联网进行发布;并且,提取应用安装包的标识信息和应用安装包的属性信息组成一个区块,将该区块广播到区块链网络中,并最终获得共识挂载在区块链网络中。如果攻击者企图伪造某个应用开发者向区块链网络中广播恶意区块数据,会因为公钥不同而被识别。
通过本说明书实施例提供的方法,应用开发者在进行应用发布时,不仅发布了该应用的应用安装包,而且在可信网络中发布了该应用的应用信息,由于可信网络是去中心化的,因此能够保证应用信息的真实性,相应地保证与该应用信息相匹配的应用安装包的真实性,并且由于应用开发者本身已加入该可信网络,因此能够实现与该应用信息相匹配的应用安装包的可追溯性。
图3示出根据一个实施例的应用安装包的验证方法流程图,所述方法由应用获取者执行,该应用获取者可以访问第一网络和第二网络。如图3所示,该实施例中应用安装包的验证方法包括以下步骤:步骤31,应用获取者从第一网络中获取第一应用的应用信息,所述第一应用的应用信息包括第一节点的公钥;其中,所述第一节点为已加入所述第一网络的应用开发者,所述第一节点具有密钥对,所述密钥对包括所述第一节点的公钥和所述第一节点的私钥,所述第一网络为去中心化的可信网络,所述可信网络包括多个节点,所述多个节点保存了所述第一应用的应用信息;步骤32,应用获取者通过第二网络获取所述第一应用的安装包,以及签名信息,所述签名信息是利用所述第一节点的私钥对所述第一应用的安装包进行签名计算得到的;步骤33,应用获取者利用所述第一节点的公钥对所述签名信息进行验证,得到签名验证结果;步骤34,应用获取者至少根据所述签名验证结果,确定所述安装包是否为可信安装包。下面描述以上各个步骤的具体执行方式。
首先在步骤31,应用获取者从第一网络中获取第一应用的应用信息,所述第一应用的应用信息包括第一节点的公钥;其中,所述第一节点为已加入所述第一网络的应用开发者,所述第一节点具有密钥对,所述密钥对包括所述第一节点的公钥和所述第一节点的私钥,所述第一网络为去中心化的可信网络,所述可信网络包括多个节点,所述多个节点保存了所述第一应用的应用信息。
可以理解的是,第一节点具体为第一应用的应用开发者,也为第一应用的应用发布者。
在一个示例中,所述可信网络为区块链网络,所述第一应用的应用信息以区块的形式进行存储。
在一个示例中,所述第一应用的应用信息还包括:
所述第一应用的安装包的标识信息和所述第一应用的安装包的属性信息。
进一步地,所述第一应用的安装包的标识信息包括以下至少一种信息:
所述第一应用的名称、所述第一应用的安装包的包名、所述第一应用的安装包的版本。
进一步地,所述第一应用的安装包的属性信息包括以下至少一种信息:
所述第一应用的安装包的大小、所述第一应用的安装包的开发时间、所述第一应用的安装包的哈希值。
接着在步骤32,应用获取者通过第二网络获取所述第一应用的安装包,以及签名信息,所述签名信息是利用所述第一节点的私钥对所述第一应用的安装包进行签名计算得到的。
在一个示例中,第二网络为通常的互联网,应用获取者可以通过访问应用商店获取第一应用的安装包。
然后在步骤33,应用获取者利用所述第一节点的公钥对所述签名信息进行验证,得到签名验证结果。
其中,签名验证结果具体为签名验证通过或签名验证未通过。
可以理解的是,第一节点的私钥和第一节点的公钥为一对密钥。如果第一应用的应用开发者为应用开发者甲,应用开发者乙伪造了第一应用的安装包,由于应用开发者乙通常不会有应用开发者甲的私钥,因此只能对第一应用的安装包用自己的私钥(应用开发者乙的私钥)进行签名,而从可信网络中获取的应用开发者的公钥为应用开发者甲的公钥,应用开发者甲的公钥与应用开发者乙的私钥不匹配,则签名验证未通过。
最后在步骤34,应用获取者至少根据所述签名验证结果,确定所述安装包是否为可信安装包。
在一个示例中,应用获取者可以仅根据所述签名验证结果,确定所述安装包是否为可信安装包。例如,应用获取者在所述签名验证结果为签名验证通过时,确定所述安装包为可信安装包;应用获取者在所述签名验证结果为签名验证未通过时,确定所述安装包不为可信安装包。
在另一个示例中,在所述签名验证通过的情况下,所述应用获取者通过解析所述第一应用的安装包,获得所述第一应用的安装包的属性信息;将解析得到的所述第一应用的安装包的属性信息与从所述可信网络中获取的所述应用信息中的属性信息进行比对,得到比对结果;所述应用获取者根据所述比对结果,确定所述安装包是否为可信安装包。例如,当所述比对结果为一致时,确定所述安装包为可信安装包;当所述比对结果为不一致时,确定所述安装包不为可信安装包。
此外,在一个示例中,所述第一应用的应用信息还包括:所述第一应用的安装包的版本;所述应用获取者首先确定已安装所述第一应用,且所述第一应用的版本发生了更新;或者,所述应用获取者确定未安装所述第一应用,然后再通过第二网络获取所述第一应用的安装包,以及签名信息。
在一个示例中,用户的手机操作系统或者手机集成特定的软件,实现对移动APP分发区块链网络(即前述第一网络)的访问,首先索引用户手机中安装的APP的版本,如果APP的版本有更新,则从移动APP分发区块链网络中拉取最新版本的该APP的应用信息,该应用信息中包括应用开发者的公钥,并通过互联网(即前述第二网络)获取该APP的应用安装包,以及利用应用开发者的私钥得到的签名信息,通过从移动APP分发区块链网络获取的应用开发者的公钥对所述签名信息进行验证,并在签名验证结果通过后,进一步解析该APP的应用安装包获取该APP的应用信息,将解析得到的该APP的应用信息与从移动APP分发区块链网络获取的该APP的应用信息进行比对,防止手机安装了虚假山寨APP。
通过本说明书实施例提供的方法,应用获取者在进行应用获取时,不仅获取了该应用的应用安装包,而且在可信网络中获取了该应用的应用信息,由于可信网络是去中心化的,因此能够保证应用信息的真实性,应用获取者通过判断应用信息与应用安装包是否匹配来验证应用安装包的真实性,并且由于应用开发者本身已加入该可信网络,因此能够实现与该应用信息相匹配的应用安装包的可追溯性。
基于前述实施例,应用开发者通过在去中心化的可信网络(例如区块链网络)中分发APP的应用信息,防止了单点APP分发渠道被攻击后导致的恶性后果。一款APP的各个版本的应用信息都在去中心化的可信网络中留存,应用获取者可以通过本地APP的应用信息与可信网络中的应用信息进行对比,防止安装恶意或山寨APP。每个应用开发者在可信网络中发布的APP都可追溯且无法抵赖,对恶意APP的作者可以快速追溯定位。
根据另一方面的实施例,还提供一种应用安装包的发布装置,所述装置设置于已加入第一网络作为网络中第一节点的应用开发者中,所述第一节点具有密钥对,所述密钥对包括所述第一节点的公钥和所述第一节点的私钥,所述第一网络为去中心化的可信网络,所述可信网络包括多个节点,所述多个节点保存了所述第一节点的公钥。图4示出根据一个实施例的应用安装包的发布装置的示意性框图。如图4所示,该装置400包括:
获取单元41,用于获取第一应用的应用信息,所述第一应用的应用信息包括所述第一节点的公钥;
签名单元42,用于利用所述第一节点的私钥对所述获取单元41获取的第一应用的应用信息进行签名计算得到第一签名信息;
广播单元43,用于在所述可信网络中广播所述获取单元41获取的第一应用的应用信息和所述签名单元42得到的第一签名信息,以使所述可信网络中的第二节点根据所述第一节点的公钥对所述第一签名信息进行验证,并在验证成功后存储所述第一应用的应用信息;
所述签名单元42,还用于利用所述第一节点的私钥对所述第一应用的安装包进行签名计算得到第二签名信息;
发布单元44,用于通过第二网络发布所述第一应用的安装包和所述签名单元42得到的第二签名信息,以使应用获取者根据从所述可信网络获取的所述第一节点的公钥对所述第二签名信息进行验证,并至少根据签名验证结果确定所述安装包是否为可信安装包。
可选地,作为一个实施例,所述可信网络为区块链网络,所述第一应用的应用信息以区块的形式进行存储。
可选地,作为一个实施例,所述第一应用的应用信息还包括:
所述第一应用的安装包的标识信息和所述第一应用的安装包的属性信息。
进一步地,所述第一应用的安装包的标识信息包括以下至少一种信息:
所述第一应用的名称、所述第一应用的安装包的包名、所述第一应用的安装包的版本。
进一步地,所述第一应用的安装包的属性信息包括以下至少一种信息:
所述第一应用的安装包的大小、所述第一应用的安装包的开发时间、所述第一应用的安装包的哈希值。
通过本说明书实施例提供的装置,应用开发者在进行应用发布时,不仅通过发布单元44发布了该应用的应用安装包,而且通过广播单元43在可信网络中发布了该应用的应用信息,由于可信网络是去中心化的,因此能够保证应用信息的真实性,相应地保证与该应用信息相匹配的应用安装包的真实性,并且由于应用开发者本身已加入该可信网络,因此能够实现与该应用信息相匹配的应用安装包的可追溯性。
根据另一方面的实施例,还提供一种应用安装包的验证装置。如图5所示,该装置500包括:
获取单元51,用于从第一网络中获取第一应用的应用信息,所述第一应用的应用信息包括第一节点的公钥;其中,所述第一节点为已加入所述第一网络的应用开发者,所述第一节点具有密钥对,所述密钥对包括所述第一节点的公钥和所述第一节点的私钥,所述第一网络为去中心化的可信网络,所述可信网络包括多个节点,所述多个节点保存了所述第一应用的应用信息;
所述获取单元51,还用于通过第二网络获取所述第一应用的安装包,以及签名信息,所述签名信息是利用所述第一节点的私钥对所述第一应用的安装包进行签名计算得到的;
验证单元52,用于利用所述获取单元51获取的第一节点的公钥对所述签名信息进行验证,得到签名验证结果;
确定单元53,用于至少根据所述验证单元52得到的签名验证结果,确定所述获取单元51获取的安装包是否为可信安装包。
可选地,作为一个实施例,所述可信网络为区块链网络,所述第一应用的应用信息以区块的形式进行存储。
可选地,作为一个实施例,所述第一应用的应用信息还包括:
所述第一应用的安装包的标识信息和所述第一应用的安装包的属性信息。
进一步地,所述第一应用的安装包的标识信息包括以下至少一种信息:
所述第一应用的名称、所述第一应用的安装包的包名、所述第一应用的安装包的版本。
进一步地,所述第一应用的安装包的属性信息包括以下至少一种信息:
所述第一应用的安装包的大小、所述第一应用的安装包的开发时间、所述第一应用的安装包的哈希值。
进一步地,所述确定单元53,具体用于:
在所述验证单元52得到的签名验证结果为签名验证通过的情况下,通过解析所述第一应用的安装包,获得所述第一应用的安装包的属性信息;
将解析得到的所述第一应用的安装包的属性信息与从所述可信网络中获取的所述应用信息中的属性信息进行比对,得到比对结果;
根据所述比对结果,确定所述安装包是否为可信安装包。
可选地,作为一个实施例,所述第一应用的应用信息还包括:
所述第一应用的安装包的版本;
所述确定单元53,还用于在所述获取单元51通过第二网络获取所述第一应用的安装包,以及签名信息之前,确定已安装所述第一应用,且所述第一应用的版本发生了更新;或者,确定未安装所述第一应用。
通过本说明书实施例提供的装置,获取单元51在进行应用获取时,不仅获取了该应用的应用安装包,而且在可信网络中获取了该应用的应用信息,由于可信网络是去中心化的,因此能够保证应用信息的真实性,验证单元52和确定单元53通过判断应用信息与应用安装包是否匹配来验证应用安装包的真实性,并且由于应用开发者本身已加入该可信网络,因此能够实现与该应用信息相匹配的应用安装包的可追溯性。
根据另一方面的实施例,还提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行结合图2或图3所描述的方法。
根据再一方面的实施例,还提供一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现结合图2或图3所描述的方法。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。

Claims (26)

1.一种应用安装包的发布方法,所述方法由已加入第一网络作为网络中第一节点的应用开发者执行,所述第一节点具有密钥对,所述密钥对包括所述第一节点的公钥和所述第一节点的私钥,所述第一网络为去中心化的可信网络,所述可信网络包括多个节点,所述多个节点保存了所述第一节点的公钥;所述方法包括:
所述应用开发者获取第一应用的应用信息,所述第一应用的应用信息包括所述第一节点的公钥;
所述应用开发者利用所述第一节点的私钥对所述第一应用的应用信息进行签名计算得到第一签名信息;
所述应用开发者在所述可信网络中广播所述第一应用的应用信息和所述第一签名信息,以使所述可信网络中的第二节点根据所述第一节点的公钥对所述第一签名信息进行验证,并在验证成功后存储所述第一应用的应用信息;
所述应用开发者利用所述第一节点的私钥对所述第一应用的安装包进行签名计算得到第二签名信息;
所述应用开发者通过第二网络发布所述第一应用的安装包和所述第二签名信息,以使应用获取者根据从所述可信网络获取的所述第一节点的公钥对所述第二签名信息进行验证,并至少根据签名验证结果确定所述安装包是否为可信安装包。
2.如权利要求1所述的方法,其中,所述可信网络为区块链网络,所述第一应用的应用信息以区块的形式进行存储。
3.如权利要求1所述的方法,其中,所述第一应用的应用信息还包括:
所述第一应用的安装包的标识信息和所述第一应用的安装包的属性信息。
4.如权利要求3所述的方法,其中,所述第一应用的安装包的标识信息包括以下至少一种信息:
所述第一应用的名称、所述第一应用的安装包的包名、所述第一应用的安装包的版本。
5.如权利要求3所述的方法,其中,所述第一应用的安装包的属性信息包括以下至少一种信息:
所述第一应用的安装包的大小、所述第一应用的安装包的开发时间、所述第一应用的安装包的哈希值。
6.一种应用安装包的验证方法,所述方法包括:
应用获取者从第一网络中获取第一应用的应用信息,所述第一应用的应用信息包括第一节点的公钥;其中,所述第一节点为已加入所述第一网络的应用开发者,所述第一节点具有密钥对,所述密钥对包括所述第一节点的公钥和所述第一节点的私钥,所述第一网络为去中心化的可信网络,所述可信网络包括多个节点,所述多个节点保存了所述第一应用的应用信息;
所述应用获取者通过第二网络获取所述第一应用的安装包,以及签名信息,所述签名信息是利用所述第一节点的私钥对所述第一应用的安装包进行签名计算得到的;
所述应用获取者利用所述第一节点的公钥对所述签名信息进行验证,得到签名验证结果;
所述应用获取者至少根据所述签名验证结果,确定所述安装包是否为可信安装包。
7.如权利要求6所述的方法,其中,所述可信网络为区块链网络,所述第一应用的应用信息以区块的形式进行存储。
8.如权利要求6所述的方法,其中,所述第一应用的应用信息还包括:
所述第一应用的安装包的标识信息和所述第一应用的安装包的属性信息。
9.如权利要求8所述的方法,其中,所述第一应用的安装包的标识信息包括以下至少一种信息:
所述第一应用的名称、所述第一应用的安装包的包名、所述第一应用的安装包的版本。
10.如权利要求8所述的方法,其中,所述第一应用的安装包的属性信息包括以下至少一种信息:
所述第一应用的安装包的大小、所述第一应用的安装包的开发时间、所述第一应用的安装包的哈希值。
11.如权利要求8所述的方法,其中,所述应用获取者至少根据所述签名验证结果,确定所述安装包是否为可信安装包,包括:
在所述签名验证通过的情况下,所述应用获取者通过解析所述第一应用的安装包,获得所述第一应用的安装包的属性信息;
将解析得到的所述第一应用的安装包的属性信息与从所述可信网络中获取的所述应用信息中的属性信息进行比对,得到比对结果;
所述应用获取者根据所述比对结果,确定所述安装包是否为可信安装包。
12.如权利要求6至11中任一项所述的方法,其中,所述第一应用的应用信息还包括:
所述第一应用的安装包的版本;
所述应用获取者通过第二网络获取所述第一应用的安装包,以及签名信息之前,所述方法还包括:
所述应用获取者确定已安装所述第一应用,且所述第一应用的版本发生了更新;或者,
所述应用获取者确定未安装所述第一应用。
13.一种应用安装包的发布装置,所述装置设置于已加入第一网络作为网络中第一节点的应用开发者中,所述第一节点具有密钥对,所述密钥对包括所述第一节点的公钥和所述第一节点的私钥,所述第一网络为去中心化的可信网络,所述可信网络包括多个节点,所述多个节点保存了所述第一节点的公钥;所述装置包括:
获取单元,用于获取第一应用的应用信息,所述第一应用的应用信息包括所述第一节点的公钥;
签名单元,用于利用所述第一节点的私钥对所述获取单元获取的第一应用的应用信息进行签名计算得到第一签名信息;
广播单元,用于在所述可信网络中广播所述获取单元获取的第一应用的应用信息和所述签名单元得到的第一签名信息,以使所述可信网络中的第二节点根据所述第一节点的公钥对所述第一签名信息进行验证,并在验证成功后存储所述第一应用的应用信息;
所述签名单元,还用于利用所述第一节点的私钥对所述第一应用的安装包进行签名计算得到第二签名信息;
发布单元,用于通过第二网络发布所述第一应用的安装包和所述签名单元得到的第二签名信息,以使应用获取者根据从所述可信网络获取的所述第一节点的公钥对所述第二签名信息进行验证,并至少根据签名验证结果确定所述安装包是否为可信安装包。
14.如权利要求13所述的装置,其中,所述可信网络为区块链网络,所述第一应用的应用信息以区块的形式进行存储。
15.如权利要求13所述的装置,其中,所述第一应用的应用信息还包括:
所述第一应用的安装包的标识信息和所述第一应用的安装包的属性信息。
16.如权利要求15所述的装置,其中,所述第一应用的安装包的标识信息包括以下至少一种信息:
所述第一应用的名称、所述第一应用的安装包的包名、所述第一应用的安装包的版本。
17.如权利要求15所述的装置,其中,所述第一应用的安装包的属性信息包括以下至少一种信息:
所述第一应用的安装包的大小、所述第一应用的安装包的开发时间、所述第一应用的安装包的哈希值。
18.一种应用安装包的验证装置,所述装置包括:
获取单元,用于从第一网络中获取第一应用的应用信息,所述第一应用的应用信息包括第一节点的公钥;其中,所述第一节点为已加入所述第一网络的应用开发者,所述第一节点具有密钥对,所述密钥对包括所述第一节点的公钥和所述第一节点的私钥,所述第一网络为去中心化的可信网络,所述可信网络包括多个节点,所述多个节点保存了所述第一应用的应用信息;
所述获取单元,还用于通过第二网络获取所述第一应用的安装包,以及签名信息,所述签名信息是利用所述第一节点的私钥对所述第一应用的安装包进行签名计算得到的;
验证单元,用于利用所述获取单元获取的第一节点的公钥对所述签名信息进行验证,得到签名验证结果;
确定单元,用于至少根据所述验证单元得到的签名验证结果,确定所述获取单元获取的安装包是否为可信安装包。
19.如权利要求18所述的装置,其中,所述可信网络为区块链网络,所述第一应用的应用信息以区块的形式进行存储。
20.如权利要求18所述的装置,其中,所述第一应用的应用信息还包括:
所述第一应用的安装包的标识信息和所述第一应用的安装包的属性信息。
21.如权利要求20所述的装置,其中,所述第一应用的安装包的标识信息包括以下至少一种信息:
所述第一应用的名称、所述第一应用的安装包的包名、所述第一应用的安装包的版本。
22.如权利要求20所述的装置,其中,所述第一应用的安装包的属性信息包括以下至少一种信息:
所述第一应用的安装包的大小、所述第一应用的安装包的开发时间、所述第一应用的安装包的哈希值。
23.如权利要求20所述的装置,其中,所述确定单元,具体用于:
在所述验证单元得到的签名验证结果为签名验证通过的情况下,通过解析所述第一应用的安装包,获得所述第一应用的安装包的属性信息;
将解析得到的所述第一应用的安装包的属性信息与从所述可信网络中获取的所述应用信息中的属性信息进行比对,得到比对结果;
根据所述比对结果,确定所述安装包是否为可信安装包。
24.如权利要求18至23中任一项所述的装置,其中,所述第一应用的应用信息还包括:
所述第一应用的安装包的版本;
所述确定单元,还用于在所述获取单元通过第二网络获取所述第一应用的安装包,以及签名信息之前,确定已安装所述第一应用,且所述第一应用的版本发生了更新;或者,确定未安装所述第一应用。
25.一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行权利要求1-12中任一项的所述的方法。
26.一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-12中任一项的所述的方法。
CN201811278483.6A 2018-10-30 2018-10-30 应用安装包的发布方法、验证方法和装置 Active CN109634615B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811278483.6A CN109634615B (zh) 2018-10-30 2018-10-30 应用安装包的发布方法、验证方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811278483.6A CN109634615B (zh) 2018-10-30 2018-10-30 应用安装包的发布方法、验证方法和装置

Publications (2)

Publication Number Publication Date
CN109634615A true CN109634615A (zh) 2019-04-16
CN109634615B CN109634615B (zh) 2022-04-08

Family

ID=66066918

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811278483.6A Active CN109634615B (zh) 2018-10-30 2018-10-30 应用安装包的发布方法、验证方法和装置

Country Status (1)

Country Link
CN (1) CN109634615B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110262892A (zh) * 2019-05-13 2019-09-20 特斯联(北京)科技有限公司 一种基于分布式存储数据链的票务发布方法、装置及数据链节点
CN110502271A (zh) * 2019-07-22 2019-11-26 平安科技(深圳)有限公司 基于区块链的应用程序发版方法和系统
CN110602241A (zh) * 2019-09-20 2019-12-20 腾讯科技(深圳)有限公司 服务安装方法、装置、服务器及存储介质
CN111641694A (zh) * 2020-05-19 2020-09-08 全链通有限公司 基于区块链的应用程序发布方法、设备及存储介质
CN111859313A (zh) * 2019-04-29 2020-10-30 华为技术有限公司 验证方法及装置
CN112597485A (zh) * 2021-03-01 2021-04-02 腾讯科技(深圳)有限公司 基于区块链的信息校验方法、装置和设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170193476A1 (en) * 2010-10-15 2017-07-06 Oracle America, Inc. Java store television
CN107077557A (zh) * 2016-12-29 2017-08-18 深圳前海达闼云端智能科技有限公司 软件应用程序发布和验证的方法及装置
CN107241688A (zh) * 2017-06-14 2017-10-10 北京小米移动软件有限公司 应用安装包的签名、验证方法、装置及存储介质
CN107463806A (zh) * 2017-06-20 2017-12-12 国家计算机网络与信息安全管理中心 一种Android应用程序安装包的签名和验签方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170193476A1 (en) * 2010-10-15 2017-07-06 Oracle America, Inc. Java store television
CN107077557A (zh) * 2016-12-29 2017-08-18 深圳前海达闼云端智能科技有限公司 软件应用程序发布和验证的方法及装置
CN107241688A (zh) * 2017-06-14 2017-10-10 北京小米移动软件有限公司 应用安装包的签名、验证方法、装置及存储介质
CN107463806A (zh) * 2017-06-20 2017-12-12 国家计算机网络与信息安全管理中心 一种Android应用程序安装包的签名和验签方法

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111859313A (zh) * 2019-04-29 2020-10-30 华为技术有限公司 验证方法及装置
CN110262892A (zh) * 2019-05-13 2019-09-20 特斯联(北京)科技有限公司 一种基于分布式存储数据链的票务发布方法、装置及数据链节点
CN110262892B (zh) * 2019-05-13 2020-02-14 特斯联(北京)科技有限公司 一种基于分布式存储数据链的票务发布方法、装置及数据链节点
CN110502271A (zh) * 2019-07-22 2019-11-26 平安科技(深圳)有限公司 基于区块链的应用程序发版方法和系统
CN110602241A (zh) * 2019-09-20 2019-12-20 腾讯科技(深圳)有限公司 服务安装方法、装置、服务器及存储介质
CN110602241B (zh) * 2019-09-20 2021-03-26 腾讯科技(深圳)有限公司 服务安装方法、装置、服务器及存储介质
CN111641694A (zh) * 2020-05-19 2020-09-08 全链通有限公司 基于区块链的应用程序发布方法、设备及存储介质
CN112597485A (zh) * 2021-03-01 2021-04-02 腾讯科技(深圳)有限公司 基于区块链的信息校验方法、装置和设备及存储介质
CN112597485B (zh) * 2021-03-01 2021-06-08 腾讯科技(深圳)有限公司 基于区块链的信息校验方法、装置和设备及存储介质

Also Published As

Publication number Publication date
CN109634615B (zh) 2022-04-08

Similar Documents

Publication Publication Date Title
CN109634615B (zh) 应用安装包的发布方法、验证方法和装置
WO2020233373A1 (zh) 一种应用程序的配置文件管理方法及装置
CN108270874B (zh) 应用程序的更新方法及装置
KR101740256B1 (ko) 모바일 앱 무결성 보증 장치 및 방법
US20080195868A1 (en) Rollback-Resistant Code-Signing
CN113190834B (zh) 一种文件签名方法、计算设备及存储介质
KR100823738B1 (ko) 컴퓨팅 플랫폼의 설정 정보를 은닉하면서 무결성 보증을제공하는 방법
CN108334753B (zh) 盗版应用验证方法和分布式服务器节点
EP4216077A1 (en) Blockchain network-based method and apparatus for data processing, and computer device
CN108805571B (zh) 数据保护方法、平台、区块链节点、系统和存储介质
EP3811259A1 (en) Method for signing a new block in a decentralized blockchain consensus network
CN111224788A (zh) 一种基于区块链的电子合同管理方法、装置及系统
CN108923925B (zh) 应用于区块链的数据存储方法和装置
EP3598333B1 (en) Electronic device update management
CN112134883B (zh) 基于可信计算进行节点间信任关系快速认证的方法、装置及相关产品
US20100223469A1 (en) Method, System and Computer Program Product for Certifying Software Origination
US20220294637A1 (en) System and Method of Establishing a Trusted Relationship in a Distributed System
CN110826091B (zh) 一种文件签名方法、装置、电子设备及可读存储介质
CN111414640A (zh) 秘钥访问控制方法和装置
CN105873044B (zh) 基于安卓平台的应用程序发布方法、开发者追溯方法和装置
US20220321356A1 (en) Protecting the integrity of communications from client devices
Ma et al. Finding flaws from password authentication code in android apps
EP2793160A1 (en) Method and device for verification of an application
CN111062030A (zh) 一种应用程序被篡改的识别方法及装置
CN110602051A (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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20200925

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Innovative advanced technology Co.,Ltd.

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant before: Advanced innovation technology Co.,Ltd.

Effective date of registration: 20200925

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Advanced innovation technology Co.,Ltd.

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Applicant before: Alibaba Group Holding Ltd.

GR01 Patent grant
GR01 Patent grant