google-chrome-extension - 保护 Chrome native 消息主机

标签 google-chrome-extension chrome-native-messaging

我正在使用通过 Chrome 扩展启动的 Chrome Native Messaging 开发应用程序。

我的问题是:如何确保主机应用程序与我提供的主机应用程序完全相同?

我需要确保扩展调用的应用程序的真实性。如果我无权读取注册表或检查某些内容是否已更改,我该如何获取它?

最佳答案

这是一个很好的问题,我猜答案是“不幸的是,你不能”。

实现某种类似于 Chrome 用于验证扩展文件的加密哈希会很有趣,但这并不是一个非常有力的保证。

考虑(所有这些假设):

  • 您可以通过这种方式轻松保护注册表项/ list ,但是文件本身呢?
  • 假设您固定了可执行文件的散列,那么更新它就变得很痛苦(您也必须同步更新扩展)。可以用某种公钥签名而不是散列来解决。
  • 假设您将可执行文件固定在 list 中。它的数据文件呢?更重要的是,原生应用程序使用的库呢?

  • 保护 Chrome 扩展程序/应用程序很容易,因为您依赖的唯一“库”/运行时是 Chrome 本身(并且您信任它)。 native 应用程序可以依赖于系统上的很多很多东西(比如已经提到的库),你如何跟踪?

    无论如何,这似乎是一件值得头脑 Storm 的有趣事情。看看 Chrome bug tracker如果已经有类似的东西,如果没有 - 尝试提出功能请求。也许尝试一些与 Chromium 相关的邮件列表来询问开发人员。

    关于google-chrome-extension - 保护 Chrome native 消息主机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29500075/

    相关文章:

    javascript - Chrome 扩展和 Django : Verify whether third party cookies are allowed

    jquery - Chrome 扩展 - 查找所有打开的选项卡并在所有选项卡上执行脚本

    google-chrome-extension - 使用扩展程序名称获取 chrome 扩展程序的 id

    带有 chrome 扩展的 Java native 消息传递 - 无法正确写入长度

    javascript - Java 和 Chrome 扩展、本地消息

    java - Native Messaging 主机尝试发送长度为 977472013 字节的消息

    c++ - 浏览器扩展与系统托盘应用

    google-chrome - 简单的 chrome 扩展程序打开新选项卡并显示页面中的数据

    c++ - Native Messaging 主机无法发送 1 MB 数据