Re: [Rats] [CoRIM] The use case for TDX- and SEV-SNP-measured virtual firmware

Henk Birkholz <henk.birkholz@sit.fraunhofer.de> Fri, 12 January 2024 07:40 UTC

Return-Path: <henk.birkholz@sit.fraunhofer.de>
X-Original-To: rats@ietfa.amsl.com
Delivered-To: rats@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 99593C14F61F for <rats@ietfa.amsl.com>; Thu, 11 Jan 2024 23:40:32 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.097
X-Spam-Level:
X-Spam-Status: No, score=-2.097 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, NICE_REPLY_A=-0.091, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=sit.fraunhofer.de header.b="mnl9PS+B"; dkim=pass (1024-bit key) header.d=fraunhofer.onmicrosoft.com header.b="gjLYEcCe"
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id MB6_KSaSr53i for <rats@ietfa.amsl.com>; Thu, 11 Jan 2024 23:40:26 -0800 (PST)
Received: from mail-edgeF24.fraunhofer.de (mail-edgef24.fraunhofer.de [IPv6:2a03:db80:3004:d210::25:24]) (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 D84D5C14F6B1 for <rats@ietf.org>; Thu, 11 Jan 2024 23:40:23 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=sit.fraunhofer.de; i=@sit.fraunhofer.de; q=dns/txt; s=emailbd1; t=1705045226; x=1736581226; h=message-id:date:subject:to:cc:references:from: in-reply-to:content-transfer-encoding:mime-version; bh=WTdhrj2niryjYgcnUACJzXpI++ITYw+q/SWJoq29uaU=; b=mnl9PS+Buh2yoHJ81o8sSmEQBYtq5DCNBTJyCE4PXEUxZa9C4R7yfex9 fB03PPmi4LetBFDD2AGmgwhN/dpoow76ZNv3WturFlp/YEhokwwJqpyX+ aot/vguusF88ILiyeZrzHlvuCWt6yoefAb+VBxz6DD7N1M59KcNmgxEMU NmbbS7gc463TO5gqbOncFJf4Yh3KqiLJ/ZpkupH+Uk3uFgXGSu+7iRToL Ev3xq3JX/A49/SjuVDhscvw2UMoP7WxD5x+0a7ruUlh9rsENBqofY/LLa eQeSiMNlbeBhWeRPxiPLZeBVeqPgx+ShqeWAmLTAEZqezRBVsbT9s8NRs w==;
X-CSE-ConnectionGUID: Danr9SVmQiO+KvrmeavGtA==
X-CSE-MsgGUID: nVpBeNQeR4SO8jyemNeYPg==
Authentication-Results: mail-edgeF24.fraunhofer.de; dkim=pass (signature verified) header.i=@fraunhofer.onmicrosoft.com
X-IPAS-Result: A2EEAABS7KBl/xoBYJlRCRoBAQEBAQEBAQEBAwEBAQESAQEBAQICAQEBAUCBOwUBAQEBCwGCECh8gV8DhFCDT4ROiRktA4ETikqQeIEsFIERAxgWIwUPAQEBAQEBAQEBCAEuDQkEAQEDAQOCC4J0AodGJzQJDgECAQMBAQEBAwIDAQEBAQEBAQEGAQEGAQEBAQEBBgcCgRmFLwwGKw2CbSJqXwk1AQEBAQEBAQEBAQEBAQEBAQEBAQEWAg0CJggEKAEBHQEBAQECAQEBGAkPAQUIAQElBwsBDwkCEgYCAiYCAiAGCxcOBgoDAQUCAQGCJFgBgisDDiMUBpl+mmgaN3qBMoEBggoBAQaBB68cDQtggWADBgkBgRAuAYNmhBYeAYoiFx+BVUSBFScOgXNKBzE+gh9CAQECAYEfCQEICgGDfIJogRt/VYJtgwOGEDh2hgtUfx0DgQUEXA8bDx43ERATDQMIbh0CMTwDBQMEMgocCyEFVQNDBkkLAwIaBQMDBIEwBQ0aAhAaBgwmAwMSSQIQFAM7AwMGAwoxAzBVQgxQA2UfMgk8CwQMGgIbHg0nIwIsQgMRBRACFgMkFgQ2EQkLJgMqBjcCEgwGBgldJgcPCQQlAwgEAyspAyN0EQMECgMUBwsHdAWBVgMZKx1AAgELbT01CQsbQwKVRAIBgUMFEQEUFy8FAQIGBwIdNgEDDQ4XBhUEAgkXAg0hCyAKDAoELgMBBAUEAQELARYBJAUzBxEDki4dEhIeA4JajCYBogQ8NAeCNIFggVsGDIoYjxuFeAYTL4QBjHWGPjeRP2SHbo4EgluNaoN7kS8qhH8CBAIEBQIOCIFjdjBwTSRPgmdSGQ+EdokqCQMWgQoBCYJCgmSCMIpkAnUCAQouAgcBCgEBAwmGS4QdAQE
IronPort-PHdr: A9a23:xLhy/RVYzFQk+zLRHSHbIFX9yCvV8KyzVDF92vMcY89mbPH6rNzra VbE7LB2jFaTANuIo/kRkefSurDtVSsa7JKIoH0OI/kuHxNQh98fggogB8CIEwv8KvvrZDY9B 8NMSBlu+HToeVMAA8v6albOpWfoqDAIEwj5NQ17K/6wHYjXjs+t0Pu19YGWaAJN11/fKbMnA g+xqFf9v9Ub07B/IKQ8wQebh3ZTYO1ZyCZJCQC4mBDg68GsuaJy6ykCntME2ot+XL/hfqM+H 4wdKQ9jHnA+5MTtuhSGdgaJ6nYGe0k9khdDAFugjlnwXsLj7gCj7c570i+HGpbuHe4EWDemx Zt3dhTjrgQ+KRcXqGjz1o9Ogp1woSKQ8k8aocbeNY6XEMtTdYjQZIskZHt6V/98ChRIMK+ma YkoIro6ZfZjpYXc+wIyqUGMGlWAG+7hmyVJvVLc37Ac4+s4OwXChCB4RO8/nFnGtM3Zab0cC Kfs9qCR7TWEN9ZUxybB8qX2XykgvKydA+9RQOvp4ER+SCD/hE66jdXdPmnLic0N71K1tbNqR /6rumg+hxN4njadzIQQpoyYqogb5BfZ/AJDx5YHdeWJUU44fdWgSM4D/zHfNpFxRNslWX0to ish17ka7IayZzNZoHxG7xvWavjCfoSH7zy5CKCfOz5lgnJidr+lwRq/ogCsyez5A9G9y00C7 jFEnd/Fqm0X2lTN59KGRPpw8gbp2TuG2w3JrOARCU4unLfdK5kvz6R2kZwWsE/ZGTTxllmwh 6iTHng=
X-Talos-CUID: 9a23:tQI4XWs556c1oOaau80YBKK+6IsJe3vHnUzuJna5LiVKVqeQRFaO179Nxp8=
X-Talos-MUID: 9a23:XefTGwwC9iE+aCyIcv7XSt+L7i2aqKKQEGoAt6wLgZW/EnxyKjqYqjmGeoByfw==
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-AV: E=Sophos;i="6.04,188,1695679200"; d="scan'208";a="67686497"
Received: from mail-mtaka26.fraunhofer.de ([153.96.1.26]) by mail-edgeF24.fraunhofer.de with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Jan 2024 08:40:18 +0100
X-CSE-ConnectionGUID: 3eHGv/PjQ0a+dg5lmg6ZAg==
X-CSE-MsgGUID: pa5BvcuyQli8GJuXe9INyw==
IronPort-SDR: 65a0ecdf_bF5j3v/5dabNy6zuRfL77Dc1TKKQR/KyGxo4kzjX2YLhbk6 kbLZm6MuPtM4dJBThVRxj7vQDSNwa4qil4MtGZA==
X-IPAS-Result: A0AQAADW66Bl/3+zYZlRCRkBAQEBAQEBAQEBAQEBAQEBAQESAQEBAQEBAQEBAQEBQAkcgRYEAQEBAQELAYFmKigHPjdYgQcDhE+DTQEBhE5fhkUBgXQtAzgBWopKj0aBMoEsFIERA1EFDwEDAQEBAQEIAS4NCQQBAYISgnQCh0MCJzQJDgECAQECAQEBAQMCAwEBAQEBAQEBBgEBBQEBAQIBAQYFgQoThTsGKw2GRQEBAQECAQEBEAgJDwEFCAEBFBEHCwEPCQISBgICJgICIAYLBxAOBgoDAQUCAQEeggZYAYIrAw4jAgEBEAaZfo9OAYFAAolXGjd6gTKBAYIKAQEGBASwGw0LYIFgAwYJAYEQLgGDZoQWHgGKIhcfgVVEgRUnDoFzSgcxPoIfQgEBAgGBHwkBCAoBg3yCaIEbf1WCbYMDhhA4doYLVH8dA4EFBFwPGw8eNxEQEw0DCG4dAjE8AwUDBDIKHAshBVUDQwZJCwMCGgUDAwSBMAUNGgIQGgYMJgMDEkkCEBQDOwMDBgMKMQMwVUIMUANlHxYcCTwLBAwaAhseDScjAixCAxEFEAIWAyQWBDYRCQsmAyoGNwISDAYGCV0mBw8JBCUDCAQDKykDI3QRAwQKAxQHCwd0BYFWAxkrHUACAQttPTUJCxtDApVEAgGBQwURARQXLwUBAgYHAh02AQMNDhcGFQQCCRcCDSELIAoMCgQuAwEEBQQBAQsBFgEkBTMHEQOSLh0SEh4DglqMJgGiBDw0B4I0gWCBWwYMihiPG4V4BhMvhAGMdYY+N5E/ZIdujgSCW41qg3uRLyqEfwIEAgQFAg4BAQaBYzw5MHBNJE+CZ08DGQ+EdokqCQMWgQoBCYJCgmSCMIpkAkIzAgEKLgIHAQoBAQMJhkuEHAEB
IronPort-PHdr: A9a23:ZmfUXhybF0rKmjXXCzKQy1BlVkEcU8jcIFtMudIu3qhVe+G4/524Y RKMrf44llLNVJXW57Vehu7fo63sCgliqZrUvmoLbZpMUBEIk4MRmQkhC9SCEkr1MLjhaClpV N8XT1Jh8nqnNlIPXcjkbkDUonq84CRXHRP6NAFvIf/yFJKXhMOyhIXQs52GTR9PgWiRaK9/f i6rpwfcvdVEpIZ5Ma8+x17ojiljfOJKyGV0YG6Chxuuw+aV0dtd/j5LuvUnpf4FdJ6/UrQzT bVeAzljCG0z6MDxnDXoTQaE5Sh5MC0ckk9aXyOctzX8VJHslXDi5rRN2SqeF/Hqc7s/fxeb8 Y5FEBbM1GQ5OQES8VHm358V7upR9R2jgy1SyKXZedmrFetFd5rwIOsTd0ZbWMR2enx6WpOHZ YcuU7M9ObxqsNXRuFYA/AG/PiSGBv7J+jBRrHvyhYFiiNkQPSzUxBQMQsgA6TONltysFKdVC cW30rj01xj9QspXxGrsttXpQzEZiPzdApFKe9H77RAXFlmb0XyQ9bbLZWqfxPgJgm6Cw/hpa eydgS0bhwQgjjKh6IAxg67zgZInmmj17CU63I0xfYjrAF4+YMSjFoNXrT3fLYZtX8c+Fnlho z1polVnkZuyfSxPzYgu5DeFNbqJaYGV5BLkWuuLZzt11zppe7O60g676lPoivb9Wc+9zEtQo 2Jbn8PNuHEA212b6sWORvZnuEb08TiV3h3V6uZKLFpykqzeKpU7xaU3mIZVukPGdhI=
IronPort-Data: A9a23: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 v6YhbYbBq8eUGoeCAg1Q6W8KpQ=
IronPort-HdrOrdr: A9a23:v7eTfaxVzRaMhBYpt7SeKrPwOr1zdoMgy1knxilNoEpuH/BwWf rAoB0+726QtN/LYgBDpTnuAsi9qB/nnqKdgrNhXotKPjOJhILAFugL0WLM+VHd8kbFnNK0rM xbE5RDNA==
X-Talos-CUID: 9a23:dsVplWoGIpIA6QQjFA4roV7mUZsoUlLDi0/SGhexSmpmFbmQRgGi0awxxg==
X-Talos-MUID: 9a23:jk3D+Al/PvtkFz3hDl7sdnp6PZpC/a+zGXkJkMUpmdS0OH1RHSaC2WE=
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-AV: E=Sophos;i="6.04,188,1695679200"; d="scan'208";a="76573276"
Received: from 153-97-179-127.vm.c.fraunhofer.de (HELO smtp.exch.fraunhofer.de) ([153.97.179.127]) by mail-mtaKA26.fraunhofer.de with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Jan 2024 08:40:15 +0100
Received: from XCH-HYBRID-04.ads.fraunhofer.de (10.225.9.46) by XCH-HYBRID-03.ads.fraunhofer.de (10.225.9.57) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1258.28; Fri, 12 Jan 2024 08:40:15 +0100
Received: from DEU01-BE0-obe.outbound.protection.outlook.com (104.47.7.168) by XCH-HYBRID-04.ads.fraunhofer.de (10.225.9.46) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1258.28 via Frontend Transport; Fri, 12 Jan 2024 08:40:14 +0100
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Aj/9FofZIdmyyhZIwALdJuo1jUrqpM9WM3UMPevuozpdWbzrfbi3jgGJw0ZV7gEi7LX65z++lRSLqzvarEfzjrmjS+PchiPWmrzAbdLo4MbVSgFuLHlETrpcn3ylvNP+FottQRWkLZ4PJVCk+qIP2HIRV/1epfZXg4kqpiZUlNxCVPBFTzNcd5HZYY96rcyBUdYjYHadSpy5gwocFH6k1LRQbDAGn8qOzxIpKOOvlSZEIEJbRj9cFBkuDRGyJqe3jEo463FE4yyPWZeMP/IOZlpO6mM8JqcEy2n7vCaqeuv9ylOrRwPYRZd3HMFaduHXCk4URueUdA87BJzZy6PizA==
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=z4C13LnbnuO3p86XiklBTtVccNKQvAF0aL4+VfWCiXY=; b=G6yiObcCoBzDpHibZlAk4/JBNhjyHrZtFwwVfRuHNdjvD5fpYcDp1YbwmVeFFMQOhhsF6xDokaqYXIlYIgEqwuXhg6CdR3KaK+bxnCIBxgsSs7ZfbwAr3dpsZWIWqS+q1xAbJmAgTACVTxWhE37RlJTrUxG1juDHAqaemJI86F15IUh5wQ4R1ys6k8roAf/zfEzgPpr8W9Nz7e/kw4rzdjjehjr7W2G4rjZRuYfKu55i8cB1LNsrNGuxTnyJIouDfEEpRM2f++fX6MSXCOSFMypAldbNbqbTw+D3Bb/juHg4EKeUM1SYlVJoy3QwLq30UfJG2Ad2NaU1eGgT4gq1Wg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=sit.fraunhofer.de; dmarc=pass action=none header.from=sit.fraunhofer.de; dkim=pass header.d=sit.fraunhofer.de; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fraunhofer.onmicrosoft.com; s=selector2-fraunhofer-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=z4C13LnbnuO3p86XiklBTtVccNKQvAF0aL4+VfWCiXY=; b=gjLYEcCeq0VIySaQE5PaZDrnjOE8S0xSbdI41Tl2Zw4Dwef9riSEBjuNXgqBll0D03UYDEzppD5rf1/1Ra1Hh/0MjvyTrEVEQiu5y65IYIPAe97KRbsBL1Pi267Ah4RF21bztlYnqDzaTfZb+TDm9DbfF/uaORoxZ8PYqh+tcl0=
Received: from FR0P281MB2879.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:4c::8) by FR3P281MB2799.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:34::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7181.21; Fri, 12 Jan 2024 07:40:13 +0000
Received: from FR0P281MB2879.DEUP281.PROD.OUTLOOK.COM ([fe80::a3df:349f:8d92:1d7f]) by FR0P281MB2879.DEUP281.PROD.OUTLOOK.COM ([fe80::a3df:349f:8d92:1d7f%4]) with mapi id 15.20.7181.020; Fri, 12 Jan 2024 07:40:13 +0000
Message-ID: <d44ed1e7-f043-3e08-a8a8-b5960b27c6af@sit.fraunhofer.de>
Date: Fri, 12 Jan 2024 08:40:08 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.11.0
Content-Language: en-US
To: Dionna Amalie Glaze <dionnaglaze@google.com>
CC: Tom Jones <thomasclinganjones@gmail.com>, rats@ietf.org
References: <CAAH4kHak38yodUYUJGGPjor42PB5cNgHnC_h-c0F3T6KJapTjw@mail.gmail.com> <CAK2Cwb4zHtRTjb82njC1eUc-R83Fjpw39JNBfCT+tFNaLoTcRw@mail.gmail.com> <CAAH4kHYqYONbs4mODjJ_hRmhxrbzHup1pbUbVGWuijFf0tGyZA@mail.gmail.com> <4efe6901-ea7a-e24c-98f9-957289b6d1dc@sit.fraunhofer.de> <CAAH4kHZNefuAK-2RG-DK9ydQfuq=aoqvMN-CS0AGX4jCyONsXQ@mail.gmail.com>
From: Henk Birkholz <henk.birkholz@sit.fraunhofer.de>
In-Reply-To: <CAAH4kHZNefuAK-2RG-DK9ydQfuq=aoqvMN-CS0AGX4jCyONsXQ@mail.gmail.com>
Content-Type: text/plain; charset="UTF-8"; format="flowed"
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0124.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:94::15) To FR0P281MB2879.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:4c::8)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: FR0P281MB2879:EE_|FR3P281MB2799:EE_
X-MS-Office365-Filtering-Correlation-Id: 4de11bc7-f2ab-40e2-874d-08dc1341b610
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: 5oQVoe0Ncbq/Oa6X6E2XdzxWtPzoB6ST81G+UJfaljt7zl5IoYg+j5j1ryXN8IqgO9xq91dnCm8MDkVy4rXdaIrHm8UEoKFgbtNEzMXBRGrwC5UKu71V0yUpNZ9TmD6ryOuKONpB1/cGkctjUIT++rkhckeikS46zjaaw1s6E0dlNh6z0yGS4dp7KFrk3VLHmQ22XEsb2mz+fUMM6GSOjS3/R6ETOl8VmU3j5KY12BD7Xev9pZtVWkbIfJPDa4Ci+Mns0wGsDo/Aw4gjuOcxtbV3EQbriwmGLZTWEFgIrDhJieP6nAPyMOuJvrgbxi4QNM74BMp6ixZpTtSfvvsGPN9DVNz4KKeS6nl/LiUSveb2dobO8Oo6XD0DfkZYahlSlxYj1p700F2JO07M8ClpqN8er7XxIkV66Bos+JbUC/FrpjMk9HI4WOt4CD9cmt888FyLlvrseEpOjsURh6rdTdgtrUg/G1aDs8reXgRf5sEL+GCwc+KszpxKzfs1Nbpgfcou7Px8fPtuyubBcUIshsLspLGU3VljBkAcCClEJZu5nXMZAnH7vUxu6PBUYq0y+CzbtkNvbhxkhtaf59+qWlDsDQpOpZ4MHYtUJhMXeJ6KaInWb4mLIp2wN5ON1cj3BwDpToCU/gzBm4uF7d5mLSjxBeNCXg++aFMq0pWR4+JUpwYdKhHg1HuJpSjDHIQGICIxKO4d/EFMVlwPiZPxDQ==
X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:FR0P281MB2879.DEUP281.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFS:(13230031)(366004)(376002)(396003)(346002)(136003)(39860400002)(230473577357003)(230373577357003)(230922051799003)(64100799003)(186009)(451199024)(1800799012)(38100700002)(2906002)(66899024)(86362001)(41300700001)(31696002)(82960400001)(4326008)(2616005)(44832011)(6512007)(66946007)(66556008)(66476007)(53546011)(966005)(316002)(6666004)(478600001)(6506007)(6916009)(8676002)(8936002)(31686004)(5660300002)(30864003)(6486002)(83380400001)(45980500001)(43740500002); DIR:OUT; SFP:1102;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: 1cRXoleHKptA/03on4lObD4Pzqi8WhDByWhJYUv03LittsT1TIZBkWSirGBFFH1c0JS/LXcc+NLmus3veJYcjlIO1uFPvkXHlBqjgYwSUM7hsRzlB9r/VF/f2MsXSzJ9GGainWXJKw9d3zH95exbZWNfWFeJFNF4JoiBPkwd6FnSRlXcDnXejSL87bGkc7aPzU4KdA9WWupyg9Hf7c/gQfz6UQ+f7WPeO911VLHLkAP49uKwHP9D8Cf4JDorptidE30+4RJkKxziVDZrhVayRxAkeXjPkg6fyUpAHhXOGpFeuEk7Q9Ur6g2GUbxLsaZyfoyaXY+qI4LGcfJ+1/dMOqIHlzhEuog3yqfLWn68IhZsGtvOJVn2ANU2bUrPc8Z0n9PsPM6VRb84wyQxUnlzjvk8I8b0KIH9p78qzcXJFPnzRH5eIBh5GGg+ms9QnBAi9A1sJLXMBlauIh/2Y4SxRawb55mwfwavsFeKC1qfLOjYDFGbveOVGJmaSt/FA+GSH4p+IVOhHqotMTEpPTLwIYLd7kcREi26hAWiOMnjBvBEMLq41BJGd5hgyJ9lh8VnaIs/tnVhEDnOfKjzZWm7wutsL1o1z6HWlot3qKJlavhtzVKA3AoZ4hD4BMliUPTpasaKTRIDSIklna58v+ZIF1RgO/mTG2vlYvGh2354PAfOT/rwFOIKq/HygM+PwMGMVFnX3Kia1IarqXXEcvW+mZldH5ERTBugiVr2IggZpXpgPMw2hKkH6j3eJ9GsIxDH897clkLWHAxRQKEesLzAkwDcD1v3miNxaQAMnCxl48pHYlC/h5CgRoKFK2lPuatROmomE6v//FSPT8Fl0h//z8JMbGtds7YMkx9UkhefNkN38m7U00RDbaoUIGr4IBZ5VChx9lVStvMnfgJdHfS1ckGqLeUgg0Om6u7xbTCqIoazCMzCI2SCWwKOHnW67ph/sXP04kGLdcAJp/hDJkkkUvtbLL08y3/im+EEGYWgok/V6ZHmecUtpp5c83mr//sTSQ+L2Jf9PjmIJ44SHdr+J6Xw/F54wM5kZ75Yv3nG3KtI0L6MZfpjdM6FRfBWCivKDHuCMm72CnJ5c9gcFPO5e49rIl7RiS8Stq+dzsE6jBNO6JH/L9BB/xylb4gmo9qVPDBKeFmf/tQYU6Lfj+mSJuiQZqVqOZA7YD7euvtiEk1Y+sVjw+8MZid8KanyAq1hlJRJ8nbQ2j8kkAISO8XssD+6TwWV6KkaFF81i97FFlostMJazWlFY17ZXD1tOVSh9CbaApML3QN6GWRomumaAoWpXXLnqGV0brieLk/mc0r+gZLpMX2ij6DBdJGe/sqtv5mx7ssWALYFDTc7dH1QA7gcM2Uuvk95hdJBqG5cwwaqOjSV1BnC/j3xExApeozVBZ/sJh7iPVrHcTWKpVDtMWarYZa/RmTnsixXvsmZqGv7/OZjysJZu6EN1XdyczCLF1GROLYNZdYSOrisr/Af1XMdPy1cm2wxrabn8hMDudglgbd0MAXJYXpPUguwpyIkq+YdLuuOT/JMCnSavMpDjC9jQwNBCuZPYcY6z/EUuXc+SwsVSZexWJrh4H3yr7wr9w31gomtx6mms+/MAxKdWoSYSGCLkcewcLy0XuUP5w+3QXxEp3bYXkyd0g2r/wUGAbQw0h6YdBHt1yVl7UOyn7PY/MTJkfEpdZa0wAfImtI=
X-MS-Exchange-CrossTenant-Network-Message-Id: 4de11bc7-f2ab-40e2-874d-08dc1341b610
X-MS-Exchange-CrossTenant-AuthSource: FR0P281MB2879.DEUP281.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Jan 2024 07:40:12.9920 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f930300c-c97d-4019-be03-add650a171c4
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: pZbDy/knaCGLYCNLQ+TtK2YGlxJ4ph1b1XhMpMXPX13JjRTOcIrmlFSkknCxlma96vtqbQ5CPtmZjZSnRSV6q9mP7VlEPgstC03a5HjeO1U=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: FR3P281MB2799
X-OriginatorOrg: sit.fraunhofer.de
Archived-At: <https://mailarchive.ietf.org/arch/msg/rats/8yFHJZhuWt5AU1EHlauO138UXRs>
Subject: Re: [Rats] [CoRIM] The use case for TDX- and SEV-SNP-measured virtual firmware
X-BeenThere: rats@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: Remote ATtestation procedureS <rats.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rats>, <mailto:rats-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/rats/>
List-Post: <mailto:rats@ietf.org>
List-Help: <mailto:rats-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rats>, <mailto:rats-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 12 Jan 2024 07:40:32 -0000

