1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
|
Internet Architecture Board (IAB) H. Tschofenig
Request for Comments: 8240 S. Farrell
Category: Informational September 2017
ISSN: 2070-1721
Report from the Internet of Things Software Update (IoTSU) Workshop 2016
Abstract
This document provides a summary of the Internet of Things Software
Update (IoTSU) Workshop that took place at Trinity College Dublin,
Ireland on the 13th and 14th of June, 2016. The main goal of the
workshop was to foster a discussion on requirements, challenges, and
solutions for bringing software and firmware updates to IoT devices.
This report summarizes the discussions and lists recommendations to
the standards community.
Note that this document is a report on the proceedings of the
workshop. The views and positions documented in this report are
those of the workshop participants and do not necessarily reflect IAB
views and positions.
Status of This Memo
This document is not an Internet Standards Track specification; it is
published for informational purposes.
This document is a product of the Internet Architecture Board (IAB)
and represents information that the IAB has deemed valuable to
provide for permanent record. It represents the consensus of the
Internet Architecture Board (IAB). Documents approved for
publication by the IAB are not a candidate for any level of Internet
Standard; see Section 2 of RFC 7841.
Information about the current status of this document, any errata,
and how to provide feedback on it may be obtained at
https://www.rfc-editor.org/info/rfc8240.
Tschofenig & Farrell Informational [Page 1]
^L
RFC 8240 IoTSU Report September 2017
Copyright Notice
Copyright (c) 2017 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(https://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
to this document.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 5
3. Requirements and Questions Raised . . . . . . . . . . . . . . 6
4. Authorizing a Software/Firmware Update . . . . . . . . . . . 12
5. End-of-Support . . . . . . . . . . . . . . . . . . . . . . . 13
6. Incentives . . . . . . . . . . . . . . . . . . . . . . . . . 15
7. Measurements and Analysis . . . . . . . . . . . . . . . . . . 15
8. Firmware Distribution in Mesh Networks . . . . . . . . . . . 16
9. Compromised Devices . . . . . . . . . . . . . . . . . . . . . 17
10. Miscellaneous Points . . . . . . . . . . . . . . . . . . . . 17
11. Tentative Conclusions and Next Steps . . . . . . . . . . . . 19
12. Security Considerations . . . . . . . . . . . . . . . . . . . 20
13. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 20
14. Informative References . . . . . . . . . . . . . . . . . . . 20
Appendix A. Program Committee . . . . . . . . . . . . . . . . . 24
Appendix B. Accepted Position Papers . . . . . . . . . . . . . . 24
Appendix C. List of Participants . . . . . . . . . . . . . . . . 26
Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 27
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 27
Tschofenig & Farrell Informational [Page 2]
^L
RFC 8240 IoTSU Report September 2017
1. Introduction
This document provides a summary of the Internet of Things Software
Update (IoTSU) Workshop [IoTSU] that took place at Trinity College
Dublin, Ireland on the 13th and 14th of June, 2016. The main goal of
the workshop was to foster a discussion on requirements, challenges,
and solutions for bringing software and firmware updates to IoT
devices.
The views and positions in this report are those of the workshop
participants and do not necessarily reflect those of their employers/
sponsors, the authors of this memo, nor the Internet Architecture
Board (IAB), under whose auspices the workshop was held.
The IAB holds occasional workshops designed to consider long-term
issues and strategies for the Internet, and to suggest future
directions for the Internet architecture. The topics investigated
often require coordinated efforts of different organizations and
industry bodies to improve an identified problem. One of the goals
of such workshops is to assist with communication between relevant
organizations, companies, and universities, especially when the
topics are partly out of the scope for the Internet Engineering Task
Force (IETF). This long-term planning function of the IAB is
complementary to the ongoing engineering efforts performed by working
groups of the IETF.
In his essay "The Internet of Things Is Wildly Insecure -- And Often
Unpatchable" [BS14], Bruce Schneier expressed concerns about the
status of software/firmware updates for IoT devices. IoT devices,
which have a reputation for being insecure from the time they are
manufactured, are often expected to stay active in the field for 10
or more years and to operate unattended with Internet connectivity.
Incorporating a software update mechanism to fix vulnerabilities, to
update configuration settings and, to add new functionality as well,
is recommended by security experts. However, there are challenges
when using software updates, as documented in the United States
Federal Trade Commission (FTC) report titled "internet of things:
Privacy & Security in a Connected World" [FTC] and in the Article 29
Data Protection Working Party document "Opinion 8/2014 on the on
[sic] Recent Developments on the Internet of Things"[WP29].
Among the challenges in designing a basic software/firmware update
function are:
- Implementations of software update mechanisms may incorporate
vulnerabilities, becoming an attractive attack target. See, for
example, [OS14].
Tschofenig & Farrell Informational [Page 3]
^L
RFC 8240 IoTSU Report September 2017
- Operational challenges, such as the case of an expired certificate
in a hub device [BB14].
- Privacy issues if devices "call home" often to check for updates.
- A lack of incentives to distribute software updates along the
value chain.
- Questions such as the following. Who should be able to update
device software after normal support stops? When should an
alternate source of software updates take over?
There are various (often proprietary) software update mechanisms in
use today, and the functionality of those varies significantly with
the envisioned use of the IoT devices. More powerful IoT devices,
such as those running general purpose operating systems (like Linux),
can make use of sophisticated software update mechanisms known from
the desktop and the mobile world. This workshop focused on more
constrained IoT devices that often run dedicated real-time operating
systems or potentially no operating system at all.
There is a real risk that many IoT devices will continue to be
shipped without a solid software/firmware update mechanism in place.
Ideally, IoT software developers and product designers should be able
to integrate standardized mechanisms that have experienced
substantial review and where the documentation is available to the
public.
Hence, the IAB decided to organize a workshop to reach out to
relevant stakeholders to explore the state of the art and to identify
requirements and gaps. In particular, the call for position papers
asked for:
- Protocol mechanisms for distributing software updates.
- Mechanisms for securing software updates.
- Metadata about software/firmware packages.
- Implications of operating system and hardware design on the
software update mechanisms.
- Installation of software updates (in context of software and
hardware security of IoT devices).
- Privacy implications of software update mechanisms.
- Implications of device ownership and control for software update.
Tschofenig & Farrell Informational [Page 4]
^L
RFC 8240 IoTSU Report September 2017
The rest of the document is organized as follows: basic terminology
is provided in Section 2, followed by a longer section discussing
requirements. Subsequent sections explore selected topics, such as
incentives and measurements in more detail. Most of the write-up
does raise more questions than it answers. Nevertheless, we tried to
synthesize possible conclusions and offer a few next steps.
2. Terminology
As is typical with people from different backgrounds, workshop
participants started the workshop with a discussions of terminology.
This section is more intended to reflect those discussions than to
present canonical definitions of terms.
Device Classes: IoT devices come in various "sizes" (such as size of
RAM or size of flash memory). With these configurations, devices
are limited in what they can support in terms of operating-system
features, cryptographic algorithms, and protocol stacks. For this
reason, the group differentiated two types of classes, namely ARM
Cortex A-class/Intel Atom and Cortex M-class/Intel Quark types of
devices. A-class devices are equipped with powerful processors
typically found in set-top boxes and home routers. The Raspberry
Pi is an example of an A-class device that is capable of running a
regular desktop operating system, such as Linux. There are
differences between the Intel and the ARM-based CPUs in terms of
architecture, microcode, and who is allowed to update a Basic
Input/Output System (BIOS) (if available). A detailed discussion
of these hardware architectural differences were, however, outside
the scope of the workshop. The implication is that lower-end
microcontrollers have constraints that put restrictions on the
amount of software that can be put on them. While it is easy to
require support of a wide range of features, those may not
necessarily fit on these devices.
Software Update and Firmware Update: Based on the device classes, it
was observed that regular operating systems come with
sophisticated software update mechanisms (such as Red Hat Package
Manager (RPM) [RPM] or pacman [PACMAN]) that make use of the
operating system to install and run each application in a
compartmentalized fashion. Firmware updates typically do not
provide such a fine-grained granularity for software updates and
instead distribute the entire binary image, which consists of the
(often minimalistic) operating system and all applications. While
the distinction between the mechanisms that A-class and M-class
devices will typically use may get more fuzzy over time, most
M-class devices use firmware updates while A-class devices use a
combination of firmware and software updates (with firmware
updates being less frequent operations).
Tschofenig & Farrell Informational [Page 5]
^L
RFC 8240 IoTSU Report September 2017
Hitless Update: A hitless update implies that the user experience is
not "hit", i.e., it is not impacted. It is possible to impact the
user experience when applying an update even when the device does
not reboot (to obtain or apply said update). If the update is
applied when a user is not using a product and their service is
not impacted, the update is "hitless".
3. Requirements and Questions Raised
Workshop participants discussed requirements and several of these
raised further questions. As with the previous section, we aim to
present the discussion as it was.
- There may be a need to be support partial (differential) updates
that do not require the entire firmware image to be sent. This
may mean that techniques like bsdiff [BSDIFF] and courgette
[COURGETTE] are used but might also mean devices supporting the
download of applications and libraries alone. The latter feature
may require dynamic linking and position independent code. It was
unclear whether position independent code should be recommended
for low-end IoT devices.
- The relative importance of dynamic linkers for low-end IoT devices
is unclear. Some operating systems used with M-class devices,
such as Contiki, provide support for a dynamic linker according to
[OS-Support]. This could help to minimize the amount of data
transmitted during updates since only the modified application or
library needs to be transmitted.
- How should dependencies among various software updates be handled?
These dependencies may include information about the hardware
platform and configuration as well as other software components
running on a system. For firmware updates, the problem of
dependencies are often solved by the manufacturer or Original
Equipment Manufacturer (OEM) rather than on the device itself.
- Support for devices with multiple microcontrollers may require an
architecture where one microcontroller is responsible for
interacting with the update service and then dispatching software
images to the attached microcontrollers within its local realm.
The alternative of letting each microcontroller interact with an
update service appeared less practical.
- Support may be required for devices with multiple owners/
stakeholders where the question arises about who is authorized to
push a firmware/software update.
Tschofenig & Farrell Informational [Page 6]
^L
RFC 8240 IoTSU Report September 2017
- Data origin authentication (DAO) was agreed to be required for
software updates. Without DAO, updates simply become a perfect
vulnerability. It is, however, nontrivial to ensure that the
actual trust relationships that exist are modeled by the DAO
mechanism. For some devices and deployment scenarios, any DAO
mechanism is onerous, possibly to the point where it may be hard
to convince a device maker to include the functionality.
- Should digital signatures and encryption for software updates be
recommended as a best current practice? This question
particularly raises the question about the use of symmetric key
cryptography since not all low-end IoT devices are currently using
asymmetric crypto.
- DAO is most commonly provided via digital signature mechanisms,
but symmetric schemes could also be developed, though IETF
discussion of such mechanisms (for purposes less sensitive than
software update) has proved significantly controversial. The main
problem seems to be that simple symmetric schemes only ensure that
the sender is a member of a group, and they do not fully
authenticate a specific sender. And with a software update, we do
not want any (possibly compromised) device to be able to
authenticate new software for all other similar devices.
- What are the firmware update signing key requirements? Since
devices have a rather long lifetime, there has to be a way to
change the signing key during the lifetime of the device.
- Should a firmware update mechanism support multiple signatures of
firmware images? Multiple signatures can come in two different
flavors, namely:
A single firmware image may be signed by multiple different
parties. In this case, one could imagine an environment where
an OEM signs the software it creates, but then the software is
again signed by the enterprise that approves the distribution
within the company. Other examples include regulatory
signatures where the software for a medical device may be
signed as approved by a certification body.
A software image may contain libraries that are each signed by
their developers.
Is a device expected to verify the different types of signatures
or is this a service provided by some unconstrained device? This
raises questions about who the IoT device should trust for what
and whether transitive trust is acceptable for some types of
devices.
Tschofenig & Farrell Informational [Page 7]
^L
RFC 8240 IoTSU Report September 2017
- Are applications from a range of sources allowed to run on a
device or only those from the OEM? If the device is a "closed"
device that only supports/runs software from the OEM, then a
single signature may be sufficient. In a system that is more
"open", third-party applications may require support of multiple
signatures.
- There is a need for some form of secure storage, at least for
those IoT devices that are exposed to physical attacks. This
includes at least the need to protect the integrity of the public
key of the update service on the device (if signature-based DAO is
in use). The use of symmetric key cryptography requires improved
confidentiality protection (in addition to integrity protection).
- Is there a need to allow the update infrastructure side to
authenticate the IoT device before distributing an update?
Questions about the identifier used for such an authentication
action were raised. The idea of reusing Media Access Control
(MAC) addresses lead to concerns about the significant privacy
implications of such identifier reuse.
- It is important to minimize device/service downtime due to update
processing and to minimize user interaction (e.g., car should not
distract the driver) (see "Hitless Update" in Section 2). While
it may not be possible to avoid all downtime, there was agreement
that one ought to strive for "no inappropriate" device downtime.
This means minimal downtime impacting the user/operation of the
device. The definition of "downtime" also depends on the use
case, with a smart light bulb, the device could be "up" if the
light is still on, even if some advanced services are unavailable
for a short time. Whether an update can be done without rebooting
the device depends on the software being installed, on the OS
architecture, and potentially even on the hardware architecture.
The cost/benefit ratio also plays a role.
- It is desirable to minimize the time taken from the start of the
update to when it is finished. In some systems with many devices
(e.g., industrial lighting), this can be a challenge if updates
need to be unicasted.
- In some systems with multiple devices, it can be a challenge to
ensure that all devices are at the same release level, especially
if some devices are sleepy. There are some systems where ensuring
all relevant devices are at the same release level is a hard
requirement. In other cases, it is acceptable if devices converge
much more slowly to the current release level.
Tschofenig & Farrell Informational [Page 8]
^L
RFC 8240 IoTSU Report September 2017
- It ought not be possible for a factory worker to compromise the
update process (e.g., copy signing keys and install unauthorized
public keys/trust anchors) during the manufacturing process.
There are typically two factories involved: the first factory
produces microcontrollers and other components and the second
factory produces the complete product, such as a fridge. This
fridge contains many of the components previously manufactured.
Hence, the firmware of components produced in the first stage may
be six months old when the fridge leaves the factory. One does
not want to install a firmware update when the fridge boots the
first time. For that time, the firmware update happens already at
the end of the manufacturing process.
- Should devices have a recovery procedure when the device gets
compromised? How is the compromise detected?
- There was a bit of discussion about the importance for IoT devices
to know the current time for the purpose of checking certificate
validity. For example, what does "real-time clock" (RTC) actually
mean? And what constitutes "good enough" time? There are,
however, cost, power, size, and environmental constraints that can
make the addition of a real-time clock to an IoT device complex:
o Cost: Battery- or supercap-backed RTC modules might be several
times the cost of the rest of the bill of materials.
o Size: The battery and other components are often several times
larger than the rest of the material.
o Manufacturing: Some modules require an extra assembly step,
because the battery could be damaged or explode at high
temperatures during the reflow process.
o Supply chain: Devices containing fitted batteries need
additional supply-chain management to account for storage
temperature and to avoid shipping aged devices.
o Environmental: Real-time-clock modules are typically not rated
at industrial temperature ranges. Those that are have
extremely reduced lifetime at high temperatures.
o Lifetime: Some of these modules last only a few years at the
top of their environmental range.
While a good solution is needed, it is not clear whether there is
one true solution. A recent proposal from Google called
"Roughtime" [RT] may be worthwhile to explore.
Tschofenig & Farrell Informational [Page 9]
^L
RFC 8240 IoTSU Report September 2017
- How do devices learn about a firmware update? Push or Pull? What
should be required functionality for a firmware update protocol?
- There is a need to find out whether a software update was
successful. In one discussed solution, the bootloader analyzes
the performance of the running image to determine which image to
run (rather than just verifying the integrity of the received
image). One of the key criteria is that the updated system is
able to make a connection to the device management/software update
infrastructure. As long as it is able to talk to the update
infrastructure, it can receive another update. As an alternative
perspective, the argument was made that one needs to have a way to
update the system without having the full system running.
- Gateway requirements. In some deployments, gateways terminate the
IP-based protocol communication and use non-IP mechanisms to
communicate with other microcontrollers, for example, within a
car. The gateway in such a system is the endpoint of the IP
communication. The group had mixed feelings about the use of
gateways versus the use of IP communication to every
microcontroller. Participants argued that there is a lack of
awareness of IPv6 header compression (with the IPv6 over Low-Power
Wireless Personal Area Network (6LoWPAN) standards) and of the
possible benefits of IPv6 in those environments in terms of
lowering the complexity of the overall system.
- The amount of energy consumed due to software update needs to be
minimized. For example, awakening a sleepy device regularly only
to check for new software would seem wasteful if the device cannot
feasibly be exploited while asleep. However, the trade-off is
that once the device awakens with old software, there may be a
window of vulnerability if some relevant exploit has been
discovered.
- The amount of storage required for update ought to be minimized
and can sometimes be significant. However, there are also
benefits to schemes that store two or three different software
images for robustness, e.g., if one has space for separate current
last-known-good and being-updated images, then devices can better
survive the buggy occasional updates that are also inevitable.
Which of the features discussed in the list above are nice to have?
Which are required? Not all of these are required to achieve
improvement. Which are most important?
Among the participants, there was consensus that supporting
signatures (for integrity and authentication) of the firmware image
itself and the need for partial updates were seen as important.
Tschofenig & Farrell Informational [Page 10]
^L
RFC 8240 IoTSU Report September 2017
However, there were also concerns regarding the performance
implications, since certain device categories may not utilize public
key cryptography at all; hence, only a symmetric key approach seems
viable, unless some other scheme such as a hash-based signature
became practical (they currently aren't, due to signature size).
This aspect raised concerns and triggered a discussion around the use
of device management infrastructure, similar to Kerberos, that
manages keys and distributes them to the appropriate parties. As
such, in this setup, there could be a unique key shared with the key
distribution center; but for use with specific services (such as a
software update service), a fresh and unique secret would be
distributed.
In addition to the requirements for the end devices, there are also
infrastructure-related requirements. The infrastructure may consist
of servers in the local network and/or various servers deployed on
the Internet. It may also consist of some application-layer
gateways. The potential benefits of having such a local server might
include:
- The local server acting for neighboring nodes. For example, in a
vehicle one microcontroller can process all firmware updates and
redistribute the relevant parts of those to interconnected
microcontrollers.
- Local infrastructure could perform some digital signature checks
on behalf of the devices, e.g., certificate-revocation checking.
- Local multicast can enable transmission of the same update to many
devices.
- Local servers can hide complexity associated with Network Address
Translation (NAT) and firewalls from the device.
Another point related to local infrastructure is that since many IoT
devices will not be (directly) connected to the Internet, but only
through a gateway, there may in any case be a need to develop a
software/firmware update mechanism that works in environments where
no end-to-end Internet connectivity exists.
Some current firmware update schemes need to identify devices.
Different design approaches are possible.
- In an extreme form in one case, the decision about updating a
device is made by the infrastructure based on the unique device
identification. The operator of the firmware update
infrastructure knows about the hardware and software requirements
for the IoT devices, knows about the policy for updating the
Tschofenig & Farrell Informational [Page 11]
^L
RFC 8240 IoTSU Report September 2017
device, etc. The device itself is provisioned with credentials so
that it can verify a firmware update coming from an authorized
device.
- In another extreme, the device has knowledge about the software
and hardware configuration and possible dependencies. It consults
software repositories to obtain those software packages that are
most appropriate. Verifying the authenticity of the software
packages/firmware images will still be required.
Hence, in some deployed software update mechanisms there is no desire
for the device to be identified beyond the need to exchange
information about the most recent software versions. For other
devices, it is seen as important to identify the device itself in
order to provide the appropriate firmware image/software packages.
Related to device identification, various privacy concerns arise,
such as the need to determine what information is provided to whom
and the uses to which this information is put. For IoT devices where
there is a close relationship to an individual (see [RFC6973]),
privacy concerns are likely higher than for devices where such a
relationship does not exist (e.g., a sensor measuring concrete). The
software/firmware update mechanism should, however, not make the
privacy situation of IoT devices worse. The proposal from the group
was to introduce a minimal requirement of not sending any new
identifiers over an unencrypted channel as part of an update
protocol.
However, software updates will provide yet another venue in which the
tension between those advocating better privacy and those seeking to
monetize information will play out. It is in the nature of software
update that it requires devices to sometimes "call home" and such
interactions provide fertile ground for monetization.
4. Authorizing a Software/Firmware Update
There were quite a few points revolving around authorization:
- Who can accept or reject an update? Is it the owner of the
device, the user, or both? The user may not necessarily be the
owner.
- With products that fall under a regulatory structure, such as
healthcare, you don't want firmware other than what has been
accredited.
Tschofenig & Farrell Informational [Page 12]
^L
RFC 8240 IoTSU Report September 2017
- In some cases, it will be very difficult for a firmware update
system to communicate to users that an update is available. Doing
so may require tracking the device and its status with regard to
the installed firmware/software, with all the privacy downsides if
such tracking is badly done.
- Not all updates are the same. Security updates are often treated
differently compared to feature updates, and the authorization for
these may differ.
- Some people may choose to decline updates, often on the basis that
their system is currently stable, but also possibly due to
concerns about unwanted changes, such as the HP printer firmware
update pushed in March 2016 [HP-Firmware] that turned off features
that end users liked.
5. End-of-Support
There was quite a bit of discussion about end-of-support for
products/devices and how to handle that.
- How should end-of-support or end-of-features be treated? Devices
are often deployed for 10+ years (or even longer in some
verticals). Device makers may not want or be able to support
software and services for such an extended period of time. Will
these devices stop working after a certain, previously unannounced
period of time, such as Eye-Fi cards [EYEFI]?
- There will be a broad range of device makers involved in IoT, who
may differ substantially in terms of how well they can handle the
full device life cycle. Some will be large commercial enterprises
that are used to dealing with long device lifetimes, whereas
others may be very small commercial entities where the device
lifetime may be longer than the company lifetime. Yet other
devices may be the result of open-source activities that prosper
or flounder. The problem of end-of-support arises in all these
cases, though feasible solutions for software update may
substantially differ. In some cases, device makers may not be
willing to continue to update devices, for example, due to a
change in business strategies caused by a merger. In yet other
cases, a company may have gone bankrupt.
- While there are many legal, ethical, and business-related
questions, can we technically enable transfer of device service to
another provider? Could there even be business models for
entities that take over device updates for original device makers
that no longer wish to handle software update?
Tschofenig & Farrell Informational [Page 13]
^L
RFC 8240 IoTSU Report September 2017
- The release of code, as it was done with the Little Printer
manufactured and developed by a company called "Berg"
[LittlePrinter], could provide a useful example. While the
community took over the support in that case, this can hardly be
assumed in all cases. Just releasing the source code for a device
will not necessarily motivate others to work on the code, to fix
bugs, or to maintain a service. Nevertheless, escrowing code so
that the community can take it over if a company fails is one
possible option.
- The situation gets more complex when the device has security
mechanisms to ensure that only selected parties are allowed to
update the device (which is really a basic requirement for any
secure software update). In this case, private signing keys (or
similar) may need to be made available as well, which could
introduce security problems for already-deployed software. In the
best case, it changes assumptions made about the trust model and
about who can submit updates.
- How should deployed devices behave when they are end-of-support
and support ends? Many of them may still function normally, but
others may fail due to the absence of cloud infrastructure
services. Some products are probably expected to fail safely,
similarly to a smoke alarm that makes a loud noise when the
battery becomes empty. Cell phones without a contract can, in
some countries, still be used for emergency services (although at
the expense of society due to untraceable hoax calls), as
discussed in RFC 7406 [RFC7406].
The recommendation that can be provided to device makers and users is
to think about the end-of-support and end-of-support scenarios ahead
of time and plan for those. While device makers rarely want to
consider what happens if their business fails, it is definitely
legitimate to consider scenarios where they are hugely successful and
want to evolve a product line instead of supporting previously sold
products forever. Maybe there is also value in subscription-based
models where product and device support is only provided as long as
the subscription is paid. Without a subscription, the product is
deactivated and cannot pose a threat to the Internet at large.
Tschofenig & Farrell Informational [Page 14]
^L
RFC 8240 IoTSU Report September 2017
6. Incentives
Workshop participants also discussed how to create incentives for
companies to ship software updates, which is particularly important
for products that will be deployed in the market for a long time. It
is also further complicated by complex value chains.
- Companies shipping software updates benefit from improved
security. Their devices are less likely to be abused as a vector
to launch other attacks, whether on their own networks or (as part
of a botnet) on other Internet hosts. This clearly creates an
incentive to support and use software updates.
- On the other hand, updates can also break things. The negative
customer experience can be due to service interruptions during or
after the update process but can also result from bad experience
from deliberate changes introduced as part of an update -- such as
a feature that is not available anymore, or a "bug" that another
service has relied upon being fixed.
- For most classes of device, there does not seem to be a regulatory
requirement to report or fix vulnerabilities, similar to data-
breach-notification laws.
- Subscription models for device management were suggested so that
companies providing the service have an economic interest in
keeping devices online (and updated for that).
7. Measurements and Analysis
From a security point of view, it is important to know what devices
are out there and what version of software they run. One workshop
paper [PLONKA] reported measurements that were initially done on
buggy devices first distributed in 2003, and that were still
detectable in significant numbers just before the workshop 13 years
later. As such, in addition to the firmware update mechanism,
companies have been offering device management solutions that allow
OEMs to keep track of their devices. Tracking these devices and
their status is still challenging since some devices are only
connected irregularly or are only turned on when needed (such as a
hockey alarm that is only turned on before a match).
Tschofenig & Farrell Informational [Page 15]
^L
RFC 8240 IoTSU Report September 2017
Various stakeholders have a justified interest in knowing something
about deployed devices. For example:
- Manufacturers and other players in the supply chain are interested
to know what devices are out there, how many have been sold, and
what devices are out there but have not been sold. This could
help to understand which firmware versions to support and for how
long.
- Device users, owners, and customers like these may want to know
what devices are installed over a longer period of time, what
software/firmware version is the device running, what is the
uptime of each of these devices, what types of faults have
occurred, etc. Forgotten devices may pose problems, particularly
if they (have the potential to) behave badly.
- To an extent, network operators offering services to device owners
and other actors may also need similar information, for example,
to control botnets.
- Researchers doing analysis on the state of the Internet ecosystem
(such as what protocols are being used, how much data IoT devices
generate, etc.,) need measurements for their work.
There can easily be some invasiveness in approaches to acquiring such
measurements. The challenge was put forward to find ways to create
measurement infrastructures that are privacy preserving. Arnar
Birgisson noted that there are privacy-preserving statistical
techniques, such as RAPPOR [RAPPOR], and Ned Smith added that
techniques like Intel's Enhanced Privacy ID (EPID) may play a role in
maintaining some level of anonymity for the IoT device (owners) while
also enabling measurement. It seemed clear that naive approaches to
measurement (e.g., where devices are willing to expose a unique
identifier to anyone on request) are unlikely to prove sufficient.
8. Firmware Distribution in Mesh Networks
There was some discussion of the requirements for mesh-based
networks, mainly relating to industrial lighting. In these networks,
software update can impose unacceptable performance burdens,
especially if there are many devices, some of which may be sleepy.
The workshop discussed whether some forms of multicast (perhaps not
IP multicast) would be needed to provide acceptable solutions for
software update in such cases. It was not clear at which layer a
multicast solution might be effective in such cases, though there did
not seem to be any clearly applicable standards-based approach that
was available at the time of the workshop.
Tschofenig & Farrell Informational [Page 16]
^L
RFC 8240 IoTSU Report September 2017
9. Compromised Devices
There was recognition that there are, and perhaps always will be,
large numbers of devices that can be, or have been, compromised.
While updating these can mitigate problems, there will always be new
devices added to networks that cannot be updated (for various
reasons); so the question of what, if anything, to do about
compromised devices was discussed.
- There may be value if it were possible to single out a device that
shows faulty behavior or has been compromised, and to shut it down
in some sense.
- Prior work in the IETF on Network Endpoint Assessment (NEA) [NEA]
allowed assessing the "posture" of devices. Posture refers to the
hardware or software configuration of a device and may include
knowledge that the software installed is up to date. The obtained
information can then be used by some network infrastructure to
create a quarantined region network around the device.
- RFC 6561 [RFC6561] describes one scheme for an ISP to send
"signals" to customers about hosts (usually those that are part of
a botnet or generating spam) in their home network.
- Neither RFC 6561 nor NEA has found widespread deployment. Whether
such mechanisms can be more successful in the IoT environment has
yet to be studied.
The conclusion of the discussion at the workshop itself was that
there is some interest in identifying and stopping misbehaving
devices, but the actual solution mechanisms are unclear.
10. Miscellaneous Points
There were a number of points discussed at the workshop that don't
neatly fit under the above headings but that are worth recording.
Those include:
- Complex questions can arise when considering the impact of the
lack of updates on other devices, other persons, or the public in
general. If I don't update my device, and it is used to attack a
random host on the Internet, but at no apparent cost to me, then
what incentive do I have to do updates that would have protected
that random host? What incentive has my device's vendor to have
provided those updates in advance? An example of such a case can
be found in DDoS attacks from IoT devices, such as printers
[SNMP-DDOS] and cameras [DDOS-KREBS].
Tschofenig & Farrell Informational [Page 17]
^L
RFC 8240 IoTSU Report September 2017
- With some IoT devices, there are many stakeholders contributing to
the end product (e.g., contributing different subsystems).
Ensuring that vulnerabilities are fixed and software/firmware
updates are communicated through the value chain is known to be
difficult, as demonstrated in [OS14].
- What about forgotten devices? There are many such, and there will
be more. Even though they are forgotten, such devices may be
useless consumers of electricity, or they may be part of some
critical system.
- Can we determine whether an update impacts other devices in the
Internet? Updates to one device can have unintended impact on
other devices that depend on it. This can have cascading effects
if we are not careful. Changing the format of the output of a
sensor could have cascading impacts, e.g., if some actuator reacts
to the presence/absence of that sensor's data.
- How should a device behave when it is running out-of-date
software? The example of a smoke alarm was mentioned. We don't
want 100 devices in a living room to start beeping when their
batteries run low or when they cannot communicate with the cloud.
But are devices supposed to simply stop working?
- The IETF has published a specification that uses the Cryptographic
Message Syntax (CMS) to protect firmware packages, as described in
RFC 4108 [RFC4108], which also contains metadata to describe the
firmware image itself. During the workshop, the question was
raised whether a solution will, in the future, be needed that is
post-quantum secure. A post-quantum cryptosystem is a system that
is secure against quantum computers that have more than a trivial
number of quantum bits. It is open to conjecture whether it is
feasible to build such a machine, but current signature algorithms
are known not to be post-quantum secure. This would require
introducing technologies like the Hash-based Merkle Tree Signature
(MTS) [HOUSLEY], which was presented and discussed at the
workshop. The downsides of such solutions are their novelty and,
for these use cases, the fairly large signature or key sizes
involved; e.g., depending on the parameters, a signature could
easily have a size of 5-10 KiB [HASHSIG] [XMSS]. While it is
likely that post-quantum secure signature algorithms will be
needed for software updates at some point in time, it may be the
case that such algorithms will be needed sooner for services
requiring long-term confidentiality, (e.g., using Transport Layer
Security (TLS)), so it was not clear that this application would
be a first-mover in terms of post-quantum security.
Tschofenig & Farrell Informational [Page 18]
^L
RFC 8240 IoTSU Report September 2017
- Many devices that use certificates do not check the revocation
status of certificates, even though extensions like Online
Certificate Status Protocol (OCSP) stapling exists [RFC6961] and
is increasingly deployed with Web browsers. The workshop
participants did not reach a conclusion regarding the
recommendations of certificate revocation checking, although the
importance has been recognized. The reluctance regarding
deploying certificate revocation deserves further investigation.
11. Tentative Conclusions and Next Steps
The workshop participants discussed some tentative conclusions and
possible next steps:
- There was strong agreement that having some standardized secure
(authorized and authenticated) software update would be an
improvement over having none.
- It would be valuable to find agreement on the right scope for a
standardized software/firmware update mechanism. It is not clear
that an entire update system can or should be standardized, but
there may be some aspects of such solutions where standards would
be beneficial, e.g., (meta-)data formats and/or protocols for
distributing firmware updates. More discussion is needed to
identify which parts of the problem space could benefit from
standardization.
- It will be useful to investigate solutions to install updates with
no operational interruption as well as ways to distribute software
updates without disrupting network operations (specifically, in
low-power wireless networks), including the development of a
multicast transfer mechanism (with appropriate security).
- There will almost certainly be a need for a way to transfer
authority/responsibility for updates, particularly considering
end-of-support cases. This is very close to calling for a
standard way to "root" devices as a feature of all devices.
- We would benefit from documentation of proofs-of-concept of
software/firmware updates for constrained devices on different
operating system architectures. The IETF Light-Weight
Implementation Guidance (lwig) Working Group may be a good venue
for such documents.
Tschofenig & Farrell Informational [Page 19]
^L
RFC 8240 IoTSU Report September 2017
12. Security Considerations
This document summarizes an IAB workshop on software/firmware updates
and the entire content is, therefore, security related.
Standardizing and deploying a software/firmware update mechanism for
use with IoT devices could help fix security vulnerabilities faster
and, in some cases, be the only via to get vulnerability patched at
all.
13. IANA Considerations
This document does not require any IANA actions.
14. Informative References
[BB14] Barrett, B., "Winks Outage Shows Us How Frustrating Smart
Homes Could Be", April 2014,
<http://www.wired.com/2015/04/smart-home-headaches/>.
[BS14] Schneier, B., "The Internet of Things Is Wildly Insecure
-- And Often Unpatchable", January 2014,
<https://www.schneier.com/essays/archives/2014/01/
the_internet_of_thin.html>.
[BSDIFF] Percival, C., "Matching with Mismatches and Assorted
Applications", September 2016,
<https://ora.ox.ac.uk/objects/
uuid:4f0d53cc-fb9f-4246-a835-3c8734eba735/datastreams/
THESIS01>.
[COURGETTE]
Google, "Software Updates: Courgette", September 2016,
<https://www.chromium.org/developers/design-documents/
software-updates-courgette>.
[DDOS-KREBS]
Goodin, D., "Record-breaking DDoS reportedly delivered by
>145k hacked cameras", September 2016,
<http://arstechnica.com/security/2016/09/botnet-of-145k-
cameras-reportedly-deliver-internets-biggest-ddos-ever/>.
[EYEFI] Aldred, J., "Eye-Fi to Drop Suport for Some Cards. They
Will 'Magically' Stop Working on September 16, 2016", June
2016, <http://www.diyphotography.net/eyefi-drop-support-
cards-will-magically-stop-working-september-16-2016/>.
Tschofenig & Farrell Informational [Page 20]
^L
RFC 8240 IoTSU Report September 2017
[FTC] Federal Trade Commission, "FTC Report on Internet of
Things Urges Companies to Adopt Best Practices to Address
Consumer Privacy and Security Risks", January 2015,
<https://www.ftc.gov/system/files/documents/reports/
federal-trade-commission-staff-report-november-2013-
workshop-entitled-internet-things-
privacy/150127iotrpt.pdf>.
[HASHSIG] Langley, A., "Hash based signatures", July 2013,
<https://www.imperialviolet.org/2013/07/18/hashsig.html>.
[HOUSLEY] Housley, R., "Use of the Hash-based Merkle Tree Signature
(MTS) Algorithm in the Cryptographic Message Syntax
(CMS)", Work in Progress, draft-housley-cms-mts-hash-
sig-07, June 2017.
[HP-Firmware]
BoingBoing, "HP detonates its timebomb: printers stop
accepting third party ink en masse", September 2016,
<http://boingboing.net/2016/09/19/
hp-detonates-its-timebomb-pri.html>.
[IoTSU] IAB, "Internet of Things Software Update Workshop (IoTSU)
2016", June 2016,
<https://www.iab.org/activities/workshops/iotsu/>.
[LittlePrinter]
Berg, "The future of Little Printer", September 2014,
<http://littleprinterblog.tumblr.com/post/97047976103/
the-future-of-little-printer>.
[NEA] IETF, "Network Endpoint Assessment (nea) Concluded WG",
October 2016,
<https://datatracker.ietf.org/wg/nea/charter/>.
[OS-Support]
Dong, W., Chen, C., Liu, X., and J. Bu, "Providing OS
Support for Wireless Sensor Networks: Challenges and
Approaches", DOI 10.1109/SURV.2010.032610.00045, May 2010,
<http://ieeexplore.ieee.org/stamp/
stamp.jsp?arnumber=5462978>.
[OS14] Oppenheim, L. and S. Tal, "Too Many Cooks: Exploiting the
Internet of TR-069 Things", December 2014,
<http://mis.fortunecook.ie/
too-many-cooks-exploiting-tr069_tal-oppenheim_31c3.pdf>.
Tschofenig & Farrell Informational [Page 21]
^L
RFC 8240 IoTSU Report September 2017
[PACMAN] "pacman", 2016, <https://www.archlinux.org/pacman/>.
[PLONKA] Plonka, D. and E. Boschi, "The Internet of Things Old and
Unmanaged", June 2016,
<https://down.dsg.cs.tcd.ie/iotsu/subs/
IoTSU_2016_paper_25.pdf>.
[RAPPOR] Erlingsson, U., Pihur, V., and A. Korolova, "RAPPOR",
DOI 10.1145/2660267.2660348, July 2014,
<http://dl.acm.org/citation.cfm?doid=2660267.2660348>.
[RFC4108] Housley, R., "Using Cryptographic Message Syntax (CMS) to
Protect Firmware Packages", RFC 4108,
DOI 10.17487/RFC4108, August 2005,
<https://www.rfc-editor.org/info/rfc4108>.
[RFC6561] Livingood, J., Mody, N., and M. O'Reirdan,
"Recommendations for the Remediation of Bots in ISP
Networks", RFC 6561, DOI 10.17487/RFC6561, March 2012,
<https://www.rfc-editor.org/info/rfc6561>.
[RFC6961] Pettersen, Y., "The Transport Layer Security (TLS)
Multiple Certificate Status Request Extension", RFC 6961,
DOI 10.17487/RFC6961, June 2013,
<https://www.rfc-editor.org/info/rfc6961>.
[RFC6973] Cooper, A., Tschofenig, H., Aboba, B., Peterson, J.,
Morris, J., Hansen, M., and R. Smith, "Privacy
Considerations for Internet Protocols", RFC 6973,
DOI 10.17487/RFC6973, July 2013,
<https://www.rfc-editor.org/info/rfc6973>.
[RFC7406] Schulzrinne, H., McCann, S., Bajko, G., Tschofenig, H.,
and D. Kroeselberg, "Extensions to the Emergency Services
Architecture for Dealing With Unauthenticated and
Unauthorized Devices", RFC 7406, DOI 10.17487/RFC7406,
December 2014, <https://www.rfc-editor.org/info/rfc7406>.
[RPM] "Red Hat Package Manager (RPM)", 2016, <http://rpm.org/>.
[RT] Google, "Roughtime", September 2016,
<https://roughtime.googlesource.com/roughtime>.
[SNMP-DDOS]
BITAG, "SNMP Reflected Amplification DDoS Attack
Mitigation", August 2012,
<https://www.bitag.org/documents/
SNMP-Reflected-Amplification-DDoS-Attack-Mitigation.pdf>.
Tschofenig & Farrell Informational [Page 22]
^L
RFC 8240 IoTSU Report September 2017
[WP29] Article 29 Data Protection Working Party, "Opinion 8/2014
on the on Recent Developments on the Internet of Things",
14/EN, WP 223, September 2014,
<http://ec.europa.eu/justice/data-protection/article-
29/documentation/opinion-recommendation/files/2014/
wp223_en.pdf>.
[XMSS] Huelsing, A., Butin, D., Gazdag, S., Rijneveld, J., and A.
Mohaisen, "XMSS: Extended Hash-Based Signatures", Work in
Progress, draft-irtf-cfrg-xmss-hash-based-signatures-10,
July 2017.
Tschofenig & Farrell Informational [Page 23]
^L
RFC 8240 IoTSU Report September 2017
Appendix A. Program Committee
The following individuals helped to organize the workshop: Jari
Arkko, Arnar Birgisson, Carsten Bormann, Stephen Farrell, Russ
Housley, Ned Smith, Robert Sparks, and Hannes Tschofenig.
Appendix B. Accepted Position Papers
The list of accepted position papers is below. Links to these, and
to the workshop agenda and raw minutes are accessible at:
<https://down.dsg.cs.tcd.ie/iotsu/>.
- R. Housley, "Position Paper for Internet of Things Software Update
Workshop (IoTSU)"
- D. Thomas and A. Beresford, "Incentivising software updates"
- L. Zappaterra and E. Dijk, "Software Updates for Wireless
Connected Lighting Systems: requirements, challenges and
recommendations"
- M. Orehek and A. Zugenmaier, "Updates in IoT are more than just
one iota"
- D. Plonka and E. Boschi, "The Internet of Things Old and
Unmanaged"
- D. Bosschaert, "Using OSGi for an extensible, updatable and future
proof IoT"
- A. Padilla, E. Baccelli, T. Eichinger, and K. Schleiser, "The
Future of IoT Software Must be Updated"
- T. Hardie, "Software Update in a multi-system Internet of Things"
- R. Sparks and B. Campbell, "Avoiding the Obsolete-Thing Event
Horizon"
- J. Karkov, "SW update for Long lived products"
- S. Farrell, "Some Software Update Requirements"
- S. Chakrabarti, "Internet Of Things Software Update Challenges:
Ownership, Software Security & Services"
- M. Kovatsch, A. Scholz, and J. Hund, "Why Software Updates Are
More Than a Security Issue: Challenges for IETF CoRE and the W3C
Web of Things"
Tschofenig & Farrell Informational [Page 24]
^L
RFC 8240 IoTSU Report September 2017
- A. Grau, "Secure Software Updates for IoT Devices"
- Birr-Pixton, "Electric Imp's experiences of upgrading half a
million embedded devices"
- Y. Zhang, J. Yin, C. Groves, and M. Patel, "oneM2M device
management and software/firmware update"
- E. Smith, M. Stitt, R. Ensink, and K. Jager, "User Experience (UX)
Centric IoT Software Update"
- J.-P. Fassino, E.A. Moktad, and J.-M. Brun, "Secure Firmware
Update in Schneider Electric IOT-enabled offers"
- M. Orehek, "Summary of existing firmware update strategies for
deeply embedded systems"
- N. Smith, "Toward A Common Modeling Standard for Software Update
and IoT Objects"
- S. Schmidt, M. Tausig, M. Hudler, and G. Simhandl, "Secure
Firmware Update Over the Air in the Internet of Things Focusing on
Flexibility and Feasibility"
- A. Adomnicai, J. Fournier, L. Masson, and A. Tria, "How careful
should we be when implementing cryptography for software update
mechanisms in the IoT?"
- V. Prevelakis and H. Hamad, "Controlling Change via Policy
Contracts"
- H. Birkholz, N. Cam-Winget, and C. Bormann, "IoT Software Updates
need Security Automation"
- R. Bisewski, "Comparative Analysis of Distributed Repository
Update Methodology and How CoAP-like Update Methods Could
Alleviate Internet Strain for Devices that Constitute the Internet
of Things"
- J. Arrko, "Architectural Considerations with Smart Objects and
Software Updates"
- J. Jimenez and M. Ocak, "Software Update Experiences for IoT"
- H. Tschofenig, "Software and Firmware Updates with the OMA LWM2M
Protocol"
Tschofenig & Farrell Informational [Page 25]
^L
RFC 8240 IoTSU Report September 2017
Appendix C. List of Participants
- Arnar Birgisson, Google
- Alan Grau, IconLabs
- Alexandre Adomnicai, Trusted Objects
- Alf Zugenmaier, Munich University of Applied Science
- Ben Campbell, Oracle
- Carsten Bormann, TZI University Bremen
- Daniel Thomas, University of Cambridge
- David Bosschaert, Adobe
- David Malone, Maynooth University
- David Plonka, Akamai
- Doug Leith, Trinity College Dublin
- Emmanuel Baccelli, Inria
- Eric Smith, SpinDance
- Jean-Philippe Fassino, Schneider Electric
- Joergen Karkov, Grundfos
- Jonathon Dukes, Trinity College Dublin
- Joseph Birr-Pixton, Electric Imp
- Kaspar Schleiser, Freie Universitaet Berlin
- Luca Zappaterra, Philips Lighting Research
- Martin Orehek, Munich University of Applied Science
- Mathias Tausig, FH Campus Wien
- Matthias Kovatsch, Siemens
- Milan Patel, Huawei
Tschofenig & Farrell Informational [Page 26]
^L
RFC 8240 IoTSU Report September 2017
- Ned Smith, Intel
- Robert Ensink, SpinDance
- Robert Sparks, Oracle
- Russ Housley, Vigil Security
- Samita Chakrabarti, Ericsson
- Stephen Farrell, Trinity College Dublin
- Vassilis Prevelakis, TU Braunschweig
- Hannes Tschofenig, ARM Ltd.
Acknowledgements
We would like to thank all paper authors and participants for their
contributions. The IoTSU workshop is co-sponsored by the Internet
Architecture Board and the Science Foundation Ireland funded CONNECT
Centre for future networks and communications. The program committee
would like to express their thanks to Comcast for sponsoring the
social event.
Authors' Addresses
Hannes Tschofenig
ARM Limited
Email: hannes.tschofenig@gmx.net
Stephen Farrell
Trinity College Dublin
Dublin 2
Ireland
Phone: +353-1-896-2354
Email: stephen.farrell@cs.tcd.ie
Tschofenig & Farrell Informational [Page 27]
^L
|