200818839 九、發明說明: 【發明所屬之技術領域】 本發明係有關於用以對非揮發性記憶體進行控制之乞 憶體控制器,具備有非揮發性記憶體之半導體記情卡等之 安全記憶卡,和具有上述安全記憶卡和存取裴 憶卡系統。 5己 【先前技術】 籲先前技術者,是利用不同之伺服器進行密碼化過之資料 之分配,和對該密碼化過之資料進行密碼化時所使用之鍵 之分配,藉以對使用者安全地分配内容,並可以進行販賣 者(專利文獻1)。.在此處對使用者分配之密碼化過之資料 包含有多個密碼化資訊部份,密碼化資訊部份之 、 對該列表之署名。 & 專利文獻1 :專利第3130267號 【發明内容】 _ (發明所欲解決之問題) 但疋,在上述之先前技術中,每次變化列表之内容時, 需要變化對應之署名。亦即,每次變更密碼化過之資料之 IM刀b守因為列表之内谷之變化,而需要修正署名。因 此,為著署名之修正需要很多之時間和勞力。 - 因此,在本案之發明中,提供記憶體控制器和安全記憶 •卡二將成為署名對象之資料,該署名,和非署名對象之其 他資料,纟;r、合成為密碼化之資料構造,即使在不是署名對 象之資料之-部份被變更之情況時,亦不需要署名之修 326X專利說明書(補件)\96-11\96129517 5 200818839 正 (解決問題之手段) 本發明之記憶體控制器其特徵在於 用來接收密石馬資料和署名對象資料/ρ / 手段, 來對資料進行加密/解碼處理;核對手71段,用 象資料進彳t核對;_手段有署名,和上述署名對 果,判斷上述署名述核對手段之核對結 用上述判斷手.段判斷上述署名對段’當利 有上述署名夕μ、+、+ — 象貝科為正當%,記憶含 正當之資料。W碼食料之上述署名以外之資料作為 述=體之安全記憶卡具有:非揮發性記憶體;上 讀出/’寫入' “ ^來對上述非揮發性記憶體進行資料之 貝出/寫入,和加密/解碼手 和安全記憶卡具備有:通4二'進:上述密碼處理; 名對象資料,·加密/解料段,又用來用來f收密碼資料和署 碼資料所具有之署解碼手段解碼之上述密 斷丰P,#4+… 3上述署名對象資料進行核對;判 象資料之述核對手段之核對結果,判斷上述署名對 上述署名對Γ資料段’當利用上述判斷手段判斷 Μ料之其餘之資料亦作為正當之資1达、 32mmmrnmmmm-n\96i295i7 事置構W本1月之*全錢卡系統係由安全記憶卡和存取 衣置構成,安全記憶卡具備有··通信手段,用來接收密碼 6 200818839 資料和署名對象資料. 加宓/解踩_ Φ 解碼手段,用來對資料進行 :二‘I處理;核對手段,使以上述加密/解碼手段解碼 &饴碼貧料所具有之署名,、^ 核對;判斷手#^ u + 上述署名對象貝科進灯 述署名對象資料之㈣:段之核對結果,判斷上 手段判斷上料名對象1 =$手& ’當利用上述判斷 一晋名對象貝枓為正當時’記憶含有上述署名 =山馬貝料之上述署名以外之資料作為正當之資 :·;存:裝置具有:通信手段’用來與上述安全記憶卡通 ::以思手段’用來記憶發信到上述安全記憶卡之資料; ^協定變換手段,從上述記憶手段讀出發信到上述安全記 憶卡之貧料’將其變換成為上述安全記憶卡可接收之資 =,接收來自上述安全記憶卡之通知之結果,根據上述結 果控制與上述安全記憶卡之通信。 (發明效果) 經由使署名對象資料,署名,和不是署名對象之其他資 _料-起被密碼化之構造,在可以正確驗證署名之情況時, 因為可以信賴一起被密碼化之其他<資料之正當性的核 對,所以每次變更不是署名對象之資料之一部份時,不需 要變更署名。 【實施方式】 以下參照圖式說明本發明之實施形態。另外,本發明並 不只限於該等之實施形態,在不脫離其主旨之範圍;得以 各種態樣實施。 ^ (實施形態1) 326\專利說明書(補件)\96-11\96129517 7 200818839 在本貫施形怨中,說明由圖1所示之伺服器(3〇〇)、外 部機器(200)、記憶卡(100)所構成之安全記憶卡系統。圖 ‘ 2表示s己憶卡(1〇〇)之構造。圖3表示圖1所示之安全記 、 憶卡系統之詳細之構造。以下使用圖3進行說明。 伺服益(3 0 0)具有與外部通信之通信手段(3 〇 〇 1 )、記憶 检制手段(3002)、和記憶手段(3003)。該記憶手段(3〇〇3) 用來保持應用程式資料、應用程式碼、對應之記憶卡資 響訊,和其他之與外部終端機有關之資訊。在此處應用程式 碼和應用程式資料合在一起者成為應用程式。應用程式碼 疋才曰"T貝行之程式或編碼荨之目標碼。應用程式資料是指 5亥專之應用程式碼所參照之資料,其設置之目的是對應用 私式控制其動作或表現等,或給予初期設定值。另外,在 本實施形態中,是使應用程式碼和應用程式資料分離作說 明,但疋應用程式資料亦可以是被包含在應用程式碼之一 部份者。 _ 記憶控制手段(3002)經由通信手段(3〇〇1)接受來自外 部之要求,依照該要求可以從記憶手段(3〇〇3)選擇性地讀 出資料。 ' 外部機器(200)具有通信手段(2〇〇1)、協定變換手段 (2002)、和暫時記憶手段(2003)。通信手段(2001 )接收來 ’自伺服益(3 〇 〇)之資料或編碼。協定變換手段(2〇〇2)將該 、 資料或編碼變換成為可以發信到記憶卡(100)之命令。通 信手段(2001 )將被協定變換手段(20 02)變換之命令傳遞 給記憶卡(100)。另外,當接收到來自伺服器(3〇〇)之預先 326\專利說明書(補件)\96-11\96129517 8 200818839 以S己憶卡之命令規格為準之資料之情況時,外部機器(2〇〇) 將接收到之資料直接發信到記憶卡(1 〇〇)。 • 記憶卡U00)具有通信手段(1〇〇1)、命令解釋手段 、(1〇〇2)、數值計算手段(1〇〇4)、記憶控制手段(1〇〇3)、記 憶手段(1005)、加密/解碼手段(1〇〇6)、核對手段(1〇〇7)、 散列(hash)產生手段(ι〇〇9)、和判斷手段(1〇〇8)。通信手 段(1001)接收來自外部機器(2〇〇)之資料或命令。命令解 _釋手段(1002)解釋使用通信手段(1〇〇1)接收到之命令,將 資料傳遞給數值計算手段(1004),數值計算手段(1004) 依照在命令解释手段(1〇〇2)解釋命令之結果,進行資料之 配置和資料之變換、資料之演算。另外,數值計算手段 (1004)係進行孩、碼處理時,使用:加密/解碼手段(1〇〇6), 依照需要進行加密/解碼處理;核對手段(1〇〇7),進行資 料之比較、核對;散列產生手段(1〇〇9),用來產生資料之 政列值,和&己憶控制手段(1〇〇3),用來控制記憶手段 ⑩(1005)。己[思手|又(1〇〇5)是記憶卡(⑽)内之保持資料之 部份,經由記憶控制手段(1003)而被存取。核對手段、(1 007) =來使署名對象資料,和被加密/解碼手段(1嶋)解瑪之 饴碼貝料中所儲存之署名進行核對。另外,判斷手段(1008) 依照在核對手段d謝)之核對結果判斷資料之正當性。 -在此處使用圖4來說明與上述系統構造分開,而與記憶 卡(100)之衣應用程式等之提供有關之參加纟之關係。 如圖4所不,存在有5個參加者,亦即:參加者π〗)(以 下稱為記憶卡製造者)’進行記憶卡(⑽)之製造與發行; 32价專利說明書(補件)\96-11\96129517 200818839 荼加者⑽(以下稱為應用程式開發者),進行應用 Γ:爹:者(P3)(以下稱為服務提供者),進行服務之提 ^翏加者⑽(以下稱為伺服器運用者),進行舰器之 二;麥加者(P5)(以下稱為使用者),操料部機器 (200),而投入觸發信號對伺服器要求記憶卡之資料。另 外,在運用上存在有作為參加者⑽之記憶卡販賣者,將 ,憶卡販賣給使用者,但是因為與本實施形態無直接關 係,所以將其說明加以省略。 其=加者(P1〜P4)在從參加者⑽之觀感,並沒有 寸別之感覺,但是在錢上則假定為所實施之處理内容不 同而刀開考慮。百先,記憶卡製造者(ρι)從記憶卡之製 造起:在記憶卡設定必要之資料,進行至使在市場可以使 =己l卡m ’對應用程式開發者(p2)進行開發環境 =出或應用程式碼之署名附加。其次,應絲式開發者 (P2)開發共同的、通料可分配應用程式,可以對多個之 ·=務提供者(P3)通㈣提供應用程式碼。然後,服務提供 者(P3)在接受自應用程式開發者(p2)之應用程式碼中,加 入識別魏⑽#料之服務固有之資訊,錢應用程式 可以讀。服務提供者(P3)則假定為對上述之應用程式進 :呑丁製’而營運實際之服務者。舰器運用者(p4)依照來 外部機$(2GG)之要求’運用輸出f料之Web伺服器。 以上所說明之參加者模態只不過是一實例,在一個參加 ^任數個參加者之情況’或一個參加者之處理更被細分 之U况亦、被包含在本專利案之範圍。例如,亦有之情況 326\專利說明書(補件)\96-11\96129517 1〇 200818839 是記憶卡製造者(P〗)口推y 者進行記”之憶卡之製造,由另外之參加 I夕 ^ 有效化和開發環境之貸出,和應用程式之 署名附加。另外,亦可以徊〜^ 1瓞用枉式之 . 饭疋之6況是在上述之說明被省 服矛 =: 在店面進行記憶卡之有效化,或是將 == 叙賴,設定在記憶卡製造者所接受之 本另外I,亦可考慮之情況是服務提供者(P3)或記憶 衣w (P1)兼任應用程式開發者(P2)。 -人&使用圖5、圖6、圖7—a、圖7-b、圖7—c用來說 明各個參加者所進行之處理。 、如圖5所示,首先記憶卡製造者(ρι)事先產生記憶卡製 造者之RSA鍵對(製造者鍵對M〇1、M〇2)(s〇1)。然後,將 所產生之鍵中之製造者公開鍵(M〇1)設定(儲存)在記憶卡 (100)(S02)。與製造者公開鍵(M〇1)對稱之製造者秘密鍵 (M02)被使用在對於應用程式開發者(p2)所作成之應用程 式進打署名附加時。其次,記憶卡製造者(ρι)產生被儲存 在所製造之記憶卡(1〇〇)之RSA鍵對(記憶卡鍵對M〇3、 M04)(S03)。所產生之鍵中之記憶卡公開鍵(M〇3)分配給應 用程式開發者(P2)和服務提供者(P3)(s〇4)。另外一方 面,記憶卡秘密鍵(M04)被儲存在記憶卡(i〇〇)(s〇5)。另 外’記憶卡製造者(P1)所產生之製造者鍵(M01、M〇2)或記 憶卡鍵(M03、M04)可以為上述之rsA鍵,亦可以是利用橢 圓岔碼方式’ DH(Di f f ie-Hel Iman)鍵發送方式,艾爾給默 (ElGamal)密碼方式等其他之公開鍵密碼方式者。另外, 同樣地RSA之鍵長不只限於1024 bit、2048 bit,亦可 326\專利說明書(補件)\96-11\96129517 200818839 以依照記憶卡運用之安全政策自由地變更。 對應用程式碼之附A jg 寸加署名之進行是由應用程式開發者 (P2)申請’亦即附送到應用程式碼之記憶卡製造者 (P1)(S^6)。記憶卡製造者(ρι)確認被提出之應用程式之 動作内^假如沒有問題時,則作成被提出之應用程式碼 之散列資料、然後’對於所作成之散列資料,記憶卡製造 者(pi)使用製造者秘密鍵⑽2),產生署名(第)(s〇7)。 在此處產生之署名(A〇5)被附送到應用程 (P2)(S08)。 奴冷 另夕^,應用程式開發者(P2)受託來自記憶卡製造者(ρι) 之事前依照記憶卡(100)之開發環境和記憶卡公開鍵 (M03)。利用該開發環境,應用程式開發者(⑺進行與記 ,卡(1〇〇)對應之應用程式碼之開發(SG9)。在該步驟別9 完成之應用程式碼成為在步驟s〇6附送到記憶卡製造者 (P1)之應用程式碼(A02)。 " _應用程式開發者⑽’在將所作成之應用程式碼讓渡給 服務提供者(P3)時,使應用程式碼密碼化地傳遞。進行密 碼化之理由是使用記憶卡製造者(ρι)被分配之開發環二 而可以開發應用程式碼者只有應用程式開發者(ρ2)Χ,因此 =不對應用程式碼進行密碼化地傳遞給服務提供者 =,服務提供者(Ρ3)可以閱覽應用程式碼内容,會造成秘 密資訊之流出。不進行密碼化地傳遞程式碼,在^多個參 加者共同持有秘密資訊時,當有秘密資訊洩漏之際,責^ 發生在誰成為不明確,會造成不能區分責任之問題。、 326\專利說明書(補件)\96-11\96129517 12 200818839 與此相對地,在本實施例中,應、用程式開發者⑽利用 獨自作成之密碼用鍵⑽)(以下稱為應用程式碼密碼鍵) ^應用程式碼(術)㈣化,絲產生被密碼化之應用程 ,碼(A03)(S10)。然後,應用程式開發者(p2)利用事前分 配之記憶卡公開鍵⑽)使應用程式碼密碼鍵⑽)密碼 化,產生被密碼化之應用程式碼密碼鍵(A〇4)(sm。然後 ^用私式開發者(P2)將被密碼化之應用程式碼⑽3),被 丨松碼化之應用程式碼密碼鍵(綱),和應用程式碼之署名 ⑽5),讓渡給服務提供者⑽(S12)。服務提供者(p3) 热法對接受到之任何密碼資料(A〇3、A〇4)進行解碼。 其次,使用圖6用來說明服務提供者(p3)所進行之作 =。服務提供者(P3)將接受自應用程式開發者(p2)之應用 程式碼,個別地作成訂製之應用程式資料⑽2)(以下作為 個別初始資料)(S2G)。另外,對於所作成之全部之資料, 對應用程式1個i個而個別地變更資料,或是對某一個資 料進行共同化等,依照服務之運用政策之情況,不要考 1。當服務提供者(P3)作成個別初始資料(H〇2)之情況 =’、需要接受來自另外途徑之應用程式開發者(p2)之應用 私式之外部格式。個別初始資料之資料構造之實例如圖8 7不,最初之100 byte(邏輯位址〇_99)為識別資訊,其 人之1000 byte(邏輯位址100-1099)為自己證明書資料, ^人之byte(邏輯位址1100-2099)為路徑證明書資 其次之3000 byte(邏輯位址21〇〇-5099)為檔案系統 貝汛,係從應用程式參照之外部規格而成。在資料之開始 326\專利說明書(補件)\96·11\96129517 13 200818839 地點設定有表示長度之資訊,由應用程式參照表示該區域 至何處為有效之資料。 回到圖6,服務提供者(P3),與應用程式開發者(p2)同 樣地,利用獨自作成之鍵(HO 1)(以下稱為個別初始資料穷 碼鍵)使所作成之個別初始資料(H02)密碼化,用來作成被 密碼化之個別初始資料(H03)(S21)。然後服務提供者(p3) 利用事前從記憶卡製造者(P1)分配之記憶卡公開鍵 (M03),使個別初始資料密碼鍵(H01)密碼化,用來作成被 ⑩密碼化之個別初始資料密碼鍵(H04)(S22)。這時,服務提 供者(P3)對所作成之個別初始資料(H02)產生散歹,j (H05)(S23)。 服務提供者(P3)利用所產生之散列(H05)、接受自應用 程式開發者(P2)之署名(A05)、和共同資料(H〇6),產生管 理資料(H07)。在此處之共同資料(H〇6)由服務提供者(p3) 作成(S24),包含有用以識別應用程式之識別資訊,或著 _作權資訊等之應用程式管理資訊’與服務提供者資訊等。 在圖9記載有管理資料(H07)之格式實例。 ' 月良矛务提彳共t(P3)利用獨自#成之鍵(以下稱為管理資料 密碼鍵⑽8))使管理資料⑽υ密瑪化,用來作成被密碼 化之管理資料(H〇9)(S25)。然後’服務提供者(ρ3)使用事 前從記憶卡製造者(Ρ1)分配之記憶卡 > 八„^/ 、 下之公開鍵(Μ03),使 管理資料密碼鍵(Η08)密碼化,用來作土、扯~ 卜 1开成破岔碼化之管理 資料密碼鍵(H10)(S26)。 另外,個別初始資料密碼鍵(H〇i ) & #饰_ 」和官理資料密碼鍵 326\專利說明書(補件)\96-11\96129517 14 200818839 (H08)因為是由服務提供者(P3)本身作成和管理,所以可 以設置相同者,亦可以分別設置。在分別設置之情況時, 會增加管理之勞力,但是可以使防止鍵洩漏之安全對策更 強固,所以在本實施例中所記載者是分別設置之情況。 服務提供者(P3)對伺服器運用者(P4)分配:接受自應用 程式開發者(P2)之密碼化之應用程式碼(A03)、密碼化之 應用程式碼密碼鍵(A04)、密碼化之個別初始資料(H03)、 密碼化之個別初始資料密碼鍵(H04)、密碼化之管理資料 (H09)、和密碼化之管理資料密碼鍵(1110)(827)。另外, 伺服器運用者(P4)無法對接受到之所有密碼資料(A03、 A04、H03、H04、H09、H10)進行解碼。 在本實施例中,所說明之情況是使用在應用程式碼密碼 鍵(A01)、個別初始資料密碼鍵(H01)、和管理資料密碼鍵 (H08)之3個鍵之密碼演算法,考慮到與資料之加密/解碼 有關之時間或鍵長,而使用共同鍵密碼方式。但是,不只 馨限於共同鍵密碼方式,亦可以使用公開鍵密碼方式。另 外,在本實施例中是使用共同鍵密碼方式之AES,但是並 不只限於此種方式,亦可以使用DES或T-DES、MISTY、 Came 11 i a、RC6等習知之共同鍵密碼方式。另外,假如記 憶卡對應到密碼方式時,亦可以對應到今後公開發表之共 同鍵密碼方式。 其次,使用圖7-a進行說明。伺服器運用者(P4)將在圖 6之S27接受到之資料登錄在伺服器(300)之記憶手段 (3003) (S30)。在登錄時,伺服器(300)需要知道自服務提 326\專利說明書(補件)\96-11\96129517 15 200818839 = :P3)所接受之資料是對應於那一個記憶卡之那一個 ^^^憶卡種別或版本資訊之#訊之實例有記憶卡 之識別資訊是外部機器(_從記憶 服-之二對伺服器(期要求資料時-起發信到飼 I;:::伺服器⑽)為著要將與上述識別資訊對應 =個之^化資料發㈣料機器,f要事前得 二;Γ議從服務提柳 以另外途徑通知之資訊。 料总輸出之版本魏和與其對應之伺服器上之資 例以圖1(3表示。記憶卡為著輸出上述之 :=(在圖10中為記憶卡⑼,將命令以規定之方式 吏4卡,識別資訊,湘與該命令對應之回應資料,通 口夕部機器。命令是在記憶卡所搭載之應用程式或通信層 ,中所規定於協商時而被授受者。另外,在只運用i個版 之把憶卡之情料,^;需要在事前交換記憶卡之種別或 版本資訊。 、=服器《ΟΟ)對於來自外部機器⑽)之資料要求,使發 达貧料之順序成為管理資料密碼鍵、管理資料、個別初始 貧料密碼鍵、個別初始資料、應用程式碼密碼鍵、應用程 式I之砸序。另外’上述之順序在記憶卡内儘可能不暫時 保^資料,適㈣序處理,當在記憶卡存在有充分之暫時 圮憶區域之情況時,並不限定為此種者。 人,圮憶卡(100)和外部機器(200)之間之通信流程以 圖12表示。以下使用圖7—a進行說明。 326\專利說明書(補件)\96-11\96129517 16 200818839 首先,在記憶卡(100)、通信手段(1〇〇1)經由外部機器 (200)接收被密碼化之管理資料密碼鍵(H1〇)(c〇i),將其 傳遞給命令解釋手段(1002)。命令解釋手段(1〇〇2)檢查上 述被密碼化之管理資料密碼鍵(H1〇)所具有之命令,解釋 該命令表示什麼,或為何種目的而使用。在本實施例中, 命令之内容假定為對記憶卡(1〇〇)之應用程式之安裝時, 記載以下之動作。命令解釋手段(1〇〇2)對數值計算手段 _ (1004)通知有應用程式之安裝,傳遞接收之資料。數值計 算手段(1004)經由記憶控制手段(1〇〇3)取得記憶手段 (1 005)所保持之記憶卡RSA秘密鍵(M〇4),利用加密^解碼 手段(1006)對接收之資料進行解碼(S31)。亦即,在S3i, 記憶卡(100)使用記憶卡秘密鍵(M〇4)對被密碼化之管理 資料密碼鍵(H10)進行解碼,用來取得管理資料密碼鍵 (H08)。數值汁异手段(1〇〇4)經由記憶控制手段(1〇〇3)利 用δ己k手^又(1005)保持被解碼之管理資料密碼鍵(H〇8 )。 ⑩假如上述之處理沒有問題地進行時,記憶卡(1 〇 〇 )對外部 機器(200)和伺服器(3〇〇)輸出含有表示正常結束之碼 (C02) 。 * 其次,通信手段(1〇〇1)經由外部機器接收被密碼化之管 理資料(H09)(C03)。數值計算手段(1〇〇4)使用上述之管理 資料密碼鍵(H08),以加密/解碼手段(1〇〇6)進行被密碼化 之管理資料(H09)之解碼,用來取得管理資料 (H07)(S32)。利用解碼所獲得之管理資料(H〇7)因為依照 預先規定之格式(圖9),所以數值計算手段(1〇〇4)依照上 326\專利說明書(補件)\96-11\96129517 17 200818839 述格式讀出資料。^均 卡内是否未伴右Λ 程式用之資訊用來檢查在記憶 即,夺悟丰/、目同之識別資訊之應用程式(S33)。亦 (_i L MW咖從管理資料(則取得共同資料 門顯日士其内容。然後記憶卡(100)假如確認之結果有 =’就使處理停止,沒有問題時就繼續。具體地:有 在已有相同識別資邦 主 、e U况日守,亦即,從管理資料(H07) t付:貧料⑽6),確認内容之結果,在有問題之情況 β值十异Γ段(1004)中止(停止)安裝處理。然後,在 ° π手奴(1〇〇4)將結果輸出到外部機器(200)時 (⑽),輸出不是正常結束’識別資訊有重複之錯誤碼。 假如沒有4複時,經由記憶控制手段(igg3)將共同資料 ⑽6)暫時儲存在記憶手段(刚5)(S34)。另外,不只限於 上述之錯誤’在有異常動作之情況時,數值計算手段(_) 輸出表不事前與外部交換之信息之碼。 其次使用® 7-b進行說明。在記憶卡(1〇〇)中,通信手 #段(1001)經由外部機器(200)接收被密碼化之個別初始資 料狁碼鍵(H04)(C05),將其傳遞給數值計算手段(1〇〇4)。 數值計算手段(1004)使用被記憶手段(1〇〇5)保持之記憶 卡RSA秘密鍵(M04),利用加密/解碼手段(1 〇〇6)對被密碼 化之個別初始資料密碼鍵(H04)進行解碼,用來取得個別 初始資料密碼鍵(HOI )(S35)。記憶卡(〗〇〇)利用記憶手段 (1005)保持被解碼之個別初始資料密碼鍵(H〇i)。其次, 通信手段(1001)從伺服器(300)經由外部機器(200)接收 被密碼化之個別初始資料(H03) (C07)。通信手段(1001) 326\專利說明書(補件)\96-11\96129517 18 200818839 將上述資料傳遞給數值計算手段(1004)。數值計算手段 (1004)使用上述之個別初始資料密碼鍵(H〇3),利用加密/ 解碼手段(1 006)進行被密碼化之個別初始資料(H〇3)之解 碼,而取得個別初始資料(H〇2) (S36)。個別初始資料(H〇2) 之内容是後面所述之解釋應用程式碼(幼2)者,不是解釋 記憶卡(100)所必要者。數值計算手段(1〇〇4)利用散列產 生手段(1 009)產生被解碼之個別初始資料(H〇2)之散列 _ (S37),使用核對手段(1〇〇7)確認是否與管理資料所含之 個別初始資料之散列(刖5)相同(S38)。假如相同時,數值 計算手段(1004)經由記憶控制手段(i〇〇3)將個別初始資 料(H02)暫時儲存在記憶手段(1〇〇5)(S39)。在不同之情況 時,數值計算手段(1〇〇4)中止安裝處理(S4〇)。記憶卡(1〇〇) 在將結果輸出到外部機器(200)、伺服器(300)時(C08), 輸出表示不是正常結束,散列有異之信息之錯誤碼。 其次使用圖7-c進行說明。在記憶卡(1〇〇)中,通信手 •段(1001)從伺服器(300)經由外部機器(200)接收被密碼 化之應用程式碼密碼鍵(A〇4)(c〇9),將其傳遞給數值計算 手4又(1004)。數值計算手段(1 〇〇4)使用被記憶手段(1 〇〇5) 保持之記憶卡rSA秘密鍵(M〇4),利用加密/解碼手段 (1 006)進行解碼,用來取得應用程式碼密碼鍵 (A01)(S41)。記憶卡(1〇〇)利用記憶手段(1〇〇5)保持被解 碼之應用程式碼密碼鍵(A〇1)。其次通信手段(1〇〇1)從伺 服器(300)經由外部機器(2〇〇)接收被密碼化之應用程式 瑪(A03)(C11)。通信手段(1〇〇1)將上述資料傳遞給數值計 326\專利說明書(補件)\96-11 \96129517 19 200818839 算手段(1004)。數值計算手段(1〇〇4)使用上述之應用程式 碼密碼鍵(AG1),利用加密/解碼手段(1_)進行被密碼化 之應用程式碼(A03)之解碼,用來取得應用程式碼 U〇2)(S42&)。由於應用程式碼(A〇2)是以事前由製造者確 〜動作為鈾提,所以不需要利用記憶卡(1 〇 〇 )重新地驗證 上述應用程式碼之動作。數值計算手段(1〇〇4)經由記憶控 制手段(1 003)將應用程式碼(A〇2)暫時儲存在記憶手段 ⑩(1005) (S43)。記憶卡利用散列產生手段(丨〇〇9)產生被解 碼之應用程式碼(A〇2)之散列(S44)。數值計算手段(1〇〇4) 使用衣造者之公開鍵(M〇1),利用加密/解碼手段(1⑽6) 對署名(A05)進行解碼,用來取得散列,並利用核對手段 )/、上述產生之應用程式碼之散列進行核對(S45 )。 饭如相同柃,數值計算手段(1〇〇4)將應用程式碼(a〇2)儲 存在记fe手#又(1 〇〇5)。在不同之情況,數值計算手段(1 〇〇4) 則中止安裝處理(S46)。數值計算手段(1〇〇4)在將結果輸 •,到^部機器(200)、伺服器(3〇〇)時(cl〇),輸出表示不 是正常結束,署名為不同之信息之錯誤碼。在相同之情 ,,=值計算手段(1〇〇4)確認所有之資料為正常,通知判 斷手2(1008),結束安裝處理。判斷手段(1〇〇8)接受署名 為,常之通知,判斷與署名一起被密碼化之個別初始資料 =政列,共同資料為正當,將與該應用程式相關之共同資 料、個別初始資料、應用程式碼變更成為可以在記憶卡内 之狀恶。具體地說,應用程式之狀態被記憶手段 笞里依妝來自外部機器(2 0 0 )之要求,數值計算手段 326^^^Β^·(Μ#)\96-11\96129517 20 200818839 由广憶控制手段(1_從記憶手段(1005)確認 =狀悲’假如表示可作為應用程式進 段(祕)之動作成為叫出應用程式碼,將心= 段(1_之命令傳遞給應用程式碼。 ^釋手 下载、安裝方法是在最終之信賴點之應用程式 馬之署名確認時,接受署名確認為正 與署名一起被儲在名宓版吹w ϋ μ彳吕賴 為作賴^^ 個別初始資料之散列,成 施加,署名產生所使用之制、貝科由製造者 生所使用之製造者之秘密鍵不被儲存在記情 ί二Π出現在市場,所以茂漏之危險性低。另外,: 生Γ所It開發者(Ρ2)、服務提供者⑽獨自進行鍵之產 ^所以在任一方將鍵洩漏之情況時,不必擔心 文到,響。另外’獨自產生之鍵分配之方‘因為採用公 =鍵::::鍵所:在應用程式開發者間、服務提供者 才v:f只有具有記憶卡秘密鍵之記憶卡 其次說明進行上述資料之更新之步驟。 慎于互i目認證之情況時’因為沒有防止飼服器、記 .一目、為凡全一模一樣之方法,所以伺服器不能管理 ^任-記針應用程式之安裝,記憶卡不 之應用程式。因此’在更新記憶卡二應用 者二配=日",記憶卡不能確認是否為從相同之服務提供 2酉士己之應用程式。因此’一旦將應用程式削除,可以再 又女衣’但疋在更新時因為不能證明與最初之應用程式之 3m9mmmif)\96^11\96129517 21 200818839 關連性,所以使一部 變更資料處理部之更新心=留在記憶卡,不能實現只 使用上述之下載,安丄為,、問題。因此,以下說明當 進行外部認證,驗證:自:f新已安裝之應用程式時’不 更新,實以新處理之;之服務提供者之制程式之 庫用铲:中存在有上述方式之管理資料、個別初始資料、 :之3個。管理資料是用來错存與個別初始資料 連之資料而必需存在者,但是亦存在有 /、更新個別初始:貧料或應用程式碼之情況。 別初妒i:们Γ初始貝料之情況時,在管理資料中,將個 二貝;斗之散列⑽5)和被密碼化之個別初始資料一起 $心碼化之個別初始資料係將所更新之應用程式識 別賴(共同資料)⑽6)儲存並使其密碼化。在只更新應 淨式馬之f月况日年,在官理資料中,將應用程式碼之署名 矛被山馬化之應用私式瑪—起發信,該密碼化之應用程式 ,碼係將所更新之應用程式識職訊(共同㈣)(刪)儲存 並使其密碼化。 如上所述,本發明之下載、安裝方法因為在署名資料設 置“賴點,所以在只更新個別初始資料之情況時,未含有 署名資料(A05),記憶卡不能確立信賴性。因此,在準備 =行更新之情況之最初之安裝時,—起保存侧初始資料 在碼鍵,在更新日守,不是從利用公開鍵密碼化之鍵資料進 行鍵之解碼,而是利用被預先保持在記憶卡内之個別初始 貢料密碼鍵進行解碼。可以使用只有服務提供者知道之個 326\專利說明書(補件)\96-11\96129517 22 200818839 別初始貧料密碼鍵,經由使被解碼之資料散列與利用管理 資料送到之散列-致,可以明白是最初安裝之服務提供者 (P3):或是具有以其為準之持有資訊之代理之服務提供 者。經由使用此種方法,不進行利用記憶卡之外部認證, 或利用飼服器之應用程式管理,只利用記憶卡,可^限 參加者只能更新與在最初之安裝時相同之服務提供者。 對於應用程式碼,利用上述之方法可以使更新處理只限 安裂時之應用程式開發者(p2)。在應用程式碼因 為八有署名(A05),所以不能更改應用程式碼本身 新時看不出與個別初始資料⑽2)之關連性,所於 =憶:^有已安裝過之其他之個別初始資料之應用程^ ’”、了以’、替換應用程式碼部份而參照其他之應用程式之 =別初始資料。因此’對於湘上述方式之對策進行更新 者附加限制成為非常重要。 /一己憶卡(_和外部機器(_之間之通信流程以圖14 ’二=圖心、圖15,來說明各個參加者所進行 由發者再度開發應用程式碼,該應用程式碼經 之===入到伺服器運用者,對於成為密碼資料 準備比;;時,唯一二部份f處理’當與新安裝之資料 料之部p 一同疋服各提供者不產生個別初始資 部: ’二官理資料未包含有個別初始資料之散列之 B,所以在流程之說明加以省略。 】之 、’先使用圖15-a進行說明。飼服器運用者(μ)以從 326、專利說明書(補件麵m96129517 ^ 200818839 服務提供者(P3)納入之被密碼化之應用程式碼以⑽)、被 密碼化之管理資料(H09)、和被密碼化之管理資料密碼鍵 (H10)作為更新用應用程式,將其登錄在伺服器 (300)(Z00)。這時,為著因應來自外部機器(2〇〇)之要求, 附加更新用應用程式之版本資訊或說明等,可以從外部明 確地分辨。另外在來自外部機器(2〇〇)之更新要求預先包 含有某些資訊之情況時,伺服器(3〇〇)依照上述資訊配信 籲應用程式。這時,在從外部機器(2〇〇)發信之上述資訊成 為應用程式之識別資訊或被儲存在記憶卡之現在之應用 程式之版本資訊、記憶卡識別資訊等。 首先,在記憶卡(100)、通信手段(1〇〇1)經由外部機器 (200)接收來自伺服器(3〇〇)之被密碼化之管理資料密= 鍵(Η10)(Ζ01),將其傳遞給命令解釋手段(1Q〇2)。命令解 釋手段(1002)檢查上述資料所具有之命令,解釋該命令表 不什麼,或以何種目的而使用。命令之内容記載應用程式 ⑩,之更新處理和假^之以下之動作。對於判別更新作業之 15伤八方法有·確認是否有利用命令解釋手段(1〇 〇2)之更 ’、斤处里之方法,和進行安裝處理之最初處理,確認與應用 程式之識別號對應之應用程式之狀態,以其次進行之處理 2為更新處理,記憶卡(_)自動進行韻之方法。在本 貝施例中所$載之情況是糊命令進行解釋,用 處理内容。 。7解釋手段(⑽2)對數值計算手段(刚4)通知應用 私式馬之更新處理,讓渡接收資料。數值計算手段⑴⑷ 326\專利說明書(補件)\96-11\96129517 0Λ 200818839 經由記憶控制手段(1003)取得記憶手段(1〇〇5)所保持之 圯fe卡RSA秘密鍵(M04),利用加密/解碼手段(1〇〇6)對接 收貝料進行解碼,用來取得管理資料密碼鍵(H〇8)(S5l)。 數值計算手段(1〇〇4)經由記憶控制手段(1〇〇3)將被解碼 之管理資料密碼鍵(H08)保持在記憶手段(1〇〇5)(351)。假 如上述之處理沒有問題地進行時,對外部機器(2〇〇)、伺 服裔(300)輸出具有表示正常結束之碼(z〇2)。 _其次,通信手段(10〇1)經由外部機器(200)接收來自伺 服器(300)之被密碼化之管理資料(H〇9)(z〇3)。數值計算 手段(1004)使用上述之管理資料密碼鍵(H〇8),利用加密/ 解碼手段(1006)進行被密碼化之管理資料(H〇9)之解碼\ 用來取得管理資料(H07)(S52)。被解碼之管理資料(η〇7) 因為依照預先規定之格式(圖9),所以數值計算手段 依照上述格式讀出資料。在更新之情況時,不是埋入所有 之貧料,若有包含在更新時所必要之資訊即可。在本實施 φ例之情況,因為針對應用程式碼之更新,所以可以不記載 個別初始資料之版本資訊、個別初始資料之大小、和個別 初始資料之散列’至於應用程式識別號長度、應用程式識 別號、應用程式碼之版本資訊、應用程式碼大小、和應用 程式碼之署名(A05)則是必須的。識別應用程式用之資 訊,用來檢查更新之應用程式是否在記憶卡(1〇〇)内 (S53)。另外從記憶手段(1005)所保持之應用程式之狀 態,用來確認更新對象之應用程式是否保持在可更新狀 態。在沒有相同之識別資訊之情況或不是可更新狀態之情 326\專利說明書(補件)\96-11\96129517 25 200818839 況時,數值計算手段⑽4)中止安裝處理。當數值計瞀手 段(1004)將έ士果於山1 田双值4开手 f、、,°果輪出到外部機器(200)、伺服器(3〇〇)時 r二,是正常結束,對象應絲式^存在錯誤碼。 應用程式存在時,記憶卡(_經由記憶控制手 )將共同資料暫時儲存在記憶手段(聰泊⑷。 出声一室^限疋為上述之錯誤’在有異常動作之情況,輸 出表不事前與外部交換之信息之碼。 其次使用圖15-b進行說明。在記憶卡(刚)、通信手段 (1001)、’’:由外部機器(200)接收來自伺服器⑽〇)之被密 碼化之應用程式碼(AG3)(ZG51)。通信手段⑽ο將上二 資料傳遞給數值計算手段(聰)。數值計算手段(刪) =己,手段(1_自更新對象之應用程式之識別號和應 用各式碼之更新之資訊,取得在最初之資料儲存時將資料 解碼後之應用程式碼密碼鍵⑽1)(S55)。使用上述之應用 程式碼密碼鍵⑽),利用加密/解碼手段(_)進行被密 ,碼化之應用程式碼(AG3)之解碼(S5 6)。由於應用程式碼是 以事前由製造者確認動料錢,所以不需㈣用記憶卡 (100)重新地驗證上述應用程式碼之動作。數值計算^段 (10 0 4)經由記憶控制手段(i 〇 〇 3)將應用程式碼暫時儲存 在記憶手段am)(S57)。記憶卡(_利用散列產生手段 (1〇〇9)產生被解碼之應用程式碼(A02)之散列(s58)。數^ 計算手段(1004)使用製造者之公開鍵(M〇1),利用加密/ 解碼手段⑽6)對署名(AG5)進行解碼,用來取得散列, 利用核對手段⑽7)與上述產生之制程式碼之散列進 326\專利說明書(補件)\96·11\96129517 200818839 行核對(S59)。假如相同時,數值計算手段⑽4)將岸用 程式碼(A02)儲存在記憶手段(1〇〇5)。在不同之情況時, 數值計算手段(1_中止安裝處理⑽)。數值計算手段 (1 〇〇4)在將結果輸出到外部機器(2〇〇)、飼服器(3〇〇)時 Z06),輸出表示不是正常結束,署名為不同之信息之錯 誤碼。在相同之情況時,數值計算手段(ι〇〇4)確認所有之 ㈣為正常,並通知判斷手段(1008),結束安褒處理。判 斷手段(10W接受署名為正當之通知,判斷與署名一起被 松碼化之共同資料為正當,將與該應用程式相關連之此同 貧料、應用程式碼變更成為可以在記憶卡内動作之狀態。 另外,在上述之說明中,對於外部機器(200 間之通信路徑並未詳細記載,但是記 = ⑽統之通信路徑,亦即:可以高速存取記憶部= 二要事前指定區域之通信路徑(以下稱為高速通信路 =、)’ t速度Μ之在内料行轉區域指定之通信路徑 (以下稱為低速通信路徑)。 在因,、記憶卡為多個之通信方式之情況時,會有依照其 =内谷在安裝途中切換方式之情況。在祠服器上之資料 被狁碼化之情況時,伺服器、外部機器不 不能把握切換之時序。另外,翎服哭而姑—古^ ^ 時序作為別的平文資^心1:使在事前具有切換 十文貝%,在經由外部機器指定切換之 ^不能認證外部機器之記憶卡會有不能信賴其命令之問 因此’提供即使使用上述之下載、安褒方法,亦可以 適當地動態切換記憶卡所具有之多種通信方法之方法。 326\專利說明書(補件)\96-11\96129517 27 200818839 。己卡(100)之儲存有用以解釋内容之資料之管理資料 ⑽7)需要使用低速通信路徑寫人資料,但是記憶卡不用 以解釋内容之個別初始#料⑽2)、應用程式碼(搬)可以 使用高速通信路徑寫入資料。特別是在個別初始資料 繼)、應用程式碼(則為大容量之情況,其效果很大, 可以達成使安裝時間之縮短。另外,在分為低速通信路和 和:速通信路徑之情況時’雖不確定該資料從正常之外部 •機M200)送來’但是該部份可以保障上述署名資料⑽5) :口上述散列⑽5)與2個通信路徑之關連性而不會有問 題0 記憶卡保持2系統通信路徑之情況時之記憶卡(100)和 外部機器(200)之間之通信流程以圖13 Λ示,下面使用圖 如、圖16-b、圖16_c用來說明各個參加者所進行之處 理流程。 首先使用圖16-a進行說明。在記憶卡(1〇〇)、通信手段 • (1001)經由外部機器(200)接收來自伺服器(3〇〇)之被密 碼化之管理資料密碼鍵(H1〇)(c〇1),將其傳遞給命令解釋 手段(1002)。命令解釋手段(1〇〇2)檢查附加在上述資料之 命令’解釋該命令表示什麼和為何種目的而使用。在本實 施=中’命令之内容記載對記憶卡之應用程式之安裝,二 假定以下之動作。命令解釋手段(1〇〇2)對數值計算手段 (1004)通知有應用程式之安裝,傳遞接收資料。數值計算 手段(1004)經由記憶控制手段(1〇〇3)取得記憶手段⑴^ 所保持之記憶卡RSA秘密鍵(刪),利用加密/解碼手段 326\專利說明書(補件)\96-11\96129517 200818839 (1006)對接收資料進行解碼,用來取得管理資料密碼鍵 (H08)(S31)。數值計算手段(1004)經由記憶控^手段 (1003)利用記憶手段(1 〇〇5)保持被解碼之管理資料密碼 鍵(Η 0 8 )。假如上述之處理沒有問題地進行時,記恨卡(1 〇'〇 ) 對外部機器(200)、伺服器(300)輸出表示正常結~束之碼 (C02)。 ’、、、 其次,通信手段(1001)經由外部機器(2〇〇)接收被密碼 _化之官理資料(H09)(C03)。數值計算手段(1〇〇4)使用上述 之管理資料密碼鍵(H08),以加密/解碼手段(1〇〇6)進行被 密碼化之管理資料(H09)之解碼,用來取得管理資料 (H07)(S32)。被解碼之管理資料(H〇7)因為依照預先規定 之格式(圖9),所以數值計算手段(1〇〇4)依照上述之格式 讀f資料。識別應用程式用之資訊用來檢查在記憶卡(1〇〇) 内是否已存在保有相同之識別資訊之應用程式(S33)。在 已有相同識別資訊之情況時,數值計算手段(1〇〇4)中止安 φ裝處理。當數值計算手段(1〇〇4)將結果輸出到外部機器 (200)、伺服器(3〇〇)時(C04),輸出表示不是正常結束, 識別資訊有重複之錯誤碼。假如沒有重複時,經由記憶控 制手段(1003)將共同資料暫時儲存在記憶手段 (l〇〇5)(S34)。另外,並不只限定在上述之錯誤,在有異 ΐ動作之情況時,輸出表示事前與外部交換之信息之碼。 其次使用圖16-b進行說明。在記憶卡(100)、通信手段 (1001)經由外部機器(2〇〇)接收被密碼化之個別初始資料 密碼鍵(H04)(C05),將其傳遞給數值計算手段(1〇〇4)。數
專利說明書(補件)\96-11\96129517 9Q 200818839 值計算手段(1004)使用記憶手段(1005)所保持之記憶卡 RSA秘密鍵(M04),利用加密/解碼手段(1〇〇6)進行解^, •用來取得個別初始資料密碼鍵(H01)(S35)。利用記憶卡内 ,之圯憶手段(1005)保持被解碼之個別初始資料密碼鍵 (H01)。數值計算手段(1004)判斷下一個之個別初始資料 不是使用低速通信路徑而是使用高速通信路徑接收,對來 自記憶控制手段(1003)之資料進行展開,取得位址資訊, 響並通知區域控制手段(1010)(S80前段)。數值計算^段 (1004)將被解碼之個別初始資料密碼鍵(H〇1)通知區域控 制手段(1010)。區域控制手段(1010)保持接收到之位址資 訊,產生與位址資訊對應之外部公開用之區域區塊碼和區 域大小(以下將上述之2個資訊合稱為區域資訊)(S8〇後 段)’將其發信到數值計算手段(1 〇〇4)。數值計算手段 (1004)將上述區域資訊輸出到外部機器(2〇〇)(D〇1)。區域 控制手段(1010 )設定成將接收到之個別初始資料密碼鍵 _(H01)作為解碼用鍵。 外部機器(200)使用接收到之區域資訊,利用高速通信 路徑,將用來使寫入區域區塊碼和寫入區域大小(寫入大 小)通知記憶卡(1 〇〇)之命令(以下作為區域資訊設定命令) 發k (D02)。區域大小亦可以小於所通知之大小。通信手 段(1001)接收上述區域資訊設定命令,將其資料發信到命 令解釋手段(1〇〇2)。命令解釋手段(1〇〇2)解釋上述區域資 訊設定命令,對區域控制手段(1〇1〇)通知區域區塊碼和寫 入大小。區域控制手段(1〇10)確認區域區塊碼並設定寫入 326\專利說明書(補件)\96_ 11 \96129517 30 200818839 大小(S81)。在區塊碼不同之情況時,或大小大於預先通 知之大小之情況時成為錯誤。 其次通信手段(1001)接收使用高速通信路徑發信之被 密碼化之個別初始資料(H03)(D03)。通信手段(1001)將上 述資料傳遞給命令解釋手段(1002)。命令解釋手段(1002) 將接收到之資料發信到區域控制手段(1 〇丨〇 )。 區域控制手段(1010)使用上述之個別初始密碼鍵(H01) 籲利用加密/解碼手段(1006)進行被密碼化之個別初始資料 (H03)之解碼,用來取得個別初始資料(H〇3)(s82)。然後, 區域控制手段(1〇1〇)將被解碼之個別初始資料(H〇2)暫時 儲存在記憶手段(1005)(S84)。區域控制手段(1〇1〇)利用 散列產生手段(1009)產生個別初始資料(H〇2)之散列 (S83)。 其次,通信手段(1〇〇1)經由外部機器(2〇〇)接收使應用 程^密碼鍵密碼化之資料(A〇4)(D〇4),並將其傳遞給數值 φ計f手段(1004)。數值計算手段(1〇〇4)取得利用區域控制 $段(1010)產生之散列,使用核對手段(1〇〇7)確認是否與 官理貧料所含之個別初始資料之散列(H〇5)相同。 然後,轉移到圖16-c。在利用區域控制手段(1〇1〇)產 生之散列,和管理資料所含之個別初始資料之散列 不同之情況時,數值計算手段(1〇〇4)中止安裝處理。記憶 卡(100)在將結果輸出到外部機器(2〇〇)、伺服器(3〇〇)時 (D05),輸出表示不是正常結束,散列不同之信息之錯誤 碼(S86)。數值計算手段(1〇〇4)使用被記憶手段(1〇〇5)保 326\專利說明書(補件)\96-11 \96129517 ^ 200818839 持之記憶卡RSA秘密鍵(M04),利用加密/解碼手段(1〇〇6) 對被密碼化之應用程式密碼鍵(A〇4)進行解碼,用來取得 應用程式碼密碼鍵(A01)(S87)。數值計算手段(1〇⑷判^ 下一個之應用程式碼是不使用低速通信路徑而是使用高 速通信路徑碼之接收,從記憶控制手段(1〇〇3)取得將碼展 開之位址資訊,並通知區域控制手段(1〇1〇)。數值計算^ 段(1〇〇4)將被解碼之應用程式碼密碼鍵(A〇1)通知區=控 • 1 手段(1010)。區域控制手段(m〇)保持所接收到之位: 貝況’產生對位址資訊對應之外部公開用之區域區塊碼和 區域大小(以下將上述之2個資訊合稱為區域資訊),將i 發信到數值計算手段(1004)(S88)。數值計算手段(1〇〇4、) 將上述區域資訊輸出到外部機器(2〇〇)(D〇5)。區域 段(1〇1〇)設定成將接收到之應用程式碼密碼鍵(a〇i)作 解碼用鍵。 外部機器(200)使用接收到之區域資訊,利用高速通信 籲路徑,將用來使寫入區域區塊碼和寫入區域大小(寫入大 小)通知記憶卡之命令(以下作為區域資訊設定命令)發信 (_)。區域大小亦可以小於所通知之大小。通信手: (1001)接收上述區域資訊設定命令,將#資料發信到命令 解釋手段U002)。命令解釋手段(1〇〇2)解釋上述區域資訊 設定命令’將區域區塊碼和寫入大小通知區域控制手段 (1010)。區域控制手段(1010)確認區域區塊碼,並設定寫 入大小(S89)°在區塊碼不同之情況,或大小大於預先通 知之大小之情況成為錯誤。 326\專利說明書(補件)\96-11\96129517 32 200818839 其次通信手段(1001)經由外部機器(200)接收來自伺服 器(300)之使用高速通信路徑發信之被密碼化之應用程式 碼(A03)(D07)。通信手段(1001)將上述資料傳遞給命令解 釋手段(1 002)。命令解釋手段(〗〇〇2)將接收到之資料發信 到區域控制手段(1〇1〇)。 區域控制手段(1 〇 1 〇)使用上述之應用程式密碼鍵 (A01),利用加密/解碼手段(1〇〇6)進行被密碼化之個別初 馨始貧料之解碼,用來取得應用程式碼(A〇2)(S9〇)。區域控 制手段(1010)利用散列產生手段(1009)產生應用程式碼 (A02)之散列(S91)。數值計算手段(ι〇〇4)將被解碼之應用 程式碼(A02)暫時儲存在記憶手段(1〇〇5)(S92)。 其次,通信手段(1〇〇1)接收來自外部機器(2〇〇)之要求 核對之命令(D08),將其傳遞給數值計算手段(1〇〇4)。數 值計异手段(1004)取得利用區域控制手段(1〇1〇)產生之 散列,使用製造者之公開鍵(M01),利用加密/解碼手段 籲(1006)對管理資料所含之署名(A〇5)進行解碼,用來取得 散列,利用核對手段(1007)與上述取得之應用程式碼之散 列核對(S93)。在不同之情況時,數值計算手段(1〇〇4)中 止安裝處理。數值計算手段(1004)在將結果輸出到外部機 器(200)、伺服器(3〇〇)時(D09),輸出表示不是正常結束, 散列不同之#息之錯誤碼。在相同之情況,數值計算手段 (1004)對判斷手段(1〇〇8)通知署名為正常,並結束安裝處 理(S94)。判斷手段(1〇08)接受署名為正常之通知, 與署名一起被密碼化之個別初始資料之散列、共同資料為 326\專利說明書(補件)\96-11\96129517 33 200818839
到 正當’將與該應用程式相關連之共同資料、個別初始 料、和應用程式碼變更成為可以在記憶卡内動作之狀; 數值計以段(刪)將W正常結束之信息之竭^ 外口P 機裔(200)、伺服器(3〇q)(d〇9)。 在本發明中’外部機器(2〇〇)使用附加於來 ⑽)之輸出資料之區域資訊⑽、D⑹,可以得。知= 兩速通信路徑之時序和寫入之對象區域、對象區域大小。 鲁外部機H (2GG)將接收到之上述區域f訊發信到記憶卡 (100),其次使用尚速通信路徑將寫入之區域資訊和大小 傳達収憶卡⑽)⑽2、DG6)。再其次使用高速通信路 徑,將貧料(個別初始資料、應用程式碼)寫入 (100)(D03、D07)。 經由使用本發明,外部機器(200)只接收來自伺服哭 (300)之密碼資料就可以一次地通知所不知之資訊,^ =,纪憶卡(1〇0)是否具有多個之通信路徑,或在哪一個 φ %序切換低速通信路徑和高速通信路徑,在何處寫入資 之點。 ' " 外部機器(2〇〇)之上述之通信路徑之個數可以從記憶卡 (1〇〇)之識別資訊判別,對於時序,假如外部機器(2〇〇) 事前知道發信到記憶卡(100)之密碼資料之種別時,可以 切換。但是,對於寫入資料之區域則不能知道未取得來自 記憶卡(100)之資訊。因此取得上述區域資訊時之進行切 換作業’而不進行其他之方法,可以使效率良好。 另外,在應用程式開發者(P2)對記憶卡製造者(P1)申請 32轉利說明書(補件)\96-11\96129517 34 200818839 菸各之方法中,物理地、視覺地、社會地確認應用程式開 二(P2)之方法亦可以在系統之規定外,利用公共機關、 孟融機關等所實施之本人確認方法。另外,在配送所產生 2名之架構,或從記憶卡製造者⑽分配給應用程式開 =者(P2)之開發環境之配送之架構,亦同樣地採用一般之 勿配方法而未言及。另外,使用上述之開發環境,進行署 名之申請,在應用程式開發者先前之開發環境和製造者之 ^可以構建费碼對話期間(sess ion),配送署名,但是 開么環i兄之分配則非有正確之安全不能實現。 在本貫施财’參加者分為應用程式開發者、服務提供 逮/1伺服③運用者之3者,但是3者之處理内容可以構 建,為共同使用資料’亦可以構建成為個別使用資料,不 限定在對其進行配信之形態。在製造者附加最終之信用點 —:式之署名中,包含與其具有關連之資料信用地進 :女衣而成為本專利案之目的,上述之3者進行之處理内 、谷之變更,本發明不會受到任何影響。 另外,在本實施例中是對全部記憶卡設定 似秘密鍵(_),但是並不只限於此種方式者 f 卡設定個別之記憶卡RSA秘密鍵(M〇4)亦不會有問 、在此種^况,將與記憶卡RSA秘密鍵(M〇4)對應之八 開鍵證明書保持在記憶卡内,將該公開鍵證 =器。在飼服器侧,在驗證證明書之正當性之
:明書所含之公開鍵,可以使資料(個別初始資料、應用 程式碼)密碼化,所以可以將資料發送到個別之記憶卡V 32轉利說明書(補件)\96-11\96129517 35 200818839 另外,在本實施例巾是在記針設定記針製造者 ”1鍵(M01) ’但是並不只限於此種方式者,假如是受 ^己^製造者委讓署名處理權限之事業者,可以代理進行 土处理。在此種情況,記憶卡製造者在委讓權限之事業 ^之f開鍵對使用記憶卡製造者之秘密鍵,*發行證明 Γ罢:委讓之事業者使用本身之秘密鍵,在應用程式碼附 加署名。受委讓之事業者將製造者所發行之上述證明書發 达到把憶卡。記憶卡對於接收到之證明書,使用記憶 2㈣製造者之公開鍵⑽)進行證明書之驗證,假如 為正當時’使用證明書所含之公開鍵作為應用程 2署名驗證用鍵。當將包含有受委讓之事業者所產生之 =之密碼資料發送到記憶卡時,記憶卡因為使用上述署 用鍵’所以可以確認受委讓之事業者所產生之署名 之正當性。 卜纟本貝t例中所€载之產生散列之方法是使用單 ^函數’在先前技術中是指SHA—J或_、抓一 256等。 用之目的是以摘要地較少之資料量識別大規模之資 料,在上述資料已經报,丨B主 以原來之值比較即可。守’亦可以不需要產生散列,而 瑪二二^貝轭例所°己载之署名並非限於記載在公開鍵密 之^ ’兄作又如所利用之密碼演算法為共同鍵密碼方 2,署名即相當於信息認證碼(MAC: Massage Authentication Code)。關於 I 女, 例中是", 產生方法,在本實施 例中疋由作成散列’利用秘密鍵施加署名,但是所記載之 326\專利說明書(補件)\96-11\96129517 _ 36 200818839 產生上述散列之方法’在資料已經很小時,亦可以直接利 用上述資料。 . 另外’在本實施例巾,對於伺服ϋ和外部機ϋ之間之通 ‘ 2路徑’記載有HTTP & Η聰,但是並不只限於該種方 j與有線、無線無關地,只要是一般之飼服器和外部機 器之通信方法,對本發明不會有任何影響。因此,飼服哭 和外部機器可以獨自地隹 ^ 珣目地進仃猞碼通信,經由進行上述密碼 通^不f改變記憶卡之表現。 —本實施例所示之系統是本發明之安全記憶卡系統之一 貫例,系統内所使用之記憶卡相當於安 器相當於存取裝置。另外节产丰由私人 卜—钱 外5己卡内所含之記憶手段相當於 :=r—手― ^面已詳細地或參照特定之實施態#而說明本發 ^不脫離本發明之精神和範_,可以施加各種 或修正係為業者可明白。 更 j申請錢根據2_年8月1G日申請之日 ct業上之可利用性),、内合被取入此處作為參考。 本發明之安全記憶卡可以被利 之安全記憶卡。 利用作為接收,和保存資料 【圖式簡單說明】 圖1是飼服器、外部機器、和記憶卡之關係圖。 圖2是記憶卡構造圖。 观專利說明書(補件)\96·11\96129517 37 200818839 圖3是伺服器、外邱 ® 4.λ. ^ σΡ機裔、和記憶卡之構造圖。 圓4疋參加者之闕係圖。 圖5是應用程式開發者、服務提 和記憶卡之間之處理流程。 卡衣&者 二6是,服器運用者、和服務提供者之間之處理流程。 之門之产„運用者、伺服器、外部機器、和記憶卡 之間之處理流程a。 外部機器、和記憶卡 外部機器、和記憶卡 圖7-b是伺服器運用者、伺服器 之間之處理流程b。 圖7-c是伺服器運用者、伺服器 之間之處理流程C。 圖8表示個別初始資料之實例。 圖9表示管理資料格式之實例。 =10是籠器之資料儲存構造和記憶卡版本資訊之關 係圖。 圖Π是包含區域控制手段之記憶卡構造圖。 圖12是記憶卡與外部機器之間之通信流程。 圖13是2系統保持之記憶卡和外部機器之間之通信流 圖14是資料更新時之通信流程。 圖15-a是資料更新時之處理流程α。 圖15-b是資料更新時之處理流程b。 圖16-a是2系統保持之記憶卡之處理流程a。 圖16-b是2系統保持之記憶卡之處理流程匕。 326\專利說明書(補件)\96-11\96129517 38 200818839 圖16-c是2系統保持之記憶卡之處理流程c。 【主要元件符號說明】 100 記憶卡 200 外部機器 300 伺服器 1001通信手段 1 002命令解釋手段 1003記憶控制手段 胃1004數值計算手段 1 005記憶手段 1 006加密/解碼手段 1007核對手段 1008判斷手段 1009散列產生手段 1010區域控制手段 #2001通信手段 2002協定變換手段 2003暫時記憶手段 3001通信手段 3002記憶控制手段 3003記憶手段 P1 記憶卡製造者 P2 應用程式開發者 P3 服務提供者 326\專利說明書(補件)\96-11\96129517 39 200818839 P4 伺服器運用者 P5 使用者 P 6 記憶卡販賣者 M01 製造者公開鍵 M02 製造者秘密鍵 M03 記憶卡公開鍵 M04 記憶卡秘密鍵 A01 應用程式碼密碼鍵 胃A02應用程式碼 A03 密碼化應用程式碼 A04 密碼化應用程式碼密碼鍵 A05 署名 H01 個別初始資料密碼鍵 H02 個別初始資料 H03 密碼化個別初始資料 0HO4 密碼化個別初始資料密碼鍵 H05 從個別初始資料產生之散列 H06 共同資料 H07 管理資料 H08 管理資料密碼鍵 H09 密碼化管理資料 H10 密碼化管理資料密碼鍵 326\專利說明書(補件)\96-11\96129517 40