Re: [Secdispatch] I-D: Deploying Publicly Trusted TLS Servers on IoT Devices Using SNI-based End-to-End TLS Forwarding (SNIF)

Hannes Tschofenig <Hannes.Tschofenig@arm.com> Wed, 23 February 2022 10:36 UTC

Return-Path: <Hannes.Tschofenig@arm.com>
X-Original-To: secdispatch@ietfa.amsl.com
Delivered-To: secdispatch@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 878A93A0A2B; Wed, 23 Feb 2022 02:36:38 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.1
X-Spam-Level:
X-Spam-Status: No, score=0.1 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, PDS_OTHER_BAD_TLD=1.999, SPF_PASS=-0.001, UNPARSEABLE_RELAY=0.001, URIBL_BLOCKED=0.001] autolearn=no autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=armh.onmicrosoft.com header.b=qaV5v3mb; dkim=pass (1024-bit key) header.d=armh.onmicrosoft.com header.b=qaV5v3mb
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ZqQrSeOAzjt1; Wed, 23 Feb 2022 02:36:34 -0800 (PST)
Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-db5eur01on061e.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe02::61e]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 361293A0A36; Wed, 23 Feb 2022 02:36:32 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=E7uk2PphTtbZM/8dmtGW04vwETGZ2cIE+KP9FCaJ444=; b=qaV5v3mbogJGc1o0po1s82hWHj6oFnEwju4CT0Nauu+WkE74NFjYx9OM4slZHtPDLh7J8kGGgc/sqLii+vUgpQKikM/Kto6yynkPKVqmGAipaTsqFirJKMxtxxNvrQuz2/hJTfTdYQhucGV8jFzQiiRA35Xd3BvHnSPKJkfCsrs=
Received: from AM5PR0601CA0031.eurprd06.prod.outlook.com (2603:10a6:203:68::17) by PAXPR08MB7492.eurprd08.prod.outlook.com (2603:10a6:102:2b5::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4995.26; Wed, 23 Feb 2022 10:36:26 +0000
Received: from VE1EUR03FT003.eop-EUR03.prod.protection.outlook.com (2603:10a6:203:68:cafe::49) by AM5PR0601CA0031.outlook.office365.com (2603:10a6:203:68::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5017.22 via Frontend Transport; Wed, 23 Feb 2022 10:36:26 +0000
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by VE1EUR03FT003.mail.protection.outlook.com (10.152.18.108) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5017.22 via Frontend Transport; Wed, 23 Feb 2022 10:36:24 +0000
Received: ("Tessian outbound 341d209a0e52:v113"); Wed, 23 Feb 2022 10:36:24 +0000
X-CR-MTA-TID: 64aa7808
Received: from ffb1b4ecbc3c.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 56436921-B5F1-4E6C-AAA6-7368C061F35F.1; Wed, 23 Feb 2022 10:36:18 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id ffb1b4ecbc3c.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Wed, 23 Feb 2022 10:36:18 +0000
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=CJTEEku7YKJgl4WzSI0H1nrX++E4mqNp4MKheRpyrdu2Q5S5DmDoD+eEmr7PQItMy/hW7OvlXkHLM9FfXq4YaEM63EOo65tv/mL+akdDxffLQ0JU013kPp2WrjvQfi59mwiOzQnal0qvS2aqBbIV6Z3l5hPX694W3qbZTb8cwy/5Tjjh+4klJhNMEisPy3Wk1Aiyx3ZipmOiQl/KokGN3Mi/HU9F4rKqKZ+wcgDSRr3uydcqHUfvkLS0A2CQEMDNHxUcrnmBKz89lpMumKs6ZjQdObOBzPEHpz1J0GA9TKdUrNIM+mEtXZsWyJsa9sCiHZFvS73kE0PTzux6yZoqpg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=E7uk2PphTtbZM/8dmtGW04vwETGZ2cIE+KP9FCaJ444=; b=lxSp4kOPb8uFJNHXs6xRukzPtrUHe+Itsr8NWH2crS8YnBAil2HywcHxmwxY3JGfw2lubQDRjvAfaGcVTY6lrxZ5tJXXbcDwXx5P0OUUy91kaW3xCkjsaWKK4z+W5xvq4IYQPs/s2Z5QgD2FmoS94Op/+tioIck0lRGaAZHv7qASpeyOBhIAbvXAMichP5R7hNLB3TGr2+QWdCdRoj01TTz+ThUJpF6483OvM0a4URSShsXJzpex/PNwyp/EvSF9s+syLyAo/LjYzTSbthwV8KAsB4Q60CkIqh9sJlOFMh/l0utsyGRqwbz01CkVJgSz2Oxi6Mc6kPb0qYyb3q4dQQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=E7uk2PphTtbZM/8dmtGW04vwETGZ2cIE+KP9FCaJ444=; b=qaV5v3mbogJGc1o0po1s82hWHj6oFnEwju4CT0Nauu+WkE74NFjYx9OM4slZHtPDLh7J8kGGgc/sqLii+vUgpQKikM/Kto6yynkPKVqmGAipaTsqFirJKMxtxxNvrQuz2/hJTfTdYQhucGV8jFzQiiRA35Xd3BvHnSPKJkfCsrs=
Received: from DBBPR08MB5915.eurprd08.prod.outlook.com (2603:10a6:10:20d::17) by VI1PR08MB2909.eurprd08.prod.outlook.com (2603:10a6:802:1e::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4995.22; Wed, 23 Feb 2022 10:36:15 +0000
Received: from DBBPR08MB5915.eurprd08.prod.outlook.com ([fe80::b478:3f3d:2464:65c8]) by DBBPR08MB5915.eurprd08.prod.outlook.com ([fe80::b478:3f3d:2464:65c8%6]) with mapi id 15.20.4995.027; Wed, 23 Feb 2022 10:36:15 +0000
From: Hannes Tschofenig <Hannes.Tschofenig@arm.com>
To: Jim Zubov <ietf-list@commercebyte.com>, "secdispatch@ietf.org" <secdispatch@ietf.org>, Michael Richardson <mcr+ietf@sandelman.ca>, "iotops@ietf.org" <iotops@ietf.org>, "anima@ietf.org" <anima@ietf.org>
Thread-Topic: [Secdispatch] I-D: Deploying Publicly Trusted TLS Servers on IoT Devices Using SNI-based End-to-End TLS Forwarding (SNIF)
Thread-Index: AQHYHtVKop3offyr+0q9saoG3HE46Kyg/hiw
Date: Wed, 23 Feb 2022 10:36:15 +0000
Message-ID: <DBBPR08MB591577EC79C3D11114AA747CFA3C9@DBBPR08MB5915.eurprd08.prod.outlook.com>
References: <0075B437-024A-4D84-ABD7-92FE8DAFA59F@commercebyte.com>, <1865.1644434146@localhost> <E1nHwaz-0000LM-I5@ocean1.commercebyte.com> <4026.1644516168@localhost> <685366A1-01F4-4788-B025-0F5F4CE7947F@commercebyte.com>
In-Reply-To: <685366A1-01F4-4788-B025-0F5F4CE7947F@commercebyte.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: B5B438B4FD07654093A6AE0CB0C4F9E8.0
x-checkrecipientchecked: true
Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com;
X-MS-Office365-Filtering-Correlation-Id: 4acbf725-cd2d-4ef9-0f7c-08d9f6b8576b
x-ms-traffictypediagnostic: VI1PR08MB2909:EE_|VE1EUR03FT003:EE_|PAXPR08MB7492:EE_
X-Microsoft-Antispam-PRVS: <PAXPR08MB7492A3F0B951B2034882932AFA3C9@PAXPR08MB7492.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original: 4ZKT98tUSJLM+UozoBs6YQgrgmTe3XHf2KySuqgDx9autlTXhoah4yHJaGhLvaIENf6Tx4KiRv5lchhZwhTtK3cBWQmDY6kEw68ssNhs27NE8SZnMLTTHqW3pGrm9PrdnH4XmySvhtT6MLnpzT7WVjg/ON+0uMY64KcPU5R9H17+jaFI4FGjad2S3rZsMvr/ekAvoht5mjFAVzOf9Lt9zZmD0C67K+brtvKf3IpEVSNq+8dIW7lqoFGNXYBzlzIENlKjHx56Ljh540c0/89T0gWLNrhc7VeMbdsyUWs1xGXt6CZa+okvy9mC+BsS34KszDzuJV2yHFR01j28FIgqLZRjhu27BukMXwEmY5QgbOa8BL203o6hD6AMBfJda3ROyHWzcdHnvLe2cDrc+iIj4aF6JsUiuR5+VndwDQqgJ+uSO30s8zTc8tB38QAz/EC4NUYRTHFE301Oh3i/EwqC8nOfuvONsBCsgfx4y/ydssG6zbmRi3un3YJrCA4CHdu+HKzkzRcOCC2CUzwQe1tH18rWwIgC0xhOnyuVSaeXGjPEFgpdSGOtms2wmUAnU9ZhMw01TbAFFsk3h8o31dIvnxBNuk0Qq0277pRBxavPe2JXS+NSJ2VqZavrWz+GQelLVxwMYtNv6e/FbUfblxVB71sYPDC3hBGRzj22k+JEmxT2LP4r9luY5VqL5CBgyASL8gWyl00Ktq0ao2jtYgrCfpVA7cveCTldt+b52CkE+Pfb09Q26x/IP0kyIelQ22upukecAlDuuy0QYPTke1ijKHgXMkjNI5UeSL+SM6xsjLIhzLt8dgqEGtQrS9OJQVdM03rskj6Z4MmO0RsXyiJvog5y9XMWeAlu4QQEJ20DFiA=
X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DBBPR08MB5915.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(4636009)(366004)(52536014)(30864003)(38100700002)(66574015)(38070700005)(83380400001)(5660300002)(55016003)(2906002)(8936002)(33656002)(66446008)(6506007)(966005)(26005)(186003)(9686003)(66946007)(76116006)(53546011)(66556008)(122000001)(8676002)(71200400001)(66476007)(316002)(508600001)(7696005)(86362001)(110136005)(64756008)(69594002); DIR:OUT; SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB2909
Original-Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped: VE1EUR03FT003.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs: 58a9eb3a-f158-4670-1fa5-08d9f6b851e9
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: 2UF7n7AOH7RFz/s1WLsRPS+w0BBhhPHp1Y0qyVfNVPZJdvTBhYcJgQ1weXFI3LFCZK1Fx9SlZdywvieUD+dJR9PuFCq6AsxqUF8JZAm3iedkXkcTWzprm/o6ez+Ho/TSAy6v/A68j7TEBvwwkrZD5Th9x2mzvoQYkRanomO5ozgYrUeaMU7/oHk0ovsrdj4hQgsvRNhMcQ2wSC8ObmPmpVeXzmq3xQK98Bjulcsfs5JaS7LQg53KhxlWgtRP+j6KqksZ5/mWds/vlZsIcjNPC1Ses+T5iTeKdhu6QYiBBNwNt5gJV8NMsk7D5Y4Vf0qLw1srpwjWfPOsWPY5VgtMQ01/e7oF5reKjefjLhUi6xc3UWBTexJuhabxKArU0NhVHwczAsXrWRBsoe/ePYYclZAp6uXg9ard+igXZhpR4+DW9DlMrohYLxvHXvQsV3kIHOuBVg6L8rLPskaDMOG5VfpcxNQgTf0n4+OHBWRBsS7S1QKHpA5A2vI12igf2mohDQEFuj7ZTHzVxj4/eGoS0aLhJJf1g/mQ+ZtGhxWMlqaatL6y68gO2BgYacPNscye159KkGVfpnyP8w1LGdEP3CvxRy2FB0e2mo7QrEKAyYoRI9wGQa8PeiXE6651dnnl8WgNJZIkybKeZg0aPFNZA3XyhPZxVPz8nVnLFcvYFUbkoCXkF3hSjHooP8XGkALSlpc8Vq0eh+PBNAQWNj+cANIFsD2qMrjmB2RNPgocQ67Ceh6SOmLLEUTwOh6lIC89gdCX5aCU3JwmeZo159zM2lu3X+sMU3UtjehQuhBVspdEhh7TmCdnNn01cUl15OhX
X-Forefront-Antispam-Report: CIP:63.35.35.123; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:64aa7808-outbound-1.mta.getcheckrecipient.com; PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; CAT:NONE; SFS:(13230001)(4636009)(46966006)(36840700001)(40470700004)(30864003)(52536014)(2906002)(316002)(70586007)(70206006)(33656002)(8676002)(40460700003)(450100002)(81166007)(5660300002)(8936002)(110136005)(26005)(36860700001)(186003)(55016003)(82310400004)(508600001)(83380400001)(7696005)(966005)(47076005)(336012)(53546011)(356005)(9686003)(66574015)(86362001)(6506007)(69594002); DIR:OUT; SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Feb 2022 10:36:24.8185 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 4acbf725-cd2d-4ef9-0f7c-08d9f6b8576b
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123]; Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource: VE1EUR03FT003.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR08MB7492
Archived-At: <https://mailarchive.ietf.org/arch/msg/secdispatch/3rcoooeU5WChztzTL9bhuXatwKE>
Subject: Re: [Secdispatch] I-D: Deploying Publicly Trusted TLS Servers on IoT Devices Using SNI-based End-to-End TLS Forwarding (SNIF)
X-BeenThere: secdispatch@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Security Dispatch <secdispatch.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/secdispatch>, <mailto:secdispatch-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/secdispatch/>
List-Post: <mailto:secdispatch@ietf.org>
List-Help: <mailto:secdispatch-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/secdispatch>, <mailto:secdispatch-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 23 Feb 2022 10:36:39 -0000

Hi all,

Thanks for this contribution, Jim.

Reading through the document I agree that the SUIB topic discussed in the IOTOPS WG appears relevant. I also wonder whether the work in the DANISH group (see https://datatracker.ietf.org/wg/danish/about/) is relevant.

Regarding the use in IoT I have a question for my understanding.

In a nutshell, you introduce a proxy that allocates a hostname and requests a creation of a certificate on behalf of the IoT device.

To get this to work you rely on three assumptions:
(1) There has to be a communication infrastructure that associates the "anonymous" hostname with a specific device and conveys these identifiers to the relevant parties.
(2) You assume that a party that wants to contact the IoT device is able to reach the device (i.e. the IoT device is not behind a firewall or NAT).
(3) Someone operating IoT devices has to trust the proxy since it is easy for the proxy to associate a hostname with a public key that was created by the proxy (rather than the end device). This essentially allows the proxy to impersonating the IoT device.

Is my understanding correct?

Ciao
Hannes

-----Original Message-----
From: Secdispatch <secdispatch-bounces@ietf.org> On Behalf Of Jim Zubov
Sent: Friday, February 11, 2022 12:22 AM
To: secdispatch@ietf.org; Michael Richardson <mcr+ietf@sandelman.ca>; Jim Zubov <ietf-list@commercebyte.com>; iotops@ietf.org; anima@ietf.org
Subject: Re: [Secdispatch] I-D: Deploying Publicly Trusted TLS Servers on IoT Devices Using SNI-based End-to-End TLS Forwarding (SNIF)

Thanks for the feedback again, my comment are below.
I submitted a new version of the draft to reflect some changes.

On February 10, 2022 1:02:48 PM EST, Michael Richardson <mcr+ietf@sandelman.ca> wrote:
>
>Jim Zubov <ietf-list@commercebyte.com> wrote:
>    >> This was also on the IETF112 IOTOPS WG agenda:
>    >> slides:
>    >> https://datatracker.ietf.org/meeting/112/materials/slides-112-iotops-suib-browsing-local-web-resources-in-a-secure-usable-manner-iot-device-configuration-as-a-special-case-00
>    >> video:  https://youtu.be/OIlJrUvwDcI?t=1649
>    >>
>    >> and we hope to return at IETF113.
>
>    > Right, looks like SUIB is working on a similar problem. Thanks for
>    > pointing this out. In particular, the "Sol #6 Device name DNS" slide
>    > looks quite similar to SNIF CA Proxy (Section 3). However, SUIB pursues
>    > bigger infrastructural goals such as changing the localhost TLS
>    > connection policies (I totally agree and really appreciate the effort),
>    > while SNIF is a functioning solution within the existing
>    > infrastructure, tested and proven to work in pre-production.
>
>The slides may be too vague.  Changing the TLS policies is a possible
>solution, but probably an impractical one.  Nevertheless, many people
>(not steeped in the arts, and often failling into the PHB category)
>think that it is an obvious solution, so we list it in order to explain why it won't work.

Yes, still sad that localhost slipped through the cracks when the original security standards were written.

>
>    >> The SUIB problem addresses the challenge of connecting *locally* to a
>    >> device,
>    >> and doing it securely.  For this to be possible with RFC6125-DNS-ID
>    >> standard
>    >> browser, we need a name for the device, and we need a way to translate
>    >> that
>    >> name into a locally reachable IP address.
>    >>
>    >> The SNIF proposal does not quite solve the above problem.
>
>    > In fact, I originally designed SNIF to solve this specific problem -
>    > local-to-local trusted TLS connections.
>
>Ah, very nice to know.
>
>    > * Issue a wildcard cert through SNIF CA Proxy
>    > (e.g. CN=*.domain.snif.xyz), set a DNS record for
>    > localhost.domain.snif.xyz to point to localhost's IPv4/v6, and use
>    > https://localhost.domain.snif.xyz (or other app protocol - imaps
>    > etc). However, looks like some clients treat the localhost IP as
>    > inherently unsecure, and issue a warning ever is the cert is perfectly
>    > valid. The option is still possible, but the applicability might be
>    > limited.
>
>The process we described at
>
>https://specs.manysecured.org/suib/Solutions/dnsname-embedded-solution
>
>also uses a wildcard cert, but has a magic authoritative DNS server
>that translates the left-most label into an A or AAAA record.  It's
>rather a cute hack, but at least:
>  a) it's cachable
>  b) it could even be calculated locally, if one ignores DNSSEC.

