[precis] draft evaluation of Resourceprep (RFC 3920)

Peter Saint-Andre <stpeter@stpeter.im> Mon, 13 December 2010 17:25 UTC

Return-Path: <stpeter@stpeter.im>
X-Original-To: precis@core3.amsl.com
Delivered-To: precis@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id D29FF28C0EB for <precis@core3.amsl.com>; Mon, 13 Dec 2010 09:25:21 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -102.882
X-Spam-Level:
X-Spam-Status: No, score=-102.882 tagged_above=-999 required=5 tests=[AWL=-0.283, BAYES_00=-2.599, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id P-Qa-jcTZ2Wm for <precis@core3.amsl.com>; Mon, 13 Dec 2010 09:25:21 -0800 (PST)
Received: from stpeter.im (stpeter.im [207.210.219.233]) by core3.amsl.com (Postfix) with ESMTP id E29B428C0E4 for <precis@ietf.org>; Mon, 13 Dec 2010 09:25:20 -0800 (PST)
Received: from dhcp-64-101-72-234.cisco.com (dhcp-64-101-72-234.cisco.com [64.101.72.234]) (Authenticated sender: stpeter) by stpeter.im (Postfix) with ESMTPSA id DE02E400F6 for <precis@ietf.org>; Mon, 13 Dec 2010 10:39:17 -0700 (MST)
Message-ID: <4D065765.2040002@stpeter.im>
Date: Mon, 13 Dec 2010 10:27:01 -0700
From: Peter Saint-Andre <stpeter@stpeter.im>
User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.2.13) Gecko/20101207 Thunderbird/3.1.7
MIME-Version: 1.0
To: precis@ietf.org
X-Enigmail-Version: 1.1.1
OpenPGP: url=http://www.saint-andre.com/me/stpeter.asc
Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg="sha1"; boundary="------------ms020201090008080100080900"
Subject: [precis] draft evaluation of Resourceprep (RFC 3920)
X-BeenThere: precis@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Preparation and Comparison of Internationalized Strings <precis.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/precis>, <mailto:precis-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/precis>
List-Post: <mailto:precis@ietf.org>
List-Help: <mailto:precis-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/precis>, <mailto:precis-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 13 Dec 2010 17:25:21 -0000

This message evaluates the Resourceprep profile of stringprep in
accordance with the template established by the PRECIS WG:

http://trac.tools.ietf.org/wg/precis/trac/wiki/StringprepReviewTemplate

###

Specification:

   RFC 3920

Brief Description:

   - Resourcepart of JabberID ("JID"), as in:
     <localpart@domainpart/resourcepart>
   - Typically free-form text

How It's Used:

   - Device / session names (e.g., stpeter@jabber.org/Home)
   - Nicknames (e.g., precis@jabber.ietf.org/StPeter)

Who Generates It:

   - Often human users via an XMPP client
   - Often generated in an automated fashion by client or server

User Input Methods:

   - Typed by user
   - Copy-and-paste
   - Perhaps voice input

Enforcement:

   - Rules enforced by server / add-on service (e.g., chatroom
     service) on account login, joining a chatroom, etc.

Comparison Method:

   "Type 1" (byte-for-byte)

   (see http://tools.ietf.org/html/draft-ietf-precis-problem-statement )

Case Folding, Sensitivity, Preservation:

   - Strings are never folded
   - Case is preserved

Impact of Comparison:

   False positives:
     - interact with wrong device (e.g., for file transfer or voice call)
     - interact with wrong chatroom participant
     - improperly grant privileges (e.g., chatroom moderator)
     - allow communication with blocked entity

   False negatives:
     - unable to choose desired chatroom nick
     - unable to use granted privileges (e.g., chatroom moderator)
     - disallow communication with unblocked entity

Normalization:

   NFKC

Mapping:

   Spaces are mapped to nothing

Disallowed Characters:

   None

String Classes:

   - Basically a free-form identifier

Internal Structure:

   None

User Output:

   - text of message (e.g., in a chatroom)
   - device names often not exposed to human users

Operations:

  - Sometimes concatenated with other data and then
    used as input to a cryptographic hash function

###