999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于RSA算法的智能鎖設計①

2018-05-17 06:46:35王思遠朱敏玲溫智博
計算機系統應用 2018年5期
關鍵詞:鑰匙單片機用戶

王思遠,朱敏玲,溫智博,王 勝

1(北京信息科技大學 計算機學院 計算機科學與技術系,北京 100101)

2(北京信息科技大學 計算機學院,北京 100101)

3(北京信息科技大學 計算機學院 軟件工程系,北京 100101)

電子密碼鎖是在傳統機械密碼鎖的基礎上改進的采用密碼輸入控制電路或控制芯片實現開鎖、閉鎖的電子密碼鎖產品.電子密碼鎖從性能、安全性、穩定性以及用戶的受歡迎程度遠遠高過傳統機械密碼鎖:電子密碼鎖保密性好,密碼選樣更多(密碼數量遠高于傳統機械密碼鎖),破解密碼的可能性很低.電子密碼鎖的安全性更高,更好地保護用戶的生命財產安全.

從鎖的發展趨勢上出發,目前主要向刷卡、手機APP等方向進行,特別是目前智能家居產業的蓬勃發展,其發展趨勢與智能家居相融合,功能性上越來越人性化.再加上近年以來,隨著國家對物聯網的極大支持和投入,物聯網這個產業也再飛速的發展.互聯網的發展更是推動了安全產業的技術革新.所以,我們的安防系統則是變得更加的智能化.人工智能、云計算、嵌入式芯片、智能處理功能等等將要大量投放到和安防相關的產品中去.

本文的其余部分安排如下: 在第1節中,介紹系統整體設計架構; 在第2節中,介紹了系統功能的實現;在第3節中,進行了系統測試說明和實驗結果分析; 在最后一節,對本系統功能及研究功能進行總結.

1 系統設計及架構

1.1 系統設計

硬件方面,利用ST公司生產的STM32單片機控制,通過射頻卡、指紋、手機藍牙等方式實現開鎖,從而實現家居開鎖的智能性和簡便性.本設計要求利用STM32作為主控芯片完成主控電路的設計,輔助電路要求包括射頻刷卡電路、藍牙電路、電源電路等.

手機端方面,利用 Android Studio 軟件設計 APP,使其完成添加(電子)鑰匙、分享鑰匙、使用鑰匙的功能.

1.2 系統架構

該系統的主要設計思路如圖1所示.當使用IC刷卡時,單片機單片機讀取RFID 數據: 若是刷卡成功,則蜂鳴器不響,單片機通過驅動電磁鎖驅動電路控制電磁鎖開鎖; 若是刷卡失敗,蜂鳴器鳴報警.當使用指紋開鎖時,指紋模塊采集指紋信息: 若是匹配成功,則蜂鳴器不響,單片機通過驅動電磁鎖驅動電路控制電磁鎖開鎖; 若是匹配失敗,蜂鳴器鳴報警.當使用藍牙開鎖時,此時手機APP連接系統的藍牙模塊,并且向藍牙模塊向藍牙模塊發送數據.藍牙模塊與單片機之間使用串口通信,當單片機接收到數據以后,校驗數據是否準確,當數據正確時,單片機通過驅動電磁鎖驅動電路控制電磁鎖開鎖.

1.2.1 單片機選型

單片機系統電路設計中單片機的選型至關重要,對于一個已經規劃好明確模塊和任務指標的系統來說,可以根據它的模塊與要實現的功能去選擇所需要的單片機的型號.在選型的過程中,倘若選取了功能較少的機型,那么該單片機搭建的系統電路就可能不能完成預定的控制任務; 倘若選取的機型功能非常強大,超出了系統設計方案的實際需求便會造成功能資源的浪費,這樣非但沒有必要還白白的增加了設計的成本.綜合對成本和實用性的考慮,本設計擬選擇意法半導體公司生產的STM32F1xx系列單片機.

圖1 系統架構

STM32F1xx系列單片機處理器大致可分為標準型和增強型兩個大類.STM32F101系列型單片機為標準型,工作頻率在 36 MHz; STM32F103 系列型單片機為增強型,工作頻率在 72 MHz,而且具有更好的性能和更完善的內部模塊以及支持更多拓展的外部設備.STM32F103系列單片機是首款搭載ARMv7-M內核的32位標準RISC(精簡指令集)單片機控制器,它既能滿足高性能的使用要求,又可以保持低功耗的用電狀態,既能適應低預算低成本的小設施的開發,又能滿足復雜應用高端市場的性能要求,而且便宜適宜的價格絕對物超所值[1].

ST公司生產的STM32F103芯片具有低功耗、運行速度快、成本低,抗干擾強等功能,該芯片運行主頻可達 72 MHz,能夠滿足系統的處理需要.該芯片集成多個定時器,可以滿足采集系統信息的需要.

1.2.2 RFID 刷卡模塊選型

方案一.采用Mfrc522刷卡模塊.該模塊使用常用的MFRC522模塊進行設計,同時具有板載天線,能夠在讀卡時對IC卡片進行充電處理.同時由于該模塊在市場上應用較廣,其模塊可以成本價格較低的基礎上實現靈敏刷卡、寫卡等操作.同時,由于該模塊的廣泛應用,目前其設計方案、使用方案的都相對成熟,購買渠道廣泛.該芯片為汽車級芯片,可以滿足家居的使用環境.

方案二.采用 RDM6300 ID 卡讀卡器.模塊采用125 kHz 通信,其與單片機通信為串口通信.該模塊具有識別靈敏的特點,在一些工控場合應用較多.該模塊在使用時需要外接電線,才能實現對IC卡的通信、充電.由于該模塊應用較少,購買渠道相對單一.

方案一的成本只有方案二的1/3,同時方案二需要外接天線才能使用,使用較為麻煩.綜合考慮設計的成本、操作的實用性和可靠性、傳感器的靈敏度等因素,本設計選擇采用Mfrc522刷卡模塊作為我們的野外定位系統的傳感器.

該模塊使用飛利浦公司生產的MFRC522射頻芯片為核心生產的.該模塊是13.56 MHz的感應式高集成度的射頻刷卡芯片,其芯片外部電路簡單,成本較低,能支持14443A兼容應答器信號.其供電電壓為3.3 V,工作電流為 13~26 mA,功耗相對較小.在空閑狀態下工作電流只有10 mA左右,能夠滿足使用時續航的要求.同時該芯片能夠滿足S50、S70等多種IC卡,其兼容性可以滿足該系統要求[2,3].

1.2.3 指紋模塊選型

指紋模塊按其指紋識別方式可以分為3類: 光學指紋模塊、電容指紋模塊和射頻指紋模塊(刮擦指紋模塊).其中使用最普遍的為前兩類,其中在成像能力上基本相同,但在汗液較多和較臟的手指光學指紋模塊可成較模糊的像; 在分辨率上,兩者表現相當; 在耐用性上,光學指紋模塊更是勝過電容指紋模塊; 同時光學指紋模塊還具有耗電量少的有點.所以,本系統決定選擇光學指紋模塊.

1.2.4 藍牙模塊選型

該設計采用HC-05藍牙模塊進行藍牙數據傳輸.藍牙采用分散式網絡結構以及快跳頻和短包技術,支持點對點及點對多點通信,工作在全球通用的2.4 GHz ISM(即工業、科學、醫學)頻段.其數據速率為1 Mbps.采用時分雙工傳輸方案實現全雙工傳輸,使用方法簡單方便,運行可靠穩定.硬件上使用串口RXTX與單片機通信.

2 系統功能的實現

2.1 系統硬件功能的實現

在該設計中,系統在初始化完畢以后,需要等待執行RFID刷卡任務,指紋適配任務以及藍牙串口通信任務等,當刷卡成功,指紋配對成功或者藍牙通信成功以后,驅動電磁鎖進行開鎖等任務.如圖2所示.

圖2 系統功能

系統初始化任務主要包括定時器初始化、藍牙串口初始化、RFID初始化、LED初始化、蜂鳴器初始化以及電磁鎖初始化等.

