安全密钥(Security Key)和认证技术相关词汇表

概述

最近笔者在研究安全密钥相关的技术。无意中翻到了THETIS(一个安全密钥硬件厂商)的相关技术文件,其中有一篇总结了其技术相关的词汇和简单的描述,觉得比较受启发,很多名词和技术的表述比较清晰、精炼和准确,对于快速了解和理解安全密钥和信息相关的技术非常有效,在更高的层面上,对于理解信息安全相关的概念和认知,也有很大帮助。

原文的链接如下:

thetis.io/pages/techn...

原文当然是全英文的,本文笔者在Grok的协助下,尝试翻译理解,提供了对应的中文内容,并增加了一些觉得有必要的条目,遂成此文。

A ~ F

  • Access Control 访问控制

    Security measures that restrict access to resources based on user permissions and roles.

    访问控制,是一种根据用户权限和角色限制资源访问的安全措施。

  • Adaptive Authentication 自适应认证

    An authentication method that adjusts security requirements based on context, such as the user's location or device.

    一种可以根据环境(如用户位置或设备)灵活调整安全要求的身份验证方法。

  • Account Lockout 账户锁定

    A security feature that temporarily locks an account after repeated failed login attempts to prevent unauthorized access.

    账户锁定是一种安全特性和机制,它可以在用户一定次数的失败登录后,临时禁用用户,以避免授权的访问。

  • Account Recovery 账户恢复

    A process to regain access to an account if credentials are lost or compromised.

    一个在凭据丢失或被盗用时重新获得账户访问权限的过程。

  • Account Takeover 账户接管

    A type of fraud where an attacker gains unauthorized access to a user's account, often through stolen credentials.

    一种欺诈行为,攻击者通过窃取的凭证等方式未经授权访问用户账户。

  • Advanced Encryption Standard (AES) 高级加密标准

    A widely-used encryption standard providing high security and efficiency, commonly found in secure systems.

    AES是一种广泛使用的对称加密算法和标准,它是一种分组加密算法,安全性和效率都比较高,常见于安全系统中。

  • Asymmetric Encryption 对称加密

    A cryptographic method using public and private key pairs to secure data and authenticate users.

    非对称加密使用由公钥和私钥组成的密钥对,来实现数据的加解密和用户验证。

  • Audit Trail 审计追踪

    A detailed record of user activity, often used for compliance and monitoring.

    用户活动的详细记录,常用于合规要求和监控。

  • Authentication Factor 认证因子

    A verification method, such as a password, hardware security key, or biometric data, used to authenticate a user.

    一种用于认证用户的验证方法,可以是密码、硬件安全密钥或者生物学等形式。

  • Authenticator 认证器

    A device or application that generates secure codes or signs challenges for authentication.

    认证器是一种设备或者程序,它可以在验证过程中,生成安全代码或者挑战签名信息。

  • Authenticator Assurance Level (AAL) 认证器保证级别

    A standard defining the assurance levels for authenticators, with higher levels requiring stronger security methods.

    AAL是用于定义认证器保证级别的标准,级别越高需要越强大的安全方法。

  • Authorization 认证

    The process of verifying permissions and access levels for a user to ensure secure access to resources.

    "认证"是用于确认用户身份,验证用户权限和访问级别的过程,以确保对资源的安全访问。

  • BIOFP+

    A biometric authentication standard, used in high-security hardware, offering reliable fingerprint-based identity verification.

    一种生物识别身份验证标准,用于高安全性硬件,提供可靠的基于指纹的身份验证。

  • Biometric Authentication 生物学认证

    An authentication method using unique physical characteristics, such as fingerprints or facial recognition, to verify a user's identity.

    生物学认证一般使用人类独特的生理特征(如指纹或面部识别)来验证用户身份的身份验证方法。

  • **Certificate Authority CA 证书颁发机构 **

    CA是数字证书的签发和管理机构,是互联网信任体系的核心。CA作为权威的第三方机构,负责签发、管理和撤销数字证书,类似于现实世界中的"公证处"或"身份证发放机构",它通过数字签名建立网站身份的可信性。

  • Conseil Européen pour la Recherche Nucléaire CERN 欧洲核子研究组织

    CERN是世界上最大的粒子物理学实验室。

    但有趣的是,在1989年, 英国科学家Tim Berners-Lee,在CERN工作期间,提出了Web(万维网)的概念, 并在随后提出并实现了一系列基础性的相关技术包括HTTP、HTML、URL/URI、Web Browser和Web Server等等。所以,通常认为,CERN是Web和互联网技术的摇篮。

  • Common Criteria Evaluation Assurance Level 6+, CCEAL6+

    CCEAL6+, a security certification for high-assurance devices meeting stringent cryptographic standards.

    通用准则评估保证等级6+(Common Criteria Evaluation Assurance Level 6+),是满足严格密码学标准的高保证设备的安全认证。

  • Challenge-Response Authentication (CRA) 挑战-响应认证

    A security method where a device signs a random challenge to prove user identity without revealing passwords.

    CRA一种安全认证的方法和过程,设备通过签名随机挑战来证明用户身份,它的特点是认证过程中,而无需向挑战方透露密码原文(只需要使用密码进行操作)。

  • Client to Authenticator Protocol (CTAP) 客户端-验证器协议

    A protocol enabling communication between a device and an authenticator (e.g., security key). CTAP2 is the latest version supporting FIDO2 functions.

    一种实现设备与身份验证器(例如安全密钥)之间通信的协议。CTAP2是支持FIDO2功能的最新版本。

  • Compliance 合规

    Adherence to regulations and security standards to protect data and ensure safe practices.

    遵守法规和安全标准以保护数据并确保安全实践

  • Credential ID 凭证ID

    A unique identifier associated with each registered security key, allowing services to differentiate between multiple authenticators.

    与每个注册安全密钥(凭证)关联的唯一标识符,允许服务和程序区分多个身份验证器。

  • Credential Management 凭证管理

    The secure storage, updating, and deletion of user credentials.

    一套用于用户凭证的安全的存储、更新和删除的方法论。

  • Cryptographic Hash Function 密码学摘要方法

    A function that converts data into a fixed-size hash, often used to verify data integrity.

    将数据转换为固定大小哈希值的函数,通常用于验证数据完整性。

  • Cryptographic Key 密码学密钥

    简称密钥,是计算机程序使用的用于密码学计算过程的信息。它可以被用作各种密码学计算,如加密、解密、签名、验证等等。

    在对称加密算法中,加密和解密都使用相同的密钥。而在非对称加密中,加密/解密和签名/验证,则使用不同的但成对的密钥,即密钥对。

    和口令(Password)不同,虽然它也是某种机密信息,但它主要是给程序使用的,不需要用户记忆,也不应该记忆。此外,密钥通常也有其技术上的规格(如AES操作密钥的长度为定长32字节)。和密码的相对固定不同,密钥在实际使用过程中,可以是动态的,也建议是动态的。

  • Cryptographic Key Pair 密钥对

    A set of public and private keys used together for secure authentication and data exchange.

    公钥加密算法的密钥,总是成对的出现,它使用这个密钥对一起来进行安全的数据交换和验证。

  • Data Breach 数据泄漏

    An incident where unauthorized parties gain access to sensitive data, often leading to identity theft or credential exposure.

    未经授权方获取敏感数据的事件,通常导致身份盗用或凭证泄露。

  • Data Integrity 数据完整性

    Ensuring that data remains unaltered and intact during storage or transmission.

    数据完整性是一种信息检查和校验方法,用于确保数据在存储和传输过程中未被篡改并且是原始完整的。

  • Device Binding 设备绑定

    A security feature tying account access to a specific device for additional protection.

    一种将账户访问绑定到特定设备的安全功能,用于提供额外保护和更高的安全性。

  • Digital Certificate(DC) 数字证书

    A document verifying the identity of a device or user, commonly used in PKI and secure communications.

    DC是一种用于验证设备或用户身份的文档,常用于PKI和安全通信过程中。

    一个典型的DC证书,包括身份信息(如域名、组织信息)+公钥+CA签名+辅助信息(如有效期、颁发机构、签名算法)等内容(图为掘金社区网站的证书内容)。

  • Diffie-Hellman DH 密钥协商

    DH是一种密钥协商协议和算法,由Whitfield Diffie和Martin Hellman于1976年发明。它允许通信的两方在不需要事先共享任何机密信息的情况下,通过数学算法和规则,安全地协商出一个共享密钥,用于后续的信息加密等操作。

    DH的安全性基于离散对数问题的计算难度,它的实现通常基于非对称加密算法(如ECC)。其简单原理过程是双方先各自生成密钥对;然后交换公钥;随后使用对方的公钥和本方的私钥,就可以计算出一个密钥;DH算法能够保证这个密钥的一致性和唯一性,从而完成密钥协商的过程。

  • Digital Signature 数字签名

    A cryptographic signature verifying the authenticity and integrity of data, widely used in secure communications.

    一种密码学签名信息,用于验证数据的来源和完整性,广泛的用于信息的安全通信。

  • Elliptic Curve Cryptography (ECC) 椭圆曲线密码学

    A cryptographic method known for providing high security with shorter keys, commonly used in security keys like Thetis FIDO2 Security Key.

    ECC也是一种非对称加密算法家族,相比RSA,它可以以较短密钥提供高安全性,其理论基础是椭圆曲线数学理论,它同样可以用于公钥密码学相关应用。

    ECC其实是一个庞大的算法家族,人类已经找到很多适合于密码学的椭圆曲线类型。常见的EC包括P256、P384、P521(NIST标准),secp256k1(P256变种,加密货币常用),Curve25519、Ed25519(注重安全和性能),Brainpool(欧洲标准)等等。

  • Encryption/Decryption 加密/解密

    加密/解密是密码学中的两个核心概念。

    加密将原始数据(Plain text, 明文)通过特定算法和密钥转换成不可读的格式(密文)的过程,目的是保护数据的机密性,防止未授权访问。解密是加密的逆过程和操作,将密文经过操作和处理,还原成为原文。这里的核心概念就是加密的信息必须可以解密和还原,才是逻辑完整的加密/解密计算。(很多开发者混淆了加密和摘要的操作,将SHA或者MD5认为是加密算法,这显然是错误的)

    此外,一个更加深刻的认知应该是,现代加密密码学的安全性应该取决于算法和密钥的结合,而非算法本身。这样,比如base64或者类似的编码,也不是加密算法,因为它的编码规则是公开的,同时没有密钥参与加密计算。

    常见的对称加密算法包括DES、AES、SM2、RC4、Chacha等等。常见的非对称加密算法,包括RSA、ECC等等。

  • Entropy 熵

    The randomness in a cryptographic system, enhancing the strength of security keys.

    熵是指密码系统中的随机性,用于增强安全密钥的强度。

  • Federal Information Processing Standards (FIPS)

    Standards set by the U.S. government to ensure secure information processing, including FIPS 140-2, which certifies cryptographic modules.

  • **Fast Identity Online (FIDO) 快捷在线标识 **

    An open standard that enables secure, passwordless authentication through public-key cryptography.

    FIDO是一种开放的安全标准,它通过公钥加密技术实现安全的无密码身份验证。

  • FIDO2

    An authentication standard combining WebAuthn and CTAP2 to enable passwordless login and multi-factor authentication.

    FIDO2是FIDO的升级版本,它结合了WebAuthn和CTAP2的身份验证标准,实现无密码登录和多因素身份验证。

  • Federal Information Processing Standards FIPS 美国联邦信息处理标准

    FIPS是由NIST制定和发布在信息技术和计算机安全领域使用的一系列强制性标准,旨在确保政府系统的安全性和互操作性。它的适用范围包括美国联邦政府机构、与政府合作的承包商、处理敏感但非机密信息的组织、自愿和意愿提高安全性的私营企业等等。在某种意义上,它也是事实意义上的互联网和信息技术的商业安全标准系统。

H ~ R

  • Hardware Security Module (HSM) 硬件安全模块

    A device used to securely manage and store cryptographic keys, commonly used by organizations to protect sensitive data.

    HSM是用于安全管理和存储加密密钥的设备,通常被组织用来保护敏感数据。

  • Hardware Security Key (HSK) 硬件安全密钥

    A physical device (e.g., Thetis FIDO2 Security Key) that provides secure login through public-key cryptography, enabling passwordless authentication or two-factor security.

    HSK是HSM的具体实现和封装,可以提供给用户直接使用(如 Thetis FIDO2 Security Key)。它可以通过公钥加密技术,提供无密码认证或者双因子认证安全。

  • Hash 信息摘要

    哈希算法(Hash Algorithm),或者摘要算法,是一种将任意长度的数据转换为固定长度输出值的单向编码函数,这个输出值称为哈希值、摘要或指纹。

    笔者认为,摘要是这个概念最确切的表述。因为所有的Hash计算,结果都是一个定长的信息,用于标识原始信息,这本质上就是一个信息的有损压缩算法(摘要)。开发者应当全面和正确的理解Hash算法的一些特性包括信息的有损压缩(不可逆),离散性(内容差异希望的信息,摘要结果差异巨大)、结果定长(由算法确定),可碰撞性(无限空间到有限信息空间的映射),信息标识(在工程意义上标识和代表原始)等等。

    常见的摘要算法包括MD系列,SHA系列。这里特别强调MD5算法和SHA1已经不再推荐使用,适用SHA256是一个不会犯错的选择。其他如更简单的快速摘要MurmurHash等,严格意义上也是摘要算法,也有其特定的应用场景。

  • Hash-Based Message Authentication Code (HMAC) 基于摘要的消息验证码

    A cryptographic function that combines a secret key with data to create a unique hash, used in generating OTPs.

    一种将密钥与数据结合生成唯一哈希值的密码学函数,通常用于生成一次性密码(OTP)。

  • Man-in-the-Middle Attack (MitM) 中间人攻击

    A cyberattack where a third party intercepts and possibly alters communications between two parties.

    MitM是一种网络攻击方式,攻击者可以作为第三方拦截并可能篡改并转发原始通信双方之间传输的信息。

  • Master Password 主密码

    A primary password that secures all other stored credentials within a password manager.

    在密码管理器程序中,使用的一个基础密码,用于加密其存储的所有其他凭证。

  • Multi-Factor Authentication (MFA) 多因子验证

    An authentication process requiring multiple forms of verification, such as a password, security key, or biometric data.

    需要多种验证形式的身份验证过程,例如密码、安全密钥或生物识别数据。

  • National Institute of Standards and Technology NIST 美国国家标准与技术研究院

    NIST是信息安全计算和标准的权威机构,它负责制定美国的技术和测量标准,特别是在密码学领域发布了多项重要标准包括SHA(哈希算法标准系列)、AES(对称加密安全算法标准系列)、ECC(椭圆曲线标准系列),它们都是更高层级的FIPS标准系统的一部分。

  • Nonce 临时信息

    A random value used in cryptographic protocols to ensure data freshness and prevent replay attacks.

    在加密算法和协议中,使用的随机信息,确保数据新鲜并防止重放攻击

  • OAuth

    An open standard for access delegation, enabling third-party services limited access to user data without sharing passwords.

    OAuth是一种开放的访问授权标准,允许第三方服务在不共享密码的情况下有限访问用户数据。

  • One-Time Password (OTP) 一次性密码

    A time-sensitive code used for secure login, typically generated by an app or hardware key, providing an additional layer of security.

    OTP是一种时间敏感的,用于安全登录的编码,通常由应用程序或硬件密钥生成,提供额外的安全保护层。

  • Passkey 通行密钥

    A FIDO2-compatible, hardware-based credential enabling passwordless authentication through secure cryptographic methods.

    PassKey是符合FIDO2标准的基于硬件的凭证,它可以通过安全的密码学方法实现无密码身份验证。

  • Password 口令/密码

    Password原意为(通行词),本来是一个军事用语,用于在巡逻或者执勤过程中,检查相遇人员的身份,就是通过询问其预先约定好的口令(比如"鸡肋"?)。随后,在信息系统中,也使用了类似的思想,它假设用户知晓约定的信息,并能够在交互过程中正确的提供和输入,从而确认用户的身份。

    一般我们不区分口令和密码,它们都是给人类使用的。但在信息技术中还有一个类似和关联的概念:key(密钥),它其实是给程序和认证过程使用的,有一些差别和联系,需要开发者正确理解和运用。

  • Password Manager 口令管理器

    Software that securely stores and manages a user's passwords, often protected by a master password and multi-factor authentication.

    通常指一种安全存储和管理用户密码的软件,一般结合主密码和多因素身份验证保护信息安全。

  • Personal Identity Verification (PIV) 个人标识验证

    A U.S. government standard for identity verification, often used with cryptographic devices like PIV cards.

    PIV是一个美国政府标准,用于个人身份标识验证,通常使用如PIV卡等的密码设备。

  • Phishing 钓鱼

    A cyberattack where attackers impersonate legitimate services to steal sensitive information, like passwords or credit card numbers.

    钓鱼是一种常见的网络攻击,攻击者冒充合法服务以窃取敏感信息,如密码或信用卡号。

  • PIN (Personal Identification Number) 个人标识字符

    A code used to verify user identity, commonly combined with hardware keys for enhanced security.

    用于验证用户身份的代码,通常与硬件密钥结合使用以增强安全性。

  • PKI Certificate Chain 公钥证书链

    A hierarchy of certificates validating the legitimacy of a device or individual within PKI.

    PKI中验证设备或个人合法性的证书层级继承结构。

  • Public Key 公钥

    A key shared with services to verify the identity of the private key holder, enabling secure login without revealing sensitive data.

    与服务共享的密钥,用于验证私钥持有者的身份,实现安全登录而无需透露敏感数据。

  • Public-Key Cryptography 公钥加密

    A cryptographic system that uses pairs of public and private keys for secure authentication and data exchange.

    一种使用公钥和私钥对进行安全身份验证和数据交换的密码系统。

  • Public-Key Infrastructure (PKI) 公钥基础设施

    A framework managing public keys and digital certificates for secure data exchange, widely used in FIDO2 systems.

    PKI是一种管理公钥和数字证书的技术框架,用于安全数据交换,广泛应用于FIDO2系统。

  • Replay Attack 重放攻击

    A type of attack where valid data is maliciously repeated or delayed by a third party to gain unauthorized access.

    重放攻击是一种常见的攻击类型,攻击者恶意使用重复或延迟的有效数据以获得未经授权的访问。

  • Resident Key 驻留密钥

    A key stored directly on the authenticator, like Thetis FIDO2 Security Key, enabling standalone passwordless authentication.

    直接存储在认证器上的密钥,如Thetis FIDO2安全密钥,支持独立的无密码认证。

  • Relying Party 依赖方

    The service or application that relies on FIDO2 authentication for secure login, like a website or app.

    指依赖FIDO2认证进行安全登录的服务或应用程序,如网站或应用。

  • Risk-Based Authentication 基于风险的验证

    A method that assesses the risk level of a login attempt to determine necessary security measures.

    一种评估登录尝试风险水平以确定必要安全措施的方法。

  • RSA Algorithm RSA算法

    A widely used cryptographic algorithm for secure data exchange, often in PKI and secure communications.

    一种广泛使用的非对称加密算法,用于安全数据交换,常用于公钥基础设施(PKI)和安全通信。

    RSA取名于其三个主要发明人: Ron Rivest, Adi Shamir 和 Leonard Adleman,这三位密码学家于1977年在麻省理工学院(MIT)共同发明了RSA加密算法,并由此获得了图灵奖。所以,RSA是最早最成熟的公钥加密系统之一,至今仍被广泛应用于网络安全领域。和ECC不同,RSA主要基于大因数分解的数学理论。

S ~ Z

  • Secure Boot 安全根

    A security feature ensuring that only trusted software can run during device startup.

    安全根是一种安全功能,确保设备启动时只有可信软件才能运行。

  • Secure Element 安全元件

    A tamper-resistant chip within a device that securely stores cryptographic keys and sensitive data, preventing unauthorized access.

    通常指设备内的一个防篡改芯片,用于安全存储加密密钥和敏感数据,防止未经授权的访问。

  • Session Hijacking 会话劫持

    An attack where an attacker takes over a user's active session to perform unauthorized actions.

    会话劫持是一种攻击方法,攻击者接管用户的活跃会话以执行未经授权的操作。

  • Session Timeout 会话超时

    Automatic termination of a session after inactivity to reduce security risks.

    在一段时间不活动后自动终止会话以降低安全风险。

  • Single Factor Authentication 单因子验证

    Authentication using only one method, like a password, without additional verification layers.

    只使用一种方法的认证方式,如密码认证,没有其他附加的认证方法,安全性较低。

  • Single Sign-On (SSO) 单点登录

    A system enabling users to log in once and access multiple services without needing to re-authenticate.

    一种认证系统,它可以让用户可以只登录一次,就可以访问多个相对独立的服务,而不需要再重复认证。

  • SIM Swapping SIM卡交换

    A type of fraud where attackers transfer a victim's phone number to another SIM card to intercept SMS-based authentication codes.

    SIM卡交换是一种欺诈行为,攻击者将受害者的电话号码转移到另一张SIM卡上,以拦截基于短信的认证代码。

  • Symmetric Encryption 对称加密

    A method where the same key encrypts and decrypts data, often used for secure data transmission.

    对称加密在加密和解密时,使用相同的密钥。相对非对称加密而言,对称加密通常效率更高,更合适用于大规模数据和数据传输等场合。

  • Threat Model 威胁模型

    An analysis identifying potential security risks and defining countermeasures.

    一种用于标识前序安全风险和定义应对错误的分析方法。

  • Time-Based One-Time Password (TOTP) 基于时间的一次性密码

    A type of OTP based on the current time, commonly used in two-factor authentication for added security.

    一种基于当前时间的动态口令(OTP),常用于双因素认证以增强安全性。

  • Token-Based Authentication 基于令牌的认证

    An authentication method using a unique token as a secure identifier.

    一种使用唯一令牌作为安全标识符的认证方法。

  • Two-Factor Authentication (2FA) 双因子验证

    A security process that requires two forms of verification, like a password and a hardware key, for added security.

    双因子验证是一种安全过程,它要求两种不同途径和形式的验证,如密码和硬件密钥,以增强安全性。常见的双因子验证是登录后,使用手机短信或者电子邮件验证码进行再次验证。双因子验证通常使用不同的逻辑隔绝的渠道,来提升验证过程的安全性。

  • Signature/Verify 签名/验证

    签名/验证是一系列密码学操作,它通常用于保证信息在存储和传输过程中的完整性和不可抵赖性。

    基于非对称加密的签名和验证操作的基本流程是:

    在发送方,对原始信息,使用发送方的私钥进行签名计算,得到一个签名信息,并和原始信息一起发送给接收方;在接收方,使用发送方的公钥,对获得的原始信息进行验证计算,来确认这个信息确实是来自发送方,并且是完整没有被修改过的。从而确保信息传输过程中的完整性和不可抵赖性。

    应当理解,签名验证操作,虽然可能都利用了相同的密码学特性和算法,但在和信息加密解密操作可以没有逻辑上直接的关联。也就是说,即使是原文明文,也可以使用签名操作保证数据完整性和不可抵赖性。

  • Transport Layer Security TLS 传输层安全协议

    TLS是当前主流的最重要的网络安全通信协议,用于在客户端和服务器之间建立加密连接,确保网络通信的数据机密性和完整性,广泛的应用于HTTPS、电子邮件、即时通信、VPN等场景当中。

    TLS的前身是安全套字层,(Secure Sockets Layer,SSL),但由于安全威胁和技术的发展,SSL已经被完全弃用。现有的TLS也建议应用1.2(2008年)以后的版本。

    TLS提供的特性包括通信流量加密、身份验证、保证数据完整性等等,使用基础主流成套的密码学相关技术。如现在最主流的TLS技术套件是这样构成的:

js 复制代码
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
  │    │    │      │   │   │   │
  │    │    │      │   │   │   └─ 消息认证码算法
  │    │    │      │   │   └───── 加密模式
  │    │    │      │   └───────── 密钥长度
  │    │    │      └───────────── 对称加密算法
  │    │    └──────────────────── 签名算法
  │    └───────────────────────── 密钥交换算法
  └────────────────────────────── 协议
  • Zero Trust 零信任

    A security model where no one is trusted by default, including those inside the network perimeter.

    零信任是一种安全模型,它主张在默认情况下不信任任何人,包括网络边界内部的人员。

  • Zero-Knowledge Encryption 零知识加密

    A security model where a password manager cannot access stored data, as only the user has the decryption key, ensuring privacy.

    零知识加密是一种安全模型,它可以让密码管理者无法访问存储的数据,同时只有用户拥有解密密钥,从而确保隐私。安全密钥就是一种零知识加密,甚至连持有者,也无法访问其中的私钥,只能使用它完成认证工作。

补充信息

当然,前面的内容,只是一个词汇表。要更好的理解这些词汇,笔者在这里想要再补充一些比较重要的,关于信息安全和身份验证相关的概念。

首先是总体的信息安全性,通常认为,信息安全应当包括以下几个方面:

  • 可用性

保证信息在需要的时候,总是能够进行访问。这通常涉及到相关信息系统硬件设备如网络、存储、客户端、服务器等和软件系统如操作系统、文件系统模块、浏览器、客户端、Web服务、应用系统等等的正常工作和运行,并保证在一定工作负荷下提供的可以接受的性能指标和长期工作过程中的可靠性。这是一切信息安全的基础。

  • 机密性

机密性保证信息是机密的。这里面有几层含义。第一是这个信息可以由特定的用户访问;其二是其他未授权的不能访问;其三是在传输过程中,特别是信道本身不安全的情况下,信息原文不能为其他人获得。这通常通过信息加密结合访问控制来实现。

  • 完整性

完整性保证,接收方,或者访问方,获取的信息是完整原始的,没有被其他人篡改。这通常通过信息摘要结合信息签名来实现。如果信息被修改,会反映到摘要和签名不匹配,接收方就会知晓这个信息的完整性受到了破坏。

  • 不可抵赖性

使用信息签名和验证机制,还有一个额外的收益是,可以确保信息完整之外,确认这个信息的来源。因为只有发送者的私钥签名的信息,才可以由其公钥进行验证。这样可以确保这个信息确实也只有来源于私钥的持有者,就是发送者。

此外,笔者还想来探讨一下关于身份认证的总体方法论和模式,从这个词汇表中,我们可以体会并总结出关于身份验证的几种模式,就是所有现有的使用信息技术和在各种信息系统中实现的用户身份认证的方法,都是下面三种类型之一(这也是正在逐步发展的"无密码"认证技术的理论基础):

  • Who You Are(WUA) 你是谁

这本来是最原始和直观的诉求。你是谁?这背后的问题在体现技术上,其实是你和别人有什么不同?日常生活中,可以通过面部或者身体特征来进行区分,如果这个方法反映到信息技术实现上,就是所谓的生物学特征,包括指纹、人脸、虹膜、掌静脉、声纹、步态等等。

WUA认证方法虽然直觉上是最直观合理的,但在技术实现上,却有很多的问题。早先是有一些技术上的限制,如指纹、面容的采集、存储和识别,在信息技术实现上有很高的难度和成本,同时,也有一些缺陷和安全方面的漏洞,如盗用(指纹复制)、碰撞(双胞胎)、置信度、识别率等等。但笔者认为最大的问题,其实是其强关联性,即认证特征(如指纹)和认证标识(用户账户)是不可分割的,这在实际的应用场景中,会带来很多不灵活的问题。

  • What You Know 你知道什么

这是最简单,也是现在应用最广泛的方式,就是认证用户和密码。这个模式的逻辑基础是假设你和服务系统共享一个机密信息(口令),在验证时通过出示或者使用这个信息,证明访问者的身份。

这里其实有两个巨大的逻辑缺陷。一是通常情况下,需要通过比对和匹配密钥来认证,那么密码在服务端的存储和传输,就有一定的泄漏的风险,这个可以通过密码摘要、加密传输来改善;第二个问题其实更大,就是你不知道"别人知道你的密码"这一情况,因为在系统中,你和别人,只能通过这个共享密码来确认和区分,这其实是巨大的安全风险,因为别人可能也是你了。

  • What You Got 你有什么

这个情况,其实也很好理解,古代常用的"兵符"或者"信物"就是这么一种模式。现在我们常用的手机验证码,本质上也是这个模式。当然手机验证码在技术上也有很多缺陷,但它在逻辑上假设,只有拥有这个手机号的用户,才能通过验证。

这个模式看起来现在是最合理的,因为它可以在技术上实现更高的安全性,就是使用它提供了一种基于Security Key(通行密钥)的硬件实现模式。

Security Key可以是一种硬件设备,基于非对称加密的算法在硬件层面实现密钥对的生成和私钥的保存。私钥不会离开这个设备,并且也没法从外部访问和复制。注册时,设备可以提供对应的公钥,作为认证标识;认证时认证程序使用一个挑战信息对设备进行挑战;设备在内部对挑战信息进行签名计算;签名结果在外部时可以由其公钥进行验证的;从而确认这次认证,确实是由这个公钥对应的设备完成的。同时如果再能确认用户确实持有这个设备,那么通过验证的就是当前用户了。此外,如果用户丢失密钥设备,他应当也会立刻发现并进行处理,比如通知服务方进行挂失,这样可以大大降低非法认证造成的风险。

以现在常用的FIDO认证为例,在这个过程中,还可以加入一些机制来提高安全性,如必须需要人为确认的认证操作(按一下物理按钮),必须要在现场实机操作(不能远程),需要提供PIN码,结合多因子认证等等,这些都能提供远超原有方式的安全性。

