Download ASLan++ specification and tutorial

Transcript
D2.3 (update): ASLan++ specification and tutorial
“OO-style” notation
ActorP->send(B,M)
ActorP->receive(B,M)
ActorP->send(B,M)
ActorP->receive(B,M)
ActorP->send(B,M)
ActorP->receive(B,M)
ActorP->send(B,M)
ActorP->receive(B,M)
ActorP->send(B,M)
ActorP->receive(B,M)
ActorP->send(B,M)
ActorP->receive(B,M)
over
over
over
over
over
over
over
over
over
over
authCh
authCh
confCh
confCh
secCh
secCh
fresh_authCh
fresh_authCh
fresh_secCh
fresh_secCh
101/190
Annotated channels notation
ActorP -> B: M
B -> ActorP: M
ActorP *-> B: M
B *-> ActorP: M
ActorP ->* B: M
B ->* ActorP: M
ActorP *->* B: M
B *->* ActorP: M
ActorP *->> B: M
B *->> ActorP: M
ActorP *->>* B: M
B *->>* ActorP: M
Table 1: Channel notations in ASLan++ for CCM and ICM
“OO-style” notation
Actor->send(B,M)
over ch
Actor->receive(B,M) over ch
Annotated channels notation
Actor -ch-> B: M
B -ch-> Actor: M
Table 2: Channel notations in ASLan++ for ACM
Client to the Server, where either one of the end-points is replaced by Actor. This does
not give all protections of TLS, but is usually sufficient. If the additional properties of
replay protection, order preservation, and session distinction are needed, then they can be
constructed as described in § 2.9.6.
In Table 1, ActorP stands for Actor or any pseudonym of P it, which is either the default
pseudonym [Actor] or [Actor]_[P]. Similarly, B stands for the (intended) communication
partner of Actor or any pseudonym P of this partner, which is denoted by [B’]_[P] where
B’ is a term different from Actor with irrelevant value.
ACM. In ACM, channels are referred to by terms of type channel. Their properties are
usually declared by introducing certain pre-defined facts, introduced below, which trigger
pre-defined LTL constraints. One must of course be careful not to require non-fulfillable
(e.g., contradictory) channel properties, which would lead to a non-executable model.
As mentioned before, Table 2 shows the general syntax that ASLan++ supports for
ACM. Differently from the CCM and ICM, in ACM the arrow is labeled with the name of
the channel. The name may be used for identifying the channel to relate several send/receive
statements, as well as for stating the assumed properties of the channel.
The named channel syntax can be used only for ACM channels as assumptions, while –
even when ACM is chosen – channel goals are always expressed and interpreted in the same
way as in CCM/ICM.
Like in CCM and ICM, by default a channel does not guarantee any protection (insecure
channel), and is controlled by a Dolev-Yao intruder. The other properties of the channels
FP7-ICT-2007-1
Project No. 216471