Hi

We are planning to use Kafka, but like others on this list we have a need
to be able to secure communication. The approaches people have suggested on
this list are:

   - Encrypt the messages at the producer (e.g
   
http://search-hadoop.com/m/1AfXKcZIk52/message+encryption&subj=Re+Secure+communication
   )
   - Add SSL to Kafka protocol -
   
http://mail-archives.apache.org/mod_mbox/kafka-users/201304.mbox/ajax/%3CCAA%2BBczQ_dMXUTNndSu4d%2B6aRo%3DSLiFa4iGMu_78OWKub_CTScw%40mail.gmail.com%3E

Adding SSL support to Kafka, probably means adding SSLEngine support the
the nio socket handling (
https://groups.google.com/forum/#!msg/kafka-dev/ZmJrB_plu1I/_9cmGlLCSVEJ).
I don't think there are any immediate plans to provide this, but it's
potentially something that Kafka would support in the future?

In theory this is something we could look at, but we would need to go
further. We also need to separate producers from consumers. The aim would
be to ensure that a Kafka producer couldn't also act as a consumer.
Essentially producers can write to Kafka, but not read.

>From looking at the Kafka source, achieving producer/consumer separation
looks to me like it would be quite a change to the Kafka server (0.7). So
are there any plans in the (near) future in this area (producer / consumer
separation) ?

Message encryption (at the application layer) would allow us to achieve
both aims of securing communication and separating consumers from
producers. Producers get the public cert (so they can encrypt messages as
they place them on the bus). Only consumers get the private cert - so only
they can decrypt messages consumed. This seems like something we can do
ourselves - I just wanted to sanity check the approach with this group.

Cheers,

Fergal.

Reply via email to