2.1.1 RFID 開鎖實現

當有標簽接近閱讀器時,進行檢測,讀取標簽內信息與系統信息匹配.匹配成功時,調用函數開鎖,失敗時通過蜂鳴器報警.

2.1.2 指紋開鎖的實現

通過USB接口與電腦連接,通過上位機軟件對指紋進行錄入,對每一枚指紋錄入2次,分別將采集到的指紋圖像生成特征指令文件存于CharBuffer1Img2Tz()/CharBuffer2Img2Tz()中,調用 RegMode()特征合成模板,同時通過Store()指令,指紋存儲成功.

進行指紋匹配時,通過指紋頭光學傳感器,采集要驗證指紋圖像,通過 GenImg()指令讀圖像,調用Search()與模塊中的指紋模板進行匹配比較,模塊給出匹配結果(通過或失敗).控制器與指紋模塊通過通訊協議完成交互.

使用到模塊自帶的指令: GenImg錄指紋圖像;Img2Tz 圖像轉特征; Match 指紋比對; Serach 搜索指紋;RegModel特征合成模板; Store存儲模板.

特征文件緩沖區: 特征文件緩沖區CharBuffer1或CharBuffer2既可以用于存放普通特征文件也可以用于存放模板特征文件.其框架圖如圖3.

圖3 指紋開鎖流程

2.1.3 射頻程序設計

在該設計中,需要先對RFID初始化,其初始化分為兩部分,一部分對單片機SPI進行初始化,另一部分是對RFID模塊進行初始化.其初始化程序如下:

初始化完畢后,需要對在程序里檢測是否有刷卡任務,刷卡是首先驅動RFID模塊進行尋卡,若是尋卡成功,則進行防沖撞處理.防沖撞處理主要是防止多張卡進入刷卡范圍,造成刷卡沖突或者失誤.若是有多張卡進入刷卡范圍,防沖突機制會從其中選擇一張卡進行識別通信.當通信成功后,單片機讀取卡的序列號,然后將該序列號與程序內置的序列號進行比較,若是該序列號正確,則說明該卡是家庭內部卡,然后驅動繼電器開鎖.若是卡識別錯誤,則進行報警處理[4,5].

2.1.4 軟件定時處理任務

在該設計中,STM32單片機需要定時采集卡片、指紋信息、執行看門狗任務等,并且在定時器內閃爍LED燈表示系統狀態正常,在該設計中,系統定時采用定時器0進行系統定時.在初始化時,單片機定時器0 被設置為 10 ms定時中斷,即單片機每 10 ms進入一次定時中斷.當單片機每次進入定時中斷時,系統使用一個定時器中斷計數變量對10 ms定時中斷進行計數,當該變量累加到10的倍數時,說明該系統已經過去100 ms,將 100 ms定時標志置一.同理,加到 50 的倍數即500 ms定時到來[6].

2.1.5 軟件抗干擾設計

為了系統能夠正常的運行,外界干擾的因素應該受到高度的重視,所以本裝置中設置了軟件抗干擾的程序.

為防止程序陷入死循環,系統采用了“看門狗”這一軟件設計.很多時候,由于一些不可避免的干擾因素,系統主程序或者中斷子程序會處于卡機或者當機的狀態,整個系統就不能照常的進行監控,會危害到人生財產安全.因此,在本裝置中進行了這方面的設置.“看門狗”技術就是本次系統設計的軟件設計,其工作原理為: 當系統上電運行后,“看門狗”計時器隨之啟動,在系統正常工作過程中,“看門狗”計時器自動計時,正常狀態下,計時器在達到設定的數值后自動清“看門狗”;如果一段時間內“看門狗”沒有被清零而導致溢出的話,說明系統陷入非正常工作狀態,這時系統會自動復位,從而重新進行工作.看門狗工作流程圖如圖4所示.

圖4 看門狗程序

2.2 手機APP端軟件功能的實現

2.2.1 軟件開發工具

Android Studio (PC 端安卓應用開發軟件)

2.2.2 軟件功能升級

(1) 分享 (電子)鑰匙

用戶在沒有開鎖的藍牙鑰匙時,可以打開手機應用,選擇向好友(戶主)索取鑰匙的功能,應用會根據RSA算法隨機生成一對公鑰密鑰,并將密鑰隱藏存儲在系統內部,將公鑰加入索取鑰匙文本并加密,向用戶返回生成的索取鑰匙文本.用戶向好友分享文本信息,好友復制文本信息并打開應用,通過應用解析并獲得索取鑰匙文本內包含的RSA公鑰,根據好友選擇分享的鑰匙加密后生成回執文本.好友將生成的回執文本返回給用戶,用戶復制回執文本信息后打開應用,通過應用解析回執文本內的信息并通過之前生成的RSA密鑰解密文本,解密成功則由用戶確認操作后將分享的鑰匙加入數據庫.

(2) 鑰匙的時效性

應用在重啟應用或完成一次鑰匙分享或重新申請鑰匙分享時,都會重置本地的RSA私鑰,以此來保證門鎖分享碼不會產生混淆和濫用情況.

(3) 開啟門鎖

用戶打開手機應用,選擇開啟門鎖功能,應用檢測門鎖藍牙狀態并嘗試連接,連接成功則通過藍牙向門鎖發送開啟門鎖指令.否則開鎖失敗.

(4) 關于分享門鎖功能的補充

分享門鎖時,用戶可以對分享門鎖做出例如使用次數、使用時間段等限制.開啟門鎖時,應用通過每次啟用該鑰匙時查詢該鑰匙限制條件來確定是否發送開門指令(對于使用時間段等限制使用時,為了防止用戶進行離線調整時間等操作,應用強制用戶在使用含有時間限制的鑰匙時必須連接網絡來確保時間正確).好友與用戶之間傳送的文本信息可存放在二維碼之中,應用解析文本可改為應用識別二維碼.

2.2.3 軟件架構設計

本軟件采用了三層架構,將項目粗略劃分為表現層、業務邏輯層和數據訪問層.

表現層 (User Interface Layer,UIL): 用戶操作界面.將用戶操作傳輸給業務邏輯層并根據用戶邏輯層返回的數據對用戶操作做出響應.

業務邏輯層 (Business Logic Layer,BLL): 功能實現模塊.通過數據訪問層執行對數據的操作集合來達到功能的實現.

數據訪問層 (Data Access Layer,DAL): 數據操作模塊.對存儲的數據進行增刪改查操作的簡單模塊.

具體軟件架構設計以及各個分層之間的交互設計如圖5.

圖5 軟件架構

2.2.4 相關知識及算法

(1) RSA 公鑰加密算法

RSA公開密鑰密碼體制.所謂的公開密鑰密碼體制就是使用不同的加密密鑰與解密密鑰,是一種“由已知加密密鑰推導出解密密鑰在計算上是不可行的”密碼體制,因此可以極大的提高鑰匙分享過程中的保密性.在公開密鑰密碼體制中,加密密鑰(即公開密鑰)PK是公開信息,而解密密鑰(即秘密密鑰)SK是需要保密的.加密算法E和解密算法D也都是公開的.雖然解密密鑰SK是由公開密鑰PK決定的,但卻不能根據PK計算出SK.

而帶算法的實現基于一個十分簡單的數論事實:將兩個大質數相乘十分容易,但是想要對其乘積進行因式分解卻極其困難,因此可以將乘積公開作為加密密鑰[7].

RSA的算法涉及三個參數,其中是兩個大質數p、q的積,n的二進制表示時所占用的位數,就是所謂的密鑰長度.

是一對相關的值,可以任意取,但要求與)互質; 再選擇要求如下:

就是密鑰對.其中為公鑰,為私鑰.

RSA加解密的算法完全相同,設A為明文,B為密文,則:

公鑰加密體制中,一般用公鑰加密,私鑰解密,e1和e2可以互換使用,即:

(2) 二維碼傳遞信息

