that purpose, we divided AIS messages into two cat-
egories. Non-critical AIS messages are position re-
ports and static voyage data sent periodically. Those
messages should only be signed once for each S
e
mes-
sage sent by each AIS emitter, where S
e
is a security
parameter that must be determined. The other mes-
sages are considered critical, and should always be
signed. We identified messages of types 6 through
14, 16, 21, 22, 23, 25, 26, and 27 as critical. The
other ones are considered non-critical. The author of
(Last et al., 2014b) determined that non-critical mes-
sages represent about 97.35% of all AIS messages.
An analysis of an AIS sample available on the aishub
platform confirmed this number. If we assume that
most messages only use one emission slot (which is
usually the case for non-critical messages), then the
overload factor α is given by the equation 1, where
p is the proportion of non-critical messages and S
e
is
the security parameter.
α = 4 − 3p(1 −
1
S
e
) (1)
This means that if the AIS network load is L
i
before
authentication, the network load after signing is L
f
=
αL
i
, where the load ratio between used and unused
emission slots. Table 3 shows the final load L
f
given
S
e
and L
i
for p = 0.9735.
Table 3: Final AIS load given initial load and S
e
, for p =
0.9735. Red cells are above 100%.
S
e
50 30 20 15 10 5
α
1,14 1,18 1,23 1,27 1,37 1,66
L
i
(%)
L
f
(%)
1 1,14 1,18 1,23 1,27 1,37 1,66
12 13,65 14,12 14,71 15,29 16,46 19,96
23 26,17 27,07 28,19 29,31 31,55 38,26
34 38,69 40,01 41,67 43,32 46,63 56,56
45 51,21 52,96 55,15 57,34 61,72 74,86
56 63,72 65,90 68,63 71,36 76,81 93,16
67 76,24 78,85 82,11 85,37 91,89 111,46
78 88,76 91,79 95,59 99,39 106,98 129,76
89 101,27 104,74 109,07 113,40 122,07 148,06
100 113,79 117,69 122,55 127,42 137,16 166,36
This table shows that a value of S
e
= 10 should
be suited for most cases, even though a very crowded
area should probably use a higher value to guarantee
AIS network integrity.
4.2.3 Signature and Message Linking
Since signatures are sent separately from their mes-
sages, we need to find a way to link a signature to its
message. We decided to compute a message identi-
fier for each message using the first four bytes of its
SHA-1 hash. This 4 bytes identifier is sent with each
signature. Thus, when a user receives a message, it
calculates its identifier and saves it in a buffer. Upon
receiving the corresponding signature, the user can re-
trieve the message and verify its authenticity.
4.2.4 Replay Attack Protection
To prevent replay attacks on our authentication
scheme, we include a 32-bit UNIX timestamp t in the
computation of a message’s signature σ, as shown in
Equation 2.
σ = sign(SHA1(m|t)) (2)
This timestamp will be sent along with the signature
and the message identifier to allow receivers to verify
that the signature has not been generated more than a
security threshold t
h
before its reception.
4.2.5 Public Key Repository
A downside of CLC compared to IBC is that public
keys cannot be directly derived from a user’s identity
and thus have to be sent along with a signature. We al-
ready assessed that the AIS network was just flexible
enough to allow the sending of a few signatures, but
could not stand the systematic sending of public keys.
Therefore, we decided to use a public key repository,
maintained by the KGC. This public key repository
contains all the public keys of all registered users and
should be downloaded over the internet while ships
are in port. Thanks to the cryptographic properties of
CLC, this directory does not create a security hole.
Even if an attacker were to compromise and modify
it, he would not be able to impersonate a user by re-
placing a user’s key with his own or pretending to be
a legitimate user by inserting his public key.
4.3 Solution Architecture
Several actors are involved in our solution. They are
differentiated into two categories: the administrators,
who do not use the protocol directly but participate
in its operation, and the users of the protocol. The
administrators are divided as follows:
• The lead organization (LO) This entity acts as the
KGC’s administrative center. It verifies that re-
quests are correct and that an already-registered
MMSI is not the subject of new requests. As with
KGC, the LO creates partial keys for legitimate
users. It is also in charge of maintaining the pub-
lic key repository and the revocation list.
• Intermediate Organizations (IOs). These entities,
located in the various participating countries, are
intended to verify the legitimacy of registration re-
quests. Their role is to reduce the administrative
load of the LO. They must, under local legislation,
SECRYPT 2023 - 20th International Conference on Security and Cryptography
52