Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
ISO/IEC 29341-28-1标准定义了RemoteAccess:1设备模板,这是一个UPnP框架,用于从外部广域网位置对家庭网络上的设备和服务实现安全的远程访问。与简单暴露单个端口的NAT穿越解决方案不同,RemoteAccess在远程控制点和家庭网络之间建立加密隧道,提供经过身份验证和授权的访问,而无需为每个服务单独配置端口映射。
设备类型URN为urn:schemas-upnp-org:device:RemoteAccess:1。RemoteAccess设备充当安全网关,调解远程控制点和本地UPnP设备之间的通信。它通常位于住宅网关或专用家庭自动化控制器上,与授权远程客户端保持持久的隧道连接。
RemoteAccess:1设备定义了一组服务,共同实现安全远程访问生命周期——从设备发现和身份验证到隧道建立和访问执行。
| 服务 | 服务ID | 必需 | 描述 |
|---|---|---|---|
| RemoteAccessDiscovery | urn:upnp-org:serviceId:RADiscovery1 | 是 | 通过加密查询实现远程设备和服务的发现 |
| RemoteAccessConfig | urn:upnp-org:serviceId:RAConfig1 | 是 | 隧道配置、凭据和访问策略管理 |
| RemoteAccessTransport | urn:upnp-org:serviceId:RATransport1 | 是 | 加密数据传输和隧道生命周期管理 |
| RemoteAccessAuth | urn:upnp-org:serviceId:RAAuth1 | 可选 | 身份验证和授权服务 |
隧道架构采用两阶段连接模型。在发现阶段,远程控制点通过安全发现机制定位RemoteAccess设备并使用预配置凭据或基于证书的mTLS进行身份验证。在传输阶段,RemoteAccessTransport服务建立加密通道——通常基于TLS或DTLS——UPnP SOAP控制消息、GENA事件通知和SSDP发现消息通过该通道进行代理。
RemoteAccessConfig服务定义了一个基于三个维度的丰富访问控制模型:身份(谁在访问)、设备(正在访问哪个UPnP设备)和动作(允许哪些服务动作)。每个访问控制条目存储为结构化元组,并在隧道连接建立时进行评估。
从工程角度来看,实现RemoteAccess:1模板需要解决几个具有挑战性的问题。首先,服务代理:RemoteAccess设备必须拦截通过隧道到达的UPnP SOAP请求,根据访问策略验证它们,将其转换为内部LAN请求,转发到目标设备,并通过加密隧道将响应中继回去。该代理层必须处理SOAP动作头解析、XML正文验证和响应超时,而不引入过多延迟。
第二,事件投递:远程控制点的GENA事件订阅必须通过RemoteAccessTransport隧道进行代理。RemoteAccess设备代表远程客户端订阅相关事件源,并通过活动隧道转发事件通知。在高延迟或不可靠的WAN链路上,事件投递保证尤其具有挑战性。
另一个重要的设计考虑是RemoteAccess设备的电源和连接特性。由于设备必须保持持久存在以接受传入隧道连接,它通常部署在始终开启的硬件上,如住宅网关或专用家庭服务器。电池供电的IoT网关应实现唤醒机制或保活间隔,以平衡功耗和连接响应性。