代码之家  ›  专栏  ›  技术社区  ›  Brent Arias

客户端服务请求的隐式“身份验证”

  •  0
  • Brent Arias  · 技术社区  · 14 年前

    虽然算法安全通常是要避免的,但我对代理/客户机软件(在Windows上以本地系统帐户运行)向REST web服务进行身份验证的方法感兴趣:

    • 不依赖用户帐户(代理代码为“本地系统”)

    简而言之,我试图廉价地将冒名顶替者应用程序与我编写的合法客户机/代理软件区分开来。我知道这样的安全性将通过(1)反汇编我的代码或(2)分析我的代理发送的许多消息而被打破——两者都将揭示算法。我没意见(安全性从来都不是完美的)。

    也就是说,你有什么建议?

    可以

    什么类型的数学/算法公式适合于将两个输入(如GUID和时间)进行散列合并?这种“廉价”的安全性是否存在一种模式?是否有预定义的实现或标准?有没有关于我应该如何修改方法的建议?

    1 回复  |  直到 14 年前
        1
  •  1
  •   Nick Johnson David Cournapeau    14 年前

    因为,正如您所认识的,没有办法阻止人们模仿您的应用程序,所以请保持简单:在您的应用程序中嵌入一个共享机密,并根据您的意愿进行“保护”,然后使用 HMAC . 别忘了包括 nonce 以及防止重放攻击的时间戳。