Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

How does Slack provide a search service if the data is encrypted by keys they do not control?


The client incrementally builds a search index, encrypts it using an appropriate random access encryption primitive, and writes it to the cloud encrypted. At search time it reads as necessary from the encrypted index. (This allows some light traffic analysis; if you can't tolerate that the client can store a copy of the entire index)


What search implements this?


run the tokenizer on the client side, client submits encrypted tokens to the search index.

or don't provide a search service, have client have its own local index.


> run the tokenizer on the client side, client submits encrypted tokens to the search index.

That would be an incredibly insecure method of encryption.

> or don't provide a search service, have client have its own local index.

Yep, I would prefer an on-prem solution.


I see your point. Is it possible to achieve that type of functionality with a reasonable expectation of security?


Well, if you want slack to be able to search chats history, it needs to be able to access it in some way.

So if your 'resonable expectation of security' involves slack not being able to read your chat history, you are going to have to give up search.

Otherwise, the reasonable expectation of security will have to rely on trusting slack to properly secure their side of things.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: