JP2011165175A - ソフトウェアのダウンロード方法 - Google Patents

ソフトウェアのダウンロード方法 Download PDF

Info

Publication number
JP2011165175A
JP2011165175A JP2011000946A JP2011000946A JP2011165175A JP 2011165175 A JP2011165175 A JP 2011165175A JP 2011000946 A JP2011000946 A JP 2011000946A JP 2011000946 A JP2011000946 A JP 2011000946A JP 2011165175 A JP2011165175 A JP 2011165175A
Authority
JP
Japan
Prior art keywords
software
information
authenticity
download
downloaded
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2011000946A
Other languages
English (en)
Other versions
JP5740646B2 (ja
Inventor
Tsutomu Baba
勉 馬場
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nidec Sankyo Corp
Original Assignee
Nidec Sankyo Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nidec Sankyo Corp filed Critical Nidec Sankyo Corp
Priority to JP2011000946A priority Critical patent/JP5740646B2/ja
Priority to US13/004,301 priority patent/US8972591B2/en
Publication of JP2011165175A publication Critical patent/JP2011165175A/ja
Application granted granted Critical
Publication of JP5740646B2 publication Critical patent/JP5740646B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • G06F21/445Program or device authentication by mutual authentication, e.g. between devices or programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Stored Programmes (AREA)
  • Storage Device Security (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

【課題】上位装置から通信回線を介してソフトウェアを電子機器装置にダウンロードする方法において、ダウンロードが中断された場合でも、セキュリティ性を保ちつつ、ダウンロード処理再開までの手順を簡略化することのできるソフトウェアのダウンロード方法を提供する。
【解決手段】カードリーダ2がHOSTコンピュータ1から取得した正真性証明用情報15を不揮発性メモリ23に格納し、HOSTコンピュータ1からカードリーダ2にソフトウェア14のダウンロードを実行し、ダウンロードしたソフトウェア14の正真性確認用情報を計算して求め、この正真性確認用情報とHOSTコンピュータ1から取得した正真性証明用情報15とを比較し、正真性証明用情報15と正真性確認用情報が一致している場合にダウンロードされたソフトウェアを起動する。
【選択図】図1

Description

本発明は、上位装置から通信回線を介してソフトウェアを電子機器装置にダウンロードするソフトウェアのダウンロード方法に関する。
上位装置と電子機器装置とが通信回線で接続されたシステムにおいて、高いセキュリティ性が要求されるシステムの場合、上位装置が電子機器装置に格納されているソフトウェアをアップデートする際に、電子機器装置はダウンロードされるソフトウェアの正真性を確認する必要がある。
電子機器装置は、ダウンロードされるソフトウェアの正真性を証明するための正真性証明用情報(例えばハッシュ関数で計算されたハッシュ値)を上位装置から取得し、一方で、実際に上位装置からダウンロードされたソフトウェアに対して正真性を確認するための正真性確認用情報を同じ計算で求め、双方の正真性証明用情報と正真性確認用情報を比較することで、ダウンロードされたソフトウェアが正当であることを確認し、正当であると判断したときのみ、ダウンロードされたソフトウェアの起動を許可するようにしている。
更に、より高いセキュリティ性が求められるシステムにおいては、セキュリティに関する規格が定められており、ダウンロードのような不正行為の危険にさらされるサービスを実施する際には、必ず上位装置と電子機器装置の間で相互認証処理を実施して、双方が信頼できる装置であることが証明できてからダウンロードを開始することが必要とされている。
また、特許文献1には、下位デバイス(電子機器装置)に設けられたプログラム実行装置が、上位装置からダウンロードされたソフトウェアのうち、安全性検証手段によって安全(正真性)が確認されたソフトウェアのみを安全な記憶装置に記憶し、この安全な記憶装置からソフトウェアを読み出して実行することが開示されている。
特開2001−195247号公報
しかしながら、ソフトウェアのダウンロードの途中で、通信回線のトラブルによる通信破綻や、停電等の原因によりダウンロードが中断された場合には、下位デバイス(電子機器装置)が上位装置から取得した正真性証明用情報が消失する恐れがあった。このため、従来は、下位デバイスがダウンロードを再開するには、改めて正真性証明用情報を上位装置から取得する段階に立ち戻るのが一般的であった。さらに、セキュリティに関する規格が定められ、より高いセキュリティ性が求められるシステムにおいては、上位装置と下位デバイス(電子機器装置)の間で相互認証処理の再実行も必要となっていた。
従来のシステムでは、仮に、ダウンロードを再開するに当たって相互認証を省略すると、該当システムにおける機密情報を盗み出そうとする者が、相互認証の手続方法を知らなくても、正常なダウンロードを意図的に中断させて、次回ダウンロードを再開する時に悪意をもって改ざんされたソフトウェアにすりかえてダウンロードを行うことができるという恐れがあった。
従って、従来のシステムでは、ダウンロードを再開するに当たって、上位装置に対して相互認証および正真性証明用情報の取得という、処理手順が必須になるので、システムの通常運用を再開するまでに時間がかかってしまうという問題があった。
また、特許文献1に示す従来のシステムでは、安全性検証手段により安全性を検証するためにソフトウェアを一時的に格納するメモリが別途設けられている。ソフトウェアは一旦この一時的に格納するメモリに格納され、そこで安全性が検証されて安全と判断されたら、安全な記憶装置に記憶されることになる。このように、一時的な格納用メモリを別途設けなければならず、メモリ容量増加によるコスト増が問題となる。
本発明は、このような点に鑑みてなされたものであり、その目的は、上位装置から通信回線を介してソフトウェアを電子機器装置にダウンロードする方法において、ダウンロードが中断された場合でも、セキュリティ性を保ちつつ、ダウンロードを再開するまでの手順を簡略化することのできるソフトウェアのダウンロード方法を提供することにある。
以上のような課題を解決するために、本発明は、以下のものを提供する。
上位装置から通信回線を介してソフトウェアを電子機器装置にダウンロードする方法において、前記ソフトウェアのダウンロードを開始する前に、前記電子機器装置が前記上位装置から前記ソフトウェアの正真性を証明する正真性証明用情報を取得し、取得した前記正真性証明用情報を前記電子機器装置の不揮発性メモリに格納する第1工程と、前記上位装置から前記電子機器装置に前記ソフトウェアのダウンロードを実行する第2工程と、前記ソフトウェアのダウンロードを完了した後に、ダウンロードされた前記ソフトウェアに対して計算で求めた正真性確認用情報と、前記第1工程で取得した正真性証明用情報とを比較する第3工程と、前記第3工程において、前記正真性証明用情報と前記正真性確認用情報が一致している場合に、前記電子機器装置がダウンロードされた前記ソフトウェアを起動する第4工程と、を有することを特徴とするソフトウェアのダウンロード方法。
本発明によれば、第1工程で電子機器装置が上位装置から取得した正真性証明用情報を不揮発性メモリに格納し、第2工程で上位装置から電子機器装置にソフトウェアのダウンロードを実行し、第3工程でダウンロードされたソフトウェアに対して正真性確認用情報を計算して求め、この正真性確認用情報と第1工程で取得した正真性証明用情報とを比較し、第4工程で正真性証明用情報と正真性確認用情報が一致している場合にダウンロードされたソフトウェアを起動することから、ソフトウェアのダウンロードの途中で、通信回線のトラブルによる通信破綻や、停電等の原因によりダウンロードが中断された場合でも、電子機器装置が上位装置から取得した正真性証明用情報は不揮発性メモリにおいて確実に保持することができ、ダウンロードを再開するに当たって、上位装置に対する正真性証明情報の取得処理を省略することができる。
また、中断後、ダウンロードを再開する時に、改ざんされたソフトウェアにすりかえてダウンロードされたとしても、ダウンロードされたソフトウェアに対して計算で求めた正真性確認用情報は、上位装置から取得し不揮発性メモリに格納された正真性証明用情報と一致しないから、誤って不正なソフトウェアが起動されることもなく、セキュリティ性を維持することができる。
すなわち、ダウンロードが中断され、再度ダウンロードを行う場合でも、ダウンロードされたソフトウェアに対して計算で求めた正真性確認用情報と、既に不揮発性メモリに格納されている正真性証明用情報とを比較して、双方の正真性情報が一致している場合にのみダウンロードされたソフトウェアを起動することができるから、セキュリティ性を保ちつつ、上位装置に対する正真性証明情報の取得処理を省略して、ダウンロードを再開するまでの手順を簡略化することができる。
前記第2工程において、前記ソフトウェアのダウンロードが中断した場合に、前記第1工程を省略して、前記第2工程から再実行することを特徴とするソフトウェアのダウンロード方法。
本発明によれば、ダウンロードが中断された際に、ダウンロードを再開するに当たって、正真性証明用情報を上位装置から再取得する処理を省略し、改ざんされた不正なソフトウェアにすりかえられてダウンロードされることがないので、上位装置と電子機器装置で構成されるシステムにおいてセキュリティ性を維持することができる。
従って、ダウンロードを中断した後に、セキュリティ性を損なうことなく、ダウンロードを再開するまでの手順を簡略化することができる。これにより、当該システムの通常運用を再開するまでの待ち時間を短縮することができ、システムの運用効率を向上させることができる。
前記第3工程を実行した後に、前記不揮発性メモリに格納された前記正真性証明用情報を無効状態にする工程を備えたことを特徴とするソフトウェアのダウンロード方法。
本発明によれば、第3工程を実行した後に、不揮発性メモリに格納された正真性証明用情報を無効状態(消去を含む)にすることから、二重にソフトウェアをダウンロードされたり、誤って古い(更新前)ソフトウェアをダウンロードしたりすることを阻止できる。
前記第3工程において、前記正真性証明用情報と前記正真性確認用情報が一致していない場合に、ダウンロードされた前記ソフトウェアを無効状態にする工程を備えたことを特徴とするソフトウェアのダウンロード方法。
本発明によれば、ダウンロードされたソフトウェアが、改ざんされた不正なソフトウェアである場合には、正真性証明用情報と正真性確認用情報が一致しないので、その場合にダウンロードされたソフトウェアを無効状態(消去を含む)にすることにより、誤って不正なソフトウェアを起動することを阻止できる。
上位装置から通信回線を介してソフトウェアを電子機器装置にダウンロードする方法において、前記上位装置から取得済の更新前ソフトウェアの正真性を証明する更新前正真性証明用情報を前記電子機器装置の第1情報格納領域に格納する第1情報格納手段と、前記上位装置から取得して更新される更新ソフトウェアの正真性を証明する正真性証明用情報を前記電子機器装置の第2情報格納領域に格納する第2情報格納手段と、を備え、前記更新ソフトウェアのダウンロード開始前に、前記電子機器装置が前記上位装置から前記正真性証明用情報を取得し、取得した前記正真性証明用情報を前記第2情報格納領域に格納する第2情報格納工程と、前記上位装置から前記電子機器装置に前記更新ソフトウェアのダウンロードを実行するダウンロード工程と、前記更新ソフトウェアのダウンロード完了後に、ダウンロードされた前記更新ソフトウェアに対して計算で求めた正真性確認用情報と、前記第2情報格納工程で取得した前記正真性証明用情報とを比較する情報比較工程と、前記情報比較工程において、前記正真性証明用情報と前記正真性確認用情報が一致している場合に、前記正真性証明用情報を前記更新前正真性証明用情報として前記第1情報格納領域に格納する第1情報格納工程と、前記情報比較工程において、前記正真性証明用情報と前記正真性確認用情報が一致している場合に、前記電子機器装置がダウンロードされた前記更新ソフトウェアを起動する起動工程と、を有することを特徴とするソフトウェアのダウンロード方法。
本発明によれば、第2情報格納工程で電子機器装置が上位装置から取得した正真性証明用情報を不揮発性メモリの第2情報格納領域に格納し、ダウンロード工程で上位装置から電子機器装置に更新ソフトウェアのダウンロードを実行し、情報比較工程でダウンロードした更新ソフトウェアに対して正真性確認用情報を計算して求め、この正真性確認用情報と第2情報格納工程で取得した正真性証明用情報とを比較し、正真性証明用情報と正真性確認用情報が一致している場合に、起動工程でダウンロードした更新ソフトウェアを起動することから、更新ソフトウェアのダウンロードの途中で、通信回線のトラブルによる通信破綻や、停電等の原因によりダウンロードが中断された場合でも、電子機器装置が上位装置から取得した正真性証明用情報は不揮発性メモリの第2情報格納領域において確実に保持することができ、ダウンロードを再開するに当たって、上位装置に対する正真性証明情報の取得処理を省略することができる。
また、中断後、ダウンロードを再開する時に、改ざんされたソフトウェアにすりかえてダウンロードされたとしても、ダウンロードされた更新ソフトウェアに対して計算で求めた更新後正真性確認用情報は、上位装置から取得し第2情報格納領域に格納された正真性証明用情報と一致しないから、誤って不正なソフトウェアが起動されることもなく、セキュリティ性を維持することができる。
すなわち、ダウンロードが中断され、再度ダウンロードを行う場合でも、ダウンロードした更新ソフトウェアに対して計算で求めた正真性確認用情報と、既に第2情報格納領域に格納されている正真性証明用情報とを比較して、双方の正真性情報が一致している場合にのみダウンロードされた更新ソフトウェアを起動することができるから、セキュリティ性を保ちつつ、上位装置に対する正真性証明情報の取得処理を省略して、ダウンロードを再開するまでの手順を簡略化することができる。
さらに、本発明に係るソフトウェアのダウンロード方法は、電子機器装置の不揮発性メモリに第1情報格納領域と第2情報格納領域を備え、情報比較工程において、正真性証明用情報と正真性確認用情報が一致している場合に、第1情報格納工程で正真性証明用情報を更新前正真性証明用情報として第1情報格納領域に格納することにより、更新ソフトウェアのダウンロード処理が完了するまでは第1情報格納領域に更新前ソフトウェアの正真性を証明する更新前正真性証明用情報を格納することができる。このため、更新ソフトウェアをダウンロードする過程で停電等の原因によって処理が中断された場合でも、第1情報格納領域には更新前ソフトウェアに対応する更新前正真性証明用情報が格納されているから、次回電源立ち上げ時に照合不一致にはならず、不正ダウンロードであると誤認されるのを防止することができる。
例えば、第2情報格納工程で、ダウンロード対象となる更新ソフトウェアの正真性を証明する正真性証明用情報を上位装置から受信し、その情報を電子機器装置の不揮発性メモリの第2情報格納領域に格納している途中で、停電など何らかの原因で処理が中断されて、正真性証明用情報が完全に書き込まれなかった場合でも、次回電源立ち上げ時には、第1情報格納領域に格納されている更新前正真性証明用情報と、更新前ソフトウェアの正真性確認用情報の計算結果との照合が行われることになるから、照合不一致により不正ダウンロードであると誤認されることがなく、不正使用防止のための緊急停止モードに誤って遷移するのを防止することができる。
前記ダウンロード工程において、前記更新ソフトウェアのダウンロードが中断した場合に、前記第2情報格納工程を省略して、前記ダウンロード工程から再実行することを特徴とするソフトウェアのダウンロード方法。
本発明によれば、ダウンロードが中断された際に、ダウンロードを再開するに当たって、正真性証明用情報を上位装置から再取得する処理を省略し、改ざんされた不正なソフトウェアにすりかえられてダウンロードされることがないので、上位装置と電子機器装置で構成されるシステムにおいてセキュリティ性を維持することができる。
従って、ダウンロードを中断した後に、セキュリティ性を損なうことなく、ダウンロードを再開するまでの手順を簡略化することができる。これにより、当該システムの通常運用を再開するまでの待ち時間を短縮することができ、システムの運用効率を向上させることができる。
前記第1情報格納工程を実行した後に、前記第2情報格納領域に格納された前記正真性証明用情報を無効状態にする工程を備えたことを特徴とするソフトウェアのダウンロード方法。
本発明によれば、第1情報格納工程を実行した後に、第2情報格納領域に格納された正真性証明用情報を無効状態(消去を含む)にすることから、二重にソフトウェアをダウンロードしたり、誤って古い(更新前)ソフトウェアをダウンロードしたりすることを阻止できる。
前記情報比較工程において、前記正真性証明用情報と前記正真性確認用情報が一致していない場合に、ダウンロードされた前記更新ソフトウェアを無効状態にする工程を備えたことを特徴とするソフトウェアのダウンロード方法。
本発明によれば、ダウンロードされた更新ソフトウェアが、改ざんされた不正なソフトウェアである場合には、正真性証明用情報と正真性確認用情報が一致しないので、その場合にダウンロードされた更新ソフトウェアを無効状態(消去を含む)にすることにより、誤って不正なソフトウェアを起動することを阻止できる。
本発明に係るソフトウェアのダウンロード方法は、ダウンロードが中断された際に、ダウンロードを再開するに当たって、正真性証明用情報を上位装置から再取得する処理を省略することができ、さらに、改ざんされた不正なソフトウェアにすりかえられてダウンロードされることがないので、セキュリティ性を維持することができる。
従って、ダウンロードを中断した後に、セキュリティ性を損なうことなく、ダウンロードを再開するまでの手順を簡略化することができる。これにより、当該システムの通常運用を再開するまでの待ち時間を短縮することができ、システムの運用効率を向上させることができる。
また、ダウンロードを中断した場合でも、次回電源立ち上げ時に照合不一致によって不正ダウンロードであると誤認されることがなく、不正使用防止のための緊急停止モードに誤って遷移するのを防止することができる。
本発明の実施の形態に係るソフトウェアのダウンロード方法にて使用するシステムの構成を示すブロック図である。 本発明の実施の形態に係るソフトウェアのダウンロード方法の処理の一例を示す構成図である。 図2の構成において通常実行されるソフトウェアのダウンロード方法の処理の一例を示すフローチャートである。 図2の構成において中断した場合に実行されるソフトウェアのダウンロード方法の処理の一例を示すフローチャートである。 本発明の実施の形態に係るソフトウェアのダウンロード方法の処理の他の一例を示す構成図である。 図5の構成において通常実行されるソフトウェアのダウンロード方法の処理の一例を示すフローチャートである。 図5の構成において中断した場合に実行されるソフトウェアのダウンロード方法の処理の一例を示すフローチャートである。 図5の構成において電源立ち上げ時に実行されるソフトウェアの正真性確認方法の処理の一例を示すフローチャートである。
以下、本発明を実施するための最良の形態について、図面を参照しながら説明する。
[第1実施形態のシステムの構成]
図1は、本発明の実施の形態に係るソフトウェアのダウンロード方法にて使用するシステムの構成を示すブロック図である。図2は、本発明の実施の形態に係るソフトウェアのダウンロード方法において、ダウンロードの状況の一例を示す構成図である。なお、図2においてかっこ付きアルファベットで示す符号は、処理の順番を示す。
本システムは、通信回線3を介して接続された上位装置1と電子機器装置2とから構成され、上位装置1から通信回線3を介して更新ソフトウェア14を電子機器装置2にダウンロードすることができるようになっている。本実施の形態では、例えば、上位装置1はHOSTコンピュータ(以下、「HOSTコンピュータ1」という)であり、電子機器装置2は、カードに記録された情報の読み出し、或いは同カードへの新たな情報の記録等を行なうカードリーダ(以下、「カードリーダ2」という)である。
HOSTコンピュータ1は、HOSTコンピュータ1全体の動作を制御する動作回路11を備えている。この動作回路11にはCPU12が搭載されており、CPU12内にインストールされたソフトウェアがHOSTコンピュータ1全体の制御を司っている。またHOSTコンピュータ1はデータ記憶装置(例えばハードディスク)13を備えている。本実施の形態では、データ記憶装置13には、カードリーダ2に格納されているソフトウェアをアップデートするための更新ソフトウェア14と、更新ソフトウェア14の正真性証明用情報(例えばハッシュ値)15を格納している。なお、一般的には、正真性証明用情報15は、更新ソフトウェア14の正真性を証明するための情報であるので、両者は同一の管理者から提供されるようになっており、例えば、更新ソフトウェア14と、更新ソフトウェア14の正真性証明用情報15は、カードリーダ2を動作させるためのソフトウェアを提供するベンダからセットで配付されるものである。
カードリーダ2は、カードリーダ2全体の動作を制御する動作回路21を備えている。この動作回路21には、CPU22が搭載されており、CPU22内にインストールされたソフトウェアがカードリーダ2全体の制御を司っている。
CPU22には、F−ROM(Flash Read Only Memory)などの不揮発性メモリ23と、RAM(Random Access Memory)24とが内蔵されている。
不揮発性メモリ23は、カードリーダ2を制御する制御プログラムや初期値などの情報を格納している。より具体的には、図2に示すように、スーパーバイザープログラム領域231、データ保存領域232、ユーザープログラム領域233を有している。スーパーバイザープログラム領域231は、ダウンロードを実行するためのソフウェアが格納されている。さらに、本実施の形態では、正真性証明用情報15と正真性確認用情報とを比較することも行っている。データ保存領域232は、カードリーダを動作させる際に必要なデータ等を保存しており、本実施の形態ではHOSTコンピュータ1から送付された正真性証明用情報15が格納される。ユーザープログラム領域233は、通常、カードリーダ2を運用するためのソフトウェアが格納されており、ダウンロードにより更新ソフトウェア14が格納されるようになっている。
RAM24は、各種の作業用データが格納されており、ワーキングエリアとして機能している。なお、不揮発性メモリ23及びRAM24は、CPU22に内蔵されたものに限られず、外部接続された外部F−ROMや、外部RAMであってもよい。また、不揮発性メモリ23には、F−ROMに限らず、各種ROMなど電源を供給しなくても記憶を保持可能なメモリや、バッテリバックアップを具備して電源がOFFの状態でもデータを保持することができるRAM等を使用することができる。
通信回線3は、有線あるいは無線のネットワークを含むものであり、有線としてはRS232Cや、USBなどを用いることができる。本実施例では、カードリーダ2は、通信回線3を通じてHOSTコンピュータ1からのコマンドを受信し、該コマンドにより要求された処理を実行し、処理結果をHOSTコンピュータ1に返信するようにしている。
つぎに、更新ソフトウェアをダウンロードする手順を、図2を用いて説明する。図2において、カードリーダ2は、更新ソフトウェア14のダウンロードを開始する前に、ダウンロードされる更新ソフトウェア14の正真性を証明するための情報として正真性証明用情報15をHOSTコンピュータ1からコマンドとともに受信し、ユーザープログラム領域233内に格納されているプログラムを用いてデータ処理を行い、カードリーダ2内で処理するための形態に変換する(符号(a))。取得した正真性証明用情報15を、RAM24に保持する(符号(b))。カードリーダ2は、RAM24に保持した正真性証明用情報15を、カードリーダ2内の不揮発性メモリ23のデータ保存領域232に格納する(符号(c))。この不揮発性メモリ23に格納された正真性証明用情報15は、カードリーダ2の電源がOFFになっても失われることはない。
次に、カードリーダ2は、HOSTコンピュータ1からコマンドを受信して、ダウンロード実行モードに遷移する。すなわち、不揮発性メモリ23内に格納されているスーパーバイザープログラムを起動させる(符号(d))。スーパーバイザープログラムは、HOSTコンピュータ1からダウンロード用のコマンドを受信する(符号(e))。更新ソフトウェア14のダウンロードを実行し、更新ソフトウェア14を不揮発性メモリ23のユーザープログラム領域233に格納する(符号(f))。
カードリーダ2のスーパーバイザープログラムは、更新ソフトウェア14のダウンロードを完了した後に、ユーザープログラム領域233にダウンロードされた更新ソフトウェア14に対して正真性確認用情報を所定の計算により求める(符号(g))。さらに、スーパーバイザープログラムを用いて、カードリーダ2は、計算で求めた正真性確認用情報と、予め不揮発性メモリ23に格納されている正真性証明用情報15とを比較して、双方の正真性証明用情報15と正真性確認用情報が一致している場合に、ダウンロードされた更新ソフトウェア14を起動する(符号(h))。
上述したように、本システムは、カードリーダ2が予めHOSTコンピュータ1から取得した正真性証明用情報15を不揮発性メモリ23のデータ保存領域232に保持する。従って、ダウンロードが停電によって中断された場合や、ダウンロードが中断した後にその状態のまま電源をOFFした場合でも、正真性証明用情報15の格納先が不揮発性メモリ23なので、正真性証明用情報15はカードリーダ2に保持されている。
従って、中断した後、ダウンロードを再開させる場合には、カードリーダ2は、改めてHOSTコンピュータ1から正真性証明用情報15を取得せず、(ダウンロードされる)更新ソフトウェア14のダウンロードを初めからやり直すことになる。
ダウンロードを完了した後に、カードリーダ2は、スーパーバイザープログラムにおいて、ダウンロードされた更新ソフトウェア14に対して正真性確認用情報を計算により求め、予め不揮発性メモリ23に格納されている正真性証明用情報15と比較する。つまり、このときカードリーダ2が更新することができるソフトウェアは、ダウンロードが中断された更新ソフトウェア14のみである。
カードリーダ2が、それ以外のソフトウェアに更新しようとした場合、ダウンロードを完了した後に行う正真性証明用情報15と正真性確認用情報を比較する段階で不一致となり、カードリーダ2は、無効なソフトウェアの正真性確認用情報の計算結果と、予め格納されている正真性証明用情報15とを比較しているとみなして起動しない。
カードリーダ2は、正真性証明用情報15を不揮発性メモリ23に保持することで、正真性証明用情報15を改めてHOSTコンピュータ1から取得する処理を省略することができ、更に相互認証処理を改めて実行しなくても、不正に改ざんされたソフトウェアに更新されることを阻止することができる。
つぎに、カードリーダ2が、HOSTコンピュータ1から更新ソフトウェア14をコマンドにより受信してダウンロードするときの手順(上述した符号(a)〜(h)を含む)を以下に示す。
[通常実行されるダウンロードの処理]
図3は、本発明の実施の形態に係るソフトウェアのダウンロード方法において、通常実行されるダウンロードの一例を示すフローチャートである。
処理(1)カードリーダ2は、HOSTコンピュータ1から更新ソフトウェア14に関する正真性証明用情報15をコマンドとともに受け取る(S101)。
処理(2)S101のコマンドに対して相互認証処理が正常に終了しているかチェックする(S102)。相互認証処理が正常に終了している状態ならばS101のコマンドを受け付け、次のS104に進む。一方、正常に終了していない状態ならば実行不可応答をHOSTコンピュータ1に返す(S103)。なお、相互認証とは、HOSTコンピュータ1側からみて、通信相手となるカードリーダ2が正当であるか、またカードリーダ2側からみて、通信相手であるHOSTコンピュータ1が正当であるかを、相互に認証することである。
処理(3)HOSTコンピュータ1はカードリーダ2に、ダウンロード実行モードに遷移するように促すコマンドを送信する(S104)。
処理(4)カードリーダ2はそのコマンドを受けて、(1)の処理で取得した正真性証明用情報15を不揮発性メモリ23のデータ保存領域232に書き込んだ後(S105)、ダウンロード実行モードに遷移する(S106)。
処理(5)HOSTコンピュータ1はカードリーダ2に、更新ソフトウェア14のダウンロードを実行するコマンドを送信する(S107)。すなわち、コマンドにより要求された処理が実行され、具体的には、更新ソフトウェア14をダウンロードし、カードリーダ2のF−ROM22に格納する。
処理(6)カードリーダ2は更新ソフトウェア14の全データのダウンロードが完了した時点で、スーパーバイザープログラムにおいて、ダウンロードされた更新ソフトウェア14に対して正真性確認用情報を計算により求める(S108)。
処理(7)カードリーダ2は、スーパーバイザープログラムにおいて、不揮発性メモリ23に格納した正真性証明用情報15と、計算により求めた正真性確認用情報を比較する(S109)。
処理(7−1)カードリーダ2は、正真性証明用情報15と正真性確認用情報が一致する場合には、ダウンロードされた更新ソフトウェア14が正当であると判断し、HOSTコンピュータ1にダウンロードが正常に終了した、すなわち、更新できたことを通知する(S110、S113)。
処理(8−1)ダウンロードが正常に終了したとの通知を受けたHOSTコンピュータ1は、カードリーダ2に、ダウンロード実行モードからの離脱命令コマンドを送信する(S114)。カードリーダ2は、離脱命令コマンドを受けて、不揮発性メモリ23に格納されている正真性証明用情報15を無効状態として、ダウンロードされた更新ソフトウェア14を起動し、処理を終了する(S115)。
処理(7−2)一方、上記処理(7)で比較した結果、カードリーダ2が、正真性証明用情報15と正真性確認用情報が不一致の場合には、ダウンロードされたソフトウェアは無効なソフトウェアとみなして、不揮発性メモリ23に格納されている正真性証明用情報15と、ダウンロードされたソフトウェアとを無効状態として、ダウンロードが異常終了であった、すなわち、更新できなかったことをHOSTコンピュータ1に通知する(S111、S112)。
処理(8−2)ダウンロードが異常終了した(S112)場合には、カードリーダ2は、その後にダウンロード実行モードからの離脱命令コマンドを受けても、ダウンロードされたソフトウェアを起動しない。また、カードリーダ2は、全てのコマンドに対して、セキュリティエラーを通知し、処理を終了する。
なお、ダウンロードされた更新ソフトウェア14と正真性証明用情報15は、一つにまとめてダウンロードファイルとしてパックすることも可能である。
[ダウンロードを中断した後の処理]
図4は、本発明の実施の形態に係るソフトウェアのダウンロード方法において、ダウンロードを中断した後の処理の一例を示すフローチャートである。
上記処理(5)に示すS107〜(8−1)に示すS115を実施中に、通信破綻などによりダウンロードが中断された場合には、(5)の処理を初めからやり直す。
カードリーダ2は、電源立ち上げ時に、起動すべきソフトウェアが一連のダウンロードの途中で中断された状態であると判断された場合には、ダウンロード実行モードに入り、ダウンロードを開始することを待つ。すなわち、上記(1)〜(4)の処理を省略して、(5)の処理の直前に戻る。
具体的には、カードリーダ2は、ダウンロードを中断した後に電源が再投入されると(S201)、スーパーバイザープログラムを起動し(S202)、ユーザープログラム領域233に格納されているプログラムのCRCチェックを実行する(S203)。
カードリーダ2は、CRCチェックにより更新ソフトウェア14のダウンロードが正常に終了していると判断した場合には、通常運用モードに遷移する(S204、S205)。
一方、カードリーダ2は、CRCチェックにより更新ソフトウェア14のダウンロードが途中で中断された状態であると判断された場合には、ダウンロード実行モードに入り、ダウロードを開始することを待つ(S206)。その後、カードリーダ2は、S207以降のダウンロードを順に再実行する。なお、図4に示すS207からS212までの各処理は、図3に示すS107からS112までの各処理と同じであるので、ここでの説明は省略する。
[本実施の形態の主な効果]
仮に、上記のようなダウンロードを再実行する段階で、カードリーダ2が、前回とは異なるソフトウェアをダウンロードすると、上記(5)及び(6)の処理を実行した後、上記(7−2)及び(8−2)の処理に入ることになる。従って、カードリーダ2は、上記(1)〜(4)の処理を省略しても、不正なソフトウェアを起動することはなく、セキュリティ性を維持することができる。
更に、本実施の形態では、HOSTコンピュータ1とカードリーダ2との間で正当性を確認する相互認証処理の再実施を省略しているが、不正なソフトウェアを起動することはなく、セキュリティ性を維持することができる。
また、カードリーダ2は、従来技術にシステムに示すように、ソフトウェアを一時的に格納するためのメモリを別途設けることなく、既存の手段で処理することができるので、従来技術に示すシステムと同レベルのセキュリティ性を維持しながらも、メモリ容量増加によるコスト増を防ぐことができる。
(他の実施の形態)
カードリーダ2は、不正なソフトウェアがダウンロードされたと判断された場合に、ソフトウェアを無効(ソフトウェア消去を含む)にし、即再起不能状態にしてもよい。この場合でも、再びダウンロード可能な状態に遷移したとしても、その後に何回ダウンロードを実施しても中断したソフトウェア以外は、更新に失敗するので、セキュリティ性を維持することができる。
カードリーダ2は、不正なソフトウェアがダウンロードされたと判断された場合に、セキュリティエラー状態として、全てのコマンドに対してセキュリティエラーを通知することにしたが、エラーレスポンスを返さず、無応答の再起不能状態にしてもよい。
本システムの構成としては、ダウンロードにて直接F−ROMに書き込むような構成にしているが、従来技術のように、更新ソフトウェア14を一旦RAMに保持して、正真性チェックをして、正当なソフトウェアと判断できたら、F−ROMに書き込むようにしてもよい。
[第2実施形態のシステムの構成]
図5は、本発明の実施の形態に係るソフトウェアのダウンロード方法において、ダウンロードの状況の他の一例を示す構成図である。なお、図5において丸付き数字で示す符号は、処理の順番を示す。また、図2に示す構成と同じものには同じ符号を付記している。
第2実施形態のシステムを構成するブロック図は、上述した第1実施形態で使用したブロック図(図1)と同じであるので、ここでの説明は省略する。
第2実施形態では、図5に示すように、不揮発性メモリ23は、カードリーダ2を制御する制御プログラムや初期値などの情報を格納している。より具体的には、スーパーバイザープログラム領域231、データ保存領域としての第1情報格納領域232a及び第2情報格納領域232b、ユーザープログラム領域233を有している。
スーパーバイザープログラム領域231は、ダウンロードを実行するためのソフウェアが格納されている。データ保存領域は、カードリーダを動作させる際に必要なデータ等を保存しており、第1情報格納領域232a、第2情報格納領域232bと分割されている。第1情報格納領域232aは、HOSTコンピュータ1から取得済の更新前ソフトウェアの正真性を証明する更新前正真性証明用情報を格納し、第2情報格納領域232bは、HOSTコンピュータ1から取得して更新される更新ソフトウェアの正真性を証明する正真性証明用情報15を格納する。ユーザープログラム領域233は、通常、カードリーダ2を運用するためのソフトウェアが格納されており、ダウンロードにより更新ソフトウェア14が格納されるようになっている。
なお、データ保存領域231は第1情報格納領域232a及び第2情報格納領域232bの2分割された領域に限定されるものではない。
カードリーダ2は、HOSTコンピュータ1から取得済の更新前ソフトウェアの正真性を証明する更新前正真性証明用情報を第1情報格納領域232aに格納する第1情報格納手段と、HOSTコンピュータ1から取得して更新される更新ソフトウェアの正真性を証明する正真性証明用情報15を第2情報格納領域232bに格納する第2情報格納手段と、を備えている。なお、正真性証明情報15及び更新前正真性証明情報を書き込む不揮発性メモリは、F−ROMでもよいが、バッテリ等でバックアップされたRAMでもよい。なお、第1情報格納領域232a及び第2情報格納領域232bをF−ROMに設ける場合、双方の領域を異なる消去単位のブロックに配置する。
つぎに、HOSTコンピュータ1から取得して更新される更新ソフトウェア14をダウンロードする手順を、図5を用いて説明する。図5において、カードリーダ2は、更新ソフトウェア14のダウンロードを開始する前に、ダウンロードされる更新ソフトウェア14の正真性を証明するための情報として正真性証明用情報15をHOSTコンピュータ1からコマンドとともに受信し、ユーザープログラム領域233内に格納されているプログラムを用いてデータ処理を行い、カードリーダ2内で処理するための形態に変換する(丸付符号1)。取得した正真性証明用情報15を、RAM24に保持する(丸付符号2)。カードリーダ2は、RAM24に保持した正真性証明用情報15を、カードリーダ2内の不揮発性メモリ23の第2の情報格納領域232bに格納する(丸付符号3)。この不揮発性メモリ23に格納された正真性証明用情報15は、カードリーダ2の電源がOFFになっても失われることはない。
次に、カードリーダ2は、HOSTコンピュータ1からコマンドを受信して、ダウンロード実行モードに遷移する。すなわち、不揮発性メモリ23内に格納されているスーパーバイザープログラムを起動させる(丸付符号4)。スーパーバイザープログラムは、HOSTコンピュータ1からダウンロード用のコマンドを受信する(丸付符号5)。更新ソフトウェア14のダウンロードを実行し、更新ソフトウェア14を不揮発性メモリ23のユーザープログラム領域233に格納する(丸付符号6)。
カードリーダ2のスーパーバイザープログラムは、更新ソフトウェア14のダウンロードを完了した後に、ユーザープログラム領域233にダウンロードされた更新ソフトウェア14に対して正真性確認用情報を所定の計算により求める(丸付符号7)。さらに、スーパーバイザープログラムを用いて、カードリーダ2は、計算で求めた正真性確認用情報と、予め不揮発性メモリ23の第2の情報格納領域232bに格納されている正真性証明用情報15とを比較して、双方の正真性証明用情報15と正真性確認用情報が一致している場合に、ダウンロードされた更新ソフトウェア14を起動する(丸付符号8)。
また、カードリーダ2のスーパーバイザープログラムは、正真性証明用情報15と計算により求めた正真性確認用情報が一致している場合に、第2情報格納領域232bに格納されている正真性証明用情報15を更新前正真性証明用情報として第1情報格納領域232aに格納する(丸付符号9)。
上述したように、第2実施形態における本システムは、カードリーダ2が不揮発性メモリ23に第1情報格納領域232aと第2情報格納領域232bを備え、丸付符号9の情報比較工程において、正真性証明用情報15と計算により求めた正真性確認用情報が一致している場合に、第2情報格納領域232bに格納された正真性証明用情報15を更新前正真性証明用情報として第1情報格納領域232aに格納する。従って、本システムは、丸付符号3の第2情報格納工程で、ダウンロード対象となる更新ソフトウェア14の正真性を証明する正真性証明用情報15をHOSTコンピュータ1から受信し、その情報をカードリーダ2の不揮発性メモリ23の第2情報格納領域232bに格納している途中で、停電などにより処理が中断されて、正真性証明用情報15が完全に書き込まれなかった場合でも、次回電源立ち上げ時には、第1情報格納領域232aに格納されている更新前正真性証明用情報と、更新前(未だ更新されていない)ソフトウェアの正真性確認情報の計算結果との照合が行われ、照合結果は一致する。すなわち、本システムが、照合不一致により不正ダウンロードであると誤認され、不正使用防止のための緊急停止モードに誤って遷移することがない。
また、本システムが、丸付符号6の更新ソフトウェア14のダウンロード実行前に、停電等の原因によって処理が中断された場合でも、第1情報格納領域232aには、更新前(未だ更新されていない)ソフトウェアに対応する更新前正真性証明用情報が格納されている。従って、本システムは、次回電源立ち上げ時に、第1情報格納領域232aに格納されている更新前正真性証明用情報と、未だ更新されていないソフトウェアの正真性確認情報の計算結果との照合が行われ、照合結果は一致するから、緊急停止モードに誤って遷移することがない。
また、本システムは、丸付符号9の第1情報格納工程の途中で、停電等の原因によって処理が中断された場合には、第1情報格納領域232aに格納された情報は破損しているが、第2情報格納領域232bには更新ソフトウェア14に対応する正真性証明用情報15が格納されている。従って、本システムは、次回電源立ち上げ時に、第2情報格納領域232bに格納されている正真性証明用情報15と、更新ソフトウェア14に対して計算により求めた正真性確認情報の計算結果との照合が行われ、照合結果は一致するから、緊急停止モードに誤って遷移することがない。
第2実施形態の本システムは、第1実施形態のシステムと同様に、ダウンロード処理が中断された場合でも、セキュリティ性を保ちつつ、ダウンロード処理再開までの手順を簡略化することができる。
つぎに、カードリーダ2が、HOSTコンピュータ1から更新ソフトウェア14をコマンドにより受信してダウンロードするときの手順(上述した丸付符号1〜9を含む)を以下に示す。
[通常実行されるダウンロードの処理]
図6は、第2実施形態のソフトウェアのダウンロード方法において、通常実行されるダウンロードの一例を示すフローチャートである。
処理(一)カードリーダ2は、HOSTコンピュータ1から更新ソフトウェア14に関する正真性証明用情報15をコマンドとともに受け取る(S301)。
処理(二)S301のコマンドに対して相互認証処理が正常に終了しているかチェックする(S302)。相互認証処理が正常に終了している状態ならばS301のコマンドを受け付け、次のS304に進む。一方、正常に終了していない状態ならば実行不可応答をHOSTコンピュータ1に返す(S303)。なお、相互認証とは、HOSTコンピュータ1側からみて、通信相手となるカードリーダ2が正当であるか、またカードリーダ2側からみて、通信相手であるHOSTコンピュータ1が正当であるかを、相互に認証することである。
処理(三)HOSTコンピュータ1はカードリーダ2に、ダウンロード実行モードに遷移するように促すコマンドを送信する(S304)。
処理(四)カードリーダ2はそのコマンドを受けて、(一)の処理で取得した正真性証明用情報15を不揮発性メモリ23の第2情報格納領域232bに書き込んだ後(S305)、ダウンロード実行モードに遷移する(S306)。
処理(五)HOSTコンピュータ1からカードリーダ2に、更新ソフトウェア14のダウンロードを実行するコマンドを送信する(S307)。
処理(六)すなわち、コマンドにより要求された処理が実行され、具体的には、カードリーダ2は、更新ソフトウェア14をダウンロードし、カードリーダ2のF−ROM22に格納する。
処理(七)カードリーダ2は、更新ソフトウェア14の全データのダウンロードが完了した時点で、スーパーバイザープログラムにおいて、ダウンロードされた更新ソフトウェア14に対して正真性確認用情報を計算により求める(S308)。
処理(八)カードリーダ2は、スーパーバイザープログラムにおいて、不揮発性メモリ23の第2情報格納領域232bに格納した正真性証明用情報15と、計算により求めた正真性確認用情報を比較する(S309)。
処理(九)カードリーダ2は、正真性証明用情報15と計算により求めた正真性確認用情報が一致する場合には、ダウンロードされた更新ソフトウェア14が正当であると判断し(S310)、第2情報格納領域232bに格納した正真性証明用情報15を第1情報格納領域232aに複写し(S313)、HOSTコンピュータ1にダウンロードが正常に終了したこと、すなわち、更新できたことを通知する(S314)。なお、カードリーダ2は、複写後に、第2情報格納領域232bに格納されている正真性証明用情報15を削除してもよい。
ダウンロードが正常に終了したとの通知を受けたHOSTコンピュータ1は、カードリーダ2に、ダウンロード実行モードからの離脱命令コマンドを送信する(S315)。カードリーダ2は、離脱命令コマンドを受けて、ダウンロードされた更新ソフトウェア14を起動し、処理を終了する(S316)。なお、S315において、離脱命令コマンドでない場合には、引き続きスーパーバイザープログラムは各コマンドの処理を実施する。
一方、カードリーダ2は、正真性証明用情報15と計算により求めた正真性確認用情報が不一致の場合には、ダウンロードされたソフトウェアは無効なソフトウェアとみなして(S310)、不揮発性メモリ23の第2情報格納領域232bに格納されている正真性証明用情報15と、ダウンロードされたソフトウェアとを無効状態として、ダウンロードが異常終了であったこと、すなわち、更新できなかったことをHOSTコンピュータ1に通知する(S311、S312)。
ダウンロードが異常終了した(S312)場合には、カードリーダ2は、その後にダウンロード実行モードからの離脱命令コマンドを受けても、ダウンロードされたソフトウェアを起動しない。また、カードリーダ2は、全てのコマンドに対して、セキュリティエラーを通知し、処理を終了する。
[ダウンロードを中断した後の処理]
図7は、第2実施形態のソフトウェアのダウンロード方法において、ダウンロードを中断した場合に実行されるソフトウェアのダウンロード方法の処理の一例を示すフローチャートである。
カードリーダ2は、更新ソフトウェア14のダウンロード処理を中断した後に電源が再投入されると(S401)、スーパーバイザープログラムを起動し、ユーザープログラム領域233に格納されているプログラムのCRCチェックを実行する(S402)。
カードリーダ2は、CRCチェックにより更新ソフトウェア14のダウンロードが正常に終了していると判断した場合には、通常運用モードに遷移する(S403、S404)。
一方、カードリーダ2は、CRCチェックにより更新ソフトウェア14のダウンロードが途中で中断された状態であると判断された場合には、ダウンロード実行モードに入り、更新ソフトウェア14のダウロードを実施する(S405、S406)。
カードリーダ2は、更新ソフトウェア14の全データのダウンロードが完了した時点で、スーパーバイザープログラムにおいて、ダウンロードされた更新ソフトウェア14に対して正真性確認用情報を計算により求める(S407)。
カードリーダ2は、スーパーバイザープログラムを実行し、不揮発性メモリ23の第2情報格納領域232bに格納した正真性証明用情報15と、計算により求めた正真性確認用情報を比較する(S408)。
カードリーダ2は、正真性証明用情報15と計算により求めた正真性確認用情報が一致する場合には、ダウンロードされた更新ソフトウェア14が正当であると判断し(S409)、第2情報格納領域232bに格納した正真性証明用情報15を第1情報格納領域232aに複写し(S412)、HOSTコンピュータ1にダウンロードが正常に終了したこと、すなわち、更新できたことを通知する。
ダウンロードが正常に終了したとの通知を受けたHOSTコンピュータ1は、カードリーダ2に、ダウンロード実行モードからの離脱命令コマンドを送信する(S413)。カードリーダ2は、離脱命令コマンドを受けて、ダウンロードされた更新ソフトウェア14を起動し、処理を終了する(S414)。なお、S413において、離脱命令コマンドでない場合には、引き続きスーパーバイザープログラムは各コマンドの処理を実施する。
一方、カードリーダ2は、正真性証明用情報15と計算により求めた正真性確認用情報が不一致の場合には、ダウンロードしたソフトウェアは無効なソフトウェアとみなして(S409)、不揮発性メモリ23の第2情報格納領域232bに格納されている正真性証明用情報15と、ダウンロードされたソフトウェアとを無効状態として、ダウンロードが異常終了であったこと、すなわち、更新できなかったことをHOSTコンピュータ1に通知する(S410、S411)。
ダウンロードが異常終了した(S411)場合には、カードリーダ2は、その後にダウンロード実行モードからの離脱命令コマンドを受けても、ダウンロードされたソフトウェアを起動しない。また、カードリーダ2は、全てのコマンドに対して、セキュリティエラーを通知し、処理を終了する。
[電源立ち上げ時の正真性確認処理]
図8は、第2実施形態のソフトウェアのダウンロード方法において、電源立ち上げ時に実行されるソフトウェアの正真性確認方法の処理の一例を示すフローチャートである。
カードリーダ2は、電源が再投入されると(S501)、スーパーバイザープログラムを起動し、ユーザープログラム領域233に格納されているプログラムのCRCチェックを実行する(S502)。
カードリーダ2は、CRCチェックにより更新ソフトウェア14のダウンロードが正常に終了していないと判断した場合には、ダウンロード実行モードに遷移する(S503、S504)。
一方、カードリーダ2は、CRCチェックにより更新ソフトウェア14のダウンロードが正常に完了していると判断した場合には、スーパーバイザープログラムにおいて、ダウンロードされた更新ソフトウェアに対して正真性確認用情報を計算により求める(S503、S505)。
カードリーダ2は、スーパーバイザープログラムにおいて、不揮発性メモリ23の第1情報格納領域232aに格納された更新前の正真性証明用情報と、計算により求められた正真性確認用情報を比較する(S506)。
カードリーダ2は、更新前の正真性証明用情報と計算により求められた正真性確認用情報が一致する場合には、ダウンロードされたソフトウェアが正当であると判断し(S507)、通常運用モードに遷移する(S508)。
一方、カードリーダ2は、更新前の正真性証明用情報と計算により求められた正真性確認用情報が一致しない場合には、第2情報格納領域232bに格納されている正真性証明用情報15と計算により求められた正真性確認用情報を比較する(S509)。
カードリーダ2は、第2情報格納領域232bに格納した正真性証明用情報と計算により求めた正真性確認用情報が一致する場合には、更新ソフトウェア14のダウンロード終了後に、第2情報格納領域232bに格納された正真性証明用情報を第1情報格納領域232aに複写する途中で中断されたと判断し(S510)、第2情報格納領域232bに格納された正真性証明用情報15を、更新前の正真性証明用情報として第1情報格納領域232aに複写し(S513)、通常運用モードに遷移する(S514)。
一方、カードリーダ2は、正真性証明用情報15と計算により求めた正真性確認用情報が一致しない場合には、ダウンロードされているソフトウェアは無効なソフトウェアとみなして(S510)、不揮発性メモリ23の第2情報格納領域232bに格納されている正真性証明用情報15と、ダウンロードされたソフトウェアとを無効状態として、ダウンロードが異常終了であったこと、すなわち、更新できなかったことをHOSTコンピュータ1に通知する(S511、S512)。
ダウンロードされたソフトウェアが異常と判断された(S512)場合には、カードリーダ2は、その後にダウンロード実行モードからの離脱命令コマンドを受けても、ダウンロードされたソフトウェアを起動しない。また、カードリーダ2は、全てのコマンドに対して、セキュリティエラーを通知し、処理を終了する。
[本実施の形態の主な効果]
第2実施形態に示す本システムは、このような構成にすることで、一連のダウンロード処理が中断されても確実に復旧させることができるため、システムの信頼性を向上させることができる。
また、本システムは、ソフトウェアをダウンロードする過程で停電等の原因によって処理が中断された場合でも、第1情報格納領域及び第2情報格納領域にそれぞれのソフトウェアに対応した正真性証明用情報が格納されているから、次回電源立ち上げ時に照合不一致になって、不正ダウンロードであると誤認されるのを防止することができる。
1 上位装置
2 電子機器装置
3 通信回線
12 CPU
13 データ記憶装置
14 ソフトウェア(更新ソフトウェア)
15 正真性証明用情報
21 動作回路
22 CPU
23 不揮発性メモリ
24 RAM

Claims (8)

  1. 上位装置から通信回線を介してソフトウェアを電子機器装置にダウンロードする方法において、
    前記ソフトウェアのダウンロード開始前に、前記電子機器装置が前記上位装置から前記ソフトウェアの正真性を証明する正真性証明用情報を取得し、取得した前記正真性証明用情報を前記電子機器装置の不揮発性メモリに格納する第1工程と、
    前記上位装置から前記電子機器装置に前記ソフトウェアのダウンロードを実行する第2工程と、
    前記ソフトウェアのダウンロード完了後に、ダウンロードされた前記ソフトウェアに対して計算で求めた正真性確認用情報と、前記第1工程で取得した正真性証明用情報とを比較する第3工程と、
    前記第3工程において、前記正真性証明用情報と前記正真性確認用情報が一致している場合に、前記電子機器装置がダウンロードされた前記ソフトウェアを起動する第4工程と、を有することを特徴とするソフトウェアのダウンロード方法。
  2. 前記第2工程において、前記ソフトウェアのダウンロードが中断した場合に、前記第1工程を省略して、前記第2工程から再実行することを特徴とする請求項1記載のソフトウェアのダウンロード方法。
  3. 前記第3工程を実行した後に、前記不揮発性メモリに格納された前記正真性証明用情報を無効状態にする工程を備えたことを特徴とする請求項1又は2記載のソフトウェアのダウンロード方法。
  4. 前記第3工程において、前記正真性証明用情報と前記正真性確認用情報が一致していない場合に、ダウンロードされた前記ソフトウェアを無効状態にする工程を備えたことを特徴とする請求項1から3のいずれか記載のソフトウェアのダウンロード方法。
  5. 上位装置から通信回線を介してソフトウェアを電子機器装置にダウンロードする方法において、
    前記上位装置から取得済の更新前ソフトウェアの正真性を証明する更新前正真性証明用情報を前記電子機器装置の第1情報格納領域に格納する第1情報格納手段と、前記上位装置から取得して更新される更新ソフトウェアの正真性を証明する正真性証明用情報を前記電子機器装置の第2情報格納領域に格納する第2情報格納手段と、を備え、
    前記更新ソフトウェアのダウンロード開始前に、前記電子機器装置が前記上位装置から前記正真性証明用情報を取得し、取得した前記正真性証明用情報を前記第2情報格納領域に格納する第2情報格納工程と、
    前記上位装置から前記電子機器装置に前記更新ソフトウェアのダウンロードを実行するダウンロード工程と、
    前記更新ソフトウェアのダウンロード完了後に、ダウンロードされた前記更新ソフトウェアに対して計算で求めた正真性確認用情報と、前記第2情報格納工程で取得した前記正真性証明用情報とを比較する情報比較工程と、
    前記情報比較工程において、前記正真性証明用情報と前記正真性確認用情報が一致している場合に、前記正真性証明用情報を前記更新前正真性証明用情報として前記第1情報格納領域に格納する第1情報格納工程と、
    前記情報比較工程において、前記正真性証明用情報と前記正真性確認用情報が一致している場合に、前記電子機器装置がダウンロードされた前記更新ソフトウェアを起動する起動工程と、を有することを特徴とするソフトウェアのダウンロード方法。
  6. 前記ダウンロード工程において、前記更新ソフトウェアのダウンロードが中断した場合に、前記第2情報格納工程を省略して、前記ダウンロード工程から再実行することを特徴とする請求項5記載のソフトウェアのダウンロード方法。
  7. 前記第1情報格納工程を実行した後に、前記第2情報格納領域に格納された前記正真性証明用情報を無効状態にする工程を備えたことを特徴とする請求項5又は6記載のソフトウェアのダウンロード方法。
  8. 前記情報比較工程において、前記正真性証明用情報と前記正真性確認用情報が一致していない場合に、ダウンロードされた前記更新ソフトウェアを無効状態にする工程を備えたことを特徴とする請求項5から7のいずれか記載のソフトウェアのダウンロード方法。
JP2011000946A 2010-01-12 2011-01-06 ソフトウェアのダウンロード方法 Expired - Fee Related JP5740646B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2011000946A JP5740646B2 (ja) 2010-01-12 2011-01-06 ソフトウェアのダウンロード方法
US13/004,301 US8972591B2 (en) 2010-01-12 2011-01-11 Method for downloading software

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2010004414 2010-01-12
JP2010004414 2010-01-12
JP2011000946A JP5740646B2 (ja) 2010-01-12 2011-01-06 ソフトウェアのダウンロード方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2014217935A Division JP5895271B2 (ja) 2010-01-12 2014-10-27 ソフトウェアのダウンロード方法

Publications (2)

Publication Number Publication Date
JP2011165175A true JP2011165175A (ja) 2011-08-25
JP5740646B2 JP5740646B2 (ja) 2015-06-24

Family

ID=44259550

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011000946A Expired - Fee Related JP5740646B2 (ja) 2010-01-12 2011-01-06 ソフトウェアのダウンロード方法

Country Status (2)

Country Link
US (1) US8972591B2 (ja)
JP (1) JP5740646B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015125473A (ja) * 2013-12-25 2015-07-06 凸版印刷株式会社 携帯端末、認証システム、認証方法、および、認証プログラム

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102012212412A1 (de) * 2012-06-29 2014-01-02 Siemens Ag Netzwerkeinrichtung und Verfahren zum Betreiben einer Netzwerkeinrichtung für ein Automatisierungsnetzwerk
US9965632B2 (en) * 2014-12-22 2018-05-08 Capital One Services, Llc System and methods for secure firmware validation
US10367803B2 (en) * 2015-04-12 2019-07-30 Gropper Adrian Managed open source medical devices
CA2982785C (en) 2015-04-14 2023-08-08 Capital One Services, Llc Systems and methods for secure firmware validation
US9768971B2 (en) 2015-09-16 2017-09-19 Intel IP Corporation Communication device and a method for operating a communication device
US10248940B1 (en) * 2015-09-24 2019-04-02 Square, Inc. Modular firmware for transaction system
US10108412B2 (en) 2016-03-30 2018-10-23 Square, Inc. Blocking and non-blocking firmware update
US11010765B2 (en) 2016-06-29 2021-05-18 Square, Inc. Preliminary acquisition of payment information
US10417628B2 (en) 2016-06-29 2019-09-17 Square, Inc. Multi-interface processing of electronic payment transactions
US10817869B2 (en) 2016-06-29 2020-10-27 Square, Inc. Preliminary enablement of transaction processing circuitry
CN108668002B (zh) * 2017-10-12 2020-04-24 湖南微算互联信息技术有限公司 一种云手机的应用下载方法
US10990969B2 (en) 2018-12-21 2021-04-27 Square, Inc. Point of sale (POS) systems and methods for dynamically processing payment data based on payment reader capability
US11049095B2 (en) 2018-12-21 2021-06-29 Square, Inc. Point of sale (POS) systems and methods with dynamic kernel selection
US10762196B2 (en) 2018-12-21 2020-09-01 Square, Inc. Point of sale (POS) systems and methods with dynamic kernel selection
US20220222063A1 (en) * 2021-01-13 2022-07-14 Samsung Electronics Co., Ltd. Portable device communicating with charger and operating method thereof

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003108384A (ja) * 2001-09-28 2003-04-11 Dainippon Printing Co Ltd Icカードアプリケーションプログラムロード装置およびその処理方法
WO2003065225A1 (fr) * 2002-01-31 2003-08-07 Matsushita Electric Industrial Co., Ltd. Dispositif de memoire, appareil terminal et systeme de reparation de donnees
JP2005532612A (ja) * 2002-04-29 2005-10-27 ヒューレット−パッカード デベロップメント カンパニー エル.ピー. アプリケーションのセキュアな送信およびインストール
JP2009104618A (ja) * 2008-12-02 2009-05-14 Ntt Docomo Inc 端末装置およびプログラム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030191717A1 (en) * 1998-06-05 2003-10-09 Johnson Teddy C. High performance server data delivery system and method
US6546492B1 (en) * 1999-03-26 2003-04-08 Ericsson Inc. System for secure controlled electronic memory updates via networks
JP2001195247A (ja) 2000-01-07 2001-07-19 Nec Corp ソフトウェアの安全性を検証し保証するシステム及び方法
US7600251B2 (en) * 2003-03-10 2009-10-06 Igt Universal peer-to-peer game download
US7461319B2 (en) * 2003-04-04 2008-12-02 Sun Microsystems, Inc. System and method for downloading files over a network with real time verification
JP2005115781A (ja) * 2003-10-09 2005-04-28 Mobile Hoso Kk ソフトウェア提供方法、ソフトウェア提供システム、端末装置及びソフトウェア取得方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003108384A (ja) * 2001-09-28 2003-04-11 Dainippon Printing Co Ltd Icカードアプリケーションプログラムロード装置およびその処理方法
WO2003065225A1 (fr) * 2002-01-31 2003-08-07 Matsushita Electric Industrial Co., Ltd. Dispositif de memoire, appareil terminal et systeme de reparation de donnees
JP2005532612A (ja) * 2002-04-29 2005-10-27 ヒューレット−パッカード デベロップメント カンパニー エル.ピー. アプリケーションのセキュアな送信およびインストール
JP2009104618A (ja) * 2008-12-02 2009-05-14 Ntt Docomo Inc 端末装置およびプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015125473A (ja) * 2013-12-25 2015-07-06 凸版印刷株式会社 携帯端末、認証システム、認証方法、および、認証プログラム

Also Published As

Publication number Publication date
US20110173691A1 (en) 2011-07-14
US8972591B2 (en) 2015-03-03
JP5740646B2 (ja) 2015-06-24

Similar Documents

Publication Publication Date Title
JP5740646B2 (ja) ソフトウェアのダウンロード方法
JP4769608B2 (ja) 起動検証機能を有する情報処理装置
US10509568B2 (en) Efficient secure boot carried out in information processing apparatus
JP7022809B2 (ja) コンピュータシステム、および、その安全管理方法、および、コンピュータソフトウェア製品
EP2693789B1 (en) Mobile terminal encryption method, hardware encryption device and mobile terminal
JP6585072B2 (ja) 不揮発性メモリ又はセキュア素子へのデータの読み込みを安全に行うこと
JP2008522298A (ja) コンピュータに信頼可能な実行環境を構築する方法
CN108875382B (zh) 一种智能pos终端永久性防切机的保护方法
US20100100966A1 (en) Method and system for blocking installation of some processes
CN113127011A (zh) 电子设备及电子设备的操作方法
TWI570591B (zh) 允許測試金鑰用於bios安裝之技術
JP6659180B2 (ja) 制御装置および制御方法
WO2018138789A1 (ja) 組み込み装置及びファームウェア更新方法
JP4818824B2 (ja) プログラム管理システムおよび端末装置
JP6622360B2 (ja) 情報処理装置
JP5895271B2 (ja) ソフトウェアのダウンロード方法
CN111506897B (zh) 数据处理方法和装置
JP2006099616A (ja) 携帯可能電子装置及び携帯可能電子装置の制御方法
JP2007164681A (ja) 認証方法、認証プログラム、認証システムおよびメモリカード
JP2020057309A (ja) 制御システム
US20230129942A1 (en) Method for locking a rewritable non-volatile memory and electronic device implementing said method
JP2020135882A (ja) 電子素子、そのような電子素子を含むシステム、及びプロセッサを監視する方法
CN118194363A (zh) 微处理器的嵌入式软件校验方法
CN117632201A (zh) 用于车载mcu的固件更新方法及装置
CN114598456A (zh) 一种密钥管理方法及装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131204

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140731

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140827

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150325

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150401

R150 Certificate of patent or registration of utility model

Ref document number: 5740646

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees