Simple WebID Exploitation via Amazon S3 based Linked Data Deployment

In my last two posts [1][2], I used a simple Turtle document to demonstrate how anyone deploy Linked Data without any of the following hurdles:

1. Domain Ownership
2. Web Server Access and Administrator Privileges
3. Content Negotiation
4. de-referencabe URI (Hyperlink) style selection.

My initial post focused on the task of producing a simple profile document where you make some very basic claims about yourself. In this post, I am going a step further by incorporating additional personal profile claims, en route to demonstrating how Linked Data enables you control your identity via verification of identity claims that you make about yourself. 


1. Create a simple Turtle based profile document and upload it to your S3 bucket -- as outlined in my simple Linked Data Deployment post

2. Use an X.509 Certificate Generator [3][4] to produce a certificate with a WebID (Personal de-referencable URI) in the SubjectAlternativeName (SAN) field -- this is simply a URI that denotes (names) entity "You", the primary topic of the Turtle profile document you've created e.g., <

3. Create a triple (3-tuple) based relationship in your profile document that associates your WebID (Personal URI) with the newly generated certificate's public key components (modulus and exponent)

4. Do the same thing with the certificate's fingerprint (the SHA1 or MD5 hash of the entire certificate).

Certificate Generation Notes

Certificate Generation

For this exercise I deliberately used the Certificate Generator component of the Mac OS X Keychain application. I've attached screenshots and a link to a Google Drive folder [5], but they might not be in perfect sequence to to G+ limitations in this regard. 

I've also included screenshots from our Web hosted Certificate Generator which is also an option for producing X.509 certificates that carry an WebID watermark, with the WebI authentication protocol in mind. 

Actual Profile Document Tweaks

Here are two excerpts from my Turtle based profile document [6] highlighting the relationships that enable your profile document serve as a mirror of identity claims matching those imprinted into the X.509 certificate stored in the local keystore of your personal computing device (desktop, notebook, tablet, or phone).

WebID Protocol Requirements

## WebID Authentication Protocol Requirements Start Here ##

:this cert:key :pubKey .
:pubKey a cert:RSAPublicKey;

# Public Key Exponent -- copy and paste this from your X.509 Certificate viewer

cert:exponent "65537"^^xsd:integer;

# Public Key Modulus -- copy and paste this from your X.509 Certificate viewer

cert:modulus "D2 CC FA D9 79 34 21 87 F8 A3 F7 4E FC 8B 13 BC BB AD 86 19 E3 6C D1 1E 1E 59 8C 9F DD 3E D3 18 10 90 D4 7A EE 0C 75 84 C1 2C 5E 17 E3 20 75 04 61 0C 5D 34 40 7E DA C6 6E 58 72 00 3A 6D 77 BC 59 99 DF B2 36 F4 1F 1A A2 2B BB DA 8C D5 C5 EB 92 0D 7B 5A 35 25 F5 70 99 63 2E 40 DF 7C 3F 6E 5D 8B 64 66 04 18 53 48 88 EB E2 56 89 63 76 B8 96 AE C2 30 F4 B6 C4 53 5A DB E3 FB DA 1A B5 32 FE 4B EE 95 0A 98 93 AF 8A CC 29 E0 14 CC 10 2A ED 05 45 3F 29 7C F2 BB 80 0C C4 B2 C4 43 39 B5 0E B9 96 0D AF D0 D1 0A 0D 94 9C 80 9A 69 74 3D B2 F0 88 7E 51 6A 5A 1A 9B 34 A0 82 7F B0 89 F6 43 2E 4A EF 24 14 BA F7 07 8F 00 DD F4 03 1A 61 8C 59 27 C4 30 B1 31 C7 E2 CA 8E BA CB 07 EF AA 54 32 F8 8C 04 87 96 4B EC 76 56 19 3A FC F8 45 45 14 15 24 06 0C B5 BD 27 4F 3F 62 DB 58 D2 79"^^xsd:hexBinary .

## WebID Authentication Protocol Requirements End Here ##

NetID / YouID Protocol Requirements

## NetID / YouID Authentication Protocol Requirements Start Here ##

# Note: NetID / YouID are WebID authentication protocol derivatives that use a Fingerprint (certificate hash) for complete "claims mirror" between your profile document and the X.509 certificate in your local keystore. Thus, instead of looking up public key components it looks up the certificate fingerprint instead. 

:this opl:hasCertificate :cert .

# Certificate Fingerprint -- copy and paste from your X.509 Certificate viewer (remove the spaces).

:cert opl:fingerprint "9BA11059D6EE8C10CF2050DF4091F71D55A81ACF"^^xsd:hexBinary;
opl:fingerprint-digest "sha1" .

## NetID / YouID Authentication Protocol Requirements End Here ##

Identity Verification

Now that your Turtle based profile document has been enhanced with identity claims that mirror those in your local WebID watermarked X.509 certificate, you can verify the effects of this endeavor by performing a simple identity verification check via any of the following:

1. -- our simple Identity Claims Verification Service -- just click on the "check" button, then select your WebID watermarked X.509 certificate and you'll get success of failure

2. -- our simple OpenID+WebID proxy service that enables you experience how WebID eliminates the use of passwords when authenticating against any functional OpenID site, just use the URL pattern:{WebID}

3. -- test against other WebID compliant applications and services. 


1. -- Very simple Linked Data Deployment via a Turtle Document  

2. -- Detailed guided to Linked Data Deployment via a Turtle Document 

3. -- YouID X.509 Certificate Generator

4. -- Other X.509 Certificate Generators

5. -- Google Drive Folder holding screenshots re. use of the Keychain Certificate Generator Assistant and our Web based Generator 

6. -- My actual Turtle based Profile Document published to an Amazon S3 bucket .

#LinkedData #WebID #Web30 #SemanticWeb #Identity #Nymwars #Privacy #PDS
30 Photos - View album
Shared publiclyView activity