Chainkit API Walkthrough
As centralized PKI security and spoofable certificate (authorities) become widely hackable, stronger system and data integrity alternatives are needed. Decentralized security solutions offer far more tamper-resistant mathematical cryptographic proof of integrity.
Using digital fingerprints (aka a “cryptographic hash function”) allows Chainkit users to be certain the data they are registering and verifying on any blockchain has been exclusively identified.
Chainkit takes the digital fingerprints generated by the Apps users run, and stores them on a Blockchain using the Register() API in Chainkit. Later, any (other) App can re-run the Chainkit Verify() API to definitively prove whether the data being verified has or has NOT been altered.
By using digital fingerprints and not the real data, Chainkit delivers military-grade assurance of data integrity (or tampering), without ever having to see or touch the actual raw data. This alleviates any security, privacy or data breach concerns about using the Chainkit platform.
STEP 1: HASH Your Data
To register files with Chainkit, your App must first generate a hash value, also sometimes referred to as a digital fingerprint.
Your App will generate a hash inside of your own systems. For security reasons, Chainkit only ever receives the digital fingerprint ('hash value') from your App -- it never sees or touches the actual data. To repeat, your original data never leaves your system, network or firewall, ensuring complete compliance with strict data security and privacy policies.
Step 2: Register() Your Data
Once you have has created a hash, it is registered on any blockchain you specify via Chainkit’s register() API. That hash is then stored across the blockchain network along with the timestamp and other optional metadata. In order for all of this information to be independently verified, the Chainkit Service returns a Claim Ticket or entityId to the registering App. The entityId is always associated with the digital asset it is protecting.
Step 3: VERIFY() your Data
Now let’s say that you wanted to send your file to another person (say a business partner or auditor), and allow the recipient to prove whether the file received is authentic OR has been tampered with – never any state in between.
The Chainkit service offers a verify() API which takes as parameters the entityId and a fresh hash (generated independently by the verifier for security purposes) of the received file. Chainkit then compares the fresh hash to the original hash stored on the blockchain, as identified via the entityId. Chainkit definitively returns a True or False result, depending on whether the hashes match or not.