Data sharing on public servers has become a popular service on the Internet, in which users can store and share data with other users through public servers. However, because the public servers are not under the control of users, there concerns on the privacy on the users data stored in the servers, which hinders the applications of public data sharing. Although some services, like Yahoo Briefcase, require passwords for data requests, this mechanism is designed to protect the privacy of users' data against malicious outsider users rather than untrusted public servers. Hence, a new approach is needed to protect users' data privacy in public data sharing applications when servers are not trusted. In this paper, an approach to controlled privacy preserving keyword search is presented to safeguard the privacy of users' data and queries in data sharing applications through public servers. With our approach, 1) users could store and share information with other users without worrying about the servers to compromise their privacies, 2) users can control both the access and the keyword search capability to their data without relying on the servers, and 3) all data requests are well protected from malicious users and the servers.