所以我对 HMAC 身份验证非常陌生,我真的不知道自己在做什么,也不知道在读 atm。
我一直在尝试正确理解以下文章/链接/讨论:
如何在 RESTful WCF API 中实现 HMAC 身份验证
http://buchananweb.co.uk/security01.aspx
话虽如此,我有几个问题:
了解第一个链接,例如,如果我在 .net 中创建了一个 loginAuthentication 服务并将从 iPhone 应用程序访问,我是否为此传递了一个未加密的用户名(消息)并且应该只返回一个真/假,或者它应该返回一个加密的我稍后将在其中用于其他事务(删除、插入服务等)的字符串?
[ServiceContract] public partial class LoginService { [OperationContract] bool Authenticate(string username) { // stuffs }
}
话虽如此,在我验证了用户之后,这就是我迷路的地方。我在数据库中保存一些“带有时间戳”的东西会更好吗(有人告诉我这个,我也读过一些关于这个的讨论)?还是我只是将其与加密消息一起返回(取决于第一个问题),以便每次发出请求时都已经附加了时间戳?
一种。我该怎么处理那个时间戳?
湾。一旦再次发送消息以进行另一笔交易,是否会使用它?
密钥和秘密消息。我理解的方式是密钥将是用户的密码。因此,如果用户发送他的用户名,我可以使用该用户的密码打开消息吗?如果用户已经有一个会话并且只是请求获取数据或请求删除、插入等,这是有道理的。如果它只是验证用户的用户名和密码,是否仍然是相同的方式?
感谢您的时间!