2010-05-19 114 views
3

让我通过说我对加密一无所知。我理解公钥/私钥加密的基本概念,但我不能轻易地打破它,如果有的话。如果有人相信电影,加密的数据可能会在几个小时内被一个体面的电脑打破。加密有多安全?

我有一个客户希望通过电子邮件发送信用卡信息 - 当然是加密的,但我对这个想法仍然感觉不太好。我觉得将信息存储在VPS上会更安全,但即使那时它是一个非托管服务器,也没有人注意到谁对安全性有多少了解。

那么谁能告诉我是否有安全的方式来存储和/或发送这些数据?

谢谢

+3

作为一项规则,VPS几乎可以肯定符合关于信用卡数据的相关规则和规定(如PCI DSS,http://en.wikipedia.org/wiki/PCI_DSS)。如果你对这些规则没有透彻的理解,你需要获得这样的理解,或者聘请一个懂得理解的人。 – 2010-05-19 22:33:28

+0

@Nicholas:获得PCI兼容是一个完全的玩笑,你当然可以在VPS上做到。事实上,如果您每年交易次数少于20,000次,即使您“需要遵守”(当然),他们甚至不会测试合规性。但这不是问题 - 该客户希望CC数据加密并通过电子邮件发送给他,坦白地说,这令我感到恐慌。我从来没有一个客户只是不想使用支付服务。 – Stomped 2010-05-20 21:27:33

回答

0

安全是相对的。这取决于需要多长时间才能获得安全以及你的对手是谁。实际上,如果您必须使用电子邮件,PGP加密应该足够了。请参阅EnigMail guide

您需要小心,不要将未加密的数据存储在链中的任何地方。另外,我不知道这是否符合付款处理规则。

8

打破体面的加密方案是不切实际的。有人更可能得到钥匙的副本。公钥的优点是解密密钥不必在服务器上......如果它永远不存在,那么就不能在这个端点上妥协。

但是...这是信用卡数据。你应该如何处理这些数据有合法的强制性标准,所以你最好看看他们说的是什么。这些标准要求特定类型的加密以及其他各种安全措施。

+2

+1加密通常不是问题。 – rook 2010-05-19 23:25:33

0

正如其他用户所说,通常不是加密被破坏,而是密钥被盗。如果我处于自己的位置并且被迫通过电子邮件发送信用卡信息,但是我可以对其进行加密,那么我将使用CBC模式下的AES-128和PKCS5填充来加密我的消息(在这种情况下,我怀疑你是否真的需要担心一个初始化向量,但添加一个只能提供帮助),并且在需要时将关键字发送给一个人。它是窃取问题密钥的人,而不是破解加密标准。让我们想象一下,最伟大的超级计算机专门用来打破AES-128 CBC模式加密,可以以93014 * 1^12 flops /秒的速度运行。 (1次翻牌大约是1次操作) 可以说一次AES解密尝试需要1000次翻牌(我认为这是一个大的低估)这将需要超级计算机平均2^127次尝试来破解密钥并因此加密。

因此,平均来说:(1000 * 2^127flops)/(93014 * 1^12flops/s)秒破裂,等于:1.829199728×1024秒,等于〜 5.8×10十年来破解!这远远超过一百万年!正如您所看到的,您的密钥被盗是真正的担忧,而不是加密被破解,如果您使用一个好的算法和适当的密钥生成。