通常大家所說的二維碼是指的是矩陣式二維條碼,是建立在計算機圖像處理技術和組合編碼原理等基礎生的一種編碼機制.原理主要是在一個矩形的區域內,通過白點黑點的排列組合來傳遞信息,在某一個位置上,白點 (空點)代表二進制的“0”,黑點代表二進制的“1”.

二維碼的三個角上的方塊叫做這個二維碼的定位點,有了這三個點,不管二維碼從哪個方向識別,都能正確的識別出信息.由于三點就可確定一個平面,所以二維碼的第四個角則節省出來以便存放更多的信息.

在三個定位點構成的三角形的兩條直角邊就叫做二維碼的定位圖形,它決定二維碼中模塊的坐標.分隔符則是圍繞在定位點周圍的空白線,它的作用是將定位點與其他信息分割開.

每個二維碼都有一個版本號,這個版本號的信息則儲藏在二維碼左下角定位點的上方.而二維碼才用的編碼格式信息則儲藏在三個定位點的周邊.

在二維碼的其他區域存放的就是數據信息和糾錯碼信息,當用戶掃描二維碼時,不能保證掃描到所有信息都正確,這時糾錯碼就起作用了.

此外,當二維碼被惡意撕毀時,位于二維碼中心位置的矯正圖形則保證了沒有被撕毀的部分仍然可以被正常讀取.

一個普通二維碼的基本結構如圖6所示.

圖6 二維碼結構圖

3 測試及實驗結果分析

3.1 系統測試

3.1.1 硬件系統

在該系統初始條件下,電磁鎖關閉,如圖7.

圖7 硬件初始狀態

使用正確的IC卡刷卡,識別成功,鎖開,如圖8所示.

維持 5 s開啟狀態后,電磁鎖自動關閉,接通指紋模塊,輸入正確的指紋,鎖開.如圖9 所示.

圖8 IC 卡開鎖成功狀態

3.1.2 手機端系統

表1給出了添加門鎖設備測試用例,表2給出了開鎖測試用例,表3是門鎖索取測試用例,表4是分享門鎖的使用限制測試用例.

3.2 實驗結果分析

圖9 指紋開鎖成功狀態

經測試發現,刷卡和指紋有效開鎖次數可以達到90%左右,失效情況發生在連續進行開鎖操作時(如連續刷卡,指紋解鎖等).之后的改進中,可通過對每次操作鎖定,來避免連續操作帶來的沖突和開鎖失效情況.

藍牙信息傳輸的測試中,藍牙連接成功率在95%左右,首次連接進行藍牙開鎖時,發送開鎖指令后,會出現丟失指令的情況,但是狀態穩定后,丟失指令的情況會消失.經分析,藍牙初始狀態下整個開鎖流程不是很穩定,但是具體原因還有待確定.

表1 添加門鎖設備測試用例

表2 開鎖測試用例

表3 門鎖索取測試用例

表4 分享門鎖的使用限制測試用例

綜上,該系統在當前狀態下,基本實現了最初設計的要求,但是在系統穩定性上還需要繼續改進.

4 結束語

手機端APP應用在很多方面還是不能滿足到用戶在“方便、安全”方面的期待,例如分享鑰匙步驟的繁瑣,鑰匙信息存儲的不安全性,以及不能實現用戶信息在多個設備間的轉移操作等.

針對這些情況,可以后續建立該應用的云端服務器,將安全性交給云端來保障.將所有鑰匙信息存儲在云端,來代替把鑰匙信息存儲在個人手機上的不安全局面.同時可以實現鑰匙只能被唯一購買者標識,一個用戶在多個平臺上用戶信息共享等目標.

另一方面,通過云平臺,用戶之間的交流也將更加方便,通過云端驗證的鑰匙分享操作也會更加安全.

云平臺可以實現用戶端不存儲任何安全級別高的私密信息,這對對于安全性要求極高的本應用來說會是個很大的提升.

參考文獻

1劉軍.例說 STM32.北京: 北京航空航天大學出版社,2011.

2張穎,苗全利,劉小華,等.一種基于 RFID 技術的室內定位系統設計.電子設計工程,2011,19(15): 50–53.[doi: 10.39 69/j.issn.1674-6236.2011.15.019]