关于这类认证方式的实现和细节,包括类似原理但实现细节不同的技术方案,内容比较多,这里就不再展开,笔者有计划择机另行撰文讨论。

小结

本文以THETIK的一篇认证安全技术词汇表的文章作为框架和入门,例举了认证相关安全所涉及的相对比较完整概念和技术。并进一步探讨了信息安全和认证安全相关的基本框架和方法。

相关推荐
康不坦丁10 分钟前
MySQL 的 order by 简化(使用列序号和列别名排序)
后端·mysql
wadesir23 分钟前
深入理解Rust静态生命周期(从零开始掌握‘static的奥秘)
开发语言·后端·rust
+VX:Fegn089527 分钟前
计算机毕业设计|基于springboot + vue零食商城管理系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·后端·课程设计
哈哈哈笑什么36 分钟前
蜜雪冰城1分钱奶茶秒杀活动下,使用分片锁替代分布式锁去做秒杀系统
redis·分布式·后端
WZTTMoon1 小时前
Spring Boot 4.0 迁移核心注意点总结
java·spring boot·后端
寻kiki1 小时前
scala 函数类?
后端
疯狂的程序猴1 小时前
iOS App 混淆的真实世界指南,从构建到成品 IPA 的安全链路重塑
后端
bcbnb1 小时前
iOS 性能测试的工程化方法,构建从底层诊断到真机监控的多工具测试体系
后端
开心就好20251 小时前
iOS 上架 TestFlight 的真实流程复盘 从构建、上传到审核的团队协作方式
后端
繁华似锦respect1 小时前
C++ unordered_map 底层实现与详细使用指南
linux·开发语言·c++·网络协议·设计模式·哈希算法·散列表