Cryptanalysis of Some Electronic Checkbook Schemes
Isa Sertkaya
a
and Oznur Kalkar
b
MCS Labs & BCLabs, T
¨
UB
˙
ITAK B
˙
ILGEM UEKAE, PK. 74, 41470, Gebze, Kocaeli, Turkey
Keywords:
Electronic Checkbook, e-Checkbook, e-Check, Cryptanalysis, Security, Privacy.
Abstract:
Paper-based check is the second mostly used payment method. Accordingly, efforts are underway to improve
electronic checkbook (shortly, e-checkbook) systems which mimics the paper-based checkbook mechanism,
in line with social needs. Considering the cost of paper check procedures and the amount of money transferred
using checks, we believe that there should be a properly designed and provably secure e-checkbook scheme.
Analyzing the vulnerabilities of the existing systems, and figuring out where they originate is the first step
towards a secure e-checkbook mechanism. In this study, we show that the e-checkbook schemes denoted as
PEEC, CYLL, CCL, CWL and CCW fail to achieve their claimed security and susceptible to various types of
attacks including e-check forgery and manipulation. Particularly, we show that Pasupathinathan et al.s PEEC
scheme does not satisfy the correctness, anonymous identity and payment unlinkability; Chen et al.s CYLL
scheme is not secure against e-check manipulation and e-check forgery attacks; Chang et al.s CCL scheme,
Chen et al.s CWL scheme and Chang et al.s CCW scheme are susceptible to e-check manipulation attack.
1 INTRODUCTION
Check-based payments constitute around 10 percent
of payments which corresponds to 16 billion checks
transferring 27 trillion USD in USA in 2016. Since
these checks are needed to be processed manually,
they require considerable amount of corporate re-
sources. For example, the average cost for a corpo-
ration to process a check is US$1.5 as stated by Chief
Executive of Hong Kong Monetary Authority, (Chan,
2015). As a direct conclusion, in 2016, processing the
16 billion checks in USA would cost around 24 billion
dollars. This 24 billion dollars, or a large portion of it
could be saved if e-checkbook was used.
A paper check is a payment form that draws
money from a checking account when deposited. The
payer first gathers a checkbook which is a collection
of empty checks issued by the payer’s bank. When-
ever a payer wants to pay with a paper check, he/she
writes the name of the payee and the desired face
value (amount) on the check and signs it. After re-
ceiving a check, the payee presents the received check
to the bank and requests the deposit.
An electronic check, e-check for short, on the
other hand, is electronic version of a paper check.
Whenever a payer wants to make a payment using
a
https://orcid.org/0000-0002-4739-0515
b
https://orcid.org/0000-0002-7875-3892
e-check, she writes the payee and the face value in-
formation to the check and digitally signs it. Early e-
check proposals (Chaum et al., 1990b; Chaum et al.,
1990a; Brands, 1993; Chen, 2005) require e-check
issuance before each payment which is a drawback,
since it requires the payer to run a protocol jointly
with the bank before each payment. However, e-
checks can be bundled into an e-checkbook as in the
paper check system.
Up to our knowledge, there are seven e-checkbook
schemes (Pasupathinathan et al., 2005; Chen et al.,
2009; Chang et al., 2009; Chen et al., 2010; Chang
et al., 2016; Sertkaya and Kalkar, 2019; Sertkaya and
Kalkar, 2021), that do not require e-check issuance
before each payment. As we stated earlier, consid-
ering the cost of paper check clearing / settlement
processes and the volume of money transferred by
checks, there is a need for a properly designed and
provably secure e-checkbook scheme. Analyzing the
vulnerabilities of the existing systems and figuring out
where they originate is the first step towards a secure
e-checkbook mechanism.
Related Work. Chaum (Chaum et al., 1990b) intro-
duced the idea of electronic check and proposed an
offline e-check system. Some examples of other e-
check mechanisms are (Chaum et al., 1990a; Brands,
1993; Chen, 2005; Katz and Lindell, 2014). How-
ever, all of the aforementioned propositions needs the
Sertkaya, I. and Kalkar, O.
Cryptanalysis of Some Electronic Checkbook Schemes.
DOI: 10.5220/0010981900003120
In Proceedings of the 8th International Conference on Information Systems Security and Privacy (ICISSP 2022), pages 603-612
ISBN: 978-989-758-553-1; ISSN: 2184-4356
Copyright
c
2022 by SCITEPRESS Science and Technology Publications, Lda. All rights reserved
603
payer to interact with the issuer bank for each and
every check issuance, hence they do not fully sim-
ulate paper-based checkbook system. In this paper,
we mainly consider the e-checkbook solutions and fo-
cus on the mechanisms that simulate the paper-based
checkbook system.
In 2005, following FSTC e-check scheme (An-
derson, 1998) and Check 21 Act (Check 21 Act,
2003), Pasupathinathan et al. highlighted privacy is-
sues in e-check schemes, and proposed the first e-
checkbook scheme PEEC, (Pasupathinathan et al.,
2005). In PEEC, at the end of the issuing phase,
the payer is given different Schnorr signatures (Katz
and Lindell, 2014) for each e-check by the issuing
bank. Following the e-check mechanism given in
(Chen, 2005), three e-checkbook schemes are pro-
posed. First, (Chen et al., 2009) modified the scheme
into an e-checkbook system where the e-checkbook
can be issued with only one signature of the issuer
bank. Next, (Chang et al., 2009) proposed another
version that enables e-checkbook issuance and mutu-
ally authenticated payment, but introduced time syn-
chronization issues. Lastly, (Chen et al., 2010) claims
to improve (Chang et al., 2009) computationally at
the cost of increasing number of protocol rounds in-
volving payer, payee and the issuer bank. (Chang
et al., 2016) gives another e-checkbook mechanism
based on elliptic curve cryptography. In the pursue
of designing secure e-checkbook scheme, the authors
proposed two e-checkbook schemes; (Sertkaya and
Kalkar, 2019) that satisfies mutual authentication of
the payer and the payee and more recently (Sertkaya
and Kalkar, 2021) that supports transferable e-checks
and satisfies anonymity property against eavesdrop-
per.
Our Contributions. In this study, we focus on
the security analysis of the previously proposed e-
checkbook schemes except (Sertkaya and Kalkar,
2019; Sertkaya and Kalkar, 2021).
More concretely, we show that PEEC does not sat-
isfy the correctness, anonymous identity and payment
unlinkability, CYLL is not secure against e-check ma-
nipulation and e-check forgery attacks, CCL is sus-
ceptible to e-check manipulation attack, CWL is vul-
nerable against e-check manipulation attack, CCW is
susceptible to e-check manipulation attack.
Organization. In Section 2, we define the e-
checkbook architecture and known attack types. We
analyze (Pasupathinathan et al., 2005), (Chen et al.,
2009), (Chang et al., 2009), (Chen et al., 2010), and
(Chang et al., 2016) in Sections 3, 4, 5, 6, and 7, re-
spectively. Finally, we discuss additional privacy con-
cerns and conclude the manuscript with Section 8.
2 DEFINITIONS AND SECURITY
NOTIONS
These entities involved in an e-checkbook have the
same roles as in the paper-check solutions.
Payer is an entity who has a registered account
with the issuer bank, wants to get an e-checkbook,
and use e-checks to make payments to another en-
tity.
Payee is an entity who received an e-check from
a Payer, wants to deposit this e-check to the
acquirer bank and waits for the corresponding
money transaction to be finalized.
Issuer is the bank of the Payer who issues the e-
checkbook to its registered users. In case of an
e-check presentment Issuer also initiates the ac-
tual money transfer from the Payer’s account to
the Payee’s account.
Acquirer is the bank who holds the Payee’s reg-
istered account and whenever a Payee presents an
e-check, Acquirer initiates inter-bank transactions
to finalize the actual money transfer.
For the sake of simplicity, we assume that the Is-
suer and the Acquirer banks are the same. We denote
the bank by B, the Payer by U, and the Payee by M.
An e-checkbook scheme consists of four phases;
namely Initializing, Issuing, Paying, and Depositing
phases.
Initializing. Given a security parameter, system en-
vironment, public parameters, private and public
key pair for each entity are generated.
Issuing. User U and the bank B create a valid e-
checkbook for U.
Paying. Upon agreeing on the date and amount
with M, the payer U creates an e-check and sends
it to M.
Depositing. Whenever a payee M receives an e-
check payment, she verifies its authenticity and
forwards to the bank B. After completing the nec-
essary controls, B deducts the amount from Us
account, transfers it to Ms account and informs
M.
2.1 Attack Types
e-checkbook Forgery. A malicious entity collects e-
checkbooks issued by B for different users and
creates a valid e-checkbook belonging to another
user as if it is issued by B.
ICISSP 2022 - 8th International Conference on Information Systems Security and Privacy
604
e-check Forgery. A malicious entity collects e-
checks originating from U up to i
th
e-check and
creates (i + 1)
th
e-check belonging to U.
e-check Manipulation. An adversary collects e-
checks originating from U up to i
th
e-check, in-
tercepts (i + 1)
th
e-check, and manipulates (i +
1)
th
e-check by combining parameters originating
from multiple checks.
Replay Attack. An adversary captures an e-check,
and re-sends as a valid e-check.
Double Spending Attack. A malicious payer spends
an e-check which is already spent.
E-check Linkability. Besides the payer, the payee
and the bank, an adversary deduces whether the
e-checks belong to a payer or a payee.
Core security requirements for an e-checkbook
scheme to avoid the mentioned attacks are correct-
ness, e-checkbook authentication, e-check authenti-
cation, e-check integrity, source authentication, and
e-check anonymity.
3 ANALYSIS OF PEEC SCHEME
PEEC scheme, proposed in (Pasupathinathan et al.,
2005), claims that it provides enhanced privacy by
allowing the payer to choose an anonymous identity
during a transaction which results in protection of
the payment details like payer’s account information
from merchants. We are going to show that PEEC
scheme does not satisfy the correctness, anonymous
identity and payment unlinkability properties.
3.1 PEEC Protocol
Initializing
1. B chooses a subgroup G
q
of prime order q of the
multiplicative group Z
p
where prime p satisfies
p = γq + 1 for some specified integer γ and se-
lects generators g
0
, g
1
, g
2
of G
q
. B fixes a colli-
sion resistant hash function H (·), generates her
secret key x
B
$
Z
q
and corresponding public
keys h = g
x
B
0
, h
1
= g
x
B
1
, h
2
= g
x
B
2
.
1
B publishes
system-wide public parameters
pp {p, q, H (·), g
0
, g
1
, g
2
, h, h
1
, h
2
}.
2. Each payer U initially registers with B for her ac-
count indexed with b
U
Z
q
, generates her public
key U g
x
U
1
where x
U
$
G
q
such that g
x
U
1
g
2
6=
1.
1
PEEC scheme does not utilize g
0
, h, and h
2
, but we
still included here for siding with the original proposal.
3. Similarly, each payee registers with B and obtains
a certified public key M g
x
M
1
where x
U
$
G
q
.
Issuing
1. U sends her public key U to B.
2. B randomly selects t,k, k
1
, k
2
, . . . , k
r
$
Z
q
where r
being the number of e-checks in the e-checkbook.
3. B computes digital token Y Uy with y g
t
1
,
and signature σ
Y
Y x
B
+ k (mod q) for Y .
4. Next, B generates each e-check indexed by i with
1 i r, and signs them, i.e. ω
i
H (Ug
b
U
g
i
)
and σ
ω
i
ω
i
x
B
+ k
i
(mod n).
5. For Us e-check post-processing, B stores
(Y,U, (ω
i
, σ
ω
i
)
1ir
, b
U
) in a database indexed by
Y .
6. B sends {t, y,Y,σ
Y
, (ω
i
, σ
ω
i
)
1ir
}
7. U verifies each signatures separately and then
stores
U
(t, y,Y, σ
Y
, (ω
i
, σ
ω
i
)
1ir
) as her e-
checkbook.
Paying
Assume that U has already spent up to i 1 e-checks
for some i < r, and is going to send i
th
e-check to M
upon his signed payment request with the date d, face
value a, and payee’s identity M.
1. U first selects s, w
$
Z
q
, computes anonymous
identity A Y
s
with A
1
U
s
and A
2
y
s
.
2. Next U prepares payment by computing o
H (d||M||a), v (x
U
s
2
t ox
U
s)s and σ
i
UM
ω
i
g
a
x
U
st + w (mod q).
3. U sends ω
i
UM
{v, A, A
1
, A
2
, o, ω
i
, σ
ω
i
,Y, σ
Y
, σ
i
UM
to M,
4. M verifies the signatures σ
ω
i
and σ
Y
, and validates
o
?
= H (d||M||a), A
?
= A
1
A
2
and A
?
= A
o
1
Y
v
.
Depositing
1. M chooses z
$
Z
q
, creates the signature
σ
o
ox
M
+ z (mod n) and sends the tuple
{d, M, a, v, A, A
1
, A
2
, o, ω
i
,Y, σ
Y
, σ
i
UM
, σ
o
}
2
to B.
2. B first validates o
?
= H (d||M||a) and then verifies
the signatures σ
Y
, σ
i
UM
and σ
o
.
3. B retrieves Us bank account number b
U
and his
original identity U, and e-check index i from the
database indexed by Y .
4. B verifies the identity of U, if she has enough
funds in her account for clearance, and i
th
e-check
is not already spent.
2
PEEC authors omitted σ
ω
i
, but it should be included
here, otherwise B has to keep records for it.
Cryptanalysis of Some Electronic Checkbook Schemes
605
5. Finally, if the verification is successful and suffi-
cient funds are available, B debits Us account and
credits Ms account.
.
3.2 PEEC Scheme Flaws
Even though the authors claim that they use Schnorr’s
signature scheme, the scheme utilizes Schnorr’s iden-
tification scheme, see (Pasupathinathan et al., 2005;
Katz and Lindell, 2014). In order to be able to suc-
cessfully perform signature verification, each signa-
ture σ should be sent with masked ephemeral key val-
ues, see (Katz and Lindell, 2014, Construction 12.12
on p. 458). Assuming this signature verification is
fixed, the scheme still suffers from the following is-
sues.
Correctness. Even if the payer and the payee hon-
estly follow the protocol, at the last step of Paying
phase, the necessary verification of A
?
= A
o
1
Y
v
that
should be pursued by the payee never holds since
g
ox
U
s
1
Y
(x
U
s
2
tox
U
s)s
6= Y
s
. Hence, the payee always
rejects the payment.
Anonymous identity. At the Issuing Phase, bank
sends t, y,Y together with the e-checks and the
signatures to the payer. Using these values, on
the contrary to the authors’ claims, one can eas-
ily construct payer’s public key U by computing
U Y y
1
. Hence, PEEC scheme does not satisfy
anonymous identity for the payer.
Payment unlinkability. At the Paying phase for
each e-check, the payer always includes the digi-
tal token and bank’s signature on the token (Y, σ
Y
)
within the sent tuple. Hence, just by checking
these values, e-check payments of the same payer
will naturally be distinguished and linked.
4 ANALYSIS OF CYLL SCHEME
4.1 CYLL Protocol
The protocol assumes that B keeps user accounts as a
number b with 1 b k. w is defined as the maximal
face value of an e-check, and r is the number of
e-checks in the e-checkbook.
Initializing
1. B chooses a one-way hash function H (·), gen-
erates two large primes p and q and computes
n = pq. B selects a public key e and computes
d such that e · d = 1 (mod φ(n)), keeps x
B
(p, q, d) as secret, and publishes public parame-
ters pp (n, e, H (·)).
Issuing
1. U first generates four random numbers
x
1
, x
2
, x
3
, x
4
.
2. U computes
m H
w
(x
1
)||H
w
(x
2
)||H
k
(x
3
)||H
k
(x
4
)
and α H
r
(m) (mod n) and sends {α, r} to B.
3. B computes σ
α
α
d
(mod n) and sends σ
α
to U.
4. U checks σ
e
α
(mod n) H
r
(m) (mod n) holds,
if so, stores
U
= (m, σ
α
, r,x
1
, x
2
, x
3
, x
4
) as the e-
checkbook.
Paying
Assume that U has used i 1 (i < r) e-checks and
wants to attach a face value a for the payee M with
account number b
M
to the e-check for the i
th
time.
1. U computes β
1
H
a
(x
1
), β
2
H
wa
(x
2
), β
3
H
b
M
(x
3
), β
4
H
kb
M
(x
4
) and H
ri
(m).
2. U sends the e-check ω
i
to M, where
ω
i
= (a, b
M
, σ
α
, H
ri
(m), r, i, β
1
, β
2
, β
3
, β
4
).
Depositing
1. M verifies the signatures, i.e,
σ
e
α
(mod n) H
r
(H
wa
(β
1
)||H
a
(β
2
)||
H
kb
M
(β
3
)||H
b
M
(β
4
)) (mod n)
and
σ
e
α
(mod n) H
i
(H
ri
(m)) (mod n).
2. M sends ω
i
to B for double-spending check.
3. B first verifies the signatures as in Step 1.
4. B deducts the amount a from Us bank account b
U
,
adds it into the Ms account b
M
, and informs M if
no spend records has been found.
4.2 Attacks on CYLL Scheme
e-check Forgeability. T.-H. Chen et al. claim that
even if an attacker is in possession of a previ-
ously paid i
th
e-check ω
i
, she can not forge the
next e-check and CYLL scheme is secure against
e-check forgeability attacks”, (see (Chen et al.,
2009, Section IV B.2 Unforgeability of e-check)).
Unfortunately, this is not true. Based on the same
assumption, we now show how an attacker A who
passively intercepts this payment or a malicious
payee who gets the payment can forge the next
e-check by following the steps given below.
ICISSP 2022 - 8th International Conference on Information Systems Security and Privacy
606
1. With the knowledge of w, a, b
M
, k; A computes
H
wa
(β
1
), H
a
(β
2
), H
kb
M
(β
3
), H
b
M
(β
4
).
2. Now, A can re-construct m as
m = H
wa
(β
1
)||H
a
(β
2
)||H
kb
M
(β
3
)||H
b
M
(β
4
)
= H
w
(x
1
)||H
w
(x
2
)||H
k
(x
3
)||H
k
(x
4
)
3. A computes H
(r(i+1))
(m) which is necessary
for (i + 1)
th
e-check.
4. A sends (a, b
M
, σ
α
, H
(r(i+1))
(m), r, (i + 1),
β
1
, β
2
, β
3
, β
4
), as the (i + 1)
th
e-check ω
i+1
to
B, pretending it is a payment from U to M.
5. B can assure the validity of this forged e-check
since the following hold:
σ
e
α
(mod n) H
r
(H
wa
(β
1
)||H
a
(β
2
)||
H
kb
M
(β
3
)||H
b
M
(β
4
)) (mod n),
σ
e
α
(mod n) H
i+1
(H
(r(i+1))
(m)) (mod n) .
6. B deducts the amount a from Us account b
U
,
adds it into the Ms account b
M
, and informs M
since no records have found.
This attack shows that an attacker who has the i
th
e-check is capable of forging the (i + 1)
th
e-check
to the same payee with the same amount. In fact
the attacker can forge all the remaining e-checks
to the same payee with the same amount.
E-check Manipulation. Consider that in addition
to i
th
e-check, an attacker also has j
th
, j < i, e-
check with the face value greater than the i
th
e-
check’s face value. Then by combining these,
the attacker can manipulate (i + 1)
th
e-check to
the payee in i
th
e-check with the face value in j
th
e-check. Hence, this scheme is also not secure
against e-check manipulation.
A secure version of CYLL scheme is given by the
authors in (Sertkaya and Kalkar, 2019).
5 ANALYSIS OF CCL SCHEME
Similar to (Chen et al., 2009), CCL scheme focuses
on converting W.-K Chen’s e-check scheme into an e-
checkbook scheme with mutual authentication. In or-
der to do that, this scheme uses a symmetric key cryp-
tosystem (E
key
(·), D
key
(·)), RSA-based digital signa-
tures, RSA-based blind signatures and timestamps,
(Chang et al., 2009).
5.1 CCL Protocol
This scheme is originally given in only two phases,
namely Registration and Paying, in order to be
consistent with other sections, here we split them
into Initializing, Issuing, Paying and Depositing phases.
Initializing
1. B chooses a one-way hash function H (·).
2. B generates two large primes p and q and com-
putes n = pq.
3. B selects a public key e and computes d such that
e · d = 1 (mod φ(n)),
4. B keeps x
B
(p, q, d) as secret, and publishes
public parameters pp (n, e, H (·)).
Issuing
After U registers with the bank B by creating her
own public-private key pair (pk
U
, sk
U
) and sharing the
public key with the bank, where pk
U
= (n
U
, e
U
) and
sk
U
= (p
U
, q
U
, d
U
), U and B follow the Issuing Phase.
1. U randomly chooses a secret integer x
1
.
2. U computes m = H (U||H
w
(x
1
)) and α = H (m).
3. U sends {U, α} to B.
4. B verifies the identity U. computes α
0
H
r
(m)
(mod n), σ
α
0
(α
0
)
d
(mod n) and sends {σ
α
0
, r}
to U.
5. U verifies the integrity of the message by check-
ing whether (σ
α
0
)
e
(mod n) H
r
(m) (mod n)
or not. If it holds, U stores the e-checkbook
U
= (m, σ
α
0
, r).
3
Paying
Assume that U used i 1 (i < r) e-checks and wants
to attach a face value a (a < w) for the payee M.
1. U randomly chooses two integers R and b, and
computes k R
e
M
b (mod n
M
), where pk
M
=
(e
M
, n
M
) is the public key of the payee M.
2. U sends k to M.
3. M computes k
0
k
d
M
Rb
d
M
(mod n
M
), where
d
M
is the private key of M. Then, M sends k
0
to U.
4. U computes M k
0
R
1
b
d
M
(mod n
M
), C
1
H
wa
(x
1
) M and C
2
E
ck
(i||T ), where E
ck
(·)
is a symmetric encryption with the secret key ck
shared between U and B, and T is the current time-
stamp.
3
x
1
should also be included in e-checkbook, since it will
be needed in each Paying phase.
Cryptanalysis of Some Electronic Checkbook Schemes
607
5. U checks if b M
e
M
(mod n
M
) holds. If
it is not valid, U terminates the transac-
tion; otherwise, U sends the e-check ω
i
(U, B, a, b, r, σ
α
0
,C
1
,C
2
, T ) to M.
Depositing
1. M verifies the integrity of ω
i
= (U, M, a,
b, r,σ
α
0
,C
1
,C
2
, T ) by checking whether
(σ
α
0
)
e
H
r
(H (U||H
a
(C
1
b
d
M
))) (mod n)
holds. If the equation holds, M sends ω
i
to B for
double-spending control; otherwise, the check is
rejected.
2. B checks if ω
i
is already recorded in the database
as spent e-check. If it is so, B rejects the e-check;
otherwise, the phase continues.
3. B rejects the e-check if a is greater than the payer
Us deposit in the bank; otherwise, the phase con-
tinues.
4. B records the message receiving time as time-
stamp T
0
. Then, B computes i||T = D
ck
(C
2
),
checks whether (T
0
T ) is in acceptable valid
time interval. If it is not so, the e-check is rejected.
5. B verifies the e-check by computing
(σ
α
0
)
e
H
i
(H
ri
(m)) (mod n).
4
If it holds, B deducts the amount a from Us ac-
count b
U
and adds it into Ms account b
M
.
5.2 Flaws of CCL Protocol
Here, we first point out a few inconsistencies and then
we show that CCL scheme is not resistant against e-
check manipulation attack even if these inconsisten-
cies are corrected.
First, please note that (Chang et al., 2009) states
that (U, B, a, b, r, σ
α
0
,C
1
,C
2
, T )-tuple is transmit-
ted as e-check, which should be in fact
(U, M, a, b, r, σ
α
0
,C
1
,C
2
, T ),
otherwise B can not know who the payee M is.
Furthermore, at the Depositing phase, the authors
claim that B verifies the e-check by computing
(σ
α
0
)
e
?
= H
i
(H
ri
(m)),
but B knows neither m nor H
ri
(m). Therefore, U
should compute H
ri
(m) and send the e-check
ω
i
(U, M, a, b, r, σ
α
0
,C
1
,C
2
, T, H
ri
(m))
to M and M should send this tuple to B.
4
B did not receive H
ri
(m), hence can not verify this
step, refer to next section.
E-check Manipulation. Suppose an adversary A
has
ω
i
= (U, M, a
i
, b
i
, r,σ
α
0
,C
i
1
,C
i
2
, T
i
, H
ri
(m)),
for some i with i < r.
1. A tracks and captures Us (i + 1)
th
e-check
(U, M
0
, a
i+1
, b
i+1
, j, σ
α
0
,C
i+1
1
,C
i+1
2
,
T
i+1
, H
j(i+1)
(m))
and blocks this e-check transmission that is
meant to be a payment to a different payee M’.
2. A create the manipulated e-check ω
0
as if it is
Us (i + 1)
th
e-check with the following tuple.
(U, M, a
i
, b
i
, r,σ
α
0
,C
i
1
,C
i+1
2
, T
i+1
, H
r(i+1)
(m))
Note that r, σ
α
0
are constant for each e-check
that belongs to U, T
i+1
, H
r(i+1)
(m) are known
from ω
i+1
, and M, a
i
, b
i
,C
i
1
, are gathered from
ω
i
.
3. Within an acceptable time frame, A sends ω
0
to
B.
4. B records time-stamp T
0
, verifies that ω
0
is not
already recorded and U has enough balance in
the registered account.
5. B decrypts C
i+1
2
and gets
(i + 1)||T
i+1
= D
ck
(E
ck
((i + 1)||T
i+1
))
and checks time interval T
0
T
i+1
is accept-
able.
6. B verifies the signature by checking
(σ
α
0
)
e
?
H
(i+1)
(H
r(i+1)
(m)) (mod n).
7. B deducts the amount a
i
from Us account b
U
,
adds it into Ms account b
M
, and informs A.
Including the H
ji
(m) value in each i
th
e-check
tuple prevents e-check forgery. In order to resist e-
check manipulation, payer should also compute C
i
2
as
C
i
2
= E
ck
(i||a
i
||b
i
||M||T
i
) to bind the amount value a,
random value b, and payee identity M which results in
integrity assurance. However, even if these fixes are
applied, the scheme would still fail to satisfy e-check
anonymity requirement.
6 ANALYSIS OF CWL SCHEME
C.-L. Chen et al. claim that CCL scheme has some
shortages such as time synchronizing issue and large
computation overhead, (Chen et al., 2010). CWL
scheme is proposed based on CCL and given in two
phases, namely Registration and Paying.
ICISSP 2022 - 8th International Conference on Information Systems Security and Privacy
608
6.1 CWL Protocol
In order to be consistent, here we again split the pro-
tocol into Initializing, Issuing, Paying and Depositing.
This scheme requires setting a maximum value W for
the e-checkbook at the issuance phase which is used
to make sure that the total face values of the e-checks
belonging to the same e-checkbook does not exceed
W .
Initializing
1. B chooses a one-way hash function H (·).
2. B generates two large primes p and q and com-
putes n = pq.
3. B selects a public key e and computes d such that
e · d = 1 (mod φ(n)),
4. B keeps x
B
(p, q, d) as secret, and publishes
public parameters pp (n, e, H (·)).
Issuing
1. A payer registers with her identity U to a bank B,
and shares a symmetric key ck
U
for the symmetric
encryption scheme E over a secure channel.
2. B generates an identity CID
U
= H (U d) with
some random value d, computes α = H (U
W r), and creates an e-checkbook ω
U
{r,α, σ
CID
U
,W }.
3. B stores {U,CID
U
, ck
U
} and sends
(CID
U
, r,α, σ
CID
U
,W ) to U over a secure
channel.
Paying
1. U chooses R, b, N
1
, N
2
, computes k R
pk
M
(b
N
1
) (mod n
M
) where (n
M
, pk
M
) being Ms RSA
public keys, and sends k to M for signing blindly.
2. M computes k
0
k
sk
M
(mod n
M
) and sends k
0
to
U.
3. U computes M k
0
R
1
= (b N
1
)
sk
M
(mod n
M
), C
1
= H (CID
U
a M) and
C
2
= E
ck
U
(r||a||N
2
) σ
CID
U
.
4. U sends (C
1
,C
2
, a, b, N
1
, N
2
,CID
U
, B) to M.
Depositing
1. M verifies C
1
?
= H (CID
U
a ((b N
1
)
sk
M
(mod n
M
)))) and sends (C
2
, a, N
2
,CID
U
) to B
over a secure channel.
2. B computes
( j, a, N
2
) D
ck
U
(C
2
(CID
sk
B
U
(mod n
B
)))),
and checks if ( j, a, N
2
) is already stored in Bs
spent e-check database. If so B rejects e-check,
otherwise stores ( j, a, N
2
) as spent e-check.
3. B updates and assures remaining balance W
new
=
W a 0, remaining unspent e-checks number
r
new
= r 1 0 and α
new
= H (CID
U
W
new
r
new
) accordingly.
4. If all controls pass, B accepts the e-check,
deducts the amount a from Us account, adds
it into Ms account, computes V
1
= (B N
2
)
sk
B
(mod n
B
), V
2
= (W
new
r
new
N
3
)
pk
M
(mod n
M
)
for a random N
3
, and returns (V
1
,V
2
) to M and
(α
new
,W
new
, r
new
, N
3
) to U over a secure channel.
5. M verifies V
pk
B
1
(mod n
B
)
?
(B N
2
), computes
V
4
= H (V
sk
M
2
(mod n
M
)) and sends V
4
to U.
6. U verifies V
4
?
= H (W
new
r
new
N
3
and α
new
?
=
H (CID
U
W
new
r
new
).
6.2 Flaws of CWL Scheme
The authors of CWL scheme claim that their scheme is
secure against e-check forgery attack, see (Chen et al.,
2010, Section 5.2: The forgery attack issue). The rea-
soning is based on the secrecy of ck
U
which is the
secret key of the symmetric-key encryption scheme E
shared between U and B.
As authors describe in (Chen et al., 2010); the reg-
istration phase, payee’s depositing request to B, and
Bs final response are carried over a secure channel
while rest of the communications are transmitted over
an insecure channel. We now give an e-check manip-
ulation attack which is similar to the given in Section
5.2.
1. An adversary A keeps track of Us transactions,
records the tuple (C
1
,C
2
, a, b, N
1
, N
2
,CID
U
, B)
and blocks the e-check transmission that is meant
to be a payment from the payer U to a payee M.
2. A sends (CID
U
, N
2
, a,C
2
) to B as if it is a payment
for herself over a secure channel.
3. As the (CID
U
, N
2
, a,C
2
)-tuple is created by U, B
accepts the e-check, deducts the amount a from
Us account, adds it into the As account, com-
putes
V
1
= (B N
2
)
sk
B
, V
2
= (W
new
r
new
N
3
)
pk
A
,
and returns (V
1
,V
2
) to A and (α
new
,W
new
, r
new
, N
3
)
to U.
4. A computes V
4
= H (V
sk
A
2
) and sends V
4
to U.
5. A can prove validity of the forged e-check by pre-
senting the tuple (C
0
1
,C
2
, a, b
0
, N
0
1
, N
2
,CID
U
, B),
where C
0
1
= H (CID
U
a (b
0
N
0
1
)
sk
A
) for some
randomly chosen b
0
, N
0
1
.
Cryptanalysis of Some Electronic Checkbook Schemes
609
In order to resist this attack, a payer U should com-
pute C
2
= E
ck
U
(r||a||b||ID
M
||N
2
||H (C
1
)) r
CID
U
,
and send (C
1
,C
2
, a, b, N
1
, N
2
,CID
U
, B) to the payee
M. M should also include C
1
to the tuple she sends
to B after verifying
C
1
?
= H (CID
U
a ((b N
1
)
sk
M
(mod n
M
))).
When B receives (C
0
1
,C
2
, a, N
2
,CID
U
), computes
( j, a, b, ID
M
, N
2
, H (C
1
)) D
ck
U
(C
2
(CID
sk
B
U
(mod n
B
)))
and checks if H (C
1
) = H (C
0
1
). Rest of the depositing
phase follows the same.
However, even if this fix is applied, the scheme
does not fulfill the e-check anonymity requirement.
7 ANALYSIS OF CCW SCHEME
C.-L. Chang et al. proposed CCW e-checkbook
scheme that utilizes elliptic curve cryptography,
(Chang et al., 2016).
7.1 CCW Protocol
CCW scheme is proposed in two phases, namely Ini-
tialization and Paying. We split the protocol into
Initializing, Issuing, Paying and Depositing. In this
scheme, maximum amount w that can be spent with
an e-check needs to be determined at the issuance
phase.
Initializing
1. Let E
p
be an elliptic curve points group over a
finite field of characteristic p and hQi E
p
be a
subgroup of order n.
2. Let h
1
and h
2
be one-way hash functions.
3. Bank B, the payer C and the payee M creates the
private keys by randomly selecting b, c, m Z
n
and set public keys B
pub
= bQ, C
pub
= cQ and
M
pub
= mQ, respectively.
Issuing
1. A payer C registers with her identity ID
C
to a bank
B,
2. C chooses k Z
n
and computes K = kQ, both are
kept secret.
3. C sends (ID
C
, h
2
(wK)) to B for e-checkbook is-
suance.
4. B randomly chooses t
B
Z
n
, computes T
B
=
t
B
Q, sets r = x
T
B
(mod n) where x
T
B
is the x-
coordinate of the point T
B
and creates a virtual
identity V ID
c
= h
1
(t
B
) ID
C
.
5. B then simultaneously computes
e = h
1
(V ID
c
kh
2
(wK)), s = t
1
B
(h
2
(e jQ) + rb) ,
H
0
= h
1
(t
B
) h
2
bC
pub
,
where j is the number of e-checks in the e-
checkbook.
6. B sends (V ID
C
, (r,s), j, H
0
) as e-checkbook where
(r,s) being its signature on the e-checkbook.
7. Upon receiving the e-checkbook ω
C
, C com-
putes V ID
C
= H
0
h
2
(cB) ID
C
and e =
h
1
(V ID
c
kh
2
(wK)), verifies the signature and
stores the e-checkbook as (V ID
C
, (r,s), j, e).
Paying
1. C randomly selects t
C
Z
n
and hashes h
1
(t
C
) to a
point X E
p
.
2. C computes C
C
=
t
C
Q, X +t
C
M
pub
= (X
1
,Y
1
)
and sends C
C
to M.
3. M retrieves X by computing X = Y
1
mX
1
, con-
verts X to h
1
(t
C
) and hashes h
2
1
(t
C
) = h
1
(h
1
(t
C
))
to a point Y E
p
.
4. By selecting a random t
M
Z
n
, M computes C
M
=
(t
M
Q, (Y + t
M
h
1
(t
c
)Q)) = (X
2
,Y
2
) and send C
M
to
the payee C.
5. Upon receiving C
M
, similarly C retrieves Y =
Y
2
h
1
(t
C
)X
2
and checks the validity with h
1
(t
C
),
otherwise terminates.
6. If validity holds, C computes
F = (w a)K +t
c
X
2
, H
1
= h
2
cB
pub
i,
H
2
= h
2
cB
pub
T
C
H
3
= aK = akQ
where a w is the amount, i is the number of e-
checkbook has been used, T
C
is the timestamp.
7. C sends (V ID
C
, ID
B
, a, j, (r, s), F, H
1
, H
2
, H
3
, T
C
)
as the i-th e-check to the payee M.
Depositing
1. Upon receiving an e-check payment
(V ID
C
, ID
B
, a, j, (r, s), F, H
1
, H
2
, H
3
, T
C
),
M first retrieves (wa)K = F t
M
X
1
and by using
(w a)K and H
3
, computes
(x
2
, y
2
) (h
2
(h
1
(V ID
c
kh
2
((w a)K + H
3
)) jQ)
Q + rB
pub
)s
1
.
2. Next, M verifies r
?
= x
2
(mod n).
3. If the equation holds, the M sends
(V ID
C
, ID
B
, a, j, (r, s), F, H
1
, H
2
, H
3
, T
C
) to the B.
ICISSP 2022 - 8th International Conference on Information Systems Security and Privacy
610
4. B retrieves Cs identity ID
C
from V ID
C
, verifies
C’s account balance is enough for depositing.
5. B obtains i and T
C
by computing
i = H
1
h
2
(bC
pub
) and T
C
= H
2
h
2
(bC
pub
).
6. Then, B verifies whether the timestamp T
C
is
within a legal time interval. If it is not, the e-check
is rejected; otherwise, the procedure continues.
7. Next, B computes
(h
2
(e(( j i)Q + iQ))Q + rB
pub
)s
1
= (x
3
, y
3
)
to determine whether the equation r
?
= x
2
(mod n)
holds or not.
8. If the equation holds, B deducts the amount a from
Cs account and adds it into Ms amount.
9. Finally B notifies both C and M.
7.2 Flaws of CCW Scheme
Here, we give an e-check manipulation attack which
is similar to the given in Section 5.2. As already men-
tioned, at the payment phase, the payer first authenti-
cates the payee and then sends the following tuple as
the i-th e-check to the payee.
(VID
C
, ID
B
, a, j, (r, s), F, H
1
, H
2
, H
3
, T
C
),
where VID
c
is the payer’s virtual identity, ID
B
is ID of
the bank, a is the amount, (a w, w max. amount), j
is maximum number of e-checks in the e-checkbook,
(r,s) is bank’s signature on payer’s e-checkbook,T
C
is
timestamp,
F := (w a)K +t
c
X
2
, H
1
:= h
2
(cB
pub
) i,
H
2
:= h
2
(cB
pub
) T
C
, H
3
:= aK = akQ.
As it can be noticed easily, changing the amount
value a requires changing F and H
3
values. By com-
puting
H
0
3
= zH
3
= zaK, and
F
0
= F (z 1)H
3
= (w a)K +t
c
X
2
(z 1)aK
= (w za)K +t
c
X
2
,
one can manipulate the e-check tuple as
(VID
C
, ID
B
, za, j, (r, s), F
0
, H
1
, H
2
, H
0
3
, T
C
), for
any a < za w. As a result, instead of a, the amount
za will be deducted from the payers account.
In fact, in a similar way, the e-check index i value
can also be altered by letting H
0
1
= H
1
l such that
i < i + l j.
In any e-checkbook scheme, integrity of the e-
check index, amount and payee information should be
satisfied. In this scheme, unfortunately, none of them
is assured.
8 CONCLUSION
Although the volume of money transferred by checks
is high, surprisingly there is not much mechanisms
aim to transform the checkbook systems into fully
digitalized e-checkbook systems. In this work,
we analyzed security of the previously proposed e-
checkbook schemes (Pasupathinathan et al., 2005;
Chen et al., 2009; Chang et al., 2009; Chen et al.,
2010; Chang et al., 2016) and showed that these
propositions do not satisfy their claimed security by
presenting practical attacks on each of them. These
e-check forgery and/or e-check manipulation attacks
can be evaded by assuring integrity and authenticity
of the e-check index, the amount and the payee. Even
if the corrections given in respective sections are ap-
plied, these schemes would still suffer efficiency and
privacy-wise since they do not possess appropriate
privacy preserving cryptographic building blocks for
payment unlinkability and anonymity.
REFERENCES
Anderson, M. M. (1998). The Electronic Check Architec-
ture. Technical report, Financial Services Technology
Consortium.
Brands, S. (1993). An Efficient Off-line Electronic
Cash System Based On The Representation Problem.
Technical report, Centrum Wiskunde & Informatica
(CWI).
Chan, N. (2015). e-Cheque: A new era of payments in Hong
Kong.
Chang, C.-C., Chang, S.-C., and Lee, J.-S. (2009). An on-
line electronic check system with mutual authentica-
tion. Computers & Electrical Engineering, 35(5):757
– 763.
Chang, C.-C., Chang, S.-C., and Wu, Y.-C. (2016). Novel
electronic check mechanism using elliptic curve cryp-
tosystem. Journal of Computers, 27(3):111–122.
Chaum, D., den Boer, B., van Heyst, E., Mjølsnes, S.,
and Steenbeek, A. (1990a). Efficient offline elec-
tronic checks. In EUROCRYPT ’89, pages 294–301.
Springer.
Chaum, D., Fiat, A., and Naor, M. (1990b). Untraceable
electronic cash. In CRYPTO’ 88, pages 319–327.
Springer.
Check 21 Act (2003). The Check Clearing for the 21st Cen-
tury Act (Check 21).
Chen, C.-L., Wu, C.-H., and Lin, W.-C. (2010). Improv-
ing an on-line electronic check system with mutual
authentication. In AIT 2010.
Chen, T.-H., Yeh, S.-C., Liao, K.-C., and Lee, W.-B.
(2009). A practical and efficient electronic checkbook.
Journal of Organizational Computing and Electronic
Commerce, 19(4):285–293.
Cryptanalysis of Some Electronic Checkbook Schemes
611
Chen, W.-K. (2005). Efficient on-line electronic checks.
Applied Mathematics and Computation, 162(3):1259
– 1263.
Katz, J. and Lindell, Y. (2014). Introduction to Modern
Cryptography. Chapman & Hall/CRC, 2nd edition.
Pasupathinathan, V., Pieprzyk, J., and Wang, H. (2005). Pri-
vacy enhanced electronic cheque system. In 7th IEEE
International Conference on E-Commerce Technology
(CEC’05), pages 431–434.
Sertkaya, I. and Kalkar, O. (2019). An efficient electronic
checkbook scheme with mutual authentication. Suley-
man Demirel University Journal of Natural and Ap-
plied Sciences, pages 590 – 596.
Sertkaya, I. and Kalkar, O. (2021). A privacy enhanced
transferable electronic checkbook scheme. Wireless
Personal Communications, pages 1–27.
ICISSP 2022 - 8th International Conference on Information Systems Security and Privacy
612