存儲裝置以及腳本執(zhí)行控制方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明的實施方式涉及存儲裝置以及腳本執(zhí)行控制方法。
【背景技術(shù)】
[0002]具有無線通信功能的SD卡不依靠主機設(shè)備的無線通信功能而能夠通過自己的無線通信功能來直接訪問云網(wǎng)站(site)。這樣的訪問云網(wǎng)站通過SD卡的腳本處理部執(zhí)行SD卡所存儲的腳本來執(zhí)行。
[0003]在此,腳本具有不需要編譯這樣的便利性。另一方面,由于無法隱藏源碼,所以容易被第三者改變。
[0004]因此,在以往的具有無線通信功能的SD卡中,存在腳本被第三者改變而用戶執(zhí)行了無意的腳本這種問題。
【發(fā)明內(nèi)容】
[0005]實施方式提供一種限制執(zhí)行無意的腳本的存儲裝置以及腳本執(zhí)行控制方法。
[0006]實施方式提供一種存儲裝置,具備:
[0007]計算部,其將第I腳本加密為第I散列關(guān)鍵字;和
[0008]存儲部,其存儲加密了第2腳本得到的第2散列關(guān)鍵字,
[0009]所述計算部對所述第I散列關(guān)鍵字與所述第2散列關(guān)鍵字進行比較,控制所述第I腳本的執(zhí)行。
[0010]另外,實施方式提供一種腳本執(zhí)行控制方法,包括:
[0011]使存儲部存儲加密了第2腳本得到的第2散列關(guān)鍵字,
[0012]將第I腳本加密為第I散列關(guān)鍵字,
[0013]對所述第I散列關(guān)鍵字與所述第2散列關(guān)鍵字進行比較,控制所述第I腳本的執(zhí)行。
【附圖說明】
[0014]圖1是表示本實施方式的存儲系統(tǒng)I的框圖;
[0015]圖2是表示圖1的存儲系統(tǒng)I中的存儲裝置2的工作例的流程圖;
[0016]圖3中的A是表示第I腳本為正規(guī)腳本的情況下的工作例的示意圖,圖3中的B是表示第I腳本是改變了的腳本的情況下的工作例的示意圖,圖3中的C是表示第I腳本是更新后的正規(guī)腳本的情況下的工作例的示意圖。
【具體實施方式】
[0017]以下,參照附圖來說明本發(fā)明的實施方式。本實施方式并非限定本發(fā)明。
[0018]圖1是表示本實施方式的存儲系統(tǒng)I的框圖。存儲系統(tǒng)I具有存儲裝置2和主機裝置3。存儲裝置2例如是具有無線通信功能的SD卡等。主機裝置3例如是數(shù)碼相機、便攜電話機、智能手機或個人計算機這樣的計算機終端。
[0019]存儲裝置2連接于主機裝置3,從主機裝置3接收電源供給。另外,存儲裝置2執(zhí)行與來自主機裝置3的訪問相應(yīng)的處理。
[0020]如圖1所示,存儲裝置2具備主機接口(I/F) 21、緩沖存儲器22和主控制部23。主機接口 21是連接主機裝置3與存儲裝置2的接口。另外,存儲裝置2具備存儲控制器24、NAND閃速存儲器25 (存儲部)、通信部26、隱藏信息存儲部27和簽名字符信息存儲部28。NAND閃速存儲器25具備腳本存儲部251以及散列關(guān)鍵字存儲部252。
[0021]主控制部23具備CPU231 (計算部)、R0M232和RAM233。另外,通信部26具備無線通信接口(I/F) 261、無線LAN信號處理部262、無線通信信號處理部263和天線264、265。另外,CPU231具備腳本處理部2311以及散列計算部2312。
[0022]緩沖存儲器22、CPU231、R0M232、RAM233、存儲控制器24和無線通信接口 261與共同的總線BI連接。另外,緩沖存儲器22與主機接口 21連接。
[0023]另外,存儲控制器24與NAND閃速存儲器25、隱藏信息存儲部27以及簽名字符信息存儲部28連接。另外,無線通信接口 261與無線LAN信號處理部262以及無線通信信號處理部263連接。另外,無線LAN信號處理部262與天線264連接,無線通信信號處理部263與天線265連接。
[0024]主機接口 21能夠與主機裝置3連接。主機接口 21在與主機裝置3連接的狀態(tài)下,在與主機裝置3之間進行命令的接收、數(shù)據(jù)的授受等。例如,主機接口 21伴隨來自主機裝置3的寫訪問,從主機裝置3接收寫入對象數(shù)據(jù)(例如,照片、動態(tài)圖像等)。
[0025]緩沖存儲器22暫時保存存儲裝置2進行處理的數(shù)據(jù)。例如,緩沖存儲器22暫時保存來自主機裝置的寫入對象數(shù)據(jù)。
[0026]NAND閃速存儲器25是能夠從外部自由進行讀寫訪問的用戶數(shù)據(jù)區(qū)域。例如,按照來自主機裝置3的寫訪問而向NAND閃速存儲器25寫入寫入對象數(shù)據(jù)。
[0027]存儲控制器24對NAND閃速存儲器25、隱藏信息存儲部27以及簽名字符信息存儲部28進行數(shù)據(jù)的寫入和/或讀出。例如,存儲控制器24對NAND閃速存儲器25進行按照來自主機裝置3的寫訪問的寫入對象數(shù)據(jù)的寫入和/或按照來自主機裝置3的發(fā)送指令的發(fā)送對象數(shù)據(jù)(例如,照片、動態(tài)圖像等)的讀出。
[0028]通信部26將存儲裝置2連接于外部網(wǎng)絡(luò)。外部網(wǎng)絡(luò)例如是支持HTTP、HTTPS的云網(wǎng)站(因特網(wǎng)上的服務(wù)器)等。
[0029]例如,存儲控制器24將從NAND閃速存儲器25讀出的發(fā)送對象數(shù)據(jù)發(fā)送給無線通信接口 261。然后,無線LAN信號處理部262將從無線通信接口 261取得的發(fā)送對象數(shù)據(jù)以無線LAN方式通過天線264發(fā)送到云網(wǎng)站。
[0030]另外,通信部26能夠?qū)⒋鎯ρb置2也連接于外部網(wǎng)絡(luò)以外的通信目標。具體而言,無線通信信號處理部263經(jīng)由無線通信接口 261取得存儲控制器24從NAND閃速存儲器25讀出的發(fā)送對象數(shù)據(jù)。然后,無線通信信號處理部263將所取得的發(fā)送對象數(shù)據(jù)以無線LAN以外的通信方式(例如,近程無線通信)通過天線265發(fā)送到便攜終端(例如,智能手機)。
[0031]主控制部23控制存儲裝置2整體的工作。主控制部23的控制通過CPU231執(zhí)行R0M232所存儲的固件(firmware)來進行固件支持預(yù)定的API (Applicat1n ProgrammingInterface:應(yīng)用程序編程接口)。
[0032]在此,API是對用于將某計算機程序的功能和/或進行管理的數(shù)據(jù)等從外部的其他程序調(diào)出并利用的順序和/或數(shù)據(jù)形式等進行了規(guī)定的規(guī)則。調(diào)出固件的一部分功能的短程序能夠按照這樣的API進行編寫。因為不需要對所有固件進行編程,所以在使用按照這樣的API的編寫的情況下,能夠削減固件的開發(fā)成本。
[0033]作為按照這樣的API的短程序,存在由腳本語言編寫的腳本。腳本使向計算機語言的轉(zhuǎn)換和/或可執(zhí)行文件的制作等的過程省略或自動化。因此,腳本是在編寫了該源碼之后能夠立即執(zhí)行的程序。
[0034]鑒于這樣的腳本的便利性,在本實施方式中,為了調(diào)出固件的一部分功能,在腳本存儲部251中存儲有第I腳本。并且,腳本處理部2311能夠執(zhí)行該第I腳本。其結(jié)果,固件的一部分功能能夠根據(jù)來自腳本處理部2311的調(diào)出而執(zhí)行。
[0035]此外,第I腳本例如是字符串數(shù)據(jù)等。另外,腳本處理部2311通過執(zhí)行第I腳本,也可以將執(zhí)行向隱藏的外部網(wǎng)絡(luò)進行訪問的功能的固件并執(zhí)行。
[0036]在此,第I腳本有時將取得向外部網(wǎng)絡(luò)訪問所使用的隱藏信息作為內(nèi)容。作為使用隱藏信息進行訪問的外部網(wǎng)絡(luò),例如有采用OAuth系統(tǒng)的云網(wǎng)站等。另外,隱藏信息是向外部網(wǎng)絡(luò)訪問所使用的應(yīng)隱藏的信息,例如是對用戶ID、密碼等進行了加密的訪問令牌(token)等。
[0037]這樣的向外部網(wǎng)絡(luò)訪問所使用的隱藏信息存儲在隱藏信息存儲部27中。因此,在第I腳本將取得隱藏信息作為內(nèi)容的情況下,第I腳本成為能夠向隱藏信息存儲部27訪問的腳本。
[0038]并且,在第I腳本是能夠向隱藏信息存儲部27訪問的腳本的情況下,腳本處理部2311通過執(zhí)行第I腳本,能夠訪問隱藏信息存儲部27來取得隱藏信息。進而,腳本處理部2311通過將所取得的隱藏信息經(jīng)由通信部26發(fā)送到云網(wǎng)站,能夠從云網(wǎng)站獲得訪問的許可。
[0039]如此,通過腳本處理部2311執(zhí)行第I腳本來取得隱藏信息,存儲裝置2能夠通過自己的無線通信功能來訪問外部網(wǎng)絡(luò)。例如,存儲裝置2能夠?qū)懭氲絅AND閃速存儲器25中的發(fā)送對象數(shù)據(jù)按照來自主機裝置3的發(fā)送指令而上傳到云網(wǎng)站。
[0040]但是,在不限制第I腳本的執(zhí)行的情況下,訪問了腳本存儲部251的第三者有可能會改變第I腳本、其結(jié)果導(dǎo)致第三者基于改變后的第I腳本而不正當?shù)厝〉秒[藏信息。并且,第三者有可能會濫用不正當?shù)厝〉玫碾[藏信息而不正當?shù)卦L問用戶上傳的數(shù)據(jù)。
[0041]因此,存儲裝置2為了限制由于第I腳本被改變而執(zhí)行無意的腳本,具備散列關(guān)鍵字存儲部252、簽名字符信息存儲部28和散列計算部2312。
[0042]具體而言,散列關(guān)鍵字存儲部252存儲有加密了第2腳本得到的第2散列關(guān)鍵字。
[0043]在此,第2腳本與未被改變的正規(guī)(即真正)的第I腳本一致。相反,第2腳本與改變后的第I腳本不同。
[0044]另外,第2散列關(guān)鍵字是與第2腳本唯一對應(yīng)的信息,是幾乎不可能從第2散列關(guān)鍵字解密第2腳本的不可逆的信息。第2散列關(guān)鍵字例如可以是基于密碼學(xué)的散列函數(shù)(單向函數(shù))的預(yù)定長度的位串等。
[0045]另外,第2散列關(guān)鍵字可以是與正規(guī)的第I腳本一起寫入到NAND閃速存儲器25中的數(shù)據(jù)。這樣的第2散列關(guān)鍵字以及正規(guī)的第I腳本的寫入可以在存儲裝置2的制造階段進行,或者也可以在更新的階段進行。
[0046]如果第I腳本以及第2散列關(guān)鍵字能夠更新,則能夠確保能夠進行符合其目的的自由改變這樣的腳本便利性。此外,第I腳本以及第2散列關(guān)鍵字的更新可以通過利用了通信部26的與服務(wù)器的通信、或利用了主機裝置3(例如,個人計算機)的通信功能的與服務(wù)器的通信來進行。另外,第I腳本以及第2散列關(guān)鍵字的更新可以伴隨后述的簽名字符信息的更新來進行。
[0047]簽名字符信息存儲部28存儲有能夠?qū)⒌?