java - 包含敏感数据的可序列化类

标签 java security serialization java-security

我对我的项目进行了安全扫描,并遇到了以下问题 -

Serializable Class Containing Sensitive Data

解决办法是

In Java, explicitly define final writeObject() to prevent serialization. This is the recommended solution. Define the writeObject() function to throw an exception explicitly denying serialization.

扫描中指出的问题之一:

Map<String, String> creditCardDetails;

我怀疑我们是否能做到这一点?我们实际上可能需要对象序列化并通过网络传递。我无法进行加密。这也可能会耗费大量的时间。

我们可以讨论这个问题吗:

  1. 如何做到这一点?

  2. 什么情况下我们可以这样做?

  3. 还有其他解决方案吗?

最佳答案

I doubt if we can do this? We might actually require the object to serialize and pass over the network. I cannot do encryption. This might be costly in terms of time too.

如果您通过不安全的 channel 传递客户的信用卡详细信息,就会使客户面临财务风险。这是严重违反信任,在许多司法管辖区可能更严重。

如果您的系统被发现泄露信用卡信息,您的客户有可能起诉您。如果诉讼进入审判阶段,并且您被发现因故意设计决定而泄露了信用卡信息,预计您/您的公司将获得远远超过实际损失的惩罚性赔偿给您的客户。

对此只有两种安全的解决方案:

  1. 传输信用卡信息和其他敏感信息时使用加密。性能损失是开展业务的成本。如果成本太高,请远离这个行业!

  2. 不要传输信用卡信息。

请注意,存储信用卡详细信息也存在潜在风险。如果你弄错了并且存在泄漏,这也是诉讼领域。

这可能不是您/您的老板想听到的,但您/他们需要听到。

关于java - 包含敏感数据的可序列化类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59360284/

相关文章:

java - 在 Linux 机器上配置 Java 7 中的站点异常(exception)列表

wcf - System.Runtime.Serialization.DataContractAttribute 在命名空间 System.Runtime.Serialization 中不存在

c# - 如何序列化 WCF 响应中的嵌套类型?

java - "NegativeArraySizeException"- 自定义类加载器

java - jsp中执行对象方法

java - SSLContext初始化

java - 避免Java因证书错误而出现安全警告

PHP 和 AJAX 安全问题

java - Apache POI Excel 行和列索引

Java:大型 Guava 表对象的序列化失败并出现内存不足错误