november 16 2017 gildas avoine lo c ferreira rescuing
play

November 16, 2017 Gildas Avoine Loc Ferreira Rescuing LoRaWAN 1.0 - PowerPoint PPT Presentation

November 16, 2017 Gildas Avoine Loc Ferreira Rescuing LoRaWAN 1.0 Workshop CRYPTACUS 1 Internet of Things 20 billion internet-connected things by 2020 [Gartner] Main domains smart home (Zigbee, Z-Wave, BLE, DECT ULE,


  1. November 16, 2017 Gildas Avoine Loïc Ferreira Rescuing LoRaWAN 1.0 Workshop CRYPTACUS 1

  2. Internet of Things  20 billion internet-connected things by 2020 [Gartner] Main domains  – smart home (Zigbee, Z-Wave, BLE, DECT ULE, Thread, etc.) – eHealth the largest volume of things – industrial IoT => allegedly the most sensitive use cases 2

  3. Internet of Things  20 billion internet-connected things by 2020 [Gartner] Main domains  – smart home (Zigbee, Z-Wave, BLE, DECT ULE, Thread, etc.) – eHealth the largest volume of things – industrial IoT => allegedly source: http://iot.semtech.com, 17/05/17 the most sensitive use cases A proposal for industrial IoT: LoRa (communication layer) & LoRaWAN (security layer)  Originally conceived by Semtech (Cycleo). Now promoted by LoRa Alliance.  Deployed in more than 50 countries worldwide: USA (100 cities), Japan, China (300 million people),  India (400 million people), France, Netherlands, South Africa, etc. Use cases: temperature monitoring, presence detection, remote device on/off switch, etc.  Current deployed version: v1.0 (this talk).  Ascoel, nke Watteco, 3 IR868LR - IRUS915LR Smart Plug nke Watteco, Sens’O

  4. Architecture End-devices Gateway Network Server Application Server 4

  5. Key exchange End-device (MK) Network Server (MK) Application Server req ans 5

  6. Key exchange End-device (MK) Network Server (MK) Application Server req ans 1. rnd C  {0,1} 16 2. τ C = MAC MK (id AS | id C | rnd C ) 3. req = id AS | id C | rnd C | τ C 6

  7. Key exchange End-device (MK) Network Server (MK) Application Server req ans 1. rnd C  {0,1} 16 2. τ C = MAC MK (id AS | id C | rnd C ) 3. req = id AS | id C | rnd C | τ C 4. check req 5. rnd S  {0,1} 24 6. τ S = MAC MK (rnd S | id S | addr | prms) 7. ans = AES -1 MK (rnd S | id S | addr | prms | τ S ) 8. check ans 7

  8. Key exchange End-device (MK) Network Server (MK) Application Server req ans 1. rnd C  {0,1} 16 2. τ C = MAC MK (id AS | id C | rnd C ) 3. req = id AS | id C | rnd C | τ C 4. check req 5. rnd S  {0,1} 24 6. τ S = MAC MK (rnd S | id S | addr | prms) 7. ans = AES -1 MK (rnd S | id S | addr | prms | τ S ) 8. check ans Data encryption key Ke = ENC MK (01 | v) with v = rnd S | id S | rnd C | 00..00 Data integrity key Ki = ENC MK (02 | v) 8

  9. Secure channel End-device (MK) Network Server (MK) Application Server data confidentiality (Ke) data integrity (Ki) Ke, Ki Ke, Ki Ke Application frame  Ki hdr [pld] Ke τ Network frame  Ki hdr [pld] Ki τ 9

  10. Secure channel End-device (MK) Network Server (MK) Application Server data confidentiality (Ke) data integrity (Ki) Ke, Ki Ke, Ki Ke Encryption: based on AES CCM  – A j (16) = 01 | 00…00 | dir | addr (4) | cnt (4) | 00 | j (1) Application frame  Ki Ke if application data – S j = AES K (A j ) with K = Ki if network data hdr [pld] Ke τ – ctxt = pld (S 0 | .. | S n-1 ) Network frame  Ki hdr [pld] Ki τ 10

  11. Secure channel End-device (MK) Network Server (MK) Application Server data confidentiality (Ke) data integrity (Ki) Ke, Ki Ke, Ki Ke Encryption: based on AES CCM  – A j (16) = 01 | 00…00 | dir | addr (4) | cnt (4) | 00 | j (1) Application frame  Ki Ke if application data – S j = AES K (A j ) with K = Ki if network data hdr [pld] Ke τ – ctxt = pld (S 0 | .. | S n-1 ) Network frame  MAC: AES CMAC  Ki – B 0 (16) = 49 | 00…00 | dir | addr (4) | cnt (4) | 00 | len (1) – τ = MAC Ki (B 0 | hdr | ctxt) hdr [pld] Ki τ Message: hdr | [pld] K | τ  11

  12. Attack: end-device disconnection End-device (MK) Network Server (MK) rnd C = x rnd C = x rnd S = y rnd S = y* Ke* = ENC MK (01 | v*) Ke = ENC MK (01 | v)   Ki* = ENC MK (02 | v*) Ki = ENC MK (02 | v) with v* = y* | id S | x | 00..00 with v = y | id S | x | 00..00 12

  13. Attack: end-device disconnection End-device (MK) Network Server (MK) rnd C = x rnd C = x rnd S = y rnd S = y* Ke* = ENC MK (01 | v*) Ke = ENC MK (01 | v)   Ki* = ENC MK (02 | v*) Ki = ENC MK (02 | v) with v* = y* | id S | x | 00..00 with v = y | id S | x | 00..00 The end- device is “ disconnected ”.  The NS cannot initiate a new session.  The end-device may not expect replies  from the NS. LoRaWAN 1.0.2 specification, § 4.3.1.1, p. 17 13

  14. Attack: replay or decrypt Ke = ENC MK (01 | v)  Ki = ENC MK (02 | v) with v = rnd S | id S | rnd C | 00..00 A j (16) = 01 | 00…00 | dir | addr (4) | cnt (4) | 00 | j (1)  S j = AES K (A j ) ctxt = pld (S 0 | .. | S n-1 ) B 0 (16) = 49 | 00…00 | dir | addr (4) | cnt (4) | 00 | len (1)  τ = MAC Ki (B 0 | hdr | ctxt) 1. Replay of ans = AES -1 MK (rnd S | id S | addr | prms | τ S ) => Reuse of Ke, Ki, A j , B 0 2. Reuse of rnd C 14

  15. Attack: replay or decrypt  Consequences – (downlink) frame replay – (uplink) frame decryption: ctxt = pld S ctxt ctxt ’ = pld pld ’ ctxt ’ = pld ’ S 15

  16. Attack: replay or decrypt Consequences  – (downlink) frame replay – (uplink) frame decryption: ctxt = pld S ctxt ctxt ’ = pld pld ’ ctxt ’ = pld ’ S Pr[hit] = 2 -16  With n previous ans messages, Pr [hit] ≈ n.2 -16 = p  The attacker iterates k times: Pr[success] = 1 – (1 – p) k ≈ k.p  Complexity: k ≈ 2 16 /n to get Pr [success] ≈ 1  8 s/key exchange => 9.1 hours (with n = 16)  End-device (MK) rnd C = x 0 , x 1 , …, x k rnd S = *, *, …, y k 16

  17. Attack: replay or decrypt Consequences  – (downlink) frame replay – (uplink) frame decryption: ctxt = pld S ctxt ctxt ’ = pld pld ’ ctxt ’ = pld ’ S Pr[hit] = 2 -16  Remark on the duty cycle  With n previous ans messages, Pr [hit] ≈ n.2 -16 = p  – Not a security mechanism The attacker iterates k times: Pr[success] = 1 – (1 – p) k ≈ k.p  – Not applied in all countries Complexity: k ≈ 2 16 /n to get Pr [success] ≈ 1  – Not verified through the LoRa 8 s/key exchange => 9.1 hours (with n = 16)  Alliance certification process End-device (MK) rnd C = x 0 , x 1 , …, x k LoRa Alliance End Device Certification Requirements for EU 868MHz ISM Band Devices , D. Hunt, N. Jouko, M. Ridder, v1.2, 2016 rnd S = *, *, …, y k 17

  18. Attack: targetting the NS Disconnection and “ replay or decrypt ” doable against the NS.  Disconnection  – The NS must keep track of a “ certain number ” of previous req messages. => Use of “forgotten” or “unknown” req messages. “Replay or decrypt”  – |rnd S | = 24 bits => Pr [hit] ≈ 2 -24 – addr is “ arbitrarily ” generated => Pr [hit] ≈ 2 -49 – The attacker chooses rnd C first (then the NS replies). – Use of n req messages: Pr [success] ≈ n/2 24 (if addr is unchanged) Consequences  Network Server (MK) – (uplink) frame replay req – (downlin) frame decryption ans [matches with req?] 18

  19. Lack of data integrity End-device Network Server MQTT server Application Server data confidentiality data integrity no data integrity no data integrity Encryption in CTR mode  – Change plaintext by flipping ciphertext bits => end-device or AS is deceived – Truncate encrypted payload => hide information from end-device or AS – Possible payload decryption under assumptions (easier in uplink direction) 19

  20. Recommendations Constraints: keep interoperability between patched and unmodified equipment  rnd S replaced with 24-bit counter (1 counter per end-device)  addr = H(rnd C | rnd S | id C )  Key confirmation by NS (using an existing LoRaWAN command)  Provide end-to-end data integrity (application layer)  20

  21. Conclusion Low cost security => low power attacks  LoRaWAN 1.0 published without security analysis  Upcoming version: v1.1 (includes some recommendations related to v1.0)  LoRa Alliance: call for a public review of LoRaWAN 1.1 from the academic community  21

  22. Thank you 22

  23. References [LoRaWAN1.0] N. Sornin, M. Luis, T. Eirich, T. Kramp, O. Hersent. LoRaWAN Specification (Jul 2016), LoRa Alliance, version 1.0.2 [Gartner] Mark Hung (ed.). Leading the IoT – Gartner Insights on How to Lead in a Connected World , Gartner, 2017. https://www.gartner.com/imagesrv/books/iot/iotEbook_digital.pdf 23

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend