在要求3中。PCIDSS的第2条是第一句:“授权后不要存储敏感的身份验证数据”。这是否也适用于操作存储器(RAM)?因为我的安全官是这样理解的,所以他禁止我们使用java。lang。Java语言中的字符串。他的观点是,由于JAVA String是不可变的,所以不可能在授权后立即删除它,需要等待垃圾收集器将其从RAM中删除。垃圾收集器不在我们的控制之下,所以我们不能在授权后立即强制从RAM中删除敏感数据。因此,我们不符合要求3。2.我的观点是,要求3。2,不是关于RAM,而是关于持久存储(文件系统,DB等)。这不仅是关于将PAN的一些中心表示从String替换为Char数组,而且还将阻止我们使用大量标准的JAVA库进行IO。例如支付网关情况下的REST控制器。现在我们正处于设计新应用程序的阶段,所以决定这将真正帮助我们。是否有可信来源的官方解释?
1条答案
按热度按时间5f0d552i1#
不可变对象和普通对象一样留在内存中。它给表带来的效率是,如果两个变量被赋予相同的值,它不会创建一个新的副本,而是将内存中相同对象的引用分配给两者。一个普通的可变对象在被取消引用后也会一直保留在内存中,直到GC将其提取出来进行清理。如果你使用Scala这样的语言,或者其他一些默认使用不可变对象的语言,那么我从你的CISO的论点中了解到,你的软件从来就不兼容