金融行業(yè)密鑰基礎(chǔ)知識_第1頁
金融行業(yè)密鑰基礎(chǔ)知識_第2頁
金融行業(yè)密鑰基礎(chǔ)知識_第3頁
金融行業(yè)密鑰基礎(chǔ)知識_第4頁
金融行業(yè)密鑰基礎(chǔ)知識_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、金融行業(yè)密鑰基礎(chǔ)知識1 密鑰管理SJL05 金融數(shù)據(jù)加密機采用三級密 鑰管理方法(遵循 ANSI X9.17 標(biāo)準(zhǔn)),其密 鑰層 次如下圖 :圖 1.1 密 鑰 層 次1.1 各種密鑰在密鑰層次中的作用1.1.1 本 地主密鑰( Local Master Key )又稱 主 機主 密 鑰( Master Key ),主 要 用來 保 護它 下 一級 的 區(qū) 域 主 密 鑰( Zone Master Key )( 銀 行 主 密 鑰( Bank Master Key )、 終端 主密 鑰( Terminal Master Key) )。當(dāng)區(qū) 域主 密鑰 需要導(dǎo)出或保 存到 加密 機以外時 ,通

2、常需 要用本地 主密 鑰( 或衍生 的密 鑰 對 )加 密 區(qū) 域 主 密 鑰 。這 一 點 在 RACAL 系 列 的 加 密 機 中 有 最 好 的 體現(xiàn),在RACAL加密機中,區(qū)域主密鑰都由主機主密鑰加密存放 于主 機數(shù) 據(jù)庫 中, 加密 機不 保存區(qū)域 主密 鑰。1.1.2 區(qū) 域主密鑰主要有兩種, 一種是金卡中心與成員行之間的傳輸密鑰(通 常稱為銀行主密鑰),另一種是成員行主機與ATM或POS之間的 傳輸密鑰(通常稱為終端主密鑰)。它主要用來加密下一層次的數(shù) 據(jù)密鑰(如:PIK、MAK)。1.1.3 數(shù) 據(jù)加密密鑰( Date Encrypt Key )又稱工作密 鑰( Workin

3、g Key ),是 最終 用于加密傳輸 數(shù)據(jù) 的 密 鑰 , 其 上 層 兩 種 密 鑰 可 以 稱 為 密 鑰 加 密 / 交 換 密 鑰 ( Key Encrypt/Exchange Key , 簡 稱 KEK)。 數(shù) 據(jù) 密 鑰 一 般 分 為 兩 種 , 一種 是用 來加 密 PIN 的 密鑰 稱為 PIK( Pin Key ), 另一 種是用 來 計 算 MAC 的 密 鑰 稱 為 MAK( Mac Key )。1.2 各種密鑰的注入與分發(fā)1.2.1 本 地主密鑰通常由各成 員行( 或下 屬機 構(gòu))采 用加密 機前 面板 上的鍵盤 或直 接通 過 IC 卡 注入到加密機 中, 各成員

4、行 的本 地主 密鑰各不 相同。一般本地主密鑰的注入都由成員行的三位高層領(lǐng)導(dǎo)注入, 三人 分別保 存一部 分密鑰( 密鑰分 量 Component ),三 部 分密 鑰 可以 在加 密機 中以一定 的算 法( 異或)合 成 為最終的本地 主密 鑰 (或 通過衍 生( Derive )生成 密鑰對 )。 本 地主 密 鑰在 注 入加 密 機時 通過 IC 卡進行備 份,當(dāng) 加密 機密鑰丟 失時 可用 IC 卡 來恢復(fù)。1.2.2 區(qū) 域主密鑰(銀行主密鑰)一般由上級 機構(gòu)( 金卡中心)產(chǎn) 生并 分發(fā)。上 級機構(gòu)( 金卡 中 心 )產(chǎn) 生 并 保 存 下 屬 機 構(gòu)( 各 成 員 行 )的 區(qū) 域

5、 主 密 鑰( 銀 行 主 密 鑰 ),同 時 將 密 碼 分 量 的 明 文 或 IC 卡 的 形 式 將 區(qū) 域 主 密 鑰( 銀 行主 密鑰 ) 下發(fā) 給 下屬 機構(gòu) ( 各成 員 行)。下屬 機構(gòu)( 成員行 ) 將密鑰分量注入到加密機內(nèi),如果區(qū)域主密鑰(銀行主密鑰)是 保存到本機構(gòu)的主機數(shù)據(jù)庫中,則將區(qū)域主密鑰(銀行主密鑰) 注入到加密機后,加密機顯示本地主密鑰加密的區(qū)域主密鑰(銀 行主密鑰)密文,由銀行工作人員將其錄入主機數(shù)據(jù)庫。銀行主 密鑰通常由兩人注入,各自保存一部分。區(qū)域主密鑰中的終端主密鑰由各成員行自己注入到加密機 中,同時下裝到ATM和POS中,由于各成員行的ATM和POS

6、數(shù)量都較大, 一般是所有ATM和POS共用一個終端主密鑰或是一組 ATM和POS共用一個 終端主密鑰。1.2.3數(shù)據(jù)密鑰分為兩種,一般不在加密機中保存。一種是金卡中心與成員 行之間的數(shù)據(jù)密鑰,一種是成員行主機與ATM或POS之間的數(shù)據(jù) 密鑰。前一種數(shù)據(jù)密鑰可以由金卡中心主動向下分發(fā),也可以由 成員行主動向上申請。數(shù)據(jù)密鑰在傳輸過程中由金卡中心與成員 行之間共享的銀行主密鑰加密,成員行接收到數(shù)據(jù)密鑰后都需要 驗證其正確性后才會啟用新的數(shù)據(jù)密鑰。后一種數(shù)據(jù)密鑰每天由 ATM或POS簽到申請,由加密機隨機產(chǎn)生,并由終端主密鑰加密 傳送。金卡中心與成員行及其終端(ATM、POS)之間的密鑰關(guān)系如下 圖

7、:BMK金卡中心HSMA A(PIK1) BMK(DATA)PIKI、MAK1(MAK1)BMK圖 6.2 金 卡 中 心 、 成 員 行 、 終 端 之 間 密 鑰 關(guān) 系 示 意圖 6.2 中 各 符 號 的 含 義 如 下 :BMK:銀行主密鑰TMK:終端主密鑰PIK1: 金 卡中心與 成員 行之 間的 PIKMAK1:金卡中心與成員行之間的MAKPIK2:成員行與終端(ATM、POS)之間的PIKMAK2:成員行與終端(ATM、POS)之間 的MAKDATA: 傳 輸 的 數(shù) 據(jù)(PIK1) bmk 被 BMK加密的 PIK12 術(shù)語解釋2.1 本地主密鑰LMK Local Maste

8、r Key,本地主密鑰,又稱為文件主密鑰 (MDS)、 加密機主密鑰、主機主密鑰,在密鑰體系中處于最上層,以明文存儲 在加密機中,加密保護存儲在加密機外的其它密鑰。LMK 一般為雙長度密鑰,也有三倍長度密鑰。2.2 區(qū)域主密鑰ZMK Zone Master Key,區(qū)域主密鑰,在 RACAI加密機中,指主 機與主機間的傳輸主密鑰。在密鑰體系中處于中間層,可以通過 LMK 加密后存儲在主機數(shù)據(jù)庫中,也可直接存儲在加密機中,一般為雙長度,也有單長度和三倍長度密鑰。用于主機間動態(tài)分發(fā)工作密鑰時對 其進行加密保護BMK Bank Master Key,銀行主密鑰,同 ZMK多用于金卡聯(lián)網(wǎng), 在金卡聯(lián)網(wǎng)

9、中,有時POS和銀行主機之間也使用 BMKMM: Member Master Key,成員行主密鑰,同 ZMK多用于金卡 聯(lián)網(wǎng)SMK: Shared Master Key ,共享主密鑰,同 ZMK.2.3 數(shù)據(jù)加密密鑰TMK Terminal Master Key ,終端主密鑰,在 RACAI加密機中, 指主機與終端ATM/P03間的傳輸主密鑰,在密鑰體系中處于中間層, 可以通過LMK加密后存儲在主機數(shù)據(jù)庫中,也可直接存儲在加密機中, 現(xiàn)在一般為單長度,也有雙長度和三倍長度。PIK: PIn Key , PIN 密鑰,專用于加密保護 PIN 的工作密鑰,在 密鑰體系中處于最下層,一般通過LMK

10、和ZMK/TMK加密后存儲在數(shù)據(jù) 庫中,也有直接存儲在加密機中的,密鑰長度有單長度、雙倍長度和 三倍長度。在 MDS中,當(dāng)采用動態(tài)密鑰時,PIK每12小時或每2500 筆交易就必須更換一次(兩個條件滿足任何一個時更換)PEK Pin Encrypt Key ,PIN 加密密鑰,同 PIK。ZPK Zone Pin Key,區(qū)域PIN密鑰,PIK的一種,專指主機與主 機間的 PIK。TPK Terminal Pin Key,終端PIN密鑰,PIK的一種,專指主機與終端間的 PIKMAK Mac Key, Mac密鑰,專用于計算 MAC的工作密鑰,在密鑰 體系中處于最下層,一般通過LMK和ZMK/

11、TMK加密后存儲在數(shù)據(jù)庫中, 也有直接存儲在加密機中的,密鑰長度有單長度、雙倍長度和三倍長 度。在MDS,當(dāng)采用動態(tài)密鑰時,PIK每12小時或每2500筆交易就必須更換一次(兩個條件滿足任何一個時更換)ZAK Zone Authenticate Key ,區(qū)域認證密鑰, MAK的一種,專 指主機與主機間的 MAK。TAK Terminal AuthenticateKey,終端認證密鑰, MAK的一種,專指主機與終端間的 MAK。DEK:Data Encrypt Key ,數(shù)據(jù)加密密鑰,專用于加密數(shù)據(jù)的密 鑰,在密鑰體系中處于最下層,一般通過LMK和ZMK/TMK加密后存儲在數(shù)據(jù)庫中,也有直接存

12、儲在加密機中的,密鑰長度有單長度、雙倍 長度和三倍長度。在MDS中當(dāng)采用動態(tài)密鑰時,PIK每12小時或每 2500 筆交易就必須更換一次(兩個條件滿足任何一個時更換)ZEK Zone Encrypt Key,區(qū)域加密密鑰,見 DEK專指主機與主 機間的數(shù)據(jù)加密密鑰。TEK Terminal Encrypt Key,終端加密密鑰,見 DEK專指主機 與終端間的數(shù)據(jù)加密密鑰。CVK:Card Verification Key,卡校驗密鑰,專用于校驗卡真?zhèn)蔚墓ぷ髅荑€,在密鑰體系中處于最下層,一般通過LMK加密后存儲在數(shù)據(jù)庫中,也有直接存儲在加密機中,密鑰由兩個單長度密鑰組成, 分別稱為CVKA和CV

13、KB合起來叫CVKpairs , CVL般數(shù)據(jù)年更新一 次。PVK:Pin Verification Key, PIN 校驗密鑰,專指用于計算 PVV的工作密鑰,在密鑰體系中處于最下層,一般通過LMK加密后存儲在數(shù)據(jù)庫中,也有直接存儲在加密機中,密鑰由兩個單長度密鑰組成, 分別稱為PVKA和PVKB合起來叫PVKpairs,CVK-般數(shù)據(jù)年更新一 次。PIN: Personal Identify Number,個人識別碼,即卡密碼,在ANSI9.8 標(biāo)準(zhǔn)中, 規(guī)定為同 4-12 位 0-9 的數(shù)字組成, 在中國一般采用 4 位或 6 位 PIN。PINBlock :PIN 塊,指將 PIN 按

14、指定格式生成的 64 位數(shù)據(jù)。PVV Pin Verification Value,PIN 校驗值,是指當(dāng)采用 ABA算 法校驗PIN時,用PVK對PIN、主帳號等信息加密生成的 4位數(shù)字的 校驗值。PAN: Private Account Number ,主帳號,即卡號或帳號。CVV Card Verification Value,卡校驗值,是指用 CVK對卡號、 服務(wù)碼、 卡有效期進行加密生成的用來校驗卡的合法性的 3 位數(shù)字的 校驗值。CVC Card Verification Code,卡校驗碼,同 CVV 用于 VISA。CVV1 Card Verifycation Value 1,

15、CVV 的一種,與 CVV2相比, 計算參數(shù)中服務(wù)碼不同。CVV的 一種,與 CVV1相比,CVV2:Card Verifycation Value 2,計算參數(shù)中服務(wù)碼不同。ICVV:ICard Verification Value,VISA 中用于 IC 卡的仿磁卡業(yè)務(wù)中,與CVV計算方法同,其服務(wù)代碼為999MAC: Message Authentication Code ,消息認證碼,用于鑒別數(shù)據(jù)真實性的加密結(jié)果,按要求 MAC由32-64位數(shù)據(jù)(8-16個16進制 字符) 組成。TAC: Transaction Authentication Code,交易認證碼,在 IC卡中用于驗證

16、交易正確性。MK Master Key,主密鑰,IC卡業(yè)務(wù)中的各級應(yīng)用主密鑰。2.4 IC 卡業(yè)務(wù)密鑰SK Session Key,過程密鑰/會話密鑰,IC卡業(yè)務(wù)中用主密鑰對 過程數(shù)據(jù)(Session Data)進行3DES加密或其它方式處理得到的單長 度或雙長度密鑰,用于計算 MAC或加密數(shù)據(jù)。HSMK1 主密鑰一, SJL05 金卡版本的 IC 卡密鑰區(qū)中,保留的加 密機主密鑰。HSMK2 主密鑰二, SJL05 金卡版本的 IC 卡密鑰區(qū)中,用于存儲 或讀取次主密鑰時對其進行加密保護。SHSMK 次主密鑰, SJL05 金卡版本的 IC 卡密鑰區(qū)中,對應(yīng)存儲 IC 卡業(yè)務(wù)的各級應(yīng)用主密鑰

17、,也可用于存儲 IC 卡傳輸主密鑰。2.5 密鑰管理體系2.6 涉及的國家(際)標(biāo)準(zhǔn)ANSI X3.92 數(shù)據(jù)加密算法;ANSI X9.9 信息鑒別;ANSI X9.8 PIN 的管理與安全;ANSI X9.17 密鑰管理;ANSI X9.19 零售金融信息的鑒別; 中國人民銀行金融 IC 卡規(guī)范 PBOC;VISA及MASTE對硬件加密機的相關(guān)需求。3 算法介紹3.1 簡述金融數(shù)據(jù)加密機中主要用到的算法為對稱算法,具體如下:1) DES算法2) 3DES算法3) 金融專用算法4) Double-one-way5) Secure Calculation (安全計算)6) 密鑰分散算法7) MA

18、C算法8) TAC算法9) 密鑰校驗值( CheckValue )在以下說明中,有如下簡稱:u8 unsigned char3.2 算法描述DES 算法函數(shù)原型:void des_64by64(u8 in8, u8 out8, u8 k8, int op)3DES 算法函數(shù)原型:void des_64by128(u8 in8, u8 out8, u8 k16, int op)void des_64by192(u8 in8, u8 out8, u8 k24, int op)void des_128by128(u8 in16, u8 out16, u8 k16, int op)void des_1

19、28by192(u8 in16, u8 out16, u8 k24, int op)void des_192by128(u8 in24, u8 out24, u8 k16, int op) void des_192by192(u8 in24, u8 out24, u8 k24, int op) 計算過程:3DES算法中,如果使用雙長度(16字節(jié))密鑰K=( KL|K r),將8 字節(jié)明文數(shù)據(jù)塊加密成密文數(shù)據(jù)塊,如下所示:-1Y = DES(Kl)DES (Kr)DES(KlX)解密的方式如下:X = DES (K l)DES(Kr) DES -1 (K lY)注意:DES為加密,des-1為解

