專利名稱:以受保護的身份傳送sms消息的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及電話網(wǎng)數(shù)字傳輸系統(tǒng),特別是涉及一種以受保擴的身份傳送SMS消息的方法。
背景技術(shù):
眾所周知,現(xiàn)代電信系統(tǒng)允許傳輸短SMS類型的消息(短消息系統(tǒng)),這種消息可以用電話鍵盤輸入并與聲音信號同時顯示在電話的顯示器上,而不會相互引起干擾。這種字母數(shù)字的傳輸直到最近也是無線網(wǎng)移動電話系統(tǒng)所特有的,但是現(xiàn)在利用連接到固定網(wǎng)的適當裝置,例如電話、傳真機、電子郵箱(E-mail)等等也能實現(xiàn)這種字母數(shù)字的傳輸。
SMS消息由不同的字段組成。在這種消息的首部,有包含用戶電話號碼并被稱為OADC字段(發(fā)起方地址目標代碼)的字段,在這種消息的主體,有業(yè)務(wù)和正文字段。用戶電話號碼允許系統(tǒng)管理員計費,還允許接受方識別消息的發(fā)起方。盡管這個特性是管理員所必需的,但是不能被消息的發(fā)送方接受,或者實際上與管理通信隱私的標準相違背,例如當SMS消息用于特殊的業(yè)務(wù),諸如投票、有獎競賽等等。最終業(yè)務(wù)的提供商不準借助于電話號碼獲得用戶的個人數(shù)據(jù),但必須能用其它方式到達用戶。
目前采用的保護使用音頻電話的主叫方身份的方法不適用于這個目的,因為它們通常使電話號碼的最后三位數(shù)字難以辨認來實現(xiàn)。這樣雖然防止了用戶被識別,但也使接收呼叫的人無法回話。
發(fā)明內(nèi)容
利用以受保護的身份傳送SMS消息的方法(本發(fā)明的主題)可以避免這些難點和解決上述的技術(shù)問題,這個過程可以防止SMS消息的接受方看到主叫方的電話號碼以及相應(yīng)的個人數(shù)據(jù),但允許接受方通過發(fā)送SMS消息來聯(lián)系主叫方。
本發(fā)明的主題是一種以受保護的身份傳送SMS消息的方法,正如權(quán)利要求1的特征部分所述。
通過下面由非限制性的例子和附圖所給出的本發(fā)明的優(yōu)選形式可以使本發(fā)明的上述和其它特征變得更清楚,附圖中圖1表示GSM類型的無線移動系統(tǒng),其中SMS消息根據(jù)本發(fā)明傳送。
圖2是表示加密操作的流程圖;圖3是表示解密操作的流程圖。
具體實施例方式
在以受保護的身份傳送SMS消息的過程期間,業(yè)務(wù)管理員加密包含在消息首部中的用戶電話號碼以免用戶的個人數(shù)據(jù)泄露,隨后再解密以恢復原始的電話號碼。
圖1給出了一個GSM無線移動系統(tǒng)的例子,其中具有SIM卡的TC蜂窩電話機發(fā)送SMS消息,并將它的電話號碼顯示在GSM網(wǎng)上。該消息被叫做SMSC(短消息業(yè)務(wù)中心)的SMS消息業(yè)務(wù)中心接收和處理,然后轉(zhuǎn)發(fā)到叫做GW的轉(zhuǎn)接設(shè)備,在此加密主叫方的電話號碼。GW設(shè)備,也叫做SMS網(wǎng)關(guān),通常將來自SMSC的UDP消息(用戶數(shù)據(jù)報協(xié)議)變換成IP消息,然后IP消息經(jīng)TCP/IP路由器發(fā)送到TCP/IP(傳輸控制協(xié)議/互聯(lián)網(wǎng)協(xié)議)網(wǎng)。
然后修改后的消息被送到它的目的地,這個目的地可以是具有用戶數(shù)據(jù)庫DB的FS業(yè)務(wù)提供商,該用戶數(shù)據(jù)庫DB例如包含用戶標識(加密的號碼)、用戶已經(jīng)發(fā)送的消息數(shù)目、發(fā)送日期、消息中的信息等等。
如果FS業(yè)務(wù)提供商無法從加密的電話號碼中解密用戶身份,則仍然可以用加密的號碼應(yīng)答。然后SMS GW解密號碼以恢復到原始的形式,然后轉(zhuǎn)發(fā)該消息。業(yè)務(wù)提供商顯然無法訪問SMS GW,從而看不到電話號碼。
用戶的電話號碼利用包括專門算法的適當?shù)膽?yīng)用程序加密。
選擇對稱可逆的算法是個好主意,這種算法具有用于加密/解密的單個口令,它作用于連續(xù)的號碼流來加密不同長度的數(shù)據(jù)?!辶鳌逍退惴M足這些要求,這種算法可以字節(jié)為單位加密所到達的數(shù)據(jù)直到末尾。
為了正確使用算法,包括十進制矢量的原始電話號碼必須具備下面的特性包含國際電碼;不從零開始;所包含的代碼不超過14位數(shù)。
該應(yīng)用程序輸出最大16位數(shù)的矢量。這個限制是由于SMS消息的OADC字段大小所建立的。輸出矢量包括不超過所輸入電話號碼的位數(shù),即14的第一加密部分和包括用于加密的口令索引的兩位數(shù)的第二部分。
創(chuàng)建一個33個口令的表,其中每個口令對應(yīng)一個索引。兩位十進制數(shù)可以表示的99個可能的索引可用于傳送更多的信息,正如下面所進一步詳細描述的。
加密口令表不包含在源代碼中,而是在SMS GW模塊每次啟動加密/解密應(yīng)用程序時動態(tài)地生成。33個口令不變,但不能從應(yīng)用程序的源代碼或用于計算口令的數(shù)學算法中推導出來。所用的算法可以很容易改變。
特別是,該口令可以根據(jù)管理員應(yīng)業(yè)務(wù)提供商的要求分配給應(yīng)用程序所考慮的″歷史″布爾變量的值從表中隨機地選擇出來或者可以對相同的電話號碼用相同的口令。
如果這個″歷史″變量是″真″,則業(yè)務(wù)提供商可以建立移動用戶所進行的操作過程(story),并將它存入只有提供商可以訪問的裝置中。這樣,業(yè)務(wù)提供商可以收集用戶的統(tǒng)計數(shù)據(jù)并存儲個人消息的內(nèi)容,例如用戶在有獎競賽中給出了正確答案。
在解密期間,應(yīng)用程序輸入不超過16位十進制數(shù)的矢量,該矢量包含加密的電話號碼和占據(jù)最后兩個矢量位置的用來加密的口令索引。
該″真″″歷史″變量不必解密,因為它可以從口令索引所屬的數(shù)值范圍中推導出來。
輸出中,應(yīng)用程序恢復不超過14位十進制數(shù)的原始電話號碼,在國際電碼的開始沒有零。
加密用戶電話號碼的各個操作的更多細節(jié)在圖2所示的流程圖中給出。
在開始階段1,即獲得消息首部OADC字段中的電話號碼之后,檢驗它由多少個字節(jié)組成,階段2。如果長度不超過14個字節(jié),則不必執(zhí)行任何操作直接發(fā)送到輸出端,階段13。否則,電話號碼從用于SMS傳輸?shù)母袷睫D(zhuǎn)換成十進制數(shù)格式,階段3。SMS格式實際上包括14個字節(jié)的矢量,每個字節(jié)表示電話號碼從0到9的數(shù)字,它必須轉(zhuǎn)換成十進制,以便可以進行隨后的操作。
下一個階段4檢驗″歷史″布爾變量是否已經(jīng)設(shè)置成″真″。如果情況不是這樣,即邏輯值是″假″,則用叫做RAND(32)的函數(shù)隨機生成一個小于33的整數(shù)以獲得口令表索引。否則,用MOD33(OADC)函數(shù)對電話號碼進行基數(shù)為33的模運算,以給出索引,相同的數(shù)字索引總是相同,階段6?,F(xiàn)在眾所周知基數(shù)為33的模運算就是將號碼除以33,直到余數(shù)小于33。余數(shù)就是口令表索引。
在下一階段7,如果以上述兩種方式之一計算的電話號碼和口令表索引可以獲得,則可以利用選定的″流″對稱算法進行加密。
階段8檢驗有多少個十進制數(shù)字組成加密號碼。如果它包括不超過14位的十進制數(shù)字,則從十進位數(shù)再次轉(zhuǎn)換成適于SMS消息傳輸?shù)淖止?jié)矢量,兩個索引字節(jié)添加到末尾,階段12,以便在操作結(jié)束時恢復,階段13。但是,如果它包括14位以上的十進制數(shù)字,則檢驗它比2*1014多還是少,階段9。如果小于2*1014,則索引加33,階段10,而如果大于或等于2*1014,則索引加66,階段11。
這樣,口令表索引可以是在0-32、33-65、66-99的三個范圍之一,因此提供這樣的信息,即加密號碼除了14位十進制數(shù)字以外還包括可以分別是0、1或2的第15位數(shù)字。顯然,不同于00、33或66的索引總是確定相同的口令。
與上一種情況相同,十進制數(shù)再次轉(zhuǎn)換成包括兩個索引字節(jié)的字節(jié)矢量,如此獲得16字節(jié)的矢量,階段12,然后輸出,階段13。
解密用戶電話號碼的各個操作的更多細節(jié)在圖3所示的流程圖中給出。
在初始化的第一階段,階段20,即獲得消息OADC字段中的加密電話號碼之后,它通過提取表示口令表索引的最后兩位數(shù)字從用于SMS傳輸?shù)氖噶扛袷睫D(zhuǎn)換成十進制數(shù),階段21。
然后階段22檢驗索引值。如果索引小于33,則可以找到相應(yīng)的口令并直接進行解密,階段27。獲得的號碼再次轉(zhuǎn)換成適于SMS消息傳輸?shù)氖噶?,階段28,然后輸出,階段29。
但是,如果索引大于或等于33,檢驗它是否大于或等于66,階段23。如果是,則密碼電話號碼加2*1014,階段25,否則加1*1014,階段24,如此獲得原始的加密號碼。在這兩種情況下,索引進行基數(shù)為33的模運算,階段26,以獲得在范圍0-32的值,然后解密,階段27,再次轉(zhuǎn)換成矢量格式,階段28,然后結(jié)束,階段29。
顯然,用非限制性的例子給出了這個說明書??梢赃M行變型和改進,但沒有超出權(quán)利要求書的保護范圍。
權(quán)利要求
1.一種以受保護的身份傳輸SMS消息的方法,其中主叫方的電話號碼包含在發(fā)送的SMS消息的首部字段(OADC)中,其特征在于,用戶發(fā)送的電話號碼可見的SMS消息由SMS消息業(yè)務(wù)中心(SMSC)接收和處理,然后轉(zhuǎn)發(fā)到轉(zhuǎn)接設(shè)備(GW),在此該SMS消息用根據(jù)適當算法的應(yīng)用程序加密,然后傳輸?shù)侥康牡?,目的地無法從加密的電話號碼中追蹤到用戶的身份,但是可以利用加密的號碼應(yīng)答,因為轉(zhuǎn)接設(shè)備(GW)能夠解密號碼和使號碼恢復到原始的形式,然后正確地轉(zhuǎn)發(fā)呼叫。
2.如權(quán)利要求1所述的方法,其特征在于,所述適當?shù)乃惴ㄊ菍ΨQ可逆的算法,該算法具有用于加密/解密的單個口令,適于作用于連續(xù)的號碼流來加密不同長度的數(shù)據(jù)。
3.如權(quán)利要求1或2所述的方法,其特征在于,所述應(yīng)用程序每次根據(jù)管理員應(yīng)業(yè)務(wù)提供商的請求分配給布爾變量(歷史)的值創(chuàng)建口令表,口令表中每個口令有一個索引,口令可以隨機地生成或者對于相同的電話號碼口令相同,它允許被叫方存儲主叫用戶所執(zhí)行的操作歷史。
4.如權(quán)利要求1到3任何一個所述的方法,其特征在于,所述應(yīng)用程序執(zhí)行如下的加密操作獲得可見的電話號碼(階段1);檢驗它包括多少個字節(jié)(階段2);如果號碼超過14個字節(jié),則它不必執(zhí)行任何操作直接發(fā)送到輸出端(階段13);如果號碼沒有超過第一長度,則它從用于SMS傳輸?shù)母袷睫D(zhuǎn)換成十進制數(shù)格式(階段3);計算布爾變量(歷史)的邏輯值,(階段4);如果該布爾變量具有第一邏輯值(假),則它隨機地生成小于口令數(shù)目的整數(shù)以得到所述表的索引(階段5);如果該布爾變量具有第二邏輯值(真),它以口令數(shù)目作為基數(shù)對電話號碼進行模運算,得到對相同的電話號碼總是相同的索引(階段6);利用所述算法執(zhí)行加密操作(階段7);檢驗有多少位十進制數(shù)組成該加密號碼(階段8);如果十進制數(shù)字不超過第一個數(shù),則將加密號碼從十進制數(shù)再次轉(zhuǎn)換成適于SMS消息傳輸?shù)淖止?jié)矢量(階段12);如果十進制數(shù)字超過第一個數(shù),則檢驗它們是否大于或等于第一個數(shù)的兩倍(階段9);如果它們小于所述第一個數(shù)的兩倍,則加上口令數(shù)目的索引(階段10);如果它們大于或等于所述第一個數(shù)的兩倍,則加上口令數(shù)目的索引的兩倍(階段11);它將加密號碼從十進制數(shù)再次轉(zhuǎn)換成包括兩個索引字節(jié)的字節(jié)矢量(階段12);結(jié)束加密操作(階段13)。
5.如權(quán)利要求4所述的方法,其特征在于,所述應(yīng)用程序執(zhí)行如下的解密操作獲得加密的電話號碼(階段20);將它從用于SMS傳輸?shù)母袷睫D(zhuǎn)換成十進制數(shù)格式,提取表示口令表索引的最后兩位數(shù)(階段21);檢驗索引值(階段22);如果索引小于口令數(shù),則得到相應(yīng)的口令并直接進行解密(階段27);如果索引大于或等于口令數(shù),則判定它是口令數(shù)的兩倍或更多(階段23);如果是口令數(shù)的兩倍或更多,則加密電話號碼使第一個數(shù)加上2*1014(階段25);如果小于口令數(shù)的兩倍,則加密電話號碼使第一個數(shù)加上1*1014(階段24);如果索引大于或等于口令數(shù),則將口令數(shù)用作?;鶖?shù)對索引進行模運算(階段26);進行解密(階段27);將解密的號碼再次轉(zhuǎn)換成矢量格式(階段28);結(jié)束解密操作(階段29)。
全文摘要
本發(fā)明涉及一種以受保護的身份傳送SMS消息的方法,可以防止SMS消息的接受方看到主叫方的電話號碼以及相應(yīng)的個人數(shù)據(jù),但允許接受方通過發(fā)送SMS消息來聯(lián)系主叫方。在這個過程期間,業(yè)務(wù)管理員加密包含在消息首部中的用戶電話號碼,隨后再解密以恢復原始的電話號碼。
文檔編號H04M3/42GK1504055SQ02808658
公開日2004年6月9日 申請日期2002年3月30日 優(yōu)先權(quán)日2001年4月4日
發(fā)明者馬克·斯尼, 鮑里斯·摩爾特查諾夫, 摩爾特查諾夫, 馬克 斯尼 申請人:意大利電信股份公司