【问题标题】:Secure storage of credentials for screen scraping安全存储用于屏幕抓取的凭据
【发布时间】:2019-04-17 10:19:31
【问题描述】:

我正在编写一个应用程序,它将获取第三方网站的用户凭据,以便我可以通过屏幕抓取他们的帐户来增加价值。

为此,我需要能够使用可逆加密以安全的方式存储凭据,以便我可以再次清楚地获取它们。

为我的 MVP 执行此操作的安全(且简单)方法是什么?我应该只使用 AES 加密并使用复合密钥(主密钥 + 用户帐户相关的盐)。

也许 Hashicorp 的 Vault 就足够了?

换个方式问。对于抓取您银行帐户的产品,它们如何存储凭据?

谢谢大家

【问题讨论】:

    标签: security screen-scraping


    【解决方案1】:

    换个方式问。对于抓取您银行帐户的产品,它们如何存储凭据?

    他们不会抓取帐户。他们使用银行后端供应商提供的 API 或下载导出文件。

    无论如何,您绝对不想持有银行用户名/密码。这是一个惊人的责任。如果帐户被黑,每个人都会看着你偿还损失。

    【讨论】:

    • 不正确 - 有许多软件供应商确实持有凭据并抓取帐户。在欧洲开放银行和 API 之前非常如此,在其他地方可能仍然如此。
    • 我猜你会让用户通过 T&C 放弃责任。 FWIW 我不在金融领域工作
    【解决方案2】:

    看看CryptProtectData / CryptUnprotectData 对函数。也许它可以解决你的问题。

    【讨论】:

      【解决方案3】:

      没有安全的方法来存储他们的凭据。所有方法都包括您拥有能够将凭据反转为纯文本的“主密钥”,而所有存储身份验证信息的安全方法都使用单向散列(加盐!)。 Never encrypt credentials, hash them.

      我能想到的唯一安全的方法是在抓取时询问用户他们的凭据,并将该信息传递给抓取工具,而不是一路存储信息.确保您通过 https 或类似方式执行此操作,并且您的服务器不会受到服务器上运行的其他软件的内存检查,这意味着您希望完全控制整个数据流。

      这意味着只有当用户登录到您的服务时,您才能访问用户数据。

      简而言之,我会非常小心这整件事。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-07-31
        • 1970-01-01
        • 2012-06-05
        • 2010-12-02
        • 1970-01-01
        • 2013-11-19
        • 2016-01-11
        • 2022-11-07
        相关资源
        最近更新 更多