一種藍(lán)牙設(shè)備及其工作方法
【專(zhuān)利摘要】本發(fā)明公開(kāi)了一種藍(lán)牙設(shè)備及其工作方法,涉及藍(lán)牙設(shè)備在信息安全領(lǐng)域中的應(yīng)用。所述藍(lán)牙設(shè)備包括藍(lán)牙連接模塊、配對(duì)模塊和數(shù)據(jù)通信模塊,所述工作方法包括藍(lán)牙連接過(guò)程、配對(duì)過(guò)程和數(shù)據(jù)通信過(guò)程,其中所述配對(duì)過(guò)程包括:設(shè)備根據(jù)預(yù)設(shè)認(rèn)證碼、從發(fā)起方獲取的第一隨機(jī)數(shù)、自身生成的第二隨機(jī)數(shù)計(jì)算得到加密密鑰,使用所述加密密鑰對(duì)包含有鏈路加密密鑰的鏈路加密數(shù)據(jù)進(jìn)行加密得到鏈路加密請(qǐng)求并將其發(fā)送給所述發(fā)起方,所述發(fā)起方從所述鏈路加密請(qǐng)求中獲取鏈路加密密鑰。本發(fā)明在兼容現(xiàn)有藍(lán)牙協(xié)議的同時(shí)增強(qiáng)了藍(lán)牙設(shè)備配對(duì)過(guò)程的安全性。
【專(zhuān)利說(shuō)明】
一種藍(lán)牙設(shè)備及其工作方法
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及信息安全領(lǐng)域,尤其涉及一種藍(lán)牙設(shè)備及其工作方法。
【背景技術(shù)】
[0002]藍(lán)牙設(shè)備是一種利用藍(lán)牙技術(shù)設(shè)計(jì)的無(wú)線通信電子產(chǎn)品,支持短距離無(wú)線通信,具有延遲時(shí)間短、連接穩(wěn)定性強(qiáng)等特點(diǎn)。
[0003]對(duì)于藍(lán)牙設(shè)備之類(lèi)的產(chǎn)品而言,配對(duì)是非常重要的事情,一旦兩個(gè)設(shè)備建立藍(lán)牙連接,完成配對(duì)過(guò)程則表示建立了安全通道,相互之間便可以進(jìn)行安全的數(shù)據(jù)通信?,F(xiàn)有技術(shù)中,有些移動(dòng)設(shè)備(例如具備藍(lán)牙功能的手機(jī))可以為用戶提供顯示屏和鍵盤(pán)輸入,方便用戶自行選擇允許進(jìn)行配對(duì)的藍(lán)牙設(shè)備;但是對(duì)于一些沒(méi)有屏幕和鍵盤(pán)輸入的藍(lán)牙設(shè)備而言,如何實(shí)現(xiàn)該藍(lán)牙設(shè)備只和用戶允許的藍(lán)牙設(shè)備配對(duì)就成為了一個(gè)亟待解決的技術(shù)問(wèn)題。
【發(fā)明內(nèi)容】
[0004]為解決現(xiàn)有技術(shù)中存在的問(wèn)題,本發(fā)明提出了一種藍(lán)牙設(shè)備及其工作方法。
[0005]本發(fā)明采用的技術(shù)方案如下:一種藍(lán)牙設(shè)備,包括藍(lán)牙連接模塊、配對(duì)模塊和數(shù)據(jù)通信模塊;
[0006]所述藍(lán)牙連接模塊,具體用于當(dāng)接收到藍(lán)牙連接事件時(shí),與發(fā)起連接的發(fā)起方建立藍(lán)牙連接,獲取所述發(fā)起方的MAC地址并保存。
[0007]所述配對(duì)模塊具體包括第一收發(fā)單元、第一計(jì)算單元、第二收發(fā)單元、驗(yàn)證單元、第二計(jì)算單元和鏈路加密單元:
[0008]所述第一收發(fā)單元,用于接收發(fā)起方發(fā)來(lái)的配對(duì)確認(rèn)請(qǐng)求,從所述配對(duì)確認(rèn)請(qǐng)求中獲取第一確認(rèn)值,生成第二隨機(jī)數(shù);還用于將所述第一計(jì)算單元計(jì)算出的所述第二確認(rèn)值返回給所述發(fā)起方;
[0009]所述第一計(jì)算單元,用于根據(jù)預(yù)設(shè)認(rèn)證碼、所述第一收發(fā)單元生成的所述第二隨機(jī)數(shù)、當(dāng)前保存的發(fā)起方的MAC地址、所述藍(lán)牙設(shè)備自身的MAC地址計(jì)算出第二確認(rèn)值;
[0010]所述第二收發(fā)單元,用于接收所述發(fā)起方發(fā)來(lái)的隨機(jī)數(shù)交換請(qǐng)求,從所述隨機(jī)數(shù)交換請(qǐng)求中獲取第一隨機(jī)數(shù);用于當(dāng)所述驗(yàn)證單元的驗(yàn)證結(jié)果為通過(guò)驗(yàn)證時(shí)向所述發(fā)起方返回所述第一收發(fā)單元生成的所述第二隨機(jī)數(shù),并觸發(fā)第二計(jì)算單元;還用于當(dāng)所述驗(yàn)證單元的驗(yàn)證結(jié)果為未通過(guò)驗(yàn)證時(shí)向所述發(fā)起方返回錯(cuò)誤信息;
[0011 ]所述驗(yàn)證單元,用于根據(jù)所述第二收發(fā)單元獲取的所述第一隨機(jī)數(shù)驗(yàn)證所述第一收發(fā)單元獲取的所述第一確認(rèn)值;
[0012]所述第二計(jì)算單元,用于根據(jù)所述預(yù)設(shè)認(rèn)證碼、所述第二收發(fā)單元獲取的所述第一隨機(jī)數(shù)、所述第一收發(fā)單元生成的所述第二隨機(jī)數(shù)計(jì)算得到加密密鑰;
[0013]所述鏈路加密單元,用于根據(jù)預(yù)置的第一數(shù)據(jù)、第二數(shù)據(jù)和第三數(shù)據(jù)組成鏈路加密數(shù)據(jù),使用所述第二計(jì)算單元計(jì)算得到的所述加密密鑰加密所述鏈路加密數(shù)據(jù)得到鏈路加密請(qǐng)求并發(fā)送給所述發(fā)起方,設(shè)置所述第一數(shù)據(jù)為鏈路加密密鑰。
[0014]所述數(shù)據(jù)通信模塊,具體用于接收所述發(fā)起方發(fā)送的操作數(shù)據(jù),使用所述配對(duì)模塊獲得的鏈路加密密鑰對(duì)所述操作數(shù)據(jù)進(jìn)行解密,根據(jù)解密結(jié)果執(zhí)行相應(yīng)操作,并將經(jīng)過(guò)所述鏈路加密密鑰加密得到的操作響應(yīng)返回給所述發(fā)起方。
[0015]進(jìn)一步的,所述配對(duì)模塊還包括第三收發(fā)單元、第一判斷單元、第二判斷單元、第三判斷單元和模式設(shè)置單元;
[0016]所述第三收發(fā)單元,用于接收所述發(fā)起方發(fā)來(lái)的配對(duì)交換請(qǐng)求,用于在收到所述第一判斷單元的觸發(fā)時(shí)向所述發(fā)起方返回預(yù)設(shè)數(shù)據(jù),用于收到所述第二判斷單元的觸發(fā)時(shí)向所述發(fā)起方返回表示密鑰長(zhǎng)度不支持的信息,用于收到所述第三判斷單元的觸發(fā)時(shí)向所述發(fā)起方返回表示拒絕配對(duì)的信息;
[0017]所述第一判斷單元,用于判斷當(dāng)前模式是否為配對(duì)模式,是則觸發(fā)所述第二判斷單元,否則觸發(fā)所述第三收發(fā)單元和第三判斷單元;
[0018]所述第二判斷單元,用于判斷設(shè)備是否支持所述配對(duì)交換請(qǐng)求中指定的密鑰長(zhǎng)度,是則向所述發(fā)起方返回配對(duì)交換響應(yīng),否則觸發(fā)所述第三收發(fā)單元;
[0019]所述第三判斷單元,用于判斷是否有長(zhǎng)按鍵操作,是則觸發(fā)所述第二判斷單元,否則觸發(fā)所述第三收發(fā)單元;
[0020]所述模式設(shè)置單元,用于在所述設(shè)備開(kāi)機(jī)后設(shè)置當(dāng)前模式為配對(duì)模式,還用于在所述配對(duì)模塊完成配對(duì)后設(shè)置當(dāng)前模式為非配對(duì)模式。
[0021]—種藍(lán)牙設(shè)備的工作方法,包括所述設(shè)備與發(fā)起方之間的藍(lán)牙連接過(guò)程、配對(duì)過(guò)程和數(shù)據(jù)通信過(guò)程,所述配對(duì)過(guò)程包括:
[0022]步驟S1:當(dāng)所述設(shè)備接收到所述發(fā)起方發(fā)來(lái)的配對(duì)確認(rèn)請(qǐng)求時(shí),從所述配對(duì)確認(rèn)請(qǐng)求中獲取第一確認(rèn)值,生成第二隨機(jī)數(shù);根據(jù)預(yù)設(shè)認(rèn)證碼、所述第二隨機(jī)數(shù)、當(dāng)前保存的發(fā)起方的MAC地址和設(shè)備自身的MAC地址計(jì)算出第二確認(rèn)值,并向所述發(fā)起方返回所述第二確認(rèn)值;
[0023]步驟S2:當(dāng)所述設(shè)備接收到發(fā)起方發(fā)來(lái)的隨機(jī)數(shù)交換請(qǐng)求時(shí),從所述隨機(jī)數(shù)交換請(qǐng)求中獲取第一隨機(jī)數(shù);根據(jù)所述第一隨機(jī)數(shù)驗(yàn)證所述第一確認(rèn)值,若通過(guò)驗(yàn)證則執(zhí)行步驟S3,若未通過(guò)驗(yàn)證則執(zhí)行步驟S5;
[0024]步驟S3:所述設(shè)備向所述發(fā)起方返回所述第二隨機(jī)數(shù);
[0025]步驟S4:所述設(shè)備根據(jù)所述預(yù)設(shè)認(rèn)證碼、所述第一隨機(jī)數(shù)、所述第二隨機(jī)數(shù)計(jì)算得到加密密鑰;根據(jù)預(yù)置的第一數(shù)據(jù)、第二數(shù)據(jù)和第三數(shù)據(jù)組成鏈路加密數(shù)據(jù),使用所述加密密鑰加密所述鏈路加密數(shù)據(jù)得到鏈路加密請(qǐng)求并發(fā)送給所述發(fā)起方,將所述第一數(shù)據(jù)作為鏈路加密密鑰,配對(duì)過(guò)程結(jié)束;
[0026]步驟S5:所述設(shè)備向所述發(fā)起方返回錯(cuò)誤信息,配對(duì)過(guò)程結(jié)束。
[0027]所述配對(duì)過(guò)程還包括,當(dāng)所述設(shè)備接收到所述發(fā)起方發(fā)來(lái)的配對(duì)交換請(qǐng)求時(shí),所述設(shè)備執(zhí)行以下步驟:
[0028]步驟A:判斷當(dāng)前模式是否為配對(duì)模式,是則執(zhí)行步驟B,否則執(zhí)行步驟B’;
[0029]步驟B:判斷是否支持所述配對(duì)交換請(qǐng)求中指定的密鑰長(zhǎng)度,是則向所述發(fā)起方返回配對(duì)交換響應(yīng),否則向所述發(fā)起方返回表示密鑰長(zhǎng)度不支持的信息;
[0030]步驟B’:向所述發(fā)起方返回預(yù)設(shè)數(shù)據(jù),并判斷是否有長(zhǎng)按鍵操作,是則執(zhí)行步驟B,否則向所述發(fā)起方返回表示拒絕配對(duì)的信息;
[0031]所述方法還包括:所述設(shè)備開(kāi)機(jī)后設(shè)置當(dāng)前模式為配對(duì)模式,所述步驟S4中配對(duì)過(guò)程結(jié)束時(shí)還包括:所述設(shè)備修改當(dāng)前模式為非配對(duì)模式。
[0032]上述藍(lán)牙連接過(guò)程包括:
[0033]步驟1:當(dāng)所述設(shè)備接收到藍(lán)牙連接事件時(shí),與發(fā)起連接的發(fā)起方建立藍(lán)牙連接,獲取所述發(fā)起方的MAC地址并保存;
[0034]步驟2:所述設(shè)備等待接收所述發(fā)起方發(fā)送數(shù)據(jù)請(qǐng)求,當(dāng)接收到的數(shù)據(jù)請(qǐng)求為配對(duì)確認(rèn)請(qǐng)求時(shí)執(zhí)行所述步驟SI,當(dāng)接收到的數(shù)據(jù)請(qǐng)求為隨機(jī)數(shù)交換請(qǐng)求時(shí)執(zhí)行所述步驟S2。
[0035]上述步驟S4中配對(duì)過(guò)程結(jié)束時(shí)還包括,所述設(shè)備為所述發(fā)起方存儲(chǔ)與所述發(fā)起方對(duì)應(yīng)的配對(duì)信息。
[0036]所述發(fā)起方對(duì)應(yīng)的配對(duì)信息包括所述發(fā)起方的MAC地址、所述第一數(shù)據(jù)、所述第二數(shù)據(jù)和所述第三數(shù)據(jù)。進(jìn)一步的,所述發(fā)起方對(duì)應(yīng)的配對(duì)信息還可以包括綁定個(gè)數(shù)和/或發(fā)起方的身份解析密鑰。
[0037]上述數(shù)據(jù)通信過(guò)程包括,當(dāng)所述設(shè)備接收到所述發(fā)起方發(fā)送的操作數(shù)據(jù)時(shí),使用所述鏈路加密密鑰對(duì)所述操作數(shù)據(jù)進(jìn)行解密,根據(jù)解密結(jié)果執(zhí)行相應(yīng)操作,并將經(jīng)過(guò)所述鏈路加密密鑰加密得到的操作響應(yīng)返回給所述發(fā)起方。
[0038]本發(fā)明的有益效果是:本發(fā)明提供的藍(lán)牙設(shè)備及其工作方法,在兼容現(xiàn)有藍(lán)牙協(xié)議的同時(shí),既增強(qiáng)了配對(duì)的安全性,又有效避免了未經(jīng)用戶允許的未知設(shè)備與用戶自身設(shè)備進(jìn)行配對(duì)的問(wèn)題。
【附圖說(shuō)明】
[0039]圖1是實(shí)施例1提供的一種藍(lán)牙設(shè)備的模塊組成圖;
[0040]圖2是實(shí)施例3提供的一種藍(lán)牙設(shè)備的配對(duì)方法流程圖;
[0041 ]圖3是實(shí)施例4提供的一種藍(lán)牙設(shè)備的配對(duì)方法流程圖。
【具體實(shí)施方式】
[0042]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0043]實(shí)施例1
[0044]本實(shí)施例提供了一種藍(lán)牙設(shè)備,如圖1所示,包括所述藍(lán)牙連接模塊200、配對(duì)模塊100和數(shù)據(jù)通信模塊300,其中,
[0045]所述藍(lán)牙連接模塊200,用于當(dāng)接收到藍(lán)牙連接事件時(shí),與發(fā)起連接的發(fā)起方建立藍(lán)牙連接,獲取所述發(fā)起方的MAC地址并保存;
[0046]所述藍(lán)牙連接模塊200與所述配對(duì)模塊100和所述數(shù)據(jù)通信模塊300連接,具體還用于當(dāng)獲取所述發(fā)起方的MAC地址之后,根據(jù)所述發(fā)起方的MAC地址判斷所述發(fā)起方是否是已綁定設(shè)備,是則根據(jù)所述發(fā)起方的MAC地址,獲取與所述發(fā)起方對(duì)應(yīng)的配對(duì)信息,將所述配對(duì)信息中的第一數(shù)據(jù)作為鏈路加密密鑰,并觸發(fā)所述數(shù)據(jù)通信模塊300;否則觸發(fā)所述配對(duì)模塊100;所述發(fā)起方對(duì)應(yīng)的配對(duì)信息包括所述發(fā)起方的MAC地址、所述第一數(shù)據(jù)、所述第二數(shù)據(jù)和所述第三數(shù)據(jù)。
[0047]或者是,所述藍(lán)牙連接模塊200具體還用于當(dāng)獲取所述發(fā)起方的MAC地址,且所述發(fā)起方的MAC地址的高位起的兩個(gè)比特位為預(yù)設(shè)值時(shí),接收所述發(fā)起方的身份解析密鑰,根據(jù)所述發(fā)起方的身份解析密鑰判斷所述發(fā)起方是否是已綁定設(shè)備,是則根據(jù)所述發(fā)起方的身份解析密鑰,獲取與所述發(fā)起方對(duì)應(yīng)的配對(duì)信息,將所述配對(duì)信息中的第一數(shù)據(jù)作為鏈路加密密鑰,并觸發(fā)所述數(shù)據(jù)通信模塊300;否則觸發(fā)所述配對(duì)模塊100;所述發(fā)起方對(duì)應(yīng)的配對(duì)信息包括所述發(fā)起方的MAC地址、所述第一數(shù)據(jù)、所述第二數(shù)據(jù)、所述第三數(shù)據(jù)和所述發(fā)起方的身份解析密鑰。
[0048]本實(shí)施例中,所述配對(duì)模塊100具體包括第一收發(fā)單元101、第一計(jì)算單元102、第二收發(fā)單元103、驗(yàn)證單元104、第二計(jì)算單元105和鏈路加密單元106:
[0049]所述第一收發(fā)單元101,用于接收發(fā)起方發(fā)來(lái)的配對(duì)確認(rèn)請(qǐng)求,從所述配對(duì)確認(rèn)請(qǐng)求中獲取第一確認(rèn)值,生成第二隨機(jī)數(shù);還用于將所述第一計(jì)算單元102計(jì)算出的所述第二確認(rèn)值返回給所述發(fā)起方;
[0050]所述第一計(jì)算單元102,用于根據(jù)預(yù)設(shè)認(rèn)證碼、所述第一收發(fā)單元生成的所述第二隨機(jī)數(shù)、當(dāng)前保存的發(fā)起方的MAC地址、所述藍(lán)牙設(shè)備自身的MAC地址計(jì)算出第二確認(rèn)值;
[0051]所述第二收發(fā)單元103,用于接收所述發(fā)起方發(fā)來(lái)的隨機(jī)數(shù)交換請(qǐng)求,從所述隨機(jī)數(shù)交換請(qǐng)求中獲取第一隨機(jī)數(shù);用于當(dāng)所述驗(yàn)證單元104的驗(yàn)證結(jié)果為通過(guò)驗(yàn)證時(shí)向所述發(fā)起方返回所述第一收發(fā)單元101生成的所述第二隨機(jī)數(shù),并觸發(fā)第二計(jì)算單元105;還用于當(dāng)所述驗(yàn)證單元104的驗(yàn)證結(jié)果為未通過(guò)驗(yàn)證時(shí)向所述發(fā)起方返回錯(cuò)誤信息;
[0052]所述驗(yàn)證單元104,用于根據(jù)所述第二收發(fā)單元103獲取的所述第一隨機(jī)數(shù)驗(yàn)證所述第一收發(fā)單元101獲取的所述第一確認(rèn)值;具體用于根據(jù)所述第一隨機(jī)數(shù)、所述預(yù)設(shè)認(rèn)證碼、所述發(fā)起方的MAC地址和所述設(shè)備自身的MAC地址計(jì)算出第一比較值,比較所述第一比較值與所述第一確認(rèn)值是否一致。
[0053]所述第二計(jì)算單元105,用于根據(jù)所述預(yù)設(shè)認(rèn)證碼、所述第二收發(fā)單元103獲取的所述第一隨機(jī)數(shù)、所述第一收發(fā)單元101生成的所述第二隨機(jī)數(shù)計(jì)算得到加密密鑰;
[0054]所述鏈路加密單元106,用于根據(jù)預(yù)置的第一數(shù)據(jù)、第二數(shù)據(jù)和第三數(shù)據(jù)組成鏈路加密數(shù)據(jù),使用所述第二計(jì)算單元105計(jì)算得到的所述加密密鑰加密所述鏈路加密數(shù)據(jù)得到鏈路加密請(qǐng)求并發(fā)送給所述發(fā)起方,設(shè)置所述第一數(shù)據(jù)為鏈路加密密鑰。
[0055]優(yōu)選的,本實(shí)施例中所述配對(duì)模塊還包括第三收發(fā)單元、第一判斷單元、第二判斷單元、第三判斷單元和模式設(shè)置單元;
[0056]所述第三收發(fā)單元,用于接收所述發(fā)起方發(fā)來(lái)的配對(duì)交換請(qǐng)求,用于在收到所述第一判斷單元的觸發(fā)時(shí)向所述發(fā)起方返回預(yù)設(shè)數(shù)據(jù),用于收到所述第二判斷單元的觸發(fā)時(shí)向所述發(fā)起方返回表示密鑰長(zhǎng)度不支持的信息,用于收到所述第三判斷單元的觸發(fā)時(shí)向所述發(fā)起方返回表示拒絕配對(duì)的信息;
[0057]所述第一判斷單元,用于判斷當(dāng)前模式是否為配對(duì)模式,是則觸發(fā)所述第二判斷單元,否則觸發(fā)所述第三收發(fā)單元和第三判斷單元;
[0058]所述第二判斷單元,用于判斷設(shè)備是否支持所述配對(duì)交換請(qǐng)求中指定的密鑰長(zhǎng)度,是則向所述發(fā)起方返回配對(duì)交換響應(yīng),否則觸發(fā)所述第三收發(fā)單元;
[0059]所述第三判斷單元,用于判斷是否有長(zhǎng)按鍵操作,是則觸發(fā)所述第二判斷單元,否則觸發(fā)所述第三收發(fā)單元;
[0060]所述模式設(shè)置單元,用于在所述設(shè)備開(kāi)機(jī)后設(shè)置當(dāng)前模式為配對(duì)模式,還用于在所述配對(duì)模塊完成配對(duì)后設(shè)置當(dāng)前模式為非配對(duì)模式。具體用于在所述設(shè)備開(kāi)機(jī)后判斷開(kāi)機(jī)方式,若是短按鍵開(kāi)機(jī)則判斷是否有長(zhǎng)按鍵操作,是則置位配對(duì)模式標(biāo)志,開(kāi)啟藍(lán)牙廣播,等待藍(lán)牙連接,否則開(kāi)啟藍(lán)牙廣播,等待藍(lán)牙連接;若是長(zhǎng)按鍵開(kāi)機(jī)則置位配對(duì)模式標(biāo)志,開(kāi)啟藍(lán)牙廣播,等待藍(lán)牙連接;還用于在所述配對(duì)模塊完成配對(duì)后復(fù)位所述配對(duì)模式標(biāo)
V 1、1、O
[0061 ]進(jìn)一步的,本實(shí)施例中所述配對(duì)模塊還包括存儲(chǔ)單元,所述存儲(chǔ)單元,用于為所述發(fā)起方存儲(chǔ)與所述發(fā)起方對(duì)應(yīng)的配對(duì)信息。
[0062]當(dāng)所述配對(duì)信息還包括綁定個(gè)數(shù)時(shí),所述存儲(chǔ)單元,具體用于根據(jù)當(dāng)前已存儲(chǔ)的配對(duì)信息中包含的綁定個(gè)數(shù)判斷已綁定設(shè)備的個(gè)數(shù)是否已達(dá)到上限值,是則根據(jù)所述上限值從當(dāng)前已存儲(chǔ)的配對(duì)信息中清除一個(gè)配對(duì)信息之后,為所述發(fā)起方存儲(chǔ)與所述發(fā)起方對(duì)應(yīng)的配對(duì)信息;否則根據(jù)當(dāng)前已存儲(chǔ)的所有配對(duì)信息中包含的綁定個(gè)數(shù)設(shè)置與所述發(fā)起方對(duì)應(yīng)的配對(duì)信息中的綁定個(gè)數(shù),并為所述發(fā)起方存儲(chǔ)與所述發(fā)起方對(duì)應(yīng)的配對(duì)信息。例如所述上限值為10,當(dāng)已綁定設(shè)備的個(gè)數(shù)達(dá)到10個(gè)時(shí),按照先進(jìn)先出原則,從當(dāng)前已存儲(chǔ)的配對(duì)信息中找到所包含的綁定個(gè)數(shù)為I的配對(duì)信息并刪除,將當(dāng)前已存儲(chǔ)的配對(duì)信息中所包含的綁定個(gè)數(shù)分別自減I,存儲(chǔ)所述發(fā)起方對(duì)應(yīng)的配對(duì)信息(該配對(duì)信息所包含的綁定個(gè)數(shù)為10)。當(dāng)已綁定設(shè)備的個(gè)數(shù)未達(dá)到10個(gè)時(shí),若當(dāng)前已存儲(chǔ)所有配對(duì)信息中包含的綁定個(gè)數(shù)的最大值為2,則為所述發(fā)起方存儲(chǔ)與所述發(fā)起方對(duì)應(yīng)的配對(duì)信息(該配對(duì)信息所包含的綁定個(gè)數(shù)為3)。
[0063]本實(shí)施中,所述數(shù)據(jù)通信模塊,具體用于接收所述發(fā)起方發(fā)送的操作數(shù)據(jù),使用所述配對(duì)模塊獲得的鏈路加密密鑰對(duì)所述操作數(shù)據(jù)進(jìn)行解密,根據(jù)解密結(jié)果執(zhí)行相應(yīng)操作,并將經(jīng)過(guò)所述鏈路加密密鑰加密得到的操作響應(yīng)返回給所述發(fā)起方。
[0064]實(shí)施例2
[0065]本實(shí)施例提供了一種實(shí)施例1中所述藍(lán)牙設(shè)備的工作方法,包括藍(lán)牙連接過(guò)程、配對(duì)過(guò)程和數(shù)據(jù)通信過(guò)程。其中,所述配對(duì)過(guò)程包括以下步驟:
[0066]步驟S1:當(dāng)所述設(shè)備接收到所述發(fā)起方發(fā)來(lái)的配對(duì)確認(rèn)請(qǐng)求時(shí),從所述配對(duì)確認(rèn)請(qǐng)求中獲取第一確認(rèn)值,生成第二隨機(jī)數(shù);根據(jù)預(yù)設(shè)認(rèn)證碼、所述第二隨機(jī)數(shù)、當(dāng)前保存的發(fā)起方的MAC地址和設(shè)備自身的MAC地址計(jì)算出第二確認(rèn)值,并向所述發(fā)起方返回所述第二確認(rèn)值;
[0067]步驟S2:當(dāng)所述設(shè)備接收到發(fā)起方發(fā)來(lái)的隨機(jī)數(shù)交換請(qǐng)求時(shí),從所述隨機(jī)數(shù)交換請(qǐng)求中獲取第一隨機(jī)數(shù);根據(jù)所述第一隨機(jī)數(shù)驗(yàn)證所述第一確認(rèn)值,若通過(guò)驗(yàn)證則執(zhí)行步驟S3,若未通過(guò)驗(yàn)證則執(zhí)行步驟S5;
[0068]步驟S3:所述設(shè)備向所述發(fā)起方返回所述第二隨機(jī)數(shù);
[0069]步驟S4:所述設(shè)備根據(jù)所述預(yù)設(shè)認(rèn)證碼、所述第一隨機(jī)數(shù)、所述第二隨機(jī)數(shù)計(jì)算得到加密密鑰;根據(jù)預(yù)置的第一數(shù)據(jù)、第二數(shù)據(jù)和第三數(shù)據(jù)組成鏈路加密數(shù)據(jù),使用所述加密密鑰加密所述鏈路加密數(shù)據(jù)得到鏈路加密請(qǐng)求并將其發(fā)送給所述發(fā)起方,將所述第一數(shù)據(jù)作為鏈路加密密鑰,為所述發(fā)起方存儲(chǔ)與所述發(fā)起方對(duì)應(yīng)的配對(duì)信息,配對(duì)過(guò)程結(jié)束;
[0070]本步驟中,所述發(fā)起方對(duì)應(yīng)的配對(duì)信息包括:所述發(fā)起方的MAC地址、所述第一數(shù)據(jù)、所述第二數(shù)據(jù)和所述第三數(shù)據(jù)。
[0071]步驟S5:所述設(shè)備向所述發(fā)起方返回錯(cuò)誤信息,配對(duì)過(guò)程結(jié)束。
[0072]進(jìn)一步的,所述發(fā)起方對(duì)應(yīng)的配對(duì)信息還可以包括綁定個(gè)數(shù)。當(dāng)所述配對(duì)信息包括綁定個(gè)數(shù)時(shí),步驟S4中所述存儲(chǔ)與所述發(fā)起方對(duì)應(yīng)的配對(duì)信息之前還包括,根據(jù)設(shè)備中已存儲(chǔ)的所有配對(duì)信息所包含的綁定個(gè)數(shù)判斷當(dāng)前已綁定設(shè)備的個(gè)數(shù)是否已達(dá)到上限值,是則根據(jù)所述上限值從當(dāng)前已存儲(chǔ)的配對(duì)信息中清除一個(gè)配對(duì)信息,否則根據(jù)當(dāng)前已存儲(chǔ)的所有配對(duì)信息中所包含的綁定個(gè)數(shù)設(shè)置與所述發(fā)起方對(duì)應(yīng)的配對(duì)信息所包含的綁定個(gè)數(shù)。例如所述上限值為3,當(dāng)已綁定設(shè)備的個(gè)數(shù)未達(dá)到3個(gè)時(shí),若當(dāng)前已存儲(chǔ)所有配對(duì)信息中包含的綁定個(gè)數(shù)的最大值為I,則為所述發(fā)起方存儲(chǔ)與所述發(fā)起方對(duì)應(yīng)的配對(duì)信息(該配對(duì)信息所包含的綁定個(gè)數(shù)為2)。
[0073]進(jìn)一步的,所述配對(duì)過(guò)程還包括,當(dāng)所述設(shè)備接收到所述發(fā)起方發(fā)來(lái)的配對(duì)交換請(qǐng)求時(shí),所述設(shè)備執(zhí)行以下步驟:
[0074]步驟A:所述設(shè)備判斷當(dāng)前模式是否為配對(duì)模式,是則執(zhí)行步驟B,否則執(zhí)行步驟B,;
[0075]步驟B:所述設(shè)備判斷是否支持所述配對(duì)交換請(qǐng)求中指定的密鑰長(zhǎng)度,是則向所述發(fā)起方返回配對(duì)交換響應(yīng),否則向所述發(fā)起方返回表示密鑰長(zhǎng)度不支持的信息;
[0076]步驟B’:所述設(shè)備向所述發(fā)起方返回預(yù)設(shè)數(shù)據(jù),并判斷是否有長(zhǎng)按鍵操作,是則執(zhí)行步驟B,否則向所述發(fā)起方返回表示拒絕配對(duì)的信息;
[0077]所述方法還包括:所述設(shè)備開(kāi)機(jī)后設(shè)置當(dāng)前模式為配對(duì)模式,所述步驟S4中配對(duì)過(guò)程結(jié)束時(shí)還包括:所述設(shè)備修改當(dāng)前模式為非配對(duì)模式。
[0078]優(yōu)選的,本實(shí)施例中提供的所述藍(lán)牙連接過(guò)程包括:
[0079]步驟1:當(dāng)所述設(shè)備接收到藍(lán)牙連接事件時(shí),與發(fā)起連接的發(fā)起方建立藍(lán)牙連接,獲取所述發(fā)起方的MAC地址并保存;
[0080]步驟2:所述設(shè)備等待接收所述發(fā)起方發(fā)送的數(shù)據(jù)請(qǐng)求,當(dāng)接收到的數(shù)據(jù)請(qǐng)求為配對(duì)確認(rèn)請(qǐng)求時(shí)執(zhí)行所述步驟SI,當(dāng)接收到的數(shù)據(jù)請(qǐng)求為隨機(jī)數(shù)交換請(qǐng)求時(shí)執(zhí)行所述步驟S2,當(dāng)接收到配對(duì)交換請(qǐng)求時(shí)執(zhí)行所述步驟A。
[0081 ]上述步驟I中當(dāng)所述設(shè)備獲取所述發(fā)起方的MAC地址,且所述發(fā)起方的MAC地址的高位起的兩個(gè)比特位為預(yù)設(shè)值時(shí),還包括:所述設(shè)備接收所述發(fā)起方的身份解析密鑰,根據(jù)所述發(fā)起方的身份解析密鑰判斷所述發(fā)起方是否是已綁定設(shè)備,是則根據(jù)所述發(fā)起方的身份解析密鑰,獲取與所述發(fā)起方對(duì)應(yīng)的配對(duì)信息,將所述配對(duì)信息中的第一數(shù)據(jù)作為鏈路加密密鑰,進(jìn)入所述數(shù)據(jù)通信過(guò)程;否則執(zhí)行所述步驟2;相應(yīng)的所述配對(duì)信息還包括發(fā)起方的身份解析密鑰。
[0082]實(shí)施例3
[0083]在實(shí)施例2的基礎(chǔ)上,本實(shí)施例提供了一種藍(lán)牙設(shè)備的配對(duì)方法,以所述藍(lán)牙設(shè)備(本實(shí)施例中稱(chēng)為從設(shè)備)與發(fā)起方(本實(shí)施例中稱(chēng)為主設(shè)備)進(jìn)行配對(duì)為例,配對(duì)過(guò)程中從設(shè)備執(zhí)行的操作如圖2所示,包括以下步驟:
[0084]步驟1:當(dāng)從設(shè)備接收到主設(shè)備發(fā)來(lái)的配對(duì)確認(rèn)請(qǐng)求時(shí),從所述配對(duì)確認(rèn)請(qǐng)求中獲取第一確認(rèn)值,生成第二隨機(jī)數(shù);
[0085]步驟2:從設(shè)備根據(jù)預(yù)設(shè)認(rèn)證碼、第二隨機(jī)數(shù)、當(dāng)前保存的主設(shè)備的MAC地址和從設(shè)備自身的MAC地址計(jì)算出第二確認(rèn)值,并向主設(shè)備返回所述第二確認(rèn)值;
[0086]步驟3:當(dāng)從設(shè)備接收到主設(shè)備發(fā)來(lái)的隨機(jī)數(shù)交換請(qǐng)求時(shí),從所述隨機(jī)數(shù)交換請(qǐng)求中獲取第一隨機(jī)數(shù);
[0087]步驟4:從設(shè)備根據(jù)所述第一隨機(jī)數(shù)驗(yàn)證所述第一確認(rèn)值,若通過(guò)驗(yàn)證則執(zhí)行步驟5,若未通過(guò)驗(yàn)證則執(zhí)行步驟7 ;
[0088]具體的,從設(shè)備根據(jù)所述第一隨機(jī)數(shù)、預(yù)設(shè)認(rèn)證碼、當(dāng)前保存的主設(shè)備的MAC地址和從設(shè)備自身的MAC地址計(jì)算出第一比較值,比較所述第一比較值與所述第一確認(rèn)值是否一致,是則通過(guò)驗(yàn)證,否則未通過(guò)驗(yàn)證。
[0089]步驟5:從設(shè)備向主設(shè)備返回所述第二隨機(jī)數(shù),并根據(jù)預(yù)設(shè)認(rèn)證碼、第一隨機(jī)數(shù)、第二隨機(jī)數(shù)計(jì)算得到加密密鑰;
[0090]步驟6:從設(shè)備根據(jù)預(yù)置的第一數(shù)據(jù)、第二數(shù)據(jù)和第三數(shù)據(jù)組成鏈路加密數(shù)據(jù),使用所述加密密鑰加密所述鏈路加密數(shù)據(jù)得到鏈路加密請(qǐng)求并發(fā)送給所述主設(shè)備,配對(duì)結(jié)束;
[0091]優(yōu)選的,預(yù)置的第一數(shù)據(jù)為鏈路加密密鑰。本步驟中對(duì)于預(yù)置的第三數(shù)據(jù),還可以是從設(shè)備生成第三隨機(jī)數(shù),并將生成的所述第三隨機(jī)數(shù)作為第三數(shù)據(jù)保存。
[0092]進(jìn)一步的,本步驟還可以包括,從設(shè)備獲取所述主設(shè)備對(duì)應(yīng)的配對(duì)信息并存儲(chǔ)。優(yōu)選的,所述主設(shè)備對(duì)應(yīng)的配對(duì)信息包括主設(shè)備的MAC地址、第一數(shù)據(jù)(LTK)、第二數(shù)據(jù)(EDIV)和第三數(shù)據(jù)(Rand)。
[0093]優(yōu)選的,當(dāng)從設(shè)備獲取主設(shè)備的MAC地址時(shí),還包括,根據(jù)該MAC地址判斷所述主設(shè)備是否是已綁定設(shè)備,是則直接使用與該MAC地址對(duì)應(yīng)的配對(duì)信息中的第一數(shù)據(jù)作為鏈路加密密鑰與主設(shè)備進(jìn)行數(shù)據(jù)通信,否則執(zhí)行本發(fā)明所述配對(duì)流程,并在配對(duì)結(jié)束時(shí)存儲(chǔ)與所述主設(shè)備對(duì)應(yīng)的配對(duì)信息。
[0094]當(dāng)所述主設(shè)備的MAC地址的高位起的兩個(gè)比特位為10時(shí),從設(shè)備還可以獲得主設(shè)備的身份解析密鑰(IRK),相應(yīng)的,所述配對(duì)信息還包括主設(shè)備的身份解析密鑰。優(yōu)選的,當(dāng)從設(shè)備獲取主設(shè)備的IRK時(shí),根據(jù)該IRK判斷所述主設(shè)備是否是已綁定設(shè)備,是則直接使用與該IRK對(duì)應(yīng)的配對(duì)信息中的第一數(shù)據(jù)作為鏈路加密密鑰與主設(shè)備進(jìn)行數(shù)據(jù)通信,否則執(zhí)行本發(fā)明所述配對(duì)流程,并在配對(duì)結(jié)束時(shí)存儲(chǔ)于所述主設(shè)備對(duì)應(yīng)的配對(duì)信息。
[0095]當(dāng)所述從設(shè)備設(shè)置有最多可綁定的設(shè)備個(gè)數(shù)時(shí),所述配對(duì)信息還可以包括綁定個(gè)數(shù),相應(yīng)的,所述從設(shè)備存儲(chǔ)所述配對(duì)信息之前還包括,根據(jù)已存儲(chǔ)的配對(duì)信息中包含的綁定個(gè)數(shù)判斷已綁定設(shè)備的個(gè)數(shù)是否已達(dá)到上限值,是則從已存儲(chǔ)的配對(duì)信息中清除與所述上限值對(duì)應(yīng)的配對(duì)信息,將已存儲(chǔ)的所有配對(duì)信息中包含的綁定個(gè)數(shù)分別加I,設(shè)置當(dāng)前的所述主設(shè)備對(duì)應(yīng)的綁定個(gè)數(shù)為初值;否則設(shè)置當(dāng)前的所述主設(shè)備對(duì)應(yīng)的綁定個(gè)數(shù)為當(dāng)前已存儲(chǔ)的配對(duì)信息中包含的綁定個(gè)數(shù)的最大值加I。例如,上限值為10,初值為I。
[0096]步驟7:從設(shè)備向所述主設(shè)備返回錯(cuò)誤信息,配對(duì)結(jié)束。
[0097]進(jìn)一步的,與圖2所示流程相對(duì)應(yīng),藍(lán)牙配對(duì)過(guò)程中當(dāng)主設(shè)備接收到用戶的操作時(shí),主設(shè)備執(zhí)行以下步驟:
[0098]步驟al:主設(shè)備生成第一隨機(jī)數(shù),根據(jù)預(yù)設(shè)認(rèn)證碼、第一隨機(jī)數(shù)、從設(shè)備的MAC地址和主設(shè)備自身的MAC地址計(jì)算出第一確認(rèn)值,根據(jù)所述第一確認(rèn)值組成配對(duì)確認(rèn)請(qǐng)求并發(fā)送給從設(shè)備;
[0099]進(jìn)一步的,本步驟還可以是:主設(shè)備生成第一隨機(jī)數(shù),接收用戶輸入的預(yù)設(shè)認(rèn)證碼,根據(jù)預(yù)設(shè)認(rèn)證碼、第一隨機(jī)數(shù)、從設(shè)備的MAC地址和主設(shè)備自身的MAC地址計(jì)算出第一確認(rèn)值,將第一確認(rèn)值作為配對(duì)確認(rèn)請(qǐng)求發(fā)送給從設(shè)備。優(yōu)選的,所述主設(shè)備的外殼上印刷有所述預(yù)設(shè)認(rèn)證碼。
[0100]步驟a2:主設(shè)備接收從設(shè)備返回的第二確認(rèn)值,根據(jù)所述第一隨機(jī)數(shù)組成隨機(jī)數(shù)交換請(qǐng)求并將其發(fā)送給所述從設(shè)備;
[0101]步驟a3:主設(shè)備接收從設(shè)備返回的第二隨機(jī)數(shù);
[0102]步驟a4:主設(shè)備根據(jù)所述第二隨機(jī)數(shù)驗(yàn)證所述第二確認(rèn)值,若通過(guò)驗(yàn)證則執(zhí)行步驟a5,若未通過(guò)驗(yàn)證則顯示配對(duì)失敗,并等待用戶的操作;
[0103]具體的,主設(shè)備根據(jù)所述第二隨機(jī)數(shù)、預(yù)設(shè)認(rèn)證碼、當(dāng)前保存的從設(shè)備的MAC地址和主設(shè)備自身的MAC地址計(jì)算出第二比較值,比較所述第二比較值與所述第二確認(rèn)值是否一致,是則通過(guò)驗(yàn)證,否則未通過(guò)驗(yàn)證。
[0104]步驟a5:主設(shè)備根據(jù)預(yù)設(shè)認(rèn)證碼、第一隨機(jī)數(shù)和第二隨機(jī)數(shù)計(jì)算得到加密密鑰;
[0105]步驟a6:當(dāng)主設(shè)備接收到從設(shè)備發(fā)送的鏈路加密請(qǐng)求時(shí),使用所述加密密鑰解密所述鏈路加密請(qǐng)求得到第一數(shù)據(jù)、第二數(shù)據(jù)和第三數(shù)據(jù),將第一數(shù)據(jù)作為鏈路加密密鑰保存,將第二數(shù)據(jù)和第三數(shù)據(jù)與鏈路加密密鑰建立對(duì)應(yīng)關(guān)系并保存。
[0106]進(jìn)一步的,本步驟還可以包括,主設(shè)備根據(jù)所述從設(shè)備的MAC地址、所述鏈路加密密鑰、所述第二數(shù)據(jù)和所述第三數(shù)據(jù)組成與所述從設(shè)備對(duì)應(yīng)的配對(duì)信息并存儲(chǔ)。
[0107]實(shí)施例4
[0108]在實(shí)施例2的基礎(chǔ)上,本實(shí)施例提供了一種藍(lán)牙設(shè)備的配對(duì)方法,以所述藍(lán)牙設(shè)備(從設(shè)備)與發(fā)起方(主設(shè)備)進(jìn)行配對(duì)為例進(jìn)行詳細(xì)說(shuō)明,如圖3所示,從設(shè)備(以下簡(jiǎn)稱(chēng)設(shè)備)開(kāi)機(jī)以后,執(zhí)行以下步驟:
[0109]步驟101:判斷開(kāi)機(jī)方式,若是長(zhǎng)按鍵開(kāi)機(jī)則執(zhí)行步驟104,若是短按鍵開(kāi)機(jī)則執(zhí)行步驟102;
[0110]優(yōu)選的,設(shè)備判斷按鍵按下時(shí)間,若達(dá)到5s則開(kāi)機(jī)方式為長(zhǎng)按鍵開(kāi)機(jī),否則開(kāi)機(jī)方式為短按鍵開(kāi)機(jī)。
[0111]步驟102:判斷是否有長(zhǎng)按鍵操作,是則執(zhí)行步驟104,否則執(zhí)行步驟103;
[0112]具體的,判斷按鍵按下是否是否達(dá)到5s,是則表示有長(zhǎng)按鍵操作,否則表示沒(méi)有長(zhǎng)按鍵操作。
[0113]步驟103:開(kāi)啟藍(lán)牙廣播,執(zhí)行步驟105;
[0114]步驟104:置位配對(duì)模式標(biāo)志,開(kāi)啟藍(lán)牙廣播,執(zhí)行步驟105;
[0115]步驟105:等待藍(lán)牙連接事件;
[0116]步驟106:當(dāng)接收到藍(lán)牙連接事件時(shí),獲取發(fā)起連接的主設(shè)備的MAC地址并保存;
[0117]例如,獲取并保持的主設(shè)備的MAC地址為0χΑ1Α2Α3Α4Α5Α6。
[0118]步驟107:等待接收所述主設(shè)備發(fā)送的數(shù)據(jù)請(qǐng)求;
[0119]當(dāng)接收到數(shù)據(jù)請(qǐng)求時(shí),執(zhí)行步驟108;
[0120]步驟108:判斷接收到的數(shù)據(jù)請(qǐng)求的類(lèi)型,若是配對(duì)交換請(qǐng)求則執(zhí)行步驟109,若是配對(duì)確認(rèn)請(qǐng)求則執(zhí)行步驟116,若是隨機(jī)數(shù)交換請(qǐng)求則執(zhí)行步驟118;
[0121]具體的,判斷接收到的數(shù)據(jù)請(qǐng)求的低位起的第一個(gè)八位組(octet),若為0x01則數(shù)據(jù)請(qǐng)求的類(lèi)型為配對(duì)交換請(qǐng)求,若為0x03則數(shù)據(jù)請(qǐng)求的類(lèi)型為配對(duì)確認(rèn)請(qǐng)求,若為0x04則為隨機(jī)數(shù)交換請(qǐng)求。
[0122]例如,收到的配對(duì)交換請(qǐng)求為:0x07071000000101。
[0123]配對(duì)確認(rèn)請(qǐng)求為:0x0102 03 04 05 06 07 08 09 00 00 00 00 00 00 00 03。
[0124]隨機(jī)數(shù)交換請(qǐng)求為:0x000F0E0D0C0B0A09112233445566778804。
[0125]步驟109:判斷配對(duì)模式標(biāo)志是否置位,是則執(zhí)行步驟110,否則執(zhí)行步驟113;
[0126]步驟110:判斷是否支持所述配對(duì)交換請(qǐng)求中指定的密鑰長(zhǎng)度,是則執(zhí)行步驟111,否則執(zhí)行步驟112;
[0127]具體的,所述配對(duì)交換請(qǐng)求的數(shù)據(jù)組成結(jié)構(gòu),從低位到高位依次為:0x01、預(yù)設(shè)功能屬性值(I個(gè)八位組)、00B data flag(l個(gè)八位組)、AuthReq(l個(gè)八位組)、最大密鑰長(zhǎng)度(I個(gè)八位組)、Initiator Key Distribut1n) I個(gè)八位組)、Responder Key Distribut1n(I個(gè)八位組),本步驟具體為,根據(jù)接收到的所述配對(duì)交換請(qǐng)求的低位起的第五個(gè)八位組確定指定的密鑰長(zhǎng)度,判斷自身支持的最大密鑰長(zhǎng)度是否大于等于所述指定的密鑰長(zhǎng)度,是則執(zhí)行步驟111,否則執(zhí)行步驟112。
[0128]例如,接收到的配對(duì)交換請(qǐng)求為0x07071000000101,根據(jù)配對(duì)交換請(qǐng)求的低位起的第五個(gè)八位組10確定的指定的密鑰長(zhǎng)度為16個(gè)八位組,設(shè)備自身支持的最大密鑰長(zhǎng)度為8個(gè)八位組,則本步驟判斷結(jié)果為設(shè)備不支持所述指定的密鑰長(zhǎng)度。
[0129]步驟111:根據(jù)自身支持的最大密鑰長(zhǎng)度和預(yù)設(shè)功能屬性值組成配對(duì)交換響應(yīng)并返回給所述主設(shè)備,返回步驟107;
[0130]具體的,配對(duì)交換響應(yīng)的數(shù)據(jù)組成結(jié)構(gòu),從低位到高位依次為:0x02、預(yù)設(shè)功能屬性值(I個(gè)八位組)、00B data flag(l個(gè)八位組)、AuthReq(l個(gè)八位組)、最大密鑰長(zhǎng)度(I個(gè)八位組)、Initiator Key Distribut1n) I個(gè)八位組)、Responder Key Distribut1n) I個(gè)八位組)。
[0131 ]例如,設(shè)備自身支持的密鑰長(zhǎng)度為8個(gè)八位組,預(yù)設(shè)功能屬性值為0x03,則本步驟組成的配對(duì)交換響應(yīng)可以為:0x05000800000302。
[0132]步驟112:向所述主設(shè)備返回表示密鑰長(zhǎng)度不支持的信息,返回步驟107;
[0133]例如,向所述主設(shè)備返回的錯(cuò)誤信息為0x06 05,其中,05為錯(cuò)誤字節(jié)碼,06用于表示的錯(cuò)誤原因是密鑰長(zhǎng)度不支持。
[0134]步驟113:向主設(shè)備返回預(yù)設(shè)數(shù)據(jù);
[0135]例如,向所述主設(shè)備返回0x82000102。
[0136]步驟114:判斷是否有長(zhǎng)按鍵操作,是則返回執(zhí)行步驟110,否則執(zhí)行步驟115;
[0137]具體的,判斷是否有按鍵按下且按鍵時(shí)間達(dá)到5s,是則表示有長(zhǎng)按鍵操作,執(zhí)行步驟110,否則執(zhí)行步驟115。
[0138]步驟115:向所述主設(shè)備返回表示拒絕配對(duì)的信息,返回步驟107;
[0139]例如,向所述主設(shè)備返回Ox 07 05,其中05為錯(cuò)誤字節(jié)碼。
[0140]步驟116:從所述配對(duì)確認(rèn)請(qǐng)求中獲取第一確認(rèn)值,生成第二隨機(jī)數(shù);
[0141]具體的,所述配對(duì)確認(rèn)請(qǐng)求的數(shù)據(jù)格式為:第一確認(rèn)值(16個(gè)八位組)+0x03。本步驟具體為,獲取所述配對(duì)請(qǐng)求的高位起的第I至第16個(gè)八位組作為第一確認(rèn)值,并生成長(zhǎng)度為16個(gè)八位組的第二隨機(jī)數(shù)。
[0142]例如,所述配對(duì)確認(rèn)請(qǐng)求為0x0102 03 04 05 06 07 08 09 00 00 00 00 00 0000 03,則獲取的第一確認(rèn)值為0x01 02 03 04 05 06 07 08 09 00 00 00 00 00 00 00。生成第二隨機(jī)數(shù)為0x010203040506070899AABBCCDDEEFF00。
[0143]步驟117:根據(jù)預(yù)設(shè)認(rèn)證碼、第二隨機(jī)數(shù)、主設(shè)備的MAC地址和從設(shè)備自身的MAC地址計(jì)算出第二確認(rèn)值,根據(jù)第二確認(rèn)值生成配對(duì)確認(rèn)響應(yīng)并返回給所述主設(shè)備,然后返回步驟107;
[0144]具體的,使用AES-128加密算法對(duì)所述預(yù)設(shè)認(rèn)證碼、第二隨機(jī)數(shù)、主設(shè)備的MAC地址和從設(shè)備自身的MAC地址計(jì)算得到第二確認(rèn)值(Sconfirm)。
[0145]具體的,Sconfirm= e(k,e(k,r XOR pl)X0R p2),其中,k為預(yù)設(shè)認(rèn)證碼,r為第二隨機(jī)數(shù),pl=pres I |preq| |rat,| | iat,,p2 = padding| | ia |ra,其中pres為配對(duì)交換請(qǐng)求,preq為配對(duì)交換響應(yīng),rat ’為主設(shè)備地址類(lèi)型,iat ’為從設(shè)備地址類(lèi)型,ia為主設(shè)備MAC地址,ra為從設(shè)備MAC地址,padding為填充字節(jié)。
[0146]例如,k= 0x00000000000000000000000000000000,r =0x010203040506070899AABBCCDDEEFF00,pi=0x05000800000302070710000001010001,p2= 0χ00000000Α1Α2Α3Α4Α5Α6Β1Β2Β3Β4Β5Β6,計(jì)算得到的第二確認(rèn)值為OxlE IE 3F EF878988EA D2A74D C5BE F13B 86。
[0147]優(yōu)選的,將第二確認(rèn)值作為配對(duì)確認(rèn)響應(yīng)返回給所述主設(shè)備。例如,向主設(shè)備返回OxlE IE 3F EF 878988 EA D2 A74D C5 BE F13B 86。
[0148]步驟118:從所述隨機(jī)數(shù)交換請(qǐng)求中獲取第一隨機(jī)數(shù);
[0149]具體的,隨機(jī)數(shù)交換請(qǐng)求的數(shù)據(jù)格式為:第一隨機(jī)數(shù)(16個(gè)八位組)+0x04,本步驟具體為,獲取所述隨機(jī)數(shù)交換請(qǐng)求的高位起的第I至第16個(gè)八位組作為第一隨機(jī)數(shù)。
[0150]例如,隨機(jī)數(shù)交換請(qǐng)求為0x000F0E0D0C0B0A09112233445566778804,獲取的第一隨機(jī)數(shù)為0x000F0E0D0C0B0A091122334455667788。
[0151]步驟119:根據(jù)所述第一隨機(jī)數(shù)驗(yàn)證所述第一確認(rèn)值,若通過(guò)驗(yàn)證則執(zhí)行步驟120,若未通過(guò)驗(yàn)證則執(zhí)行步驟123;
[0152]具體的,使用AES-128加密算法對(duì)所述第一隨機(jī)數(shù)、預(yù)設(shè)認(rèn)證碼、當(dāng)前保存的主設(shè)備的MAC地址和從設(shè)備自身的MAC地址計(jì)算得到第一比較值,比較所述第一比較值與所述第一確認(rèn)值是否一致,是則通過(guò)驗(yàn)證,否則未通過(guò)驗(yàn)證。
[0153]例如,計(jì)算得到的第一比較值為OxlDID 3D EF 878988 EA D2 A74D C5 BE F13B86,與第一確認(rèn)值0x01 02 03 04 05 06 07 08 09 00 00 00 00 00 00 00不一致,則本步驟判斷結(jié)果為未通過(guò)驗(yàn)證。
[0154]步驟120:根據(jù)所述第二隨機(jī)數(shù)組成隨機(jī)數(shù)交換響應(yīng)并返回給所述主設(shè)備;
[0155]具體的,將所述第二隨機(jī)數(shù)按照數(shù)據(jù)結(jié)構(gòu):第二隨機(jī)數(shù)+0x04,組成隨機(jī)數(shù)交換響應(yīng)并返回給所述主設(shè)備。
[0156]例如,返回給所述主設(shè)備的隨機(jī)數(shù)交換響應(yīng)為0x010203040506070899AABBCCDDEEFF00 04。
[0157]步驟121:根據(jù)預(yù)設(shè)認(rèn)證碼、第一隨機(jī)數(shù)、第二隨機(jī)數(shù)計(jì)算得到加密密鑰;
[0158]具體的,使用AES-128加密算法對(duì)所述預(yù)設(shè)認(rèn)證碼、第一隨機(jī)數(shù)、第二隨機(jī)數(shù)計(jì)算得到加密密鑰。
[0159]例如,預(yù)設(shè)認(rèn)證碼為0x00000000000000000000000000000000,第一隨機(jī)數(shù)為0x000F0E0D0C0B0A091122334455667788,第二隨機(jī)數(shù)為0x010203040506070899AABBCCDDEEFF00,計(jì)算得到的加密密鑰為0x9A IF El FO E8 BOF49B 5B 4216 AE 796D A062。
[0160]步驟122:根據(jù)預(yù)置的第一數(shù)據(jù)、第二數(shù)據(jù)和第三數(shù)據(jù)組成鏈路加密數(shù)據(jù),使用所述加密密鑰加密所述鏈路加密數(shù)據(jù)得到鏈路加密請(qǐng)求并發(fā)送給所述主設(shè)備,復(fù)位配對(duì)模式標(biāo)志,返回步驟107;
[0161]具體的,從設(shè)備依據(jù)從低位到高位依次為第一數(shù)據(jù)(16個(gè)八位組)、第二數(shù)據(jù)(2個(gè)八位組)、第三數(shù)據(jù)(8個(gè)八位組)的數(shù)據(jù)格式組成鏈路加密數(shù)據(jù)。
[0162]本步驟還可以包括:獲取并存儲(chǔ)所述主設(shè)備對(duì)應(yīng)的配對(duì)信息,所述主設(shè)備對(duì)應(yīng)的配對(duì)信息包括所述主設(shè)備的MAC地址、所述第一數(shù)據(jù)、所述第二數(shù)據(jù)和所述第三數(shù)據(jù)。當(dāng)所述從設(shè)備設(shè)置有最多可綁定的設(shè)備個(gè)數(shù)時(shí),所述配對(duì)信息還可以包括綁定個(gè)數(shù),相應(yīng)的,所述從設(shè)備存儲(chǔ)所述配對(duì)信息之前還包括,根據(jù)已存儲(chǔ)的配對(duì)信息中包含的綁定個(gè)數(shù)判斷已綁定設(shè)備的個(gè)數(shù)是否已達(dá)到上限,是則清除已存儲(chǔ)的配對(duì)信息中包含的綁定個(gè)數(shù)為初值的配對(duì)信息,設(shè)置當(dāng)前的所述主設(shè)備對(duì)應(yīng)的綁定個(gè)數(shù)為初值,獲取并存儲(chǔ)所述主設(shè)備對(duì)應(yīng)的配對(duì)信息;否則設(shè)置當(dāng)前的所述主設(shè)備對(duì)應(yīng)的綁定個(gè)數(shù)為當(dāng)前已存儲(chǔ)的配對(duì)信息中包含的綁定個(gè)數(shù)的最大值加I,獲取并存儲(chǔ)所述主設(shè)備對(duì)應(yīng)的配對(duì)信息。例如,綁定個(gè)數(shù)的初值為I,綁定個(gè)數(shù)等于8時(shí)表示已綁定設(shè)備的個(gè)數(shù)達(dá)到上限。
[0163]進(jìn)一步的,本步驟還可以是:從設(shè)備生成第三隨機(jī)數(shù)作為第三數(shù)據(jù),將生成的第三數(shù)據(jù)與預(yù)置的第一數(shù)據(jù)、第二數(shù)據(jù)建立對(duì)應(yīng)關(guān)系并保存,根據(jù)預(yù)置的第一數(shù)據(jù)、第二數(shù)據(jù)和生成的第三數(shù)據(jù)組成鏈路加密數(shù)據(jù),使用所述加密密鑰加密所述鏈路加密數(shù)據(jù)得到鏈路加密請(qǐng)求并發(fā)送給所述主設(shè)備,復(fù)位配對(duì)模式標(biāo)志,獲取并存儲(chǔ)所述主設(shè)備對(duì)應(yīng)的配對(duì)信息,返回步驟107。
[0164]例如,第一數(shù)據(jù)為0x4C68384139F574D836BCF34E9DFB01BF,第二數(shù)據(jù)為 0x0000,第三數(shù)據(jù)為0x00000000000000;加密密鑰為0x9A IF El FO E8 BO F49B 5B 4216 AE 796DA062,則本步驟加密得到的鏈路加密請(qǐng)求為0X46EAB301AF6432F3C2055687905297EB。
[0165]本實(shí)施例中,從設(shè)備將所述第一數(shù)據(jù)作為鏈路加密密鑰保存,所述第二數(shù)據(jù)和第三數(shù)據(jù)與所述鏈路加密密鑰形成對(duì)應(yīng)關(guān)系并一起保存。
[0166]進(jìn)一步的,從設(shè)備將所述鏈路加密請(qǐng)求發(fā)送給主設(shè)備之后,還可以接收到主設(shè)備返回的鏈路加密請(qǐng)求響應(yīng),從設(shè)備判斷所述鏈路加密請(qǐng)求響應(yīng)中是否包含有第二數(shù)據(jù)和第三數(shù)據(jù),是則鏈路加密密鑰協(xié)商成功,否則鏈路加密密鑰協(xié)商失敗。
[0167]步驟123:向所述主設(shè)備返回錯(cuò)誤信息,返回步驟107;
[0168]例如,向所述主設(shè)備返回的錯(cuò)誤信息為0x04 05,其中,05為錯(cuò)誤字節(jié)碼,04用于表示的錯(cuò)誤原因是確認(rèn)值不匹配。
[0169]以上所述,僅為本發(fā)明的【具體實(shí)施方式】,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)以權(quán)利要求的保護(hù)范圍為準(zhǔn)。
【主權(quán)項(xiàng)】
1.一種藍(lán)牙設(shè)備的工作方法,包括所述設(shè)備與發(fā)起方之間的藍(lán)牙連接過(guò)程、配對(duì)過(guò)程和數(shù)據(jù)通信過(guò)程,其特征在于,所述配對(duì)過(guò)程包括: 步驟SI:當(dāng)所述設(shè)備接收到所述發(fā)起方發(fā)來(lái)的配對(duì)確認(rèn)請(qǐng)求時(shí),從所述配對(duì)確認(rèn)請(qǐng)求中獲取第一確認(rèn)值,生成第二隨機(jī)數(shù);根據(jù)預(yù)設(shè)認(rèn)證碼、所述第二隨機(jī)數(shù)、當(dāng)前保存的發(fā)起方的MAC地址和設(shè)備自身的MAC地址計(jì)算出第二確認(rèn)值,并向所述發(fā)起方返回所述第二確認(rèn)值; 步驟S2:當(dāng)所述設(shè)備接收到發(fā)起方發(fā)來(lái)的隨機(jī)數(shù)交換請(qǐng)求時(shí),從所述隨機(jī)數(shù)交換請(qǐng)求中獲取第一隨機(jī)數(shù);根據(jù)所述第一隨機(jī)數(shù)驗(yàn)證所述第一確認(rèn)值,若通過(guò)驗(yàn)證則執(zhí)行步驟S3,若未通過(guò)驗(yàn)證則執(zhí)行步驟S5 ; 步驟S3:所述設(shè)備向所述發(fā)起方返回所述第二隨機(jī)數(shù); 步驟S4:所述設(shè)備根據(jù)所述預(yù)設(shè)認(rèn)證碼、所述第一隨機(jī)數(shù)、所述第二隨機(jī)數(shù)計(jì)算得到加密密鑰;根據(jù)預(yù)置的第一數(shù)據(jù)、第二數(shù)據(jù)和第三數(shù)據(jù)組成鏈路加密數(shù)據(jù),使用所述加密密鑰加密所述鏈路加密數(shù)據(jù)得到鏈路加密請(qǐng)求并發(fā)送給所述發(fā)起方,將所述第一數(shù)據(jù)作為鏈路加密密鑰,配對(duì)過(guò)程結(jié)束; 步驟S5:所述設(shè)備向所述發(fā)起方返回錯(cuò)誤信息,配對(duì)過(guò)程結(jié)束。2.如權(quán)利要求1所述的方法,其特征在于:所述根據(jù)所述第一隨機(jī)數(shù)驗(yàn)證所述第一確認(rèn)值具體為,根據(jù)所述第一隨機(jī)數(shù)、所述預(yù)設(shè)認(rèn)證碼、當(dāng)前保存的發(fā)起方的MAC地址和所述設(shè)備自身的MAC地址計(jì)算出第一比較值,比較所述第一比較值與所述第一確認(rèn)值是否一致,是則通過(guò)驗(yàn)證,否則未通過(guò)驗(yàn)證。3.如權(quán)利要求1所述的方法,其特征在于:所述配對(duì)過(guò)程還包括,當(dāng)所述設(shè)備接收到所述發(fā)起方發(fā)來(lái)的配對(duì)交換請(qǐng)求時(shí),所述設(shè)備執(zhí)行以下步驟: 步驟A:判斷當(dāng)前模式是否為配對(duì)模式,是則執(zhí)行步驟B,否則執(zhí)行步驟B ’ ; 步驟B:判斷是否支持所述配對(duì)交換請(qǐng)求中指定的密鑰長(zhǎng)度,是則向所述發(fā)起方返回配對(duì)交換響應(yīng),否則向所述發(fā)起方返回表示密鑰長(zhǎng)度不支持的信息; 步驟B ’:向所述發(fā)起方返回預(yù)設(shè)數(shù)據(jù),并判斷是否有長(zhǎng)按鍵操作,是則執(zhí)行步驟B,否則向所述發(fā)起方返回表示拒絕配對(duì)的信息; 所述方法還包括:所述設(shè)備開(kāi)機(jī)后設(shè)置當(dāng)前模式為配對(duì)模式,所述步驟S4中配對(duì)過(guò)程結(jié)束時(shí)還包括:所述設(shè)備修改當(dāng)前模式為非配對(duì)模式。4.如權(quán)利要求3所述的方法,其特征在于:所述設(shè)備開(kāi)機(jī)后設(shè)置當(dāng)前模式為配對(duì)模式具體包括:所述設(shè)備開(kāi)機(jī)并判斷開(kāi)機(jī)方式,若是短按鍵開(kāi)機(jī)則判斷是否有長(zhǎng)按鍵操作,是則置位配對(duì)模式標(biāo)志,開(kāi)啟藍(lán)牙廣播,等待藍(lán)牙連接,否則開(kāi)啟藍(lán)牙廣播,等待藍(lán)牙連接;若是長(zhǎng)按鍵開(kāi)機(jī)則置位配對(duì)模式標(biāo)志,開(kāi)啟藍(lán)牙廣播,等待藍(lán)牙連接; 所述修改當(dāng)前模式為非配對(duì)模式具體為:復(fù)位所述配對(duì)模式標(biāo)志。5.如權(quán)利要求1所述的方法,其特征在于:所述藍(lán)牙連接過(guò)程包括, 步驟1:當(dāng)所述設(shè)備接收到藍(lán)牙連接事件時(shí),與發(fā)起連接的發(fā)起方建立藍(lán)牙連接,獲取所述發(fā)起方的MAC地址并保存; 步驟2:所述設(shè)備等待接收所述發(fā)起方發(fā)送數(shù)據(jù)請(qǐng)求,當(dāng)接收到的數(shù)據(jù)請(qǐng)求為配對(duì)確認(rèn)請(qǐng)求時(shí)執(zhí)行所述步驟SI,當(dāng)接收到的數(shù)據(jù)請(qǐng)求為隨機(jī)數(shù)交換請(qǐng)求時(shí)執(zhí)行所述步驟S2。6.如權(quán)利要求5所述的方法,其特征在于:所述步驟I中當(dāng)所述設(shè)備獲取所述發(fā)起方的MAC地址之后,還包括所述設(shè)備根據(jù)所述發(fā)起方的MAC地址判斷所述發(fā)起方是否是已綁定設(shè)備,是則根據(jù)所述發(fā)起方的MAC地址,獲取與所述發(fā)起方對(duì)應(yīng)的配對(duì)信息,將所述配對(duì)信息中的第一數(shù)據(jù)作為鏈路加密密鑰,進(jìn)入所述數(shù)據(jù)通信過(guò)程;否則執(zhí)行所述步驟2; 所述發(fā)起方對(duì)應(yīng)的配對(duì)信息包括所述發(fā)起方的MAC地址、所述第一數(shù)據(jù)、所述第二數(shù)據(jù)和所述第三數(shù)據(jù)。7.如權(quán)利要求5所述的方法,其特征在于:所述步驟I中當(dāng)所述設(shè)備獲取所述發(fā)起方的MAC地址,且所述發(fā)起方的MAC地址的高位起的兩個(gè)比特位為預(yù)設(shè)值時(shí),還包括:所述設(shè)備接收所述發(fā)起方的身份解析密鑰,根據(jù)所述發(fā)起方的身份解析密鑰判斷所述發(fā)起方是否是已綁定設(shè)備,是則根據(jù)所述發(fā)起方的身份解析密鑰,獲取與所述發(fā)起方對(duì)應(yīng)的配對(duì)信息,將所述配對(duì)信息中的第一數(shù)據(jù)作為鏈路加密密鑰,進(jìn)入所述數(shù)據(jù)通信過(guò)程;否則執(zhí)行所述步驟2; 所述發(fā)起方對(duì)應(yīng)的配對(duì)信息包括所述發(fā)起方的MAC地址、所述第一數(shù)據(jù)、所述第二數(shù)據(jù)、所述第三數(shù)據(jù)和所述發(fā)起方的身份解析密鑰。8.如權(quán)利要求1或6或7所述的方法,其特征在于:所述步驟S4中配對(duì)過(guò)程結(jié)束時(shí)還包括,所述設(shè)備為所述發(fā)起方存儲(chǔ)與所述發(fā)起方對(duì)應(yīng)的配對(duì)信息。9.如權(quán)利要求8所述的方法,其特征在于:所述配對(duì)信息還包括綁定個(gè)數(shù),所述存儲(chǔ)與所述發(fā)起方對(duì)應(yīng)的配對(duì)信息之前還包括,根據(jù)設(shè)備中已存儲(chǔ)的所有配對(duì)信息所包含的綁定個(gè)數(shù)判斷當(dāng)前已綁定設(shè)備的個(gè)數(shù)是否已達(dá)到上限值,是則根據(jù)所述上限值從當(dāng)前已存儲(chǔ)的配對(duì)信息中清除一個(gè)配對(duì)信息,否則根據(jù)當(dāng)前已存儲(chǔ)的所有配對(duì)信息中所包含的綁定個(gè)數(shù)設(shè)置與所述發(fā)起方對(duì)應(yīng)的配對(duì)信息所包含的綁定個(gè)數(shù)。10.如權(quán)利要求1所述的方法,其特征在于:所述數(shù)據(jù)通信過(guò)程包括,當(dāng)所述設(shè)備接收到所述發(fā)起方發(fā)送的操作數(shù)據(jù)時(shí),使用所述鏈路加密密鑰對(duì)所述操作數(shù)據(jù)進(jìn)行解密,根據(jù)解密結(jié)果執(zhí)行相應(yīng)操作,并將經(jīng)過(guò)所述鏈路加密密鑰加密得到的操作響應(yīng)返回給所述發(fā)起方。11.一種藍(lán)牙設(shè)備,包括藍(lán)牙連接模塊、配對(duì)模塊和數(shù)據(jù)通信模塊,其特征在于,所述配對(duì)模塊具體包括第一收發(fā)單元、第一計(jì)算單元、第二收發(fā)單元、驗(yàn)證單元、第二計(jì)算單元和鏈路加密單元: 所述第一收發(fā)單元,用于接收發(fā)起方發(fā)來(lái)的配對(duì)確認(rèn)請(qǐng)求,從所述配對(duì)確認(rèn)請(qǐng)求中獲取第一確認(rèn)值,生成第二隨機(jī)數(shù);還用于將所述第一計(jì)算單元計(jì)算出的所述第二確認(rèn)值返回給所述發(fā)起方; 所述第一計(jì)算單元,用于根據(jù)預(yù)設(shè)認(rèn)證碼、所述第一收發(fā)單元生成的所述第二隨機(jī)數(shù)、當(dāng)前保存的發(fā)起方的MAC地址、所述藍(lán)牙設(shè)備自身的MAC地址計(jì)算出第二確認(rèn)值; 所述第二收發(fā)單元,用于接收所述發(fā)起方發(fā)來(lái)的隨機(jī)數(shù)交換請(qǐng)求,從所述隨機(jī)數(shù)交換請(qǐng)求中獲取第一隨機(jī)數(shù);用于當(dāng)所述驗(yàn)證單元的驗(yàn)證結(jié)果為通過(guò)驗(yàn)證時(shí)向所述發(fā)起方返回所述第一收發(fā)單元生成的所述第二隨機(jī)數(shù),并觸發(fā)第二計(jì)算單元;還用于當(dāng)所述驗(yàn)證單元的驗(yàn)證結(jié)果為未通過(guò)驗(yàn)證時(shí)向所述發(fā)起方返回錯(cuò)誤信息; 所述驗(yàn)證單元,用于根據(jù)所述第二收發(fā)單元獲取的所述第一隨機(jī)數(shù)驗(yàn)證所述第一收發(fā)單元獲取的所述第一確認(rèn)值; 所述第二計(jì)算單元,用于根據(jù)所述預(yù)設(shè)認(rèn)證碼、所述第二收發(fā)單元獲取的所述第一隨機(jī)數(shù)、所述第一收發(fā)單元生成的所述第二隨機(jī)數(shù)計(jì)算得到加密密鑰; 所述鏈路加密單元,用于根據(jù)預(yù)置的第一數(shù)據(jù)、第二數(shù)據(jù)和第三數(shù)據(jù)組成鏈路加密數(shù)據(jù),使用所述第二計(jì)算單元計(jì)算得到的所述加密密鑰加密所述鏈路加密數(shù)據(jù)得到鏈路加密請(qǐng)求并發(fā)送給所述發(fā)起方,設(shè)置所述第一數(shù)據(jù)為鏈路加密密鑰。12.如權(quán)利要求11所述的設(shè)備,其特征在于:所述驗(yàn)證單元,具體用于根據(jù)所述第一隨機(jī)數(shù)、所述預(yù)設(shè)認(rèn)證碼、所述發(fā)起方的MAC地址和所述設(shè)備自身的MAC地址計(jì)算出第一比較值,比較所述第一比較值與所述第一確認(rèn)值是否一致。13.如權(quán)利要求11所述的設(shè)備,其特征在于:所述配對(duì)模塊還包括第三收發(fā)單元、第一判斷單元、第二判斷單元、第三判斷單元和模式設(shè)置單元; 所述第三收發(fā)單元,用于接收所述發(fā)起方發(fā)來(lái)的配對(duì)交換請(qǐng)求,用于在收到所述第一判斷單元的觸發(fā)時(shí)向所述發(fā)起方返回預(yù)設(shè)數(shù)據(jù),用于收到所述第二判斷單元的觸發(fā)時(shí)向所述發(fā)起方返回表示密鑰長(zhǎng)度不支持的信息,用于收到所述第三判斷單元的觸發(fā)時(shí)向所述發(fā)起方返回表示拒絕配對(duì)的信息; 所述第一判斷單元,用于判斷當(dāng)前模式是否為配對(duì)模式,是則觸發(fā)所述第二判斷單元,否則觸發(fā)所述第三收發(fā)單元和第三判斷單元; 所述第二判斷單元,用于判斷設(shè)備是否支持所述配對(duì)交換請(qǐng)求中指定的密鑰長(zhǎng)度,是則向所述發(fā)起方返回配對(duì)交換響應(yīng),否則觸發(fā)所述第三收發(fā)單元; 所述第三判斷單元,用于判斷是否有長(zhǎng)按鍵操作,是則觸發(fā)所述第二判斷單元,否則觸發(fā)所述第三收發(fā)單元; 所述模式設(shè)置單元,用于在所述設(shè)備開(kāi)機(jī)后設(shè)置當(dāng)前模式為配對(duì)模式,還用于在所述配對(duì)模塊完成配對(duì)后設(shè)置當(dāng)前模式為非配對(duì)模式。14.如權(quán)利要求13所述的設(shè)備,其特征在于:所述模式設(shè)置單元,具體用于在所述設(shè)備開(kāi)機(jī)后判斷開(kāi)機(jī)方式,若是短按鍵開(kāi)機(jī)則判斷是否有長(zhǎng)按鍵操作,是則置位配對(duì)模式標(biāo)志,開(kāi)啟藍(lán)牙廣播,等待藍(lán)牙連接,否則開(kāi)啟藍(lán)牙廣播,等待藍(lán)牙連接;若是長(zhǎng)按鍵開(kāi)機(jī)則置位配對(duì)模式標(biāo)志,開(kāi)啟藍(lán)牙廣播,等待藍(lán)牙連接;還用于在所述配對(duì)模塊完成配對(duì)后復(fù)位所述配對(duì)模式標(biāo)志。15.如權(quán)利要求11所述的設(shè)備,其特征在于:所述藍(lán)牙連接模塊,具體用于當(dāng)接收到藍(lán)牙連接事件時(shí),與發(fā)起連接的發(fā)起方建立藍(lán)牙連接,獲取所述發(fā)起方的MAC地址并保存。16.如權(quán)利要求15所述的設(shè)備,其特征在于:所述藍(lán)牙連接模塊,還用于當(dāng)獲取所述發(fā)起方的MAC地址之后,根據(jù)所述發(fā)起方的MAC地址判斷所述發(fā)起方是否是已綁定設(shè)備,是則根據(jù)所述發(fā)起方的MAC地址,獲取與所述發(fā)起方對(duì)應(yīng)的配對(duì)信息,將所述配對(duì)信息中的第一數(shù)據(jù)作為鏈路加密密鑰,并觸發(fā)所述數(shù)據(jù)通信模塊;否則觸發(fā)所述配對(duì)模塊; 所述發(fā)起方對(duì)應(yīng)的配對(duì)信息包括所述發(fā)起方的MAC地址、所述第一數(shù)據(jù)、所述第二數(shù)據(jù)和所述第三數(shù)據(jù)。17.如權(quán)利要求15所述的設(shè)備,其特征在于:所述藍(lán)牙連接模塊,還用于當(dāng)獲取所述發(fā)起方的MAC地址,且所述發(fā)起方的MAC地址的高位起的兩個(gè)比特位為預(yù)設(shè)值時(shí),接收所述發(fā)起方的身份解析密鑰,根據(jù)所述發(fā)起方的身份解析密鑰判斷所述發(fā)起方是否是已綁定設(shè)備,是則根據(jù)所述發(fā)起方的身份解析密鑰,獲取與所述發(fā)起方對(duì)應(yīng)的配對(duì)信息,將所述配對(duì)信息中的第一數(shù)據(jù)作為鏈路加密密鑰,并觸發(fā)所述數(shù)據(jù)通信模塊;否則觸發(fā)所述配對(duì)模塊; 所述發(fā)起方對(duì)應(yīng)的配對(duì)信息包括所述發(fā)起方的MAC地址、所述第一數(shù)據(jù)、所述第二數(shù)據(jù)、所述第三數(shù)據(jù)和所述發(fā)起方的身份解析密鑰。18.如權(quán)利要求11或16或17所述的設(shè)備,其特征在于:所述配對(duì)模塊還包括存儲(chǔ)單元,所述存儲(chǔ)單元,用于為所述發(fā)起方存儲(chǔ)與所述發(fā)起方對(duì)應(yīng)的配對(duì)信息。19.如權(quán)利要求18所述的設(shè)備,其特征在于:所述配對(duì)信息還包括綁定個(gè)數(shù); 所述存儲(chǔ)單元,具體用于根據(jù)當(dāng)前已存儲(chǔ)的配對(duì)信息中包含的綁定個(gè)數(shù)判斷已綁定設(shè)備的個(gè)數(shù)是否已達(dá)到上限值,是則根據(jù)所述上限值從當(dāng)前已存儲(chǔ)的配對(duì)信息中清除一個(gè)配對(duì)信息之后,為所述發(fā)起方存儲(chǔ)與所述發(fā)起方對(duì)應(yīng)的配對(duì)信息;否則根據(jù)當(dāng)前已存儲(chǔ)的所有配對(duì)信息中包含的綁定個(gè)數(shù)設(shè)置與所述發(fā)起方對(duì)應(yīng)的配對(duì)信息中的綁定個(gè)數(shù),并為所述發(fā)起方存儲(chǔ)與所述發(fā)起方對(duì)應(yīng)的配對(duì)信息。20.如權(quán)利要求11所述的設(shè)備,其特征在于:所述數(shù)據(jù)通信模塊,具體用于接收所述發(fā)起方發(fā)送的操作數(shù)據(jù),使用所述配對(duì)模塊獲得的鏈路加密密鑰對(duì)所述操作數(shù)據(jù)進(jìn)行解密,根據(jù)解密結(jié)果執(zhí)行相應(yīng)操作,并將經(jīng)過(guò)所述鏈路加密密鑰加密得到的操作響應(yīng)返回給所述發(fā)起方。
【文檔編號(hào)】H04W12/06GK105933039SQ201610471163
【公開(kāi)日】2016年9月7日
【申請(qǐng)日】2016年6月24日
【發(fā)明人】陸舟, 于華章
【申請(qǐng)人】飛天誠(chéng)信科技股份有限公司