Cloudkibo / Android

0 stars 0 forks source link

Encryption on KiboChat Design Discussion #431

Open jekram opened 7 years ago

jekram commented 7 years ago

@sojharo

This is a design discussion about implementing Encryption on KiboChat.

This task is to investigate option, and once we have the clarity, we would decide what to implement.

Background:

Encryption will be a requirement by our customers.

At a macro level there are two kinds of Encryption:

  1. End to End encryption where encrypted data passes through us. However, we have the keys to reading the data for a number of reasons, like reporting, or compliance) In this case, the server would act as a hub ad would have unique encryption with each client.

  2. End to End encryption where encrypted data passes through us. However, we cannot read customer content. This is what I think Whatsapp has implemented.

The first step is to investigate what others have implemented and what are the different options.

What we need to implement is use case #1.

We would iterate through to get a better understanding before finalizing this.

Also, the solution we would come up with should be generic enough so it can also apply to KiboEngage.

We need to find some open source library that we can leverage on iOS, Andriod, and Server.

sojharo commented 7 years ago

Here is the initial document on encryption:

https://docs.google.com/document/d/116mTnvwiVxOPiXyIpEWBy2fgV29KzTWNNuaOkXJ4L-A/edit#

I read couple of articles on this and also looked how whatsapp is doing. Everyone suggested to use any solution for this as our own implementation can be trickier and harmful. Further, I read into documentation of Signal application which is completely encrypted and secure. I also found some open source libraries to do encryptoin and there was android provided APIs to for doing data encryption. But android libraries won't work with server decryption.

jekram commented 7 years ago

Sojharo

I was looking for more details.

Please provide the link to the documents that you have investigated, and I will review them and provide next steps.

You can put a hold on it until I come back with more details.

Jawaid