本發(fā)明涉及通信技術領域,尤其涉及一種短信注冊方法及終端。
背景技術:
目前短信注冊分為上行短信注冊和下行短信注冊,但無論哪一種短信注冊方式,都需要無線網(wǎng)絡(如WiFi或者4G等網(wǎng)絡)的支持。比如,上行短信注冊需要通過無線網(wǎng)絡向服務端獲取將要發(fā)送的短信內容;下行短信注冊需要通過無線網(wǎng)絡將手機號碼提供給服務端等。但在某些偏遠地方,欠發(fā)達地區(qū)、封閉室內等地方會出現(xiàn)沒有無線網(wǎng)絡的情況,但此時還保留收發(fā)短信能力,而此時利用現(xiàn)有的上行短信注冊或下行短信注冊均無法完成注冊。利用短信注冊存在安全性的問題,因為明文短信內容容易被竊取和篡改。
技術實現(xiàn)要素:
本發(fā)明的實施例提供了一種短信注冊方法及終端,能夠解決利用短信注冊存在的安全性問題。
第一方面,本發(fā)明實施例提供了一種短信注冊方法,該方法包括:
獲取終端的位置信息;
生成字符串,將所述位置信息作為加密密鑰對所述字符串進行加密生成加密字符串;
根據(jù)所述加密字符串生成上行短信,發(fā)送所述上行短信至服務端,其中,所述上行短信攜帶所述終端的身份信息;
接收所述服務端反饋的下行短信,其中,所述下行短信包括用戶注冊信息和下行加密字符串,所述用戶注冊信息為所述服務端根據(jù)所述身份信息完成注冊而生成的用戶信息;
獲取所述終端當前位置信息,根據(jù)所述當前位置信息判斷所述下行加密字符串是否與所述加密字符串相同;
若所述下行加密字符串與所述加密字符串相同,保存所述用戶注冊信息。
第二方面,本發(fā)明實施例還提供了一種終端,該終端包括:
獲取單元,用于獲取終端的位置信息;
生成單元,用于生成字符串,將所述位置信息作為加密密鑰對所述字符串進行加密生成加密字符串;
生成發(fā)送單元,用于根據(jù)所述加密字符串生成上行短信,發(fā)送所述上行短信至服務端,其中,所述上行短信攜帶所述終端的身份信息;
接收單元,用于接收所述服務端反饋的下行短信,其中,所述下行短信包括用戶注冊信息和下行加密字符串,所述用戶注冊信息為所述服務端根據(jù)所述身份信息完成注冊而生成的用戶信息;
獲取判斷單元,用于獲取所述終端當前位置信息,根據(jù)所述當前位置信息判斷所述下行加密字符串是否與所述加密字符串相同;
保存單元,用于若所述下行加密字符串與所述加密字符串相同,保存所述用戶注冊信息。
本發(fā)明實施例通過獲取終端的位置信息,將所述位置信息作為加密密鑰加密生成上行短信,利用上行短信請求注冊,服務端根據(jù)所述上行短信完成注冊后返回包括使用該位置信息加密的下行短信,終端接收到短信后在獲取終端的當前位置信息,根據(jù)所述當前位置信息判斷判斷所述下行短信的合法性,由于用戶注冊時的位置信息是隨機的且不可預測,因此利用位置信息作為加密密鑰通過上、下行短信的方式可以完成無網(wǎng)安全注冊,解決了無網(wǎng)狀態(tài)下應用無法注冊以及在注冊過程中短信內容易被竊取和篡改等問題。
附圖說明
為了更清楚地說明本發(fā)明實施例技術方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是本發(fā)明實施例提供的一種短信注冊方法的示意流程圖;
圖2是圖1中步驟S105的子步驟示意流程圖;
圖3是本發(fā)明實施例提供的一種短信注冊方法的另一示意流程圖;
圖4是本發(fā)明實施例提供的一種短信注冊系統(tǒng)的示意性框圖;
圖5是本發(fā)明實施例提供的一種終端的示意性框圖;
圖6是本發(fā)明實施例提供的一種終端的另一示意性框圖;
圖7是本發(fā)明實施例提供的一種終端的結構組成示意圖。
具體實施方式
下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
應當理解,當在本說明書和所附權利要求書中使用時,術語“包括”和“包含”指示所描述特征、整體、步驟、操作、元素和/或組件的存在,但并不排除一個或多個其它特征、整體、步驟、操作、元素、組件和/或其集合的存在或添加。
還應當理解,在此本發(fā)明說明書中所使用的術語僅僅是出于描述特定實施例的目的而并不意在限制本發(fā)明。如在本發(fā)明說明書和所附權利要求書中所使用的那樣,除非上下文清楚地指明其它情況,否則單數(shù)形式的“一”、“一個”及“該”意在包括復數(shù)形式。
請參閱圖1,圖1是本發(fā)明實施例提供的一種短信注冊方法示意流程圖。該短信注冊方法可以運行在智能手機(如Android手機、IOS手機等)、平板電腦或智能穿戴設備等終端中。該方法適合用戶在無網(wǎng)絡狀態(tài)同時終端還保留短信收發(fā)功能的情況下注冊應用,該短信注冊方法的步驟包括S101~S106。
S101、獲取終端的位置信息。
在本發(fā)明的實施例中,當檢測到用戶使用終端注冊某些業(yè)務時,比如注冊某個應用程序的成為使用用戶,而終端此時并沒有網(wǎng)絡(WiFi或4G等)的支持,因此需要使用上、下短信進行注冊,由于上、下行短信很容易被竊取和篡改,存在安全性問題。因此在用戶使用短信注冊時,獲取終端的位置信息,該位置信息是指獲取用戶使用終端進行注冊時該終端的所在的地理位置信息,可以通過終端的GPS進行獲取。利用該位置信息作為加密密鑰,對上下短信進行加密,因為終端的位置信息是是隨機的且不可預測,因此可以確保上下短信安全。
此外,考慮到解密過程需要使用位置信息,滿足解密時位置信息可能有微小的變動。獲取終端的位置信息,具體包括:獲取終端的坐標信息;選擇預設精度處理所述坐標信息生成坐標密鑰,其中,所述坐標密鑰表示一定區(qū)域范圍;比如坐標信息對應的一個精度為1m的范圍,采用預設精度處理對采集坐標信息進行處理,擴大至100m的范圍。
S102、生成字符串,將所述位置信息作為加密密鑰對所述字符串進行加密生成加密字符串。
在本發(fā)明的實施例中,該字符串包括隨機字符和指定字符串,字符串的長度不做限定。將所述位置信息作為加密密鑰對所述字符串進行加密,具體地是將該位置信息作為加密密鑰對所述字符串進行對稱加密,對稱加密是一種加密和解密過程使用相同密鑰的加密算法。具體為采用所述位置信息作為加密密鑰對所述字符串進行對稱加密生成加密字符串。
S103、根據(jù)所述加密字符串生成上行短信,發(fā)送所述上行短信至服務端,其中,所述上行短信攜帶所述終端的身份信息。
在本發(fā)明的實施例中,上行短信包括所述加密字符串,同時還包括其他注冊內容,比如請求號、擴展號和離散值等。所述終端發(fā)送所述上行短信至服務端,具體是發(fā)送所述上行短信至運營商的短信中心,運營商的短信中心在將所述上行短信發(fā)送至服務端,該服務端為用戶注冊應用對應的服務端。該服務端事先需要向運營商申請一個固定的上行短信號碼,分配給安裝有該應用的終端使用,確保無網(wǎng)狀態(tài)下也有進行上行短信的號碼通道。終端將生成的上行短信通過終端號碼發(fā)送至該上行短信號碼,該上行短信號碼對應的是運營商的短信中心,終端為手機時,終端號碼為手機號碼。其中,上行短信攜帶所述終端的身份信息,所述終端的身份信息可以為終端號碼,比如手機號碼等。當服務端通過上行短信號碼接收到上行短信后,根據(jù)所述上行短信中的身份信息進行注冊。需要說明的是服務端通過上行短信號碼接收到短信,就代表有用戶需要注冊該服務端對應的應用,還可以識別固定的字母,比如“register”等,識別到上行短信中包括該英文字母,即是表示用戶需要注冊該應用。
S104、接收所述服務端反饋的下行短信,其中,所述下行短信包括用戶注冊信息和下行加密字符串,所述用戶注冊信息為所述服務端根據(jù)所述身份信息完成注冊而生成的用戶信息。
在本發(fā)明的實施例中,該下行短信是所述服務端對所述上行短信的反饋短信,具體是服務端根據(jù)所述上行短信完成注冊后發(fā)送給終端的短信。該下行短信包括用戶注冊信息和下行加密字符串,其中,所述用戶注冊信息為所述服務端根據(jù)所述身份信息完成注冊而生成的用戶信息,用戶注冊信息包括用戶名稱等;所述下行加密字符串包括所述加密字符串,如果所述下行短信未被修改的話,該下行加密字符串即是所述加密字符串。下行短信由至少所述用戶注冊信息和下行加密字符串加密而生成。
S105、獲取所述終端當前位置信息,根據(jù)所述當前位置信息判斷所述下行加密字符串是否與所述加密字符串相同。
在本發(fā)明的實施例中,獲取所述終端當前位置信息是指獲取該終端接收到所述服務端反饋的下行短信時終端所在位置信息,具體為終端所在位置的坐標信息。終端接收到下行短信,獲取下行短信中的下行加密字符串,根據(jù)當前位置信息解密該下行加密字符串,將所述下行加密字符串與所述加密字符串的字符串相比對確定是否相同。如果下行短信或上行短信有被竊取和篡改等,該下行短信中的下行加密字符串一定與所述加密字符串不同,因為所述加密字符串是由位置信息加密生成的,而用戶注冊時終端的位置信息是隨機的,因此可以確保上、下行短信的安全性。所述判斷所述下行加密字符串是否與所述加密字符串相同,如圖2所示,具體包括:步驟S105a~S105d。
S105a、判斷所述當前位置信息是否能解密所述下行加密字符串。
其中,所述下行加密字符串中包括所述加密字符串,所述加密字符串是由終端的位置信息對稱加密所述字符串生成的,一般用戶在注冊應用等均會在某個位置不動或者移動一定距離,因為注冊時間一般很短,快的話兩分鐘左右,慢的話10分鐘左右即可完成。因此獲取所述終端當前接收下行短信時所在的當前位置信息,該當前位置信息和上述作為加密密鑰的位置信息基本上應該是相同,或者在某些預設精度范圍內是相同的,因此如果該終端收到的下行短信是服務端完成注冊信息后發(fā)送給終端的下行短信,中間沒有被竊取修改的話,所述當前位置信息是能解密所述下行加密字符串,同時獲取該下行加密字符串中的字符串。
S105b、若所述當前位置信息能解密所述下行加密字符串,獲取所述下行加密字符串的下行字符串。
具體地,若所述當前位置信息能解密所述下行加密字符串,則解密該下行加密字符串獲取下行加密字符串中的字符串,該下行加密字符中的字符串為下行字符串。
S105c、判斷所述下行字符串是否與所述字符串相同。
具體地,解密獲取所述下行字符串后,將該下行字符串和上述生成的字符串進行比對,確認兩者是否相同。
S105d、若所述下行字符串與所述字符串相同,判定所述下行加密字符串與所述加密字符串相同。
具體地,如果將該下行字符串和上述生成的字符串進行比對后,確認兩者是相同的話,則可以判斷該下行加密字符串與所述加密字符串相同,進而可以說明該下行短信是服務端完成注冊后發(fā)送給終端的,因為下行短信中的下行加密字符串包括所述加密字符串,同時確認該下行短信是合法的。
S106、若所述下行加密字符串與所述加密字符串相同,保存所述用戶注冊信息。
在本發(fā)明的實施例中,若所述下行加密字符串與所述加密字符串相同,則可以確認該下行短信是該服務端完成注冊后發(fā)送給所述終端的反饋短信,還可以確認該下行短信是沒有沒被不法分子竊取和篡改的,因為上、下行短信都是明文短信,不法分子竊取到該上、下行短信后,可能知道該短信被加密,但并不知道該短信的加密密鑰。若所述下行加密字符串與所述加密字符串相同,保存所述用戶注冊信息,完成本次注冊。因此通過終端的位置信息進行加密和解密,可以確保上下行注冊短信的安全性,進而確保了用戶在無網(wǎng)絡狀態(tài)下完成安全注冊。
上述實施例通過獲取終端的位置信息,將所述位置信息作為加密密鑰加密生成上行短信,利用上行短信向應用的服務端請求注冊,服務端根據(jù)所述上行短信完成注冊后返回包括使用該位置信息加密的下行短信,終端接收到短信后在獲取終端的當前位置信息,根據(jù)所述當前位置信息判斷判斷所述下行短信的合法性,由于用戶注冊時的位置信息是隨機的且不可預測,因此利用位置信息作為加密密鑰通過上、下行短信的方式可以完成無網(wǎng)安全注冊,同時解決了無網(wǎng)狀態(tài)下利用明文短信注冊存在安全性的問題。
請參閱圖3,圖3是本發(fā)明實施例提供的一種短信注冊方法示意流程圖。該短信注冊方法可以運行在智能手機(如Android手機、IOS手機等)、平板電腦或智能穿戴設備等終端中。該短信方法適合用戶在無網(wǎng)絡狀態(tài)同時終端還保留短信收發(fā)功能的情況下注冊應用,如圖3所示,該短信注冊方法的步驟包括S201~S210。
S201、獲取終端的位置信息。
在本發(fā)明的實施例中,當檢測到終端注冊某些業(yè)務時,比如注冊某個應用程序,而終端此時并沒有網(wǎng)絡(WiFi或4G等)的支持,因此需要使用上、下短信進行注冊,由于上、下行短信均是明文,很容易被竊取和篡改,因此存在安全性問題。因此獲取終端的位置信息,利用該位置信息作為加密密鑰,對上下短信進行加密,終端的位置信息是是隨機的且不可預測,因此可以確保上下短信安全。
S202、生成字符串,將所述位置信息作為加密密鑰對所述字符串進行加密生成加密字符串。
在本發(fā)明的實施例中,該字符串包括隨機字符和指定字符串,字符串的長度不做限定。將所述位置信息作為加密密鑰對所述字符串進行加密,具體地是將該位置信息作為加密密鑰對所述字符串進行對稱加密,對稱加密是一種加密和解密過程使用相同密鑰的加密算法。具體為采用所述位置信息作為加密密鑰對所述字符串進行對稱加密生成加密字符串。
S203、生成下行短信號碼的擴展號。
在本發(fā)明的實施例中,生成下行短信號碼的擴展號,下行短信號碼是指短信中心向服務端發(fā)送短信時使用的號碼,一般的運營商分配的號碼是允許在該號碼后加入擴展號的,生成所述下行短信號碼的擴展號,作為上行短信的一部分,可以用來防止冒充短信注冊的攻擊。
S204、計算所述加密字符串和所述擴展號的散列值。
具體地,對所述加密字符串和所述擴展號進行散列計算,得出所述加密字符串和所述擴展號的散列值,該散列值可用來判斷所述加密字符串和所述擴展號是否被修改。其中,散列計算具體采用SHA256散列計算。
S205、根據(jù)所述加密字符串、擴展號和散列值按照預設數(shù)據(jù)格式生成所述上行短信,發(fā)送所述上行短信至服務端,其中,所述上行短信攜帶所述終端的身份信息。
其中,該預設數(shù)據(jù)格式是數(shù)據(jù)排列方式,由服務端制定。比如,終端將所述加密字符串、擴展號和散列值以該預設數(shù)據(jù)格式進行排列生成上行短信,服務端可以利用該預設格式進行拆分所述上行短信,獲取上行短信中的所述加密字符串、擴展號和散列值。比如,該上行短信為“加密字符串#擴展號#散列值”。將該上行短信利用上行短信號碼發(fā)送至短信中心,短信中心轉發(fā)至服務端,該服務端接收到上行短信后,會按照預設數(shù)據(jù)格式對所述上行短信進行拆分,一一獲取加密字符串、擴展號和散列值。同時,服務端還利用相同的離散計算,比如SHA256,計算加密字符串和擴展號的離散值,并判斷加密字符串和擴展號的離散值是否與拆分獲取得到的離散值相同,若相同,則可以說明該上行短信沒有被篡改。服務端同時還獲取上行短信攜帶所述終端的身份信息,比如手機號碼,并根據(jù)該身份信息完成注冊。
S206、接收所述服務端反饋的下行短信,其中,所述下行短信包括用戶注冊信息和下行加密字符串,所述用戶注冊信息為所述服務端根據(jù)所述身份信息完成注冊而生成的用戶信息。
在本發(fā)明的實施例中,該下行短信是所述服務端對所述上行短信的反饋短信,具體是服務端根據(jù)所述上行短信完成注冊后發(fā)送給終端的短信。該下行短信包括用戶注冊信息和下行加密字符串,其中,所述用戶注冊信息為所述服務端根據(jù)所述身份信息完成注冊而生成的用戶信息,用戶注冊信息包括用戶名稱等;所述下行加密字符串包括所述加密字符串,也可就是該加密字符串。下行短信由至少所述用戶注冊信息和下行加密字符串加密而生成。
具體地,下行短信包括所述下行加密字符串、用戶注冊信息、擴展號以及所述下行加密字符串、用戶注冊信息和擴展號的離散值,該離散值是由服務端對所述下行加密字符串、用戶注冊信息和擴展號進行離散計算得到的離散值。將該下行加密字符串、用戶注冊信息、擴展號以及所述下行加密字符串、用戶注冊信息和擴展號的離散值也按照預設格式生成所述下行短信,比如,該下行短信為“下行加密字符串#用戶注冊信息#擴展號#離散值”。
S207、解析所述下行短信以獲取所述下行短信中的下行擴展號。
在本發(fā)明的實施例中,解析所述下行短信具體是指終端按預設數(shù)據(jù)格式對所述下行短信拆分以獲取所述下行短信中的擴展號,該擴展號稱為下行擴展號。如果該下行短信沒有別攻擊或篡改,則該下行擴展號是與上述所述下行短信號碼的擴展號是相同的。
S208、判斷所述下行擴展號是否與所述擴展號相同。
在本發(fā)明的實施例中,判斷所述下行擴展號是否與所述擴展號相同,所述擴展號為下行短信號碼的擴展號。若所述下行擴展號是否與所述擴展號相同,則進一步說明該下行短信和所述上行短信是對應的,同時確保了該上、下行短信沒有被惡意攻擊。
S209、若所述下行擴展號與所述擴展號相同,獲取所述終端當前位置信息,根據(jù)所述當前位置信息判斷所述下行加密字符串是否與所述加密字符串相同。
在本發(fā)明的實施例中,若所述下行擴展號與所述擴展號相同,獲取所述終端當前位置信息是指獲取該終端接收到所述服務端反饋的下行短信時終端所在位置信息,具體為終端所在位置的坐標信息。終端接收到下行短信,獲取下行短信中的下行加密字符串,根據(jù)當前位置信息解密該下行加密字符串,將所述下行加密字符串與所述加密字符串的字符串相比對確定是否相同。如果下行短信或上行短信有被竊取和篡改等,該下行短信中的下行加密字符串一定與所述加密字符串不同,因為所述加密字符串是由位置信息加密生成的,而用戶注冊時終端的位置信息是隨機的,因此可以確保上、下行短信的安全性。
此外,在所述若所述下行擴展號與所述擴展號相同之后,還包括:計算所述下行加密字符串、用戶注冊信息和下行擴展號的散列值;判斷所述散列值是否與所述下行短信中的散列值相同,其中,所述下行短信中的散列值為服務端對所述下行加密字符串、用戶注冊信息和下行擴展號的進行散列計算生成的數(shù)值;若所述散列值與所述下行短信中的散列值相同,獲取所述終端的當前位置信息。該通過離散值比較判斷,可以確定服務終端發(fā)送的下行短信有沒有被篡改,進一步確保了短信注冊的安全性。
S210、若所述下行加密字符串與所述加密字符串相同,保存所述用戶注冊信息。
在本發(fā)明的實施例中,若所述下行加密字符串與所述加密字符串相同,則可以確認該下行短信是該服務端完成注冊后發(fā)送給所述終端的反饋短信,還可以確認該下行短信是沒有沒被不法分子竊取和篡改的,因為上、下行短信都是明文短信,不法分子竊取到該上、下行短信后,可能知道該短信被加密,但并不知道該短信的加密密鑰。若所述下行加密字符串與所述加密字符串相同,保存所述用戶注冊信息,完成本次注冊。因此通過終端的位置信息進行加密和解密,可以確保上下行注冊短信的安全性,進而確保了用戶在無網(wǎng)絡狀態(tài)下完成安全注冊。
上述實施例通過獲取終端的位置信息,將所述位置信息作為加密密鑰加密字符串生成加密字符串,在生成下行短信的擴展號,計算所述加密字符串和擴展號的離散值,將所述加密字符串、擴展號和離散值按照預設數(shù)據(jù)格式生成上行短信,利用上行短信向應用的服務端請求注冊,服務端根據(jù)所述上行短信完成注冊后返回包括使用該位置信息加密的下行短信,終端接收到短信后在獲取終端的當前位置信息,根據(jù)所述當前位置信息判斷判斷所述下行短信的合法性,由于用戶注冊時的位置信息是隨機的且不可預測,因此利用位置信息作為加密密鑰通過上、下行短信的方式可以完成無網(wǎng)安全注冊,同時又增加了擴展號和離散值,擴展號確保該上下行短信沒有被攻擊,離散值確保上下行短信不會被篡改,從而進一步提高了該短信注冊的安全性。
請參閱圖4,圖4是本發(fā)明實施例提供的一種短信注冊系統(tǒng)的示意性框圖。該短信注冊系統(tǒng)包括:終端301、運營商302和服務端303。所述系統(tǒng)具體執(zhí)行如下操作:
當用戶需要注冊應用時,終端301獲取其位置信息,同時生成字符串,并將所述位置信息作為加密密鑰對所述字符串進行加密生成加密字符串,再生成下行短信號碼的擴展號以及計算所述加密字符串和所述擴展號的散列值,根據(jù)所述加密字符串、擴展號和散列值按照預設數(shù)據(jù)格式生成所述上行短信,發(fā)送所述上行短信至運營商302,其中,所述上行短信攜帶所述終端的身份信息。
運營商302的短信中心接收到用戶的終端發(fā)送的上行短信后,將該上行短信轉發(fā)至服務端303,其中,所述上行短信攜帶所述終端的身份信息。
服務端303接收到該上行短信后,按照所述預設數(shù)據(jù)格式解析所述上行短信的所述加密字符串、擴展號和散列值,計算所述加密字符串和擴展號的散列值,判斷該加密字符串和擴展號的散列值是否與解析獲取的散列值相同,若該加密字符串和擴展號的散列值與所述解析獲取的散列值相同,根據(jù)所述身份信息進行注冊生成用戶注冊信息,將獲取的加密字符串作為下行加密字符串,同時計算所述下行加密字符串、擴展號和用戶注冊信息的離散值,根據(jù)所述下行加密字符串、擴展號、用戶注冊信息和所述離散值按照預設數(shù)據(jù)格式生成下行短信,并將所述下行短信發(fā)送至運營商302。
運營商302的短信中心接收到所述服務端發(fā)送的下行短信后,將所述下行短信轉發(fā)至終端301。
終端301接收到所述下行短信后,解析所述下行短信以獲取所述下行短信中的下行擴展號,判斷所述下行擴展號是否與所述擴展號相同,若所述下行擴展號與所述擴展號相同,計算所述下行加密字符串、用戶注冊信息和下行擴展號的散列值;判斷所述散列值是否與所述下行短信中的散列值相同,若所述散列值與所述下行短信中的散列值相同,獲取所述終端的當前位置信息,根據(jù)所述當前位置信息判斷所述下行加密字符串是否與所述加密字符串相同,若所述下行加密字符串與所述加密字符串相同,保存所述用戶注冊信息,完成注冊。
請參閱圖5,圖5是本發(fā)明實施例提供的一種終端的示意性框圖。終端包括但不限于智能手機或平板電腦。如圖5所示,終端400包括獲取單元401、生成單元402、生成發(fā)送單元403、接收單元404、獲取判斷單元405和保存單元406。
獲取單元401,用于獲取終端的位置信息。具體地,是在用戶使用短信注冊時,獲取終端的位置信息,該位置信息是指獲取用戶使用終端進行注冊時該終端的所在的地理位置信息,可以通過終端的GPS進行獲取。
生成單元402,用于生成字符串,將所述位置信息作為加密密鑰對所述字符串進行加密生成加密字符串。具體地是將該位置信息作為加密密鑰對所述字符串進行對稱加密,對稱加密是一種加密和解密過程使用相同密鑰的加密算法。
生成發(fā)送單元403,用于根據(jù)所述加密字符串生成上行短信,發(fā)送所述上行短信至服務端,其中,所述上行短信攜帶所述終端的身份信息。
具體地,該上行短信包括所述加密字符串,同時還包括其他注冊內容,比如請求號、擴展號和離散值等。所述終端發(fā)送所述上行短信至服務端,具體是發(fā)送所述上行短信至運營商的短信中心,運營商的短信中心在將所述上行短信發(fā)送至服務端,該服務端為用戶注冊應用對應的服務端。
接收單元404,用于接收所述服務端反饋的下行短信,其中,所述下行短信包括用戶注冊信息和下行加密字符串,所述用戶注冊信息為所述服務端根據(jù)所述身份信息完成注冊而生成的用戶信息。
具體地,該下行短信包括用戶注冊信息和下行加密字符串,其中,所述用戶注冊信息為所述服務端根據(jù)所述身份信息完成注冊而生成的用戶信息,用戶注冊信息包括用戶名稱等;所述下行加密字符串包括所述加密字符串。下行短信由至少所述用戶注冊信息和下行加密字符串加密而生成。
獲取判斷單元405,用于獲取所述終端當前位置信息,根據(jù)所述當前位置信息判斷所述下行加密字符串是否與所述加密字符串相同。
具體地,獲取所述終端當前位置信息是指獲取該終端接收到所述服務端反饋的下行短信時終端所在位置信息,具體為終端所在位置的坐標信息。終端接收到下行短信,獲取下行短信中的下行加密字符串,根據(jù)當前位置信息解密該下行加密字符串,將所述下行加密字符串與所述加密字符串的字符串相比對確定是否相同。如果下行短信或上行短信有被竊取和篡改等,該下行短信中的下行加密字符串一定與所述加密字符串不同?;诖?,獲取判斷單元405具體包括:第一判斷單元4051、第一獲取單元4052、第二判斷單元4053和判定單元4054。其中,第一判斷單元4051,用于判斷所述當前位置信息是否能解密所述下行加密字符串。第一獲取單元4052,用于若所述當前位置信息能解密所述下行加密字符串,獲取所述下行加密字符串的下行字符串;第二判斷單元4053,用于判斷所述下行字符串是否與所述字符串相同;判定單元4054,用于若所述下行字符串與所述字符串相同,判定所述下行加密字符串與所述加密字符串相同。
保存單元406,用于若所述下行加密字符串與所述加密字符串相同,保存所述用戶注冊信息。
具體地,若所述下行加密字符串與所述加密字符串相同,則可以確認該下行短信是該服務端完成注冊后發(fā)送給所述終端的反饋短信,還可以確認該下行短信是沒有沒被不法分子竊取和篡改的,因為上、下行短信都是明文短信,不法分子竊取到該上、下行短信后,可能知道該短信被加密,但并不知道該短信的加密密鑰。若所述下行加密字符串與所述加密字符串相同,保存所述用戶注冊信息,完成本次注冊。
請參閱圖6,圖6是本發(fā)明實施例提供的一種終端的另一示意性框圖。終端包括但不限于智能手機或平板電腦。如圖6所示,終端500包括獲取單元501、生成單元502、第一生成單元503、計算單元504、生成發(fā)送單元505、接收單元506、解析獲取單元507、第三判斷單元508、第一計算單元509、第四判斷單元510、第二獲取單元511、獲取判斷單元512和保存單元513。
獲取單元501,用于獲取終端的位置信息。
生成單元502,用于生成字符串,將所述位置信息作為加密密鑰對所述字符串進行加密生成加密字符串。其中,該字符串包括隨機字符和指定字符串,字符串的長度不做限定。將所述位置信息作為加密密鑰對所述字符串進行加密,具體地是將該位置信息作為加密密鑰對所述字符串進行對稱加密,對稱加密是一種加密和解密過程使用相同密鑰的加密算法。
第一生成單元503,用于生成下行短信號碼的擴展號。其中,下行短信號碼是指短信中心向服務端發(fā)送短信時使用的號碼,一般的運營商分配的號碼是允許在該號碼后加入擴展號的,生成所述下行短信號碼的擴展號,作為上行短信的一部分,可以用來防止冒充短信注冊的攻擊。
計算單元504,用于計算所述加密字符串和所述擴展號的散列值。其中,散列計算具體采用SHA256散列計算。
生成發(fā)送單元505,用于根據(jù)所述加密字符串、擴展號和散列值按照預設數(shù)據(jù)格式生成所述上行短信,發(fā)送所述上行短信至服務端,其中,所述上行短信攜帶所述終端的身份信息。
具體地,比如,終端將所述加密字符串、擴展號和散列值以該預設數(shù)據(jù)格式進行排列生成上行短信,服務端可以利用該預設格式進行拆分所述上行短信,獲取上行短信中的所述加密字符串、擴展號和散列值。
接收單元506,用于接收所述服務端反饋的下行短信,其中,所述下行短信包括用戶注冊信息和下行加密字符串,所述用戶注冊信息為所述服務端根據(jù)所述身份信息完成注冊而生成的用戶信息。
具體地,所述用戶注冊信息為所述服務端根據(jù)所述身份信息完成注冊而生成的用戶信息,用戶注冊信息包括用戶名稱等;所述下行加密字符串包括所述加密字符串,也可就是該加密字符串。下行短信由至少所述用戶注冊信息和下行加密字符串加密而生成。
解析獲取單元507,用于解析所述下行短信以獲取所述下行短信中的下行擴展號。其中,解析所述下行短信具體是指終端按預設數(shù)據(jù)格式對所述下行短信拆分以獲取所述下行短信中的擴展號,該擴展號稱為下行擴展號。
第三判斷單元508,用于判斷所述下行擴展號是否與所述擴展號相同。
第一計算單元509,用于若所述下行擴展號與所述擴展號相同,計算所述下行加密字符串、用戶注冊信息和下行擴展號的散列值。其中,散列計算具體采用SHA256散列計算。
第四判斷單元510,用于判斷所述散列值是否與所述下行短信中的散列值相同,其中,所述下行短信中的散列值為服務端對所述下行加密字符串、用戶注冊信息和下行擴展號的進行散列計算生成的數(shù)值。
第二獲取單元511,用于若所述散列值與所述下行短信中的散列值相同,獲取所述終端的當前位置信息。其中,獲取該終端接收到所述服務端反饋的下行短信時終端所在位置信息,具體為終端所在位置的坐標信息。
獲取判斷單元512,用于獲取所述終端當前位置信息,根據(jù)所述當前位置信息判斷所述下行加密字符串是否與所述加密字符串相同。具體地,通過對所述下行加密字符串進行解密,如果下行短信沒有被攻擊,該下行加密字符串的字符串應該和加密字符串中的字符串相同。
保存單元513,用于若所述下行加密字符串與所述加密字符串相同,保存所述用戶注冊信息。
其中,若所述下行加密字符串與所述加密字符串相同,則可以確認該下行短信是該服務端完成注冊后發(fā)送給所述終端的反饋短信,還可以確認該下行短信是沒有沒被不法分子竊取和篡改的,因為上、下行短信都是明文短信,不法分子竊取到該上、下行短信后,可能知道該短信被加密,但并不知道該短信的加密密鑰。若所述下行加密字符串與所述加密字符串相同,保存所述用戶注冊信息,完成本次注冊。因此通過終端的位置信息進行加密和解密,可以確保上下行注冊短信的安全性,進而確保了用戶在無網(wǎng)絡狀態(tài)下完成安全注冊。
本發(fā)明還提供一種終端,如平板電腦、手機、電子閱讀器等移動終端,請參閱圖7,圖7為本發(fā)明一實施例提供的一種終端的結構組成示意圖。該終端600可以包括輸入裝置601、包括有一個或一個以上計算機可讀存儲介質的存儲器602、傳感器603、顯示裝置604以及包括有一個或者一個以上處理核心的處理器605等部件。本領域技術人員可以理解,圖7中示出的終端結構并不構成對終端的限定,可以包括比圖示更多或更少的部件,或者組合某些部件,或者不同的部件布置。
輸入裝置601可用于接收輸入的數(shù)字、字符信息或用戶特征信息(比如指紋),以及產生與用戶設置以及功能控制有關的鍵盤、鼠標、操作桿、光學或者軌跡球信號輸入。具體地,在一個具體的實施例中,輸入裝置601可包括觸敏表面以及其他輸入設備。觸敏表面,也稱為觸摸顯示屏或者觸控板,可收集用戶在其上或附近的觸摸操作(比如用戶使用手指、觸筆等任何適合的物體或附件在觸敏表面上或在觸敏表面附近的操作),并根據(jù)預先設定的程式驅動相應的連接裝置。可選的,觸敏表面可包括觸摸檢測裝置和觸摸控制器兩個部分。其中,觸摸檢測裝置檢測用戶的觸摸方位,并檢測觸摸操作帶來的信號,將信號傳送給觸摸控制器;觸摸控制器從觸摸檢測裝置上接收觸摸信息,并將它轉換成觸點坐標,再送給處理器605,并能接收處理器605發(fā)來的命令并加以執(zhí)行。此外,可以采用電阻式、電容式、紅外線以及表面聲波等多種類型實現(xiàn)觸敏表面。除了觸敏表面,輸入裝置601還可以包括其他輸入設備。
存儲器602可用于存儲應用程序和數(shù)據(jù)。存儲器602存儲的應用程序中包含有可執(zhí)行代碼。應用程序可以組成各種功能模塊。處理器605通過運行存儲在存儲器602的應用程序,從而執(zhí)行各種功能應用以及數(shù)據(jù)處理。存儲器602可主要包括存儲程序區(qū)和存儲數(shù)據(jù)區(qū),其中,存儲程序區(qū)可存儲操作系統(tǒng)、至少一個功能所需的應用程序(比如聲音播放功能、圖像播放功能等)等;存儲數(shù)據(jù)區(qū)可存儲根據(jù)終端的使用所創(chuàng)建的數(shù)據(jù)(比如音頻數(shù)據(jù)、電話本等)等。此外,存儲器602可以包括高速隨機存取存儲器,還可以包括非易失性存儲器,例如至少一個磁盤存儲器件、閃存器件、或其他易失性固態(tài)存儲器件。相應地,存儲器602還可以包括存儲器控制器,以提供處理器605和輸入單元403對存儲器602的訪問。
終端還可包括至少一種傳感器603,比如光傳感器、運動傳感器以及其他傳感器。具體地,光傳感器可包括環(huán)境光傳感器及接近傳感器,其中,環(huán)境光傳感器可根據(jù)環(huán)境光線的明暗來調節(jié)顯示面板的亮度,接近傳感器可在終端移動到耳邊時,關閉顯示面板和/或背光。作為運動傳感器的一種,重力加速度傳感器可檢測各個方向上(一般為三軸)加速度的大小,靜止時可檢測出重力的大小及方向,可用于識別手機姿態(tài)的應用(比如橫豎屏切換、相關游戲、磁力計姿態(tài)校準)、振動識別相關功能(比如計步器、敲擊)等。至于終端還可配置的氣壓計、濕度計、溫度計、紅外線傳感器等其他傳感器,在此不再贅述。
顯示裝置604可用于顯示由用戶輸入的信息或提供給用戶的信息以及終端的各種圖形用戶接口,這些圖形用戶接口可以由圖形、文本、圖標、視頻和其任意組合來構成。顯示裝置604可包括顯示面板進一步的,觸敏表面可覆蓋顯示面板,當觸敏表面檢測到在其上或附近的觸摸操作后,傳送給處理器605以確定觸摸事件的類型,隨后處理器605根據(jù)觸摸事件的類型在顯示面板上提供相應的視覺輸出。雖然在圖7中,觸敏表面與顯示面板是作為兩個獨立的部件來實現(xiàn)輸入和輸入功能,但是在某些實施例中,可以將觸敏表面與顯示面板集成而實現(xiàn)輸入和輸出功能。
處理器605是終端的控制中心,利用各種接口和線路連接整個終端的各個部分,通過運行或執(zhí)行存儲在存儲器602內的應用程序,以及調用存儲在存儲器602內的數(shù)據(jù),執(zhí)行終端的各種功能和處理數(shù)據(jù),從而對終端進行整體監(jiān)控??蛇x的,處理器605可包括一個或多個處理核心;優(yōu)選的,處理器605可集成應用處理器和調制解調處理器,其中,應用處理器主要處理操作系統(tǒng)、用戶界面和應用程序等,調制解調處理器主要處理無線通信??梢岳斫獾氖?,上述調制解調處理器也可以不集成到處理器605中。
盡管圖7中未示出,本領域的技術人員可以理解,終端還可以包括攝像頭、藍牙模塊、無線保真等,在此不再贅述。
具體在本實施例中,終端中的處理器605會按照如下的指令,將一個或一個以上的應用程序的進程對應的可執(zhí)行代碼加載到存儲器602中,由處理器605來運行存儲在存儲器602中的程序代碼,并執(zhí)行如下操作:
獲取終端的位置信息;生成字符串,將所述位置信息作為加密密鑰對所述字符串進行加密生成加密字符串;根據(jù)所述加密字符串生成上行短信,發(fā)送所述上行短信至服務端,其中,所述上行短信攜帶所述終端的身份信息;接收所述服務端反饋的下行短信,其中,所述下行短信包括用戶注冊信息和下行加密字符串,所述用戶注冊信息為所述服務端根據(jù)所述身份信息完成注冊而生成的用戶信息;獲取所述終端當前位置信息,根據(jù)所述當前位置信息判斷所述下行加密字符串是否與所述加密字符串相同;若所述下行加密字符串與所述加密字符串相同,保存所述用戶注冊信息。
具體地,所述處理器605還執(zhí)行如下操作:判斷所述當前位置信息是否能解密所述下行加密字符串;若所述當前位置信息能解密所述下行加密字符串,獲取所述下行加密字符串的下行字符串;判斷所述下行字符串是否與所述字符串相同;若所述下行字符串與所述字符串相同,判定所述下行加密字符串與所述加密字符串相同。
進一步地,所述處理器605還執(zhí)行如下操作:生成字符串,將所述位置信息作為加密密鑰對所述字符串進行加密生成加密字符串;生成下行短信號碼的擴展號;計算所述加密字符串和所述擴展號的散列值;根據(jù)所述加密字符串、擴展號和散列值按照預設數(shù)據(jù)格式生成所述上行短信,發(fā)送所述上行短信至服務端,其中,所述上行短信攜帶所述終端的身份信息;接收所述服務端反饋的下行短信,其中,所述下行短信包括用戶注冊信息和下行加密字符串,所述用戶注冊信息為所述服務端根據(jù)所述身份信息完成注冊而生成的用戶信息;獲取所述終端當前位置信息,根據(jù)所述當前位置信息判斷所述下行加密字符串是否與所述加密字符串相同;若所述下行加密字符串與所述加密字符串相同,保存所述用戶注冊信息。。
進一步地,所述處理器605還執(zhí)行如下操作:在接收所述服務端反饋的下行短息之后,解析所述下行短信以獲取所述下行短信中的下行擴展號;判斷所述下行擴展號是否與所述擴展號相同;若所述下行擴展號與所述擴展號相同,獲取所述終端的當前位置信息。
進一步地,所述處理器605還執(zhí)行如下操作:在所述若所述下行擴展號與所述擴展號相同之后,計算所述下行加密字符串、用戶注冊信息和下行擴展號的散列值;判斷所述散列值是否與所述下行短信中的散列值相同,其中,所述下行短信中的散列值為服務端對所述下行加密字符串、用戶注冊信息和下行擴展號的進行散列計算生成的數(shù)值;若所述散列值與所述下行短信中的散列值相同,獲取所述終端的當前位置信息。
本領域普通技術人員可以意識到,結合本文中所公開的實施例描述的各示例的單元及算法步驟,能夠以電子硬件、計算機軟件或者二者的結合來實現(xiàn),為了清楚地說明硬件和軟件的可互換性,在上述說明中已經(jīng)按照功能一般性地描述了各示例的組成及步驟。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術方案的特定應用和設計約束條件。專業(yè)技術人員可以對每個特定的應用來使用不同方法來實現(xiàn)所描述的功能,但是這種實現(xiàn)不應認為超出本發(fā)明的范圍。
所屬領域的技術人員可以清楚地了解到,為了描述的方便和簡潔,上述描述的終端和單元的具體工作過程,可以參考前述方法實施例中的對應過程,在此不再贅述。
在本申請所提供的幾個實施例中,應該理解到,所揭露的終端和方法,可以通過其它的方式實現(xiàn)。例如,以上所描述的裝置實施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現(xiàn)時可以有另外的劃分方式,例如多個單元或組件可以結合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另外,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口、裝置或單元的間接耦合或通信連接,也可以是電的,機械的或其它的形式連接。
本發(fā)明實施例方法中的步驟可以根據(jù)實際需要進行順序調整、合并和刪減。
本發(fā)明實施例終端中的單元可以根據(jù)實際需要進行合并、劃分和刪減。
所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部單元來實現(xiàn)本發(fā)明實施例方案的目的。
另外,在本發(fā)明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以是兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以采用硬件的形式實現(xiàn),也可以采用軟件功能單元的形式實現(xiàn)。
所述集成的單元如果以軟件功能單元的形式實現(xiàn)并作為獨立的產品銷售或使用時,可以存儲在一個計算機可讀取存儲介質中。基于這樣的理解,本發(fā)明的技術方案本質上或者說對現(xiàn)有技術做出貢獻的部分,或者該技術方案的全部或部分可以以軟件產品的形式體現(xiàn)出來,該計算機軟件產品存儲在一個存儲介質中,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網(wǎng)絡設備等)執(zhí)行本發(fā)明各個實施例所述方法的全部或部分步驟。而前述的存儲介質包括:U盤、移動硬盤、只讀存儲器(ROM,Read-Only Memory)、隨機存取存儲器(RAM,Random Access Memory)、磁碟或者光盤等各種可以存儲程序代碼的介質。
以上所述,僅為本發(fā)明的具體實施方式,但本發(fā)明的保護范圍并不局限于此,任何熟悉本技術領域的技術人員在本發(fā)明揭露的技術范圍內,可輕易想到各種等效的修改或替換,這些修改或替換都應涵蓋在本發(fā)明的保護范圍之內。因此,本發(fā)明的保護范圍應以權利要求的保護范圍為準。