Smart Assist Network Engineer Training Text
JA

Chapter 6: Technical Anatomy of Smart Assist Communication Design


6.1 Actual Communication Sequence Diagram

The following diagram shows the communication sequence in chronological order, from when the Smart Assist PC sends unconfirmed images to the AWS cloud until it retrieves the classification results.

Smart Assist PC DNS FW/NAT AWS (Smart Assist) 1 DNS Query 2 DNS Response 3 TCP 3-Way Handshake 4 TLS Handshake (Certificate Verification / Key Exchange) 5 HTTPS Request (Image Transmission) 6 HTTPS Response (Acceptance Confirmation) ... Time Elapsed ... 7 HTTPS Request (Result Query) 8 HTTPS Response (Classification Results) Legend Normal Communication TLS-Encrypted Communication

Each step is explained in detail in the following sections.


6.2 DNS Resolution Flow

Details of Steps 1 and 2

The first thing the Smart Assist PC does is a DNS query to resolve the destination FQDN to an IP address.

Smart Assist PC Hospital DNS Forwarder External DNS Authoritative DNS IP Address: 52.194.10.20

Considerations for Hospital Environments

CheckpointDetails
DNS Server AddressWhat DNS server is configured on the Smart Assist PC?
External Name Resolution CapabilityCan the hospital's internal DNS resolve FQDNs on the internet?
Firewall DNS PermissionIs DNS 53/udp traffic allowed through the firewall?
DNS CacheAre stale IP addresses cached?

AWS Environment-Specific Considerations

With AWS services, the IP address for the same FQDN can change dynamically. Therefore, it is recommended to configure firewall allow rules based on FQDNs rather than IP addresses (discussed in detail in Chapter 7).

Think of AWS IP Addresses as "Living Things"

Most people do not realize how often AWS IP addresses change. In fact, ALB IP addresses can change within a matter of hours. When load increases, new IPs are added through scale-out; when load decreases, IPs are removed.

That is why "just look up the current IP address and set it in the FW" is absolutely the wrong approach. By the next morning, the IP may have changed and communication will stop.

Always configure FW allow rules using FQDNs. For firewalls that do not support FQDN-based rules, workarounds are discussed in Chapter 7.


6.3 TLS Handshake

TLS/SSL

