專利名稱:打印機以及打印系統(tǒng)、數(shù)據(jù)接收裝置以及數(shù)據(jù)發(fā)送接收系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種打印機以及打印系統(tǒng)、數(shù)據(jù)接收裝置以及數(shù)據(jù)發(fā)送接收系統(tǒng),特別是一種確保發(fā)送給打印機以及數(shù)據(jù)接收裝置的數(shù)據(jù)的安全的打印機以及打印系統(tǒng)、數(shù)據(jù)接收裝置以及數(shù)據(jù)發(fā)送接收系統(tǒng)。
背景技術(shù):
目前,通過網(wǎng)絡共用打印機的打印系統(tǒng)使用越來越廣泛。也即,通過在1個網(wǎng)絡中,連接多個作為打印客戶端的計算機,同時將例如1臺打印機連接在該網(wǎng)絡中,能夠由1臺打印機接收來自多個打印客戶端的打印數(shù)據(jù),進行打印。
這樣的使用網(wǎng)絡的打印系統(tǒng)中,各個不同的用戶能夠從各個打印客戶端向打印機發(fā)送打印數(shù)據(jù),進行打印。
然而,如果打印機無條件地對打印客戶端所發(fā)送的打印數(shù)據(jù)進行打印,用戶就會不管打印機是否設置在所期望的場所都照樣進行打印。特別是,在打印機被從以前所使用的場所移動到其他場所的情況下,由于有時候作為網(wǎng)絡上的地址的IP地址等并沒有變更,因此就會由位于移動之后的場所的打印機,對所發(fā)送的打印數(shù)據(jù)進行打印。這種情況對于希望確保打印數(shù)據(jù)的安全的用戶來說,是不希望發(fā)生的。
另外,如果打印機無條件地對打印客戶端所發(fā)送的打印數(shù)據(jù)進行打印,對來自本來沒有使用該打印機進行打印的權(quán)限的打印客戶端的打印數(shù)據(jù),打印機也會進行打印。這種情況下,無法對能夠使用該打印機的打印客戶端進行限制,當然不太理想。特別是,考慮到有些用戶懷有不正當意圖而發(fā)送大量的打印數(shù)據(jù),因此有必要設置一些打印權(quán)限。
另外,例如有時候公司的某個部門所使用的打印機被移動到其他部門并使用。這種情況下,即使對以前具有使用該打印機進行打印的權(quán)限的打印客戶端,有時候也不希望賦予它們通過該打印機進行打印的權(quán)限。這種情況下,人們認識到使打印機側(cè)對來自打印客戶端的打印數(shù)據(jù),不進行打印的技術(shù)的必要性(參考特開平11-331144號公報)。
另外,通過操作網(wǎng)絡上的路線信息,在其他位置上設置同樣的打印機,并使用同樣的網(wǎng)絡地址,可以將其他打印機看作真正的打印機。
另外,有些打印機嵌入了用于認證打印機自身的證書,在廢棄這樣的打印機的情況下,必須將該打印機中所嵌入的證書可靠地刪除。然而,如果只將打印機的設置場所變更就讓打印機不能夠進行打印,與打印機的毀棄相比,能夠更安全地進行。
發(fā)明內(nèi)容
本發(fā)明為了解決上述以前的問題,目的在于提供一種通過根據(jù)打印機所設置的位置信息,對能夠打印的打印數(shù)據(jù)進行限制,確保打印數(shù)據(jù)以及打印機的安全的打印系統(tǒng)。另外,提供一種通過根據(jù)數(shù)據(jù)接收裝置所設定的位置信息,限制能夠處理的數(shù)據(jù),確保發(fā)送數(shù)據(jù)以及數(shù)據(jù)接收裝置的安全的數(shù)據(jù)發(fā)送接收系統(tǒng)。
為實現(xiàn)上述目的,本發(fā)明的相關(guān)打印機,處理打印數(shù)據(jù),具有打印機位置信息取得部,取得用來特定該打印機的設置場所的打印機位置信息;以及第1打印機位置信息取得部,從上述打印機位置信息取得部取得打印機位置信息,將其作為第1打印機位置信息;以及公開鍵生成部,使用至少包括上述第1打印機位置信息的口令,與給定的數(shù),生成公開鍵;以及打印數(shù)據(jù)接收部,接收由上述公開鍵所加密的打印數(shù)據(jù);以及第2打印機位置信息取得部,接收上述打印數(shù)據(jù)時,從上述打印機位置信息取得部取得打印機位置信息,將其作為第2打印機位置信息;以及秘密鍵生成部,使用至少包括上述第2打印機位置信息的口令,與上述給定的數(shù),生成秘密鍵;以及解密部,使用上述秘密鍵,對上述打印數(shù)據(jù)接收部所接收到的上述打印數(shù)據(jù)進行解密。
本發(fā)明的另一形式,是一種處理打印數(shù)據(jù)的打印機的控制方法,包括從打印機位置信息取得部,取得用來特定該打印機的設置場所的打印機位置信息,將其作為第1打印機位置信息的步驟;以及使用至少包括上述第1打印機位置信息的口令,與給定的數(shù),生成公開鍵的步驟;以及從打印客戶端接收打印數(shù)據(jù)的步驟;以及接收上述打印數(shù)據(jù)時,從上述打印機位置信息取得部取得打印機位置信息,將其作為第2打印機位置信息的步驟;以及使用至少包括上述第2打印機位置信息的口令,與上述給定的數(shù),生成秘密鍵的步驟;以及使用上述秘密鍵,對上述打印數(shù)據(jù)接收部所接收到的上述打印數(shù)據(jù)進行解密的步驟。
本發(fā)明的另一形式,是一種具有至少1臺打印機,以及通過網(wǎng)絡與上述打印機相連接的至少1臺打印客戶端的打印系統(tǒng),上述打印機具有打印機位置信息取得部,取得用來特定該打印機的設置場所的打印機位置信息;以及第1打印機位置信息取得部,從上述打印機位置信息取得部取得打印機位置信息,將其作為第1打印機位置信息;以及公開鍵生成部,使用至少包括上述第1打印機位置信息的口令,與給定的數(shù),生成公開鍵,上述打印客戶端具有打印數(shù)據(jù)生成部,生成用來通過上述打印機進行打印的打印數(shù)據(jù);以及打印數(shù)據(jù)發(fā)送部,通過上述公開鍵加密上述打印數(shù)據(jù),將該被加密的打印數(shù)據(jù)發(fā)送給上述打印機,上述打印機還具有打印數(shù)據(jù)接收部,接收由上述打印客戶端所發(fā)送的,通過上述公開鍵所加密的打印數(shù)據(jù);以及第2打印機位置信息取得部,接收上述打印數(shù)據(jù)時,從上述打印機位置信息取得部取得打印機位置信息,將其作為第2打印機位置信息;以及秘密鍵生成部,使用至少包括上述第2打印機位置信息的口令,與上述給定的數(shù),生成秘密鍵;以及解密部,使用上述秘密鍵,對上述打印數(shù)據(jù)接收部所接收到的上述打印數(shù)據(jù)進行解密。
本發(fā)明的另一形式,是一種處理數(shù)據(jù)的數(shù)據(jù)接收裝置,包括數(shù)據(jù)接收裝置位置信息取得部,取得用來特定該數(shù)據(jù)接收裝置的設置場所的數(shù)據(jù)接收裝置位置信息;以及第1數(shù)據(jù)接收裝置位置信息取得部,從上述數(shù)據(jù)接收裝置位置信息取得部取得數(shù)據(jù)接收裝置位置信息,將其作為第1數(shù)據(jù)接收裝置位置信息;以及公開鍵生成部,使用至少包括上述第1數(shù)據(jù)接收裝置位置信息的口令,與隨機數(shù),生成公開鍵;以及數(shù)據(jù)接收部,接收通過上述公開鍵所加密的數(shù)據(jù);以及第2數(shù)據(jù)接收裝置位置信息取得部,接收上述數(shù)據(jù)時,從上述數(shù)據(jù)接收裝置位置信息取得部取得數(shù)據(jù)接收裝置位置信息,將其作為第2數(shù)據(jù)接收裝置位置信息;以及秘密鍵生成部,使用至少包括上述第2數(shù)據(jù)接收裝置位置信息的口令與,上述給定的數(shù),生成秘密鍵;以及解密部,使用上述秘密鍵,對上述打印數(shù)據(jù)接收部所接收到的上述數(shù)據(jù)進行解密。
本發(fā)明的另一形式,是一種具有至少1臺數(shù)據(jù)接收裝置,以及通過網(wǎng)絡與上述數(shù)據(jù)接收裝置相連接的至少1臺數(shù)據(jù)發(fā)送裝置的數(shù)據(jù)發(fā)送接收系統(tǒng),上述數(shù)據(jù)接收裝置具有數(shù)據(jù)接收裝置位置信息取得部,取得用來特定該數(shù)據(jù)接收裝置的設置場所的數(shù)據(jù)接收裝置位置信息;以及第1數(shù)據(jù)接收裝置位置信息取得部,從上述數(shù)據(jù)接收裝置位置信息取得部取得數(shù)據(jù)接收裝置位置信息,將其作為第1數(shù)據(jù)接收裝置位置信息;以及公開鍵生成部,使用至少包括上述第1數(shù)據(jù)接收裝置位置信息的口令,與隨機數(shù),生成公開鍵,上述數(shù)據(jù)發(fā)送裝置具有數(shù)據(jù)生成部,生成用來通過上述數(shù)據(jù)接收裝置進行處理的數(shù)據(jù);以及數(shù)據(jù)發(fā)送部,通過上述公開鍵加密上述數(shù)據(jù),將該被加密的數(shù)據(jù)發(fā)送給上述數(shù)據(jù)接收裝置,上述數(shù)據(jù)接收裝置還具有數(shù)據(jù)接收部,接收由上述數(shù)據(jù)發(fā)送裝置所發(fā)送的,通過上述公開鍵所加密的數(shù)據(jù);以及第2數(shù)據(jù)接收裝置位置信息取得部,接收上述數(shù)據(jù)時,從上述數(shù)據(jù)接收裝置位置信息取得部取得數(shù)據(jù)接收裝置位置信息,將其作為第2數(shù)據(jù)接收裝置位置信息;以及秘密鍵生成部,使用至少包括上述第2數(shù)據(jù)接收裝置位置信息的口令與,上述給定的數(shù),生成秘密鍵;以及解密部,使用上述秘密鍵,對上述打印數(shù)據(jù)接收部所接收到的上述數(shù)據(jù)進行解密。
圖1為說明本發(fā)明的實施方式1的相關(guān)打印系統(tǒng)的構(gòu)成的一例示意圖。
圖2為說明本發(fā)明的實施方式1的相關(guān)打印機的硬件構(gòu)成的一例示意圖。
圖3為說明本發(fā)明的實施方式1的相關(guān)打印客戶端的構(gòu)成的一例示意圖。
圖4為說明在本發(fā)明的實施方式1中,使用公開鍵與秘密鍵的打印數(shù)據(jù)的加密與解密的示意圖。
圖5為說明本發(fā)明的實施方式1的相關(guān)打印客戶端所執(zhí)行的公開鍵請求處理的流程圖。
圖6為說明本發(fā)明的實施方式1的相關(guān)打印客戶端所具有的公開鍵表格的構(gòu)成的一例示意圖。
圖7為說明本發(fā)明的實施方式1的相關(guān)打印機所執(zhí)行的公開鍵發(fā)送處理流程圖的一部分(其1)。
圖8為說明本發(fā)明的實施方式1的相關(guān)打印機所執(zhí)行的公開鍵發(fā)送處理流程圖的一部分(其2)。
圖9為說明本發(fā)明的實施方式1的相關(guān)打印客戶端所執(zhí)行的打印請求處理的流程圖。
圖10為說明本發(fā)明的實施方式1的相關(guān)打印機所執(zhí)行的打印執(zhí)行處理的流程圖。
圖11為說明本發(fā)明的實施方式2的相關(guān)打印客戶端所執(zhí)行的公開鍵發(fā)送處理的流程圖。
圖12為說明本發(fā)明的實施方式2的相關(guān)打印機所具有的隨機數(shù)表格的構(gòu)成的一例示意圖。
圖13為說明本發(fā)明的實施方式2的相關(guān)打印客戶端所執(zhí)行的打印請求處理的流程圖。
圖14為說明本發(fā)明的實施方式2中,打印客戶端向打印機所發(fā)送的打印發(fā)送用數(shù)據(jù)的構(gòu)成的一例示意圖。
圖15為說明本發(fā)明的實施方式2的相關(guān)打印機所執(zhí)行的打印執(zhí)行處理的流程圖。
圖16為說明本發(fā)明的實施方式3的相關(guān)打印客戶端所執(zhí)行的公開鍵請求處理的流程圖。
圖17為說明本發(fā)明的實施方式3的相關(guān)打印客戶端所具有的公開鍵表格的構(gòu)成的一例示意圖。
圖18為說明本發(fā)明的實施方式3的相關(guān)打印機所執(zhí)行的公開鍵發(fā)送處理流程圖的一部分(其1)。
圖19為說明本發(fā)明的實施方式3的相關(guān)打印機所執(zhí)行的公開鍵發(fā)送處理流程圖的一部分(其2)。
圖20為說明本發(fā)明的實施方式3的相關(guān)打印機所具有的隨機數(shù)表格的構(gòu)成的一例示意圖。
圖21為說明本發(fā)明的實施方式3的相關(guān)打印客戶端所執(zhí)行的打印請求處理的流程圖。
圖22為說明本發(fā)明的實施方式3中,打印客戶端向打印機所發(fā)送的打印發(fā)送用數(shù)據(jù)的構(gòu)成的一例示意圖。
圖23為說明本發(fā)明的實施方式3的相關(guān)打印機所執(zhí)行的打印執(zhí)行處理的流程圖。
圖24為說明實施方式4的相關(guān)打印客戶端所執(zhí)行的打印請求處理流程圖的一部分(其1)。
圖25為說明實施方式4的相關(guān)打印客戶端所執(zhí)行的打印請求處理流程圖的一部分(其2)。
圖26為說明實施方式4的相關(guān)打印機所執(zhí)行的打印執(zhí)行處理的流程圖的一部分(其1)。
圖27為說明實施方式4的相關(guān)打印機所執(zhí)行的打印執(zhí)行處理的流程圖的一部分(其2)。
圖28為說明實施方式4的相關(guān)打印機所執(zhí)行的打印執(zhí)行處理的流程圖的一部分(其3)。
圖29為說明在本發(fā)明的實施方式5中,使用公開鍵與秘密鍵的打印數(shù)據(jù)的加密與解密的示意圖。
圖30為說明本發(fā)明的實施方式5的相關(guān)打印客戶端所執(zhí)行的公開鍵請求處理的流程圖。
圖31為說明本發(fā)明的實施方式5的相關(guān)打印客戶端所具有的公開鍵表格的構(gòu)成的一例示意圖。
圖32為說明本發(fā)明的實施方式5的相關(guān)打印機所執(zhí)行的公開鍵發(fā)送處理流程圖的一部分(其1)。
圖33為說明本發(fā)明的實施方式5的相關(guān)打印機所執(zhí)行的公開鍵發(fā)送處理流程圖的一部分(其2)。
圖34為說明本發(fā)明的實施方式5的相關(guān)打印客戶端所執(zhí)行的打印請求處理的流程圖。
圖35為說明本發(fā)明的實施方式5的相關(guān)打印機所執(zhí)行的打印執(zhí)行處理的流程圖。
圖36為說明本發(fā)明的實施方式6的相關(guān)打印客戶端所執(zhí)行的公開鍵請求處理的流程圖。
圖37為說明本發(fā)明的實施方式6的相關(guān)打印客戶端所具有的公開鍵表格的構(gòu)成的一例示意圖。
圖38為說明本發(fā)明的實施方式6的相關(guān)打印客戶端所執(zhí)行的打印請求處理的流程圖。
圖39為說明本實施方式的相關(guān)打印客戶端所執(zhí)行的打印請求處理流程圖的一部分(其1)。
圖40為說明本實施方式的相關(guān)打印客戶端所執(zhí)行的打印請求處理流程圖的一部分(其2)。
圖41為說明本實施方式的相關(guān)打印機所執(zhí)行的打印執(zhí)行處理的流程圖的一部分(其1)。
圖42為說明本實施方式的相關(guān)打印機所執(zhí)行的打印執(zhí)行處理的流程圖的一部分(其2)。
圖43為說明本實施方式的相關(guān)打印機所執(zhí)行的打印執(zhí)行處理的流程圖的一部分(其3)。
圖44為說明代替隨機數(shù),從打印機向打印客戶端發(fā)送算法與附加信息的例子的示意圖(打印客戶端向打印機發(fā)送給定的數(shù)的情況)。
圖45為說明圖44的變形例的示意圖(打印客戶端向打印機發(fā)送算法與附加信息的情況)。
圖46為說明圖44的另一個變形例的示意圖(打印客戶端不向打印機發(fā)送算法而發(fā)送附加信息的情況)。
具體實施例方式本發(fā)明的實施方式1的相關(guān)打印系統(tǒng),至少使用表示打印機的設置位置的打印機位置信息生成公開鍵,當打印客戶端事先取得該公開鍵,向該打印機發(fā)送打印數(shù)據(jù)時,發(fā)送使用該所取得的公開鍵對打印數(shù)據(jù)進行加密所生成的打印發(fā)送用數(shù)據(jù)。這樣,接收該打印發(fā)送用數(shù)據(jù)的打印機,在接收時再次至少使用此時的打印機位置信息來生成秘密鍵,只在能夠通過該秘密鍵對打印發(fā)送用數(shù)據(jù)進行解密的情況下才執(zhí)行打印。另外,一般來說,在公開鍵加密法中,生成公開鍵以及秘密鍵時使用隨機數(shù),但本實施方式中,通過打印機預先登錄隨機數(shù),使向打印客戶端發(fā)送公開鍵時所使用的隨機數(shù),與為了解密打印發(fā)送用數(shù)據(jù)而生成秘密鍵時所使用的隨機數(shù)相同,如果打印機位置信息不變就能夠得到相同的秘密鍵。下面將進行詳細說明。
首先,對照圖1,對本實施方式的相關(guān)打印系統(tǒng)的構(gòu)成進行說明。圖1為說明本實施方式的相關(guān)打印系統(tǒng)的硬件構(gòu)成的方框圖。
如圖1所示,本實施方式的相關(guān)打印系統(tǒng),具有與網(wǎng)絡10相連接的打印客戶端20、22,以及與同一個網(wǎng)絡10相連接的打印機30、32。本實施方式中,網(wǎng)絡10由使用TCP/IP(transmission control protocol/internet protocol)的互聯(lián)網(wǎng)構(gòu)成。但網(wǎng)絡10的方式并不僅限于互聯(lián)網(wǎng),例如還可以由以太網(wǎng)(注冊商標)等的LAN,或以太網(wǎng)與LAN的混合所構(gòu)成。打印客戶端20、22由例如稱作主機或個人計算機的各種計算機構(gòu)成。本實施方式中,特別是,打印客戶端20、22生成通過公開鍵將打印數(shù)據(jù)加密的打印發(fā)送用數(shù)據(jù),通過網(wǎng)絡10將該打印發(fā)送用數(shù)據(jù)發(fā)送給打印機30及/或打印機32。與該網(wǎng)絡10相連接的打印客戶端的臺數(shù)是任意的,可以是1臺,也可以是多臺。另外,該打印客戶端并不僅限于計算機,還可以是例如需要打印所拍攝的圖像的數(shù)碼照相機,或?qū)⒋蛴D像數(shù)據(jù)作為內(nèi)容而儲存的內(nèi)容服務器。
另外,本實施方式中,打印機30、32是所謂的網(wǎng)絡打印機。本實施方式中,特別是,打印機30、32從打印客戶端20及/或打印客戶端22接收打印發(fā)送用數(shù)據(jù),使用至少包括打印機位置信息的口令,以及保存在該打印機30、32中的隨機數(shù),生成秘密鍵,通過該秘密鍵對打印發(fā)送用數(shù)據(jù)進行解密。這樣,在能夠解密該打印發(fā)送用數(shù)據(jù)的情況下,根據(jù)該打印發(fā)送用數(shù)據(jù)進行打印,在不能夠解密該打印發(fā)送用數(shù)據(jù)的情況下,不根據(jù)該打印發(fā)送用數(shù)據(jù)進行打印。
本實施方式中,打印機30、32與網(wǎng)絡10直接相連接,各個打印機30、32具有固定網(wǎng)絡地址。因此,打印客戶端20、22能夠通過指定該網(wǎng)絡地址,將打印發(fā)送用數(shù)據(jù)發(fā)送給打印機30或打印機32。
但是,圖1中打印機30、32是與網(wǎng)絡10直接相連接的,但也可以通過打印服務器進行連接。另外,與該網(wǎng)絡10相連接的打印機的臺數(shù)是任意的,可以是1臺,也可以是多臺。
圖2為說明打印機30的內(nèi)部構(gòu)成的方框圖。另外,打印機32的內(nèi)部構(gòu)成與打印機30相同。
如圖2所示,打印機30具有CPU(Central Processing Unit)40、RAM(Random Access Memory)42、ROM(Read Only Memory)44,它們之間通過內(nèi)部總線46相連接。另外,該內(nèi)部總線連接有通信用接口48,通過該通信用接口48與上述網(wǎng)絡10相連接。另外,內(nèi)部總線46連接有接口50,該接口50與打印引擎52相連接。
另外,內(nèi)部總線46連接有位置檢測部54。該位置檢測部54具有特定打印機30的設置位置的功能。本實施方式中,例如由GPS(global positioningsystem)構(gòu)成,能夠特定該打印機30所設置的位置的經(jīng)度、緯度、高度。目前的GPS的精度,在經(jīng)度、緯度、高度中分別為±10m左右。
但該位置檢測部54并不僅限于使用GPS的構(gòu)成,例如在該打印機30通過無線LAN與網(wǎng)絡10相連接的情況下,可以通過容納該打印機30的無線基站,來特定打印機30的位置。或者,也可以利用PHS(Personal HandyphoneSystem)等移動通信技術(shù),特定打印機30的位置。
另外,內(nèi)部總線46通過接口56與硬盤58相連接。本實施方式中,該硬盤58具有作為可重寫型非易失性記憶裝置的功能。
圖3為說明打印客戶端20的內(nèi)部構(gòu)成的方框圖。另外,本實施方式中,打印客戶端22的構(gòu)成也與打印客戶端20相同。
如圖3所示,本實施方式的相關(guān)打印客戶端20,由計算機主機60與顯示器62構(gòu)成。
計算機主機60具有CPU64、RAM66以及ROM68,它們之間通過內(nèi)部總線70互相連接。另外,該內(nèi)部總線70連接有通信用接口72,通過該通信用接口70與上述網(wǎng)絡10相連接。
另外,內(nèi)部總線70連接有接口74,該接口74與大容量記憶裝置—硬盤76相連接。本實施方式中,該硬盤76具有作為可重寫型非易失性記憶裝置的功能。另外,內(nèi)部總線70連接有接口78,通過從該接口78延伸的電纜80與上述顯示器62相連接。
接下來,對本實施方式的相關(guān)打印系統(tǒng)中,例如打印客戶端20通過打印機30進行打印的情況下的處理,進行概要說明。
這種情況下,打印客戶端20預先例如從打印機30得到該打印機30的公開鍵。本實施方式中,該公開鍵的取得是通過網(wǎng)絡10進行的。也即,打印機30對請求發(fā)送公開鍵的打印客戶端是否具有正當權(quán)限進行確認,只在具有正當?shù)臋?quán)限的情況下,向其通知自己的公開鍵。該公開鍵,由打印機30,使用至少包括表示打印機30的設置位置的位置信息的口令,以及該打印機30所生成并保存的隨機數(shù),通過公開鍵加密法生成。也即,打印機30具有保存通過公開鍵加密法所使用的隨機數(shù)的功能。
但此時已生成的秘密鍵被廢棄。也即,一般的公開鍵加密法中,公開鍵與秘密鍵是同時生成的。因此,本實施方式中,在生成公開鍵時伴隨生成秘密鍵的情況下,也廢棄該秘密鍵。這樣,在該打印機30的設置場所被移動的情況下,通過移動前所生成的公開鍵所加密的打印發(fā)送用數(shù)據(jù),不能夠被移動后的打印機30解密。
但打印機30的公開鍵并不一定要通過網(wǎng)絡10通知給打印客戶端20。例如,打印客戶端20的用戶如果具有正當權(quán)限,就能夠到打印機30的設置場所操作該打印機30,因此,可以由用戶操作打印機30的控制面板,取得打印機30的公開鍵。這種情況下,用戶可以將打印機30的公開鍵記錄到軟盤等記錄媒體上,由打印客戶端20對其進行讀取。
接下來,打印客戶端20的用戶如圖4所示,生成作為應當打印的數(shù)據(jù)的打印數(shù)據(jù)D05,命令打印客戶端20指定打印機30進行打印。
打印客戶端20,使用預先取得的打印機30的公開鍵,對打印數(shù)據(jù)D05進行加密,生成打印發(fā)送用數(shù)據(jù)D10。這里,打印數(shù)據(jù)D05,表示通過打印機30驅(qū)動打印引擎52進行打印所必須的原本的打印數(shù)據(jù)。另外,打印發(fā)送用數(shù)據(jù)D10可以含有如圖4所示的打印數(shù)據(jù)D05之外的數(shù)據(jù)。
接收該打印發(fā)送用數(shù)據(jù)D10的打印機30,如圖2所示,將所接收的打印發(fā)送用數(shù)據(jù)D10暫存在RAM42中。之后,打印機30使用秘密鍵解密該被加密的打印發(fā)送用數(shù)據(jù)D10。也即,打印機30,使用至少包括打印機位置信息的口令,以及該打印機30所生成并保存的隨機數(shù),通過公開鍵加密法生成秘密鍵。
接下來打印機30判斷打印發(fā)送用數(shù)據(jù)D10是否能夠被解密。在能夠解密打印發(fā)送用數(shù)據(jù)D10的情況下,根據(jù)解密打印發(fā)送用數(shù)據(jù)D10所得到的打印數(shù)據(jù)D05進行打印,在不能夠解密的情況下,不進行打印。
接下來,使用流程圖對上述處理內(nèi)容進行詳細說明。首先對在打印客戶端20、22取得公開鍵的情況下,打印客戶端20、22與打印機30、32的處理進行說明。
圖5為說明打印客戶端20、22所執(zhí)行的公開鍵請求處理的流程圖。該公開鍵請求處理,是通過CPU64讀取并執(zhí)行保存在打印客戶端的ROM68或硬盤76中的公開鍵請求程序而實現(xiàn)的。另外,本實施方式中,在用戶向打印客戶端輸入啟動該公開鍵請求處理的命令時,該公開鍵請求處理被啟動并執(zhí)行。
另外,下面假設打印客戶端20向打印機30請求公開鍵的情況,對處理進行說明。
如圖5所示,該公開鍵請求處理中,首先打印客戶端20與打印機30相連接(步驟S100)。本實施方式中,打印客戶端20通過指定打印機30的網(wǎng)絡地址,確立打印客戶端20與打印機30之間的連接。另外,本實施方式中,通過SSL(Secure Socket Layer)通信等,在確保安全的基礎(chǔ)上,確立打印客戶端20與打印機30之間的連接。
接下來,打印客戶端20向打印機30發(fā)送認證信息(步驟S102)。本實施方式中,使用用來特定打印客戶端的打印客戶端ID,與密碼的組合作為該認證信息。因此,打印客戶端20將打印客戶端ID與密碼發(fā)送給打印機30。
之后,打印客戶端20,從打印機30接收表示是否接受了該認證的認證結(jié)果,根據(jù)該認證結(jié)果,判斷打印機30是否接受了該認證(步驟S104)。在認證未被接受的情況下(步驟S104否),返回上述步驟S102。
另外,在認證被接受的情況下(步驟S104是),打印客戶端20向打印機30發(fā)送公開鍵取得請求(步驟S106)。之后,判斷是否從打印機30接收到了公開鍵(步驟S108)。在沒有從打印機30接收到公開鍵的情況下(步驟S108否),重復該步驟S108進行等待。
另外,在從打印機30接收到公開鍵的情況下(步驟S108是),保存該公開鍵(步驟S110)。本實施方式中,打印客戶端20預先在硬盤76中設置有公開鍵表格TB10,將所取得的公開鍵保存在該公開鍵表格TB10中。
圖6為說明該公開鍵表格TB10的構(gòu)成的一例示意圖。如圖6所示,公開鍵表格TB10具有保存用來對打印機進行特定的信息的項目TD10,以及使所取得的公開鍵與打印機相對應而保存的項目TD11。這樣,公開鍵表格TB10,能夠?qū)㈥P(guān)于多個打印機的公開鍵,對每個打印機進行保存。另外,通過這樣在硬盤78的公開鍵表格TB10中保存公開鍵,即使打印客戶端20的電源被切斷并被再次接通的情況下,也能夠?qū)⒁郧八〉玫墓_鍵從硬盤78中原封不動地讀出并使用。
如圖5所示,接下來打印客戶端20切斷與打印機30之間的連接(步驟S112)。這樣,圖5中所示的公開鍵請求處理結(jié)束。
接下來對照圖7以及圖8,對與打印客戶端20、22的公開鍵請求處理相對應,打印機30、32所執(zhí)行的公開鍵發(fā)送處理進行說明。圖7以及圖8為說明打印機30、32所執(zhí)行的公開鍵發(fā)送處理的流程圖。該公開鍵發(fā)送處理,是通過CPU40讀取并執(zhí)行保存在打印機的ROM44或硬盤58中的公開鍵發(fā)送程序而實現(xiàn)的。另外,該公開鍵發(fā)送處理,是對應于上述公開鍵請求處理而被啟動的。
這里也和上述一樣,假設打印客戶端20向打印機30請求公開鍵的情況而進行說明。
如圖7所示,打印機30等待來自打印客戶端20的連接,在打印客戶端20請求連接的情況下,確立與打印客戶端20之間的連接(步驟S120)。這與上述打印客戶端20側(cè)的步驟S100相對應。也即,通過SSL通信等,在確保安全的基礎(chǔ)上確立連接。接下來,打印機30判斷是否接收到了來自打印客戶端20的認證信息(步驟S122)。在沒有接收到認證信息的情況下(步驟S122否),重復該步驟S122的處理進行等待。
另外,在從打印客戶端20接收到了認證信息的情況下(步驟S122是),判斷該認證信息與該打印機30中所預先登錄的認證信息是否一致(步驟S124)。具體的說,如上所述,由于打印客戶端20發(fā)送打印客戶端ID與密碼作為認證信息,因此判斷該打印客戶端ID以及密碼是否與該打印機30中所預先登錄的打印客戶端ID以及密碼相一致。
在認證信息不一致的情況下(步驟S124否),打印機30向打印客戶端20發(fā)送表示不接受認證的認證結(jié)果(步驟S126),在后述的圖8的步驟S154中,結(jié)束與該打印客戶端20之間的連接。另外,在認證信息一致的情況下(步驟S124是),打印機30向打印客戶端20發(fā)送表示接受認證的認證結(jié)果(步驟S128)。
接下來,打印機30判斷是否從打印客戶端20接收到公開鍵取得請求(步驟S130)。在沒有接收到該公開鍵取得請求的情況下(步驟S130否),重復該步驟S130的處理進行等待。
另外,在從打印客戶端20接收到公開鍵取得請求的情況下(步驟S130是),打印機30取得該打印機30的機器固有信息(步驟S132)。這里,機器固有信息是指,分配給該打印機30的識別信息,例如打印機30的制造序列號、MAC地址等。
接下來,如圖8所示,打印機30從位置檢測部54取得此時打印機30的打印機位置信息(步驟S140)。這樣通過此時從位置檢測部54取得打印機位置信息,是為了在打印機30移動到了別的場所的情況下,使用該移動后的位置信息生成公開鍵。
接下來,打印機30使用機器固有信息與打印機位置信息生成口令(步驟S142)。該口令的生成手法有多種,本實施方式中,通過單純地在機器固有信息后添加打印機位置信息而生成口令。另外,口令還可以含有除了該機器固有信息與打印機位置信息之外的數(shù)據(jù)。
接下來,打印機30判斷是否預先登錄了該打印機30的隨機數(shù)(步驟S144)。在沒有登錄隨機數(shù)的情況下(步驟S144否),打印機30生成1個隨機數(shù),并登錄到硬盤58中(步驟S146)。也即,本實施方式中,各個打印機只生成1次隨機數(shù),并將其登錄到硬盤58中進行保存。該隨機數(shù)的生成,是在打印機30首次進行該公開鍵發(fā)送處理時進行的。另外,由于硬盤58中保存有隨機數(shù),即使在打印機30的電源被關(guān)閉的情況下,也非易失性地進行保存。因此,即使在再次接通打印機30的電源的情況下,也能夠?qū)⒋饲八褂玫碾S機數(shù)有效地進行保存。另外,該打印機30的隨機數(shù)的生成,并不一定要在公開鍵發(fā)送處理中進行,也可以在其他處理中進行。例如,可以在打印機30從工廠出庫時,預先生成隨機數(shù)并將其登錄到硬盤58中進行保存。
另外,在隨機數(shù)被保存在硬盤58中的情況下(步驟S144是),跳過該步驟S146的處理。
接下來,打印機30從硬盤58中讀出從而取得該打印機30的隨機數(shù)(步驟S148)。
接下來,打印機30使用步驟S142中所生成的口令,與步驟S148中所取得的隨機數(shù),通過公開鍵加密法,生成公開鍵與秘密鍵(步驟S150)。公開鍵加密法中,如果所使用的口令與隨機數(shù)相同,即使再次生成公開鍵與秘密鍵,也生成相同的公開鍵與秘密鍵。接下來,打印機30在該所生成的公開鍵與秘密鍵中,只將公開鍵發(fā)送給打印客戶端20(步驟S152)。另外,并不保存秘密鍵而將其廢棄。
接下來,打印機30結(jié)束與打印客戶端20的連接(步驟S154)。這樣,本實施方式的相關(guān)公開鍵發(fā)送處理結(jié)束。
接下來,對在打印客戶端20、22希望進行打印時,向打印機30、32發(fā)送該打印請求的情況下的打印客戶端20、22以及打印機30、32的處理,進行詳細說明。
圖9為說明打印客戶端20、22所執(zhí)行的打印請求處理的流程圖。該打印請求處理,是通過CPU64讀取并執(zhí)行保存在打印客戶端的ROM68或硬盤76中的打印請求程序而實現(xiàn)的。本實施方式中,在用戶向打印客戶端輸入打印命令時,該公開鍵請求處理被啟動并執(zhí)行。
這里假設打印客戶端20向打印機30請求打印的場合進行說明。
如圖9所示,打印客戶端20根據(jù)用戶的打印請求,生成打印數(shù)據(jù)D05(步驟S160)。該打印數(shù)據(jù)D05是在打印機30是通常的打印機的情況下,實際進行打印所必須的數(shù)據(jù)。
接下來,打印客戶端20從硬盤76的公開鍵表格TB10中讀出打印機30的公開鍵(步驟S162)。接下來,打印客戶端20使用打印機30的公開鍵,對打印數(shù)據(jù)D05進行加密,生成打印發(fā)送用數(shù)據(jù)D10(步驟S164)。另外,打印發(fā)送用數(shù)據(jù)D10還可以含有打印數(shù)據(jù)以外的數(shù)據(jù)。
接下來,打印客戶端20確立與該打印機30之間的連接(步驟S165)。接下來,打印客戶端20將該被加密的打印發(fā)送用數(shù)據(jù)D10發(fā)送給打印機30(步驟S166)。具體的說,是指定打印機30的網(wǎng)絡地址,向網(wǎng)絡10發(fā)送打印發(fā)送用數(shù)據(jù)D10。
接下來,打印客戶端20判斷是否從打印機30接收到打印結(jié)果信息(步驟S168)。在沒有接收到打印結(jié)果信息的情況下(步驟S168否),重復該步驟S168的處理進行等待。另外,在接收到打印結(jié)果信息的情況下(步驟S168是),判斷該打印結(jié)果信息是否為打印完成通知(步驟S170)。
在該打印結(jié)果信息是打印完成通知的情況下(步驟S170是),表示在打印機30中正常結(jié)束了打印,因此,向用戶通知在打印機30中完成了打印這一消息(步驟S172)。另外,在所接收到的打印結(jié)果信息不是打印完成通知的情況下(步驟S170否),判斷該打印結(jié)果信息是否為無法解讀通知(步驟S174)。
在該打印結(jié)果信息是無法解讀通知的情況下(步驟S174是),向用戶通知由于打印機30不能夠?qū)Υ蛴“l(fā)送用數(shù)據(jù)D10進行解密,因此不能夠進行打印(步驟S176)。另外,在該打印結(jié)果信息不是無法解讀通知的情況下(步驟S174否),可以認為是其他某種錯誤,向用戶發(fā)送對應于該錯誤種類的通知(步驟S178)。
在這些步驟S172、步驟S176以及步驟S178的通知之后,打印客戶端20切斷與打印機30的連接(步驟S179)。這樣,就結(jié)束了該打印客戶端20中的打印請求處理。
接下來,對照圖10,對與打印客戶端20、22的打印請求處理相對應,打印機30、32所執(zhí)行的打印執(zhí)行處理進行說明。圖10為說明打印機30、32所執(zhí)行的打印執(zhí)行處理的流程圖。該打印執(zhí)行處理,是通過CPU40讀取并執(zhí)行保存在打印機的ROM44或硬盤58中的打印執(zhí)行程序而實現(xiàn)的。本實施方式中,該打印執(zhí)行處理,以給定的時間間隔穩(wěn)態(tài)執(zhí)行。
這里也和上述一樣,假設打印客戶端20向打印機30請求打印的情況而進行說明。
如圖10所示,打印機30等待來自打印客戶端20的連接,在打印客戶端20請求連接的情況下,打印機30通過網(wǎng)絡10確立與打印客戶端20之間的連接(步驟S180)。在確立了與打印客戶端20的連接之后,打印機30判斷是否從網(wǎng)絡10接收到了打印發(fā)送用數(shù)據(jù)D10(步驟S181)。在沒有接收到任何打印發(fā)送用數(shù)據(jù)D10的情況下(步驟S181否),重復該步驟S181的處理進行等待。
另外,在接收到打印發(fā)送用數(shù)據(jù)D10的情況下(步驟S181是),打印機30取得自己的機器固有信息(步驟S182)。接下來,打印機30從位置檢測部54取得此時打印機30的打印機位置信息(步驟S184)。這樣通過此時從位置檢測部54取得打印機位置信息,是為了在打印機30移動到了別的場所的情況下,由于該打印機30有可能被設置在用戶所不期望的場所,在這種情況下使得通過打印機30的打印不能夠進行。
接下來,打印機30根據(jù)機器固有信息與打印機位置信息,生成口令(步驟S186)。該口令的生成方法,必須與上述公開鍵發(fā)送處理中的步驟S142的方法相同。這是因為,如果口令不相同,就無法對通過發(fā)送給打印客戶端的公開鍵所加密的打印發(fā)送用數(shù)據(jù),通過秘密鍵進行解密。
接下來,打印機30從硬盤58中讀出并取得上述步驟S146中所登錄并保存的該打印機30的隨機數(shù)(步驟S188)。接下來,打印機30使用所生成的口令與所取得的隨機數(shù),通過公開鍵加密法,生成公開鍵與秘密鍵(步驟S190)。該步驟S190中所使用的口令與隨機數(shù),如果打印機30的設置位置沒有被移動,就與上述公開鍵發(fā)送處理中的步驟S150所使用的口令與隨機數(shù)相同。因此,生成與步驟S150中所生成的公開鍵和秘密鍵相同的公開鍵和秘密鍵。接下來,打印機30使用所生成的秘密鍵,解密所接收到的打印發(fā)送用數(shù)據(jù)D10,取得打印數(shù)據(jù)D05(步驟S192)。
接下來,打印機30使用秘密鍵判斷是否能夠解密打印發(fā)送用數(shù)據(jù)D10(步驟S194)。在能夠解密的情況下(步驟S194是),根據(jù)所得到的打印數(shù)據(jù)D05,驅(qū)動打印引擎52執(zhí)行打印(步驟S196)。具體的說,進行打印數(shù)據(jù)D05的語言解釋,生成適用于打印引擎52的打印請求數(shù)據(jù)。之后,通過將該打印請求數(shù)據(jù)發(fā)送給打印引擎52,由打印引擎52在打印用紙上進行打印。
由此可以得知,本實施方式中,使用至少包括位置檢測部所檢測出的打印機位置信息的口令與打印機30中所登錄的隨機數(shù),生成秘密鍵,在能夠通過該秘密鍵解密打印發(fā)送用數(shù)據(jù)D10的情況下,判斷打印發(fā)送用數(shù)據(jù)D10與打印機位置信息相匹配。
當該打印正常結(jié)束時,打印機30將表示打印正常結(jié)束的打印結(jié)束通知,作為打印結(jié)果信息,發(fā)送給打印客戶端20(步驟S198)。
與此相對,在步驟S194中,判斷無法解密打印發(fā)送用數(shù)據(jù)D10的情況下(步驟S194否),將無法解讀通知作為打印結(jié)果信息,發(fā)送給打印客戶端20(步驟S200)。也即,本實施方式中,使用至少包括位置檢測部54所檢測出的打印機位置信息的口令與打印機30中所登錄的隨機數(shù),生成秘密鍵,在不能夠通過該秘密鍵解密打印發(fā)送用數(shù)據(jù)D10的情況下,判斷打印發(fā)送用數(shù)據(jù)D10與打印機位置信息不匹配。
在步驟S198或步驟S200之后,打印機30結(jié)束與打印客戶端20的連接(步驟S202)。之后,返回上述步驟S181。
如上所述,本實施方式的相關(guān)打印系統(tǒng)中,由于打印客戶端20、22能夠根據(jù)打印機位置信息,對能夠打印被加密了的打印發(fā)送用數(shù)據(jù)D10的打印機進行限定,因此,打印客戶端20、22的用戶能夠避免在位于其不希望的位置上的打印機上進行打印。例如,在打印機30被移動到其他場所,但網(wǎng)絡10內(nèi)的打印機30的網(wǎng)絡地址沒有改變的情況下,即使從打印客戶端20誤向該打印機30發(fā)送打印發(fā)送用數(shù)據(jù)D10,由于打印機30中打印機位置信息發(fā)生了變更,因此步驟S186中所生成的口令與移動前的口令不同。這樣,即使使用通過該口令所生成的秘密鍵,也無法解密打印發(fā)送用數(shù)據(jù)D10,不能夠由打印機30進行打印。所以,能夠提高打印數(shù)據(jù)D05的安全性。
另外,在打印機30、32側(cè)也一樣,能夠避免本來沒有使用該打印機30、32進行打印的權(quán)限的用戶,向打印機30、32發(fā)送打印數(shù)據(jù),使打印機30、32執(zhí)行大量的打印。例如,因某種原因,即使打印機30的網(wǎng)絡地址被第三者所得知,向該打印機30發(fā)送打印發(fā)送用數(shù)據(jù)D10,也無法取得該打印機30的公開鍵。即使如果該用戶通過不同的公開鍵對打印數(shù)據(jù)D05進行加密生成打印發(fā)送用數(shù)據(jù)D10,或者不進行加密就生成打印發(fā)送用數(shù)據(jù)D10,并向打印機30發(fā)送打印發(fā)送用數(shù)據(jù)D10,由于在打印執(zhí)行處理的步驟S194中判斷無法解密,因此無法使打印機30執(zhí)行打印。這樣,能夠提高打印機30自身的安全性。
另外,本實施方式中,由于口令中含有機器固有信息,因此,即使因某種原因讓第三者知道了打印機30的位置,如果不知道打印機30的機器固有信息,也無法特定打印機30所使用的口令。因此,能夠使第三者冒充該打印機30接收打印發(fā)送用數(shù)據(jù)D10,并解密該打印發(fā)送用數(shù)據(jù)D10變得非常困難。
另外,本實施方式中,由于除了口令之外還使用隨機數(shù),生成公開鍵以及秘密鍵,因此,能夠使第三者冒充該打印機30接收打印發(fā)送用數(shù)據(jù)D10,并解密該打印發(fā)送用數(shù)據(jù)D10更加困難。
另外,由于該隨機數(shù)由各個打印機分別生成,將所生成的隨機數(shù)保存到硬盤等可重寫型非易失性記憶裝置中,因此,能夠在生成秘密鍵時使用與生成公開鍵時所使用的隨機數(shù)相同的隨機數(shù)。這樣,能夠?qū)νㄟ^使用該隨機數(shù)所生成的公開鍵所加密的打印發(fā)送用數(shù)據(jù)D10,再次生成能夠?qū)ζ溥M行解密的秘密鍵。
本發(fā)明的實施方式2,通過使打印機30、32對每個打印客戶端分別生成并保存生成公開鍵以及秘密鍵時所使用的隨機數(shù),使得第三者對隨機數(shù)的推測更加困難。下面將進行詳細說明。
另外,本實施方式的相關(guān)打印系統(tǒng)的構(gòu)成與上述實施方式1中的圖1相同,打印機30、32的構(gòu)成與上述圖2相同,打印客戶端20、22的構(gòu)成與上述圖3相同。另外,本實施方式的相關(guān)打印客戶端20、22所執(zhí)行的公開鍵請求處理也和上述實施方式1相同。
圖11為說明本實施方式的相關(guān)打印機30、32所執(zhí)行的公開鍵發(fā)送處理的流程圖的一部分,與上述實施方式1中的圖8相對應。
如圖11所示,本實施方式的相關(guān)公開鍵發(fā)送處理,一直到步驟S142中所示的口令生成,都與上述實施方式1的處理相同,之后的處理不同。也即,口令的生成結(jié)束之后,打印機30判斷請求公開鍵的打印客戶端的隨機數(shù),是否登錄在該打印機30中(步驟S300)。
圖12為說明本實施方式的相關(guān)打印機30所保存的,對每個打印客戶端分別登錄隨機數(shù)的隨機數(shù)表格TB20的構(gòu)成的一例示意圖。本實施方式中,該隨機數(shù)表格TB20被保存在硬盤58中。
如圖12所示,隨機數(shù)表格TB20,由數(shù)據(jù)項目打印客戶端ID TD20,與隨機數(shù)TD21構(gòu)成。打印客戶端ID TD20中,保存有作為用于特定打印客戶端的信息的打印客戶端ID。隨機數(shù)TD21中,保存有對應于打印客戶端IDTD20的隨機數(shù)。
本實施方式中,如上面的實施方式1中的步驟S122所述,從打印客戶端20、22將打印客戶端ID與口令作為識別信息發(fā)送給打印機30。因此,在該步驟S300中,判斷從打印客戶端20、22所接收到的打印客戶端ID是否被登錄在該隨機數(shù)表格TB20中,且是否保存有隨機數(shù)。
如圖11所示,在該打印客戶端的隨機數(shù)沒有登錄在該打印機30中的情況下(步驟S300否),打印機30生成1個用于該打印客戶端的隨機數(shù),登錄到隨機數(shù)表格TB20中(步驟S302)。具體的說,將該打印客戶端的打印客戶端ID與所生成的隨機數(shù)登錄到隨機數(shù)表格TB20中。
另外,在隨機數(shù)被登錄到了打印機30中的情況下(步驟S300是),跳過該步驟S302的處理。
接下來,打印機30從隨機數(shù)表格TB20中,讀出并獲取請求發(fā)送公開鍵的打印客戶端的隨機數(shù)(步驟S304)。
接下來,打印機30使用步驟S142中所生成的口令,與步驟S304中所取得的隨機數(shù),通過公開鍵加密法,生成公開鍵與秘密鍵(步驟S306)。接下來,與上述實施方式1相同,打印機30在該所生成的公開鍵與秘密鍵中,只將公開鍵發(fā)送給打印客戶端20(步驟S152)。另外,并不保存秘密鍵而將其廢棄。
接下來,打印機30結(jié)束與打印客戶端20的連接(步驟S154)。這樣,本實施方式的相關(guān)公開鍵發(fā)送處理結(jié)束。
接下來對照圖13,對本實施方式的相關(guān)打印客戶端20、22所執(zhí)行的打印請求處理進行說明。圖13為說明打印客戶端20、22所執(zhí)行的打印請求處理的流程圖。
如圖13所示,本實施方式的相關(guān)打印請求處理中,用來生成打印發(fā)送用數(shù)據(jù)的處理與上述實施方式1不同。也即,在步驟S162讀出了公開鍵之后,打印客戶端20使用公開鍵,對打印數(shù)據(jù)D05進行加密(步驟S310)。
接下來,打印客戶端20給該被加密的打印數(shù)據(jù)D05添加自己的打印客戶端ID,生成打印發(fā)送用數(shù)據(jù)(步驟S312)。圖14為說明本實施方式的相關(guān)打印發(fā)送用數(shù)據(jù)D20的格式的一例示意圖。如圖14所示,本實施方式的相關(guān)打印發(fā)送用數(shù)據(jù)D20,通過在被步驟S162所讀出的公開鍵加密了的打印數(shù)據(jù)D05上,添加沒有被步驟S162所讀出的公開鍵加密的打印客戶端IDD15而構(gòu)成。
這里,打印客戶端ID D15沒有被在步驟S162所讀出的公開鍵加密的原因是,打印機30對每個打印客戶端保存有不同的隨機數(shù),因此,如果無法特定該打印客戶端ID D15就無法生成秘密鍵。因此,可以不使用步驟S162所讀出的公開鍵,而通過其他加密法對該打印客戶端ID D15進行加密。另外,打印發(fā)送用數(shù)據(jù)D20還可以包括這些打印客戶端ID D15與打印數(shù)據(jù)D05之外的數(shù)據(jù)。
另外,本實施方式中,將打印客戶端ID D15與打印數(shù)據(jù)D05一起發(fā)送,但也可以將打印客戶端ID D15與打印數(shù)據(jù)D05分別發(fā)送。這種情況下,如果保存與打印數(shù)據(jù)D05的關(guān)聯(lián)性,打印客戶端ID D15既可以在打印數(shù)據(jù)D05之前發(fā)送,又可以在之后發(fā)送。
該步驟S312之后的處理,與上述實施方式1相同。
接下來對照圖15,對本實施方式的相關(guān)打印機30、32所執(zhí)行的打印請求處理進行說明。圖15為說明打印機30、32所執(zhí)行的打印執(zhí)行處理的流程圖。
如圖15所示,本實施方式的相關(guān)打印執(zhí)行處理中,取得隨機數(shù)時的處理與上述實施方式1不同。也即,打印機30,在步驟S186中生成了口令之后,從所接收到的打印發(fā)送用數(shù)據(jù)D20中,取得打印客戶端ID D15(步驟S320)。
接下來,打印機30以打印客戶端ID為檢索關(guān)鍵字,檢索隨機數(shù)表格TB20,從隨機數(shù)表格TB20中讀取該打印客戶端的隨機數(shù)(步驟S322)。接下來,打印機30使用步驟S186中所生成的口令,與步驟S322中所取得的隨機數(shù),通過公開鍵加密法生成公開鍵與秘密鍵(步驟S324)。
該步驟S324之后的處理,與上述實施方式1相同。
如上所述,通過本實施方式的相關(guān)打印系統(tǒng),也能夠得到與上述實施方式1相同的效果。另外,本實施方式的相關(guān)打印系統(tǒng),由于通過使打印機30、32對每個打印客戶端分別生成并保存隨機數(shù),使得第三者對隨機數(shù)的推測極為困難。
本發(fā)明的實施方式3,通過使打印機30、32對每個用戶分別生成并保存生成公開鍵以及秘密鍵時所使用的隨機數(shù),使得第三者對隨機數(shù)的推測更加困難。下面將進行詳細說明。
另外,本實施方式的相關(guān)打印系統(tǒng)的構(gòu)成與上述實施方式1中的圖1相同,打印機30、32的構(gòu)成與上述圖2相同,打印客戶端20、22的構(gòu)成與上述圖3相同。
圖16為說明本實施方式的相關(guān)打印客戶端20、22所執(zhí)行的公開鍵請求處理的流程圖的一部分,與上述實施方式1中的圖5相對應。
如圖16所示,本實施方式的相關(guān)公開鍵請求處理,從步驟S104中接受認證的情況下之后的處理,與上述實施方式1不同。也即,在步驟S104中接受了認證的情況下(步驟S104是),打印客戶端20將請求該公開鍵的用戶的用戶ID與公開鍵取得請求,發(fā)送給打印機30(步驟S400)。本實施方式中,該用戶ID由用戶操作鍵盤等,輸入到打印客戶端中,將該所輸入的用戶ID發(fā)送給打印機30。
接下來,打印客戶端20,判斷是否從打印機30接收到了公開鍵(步驟S402)。在沒有從打印機30接收到公開鍵的情況下(步驟S402否),重復該步驟S402進行等待。
另外,在從打印機30接收到公開鍵的情況下(步驟S402是),保存該公開鍵(步驟S402)。本實施方式中,打印客戶端20預先在硬盤76中給每個打印機設置有公開鍵表格TB30,將所取得的公開鍵保存在該公開鍵表格TB30中。
圖17為說明該公開鍵表格TB30的構(gòu)成的一例示意圖。如圖17所示,公開鍵表格TB30為各個打印機30、32分別形成表格,各個表格具有保存用來對用戶進行特定的信息的項目TD30,以及使所取得的公開鍵與各個用戶相對應而保存的項目TD31。這樣,公開鍵表格TB30,能夠?qū)㈥P(guān)于多個用戶的公開鍵,對每個用戶且每個打印機進行保存。另外,通過這樣在硬盤78的公開鍵表格TB30中保存公開鍵,即使打印客戶端20的電源被切斷并被再次接通的情況下,也能夠?qū)⒁郧八〉玫墓_鍵從硬盤78中原封不動地讀出并使用。
如圖16所示,接下來打印客戶端20切斷與打印機30之間的連接(步驟S406)。這樣,圖16中所示的公開鍵請求處理結(jié)束。
接下來對照圖18以及圖19,對本實施方式的相關(guān)打印機30、32所執(zhí)行的公開鍵發(fā)送處理進行說明。該圖18以及圖19為說明打印機30、32所執(zhí)行的公開鍵發(fā)送處理的流程圖,與上述實施方式1的圖7以及圖8相對應。
首先,如圖18所示,本實施方式的相關(guān)打印機30從打印客戶端20同時接收公開鍵取得請求以及用戶ID,這一點與上述實施方式1以及實施方式2不同。也即,在步驟S128中發(fā)送表示接受認證的認證結(jié)果之后,打印機30判斷是否接收到了用戶ID與公開鍵取得請求(步驟S410)。在用戶ID與公開鍵取得請求中的任一個都沒有接收到的情況下(步驟S410否),重復該步驟S410進行等待。
另外,在用戶ID與公開鍵取得請求都接收到了的情況下(步驟S410是),與上述實施方式1一樣,執(zhí)行步驟S132之后的處理。
另外,如圖19所示,本實施方式的相關(guān)打印機在獲取隨機數(shù)時的處理,與上述實施方式1以及實施方式2不同。也即,口令的生成結(jié)束之后,打印機30判斷該請求公開鍵的用戶的隨機數(shù),是否通過該打印客戶端20登錄在該打印機30中(步驟S420)。
圖20為說明本實施方式的相關(guān)打印機30所保存的,對各個用戶分別登錄隨機數(shù)的隨機數(shù)表格TB40的一例示意圖。本實施方式中,該隨機數(shù)表格TB40,為每個打印客戶端分別形成表格。另外,該隨機數(shù)表格TB40被保存在硬盤58中。
如圖20所示,隨機數(shù)表格TB40,由用戶ID TD40與隨機數(shù)TD41作為數(shù)據(jù)項目構(gòu)成。用戶ID TD40中,保存作為用來對用戶進行特定的信息的用戶ID。隨機數(shù)TD41中,保存對應于用戶ID TD40的隨機數(shù)。
本實施方式中,如上面的步驟S122所述,從打印客戶端20將打印客戶端ID與口令作為識別信息發(fā)送給打印機30。另外,如步驟S410所述,從打印客戶端20發(fā)送用戶ID。因此,在該步驟S300中,能夠根據(jù)從打印客戶端20所接收到的打印客戶端ID,在隨機數(shù)表格TB40中特定打印客戶端20的表格。這樣,能夠根據(jù)從打印客戶端20所接收到的用戶ID,判斷對應于該用戶的隨機數(shù),是否被登錄在該打印客戶端的表格中。
通過上述可以得知,本實施方式中,還假設了1個用戶使用多個打印客戶端的場合,這種情況下,即使是同一個用戶,如果打印客戶端不同,也使用不同的隨機數(shù),也即不同的公開鍵與秘密鍵。
如圖19所示,在該打印客戶端中,該用戶的隨機數(shù)沒有被登錄到該打印機30的情況下(步驟S420否),打印機30生成該打印客戶端中的該用戶的1個隨機數(shù),并登錄到隨機數(shù)表格TB40中(步驟S422)。具體的說,在隨機數(shù)表格TB40中的打印客戶端20的表格中,登錄用戶ID與所生成的隨機數(shù)。
另外,在隨機數(shù)被登錄在打印機30中的情況下(步驟S420是),跳過該步驟S422的處理。
接下來,打印機30從隨機數(shù)表格TB40中,讀取對請求發(fā)送公開鍵的打印客戶端所登錄的用戶的隨機數(shù)(步驟S424)。
接下來,打印機30使用步驟S142中所生成的口令,與步驟S424中所取得的隨機數(shù),通過公開鍵加密法,生成公開鍵與秘密鍵(步驟S426)。接下來,與實施方式1以及實施方式2一樣,打印機30在該所生成的公開鍵與秘密鍵中,只將公開鍵發(fā)送給打印客戶端20(步驟S152)。另外,并不保存秘密鍵而將其廢棄。
接下來,打印機30結(jié)束與打印客戶端20的連接(步驟S154)。這樣,本實施方式的相關(guān)公開鍵發(fā)送處理結(jié)束。
接下來,對照圖21,對本實施方式的相關(guān)打印客戶端20、22所執(zhí)行的打印請求處理進行說明。該圖21為說明本實施方式的相關(guān)打印客戶端20、22所執(zhí)行的打印請求處理流程圖。
如圖21所示,本實施方式的相關(guān)打印請求處理中,用于生成打印發(fā)送用數(shù)據(jù)的處理,與上述實施方式1以及實施方式2不同。也即,在步驟S162中,從公開鍵表格TB30中讀取與該打印機相對應的該用戶的公開鍵之后,打印客戶端20使用該公開鍵,對打印數(shù)據(jù)D05進行加密(步驟S430)。
接下來,打印客戶端20給該被加密的打印數(shù)據(jù)D05添加自己的打印客戶端ID與用戶ID,生成打印發(fā)送用數(shù)據(jù)(步驟S432)。圖22為說明本實施方式的相關(guān)打印發(fā)送用數(shù)據(jù)D30的格式的一例示意圖。如圖22所示,本實施方式的相關(guān)打印發(fā)送用數(shù)據(jù)D30,通過在被步驟S162所讀出的公開鍵加密了的打印數(shù)據(jù)D05上,添加沒有被在步驟S162中所讀出的公開鍵加密的打印客戶端ID D15,以及同樣沒有被在步驟S162中所讀出的公開鍵加密的用戶ID D25而構(gòu)成。
這里,打印客戶端ID D15與用戶ID D25沒有被在步驟S162所讀出的公開鍵加密的原因是,打印機30對每個打印客戶端,且每個用戶保存有不同的隨機數(shù),因此,如果無法特定該打印客戶端ID D15與用戶ID D25就無法生成秘密鍵。因此,可以不使用步驟S162所讀出的公開鍵,而通過其他加密法對該打印客戶端ID D15與用戶ID D25進行加密。另外,打印發(fā)送用數(shù)據(jù)D30還可以包括這些打印客戶端ID D15與用戶ID D25以及打印數(shù)據(jù)D05之外的數(shù)據(jù)。
另外,本實施方式中,將打印客戶端ID D15以及用戶ID D25與打印數(shù)據(jù)D05一起發(fā)送,但也可以將打印客戶端ID D15以及用戶ID D25與打印數(shù)據(jù)D05分別發(fā)送。這種情況下,如果保存與打印數(shù)據(jù)D05之間的關(guān)聯(lián)性,打印客戶端ID D15以及用戶ID D25既可以在打印數(shù)據(jù)D05之前發(fā)送,又可以在之后發(fā)送。另外,打印客戶端ID D15以及用戶ID D25既可以分別發(fā)送,又可以同時發(fā)送。
該步驟S432之后的處理,與上述實施方式1以及實施方式2相同。
接下來對照圖23,對本實施方式的相關(guān)打印機30、32所執(zhí)行的打印請求處理進行說明。圖23為說明打印機30、32所執(zhí)行的打印執(zhí)行處理的流程圖。
如圖23所示,本實施方式的相關(guān)打印執(zhí)行處理中,取得隨機數(shù)時的處理與上述實施方式1以及實施方式2不同。也即,打印機30,在步驟S186中生成了口令之后,從所接收到的打印發(fā)送用數(shù)據(jù)D20中,取得打印客戶端ID D15與用戶ID D25(步驟S320)。
接下來,打印機30以打印客戶端ID和用戶ID為檢索關(guān)鍵字,檢索隨機數(shù)表格TB40,從隨機數(shù)表格TB40中讀取對該打印客戶端所登錄的用戶的隨機數(shù)(步驟S442)。接下來,打印機30使用步驟S186中所生成的口令,與步驟S442中所取得的隨機數(shù),通過公開鍵加密法生成公開鍵與秘密鍵(步驟S444)。
該步驟S444之后的處理,與上述實施方式1以及實施方式2相同。
如上所述,通過本實施方式的相關(guān)打印系統(tǒng),也能夠得到與上述實施方式1以及實施方式2相同的效果。另外,本實施方式的相關(guān)打印系統(tǒng),由于通過使打印機30、32對每個用戶分別生成并保存隨機數(shù),使得第三者對隨機數(shù)的推測極為困難。
本發(fā)明的實施方式4的相關(guān)打印系統(tǒng),對每個打印任務,使用至少含有表示打印機的設置位置的打印機位置信息的口令,生成公開鍵,發(fā)送給打印客戶端。打印客戶端,發(fā)送使用該公開鍵對打印任務數(shù)據(jù)進行加密所生成的打印發(fā)送用數(shù)據(jù)。這樣,接收該打印發(fā)送用數(shù)據(jù)的打印機,在接收時再次使用至少含有此時的打印機位置信息的口令來生成秘密鍵,只在能夠通過該秘密鍵對打印發(fā)送用數(shù)據(jù)進行解密的情況下才執(zhí)行打印。另外,一般來說,在公開鍵加密法中,生成公開鍵以及秘密鍵時使用隨機數(shù),但本實施方式中,通過將生成發(fā)送給打印客戶端的公開鍵時所使用的隨機數(shù)進行保存,在為了解密打印發(fā)送用數(shù)據(jù)而生成秘密鍵時也使用相同的隨機數(shù),如果打印機位置信息不變就能夠得到相同的秘密鍵。下面將進行詳細說明。
另外,本實施方式的相關(guān)打印系統(tǒng)的構(gòu)成與上述實施方式1中的圖1相同,打印機30、32的構(gòu)成與上述圖2相同,打印客戶端20、22的構(gòu)成與上述圖3相同。
接下來,對本實施方式的相關(guān)打印系統(tǒng)中,例如打印客戶端20通過打印機30進行打印的情況下的處理,進行概要說明。
這種情況下,首先打印客戶端20從打印機30得到該打印機30的公開鍵。本實施方式中,該公開鍵的取得是通過網(wǎng)絡10對每個打印任務進行的。也即,打印機30對請求發(fā)送公開鍵的打印客戶端20是否具有正當權(quán)限進行確認,只在具有正當?shù)臋?quán)限的情況下,將自己的公開鍵發(fā)送給打印客戶端20。該公開鍵,由打印機30,使用至少包括表示打印機30的設置位置的位置信息的口令,以及該打印機30對每個打印任務所生成并保存的隨機數(shù),通過公開鍵加密法生成。打印機30保存生成該公開鍵時所使用的隨機數(shù)。
但此時已生成的秘密鍵被廢棄。也即,一般的公開鍵加密法中,公開鍵與秘密鍵是同時生成的。因此,本實施方式中,在生成公開鍵時伴隨生成秘密鍵的情況下也一樣,廢棄該秘密鍵。這樣,使得該打印機30所生成的秘密鍵被泄漏的可能性盡可能的低。
接下來,打印客戶端20的用戶,如圖4所示,生成含有通過打印機30進行打印時所必須的數(shù)據(jù)的打印任務數(shù)據(jù)D05,命令打印客戶端20指定打印機30進行打印。打印客戶端20使用先前取得的打印機30的公開鍵,對打印數(shù)據(jù)D05進行加密,生成打印發(fā)送用數(shù)據(jù)D10。另外,打印發(fā)送用數(shù)據(jù)D10可以含有如圖4所示的打印數(shù)據(jù)D05之外的數(shù)據(jù)。
接收該打印發(fā)送用數(shù)據(jù)D10的打印機30,如圖2所示,將所接收的打印發(fā)送用數(shù)據(jù)D10暫存在RAM42中。之后,打印機30使用秘密鍵解密該被加密的打印發(fā)送用數(shù)據(jù)D10。也即,打印機30,使用至少包括打印機位置信息的口令,以及該打印機30所生成并保存的隨機數(shù),通過公開鍵加密法生成秘密鍵。之后,通過該秘密鍵對打印發(fā)送用數(shù)據(jù)D10進行解密。
接下來,打印機30判斷打印發(fā)送用數(shù)據(jù)D10是否能夠被解密。在能夠解密打印發(fā)送用數(shù)據(jù)D10的情況下,根據(jù)解密打印發(fā)送用數(shù)據(jù)D10所得到的打印數(shù)據(jù)D05進行打印,在不能夠解密的情況下,不進行打印。接著,打印機30刪除所保存的隨機數(shù)。
接下來,使用流程圖對上述處理內(nèi)容進行詳細說明。首先對作為打印客戶端20、22向打印機30、32請求打印的情況下的處理的打印請求處理進行說明。
圖24以及圖25為說明打印客戶端20、22所執(zhí)行的打印請求處理的流程圖。該打印請求處理,是通過CPU64讀取并執(zhí)行保存在打印客戶端的ROM68或硬盤76中的打印請求程序而實現(xiàn)的。另外,本實施方式中,在用戶向打印客戶端輸入執(zhí)行打印的命令時,該打印請求處理被啟動并執(zhí)行。
另外,下面假設打印客戶端20向打印機30請求打印的情況,對處理進行說明。
如圖24所示,該打印請求處理中,首先打印客戶端20通過網(wǎng)絡10向打印機30發(fā)送連接請求(步驟S1100)。之后,確立打印客戶端20與打印機30之間的連接(步驟S1102)。另外,本實施方式中,通過SSL(Secure SocketLayer)通信等,在確保安全的基礎(chǔ)上,確立打印客戶端20與打印機30之間的連接。
接下來,打印客戶端20向打印機30發(fā)送認證信息(步驟S1104)。本實施方式中,使用用來特定打印客戶端的打印客戶端ID,與密碼的組合作為該認證信息。因此,打印客戶端20將打印客戶端ID與密碼發(fā)送給打印機30。
之后,打印客戶端20,從打印機30接收表示是否接受了該認證的認證結(jié)果,根據(jù)該認證結(jié)果,判斷打印機30是否接受了該認證(步驟S1106)。在認證未被接受的情況下(步驟S1106否),返回上述步驟S1104。
另外,在認證被接受的情況下(步驟S1106是),打印客戶端20向打印機30發(fā)送公開鍵取得請求(步驟S1108)。之后,判斷是否從打印機30接收到了公開鍵(步驟S1110)。在沒有從打印機30接收到公開鍵的情況下(步驟S1110否),重復該步驟S1110進行等待。
另外,在從打印機30接收到公開鍵的情況下(步驟S1110是),保存該公開鍵(步驟S1112)。本實施方式中,打印客戶端20將該公開鍵暫存在RAM66(參照圖3)中。這樣通過將公開鍵保存到RAM66中,在打印客戶端20的電源被切斷的情況下,自動將公開鍵清除,因此能夠提高公開鍵的秘密性。
接下來,打印機30解除打印客戶端與打印機的連接(步驟S1114)。也即,在通過SSL通信等確保安全性的狀態(tài)下,解除該打印客戶端20與打印機30之間所確立的連接。該連接的解除并非必不可少的處理,但由于下述的步驟S1126中所發(fā)送的打印發(fā)送用數(shù)據(jù)D10是通過公開鍵而被另行加密的,其以后的處理中缺乏確保連接自身的安全性的必要性,因此本實施方式中解除該連接。
接下來,如圖25所示,打印客戶端20根據(jù)用戶的打印請求,生成打印任務數(shù)據(jù)D05(步驟S1120)。該打印任務數(shù)據(jù)D05,是通過打印機30執(zhí)行打印所必須的,沒有被加密的數(shù)據(jù)。
接下來,打印客戶端20從RAM66中讀出在步驟S1112中所保存的公開鍵(步驟S1122)。接下來,打印客戶端20使用該公開鍵,對打印任務數(shù)據(jù)D05進行加密,生成打印發(fā)送用數(shù)據(jù)D10(步驟S1124)。另外,打印發(fā)送用數(shù)據(jù)D10還可以含有打印任務數(shù)據(jù)以外的數(shù)據(jù)。
接下來,打印客戶端20重新確立與打印機30之間的連接(步驟S1125)。如上所述,該連接可以不是確保安全性的連接。
接下來,打印客戶端20將該被加密的打印發(fā)送用數(shù)據(jù)D10發(fā)送給打印機30(步驟S1126)。具體的說,是指定打印機30的網(wǎng)絡地址,向網(wǎng)絡10發(fā)送打印發(fā)送用數(shù)據(jù)D10。
接下來,打印客戶端20判斷是否從打印機30接收到打印結(jié)果信息(步驟S1128)。在沒有接收到打印結(jié)果信息的情況下(步驟S1128否),重復該步驟S1128的處理進行等待。另外,在接收到打印結(jié)果信息的情況下(步驟S1128是),判斷該打印結(jié)果信息是否為打印完成通知(步驟S1130)。
在該打印結(jié)果信息是打印完成通知的情況下(步驟S1130是),表示在打印機30中正常結(jié)束了打印,因此,向用戶通知在打印機30中完成了打印這一消息(步驟S1132)。另外,在所接收到的打印結(jié)果信息不是打印完成通知的情況下(步驟S1130否),判斷該打印結(jié)果信息是否為無法解讀通知(步驟S1134)。
在該打印結(jié)果信息是無法解讀通知的情況下(步驟S1134是),向用戶通知由于打印機30不能夠?qū)Υ蛴“l(fā)送用數(shù)據(jù)D10進行解密,因此不能夠進行打印(步驟S1136)。另外,在該打印結(jié)果信息不是無法解讀通知的情況下(步驟S1134否),可以認為是其他某種錯誤,向用戶發(fā)送對應于該錯誤種類的通知(步驟S1138)。
在這些步驟S1132、S1136、S1138的通知之后,打印客戶端20將步驟S1112中保存在RAM66中的公開鍵刪除(步驟S1140)。該步驟S1140的處理并不是必須的,但為了提高公開鍵的秘密性,本實施方式中,每當1個打印任務完成時,刪除所取得的公開鍵。
接下來,打印客戶端20解除與打印機30的連接(步驟S1142)。這樣,就結(jié)束了該打印客戶端20中的打印請求處理。
接下來,對照圖26至圖28,對與打印客戶端20、22的打印請求處理相對應,打印機30、32所執(zhí)行的打印執(zhí)行處理進行說明。圖26至圖28為說明打印機30、32所執(zhí)行的打印執(zhí)行處理的流程圖。該打印執(zhí)行處理,是通過CPU40讀取并執(zhí)行保存在打印機的ROM44或硬盤58中的打印執(zhí)行程序而實現(xiàn)的。本實施方式中,該打印執(zhí)行處理,以給定的時間間隔穩(wěn)態(tài)執(zhí)行。
這里也和上述一樣,假設打印客戶端20向打印機30請求打印的情況而進行說明。
如圖26所示,打印機30判斷是否經(jīng)網(wǎng)絡10從打印客戶端20接收到連接請求(步驟S1200)。在沒有從打印客戶端20接收到連接請求的情況下(步驟S1200否),重復該步驟S1200的處理進行等待。另外,在從打印客戶端20接收到連接請求的情況下(步驟S1200是),如上所述,通過SSL通信等在確保安全性的基礎(chǔ)上,確立打印機30與打印客戶端20之間的連接(步驟S1202)。
接下來,打印機30判斷是否接收到了來自打印客戶端20的認證信息(步驟S1204)。在沒有接收到認證信息的情況下(步驟S1204否),重復該步驟S1204的處理進行等待。
另外,在接收到了認證信息的情況下(步驟S1204是),判斷該認證信息與該打印機30中所預先登錄的認證信息是否一致(步驟S1206)。具體的說,如上所述,由于打印客戶端20發(fā)送打印客戶端ID與密碼作為認證信息,因此判斷該打印客戶端ID以及密碼是否與該打印機30的硬盤58等中所預先登錄的打印客戶端ID以及密碼相一致。
在認證信息不一致的情況下(步驟S1206否),打印機30向打印客戶端20發(fā)送表示不接受認證的認證結(jié)果(步驟S1208),返回步驟S1204。另外,在認證一致的情況下(步驟S1206是),打印機30向打印客戶端20發(fā)送表示接受認證的認證結(jié)果(步驟S1210)。
接下來,打印機30判斷是否從打印客戶端20接收到公開鍵取得請求(步驟S1212)。在沒有接收到該公開鍵取得請求的情況下(步驟S1212否),重復該步驟S1212的處理進行等待。
另外,在接收到該公開鍵取得請求的情況下(步驟S1212是),打印機30取得該打印機30的機器固有信息(步驟S1214)。這里,機器固有信息是指,分配給該打印機30的識別信息,例如打印機30的制造序列號、MAC地址等。
接下來,如圖27所示,打印機30從位置檢測部54取得此時打印機30的打印機位置信息(步驟S1220)。這樣通過此時從位置檢測部54取得打印機位置信息,是為了在打印機30移動到了別的場所的情況下,使用該移動后的位置信息生成公開鍵。
接下來,打印機30使用機器固有信息與打印機位置信息生成口令(步驟S1222)。該口令的生成手法有多種,本實施方式中,通過單純地在機器固有信息后添加打印機位置信息而生成口令。另外,口令還可以含有除了該機器固有信息與打印機位置信息之外的數(shù)據(jù)。
接下來,打印機30生成1個隨機數(shù)并保存在打印機30中(步驟S1224)。本實施方式中,該所生成的隨機數(shù)被保存在RAM42(參考圖2)中。通過這樣將隨機數(shù)保存在RAM42中,在打印機30的電源被切斷的情況下,能夠自動將隨機數(shù)清除,因此能夠提高公開鍵與秘密鍵的秘密性。
接下來,打印機30使用步驟S1222中所生成的口令,與步驟S1224中所取得的隨機數(shù),通過公開鍵加密法,生成公開鍵與秘密鍵(步驟S1226)。公開鍵加密法中,如果所使用的口令與隨機數(shù)相同,即使再次生成公開鍵與秘密鍵,也生成相同的公開鍵與秘密鍵。接下來,打印機30在該所生成的公開鍵與秘密鍵中,只將公開鍵發(fā)送給打印客戶端20(步驟S1228)。另外,并不保存秘密鍵而將其廢棄。
接下來,打印機30解除與打印客戶端20之間的連接(步驟S1230)。該處理是與上述打印請求處理的步驟S1114相對應的處理。另外,如上所述,該步驟S1230的處理并不是必不可少的處理。
接下來,打印機30判斷是否經(jīng)網(wǎng)絡10從打印客戶端20接收到連接請求(步驟S1232)。在沒有從打印客戶端20接收到連接請求的情況下(步驟S1232否),重復該步驟S1232的處理進行等待。另外,在從打印客戶端20接收到連接請求的情況下(步驟S1232是),確立打印機30與打印客戶端20之間的連接(步驟S1234)。該連接中可以不確保安全性。
接下來,打印機30判斷是否從網(wǎng)絡10接收到了打印發(fā)送用數(shù)據(jù)D10(步驟S1236)。在沒有接收到任何打印發(fā)送用數(shù)據(jù)D10的情況下(步驟S1236否),重復該步驟S1236的處理進行等待。另外,在接收到打印發(fā)送用數(shù)據(jù)D10的情況下(步驟S1236是),打印機30取得自己的機器固有信息(步驟S1238)。
接下來,如圖28所示,打印機30從位置檢測部54取得此時打印機30的打印機位置信息(步驟S1240)。這樣通過此時從位置檢測部54取得打印機位置信息,是為了在打印機30移動到了別的場所的情況下,使用該移動后的位置信息生成秘密鍵。
接下來,打印機30根據(jù)機器固有信息與打印機位置信息,生成口令(步驟S1242)。該口令的生成方法,必須與上述步驟S1222的方法相同。這是因為,如果口令不相同,就無法對通過發(fā)送給打印客戶端的公開鍵所加密的打印發(fā)送用數(shù)據(jù)D10,通過秘密鍵進行解密。
接下來,打印機30從RAM42中讀取上述步驟S1224中生成的該打印機30的隨機數(shù)(步驟S1244)。接下來,打印機30使用所生成的口令與所取得的隨機數(shù),通過公開鍵加密法,生成公開鍵與秘密鍵(步驟S1246)。該步驟S1246中所使用的口令,如果打印機30的設置位置沒有被移動,就與上述步驟S1226中所使用的口令相同。另外,隨機數(shù)也與上述步驟S1226中的相同。因此,生成與步驟S1226中所生成的公開鍵和秘密鍵相同的公開鍵和秘密鍵。接下來,打印機30使用所生成的秘密鍵,解密所接收到的打印發(fā)送用數(shù)據(jù)D10(步驟S1248)。
接下來,打印機30使用秘密鍵判斷是否能夠解密打印發(fā)送用數(shù)據(jù)D10(步驟S1250)。在能夠解密的情況下(步驟S250是),根據(jù)所得到的打印任務數(shù)據(jù)D05,驅(qū)動打印引擎52執(zhí)行打印(步驟S1252)。具體的說,進行打印任務數(shù)據(jù)D05的語言解釋,生成適用于打印引擎52的打印請求數(shù)據(jù)。之后,通過將該打印請求數(shù)據(jù)發(fā)送給打印引擎52,由打印引擎52在打印用紙上進行打印。
由此可以得知,本實施方式中,使用至少包括位置檢測部54所檢測出的打印機位置信息的口令與RAM42中所保存的隨機數(shù),生成秘密鍵,在能夠通過該秘密鍵解密打印發(fā)送用數(shù)據(jù)D10的情況下,判斷打印發(fā)送用數(shù)據(jù)D10與打印機位置信息相匹配。
當該打印正常結(jié)束時,打印機30將表示打印正常結(jié)束的打印結(jié)束通知,作為打印結(jié)果信息,發(fā)送給打印客戶端20(步驟S1254)。
與此相對,在步驟S1250中,判斷無法解密打印發(fā)送用數(shù)據(jù)D10的情況下(步驟S1250否),將無法解讀通知作為打印結(jié)果信息,發(fā)送給打印客戶端20(步驟S1256)。也即,本實施方式中,使用至少包括位置檢測部54所檢測出的打印機位置信息的口令與保存在RAM42中的隨機數(shù),生成秘密鍵,在不能夠通過該秘密鍵解密打印發(fā)送用數(shù)據(jù)D10的情況下,判斷打印發(fā)送用數(shù)據(jù)D10與打印機位置信息不匹配。
在步驟S1254或步驟S1256的處理之后,打印機30刪除保存在RAM42中的隨機數(shù)(步驟S1258)。從RAM42中刪除隨機數(shù)的處理并不是必須的處理,但通過在每次結(jié)束關(guān)于1個打印任務的處理時,從RAM42中刪除隨機數(shù),能夠提高隨機數(shù)的秘密性。
接下來,打印機30解除與打印客戶端20的連接(步驟S1260)。之后,返回上述圖26的步驟S1200的處理。
如上所述,本實施方式的相關(guān)打印系統(tǒng)中,打印機30、32通過公開鍵加密法,對每個打印任務使用不同的隨機數(shù)生成公開鍵與秘密鍵,向打印客戶端20、22發(fā)送公開鍵,因此能夠提高公開鍵與秘密鍵的安全性。
并且,由于保存將公開鍵發(fā)送給打印客戶端20時所使用的隨機數(shù),并廢棄秘密鍵,因此能夠提高秘密鍵的安全性。另外,由于預先保存隨機數(shù),在對被通過該公開鍵所加密的打印發(fā)送用數(shù)據(jù)D10進行解密時,能夠使用該所保存的隨機數(shù),再次通過公開鍵加密法,生成相同的秘密鍵,從而能夠解密打印發(fā)送用數(shù)據(jù)D10。
另外,在打印機30、32無法通過該秘密鍵對打印發(fā)送用數(shù)據(jù)D10進行解密的情況下,不執(zhí)行所接收到的打印發(fā)送用數(shù)據(jù)的打印,因此能夠避免具有非法意圖的第三者使用該打印機30、31進行打印。
本發(fā)明的實施方式5的相關(guān)打印系統(tǒng),至少使用表示打印機的設置位置的打印機位置信息生成公開鍵,并使打印客戶端事先取得該公開鍵,當打印客戶端向該打印機發(fā)送打印數(shù)據(jù)時,發(fā)送含有使用該所取得的公開鍵對打印數(shù)據(jù)進行加密所生成的加密打印數(shù)據(jù)的打印發(fā)送用數(shù)據(jù)。這樣,接收該打印發(fā)送用數(shù)據(jù)的打印機,在接收時再次至少使用此時的打印機位置信息來生成秘密鍵,只在能夠通過該秘密鍵對打印發(fā)送用數(shù)據(jù)中所包括的加密打印數(shù)據(jù)進行解密的情況下才執(zhí)行打印。另外,一般來說,在公開鍵加密法中,生成公開鍵以及秘密鍵時使用隨機數(shù),但本實施方式中,通過預先將生成公開鍵時所使用的隨機數(shù)發(fā)送給打印客戶端。在打印客戶端中預先保存隨機數(shù)。之后,在打印客戶端向打印機發(fā)送加密打印數(shù)據(jù)時,將該隨機數(shù)也包括在打印發(fā)送用數(shù)據(jù)中發(fā)送給打印機,接收到該打印發(fā)送用數(shù)據(jù)的打印機,使用打印發(fā)送用數(shù)據(jù)中所包括的隨機數(shù),再次生成秘密鍵。這樣使得為了對加密打印數(shù)據(jù)進行解密而生成秘密鍵時所使用的隨機數(shù),與生成公開鍵時所使用的隨機數(shù)相同,如果打印機位置不變,就能夠得到相同的秘密鍵。下面將進行詳細說明。
另外,本實施方式的相關(guān)打印系統(tǒng)的構(gòu)成與上述實施方式1中的圖1相同,打印機30、32的構(gòu)成與上述圖2相同,打印客戶端20、22的構(gòu)成與上述圖3相同。
接下來,對在本實施方式的相關(guān)打印系統(tǒng)中,例如打印客戶端20通過打印機30進行打印的情況下的處理進行概要說明。
這種情況下,打印客戶端20實現(xiàn)例如從打印機30取得該打印機30的公開鍵,與生成該公開鍵時所使用的隨機數(shù)。本實施方式中,該公開鍵與隨機數(shù)的取得是通過網(wǎng)絡10進行的。也即,打印機30,確認請求發(fā)送公開鍵與隨機數(shù)的打印客戶端20是否具有正當權(quán)限,只在具有正當權(quán)限的情況下,將自己的公開鍵與生成該公開鍵時所使用的隨機數(shù)通知給該打印客戶端。該公開鍵,是由打印機30使用至少包括表示打印機30的設置位置的打印機位置信息的口令以及所生成的隨機數(shù),通過公開鍵加密法生成的。打印客戶端20具有保存公開鍵,以及通過公開鍵加密法在生成該公開鍵時所使用的隨機數(shù)的功能。
但是,此時打印機30將所生成的秘密鍵廢棄。也即,一般的公開鍵加密法中,公開鍵與秘密鍵是同時生成的。因此,本實施方式中,在生成公開鍵時伴隨生成秘密鍵的情況下,也廢棄該秘密鍵。這樣,在該打印機30的設置場所被移動的情況下,通過移動前所生成的公開鍵所加密的加密打印數(shù)據(jù),不能夠被移動后的打印機30解密。
但打印機30的公開鍵并不一定要通過網(wǎng)絡10通知給打印客戶端20。例如,打印客戶端20的用戶如果具有正當權(quán)限,就能夠到打印機30的設置場所操作該打印機30,因此,可以由用戶操作打印機30的控制面板,取得打印機30的公開鍵與所使用的隨機數(shù)。這種情況下,用戶可以將打印機30的公開鍵與所使用的隨機數(shù)記錄到軟盤等記錄媒體上,由打印客戶端20對其進行讀取。
接下來,打印客戶端20的用戶,如圖29所示,生成應當打印的數(shù)據(jù),命令打印客戶端20指定打印機30進行打印。打印客戶端20根據(jù)應當打印的數(shù)據(jù),生成打印數(shù)據(jù)D05。這里,打印數(shù)據(jù)D05,表示通過打印機30驅(qū)動打印引擎52進行打印所必須的原本的打印數(shù)據(jù)。
打印客戶端20,使用從打印機30取得的公開鍵,對打印數(shù)據(jù)D05進行加密,生成加密打印數(shù)據(jù)。之后,打印客戶端20在該加密打印數(shù)據(jù)上,添加同樣從打印機30取得的隨機數(shù),生成打印發(fā)送用數(shù)據(jù)D10。另外,打印發(fā)送用數(shù)據(jù)D10可以含有如圖29所示的加密打印數(shù)據(jù)與隨機數(shù)之外的數(shù)據(jù)。
接收該打印發(fā)送用數(shù)據(jù)D10的打印機30,如圖2所示,將所接收的打印發(fā)送用數(shù)據(jù)D10暫存在RAM42中。之后,打印機30使用秘密鍵解密該打印發(fā)送用數(shù)據(jù)D10中所包括的加密打印數(shù)據(jù)。也即,打印機30,使用至少包括打印機位置信息的口令,以及該打印發(fā)送用數(shù)據(jù)D10中所含有的隨機數(shù),通過公開鍵加密法生成秘密鍵。
接下來打印機30判斷加密打印數(shù)據(jù)是否能夠被解密。在加密打印數(shù)據(jù)能夠被解密的情況下,根據(jù)對加密打印數(shù)據(jù)進行解密所得到的打印數(shù)據(jù)D05進行打印,在不能夠解密的情況下,不進行打印。
接下來,使用流程圖對上述處理內(nèi)容進行詳細說明。首先對在打印客戶端20、22取得公開鍵與隨機數(shù)的情況下,打印客戶端20、22與打印機30、32的處理進行說明。
圖30為說明打印客戶端20、22所執(zhí)行的公開鍵請求處理的流程圖。該公開鍵請求處理,是通過CPU64讀取并執(zhí)行保存在打印客戶端的ROM68或硬盤76中的公開鍵請求程序而實現(xiàn)的。另外,本實施方式中,在用戶向打印客戶端輸入啟動該公開鍵請求處理的命令時,該公開鍵請求處理被啟動并執(zhí)行。
另外,下面假設打印客戶端20向打印機30請求公開鍵的情況,對處理進行說明。
如圖30所示,該公開鍵請求處理中,首先打印客戶端20與打印機30相連接(步驟S2100)。本實施方式中,打印客戶端20通過指定打印機30的網(wǎng)絡地址,確立打印客戶端20與打印機30之間的連接。另外,本實施方式中,通過SSL(Secure Socket Layer)通信等,在確保安全的基礎(chǔ)上,確立打印客戶端20與打印機30之間的連接。
接下來,打印客戶端20向打印機30發(fā)送認證信息(步驟S2102)。本實施方式中,使用用來特定打印客戶端的打印客戶端ID與密碼的組合,作為該認證信息。因此,打印客戶端20將打印客戶端ID與密碼發(fā)送給打印機30。
之后,打印客戶端20,從打印機30接收表示是否接受了該認證的認證結(jié)果,根據(jù)該認證結(jié)果,判斷打印機30是否接受了該認證(步驟S2104)。在認證未被接受的情況下(步驟S2104否),返回上述步驟S2102。
另外,在認證被接受的情況下(步驟S2104是),打印客戶端20向打印機30發(fā)送公開鍵取得請求(步驟S2106)。之后,判斷是否從打印機30接收到了公開鍵與生成該公開鍵時所使用的隨機數(shù)(步驟S2108)。在沒有從打印機30接收到公開鍵與隨機數(shù)的情況下(步驟S2108否),重復該步驟S2108進行等待。
另外,在從打印機30接收到公開鍵與隨機數(shù)的情況下(步驟S2108是),保存該公開鍵與隨機數(shù)(步驟S2110)。本實施方式中,打印客戶端20預先在硬盤76中設置有公開鍵表格TB210,將所取得的公開鍵與隨機數(shù)保存在該公開鍵表格TB210中。
圖31為說明該公開鍵表格TB210的構(gòu)成的一例示意圖。如圖31所示,公開鍵表格TB210具有保存用來對打印機進行特定的信息的項目TD10,以及使所取得的公開鍵與打印機相對應而保存的項目TD11,以及使所取得的隨機數(shù)與打印機相對應而保存的項目TD12。這樣,公開鍵表格TB210,能夠?qū)㈥P(guān)于多個打印機的公開鍵以及隨機數(shù),對每個打印機進行保存。另外,通過這樣在硬盤78的公開鍵表格TB10中保存公開鍵以及隨機數(shù),即使在打印客戶端20的電源被切斷并被再次接通的情況下,也能夠?qū)⒁郧八〉玫墓_鍵與隨機數(shù)從硬盤78中原封不動地讀出并使用。
通過在該公開鍵表格TB210中保存所取得的公開鍵與隨機數(shù),結(jié)束圖30所示的公開鍵請求處理。
接下來對照圖32以及圖33,對與打印客戶端20、22的公開鍵請求處理相對應,打印機30、32所執(zhí)行的公開鍵發(fā)送處理進行說明。圖32以及圖33為說明打印機30、32所執(zhí)行的公開鍵發(fā)送處理的流程圖。該公開鍵發(fā)送處理,是通過CPU40讀取并執(zhí)行保存在打印機的ROM44或硬盤58中的公開鍵發(fā)送程序而實現(xiàn)的。另外,該公開鍵發(fā)送處理,是對應于上述公開鍵請求處理而被啟動的。
這里也和上述一樣,假設打印客戶端20向打印機30請求公開鍵的情況而進行說明。
如圖32所示,首先打印機30確立與打印客戶端20之間的連接(步驟S2120)。這與上述打印客戶端20側(cè)的步驟S2100相對應。也即,通過SSL通信等,在確保安全的基礎(chǔ)上確立連接。接下來,打印機30判斷是否接收到了來自打印客戶端20的認證信息(步驟S2122)。在沒有接收到認證信息的情況下(步驟S2122否),重復該步驟S2122的處理進行等待。
另外,在從打印客戶端20接收到了認證信息的情況下(步驟S2122是),判斷該認證信息與該打印機30中所預先登錄的認證信息是否一致(步驟S2124)。具體的說,如上所述,由于打印客戶端20發(fā)送打印客戶端ID與密碼作為認證信息,因此判斷該打印客戶端ID以及密碼是否與該打印機30中所預先登錄的打印客戶端ID以及密碼相一致。
在認證信息不一致的情況下(步驟S2124否),打印機30向打印客戶端20發(fā)送表示不接受認證的認證結(jié)果(步驟S2126),返回到步驟S2122的處理。另外,在認證信息一致的情況下(步驟S2124是),打印機30向打印客戶端20發(fā)送表示接受認證的認證結(jié)果(步驟S2128)。
接下來,打印機30判斷是否從打印客戶端20接收到公開鍵取得請求(步驟S2130)。在沒有接收到該公開鍵取得請求的情況下(步驟S2130否),重復該步驟S2130的處理進行等待。
另外,在從打印客戶端20接收到公開鍵取得請求的情況下(步驟S2130是),打印機30取得該打印機30的機器固有信息(步驟S2132)。這里,機器固有信息是指,分配給該打印機30的識別信息,例如打印機30的制造序列號、MAC地址等。
接下來,如圖33所示,打印機30從位置檢測部54取得此時打印機30的打印機位置信息(步驟S2140)。這樣通過此時從位置檢測部54取得打印機位置信息,是為了在打印機30移動到了別的場所的情況下,使用該移動后的位置信息生成公開鍵。
接下來,打印機30使用機器固有信息與打印機位置信息生成口令(步驟S2142)。該口令的生成手法有多種,本實施方式中,通過單純地在機器固有信息后添加打印機位置信息而生成口令。另外,口令還可以含有除了該機器固有信息與打印機位置信息之外的數(shù)據(jù)。
接下來,打印機30生成隨機數(shù)(步驟S2144)。接下來,打印機30使用步驟S2142中所生成的口令,與步驟S2144中所生成的隨機數(shù),通過公開鍵加密法,生成公開鍵與秘密鍵(步驟S2146)。公開鍵加密法中,如果所使用的口令與隨機數(shù)相同,即使再次生成公開鍵與秘密鍵,也生成相同的公開鍵與秘密鍵。接下來,打印機30將該所生成的公開鍵與秘密鍵中的公開鍵,與生成該公開鍵與隨機數(shù)時所使用的隨機數(shù)發(fā)送給打印客戶端20(步驟S2148)。另外,并不保存秘密鍵而將其廢棄。這樣本實施方式的相關(guān)公開鍵發(fā)送處理就結(jié)束了。
接下來,對在打印客戶端20、22希望進行打印時,向打印機30、32發(fā)送該打印請求的情況下的打印客戶端20、22以及打印機30、32的處理,進行詳細說明。
圖34為說明打印客戶端20、22所執(zhí)行的打印請求處理的流程圖。該打印請求處理,是通過CPU64讀取并執(zhí)行保存在打印客戶端的ROM68或硬盤76中的打印請求程序而實現(xiàn)的。本實施方式中,在用戶向打印客戶端輸入打印命令時,該公開鍵請求處理被啟動并執(zhí)行。
這里假設打印客戶端20向打印機30請求打印的場合進行說明。
如圖34所示,打印客戶端20根據(jù)用戶的打印請求,生成打印數(shù)據(jù)D05(步驟S2160)。該打印數(shù)據(jù)D05是在打印機30是通常的打印機的情況下,實際進行打印所必須的數(shù)據(jù)。
接下來,打印客戶端20從硬盤76中的公開鍵表格TB210中讀出打印機30的公開鍵,與生成該公開鍵時所使用的隨機數(shù)(步驟S2162)。接下來,打印客戶端20使用打印機30的公開鍵,對打印數(shù)據(jù)D05進行加密,生成加密打印數(shù)據(jù)(步驟S2164)。
接下來,打印客戶端20,在所生成的加密打印數(shù)據(jù)中,添加步驟S2162中所讀出的隨機數(shù),生成打印發(fā)送用數(shù)據(jù)D10(步驟S2165)另外,打印發(fā)送用數(shù)據(jù)D10還可以含有該打印數(shù)據(jù)以及隨機數(shù)以外的數(shù)據(jù)。
接下來,打印客戶端20將該所生成的打印發(fā)送用數(shù)據(jù)D10發(fā)送給打印機30(步驟S2166)。具體的說,是指定打印機30的網(wǎng)絡地址,向網(wǎng)絡10發(fā)送打印發(fā)送用數(shù)據(jù)D10。
接下來,打印客戶端20判斷是否從打印機30接收到打印結(jié)果信息(步驟S2168)。在沒有接收到打印結(jié)果信息的情況下(步驟S2168否),重復該步驟S2168的處理進行等待。另外,在接收到打印結(jié)果信息的情況下(步驟S2168是),判斷該打印結(jié)果信息是否為打印完成通知(步驟S2170)。
在該打印結(jié)果信息是打印完成通知的情況下(步驟S2170是),表示在打印機30中正常結(jié)束了打印,因此,向用戶通知在打印機30中完成了打印這一消息(步驟S2172)。另外,在所接收到的打印結(jié)果信息不是打印完成通知的情況下(步驟S2170否),判斷該打印結(jié)果信息是否為無法解讀通知(步驟S2174)。
在該打印結(jié)果信息是無法解讀通知的情況下(步驟S2174是),向用戶通知由于打印機30不能夠?qū)Υ蛴“l(fā)送用數(shù)據(jù)D10進行解密,因此不能夠進行打印(步驟S2176)。另外,在該打印結(jié)果信息不是無法解讀通知的情況下(步驟S174否),可以認為是其他某種錯誤,向用戶發(fā)送對應于該錯誤種類的通知(步驟S178)。
通過這些步驟S2172、步驟S2176以及步驟S2178的通知,結(jié)束了該打印客戶端20中的打印請求處理。
接下來,對照圖35,對與打印客戶端20、22的打印請求處理相對應,打印機30、32所執(zhí)行的打印執(zhí)行處理進行說明。圖35為說明打印機30、32所執(zhí)行的打印執(zhí)行處理的流程圖。該打印執(zhí)行處理,是通過CPU40讀取并執(zhí)行保存在打印機的ROM44或硬盤58中的打印執(zhí)行程序而實現(xiàn)的。本實施方式中,該打印執(zhí)行處理,以給定的時間間隔穩(wěn)態(tài)執(zhí)行。
這里也和上述一樣,假設為打印客戶端20向打印機30請求打印的情況而進行說明。
如圖35所示,打印機30判斷是否從網(wǎng)絡10接收到了打印發(fā)送用數(shù)據(jù)D10(步驟S2180)。在沒有接收到任何打印發(fā)送用數(shù)據(jù)D10的情況下(步驟S2180否),重復該步驟S2180的處理進行等待。
另外,在接收到打印發(fā)送用數(shù)據(jù)D10的情況下(步驟S2180是),打印機30取得自己的機器固有信息(步驟S2182)。接下來,打印機30從位置檢測部54取得此時打印機30的打印機位置信息(步驟S2184)。這樣通過此時從位置檢測部54取得打印機位置信息,是為了在打印機30移動到了別的場所的情況下,由于該打印機30有可能被設置在用戶所不期望的場所,在這種情況下使得通過打印機30的打印不能夠進行。
接下來,打印機30根據(jù)機器固有信息與打印機位置信息,生成口令(步驟S2186)。該口令的生成方法,必須與上述公開鍵發(fā)送處理中的步驟S2142中的方法相同。這是因為,如果口令不相同,就無法對通過發(fā)送給打印客戶端的公開鍵所加密的加密打印數(shù)據(jù),通過秘密鍵進行解密。
接下來,打印機30取得打印發(fā)送用數(shù)據(jù)D10中所包括的隨機數(shù)(步驟S2188)。接下來,打印機30使用所生成的口令與所取得的隨機數(shù),通過公開鍵加密法,生成公開鍵與秘密鍵(步驟S2190)。該步驟S2190中所使用的口令,如果打印機30的設置位置沒有被移動,就與上述公開鍵發(fā)送處理中的步驟S2146中所使用的口令相同。另外,步驟S2190中所使用的隨機數(shù),也和步驟S2146中所使用的隨機數(shù)相同。因此,生成與步驟S2146中所生成的公開鍵和秘密鍵相同的公開鍵和秘密鍵。接下來,打印機30使用所生成的秘密鍵,解密包括在打印發(fā)送用數(shù)據(jù)D10中的加密打印數(shù)據(jù),取得打印數(shù)據(jù)D05(步驟S2192)。
接下來,打印機30使用秘密鍵判斷是否能夠?qū)用艽蛴?shù)據(jù)進行解密(步驟S2194)。在能夠解密的情況下(步驟S2194是),根據(jù)所得到的打印數(shù)據(jù)D05,驅(qū)動打印引擎52執(zhí)行打印(步驟S2196)。具體的說,進行打印數(shù)據(jù)D05的語言解釋,生成適用于打印引擎52的打印請求數(shù)據(jù)。之后,通過將該打印請求數(shù)據(jù)發(fā)送給打印引擎52,由打印引擎52在打印用紙上進行打印。
由此可以得知,本實施方式中,使用至少包括位置檢測部54所檢測出的打印機位置信息的口令,與隨同加密打印數(shù)據(jù)被發(fā)送的隨機數(shù),生成秘密鍵,在能夠通過該秘密鍵對加密打印數(shù)據(jù)進行解密的情況下,判斷該加密打印數(shù)據(jù)與打印機位置信息相匹配。
當該打印正常結(jié)束時,打印機30將表示打印正常結(jié)束的打印結(jié)束通知,作為打印結(jié)果信息,發(fā)送給打印客戶端20(步驟S2198)。之后,返回到上述步驟S2180的處理。
與此相對,在步驟S2194中,判斷無法對加密打印數(shù)據(jù)進行解密的情況下(步驟S2194否),將無法解讀通知作為打印結(jié)果信息,發(fā)送給打印客戶端20(步驟S2200)。也即,本實施方式中,使用至少包括位置檢測部54所檢測出的打印機位置信息的口令,與隨同加密打印數(shù)據(jù)被發(fā)送的隨機數(shù),生成秘密鍵,在不能夠通過該秘密鍵對加密打印數(shù)據(jù)進行解密的情況下,判斷該加密打印數(shù)據(jù)與打印機位置信息不匹配。之后,返回到上述步驟S2180的處理。
如上所述,本實施方式的相關(guān)打印系統(tǒng)中,由于打印客戶端20、22能夠根據(jù)打印機位置信息,對能夠打印被加密發(fā)送的加密打印數(shù)據(jù)的打印機進行限定,因此,打印客戶端20、22的用戶能夠避免在位于其不希望的位置上的打印機上進行打印。例如,在打印機30被移動到其他場所,但網(wǎng)絡10內(nèi)的打印機30的網(wǎng)絡地址沒有改變的情況下,即使從打印客戶端20誤向該打印機30發(fā)送含有加密打印數(shù)據(jù)的打印發(fā)送用數(shù)據(jù)D10,由于打印機30中打印機位置信息發(fā)生了變更,因此步驟S2186中所生成的口令與移動前的口令不同。這樣,即使使用通過該口令所生成的秘密鍵,也無法解密打印發(fā)送用數(shù)據(jù)D10中所含有的加密打印數(shù)據(jù),不能夠由打印機30進行打印。所以,能夠提高打印數(shù)據(jù)D05的安全性。
另外,在打印機30、32側(cè)也一樣,能夠避免如果本來沒有權(quán)限使用該打印機30、32進行打印的用戶,向打印機30、32發(fā)送打印數(shù)據(jù),使打印機30、32執(zhí)行大量的打印這一事項。例如,因某種原因,即使打印機30的網(wǎng)絡地址被第三者所得知,向該打印機30發(fā)送打印發(fā)送用數(shù)據(jù)D10,也無法取得該打印機30的公開鍵。即使如果該用戶通過不同的公開鍵對打印數(shù)據(jù)D05進行加密,生成含有加密打印數(shù)據(jù)的打印發(fā)送用數(shù)據(jù)D10,或者生成含有未加密打印數(shù)據(jù)的打印發(fā)送用數(shù)據(jù)D10,并向打印機30發(fā)送打印發(fā)送用數(shù)據(jù)D10,由于在打印執(zhí)行處理的步驟S2194中判斷無法解密,因此無法使打印機30執(zhí)行打印。這樣,能夠提高打印機30自身的安全性。
另外,本實施方式中,由于口令中含有機器固有信息,因此,即使因某種原因讓第三者知道了打印機30的位置,如果不知道打印機30的機器固有信息,也無法特定打印機30所使用的口令。因此,能夠使第三者冒充該打印機30接收打印發(fā)送用數(shù)據(jù)D10,并解密該打印發(fā)送用數(shù)據(jù)D10中所含有的加密打印數(shù)據(jù)變得非常困難。
另外,由于該隨機數(shù)由各個打印客戶端20、22分別生成,各個打印客戶端20、22將該隨機數(shù)與公開鍵一起保存到硬盤等可重寫型非易失性記憶裝置中。之后,打印客戶端20、22,將該隨機數(shù)與對打印數(shù)據(jù)進行加密所得到的加密打印數(shù)據(jù)一起發(fā)送給打印機30、32,因此,打印機30、32能夠在生成秘密鍵時使用與生成公開鍵時所使用的隨機數(shù)相同的隨機數(shù)。這樣,能夠?qū)νㄟ^使用該隨機數(shù)所生成的公開鍵所加密的加密打印數(shù)據(jù),再次生成能夠?qū)ζ溥M行解密的秘密鍵。
本發(fā)明的實施方式6中,打印客戶端20、22對每個打印機以及每個用戶分別生成并保存公開鍵以及生成該公開鍵時所使用的隨機數(shù)。這樣,使得第三者對隨機數(shù)的推測更加困難。下面將進行詳細說明。
另外,本實施方式的相關(guān)打印系統(tǒng)的構(gòu)成與上述實施方式1中的圖1相同,打印機30、32的構(gòu)成與上述圖2相同,打印客戶端20、22的構(gòu)成與上述圖3相同。另外,本實施方式的相關(guān)打印機30、32所執(zhí)行的公開鍵發(fā)送處理、打印執(zhí)行處理也和上述實施方式5相同。
圖36為說明本實施方式的相關(guān)打印客戶端20、22所執(zhí)行的公開鍵發(fā)送處理的流程圖的一部分,與上述實施方式5中的圖30相對應。
如圖36所示,本實施方式的相關(guān)公開鍵請求處理,一直到步驟S2108中所示的公開鍵以及隨機數(shù)的接收,都與上述實施方式5的處理相同,接下來的步驟S2300的處理不同。也即,本實施方式的相關(guān)打印客戶端20,在接收到公開鍵與隨機數(shù)的情況下(步驟S2108是),對每個打印機以及用戶區(qū)分該公開鍵與隨機數(shù),并保存到公開鍵表格TB220中。
圖37為說明本實施方式的相關(guān)公開鍵表格TB220的一例示意圖。如圖37所示,本實施方式的相關(guān)公開鍵表格TB220中,除了上述實施方式5中的公開鍵表格TB210中的項目之外,還具有用來保存用戶ID的項目TD20作為數(shù)據(jù)項目。也即,本實施方式中,打印客戶端20以每個用戶ID分別保存公開鍵與隨機數(shù)。另外,本實施方式的公開鍵表格TB220中,未每個打印機分別形成表格。因此,即使是同一個用戶ID,如果打印機不同,也可能保存不同的公開鍵與隨機數(shù)。
通過將該公開鍵與隨機數(shù)保存到公開鍵表格TB220中,本實施方式的相關(guān)公開鍵請求處理就結(jié)束了。
接下來對照圖38,對本實施方式的相關(guān)打印客戶端20、22所執(zhí)行的打印請求處理進行說明。該圖38為說明本實施方式的相關(guān)打印客戶端20、22所執(zhí)行的打印請求處理的流程圖。
如圖38所示,本實施方式的相關(guān)打印請求處理中,公開鍵與隨機數(shù)的讀出處理與上述實施方式5中不同。也即,在步驟S2160中生成了打印數(shù)據(jù)D05之后,打印客戶端20取得用戶ID(步驟S2310)。也即,取得指示打印機30進行打印的用戶的用戶ID。該用戶ID,例如可以在向打印客戶端20輸入打印命令時,請求用戶輸入,或者,在用戶使用打印客戶端20時,作為認證由用戶輸入。
接下來,打印客戶端20,從圖37中的公開鍵表格TB220中,在保存在被請求打印的打印機的表格中,讀出以該用戶ID保存的公開鍵與隨機數(shù)(步驟S2312)。也即,本實施方式的公開鍵表格TB220中,由于以每個打印機構(gòu)成表格,因此在對步驟S2160中所生成的打印數(shù)據(jù)D05進行打印的打印機的表格中,讀出以該用戶ID登錄的公開鍵與隨機數(shù)。之后的處理與上述實施方式5相同。
如上所述,通過本實施方式的相關(guān)打印系統(tǒng),也能夠得到與上述實施方式5相同的效果。另外,本實施方式的相關(guān)打印系統(tǒng),由于通過使打印客戶端20、22對每個打印機以及每個用戶分別生成并保存公開鍵與隨機數(shù),因此能夠使得第三者對該隨機數(shù)的推測極為困難。
本發(fā)明的實施方式7的相關(guān)打印系統(tǒng),對每個打印任務生成隨機數(shù),使用該所生成的隨機數(shù),與至少含有表示打印機的設置位置的打印機位置信息的口令,生成公開鍵,將該公開鍵與隨機數(shù)從打印機發(fā)送給打印客戶端。打印客戶端,生成使用該公開鍵與隨機數(shù)對打印任務數(shù)據(jù)進行加密所得到的加密打印任務數(shù)據(jù),同時在該加密打印任務數(shù)據(jù)中,添加打印機所發(fā)送的隨機數(shù),生成打印發(fā)送用數(shù)據(jù)。之后,打印客戶端將該打印發(fā)送用數(shù)據(jù)發(fā)送給打印機。這樣,接收該打印發(fā)送用數(shù)據(jù)的打印機,在接收時再次使用至少含有此時的打印機位置信息的口令,與打印發(fā)送用數(shù)據(jù)中所包含的隨機數(shù),生成秘密鍵,只在能夠通過該秘密鍵對加密打印任務數(shù)據(jù)進行解密的情況下才執(zhí)行打印。下面將進行詳細說明。
另外,本實施方式的相關(guān)打印系統(tǒng)的構(gòu)成與上述實施方式1中的圖1相同,打印機30、32的構(gòu)成與上述圖2相同,打印客戶端20、22的構(gòu)成與上述圖3相同。
接下來,對本實施方式的相關(guān)打印系統(tǒng)中,例如打印客戶端20通過打印機30進行打印的情況下的處理,進行概要說明。
這種情況下,首先打印客戶端20從打印機30得到公開鍵與生成該公開鍵時所使用的隨機數(shù)。本實施方式中,該公開鍵與隨機數(shù)的取得是通過網(wǎng)絡10對每個打印任務進行的。也即,打印機30對請求發(fā)送公開鍵的打印客戶端20是否具有正當權(quán)限進行確認,只在具有正當?shù)臋?quán)限的情況下,將新生成的公開鍵與生成該公開鍵時所使用的隨機數(shù),發(fā)送給打印客戶端20。也即,打印機30,使用至少包括表示打印機30的設置位置的位置信息的口令,以及該打印機30對每個打印任務所生成并保存的隨機數(shù),通過公開鍵加密法生成公開鍵。由于打印機30沒有保存生成該公開鍵時所使用的隨機數(shù)的必要,因此將其廢棄。
另外,此時所生成的秘密鍵也被廢棄。也即,一般的公開鍵加密法中,公開鍵與秘密鍵是同時生成的。因此,本實施方式中,在生成公開鍵時伴隨生成秘密鍵的情況下也一樣,廢棄該秘密鍵。這樣,使得該打印機30所生成的秘密鍵被泄漏的可能性盡可能的低。
接下來,打印客戶端20的用戶,如圖29所示,生成應當打印的數(shù)據(jù),命令打印客戶端20指定打印機30進行打印。打印客戶端20根據(jù)應當打印的數(shù)據(jù),生成打印任務數(shù)據(jù)D05。這里,打印任務數(shù)據(jù)D05,表示通過打印機30驅(qū)動打印引擎52進行打印所必須的原本的打印數(shù)據(jù)。
打印客戶端20,使用先前取得的打印機30的公開鍵,對打印任務數(shù)據(jù)D05進行加密,生成加密打印任務數(shù)據(jù)。之后,打印客戶端20在該加密打印任務數(shù)據(jù)上,添加同樣從打印機30取得的隨機數(shù),生成打印發(fā)送用數(shù)據(jù)D10。另外,打印發(fā)送用數(shù)據(jù)D10可以含有如圖29所示的加密打印數(shù)據(jù)與隨機數(shù)之外的數(shù)據(jù)。
接收該打印發(fā)送用數(shù)據(jù)D10的打印機30,如圖2所示,將所接收的打印發(fā)送用數(shù)據(jù)D10暫存在RAM42中。之后,打印機30使用秘密鍵解密該打印發(fā)送用數(shù)據(jù)D10中所包括的加密打印任務數(shù)據(jù)。也即,打印機30,使用至少包括打印機位置信息的口令,以及該該打印發(fā)送用數(shù)據(jù)中所含有的隨機數(shù),通過公開鍵加密法生成秘密鍵。之后,通過該秘密鍵對打印發(fā)送用數(shù)據(jù)中所含有的加密打印任務數(shù)據(jù)進行解密。
接下來,打印機30判斷加密打印任務數(shù)據(jù)是否能夠被解密。在加密打印任務數(shù)據(jù)能夠被解密的情況下,根據(jù)對加密打印任務數(shù)據(jù)進行解密所得到的打印任務數(shù)據(jù)D05進行打印,在不能夠解密的情況下,不進行打印。
接下來,使用流程圖對上述處理內(nèi)容進行詳細說明。首先對作為打印客戶端20、22向打印機30、32請求打印的情況下的處理的打印請求處理進行說明。
圖39以及圖40為說明打印客戶端20、22所執(zhí)行的打印請求處理的流程圖。該打印請求處理,是通過CPU64讀取并執(zhí)行保存在打印客戶端的ROM68或硬盤76中的打印請求程序而實現(xiàn)的。另外,本實施方式中,在用戶向打印客戶端輸入執(zhí)行打印的命令時,該打印請求處理被啟動并執(zhí)行。
另外,下面假設打印客戶端20向打印機30請求打印的情況,對處理進行說明。
如圖39所示,該打印請求處理中,首先打印客戶端20通過網(wǎng)絡10向打印機30發(fā)送連接請求(步驟S3100)。之后,確立打印客戶端20與打印機30之間的連接(步驟S3102)。另外,本實施方式中,通過SSL(Secure SocketLayer)通信等,在確保安全的基礎(chǔ)上,確立打印客戶端20與打印機30之間的連接。
接下來,打印客戶端20向打印機30發(fā)送認證信息(步驟S3104)。本實施方式中,使用用來特定打印客戶端的打印客戶端ID與密碼的組合,作為該認證信息。因此,打印客戶端20將打印客戶端ID與密碼發(fā)送給打印機30。
之后,打印客戶端20,從打印機30接收表示是否接受了該認證的認證結(jié)果,根據(jù)該認證結(jié)果,判斷打印機30是否接受了該認證(步驟S3106)。在認證未被接受的情況下(步驟S3106否),返回上述步驟S3104。
另外,在認證被接受的情況下(步驟S3106是),打印客戶端20向打印機30發(fā)送公開鍵取得請求(步驟S3108)。之后,判斷是否從打印機30接收到了公開鍵以及生成該公開鍵時所使用的隨機數(shù)(步驟S3110)。在沒有從打印機30接收到公開鍵與隨機數(shù)的情況下(步驟S3110否),重復該步驟S3110進行等待。
另外,在從打印機30接收到公開鍵與隨機數(shù)的情況下(步驟S3110是),保存該公開鍵與隨機數(shù)(步驟S3112)。本實施方式中,打印客戶端20將該公開鍵與隨機數(shù)暫存在RAM66(參照圖3)中。這樣通過將公開鍵保存到RAM66中,在打印客戶端20的電源被切斷的情況下,自動將公開鍵與隨機數(shù)清除,因此能夠提高公開鍵與隨機數(shù)的秘密性。
接下來,打印機30解除打印客戶端與打印機的連接(步驟S3114)。也即,在通過SSL通信等確保安全性的狀態(tài)下,解除該打印客戶端20與打印機30之間所確立的連接。該連接的解除并非必不可少的處理,但由于下述的步驟S3126中所發(fā)送的打印任務數(shù)據(jù)D05是通過公開鍵而被另行加密的,其以后的處理中缺乏確保連接自身的安全性的必要性,因此本實施方式中解除該連接。
接下來,如圖40所示,打印客戶端20根據(jù)用戶的打印請求,生成打印任務數(shù)據(jù)D05(步驟S3120)。該打印任務數(shù)據(jù)D05,是通過打印機30執(zhí)行打印所必須的,沒有被加密的數(shù)據(jù)。
接下來,打印客戶端20從RAM66中讀出在步驟S3112中所保存的公開鍵與隨機數(shù)(步驟S3122)。接下來,打印客戶端20使用該公開鍵,對打印任務數(shù)據(jù)D05進行加密,生成加密打印任務數(shù)據(jù)(步驟S3124)。
接下來,打印客戶端20,在步驟S3124中所生成的加密打印任務數(shù)據(jù)中,添加步驟S3122中所讀取的隨機數(shù),生成打印發(fā)送用數(shù)據(jù)D10(步驟S3125)。另外,打印發(fā)送用數(shù)據(jù)D10還可以含有該加密打印任務數(shù)據(jù)與隨機數(shù)以外的數(shù)據(jù)。
接下來,打印客戶端20將該打印發(fā)送用數(shù)據(jù)D10發(fā)送給打印機30(步驟S3126)。具體的說,是指定打印機30的網(wǎng)絡地址,向網(wǎng)絡10發(fā)送打印發(fā)送用數(shù)據(jù)D10。
接下來,打印客戶端20判斷是否從打印機30接收到打印結(jié)果信息(步驟S3128)。在沒有接收到打印結(jié)果信息的情況下(步驟S3128否),重復該步驟S3128的處理進行等待。另外,在接收到打印結(jié)果信息的情況下(步驟S3128是),判斷該打印結(jié)果信息是否為打印完成通知(步驟S3130)。
在該打印結(jié)果信息是打印完成通知的情況下(步驟S3130是),表示在打印機30中正常結(jié)束了打印,因此,向用戶通知在打印機30中完成了打印這一消息(步驟S3132)。另外,在所接收到的打印結(jié)果信息不是打印完成通知的情況下(步驟S3130否),判斷該打印結(jié)果信息是否為無法解讀通知(步驟S3134)。
在該打印結(jié)果信息是無法解讀通知的情況下(步驟S3134是),向用戶通知由于打印機30不能夠?qū)Υ蛴“l(fā)送用數(shù)據(jù)D10進行解密,因此不能夠進行打印(步驟S3136)。另外,在該打印結(jié)果信息不是無法解讀通知的情況下(步驟S3134否),可以認為是其他某種錯誤,因此向用戶發(fā)送對應于該錯誤種類的通知(步驟S3138)。
在這些步驟S3132、步驟S3136以及步驟S3138的通知之后,打印客戶端20將步驟S3112中保存在RAM66中的公開鍵與隨機數(shù)刪除(步驟S3140)。該步驟S3140的處理并不是必須的,但為了提高公開鍵與隨機數(shù)的秘密性,本實施方式中,每當1個打印任務完成時,刪除所取得的公開鍵與隨機數(shù)。這樣,就結(jié)束了該打印客戶端20中的打印請求處理。
接下來,對照圖41至圖43,對與打印客戶端20、22的打印請求處理相對應,打印機30、32所執(zhí)行的打印執(zhí)行處理進行說明。圖41至圖43為說明打印機30、32所執(zhí)行的打印執(zhí)行處理的流程圖。該打印執(zhí)行處理,是通過CPU40讀取并執(zhí)行保存在打印機的ROM44或硬盤58中的打印執(zhí)行程序而實現(xiàn)的。本實施方式中,該打印執(zhí)行處理,以給定的時間間隔穩(wěn)態(tài)執(zhí)行。
這里也和上述一樣,假設打印客戶端20向打印機30請求打印的情況而進行說明。
如圖41所示,打印機30判斷是否經(jīng)網(wǎng)絡10從打印客戶端20接收到連接請求(步驟S3200)。在沒有從打印客戶端20接收到連接請求的情況下(步驟S3200否),重復該步驟S3200的處理進行等待。之后,如上所述,通過SSL通信等在確保安全性的基礎(chǔ)上,確立打印機30與打印客戶端20之間的連接(步驟S3202)。
接下來,打印機30判斷是否接收到了來自打印客戶端20的認證信息(步驟S3204)。在沒有接收到認證信息的情況下(步驟S3204否),重復該步驟S3204的處理進行等待。
另外,在接收到了認證信息的情況下(步驟S3204是),判斷該認證信息與該打印機30中所預先登錄的認證信息是否一致(步驟S3206)。具體的說,如上所述,由于打印客戶端20發(fā)送打印客戶端ID與密碼作為認證信息,因此判斷該打印客戶端ID以及密碼是否與該打印機30的硬盤58等中所預先登錄的打印客戶端ID以及密碼相一致。
在認證信息不一致的情況下(步驟S3206否),打印機30向打印客戶端20發(fā)送表示不接受認證的認證結(jié)果(步驟S3208),返回步驟S3204。另外,在認證一致的情況下(步驟S3206是),打印機30向打印客戶端20發(fā)送表示接受認證的認證結(jié)果(步驟S3210)。
接下來,打印機30判斷是否從打印客戶端20接收到公開鍵取得請求(步驟S3212)。在沒有接收到該公開鍵取得請求的情況下(步驟S3212否),重復該步驟S3212的處理進行等待。
另外,在接收到該公開鍵取得請求的情況下(步驟S3212是),打印機30取得該打印機30的機器固有信息(步驟S3214)。這里,機器固有信息是指,分配給該打印機30的識別信息,例如打印機30的制造序列號、MAC地址等。
接下來,如圖42所示,打印機30從位置檢測部54取得此時打印機30的打印機位置信息(步驟S3220)。這樣通過此時從位置檢測部54取得打印機位置信息,是為了在打印機30移動到了別的場所的情況下,使用該移動后的位置信息生成公開鍵。
接下來,打印機30使用機器固有信息與打印機位置信息生成口令(步驟S3222)。該口令的生成手法有多種,本實施方式中,通過單純地在機器固有信息后添加打印機位置信息而生成口令。另外,口令還可以含有除了該機器固有信息與打印機位置信息之外的數(shù)據(jù)。
接下來,打印機30生成1個隨機數(shù)(步驟S3224)。接下來,打印機30使用步驟S3222中所生成的口令,與步驟S3224中所取得的隨機數(shù),通過公開鍵加密法,生成公開鍵與秘密鍵(步驟S3226)。公開鍵加密法中,如果所使用的口令與隨機數(shù)相同,即使再次生成公開鍵與秘密鍵,也生成相同的公開鍵與秘密鍵。接下來,打印機30將公開鍵與生成該公開鍵時所使用的隨機數(shù)發(fā)送給打印客戶端20(步驟S3228)。另外,在將公開鍵與隨機數(shù)發(fā)送給打印客戶端20之后,并不保存該秘密鍵與隨機數(shù)而將其廢棄。
接下來,打印機30解除與打印客戶端20之間的連接(步驟S3230)。該處理是與上述打印請求處理的步驟S3114相對應的處理。另外,如上所述,該步驟S3230的處理并不是必不可少的處理。
接下來,打印機30判斷是否從網(wǎng)絡10接收到了打印發(fā)送用數(shù)據(jù)D10(步驟S3232)。在沒有接收到任何打印發(fā)送用數(shù)據(jù)D10的情況下(步驟S3232否),重復該步驟S3232的處理進行等待。另外,在接收到打印發(fā)送用數(shù)據(jù)D10的情況下(步驟S3232是),打印機30取得自己的機器固有信息(步驟S3234)。
接下來,如圖43所示,打印機30從位置檢測部54取得此時打印機30的打印機位置信息(步驟S3240)。這樣通過此時從位置檢測部54取得打印機位置信息,是為了在打印機30移動到了別的場所的情況下,使用該移動后的位置信息生成秘密鍵。
接下來,打印機30根據(jù)機器固有信息與打印機位置信息,生成口令(步驟S3242)。該口令的生成方法,必須與上述步驟S3222的方法相同。這是因為,如果口令不相同,就無法對通過發(fā)送給打印客戶端的公開鍵所加密的打印發(fā)送用數(shù)據(jù)D10,通過秘密鍵進行解密。
接下來,打印機30取得所接收到的打印發(fā)送用樹脂D10中所包含的隨機數(shù)(步驟S3244)。接下來,打印機30使用所生成的口令與所取得的隨機數(shù),通過公開鍵加密法,生成公開鍵與秘密鍵(步驟S3246)。該步驟S3246中所使用的口令,如果其間打印機30的設置位置沒有被移動,就與上述步驟S3226中所使用的口令相同。另外,對于隨機數(shù)來說,如果是正當?shù)拇蛴】蛻舳?0所發(fā)送的打印發(fā)送用數(shù)據(jù)D10,那么就也與上述步驟S3226中的相同。因此,在步驟S3246中,生成與步驟S3226中所生成的公開鍵和秘密鍵相同的公開鍵和秘密鍵。接下來,打印機30使用所生成的秘密鍵,解密包含在所接收到的打印發(fā)送用數(shù)據(jù)D10中的加密打印任務數(shù)據(jù)(步驟S3248)。
接下來,打印機30使用秘密鍵判斷是否能夠?qū)用艽蛴∪蝿諗?shù)據(jù)進行解密(步驟S3250)。在能夠解密的情況下(步驟S250是),通過對加密打印任務數(shù)據(jù)進行解密所得到的打印任務數(shù)據(jù)D05,驅(qū)動打印引擎52執(zhí)行打印(步驟S3252)。具體的說,進行打印任務數(shù)據(jù)D05的語言解釋,生成適用于打印引擎52的打印請求數(shù)據(jù)。之后,通過將該打印請求數(shù)據(jù)發(fā)送給打印引擎52,由打印引擎52在打印用紙上進行打印。
由此可以得知,本實施方式中,使用至少包括位置檢測部54所檢測出的打印機位置信息的口令,與包括在打印發(fā)送用數(shù)據(jù)D10中的隨機數(shù),生成秘密鍵,在能夠通過該秘密鍵對加密打印任務數(shù)據(jù)進行解密的情況下,判斷加密打印任務數(shù)據(jù)與打印機位置信息相匹配。
當該打印正常結(jié)束時,打印機30將表示打印正常結(jié)束的打印結(jié)束通知,作為打印結(jié)果信息,發(fā)送給打印客戶端20(步驟S3254)。
與此相對,在步驟S3250中,判斷無法對加密打印任務數(shù)據(jù)進行解密的情況下(步驟S3250否),將無法解讀通知作為打印結(jié)果信息,發(fā)送給打印客戶端20(步驟S3256)。也即,本實施方式中,使用至少包括位置檢測部54所檢測出的打印機位置信息的口令,與包括在打印發(fā)送用數(shù)據(jù)D10中的隨機數(shù),生成秘密鍵,在不能夠通過該秘密鍵對加密打印任務數(shù)據(jù)進行解密的情況下,判斷加密打印任務數(shù)據(jù)與打印機位置信息不匹配。
在步驟S3254或步驟S3256的處理之后,打印機30返回到上述圖41中的步驟S3200的處理。
如上所述,本實施方式的相關(guān)打印系統(tǒng)中,打印機30、32通過公開鍵加密法,對每個打印任務使用不同的隨機數(shù)生成公開鍵與秘密鍵,向打印客戶端20、22發(fā)送公開鍵與隨機數(shù),因此能夠提高公開鍵、秘密鍵以及隨機數(shù)的安全性。
并且,由于將公開鍵以及生成該公開鍵時所使用的隨機數(shù)發(fā)送給打印客戶端20,并在打印機30側(cè)廢棄秘密鍵與隨機數(shù),因此能夠提高秘密鍵的安全性。另外,打印客戶端20、22將隨機數(shù)暫存,與加密打印任務數(shù)據(jù)一起回發(fā)給打印機30、32。因此,在打印機30、32對被通過該公開鍵所加密的加密打印任務數(shù)據(jù)進行解密時,能夠使用與加密打印任務數(shù)據(jù)一同發(fā)送的隨機數(shù),再次通過公開鍵加密法,生成相同的秘密鍵,從而能夠?qū)用艽蛴∪蝿諗?shù)據(jù)進行解密。
另外,在打印機30、32無法通過該秘密鍵對加密打印任務數(shù)據(jù)進行解密的情況下,不執(zhí)行所接收到的加密打印任務數(shù)據(jù)的打印,因此能夠避免具有非法意圖的第三者使用該打印機30、31進行打印。
另外,本發(fā)明并不僅限于上述實施方式,還能夠進行各種變形。例如,在上述實施方式中,以生成公開鍵與秘密鍵時所使用“給定的數(shù)”為隨機數(shù)的情況為例進行了說明,但該給定的數(shù)并不僅限于隨機數(shù)。例如,可以在該打印機第1次生成公開鍵與秘密鍵的情況下,將給定的數(shù)設為“1”,在第2次生成公開鍵與秘密鍵的情況下,將給定的數(shù)設為“2”,在第3次生成公開鍵與秘密鍵的情況下,將給定的數(shù)設為“3”,這樣使用升序的自然數(shù)作為給定的數(shù)。
另外,給定的數(shù),還可以使用升序的偶數(shù),或升序的奇數(shù)。換而言之,還可以使用給定的算法,生成給定的數(shù)。
另外,如圖44至圖46所示,可以代替打印機30、32向打印客戶端20、22發(fā)送給定的數(shù),而發(fā)送導出給定的數(shù)時所使用的算法(例如升序的偶數(shù)),以及使用該算法導出給定的數(shù)所需要的附加信息(例如第1次)。
這種情況下,如圖44所示,打印客戶端20、22請求打印時,可以將給定的數(shù)本身發(fā)送給打印機30、32。這種情況下,打印客戶端20、22,可以將從打印機30、32所接收到的對算法進行特定的信息,以及必要的附加信息保存起來,或者也可以生成給定的數(shù)并將該給定的數(shù)保存起來。
另外,如圖45所示,打印客戶端20、22請求打印時,可以將算法與附加信息發(fā)送給打印機30、32。這種情況下,打印客戶端20、22,將對算法進行特定的信息,以及必要的附加信息保存起來。
另外,如圖46所示,打印客戶端20、22請求打印時,可以不發(fā)送算法,而只將附加信息發(fā)送給打印機30、32。這是因為,有時生成公開鍵以及秘密鍵時所使用的算法,在打印機30、32中是固定的。
上述實施方式中,例示了打印客戶端作為發(fā)送應當確保安全性的數(shù)據(jù)的數(shù)據(jù)發(fā)送裝置,且例示了打印機作為接收該數(shù)據(jù)的數(shù)據(jù)接收裝置,對本發(fā)明進行了說明,但數(shù)據(jù)發(fā)送接收系統(tǒng)中的數(shù)據(jù)發(fā)送裝置與數(shù)據(jù)接收裝置的組合,并不僅限于上述實施方式。
例如,數(shù)據(jù)發(fā)送接收系統(tǒng)中的數(shù)據(jù)發(fā)送裝置可以是用來拍攝圖像的數(shù)碼相機,數(shù)據(jù)接收裝置可以是儲存數(shù)碼相機所拍攝的圖像數(shù)據(jù)的數(shù)據(jù)服務器。這種情況下,使用從數(shù)據(jù)服務器所接收到的公開鍵,對數(shù)碼相機所發(fā)送的數(shù)據(jù)進行加密,接收到該數(shù)據(jù)的數(shù)據(jù)服務器,通過上述方法生成秘密鍵,進行對該數(shù)據(jù)的解密。之后,在能夠解密所接收到的數(shù)據(jù)的情況下,儲存該數(shù)據(jù),在無法解密的情況下,不儲存該數(shù)據(jù)。
另外,數(shù)據(jù)發(fā)送接收系統(tǒng)中的數(shù)據(jù)發(fā)送裝置可以是個人計算機,數(shù)據(jù)接收裝置可以是投影該個人計算機所發(fā)送的圖像數(shù)據(jù)的投影儀。這種情況下,使用從投影儀所接收到的公開鍵,對個人計算機所發(fā)送的數(shù)據(jù)進行加密,接收到該數(shù)據(jù)的投影儀,通過上述方法生成秘密鍵,進行對該數(shù)據(jù)的解密。之后,在能夠解密所接收到的數(shù)據(jù)的情況下,投影該數(shù)據(jù),在無法解密的情況下,不投影該數(shù)據(jù)。
另外,數(shù)據(jù)發(fā)送接收系統(tǒng)中的數(shù)據(jù)發(fā)送裝置可以是音樂等的內(nèi)容服務器,數(shù)據(jù)接收裝置可以是再生該內(nèi)容服務器所發(fā)送的音樂等內(nèi)容數(shù)據(jù)的再生裝置。這種情況下,使用從再生裝置所接收到的公開鍵,對內(nèi)容服務器所發(fā)送的數(shù)據(jù)進行加密,接收到該數(shù)據(jù)的再生裝置,通過上述方法生成秘密鍵,進行對該數(shù)據(jù)的解密。之后,在能夠解密所接收到的數(shù)據(jù)的情況下,再生該數(shù)據(jù),在無法解密的情況下,不再生該數(shù)據(jù)。
另外,上述實施方式中,以打印機30、32的打印媒體是打印用紙的情況為例進行了說明,但打印媒體并不僅限于此,例如OHP片等其他打印媒體也能夠適用于本發(fā)明。
另外,關(guān)于上述實施方式中所說明的各個處理,用來執(zhí)行這些處理的程序能夠被記錄在軟盤、CD-ROM(Compact Disc-Read Only Memory)、ROM、存儲卡等記錄媒體中,以記錄媒體形式發(fā)布。這種情況下,能夠通過由打印客戶端20、22及/或打印機30、32讀取記錄有該程序的記錄媒體,實現(xiàn)上述實施方式。
另外,打印客戶端20、22及/或打印機30、32,有時也具有操作系統(tǒng)或應用程序等其他程序。這種情況下,可以靈活運用打印客戶端20、22及/或打印機30、32所具有的其他程序,在記錄媒體中記錄命令,用來從打印客戶端20、22及/或打印機30、32所具有的程序中,調(diào)用實現(xiàn)與上述實施方式相同的處理的程序。
另外,上述程序可以不以記錄媒體的形式,而通過網(wǎng)絡作為載波發(fā)布。在網(wǎng)絡上以載波的形式傳輸?shù)某绦颍軌虮淮蛴】蛻舳?0、22及/或打印機30、32接收,通過執(zhí)行該程序?qū)崿F(xiàn)上述實施方式。
另外,在向記錄媒體記錄程序時,或在網(wǎng)絡上作為載波傳送時,有時會執(zhí)行程序的加密或壓縮處理。這種情況下,從這些記錄媒體或載波中讀取程序的打印客戶端20、22及/或打印機30、32,必須在解密或解壓縮該程序的基礎(chǔ)上,再進行執(zhí)行。
權(quán)利要求
1.一種打印機,處理打印數(shù)據(jù),其特征在于,包括打印機位置信息取得部,取得用來特定該打印機的設置場所的打印機位置信息;第1打印機位置信息取得部,從上述打印機位置信息取得部取得打印機位置信息,將其作為第1打印機位置信息;公開鍵生成部,使用至少包括上述第1打印機位置信息的口令,和給定的數(shù),生成公開鍵;打印數(shù)據(jù)接收部,接收通過上述公開鍵所加密的打印數(shù)據(jù);第2打印機位置信息取得部,接收上述打印數(shù)據(jù)時,從上述打印機位置信息取得部取得打印機位置信息,將其作為第2打印機位置信息;秘密鍵生成部,使用至少包括上述第2打印機位置信息的口令,和上述給定的數(shù),生成秘密鍵;以及解密部,使用上述秘密鍵,對上述打印數(shù)據(jù)接收部所接收到的上述打印數(shù)據(jù)進行解密。
2.如權(quán)利要求1所述的打印機,其特征在于在上述公開鍵生成部生成公開鍵時,即使產(chǎn)生了秘密鍵,也將該秘密鍵廢棄。
3.如權(quán)利要求2所述的打印機,其特征在于還包括打印執(zhí)行部,在能夠使用上述秘密鍵解密上述打印數(shù)據(jù)的情況下,根據(jù)上述打印數(shù)據(jù)執(zhí)行打印,在不能夠使用上述秘密鍵解密上述打印數(shù)據(jù)的情況下,不根據(jù)上述打印數(shù)據(jù)執(zhí)行打印。
4.如權(quán)利要求3所述的打印機,其特征在于還包括保存上述公開鍵生成部所使用的上述給定的數(shù)的給定的數(shù)保存部。
5.如權(quán)利要求4所述的打印機,其特征在于,還包括公開鍵取得請求接收部,從打印客戶端接收公開鍵取得請求;和公開鍵發(fā)送部,將上述公開鍵生成部所生成的上述公開鍵,發(fā)送給發(fā)送了上述公開鍵取得請求的打印客戶端。
6.如權(quán)利要求5所述的打印機,其特征在于上述給定的數(shù)保存部中所保存的給定的數(shù),在該打印機中為1個。
7.如權(quán)利要求5所述的打印機,其特征在于上述給定的數(shù)保存部中所保存的給定的數(shù),對每個上述打印客戶端分別有1個。
8.如權(quán)利要求7所述的打印機,其特征在于,還包括打印客戶端識別信息接收部,除了通過上述公開鍵所加密的上述打印數(shù)據(jù)之外,還接收沒有通過上述公開鍵所加密的打印客戶端識別信息;和給定的數(shù)取得部,根據(jù)上述打印客戶端識別信息,從上述給定的數(shù)保存部中,取得發(fā)送上述打印數(shù)據(jù)的打印客戶端的給定的數(shù)。
9.如權(quán)利要求5所述的打印機,其特征在于上述給定的數(shù)保存部中所保存的給定的數(shù),對每個用戶分別有1個。
10.如權(quán)利要求9所述的打印機,其特征在于,還包括用戶識別信息接收部,除了通過上述公開鍵所加密的上述打印數(shù)據(jù)之外,還接收沒有通過上述公開鍵所加密的用戶識別信息;和給定的數(shù)取得部,根據(jù)上述打印客戶端識別信息,從上述給定的數(shù)保存部中,取得發(fā)送上述打印數(shù)據(jù)的用戶的給定的數(shù)。
11.如權(quán)利要求4所述的打印機,其特征在于上述公開鍵生成部,根據(jù)每個打印任務中打印客戶端所發(fā)送的公開鍵取得請求,生成給定的數(shù),并生成上述公開鍵。
12.如權(quán)利要求11所述的打印機,其特征在于還包括給定的數(shù)刪除部,在秘密鍵生成部中生成了上述秘密鍵之后,將上述給定的數(shù)保存部中所保存的給定的數(shù)刪除。
13.如權(quán)利要求3所述的打印機,其特征在于還包括將上述公開鍵生成部所生成的公開鍵,與生成該公開鍵時所使用的上述給定的數(shù),發(fā)送給打印客戶端的公開鍵給定的數(shù)發(fā)送部;和從打印客戶端接收給定的數(shù)的給定的數(shù)接收部,上述秘密鍵生成部,使用至少包括上述第2打印機位置信息的口令,和上述給定的數(shù)接收部所接收到的上述給定的數(shù),生成秘密鍵。
14.如權(quán)利要求13所述的打印機,其特征在于在從打印客戶端接收到公開鍵取得請求的情況下,上述公開鍵生成部生成上述公開鍵和上述給定的數(shù);上述公開鍵給定的數(shù)發(fā)送部,將上述公開鍵和上述給定的數(shù),發(fā)送給發(fā)送了該公開鍵取得請求的打印客戶端。
15.如權(quán)利要求13所述的打印機,其特征在于上述公開鍵生成部,根據(jù)每個打印任務中打印客戶端所發(fā)送的公開鍵取得請求,生成給定的數(shù),并生成上述公開鍵。
16.如權(quán)利要求15所述的打印機,其特征在于上述公開鍵生成部生成公開鍵時所使用的給定的數(shù),在上述公開鍵給定的數(shù)發(fā)送部將上述給定的數(shù)發(fā)送給打印客戶端之后,被廢棄。
17.如權(quán)利要求3所述的打印機,其特征在于還包括將上述公開鍵生成部所生成的公開鍵,和導出生成該公開鍵時所使用的上述給定的數(shù)所必須的信息,發(fā)送給打印客戶端的公開鍵信息發(fā)送部;和從打印客戶端接收給定的數(shù)的給定的數(shù)接收部,上述秘密鍵生成部,使用至少包括上述第2打印機位置信息的口令,和上述給定的數(shù)接收部所接收到的上述給定的數(shù),生成秘密鍵。
18.如權(quán)利要求17所述的打印機,其特征在于導出上述給定的數(shù)所必須的信息,是導出給定的數(shù)的算法,和用于導出的附加信息。
19.如權(quán)利要求1至權(quán)利要求18中任一個所述的打印機,其特征在于上述給定的數(shù)為隨機數(shù)。
20.一種打印機的控制方法,控制處理打印數(shù)據(jù)的打印機,其特征在于,包括從打印機位置信息取得部,取得用來特定該打印機的設置場所的打印機位置信息,將其作為第1打印機位置信息的步驟;使用至少包括上述第1打印機位置信息的口令,和給定的數(shù),生成公開鍵的步驟;從打印客戶端接收打印數(shù)據(jù)的步驟;接收上述打印數(shù)據(jù)時,從上述打印機位置信息取得部取得打印機位置信息,將其作為第2打印機位置信息的步驟;使用至少包括上述第2打印機位置信息的口令,和上述給定的數(shù),生成秘密鍵的步驟;以及使用上述秘密鍵,對上述打印數(shù)據(jù)接收部所接收到的上述打印數(shù)據(jù)進行解密的步驟。
21.如權(quán)利要求20所述的打印機的控制方法,其特征在于還包括將在生成上述公開鍵的步驟中所生成的秘密鍵廢棄的步驟。
22.如權(quán)利要求21所述的打印機的控制方法,其特征在于還包括在能夠使用上述秘密鍵解密上述打印數(shù)據(jù)的情況下,根據(jù)上述打印數(shù)據(jù)執(zhí)行打印,在不能夠使用上述秘密鍵解密上述打印數(shù)據(jù)的情況下,不根據(jù)上述打印數(shù)據(jù)執(zhí)行打印的步驟。
23.如權(quán)利要求22所述的打印機的控制方法,其特征在于還包括將上述公開鍵生成部所使用的上述給定的數(shù),保存在給定的數(shù)保存部中的步驟。
24.如權(quán)利要求23所述的打印機的控制方法,其特征在于,還包括從打印客戶端接收公開鍵取得請求的步驟;和將上述所生成的上述公開鍵,發(fā)送給發(fā)送了上述公開鍵取得請求的打印客戶端的步驟。
25.如權(quán)利要求24所述的打印機的控制方法,其特征在于上述給定的數(shù)保存部中所保存的給定的數(shù),在該打印機中為1個。
26.如權(quán)利要求24所述的打印機的控制方法,其特征在于上述給定的數(shù)保存部中所保存的給定的數(shù),對每個上述打印客戶端分別有1個。
27.如權(quán)利要求26所述的打印機的控制方法,其特征在于,還包括除了被通過上述公開鍵所加密的上述打印數(shù)據(jù)之外,還接收沒有被通過上述公開鍵所加密的打印客戶端識別信息的步驟;和根據(jù)上述打印客戶端識別信息,從上述給定的數(shù)保存部中,取得發(fā)送上述打印數(shù)據(jù)的打印客戶端的給定的數(shù)的步驟。
28.如權(quán)利要求24所述的打印機的控制方法,其特征在于上述給定的數(shù)保存部中所保存的給定的數(shù),對每個用戶分別有1個。
29.如權(quán)利要求28所述的打印機的控制方法,其特征在于,還包括除了被通過上述公開鍵所加密的上述打印數(shù)據(jù)之外,還接收沒有被通過上述公開鍵所加密的用戶識別信息的步驟;和根據(jù)上述打印客戶端識別信息,從上述給定的數(shù)保存部中,取得發(fā)送上述打印數(shù)據(jù)的用戶的給定的數(shù)的步驟。
30.如權(quán)利要求23所述的打印機的控制方法,其特征在于上述公開鍵生成步驟中,根據(jù)每個打印任務中打印客戶端所發(fā)送的公開鍵取得請求,生成給定的數(shù),并生成上述公開鍵。
31.如權(quán)利要求30所述的打印機的控制方法,其特征在于還包括在生成了上述秘密鍵之后,將上述給定的數(shù)保存部中所保存的給定的數(shù)刪除的步驟。
32.如權(quán)利要求22所述的打印機的控制方法,其特征在于還包括將上述所生成的公開鍵,與生成該公開鍵時所使用的上述給定的數(shù),發(fā)送給打印客戶端的步驟;和從打印客戶端接收給定的數(shù)的步驟,上述秘密鍵生成步驟中,使用至少包括上述第2打印機位置信息的口令,和上述所接收到的上述給定的數(shù),生成秘密鍵。
33.如權(quán)利要求32所述的打印機的控制方法,其特征在于上述公開鍵生成步驟中,在從打印客戶端接收到公開鍵取得請求的情況下,生成上述公開鍵與上述給定的數(shù);上述公開鍵發(fā)送步驟中,將上述公開鍵與上述給定的數(shù),發(fā)送給發(fā)送了該公開鍵取得請求的打印客戶端。
34.如權(quán)利要求32所述的打印機的控制方法,其特征在于上述公開鍵生成步驟中,根據(jù)每個打印任務中打印客戶端所發(fā)送的公開鍵取得請求,生成給定的數(shù),并生成上述公開鍵。
35.如權(quán)利要求34所述的打印機的控制方法,其特征在于還包括將生成公開鍵時所使用的給定的數(shù),在將上述給定的數(shù)發(fā)送給打印客戶端之后廢棄的步驟。
36.如權(quán)利要求22所述的打印機的控制方法,其特征在于還包括將上述所生成的公開鍵,與導出生成該公開鍵時所使用的上述給定的數(shù)所必須的信息,發(fā)送給打印客戶端的步驟;和從打印客戶端接收給定的數(shù)的步驟,上述秘密鍵生成步驟中,使用至少包括上述第2打印機位置信息的口令,與上述所接收到的上述給定的數(shù),生成秘密鍵。
37.如權(quán)利要求36所述的打印機的控制方法,其特征在于導出上述給定的數(shù)所必須的信息,是導出給定的數(shù)的算法,和用于導出的附加信息。
38.如權(quán)利要求20至權(quán)利要求37中任一個所述的打印機的控制方法,其特征在于上述給定的數(shù)為隨機數(shù)。
39.一種打印系統(tǒng),具有至少1臺打印機,以及通過網(wǎng)絡與上述打印機相連接的至少1臺打印客戶端,其特征在于上述打印機具有打印機位置信息取得部,取得用來特定該打印機的設置場所的打印機位置信息;第1打印機位置信息取得部,從上述打印機位置信息取得部取得打印機位置信息,將其作為第1打印機位置信息;以及公開鍵生成部,使用至少包括上述第1打印機位置信息的口令,與給定的數(shù),生成公開鍵,上述打印客戶端具有打印數(shù)據(jù)生成部,生成用來通過上述打印機進行打印的打印數(shù)據(jù);和打印數(shù)據(jù)發(fā)送部,通過上述公開鍵加密上述打印數(shù)據(jù),將該被加密的打印數(shù)據(jù)發(fā)送給上述打印機,上述打印機還具有打印數(shù)據(jù)接收部,接收由上述打印客戶端所發(fā)送的,通過上述公開鍵所加密的打印數(shù)據(jù);第2打印機位置信息取得部,接收上述打印數(shù)據(jù)時,從上述打印機位置信息取得部取得打印機位置信息,將其作為第2打印機位置信息;秘密鍵生成部,使用至少包括上述第2打印機位置信息的口令,與上述給定的數(shù),生成秘密鍵;以及解密部,使用上述秘密鍵,對上述打印數(shù)據(jù)接收部所接收到的上述打印數(shù)據(jù)進行解密。
40.一種數(shù)據(jù)接收裝置,處理數(shù)據(jù),其特征在于,包括數(shù)據(jù)接收裝置位置信息取得部,取得用來特定該數(shù)據(jù)接收裝置的設置場所的數(shù)據(jù)接收裝置位置信息;第1數(shù)據(jù)接收裝置位置信息取得部,從上述數(shù)據(jù)接收裝置位置信息取得部獲取數(shù)據(jù)接收裝置位置信息,將其作為第1數(shù)據(jù)接收裝置位置信息;公開鍵生成部,使用至少包括上述第1數(shù)據(jù)接收裝置位置信息的口令,和隨機數(shù),生成公開鍵;數(shù)據(jù)接收部,接收通過上述公開鍵所加密的數(shù)據(jù);第2數(shù)據(jù)接收裝置位置信息取得部,接收上述數(shù)據(jù)時,從上述數(shù)據(jù)接收裝置位置信息取得部獲取數(shù)據(jù)接收裝置位置信息,將其作為第2數(shù)據(jù)接收裝置位置信息;秘密鍵生成部,使用至少包括上述第2數(shù)據(jù)接收裝置位置信息的口令與,上述給定的數(shù),生成秘密鍵;以及解密部,使用上述秘密鍵,對上述打印數(shù)據(jù)接收部所接收到的上述數(shù)據(jù)進行解密。
41.一種數(shù)據(jù)發(fā)送接收系統(tǒng),具有至少1臺數(shù)據(jù)接收裝置,以及通過網(wǎng)絡與上述數(shù)據(jù)接收裝置相連接的至少1臺數(shù)據(jù)發(fā)送裝置,其特征在于上述數(shù)據(jù)接收裝置具有數(shù)據(jù)接收裝置位置信息取得部,取得用來特定該數(shù)據(jù)接收裝置的設置場所的數(shù)據(jù)接收裝置位置信息;第1數(shù)據(jù)接收裝置位置信息取得部,從上述數(shù)據(jù)接收裝置位置信息取得部獲取數(shù)據(jù)接收裝置位置信息,將其作為第1數(shù)據(jù)接收裝置位置信息;以及公開鍵生成部,使用至少包括上述第1數(shù)據(jù)接收裝置位置信息的口令,與隨機數(shù),生成公開鍵,上述數(shù)據(jù)發(fā)送裝置具有數(shù)據(jù)生成部,生成用來通過上述數(shù)據(jù)接收裝置進行處理的數(shù)據(jù);和數(shù)據(jù)發(fā)送部,通過上述公開鍵加密上述數(shù)據(jù),將該被加密的數(shù)據(jù)發(fā)送給上述數(shù)據(jù)接收裝置,上述數(shù)據(jù)接收裝置還具有數(shù)據(jù)接收部,接收由上述數(shù)據(jù)發(fā)送裝置所發(fā)送的,通過上述公開鍵所加密的數(shù)據(jù);第2數(shù)據(jù)接收裝置位置信息取得部,接收上述數(shù)據(jù)時,從上述數(shù)據(jù)接收裝置位置信息取得部獲取數(shù)據(jù)接收裝置位置信息,將其作為第2數(shù)據(jù)接收裝置位置信息;秘密鍵生成部,使用至少包括上述第2數(shù)據(jù)接收裝置位置信息的口令與,上述給定的數(shù),生成秘密鍵;以及解密部,使用上述秘密鍵,對上述打印數(shù)據(jù)接收部所接收到的上述數(shù)據(jù)進行解密。
全文摘要
打印機使用至少包括打印機位置信息的口令以及隨機數(shù),通過公開鍵加密法生成公開鍵,同時保存該隨機數(shù)。打印客戶端預先從打印機取得該公開鍵。之后,在打印客戶端向打印機發(fā)送打印數(shù)據(jù)的情況下,使用預先所取得的公開鍵對打印數(shù)據(jù)進行加密,作為打印發(fā)送用數(shù)據(jù)發(fā)送。接收到該打印發(fā)送用數(shù)據(jù)的打印機,使用至少包括打印機位置信息的口令與所保存的隨機數(shù),通過公開鍵加密法生成秘密鍵。之后,使用該秘密鍵,解密所接收到的打印發(fā)送用數(shù)據(jù)。這樣,能夠確保打印客戶端通過網(wǎng)絡向打印機發(fā)送的打印數(shù)據(jù)的安全性。
文檔編號G06F21/00GK1668471SQ0381639
公開日2005年9月14日 申請日期2003年7月22日 優(yōu)先權(quán)日2002年8月30日
發(fā)明者島敏博, 合掌和人, 小嶋輝人 申請人:精工愛普生株式會社