Share via


Best Practices for Application Design

There are several best practices that application designers can follow to create more secure applications with the Active Directory Rights Management Services (AD RMS) SDK. The following list is a brief selection of recommendations. For more information about security guidelines when programming with AD RMS, see Security Best Practices for Active Directory Rights Management Services.

  • Minimize page swapping where feasible.
  • Avoid communication of unencrypted content through IPC channels outside the application unless rights such as PRINT, EXTRACT, EXPORT, or OWNER are specified in the license.
  • Do not program your application to send unencrypted information over a network unless a right, such as the PRINT, EXTRACT, EXPORT, or OWNER right, is specified in the license. An exception is running the application under Terminal Server, NetMeeting, or any product with similar network-sharing functions.
  • Never page out decrypted content to swap files.
  • Never lock pages containing decrypted content buffers, zero buffers, and halt operations on low-memory conditions.
  • Encrypt protected content prior to paging or temporarily persisting content to disk. Decrypt only on use.
  • It is recommended that you create a security threat model that describes various kinds of failures and attacks to which your application may be vulnerable. This enables developers to maintain attention to these risks at all stages of the development process.
  • Compress data before encrypting to remove repeat characters. This will make your encryption stronger.
  • If your application displays content in a user interface, use the DRMRegisterContent function to increase security by blocking print screen, among other features.

See Also

Building an AD RMS-Enabled Application

Send comments about this topic to Microsoft

Build date: 3/13/2008