Inspiration

The webinar by Nick Price illuminates a transformative path for the Hospitality and Travel sector, leveraging Self-Sovereign Identity (SSI) and Decentralized Identifier (DID) technologies. The session emphasizes critical opportunities for this industry, unveiling two key scenarios. Firstly, it introduces the concept of on-demand profile element sharing, revolutionizing consumer profile updates within the travel realm. This innovation promises streamlined processes for travelers while ensuring travel providers access the most current and accurate information, enhancing their service quality. Secondly, the session touches on a paradigm shift in the selling model. Using SSI, it proposes a personalized, peer-to-peer approach enabling travelers with diverse credentials to browse and cherry-pick the best offers from various brands and discount programs.

The session highlighted potential applications, including on-demand profile element sharing and personalized selling models empowered by SSI. These concepts inspired us to harness similar technology to combat passport counterfeiting.

Scan QR Codes attached to PolygonID Signatures to mitigate risks associated with forged passport signatures

  1. Implementation within Blockchain Signatures: PassportProof utilizes blockchain signatures to store passport data securely. These signatures, utilizing BBS schemes, allow for signature verification without exposing private keys.

  2. Connecting with Polygon ID for Identity Management: Utilizing Polygon ID's framework, PassportProof manages decentralized identities associated with passport credentials. BBS signatures help verify the authenticity of these identities without revealing sensitive information. BBS signatures support the SSI model by ensuring that users retain control over their passport-related data. PassportProof empowers users with ownership and control, aligning with SSI principles.

  3. Strengthening Zero Knowledge Proofs (ZKPs): As ZKPs allow the verification of statements without exposing sensitive information, BBS signatures complement this by enabling secure signature verification. PassportProof uses ZKPs in conjunction with BBS signatures to ensure that passport data remains confidential during verification processes.

What it does

PassportProof's cutting-edge application is built on Polygon ID, aims to revolutionize the fight against counterfeit passports by leveraging decentralized identity technology. This app establishes secure and authenticated channels for passport verification, significantly reducing the risk of fraudulent travel documents being accepted.

How does PassportProof work?

1.Decentralized Identity Creation: Users create a decentralized identifier (DID) using Polygon ID, establishing a unique identity on the network. The identity includes personal details required for a passport, encrypted and stored securely.

"""

3.Identity Wallet:

User Data Control: Offer PassportProof users complete control over their data stored within the identity wallet, emphasizing privacy and autonomy specifically within PassportProof's environment. Data Management for Passports: Facilitate efficient management of user data within the PassportProof identity wallet, allowing easy organization and retrieval tailored for PassportProof's needs. Wallet Integration for Passports: Seamlessly integrate PassportProof's functionalities with the Polygon ID wallet, ensuring a cohesive user experience specifically designed for PassportProof users. Public and Private Profiles within Passports: Enable users to manage both public and private profiles within the identity wallet. Network Switching: Allow PassportProof users to switch between different networks or environments within the PassportProof identity wallet, offering versatility and flexibility within the Polygon ID environment. Identity Recovery for Passports: Implement mechanisms for identity recovery tailored specifically for PassportProof users, ensuring users can regain access to their credentials. Reference Application: Provide a reference application demonstrating the usage and benefits of PassportProof's identity wallet within the PassportProof environment. """

2.Verifiable Credential Creation: Issuers, such as government authorities, create verifiable credentials (VCs) containing passport information (name, photo, nationality, etc.). These VCs are cryptographically signed by the issuers and linked to the user's DID.

"""

2.Issue Credentials:

Data Portability within Passports: Enable easy movement of PassportProof user data across PassportProof platforms or services, promoting data portability within the Passport ecosystem. KYC (Know Your Customer) for Passports: Facilitate KYC processes specific to PassportProof, ensuring compliance and authenticity in identity verification within Passport services. Reputation and Identification within Passports: Issue credentials reflecting PassportProof user reputation and identification, enhancing trust and credibility specifically within PassportProof's offerings. Age Verification for Passports: Provide PassportProof credentials that verify user age, essential for services within the PassportProof ecosystem with age-related restrictions. Sybil Resistance within Passports: Employ Polygon ID's features to counter Sybil attacks within PassportProof, ensuring each PassportProof identity represents a unique person. Proof of Personhood for Passports: Enable credentials that attest to an individual's personhood, crucial for various PassportProof applications.

. """

3.Credential Presentation: When needed, the passport holder can selectively present their digital passport credentials to verifiers (border control, airlines, etc.) using zero-knowledge proofs. Zero-knowledge proofs allow the holder to prove the authenticity of the passport without revealing sensitive information unless necessary.

""" PassportProof's application interacts within the iden3comm framework by creating, transmitting, receiving, interpreting, and responding to structured messages, ensuring secure and standardized communication in identity verification scenarios.

Authorization Request and Response: Structure Definition: Define the format for Authorization Request Messages and the corresponding Response Body. Usage: Identity Holder initiates an Authorization Request to the Verifier, requesting access or verification. Response: Verifier generates an Authorization Response, confirming or denying access. Zero-knowledge Proof (ZKP) Requests and Responses: Message Structure: Establish the structure for ZKP Requests and corresponding Responses. Functionality: Identity Holder may request to prove a statement without revealing sensitive information. Response: Verifier acknowledges the proof, validating the authenticity without accessing detailed data. Credential Issuance and Fetching: Request Types: Define messages for Credential Requests (for new issuance) and Fetching (for existing credentials). Issuance Flow: Identity Holder requests specific credentials from the Issuer. Response: Issuer generates Credential Response Messages, providing necessary credentials securely. Iden3 Messages for Message Fetch: Message Fetch Request: Define the structure to request specific messages or data. Usage: Allows Identity Holder or Verifier to fetch relevant information from the communication protocol. Response: Response includes the requested message from the communication history. Revocation Status: Request Structure: Define the format for Revocation Status Request Messages. Usage: Verifier can request revocation status for specific credentials. Response: Issuer responds with the revocation status of the requested credentials. Device Registration: Request and Registration: Establish a process for device registration requests. Purpose: Enables secure and authorized devices to participate in the communication process. Response: Verifier or Issuer responds to the registration request based on validation criteria. """

4.Verification Process: Verifiers receive the proof from the passport holder and use Polygon ID's verification mechanisms to verify the presented credentials. The verification ensures the authenticity of the passport without the verifier accessing the entire passport holder's identity.

"""

  1. Verify Credentials:

Seamless Onboarding for Passports: Enable a frictionless onboarding experience tailored specifically for PassportProof users, ensuring easy integration into Passport services. Passport Authentication: Utilize Polygon ID's authentication mechanisms to validate PassportProof users' identities securely and reliably. Gated Access Control for Passports: Implement access controls based on verified PassportProof credentials, managing permissions and user access effectively within Passport services. Passwordless Passport Login: Offer a secure login experience within the PassportProof ecosystem without the reliance on traditional passwords, enhancing user convenience and security. Selective Data Disclosure for Passports: Empower PassportProof users to selectively reveal specific data within their Passport credentials while ensuring confidentiality during interactions within Passport services. Off-chain and On-chain Verification for Passports: Utilize both off-chain and on-chain verification methods within PassportProof's ecosystem, ensuring credibility and authenticity across PassportProof's platforms.

. """ 5.Revocation and Expiry: If a passport is expired or revoked, issuers update the corresponding VCs on the user's DID. Verifiers can check the status of the passport by verifying the latest VCs attached to the user's DID.

6.Security Measures: Polygon ID ensures secure storage of identity information and credentials, employing cryptographic techniques and decentralized identifiers.

""" BabyJubJub Curve Arithmetic & EdDSA: Utilization: These cryptographic primitives can be employed for secure digital signature generation and verification. Application: PassportProof can leverage EdDSA on BabyJubJub curves to ensure the authenticity and integrity of identity-related data, providing a robust mechanism for signing and validating credentials or messages securely.

Goldilocks Curve Arithmetic: Use Case: The implementation of Goldilocks curve arithmetic offers additional cryptographic tools for secure operations within the system. Implementation: PassportProof could utilize Goldilocks curve arithmetic for various cryptographic operations, such as key exchange protocols or additional cryptographic primitives needed within the identity verification process.

Poseidon Hash Function: Application Scope: Poseidon hash functions designed for BN254 and Goldilocks curves provide efficient hashing capabilities within constrained spaces. Use in PassportProof: These hash functions can be instrumental in ensuring the integrity and immutability of critical data, allowing PassportProof to generate secure hashes of sensitive information, enhancing the verification process.

MIMC7: Cryptographic Integrity: MIMC7, being a cryptographic hash function, can be used for data integrity and secure hashing requirements. Implementation in PassportProof: PassportProof might utilize MIMC7 for various hashing purposes, ensuring the security and tamper-resistance of identity-related data or transactions. """

This innovative platform employs a sophisticated system that seamlessly integrates with iden3comm, ensuring robust and secure communication channels. The app aims to set new benchmarks by incorporating cutting-edge technology, guaranteeing the utmost reliability and security for users when sharing sensitive information while travelling.

How we built it

PassportProof's approach involved integrating the robust capabilities of Polygon ID to authenticate passport credentials securely. PassportProof chose Polygon ID due to its compatibility with blockchain technology, ensuring immutable record-keeping and verifiable authentication processes. This solution is a testament to PassportProof's commitment to leveraging advanced technology to combat real-world problems.

The development process involved a meticulous evaluation of available technologies for optimal compatibility and scalability. Choosing JavaScript as the primary SDK for wallet providers was a strategic decision due to its inherent advantages. JavaScript's web compatibility is paramount, offering seamless integration into web-based applications across diverse platforms. Moreover, its widespread adoption presents a larger pool of developers well-versed in the language, facilitating smoother development and maintenance. Additionally, the extensive library ecosystem provided by JavaScript became instrumental, offering a plethora of tools, frameworks, and resources for various functionalities, enhancing the app's versatility and functionality. This process involves careful consideration of data structure, cryptographic security, and adherence to standards to ensure the PassportProof schema is robust, secure, and interoperable within the Polygon ID.

  1. Define Schema Attributes: Identify the essential attributes and data fields needed to represent passport-related information. These could include passport number, holder's name, nationality, date of birth, issue/expiry dates, and other relevant details.

  2. Create JSON-LD Schema: Utilize JSON-LD (JSON for Linked Data) to structure the schema. Define the attributes, their data types, and any additional context required to represent passport details accurately. JSON-LD allows for linking data across the web, aiding interoperability.

  3. Map to Decentralized Identifiers (DIDs): Associate the passport schema with decentralized identifiers (DIDs) to uniquely identify and reference the passport-related information within the decentralized identity framework. Ensure that the schema conforms to DID standards.

  4. Ensure Verifiability: Incorporate elements into the schema that allow for cryptographic verification, ensuring the authenticity and integrity of the passport data. This might involve adding cryptographic proofs or signatures to the schema.

1.Transaction Tracking: PassportProof could create transactions on the Polygon network for passport-related verifications or updates. Each transaction could represent an action such as passport issuance, update, or verification.

  1. Smart Contracts: Utilize smart contracts within PassportProof that interact with Polygon ID's functionalities. These contracts could handle passport verification processes and store passport-related data in a secure and immutable manner on the Polygon blockchain.

  2. Event Logging: Whenever there's a passport-related action (issuance, update, verification), PassportProof could emit events logged on the Polygon blockchain. These events could contain metadata or references related to passport verification processes.

  3. Querying on Polygonscan: Utilize Polygonscan's API or web interface to search for and retrieve transaction details, smart contract interactions, or event logs related to PassportProof's passport verification processes. This can help in auditing, tracking, or verifying passport-related activities stored on the Polygon blockchain.

Example of a Passport Schema:

