Abstract
Content-Based Publish-Subscribe (CBPS) is an asynchronous messaging
paradigm that supports a highly dynamic and many-to-many communication pattern
based on
the content of the messages themselves. In general, a CBPS system has three
distinct parties - \textit{Content Publishers} , \textit{Content Brokers},
and \textit{Subscribers} - working in a highly decoupled fashion. The ability
to seamlessly scale on demand has made CBPS systems the choice of distributing
\textit{messages/documents} produced by \textit{Content Publishers} to many
\textit{Subscribers} through \textit{Content Brokers}. Most of the current
systems assume that \textit{Content Brokers} are trusted for the
confidentiality of the data published by \textit{Content Publishers} and the
privacy of the subscriptions, which specify their interests, made by
\textit{Subscribers}.
However, with the increased use of technologies, such as service oriented
architectures and cloud computing, essentially outsourcing the broker
functionality to third-party providers, one can no longer assume the trust
relationship to hold. The problem of providing privacy/confidentiality in CBPS
systems is challenging, since the solution to the problem should allow
\textit{Content Brokers} to make routing decisions based on the content without
revealing the content to them. The problem may appear unsolvable since it
involves conflicting goals, but in this paper, we propose a novel approach to
preserve the privacy of the subscriptions made by \textit{Subscribers} and
confidentiality of the data published by \textit{Content Publishers} using
cryptographic techniques when third-party \textit{Content Brokers} are utilized
to make routing decisions
based on the content. We analyze the security of our approach to show that it is
indeed sound and provide experimental results to show that it is practical.