赞
踩
原作名《HARDWARE SECRURITY - A HANDS-ON LEARNING APPROACH》
机械工业出版社 China Machine Press
作者 : Swarup Bhunia and Mark Tehranipoor
HDL 指硬件描述语言(Hardware Description Language)
主要讲述计算系统概述,硬件安全和硬件信任,IC 设计流程中的安全问题,硬件安全史
硬件安全的硬件专指硬件。
安全的类别:1、硬件安全:关注硬件的攻击和保护,它是系统安全性的基础,为与之交互的系统的其他元件提供了可信基础。确保软件栈的安全可靠运行,保护存储的资产,提供相应的隔离。
2、软件安全:关注针对软件的恶意攻击,以及在潜在安全风险下确保软件可靠运行的技术。
3、网络安全:研究针对连接多个计算机的网络的攻击行为,以及在潜在攻击下的可靠性。
4、信息安全:侧重于通过防止信息的非法访问、使用、修改或销毁以确保其机密性和可用性。主要基于各种密码措施。
针对硬件安全的研究相对较晚,因此硬件常被用作系统的信任锚(i.e.,信任根)。随着电子硬件生产的新趋势,基于 IP 核的芯片设计、长且分散的电子元件制造分销链,导致了众多安全问题。
第一部分 电子硬件的背景知识
1、二进制逻辑:正电压表示为逻辑1、高、真(true);无电压表示为逻辑0、低、假(false)
2、数字逻辑门:放图
3、布尔代数:放图
4、时序电路:现代数字逻辑电路分为组合逻辑和顺序逻辑(有存储功能)
①时序电路元件:触发器(锁存器),D型、T型(反转)、JK型
②计时参数:设置时间、保持时间、传输延迟
1、ASIC(Application - Specific Integrated Circuit)专用集成电路
为特定用途制造的集成电路,性能高、功能复杂、功率消耗低、单元较小、单位成本低,但开发周期长、设计流复杂、初始成本高、偶发成本高,在大批量生产上具有优势
2、FPGA(Field-Programmable Gate Array)现场可编程门阵列
对已制造完成的芯片进行配置的集成电路,由一组可编程的逻辑块和可重构连接器构成,是现场可编程的。逻辑块可通过重新配置连接器进行连接,配置不同的功能。其灵活、上市时间快、设计简单、可升级而不改变硬件,但功率消耗高、性能中等、单元成本高、资源浪费。在中等批量的生产上具有优势。
1、PCB的设计流程:放图
2、PCB生产流程:轮廓、创建铜线路、钻孔、焊上元件、Gerber文件
本章讲述 SoC 的设计流程、SoC 测试验证的流程和原理
SoC(system on chip)片上系统 是一个包含给定系统所需所有元件的集成电路,通常包括模拟、数字和混合信号 IP 核心。①②③④⑤⑥⑦⑧⑨⑩
①设计:制定设计规范,随后将所有IP内核集成,并植入DFT结构,生成网表和GDSII格式文件
②制造:在晶圆片上进行光刻和化学处理,剔除缺陷产品
③装配:即IC封装,装上外壳,并提供电气连接和散热的热路径,以保护芯片
④发行:分销
⑤系统集成:与多个器件一同集成为一个系统
⑥退役
2、SoC的设计流程:
①制订设计规范,并指定一个IP列表实现既定规范。(3PIP的购买:软IP核以HDL交付;硬IP核以GDSII交付;固定IP核使用通用库交付。
②将所有IP集成,加入DFT结构,生成RTL描述(完整的系统级数字电路描述)和网表。
③门级网表被转换为基于逻辑单元格和I/O几何图形的物理布局
④进行测试,测试完毕后,发往代工厂进行制造
验证阶段又称硅前验证,即在流片前确保从设计规范到网表的功能正确和正确转换的过程;
测试阶段,是流片后的制造测试和生产测试的过程。
1、SoC的验证流程:
①对IP进行单独验证。
②基于接口协议,对芯片中各块接口进行验证
③系统级验证,通过仿真软件进行硬件和软件的验证。分别进行功能验证和结构验证。
④对IC的物理布局进行验证。验证完成。
2、SoC的测试流程:
①晶圆测试,为晶圆提供电气刺激进行测试
②识别制造缺陷或故障,使用自动测试模式生成工具ATPG
③对芯片进行表征,找出芯片的理想工作参数
④功能测试和结构测试
⑤封装模具的老化应力测试
SoC 调试,即硅后验证,在第一个硅制造后进行。调试支持由芯片上的调试性设计架构和软件组成。其策略是将接入点放置在系统中,由它的接口获得和控制芯片内部信号。电子系统中有三种元件需要测试:数字逻辑、内存块、模拟或混合信号电路。制造测试成本主要取决于测试数据的数量和测试时间
1、DFT调试技术概览:
①扫描:对所有在扫描设计中的存储元件进行访问和控制。
②扫描触发器(SFF):性能开销低,但速度慢
③扫描链:将扫描触发器连成一串,然后将扫描值与SO值(扫描输出值)进行比较
④扫描测试压缩:利用少量的测试的重要值来减少测试数据和测试时间
⑤边界扫描:边界扫描技术利用边界扫描链,在芯片内部的信号线上插入测试信号,从而实现对芯片内部电路的测试和诊断。有效降低了PCB制造成本。
2、全速延迟测试:用于检测计时相关故障的方法
①故障类型:转换故障(慢升和慢降造成的延迟),路径延迟故障(路径上的累计延迟)
②两种方法:LOS和LOC
本章讲述 PCB 的历史、生命周期、设计验证、装配流程
在 PCB 量产前,通常使用点对点的飞线连接;早期 PCB 是在电路板材料上钻孔,并在孔中植入黄铜。20 世纪 20 年代,PCB 诞生,申请了第一个专利;20 世纪 30 年代到 40 年代,PCB 在二战中得到广泛运用;20 世纪 50 年代,发明了酸刻蚀铜金属电路板的方法;20 世纪 80 年代,表面贴装技术(Surface Mount Technology,SMT)的发展在 1980 年代引入了新的 PCB 制造和组装方法;现代,三维 PCB、柔性 PCB。
PCB 的生命周期与 SoC 的生命周期类似,设计规范->PCB 设计->PCB 原理图->PCB 布局-> 制造和装配-> 检测验证
恶意攻击者可以利用当今复炸而高度集成的 PCB 设计,借助隐藏孔或无源嵌入式元件,以硬件木马的形式篡改或植入额外的恶意电路,目前行业并无有效的安全措施来防御。
1、PCB检查:
①自动光学检查(AOI):多次拍照,拼接成一个完整的大图像,与设计图进行比对。
②自动X射线检查:利用不同材料对X射线的吸收率不同,对PCB进行检查
2、PCB测试:
①芯片内测试:万用表原理
②功能测试
③JTAG边界扫描测试
本章主要讲述了 SoC 的设计制造流程中的硬件木马(Hardware Trojan)插入威胁、HT 特性、FPGA 中的 HT、HT 的分类、信任基准、硬件木马的防御。由于硬件木马的硬件级别的植入,软件级别的对此可能不足以应对由硬件造成的威胁。
①②③④⑤⑥⑦⑧⑨⑩
详情见第三章
硬件木马(Hardware Trojan)指对电路设计的恶意的、故意的修改,在部署电路时会导致恶意行为(例如通过 I/O 输出密钥、通过侧信道功率输出重要信息、增加系统延迟、减半加密轮数)。
1、结构:基本结构有两个:触发器和攻击载荷。当触发器监测到预期的事件,攻击载荷就会执行恶意行为。触发条件可以是某内部节点上的 n 位值、重复发生某事件 210 次、到达某个温度等,以增加反检测能力。
2、硬件木马示例:
①加密引擎中的木马:攻击载荷可以是由攻击者自定义的虚拟密钥而不是用于敏感加密的实际加密密钥,通过侧信道泄露硬件密钥。例如恶意片外泄露技术(MOLES),通过功率侧信道泄露硬件密钥。
②通用处理器中的木马:攻击者在系统中植入后门,根据攻击者的命令输入禁用安全启动机制。并在硬件木马的帮助下实现深层次攻击,如利用缓冲区溢出攻击绕过内存保护机制或通过认证绕过漏洞来访问特定资产。
FPGA 用途广泛,从电信系统到导弹制导都有应用。但 FPGA 的木马可以通过 IP 核的形式载入通用 FPGA 结构中,并且有大量可被控制的可重构逻辑单元,攻击者从而利用 FPGA 通用系统进行攻击。存在 IP 依赖木马和非 IP 依赖木马。
分类的主要依据是硬件木马的物理、激活、功能特性。
放图
信任基准是一种基准电路测试,在难以检测、影响较大的位置故意添加木马,用以比较木马带来的影响和不同木马检测技术的有效性。
1、基准命名约定:DesignName - Tn#$,e.g.,MC8051-T1010:木马 10 号被插入 MC8051 的 1 号位置,版本为 0
2、信任基准样例:
①开发制造阶段的基准样例:EthernetMAC10GE-T710,由组合器触发的木马程序,查找特定的16位向量
1、木马检测:木马检测时最简单、常用的方法,分为硅前、硅后两阶段。
①硅后检测:1、破坏性逆向工程:检测能力强,可以检测到任意恶意修改
2、功能测试:检测能力弱,难以触发木马
3、侧信道信号分析:测量硬件参数来检测硬件木马(如延迟、功率、温度、辐射),将其与正常的(破坏性逆向工程得到的结果)进行对比
②硅前检测:1、代码覆盖率分析:即在设计阶段的功能验证期间执行代码行的百分比。木马可能逃脱
2、形式验证:如符号执行、模型检查、信息流,在验证3PIP方面有效。
3、结构分析:用定向指标将低激活概率的信号或门电路标记为可疑。
2、信任设计:检测静默的、低功率消耗的硬件木马更有效的一种方式。
①促进测试:字面意思,如增加运行时监控模块
②木马植入防范:逻辑混淆、伪装、功能性填充单元(将布局填满)。通过重新排序逻辑门、加入额外的逻辑功能或者使用不同的设计方法来实现。
③可信计算:软件级别的检测,是基于不可信元件的可信计算,是最后一道防线。主要有TPM (受信任的平台模块)、安全启动 (Secure Boot)、远程验证 (Remote Attestation)、封装 (Sealing)组成。
④分割制造:字面意思,降低代工厂的不可信水平
本章主要讲述电子供应链上的安全隐患及应对措施。
1、木马检测、安全检查:
2、IP加密:
①硬件锁:硬件锁通常是一个外部USB设备,其内部包含了一个芯片,这个芯片具有独特的识别码、加密功能和存储能力。软件开发者可以将授权信息、加密算法和关键数据存储到硬件锁中,然后将这些功能与其开发的软件绑定在一起。软件启动时,会与连接的硬件锁进行通信,验证硬件锁的身份。这通常包括向硬件锁发送请求,硬件锁返回唯一的识别码供软件进行验证。只有在硬件锁通过验证后,软件才会继续运行。
②时间锁:类似硬件锁,通常与硬件锁结合使用。
③追踪/水印技术:将特定的标识信息嵌入到IP中,以便在未经授权使用的情况下进行追踪。提取水印后进行水印比对,例如物理不可克隆函数(Physical Unclonable Function, PUF)利用微小的物理变异来生成唯一的标识信息。这些微小的变异是由制造过程中的随机性和不均匀性引起的,使得每个硬件实例都具有独特的特性。PUF可以用于实现设备的唯一标识、认证和密钥生成。
3、电气测试、物理检查
不再赘述
1、FPGA 的设计:
①将总设计拆分成小段,每一段都适合于FPGA内部特定的可编程硬件元件,随后合成,输出一个门级网表
②将几个门合并成一个LUT(以十六进制显示)作为配置位,放置并路由该网表
③配置位连接成一个文件,即位流
2、FPGA 系统的生命周期:与硬件 IP 类似
1、IP窃取
①克隆:配置不当导致可实现位流回读;基于SRAM的电子探针拦截位流传输的位流探测;窃取解密密钥
②位流逆向工程:厂商没有标准化位流格式,逆向难度较大
③IP滥用:#
2、IP篡改:
①故障注入:有意引入系统的故障来削弱或破坏目标系统的功能、机密性、完整性或可用性。这种攻击方法通常是为了绕过系统的安全措施、窃取敏感信息或造成系统崩溃。故障注入攻击可以利用系统对故障的不恰当处理来获得攻击者所需的结果。
②直接篡改:篡改未加密的位流以实现硬件木马,重点修改未使用的资源(常为一串0,有助于轻松修改)
③硬件木马:#
④未经授权的重新编程:字面意思
侧信道攻击(Side-Channel Attack,SCA)是一种利用系统在运行过程中产生的辅助信息(侧信道)来获取敏感信息的攻击方式。侧信道攻击通过分析系统在其他方面的物理特性,如功耗、电磁辐射、执行时间等,来获得额外的信息,从而窃取敏感数据。测信道攻击对加密设备,尤其是智能卡和物联网设备构成重大威胁。
需要对设备进行物理访问,主要用于提取密码系统的密钥,分为简单功率分析(SPA)、差分功率分析(DPA)、相关功率分析(CPA)等。功率跟踪指分析过程中捕获的每个功率信号
用于窃取密码设备或加密系统中的秘密信息,如密钥。DPA 利用了加密设备在执行加密操作时所消耗的电力或功率的变化,以及这些变化与密钥相关的关系。DPA 的基本思想是通过测量设备在不同密钥值下的电力消耗来分析其差异。当设备执行加密操作时,其电路状态和开关活动会因密钥的不同而产生微小的变化,进而影响电力消耗。从而通过对比不同操作状态下产生的信号差异来获取敏感信息。
电磁测信道攻击主要测量运行中集成电路发出的电磁波,通过电磁分析能够捕捉空间信息,识别电磁信号位置。电磁信号可以通过近场探头或天线截取,并转化为电流信号。去除噪声后限制频带即可应用于电磁分析。
故障注入攻击 (Fault Injection Attack) 是一种攻击手段,通过引入故障来改变系统的正常运行,从而达到攻击目的。这种攻击方法通常针对硬件组件,但也可以针对软件。故障注入可以通过多种方式实现,例如通过电磁干扰、电压变化、温度变化或特定的软件指令。
1、 常见的故障注入攻击方法:
2、对策:
时序攻击(Timing Attack)是基于目标系统响应时间的测量来获取有关其内部操作的信息。通过分析这些时序信息,攻击者可能能够推导出加密密钥或其他敏感信息。
时序攻击的基本思路是:当计算机执行不同的操作时,所需的时间可能会有所不同。例如,某些密码算法在处理特定的输入或特定的密钥部分时可能需要更长或更短的时间。攻击者可以通过测量处理不同输入时的响应时间来获得有关系统内部操作的信息。通常与其他方法共同使用。
1、时序攻击的例子:
2、如何防御时序攻击:
“隐蔽信道”(Covert Channel)是一个计算机安全术语,指的是在计算机系统中,不被预期用于通信的途径或机制被用于传递信息。这种通信途径可能会被攻击者用于绕过安全策略或机制,从而秘密地传输信息。隐蔽信道常常是安全体系中的一个难以处理的问题,因为它们常常利用了正常操作或功能的副作用来传递信息。较难利用。
1、隐蔽信道的类型:
可测试性和安全性本质上是相互矛盾的。安全性依赖于使信息变得模糊和难以理解。扫描可以将电路设置为任何状态,并将芯片停止在任何中间状态进行分析,扫描链成为密码分析容易利用的测信道。
JTAG(Joint Test Action Group)是一种用于测试和调试电子设备的标准接口,通常用于在生产和维护过程中进行测试、调试和编程。
1、JTAG攻击:JTAG 不知道芯片对外部命令的反应,JTAG 很容易在软件层面被控制。例如绕过 Xbox 的认证和入侵 iPhone 等。
2、JTAG防御:
1、使用后销毁 JTAG
2、JTAG 密码保护
3、将 JTAG 隐藏在系统控制器后
逆向工程(Reverse Engineering)是一种通过分析已有的产品、软件或系统,来了解其设计、功能和工作原理的过程。逆向工程可以应用在各种领域,包括软件、硬件、网络和电子设备等。
芯片通常由裸片、引线框架、引线接合和成型封装材料组成。通常使用倒装芯片的方法,其中的电气连接靠导电溶胶来实现。在芯片级,逆向工程的目标是找到封装材料、引线接合、不同的金属层、触点、通孔和有源层及金属层之间的互联。
芯片解封装是将芯片封装材料(如塑料或陶瓷)移除,暴露出内部电路和结构的过程。这允许对芯片的内部设计、功能和连接进行详细分析和研究,通常用于逆向工程、芯片验证和安全研究。解封装需要使用化学、热或机械方法,但需要注意可能会破坏芯片样本。
现代芯片由几个金属层、钝化层、通孔、触点、多晶硅和有源层组成。逆向工程师必须对芯片进行横截面成像,使用 SEM 或 TEM 来识别层数、金属材料、层厚、通孔和触点。横截面成像的知识非常关键(即层的厚度),因为它决定了分层必须如何进行。
3、成像:即拍照、X 光
4、后处理:
①图像处理:形成各层的图像
②注释:记录晶体管等元件位置,各层的互联、通孔和触点。
③门级原理图提取
④从门级原理图中提取高级网表
探测攻击是一种通过观察芯片的物理硅实现来绕过安全措施的侵入方法。作为一种侵入式攻击,攻击者可以直接访问目标设备的内部线路和连接并提取敏感信息。与逆向工程相结合,这构成了严重的威胁。典型的探测攻击将从解封装开始,以暴露硅芯片。完成后,攻击者就可以开始对设备进行逆向工程。通过提取网表,人们可以开始了解功能并识别目标信号。一旦攻击者找到目标信号并将其映射到设备上的坐标,他们就可以开始铣削。通过铣削,它们暴露了设备的内部电线。然后他们可以形成电气连接并开始提取信息。为了防止此类攻击,设计人员必须识别可能的目标并采取适当的措施。此类目标的示例包括:
一些常见的对策包括屏蔽和 T 专用电路。屏蔽层包含一层电线,其信号被监控以防止铣削引起的干扰。T 专用电路旨在按顺序分割信号,或者通过要求攻击者使用 t + 1 个探测器来提取 1 位信息来耗尽攻击者的资源。其他方法包括用于检测解封的光传感器和用于防止重复模式的扰线信号。
聚焦离子束(FIB)是最精确和最强大的故障注入技术之一,攻击者可以编辑电路、重建丢失的总线、切断现有的导线,其工作精度为 1nm。
中断或恶意更改 PCB 的功能。例如:在 PCB 信号线上添加电容使其电气连接中断、将 PCB 信号轨迹的宽度变窄以增加其电阻、外接恶意 IC、通过重新连接路由电路以避开或替换安全块等。
破解芯片攻击是现场更改 PCB 的重要应用。例如绕过 Xbox 的安全检测。
硬件安全原语是一些基本的、可信赖的硬件组件或技术,用于构建安全的计算机系统和设备。它们通常设计用于提供硬件级别的保护,以确保系统的安全性和可靠性。作为安全环境的硬件级构建模块,在确保电子芯片和系统可信、真实、完整方面扮演着重要角色。
根据柯克霍夫原则,密码系统的安全性应该完全依赖于密钥,而不是系统设计(即没有实现上的系统缺陷或测信道泄露)。因此,密钥的强度直接决定了安全系统的强度。
1、概述:PUF 能够利用设备内在的固有特征生成数字指纹。理想情况下,它是一种密码学安全的单向函数,输入与输出之间没有任何可预测的映射关系。PUF 的熵来自器件制造过程中的固有误差。
2、PUF的进步性:PUF 消除了密钥存储的要求,密钥可以通过输入触发器按需生成。加密的安全性在于密钥的保密性,PUF 不需要存储密钥,不存在密钥被窃取的风险。此外,任何针对 PUF 的物理攻击,都会改变 PUF 的内在固有特征来彻底改变 PUF 的响应。
3、PUF的分类:大致可分为强 PUF 和弱 PUF。强 PUF 能够抵抗任何碰撞和重放攻击。一般会在 PUF 上再加一层封装,提高安全性。
4、PUF 的评估标准:PUF 的不可克隆性表明它不能被软件模型替换而生成相同的响应,且其自身必须难以被复制。PUF 应当具有攻击弹性,即当 PUF 被控制时,不能按照攻击者的意愿生成正确的响应。PUF 的错误率应该为 0。PUF 还应具有不可预见性、扩散性。
5、常见的 PUF 架构:
6、PUF 的应用:
1、概述:TRNG 是一种硬件设备或软件程序,用于生成真正的随机数,这些随机数是通过物理过程或环境噪声等随机事件产生的。TRNG 生成的随机数具有高度的不可预测性和不可重复性,因此在密码学、模拟和模型验证等领域中被广泛应用。与伪随机数生成器(PRNG)不同,TRNG 不依赖于算法或种子,因此更加安全可靠。
2、TRNG 的评估标准:主要取决于随机性,应该不具有可预测性。
3、常见的 TRNG 架构:
4、TRNG 的应用:与 PUF 类似
本章内容重复过多,不再展开。
基于密钥的软件 IP 混淆。
同样为基于密钥的软件 IP 混淆。
3、指令集混淆:每个处理器都有底层指令集架构(Instruction Set Architecture,ISA),ISA 描述命令和数据的类型、地址空间和支持的操作码。ISA 充当计算机软件和硬件交互的媒介。
4、布局级混淆:硬件混淆方法。
5、PCB混淆:在板上插入置换块,密钥正确时才能正常工作。
硬件混淆中的逻辑锁定(Logic Locking)通过在设计中引入附加逻辑门和控制信号,使得仅有授权用户能够正确配置电路,从而增强了硬件的安全性。
逻辑锁定技术已知攻击威胁:
① 密钥致敏攻击(Key Sensing Attack是一种密码分析攻击方法,旨在通过监测或感知目标系统的电磁辐射、功耗、电流波形等物理信号,以获取密钥或密码信息。这种攻击方法利用目标系统在执行密码操作时产生的物理信号的微小变化来推断密码或密钥的值。密钥致敏攻击通常需要专业的实验设备和技能,因此属于高级威胁。
以下是密钥致敏攻击的一般步骤和特点:
密钥致敏攻击的成功取决于多个因素,包括目标系统的物理特性、密码算法的实现方式以及攻击者的技能水平。防御此类攻击的方法包括物理层面上的安全措施,如屏蔽、隔离和干扰物理信号,以减少泄漏的信息。
② 布尔可满足性攻击(Boolean Satisfiability Attack,通常缩写为 SAT 攻击)能够有效的从混淆设计中发现正确密钥。它旨在通过求解布尔可满足性问题来破解密码或攻击密码系统。SAT 攻击通常用于密码破解、硬件验证和形式方法等领域。
SAT 攻击的基本思想是将密码或密码系统的特定属性表示为布尔方程,然后使用 SAT 求解器来查找方程的解。如果方程有解,那么找到的解可能对密码进行破解或攻击密码系统具有重要意义。
以下是 SAT 攻击的一般步骤和特点:
SAT 攻击的有效性取决于多个因素,包括密码系统的复杂性、方程的表示方式和 SAT 求解器的性能。一些密码系统和应用程序使用形式方法进行验证,以抵御 SAT 攻击,这些方法可以帮助发现并修复潜在的布尔方程漏洞。
需要注意的是,SAT 攻击通常需要大量计算资源,特别是对于复杂的密码系统。因此,合理选择密码算法、密码长度和密码策略等安全实践可以减小 SAT 攻击的风险。
基于门伪装的混淆(Gate-Level Obfuscation)通过在电路中引入伪装门(Obfuscation Gates)来干扰和困惑攻击者,使其难以理解电路的真实功能和结构。
基于有限状态机(Finite State Machine,FSM)的硬件混淆是一种用于增强硬件电路安全性的技术。它的基本思想是通过引入多余的状态、转移和控制逻辑,使电路的行为变得模糊和复杂,从而增加攻击者分析和逆向工程的难度。以下是有关基于 FSM 的硬件混淆的一些关键概念和原理:
有限状态机(FSM):有限状态机是一种用于描述电路行为的形式化模型,它包括一组状态、输入和状态转移函数。在硬件设计中,FSM 通常用于控制电路的行为。
硬件混淆:硬件混淆是指在硬件电路中引入额外的逻辑、状态或控制,以增加电路的复杂性和难以理解性,从而提高安全性。
混淆技术:基于 FSM 的硬件混淆技术通常包括以下方法:
安全性增强:基于 FSM 的硬件混淆可以增强电路的安全性,因为攻击者需要更多的时间和资源来理解电路的行为和逻辑。这种混淆技术适用于各种硬件安全应用,如防止逆向工程、防止硬件仿制和保护知识产权等。
性能影响:硬件混淆可能会导致电路性能下降,因为引入了额外的逻辑和状态。因此,在设计时需要权衡安全性和性能。
本章个人觉得没意思。
本章内容重复过多,不再展开。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。