Party (TTP) in charge of the generation, distribution,
and maintain all cryptographic keys.
Setup Procedure. Before shipping the
merchandise, EZK needs some information such as
public and private keys of each actor, destination
and type of merchandise and e-BOL identifier. This
information will be generated by TTP during the
setup procedure. For these reasons, shipper Shila
asks TTP to begin setup process. The Trusted Third
Party generates:
public (P
S
, P
C
, P
H
, P
B
, P
TTP
) and private (σ
S
, σ
C
,
σ
H
, σ
B
, σ
TTP
) keys for each actor, and
publishes public keys on its repository;
numbers p and g, where p is a large prime, and
g is a generator of Z
p
, with 1<g<p. This two
numbers will be used by actors for counting
merchandise (see Section 3.3) and, for this
reason, p and g are public numbers. TTP
publishes both p and g on its repository;
a binary timestamp T (see Section 3.1 for
details) that will be used as identification
number of the e-BOL.
Shipping merchandise procedure. This
procedure is done by Shila, Carl, and Hans. Shila:
generates a blank e-BOL
e-BOL = (--, merchandise info, --, --)
computes her blind count K
S
(see Section 3.3
for details) based on Hans’ order and signs K
S
with her private key σ
S
;
fills out the blank e-BOL with (a) signed blind
count σ
S
(K
S
), and (b) e-BOL’s identifier ID,
that is ID=(T, σ
S
(T), --, --).
e-BOL = (ID, merchandise info, σ
S
(K
S
), --)
transmits the e-BOL to carrier Carl, and
delivers the ordered merchandise to him.
Carl:
computes his blind count K
C
;
checks if Shila’s blind count K
S
and Shila’s
timestamp are respectively equal to K
C
and T.
If both the numbers are correct, Carl accepts
e-BOL and merchandise, else he rejects;
if he accepts, Carl signs blind count K
C
with his
private key σ
C
;
fills out the e-BOL with (a) his signed blind
count σ
C
(K
C
), and (b) e-BOL’s identifier ID,
that now is ID=(T, σ
S
(T), σ
C
(T), --)
e-BOL = (ID, merchandise info, σ
S
(K
S
), σ
C
(K
C
))
transmits the e-BOL to holder Hans, and
delivers the ordered merchandise to him.
Again, Hans:
computes his blind count K
H
;
checks Shila’s blind count K
S
, Carl’s blind
count K
C
, Shila’s timestamp and Carl’s
timestamp. If the four numbers are correct,
Hans accepts e-BOL and merchandise, else he
rejects;
if he accepts, he fills out the e-BOL with e-
BOL’s identifier ID, that now is ID=(T,
σ
S
(T), σ
C
(T), σ
H
(T))
e-BOL = (ID, merchandise info, σ
S
(K
S
), σ
C
(K
C
))
transmits the e-BOL to Shila and Carl.
encrypts the e-BOL with public key of the bank
P
B
(e-BOL) and transmits it to bank B for
payment purposes.
Validation procedure. This procedure is done
by bank B. The bank decrypts the e-BOL received
from Hans with its private key σ
B
, and checks all
timestamps and blind counts recovered from the e-
BOL. If all data are not corrupted or altered, bank B
begins the payment procedure, else begins the fraud
control procedure.
Payment procedure. The bank pays Shila for
the merchandise and Carl for his services and then
sends the e-BOL signed with its private keys σ
B
to
Shila and Carl as a payment acknowledgement.
Upon checking that her bank account has been
properly credited, Shila signs the e-BOL with her
private key σ
S
and send the signed e-BOL to the
bank. Bank B stores Shila’ signed e-BOL as proof of
payment. Carl will do the same operation with his
private key σ
C
.
Fraud control procedure. The bank discovers
actors that try to cheat (Pagnoni and Visconti, 2006)
submitting the e-BOL to bank B twice with the same
or different timestamps T, filling out the e-BOL with
erroneous blind counts, modifying the blind count
after forwarding merchandise, trying to fake an e-
BOL ex-novo, and so on. Checking all timestamps T
and blind counts, the bank will discover dishonest
actors and stop all payment procedure.
3 SECURING E-BOLS
An easy way for securing e-BOL is combining
several cryptographic techniques for preventing
fraud schemes. We choose digital signatures, zero-
knowledge representation, and encryption
operations. Before introducing the cryptographic
techniques used in our application, we would list
few properties of signed e-BOLs. Signed e-BOL (a)
constitute a sure proof of the author’s identity, (b)
cannot be repudiated by the signer, and (c) cannot be
altered by any evil actor. In order to achieve
previous properties, EZK uses secure binary
timestamps, digital signatures, unforgeable blind
counts, and encryption operations.
EZK: A ZERO KNOWLEDGE TOOL FOR GENERATING, HANDLING, AND SECURING ELECTRONIC BILLS OF
LADING
239