登录
EN

PCI DSS合规

2023-01-28

PCI DSS为什么这么重要?

PCI DSS即为《支付卡行业数据安全标准》。保护与支付相关的数据固然重要,但是人们对涉及面更广的敏感个人信息(例如医疗记录、犯罪背景、就业信息等)的类似担忧使数据保护问题变得愈加突出,由此催生了大量有关隐私保护的法律以及法律规定的数据泄露情况披露义务。

合规当然是强制性的。如果不采取适当措施,你的公司至少会声誉受损,企业落入竞争劣势。更有甚者,如果你的公司发生数据泄露情况,你不仅会被科以罚款,还会有指责你玩忽职守的批评铺天盖地而来。这些罚款可能由支付卡品牌方本身和/或你公司的收单方(代表你处理交易并负责担保你会为支付卡品牌严格遵守PCI DSS的机构)征收。你还将面临交易费用上涨的情况,甚至还有可能被人拉去对簿公堂。

避免所有这些麻烦的过程会让你认识到,为什么说遵守PCI DSS符合你公司的最大利益。而它还有另外一个好处:你还可以借助用于实现PCI DSS合规的那些技术和规程来保护自己企业的各种数据。

既然我公司已在执行PCI DSS,为什么还要遵守《通用数据安全标准》?

账号数据很容易进入各种业务系统找到自己的用途,其中从交易处理到客户关系管理以及增值系统(例如忠诚度和客户支持),应有尽有。这里的挑战在于,所有这些环境都要被置于保护之下才能符合PCI DSS的规定。因此,《通用数据安全标准》的广度和深度远远超过其他隐私和数据安全要求。事实上,安全专家倾向于认为,这一标准既符合行业最佳实践规范,也是这些行业规范的最佳体现。尽管这一标准的一些方面对于你的公司来说是全新内容,但它们涉及的却可能是真正的风险领域。

这一标准期望能够得到世界各地所有公司的一致使用,其中从单人公司到大型跨国公司,全部包括在内。但是在具体实践中,评价时还必须考虑法律、法规和业务方面的要求。

PCI DSS有什么核心要求?

PCI DSS由公开发布的12项要求组成,每项要求下还包含若干子要求。12PCI DSS合规要求分为六类,如下表所示:

PCI DSS合规要求一览表

类别

要求

构建和维护安全网络

要求1:安装和维护防火墙配置来保护持卡人数据。

要求2:不使用供应商提供的系统口令和其他安全参数的默认值。

保护持卡人数据

要求3:保护存储的持卡人数据。

要求4:持卡人数据需经加密才可在开放的公共网络上传输。

执行漏洞管理计划

要求5:保护所有系统免受恶意软件侵害并定期更新杀毒软件或程序。

要求6:开发和维护安全系统和应用程序。

执行强访问控制措施

要求7:依照因需可知原则限制对持卡人数据的访问。

要求8:识别和验证对系统组件的访问。

要求9:限制对持卡人数据的物理访问。

定期监控和测试网络

要求10:跟踪和监控对网络资源和持卡人数据的所有访问。

要求11:定期测试安全系统和流程。

保持信息安全策略

要求12:保持一项所有人员都必须遵守的信息安全策略。

能用PCI DSS原则保护其他数据吗?

为了达到PCI DSS合规,你需要投入大量时间和资金来构建安全基础设施和支持性流程才能满足PCI DSS的安全要求。PCI DSS主要涉及对持卡人数据的保护。至于你的公司处理的与支付无关的所有其他数据,其中肯定有一部分会从类似级别的保护中受益。

除了满足PCI DSS的要求以外,你还可以借助这些安全原则来构建支持本公司关键资产的其他解决方案。以下任何一项工作都会给你的公司带来好处:

l  给公司内部所有网络通信流加密,确保只有需要查看数据的人才能看到数据。

l  采用加密和/或令牌化技术,确保只有得到授权可以解密数据的人才能访问数据,以此保护整个公司的所有静止数据。

l  通过给数据记录中被选定的字段加密,在捕捉点(数据进入公司的入口点)保护所有敏感数据。

l  在把数据发送到你使用的任何云服务供应商之前,以在本地加密数据和管理密钥的方式把数据的安全完全保持在你的控制之下。

l  采用分层级的安全保护方法,使你的基础设施不存在一个易受攻击的脆弱点,增加攻击者未经授权访问你的数据的难度——不管他们在公司内部还是外面。

如果你对本公司内部的所有数据以及对数据的访问都采用安全意识极高的保护方法,则达到PCI DSS的具体要求会变得水到渠成。

我应该怎样保护存储的支付卡持卡人的数据(PCI DSS要求3)?

PCI DSS的核心是满足你保护自己存储的任何持卡人数据的需要。该标准列举了多种适用于保护持卡人数据的方法,例如加密、令牌化、截断、屏蔽、散列化等。采用这些保护方法中的一种或多种,可令偷盗数据的行为归于徒劳。

保护存储数据不可“一刀切”。你应该把PCI DSS要求3视作你应该达到的最低安全级别,以尽可能增加潜在攻击者阴谋得逞的难度。

了解数据存储规则

你需要知道存储数据的所有位置。要求3还提供了关于哪些数据可以存储——以及哪些数据不可存储——的指导。这项要求的最佳建议之一是:“不需要,就别存。”

让存储的数据不可读

PCI DSS标准要求你无论把主账号(PAN)保存到哪儿,都必须不可读,其中包括便携式存储介质、备份设备,甚至审计日志(这一点常被人忽视)。PCI安全标准委员会有意采用“不可读”这个词,是为了避免强制规定使用任何特定技术,这反过来又证明了未来的要求。即便如此,要求3.4还是提出了几个选项:

l  基于强密码的单向散列,其中必须对整个主账号(PAN)进行散列化处理;

l  截断,用于保存PAN的一段(不超过前六位和后四位数字);

l  令牌化,用于保存PAN的替代品或代理,而不是PAN本身;

l  得到密钥管理流程和安全规程支持的强密码。

安全管理密钥

无论您打算用哪种方法让存储的数据变得不可读,你都要保护相关的密码密钥。如果配套的是弱密钥管理流程,加密即便再强也会没用。PCI DSS标准提供了怎样管理密钥的详细指南——该指南建议的方式与要求银行和其他金融机构保护其密码密钥的方式极为相似。其他要求还规定,你应该把在各种密钥的整个生命周期中采用的具体管理方式形成正式文件。

你在管理密钥方面的成功取决于你拥有优秀的密码密钥保管人,也就是你确信不会串通他人攻击你的系统的人。这些人必须正式认定他们了解并接受托付给他们的密钥保管人职责。

此外,你还必须确保,有关保护存储的持卡人数据的安全策略和操作规程正式成文、被落到实处并且为公司内所有相关方知晓。

不要低估强密钥管理的重要性,也不要试图走捷径。合格的安全评估员会发现你的错误,而攻击者自然也有可能发现它们。

部分屏蔽PAN

PCI DSS标准就主账号(PAN)的显示问题提出了非常具体的建议:只向那些出于业务原因必须查看PAN的人员显示PAN的完整数字(通常为16位)。至于所有其他情况,你必须通过屏蔽确保显示出来的PAN不超过前六位和后四位数字。

我可以怎样给传输中的账号数据加密(PCI DSS要求4)?

敏感数据在开放网络(包括互联网、公共网络或其他不可信无线网和蜂窝网)传输时会非常脆弱。PCI安全标准委员会对传输中的数据采取了非常强硬的态度,要求必须使用可信密钥/证书、安全传输协议和强加密。该委员会还给你指定了一项必须审查安全协议的长期任务,以确保它们符合安全通信的行业最佳实践。

阻止窃听者

许多潜在的攻击者都是试图利用已知安全漏洞的窃听者。PCI DSS标准针对与其他系统建立连接的情况提出了具体要求和指南:

l  只有当你被出示可信密钥/证书时才继续往下建立连接。你需要验证这些密钥和/或证书并确保它们没有过期。

l  把你的系统配置成只使用安全协议,不接受使用较弱协议或加密密钥长度不足的系统发出的连接请求。

l  对通过传输持卡人数据或连接持卡人数据环境的无线网络进行的身份验证和传输实施强PCI DSS加密。

保护最终用户的消息传递

大部分PCI DSS都侧重于保护主账号(PAN)。要求4针对通过开放网络传输PAN制定了一些具体规则。因此,在传输持卡人数据时,你的公司往常使用的技术(例如最终用户消息传递技术)可能需要调整、更换或停用。要求4的主要规定如下:

l  不得通过电子邮件、即时消息传递和聊天应用等商业技术在未受保护的情况下发送PAN

l  在使用任何最终用户技术之前,必须确保通过强密码使PAN变得不可读。

l  第三方请求得到PAN时,必须由该第三方提供保护PAN的工具或方法,否则就必须由你在传输前使号码不可读。

你必须为在网络通信的过程中加密持卡人数据规定适当的安全策略和操作规程。此外,你还必须确保这些文件是最新的,随时可供你公司中所有相关人员使用并被他们认真遵守。

我可以怎样限制对持卡人数据的访问(PCI DSS要求7)?

PCI DSS标准有相当大一部分涉及访问控制机制;访问控制机制必须足够强劲和全面,才能提供持卡人数据所需要的保护。

PSS DSS标准要求7明确规定你必须限制对数据的访问。你必须确保只有得到授权的人员才能访问关键数据,而且你必须制定适当的制度和规程,据此根据业务需要和工作职责限制访问。该要求还规定,访问权不再被需要时,应立即取消。

你应该尽量把需要访问数据的人数保持在绝对最低限度,并根据定义明确的角色和职责确定和记录访问需要。

管理访问策略

PCI DSS标准要求你周密考虑应该允许本公司哪些人员拥有系统组件访问权,以及这些访问权会对持卡人数据环境的安全有什么影响。如果你的公司设有多个办公地点或数据中心,或者你把一些数据交给基于云的服务供应商托管,则此项任务会更为复杂。

你必须精细管理访问控制策略,仔细定义本公司中的各种用户角色(用户、管理员等)并指定他们可以访问系统和数据的哪些部分。

在实践中,你需要制定有效而符合实际的访问控制策略来实施充分的控制,这要求你拿出足够的时间设计最佳机制,最终满足自己的需要。

分配“最小权限”访问权

PCI DSS标准是强制性的,要求你必须根据记录在案并得到批准的请求对所有用户账户只授予“最小权限”访问权。这里的逻辑是,你只可向每个人授予足以让他们访问行使其工作职能所需要访问的那些部分系统或数据的访问权限。例如,管理员可以为其他用户定义查看持卡人数据的访问策略,但管理员本人不能直接读数据。

你可能需要根据所处环境的具体情况针对多种系统类型为网络、主机和应用层面的使用和管理安排不同级别的访问权。这项任务相当复杂,例如,当你需要为多种类型用户授予对数据库的不同访问权时。

最好的办法是默认禁用对数据的访问,需要时再启用任何访问。这种办法可以更加轻松地防止有可能导致数据泄露(最坏情况)的访问权授予错误。

撤销数据访问权

当用户发生角色变更时,需把这个变化记录在案并适当修改该用户的权限。同样,当用户从你的公司离职时,也需要把这个变化记录下来,然后根据本公司的策略和规程禁用或删除他的用户账户。

一个预先建立、始终如一的流程有助于确保实现强权限管理。

我可以怎样认证对系统组件的访问(PCI DSS要求8)?

强安全性对于保护你的系统和数据免遭未经授权访问至关重要。PCI DSS标准要求8中包含了许多需要你在针对员工和第三方的访问控制和口令策略中着重满足的元素。

确保个人问责

确保需要访问你的系统的每个用户(内部的或外部的)都有一个唯一标识符,这一点非常非常重要,只有这样才能保证日后不会出现到底是谁执行了哪项特定任务的争议。(有关处理不可否认性等问题的详细信息,请参阅PCI DSS标准要求8.1。)严格执行每个用户的唯一标识符可以从根本上阻止基于组的身份使用或共享身份(参见PCI DSS标准要求8.1.58.5)。

每当出现有新用户添加进来、现有凭证发生改动或者有用户因不再需要访问权而被删除或禁用账户的情况时,你还需要确保完全可问责。可问责包括当即撤销停职用户的访问权(详情请见PCI DSS标准要求7.1.48.1.2)。

让访问管理更灵活

拥有合规的用户访问策略固然很好,但是这项策略只能帮助你遵守PCI DSS标准。你必须有一个规定了各种任务的访问管理系统来支撑你的用户访问策略,这些任务如下:

l  限制第三方(例如需要远程访问服务或支持你的系统的供应商)的数据访问。只在第三方需要的时候才授予访问权,同时还要监控他们对你的系统的使用。切勿提供不受限制的24/7全天候访问。

l  锁闭在规定时间内多次尝试登录失败的用户(提升自动口令攻击的难度)。

l  把系统设置成任何用户在规定时限内无活动后将无法使用系统,该用户必须重新登录后才可继续使用系统(把冒名顶替的风险降至最低)。

l  对尝试非控制台管理或远程访问持卡人数据环境系统组件的人员执行多因子身份验证法(通常通过令牌或智能卡)。这种增强的安全方法可提高攻击者成功的门槛。

加强身份验证

PCI DSS标准要求有一个针对所有类型访问的强身份验证系统。该标准还对执行和管理这一身份验证系统做出了详细描述。例如,对于口令,PCI DSS标准要求8.2指导你进行以下操作:

l  对于所有系统组件上的数据传输和存储,通过强密码使所有身份验证凭证(例如口令或口令短语)不可读,以此降低最易遭受内部人员攻击的数据的价值。

l  为口令设置严格条件。作为一项基本要求,所有口令都必须至少每90天更换一次。必须强制要求,任何给定口令都至少由7个字母、数字字符组成。必须禁止重复使用以前的口令。

l  为每个新用户提供一个初始口令,同时要求新用户第一次访问你的系统时更改初始令。

l  禁止组共享口令。

身份验证策略制定后应提供给所有用户,以帮助他们了解并遵守这些要求。

我可以怎样监控对持卡人数据的访问(PCI DSS要求10)?

如果你没有掌握有关数据何时被怎样访问、更新或删除的准确详细信息,你将很难识别自己系统所遭受的攻击。除此之外,你还将缺乏足够的信息来调查到底发生了什么事,尤其在数据泄露之后。

幸运的是,PCI DSS标准要求10提出必须保持、监控和留存全面审计日志。

维护审计踪迹

PCI DSS标准强制规定,必须把某些活动——尤其是读、写或修改数据(参见PCI DSS标准要求10.2)——记录到所有系统组件的自动审计踪迹中。这些组件包括面向外部的技术和安全系统,例如防火墙、入侵检测和入侵防御系统以及身份验证服务器。

此外,该标准还描述了应该记录哪些具体细节,以便于你了解所有数据被谁、什么、在何地、何时以什么方式访问的情况。例如,任何根或管理员用户访问都应被记录下来,尤其是当特权用户在尝试访问数据之前升级自己权限的时候。

PCI DSS标准要求10.4还要求对所有持卡人数据环境系统组件进行配置,使它们可以接收准确的时间同步数据。如果你目前还不具备此项功能,则可能需要升级系统。

必须记录下来的一类重要信息是任何失败的访问尝试——这是暴力破解或持续猜测口令的一个明显特征,特别是当访问日志有很多条目的时候。你还必须记录添加和删除动作,例如提升访问权限、降低身份验证限制、临时禁用日志、软件替换(这可能是存在恶意软件的迹象),等等。

防止未经授权篡改日志

