home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1997 December / Internet_Info_CD-ROM_Walnut_Creek_December_1997.iso / drafts / draft_ietf_i / draft-ietf-ipp-security-01.txt < prev    next >
Text File  |  1997-07-31  |  39KB  |  1,007 lines

  1.  
  2.           INTERNET-DRAFT
  3.                                                                Roger deBry
  4.                                                            IBM Corporation
  5.                                                              Jerry Hadsell
  6.                                                            IBM Corporation
  7.                                                            Daniel Manchala
  8.                                                          Xerox Corporation
  9.                                                               Xavier Riley
  10.                                                          Xerox Corporation
  11.                                                                  John Wenn
  12.                                                          Xerox Corporation
  13.                                                              July 29, 1997
  14.  
  15.  
  16.  
  17.                         Internet Printing Protocol/1.0: Security
  18.                              draft-ietf-ipp-security-01.txt
  19.  
  20.  
  21.           Status of this memo
  22.  
  23.           This document is an Internet-Draft. Internet-Drafts are working
  24.           documents of the Internet Engineering Task Force (IETF), its
  25.           areas, and its working groups.  Note that other groups may also
  26.           distribute working documents as Internet-Drafts. Internet-Drafts
  27.           are draft documents valid for a maximum of six months and may be
  28.           updated, replaced, or obsoleted by other documents at any time.
  29.           It is inappropriate to use Internet-Drafts as reference material
  30.           or to cite them other than as "work in progress."
  31.  
  32.           To learn the current status of any Internet-Draft, please check
  33.           the "1id-abstracts.txt" listing contained in the Internet-Drafts
  34.           Shadow Directories on ftp.is.co.za (Africa), nic.nordu.net
  35.           (Europe) munnari.oz.au (Pacific Rim), ds.internic.net (US East
  36.           Coast), or ftp.isi.edu (US West Coast).
  37.  
  38.           Abstract
  39.  
  40.           This document is one of a set of documents which together
  41.           describe all aspects of a new Internet Printing Protocol (IPP).
  42.           IPP is an application level protocol that can be used for
  43.           distributed printing on the Internet. The protocol is heavily
  44.           influenced by the printing model introduced in the Document
  45.           Printing Application (ISO/IEC 10175 DPA) standard, which
  46.  
  47.  
  48.  
  49.                DeBry, Hadsell, Manchala, Riley, Wenn             [Page 1]
  50.                                   Expires January 29, 1998
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.           INTERNET-DRAFT        IPP/1.0: Security      July 29, 1997
  58.  
  59.  
  60.  
  61.           describes a distributed printing service. The full set of IPP
  62.           documents includes:
  63.  
  64.  
  65.                Requirements for an Internet Printing Protocol
  66.                Internet Printing Protocol/1.0: Model and Semantics
  67.                Internet Printing Protocol/1.0: Security
  68.                Internet Printing Protocol/1.0: Protocol Specification
  69.                Internet Printing Protocol/1.0: Directory Schema
  70.  
  71.           This document is the `Internet Printing Protocol/1.0: Security'
  72.           document.
  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.                DeBry, Hadsell, Manchala, Riley, Wenn             [Page 2]
  108.                                  Expires January 29, 1998
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.           INTERNET-DRAFT        IPP/1.0: Security      July 29, 1997
  116.  
  117.  
  118.  
  119.           Table of Contents
  120.  
  121.           1.0 Introduction .........................................4
  122.           2.0 Security Threats and Attacks .........................5
  123.              2.1 Threats ...........................................5
  124.              2.2 Methods of Attack .................................5
  125.           3.0 Internet Printing Environments........................6
  126.              3.1 Printer and Client in the Same Security Domain ....7
  127.              3.2 Printer and client in Different Security Domains ..7
  128.              3.3 Print-by-Reference ................................7
  129.                 3.3.1 Unprotected Documents ........................8
  130.                 3.3.2 Protected Documents ..........................8
  131.              3.4 Common Security Scenarios .........................8
  132.                 3.4.1 No Security ..................................8
  133.                 3.4.2 Message Protection During Transmission .......9
  134.                 3.4.3 Client Authentication and Authorization ......9
  135.                 3.4.4 Mutual Authentication, Authorization and Message
  136.                       Protection ...................................9
  137.           4.0 Security Services ....................................9
  138.           5.0 Applying security to IPP operations .................11
  139.              5.1 Create-Job .......................................11
  140.              5.2 Send-Document ....................................11
  141.              5.3 Print-Job ........................................11
  142.              5.4 Cancel-Job .......................................12
  143.              5.5 Validate .........................................12
  144.              5.6 Get-Jobs .........................................12
  145.              5.7 Get-Attributes ...................................12
  146.              5.8 Print-URI ........................................12
  147.              5.9 Send-URI .........................................12
  148.              5.10 Get-Operations...................................13
  149.              5.11 Asynchronous Notification .......................13
  150.           6.0 Comments on Existing Security Technologies ..........13
  151.           6.1  Recommended Security Mechanisms ....................14
  152.           6.2  Firewall Consideration..............................15
  153.           7.0 References ..........................................17
  154.           8.0 Authors' Addresses ..................................18
  155.  
  156.  
  157.  
  158.  
  159.  
  160.  
  161.  
  162.  
  163.  
  164.  
  165.  
  166.                DeBry, Hadsell, Manchala, Riley, Wenn             [Page 3]
  167.                                  Expires January 29, 1998
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.           INTERNET-DRAFT        IPP/1.0: Security      July 29, 1997
  175.  
  176.  
  177.  
  178.           1.0 Introduction
  179.  
  180.           The purpose of this document is to describe security
  181.           considerations for the Internet Printing Protocol (IPP). Internet
  182.           Printing is the application of Internet technology to network
  183.           printing. Using Internet technology, users want to be able to
  184.           locate printers, install and configure printer software, query
  185.           printers for capabilities and status, and submit and track print
  186.           jobs. The Internet Printing Protocol defines the network
  187.           interface for many of these functions.
  188.  
  189.           It is required that the Internet Printing Protocol be able to
  190.           operate within a secure environment. Wherever possible, IPP ought
  191.           to make use of existing security protocols and services. IPP will
  192.           not invent new security features when the requirements described
  193.           in this document can be met by existing protocols and services.
  194.           Examples of such services include Transport Layer Security
  195.           (TLS)[1] and Basic Authentication[2] and Digest Access
  196.           Authentication[3]in HTTP.
  197.  
  198.           It is difficult to anticipate the security risks that might exist
  199.           in any given IPP environment. For example, if IPP is used within
  200.           a given corporation over a private network,  the risks of
  201.           exposing print data may be low enough that the corporation will
  202.           choose not to use encryption on that data. However, if the
  203.           connection between the client and the Printer is over a public
  204.           network, the client may wish to protect the content of the
  205.           information during transmission through the network with
  206.           encryption.
  207.  
  208.           Furthermore, the value of the information being printed may vary
  209.           from one use of the protocol to the next. Printing payroll
  210.           checks, for example, would have a different value than printing
  211.           public information from a file.
  212.  
  213.           Since we cannot anticipate the security levels or the specific
  214.           threats that any given IPP print administrator may be concerned
  215.           with, IPP must be capable of operating with different security
  216.           mechanisms and security policies as required by the individual
  217.           installation. Security policies might vary from very strong, to
  218.           very weak, to none at all, and corresponding security mechanisms
  219.           will be required.
  220.  
  221.  
  222.  
  223.  
  224.                DeBry, Hadsell, Manchala, Riley, Wenn             [Page 4]
  225.                                  Expires January 29, 1998
  226.  
  227.           INTERNET-DRAFT        IPP/1.0: Security      July 29, 1997
  228.  
  229.  
  230.  
  231.                    
  232.           2.0 Security Threats and Attacks
  233.  
  234.           Before discussing security services specifically as they relate
  235.           to IPP, it will be useful to quickly discuss and categorize
  236.           security threats in a general way and discuss the means by which
  237.           these threats are carried out.
  238.  
  239.           2.1 Threats
  240.  
  241.           Security threats fall into the following broad categories:
  242.  
  243.           Resource stealing: The unauthorized use of facilities, such as
  244.           printers, specific printer features, media, fonts, or logos etc.
  245.           resulting in some value to the perpetrator.
  246.  
  247.           Vandalism: Similar to resource stealing, but usually without gain
  248.           to the perpetrator.  Often results in denial of service to other
  249.           authorized users.
  250.  
  251.           Leakage: The acquisition of information by unauthorized
  252.           interceptors during transmission.
  253.  
  254.           Tampering: The interception and altering of information during
  255.           transmission.
  256.  
  257.           2.2 Methods of Attack
  258.  
  259.           The methods by which security violations can be perpetrated
  260.           depend upon obtaining access to existing communication channels
  261.           or establishing channels that masquerade as connections to a user
  262.           with some desired authority.  These methods are:
  263.  
  264.           Masquerading: Submission of print jobs or performing other IPP
  265.           operations using the identity and password of another user
  266.           without their authority, or by using an access token or
  267.           capability after the authorization to use it has expired.
  268.  
  269.           Eavesdropping: Obtaining copies of documents and job instructions
  270.           without authority, either directly from the network or by
  271.           examining information that is inadequately protected in storage.
  272.  
  273.           Document tampering: Intercepting documents or other print job
  274.           related information and altering their contents before passing
  275.           them on to the printer or print server.
  276.  
  277.  
  278.                DeBry, Hadsell, Manchala, Riley, Wenn             [Page 5]
  279.                                  Expires January 29, 1998
  280.  
  281.  
  282.           INTERNET-DRAFT        IPP/1.0: Security      July 29, 1997
  283.  
  284.  
  285.  
  286.                    
  287.           Replaying: Intercepting and storing print jobs or documents, and
  288.           have them submitted again later. Example: Stock Certificate
  289.           Printing. Protection against replaying requires the use of a
  290.           nonce and/or time stamp.
  291.  
  292.           Spamming: Sending irrelevant or nonsensical print jobs or other
  293.           IPP operations to a printer or print server with the objective of
  294.           overloading the system and preventing legal users from getting
  295.           service.
  296.  
  297.           Malicious Document Content Code: Sending documents that contain
  298.           malicious code which will bring the printer software into a loop
  299.           or even ruin hardware components in the print device. Example:
  300.           Using PostScript as a programming language to run the printer
  301.           into an infinite loop.
  302.  
  303.           3.0 Internet Printing Environments
  304.  
  305.           It is now important to understand how the threats and attacks we
  306.           have discussed above apply to the various environments in which
  307.           IPP will operate.
  308.  
  309.           The IPP Model encapsulates the important elements required for
  310.           printing into three simple objects, the Printer, the Job, and the
  311.           Document. The Printer represents the functions associated with a
  312.           physical output device along with the spooling, scheduling, and
  313.           multiple output device management often associated with a print
  314.           server. An IPP client uses the IPP protocol to invoke operations
  315.           on IPP objects on other network nodes.
  316.  
  317.           The initial security needs of IPP are derived from two primary
  318.           considerations.  First, the printing environments described in
  319.           this document take into account the fact that the client, the
  320.           Printer, and the document to be printed may all exist in
  321.           different security domains. When objects are in different
  322.           security domains the requirements for authentication and message
  323.           protection are much stronger than when they are in the same
  324.           domain.
  325.  
  326.           Secondly, the sensitivity and value of the content being printed
  327.           will vary. For example, a publicly available document does not
  328.           require the same level of privacy that a payroll document
  329.           requires. There are at least two parties that have an interest in
  330.           the value of the information being printed, the person asking to
  331.           have the information printed and the person who originated the
  332.  
  333.               DeBry, Hadsell, Manchala, Riley, Wenn             [Page 6]
  334.                                  Expires January 29, 1998
  335.  
  336.  
  337.           INTERNET-DRAFT        IPP/1.0: Security      July 29, 1997
  338.  
  339.  
  340.  
  341.                    
  342.           information. This brings into the picture the need to worry about
  343.           copyrights and protection of the content.
  344.  
  345.           Security attacks are now described for the following IPP
  346.           environments. Where examples are provided they should be
  347.           considered illustrative of the environment and not an exhaustive
  348.           set. Not all of these environments will necessarily be addressed
  349.           in initial implementations of IPP.
  350.  
  351.           3.1 Client and Printer in the Same Security Domain
  352.  
  353.           This environment is typical of internal networks where
  354.           traditional office workers print the output of personal
  355.           productivity applications on shared work-group printers, or where
  356.           batch applications print their output on large production
  357.           printers. Although the identity of the user may be trusted in
  358.           this environment, a user might want to protect the content of a
  359.           document against such attacks as eavesdropping, replaying or
  360.           tampering.
  361.  
  362.           3.2 Client and Printer in Different Security Domains
  363.  
  364.           Examples of this environment include printing a document created
  365.           by the client on a publicly available printer, such as at a
  366.           commercial print shop; or printing a document remotely on a
  367.           business partner's printer. This latter operation is functionally
  368.           equivalent to sending the document to the business partner as a
  369.           facsimile. Printing sensitive information on a Printer in a
  370.           different security domain requires strong security measures. In
  371.           this environment authentication of the printer is required as
  372.           well as protection against unauthorized use of print resources.
  373.           Since the document crosses security domains, protection against
  374.           eavesdropping and document tampering are also required. It will
  375.           also be important in this environment to protect Printers against
  376.           spamming and malicious document content code.
  377.  
  378.           3.3 Print by Reference
  379.  
  380.           When the document is not stored on the client, printing can be
  381.           done by reference. That is, the print request can contain a
  382.           reference, or pointer, to the document instead of the actual
  383.           document itself. If the client physically gets the document
  384.           before it prints it, then this defaults to one of the previous
  385.           cases.
  386.  
  387.  
  388.                DeBry, Hadsell, Manchala, Riley, Wenn             [Page 7]
  389.                                  Expires January 29, 1998
  390.  
  391.  
  392.           INTERNET-DRAFT        IPP/1.0: Security      July 29, 1997
  393.  
  394.  
  395.  
  396.                    
  397.           3.3.1 Unprotected Documents
  398.  
  399.           In many cases, documents to be printed are literally available to
  400.           anyone. Documents, such as this Internet Draft which are stored
  401.           on anonymous FTP sites, are good examples of this. No security
  402.           mechanisms are required to protect access to these documents.
  403.  
  404.           3.3.2 Protected Documents
  405.  
  406.           Clearly, there are cases where the nature of a document requires
  407.           that access to it be protected by some authentication and/or
  408.           authorization mechanism, or where the right to print the document
  409.           must be paid for. This would be the case for sensitive or
  410.           confidential information, or where documents are copyrighted or
  411.           sold for profit. Unauthorized access to content is a major
  412.           concern in this environment. Protection against eavesdropping,
  413.           document tampering and unauthorized access to the document are
  414.           also concerns if the content is sensitive.
  415.  
  416.           3.4 Common Security Scenarios
  417.  
  418.           As discussed earlier in this document, we cannot anticipate the
  419.           security levels or the specific threats that any given IPP print
  420.           administrator may be concerned with. Security policies might vary
  421.           from very strong, to very weak, to none at all, and corresponding
  422.           security mechanisms will be required. In this section we will
  423.           describe what we believe to be four common usage scenarios.
  424.  
  425.           1) No security at all
  426.           2) Message protection during transmission
  427.           3) Client authentication and authorization
  428.           4) Mutual authentication, authorization, and message protection
  429.  
  430.           3.4.1 No Security
  431.  
  432.           If the server requires no authorization and the client wants no
  433.           message protection the client can send the print job, i.e., the
  434.           job content and the job attributes without invoking any security
  435.           mechanisms. The printer will print the job for the client. Print
  436.           by reference also works well in this environment as long as no
  437.           security mechanisms are required to access the documents to be
  438.           printed.
  439.  
  440.  
  441.  
  442.  
  443.                DeBry, Hadsell, Manchala, Riley, Wenn             [Page 8]
  444.                                       Expires January 29, 1998
  445.  
  446.  
  447.           INTERNET-DRAFT        IPP/1.0: Security      July 29, 1997
  448.  
  449.  
  450.  
  451.                    
  452.           3.4.2 Message Protection During Transmission
  453.  
  454.           There are two types of security that could be used to provide
  455.           message protection. These are channel security and object
  456.           security. In the first case, the transport medium must be made
  457.           secure by mutual authentication. Then everything between the
  458.           client and server is encrypted by the transport medium. The
  459.           transport medium can be either of the following: transport layer
  460.           security (TLS) or network layer security (IPSec)[4].
  461.  
  462.           In the case of object security, each object is encrypted and sent
  463.           over either a secure or an insecure channel. The recipient has
  464.           the corresponding key to decrypt the object and get the contents.
  465.           The most widely used object security mechanisms are S/MIME [5],
  466.           S-HTTP [6] and PGP/MIME [7].
  467.  
  468.           3.4.3 Client Authentication and Authorization
  469.  
  470.           This scenario requires client authentication which may also be
  471.           used for authorization. A user ID and password may be used for
  472.           authorization purposes, and may be encrypted by the lower
  473.           security layer. S/MIME and TLS are good examples of this. TLS
  474.           supports both one sided and mutual authentication.
  475.  
  476.  
  477.           3.4.4 Mutual Authentication, Authorization and Message Protection
  478.  
  479.           This scenario requires mutual authentication and message
  480.           protection. TLS and Secure Sockets Layer version 3 (SSL3) are
  481.           good channel level security providers in this category.
  482.  
  483.           4.0 Security Services
  484.  
  485.           Now that we have described the security threats that exist in the
  486.           various environments in which IPP may operate, we will discuss
  487.           the security services that are generally available to counter
  488.           these threats.  Security in general encompasses the software and
  489.           hardware functionality to deliver the following services:
  490.  
  491.           Authorization: Only authorized users should be able to gain
  492.           access to systems, applications, data or services. Authorization
  493.           may be based on authenticated identity, location, time of day,
  494.           role, possession of a physical device or token, or other
  495.           criterion.
  496.  
  497.  
  498.  
  499.              DeBry, Hadsell, Manchala, Riley, Wenn             [Page 9]
  500.                                       Expires January 29, 1998
  501.                                                         
  502.  
  503.           INTERNET-DRAFT        IPP/1.0: Security      July 29, 1997
  504.  
  505.  
  506.  
  507.           Authentication: Authentication is the process of proving who a
  508.           user or system is, and may apply to individual identities, roles,
  509.           or groups. Authentication may be done with traditional methods
  510.           such as passwords or challenge-response mechanisms, or with
  511.           publicly recognized methods such as certificates.
  512.  
  513.           Message Protection: Access control protects data when it is
  514.           within a secure system environment. However, when data must
  515.           travel outside of a secure system, such as across a public
  516.           network, it needs to be protected. Message protection includes
  517.           the following:
  518.  
  519.           Data origin authentication guarantees that the data originates
  520.           from an identified source.
  521.  
  522.           Privacy protection guarantees that the data cannot be observed
  523.           except by authorized parties.
  524.  
  525.           Integrity protection guarantees that the data cannot be
  526.           undetectably modified except by authorized parties.
  527.  
  528.           Non-repudiation protection guarantees that actions taken on data
  529.           cannot be denied by the subjects performing those actions.
  530.  
  531.           Liability: Responsibility of the user for the printed content.
  532.           This holds the user accountable for making payments, usage of
  533.           special resources like transparencies, color printing, etc. The
  534.           printer is also responsible for the services performed and will
  535.           be held responsible for it.
  536.  
  537.           Provability of Service: The printer should be able to prove that
  538.           it performed correctly according to the job attributes which  the
  539.           client/user had indeed issued. Example: The printer should be
  540.           able to prove that the job request was indeed a monochrome when
  541.           the user claims it issued a color copy. Provability of service
  542.           requires non-repudiation.
  543.  
  544.           Payment and Accounting System: The Printer should insure that the
  545.           wrong person is not charged when someone issues a print request.
  546.  
  547.  
  548.  
  549.  
  550.  
  551.  
  552.  
  553.                DeBry, Hadsell, Manchala, Riley, Wenn             [Page 10]
  554.                                  Expires January 29, 1998
  555.                                                     
  556.  
  557.           INTERNET-DRAFT        IPP/1.0: Security      July 29, 1997
  558.  
  559.  
  560.  
  561.           5.0 Applying Security to IPP Operations
  562.  
  563.           An IPP client uses the IPP protocol to invoke operations on
  564.           remote Printer and Job objects. We now need to understand which
  565.           security services are required for the various IPP operations.
  566.           The IPP Operations are:
  567.  
  568.           Create-Job - Create an instance of a Job object
  569.           Send-Document - Append enclosed data to a Job object
  570.           Print-Job - Print the enclosed job, with attributes
  571.           Cancel-Job - Cancel a previously submitted print job
  572.           Validate-Job - Validate attributes for a specific object
  573.           Get-Jobs - Return job queue information for a Printer object
  574.           Get-Attributes - Return attribute information for a Printer or
  575.                            Job object
  576.           Print-URI - Print a document by reference
  577.           Send-URI - Append enclosed document reference to a Job object
  578.           Get-Operations - Return IPP operations supported by the server
  579.  
  580.           Every time a new connection with a Printer Object or with a Job
  581.           Object is opened a new security context must established. An
  582.           administrator may set up different security requirements for
  583.           different operations, i.e. a user may be able to query a printer,
  584.           but not submit a job. Once a Job is created, the same (or
  585.           greater) level of security will be required to perform additional
  586.           operations on that job.
  587.  
  588.           5.1 Create-Job
  589.  
  590.           When creating a print job, authentication of the client and the
  591.           Printer are primary security considerations. Client
  592.           authentication, along with authorization, protects against
  593.           unauthorized use of print resources. Printer authentication
  594.           guarantees the identity of the remote Printer.
  595.  
  596.           5.2 Send-Document
  597.  
  598.           When sending document content to the Printer, message protection
  599.           is the primary security service required.
  600.  
  601.           5.3 Print-Job
  602.  
  603.           Print-Job combines the functions of Create-Job and Send-Document,
  604.           therefore authentication, authorization, and message protection
  605.           are all required.
  606.  
  607.                DeBry, Hadsell, Manchala, Riley, Wenn             [Page 11]
  608.                                       Expires January 29, 1998
  609.                                                         
  610.  
  611.           INTERNET-DRAFT        IPP/1.0: Security      July 29, 1997
  612.  
  613.           
  614.           
  615.           
  616.           5.4 Cancel-Job
  617.  
  618.           Cancel-Job is only used to cancel a job. An end user may only be
  619.           allowed to cancel his or her own print jobs. Therefore
  620.           authentication is required to protection against unauthorized
  621.           cancellation of a job.
  622.  
  623.           5.5 Validate-Job
  624.  
  625.           Validate is used to validate the attributes of a remote object.
  626.           Administrators may choose to restrict the ability for certain end
  627.           users to see the attributes of a Printer, so authentication and
  628.           authorization are required services.
  629.  
  630.           5.6 Get-Jobs
  631.  
  632.           The level of security associated with the Get-Jobs operation
  633.           depends on the policy set by an administrator.  One common policy
  634.           is for the complete job queue to be returned to anyone who asks.
  635.           This policy requires no security. For more secure Printers, a
  636.           common policy is to list details only on the print jobs owned by
  637.           the end user, while giving little or no details about other jobs.
  638.           This policy requires client authentication and authorization to
  639.           match the client to the print jobs.
  640.  
  641.           5.7 Get-Attributes
  642.  
  643.           An administrator should be able to establish the level of
  644.           security associated with getting the attributes of a printer.
  645.           How security affects which attributes are returned is a policy
  646.           decision and outside the scope of IPP.
  647.  
  648.           5.8 Print-URI
  649.  
  650.           Print-URI is like Print-Job except that only a reference to the
  651.           document to be printed is sent in the request. Thus the Printer
  652.           must fetch the document from the given URI in order to print the
  653.           job. In IPP version 1.0 we only allow unprotected (see section
  654.           3.3.1) documents to be printed by reference. Additional, as yet
  655.           undefined security mechanisms are required to print a protected
  656.           document by reference.
  657.  
  658.           5.9 Send-URI
  659.  
  660.           Send-URI is like send-Document except that only a reference to
  661.           the document to be printed is sent in the request. This operation
  662.           has the same security concerns as Print-URI.
  663.  
  664.  
  665.  
  666.                DeBry, Hadsell, Manchala, Riley, Wenn             [Page 12]
  667.                                  Expires January 29, 1998
  668.  
  669.                                                    
  670.           INTERNET-DRAFT        IPP/1.0: Security      July 29, 1997
  671.  
  672.  
  673.  
  674.           
  675.           5.10 Get-Operations
  676.  
  677.           An administrator should be able to establish the level of
  678.           security required for someone to see the operations supported on
  679.           a Printer.
  680.  
  681.           5.11 Asynchronous Notification
  682.  
  683.           When submitting a print job, a user may include an attribute
  684.           which describes the address and method to be used for notifying
  685.           the user of Printer events such as job completion. Notification
  686.           is outside the scope of IPP and includes such methods as email
  687.           and ftp. When security mechanisms are employed in delivering
  688.           asynchronous notifications, security levels should be consistent
  689.           with those used in submitting the original print job.
  690.  
  691.           6.0 Comments on existing security technologies
  692.  
  693.           TLS - Transport Layer Security:  Seems OK, is near completion in
  694.           the IETF and existing SSL product are probably compliant, or can
  695.           be made compliant without much effort. TLS Provides channel level
  696.           security.
  697.  
  698.           SSL 2 and SSL 3 - Secure Socket Layer:  Proprietary solution
  699.           initially by Netscape, but TLS is very close. Provides channel
  700.           level security.
  701.  
  702.           PGP/MIME - Pretty Good Privacy MIME variant:  The original PGP is
  703.           widely deployed (but not much liked by the US government).  The
  704.           PGP/MIME version is now being worked on but is still not out, not
  705.           yet stable, and not yet implemented and deployed. PGP/MIME
  706.           provides object level security.
  707.  
  708.           S/MIME - Secure MIME:  Currently a private implementation from
  709.           RSA.  Although coming out as product from a number of vendors,
  710.           unlikely to make it on the IETF standards track unless RSA
  711.           decides to release their proprietary products as open standards.
  712.           S/MIME provides object level security.
  713.  
  714.           SASL - Simple Authentication and Session Layer [7]:  This
  715.           security feature negotiation protocol and does not provide any
  716.           security services in itself.  Hence quite limited usefulness for
  717.           IPP.
  718.  
  719.  
  720.  
  721.  
  722.  
  723.               DeBry, Hadsell, Manchala, Riley, Wenn             [Page 13]
  724.                                  Expires January 29, 1998
  725.  
  726.                                                    
  727.           INTERNET-DRAFT        IPP/1.0: Security      July 29, 1997
  728.  
  729.  
  730.  
  731.           
  732.           HTTP 1.1 Digest Access Authentication:  This provides
  733.           some limited security services, mainly only client side
  734.           authentication.  It transmits a cryptographic digest derived from
  735.           the user name, password, and a server generated challenge.
  736.  
  737.           SHTTP - Secure HTTP:  Although on the IETF standards track, this
  738.           seems to lack some important features and does not seem to go
  739.           anywhere in the market place.
  740.  
  741.           IPSec - IP Security is an IETF standards track protocol for
  742.           security on the IP layer. It consists of two separate mechanisms.
  743.           The IP Authentication Header (AH) and the IP Encapsulating
  744.           Security Payload (ESP). They can be used together or separately.
  745.           The IP Authentication header provides integrity and
  746.           authentication of IP datagrams. The IP Encapsulating Security
  747.           Payload provides integrity, authentication and privacy. IPSec
  748.           allows for either host keys or user keys to be used in security.
  749.           IPSec can satisfy the IPP requirements for integrity and privacy.
  750.           IPP Authentication, however, would require both IPSec use user
  751.           keys and that the IPP application request use their own IPSec
  752.           security association. Both requirements are recommended by IPSec
  753.           but are not required.
  754.  
  755.           6.1 Recommended Security Mechanisms
  756.  
  757.           IPP implementations should provide a range of security options to
  758.           meet the needs of different installations and user populations.
  759.           The specific security services employed will be established by a
  760.           site administrator. The mechanisms used to establish these
  761.           services and to define user IDs and passwords to the system are
  762.           implementation defined and outside the scope of IPP.
  763.  
  764.           The security protocol used by a particular IPP operation will
  765.           depend upon the security services implemented on the Printer, the
  766.           security policy established by a site administrator, and the
  767.           selection made by the client. This requires that the right
  768.           handshake messages be passed to invoke the selected security
  769.           service. These are described in the references for each security
  770.           mechanism and are normally invoked by the client. Two printer
  771.           attributes, message-protection-supported and authentication-
  772.           authorization-supported are provided to help the end user know
  773.           what to expect in terms of security. These attributes should also
  774.           appear in the directory entry for each Printer.
  775.  
  776.  
  777.  
  778.  
  779.  
  780.           DeBry, Hadsell, Manchala, Riley, Wenn             [Page 14]
  781.                                       Expires January 29, 1998
  782.  
  783.           
  784.           INTERNET-DRAFT        IPP/1.0: Security      July 29, 1997
  785.  
  786.  
  787.  
  788.  
  789.           When utilizing HTTP 1.1 as a transport for IPP, the security
  790.           considerations outlined in HTTP 1.1 apply. When set by an
  791.           administrator, IPP servers MUST generate a 401 (Unauthorized)
  792.           response code to request client authentication and IPP clients
  793.           should correctly respond with the proper Authorization header.
  794.           Both basic authentication and digest authentication flavors of
  795.           authentication should be supported. The administrator chooses
  796.           which type(s) of authentication to accept. Digest authentication
  797.           is a more secure method and is always preferred to basic
  798.           authentication.
  799.  
  800.           For secure communication (privacy in particular), IPP should be
  801.           run using a secure communications channel. Both TLS and IPSec
  802.           provide secure communications channels and provide for mutual
  803.           authentication. The secure communications channel must be
  804.           initiated prior to running the IPP protocol. There is no
  805.           mechanism for bootstrapping a secure communication channel from
  806.           within the IPP protocol itself.
  807.  
  808.           It is possible to combine a secure communication channel with
  809.           either Basic or Digest Authentication.
  810.  
  811.           6.2 Firewall Considerations
  812.  
  813.           Firewalls mostly play a role of enforcing corporate security
  814.           policies, beyond that established for individual servers within
  815.           the firewall. For example, an IPP Printer may be set up to report
  816.           back features to anyone. This is allowable as long as the user
  817.           is behind the firewall, but may be prohibited if the user is
  818.           outside of the firewall.
  819.  
  820.           Thus, the firewall acts as a proxy for all IPP Printers behind
  821.           the firewall and intercepts all incoming HTTP POSTs from the
  822.           outside. Firewall software may then respond appropriately, based
  823.           on the established security policy: It could pass the message
  824.           along to the Printer, close the connection, or respond with some
  825.           error response. This could be done on an operation by operation
  826.           basis. Likewise, the IPP Printer responses would be filtered by
  827.           the firewall software before passing them back to the external
  828.           client.
  829.  
  830.  
  831.  
  832.  
  833.  
  834.  
  835.  
  836.           DeBry, Hadsell, Manchala, Riley, Wenn             [Page 15]
  837.                                       Expires January 29, 1998
  838.  
  839.           
  840.           INTERNET-DRAFT        IPP/1.0: Security      July 29, 1997
  841.  
  842.  
  843.  
  844.  
  845.           Firewall software could additionally filter requests based on job
  846.           attributes, so, for example, only jobs specifying a single copy
  847.           or only duplex jobs could be printed. However, it is very
  848.           unlikely that firewall software would check for features
  849.           specified in the actual document content, i.e. in the page
  850.           description language.
  851.  
  852.  
  853.  
  854.  
  855.  
  856.  
  857.  
  858.  
  859.  
  860.  
  861.  
  862.  
  863.  
  864.  
  865.  
  866.  
  867.  
  868.  
  869.  
  870.  
  871.  
  872.  
  873.  
  874.  
  875.  
  876.  
  877.  
  878.  
  879.  
  880.  
  881.  
  882.  
  883.  
  884.  
  885.  
  886.  
  887.  
  888.  
  889.  
  890.  
  891.  
  892.  
  893.                DeBry, Hadsell, Manchala, Riley, Wenn             [Page 16]
  894.                                  Expires January 29, 1998
  895.  
  896.           
  897.           INTERNET-DRAFT        IPP/1.0: Security      July 29, 1997
  898.  
  899.  
  900.  
  901.           
  902.           7.0 References:
  903.  
  904.           [1] T. Dierks, C. Allen, "The TLS Protocol", <draft-ietf-
  905.           tls-protocol-03.txt>, March 24, 1997.
  906.  
  907.           [2] R. Fielding, J. Gettys, J. Mogul, H. Frystyk,
  908.           T. Berners-Lee, "Hypertext Transfer Protocol - HTTP/1.1", 
  909.           RFC 2068, January 1997
  910.  
  911.           [3] J. Franks, P. Hallam-Baker, J. Hostetler, P. Leach, A.
  912.           Luotonen, E. Sink, L. Stewart, "An Extension to HTTP: Digest
  913.           Access Authentication", RFC-2069, Jan 1997.
  914.  
  915.           [4] R. Atkinson, "Security Architecture for the Internet 
  916.           Protocol, RFC 1825", August 1995
  917.  
  918.           [5] S. Dusse, "S/MIME Message Specification", <draft-
  919.           dusse-mime-msg-spec-00.txt, Sep. 1996.
  920.  
  921.           [6] E. Rescorla, A. Schiffman, "The Secure Hypertext
  922.           Transfer Protocol" <draft-ietf-wts-04.txt>, March 1997
  923.  
  924.           [7] M. Elkins, "MIME Security with Pretty Good Privacy (PGP)"
  925.           RFC 2015, October 1996
  926.  
  927.           [8] J. Myers, "Simple Authentication and Security Layer
  928.           (SASL)", <draft-myers-auth-sasl-11.txt>, April 1997.
  929.  
  930.  
  931.  
  932.  
  933.  
  934.  
  935.  
  936.  
  937.  
  938.  
  939.  
  940.  
  941.  
  942.  
  943.  
  944.  
  945.  
  946.  
  947.  
  948.  
  949.  
  950.                DeBry, Hadsell, Manchala, Riley, Wenn             [Page 17]
  951.                                  Expires January 29, 1998
  952.                                                               
  953.  
  954.           INTERNET-DRAFT        IPP/1.0: Security      July 29, 1997
  955.  
  956.  
  957.  
  958.           
  959.           8.0 Authors' Addresses
  960.  
  961.           Roger deBry
  962.           HUC/003G
  963.           IBM Corporation
  964.           P.O. Box 1900
  965.           Boulder, CO 80301-9191
  966.           rdebry@us.ibm.com
  967.  
  968.           Jerry Hadsell
  969.           1130
  970.           IBM Corporation
  971.           Rt. 100
  972.           Somers, N.Y. 10589
  973.           hadsell@us.ibm.com
  974.  
  975.           Daniel Manchala
  976.           Xerox Corporation
  977.           701 Aviation Blvd.
  978.           El Segundo, CA 90245
  979.           manchala@cp10.es.xerox.com
  980.  
  981.           Xavier Riley
  982.           Xerox Corporation
  983.           701 Aviation Blvd.
  984.           El Segundo, CA 90245
  985.           xriley@cp10.es.xerox.com
  986.  
  987.           John Wenn
  988.           Xerox Corporation
  989.           701 Aviation Blvd.
  990.           El Segundo, CA 90245
  991.           jwenn@cp10.es.xerox.com
  992.  
  993.  
  994.           Other Contributors
  995.  
  996.           Scott Isaacson, Novell
  997.           Carl-Uno Manros, Xerox
  998.  
  999.  
  1000.  
  1001.  
  1002.  
  1003.  
  1004.  
  1005.                DeBry, Hadsell, Manchala, Riley, Wenn             [Page 18]
  1006.                                  Expires January 29, 1998
  1007.