Privacy-preserving Taulbee Survey
Introduction
The annual CRA Taulbee Survey of some two hundred computer science departments
solicits various categories of information from its respondents, computes
statistics on the collected information, and publishes the statistics for the
benefit of the community. In the area of faculty salaries, CRA is
facing a dilemma, on one hand wishing to solicit fuller information to improve
the quality of the published statistics, while on the other hand contending
with institutional qualms -- particularly at top-tier private institutions --
regarding the divulging of specific salaries, which are considered "sensitive"
as a matter of policy.
The present Web application is a prototype for privacy-preserving collection
of, and computation on, salary data for the Taulbee Survey. It assures
respondents that no party will have access to the departmental attribution
-- let alone the personal attribution -- of their submitted salary data beyond
what may be deduced from the statistics to be published. This is hoped to
encourage the uninhibited submission of full salary breakdowns needed for the
high-quality statistics CRA would like to publish.
The application is written in Java.
It provides a data management infrastructure that feeds, and then postprocesses
results from, a Yao two-party secure-function-evaluation protocol that is
implemented by the Fairplay
(paper,
code)
runtime system. Specialized code is used to generate the Boolean circuits
to be evaluated by Fairplay.
Requirements
You will need:
Additional Java libraries are included in the release.
Download
Setup
The following directories will be used
- ${tomcat.dir} where Apache Tomcat is installed (e.g.
/home/alice/jakarta-tomcat-5.0.19/)
- ${dist.dir} where taulbee.zip was is unpacked (e.g.
/home/alice/downloads/webSFE/)
After unpacking the files, copy the file ${dist.dir}/webSfe.war to
${tomcat.dir}/webapps/ and restart Tomcat.
% cd ${dist.dir}
% cp webSfe.war ${tomcat.dir}/webapps/
% ${tomcat.dir}/bin/shutdown.sh
% cd ${tomcat.dir}/bin/
% catalina.sh start
Now the application will be running in http://localhost:8080/webSfe/MainServlet.
Note that the application is intended to run over SSL, but that is a matter
of server configuration that is beyond the scope of this document.
Compilation
First check that the path to your tomcat installation is correct in build.xml.
The variable tomcat.dir should point to your tomcat installation (e.g. /home/fsaint/web/jakarta-tomcat-5.0.19/).
Compilation is done simply by running ant compile in the ${dist.dir}
directory.
% ant compile
Buildfile: build.xml
clean:
[delete] Deleting directory /home/fsaint/eclipse/workspace/webSFE/build
compile:
[mkdir] Created dir: /home/fsaint/eclipse/workspace/webSFE/build
[javac] Compiling 41 source files to /home/fsaint/eclipse/workspace/webSFE/build
[copy] Copying 1 file to /home/fsaint/eclipse/workspace/webSFE/build/websfe/properties
BUILD SUCCESSFUL
Total time: 4 seconds
This will recompile the source files and generate the distribution file,
webSfe.war, which can then be copied into place as outlined above.
Please send Questions or Comments to felipe dot saint-jean at yale dot edu