attachment

<div dir="ltr">Hi everyone<div><br></div><div>Do you know how many printer OEMs are planning to or have implemented IPP INFRA?</div><div><br></div><div>Obviously then the follow-up question is who?</div><div><br></div><div>Regards</div><div>Willem</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, 9 Oct 2020 at 05:59, Cihan Colakoglu via ipp <<a href="mailto:ipp@pwg.org">ipp@pwg.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><div style="font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:16px"><div dir="ltr">Hello All,</div><div dir="ltr"><br></div><div dir="ltr">After a long hiatus, I'd like to revive this topic.</div><div dir="ltr"><br></div><div dir="ltr">Following the e-mail thread in May of this year, we've had some out-of-band discussions in June with some of the IPP workgroup members. The purpose of today's update is to summarize these discussions and post the main points to the IPP mailing list so that we can work towards creating an <span>IPP Registration document that extends the IPP System Service Register-Output-Device operation to support the Proxy's X.509 certificate. Proposed attributes are defined Mike's previous e-mail in May 18 2020 (also copied below in this thread).</span></div><div dir="ltr"><span><br></span></div><div dir="ltr">At a high level, we would like to define the use of X.509 certificates to establish cryptographic pairing during Registration of the Output Device to the Cloud through the Proxy. This is for *authenticating* and *authorizing* a Proxy/Output Device using an X.509 certificate.  <br></div><div dir="ltr"><span><span><span><br></span></span></span></div><div dir="ltr"><span><span><span>For the purposes of the INFRA Spec (finalized in 2015), the Registration<span> (and how the credentials are managed) were out-of-scope. INFRA Spec. just dealt with a <span>pre-existing relationship between the Proxy and Infrastructure Printer.</span></span></span></span></span></div><div dir="ltr"><span><span><span><span><span><br></span></span></span></span></span></div><div dir="ltr"><span><span><span><span><div dir="ltr">The Registration piece was defined in detail (also in 2015) in Cloud Imaging Requirements and Model (IMAGINGMODEL). This is the semantic model which does not define the specific operation and attributes.</div></span></span></span></span></div><div dir="ltr"><span><span><span><span><br></span></span></span></span></div><div dir="ltr"><span><span><span><span>Later in 2019, <span>IPP System Service v1.0 (SYSTEM) Spec defined the <span>Register-Output-Device operation and its attributes. Now we would like to extend these attributes by adding the use of X.509 certificates.</span></span></span></span></span></span></div><div dir="ltr"><span><span><span><span><br></span></span></span></span></div><div dir="ltr">After more discussion, Mike also suggested adding a "system-mandatory-registration-attributes (1setOf keyword)" System Description attribute (as a semantically analogous version of "system-mandatory-printer-attributes") so that the System can tell a Proxy what information it expects/needs to register an Output Device. This suggestion was seconded by Ira as an important improvement (by the analogy to the one for Printers, necessary for Create-Printer to behave well). So, we will go ahead with this suggestion as well.</div><div dir="ltr"><span><span><span><br></span></span></span></div><div dir="ltr">In case the X.509 certificate needs to be changed (for expiration or any other reason), I asked how we should update (refresh) the certificate used for registration, and we agreed to define this in the semantics - registering overwrites any previous pairing of UUID with X.509 certificate.</div><div dir="ltr"><span><div><br></div><div dir="ltr"><div><div>One specification note from Ira - we will NOT change registered operation names - that would be deemed a major breakage in compatibility and we have never done it before.</div><div><br></div><div dir="ltr">Finally, the Update-Output-Device-Attributes operation defined in INFRA Spec will not be used to "Update" the registration and the X.509 certificate.  The reason is granting access to a particular System resource is an administrative function, and so should *not* be something that a Proxy operation can do.  Thus, the right place to establish access controls/authorization is in the System operation, *not* the Proxy operation.</div></div><div dir="ltr"><br></div><div dir="ltr">Next step is now to work on the <span><span style="color:rgb(0,0,0);font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:16px">IPP Registration document.</span></span></div><div dir="ltr"><br></div><div dir="ltr">Regards,</div><div dir="ltr">Cihan Colakoglu</div></div></span></div><div dir="ltr"><br></div><div dir="ltr"><br></div><div dir="ltr"><div dir="ltr"><pre style="font-family:Menlo,Monaco,Consolas,"Courier New",monospace;padding:9.5px;margin-top:0px;margin-bottom:10px;line-height:1.42857;color:rgb(51,51,51);background-color:rgb(245,245,245);border:1px solid rgb(204,204,204);border-radius:4px;white-space:pre-wrap"><span>On May 18, 2020, at <span>13:24:34 UTC, Michael Sweet</span> via ipp <ipp at <a href="http://pwg.org" target="_blank">pwg.org</a>> wrote:</span><br></pre><pre style="font-family:Menlo,Monaco,Consolas,"Courier New",monospace;padding:9.5px;margin-top:0px;margin-bottom:10px;line-height:1.42857;color:rgb(51,51,51);background-color:rgb(245,245,245);border:1px solid rgb(204,204,204);border-radius:4px;white-space:pre-wrap">Cihan,

