Thanks,

Yes this answers my question. I just need to learn how to properly do 
certificate-based credentials within iotivity. I am already familiar with the 
callbacks in IoTivity.  Not sure if the same exist in IoTivity-lite.

George

From: Heldt-Sheller, Nathan
Sent: Wednesday, January 2, 2019 9:28 PM
To: Nash, George <george.n...@intel.com>; iotivity-dev 
<iotivity-dev@lists.iotivity.org>
Subject: RE: Is it possible to default white-list pair-wise credentials 
provisioning

Hi George,

With symmetric creds, unfortunately no, there is no way to establish a secure 
connection (e.g. DTLS) without each Device having an installed /cred that is 
uniquely correlated to the Device ID of the other Device... in other words, 
your provisioning step 5) is mandatory in order to set up a dedicated PSK for 
Client 1 and Server A to connect to one another.

With asymmetric creds (which in OCF is realized through certificates) the step 
5) is not necessary, because all the Client needs in order to connect to the 
Server (and vice versa) is a Certificate that can be validated using one of the 
installed Root Certs (aka Trust Anchors) on the Server.  That's one of the best 
reasons to use certificates: it allows addition of a new Device N to the 
network without having to add a /cred entry for that Device N on every other 
Device already onboarded to the network.

Another approach as you noted is to bypass secure connections altogether (using 
e.g. CoAP endpoint, rather than CoAPS) but this is a violation of the OCF 
Specifications for any OCF-defined "Vertical" Resource types; only Vendor 
Defined Resources (and a few select Core and Security Resources) may expose 
CoAP endpoints.  A request arriving over a non-secure connection (e.g. CoAP) is 
the only case where "anon-clear" /acl2 entries would grant access to the 
Resource... so they're unfortunately not much use.

In the certificate-based credential model, the sequence looks like this:


1.       Client/OBT 1 Discovers and onboards Servers A, B and C... now Client 1 
can connect via CoAPS to ABC (and they could each connect to each other if they 
were Clients also)

a.       As part of onboarding, Client 1 provisions A, B and C with 
"auth-crypt" ACEs for all Discoverable NCRs ("+")

2.       Client/OBT 1 Discovers and onboards Client 2... now Client 1 and 2 can 
talk to ABC's NCRs without any further modification to ABC at all (e.g. no 
changes to ABC's /cred or /acl2 Resource)

Please let me know if that answers your question or if I've missed your intent!

Thanks,
Nathan



From: iotivity-dev@lists.iotivity.org<mailto:iotivity-dev@lists.iotivity.org> 
[mailto:iotivity-dev@lists.iotivity.org] On Behalf Of George Nash
Sent: Wednesday, January 2, 2019 4:14 PM
To: iotivity-dev 
<iotivity-dev@lists.iotivity.org<mailto:iotivity-dev@lists.iotivity.org>>
Subject: [dev] Is it possible to default white-list pair-wise credentials 
provisioning

Is it possible to setup server and client to automatically do pair-wise 
credentials or skip the need for pair-wise credentials?

Right now I follow a multi-step process to get a client and server on-boarded 
and provisioned to talk with one another.  (Note some of this may be simplified 
using the OTGC)


1.       Discover unowned devices

2.       Take ownership of devices

3.       Discover owned devices

4.       Provision server (I have been using auth-crypt with the all 
discoverable resources wild card with read, update, notify permissions)

5.       Pair client and server using pair-wise credentials provisioning

6.       Restart devices

What I want to know is there a way to skip the pairing step (#5 above)?  Is 
there a way to let the client and server talk with each other without pairing 
them. I already have a really permissive permissions set. I want any client 
that is on the same network to be able to control my server without pairing if 
possible.  This would be a white-list by default behavior. I think this could 
be done by using the anon-clear permission. So far I have not been able to get 
this to work.



George N




-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#10129): 
https://lists.iotivity.org/g/iotivity-dev/message/10129
Mute This Topic: https://lists.iotivity.org/mt/28919480/21656
Group Owner: iotivity-dev+ow...@lists.iotivity.org
Unsubscribe: https://lists.iotivity.org/g/iotivity-dev/unsub  
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to