[发明专利]SDK提供和调用方法及相关设备在审
申请号: | 201310647814.X | 申请日: | 2013-12-04 |
公开(公告)号: | CN103617394A | 公开(公告)日: | 2014-03-05 |
发明(设计)人: | 李明 | 申请(专利权)人: | 北京网秦天下科技有限公司 |
主分类号: | G06F21/56 | 分类号: | G06F21/56;G06F21/62;H04L29/06 |
代理公司: | 中科专利商标代理有限责任公司 11021 | 代理人: | 苏志莲 |
地址: | 100013 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | sdk 提供 调用 方法 相关 设备 | ||
技术领域
本发明总体上涉及数据通信技术领域,更具体地涉及一种SDK(Software Development Kit,软件开发工具包)提供方法及实现该方法的设备,以及一种SDK调用方法及实现该方法的设备。
背景技术
在移动互联网盛行的今天,许多公司通过开发平台的方式,将自身公司的能力或资源,开放出来。以客户端为例,一般通过SDK的方式,将自身的能力开放出来。
SDK是一些被软件工程师用于为特定的软件包、软件框架、硬件平台、操作系统等创建应用软件的开发工具的集合。它可以简单地为某个程序设计语言提供API(Application Program Interface,应用程序接口)的一些文件,但也可能包括能与某种嵌入式系统通信的复杂的硬件。一般的工具包括用于调试和其他用途的实用工具。SDK还经常包括示例代码、支持性的技术注解或者其他的为基本参考资料澄清疑点的支持文档。
为了鼓励开发者使用其系统或者语言,许多SDK是免费提供的。第三方开发者通常可以从目标系统开发者那里获得SDK,也可以直接从互联网下载,有时也被作为营销手段。例如,营销公司会免费提供构件SDK以鼓励人们使用它,从而会吸引更多人由于能免费为其编程而购买其构件。
第三方开发者可以通过在自己的应用中嵌入SDK的方式来使用SDK中的功能。在本文中,将SDK旨在被嵌入到的应用称为宿主应用。换句话说,宿主应用表示初始请求调用SDK的应用。
然而,SDK在带来开放便利的同时,也带来了安全隐患。具体地,SDK在传播过程中,如果没有任何安全措施的话,有可能被恶意使用,从而带来不良后果。
为此,现在一般是通过分配应用ID的方式来确定SDK对应的应用。具体地,这种方式一般是在第三方开发者需要嵌入某一SDK时,首先向该SDK的提供商提交其应用相关的资料,提供商审核通过后,向该应用分配一个唯一的专用ID(形式可能为一个ID;也可能是一个键值对),最后第三方开发者在调用SDK时,使用该ID作为参数,就可以使用SDK的相关功能了。
这种方式只能解决应用的识别问题。也就是说,只有合法的ID请求,才能使用SDK的功能。然而,如果该ID被另外一个或多个应用嵌入,则这种方式不能识别这种情况。如果该SDK被恶意使用,对于需要与提供商的服务器交互的SDK,将导致服务器受到恶意攻击。
发明内容
为了解决上述问题,本发明提出了将SDK与宿主应用绑定的数字签名机制。利用该机制,第三方开发者在开发某个应用时,首先验证该应用调用SDK的合法性,从而解决了SDK分发后可能被恶意嵌入等诸如此类的问题。
根据本发明的一方面,提供了一种SDK提供方法,用于由SDK提供方向应用开发方提供SDK。该SDK提供方法包括以下步骤:从应用开发方接收与应用开发方中的应用相关的信息;根据接收到的信息计算针对该应用的消息摘要;利用不对称加密算法的私钥将该消息摘要加密以生成数字签名;将数字签名和不对称加密算法的公钥打包到SDK中;以及将打包后的SDK发送给应用开发方,以供该应用调用SDK。
在一些实施例中,该不对称加密算法是RSA算法。
在一些实施例中,与该应用相关的信息包括该应用的名称和版本。
在一些实施例中,针对该应用的消息摘要是利用SHAl算法计算的。
根据本发明的另一方面,提供了一种SDK调用方法,用于由应用开发方在目标应用中调用针对宿主应用的SDK。该SDK调用方法包括以下步骤:从SDK提供方接收针对宿主应用的SDK;从SDK中读取针对宿主应用的数字签名和不对称加密算法的公钥;通过公钥对该数字签名进行解密,以得到针对宿主应用的第一消息摘要,其中该数字签名是利用不对称加密算法的私钥对第一消息摘要加密生成的;根据与目标应用相关的信息,计算针对目标应用的第二消息摘要;将第一消息摘要与第二消息摘要进行比较;以及如果第一消息摘要与第二消息摘要相同,则确定目标应用是宿主应用,并且允许目标应用调用SDK。
在一些实施例中,该SDK调用方法还包括:如果第一消息摘要与第二消息摘要不相同,则确定目标应用不是宿主应用,并且不允许目标应用调用SDK。
在一些实施例中,与目标应用相关的信息包括目标应用的名称和版本。
在一些实施例中,该不对称加密算法是RSA算法。
在一些实施例中,该第一消息摘要和/或第二消息摘要是利用SHAl算法计算的。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京网秦天下科技有限公司,未经北京网秦天下科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310647814.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种抗衰老的健康饮品
- 下一篇:柔性显示器可折叠组件