第四代軟件狗硬件設(shè)計(jì)思想 現(xiàn)在,我們給出第四代軟件狗的一個(gè)實(shí)例,供大家參考。我們采用PIC16C54結(jié)合93C46來(lái)設(shè)計(jì)。
以并行口(DP25)的第9腳DATA7作為主電源,而以16腳―INIT為輔助電源。這樣做,可以避免PIC16C54的電源因DATA7的變化而時(shí)有時(shí)無(wú)。-INIT腳的輸出是很弱的,所以為了降低功耗,當(dāng)DATA7為L(zhǎng)OW時(shí),就令PIC16C54的振蕩頻率降低到100kHz以下。這是通過(guò)對(duì)電阻R2的控制實(shí)現(xiàn)的。DATA 7為HIGH時(shí),R1與R2并聯(lián),總的電阻小于100K歐,振蕩頻率大于100kHz;當(dāng)DATA7變?yōu)長(zhǎng)OW時(shí),R1就與R2斷開(kāi),總的電阻等于100K歐,振蕩頻率就小于100kHz,使得PIC16C54處于低功耗狀態(tài)。PIC16C54的RTCC腳是用來(lái)監(jiān)視并行口的-STROBE腳。因?yàn)楫?dāng)-STROBE出現(xiàn)負(fù)脈沖時(shí),表示并行口有數(shù)據(jù)要送入打印機(jī),所以此時(shí)軟件狗不能工作。而RA0是用來(lái)監(jiān)視并行口的-SLCTIN腳的,當(dāng)-SLCTIN為HIGH時(shí),打印機(jī)不會(huì)工作,這時(shí)候與軟件狗通訊比較合適。
在我們的電路中采用了93C46,但它并不是必須的。因?yàn)樗挠猛臼莵?lái)記錄一些密碼,序號(hào)等數(shù)據(jù),如果采用OTP型,每一個(gè)芯片本身就可以存儲(chǔ)不同的密碼,是用不著外接存儲(chǔ)器的;但在大批量生產(chǎn)MASK時(shí),它是必須的,要不然,所有的軟件狗就一個(gè)樣了,這不符合加密原則。
第四代軟件狗在硬件電路方面沒(méi)有什么好變化的,最多也就仿照第三代軟件狗的做法,但是在軟件方面,由于采用了單片機(jī),盡可以根據(jù)各人的巧心思,進(jìn)行自由的發(fā)揮。
2、第四代軟件狗的一個(gè)軟件設(shè)計(jì)
(1)在DATA7及-SLCTIN為HIGH時(shí)才能工作。
(2)工作期間如-STROBE有負(fù)脈沖則軟件狗停止工作。
(3)建立128BYTES循環(huán)式的密碼表,以數(shù)據(jù)口送出去的第一個(gè)BYTE為密碼的起點(diǎn),并以BIT2決定所要核對(duì)的密碼是七次或八次。
(4)送出數(shù)據(jù)的方式采用從數(shù)據(jù)口出,前后兩個(gè)數(shù)據(jù)XOR后所得的值為所要傳送的數(shù)據(jù)。
(5)所有密碼核對(duì)正確后,有-SLCTIN腳以約100ms的負(fù)脈沖,以串行方式從-ACK腳在上升沿時(shí)讀回密碼表的下一個(gè)密碼供PC機(jī)核對(duì)。
根據(jù)這個(gè)原則,我們可以卸出一個(gè)比較好的軟件狗程序,足以另解密者頭疼很長(zhǎng)時(shí)間了。有興趣的朋友不妨自己編一編,解一解看。
這是當(dāng)前軟件狗加密技術(shù)中比較好的一個(gè)解決解密問(wèn)題的方案。別人想要仿制您的軟件狗,一般是不可能的,除非找到讀出單片機(jī)中程序代碼的工具。
以智能卡技術(shù)為核心構(gòu)建的新一代加密鎖的安全特征(新一代加密鎖介紹)
IC智能卡以其可靠的安全保障性能廣泛應(yīng)用于軍事、金融、保險(xiǎn)等國(guó)民生計(jì)的重要領(lǐng)域。以智能卡技術(shù)為核心構(gòu)建的新一代高強(qiáng)度加密產(chǎn)品,也因此具備了極為優(yōu)越的安全性能。
改進(jìn)之一:重要軟件代碼完全移植到硬件中運(yùn)行
在新型鎖軟件保護(hù)的方案中,PC端應(yīng)用軟件的關(guān)鍵的代碼和數(shù)據(jù)“消失”了,被安全地移植到加密鎖的硬件中保護(hù)起來(lái)。在需要使用時(shí),應(yīng)用軟件可以通過(guò)功能調(diào)用引擎來(lái)指令加密鎖運(yùn)行硬件中的關(guān)鍵代碼和數(shù)據(jù)并返回結(jié)果,從而依然可以完成整個(gè)軟件全部的功能。由于這些代碼和數(shù)據(jù)在PC端沒(méi)有副本存在,因此解密者無(wú)從猜測(cè)算法或竊取數(shù)據(jù),從而極大程度上保證了整個(gè)軟件系統(tǒng)的安全性。
利用智能卡技術(shù)的新一代加密鎖最多可提供總計(jì)高達(dá)32~64K字節(jié)的程序和數(shù)據(jù)空間,可容納近萬(wàn)行的C語(yǔ)言代碼。
改進(jìn)二:強(qiáng)大的運(yùn)算處理能力
利用智能卡技術(shù)的新一代加密鎖具有強(qiáng)大的運(yùn)算和數(shù)據(jù)處理能力,能夠支持浮點(diǎn)運(yùn)算庫(kù)、數(shù)學(xué)函數(shù)庫(kù)、安全服務(wù)庫(kù)、標(biāo)準(zhǔn)輸入和輸出庫(kù)等;這些對(duì)提高加密強(qiáng)度起著至關(guān)重要的作用。
改進(jìn)三:智能卡芯片具有極高的安全性
智能卡芯片具有很高的集成度,與普通低檔的單片機(jī)不同,只有已通過(guò)國(guó)際安全機(jī)構(gòu)檢測(cè)和認(rèn)證(EAL 4+和IT SEC認(rèn)證)的專(zhuān)業(yè)安全芯片制造商才能提供智能卡芯片。
智能卡芯片能夠有效抵御電子探測(cè)攻擊(SPA和DPA)和物理攻擊(SiShell),其在硬件設(shè)計(jì)階段就提供了完善的安全保護(hù)措施。它通過(guò)芯片廠商開(kāi)發(fā),通過(guò)產(chǎn)生額外的噪聲和干擾信號(hào),或通過(guò)增加濾波電路來(lái)消除噪聲,再加上若干保護(hù)層,采用特殊的材料(對(duì)電子束敏感的材料)等,使監(jiān)測(cè)芯片內(nèi)執(zhí)行的指令序列不可能實(shí)現(xiàn)。同時(shí)智能卡芯片提供了硬件隨機(jī)數(shù)發(fā)生器,在CPU 的控制下,每次芯片與外界數(shù)據(jù)傳輸中,產(chǎn)生的隨機(jī)數(shù)可以保證數(shù)據(jù)不會(huì)重復(fù)。
為了保證智能卡芯片的可靠性和可用性,國(guó)際權(quán)威技術(shù)標(biāo)準(zhǔn)管理機(jī)構(gòu)ISO為此專(zhuān)門(mén)制定測(cè)試標(biāo)準(zhǔn)