throbber
1/20/2021
`
`[MS-EFSR]: Overview | Microsoft Docs
`
`1.3 Overview
`
`10/29/2020 • 4 minutes to read
`
`The Encrypting File System Remote Protocol (hereafter referred to as EFSRPC) is a Remote
`Procedure Call (RPC) interface that is used to manage data objects stored in an encrypted
`form. The objective of encrypting data in this fashion is to enforce access control policies
`and to provide confidentiality from unauthorized users.
`EFSRPC is implemented in Windows to provide remote management for files encrypted by
`the Encrypting File System (EFS). EFS is the ability of the New Technology File System
`(NTFS) file system to encrypt files on disk in a manner that is transparent to the user. For
`more information on EFS, see [MSFT-EFS]. For more information about NTFS, see [MSFT-
`NTFS].
`EFSRPC does not address how data is encrypted, how the encrypted data is stored, or how
`it is accessed for routine operations such as reading, writing, creating, and deleting. All
`these actions are specific to the server implementation. On Windows, NTFS provides the
`storage mechanism (the file is the unit of storage) and the Server Message Block (SMB)
`Protocol provides remote access to such files. For more information about SMB, see [MS-
`SMB] and [MS-SMB2].
`EFSRPC models the underlying data encryption architecture using two basic constructs:
`A set of data objects, each of which is encrypted independently and can be managed
`independently.
`A set of access control subjects, each of which is represented by a key pair generated
`by a public key cryptographic algorithm. The public key of this key pair is embedded
`in a certificate and can be widely distributed in that form. The corresponding private
`key is held solely by the user or users who represent that subject. Thus, a given access
`control subject can correspond to one or more users, and a given user can possess
`the private keys for zero or more access control subjects. Access control subjects are
`further divided into two types:
`Unprivileged user subjects, which are used for routine data access by ordinary
`users of the system. For convenience, this specification refers to such subjects as
`user certificate.
`
`https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-efsr/4892c610-4595-4fba-a67f-a2d26b9b6dcd
`
`1/5
`
`Patent Owner, Bot M8 LLC - Ex. 2026, p. 1
`
`

`

`1/20/2021
`
`[MS-EFSR]: Overview | Microsoft Docs
`Data Recovery Agents (DRAs), which are controlled by system administrators. The
`storage system ensures that all active DRAs for the system are automatically
`authorized to access all encrypted objects on the system. If an unprivileged user
`loses the private key, an administrator can use a DRA's private key to recover the
`contents of encrypted objects.
`EFSRPC also assumes that each encrypted object is associated with some security-related
`metadata, which contains information required for authorized users and DRAs to access
`the plaintext of the object. This specification refers to this security-related metadata as the
`EFSRPC Metadata.
`EFSRPC does not specify how data is encrypted, stored, or accessed. It is possible to build a
`compliant EFSRPC implementation that uses a mechanism, such as access control lists
`(ACLs), instead of encryption to control access to data objects. For the purposes of this
`specification, the term encrypted is used to indicate that a data object and its metadata can
`be successfully manipulated through the EFSRPC methods, with the exception of the
`EfsRpcEncryptFileSrv method, which converts data objects from an unencrypted state to an
`encrypted state.
`Within the preceding model, EFSRPC provides various categories of management routines.
`The syntax of the individual methods and rules for how these methods are processed on
`the server are specified in section 3.1.4.2. The categories of management routines that
`EFSRPC provides are as follows:
`Requesting the server to convert objects from encrypted state to unencrypted state
`and vice versa.
`EfsRpcEncryptFileSrv (section 3.1.4.2.5)
`EfsRpcDecryptFileSrv (section 3.1.4.2.6)
`Creating, querying, and manipulating the EFSRPC Metadata. Clients use the following
`methods to query and change which user certificates can be used to decrypt an
`encrypted object. The set of user certificates with access to an object needs to be
`changed when the set of users with access to the object changes or when a user with
`access to the object changes the user certificate. The following methods can also be
`used to copy the access rights from one object to another; the
`EfsRpcDuplicateEncryptionInfoFile method is particularly well-suited for this purpose.
`Methods:
`EfsRpcQueryUsersOnFile (section 3.1.4.2.7)
`
`https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-efsr/4892c610-4595-4fba-a67f-a2d26b9b6dcd
`
`2/5
`
`Patent Owner, Bot M8 LLC - Ex. 2026, p. 2
`
`

`

`1/20/2021
`
`[MS-EFSR]: Overview | Microsoft Docs
`EfsRpcQueryRecoveryAgents (section 3.1.4.2.8)
`EfsRpcRemoveUsersFromFile (section 3.1.4.2.9)
`EfsRpcAddUsersToFile (section 3.1.4.2.10)
`EfsRpcFileKeyInfo (section 3.1.4.2.12)
`EfsRpcDuplicateEncryptionInfoFile (section 3.1.4.2.13)
`EfsRpcAddUsersToFileEx (section 3.1.4.2.14)
`EfsRpcFileKeyInfoEx (section 3.1.4.2.15)
`EfsRpcGetEncryptedFileMetadata (section 3.1.4.2.16)
`EfsRpcSetEncryptedFileMetadata (section 3.1.4.2.17)
`Performing backup of encrypted objects in ciphertext form along with their EFSRPC
`Metadata, and restoring encrypted objects from such backups. Depending on the
`implementation of these methods, the backups that are created can expose the
`implementation-specific EFSRPC Metadata format to the client. The Windows
`implementation of these methods exposes the Windows EFSRPC Metadata format;
`however, Windows applications do not manipulate this information. The following
`methods are suitable for secure content archival or transferring encrypted data
`securely between servers of the same implementation because they do not require
`decrypting the data. Methods:
`EfsRpcOpenFileRaw (section 3.1.4.2.1)
`EfsRpcReadFileRaw (section 3.1.4.2.2)
`EfsRpcWriteFileRaw (section 3.1.4.2.3)
`EfsRpcCloseRaw (section 3.1.4.2.4)
`Controlling the server's encryption subsystem. Methods:
`EfsRpcFlushEfsCache (section 3.1.4.2.18)
`Most of the EFSRPC routines are stateless and can be called in any order. When one of
`these routines is called, the message exchange is as follows.
`
`https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-efsr/4892c610-4595-4fba-a67f-a2d26b9b6dcd
`
`3/5
`
`Patent Owner, Bot M8 LLC - Ex. 2026, p. 3
`
`

`

`1/20/2021
`
`[MS-EFSR]: Overview | Microsoft Docs
`
`Figure 1: Message exchange for stateless routines
`There are two routines in EFSRPC that are an exception to the stateless nature of the
`protocol. Several methods, collectively known as the EFSRPC raw methods, are an
`exception and need to be called in a specific order. This includes the EfsRpcOpenFileRaw,
`EfsRpcReadFileRaw, EfsRpcWriteFileRaw, and EfsRpcCloseRaw methods. The following two
`sequences are permissible.
`
`Figure 2: Message sequence for opening a file
`
`https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-efsr/4892c610-4595-4fba-a67f-a2d26b9b6dcd
`
`4/5
`
`Patent Owner, Bot M8 LLC - Ex. 2026, p. 4
`
`

`

`1/20/2021
`
`[MS-EFSR]: Overview | Microsoft Docs
`
`Figure 3: Message sequence for importing a file
`
`Is this page helpful?
` Yes  No
`
`https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-efsr/4892c610-4595-4fba-a67f-a2d26b9b6dcd
`
`5/5
`
`Patent Owner, Bot M8 LLC - Ex. 2026, p. 5
`
`

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket