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

问题描述 投票:0回答:1

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

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

解决方法是

在Java中,显式定义最终的writeObject()以防止序列化。这是推荐的解决方案。定义writeObject()函数以引发显式拒绝序列化的异常。

扫描中指出的问题之一:

Map<String, String> creditCardDetails;

我怀疑我们是否可以这样做?实际上,我们可能要求对象进行序列化并通过网络传递。我无法进行加密。就时间而言,这可能也很昂贵。

我们可以为此讨论吗?

  1. 如何执行?

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

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

java security serialization java-security
1个回答
2
投票

我怀疑我们是否可以这样做?实际上,我们可能要求对象进行序列化并通过网络传递。我无法进行加密。就时间而言,这可能也很昂贵。

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

如果随后发现您的系统泄漏了信用卡信息,则您的客户可能会起诉您。如果提起诉讼,但由于故意的设计决定而发现您的信用卡信息泄露,则可望对您/您的公司判给惩罚性损害赔偿,远远超出对客户的实际损害。

只有两个安全的解决方案:

    传输信用卡信息和其他敏感信息时,
  1. 使用strong加密。性能下降是经商的成本。如果成本太高,那就别忙了!

  2. 不发送信用卡信息。

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

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

© www.soinside.com 2019 - 2024. All rights reserved.