Skip to content

Commit 697f7fe

Browse files
committed
Add receiver to comm core pred send_auth
1 parent 4a9d248 commit 697f7fe

File tree

5 files changed

+25
-25
lines changed

5 files changed

+25
-25
lines changed

src/lib/communication/DY.Lib.Communication.Core.Invariants.fst

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ let sign_crypto_predicate_communication_layer_core #cusages a #config = {
5151
| Some (Plain sender receiver payload) -> (
5252
sk_usage == long_term_key_type_to_usage (LongTermSigKey (comm_layer_sign_tag a)) sender /\
5353
get_label tr (serialize a payload) `can_flow tr` public /\
54-
event_triggered tr sender (CommAuthSendMsg sender payload <: communication_core_event a)
54+
event_triggered tr sender (CommAuthSendMsg sender receiver payload <: communication_core_event a)
5555
)
5656
| Some (Encrypted payload pk_receiver) -> (
5757
get_label tr payload `can_flow tr` public /\
@@ -111,17 +111,17 @@ type comm_core_higher_layer_event_preds (a:Type) {|comm_layer_core_config a|} =
111111
)
112112
(ensures send_conf tr2 sender receiver payload)
113113
;
114-
send_auth: tr:trace -> sender:principal -> payload:a -> prop;
114+
send_auth: tr:trace -> sender:principal -> receiver:principal -> payload:a -> prop;
115115
send_auth_later:
116116
tr1:trace -> tr2:trace ->
117-
sender:principal -> payload:a ->
117+
sender:principal -> receiver:principal -> payload:a ->
118118
Lemma
119119
(requires
120-
send_auth tr1 sender payload /\
120+
send_auth tr1 sender receiver payload /\
121121
is_well_formed a (bytes_well_formed tr1) payload /\
122122
tr1 <$ tr2
123123
)
124-
(ensures send_auth tr2 sender payload)
124+
(ensures send_auth tr2 sender receiver payload)
125125
;
126126
send_conf_auth: tr:trace -> sender:principal -> receiver:principal -> payload:a -> prop;
127127
send_conf_auth_later:
@@ -139,8 +139,8 @@ type comm_core_higher_layer_event_preds (a:Type) {|comm_layer_core_config a|} =
139139
let default_comm_core_higher_layer_event_preds (a:Type) {|comm_layer_core_config a|} : comm_core_higher_layer_event_preds a = {
140140
send_conf = (fun tr sender receiver payload -> False);
141141
send_conf_later = (fun tr1 tr2 sender receiver payload -> ());
142-
send_auth = (fun tr sender payload -> False);
143-
send_auth_later = (fun tr1 tr2 sender payload -> ());
142+
send_auth = (fun tr sender receiver payload -> False);
143+
send_auth_later = (fun tr1 tr2 sender receiver payload -> ());
144144
send_conf_auth = (fun tr sender receiver payload -> False);
145145
send_conf_auth_later = (fun tr1 tr2 sender receiver payload -> ())
146146
}
@@ -161,13 +161,13 @@ let event_predicate_communication_layer_core
161161
(exists sender. event_triggered tr sender (CommConfSendMsg sender receiver payload <: communication_core_event a)) \/
162162
is_well_formed a (is_publishable tr) payload
163163
)
164-
| CommAuthSendMsg sender payload -> (
165-
higher_layer_preds.send_auth tr sender payload
164+
| CommAuthSendMsg sender receiver payload -> (
165+
higher_layer_preds.send_auth tr sender receiver payload
166166
)
167167
| CommAuthReceiveMsg sender receiver payload -> (
168168
is_well_formed a (is_publishable tr) payload /\
169169
(
170-
event_triggered tr sender (CommAuthSendMsg sender payload <: communication_core_event a) \/
170+
event_triggered tr sender (CommAuthSendMsg sender receiver payload <: communication_core_event a) \/
171171
is_corrupt tr (long_term_key_label sender)
172172
)
173173
)

src/lib/communication/DY.Lib.Communication.Core.Lemmas.fst

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -232,10 +232,10 @@ let receive_confidential_proof #invs #a tr higher_layer_preds comm_keys_ids rece
232232

233233
val comm_auth_send_event_triggered:
234234
#a:Type0 -> {|comm_layer_core_config a|} ->
235-
trace -> principal -> a ->
235+
trace -> principal -> principal -> a ->
236236
prop
237-
let comm_auth_send_event_triggered #a tr sender payload =
238-
event_triggered tr sender (CommAuthSendMsg sender payload <: communication_core_event a)
237+
let comm_auth_send_event_triggered #a tr sender receiver payload =
238+
event_triggered tr sender (CommAuthSendMsg sender receiver payload <: communication_core_event a)
239239

240240
val comm_conf_auth_send_event_triggered:
241241
#a:Type0 -> {|comm_layer_core_config a|} ->
@@ -261,7 +261,7 @@ val sign_message_proof:
261261
match input with
262262
| Inl payload -> (
263263
is_well_formed a (is_publishable tr) payload /\
264-
comm_auth_send_event_triggered #a tr sender payload
264+
comm_auth_send_event_triggered #a tr sender receiver payload
265265
)
266266
| Inr (payload, pk) -> (
267267
is_publishable tr payload /\
@@ -319,7 +319,7 @@ val send_authenticated_proof:
319319
trace_invariant tr /\
320320
has_private_keys_invariant /\
321321
has_communication_layer_core_predicates higher_layer_preds /\
322-
higher_layer_preds.send_auth tr sender payload /\
322+
higher_layer_preds.send_auth tr sender receiver payload /\
323323
is_well_formed a (is_publishable tr) payload
324324
)
325325
(ensures (
@@ -336,9 +336,9 @@ let send_authenticated_proof #invs #a tr higher_layer_preds comm_keys_ids sender
336336
| (Some _, tr_out) -> (
337337
let (Some sk_sender, tr') = get_private_key sender comm_keys_ids.private_keys (LongTermSigKey (comm_layer_sign_tag a)) tr in
338338
let (nonce, tr') = mk_rand SigNonce (long_term_key_label sender) 32 tr' in
339-
higher_layer_preds.send_auth_later tr tr' sender payload;
340-
let ((), tr') = trigger_event sender (CommAuthSendMsg sender payload <: communication_core_event a) tr' in
341-
assert(comm_auth_send_event_triggered tr' sender payload);
339+
higher_layer_preds.send_auth_later tr tr' sender receiver payload;
340+
let ((), tr') = trigger_event sender (CommAuthSendMsg sender receiver payload <: communication_core_event a) tr' in
341+
assert(comm_auth_send_event_triggered tr' sender receiver payload);
342342
sign_message_proof #invs.crypto_invs #a tr' sender receiver (Inl payload) sk_sender nonce;
343343
let msg_signed = sign_message #a sender receiver (Inl payload) sk_sender nonce in
344344
let (msg_id, tr') = send_msg msg_signed tr' in
@@ -375,7 +375,7 @@ val verify_message_proof:
375375
(
376376
sender == sender' /\
377377
receiver == receiver' /\
378-
comm_auth_send_event_triggered tr sender (Inl?.v payload) \/
378+
comm_auth_send_event_triggered tr sender receiver (Inl?.v payload) \/
379379
is_corrupt tr (long_term_key_label sender)
380380
)
381381
)

src/lib/communication/DY.Lib.Communication.Core.Properties.fst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ val sender_authentication:
7878
event_triggered_at tr i receiver (CommAuthReceiveMsg sender receiver payload <: communication_core_event a)
7979
)
8080
(ensures
81-
event_triggered (prefix tr i) sender (CommAuthSendMsg sender payload <: communication_core_event a) \/
81+
event_triggered (prefix tr i) sender (CommAuthSendMsg sender receiver payload <: communication_core_event a) \/
8282
is_corrupt (prefix tr i) (long_term_key_label sender)
8383
)
8484
let sender_authentication #tag #invs #a tr i higher_layer_preds sender receiver secret = ()

src/lib/communication/DY.Lib.Communication.Core.fst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ let comm_label sender receiver = join (principal_label sender) (principal_label
3434
type communication_core_event (a:Type) {|config:comm_layer_core_config a|} =
3535
| CommConfSendMsg: sender:principal -> receiver:principal -> [@@@ with_parser #bytes config.core_ps_a] payload:a -> communication_core_event a
3636
| CommConfReceiveMsg: receiver:principal -> [@@@ with_parser #bytes config.core_ps_a] payload:a -> communication_core_event a
37-
| CommAuthSendMsg: sender:principal -> [@@@ with_parser #bytes config.core_ps_a] payload:a -> communication_core_event a
37+
| CommAuthSendMsg: sender:principal -> receiver:principal -> [@@@ with_parser #bytes config.core_ps_a] payload:a -> communication_core_event a
3838
| CommAuthReceiveMsg: sender:principal -> receiver:principal -> [@@@ with_parser #bytes config.core_ps_a] payload:a -> communication_core_event a
3939
| CommConfAuthSendMsg: sender:principal -> receiver:principal -> [@@@ with_parser #bytes config.core_ps_a] payload:a -> communication_core_event a
4040
| CommConfAuthReceiveMsg: sender:principal -> receiver:principal -> [@@@ with_parser #bytes config.core_ps_a] payload:a -> communication_core_event a
@@ -129,7 +129,7 @@ val send_authenticated:
129129
let send_authenticated #a comm_keys_ids sender receiver payload =
130130
let*? sk_sender = get_private_key sender comm_keys_ids.private_keys (LongTermSigKey (comm_layer_sign_tag a)) in
131131
let* nonce = mk_rand SigNonce (long_term_key_label sender) 32 in
132-
trigger_event sender (CommAuthSendMsg sender payload <: communication_core_event a);*
132+
trigger_event sender (CommAuthSendMsg sender receiver payload <: communication_core_event a);*
133133
let msg_signed = sign_message sender receiver (Inl payload) sk_sender nonce in
134134
let* msg_id = send_msg msg_signed in
135135
return (Some msg_id)

src/lib/communication/DY.Lib.Communication.Printing.fst

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -91,9 +91,9 @@ let com_core_event_to_string #a payload_to_string =
9191
| CommConfReceiveMsg receiver payload ->
9292
Some (Printf.sprintf "CommConfReceiveMsg receiver = %s, payload = (%s)"
9393
receiver (payload_to_string payload))
94-
| CommAuthSendMsg sender payload ->
95-
Some (Printf.sprintf "CommAuthSendMsg sender = %s, payload = (%s)"
96-
sender (payload_to_string payload))
94+
| CommAuthSendMsg sender receiver payload ->
95+
Some (Printf.sprintf "CommAuthSendMsg sender = %s, receiver = %s, payload = (%s)"
96+
sender receiver (payload_to_string payload))
9797
| CommAuthReceiveMsg sender receiver payload ->
9898
Some (Printf.sprintf "CommAuthReceiveMsg sender = %s, receiver = %s, payload = (%s)"
9999
sender receiver (payload_to_string payload))

0 commit comments

Comments
 (0)