Yes, using a local network IP instead of a localhost IP is actually a smart idea.
However, inlining the local IP in the hostname, as SUIB does, means you'll have to change the hostname in your client every time your network is changed.
I have an thought for SNIF improvement - SNIF connector sends a SNIF DNS command to set a dynamic DNS A/AAAA for a certain hostname within the CN wildcard, and the CA proxy updates the DNS accordingly. This way the hostname can be permanent, but with dynamic DNS.
Another problem - most platforms won't let you bind to port < 1024 unless you're a root. Might be ok for a device manufacturer, but is a potential show stopper for any user space app. Relayed SNIF works around this problem since the listening ports are on the relay.


>
>    > * Another option is to override the IP routing rules. It is totally
>    > possible on iOS and Mac through a userspace VPN (only one VPN per
>    > device though - beware of possible conflicts). In fact I have a
>    > functioning solution for it, in beta now -
>
>That doesn't really scale to many different domains.

Totally agreed, I just mentioned that this option works for *some* cases, tun/tap a is possible option too if you're a root.

>
>    >> Still, if SNIF is replacing a manufacturer proprietary call-home protocol,
>    >> there could be advantages from having well reviewed code bases, and
>    >> potentially an ecosystem of SNIF Providers that manufacturers could
>    >> outsource
>
>    >> to.  Azure/Amazon/... could easily run such services.
>
>    > I see two options - a SNIF server implemented by each vendor for their
>    > own devices/services, or a bigger SNIF SaaS implemented by a trusted
>    > provider, used by vendors.
>
>Yes, but what's the financial motive for this provider?

