Skip to content

SHiftLin/NSDI2025-PreAcher

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PreAcher: Secure and Practical Password Pre-Authentication by Content Delivery Networks

🔖 Introductory info here

🔖 Getting started

Install dependencies

sudo apt-get update
sudo apt-get install git gcc g++ cmake libsodium-dev libssl-dev -y
sudo apt-get install pkg-config libworkflow-dev -y

Build

mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Debug
make

libPreAcher.a is generated in the build directory.

Test

There is an RSA private key at test/server.pem, this key is used for encrypting the password. The corresponding public key is embedded at test/share/static/js/single_client.js::EncryptNonceBase64.

Before running the test, you need to generate the certificate and key files for the HTTPS server. Ideally, you should use a valid certificate signed by a trusted certificate authority. However, for testing purposes, you can generate a self-signed certificate using the following command:

openssl req -x509 -newkey rsa:4096 -keyout localhost.key -out localhost.crt -sha256 -days 3650 -nodes -subj "/"

mv localhost.key test/share/cert/
mv localhost.crt test/share/cert/

The test executable can be built by running the following command:

cd build
make cdn server hash-cdn hash-server

They will be generated in the build/test directory.

Run the server:

cd build/test
# For PreAcher
./cdn&
./server&
# For DuoHash
./hash-cdn&
./hash-server&

Visit the website at https://localhost:8000/ and test the system.

🔖 Cite US

Please cite us if this work is helpful to you.

@inproceedings{DBLP:conf/nsdi/preacher,
  author       = {Shihan Lin and
                  Suting Chen and
                  Yunming Xiao and
                  Yanqi Gu and
                  Xiaowei Yang and
                  Aleksandar Kuzmanovic},
  title        = {PreAcher: Secure and Practical Password Pre-Authentication by Content Delivery Networks},
  booktitle    = {22nd {USENIX} Symposium on Networked Systems Design and Implementation,
                  {NSDI} 2025, Philadelphia, PA, April 28-30, 2025},
  publisher    = {{USENIX} Association},
  year         = {2025}
}

🔖 Acknowledgments

... Thanks for their great work!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •