从纯文字显示与命令列操控到个人电脑视窗作业系统,再跨到网页浏览器、手机App,很多年前,有个朋友曾跟我说她对于频繁的各式帐号注册、登入验证程序,感到厌烦,而且会因此不愿接触新的服务。
时至今日,形形色色的服务登入早已成为台湾消费者生活的日常,因为无论到超商、大卖场购物,或至连锁速食、咖啡店、餐厅点餐,店员见到顾客的前几句话通常都会问到「有会员吗?」,意思是问你是否有会员卡或是否已加入、成为店家的会员,接著请你出示会员卡、商家App或念出你注册的电话号码,以便识别你的身分、进行交易。
实体世界如此,数位世界更是仰赖大量的帐号与密码登入,使用者为了记住这些重要识别资讯,也都各有自己的习惯。许多人通常会采取一些简单、容易记忆的密码,也因为太多人使用,因此,这些常用的密码内容组成,也被大家讥笑为「白痴密码」或「笨密码」,而且,每隔一段时间,就会有机构或媒体揭露这类年度排行榜,趁机提醒大家更谨慎地订定密码内容。
为了避免众人采用容易被猜到的密码,各种系统也普遍要求使用者须制定符合一定规范的密码组成,提升密码的强度,通常这些规范称为密码(设定)原则,例如,密码长度需由8个以上字元组成,不仅需混合使用英文字母、数字,而且,字母不能全部大写或小写,而是要参杂使用。后续的密码原则,则要求使用者设定的密码需涵盖特殊符号。
关于密码复杂度对应的安全程度,相信很多人都看过资安厂商Hive Systems发布的密码破解时间表,若使用12张GPU加速卡Nvidia Geforce RTX 4090,面对使用bcrypt杂凑函数存放的密码,若是目前最常见的8个字元组成的密码,纯数字只需37秒即可暴力破解(brute force),搭配数字、大写字母、小写字母、符号为7年;若以密码长度而言,要脱离危险范围,纯数字要搭配到15个字元以上(破解需12年),搭配数字、大写字母、小写字母、符号需8个字元(破解需7年)。
值得注意的是,根据Hive Systems的测试,若是密码遭窃、用字典的词汇组成的密码,或在不同网站使用相同的密码,无论密码有多长,都能马上破解。
若是遵循NIST SP 800-63-3数位身分指南,将密码设为8个字元,采用MD5杂凑函数存放密码时,无论使用新旧款GPU,都是瞬间破解,改用复杂密码组合,用资料中心GPU产品A100时,若是少量GPU,也只能抵挡十几分钟,若改用bcrypt杂凑函数存放的8字密码,旧款GPU加速卡破解纯数字密码,需2小时,若以1万张资料中心GPU产品破解,也是瞬间完成,但搭配复杂密码,可抵挡5天。
依照上面的测试结果分析来看,不重复使用密码,并且采用更多字元的密码、密码内容组成越复杂、以及更安全的密码杂凑函数,都是能否延长密码破解时间的关键。然而,要同时满足这些条件,难度越来越高。
因此,这几年来,资安领域也持续推动「无密码/非密码的身分验证(Passwordless Authentication)」,我们先前经常报导的FIDO(Fast Identity Online),就是目前领导这股浪潮的重要标准,市面上,也陆续出现支援FIDO标准的认证设备与行动装置凭证,而在网站与行动系统当中,近期最受关注的相关技术应用,就是Passkey(通行金钥)。
今年7月我们看到台湾多家服务业者介绍自家网站与行动App提供Passkey支援的经验,这期封面故事,资安主编罗正汉针对可乐旅游、智冠科技、露天市集这三家厂商,深入报导他们的Passkey导入经验,背后分别有资安厂商或专业机构的协助,分别是:网际威信、工研院,以及数联资安、希望透过这样的内容介绍,能让更多企业了解这项强化与简化身分安全的技术。