JPWO2004040890A1 - アクセス要求制御方法、通信デバイス用ドライバプログラムおよび通信デバイス - Google Patents

アクセス要求制御方法、通信デバイス用ドライバプログラムおよび通信デバイス Download PDF

Info

Publication number
JPWO2004040890A1
JPWO2004040890A1 JP2004548007A JP2004548007A JPWO2004040890A1 JP WO2004040890 A1 JPWO2004040890 A1 JP WO2004040890A1 JP 2004548007 A JP2004548007 A JP 2004548007A JP 2004548007 A JP2004548007 A JP 2004548007A JP WO2004040890 A1 JPWO2004040890 A1 JP WO2004040890A1
Authority
JP
Japan
Prior art keywords
access
application
communication device
flag
port
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
JP2004548007A
Other languages
English (en)
Other versions
JP4332116B2 (ja
Inventor
嘉宏 高松屋
嘉宏 高松屋
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JPWO2004040890A1 publication Critical patent/JPWO2004040890A1/ja
Application granted granted Critical
Publication of JP4332116B2 publication Critical patent/JP4332116B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/102Entity profiles
    • 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/31User authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/08Access security

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Storage Device Security (AREA)
  • Small-Scale Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

コンピュータのシリアルポートが割り当てられるとともにアプリケーションからのアクセス要求に応答して公衆通信網を介した通信をおこなうマルチアクセス通信カードに対応するドライバプログラムであって、マルチアクセス通信カードのCOM(3)ポートへのアクセスを許可するか否かを示すアクセスフラグを設定するアクセスフラグ設定ルーチンと、アプリケーションからのCOMポートオープン要求に対してアクセスフラグが設定されている場合にだけCOM(3)ポートをオープンするCOMポートオープン処理ルーチンとを備える。

Description

この発明は、少なくとも汎用ポートが割り当てられるとともにアプリケーションからのアクセス要求に応答して通信網を介した通信をおこなう通信デバイスに対する各アプリケーションからのアクセス要求を制御するアクセス要求制御方法、通信デバイス用ドライバプログラムおよびに通信デバイスに関し、特に、複数のアプリケーションのうちの特定のアプリケーションのみに汎用ポートが割り当てられた通信デバイスへのアクセスを許可し、もってこの通信デバイスへの他のアプリケーションからの誤ったアクセスや不正なアクセスを防止することができるアクセス要求制御方法、通信デバイス用ドライバプログラムおよび通信デバイスに関するものである。
従来、Windows(登録商標、以下同様)を搭載したパーソナルコンピュータ(以下「PC」と言う)には、汎用ポートであるCOM(Communication)ポート(シリアルポート)が設けられており、このCOMポートには、モデム機能を有するモデムカードや無線通信機能を有する無線通信カードなどのいわゆるPCカードと呼ばれるデバイスが割り当てられる。
そして、このCOMポートにPCカードが割り当てられた場合には、Windows上で起動する各種アプリケーションが、かかるCOMポートを介してPCカードにアクセスできるようになる。たとえば、モデムカードがPCに接続されるとともにこのモデムカードがCOM2ポートに割り当てられた場合には、ハイパーターミナル(Hyper Terminal)などのモデムを使用する汎用のアプリケーションが、このCOM2ポートを介してモデムカードにアクセスすることが可能となる。
しかしながら、かかるCOMポートが汎用ポートであるからと言って、すべてのアプリケーションがCOMポートに割り当てられたPCカードにアクセスできることとすると、あるアプリケーションから誤ってPCカードにアクセスする場合や不正なアプリケーションがPCカードにアクセスする場合に問題が生ずる。具体的には、従来のPCカードおよび該PCカードのデバイスドライバ(シリアルドライバ)では、COMポートを介してPCカードにアクセスするアプリケーションが何であるのかを確認することができないため、PCカードにアクセスさせるべきでないアプリケーションであっても、COMポートを介したPCカードのアクセスを許してしまう結果となる。
特に、音声通話とパケット通信を同時におこなうマルチアクセス機能を有するPCカードを考えた場合には深刻な問題が生ずる。具体的には、このPCカードをPCに接続するとともにCOMポートを割り当て、このPCカードのパケット通信を利用してWEB上のホームページを閲覧していた場合に、ホームページからJava(登録商標、以下同様)スクリプトなどで記述された不正なアプリケーションをダウンロードしてしまうと、この不正なアプリケーションの起動により、PCカードを介した自動的なダイアルアップ接続がおこなわれ、後日利用者が意図しない電話料金の課金を強いられる結果となる。
したがって、この発明は、複数のアプリケーションのうちの特定のアプリケーションのみに汎用ポートが割り当てられた通信デバイスへのアクセスを許可し、もってこの通信デバイスへの他のアプリケーションからの誤ったアクセスや不正なアクセスを防止することができるアクセス要求制御方法、通信デバイス用ドライバプログラムおよび通信デバイスを提供することを目的とする。
上述した課題を解決し、目的を達成するため、本発明は、少なくとも汎用ポートが割り当てられるとともにアプリケーションからのアクセス要求に応答して通信網を介した通信をおこなう通信デバイスに対する各アプリケーションからのアクセス要求を制御するアクセス要求制御方法であって、前記アプリケーションのアクセス要求に先立って該アプリケーションからの要求に応答して前記通信デバイスの利用許可をおこなう利用許可工程と、前記利用許可工程による利用許可の有無に基づいて前記アプリケーションから前記通信デバイスに対するアクセス要求を受け付けるか否かを制御する制御工程と、を含んだことを特徴とする。
また、本発明は、少なくとも汎用ポートが割り当てられるとともにアプリケーションからのアクセス要求に応答して通信網を介した通信をおこなう通信デバイスに対応する通信デバイス用ドライバプログラムであって、前記アプリケーションのアクセス要求に先立って該アプリケーションからの要求に応答して前記通信デバイスの利用許可をおこなう利用許可手順と、前記利用許可手順による利用許可の有無に基づいて前記アプリケーションから前記通信デバイスに対するアクセス要求を受け付けるか否かを制御する制御手順と、をコンピュータで実行することを特徴とする。
また、本発明は、少なくとも汎用ポートが割り当てられるとともにアプリケーションからのアクセス要求に応答して通信網を介した通信をおこなう通信デバイスであって、前記アプリケーションのアクセス要求に先立って該アプリケーションからの要求に応答して利用許可をおこなう利用許可手段と、前記利用許可手段による利用許可の有無に基づいて前記アプリケーションからアクセス要求を受け付けるか否かを制御する制御手段と、を備えたことを特徴とする。
かかる発明によれば、アプリケーションのアクセス要求に先立ってアプリケーションからの要求に応答して通信デバイスの利用許可をおこない、利用許可の有無に基づいてアプリケーションから通信デバイスに対するアクセス要求を受け付けるか否かを制御することとしたので、複数のアプリケーションのうちの特定のアプリケーションのみに汎用ポートが割り当てられた通信デバイスへのアクセスを許可し、もってこの通信デバイスへの他のアプリケーションからの誤ったアクセスや不正なアクセスを防止することができる。
第1図は、本実施の形態1に係るCOMポート接続デバイスへのアクセス許可の概念を説明するための説明図であり、第2図は、本実施の形態1に係るマルチアクセス装置の構成を示す機能ブロック図であり、第3図は、第2図に示したマルチアクセス装置によるアクセスフラグ設定処理の処理手順を示すフローチャートであり、第4図は、第2図に示したCOMポートオープン処理ルーチンの処理手順を示すフローチャートであり、第5図は、第2図に示したマルチアクセス装置によるアクセスフラグクリア処理の処理手順を示すフローチャートであり、第6図は、本実施の形態2に係るCOMポート接続デバイスへのアクセス許可の概念を説明するための説明図であり、第7図は、本実施の形態2に係るマルチアクセス装置の構成を示す機能ブロック図であり、第8図は、Write処理ルーチンの処理手順を示すフローチャート図であり、第9図は、本実施の形態3に係るCOMポート接続デバイスへのアクセス許可の概念を説明するための説明図であり、第10図は、本実施の形態3に係るマルチアクセス装置の構成を示す機能ブロック図である。
以下、添付図面を参照して、この発明に係るアクセス要求制御方法、通信デバイス用ドライバプログラム、および通信デバイスの好適な実施の形態を詳細に説明する。
実施の形態1.
まず、本実施の形態1に係るCOMポート接続デバイスへのアクセス許可の概念について説明する。第1図は、本実施の形態1に係るCOMポート接続デバイスへのアクセス許可の概念を説明するための説明図である。同図において、アクセスフラグは、COMポートを介したモデムカードへのアプリケーションからのアクセスを許可するか否かを示すフラグであり、このアクセスフラグが設定されている場合には、モデムカードへのアプリケーションからのアクセスが許可され、このアクセスフラグが未設定の場合には、モデムカードへのアプリケーションからのアクセスは許可されない。
すなわち、同図(a)に示すように、特定アプリケーションは、シリアルドライバに対して、モデムカードを使用するためにCOMポートのオープンを要求する前に、専用インタフェース(I/F)を用いてアクセスフラグ設定要求をおこなう。そして、アクセスフラグ設定後、特定アプリケーションがCOMポートのオープンを要求し、シリアルドライバがアクセスフラグを調べると、アクセスフラグが設定されているので、COMポートのオープン処理をおこない、COMポートのオープンが成功したことを特定アプリケーションに知らせる。そして、特定アプリケーションはATコマンド等を発行し、モデムカードを使って通信を開始することができる。
これに対して、同図(b)に示すように、他のアプリケーションがモデムカードに誤ったアクセスや不正なアクセスをしようとした場合には、そのアプリケーションがシリアルドライバに対してCOMポートのオープンを要求し、シリアルドライバがアクセスフラグを調べると、アクセスフラグが設定されていないので、COMポートのオープン処理をおこなうことなく、COMポートのオープンが失敗したことをそのアプリケーションに伝える。
このように、本実施の形態1では、シリアルドライバ内にモデムカードへのアクセスを許可するか否かを示すアクセスフラグを設け、このアクセスフラグが設定されている場合にだけCOMポートのオープンが成功することとしたので、アクセスフラグを事前に設定した特定アプリケーションだけがCOMポートを介してモデムカードにアクセスすることができ、このモデムカードへの他のアプリケーションからの誤ったアクセスや不正なアクセスを防止することができる。
次に、本実施の形態1に係るマルチアクセス装置の構成について説明する。ここで、マルチアクセス装置とは、音声通話とパケット通信を同時におこなうことができる装置である。第2図は、本実施の形態1に係るマルチアクセス装置の構成を示す機能ブロック図である。同図に示すように、このマルチアクセス装置は、PC100と、マルチアクセス通信カード200と、マウス10と、キーボード20と、マイク付イアホン30と、表示装置40とを有する。
PC100は、Windowsを搭載したコンピュータであり、マルチアクセス通信カード200を用いてマルチアクセス機能を実現する。具体的には、データ通信アプリケーションと音声通話のアプリケーションを同時に実行し、マルチアクセス機能を実現する。
マルチアクセス通信カード200は、PC100が移動体通信網を用いてパケット通信と音声通話を同時におこなうことを可能とするPCカードであり、モデムおよびモデムに接続する二つのCOMポートを有する。なお、ここでは、これら二つのCOMポートをCOM2ポートおよびCOM3ポートとし、パケット通信にはCOM2ポートを、音声通話にはCOM3ポートを使用することとする。また、COM3ポートを介したマルチアクセス通信カード200へのアクセスは、音声通話をおこなうアプリケーションだけに制限する。その理由は、このマルチアクセス通信カード200への他のアプリケーションからの誤ったアクセスや不正なアクセスによって電話接続が自動的におこなわれ、利用者の意図しない電話接続がおこなわれてしまうことを防ぐためである。
マウス10は、表示画面上の任意の場所を指定するための装置であり、アプリケーションウィンドウの選択、メニューの選択などに使われ、キーボード20は、PC100への処理の指示およびデータの入力をおこなうための装置であり、メイル、URL、電話番号などの入力に使われる。
マイク付イアホン30は、PC100との間で音声入出力をおこなうための装置であり、音声通話のアプリケーションとの音声入出力に使われ、表示装置40は、PC100の出力を表示する装置であり、メイルの表示、Web画面の表示、音声通話画面の表示などに使われる。
次にPC100の構成について説明する。第2図に示すように、PC100は、ダイアルアップアプリケーション110と、音声通話アプリケーション120と、シリアルドライバ130と、PCカードドライバ140とを有する。なお、このPC100は、図示していないが、ダイアルアップ接続を使用するWebブラウザ、メイルソフトなどのアプリケーションプログラム、ダイアルアップ接続のためのTCP/IP、PPPなどの通信ライブラリ、マイク付イアホン30のデバイスドライバなどのプログラムを有する。
ダイアルアップアプリケーション110は、ダイアルアップ接続をおこなうためのアプリケーションであり、マルチアクセス通信カード200のCOM2ポートを用いてデータ通信をおこなう。
音声通話アプリケーション120は、マイク付イアホン30を用いて音声通話をおこなうためのアプリケーションであり、マルチアクセス通信カード200のCOM3ポートを介してモデムとの通信をおこなう。この音声通話アプリケーション120は、シリアルドライバ130に対して、COM3ポートのオープン要求をおこなう前に、COM3ポートへのアクセスを許可するか否かを示すアクセスフラグの設定要求をおこなう。また、この音声通話アプリケーション120は、COM3ポートをクローズした後に、アクセスフラグのクリア要求をおこなう。
シリアルドライバ130は、ダイアルアップアプリケーション110および音声通話アプリケーション120がCOMポートを介してマルチアクセス通信カード200とシリアル通信をおこなうための処理部であり、COMポートオープン処理ルーチン131と、アクセスフラグ設定処理ルーチン132と、アクセスフラグクリア処理ルーチン133と、アクセスフラグ134とを有する。なお、このシリアルドライバ130は、図示していないが、マルチアクセス通信カード200からの割込みを処理する割込処理ルーチン、マルチアクセス通信カード200とのデータ授受をおこなうためのRead処理ルーチンおよびWrite処理ルーチン、プラグアンドプレイ機能を実現するためのPnP処理ルーチン、電源管理をおこなうためのPower処理ルーチンなどを有する。
COMポートオープン処理ルーチン131は、アプリケーションからの要求に応じてCOMポートをオープンする処理部であり、オープンするCOMポートがCOM3ポートであるか否かを判定し、COM3ポートであれば、アクセスフラグ134が設定されている場合にだけオープン処理をおこなう。一方、オープンするCOMポートがCOM3ポートでない場合には、無条件でオープン処理をおこなう。
このように、このCOMポートオープン処理ルーチン131がアクセスフラグ134を調べ、アクセスフラグ134が設定されている場合にだけCOM3ポートのオープン処理をおこなうこととしたので、COM3ポートを介したマルチアクセス通信カード200への他のアプリケーションからの誤ったアクセスや不正なアクセスを防止することができる。
アクセスフラグ設定処理ルーチン132は、アクセスフラグ134を設定する処理部であり、音声通話アプリケーション120によって使用される。具体的には、このアクセスフラグ設定処理ルーチン132は、DeviceIoControlを用いて呼び出される。
アクセスフラグクリア処理ルーチン133は、アクセスフラグ134をクリアする処理部であり、音声通話アプリケーション120によって使用される。このアクセスフラグクリア処理ルーチン133は、アクセスフラグ設定処理ルーチン132と同様に、DeviceIoControlを用いて呼び出される。
アクセスフラグ134は、COM3ポートを介したマルチアクセス通信カード200へのアクセスを許可するか否かを記憶した記憶部であり、このアクセスフラグ134が設定されている場合には、マルチアクセス通信カード200へのアクセスが許可され、このアクセスフラグ134が未設定の場合には、マルチアクセス通信カード200へのアクセスは許可されない。このアクセスフラグ134がCOM3ポートを介したマルチアクセス通信カード200へのアクセス可否を記憶することにより、音声通話アプリケーション120だけがCOM3ポートを介してマルチアクセス通信カード200にアクセスできるように制御することができる。
PCカードドライバ140は、アプリケーションがPCカードを利用できるようにPCカードを管理する処理部であり、具体的には、PCカードスロットの状態や割込みレベルなどを管理する。
次に、第2図に示したマルチアクセス装置によるアクセスフラグ設定処理の処理手順について説明する。第3図は、第2図に示したマルチアクセス装置によるアクセスフラグ設定処理の処理手順を示すフローチャートである。
同図に示すように、このマルチアクセス装置では、音声通話アプリケーション120がシリアルドライバ130に対してCOM3ポートのオープンを要求する前にアクセスフラグ134の設定を要求する(ステップS301)。なお、音声通話アプリケーション120は、この要求を、DeviceIoControlを用いてシリアルドライバ130に対して直接おこなうことができる。
そして、アクセスフラグ134の設定要求を受けたシリアルドライバ130は、アクセスフラグ134が既に設定されているか否かを調べ(ステップS302)、アクセスフラグ134が設定されていない場合には、アクセスフラグ134を設定する(ステップS303)。そして、処理結果に「正常終了」を設定し(ステップS304)、この処理結果を音声通話アプリケーション120に知らせる(ステップS306)。一方、アクセスフラグ134が既に設定されている場合には、何らかの誤りが発生しているので、処理結果に「異常終了」を設定し(ステップS305)、この処理結果をアプリケーションに知らせる(ステップS306)。
このように、音声通話アプリケーション120が、シリアルドライバ130に対してCOM3ポートのオープンを要求する前にアクセスフラグ134の設定を要求することとしたので、この音声通話アプリケーション120だけが、COM3ポートを介してマルチアクセス通信カード200にアクセスできるように制限することができる。
次に、第2図に示したCOMポートオープン処理ルーチン131の処理手順について説明する。第4図は、第2図に示したCOMポートオープン処理ルーチン131の処理手順を示すフローチャートである。
同図に示すように、このCOMポートオープン処理ルーチン131は、アプリケーションがCOMポートのオープンを要求すると、まずオープンするCOMポートがCOM3ポートであるか否かを調べる(ステップS401)。そして、オープンするCOMポートがCOM3ポートである場合には、アクセスフラグ134が設定されているか否かを調べ(ステップS402)、アクセスフラグ134が設定されている場合には、音声通話アプリケーション120からのCOM3ポートのオープン要求であると判断し、COM3ポートのオープン処理をおこなう(ステップS403)。そして、処理結果に「オープン成功」を設定し(ステップS404)、この処理結果をアプリケーションに知らせる(ステップS406)。
一方、アクセスフラグ134が設定されていない場合には、他のアプリケーションによるCOM3ポートの誤ったオープン要求または不正なオープン要求であると判断し、COM3ポートのオープン処理をおこなうことなく、処理結果に「オープン失敗」を設定し(ステップS405)、この処理結果をアプリケーションに知らせる(ステップS406)。また、オープンするCOMポートがCOM3ポートでない場合には、ステップS403に進んでCOMポートのオープン処理をおこなう。
このように、このCOMポートオープン処理ルーチン131が、アプリケーションからのCOMポートオープン要求に対して、オープンを要求されたCOMポートがCOM3ポートであるか否かを調べ、COM3ポートである場合には、さらにアクセスフラグ134を調べ、アクセスフラグ134が設定されている場合にのみCOM3ポートをオープンすることとしたので、アクセスフラグ134を事前に設定した音声通話アプリケーション120だけにCOM3ポートの使用を制限することができる。
次に、第2図に示したマルチアクセス装置によるアクセスフラグクリア処理の処理手順について説明する。第5図は、第2図に示したマルチアクセス装置によるアクセスフラグクリア処理の処理手順を示すフローチャートである。同図に示すように、このマルチアクセス装置では、音声通話アプリケーション120がCOM3ポートの使用を終了すると、シリアルドライバ130に対して、アクセスフラグ134のクリアを要求する(ステップS501)。なお、音声通話アプリケーション120は、この要求を、アクセスフラグ134の設定要求と同様に、DeviceIoControlを用いてシリアルドライバ130に対して直接おこなうことができる。
そして、アクセスフラグ134のクリア要求を受けたシリアルドライバ130は、アクセスフラグ134が設定されているか否かを調べ(ステップS502)、アクセスフラグ134が設定されている場合には、アクセスフラグ134をクリアする(ステップS503)。そして、処理結果に「正常終了」を設定し(ステップS504)、この処理結果を音声通話アプリケーション120に知らせる(ステップS506)。一方、アクセスフラグ134が設定されていない場合には、アクセスフラグ134のクリア要求に問題があるので、処理結果に「異常終了」を設定し(ステップS505)、この処理結果をアプリケーションに知らせる(ステップS506)。
上述したように、本実施の形態1では、シリアルドライバ130内にCOM3ポートを介したマルチアクセス通信カード200へのアクセスを許可するか否かを示すアクセスフラグ134を設け、マルチアクセス通信カード200にアクセスする音声通話アプリケーション120は、COM3ポートのオープンを要求する前にアクセスフラグ134を設定し、COMポートオープン処理ルーチン131は、アプリケーションからのCOMポートオープン要求に対してアクセスフラグ134を調べ、アクセスフラグ134が設定されている場合にだけCOM3ポートをオープンすることとしたので、音声通話アプリケーション120のみにマルチアクセス通信カード200へのアクセスを許可することができ、このマルチメディア通信カード200への他のアプリケーションからの誤ったアクセスや不正なアクセスを防止することができる。
実施の形態2.
ところで、上記実施の形態1では、COM3ポートを介したマルチアクセス通信カード200へのアクセス許可を示すアクセスフラグ134が設定されているか否かの判定は、COMポートオープン処理ルーチン131がおこなう場合を説明したが、アクセスフラグの判定は、COMポートオープン処理ルーチン131以外でもおこなうことができる。そこで、本実施の形態2では、アクセスフラグの判定をCOMポートのオープン処理時ではなく、COMポートのオープンが成功した後、アプリケーションがマルチアクセス通信カード200へ送付するコマンドレベルでおこなうマルチアクセス装置について説明する。
まず、本実施の形態2に係るCOMポート接続デバイスへのアクセス許可の概念について説明する。第6図は、本実施の形態2に係るCOMポート接続デバイスへのアクセス許可の概念を説明するための説明図である。
同図(a)に示すように、特定アプリケーションは、シリアルドライバに対して、モデムカードを使用するために通常のCOMポートオープンを要求する。そして、COMポートのオープンが成功すると、モデムカードへのコマンドを用いてアクセスフラグの設定をおこなう。なお、ここでは、COMポートのオープン後にアクセスフラグを設定することとしたが、このアクセスフラグの設定はCOMポートのオープンの前におこなうこともできる。
そして、特定アプリケーションがATコマンド等を発行し、ATコマンド等を受け取ったシリアルドライバがアクセスフラグを調べると、アクセスフラグが設定されているので、発行されたコマンドをモデムカードに送り、特定アプリケーションはモデムカードを使って通信をおこなうことができる。
これに対して、同図(b)に示すように、他のアプリケーションがモデムカードに誤ったアクセスや不正なアクセスをしようとした場合には、そのアプリケーションは、シリアルドライバに対してCOMポートのオープンを要求し、COMポートのオープン成功後ATコマンド等を発行する。そして、ATコマンド等を受け取ったシリアルドライバがアクセスフラグを調べると、アクセスフラグが設定されていないので、コマンドエラーをそのアプリケーションに返す。
このように、本実施の形態2では、シリアルドライバ内にモデムカードへのアクセスを許可するか否かを示すアクセスフラグを設け、シリアルドライバは、このアクセスフラグが設定されている場合にだけモデムカードへコマンドを送り、アクセスフラグが未設定の場合にはアプリケーションにコマンドエラーを返すこととしたので、アクセスフラグを事前に設定した特定アプリケーションだけがCOMポートを介してモデムカードにアクセスすることができ、このモデムカードへの他のアプリケーションからの誤ったアクセスや不正なアクセスを防止することができる。
次に、本実施の形態2に係るマルチアクセス装置の構成について説明する。第7図は、本実施の形態2に係るマルチアクセス装置の構成を示す機能ブロック図である。なお、ここでは説明の便宜上、第2図に示した各部と同様の役割を果たす機能部については同一符号を付すこととしてその詳細な説明を省略する。
同図に示すように、このPC100は、ダイアルアップアプリケーション110と、音声通話アプリケーション720と、シリアルドライバ730と、PCカードドライバ140とを有する。
音声通話アプリケーション720は、シリアルドライバ730に対して、COM3ポートのオープンに成功した後、アクセスフラグ設定コマンドを発行する。そして、アクセスフラグを設定した後、ATコマンド等を発行して音声通話を実行する。また、音声通話を終了する場合には、COM3ポートをクローズした後にアクセスフラグクリアコマンドを発行し、アクセスフラグをクリアする。
シリアルドライバ730は、Write処理ルーチン731とCOMポートオープン処理ルーチン732とを有し、また、図示しない割込処理ルーチン、Read処理ルーチン、PnP処理ルーチン、Power処理ルーチンなどを有する。
Write処理ルーチン731は、アプリケーションが発行するコマンドをマルチアクセス通信カード200に送信する処理部であり、アクセスフラグ733を有する。そして、このWrite処理ルーチン731は、アプリケーションが発行するコマンドの送信に使用するCOMポートを判定し、COMポートがCOM3ポートである場合には、アクセスフラグ733を調べ、アクセスフラグ733が設定されている場合にだけアプリケーションが発行するコマンドをマルチアクセス通信カード200に送る。
また、このWrite処理ルーチン731は、アプリケーションが発行するコマンドを調べ、コマンドがアクセスフラグ設定コマンドである場合にはアクセスフラグ733を設定し、コマンドがアクセスフラグクリアコマンドである場合にはアクセスフラグ733をクリアする。
このように、このWrite処理ルーチン731が、アプリケーションがマルチアクセス通信カード200へのコマンドの送信に使用するCOMポートを調べ、COMポートがCOM3ポートである場合には、さらにアクセスフラグ733を調べ、アクセスフラグ733が設定されている場合にだけコマンドをマルチアクセス通信カード200に送ることとしたので、このマルチアクセス通信カード200への他のアプリケーションからの誤ったアクセスや不正なアクセスを防止することができる。
COMポートオープン処理ルーチン732は、COMポートのオープンをおこなう処理部である。ただし、このCOMポートオープン処理ルーチン732は、COMポートオープン処理ルーチン131とは異なり、オープンするCOMポートがCOM3ポートであるか否かの調査や、アクセスフラグが設定されているか否かの調査などの特別な処理はおこなわない。
次に、Write処理ルーチン731の処理手順について説明する。第8図は、Write処理ルーチン731の処理手順を示すフローチャートである。同図に示すように、このWrite処理ルーチン731は、アプリケーションが出力するCOMポートがCOM3ポートであるか否かを調べ(ステップS801)、COM3ポートである場合には、アプリケーションから出力されたマルチアクセス通信カード200へのコマンドを調べる(ステップS802)。
そして、アプリケーションから出力されたコマンドがアクセスフラグ設定コマンドである場合には、さらにアクセスフラグ733が設定されているか否かを調べ(ステップS803)、アクセスフラグ733が設定されていなければ、アクセスフラグ733を設定する(ステップS804)。そして、処理結果に「正常終了」を設定し(ステップS805)、この処理結果をアプリケーションに知らせる(ステップS815)。一方、アクセスフラグ733が設定されていれば、何らかの誤りが発生しているので、処理結果に「異常終了」を設定し(ステップS806)、この処理結果をアプリケーションに知らせる(ステップS815)。
また、アプリケーションから出力されたマルチアクセス通信カード200へのコマンドがアクセスフラグクリアコマンドである場合には、さらにアクセスフラグ733が設定されているか否かを調べ(ステップS807)、アクセスフラグ733が設定されていれば、アクセスフラグ733をクリアし(ステップS808)、処理結果に「正常終了」を設定し(ステップS809)、この処理結果をアプリケーションに知らせる(ステップS815)。一方、アクセスフラグ733が設定されていなければ、処理結果に「異常終了」を設定し(ステップS810)、この処理結果をアプリケーションに知らせる(ステップS815)。
また、アプリケーションから出力されたマルチアクセス通信カード200へのコマンドがその他のコマンド等である場合には、アクセスフラグ733が設定されているか否かを調べ(ステップS811)、アクセスフラグ733が設定されていなければ、マルチアクセス通信カード200への他のアプリケーションからの誤ったアクセスや不正なアクセスであるので、処理結果に「異常終了」を設定し(ステップS812)、この処理結果をアプリケーションに知らせる(ステップS815)。一方、アクセスフラグ733が設定されていれば、音声通話アプリケーション720からCOM3ポートを介したマルチアクセス通信カード200への正しいアクセスであるので、コマンドをマルチアクセス通信カード200へ送付し(ステップS813)、処理結果に「正常終了」を設定し(ステップS814)、この処理結果を音声通話アプリケーション720に知らせる(ステップS815)。
上述したように、本実施の形態2では、音声通話アプリケーション720がシリアルドライバ730に対してマルチアクセス通信カード200へのコマンドを用いてアクセスフラグ設定を要求し、シリアルドライバ730のWrite処理ルーチン731がコマンドを解析してアクセスフラグ733を設定し、アクセスフラグ733設定後、音声通話アプリケーション720がCOM3ポートを介してマルチアクセス通信カード200へのコマンドを発行することとしたので、音声通話アプリケーション720だけがマルチアクセス通信カード200へアクセスすることができ、このマルチアクセス通信カード200への他のアプリケーションからの誤ったアクセスや不正なアクセスを防止することができる。
実施の形態3.
上記実施の形態1および2では、シリアルドライバ内にアクセスフラグを設け、音声通話アプリケーションがこのアクセスフラグを設定した後、COM3ポートを介してマルチアクセス通信カードにアクセスする場合について説明したが、アクセスフラグは、シリアルドライバ内ではなく、マルチアクセス通信カード内に設けることもできる。そこで、本実施の形態3では、アクセスフラグをマルチアクセス通信カード内に設けた場合について説明する。
第9図は、本実施の形態3に係るCOMポート接続デバイスへのアクセス許可の概念を説明するための説明図である。同図(a)に示すように、特定アプリケーションは、シリアルドライバに対して、モデムカードを使用するために通常のCOMポートオープンを要求する。そして、COMポートのオープンが成功すると、モデムカードに対してアクセスフラグ設定コマンドを発行し、アクセスフラグ設定コマンドを受け取ったモデムカードがカード内のアクセスフラグを設定する。
そして、特定アプリケーションがATコマンド等を発行し、ATコマンド等を受け取ったモデムカードがアクセスフラグを調べると、アクセスフラグが設定されているので、発行されたコマンドを実行する。
これに対して、同図(b)に示すように、他のアプリケーションがモデムカードに誤ったアクセスや不正なアクセスをしようとした場合には、そのアプリケーションは、シリアルドライバに対してCOMポートのオープンを要求し、COMポートのオープン成功後ATコマンド等を発行する。そして、ATコマンド等を受けったモデムカードがアクセスフラグを調べると、アクセスフラグが設定されていないのでコマンドエラーをそのアプリケーションに返す。
このように、本実施の形態3では、モデムカード内にアクセスフラグを設け、モデムカードは、このアクセスフラグが設定されている場合にだけアプリケーションから送られたコマンドを実行し、アクセスフラグが未設定の場合にはアプリケーションにコマンドエラーを返すこととしたので、アクセスフラグを事前に設定した特定アプリケーションだけがモデムカードにアクセスすることができ、このモデムカードへの他のアプリケーションからの誤ったアクセスや不正なアクセスを防止することができる。
次に、本実施の形態3に係るマルチアクセス装置の構成について説明する。第10図は、本実施の形態3に係るマルチアクセス装置の構成を示す機能ブロック図である。なお、ここでは説明の便宜上、第2図および第7図に示した各部と同様の役割を果たす機能部については同一符号を付すこととしてその詳細な説明を省略する。
同図に示すように、このマルチアクセス装置は、PC100と、マルチアクセス通信カード1000と、マウス10と、キーボード20と、マイク付イアホン30と、表示装置40とを有する。また、PC100は、ダイアルアップアプリケーション110と、音声通話アプリケーション720と、シリアルドライバ1030と、PCカードドライバ140とを有する。
シリアルドライバ1030は、シリアルドライバ130やシリアルドライバ730とは異なり、COMポートがCOM3ポートであっても特別な処理をおこなうことはない。
マルチアクセス通信カード1000は、二つのCOMポートに加えてコマンド処理ルーチン1010を有する。このコマンド処理ルーチン1010は、アプリケーションが発行するコマンドを解釈実行する処理部であり、アクセスフラグ1011を有する。そして、このコマンド処理ルーチン1010は、アプリケーションが使用するCOMポートを判定し、使用するCOMポートがCOM3ポートである場合には、アクセスフラグ1011を調べ、アクセスフラグ1011が設定されている場合にだけアプリケーションが発行するコマンドを実行する。
また、このコマンド処理ルーチン1010は、アプリケーションが発行するコマンドを調べ、コマンドがアクセスフラグ設定コマンドである場合にはアクセスフラグ1011を設定し、コマンドがアクセスフラグクリアコマンドである場合にはアクセスフラグ1011をクリアする。
このように、このコマンド処理ルーチン1010がアクセスフラグ1011を調べ、アクセスフラグ1011が設定されている場合にだけコマンドを実行することとしたので、マルチアクセス通信カード1000への他のアプリケーションからの誤ったアクセスや不正なアクセスを防止することができる。
上述したように、本実施の形態3では、音声通話アプリケーション720がマルチアクセス通信カード1000に対してコマンドを用いてアクセスフラグ設定を要求し、マルチアクセス通信カード1000のコマンド処理ルーチン1010がコマンドを解析してアクセスフラグ1011を設定し、アクセスフラグ1011設定後、音声通話アプリケーション720がCOM3ポートを介してマルチアクセス通信カード1000へのコマンドを発行することとしたので、音声通話アプリケーション720だけがマルチアクセス通信カード1000へアクセスすることができ、このマルチアクセス通信カード1000への他のアプリケーションからの誤ったアクセスや不正なアクセスを防止することができる。
また、本実施の形態3では、コマンド処理ルーチン1010およびアクセスフラグ1011をマルチアクセス通信カード1000内に設け、マルチアクセス通信カード1000へのアクセス制限をマルチアクセス通信カード1000自身でおこなうこととしたので、シリアルドライバ1030はCOM3ポートに対して特別な処理が不要となり、シリアルドライバの変更を不要とすることができる。
以上説明したように、本発明によれば、アプリケーションのアクセス要求に先立ってアプリケーションからの要求に応答して通信デバイスの利用許可をおこない、利用許可の有無に基づいてアプリケーションから通信デバイスに対するアクセス要求を受け付けるか否かを制御することとしたので、複数のアプリケーションのうちの特定のアプリケーションのみに汎用ポートが割り当てられた通信デバイスへのアクセスを許可し、もってこの通信デバイスへの他のアプリケーションからの誤ったアクセスや不正なアクセスを防止することができるという効果を奏する。
以上のように、本発明に係るアクセス要求制御方法、通信デバイス用ドライバプログラムおよび通信デバイスは、汎用ポートを介した通信を特定のアプリケーションだけが利用できるように制限する必要があるコンピュータシステムに適している。
【書類名】 明細書
【特許請求の範囲】
【請求項1】 少なくとも汎用ポートが割り当てられるとともにアプリケーションからのアクセス要求に応答して通信網を介した通信をおこなう通信デバイスに対する各アプリケーションからのアクセス要求を制御するアクセス要求制御方法であって、
前記アプリケーションのアクセス要求に先立って該アプリケーションからの要求に応答して前記通信デバイスの利用許可をおこなう利用許可工程と、
前記利用許可工程による利用許可の有無に基づいて前記アプリケーションから前記通信デバイスに対するアクセス要求を受け付けるか否かを制御する制御工程と、
を含んだことを特徴とするアクセス要求制御方法。
【請求項2】 前記通信デバイスは、データ通信と音声通話を同時に実行可能な通信デバイスであり、前記利用許可工程は、所定の音声通話アプリケーションに対して該通信デバイスに対する利用許可をおこなうことを特徴とする請求の範囲第1項に記載のアクセス要求制御方法。
【請求項3】 前記利用許可工程は、前記アプリケーションからのアクセスフラグの設定要求に応答して該アプリケーションによる前記通信デバイスに対するアクセス許可を示すアクセスフラグを前記利用許可として設定し、前記制御工程は、前記アプリケーションからアクセス要求を受け付けた際に、当該アプリケーションにアクセスフラグが設定されているか否かに基づいて前記通信デバイスに対するアクセス要求を受け付けるか否かを制御することを特徴とする請求の範囲第1項または第2項に記載のアクセス要求制御方法。
【請求項】 少なくとも汎用ポートが割り当てられるとともにアプリケーションからのアクセス要求に応答して通信網を介した通信をおこなう通信デバイスに対応する通信デバイス用ドライバプログラムであって、
前記アプリケーションのアクセス要求に先立って該アプリケーションからの要求に応答して前記通信デバイスの利用許可をおこなう利用許可手順と、
前記利用許可手順による利用許可の有無に基づいて前記アプリケーションから前記通信デバイスに対するアクセス要求を受け付けるか否かを制御する制御手順と、
をコンピュータで実行することを特徴とする通信デバイス用ドライバプログラム。
【請求項】 少なくとも汎用ポートが割り当てられるとともにアプリケーションからのアクセス要求に応答して通信網を介した通信をおこなう通信デバイスであって、
前記アプリケーションのアクセス要求に先立って該アプリケーションからの要求に応答して利用許可をおこなう利用許可手段と、
前記利用許可手段による利用許可の有無に基づいて前記アプリケーションからアクセス要求を受け付けるか否かを制御する制御手段と、
を備えたことを特徴とする通信デバイス。
【発明の詳細な説明】
【0001】
【技術分野】
この発明は、少なくとも汎用ポートが割り当てられるとともにアプリケーションからのアクセス要求に応答して通信網を介した通信をおこなう通信デバイスに対する各アプリケーションからのアクセス要求を制御するアクセス要求制御方法、通信デバイス用ドライバプログラムおよびに通信デバイスに関し、特に、複数のアプリケーションのうちの特定のアプリケーションのみに汎用ポートが割り当てられた通信デバイスへのアクセスを許可し、もってこの通信デバイスへの他のアプリケーションからの誤ったアクセスや不正なアクセスを防止することができるアクセス要求制御方法、通信デバイス用ドライバプログラムおよび通信デバイスに関するものである。
【0002】
【背景技術】
従来、Windows(登録商標、以下同様)を搭載したパーソナルコンピュータ(以下「PC」と言う)には、汎用ポートであるCOM(Communication)ポート(シリアルポート)が設けられており、このCOMポートには、モデム機能を有するモデムカードや無線通信機能を有する無線通信カードなどのいわゆるPCカードと呼ばれるデバイスが割り当てられる。
【0003】
そして、このCOMポートにPCカードが割り当てられた場合には、Windows上で起動する各種アプリケーションが、かかるCOMポートを介してPCカードにアクセスできるようになる。たとえば、モデムカードがPCに接続されるとともにこのモデムカードがCOM2ポートに割り当てられた場合には、ハイパーターミナル(HyperTerminal)などのモデムを使用する汎用のアプリケーションが、このCOM2ポートを介してモデムカードにアクセスすることが可能となる。
【0004】
しかしながら、かかるCOMポートが汎用ポートであるからと言って、すべてのアプリケーションがCOMポートに割り当てられたPCカードにアクセスできることとすると、あるアプリケーションから誤ってPCカードにアクセスする場合や不正なアプリケーションがPCカードにアクセスする場合に問題が生ずる。具体的には、従来のPCカードおよび該PCカードのデバイスドライバ(シリアルドライバ)では、COMポートを介してPCカードにアクセスするアプリケーションが何であるのかを確認することができないため、PCカードにアクセスさせるべきでないアプリケーションであっても、COMポートを介したPCカードのアクセスを許してしまう結果となる。
【0005】
特に、音声通話とパケット通信を同時におこなうマルチアクセス機能を有するPCカードを考えた場合には深刻な問題が生ずる。具体的には、このPCカードをPCに接続するとともにCOMポートを割り当て、このPCカードのパケット通信を利用してWEB上のホームページを閲覧していた場合に、ホームページからJava(登録商標、以下同様)スクリプトなどで記述された不正なアプリケーションをダウンロードしてしまうと、この不正なアプリケーションの起動により、PCカードを介した自動的なダイアルアップ接続がおこなわれ、後日利用者が意図しない電話料金の課金を強いられる結果となる。
【0006】
したがって、この発明は、複数のアプリケーションのうちの特定のアプリケーションのみに汎用ポートが割り当てられた通信デバイスへのアクセスを許可し、もってこの通信デバイスへの他のアプリケーションからの誤ったアクセスや不正なアクセスを防止することができるアクセス要求制御方法、通信デバイス用ドライバプログラムおよび通信デバイスを提供することを目的とする。
【0007】
【発明の開示】
上述した課題を解決し、目的を達成するため、本発明は、少なくとも汎用ポートが割り当てられるとともにアプリケーションからのアクセス要求に応答して通信網を介した通信をおこなう通信デバイスに対する各アプリケーションからのアクセス要求を制御するアクセス要求制御方法であって、前記アプリケーションのアクセス要求に先立って該アプリケーションからの要求に応答して前記通信デバイスの利用許可をおこなう利用許可工程と、前記利用許可工程による利用許可の有無に基づいて前記アプリケーションから前記通信デバイスに対するアクセス要求を受け付けるか否かを制御する制御工程と、を含んだことを特徴とする。
【0008】
また、本発明は、少なくとも汎用ポートが割り当てられるとともにアプリケーションからのアクセス要求に応答して通信網を介した通信をおこなう通信デバイスに対応する通信デバイス用ドライバプログラムであって、前記アプリケーションのアクセス要求に先立って該アプリケーションからの要求に応答して前記通信デバイスの利用許可をおこなう利用許可手順と、前記利用許可手順による利用許可の有無に基づいて前記アプリケーションから前記通信デバイスに対するアクセス要求を受け付けるか否かを制御する制御手順と、をコンピュータで実行することを特徴とする。
【0009】
また、本発明は、少なくとも汎用ポートが割り当てられるとともにアプリケーションからのアクセス要求に応答して通信網を介した通信をおこなう通信デバイスであって、前記アプリケーションのアクセス要求に先立って該アプリケーションからの要求に応答して利用許可をおこなう利用許可手段と、前記利用許可手段による利用許可の有無に基づいて前記アプリケーションからアクセス要求を受け付けるか否かを制御する制御手段と、を備えたことを特徴とする。
【0010】
かかる発明によれば、アプリケーションのアクセス要求に先立ってアプリケーションからの要求に応答して通信デバイスの利用許可をおこない、利用許可の有無に基づいてアプリケーションから通信デバイスに対するアクセス要求を受け付けるか否かを制御することとしたので、複数のアプリケーションのうちの特定のアプリケーションのみに汎用ポートが割り当てられた通信デバイスへのアクセスを許可し、もってこの通信デバイスへの他のアプリケーションからの誤ったアクセスや不正なアクセスを防止することができる。
【0011】
【発明を実施するための最良の形態】
以下、添付図面を参照して、この発明に係るアクセス要求制御方法、通信デバイス用ドライバプログラム、および通信デバイスの好適な実施の形態を詳細に説明する。
【0012】
実施の形態1.
まず、本実施の形態1に係るCOMポート接続デバイスへのアクセス許可の概念について説明する。第1図は、本実施の形態1に係るCOMポート接続デバイスへのアクセス許可の概念を説明するための説明図である。同図において、アクセスフラグは、COMポートを介したモデムカードへのアプリケーションからのアクセスを許可するか否かを示すフラグであり、このアクセスフラグが設定されている場合には、モデムカードへのアプリケーションからのアクセスが許可され、このアクセスフラグが未設定の場合には、モデムカードへのアプリケーションからのアクセスは許可されない。
【0013】
すなわち、同図(a)に示すように、特定アプリケーションは、シリアルドライバに対して、モデムカードを使用するためにCOMポートのオープンを要求する前に、専用インタフェース(I/F)を用いてアクセスフラグ設定要求をおこなう。そして、アクセスフラグ設定後、特定アプリケーションがCOMポートのオープンを要求し、シリアルドライバがアクセスフラグを調べると、アクセスフラグが設定されているので、COMポートのオープン処理をおこない、COMポートのオープンが成功したことを特定アプリケーションに知らせる。そして、特定アプリケーションはATコマンド等を発行し、モデムカードを使って通信を開始することができる。
【0014】
これに対して、同図(b)に示すように、他のアプリケーションがモデムカードに誤ったアクセスや不正なアクセスをしようとした場合には、そのアプリケーションがシリアルドライバに対してCOMポートのオープンを要求し、シリアルドライバがアクセスフラグを調べると、アクセスフラグが設定されていないので、COMポートのオープン処理をおこなうことなく、COMポートのオープンが失敗したことをそのアプリケーションに伝える。
【0015】
このように、本実施の形態1では、シリアルドライバ内にモデムカードへのアクセスを許可するか否かを示すアクセスフラグを設け、このアクセスフラグが設定されている場合にだけCOMポートのオープンが成功することとしたので、アクセスフラグを事前に設定した特定アプリケーションだけがCOMポートを介してモデムカードにアクセスすることができ、このモデムカードへの他のアプリケーションからの誤ったアクセスや不正なアクセスを防止することができる。
【0016】
次に、本実施の形態1に係るマルチアクセス装置の構成について説明する。ここで、マルチアクセス装置とは、音声通話とパケット通信を同時におこなうことができる装置である。第2図は、本実施の形態1に係るマルチアクセス装置の構成を示す機能ブロック図である。同図に示すように、このマルチアクセス装置は、PC100と、マルチアクセス通信カード200と、マウス10と、キーボード20と、マイク付イアホン30と、表示装置40とを有する。
【0017】
PC100は、Windowsを搭載したコンピュータであり、マルチアクセス通信カード200を用いてマルチアクセス機能を実現する。具体的には、データ通信アプリケーションと音声通話のアプリケーションを同時に実行し、マルチアクセス機能を実現する。
【0018】
マルチアクセス通信カード200は、PC100が移動体通信網を用いてパケット通信と音声通話を同時におこなうことを可能とするPCカードであり、モデムおよびモデムに接続する二つのCOMポートを有する。なお、ここでは、これら二つのCOMポートをCOM2ポートおよびCOM3ポートとし、パケット通信にはCOM2ポートを、音声通話にはCOM3ポートを使用することとする。また、COM3ポートを介したマルチアクセス通信カード200へのアクセスは、音声通話をおこなうアプリケーションだけに制限する。その理由は、このマルチアクセス通信カード200への他のアプリケーションからの誤ったアクセスや不正なアクセスによって電話接続が自動的におこなわれ、利用者の意図しない電話接続がおこなわれてしまうことを防ぐためである。
【0019】
マウス10は、表示画面上の任意の場所を指定するための装置であり、アプリケーションウィンドウの選択、メニューの選択などに使われ、キーボード20は、PC100への処理の指示およびデータの入力をおこなうための装置であり、メイル、URL、電話番号などの入力に使われる。
【0020】
マイク付イアホン30は、PC100との間で音声入出力をおこなうための装置であり、音声通話のアプリケーションとの音声入出力に使われ、表示装置40は、PC100の出力を表示する装置であり、メイルの表示、Web画面の表示、音声通話画面の表示などに使われる。
【0021】
次にPC100の構成について説明する。第2図に示すように、PC100は、ダイアルアップアプリケーション110と、音声通話アプリケーション120と、シリアルドライバ130と、PCカードドライバ140とを有する。なお、このPC100は、図示していないが、ダイアルアップ接続を使用するWebブラウザ、メイルソフトなどのアプリケーションプログラム、ダイアルアップ接続のためのTCP/IP、PPPなどの通信ライブラリ、マイク付イアホン30のデバイスドライバなどのプログラムを有する。
【0022】
ダイアルアップアプリケーション110は、ダイアルアップ接続をおこなうためのアプリケーションであり、マルチアクセス通信カード200のCOM2ポートを用いてデータ通信をおこなう。
【0023】
音声通話アプリケーション120は、マイク付イアホン30を用いて音声通話をおこなうためのアプリケーションであり、マルチアクセス通信カード200のCOM3ポートを介してモデムとの通信をおこなう。この音声通話アプリケーション120は、シリアルドライバ130に対して、COM3ポートのオープン要求をおこなう前に、COM3ポートへのアクセスを許可するか否かを示すアクセスフラグの設定要求をおこなう。また、この音声通話アプリケーション120は、COM3ポートをクローズした後に、アクセスフラグのクリア要求をおこなう。
【0024】
シリアルドライバ130は、ダイアルアップアプリケーション110および音声通話アプリケーション120がCOMポートを介してマルチアクセス通信カード200とシリアル通信をおこなうための処理部であり、COMポートオープン処理ルーチン131と、アクセスフラグ設定処理ルーチン132と、アクセスフラグクリア処理ルーチン133と、アクセスフラグ134とを有する。なお、このシリアルドライバ130は、図示していないが、マルチアクセス通信カード200からの割込みを処理する割込処理ルーチン、マルチアクセス通信カード200とのデータ授受をおこなうためのRead処理ルーチンおよびWrite処理ルーチン、プラグアンドプレイ機能を実現するためのPnP処理ルーチン、電源管理をおこなうためのPower処理ルーチンなどを有する。
【0025】
COMポートオープン処理ルーチン131は、アプリケーションからの要求に応じてCOMポートをオープンする処理部であり、オープンするCOMポートがCOM3ポートであるか否かを判定し、COM3ポートであれば、アクセスフラグ134が設定されている場合にだけオープン処理をおこなう。一方、オープンするCOMポートがCOM3ポートでない場合には、無条件でオープン処理をおこなう。
【0026】
このように、このCOMポートオープン処理ルーチン131がアクセスフラグ134を調べ、アクセスフラグ134が設定されている場合にだけCOM3ポートのオープン処理をおこなうこととしたので、COM3ポートを介したマルチアクセス通信カード200への他のアプリケーションからの誤ったアクセスや不正なアクセスを防止することができる。
【0027】
アクセスフラグ設定処理ルーチン132は、アクセスフラグ134を設定する処理部であり、音声通話アプリケーション120によって使用される。具体的には、このアクセスフラグ設定処理ルーチン132は、DeviceIoControlを用いて呼び出される。
【0028】
アクセスフラグクリア処理ルーチン133は、アクセスフラグ134をクリアする処理部であり、音声通話アプリケーション120によって使用される。このアクセスフラグクリア処理ルーチン133は、アクセスフラグ設定処理ルーチン132と同様に、DeviceIoControlを用いて呼び出される。
【0029】
アクセスフラグ134は、COM3ポートを介したマルチアクセス通信カード200へのアクセスを許可するか否かを記憶した記憶部であり、このアクセスフラグ134が設定されている場合には、マルチアクセス通信カード200へのアクセスが許可され、このアクセスフラグ134が未設定の場合には、マルチアクセス通信カード200へのアクセスは許可されない。このアクセスフラグ134がCOM3ポートを介したマルチアクセス通信カード200へのアクセス可否を記憶することにより、音声通話アプリケーション120だけがCOM3ポートを介してマルチアクセス通信カード200にアクセスできるように制御することができる。
【0030】
PCカードドライバ140は、アプリケーションがPCカードを利用できるようにPCカードを管理する処理部であり、具体的には、PCカードスロットの状態や割込みレベルなどを管理する。
【0031】
次に、第2図に示したマルチアクセス装置によるアクセスフラグ設定処理の処理手順について説明する。第3図は、第2図に示したマルチアクセス装置によるアクセスフラグ設定処理の処理手順を示すフローチャートである。
【0032】
同図に示すように、このマルチアクセス装置では、音声通話アプリケーション120がシリアルドライバ130に対してCOM3ポートのオープンを要求する前にアクセスフラグ134の設定を要求する(ステップS301)。なお、音声通話アプリケーション120は、この要求を、DeviceIoControlを用いてシリアルドライバ130に対して直接おこなうことができる。
【0033】
そして、アクセスフラグ134の設定要求を受けたシリアルドライバ130は、アクセスフラグ134が既に設定されているか否かを調べ(ステップS302)、アクセスフラグ134が設定されていない場合には、アクセスフラグ134を設定する(ステップS303)。そして、処理結果に「正常終了」を設定し(ステップS304)、この処理結果を音声通話アプリケーション120に知らせる(ステップS306)。一方、アクセスフラグ134が既に設定されている場合には、何らかの誤りが発生しているので、処理結果に「異常終了」を設定し(ステップS305)、この処理結果をアプリケーションに知らせる(ステップS306)。
【0034】
このように、音声通話アプリケーション120が、シリアルドライバ130に対してCOM3ポートのオープンを要求する前にアクセスフラグ134の設定を要求することとしたので、この音声通話アプリケーション120だけが、COM3ポートを介してマルチアクセス通信カード200にアクセスできるように制限することができる。
【0035】
次に、第2図に示したCOMポートオープン処理ルーチン131の処理手順について説明する。第4図は、第2図に示したCOMポートオープン処理ルーチン131の処理手順を示すフローチャートである。
【0036】
同図に示すように、このCOMポートオープン処理ルーチン131は、アプリケーションがCOMポートのオープンを要求すると、まずオープンするCOMポートがCOM3ポートであるか否かを調べる(ステップS401)。そして、オープンするCOMポートがCOM3ポートである場合には、アクセスフラグ134が設定されているか否かを調べ(ステップS402)、アクセスフラグ134が設定されている場合には、音声通話アプリケーション120からのCOM3ポートのオープン要求であると判断し、COM3ポートのオープン処理をおこなう(ステップS403)。そして、処理結果に「オープン成功」を設定し(ステップS404)、この処理結果をアプリケーションに知らせる(ステップS406)。
【0037】
一方、アクセスフラグ134が設定されていない場合には、他のアプリケーションによるCOM3ポートの誤ったオープン要求または不正なオープン要求であると判断し、COM3ポートのオープン処理をおこなうことなく、処理結果に「オープン失敗」を設定し(ステップS405)、この処理結果をアプリケーションに知らせる(ステップS406)。また、オープンするCOMポートがCOM3ポートでない場合には、ステップS403に進んでCOMポートのオープン処理をおこなう。
【0038】
このように、このCOMポートオープン処理ルーチン131が、アプリケーションからのCOMポートオープン要求に対して、オープンを要求されたCOMポートがCOM3ポートであるか否かを調べ、COM3ポートである場合には、さらにアクセスフラグ134を調べ、アクセスフラグ134が設定されている場合にのみCOM3ポートをオープンすることとしたので、アクセスフラグ134を事前に設定した音声通話アプリケーション120だけにCOM3ポートの使用を制限することができる。
【0039】
次に、第2図に示したマルチアクセス装置によるアクセスフラグクリア処理の処理手順について説明する。第5図は、第2図に示したマルチアクセス装置によるアクセスフラグクリア処理の処理手順を示すフローチャートである。同図に示すように、このマルチアクセス装置では、音声通話アプリケーション120がCOM3ポートの使用を終了すると、シリアルドライバ130に対して、アクセスフラグ134のクリアを要求する(ステップS501)。なお、音声通話アプリケーション120は、この要求を、アクセスフラグ134の設定要求と同様に、DeviceIoControlを用いてシリアルドライバ130に対して直接おこなうことができる。
【0040】
そして、アクセスフラグ134のクリア要求を受けたシリアルドライバ130は、アクセスフラグ134が設定されているか否かを調べ(ステップS502)、アクセスフラグ134が設定されている場合には、アクセスフラグ134をクリアする(ステップS503)。そして、処理結果に「正常終了」を設定し(ステップS504)、この処理結果を音声通話アプリケーション120に知らせる(ステップS506)。一方、アクセスフラグ134が設定されていない場合には、アクセスフラグ134のクリア要求に問題があるので、処理結果に「異常終了」を設定し(ステップS505)、この処理結果をアプリケーションに知らせる(ステップS506)。
【0041】
上述したように、本実施の形態1では、シリアルドライバ130内にCOM3ポートを介したマルチアクセス通信カード200へのアクセスを許可するか否かを示すアクセスフラグ134を設け、マルチアクセス通信カード200にアクセスする音声通話アプリケーション120は、COM3ポートのオープンを要求する前にアクセスフラグ134を設定し、COMポートオープン処理ルーチン131は、アプリケーションからのCOMポートオープン要求に対してアクセスフラグ134を調べ、アクセスフラグ134が設定されている場合にだけCOM3ポートをオープンすることとしたので、音声通話アプリケーション120のみにマルチアクセス通信カード200へのアクセスを許可することができ、このマルチメディア通信カード200への他のアプリケーションからの誤ったアクセスや不正なアクセスを防止することができる。
【0042】
実施の形態2.
ところで、上記実施の形態1では、COM3ポートを介したマルチアクセス通信カード200へのアクセス許可を示すアクセスフラグ134が設定されているか否かの判定は、COMポートオープン処理ルーチン131がおこなう場合を説明したが、アクセスフラグの判定は、COMポートオープン処理ルーチン131以外でもおこなうことができる。そこで、本実施の形態2では、アクセスフラグの判定をCOMポートのオープン処理時ではなく、COMポートのオープンが成功した後、アプリケーションがマルチアクセス通信カード200へ送付するコマンドレベルでおこなうマルチアクセス装置について説明する。
【0043】
まず、本実施の形態2に係るCOMポート接続デバイスへのアクセス許可の概念について説明する。第6図は、本実施の形態2に係るCOMポート接続デバイスへのアクセス許可の概念を説明するための説明図である。
【0044】
同図(a)に示すように、特定アプリケーションは、シリアルドライバに対して、モデムカードを使用するために通常のCOMポートオープンを要求する。そして、COMポートのオープンが成功すると、モデムカードへのコマンドを用いてアクセスフラグの設定をおこなう。なお、ここでは、COMポートのオープン後にアクセスフラグを設定することとしたが、このアクセスフラグの設定はCOMポートのオープンの前におこなうこともできる。
【0045】
そして、特定アプリケーションがATコマンド等を発行し、ATコマンド等を受け取ったシリアルドライバがアクセスフラグを調べると、アクセスフラグが設定されているので、発行されたコマンドをモデムカードに送り、特定アプリケーションはモデムカードを使って通信をおこなうことができる。
【0046】
これに対して、同図(b)に示すように、他のアプリケーションがモデムカードに誤ったアクセスや不正なアクセスをしようとした場合には、そのアプリケーションは、シリアルドライバに対してCOMポートのオープンを要求し、COMポートのオープン成功後ATコマンド等を発行する。そして、ATコマンド等を受け取ったシリアルドライバがアクセスフラグを調べると、アクセスフラグが設定されていないので、コマンドエラーをそのアプリケーションに返す。
【0047】
このように、本実施の形態2では、シリアルドライバ内にモデムカードへのアクセスを許可するか否かを示すアクセスフラグを設け、シリアルドライバは、このアクセスフラグが設定されている場合にだけモデムカードへコマンドを送り、アクセスフラグが未設定の場合にはアプリケーションにコマンドエラーを返すこととしたので、アクセスフラグを事前に設定した特定アプリケーションだけがCOMポートを介してモデムカードにアクセスすることができ、このモデムカードへの他のアプリケーションからの誤ったアクセスや不正なアクセスを防止することができる。
【0048】
次に、本実施の形態2に係るマルチアクセス装置の構成について説明する。第7図は、本実施の形態2に係るマルチアクセス装置の構成を示す機能ブロック図である。なお、ここでは説明の便宜上、第2図に示した各部と同様の役割を果たす機能部については同一符号を付すこととしてその詳細な説明を省略する。
【0049】
同図に示すように、このPC100は、ダイアルアップアプリケーション110と、音声通話アプリケーション720と、シリアルドライバ730と、PCカードドライバ140とを有する。
【0050】
音声通話アプリケーション720は、シリアルドライバ730に対して、COM3ポートのオープンに成功した後、アクセスフラグ設定コマンドを発行する。そして、アクセスフラグを設定した後、ATコマンド等を発行して音声通話を実行する。また、音声通話を終了する場合には、COM3ポートをクローズした後にアクセスフラグクリアコマンドを発行し、アクセスフラグをクリアする。
【0051】
シリアルドライバ730は、Write処理ルーチン731とCOMポートオープン処理ルーチン732とを有し、また、図示しない割込処理ルーチン、Read処理ルーチン、PnP処理ルーチン、Power処理ルーチンなどを有する。
【0052】
Write処理ルーチン731は、アプリケーションが発行するコマンドをマルチアクセス通信カード200に送信する処理部であり、アクセスフラグ733を有する。そして、このWrite処理ルーチン731は、アプリケーションが発行するコマンドの送信に使用するCOMポートを判定し、COMポートがCOM3ポートである場合には、アクセスフラグ733を調べ、アクセスフラグ733が設定されている場合にだけアプリケーションが発行するコマンドをマルチアクセス通信カード200に送る。
【0053】
また、このWrite処理ルーチン731は、アプリケーションが発行するコマンドを調べ、コマンドがアクセスフラグ設定コマンドである場合にはアクセスフラグ733を設定し、コマンドがアクセスフラグクリアコマンドである場合にはアクセスフラグ733をクリアする。
【0054】
このように、このWrite処理ルーチン731が、アプリケーションがマルチアクセス通信カード200へのコマンドの送信に使用するCOMポートを調べ、COMポートがCOM3ポートである場合には、さらにアクセスフラグ733を調べ、アクセスフラグ733が設定されている場合にだけコマンドをマルチアクセス通信カード200に送ることとしたので、このマルチアクセス通信カード200への他のアプリケーションからの誤ったアクセスや不正なアクセスを防止することができる。
【0055】
COMポートオープン処理ルーチン732は、COMポートのオープンをおこなう処理部である。ただし、このCOMポートオープン処理ルーチン732は、COMポートオープン処理ルーチン131とは異なり、オープンするCOMポートがCOM3ポートであるか否かの調査や、アクセスフラグが設定されているか否かの調査などの特別な処理はおこなわない。
【0056】
次に、Write処理ルーチン731の処理手順について説明する。第8図は、Write処理ルーチン731の処理手順を示すフローチャートである。同図に示すように、このWrite処理ルーチン731は、アプリケーションが出力するCOMポートがCOM3ポートであるか否かを調べ(ステップS801)、COM3ポートである場合には、アプリケーションから出力されたマルチアクセス通信カード200へのコマンドを調べる(ステップS802)。
【0057】
そして、アプリケーションから出力されたコマンドがアクセスフラグ設定コマンドである場合には、さらにアクセスフラグ733が設定されているか否かを調べ(ステップS803)、アクセスフラグ733が設定されていなければ、アクセスフラグ733を設定する(ステップS804)。そして、処理結果に「正常終了」を設定し(ステップS805)、この処理結果をアプリケーションに知らせる(ステップS815)。一方、アクセスフラグ733が設定されていれば、何らかの誤りが発生しているので、処理結果に「異常終了」を設定し(ステップS806)、この処理結果をアプリケーションに知らせる(ステップS815)。
【0058】
また、アプリケーションから出力されたマルチアクセス通信カード200へのコマンドがアクセスフラグクリアコマンドである場合には、さらにアクセスフラグ733が設定されているか否かを調べ(ステップS807)、アクセスフラグ733が設定されていれば、アクセスフラグ733をクリアし(ステップS808)、処理結果に「正常終了」を設定し(ステップS809)、この処理結果をアプリケーションに知らせる(ステップS815)。一方、アクセスフラグ733が設定されていなければ、処理結果に「異常終了」を設定し(ステップS810)、この処理結果をアプリケーションに知らせる(ステップS815)。
【0059】
また、アプリケーションから出力されたマルチアクセス通信カード200へのコマンドがその他のコマンド等である場合には、アクセスフラグ733が設定されているか否かを調べ(ステップS811)、アクセスフラグ733が設定されていなければ、マルチアクセス通信カード200への他のアプリケーションからの誤ったアクセスや不正なアクセスであるので、処理結果に「異常終了」を設定し(ステップS812)、この処理結果をアプリケーションに知らせる(ステップS815)。一方、アクセスフラグ733が設定されていれば、音声通話アプリケーション720からCOM3ポートを介したマルチアクセス通信カード200への正しいアクセスであるので、コマンドをマルチアクセス通信カード200へ送付し(ステップS813)、処理結果に「正常終了」を設定し(ステップS814)、この処理結果を音声通話アプリケーション720に知らせる(ステップS815)。
【0060】
上述したように、本実施の形態2では、音声通話アプリケーション720がシリアルドライバ730に対してマルチアクセス通信カード200へのコマンドを用いてアクセスフラグ設定を要求し、シリアルドライバ730のWrite処理ルーチン731がコマンドを解析してアクセスフラグ733を設定し、アクセスフラグ733設定後、音声通話アプリケーション720がCOM3ポートを介してマルチアクセス通信カード200へのコマンドを発行することとしたので、音声通話アプリケーション720だけがマルチアクセス通信カード200へアクセスすることができ、このマルチアクセス通信カード200への他のアプリケーションからの誤ったアクセスや不正なアクセスを防止することができる。
【0061】
実施の形態3.
上記実施の形態1および2では、シリアルドライバ内にアクセスフラグを設け、音声通話アプリケーションがこのアクセスフラグを設定した後、COM3ポートを介してマルチアクセス通信カードにアクセスする場合について説明したが、アクセスフラグは、シリアルドライバ内ではなく、マルチアクセス通信カード内に設けることもできる。そこで、本実施の形態3では、アクセスフラグをマルチアクセス通信カード内に設けた場合について説明する。
【0062】
第9図は、本実施の形態3に係るCOMポート接続デバイスへのアクセス許可の概念を説明するための説明図である。同図(a)に示すように、特定アプリケーションは、シリアルドライバに対して、モデムカードを使用するために通常のCOMポートオープンを要求する。そして、COMポートのオープンが成功すると、モデムカードに対してアクセスフラグ設定コマンドを発行し、アクセスフラグ設定コマンドを受け取ったモデムカードがカード内のアクセスフラグを設定する。
【0063】
そして、特定アプリケーションがATコマンド等を発行し、ATコマンド等を受け取ったモデムカードがアクセスフラグを調べると、アクセスフラグが設定されているので、発行されたコマンドを実行する。
【0064】
これに対して、同図(b)に示すように、他のアプリケーションがモデムカードに誤ったアクセスや不正なアクセスをしようとした場合には、そのアプリケーションは、シリアルドライバに対してCOMポートのオープンを要求し、COMポートのオープン成功後ATコマンド等を発行する。そして、ATコマンド等を受けったモデムカードがアクセスフラグを調べると、アクセスフラグが設定されていないのでコマンドエラーをそのアプリケーションに返す。
【0065】
このように、本実施の形態3では、モデムカード内にアクセスフラグを設け、モデムカードは、このアクセスフラグが設定されている場合にだけアプリケーションから送られたコマンドを実行し、アクセスフラグが未設定の場合にはアプリケーションにコマンドエラーを返すこととしたので、アクセスフラグを事前に設定した特定アプリケーションだけがモデムカードにアクセスすることができ、このモデムカードへの他のアプリケーションからの誤ったアクセスや不正なアクセスを防止することができる。
【0066】
次に、本実施の形態3に係るマルチアクセス装置の構成について説明する。第10図は、本実施の形態3に係るマルチアクセス装置の構成を示す機能ブロック図である。なお、ここでは説明の便宜上、第2図および第7図に示した各部と同様の役割を果たす機能部については同一符号を付すこととしてその詳細な説明を省略する。
【0067】
同図に示すように、このマルチアクセス装置は、PC100と、マルチアクセス通信カード1000と、マウス10と、キーボード20と、マイク付イアホン30と、表示装置40とを有する。また、PC100は、ダイアルアップアプリケーション110と、音声通話アプリケーション720と、シリアルドライバ1030と、PCカードドライバ140とを有する。
【0068】
シリアルドライバ1030は、シリアルドライバ130やシリアルドライバ730とは異なり、COMポートがCOM3ポートであっても特別な処理をおこなうことはない。
【0069】
マルチアクセス通信カード1000は、二つのCOMポートに加えてコマンド処理ルーチン1010を有する。このコマンド処理ルーチン1010は、アプリケーションが発行するコマンドを解釈実行する処理部であり、アクセスフラグ1011を有する。そして、このコマンド処理ルーチン1010は、アプリケーションが使用するCOMポートを判定し、使用するCOMポートがCOM3ポートである場合には、アクセスフラグ1011を調べ、アクセスフラグ1011が設定されている場合にだけアプリケーションが発行するコマンドを実行する。
【0070】
また、このコマンド処理ルーチン1010は、アプリケーションが発行するコマンドを調べ、コマンドがアクセスフラグ設定コマンドである場合にはアクセスフラグ1011を設定し、コマンドがアクセスフラグクリアコマンドである場合にはアクセスフラグ1011をクリアする。
【0071】
このように、このコマンド処理ルーチン1010がアクセスフラグ1011を調べ、アクセスフラグ1011が設定されている場合にだけコマンドを実行することとしたので、マルチアクセス通信カード1000への他のアプリケーションからの誤ったアクセスや不正なアクセスを防止することができる。
【0072】
上述したように、本実施の形態3では、音声通話アプリケーション720がマルチアクセス通信カード1000に対してコマンドを用いてアクセスフラグ設定を要求し、マルチアクセス通信カード1000のコマンド処理ルーチン1010がコマンドを解析してアクセスフラグ1011を設定し、アクセスフラグ1011設定後、音声通話アプリケーション720がCOM3ポートを介してマルチアクセス通信カード1000へのコマンドを発行することとしたので、音声通話アプリケーション720だけがマルチアクセス通信カード1000へアクセスすることができ、このマルチアクセス通信カード1000への他のアプリケーションからの誤ったアクセスや不正なアクセスを防止することができる。
【0073】
また、本実施の形態3では、コマンド処理ルーチン1010およびアクセスフラグ1011をマルチアクセス通信カード1000内に設け、マルチアクセス通信カード1000へのアクセス制限をマルチアクセス通信カード1000自身でおこなうこととしたので、シリアルドライバ1030はCOM3ポートに対して特別な処理が不要となり、シリアルドライバの変更を不要とすることができる。
【0074】
以上説明したように、本発明によれば、アプリケーションのアクセス要求に先立ってアプリケーションからの要求に応答して通信デバイスの利用許可をおこない、利用許可の有無に基づいてアプリケーションから通信デバイスに対するアクセス要求を受け付けるか否かを制御することとしたので、複数のアプリケーションのうちの特定のアプリケーションのみに汎用ポートが割り当てられた通信デバイスへのアクセスを許可し、もってこの通信デバイスへの他のアプリケーションからの誤ったアクセスや不正なアクセスを防止することができるという効果を奏する。
【0075】
【産業上の利用可能性】
以上のように、本発明に係るアクセス要求制御方法、通信デバイス用ドライバプログラムおよび通信デバイスは、汎用ポートを介した通信を特定のアプリケーションだけが利用できるように制限する必要があるコンピュータシステムに適している。
【0076】
【図面の簡単な説明】
【図1】
第1図は、本実施の形態1に係るCOMポート接続デバイスへのアクセス許可の概念を説明するための説明図である。
【図2】
第2図は、本実施の形態1に係るマルチアクセス装置の構成を示す機能ブロック図である。
【図3】
第3図は、第2図に示したマルチアクセス装置によるアクセスフラグ設定処理の処理手順を示すフローチャートである。
【図4】
第4図は、第2図に示したCOMポートオープン処理ルーチンの処理手順を示すフローチャートである。
【図5】
第5図は、第2図に示したマルチアクセス装置によるアクセスフラグクリア処理の処理手順を示すフローチャートである。
【図6】
第6図は、本実施の形態2に係るCOMポート接続デバイスへのアクセス許可の概念を説明するための説明図である。
【図7】
第7図は、本実施の形態2に係るマルチアクセス装置の構成を示す機能ブロック図である。
【図8】
第8図は、Write処理ルーチンの処理手順を示すフローチャート図である。
【図9】
第9図は、本実施の形態3に係るCOMポート接続デバイスへのアクセス許可の概念を説明するための説明図である。
【図10】
第10図は、本実施の形態3に係るマルチアクセス装置の構成を示す機能ブロック図である。
この発明は、少なくとも汎用ポートが割り当てられるとともにアプリケーションからのアクセス要求に応答して通信網を介した通信をおこなう通信デバイスに対する各アプリケーションからのアクセス要求を制御するアクセス要求制御方法、通信デバイス用ドライバプログラムおよびに通信デバイスに関し、特に、複数のアプリケーションのうちの特定のアプリケーションのみに汎用ポートが割り当てられた通信デバイスへのアクセスを許可し、もってこの通信デバイスへの他のアプリケーションからの誤ったアクセスや不正なアクセスを防止することができるアクセス要求制御方法、通信デバイス用ドライバプログラムおよび通信デバイスに関するものである。
従来、Windows(登録商標、以下同様)を搭載したパーソナルコンピュータ(以下「PC」と言う)には、汎用ポートであるCOM(Communication)ポート(シリアルポート)が設けられており、このCOMポートには、モデム機能を有するモデムカードや無線通信機能を有する無線通信カードなどのいわゆるPCカードと呼ばれるデバイスが割り当てられる。
そして、このCOMポートにPCカードが割り当てられた場合には、Windows上で起動する各種アプリケーションが、かかるCOMポートを介してPCカードにアクセスできるようになる。たとえば、モデムカードがPCに接続されるとともにこのモデムカードがCOM2ポートに割り当てられた場合には、ハイパーターミナル(HyperTerminal)などのモデムを使用する汎用のアプリケーションが、このCOM2ポートを介してモデムカードにアクセスすることが可能となる。
しかしながら、かかるCOMポートが汎用ポートであるからと言って、すべてのアプリケーションがCOMポートに割り当てられたPCカードにアクセスできることとすると、あるアプリケーションから誤ってPCカードにアクセスする場合や不正なアプリケーションがPCカードにアクセスする場合に問題が生ずる。具体的には、従来のPCカードおよび該PCカードのデバイスドライバ(シリアルドライバ)では、COMポートを介してPCカードにアクセスするアプリケーションが何であるのかを確認することができないため、PCカードにアクセスさせるべきでないアプリケーションであっても、COMポートを介したPCカードのアクセスを許してしまう結果となる。
特に、音声通話とパケット通信を同時におこなうマルチアクセス機能を有するPCカードを考えた場合には深刻な問題が生ずる。具体的には、このPCカードをPCに接続するとともにCOMポートを割り当て、このPCカードのパケット通信を利用してWEB上のホームページを閲覧していた場合に、ホームページからJava(登録商標、以下同様)スクリプトなどで記述された不正なアプリケーションをダウンロードしてしまうと、この不正なアプリケーションの起動により、PCカードを介した自動的なダイアルアップ接続がおこなわれ、後日利用者が意図しない電話料金の課金を強いられる結果となる。
したがって、この発明は、複数のアプリケーションのうちの特定のアプリケーションのみに汎用ポートが割り当てられた通信デバイスへのアクセスを許可し、もってこの通信デバイスへの他のアプリケーションからの誤ったアクセスや不正なアクセスを防止することができるアクセス要求制御方法、通信デバイス用ドライバプログラムおよび通信デバイスを提供することを目的とする。
上述した課題を解決し、目的を達成するため、本発明は、少なくとも汎用ポートが割り当てられるとともにアプリケーションからのアクセス要求に応答して通信網を介した通信をおこなう通信デバイスに対する各アプリケーションからのアクセス要求を制御するアクセス要求制御方法であって、前記アプリケーションのアクセス要求に先立って該アプリケーションからの要求に応答して前記通信デバイスの利用許可をおこなう利用許可工程と、前記利用許可工程による利用許可の有無に基づいて前記アプリケーションから前記通信デバイスに対するアクセス要求を受け付けるか否かを制御する制御工程と、を含んだことを特徴とする。
また、本発明は、少なくとも汎用ポートが割り当てられるとともにアプリケーションからのアクセス要求に応答して通信網を介した通信をおこなう通信デバイスに対応する通信デバイス用ドライバプログラムであって、前記アプリケーションのアクセス要求に先立って該アプリケーションからの要求に応答して前記通信デバイスの利用許可をおこなう利用許可手順と、前記利用許可手順による利用許可の有無に基づいて前記アプリケーションから前記通信デバイスに対するアクセス要求を受け付けるか否かを制御する制御手順と、をコンピュータで実行することを特徴とする。
また、本発明は、少なくとも汎用ポートが割り当てられるとともにアプリケーションからのアクセス要求に応答して通信網を介した通信をおこなう通信デバイスであって、前記アプリケーションのアクセス要求に先立って該アプリケーションからの要求に応答して利用許可をおこなう利用許可手段と、前記利用許可手段による利用許可の有無に基づいて前記アプリケーションからアクセス要求を受け付けるか否かを制御する制御手段と、を備えたことを特徴とする。
かかる発明によれば、アプリケーションのアクセス要求に先立ってアプリケーションからの要求に応答して通信デバイスの利用許可をおこない、利用許可の有無に基づいてアプリケーションから通信デバイスに対するアクセス要求を受け付けるか否かを制御することとしたので、複数のアプリケーションのうちの特定のアプリケーションのみに汎用ポートが割り当てられた通信デバイスへのアクセスを許可し、もってこの通信デバイスへの他のアプリケーションからの誤ったアクセスや不正なアクセスを防止することができる。
以下、添付図面を参照して、この発明に係るアクセス要求制御方法、通信デバイス用ドライバプログラム、および通信デバイスの好適な実施の形態を詳細に説明する。
実施の形態1.
まず、本実施の形態1に係るCOMポート接続デバイスへのアクセス許可の概念について説明する。第1図は、本実施の形態1に係るCOMポート接続デバイスへのアクセス許可の概念を説明するための説明図である。同図において、アクセスフラグは、COMポートを介したモデムカードへのアプリケーションからのアクセスを許可するか否かを示すフラグであり、このアクセスフラグが設定されている場合には、モデムカードへのアプリケーションからのアクセスが許可され、このアクセスフラグが未設定の場合には、モデムカードへのアプリケーションからのアクセスは許可されない。
すなわち、同図(a)に示すように、特定アプリケーションは、シリアルドライバに対して、モデムカードを使用するためにCOMポートのオープンを要求する前に、専用インタフェース(I/F)を用いてアクセスフラグ設定要求をおこなう。そして、アクセスフラグ設定後、特定アプリケーションがCOMポートのオープンを要求し、シリアルドライバがアクセスフラグを調べると、アクセスフラグが設定されているので、COMポートのオープン処理をおこない、COMポートのオープンが成功したことを特定アプリケーションに知らせる。そして、特定アプリケーションはATコマンド等を発行し、モデムカードを使って通信を開始することができる。
これに対して、同図(b)に示すように、他のアプリケーションがモデムカードに誤ったアクセスや不正なアクセスをしようとした場合には、そのアプリケーションがシリアルドライバに対してCOMポートのオープンを要求し、シリアルドライバがアクセスフラグを調べると、アクセスフラグが設定されていないので、COMポートのオープン処理をおこなうことなく、COMポートのオープンが失敗したことをそのアプリケーションに伝える。
このように、本実施の形態1では、シリアルドライバ内にモデムカードへのアクセスを許可するか否かを示すアクセスフラグを設け、このアクセスフラグが設定されている場合にだけCOMポートのオープンが成功することとしたので、アクセスフラグを事前に設定した特定アプリケーションだけがCOMポートを介してモデムカードにアクセスすることができ、このモデムカードへの他のアプリケーションからの誤ったアクセスや不正なアクセスを防止することができる。
次に、本実施の形態1に係るマルチアクセス装置の構成について説明する。ここで、マルチアクセス装置とは、音声通話とパケット通信を同時におこなうことができる装置である。第2図は、本実施の形態1に係るマルチアクセス装置の構成を示す機能ブロック図である。同図に示すように、このマルチアクセス装置は、PC100と、マルチアクセス通信カード200と、マウス10と、キーボード20と、マイク付イアホン30と、表示装置40とを有する。
PC100は、Windowsを搭載したコンピュータであり、マルチアクセス通信カード200を用いてマルチアクセス機能を実現する。具体的には、データ通信アプリケーションと音声通話のアプリケーションを同時に実行し、マルチアクセス機能を実現する。
マルチアクセス通信カード200は、PC100が移動体通信網を用いてパケット通信と音声通話を同時におこなうことを可能とするPCカードであり、モデムおよびモデムに接続する二つのCOMポートを有する。なお、ここでは、これら二つのCOMポートをCOM2ポートおよびCOM3ポートとし、パケット通信にはCOM2ポートを、音声通話にはCOM3ポートを使用することとする。また、COM3ポートを介したマルチアクセス通信カード200へのアクセスは、音声通話をおこなうアプリケーションだけに制限する。その理由は、このマルチアクセス通信カード200への他のアプリケーションからの誤ったアクセスや不正なアクセスによって電話接続が自動的におこなわれ、利用者の意図しない電話接続がおこなわれてしまうことを防ぐためである。
マウス10は、表示画面上の任意の場所を指定するための装置であり、アプリケーションウィンドウの選択、メニューの選択などに使われ、キーボード20は、PC100への処理の指示およびデータの入力をおこなうための装置であり、メイル、URL、電話番号などの入力に使われる。
マイク付イアホン30は、PC100との間で音声入出力をおこなうための装置であり、音声通話のアプリケーションとの音声入出力に使われ、表示装置40は、PC100の出力を表示する装置であり、メイルの表示、Web画面の表示、音声通話画面の表示などに使われる。
次にPC100の構成について説明する。第2図に示すように、PC100は、ダイアルアップアプリケーション110と、音声通話アプリケーション120と、シリアルドライバ130と、PCカードドライバ140とを有する。なお、このPC100は、図示していないが、ダイアルアップ接続を使用するWebブラウザ、メイルソフトなどのアプリケーションプログラム、ダイアルアップ接続のためのTCP/IP、PPPなどの通信ライブラリ、マイク付イアホン30のデバイスドライバなどのプログラムを有する。
ダイアルアップアプリケーション110は、ダイアルアップ接続をおこなうためのアプリケーションであり、マルチアクセス通信カード200のCOM2ポートを用いてデータ通信をおこなう。
音声通話アプリケーション120は、マイク付イアホン30を用いて音声通話をおこなうためのアプリケーションであり、マルチアクセス通信カード200のCOM3ポートを介してモデムとの通信をおこなう。この音声通話アプリケーション120は、シリアルドライバ130に対して、COM3ポートのオープン要求をおこなう前に、COM3ポートへのアクセスを許可するか否かを示すアクセスフラグの設定要求をおこなう。また、この音声通話アプリケーション120は、COM3ポートをクローズした後に、アクセスフラグのクリア要求をおこなう。
シリアルドライバ130は、ダイアルアップアプリケーション110および音声通話アプリケーション120がCOMポートを介してマルチアクセス通信カード200とシリアル通信をおこなうための処理部であり、COMポートオープン処理ルーチン131と、アクセスフラグ設定処理ルーチン132と、アクセスフラグクリア処理ルーチン133と、アクセスフラグ134とを有する。なお、このシリアルドライバ130は、図示していないが、マルチアクセス通信カード200からの割込みを処理する割込処理ルーチン、マルチアクセス通信カード200とのデータ授受をおこなうためのRead処理ルーチンおよびWrite処理ルーチン、プラグアンドプレイ機能を実現するためのPnP処理ルーチン、電源管理をおこなうためのPower処理ルーチンなどを有する。
COMポートオープン処理ルーチン131は、アプリケーションからの要求に応じてCOMポートをオープンする処理部であり、オープンするCOMポートがCOM3ポートであるか否かを判定し、COM3ポートであれば、アクセスフラグ134が設定されている場合にだけオープン処理をおこなう。一方、オープンするCOMポートがCOM3ポートでない場合には、無条件でオープン処理をおこなう。
このように、このCOMポートオープン処理ルーチン131がアクセスフラグ134を調べ、アクセスフラグ134が設定されている場合にだけCOM3ポートのオープン処理をおこなうこととしたので、COM3ポートを介したマルチアクセス通信カード200への他のアプリケーションからの誤ったアクセスや不正なアクセスを防止することができる。
アクセスフラグ設定処理ルーチン132は、アクセスフラグ134を設定する処理部であり、音声通話アプリケーション120によって使用される。具体的には、このアクセスフラグ設定処理ルーチン132は、DeviceIoControlを用いて呼び出される。
アクセスフラグクリア処理ルーチン133は、アクセスフラグ134をクリアする処理部であり、音声通話アプリケーション120によって使用される。このアクセスフラグクリア処理ルーチン133は、アクセスフラグ設定処理ルーチン132と同様に、DeviceIoControlを用いて呼び出される。
アクセスフラグ134は、COM3ポートを介したマルチアクセス通信カード200へのアクセスを許可するか否かを記憶した記憶部であり、このアクセスフラグ134が設定されている場合には、マルチアクセス通信カード200へのアクセスが許可され、このアクセスフラグ134が未設定の場合には、マルチアクセス通信カード200へのアクセスは許可されない。このアクセスフラグ134がCOM3ポートを介したマルチアクセス通信カード200へのアクセス可否を記憶することにより、音声通話アプリケーション120だけがCOM3ポートを介してマルチアクセス通信カード200にアクセスできるように制御することができる。
PCカードドライバ140は、アプリケーションがPCカードを利用できるようにPCカードを管理する処理部であり、具体的には、PCカードスロットの状態や割込みレベルなどを管理する。
次に、第2図に示したマルチアクセス装置によるアクセスフラグ設定処理の処理手順について説明する。第3図は、第2図に示したマルチアクセス装置によるアクセスフラグ設定処理の処理手順を示すフローチャートである。
同図に示すように、このマルチアクセス装置では、音声通話アプリケーション120がシリアルドライバ130に対してCOM3ポートのオープンを要求する前にアクセスフラグ134の設定を要求する(ステップS301)。なお、音声通話アプリケーション120は、この要求を、DeviceIoControlを用いてシリアルドライバ130に対して直接おこなうことができる。
そして、アクセスフラグ134の設定要求を受けたシリアルドライバ130は、アクセスフラグ134が既に設定されているか否かを調べ(ステップS302)、アクセスフラグ134が設定されていない場合には、アクセスフラグ134を設定する(ステップS303)。そして、処理結果に「正常終了」を設定し(ステップS304)、この処理結果を音声通話アプリケーション120に知らせる(ステップS306)。一方、アクセスフラグ134が既に設定されている場合には、何らかの誤りが発生しているので、処理結果に「異常終了」を設定し(ステップS305)、この処理結果をアプリケーションに知らせる(ステップS306)。
このように、音声通話アプリケーション120が、シリアルドライバ130に対してCOM3ポートのオープンを要求する前にアクセスフラグ134の設定を要求することとしたので、この音声通話アプリケーション120だけが、COM3ポートを介してマルチアクセス通信カード200にアクセスできるように制限することができる。
次に、第2図に示したCOMポートオープン処理ルーチン131の処理手順について説明する。第4図は、第2図に示したCOMポートオープン処理ルーチン131の処理手順を示すフローチャートである。
同図に示すように、このCOMポートオープン処理ルーチン131は、アプリケーションがCOMポートのオープンを要求すると、まずオープンするCOMポートがCOM3ポートであるか否かを調べる(ステップS401)。そして、オープンするCOMポートがCOM3ポートである場合には、アクセスフラグ134が設定されているか否かを調べ(ステップS402)、アクセスフラグ134が設定されている場合には、音声通話アプリケーション120からのCOM3ポートのオープン要求であると判断し、COM3ポートのオープン処理をおこなう(ステップS403)。そして、処理結果に「オープン成功」を設定し(ステップS404)、この処理結果をアプリケーションに知らせる(ステップS406)。
一方、アクセスフラグ134が設定されていない場合には、他のアプリケーションによるCOM3ポートの誤ったオープン要求または不正なオープン要求であると判断し、COM3ポートのオープン処理をおこなうことなく、処理結果に「オープン失敗」を設定し(ステップS405)、この処理結果をアプリケーションに知らせる(ステップS406)。また、オープンするCOMポートがCOM3ポートでない場合には、ステップS403に進んでCOMポートのオープン処理をおこなう。
このように、このCOMポートオープン処理ルーチン131が、アプリケーションからのCOMポートオープン要求に対して、オープンを要求されたCOMポートがCOM3ポートであるか否かを調べ、COM3ポートである場合には、さらにアクセスフラグ134を調べ、アクセスフラグ134が設定されている場合にのみCOM3ポートをオープンすることとしたので、アクセスフラグ134を事前に設定した音声通話アプリケーション120だけにCOM3ポートの使用を制限することができる。
次に、第2図に示したマルチアクセス装置によるアクセスフラグクリア処理の処理手順について説明する。第5図は、第2図に示したマルチアクセス装置によるアクセスフラグクリア処理の処理手順を示すフローチャートである。同図に示すように、このマルチアクセス装置では、音声通話アプリケーション120がCOM3ポートの使用を終了すると、シリアルドライバ130に対して、アクセスフラグ134のクリアを要求する(ステップS501)。なお、音声通話アプリケーション120は、この要求を、アクセスフラグ134の設定要求と同様に、DeviceIoControlを用いてシリアルドライバ130に対して直接おこなうことができる。
そして、アクセスフラグ134のクリア要求を受けたシリアルドライバ130は、アクセスフラグ134が設定されているか否かを調べ(ステップS502)、アクセスフラグ134が設定されている場合には、アクセスフラグ134をクリアする(ステップS503)。そして、処理結果に「正常終了」を設定し(ステップS504)、この処理結果を音声通話アプリケーション120に知らせる(ステップS506)。一方、アクセスフラグ134が設定されていない場合には、アクセスフラグ134のクリア要求に問題があるので、処理結果に「異常終了」を設定し(ステップS505)、この処理結果をアプリケーションに知らせる(ステップS506)。
上述したように、本実施の形態1では、シリアルドライバ130内にCOM3ポートを介したマルチアクセス通信カード200へのアクセスを許可するか否かを示すアクセスフラグ134を設け、マルチアクセス通信カード200にアクセスする音声通話アプリケーション120は、COM3ポートのオープンを要求する前にアクセスフラグ134を設定し、COMポートオープン処理ルーチン131は、アプリケーションからのCOMポートオープン要求に対してアクセスフラグ134を調べ、アクセスフラグ134が設定されている場合にだけCOM3ポートをオープンすることとしたので、音声通話アプリケーション120のみにマルチアクセス通信カード200へのアクセスを許可することができ、このマルチメディア通信カード200への他のアプリケーションからの誤ったアクセスや不正なアクセスを防止することができる。
実施の形態2.
ところで、上記実施の形態1では、COM3ポートを介したマルチアクセス通信カード200へのアクセス許可を示すアクセスフラグ134が設定されているか否かの判定は、COMポートオープン処理ルーチン131がおこなう場合を説明したが、アクセスフラグの判定は、COMポートオープン処理ルーチン131以外でもおこなうことができる。そこで、本実施の形態2では、アクセスフラグの判定をCOMポートのオープン処理時ではなく、COMポートのオープンが成功した後、アプリケーションがマルチアクセス通信カード200へ送付するコマンドレベルでおこなうマルチアクセス装置について説明する。
まず、本実施の形態2に係るCOMポート接続デバイスへのアクセス許可の概念について説明する。第6図は、本実施の形態2に係るCOMポート接続デバイスへのアクセス許可の概念を説明するための説明図である。
同図(a)に示すように、特定アプリケーションは、シリアルドライバに対して、モデムカードを使用するために通常のCOMポートオープンを要求する。そして、COMポートのオープンが成功すると、モデムカードへのコマンドを用いてアクセスフラグの設定をおこなう。なお、ここでは、COMポートのオープン後にアクセスフラグを設定することとしたが、このアクセスフラグの設定はCOMポートのオープンの前におこなうこともできる。
そして、特定アプリケーションがATコマンド等を発行し、ATコマンド等を受け取ったシリアルドライバがアクセスフラグを調べると、アクセスフラグが設定されているので、発行されたコマンドをモデムカードに送り、特定アプリケーションはモデムカードを使って通信をおこなうことができる。
これに対して、同図(b)に示すように、他のアプリケーションがモデムカードに誤ったアクセスや不正なアクセスをしようとした場合には、そのアプリケーションは、シリアルドライバに対してCOMポートのオープンを要求し、COMポートのオープン成功後ATコマンド等を発行する。そして、ATコマンド等を受け取ったシリアルドライバがアクセスフラグを調べると、アクセスフラグが設定されていないので、コマンドエラーをそのアプリケーションに返す。
このように、本実施の形態2では、シリアルドライバ内にモデムカードへのアクセスを許可するか否かを示すアクセスフラグを設け、シリアルドライバは、このアクセスフラグが設定されている場合にだけモデムカードへコマンドを送り、アクセスフラグが未設定の場合にはアプリケーションにコマンドエラーを返すこととしたので、アクセスフラグを事前に設定した特定アプリケーションだけがCOMポートを介してモデムカードにアクセスすることができ、このモデムカードへの他のアプリケーションからの誤ったアクセスや不正なアクセスを防止することができる。
次に、本実施の形態2に係るマルチアクセス装置の構成について説明する。第7図は、本実施の形態2に係るマルチアクセス装置の構成を示す機能ブロック図である。なお、ここでは説明の便宜上、第2図に示した各部と同様の役割を果たす機能部については同一符号を付すこととしてその詳細な説明を省略する。
同図に示すように、このPC100は、ダイアルアップアプリケーション110と、音声通話アプリケーション720と、シリアルドライバ730と、PCカードドライバ140とを有する。
音声通話アプリケーション720は、シリアルドライバ730に対して、COM3ポートのオープンに成功した後、アクセスフラグ設定コマンドを発行する。そして、アクセスフラグを設定した後、ATコマンド等を発行して音声通話を実行する。また、音声通話を終了する場合には、COM3ポートをクローズした後にアクセスフラグクリアコマンドを発行し、アクセスフラグをクリアする。
シリアルドライバ730は、Write処理ルーチン731とCOMポートオープン処理ルーチン732とを有し、また、図示しない割込処理ルーチン、Read処理ルーチン、PnP処理ルーチン、Power処理ルーチンなどを有する。
Write処理ルーチン731は、アプリケーションが発行するコマンドをマルチアクセス通信カード200に送信する処理部であり、アクセスフラグ733を有する。そして、このWrite処理ルーチン731は、アプリケーションが発行するコマンドの送信に使用するCOMポートを判定し、COMポートがCOM3ポートである場合には、アクセスフラグ733を調べ、アクセスフラグ733が設定されている場合にだけアプリケーションが発行するコマンドをマルチアクセス通信カード200に送る。
また、このWrite処理ルーチン731は、アプリケーションが発行するコマンドを調べ、コマンドがアクセスフラグ設定コマンドである場合にはアクセスフラグ733を設定し、コマンドがアクセスフラグクリアコマンドである場合にはアクセスフラグ733をクリアする。
このように、このWrite処理ルーチン731が、アプリケーションがマルチアクセス通信カード200へのコマンドの送信に使用するCOMポートを調べ、COMポートがCOM3ポートである場合には、さらにアクセスフラグ733を調べ、アクセスフラグ733が設定されている場合にだけコマンドをマルチアクセス通信カード200に送ることとしたので、このマルチアクセス通信カード200への他のアプリケーションからの誤ったアクセスや不正なアクセスを防止することができる。
COMポートオープン処理ルーチン732は、COMポートのオープンをおこなう処理部である。ただし、このCOMポートオープン処理ルーチン732は、COMポートオープン処理ルーチン131とは異なり、オープンするCOMポートがCOM3ポートであるか否かの調査や、アクセスフラグが設定されているか否かの調査などの特別な処理はおこなわない。
次に、Write処理ルーチン731の処理手順について説明する。第8図は、Write処理ルーチン731の処理手順を示すフローチャートである。同図に示すように、このWrite処理ルーチン731は、アプリケーションが出力するCOMポートがCOM3ポートであるか否かを調べ(ステップS801)、COM3ポートである場合には、アプリケーションから出力されたマルチアクセス通信カード200へのコマンドを調べる(ステップS802)。
そして、アプリケーションから出力されたコマンドがアクセスフラグ設定コマンドである場合には、さらにアクセスフラグ733が設定されているか否かを調べ(ステップS803)、アクセスフラグ733が設定されていなければ、アクセスフラグ733を設定する(ステップS804)。そして、処理結果に「正常終了」を設定し(ステップS805)、この処理結果をアプリケーションに知らせる(ステップS815)。一方、アクセスフラグ733が設定されていれば、何らかの誤りが発生しているので、処理結果に「異常終了」を設定し(ステップS806)、この処理結果をアプリケーションに知らせる(ステップS815)。
また、アプリケーションから出力されたマルチアクセス通信カード200へのコマンドがアクセスフラグクリアコマンドである場合には、さらにアクセスフラグ733が設定されているか否かを調べ(ステップS807)、アクセスフラグ733が設定されていれば、アクセスフラグ733をクリアし(ステップS808)、処理結果に「正常終了」を設定し(ステップS809)、この処理結果をアプリケーションに知らせる(ステップS815)。一方、アクセスフラグ733が設定されていなければ、処理結果に「異常終了」を設定し(ステップS810)、この処理結果をアプリケーションに知らせる(ステップS815)。
また、アプリケーションから出力されたマルチアクセス通信カード200へのコマンドがその他のコマンド等である場合には、アクセスフラグ733が設定されているか否かを調べ(ステップS811)、アクセスフラグ733が設定されていなければ、マルチアクセス通信カード200への他のアプリケーションからの誤ったアクセスや不正なアクセスであるので、処理結果に「異常終了」を設定し(ステップS812)、この処理結果をアプリケーションに知らせる(ステップS815)。一方、アクセスフラグ733が設定されていれば、音声通話アプリケーション720からCOM3ポートを介したマルチアクセス通信カード200への正しいアクセスであるので、コマンドをマルチアクセス通信カード200へ送付し(ステップS813)、処理結果に「正常終了」を設定し(ステップS814)、この処理結果を音声通話アプリケーション720に知らせる(ステップS815)。
上述したように、本実施の形態2では、音声通話アプリケーション720がシリアルドライバ730に対してマルチアクセス通信カード200へのコマンドを用いてアクセスフラグ設定を要求し、シリアルドライバ730のWrite処理ルーチン731がコマンドを解析してアクセスフラグ733を設定し、アクセスフラグ733設定後、音声通話アプリケーション720がCOM3ポートを介してマルチアクセス通信カード200へのコマンドを発行することとしたので、音声通話アプリケーション720だけがマルチアクセス通信カード200へアクセスすることができ、このマルチアクセス通信カード200への他のアプリケーションからの誤ったアクセスや不正なアクセスを防止することができる。
実施の形態3.
上記実施の形態1および2では、シリアルドライバ内にアクセスフラグを設け、音声通話アプリケーションがこのアクセスフラグを設定した後、COM3ポートを介してマルチアクセス通信カードにアクセスする場合について説明したが、アクセスフラグは、シリアルドライバ内ではなく、マルチアクセス通信カード内に設けることもできる。そこで、本実施の形態3では、アクセスフラグをマルチアクセス通信カード内に設けた場合について説明する。
第9図は、本実施の形態3に係るCOMポート接続デバイスへのアクセス許可の概念を説明するための説明図である。同図(a)に示すように、特定アプリケーションは、シリアルドライバに対して、モデムカードを使用するために通常のCOMポートオープンを要求する。そして、COMポートのオープンが成功すると、モデムカードに対してアクセスフラグ設定コマンドを発行し、アクセスフラグ設定コマンドを受け取ったモデムカードがカード内のアクセスフラグを設定する。
そして、特定アプリケーションがATコマンド等を発行し、ATコマンド等を受け取ったモデムカードがアクセスフラグを調べると、アクセスフラグが設定されているので、発行されたコマンドを実行する。
これに対して、同図(b)に示すように、他のアプリケーションがモデムカードに誤ったアクセスや不正なアクセスをしようとした場合には、そのアプリケーションは、シリアルドライバに対してCOMポートのオープンを要求し、COMポートのオープン成功後ATコマンド等を発行する。そして、ATコマンド等を受けったモデムカードがアクセスフラグを調べると、アクセスフラグが設定されていないのでコマンドエラーをそのアプリケーションに返す。
このように、本実施の形態3では、モデムカード内にアクセスフラグを設け、モデムカードは、このアクセスフラグが設定されている場合にだけアプリケーションから送られたコマンドを実行し、アクセスフラグが未設定の場合にはアプリケーションにコマンドエラーを返すこととしたので、アクセスフラグを事前に設定した特定アプリケーションだけがモデムカードにアクセスすることができ、このモデムカードへの他のアプリケーションからの誤ったアクセスや不正なアクセスを防止することができる。
次に、本実施の形態3に係るマルチアクセス装置の構成について説明する。第10図は、本実施の形態3に係るマルチアクセス装置の構成を示す機能ブロック図である。なお、ここでは説明の便宜上、第2図および第7図に示した各部と同様の役割を果たす機能部については同一符号を付すこととしてその詳細な説明を省略する。
同図に示すように、このマルチアクセス装置は、PC100と、マルチアクセス通信カード1000と、マウス10と、キーボード20と、マイク付イアホン30と、表示装置40とを有する。また、PC100は、ダイアルアップアプリケーション110と、音声通話アプリケーション720と、シリアルドライバ1030と、PCカードドライバ140とを有する。
シリアルドライバ1030は、シリアルドライバ130やシリアルドライバ730とは異なり、COMポートがCOM3ポートであっても特別な処理をおこなうことはない。
マルチアクセス通信カード1000は、二つのCOMポートに加えてコマンド処理ルーチン1010を有する。このコマンド処理ルーチン1010は、アプリケーションが発行するコマンドを解釈実行する処理部であり、アクセスフラグ1011を有する。そして、このコマンド処理ルーチン1010は、アプリケーションが使用するCOMポートを判定し、使用するCOMポートがCOM3ポートである場合には、アクセスフラグ1011を調べ、アクセスフラグ1011が設定されている場合にだけアプリケーションが発行するコマンドを実行する。
また、このコマンド処理ルーチン1010は、アプリケーションが発行するコマンドを調べ、コマンドがアクセスフラグ設定コマンドである場合にはアクセスフラグ1011を設定し、コマンドがアクセスフラグクリアコマンドである場合にはアクセスフラグ1011をクリアする。
このように、このコマンド処理ルーチン1010がアクセスフラグ1011を調べ、アクセスフラグ1011が設定されている場合にだけコマンドを実行することとしたので、マルチアクセス通信カード1000への他のアプリケーションからの誤ったアクセスや不正なアクセスを防止することができる。
上述したように、本実施の形態3では、音声通話アプリケーション720がマルチアクセス通信カード1000に対してコマンドを用いてアクセスフラグ設定を要求し、マルチアクセス通信カード1000のコマンド処理ルーチン1010がコマンドを解析してアクセスフラグ1011を設定し、アクセスフラグ1011設定後、音声通話アプリケーション720がCOM3ポートを介してマルチアクセス通信カード1000へのコマンドを発行することとしたので、音声通話アプリケーション720だけがマルチアクセス通信カード1000へアクセスすることができ、このマルチアクセス通信カード1000への他のアプリケーションからの誤ったアクセスや不正なアクセスを防止することができる。
また、本実施の形態3では、コマンド処理ルーチン1010およびアクセスフラグ1011をマルチアクセス通信カード1000内に設け、マルチアクセス通信カード1000へのアクセス制限をマルチアクセス通信カード1000自身でおこなうこととしたので、シリアルドライバ1030はCOM3ポートに対して特別な処理が不要となり、シリアルドライバの変更を不要とすることができる。
以上説明したように、本発明によれば、アプリケーションのアクセス要求に先立ってアプリケーションからの要求に応答して通信デバイスの利用許可をおこない、利用許可の有無に基づいてアプリケーションから通信デバイスに対するアクセス要求を受け付けるか否かを制御することとしたので、複数のアプリケーションのうちの特定のアプリケーションのみに汎用ポートが割り当てられた通信デバイスへのアクセスを許可し、もってこの通信デバイスへの他のアプリケーションからの誤ったアクセスや不正なアクセスを防止することができるという効果を奏する。
以上のように、本発明に係るアクセス要求制御方法、通信デバイス用ドライバプログラムおよび通信デバイスは、汎用ポートを介した通信を特定のアプリケーションだけが利用できるように制限する必要があるコンピュータシステムに適している。
第1図は、本実施の形態1に係るCOMポート接続デバイスへのアクセス許可の概念を説明するための説明図である。 第2図は、本実施の形態1に係るマルチアクセス装置の構成を示す機能ブロック図である。 第3図は、第2図に示したマルチアクセス装置によるアクセスフラグ設定処理の処理手順を示すフローチャートである。 第4図は、第2図に示したCOMポートオープン処理ルーチンの処理手順を示すフローチャートである。 第5図は、第2図に示したマルチアクセス装置によるアクセスフラグクリア処理の処理手順を示すフローチャートである。 第6図は、本実施の形態2に係るCOMポート接続デバイスへのアクセス許可の概念を説明するための説明図である。 第7図は、本実施の形態2に係るマルチアクセス装置の構成を示す機能ブロック図である。 第8図は、Write処理ルーチンの処理手順を示すフローチャート図である。 第9図は、本実施の形態3に係るCOMポート接続デバイスへのアクセス許可の概念を説明するための説明図である。 第10図は、本実施の形態3に係るマルチアクセス装置の構成を示す機能ブロック図である。

Claims (15)

  1. 少なくとも汎用ポートが割り当てられるとともにアプリケーションからのアクセス要求に応答して通信網を介した通信をおこなう通信デバイスに対する各アプリケーションからのアクセス要求を制御するアクセス要求制御方法であって、
    前記アプリケーションのアクセス要求に先立って該アプリケーションからの要求に応答して前記通信デバイスの利用許可をおこなう利用許可工程と、
    前記利用許可工程による利用許可の有無に基づいて前記アプリケーションから前記通信デバイスに対するアクセス要求を受け付けるか否かを制御する制御工程と、
    を含んだことを特徴とするアクセス要求制御方法。
  2. 前記通信デバイスは、データ通信と音声通話を同時に実行可能な通信デバイスであり、前記利用許可工程は、所定の音声通話アプリケーションに対して該通信デバイスに対する利用許可をおこなうことを特徴とする請求の範囲第1項に記載のアクセス要求制御方法。
  3. 前記利用許可工程は、前記アプリケーションからのアクセスフラグの設定要求に応答して該アプリケーションによる前記通信デバイスに対するアクセス許可を示すアクセスフラグを前記利用許可として設定し、前記制御工程は、前記アプリケーションからアクセス要求を受け付けた際に、当該アプリケーションにアクセスフラグが設定されているか否かに基づいて前記通信デバイスに対するアクセス要求を受け付けるか否かを制御することを特徴とする請求の範囲第1項または第2項に記載のアクセス要求制御方法。
  4. 前記アプリケーションは、前記通信デバイス内のモデムに対するATコマンドに相当する専用コマンドを用いて前記アクセスフラグの設定要求をおこなうことを特徴とする請求の範囲第3項に記載のアクセス要求制御方法。
  5. 前記利用許可工程は、前記汎用ポートのオープン処理の前に前記利用許可をおこない、前記制御工程は、前記汎用ポートのオープン処理の一部として前記アクセス要求を受け付けるか否かを制御することを特徴とする請求の範囲第3項に記載のアクセス要求制御方法。
  6. 少なくとも汎用ポートが割り当てられるとともにアプリケーションからのアクセス要求に応答して通信網を介した通信をおこなう通信デバイスに対応する通信デバイス用ドライバプログラムであって、
    前記アプリケーションのアクセス要求に先立って該アプリケーションからの要求に応答して前記通信デバイスの利用許可をおこなう利用許可手順と、
    前記利用許可手順による利用許可の有無に基づいて前記アプリケーションから前記通信デバイスに対するアクセス要求を受け付けるか否かを制御する制御手順と、
    をコンピュータで実行することを特徴とする通信デバイス用ドライバプログラム。
  7. 前記通信デバイスは、データ通信と音声通話を同時に実行可能な通信デバイスであり、前記利用許可手順は、所定の音声通話アプリケーションに対して該通信デバイスに対する利用許可をおこなうことを特徴とする請求の範囲第6項に記載の通信デバイス用ドライバプログラム。
  8. 前記利用許可手順は、前記アプリケーションからのアクセスフラグの設定要求に応答して該アプリケーションによる前記通信デバイスに対するアクセス許可を示すアクセスフラグを前記利用許可として設定し、前記制御手順は、前記アプリケーションからアクセス要求を受け付けた際に、当該アプリケーションにアクセスフラグが設定されているか否かに基づいて前記通信デバイスに対するアクセス要求を受け付けるか否かを制御することを特徴とする請求の範囲第6項または第7項に記載の通信デバイス用ドライバプログラム。
  9. 前記アプリケーションは、前記通信デバイス内のモデムに対するATコマンドに相当する専用コマンドを用いて前記アクセスフラグの設定要求をおこなうことを特徴とする請求の範囲第8項に記載の通信デバイス用ドライバプログラム。
  10. 前記利用許可手順は、前記汎用ポートのオープン処理の前に前記利用許可をおこない、前記制御手順は、前記汎用ポートのオープン処理の一部として前記アクセス要求を受け付けるか否かを制御することを特徴とする請求の範囲第8項に記載の通信デバイス用ドライバプログラム。
  11. 少なくとも汎用ポートが割り当てられるとともにアプリケーションからのアクセス要求に応答して通信網を介した通信をおこなう通信デバイスであって、
    前記アプリケーションのアクセス要求に先立って該アプリケーションからの要求に応答して利用許可をおこなう利用許可手段と、
    前記利用許可手段による利用許可の有無に基づいて前記アプリケーションからアクセス要求を受け付けるか否かを制御する制御手段と、
    を備えたことを特徴とする通信デバイス。
  12. 前記通信デバイスは、データ通信と音声通話を同時に実行可能なデバイスであり、前記利用許可手段は、所定の音声通話アプリケーションに対して利用許可をおこなうことを特徴とする請求の範囲第11項に記載の通信デバイス。
  13. 前記利用許可手段は、前記アプリケーションからのアクセスフラグの設定要求に応答して該アプリケーションによるアクセス許可を示すアクセスフラグを前記利用許可として設定し、前記制御手段は、前記アプリケーションからアクセス要求を受け付けた際に、当該アプリケーションにアクセスフラグが設定されているか否かに基づいてアクセス要求を受け付けるか否かを制御することを特徴とする請求の範囲第11項または第12項に記載の通信デバイス。
  14. 前記アプリケーションは、前記通信デバイス内のモデムに対するATコマンドに相当する専用コマンドを用いて前記アクセスフラグの設定要求をおこなうことを特徴とする請求の範囲第13項に記載の通信デバイス。
  15. 前記利用許可手段は、前記汎用ポートのオープン処理の前に前記利用許可をおこない、前記制御手段は、前記汎用ポートのオープン処理の一部として前記アクセス要求を受け付けるか否かを制御することを特徴とする請求の範囲第13項に記載の通信デバイス。
JP2004548007A 2002-11-01 2002-11-01 アクセス要求制御方法、通信デバイス用ドライバプログラムおよび通信デバイス Expired - Fee Related JP4332116B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2002/011452 WO2004040890A1 (ja) 2002-11-01 2002-11-01 アクセス要求制御方法、通信デバイス用ドライバプログラムおよび通信デバイス

Publications (2)

Publication Number Publication Date
JPWO2004040890A1 true JPWO2004040890A1 (ja) 2006-03-02
JP4332116B2 JP4332116B2 (ja) 2009-09-16

Family

ID=32260033

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004548007A Expired - Fee Related JP4332116B2 (ja) 2002-11-01 2002-11-01 アクセス要求制御方法、通信デバイス用ドライバプログラムおよび通信デバイス

Country Status (3)

Country Link
US (1) US7448069B2 (ja)
JP (1) JP4332116B2 (ja)
WO (1) WO2004040890A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040139312A1 (en) * 2003-01-14 2004-07-15 General Instrument Corporation Categorization of host security levels based on functionality implemented inside secure hardware
US7899492B2 (en) * 2004-07-16 2011-03-01 Sellerbid, Inc. Methods, systems and apparatus for displaying the multimedia information from wireless communication networks
US20140071818A1 (en) * 2004-07-16 2014-03-13 Virginia Innovation Sciences, Inc. Method and system for efficient communication
US10454937B2 (en) 2017-03-06 2019-10-22 International Business Machines Corporation Technology for generating a multi-user response in a network

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4982430A (en) * 1985-04-24 1991-01-01 General Instrument Corporation Bootstrap channel security arrangement for communication network
US5790652A (en) 1996-03-12 1998-08-04 Intergrated Systems, Inc. Telephone station equipment employing rewriteable display keys
US5765021A (en) * 1996-03-27 1998-06-09 Pc-Tel, Inc. Computer system having second program for transferring data between second port connected to a first port and the software portion of a modem
JPH10177488A (ja) 1996-12-17 1998-06-30 Victor Co Of Japan Ltd データ転送システム
AU766861B2 (en) * 1998-10-19 2003-10-23 General Instrument Corporation Television set-top box with configurable functionality
JP2000156034A (ja) * 1998-11-18 2000-06-06 Sony Corp ディジタル信号記憶装置、ディジタル信号記憶方法、プログラム記録媒体、ディジタル信号記録装置及びディジタル信号記録方法
JP2001036636A (ja) 1999-07-19 2001-02-09 Aiwa Co Ltd 通信制御方法および通信端末装置
US6389542B1 (en) * 1999-10-27 2002-05-14 Terence T. Flyntz Multi-level secure computer with token-based access control
US6553441B1 (en) * 1999-11-30 2003-04-22 3Com Corporation Method and apparatus for using serial bus for PC management
US6940614B2 (en) 2000-01-05 2005-09-06 Hewlett-Packard Development Company, L.P. Method for defining printer driver settings
JP2001337917A (ja) 2000-05-30 2001-12-07 Matsushita Electric Ind Co Ltd Gui装置端末装置、リソース制御装置、ネットワークシステム、媒体及び情報集合体
US6947970B2 (en) * 2000-12-19 2005-09-20 Intel Corporation Method and apparatus for multilevel translation and protection table
JP4336051B2 (ja) 2001-01-31 2009-09-30 株式会社エヌ・ティ・ティ・ドコモ 無線通信端末、発呼制限方法及びプログラム
US7290266B2 (en) * 2001-06-14 2007-10-30 Cisco Technology, Inc. Access control by a real-time stateful reference monitor with a state collection training mode and a lockdown mode for detecting predetermined patterns of events indicative of requests for operating system resources resulting in a decision to allow or block activity identified in a sequence of events based on a rule set defining a processing policy
US20030041160A1 (en) * 2001-08-21 2003-02-27 Sandman Robert James Methods and systems for reducing command overhead
US7461384B2 (en) * 2002-02-20 2008-12-02 Symbol Technologies, Inc. Software method for emulating a serial port between applications for enabling communications by mobile bar code readers and computer terminals in wireless networks

Also Published As

Publication number Publication date
US20050144461A1 (en) 2005-06-30
JP4332116B2 (ja) 2009-09-16
US7448069B2 (en) 2008-11-04
WO2004040890A1 (ja) 2004-05-13

Similar Documents

Publication Publication Date Title
US6349336B1 (en) Agent/proxy connection control across a firewall
JP4248913B2 (ja) 端末装置、プログラムおよび通信システム
US6438600B1 (en) Securely sharing log-in credentials among trusted browser-based applications
EP2859498B1 (en) Trusted security zone access to peripheral devices
US5452460A (en) Method and apparatus for creating secure pseudo-terminal links
US8056125B2 (en) Recording medium storing control program and communication system
CN101632280A (zh) 服务链接的方法及装置
JP2006508424A (ja) ミドルウエアにおけるセキュリティ・アクセス・マネージャ
WO2007105279A1 (ja) 携帯通信装置
KR20140027109A (ko) 보안된 런타임 환경에서 데이터를 교환하기 위한 방법
EP1416353A2 (en) Communication device, program and recording media
US7188149B2 (en) Storage operating data control system
WO2011108877A2 (ko) 클라이언트 가상화를 이용한 서버의 논리적 분리 시스템 및 방법
US6327662B1 (en) Security through the use of tokens and automatically downloaded applets
JP2003332978A (ja) 通信装置、プログラムおよび記録媒体
US7448069B2 (en) Access-request control method, driver program for communication device, and communication device
Goldt et al. The linux programmer’s guide
US20070155422A1 (en) Method for controlling mobile data connection through USB Ethernet management of mobile station
US8904487B2 (en) Preventing information theft
KR20060087758A (ko) 모바일 기기용 인터넷 디스크 시스템 및 방법
KR20220097037A (ko) 데이터 유출 방지 시스템
JP2006259942A (ja) セキュリティ管理システム、サーバ装置、クライアント端末及びそれに用いるセキュリティ保護方法
WO2022169017A1 (ko) 데이터 보호 시스템
JP2008083886A (ja) 機密情報漏洩防止方法及びシステム
CN109213673A (zh) 一种基于串口仿真软件的开发方法和装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080129

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080324

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080520

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080710

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081118

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090116

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: 20090616

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090619

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120626

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120626

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130626

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130626

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees