JP2008092141A - Ftp通信システム - Google Patents
Ftp通信システム Download PDFInfo
- Publication number
- JP2008092141A JP2008092141A JP2006268942A JP2006268942A JP2008092141A JP 2008092141 A JP2008092141 A JP 2008092141A JP 2006268942 A JP2006268942 A JP 2006268942A JP 2006268942 A JP2006268942 A JP 2006268942A JP 2008092141 A JP2008092141 A JP 2008092141A
- Authority
- JP
- Japan
- Prior art keywords
- user name
- password
- ftp
- temporary user
- login
- 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.)
- Pending
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
【課題】 記憶装置側に組み込まれたFTPサーバへホスト装置側からログインする際に、FTPのプロトコル仕様自体は何ら変更することなく、ホスト装置側で入力されるパスワードを容易に暗号化できるFTP通信システムを提供する。
【解決手段】 FTPサーバ(記憶装置側)において、ログイン認証に際して、ホスト装置から受信したユーザー名が、予め定められた特殊ユーザー名であると判定された場合に、パスワードの暗号化に使用するパスワード用公開キーと、該暗号化されたパスワードの復号化に使用するパスワード用秘密キーとを作成するとともに、パスワード用公開キーをホスト装置に送信する。これを受けたホスト装置側では、入力済みのパスワードを、その受信したパスワード用公開キーにて暗号化するとともに、暗号化されたパスワードをパスワード送信手段によりFTPサーバに送信する。そして、FTPサーバ側では、その受信した、暗号化されたパスワードを、既に作成して保存してあるパスワード用秘密キーで復号化する。
【選択図】 図5
【解決手段】 FTPサーバ(記憶装置側)において、ログイン認証に際して、ホスト装置から受信したユーザー名が、予め定められた特殊ユーザー名であると判定された場合に、パスワードの暗号化に使用するパスワード用公開キーと、該暗号化されたパスワードの復号化に使用するパスワード用秘密キーとを作成するとともに、パスワード用公開キーをホスト装置に送信する。これを受けたホスト装置側では、入力済みのパスワードを、その受信したパスワード用公開キーにて暗号化するとともに、暗号化されたパスワードをパスワード送信手段によりFTPサーバに送信する。そして、FTPサーバ側では、その受信した、暗号化されたパスワードを、既に作成して保存してあるパスワード用秘密キーで復号化する。
【選択図】 図5
Description
本発明は、パーソナルコンピュータ(以下「PC」と略称する)やワークステーション等をホスト装置としてこれにネットワーク型記憶装置が接続されたFTP通信システムに関する。
近年、フラッシュメモリなどの不揮発性メモリがカード型にパッケージングされたいわゆるメモリーカード(記録メディアの一例)が広く知られている。このメモリーカードは、デジタルカメラや携帯音楽プレーヤーなどのデジタル機器に用いられるデータの記憶媒体として急速に普及している。メモリーカードの仕様は統一されておらず、例えば、コンパクトフラッシュ(登録商標、以下「CF」と略称する)、スマートメディア(登録商標、以下「SM」と略称する)、メモリースティック(登録商標、以下「MS」と略称する)、SDメモリーカード(登録商標、以下「SD」と略称する)など、種々のものが市場に出回っている。
上記メモリーカードは、PCなどに接続されてメモリーカードの読み書きを行なうメモリーカードリーダライタ(ネットワーク型記憶装置の一例、以下「リーダライタ」と略称する)を用いることで、PCから上記メモリーカードへのアクセスが可能となる。これにより、PCとメモリーカードとの間でデータ通信が行なえるようになる(特許文献1〜2)。近年ではこうしたリーダライタを搭載した印刷装置(プリンタ)も普及しており、JPEG形式等で保存された画像データファイルを書き込んだメモリーカードをリーダライタに装着することで、PCを経由せずに画像を直接印刷できるようになっている。
上記のプリンタは、複数のPCにより共有できるよう、それらPCとのネットワーク接続が可能なネットワークプリンタとして構成可能である。この場合、ネットワークプリンタとPCとはTCP/IP(Transmission Control Protocol/Internet Protocol)ネットワーク(例えば、ローカルエリアネットワーク)を介して接続されることが多い。この場合、プリンタ側にFTP(File Transfer Protocol)サーバプログラムを搭載しておけば、デジタルカメラやカメラ付き携帯電話の撮影画像データファイルの保存先として使用されるメモリーカードをプリンタのリーダライタに装着することで、そのメモリーカードに保存されているデータファイルをFTPによりPCへ転送することができる。つまり、プリンタのリーダライタをPCの外付け記憶装置として利用することが可能である。
例えば、プリンタにFTPサーバが組み込まれる場合、ホスト装置からそのFTPサーバへログインするためのパスワード認証に際しては次のような問題がある。すなわち、FTPでは、パスワードやデータなど通信内容が平文で流れる(つまり、暗号化されない垂れ流し状態となる)ため、悪意のある者がパケットキャプチャすると転送内容を盗み見されてしまうなど、セキュリティ上の深刻な問題がある。特許文献3には、FTPでのファイル転送を一般的な暗号化手法により容易に暗号化できるかのように記載されているが、これは誤りであり、実際には、FTPの思想を引き継いだ、暗号化環境を実現するための専用プロトコル(例えば、FTP over SSL/TLSやSSH File Transfer Protocol)に置き換えられているに過ぎない。また、サーバ/クライアントともこれらの専用プロトコルに対応したソフトが必要となる。
本発明の課題は、暗号化を前提としたプロトコル構築が本質的になされていない、旧来のFTP環境を前提として、ネットワーク型記憶装置側に組み込まれたFTPサーバへホスト装置側からログインする際に、FTPのプロトコル仕様自体は何ら変更することなく、ホスト装置側で入力されるパスワードを容易に暗号化できるFTP通信システムを提供することにある。
上記の課題を解決するための、本発明のFTP通信システムは、
メディア装着用スロットと、ファイル単位による記憶データの読出し、書込み及び消去が可能とされた不揮発性メモリからなり、該メディア装着用スロットに着脱可能に装着される着脱式記憶メディアとを備えたネットワーク型記憶装置と、TCP/IPネットワークにより該ネットワーク型記憶装置と接続されるホスト装置とを備えるとともに、ネットワーク型記憶装置側にFTPサーバプログラムが組み込まれ、ホスト装置側にFTPクライアントプログラムが組み込まれ、ネットワーク型記憶装置に装着された着脱式記憶メディアに対するホスト装置からのデータファイルアクセスを、TCP/IPネットワークを介したFTP通信により実行するFTP通信システムにおいて、
ネットワーク型記憶装置側に設けられ、ログイン許可するべきFTPクライアントのユーザー名とパスワードとを登録するユーザー登録手段と、
FTPサーバにログインするためのユーザー名を、ホスト装置からFTPサーバに送信するユーザー名送信手段と、
ユーザー名の受信と引き換えにFTPサーバからホスト装置にパスワード要求レスポンスを送信するパスワード要求レスポンス送信手段と、
該パスワード要求レスポンスを受けてホスト装置からFTPサーバに、該ホスト装置にて入力されたパスワードを送信するパスワード送信手段と、
FTPサーバにて、受信したパスワードとユーザー名とに基づいてログインユーザーを認証し、認証受理の場合に該ログインユーザーのFTPサーバへのログインを許可するログイン認証手段とを有し、さらに、
FTPサーバに、受信したユーザー名が、予め定められた特殊ユーザー名であるか否かを判定するとともに、該ユーザー名が特殊ユーザー名であった場合に、パスワードの暗号化に使用するパスワード用公開キーと、該暗号化されたパスワードの復号化に使用するパスワード用秘密キーとを作成するとともに、パスワード用公開キーをホスト装置に送信するサーバ側パスワード暗号化処理手段が設けられる一方、
ホスト装置に、入力済みのパスワードを受信したパスワード用公開キーにて暗号化するとともに、暗号化されたパスワードをパスワード送信手段によりFTPサーバに送信させるクライアント側パスワード暗号化処理手段が設けられてなり、
FTPサーバに、受信した暗号化されたパスワードを、パスワード用秘密キーで復号化するサーバ側パスワード復号化処理手段が設けられてなることを特徴とする。
メディア装着用スロットと、ファイル単位による記憶データの読出し、書込み及び消去が可能とされた不揮発性メモリからなり、該メディア装着用スロットに着脱可能に装着される着脱式記憶メディアとを備えたネットワーク型記憶装置と、TCP/IPネットワークにより該ネットワーク型記憶装置と接続されるホスト装置とを備えるとともに、ネットワーク型記憶装置側にFTPサーバプログラムが組み込まれ、ホスト装置側にFTPクライアントプログラムが組み込まれ、ネットワーク型記憶装置に装着された着脱式記憶メディアに対するホスト装置からのデータファイルアクセスを、TCP/IPネットワークを介したFTP通信により実行するFTP通信システムにおいて、
ネットワーク型記憶装置側に設けられ、ログイン許可するべきFTPクライアントのユーザー名とパスワードとを登録するユーザー登録手段と、
FTPサーバにログインするためのユーザー名を、ホスト装置からFTPサーバに送信するユーザー名送信手段と、
ユーザー名の受信と引き換えにFTPサーバからホスト装置にパスワード要求レスポンスを送信するパスワード要求レスポンス送信手段と、
該パスワード要求レスポンスを受けてホスト装置からFTPサーバに、該ホスト装置にて入力されたパスワードを送信するパスワード送信手段と、
FTPサーバにて、受信したパスワードとユーザー名とに基づいてログインユーザーを認証し、認証受理の場合に該ログインユーザーのFTPサーバへのログインを許可するログイン認証手段とを有し、さらに、
FTPサーバに、受信したユーザー名が、予め定められた特殊ユーザー名であるか否かを判定するとともに、該ユーザー名が特殊ユーザー名であった場合に、パスワードの暗号化に使用するパスワード用公開キーと、該暗号化されたパスワードの復号化に使用するパスワード用秘密キーとを作成するとともに、パスワード用公開キーをホスト装置に送信するサーバ側パスワード暗号化処理手段が設けられる一方、
ホスト装置に、入力済みのパスワードを受信したパスワード用公開キーにて暗号化するとともに、暗号化されたパスワードをパスワード送信手段によりFTPサーバに送信させるクライアント側パスワード暗号化処理手段が設けられてなり、
FTPサーバに、受信した暗号化されたパスワードを、パスワード用秘密キーで復号化するサーバ側パスワード復号化処理手段が設けられてなることを特徴とする。
上記本発明のFTP通信システムにおいては、FTPサーバ(ネットワーク型記憶装置側)において、ログイン認証に際して、ホスト装置から受信したユーザー名が、予め定められた特殊ユーザー名であると判定された場合に、パスワードの暗号化に使用するパスワード用公開キーと、該暗号化されたパスワードの復号化に使用するパスワード用秘密キーとを作成するとともに、パスワード用公開キーをホスト装置に送信する。これを受けたホスト装置側では、入力済みのパスワードを、その受信したパスワード用公開キーにて暗号化するとともに、暗号化されたパスワードをパスワード送信手段によりFTPサーバに送信する。そして、FTPサーバ側では、その受信した、暗号化されたパスワードを、既に作成して保存してあるパスワード用秘密キーで復号化する。これにより、通常のFTP環境でありながら、ホスト装置からネットワーク型記憶装置上のFTPサーバへログインする際に必要なパスワードを問題なく暗号化できる。
上記構成において、サーバ側パスワード暗号化処理手段は、パスワード要求レスポンスにパスワード用公開キーを付加文字列として組み込み、パスワード要求レスポンス送信手段によりホスト装置へ送信するものとできる。また、クライアント側パスワード暗号化処理手段は、受信したパスワード要求レスポンスからパスワード用公開キーをなす付加文字列を抽出するものとすることができる。
FTPでは、パスワードによるログイン認証の手順が固定的に定められており、ホスト装置からユーザー名を受けたFTPサーバは、パスワード要求レスポンスをホスト装置側に直ちに返すことになっている。そして、FTPにおいては、パスワード要求レスポンスに限らず、全てのレスポンスが、各々固有の3桁の番号を付与した形で定型化されるとともに、その番号だけでどのような種別のレスポンスかを一義的に特定できる。従って、該レスポンスの番号以外の部分は、FTP上での通信処理に何ら影響しない単なるメッセージとして全て取り扱われるようになっている。
上記構成では、このFTPの特質を活用し、パスワード要求レスポンス(番号:331)にパスワード用公開キーを付加文字列として組み込むことで、FTP自体に何の変更を加えることなく(つまり、FTPに完全に整合した形で)、パスワード用公開キーを該331レスポンスに組み込んだ形でホスト装置へ問題なく送信できる。そして、ホスト装置側では、受信したパスワード要求レスポンスから付加文字列を抽出することで、パスワード用公開キーを問題なく受け取ることができる。
具体的には、ユーザー名に予め定められた特殊ユーザー名識別文字列が含まれている場合に、該ユーザー名が特殊ユーザー名であると判定することができる。ユーザー名の特殊ユーザー名識別文字列以外の部分(以下、ユーザー固有文字列という)を、各ユーザー固有の情報として自由に活用でき、複数ユーザーに対する特殊ユーザー名の発行を問題なく行なうことができる。
この場合、特殊ユーザー名識別文字列の部分は、ユーザー固有文字列の内容によらず共通化されるから、ユーザー側では、このユーザー固有文字列の部分だけを入力するようにしておくとログイン操作上も楽になるし、特殊ユーザー名識別文字列の部分が隠蔽されることで、従来のシステムと特に変らない感覚でユーザー名入力を行なうことができる。この場合、ホスト装置には、ユーザーによる見かけユーザー名(つまり、ユーザー固有文字列)の入力を受け付ける見かけユーザー名入力受付手段と、入力が受け付けられた見かけユーザー名の入力文字列に特殊ユーザー名識別文字列を付加することにより、該見かけユーザー名を特殊ユーザー名に変換する特殊ユーザー名変換手段とを設けておくことができ、ユーザー名送信手段は、変換により得られた該特殊ユーザー名をFTPサーバに送信するものとすることができる。これにより、入力された見かけユーザー名に特殊ユーザー名識別文字列が、ホスト装置側で必ず付加されるので、特殊ユーザー名によるログイン時に特殊ユーザー名識別文字列の入力が失念されてしまう不具合が原理的に生じなくなる。この場合、特殊ユーザー名変換手段は、特殊ユーザー名識別文字列を見かけユーザー名の先頭側に付加するものとしておけば、FTPサーバ側での特殊ユーザー名の識別処理をより簡便に行なうことができる。
次に、ホスト装置における、ユーザー名送信手段、パスワード要求レスポンス送信手段、パスワード送信手段、ログイン認証手段及びクライアント側パスワード暗号化処理手段の各機能は、FTPサーバへのアクセス処理を司るプログラムに組み込まれるものであり、本来であれば、ホスト装置にインストールされるブラウザソフトウェアにこの機能を組み込んでおく必要がある。しかし、市販のブラウザソフトウェア(例えば、InternetExplorer(商標名:マイクロソフト社)をインストールして使用する環境下では、そのブラウザソフトウェアのプログラムリソースを書き換えて使用するのはあらゆる意味で現実的でない(法律上許可されていないことも多い)。そこで、本発明特有の機能実現手段である上記ユーザー名送信手段、パスワード要求レスポンス送信手段、パスワード送信手段、ログイン認証手段及びクライアント側パスワード暗号化処理手段は、(上記ブラウザソフトウェアとは別に)該ホスト装置にインストールされた専用ツールプログラムにより実現するようにしておくことが望ましい。この場合、特殊ユーザー名による該専用ツールプログラムからのFTPサーバへのログインを、以下、第一ログインと称する。
上記のごとく、パスワード暗号化処理の主体をなす専用ツールプログラムがブラウザソフトウェアから分離された構成になると、パスワード認証処理に特化された専用ツールプログラムによるログイン(第一ログイン)と、ホスト装置からFTPサーバへの本格的なファイルアクセスを前提としたブラウザソフトウェアによるログイン(第二ログイン)との、都合2回のログインが内部処理上は必要になる。しかし、ブラウザソフトウェアからFTPサーバを利用するユーザーの従来の利用感覚は、自分のユーザー名とパスワードとを各々1回ずつ入力してFTPサーバにログインにするイメージが強いので、ログイン回数の増大に伴いユーザー側に強いられる、従来操作手順からの乖離を如何にして少なくするかが、技術上のポイントとなる。
例えば、以下のように構成することができる。
すなわち、ネットワーク型記憶装置には、第一ログイン許可後に、ログインユーザーに発行するべきテンポラリユーザー名を作成するテンポラリユーザー名作成手段と、該テンポラリユーザー名を登録するテンポラリユーザー名登録手段とを設ける。
ホスト装置には、第一ログインに対するFTPサーバからの許可レスポンスを受けるのに対応して、テンポラリユーザー名の暗号化に使用するテンポラリユーザー名用公開キーと、暗号化された該テンポラリユーザー名の復号化に使用するテンポラリユーザー名用秘密キーとを作成するとともに、テンポラリユーザー名用公開キーをFTPサーバに送信するクライアント側テンポラリユーザー名暗号化処理手段を設ける。
FTPサーバには、受信したテンポラリユーザー名用公開キーにより、作成されたテンポラリユーザー名を暗号化し、該暗号化されたテンポラリユーザー名をホスト装置に送信するサーバ側テンポラリユーザー名暗号化処理手段を設ける。
さらに、ホスト装置には、受信した暗号化されたテンポラリユーザー名を、テンポラリユーザー名用秘密キーで復号化するクライアント側テンポラリユーザー名復号化処理手段と、該復号化されたテンポラリユーザー名をFTPサーバに送信する復号化テンポラリユーザー名送信手段を設ける。
すなわち、ネットワーク型記憶装置には、第一ログイン許可後に、ログインユーザーに発行するべきテンポラリユーザー名を作成するテンポラリユーザー名作成手段と、該テンポラリユーザー名を登録するテンポラリユーザー名登録手段とを設ける。
ホスト装置には、第一ログインに対するFTPサーバからの許可レスポンスを受けるのに対応して、テンポラリユーザー名の暗号化に使用するテンポラリユーザー名用公開キーと、暗号化された該テンポラリユーザー名の復号化に使用するテンポラリユーザー名用秘密キーとを作成するとともに、テンポラリユーザー名用公開キーをFTPサーバに送信するクライアント側テンポラリユーザー名暗号化処理手段を設ける。
FTPサーバには、受信したテンポラリユーザー名用公開キーにより、作成されたテンポラリユーザー名を暗号化し、該暗号化されたテンポラリユーザー名をホスト装置に送信するサーバ側テンポラリユーザー名暗号化処理手段を設ける。
さらに、ホスト装置には、受信した暗号化されたテンポラリユーザー名を、テンポラリユーザー名用秘密キーで復号化するクライアント側テンポラリユーザー名復号化処理手段と、該復号化されたテンポラリユーザー名をFTPサーバに送信する復号化テンポラリユーザー名送信手段を設ける。
そして、クライアント側テンポラリユーザー名暗号化処理手段を上記の専用ツールプログラムに組み込み、かつ、ホスト装置には、FTPクライアントプログラムが実装され、かつ復号化テンポラリユーザー名送信手段の機能を有したブラウザソフトウェアをインストールしておく(ブラウザソフトウェアには、取得したユーザー名をFTPサーバに送信する機能が普通搭載されている)。そして、FTPサーバに、復号化されたテンポラリユーザー名をブラウザソフトウェアから受信し、自身が作成したテンポラリユーザー名との照合が一致した場合にのみ、該テンポラリユーザー名によるブラウザソフトウェアからのFTPサーバへの第二ログインを許可する第二ログイン許可手段を設ける。
この構成によると、専用ツールによる第一ログインからブラウザソフトウェアによる第二ログインへ移行するために、FTPサーバ側がその場で発行するテンポラリユーザー名が使えるので、少なくともユーザーは、第二ログインのためのユーザー名を事前にFTPサーバに登録し、また記憶しておく必要はなくなる。
この場合、さらに望ましくは、以下のように構成できる。
すなわち、テンポラリユーザー名登録手段は、テンポラリユーザー名をパスワードなしで登録するものとし、専用ツールプログラムは、復号化されたテンポラリユーザー名をブラウザソフトウェアに内部転送するものとする。また、ブラウザソフトウェアは該内部転送により取得したテンポラリユーザー名を、ユーザー入力を介さずにFTPサーバに送信するものとする。そして、第二ログイン許可手段は、ブラウザソフトウェアからテンポラリユーザー名を受信し、自身が作成したテンポラリユーザー名との照合が一致した場合にのみ、該テンポラリユーザー名によるブラウザソフトウェアからのFTPサーバへの第二ログインをパスワードなしにて許可するものとする。
すなわち、テンポラリユーザー名登録手段は、テンポラリユーザー名をパスワードなしで登録するものとし、専用ツールプログラムは、復号化されたテンポラリユーザー名をブラウザソフトウェアに内部転送するものとする。また、ブラウザソフトウェアは該内部転送により取得したテンポラリユーザー名を、ユーザー入力を介さずにFTPサーバに送信するものとする。そして、第二ログイン許可手段は、ブラウザソフトウェアからテンポラリユーザー名を受信し、自身が作成したテンポラリユーザー名との照合が一致した場合にのみ、該テンポラリユーザー名によるブラウザソフトウェアからのFTPサーバへの第二ログインをパスワードなしにて許可するものとする。
上記の構成によると、テンポラリユーザー名がパスワードなしで登録され、さらに、ブラウザソフトウェアはテンポラリユーザー名を専用ツールプログラムからの内部転送により取得すする。そして、ブラウザソフトウェアは、そのテンポラリユーザー名を使ってパスワードなしでFTPサーバへログインできる。これにより、第二ログインに際して、テンポラリユーザー名とパスワードとをユーザーが全く入力していないにも拘わらず、ブラウザソフトウェアは自発的にFTPサーバにログインし立ち上がることになる。その結果、本発明特有のFTP上でのパスワード暗号化機能が追加され、内部処理上はログイン回数が増加しているにも拘わらず、ユーザーは、第一ログインの際のユーザー名とパスワードとの入力作業を行なうだけで、従来の利用感覚と全く同様にブラウザソフトからFTPサーバにログインすることができるようになる。
上記の構成では、FTPサーバに、第一ログイン時に取得したホスト装置のIPアドレスと、第二ログイン時に取得したホスト装置のIPアドレスとを照合するIPアドレス照合手段を設けることができる。第二ログイン許可手段は、当該IPアドレスが照合一致した場合にのみ第二ログインを許可するものとすることができる。専用ツールの利用に起因して、過渡的に発生する第二ログインを上記のごとく、第一ログイン時に取得したホスト装置のIPアドレスにより制限することで、ネットワーク接続された別コンピューター等からの不正アクセスを効果的に防止することができる。
テンポラリユーザー名作成手段は、テンポラリユーザー名を、予め定められたテンポラリユーザー名識別文字列が含まれるものとして作成するものとすることができる。また、第二ログイン許可手段は、ブラウザソフトウェアから受信したユーザー名にテンポラリユーザー名識別文字列が含まれているものをテンポラリユーザー名であると識別するものとすることができる。テンポラリユーザー名による第二ログインは、ホスト装置のIPアドレス照合を行なうこと、パスワードなしでログイン許可されることなど、FTPサーバ側で特殊処理が発生するので、上記構成の採用により、テンポラリユーザー名識別文字列により当該ログインがテンポラリユーザー名によるものであることを容易に識別できる。この場合も、テンポラリユーザー名識別文字列は、テンポラリユーザー名の先頭に配置することが望ましい。
上記処理にて使用するテンポラリユーザー名用公開キーの送信も、FTPに整合するものでなければならない。そのための具体的手法として以下のようなものを例示できる。すなわち、クライアント側テンポラリユーザー名暗号化処理手段は、テンポラリユーザー名用公開キーを、予め定められた第一FTPコマンドへの組み込み文字列の形で該FTPコマンドとともにFTPサーバへ送信するものとする。FTPサーバは、特殊ユーザー名による第一ログインが発生していない状態にあっては、受信した第一FTPコマンドに対応する本来のコマンド実行処理を行なう一方、特殊ユーザー名による第一ログインが発生している状態にあっては、受信した第一FTPコマンドに対応する本来のコマンド実行処理を実行せず、代わりに、該第一FTPコマンドから組み込み文字列として送信されてくるテンポラリユーザー名用公開キーを抽出し、サーバ側テンポラリユーザー名暗号化処理手段にこれを受け渡す処理を行なうものとする。
FTPサーバは、前述のごとく特殊ユーザー名による第一ログインであることを確認すれば、TCP/IPネットワーク上での表向きの通信処理自体は完全にFTPに整合しつつ、FTPサーバの内部では、上記「特殊ユーザー名によるログイン」をキーとして、独自処理を展開することができる。上記の態様では、ホスト装置側からFTPサーバへの第一FTPコマンドの送信自体はFTPによる手順と何ら矛盾しないが、これを受け取ってからのFTPサーバ内での処理が独自処理となる。すなわち、第一FTPコマンドを受けたときの処理として、特殊ユーザー名による第一ログインが発生していない状態にあっては、受信した第一FTPコマンドに対応する本来のコマンド実行処理を行なう一方、当該第一ログインが発生している状態にあっては、受信した第一FTPコマンドに対応する本来のコマンド実行処理を行なう一方、上記本来のコマンド実行処理を実行せず、代わりに、該第一FTPコマンドから組み込み文字列として送信されてくるテンポラリユーザー名用公開キーを抽出し、サーバ側テンポラリユーザー名暗号化処理手段にこれを受け渡す処理を行なうようにする。すなわち、第一FTPコマンドを、それとは別の意味である「テンポラリユーザー名用公開キー抽出」の実行コマンドとして解釈するのである。
通信プロトコルとは、あくまで通信処理の手順、すなわち処理進行に伴うネットワークの通信状態の時間的遷移を規定するものであって、手順としての整合が保たれていれば、受け取ったコマンドへの対応処理として、サーバ側ないしクライアント側で本来意図されたコマンドの意味とは異なる内部処理を行なってもプロトコル上は何ら不都合が生じない。これは、通信プロトコル技術における一つの盲点ともいえるものであって、上記方式もこれを活用したものに他ならない。
同様の思想は、復号化されたテンポラリユーザー名をFTPサーバからホスト装置に送信する処理についても適用できる。すなわち、復号化テンポラリユーザー名送信手段を、復号化されたテンポラリユーザー名をFTPサーバに送信要求するために、第一FTPコマンドとは異なる予め定められた第二FTPコマンドをFTPサーバへ発行・送信するものとする。FTPサーバは、受信した第二FTPコマンドに対応するレスポンスを、暗号化されたテンポラリユーザー名を付加した形でブラウザソフトウェアに送信するものとする。FTPサーバからホスト装置への情報転送にあっては、前述のごとく、クライアント側から発行されるコマンドへのFTPサーバからのレスポンスは、3桁の番号のみにより内容を一義的に特定でき、それ以外の部分は単なるコメントとして解釈される。従って、暗号化されたテンポラリユーザー名を当該コメントに記述してレスポンスを行なえば、プロトコル上の不整合を一切生ずることなく、暗号化されたテンポラリユーザー名をホスト装置に転送することができる。
上記方式に使用するFTPコマンドは、いずれも、FTPサーバないしクライアントに、プロトコル整合を保つための余分な内部処理をなるべく生じさせないような種別のものを選定することが望ましい。一例として、第一FTPコマンドをCWDコマンドとし、該CWDコマンドに続く形でテンポラリユーザー名用公開キーを組み込むことができる。
CWDは「チェンジワーキングディレクトリ」であり、「ワーキングディレクトリ」とは、現在ユーザーがログインして作業中のディレクトリ位置を指すものである。そして、CWDコマンドは、本来、そのワーキングディレクトリの変更を指示するものであって、「CWD (変更後のディレクトリ名)」という形式で記述される。すなわち、「CWD」の後に続く文字列は、本来は、「変更後のディレクトリ名」を示すものであるが、特殊ユーザー名による第一ログインが発生している状態では、ワーキングディレクトリの変更は実際には行なわず、その「変更後のディレクトリ名」の部分にある文字列をテンポラリユーザー名用公開キーとして抽出する処理を行なう。
CWDコマンドに対するFTPサーバのレスポンスは「ワーキングディレクトリ変更完了」を報告するのみであるから、上記のごとく、FTPサーバにおいて、裏ではワーキングディレクトリの変更が実際に行なわれず、代わりにテンポラリユーザー名用公開キー抽出処理がなされたとしても、表向きは「ワーキングディレクトリ変更完了」のレスポンスを返すことで、プロトコル上は何らの不整合を生ずることはなく、FTPを合理的に欺くことができる。また、CWDコマンドは、それが実際の意味どおりに実行された場合においても、FTPサーバ側では、変更先のディレクトリへのポインタ移動など、通信ポートの状態やネットワーク上へのデータ送出などには何ら関与しない処理が発生するだけであり、ディレクトリ変更が行なわれなければFTPサーバ側での余分な内部処理がほとんど発生しない。
また、第二FTPコマンドはPWDコマンドとすることができ、該PWDコマンドのレスポンスに暗号化されたテンポラリユーザー名を付加することができる。PWD(「プリントワーキングディレクトリ」)コマンドは、本来、現在使用中のワーキングディレクトリをFTPサーバに報告させる指示を行なうものであり、そのレスポンスとして当該ワーキングディレクトリを示す文字列が返されることになっている。従って、FTPサーバが、そのレスポンスとして、抽出したテンポラリユーザー名用公開キーを示す文字列を、表向きは「ワーキングディレクトリ」として返すことで、プロトコル上は何らの不整合を生ずることはなく、FTPを合理的に欺くことができる。
以下、適宜図面を参照して本発明の実施形態に係るFTP通信システムについて説明する。なお、以下に説明するFTP通信システムの構成は、本発明を具現化するための単なる一例であり、本発明の要旨を変更しない範囲で構成を適宜変更できることは当然である。図1は、上記FTP通信システム1の概略構成を示すブロック図である。FTP通信システム1は、プリンタ80と、該プリンタ80をネットワークプリンタとして使用するホスト装置(パーソナルコンピュータ:以下、「PC」ともいう)3と、ローカルエリアネットワークからなり、プリンタ80とホスト装置3とを接続するTCP/IPネットワーク410とを備える。
図2は、プリンタ80の外観構成を示すものである。該プリンタ80は、いわゆる多機能装置(MFD:Multi Function Device)であり、ネットワーク型記憶装置をなすマルチリーダライタ2をプリンタに組み込んだプリンタ複合機として構成されている。具体的には、筐体下部に配設された印刷部82と、その上部に配設されたスキャナ部83と、原稿フィーダ84を備えた原稿カバー86と、装置上面の前方側に配置された操作パネル85と、装置前面にメディア装着用スロット(以下、単に「スロット」ともいう)16〜19が露出するように配設されたマルチリーダライタ2とを一体的に備えてなり、プリンタ機能、スキャナ機能、コピー機能及びファクシミリ機能などを有する。
プリンタ80は、PC3(図1)から送信された画像データや文書データを含む印刷データに基づき、印刷部82において、画像や文書を所定の用紙に印刷する。また、印刷部82は、マルチリーダライタ2によってメモリーカード(着脱式記憶メディア)から読み取られた上記印刷データに基づいても、画像や文書を所定の用紙に印刷する(直接印刷)。さらに、PC3と接続されて、PC3とマルチリーダライタ2に挿入されたメモリーカードとの間でデータ通信を行なうリーダライタ装置としても機能する。また、スキャナ部83により読み取られた画像データをPC3へ送信したり、スキャナ部83で読み取った画像を印刷部82を用いてコピーすることも可能である。
プリンタ80のマルチリーダライタ2は、図2に示すように、メディア装着用スロット16〜19として、第1メモリーカード11を挿入するための第1スロット16と、第2メモリーカード12を挿入するための第2スロット17と、第3メモリーカード13を挿入するための第3スロット18と、第4メモリーカード14を挿入するための第4スロット19とを備えている。また、筐体前面には、表示部としての液晶パネル(LCD)21と、テンキーを含むキーボード91と、LCD21上でのカーソル移動に使用するカーソル移動キー92とが設けられている。また、液晶パネル(LCD)21に隣接する位置にも種々のメニューキー93,95が配設されている。該マルチリーダライタ2はUSB/SCSI型周辺機器として構成されている。
図3は、上記プリンタ80の電気的構成を示すブロック図である。マルチリーダライタ2は、その内部に、各構成部を制御するCPU34と、制御プログラムや種々のデータ等を格納するROM35(本実施形態では、不揮発性メモリ(フラッシュメモリメモリ等)にて構成している)と、CPU34による演算の作業領域となるRAM37と、がバス33を介して相互にデータ転送が可能なように接続されている。また、バス33には、フラッシュメモリ制御用LSI231を介して各スロット16〜19が接続されている。これらロット16〜19に着脱可能に装着される各第1〜第4メモリーカード11〜14は、例えば、コンパクトフラッシュ(CF:第1メモリーカード11)、スマートメディア(SM:第2メモリーカード12)、メモリースティック(MS:メモリーカード13)、SDメモリーカード(SD:第4メモリーカード14)など、PC3によるデータの書込み、書き換え、消去、読出し、メディア装着確認等のデータアクセスが可能なフラッシュメモリを搭載したカード型記憶メディアである。なお、SDメモリーカード用のスロット19には、変換用アダプタ(非図示)を用いてminiSDカードを装着することもできる。
バス33には、印刷部ドライバLSI113を介して印刷部82が接続されている。スキャナ部132は、スキャナドライバLSI112を介して接続されている。また、モデムドライバLSI114が接続され、これに外部電話通信網などを接続するための電話線端子133が接続されている。他方、入力・表示用LSI111を介して、前述のLCD21、キーボード91及びカーソル移動キー92などが繋がれている。さらに、バス33には、イーサネット(登録商標)LSI232、ローカルエリアネットワーク端子24及び第一のネットワークを介してホスト装置であるPC3が接続されている。複数のPC3及びプリンタ80はTCP/IPネットワーク410内にてハブ7により相互接続されている(図1参照)。
ROM35には、印刷部82の動作制御を司るプログラム、スキャナ部132の動作制御を司るプログラム、モデム114を介したファックス通信制御を司るプログラム、及び、キーボード91あるいはカーソル移動キー92(及び、図3では図示を略しているが、メニューキー93,95及び実行キー94なども含む)からの入力制御や、LCD21への表示出力を司るプログラム、さらに、マルチリーダライタ2の動作制御プログラムが格納され、CPU34は、これらプログラムを、RAM37を実行エリアとして実行することで、プリンタ複合機としての総合的な動作制御を行なう(これらのプログラムは周知部分なので図示を省略している)。
また、ROM35にはFTPサーバプログラムが格納されている。また、TCP/IPネットワーク410上にてプリンタ80を特定するためのIPアドレス及びサブネットマスクもROM35に記憶されている。他方、PC3にはFTPクライアントプログラムが組み込まれたブラウザソフトウェア3Bがインストールされている。
メディア装着用スロット16〜19には、印刷用ファイルを記憶したメモリーカード(着脱式記憶メディア)11〜14が装着され、当該装着されたメモリーカード11〜14から印刷用ファイルを読み出して、当該印刷用ファイルに基づく画像印刷を自身に設けられた印刷部にて直接実行するための直接印刷用スロットとして利用される。例えば、デジタルカメラやカメラ付き携帯電話の場合には、それらで撮影した写真画像がJPEG画像ファイルの形で、そのデジタルカメラのカードリーダに装着された固有の種別のメモリーカードに記憶・蓄積される。そこで、そのメモリーカードを抜き取ってプリンタ80のスロット16〜19のうち対応するものに装着し、キーボード91、カーソル移動キー92あるいはメニューキー93,95の操作により、液晶パネル(LCD)21上にて「直接印刷」のメニューを選択して実行すれば、所望の写真画像ファイルを選んで直接印刷を行なうことができる。
また、プリンタ80側のFTPサーバプログラムと、PC3側のFTPクライアントプログラムとにより、PC3側からTCP/IPネットワーク410を介してマルチリーダライタ2にデータアクセスすることが可能である。具体的には、PC3側からデータファイルのファイル名を指定する形でプリンタ80側にファイル転送要求を送信すると、プリンタ80は、該ファイル名で指定されたデータファイルを装着されたメモリーカードから読み出してPC3に転送することができる。つまり、マルチリーダライタ2は、PC3のいわば外付け記憶装置として利用することが可能である。
本実施形態では、図3に示すように、プリンタ80のROM35はフラッシュメモリにて構成され、ログイン許可するべきFTPクライアントのユーザー名とパスワードとを登録する登録部(ユーザー登録手段)が該ROM35内に形成されている。
PC3(ホスト装置)のユーザがプリンタ80側のFTPサーバへログインするためには、ユーザー名とパスワードとによる認証が必要である。FTPでは、PC3からプリンタ80へ、ユーザー名及びパスワードがいずれも平文(プレーンテキスト)で流れるため、セキュリティ上問題がある。そこで、本実施形態では、この問題を解消するために、プリンタ80側にパスワード処理ツール、PC3側に専用ツール3T(これ自身、簡易なFTPクライアントとしての機能を持っている)がそれぞれ組み込まれている。
上記のFTPサーバプログラム及びFTPクライアントプログラムとの連携により、以下の各手段がシステム上で実現されている(図4の概略シーケンス図を参照しつつ説明する)。
・ユーザー名送信手段:FTPサーバにログインするためのユーザー名を、ホスト装置からFTPサーバに送信する(図4:J3)。
・パスワード要求レスポンス送信手段:ユーザー名の受信と引き換えにFTPサーバからホスト装置にパスワード要求レスポンスを送信する(図4:J4)。
・パスワード送信手段:該パスワード要求レスポンスを受けてホスト装置からFTPサーバに、該ホスト装置にて入力されたパスワードを送信する(図4:J5)。
・ログイン認証手段:FTPサーバにて、受信したパスワードとユーザー名とに基づいてログインユーザーを認証し、認証受理の場合に該ログインユーザーのFTPサーバへのログインを許可する(図4:J6)。
・ユーザー名送信手段:FTPサーバにログインするためのユーザー名を、ホスト装置からFTPサーバに送信する(図4:J3)。
・パスワード要求レスポンス送信手段:ユーザー名の受信と引き換えにFTPサーバからホスト装置にパスワード要求レスポンスを送信する(図4:J4)。
・パスワード送信手段:該パスワード要求レスポンスを受けてホスト装置からFTPサーバに、該ホスト装置にて入力されたパスワードを送信する(図4:J5)。
・ログイン認証手段:FTPサーバにて、受信したパスワードとユーザー名とに基づいてログインユーザーを認証し、認証受理の場合に該ログインユーザーのFTPサーバへのログインを許可する(図4:J6)。
また、専用ツール3Tが主体となって、プリンタ80側のパスワード処理プログラムが連携し、以下の各機能が実現されている。
・見かけユーザー名入力受付手段:PC3(ホスト装置)側の機能であり、ユーザーによる見かけユーザー名の入力を受け付ける(図4:K1)。
・特殊ユーザー名変換手段:同じく、入力が受け付けられた見かけユーザー名の入力文字列に特殊ユーザー名識別文字列(図4:文字列1「SEQ−」)を付加することにより、該見かけユーザー名を特殊ユーザー名に変換する。前述のパスワード送信手段は、変換により得られた該特殊ユーザー名をFTPサーバに送信する。特殊ユーザー名識別文字列は見かけユーザー名の先頭側に付加される。
・サーバ側パスワード暗号化処理手段:プリンタ80(FTPサーバ)側の機能であり、受信したユーザー名が、予め定められた特殊ユーザー名であるか否かを判定する(図4:J3)。具体的には、ユーザー名に予め定められた特殊ユーザー名識別文字列が含まれている場合に、該ユーザー名が特殊ユーザー名であると判定する。また。該ユーザー名が特殊ユーザー名であった場合に、パスワードの暗号化に使用するパスワード用公開キーと、該暗号化されたパスワードの復号化に使用するパスワード用秘密キーとを作成するとともに(図4:U1)、パスワード用公開キー(公開キー1)をホスト装置に送信する(図4:J4)。具体的には、図7に示すように、パスワード要求レスポンス(331)にパスワード用公開キーを付加文字列201として組み込み、パスワード要求レスポンス送信手段によりホスト装置へ送信される。レスポンス番号331の後に続く文字列は全てコメントとして解釈されるが、本実施形態ではコメント末尾に置かれた括弧内の文字列をパスワード用公開キーとして解釈する。
・見かけユーザー名入力受付手段:PC3(ホスト装置)側の機能であり、ユーザーによる見かけユーザー名の入力を受け付ける(図4:K1)。
・特殊ユーザー名変換手段:同じく、入力が受け付けられた見かけユーザー名の入力文字列に特殊ユーザー名識別文字列(図4:文字列1「SEQ−」)を付加することにより、該見かけユーザー名を特殊ユーザー名に変換する。前述のパスワード送信手段は、変換により得られた該特殊ユーザー名をFTPサーバに送信する。特殊ユーザー名識別文字列は見かけユーザー名の先頭側に付加される。
・サーバ側パスワード暗号化処理手段:プリンタ80(FTPサーバ)側の機能であり、受信したユーザー名が、予め定められた特殊ユーザー名であるか否かを判定する(図4:J3)。具体的には、ユーザー名に予め定められた特殊ユーザー名識別文字列が含まれている場合に、該ユーザー名が特殊ユーザー名であると判定する。また。該ユーザー名が特殊ユーザー名であった場合に、パスワードの暗号化に使用するパスワード用公開キーと、該暗号化されたパスワードの復号化に使用するパスワード用秘密キーとを作成するとともに(図4:U1)、パスワード用公開キー(公開キー1)をホスト装置に送信する(図4:J4)。具体的には、図7に示すように、パスワード要求レスポンス(331)にパスワード用公開キーを付加文字列201として組み込み、パスワード要求レスポンス送信手段によりホスト装置へ送信される。レスポンス番号331の後に続く文字列は全てコメントとして解釈されるが、本実施形態ではコメント末尾に置かれた括弧内の文字列をパスワード用公開キーとして解釈する。
・クライアント側パスワード暗号化処理手段:PC3(ホスト装置)側の機能であり、入力済みのパスワードを受信したパスワード用公開キーにて暗号化するとともに(図4:K2)、暗号化されたパスワードをパスワード送信手段によりFTPサーバに送信する(図4:J5)。具体的には、受信した上記パスワード要求レスポンスからパスワード用公開キーをなす付加文字列を抽出する。
・サーバ側パスワード復号化処理手段:プリンタ80(FTPサーバ)側の機能であり、受信した暗号化されたパスワードを、パスワード用秘密キー(秘密キー1)で復号化する(図4:U2)。
・サーバ側パスワード復号化処理手段:プリンタ80(FTPサーバ)側の機能であり、受信した暗号化されたパスワードを、パスワード用秘密キー(秘密キー1)で復号化する(図4:U2)。
PC3(ホスト装置)においては、ユーザー名送信手段、パスワード要求レスポンス送信手段、パスワード送信手段、ログイン認証手段及びクライアント側パスワード暗号化処理手段の各機能が、専用ツールプログラム3Tにより実現される。そして、特殊ユーザー名による該専用ツールプログラムからのFTPサーバへのログインを第一ログインとする。
図3において、プリンタ80(ネットワーク型記憶装置)のパスワード処理ツールは、第一ログイン許可後に、ログインユーザーに発行するべきテンポラリユーザー名を作成するテンポラリユーザー名作成手段の機能を有する。また、ROM35のユーザー登録部は、該テンポラリユーザー名を登録するテンポラリユーザー名登録手段として使用される。テンポラリユーザー名は、予め定められたテンポラリユーザー名識別文字列(本実施形態では、TMP−)を先頭側に有するものとして作成され、パスワードなしで登録される。
そして、専用ツール3Tが主体となって、プリンタ80側のパスワード処理プログラムが連携し、以下の各機能がさらに実現されている。
・クライアント側テンポラリユーザー名暗号化処理手段:PC3(ホスト装置)側の機能であり、第一ログインに対するFTPサーバからの許可レスポンスを受けるのに対応して、テンポラリユーザー名の暗号化に使用するテンポラリユーザー名用公開キー(公開キー2)と、暗号化された該テンポラリユーザー名の復号化に使用するテンポラリユーザー名用秘密キー(秘密キー2)とを作成するとともに(図4:K3)、テンポラリユーザー名用公開キーをFTPサーバに送信する(図4:J7)。図8に示すように、テンポラリユーザー名用公開キー203は、CWDコマンド(第一FTPコマンド)への組み込み文字列の形で送信される。
・クライアント側テンポラリユーザー名暗号化処理手段:PC3(ホスト装置)側の機能であり、第一ログインに対するFTPサーバからの許可レスポンスを受けるのに対応して、テンポラリユーザー名の暗号化に使用するテンポラリユーザー名用公開キー(公開キー2)と、暗号化された該テンポラリユーザー名の復号化に使用するテンポラリユーザー名用秘密キー(秘密キー2)とを作成するとともに(図4:K3)、テンポラリユーザー名用公開キーをFTPサーバに送信する(図4:J7)。図8に示すように、テンポラリユーザー名用公開キー203は、CWDコマンド(第一FTPコマンド)への組み込み文字列の形で送信される。
プリンタ80(FTPサーバ)側では、特殊ユーザー名による第一ログインが発生していない状態にあっては、受信したCWDコマンド(第一FTPコマンド)に対応する本来のコマンド実行処理が行なわれる。他方、特殊ユーザー名による第一ログインが発生している状態にあっては、受信したCWDコマンド(第一FTPコマンド)に対応する本来のコマンド実行処理を実行せず、代わりに、該CWDコマンド(第一FTPコマンド)から、その組み込み文字列として送信されてくるテンポラリユーザー名用公開キー203を抽出する。
・サーバ側テンポラリユーザー名暗号化処理手段:プリンタ80(FTPサーバ)側の機能であり、上記抽出されたテンポラリユーザー名用公開キー203により、作成されたテンポラリユーザー名を暗号化し(図4:U3)、該暗号化されたテンポラリユーザー名をホスト装置に送信する(図4:J8)。
・復号化テンポラリユーザー名送信手段:PC3(ホスト装置)側の機能であり、受信した暗号化されたテンポラリユーザー名を、テンポラリユーザー名用秘密キーで復号化し(図4:K5)、該復号化されたテンポラリユーザー名をFTPサーバに送信する(図4:J9)。具体的には、PWDコマンド(第二FTPコマンド)をFTPサーバへ発行・送信し、暗号化されたテンポラリユーザー名をFTPサーバに送信要求する。上記のサーバ側テンポラリユーザー名暗号化処理手段は、受信したPWDコマンド(第二FTPコマンド)に対応するレスポンス(番号:332)を、暗号化されたテンポラリユーザー名を付加した形でPC3に送信する。専用ツールプログラム3Tは、復号化されたテンポラリユーザー名をブラウザソフトウェア3Bに内部転送する。ブラウザソフトウェア3Bは、該内部転送により取得したテンポラリユーザー名を、ユーザー入力を介さずにFTPサーバに送信する。
・復号化テンポラリユーザー名送信手段:PC3(ホスト装置)側の機能であり、受信した暗号化されたテンポラリユーザー名を、テンポラリユーザー名用秘密キーで復号化し(図4:K5)、該復号化されたテンポラリユーザー名をFTPサーバに送信する(図4:J9)。具体的には、PWDコマンド(第二FTPコマンド)をFTPサーバへ発行・送信し、暗号化されたテンポラリユーザー名をFTPサーバに送信要求する。上記のサーバ側テンポラリユーザー名暗号化処理手段は、受信したPWDコマンド(第二FTPコマンド)に対応するレスポンス(番号:332)を、暗号化されたテンポラリユーザー名を付加した形でPC3に送信する。専用ツールプログラム3Tは、復号化されたテンポラリユーザー名をブラウザソフトウェア3Bに内部転送する。ブラウザソフトウェア3Bは、該内部転送により取得したテンポラリユーザー名を、ユーザー入力を介さずにFTPサーバに送信する。
・IPアドレス照合手段:プリンタ80(FTPサーバ)側の機能であり、第一のログイン時に取得したホスト装置のIPアドレス(図4:U3)と、第二ログイン時に取得したホスト装置のIPアドレスとを照合する(図4:U4)。
・第二ログイン許可手段:プリンタ80(FTPサーバ)側の機能であり、復号化されたテンポラリユーザー名をブラウザソフトウェアから受信し、自身が作成したテンポラリユーザー名との照合が一致した場合にのみ、該テンポラリユーザー名によるブラウザソフトウェアからのFTPサーバへの第二ログインを許可する。ブラウザソフトウェアから受信したユーザー名は、テンポラリユーザー名識別文字列が含まれている場合に、これをテンポラリユーザー名であると識別する。なお、上記のIPアドレスが照合一致した場合にのみ第二ログインが許可される。
・第二ログイン許可手段:プリンタ80(FTPサーバ)側の機能であり、復号化されたテンポラリユーザー名をブラウザソフトウェアから受信し、自身が作成したテンポラリユーザー名との照合が一致した場合にのみ、該テンポラリユーザー名によるブラウザソフトウェアからのFTPサーバへの第二ログインを許可する。ブラウザソフトウェアから受信したユーザー名は、テンポラリユーザー名識別文字列が含まれている場合に、これをテンポラリユーザー名であると識別する。なお、上記のIPアドレスが照合一致した場合にのみ第二ログインが許可される。
第二ログイン許可手段は、ブラウザソフトウェアからテンポラリユーザー名を受信し、自身が作成したテンポラリユーザー名との照合が一致した場合にのみ、該テンポラリユーザー名によるブラウザソフトウェアからのFTPサーバへの第二ログインをパスワードなしにて許可する。これにより、ブラウザソフトウェア3Bが自動的に立ち上がり、プリンタ80(ネットワーク型記憶装置:FTPサーバ)へのアクセスが可能となる。
以下、通信システム1における処理の流れを、図5のフローチャートを用いて説明する。まず、PC3側でユーザーは、事前に取得している見かけユーザー名(ユーザーID:図4「ABCD」)を、図6のダイアログボックスに入力する。入力された見かけユーザー名には、先頭に特殊ユーザー名識別文字列(図4:文字列1「SEQ−」)が付加されて特殊ユーザー名に変換され、USERコマンドにてプリンタ80側に送信される。
プリンタ80側ではUSERコマンドを受信し(S1)、そのユーザー名の種別を判定する(S2)。ここでは、それが特殊ユーザー名だからS3に進み、ログインユーザーのIPアドレスを、図3のRAM37のエリアAに記憶する。そして、パスワードの暗号化に使用するパスワード用公開キー(公開キー1)と、該暗号化されたパスワードの復号化に使用するパスワード用秘密キー(秘密キー1)とを作成するとともに、パスワード用秘密キーは図3のRAM37のエリアBに記憶する(S3)。そして、パスワード要求レスポンス(331)にパスワード用公開キーを付加文字列201として組み込み、PC3へ送信する(S4)。
PC3では、そのパスワード要求レスポンスを受け(T2)、上記パスワード要求レスポンスからパスワード用公開キーをなす付加文字列を抽出し、図3のPC3のRAM内にあるエリアEに記憶する(T3)。PC3側では、図6のダイアログボックスにてパスワードが入力されており、その入力済みのパスワードを、受信したパスワード用公開キーにて暗号化する(T4)。パスワードはアスキー文字列(16進数コードで規定された文字列)として入力されるが、暗号化は、周知の公開暗号化キー方式によるバイナリでの暗号化演算が施され、その演算後のバイナリコードがアスキー化されてプリンタ80に送信される(T5:つまり、見かけ上のデータ構造はプレーンテキストと同じである)。
プリンタ80側では、暗号化されたパスワード(アスキー化されたバイナリコードである)2を、パスワード用秘密キー(秘密キー1)で復号化する。そして、前述の特殊ユーザー名と、復号されたパスワードとが、登録されているものと一致するかどうか(つまり、正しいかどうか)をチェックする認証処理を行なう(S6、S7)。認証棄却であればS16に進み、第一ログイン失敗のレスポンス(330)を返す。
他方、認証受理であればS8に進み、第一ログイン成功のレスポンス(230)を返す。PC3では、この第一ログインに対するFTPサーバからの許可レスポンスを受けるのに対応して(T6、T7)、テンポラリユーザー名の暗号化に使用するテンポラリユーザー名用公開キー(公開キー2)と、暗号化された該テンポラリユーザー名の復号化に使用するテンポラリユーザー名用秘密キー(秘密キー2)とを作成するとともに、テンポラリユーザー名用秘密キーを図3のエリアFに記憶する(T8)。そして、テンポラリユーザー名用公開キーを、CWDコマンドへの組み込み文字列の形で送信するとともに、PWDコマンドを発行する(T9)。
プリンタ80(FTPサーバ)側ではこれを受け(S9)、特殊ユーザー名による第一ログインが発生している状態なので、受信したCWDコマンドに対応する本来のコマンド実行処理を実行せず、代わりに、該CWDコマンド(第一FTPコマンド)から、その組み込み文字列として送信されてくるテンポラリユーザー名用公開キーを抽出し、図3のエリアCに記憶する。また、テンポラリユーザー名(ただし、ここでは図4:J9の「MNOP」部分)を作成し、図3のエリアDに記憶する(S10)。
そして、上記抽出されたテンポラリユーザー名用公開キーにより、作成されたテンポラリユーザー名を暗号化し(S11)、該暗号化されたテンポラリユーザー名を、受信したPWDコマンド(第二FTPコマンド)に対応するレスポンス(番号:332)に付加してPC3に返す(S12)。PC3側では、このレスポンスを受け(T10)、暗号化されたテンポラリユーザー名を抽出するとともに、これをテンポラリユーザー名用秘密キーで復号化する(T11)。該復号化されたテンポラリユーザー名は、ブラウザソフトウェア3Bに内部転送され、USERコマンドにて該ブラウザソフトウェア3Bからプリンタ80(FTPサーバ)に送信される(T12)。
プリンタ80側ではUSERコマンドを受信し(S1)、そのユーザー名の種別を判定する(S2)。ここでは、それがテンポラリユーザー名だからS13に進み、エリアDに記憶されている作成時のテンポラリユーザー名と比較する(S13、S14)。一致していれば、第一ログイン時に取得したホスト装置のIPアドレスと、第二ログイン時に取得したホスト装置のIPアドレスとを照合する(S16)。これも一致していれば、ブラウザソフトウェア3Bからの第二ログインが許可され、PC3から該ブラウザソフトウェア3Bを介してプリンタ80のカードリーダ2へのアクセスが可能となる。
1 通信システム
2 マルチリーダライタ(ネットワーク型記憶装置)
3 PC(ホスト装置)
16〜19 メディア装着用スロット
11〜14 メモリーカード(着脱式記憶メディア)
410 TCP/IPネットワーク
2 マルチリーダライタ(ネットワーク型記憶装置)
3 PC(ホスト装置)
16〜19 メディア装着用スロット
11〜14 メモリーカード(着脱式記憶メディア)
410 TCP/IPネットワーク
Claims (12)
- メディア装着用スロットと、ファイル単位による記憶データの読出し、書込み及び消去が可能とされた不揮発性メモリからなり、該メディア装着用スロットに着脱可能に装着される着脱式記憶メディアとを備えたネットワーク型記憶装置と、TCP/IPネットワークにより該ネットワーク型記憶装置と接続されるホスト装置とを備えるとともに、前記ネットワーク型記憶装置側にFTPサーバのプログラムが組み込まれ、前記ホスト装置側にFTPクライアントのプログラムが組み込まれ、前記ネットワーク型記憶装置に装着された前記着脱式記憶メディアに対する前記ホスト装置からのデータファイルアクセスを、前記TCP/IPネットワークを介したFTP通信により実行するFTP通信システムにおいて、
前記ネットワーク型記憶装置側に設けられ、ログイン許可するべき前記FTPクライアントのユーザー名とパスワードとを登録するユーザー登録手段と、
前記FTPサーバにログインするためのユーザー名を、前記ホスト装置から前記FTPサーバに送信するユーザー名送信手段と、
前記ユーザー名の受信と引き換えに前記FTPサーバから前記ホスト装置にパスワード要求レスポンスを送信するパスワード要求レスポンス送信手段と、
該パスワード要求レスポンスを受けて前記ホスト装置から前記FTPサーバに、該ホスト装置にて入力されたパスワードを送信するパスワード送信手段と、
前記FTPサーバにて、受信した前記パスワードと前記ユーザー名とに基づいてログインユーザーを認証し、認証受理の場合に該ログインユーザーのFTPサーバへのログインを許可するログイン認証手段とを有し、さらに、
前記FTPサーバに、受信した前記ユーザー名が、予め定められた特殊ユーザー名であるか否かを判定するとともに、該ユーザー名が前記特殊ユーザー名であった場合に、前記パスワードの暗号化に使用するパスワード用公開キーと、該暗号化されたパスワードの復号化に使用するパスワード用秘密キーとを作成するとともに、前記パスワード用公開キーを前記ホスト装置に送信するサーバ側パスワード暗号化処理手段が設けられる一方、
前記ホスト装置に、入力済みの前記パスワードを受信した前記パスワード用公開キーにて暗号化するとともに、暗号化されたパスワードを前記パスワード送信手段により前記FTPサーバに送信させるクライアント側パスワード暗号化処理手段が設けられてなり、
前記FTPサーバに、受信した前記暗号化されたパスワードを、前記パスワード用秘密キーで復号化するサーバ側パスワード復号化処理手段が設けられてなる、
ことを特徴とするFTP通信システム。 - 前記サーバ側パスワード暗号化処理手段は、前記パスワード要求レスポンスに前記パスワード用公開キーを付加文字列として組み込み、前記パスワード要求レスポンス送信手段により前記ホスト装置へ送信するものであり、
前記クライアント側パスワード暗号化処理手段は、受信した前記パスワード要求レスポンスから前記パスワード用公開キーをなす前記付加文字列を抽出するものである請求項1記載のFTP通信システム。 - 前記ユーザー名に予め定められた特殊ユーザー名識別文字列が含まれている場合に、該ユーザー名が前記特殊ユーザー名であると判定される請求項1又は請求項2に記載のFTP通信システム。
- 前記ホスト装置にて、前記ユーザーによる見かけユーザー名の入力を受け付ける見かけユーザー名入力受付手段と、
入力が受け付けられた前記見かけユーザー名の入力文字列に前記特殊ユーザー名識別文字列を付加することにより、該見かけユーザー名を前記特殊ユーザー名に変換する特殊ユーザー名変換手段とが設けられ、
前記ユーザー名送信手段は、変換により得られた該特殊ユーザー名を前記FTPサーバに送信するものである請求項3記載のFTP通信システム。 - 前記特殊ユーザー名変換手段は、前記特殊ユーザー名識別文字列を前記見かけユーザー名の先頭側に付加するものである請求項4記載のFTP通信システム。
- 前記ホスト装置において、前記ユーザー名送信手段、前記パスワード要求レスポンス送信手段、前記パスワード送信手段、前記ログイン認証手段及び前記クライアント側パスワード暗号化処理手段の各機能が、該ホスト装置にインストールされた専用ツールプログラムにより実現されるとともに、前記特殊ユーザー名による該専用ツールプログラムからの前記FTPサーバへの前記ログインを第一ログインとして、
前記ネットワーク型記憶装置に、前記第一ログイン許可後に、前記ログインユーザーに発行するべきテンポラリユーザー名を作成するテンポラリユーザー名作成手段と、該テンポラリユーザー名を登録するテンポラリユーザー名登録手段とが設けられ、
前記ホスト装置に、前記第一ログインに対する前記FTPサーバからの許可レスポンスを受けるのに対応して、前記テンポラリユーザー名の暗号化に使用するテンポラリユーザー名用公開キーと、暗号化された該テンポラリユーザー名の復号化に使用するテンポラリユーザー名用秘密キーとを作成するとともに、前記テンポラリユーザー名用公開キーを前記FTPサーバに送信するクライアント側テンポラリユーザー名暗号化処理手段が設けられ、
前記FTPサーバに、受信した前記テンポラリユーザー名用公開キーにより、作成された前記テンポラリユーザー名を暗号化し、該暗号化されたテンポラリユーザー名を前記ホスト装置に送信するサーバ側テンポラリユーザー名暗号化処理手段が設けられ、
前記ホスト装置に、受信した前記暗号化されたテンポラリユーザー名を、前記テンポラリユーザー名用秘密キーで復号化するクライアント側テンポラリユーザー名復号化処理手段と、該復号化されたテンポラリユーザー名を前記FTPサーバに送信する復号化テンポラリユーザー名送信手段とが設けられ、
前記クライアント側テンポラリユーザー名暗号化処理手段が前記専用ツールプログラムに組み込まれてなり、かつ、前記ホスト装置には、前記FTPクライアントプログラムが実装され、かつ前記復号化テンポラリユーザー名送信手段の機能を有したブラウザソフトウェアがインストールされてなり、
前記FTPサーバに、復号化されたテンポラリユーザー名を前記ブラウザソフトウェアから受信し、自身が作成したテンポラリユーザー名との照合が一致した場合にのみ、該テンポラリユーザー名による前記ブラウザソフトウェアからの前記FTPサーバへの第二ログインを許可する第二ログイン許可手段が設けられてなる請求項1ないし請求項5のいずれか1項に記載のFTP通信システム。 - 前記テンポラリユーザー名登録手段は、前記テンポラリユーザー名をパスワードなしで登録するものであり、
前記専用ツールプログラムは、前記復号化されたテンポラリユーザー名を前記ブラウザソフトウェアに内部転送するものであり、
前記ブラウザソフトウェアは該内部転送により取得したテンポラリユーザー名を、ユーザー入力を介さずに前記FTPサーバに送信するものであり、
前記第二ログイン許可手段は、前記ブラウザソフトウェアから前記テンポラリユーザー名を受信し、自身が作成したテンポラリユーザー名との照合が一致した場合にのみ、該テンポラリユーザー名による前記ブラウザソフトウェアからの前記FTPサーバへの第二ログインをパスワードなしにて許可するものである請求項6記載のFTP通信システム。 - 前記FTPサーバに、前記第一のログイン時に取得した前記ホスト装置のIPアドレスと、前記第二ログイン時に取得した前記ホスト装置のIPアドレスとを照合するIPアドレス照合手段が設けられ、
前記第二ログイン許可手段は、当該IPアドレスが照合一致した場合にのみ前記第二ログインを許可するものである請求項6又は請求項7に記載のFTP通信システム。 - 前記テンポラリユーザー名作成手段はテンポラリユーザー名を、予め定められたテンポラリユーザー名識別文字列が含まれているものとして作成するものであり、
前記第二ログイン許可手段は、前記ブラウザソフトウェアから受信したユーザー名に前記テンポラリユーザー名識別文字列が含まれているものを前記テンポラリユーザー名であると識別する請求項8記載のFTP通信システム。 - 前記クライアント側テンポラリユーザー名暗号化処理手段は、前記テンポラリユーザー名用公開キーを、予め定められた第一FTPコマンドへの組み込み文字列の形で該FTPコマンドとともに前記FTPサーバへ送信するものであり、
前記FTPサーバは、前記特殊ユーザー名による前記第一ログインが発生していない状態にあっては、受信した前記第一FTPコマンドに対応する本来のコマンド実行処理を行なう一方、前記特殊ユーザー名による前記第一ログインが発生している状態にあっては、受信した前記第一FTPコマンドに対応する前記本来のコマンド実行処理を実行せず、代わりに、該第一FTPコマンドから前記組み込み文字列として送信されてくる前記テンポラリユーザー名用公開キーを抽出し、前記サーバ側テンポラリユーザー名暗号化処理手段にこれを受け渡す処理を行なう請求項6ないし請求項9のいずれか1項に記載のFTP通信システム。 - 前記復号化テンポラリユーザー名送信手段は、前記暗号化されたテンポラリユーザー名を前記FTPサーバに送信要求するために、前記第一FTPコマンドとは異なる予め定められた第二FTPコマンドを前記FTPサーバへ発行・送信するものであり、
前記FTPサーバは、受信した前記第二FTPコマンドに対応するレスポンスを、前記暗号化されたテンポラリユーザー名を付加した形で前記ブラウザソフトウェアに送信する請求項10記載のFTP通信システム。 - 前記第一FTPコマンドがCWDコマンドであり、該CWDコマンドに続く形で前記テンポラリユーザー名用公開キーを組み込まれる一方、
前記第二FTPコマンドがPWDコマンドであり、該PWDコマンドのレスポンスに前記暗号化されたテンポラリユーザー名が付加される請求項11記載のFTP通信システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006268942A JP2008092141A (ja) | 2006-09-29 | 2006-09-29 | Ftp通信システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006268942A JP2008092141A (ja) | 2006-09-29 | 2006-09-29 | Ftp通信システム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008092141A true JP2008092141A (ja) | 2008-04-17 |
Family
ID=39375832
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006268942A Pending JP2008092141A (ja) | 2006-09-29 | 2006-09-29 | Ftp通信システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008092141A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010026949A (ja) * | 2008-07-23 | 2010-02-04 | Brother Ind Ltd | デバイス管理システム |
WO2012086105A1 (en) * | 2010-12-21 | 2012-06-28 | Sato Holdings Kabushiki Kaisha | Virtual input/output device for printers |
KR20170089579A (ko) * | 2016-01-27 | 2017-08-04 | 한국전자통신연구원 | 단방향 파일 전송 시스템 및 방법 |
-
2006
- 2006-09-29 JP JP2006268942A patent/JP2008092141A/ja active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010026949A (ja) * | 2008-07-23 | 2010-02-04 | Brother Ind Ltd | デバイス管理システム |
WO2012086105A1 (en) * | 2010-12-21 | 2012-06-28 | Sato Holdings Kabushiki Kaisha | Virtual input/output device for printers |
JP2014505277A (ja) * | 2010-12-21 | 2014-02-27 | サトーホールディングス株式会社 | プリンタ用の仮想入力/出力装置 |
US9740442B2 (en) | 2010-12-21 | 2017-08-22 | Sato Holdings Kabushiki Kaisha | Virtual input/output device for printers |
KR20170089579A (ko) * | 2016-01-27 | 2017-08-04 | 한국전자통신연구원 | 단방향 파일 전송 시스템 및 방법 |
KR102111723B1 (ko) * | 2016-01-27 | 2020-05-15 | 한국전자통신연구원 | 단방향 파일 전송 시스템 및 방법 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4821405B2 (ja) | ファイルアクセス制御装置及びファイル管理システム | |
US7782477B2 (en) | Information processing apparatus connected to a printing apparatus via a network and computer-readable storage medium having stored thereon a program for causing a computer to execute generating print data in the information processing apparatus connected to the printing apparatus via the network | |
JP4481914B2 (ja) | 情報処理方法およびその装置 | |
US8054970B2 (en) | Image forming apparatus, image forming method, information processing apparatus and information processing method | |
JP4973300B2 (ja) | 印刷プログラムおよび印刷装置 | |
JP2001188664A (ja) | 印刷制御装置及び印刷制御方法 | |
JP2007140901A (ja) | 画像処理システム | |
JP2008027235A (ja) | 情報処理装置、情報処理方法および情報処理プログラム | |
JP2009193275A (ja) | 認証装置、認証印刷システム、認証データ入力装置およびそれらの方法 | |
US7733512B2 (en) | Data processing device, information processing device, and data processing system | |
JP2004164604A (ja) | 電子ファイル管理装置及びプログラム並びにファイルアクセス制御方法 | |
JP2007328663A (ja) | 画像形成装置およびその制御方法 | |
JP2008092141A (ja) | Ftp通信システム | |
JP4978571B2 (ja) | 情報処理装置、情報処理システム、情報処理方法、情報処理プログラムおよび記録媒体 | |
JP2007181945A (ja) | 画像形成装置、出力判断プログラムおよび出力判断方法 | |
JP2008003782A (ja) | 認証装置および端末装置のプログラムおよび画像形成装置および端末装置の制御方法および画像形成装置の制御方法 | |
JP3885882B2 (ja) | 画像形成装置および画像形成システム | |
JP4906767B2 (ja) | 印刷管理システム、印刷管理方法、端末、サーバ、プリント対応サーバ | |
JP4753418B2 (ja) | 画像処理装置及び画像処理方法 | |
JP2007164632A (ja) | 情報処理装置及び情報処理方法並びにプログラム | |
JP2005157571A (ja) | 情報処理装置、機器、情報処理システム、認証プログラム及び記録媒体 | |
JP7454936B2 (ja) | 印刷システム、印刷装置および印刷制御方法 | |
JP5445409B2 (ja) | 印刷システム、端末装置、端末制御プログラム、印刷管理装置、および印刷制御プログラム | |
JP4626459B2 (ja) | 画像処理装置、画像処理方法、及び画像処理プログラム | |
JP2006110911A (ja) | 印刷システムおよび印刷装置 |