summaryrefslogtreecommitdiff
path: root/doc/rfc/rfc7569.txt
blob: 0e38df9c0f17c94f691c7aa7b10bc79ddc73d238 (plain) (blame)
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
Internet Engineering Task Force (IETF)                        D. Quigley
Request for Comments: 7569
Category: Standards Track                                          J. Lu
ISSN: 2070-1721                                                   Oracle
                                                               T. Haynes
                                                            Primary Data
                                                               July 2015


       Registry Specification for Mandatory Access Control (MAC)
                         Security Label Formats

Abstract

   In the past, Mandatory Access Control (MAC) systems have used very
   rigid policies that were implemented in particular protocols and
   platforms.  As MAC systems become more widely deployed, additional
   flexibility in mechanism and policy will be required.  While
   traditional trusted systems implemented Multi-Level Security (MLS)
   and integrity models, modern systems have expanded to include such
   technologies as type enforcement.  Due to the wide range of policies
   and mechanisms that need to be accommodated, it is unlikely that the
   use of a single security label format and model will be viable.

   To allow multiple MAC mechanisms and label formats to co-exist in a
   network, this document creates a registry of label format
   specifications.  This registry contains label format identifiers and
   provides for the association of each such identifier with a
   corresponding extensive document outlining the exact syntax and use
   of the particular label format.

Status of This Memo

   This is an Internet Standards Track document.

   This document is a product of the Internet Engineering Task Force
   (IETF).  It represents the consensus of the IETF community.  It has
   received public review and has been approved for publication by the
   Internet Engineering Steering Group (IESG).  Further information on
   Internet Standards is available in Section 2 of RFC 5741.

   Information about the current status of this document, any errata,
   and how to provide feedback on it may be obtained at
   http://www.rfc-editor.org/info/rfc7569.







Quigley, et al.              Standards Track                    [Page 1]
^L
RFC 7569                  Labeled NFS Registry                 July 2015


