CN116305295B - 用于下发小程序的方法及平台 - Google Patents
用于下发小程序的方法及平台 Download PDFInfo
- Publication number
- CN116305295B CN116305295B CN202310560661.9A CN202310560661A CN116305295B CN 116305295 B CN116305295 B CN 116305295B CN 202310560661 A CN202310560661 A CN 202310560661A CN 116305295 B CN116305295 B CN 116305295B
- Authority
- CN
- China
- Prior art keywords
- sdk
- application
- developer
- target
- fingerprint
- 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
- 238000000034 method Methods 0.000 title claims abstract description 34
- 230000004044 response Effects 0.000 claims abstract description 34
- 238000012550 audit Methods 0.000 claims description 38
- 238000001514 detection method Methods 0.000 claims description 15
- 238000012795 verification Methods 0.000 claims description 12
- 230000007246 mechanism Effects 0.000 claims description 11
- 238000004590 computer program Methods 0.000 description 17
- 238000010586 diagram Methods 0.000 description 7
- 230000009471 action Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000012797 qualification Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000012552 review Methods 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000001172 regenerating effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 208000011580 syndromic disease Diseases 0.000 description 1
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/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Storage Device Security (AREA)
Abstract
本公开的实施例提供一种用于下发小程序的方法和平台。该方法包括:从至少一个SDK开发商获得经审核的至少一个SDK;针对该至少一个SDK中的每个SDK生成与其相关联的SDK指纹,不同的SDK对应不同的SDK指纹;从应用开发商获得经审核的应用基本信息并将经审核的应用基本信息转发给第三方应用平台;从第三方应用平台获得与应用基本信息相关联的SDK密钥;确定应用开发商从该至少一个SDK中选择的SDK与SDK密钥是否匹配;响应于所选择的SDK与SDK密钥匹配,将所选择的SDK、与所选择的SDK相关联的SDK指纹以及SDK密钥组合成目标SDK包;向应用开发商提供目标SDK包,以便应用开发商使用目标SDK包来生成目标应用;以及使得目标小程序与目标应用相关联,以便目标应用访问目标小程序。
Description
技术领域
本公开的实施例涉及计算机技术领域,具体地,涉及用于下发小程序的方法及平台。
背景技术
小程序是可以从服务器下发到第三方应用平台的宿主客户端的应用程序。通过宿主客户端提供运行环境来运行小程序。小程序无需用户下载安装,直接通过宿主客户端就能够打开小程序的页面,实现小程序的业务功能。近年来小程序发展迅猛,给用户带来便捷的体验。由于小程序是通过第三方应用平台运行,对安全性要求较高的小程序(例如,金融、证券等领域的小程序)需要防止第三方应用平台收集小程序承载的敏感信息,以保护小程序的用户的利益。
发明内容
本文中描述的实施例提供了一种用于下发小程序的方法、用于下发小程序的平台、用于下发小程序的装置以及存储有计算机程序的计算机可读存储介质。
根据本公开的第一方面,提供了一种用于下发小程序的方法。该方法包括:从至少一个软件开发工具包(SDK)开发商获得经审核的至少一个SDK;针对该至少一个SDK中的每个SDK生成与其相关联的SDK指纹,其中,不同的SDK对应不同的SDK指纹;从应用开发商获得经审核的应用基本信息并将经审核的应用基本信息转发给第三方应用平台;从第三方应用平台获得与应用基本信息相关联的SDK密钥;确定应用开发商从该至少一个SDK中选择的SDK与SDK密钥是否匹配;响应于所选择的SDK与SDK密钥匹配,将所选择的SDK、与所选择的SDK相关联的SDK指纹以及SDK密钥组合成目标SDK包;向应用开发商提供目标SDK包,以便应用开发商使用目标SDK包来生成目标应用;以及使得目标小程序与目标应用相关联,以便目标应用访问目标小程序。
在本公开的一些实施例中,该方法还包括:在每次目标应用访问目标小程序时验证目标应用中的SDK的版本号和SDK指纹的有效性以及版本号与SDK指纹的关联性;响应于验证通过,允许目标应用访问目标小程序;以及响应于验证不通过,禁止目标应用访问目标小程序。
在本公开的一些实施例中,针对至少一个SDK中的每个SDK生成与其相关联的SDK指纹包括:响应于从第一SDK开发商获得第一SDK,根据第一SDK的标识信息和版本号以及第一SDK开发商的身份信息来生成与第一SDK相关联的SDK指纹。
在本公开的一些实施例中,针对至少一个SDK中的每个SDK生成与其相关联的SDK指纹包括:响应于从第一SDK开发商获得第一SDK,根据第一SDK的标识信息、版本号和指定代码段以及第一SDK开发商的身份信息来生成与第一SDK相关联的SDK指纹。
在本公开的一些实施例中,针对至少一个SDK中的每个SDK生成与其相关联的SDK指纹还包括:响应于从第一SDK开发商获得第一SDK的更新版本,根据第一SDK的标识信息和更新后的版本号以及第一SDK开发商的身份信息来生成与第一SDK的更新版本相关联的SDK指纹。
在本公开的一些实施例中,针对至少一个SDK中的每个SDK生成与其相关联的SDK指纹还包括:响应于从第一SDK开发商获得第一SDK的更新版本,根据第一SDK的标识信息、更新后的版本号和指定代码段以及第一SDK开发商的身份信息来生成与第一SDK的更新版本相关联的SDK指纹。
在本公开的一些实施例中,SDK指纹被生成为无法从SDK指纹中提取SDK的标识信息和版本号以及SDK开发商的身份信息。
在本公开的一些实施例中,SDK指纹被生成为无法从SDK指纹中提取SDK的标识信息、版本号和指定代码段以及SDK开发商的身份信息。
在本公开的一些实施例中,该方法还包括:响应于从第一SDK开发商获得第一SDK开发商的身份信息,将第一SDK开发商的身份信息提交运营端进行备案信息审核;响应于从运营端接收到对第一SDK开发商审核通过的指示,允许从第一SDK开发商获得第一SDK。
在本公开的一些实施例中,该方法还包括:响应于从第一SDK开发商获得第一SDK,将第一SDK提交第三方检测机构进行安全性审核;以及响应于从第三方检测机构接收到安全性审核通过的指示,将第一SDK确定为经审核的SDK,以及将与第一SDK相关联的SDK指纹加入SDK指纹白名单,其中,SDK指纹白名单记录有效的SDK指纹。
在本公开的一些实施例中,该方法还包括:响应于从第一SDK开发商获得删除或禁用第一SDK的第一版本号的指示,从SDK指纹白名单中删除与第一SDK的第一版本号相关联的SDK指纹。
在本公开的一些实施例中,目标应用在第三方应用平台上运行。该至少一个SDK被配置为禁止第三方应用平台收集小程序的指定信息。
根据本公开的第二方面,提供了一种用于下发小程序的平台。该平台包括:企业端、运营端、以及服务器。其中,企业端被配置为:从至少一个SDK开发商接收至少一个SDK,从应用开发商接收应用基本信息,从第三方应用平台获得与应用基本信息相关联的SDK密钥,以及向应用开发商提供目标SDK包,以便应用开发商使用目标SDK包来生成目标应用。运营端被配置为:接收至少一个SDK的审核结果,以及接收应用基本信息的审核结果。服务器被配置为:针对至少一个SDK中的每个SDK生成与其相关联的SDK指纹,其中,不同的SDK对应不同的SDK指纹;将经审核的应用基本信息转发给第三方应用平台;确定应用开发商从至少一个SDK中选择的SDK与SDK密钥是否匹配;响应于所选择的SDK与SDK密钥匹配,将所选择的SDK、与所选择的SDK相关联的SDK指纹以及SDK密钥组合成目标SDK包;以及使得目标小程序与目标应用相关联,以便目标应用访问目标小程序。
根据本公开的第三方面,提供了一种用于下发小程序的装置。该装置包括至少一个处理器;以及存储有计算机程序的至少一个存储器。当计算机程序由至少一个处理器执行时,使得装置:从至少一个SDK开发商获得经审核的至少一个SDK;针对该至少一个SDK中的每个SDK生成与其相关联的SDK指纹,其中,不同的SDK对应不同的SDK指纹;从应用开发商获得经审核的应用基本信息并将经审核的应用基本信息转发给第三方应用平台;从第三方应用平台获得与应用基本信息相关联的SDK密钥;确定应用开发商从该至少一个SDK中选择的SDK与SDK密钥是否匹配;响应于所选择的SDK与SDK密钥匹配,将所选择的SDK、与所选择的SDK相关联的SDK指纹以及SDK密钥组合成目标SDK包;向应用开发商提供目标SDK包,以便应用开发商使用目标SDK包来生成目标应用;以及使得目标小程序与目标应用相关联,以便目标应用访问目标小程序。
在本公开的一些实施例中,计算机程序在由至少一个处理器执行时使得装置还:在每次目标应用访问目标小程序时验证目标应用中的SDK的版本号和SDK指纹的有效性以及版本号与SDK指纹的关联性;响应于验证通过,允许目标应用访问目标小程序;以及响应于验证不通过,禁止目标应用访问目标小程序。
在本公开的一些实施例中,计算机程序在由至少一个处理器执行时使得装置通过以下操作来针对至少一个SDK中的每个SDK生成与其相关联的SDK指纹:响应于从第一SDK开发商获得第一SDK,根据第一SDK的标识信息和版本号以及第一SDK开发商的身份信息来生成与第一SDK相关联的SDK指纹。
在本公开的一些实施例中,计算机程序在由至少一个处理器执行时使得装置通过以下操作来针对至少一个SDK中的每个SDK生成与其相关联的SDK指纹:响应于从第一SDK开发商获得第一SDK,根据第一SDK的标识信息、版本号和指定代码段以及第一SDK开发商的身份信息来生成与第一SDK相关联的SDK指纹。
在本公开的一些实施例中,计算机程序在由至少一个处理器执行时使得装置还通过以下操作来针对至少一个SDK中的每个SDK生成与其相关联的SDK指纹:响应于从第一SDK开发商获得第一SDK的更新版本,根据第一SDK的标识信息和更新后的版本号以及第一SDK开发商的身份信息来生成与第一SDK的更新版本相关联的SDK指纹。
在本公开的一些实施例中,计算机程序在由至少一个处理器执行时使得装置还通过以下操作来针对至少一个SDK中的每个SDK生成与其相关联的SDK指纹:响应于从第一SDK开发商获得第一SDK的更新版本,根据第一SDK的标识信息、更新后的版本号和指定代码段以及第一SDK开发商的身份信息来生成与第一SDK的更新版本相关联的SDK指纹。
在本公开的一些实施例中,计算机程序在由至少一个处理器执行时使得装置还:响应于从第一SDK开发商获得第一SDK开发商的身份信息,将第一SDK开发商的身份信息提交运营端进行备案信息审核;响应于从运营端接收到对第一SDK开发商审核通过的指示,允许从第一SDK开发商获得第一SDK。
在本公开的一些实施例中,计算机程序在由至少一个处理器执行时使得装置还:响应于从第一SDK开发商获得第一SDK,将第一SDK提交第三方检测机构进行安全性审核;以及响应于从第三方检测机构接收到安全性审核通过的指示,将第一SDK确定为经审核的SDK,以及将与第一SDK相关联的SDK指纹加入SDK指纹白名单,其中,SDK指纹白名单记录有效的SDK指纹。
在本公开的一些实施例中,计算机程序在由至少一个处理器执行时使得装置还:响应于从第一SDK开发商获得删除或禁用第一SDK的第一版本号的指示,从SDK指纹白名单中删除与第一SDK的第一版本号相关联的SDK指纹。
根据本公开的第四方面,提供了一种存储有计算机程序的计算机可读存储介质,其中,计算机程序在由处理器执行时实现根据本公开的第一方面所述的方法的步骤。
附图说明
为了更清楚地说明本公开的实施例的技术方案,下面将对实施例的附图进行简要说明,应当知道,以下描述的附图仅仅涉及本公开的一些实施例,而非对本公开的限制,其中:
图1是根据本公开的实施例的用于下发小程序的方法的示意性流程图;
图2是根据本公开的实施例的用于下发小程序的平台与其它实体之间通信的过程的示意性组合流程图和信令方案;以及
图3是根据本公开的实施例的用于下发小程序的装置的示意性框图。
在附图中,最后两位数字相同的标记对应于相同的元素。需要注意的是,附图中的元素是示意性的,没有按比例绘制。
具体实施方式
为了使本公开的实施例的目的、技术方案和优点更加清楚,下面将结合附图,对本公开的实施例的技术方案进行清楚、完整的描述。显然,所描述的实施例是本公开的一部分实施例,而不是全部的实施例。基于所描述的本公开的实施例,本领域技术人员在无需创造性劳动的前提下所获得的所有其它实施例,也都属于本公开保护的范围。
除非另外定义,否则在此使用的所有术语(包括技术和科学术语)具有与本公开主题所属领域的技术人员所通常理解的相同含义。进一步将理解的是,诸如在通常使用的词典中定义的那些的术语应解释为具有与说明书上下文和相关技术中它们的含义一致的含义,并且将不以理想化或过于正式的形式来解释,除非在此另外明确定义。另外,诸如“第一”和“第二”的术语仅用于将一个部件(或部件的一部分)与另一个部件(或部件的另一部分)区分开。
图1示出根据本公开的实施例的用于下发小程序的方法100的示意性流程图。用于下发小程序的方法100由用于下发小程序的平台来执行。
在图1的框S102处,用于下发小程序的平台从至少一个SDK开发商获得经审核的至少一个SDK。该至少一个SDK用于生成使得小程序能够在第三方应用平台上运行的应用。在本公开的一些实施例中,该至少一个SDK被配置为禁止第三方应用平台收集小程序的指定信息(包括敏感信息)。
用于下发小程序的平台中可设置有企业端,SDK开发商可经由企业端向用于下发小程序的平台提供SDK。在本公开的一些实施例中,对SDK的审核包括:对SDK开发商的资质审核以及对SDK的安全性的审核。用于下发小程序的平台中可设置有运营端,对SDK开发商进行资质审核的运营团队可通过运营端来审核SDK开发商的资质,并通过运营端来反馈审核结果。在上下文中,企业端是供外部企业与用于下发小程序的平台进行交互的端口。运营端是供平台的运营团队与用于下发小程序的平台进行交互的端口。
在本公开的一些实施例中,如果用于下发小程序的平台从第一SDK开发商获得第一SDK开发商的身份信息,则将第一SDK开发商的身份信息提交运营端进行备案信息审核。运营团队可根据备案信息来对第一SDK开发商进行资质审核。在上下文,第一SDK开发商可以指代任意一个SDK开发商。如果用于下发小程序的平台从运营端接收到对第一SDK开发商审核通过的指示,则允许从第一SDK开发商获得第一SDK。如果用于下发小程序的平台从运营端接收到对第一SDK开发商审核不通过的指示,则不允许从第一SDK开发商获得第一SDK。在上下文,第一SDK可以指代任意一个SDK。
在本公开的一些实施例中,在对第一SDK开发商审核通过之后,如果从第一SDK开发商获得第一SDK,则将第一SDK提交第三方检测机构进行安全性审核。第三方检测机构例如包括:信通院、中证技术等。安全性审核例如包括第一SDK是否能够禁止第三方应用平台收集小程序的指定信息(包括敏感信息)。如果从第三方检测机构接收到安全性审核通过的指示,则将第一SDK确定为经审核的SDK。如果从第三方检测机构接收到安全性审核不通过的指示,则经由企业端向第一SDK开发商提示第一SDK未通过安全性审核。第一SDK开发商可对第一SDK进行修改并再次提交给第三方检测机构进行安全性审核。
在框S104处,用于下发小程序的平台针对该至少一个SDK中的每个SDK生成与其相关联的SDK指纹。其中,不同的SDK对应不同的SDK指纹。换句话说,每个SDK的SDK指纹都是唯一的。
在本公开的一些实施例中,如果从第一SDK开发商获得第一SDK,可根据第一SDK的标识信息和版本号以及第一SDK开发商的身份信息来生成与第一SDK相关联的SDK指纹。如果从第一SDK开发商获得第一SDK的更新版本,则需要重新生成SDK指纹。具体地,可根据第一SDK的标识信息和更新后的版本号以及第一SDK开发商的身份信息来生成与第一SDK的更新版本相关联的SDK指纹。这样,不同版本的第一SDK对应不同的SDK指纹。
在本公开的进一步的实施例中,除了第一SDK的标识信息和版本号以及第一SDK开发商的身份信息,第一SDK指纹还可进一步根据SDK中的指定代码段来生成,以提高SDK指纹的复杂性。例如,可将SDK中的指定代码段(例如main函数的第n行)转换成十六进制数。然后根据所转换的十六进制数生成二进制校验码。该二进制校验码被设定成SDK指纹的一部分。
在本公开的一些实施例中,SDK指纹被生成为无法从SDK指纹中提取SDK的标识信息、版本号和指定代码段以及SDK开发商的身份信息。也就是说,生成SDK指纹的算法被设定成使得SDK指纹无法被反向破解。在一个示例中,假设第一SDK指纹被第二SDK开发商获得,第二SDK开发商也无法根据所获得的第一SDK指纹来破解与第一SDK指纹相关联的第一SDK的标识信息、版本号和指定代码段以及第一SDK开发商的身份信息,因此无法假冒与第一SDK指纹相关联的第一SDK。这样,第二SDK开发商生成的第二SDK无法与第一SDK指纹相关联,第二SDK开发商和第二SDK必须经过用于下发小程序的平台的审核才能够由用于下发小程序的平台来为其生成第二SDK指纹。
在本公开的一些实施例中,在第一SDK通过安全性审核之后可将与第一SDK相关联的SDK指纹加入SDK指纹白名单。其中,SDK指纹白名单记录有效的SDK指纹。在本公开的一些实施例中,SDK指纹白名单还可记录与有效的SDK指纹相对应的SDK版本号,以便对SDK指纹进行版本管理。如果从第一SDK开发商获得删除或禁用第一SDK的第一版本号的指示,则从SDK指纹白名单中删除与第一SDK的第一版本号相关联的SDK指纹。
在框S106处,用于下发小程序的平台从应用开发商获得经审核的应用基本信息并将经审核的应用基本信息转发给第三方应用平台。应用基本信息例如包括:应用名称等。在本公开的一些实施例中,可从应用开发商获得应用基本信息。应用基本信息先被提供给运营端进行备案信息审核,在审核通过之后再被转发给第三方应用平台。
第三方应用平台可根据应用基本信息来生成与应用基本信息相关联的SDK密钥。SDK密钥可用于指示该应用可使用哪些SDK。如果第三方应用平台不允许上架该应用基本信息对应的应用,则第三方应用平台不生成与该应用基本信息相关联的SDK密钥。如果第三方应用平台允许上架该应用基本信息对应的应用,则在框S108处,用于下发小程序的平台从第三方应用平台获得与应用基本信息相关联的SDK密钥。
在本公开的一些实施例中,用于下发小程序的平台可经由企业端向应用开发商提供SDK列表,该SDK列表包括经审核的至少一个SDK。应用开发商可从该至少一个SDK中选择一个SDK来生成应用。在框S110处,用于下发小程序的平台确定应用开发商从该至少一个SDK中选择的SDK与SDK密钥是否匹配。如果所选择的SDK与SDK密钥不匹配(在框S110处为“否”),则向应用开发商提示所选择的SDK与SDK密钥不匹配。应用开发商可重新选择一个SDK。如果所选择的SDK与SDK密钥匹配(在框S110处为“是”),则在框S114处将所选择的SDK、与所选择的SDK相关联的SDK指纹以及SDK密钥组合成目标SDK包。
在框S116处,用于下发小程序的平台向应用开发商提供目标SDK包,以便应用开发商使用目标SDK包来生成目标应用。由于目标SDK包中的SDK被配置为禁止第三方应用平台收集小程序的指定信息,因此,目标应用能够禁止第三方应用平台收集小程序的指定信息。这样可以提高小程序的安全性和可靠性,从而保护小程序的用户的隐私。
在应用开发商使用目标SDK包来生成目标应用之后,在框S118处,用于下发小程序的平台使得目标小程序与目标应用相关联,以便目标应用访问目标小程序。在本公开的一些实施例中,目标小程序的开发商可选择目标应用。在目标小程序的开发商选择了目标应用之后,用于下发小程序的平台向目标应用提供目标小程序的访问地址,从而允许目标应用访问目标小程序。
在本公开的一些实施例中,在每次目标应用访问目标小程序时,用于下发小程序的平台验证目标应用中的SDK的版本号和SDK指纹的有效性以及SDK的版本号与SDK指纹的关联性。例如,用于下发小程序的平台首先在SDK指纹白名单中查找目标应用中的SDK的版本号和SDK指纹是否有效。如果它们都是有效的,再根据预先设置的SDK指纹的生成规则来从目标应用中的SDK生成待测SDK指纹。如果待测SDK指纹与目标应用中的SDK指纹一致,则验证通过。如果验证通过,则允许目标应用访问目标小程序。如果验证不通过,则禁止目标应用访问目标小程序。
如上所述,由于SDK指纹无法被反向破解,而且对SDK的版本号与SDK指纹的关联性的验证是通过再次生成SDK指纹(而非通过简单核对SDK白名单中的SDK的版本号与SDK指纹的有效性)来验证,因此能够保证经审核的SDK的真实性和可靠性。通过借助SDK密钥来保证SDK与目标应用的关联性,可进一步提高目标应用的真实性和可靠性。在每次目标应用访问目标小程序时都对目标应用进行验证,能够避免目标小程序被非法入侵,提高小程序的安全性和可靠性。
综上,根据本公开的实施例的用于下发小程序的方法100能够提高小程序的安全性和可靠性,从而保护小程序的用户的隐私。
根据本公开的实施例的用于下发小程序的平台包括:企业端、运营端、以及服务器。SDK开发商和应用开发商都可通过企业端与用于下发小程序的平台进行通信。图2示出SDK开发商21、应用开发商22、运营端23、服务器24以及第三方应用平台25之间通信的过程的示意性组合流程图和信令方案。
SDK开发商21在动作201处向运营端23提供注册信息。注册信息例如包括SDK开发商21的身份信息等备案信息。运营团队通过运营端23在动作202处对SDK开发商21进行备案信息审核。如果审核通过,运营端23在动作203处通知服务器24对该SDK开发商21的审核通过了,这样服务器24可允许该SDK开发商21向其发送SDK。该SDK用于生成使得小程序能够在第三方应用平台上运行的应用。该SDK被配置为禁止第三方应用平台收集小程序的指定信息(包括敏感信息)。如果审核不通过,运营端23在动作203处通知服务器24对该SDK开发商21的审核没有通过,这样服务器24将不允许该SDK开发商21向其发送SDK。
类似的,应用开发商22也需要先向运营端23注册。在图2的示例中,应用开发商22在动作204处向运营端23提供注册信息。注册信息例如包括应用开发商22的身份信息等备案信息。运营端23在动作205处对应用开发商22进行备案信息审核。如果审核通过,运营端23在动作206处通知服务器24对该应用开发商22的审核通过了,这样服务器24可允许该应用开发商22通过其在第三方应用平台25上创建应用。如果审核不通过,运营端23在动作206处通知服务器24对该应用开发商22的审核没有通过,这样服务器24将不允许该应用开发商22通过其在第三方应用平台25上创建应用。
如果在动作206处的审核结果是通过,则应用开发商22在动作207处向运营端23发送要创建的应用的应用基本信息。应用基本信息在动作208处经过运营端23的审核。如果审核通过,运营端23在动作209处通知服务器24对该应用基本信息的审核通过了,这样服务器24可允许该应用开发商22通过其在第三方应用平台25上创建该应用基本信息所对应的应用。如果审核不通过,运营端23在动作209处通知服务器24对该应用基本信息的审核没有通过,这样服务器24将不允许该应用开发商22通过其在第三方应用平台25上创建该应用基本信息所对应的应用。
如果在动作209处的审核结果是通过,则服务器24在动作210处向第三方应用平台25转发经审核的应用基本信息。第三方应用平台25可根据所接收的应用基本信息来生成SDK密钥。SDK密钥可用于指示该应用可使用哪些SDK。第三方应用平台25在动作211处向服务器24发送所生成的SDK密钥。
在上述流程中,动作201至动作203可在动作204至动作211之后发生,可与动作204至动作211并行地发生,也可以穿插在动作204至动作211之间发生。
在动作203之后,SDK开发商21在动作212处向服务器24发送SDK。SDK开发商21可向服务器24发送一个或多个SDK。服务器24可在动作213处先将所接收的SDK提交第三方检测机构进行安全性审核,在SDK通过安全性审核之后再生成与该SDK相关联的SDK指纹。服务器24还可以在动作213处先生成与所接收的SDK相关联的SDK指纹,然后再将该SDK提交第三方检测机构进行安全性审核。在该SDK通过安全性审核之后再使得与该SDK相关联的SDK指纹生效。
服务器24在动作214处向SDK开发商21发送所生成的SDK指纹。在本公开的一些实施例中,SDK开发商21可将所接收的SDK指纹与相关联的SDK保存在一起,以便在应用开发商22在动作215处选中SDK之后将所选中的SDK和SDK指纹一并提供给服务器24。在本公开的另一些实施例中,应用开发商22可在动作215处直接通知服务器24其所选择的SDK的标识信息和版本号,服务器24根据该标识信息和版本号来查找应用开发商22所选择的SDK和相关联的SDK指纹。服务器24在动作216处确定应用开发商22在动作215处所选择的SDK和在动作211处接收的SDK密钥是否匹配。如果所选择的SDK与SDK密钥匹配,则将所选择的SDK、与所选择的SDK相关联的SDK指纹以及SDK密钥组合成目标SDK包。
服务器24在动作217处将所组合的目标SDK包发送给应用开发商22。应用开发商22在动作218处根据目标SDK包来生成目标应用。在目标应用生成之后,服务器24在动作219处接收到小程序开发商的关联指示以使得目标小程序与目标应用相关联,并通知应用开发商22目标小程序的访问地址。这样,目标应用可以经过服务器24访问目标小程序。
图3示出根据本公开的实施例的用于下发小程序的装置300的示意性框图。如图3所示,该装置300可包括处理器310和存储有计算机程序的存储器320。当计算机程序由处理器310执行时,使得装置300可执行如图1所示的方法100的步骤。在一个示例中,装置300可以是计算机设备或云计算节点。装置300可从至少一个软件开发工具包(SDK)开发商获得经审核的至少一个SDK。装置300可针对该至少一个SDK中的每个SDK生成与其相关联的SDK指纹。其中,不同的SDK对应不同的SDK指纹。装置300可从应用开发商获得经审核的应用基本信息并将经审核的应用基本信息转发给第三方应用平台。装置300可从第三方应用平台获得与应用基本信息相关联的SDK密钥。装置300可确定应用开发商从该至少一个SDK中选择的SDK与SDK密钥是否匹配。如果所选择的SDK与SDK密钥匹配,装置300可将所选择的SDK、与所选择的SDK相关联的SDK指纹以及SDK密钥组合成目标SDK包。装置300可向应用开发商提供目标SDK包,以便应用开发商使用目标SDK包来生成目标应用。装置300可使得目标小程序与目标应用相关联,以便目标应用访问目标小程序。
在本公开的一些实施例中,装置300可在每次目标应用访问目标小程序时验证目标应用中的SDK的版本号和SDK指纹的有效性以及版本号与SDK指纹的关联性。如果验证通过,装置300可允许目标应用访问目标小程序。如果验证不通过,装置300可禁止目标应用访问目标小程序。
在本公开的一些实施例中,如果从第一SDK开发商获得第一SDK,装置300可根据第一SDK的标识信息和版本号以及第一SDK开发商的身份信息来生成与第一SDK相关联的SDK指纹。
在本公开的一些实施例中,如果从第一SDK开发商获得第一SDK,装置300可根据第一SDK的标识信息、版本号和指定代码段以及第一SDK开发商的身份信息来生成与第一SDK相关联的SDK指纹。
在本公开的一些实施例中,如果从第一SDK开发商获得第一SDK的更新版本,装置300可根据第一SDK的标识信息和更新后的版本号以及第一SDK开发商的身份信息来生成与第一SDK的更新版本相关联的SDK指纹。
在本公开的一些实施例中,如果从第一SDK开发商获得第一SDK的更新版本,装置300可根据第一SDK的标识信息、更新后的版本号和指定代码段以及第一SDK开发商的身份信息来生成与第一SDK的更新版本相关联的SDK指纹。
在本公开的一些实施例中,如果从第一SDK开发商获得第一SDK开发商的身份信息,装置300可将第一SDK开发商的身份信息提交运营端进行备案信息审核。如果从运营端接收到对第一SDK开发商审核通过的指示,装置300可允许从第一SDK开发商获得第一SDK。
在本公开的一些实施例中,如果从第一SDK开发商获得第一SDK,装置300可将第一SDK提交第三方检测机构进行安全性审核。如果从第三方检测机构接收到安全性审核通过的指示,装置300可将第一SDK确定为经审核的SDK,以及将与第一SDK相关联的SDK指纹加入SDK指纹白名单。其中,SDK指纹白名单记录有效的SDK指纹。
在本公开的一些实施例中,如果从第一SDK开发商获得删除或禁用第一SDK的第一版本号的指示,装置300可从SDK指纹白名单中删除与第一SDK的第一版本号相关联的SDK指纹。
在本公开的实施例中,处理器310可以是例如中央处理单元(CPU)、微处理器、数字信号处理器(DSP)、基于多核的处理器架构的处理器等。存储器320可以是使用数据存储技术实现的任何类型的存储器,包括但不限于随机存取存储器、只读存储器、基于半导体的存储器、闪存、磁盘存储器等。
此外,在本公开的实施例中,装置300也可包括输入设备330,例如键盘、鼠标等,用于输入SDK开发商的注册信息、应用开发商的注册信息、运营团队的审核结果、SDK。另外,装置300还可包括输出设备340,例如显示器等,用于输出审核结果。
在本公开的其它实施例中,还提供了一种存储有计算机程序的计算机可读存储介质,其中,计算机程序在由处理器执行时能够实现如图1所示的方法的步骤。
综上所述,根据本公开的实施例的用于下发小程序的方法、平台和装置能够通过对SDK(该SDK用于生成使得小程序能够在第三方应用平台上运行的应用)的监管来实现对小程序的有力保护以禁止第三方应用平台收集小程序的指定信息,从而保护小程序的用户的隐私。
附图中的流程图和框图显示了根据本公开的多个实施例的装置和方法的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
除非上下文中另外明确地指出,否则在本文和所附权利要求中所使用的词语的单数形式包括复数,反之亦然。因而,当提及单数时,通常包括相应术语的复数。相似地,措辞“包含”和“包括”将解释为包含在内而不是独占性地。同样地,术语“包括”和“或”应当解释为包括在内的,除非本文中明确禁止这样的解释。在本文中使用术语“示例”之处,特别是当其位于一组术语之后时,所述“示例”仅仅是示例性的和阐述性的,且不应当被认为是独占性的或广泛性的。
适应性的进一步的方面和范围从本文中提供的描述变得明显。应当理解,本申请的各个方面可以单独或者与一个或多个其它方面组合实施。还应当理解,本文中的描述和特定实施例旨在仅说明的目的并不旨在限制本申请的范围。
以上对本公开的若干实施例进行了详细描述,但显然,本领域技术人员可以在不脱离本公开的精神和范围的情况下对本公开的实施例进行各种修改和变型。本公开的保护范围由所附的权利要求限定。
Claims (10)
1.一种用于下发小程序的方法,其特征在于,包括:
从至少一个SDK开发商获得经审核的至少一个SDK;
针对所述至少一个SDK中的每个SDK生成与其相关联的SDK指纹,其中,不同的SDK对应不同的SDK指纹;
从应用开发商获得经审核的应用基本信息并将所述经审核的应用基本信息转发给第三方应用平台;
从所述第三方应用平台获得与所述应用基本信息相关联的SDK密钥;
确定所述应用开发商从所述至少一个SDK中选择的SDK与所述SDK密钥是否匹配;
响应于所选择的SDK与所述SDK密钥匹配,将所选择的SDK、与所选择的SDK相关联的SDK指纹以及所述SDK密钥组合成目标SDK包;
向所述应用开发商提供所述目标SDK包,以便所述应用开发商使用所述目标SDK包来生成目标应用;以及
使得目标小程序与所述目标应用相关联,以便所述目标应用访问所述目标小程序。
2.根据权利要求1所述的方法,其特征在于,还包括:
在每次所述目标应用访问所述目标小程序时验证所述目标应用中的SDK的版本号和SDK指纹的有效性以及所述版本号与所述SDK指纹的关联性;
响应于验证通过,允许所述目标应用访问所述目标小程序;以及
响应于验证不通过,禁止所述目标应用访问所述目标小程序。
3.根据权利要求1所述的方法,其特征在于,针对所述至少一个SDK中的每个SDK生成与其相关联的SDK指纹包括:
响应于从第一SDK开发商获得第一SDK,根据所述第一SDK的标识信息、版本号和指定代码段以及所述第一SDK开发商的身份信息来生成与所述第一SDK相关联的SDK指纹。
4.根据权利要求3所述的方法,其特征在于,针对所述至少一个SDK中的每个SDK生成与其相关联的SDK指纹还包括:
响应于从所述第一SDK开发商获得所述第一SDK的更新版本,根据所述第一SDK的标识信息、更新后的版本号和指定代码段以及所述第一SDK开发商的身份信息来生成与所述第一SDK的更新版本相关联的SDK指纹。
5.根据权利要求3或4所述的方法,其特征在于,所述SDK指纹被生成为无法从所述SDK指纹中提取SDK的标识信息、版本号和指定代码段以及SDK开发商的身份信息。
6.根据权利要求1至4中任一项所述的方法,其特征在于,还包括:
响应于从第一SDK开发商获得所述第一SDK开发商的身份信息,将所述第一SDK开发商的身份信息提交运营端进行备案信息审核;
响应于从所述运营端接收到对所述第一SDK开发商审核通过的指示,允许从所述第一SDK开发商获得第一SDK。
7.根据权利要求1至4中任一项所述的方法,其特征在于,还包括:
响应于从第一SDK开发商获得第一SDK,将所述第一SDK提交第三方检测机构进行安全性审核;以及
响应于从所述第三方检测机构接收到安全性审核通过的指示,将所述第一SDK确定为经审核的SDK,以及将与所述第一SDK相关联的SDK指纹加入SDK指纹白名单,其中,所述SDK指纹白名单记录有效的SDK指纹。
8.根据权利要求7所述的方法,其特征在于,还包括:
响应于从所述第一SDK开发商获得删除或禁用所述第一SDK的第一版本号的指示,从所述SDK指纹白名单中删除与所述第一SDK的所述第一版本号相关联的SDK指纹。
9.根据权利要求1至4中任一项所述的方法,其特征在于,所述目标应用在所述第三方应用平台上运行,所述至少一个SDK被配置为禁止所述第三方应用平台收集小程序的指定信息。
10.一种用于下发小程序的平台,其特征在于,包括:企业端、运营端、以及服务器,
其中,所述企业端被配置为:从至少一个SDK开发商接收至少一个SDK,从应用开发商接收应用基本信息,从第三方应用平台获得与所述应用基本信息相关联的SDK密钥,以及向所述应用开发商提供目标SDK包,以便所述应用开发商使用所述目标SDK包来生成目标应用;
所述运营端被配置为:接收所述至少一个SDK的审核结果,以及接收所述应用基本信息的审核结果;
所述服务器被配置为:针对所述至少一个SDK中的每个SDK生成与其相关联的SDK指纹,其中,不同的SDK对应不同的SDK指纹;将经审核的应用基本信息转发给第三方应用平台;确定所述应用开发商从所述至少一个SDK中选择的SDK与所述SDK密钥是否匹配;响应于所选择的SDK与所述SDK密钥匹配,将所选择的SDK、与所选择的SDK相关联的SDK指纹以及所述SDK密钥组合成所述目标SDK包;以及使得目标小程序与所述目标应用相关联,以便所述目标应用访问所述目标小程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310560661.9A CN116305295B (zh) | 2023-05-18 | 2023-05-18 | 用于下发小程序的方法及平台 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310560661.9A CN116305295B (zh) | 2023-05-18 | 2023-05-18 | 用于下发小程序的方法及平台 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116305295A CN116305295A (zh) | 2023-06-23 |
CN116305295B true CN116305295B (zh) | 2023-07-21 |
Family
ID=86822485
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310560661.9A Active CN116305295B (zh) | 2023-05-18 | 2023-05-18 | 用于下发小程序的方法及平台 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116305295B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110162936A (zh) * | 2019-05-31 | 2019-08-23 | 北京比特安索信息技术有限公司 | 一种软件内容的使用授权方法 |
CN111651734A (zh) * | 2020-05-27 | 2020-09-11 | 支付宝(杭州)信息技术有限公司 | 小程序应用的安装管理方法、装置、设备及系统 |
WO2021000576A1 (zh) * | 2019-07-01 | 2021-01-07 | 创新先进技术有限公司 | 基于小程序的账户安全保护方法及系统 |
CN114640531A (zh) * | 2022-03-25 | 2022-06-17 | 北京奇艺世纪科技有限公司 | 设备指纹生成方法、装置、电子设备及存储介质 |
CN115333799A (zh) * | 2022-07-27 | 2022-11-11 | 深圳凡泰极客科技有限责任公司 | 一种app之间互相认证方法 |
CN115484080A (zh) * | 2022-08-31 | 2022-12-16 | 北京百度网讯科技有限公司 | 小程序的数据处理方法、装置、设备以及存储介质 |
WO2023280194A1 (zh) * | 2021-07-09 | 2023-01-12 | 腾讯科技(深圳)有限公司 | 网络连接管理方法、装置、可读介质、程序产品及电子设备 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9197637B2 (en) * | 2011-07-08 | 2015-11-24 | Research Foundation Of The City University Of New York | Method of comparing private data without revealing the data |
US9135462B2 (en) * | 2012-08-29 | 2015-09-15 | Box, Inc. | Upload and download streaming encryption to/from a cloud-based platform |
US9769157B2 (en) * | 2015-09-21 | 2017-09-19 | American Express Travel Related Services Company, Inc. | Systems and methods for secure one-time password validation |
-
2023
- 2023-05-18 CN CN202310560661.9A patent/CN116305295B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110162936A (zh) * | 2019-05-31 | 2019-08-23 | 北京比特安索信息技术有限公司 | 一种软件内容的使用授权方法 |
WO2021000576A1 (zh) * | 2019-07-01 | 2021-01-07 | 创新先进技术有限公司 | 基于小程序的账户安全保护方法及系统 |
CN111651734A (zh) * | 2020-05-27 | 2020-09-11 | 支付宝(杭州)信息技术有限公司 | 小程序应用的安装管理方法、装置、设备及系统 |
WO2021238954A1 (zh) * | 2020-05-27 | 2021-12-02 | 支付宝(杭州)信息技术有限公司 | 小程序应用的安装管理 |
WO2023280194A1 (zh) * | 2021-07-09 | 2023-01-12 | 腾讯科技(深圳)有限公司 | 网络连接管理方法、装置、可读介质、程序产品及电子设备 |
CN114640531A (zh) * | 2022-03-25 | 2022-06-17 | 北京奇艺世纪科技有限公司 | 设备指纹生成方法、装置、电子设备及存储介质 |
CN115333799A (zh) * | 2022-07-27 | 2022-11-11 | 深圳凡泰极客科技有限责任公司 | 一种app之间互相认证方法 |
CN115484080A (zh) * | 2022-08-31 | 2022-12-16 | 北京百度网讯科技有限公司 | 小程序的数据处理方法、装置、设备以及存储介质 |
Non-Patent Citations (6)
Title |
---|
EPON网元管理系统通信接口设计与实现;杨涛;中国优秀硕士学位论文全文数据库 信息科技辑(第5期);I138-250 * |
一种端到端的移动App动态防护体系实践;王欢;;中国新通信(第17期);77-79 * |
基于代码克隆检测技术的Android应用重打包检测;王浩宇;王仲禹;郭耀;陈向群;;中国科学:信息科学(第01期);142-157 * |
基于物联网生命周期的安全体系建设分析及实践;刘存;侯文婷;;网络空间安全(第05期);52-61 * |
基于腾讯小程序的轨道交通二维码乘车方案研究;任好好;周健勇;;软件导刊(第02期);61-65 * |
针对无硬件安全的终端版权保护的安全设计;赵云辉;广播电视信息;第2019卷(第S1期);16-19 * |
Also Published As
Publication number | Publication date |
---|---|
CN116305295A (zh) | 2023-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11100546B2 (en) | Method and system for provenance tracking in software ecosystems | |
US20220277307A1 (en) | Systems and methods for personal identification and verification | |
Taylor et al. | To update or not to update: Insights from a two-year study of android app evolution | |
US8127360B1 (en) | Method and apparatus for detecting leakage of sensitive information | |
US8601553B1 (en) | Techniques of imposing access control policies | |
CN105978855B (zh) | 一种实名制下个人信息安全保护系统及方法 | |
Haigh et al. | If i had a million cryptos: Cryptowallet application analysis and a trojan proof-of-concept | |
US11658996B2 (en) | Historic data breach detection | |
US10158623B2 (en) | Data theft deterrence | |
CN115668861A (zh) | 过滤区块链事务 | |
Baskaran et al. | Measuring the leakage and exploitability of authentication secrets in super-apps: The wechat case | |
Jang et al. | Function‐Oriented Mobile Malware Analysis as First Aid | |
CN116305295B (zh) | 用于下发小程序的方法及平台 | |
US11783342B1 (en) | Blockchain blacklist anti-money laundering system (BBAMLS) | |
CN115422578A (zh) | 信息处理方法、装置、设备及存储介质 | |
US11611570B2 (en) | Attack signature generation | |
CN114003877A (zh) | 多租户系统的数据访问方法、装置、介质及电子设备 | |
US11582248B2 (en) | Data breach protection | |
KR102618922B1 (ko) | 무기체계 임베디드 시스템의 sw 역공학 방지장치 및 그 방법 | |
Shi et al. | An empirical study on mobile payment credential leaks and their exploits | |
CN118521316B (zh) | 银行电子账户交易权限控制方法、系统及其平台 | |
RU2807463C2 (ru) | Ослабление программы-вымогателя в интегрированных изолированных приложениях | |
Rizvi et al. | A Hybrid Framework for Detecting Repackaged Applications on the Android Market | |
CN118555084A (zh) | 一种LibOS的文件时间校验方法及装置 | |
Alsaiary et al. | Application of blockchain technology in securing mobile applications |
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 |