在美国使用非 ASCII 名称是个好主意吗?

信息安全 注射 社会工程学
2021-08-15 06:22:08

Grimes 和 Elon Musk给他们的孩子起名为:X Æ A-12.

非 ASCII 名称的风险是什么?

例如,COBOL 失业平台是否支持非 ASCII 名称是否有可能获得婴儿的社会安全号码 ( SSN )?它是否使他们的宝宝更容易成为使用Unicode 操作进行冒充攻击的目标婴儿名字会触发代码注入攻击吗?

显然纯 ASCII 名称可能会导致问题:too: \0, ^Z, NULL, 等。

4个回答

在美国甚至还有中国人。他们给孩子取名李某。那会是个问题吗?不可以。有些系统支持这些名称,有些使用通过罗马字转换为ASCII的版本(李某→拼音LǐMǒu→李某)。中唯一的非 ASCII 字符X Æ A-12Æ 用于丹麦名称,如 Ægidius,转换为 ASCII Aegidius。

这种转换的一个很好的例子是机器可读的护照:每本护照的最后两行只包含字符 A-Z、0-9 和填充字符<对于护照,世界上的每个名字都会被转换为 ASCII。

有时,仅使用 ASCII 可能比容易以 UTF-8 编码的非 ASCII 字符更成问题:

  • Christopher Null是一个真实的人,他报告了他的 ASCII 名称存在一些问题。

  • 我的名字是LoggerStartkeylogger

  • Little Bobby Tables的名字与小宝贝马斯克一样独特。这个罗伯特没有社会安全号码,因为他是一个虚构的人物,但对于真实的人来说,这个名字不是障碍。

    妈妈的功劳

我不住在美国,但我住在一条以他们的名字命名(如果写得正确的话)有 2 个德国元音变音符号的街道上。

我的护照或美国当局、免签证计划或任何与美国政府有关的事情都没有问题。他们会接受它的原样或“翻译”成非元音变音(甚至在德国作为一种合法的方式来写没有元音变音的同一个词)。

我对美国的 SSN 或失业系统没有任何经验,但我没有理由相信他们的行为会与我接触过的民政部门有所不同,他们会毫不犹豫地处理它。

现在,私营企业完全是另一回事。在过去的 3 到 5 年里,它变得好多了,但我必须在圆孔中安装很多方钉才能使用我在美国的地址。例如,我拥有一张美国主要品牌的信用卡。有人会假设你可以用它来在线支付,对吧?我的信用卡和你的信用卡没有什么不同。嗯,是的,也不是。需要将地址提供给商家,然后商家会将其与卡数据一起发送到卡处理器,以提高购买的真实性,而不是骗取我的卡号的人。所以蹩脚的商家网站不会接受变音符号。没问题,使用其他公认的拼写。然后商家会接受它,但卡处理器会吐槽说“不,先生,这不是他们的正确地址,

另一个例子:将 App 带入 Apple 商店。那只是3年前。苹果是一家大型国际公司,他们肯定不会搞砸的,对吧?好吧,他们没有。直接地。我可以创建一个帐户。但是他们有一个合作伙伴,您需要在其中注册才能被接受为公司。猜猜谁从未听说过变音符号?我需要与第三级支持人员(实际上是具有数据库访问权限的开发人员)交谈才能完成这项工作,因为即使他们自己的内部支持接口也不允许他们这样做。

所以......我认为你会很好地处理所有官方和行政任务,但不要指望过轻松的生活。生活不仅仅是死亡和税收,如果你想做一些介于两者之间的事情,也许是一些有趣或赚钱的事情,如果你的名字是“Jake Brown”而不是“Jörg Oßten”会容易得多。

发布此相关链接,因为(令我惊讶的是)还没有人提到它:

程序员相信名字的谎言

我认为对于从事处理个人数据的系统工作的任何人来说,这应该是必读!(虽然我怀疑如果它包含每个案例的示例会更有用。)

正如评论所指出的,即使是普通的可打印 ASCII 也会导致问题:太多的系统在名称包含撇号(例如O'Connorand D'Artagnan)、连字符 ( Day-Lewis, Zeta-Jones) 或嵌入空格 ( Lloyd Webber, Bonham Carter, de Vries) 或嵌入大写字母 ( McDonald, FitzGerald) 时遇到问题。因此,非 ASCII 字符的支持范围更小也就不足为奇了……更不用说单名、数字、极长的名称、包含在某些语言中冒犯性的术语、全部大写、全部小写或更改的名称!

这个问题有两个答案。一个涉及谈论“有可能吗?” 另一个涉及谈论“成本和担忧是什么?”。

第一个将极大地启发第二个。

第一个问题的答案从可能到肯定,但有变通方法。

第二个问题的答案取决于你想要做什么以及你是谁。对于像马斯克这样的人来说,成为一名白人男性亿万富翁可以解决许多问题和成本。对于许多其他人来说,您可能会发现拥有 ASCII 名称会使事情变得简单得多。

你会如何通过电话拼写Æ?国税局网站只允许街道地址中的大写字母,如果一个网站甚至不进行大小写转换,他们希望它们与 Unicode 一起工作的希望是什么?IBM 大型机平台上的许多旧 COBOL 系统都使用 EBCDIC,它代表扩展二进制编码十进制交换码。AZ、az 和 0-9 存在于 EBCDIC 中(但 {} 和 [] 不存在)。

我想说,除非你们都非常富有而且有点古怪,否则不要给孩子起奇怪的名字。没有额外的负担,学校就足够艰难了。