Re: [webfinger] [apps-discuss] Mail client configuration via WebFinger

"Paul E. Jones" <paulej@packetizer.com> Wed, 01 June 2016 18:39 UTC

Return-Path: <paulej@packetizer.com>
X-Original-To: webfinger@ietfa.amsl.com
Delivered-To: webfinger@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 8AD6812D0C1 for <webfinger@ietfa.amsl.com>; Wed, 1 Jun 2016 11:39:59 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.428
X-Spam-Level:
X-Spam-Status: No, score=-3.428 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RP_MATCHES_RCVD=-1.426, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=packetizer.com
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 GNyUg5J7o8TL for <webfinger@ietfa.amsl.com>; Wed, 1 Jun 2016 11:39:56 -0700 (PDT)
Received: from dublin.packetizer.com (dublin.packetizer.com [75.101.130.125]) (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 D16B612D0D1 for <webfinger@ietf.org>; Wed, 1 Jun 2016 11:39:31 -0700 (PDT)
Received: from [156.106.219.196] ([156.106.219.196]) (authenticated bits=0) by dublin.packetizer.com (8.15.2/8.15.2) with ESMTPSA id u51IdQp3000596 (version=TLSv1 cipher=ECDHE-RSA-AES256-SHA bits=256 verify=NO); Wed, 1 Jun 2016 14:39:28 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=packetizer.com; s=dublin; t=1464806368; bh=qXAoQa/Md+HxQbVLi50CzwR5lqrR+HjDvC2t8p/Z1JQ=; h=From:To:Subject:Date:In-Reply-To:Reply-To; b=pbob01MbUgQEdC098JDqcctjvlR/kg+x0yquG5fmmMgQ1NU+mCJOf2PLB0B+xvaAr 7rZCufx4AY6ePgg+wK4so6QEkzx0hUP1WjiMPAdAS+jiWyn+jtEkb1+NdUhTLsT4jZ 8U4M5TSUoXwI1lsZICOAlGEqI0pANFAM44RQLGuU=
From: "Paul E. Jones" <paulej@packetizer.com>
To: Marten Gajda <marten@dmfs.org>, "webfinger@ietf.org" <webfinger@ietf.org>
Date: Wed, 01 Jun 2016 18:39:27 +0000
Message-Id: <em4c0943cd-ba24-4967-84d0-68f1adb15cb6@helsinki>
In-Reply-To: <574EEA5E.3060308@dmfs.org>
User-Agent: eM_Client/6.0.24928.0
Mime-Version: 1.0
Content-Type: text/plain; format="flowed"; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.5.16 (dublin.packetizer.com [10.137.60.122]); Wed, 01 Jun 2016 14:39:28 -0400 (EDT)
Archived-At: <http://mailarchive.ietf.org/arch/msg/webfinger/xPH27D_zf7qJy6kWmB3gnGE9IxA>
Subject: Re: [webfinger] [apps-discuss] Mail client configuration via WebFinger
X-BeenThere: webfinger@ietf.org
X-Mailman-Version: 2.1.17
Precedence: list
Reply-To: "Paul E. Jones" <paulej@packetizer.com>
List-Id: Discussion of the Webfinger protocol proposal in the Applications Area <webfinger.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/webfinger>, <mailto:webfinger-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/webfinger/>
List-Post: <mailto:webfinger@ietf.org>
List-Help: <mailto:webfinger-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/webfinger>, <mailto:webfinger-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 01 Jun 2016 18:39:59 -0000

Marten,

I would truly love to see this move forward and have had an intention of 
writing a draft myself.  I'd be happy to collaborate with you on one.  
Just in the past couple of weeks, I had to help somebody set up their 
email client remotely to use an IMAP server.  It was incredibly painful 
for me to try to step them through the process not having access to 
their screen, etc.  After that experience, I'm even more convinced that 
a solution to this problem is needed.

I personally don't think learning the existing of an account is an 
issue, since I can discover that by merely sending an email.  However, 
if that is a concern, then the simplest solution is for the server that 
is providing the configuration document to requires authentication 
regardless of the user ID presented.

If I were to deploy this in my own environment, I would use the same 
user ID and password to retrieve the configuration document as is used 
to log into the IMAP for SMTP server.  Interfacing with the auth 
functions that already exist would be fairly trivial.  I don't fully 
understand why we would want to have a different authentication 
mechanism, given that (at least in every case I've seen) the IMAP/POP 
and SMTP services generally validate users from the same authentication 
functions behind the scenes.  Sending credentials over HTTPS to a server 
to then validate in the same manner seems to make a lot of sense.

So the solution I had in mind would be to query using WebFinger to get 
the usual output for "paulej@packetizer.com".  In that JRD that is 
returned would be a link relation type "mailconfig" that refers to  a 
resource like https://dublin.packetizer.com/mailconfig/?user=paulej.  
That web interface would require just basic authentication (since the 
password would be encrypted with TLS) and authenticate with the auth 
function like the other mail services.  If auth is successful, it would 
return the JSON structure that would contain the mail configuration 
information.  I could easily have something like that working very 
quickly.

I'd be very hesitant to introduce more complex authentication or 
identity procedures, personally.

As for the content of the file returned, while I very much think we 
should only be using the latest security procedures, we have to allow 
the document to return things like "use SSLv2" if that is indeed what 
the IMAP server supports.  These policies are really for the IT folks to 
dictate and I don't think the document we produce should dictate the 
security mechanisms.  It's really the place for other documents to 
dictate best practices and any suggestion we might make might be wrong 
in 5 years. :)

That said, I'm certainly favorable to simplicity and have no strong view 
on exactly how the config information should be structured.  I wrote up 
an example https://tools.ietf.org/html/draft-ietf-appsawg-webfinger-03 
that was overly trivial.  It did not consider the possibility that a 
client might have multiple protocols, for example.  I think it is 
important to provide a JSON document that is an array of mail 
transmission options then an array of mail retrieval options.  Within 
each array, I would expect an array of configuration options ordered in 
the preferred order of the administrator.  Thus, the preferred security 
procedures can be conveyed.  So, "IMAP" and the host might be listed a 
few times with different ports and transports (SSL and TLS and, gulp, no 
security).  I have seen some services offered where the host name 
actually differs based on one's geographic location.  Thus, multiple 
servers names might need to be conveyed, along with perhaps checking the 
physical location of the user.  (But, that detail doesn't have to be a 
part of the spec.)

Importantly, since the whole process can be automated, then it is 
entirely possible for the client to re-check the recommended 
configuration information from time-to-time to see if there is a change 
in the configuration details.

Paul

------ Original Message ------
From: "Marten Gajda" <marten@dmfs.org>
To: "Paul E. Jones" <paulej@packetizer.com>; "webfinger@ietf.org" 
<webfinger@ietf.org>
Sent: 6/1/2016 9:59:58 AM
Subject: Re: [webfinger] [apps-discuss] Mail client configuration via 
WebFinger

>Hi Paul,
>
>we've brought up this topic during the last CalConnect conference and 
>it
>was decided to revitalize the TC where the draft you mentioned
>originated from. We have some interest from software vendors and users
>to get this solved.
>
>As mentioned before, one of the major problems to solve is
>authentication. The issue raised was that the pure existence of a link
>to a configuration document in the webfinger response can reveal the
>existence of the account. On the other hand, requiring authentication
>for auto configuration results in other possible security issues and a
>poor user experience. The latter ones could probably be solved by 
>making
>OpenID Connect a requirement for auto configuration, which, on the 
>other
>hand, adds another layer of complexity and probably makes it less
>attractive to smaller vendors.
>
>Does anyone see any possible solution to that?
>
>I'd also like to suggest a few changes in the structure of the
>configuration document and to drop support for services not protected 
>by
>TLS or any other transport security layer. I'll post an updated draft 
>as
>a basis for discussion.
>
>I'm happy to join the upcoming IEFT meeting in Berlin and have a BOF or
>something if there is enough interest in that.
>
>cheers
>
>Marten
>
>
>
>
>Am 09.02.2016 um 02:03 schrieb Paul E. Jones:
>>  Marten,
>>
>>  Thanks for the encouraging words; it sounds like you understand the
>>  problem that needs to be solved.
>>
>>  I always felt the server side was the trivial part.  As you said, 
>>it's
>>  possible to set up a simple WebFinger server with a static file (or
>>  sets of files), an .htaccess file, etc.  I use a server that pulls
>>  data from a database, myself.  Importantly, though, the WebFinger
>>  protocol is very simple (and I have to thank a number of folks who
>>  forced that simplicity), so I see the server side as being far less 
>>of
>>  a barrier.  Hosting providers, for example, could very quickly and
>>  easily support this server-side.
>>
>>  The clients are the challenge.  As others have noted, this requires
>>  code changes in the clients and deployment of the clients.  I'm
>>  encouraged that you're working on client code. :)
>>
>>  Having an RFC is going to be an extremely important step to actually
>>  seeing this problem solved.  That said, I did not want to spend time
>>  on something that would be met with total rejection.  It sounds like
>>  there is at least enough interest to start a meaningful dialog, so
>>  I'll try to put together a draft soon and we can go from there.  If
>>  you're interested to collaborate on that, you're certainly welcome.
>>
>>  Paul
>>
>>  ------ Original Message ------
>>  From: "Marten Gajda" <marten@dmfs.org>
>>  To: webfinger@ietf.org
>>  Sent: 2/8/2016 5:54:58 PM
>>  Subject: Re: [webfinger] [apps-discuss] Mail client configuration via
>>  WebFinger
>>
>>>  Hi Paul,
>>>
>>>  as a client developer I'm very interested in this topic. We've
>>>  actually implemented draft-daboo-aggregated-service-discovery-03 and
>>>  there is at least one groupware server product which also supports 
>>>it.
>>>
>>>  While working on our implementation we've identified a few minor
>>>  issues with the latest draft and we've already discussed them with
>>>  Cyrus. I think most of these issues are solved easily.
>>>
>>>  Though, the major issue has not been addressed yet. It's the issue
>>>  mentioned by Stephen. Under certain conditions a client might have 
>>>to
>>>  ask the user upfront to authenticate, which may disclose the user's
>>>  credentials to the wrong service.
>>>
>>>  We didn't release this feature in our generic CalDAV/CardDAV 
>>>clients,
>>>  mostly due to that issue.
>>>
>>>  Anyway, I think it really starts with the server developers.
>>>  Implementing the current spec is not that much work on the server
>>>  side. In many cases the server configuration document could just be 
>>>a
>>>  static file and setting up a simple WebFinger end point is not that
>>>  hard either. Actually, for our corporate server we've just created a
>>>  few static files and some redirect magic in our .htaccess file to
>>>  provide the WebFinger stuff.
>>>
>>>  On the client side it's more work, because it affects the account
>>>  setup flow a lot. But it surely is worth the efforts if more 
>>>services
>>>  support it.
>>>
>>>  However, before even the server developers can start, it requires an
>>>  RFC. So lets start to think about how to solve the authentication 
>>>issue.
>>>
>>>  cheers
>>>
>>>  Marten
>>>
>>>
>>>  Am 08.02.2016 um 20:00 schrieb Paul E. Jones:
>>>>  Cyrus,
>>>>
>>>>>  Right now it is not clear to me that an ASCOT-like solution would
>>>>>  be adopted given the use of device management. Before embarking on
>>>>>  this we need to take a careful look at whether any solution is
>>>>>  likely to be adopted (with the biggest burden likely being on
>>>>>  clients/OS vendors to support it). Given the device management
>>>>>  solutions already out there, I suspect there would be little value
>>>>>  to m,ost of those folks to actually support ASCOT.
>>>>
>>>>  I completely agree that we should try to get a sense of the
>>>>  likelihood of success.
>>>>
>>>>  Within the enterprise -- especially the larger ones -- you are
>>>>  entirely correct that device management systems provide a good
>>>>  solution for most of the employees.   However, I interact with a 
>>>>lot
>>>>  of smaller businesses that do not use such systems.  Many of them
>>>>  have a web hosting company host their domains and do not have IT
>>>>  staff to help them on a daily basis.  I'm skeptical that a device
>>>>  management system would help that class of users, so arming hosting
>>>>  providers with tools they can deploy to their customers would help,
>>>>  I think.
>>>>
>>>>  There are also a number of individuals who have their own domains,
>>>>  many hosted on the many, many web hosting providers out there. Same
>>>>  issue for most of them.
>>>>
>>>>  So, I think there is a market need.  I suspect if we were to create
>>>>  a solution, hosting providers were to deploy it, and client
>>>>  developers were to support it, people would use it.  However, 
>>>>that's
>>>>  a string of "ifs".  I think it starts with the client developers.
>>>>  If there were people interested to solve the problem, I think the
>>>>  rest falls into place.
>>>>
>>>>  All that said, if client developers are uninterested, there's 
>>>>little
>>>>  point working to solve this problem.
>>>>
>>>>>  As an alternative, the IETF might want to take a more serious look
>>>>>  at the overall device management solutions, and see if there might
>>>>>  be scope for standards in that area. That would allow us to build
>>>>>  off something that is already deployed (in a number of proprietary
>>>>>  solutions) but is today solving the problem of account setup.
>>>>
>>>>  I think your suggestion is worthwhile independent of whether we
>>>>  solve the problem for smaller businesses and individual users of
>>>>  hosted domains.  It would good if the same solution or would 
>>>>address
>>>>  those needs of smaller businesses and individuals, but if it 
>>>>didn't,
>>>>  it's still a step forward.
>>>>
>>>>  Paul
>>>>
>>>>  _______________________________________________
>>>>  webfinger mailing list
>>>>  webfinger@ietf.org
>>>>  https://www.ietf.org/mailman/listinfo/webfinger
>>>
>>>  -- Marten Gajda
>>>  CEO
>>>
>>>  dmfs GmbH
>>>  Schandauer Straße 34
>>>  01309 Dresden
>>>  GERMANY
>>>
>>>  phone: +49 177 4427167
>>>  email: marten@dmfs.org
>>>
>>>  Managing Director: Marten Gajda
>>>  Registered address: Dresden
>>>  Registered No.: AG Dresden HRB 34881
>>>  VAT Reg. No.: DE303248743
>>>
>>>  _______________________________________________
>>>  webfinger mailing list
>>>  webfinger@ietf.org
>>>  https://www.ietf.org/mailman/listinfo/webfinger
>>
>
>--
>Marten Gajda
>CEO
>
>dmfs GmbH
>Schandauer Straße 34
>01309 Dresden
>GERMANY
>
>phone: +49 177 4427167
>email: marten@dmfs.org
>
>Managing Director: Marten Gajda
>Registered address: Dresden
>Registered No.: AG Dresden HRB 34881
>VAT Reg. No.: DE303248743
>
>_______________________________________________
>webfinger mailing list
>webfinger@ietf.org
>https://www.ietf.org/mailman/listinfo/webfinger