All Projects → privacypass → Challenge Bypass Extension

privacypass / Challenge Bypass Extension

Licence: bsd-3-clause
Privacy Pass: a privacy-enhancing protocol and browser extension.

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Challenge Bypass Extension

Diffie Hellman backdoor
How to backdoor Diffie-Hellman
Stars: ✭ 559 (-17.67%)
Mutual labels:  cryptography
Rucaptcha
Captcha gem for Rails Application. No dependencies. No ImageMagick, No RMagick.
Stars: ✭ 607 (-10.6%)
Mutual labels:  captcha
Rando.js
The world's easiest, most powerful random function.
Stars: ✭ 659 (-2.95%)
Mutual labels:  cryptography
Awesome Captcha
🔑 Curated list of awesome captcha libraries and crack tools.
Stars: ✭ 566 (-16.64%)
Mutual labels:  captcha
Sodiumoxide
Sodium Oxide: Fast cryptographic library for Rust (bindings to libsodium)
Stars: ✭ 596 (-12.22%)
Mutual labels:  cryptography
Pythonspidernotes
Python入门网络爬虫之精华版
Stars: ✭ 5,634 (+729.75%)
Mutual labels:  captcha
Captcha crack
选字验证码破解,试验过网易和极验,破解率99
Stars: ✭ 541 (-20.32%)
Mutual labels:  captcha
Captcha Break
captcha break based on opencv2, tesseract-ocr and some machine learning algorithm.
Stars: ✭ 667 (-1.77%)
Mutual labels:  captcha
Cryptomator
Multi-platform transparent client-side encryption of your files in the cloud
Stars: ✭ 6,623 (+875.41%)
Mutual labels:  cryptography
Hashes
Collection of cryptographic hash functions written in pure Rust
Stars: ✭ 649 (-4.42%)
Mutual labels:  cryptography
Strongbox
A KeePass/Password Safe Client for iOS and OS X
Stars: ✭ 586 (-13.7%)
Mutual labels:  cryptography
Recaptcha
reCAPTCHA = REcognize CAPTCHA: A Burp Suite Extender that recognize CAPTCHA and use for intruder payload 自动识别图形验证码并用于burp intruder爆破模块的插件
Stars: ✭ 596 (-12.22%)
Mutual labels:  captcha
Jshashes
Fast and dependency-free cryptographic hashing library for node.js and browsers (supports MD5, SHA1, SHA256, SHA512, RIPEMD, HMAC)
Stars: ✭ 622 (-8.39%)
Mutual labels:  cryptography
Brainflayer
A proof-of-concept cracker for cryptocurrency brainwallets and other low entropy key alogrithms.
Stars: ✭ 561 (-17.38%)
Mutual labels:  cryptography
Captcha Tensorflow
Image Captcha Solving Using TensorFlow and CNN Model. Accuracy 90%+
Stars: ✭ 660 (-2.8%)
Mutual labels:  captcha
Lnd
Lightning Network Daemon ⚡️
Stars: ✭ 5,623 (+728.13%)
Mutual labels:  cryptography
Captchaimageview
Custom ImageView to generate captcha image.
Stars: ✭ 609 (-10.31%)
Mutual labels:  captcha
Mintotp
Minimal TOTP generator in 20 lines of Python
Stars: ✭ 678 (-0.15%)
Mutual labels:  cryptography
Libsodium.js
libsodium compiled to Webassembly and pure JavaScript, with convenient wrappers.
Stars: ✭ 665 (-2.06%)
Mutual labels:  cryptography
Monero
Monero: the secure, private, untraceable cryptocurrency
Stars: ✭ 6,503 (+857.73%)
Mutual labels:  cryptography

Challenge Bypass Extension

The Privacy Pass protocol is now being standardised by the privacypass IETF working group. All contributions are welcome! See the GitHub page for more details.

CircleCI

The Privacy Pass browser extension implements the Privacy Pass protocol for providing a private authentication mechanism during web browsing. Privacy Pass is currently supported by Cloudflare to allow users to redeem validly signed tokens instead of completing CAPTCHA solutions. The extension is compatible with Chrome and Firefox (v48+). An example server implementation that is compatible with this extension is available here.

The protocol we use is based on a realization of a 'Verifiable, Oblivious Pseudorandom Function' (VOPRF) first established by Jarecki et al.. For a technical description of the protocol see the PROTOCOL.md. We also detail the entire protocol and results from this deployment in a research paper that appeared at PETS 2018 (Issue 3).

The protocol has received extensive review, but this extension is a work-in-progress and we regard all components as beta releases. In particular in v1.0 of the extension some features are not fully implemented (e.g. DLEQ proof verification).

We hope to address a significant number of existing issues in a future release of the extension. Users can also install the latest branch of master into their browser to use a newer version.

We welcome contributions from the wider community. Also feel free to notify us of any issues that occur. Pull requests and reviews are welcome and encouraged.

Stable Releases

