ProofMark System Concepts, Architecture, & Planning Guide 2.08
-
Upload
proofspace -
Category
Documents
-
view
219 -
download
0
Transcript of ProofMark System Concepts, Architecture, & Planning Guide 2.08
-
8/14/2019 ProofMark System Concepts, Architecture, & Planning Guide 2.08
1/50
ProofMark System Concepts, Architecture, and Planning Guide
February 2008
-
8/14/2019 ProofMark System Concepts, Architecture, & Planning Guide 2.08
2/50
-
8/14/2019 ProofMark System Concepts, Architecture, & Planning Guide 2.08
3/50
contents
contents.............................................................................................3 introduction .......................................................................................1whats in this guide .................................................................. ...........2additional documentation ................................................ ....................3technology overview.......................................................................... 4the client component ............................................................... ...........4the server component...... ........................................................ ...........4
creating Intervals...................................................... ....................5issuing ProofMark certificates ..................................................... ..5verifying ProofMark certificates ................................................... ..6
Intervals and transient-key technology............................................... ..6
additional safeguards..........................................................................7sample of transaction flow....................................................... ...........8product architecture ..........................................................................9system components.................. ........................................................ ..9servlet overview.................................................... ............................ 10platform specifications...................................................................... 12client API .................................................... ..................................... 13issuance request options................................................................... 13performance considerations.............................................................. 14
multi-processor support .................................................... ......... 15load balancing .................... ........................................................ 15hardware acceleration ....................................................... ......... 15summary chart...................................... ..................................... 15
persistent storage options............................ ..................................... 16core concepts................................................................................... 17the client component ............................................................... ......... 17
ProofMark requests...................... .............................................. 17verification requests ..................... .............................................. 18
the server component ..................................................... .................. 18ProofMark certificates ....................................................... ......... 19
definition of a ProofMark certificate .......................................20Intervals.....................................................................................20
definition of an Interval............ .............................................. 21Interval chains.............. ........................................................ 21using Intervals to issue ProofMark certificates..... .................. 22
Interval cross-certification ................................................. .........24trusted time ....................... ........................................................ 25digest logs..................................................................................25ensuring server and Interval identity ............................................ 26
-
8/14/2019 ProofMark System Concepts, Architecture, & Planning Guide 2.08
4/50
verification ..................................................... ............................ 27ProofMark internal verification .............................................. 28Interval verification ...................................................... .........28cross-certification verification ............................................... 29digest log verification ....................... ..................................... 29ProofMark verification reports.......... ..................................... 29
archives.....................................................................................30 the ProofMark archive directory ............................................. 30replication............................................................................30the Interval archive tree ........................................................ 31archive integrity ............................... ..................................... 32
publication ........................................................................ .........32syslog / message log.............................. ..................................... 33
planning your ProofMark implementation .........................................34considerations for selecting an Interval length.................................... 34
smaller target for hackers........................................................... 34Intervals are independently cross-certified................. .................. 35
creation of the next Interval ................................................ .........35storage of Intervals................................................... .................. 35
topology considerations......................................... ............................ 36intra-organizational topologies...... .............................................. 36
reciprocal peer topology............................ ............................ 37load balancing topology................................................ .........37
inter-organizational topologies .................................................... 38meshed peer topology .................................................. .........39hierarchical topology .............. .............................................. 40
appendix Acryptography primer ....................................................42basic concepts........ ........................................................ .................. 42uses of cryptography ....................................................... .................. 44appendix Bglossary ......................................................................45index ...............................................................................................48
-
8/14/2019 ProofMark System Concepts, Architecture, & Planning Guide 2.08
5/50
introduction / whats in this guide
ProofSpace , Inc., 1999-2008
Proprietary and Confidential. All rights reserved.
1
introduction
The ProofMark software solution is a broadly applicable system that operates on
a computer, server, network, system, or infrastructure. This system utilizes
public-key cryptography to create an irrefutable record of the time-existence and
exact composition of any digital data.
Today's computer systems do not provide the means of proving exactly what
exists in a set of electronic data or file at a specific point in time. Current
operating systems mark data and files with a date and time as the date and files
are created or modified. These date and timestamps may be inaccurate and
must be considered unreliable, especially since users can easily manipulate the
data and/or the date and time stamp provided by the computer. Time stamps
may be inaccurate because of intentional or unintentional manipulation; different
time zones, clock inaccuracies or daylight savings time adjustments. More
importantly, operating system-generated date and time stamps offer no form ofproof of data integrity at a particular point in time.
Using the ProofMark system, a ProofMark server issues a certificate that
contains the proof for an online event of what someone did& when they did it.
A ProofMark certificate shrink-wraps any type of digital data using
public-key cryptography, proving its authenticity at a particular point in
time.
Possible uses of the ProofMark system include:
- Electronic Commercedigital receipts for Internet purchases and business-to-
business transactions
- Healthcare or medical applicationsauthenticity of patient records, x-rays, a
secure audit trail of who looked at what data, when
- Securities Tradingbrokerage order acknowledgements and confirmations
- Online bankingproof of bill payments, account transfers
- Drug Trialsa chain-of-proof of the test results over time
- Electronic Communicationscontent integrity of e-mail or attached files
The ProofMark certificate provides an independently verifiable, digital proof of
the state of the electronic data set at a moment in time. ProofMark certificates
are created using ProofSpaces transient-key technology, which protects the
private key used to encrypt the data. The ProofMark system distributes the proof
of the existence of the private key used to create the ProofMark certificates over
a network of servers. This provides independent verification from outside of the
organization that created the ProofMark certificate. In addition, the ProofMark
-
8/14/2019 ProofMark System Concepts, Architecture, & Planning Guide 2.08
6/50
introduction / whats in this guide
ProofSpace , Inc., 1999-2008
Proprietary and Confidential. All rights reserved.
2
system verifies the timestamp included in the ProofMark certificate by
crosschecking the time across servers.
Examples of the data that can be included in a ProofMark certificate include
transaction data, SQL queries, files on a user's hard drive, and graphic or
medical images. In addition to data, the ProofMark certificate can capture the
identity of the entities involved with the transaction (owners, authors, buyers,sellers, servers, users, companies). Identity data can include whatever you use
as your current methods for authenticating users, including login name, id
number, or a PKI signature.
whats in this guide
This document, the ProofMark System Concepts, Architecture, and Planning
Guide, provides you with a broad technical overview of the ProofMark system.
You should read this guide if you are involved in the implementation of a
ProofMark system from a technical perspective. Appropriate readers include:
- Application programmers who will be designing and writing code to integrate
the ProofMark server into applications
- Network and Security Administrators who need to certify the products security
protocols and understand the implications to the rest of their corporate security
infrastructure
- Database Administrators who will provide the data support for the product
Additional interested readers may include IT Managers, Quality Assurance
Analysts, and anyone who is interested in how the ProofMark system works.
The guide is organized as follows:
Product architecture. This section describes the system components, platform
specifications, and configuration and performance considerations.
Core concepts. This section describes the core concepts of the ProofMark
system, grouping them by client and server.
Planning your ProofMark implementation . This section describes the
considerations for selecting Interval length and topology considerations.
Appendix A cryptography primer. Appendix A provides a very brief introduction
to the terminology and concepts used in cryptography.
Appendix B glossary. Appendix B provides a glossary including many of the
terms used in this document.
-
8/14/2019 ProofMark System Concepts, Architecture, & Planning Guide 2.08
7/50
-
8/14/2019 ProofMark System Concepts, Architecture, & Planning Guide 2.08
8/50
technology overview / the server component
ProofSpace , Inc., 1999-2008
Proprietary and Confidential. All rights reserved.
4
technology overview
The ProofMark system is based on ProofSpace's transient-key technology. The
ProofMark system has been designed specifically to support high volume
transaction situations, using public key cryptography in an innovative way to
provide irrefutable proof of the what, when, and who of an electronic
transaction or activity. (See appendix Acryptography primer if you are
unfamiliar with applied cryptography.)
The ProofMark system consists of both client and server components.
This brief technology overview includes the following:
- The client component
- The server component
- Intervals and transient-key technology
- Additional safeguards
- Sample of transaction flow
the client component
The client component of the ProofMark system consists of the ProofMark clientAPI, which you use from your corporate systems to request the issuance or
verification of ProofMark certificates from the ProofMark server.
The Programmer's Guide contains the information your development staff needs
to integrate your corporate systems with the ProofMark system.
the server component
When you use the ProofMark system, you set up one or more ProofMark servers,which have three primary responsibilities:
- Creating Intervals
- Issuing ProofMark certificates
- Verifying ProofMark certificates
-
8/14/2019 ProofMark System Concepts, Architecture, & Planning Guide 2.08
9/50
technology overview / the server component
ProofSpace , Inc., 1999-2008
Proprietary and Confidential. All rights reserved.
5
The Server Installation & Configuration Guide contains the information you need
to configure all aspects of the ProofMark system to meet the needs of your
organization.
creating Intervals
Intervals are created by the ProofMark system to provide transient key pairs for
encrypting data. Each Interval produces one key pair, with a private key that is
available only for the duration of the Interval, and a public key, which is passedon to an archive tree. The archive tree provides the redundancy and ease of
access.
In addition to creating the key pair, each Interval attests to the next Interval in the
Interval chain. This chain of Intervals, each signed by the previous Interval, is
used to provide verifiable proof for the ProofMark certificates produced by the
ProofMark system.
Intervals exist for a pre-determined length of time (defined when you configure
the system). At the end of each Interval, the private key is destroyed. The private
key has existed only for the duration of the Interval, and has never been written
to a storage device, increasing the security of the system.
A more complete definition of an Interval is included in the Core Concepts section
of this document.
issuing ProofMark certificates
A ProofMark certificate is a signed XML (eXtensible Markup Language)
document, created with the Intervals private key.
ProofMark certificates contain the data to be certified (the what), a time stampfrom a trusted time source (the when), and optionally the identity information
of the parties involved (the who). A ProofMark certificate also includes the
public key of the Interval used to create it and information about where to find an
archive that can be used to verify the ProofMark certificate.
-
8/14/2019 ProofMark System Concepts, Architecture, & Planning Guide 2.08
10/50
technology overview / Intervals and transient-key technology
ProofSpace , Inc., 1999-2008
Proprietary and Confidential. All rights reserved.
6
Dissection of a ProofMark Certificate
Request
Interval Information
Timestamp
Digital Signature
verifying ProofMark certificates
A ProofMark Verification Report is issued by a ProofMark server in response to
receiving a request for verification of a ProofMark certificate. There are multiple
levels of verification available. These levels range from confirming that the data
in the ProofMark certificate has not been tampered with (a consistency check)
through a recursive validation of the Interval chain used to sign the ProofMark
certificate, to checking a log for record of the creation of the ProofMark
certificate being verified.
Intervals and transient-key technology
The use of transient-key technology removes the necessity of long-term
protection of the private key in a public/private key pair. The private key is used
for some relatively short period of time (an Interval) to generate signatures, and
is then destroyed. The use of cross-certification across multiple servers
provides a widely witnessed and distributed proof model that attests to theintegrity of the ProofMark certificates created during the Intervals.
By using transient-key technology:
- The private key exists only for a short period of time (the duration of the
Interval)
- The private key is never stored on disk, transmitted over a network, or
distributed or backed up in any way
- If a supported Hardware Security Module (HSM) or crypto-processor board is
used, the key pair will be generated by the board and never given to the server
application at all (instead, the key pair is kept in protected storage inside the
-
8/14/2019 ProofMark System Concepts, Architecture, & Planning Guide 2.08
11/50
technology overview / additional safeguards
ProofSpace , Inc., 1999-2008
Proprietary and Confidential. All rights reserved.
7
crypto-processor for use in generating signatures, and then the private key is
destroyed when no longer needed)
Because the private key exists in only one place and for a very short period of
time, the risk of someone stealing the private key is minimal.
To strengthen the integrity of the transient key pairs, they are chained together
and then cross-chained across other servers. This creates a widely witnessed
web of key signatures and cross-key signatures, eliminating a single server as a
point of attack. To steal the private key of an Interval would require access to all
of the servers cross-certifying the Interval.
additional safeguards
The ProofMark servers transient-key technology provides the means to issue
cryptographically secure ProofMark certificates. Other security measuresincluded in the ProofMark system further strengthen its integrity. These are
described in detail in the Core Concepts section, and include:
- Interval cross-certification (see Interval cross-certification)
- Digest logs (see digest logs)
- Network Timing Protocol (NTP) (see trusted time)
- (Optional) HSM or Cryptographic accelerator card (see hardware acceleration)
-
8/14/2019 ProofMark System Concepts, Architecture, & Planning Guide 2.08
12/50
technology overview / sample of transaction flow
ProofSpace , Inc., 1999-2008
Proprietary and Confidential. All rights reserved.
8
sample of transaction flow
The following diagram displays one of many example scenarios involving the use
of the ProofMark system.
Online Banking TransactionPayment Acknowledgment
Scenario
ProofMarkServer
ProofMark StorageCustomer
XYZ Online Banking Co.
Firewall
(1) Pay Mortgage
Issue ProofMark (4)
ProofMark XML (5)
Acknowledgement Receipt (6)
ProofMark XML
this is anacknolwled
gement
of your orderfor 100
eolas shares
1) Customer requests to pay monthly mortgage2) Banking server issues electronic paymentrequest to banks payment execution system3) Banks payment execution system issuespayment acknowledgement4) Banking server requests a ProofMark filefrom ProofMark server5) ProofMark server generates an XML file(receipt) and returns it to the banking server6) Banking server returns the "receipt" to thecustomer7) Customer stores and optionally prints thereceipt
Typical Scenario
Payment ExecutionSystem
Banking Web Server
Print Receipt(7)
Issue payment (2)
Payment Complete (3)
In this scenario, the client API is running within the Banking Web Server and
providing communication to the ProofMark server for issuing and verifying
ProofMark certificates. The Bank has chosen to store the certificates
themselves. Optionally, the ProofMark server can be configured to store the
certificates.
-
8/14/2019 ProofMark System Concepts, Architecture, & Planning Guide 2.08
13/50
product architecture / system components
ProofSpace , Inc., 1999-2008
Proprietary and Confidential. All rights reserved.
9
product architecture
This section describes the following aspects of the ProofMark system:
- System components
- Servlet overview
- Platform specifications
- Client API
- Issuance request options
- Performance considerations
- Persistent storage options
- Additional product use-cases
system components
There are two components to the ProofMark system:
- ProofMark server
- ProofMark client API
-
8/14/2019 ProofMark System Concepts, Architecture, & Planning Guide 2.08
14/50
product architecture / servlet overview
ProofSpace , Inc., 1999-2008
Proprietary and Confidential. All rights reserved.
10
Customer Application
ProofMark Client API
ProofMark Software Architecture
HTTPS/HTTP 1. 1
HTTP Server
Application Server /Servlet Engine
OS
Database
ProofMark Servlets
ProofMark Server
Browser
ProofMark Client
Web/HTTP Server
HTML Servlets
XML ProofMark request
newly created ProofMark
ProofMark generatinguser event
The ProofMark server is implemented as a set of Java Servlets that run on an
Application Server.
The ProofMark client API is implemented as a Java class library and runs in a
Java Virtual Machine. The client API typically runs in your corporate
environment, not in an end-user's browser or on the end-user's desktop (though
it could for standalone applications). You use the client API to request or verify
ProofMark certificates from your corporate systems. The client API helps to
simplify the implementation of the ProofMark server. For details on the client
API, see the ProofMark Programmers Guide.
The ProofMark system supports application integration in languages other than
Java, provided the client-programming environment supports TCP/IP and HTTP.
Because the ProofMark certificates and API-to-server layer utilize XML, the
client-programming environment must be able to format and parse XML
documents.
The client API communicates with the server via standard HTTPS/HTTP 1.1.
servlet overview
As depicted in the diagram below, there are seven main servlets on the
ProofSpace server.
-
8/14/2019 ProofMark System Concepts, Architecture, & Planning Guide 2.08
15/50
product architecture / servlet overview
ProofSpace , Inc., 1999-2008
Proprietary and Confidential. All rights reserved.
11
Customer Application
HTML Servlets
ProofMark Client API
JSP
Servlet Engine
HTTP Server
ProofMark Software Architecture
Retriever
HTTPS/HTTP 1.1
HTTP ServerApache
othersNetscape
Application Server /Servlet Engine
JRunJSWDK
JServWebLogic
WebSphere
OS - 2000, NT, LINUX, Solaris
Database
JDBCDB2
OracleNative File
System
ProofMark Servlets
Message Logging
NTP
Client API
Cross Certifier
Publisher
Replicator
ProofMark Server
OS
Browser
Issuer
VerifierProofMark Client
Propagator
The following table identifies the primary purpose of each servlet.
Servlet Purpose
Issuer Responds to requests from the client API for the issuance of a
ProofMark certificate
Verifier Responds to requests from the client API for verification of a
ProofMark certificate
Retriever Responds to requests from the client API for the retrieval of a
ProofMark certificate, given a ProofMark reference
Cross Certifier Issues ProofMark certificates to certify another ProofMark
servers Intervals
Publisher Stores Intervals and ProofMark certificates
-
8/14/2019 ProofMark System Concepts, Architecture, & Planning Guide 2.08
16/50
-
8/14/2019 ProofMark System Concepts, Architecture, & Planning Guide 2.08
17/50
product architecture / issuance request options
ProofSpace , Inc., 1999-2008
Proprietary and Confidential. All rights reserved.
13
Within the context of the ProofMark system, the term client API is not referring
to software that would ultimately reside on a consumer desktop (a two-tier
architecture, although there are situations where this could occur). This API
typically is used in your internal core systems, where your web-based online
ordering system utilizes the client API to request ProofMark certificates (a 3-tier
or n-tier architecture).
If you apply the ProofSpace technology for an end-user or consumer side
application where the end-user interact directly with the ProofMark server, then
the client API would reside on the end-users machine.
The API provides a mediating layer between your systems and the ProofMark
server to make it easy for you to integrate ProofMark functionality into your
processes.
The client API provides for a high-level Java object interface to the lower-level
HTTP / XML interface. This document primarily describes the Java object
programming and XML interfaces; a brief section on implementing a non-JavaHTTP client (which also uses XML) is also included.
issuance request options
Through the Client API you can choose among several options for generating
ProofMark certificates. Each option offers different benefits that may apply to
your particular requirements. When generating a ProofMark certificate you can:
- Request that the ProofMark server return either the ProofMark certificate itself
or a reference to the ProofMark certificate
- Include the original data (transaction data, file, etc.) in the ProofMark certificate
or just include a reference to the original data
A ProofMark reference is like a URL that can be used for later retrieval. The
ProofMark reference could be returned to the original requestor and/or stored
with the transaction detail for future verification purposes. If a ProofMark
reference is returned you need to configure the ProofMark server to store the
ProofMark certificates for you in some persistence mechanism.
If the data size is relatively small you can include it in the ProofMark certificate
itself. Alternatively, when ProofMarking very large data you can include a
reference (e.g. file name, ID, or other reference) to the data instead. This option
removes the requirement to transmit the data to the ProofMark server, but
assumes that you can get back to the data when the ProofMark certificate is later
verified.
-
8/14/2019 ProofMark System Concepts, Architecture, & Planning Guide 2.08
18/50
product architecture / performance considerations
ProofSpace , Inc., 1999-2008
Proprietary and Confidential. All rights reserved.
14
Dissection of a ProofMark Reference
Interval Server ID
Interval Chain Start Time
Interval Start Time
ProofMark Sequence Number
performance considerations
There are several configuration options that affect the throughput of the
ProofMark system. These include:
- Multi-processor support
- Load balancing
- Hardware acceleration
multi-processor support
We strongly recommend that you run on a multi-processor (MP) machine.
Cryptographic algorithms perform mathematical calculations on large numbers.
An MP machine greatly improves the servers performance, and requires no
configuration change to your ProofMark server.
load balancing
A Multiplexing proxy set in front of a group of ProofMark servers will increase
throughput. Generally, we found that each server added will provide an 85%
increase in throughput from a single server.
-
8/14/2019 ProofMark System Concepts, Architecture, & Planning Guide 2.08
19/50
product architecture / persistent storage options
ProofSpace , Inc., 1999-2008
Proprietary and Confidential. All rights reserved.
15
When you use a Multiplexing proxy, your client applications point at the proxy,
and the proxy redirects the request to actual ProofMark servers based on
current workload.
hardware acceleration
A third option that greatly increases performance is a Cryptographic Accelerator
card, which is a piece of dedicated hardware that can create key pairs, issue
signatures, and verify signatures. For example, nCiphers nFast300 can increase
the throughout of an MP machine by approximately 300%.
persistent storage options
The are two storage options for Intervals, ProofMark certificates, and Digest
Logs:
- Any JDBC compliant database
- The local file system can be used (information is stored hierarchically in
folders)
You can use both options in combination: file system for Intervals and Digest
Logs, a relational database for ProofMark certificates.
Storage options are discussed in more detail in the Administrators Guide.
-
8/14/2019 ProofMark System Concepts, Architecture, & Planning Guide 2.08
20/50
core concepts / the client component
ProofSpace , Inc., 1999-2008
Proprietary and Confidential. All rights reserved.
16
core concepts
This section describes the core concepts of the ProofMark system. This section
is broken into two primary areas:
- The client component
- The server component
the client component
On the client side, the ProofMark client API (which runs in your corporate
environment, not directly on the desktop of the users) receives requests via
HTTP. These requests can be for the issuance of ProofMark certificates or forthe verification of previously issued ProofMark certificates.
ProofMark requests
A ProofMark request contains the following information:
- A reference to the data being ProofMarked, such as a filename or a SQL string
or the actual data to be ProofMarked (used when the amount of data to be
ProofMarked is relatively small and can be included in the request)
- An SHA1/SHA2 digest of the contents of the data or the data referred to by the
reference (the digest is prepared by your client program when creating the
ProofMark Request)
- Zero or more X.509 certificates acting as witnesses to the request (to include
X.509 certificates, your application must provide the signed hash of the
transaction data to the ProofMark client API)There are additional options that can be used when requesting a ProofMark
certificate, indicating whether the ProofMark certificate should be stored on the
ProofMark server or whether only a reference to the certificate should be
returned. These options are described in the Programmer's Guide.
verification requests
The API also supports verification of previously issued ProofMark certificates.
There are several levels of verification:
-
8/14/2019 ProofMark System Concepts, Architecture, & Planning Guide 2.08
21/50
core concepts / the server component
ProofSpace , Inc., 1999-2008
Proprietary and Confidential. All rights reserved.
17
- An internal consistency check (validating the signature within the ProofMark
certificate using the public key)
- Sending the ProofMark certificate to a ProofMark archive server for
authentication
- Recursively verifying the integrity of the Interval chain using Cross-certifications
- Recursively verifying the integrity of the Interval chain using Cross-
certifications and checking the digest log for the digest of the ProofMark
certificate being verified
Each level except the internal consistency check produces an XML verification
report. If the ProofMark certificate has been tampered with, the report will
indicate what errors were uncovered. Using the more thorough levels of
verification impacts the amount of CPU time required to complete the
verification.
the server component
The servlets on the server are responsible for the creation of Intervals, the
issuance of ProofMark certificates, and the verification of ProofMark certificates.
To understand how these actions are accomplished, the following concepts are
explained:
- ProofMark certificates
- Intervals
- Interval cross-certification
- Trusted time
- Digest logs
- Ensuring server and Interval identity
- Verification
- Archives
- Publication
- Syslog / Message log
-
8/14/2019 ProofMark System Concepts, Architecture, & Planning Guide 2.08
22/50
core concepts / the server component
ProofSpace , Inc., 1999-2008
Proprietary and Confidential. All rights reserved.
18
ProofMark certificates
A ProofMark certificate is an electronic document that verifies the existence of
some data at a point in time that is provable independent of the organization
issuing the ProofMark certificate. It provides non-repudiable proof of the what,
when, and (optionally) who of E-commerce transactions and network events.
ProofMark certificates are XML (eXtensible Markup Language) documents
containing digital signatures that authenticate some data. When a server
receives an issuance Request (also an XML document) as input to an HTTP
request, a ProofMark certificate is issued.
When an issuance Request is sent to the HTTP server component of a ProofMark
server, the HTTP server recognizes the header as a request for a servlet and
dispatches the servlet engine running the ProofMark server to handle the
request. The ProofMark server encapsulates the ProofMark certificate Request
inside an XML document and returns this to the client of the request.
Application
Server
ProofMarkServer
ProofMark
XMLDocument
2) create proofmarkand store in
XML document
3) Send ProofMark
via HTTP
1) Request ProofMarkvia HTTP
ProofMark certificates can, as an option, be stored in a database on the
ProofMark Server. When that is done, a reference URL used for retrieving the
ProofMark certificate can be returned instead of the full ProofMark certificate.
definition of a ProofMark certificate
In addition to the original data to be ProofMarked, the ProofMark certificate
contains:
- The timestamp, in UTC, that the ProofMark certificate was issued and the
current accuracy of the server's time source
- The Interval (see Interval, below)
- A sequence number within the Interval
-
8/14/2019 ProofMark System Concepts, Architecture, & Planning Guide 2.08
23/50
core concepts / the server component
ProofSpace , Inc., 1999-2008
Proprietary and Confidential. All rights reserved.
19
- A copy of the message digest (hash) from the previously issued ProofMark
certificate
- A message digest of the contents of the ProofMark certificate
- A digital signature of the concatenation of the two message digests
Detailed explanations and examples can be found in the ProofMark Certificate
Anatomy Guide.
Intervals
Intervals are used by the ProofMark system to provide the transient key pairs
which signs the data in a ProofMark certificate. Using transient key pairs instead
of a long-term secure facility greatly reduces the exposure of the private key to
theft or compromise.
The length of time during which a key-pair can be used is set during start-up of
an issuing ProofMark server (this is part of the system configuration, which is
covered in the Administrator's Guide). Each server generates one key-pair per
Interval.
A single ProofMark server has only one active Interval at any given time. As the
server runs, subsequent Intervals are created which are guaranteed to becontiguous (the stop time of an Interval is identical to the start time of the next
Interval). These contiguous Intervals form a chain of keys, with each Interval's
public key being signed by the previous Interval's private key. If a new Interval
cannot be readied and prepared before its prescribed start time, the chain is
broken, and the server automatically restarts a new chain.
definition of an Interval
An Interval contains the following information:
- The server-id (the hostname[:port] of the server)
- The start time of the Interval chain in UTC (universal coordinated time, see
Trusted time)
- The start time of the Interval in UTC
- The stop time of the Interval in UTC
- The public key for the Interval
-
8/14/2019 ProofMark System Concepts, Architecture, & Planning Guide 2.08
24/50
core concepts / the server component
ProofSpace, Inc., 1999-2008
Proprietary and Confidential. All rights reserved.
20
- The digital signature of the Interval's public key, signed by the previous
Interval's private key
- A digital signature for the Interval, signed by the server's X.509 (an international
standard for the format of digital certificates) identity key
- Cross-certification information (a ProofMark certificate issued for an Interval byanother ProofMark server, see Interval cross-certification)
- The digest log of the Interval completed just prior to the Interval used to create
the current Interval
Interval chains
The start time of the very first Interval in the chain is known as the chain start
time, and is stored in each Interval. While theoretically possible, it is unlikely
that two different servers would be configured with the same server-id. It ishighly improbable that these servers could also be started at exactly the same
time, resulting in identical chain start-times. Therefore, adding the chain start
time to the server-id uniquely identifies an Interval chain. Once the chain is
identified, an Interval within the chain is uniquely identified by the Interval's start
time.
The chains Intervals are stored persistently in an archive (see Archive, below).
-
8/14/2019 ProofMark System Concepts, Architecture, & Planning Guide 2.08
25/50
core concepts / the server component
ProofSpace, Inc., 1999-2008
Proprietary and Confidential. All rights reserved.
21
using Intervals to issue ProofMark
certificates
During each Interval, the private key is used in the creation of ProofMark
certificates. Many ProofMark certificates can be issued during an Interval, eachsigned by the Intervals private key.
At the end of each Interval the private key is destroyed and a new key pair isgenerated for the subsequent Interval. During the process of activating a new
Interval, the current Intervals private key signs the new Intervals public key and
start and stop times. Once a signature for the Intervals key has been acquired,
the private key is permanently destroyed.
-
8/14/2019 ProofMark System Concepts, Architecture, & Planning Guide 2.08
26/50
core concepts / the server component
ProofSpace , Inc., 1999-2008
Proprietary and Confidential. All rights reserved.
22
The start time within each Interval coupled with the chain start time form an
unbroken sequence of public keys that can be used to fix a ProofMark
certificates position in time, which also fixes the exact state of a set of data at
that point in time. To prove this state at some future point, the chain of public
keys is posted to an easily accessible place (i.e. several web servers) from where
they can be used to verify a ProofMark certificate.
Interval cross-certification
Cross-certification refers to the process by which one ProofMark server issues a
ProofMark certificate for another ProofMark servers Interval. This process
provides independent proof of the existence of the Interval (and its public key) ata point in time, and creates a widely witnessed chain of proof for the Interval.
Cross-certification also protects the archive from tampering, since the Cross-
certification web extends to several archives and replicas of those archives. To
steal the private key of an interval would require access to the entire web of
cross-certifying archives.
The actual Cross-certifications are ProofMark certificates whose signed data is
an Interval. Cross-certifications are used to authenticate another server's time.
An Interval can have any number of Cross-certifications, issued either by other
servers within the same organization, or by servers in other organizations. A
minimum number of Cross-certifications must be returned before the Interval
can become active (set when you configure the ProofMark system). A larger
number of Cross-certifications results in a more widely witnessed chain of proof.
-
8/14/2019 ProofMark System Concepts, Architecture, & Planning Guide 2.08
27/50
core concepts / the server component
ProofSpace , Inc., 1999-2008
Proprietary and Confidential. All rights reserved.
23
X-Cert Issuing Server
Certifying Server
Certifying Sever
Certiying Server
Certifying Server
X-Cert
X-Cert
X-Cert
The Cross-certification process requires that the timestamp (from a trusted timesource, see Trusted time, below) of the Interval and the timestamp of the Cross-
certifying server agree. That means the difference is less than the sum of the
accuracies of the two timestamps plus the time required to obtain the Cross-
certification.
During Cross-certification, the cross-certifying server authenticates the PKIsignature in the Interval that is being cross-certified, and rejects any requests
whose PKI signatures cannot be verified.
trusted time
Each ProofMark certificate has a timestamp indicating the time that the
ProofMark certificate was issued. The timestamp is created using Universal
Coordinated Time (UTC), with precision to the nearest millisecond. Within the
server, timestamps are obtained from a trusted time source (commonly via the
Network Timing Protocol (NTP).
Times are calculated via a time biasing mechanism, which obtains the time from
the trusted time source periodically and uses a local hardware timer in the
interim. If the trusted time cannot be obtained, the ProofMark server will not
issue ProofMark certificates until the trusted time can be reestablished. The
system clock, which is vulnerable to tampering, is never used as a source of
time.
-
8/14/2019 ProofMark System Concepts, Architecture, & Planning Guide 2.08
28/50
core concepts / the server component
ProofSpace , Inc., 1999-2008
Proprietary and Confidential. All rights reserved.
24
Every timestamp has an associated accuracy, in milliseconds, which is reported
along with the timestamp in every issued ProofMark certificate. In a typical
configuration, accuracy within 100 milliseconds of the Atomic clock is possible.
If the Time Source is not running within its specified tolerance, a Stale Time
Exception occurs, which prevents the creation of ProofMark certificates.
digest logs
The digest log is used to ensure that false ProofMark certificates cannot be
created after an Interval has been created, Cross-certified, and published (unless
the attacker has successfully compromised the entire distributed network of
cross-certifying servers and archives).
The digest log contains the individual digests for each ProofMark certificate
created by an Interval, as well as a superhash digest, computed from the
individual digests. The digest log is placed into the next Interval to be createdwithin the Interval chain (this is not the Interval immediately after the Interval the
digest log represents, but the one following it). When the Interval is published,
the digest log is also published.
Digest logs are periodically propagated to the same archive(s) as the Intervals
they represent.
The digest log is used to protect against the creation of false ProofMark
certificates. While it is theoretically possible for someone to obtain the transient
key for an Interval (which can be done only while the Interval is active), the digest
log would not contain a digest for any false ProofMark certificates created using
the private key.
The existence of the digest log also makes cracking attacks virtually impossible.
A cracking attack is one in which the transient private key is deduced after the
end of an Interval, by applying cryptanalysis techniques to existing ProofMark
certificates created during the Interval. A false ProofMark certificate created
using a private key obtained in this manner could not be verified if the digest log
verification option was required, since no record of that certificate would be
present in the digest log for the issuing Interval. Finally, since digest logs are
cross-certified in the same manner as Intervals, tampering with a published
digest log after the fact would require altering all records of the digest log, in all
cross-certifying servers.
The risk of false certificates is much lower with ProofMark transient-key
technology since keys are never stored or transported, and only exist during the
Interval. Using a supported hardware crypto-accelerator, they never exist or are
accessible outside of the transient memory in the crypto-processor board. While
no security system is perfect, this is a significant improvement over permanent
key, third party key systems.
-
8/14/2019 ProofMark System Concepts, Architecture, & Planning Guide 2.08
29/50
-
8/14/2019 ProofMark System Concepts, Architecture, & Planning Guide 2.08
30/50
core concepts / the server component
ProofSpace , Inc., 1999-2008
Proprietary and Confidential. All rights reserved.
26
- Digest log verification (the third level of archive verification)
Stronger
Weaker
ProofMark InternalVerification
Interval Verification
Cross-Certification
Verification
DigestLog
Verification
ProofMark internal verification
With the aid of publicly available software, any ProofMark certificate can be
tested for internal consistency. This check does not require communication with
a ProofMark server, yet will immediately detect if the certificate was modified
since it was issued.
To test a ProofMark certificate for internal consistency, you compare a digest ofthe original data (created with an SHA2 hash algorithm) with the digest from the
ProofMark certificate. If the two digests match, the ProofMark certificate is
internally consistent. If the two digests do not match, the data in the ProofMark
certificate has been tampered with, and it is not a valid ProofMark certificate.
Interval verification
The first level of archive verification authenticates any PKI signatures that were
included in the original request that generated the ProofMark (these are part of
the ProofMark). Authentication is accomplished by first verifying each certificatein the PKI signature's certificate chain, then checking for a trusted certificate in
the machine's local keystore whose subjectDN matches the issuerDN of the first
certificate in the PKI signature's certificate chain. If these keys fail to match, an
error is reported in the verification report.
-
8/14/2019 ProofMark System Concepts, Architecture, & Planning Guide 2.08
31/50
-
8/14/2019 ProofMark System Concepts, Architecture, & Planning Guide 2.08
32/50
core concepts / the server component
ProofSpace , Inc., 1999-2008
Proprietary and Confidential. All rights reserved.
28
If the archives real host ceases to exist, the ProofMark archive Directory (see
below) will list forwarding host addresses where copies of the archive are
located.
the ProofMark archive directoryProofSpace plans are to operate a Web server that contains a database of
forwarding addresses for archives whose contents are no longer serviced by the
original logical host. The normal verification of a ProofMark certificate would
send a request to one of the archive hosts listed in the ProofMark certificatesarchive Tree. If one or more of these hosts were no longer operating, the
directory could be queried for other servers that now serve the archive.
replication
Since several servers may have a copy of an archive, or contribute to it, the
copies of the archive are replicated among each server in the archive. This
replication is achieved by one of several methods:
- For file-system archives, use any file replication product, such as the Andrew
File System (AFS), or utilities such as RDIST (remote software distribution
system) or RSYNC (a file transfer program for Unix systems)
- For JDBC database archives, use either a shared database service or the
ProofMark replication service
Replication between mixed archive types is not supported in this release.
the Interval archive tree
Every Interval must be stored in at least one archive, known as the Interval's root
archive. Intervals may be stored in additional archives as well. During creation
of the Interval, an archive Tree is established for the Interval and the Interval is
stored or published in its root archive before it is available for use.
After its initial publication, the Interval is forwarded asynchronously to one or
more additional archives in the archive Tree, which may in turn each forward toadditional archives. The archive Tree is represented as part of the Intervals XML
representation and therefore appears in each ProofMark certificate issued by the
Interval. This enables the holder of the ProofMark certificate to know which
archives can be used for later verification of the ProofMark certificate. In a
typical situation, an organization will have its own archive, and will forward its
Intervals to a public archive, but more extensive archive Trees are possible.
Each additional archive may have been configured to forward to another level of
archive (propagating the archives).
-
8/14/2019 ProofMark System Concepts, Architecture, & Planning Guide 2.08
33/50
core concepts / the server component
ProofSpace , Inc., 1999-2008
Proprietary and Confidential. All rights reserved.
29
The process of establishing the archive Tree for an Interval occurs immediately
after the Cross-certifications for the Interval have been obtained. The archive
Tree is constructed by combining the archive Trees from the servers that issued
Cross-certifications as follows:
- The Intervals local archive becomes the root of the archive Tree
- The set of archive trees of all of the Cross-certifications for the Interval are
added as immediate branches of the root archive
- If there are archives that have been configured for publication, without requiring
Cross-certifications, these archives are also added as branches
- Any cycles or redundant branches in the resulting archive tree are removed
In an exception to this process, the Interval does not have a local archive. In this
case, it must be configured with only a single Cross-certification group from
which Cross-certifications are required. The resulting archive Tree thenbecomes a copy of the archive Tree from that group. See the Load Balancing
Topology in the Planning section below for an example.
archive integrity
The integrity of the Intervals stored in an archive is important and must be
protected from tampering in order to guarantee the authenticity of ProofMark
certificates. Since one cannot guarantee that any particular server is immune
from tampering, the Intervals themselves have been designed to prevent
undetected tampering:
- Each Interval in the chain has been signed by the previous Interval
- Each Interval can have a PKI signature that certifies that it was created by a
particular server
- Each Interval has Cross-certification ProofMark certificates, issued by other
servers, which sign the Interval, and the Intervals that issued these Cross-
certifications are themselves cross-certified
- The Interval issuing a Cross-certification for another Interval is archived into an
archive Tree that is a branch of the archive Tree of the Interval that is beingcertified
Since Intervals and their Cross-certifications appear in more than one archive,
the integrity of any given archive replica can be validated by verifying the Cross-
certification ProofMark certificates using a different archive. An automatic
auditing process that cross-authenticates an archives integrity is planned for a
future version of the system.
-
8/14/2019 ProofMark System Concepts, Architecture, & Planning Guide 2.08
34/50
core concepts / the server component
ProofSpace, Inc., 1999-2008
Proprietary and Confidential. All rights reserved.
30
publication
Publication refers to the process of making Intervals and their Cross-
certifications available in one or more databases that are:
- Permanently accessible, even if the issuing organization ceases to exist
- Stored in such a way that they cannot be altered without detection
Publication is achieved in the ProofMark system with the following processes:
- An Interval and its Cross-certifications are published to the root archive in the
Intervals archive Tree, before the Interval can become active
- An archive can be periodically replicated to several servers in order to provide
high availability and redundancy against loss
- Intervals and their Cross-certifications are propagated from one archive to
another, as defined by the subordinate branches of the Intervals archive Tree,
using the following automatic process:
?? As an Interval is stored in any archive, it is flagged for propagation if there
are any branches in the Intervals archive Tree that occur beneath the
archive in which the Interval is currently being stored
?? Periodically, a ProofMark propagation service forwards all Intervals marked
in this way to each of the archives that appear beneath the current archive
in the Intervals archive Tree (the propagation flag for the Interval is cleared
when the Interval has been propagated successfully to each of thesearchives)
?? This recursive process continues until the Interval has eventually been
stored in each archive in its archive Tree
Replication is important, even for verification-only servers, since Interval
publishing and propagation only distribute Interval information to a single server
in each archive group.
syslog / message log
Each ProofMark server logs activity messages related to its operation in a
standardized format. There are several configuration options available to specify
where these messages are logged and which message levels are included in the
log. These choices are described in the Configuration Guide.
The syslog message-logging configuration is strongly recommended. It enables
a ProofMark server to send messages to any server running a syslog daemon
-
8/14/2019 ProofMark System Concepts, Architecture, & Planning Guide 2.08
35/50
core concepts / the server component
ProofSpace , Inc., 1999-2008
Proprietary and Confidential. All rights reserved.
31
process. With this option and a set of widely available third party tools,
ProofMark server messages can be filtered and routed to a variety of
destinations including pagers, e-mail accounts or Internet based messaging
services.
-
8/14/2019 ProofMark System Concepts, Architecture, & Planning Guide 2.08
36/50
planning your ProofMark implementation / considerations fo
ProofSpace , Inc., 1999-2008
Proprietary and Confidential. All rights reserved.
32
planning your ProofMark implementation
When you implement the ProofMark system, you need to make several important
decisions, including the length (in time) of each Interval, and the topology of
servers.
considerations for selecting an Interval length
One of the key parameters in configuring a ProofMark server is the selection of
an Interval length. This length, in seconds, is the amount of time that an Interval
and its unique key-pair will be used before destroying the private key and
creating a new Interval. There are several considerations in selecting this
length:
- Shorter Intervals provide a smaller target for hackers
- Intervals are independently cross-certified (shorter is better)
- Creation of the next Interval (each Interval is prepared during the previous
Interval, so longer is better)
- Storage of Intervals in the archive (longer Intervals result in fewer Intervals to
store)
In weighing these considerations, an Interval length of around 5 minutes is
appropriate for most installations.
smaller target for hackers
A shorter Interval is preferable since it is a smaller target for hackers. If the
other safeguards in protecting the transient private key were broken, obtaining
any given private key would only allow for false issuance of ProofMark
certificates for the one Interval. This risk is much lower with ProofMark
transient-key technology since keys are never stored or transported, and only
exist during the Interval. Using a supported hardware crypto-accelerator, they
never exist or are accessible outside of the transient memory in the crypto-processor board. While no security system is perfect, this is a significant
improvement over permanent key, third party key systems.
The digest log is placed into the next Interval to be created within the Interval
chain. When the Interval is published, the digest log is also published. In a
smaller interval, the digest is also smaller, since fewer ProofMark certificates
are issued during the Interval.
-
8/14/2019 ProofMark System Concepts, Architecture, & Planning Guide 2.08
37/50
planning your ProofMark implementation / topology consider
ProofSpace , Inc., 1999-2008
Proprietary and Confidential. All rights reserved.
33
Intervals are independently cross-certified
A shorter Interval is preferable since each Interval is independently cross-
certified. A smaller Interval may tend to strengthen the independently-verifiable
time of the ProofMark certificates issued by the Interval, to the extent that the
atomic-clock time sources used by any one server are suspect. This is a minor
consideration. The accuracy of time should not be a major consideration in
selecting Interval length.
creation of the next Interval
A longer Interval is preferable since the Interval is prepared for use during the
previous Interval. This preparation includes
- Key generation (a somewhat time-intensive process)
- Obtaining Cross-certifications for the Interval
- Storing the Interval in the local archive
- Publishing the Interval to at least one external archive (if any are specified)
All of these must be completed before the start time of the Interval, and extra
time may be required if there are temporary network bottlenecks in obtaining,
for example, Cross-certifications for the Interval. Selecting too short an Interval
may impact server availability if these things cannot be completed on time.
storage of Intervals
A longer Interval is preferable since there will be fewer of them to store in the
archive, retrieve, and cross-certify. This results in less network overhead and
less file storage in the archives where the Interval is stored.
topology considerations
There are two types of topologies to consider regarding Cross-certification:
- Intra-organization
- Inter-organization
-
8/14/2019 ProofMark System Concepts, Architecture, & Planning Guide 2.08
38/50
planning your ProofMark implementation / topology consider
ProofSpace , Inc., 1999-2008
Proprietary and Confidential. All rights reserved.
34
Intra-organizational Cross-certification topologies address server workload and
system reliability issues. Inter-organizational topologies provide additional
quality of service levels to the ProofMark certificates that are issued.
The topologies discussed below represent only a few of the possible
configurations. Of the intra-organizational ones, the choice is primarily a matter
of volume requirements; the load balancing topology is more appropriate for
high volume installations. However, setting up and managing a load balancing
environment takes time and expertise that low volume installations most likely
will not have.
intra-organizational topologies
The two primary intra-organizational topologies are:
- Reciprocal peer
- Load balancing
-
8/14/2019 ProofMark System Concepts, Architecture, & Planning Guide 2.08
39/50
planning your ProofMark implementation / topology consider
ProofSpace , Inc., 1999-2008
Proprietary and Confidential. All rights reserved.
35
reciprocal peer topology
The reciprocal peer topology consists of ProofMark clients connecting directly to
one or more ProofMark servers that cross-certify each other.
X-Cert
P
1
P
2
Load Balancer
Persistent
Archive
Cn
..C2
C1
In this diagram, all of the organizations ProofMark clients C 1.n connect directly to
one of the ProofMark servers P1 or P2 via a load-balancing server which provides
the appearance of a single virtual host. These servers store Intervals and Cross-
certification trees to a shared or replicated archive. The same virtual hostname
is used for both issuance and verification, and is therefore used as the archives
nominal hostname.
load balancing topology
In a load balancing topology, which is used in conjunction with a reciprocal peer
topology, ProofMark clients connect to one of several ProofMark servers NP 1.n
that do not have local access to the archive. These servers in turn Cross-certify
with at least one of the servers P1 or P2 that only serve as Cross-certification and
archive servers. Notice that a load balancer is not used on the connection
between the NPm and P1/P2 servers for purposes of Cross-certification, but is
present as the nominal archive host and serves to load-balance verification
requests to the archive. While not shown, servers distinct from P1 and Pn could
-
8/14/2019 ProofMark System Concepts, Architecture, & Planning Guide 2.08
40/50
planning your ProofMark implementation / topology consider
ProofSpace , Inc., 1999-2008
Proprietary and Confidential. All rights reserved.
36
be deployed as independent verification/archive servers, so that P1 and P2 would
perform only Cross-certification requests. Given the light load of simply issuing
Cross-certifications, one server could easily satisfy this role, but having two
provides for redundancy of this critical function.
X-Cert
P
1
P
2
NP
1
NP
2
...NP
n
Load Balancer(Issuing host)
PersistentArchive
Load Balancer(Verification host)
C1
C2
... Cn
inter-organizational topologies
The two primary inter-organizational topologies are:
- Meshed peer
- Hierarchical
These topologies are extensions of the intra-organizational topologies described
above.
-
8/14/2019 ProofMark System Concepts, Architecture, & Planning Guide 2.08
41/50
planning your ProofMark implementation / topology consider
ProofSpace , Inc., 1999-2008
Proprietary and Confidential. All rights reserved.
37
meshed peer topology
In a meshed peer topology, several organizations running ProofMark servers
agree to provide mutual Cross-certification and publication services. Each
participating organization can configure its Cross-certifications to be obtained
from any number of other organizations, and may specify how many are optionalor required for certifying the Interval. ProofMark certificates issued by one of
these Intervals will list the root archive as the one belonging to the issuing
organization, and will list a tree of other archives where the Interval is published.
In the diagram below, the organizations deploy reciprocal peer topologies, but
they may also deploy load-balancing topologies. If the load balancing topology is
used within an organization, the Cross-certification servers will issue Cross-
certifications both within and between organizations. This work is normally
insignificant when compared to the load placed on the issuing server farms.
An organization, for purposes of this discussion, may be any form of entity or
sub-entity within a larger organization.
X-Cert, Publish
X-Cert,
Publish
X-Ce
rt,Pu
blish
X-Cert
,PublishX-Cert,Publish
X-Cert, Publish
Org1
Org3
Org4
Org2
Variations on these topologies include organizations that lurk on a meshed peer
topology, receiving Cross-certification services from one or more of the trusted
peers, but providing no Cross-certification in return. Additionally, an
organization may participate in more than one trusted peer topology. These
variations do not uniquely influence the Cross-certification tree for a given
-
8/14/2019 ProofMark System Concepts, Architecture, & Planning Guide 2.08
42/50
planning your ProofMark implementation / topology consider
ProofSpace , Inc., 1999-2008
Proprietary and Confidential. All rights reserved.
38
ProofMark client, but can be useful when discussing the implications of adopting
alternative Cross-certification topologies.
hierarchical topology
The hierarchical topology closely models the certificate authority (CA) model for
digital certificates. In this case, there are recognized and reputable Public
Record (PR) service organizations that only supply Cross-certification and
publication services to ProofMark organizations. Organizations can request
Cross-certification directly from a PR, or indirectly through another organization.In the diagram below, S1 is considered a broker between the public records and
organization S2.
X-Cert,Publish
X-Ce
rt,Pu
blish
X-Cert,
Publish
X-Cert,
Publish
PR1
PR2
PR3
S1
S2
-
8/14/2019 ProofMark System Concepts, Architecture, & Planning Guide 2.08
43/50
appendix Acryptography primer / basic concepts
ProofSpace , Inc., 1999-2008
Proprietary and Confidential. All rights reserved.
39
appendix Acryptography primer
For those unfamiliar with the basics of cryptography, this appendix provides a
brief primer on the subject, introducing you to the basic concepts, and describing
the two primary uses.
basic concepts
Cryptology is the science of secret writing, and has been used for millennia to
transmit information from one party to another without allowing intermediaries
to learn the information. Cryptology includes cryptography, which is the
encoding of information, and cryptanalysis, which is the decoding of the
information. Plaintext is the original message to be sent from one party to
another. The text is encrypted using an algorithm or cipher, and the result iscalled ciphertext. Often, people use the term cryptography to include both
cryptography and cryptanalysis.
Many algorithms use a key as part of the input, to vary the results of the
algorithm and make the ciphertext more difficult to decipher, or convert into
plaintext. Cracking means breaking the secret code or key used to encrypt data
(cracking allows the intermediary who cracks the algorithm to learn the
information by decrypting a piece of ciphertext). Hacking means breaking into a
system either to steal something or to be disruptive. Stealing a key or some
ciphertext would be hacking. Breaking the key and decrypting the ciphertext
would be cracking.
Symmetric encryption uses a single key to both encrypt the plaintext and
decrypt the ciphertext. Asymmetric encryption uses two separate keys, one to
encrypt, and one to decrypt. These two keys have a mathematical relationship
that allows what is encrypted with one key to be decrypted only with the other
key. Because of the nature of the mathematical relationship between the two
keys, it takes longer to encrypt and decrypt information using asymmetric
encryption.
Public key cryptography uses asymmetric encryption, where one key is made
public, and the other is kept private. This is referred to as a public/private key
pair. You publish your public key and anyone can use it to encrypt information.
You will be the only one who can decrypt the information, using your private key.
Some well-know asymmetric encryption algorithms include RSA, DSA, and
Elliptic Curve.
Another aspect of cryptology is the message-digest, which is a one-way function
that takes any amount of plaintext and produces a fixed-length ciphertext. This
ciphertext is referred to as the message digest, digest, or hash. It is called a
one-way function because you cannot recreate the original data from the digest.
-
8/14/2019 ProofMark System Concepts, Architecture, & Planning Guide 2.08
44/50
appendix Acryptography primer / basic concepts
ProofSpace , Inc., 1999-2008
Proprietary and Confidential. All rights reserved.
40
The digest acts as a signature for the data. In fact, a strong message-digest
algorithm produces a unique digest for each set of plaintext used as input, such
that if only one character of the plaintext changes the new digest is completely
different. Some well-known message-digest algorithms include SHA2 and MD2,
MD3, and MD4.
How are these digests used? An important use of public key cryptography isauthentication and integrity. You can encrypt a piece of data with your private
key. Anyone knowing your public key can then decrypt the data and know that
the data came from you. This use of public key cryptography is called signing.
The output created when signing a digest is called a digital signature. Since you
are not trying to hide the information itself, only the digest is signed (this
improves the performance of your cryptographic system). The public key can
decrypt the digest and match it to the accompanying data.
To ensure that the digital signature was created by the entity claiming it, a
trusted organization must vouch for the relationship between the private key and
its owner. This is accomplished through a digital cert ificate, a digitally signedpublic key. Registration authorities (RA) issue digital certificates and ensure
that they are issued only to legitimate parties. A trusted organization referred to
as a certificate authori ty (CA) issues and manages the certificates. Some well-
known CAs include Verisign, Entrust, and Baltimore.
The CA will vouch for the validity of the digital certificate and, as a result for a
digital signature generated with the private keys certificate. If another party
discovers the private key of a digital certificate, that digital certificate is added to
a cert ificate revocat ion list (CRL) to indicate that the digital certificate is no
longer secure. The Public Key Infrastructure (PKI) allows widespread use of
public key technology by providing an accepted standard of algorithms, CAs, RAs,
and access to public keys.
The PKI infrastructure has resulted from the advancements in cryptography over
the last few years, and provides a way for organizations to communicate
electronically with confidence using digital certificates.
The security of an algorithm used to encrypt information is based on whether or
not it is considered possible to crack the ciphertext and find the plaintext. The
larger the key used with the algorithm, the more secure the data is.
Cryptanalysts traditionally break ciphers by finding patterns within the data or by
learning the key. Having more examples of ciphertext created with the same key
increases the chance of finding patterns within the resulting data. Mostalgorithms are published in order to undergo public scrutiny to see if there are
any weaknesses that can break the cipher.
-
8/14/2019 ProofMark System Concepts, Architecture, & Planning Guide 2.08
45/50
appendix Acryptography primer / uses of cryptography
ProofSpace , Inc., 1999-2008
Proprietary and Confidential. All rights reserved.
41
uses of cryptography
There are two primary uses of cryptography: secrecy and integrity. When used
for secrecy, data is encrypted with a key into a non-readable form, transmitted to
someone where it is decrypted and restored to its original form. When used for
integrity, data is signed using a cryptographic key, but the data is transmitted in
its original form. This use of cryptography enables after-the-fact confirmation
that the transmitted data has not been altered in any way.
The ProofMark system uses applied cryptography for authentication and proof of
online transaction at a point in time, by issuing a certificate that contains the
proof for an online event of what someone did, when they did it, and who they
were.
-
8/14/2019 ProofMark System Concepts, Architecture, & Planning Guide 2.08
46/50
appendix Bglossary / uses of cryptography
ProofSpace , Inc., 1999-2008
Proprietary and Confidential. All rights reserved.
42
appendix Bglossary
This glossary contains common terms used throughout the ProofSpace
documentation set.
BLOB
Binary Large OBject.
Certificate authority (CA)
A trusted organization referred to as a certi ficate authority (CA) issues and
manages digital certificates within the Public Key Infrastructure (PKI).
Certificate revocation list (CRL)
If another party discovers the private key of a digital certificate, that digital
certificate is added to a certificate revocation list (CRL) to indicate that the digital
certificate is no longer secure.
ciphertext
In cryptography, ciphertext is encrypted text.
CRL
Certificate Revocation List.
Cryptology and cryptography
Cryptology is the science of secret writing, and is used to transmit information
from one party to another without allowing intermediaries to learn the
information. Cryptography is the encoding of information from plaintext to
ciphertext. Often, people use the term cryptography to include both cryptographyand cryptanalysis.
Digital certificate
A digital certificate is a digitally signed public key, which is used to authenticate
the identity of the individual or organization using it.
Digital signature
A digital signature is a piece of data encrypted with a private key. Anyone can
then use the public key to decrypt the data and confirm the source.
DTD
Document Type Definition.
Encryption and decryption
In cryptography, to encrypt is to use an algorithm or cipher to convert plaintext to
ciphertext. To decrypt is to convert the ciphertext back to plaintext.
Cracking refers to breaking the secret code or key used to encrypt data (cracking
allows the intermediary who cracks the algorithm to learn the information by
-
8/14/2019 ProofMark System Concepts, Architecture, & Planning Guide 2.08
47/50
appendix Bglossary / uses of cryptography
ProofSpace , Inc., 1999-2008
Proprietary and Confidential. All rights reserved.
43
decrypting a piece of ciphertext). Hacking refers to breaking into a system either
to steal something or to be disruptive. Stealing a key or some ciphertext would
be hacking. Breaking the key and decrypting the ciphertext would be cracking.
HSM
Hardware Security Module
Indicia
Indicia refers to the graphical representation of the ProofMark certificate, which
contains the data in the graphical representation.
JDBC
Java Database Connectivity.
Key
In cryptography, many algorithms use a key as part of the input to an encryption
algorithm, which varies the results of the algorithm and makes the ciphertext
more difficult to decipher.
Message-digest
In cryptography, a message-digest is a one-way function that takes any amount
of plaintext and produces a fixed-length ciphertext. This ciphertext is referred to
as the message digest, digest, or hash.
NTP
Network Timing Protocol.
Plaintext
In cryptography, plaintext is ordinary text or data that has not been encrypted.
Public key infrastructure (PKI)
The Public Key Infrastructure (PKI) allows widespread use of public key
technology by providing an accepted standard of algorithms, CAs, RAs, and
access to public keys.
RDIST
Remote software distribution system. RDIST is used to maintain identical copies
of files over multiple hosts, preserving the owner, group, mode, and mtime of the
files if possible. Programs that are currently executing can be updated.
RSYNC
A file transfer program for Unix systems that provides a very fast method forsynchronizing remote files, by sending just the differences in the files across the
link without requiring that both sets of files be present at the same end of the
link.
Features include:
- Updating whole directory trees and file systems
-
8/14/2019 ProofMark System Concepts, Architecture, & Planning Guide 2.08
48/50
appendix Bglossary / uses of cryptography
ProofSpace , Inc., 1999-2008
Proprietary and Confidential. All rights reserved.
44
- Preserving symbolic links, hard links, file ownership, permissions, devices, and
times
- Internal pipelining reduces latency for multiple files
- Supports anonymous rsync, which is ideal for mirroring
Servlet
A servlet is a Java program running inside a web server. The servlet uses HTTP
as the communication protocol between the web server and the servlet. The
client sends an HTTP message to the webserver, which in turn sends an HTTP
message to the servlet within the web server. The header of the URL indicates
which servlet the message is for.
Symmetric and asymmetric encryption
Symmetric encryption uses a single key to both encrypt the plaintext and decrypt
the ciphertext. Asymmetric encryption uses two separate keys, one to encrypt,
and one to decrypt. These two keys have a mathematical relationship that allowswhat is encrypted with one key to be decrypted only with the other key.
Public key cryptography uses asymmetric encryption, where one key is made
public, and the other is kept private.
TTP
Trusted Third Party. A trusted third party provides independent verification of
authenticity.
UML
Unified Modeling Language.
UTC
Universal coordinated time. This is a time standard for absolute time.
X.509
An international standard for the format of digital certificates.
XML
Refers to the eXtended Markup Language standard, published by the Worldwide
Web Consortium. XML is a markup language where the tags indicate the usage
of the data, rather than the layout or format of the data. The data within an XML
document can then be displayed in different ways, according to the needs of the
user.
-
8/14/2019 ProofMark System Concepts, Architecture, & Planning Guide 2.08
49/50
index / uses of cryptography
ProofSpace , Inc., 1999-2008
Proprietary and Confidential. All rights reserved.
45
index
additional safeguards, 7
application integration, 10
archives
directory, 28
integrity, 29
Interval archive tree, 28
introduction, 27
publication, 30
replication, 28
asymmetric encryption, 44
authenticating a ProofMark
certificate, 17
BLOB, 42
certificate. see ProofMarkcertificate
certificate authority, 42
certificate revocation list, 42
chain of Intervals, 5, 6, 7, 19, 20, 29,
32
ciphertext, 42
client API, 4, 8, 10, 12, 16
client component, 4
configuration
hardware acceleration, 15
issuance request options, 13
load balancing, 14multi-processor support, 14
persistent storage options, 15
creating Intervals, 5
CRL, 42
cross-certication verification, 27
cross-certification, 22, 27
archives, 27
cryptographic accelerator cards, 15
cryptography primer, 39
cryptography, definition, 42
cryptography, uses, 41
decryption, 42digest log
verification, 27
digest logs, 17, 24
digital certificate, 42
digital signature, 42
DTD, 42
encryption, 42
hardware acceleration, 15
hierarchical topology, 38
HSM, 43
HTTP, 10
indicia, 43
integrity of archives, 29
internal consistency check, 17
internal verification, 26
inter-organizational topologies, 36
Intervals
archive tree, 28
archives, 27
creating, 5
cross-certification, 22definition, 19
identity, 25
Interval chains, 5, 6, 7, 19, 20, 29,
32
introduction, 19
issuing ProofMark certificates, 21
selecting Interval length, 32
transient-key technology, 6
intra-organizational topologies, 34
issuance requests, 13, 18
issuing ProofMark certificates, 5, 21
Java servlets, 10JDBC, 43
key, 43
length of Intervals, 32
load balancing, 14
load balancing topology, 35
meshed peer topologies, 37
message digest, 43
message log, 30
MP machines, 14
multiplexing proxy, 14
multi-processor support, 14
NTP, 43performance considerations, 14
persistent storage options, 15
plaintext, 43
planning your implementation, 32
Interval length, 32
topology, 33
platform specifications, 12
-
8/14/2019 ProofMark System Concepts, Architecture, & Planning Guide 2.08
50/50
index / uses of cryptography
product architecture, 9
ProofMark archive directory, 28
ProofMark certificates
authenticating, 17
data included, 5
definition, 1, 18
examples of data, 2introduction, 18
issuance request options, 13
issued by Intervals, 21
issuing, 5
referencing, 13
referencing data, 13
verification, 25, 26, 27
verification reports, 27
verification requests, 16
verifying, 6
ProofMark client API. See client APIProofMark references, 13
ProofMark requests, 16
ProofMark servers, 4
ProofMark Verification Report, 6
public key infrastructure, 43
publication, 30
RDIST, 43
reciprocal peer topology, 35
recursive verification, 17
recursive verification with digest
log, 17
referencing data in ProofMarkcertificates, 13
referencing ProofMark certificates,
13
replication, 28
RSYNC, 43
server component, 4
server components, 17
server identity, 25
servers, 4
servlets
cross certifier, 11
definition, 44
issuer, 11
overview, 10
propagator, 12publisher, 11
replicator, 12
retriever, 11
verifier, 11
SHA2 digest, 16
specifications, 12
storage
JDBC database, 15
local file system, 15
symmetric encryption, 44
syslog, 30system components, 9
technology overview, 4
time source, 23
topology considerations, 33, 34, 36
transaction flow (sample), 8
transient-key technology, 1, 4, 5, 6,
19, 24
trusted time, 23
TTP, 44
UML, 44
uses of the ProofMark system, 1
UTC, 44verification, 25, 26
verification reports, 27
verification requests, 16
verifying ProofMark certificates, 6
X.509, 44
X.509 certificates, 16
XML, 44
XML documents, 5, 17, 18