20、密金融專用算法函數(shù)原型:void sms_64by64(u8 in8, u8 out8, u8 k8, int op)void sms_128by128(u8 in16, u8 out16, u8 k16, int op)void sms_64by128(u8 in8, u8 out8, u8 k16, int op)Double-one-way函數(shù)原型:void double_one_way(u8 in8, u8 out8, u8 key16)Double-one-way 是計算臨時密鑰算法的一種,用于雙字節(jié)的密鑰分散單字節(jié)的臨時密鑰,過程如下:(設(shè)MK的左半部份為LK,右半部分為R01)

21、用 LK 對輸入數(shù)據(jù)解密2) 用RK對第1步結(jié)果加密3) 用LK對第2步結(jié)果解密4) 第 3 步結(jié)果與輸入數(shù)據(jù)異或密鑰分散算法函數(shù)原型:void deduce_session_key(u8 in8, u8 out8, u8 k16)void deduce_sub_key(u8 *data, u8 dpk16, u8 mpk16, int times)void deduce_sub_key_single(u8 *data, u8 dpk8, u8 mpk8, int times)簡稱Diversify ,是指將一個雙長度的密鑰 MK對分散數(shù)據(jù)進行處理, 推導(dǎo)出一個雙長度的密鑰DK。推導(dǎo)DK左半部

22、分的方法是:1)將分散數(shù)據(jù)的最右 16 個數(shù)字作為輸入數(shù)據(jù);2)將MK乍為加密密鑰;3)用MK對輸入數(shù)據(jù)進行3DES運算;推導(dǎo)DK右半部分的方法是:1)將分散數(shù)據(jù)的最右 16 個數(shù)字求反,作為輸入數(shù)據(jù);2)將MK乍為加密密鑰;3)用MK對輸入數(shù)據(jù)進行3DES運算。Secure Calculation (安全計算)函數(shù)原型:void secure_calculate(u8 in24, u8 out8, u8 k8)Secure Calculation 是對數(shù)據(jù)運算的一種方法,當(dāng)主密鑰分散出子密鑰, 子密鑰導(dǎo)出臨時密鑰后對輸入的 24 字節(jié)數(shù)據(jù)運算的方法。過程如下:(設(shè)輸入的 24 字節(jié)數(shù)據(jù)從左到

23、右分為 Data1 , Data2, Data3)1)用KEY對Data3進行DES加密;2)用第1步的運算結(jié)果做為 KEY對Datal解密;3)用第 2 步運算結(jié)果與 Data2 異或;4)用第3步運算結(jié)果作為KEY對第1步的運算結(jié)果解密數(shù)據(jù)加密計算函數(shù)原型:int do_icard_des(u8 *in, u8 *out, int *iolen, u8 key8, int op) 當(dāng)明文數(shù)據(jù)需要加密時,它首先要被格式化為以下形式的數(shù)據(jù)塊:明文數(shù)據(jù)的長度,不包括填充字符(LD)明文數(shù)據(jù)填充字符數(shù)據(jù)加密技術(shù)如下所述:1. 用Ld表示明文數(shù)據(jù)的長度,在明文數(shù)據(jù)前加上Ld產(chǎn)生新的數(shù)據(jù)塊。2. 將第

24、一步中生成的數(shù)據(jù)塊分解成 8 字節(jié)數(shù)據(jù)塊, 標(biāo)號為 D1,D2,等等。最后一個數(shù)據(jù)塊長度有可能不足8。3. 如果最后(或唯一)的數(shù)據(jù)塊長度等于 8 字節(jié),轉(zhuǎn)入第四 步;如果不足 8 字節(jié),在右邊添十六進制數(shù)字 80 。如果長度已達8 字節(jié),轉(zhuǎn)入第四步;否則,在其右邊添加 1 字節(jié) 16 進制 0 直到 長度達到 8 字節(jié)。4. 采用標(biāo)準(zhǔn)方法加密。5. 計算結(jié)束后,所有加密后的數(shù)據(jù)塊按原順序連接在一起。MAC 算法由于不同業(yè)務(wù)的需求,根據(jù)相應(yīng)的規(guī)范,對于計算MAC的方式也有不同。1. 計算磁條卡業(yè)務(wù)中MAC勺方式。函數(shù)原型:int gen_mcard_mac(u8 *in, u8 out8, u

25、8 ivec8, u8 k8, int len)int gen_mcard_mac_919(u8 *in, u8 out8, u8 ivec8, u8 k24,int len)int gen_mcard_mac_xor(u8 *in, u8 out8, u8 k8, int len)int gen_mac_ext(u8 *in, u8 *out, u8 *key, int len)gen _mcard_mac算法過程如下:1) 檢查MAC數(shù)據(jù)是否為8的整數(shù)倍。如果不是,則添加 0x00, 直到 8 的倍數(shù);2) 用密鑰對第一步的數(shù)據(jù)進行 Cbc加密;3) 取第二步運算結(jié)果的最后 8字節(jié)作為 M

26、AC。gen_mcard_mac_919算法過程如下:(密鑰必須為192位)1) 檢查MAC數(shù)據(jù)是否為8的整數(shù)倍。如果不是,則添加 0x00, 直到 8 的倍數(shù);2) 用密鑰的前8字節(jié)對第一步的數(shù)據(jù)進行 Cbc加密;3) 用密鑰的中間 8 字節(jié)對第二步的運算結(jié)果的最后 8 字節(jié)進行ecb 解密;4) 用密鑰的后 8 字節(jié)對第三步的運算結(jié)果進行ecb 加密,運算的結(jié)果作為 MAC。gen_mcard_mac_xor 算法過程如下:1) 檢查MAC數(shù)據(jù)是否為8的整數(shù)倍。如果不是,則添加 0x00, 直到 8 的倍數(shù);2) 將第一步計算的數(shù)據(jù)按 8 字節(jié)分成若干段, 每段依次異或, 最 終得到 8

27、字節(jié)的數(shù)據(jù);3) 用密鑰對第二步的結(jié)果進行 ecb 加密,將結(jié)果作為 MAC。 gen_mac_ext 算法過程如下:與 gen_mcard_mac_xor 算法過程一致。2. 計算IC卡業(yè)務(wù)中MAC勺方式單倍長密鑰int gen_icard_mac(u8 *in, u8 out8, u8 ivec8, u8 k8, intlen)int gen_icard_mac_8(u8 *in, u8 out8, u8 ivec8, u8 k8, int len)gen_icard_mac 的計算過程如下:1) 檢查MAC數(shù)據(jù)是否為8的整數(shù)倍。如果不是,返回錯誤;2) 用密鑰對MAC數(shù)據(jù)采用CBC的方式

28、加密;3) 將運算結(jié)果的后 8 字節(jié)作為 MAC。gen_icard_mac_8 的計算過程如下:1) 檢查MAC數(shù)據(jù)是否為8的整數(shù)倍。如果不是,則添加 0x80, 如果還不夠 8 的倍數(shù),則添加 0x00 ,并直到 8 的倍數(shù)為止;如果是8的倍數(shù),則添加一個 0x80,七個0x00;2) 用密鑰對第一步的數(shù)據(jù)進行Cbc加密;3) 取第二步運算結(jié)果的最后 8字節(jié)作為 MAC。雙倍長計算 MACint gen_icard_mac_16(u8 *in, u8 out8, u8 ivec8, u8 k16,int len)gen_icard_mac_16 的計算過程如下:1) 檢查MAC數(shù)據(jù)是否為8

29、的整數(shù)倍。如果不是,則添加 0x80, 如果還不夠8的倍數(shù),則添加0x00,并直到8的倍數(shù)為止; 如果是8的倍數(shù),則添加一個 0x80,七個0x00 ;2) 用密鑰前8字節(jié)對第一步的數(shù)據(jù)進行Cbc加密;3) 用密鑰的后8字節(jié)對第二步的結(jié)果的后8字節(jié)進行ecb解密;4) 用密鑰的前8字節(jié)對第三步的結(jié)果進行ecb加密,并將結(jié)果作為 MAC。TAC 算法函數(shù)原型:int gen_icard_tac(u8 *in, u8 out8, u8 ivec8, u8 k16, intlen)int gen_icard_tac_NP(u8 *in, u8 out8, u8 ivec8, u8 k16, int len)gen_icard_tac 的計算過程如下:1)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論