[riot-notifications] [RIOT-OS/RIOT] Initial implementation of IEEE 802.15.4 security (#15150)

benpicco notifications at github.com
Sun Nov 15 17:03:13 CET 2020


Nice work, I did another test:

 - encrypted communication between `at86rf215` and `at86rf2xx` works 
 - sending and receiving fragmented packets (250 bytes) works
 - sending small encrypted packets in 802.15.4g mode (`at86rf215`) works
 - sending lager (250 bytes) encrypted packets in 802.15.4g mode gets stuck:

```
#0  0x0000437c in aes_encrypt (context=<optimized out>, plainBlock=<optimized out>, 
    cipherBlock=0x200022bc <_pktbuf_buf+944> "m_\\E\354\204\375\063 \266\363ŵ1\255wD$")
    at /home/benpicco/dev/RIOT-BHT/sys/crypto/aes.c:1284
#1  0x00002be6 in cipher_encrypt_cbc (cipher=0x20001db0 <at86rf215_devs+40>, iv=<optimized out>, 
    input=0x200014a8 <_at86rf215_stacks+675> "", length=16, 
    output=0x200022bc <_pktbuf_buf+944> "m_\\E\354\204\375\063 \266\363ŵ1\255wD$")
    at /home/benpicco/dev/RIOT-BHT/sys/crypto/modes/cbc.c:45
#2  0x0000e38e in _cbc_next (ctx=ctx at entry=0x20001db0 <at86rf215_devs+40>, 
    last=last at entry=0x200022bc <_pktbuf_buf+944> "m_\\E\354\204\375\063 \266\363ŵ1\255wD$", 
    tmp=tmp at entry=0x200014a8 <_at86rf215_stacks+675> "", 
    next=next at entry=0x20002451 <_pktbuf_buf+1349> "Y\331", <incomplete sequence \356\216>, size=size at entry=256)
    at /home/benpicco/dev/RIOT-BHT/sys/net/link_layer/ieee802154/security.c:274
#3  0x0000e43e in _comp_mic (ctx=ctx at entry=0x20001db0 <at86rf215_devs+40>, 
    mic=mic at entry=0x200022bc <_pktbuf_buf+944> "m_\\E\354\204\375\063 \266\363ŵ1\255wD$", 
    B0=B0 at entry=0x200014e8 <_at86rf215_stacks+739>, a=a at entry=0x20001558 <_at86rf215_stacks+851>, 
    a_len=a_len at entry=26, m=m at entry=0x2000244c <_pktbuf_buf+1344>, m_len=m_len at entry=261)
    at /home/benpicco/dev/RIOT-BHT/sys/net/link_layer/ieee802154/security.c:302
#4  0x0000e6ac in ieee802154_sec_encrypt_frame (ctx=ctx at entry=0x20001db0 <at86rf215_devs+40>, 
    header=header at entry=0x20001558 <_at86rf215_stacks+851> "i\334m#", 
    header_size=header_size at entry=0x2000153a <_at86rf215_stacks+821> "\025\b#", 
    payload=0x2000244c <_pktbuf_buf+1344> "z3:\200", payload_size=261, 
    mic=0x200022bc <_pktbuf_buf+944> "m_\\E\354\204\375\063 \266\363ŵ1\255wD$", 
    mic_size=mic_size at entry=0x2000153b <_at86rf215_stacks+822> "\b#", 
    src_address=src_address at entry=0x20001d9e <at86rf215_devs+22> "\346\352\257\370\257]\352\345n")
    at /home/benpicco/dev/RIOT-BHT/sys/net/link_layer/ieee802154/security.c:390
#5  0x00009dca in _send (netif=0x20001b08 <_netif>, pkt=0x20002404 <_pktbuf_buf+1272>)
    at /home/benpicco/dev/RIOT-BHT/sys/net/gnrc/netif/ieee802154/gnrc_netif_ieee802154.c:343
#6  0x00008fd2 in _send (push_back=false, pkt=<optimized out>, netif=0x20001b08 <_netif>)
```

I also had do increase the stack size of all drivers involved.
It defaults to 1024, but this is exceeded slightly with security enabled:

```
2020-11-15 17:01:31,816 # 	  6 | at86rf2xx            | bl rx    _ |   2 |   1152 ( 1028) (  124) | 0x20001200 | 0x2000153c 
```

```
2020-11-15 16:58:23,584 # 	  6 | at86rf215 [sub GHz]  | bl rx    _ |   2 |   1152 ( 1040) (  112) | 0x20001200 | 0x20001544 
```


-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/RIOT-OS/RIOT/pull/15150#issuecomment-727593290
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.riot-os.org/pipermail/notifications/attachments/20201115/731fa477/attachment.htm>


More information about the notifications mailing list