TWI446207B - The device and method used to load the app category - Google Patents
The device and method used to load the app category Download PDFInfo
- Publication number
- TWI446207B TWI446207B TW099141913A TW99141913A TWI446207B TW I446207 B TWI446207 B TW I446207B TW 099141913 A TW099141913 A TW 099141913A TW 99141913 A TW99141913 A TW 99141913A TW I446207 B TWI446207 B TW I446207B
- Authority
- TW
- Taiwan
- Prior art keywords
- category
- application
- security
- variables
- variable
- Prior art date
Links
Landscapes
- Storage Device Security (AREA)
Description
本發明是有關於一種安全應用程式,特別是指一種基於使用者安全權限載入類別到該應用程式。
當在一裝置上引用一應用程式時,必須根據使用者的安全權限來避免未經授權地存取該應用程式或該應用程式的某些能力。現有解決方式使用應用程式邏輯內或一安全模組內的條件邏輯來決定受到保護的能力是否可被存取。然而,若是意外地或是惡意地將權限設定錯誤,則受到保護的能力即可被存取,假如實現那些能力的編碼對該應用程式而言是可見的。這在分散式應用程式中可能是一個嚴重的問題。
需要一種用於發展及/或提供安全應用程式的改良系統及方法。
因此,本發明之目的,即在提供一種用於在一應用程式中載入一類別的方法,該方法包含決定一類別需求,決定一安全權限,提取與該安全權限關聯的該所需求類別的一類別變數,及載入該所提取類別變數。
本發明之又一目的是提供一種應用程式,該應用程式包含一請求處置器及至少一類別載入器。該請求處置器可被組配以處理一類別之一請求,及決定該應用程式的一安全權限。該類別載入器可被組配以根據該安全權限載入一類別變數。
本發明之再一目的是提供一種電腦可讀媒體,該電腦可讀媒體包含由一處理器執行之電腦可執行指令,該等指令在被執行時,使該處理器解碼一安全標記,從該安全標記決定一安全權限,選擇與該安全權限關聯之一類別儲存庫,及從該所選擇類別儲存庫載入一類別。
本發明之功效在於提供一種基於該安全權限而載入應用程式類別的系統與方法。
有關本發明之前述及其他技術內容、特點與功效,在以下配合參考圖式之一個較佳實施例的詳細說明中,將可清楚的呈現。
本發明用於載入應用程式類別的系統與方法之較佳實施例如圖1所示,一應用程式10包括已被載入且被使用以執行該應用程式10之功能的應用程式類別12。應用程式類別12一般是利用一請求處置器15內的一類別載入器14被載入。在本實施例中,該應用程式10可被組配以具有被編碼為一安全標記的一組安全權限。在該應用程式10執行一安全操作時,該請求處置器15可在呼叫程式中或是在一遠端過程中截取調用。本實施例之類別載入器14被組配以基於被編碼在該安全標記中的該等權限載入類別的多個變數。在該應用程式被安裝於一特定計算設備時,在一使用者執行一登入操作時,或藉由建立該使用者的安全憑證的任何其它手段,該安全標記可被產生。在一分散式應用程式中,該安全標記可利用經建立的用以執行遠端操作的機制,諸如在傳遞過程間,透過一安全(經加密)連線的遠端調用。該類別載入器14利用該等安全權限來決定該載入哪個變數。
一種用於載入一類別的過程顯示在圖2的流程圖100中。在步驟101,一將被載入類別的一需求被產生。之後,該應用程式的該等安全權限被評估(步驟102)。之後,與該安全權限關聯的該所需求類別的一類別變數被提取(步驟103)及被載入(步驟104)。
權限的一特定組合被映射到類別的一特定變數組合。各該組合可包括類別的一不同群組。然而,將被該應用程式直接接取的各該變數類別具有相同的名稱及名稱空間,且提供相同的公開應用程式設計介面(API)。變數類別的各該組合被包括在一分離的儲存庫中,諸如儲存庫A 17(參閱圖1)、儲存庫B 18等。該等類別儲存庫可位於檔案系統中或是透過網路從一中央遠端伺服器得到。該類別載入器14利用該等安全權限來決定從哪個儲存庫載入類別。在該應用程式需要依據安全權限接取一類別時,該類別載入器將基於該應用程式之權限從該適當的儲存庫載入該類別的一變數。這保護該系統免於被意外或是惡意使用受到保護的能力。因為該類別的各該變數具有正確的名稱空間且提供正確的公開API,所以在該類別於該應用程式內被載入及引用時,該類別將適當地執行。
該類別的一變數可被編碼以提供一完整能力,該完整能力只可被具有管理安全權限的一使用者接取,而該相同類別的另一變數可被編碼以提供一簡化功能,該簡化功能可被具有唯讀安全權限的一使用者接取。舉例來說,一類別變數可支援所有使用者帳號的建立及刪除,另一類別變數可支援更新帳號資訊,而非建立或刪除,及一第三類別變數只可支援目前使用者瀏覽帳號資訊。
圖3顯示一種用於藉由該應用程式執行一類別之調用的過程200。在步驟201,該請求處置器15(參閱圖1)接收該調用,並且在步驟202從該調用解碼該安全標記。假設該安全標記是有效的(步驟203),該類別載入器14從與該安全標記所指示的該等安全權限匹配的該適當類別儲存庫提取該類別變數(步驟204)。之後,該所提取類別可被使用以執行該調用(步驟205)。
一種用於提取該類別實例的過程顯示於圖4的流程圖300。在步驟301,基於所需求安全權限及正被執行的類別操作,一類別需求被產生。若是如在步驟302所決定的該類別先前已被載入,且如在步驟303所決定的該類別的一實例是可用的,則該調用可被照常執行305。若是該類別實例是不可用的但先前已被載入,則在前進到執行該調用305之前,在步驟304該類別實例可被產生。若是該類別先前未被載入(302),則在步驟306將被使用以載入該類別的該類別載入器會被決定。在該應用程式裡,各該類別儲存庫可具有一分離的類別載入器。這有助於適當防護該應用程式,並且允許在相同應用程式過程中載入相同類別的多個變數。基於該類別需求所指示的該等安全權限,諸如從該安全標記,該類別載入器被決定。若是該所選擇類別載入器是可用的,則該類別被載入308。若是如在步驟309所決定的該類別被成功載入,則該類別的一實例被產生304,使得該調用可被執行305。
在該應用程式被開啟時,其載入儲存於區域計算裝置中之一組安全權限。該應用程式也被組配以知道類別儲存庫的數目及各該儲存庫需求的權限。之後,該應用程式初始化一組安全類別載入器以從各該儲存庫載入類別。各該安全類別載入器被組配以從該等儲存庫中的一者載入類別,且知道該儲存庫所需求的安全權限。如先前所提的,該等類別儲存庫可在該計算裝置中,或是透過一伺服器可遠端接取的。
該應用程式可以硬體、軟體、韌體或是硬體、軟體及/或韌體的一組合被實施。如圖5所示,在一硬體實施例中,該應用程式可在操作上與一記憶體62關聯的一處理器61上執行。如圖5、6所示,該記憶體62可儲存該處理器61可執行的一指令組400。該指令組允許該處理器61解碼一可被儲存於該記憶體62裡之安全標記(步驟401)。解碼完成後,該處理器61可決定該安全標記所指示的一安全權限(步驟402),並且之後選擇與該安全權限關聯之一類別儲存庫(步驟403)。之後,該處理器61從該所選擇儲存庫載入一類別(步驟404)。
該處理器61可與一第二處理器71,諸如與儲存許多類別儲存庫的一記憶體72關聯的一類別儲存庫處理器通訊。該應用程式處理器61可透過一適當的通訊連線65傳送類別請求至該類別儲存庫處理器71。
綜上所述,該用於載入應用程式類別的系統與方法用以替代應用程式邏輯內或該安全模組內的條件邏輯,以決定是否可接取該受到保護的能力,避免該系統被意外或是惡意地使用該受到保護的能力。
雖然本發明的實施例已在隨附的圖式中繪示且在以上描述中說明,惟以上所述者,僅為本發明之較佳實施例而已,當不能以此限定本發明實施之範圍,即大凡依本發明申請專利範圍及發明說明內容所作之簡單的等效變化與修飾,皆仍屬本發明專利涵蓋之範圍內。舉例來說,本發明之能力可全部及/或部分地以一或更多模塊、模組、處理器或是記憶體執行。此外,這些能力可以目前方式或一分散方式以及在或透過能提供及/或接收資訊的任何裝置被執行。進一步,雖然以一特定方式描繪,但是各個模組或模塊可被重新定位,且不脫離本發明的範圍。更進一步,雖然以一特定方式描繪,但是較多或是較少數目的模組及連接可與本發明一起使用,以實現本發明,提供額外的已知特徵給本發明,及/或使本發明更有效率。此外,在各個模組間被傳送的資訊可透過一資料網、網際網路、一網際網路協定網、一無線源及一有線源中的至少一者或是透過複數協定在該等模組間被傳送。
10...應用程式結構
12...應用程式類別
14...類別載入器
15...請求處置器
17...儲存庫A
18...儲存庫B
100...流程圖
101~104...步驟
200...過程
201~205...步驟
300...流程圖
301~309...步驟
400...指令組
401~404...步驟
61...應用程式處理器
62...記憶體
65...通訊連線
71...類別儲存庫處理器
72...記憶體
圖1說明一應用程式結構;圖2說明一種用於載入類別到圖1應用程式的過程;圖3說明一種用於執行一調用的過程;
圖4說明一種用於得到一類別實例的過程;
圖5說明用於執行該應用程式的一處理器及記憶體;
圖6說明圖5之處理器可執行的一指令組;及
圖7說明與一類別儲存庫處理器通訊的一應用程式處理器。
100‧‧‧流程圖
101~104‧‧‧步驟
Claims (29)
- 一種用於載入應用程式類別的方法,包含:於一處理裝置決定一被一應用程式在執行期引用之類別;於該處理裝置解碼該應用程式內一被編碼為一安全標記的安全權限;及從至少一儲存庫,以至少部分基於該安全權限的方式從多個類別變數提取與該類別關聯的一類別變數;其中,該等多個類別變數的每一個是被組配以定義一對應該應用程式之功能;及其中,該安全標記是在安裝該應用程式時產生。
- 依據申請專利範圍第1項所述之方法,還包含:將該等多個類別變數的每一個關聯於一對應的安全權限。
- 依據申請專利範圍第2項所述之方法,還包含在分離的儲存庫中儲存該等多個類別變數的每一個。
- 依據申請專利範圍第2項所述之方法,其中,該等多個類別變數的每一個包含一相同的名稱空間。
- 依據申請專利範圍第2項所述之方法,其中,該等多個類別變數的每一個包含一相同的應用程式設計介面。
- 依據申請專利範圍第2項所述之方法,其中,一第一類別變數提供一第一功能,以及,一第二類別變數提供一相較於該第一類別變數簡化的功能。
- 依據申請專利範圍第2項所述之方法,還包含將該等對應 安全權限的每一個與一類別變數儲存庫關聯。
- 依據申請專利範圍第7項所述之方法,其中,該類別的該等多個類別變數儲存於一儲存庫,該儲存庫包括具有等效安全權限之至少另一類別的多個類別變數。
- 一種用於載入應用程式類別的設備,包含:一記憶體裝置;及一處理裝置,可操作地耦接於該記憶體裝置,該處理裝置包含:一請求處置器;及至少一類別載入器;其中,該請求處置器被組配以:處理一被一應用程式在執行期引用之類別之一請求;及解碼該應用程式內一被編碼為一安全標記的安全權限;其中,該類別載入器被組配以至少部分基於該安全權限的方式從多個類別變數提取與該類別關聯的一類別變數;其中,該等多個類別變數的每一個對應至該應用程式之一特定功能;其中,該安全標記是在安裝該應用程式時產生。
- 依據申請專利範圍第9項所述之應用程式,其中,一第一類別變數提供一第一功能;以及其中,一第二類別變數提供一相較於該第一類別變數簡化的功能。
- 依據申請專利範圍第10項所述之應用程式,其中,該第一類別變數與一第一安全權限關聯,且其中,該第二類別變數與一第二安全權限關聯。
- 一種電腦可讀儲存裝置,包括多個儲存於其上、當被一處理裝置執行時,組配該處理裝置以執行多個操作之電腦可執行指令,該等操作包含:解碼一於一應用程式內被編碼為一安全標記的安全權限;決定一被一應用程式在執行期引用之類別;選擇與該類別關聯之一類別儲存庫;及以至少部分基於該安全權限的方式從多個變數載入一對應來自該類別儲存庫的該類別的變數;其中,該安全標記是在安裝該應用程式時產生。
- 依據申請專利範圍第12項所述之電腦可讀儲存裝置,其中,該處理裝置是被組配以執行多個操作,該等操作還包含將該等多個變數的每一個關聯於一對應的安全權限等級。
- 依據申請專利範圍第13項所述之電腦可讀儲存裝置,其中,該處理裝置是被組配以執行多個操作,該等操作還包含:在相異的儲存庫中儲存該等多個變數的每一個。
- 依據申請專利範圍第14項所述之電腦可讀儲存裝置,其中,該處理裝置是被組配以執行多個操作,該等操作還包含:將該等安全權限等級的每一個關聯於一相異的儲存庫。
- 依據申請專利範圍第13項所述之電腦可讀儲存裝置,其中,該等多個變數的每一個包含一相同的名稱空間。
- 依據申請專利範圍第13項所述之電腦可讀儲存裝置,其中,該等多個變數的每一個包含一相同的應用程式設計介面。
- 依據申請專利範圍第13項所述之電腦可讀儲存裝置,其中,該類別的該等多個變數儲存於一儲存庫,該儲存庫包括具有等效安全權限等級之至少另一類別的多個變數。
- 依據申請專利範圍第12項所述之電腦可讀儲存裝置,其中,一第一類別變數提供一第一功能;及其中,一第二類別變數提供一相較於該第一類別變數簡化的功能。
- 一種用於載入應用程式類別的裝置,包含:一記憶體裝置,被組配以儲存多個指令;及一處理裝置,被組配以執行儲存於該記憶體裝置的該等指令以:決定一被一應用程式在執行期引用之類別;在安裝該應用程式時解碼該應用程式內一被編碼為一安全標記的安全等級;選擇與該安全等級關聯之一類別儲存庫;及從多個類別變數載入一對應來自該類別儲存庫的該類別的類別變數。
- 依據申請專利範圍第20項所述之裝置,其中,該處理裝置還被組配以執行該等指令以: 將該等多個類別變數的每一個關聯於一對應的安全等級。
- 依據申請專利範圍第21項所述之裝置,其中,該處理裝置還被組配以執行該等指令以:在相異的儲存庫中儲存該等多個類別變數的每一個。
- 依據申請專利範圍第21項所述之裝置,其中,該處理裝置還被組配以執行該等指令以:將對應的多個安全等級與相異的多個儲存庫關聯。
- 依據申請專利範圍第21項所述之裝置,其中,該等多個類別變數的每一個包含一相同的名稱空間。
- 依據申請專利範圍第21項所述之裝置,其中,該等多個類別變數的每一個包含一相同的應用程式設計介面。
- 依據申請專利範圍第21項所述之裝置,其中,該處理裝置還被組配以執行該等指令以:將該類別的該等多個類別變數儲存於一儲存庫,該儲存庫包括具有等效安全權限等級之至少另一類別的多個類別變數。
- 依據申請專利範圍第20項所述之裝置,其中,一第一類別變數提供一第一功能;及其中,一第二類別變數提供一相較於該第一類別變數簡化的功能。
- 一種用於載入應用程式類別的載入方法,包含:於一處理裝置解碼一應用程式內一被編碼為一安全標記的安全權限; 於該處理裝置識別該應用程式內在執行期對一類別的一要求;回應於先前未曾被載入的該類別,於該處理裝置以至少部分基於該安全權限的方式載入一對應於該要求的類別變數;於該處理裝置創造該類別變數的一物件;及於該處理裝置執行該類別變數的該物件的一調用;其中,該安全標記是在安裝該應用程式時產生。
- 一種用於載入應用程式類別的處理方法,包含:於一處理裝置決定一被一應用程式在執行期引用之類別;於該處理裝置解碼該應用程式內一被編碼為一安全標記的安全權限;從至少一貯藏所,以至少部分基於該安全權限的方式從多個類別變數提取與該類別關聯的一類別變數;將該等多個類別變數的每一個關聯於一對應的安全權限;及將該等對應安全權限的每一個與一類別變數儲存庫關聯;其中,該等多個類別變數中的每一個是被組配以定義一對應該應用程式之功能;其中,該類別的該等多個類別變數儲存於一儲存庫,該儲存庫包括具有等效安全權限之至少另一類別的多個類別變數;及 其中,該安全標記是在安裝該應用程式時產生。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW099141913A TWI446207B (zh) | 2010-12-02 | 2010-12-02 | The device and method used to load the app category |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW099141913A TWI446207B (zh) | 2010-12-02 | 2010-12-02 | The device and method used to load the app category |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201224832A TW201224832A (en) | 2012-06-16 |
TWI446207B true TWI446207B (zh) | 2014-07-21 |
Family
ID=46725973
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW099141913A TWI446207B (zh) | 2010-12-02 | 2010-12-02 | The device and method used to load the app category |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI446207B (zh) |
-
2010
- 2010-12-02 TW TW099141913A patent/TWI446207B/zh active
Also Published As
Publication number | Publication date |
---|---|
TW201224832A (en) | 2012-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11379273B2 (en) | Sharing extension points to allow an application to share content via a sharing extension | |
US9075966B2 (en) | System and method for loading application classes | |
US10069832B2 (en) | Ephemeral applications | |
US10073966B2 (en) | Operating system-independent integrity verification | |
KR101565230B1 (ko) | 샌드박스에 참조들을 유지하는 시스템 및 방법 | |
CN106295255B (zh) | 应用程序的加固方法和装置 | |
JP6055574B2 (ja) | セキュアなオペレーティングシステム環境へのコンテキストベースのスイッチング | |
US20100229242A1 (en) | Program execution control system, program execution control method and computer program for program execution control | |
CN107077565B (zh) | 一种安全指示信息的配置方法及设备 | |
US9871800B2 (en) | System and method for providing application security in a cloud computing environment | |
US11706220B2 (en) | Securing application behavior in serverless computing | |
EP3270318B1 (en) | Dynamic security module terminal device and method for operating same | |
Moshchuk et al. | Content-based isolation: rethinking isolation policy design on client systems | |
CN108985096B (zh) | 一种Android SQLite数据库安全增强、安全操作方法以及装置 | |
US10719456B2 (en) | Method and apparatus for accessing private data in physical memory of electronic device | |
US8631480B2 (en) | Systems and methods for implementing security services | |
TWI446207B (zh) | The device and method used to load the app category | |
US9652608B2 (en) | System and method for securing inter-component communications in an operating system | |
US10747871B2 (en) | System and method for producing secure data management software | |
US20170054693A1 (en) | Integrity verification system using remote code execution and method thereof | |
US20170147798A1 (en) | Mobile Device And Method Of Operating Mobile Device | |
JP2009116391A (ja) | 安全度評価と連動するセキュリティの方針設定装置、そのプログラムおよびその方法 | |
US10546118B1 (en) | Using a profile to provide selective access to resources in performing file operations | |
JP2013186643A (ja) | 配信装置、配信処理方法及びプログラム、並びに情報処理装置、情報処理方法及びプログラム | |
KR20170032824A (ko) | 신뢰된 어플리케이션을 전자 디바이스에 설치하는 방법 및 장치 |