Re: [Ace] Correct url for draft-cuellar-ace-pat-priv-enhanced-authz-tokens source code

Hannes Tschofenig <hannes.tschofenig@gmx.net> Wed, 12 October 2016 12:41 UTC

Return-Path: <hannes.tschofenig@gmx.net>
X-Original-To: ace@ietfa.amsl.com
Delivered-To: ace@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 634E71293F4 for <ace@ietfa.amsl.com>; Wed, 12 Oct 2016 05:41:36 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -5.597
X-Spam-Level:
X-Spam-Status: No, score=-5.597 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=-0.001, RP_MATCHES_RCVD=-2.996, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id lKT_hvhYEOsD for <ace@ietfa.amsl.com>; Wed, 12 Oct 2016 05:41:33 -0700 (PDT)
Received: from mout.gmx.net (mout.gmx.net [212.227.15.18]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 9753E1293F3 for <ace@ietf.org>; Wed, 12 Oct 2016 05:41:32 -0700 (PDT)
Received: from [192.168.91.134] ([80.92.121.244]) by mail.gmx.com (mrgmx002) with ESMTPSA (Nemesis) id 0LvENG-1auKKD1lTe-010Lt8; Wed, 12 Oct 2016 14:41:27 +0200
To: "Calvo Alonso, Daniel" <daniel.calvo@atos.net>, "ace@ietf.org" <ace@ietf.org>
References: <8A926B4ADC92E345A40FA5363D47FA3003358C69@DEERLM99EX1MSX.ww931.my-it-solutions.net> <15048fce-3378-94e3-40d6-c75fc511a2cb@gmx.net> <8A926B4ADC92E345A40FA5363D47FA300336A807@DEERLM99EX1MSX.ww931.my-it-solutions.net>
From: Hannes Tschofenig <hannes.tschofenig@gmx.net>
Openpgp: id=071A97A9ECBADCA8E31E678554D9CEEF4D776BC9
Message-ID: <613d3596-c721-7285-82ea-03176898e22a@gmx.net>
Date: Wed, 12 Oct 2016 14:41:24 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.3.0
MIME-Version: 1.0
In-Reply-To: <8A926B4ADC92E345A40FA5363D47FA300336A807@DEERLM99EX1MSX.ww931.my-it-solutions.net>
Content-Type: multipart/signed; micalg="pgp-sha512"; protocol="application/pgp-signature"; boundary="5juMo1iO9oMk5r6EVmxeovPvNNDL72bNr"
X-Provags-ID: V03:K0:jh5eXKUJU7EgBSRk+EcdGMFyrY2/7JG9X9SW1aNRHaOleTYJkFG EMzBNqru0NuQe8OZnnx3pdssyMkFCXFjYjZV/MyWBgFrqZgW3ejDA4BLKek30xuQKTIluNd QRisEgJ/EjqPZIXSZBNmcyCZavfO7tH2BOQwN8xlGa7FUTnUo12oNskKosMkIZzeMdjtm+V WWXgAKIA6WeiGTB7YFjiw==
X-UI-Out-Filterresults: notjunk:1;V01:K0:ZIMqQUlbEDg=:2QYy0I4zZynJlf2ED/m3zU N7nhOz+hCn/E9ROnUpQE0fbo6yazPKKDKGxRlD9vAJINAHrHngXbDSSToq0xqOrJAWVBTETbN dW3Pp/glmHbV6ZcUZ0e64w44uBufuYDpmQVDsp2ChGHvZN2xLDx1s9tue7zuTWtOLO+B+nqEa b/GjgVFieRacDaY/STHHY9dXvAjhpGP0nWtzzPfaz7IYzLJ9YSm8CZo2EzXWH1iEgGJ6Lyoe7 IYjB+kyUOveWYBXCwTw5V9ZkbUIKSuyfM5kcRepRUJp368BCvdgiW8crOiSHzAPk1+3ZPEVh7 6/GJfHNFkzAUCoClywZt9R0xpGke6BQx1dlAYiUaZR4Mfeu6ioDJawhaKbGcSyx9ASN7dtTtD 5jBXX4JXn55R1FFjUaylI08FcxHecyAZrVFKPeWqhY6BDZENQq//J3IhT4DgTFfipRrBj/uMd sJ7S/Lb2ysh4bDP3VCfhTeKSk+xPSTIhI1JkfJ+RGrQbKZh5HuYRL7h3Aqw3rr3LAdtObz2uK nyvI0zaLrGvW52cS2MQ9wtPqCLgKExbseXH277I3LEgSGHYRfnGHzf39/2UWJXSs7Eo8EIbUH mzopP0nhco+Szi0zLvsU4jsBLO6ueEMrokQ6zSL2cTZJhU3i1RhXGgtI4o6bIDABHKWS2tMnq teX7Wu3YgY7L6fpAEgQuOmG7Fp+Q8I3Bl4xQJnTN7mpM20PYfxvfbhZOwEhpRy54oZFoxL+el xIS6dRrifdAraqThh0Rmc92di3Q235at7WkLCCEBg5AiIPYwiddifDrd/e4=
Archived-At: <https://mailarchive.ietf.org/arch/msg/ace/FD4GRBT0Cn8GAuW0mQCNfWG5LZQ>
Cc: "Kasinathan, Prabhakaran" <prabhakaran.kasinathan@siemens.com>, "Cuellar, Jorge" <jorge.cuellar@siemens.com>, "Gato, Jose" <jose.gato@atos.net>
Subject: Re: [Ace] Correct url for draft-cuellar-ace-pat-priv-enhanced-authz-tokens source code
X-BeenThere: ace@ietf.org
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: "Authentication and Authorization for Constrained Environments \(ace\)" <ace.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ace>, <mailto:ace-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/ace/>
List-Post: <mailto:ace@ietf.org>
List-Help: <mailto:ace-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ace>, <mailto:ace-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 12 Oct 2016 12:41:36 -0000

Hi Daniel,

thanks for the description.

How close is the implementation to the ACE-OAuth framework?

I am asking this question since you could have re-used lots of existing
code since there are many open source implementations of OAuth
authorization servers around (even in Java).

The use of Java for the client only makes sense if you are planning to
run it on an Android phone/tablet (which is one of the use cases, of
course). If the client (or the resource server) are running on an IoT
device then Java is not that common (at least not on the low end
devices, which the ACE group is mostly focused on). Most IoT devices are
using C (or C++ at best).

Maybe there is a chance that your European funded research project
contributes code to a C-implementation of COSE, where preliminary work
has been done already by a student in Sweden, see
https://github.com/Gunzter/COSE-C

Adding proof-of-possession support to OAuth authorization servers would
also be appreciated.

I think that these student projects from Trier University give some
insight into how existing components can be re-used. In this case the
scenario was to write an Android app to interact with an authorization
server to obtain an access token that can be used to gain access to a
smart door lock.

Code from one group:
https://github.com/StudienprojektUniTrier

Code from the second group:
http://tschofenig.priv.at/Trier-Gruppe3.zip

Ciao
Hannes

PS: Is there a plan to take the privacy aspects from
draft-cuellar-ace-pat-priv-enhanced-authz-tokens-03 and to align them
with the ACE framework?

On 09/28/2016 12:42 PM, Calvo Alonso, Daniel wrote:
> Hi Hannes,
> 
> Sorry for the delayed answer but I have been travelling for a couple of days.
> 
> This code is a first JAVA prototype that implements the actors, messages and flows that are defined in  draft-cuellar-ace-pat-priv-enhanced-authz-tokens-03.
> 
> I will try to give you an overview:
> - You can find several examples that demonstrate the features of the draft/prototype in src/test/java/com/atos/ari/rerum/ace. For instance in CompleteTestSuccess.java:
>         - We have a ResourceServer (lines 74-86) that hosts a resource which will be used for the tests (this functionality would be implemented in a constrained device)
>         - We have an AuthorizationServer (lines 89-106) that will perform the authorization process on behalf of the ResourceServer and which uses a set of policies defined a JSON file. This is out of the scope of the draft, but we have followed this approach to achieve a complete test.
>         - A client wants to get access to the resource but as it does not have an valid access token, the resource server will return an Unauthorized response with the information about the AuthorizationServer that must be contacted (lines 127-135).
>         - The client uses this information to ask the AuthorizationServer an AccessToken that covers its request over the ResourceServer. In this case, a GET operation. (lines 138- 141)
>         - The client uses part of the ClientToken to perform an authorized resource request to the resource server (lines 143 - 152)
>         - The client uses part of the ClientToken to unencrypt the answer received from the ResourceServer (lines 155 -167 )
>         - In the rest of the code, a similar process if followed to perform a POST operation.
> - The implementation of the actors can be found under src/main/java/com/atos/ari/rerum/ace folder: AuthorizationServer, Client, ResourceAce and ResourceServer. All these classes are used in the examples like the one I mentioned before.
> - In src/main/java/com/atos/ari/rerum/ace/messages, you can find the classes that implement the different messages that are exchanged as part of the protocol flow, e.g., the sam information message (SamInformationMessage), the access token request message (AccessRequestMessage), the client token (TicketTransferMessage, TicketTransferMessageFace) and the access token (AccessToken). The access token is embedded in the payload as described in the draft. We use AcePayload class for this part. As you can see, the contents of the payload are encrypted to protect data confidentiality.
> In src/main/java/com/atos/ari/rerum/ace/crypto, you can find the classes that implement the different algorithms that are initially proposed in the draft. For instance:
>         - AEAD_CHACHA20_POLY130 for authenticat4ed encryption of payloads.
>         -  Poly1305 to generate the verifier (part of the ClientToken that is sent from the AuthorizationServer to the Client and used to encrypt payload)
> 
> The next step would be to implement the Client actor and its functionality in a real constrained device. As I explained you in Berlin, this is in our roadmap but we are going also to follow your comments and try to align first this draft with draft-ietf-ace-oauth-authz-02.
> 
> @Jorge, @Prabha, please correct me if anything is not totally correct and feel free to add what you consider of interest.
> 
> I hope that this explanation is useful to understand better the code but if you have more doubts, please don't hesitate in ask me again!
> 
> BR,
> 
> Daniel
> 
> 
> Daniel Calvo
> Energy and Transport Market
> Atos Research and Innovation
> Tel: +34 946 66 20 82
> daniel.calvo@atos.net
> C/Real Consulado s/n,
> Polígono Industrial Candina
> 39011 Santander
> www.atosresearch.eu
> 
> 
> 
> Feel free to download our booklet at
> https://atos.net/en/insights-and-innovation/innovation-labs
> 
> This e-mail and the documents attached are confidential and intended solely for the addressee; it may also be privileged. If you receive this e-mail in error, please notify the sender immediately and destroy it.
> As its integrity cannot be secured on the Internet, the Atos group liability cannot be triggered for the message content. Although the sender endeavors to maintain a computer virus-free network, the sender does not warrant that this transmission is virus-free and will not be liable for any damages resulting from any virus transmitted.
> 
> Este mensaje y los ficheros adjuntos pueden contener información confidencial destinada solamente a la(s) persona(s) mencionadas anteriormente y pueden estar protegidos por secreto profesional.
> Si usted recibe este correo electrónico por error, gracias por informar inmediatamente al remitente y destruir el mensaje.
> Al no estar asegurada la integridad de este mensaje sobre la red, Atos no se hace responsable por su contenido. Su contenido no constituye ningún compromiso para el grupo Atos, salvo ratificación escrita por ambas partes.
> Aunque se esfuerza al máximo por mantener su red libre de virus, el emisor no puede garantizar nada al respecto y no será responsable de cualesquiera daños que puedan resultar de una transmisión de virus.
> This e-mail and the documents attached are confidential and intended solely for the addressee; it may also be privileged. If you receive this e-mail in error, please notify the sender immediately and destroy it.
> As its integrity cannot be secured on the Internet, the Atos group liability cannot be triggered for the message content. Although the sender endeavors to maintain a computer virus-free network, the sender does not warrant that this transmission is virus-free and will not be liable for any damages resulting from any virus transmitted.
> 
> Este mensaje y los ficheros adjuntos pueden contener información confidencial destinada solamente a la(s) persona(s) mencionadas anteriormente y pueden estar protegidos por secreto profesional.
> Si usted recibe este correo electrónico por error, gracias por informar inmediatamente al remitente y destruir el mensaje.
> Al no estar asegurada la integridad de este mensaje sobre la red, Atos no se hace responsable por su contenido. Su contenido no constituye ningún compromiso para el grupo Atos, salvo ratificación escrita por ambas partes.
> Aunque se esfuerza al máximo por mantener su red libre de virus, el emisor no puede garantizar nada al respecto y no será responsable de cualesquiera daños que puedan resultar de una transmisión de virus.
> 
> 
> -----Original Message-----
> From: Hannes Tschofenig [mailto:hannes.tschofenig@gmx.net]
> Sent: Monday, September 26, 2016 10:24 AM
> To: Calvo Alonso, Daniel; ace@ietf.org
> Cc: Kasinathan, Prabhakaran; Cuellar, Jorge; Gato, Jose
> Subject: Re: [Ace] Correct url for draft-cuellar-ace-pat-priv-enhanced-authz-tokens source code
> 
> Hi Daniel,
> 
> could you provide a bit of info what you have implemented?
> (I know that I can look at the code myself but you probably know all the details from the top of your head.)
> 
> Ciao
> Hannes
> 
> 
> On 08/31/2016 10:11 AM, Calvo Alonso, Daniel wrote:
>> Dear all,
>>
>> As I promised during my presentation in the ACE WG meeting in Berlin,
>> this is the correct link to
>> draft-cuellar-ace-pat-priv-enhanced-authz-tokens prototype source code:
>>
>> _https://gitlab.atosresearch.eu/ari/ACE-PAT-pub_
>>
>> Please, don't hesitate in contact me in case you have any doubt or problem.
>>
>> With my best regards,
>>
>> *Daniel Calvo*
>> Energy and Transport Market
>> Atos Research and Innovation
>> Tel: +34 946 66 20 82
>> _daniel.calvo@atos.net_ <mailto:daniel.calvo@atos.net> C/Real
>> Consulado s/n, Polígono Industrial Candina
>> 39011 Santander
>> _www.atosresearch.eu_ <http://www.atosresearch.eu/>
>>
>>
>> *Feel free to download our booklet at*
>> _http://atos.net/en-us/home/we-are/insights-innovation/research-and-in
>> novation.html_
>>
>>
>> This e-mail and the documents attached are confidential and intended
>> solely for the addressee; it may also be privileged. If you receive
>> this e-mail in error, please notify the sender immediately and destroy it.
>> As its integrity cannot be secured on the Internet, the Atos group
>> liability cannot be triggered for the message content. Although the
>> sender endeavors to maintain a computer virus-free network, the sender
>> does not warrant that this transmission is virus-free and will not be
>> liable for any damages resulting from any virus transmitted.
>>
>> Este mensaje y los ficheros adjuntos pueden contener información
>> confidencial destinada solamente a la(s) persona(s) mencionadas
>> anteriormente y pueden estar protegidos por secreto profesional.
>> Si usted recibe este correo electrónico por error, gracias por
>> informar inmediatamente al remitente y destruir el mensaje.
>> Al no estar asegurada la integridad de este mensaje sobre la red, Atos
>> no se hace responsable por su contenido. Su contenido no constituye
>> ningún compromiso para el grupo Atos, salvo ratificación escrita por
>> ambas partes.
>> Aunque se esfuerza al máximo por mantener su red libre de virus, el
>> emisor no puede garantizar nada al respecto y no será responsable de
>> cualesquiera daños que puedan resultar de una transmisión de virus.
>> This e-mail and the documents attached are confidential and intended
>> solely for the addressee; it may also be privileged. If you receive
>> this e-mail in error, please notify the sender immediately and destroy it.
>> As its integrity cannot be secured on the Internet, the Atos group
>> liability cannot be triggered for the message content. Although the
>> sender endeavors to maintain a computer virus-free network, the sender
>> does not warrant that this transmission is virus-free and will not be
>> liable for any damages resulting from any virus transmitted.
>>
>> Este mensaje y los ficheros adjuntos pueden contener información
>> confidencial destinada solamente a la(s) persona(s) mencionadas
>> anteriormente y pueden estar protegidos por secreto profesional.
>> Si usted recibe este correo electrónico por error, gracias por
>> informar inmediatamente al remitente y destruir el mensaje.
>> Al no estar asegurada la integridad de este mensaje sobre la red, Atos
>> no se hace responsable por su contenido. Su contenido no constituye
>> ningún compromiso para el grupo Atos, salvo ratificación escrita por
>> ambas partes.
>> Aunque se esfuerza al máximo por mantener su red libre de virus, el
>> emisor no puede garantizar nada al respecto y no será responsable de
>> cualesquiera daños que puedan resultar de una transmisión de virus.
>>
>>
>>
>> This e-mail and the documents attached are confidential and intended
>> solely for the addressee; it may also be privileged. If you receive
>> this e-mail in error, please notify the sender immediately and destroy it.
>> As its integrity cannot be secured on the Internet, the Atos group
>> liability cannot be triggered for the message content. Although the
>> sender endeavors to maintain a computer virus-free network, the sender
>> does not warrant that this transmission is virus-free and will not be
>> liable for any damages resulting from any virus transmitted.
>>
>> Este mensaje y los ficheros adjuntos pueden contener información
>> confidencial destinada solamente a la(s) persona(s) mencionadas
>> anteriormente y pueden estar protegidos por secreto profesional.
>> Si usted recibe este correo electrónico por error, gracias por
>> informar inmediatamente al remitente y destruir el mensaje.
>> Al no estar asegurada la integridad de este mensaje sobre la red, Atos
>> no se hace responsable por su contenido. Su contenido no constituye
>> ningún compromiso para el grupo Atos, salvo ratificación escrita por
>> ambas partes.
>> Aunque se esfuerza al máximo por mantener su red libre de virus, el
>> emisor no puede garantizar nada al respecto y no será responsable de
>> cualesquiera daños que puedan resultar de una transmisión de virus.
>>
>>
>> _______________________________________________
>> Ace mailing list
>> Ace@ietf.org
>> https://www.ietf.org/mailman/listinfo/ace
>>
> This e-mail and the documents attached are confidential and intended solely for the addressee; it may also be privileged. If you receive this e-mail in error, please notify the sender immediately and destroy it.
> As its integrity cannot be secured on the Internet, the Atos group liability cannot be triggered for the message content. Although the sender endeavors to maintain a computer virus-free network, the sender does not warrant that this transmission is virus-free and will not be liable for any damages resulting from any virus transmitted.
> 
> Este mensaje y los ficheros adjuntos pueden contener información confidencial destinada solamente a la(s) persona(s) mencionadas anteriormente y pueden estar protegidos por secreto profesional.
> Si usted recibe este correo electrónico por error, gracias por informar inmediatamente al remitente y destruir el mensaje.
> Al no estar asegurada la integridad de este mensaje sobre la red, Atos no se hace responsable por su contenido. Su contenido no constituye ningún compromiso para el grupo Atos, salvo ratificación escrita por ambas partes.
> Aunque se esfuerza al máximo por mantener su red libre de virus, el emisor no puede garantizar nada al respecto y no será responsable de cualesquiera daños que puedan resultar de una transmisión de virus.
> 
> _______________________________________________
> Ace mailing list
> Ace@ietf.org
> https://www.ietf.org/mailman/listinfo/ace
>