携帯からPC操作(cell4win)

概略説明


cell4winは、PC公開のみを目的としたWEBサーバです。
公開相手は特に意識しませんが、Doja3.0対応以降の機種(505i,506i,90xi,70xi) を対象に考えています。
マルチクライアントに対応していますが、多人数での同時アクセスでは、
タイムアウトの発生頻度が上がります。(PCスペックによります)

単に公開してしまうと第3者にPCを壊されたり悪用されてしまいますので
パスワードによる暗号化とSSLによる暗号化で、特定の人にしかアクセスできないようにしています。

安全のためにルータを使うことを推奨しますが、必須ではありません。
この場合は各文書中のルータに関する記述を読み飛ばして下さい。
※ルータを使わない場合は、標準のファイアウォールだけでなくアンチウィルスソフトの導入など
 安全面にお気を付け下さい。


公開するPCの利用環境により、運用方法を次の4つの中から選択する必要があります。



ドメイン名を持っていない場合は、@の方法になります。

ドメイン名を持っている場合は、さらに分類されます。
他のサーバソフトを介さず、直接、携帯とPCを接続したい場合は、Bの方法になります。
Bの方法をより安全にSSLで通信するものがCの方法になります。

多少複雑になりますが、PC上で既に他のWWWサーバソフトを使っている場合や、
外部との接続(ポート)を複数のソフトに許可したくない場合、
または、接続個人別に処理を設けたりLAN内の複数のPCで公開PCを切り替えたい
といった制御(Perl CGI)を組み込む場合は、Aの方法になります。

※index.cgi はEUC (改行コード:LF)で作成されています。
 編集するには「秀丸」などのテキストエディタをご利用下さい。



iアプリ操作説明


公開PC上でcell4winが動作していることを確認します。

@Aであれば、携帯からインターネットにて、index.cgi にアクセスします。
標準WWWポート(80)であれば、http://xxxx.co.jp/cell4win/index.cgi という具合。
ポートを変えた(例、8080)であれば、http://xxxx.co.jp:8080/cell4win/index.cgi になります。

ダウンロード完了後、iアプリ(cell4win)を起動します。


起動後、上図の画面が表示されますので「Password」を入力します。
このパスワードには、cell4winReg.exeで指定したパスワードと同じものを指定します。
次回以降はパスワードを変更しなければこの操作は必要ありません。

次に「Capture」を選択します。(「Capture」によってパスワードが保存されます。)
しばらくすると、PC画面が携帯上に表示されます。

標準index.cgiでは何もサポートしませんが、「Captureボタン」の右テキストボックスに入れた文字列は、
QUERY_STRINGに「&区切り」で追加して送信します。
細かな処理分岐が必要な場合にお使い下さい。
使い方など詳しくは、AWebサーバとの共存編 - ちょっと横道 をご覧下さい。
※BCの方は使えません。




キャプチャ画面


説明しているボタン操作は、全ての表示モード(標準表示・等倍表示・2倍表示・ActiveWindow表示)で使えます。

※ActiveWindowとは、現在選択中の(PC上で濃い青色のタイトルバーを持つ)Windowのことです。


                  標準表示(全画面) ([2]を押したとき)    等倍表示 ([9]を押したとき)




 2倍表示 ([8]を押したとき)       ActiveWindow表示 ([5]を押したとき)


※標準表示・ActiveWindow表示の場合、画面を240x240サイズに変形して表示します。
※等倍表示・2倍表示の場合には、アスペクト比を戻してスクリーン上の比率で拡大表示しています。



メニュー画面





ファイル転送機能



例えばこれは、3GP(着モーション)ファイルなのですが、
PCディスクトップのファイル上で[3]キーを押すと、
携帯側でブラウザが立ち上がり、ダウンロードするかどうか尋ねてきます。
[OK]を押すとダウンロードが開始され携帯に取り込めます。
マイコンピュータをダブルクリック[真ん中]していってファイルを選択することも可能です。
※パケ代(ファイルサイズ)に注意が必要です。

メニュー画面の[PicSend]は逆に、携帯で撮った画像をPCに転送(投稿)する機能です。
アプリとしては1Mのファイルでも送ることが可能ですが
端末側で80kバイト以上のファイルは画像選択できない仕組みになっているようです。
VGAサイズ(640x480)までなのかもしれません。
※これもパケ代(ファイルサイズ)に注意が必要です。

送ったファイルを何処に保存するかの指定は、cell4winRegの受信フォルダ設定で行います。



ドラッグ&ドロップ



これを文章で表現するのは難しいですが、
例えば、左の状態は、マインスイーパがジャマなのでタイトルバー中央付近で[1]キーを押したところ。
ジャマにならなさそうな左上の方へ移動します。(中央の状態)
ここで[Left]を突くと移動します。(右の状態)





KeySend入力時の特殊文字 (Ver.1.21以降)

幾つかの絵文字に特殊キー(Ctrl,Shift,Alt,...)を割り当てています。
絵文字コード・キー絵文字コード・キー
コントロールキー 上キー
シフトキー 下キー
ALTキー 左キー
DELETEキー 右キー
バックスペース Page Upキー
ESCキー Page Downキー

例えば、「やり直し」でよく使う「Ctrl-Z」を入力するには、
と入力します。



ログファイル


cell4winReg.exeでログフォルダを指定すると日付毎に通信ログファイルを出力します。
(例、C:\cell4win\log\20051127.log)
ログはテキスト形式で記録されます。

1回のアクセスに4行分のデータを記録します。
  1行目: 日時・クライアントアドレス・接続ポート
  2行目: 携帯からのHTTPリクエストヘッダー(全て)
  3行目: 簡易暗号を復読した文字列
  4行目: cell4winからの応答ヘッダー(全て)

エラー時(パスワードエラーを含む)には応答を返さないので
  3行目に(no response)と記録します。4行目はありません。




暗号について

セキュリティを高める上で避けて通れないのが暗号です。
cell4winでは、疑似乱数シャッフルによる暗号を行っています。

このような単純な暗号では心許ないと思われるかもしれませんが
cell4winに限って言えば、RSAのように公開鍵を作成する必要はないのです。
(なぜなら、クライアント(携帯)もサーバ(PC)も自分の所有物ですから)
通信経路に鍵の一部(あるいはヒント)を残さないのであれば、単純なものでもかなり安全です。

このロジックでは時間成分を鍵に含ませることで、より強固な通信としています。
携帯側処理時間の問題から、暗号・復読方法は非常にシンプルです。
何らかの方法で、複数の上り又は下り電文・及び通信日時を入手し、ソースコードを元に総当たり的に
パスワードを試すロジックを作成されてしまうことが懸念されますが、
HTTP電文そのものを入手することは困難であるし、そこまで漏洩しているなら、
既にスパイウェアが入っているでしょう。

簡単で有効な安全策は、cell4winでアクセスするフォルダをルート(http://xxxx.co.jp/)
ではなく別のフォルダ(例えば、http://xxxx.co.jp/abc/def/zyx/)に変えることです。
変えると言っても、アプリのファイル(cell4win.jam/jar)をこれらの深いフォルダに置くだけです。
ダウンロードされたアプリは、ダウンロードフォルダをベースにしますので、
ダウンロード時のみ入力すれば、使う際にこの長いフォルダ名(URI)を入力する必要はありません。
第3者はこのような深いフォルダを見つけだすことは困難です。
また、使用ポートを標準ポート(80)ではなく別ポート(例、8080)にすることも有効な手段です。
ポートを変えた場合の使い方は、上記例だと http://xxxx.co.jp:8080/abc/def/zyx/
にある cell4win.jam/jarからアプリをダウンロードするだけです。

cell4winがドコモからの通信しか受け付けない設定となっていれば、より安全です。
つまりiアプリ経由でしかアクセスできないので不正アクセスはより困難になります。
(具体的な方法はそれぞれの運用方法@〜Cをご覧下さい)

SSL通信との併用も可能です。
AとCの方法がありますが、簡単なのは Cの方法 です。
既に簡易暗号が掛かっていますので特に認証機関(Verisign等)に登録しなくても、
自己認証でも2重の暗号が掛かりますのでかなり安全です。
(自己認証の場合、「安全性が確認されていない」のメッセージが毎回表示されます。)
とことん安全を重視するならAの方法で
「簡易暗号+SSL暗号(Verisign等)+Basic認証やDigest認証」なら完璧ですが、
複数のUserID,Passwordを管理しなくてはならないので運用としては難しいかもしれません。




追記

経由するサーバの種類によっては、初回の接続時、iアプリのダウンロードに失敗する場合があるようです。
これは、iアプリのjamファイルに記載されているPackageURLに正確なjarファイルパスが
指定されていないことに起因するようです。
このような場合には、cell4win.jam の PackageURL をメモ帳などでフルパスに変更してみてください。

修正前
PackageURL = cell4win.jar
AppSize = ...
AppName = cell4win
...

修正 @の場合
PackageURL = http://www.xxxx.co.jp/xxxx/cell4win.jar
AppSize = ...
AppName = cell4win
...

修正 Aの場合
PackageURL = http://www.xxxx.co.jp/xxxx/cell4win.jar
AppSize = ...
AppName = cell4win
...

修正 BCの場合
PackageURL = http://www.xxxx.co.jp/GSDLL2/cell4win.jar
AppSize = ...
AppName = cell4win
...

(ken3 様、ご報告ありがとうございます。)



※本書の内容の一部、または全部を無断で転載することを禁止します。
※本書の内容については、将来予告なしに変更することがあります。
※WindowsおよびMicrosoftは米国Microsoft Corporationの登録商標です。
  その他の商品名は各社の商標または登録商標です。


ご意見ご要望は、info@hundredsoft.jp  まで

Copyright (C) 2003-2008 HUNDREDSOFT CORPORATION All Rights Reserved.