繁体   English   中英

具有数字签名的Java REST服务

[英]Java REST-Service with Digital Signing

我有一个小的REST服务,有很多客户端连接到该服务。 现在,我需要确保该请求仅来自客户端,而响应仅来自服务器。 我不需要加密数据,因为有人可以读取它并不重要,重要的是没人可以输入错误的数据。

现在,我的想法是将数字签名与公钥和私钥(RSA)结合使用。 真正重要的是算法的速度。

这是正确的主意吗? 如何在JAX-RS中做到这一点?

TLS相当快而且相当安全(无论如何,与大多数自制软件相比)。 好的,它还提供了保密性,但是应该可以。 使用TLS(可能带有自签名证书)可能最有意义。 您在这里有非常快速的算法,例如ECDHE-ECDSA-AES128-GCM-SHA256

如果您想使用CMS容器格式​​来获得应用程序级安全性(对请求/响应进行签名),则使用SHA-512的ECDSA可能最有意义。 请注意,如果您选择此路线,则可能必须防止重放攻击。 不过,搞砸这一点的机会要高得多。

对于私钥操作,ECDSA比RSA快得多,因此在需要高效率的情况下,ECDSA绝对比RSA更可取(除非RSA仍然足够快,这很可能就是这种情况)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM