用什么? 电子签名?
抱歉,我找不到这个问题的最佳标题。 以下是我的要求。
我正在开发一个项目,该项目将大量资金交易到不同的帐户。 系统自动将资金转入 A、B、C 等账户,但在此之前,A、B 或 C 中的某个人应批准(以电子方式)转帐金额。
您认为最好的做法是什么? 我希望系统发送一个经过数字签名的文件(PDF 格式)(?),并且 A、B 和 C 的授权人员应检查并确认金额是否正确。
由于金额很大,我必须确保系统发出的文件不被篡改,同时我也要确保A、B或C发送的文件(回复)也不被篡改。 实现这一目标的最佳方法是什么? 有任何想法吗?
Sorry I couldn't find the best heading for this question. Following is my requirement.
I a working on a project which deals which large amount of money transactions to different account. The system automatically transfers money to accounts of A,B, C etc etc,, But before this is done Some one from A,B or C should approve(electronically) the amount to be transferred.
What do you think is the best way of doing it? I want the system to send a file (PDF of something) which is digitally signed (?) and the authorised person from A,B and C should check and confirm that the amount is correct.
Since the amount is high I must make sure the file sent out by the system is not tampered and at the same time I also want to make sure the file (reply) sent by A,B or C is also not tampered . What is the best way to achieve it? Any ideas?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
数字签名正是您所寻找的。 Adobe PDF(既然您提到了 pdf)允许您在免费的 Adobe Reader 版本中签署 pdf,并且一旦您打开 pdf 文档,验证也会自动完成。
Nordorin 发布的 DigSig 和 (H)MAC 之间的区别在于,MAC 使用对称加密,您需要安全通道来交换密钥,而在 PKI 不需要安全通道的环境。
这取决于您想要如何分发密钥。
Digital Signatures is what you are looking for. Adobe PDF (since you mentioned pdf) allows you to sign the pdf in the free Adobe Reader version and verification is also done automatically, as soon as you open the pdf document.
The difference between DigSig and (H)MACs as posted by Noldorin is, that MACs use symmetric encryption, where you require a secure channel to exchange the key, whereas in a PKI environment that secure channel is not required.
It depends how you want to distribute your keys.
您需要研究MAC(消息身份验证代码)。 有许多针对各种语言的库可以实现常见算法,例如 HMAC。
编辑:另请参阅 DSA (http://en.wikipedia.org/wiki/Digital_Signature_Algorithm) ,这是一种流行的数字签名算法,并且在标准.NET框架(System.Cryptography命名空间)中完全实现。
You'll want to look into MACs (Message Authentication Codes). There are a number of libraries out there for various languages that implement common algorithms such as HMAC.
EDIT: See also DSA (http://en.wikipedia.org/wiki/Digital_Signature_Algorithm), which is a popular algorithm for digital signatures, and is fully implemented in the standard .NET framework (System.Cryptography namespace).
我的第一反应是数字签名 - 但它们有一个致命的缺陷:它们是数字数据,可能会被粗心的用户破坏。
如果这是一个问题,您可以采用南非银行使用的流程,即一次性密码。 该密码通过不参与交易的方式传输给他们(在南非,这是通过短信,我强烈推荐)。 我们首先输入用户名和密码,然后通过短信获取 OTP,然后我们需要输入该 OTP 来进行任何导致资金离开我们账户的交易。
强大的安全形式(提高有效性)包括(我不是专家,但我知道一些):
据我所知,如果您拥有其中任何三个,您就可以对自己的安全感到满意。 添加更多安全性会成倍增加,但也会增加不便因素。 在南非,银行使用知识、财产和时间——网络钓鱼实际上对南非银行不起作用。
希望这对您有所帮助。
My first reaction would be Digital Signatures - but they have a fatal flaw: they are digital data that could be compromised by a careless user.
If that is a concern you can go for the process that South African banks use, a one-time password. This password is transferred to them via a means that is not involved in the transaction (in South Africa this is by SMS, which I strongly recommend). We first type in a username and password, and then get the OTP via SMS which we then need to type in for any transactions that lead to money leaving our accounts.
Strong forms of security (in increasing effectiveness) include (I am no expert, but I do know a few):
From what I know if you have any three of those you can be comfortable with your security. Adding more increases security exponentially, but also increases the inconvenience factor. The banks use Knowledge, Possession and Time in South Africa - and phishing really doesn't work against South African banks.
Hope this helped you out a little.
要对文件进行数字签名,您可以使用任何 Microsoft 合作伙伴。 例如,Arx 为您提供了一个名为 CoSign 的工具,您可以免费使用它(或至少是试用版)。 这将允许您将电子签名添加到大多数可用格式(word、pdf、xml 等)。
To digitally sign a file, you can use any of Microsoft's partners. Arx for example provide you with a tool called CoSign which you can use for free (or at least their trial version). This will allow you to add electronic signatures to most available formats (word, pdf, xml etc').