2011-04-28 51 views
1

我期待在应用程序上获得尽可能少的信息,从而可以从网站或服务器获取大部分数据,我希望听到来自每个在该领域具有丰富经验的人员的建议和建议,以帮助我改进我的应用。应用程序从网站中提取数据?

目前我的认证包括:

  • 要启动应用程序的用户必须输入用户名和密码(没有一个有效的用户,并通过应用程序不工作),然后点击登录。
  • 凭证将使用HTTPS发送到我的登录页面,该脚本只接受SSL连接和个性化的User-Agent名称。
  • 登录页面将验证凭据并发回会话和一些初始数据。
  • 该会话被重复使用以收集更多的数据随着时间或按需要。

旁注:的SSL 256位,该会话自动几分钟

对于上述基本authetication和数据拉到期后,​​你会推荐我还有别的事情要落实?

我应该改变什么吗?

保护的第二层

现在我想所有从/发送到我的应用程序中的数据进行加密,以实现更高的安全性,我的问题:

  • 我应该用什么来加密和解密数据,双方持有的一对私钥和公钥还是RIJNDAEL的方法?
  • 什么是正确的方法,或者我应该留下哪些部分的信息在客户端和服务器上,或者我应该如何形成共同的口令或密码的知识呢?

    例如,如果我使用的是一对RSA密钥,我需要在客户端和一个公钥上留下一个私钥,因为您不能使用c#上的公钥解密任何数据,而您可以在服务器和Rijndael需要在双方都有IV和密钥。

    什么是处理这些正确的方法是什么?

我会很高兴与实用的阅读材料,评论,实例,建议,建议:)

UPDATE:

没有人愿意说什么?我希望得到在这个问题上更多的投入,也强硬,这是围绕一个相当常用的方法...

回答

1

听起来像是你已经考虑在长度公式的应用程序方面的安全性。我建议你把你的想法变成网站的一部分。

当我看安全,我总是看两样东西:

  • 交通运输安全 --is你的数据在传输时保护?听起来就像这样,假设您在服务器上使用足够的密钥长度来获得SSL证书。此外,您可以强制网站做客户端证书验证作为SSL握手的一部分。这可以确保没有人可以欺骗客户端应用程序并说服您的网站共享信息。
  • 有效负载安全 - 是否应加密数据有效负载?是否有机会能够通过DNS中毒或其他方法闯入您的Web服务器,或更好地说服您的应用使用有效(针对该cn)连接到恶意服务器,但是不同的HTTP证书?如果您选择对有效负载进行加密,则可以将整个事物安装到您已使用的相同证书上。只要确保证书的数据加密位已打开,并且您可以使用证书中的私钥/公钥来加密有效内容。因此,如果恶意用户替换了证书,他们不仅需要欺骗cn和信任链,还要从应用程序获得正确的公钥,以解密使用私钥加密的数据并使用服务器的身份进行签名公钥。

其他一些问题去思考:

  1. 您是说,这次会议被重用?它是否过期?如果没有,你会想让它过期。
  2. 您可以利用网络安全吗?您可以使用VPN隧道或IP ACL来限制谁可以访问Web服务器?
  3. 键盘记录器呢?密码可以被拦截。第二个身份验证因素可以是用户拥有的内容,如密钥卡或指纹,或RSA SecurId。如果你不想走那么远,你可以为用户提供一个“网站印章” - 他们必须认识到与他们的账户相关的图像。甚至可能会呈现多张图片,并让他们选择他们在注册过程中选择的图片。你也可以让他们解决一个小难题 - 这将区分人类和机器(CAPTCHA型)。

所有这些要点尽量减少存储在客户端的信息 - 只需一个证书或两个证书即可。

安全性问题非常广泛,我们可以在此处针对不同的实施细节展开整体讨论。以上只是需要思考的一些问题。

请记住,一切都有成本。安全性降低了可用性和CPU周期。适当的平衡是关键,但这当然取决于你。 在您构建Fort Knox之前,请确保有人会想要住在那里:)

+0

+1最初我想感谢您的回复 – Guapo 2011-04-28 03:51:21

+1

**有效载荷参数**很多事情需要考虑,但您忘记了一个简单的问题,它涉及到反编译你的应用程序的人,并抓取允许他们直接在浏览器上使用它的连接url,而我确实像上面提到的那样,他们应该遵循一些个性化的东西来发送请求,比如必须是POST方法,必须具有用户代理的个性化名称,必须来自ssl等,这并不能完全保护我免受那些能够真正获得需要发送的url和请求信息的人,是否有解决方案那? – Guapo 2011-04-28 03:51:28

+0

回答你的问题:1.'不过期吗?'如果没有使用,每X分钟是。 2.“你能利用网络安全吗?”这个应用程序将在全球范围内提供,所以我不这么认为。 3。不要以为我需要走得太远,但我肯定会有像验证码一样的异常登录尝试。 Hehehe是的,我不打算建立一个堡垒诺克斯,但我想防止自己。 – Guapo 2011-04-28 03:51:40