保护零售POS系统的信息安全

时间:2013-05-07 12:02:14

标签: encryption public-key-encryption

我为零售连锁店的POS交易创建了后端/处理/统计数据。问题是,现在是时候从alpha转向beta,我们需要某种安全的输入数据。这就是我迷失的地方。如何在这种系统中实现一些相似的安全性?

我所提出的是一个简单的不对称密钥/值对,它对于每个POS系统都是唯一的,其中服务器具有所有私钥,并且每个pos都具有此交换的公共部分。除此之外,所有数据交换都通过HTTPS发送。

这种事情有意义吗?或者有更好的方法来保证数据安全吗?

P.S。由于需要单独重新配置每个POS,这与该系统无关,因此必须在每个POS上进行手动工作不是问题。

1 个答案:

答案 0 :(得分:1)

你想完成两件事:

1)加密流量,使其对外界隐藏(机密性)。您可以通过强制将SSL用于客户端和服务器之间的流量来轻松完成此操作。服务器将需要x509证书才能完成此任务。

2)确保进入服务器的所有流量都来自可信客户端/ POS(完整性)。您可以使用几种不同的技术来完成此任务,这两种技术都需要在每个客户端(POS)系统上安装x509证书:

a)要求对服务器的所有请求都附带客户端证书。在这种情况下,客户端(POS)安装了x509证书,它可以访问自己的私钥(服务器不会,也不应该拥有此私钥,它属于客户端)。服务器配置为每个请求都需要客户端证书,它还配置为验证提供的客户端证书是否确实与其中一个POS系统匹配。因此,如果您稍后添加新的POS,则需要对服务器进行更改,以确保它将认为新的POS证书有效。下面是对自己丰富的协议的描述,你不应该确切地知道它是如何工作的(因为大多数工具IIS,Apache等都会为你提取大部分内容),但它确实揭开了一些神秘面纱。 http://publib.boulder.ibm.com/infocenter/tivihelp/v5r1/index.jsp?topic=%2Fcom.ibm.itim.infocenter.doc%2Fcpt%2Fcpt_ic_security_ssl_authent2way.html

OR

b)要求受信任的客户端对服务器的所有请求都经过数字签名。公钥(非对称)加密允许您签名消息。基本上它是使用客户端(POS)私钥签名的,然后任何人(包括服务器)都可以通过使用客户端的公钥验证签名来验证其完整性。许多工具实际上会对消息进行加密和签名,这是可以的,但是如果您已经在使用SSL并且性能是一个问题,那么您不需要加密两次。如果安全性比性能更重要,那么加密两次就不会有害。以下是有关数字签名的更多信息:http://www.cgi.com/files/white-papers/cgi_whpr_35_pki_e.pdf

所以你应该有一个非常好的计划如何继续。当你开始实施这些解决方案时,请随意询问这些解决方案,因为有很多事情通常在第一次无法正常工作,调试通常很困难。我推荐一个名为Fiddler或WireShark的工具,它可以在某种程度上帮助调试Web服务。确保您的客户端可以访问自己的私钥,并且服务器信任客户端的证书。祝你好运。

http://fiddler2.com/