代码之家  ›  专栏  ›  技术社区  ›  Oren A

这是一个好的安全策略吗?

  •  1
  • Oren A  · 技术社区  · 14 年前

    我正在努力使Web服务安全。
    这不是针对银行或任何类似的机构,但是如果服务将由未经授权的人使用,使用它的组织可能会损失一些钱(很难确切地知道有多少…)。

    目的是不允许未经授权的 应用 使用除“getchallenge”以外的任何方法。对于用户身份验证,有一种不同的机制来检查用户名和密码。实际上,我将这两种方法结合在一起,但它们有不同的用途):

    所以我要做的是:
    我发送一个(ASP.NET)会话密钥(供所有人阅读)。ASP.NET的会话是15个随机生成的字节,除非延长,否则它将生存20分钟,而且没有它,ASP.NET将不会收到任何请求)。
    在我的登录方法中,除了用户名和密码(任何人都可以获取,因为它是公共站点的一部分),我还收到了第三个参数——会话密钥,由MD5算法散列,6字节作为salt。
    只有当散列正确时(我在服务器端散列并比较它),我才允许用户登录。
    从那时起,在每个方法中,我都会检查用户是否已登录。

    补充: 用户名和密码以明文形式发送,并且 这不是问题 (至少不是我要说的那个)。问题是有人(不是我们合作的公司)编写一个使用我的Web服务的应用程序。Web服务只能由 授权申请 .
    此外,会话ID在每个请求和响应中来回发送(作为ASP.NET会话机制的一部分)。这就是ASP.NET如何知道“跟踪”特定于用户的会话)。很抱歉没有从一开始就澄清这一点。
    (无理地认为这很明显)。

    这种安全策略有多强大和有效?

    谢谢。

    4 回复  |  直到 14 年前
        1
  •  1
  •   badbod99    14 年前
        2
  •  0
  •   m.edmondson    14 年前
        3
  •  0
  •   zengr    14 年前
        4
  •  0
  •   sleske    14 年前