【发布时间】:2014-01-08 18:50:05
【问题描述】:
我将在我的 .net 桌面应用程序中使用电子邮件服务(gmail 或 yahoo 等)。 我将使用电子邮件服务发送错误报告、提交联系表格和采购请求(经用户许可)
我不会将我的登录信息存储在我的应用程序源中。登录信息(即用户名和密码)将以加密形式从网络上抓取。然后我的软件会在抓取后对其进行描述。
没有人可以从源代码中获取登录信息。 (因为不存在,所以会从网上抓取)
没有人可以从 Web 获取登录信息。 (因为它是隐藏路径,也是我自己的加密形式)
但我仍然担心在桌面程序中使用电子邮件服务是否安全,因为像“Avast”这样的防病毒软件会监控 SMPT 端口并在我们每封外发电子邮件中添加徽标和标题。所以我们的电子邮件可以在没有登录信息的情况下阅读。如果 Avast 可以编辑我们的电子邮件,它也可以获取我们的密码。
【问题讨论】:
-
我可以通过(除其他外)在适当的时间进行内存转储来从您的应用程序中获取登录信息。使用身份验证凭据完全安全的唯一方法是使用 SecureString 类型。不幸的是,其他服务不能很好地支持这种类型。
-
那么我应该怎么做才能从我的桌面应用程序向我发送信息(错误报告和反馈等)?如果电子邮件不完全安全并且可以从“内存转储”方法中劫持。还有你所说的“SecureString”是什么意思?
-
对于错误报告,您可以考虑托管 Web 服务而不是电子邮件。
标签: .net security email desktop-application email-client