VeriCert Protocol explores the integration of Self-Sovereign Identity (SSI) principles into the Public Key Infrastructure (PKI) to enhance security, transparency, and privacy in digital identity management.
The protocol combines:
- Decentralized Identifiers (DIDs)
- Smart Contracts
- Blockchain Technology
to provide a decentralized and auditable framework for managing digital identities and certificates, with a specific focus on Certificate Transparency and Verifiable Presentations (VPs) during the TLS handshake.
- DIDs follow the W3C specification in the format:
did:ethr:<identifier> - DID lifecycle and resolution are handled via:
- A custom DID resolver based on
did-resolver - Smart contract
SSLBlockchainReg.sol
- A custom DID resolver based on
- Blockchain layer:
- Ethereum-compatible
- Used to ensure transparency and integrity of certificate-related operations
- Performance evaluation:
- Measurement of VP exchange and verification overhead during TLS handshakes between client and server
- JavaScript
- Solidity
- Node.js (tested with Node.js 17)
- Truffle
- Ganache
- Ethereum
- Decentralized Identity Foundation (DIF) libraries:
did-resolverdid-jwtdid-jwt-vc
Make sure the following tools are installed:
- Node.js v17
- npm
- Truffle
- Ganache
Install project dependencies:
npm installThis project is intended for local experimentation and performance evaluation.
- Start a Local Blockchain
- Launch a Ganache instance.
- Deploy Smart Contracts
- Update deployment configuration:
workdir/truffle-config.js
- Deploy the contracts:
truffle migrate
- Update deployment configuration:
- Configure the Application
- Edit the configuration file:
workdir/config.json
- Update: Smart contract address Mnemonic Provider URL Paths for performance CSV files under perfFiles
- Edit the configuration file:
- Run the Experiment
Open two separate terminals.
- Terminal 1 – Server:
node ./scr/appServer.js VP
- Terminal 2 – Client:
node ./scr/appClient.js VP
- Terminal 1 – Server:
The scripts simulate VP exchange during the TLS handshake and store performance metrics in CSV format.
The following metrics are collected:
- VP generation time
- VP verification time
- End-to-end TLS handshake latency
- Cryptographic operation overhead
- Communication delay Results are saved as CSV files for offline analysis.
- Research on SSI–PKI integration
- Academic experiments on decentralized identity
- Performance benchmarking of VC/VP systems
- Certificate Transparency via blockchain
- Secure digital identity management
Currently tested only in a local Ganache environment
- Not optimized for production-scale deployments
- No formal security proofs included
- Future work may include:
- Deployment on public Ethereum networks
- Advanced credential revocation mechanisms
- Hardware-backed key management
- Formal security and performance analysis
This project is licensed under the MIT License.
See the LICENSE file for more information.