Hi Dionna,

before starting to phrase more detailed replies (and I will come back to 
that!), I'd like to start with a few clarifying question about your 
goals, if you allow me, in-line below.


Viele Grüße,

Henk

On 12.01.24 00:31, Dionna Amalie Glaze wrote:
> On Tue, Jan 9, 2024 at 1:06 PM Henk Birkholz
> <henk.birkholz@sit.fraunhofer.de> wrote:
>>
>> Hi Dionna,
>>
>> thank you for bringing the CVM goals here! I think they are a great
>> addition to the mix. Let's try to figure out some answers to your
>> questions step by step.
>>
>> You are touching on a lot of topics, so I am focusing on adding context
>> to the RATS side of things first and in the interest of the list's
>> subscribers only point quickly to one recent SCITT activity up front:
>>
>>> https://github.com/ietf-wg-scitt/draft-ietf-scitt-architecture/pull/156
>>
>> Pending the approval of that PR, the initial attempt to facilitate DIDs
>> as a first citizen identifier is a thing of the past.
>>
>>
>> So, RATS: please let me try to add some additional context about in-toto
>> attestations in the context of RATS & CoRIM to start with, in the way
>> how I currently understand it.
>>
>> The attestations you refer to are described here, I think:
>>
>>> https://github.com/in-toto/attestation/tree/main/spec/v1
>>
>> In remote attestation land, the concept that can be found at that
>> pointer is potentially best compared with a RATS Endorsement or NIST's
>> 3rd-Party Attestation and maybe also NIST's 1st-Party Attestation (a
>> "self-attestation"), I think. It seems not to be RATS Evidence, I think,
>> which is the input to a RATS Verifier, and I am happy to exchange more
>> thoughts about that.
>>
> 
> They are certainly more on the software side of things, but I wouldn't
> suggest that an in-toto attestation couldn't be a carrier of evidence.
> * We could define a predicate that both reflects a TEE attestation
> report's fields and includes the TEE attestation report from the
> device for verification, and its verifier extension would not accept
> the predicate if it's not properly signed by the manufacturer.
> * We can define a "fully-double-check SLSA" predicate that will both
> test that the provenance is properly signed but also test that the
> input sources and toolchain container build binaries with the same
> digest. This is evidence for build transparency of measured artifacts
> in an attested environment, which can then be translated to accepted
> claims about provenance that are stronger than unchecked endorsements.
> As a middle ground, you might require that a signed build attestation
> has a non-repudiation proof with a code transparency service that the
> verifier must query to accept the build attestation. I'm not sure we
> have agreement on what counts as evidence for a claim.

