【发布时间】:2016-05-19 02:54:10
【问题描述】:
我必须从桌面应用程序启动 Windows Store 8.1 应用程序。我遇到了协议激活的概念,用户可以使用协议名称启动商店应用程序,并将参数从桌面应用程序传递给商店应用程序。以这种方式启动是否安全?如果我可以实现一些安全机制(安全令牌)来保护通信,我该怎么做?
【问题讨论】:
标签: security windows-store-apps protocols windows-store activation
我必须从桌面应用程序启动 Windows Store 8.1 应用程序。我遇到了协议激活的概念,用户可以使用协议名称启动商店应用程序,并将参数从桌面应用程序传递给商店应用程序。以这种方式启动是否安全?如果我可以实现一些安全机制(安全令牌)来保护通信,我该怎么做?
【问题讨论】:
标签: security windows-store-apps protocols windows-store activation
协议激活本身并不安全。 问题是调用应用程序永远无法确定哪个应用程序在系统上注册了某个协议。因此存在“邪恶双胞胎”问题:应用程序可以假装是某个协议的预期应用程序,但实际上并非如此。例如。我可以编写一个应用程序并注册为“spotify”或“facebook”或“bing”,然后尝试窃取传递的参数。
这取决于您要避免什么样的危险。最好的选择是不使用协议启动器传递敏感数据。而是只传递只有真正的目标应用程序才能“转换”为敏感数据的数据。 (例如加密的 ID)
在目标应用程序方面也是一样的:被调用的应用程序不能确定谁是调用者。它不能被验证或限制。
Windows 10 的 AppLaunchers 的两项更改:您可以指定目标应用程序的包系列名称,并且可以将调用应用程序的 Windows 10 列入白名单。
【讨论】: