CPU基础知识.doc

上传人:hw****26 文档编号:3219723 上传时间:2019-05-26 格式:DOC 页数:16 大小:78.50KB
下载 相关 举报
CPU基础知识.doc_第1页
第1页 / 共16页
CPU基础知识.doc_第2页
第2页 / 共16页
CPU基础知识.doc_第3页
第3页 / 共16页
CPU基础知识.doc_第4页
第4页 / 共16页
CPU基础知识.doc_第5页
第5页 / 共16页
点击查看更多>>
资源描述

1、 CPU 基础知识 第一部分 CPU 基础知识一、为什么用 CPU 卡IC 卡从接口方式上分,可以分为接触式 IC 卡、非接触式 IC 卡及复合卡。从器件技术上分,可分为非加密存储卡、加密存储卡及 CPU 卡。非加密卡没有安全性,可以任意改写卡内的数据,加密存储卡在普通存储卡的基础上加了逻辑加密电路,成了加密存储卡。逻辑加密存储卡由于采用密码控制逻辑来控制对 EEPROM 的访问和改写,在使用之前需要校验密码才可以进行写操作,所以对于芯片本身来说是安全的,但在应用上是不安全的。它有如下不安全性因素:1、密码在线路上是明文传输的,易被截取;2、对于系统商来说,密码及加密算法都是透明的。3、逻辑加

2、密卡是无法认证应用是否合法的。例如,假设有人伪造了 ATM,你无法知道它的合法性,当您插入信用卡,输入 PIN 的时候,信用卡的密码就被截获了。再如 INTENET 网上购物,如果用逻辑加密卡,购物者同样无法确定网上商店的合法性。正是由于逻辑加密卡使用上的不安全因素,促进了 CPU 卡的发展。CPU 卡可以做到对人、对卡、对系统的三方的合法性认证。二、 CPU 卡的三种认证CPU 卡具有三种认证方法:持卡者合法性认证PIN 校验卡合法性认证内部认证系统合法性认证外部认证持卡者合法性认证:通过持卡人输入个人口令来进行验证的过程。系统合法性认证(外部认证)过程:系统 卡,送随机数 X用指定算法、密

3、钥对随机数加密用指定算法、密钥解密 Y,得结果 Z比较 X,Z,如果相同则表示系统是合法的;卡的合法性认证(内部认证)过程:系统 卡送随机数 X用指定算法、密钥对随机数加密用指定算法、密钥解密 Y,得结果 Z比较 X,Z,如果相同则表示卡是合法的;在以上认证过程中,密钥是不在线路上以明文出现的,它每次的送出都是经过随机数加密的,而且因为有随机数的参加,确保每次传输的内容不同。如果截获了没有任何意义。这不单单是密码对密码的认证,是方法认证方法,就象早期在军队中使用的密码电报,发送方将报文按一定的方法加密成密文发送出去,然后接收方收到后又按一定的方法将密文解密。通过这种认证方式,线路上就没有了攻击

4、点,同时卡也可以验证应用的合法性;但是因为系统方用于认证的密钥及算法是在应用程序中,还是不能去除系统商的攻击性。在此,我们引进了 SAM 卡的概念。SAM 卡是一种具有特殊性能的 CPU 卡,用于存放密钥和加密算法,可完成交易中的相互认证、密码验证和加密、解密运算,一般用作身份标志。由于 SAM 卡的出现,我们有了一种更完整的系统解决方案。在发卡时,我们将主密钥存入 SAM 卡中,然后由 SAM 卡中的主密钥,对用户卡的特征字节(如:应用序列号)加密生成子密钥,将子密钥注入用户卡中。由于应用序列号的唯一性,使每张用户卡内的子密钥都不同。密钥一旦注入卡中,则不会在卡外出现。在使用时,由 SAM

5、卡的主密钥生成子密钥存放在 RAM 区中,用于加密、解密数据。上述的认证过程就成为如下形式:系统合法性认证(外部认证)过程:SAM 卡 系统 卡送随机数 XSAM 卡生成子密钥对随机数加密解密 Y,得结果 Z比较 X,Z,如果相同则表示系统是合法的;卡的合法性认证(内部认证)过程:SAM 卡 系统 卡送随机数 X用指定算法、密钥对随机数加密SAM 卡解密 Y,得结果 Z比较 X,Z,如果相同则表示卡是合法的;这样在应用程序中的密钥,就转移到了 SAM 卡中,认证成为卡卡的认证,系统商不再存在责任。三、 线路保护卡与外界进行数据传输时,若以明文方式传输,数据易被载获和分析。同时,也可以对传输的数

6、据进行窜改,要解决这个问题,CPU 卡提供了线路保护功能。线路保护分为两种,一是将传输的数据进行 DES 加密,以密文形式传输,以防止截获分析。二是对传输的数据附加 MAC(安全报文鉴别码),接收方收到后首先进行校验,校验正确后才予以接收,以保证数据的真实性与完整性。四、 硬件结构图EEPROM 用于存放用户数据;ROM 中用于存放 COS 操作系统,而 RAM 区中用于存放 COS 运行时的中间变量。COS(chip operation system),就是芯片操作系统,类似于 DOS 和 WINDWOS,没有 COS 的 CPU 卡就象没有 DOS 和 WINDOWS 的 PC 机一样无法

7、使用。COS 是在芯片出厂时由芯片供应商固化到 ROM 区的,这个过程就称之为掩膜。COS 是 CPU 卡的核心部分,它和硬件一起实现 CPU 卡的安全性。第二部分 SmartCOS 简介SmartCOS 是由明华公司自主开发的芯片操作系统,于 1999 年 6 月通过了人行认证。COS 主要分为四部分:一、 SMARTCOS 的文件系统CPU 卡是以文件方式来管理 SmartCOS 支持如下文件系统。1、文件可分为 MF 文件、DF 文件、EF 文件MF:主控文件,是整个文件系统的根,是唯一的,相当于根目录;DF:专用文件,相当于子目录,可用于存储某个应用的所有文件,DF 下不可再建立 DF

8、。一个 DF 可以是一个应用,也可以多个 DF 用于同一个应用。EF:基本文件,用于存储各种应用数据和管理信息。2、EF 从存储内容上分为两种:安全基本文件:用于存放密钥,每个目录下只能建立一个安全基本文件,密钥文件不能通过文件选择来选取,密钥内容不可以读出,但在满足条件时可使用和修改。工作基本文件:用于存放应用的实际数据,个数及大小只受空间限制。在满足条件时可读写。3、基本文件结构基本文件的结构可分为以下四种:二进制文件:数据以字节为单位进行读写,每次读写的长度不能超过 110 字节;可用于存储无序的数据。线性定长记录文件:每条记录为固定长度,可以通过记录号访问记录,记录范围不超过 254;

9、每条记录的长度不超过 110 字节,密钥文件就是线性定长记录文件,其每条记录长度固定为 25 外字节。可用于存放有规律定长的数据。线性变长记录文件:每条记录的长度可以各不相同,但最大长度不能超过 110字节,可以通过记录号来访问。循环定长记录文件结构:相当于一个环形记录队列,按照先进先出的原则存储,最新写入的记录号为 1,上一次写入的记录号为 2,以此类推,记录写满后自动覆盖最早的记录。4、文件结构图在 MF 下可建立 EF 和 DF;在 DF 下不可再建立 DF,只能建立 EF;KEY 文件:用于控制 MF 下的文件的创建及读写数据文件密钥文件:用于控制 DF 下的文件的创建及访问 数据文件

10、(如钱包文件等)5、文件空间的计算MF 的头文件长度为 10 个字节+文件名长度(5-16 个字节)DF 的头文件长度为 10 个字节+文件名长度EF 文件所占空间:定义记录和循环记录文件的空间=文件头空间(10 字节)+记录数*记录长度变长记录结构文件的空间=文件头空间(10 个字节)+建立时申请的空间密钥文件所占空间=文件头空间(10 个字节)+密钥个数*25 个字节钱包文件的空间=文件头(10 个字节)+文件体(17 个字节)存折文件的空间=文件头(10 个字节)+文件体(20 个字节)建立了文件系统,那么怎样才能保证文件的安全,下面讲述安全系统。二、SMARTCOS 的安全系统1、 状

11、态机即安全状态:是指卡在当前所处的一种安全级别,具有(0-F)16 种安全状态。复位后自动设为 0,当前应用的安全状态在被成功地选择或复位后自动清 0。安全状态的改变必须通过密钥的认证来实现。*只有当前目录下的 PIN 核对和外部认证才能改变安全状态。2、 安全属性即访问权限访问权限是在建立文件的时候指定的。它是一个区间的概念,例如,描述一个文件的读权限为 XY,则表示当前应用的状态机(安全状态)M 必须满足 X=M=Y。如读权限设为 2F,就表示当前的状态机(安全状态)达到 2 及以上就可以读这个文件。3、 密钥与安全状态的关系每个密钥在建立的时候都定义了后续状态,即通过密钥认证后能达到的安

12、全状态,在各种密钥中,只有 PIN 认证和外部认证才能改变当前目录的安全状态。4、安全状态与访问权限的关系 (安全状态)使用权限-密钥的使用-后续状态-文件读写取限5、安全状态只在当前目录下有效,一旦选择别的应用,状态机自动跳到最低权限 0。各个目录之间的安全都是独立的。四、复位应答符号 字节内容 内容解释TS 3B 正向约定T0 6C TB1 和 TC1 存在,历史字符为 12 个TB1 00 无需额外的编程电压TC1 02 需 2 个额外的保护时间T1-TC XX 历史字符SMARTCOS 历史字符的特定意义:符号 字节内容 内容解释T1 XX SMARTCOS 的版本号T2 XX 卡状态

13、字节T3 86 明华公司 IC 卡制造机构标识号T4 38 T5-TC XX 卡唯一序号卡状态字节描述如下:B7 B6 B5 B4 B3 B2 B1 B0 状态011 XXX XXX 001 XXX XXX XXX XXX 该卡已初始化,并成功该卡未被初始化该卡初始化过程被锁0 0 0 0 0 0 X X 该卡未个人化0 0 1 0 X X X X 该卡个人化未结束0 1 1 0 X X X X 该卡个人化成功0 0 0 1 X X X X 该卡个人化没有成功,卡被锁0 1 1 1 X X X X 该卡个人化成功,卡被锁。卡片状态字节中有关于初始化、个人化的概念,我们从卡片的生命周期来看这两个

14、概念,卡片的生命周期一般包括如下几部分:芯片 芯片生产商掩膜 COS 芯片生产商封装成卡片 卡片生产商卡片的初始化(COS 启用) 卡片生产商传输密码保护卡片的个人化 卡片发行商 卡片的使用 卡片的使用者卡片的回收 卡片发行商初始化过程就是激活 COS,定义 COS 版本,经过这个过程 COS 才可以使用。个人化过程是指建立文件,写入用户数据等操作。卡片生产商在进行初始化后交付卡片发行商使用时,有传输密码保护。IC 卡必须支持 T=0 或 T=1 的协议,但不是同时支持这两种协议,而终端则必须同时支持 T=0 和 T=1 的协议。T=0 通讯协议是异步半双工字符传输协议;T=1 通讯协议是异步

15、半双工块传输协议;在 ISO7816-3 标准中,具体规定了这两种协议;IC 卡所用的协议在 TD1 中指定,如果在复位应答信息中没有 TD1,则表示用 T=0 的协议进行通讯。在复位应答后,IC 卡和终端之间即用 IC 卡指定的协议进行通讯。五、 指令解析在此,我们以一个电子钱包的应用为例,讲解 SmartCOS 的指令。1、文件结构:在人行规范中定义了如下文件结构:1)电子存折 ED/电子钱包 EP 应用的公共应用基本数据文件文件结构:文件标识(SFI) 21(十进制)文件类型 透明文件大小 30文件存取控制 读=自由 改写=需要安全信息字节 数据元 长度1-8 发卡方标识 89 应用类型

16、标识 110 应用版本 111-20 应用序列号 1021-24 应用启用日期 425-28 应用有效日期 429-30 发卡方自定义 FCI 数据 22)电子存折 ED/电子钱包 EP 应用的持卡者基本数据文件文件标识(SFI) 22(十进制)文件类型 透明文件大小 39文件存取控制 读=自由 改写=需要安全信息字节 数据元 长度1 卡类型标识 12 本行职工标识 13-22 持卡人姓名 2023-38 持卡人证件号码 1639 持卡人证件类型 13)电子存折 ED 交易明细文件文件标识(SFI) 24(十进制)文件类型 循环文件存取控制 读=PIN 保护改写=不允许记录大小 23字节 数据

17、元 长度1-2 ED 或 EP 联机或脱机交易序号 23-5 透支限额 36-9 交易金额 410 交易类型标识 111-16 终端机编号 617-20 交易日期(终端) 421-23 交易时间(终端) 32、安全设计如下:1) 核对口令后可以进行外部认证;2) 01 号外部认证密钥用于控制电子钱包的圈存;3) 02 号外部认证密钥用于控制基本文件的修改、密钥的修改;4) 核对口令后可以进行消费。KEY 文件安装如下密钥:KEY 类型 标识 KID 使用权限 后续状态 该 KEY 作用描述0B 01 0F 1 个人密码 PIN,用于个人密码校验08 01 11 2 外部认证密钥,用于电子钱包圈

18、存08 02 1F F 外部认证密钥,用于基本文件的修改、密钥的修改01 01 22 无 圈存密钥,用于产生圈存 MAC00 02 01 无 电子钱包消费密钥,用于产生钱包消费 MAC02 01 03 无 TAC 密钥,用于产生圈存、消费、取现、修改透支限额的 TAC05 01 33 无 应用维护密钥,用于产生应用锁定、应用解锁、卡片锁定、卡片锁定和读、更新二进制、记录命令的 MAC3、指令序列:1) 发卡过程,在卡上建立文件及安装密钥Create MF APDU 命令:80(CLA) e0(INS) 00(P1) 00(P2) 18(Lc) ff ff ff ff ff ff ff ff (

19、8 字节传输代码) ff (在 MF 下建立文件的安全属性) 01(目录文件的短文件标识符) 31 50 41 59 2e 53 59 53 2e 44 44 46 30 31(创建的文件名称)Create DF APDU 命令:80(CLA)E0(INS)01(P1) 00(P2) 0D (Lc 信息长度)2F 01(文件标识符)ff(建立文件权限) 00(COS 保留) A0 00 00 00 03 86 98 07 01(ADF 名称)建立 DF 下密钥文件Create File APDU 命令:80(CLA) E0(INS)02(P1) 00(P2) 07(文件信息长度) 6F 02(

20、密钥文件标识 )05(文件类型) FF(增加新密钥的权限)00(COS 保留) 09(记录数) 19(记录长度):安装个人密码 PIN Write Key APDU 命令:80(CLA) E8(INS) 00(P1) 00(P2) 0A (密钥信息长度)01(密钥标识符)01(密钥版本号) 00(算法标识)0B(密钥类型)0F(使用权限) 01(后续状态)2F(修改权限)33 (错误计数器)12 34(个人密码)安装外部认证密钥(DEAK)Write Key APDU 命令:80 (CLA)E8(INS) 00(P1) 00(P2) 18(密钥信息长度) 01(密钥标识符) 01(密钥版本号)

21、 00(算法标识) 08(密钥类型) 11(使用权限) 02(后续状态) FF(修改权限) 33 (错误计数器)XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX(密钥内容)安装外部认证密钥(DEAK)Write Key APDU 命令:80 (CLA)E8(INS) 00(P1) 00(P2) 18(密钥信息长度) 02(密钥标识符) 01(密钥版本号) 00(算法标识) 08(密钥类型) 1F(使用权限) 0F(后续状态) FF(修改权限) 33 (错误计数器)XX XX XX XX XX XX XX XX XX XX XX XX XX XX X

22、X XX(密钥内容)。安装电子钱包 EP 的消费密钥 DPK。Write Key APDU 命令:80 (CLA)E8(INS) 00(P1) 00(P2) 18(密钥信息长度) 02(密钥标识符) 01(密钥版本号) 00(算法标识) 00(密钥类型) 01(使用权限) 00(后续状态) FF(修改权限) 00 (错误计数器)XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX(密钥内容)安装电子钱包的圈存密钥 DLK Write Key APDU 命令:80 (CLA )E8(INS) 00(P1) 00(P2) 18(密钥信息长度) 01(密钥标

23、识符) 01(密钥版本号) 00(算法标识) 01(密钥类型) 22(使用权限) 00(后续状态) FF(修改权限) 00 (错误计数器)XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX(密钥内容)。安装消费/取现中用来生成 TAC 的密钥 DTKWrite Key APDU 命令:80 (CLA)E8(INS) 00(P1) 00(P2) 18(密钥信息长度) 01(密钥标识符) 01(密钥版本号) 00(算法标识) 07(密钥类型) 0F(使用权限) 00(后续状态) FF(修改权限) 00 (错误计数器)XX XX XX XX XX XX X