1.) When you write TEE attestation report, are you referring to Evidence 
consumed by Verifiers or to Attestation Results consumed by Relying Parties?

2.) What I now think you are saying is that you would like to increase 
the assurances ("trustworthiness") of toolchain activities, including 
authenticity and accountability of toolchain components. SLSA today 
provides a way to document toolchain behavior. You would like to enrich 
that assertion set with RATS Attestation Results, so you can show that 
the assertions about the toolchain are trustworthy because the toolchain 
was composed exactly as it was intended to be and did what it was 
intended to do and nothing else?

3.) You would like to explore the possibility, if the assertion formats 
used by SLSA (in-toto attestations) can not only convey the assertions 
about the toolchain and its activities, but also not only convey (as, 
e.g., by including an EAT) but natively express (and I am uncertain 
here!) remote attestation Evidence if the toolchain environment can also 
takes on the role of an Attester?

4.) As toolchains are potentially running in CVMs, corresponding 
Verifiers must also assess the confidentiality capabilities of the 
Attester and express them in the Attestation Result (see, for exmaple, 
https://www.ietf.org/archive/id/draft-ietf-rats-ar4si-05.html#name-specific-claims)

> 
>> in-toto attestations' outer layer are in-toto Envelopes with a JSON
>> encoding, which are signed using DSSE:
>>
>>> https://github.com/secure-systems-lab/dsse/blob/v1.0.0/envelope.md
>>
>> DSSE - Dead Simple Signing Envelope - is an alternative approach to
>> JOSE's JWS. Some reasoning about why it is defined as it is can be found
>> here:
>>
>>> https://github.com/secure-systems-lab/dsse/#why-not
>>
>> In CoRIM work, we are also defining semantics that could be viewed as a
>> type of pre-defined set of predicates as defined by in-toto:
>>
>>> https://github.com/in-toto/attestation/tree/main/spec/predicates
>>
>> I am an under the impression (maybe wrongfully so!) that the
>> similarities seem to end there.
> 
> A predefined set of predicates does indeed sound to me like what CoRIM
> is, and it's why I think the extensibility model is clunky. If you
> were to make it cleanly extensible such that a profile has full
> control over its evidence schema, then your differences from in-toto
> would be JSON vs CBOR.
> 
> I like the idea of different platform providers coming together than
> trying to fit into a similar representation to simplify verification,
> but I don't like the resulting abstraction to be what every platform
> provider henceforth needs to find a way to model themselves on top of.
> I think we'd be telling a different story about reference values and
> measurement-values-map if there were a standard evidence format that
> RVPs and manufacturers alike would target. Right now though, there is
> an implicit "turn the blob of evidence into a form that fits all these
> triple record types".
> What is really abstractable into the same type such that the
> underlying technology doesn't actually matter?
> 
> I think we have the document's validity time range (which could be
> modeled in the signing key's certificate expiration) and security
> version numbers, but the rest is extra that I don't really get.
> Why is there a SWID used in the document when it's meant to be
> describing evidence and endorsements as claims, when SWID is purely
> metadata? Isn't this kind of thing more related to supply chain
> integrity in the SCITT workstream?
> 
> For another example of overgeneralization, an environment-map has the
> class, instance, and group fields. Class limits to some amount of
> detail, but no it could be a class-id that's arbitrary bytes. Instance
> can also be arbitrary bytes. Group also arbitrary bytes. They have
> been expanded so much to fit a few use cases that they no longer carry
> meaning.
> I think there's value in understanding how to translate a concise
> binary object into something more human-readable, which the initial
> fields attempted to do. There's value in not needing a pretty printer
> for every profile, but I think that maybe schemas should be more
> shareable and reusable without creating a fragile base class [1].
> Indeed you can have URLs to cddls that name some type(s) that you then
> include in the cddl of your profile for the names to get printed
> nicely.
> 
> There are multiple types nested inside a corim that have extension
> points that are subject to interpretation by a profile, and some types
> are closed with some number of alternates while others are open with
> some initial alternates.
> A profile could extend or restrict those alternates, so I don't really
> see why every profile would need to paste itself on top of the
> existing identity types and triples.
> 
> Profiles can then be schemas (again like in-toto) that have their own
> interpretation for translating evidence into claims. The "own
> interpretation" how CoRIM is currently defines profiles anyway: "A
> profile allows the base CoRIM schema to be customised to fit a
> specific Attester."
> 
> I think that a lot of the definitions described so far have been
> abstractions to fit a small number of use cases (DICE, ARM CCA's PSA,
> TPM), and I think that the types defined in CoRIM can perhaps be
> reusable in their profiles, but I don't think that the heft of the
> CoRIM document is serving itself.
> 
> The description of conditional triples and conditional series triples
> and multiple environment conditional triples... it feels very much
> like an awkward virtual machine to program with a verification policy.
> There's a whole expression language that Intel defined in their
> profile for CoRIM draft. I don't know where reference value ends and
> policy description (allegedly out of scope for CoRIM) begins.
> 
> [1] https://en.wikipedia.org/wiki/Fragile_base_class
> 
>>
>> Two of CoRIM's goals - in a simplified nutshell - are compactness
>> combined with standardized signing. The JSON encoding prescribed by
>> in-toto seems to be going down a different path, but hypothetically it
>> might be possible to transfer all semantics covered in CoRIM into
>> in-toto predicates. The DSSE uses a signing scheme that seems to make
>> some unique choices on flexibility and extensibility, of which I would
>> be careful to assume that they can be simply adopted as is. I am happy
>> to exchange more thoughts on these topics, too.
>>
>> We definitely agree on the goal to not overly burden Verifiers with
>> respect to their duty of appraisal of Evidence. There is a lot more in
>> your email, but I am stopping here for now so that we can work through
>> your illustrated goals and corresponding questions iteratively, if that
>> is okay for you.
>>
>>
>> Viele Grüße,
>>
>> Henk
>>
>> p.s. I started the email off with your reply to Tom instead of your
>> initial email. Sorry!
>>
>>
>> On 09.01.24 20:34, Dionna Amalie Glaze wrote:
>>> On Mon, Jan 8, 2024 at 5:15 PM Tom Jones <thomasclinganjones@gmail.com> wrote:
>>>>
>>>> I don't understand the process that would allow a 3rd party attestor to make any assertion about what happened in the Google cloud (or any other cloud for that matter.)  Does anyone else understand the basis for virtual instances being attested as secure?
>>>
>>> The process is by transferring trust to a third party attester that
>>> you do trust, and ensuring that the attested environment is heavily
>>> protected from host tampering. This is the idea behind Trusted
>>> Execution Environments, and is a very different threat model than
>>> folks typically work with.
>>> For AMD SEV-SNP or Intel TDX, you have to trust that the chip is doing
>>> its job right, such that you can take the chip's signature of a
>>> virtual instance's boot state at face value, so long as the key
>>> certificate roots back to the manufacturer's published root of trust.
>>> What Google then certifies is what the measurement of the boot means,
>>> since we're providing the firmware. At first this will just be "we
>>> signed the measurement", but then we'll add claims like, "this
>>> measurement is producible through documented means on a binary that
>>> was built from sources X and toolchain container Y"
>>>    and then you can go further down the rabbit hole of if you trust the
>>> builder, or if X + Y have the difficult-to-attain property that a
>>> clean rebuild yields exactly the same bits. You can audit the sources
>>> to establish trust in the firmware, and you can continue the "who
>>> built the toolchain container and do I trust them?" unfathomably long
>>> chain of builders building builders.
>>>
>>>> ..tom
>>>>
>>>>
>>>> On Mon, Jan 8, 2024 at 4:33 PM Dionna Amalie Glaze <dionnaglaze=40google.com@dmarc.ietf.org> wrote:
>>>>>
>>>>> Hi y'all, I've touched on the issue of confidential VMs (CVMs) a few times in my issues and emails to this list, but I'd like to lay out exactly what we'd like to be able to enable with RATS.
>>>>>
>>>>> # Goals
>>>>>
>>>>> Our goal is for CVM hardware attestations of Google-provided TCB to be linked to
>>>>> 1. verifiable authenticity: signed corim measurements
>>>>> 2. auditable measurements: the signed measurement also points to a supply chain transparency report for the measured binary. A document or software package we publish shows how to calculate the measurement from the binary, and the transparency report binds the binary to an auditable source tree at commit X built with toolchain container Y, signed by an organizationally endorsed builder key that the build follows SLSA L3 operational security requirements.
>>>>>
>>>>> and ephemeral claims, e.g.,
>>>>> 3. vulnerability reporting: short-lived certificates of firmware status, like "has the most up to date security version number" or "is subject to CVE xyz. Restart your instance to get on the latest version". This could be modeled as a CoRIM endorsement of a claim like "uptodate as of TIMESTAMP".
>>>>> 4. Platform security reporting: short-lived certificates of platform firmware status, like "you can be sure that an attestation's TCB is >= x anywhere in the fleet"
>>>>>
>>>>> # Supply chain standards
>>>>>
>>>>> There are further things you can do with the transparency report like non-repudiation through hosting the build attestation with a transparency service that has append-only logs after identity-proofing, but there seems to be a fundamental disagreement between the IETF SCITT workstream and the sigstore.dev project on how to achieve that, since SCITT wants W3C DID identities, and sigstore.dev is already built to use OIDC. I don't know how that all is supposed to be consonant with RATS, since there's nothing in the corim or eat documents about using DID for identities. There is EAT binding to OIDC tokens though. Is there anyone in the RATS group that is participating in the SCITT effort that can explain this to me?
>>>>>
>>>>> The SLSA provenance schema itself is defined in terms of a completely different attestation format called in-toto (https://in-toto.io), and communication I've had with them is that in-toto should be considered an alternative carrier format to CoRIM to fit into the RATS framework. If we want to link the reference measurement to an in-toto attestation, that seems like something verifier-specific that we'd need to say, "hey if you want to ensure the firmware measurement is not only signed, but built transparently, then download the SLSA attestation in dependent-rims. By the way if there's more than one thing in dependent-rims, you can understand any url with prefix X to be a firmware build attestation from Google" which is an unfortunate complexity.
>>>>>
>>>>> # Modeling CVM attestation
>>>>>
>>>>> I'm trying to understand how to fit all these goals into the RATS framework such that we can propose extensions to open source verifiers that aren't overly burdensome or highly specific to each particular package we want to provide reference values (and provenances) for.
>>>>>
>>>>> In terms of the firmware measurement, we can deliver a CoRIM through a UEFI variable pointed to by the NIST SP 800-155 unmeasured event, and we can give the AMD SEV-SNP VCEK certificate through extended guest request, but everything else seems to be up to the verifier to collect independently of the VM.
>>>>>
>>>>> ## Evidence collection
>>>>>
>>>>> The way we're collecting attestations at the moment is through a recommended software package https://github.com/google/go-tpms-tools that wraps up a vTPM quote with a TEE quote and supporting certificates as a protocol buffer. I'm not clear if this unsigned bundling process should be modeled as any particular thing in the RATS framework. I think we're working with the "passport model" of attestation.
>>>>>
>>>>> I don't have a sense of how the WG foresees how evidence should be bundled to give to a verifier. I'm working from a vendor-specific understanding at the moment that whatever verifier service you use, you need to use their format and API, but of course ideally I'd like this to be more of a federated arena where you can have n-of-k verifiers say some evidence matches policy, and the evidence is not too vendor-specific for that to be out of the question.
>>>>>
>>>>> ## CVM Profiles
>>>>>
>>>>> Whereas Google has an attestation verifier service that generates an EAT with its own claims bound to an OIDC token (for the Confidential Space product), we'd like to use more standard claims, like AMD SEV-SNP measurement, Intel TDX MRTD, etc. Azure's attestation service has their own x-ms-* extensions for this that will hopefully help AMD and Intel align on how claims should be proposed for the CoRIM format.
>>>>>
>>>>> Supposing we do get profiles from Intel and AMD for their CVM attesting environments (more below), those environments sign quotes / attestation reports that serve as evidence for the claims defined in those profiles.
>>>>>
>>>>> I as a Reference Value Provider want to be able to provide a document that says something that covers 1 and 2 up front like, "if your AMD measurement is contained in {x, ...} or your TDX measurement is contained in {y, ...}, then you're running Google-authentic virtual firmware with security version n. The firmware this measures can be found at z".
>>>>>
>>>>> My understanding of how to do this is for the firmware CoRIM to have a single CoMID tag and the SLSA provenance linked from dependent RIMs.
>>>>> The CoMID tag will have lang: en-us, tag-identity: some-uuid we generate before signing, and triples-map containing some reference triples.
>>>>> We have reference triples for both AMD and TDX by using different environment-maps with different class fields.
>>>>> AMD SEV-SNP's class is up to AMD to profile, but let's just say it's a class-id for the VCEK extension oid prefix 1.3.6.1.4.1.3704.1.1. The measurement-map for this can have an mkey or not. If we had one, I'm unsure if it's something that Google would define or if it's still up to AMD. If Google, we could use a uuid that stands for Google Compute Engine?
>>>>> The mval as a measurement-values-map would then contain our AMD firmware svn, and AMD profile-specific claims, but I think we'd just give the measurements and some form of acceptable policy specification. We just have one guest policy we apply everywhere, but if that changes we probably need the AMD profile to have expressions like ranges, lower- and upper-bounds for policy components.
>>>>> For Intel, they'd need a similar profile for the TDREPORT components as claims.
>>>>>
>>>>> I say measurements and not measurement even though we're talkabout about a single firmware binary because both AMD and TDX can have multiple measurements based on the VM construction, such as how many vCPUs it launched with (AMD has VMSAs and Intel has TDVPS).
>>>>> For now our security version number matches what we measure as EV_S_CRTM_VERSION in PCR0, but that may change if there are technology-specific changes.
>>>>>
>>>>> As far as I understand, the Intel profile for CoRIM only supports the boot chain up to the quoting enclave (QE) in terms of its TCB version, but the profile does not describe the QE as its own attesting environment for SGX enclave or TDX VM. The attesting key is generated in the QE and is signed by the PCE's hold on the PCK, which is per-machine-per-TCB (ppid + pceid). The quote wraps around the attesting key's signature for verification against their non-x.509 format.
>>>>>
>>>>> AMD similarly does not have a profile for the SNP firmware as an attesting environment for an SEV-SNP VM.
>>>>>
>>>>> # Evidence Appraisal
>>>>>
>>>>> Setting aside evidence formats, I want to really understand how we go from a signed CoRIM and a CVM attestation to an attestation result (which I'll handwave is some JWT representation of the accepted claims).
>>>>>
>>>>> We somehow get the VCEK or PCK certificate and attestation report / quote, and the Google firmware CoRIM to the verifier. The verifier can verify the evidence back to the manufacturer with this forwarded (or cached) collateral and introduce every quote/report field as claims of the target environment.
>>>>> Let's say Google's code signing root key is in the trust anchor, so any CoRIM we sign is trusted.
>>>>>
>>>>> If I read the CoRIM document about matching reference values against evidence, the document starts talking about conditional endorsements instead, which are a different triple from reference-value-triples. We discussed a little in the Github issues that reference values are a special kind of endorsement, but it's still jarring. It goes on to say that reference-value-triples is essentially redundant with the conditional-endorsement-triples, but you can use either. Then there's "In the reference-triple-record these are encoded together. In other triples multiple Reference Values are represented more compactly by letting one environment-map apply to multiple measurement-maps."
>>>>>
>>>>> It seems "Conditional Endorsement" is philosophical, and "conditional-endorsement-triples" is one implementation of the idea, and "Reference Value" is philosophical, but "reference-value-triples" is one implementation of the idea. Another implementation of "Reference Value" as an mkey of a "conditional-endorsement-triples", and the mval is more explicit about what claims are introduced. For "reference-value-triples", I don't see any explicit representation of a claim, rather, reference-value-triples lead to "authorized-by" getting added to fields of an Accepted Claim Set entry which itself is only a conceptual type to help understand appraisal, but not an actual claim itself–is this where a profile-defined claim needs to clarify meaning? I see this authorized-by as conceptually different from the optional field of a measurement-map, since that is from the CoRIM that I've signed and isn't part of an attestation result representation.
>>>>>
>>>>> If I'm looking at a JWT with an AMD profile claim about the measurement value, I'd like another claim that the measurement value is signed by Google, or a stronger claim that the measurement value was signed by a trusted source, and the build provenance is [some google URL to the SLSA provenance].
>>>>> Again though, if at all possible these claims should appeal more broadly than just Google.
>>>>>
>>>>> --
>>>>> -Dionna Glaze, PhD (she/her)
>>>>> _______________________________________________
>>>>> RATS mailing list
>>>>> RATS@ietf.org
>>>>> https://www.ietf.org/mailman/listinfo/rats
>>>
>>>
>>>
> 
> 
>