SlideShare une entreprise Scribd logo
1  sur  69
© 2015, iText Group NV, iText Software Corp., iText Software BVBA© 2015, iText Group NV, iText Software Corp., iText Software BVBA
ETDA, INBATEK & iText Conference
Bangkok, July 27, 2017
© 2015, iText Group NV, iText Software Corp., iText Software BVBA© 2015, iText Group NV, iText Software Corp., iText Software BVBA
Digital Signatures in PDF
• Basic concepts…
• … applied to PDF
• Architectures: server-side vs. client-side
• Digital signatures and document workflow
• Long term validation
• How Blockchain made me love everything I hate about digital signatures
© 2015, iText Group NV, iText Software Corp., iText Software BVBA
Digital signatures: how it's done in PDF3
Basic Concepts…
Hashing algorithms
Encryption algorithms
Certificate Authorities
Digital signatures
© 2015, iText Group NV, iText Software Corp., iText Software BVBA
Three goals
Integrity — we want assurance that the document
hasn’t been changed somewhere in the workflow.
Authenticity — we want assurance that the author
of the document is who we think it is (and not
somebody else).
Non-repudiation — we want assurance that the
author can’t deny his authorship.
Digital signatures: how it's done in PDF4
© 2015, iText Group NV, iText Software Corp., iText Software BVBA
Concept 1: Integrity check using hash
Digital signatures: how it's done in PDF5
Document
Generate Hash
AF1B4C...D34E
Secure
Server /
Website
Retrieve Hash
AF1B4C...D34E
Compare!
© 2015, iText Group NV, iText Software Corp., iText Software BVBA
Concept 1: Hashing
Hashing algorithm
a cryptographic hash function to turn an arbitrary block of data into a fixed-size
bit string.
Available algorithms
MD5: Ron Rivest (broken)
SHA:
SHA-1: NSA (broken! See https://shattered.io/ )
SHA-2: NSA / NIST
SHA-3: Keccak (made in Belgium!)
RIPEMD: KULeuven
Digital signatures: how it's done in PDF6
© 2015, iText Group NV, iText Software Corp., iText Software BVBA
Concept 2: Encryption
Asymmetric key algorithms
Encryption
Digital signing
Digital signatures: how it's done in PDF7
© 2015, iText Group NV, iText Software Corp., iText Software BVBA
Concept 2: Some name dropping
Public Key Cryptography Standards
PKCS#1: RSA Cryptography Standard (Rivest, Shamir, Adleman)
PKCS#7: Cryptographic Message Standard (CMS)
PKCS#11: Cryptographic Token Interface
PKCS#12: Personal Information Exchange Syntax Standard
PKCS#13: Elliptic Curve Cryptography Standard (ECDSA)
Federal Information Processing Standards (FIPS)
DSA: Digital Signature Algorithm (DSA)
European Telecommunications Standards Institute (ETSI)
CMS Advanced Electronic Signatures (CAdES)
Digital signatures: how it's done in PDF8
© 2015, iText Group NV, iText Software Corp., iText Software BVBA
Concept 3: Certificate Authorities
Digital signatures: how it's done in PDF9
© 2015, iText Group NV, iText Software Corp., iText Software BVBA
Concept 3: example
Digital signatures: how it's done in PDF10
Self-signed:
Signed by Adobe:
Signed by GlobalSign:
Signed by GlobalSign
© 2015, iText Group NV, iText Software Corp., iText Software BVBA
Concept 3: example
Digital signatures: how it's done in PDF11
© 2015, iText Group NV, iText Software Corp., iText Software BVBA
Concept 3: the green check mark
PKCS#12: Personal Information Exchange Syntax Standard
public and private key are stored in a file
PKCS#11: Cryptographic Token Interface
public and private key are stored on a device
In the context of PDF and the “green check mark”:
 Certified Document Services (CDS): Adobe’s root certificate
 Adobe Approved Trust List (AATL): Trusted root certificates (since Acrobat 9)
Digital signatures: how it's done in PDF12
© 2015, iText Group NV, iText Software Corp., iText Software BVBA
Concept 1 + Concept 2 + Concept 3
Producer
Provides data as-is: [A]
Provides hash of data, encrypted using private key: [B]
Provides public key
Consumer
Creates hash from data [A]: hash1
Decrypts hash [B] using public key: hash2
If (hash1 == hash2) document OK!
Digital signatures: how it's done in PDF13
© 2015, iText Group NV, iText Software Corp., iText Software BVBA
Goals met?
Integrity
Hashes are identical
Authenticity
Identity is stored in public key signed by CA
A time-stamp can be added
Non-repudiation
If hash can be decrypted with public key, the document
was signed with the corresponding private key
Digital signatures: how it's done in PDF14
© 2015, iText Group NV, iText Software Corp., iText Software BVBA
Differences between EU and US
In the US, we make a distinction
Electronic signatures don’t necessarily involve PKI
Digital signatures when a PKI infrastructure is involved
In Europe, we speak of electronic signatures
As a synonym for digital signatures
All laws and regulations take this wording
There’s no sharp distinction between electronic and digital signatures (which
leads to confusion)
I always speak of digital signatures
Digital signatures: how it's done in PDF15
© 2015, iText Group NV, iText Software Corp., iText Software BVBA
Digital signatures: how it's done in PDF16
… Applied to PDF
ISO 32000-1
ETSI TS 102 778 (PAdES)
ISO 32000-2
© 2015, iText Group NV, iText Software Corp., iText Software BVBA
Standards
ISO
ISO-32000-1 (2008) based on PDF 1.7 (2006)
ISO-32000-2 defines PDF 2.0 (2017)
ETSI: TS 102 778 (2009 - 2010)
PAdES 1: Overview
PAdES 2: Basic – CMS based (ISO-32000-1)
PAdES 3: Enhanced – CAdES based (ISO-32000-2)
PAdES 4: LTV – Long Term Validation
PAdES 5: XAdES based (XML content)
PAdES 6: Visual representation guidelines
ETSI: TS 103 172 (2011 - 2013)
PAdES Baseline Profile
Digital signatures: how it's done in PDF17
© 2015, iText Group NV, iText Software Corp., iText Software BVBA
Signatures in PDF
There are no bytes in the PDF
that aren’t covered, other than
the PDF signature itself. (*)
The digital signature isn’t part
of the ByteRange.
The concept “to initial a
document” doesn’t exist; you
sign the complete document at
once, not on a page per page
basis. (*)
Digital signatures: how it's done in PDF18
Signature stored in the document
© 2015, iText Group NV, iText Software Corp., iText Software BVBA
What’s inside a signature?
Digital signatures: how it's done in PDF19
ISO-32000-2:
At minimum the PKCS#7 object shall include
the signer’s X.509 signing certificate. This
certificate shall be used to verify the
signature value in /Contents.
Best practices (“should” also have):
• Full certificate chain
• Revocation information (CRL / OCSP)
• Timestamp
%PDF-1.x
...
/ByteRange ...
/Contents<
>...
%%EOF
DIGITAL SIGNATURE
• Signed Message Digest
• Certificate chain
• Revocation information
• Timestamp
Certificate authority needed
Timestamp authority needed
© 2015, iText Group NV, iText Software Corp., iText Software BVBA
Digital signatures: how it's done in PDF20
Architectures
Server-side signing
Client-side signing
Deferred signing
© 2015, iText Group NV, iText Software Corp., iText Software BVBA
Server-side signing
Digital signatures: how it's done in PDF21
<</Type/Sig/
/Contents <
%PDF-1.x
...
...
%%EOF
>>>
Signed Message
Digest
Application DeviceSERVER
© 2015, iText Group NV, iText Software Corp., iText Software BVBA
Use cases server-side signing
Company signature
Invoices
Contracts
…
Signing services in the Cloud
E.g. Docusign
Security management responsibilities!
Digital signatures: how it's done in PDF22
© 2015, iText Group NV, iText Software Corp., iText Software BVBA
Client-side signing
Digital signatures: how it's done in PDF23
<</Type/Sig/
/Contents <
%PDF-1.x
...
...
%%EOF
>>>
Signed Message
Digest
ApplicationDevice CLIENT
© 2015, iText Group NV, iText Software Corp., iText Software BVBA
Use cases client-side signing
Desktop applications
Adobe Acrobat / Reader
Home-made, e.g. using iText
In a web context
The PDF software runs on the client, e.g. using Java Web Start
Access to the token or smart card through
MSCAPI
PKCS#11
Custom smart card library
Security
User has smart card and PIN or USB token and passphrase
Digital signatures: how it's done in PDF24
1 signature / second
© 2015, iText Group NV, iText Software Corp., iText Software BVBA
Deferred signing
Digital signatures: how it's done in PDF25
Signed
Message
Digest
AppDevice
CLIENT
<</Type/Sig/
/Contents <
%PDF-1.x
...
...
%%EOF
>>>
Application
SERVER
© 2015, iText Group NV, iText Software Corp., iText Software BVBA
Use cases deferred signing
Signing on an iPad/Tablet
App on the device has a low footprint
Easy to integrate into a document management system
Example: eaZySign (Zetes)
Disadvantage
At most 1 signature / second
You need to trust the server that the hash you receive is actually the hash of the
document you want to sign.
ISAE 3000
the standard for assurance over non-financial information. ISAE3000 is issued by the
International Federation of Accountants (IFAC). The standard consists of guidelines for
the ethical behavior, quality management and performance of an ISAE3000
engagement. Generally ISAE3000 is applied for audits of internal control,
sustainability and compliance with laws and regulations.
Digital signatures: how it's done in PDF26
© 2015, iText Group NV, iText Software Corp., iText Software BVBA
Digital signatures: how it's done in PDF27
Digital signatures and workflow
Author signatures
Recipient signatures
Locking fields / documents
© 2015, iText Group NV, iText Software Corp., iText Software BVBA
You can’t track who
has already signed
and who hasn’t.
Eventually there
should be a PDF
with every signature
Serial signatures
28
%PDF-1.x
% Original document
% Additional content 1
...
...
%%EOF
DIGITAL SIGNATURE 1
...
%%EOF
DIGITAL SIGNATURE 2
% Additional content 2
...
...
%%EOF
DIGITAL SIGNATURE 3
Rev1
Rev2
Rev3
A PDF document
can be signed more
than once, but
parallel signatures
aren’t supported,
only serial
signatures:
additional
signatures sign all
previous signatures.
Digital signatures: how it's done in PDF
© 2015, iText Group NV, iText Software Corp., iText Software BVBA
Digital signatures: types
Certification (aka author) signature
Only possible for the first revision
Involves modification detection permissions:
No changes allowed
Form filling and signing allowed
Form filling, signing and commenting allowed
Approval (aka recipient) signature
Workflow with subsequent signers
New in PDF 2.0: modification detection permissions
Digital signatures: how it's done in PDF29
© 2015, iText Group NV, iText Software Corp., iText Software BVBA
Other possible icons
Signer’s
identity is
unknown
Document
has been
altered or
corrupted
Digital signatures: how it's done in PDF30
© 2015, iText Group NV, iText Software Corp., iText Software BVBA
Certified by Alice
Digital signatures: how it's done in PDF31
© 2015, iText Group NV, iText Software Corp., iText Software BVBA
Read, approved and signed by Bob
Digital signatures: how it's done in PDF32
© 2015, iText Group NV, iText Software Corp., iText Software BVBA
Bob’s signature invalidated by Chuck
Digital signatures: how it's done in PDF33
© 2015, iText Group NV, iText Software Corp., iText Software BVBA
Read, approved and signed by Carol
Digital signatures: how it's done in PDF34
© 2015, iText Group NV, iText Software Corp., iText Software BVBA
Read, approved and signed by Dave
Digital signatures: how it's done in PDF35
© 2015, iText Group NV, iText Software Corp., iText Software BVBA
Signature and lock broken by Chuck
Digital signatures: how it's done in PDF36
© 2015, iText Group NV, iText Software Corp., iText Software BVBA
Digital signatures: how it's done in PDF37
Long-term validation
Revocation
Timestamps
LTV
© 2015, iText Group NV, iText Software Corp., iText Software BVBA
Certificates expire
Digital signatures: how it's done in PDF38
Expiration date
2013 2014 2015
© 2015, iText Group NV, iText Software Corp., iText Software BVBA
Certificates get revoked
Digital signatures: how it's done in PDF39
Expiration dateRevocation date
2013 2014 2015
© 2015, iText Group NV, iText Software Corp., iText Software BVBA
CA: CRL and OCSP
Digital signatures: how it's done in PDF40
© 2015, iText Group NV, iText Software Corp., iText Software BVBA
How to survive revocation / expiration?
Digital signatures: how it's done in PDF41
Expiration dateRevocation date
© 2015, iText Group NV, iText Software Corp., iText Software BVBA
Timestamps
Digital signatures: how it's done in PDF42
© 2015, iText Group NV, iText Software Corp., iText Software BVBA
What to do when:
There’s no CRL/OCSP/TS in the document?
The certificate is about to expire in one of
your documents?
The hashing/encryption algorithm is about
to be deprecated?
Digital signatures: how it's done in PDF43
© 2015, iText Group NV, iText Software Corp., iText Software BVBA
Document Security Store (DSS)
Digital signatures: how it's done in PDF44
%PDF-1.x
...
/ByteRange ...
/Contents<
>...
%%EOF
DIGITAL SIGNATURE
• Signed Message Digest
• Certificate
%PDF-1.x
...
/ByteRange ...
/Contents<
>...
%%EOF
DSS for DIGITAL SIGNATURE
• VRI, Certs, OCSPs, CRLs
DIGITAL SIGNATURE
• Signed Message Digest
• Certificate
© 2015, iText Group NV, iText Software Corp., iText Software BVBA
Document-level timestamp
Digital signatures: how it's done in PDF45
%PDF-1.x
...
/ByteRange ...
/Contents<
>...
%%EOF
DSS for DIGITAL SIGNATURE
• VRI, Certs, OCSPs, CRLs
%PDF-1.x
...
/ByteRange ...
/Contents<
>...
%%EOF
DSS for DIGITAL SIGNATURE
• VRI, Certs, OCSPs, CRLs
DOCUMENT TIMESTAMP TS1
ETSI.RFC3161
DIGITAL SIGNATURE
• Signed Message Digest
• Certificate
DIGITAL SIGNATURE
• Signed Message Digest
• Certificate
© 2015, iText Group NV, iText Software Corp., iText Software BVBA
Digital signatures: how it's done in PDF46
%PDF-1.x
...
/ByteRange ...
/Contents<
>...
%%EOF
DSS for DIGITAL SIGNATURE
• VRI, Certs, OCSPs, CRLs
DOCUMENT TIMESTAMP TS1
%PDF-1.x
...
/ByteRange ...
/Contents<
>...
%%EOF
DSS for DIGITAL SIGNATURE
• VRI, Certs, OCSPs, CRLs
DOCUMENT TIMESTAMP TS1
DSS for TS1
DOCUMENT TIMESTAMP TS2
DIGITAL SIGNATURE
• Signed Message Digest
• Certificate
DIGITAL SIGNATURE
• Signed Message Digest
• Certificate
Every signed document
needs to be “kept alive”
© 2015, iText Group NV, iText Software Corp., iText Software BVBA
Digital signatures: how it's done in PDF47
How Blockchain can help…
© 2015, iText Group NV, iText Software Corp., iText Software BVBA
Chain of Blocks
Digital signatures: how it's done in PDF48
hash
Block 0
hash
Block 1
hash
Block 2
hash
Block 3
© 2015, iText Group NV, iText Software Corp., iText Software BVBA
Records are distributed
Digital signatures: how it's done in PDF49
node
node
node
node
node
node
© 2015, iText Group NV, iText Software Corp., iText Software BVBA
Challenge to add block to chain
Digital signatures: how it's done in PDF50
node
node
node
node
node
node
© 2015, iText Group NV, iText Software Corp., iText Software BVBA
Proof of work done!
Digital signatures: how it's done in PDF51
node
node
node
node
node
node
© 2015, iText Group NV, iText Software Corp., iText Software BVBA
Longest chain is valid chain
Digital signatures: how it's done in PDF52
hash
hash
hash
hash
hash
hash
hash
© 2015, iText Group NV, iText Software Corp., iText Software BVBA
Digital signatures: how it's done in PDF53
Blockchain and Web of Trust
© 2015, iText Group NV, iText Software Corp., iText Software BVBA
Web of trust record
Digital signatures: how it's done in PDF54
Signed
signed with private key of user Bob
Certificate of user Alice
Certificate of user Bob
• Identity
• Public key of user Bob
© 2015, iText Group NV, iText Software Corp., iText Software BVBA
Web of Trust
Digital signatures: how it's done in PDF55
node
node
node
node
node
nodeAlice
Bob
Carol
Dave
Erin
Frank
Dave trusts Carol
Carol Trusts Bob
Bob trusts Alice
© 2015, iText Group NV, iText Software Corp., iText Software BVBA
Digital signatures: how it's done in PDF56
Blockchain for documents
© 2015, iText Group NV, iText Software Corp., iText Software BVBA
Document record
Digital signatures: how it's done in PDF57
Document ID: [<ABCDEF>, <ABCDEF>]
Timestamp
Signed Document hash
Compressed property list
Certificate of signer
• Identity
• Public key
© 2015, iText Group NV, iText Software Corp., iText Software BVBA
File identifiers: mandatory in PDF 2.0
Digital signatures: how it's done in PDF58
Impossible to know if an ID pair
is unique if you don’t know
which IDs are already in use.
© 2015, iText Group NV, iText Software Corp., iText Software BVBA
Check if a record already exists
Digital signatures: how it's done in PDF59
node
node
node
node
node
node
No? Create new ID
Yes? Propagate!
ID unique?
© 2015, iText Group NV, iText Software Corp., iText Software BVBA
Digital signatures: how it's done in PDF60
Use case: certificate of authenticity
© 2015, iText Group NV, iText Software Corp., iText Software BVBA
Use case: certificate of authenticity
Digital signatures: how it's done in PDF61
nodeAlice
Gallery owner
This Picasso is real
[<AAAA>,<AAAA>]
January 1, 2017
signedA[#CERTIFICATEHASH ABC]
Public Key Alice
Property: “owner = John Doe”
This Picasso is real
nodeBob
Gallery owner
Chuck
Pretends to be John Doe
Offers fake Picasso for sale
[<BBBB>,<BBBB>]
February 1, 2017
SignedB[#CERTIFICATEHASH 123]
Public Key Bob
Property: “owner = Chuck Coe”
1st attempt to offer a
forged painting with
a fake certificate
fails because the
certificate can’t be
found on the chain.
© 2015, iText Group NV, iText Software Corp., iText Software BVBA
Use case: certificate of authenticity
Digital signatures: how it's done in PDF62
nodeAlice
Gallery owner
This Picasso is real
[<AAAA>,<AAAA>]
January 1, 2017
SignedA[#CERTIFICATEHASH ABC]
Public Key Alice
Property: “owner = John Doe”
This Picasso is real
nodeBob
Gallery owner
Chuck
Pretends to be John Doe
Offers fake Picasso for sale
[<AAAA>,<AAAA>]
February 1, 2017
SignedB[#CERTIFICATEHASH DEF]
Public Key Bob
Property: “owner = Chuck Coe”
2nd attempt to offer a
forged painting with a
fake certificate fails
because the hashes
don’t correspond.
© 2015, iText Group NV, iText Software Corp., iText Software BVBA
Use case: certificate of authenticity
Digital signatures: how it's done in PDF63
nodeAlice
Gallery owner
This Picasso is real
[<AAAA>,<AAAA>]
January 1, 2017
SignedA[#CERTIFICATEHASH ABC]
Public Key Alice
Property: “owner = John Doe”
This Picasso is real
nodeBob
Gallery owner
John Doe
Offers real Picasso for sale
[<AAAA>,<AAAA>]
February 1, 2017
SignedB[#CERTIFICATEHASH ABC]
Public Key Bob
Property: “owner = Richard Roe”
History shows that
John Doe owned
an object of art
from January 1,
2017 until February
1, 2017, and that
Richard Roe is the
current owner
© 2015, iText Group NV, iText Software Corp., iText Software BVBA
Use case: certificate of authenticity
Digital signatures: how it's done in PDF64
nodeAlice
Gallery owner
This Picasso is real
[<AAAA>,<AAAA>]
January 1, 2017
SignedA[#CERTIFICATEHASH ABC]
Public Key Alice
Property: “owner = John Doe”
This Picasso is real
nodeBob
Gallery owner
Chuck
Pretends to be John Doe
Offers fake Picasso for sale
[<AAAA>,<AAAA>]
February 1, 2017
SignedB[#CERTIFICATEHASH ABC]
Public Key Bob
Property: “owner = Chuck Coe” 3rd attempt to offer a
forged painting with a real
certificate fails because
Carol monitors the
certificate for John Doe.
Carol notices pending sale
Alerts John and Bob
node Carol
Insurance
services
[<AAAA>,<AAAA>]
January 1, 2017
SignedC[#CERTIFICATEHASH ABC]
Public Key Carol
Property: “owner = John Doe”
© 2015, iText Group NV, iText Software Corp., iText Software BVBA
Digital signatures: how it's done in PDF65
Use case 2: Supply chain
© 2015, iText Group NV, iText Software Corp., iText Software BVBA
Supply chain
Digital signatures: how it's done in PDF66
[<1234>,<5678>]
SignedByBob[#DEF1]
Status=quote
[<1234>,<1234>]
SignedByAlice[#ABCD]
Status=quoterequestnode
Alice
(customer)
node
Bob
(vendor)
[<1234>,<5A6E>]
SignedByAlice[#EF23]
Status=accepted
[<1234>,<ABCD>]
SignedByAlice[#1234]
Status=PO
[<1234>,<5A6E>]
SignedByCarol[#EF23]
Status=shipment
Carol
(courier)
node
Dave
(bank)
node
[<1234>,<F458>]
SignedByDave[#B798]
Status=paid
© 2015, iText Group NV, iText Software Corp., iText Software BVBA
Digital signatures: how it's done in PDF67
Use case 3: Long-Term Validation
Castello di Amorosa, Calistoga (Napa Valley), CA
© 2015, iText Group NV, iText Software Corp., iText Software BVBA
Renewing a signature
Digital signatures: how it's done in PDF68
node
Alice
(debtor)
[<ABC123>,<ABC123>]
SignedByAlice(#CAB578FA)
Hashing Algo X
node
Bob
(creditor)
[<ABC123>,<ABC123>]
SignedByBob(#CAB578FA)
Hashing Algo X
[<ABC123>,<ABC123>]
SignedByBob(#FA358CBC01)
Hashing Algo Y
[<ABC123>,<ABC123>]
SignedByBob(#BA687EA115DF)
Hashing Algo Z
Bob makes it impossible for Alice to
exploit flaws that are discovered in old
algorithms, or to take advantage of
increased processing power to forge the
document and calculate a matching hash.
Other use case: last will and testament.
© 2015, iText Group NV, iText Software Corp., iText Software BVBA© 2015, iText Group NV, iText Software Corp., iText Software BVBA
Thank you!

Contenu connexe

Tendances

Tendances (14)

Monetizing open-source projects
Monetizing open-source projectsMonetizing open-source projects
Monetizing open-source projects
 
Tech Startup Day 2015: 4 failures and 1 hit
Tech Startup Day 2015: 4 failures and 1 hitTech Startup Day 2015: 4 failures and 1 hit
Tech Startup Day 2015: 4 failures and 1 hit
 
Startup Legal and IP
Startup Legal and IPStartup Legal and IP
Startup Legal and IP
 
Intellectual property and licensing
Intellectual property and licensingIntellectual property and licensing
Intellectual property and licensing
 
Digital Signatures: how it's done in PDF
Digital Signatures: how it's done in PDFDigital Signatures: how it's done in PDF
Digital Signatures: how it's done in PDF
 
Four failures and one hit
Four failures and one hitFour failures and one hit
Four failures and one hit
 
How can large open source projects be monetized?
How can large open source projects be monetized?How can large open source projects be monetized?
How can large open source projects be monetized?
 
Oops, I broke my API
Oops, I broke my APIOops, I broke my API
Oops, I broke my API
 
PAdES signatures in iText and the road ahead
PAdES signatures in iText and the road aheadPAdES signatures in iText and the road ahead
PAdES signatures in iText and the road ahead
 
Start-ups: the tortoise and the hare
Start-ups: the tortoise and the hareStart-ups: the tortoise and the hare
Start-ups: the tortoise and the hare
 
sdch
sdchsdch
sdch
 
Wim Delrue - Trends in IPv6 Training
Wim Delrue - Trends in IPv6 TrainingWim Delrue - Trends in IPv6 Training
Wim Delrue - Trends in IPv6 Training
 
What is comp tia a blog 21 oct
What is comp tia a blog   21 octWhat is comp tia a blog   21 oct
What is comp tia a blog 21 oct
 
IT Transformation
IT TransformationIT Transformation
IT Transformation
 

Similaire à ETDA Conference - Digital signatures: how it's done in PDF

Digital signatures, paving the way to a digital Europe_Arthur D Little_2014
Digital signatures, paving the way to a digital Europe_Arthur D Little_2014Digital signatures, paving the way to a digital Europe_Arthur D Little_2014
Digital signatures, paving the way to a digital Europe_Arthur D Little_2014
Market Engel SAS
 
Whitepaper E-Signing at the Inhouse Pos
Whitepaper E-Signing at the Inhouse PosWhitepaper E-Signing at the Inhouse Pos
Whitepaper E-Signing at the Inhouse Pos
Namirial GmbH
 
xyzmo Significant Company
xyzmo Significant Companyxyzmo Significant Company
xyzmo Significant Company
Namirial GmbH
 

Similaire à ETDA Conference - Digital signatures: how it's done in PDF (20)

ECM & Digital Signature
ECM & Digital SignatureECM & Digital Signature
ECM & Digital Signature
 
Digital signatur
Digital signaturDigital signatur
Digital signatur
 
How do you secure an electronic signature?
How do you secure an electronic signature?How do you secure an electronic signature?
How do you secure an electronic signature?
 
Digital Signatures in the Cloud: A B2C Case Study
Digital Signatures in the Cloud: A B2C Case StudyDigital Signatures in the Cloud: A B2C Case Study
Digital Signatures in the Cloud: A B2C Case Study
 
Digital signatures, paving the way to a digital Europe_Arthur D Little_2014
Digital signatures, paving the way to a digital Europe_Arthur D Little_2014Digital signatures, paving the way to a digital Europe_Arthur D Little_2014
Digital signatures, paving the way to a digital Europe_Arthur D Little_2014
 
Cloud signature chatbot
Cloud signature chatbotCloud signature chatbot
Cloud signature chatbot
 
BeingSign blockchain-based online signing system|Introduction
BeingSign blockchain-based online signing system|IntroductionBeingSign blockchain-based online signing system|Introduction
BeingSign blockchain-based online signing system|Introduction
 
Cloud signature chatbot
Cloud signature chatbotCloud signature chatbot
Cloud signature chatbot
 
Blockchain - The Future of Digital Signatures - DrySign by Exela
Blockchain - The Future of Digital Signatures - DrySign by ExelaBlockchain - The Future of Digital Signatures - DrySign by Exela
Blockchain - The Future of Digital Signatures - DrySign by Exela
 
Whitepaper E-Signing at the Inhouse Pos
Whitepaper E-Signing at the Inhouse PosWhitepaper E-Signing at the Inhouse Pos
Whitepaper E-Signing at the Inhouse Pos
 
How Does Code Signing Works?
How Does Code Signing Works?How Does Code Signing Works?
How Does Code Signing Works?
 
Embed trust in your software & data
Embed trust in your software & dataEmbed trust in your software & data
Embed trust in your software & data
 
Creation & Verification of Digital Signature using Adobe Acrobat
Creation & Verification of Digital Signature using Adobe AcrobatCreation & Verification of Digital Signature using Adobe Acrobat
Creation & Verification of Digital Signature using Adobe Acrobat
 
Digital disruption: SharePoint and CoSign Digital Signatures
Digital disruption: SharePoint and CoSign Digital SignaturesDigital disruption: SharePoint and CoSign Digital Signatures
Digital disruption: SharePoint and CoSign Digital Signatures
 
2017.03.30 - e-Signatures Conference for ZertES and eIDAS
2017.03.30 - e-Signatures Conference for ZertES and eIDAS 2017.03.30 - e-Signatures Conference for ZertES and eIDAS
2017.03.30 - e-Signatures Conference for ZertES and eIDAS
 
Digital signature by mohsin iftikhar
Digital signature by mohsin iftikhar Digital signature by mohsin iftikhar
Digital signature by mohsin iftikhar
 
xyzmo Company Overview
xyzmo Company Overviewxyzmo Company Overview
xyzmo Company Overview
 
Kerberos-PKI-Federated identity
Kerberos-PKI-Federated identityKerberos-PKI-Federated identity
Kerberos-PKI-Federated identity
 
What is Code Signing Certificate.pptx
What is Code Signing Certificate.pptxWhat is Code Signing Certificate.pptx
What is Code Signing Certificate.pptx
 
xyzmo Significant Company
xyzmo Significant Companyxyzmo Significant Company
xyzmo Significant Company
 

Plus de iText Group nv

Plus de iText Group nv (9)

FIT Seminar Singapore presentation
FIT Seminar Singapore presentationFIT Seminar Singapore presentation
FIT Seminar Singapore presentation
 
PDF made easy with iText 7
PDF made easy with iText 7PDF made easy with iText 7
PDF made easy with iText 7
 
iText Summit 2014: Talk: iText throughout the document life cycle
iText Summit 2014: Talk: iText throughout the document life cycleiText Summit 2014: Talk: iText throughout the document life cycle
iText Summit 2014: Talk: iText throughout the document life cycle
 
iText Summit 2014: Talk: eGriffie and JustX, introducing digital documents at...
iText Summit 2014: Talk: eGriffie and JustX, introducing digital documents at...iText Summit 2014: Talk: eGriffie and JustX, introducing digital documents at...
iText Summit 2014: Talk: eGriffie and JustX, introducing digital documents at...
 
The XML Forms Architecture
The XML Forms ArchitectureThe XML Forms Architecture
The XML Forms Architecture
 
Damn, the new generation kids are getting iPads in Highschool!
Damn, the new generation kids are getting iPads in Highschool!Damn, the new generation kids are getting iPads in Highschool!
Damn, the new generation kids are getting iPads in Highschool!
 
Best practices in Certifying and Signing PDFs
Best practices in Certifying and Signing PDFsBest practices in Certifying and Signing PDFs
Best practices in Certifying and Signing PDFs
 
Choosing the iText Solution that is right for you: Community or Commercial ed...
Choosing the iText Solution that is right for you: Community or Commercial ed...Choosing the iText Solution that is right for you: Community or Commercial ed...
Choosing the iText Solution that is right for you: Community or Commercial ed...
 
The importance of standards
The importance of standardsThe importance of standards
The importance of standards
 

Dernier

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 

Dernier (20)

Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 

ETDA Conference - Digital signatures: how it's done in PDF

  • 1. © 2015, iText Group NV, iText Software Corp., iText Software BVBA© 2015, iText Group NV, iText Software Corp., iText Software BVBA ETDA, INBATEK & iText Conference Bangkok, July 27, 2017
  • 2. © 2015, iText Group NV, iText Software Corp., iText Software BVBA© 2015, iText Group NV, iText Software Corp., iText Software BVBA Digital Signatures in PDF • Basic concepts… • … applied to PDF • Architectures: server-side vs. client-side • Digital signatures and document workflow • Long term validation • How Blockchain made me love everything I hate about digital signatures
  • 3. © 2015, iText Group NV, iText Software Corp., iText Software BVBA Digital signatures: how it's done in PDF3 Basic Concepts… Hashing algorithms Encryption algorithms Certificate Authorities Digital signatures
  • 4. © 2015, iText Group NV, iText Software Corp., iText Software BVBA Three goals Integrity — we want assurance that the document hasn’t been changed somewhere in the workflow. Authenticity — we want assurance that the author of the document is who we think it is (and not somebody else). Non-repudiation — we want assurance that the author can’t deny his authorship. Digital signatures: how it's done in PDF4
  • 5. © 2015, iText Group NV, iText Software Corp., iText Software BVBA Concept 1: Integrity check using hash Digital signatures: how it's done in PDF5 Document Generate Hash AF1B4C...D34E Secure Server / Website Retrieve Hash AF1B4C...D34E Compare!
  • 6. © 2015, iText Group NV, iText Software Corp., iText Software BVBA Concept 1: Hashing Hashing algorithm a cryptographic hash function to turn an arbitrary block of data into a fixed-size bit string. Available algorithms MD5: Ron Rivest (broken) SHA: SHA-1: NSA (broken! See https://shattered.io/ ) SHA-2: NSA / NIST SHA-3: Keccak (made in Belgium!) RIPEMD: KULeuven Digital signatures: how it's done in PDF6
  • 7. © 2015, iText Group NV, iText Software Corp., iText Software BVBA Concept 2: Encryption Asymmetric key algorithms Encryption Digital signing Digital signatures: how it's done in PDF7
  • 8. © 2015, iText Group NV, iText Software Corp., iText Software BVBA Concept 2: Some name dropping Public Key Cryptography Standards PKCS#1: RSA Cryptography Standard (Rivest, Shamir, Adleman) PKCS#7: Cryptographic Message Standard (CMS) PKCS#11: Cryptographic Token Interface PKCS#12: Personal Information Exchange Syntax Standard PKCS#13: Elliptic Curve Cryptography Standard (ECDSA) Federal Information Processing Standards (FIPS) DSA: Digital Signature Algorithm (DSA) European Telecommunications Standards Institute (ETSI) CMS Advanced Electronic Signatures (CAdES) Digital signatures: how it's done in PDF8
  • 9. © 2015, iText Group NV, iText Software Corp., iText Software BVBA Concept 3: Certificate Authorities Digital signatures: how it's done in PDF9
  • 10. © 2015, iText Group NV, iText Software Corp., iText Software BVBA Concept 3: example Digital signatures: how it's done in PDF10 Self-signed: Signed by Adobe: Signed by GlobalSign: Signed by GlobalSign
  • 11. © 2015, iText Group NV, iText Software Corp., iText Software BVBA Concept 3: example Digital signatures: how it's done in PDF11
  • 12. © 2015, iText Group NV, iText Software Corp., iText Software BVBA Concept 3: the green check mark PKCS#12: Personal Information Exchange Syntax Standard public and private key are stored in a file PKCS#11: Cryptographic Token Interface public and private key are stored on a device In the context of PDF and the “green check mark”:  Certified Document Services (CDS): Adobe’s root certificate  Adobe Approved Trust List (AATL): Trusted root certificates (since Acrobat 9) Digital signatures: how it's done in PDF12
  • 13. © 2015, iText Group NV, iText Software Corp., iText Software BVBA Concept 1 + Concept 2 + Concept 3 Producer Provides data as-is: [A] Provides hash of data, encrypted using private key: [B] Provides public key Consumer Creates hash from data [A]: hash1 Decrypts hash [B] using public key: hash2 If (hash1 == hash2) document OK! Digital signatures: how it's done in PDF13
  • 14. © 2015, iText Group NV, iText Software Corp., iText Software BVBA Goals met? Integrity Hashes are identical Authenticity Identity is stored in public key signed by CA A time-stamp can be added Non-repudiation If hash can be decrypted with public key, the document was signed with the corresponding private key Digital signatures: how it's done in PDF14
  • 15. © 2015, iText Group NV, iText Software Corp., iText Software BVBA Differences between EU and US In the US, we make a distinction Electronic signatures don’t necessarily involve PKI Digital signatures when a PKI infrastructure is involved In Europe, we speak of electronic signatures As a synonym for digital signatures All laws and regulations take this wording There’s no sharp distinction between electronic and digital signatures (which leads to confusion) I always speak of digital signatures Digital signatures: how it's done in PDF15
  • 16. © 2015, iText Group NV, iText Software Corp., iText Software BVBA Digital signatures: how it's done in PDF16 … Applied to PDF ISO 32000-1 ETSI TS 102 778 (PAdES) ISO 32000-2
  • 17. © 2015, iText Group NV, iText Software Corp., iText Software BVBA Standards ISO ISO-32000-1 (2008) based on PDF 1.7 (2006) ISO-32000-2 defines PDF 2.0 (2017) ETSI: TS 102 778 (2009 - 2010) PAdES 1: Overview PAdES 2: Basic – CMS based (ISO-32000-1) PAdES 3: Enhanced – CAdES based (ISO-32000-2) PAdES 4: LTV – Long Term Validation PAdES 5: XAdES based (XML content) PAdES 6: Visual representation guidelines ETSI: TS 103 172 (2011 - 2013) PAdES Baseline Profile Digital signatures: how it's done in PDF17
  • 18. © 2015, iText Group NV, iText Software Corp., iText Software BVBA Signatures in PDF There are no bytes in the PDF that aren’t covered, other than the PDF signature itself. (*) The digital signature isn’t part of the ByteRange. The concept “to initial a document” doesn’t exist; you sign the complete document at once, not on a page per page basis. (*) Digital signatures: how it's done in PDF18 Signature stored in the document
  • 19. © 2015, iText Group NV, iText Software Corp., iText Software BVBA What’s inside a signature? Digital signatures: how it's done in PDF19 ISO-32000-2: At minimum the PKCS#7 object shall include the signer’s X.509 signing certificate. This certificate shall be used to verify the signature value in /Contents. Best practices (“should” also have): • Full certificate chain • Revocation information (CRL / OCSP) • Timestamp %PDF-1.x ... /ByteRange ... /Contents< >... %%EOF DIGITAL SIGNATURE • Signed Message Digest • Certificate chain • Revocation information • Timestamp Certificate authority needed Timestamp authority needed
  • 20. © 2015, iText Group NV, iText Software Corp., iText Software BVBA Digital signatures: how it's done in PDF20 Architectures Server-side signing Client-side signing Deferred signing
  • 21. © 2015, iText Group NV, iText Software Corp., iText Software BVBA Server-side signing Digital signatures: how it's done in PDF21 <</Type/Sig/ /Contents < %PDF-1.x ... ... %%EOF >>> Signed Message Digest Application DeviceSERVER
  • 22. © 2015, iText Group NV, iText Software Corp., iText Software BVBA Use cases server-side signing Company signature Invoices Contracts … Signing services in the Cloud E.g. Docusign Security management responsibilities! Digital signatures: how it's done in PDF22
  • 23. © 2015, iText Group NV, iText Software Corp., iText Software BVBA Client-side signing Digital signatures: how it's done in PDF23 <</Type/Sig/ /Contents < %PDF-1.x ... ... %%EOF >>> Signed Message Digest ApplicationDevice CLIENT
  • 24. © 2015, iText Group NV, iText Software Corp., iText Software BVBA Use cases client-side signing Desktop applications Adobe Acrobat / Reader Home-made, e.g. using iText In a web context The PDF software runs on the client, e.g. using Java Web Start Access to the token or smart card through MSCAPI PKCS#11 Custom smart card library Security User has smart card and PIN or USB token and passphrase Digital signatures: how it's done in PDF24 1 signature / second
  • 25. © 2015, iText Group NV, iText Software Corp., iText Software BVBA Deferred signing Digital signatures: how it's done in PDF25 Signed Message Digest AppDevice CLIENT <</Type/Sig/ /Contents < %PDF-1.x ... ... %%EOF >>> Application SERVER
  • 26. © 2015, iText Group NV, iText Software Corp., iText Software BVBA Use cases deferred signing Signing on an iPad/Tablet App on the device has a low footprint Easy to integrate into a document management system Example: eaZySign (Zetes) Disadvantage At most 1 signature / second You need to trust the server that the hash you receive is actually the hash of the document you want to sign. ISAE 3000 the standard for assurance over non-financial information. ISAE3000 is issued by the International Federation of Accountants (IFAC). The standard consists of guidelines for the ethical behavior, quality management and performance of an ISAE3000 engagement. Generally ISAE3000 is applied for audits of internal control, sustainability and compliance with laws and regulations. Digital signatures: how it's done in PDF26
  • 27. © 2015, iText Group NV, iText Software Corp., iText Software BVBA Digital signatures: how it's done in PDF27 Digital signatures and workflow Author signatures Recipient signatures Locking fields / documents
  • 28. © 2015, iText Group NV, iText Software Corp., iText Software BVBA You can’t track who has already signed and who hasn’t. Eventually there should be a PDF with every signature Serial signatures 28 %PDF-1.x % Original document % Additional content 1 ... ... %%EOF DIGITAL SIGNATURE 1 ... %%EOF DIGITAL SIGNATURE 2 % Additional content 2 ... ... %%EOF DIGITAL SIGNATURE 3 Rev1 Rev2 Rev3 A PDF document can be signed more than once, but parallel signatures aren’t supported, only serial signatures: additional signatures sign all previous signatures. Digital signatures: how it's done in PDF
  • 29. © 2015, iText Group NV, iText Software Corp., iText Software BVBA Digital signatures: types Certification (aka author) signature Only possible for the first revision Involves modification detection permissions: No changes allowed Form filling and signing allowed Form filling, signing and commenting allowed Approval (aka recipient) signature Workflow with subsequent signers New in PDF 2.0: modification detection permissions Digital signatures: how it's done in PDF29
  • 30. © 2015, iText Group NV, iText Software Corp., iText Software BVBA Other possible icons Signer’s identity is unknown Document has been altered or corrupted Digital signatures: how it's done in PDF30
  • 31. © 2015, iText Group NV, iText Software Corp., iText Software BVBA Certified by Alice Digital signatures: how it's done in PDF31
  • 32. © 2015, iText Group NV, iText Software Corp., iText Software BVBA Read, approved and signed by Bob Digital signatures: how it's done in PDF32
  • 33. © 2015, iText Group NV, iText Software Corp., iText Software BVBA Bob’s signature invalidated by Chuck Digital signatures: how it's done in PDF33
  • 34. © 2015, iText Group NV, iText Software Corp., iText Software BVBA Read, approved and signed by Carol Digital signatures: how it's done in PDF34
  • 35. © 2015, iText Group NV, iText Software Corp., iText Software BVBA Read, approved and signed by Dave Digital signatures: how it's done in PDF35
  • 36. © 2015, iText Group NV, iText Software Corp., iText Software BVBA Signature and lock broken by Chuck Digital signatures: how it's done in PDF36
  • 37. © 2015, iText Group NV, iText Software Corp., iText Software BVBA Digital signatures: how it's done in PDF37 Long-term validation Revocation Timestamps LTV
  • 38. © 2015, iText Group NV, iText Software Corp., iText Software BVBA Certificates expire Digital signatures: how it's done in PDF38 Expiration date 2013 2014 2015
  • 39. © 2015, iText Group NV, iText Software Corp., iText Software BVBA Certificates get revoked Digital signatures: how it's done in PDF39 Expiration dateRevocation date 2013 2014 2015
  • 40. © 2015, iText Group NV, iText Software Corp., iText Software BVBA CA: CRL and OCSP Digital signatures: how it's done in PDF40
  • 41. © 2015, iText Group NV, iText Software Corp., iText Software BVBA How to survive revocation / expiration? Digital signatures: how it's done in PDF41 Expiration dateRevocation date
  • 42. © 2015, iText Group NV, iText Software Corp., iText Software BVBA Timestamps Digital signatures: how it's done in PDF42
  • 43. © 2015, iText Group NV, iText Software Corp., iText Software BVBA What to do when: There’s no CRL/OCSP/TS in the document? The certificate is about to expire in one of your documents? The hashing/encryption algorithm is about to be deprecated? Digital signatures: how it's done in PDF43
  • 44. © 2015, iText Group NV, iText Software Corp., iText Software BVBA Document Security Store (DSS) Digital signatures: how it's done in PDF44 %PDF-1.x ... /ByteRange ... /Contents< >... %%EOF DIGITAL SIGNATURE • Signed Message Digest • Certificate %PDF-1.x ... /ByteRange ... /Contents< >... %%EOF DSS for DIGITAL SIGNATURE • VRI, Certs, OCSPs, CRLs DIGITAL SIGNATURE • Signed Message Digest • Certificate
  • 45. © 2015, iText Group NV, iText Software Corp., iText Software BVBA Document-level timestamp Digital signatures: how it's done in PDF45 %PDF-1.x ... /ByteRange ... /Contents< >... %%EOF DSS for DIGITAL SIGNATURE • VRI, Certs, OCSPs, CRLs %PDF-1.x ... /ByteRange ... /Contents< >... %%EOF DSS for DIGITAL SIGNATURE • VRI, Certs, OCSPs, CRLs DOCUMENT TIMESTAMP TS1 ETSI.RFC3161 DIGITAL SIGNATURE • Signed Message Digest • Certificate DIGITAL SIGNATURE • Signed Message Digest • Certificate
  • 46. © 2015, iText Group NV, iText Software Corp., iText Software BVBA Digital signatures: how it's done in PDF46 %PDF-1.x ... /ByteRange ... /Contents< >... %%EOF DSS for DIGITAL SIGNATURE • VRI, Certs, OCSPs, CRLs DOCUMENT TIMESTAMP TS1 %PDF-1.x ... /ByteRange ... /Contents< >... %%EOF DSS for DIGITAL SIGNATURE • VRI, Certs, OCSPs, CRLs DOCUMENT TIMESTAMP TS1 DSS for TS1 DOCUMENT TIMESTAMP TS2 DIGITAL SIGNATURE • Signed Message Digest • Certificate DIGITAL SIGNATURE • Signed Message Digest • Certificate Every signed document needs to be “kept alive”
  • 47. © 2015, iText Group NV, iText Software Corp., iText Software BVBA Digital signatures: how it's done in PDF47 How Blockchain can help…
  • 48. © 2015, iText Group NV, iText Software Corp., iText Software BVBA Chain of Blocks Digital signatures: how it's done in PDF48 hash Block 0 hash Block 1 hash Block 2 hash Block 3
  • 49. © 2015, iText Group NV, iText Software Corp., iText Software BVBA Records are distributed Digital signatures: how it's done in PDF49 node node node node node node
  • 50. © 2015, iText Group NV, iText Software Corp., iText Software BVBA Challenge to add block to chain Digital signatures: how it's done in PDF50 node node node node node node
  • 51. © 2015, iText Group NV, iText Software Corp., iText Software BVBA Proof of work done! Digital signatures: how it's done in PDF51 node node node node node node
  • 52. © 2015, iText Group NV, iText Software Corp., iText Software BVBA Longest chain is valid chain Digital signatures: how it's done in PDF52 hash hash hash hash hash hash hash
  • 53. © 2015, iText Group NV, iText Software Corp., iText Software BVBA Digital signatures: how it's done in PDF53 Blockchain and Web of Trust
  • 54. © 2015, iText Group NV, iText Software Corp., iText Software BVBA Web of trust record Digital signatures: how it's done in PDF54 Signed signed with private key of user Bob Certificate of user Alice Certificate of user Bob • Identity • Public key of user Bob
  • 55. © 2015, iText Group NV, iText Software Corp., iText Software BVBA Web of Trust Digital signatures: how it's done in PDF55 node node node node node nodeAlice Bob Carol Dave Erin Frank Dave trusts Carol Carol Trusts Bob Bob trusts Alice
  • 56. © 2015, iText Group NV, iText Software Corp., iText Software BVBA Digital signatures: how it's done in PDF56 Blockchain for documents
  • 57. © 2015, iText Group NV, iText Software Corp., iText Software BVBA Document record Digital signatures: how it's done in PDF57 Document ID: [<ABCDEF>, <ABCDEF>] Timestamp Signed Document hash Compressed property list Certificate of signer • Identity • Public key
  • 58. © 2015, iText Group NV, iText Software Corp., iText Software BVBA File identifiers: mandatory in PDF 2.0 Digital signatures: how it's done in PDF58 Impossible to know if an ID pair is unique if you don’t know which IDs are already in use.
  • 59. © 2015, iText Group NV, iText Software Corp., iText Software BVBA Check if a record already exists Digital signatures: how it's done in PDF59 node node node node node node No? Create new ID Yes? Propagate! ID unique?
  • 60. © 2015, iText Group NV, iText Software Corp., iText Software BVBA Digital signatures: how it's done in PDF60 Use case: certificate of authenticity
  • 61. © 2015, iText Group NV, iText Software Corp., iText Software BVBA Use case: certificate of authenticity Digital signatures: how it's done in PDF61 nodeAlice Gallery owner This Picasso is real [<AAAA>,<AAAA>] January 1, 2017 signedA[#CERTIFICATEHASH ABC] Public Key Alice Property: “owner = John Doe” This Picasso is real nodeBob Gallery owner Chuck Pretends to be John Doe Offers fake Picasso for sale [<BBBB>,<BBBB>] February 1, 2017 SignedB[#CERTIFICATEHASH 123] Public Key Bob Property: “owner = Chuck Coe” 1st attempt to offer a forged painting with a fake certificate fails because the certificate can’t be found on the chain.
  • 62. © 2015, iText Group NV, iText Software Corp., iText Software BVBA Use case: certificate of authenticity Digital signatures: how it's done in PDF62 nodeAlice Gallery owner This Picasso is real [<AAAA>,<AAAA>] January 1, 2017 SignedA[#CERTIFICATEHASH ABC] Public Key Alice Property: “owner = John Doe” This Picasso is real nodeBob Gallery owner Chuck Pretends to be John Doe Offers fake Picasso for sale [<AAAA>,<AAAA>] February 1, 2017 SignedB[#CERTIFICATEHASH DEF] Public Key Bob Property: “owner = Chuck Coe” 2nd attempt to offer a forged painting with a fake certificate fails because the hashes don’t correspond.
  • 63. © 2015, iText Group NV, iText Software Corp., iText Software BVBA Use case: certificate of authenticity Digital signatures: how it's done in PDF63 nodeAlice Gallery owner This Picasso is real [<AAAA>,<AAAA>] January 1, 2017 SignedA[#CERTIFICATEHASH ABC] Public Key Alice Property: “owner = John Doe” This Picasso is real nodeBob Gallery owner John Doe Offers real Picasso for sale [<AAAA>,<AAAA>] February 1, 2017 SignedB[#CERTIFICATEHASH ABC] Public Key Bob Property: “owner = Richard Roe” History shows that John Doe owned an object of art from January 1, 2017 until February 1, 2017, and that Richard Roe is the current owner
  • 64. © 2015, iText Group NV, iText Software Corp., iText Software BVBA Use case: certificate of authenticity Digital signatures: how it's done in PDF64 nodeAlice Gallery owner This Picasso is real [<AAAA>,<AAAA>] January 1, 2017 SignedA[#CERTIFICATEHASH ABC] Public Key Alice Property: “owner = John Doe” This Picasso is real nodeBob Gallery owner Chuck Pretends to be John Doe Offers fake Picasso for sale [<AAAA>,<AAAA>] February 1, 2017 SignedB[#CERTIFICATEHASH ABC] Public Key Bob Property: “owner = Chuck Coe” 3rd attempt to offer a forged painting with a real certificate fails because Carol monitors the certificate for John Doe. Carol notices pending sale Alerts John and Bob node Carol Insurance services [<AAAA>,<AAAA>] January 1, 2017 SignedC[#CERTIFICATEHASH ABC] Public Key Carol Property: “owner = John Doe”
  • 65. © 2015, iText Group NV, iText Software Corp., iText Software BVBA Digital signatures: how it's done in PDF65 Use case 2: Supply chain
  • 66. © 2015, iText Group NV, iText Software Corp., iText Software BVBA Supply chain Digital signatures: how it's done in PDF66 [<1234>,<5678>] SignedByBob[#DEF1] Status=quote [<1234>,<1234>] SignedByAlice[#ABCD] Status=quoterequestnode Alice (customer) node Bob (vendor) [<1234>,<5A6E>] SignedByAlice[#EF23] Status=accepted [<1234>,<ABCD>] SignedByAlice[#1234] Status=PO [<1234>,<5A6E>] SignedByCarol[#EF23] Status=shipment Carol (courier) node Dave (bank) node [<1234>,<F458>] SignedByDave[#B798] Status=paid
  • 67. © 2015, iText Group NV, iText Software Corp., iText Software BVBA Digital signatures: how it's done in PDF67 Use case 3: Long-Term Validation Castello di Amorosa, Calistoga (Napa Valley), CA
  • 68. © 2015, iText Group NV, iText Software Corp., iText Software BVBA Renewing a signature Digital signatures: how it's done in PDF68 node Alice (debtor) [<ABC123>,<ABC123>] SignedByAlice(#CAB578FA) Hashing Algo X node Bob (creditor) [<ABC123>,<ABC123>] SignedByBob(#CAB578FA) Hashing Algo X [<ABC123>,<ABC123>] SignedByBob(#FA358CBC01) Hashing Algo Y [<ABC123>,<ABC123>] SignedByBob(#BA687EA115DF) Hashing Algo Z Bob makes it impossible for Alice to exploit flaws that are discovered in old algorithms, or to take advantage of increased processing power to forge the document and calculate a matching hash. Other use case: last will and testament.
  • 69. © 2015, iText Group NV, iText Software Corp., iText Software BVBA© 2015, iText Group NV, iText Software Corp., iText Software BVBA Thank you!