24、X XX XX XX XX XX XX XX XX XX(密钥内容)安装应用维护密钥 DAMKWrite Key APDU 命令:80 (CLA)E8(INS) 00(P1) 00(P2) 18(密钥信息长度) 01(密钥标识符) 01(密钥版本号) 00(算法标识) 05(密钥类型) 0F(使用权限) 00(后续状态) FF(修改权限) 00 (错误计数器)XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX(密钥内容)建立公共应用基本文件Create File APDU 命令:80(CLA) E0(INS) 02(P1) 00(P2) 07(Lc

25、信息长度) 00 15 (文件标识符)00 (二进制文件类型)0F(读权限)FF(更新权限)00 1e(文件长度)建立持卡者基本数据文件Create File APDU 命令:80(CLA) E0(INS) 02(P1) 00(P2) 07(文件信息长度) 00 16 (文件标识符)00(二进制文件类型)0F(读权限)FF(更新权限) 00 27(文件长度)建立交易明细文件Create File APDU 命令:80(CLA) E0(INS) 02(P1) 00 (P2)07 (文件信息长度)00 18(文件标识符) 03(循环记录文件类型)1F(读权限)10(更新权限)0a 17(文件长度)

26、写公共应用基本数据文件Update Binary APDU 命令:00(CLA)D6(INS)95(P1)00(P2)1E(信息长度)A0 00 00 00 03 00 00 01(发卡方标识)03(应用类型标识)01(应用版本) 00 00 19 98 08 15 00 00 00 01(应用序列号) 20 00 10 01 (应用启用日期)20 02 12 31(应用有效日期)55 66 (发卡方自定义 FCI 数据)写卡持有者基本数据文件Update Binary APDU 命令:00(CLA) D6(INS) 96(P1) 00(P2) 27(文件信息长度) 00(卡类型标识) 00(

27、本行职工标识) 53 41 4d 50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00(持卡人姓名) 31 31 30 31 30 38 37 30 30 33 31 37 31 38 39 00(持卡人证件号码) 00 (持卡人证件类型)建立电子钱包 EP 文件Create File APDU 命令:80(CLA)E0(INS)02(P1)00(P2)07(Lc)00 01(文件标识符)06(文件类型)00(权限1)00(权限 2)00(LEN1)00(LEN2)结束建立应用(DF)Create End APDU 命令:80(CLA) E0(I

28、NS) 01(P1) 01(P2) 02 (文件标识符长度)2F 01(文件标识符)结束建立 MF Create End APDU 命令:80(CLA) E0(INS) 00(P1) 01(P2) 02 (文件标识符长度)3F 00(文件标识符)2) 交易过程在此,我们以圈存过程及消费过程为例:A、 圈存将金额存入卡中在圈存前必须先校对个人口令及 01 号外部认证;选择应用Select FileAPDU 命令:00(CLA)A4(INS)00(P1)00(P2)02(长度)2F 01(文件标识符)校验 PINVerify APDU 命令:00(CLA) 20(INS) 00(P1) 00(P2

29、) 02(长度) 12 34(PIN)外部认证:取随机数Get Challenge APDU 命令:00(CLA) 84(INS) 00(P1) 00(P2) 08用 01 号外部认证密钥对随机数进行 3DES 加密;外部认证External Authentication APDU 命令:00(CLA) 82(INS) 00(P1) 01(P2) 08(长度)XX XX XX XX XX XX XX XX (加密后的随机数)圈存:初始化圈存Initalize For Load APDU 命令:80(CLA) 50(INS) 00(P1) 02(P2) 0B(长度) 01(密钥标识符) 00 0

30、0 10 00(交易金额) 00 00 00 00 00 01(终端机编号)如果初始化圈存成功,则应答数据域内容:说明 长度(字节)电子存折或电子钱包旧余额 4电子存折或电子钱包联机交易序号 2密钥版本号 1算法标识 1伪随机数 ICC 4MAC1 4用圈存对应答内容(4 字节伪随机数 ICC+2 字节电子存折或电子钱包联机交易序号+80 00)进行 3DES 加密生成过程密钥;圈存Credit For LoadAPDU 命令:80(CLA)52(INS)00(P1)00(P2)0B(LC)YY YY MM DD (交易日期)HH MM SS (交易时间)XX XX XX XX(MAC2)MA

31、C2 的计算:初始值:00 00 00 00 00 00 00 00密钥:上面生成的过程密钥生成 MAC2 的数据:00 00 10 00(4 字节交易金额)02(交易类型标识)00 00 00 00 00 01(6 字节终端机编号)YY YY MM DD (交易日期)HH MM SS (交易时间)如果圈存交易成功,电子钱包文件的联机交易序号加 1,交易金额加在电子钱包的余额上,并且在交易明细文件中增加一条记录。B、消费过程:在消费之前先校验 PIN:校验 PINVerify APDU 命令:00(CLA) 20(INS) 00(P1) 00(P2) 02(长度) 12 34(PIN)初始化消

32、费Initialize For Purchase APDU 命令:80(CLA) 50(INS) 01(P1) 02(P2) 0B(长度) 01(消费密钥标识符)00 00 00 01(消费金额)00 00 00 00 00 01(终端机编号)如果初始化消费成功,则应答数据域内容:说明 长度(字节)电子存折或电子钱包旧余额 4电子存折或电子钱包联机交易序号 2透支限额 3密钥版本号 1算法标识 1伪随机数 ICC 4消费Debit For PurchaseAPDU 命令:80(CLA)54(INS)01(P1)00(P2)0F(LC)YY YY YY YY (终端交易序号)YY YY MM D

33、D(终端交易日期)HH MM SS (交易时间)XX XX XX XX(MAC1)用消费/取现密钥对(4 字节伪随机数 ICC+2 字节电子存折或电子钱包联机交易序号+终端交易序号的最后 2 个字节)进行 3DES 加密生成过程密钥;MAC1 的计算:初始值:00 00 00 00 00 00 00 00 00(8 个字节)密钥:过程密钥生成 MAC 码的数据:4 字节交易金额+1 字节交易类型标识+6 字节终端机编号+4 字节终端交易日期+3 字节终端交易时间如果消费交易成功,电子钱包文件的联机交易序号加 1,电子钱包减去交易金额,并且在交易明细文件中增加一条记录。六、其它指令解析以下指令在

34、使用过程中有较多的疑问,解释如下:1、密钥的密文安装过程:在 3.2 版本中对密钥的密文安装会有所不同,它的过程如下:1)建立密钥文件:建立密钥文件时,有关的文件信息如下表:Lc 有关文件信息07 文件标识符 (2 字节) 文件类型 (1 字节) 权限 1 (1 字节) 权限 2(1 字节) Len1(1 字节) Len2 (1 字节)权限 1 指明增加新密钥的权限,权限 2 指明用何种方式安装密钥。权限 2 设为 80h,表示以密文方式安装。2)使用上一层的应用主控密钥(SmartCOS 3.2 中规定:密钥标识为 01 的外部认证密钥为应用主控密钥)对密钥信息进行加密(密钥信息为:明文密钥

35、信息长度+密钥信息+80 00 00 00 00 00 00),对密钥信息的加密方式按标准的 Triple DES 或 Single DES,如果密钥为 16 字节,则用Triple DES 加密,如果为 8 字节,则用 Single DES 加密。3)生成 MAC 码,初始值为:4 个字节的随机数+00 00 00 00,生成 MAC 码的数据为:5 个命令头+加密后的密钥信息。4)其它密钥的密文安装都使用应用主控密钥加密安装。5)密文安装 MF 下的应用主控密钥时,则使用卡片的传输密钥进行安装。2、采用安全报文写二进制文件1) 在建立二进制文件时,文件类型的第 4 位为 1 表示采用安全报文。2)LC 为写入的字节数+43)安全报文(MAC)的计算:

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育教学资料库 > 精品笔记

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。