idnits 2.17.1 draft-arkko-lwig-cellular-01.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (July 15, 2013) is 3937 days in the past. Is this intentional? Checking references for intended status: Informational ---------------------------------------------------------------------------- == Outdated reference: A later version (-16) exists of draft-ietf-core-observe-08 == Outdated reference: A later version (-07) exists of draft-ietf-lwig-terminology-05 Summary: 0 errors (**), 0 flaws (~~), 3 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group J. Arkko 3 Internet-Draft A. Eriksson 4 Intended status: Informational A. Keranen 5 Expires: January 16, 2014 Ericsson 6 July 15, 2013 8 Building Power-Efficient CoAP Devices for Cellular Networks 9 draft-arkko-lwig-cellular-01 11 Abstract 13 This memo discusses the use of the Constrained Application Protocol 14 (CoAP) protocol in building sensors and other devices that employ 15 cellular networks as a communications medium. Building communicating 16 devices that employ these networks is obviously well known, but this 17 memo focuses specifically on techniques necessary to minimize power 18 consumption. 20 Status of This Memo 22 This Internet-Draft is submitted in full conformance with the 23 provisions of BCP 78 and BCP 79. 25 Internet-Drafts are working documents of the Internet Engineering 26 Task Force (IETF). Note that other groups may also distribute 27 working documents as Internet-Drafts. The list of current Internet- 28 Drafts is at http://datatracker.ietf.org/drafts/current/. 30 Internet-Drafts are draft documents valid for a maximum of six months 31 and may be updated, replaced, or obsoleted by other documents at any 32 time. It is inappropriate to use Internet-Drafts as reference 33 material or to cite them other than as "work in progress." 35 This Internet-Draft will expire on January 16, 2014. 37 Copyright Notice 39 Copyright (c) 2013 IETF Trust and the persons identified as the 40 document authors. All rights reserved. 42 This document is subject to BCP 78 and the IETF Trust's Legal 43 Provisions Relating to IETF Documents 44 (http://trustee.ietf.org/license-info) in effect on the date of 45 publication of this document. Please review these documents 46 carefully, as they describe your rights and restrictions with respect 47 to this document. Code Components extracted from this document must 48 include Simplified BSD License text as described in Section 4.e of 49 the Trust Legal Provisions and are provided without warranty as 50 described in the Simplified BSD License. 52 Table of Contents 54 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 55 2. Goals for Low-Power Operation . . . . . . . . . . . . . . . . 3 56 3. Link-Layer Assumptions . . . . . . . . . . . . . . . . . . . 5 57 4. Scenarios . . . . . . . . . . . . . . . . . . . . . . . . . . 7 58 5. Discovery and Registration . . . . . . . . . . . . . . . . . 8 59 6. Data Formats . . . . . . . . . . . . . . . . . . . . . . . . 10 60 7. Real-Time Reachable Devices . . . . . . . . . . . . . . . . . 10 61 8. Sleepy Devices . . . . . . . . . . . . . . . . . . . . . . . 11 62 8.1. Implementation Considerations . . . . . . . . . . . . . . 12 63 9. Security Considerations . . . . . . . . . . . . . . . . . . . 13 64 10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 13 65 11. References . . . . . . . . . . . . . . . . . . . . . . . . . 13 66 11.1. Normative References . . . . . . . . . . . . . . . . . . 13 67 11.2. Informative References . . . . . . . . . . . . . . . . . 14 68 Appendix A. Acknowledgments . . . . . . . . . . . . . . . . . . 15 69 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 15 71 1. Introduction 73 This memo discusses the use of the Constrained Application Protocol 74 (CoAP) protocol [I-D.ietf-core-coap] in building sensors and other 75 devices that employ cellular networks as a communications medium. 76 Building communicating devices that employ these networks is 77 obviously well known, but this memo focuses specifically on 78 techniques necessary to minimize power consumption. CoAP has many 79 advantages, including being simple to implement; a thousand lines for 80 the entire software above IP layer is plenty for a CoAP-based sensor, 81 for instance. However, while many of these advantages are obvious 82 and easily obtained, optimizing power consumption remains challenging 83 and requires careful design [I-D.arkko-core-sleepy-sensors]. 85 The memo targets primarily 3GPP cellular networks in their 2G, 3G, 86 and LTE variants and their future enhancements, including possible 87 power efficiency improvements at the radio and link layers. The 88 exact standards or details of the link layer or radios are not 89 relevant for our purposes, however. To be more precise, the material 90 in this memo is suitable for any large-scale, public network that 91 employs point-to-point communications model and radio technology. 93 Our focus is devices that need to be optimized for power usage, and 94 on devices that employ CoAP. As a general technology, CoAP is 95 similar to HTTP. It can be used in various ways and network entities 96 may take on different roles. This freedom allows the technology to 97 be used in efficient and less efficient ways. Some guidance is 98 needed to understand what communication models over CoAP are 99 recommended when low power usage is a critical goal. 101 The recommendations in this memo should be taken as complementary to 102 device hardware optimization, microelectronics improvements, and 103 further evolution of the underlying link and radio layers. Further 104 gains in power efficiency can certainly be gained on several fronts; 105 the approach that we take in this memo is to do what can be done at 106 the IP, transport, and application layers to provide the best 107 possible power efficiency. Application implementors generally have 108 to use the current generation microelectronics, currently available 109 radio networks and standards, and so on. This focus in our memo 110 should by no means be taken as an indication that further evolution 111 in these other areas is unnecessary. Such evolution is useful, is 112 ongoing, and is generally complementary to the techniques presented 113 in this memo. The evolution of underlying technologies may change 114 what techniques described here are useful for a particular 115 application, however. 117 The rest of this memo is structured as follows. Section 2 discusses 118 the need and goals for low-power devices. Section 3 outlines our 119 expectations for the low layer communications model. Section 4 120 describes the two scenarios that we address, and Section 5, 121 Section 6, Section 7 and Section 8 give guidelines for use of CoAP in 122 these scenarios. 124 2. Goals for Low-Power Operation 126 There are many situations where power usage optimization is 127 unnecessary. Optimization may not be necessary on devices that can 128 run on power feed over wired communications media, such as in Power- 129 over-Ethernet (PoE) solutions. These devices may require a 130 rudimentary level of power optimization techniques just to keep 131 overall energy costs and aggregate power feed sizes at a reasonable 132 level, but more extreme techniques necessary for battery powered 133 devices are not required. The situation is similar with devices that 134 can be easily be connected to mains power. Other types of devices 135 may get an occasional charge of power from energy harvesting 136 techniques. For instance, some environmental sensors can run on 137 solar cells. Typically, these devices still have to regulate their 138 power usage in a strict manner, for instance to be able to use as 139 small and inexpensive solar cells as possible. 141 In battery operated devices the power usage is even more important. 142 For instance, one of the authors employs over a hundred different 143 sensor devices in his home network. A majority of these devices are 144 wired and run on PoE, but in most environments this would be 145 impractical because the necessary wires do not exist. The future is 146 in wireless solutions that can cover buildings and other environments 147 without assuming a pre-existing wired infrastructure. In addition, 148 in many cases it is impractical to provide a mains power source. 149 Often there are no power sockets easily available in the locations 150 that the devices need to be in, and even if there were, setting up 151 the wires and power adapters would be more complicated than 152 installing a standalone device without any wires. 154 Yet, with a large number of devices the battery lifetimes become 155 critical. Cost and practical limits dictate that devices can be 156 largely just bought and left on their own. For instance, with 157 hundred devices, even a ten-year battery lifetime results in a 158 monthly battery change for one device within the network. This may 159 be impractical in many environments. In addition, some devices may 160 be physically difficult to reach for a battery change. Or, a large 161 group of devices -- such as utility meters or environmental sensors 162 -- cannot be economically serviced too often, even if in theory the 163 batteries could be changed. 165 SENSOR COMMUNICATION INTERVAL 166 +----------------+------------------+-----------------+ 167 POWER SOURCE | Seconds | Minutes or Hours | Days and longer | 168 +------------+----------------+------------------+-----------------+ 169 | | | | | 170 | Battery | Low-power | Low-power or | Always-off | 171 | | | Always-off | | 172 +------------+----------------+------------------+-----------------+ 173 | | | | | 174 | Harvesting | Low-power | Low-power or | Always-off | 175 | | | Always-off | | 176 +------------+----------------+------------------+-----------------+ 177 | | | | | 178 | Mains | Always-on | Always-on | Always-on | 179 | | | | | 180 +------------+----------------+------------------+-----------------+ 182 Figure 1: Power usage strategies for different classes of 183 applications 185 Many of these situations lead to a requirement for minimizing power 186 usage and/or maximizing battery lifetimes. A summary of the 187 different situations for sensor-type devices, using the power usage 188 strategies described in [I-D.ietf-lwig-terminology], is shown in 189 Figure 1. Unfortunately, much of our current technology has been 190 built with different objectives in mind. Networked devices that are 191 "always on", gadgets that require humans to recharge them every 192 couple of days, and protocols that have been optimized to maximize 193 throughput rather than conserve resources. 195 Long battery lifetimes are required for many applications, however. 196 In some cases these lifetimes should be in the order of years or even 197 a decade or longer. Some communication devices already reach multi- 198 year lifetimes, and continuous improvement in low-power electronics 199 and advances in radio technology keep pushing these lifetimes longer. 200 However, it is perhaps fair to say that battery lifetimes are 201 generally too short at present time. 203 Power usage can not be evaluated solely based on lower layer 204 communications. The entire system, including upper layer protocols 205 and applications is responsible for the power consumption as a whole. 206 The lower communication layers have already adopted many techniques 207 that can be used to reduce power usage, such as scheduling device 208 wake-up times. Further reductions will likely need some co-operation 209 from the upper layers so that unnecessary communications, denial-of- 210 service attacks on power consumption, and other power drains are 211 eliminated. 213 Of course, application requirements ultimately determine what kinds 214 of communications are necessary. For instance, some applications 215 require more data to be sent than others. The purpose of the 216 guidelines in this memo is not to prefer one or the other 217 application, but to provide guidance on how to minimize the amount of 218 communications overhead that is not directly required by the 219 application. While such optimization is generally useful, it is 220 relatively speaking most noticeable in applications that transfer 221 only a small amount of data, or operate only infrequently. 223 3. Link-Layer Assumptions 225 We assume that the underlying communications network can be any 226 large-scale, public network that employs point-to-point 227 communications model and radio technology. 2G, 3G, and LTE networks 228 are examples of such networks, but not the only possible networks 229 with these characteristics. 231 In the following we look at some of these characteristics and their 232 implications. Note that in most cases these characteristics are not 233 properties of the specific networks but rather inherent in the 234 concept of public networks. 236 Public networks 238 Using a public network service implies that applications can be 239 deployed without having to build a network to go with them. For 240 economical reasons, only the largest users (such as utility 241 companies) could afford to build their own network, and even they 242 would not be able to provide a world-wide coverage. This means 243 that applications where coverage is important can be built. For 244 instance, most transport sector applications require national or 245 even world-wide coverage to work. 247 But there are other implications, as well. By definition, the 248 network is not tailored for this application and with some 249 exceptions, the traffic passes through the Internet. One 250 implication of this is that there are generally no application- 251 specific network configurations or discovery support. For 252 instance, the public network helps devices to get on the Internet, 253 set up default routers, configure DNS servers, and so on, but does 254 nothing for configuring possible higher-layer functions, such as 255 servers the device might need to contact to perform its 256 application functions. 258 Public networks often provide web proxies, and these can in some 259 cases make a significant improvement for delays and cost of 260 communication over the wireless link. For instance, collecting 261 content from a large number of servers used to render a web page 262 and resolving their DNS names in a proxy instead of the user's 263 device may cut down on the general chattiness of the 264 communications, therefore reducing overall delay in completing the 265 entire transaction. However, as of today such proxies are 266 provided only for HTTP communications, not for CoAP. 268 Similarly, given the lack of available IPv4 addresses, the chances 269 are that many devices are behind a network address translation 270 (NAT) device. This means that they are not easily reachable as 271 servers. Alternatively, the devices may be directly on the global 272 Internet (either on IPv4 or IPv6) and easily reachable as servers. 273 Unfortunately, this may mean that they also receive unwanted 274 traffic, which may have implications for both power consumption 275 and service costs. 277 Point-to-point link model 279 This is a common link model in cellular networks. One implication 280 of this model is that there will be no other nodes on the same 281 link, except maybe for the service provider's router. As a 282 result, multicast discovery can not be reasonably used for any 283 local discovery purposes. While the configuration of the service 284 provider's router for specific users is theoretically possible, in 285 practice this is difficult to achieve, at least for any small user 286 that can not afford a network-wide contract for a private APN. 287 The public network access service has little per-user tailoring. 289 Radio technology 291 The use of radio technology means that power is needed to operate 292 the radios. Transmission generally requires more power than 293 reception. However, radio protocols have generally been designed 294 so that a device checks periodically whether it has messages. In 295 a situation where messages arrive seldom or not at all, this 296 checking consumes energy. Research has shown that these periodic 297 checks (such as LTE paging message reception) are often a far 298 bigger contributor to energy consumption than message 299 transmission. 301 Note that for situations where there are several applications on 302 the same device wishing to communicate with the Internet in some 303 manner, bundling those applications together at the same time can 304 be very useful. Some guidance for these techniques in the 305 smartphone context can be found in [Android-Bundle]. 307 Naturally, each device has a freedom to decide when it sends 308 messages. In addition, we assume that there is some way for the 309 devices to control when or how often it wants to receive messages. 310 Specific methods for doing this depend on the specific network being 311 used and also tend to change as improvements in the design of these 312 networks are incorporated. The reception control methods generally 313 come in two variants, fine grained mechanisms that deal with how 314 often the device needs to wake-up for paging messages, and more crude 315 mechanisms where the device simply disconnects from the network for a 316 period of time. There are associated costs and benefits to each 317 method, but those are not relevant for this memo, as long as some 318 control method exists. 320 4. Scenarios 322 Not all applications or situations are equal. They may require 323 different solutions or communication models. This memo focuses on 324 two common scenarios: 326 Real-Time Reachable Devices 328 This scenario involves all communication that requires real-time 329 or near real-time communications with a device. That is, a 330 network entity must be able to reach the device with a small time 331 lag at any time, and no pre-agreed wake-up schedule can be 332 arranged. By "real-time" we mean any reasonable end-to-end 333 communications latency, be it measured in milliseconds or seconds. 334 However, unpredictable sleep states are not expected. 336 Examples of devices in this category include sensors that must be 337 measurable from a remote source at any instant in time, such as 338 process automation sensors and actuators that require immediate 339 action, such as light bulbs or door locks. 341 Sleepy Devices 343 This scenario involves freedom to choose when device communicates. 344 The device is often expected to be able to be in a sleep state for 345 much of its time. The device itself can choose when it 346 communicates, or it lets the network assist in this task. 348 Examples of devices in this category include sensors that track 349 slowly changing values, such as temperature sensors and actuators 350 that control a relatively slow process, such as heating systems. 352 Note that there may be hard real-time requirements, but they are 353 expressed in terms of how fast the device can communicate, not in 354 terms of how fast it can respond to a network stimuli. For 355 instance, a fire detector can be classified as a sleepy device as 356 long as it can internally quickly wake up on detecting fire and 357 initiate the necessary communications without delay. 359 5. Discovery and Registration 361 In both scenarios the device will be attached to a public network. 362 Without special arrangements, the device will also get a dynamically 363 assigned IP address or an IPv6 prefix. At least one but typically 364 several router hops separate the device from its communicating peers 365 such as application servers. As a result, the address or even the 366 existence of the device is typically not immediately obvious to the 367 other nodes participating in the application. As discussed earlier, 368 multicast discovery has limited value in public networks; network 369 nodes cannot practically discover individual devices in a large 370 public network. And the devices can not discover who they need to 371 talk, as the public network offers just basic Internet connectivity. 373 Our recommendation is to initiate a discovery and registration 374 process. This allows each device to inform its peers that it has 375 connected to the network and that it is reachable at a given IP 376 address. 378 The registration part is easy; a resource directory or mirror proxy 379 can be used. The device should perform the necessary registration 380 with these devices, for instance, as specified in 381 [I-D.shelby-core-resource-directory] and 382 [I-D.vial-core-mirror-proxy]. In order to do this registration, the 383 device needs to know its CORE Link Format description, as specified 384 in [RFC6690]. In essence, the registration process involves 385 performing a GET on .well-known/core/?rt=core-rd at the address of 386 the resource directory (or rt=core-mp for mirror proxies), and then 387 doing a POST on the path of the discovered resource. 389 However, current CoAP specifications provide limited support for 390 discovering the resource directory or mirror proxy. Local multicast 391 discovery only works in LAN-type networks, but not in these public 392 cellular networks. Our recommended alternate methods for discovery 393 are the following: 395 Manual Configuration 397 The DNS name of the resource directory or mirror proxy is manually 398 configured. This approach is suitable in situations where the 399 owner of the devices has the resources and capabilities to do the 400 configuration. For instance, a utility company can typically 401 program its metering devices to point to the company servers. 403 Manufacturer Server 405 The DNS name of the directory or proxy is hardwired to the 406 software by the manufacturer, and the directory or proxy is 407 actually run by the manufacturer. This approach is suitable in 408 many consumer usage scenarios, where it would be unreasonable to 409 assume that the consumer runs any specific network services. The 410 manufacturer's web interface and the directory/proxy servers can 411 co-operate to provide the desired functionality to the end user. 412 For instance, the end user can register a device identity in the 413 manufacturer's web interface and ask specific actions to be taken 414 when the device does something. 416 Delegating Manufacturer Server 418 The DNS name of the directory or proxy is hardwired to the 419 software by the manufacturer, but this directory or proxy merely 420 redirects the request to a directory or proxy run by the whoever 421 bought the device. This approach is suitable in many enterprise 422 environments, as it allows the enterprise to be in charge of 423 actual data collection and device registries; only the initial 424 bootstrap goes through the manufacturer. In many cases there are 425 even legal requirements (such as EU privacy laws) that prevent 426 providing unnecessary information to third parties. 428 Common Global Resolution Infrastructure 430 The delegating manufacturer server model could be generalized into 431 a reverse-DNS -like discovery infrastructure that could answer the 432 question "this is device with identity ID, where is my home 433 registration server?". However, at present no such resolution 434 system exists. (Note: The EPCGlobal system for RFID resolution is 435 reminiscent of this approach.) 437 6. Data Formats 439 A variety of data formats exist for passing around data. These data 440 formats include XML, JSON, EXI, and text formats. Message lengths 441 can have a significant effect on the amount of energy required for 442 the communications, and such it is highly desirable to keep message 443 lengths minimal. At the same time, extreme optimization can affect 444 flexibility and ease of programming. The authors recommend 445 [I-D.jennings-senml] as a compact, yet easily processed and 446 extendable textual format. 448 7. Real-Time Reachable Devices 450 These devices are often best modeled as CoAP servers. The device 451 will have limited control on when it receives messages, and it will 452 have to listen actively for messages, up to the limits of the 453 underlying link layer. If the device acts also in client role in 454 some phase of its operation, it can control how many transmissions it 455 makes on its own behalf. 457 The packet reception checks should be tailored according to the 458 requirements of the application. If sub-second response time is not 459 needed, a slightly more infrequent checking process may save some 460 power. 462 For sensor-type devices, the CoAP OBSERVE extension 463 [I-D.ietf-core-observe] may be supported. This allows the sensor to 464 track changes to the sensed value, and make an immediate observation 465 response upon a change. This may reduce the amount of polling needed 466 to be done by the client. Unfortunately, it does not reduce the time 467 that the device needs to be listening for requests. Subscription 468 requests from other clients than the currently registered one may 469 come at any time, the current client may change its request, and the 470 device still needs to respond to normal queries as a server. As a 471 result, the sensor can not rely having to communicate only on its own 472 choice of observation interval. 474 In order to act as a server, the device needs to be placed in a 475 public IPv4 address, be reachable over IPv6, or hosted in a private 476 network. If the the device is hosted on a private network, then all 477 other nodes need to access this device also need to reside in the 478 same private network. There are multiple ways to provide private 479 networks over public cellular networks. One approach is to dedicate 480 a special Access Point Name or APN for the private network. 481 Corporate access via cellular networks has often been arranged in 482 this manner, for instance. Another approach is to use Virtual 483 Private Networking (VPN) technology, for instance IPsec-based VPNs. 485 Power consumption from unwanted traffic is problematic in these 486 devices, unless placed in a private network or protected by a 487 operator-provided firewall service. Devices on an IPv6 network will 488 have some protection through the nature of the 2^64 address 489 allocation for a single terminal in a 3GPP cellular network; the 490 attackers will be unable to guess the full IP address of the device. 491 However, this protects only the device from processing a packet, but 492 since the network will still deliver the packet to any of the 493 addresses within the assigned 64-bit prefix, packet reception costs 494 are still incurred. 496 Note that the the VPN approach can not prevent unwanted traffic 497 received at the tunnel endpoint address, and may require keep-alive 498 traffic. Special APNs can solve this issue, but require explicit 499 arrangement with the service provider. 501 8. Sleepy Devices 503 These devices are best modeled as devices that can delegate queries 504 to some other node. For instance, as mirror proxy clients 505 [I-D.vial-core-mirror-proxy]. When the device initializes itself, it 506 makes a registration of itself in a mirror proxy as described above 507 in Section 5 and then continues to send periodic updates of sensor 508 values. 510 As a result, the device acts only as a client, not a server, and can 511 shut down all communication channels while it is during its sleeping 512 period. The length of the sleeping period depends on power and 513 application requirements. Some environmental sensors might use a day 514 or a week as the period, while other devices may use a smaller values 515 ranging from minutes to hours. 517 Other approaches for delegation include CoAP-options described in 518 [I-D.castellani-core-alive] 519 [I-D.fossati-core-publish-monitor-options]. In this memo we use 520 mirror proxies as an example, because of their ability to work with 521 both HTTP and CoAP implementations; but the concepts are similar and 522 the IETF work is still in progress so the final protocol details are 523 yet to be decided. 525 The ability to shut down communications and act as only a client has 526 four impacts: 528 o Radio transmission and reception can be turned off during the 529 sleeping period, reducing power consumption significantly. 531 o However, some power and time is consumed by having to re-attach to 532 the network after the end of a sleep period. 534 o The window of opportunity for unwanted traffic to arrive is much 535 smaller, as the device is listening for traffic only part of the 536 time. Note that networks may cache packets for some time though. 537 On the other hand, stateful firewalls can effectively remove much 538 of unwanted traffic for client type devices. 540 o The device may exist behind a NAT or a firewall without being 541 impacted. Note that "Simple Security" basic IPv6 firewall 542 capability [RFC6092] blocks inbound UDP traffic by default, so 543 just moving to IPv6 is not direct solution to this problem. 545 For sleepy devices that represent actuators, it is also possible to 546 use the mirror proxy model. The device can make periodic polls to 547 the proxy to determine if a variable has changed. 549 8.1. Implementation Considerations 551 There are several challenges in implementing sleepy devices. They 552 need hardware that can be put to an appropriate sleep mode but yet 553 awakened when it is time to do something again. This is not always 554 easy in all hardware platforms. It is important to be able to shut 555 down as much of the hardware as possible, preferably down to 556 everything else except a clock circuit. The platform also needs to 557 support re-awakening at suitable time scales, as otherwise the device 558 needs to be powered up too frequently. 560 Most commercial cellular modem platforms do not allow applications to 561 suspend the state of the communications stack. Hence, after a power- 562 off period they need to re-establish communications, which takes some 563 amount of time and extra energy. 565 Implementations should have a coordinated understanding of the state 566 and sleeping schedule. For instance, it makes no sense to keep a CPU 567 powered up, waiting for a message when the lower layer has been told 568 that the next possible paging opportunity is some time away. 570 The cellular networks have a number of adjustable configuration 571 parameters, such as the maximum used paging interval. Proper setting 572 of these values has an impact on the power consumption of the device, 573 but with the current business practices, such settings are rarely 574 negotiated when the user's subscription is provisioned. 576 9. Security Considerations 578 There are no particular security aspects with what has been discussed 579 in this memo, except for the ability to delegate queries for a 580 resource to another node. Depending on how this is done, there are 581 obvious security issues which have largely NOT yet been addressed in 582 the relevant Internet Drafts [I-D.vial-core-mirror-proxy] 583 [I-D.castellani-core-alive] 584 [I-D.fossati-core-publish-monitor-options]. However, we point out 585 that in general, security issues in delegation can be solved either 586 through reliance on your local network support nodes (which may be 587 quite reasonable in many environments) or explicit end-to-end 588 security. Explicit end-to-end security through nodes that are awake 589 at different times means in practice end-to-end data object security. 590 We have implemented one such mechanism for sleepy nodes as described 591 in [I-D.aks-crypto-sensors]. 593 The security considerations relating to CoAP [I-D.ietf-core-coap] and 594 the relevant link layers should apply. Note that cellular networks 595 universally employ per-device authentication, integrity protection, 596 and for most of the world, encryption of all their communications. 597 Additional protection of transport sessions is possible through 598 mechanisms described in [I-D.ietf-core-coap] or data objects. 600 10. IANA Considerations 602 There are no IANA impacts in this memo. 604 11. References 606 11.1. Normative References 608 [RFC6690] Shelby, Z., "Constrained RESTful Environments (CoRE) Link 609 Format", RFC 6690, August 2012. 611 [I-D.ietf-core-coap] 612 Shelby, Z., Hartke, K., and C. Bormann, "Constrained 613 Application Protocol (CoAP)", draft-ietf-core-coap-18 614 (work in progress), June 2013. 616 [I-D.ietf-core-observe] 617 Hartke, K., "Observing Resources in CoAP", draft-ietf- 618 core-observe-08 (work in progress), February 2013. 620 [I-D.vial-core-mirror-proxy] 621 Vial, M., "CoRE Mirror Server", draft-vial-core-mirror- 622 proxy-01 (work in progress), July 2012. 624 [I-D.shelby-core-resource-directory] 625 Shelby, Z., Krco, S., and C. Bormann, "CoRE Resource 626 Directory", draft-shelby-core-resource-directory-05 (work 627 in progress), February 2013. 629 [I-D.jennings-senml] 630 Jennings, C., Shelby, Z., and J. Arkko, "Media Types for 631 Sensor Markup Language (SENML)", draft-jennings-senml-10 632 (work in progress), October 2012. 634 [I-D.ietf-lwig-terminology] 635 Bormann, C., Ersue, M., and A. Keranen, "Terminology for 636 Constrained Node Networks", draft-ietf-lwig-terminology-05 637 (work in progress), July 2013. 639 11.2. Informative References 641 [RFC6092] Woodyatt, J., "Recommended Simple Security Capabilities in 642 Customer Premises Equipment (CPE) for Providing 643 Residential IPv6 Internet Service", RFC 6092, January 644 2011. 646 [I-D.arkko-core-sleepy-sensors] 647 Arkko, J., Rissanen, H., Loreto, S., Turanyi, Z., and O. 648 Novo, "Implementing Tiny COAP Sensors", draft-arkko-core- 649 sleepy-sensors-01 (work in progress), July 2011. 651 [I-D.aks-crypto-sensors] 652 Sethi, M., Arkko, J., Keranen, A., and H. Rissanen, 653 "Practical Considerations and Implementation Experiences 654 in Securing Smart Object Networks", draft-aks-crypto- 655 sensors-02 (work in progress), March 2012. 657 [I-D.castellani-core-alive] 658 Castellani, A. and S. Loreto, "CoAP Alive Message", draft- 659 castellani-core-alive-00 (work in progress), March 2012. 661 [I-D.fossati-core-publish-monitor-options] 662 Fossati, T., Giacomin, P., and S. Loreto, "Publish and 663 Monitor Options for CoAP", draft-fossati-core-publish- 664 monitor-options-01 (work in progress), March 2012. 666 [Android-Bundle] 667 , "Optimizing Downloads for Efficient Network Access", 668 Android developer note http://developer.android.com/ 669 training/efficient-downloads/efficient-network- 670 access.html, February 2013. 672 Appendix A. Acknowledgments 674 The authors would like to thank Zach Shelby, Jan Holler, Salvatore 675 Loreto, Matthew Vial, Thomas Fossati, Mohit Sethi, Jan Melen, Joachim 676 Sachs, Heidi-Maria Rissanen, Sebastien Pierrel, Kumar Balachandran, 677 Muhammad Waqas Mir, Cullen Jennings, Markus Isomaki, Hannes 678 Tschofenig, and Anna Larmo for interesting discussions in this 679 problem space. 681 Authors' Addresses 683 Jari Arkko 684 Ericsson 685 Jorvas 02420 686 Finland 688 Email: jari.arkko@piuha.net 690 Anders Eriksson 691 Ericsson 692 Stockholm 164 83 693 Sweden 695 Email: anders.e.eriksson@ericsson.com 697 Ari Keranen 698 Ericsson 699 Jorvas 02420 700 Finland 702 Email: ari.keranen@ericsson.com