http://qs321.pair.com?node_id=915484


in reply to RFC: SecureString - Obfuscated / masked strings exept when you need them

solution to the problem of safely passing sensitive data to debugging code

I think the solution is to not store such data in the first place :) see collecting sensitive data, Encrypting Credit card numbers

  • Comment on Re: RFC: SecureString - Obfuscated / masked strings exept when you need them

Replies are listed 'Best First'.
Re^2: RFC: SecureString - Obfuscated / masked strings exept when you need them
by duelafn (Parson) on Jul 19, 2011 at 15:08 UTC

    Well, yes, this not about long-term storage, this is about protecting the data between receiving the data from the client (say, a query parameter) and actually using the data. See, for example, the Business::OnlinePayment example. It is certainly reasonable to log all transactions which are sent to the payment processing site. Of course, to do that one needs to obfuscate the credit card number. In tight code, this should be reasonably easy to do, but of course, 1) not all code is tight and 2) even in tight code it could be convenient to not have to worry about sensitive data leakage. I could certainly be convinced that something like this module is too much (or more precisely makes promises that it can not reliably deliver), but I don't see how you can "not store such data in the first place" - one has to store sensitive information in variables between receipt of the value and use of the value. This module is for that period.

    Update: In particular, this helps saitsfy the PCI DSS requirement (3.2, 3.4) that no sensitive data leak into logs (error logs, trace logs, ...). Some of these error logs may originate from external modules that aren't entirely under your control.

    Good Day,
        Dean