Copyright Notice

   Copyright (c) 2015 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (http://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

Table of Contents

   1. Introduction ....................................................3
   2. Definitions .....................................................4
   3. Existing Label Format Specifications ............................4
      3.1. IP Security Option (IPSO), Basic Security Option (BSO) .....4
      3.2. Commercial IP Security Option (CIPSO) ......................5
      3.3. Common Architecture Label IPv6 Security Option (CALIPSO) ...5
      3.4. Flux Advanced Security Kernel (FLASK) ......................5
   4. Security Considerations .........................................5
   5. IANA Considerations .............................................5
      5.1. Initial Registry ...........................................6
      5.2. Adding a New Entry to the Registry .........................7
      5.3. Obsoleting a Label Format Specifier ........................8
      5.4. Modifying an Existing Entry in the Registry ................8
   6. References ......................................................9
      6.1. Normative References .......................................9
      6.2. Informative References .....................................9
   Acknowledgments ...................................................10
   Authors' Addresses ................................................10
















Quigley, et al.              Standards Track                    [Page 2]
^L
RFC 7569                  Labeled NFS Registry                 July 2015


1.  Introduction

    With the acceptance of security labels in several mainstream
    operating systems, the need to communicate labels between these
    systems becomes more important.  In a typical client-and-server
    scenario, the client request to the server acts as a subject trying
    to access an object on the server [RFC7204].  Unfortunately, these
    systems are diverse enough that attempts at establishing one common
    label format have been unsuccessful.  This is because systems
    implement different Mandatory Access Control (MAC) models, which
    typically do not share any common ground.

    One solution might be to define a single label format that consists
    of the union of the requirements of all MAC models/implementations,
    known at a given time.  This approach is not desirable, because it
    introduces an environment where either (1) many MAC models would
    have blank fields for many of the label's components or (2) many
    implementations would ignore altogether many of the values that are
    present.  The resulting complexity would be likely to result in a
    confusing situation in which the interaction of fields that are
    derived from different MAC models is never clearly specified and the
    addition of new models or extensions of existing models is unduly
    difficult.

    An additional consideration is that if a policy authority or
    identifier field is specified in the label format, it would require
    a robust description that would encompass multiple MAC models where
    an implementation would lock policy administration into the
    described model.

    Ideally, a mechanism to address this problem should allow the most
    flexibility possible in terms of policy administration while
    providing a specification that is sufficient to allow for
    implementation of the label format and understanding of the
    semantics of the label.  This means that the label format
    specification would ideally contain a syntactic description of the
    label format and a description of the semantics for each component
    in the label.  This allows protocols to specify the type of label
    and label semantics that it requires while leaving policy and policy
    administration to the individual organizations using the protocol in
    their environment.

    Policy administration within an organization is a difficult problem.
    This should not be made even more difficult by having to request
    permission from external entities when crafting new policy or just
    making department specific modifications to existing policies.  The
    policy authority field would allow a label format specification to
    specify a scheme for policy administration without forcing it on all



Quigley, et al.              Standards Track                    [Page 3]
^L
RFC 7569                  Labeled NFS Registry                 July 2015


    users of security labels.  However, by agreeing to implement a
    particular label format specification, the protocol agrees to that
    policy administration mechanism when processing labels of that type.

    This document creates a registry of label format specifications to
    allow multiple MAC mechanisms and label formats to co-exist in a
    network.  While the initial use of this registry is for the Network
    File System (NFS) protocol, it might also be referenced and used by
    other IETF protocols in the future.

2.  Definitions

   Label Format Specifier:  an identifier used by the client to
      establish the syntactic format of the security label and the
      semantic meaning of its components.

   Label Format Specification:  a reference to a stable, public document
      that specifies the label format.

   Multi-Level Security (MLS):  a traditional model where subjects are
      given a security level (Unclassified, Secret, Top Secret, etc.)
      and objects are given security labels that mandate the access of
      the subject to the object (see [BL73] and [RFC2401]).

      (Although RFC 2401 has been obsoleted by RFC 4301, RFC 2401 is
      still the definitive reference for MLS as discussed in this
      document.)

   object:  a passive resource within the system that we wish to
      protect.  Objects can be entities such as files, directories,
      pipes, sockets, and many other system resources relevant to the
      protection of the system state.

   subject:  an active entity, usually a process, user, or client, that
      is requesting access to an object.

3.  Existing Label Format Specifications

3.1.  IP Security Option (IPSO), Basic Security Option (BSO)

   The "IP Security Option (IPSO)" label format is defined in [RFC1108].
   IANA has assigned IPv4 Option 130 to the IPSO Basic Security Option
   (BSO).  IPSO is the only IPv4 sensitivity label option implemented in
   commercial IP routers.  IPSO BSO continues to have widespread
   implementation in hosts, and widespread deployment.  For the purposes
   of this document, only the BSO labels in Table 1 on Page 3 of
   [RFC1108] are used.




Quigley, et al.              Standards Track                    [Page 4]
^L
RFC 7569                  Labeled NFS Registry                 July 2015


   In some locales, the BSO value "(Reserved 2)" is used for marking
   information that is considered "Restricted" by local policy, where
   "Restricted" is less sensitive than "Confidential" but more sensitive
   than "Unclassified".

3.2.  Commercial IP Security Option (CIPSO)

   The "Commercial IP Security Option (CIPSO)" label format is
   documented in [CIPSO] and in [FIPS-188].  While [CIPSO] is long
   expired, it is widely supported in deployed MLS systems that support
   IPv4.  IANA has assigned IPv4 option number 134 to CIPSO.  CIPSO is
   defined ONLY as an IPv4 option.  IANA has never assigned any IPv6
   option value to CIPSO.

3.3.  Common Architecture Label IPv6 Security Option (CALIPSO)

   The "Common Architecture Label IPv6 Security Option (CALIPSO)" label
   format is specified in [RFC5570] and is defined for IPv6.  As noted
   in Section 10 of [RFC5570], CALIPSO is a direct derivative of the
   IPv4 "Son of IPSO" (SIPSO); therefore, CALIPSO is NOT derived from
   CIPSO in any way.

3.4.  Flux Advanced Security Kernel (FLASK)

   The Flux Advanced Security Kernel (FLASK) [FLASK99] is an
   implementation of an architecture to provide flexible support for
   security policies.  Section 2.1 of [FLASK99b] summarizes the
   architecture of FLASK and describes:

   1.  the interactions between a subsystem that enforces security
       policy decisions and a subsystem that makes those decisions.

   2.  the requirements on the components within each subsystem.

4.  Security Considerations

   This document defines a mechanism to associate the Label Format
   Specifier identifier with a document outlining the syntax and format
   of a label.  There are no security considerations for such an
   association.  The label specification documents referenced by each
   registration entry should state security considerations for the label
   mechanism it specifies.

5.  IANA Considerations

   This section provides guidance to the Internet Assigned Numbers
   Authority (IANA) regarding the creation of a new registry in
   accordance with [RFC5226].



Quigley, et al.              Standards Track                    [Page 5]
^L
RFC 7569                  Labeled NFS Registry                 July 2015


   Per this document, IANA has created a new registry called "Security
   Label Format Selection Registry".  The new registry has the following
   fields:

   Label Format Specifier:  An integer that maps to a particular label
      format, e.g., the CALIPSO label format defined by [RFC5570].  The
      namespace of this identifier has the range of 0..65535.

   Label Description:  A human-readable ASCII [RFC20] text string that
      describes the label format, e.g., "Common Architecture Label IPv6
      Security Option (CALIPSO)".  The length of this field is limited
      to 128 bytes.

   Status:  A short ASCII text string indicating the status of an entry
      in the registry.  The status field for most entries should have
      the value "active".  In the case where a label format selection
      entry is obsolete, the status field of the obsoleted entry should
      be "obsoleted by entry NNN".

   Label Format Specification:  A reference to a stable, public document
      that specifies the label format, e.g., a URL to [RFC5570].

5.1.  Initial Registry

   The initial assignments of the registry are as follows:

   +---------------+---------------------+--------+--------------------+
   | Label Format  | Description         | Status | Reference          |
   | Specifier     |                     |        |                    |
   +---------------+---------------------+--------+--------------------+
   | 0             | Reserved            | -      | -                  |
   | 1 - 127       | Private Use         | -      | -                  |
   | 128 - 255     | Experimental Use    | -      | -                  |
   | 256           | CIPSO (tag type #1) | active | [FIPS-188]         |
   | 257           | CALIPSO [RFC5570]   | active | [RFC5570]          |
   | 258           | FLASK Security      | active | [FLASK99]          |
   |               | Context             |        |                    |
   | 259           | IPSO                | active | [RFC1108]          |
   | 260 - 65535   | Available for IANA  | -      | -                  |
   |               | Assignment          |        |                    |
   +---------------+---------------------+--------+--------------------+

                       Label Format Specifier Ranges

                                  Table 1






Quigley, et al.              Standards Track                    [Page 6]
^L
RFC 7569                  Labeled NFS Registry                 July 2015


5.2.  Adding a New Entry to the Registry

   A label format specification document is required to add a new entry
   to the "Security Label Format Selection Registry".  If the label
   format document is inside the RFC path, then the IANA Considerations
   section of the label format document should clearly reference the
   "Security Label Format Selection Registry" and request allocation of
   a new entry.  The well-known IANA policy Specification Required, as
   defined in Section 4.1 of [RFC5226], will be used to handle such
   requests.  Note that the "Specification Required" policy implies that
   this process requires a Designated Expert, i.e., adding a new entry
   to this registry requires both a published label format specification
   and a Designated Expert review.

   In reviewing the published label format specification, the Designated
   Expert should consider whether or not the specification provides
   sufficient semantics for the object and subject labels to enforce the
   MAC model and policy administration when deployed within an
   organization.  Another consideration is if the label format allows a
   correct and complete implementation of the protocol to process and
   enforce labels as a policy administration mechanism.  Finally, to
   reduce interoperability issues, the reviewer must determine if the
   new label format specification has clearly defined syntax and
   semantics for the proposed new labels.



























Quigley, et al.              Standards Track                    [Page 7]
^L
RFC 7569                  Labeled NFS Registry                 July 2015


5.3.  Obsoleting a Label Format Specifier

   In the case where a label format selector number is assigned to a
   label format and the label format specification is changed later, a
   new selector assignment should be requested.  The same Specification
   Required IANA policy applies to such requests.  The IANA
   Considerations section of the updated label format specification
   should be explicit regarding which old label selector assignment it
   obsoletes.  Below is an example of an obsoleted entry in the
   registry:

   +--------------+--------------------+-----------+-------------------+
   | Label Format | Description        | Status    | Reference         |
   | Specifier    |                    |           |                   |
   +--------------+--------------------+-----------+-------------------+
   | 0            | Reserved           | -         | -                 |
   | 1 - 127      | Private Use        | -         | -                 |
   | 128 - 255    | Experimental Use   | -         | -                 |
   | 256          | CIPSO (tag type    | active    | [FIPS-188]        |
   |              | #1)                |           |                   |
   | 257          | CALIPSO [RFC5570]  | active    | [RFC5570]         |
   | 258          | FLASK Security     | obsoleted | [FLASK99]         |
   |              | Context            | by 263    |                   |
   | ...          |                    |           |                   |
   | 263          | FLASK Security     | active    | [new spec URL]    |
   |              | Context (v2)       |           |                   |
   | 264 - 65535  | Available for IANA | -         | -                 |
   |              | Assignment         |           |                   |
   +--------------+--------------------+-----------+-------------------+

               Example Label Format Specifier Updated Ranges

                                  Table 2

5.4.  Modifying an Existing Entry in the Registry

   A request to modify either the Description or the published label
   format specification will also require the Specification Required
   IANA policy to be applied.  The Designated Expert reviewer will need
   to determine if the published label format specification either
   obsoletes the Label Format Specifier or updates the label syntax and/
   or model.  If the Label Format Specifier is obsoleted, then the
   reviewer will follow the process defined in Section 5.3.  Otherwise,
   for the update of the label syntax and/or the model, the reviewer
   will approve the change.






Quigley, et al.              Standards Track                    [Page 8]
^L
RFC 7569                  Labeled NFS Registry                 July 2015


6.  References

6.1.  Normative References

   [RFC20]    Cerf, V., "ASCII format for network interchange", STD 80,
              RFC 20, DOI 10.17487/RFC0020, October 1969,
              <http://www.rfc-editor.org/info/rfc20>.

   [RFC5226]  Narten, T. and H. Alvestrand, "Guidelines for Writing an
              IANA Considerations Section in RFCs", BCP 26, RFC 5226,
              DOI 10.17487/RFC5226, May 2008,
              <http://www.rfc-editor.org/info/rfc5226>.

6.2.  Informative References

   [BL73]     Bell, D. and L. LaPadula, "Secure Computer Systems:
              Mathematical Foundations and Model", Technical Report
              M74-244, The MITRE Corporation, Bedford, MA, May 1973.

   [CIPSO]    IETF CIPSO Working Group, "Commercial IP Security Option
              (CIPSO 2.2)", Work in Progress,
              draft-ietf-cipso-ipsecurity-01, July 1992.

   [FIPS-188] US National Institute of Standards and Technology,
              "Standard Security Labels for Information Transfer",
              Federal Information Processing Standards (FIPS) 188,
              September 1994, <http://csrc.nist.gov/publications/
              fips/fips188/fips188.pdf>.

   [FLASK99]  Spencer, R., Smalley, S., Loscocco, P., Hibler, M.,
              Andersen, D., and J. Lepreau, "The Flask Security
              Architecture: System Support for Diverse Security
              Policies", In Proceedings of the Eighth USENIX
              Security Symposium, pages 123-139, August 1999,
              <https://www.cs.cmu.edu/~dga/papers/
              flask-usenixsec99.pdf>.

   [FLASK99b] Secure Computing Corporation, "Assurance in the Fluke
              Microkernel Formal Security Policy Model", Document
              00-0930896A001 Rev B, 17 Feb 1999, Secure Computing
              Corporation, Roseville, MN, USA, February 1999,
              <http://www.cs.utah.edu/flux/fluke/html/fspm.ps.gz>.

   [RFC1108]  Kent, S., "U.S. Department of Defense Security Options for
              the Internet Protocol", RFC 1108, DOI 10.17487/RFC1108,
              November 1991, <http://www.rfc-editor.org/info/rfc1108>.





Quigley, et al.              Standards Track                    [Page 9]
^L
RFC 7569                  Labeled NFS Registry                 July 2015


   [RFC2401]  Kent, S. and R. Atkinson, "Security Architecture for the
              Internet Protocol", RFC 2401, DOI 10.17487/RFC2401,
              November 1998, <http://www.rfc-editor.org/info/rfc2401>.

   [RFC5570]  StJohns, M., Atkinson, R., and G. Thomas, "Common
              Architecture Label IPv6 Security Option (CALIPSO)", RFC
              5570, DOI 10.17487/RFC5570, July 2009,
              <http://www.rfc-editor.org/info/rfc5570>.

   [RFC7204]  Haynes, T., "Requirements for Labeled NFS", RFC 7204, DOI
              10.17487/RFC7204, April 2014,
              <http://www.rfc-editor.org/info/rfc7204>.

Acknowledgments

   Ran Atkinson contributed the text for IPSO.

   Dave Noveck helped detangle the terminology.

   Alexey Melnikov caught that a process was needed for modifying
   entries in the registry.

Authors' Addresses

   David P. Quigley

   Email: dpquigl@davequigley.com


   Jarrett Lu
   Oracle

   Email: jarrett.lu@oracle.com


   Thomas Haynes
   Primary Data, Inc.
   4300 El Camino Real Ste 100
   Los Altos, CA  94022
   United States

   Phone: +1 408 215 1519
   Email: thomas.haynes@primarydata.com








Quigley, et al.              Standards Track                   [Page 10]
^L