An Introduction to Universal Acceptance

Slides:



Advertisements
Similar presentations
Jump to Contents Instructor Tutorial essignments.com Paperless assignment submission system.
Advertisements

ICANN Rio Meeting IDN Authorization for TLDs with ICANN agreements 26 March, 2003 Andrew McLaughlin.
The creation of "Yaolan.com" A Site for Pre-natal and Parenting Education in Chinese by James Caldwell DAE Interactive Marketing a Web Connection Company.
MCDST : Supporting Users and Troubleshooting a Microsoft Windows XP Operating System Chapter 5: User Environment and Multiple Languages.
1 HTML’s Transition to XHTML. 2 XHTML is the next evolution of HTML Extensible HTML eXtensible based on XML (extensible markup language) XML like HTML.
Chapter 2 Introduction to HTML5 Internet & World Wide Web How to Program, 5/e Copyright © Pearson, Inc All Rights Reserved.
Form Handling, Validation and Functions. Form Handling Forms are a graphical user interfaces (GUIs) that enables the interaction between users and servers.
Chapter 9 Collecting Data with Forms. A form on a web page consists of form objects such as text boxes or radio buttons into which users type information.
1 © 2000, Cisco Systems, Inc. DNSSEC IDN Patrik Fältström
IDN over EPP (IDNPROV) IETF BOF, Washington DC November 2004.
IDN Standards and Implications Kenny Huang Board, PIR
The purpose of this Software Requirements Specification document is to clearly define the system under development, that is, the International Etruscan.
Overview of Previous Lesson(s) Over View  ASP.NET Pages  Modular in nature and divided into the core sections  Page directives  Code Section  Page.
JavaScript, Fourth Edition
Design and Construction of Accessible Web Sites Michael Burks Chairman Internet Society SIG For Internet Accessibility for People with Disabilities June.
Unit Seven Database 1.Passage One. Foundation of Database.
UNIVERSAL ACCEPTANCE Monday, 22 June Agenda for the Day What is Universal Acceptance Who’s doing something about it What have they done What are.
Chapter 8 Cookies And Security JavaScript, Third Edition.
Chapter 8 Collecting Data with Forms. Chapter 8 Lessons Introduction 1.Plan and create a form 2.Edit and format a form 3.Work with form objects 4.Test.
SUSE Linux Enterprise Desktop Administration Chapter 6 Manage Software.
HTML Basics BCIS 3680 Enterprise Programming. Web Client/Server Architecture 2  Your browser (the client) requests a Web page from a remote computer.
UNIVERSAL ACCEPTANCE Presentation at APNIC Edmon Chung.
ITGS Databases.
IDNAbis and Security Protocols or Internationalization Issues with Short Strings John C Klensin SAAG – 26 July 2007.
Universal Acceptance: APNIC system readiness Byron Ellacott Senior Software Architect.
Introduction. Internet Worldwide collection of computers and computer networks that link people to businesses, governmental agencies, educational institutions,
An Introduction to APRALO Universal Acceptance Steering Group Don Hollander.
Domain Name System: DNS To identify an entity, TCP/IP protocols use the IP address, which uniquely identifies the Connection of a host to the Internet.
Indispensable tools for research at its best RefWorks 2.0 fundamental Alan Tang
The purpose of a CPU is to process data Custom written software is created for a user to meet exact purpose Off the shelf software is developed by a software.
Emdeon Office Batch Management Services This document provides detailed information on Batch Import Services and other Batch features.
2440: 141 Web Site Administration Web Forms Instructor: Joseph Nattey.
N5 Databases Notes Information Systems Design & Development: Structures and links.
An Introduction to Universal Acceptance
4.01 How Web Pages Work.
Information Retrieval in Practice
4.01 How Web Pages Work.
DATA TYPES.
Data Virtualization Demoette… ODBC Clients
Project Management: Messages
Director of Data Communications
Parts.cat.com Client training 2017.
Lesson 16 Enhancing Documents
Chapter 11 Designing Inputs, Outputs, and Controls.
GO! with Microsoft Office 2016
XML QUESTIONS AND ANSWERS
Parts.cat.com Client training 2016.
GO! with Microsoft Access 2016
Whether you decide to use hidden frames or XMLHttp, there are several things you'll need to consider when building an Ajax application. Expanding the role.
Template library tool and Kestrel training
Using Access and the Web
Microsoft Office Illustrated
Universal Acceptance – Reaching CIOs in Government
DHCP, DNS, Client Connection, Assignment 1 1.3
Fun gym Cambridge Nationals R001.
How to Create and Start a Test Session
4.1 Strings ASCII & Processing Strings with the Functions
IDN – behind scenes Душан Стојичевић UA ambassador ( Гранси (
An Introduction to Universal Acceptance
Adobe Acrobat DC Accessibility Non-Text Elements
4.01 How Web Pages Work.
Computer Networks Presentation
Server Management and Automation Windows Server 2012 R2
Connecting the unconnected
Module 1b – ICIS Permitted Features
An Introduction to Universal Acceptance
An Introduction to Universal Acceptance
Universal Acceptance – Technical Perspective
Security - Forms Authentication
Security and JavaScript
Presentation transcript:

An Introduction to Universal Acceptance Presenter Name / Event Name / DD Month YYYY

UA in a Nutshell Universal Acceptance (UA) ensures that all domain names and email addresses can be used by all Internet-enabled applications, devices and systems.

What’s Changed .aaa .accountant .amex .asia .ভারত .公益 .москва ‏.קום‎ More Top Level Domains (TLDs) Available No longer just two or three characters No longer just in ASCII List of TLDs is no longer static. New names being added Mailbox names also no longer in ASCII .aaa .accountant .amex .asia .ভারত .公益 .москва ‏.קום‎ .ファッション ‏.كوم‎

Anatomy of an email address username@example.com 测试5@普遍接受-测试.世界 Username/ 测试5 Mailbox name Can be in ASCII or Unicode Second level domain name (example/ 普遍接受-测试) Can be ASCII or Unicode. Unicode can be represented as Unicode or Punycode Top Level Domain name (.com/.世界) Can be ASCII or Unicode Can be 2 to 63 characters long Can ONLY be from an authoritative list that is dynamic and has more than 1,000 choices

Five Verbs to UA Readiness Accept Validate Store Process Display

Our Target Audiences Doers Developers & Systems Architects Directors CIOs and senior IT Management Influencers C* suite, Thought Leaders, Government Ministers and Officials

Why Bother Enablement for culture, society and economics Responsibility to comply with standards UA results in better User eXperience (UX) Provide uninterrupted support for users of new domain names Reduce customer support burden

Principles of Universal Acceptance

Accept UASG Recommendations User interface elements must support: Unicode. Strings up to 256 characters. ASCII Compatible Encoded text (“Punycoded”) in place of Unicode. Unicode shown by default. Punycoded text shown only when it provides a benefit. The process by which an email address or domain name is received as a string of characters from a user interface, file or API. UASG Recommendations User interface elements requiring user to type domain name/email address must support Unicode and strings up to 256 characters Users should be allowed to enter ASCII Compatible Encoded text (“Punycoded”) in place of Unicode equivalent Unicode should be shown by default Punycoded text should only be shown when provides a benefit

Validate UASG Recommendations Easiest way to ensure all valid domain names are accepted. Should not occur unless required. If yes: Verify TLD against authoritative table. Query domain name against DNS. Require repeated entry of email address. Validate characters - no “disallowed” code points. Limit to few, whole-label rules defined in RFCs If string contains ‘。’ convert to ‘.’ The process by which an email address or domain name – received or emitted – is checked for syntax correctness. Many programmers have been trained to validate by following heuristics that require checking that a top-level domain has the “correct” number of letters, or that the letters are from the ASCII character set. These heuristics are no longer applicable because of the introduction of domain names with more than three characters, and Unicode (non-ASCII) characters.

Store UASG Recommendations Apps / services should support Unicode Information stored in UTF-8 whenever possible Consider end-to-end scenarios before converting between A-Labels & U-Labels Consider storing in both formats Clearly mark email addresses and domain names during storage The long-term and / or transient storage of domain names and email addresses. Regardless of the lifetime of the data, it should be stored in RFC-defined formats (preferred) or other formats which can transform between RFC-defined formats. UTF-8 (Unicode Transformation Format). Some systems may require support for UTF-16 as well, but generally UTF-8 is preferred. UTF-7 and UTF-32 should be avoided. Consider all end-to-end scenarios before converting A-Labels to U-Labels and vice versa when storing. It may be desirable to maintain only U-Labels in a file or database, because it simplifies searching and sorting. However, conversion may have implications when interoperating with older, non-Unicode-enabled applications and services. Consider storing in both formats. Instances where email addresses and domain names have been filed under the “author” field of a document or “contact info” in a log file have led to the loss of origin as an address.

Process UASG Recommendations Check code points not defined when application / service was created – shouldn’t “break” user experience. Use supported Unicode-enabled APIs. Use latest IDNA Protocol & Tables documents for Internationalized Domain Names. Process in UTF-8 wherever possible. Occurs whenever an email address or domain name is used by an application or service to perform an activity, or is transformed into an alternate format. Activity (e.g., searching or sorting a list) Alternate format (e.g., storing ASCII as Unicode). Additional validation may also occur during processing. Domain names and email addresses can be processed in an unlimited number of ways*, which reinforces the need for conventions that ensure data is being understood and classified consistently. *Examples: Identify people in New Zealand by searching within the .nz ccTLD; identify pharmacists by searching for user@*.pharmacist email addresses. Recommendations: Since the Unicode standard is continually expanding, code points not defined when the application or service was created should be checked to ensure they will not “break” the user experience. Missing fonts in the underlying operating system may result in non-displayable characters (frequently the “” character is used to represent these), but this situation should not result in a fatal crash. Use supported Unicode-enabled APIs. Use the latest Internationalized Domain Names in Applications (IDNA) Protocol [http://tools.ietf.org/html/rfc5891] and Tables [http://tools.ietf.org/html/rfc5892] documents for Internationalized Domain Names (IDNs). Process in UTF-8 format wherever possible. Ensure that the product or feature handles numbers as expected. For example, ASCII numerals and Asian ideographic number representations should be treated as numbers. [RFC5892, link above] Upgrade applications and servers/services together. If the server is Unicode and client is non-Unicode or vice versa, the data will need to be converted to each code page every time the data travels between server and client. Perform code reviews to avoid buffer overflow attacks. When doing character transformation, text strings may grow or shrink substantially.

Process (continued) UASG Recommendations Ensure numbers are handled as expected Treat ASCII numerals & Asian ideographic number representations as numbers Upgrade apps & servers/services together Perform code reviews to avoid buffer overflow attacks Occurs whenever an email address or domain name is used by an application or service to perform an activity, or is transformed into an alternate format. Activity (e.g., searching or sorting a list) Alternate format (e.g., storing ASCII as Unicode). Additional validation may also occur during processing. Domain names and email addresses can be processed in an unlimited number of ways*, which reinforces the need for conventions that ensure data is being understood and classified consistently. *Examples: Identify people in New Zealand by searching within the .nz ccTLD; identify pharmacists by searching for user@*.pharmacist email addresses. Recommendations: Since the Unicode standard is continually expanding, code points not defined when the application or service was created should be checked to ensure they will not “break” the user experience. Missing fonts in the underlying operating system may result in non-displayable characters (frequently the “” character is used to represent these), but this situation should not result in a fatal crash. Use supported Unicode-enabled APIs. Use the latest Internationalized Domain Names in Applications (IDNA) Protocol [http://tools.ietf.org/html/rfc5891] and Tables [http://tools.ietf.org/html/rfc5892] documents for Internationalized Domain Names (IDNs). Process in UTF-8 format wherever possible. Ensure that the product or feature handles numbers as expected. For example, ASCII numerals and Asian ideographic number representations should be treated as numbers. [RFC5892, link above] Upgrade applications and servers/services together. If the server is Unicode and client is non-Unicode or vice versa, the data will need to be converted to each code page every time the data travels between server and client. Perform code reviews to avoid buffer overflow attacks. When doing character transformation, text strings may grow or shrink substantially.

Display UASG Recommendations Display all Unicode code points supported by underlying operating system. When developing app/service, or operating a registry, consider languages supported. Convert non-Unicode data to Unicode before display. End user should see “everyone.みんな” vs. “everyone.xn--q9jyb4c.” Display occurs whenever an email address or a domain name is rendered within a user interface. Displaying domain names and email addresses is usually straightforward when the scripts used are supported in the underlying OS and strings are stored in Unicode; however, application-specific transformations may be required otherwise. Recommendations Display all Unicode code points which are supported by the underlying operating system. If an application maintains its own font sets, comprehensive Unicode support should be offered to the collection of fonts available from the operating system. When developing an app or a service, or when operating a registry, consider the languages supported and make sure OS and applications cover those languages. Convert non-Unicode data to Unicode before display. For example, the end user should see “everyone.みんな” as opposed to “everyone.xn--q9jyb4c”. (This conversion is an example of UA-ready processing). Display Unicode by default. Use Punycoded text to the user only when it provides a benefit. Augment Unicode display with Punycoded hover text as a mitigation. Consider that mixed-script addresses will become more common. Some Unicode characters may look the same to the human eye, but different to computers. Don’t assume that mixed-script strings are intended for malicious purposes, such as phishing, and if the user interface calls the strings to the user’s attention, be sure that it does so in a way which is not prejudicial to users of non-Latin scripts. Learn more about Unicode Security Considerations at: http://unicode.org/reports/tr36/. Use Unicode IDNA Compatibility Processing in order to match user expectations. To learn more, go to: http://unicode.org/reports/tr46/. Be aware of unassigned and disallowed characters. Learn more at RFC 5892: https://tools.ietf.org/rfc/rfc5892.txt.

Display (continued) UASG Recommendations Display Unicode by default Use Punycoded text only when it provides a benefit Consider that mixed-script addresses will become more common Use Unicode IDNA Compatibility Processing to match user expectations Be aware of unassigned & disallowed characters Display occurs whenever an email address or a domain name is rendered within a user interface. Displaying domain names and email addresses is usually straightforward when the scripts used are supported in the underlying OS and strings are stored in Unicode; however, application-specific transformations may be required otherwise. Recommendations Display all Unicode code points which are supported by the underlying operating system. If an application maintains its own font sets, comprehensive Unicode support should be offered to the collection of fonts available from the operating system. When developing an app or a service, or when operating a registry, consider the languages supported and make sure OS and applications cover those languages. Convert non-Unicode data to Unicode before display. For example, the end user should see “everyone.みんな” as opposed to “everyone.xn--q9jyb4c”. (This conversion is an example of UA-ready processing). Display Unicode by default. Use Punycoded text to the user only when it provides a benefit. Augment Unicode display with Punycoded hover text as a mitigation. Consider that mixed-script addresses will become more common. Some Unicode characters may look the same to the human eye, but different to computers. Don’t assume that mixed-script strings are intended for malicious purposes, such as phishing, and if the user interface calls the strings to the user’s attention, be sure that it does so in a way which is not prejudicial to users of non-Latin scripts. Learn more about Unicode Security Considerations at: http://unicode.org/reports/tr36/. Use Unicode IDNA Compatibility Processing in order to match user expectations. To learn more, go to: http://unicode.org/reports/tr46/. Be aware of unassigned and disallowed characters. Learn more at RFC 5892: https://tools.ietf.org/rfc/rfc5892.txt.

Tools & Resources for Developers Authoritative Tables: http://www.internic.net/domain/root.zone http://www.dns.icann.org/services/authoritative-dns/index.html http://data.iana.org/TLD/tlds-alpha-by-domain.txt See also SAC070: https://tinyurl.com/sac070 Internationalized Domain Names for Applications: Tables: https://tools.ietf.org/html/rfc5892 Rationale: https://tools.ietf.org/html/rfc5894 Protocol: https://tools.ietf.org/html/rfc5891 Unicode: Security Considerations: http://unicode.org/reports/tr36/ IDNA Compatibility Processing: http://unicode.org/reports/tr46/ Universal Acceptance Steering Group info & recent developments: www.uasg.tech

Next Steps… Read the documents at www.uasg.tech/documents UASG003 – Fact Sheet UASG005 – Quick Guide UASG007 – Introduction to Universal Acceptance UASG011 – FAQs Subscribe to the UASG Discussion list www.uasg.tech/subscribe Get your own systems UA Ready Spread the word…