Rpmsg

Restricted Permission Message
Filename extension
.rpmsg
Internet media typeapplication/x-microsoft-rpmsg-message
Magic number76 E8 04 60 C4 11 E3 86
Developed byMicrosoft

Usage

An rpmsg file is a restricted-permission message with an extension of rpmsg.[1] It is used to implement IRM for Outlook messages with the aim of controlling access to content via encryption and access controls, and restricting certain actions such as the ability to forward or copy.[1][2]

Messages in this format are normally created by users of Azure Information Protection, Azure Rights Management or Active Directory Rights Management Services.[3]

Implementation

The rpmsg file is created by writing body, attachments and images to a compound file and then compressing and encrypting it to create a BLOB: the rpmsg file.[4] This resulting file is named message.rpmsg and is included as an attachment to a normal Outlook message.

Applications that support this format, such as Microsoft Outlook, transparently extract and render the message contained in the attachment as a protected message, ignoring the MIME wrapper message that hosts it. This can be implemented by parsing the file structure in-code, as currently the MSIPC SDK, normally used by applications to protect and decrypt content protected with Azure Information Protection, does not provide native functionality to encode and decode the RPMSG format.[5]

Other applications such as mobile mail clients rely on Exchange ActiveSync to perform decryption on their behalf and deliver a version of the message they can render directly.[6]

Rights Control

When a rights managed mail is created the author specifies what rights they wish to grant to the recipient and these rights are specified in the form of an XrML certificate called a 'Publishing License'. This certificate is included within the encrypted rpmsg file. When the rpmsg attachment is decrypted the enclosed 'Publishing License' is sent to the information protection service pointed to by its header in order to obtain a Use License. The service, after analyzing the policy in the certificate and matching it to the identity of the requestor, will build the Use License, another XrML encoded document, which will then be delivered to the client and used by Outlook to determine what the recipient can and cannot do with the message (rights to forward, copy etc.).[4][7]

File Format

An rpmsg file consists of a magic number followed by one or more data chunks.

Magic Number

The magic number is the eight-byte sequence 76 e8 04 60 c4 11 e3 86.

Data Chunk

Each data chunk consists of a 12-byte header followed by a variable amount of data bytes. The chunk header consists of 3 DWORDS in little-endian byte order:

  • Magic number a0 0f 00 00
  • Uncompressed chunk length YY YY YY YY
  • Compressed chunk length XX XX XX XX.

The chunk body consists of X bytes of compressed data.

Uncompressed Data

The concatenated data chunks form a single data stream compressed using the DEFLATE algorithm. The format of the uncompressed data is a Compound File Binary document. More specifically, the uncompressed data conforms to the Office Document Cryptography Structure format.

gollark: Unlikely.
gollark: R2D2 just plugged into the death star and mucked with it?
gollark: Someone just got the death star plans from some archive somewhere and apparently could just... read that?
gollark: What did you want to høst, anyway?
gollark: Hence why they apparently never invented "encryption".

References

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.