Documentation / Security and data protection / Communication and transport security

Communication and transport security

Introduction and orientation

Find out who initiates each connection, what data it carries, and which protocols and ports it uses. The overview distinguishes transport encryption, identity verification and permission to perform an operation.

When defining network rules, distinguish cloud connections, local APIs, external content and service access. Allowing one port or encrypting one section does not automatically cover the other paths.

Overview and explanation

How to interpret connection protection

HTTPS and WSS use TLS to protect a particular connection. Identity verification establishes who is connecting; permissions determine what they may do. If a proxy terminates TLS and forwards a request over HTTP, that next section is no longer protected by the same TLS connection. Likewise, HTTPS in the administration interface does not establish that the separate Connector connection is encrypted.

The system uses several communication paths. Retrieving configuration, downloading a file, sending a control message and submitting a report are separate operations. Protection is therefore described for each part of the connection.

Access to the administration interface

  • Browser and proxy: When HTTPS is used, TLS protects communication between the browser and the entry proxy.
  • Certificates: The service operator manages the certificates; ordinary users do not need to obtain or install them.
  • Internal transport: In the documented portal deployment, HTTPS terminates at HAProxy. The proxy forwards requests to internal web services over HTTP on the host network. TLS therefore does not extend to the application process.
  • HTTPS redirects: The supplied configuration does not apply the same HTTP-to-HTTPS redirect policy to every portal and partner domain.

Configuration, media and control connections

  • Configuration and playlist: Runtime requests configuration, application definitions and playlists from the portal.
  • Media and icons: It downloads media from the file service and icons from the icon service. The supplied production startup scripts use HTTPS URLs for the portal and files.
  • Control connection: Connector initiates the connection to the messaging server. This connection carries control messages, preview requests and other operations. Responses can travel in the opposite direction over the established connection.
  • Connector transport: The reviewed Connector client code and its production startup script use WebSocket on port 80 without enabling TLS. This connection cannot be described as verified WSS or as fully encrypted transport.
  • Remote preview in administration: By contrast, the administration client explicitly uses WSS for remote previews. These are different clients.

Authenticating a connection, encoding messages and encrypting transport perform different tasks. An application authentication credential does not replace TLS, and a binary message format does not itself encrypt data.

Communication between player applications

Local interfaces are separate from the ports needed to access cloud services. Their network binding and firewall rules determine whether they can also be reached from the customer’s network.

Calling an interface a local API does not mean that it is restricted to localhost.

External services and internet access

  • Weather forecasts: The player retrieves weather forecasts from api.met.no over HTTPS using the coordinates configured for the device.
  • Web applications and RSS: Web applications may connect to other domains; RSS and other data features have their own sources.

Network rules should follow the communication matrix for the services and domains in use. A device initiating outgoing connections does not establish that it has no listening services. SSH and maintenance ports are not automatically requirements for normal customer operation.

Communication and transport security
Communication and transport security · Open full-size diagram

Network connections, protocols and ports

The arrow in the first column identifies the connection initiator; data can travel in both directions. Ports use TCP unless stated otherwise. The table distinguishes documented settings from configurable paths.

Connection and initiatorPurpose and dataProtocol / portAuthentication and protection
Browser → HAProxy → APIPortal API requests and responsesHTTPS 443 → HTTP 10HTTP Basic on protected API paths. TLS to the proxy, then internal HTTP.
Browser → FilesUploads, metadata and mediaHTTPS 443Upload authenticates users through the portal; read access depends on the route. Client HTTPS URL.
Browser → ReportsReports and dashboardsHTTPS 443Authentication depends on the server route. A client HTTPS URL does not verify every proxy setting.
Browser → BalancerPreviews, commands and responsesWSS 443Application authentication credential; target operation authorisation is assessed separately. The client uses WSS.
Browser / Runtime → IconsIcons and related resourcesHTTPS 443Public or protected paths depending on the feature; configured HTTPS URLs.
Runtime → PortalConfiguration, applications and playlistHTTPS 443Application Basic credential; HTTPS in the startup script. Internal HTTP behind the portal proxy.
Runtime → FilesMedia and documentsHTTPS 443Some media paths are public. An HTTPS URL does not establish a file signature.
Connector → BalancerTwo-way control messages, previews and reportsWS 80Application authentication does not encrypt the whole session. The reviewed client does not enable WSS.
Runtime → ConnectorReports sent towards the serverHTTP localhost:8880Local HTTP; accessibility outside the device depends on binding and firewall rules.
Connector → RuntimeCommands, game actions, previews and tasksHTTP 8888Local HTTP; Runtime listens on 0.0.0.0. LAN access depends on the firewall.
Runtime → UpdaterTriggering an updateHTTP localhost:4444Local HTTP; calling localhost does not establish a loopback-only listener.
Updater → FilesApplication versions and packagesHTTPS 443HTTPS in the script; digital package signatures were not established.
Updater → PortalApplication version reportingHTTPS 443Application device identity; TLS to the portal proxy.
Reports → BalancerReports received over an established connectionWS 80Application authentication; the release script and client do not establish TLS on this segment.
Reports → PortalDefinition synchronisation and user verificationHTTP(S)Authentication and protection depend on the path and deployment URL.
Mobile → Game; Game → BalancerMobile interaction and responsesWS(S); Game V2: WSSQR configuration and session; game V2 uses WSS to the balancer. The Connector segment has its own transport.
Runtime → MET NorwayCoordinates out, forecast backHTTPS 443No personal account; HTTPS to the external provider.
Portal → MET NorwayWeather for playlist PDF exportHTTPS 443Separate server-side HTTPS path; does not replace device retrieval.
JCEF → WebWeb content, scripts and external APIsHTTP(S)Website-specific sign-in and cookies; portal HTTPS does not determine this path’s protection.
RSS → WebRSS feeds and related contentHTTP(S)Depends on the source URL; RSS itself does not enforce HTTPS.
Services → DB / StorageStorage of definitions, media and reportsDB / filesystemAccounts and transport depend on the service. Database connection and disk encryption were not established.
Backup host → StorageStorage exports and media synchronisationSSH / SCP / rsyncSSH keys per configuration; encrypted transport does not establish encryption of stored backups.
Technician → SSH / VPNOperating system administrationSSH 22 / VPNSeparate maintenance path. Settings on one host cannot be assumed to apply to all hosts.

Using HTTPS on one part of a path does not automatically encrypt the entire transmission.

Internet connection and network access requirements

The device needs outbound access to the services it uses and working DNS resolution. Your software provider supplies the exact destination domains and any different ports used by your deployment.

  • TCP 443 and TCP 80: in the configuration described, the portal, media and icons use HTTPS on port 443. Connector initiates its control connection using WebSocket (WS) on port 80, so allowing port 443 alone is insufficient. This WS connection is not protected by TLS.
  • External content: weather requires HTTPS access to api.met.no:443. Embedded websites may need other domains and ports specified by their URLs, commonly HTTP 80 or HTTPS 443. RSS sources are fetched by the relevant server service.
  • Local and service ports: ports 8880, 8888, 4444 and SSH 22 do not require inbound access from the internet for normal operation. Access on the local network and servicing arrangements are handled separately.

External services

MET Norway — Locationforecast: the player initiates HTTPS/TCP 443 requests to api.met.no, sending latitude and longitude to retrieve weather forecasts for dynamic visuals. The portal uses a separate path for playlist PDF exports. Other sources include websites and RSS feeds configured for the content.

For using weather data to select campaign visuals, see Weather-based targeting

Didn't find what you were looking for?
Contact your software provider.