![基于pkcs的數(shù)字簽名系統(tǒng)的實(shí)現(xiàn)_第1頁](http://file4.renrendoc.com/view/99c23f33952faab7829bd9d87e0c88f8/99c23f33952faab7829bd9d87e0c88f81.gif)
![基于pkcs的數(shù)字簽名系統(tǒng)的實(shí)現(xiàn)_第2頁](http://file4.renrendoc.com/view/99c23f33952faab7829bd9d87e0c88f8/99c23f33952faab7829bd9d87e0c88f82.gif)
![基于pkcs的數(shù)字簽名系統(tǒng)的實(shí)現(xiàn)_第3頁](http://file4.renrendoc.com/view/99c23f33952faab7829bd9d87e0c88f8/99c23f33952faab7829bd9d87e0c88f83.gif)
![基于pkcs的數(shù)字簽名系統(tǒng)的實(shí)現(xiàn)_第4頁](http://file4.renrendoc.com/view/99c23f33952faab7829bd9d87e0c88f8/99c23f33952faab7829bd9d87e0c88f84.gif)
![基于pkcs的數(shù)字簽名系統(tǒng)的實(shí)現(xiàn)_第5頁](http://file4.renrendoc.com/view/99c23f33952faab7829bd9d87e0c88f8/99c23f33952faab7829bd9d87e0c88f85.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
基于pkcs的數(shù)字簽名系統(tǒng)的實(shí)現(xiàn)
1國內(nèi)外關(guān)于數(shù)字簽名產(chǎn)品的開發(fā)現(xiàn)狀隨著網(wǎng)絡(luò)應(yīng)用的快速發(fā)展,基于數(shù)字簽名的api基礎(chǔ)設(shè)施pi有效保障了信息的安全,為數(shù)字簽名卡在數(shù)字社會中的各種需要認(rèn)證的應(yīng)用提供了支持,并為各種需要認(rèn)證的數(shù)字化社會和潛在業(yè)務(wù)提供了支持?,F(xiàn)在,國內(nèi)外數(shù)字簽名技術(shù)一直是研究的熱點(diǎn),不斷變化的硬件支持促進(jìn)了數(shù)字簽名產(chǎn)品的可持續(xù)發(fā)展。我們使用了內(nèi)部審計(jì)方法sle66cx320p智能芯片,并成功開發(fā)了基于sra算法的數(shù)字簽名卡。在進(jìn)行簽名認(rèn)證和應(yīng)用時(shí),詳細(xì)分析了解決實(shí)際問題的解決方案,并在實(shí)際應(yīng)用中解決了問題,確保產(chǎn)品更安全、性能更優(yōu)化、兼容性更好。2系統(tǒng)的實(shí)現(xiàn)和實(shí)現(xiàn)數(shù)字簽名產(chǎn)品用于互聯(lián)網(wǎng)上信息加密和身份認(rèn)證,它的構(gòu)成大體分為兩部分:硬件——智能卡或Token;軟件——智能卡中的操作系統(tǒng)及把智能卡或Token與互聯(lián)網(wǎng)瀏覽器集成的并具有相關(guān)數(shù)字簽名處理功能、實(shí)現(xiàn)在線應(yīng)用的程序.本文采用Infineon公司的SLE66CX320P智能卡芯片,其攜帶高級加密協(xié)處理器的、支持RSA非對稱密碼算法,密鑰長度最大為2048bits,首先在芯片上實(shí)現(xiàn)智能卡操作系統(tǒng),進(jìn)而實(shí)現(xiàn)數(shù)字簽名功能.智能卡的操作系統(tǒng)符合ISO78161/2/3/4規(guī)范及《中國金融集成電路(IC)卡規(guī)范》,數(shù)字簽名的規(guī)范為RSA公司的PKCS系列相關(guān)標(biāo)準(zhǔn),支持X.509v3證書存儲.3rsa數(shù)字簽名的關(guān)鍵分析RSA算法是基于大整數(shù)因子分解問題之上,是非對稱密碼體制中的代表算法.基于硬件令牌形式的RSA算法,密鑰保存更為安全可靠,一旦公鑰參數(shù)(e,N)和私鑰參數(shù)(d,p,q,dp,dq,qinv)產(chǎn)生后,便分別安全的存放在智能卡的公鑰文件和私鑰文件中,公鑰文件設(shè)置有相應(yīng)的讀寫權(quán)限,私鑰文件沒有讀取權(quán)限,是不可以出卡的.密鑰對可以是一對或多對,可設(shè)定為不同的用途.基于智能卡的RSA數(shù)字簽名實(shí)現(xiàn),需要注意的關(guān)鍵之處很多,不然就會給安全上造成漏洞,性能上造成缺陷,以下就一些關(guān)鍵問題進(jìn)行解析.3.1密鑰長度分析在RSA算法上至今仍沒有發(fā)現(xiàn)嚴(yán)重的安全漏洞,但隨著計(jì)算機(jī)的計(jì)算能力的提高及大數(shù)分解技術(shù)的發(fā)展,增加密鑰長度能大大增加破譯的難度.以下對密鑰長度進(jìn)行分析和選擇.3.1.1密鑰的模長度就目前的密碼分析技術(shù)看來,若要保障20年以內(nèi)的安全,可以考慮密鑰模數(shù)N長度為1024bits;若要求更高的安全性,可以選擇芯片所允許的2048bits.若N的長度選取的太小,信息被破解的快,密鑰的生命周期縮短.若選擇芯片協(xié)處理器所支持的N最大長度2048bits時(shí),會限制智能卡的存儲空間,增加實(shí)際簽名或解密的計(jì)算時(shí)間,雖然隨著科技的發(fā)展,大容量、高性能的芯片不斷的開發(fā)出來,目前對存儲空間和處理能力的任何增加都會使智能卡的成本增加.綜合考慮N的長度取為1024bits,另外密鑰的模長還可以根據(jù)以后的要求而靈活的改動,并易于系統(tǒng)的更新?lián)Q代.總之,也就是說安全等級高的,則公鑰參數(shù)N的長度選取大些,安全等級低的,則選取相對小些的長度.3.1.2計(jì)算模數(shù)長度公鑰e的長度由發(fā)卡方?jīng)Q定,它的長度不能超過其對應(yīng)N的模數(shù)長度的1/4.當(dāng)N的取e的長度為32bits,滿足16≤e,bitlength≤256.3.1.3d長度算法私鑰d的長度應(yīng)大于N的長度的1/4,實(shí)際應(yīng)用中,d的長度可以取的小一些,以降低簽名或解密的時(shí)間.1990年Wiener提出了一種針對d長度較小的攻擊法,他證明了若d的長度小于N長度的1/4時(shí),利用連分?jǐn)?shù)算法,可以在多項(xiàng)式時(shí)間內(nèi)求出正確的d.由安全性及實(shí)際應(yīng)用考慮,一般仍是盡量降低e的長度,而不降低d的長度,本文選取d的模長度為1024bits.3.1.4enpth/8/2-1dp.階段n.化.q.nv.byelingth,nv.q.nv.整理劑.q.nv.q.nv.q.nv.q.nv.整理其他私鑰參數(shù)長度的選擇受N的長度影響,存在一定的數(shù)學(xué)關(guān)系,其選取關(guān)系式如下:P.bytelength=N.bitlength/8/2+1Q.bytelength=N.bitlength/8/2-1Dp.bytelength=N.bitlength/8/2+1Dq.bytelength=N.bitlength/8/2-1Qinv.bytelength=N.bitlength/8/2+1其中N.bitlength為公鑰N的長度,P.bytelength,Q.bytelenth分別為生成N的兩個(gè)大素?cái)?shù)p、q的字節(jié)長度,Dp.bytelength,Dq.bytelength,Qinv.bytelength分別為公鑰對中用于參與中國剩余定理算法而涉及的參數(shù)dp、dq、qinv的字節(jié)長度,如表2所示.3.2基于接口的公鑰對帶有加密協(xié)處理器的芯片提供有chipcardCrytoAPI,其內(nèi)嵌了相應(yīng)源代碼,以滿足用戶的功能開發(fā)要求和安全要求,使得編程接口簡便易行.核心程序是以A51匯編實(shí)現(xiàn)的,以獲得較好的代碼效率.算法的接口是以C51形式打包的,易于開發(fā)者使用.在接口中,普遍采用的一種重要的變量類型pCLONG,定義如下:其中變量bitlength為密鑰的模長度,field為密鑰值.在產(chǎn)生公鑰對時(shí),需要分別對公鑰(e,N),私鑰(d,p,q,dp,dq,qinv)進(jìn)行定義,定義為pCLONG結(jié)構(gòu)類型,并初始化.首先對e值大小初始化,由于選擇較低的e值,可以加速加解密運(yùn)算,但是e太小時(shí),存在著低指數(shù)攻擊的危險(xiǎn),容易泄漏明文信息,一般使用上e值多為2、3或216+1.這里e值初始化為216+1,即pCLONGe={0x00,0x20,0x000x01,0x00,x01},共32bits.其中前兩個(gè)字節(jié)0x0020為e的模長度,后面的四個(gè)字節(jié)0x00010001為e的初始化值216+1的十六進(jìn)制.如果e的初始值為0,則CryptoAPI函數(shù)將以隨機(jī)數(shù)作為初始化值,用于公鑰對的產(chǎn)生,這樣易于產(chǎn)生不安全的因素;如果e的初始值為任意不為零的值,則以指定的值進(jìn)行公鑰對的產(chǎn)生.其他的參數(shù)也都以這種形式定義,前兩個(gè)字節(jié)代表模長度,后面的字節(jié)代表實(shí)際值.如果對dp、dq、qinv參數(shù)指定NULL,則CryptoAPI函數(shù)將不產(chǎn)生與中國剩余定理相關(guān)的參數(shù),即不使用中國剩余定理算法.公鑰對產(chǎn)生后,把依次產(chǎn)生的公私鑰參數(shù)存儲到相應(yīng)的公私鑰文件當(dāng)中.3.3在算法及安全上的支持協(xié)處理器也叫高級加密引擎(ACE—AdvancedCryptoEngine),它本身就帶一定的RAM,在算法上支持大數(shù)乘法,支持中國剩余定理算法,可以運(yùn)行所有的模指數(shù)運(yùn)算.大多ACE所提供的功能有:公鑰對的產(chǎn)生,加密解密操作、DES、RSA、散列值算法、DSA算法.在安全上,ACE提供的CPRYPTOAPI含有相應(yīng)的功能,對攻擊具有防范措施,例如欠壓保護(hù)電路,時(shí)鐘頻率保護(hù)電路以及對RSA攻擊的保護(hù).3.4rsa算法在智能卡中的應(yīng)用由于RSA算法中大數(shù)乘方取模困難,其速度往往較慢.而當(dāng)智能卡在進(jìn)行一些指令操作時(shí),要求其操作或交易都是在極為短暫的時(shí)間內(nèi)完成的,RSA算法有時(shí)不能滿足智能卡與讀卡設(shè)備之間的某些指令應(yīng)答時(shí)間及功能的實(shí)現(xiàn).針對數(shù)字簽名智能卡來說,就是快速實(shí)現(xiàn)公鑰對的產(chǎn)生,快速實(shí)現(xiàn)加解密,從而提高整個(gè)系統(tǒng)的性能,保證一個(gè)完備功能產(chǎn)品的實(shí)現(xiàn).下面提出了幾種可行方法,并對此進(jìn)行了分析和介紹.3.4.1動態(tài)調(diào)節(jié)律參數(shù)0x00CRT即中國剩余定理,又稱孫子定理,和RSA算法結(jié)合在智能卡中,能夠快速實(shí)現(xiàn)加解密計(jì)算.在產(chǎn)生公鑰對的過程中,對類型為pCLONG的私鑰參數(shù)(d,p,q,dp,dq,qinv)分別賦零值,形如p={0x04,0x00,0x00,0x00,……0x000},前兩個(gè)字節(jié)為模長度,后面的字節(jié)為數(shù)據(jù).執(zhí)行產(chǎn)生公鑰對操作rsakeygen(N,e,d,p,q,dp,dq,qinv)便會自動給p、q、dp、dq、qinv賦值.如果初始化p、q、dp、dq、qinv為NULL,這樣將不會涉及CRT算法.參數(shù)dp、dq、qinv的具體含義為:dp=dmod(p-1)dq=dmod(q-1)qinv=q-1modp采用中國剩余定理的優(yōu)越之處,可以從表3中看出,當(dāng)采用CRT算法時(shí),無論是在5MHz還是在15MHz的頻率下,操作時(shí)間都相應(yīng)的大大減少了,大約為原來的1/4.3.4.2pll模塊為了提高芯片的運(yùn)算速度,當(dāng)芯片以外部頻率工作時(shí),PLL(倍頻)模塊能使內(nèi)部頻率以數(shù)倍于原來的頻率工作,這樣能在適當(dāng)增大功耗的前提下大大減少算法的運(yùn)算時(shí)間,倍頻前后的時(shí)間對比效果參見表4.在使用芯片的PLL模塊時(shí),可以使芯片系統(tǒng)設(shè)定為最大值的倍頻值,以充分發(fā)揮芯片的性能.重點(diǎn)是在進(jìn)行某一具體的操作前,打開倍頻設(shè)置,一旦操作在此倍頻下進(jìn)行完畢,程序中應(yīng)立即關(guān)掉倍頻設(shè)置.否則將會嚴(yán)重的擾亂在T=0通信協(xié)議下,以原來的頻率進(jìn)行串口操作的一些中斷程序的運(yùn)行,或影響正常的讀寫EEPROM的操作,或影響真隨機(jī)數(shù)的產(chǎn)生,代碼實(shí)現(xiàn)如下:3.4.3狀態(tài)碼狀態(tài)延遲保護(hù)如果算法中已運(yùn)用了中國剩余定理,又充分的利用了PLL模塊,智能卡仍然不能正常操作,或狀態(tài)不理想,那么可以參考以下兩種方案:方案1:根據(jù)ISO/IEC7816-3標(biāo)準(zhǔn),返回狀態(tài)字節(jié){0x60,XX}.其中,第一個(gè)狀態(tài)碼0x60通知讀卡設(shè)備進(jìn)行狀態(tài)延遲,第二個(gè)狀態(tài)碼字節(jié)XX通知讀卡設(shè)備等待延時(shí)時(shí)間.也就是說這一返回狀態(tài)碼使讀卡設(shè)備保持卡原有的工作電壓,在XX時(shí)間內(nèi)不發(fā)送信息,也不接收信息.方案2:當(dāng)讀卡設(shè)備不具有對返回狀態(tài)碼{0x60,XX}的識別設(shè)定時(shí),可以采取一種較為巧妙的方法.當(dāng)卡接收到一條指令進(jìn)行相關(guān)的操作需要有較長時(shí)間,而同時(shí)讀卡設(shè)備又在等待卡的迅速應(yīng)答,卡可以在讀寫設(shè)備所要求的應(yīng)答時(shí)間內(nèi)返回一狀態(tài)代碼{0x90,0x00},使讀卡設(shè)備認(rèn)為已得到正確應(yīng)答,從而使卡保持原有的工作電壓,正常的工作狀態(tài),繼續(xù)處理上一指令中未完成的工作.至于上一次指令的成功與否,可以另外設(shè)狀態(tài)位,以供下一次指令操作進(jìn)行判斷.這一方法,需要設(shè)計(jì)者設(shè)定兩次操作的時(shí)間間隔,以保證上一次操作有充分的時(shí)間完成任務(wù).3.4.4事先生成的密鑰對根據(jù)需要在智能卡芯片中事先生成或注入密鑰對,這也是一種可行的、巧妙的實(shí)現(xiàn)方法.在應(yīng)用當(dāng)中,提取的是已生成好的密鑰對,解決了由于產(chǎn)生公鑰對的時(shí)間過長,而使得卡對讀卡器不能正常應(yīng)答的難題.當(dāng)然由于事先生成的密鑰對是存放在智能卡的芯片內(nèi)的,設(shè)定有權(quán)限,安全性是完全可以保障的.在微處理器芯片的性能和內(nèi)存容量允許的情況下,事先生成的密鑰對可以是許多對,當(dāng)一個(gè)密鑰對保密性已不再滿足的情況下,可以再次的選擇其他的密鑰對,也可以選擇新的密鑰對用作其他的用途.4會話密鑰墊整選定密鑰長度后,進(jìn)行加解密時(shí)還會遇到這樣的情況:一是在進(jìn)行加密時(shí),如果待加密的文件長度大于密鑰長度,則要把明文分成塊,塊的大小可變,但不超過密鑰的長度,加密后把明文塊轉(zhuǎn)化為與密鑰長度相同的密文塊.二是如果明文的長度小于密鑰的長度,例如明文長度小于密鑰長度128字節(jié)時(shí),根據(jù)對Openssl的測試(Openssl軟件包提供了強(qiáng)大的功能與豐富的函數(shù),用于實(shí)現(xiàn)SSL/TLS協(xié)議和其相關(guān)的PKI標(biāo)準(zhǔn))采取以下墊整規(guī)則對明文墊整:0001FFFF........FF00+明文數(shù)據(jù)數(shù)據(jù)總長度保持128bytes.這樣接收端能夠準(zhǔn)確地判斷收到的信息,使得在同一系統(tǒng)中應(yīng)用不同的簽名卡具有更好的兼容性.會話密鑰是對稱密鑰,通信中利用對稱密鑰進(jìn)行加解密的速度要比RSA算法快,人們更傾向于選擇DES算法,而利用RSA算法實(shí)現(xiàn)會話密鑰的分發(fā),則很好的解決了通信中既要保障安全性又要保障時(shí)間性的要求.例如64bits的DES對稱密鑰按照上述方法墊整,再用對方的公鑰加密打包發(fā)送,只有擁有對應(yīng)私鑰的對方才能打開得到DES密鑰,實(shí)現(xiàn)密鑰分發(fā).DES密鑰墊整形式如下:0001FF?FF?........FF00(120bytes)+會話密鑰(8bytes)5簽名名5.1計(jì)算每一個(gè)變化一個(gè)的設(shè)計(jì)內(nèi)容Hash函數(shù),也就是雜湊函數(shù),是把任意長度的輸入消息串變換成固定長度的輸出串的一種函數(shù),主要用于完整性校驗(yàn),雜湊函數(shù)的選擇應(yīng)該至少滿足以下幾個(gè)條件:(1)輸入長度是任意的;(2)輸出長度是固定的,根據(jù)目前的計(jì)算技術(shù)應(yīng)至少取128bits,以抵抗生日攻擊;(3)對每一個(gè)給定的輸入,計(jì)算輸出是很容易的;(4)給定雜湊函數(shù)的描述,找到兩個(gè)不同的輸入消息雜湊到同一值是計(jì)算上不可行的.一個(gè)安全的雜湊函數(shù)在數(shù)字簽名實(shí)現(xiàn)中起著重要作用,SHA是美國NIST和NSA設(shè)計(jì)的一種標(biāo)準(zhǔn)算法,用于數(shù)字簽名,而SHA-1是在90年代不斷完善的基于SHA之上的一種算法,產(chǎn)生160bits的雜湊值,具有較高的安全性,關(guān)于散列值算法之間的比較可參考有關(guān)文獻(xiàn).5.2數(shù)字簽名控制由于公開密鑰和私有密鑰之間存在數(shù)學(xué)關(guān)系,使用其中一個(gè)密鑰加密的數(shù)據(jù)僅且只能用另一個(gè)密鑰解開.發(fā)送者用自己的私有密鑰加密數(shù)據(jù)傳給接收者,接收者用發(fā)送者的公鑰解開數(shù)據(jù)后,就可唯一的確定消息來自于誰,保證了發(fā)送者對所發(fā)信息的不可抵賴性,也就完完全全地模擬了現(xiàn)實(shí)生活中的簽名.數(shù)字簽名實(shí)現(xiàn)中需要注意的有如下幾方面.5.2.1分子身份證的下運(yùn)用于科b.5.2.3.4和20byte10bute時(shí),規(guī)則在對20bytes的hash值進(jìn)行加密即簽名的時(shí)候要遵循一定的規(guī)則墊整.例如密鑰長為1024bits時(shí),規(guī)則為:固定數(shù)據(jù)0001+FF...FF(90bytes)+003021300906052B0E03021A05000414(16bytes的規(guī)則值)+HASH值(20bytes).這和前述4中的加密墊整規(guī)則有所不同.5.2.2把麻黃信息的加過密下載出卡外對外部發(fā)送來的信息,利用卡內(nèi)提供的SHA-1算法計(jì)算Hash值,然后采用卡內(nèi)的私鑰對Hash值進(jìn)行加密,再把明文信息和加過密的Hash值打包一起送出卡外;或者把加過密的Hash值送出卡外,與明文信息打包在一起,發(fā)送給收信方,從而實(shí)現(xiàn)數(shù)字簽名.這樣的好處是可以采用智能卡自身攜帶的SHA-1算法,計(jì)算hash值方便易行.不足之處,鑒于讀卡器與卡的通信速率是一定的(一般為9600bps),對大數(shù)據(jù)量的文件傳送,通信耗時(shí)較大.5.2.3數(shù)字簽名控制在微機(jī)上利用SHA-1算法計(jì)算Hash值,把得到20字節(jié)的散列值送到智能卡中,然后采用智能卡中的私鑰進(jìn)行加密,再把密文送出卡外,在卡外與原有的明文一起打包發(fā)送給收信方,以這樣的方式實(shí)現(xiàn)的數(shù)字簽名極大減少了讀卡設(shè)備與智能卡之間的通信量,能夠以較快的速度實(shí)現(xiàn)數(shù)字簽名.6散列值的計(jì)算接收方收到的數(shù)字簽名組成是Plaintext+Encrypt(Hash),通過把Plaintext在卡內(nèi)或在卡外進(jìn)行SHA-1計(jì)算得到的散列值Hash1,與解密Encrypt(Hash)得到的散列值Hash相比較,從而把認(rèn)證過程分為兩方法.6.1plainptr常用算法把數(shù)據(jù)Plaintext送入智能卡內(nèi)進(jìn)行SHA-1計(jì)算,這種方法如果Plaintext過長,則從主機(jī)到智能卡之間傳輸?shù)臄?shù)據(jù)量就較大,可能會出現(xiàn)用一條指令不能把認(rèn)證信息全部送入到智能卡中的現(xiàn)象.但是如果Plaintext的長度小于128字節(jié),好處是可以利用卡中的SHA-1函數(shù)方便的計(jì)算plaintext的Hash值.6.2數(shù)據(jù)hish1+encrypthis1+encrypt的長度在卡外對Plaintext進(jìn)行SHA-1計(jì)算,然后送入智能卡,這里送入到卡內(nèi)的數(shù)據(jù)Hash1+En
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 3-1-Carboxyvinyloxy-benzoic-acid-生命科學(xué)試劑-MCE-7834
- 二零二五年度船舶入股船舶船員培訓(xùn)合作協(xié)議
- 2025年度時(shí)尚產(chǎn)品銷售總額提成與時(shí)尚趨勢合作合同
- 2025年度離職員工保密協(xié)議及競業(yè)禁止條款合同
- 二零二五年度班組承包市場營銷合作協(xié)議
- 2025年度酒店客房裝修風(fēng)格設(shè)計(jì)與施工合同
- 施工現(xiàn)場施工防生物毒素泄漏制度
- 施工日志填寫中的常見錯誤及避免方法
- 現(xiàn)代科技下的學(xué)生心理發(fā)展研究
- 學(xué)校如何實(shí)施綠色化教學(xué)與管理
- 2024年中考語文試題分類匯編:散文、小說閱讀(第03期)含答案及解析
- 人教版八年級英語上冊期末專項(xiàng)復(fù)習(xí)-完形填空和閱讀理解(含答案)
- 人教版七年級數(shù)學(xué)下冊《垂線》
- 公開選拔村級后備干部報(bào)名登記表
- 2022年湖南公務(wù)員考試《申論》真題套卷(鄉(xiāng)鎮(zhèn)卷)2
- 【薪酬】國有企業(yè)中長期股權(quán)激勵課件
- 學(xué)前兒童行為觀察第一章觀察概述課件
- 化學(xué)品防范說明編碼
- 帕金森病(英文版)課件
- 大學(xué)普通化學(xué)(第七版)課后答案
- 化工企業(yè)三違清單不安全安全行為清單
評論
0/150
提交評論