TLS Certificate (Let's Encrypt Logo Example)

Details of Steps 3 and 4

After the TCP connection is established, the TLS handshake takes place.

Smart Assist PC AWS (Smart Assist) ClientHello (TLS Version, Cipher Suite List) ServerHello (Selected Cipher Suite) Certificate (Server Certificate) ServerHelloDone [Smart Assist PC Verifies Certificate] - Is the issuer a trusted CA? - Is it within the validity period? - Does the domain name match? ClientKeyExchange ChangeCipherSpec Finished ChangeCipherSpec Finished Encrypted Communication Begins

Impact of SSL Inspection

If the hospital's proxy or firewall performs SSL inspection, the behavior of the TLS handshake changes.

[Normal TLS] Smart Assist PC AWS TLS [With SSL Inspection] Smart Assist PC Proxy/FW AWS TLS TLS (Certificate A) (Certificate B)

In this case, the certificate received by the Smart Assist PC is not from AWS but rather a certificate issued by the proxy. This can be the cause of certificate errors (discussed in detail in Chapter 10).

Make It a Habit to Check the Certificate "Issuer"

Whether SSL inspection is in place can actually be determined instantly by looking at the certificate's issuer.

Check the issuer: line in the output of curl -v https://smartassist.example.com. Under normal conditions, you will see a public CA name like issuer: C=US, O=Amazon, CN=Amazon RSA 2048 M01.

If instead you see something like issuer: CN=Hospital-Proxy-CA or issuer: CN=FortiGate-CA, that is proof that SSL inspection is in place. Performing this check during the pre-deployment interview can prevent future trouble.


6.4 Image Data Transmission Flow

Details of Steps 5 and 6

After the TLS handshake is complete, image data is transmitted as an HTTPS request over the encrypted channel.

HTTPS Request (Illustration):

  POST /api/v1/images HTTP/1.1
  Host: smartassist.example.com
  Content-Type: multipart/form-data
  Authorization: Bearer <authentication token>

  [Image binary data]
  [Specimen ID]
  [Auto-classification result]
  [Timestamp]

Communication Characteristics

ItemDetails
HTTP MethodPOST (data submission)
Data SizeRelatively large due to image data (several KB to several MB)
AuthenticationAPI token-based authentication
EncryptionAll data is encrypted via TLS

Response Content

HTTPS Response (Illustration):

  HTTP/1.1 200 OK
  Content-Type: application/json

  {
    "status": "accepted",
    "request_id": "abc-123-def"
  }

This response is a confirmation that the data has been accepted; the classification results are not yet returned.


6.5 Classification Result Retrieval Mechanism

Details of Steps 7 and 8

After the remote technician completes the classification, the Smart Assist PC queries the cloud to retrieve the results.

HTTPS Request (Illustration):

  GET /api/v1/results?since=2025-01-15T10:00:00Z HTTP/1.1
  Host: smartassist.example.com
  Authorization: Bearer <authentication token>
HTTPS Response (Illustration):

  HTTP/1.1 200 OK
  Content-Type: application/json

  {
    "results": [
      {
        "request_id": "abc-123-def",
        "specimen_id": "SP-20250115-001",
        "classifications": [
          { "image_id": "img-001", "category": "RBC", "confidence": 0.95 },
          { "image_id": "img-002", "category": "WBC", "confidence": 0.92 }
        ],
        "classified_by": "technician-A",
        "classified_at": "2025-01-15T10:30:00Z"
      }
    ]
  }

Polling Mechanism

The Smart Assist PC periodically queries the cloud for results. This is called polling.

Time Elapsed PC AWS "Any results?" "Not yet" Waiting... "Any results?" "Not yet" Waiting... "Any results?" "Yes, here they are!" Results Retrieved

6.6 What Does "Outbound Only" Mean?

Definition

"Outbound Only" means that all communication is initiated from within the hospital network to external destinations.

Communication Direction Classification

DirectionDefinitionApplicable to Smart Assist
OutboundCommunication initiated from hospital to externalAll communication falls under this category
InboundCommunication initiated from external to hospitalNot applicable
ResponseReply to an Outbound communicationResult retrieval

A Response Is Not Inbound

From a firewall perspective, the critical point is that a response to an Outbound communication is not "Inbound communication."

[Stateful Firewall Behavior] PC FW AWS 1 Outbound Communication 443/tcp SYN Session Recorded 2 Response SYN-ACK, ACK, Data Response to 1 -> Auto Pass * 2 is not a new "Inbound communication" but treated as a "response" to 1

Security Implications of Being Outbound Only

PointExplanation
No Port ListeningThere are no ports on the hospital side listening for external connections
Minimized Attack SurfaceThere is no pathway for external parties to actively intrude into the hospital network
Simplified FW RulesCan be configured with outbound allow rules only
When Asked "Is This Bidirectional Communication?"

Hospital IT administrators frequently ask "Is Smart Assist bidirectional communication?" In this situation, answering "Yes, it's bidirectional because results come back" is the worst possible response.

The correct answer is: "Communication is always initiated in the Outbound direction from the hospital to the cloud. The return of results is an HTTPS response, which passes through automatically via the firewall's stateful inspection. No Inbound allow rules are required."

Whether you can provide this explanation or not makes a significant difference in gaining the trust of hospital IT administrators. In the case study in Chapter 12 (Section 12.3), we present a real example where giving the wrong answer to this question caused a 3-month stall.


6.7 Why There Is No Direct External Intrusion

Technical Basis

This section organizes the technical grounds for asserting that there is no direct intrusion from the outside (internet) into the hospital network in Smart Assist's communication design.

Basis 1: No Inbound Ports Are Open

Firewall Rules: Allow: 192.168.10.50 -> smartassist.example.com:443 (Outbound) Deny: * -> 192.168.10.50:* (Inbound) <- No such rule exists in the first place

Since no firewall rule exists to allow new connections from outside to the hospital network, external connections are physically blocked.

Basis 2: Behind NAT

The hospital PCs are located behind NAT, and there is no way to directly reach private IP addresses from the outside.

External Attacker 203.0.113.1 (Hospital's Global IP) NAT Device: No Session -> Drop 192.168.10.50 Unreachable

Basis 3: No Listening Services

The Smart Assist PC does not run any services that listen for connections from outside (such as web servers or SSH servers). Even if an attacker could pass through the firewall, there would be no process to accept the connection.

Basis 4: Communication Protection via TLS

TLS prevents eavesdropping, tampering, and impersonation on the communication path. Interception of communication via man-in-the-middle (MITM) attacks is also difficult.

Summary: Explanation for Hospital IT Administrators

"There Is No External Intrusion into the Hospital Network"

Technical Basis:

  1. No FW rules allow Inbound communication
  2. Behind NAT, making direct access from outside impossible
  3. No listening services on the hospital PC
  4. TLS prevents attacks on the communication path

Result retrieval is an HTTPS response to Outbound communication,
not a new Inbound connection from the outside.


6.8 How to Read the Documentation: Network Explanatory Materials

Overview of the Document

"SmartAssist Network Explanatory Materials" is a technical document that illustrates the system architecture and network connection methods for the Smart Assist cloud using diagrams. It is used by hospital IT departments when evaluating firewall settings and connection methods.

Corresponding File: UHW-PRJ2024040-L-2025-007a_SmartAssist Network Explanatory Materials

Components of the Smart Assist Cloud

The Network Explanatory Materials show the overall picture of the AWS services that comprise the Smart Assist cloud. Field engineers need to understand the role of each service.

AWS ServiceRoleWhat the Engineer Should Be Able to Explain
Route 53DNSResolves the Smart Assist domain name
Certificate ManagerTLS Certificate ManagementAutomatically manages certificates used for HTTPS communication
WAFWeb Application FirewallFilters malicious requests
ALBApplication Load BalancerDistributes traffic across multiple servers (see Chapter 8)
CognitoUser Authentication/AuthorizationAuthenticates operators and controls access
LambdaServerless FunctionsExecution platform for application logic
EC2Virtual ServersServers for maintenance purposes
S3Object StorageStores image data and result files
Aurora (PostgreSQL)DatabaseManages user attributes and measurement status
SSM / Secrets ManagerParameter/Secret ManagementSecure management of connection and authentication credentials

Security and Audit Services

The following AWS security services are enabled in the Smart Assist cloud.

ServiceRole
CloudWatchLog monitoring and alarm notification
CloudTrailRecording of all API operations (audit trail)
GuardDutyThreat detection (IDS/IPS functionality)
ConfigManagement of resource configuration change history
Security HubCentralized security posture management
ShieldProtection against DDoS attacks
DetectiveSecurity data analysis and visualization
InspectorAutomated vulnerability detection
IAM Access AnalyzerAccess permission anomaly detection

Three Connection Options

The Network Explanatory Materials present three options for connecting from the hospital to the Smart Assist cloud.

OptionMethodHospital-Side RequirementsCharacteristics
Option 1Direct Outbound ConnectionAllow Outbound HTTPS in FWSimplest approach. Requires FQDN-based allow rules
Option 2AWS Client VPNVPN client installationEncrypted communication via VPN. Requires dedicated application
Option 3Via ProxyUse of existing proxy serverCompliant with hospital proxy policies. However, Smart Assist may not support proxy in some cases

Important: With any option, no static inbound configuration is required. The communication direction is always Outbound from the hospital side to the cloud.

Physical Connection Configuration

The connection configuration between AUTION EYE and PC/LIS is also documented in the materials.

ConnectionMethodNotes
AI-4510 -> PCSED_PORT (via USB)Wired connection
PC -> Hospital LISHOST_PORT (via LAN)LIS connection through Smart Assist
PC -> Smart Assist CloudHTTPS (443)Outbound from hospital LAN

In the next chapter, we will learn about the firewall design to enable this communication and how to submit requests to hospital IT administrators.