{ "@context": { "@version": 1.1, "schema": "http://schema.org/", "Passport": "https://schema.org/Passport", "Name": "https://schema.org/givenName", "Surname": "https://schema.org/familyName", "DateOfBirth": "https://schema.org/dateOfBirth", "PassportNumber": "https://schema.org/passportNumber", "Photo": "https://schema.org/image", "MRZ": "https://schema.org/machineReadableZone" // Define additional attributes as needed }, "@type": "Passport", "Name": "John", "Surname": "Doe", "DateOfBirth": "1990-01-01", "PassportNumber": "ABC123456", "Photo": "base64-encoded-image", // Placeholder for the passport photo "MRZ": "MRZ-string-here" // Additional passport-related information here }

DIF Work Items:

  1. Leveraging Decentralized Web Nodes (DWNs) PassportProof could utilize Decentralized Web Nodes (DWNs) within Polygon ID to securely store passport-related information. DWNs offer a decentralized storage solution, distributing data across a network of nodes to enhance security and availability. By storing passport data on DWNs, PassportProof ensures that sensitive information remains encrypted, tamper-proof, and accessible only by authorized entities, preventing counterfeiters from tampering with or accessing the data.
  • Secure Data Storage
  • PassportProof would use DWNs within Polygon ID to securely store passport-related data.
  • Encrypt passport information and distribute it across a decentralized network of nodes.
  • Implement mechanisms to ensure data integrity and availability even if some nodes are compromised or unavailable.
  • Implementation of Data Access Controls
  • Set up access controls and permissions within DWNs to restrict unauthorized - access to passport data.
  • Utilize cryptographic techniques to manage data access and prevent tampering by unauthorized entities. -Regular Data Synchronization and Validation
  • Periodically synchronize and validate data across DWN nodes to ensure consistency and accuracy.
  • Implement protocols for resolving conflicts and discrepancies to maintain the integrity of passport information.
  1. Utilizing DIDComm for Secure Communication DIDComm provides a secure communication protocol for decentralized identities. PassportProof could leverage DIDComm to establish encrypted and authenticated communication channels between passport holders, authorities, and verifiers. This ensures that passport data is exchanged securely, maintaining privacy and authenticity during communication, preventing unauthorized access or interception of sensitive passport information.
  • Establish Secure Communication Channels
  • Integrate DIDComm protocols to facilitate secure and encrypted communication between passport holders, authorities, and verifiers.
  • Use DIDComm to exchange passport-related information securely, preventing unauthorized access or interception.
  • Authentication and Privacy Preservation
  • Implement authentication mechanisms through DIDComm to ensure the legitimacy of communication participants.
  • Employ selective disclosure techniques to protect sensitive passport data while sharing necessary information for verification purposes.
  1. Presentation Exchange: Prove your access rights, not your identity Using Polygon ID's Presentation Exchange feature, PassportProof enables secure and verifiable credential presentation. Passport holders can selectively disclose passport information required for verification without revealing the entire document. For instance, during verification, only specific details, such as passport validity, could be shared, ensuring data privacy while satisfying verification requirements.
  • Selective Disclosure of Passport Information
  • Utilize Polygon ID's Presentation Exchange feature to allow passport holders to selectively disclose specific passport details.
  • Enable passport holders to present only required information during verification, ensuring privacy while meeting verification criteria.
  • Secure Verification Process
  • Implement verification mechanisms that accept and validate selectively disclosed passport details without exposing the entire document.
  • Ensure that the verification process complies with privacy standards and does not compromise sensitive passport data.

4.DID Lint (Decentralized Identifier Linting) PassportProof could employ DID Linting mechanisms to ensure compliance with decentralized identifier standards. This involves validating the structure and syntax of DIDs, ensuring they adhere to established standards. By verifying DIDs, PassportProof maintains data integrity and interoperability across different identity systems, enhancing the trustworthiness of passport credentials.

  • DID Validation and Compliance
  • Use DID Linting mechanisms provided by Polygon ID to verify and ensure compliance with decentralized identifier standards.
  • Validate the structure and syntax of DIDs to guarantee their adherence to established standards.
    • Validate the Structure and Syntax of DIDs
  • The process involves examining the structure, format, and syntax of the DIDs used within PassportProof's system. This validation ensures that the DIDs meet the required criteria, including correct formatting, compliance with DID method specifications, and adherence to established decentralized identifier standards.
  • Guarantee Adherence to Established Standards
  • By validating the structure and syntax of DIDs, PassportProof ensures that the DIDs associated with passport credentials or identity information align with the standards outlined by the decentralized identifier community. This alignment helps maintain data integrity, interoperability across different identity systems, and enhances the overall trustworthiness of the passport credentials stored and managed by PassportProof.

5.BBS Signature Scheme Trust Establishment BBS (Boneh–Lynn–Shacham) signature schemes could be employed within PassportProof to establish trust between decentralized entities. These cryptographic signature schemes enable the verification of signatures without exposing private keys. By implementing BBS signatures, PassportProof ensures that passport data is signed and verified securely, enhancing the trustworthiness and authenticity of passport credentials. BBS signatures ensure that passport data is signed and verified securely, establishing a higher level of trust in the authenticity of passport credentials. Through the combination of BBS signatures with ZKPs and SSI principles, PassportProof maintains user privacy, preventing exposure of sensitive information while ensuring data authenticity.

  • Establishing Trust with BBS Signature Schemes
  • Implement BBS signature schemes within PassportProof to establish trust between decentralized entities.
  • Use cryptographic signature schemes to sign and verify passport data without exposing private keys, ensuring authenticity and trustworthiness.
  1. Integration of Universal Resolver for Efficient Data Retrieval The Universal Resolver within Polygon ID allows PassportProof to resolve decentralized identifiers (DIDs) to access associated information or metadata. PassportProof could use the Universal Resolver to retrieve and verify passport-related information associated with specific DIDs. This ensures seamless access to decentralized identity information, enabling efficient verification and validation of passport credentials.
  • Resolve Decentralized Identifiers (DIDs)
  • Utilize the Universal Resolver feature in Polygon ID to resolve DIDs associated with passport-related information.
  • Retrieve and access decentralized identity information efficiently for passport verification and validation.
  • Streamlined Passport Credential Verification
  • Enable seamless access to decentralized identity information associated with specific DIDs, enhancing the efficiency of passport credential verification.
  • Ensure the reliability and accuracy of passport-related data retrieved through the Universal Resolver.

Challenges we ran into

  • Getting that one-day extension during the hackathon was a game-changer; it provided the breathing room needed to tie up loose ends. It also gave me a clear lesson: procrastination can be a real challenge in these intense sprints.
  • Getting the hang of coding with PolygonID was a bit tricky at first because it was something new. Watching Youtube tutorials helped despite the large learning curve.
  • Figuring out how to bring all the different parts together into one coherent system was a challenge during development - specifically thinking about the NFC/Bluetooth integration.
  • Tough time narrowing down focus on the "passport" idea because there were so many great concepts, like the police ID tracker.
  • Dealing with lots of coding issues and errors really slowed everything down given the short time frame of the hackathon.

Accomplishments that we're proud of

  • PassportProof successfully navigated through complex technical challenges, embracing a learning curve and adapting swiftly to ensure progress.
  • Strategic Technology Selection: Navigating the pros and cons of various SDK options to make an informed decision.
  • Effective Integration of Polygon ID: Successfully utilizing Polygon ID's capabilities to authenticate passport credentials securely.
  • Rapid Development Progress: Efficiently harnessing the selected SDK's capabilities to establish a robust foundation for the application.
  • Strategic Utilization of Blockchain: Harnessing the power of blockchain within Polygon ID to ensure tamper-proof record-keeping and verification processes.

What we learned

  • Technology Evaluation: Understanding the significance of technology compatibility and adaptability to project needs and framing it within the time constraints of the Decentralized Identity Foundation Hackathon.
  • Knowledge Expansion: Gaining exposure to various programming languages and SDKs, enhancing my skill set and versatility. Example: PolygonScan and EtherScan are two different websites.

What's next for PassportProof

  • Enhanced Security Measures: Strengthening the authentication protocols within PassportProof to provide enhanced security against sophisticated counterfeiting attempts.
  • Scaling for Real-World Deployment: Preparing PassportProof for potential deployment in real-world scenarios, ensuring its scalability and usability.
  • Integration of Advanced Features: Exploring additional features within Polygon ID to fortify PassportProof's anti-counterfeiting capabilities.
  • Optimization for User Experience: Prioritizing user-centric design and usability improvements to ensure a seamless experience for both passport verifiers and users.
  • NFC or Bluetooth capabilities: “You would likely need to modify the issuer node or the JS SDK to support the NFC or bluetooth communication. Feel free to leverage the free credentials from the marketplace mentioned before.”

Built With

  • iden3comm
  • polygonid
Share this project:

Updates