Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: intro wordsmithing

Sensitive data must be protected from eavesdropping and . All data that crosses a trust boundary must be protected from malicious tampering. An obfuscated transfer object [Steel 2005] that is strongly encrypted can protect data. This approach is known as sealing the object. To guarantee object integrity, apply a digital signature to the sealed object.

Sealing and signing objects is the preferred mechanism to secure data when

  • Serializing or transporting sensitive Transporting sensitive data or serializing any data.
  • A secure communication channel such as Secure Sockets Layer (SSL) is absent or is too costly for limited transactions.
  • Sensitive data must persist over an extended period of time (for example, on a hard drive).

Avoid using home-brewed cryptographic algorithms; such algorithms will almost certainly introduce unnecessary vulnerabilities. Applications that apply home-brewed "cryptography" in the readObject() and writeObject() methods are prime examples of anti-patterns. However, using existing cryptography libraries inside readObject() and writeObject() is perfrectly warranted.

This rule applies to the intentional serialization of sensitive information. SER03-J. Do not serialize unencrypted sensitive data is meant to prevent the unintentional serialization of sensitive information.

...