3Kim K,Kim M.RFID-based location-Sensing system for safety management.Personal and Ubiquitous Computing,2012,16(3): 235–243.[doi: 10.1007/s00779-011-0394-0]

4王亞平,龔華軍,甄子洋.基于 ARM 的 GPS/BD2 組合接收機設計與實現.電子測量技術,2012,35(12): 67–70.[doi:10.3969/j.issn.1002-7300.2012.12.018]

5史向男,巴曉輝,陳杰.北斗 MEO/IGSO 衛星 B1 頻點信號捕獲方法研究.國外電子測量技術,2013,32(4): 19–21,50.

6柯熙政,劉娟花,李建勛.多模式組合定時設備設計與研制.儀器儀表學報,2013,34(6): 1209–1217.

7胡云.RSA 算法研究與實現[碩士學位論文].北京: 北京郵電大學,2010: 9–10.

猜你喜歡
鑰匙單片機用戶
基于單片機的SPWM控制逆變器的設計與實現
電子制作(2019年13期)2020-01-14 03:15:28
基于單片機的層次漸變暖燈的研究
電子制作(2019年15期)2019-08-27 01:12:10
基于單片機的便捷式LCF測量儀
電子制作(2019年9期)2019-05-30 09:42:02
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
鑰匙和鎖
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
鑰匙
Microchip推出兩個全新PIC單片機系列
如何獲取一億海外用戶
創業家(2015年5期)2015-02-27 07:53:25
主站蜘蛛池模板: 操国产美女| 天天躁夜夜躁狠狠躁图片| 国产精品嫩草影院视频| 国产精品女主播| 亚洲专区一区二区在线观看| 99精品视频九九精品| 欧美福利在线观看| 国产黄在线免费观看| 91久久青青草原精品国产| 欧美日一级片| 国产一级一级毛片永久| 91在线播放国产| 伊人无码视屏| 91亚洲精选| 亚洲午夜综合网| 国产主播喷水| 亚洲国产精品久久久久秋霞影院| 久久综合五月| 精品国产成人高清在线| 国产最新无码专区在线| 国内毛片视频| 欧美成一级| 精品成人一区二区三区电影 | 久久人体视频| 久久久久国产一区二区| 久久伊人色| 国产乱码精品一区二区三区中文| 色噜噜狠狠色综合网图区| 欧美日韩中文字幕在线| 日韩美女福利视频| 精品国产三级在线观看| 91精品国产无线乱码在线| 亚洲a免费| 国产欧美亚洲精品第3页在线| 人人91人人澡人人妻人人爽| 亚洲,国产,日韩,综合一区| 大香伊人久久| 中文字幕亚洲综久久2021| 亚洲一区毛片| 99精品免费在线| 亚洲av日韩av制服丝袜| 精品乱码久久久久久久| 女人毛片a级大学毛片免费| 久久九九热视频| 国产乱人伦偷精品视频AAA| 精品成人一区二区| 美女视频黄又黄又免费高清| 久久精品最新免费国产成人| 国产午夜不卡| 精品国产电影久久九九| 精品夜恋影院亚洲欧洲| 精品国产电影久久九九| 免费国产高清精品一区在线| 这里只有精品国产| 四虎永久在线精品国产免费| 国内精品久久久久鸭| av在线人妻熟妇| 国产精品女人呻吟在线观看| 国产精品福利一区二区久久| 草逼视频国产| 日本国产精品一区久久久| 欧美亚洲国产视频| 亚洲天堂视频网站| 国产白丝av| 国产手机在线观看| 亚洲天堂免费在线视频| 99这里只有精品免费视频| 国产综合精品一区二区| 亚洲av日韩av制服丝袜| 久久黄色一级片| 玖玖精品在线| 久草网视频在线| 亚洲精品麻豆| 久久这里只有精品2| 91欧美亚洲国产五月天| 亚洲色成人www在线观看| 国产成人免费| 亚洲国产av无码综合原创国产| 91亚洲精选| 综合五月天网| 亚洲欧洲天堂色AV| 一级在线毛片|