审计日志创建后,你必须确保日志处于保护之下无法被人篡改。你必须使用集中式PCI DSS日志记录解决方案(参见PCI DSS标准要求10.5.3);这个解决方案对访问有严格限制并具有足够大的容量,可将持卡人数据环境内所有系统组件的日志数据至少保留90天,全年余下时间的数据若被需要,亦可供恢复。

定期进行安全检查

除了确保生成被要求的详细信息、把它们集中存储并施以保护免遭未经授权访问或篡改外,你还必须至少每天对日志和安全事件进行一次检查,并且无论白天还是晚上,听到警报后必须立即进行查看(参见PCI DSS标准要求10.612.10.3)。这项要求可帮助你识别异常和可疑活动。


我可以怎样使保存的主账号(PAN)信息变得不可读?

下面介绍几种使保存的信息——特别是主账号(PAN——变得不可读的最流行方法。

屏蔽

屏蔽是指在将数据呈现给某人时保持数据的保密性。任何在餐厅或商店用支付卡付账后查看打印收据的人都熟悉这个过程;PAN的某些位数字显示为X,而不是实际数字(见下图)。根据PCI DSS标准要求3.3的规定,PAN显示应限制为执行工作职能所需要的最少数字位数,并且不应超过前六位和后四位数字。

用于显示的被屏蔽PAN

用于显示的被屏蔽PAN.png

截断

截断通过确保只保存完整PAN的一个部分来使存储的数据不可读。与屏蔽一样,截断最多只能保存PAN的前六位和后四位数字。

截断后的PAN

截断后的PAN.png

单向散列

散列函数是一个定义明确、可证明安全的密码进程,可将任意数据块(在本例指PAN)转换成一个不同的唯一数据串。换句话说,每个PAN都会产生不同的结果。单向散列进程是不可逆的(故此得名单向);它通常用于确保数据不曾被人篡改,因为原始数据块的任何更改都会导致得出不同的散列值。

下图显示了散列函数在PCI DSS标准背景下的使用情况。这项技术提供保密性(从PAN的散列版不可能重建PAN),但是与截断一样,它同时也使存储的数据不可能用于后续交易。

PAN的单向散列:

PAN的单向散列.png

你不可在持卡人数据环境里同时保留同一张支付卡的截断版和散列版,除非你执行了额外的控制确保这两个版本无法被人拿去关联到一起重建PAN

令牌化

令牌化是指用替代数据替换原始PAN的过程——所形成的令牌看起来像是一个合法PAN,但是对于攻击者来说毫无价值。令牌化的执行在多数情况下是可逆的;令牌可以根据请求转换回原始PAN。当后续交易需要访问存储的PAN时,可以使用令牌化。

创建令牌的方法有多种,以下是常用的两种方法:

l  直接从原始PAN值计算令牌:这种方法可在一个所谓确定性进程中为每个给定的PAN生成相同的令牌。

l  随机生成令牌:这种方法每次都会产生不同的令牌,对以前的PAN进行穷尽查找,以重复使用以前签发的令牌的情况除外。

在某些情况下,令牌化进程的确定性程度非常重要。一切都由令牌的使用方式决定。有时,执行令牌化的过程不仅需要保留PAN的格式,还需要保留PAN的某些数字(见下图)。

PAN的令牌化(保留后四位数字)

PAN的令牌化.png

加密

从某些方面说,加密的目的与令牌化类似,即用对于攻击者没有价值的数据取代PAN数据。加密用标准化密码算法和密钥从原始数据派生出经过加密的PAN。算法是广为人知的,因这个进程的安全性取决于密码密钥的强度和处理方式,这就是硬件安全模块被广泛涉及的原因。

加密过程通常会更改数据的格式。数据被加密时,数据大小往往会变大。出于同样的原因,令牌化却尝试保留原始PAN数据的格式——旨在把接触数据的现有系统的变化降至最低限度——机构通常采用格式保留加密(FPE;见下图)。

PAN的加密(使用FPE并保留后四位数字)。

PAN的加密.png