(1) For a vendor to run their own SNIF server: market as a true auditable end-to-end for IoT devices they offer.
(2) For a vendor using SNIF SaaS: market as (1) backed by {TrustedBigName}
(3) For a {TrustedBigName} to run SNIF SaaS: collect fees from (2) for using their service and big name.

As a matter of fact, SNIF relay is light on server resources. I've been running it on a minimum DigitalOcean virtual server for months with more than a dozen connectors,   the server load is a fraction of a percent. Of course if somebody connects IoT cameras they can generate some traffic, but IoT vendors already handle it through their proprietary relays.

>
>    >> SNIF seems very much IPv4 NAT44 focused, and it could benefit from some
>    >> understanding of IPv6 and IPv6-over-IPv4 technologies,
> particularly
>
>    >> Teredo.
>
>    > SNIF is not exactly focused on v4, it works fine with v6 as well. It's
>    > designed to work around NAT, that's true. However, IPv6 networks may
>    > pose issues too - firewalls etc, which will prevent to directly accept
>    > incoming TCP on IPv6 address.
>
>Teredo could be used instead and allows the relay to be stateless and
>distributed, and devolves to ordinary IPv6 when it is present.

Yes, but Teredo is IPv6 specific, the world is not strictly IPv6 yet. And it's a system level solution, while SNIF works fine in a user space.

>
>    >> It clearly has to speak HTTPS only.
>
>    > I specified HTTP because PKCS#10 and X.509 are inherently secure to be
>    > sent over a plain connection.
>
>Yes, but there are privacy concerns which will become a pain, so better
>to just say HTTPS here.

I respectfully disagree, still think HTTP is an easier answer for SNIF. The problem with HTTPS is - SNIF relay (usually) routes https port to SNIF connectors, and does not serve it within the server. Having a dedicated hostname or an alternate port means than SNIF connectors need additional configuration options, or additional discovery protocols. On the other hand, HTTP allows to derive all API URLs deterministically from the CN.
I addressed the possible security concerns in more details and amended the Security section in the draft.


>
>    > The best option is the manufacturer I believe. The manufacturer can
>    > have either their own SNIF server, or work with a trusted SaaS. This
>    > way it's zero setup for the end user, and doesn't need any
>    > infrastructure additions.
>
>Agreed, the manufacturer has to provision a credential.

Yes I proposed some outlines in the security section, more detailed specs are probably better to describe in a separate draft.

>
>    > Sure, elliptic curves are better, but some old school clients may have
>    > problems with them. It may make sense to not mention the recommended
>    > algorithm in the draft, and just to follow the CA's recommendations.
>
>ECDSA acceleration is pretty much ubiquitous, while RSA is not.

