ceived from S, msg, corresponds to the encryption
{msg}
K
received from the exit node. Also, σ
3
must
be a valid group signature over σ
2
. Finally, the exit
node may be required to prove that it knows the dis-
crete logarithm y
2
of g
x
2
y
2
to the base g
x
2
. If these
checks succeed, then either:
• σ
2
is not a valid group signature over g
x
2
, or it is
a valid group signature, but issued by a revoked
user: then
EN
misbehaved. In this case,
RA
opens
σ
3
and proceeds according to some defined policy
for misbehaving entry nodes.
• σ
2
is a valid group signature over g
x
2
, issued by
an unrevoked user: then
RA
opens it and revokes
the associated user.
Subsequent attempts by
U
i
to establish a circuit
would be blocked by
EN
, since the member key of
U
i
has been revoked. Also, the pieces of information
needed to denounce a user could be stored temporar-
ily by
EX
, or sent to S. In the former case, if S wants
to denounce a misbehavior and
EX
does not have a
copy of the required data, then
EX
misbehaved (poli-
cies for how much time
EX
is required to store the data
should be defined). In the latter case,
EX
should just
send this data to S. Even if malicious
EN
or
EX
nodes
share with malicious users the group signatures ob-
tained from honest users, the malicious users cannot
re-generate valid zero-knowledge proofs. This will
lead to the detection of dishonest
EN
and
EX
nodes,
and their revocation.
5 OPEN ISSUES
In Section 4 we use generic definitions of the building
blocks. The analysis of which specific variants should
be employed is left as future work. This is a very
delicate decision, since different options offer differ-
ent privacy properties. Moreover, we may even need
different schemes depending on who issues the signa-
tures (group signatures are issued both by users and
entry points in our proposal). Given the sensitivity of
the information managed by Tor, this is an issue that
needs to be studied in depth. For that matter, the ex-
tensible group signatures library
libgroupsig
Diaz
et al. (2015) may offer interesting features. Concern-
ing blind signatures, it would probably be necessary
to use some of its variants to prevent circumventing
the controls explaining above. Namely, with the pre-
vious bare scheme, a user could use the same blind
signature indefinitely. This may simply be solved by
using partially blind signatures, having the entry node
introduce a lifetime value for the blind signature as
common message. Of course, future work comprises
the formal definition of the security model of our pro-
posal and the verification of its security claims.
Finally, note that Sybil attacks are partly ad-
dressed by forcing users to use the same member
key for the group signature sent to the entry node
and for the group signature sent to the exit node
(and having the latter to be blindly signed by the en-
try node). However, since this setting requires dy-
namic groups, some additional mechanism should be
included for preventing users from arbitrarily gener-
ating new member keys. Since asking users to reg-
ister may not be well received (it may be seem as
a threat to anonymity), requesting them to perform
some proof of work Dwork and Naor (1992) during
the generation of the member keys may be a good al-
ternative. Following this line of trying to reduce the
trust users would need to place in a system that, by
introducing accountability, can be at most as anony-
mous as a fully anonymous sytem, we can include se-
cret sharing techniques to divide the capability of user
revocation among several authorities Benjumea et al.
(2008). Furthermore, it would be possible to incorpo-
rate contractual anonymity (or objective blacklisting)
techniques, to prevent certain unjustified revocations
Schwartz et al. (2010).
5.1 Efficiency
Concerning the efficiency of the proposed scheme,
it is reasonable to ask whether or not the additional
cryptographic operations would incur in an accept-
able cost. This is obviously a relevant future line of
work. However, note that the additional operations
need to be executed only once each time a circuit is es-
tablished
4
, which only occurs every 10 minutes. The
proposed extension requires the user to compute two
group signatures, a ZK proof and interact with the
entry node for issuing a blind group signature. The
entry and exit nodes verify one and two group sig-
natures, respectively. According to the experiments
done in Diaz et al. (2015), sign and verify operations
of traceable group signatures take approximately 0.05
seconds with ECC-based keys of up 256 bits. Thus,
the overload associated to group signatures should not
take more than 0.3 seconds per circuit. For the ZK
proof and blind part of the blind group signature we
have not found experimental measurements, but it is
likely to be in the same order. Thus, the additional
cost seems quite bearable.
4
Excluding the operations for setting up the group of users
and generation of group member keys, but these are ex-
pected to occur very infrequently.