Right now I think the path of least resistance is to develop an IPP Registration document that extends the IPP System Service Register-Output-Device operation to support the Proxy's X.509 certificate.  Proposed attributes are:

- "output-device-x509-certificate (1setOf text(MAX))" operation attribute, to be included in the request.
- "output-device-x509-certificate-supported (boolean)" System Description attribute, to tell the Client that the extension is supported.
- "output-device-col-supported (1setOf collection)" Printer Description attribute, to tell the Client which output devices are registered with a given Infrastructure Printer.  Member attributes would be "device-name (name(127))", "device-uuid (uri)", and "device-x509-certificate (1setOf text(MAX))".

The model section (4) of the registration can talk about all of the other concerns you've raised and provide pointers to IPP INFRA, IPP SYSTEM, IPP TRUSTNOONE, and CLOUDMODEL.  We should also talk about OAuth and the use of different authentication methods depending on the configuration and usage, e.g., personal printer connected to a Cloud Imaging System vs. enterprise printer where the Client/End User is a customer or employee.

Longer term we can add this content to an IPP System Service errata update, with a corresponding IPP Shared Infrastructure Extensions errata update that has pointers to IPP SYSTEM.


><i> On May 15, 2020, at 8:49 AM, Cihan Colakoglu via ipp <<a href="https://www.pwg.org/mailman/listinfo/ipp" style="background-color:transparent;color:rgb(51,122,183)" rel="nofollow" target="_blank">ipp at pwg.org</a>> wrote:
</i>><i> 
</i>><i> Hello All,
</i>><i>  
</i>><i> I was reading the IPP INFRA Spec. (PWG 5100.18-2015:) and found some confusing areas (at least to me).
</i>><i> Also had some questions about using X.509 certificates for registering the output device through the Proxy to the Cloud.
</i>><i> I was wondering if an update to IPP INFRA would be warranted, or if we can do an Errata, or maybe even a Best Practice.
</i>><i>  
</i>><i> Regarding the issues with Registering an Output Device:
</i>><i> ·         The INFRA Spec defines “Deregister-Output-Device” operation, but it does not define “Register-Output-Device”.
</i>><i> ·         Instead, the INFRA Spec says “Update-Output-Device-Attributes” is the inverse of “Deregister-Output-Device”.
</i>><i> ·         However, IPP System Service (PWG 5100.22-2019:) defines the “Register-Output-Device” and refers to INFRA.
</i>><i> ·         INFRA does not refer to SYSTEM since INFRA was finalized in 2015, and SYSTEM was finalized in late 2019.
</i>><i> ·         I understand now INFRA assumed registration was done out-of-band, and it just dealt with an existing association.
</i>><i> ·         If we update INFRA, we may want to clarify the Registration/Provisioning piece was defined in the SYSTEM Spec.
</i>><i>  
</i>><i> Regarding using X.509 Certificates to establish cryptographic pairing during Registration of the Output Device:
</i>><i> ·         The “Register-Output-Device” operation in SYTEM Spec. does not appear to have an attribute to use a certificate.
</i>><i> ·         If we want to allow the use of X.509 Certificates for registration, I suppose we could define a new operation attribute.
</i>><i> ·         There is also the question if a Self-Signed certificate can be used, or if we need a CA-Signed one (Private or Public).
</i>><i> ·         If we define this, we may want to separate the “Client-to-INFRA-Printer” piece from “Proxy-to-INRA-Printer” piece.
</i>><i> ·         Then, how would we define what an Admin can do from the Cloud Dashboard/Portal once the Registration is done?
</i>><i> ·         Should the Registration be done ONLY from the Proxy to the Cloud, and not through the Cloud Portal for security?
</i>><i>  
</i>><i> Regarding possible Cloud to Cloud communication use-cases
</i>><i> ·         In some instances, jobs may need to travel through multiple Clouds to get to the final Output Device.
</i>><i> ·         I don’t believe IPP INFRA addresses this specifically, however could the Classic fan-out with IPP used for this?
</i>><i> ·         If we do an update to INFRA, we may want to clarify how this type of communication could be handled with IPP.
</i>><i>  
</i>><i> Regarding the IPP Specifications relevant to a Cloud Model:
</i>><i> ·         I think not everyone can navigate easily through all available (Historic and Current) IPP Specifications.
</i>><i> ·         So, we may want to list the relevant specifications within the scope of a Cloud Printing model:
</i>><i> o   IPP INFRA (PWG 5100.18-2015:)
</i>><i> o   IPP System Service (PWG 5100.22-2019:)
</i>><i> o   IPP Encrypted Jobs and Documents (Working Draft)
</i>><i> o   Cloud Imaging Requirements and Model (Link)
</i>><i> o   Any other?
</i>><i>  
</i>><i> I wanted to start a discussion whether it is warranted to update IPP INFRA all together, do an Errata, or a Best Practice.
</i>><i> 
</i>><i> Best Regards,
</i>><i> Cihan Colakoglu</i></pre></div><br></div></div></div>_______________________________________________<br>
ipp mailing list<br>
<a href="mailto:ipp@pwg.org" target="_blank">ipp@pwg.org</a><br>
<a href="https://www.pwg.org/mailman/listinfo/ipp" rel="noreferrer" target="_blank">https://www.pwg.org/mailman/listinfo/ipp</a><br>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div style="color:rgb(136,136,136);font-size:12.8px"><div style="font-size:12.8px"><font color="#6aa84f" face="tahoma, sans-serif" size="2"><b>Willem Groenewald</b></font></div><div style="font-size:12.8px"><font face="tahoma, sans-serif" size="1">Senior Product Manager</font></div></div><div style="color:rgb(136,136,136);font-size:12.8px"><font size="1"><a href="http://www.papercut.com/" style="color:rgb(17,85,204)" target="_blank"><img alt="" src="http://cdn.papercut.com/files/email/papercut.png"></a><br></font></div><div style="color:rgb(136,136,136);font-size:12.8px"><span style="font-size:x-small">mob:  +61 439 584 646</span><br></div><div style="color:rgb(136,136,136);font-size:12.8px"><font size="1">web:    <span style="color:rgb(61,133,198)"><a href="http://www.papercut.com/" style="color:rgb(17,85,204)" target="_blank">www.papercut.com</a></span><br></font></div><div style="color:rgb(136,136,136);font-size:12.8px"><br></div><div dir="ltr" style="color:rgb(136,136,136);font-size:12.8px"><a href="https://twitter.com/papercutdev" style="color:rgb(17,85,204)" target="_blank"><img alt="" src="http://cdn.papercut.com/files/email/twitter-grey.png"></a>  <a href="https://facebook.com/papercutsoftware" style="color:rgb(17,85,204)" target="_blank"><img alt="" src="http://cdn.papercut.com/files/email/facebook-grey.png"></a>  <a href="http://www.linkedin.com/company/papercut-software" style="color:rgb(17,85,204)" target="_blank"><img alt="" src="http://cdn.papercut.com/files/email/linkedin-grey.png"></a>  <a href="https://google.com/+PaperCutSoftware" style="color:rgb(17,85,204)" target="_blank"><img src="http://cdn.papercut.com/files/email/google-plus-grey.png"></a>  <a href="https://youtube.com/papercutsoftware" style="color:rgb(17,85,204)" target="_blank"><img alt="" src="http://cdn.papercut.com/files/email/youtube-grey.png"></a><br><font color="#cccccc" size="1"><br>Please consider the environment before printing this email... or install PaperCut and let it do the considering for you!</font></div></div></div></div></div>