Honestly I don't think acceleration is such a big deal, most of TLS job is symmetric ciphers anyway. But I agree - it's better to follow the CA suggestions and industry practices.

>
>    > I believe there's no security issue, as long as the CN entropy is sufficient.
>
>    > I specified the X-SNIF-CN: as mandatory, and text/plain body as an
>    > optional duplicate of it. To make it cleaner, I can remove the body
>    > from the specs and say the response body is to be ignored.
>
>If both are present, and they don't match, then there is confusion.
>So just go with one.  I think that it should actually be a JSON or CBOR payload return.

Agreed, I removed the response body from the draft, going with the header.


>
>    >> They *aren't* what IANA would call "IP protocols", which would be things
>    >> like
>    >> TCP, UDP, SCTP, ESP, ...
>
>    >> Has IANA *already* registered port 7123 then?
>
>    > It's not an IP protocol. It's a service that listens on TCP 7123, I
>    > registered with IANA based on a previous version of the document,
>    > before I turned it into an I-D.
>
>I think you should drop the "snif-*" sentence as it makes no sense.
>You have already allocated TCP port 7123 to the SNIF *service*, so
>that's great.

It's actually called "Service Names" in IANA terminology, sorry for the confusion. I updated in the draft.



>
>--
>]               Never tell me the odds!                 | ipv6 mesh networks [
>]   Michael Richardson, Sandelman Software Works        |    IoT architect   [
>]     mcr@sandelman.ca  http://www.sandelman.ca/        |   ruby on rails    [
>

_______________________________________________
Secdispatch mailing list
Secdispatch@ietf.org
https://www.ietf.org/mailman/listinfo/secdispatch
IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.