(57)【要約】【課題】数値制御装置が正規品であるかの判定を行い、模造品である場合に数値制御装置の不正使用を防止することができる数値制御装置を得ること。【解決手段】認証装置との間で通信を行う通信手段と、装置固有識別情報を記憶するＮＣ装置固有ＩＤ記憶部１４１と、数値制御装置１０への入出力機器の接続状態を含むデバイス構成情報を記憶するリモートＩＯ構成情報記憶部１４２と、不揮発性メモリ１３と、電源投入時に入出力機器の接続状態を取得する構成確認部２３２と、装置固有識別情報と接続状態とを用いて、入出力機器を含めた数値制御装置１０の構成が認証装置に登録されている構成と等しいかの認証処理を認証装置との間で行う認証処理部２３４と、を備え、通信部は、認証処理部２３４で数値制御装置１０の構成が認証装置に登録されている構成と等しい場合に、認証装置から数値制御装置１０で使用するプログラムを取得し、不揮発性メモリ１３に記憶する。【選択図】図２
2014225138.tif 000002
【特許請求の範囲】
【請求項１】
数値制御装置の動作の可否を判断する認証装置とネットワークを介して接続される前記数値制御装置であって、
前記認証装置との間で通信を行う通信手段と、
当該数値制御装置に付された装置固有識別情報を記憶する装置固有識別情報記憶手段と、
当該数値制御装置への入出力機器の接続状態を含むデバイス構成情報を記憶するデバイス構成情報記憶手段と、
プログラムを記憶する不揮発性記憶手段と、
電源投入時に、当該数値制御装置への前記入出力機器の接続状態を取得する構成確認手段と、
前記装置固有識別情報と前記接続状態とを用いて、前記入出力機器を含めた当該数値制御装置の構成が前記認証装置に登録されている構成と等しいかの認証処理を前記認証装置との間で行う認証処理手段と、
を備え、
前記通信手段は、前記認証処理手段で当該数値制御装置の構成が前記認証装置に登録されている構成と等しい場合に、前記認証装置から当該数値制御装置で使用するプログラムを取得し、前記不揮発性記憶手段に記憶することを特徴とする数値制御装置。
【請求項２】
前記認証処理手段は、前記装置固有識別情報と、前記接続状態と、前記認証装置から送信される認証用入力データとを用いて暗号化出力データを生成し、前記暗号化出力データを前記認証装置に送信することを特徴とする請求項１に記載の数値制御装置。
【請求項３】
前記構成確認手段は、取得した前記接続状態と前記デバイス構成情報記憶手段中の前記デバイス構成情報とを比較し、
前記認証処理手段は、前記構成確認手段によって前記接続状態と前記デバイス構成情報とが同一と判定された場合に、前記認証処理手段による処理を行わずに、前記不揮発性記憶手段に記憶されている前記プログラムの実行を許可し、前記構成確認手段によって前記接続状態と前記デバイス構成情報とが同一でないと判定された場合に前記認証処理を行うことを特徴とする請求項１または２に記載の数値制御装置。
【請求項４】
当該数値制御装置の電源投入日時を記憶する電源投入日時記憶手段と、
当該数値制御装置の前記電源投入日時を前記電源投入日時記憶手段に登録する電源投入日時情報登録手段と、
今回の電源投入日時が前回の電源投入日時から所定の期間経過しているかを判定する認証期間判定手段と、
をさらに備え、
前記認証処理手段は、前記構成確認手段によって前記接続状態と前記デバイス構成情報とが同一と判定された場合で、かつ前記認証期間判定手段によって今回の電源投入日時が前回の電源投入日時から所定の期間経過していない場合に、前記認証処理手段による処理を行わずに、前記不揮発性記憶手段に記憶されている前記プログラムの実行を許可し、前記構成確認手段によって前記接続状態と前記デバイス構成情報とが同一と判定されない場合、または前記認証期間判定手段によって今回の電源投入日時が前回の電源投入日時から所定の期間経過している場合に前記認証処理を行うことを特徴とする請求項１または２に記載の数値制御装置。
【請求項５】
数値制御装置と、前記数値制御装置の動作の可否を判断する認証装置とが、ネットワークを介して接続される数値制御装置認証システムであって、
前記数値制御装置は、
前記認証装置との間で通信を行う通信手段と、
当該数値制御装置に付された装置固有識別情報を記憶する装置固有識別情報記憶手段と、
当該数値制御装置への入出力機器の接続状態を含むデバイス構成情報を記憶するデバイス構成情報記憶手段と、
プログラムを記憶する不揮発性記憶手段と、
電源投入時に、当該数値制御装置への前記入出力機器の接続状態を取得する構成確認手段と、
前記装置固有識別情報と前記接続状態とを用いて、前記入出力機器を含めた当該数値制御装置の構成が前記認証装置に登録されている構成と等しいかの認証処理を前記認証装置との間で行う認証処理手段と、
を備え、
前記認証装置は、
前記数値制御装置との間で通信を行う通信手段と、
前記数値制御装置の前記装置固有識別情報と前記デバイス構成情報とを含む装置情報を記憶する装置情報記憶手段と、
前記数値制御装置で実行させるプログラムを格納するプログラム格納手段と、
前記数値制御装置から受信した前記装置固有識別情報と前記接続状態を含む情報が、前記装置情報記憶手段に登録されている装置情報に一致するかを判定し、前記数値制御装置の認証を行う認証処理手段と、
前記認証処理手段によって前記数値制御装置が認証された場合に、前記プログラム格納手段中の前記プログラムを前記数値制御装置に対して送信するプログラム配信手段と、
を備え、
前記数値制御装置の前記通信手段は、前記認証装置から送信される前記プログラムを前記不揮発性記憶手段に記憶することを特徴とする数値制御装置認証システム。
【請求項６】
前記数値制御装置の前記認証処理手段は、前記装置固有識別情報と、前記接続状態と、前記認証装置から送信される認証用入力データとを用いて暗号化出力データを生成し、前記暗号化出力データを前記認証装置に送信し、
前記認証装置の前記認証処理手段は、前記数値制御装置から認証要求を受けると、前記認証要求を受けるごとにランダムな前記認証用入力データを生成して前記数値制御装置に送信し、前記数値制御装置から前記暗号化出力データを受信すると、前記認証用入力データと前記装置情報記憶手段中の前記数値制御装置に対応する装置情報とを用いて暗号化データを生成し、前記暗号化データと前記暗号化出力データとを比較することによって前記数値制御装置の認証を行うことを特徴とする請求項５に記載の数値制御装置認証システム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、数値制御装置および数値制御装置認証システムに関するものである。
【背景技術】
【０００２】
従来のＮＣ（Numerical  Control）装置は、ＣＰＵ（Central  Processing  Unit）と、ＣＰＵに内部バスを介して接続されたＦＲＯＭ（Flash   Read  Only  Memory）、ＤＲＡＭ（Dynamic  Random  Access  Memory）、ＳＲＡＭ（Static  RAM）、サーボ制御部、外部機器用Ｉ／Ｆ、キー装置用Ｉ／Ｆ、入力機器用Ｉ／Ｆおよび表示装置用Ｉ／Ｆと、を備えている。
【０００３】
ＣＰＵは、ＮＣ装置全体を制御するプロセッサである。内部バスは、ＣＰＵと各メモリまたは各Ｉ／Ｆ間の通信を行なうバスである。ＦＲＯＭは、システムプログラムまたはアプリケーションプログラムを格納する。ＣＰＵは、ＦＲＯＭに格納されたシステムプログラムを読み出し、このシステムプログラムに従ってＮＣ装置全体を制御する。
【０００４】
従来のＮＣ装置では、ＦＲＯＭに格納されているデータを吸出すことで、格納されているシステムプログラムおよびアプリケーションプログラムをコピーすることが可能である。そのため、ＮＣ装置メーカが想定する個別のＮＣ装置以外の装置、たとえば第三者によってコピー製造されたＮＣ装置または正規購入品以外のＮＣ装置にプログラムを書き込んで動作させることが可能となってしまう。
【０００５】
そこで、ＮＣ装置メーカが想定する個別のＮＣ装置以外の装置でのプログラムの動作を防止する技術が提案されている（たとえば、特許文献１参照）。特許文献１では、サービス要員からインターネット回線を介して送られてきたＮＣ装置の自動運転許可データ、製造番号等のＮＣ装置を特定する公開情報であるＮＣ装置識別情報、サービス要員のＩＤまたはパスワード等が不正でないかを判断する。これらの情報が不正でないと判断すると、自動運転許可データを作成する。そして、これをサービス要員がインターネット回線経由でダウンロードし、ＮＣ装置へ入力すると自動運転禁止状態が解除される。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００９−２５１６９４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記従来の技術では、移設検知装置の不正改造を含むＮＣ装置のコピー製造等の不正に対する防止の実行を行なうことができない等の難点がある。すなわち、インターネット回線経由でダウンロードする際の識別情報が、ＮＣ装置識別情報等の機器内のメモリに保存された固有の情報であることから、情報に暗号をかけた場合でも暗号情報が固有の数値情報となる。そのため、暗号の解読性が高くなり、情報の秘匿性が低下し、コピーされた識別情報およびＮＣ装置自体の模造品に対してもプログラムがダウンロードされてしまい、正規品と同じＮＣ装置の動作が可能となってしまうという問題点があった。
【０００８】
この発明は、上記に鑑みてなされたもので、数値制御装置が正規品であるかの判定を行い、模造品である場合に数値制御装置の不正使用を防止することができる数値制御装置および数値制御装置認証システムを得ることを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するため、この発明にかかる数値制御装置は、数値制御装置の動作の可否を判断する認証装置とネットワークを介して接続される前記数値制御装置であって、前記認証装置との間で通信を行う通信手段と、当該数値制御装置に付された装置固有識別情報を記憶する装置固有識別情報記憶手段と、当該数値制御装置への入出力機器の接続状態を含むデバイス構成情報を記憶するデバイス構成情報記憶手段と、プログラムを記憶する不揮発性記憶手段と、電源投入時に、当該数値制御装置への前記入出力機器の接続状態を取得する構成確認手段と、前記装置固有識別情報と前記接続状態とを用いて、前記入出力機器を含めた当該数値制御装置の構成が前記認証装置に登録されている構成と等しいかの認証処理を前記認証装置との間で行う認証処理手段と、を備え、前記通信手段は、前記認証処理手段で当該数値制御装置の構成が前記認証装置に登録されている構成と等しい場合に、前記認証装置から当該数値制御装置で使用するプログラムを取得し、前記不揮発性記憶手段に記憶することを特徴とする。
【発明の効果】
【００１０】
この発明によれば、ネットワークで接続される認証装置との間で認証を実施するので、模倣品を検出し、ネットワーク経由での数値制御装置へのシステムプログラムまたはアプリケーションプログラムのダウンロードを不許可とすることができ、装置の不正使用を防止することができるという効果を有する。
【図面の簡単な説明】
【００１１】
【図１】図１は、実施の形態によるＮＣ装置認証システムの構成を模式的に示す図である。
【図２】図２は、実施の形態によるＮＣ装置の機能構成を模式的に示すブロック図である。
【図３】図３は、実施の形態によるＮＣ装置認証方法の手順の一例を示すフローチャートである。
【発明を実施するための形態】
【００１２】
以下に添付図面を参照して、この発明の実施の形態にかかる数値制御装置および数値制御装置認証システムを詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１３】
図１は、実施の形態によるＮＣ装置認証システムの構成を模式的に示す図である。ＮＣ装置認証システムは、ＮＣ装置１０と、認証装置である認証サーバ３０と、がネットワーク４０を介して接続される構成を有する。
【００１４】
ＮＣ装置１０は、ＣＰＵ１１と、通信手段であるネットワーク通信部１２と、不揮発性記憶手段である不揮発性メモリ１３と、セキュリティ制御部１４と、リモートＩＯインタフェース（以下、リモートＩＯ  Ｉ／Ｆという）１５と、がバス１６を介して接続される構成を有する。
【００１５】
ＣＰＵ１１は、不揮発性メモリ１３に格納されたプログラムを読み出し、そのプログラムに基づいて処理を実行する。ネットワーク通信部１２は、ネットワーク４０を介して認証サーバ３０との間で通信を行う。
【００１６】
不揮発性メモリ１３は、ＮＣ装置１０全体を制御するシステムプログラム２１ａ、ＮＣ処理を行うアプリケーションプログラム２２ａ、およびＮＣ装置１０の不正な利用を防止するための認証プログラム２３ａを格納する。これらのプログラムは、該ＮＣ装置１０と接続される入出力機器であるリモートＩＯデバイスの構成に応じて、認証サーバ３０からダウンロードされたものである。また、不揮発性メモリ１３は、認証プログラム２３ａによる認証処理に必要な情報も格納する。
【００１７】
セキュリティ制御部１４は、ＮＣ装置１０を識別するＮＣ装置固有ＩＤとリモートＩＯ構成情報を保存し、認証サーバ３０との間で認証処理を行う際のレスポンス出力を生成する。リモートＩＯ構成情報は、ＮＣ装置１０に接続されるリモートＩＯデバイス５０の有無と、接続されている場合のリモートＩＯデバイス５０を識別するリモートＩＯデバイス識別ＩＤと、を含む。このセキュリティ制御部１４の構成の詳細については後述する。
【００１８】
リモートＩＯ  Ｉ／Ｆ１５は、リモートＩＯデバイス５０との間のインタフェースであり、この例では、リモートＩＯ  Ｉ／Ｆ１５に、３台のリモートＩＯデバイス５０が接続されている例が示されている。
【００１９】
認証サーバ３０は、ＮＣ装置１０が正規品であるかの判定を行い、正規品である場合にはＮＣ装置１０に対してプログラムを使用可能な状態とし、正規品でない場合には、ＮＣ装置１０に対してプログラムを使用不可能な状態とする。認証サーバ３０は、通信手段である通信部３１と、装置情報記憶手段であるリモートＩＯ構成情報記憶部３２と、プログラム格納手段であるプログラム格納部３３と、認証処理手段である認証処理部３４と、プログラム配信手段であるプログラム配信部３５と、を備える。
【００２０】
通信部３１は、ネットワーク４０を介してＮＣ装置１０との間で通信を行う。リモートＩＯ構成情報記憶部３２は、認証対象のＮＣ装置１０についてリモートＩＯ構成情報を記憶する。このリモートＩＯ構成情報は、ＮＣ装置１０のユーザがリモートＩＯデバイス５０の機器構成を変更する都度、変更する必要がある。それは、認証サーバ３０中のリモートＩＯ構成情報が、ＮＣ装置１０中のリモートＩＯ構成情報と一致しない場合には、ＮＣ装置１０を稼動させることができないからである。また、リモートＩＯ構成情報は、ＮＣ装置１０ごとにたとえばＮＣ装置固有ＩＤに対応付けて記憶される。
【００２１】
プログラム格納部３３は、ＮＣ装置１０が使用可能なシステムプログラムまたはアプリケーションプログラムを格納する。これらのプログラムは、後述するように、認証処理部３４でＮＣ装置１０が正規品であり、認証サーバ３０に登録されたものと同一の構成を有するものであると判定された場合に、ＮＣ装置１０に対して配信され、使用が許可される。
【００２２】
認証処理部３４は、ＮＣ装置１０から認証要求を受信すると認証処理を行う。具体的には、ＮＣ装置１０から認証要求を受信すると、認証要求に対する認証応答を生成する。この認証応答には、認証処理時にＮＣ装置１０で使用する認証用入力データが含まれる。認証用入力データは、たとえば乱数生成器によって生成されたランダムな値を用いることができる。また、認証処理部３４は、ＮＣ装置１０からＮＣ装置１０を認証する基となるレスポンス出力を受信すると、ＮＣ装置１０に送信した認証用入力データと、リモートＩＯ構成情報記憶部３２に保存されているＮＣ装置固有ＩＤおよびリモートＩＯ構成情報と、を用いて、レスポンスデータを作成する。このレスポンスデータの作成には、後述するＮＣ装置１０の認証処理部で使用されるアルゴリズムと同じアルゴリズムが用いられる。そして、ＮＣ装置１０からのレスポンス出力と生成したレスポンスデータとが一致するかを判定する。両者が一致しない場合には、ＮＣ装置１０に対してエラーを通知し、両者が一致する場合には、ＮＣ装置１０に対してシステムプログラムとアプリケーションプログラムの配信および実行を許可する。
【００２３】
プログラム配信部３５は、認証処理部３４でシステムプログラムとアプリケーションプログラムの配信と実行が許可されると、ＮＣ装置１０で使用されるシステムプログラムまたはアプリケーションプログラムを通信部３１を介してＮＣ装置１０に配信する。
【００２４】
図２は、実施の形態によるＮＣ装置の機能構成を模式的に示すブロック図である。この図２は、図１を機能の面で見たものである。ＮＣ装置１０は、ネットワーク通信部１２と、電源投入日時記憶手段である電源投入日時情報記憶部１３１と、装置固有識別情報記憶手段であるＮＣ装置固有ＩＤ記憶部１４１と、デバイス構成情報記憶手段であるリモートＩＯ構成情報記憶部１４２と、認証処理手段であるレスポンス出力生成部１４３と、システム制御部２１と、ＮＣ制御部２２と、認証制御部２３と、を備える。ここで、システム制御部２１は、システムプログラムによって実行されるものであり、ＮＣ制御部２２は、アプリケーションプログラムによって実行されるものであり、認証制御部２３は、認証プログラムによって実行されるものである。なお、以下では、認証処理に関係する構成要素についてのみ説明する。
【００２５】
電源投入日時情報記憶部１３１は、ＮＣ装置１０の電源投入日時である電源投入日時情報を記憶する。電源投入日時情報記憶部１３１には、少なくとも今回の電源投入日時情報と、前回の電源投入日時情報と、が記憶されればよい。この電源投入日時情報記憶部１３１は、たとえば不揮発性メモリ１３中の再書き込み可能な領域によって構成される。
【００２６】
ＮＣ装置固有ＩＤ記憶部１４１は、ＮＣ装置１０に対して付される固有ＩＤであり、装置固有識別情報であるＮＣ装置固有ＩＤを記憶する。ＮＣ装置固有ＩＤ記憶部１４１は、再書き込み不可能なメモリによって構成される。
【００２７】
リモートＩＯ構成情報記憶部１４２は、ＮＣ装置１０についてのデバイス構成情報であるリモートＩＯ構成情報を記憶する。このリモートＩＯ構成情報は、前回電源遮断時のリモートＩＯデバイスの機器構成時におけるものであり、また前回起動時には、その内容が認証サーバ３０に登録されていたものである。リモートＩＯ構成情報は、ＮＣ装置１０に接続されるリモートＩＯデバイスの有無と、接続されている場合のリモートＩＯデバイス識別ＩＤと、を含む。また、リモートＩＯデバイス識別ＩＤは、リモートＩＯデバイスの種類と機器固有ＩＤとを含む。リモートＩＯ構成情報記憶部１４２は、たとえば不揮発性メモリ１３中の再書き込み可能なメモリによって構成される。
【００２８】
レスポンス出力生成部１４３は、認証サーバ３０との間の認証処理の際に、認証サーバ３０から送信される認証用入力データと、ＮＣ装置固有ＩＤ記憶部１４１に記憶されているＮＣ装置固有ＩＤと、リモートＩＯ構成情報記憶部１４２に記憶されているリモートＩＯ構成情報と、を基に、所定のアルゴリズムにしたがって暗号化されたレスポンス出力を生成する。
【００２９】
以上のＮＣ装置固有ＩＤ記憶部１４１、リモートＩＯ構成情報記憶部１４２およびレスポンス出力生成部１４３は、セキュリティ制御部１４によって構成される。
【００３０】
認証制御部２３は、電源投入日時情報登録手段である電源投入日時情報登録部２３１と、構成確認手段である構成確認部２３２と、認証期間判定手段である認証期間判定部２３３と、認証処理手段である認証処理部２３４と、を有する。
【００３１】
電源投入日時情報登録部２３１は、ＮＣ装置１０の電源投入時に、ＮＣ装置１０に含まれるリアルタイムクロックを読み取り、その読み取った日時を電源投入日時情報として、不揮発性メモリ１３の電源投入日時情報記憶部１３１に登録する。通常、電源投入時に認証処理が行われるので、以下では、電源投入時と認証処理時とを等しいものとして記述している。認証処理が電源投入時に行われないような場合には、認証処理時を記憶すればよい。
【００３２】
構成確認部２３２は、ＮＣ装置１０の電源投入時に、リモートＩＯ  Ｉ／Ｆ１５を介してＮＣ装置１０に接続されるリモートＩＯデバイスのリモートＩＯデバイス識別ＩＤとリモートＩＯデバイスの接続の有無を取得してリモートＩＯデバイス構成情報を生成する。また、生成したリモートＩＯデバイス構成情報を、リモートＩＯ構成情報記憶部１４２に保存する。さらに、生成したリモートＩＯデバイス構成情報とリモートＩＯ構成情報記憶部１４２中のリモートＩＯ構成情報と、を比較し、前回電源遮断時から今回電源投入までの間のリモートＩＯデバイスの機器構成の変更の有無を判定する。
【００３３】
認証期間判定部２３３は、構成確認部２３２によってリモートＩＯデバイスの機器構成に変更がないと判定された場合に、今回の電源投入が前回の認証を実施してから所定期間が経過したかを判定する。今回の電源投入が前回認証を実施してから所定期間経過していない場合には、認証サーバ３０との間の認証処理を実施せずに、システムプログラムおよびアプリケーションプログラムの使用許可を与える。すなわち、システム制御部２１とＮＣ制御部２２に対して処理の実行を許可する。
【００３４】
認証処理部２３４は、構成確認部２３２によってリモートＩＯデバイスの機器構成に変更があると判定された場合、あるいは、認証期間判定部２３３によって今回の電源投入が前回認証を実施してから所定期間経過している場合に、認証サーバ３０との間で認証処理を行う。認証処理では、ＮＣ装置固有ＩＤを用いて認証要求を認証サーバ３０に送信し、認証サーバ３０から認証応答を受信すると、レスポンス出力生成部１４３にレスポンス出力の生成を指示し、その結果であるレスポンス出力を認証サーバ３０に送信する。また、認証処理部２３４は、レスポンス出力を送信した結果に対する認証サーバ３０からの応答に基づいて、システム制御部２１とＮＣ制御部２２に対する処理の実行の可否を行う。認証サーバ３０からレスポンス不一致によるエラーを受信した場合には、ユーザに対してエラー通知を行う。また、認証サーバ３０でレスポンスが一致した場合には、システム制御部２１とＮＣ制御部２２に対して処理の実行を許可する。なお、このとき、システムプログラムまたはアプリケーションプログラムが認証サーバ３０からＮＣ装置１０に配信され、これらのプログラムに基づいた処理が各処理部で実行される。
【００３５】
つぎに、このような構成のＮＣ装置認証システムにおけるＮＣ装置の認証方法について説明する。図３は、実施の形態によるＮＣ装置認証方法の手順の一例を示すフローチャートである。まず、ＮＣ装置１０に電源が投入されると（ステップＳ１０）、電源投入日時情報登録部２３１は、ＮＣ装置１０内の図示しないリアルタイムクロックから得られる電源投入時の日時を電源投入日時情報として電源投入日時情報記憶部１３１に記憶する（ステップＳ１１）。また、ＮＣ装置１０の構成確認部２３２は、リモートＩＯ  Ｉ／Ｆ１５経由でＮＣ装置１０に接続されたリモートＩＯデバイスの有無およびリモートＩＯデバイス識別ＩＤを読み込み（ステップＳ１２）、これらからリモートＩＯ構成情報を生成する（ステップＳ１３）。
【００３６】
ついで、構成確認部２３２は、取得したリモートＩＯデバイスの有無とリモートＩＯデバイス識別ＩＤを、リモートＩＯ構成情報記憶部１４２に前回電源投入時に保存したリモートＩＯ構成情報と照合し（ステップＳ１４）、前回電源遮断から今回電源投入までの間にＮＣ装置１０に接続されたリモートＩＯデバイスの構成に変更がないかを確認する（ステップＳ１５）。
【００３７】
判定の結果、リモートＩＯデバイスの機器構成に変更がない場合（ステップＳ１５でＹｅｓの場合）には、認証期間判定部２３３は、今回の電源投入が前回認証を実施してから所定期間経過したかを判定する（ステップＳ１６）。このとき、認証期間判定部２３３は、ステップＳ１１で取得した今回の電源投入日時情報が電源投入日時情報記憶部１３１に記憶されている前回の電源投入日時情報から所定期間経過しているかを判定する。
【００３８】
今回の電源投入が前回認証を実施してから所定期間経過していない場合（ステップＳ１６でＮｏの場合）には、ネットワーク通信部１２を介して認証サーバ３０との間での認証処理を実施せずに（ステップＳ１７）、不揮発性メモリ１３に保管されているシステムプログラム２１ａおよびアプリケーションプログラム２２ａを使用した通常のたとえばＮＣ制御などの動作を実施する（ステップＳ１８）。以上によって、ＮＣ装置１０の認証処理が終了する。
【００３９】
一方、ステップＳ１５でリモートＩＯデバイスの機器構成に変更があった場合（ステップＳ１５でＮｏの場合）、またはステップＳ１６で今回の電源投入が前回認証を実施してから所定期間経過している場合（ステップＳ１６でＹｅｓの場合）には、不揮発性メモリ１３に保存されているシステムプログラム２１ａおよびアプリケーションプログラム２２ａの読み込みを禁止する（ステップＳ１９）。
【００４０】
認証処理部２３４は、ネットワーク通信部１２を介して認証サーバ３０に対して、ＮＣ装置固有ＩＤを含む認証要求を送信する（ステップＳ２０）。ＮＣ装置固有ＩＤは、ＮＣ装置固有ＩＤ記憶部１４１に記憶されている。
【００４１】
認証サーバ３０は、通信部３１で認証要求を受信すると（ステップＳ２１）、その認証処理部３４は、通信内容からＮＣ装置固有ＩＤによってＮＣ装置１０からの通信であることを識別し、ＮＣ装置１０に対し認証要求に対する認証応答を生成する（ステップＳ２２）。認証応答にはＮＣ装置１０で使用する認証用入力データが付加されている。この認証用入力データの値は、認証サーバ３０で認証要求を受信するごとに生成されるランダムな値である。そして、認証処理部３４は、認証応答をＮＣ装置１０に送信する（ステップＳ２３）。
【００４２】
ＮＣ装置１０の認証処理部２３４は、認証サーバ３０からの認証応答を受信すると（ステップＳ２４）、レスポンス出力生成部１４３に対してレスポンス出力の生成を指令する。レスポンス出力生成部１４３は、認証応答に含まれる認証用入力データと、ＮＣ装置固有ＩＤ記憶部１４１に保存されているＮＣ装置固有ＩＤと、リモートＩＯ構成情報記憶部１４２に保存されているリモートＩＯ構成情報の３つの情報から特定のアルゴリズムに従って暗号化されたレスポンス出力を生成する（ステップＳ２５）。その後、認証処理部２３４は、ネットワーク通信部１２経由で認証サーバ３０にレスポンス出力を送信する（ステップＳ２６）。
【００４３】
ついで、認証サーバ３０は、通信部３１でレスポンス出力を受信すると（ステップＳ２７）、認証処理部３４は、ＮＣ装置１０に送信した認証用入力データと、リモートＩＯ構成情報記憶部３２中の認証対象となるＮＣ装置１０に対応するＮＣ装置固有ＩＤおよびリモートＩＯ構成情報とを基に、ＮＣ装置１０と同じアルゴリズムによってレスポンスデータを生成する（ステップＳ２８）。そして、認証処理部３４は、生成したレスポンスデータをレスポンス出力と比較し、両者が一致するかを判定する（ステップＳ２９）。
【００４４】
両者が一致する場合（ステップＳ２９でＹｅｓの場合）には、プログラム配信部３５は、ＮＣ装置１０に対しシステムプログラム２１ａおよびアプリケーションプログラム２２ａを送信する（ステップＳ３０）。ＮＣ装置１０は、認証サーバ３０からシステムプログラム２１ａおよびアプリケーションプログラム２２ａを受信すると、そのシステムプログラム２１ａおよびアプリケーションプログラム２２ａを不揮発性メモリ１３に保存し（ステップＳ３１）、認証処理部２３４は、それぞれのプログラムの実行を許可する（ステップＳ３２）。以上によって、認証処理が終了する。
【００４５】
また、ステップＳ２９で両者が不一致の場合（ステップＳ２９でＮｏの場合）には、認証対象のＮＣ装置１０は、リモートＩＯ構成情報記憶部１４２に記憶されたリモートＩＯ構成情報とは異なる構成であり、ＮＣ装置１０が正規品でない可能性も考えられるため、ＮＣ装置１０に対するシステムプログラム２１ａおよびアプリケーションプログラム２２ａの送信を実施せず（ステップＳ３３）、レスポンス不一致によるエラー情報をＮＣ装置１０に送信する（ステップＳ３４）。
【００４６】
ＮＣ装置１０の認証処理部２３４は、認証サーバ３０からレスポンス不一致によるエラーを受信すると（ステップＳ３５）、エラーをユーザに通知し（ステップＳ３６）、以降の動作を停止する（ステップＳ３７）。以上によって、認証処理が終了する。
【００４７】
ステップＳ３７でレスポンス不一致によるエラーとなりＮＣ装置１０の動作が停止した場合には、ＮＣ装置１０が正規品であれば、レスポンス不一致のエラーの原因はリモートＩＯの構成情報の変更によるものである。そのため、ＮＣ装置１０のユーザはＮＣ装置１０の保守サービスに連絡し、保守サービスにてリモートＩＯの不具合、想定外の構成変更の有無を切り分け、正しいリモートＩＯの接続状態に変更するとともに、必要であれば認証サーバ３０のリモートＩＯ構成情報の変更を行い、再び認証が正しく行なわれる状態とする。
【００４８】
なお、実施の形態の構成において、セキュリティ制御部１４はリモートＩＯ構成情報の保管、認証動作におけるレスポンス出力の生成を行なうが、模倣品作成の防止を行なうために認証制御に関わる正規のアクセス以外でのリモートＩＯ構成情報の読出し防止し、レスポンス出力の生成に伴う動作の解析を防止するために耐タンパ機能を備えたマイコンまたはＦＰＧＡ（Field-Programmable  Gate  Array）もしくはＡＳＩＣ（Application  Specific  Integrated  Circuit）によって構成される。
【００４９】
また、上記した説明では、ＮＣ装置１０の電源投入時にリモートＩＯデバイスの構成に変更がないかを確認し、さらに今回の電源投入が前回認証を実施してから所定期間経過したかを確認しているが、これらの一方または両方を省略することも可能である。
【００５０】
この実施の形態によれば、ネットワーク接続先の認証サーバ３０との間で認証を実施するので、ＮＣ装置１０が模造品である場合には、ネットワーク４０経由でのシステムプログラム２１ａまたはアプリケーションプログラム２２ａのダウンロードを不許可とするようにした。その結果、ＮＣ装置１０の模造品の製造を防止することが可能である。
【００５１】
また、認証に使用するレスポンスデータ（レスポンス出力）として、認証を実施する毎に異なる値を使用するようにしたので、ＮＣ装置１０の模倣を行なう第三者がネットワークデータからの認証データの解析を実施することを防止することができる。その結果、ＮＣ装置１０の模造を防ぐことが可能である。
【００５２】
さらに、ＮＣ装置１０が正規品であったとしても、ＮＣ装置１０に接続される周辺デバイスの接続状況も認証に使用しているため、ユーザがＮＣ装置１０を不正に転用することを防止することができる。特に、ユーザが誤ってＮＣ装置１０の周辺機器を交換した場合、周辺機器が故障した場合にＮＣ装置１０が誤って動作することを防止することが可能である。
【００５３】
さらにまた、機器の認証は電源投入毎に毎回実施するのでは無く、所定期間経過毎に実行するようにしたので、認証を実行しない通常のＮＣ装置１０の起動時間の短縮、ＮＣ装置１０のプログラム実行開始までの待ち時間の短縮を行うことができ、ユーザの利便性を向上させることが可能である。
【００５４】
なお、上記した説明では、ＮＣ装置１０に接続されるデバイスとしてリモートＩＯデバイスを接続することで認証制御の構成を可能としていた。しかし、接続されるデバイスは、その接続の有無の検出と、デバイスの固体識別を行なうためのＩＤ情報の読出しと、が可能なデバイスであればよい。そのため、ＮＣ装置１０に接続可能なサーボアンプ、シリアル通信デバイス、またはＰＣＩバス経由での拡張デバイスなどの種類を問わないデバイスで構成することが可能である。
【産業上の利用可能性】
【００５５】
以上のように、この発明にかかる数値制御装置認証システムは、ＮＣ装置を正規に利用させる場合に有用である。
【符号の説明】
【００５６】
１０  数値制御装置（ＮＣ装置）、１１  ＣＰＵ、１２  ネットワーク通信部、１３  不揮発性メモリ、１４  セキュリティ制御部、１５  リモートＩＯ  Ｉ／Ｆ、１６  バス、２１  システム制御部、２１ａ  システムプログラム、２２  ＮＣ制御部、２２ａ  アプリケーションプログラム、２３  認証制御部、２３ａ  認証プログラム、３０  認証サーバ、３１  通信部、３２，１４２  リモートＩＯ構成情報記憶部、３３  プログラム格納部、３４，２３４  認証処理部、３５  プログラム配信部、４０  ネットワーク、５０  リモートＩＯデバイス、１３１  電源投入日時情報記憶部、１４１  ＮＣ装置固有ＩＤ記憶部、１４３  レスポンス出力生成部、２３１  電源投入日時情報登録部、２３２  構成確認部、２３３  認証期間判定部。
【図１】
2014225138.tif 000003
【図２】
2014225138.tif 000004
【図３】
2014225138.tif 000005