Hi Arthur,

You are right, unless you set both the ResourceProperty.NONSECURE and
ResourceProperty.SECURE flags to enable both coap:// and coaps://
endpoints, so that anonymous requests can match the "anon_clear" ACE...

Regards,
Tonny

On 19 December 2017 at 21:59, Arthur Barros Lapprand <a...@cin.ufpe.br>
wrote:

> Hi Tonny,
>
> So that means I can't access a resource registered with
> ResourceProperty.SECURE flag by using coap:// while setting an ACE for it
> with "anon_clear", right?
>
> Best regards,
> A. Lapprand
>
> Em ter, 19 de dez de 2017 às 10:38, Tonny Tzeng <tonny.tz...@gmail.com>
> escreveu:
>
>> ​Hi Arthur,
>>
>> Set the ​ResourceProperty.SECURE flag will instruct the stack to use the
>> secured coaps:// endpoint, so you must use "auth_crypt" connection type ACE
>> for that resource, and the credentials must be installed for mutual
>> authentication. As you only wanted to run the existing code, you might
>> leave the ResourceProperty.SECURE flag unset to use unsecured coap://
>> endpoint, so that the SRM can match the "anon_clear" connection type ACE
>> and grant the access. FYR.
>>
>> Regards,
>> Tonny
>>
>> On 19 December 2017 at 21:10, Arthur Barros Lapprand <a...@cin.ufpe.br>
>> wrote:
>>
>>> Hi Tonny,
>>>
>>> Yes, initially I want to run existing code and that ACE will hopefully
>>> be helpful even though I've once tried to use that wildcard ACE without
>>> success. I do use the ResourceProperty.SECURE flag when registering
>>> resources but I'm not sure if I really need to set credentials in the SVR
>>> database if I want a wildcard ACE to work. Right now I'm fighting some
>>> build issues when building SECURED=1 for Android that came with the 1.3.1
>>> release. I'll certainly give feedback once I manage to do that.
>>>
>>> Thank you,
>>> A. Lapprand
>>>
>>> Em ter, 19 de dez de 2017 às 09:58, Tonny Tzeng <tonny.tz...@gmail.com>
>>> escreveu:
>>>
>>>> Hi Arthur,
>>>>
>>>> The concept to get secure access to a resource is the same for C++ and
>>>> JavaScript -- use secure endpoint in C++/JavaScript, and have proper ACL
>>>> and credential setup in the SVR database. If what you want is to run
>>>> existing code intact but with SECURED=1, then add an anonymous connection
>>>> type ACE as Max described above will work. Let us know it's not the case...
>>>>
>>>> Regards,
>>>> Tonny
>>>>
>>>> On 18 December 2017 at 21:15, Arthur Barros Lapprand <a...@cin.ufpe.br>
>>>> wrote:
>>>>
>>>>> Sorry I meant I want to state this, not a few things, hehe. Basically
>>>>> I want to focus on local ACL permissions without dealing with the whole
>>>>> device ownership and pairing process. Thank you again!
>>>>>
>>>>> 2017-12-18 10:12 GMT-03:00 Arthur Barros Lapprand <a...@cin.ufpe.br>:
>>>>>
>>>>>> Hi, thank you for the quick replies!
>>>>>>
>>>>>> @Max
>>>>>>
>>>>>>> I never succeeded with setting the "di" using API
>>>>>>>
>>>>>>
>>>>>> I also never succeeded. However, since there was a recent release I
>>>>>> should first give it a try.
>>>>>>
>>>>>> @Tonny
>>>>>> I had an overview of the article. Very interesting indeed! But it
>>>>>> uses javascript which isn't what I'm looking for this particular problem.
>>>>>> Nonetheless, it is related to security 😁. Since I didn't have the time to
>>>>>> read it in detail yet I may be saying things that are answered there, so
>>>>>> pardon me in advance if you may. I need to state a few things:
>>>>>>
>>>>>> (3) use an Onboarding Tool to establish ownership with both the
>>>>>>> Client and the Server;
>>>>>>
>>>>>> (4) mutual install the credentials of each other by pairing the
>>>>>>> devices with the OBT
>>>>>>>
>>>>>> I'm trying to simulate these by setting the device owner through the
>>>>>> ACL for development purposes.
>>>>>>
>>>>>>
>>>>>>
>>>>>> 2017-12-17 5:16 GMT-03:00 Tonny Tzeng <tonny.tz...@gmail.com>:
>>>>>>
>>>>>>> Hi,
>>>>>>>
>>>>>>> We just posted an article at 01.org
>>>>>>> <https://01.org/blogs/ttzeng/2017/securely-accessing-iot-devices-based-javascript>
>>>>>>>  talking
>>>>>>> few security concept in IoTivity. Though we were using iotivity-node as 
>>>>>>> an
>>>>>>> example, I think the following steps would get your Client accesses to 
>>>>>>> the
>>>>>>> Server securely:
>>>>>>> (1) your Server need to register the resource with
>>>>>>> ResourceProperty.SECURE flag in order to use the secured endpoint;
>>>>>>> (2) allow the "auth-crypt" connection requests in the SVD dB;
>>>>>>> (3) use an Onboarding Tool to establish ownership with both the
>>>>>>> Client and the Server;
>>>>>>> (4) mutual install the credentials of each other by pairing the
>>>>>>> devices with the OBT
>>>>>>>
>>>>>>> Regards,
>>>>>>> Tonny
>>>>>>>
>>>>>>> On 17 December 2017 at 14:38, Max Kholmyansky <max...@gmail.com>
>>>>>>> wrote:
>>>>>>>
>>>>>>>> Hi Arthur,
>>>>>>>>
>>>>>>>> You should be able to communicate between the client and the server
>>>>>>>> on Android, using SECURED=1 library.
>>>>>>>>
>>>>>>>> First, to set your "di" (client or server) - you need to specify
>>>>>>>> the "di" value inside the DAT file (containing security information) - 
>>>>>>>> you
>>>>>>>> can look at the samples. I never succeeded with setting the "di" using 
>>>>>>>> API,
>>>>>>>> and I don't know if it's supported.
>>>>>>>>
>>>>>>>> Second, even using SECURED=1, in the server, you can allow any
>>>>>>>> client (even not authenticated) to access any resource.
>>>>>>>> The relevant ACL entry looks like: (you may need to change the
>>>>>>>> "aceid"):
>>>>>>>> {
>>>>>>>>
>>>>>>>>     "aceid": 5,
>>>>>>>>     "subject": { "conntype": "anon-clear" },
>>>>>>>>     "resources": [
>>>>>>>>         { "href": "*" }
>>>>>>>>     ],
>>>>>>>>     "permission": 14
>>>>>>>> }
>>>>>>>>
>>>>>>>> This is definitely not the way to configure it in production, but it 
>>>>>>>> should allow you to keep developing, without caring about access 
>>>>>>>> permissions for a while.
>>>>>>>>
>>>>>>>>
>>>>>>>> Max
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> On Thu, Dec 14, 2017 at 8:54 PM, Arthur Barros Lapprand <
>>>>>>>> a...@cin.ufpe.br> wrote:
>>>>>>>>
>>>>>>>>> Hi all,
>>>>>>>>>
>>>>>>>>> I have a few beginner-leveled questions about secure mode in
>>>>>>>>> Android. Let me explain the situation:
>>>>>>>>>
>>>>>>>>> I have created two apps (one for Server/Controlee and the other
>>>>>>>>> for the Client/Controller) and I'm able to FIND and GET/POST/OBSERVE 
>>>>>>>>> them
>>>>>>>>> without problems. As this is a simple example, I now want to do the 
>>>>>>>>> same
>>>>>>>>> things but with SECURED=1. I should note that I am usually running 
>>>>>>>>> both
>>>>>>>>> apps in the same device (not the emulator, but my cellphone).
>>>>>>>>>
>>>>>>>>> So I started looking everywhere and discovered I could do this
>>>>>>>>> with a local ACL and supposedly everything would be ok. Turns out it
>>>>>>>>> didn't, which is why I am here. So my questions are:
>>>>>>>>>
>>>>>>>>> - Do I need anything else to use the SECURED flag in Android apart
>>>>>>>>> from registering resource as secure and passing the ACL to the
>>>>>>>>> PlatformConfig and configure it?
>>>>>>>>>
>>>>>>>>> - I read that when configuring the Platform with an ACL the
>>>>>>>>> DeviceID should be set with the ID inside it. So as it failed I tried
>>>>>>>>> debugging the ID, which led me to confusion about PlatformID and 
>>>>>>>>> DeviceID.
>>>>>>>>> When loading the ACL the DeviceID comes as a random byte[]. However, 
>>>>>>>>> I can
>>>>>>>>> set the DeviceID in the code and retrieve it just fine. The thing is, 
>>>>>>>>> the
>>>>>>>>> ID recieved by the Client (ServerID) isn't the same I set in the 
>>>>>>>>> code. I'm
>>>>>>>>> not sure if it's something about the encoding tricking me or if it's
>>>>>>>>> something else. Can someone please shed me some light?
>>>>>>>>>
>>>>>>>>> In short, the Client can find the resources (they are registered
>>>>>>>>> with SECURE type) but can't make a correct GET/POST/OBSERVE request,
>>>>>>>>> returning UNAUTHORIZED_REQ. Any tips about this flag and Android are
>>>>>>>>> welcome.
>>>>>>>>>
>>>>>>>>> Sorry for the long post, thank you in advance!
>>>>>>>>>
>>>>>>>>> _______________________________________________
>>>>>>>>> iotivity-dev mailing list
>>>>>>>>> iotivity-dev@lists.iotivity.org
>>>>>>>>> https://lists.iotivity.org/mailman/listinfo/iotivity-dev
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> iotivity-dev mailing list
>>>>>>>> iotivity-dev@lists.iotivity.org
>>>>>>>> https://lists.iotivity.org/mailman/listinfo/iotivity-dev
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>
_______________________________________________
iotivity-dev mailing list
iotivity-dev@lists.iotivity.org
https://lists.iotivity.org/mailman/listinfo/iotivity-dev

Reply via email to