Download the latest stable release of the extension:

Build instructions

On a Unix environment, you need to install make, git, npm and yarn.

To build and test, run these commmands:

$ git clone https://github.com/privacypass/challenge-bypass-extension.git
$ cd challenge-bypass-extension
$ make install
$ make sjcl
$ make build
$ make test-all

After that, the addons folder will contain all files required by the extension.

Useful Documentation

Documentation for the protocol, workflow and extension components.

Development

  • Directory:
    • src: The source files that are used for establishing the extension.
      • ext: Source files that are specific to the extension.
      • crypto: External source files that provide cryptographic functionality.
    • addon: Extension directory.
    • test: Test scripts for using the jest integration test framework.
    • docs: Documentation.
  • Commands:
    • make install: Installs all dependencies.
    • make sjcl: Configures and builds the SJCL source code.
    • make build: Builds all source files and compiles them into unminified source file at addon/build.js.
    • make test: Builds all source files (except src/ext/listeners.js) into a single file and then runs the jest testing framework on this file.
    • make test-all: Same as make test and runs the sjcl tests.
    • make lint: Lints the source files.
    • make dist: Package the extension files into a ext.zip file.

Firefox

  • Run Quickstart instructions.
  • Open Firefox and go to about:debugging.
  • Click on 'Load Temporary Add-on' button.
  • Select manifest.json from addon/ folder.
  • Check extension logo appears in the top-right corner and 0 passes are stored (by clicking on it).
  • Go to a web page supporting Privacy Pass where internet challenges are displayed (e.g. https://captcha.website)
  • Solve CAPTCHA and check that some passes are stored in the extension now.
    • captcha.website cannot be bypassed (this is only for gaining passes)
  • Go to a new website supporting Privacy Pass that ordinarily displays a challenge.
  • Check that the website is displayed correctly without human interaction (more than one pass may be spent).
    • No interaction with a CAPTCHA page should occur, for instance.

Chrome

Same as above, except the extension should be loaded at chrome://extensions instead.

Plugin Overview

The following script files are used for the workflow of Privacy Pass and are found in addon/ folder. They are compiled into a single file (build.js) that is then loaded into the browser.

  • src/ext/
    • listeners.js: Initialises the listener functions that are used for the webRequest and webNavigation frameworks.
    • background.js: Determines the bulk of the browser-based workflow for Privacy Pass. Decides whether to initiate the token issuance and redemption phases of the protocols.
    • browserUtils.js: General utility functions that are used by background.js. We separate them so that we separate the specific browser API calls from the actual workflow.
    • config.js: Config file that decides the workflow for Privacy Pass.
    • token.js: Token generation and storage procedures.
    • issuance.js: Specific functions for handling token issuance requests from the extension and corresponding server responses.
    • redemption.js: Specific functions for construction redemption requests.
  • src/crypto/
    • local.js: Wrapper for extension-specific cryptographic operations.
    • sjcl/: Local copy of SJCL library.
    • keccak/: Local implementation of the Keccak hash function (taken from https://github.com/cryptocoinjs/keccak).

Files for testing are found in test/ folder. Some functions from the extension files are mocked during test execution. The tests are run on a separate file in addon/test.js that has the same contents as build.js but with the HTTP listeners removed.

Team

Design

Cryptography

Cryptography is implemented using the elliptic-curve library SJCL and compression of points is done in accordance with the standard SEC1. This work uses the NIST standard P256 elliptic curve for performing operations. Third-party implementers should note that the outputs of the hash-to-curve, key derivation, and point encoding functions must match their Go equivalents exactly for interaction with our server implementation. More information about this will be provided when the edge implementation is open-sourced.

Acknowledgements

The creation of the Privacy Pass protocol was a joint effort by the team made up of George Tankersley, Ian Goldberg, Nick Sullivan, Filippo Valsorda and Alex Davidson.

We would also like to thank Eric Tsai for creating the logo and extension design, Dan Boneh for helping us develop key parts of the protocol, as well as Peter Wu and Blake Loring for their helpful code reviews. We would also like to acknowledge Sharon Goldberg, Christopher Wood, Peter Eckersley, Brian Warner, Zaki Manian, Tony Arcieri, Prateek Mittal, Zhuotao Liu, Isis Lovecruft, Henry de Valence, Mike Perry, Trevor Perrin, Zi Lin, Justin Paine, Marek Majkowski, Eoin Brady, Aaran McGuire, and many others who were involved in one way or another and whose efforts are appreciated.

FAQs

What do I have to do to acquire new passes?

  • Click "Get More Passes" in the extension pop-up (or navigate to https://captcha.website).
  • Solve the CAPTCHA that is presented on the webpage
  • Your extension should be populated with new passes.

Are passes stored after a browser restart?

Depending on your browser settings, the local storage of your browser may be cleared when it is restarted. Privacy Pass stores passes in local storage and so these will also be cleared. This behavior may also be observed if you clear out the cache of your browser.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].