專利名稱:對保護數(shù)據(jù)的用戶進行識別、認(rèn)證和授權(quán)的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種對保護數(shù)據(jù)的用戶進行識別、認(rèn)證和授權(quán)的方法,尤其是對自動化系統(tǒng)中保護數(shù)據(jù)的用戶。
背景技術(shù):
在很多技術(shù)領(lǐng)域,尤其是在自動化系統(tǒng)中,只能由事先經(jīng)過識別、認(rèn)證和授權(quán)的用戶訪問存放在保護區(qū)域內(nèi)的數(shù)據(jù)(例如系統(tǒng)數(shù)據(jù)、程序數(shù)據(jù)、系統(tǒng)函數(shù)或其它受保護的信息)變得越來越重要。
用于對用戶進行認(rèn)證的方法現(xiàn)在已廣泛使用。例如借助由用戶在注冊區(qū)域的輸入字段中輸入的用戶密碼來進行認(rèn)證。如果用戶輸入了有效密碼,則其得到認(rèn)證,并可以訪問存放在保護區(qū)域內(nèi)的信息。為了將密碼從注冊區(qū)域發(fā)送到保護區(qū)域,借助相應(yīng)的算法、例如作為MD5公知的加密算法將密碼加密,并作為所謂的訪問標(biāo)記發(fā)送到保護區(qū)域。但借助這種在訪問標(biāo)記中發(fā)送和加密的密碼不能或很難識別用戶,并在必要時記錄該用戶的訪問。因此,通常在保護區(qū)域很難知道究竟是誰訪問了存放在保護區(qū)域內(nèi)的信息和數(shù)據(jù)。
為了也能在保護區(qū)域中確定誰以及必要時某個用戶何時訪問了所保護的數(shù)據(jù),必須有相應(yīng)的識別該用戶的方法。這樣,例如用戶除了密碼之外還必須在注冊區(qū)域的輸入字段內(nèi)輸入屬于他的用戶標(biāo)識。然后,將該用戶標(biāo)識和密碼與用戶管理數(shù)據(jù)庫中存儲的用戶標(biāo)識和密碼的允許組合進行比較。如果輸入的用戶標(biāo)識與存儲的用戶標(biāo)識一致,則該用戶得到識別。如果此外輸入的密碼也和一個存儲的組合一致,則該用戶還得到認(rèn)證。接著將用戶標(biāo)識以及必要時的加密密碼作為訪問標(biāo)記發(fā)送到保護區(qū)域。在保護區(qū)域的數(shù)據(jù)庫中,為允許的用戶標(biāo)識和密碼存儲了對應(yīng)的訪問權(quán)限。如果對發(fā)送的密碼和發(fā)送的用戶標(biāo)識在數(shù)據(jù)庫中查找到對應(yīng)的訪問權(quán)限,則用戶可以訪問相應(yīng)的保護數(shù)據(jù)和信息。同時還借助發(fā)送的用戶標(biāo)識在保護區(qū)域中記錄所發(fā)生的訪問。
如果保護的是自動化系統(tǒng)中的現(xiàn)有數(shù)據(jù),如系統(tǒng)數(shù)據(jù)、系統(tǒng)函數(shù)或其他重要信息,則在此還必須有相應(yīng)的能夠?qū)τ脩糇R別和授權(quán)的方法。如果在自動化系統(tǒng)中采用前面所描述的只借助加密的密碼進行認(rèn)證的方法,則不能在保護區(qū)域中記錄誰訪問了該保護區(qū)域。如果采用上述借助密碼和用戶標(biāo)記進行識別的方法,則由于為此所需的用戶管理數(shù)據(jù)庫而在注冊區(qū)域和保護區(qū)域中引起較高的管理費用。如果正好要從多個用戶區(qū)域訪問自動化系統(tǒng)的一個或多個保護區(qū)域,則該方法需要較高的花費,以利用包含在用戶管理數(shù)據(jù)庫中的用戶標(biāo)識、密碼以及這兩者的組合來管理用戶區(qū)域和不同的保護區(qū)域中的現(xiàn)有用戶管理數(shù)據(jù)庫。
如果除了識別和認(rèn)證自動化系統(tǒng)的用戶之外還需要對該用戶進行授權(quán),則必須在保護區(qū)域中相應(yīng)地擴展用戶管理數(shù)據(jù)庫。這樣,在用戶管理數(shù)據(jù)庫中另外存儲哪個用戶具有哪個用戶標(biāo)識和哪個密碼可以訪問哪些保護信息或數(shù)據(jù)的關(guān)系。尤其是,如果在自動化系統(tǒng)中具有多個不同的保護區(qū)域,則必須相應(yīng)費事地為不同區(qū)域的所有用戶管理數(shù)據(jù)庫管理這些訪問權(quán)限,這意味著較多的附加費用。
發(fā)明內(nèi)容
因此,本發(fā)明要解決的技術(shù)問題在于提供一種對保護數(shù)據(jù)的用戶進行識別、認(rèn)證和授權(quán)的方法,該方法尤其是為自動化系統(tǒng)避免了上述高管理費用的缺點。
該技術(shù)問題是通過具有下述特征的方法解決的,為了對保護數(shù)據(jù)的用戶、尤其是自動化系統(tǒng)中的保護數(shù)據(jù)的用戶進行識別、認(rèn)證和授權(quán),-通過用戶在注冊區(qū)域的輸入字段中輸入的用戶標(biāo)識來識別用戶,-將輸入的用戶標(biāo)識和由該用戶輸入的密碼進行組合,并用單向加密函數(shù)轉(zhuǎn)換為認(rèn)證該用戶的系統(tǒng)標(biāo)識,-至少將該系統(tǒng)標(biāo)識以訪問標(biāo)記的形式從注冊區(qū)域傳輸?shù)奖Wo區(qū)域,和-通過該傳輸?shù)脑L問標(biāo)記授權(quán)該用戶訪問保護區(qū)域內(nèi)的保護數(shù)據(jù)。
由于根據(jù)本發(fā)明用單向加密函數(shù)將密碼和用戶標(biāo)識一起轉(zhuǎn)換為一個共同的系統(tǒng)標(biāo)識,因此基于在該系統(tǒng)標(biāo)識中包含的密碼和用戶標(biāo)識為每個用戶只分配了一個系統(tǒng)標(biāo)識。因此,該系統(tǒng)標(biāo)識可以在注冊區(qū)域中用于唯一地識別和認(rèn)證該用戶。此外,還可以在保護區(qū)域中,借助以訪問標(biāo)記形式發(fā)送的系統(tǒng)標(biāo)識授權(quán)用戶訪問特定的保護數(shù)據(jù)和保護信息。由于該訪問權(quán)限同時還反映了先前認(rèn)證的用戶的身份,因此在根據(jù)本發(fā)明的方法中,無需很多的管理費用就能識別、認(rèn)證和授權(quán)用戶。尤其是在具有不同保護區(qū)域的自動化系統(tǒng)中,例如不同的控制器;或者還具有多個注冊區(qū)域,例如不同的人機界面,不再需要費事地管理用戶數(shù)據(jù),如密碼、用戶標(biāo)識以及這兩者的關(guān)系。由此,尤其是在自動化系統(tǒng)中,可以避免為實現(xiàn)這種用于識別、認(rèn)證和授權(quán)的安全功能而需要的規(guī)劃費用。
雖然本發(fā)明限制為單向加密函數(shù),但本發(fā)明還包括其它各種能唯一和不反向計算地將用戶標(biāo)識和密碼轉(zhuǎn)換為系統(tǒng)標(biāo)識的函數(shù)。
下面借助附圖詳細(xì)描述本發(fā)明的方法。
圖1示意性示出本發(fā)明所需的注冊區(qū)域和保護區(qū)域之間的區(qū)分。
具體實施例方式
圖1具有兩個區(qū)域,即注冊區(qū)域和保護區(qū)域。注冊區(qū)域應(yīng)當(dāng)包括尤其是輸入密碼和用戶標(biāo)識的所有必要措施和步驟。通常,該注冊區(qū)域捆綁在所謂的人機界面中,在該人機界面中例如顯示自動化系統(tǒng)的用戶區(qū)域。相反,保護區(qū)域應(yīng)當(dāng)包括所有尤其是在自動化系統(tǒng)中以特殊方式保護的數(shù)據(jù)和函數(shù)。這樣,在保護區(qū)域中尤其是有自動化系統(tǒng)中要保護的數(shù)據(jù),如系統(tǒng)數(shù)據(jù)、程序數(shù)據(jù)、對象、系統(tǒng)函數(shù)或其它重要信息。圖1在此只示意性地示出本發(fā)明所需的注冊區(qū)域和保護區(qū)域之間的區(qū)分。但尤其是在自動化系統(tǒng)中,這種區(qū)分并不總是可唯一識別的。這樣,保護區(qū)域可以例如包括一個或多個以硬件方式存在的自動化系統(tǒng)組件,例如一個或多個控制器。另一方面,保護區(qū)域還可以包括一個可從維護計算機上下載的軟件模決,該軟件模塊包含要保護的信息,例如自動化系統(tǒng)的控制數(shù)據(jù)。在這種情況下,在維護計算機上同時具有注冊區(qū)域和保護區(qū)域。另一方面,還可以由多個來自注冊區(qū)域的不同人機界面進行調(diào)用。
圖1所示的注冊區(qū)域包括輸入字段10,用戶必須在其中輸入密碼PW和用戶標(biāo)識NAME。密碼PW和用戶標(biāo)識NAME都已經(jīng)事先為一個或多個用戶、或者整個用戶組a確定了。這樣,每個可以訪問保護區(qū)域的用戶都對應(yīng)一個自己的密碼,例如PW=“pw1”;“pw2”;…,以及一個自己的用戶標(biāo)識,例如NAME=“姓名1”;“姓名2”;…。另一方面,還可以為一個用戶組分配一個共同的密碼,例如PW=“pwG”或一個共同的用戶標(biāo)識,如NAME=“姓名G”。
如果如圖1所示由用戶例如在輸入字段10中輸入用戶標(biāo)識NAME=“姓名1”和密碼PW=“pw1”,則借助輸入“姓名1”識別該用戶。根據(jù)本發(fā)明,也可以借助公知的單向加密函數(shù)20將輸入的用戶標(biāo)識“姓名1”和輸入的密碼“pw1”一起轉(zhuǎn)換為系統(tǒng)標(biāo)識token1。用于本發(fā)明的將密碼和用戶標(biāo)識轉(zhuǎn)換為相應(yīng)系統(tǒng)標(biāo)識的單向加密函數(shù)例如是公知的密碼學(xué)MD5或HMAC函數(shù)。MD5和HMAC函數(shù)在此都以所謂的RFC(提請評論,Request for Comments)來定義。尤其是用于MD5(消息摘要)算法的RFC1321和用于HMAC(消息認(rèn)證的鍵入雜湊)算法的RFC2104。這樣,在本例中,借助MD5算法將用戶標(biāo)識“姓名1”和密碼“pw1”轉(zhuǎn)換為系統(tǒng)標(biāo)識token1。在能閱讀的文本中,借助MD5算法產(chǎn)生的系統(tǒng)標(biāo)識的外觀例如是token1=7071587f93a00d4b50f724ff683d1fd7。這樣產(chǎn)生的系統(tǒng)標(biāo)識token1唯一地標(biāo)識一個用戶,這意味著,借助該系統(tǒng)標(biāo)識token1可以唯一地識別和認(rèn)證具有姓名“姓名1”和密碼“pw1”的用戶。相應(yīng)的可以借助其它系統(tǒng)標(biāo)識token2、token3、…等識別和認(rèn)證其它用戶以及整個用戶組。如果借助輸入的用戶標(biāo)識識別用戶或用戶組并且其身份得到認(rèn)證,則為了授權(quán)至少將系統(tǒng)標(biāo)識token1、token2、token3等作為所謂的訪問標(biāo)記30例如以二進制數(shù)字串的形式從注冊區(qū)域發(fā)送到保護區(qū)域。
在本發(fā)明方法的例子中,將系統(tǒng)標(biāo)識token1與輸入的用戶標(biāo)識“姓名1”一起作為訪問標(biāo)記30發(fā)送。其中,在訪問標(biāo)記30中將輸入的用戶標(biāo)識“姓名1”作為可閱讀文本接收,而系統(tǒng)標(biāo)識token1本身不作為可閱讀文本存在于訪問標(biāo)記30中。因此,可以將訪問標(biāo)記劃分為一個包括用戶標(biāo)識NAME的公開部分,和一個包括系統(tǒng)標(biāo)識MD5(NAME,PW)的秘密部分。然后在保護區(qū)域中,借助發(fā)送的訪問標(biāo)記30和該訪問標(biāo)記內(nèi)包含的系統(tǒng)標(biāo)識token1對先前已經(jīng)得到識別和認(rèn)證的用戶授權(quán)。在此,例如將在訪問標(biāo)記30中傳輸?shù)南到y(tǒng)標(biāo)識token1與數(shù)據(jù)庫40中存儲的系統(tǒng)標(biāo)識和保護數(shù)據(jù)之間的對應(yīng)進行比較,其中所述系統(tǒng)標(biāo)識token1對應(yīng)于得到認(rèn)證的、具有用戶標(biāo)識“姓名1”和密碼“pw1”的用戶的身份。如果在數(shù)據(jù)庫40中對于該系統(tǒng)標(biāo)識token1存在一個相應(yīng)的允許對應(yīng),則該用戶或用戶組就可以相應(yīng)地獲得對保護區(qū)域中相應(yīng)的保護數(shù)據(jù)(在本例中稱為函數(shù)A)的訪問。尤其是,在此對不同的系統(tǒng)標(biāo)識可以定義不同的數(shù)據(jù)庫40中的訪問權(quán)限。這樣,在本例中確定了,一個具有用戶標(biāo)識“姓名1”和密碼“pw1”的用戶可以訪問標(biāo)以函數(shù)A的保護數(shù)據(jù),具有用戶標(biāo)識“姓名2”和密碼“pw2”的用戶可以訪問標(biāo)以函數(shù)B的保護數(shù)據(jù)。此外,具有用戶標(biāo)識“姓名G”和密碼“pwG”的用戶組可以訪問標(biāo)以函數(shù)C的保護數(shù)據(jù)。因此,利用這些(但用戶標(biāo)識和密碼的其它組合也是可以的),可以最簡單的方式,無需很大的管理開銷就能對用戶進行識別、認(rèn)證和授權(quán),并由此使這些用戶能訪問保護數(shù)據(jù)。
優(yōu)選的,還借助包含在訪問標(biāo)記30中的用戶名,在訪問記錄50中至少記錄下對保護數(shù)據(jù)的授權(quán)訪問。為此,在每個發(fā)送的訪問標(biāo)記30中,引用作為可閱讀文本存在的用戶標(biāo)識,并將其與授權(quán)的訪問權(quán)限一起,必要時還和時間戳一起記錄在訪問記錄50中。由此,可以至少監(jiān)控已發(fā)生的對保護數(shù)據(jù)的授權(quán)訪問。
尤其是對于自動化系統(tǒng)中要保護的數(shù)據(jù),本發(fā)明的方法實現(xiàn)了用戶數(shù)據(jù)的很少管理費用。這樣,通常通過不同的維護PC調(diào)用在自動化系統(tǒng)的一個或多個控制器上存在的數(shù)據(jù)。由于根據(jù)本發(fā)明在注冊方?jīng)]有以用戶管理數(shù)據(jù)庫形式存在的開銷大的管理,因此尤其可以簡化自動化系統(tǒng)的規(guī)劃,因為不必對每個維護計算機都規(guī)劃一個這樣的用戶管理數(shù)據(jù)庫。
權(quán)利要求
1.一種用于對保護數(shù)據(jù)的用戶、尤其是自動化系統(tǒng)中的保護數(shù)據(jù)的用戶進行識別、認(rèn)證和授權(quán)的方法,其中-通過用戶在注冊區(qū)域的輸入字段(10)中輸入的用戶標(biāo)識(NAME=“姓名1”;“姓名2”;“姓名G”;...)識別該用戶,-將輸入的用戶標(biāo)識(NAME)和由該用戶輸入的密碼(PW=“pw1”;“pw2”;“pwG”;...)進行組合,并用單向加密函數(shù)(20)轉(zhuǎn)換為認(rèn)證該用戶的系統(tǒng)標(biāo)識(token1,token2,token3...),-至少將該系統(tǒng)標(biāo)識(token1,token2,token3...)以訪問標(biāo)記(30)的形式從注冊區(qū)域傳輸?shù)奖Wo區(qū)域,和-通過該傳輸?shù)脑L問標(biāo)記(30)授權(quán)該用戶訪問保護區(qū)域內(nèi)的保護數(shù)據(jù)(函數(shù)A,函數(shù)B,函數(shù)C)。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,在所述訪問標(biāo)記(30)中除了所述系統(tǒng)標(biāo)識(token1,token2,token3...)之外還以可閱讀文本的形式傳輸由用戶輸入的用戶標(biāo)識(NAME=“姓名1”;“姓名2”;“姓名G”;...),其中至少將每次對保護數(shù)據(jù)的授權(quán)訪問與所發(fā)送的用戶標(biāo)識(NAME)一起記錄在訪問記錄(50)中。
3.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,通過將利用所述訪問標(biāo)記(30)傳輸?shù)南到y(tǒng)標(biāo)識(token1,token2,token3...)與數(shù)據(jù)庫(40)中存儲的保護數(shù)據(jù)(函數(shù)A,函數(shù)B,函數(shù)C)的訪問權(quán)限進行比較,對對保護數(shù)據(jù)(函數(shù)A,函數(shù)B,函數(shù)C)的訪問進行授權(quán)。
全文摘要
本發(fā)明涉及一種對保護數(shù)據(jù)的用戶、尤其是自動化系統(tǒng)的保護數(shù)據(jù)的用戶進行識別、認(rèn)證和授權(quán)的方法,其中通過用戶在注冊區(qū)域的輸入字段中輸入的用戶標(biāo)識(NAME=“姓名1”;“姓名2”;“姓名G”;…)識別該用戶;將輸入的用戶標(biāo)識(NAME)和由該用戶輸入的密碼(PW=“pw1”;“pw2”;“pwG”;…)組合,并用單向加密函數(shù)轉(zhuǎn)換為認(rèn)證該用戶的系統(tǒng)標(biāo)識(token1,token2,token3…);至少將系統(tǒng)標(biāo)識(token1,token2,token3…)以訪問標(biāo)記的形式從注冊區(qū)域發(fā)送到保護區(qū)域;通過該發(fā)送的訪問標(biāo)記授權(quán)該用戶訪問保護區(qū)域內(nèi)的保護數(shù)據(jù)(函數(shù)A,函數(shù)B,函數(shù)C)。
文檔編號G06F21/62GK1612080SQ200410095998
公開日2005年5月4日 申請日期2004年10月27日 優(yōu)先權(quán)日2003年10月27日
發(fā)明者哈拉爾德·赫伯思 申請人:西門子公司