justincpresley / ndn-python-svs

ndn-python-svs: NDN StateVectorSync protocol python library for syncing distributed real-time applications.
GNU Lesser General Public License v2.1
9 stars 5 forks source link

What is the default security? #8

Closed aelhadee closed 2 years ago

aelhadee commented 2 years ago

Hello Justin, Is security (encryption/auth) enabled by default in the chat app? How do I change or disable it?

Thanks, AE

justincpresley commented 2 years ago

Hi AE,

ndn-svs uses the default digest signature for its interest and data packets. However, you can enable authenticate by creating SigningInfo (along with ValidatingInfo) and pass that to a SecurityOptions object that is further passed to an SVS object. You can either create HMAC, ECDSA, RSA, or Digest pub/priv key with python OR take the key/cert information from ndnsec key-gen.

For confidentiality (encryption), that is not implemented and would make for a good type. You can however encrypt the bytes (you plan to publish under a node) and then publish.

I do understand this is not as laid out as my examples, and I do have it in my plans to revisit security area of ndn-svs to make it more transparent.

Kind regards, Justin

aelhadee commented 2 years ago

Great! Thanks, Justin for the clarification!