File: README.md

package info (click to toggle)
chromium 138.0.7204.157-1
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 6,071,864 kB
  • sloc: cpp: 34,936,859; ansic: 7,176,967; javascript: 4,110,704; python: 1,419,953; asm: 946,768; xml: 739,967; pascal: 187,324; sh: 89,623; perl: 88,663; objc: 79,944; sql: 50,304; cs: 41,786; fortran: 24,137; makefile: 21,806; php: 13,980; tcl: 13,166; yacc: 8,925; ruby: 7,485; awk: 3,720; lisp: 3,096; lex: 1,327; ada: 727; jsp: 228; sed: 36
file content (27 lines) | stat: -rw-r--r-- 1,422 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
This directory contains the interface to the application-bound encryption
primitives that are implemented by the elevation service in
[src/chrome/elevation_service].

`EncryptAppBoundString` and `DecryptAppBoundString` act like
`OSCrypt::EncryptString` and `OSCrypt::DecryptString` implemented by
[src/components/os_crypt] except that, unlike `OSCrypt`, which binds encrypted
data to the current user using DPAPI, this API will bind the encrypted data
with a `ProtectionLevel` specified by the caller.

`ProtectionLevels` are defined by chrome/elevation_service and are currently:

 - `ProtectionLevel::PROTECTION_NONE`

   This acts identically to DPAPI in that the protection level is user-bound.
   Only a `DecryptAppBoundString` call that comes from the same user principle
   as the original `EncryptAppBoundString` call with succeed.

 - `ProtectionLevel::PROTECTION_PATH_VALIDATION`

   This adds an additional protection that the path of the calling application
   will be validated. Only a `DecryptAppBoundString` call that comes from the
   same user principle, calling from the same Application (with the same file
   path) as the original `EncryptAppBoundString` call with succeed. It is only
   safe to call this from an application that is installed into a 'Trusted
   Path' such as `C:\Program Files`, otherwise protection can be trivially
   bypassed by renaming/placing a file into the required location.