> Is this a case where multiple logical messages (when combined together) >are > treated by Kafka as a single message, and it's up to the consumer to > separate them?
Yes. -- Jim On 6/6/16, 7:12 AM, "Tom Brown" <tombrow...@gmail.com> wrote: >How would it be possible to encrypt an entire batch? My understanding >is that the Kafka server needs to know the boundaries of each message. >(E.g. The server decompresses compressed message sets and re-compresses >individual messages). > >Given that precedent, how could the server properly separate the >individual >messages without the server knowing the encryption keys or scheme? > >Is this a case where multiple logical messages (when combined together) >are >treated by Kafka as a single message, and it's up to the consumer to >separate them? > >--Tom > >On Monday, June 6, 2016, Jim Hoagland <jim_hoagl...@symantec.com> wrote: > >> MG>Jim can we assume you only implement Asymmetric Cryptography? >> >> >> As described and depicted in the blog post, we used asymmetric >> cryptography as the basis for trust, with symmetric crypto doing the >>heavy >> lifting. Specifically, for each "envelope", we include a randomly >> generated AES key encrypted with an RSA private key and the messages >> themselves are encrypted using the AES key. This is a common pattern. >> RSA should not be used to encrypt anything that is not random since >> otherwise patterns will be apparent. Also, RSA is more CPU intensive >>than >> AES. >> >> -- Jim >> >> On 6/6/16, 6:17 AM, "Martin Gainty" <mgai...@hotmail.com <javascript:;>> >> wrote: >> >> >MG>quick questions for bruno and jim >> > >> >> Subject: Re: Kafka encryption >> >> From: bruno.rassae...@novazone.be <javascript:;> >> >> Date: Mon, 6 Jun 2016 10:51:13 +0200 >> >> CC: tcrayf...@heroku.com <javascript:;> >> >> To: users@kafka.apache.org <javascript:;> >> >> >> >> Indeed to get proper performance, messages need to be batched before >> >>encryption. >> >> However, this is not that straightforward to implement and Kafka has >> >>already a very good batching algorithm. >> >> For example, when do you decide to no longer wait for additional >> >>messages and send a non-full batch ? Not that obvious. >> >MG>Bruno can you describe kafka criteria for a Full Batch?MG>can you >> >elucidate kafka criteria for a non Full-Batch? >> >> >> >> Ideally, we would like kafka clients to encrypt/decrypt the >>compressed >> >>batches of kafka. >> >> That seems like the ideal place to do this. >> >> >> >> >> >> > On 03 Jun 2016, at 07:27, Jim Hoagland <jim_hoagl...@symantec.com >> <javascript:;>> >> >>wrote: >> >> > >> >> > I'm hesitant to cite it because it wasn't really a proper >>benchmark, >> >>but >> >> > with the end-to-end encryption through Kafka proof of concept >> >>described at >> >> > http://symc.ly/1pC2CEG, doing the encryption added only 26% to the >> >>time >> >> > taken to send messages and only 6% to the time taken to consume >> >>messages. >> >> > This is with batching 200 300-byte messages together for >>encryption. >> >>More >> >> > details are in the blog post. >> >> > >> >> > Personally I think that encrypting sensitive data before handing >>it to >> >> > Kafka (or at least before it leaves the producing box) just makes >> >>sense to >> >> > do if the situation allows. The Kafka installation wouldn't be >>able >> >> > reveal the data even if its systems and networks are compromised >> >>because >> >> > it never sees the data in the clear and doesn't know how to decrypt >> >>it. >> >> > In the way we set it up, someone would need the recipient's RSA >> >>private >> >> > key to decrypt (or would need to have compromised a decrypting >> >>system). >> >MG>Jim can we assume you only implement Asymmetric Cryptography? >> >> > >> >> > -- Jim >> >> > >> >> > >> >> > On 6/2/16, 2:56 AM, "Tom Crayford" <tcrayf...@heroku.com >> <javascript:;>> wrote: >> >> > >> >> >> Filesystem encryption is transparent to Kafka. You don't need to >>use >> >>SSL, >> >> >> but your encryption requirements may cause you to need SSL as >>well. >> >> >> >> >> >> With regards to compression, without adding at rest encryption to >> >>Kafka >> >> >> (which is a very major piece of work, one that for sure requires a >> >>KIP and >> >> >> has many, many implications), there's not much to do there. I >>think >> >>it's >> >> >> worth examining your threat models that require encryption on disk >> >>without >> >> >> full disk encryption being suitable. Generally compromised broker >> >>machines >> >> >> means an attacker will be able to sniff in flight traffic anyway, >>if >> >>the >> >> >> goal is to never leak messages even if an attacker has full >>control >> >>of the >> >> >> broker machine, I'd suggest that that seems pretty impossible >>under >> >> >> current >> >> >> operating environments. >> >> >> >> >> >> If the issue is compliance, I'd recommend querying whichever >> >>compliance >> >> >> standard you're operating under about the suitability of full disk >> >> >> encryption, and careful thought about encrypting the most >>sensitive >> >>parts >> >> >> of messages. Whilst encryption in the producer and consumer does >> >>lead to >> >> >> performance issues and decrease the capability of compression to >> >>shrink a >> >> >> dataset, doing partial encryption of messages is easy enough. >> >> >> >> >> >> Generally we've found that the kinds of uses of Kafka that >>require in >> >> >> message encryption (alongside full disk encryption and SSL which >>we >> >> >> provide >> >> >> as standard) don't have such high throughput needs that they worry >> >>about >> >> >> compression etc. That clearly isn't true for all use cases though. >> >> >> >> >> >> Thanks >> >> >> >> >> >> Tom Crayford >> >> >> Heroku Kafka >> >> >> >> >> >> On Thursday, 2 June 2016, Gerard Klijs <gerard.kl...@dizzit.com >> <javascript:;>> >> >>wrote: >> >> >> >> >> >>> You could add a header to every message, with information whether >> >>it's >> >> >>> encrypted or not, then you don't have to encrypt all the >>messages, >> >>or >> >> >>> you >> >> >>> only do it for some topics. >> >> >>> >> >> >>> On Thu, Jun 2, 2016 at 6:36 AM Bruno Rassaerts < >> >> >>> bruno.rassae...@novazone.be <javascript:;> <javascript:;>> >> >> >>> wrote: >> >> >>> >> >> >>>> It works indeed but encrypting individual messages really >> >>influences >> >> >>> the >> >> >>>> batch compression done by Kafka. >> >> >>>> Performance drops to about 1/3 of what it is without (even if we >> >> >>> prepare >> >> >>>> the encrypted samples upfront). >> >> >>>> In the end what we going for is only encrypting what we really >> >>really >> >> >>> need >> >> >>>> to encrypt, not every message systematically. >> >> >>>> >> >> >>>>> On 31 May 2016, at 13:00, Gerard Klijs <gerard.kl...@dizzit.com >> <javascript:;> >> >> >>> <javascript:;>> wrote: >> >> >>>>> >> >> >>>>> If you want system administrators not being able to see the >>data, >> >> >>> the >> >> >>>> only >> >> >>>>> option is encryption, with only the clients sharing the key (or >> >> >>> whatever >> >> >>>> is >> >> >>>>> used to (de)crypt the data). Like the example from eugene. I >>don't >> >> >>> know >> >> >>>> the >> >> >>>>> kind of messages you have, but you could always wrap something >> >> >>> around >> >> >>> any >> >> >>>>> (de)serializer your currently using. >> >> >>>>> >> >> >>>>> On Tue, May 31, 2016 at 12:21 PM Bruno Rassaerts < >> >> >>>>> bruno.rassae...@novazone.be <javascript:;> <javascript:;>> >>wrote: >> >> >>>>> >> >> >>>>>> I’ve asked the same question in the past, and disk encryption >>was >> >> >>>>>> suggested as a solution as well. >> >> >>>>>> However, as far as I know, disk encryption will not prevent >>your >> >> >>> data >> >> >>> to >> >> >>>>>> be stolen when the machine is compromised. >> >> >>>>>> What we are looking for is even an additional barrier, so that >> >>even >> >> >>>> system >> >> >>>>>> administrators do not have access to the data. >> >> >>>>>> Any suggestions ? >> >> >>>>>> >> >> >>>>>>> On 24 May 2016, at 14:40, Tom Crayford <tcrayf...@heroku.com >> <javascript:;> >> >> >>> <javascript:;>> wrote: >> >> >>>>>>> >> >> >>>>>>> Hi, >> >> >>>>>>> >> >> >>>>>>> There's no encryption at rest. It's recommended to use >> >>filesystem >> >> >>>>>>> encryption, or encryption of each individual message before >> >> >>> producing >> >> >>>> it >> >> >>>>>>> for this. >> >> >>>>>>> >> >> >>>>>>> Only the new producer and consumers have SSL support. >> >> >>>>>>> >> >> >>>>>>> Thanks >> >> >>>>>>> >> >> >>>>>>> Tom Crayford >> >> >>>>>>> Heroku Kafka >> >> >>>>>>> >> >> >>>>>>> On Tue, May 24, 2016 at 11:33 AM, Snehalata Nagaje < >> >> >>>>>>> snehalata.nag...@harbingergroup.com <javascript:;> >> <javascript:;>> wrote: >> >> >>>>>>> >> >> >>>>>>>> >> >> >>>>>>>> >> >> >>>>>>>> Thanks for quick reply. >> >> >>>>>>>> >> >> >>>>>>>> Do you mean If I see messages in kafka, those will not be >> >> >>> readable? >> >> >>>>>>>> >> >> >>>>>>>> And also, we are using new producer but old consumer , does >>old >> >> >>>> consumer >> >> >>>>>>>> have ssl support? >> >> >>>>>>>> >> >> >>>>>>>> As mentioned in document, its not there. >> >> >>>>>>>> >> >> >>>>>>>> >> >> >>>>>>>> Thanks, >> >> >>>>>>>> Snehalata >> >> >>>>>>>> >> >> >>>>>>>> ----- Original Message ----- >> >> >>>>>>>> From: "Mudit Kumar" <mudit.ku...@askme.in <javascript:;> >> <javascript:;>> >> >> >>>>>>>> To: users@kafka.apache.org <javascript:;> <javascript:;> >> >> >>>>>>>> Sent: Tuesday, May 24, 2016 3:53:26 PM >> >> >>>>>>>> Subject: Re: Kafka encryption >> >> >>>>>>>> >> >> >>>>>>>> Yes,it does that.What specifically you are looking for? >> >> >>>>>>>> >> >> >>>>>>>> >> >> >>>>>>>> >> >> >>>>>>>> >> >> >>>>>>>> On 5/24/16, 3:52 PM, "Snehalata Nagaje" < >> >> >>>>>>>> snehalata.nag...@harbingergroup.com <javascript:;> >> <javascript:;>> wrote: >> >> >>>>>>>> >> >> >>>>>>>>> Hi All, >> >> >>>>>>>>> >> >> >>>>>>>>> >> >> >>>>>>>>> We have requirement of encryption in kafka. >> >> >>>>>>>>> >> >> >>>>>>>>> As per docs, we can configure kafka with ssl, for secured >> >> >>>>>> communication. >> >> >>>>>>>>> >> >> >>>>>>>>> But does kafka also stores data in encrypted format? >> >> >>>>>>>>> >> >> >>>>>>>>> >> >> >>>>>>>>> Thanks, >> >> >>>>>>>>> Snehalata >> >> >>>>>>>> >> >> >>>>>> >> >> >>>>>> >> >> >>>> >> >> >>>> >> >> >>> >> >> > >> >> >> > >> >>