(57)【要約】【課題】  ライセンスキーの入力を支援し、不正なライセンスキー入力を防ぐこと【解決手段】  ユーザからライセンスキーの１文字目の入力を受け付け、受け付けた文字が正しいライセンスキーの１文字目と一致すれば、正しいライセンスキーを含む候補一覧を表示し、ユーザからの選択を受け付ける。ユーザにより入力されたライセンスキーの１文字目が正しくない場合は、ダミーのライセンスキーのみを候補として表示し、ユーザからの選択を受け付ける。ユーザから選択された文字列をライセンスキーとして検証し、正しいライセンスキーと一致した場合は、当該製品のライセンスを付与する。【選択図】  図４
2013250766.tif 000002
【特許請求の範囲】
【請求項１】
ユーザから文字列の入力を受け付ける入力受付手段と、
前記入力受付手段によりユーザから前記文字列の１文字目の入力を受け付けた場合、文字列の候補を提示する提示手段と、
前記提示手段により提示された候補のうちいずれかの文字列の選択をユーザから受け付ける選択受付手段と、
を備え、
前記入力受付手段は、前記選択受付手段によりユーザから選択を受け付けた文字列の入力を受け付けることを特徴とする情報処理装置。
【請求項２】
正しい文字列を記憶する記憶手段と、
前記入力受付手段により入力を受け付けた文字列の１文字目が、前記記憶された正しい文字列の１文字目と一致するか否かを判定する１文字目判定手段と、
を備え、
前記提示手段は、前記判定手段により一致すると判定された場合、あらかじめ正しい文字列として記憶された文字列と、当該正しい文字列とは異なる文字列とを提示することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記提示手段は、前記判定手段により一致しないと判定された場合、あらかじめ正しい文字列として記憶された文字列は提示しないことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記文字列は、製品のライセンスキーであることを特徴とし、
前記入力受付手段により入力を受け付けた文字列が、前記記憶された正しい文字列と一致するか否かを判定する文字列判定手段と、
前記文字列判定手段により、前記入力を受け付けた文字列と前記記憶された正しい文字列とが一致すると判定された場合、当該製品の利用を許可する制御手段と、
をさらに備えることを特徴とする請求項２または３に記載の情報処理装置。
【請求項５】
情報処理装置の入力受付手段が、ユーザから文字列の入力を受け付ける入力受付工程と、
前記情報処理装置の提示手段が、前記入力受付工程によりユーザから前記文字列の１文字目の入力を受け付けた場合、文字列の候補を提示する提示工程と、
前記情報処理装置の選択受付手段が、前記提示工程により提示された候補のうちいずれかの文字列の選択をユーザから受け付ける選択受付工程と、
を備え、
前記入力受付工程は、前記選択受付工程によりユーザから選択を受け付けた文字列の入力を受け付けることを特徴とする情報処理装置における情報処理方法。
【請求項６】
情報処理装置において実行されるプログラムであって、
前記情報処理装置を、
ユーザから文字列の入力を受け付ける入力受付手段と、
前記入力受付手段によりユーザから前記文字列の１文字目の入力を受け付けた場合、文字列の候補を提示する提示手段と、
前記提示手段により提示された候補のうちいずれかの文字列の選択をユーザから受け付ける選択受付手段と、
を備え、
前記入力受付手段は、前記選択受付手段によりユーザから選択を受け付けた文字列の入力を受け付けることを特徴とする情報処理装置として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ライセンスキーなどの文字列の入力支援技術に関する。
【背景技術】
【０００２】
近年、企業などにおいては、受発注業務における業務効率化のため、電子商取引を行うＥＤＩシステムが導入されている。
【０００３】
ＥＤＩシステムを構成するサーバ群のうち、通信を実行するＥＤＩサーバは、複数の業界標準プロトコルを用いた通信機能、取引先ごとに通信パラメータを実行する機能、複数の取引先と同時に通信を行う機能、ＥＤＩサーバを使用可能なユーザの登録・識別機能、負荷分散のための複数ＰＣへのインストール・連携機能といった機能を持つ。
【０００４】
これらの機能をユーザに無制限に使用させるのではなく、ユーザが支払った価格によって機能の使用可否・上限数を制限すべく、製品ライセンスを発行している。また、製品ライセンスに使用期限を設定し、ユーザにライセンスの更新を促すことも行われている。
【０００５】
製品ライセンスの付与は、購入後にユーザによってライセンスを識別するライセンスキーが入力されることで、付与される。多くの場合、ＥＤＩサーバがインターネット経由で販売元のサーバに接続することで、製品ライセンスを取得するという手法が行われている。しかし、ＥＤＩサーバがインターネットへ接続できない環境にある場合には、製品ライセンスを識別する文字列（ライセンスキー）がユーザにより製品に入力されることで、ライセンスが付与されるという手法も行われている。
【０００６】
このようなライセンスキーは、推測や総当たりによる不正入力を防ぐため、ある程度の長さを持ち、構成する文字の種類も多くなっている。また、文章として意味をなす文字列ではなく、無意味な文字列が用いられる。そのため、ユーザによるライセンスキーの入力には時間がかかり、かつ入力ミスが生じやすいという問題がある。
【０００７】
このような問題を解決する手段として、文字列の入力支援があげられる。そのひとつとして、特許文献１には、周辺情報から入力候補となる文字列を提示するシステムが開示されている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００５−１０７７４９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、特許文献１に記載されているようなシステムは、意味のある文章の入力を支援するものであり、ライセンスキーの入力支援に適用することはできない。また、ライセンスキーの不正入力に対する対策もできない。
【００１０】
そこで、本発明は、ＥＤＩサーバにおけるライセンスキーの入力を支援し、安易に不正なライセンスキーの入力を防ぐ機能を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明は、情報処理装置にかかる発明であって、ユーザから文字列の入力を受け付ける入力受付手段と、前記入力受付手段によりユーザから前記文字列の１文字目の入力を受け付けた場合、文字列の候補を提示する提示手段と、前記提示手段により提示された候補のうちいずれかの文字列の選択をユーザから受け付ける選択受付手段と、を備え、前記入力受付手段は、前記選択受付手段によりユーザから選択を受け付けた文字列の入力を受け付けることを特徴とする。
【００１２】
また、本発明は、情報処理装置における情報処理方法にかかる発明であって、前記情報処理装置の入力受付手段が、ユーザから文字列の入力を受け付ける入力受付工程と、前記情報処理装置の提示手段が、前記入力受付工程によりユーザから前記文字列の１文字目の入力を受け付けた場合、文字列の候補を提示する提示工程と、前記情報処理装置の選択受付手段が、前記提示工程により提示された候補のうちいずれかの文字列の選択をユーザから受け付ける選択受付工程と、を備え、前記入力受付工程は、前記選択受付工程によりユーザから選択を受け付けた文字列の入力を受け付けることを特徴とする。
【００１３】
また、本発明は、情報処理装置において実行されるプログラムであって、前記情報処理装置を、ユーザから文字列の入力を受け付ける入力受付手段と、前記入力受付手段によりユーザから前記文字列の１文字目の入力を受け付けた場合、文字列の候補を提示する提示手段と、前記提示手段により提示された候補のうちいずれかの文字列の選択をユーザから受け付ける選択受付手段と、を備え、前記入力受付手段は、前記選択受付手段によりユーザから選択を受け付けた文字列の入力を受け付けることを特徴とする情報処理装置として機能させることを特徴とする。
【発明の効果】
【００１４】
本発明によれば、ライセンスキーの入力を支援し、安易に不正なライセンスキーの入力を防ぐことがなる。
【図面の簡単な説明】
【００１５】
【図１】本発明のＥＤＩシステムの構成の一例を示す図である
【図２】図１のＥＤＩサーバ１０１として適用可能な情報処理装置のハードウエア構成の一例を示す図である
【図３】ライセンスキー入力支援処理を示すフローチャート
【図４】パラメータおよびライセンスキーの入力をする画面
【図５】入力されたパラメータの一覧を示すデータテーブル
【発明を実施するための形態】
【００１６】
以下、本発明の情報処理システムを構成する各装置について説明する。
【００１７】
図１は、本発明の実施形態におけるＥＤＩシステムの構成を示す図である。
【００１８】
なお、図１に示すＥＤＩシステムの構成は一例であり、用途や目的に応じて様々な構成があることはいうまでもない。
【００１９】
ＥＤＩシステム１００は、ネットワーク１０３を介して接続されるＥＤＩサーバ１０１、基幹システム１０２を備えている。取引先もＥＤＩシステム１０４を備え、そのシステムはネットワーク１０７を介して接続されるＥＤＩクライアント１０５と基幹システム１０６を持つ。
【００２０】
互いのＥＤＩシステムは、ネットワーク１０８を介してＥＤＩメッセージ１０９を相互に交換する。
【００２１】
なお、図１のネットワーク１０３、１０７条に接続される各種端末の構成は一例であり、用途や目的に応じて様々な構成例がある。
【００２２】
相互に交換されるＥＤＩメッセージ１０９は、送信前に基幹システム１０２、１０６から取り出され、受信後に基幹システム１０２、１０６に取り込まれる。
【００２３】
そのため、ＥＤＩシステム１００、１０４は、交換するメッセージ種毎に対応したデータ入出力の機能を持つ。
【００２４】
次にＥＤＩサーバ１０１、ＥＤＩクライアントのハードウエア構成について図２を用いて説明する。
【００２５】
図２において、２０１はＣＰＵで、システムバス２０４に接続される各デバイスやコントローラを統括的に制御する。また、ＲＯＭ２０３あるいは外部メモリ２１１には、ＣＰＵ２０１の制御プログラムであるＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  ／  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）やオペレーティングシステムプログラム（以下、ＯＳ）や、各サーバ或いは各ＰＣの実行する機能を実現するために必要な各種プログラム等が記憶されている。
【００２６】
２０２はＲＡＭで、ＣＰＵ２０１の主メモリ、ワークエリア等として機能する。ＣＰＵ２０１は、処理の実行に際して必要なプログラム等をＲＯＭ２０３あるいは外部メモリ２１１からＲＡＭ２０２にロードして、該ロードしたプログラムを実行することで各種動作を実現するものである。
【００２７】
また、２０５は入力コントローラで、入力装置２０９等からの入力を制御する。２０６はビデオコントローラで、液晶ディスプレイ等のディスプレイ装置２１０への表示を制御する。なお、ディスプレイ装置は、液晶ディスプレイに限られず、ＣＲＴディスプレイなどであっても良い。これらは必要に応じてクライアントが使用するものである。
【００２８】
２０７はメモリコントローラで、ブートプログラム，各種のアプリケーション，フォントデータ，ユーザファイル，編集ファイル，各種データ等を記憶するハードディスク（ＨＤ）や、フレキシブルディスク（ＦＤ）、或いはＰＣＭＣＩＡカードスロットにアダプタを介して接続されるコンパクトフラッシュ（登録商標）メモリ等の外部メモリ２１１へのアクセスを制御する。
【００２９】
２０８は通信Ｉ／Ｆコントローラで、ネットワーク（例えば、図１に示したＬＡＮ４００）を介して外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、ＴＣＰ／ＩＰを用いた通信等が可能である。
【００３０】
なお、ＣＰＵ２０１は、例えばＲＡＭ２０２内の表示情報用領域へアウトラインフォントの展開（ラスタライズ）処理を実行することにより、ディスプレイ装置２１０上での表示を可能としている。また、ＣＰＵ２０１は、ディスプレイ装置２１０上の不図示のマウスカーソル等でのユーザ指示を可能とする。
【００３１】
ハードウエア上で動作する各種プログラムは、外部メモリ２１１に記録されており、必要に応じてＲＡＭ２０２にロードされることによりＣＰＵ２０１によって実行されるものである。
【００３２】
なお、全ての装置がこれらの構成を備えているわけではなく、必要なものを夫々備えていればよい。
【００３３】
次に、図３を用いて、本発明の実施形態においてＥＤＩサーバ１０１が行うライセンスキー入力支援処理について説明する。
【００３４】
なお、図３のフローチャートで示す処理については、ＥＤＩサーバ１０１のＣＰＵ２０１が所定の制御プログラムを読み出して実行する処理である。
【００３５】
ステップＳ１０１では、ＥＤＩサーバ１０１のＣＰＵ２０１は、図４に示すライセンスキー登録画面を表示する。初期表示ではすべての項目は空欄である。そして、ライセンスキーを導出する際に用いるパラメータの入力欄への入力を、ユーザから受け付ける。図５にユーザから入力されたパラメータの一例を示す。
【００３６】
ステップＳ３０２では、ＥＤＩサーバ１０１のＣＰＵ２０１は、ユーザから入力されたパラメータをもとに、正しいライセンスキーを導出する。ライセンスキーの導出方法としては、例えば、パラメータの値を２進数化し、２進数化された値から計算されるチェックサムの値を含めて連結した２進数文字列と、パラメータの一部の値をＲＣ４等により暗号化した２進数の文字列との、排他的論理和によって生成した２進数文字列に、ＢＡＳＥ３２変換等を施すといった手法により導出される。なお、パラメータの値からライセンスキーを導出する方法は、これに限られるものでなく、いずれの手法であっても良い。
【００３７】
導出したライセンスキーは、部分文字列に分割して、メモリ上に保持しておく。
【００３８】
ステップＳ３０３では、ＥＤＩサーバ１０１のＣＰＵ２０１は、導出したライセンスキーの部分文字列をもとに、ダミーの入力候補を複数生成する。
【００３９】
ダミー文字列の生成方法としては、例えば、正しいライセンスキーの部分文字列の２文字目以降を桁ごとに異なる数だけシフトさせることによって生成する。このとき、生成するダミーの文字列の１文字目は、正しいライセンスキーの部分文字列の１文字目と一致するようにする。
【００４０】
ステップＳ３０４では、ＥＤＩサーバ１０１のＣＰＵ２０１は、ユーザからのライセンスキーの１文字目の入力を受け付ける。
【００４１】
ステップＳ３０５では、ＥＤＩサーバ１０１のＣＰＵ２０１は、ユーザにより入力されたライセンスキーの１文字目と、ステップＳ３０２で導出したライセンスキーの当該ユーザが入力した入力欄に対応する部分文字列の１文字目とが一致するか否かを判断する。
【００４２】
一致すると判断された場合（ステップＳ３０５：ＹＥＳ）は、処理をステップＳ３０６に移行する。
【００４３】
一致しないと判断された場合（ステップＳ３０５：ＮＯ）は処理をステップＳ３０７に移行する。
【００４４】
ステップＳ３０６では、ＥＤＩサーバ１０１のＣＰＵ２０１は、ステップＳ３０２で生成した正しいライセンスキーの部分文字列と、ステップＳ３０３で生成したダミーの文字列とを混在させて、入力候補一覧として提示する。入力候補一覧が提示された画像の一例を図４に示す。図４の１１０２が入力候補一覧にあたる。
【００４５】
ステップＳ３０７では、ＥＤＩサーバ１０１のＣＰＵ２０１は、ステップＳ３０１で生成した正しいライセンスキーの部分文字列と、ステップＳ３０３で生成したダミーの文字列のそれぞれの１文字目を、ユーザにより入力された１文字目に置き換えて入力候補として提示する。
【００４６】
ステップＳ３０８では、ＥＤＩサーバ１０１のＣＰＵ２０１は、ステップＳ３０６またはステップＳ３０７で提示した入力候補一覧から、ユーザにより文字列の選択を受け付ける。そして、受け付けた文字列を、ライセンスキーの部分文字列の入力欄に表示する。
【００４７】
ステップＳ３０９では、ＥＤＩサーバ１０１のＣＰＵ２０１は、すべての部分文字列について、ユーザからライセンスキーの入力・選択を受け付けたか否かを判定する。
【００４８】
全ての文字列の入力を受け付けたと判定された場合（ステップＳ３０９：ＹＥＳ）は、処理をステップＳ３１０に移行する。
【００４９】
全ての部分文字列の入力を受け付けていない場合（ステップＳ３０９：ＮＯ）は、処理をステップＳ３０４に移行し、入力を受け付けていないライセンスキーの部分文字列について、ユーザからの入力を受け付ける。
【００５０】
ステップＳ３１０では、ＥＤＩサーバ１０１のＣＰＵ２０１は、ユーザによる登録ボタン（図４の１１０３）の押下を受け付ける。そして、登録ボタンが押下された際に入力されていたライセンスキーの検証処理を実行する。
【００５１】
ステップＳ３１１では、ＥＤＩサーバ１０１のＣＰＵ２０１は、ステップＳ３１０の検証処理の結果、正しいライセンスキーが入力されたか否かを判断する。具体的には、ステップＳ３０２で導出されたライセンスキーと、入力されたライセンスキーとが一致するか否かにより判断される。
【００５２】
正しいライセンスキーが入力されたと判断された場合（ステップＳ３１１：ＹＥＳ）は、処理をステップＳ３１２に移行する。
【００５３】
入力されたライセンスキーが正しいライセンスキーではないと判断された場合（ステップＳ３１１：ＮＯ）は、処理をステップＳ３１３に移行する。
【００５４】
ステップＳ３１２では、ＥＤＩサーバ１０１のＣＰＵ２０１は、ＥＤＩサーバ１０１のＣＰＵ２０１は、製品ライセンスに従い、ＥＤＩサーバの機能を解放し、ユーザがＥＤＩサーバを利用できる状態に制御する。また、ユーザにより入力されたライセンスキーが正しいことをユーザに通知する。
【００５５】
ステップＳ３１３では、ＥＤＩサーバ１０１のＣＰＵ２０１は、ユーザにより入力されたライセンスキーが誤っている旨の通知をユーザに対して行う。また、ライセンスキーの再入力を促す通知をおこなう。
【００５６】
図５は、ユーザから図４の画面を介して入力された値を示すデータテーブルである。図５に示すテーブルの値を用いて、ＥＤＩサーバ１０１はライセンスキーを生成する。
【００５７】
以上のように、ライセンスキーの候補を提示して、候補からユーザにより選択されることによってライセンスキーの入力を受け付けることで、ユーザはライセンスキーの全ての文字を入力することなく、ライセンスキーを入力することが可能となる。よって、ユーザの負担を軽減し、ユーザの入力ミス等を防ぐことが可能となる。
【００５８】
また、ユーザにより入力された１文字目が正しいライセンスキーの１文字目と一致している場合には、正しいライセンスキーと間違ったライセンスキー（ダミー）とを候補として提示する。他方、ユーザにより入力された１文字目が正しいライセンスキーの１文字目と一致しない場合は、正しいライセンスキーの１文字目を当該ユーザにより入力された１文字目と置き換えた文字列を生成する。このような処理により、ライセンスキーの不正入力を低減させることが可能となる。
【００５９】
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
【００６０】
また、本発明におけるプログラムは、図３の処理方法をコンピュータが実行可能なプログラムである。なお、本発明におけるプログラムは図３の各装置の処理方法ごとのプログラムであってもよい。
【００６１】
以上のように、前述した実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムを読み出し、実行することによっても本発明の目的が達成されることは言うまでもない。
【００６２】
この場合、記録媒体から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記録した記録媒体は本発明を構成することになる。
【００６３】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＤＶＤ−ＲＯＭ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＥＥＰＲＯＭ、シリコンディスク等を用いることが出来る。
【００６４】
また、コンピュータが読み出したプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００６５】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００６６】
また、本発明は、複数の機器から構成されるシステムに適用しても、ひとつの機器から成る装置に適用しても良い。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【００６７】
さらに、本発明を達成するためのプログラムをネットワーク上のサーバ、データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。
【符号の説明】
【００６８】
１００、１０４  ＥＤＩシステム
１０１          ＥＤＩサーバ
１０３          ネットワーク
１０５、１０７  ＥＤＩクライアント
１０２、１０６  基幹システム
【図１】
2013250766.tif 000003
【図２】
2013250766.tif 000004
【図３】
2013250766.tif 000005
【図４】
2013250766.tif 000006
【図５】
2013250766.tif 000007