專利名稱:一種對云計算業(yè)務(wù)智能終端用戶信息安全輸入的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及ー種云計算終端領(lǐng)域技術(shù),具體地說是ー種對云計算業(yè)務(wù)智能終端用戶信息安全輸入的方法。
背景技術(shù):
隨著科技的發(fā)展,云計算在很多領(lǐng)域開始 得到廣泛應(yīng)用,隨著云計算的發(fā)展,對云計算的終端設(shè)備在性能、安全性和用戶體驗性上提出了更高的要求,由于目前云終端領(lǐng)域會涉及到用戶的隱私信息,但是當前各種終端設(shè)備在安全保密工作上做的不是很完善。由于目前云計算業(yè)務(wù)智能終端處于剛剛起步和分散狀態(tài),在各種復(fù)雜的環(huán)境中無法保證用戶信息的安全性;通常采用的方式是加裝攝像頭和用戶自己加強防范意識,而采用這種方法有幾種弊端,一是可以通過觀察用戶按鍵的位置猜測用戶的信息,ニ是通過用戶按鍵的聲音竊取用戶的信息,三是通過網(wǎng)絡(luò)竊取用戶信息。
發(fā)明內(nèi)容
本發(fā)明的技術(shù)任務(wù)是提供一種在云終端設(shè)備上新的設(shè)計流程、方法、鍵盤亂序和加密方法,使用戶的敏感信息得到更好的保護的ー種對云計算業(yè)務(wù)智能終端用戶信息安全輸入的方法。本發(fā)明的技術(shù)任務(wù)是按以下方式實現(xiàn)的,包括云計算業(yè)務(wù)智能終端,該方法的用戶信息安全輸入的流程為在云計算業(yè)務(wù)智能終端上用戶選擇一云計算業(yè)務(wù)智能終端的鍵盤的按鍵值順序布局或者亂序布局一用戶輸入信息一用戶發(fā)送信息一DES加密一網(wǎng)絡(luò)傳輸一云服務(wù)器接受信息一DES解密一云服務(wù)器校驗信息;
(1)、云計算業(yè)務(wù)智能終端的鍵盤的按鍵值順序布局或者亂序布局,即鍵盤的按鍵值的位置毎次在鍵盤上的排列順序都是隨機的或者是順序的,具體實現(xiàn)方法
首先定義ー個數(shù)組,根據(jù)電路板原理和數(shù)碼管的顯示數(shù)據(jù),定義O到9和A到Z的顯示數(shù)據(jù)編碼,然后再定義兩個數(shù)組,分別用于存放鍵盤值和數(shù)碼管的顯示編碼;
然后用隨機函數(shù)rand ()和srand ()對以上數(shù)據(jù)進行從新排序;由于本身芯片的資源和速度以及本身產(chǎn)品要求顯示的實時性,在這個排序過程中,對產(chǎn)生隨機數(shù)進行了改造,每一次隨機的是第一個數(shù)據(jù)的下標;第一次產(chǎn)生是從0-9之間進行產(chǎn)生,這樣產(chǎn)生的數(shù)據(jù)和最后一位進行交換,這樣每遍歷一次就會少ー個值,這樣就不會產(chǎn)生重復(fù)數(shù)據(jù)的機會,也就保證了速度。對產(chǎn)生的隨機數(shù)據(jù)序列對應(yīng)數(shù)碼管的編碼,就是最終的顯示數(shù)據(jù);
最后根據(jù)具體顯示的那個數(shù)據(jù)去對照數(shù)碼管的編碼,實現(xiàn)數(shù)據(jù)的顯示,同時根據(jù)顯示的數(shù)據(jù)在鍵盤值數(shù)組對應(yīng)的位置設(shè)置對應(yīng)的值,以便在用戶輸入信息能夠正確發(fā)送出去;
(2)、DES加密(DES(keyl,加密)DES(key2,解密)DES(keyl,加密)),DES加密首先取得64位的密鑰,然后去掉奇偶校驗位得到56為密鑰,然后對56位密鑰分為兩組,得到28位子密鑰,然后對子密鑰進行移位操作,然后再進行S盒和P盒置換得到48位密鑰,經(jīng)過16輪后,最后進行一次末置換,形成密文;
DES解密數(shù)據(jù)傳輸?shù)侥繕藱C之后再根據(jù)密鑰key進行解密,(DES(keyl,解密)DES(key2,加密)DES(keyl,解密)),DES解密算法和DES加密算法相同,密鑰倒序即可,最后得到正確的輸入信息。
云計算業(yè)務(wù)智能終端的鍵盤的按鍵值順序布局或者亂序布局中隨機鍵盤關(guān)鍵代碼
為
Il隨機鍵盤
Il交換a和b的值
void swap (,unsigned cnar 氺a, unsigned char *b)
{
unsigned char temp;temp =氺a;
= ;
氺b = temp;
}
void ran_keyboard()
{
int i;
Il產(chǎn)生0-9不重復(fù)的隨機數(shù)unsigned char a[10];for (i=0; i〈10; i++)
{
a[i]=i;
}
for (i=10; i>=l;i—)
{
swap (&a[i_l],&a[rand()%i]);
}
}
unsigned char bool=0;void Check_Key(void)
{
unsigned char row,col, tmpl, tmp2;
tmpl = 0x01;//tmpl用來設(shè)置Pl ロ的輸出,取反后使PL ΓΡ1. 7中
有ー個為O
for (row=0; row<4; row++) // 行檢測
{
Pl = OxfO;Il 先將 pi. 4 Ρ1· 7 置高Pl =^tmpl;// 使 PI. 4 pl. 7 中有ー個為 O
tmpl*=2;H tmpl 左移一位
if ((Pi & OxfO) < OxfO) // 檢測 pi. (Tpl 3 中是否有一位為 0,只要有,則說明此行有鍵按下,進入列檢測
{
tmp2 = 0x10; // tmp2用于檢測出哪一列為O for (col =0 ; col<4; col++) // 列檢測
{
if ((Pl & tmp2) ==0x00) //該列如果為低電平則可以判定為該列
{
key_val =key_Map [ row*4 +col ] ; // 獲取鍵值,識別按鍵;key_
Map為按鍵的定義表
/
if (ke y_vaI==KEY_VALUE_RAND_NORMAL| |key_val==KEY_VALUE_
ENTER)
{
if(key_val==KEY_VALUE_ENTER)
{
send_UART(0x80); send_UART(OxEO); send_UART(0xD3); send_UART(0x07); send_UART(OxOF); send_UART(key_val); send_UART(OxFF); bool=l;
}
if (bool==0)
{
ran_keyboardU ;bool=l;
RingO ;
while ((PI & tmp2)==0x00)
Displayl ();
RingssO ; //延遲函數(shù) RingssO ; //延遲函數(shù) return; //退出循環(huán)
}
else{
key_Map
=0x02; key_Map[I]=0x05; key_Map[2]=0x08; key_Map[3]=0x00; key_Map[4]=0x01; key_Map[5]=0x04; key_Map[6]=0x07; key_Map[7]=KEY_VALUE_DOT; key_Map[8]=KEY_VALUE_RAND_NORMAL; key_Map[9]=KEY_VALUE_PAGE_UP; key_Map[10]=KEY_VALUE_PAGE_DOWN; key_Map[11]=KEY_VALUE_CANCEL; key_Map[12]=0x03; key_Map[13]=0x06; key_Map[14]=0x09; key_Map[15]=KEY_VALUE_ENTER; RingO ;
while ((PI & tmp2)==0x00)
Displayl ();
RingssO ; //延遲函數(shù)RingssO ; //延遲函數(shù)bool=0;
return; //退出循環(huán)
}
}
else
{
send_UART(0x80); send_UART(OxEO); send_UART(0xD3); send_UART(0x07); send_UART(OxOF); send_UART(key_val); send_UART(OxFF);
RingO ;
while ((PI & tmp2)==0x00) Displayl ();
RingssO ; //延遲函數(shù)RingssO ; //延遲函數(shù) return; //退出循環(huán)
}
}
tmp2*=2;// tmp2 左移一位
}
}
}、
}
DES加密與DES解密的關(guān)鍵代碼為
#dei me Bit Transform (array, Ienj source, dest)
{
—int64 bts = source; int bti; dest = 0;
for (bti = 0; bti < len; bti++)
{
if (array[bti] >= 0 && (bts & g—arrayMask[array[bti]]))
{
dest I= g—arrayMask[bti];
}
}
}
—int64 DES64 (—int64 subkeys[16],—int64 data)
{
static —int64 out; static —int64 source; static —int64 L, R; static —int32 * pSource; static char 氺 pR; static int i; static —int32 SOut; static —int32 t; static int sbi; pSource = (—int32 *)&out; pR = (char *)&R;
卜IP變換*/
{BitTransform(g_arrayIP, 64, data, out);
}
/*主迭代*/
{
//source = out;
for(i = 0; i〈 16; i++)
{
R = pSource[I];
/* F變換開始*/
{
/* E變換*/
{
BitTransform(g_arrayE, 64, R, R);
}
/*與子密鑰異或*/
R = subKeys[i];
/* S盒變換*/
{
SOut = O;
for (sbi = 7; sbi >= O; sbi—)
{
SOut くく= 4;
SOut I= g_matrixNSBox[sbi][pR[sbi]];
}
R = SOut;
}
/* P變換*/
{
BitTransform(g_arrayP, 32, R, R);
}
}
/* f變換完成*/
L = pSource[O];
pSource[O」=pSource[I」; pSource [I] = (—int32)(L ' R);
}
/*交換高低32位*/
{
t = pSource[O];pSource[O] = pSource[I];pSource[I] = t;
}
}
/* IP-I 變換 */
{
BitTransform(g_arrayIP_1, 64, out, out);
} return out;
しDES (英文Data Encryption Standard的簡稱)加密算法,于1977年得到美國政府的正式許可,是ー種用56位密鑰來加密64位數(shù)據(jù)的方法。本發(fā)明的ー種對云計算業(yè)務(wù)智能終端用戶信息安全輸入的方法具有以下優(yōu)點
1、采用鍵盤順序布局或亂序布局、DES加密方法和新的設(shè)計理念,來智能實現(xiàn)云終端,使用戶信息的信息更加安全;
2、可以應(yīng)用到銀行、稅務(wù)、股市、商檢、郵電、政務(wù)等行業(yè),是ー種十分安全的用戶信息輸入外設(shè);
3、為研制商業(yè)云計算業(yè)務(wù)智能終端特別是對復(fù)雜業(yè)務(wù)工作環(huán)境有嚴格保密性要求的云終端產(chǎn)品,在現(xiàn)有商業(yè)級芯片情況下,提供一種現(xiàn)實可行的解決方案,因而,具有很好的推廣使用價值。
下面結(jié)合附圖對本發(fā)明進ー步說明。附圖I為ー種對云計算業(yè)務(wù)智能終端用戶信息安全輸入的方法的用戶信息安全輸入的流程圖。
具體實施例方式參照說明書附圖和具體實施例對本發(fā)明的ー種對云計算業(yè)務(wù)智能終端用戶信息安全輸入的方法作以下詳細地說明。實施例
本發(fā)明的ー種對云計算業(yè)務(wù)智能終端用戶信息安全輸入的方法,包括云計算業(yè)務(wù)智能終端,其特征在于該方法的用戶信息安全輸入的流程為在云計算業(yè)務(wù)智能終端上用戶選擇一云計算業(yè)務(wù)智能終端的鍵盤的按鍵值順序布局或者亂序布局一用戶輸入信息一用戶發(fā)送信息一DES加密一網(wǎng)絡(luò)傳輸一云服務(wù)器接受信息一DES解密一云服務(wù)器校驗信息;
(I)、云計算業(yè)務(wù)智能終端的鍵盤的按鍵值順序布局或者亂序布局,即鍵盤的按鍵值的位置毎次在鍵盤上的排列順序都是隨機的或者是順序的,具體實現(xiàn)方法
首先定義ー個數(shù)組,根據(jù)電路板原理和數(shù)碼管的顯示數(shù)據(jù),定義O到9和A到Z的顯示數(shù)據(jù)編碼,然后再定義兩個數(shù)組,分別用于存放鍵盤值和數(shù)碼管的顯示編碼;
然后用隨機函數(shù)rand ()和srand ()對以上數(shù)據(jù)進行從新排序;由于本身芯片的資源和速度以及本身產(chǎn)品要求顯示的實時性,在這個排序過程中,對產(chǎn)生隨機數(shù)進行了改造,每一次隨機的是第一個數(shù)據(jù)的下標;第一次產(chǎn)生是從0-9之間進行產(chǎn)生,這樣產(chǎn)生的數(shù)據(jù)和最后一位進行交換,這樣每遍歷一次就會少ー個值,這樣就不會產(chǎn)生重復(fù)數(shù)據(jù)的機會,也就保證了速度。對產(chǎn)生的隨機數(shù)據(jù)序列對應(yīng)數(shù)碼管的編碼,就是最終的顯示數(shù)據(jù);
最后根據(jù)具體顯示的那個數(shù)據(jù)去對照數(shù)碼管的編碼,實現(xiàn)數(shù)據(jù)的顯示,同時根據(jù)顯示的數(shù)據(jù)在鍵盤值數(shù)組對應(yīng)的位置設(shè)置對應(yīng)的值,以便在用戶輸入信息能夠正確發(fā)送出去;
(2)、DES加密(DES(keyl,加密)DES(key2,解密)DES(keyl,加密)),DES 加密首先取得64位的密鑰,然后去掉奇偶校驗位得到56為密鑰,然后對56位密鑰分為兩組,得到28位子密鑰,然后對子密鑰進行移位操作,然后再進行S盒和P盒置換得到48位密鑰,經(jīng)過16輪后,最后進行一次末置換,形成密文;
DES解密數(shù)據(jù)傳輸?shù)侥繕藱C之后再根據(jù)密鑰key進行解密,(DES(keyl,解密)DES(key2,加密)DES(keyl,解密)),DES解密算法和DES加密算法相同,密鑰倒序即可,最后得到正確的輸入信息。
云計算業(yè)務(wù)智能終端的鍵盤的按鍵值順序布局或者亂序布局中隨機鍵盤關(guān)鍵代碼
為
Il隨機鍵盤 Il交換a和b的值
void swap (,unsigned cnar 氺a, unsigned char *b)
{
unsigned char temp;temp =氺a;
= ;
氺b = temp;
}
void ran_keyboard()
{
int i;
Il產(chǎn)生0-9不重復(fù)的隨機數(shù)unsigned char a[10];for (i=0; i〈10; i++)
{
a[i]=i;
}
for (i=10; i>=l;i—)
{
swap (&a[i_l],&a[rand()%i]);
}
}unsigned char bool=0;void Check—Key(void)
{
unsigned char row,col,tmpl,tmp2;
tmpl = 0x01;//tmpl用來設(shè)置Pl ロ的輸出,取反后使PL 4 P1. 7中
有ー個為O
for (row=0; row<4; row++) // 行檢測
{
Pl = OxfO;Il 先將 pi. 4 Ρ1· 7 置高
Pl =^tmpl;// 使 PI. 4、1. 7 中有ー個為 O
tmpl*=2;H tmpl 左移一位
if ((Pi & OxfO) < OxfO) // 檢測 pi. (Tpl 3 中是否有一位為 0,只要有,則說明此行有鍵按下,進入列檢測
{
tmp2 = 0x10; // tmp2用于檢測出哪一列為O for (col =0; col<4; col++) // 列檢測
{
if ((Pl & tmp2) ==0x00) //該列如果為低電平則可以判定為該列
{
key_val =key_Map [ row*4 +col ] ; // 獲取鍵值,識別按鍵;key_
Map為按鍵的定義表
/
if (key_val==KEY_VALUE_RAND_NORMAL| |key_val==KEY_VALUE_
ENTER)
{
if (key_val==KEY_VALUE_ENTER)
{
send_UART(0x80); send_UART(OxEO); send_UART(0xD3); send_UART(0x07); send_UART(OxOF); send_UART(key_val); send_UART(OxFF); bool=l;
}
if(bool==0)
{
ran_keyboardU ;bool=l;
RingO ;
while ((PI & tmp2)==0x00)
Displayl ();
RingssO ; //延遲函數(shù)RingssO ; //延遲函數(shù)return; //退出循環(huán) }
else
{
key_Map[O]=0x02; key_Map[I]=0x05; key_Map[2]=0x08; key_Map[3]=0x00; key_Map[4]=0x01; key_Map[5]=0x04; key_Map[6]=0x07; key_Map[7]=KEY_VALUE_D0T; key_Map[8]=KEY_VALUE_RAND_NORMAL; key_Map[9]=KEY_VALUE_PAGE_UP; key_Map[10]=KEY_VALUE_PAGE_DOWN; key_Map[11]=KEY_VALUE_CANCEL; key_Map[12]=0x03; key_Map[13]=0x06; key_Map[14]=0x09; key_Map[15]=KEY_VALUE_ENTER; RingO ;
while ((PI & tmp2)==0x00)
Displayl ();
RingssO ; //延遲函數(shù)RingssO ; //延遲函數(shù)bool=0;
return; //退出循環(huán)
}
}
else
{
send_UART(0x80); send_UART(OxEO);send_UART(0xD3); send_UART(0x07); send_UART(OxOF); send_UART(key_val); send_UART(OxFF);
RingO ;
while ((PI & tmp2)==0x00)
Displayl ();
RingssO ; //延遲函數(shù) RingssO ; //延遲函數(shù) return; //退出循環(huán)
}
}
tmp2*=2;// tmp2 左移一位
}
}
}
し
DES加密與DES解密的關(guān)鍵代碼為
#detme Bit Transform (array, len, source, dest)
{
—int64 bts = source; int bti; dest = 0;
for (bti = 0; bti < len; bti++)
{
if (array[bti] >= 0 && (bts & g_arrayMask[array[bti]]))
{
dest I= g_arrayMask[bti];
}
}
}
—int64 DES64(—int64 subkeys[16], —int64 data)
{static —int64 out; static —int64 source; static —int64 L, R; static —int32 * pSource;static char 氺 pR;
static int i;
static —int32 SOut;
static —int32 t;
static int sbi;
pSource = (—int32 *)&out;
pR = (char *)&R;
/* IP變換*/
{
BitTransform(g—arrayIP,64,data, out);
}
Λ主迭代*/
{
//source = out;
for(i = 0; i〈 16; i++)
{
R = pSource[I];
Λ F變換開始*/
{
卜E變換*/
{
BitTransform(g—arrayE,64,R,R);
}
卜與子密鑰異或*/
R "= subkeys[i];
/* S盒變換*/
{
SOut = O;
for (sbi = 7; sbi >= O; sbi—)
{
SOut <<= 4;
SOut I= g_matrixNSBox[sbi][pR[sbi]];
}
R = SOut;
}
/* P變換*/
{
BitTransform(g_arrayP, 32, R, R);
}
權(quán)利要求
1.一種對云計算業(yè)務(wù)智能終端用戶信息安全輸入的方法,包括云計算業(yè)務(wù)智能終端,其特征在于該方法的用戶信息安全輸入的流程為在云計算業(yè)務(wù)智能終端上用戶選擇一云計算業(yè)務(wù)智能終端的鍵盤的按鍵值順序布局或者亂序布局一用戶輸入信息一用戶發(fā)送信息一DES加密一網(wǎng)絡(luò)傳輸一云服務(wù)器接受信息一DES解密一云服務(wù)器校驗信息; (1)、云計算業(yè)務(wù)智能終端的鍵盤的按鍵值順序布局或者亂序布局,即鍵盤的按鍵值的位置每次在鍵盤上的排列順序都是隨機的或者是順序的,具體實現(xiàn)方法 首先定義一個數(shù)組,根據(jù)電路板原理和數(shù)碼管的顯示數(shù)據(jù),定義O到9和A到Z的顯示數(shù)據(jù)編碼,然后再定義兩個數(shù)組,分別用于存放鍵盤值和數(shù)碼管的顯示編碼; 然后用隨機函數(shù)rand ()和srand ()對以上數(shù)據(jù)進行從新排序;每一次隨機的是第一個數(shù)據(jù)的下標;第一次產(chǎn)生是從0-9之間進行產(chǎn)生,這樣產(chǎn)生的數(shù)據(jù)和最后一位進行交換,對產(chǎn)生的隨機數(shù)據(jù)序列對應(yīng)數(shù)碼管的編碼,就是最終的顯示數(shù)據(jù); 最后根據(jù)具體顯示的那個數(shù)據(jù)去對照數(shù)碼管的編碼,實現(xiàn)數(shù)據(jù)的顯示,同時根據(jù)顯示的數(shù)據(jù)在鍵盤值數(shù)組對應(yīng)的位置設(shè)置對應(yīng)的值; (2)、DES加密DES加密首先取得64位的密鑰,然后去掉奇偶校驗位得到56為密鑰,然后對56位密鑰分為兩組,得到28位子密鑰,然后對子密鑰進行移位操作,然后再進行S盒和P盒置換得到48位密鑰,經(jīng)過16輪后,最后進行一次末置換,形成密文; DES解密數(shù)據(jù)傳輸?shù)侥繕藱C之后再根據(jù)密鑰key進行解密,DES解密算法和DES加密算法相同,密鑰倒序即可,最后得到正確的輸入信息。
全文摘要
本發(fā)明公開了一種對云計算業(yè)務(wù)智能終端用戶信息安全輸入的方法,屬于一種云計算終端領(lǐng)域技術(shù),包括云計算業(yè)務(wù)智能終端,該方法的用戶信息安全輸入的流程為在云計算業(yè)務(wù)智能終端上用戶選擇→云計算業(yè)務(wù)智能終端的鍵盤的按鍵值順序布局或者亂序布局→用戶輸入信息→用戶發(fā)送信息→DES加密→網(wǎng)絡(luò)傳輸→云服務(wù)器接受信息→DES解密→云服務(wù)器校驗信息。本發(fā)明的一種對云計算業(yè)務(wù)智能終端用戶信息安全輸入的方法,采用鍵盤順序布局或亂序布局、DES加密方法和新的設(shè)計理念,來智能實現(xiàn)云終端,使用戶信息的信息更加安全。
文檔編號H04L9/06GK102662483SQ20121004652
公開日2012年9月12日 申請日期2012年2月28日 優(yōu)先權(quán)日2012年2月28日
發(fā)明者于治樓, 李偉, 梁華勇, 鄭亮 申請人:浪潮電子信息產(chǎn)業(yè)股份有限公司