專利名稱::安全令牌和生成該安全令牌并對其解碼的系統(tǒng)及方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及安全令牌,以及用于生成該安全令牌并進(jìn)行解碼的系統(tǒng)及方法。本系統(tǒng)尤其適于(但不限于)用在釆用了"信任范式(trustedparadigm)"安全系統(tǒng)的計(jì)算系統(tǒng)。.
背景技術(shù):
:人們利用計(jì)算系統(tǒng)來為廣泛的用戶存儲、分類和傳送多種類型的信息。復(fù)雜的數(shù)據(jù)庫結(jié)構(gòu)、增長的計(jì)算能力、新搜索算法以及呈指數(shù)增長的公眾可用的計(jì)算機(jī)網(wǎng)絡(luò)(如因特網(wǎng))的出現(xiàn)使得許多企業(yè)可以經(jīng)由因特網(wǎng)來提供至少一部分貨物、服務(wù)和信息。對于許多企業(yè)來說,計(jì)算系統(tǒng)中所保存的信息的安全性是至關(guān)重要的考慮因素。例如,在醫(yī)藥領(lǐng)域,通過嚴(yán)格的法律規(guī)定來管理對病人信息的訪問,用戶可以通過該嚴(yán)格的法律規(guī)定來訪問信息。這導(dǎo)致在計(jì)算系統(tǒng)中建立了用于設(shè)置特殊的"許可等級"的復(fù)雜系統(tǒng)。也就是說,許多計(jì)算系統(tǒng)都包括多層訪問系統(tǒng),其中,不同用戶可以具有對不同類型信息的不同訪問等級。訪問信息的能力可以由屬于該用戶的許可等級、屬于一段信息的許可等級或者兩者的組合來決定。通常,按照特定的方式對許可等級進(jìn)行編碼。其中一種方式是將許可等級編碼成"位矢量"(即,比特?cái)?shù)組),其中各個(gè)比特都表示許可等級的不同方面。
發(fā)明內(nèi)容在第一方面,本發(fā)明提供了一種對可用于計(jì)算系統(tǒng)的安全標(biāo)簽進(jìn)行編碼的方法,在所述計(jì)算系統(tǒng)中,對特征集合中的每個(gè)特征都賦予一個(gè)整數(shù)值,該方法包括以下步驟針對某個(gè)特定標(biāo)簽,將描述該標(biāo)簽的實(shí)5際特征集合中的每個(gè)特征的整數(shù)值進(jìn)行組合以得到單個(gè)整數(shù)值??梢酝ㄟ^xy形式的指數(shù)來確定賦予所述特征集合中的每個(gè)特征的整數(shù)值,其中,x和y是整數(shù)值??梢酝ㄟ^對整數(shù)值進(jìn)行求和來組合所述整數(shù)值。在另選的實(shí)施方式中,賦予所述特征集合中的每個(gè)特征的所述整數(shù)值是唯一的素?cái)?shù)。在該實(shí)施方式中,通過對整數(shù)值進(jìn)行相乘來組合所述整數(shù)值。所述方法還包括以下步驟對于向能夠描述所述標(biāo)簽的特征集合中的每個(gè)特征賦予一整數(shù)值的步驟,針對所述特征集合中的每個(gè)特征使指數(shù)y遞增。所述特征集合可以是許可等級或艙中的一個(gè)。所述組合被稱作安全標(biāo)簽。在第二方面,本發(fā)明提供了一種允許用戶訪問包含在計(jì)算系統(tǒng)中的某段信息的方法,該方法包括以下步驟對所述計(jì)算系統(tǒng)中的所有離散信息都賦予安全標(biāo)簽;對所述計(jì)算系統(tǒng)的所有用戶都賦予安全標(biāo)簽;以及對駐留所述計(jì)算系統(tǒng)中的所有軟件應(yīng)用都賦予安全標(biāo)簽,其中,為了訪問某段離散信息,所述用戶和所述軟件應(yīng)用的安全標(biāo)簽必須支配賦予這段離散信息的安全標(biāo)簽。在第三方面,本發(fā)明提供了一種構(gòu)建包含關(guān)于多個(gè)用戶中的每一個(gè)用戶是否可以訪問包含在計(jì)算系統(tǒng)中的多段信息中的每一段信息的信息的列表的方法,該方法包括以下步驟根據(jù)權(quán)利要求1至3中的任一項(xiàng),為每一個(gè)所述用戶確定安全令牌,并為每一段所述信息確定安全令牌;根據(jù)權(quán)利要求4所述的方法,確定所述多個(gè)用戶中的每一個(gè)用戶是否可以訪問所述多段信息中的每一段信息;以及構(gòu)建安全令牌和訪問許可的列表。在第四方面,本發(fā)明提供了一種根據(jù)本發(fā)明的第一方面對安全標(biāo)簽進(jìn)行解碼的方法,所述方法包括以下步驟確定所述單個(gè)整數(shù)的對數(shù)底的向下取整值,以確定用于所述特征集合中的第一個(gè)特征的值;從所述整數(shù)值中減去所述單個(gè)整數(shù)的對數(shù)基的向下取整值,以得到余數(shù)整數(shù)值;以及如果余數(shù)值非0,則確定所述余數(shù)整數(shù)值的對數(shù)的向下取整值,以確定所述特征集合中的下一個(gè),其中重復(fù)該處理直到所述余數(shù)值為0為止。在第五方面,本發(fā)明提供了一種軟件應(yīng)用,該軟件應(yīng)用包括用于控制計(jì)算系統(tǒng)以執(zhí)行根據(jù)本發(fā)明第一方面的方法的指令。在第六方面,本發(fā)明提供了一種包含根據(jù)本發(fā)明第五方面的軟件應(yīng)用的可記錄介質(zhì)。在第七方面,本發(fā)明提供了一種能夠執(zhí)行本發(fā)明第一、第二和第三方面中的任一方面的方法步驟的系統(tǒng)。在本發(fā)明的實(shí)施方式的說明中,通過示例并參照附圖來呈現(xiàn)本發(fā)明的特征,在附圖中圖1示出了根據(jù)本發(fā)明一個(gè)實(shí)施方式的適于執(zhí)行軟件應(yīng)用的計(jì)算系統(tǒng);圖2和圖5是示出了根據(jù)本發(fā)明實(shí)施方式的對安全系統(tǒng)的一套標(biāo)簽進(jìn)行編碼的備選(alternate)處理的流程圖3和圖6是示出了根據(jù)本發(fā)明實(shí)施方式的對安全系統(tǒng)的特殊令牌(安全標(biāo)簽)進(jìn)行編碼的備選處理的流程圖4和圖7是示出了根據(jù)本發(fā)明實(shí)施方式的對安全系統(tǒng)的特殊令牌(安全標(biāo)簽)進(jìn)行編碼的備選處理的流程圖8是示出了根據(jù)本發(fā)明一個(gè)實(shí)施方式的確定安全系統(tǒng)的二元支配關(guān)系(binaiydominancerelation)的處理的流程圖9是示出了根據(jù)本發(fā)明一個(gè)實(shí)施方式的確定安全系統(tǒng)的三元支配關(guān)系(triadicdominancerelation)的處理的流程圖。具體實(shí)施例方式圖1中示出了適于和本發(fā)明實(shí)施方式一起使用的計(jì)算系統(tǒng)100的示意圖。根據(jù)本發(fā)明的一個(gè)實(shí)施方式,計(jì)算系統(tǒng)IOO可用于執(zhí)行諸如競賽結(jié)構(gòu)的應(yīng)用和/或系統(tǒng)服務(wù)。計(jì)算系統(tǒng)100優(yōu)選地包括處理器102、只讀存儲器(ROM)104、隨機(jī)存取存儲器(RAM)106以及輸入/輸出設(shè)備(如盤驅(qū)動(dòng)器108、輸入外設(shè)(如鍵盤110和顯示器(或其它輸出設(shè)備)112))。計(jì)算機(jī)包括可以存儲在RAM106、ROM104或盤驅(qū)動(dòng)器108中并且可以由處理器102來運(yùn)行的軟件應(yīng)用。通信鏈路114連接到計(jì)算機(jī)網(wǎng)絡(luò)(如因特網(wǎng))。但是,通信鏈路114可以連接到電話線、天線、網(wǎng)關(guān)或任何其它類型的通信鏈路。盤驅(qū)動(dòng)器108可包括任意適當(dāng)?shù)拇鎯橘|(zhì)(例如,軟盤驅(qū)動(dòng)器、硬盤驅(qū)動(dòng)器、CDROM驅(qū)動(dòng)器或磁帶驅(qū)動(dòng)器)。計(jì)算系統(tǒng)100可使用單個(gè)盤驅(qū)動(dòng)器108或者多個(gè)盤驅(qū)動(dòng)器。計(jì)算系統(tǒng)100可使用任何適當(dāng)?shù)牟僮飨到y(tǒng)116(如基于MicrosoftWindowsTM或Unix的操作系統(tǒng))。該系統(tǒng)還包括軟件應(yīng)用118,該軟件應(yīng)用118在本實(shí)施方式中包括數(shù)據(jù)庫。軟件應(yīng)用118可以經(jīng)由通信鏈路114與其它軟件應(yīng)用120或與遠(yuǎn)程計(jì)算機(jī)(未示出)相連接。軟件應(yīng)用118實(shí)現(xiàn)了本發(fā)明了一個(gè)實(shí)施例,并且被用來通過使用除其它設(shè)備以外的信任系統(tǒng)范式來控制對數(shù)據(jù)庫的訪問。信任安全范式是一種定義了特殊令牌(安全標(biāo)簽)的安全范式,所述令牌代表了一組特性,這些特性對于它們所關(guān)聯(lián)的信息來說是唯一的。通過一組等級(以及作為令牌的艙(compartment))來限制系統(tǒng)訪問。用戶必須具有比他們試圖獲得訪問的信息的等級更大的等級。有時(shí)將用戶需要比他們訪問的信息的等級更大的等級的概念稱作強(qiáng)制訪問控制。例如,令牌可以指示數(shù)據(jù)庫中保存的特殊文件的"安全等級"或"許可等級"。令牌還可用于指示數(shù)據(jù)的其它特征,例如,某一安全等級內(nèi)的特殊"艙"。例如,使用數(shù)學(xué)術(shù)語,可以通過以下語義表達(dá)式來表示令牌Token=security_level{setofsecuritycompartments}參照實(shí)施例1能夠更容易地理解本表達(dá)式。在實(shí)施例1中,數(shù)據(jù)類型和令牌被定制成可應(yīng)用于保存醫(yī)療/生物信息的安全數(shù)據(jù)庫。"Highlysensitive"{"personalid","dataanalysisresults"}"Sensitive"{"DNAresults","colposcopyresults"}"Sensitive"{"securitymanagement"}8"Restricted"{"HPVstatistics"}"Public"{"HPVriskfactors"}實(shí)施例l一樣本令牌結(jié)構(gòu)l換言之,可以在概念層次上將一串令牌定義為多個(gè)許可等級,各個(gè)許可等級與一個(gè)或更多個(gè)艙(即,落入許可等級的信息的類型)相關(guān)聯(lián)。例如,個(gè)人身份信息和數(shù)據(jù)分析結(jié)果被視為高度敏感的信息,而有關(guān)HPV風(fēng)險(xiǎn)因子的普通信息可視為公共信息。在現(xiàn)有技術(shù)中,一種將許可/安全等級及艙編碼成與計(jì)算系統(tǒng)兼容的格式的方法是使用位矢量,其中各個(gè)比特(或一串比特)表示等級和艙的種類。通常將這種包括編碼過的信息的位矢量稱作"令牌"。相反,本發(fā)明的實(shí)施方式將全部令牌的語義都編碼成單個(gè)的整數(shù)。該算法的一個(gè)實(shí)施方式利用指數(shù)形式的xy來創(chuàng)建標(biāo)簽語義之間的間隔(separation),其中x是任意公共完整數(shù)(commonwholenumber)底,而y是任意整數(shù)指數(shù)。因此,參照實(shí)施例l,在實(shí)施例2中,可以將等級和艙編碼如下。'personalidentifiers"=2=2(dataanalysisresults"=22=4<DNAresults"=23=8(colposcopyresults"=24=16(securitymanagement"=25=32(HPVstatistics"=26=64(HPVriskfactors"=27=128(Highlysensitive"=21!==2048'Sensitive"=210==1024Restricted"=29=512Public"=28=256實(shí)施例2—各個(gè)等級/艙的編碼值圖2中示出了對一組標(biāo)簽中的各個(gè)標(biāo)簽進(jìn)行賦值的方法步驟。在步驟200和202,分別選擇艙列表以及初始的指數(shù)(Exponent)1。換言之,第一艙的值變?yōu)?1=2。在204,對艙列表進(jìn)行檢查以確定是否存在艙。如果存在,則將第一令牌賦予第一艙(206)。然后,使指數(shù)遞增,并選擇列表中的下一個(gè)艙(208)。該方法隨后返回至步驟204,確定列表是否為空。重復(fù)該處理直到艙列表為空(210)。一旦艙列表為空,就利用類似的一系列方法步驟來對各個(gè)等級賦予令牌值。首先,選擇等級列表中的第一等級(212)。在214,對等級列表進(jìn)行檢査以確定是否還存在其他等級。如果存在,則將令牌賦予第一等級(216)。然后,使指數(shù)遞增,并選擇列表中的下一個(gè)等級(218)。該方法隨后返回至步驟214,確定列表是否為空。重復(fù)該處理直到等級列表為空(220)。一旦各個(gè)等級/艙都被賦予了指數(shù)形式的值xy,就可以通過增加所得的等級/艙的值來對賦予特殊文件/用戶的特定令牌進(jìn)行編碼。在圖3中概述了該處理的方法步驟,其中對一個(gè)特殊標(biāo)簽進(jìn)行編碼。首先,在300,將等級的值賦予令牌。接著,對艙列表進(jìn)行訪問以確定它是否為空(302)。如果不為空,則將標(biāo)簽的值加入令牌值(304)。重復(fù)該處理直到所有艙值都被加入令牌為止。一旦所有值都被加入(即,艙列表為空),該處理就結(jié)束(306)。還可以通過參照以下實(shí)施例來說明該處理。對高度敏感且與個(gè)人身份和數(shù)據(jù)分析結(jié)果兩者相關(guān)的數(shù)據(jù)賦予標(biāo)簽"Highlysensitive"{"personalidentifiers","dataanalysisresults"},且編碼為2U+21+22=2048+2+4=2054在另一個(gè)實(shí)施例中,對公眾可獲得且與HPV風(fēng)險(xiǎn)因子相關(guān)的數(shù)據(jù)賦予標(biāo)簽"Public"{"HPVriskfactors"},且編碼為28+27=256+128=384各xy值之間的數(shù)學(xué)距離確保了用唯一的整數(shù)來表示增加的值的每一種可能的組合。如果初始標(biāo)簽是加密的,則編碼處理仍然有效,仍然可以釆用該算法。例如,參照實(shí)施例2,在將標(biāo)簽"personalidentifiers"編碼成整數(shù)之前,可以首先利用一種加密算法將其轉(zhuǎn)換成加密的字符串。"personalidentifiers"—"$#&RERs*Er%$m<ydfg"然后,將加密的字符串編碼成整數(shù)-"$#&RERs*Er0/4m<ydfg"=21=2按照這種方式,可以使標(biāo)簽更加難以理解(obfiiscate)。對整數(shù)進(jìn)行解碼以到達(dá)適當(dāng)?shù)恼Z義結(jié)構(gòu)(即,等級與艙的組合)可以通過如下操作來實(shí)現(xiàn)迭代地確定與該整數(shù)(忽略余數(shù)(remainder))相關(guān)聯(lián)的最高有效指數(shù)以得到第一等級/艙,隨后從整個(gè)整數(shù)中減去最高有效部分以得到"余數(shù)",然后重復(fù)以上處理直到不存在余數(shù)為止。圖4示出了解碼的方法。在步驟400,處理接收到令牌整數(shù)(tokeninteger)。對該整數(shù)取對數(shù)(402),并對該整數(shù)的對數(shù)向下取整(floor)(404)。該值變?yōu)榱斜碇械牡谝徽麛?shù)(其表示令牌的等級)(406)。然后,從原始的tokeninteger中減去tokeninteger的對數(shù)的向下取整,以得到差值令牌(differencetoken)(408)。如果differencetoken不為0(已知要在differencetoken中對艙進(jìn)行編碼)(410),則對differencetoken取對數(shù)(412),并對differencetoken的對數(shù)向下取整(414)。該值變?yōu)榱斜碇械南乱粋€(gè)整數(shù)(其表示艙列表中的第一艙)(416)(即,第二令牌的值)。然后,從differencetokeninteger中減去tokeninteger的對數(shù)的向下取整,以得到第二differencetoken(418)。如果第二differencetoken還是不為0(410),則重復(fù)這些方法步驟直到differencetoken為0為止(420),這時(shí),全部的令牌(艙)都被解碼,處理結(jié)束。在另一個(gè)實(shí)施例中,對整數(shù)2054進(jìn)行解碼需要以下步驟l.log2(2054)=11.004220466318195;2.floor(log)=11;3.因此,最高有效元素是211,其對應(yīng)于等級"highlysensitive";4.從2054中減去2"=2054-2048=6;5.1og2(6)=2.5849625007211561;6.floor(log)=2;7.因此,下一個(gè)最高有效元素是22;其對應(yīng)于艙"dataanalysisresults";8.從6中減去22=6-4=2;9.1og2(2)=l;10.floor(log)-1-21;11.因此,下一個(gè)最高有效元素是21;其對應(yīng)于艙"personalidentifiers";12.因?yàn)椴淮嬖谟鄶?shù)(remainder),因此已經(jīng)確定了所有的等級/艙并重構(gòu)了原始內(nèi)容。從以上示例中可以看出,用于整數(shù)值2054的令牌是"Highlysensitive"{"personalid","dataanalysisresults"}實(shí)施例3—樣本令牌結(jié)構(gòu)2該算法的另一個(gè)實(shí)施例利用素?cái)?shù)來創(chuàng)建標(biāo)簽語義之間的間隔。因此,再次參照實(shí)施例1,在實(shí)施例3中,可以將等級和艙編碼如下。personalidentifiers"=1dataanalysisresults"=3DNAresults"=7colposcopyresults"=11securitymanagement"=13HPVstatistics"=17HPVriskfactors"=19Highlysensitive"=23Sensitive"=29Restricted"=31Public"=37實(shí)施例4一采用素?cái)?shù)的各個(gè)等級/艙的編碼值圖5示出了對標(biāo)簽集合中各個(gè)標(biāo)簽進(jìn)行賦值的方法步驟。在步驟500,選擇艙列表,并確定該列表是否為空(502),如果不為空,則對艙12標(biāo)簽分配一個(gè)唯一的素?cái)?shù),該方法隨后返回至步驟502來確定該列表是否為空。對此處理進(jìn)行重復(fù)直到艙列表為空為止。一旦標(biāo)簽列表為空,就釆用類似的一系列方法步驟對各個(gè)等級賦予令牌值。如果列表為空,則分配所有的艙并從標(biāo)簽列表中選擇第一等級(506)。進(jìn)行該列表是否為空的確定(508)。如果不為空,則使素?cái)?shù)遞增,并分配給下一個(gè)標(biāo)簽(510)。該方法隨后返回至步驟508以確定該列表是否為空。對該處理進(jìn)行重復(fù)直到艙列表為空為止。一旦標(biāo)簽列表為空,就將等級分組為相應(yīng)的集合(512)。例如,將"highlysensitive"、"sensitive"、"restricted","public"編碼成一個(gè)集合,即,其暗示著,如果需要等級"highlysensitive",則該標(biāo)簽集合中的其它標(biāo)簽也被編碼。一旦各個(gè)等級/艙被賦予了唯一的素?cái)?shù)值,就可以通過添加所產(chǎn)生的等級/艙的值來對要賦予給特殊文件/用戶的特定令牌進(jìn)行編碼。圖6概述了該處理的方法步驟,在該處理中,對特殊的標(biāo)簽進(jìn)行編碼。首先,在600,設(shè)置來自安全標(biāo)簽中的第一艙的值并且將labeltotal設(shè)置為0(602)。接著,對艙列表進(jìn)行訪問以確定是否還存在艙(604)。如果存在,貝(Jlabeltotal變?yōu)閘abeltotal乘以賦予艙標(biāo)簽的素?cái)?shù)值的乘積(606)。對此處理進(jìn)行重復(fù)直到將所有艙值添加到令牌中為止。一旦不存在艙,就設(shè)置安全標(biāo)簽中的第一標(biāo)簽的值(608),并確定在該標(biāo)簽集合中是否還存在其他等級(610)。如果存在,則labeltotal變?yōu)閘abeltotal乘以賦予給等級標(biāo)簽的素?cái)?shù)值的乘積(612)。一旦L集合中不存在任何等級,則結(jié)束處理(614)。還可以參照以下示例來說明本處理。高度敏感且與個(gè)人身份和數(shù)據(jù)分析結(jié)果兩者都相關(guān)的數(shù)據(jù)被賦予標(biāo)簽"Highlysensitive"{"personalidentifiers","dataanalysisresults"},且被編碼為37x31x29x23x3x5=11475735將標(biāo)簽"highlysensitive"、"sensitive"、"restricted"禾B"public"編碼成一個(gè)集合。也就是說,如果通過暗示需要等級"highlysensitive",則所有其它較低的等級也包含在該標(biāo)簽集合中。在另一個(gè)示例中,公眾可獲得且與HPV風(fēng)險(xiǎn)因子相關(guān)的標(biāo)簽數(shù)據(jù)可以被賦予標(biāo)簽"Public"{"HPVriskfactors"},且被編碼為23xl9二437素?cái)?shù)的不可再分特性(atomicnature)確保了由一個(gè)唯一的整數(shù)來表示每種組合。即使初始的標(biāo)簽是加密的,該編碼處理仍然有效,依然可以采用該算法。例如,參照實(shí)施例3,在將標(biāo)簽"personalidentifiers"編碼成整數(shù)之前,可以首先利用一種加密算法將其轉(zhuǎn)換成加密字符串。"personalidentifiers"—"$#&RERs*Er0/o$m<ydfg"然后,將該加密字符串編碼成整數(shù)-"$#&RERs*Er°/。$m<ydfg"=1這樣,可以進(jìn)一步使標(biāo)簽難以理解??梢岳胢odulo函數(shù)通過重復(fù)地確定每個(gè)標(biāo)簽來實(shí)現(xiàn)對整數(shù)進(jìn)行解碼以得到適當(dāng)?shù)恼Z義結(jié)構(gòu)(即,等級與艙的組合)。例如,可以利用以下方法對11475735進(jìn)行解碼modulo(l1475735,3)personalidentifiers-余數(shù)為0;是令牌modulo(11475735,5)dataanalysisresults-余數(shù)為0;是令牌modulo(l1475735,7)DNAresults-余數(shù)為5;不是令牌modulo(l1475735,11)colposcopyresults-余數(shù)為7;不是令牌modulo(l1475735,13)securitymanagement-余數(shù)為11;不是令牌modulo(l1475735,17)HPVstatistics-余數(shù)為4;不是令牌modulo(l1475735,19)HPVriskfactors-余數(shù)為1;不是令牌modulo(l1475735,23)Public-余數(shù)為0;是令牌modulo(11475735,29)Restricted-余數(shù)為0;是令牌modulo(11475735,31)Sensitive-余數(shù)為0;是令牌modulo(11475735,37)Highlysensitive-余數(shù)為0;是令牌同樣,原始的令牌被重構(gòu)14"Highlysensitive"{"personalidentifiers","dataanalysisresults"}。圖7中示出了該解碼方法。在步驟700中,處理接收到tokeninteger。對列表中的第一艙進(jìn)行檢査(702)并確定該列表是否為空(704)。如果該列表為空,則該標(biāo)簽變?yōu)樵摿斜碇械牡谝坏燃?706)。如果該列表不為空,則取encodedtoken的模(708)。如果modulo函數(shù)的結(jié)果非0,則處理返回至確定列表是否為空的步驟(704),否則,當(dāng)前的艙標(biāo)簽有效并被添加到艙標(biāo)簽列表中(710),并且處理返回到確定該列表是否為空的步驟。返回到艙標(biāo)簽列表為空的情況,等級標(biāo)簽變?yōu)榱斜碇械南乱粋€(gè)等級(706),確定列表是否為空(712)。如果列表為空,則不存在其他標(biāo)簽且處理結(jié)束(714)。如果列表不為空,則取encodedtoken的模(716)。如果modulo函數(shù)的結(jié)果非0,則處理返回至確定列表是否為空的步驟(712),否則當(dāng)前標(biāo)簽有效并被添加到標(biāo)簽列表中(710),并且處理返回到確定列表是否為空的步驟。這些對安全令牌進(jìn)行創(chuàng)建、編碼和解碼的方法相比于傳統(tǒng)的"位矢量"編碼,提供了諸多優(yōu)點(diǎn)。首先,因?yàn)橹恍枰獋鬏攩蝹€(gè)的整數(shù),所以增強(qiáng)了傳輸?shù)娜菀锥?。相?yīng)地,因?yàn)橹恍枰4鎲蝹€(gè)的整數(shù)來描述各個(gè)令牌,所以也降低了存儲的需求(或者,換言之,使信息的壓縮最大化)。因?yàn)椴捎昧撕唵蔚木幋a和解碼方法,所以令牌的操控也變得非常簡單。此外,將對令牌進(jìn)行編碼和解碼的機(jī)制與令牌的語義分隔開來。因?yàn)榱钆票硎緸閱蝹€(gè)整數(shù),所以令牌的語義會令不經(jīng)意的(casual)觀察者感到迷惑。不經(jīng)意的觀察者不能從令牌本身獲取任何信息,而是需要編碼方法的知識、所使用的底以及如何將整數(shù)映射到令牌結(jié)構(gòu)的知識。最后,因?yàn)樵趯?shí)現(xiàn)安全系統(tǒng)之前,可用的等級和艙的數(shù)量必須固定,所以現(xiàn)有技術(shù)的位矢量的方法本身是受限的。本發(fā)明的實(shí)施方式可以對原狀進(jìn)行修改從而增加額外的等級和艙,而無需對安全系統(tǒng)的基礎(chǔ)結(jié)構(gòu)進(jìn)行任何改動(dòng)。因此,此處描述的實(shí)施方式在對語義進(jìn)行編碼時(shí),提供了更好的靈活性。應(yīng)該了解,雖然為了便于說明,以上實(shí)施例使用了2為底數(shù)的指數(shù)形式或者素?cái)?shù)底,但是也可以使用任何底。上述編碼系統(tǒng)還可以結(jié)合支配關(guān)系來使用,以進(jìn)一步增強(qiáng)數(shù)據(jù)庫中的安全流。支配關(guān)系是用戶訪問信息的能力由他們是否"支配"該信息來確定的一種關(guān)系。換言之,用戶必須具有等于或大于訪問該信息所需的許可等級的許可等級。對于要訪問信息的用戶,用戶令牌必須支配信息令牌。用戶令牌的等級必須大于信息令牌,而艙必須是信息令牌艙的超集(superset)。在上述標(biāo)簽系統(tǒng)的上下文中,關(guān)系是二元的,如果用戶的標(biāo)簽支配了與所請求信息相關(guān)聯(lián)的標(biāo)簽,則準(zhǔn)許訪問。例如,如果用戶Bob具有包括類別"Highlysensitive"{"personalidentifiers","dataanalysisresults","HPVriskfactors"}的安全標(biāo)簽,則Bob將支配具有標(biāo)簽"Public"{"HPVriskfactors"}的MicrosoftWord的文檔。上面給出的示例是二元支配關(guān)系的例子。這里所介紹的實(shí)施方式利用了三元支配系統(tǒng)關(guān)系。在這種關(guān)系中,存在三種類型的令牌。存在用戶令牌(與用戶相關(guān)聯(lián))、信息令牌(與信息的特殊片段相關(guān)聯(lián),諸如,數(shù)據(jù)庫條目或文件)以及應(yīng)用令牌(與用戶所請求的動(dòng)作相關(guān)聯(lián),諸如,向文件或數(shù)據(jù)庫寫入、從文件或數(shù)據(jù)庫讀出、利用特殊的軟件應(yīng)用來訪問信息等)。在這種三元關(guān)系中,用戶為了訪問/操控信息而請求的應(yīng)用的"應(yīng)用令牌"(打算的動(dòng)作)和"用戶令牌"兩者都必須支配所允許動(dòng)作的"信息令牌"。通過參照實(shí)施例來最佳地解釋三元關(guān)系。在該實(shí)施例中,假設(shè)用戶打算讀取或者更新一段信息。為了訪問這段信息,用戶不僅必須支配該信息,還必須具有合適的"工具"(處理資源)來訪問該信息。例如,用戶Bob可能想要訪問被稱作"securityl01"的文檔來對其進(jìn)行文字處理(例如,增加一個(gè)條目)。用戶Bob具有安全令牌,文字處理應(yīng)用具有安全令牌,并且文檔security101具有安全令牌。Bob為了能夠?qū)ecurity101進(jìn)行文字處理1.Bob的令牌必須支配信息令牌;并且2.文字處理令牌必須支配信息令牌。只有這兩個(gè)支配關(guān)系均為真,Bob才能夠?qū)ξ臋nsecurity101進(jìn)行"文字處理"。參照圖8和圖9來例示該處理。應(yīng)注意,參照圖8和圖9所例示的處理與使用了指數(shù)編碼處理的實(shí)施方式有關(guān)。參照圖8,整數(shù)被解碼成信息安全標(biāo)簽列表一"Info—list"(801)。然后,整數(shù)被解碼成用戶或者應(yīng)用的安全標(biāo)簽列表("DomJist"),將對"Dom—list"與Info—list進(jìn)行支配測試(802)。從info—list中取出第一元素(803)。從Dom—list中取出第一元素(804)。檢查Dom—list的第一元素是否大于Info一list的第一元素。如果Domlevel小于infolevel,則支配函數(shù)失敗(807),算法結(jié)束(808)。否則,如果Dom—level大于info—level,前進(jìn)并確定艙列表(infojist)是否為空(810)?;谝韵录僭O(shè),將支配標(biāo)記設(shè)置為失敗(806):用戶或應(yīng)用的艙(Comp一dom)不是info—list的艙(Comp一info)的超集或者剩余的infojist具有空的艙集合。如果艙為空(810),則算法結(jié)束(818)。如果infojist為空(810),則支配關(guān)系或者"失敗"(Dominate標(biāo)記=失敗)或者"通過"(Dominate標(biāo)記=通過)。如果info—list不為空(810),則從Comp—info中取出第一艙(811),然后,進(jìn)行檢查以確定Domjist是否為空(812)。如果Dom一list為空(812),則檢査支配函數(shù)以確保其沒有失敗(817),且算法前進(jìn)至info—list的下一個(gè)元素(810),針對Comp一info列表中的所有元素重復(fù)該處理。如果支配函數(shù)失敗(817)(即,支配標(biāo)記被設(shè)置為失敗),則算法結(jié)束(818)。如果剩余的Dom一list不為空(812),則從Dom—list中取出下一個(gè)艙(Dom元素)(813),并檢查其與Comp一info列表中的艙是否匹配(814)。如果發(fā)現(xiàn)不匹配,則將Dominate標(biāo)記設(shè)置為"失敗"(816)。否則,將Dominate標(biāo)記設(shè)置為"通過"(815)。利用Comp_Dom列表重復(fù)處理(812,813,814)以搜索與將Dominate標(biāo)記設(shè)置為"通過"的當(dāng)前info—element的匹配(815)。參照圖9,該圖概示了三元關(guān)系。將"does—dominate"標(biāo)記初始設(shè)置為"否"(901)。利用圖8的算法,運(yùn)行"user—tokendominatetheinfo—token"函數(shù)并返回結(jié)果user—dominate(802)。利用圖8的算法,運(yùn)^亍"application—tokendominatetheinfo—token"函數(shù)并返回結(jié)果application—dominate(903)。如果user—dominate標(biāo)記為真(904),則進(jìn)行檢査以確定application—dominate豐示i己是否是真(905)。如果application—dominate牛示記為真,貝(J將三元關(guān)系"Does—dominate標(biāo)記"設(shè)置為真,并且結(jié)束算法(907)。否貝U,如果user—dominate牛示記為"假"禾口/或applicationdominate標(biāo)記為假,則Doesdominate標(biāo)記為假(如初始所設(shè)置的)并且算法結(jié)束(907)。支配關(guān)系可以與標(biāo)簽編碼相結(jié)合以增強(qiáng)計(jì)算系統(tǒng)或數(shù)據(jù)庫結(jié)構(gòu)中的安全性。對于較大的數(shù)據(jù)集合(諸如,計(jì)算機(jī)系統(tǒng)的數(shù)據(jù)庫組件),將安全標(biāo)簽的全部組合都表示為編碼整數(shù)(有序?qū)?,而在被用于數(shù)據(jù)庫之前,運(yùn)行支配關(guān)系的全部組合,并且以有序?qū)Φ姆绞絹泶鎯υL問結(jié)果通過(l)或失敗(0)。通過以下實(shí)施例(其中,僅僅為了便于說明,使用了底2)來進(jìn)行最佳例示步驟l一將安全標(biāo)簽編碼為整數(shù)compartments=[pathology,cardio]pathology=2cardio=4levels=[public,secret]public=8secret=16步驟2—然后可以將等級艙進(jìn)行組合secret[pathology]=16+2=1818secret[Cardio]=16+4=20secret[pathology,cardio]=16+2+4=22public[pathology]=8+2=10public[Cardio]=8+4=12public[pathology,cardio]=8+2+4=14步驟3—這使得能夠創(chuàng)建組合支配元組(CombinationDominanceTuple):secret[pathology]dominatepublic[pathology]=<18,10,1>secret[Cardio]dominatesecret[pathology,cardio]=<20,22,0〉secret[pathology,cardio]dominatesecret[Cardio]=<22,20,1>public[cardio]dominatesecret[Cardio]=<12,20,0>secret[cardio〗dominatepublic[Cardio]=<20,12,1>從以上實(shí)施例中可以看出,在創(chuàng)建安全組合元組的列表時(shí),調(diào)用了支配函數(shù)以返回1或者0。組合元組及其相關(guān)訪問許可(1或0)被加載到數(shù)據(jù)庫中以獲得更快的表格查找以獲得或被拒絕對記錄進(jìn)行訪問(recordaccess)以及對任何選擇語句(selectstatement)的相關(guān)荷選(filtering)。可以通過基于用戶的數(shù)據(jù)庫會話將安全組合元組篩選為列表并且當(dāng)用戶登錄時(shí)將該列表作為表格保存在駐留存儲器中,來獲得額外的訪問速度。例如,如果用戶具有標(biāo)簽"secret[cardio]",則只需要將元組<20,22,0>和<20,12,1>(根據(jù)上面的實(shí)施例)保存在非易失性存儲器表格中供該數(shù)據(jù)庫會話使用??梢栽谟脩粼S可使用的函數(shù)(應(yīng)用)上對安全標(biāo)簽采用類似的機(jī)制。一旦將"安全元組表格"加載到數(shù)據(jù)庫中,where語句中的代碼的單個(gè)另外的SQL行(SQLline)就為信息保護(hù)提供了必需的篩選。通過將"安全元組"概念擴(kuò)展到除了"userdominateinformation"之夕卜還涵蓋"applicationdominateinformation",來實(shí)現(xiàn)之前定義的三元關(guān)系。例如,繼續(xù)上面的實(shí)施例User=secret[pathology,cardio]=22Applications=secret[cardio〗=20Information=secret[cardio]=20secret[pathology,cardio]dominatesecret[Cardio]=<22,20,1>secret[cardio]dominatesecret[Cardio]=<20,20,1>因此,用戶可以利用用戶、應(yīng)用和信息安全列表的特殊集合來進(jìn)行訪問。其中,利用素?cái)?shù)和求模算法來形成令牌,例如"Labell=Highlysensitive"{"personalidentifiers","dataanalysisresults"}=37x31x29x23x3x5=11475735label2="Public"{"HPVriskfactors"}=23x19=437現(xiàn)在可以作為modulo函數(shù)調(diào)用來執(zhí)行支配函數(shù),艮P:如果(information=label1)(user=label2)則Label2dominatelabel1=modulo(437,11475735)會失敗(因?yàn)椴坏扔贠);如果(information=label2)(user=label1)貝(JLabel1dominatelabel2=modulo(l1475735,437)也會失敗(不等于0),因?yàn)闁丝醇?xì)節(jié),"HPVriskfactors"不是用戶標(biāo)簽的一部分;如果HPVriskfactors被包括為標(biāo)簽I的一部分,即11475735*19=218038965,則Label1dominatelabel2=modulo(218038965,437)則為通過(等于0),因?yàn)闁丝醇?xì)節(jié),此時(shí)"HPVriskfactors"是用戶標(biāo)簽的一部分。該方法使得能夠構(gòu)建向任何SQL數(shù)據(jù)庫提供行級(rowlevel)安全的數(shù)據(jù)庫分裝器。此外,三元關(guān)系提供了構(gòu)建充當(dāng)數(shù)據(jù)庫與終端用戶之間的透明(從用戶的觀點(diǎn)來看)屏障的代理服務(wù)器的能力,從而能夠基于這里介紹的支配函數(shù)對內(nèi)容進(jìn)行篩選。也就是說,僅僅基于終端用戶是否"支配"信息來允許該用戶訪問該信息。利用上述方法的任何一種都可以得到諸多好處。例如,該方法的實(shí)現(xiàn)無需在組織數(shù)據(jù)庫的方式上進(jìn)行任何重大改動(dòng),并且可以被包括在現(xiàn)有的數(shù)據(jù)庫結(jié)構(gòu)中。該方法還具有以下效果在用戶或應(yīng)用的安全元組特性支配了存儲在行級中的信息令牌的情況下,向任何用戶或應(yīng)用隱藏?cái)?shù)據(jù)(使其不存在)。這提供了一定程度的擾亂,可以阻止不經(jīng)意的"黑客攻擊"。根據(jù)需要,可以將二元支配或三元支配關(guān)系實(shí)現(xiàn)在對象消息級、或者甚至嵌入到操作系統(tǒng)級和/或通信級,以提供額外的安全和保護(hù)。在對分配用于應(yīng)對附加了安全標(biāo)簽的信息的處理的資源進(jìn)行管理時(shí),提供了更大的靈活性。此外,在采用指數(shù)方法的情況下,當(dāng)返回或者操縱較大數(shù)量的表格行時(shí),使用編碼信息的表連接(tablejoin)比在行級運(yùn)行的數(shù)據(jù)庫函數(shù)更快。優(yōu)選的是,這加速了對任何請求的處理。在實(shí)施本發(fā)明的實(shí)施方式時(shí),產(chǎn)生并使用了大量的安全標(biāo)簽。這進(jìn)而要求管理系統(tǒng)正確且有效地對標(biāo)簽進(jìn)行管理??梢詤⒄?安全模型"來構(gòu)建管理系統(tǒng),該"安全模型"是為在它們的計(jì)算機(jī)系統(tǒng)內(nèi)實(shí)施安全標(biāo)簽的特殊機(jī)構(gòu)或組織而構(gòu)建的。該模型將形成安全結(jié)構(gòu)、實(shí)施和操作的藍(lán)圖。組織將確定風(fēng)險(xiǎn)(烕脅)并且通過設(shè)計(jì)適當(dāng)?shù)陌踩珮?biāo)簽架構(gòu)來減輕這些風(fēng)險(xiǎn)。該安全標(biāo)簽架構(gòu)可包括許多概念性的分組,包括人的作用;等級的作用;艙;以及應(yīng)用(函數(shù))然后,這些分組被組織成適當(dāng)?shù)陌踩珮?biāo)簽支配層級,并且可以設(shè)計(jì)一套規(guī)則來允許減輕所確定的風(fēng)險(xiǎn)(威脅)所需的標(biāo)簽交互。為了能夠成功地實(shí)現(xiàn)本發(fā)明,可以利用可擴(kuò)展為涵蓋在此處所述的本發(fā)明實(shí)施方式中實(shí)現(xiàn)的安全標(biāo)簽的全部概念的UML建模符號(notation)來實(shí)現(xiàn)安全標(biāo)簽的模型。以下步驟概述了一種可以用來構(gòu)建適當(dāng)?shù)慕M織安全模型架構(gòu)的方法。1、"用例圖",具體而言,就所研究系統(tǒng)的"參與者(actor)"(用戶和其它系統(tǒng))而言,系統(tǒng)的"參與者"(和參與者層級)的分析將確定減輕威脅的任何候選列表(或威脅樹)所需的各種初始的安全等級。各種安全"等級"將被注釋或者記錄到用例圖中。2、"用例圖",具體而言,就應(yīng)用(函數(shù))而言,"用例"(處理或服務(wù))的分析將確定減輕威脅的任何候選列表(或威脅樹)所需的各種初始的安全等級。各種安全"等級"將被注釋或者記錄到用例圖中。3、"用例圖",具體而言,就應(yīng)用與用戶交互而言,"參與者"與"用例"相互關(guān)聯(lián)(用戶、其他系統(tǒng)和服務(wù)之間的交互)的分析將闡明在步驟1和步驟2中確定的各種安全等級,并確定減輕威脅的任何候選列表(或威脅樹)所需的適當(dāng)?shù)呐摷?。各種安全"等級"和"艙"將被注釋或者記錄到用例圖中。4、"類圖",具體而言,"對象類"與"關(guān)聯(lián)對象類"的分析將使得能夠確定在哪里將安全標(biāo)簽(等級和艙)實(shí)施到軟件結(jié)構(gòu)。各種安全"等級"和"艙"將被注釋或者記錄到類圖中作為對象類的"方法"和"屬性"。5、"對象交互圖"和"對象序列圖"可以用來如上所述貫穿(through)安全標(biāo)簽的動(dòng)態(tài)范圍(dynamic)而支配(主體支配對象),在上述二元和三元情況下均如此。旨在了解由安全標(biāo)簽的交互產(chǎn)生的選通(訪問和關(guān)閉)的動(dòng)態(tài)范圍。6、應(yīng)當(dāng)用針對特定數(shù)據(jù)結(jié)構(gòu)而獨(dú)立建模,或者從之前的UML建模(上述的步驟1至步驟5)中得到的安全標(biāo)簽(表格的屬性)對"實(shí)體關(guān)系建模圖"(不是UML方法的一部分)進(jìn)行注釋。7、應(yīng)當(dāng)在步驟7之后重新對"對象交互圖"和"對象序列圖"進(jìn)行訪問,這次是為了對消息結(jié)構(gòu)進(jìn)行復(fù)查(review)。減輕系統(tǒng)之間以及除了"對象方法"相互作用以外,對象類相互作用(即,"類方法")之間的消息的風(fēng)險(xiǎn)。通過執(zhí)行以上步驟,"n"級(tier)計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)的安全模型提供了諸多好處。通過在表格級和行級兩者處的相關(guān)安全標(biāo)簽配置減輕了"數(shù)據(jù)層"烕脅。通過對象類實(shí)例上的安全標(biāo)簽布置來減輕"中間級層"威脅,從而得到了對對象和類消息相互作用的安全控制。嵌入到加密通信層中的安全標(biāo)簽減輕了來自"用戶"和"外部系統(tǒng)"相互作用的風(fēng)險(xiǎn)。諸如RSA的標(biāo)準(zhǔn)加密算法可以用于封裝安全標(biāo)簽。應(yīng)了解,雖然為了便于說明,以上的實(shí)施例采用了以2為底的指數(shù)形式,但是,可以使用任何底。還應(yīng)了解,雖然這里闡述的令牌是用于控制對數(shù)據(jù)庫中的信息進(jìn)行訪問的標(biāo)簽,但是,還可以將相同的概念應(yīng)用在其它計(jì)算領(lǐng)域(如,控制軟件對象之間的消息傳送,或者控制計(jì)算系統(tǒng)之間的通信)中的信息分類和保護(hù)。還應(yīng)了解,雖然所闡述的實(shí)施方式是指醫(yī)療應(yīng)用/分級系統(tǒng),但是根據(jù)本發(fā)明的方法和系統(tǒng)的實(shí)施方式還可以用于任何類型的計(jì)算系統(tǒng),或者任何類型的數(shù)據(jù)庫以利用安全等級和艙的任何適當(dāng)組合來保持任何類型的數(shù)據(jù)。權(quán)利要求1、一種對可用于計(jì)算系統(tǒng)中的安全標(biāo)簽進(jìn)行編碼的方法,在所述計(jì)算系統(tǒng)中,對特征集合中的每個(gè)特征都賦予一個(gè)整數(shù)值,該方法包括以下步驟針對某個(gè)特定標(biāo)簽,將描述該標(biāo)簽的實(shí)際特征集合中的每個(gè)特征的整數(shù)值進(jìn)行組合以得到單個(gè)整數(shù)值。2、根據(jù)權(quán)利要求i所述的方法,其中,通過xy形式的指數(shù)來確定賦予所述特征集合中的每個(gè)特征的整數(shù)值,其中,x和y是整數(shù)值。3、根據(jù)權(quán)利要求2所述的方法,該方法還包括以下步驟對于向能夠描述所述標(biāo)簽的特征集合中的每個(gè)特征賦予一整數(shù)值的步驟,針對所述特征集合中的每個(gè)特征使指數(shù)y遞增。4、根據(jù)權(quán)利要求l、2或3所述的方法,其中,通過對所述整數(shù)值進(jìn)行求和來組合所述整數(shù)值。5、根據(jù)權(quán)利要求1所述的方法,其中,賦予所述特征集合中的每個(gè)特征的所述整數(shù)值是唯一的素?cái)?shù)。6、根據(jù)權(quán)利要求5所述的方法,其中,通過對所述整數(shù)值進(jìn)行相乘來組合所述整數(shù)值。7、根據(jù)權(quán)利要求1至6中任一項(xiàng)所述的方法,其中,所述特征集合是許可等級和艙中的一個(gè)。8、一種允許用戶訪問包含在計(jì)算系統(tǒng)中的某段信息的方法,該方法包括以下步驟對所述計(jì)算系統(tǒng)中的所有離散信息都賦予安全標(biāo)簽;對所述計(jì)算系統(tǒng)的所有用戶都賦予安全標(biāo)簽;以及對駐留所述計(jì)算系統(tǒng)中的所有軟件應(yīng)用都賦予安全標(biāo)簽,其中,為了訪問某段離散信息,所述用戶和所述軟件應(yīng)用的安全標(biāo)簽必須支配賦予這段離散信息的安全標(biāo)簽。9、一種構(gòu)建包含關(guān)于多個(gè)用戶中的每一個(gè)用戶是否可以訪問包含在計(jì)算系統(tǒng)中的多段信息中的每一段信息的信息的列表的方法,該方法包括以下步驟根據(jù)權(quán)利要求1至3中的任一項(xiàng),為每一個(gè)所述用戶確定安全令牌,并為每一段所述信息確定安全令牌;根據(jù)權(quán)利要求4所述的方法,確定所述多個(gè)用戶中的每一個(gè)用戶是否可以訪問所述多段信息中的每一段信息;以及構(gòu)建安全令牌和訪問許可的列表。10、一種按照權(quán)利要求3所述的形式對安全標(biāo)簽進(jìn)行解碼的方法,該方法包括以下步驟確定所述單個(gè)整數(shù)的對數(shù)底的向下取整值,以確定用于所述特征集合中的第一個(gè)特征的值;從所述整數(shù)值中減去所述單個(gè)整數(shù)的對數(shù)基的向下取整值,以得到余數(shù)整數(shù)值;以及如果余數(shù)值非0,則確定所述余數(shù)整數(shù)值的對數(shù)的向下取整值,以確定所述特征集合中的下一個(gè),其中重復(fù)該處理直到所述余數(shù)值為0為止。11、一種按照權(quán)利要求5所述的方式對安全標(biāo)簽進(jìn)行解碼的方法,該方法包括以下步驟確定所述單個(gè)整數(shù)值的模;以及確定余數(shù)值是否為非0,其中,如果該值為0,則所述特征是所述安全標(biāo)簽中固有的。12、一種對可用于計(jì)算系統(tǒng)中的安全標(biāo)簽進(jìn)行編碼的系統(tǒng),在所述計(jì)算系統(tǒng)中,對特征集合中的每個(gè)特征都賦予一個(gè)整數(shù)值,該系統(tǒng)包括組合單元,用于對描述標(biāo)簽的實(shí)際特征集合中的每個(gè)特征的整數(shù)值進(jìn)行求和,以得到單個(gè)的整數(shù)值。13、根據(jù)權(quán)利要求12所述的系統(tǒng),其中,通過xy形式的指數(shù)來確定賦予所述特征集合中的每個(gè)特征的整數(shù)值,其中,x和y是整數(shù)值。14、根據(jù)權(quán)利要求12所述的系統(tǒng),其中,對于向能夠描述所述標(biāo)簽的特征集合中的每個(gè)特征賦予一整數(shù)值,針對所述特征集合中的每個(gè)特征使指數(shù)y遞增。15、根據(jù)權(quán)利要求12、13或14所述的系統(tǒng),其中,通過對所述整數(shù)值進(jìn)行求和來組合所述整數(shù)值。16、根據(jù)權(quán)利要求12所述的系統(tǒng),其中,賦予所述特征集合中的每個(gè)特征的所述整數(shù)值是唯一的素?cái)?shù)。17、根據(jù)權(quán)利要求16所述的系統(tǒng),其中,通過對所述整數(shù)值進(jìn)行相乘來組合所述整數(shù)值。18、根據(jù)權(quán)利要求12至17中任一項(xiàng)所述的系統(tǒng),其中,所述特征集合是許可等級和艙中的一個(gè)。19、一種允許用戶訪問包含在計(jì)算系統(tǒng)中的某段信息的系統(tǒng),該系統(tǒng)包括以下單元對所述計(jì)算系統(tǒng)中的所有離散信息賦予安全標(biāo)簽的單元;對所述計(jì)算系統(tǒng)的所有用戶賦予安全標(biāo)簽的單元;以及對駐留在所述計(jì)算系統(tǒng)中的所有軟件應(yīng)用賦予安全標(biāo)簽的單元,其中,為了訪問某段離散信息,所述用戶和所述軟件應(yīng)用的安全標(biāo)簽必須支配賦予這段離散信息的安全標(biāo)簽。20、一種構(gòu)建包含關(guān)于多個(gè)用戶中的每一個(gè)用戶是否可以訪問包含在計(jì)算系統(tǒng)中的多段信息中的每一段信息的信息的列表的系統(tǒng),該系統(tǒng)包括以下單元用于根據(jù)權(quán)利要求12至14中的任一項(xiàng),為每一個(gè)所述用戶確定安全令牌,并為每一段所述信息確定安全令牌的確定單元;用于根據(jù)權(quán)利要求15所述的方法,確定所述多個(gè)用戶中的每一個(gè)用戶是否可以訪問所述多段信息中的每一段信息的確定單元;以及用于構(gòu)建安全令牌和訪問許可的列表的構(gòu)建單元。21、一種按照權(quán)利要求12所述的方式對安全標(biāo)簽進(jìn)行解碼的系統(tǒng),該系統(tǒng)包括以下單元用于確定所述單個(gè)整數(shù)的對數(shù)底的向下取整值,以確定用于所述特征集合中的第一個(gè)特征的值的單元;用于從所述整數(shù)值中減去所述單個(gè)整數(shù)的對數(shù)底的向下取整值,以得到余數(shù)整數(shù)值的減法單元;以及用于確定所述余數(shù)值是否為非0的單元,其調(diào)用確定單元來確定所述余數(shù)整數(shù)值的對數(shù)的向下取整值,以確定所述特征集合中的下一個(gè),其中重復(fù)該處理直到所述余數(shù)值為0為止。22、一種按照權(quán)利要求17所述的方式對安全標(biāo)簽進(jìn)行解碼的系統(tǒng),該系統(tǒng)包括設(shè)置用來確定所述單個(gè)整數(shù)值的模的確定單元;以及用于確定余數(shù)值是否為非O的單元,其中,如果該值為0,則所述特征是所述安全標(biāo)簽中所固有的。23、一種軟件應(yīng)用,該軟件應(yīng)用包括用于控制計(jì)算系統(tǒng)以執(zhí)行根據(jù)權(quán)利要求1至11中任一項(xiàng)所述的方法的指令。24、一種包含有根據(jù)權(quán)利要求23所述的軟件應(yīng)用的可記錄介質(zhì)。全文摘要本發(fā)明提供了一種對可用于計(jì)算系統(tǒng)中的安全標(biāo)簽進(jìn)行編碼和解碼的系統(tǒng)和方法。該編碼方法包括,部分地對特征集合中的每個(gè)特征賦予整數(shù)值。然后,為了對特殊的安全標(biāo)簽進(jìn)行編碼,將描述該標(biāo)簽的特征集合中的每個(gè)特征的整數(shù)值進(jìn)行組合以得到單個(gè)整數(shù)值。文檔編號G06F21/24GK101689239SQ200880016593公開日2010年3月31日申請日期2008年5月19日優(yōu)先權(quán)日2007年5月18日發(fā)明者大衛(wèi)·伊恩·芬利森,馬克·亞歷山大·施托克斯申請人:安全鑰匙有限公司