全网唯一标准王
(19)中华 人民共和国 国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202111682115.X (22)申请日 2021.12.31 (71)申请人 乐鑫信息科技 (上海) 股份有限公司 地址 201203 上海市浦东 新区自由贸易试 验区碧波路690号2号楼 204室 (72)发明人 不公告发明人   (74)专利代理 机构 北京市路盛律师事务所 11326 代理人 李海 郝聪慧 (51)Int.Cl. G06F 21/12(2013.01) G06F 21/60(2013.01) (54)发明名称 一种库文件加密方法、 解密方法以及加密装 置 (57)摘要 本申请公开了一种 库文件加密方法、 库文件 解密方法以及库文件加密装置, 该方法通过使用 公钥对库文件进行加密, 形成加密库文件; 获取 应用程序对 所述加密库文件的调用信息, 生成接 口信息; 将所述加密库文件和所述接口信息分别 保存至固件文件中; 将所述固件文件烧写至SoC 芯片内部或者外接的可读写存储器中, 以便所述 固件文件被加载到所述SoC芯片内部或者外接的 随机存取存储器上时, 采用私钥解密所述加密库 文件, 得到解密后的库文件。 本申请在允许对外 发布库文件的同时, 防止了库文件的内容外泄。 既能保证使用库文件进行二次开发的便捷性和 开发效率, 又能提高库文 件的安全性。 权利要求书1页 说明书7页 附图5页 CN 114398598 A 2022.04.26 CN 114398598 A 1.一种库文件加密方法, 其特 征在于, 包括以下步骤: 使用公钥对库文件进行加密, 形成加密库文件; 获取应用程序对所述加密库文件的调用信息, 生成接口信息; 将所述加密库文件和所述接口信息分别保存至固件文件中; 将所述固件文件烧写至SoC芯片内部或者外接的可读写存储器中, 以便所述固件文件 被加载到所述SoC芯片内部或者外接的随机存取存储器上时, 采用私钥解密所述加密库文 件, 得到解密后的库文件; 其中, 所述私钥存 储在所述SoC芯片的只读存 储器上, 且所述私钥与所述公钥相匹配。 2.根据权利要求1的库文件加密方法, 其特征在于, 所述库文件为静态库文件, 其中, 所 述静态库文件为 一个或多个目标文件的集 合, 所述目标文件通过编译源代码文件获得。 3.根据权利要求2的库文件加密方法, 其特征在于, 所述SoC芯片的只读存储器还存储 有引导程序, 所述引导 程序用于引导所述固件文件加载到所述随机存取存 储器上。 4.根据权利要求3的库文件加密方法, 其特征在于, 所述引导程序还用于根据 所述接口 信息, 将所述 解密后的库文件链接 到所述应用程序中。 5.根据权利要求1的库文件加密方法, 其特 征在于, 所述库文件为动态库文件。 6.根据权利要求5的库文件加密方法, 其特征在于, 在所述得到解密后的库文件之后还 包括: 所述应用程序直接与所述 解密后的库文件链接 。 7.根据权利要求1至6任一项的库文件加密方法, 其特征在于, 所述公钥和私钥是基于 非对称加密算法获得的, 且所述公钥和所述私钥具有唯一对应关系。 8.根据权利要求1至6任一项的库文件加密方法, 其特征在于, 所述非对称加密算法为 RSA加密算法或者ED25 519加密算法。 9.一种库文件解密方法, 其特征在于, 采用私钥解密加密库文件, 所述加密库文件为根 据权利要求1至8任一项所述的库文件加密方法获得的。 10.一种库文件加密装置, 其特 征在于, 所述装置包括: 可读写存储器, 用于存储固件文件, 其中所述固件文件包括加密库文件和接口信 息, 所 述接口信息记录应用程序对所述加密库文件的调用信息, 所述加密库文件为采用公钥对库 文件进行加密后得到的文件; 只读存储器, 用于存 储私钥, 所述私钥与所述公钥相匹配; 以及处理器, 所述处理器用于将所述固件文件加载到所述SoC芯片内部或者外接的随 机存取存 储器上时, 采用所述私钥解密所述加密库文件, 得到解密后的库文件。 11.根据权利要求10所述的库文件加密装置, 其特征在于, 所述只读存储器还用于存储 引导程序, 所述引导程序用于在所述加密库文件为静态库文件时, 引导所述固件文件加载 到所述随机存取存 储器上。 12.根据权利要求11所述的库文件加密装置, 其特征在于, 所述引导程序还用于根据 所 述接口信息, 将所述 解密后的库文件链接 至所述应用程序中。 13.根据权利要求10所述的库文件加密装置, 其特征在于, 所述只读存储器是ROM存储 器、 OTP存 储器或者e Fuse存储器。权 利 要 求 书 1/1 页 2 CN 114398598 A 2一种库文件加密方 法、 解密方 法以及加密装 置 技术领域 [0001]本申请涉及嵌入式技术领域, 尤其涉及一种库文件加密方法、 库文件解密方法以 及库文件加密装置 。 背景技术 [0002]对于软件保护, 已经有很多解决方案, 根据其应用场景, 可以分为对运行在 计算机 上的软件进 行加密。 例如中国专利CN103425911A涉及的是使用加密装置对运行在计算机上 的软件进行加密。 [0003]另一种应用场景是对运行在嵌入式系统中的应用程序进行保护。 在当前嵌入式市 场中, 一些重要的框架程序或核心的算法程序会以库文件的方式对外发布, 以防止核心算 法或关键参数的外泄, 达到知识产权保护的作用。 例如乐鑫的芯片ESP 32的语音唤醒功能以 文件形式为.a的标准静态库的形式发布。 相对于直接发布源代码, 通过发布标准库文件可 以起到一定的保密作用。 但是, 对于标准库文件, 用户仍然 可以通过反汇编的方式分析出其 中的算法和参数, 甚至有一些反编译技术可以实现将库文件直接翻译成C语言等更高级的 语言形式。 因此, 仅仅通过发布库文件而非源文件, 仍然无法达到 保护核心 算法和参数的目 的。 [0004]对于嵌入式系统中的程序进行保护, 一种方法是对包含了库文件的固件进行整体 Flash(闪存)加密。 例如乐鑫ESP32  Flash加密指南(该技术文档发布于2017年7月27日, 其 下载网址可参见以下URL地址: https://www.espressif.com/sites/default/files/ documentation/esp32_fl ash_encryption_guide_cn.pdf)中, Fl ash加密的机制包括将加 密密钥存储在芯片 内部的不能通过软件进行读写的区域。 用户将明文数据烧录到芯片 中, 以启动加密功能, 引导加载程序在首次启动时在Flash原处对数据进行加密。 但是, 这种对 Flash进行整体加密需要用户将库文件以明文数据的方式烧录到芯片中, 因此存在库文件 在链接进入固件之前已经被外泄的可能性, 对库文件起不到保护作用。 中国专利 CN112948893A也提供了类似的对固件进行整体加密的方法。 此外, 中国专利CN105683990B 公开了一种相对于静态分析工具来保护动态库的方法。 当试图恶意攻击程序的人破坏负责 解密并加载动态库的应用程序的一部分, 修改并加载解密动态库文件, 那么应用程序别无 选择只能被执行。 为了克服此问题, 该专利将负责程序的核心功 能且需要保护的待保护动 态库存储在负责安全性的安保动态库中, 加密 密钥存储在安保动态库中用于解密。 [0005]另一种方式是软件加 壳技术, 该方式是向目标可执行文件ELF(Executable  and  Linkable  Format, 可执行链接格式)中直接注入一段二进制 代码, 再将程序的入口地址改 为这段被插入的二进制代码的地址, 在其后才跳转到程序原始的入口地址, 执行真正的程 序部分。 注入的这一段二进制代码是该方法的核心, 一般含有解密或解压缩程序, 指 令代码 和一些反动态跟踪的代码。 这种方法可以有效地防止静态分析, 但其反动态跟踪的能力一 般。 中国专利CN102136053A、 中国专利CN105825087A等均采用了加壳技术。 这种加密方法主 要针对目标可执行文件进行, 与直接加密库文件有较大区别。 类似地, 中国专利说 明 书 1/7 页 3 CN 114398598 A 3

.PDF文档 专利 一种库文件加密方法、解密方法以及加密装置

文档预览
中文文档 14 页 50 下载 1000 浏览 0 评论 309 收藏 3.0分
温馨提示:本文档共14页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 一种库文件加密方法、解密方法以及加密装置 第 1 页 专利 一种库文件加密方法、解密方法以及加密装置 第 2 页 专利 一种库文件加密方法、解密方法以及加密装置 第 3 页
下载文档到电脑,方便使用
本文档由 人生无常 于 2024-03-19 04:13:25上传分享
友情链接
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。