IT」カテゴリーアーカイブ

停止中の仮想マシンの存在は、管理コンソールからしか見えない。

まぁその、LAN上に存在するマシンの存在をどうやって知るか?ですが、LAN上に、自分が特権的権限を持つマシンを1台持てば、LAN上に流通するパケットから、どんなマシンがあるか推論を始めることが出来ると思います。

特権的権限を持つというのを、言い直しますと、root権限とか、administrator権限をもつアカウントを持てばと言うふうに言い直せるかと思います。

特権的権限を持つrootなりadministratorの権限であれば、LANインタフェースをプロミスキャス・モードで動作させることができるのです。これで何が出来るかと言いますと、自分のIPアドレス宛ではない通信、自分のMACアドレス宛じゃない通信も含め、LAN上に流通するパケットを拾うことが出来ます。のでよそ宛通信も解析が出来ます。ただし、昨今、SW-HUB(スイッチングハブ)が定着しましたので、そもそも自分のLANインタフェースまで、よその通信が流れてこなくなりました。しかし、LAN上に存在するコンピュータは、大方ブロードキャストをしますから、全体に向けて投げられるブロードキャスト通信は飛んできますので、それを手がかりにすれば、活性化しているIPアドレスやMACアドレスを知るチャンスが有ります。

怖いですね、他人が自分のLAN上の何処かのマシンで、特権的権限を持つアカウントで活動をしますと、自分のLANに存在する他のマシンを推測されかねないし、自分のLANを乗っ取られたり、破壊される危険性があるということなんです。ですので、特権的権限を取得可能なユーザーアカウントや、そのパスワードが漏れると言うことはとても怖いことですね。

PCの電源をOFFにしておくか、LANケーブルを抜いたPCは、リモートからの攻撃に対して強いというか、リモートからでは、手も足も出せない。

ので、家族と同居なら、LANケーブルを普段は抜いておいて、必要なときは、電話で家族を呼び出して、差し込んでもらう。とか、すると外部からの攻撃にやられるリスクを最小限に出来ると思うのです。電源OFFにしておいて、ONにしてもらうのもいいですね、起動時間が少々かかりますが、リモートから電源OFFすれば、家族の手を煩わせずに切断できます。

また、家族と同居じゃない場合は、仮想マシンのホストサーバーを動かしておいて、リモートから管理コンソールにアクセス出来るようにしておけば、必要なときに必要なサーバーを起動させてLAN上に出現させるということも出来ると思います。この場合最大の問題は、管理コンソールを乗っ取られると、ホストサーバーを乗っ取られますので、電源OFF状態(停止状態)の仮想マシンのイメージを、抜き取られたり壊されたりしかねないと言うとても、重大なリスクを背負います。

ADSLの契約をした頃に、遊びでやったことがあるのは、たまたまブロードバンドルータがtelnetでログイン出来て各種操作をCLI(コマンドラインインタフェース)で操作出来るタイプでしたので、次のような細工をして遊びました。

2台のPCを常時起動させておき、1台はメールのPOP3サーバーをチェックするサーバー、2台目はリモートでログインして作業するサーバー。

機能1:起動させた1台目のLINUXマシンから、5分毎に、プロバイダのPOP3サーバーにアクセスして、到着メールのリストを拾い、ある特定のサブジェクト(待機サーバーへの転送機能活性化用メッセージ、非活性化用メッセージ)のメールが届いていないかをチェックさせる。

機能2:ある特定のメッセージを含むメール到着を確認した場合、ブロードバンドルータにアクセスして、待機させてある別の2台目のLINUXサーバーへの転送機能を活性化、または非活性化させる。

機能3:リモートでログインして使うために起動させておいた2台目のLINUXサーバーでの作業終了時に2台目のLINUXサーバーからログアウト後、ルータの転送機能を非活性化するめに、若干時間をおいてから、1台目のLINUXサーバにある機能2の非活性化を動かす様に、2台目のLINUXサーバから依頼をする。

自分宛のメールで、秘密の呪文をサブジェクトに書いて投げないと、常時起動させてある2台目のLINUXにはアクセスできない。1台目のLINUXはPOP3サーバーのチェックをしているだけであり、外部からアクセス出来るルートは作っておかないのでアクセスされない。

こういう仕組みを作っては見たものの、私には使い道がありませんでした。

理由は、仕事に関する資料は、持ち帰らないし、自宅に置かないし、ましてや自分のPCには入れないと、心に誓っていたからと、もうひとつは、プライベートの時間に持ち歩くノートPCは、そこそこ高性能であり、写真とか音楽とかは普段持ち歩くPCに入れていて、リモートでLINUXにログインして、何をすることもなく。UNIX系コマンドのマニュアルを読むために、man awk とかする程度だったので、そんなに使い道はありませんでした。

そういうことも有り、ADSLを導入した時代から、このブログを始める2ヶ月前まで、自宅のLAN上のPCは、普段全て電源OFFでした。

昨年、村の役が回ってきまして、回覧文書の作成やら配布やら、イベントの周知や取りまとめ等PCを使う作業を避けて通れない事態になりましたので、一切ネットに繋がないPCとして、1台新規で購入しました。参加予定者の名簿とか作るとややこしそうなので、結局そのPCはスタンドアロンで使いまして、その後もそのPCは、完全スタンドアロンです。

ところで、外部に漏れてまずい情報とか扱いましたのけ?というと、そんなでもないのです。外部に漏れてまずい情報は扱わないと、最初から判っているなら、MSのオフィス365って、便利ですよね。SKYPE通信料金も含まれているので、役員同士の電話台節約ができそうだとか、オフィス文書や、写真等をMSのサーバーに預けておけば、モバイルデバイスからアクセスできるので、自宅PCを持っていなくても、公民館に見に行かなくても、情報にアクセスできる。役員さんのチャットも出来るので、相談に一々夜集まる必要性を最小限に抑えられる。とか、便利です。

「それは、漏らしちゃダメだろう」を情報アセスメントをやって区分けするのが難しくて、取り敢えずPCにあるデータは一切ネットに出さない様に、スタンドアロンです。

個々の情報について、仮に外部流出してもOK、か、そうじゃないかを見極める力量は、パソコン技術習得とは無関係な領域にあって、結局スタンドアロンにしちゃっています。

逆に言えば、外部流出しても構わない情報で飯を食う人にとって、今のIT時代はパラダイスのはずですよね。

漏れれば漏れるほど、儲かる職業って、どう言う職業があるんでしょうね。

ちなみにproxmoxの仮想マシンマネジメント(リモートから仮想マシンを動かす停止する、作る消す)をするには、PCが必要ですが、なんとiPhoneからもProxmox操作ができます。大した情報も入れてない空っぽの仮想マシンなら、ほっとけばいいじゃないか。とも思うのですが、出先で、iPhoneから自宅の仮想マシンを起動させる、停止させる、処理負荷の度合いをチェックする等が出来ると思うと、なんかワクワクしますので、無意味に起動停止をさせてみたりして、遊べます。

改竄されたら困るけど、改竄されな仕組みで運用できるなら、通販サイトや商品広告や、一般利用者向けの製品マニュアルとか、そういうのにはよさそうだなと思います。

まったく新しい物の創造と、既存の物を足すという手法

半分シャレで、半分本気。
数年後、誰かが、パチンコ店と競争しているかも。
で、それは、何か?
まったく新しい物の創造にむけ、既存の物を足すという手法が有るというので、
「パチンコ店の形態」と「ゴミ分別」や「軽作業」を足して、
まったく新しいものを考案できるかな?。と考えて見ました。

パチンコって、好きな人と、まったく行かない人と、両方有りまして、私はと言うと20歳ぐらいの頃、就職して数年立ったあとで、若干財布に余裕が出来たのと、先輩に付いて行ったりで、ちょっと通ったことが有りました。でも、戦績が芳しくないまま、離脱してしまったチームです。

パチンコについての印象は、時間をただ浪費するの虚しさ(と私には感じられます)、神経を使い(人によっては現実逃避ができて気が休まるそうですが)、苦労して得た稼ぎを浪費(中には、勝っている人も居るらしいですが)する。そんな場所に通う人の気がしれない。と言う思いで見ております。
先月8万負けたとか聞きますと、パソコン買えるジャンと思ってしまいます。

ハマるというと、ゲームにハマって徹夜する人も、何らかの共通する中毒性というか、惹きつける物があるように思います。

毎朝の通勤電車とか、通勤ラッシュ、交通渋滞。大方のサラリーマンは、金曜クタクタになりながら、月曜何事もなかったかの様に、また会社に出かけます。あれは、一種の常習性化、中毒症状なのではないか。ゲームもパチンコも就労出勤も何か、似て居る気がして。

就労出勤に関して、常習性、中毒症状を喚起する要因は何か?、金銭稼ぎや、達成感、仲間との一体感、社会的ステータスの向上、上昇心や向上心を満足させ成長を実感するとか、家族を養っている充実感、等が考えられます。

ゲームは、画面クリアとか、宝物を発見とか、怪獣キャラクタを倒すとか、3Dで表現される最新映像で、5感を刺激されるとか。惹きつけられる物が有るのでしょう。ゲーム設計者の腕と感性が卓越していて、人間の特性を理解し惹きつけるゲームに仕立てるのに成功しているとか。

パチンコで人は何を得ているのか?は、ケースバイケースの様に思いますが、今なお街中で集客力が有るのは、それなりに人を惹きつけて、やまない何かを掴んでいるからなのでしょう。

インターネットが好きな人は、アフェイリエイトや、アドセンスで稼ぐんだとかユーチューバーに成って稼ぐんだとか、言った処で、小遣銭を稼ぐ事すら厳しい現実に止まっており。

昨今、ロボット性能が向上し、多様なセンサー技術が性能をあげていて、しかも頭脳となるコンピュータが激安小型化し、コンピュータ間の超高速通信が無線で出来る時代になり、スーパーコンピュータすらオープンシステムで激安超小型化しており、そこに来て、地球規模のIoTの爆発的開花を目前に控える現在、出来ないことなんて有るのかと思えてくるぐらいに、自由です。

そんな、時代の変革期のさざ波が押し寄せているのに、ついと、時代の流れに気づかないまま、雑多な事柄に追われて終わる日々。

便所が汚い、ゴミ集積場の整理整頓が…。ゴミ分別は自治体の所有する処分場の事情により分け方が異なる。

パワードスーツを着用して、荷役業務で重い物を運ぶのも出来るかも知れないけど、もっと違ったリンクを使えば、ネットカフェ的な端末ブースで、遠隔地に居る大型または小型のロボットに何らかのアシストをする業務をこなせるのではないかとか思えて、例えば、ある種の専門知識を必要とするゴミ分別とか、特殊機材の分解作業とか、そこでアシスト業務を人間がこなせるなら、賃金化出来る可能性が有るので、その時間そこで獲得したポイントを換金すれば、収入にも成るし、達成感も得られるはずで、その様な、技術と人間性の共鳴する何かを、コーディネート出来れば、パチンコや、ゲームに向かう人の流れが、変わるかも知れない。

しかも、体力的にきつくないなら、60歳、70歳、80歳でも、そこそこ稼げる事が有るかもしれない。さらに、端末の個別ブースの住環境が充実すれば、寝たきり老人とか、身体障碍者の人さえ、何らかの社会貢献が化膿になるかも知れない。
ただし、悪意が有ってはいけないし、考慮不足もいけないし、配慮不足もいけないし、最大限の善意に基づく、動きの中で作られていくべきであり、ミスやバグによる被害を事前に想定して、できうるかぎり、被害の発生を避ける仕組みを充実させておく、配慮と優しさが必要であり、そう言う心が無い場合、こう言うプロジェクトをやるのは難しいことと思いますが、誰かが、うまくやり遂げれば、将来そう言う物が出てくると思われて。

知識等の頭脳的アシストと言う事では、普通に税理士さんや弁護士さんや、通訳さんを雇うと物凄く経費がかかるのですが、光速エスパーの肩に載っていた、鳥ロボットの「チカ」宇宙戦艦大和のアナライザーSTAR WARSのR2D2やC3POバビル2世のロデム、の様なプラベートなそして優秀な助っ人が現れると大変にうれしいです。今のスマホには、もうちょっと頑張って欲しい処です。二週間後に(荷物が)届きます。と言うつもりで、「本日、二箱発送しました。二週間後に届きます」と言う文章を翻訳したら、二週間後に人が到着します。と言う文面になったらしい。こういうのはちょっとまずいです。

でも、もしもスマホが頑張ったら、税理士さんや、弁護士さんや、通訳さんは職を失うのでしょうか?失わないと思います。その根拠は利用者となる顧客は人間だからです。人間にしか分からない価値観は人工知能には推論も共感出来ないはずですから、やはり、人間の最大の理解者は人間だろうと思います。

(人情派奉行のドラマを見て涙する人工知能は有るんだろうか?)

あ、ぶぎょう(奉行)と、ほうこう(奉公)は最初の文字が似てるな。

NHKドラマ「おしん」を見て、海外の人が「涙した」、と言う事をTVで聞きました。共感する部分が有ったのだと思います。現代の裕福な若者が共感するのか?ちょっと興味が有ります。アニメなどを見ていますと、製作者の腕次第では、昆虫でも、動物でも汽車でも、擬人化して物語を書けば案外共感できて感情移入出来る様なのですが、そうは言っても大変な作業だろうと思います。特に昨今、ハリウッド映画や、ディズニー映画が世界的に大成功しているのを見ますと、民族や国家に左右されず、受け入れられる共通項を狙いどおりに作り込んでいると言う点で、素晴らしいと思います。携帯電話が国内市場だけをターゲットに製造するより、海外市場もターゲットに含めて製造をするほうが有利になると言う話をよく聞いたのですが、心理学や民俗学に加えて歴史的な分野に精通していると、市場競争力の有る商品作りに役立つのかもしれません。昨今のアニメとかコミックが世界の若者に受け入れられる中で、日本の歴史や民話や神話が海外のそれと融合する様な状況が現れているそうなんですが、世代毎の価値観やとらえ方、考え方についてのリサーチとかは、ビッグデータや、データマイニングで掘り起こすと言うアプローチも出てくるかもしれませんが、そのようなITを駆使して得られたデータをどう解釈するかは、人間の手に委ねられると思います。それも、その業務にたまたま、携わる極限られた人間の手により解釈され、システムに埋め込まれるなり、商品化されるなりして、私たちの目の前に現れてくると思います。最終的に商品なりサービスなりシステムへの「いいね」のフィードバックで総合評価を一般大衆が握るか、そのチャンスは与えられないかです。

親戚の赤ちゃんに、ゴジラのぬいぐるみのパペットをプレゼントしたことが有りました、デモンストレーションとして、赤ちゃんの目の前でゴジラの口をバックリと開けた処、泣きじゃくられてしまいました。でも中学生ぐらいになった、その子に聞いた処、今も大切に持っていると、にこやかに話してくれましたので、価値観というか体応力というかそう言う物は年齢や世代で変化してゆくのですよね。

コンピュータに人間という生き物に対して感情移入させる事が、将来できるのか、分かりませんが、そう言う仕事をする人もまた、成長の途上にあり、すべての人類の感情を知る訳では無いので、他人への共感が出来ない部分は有ると思います。過去の人間の経験を蓄積し、適宜過去の出来事を思い出してくれるツールとか、助っ人として、コンピュータが人間をアシストするのではないでしょうか、そして、その蓄積されたデータの提供を受けて、さらに人間が経験値を増すことで、他人への理解を深めていくのは人間なのでは無いかと思います。

答えが有るのか、無いのか判らない、人生という物。

高校生のカップルに、まだ若すぎると言う両家の両親と、当事者のカップル。高学歴でエリート、高収入ではあるが、高齢で未婚とか、片や、やんちゃで、できちゃった婚で、中退して就職したけど、もう孫が居る。とか。正解がどこなのか判らない。

これは、多様性なのでしょうか。

コンピュータに何を任せ、何を任せないようにするか。

コンピュータに「人間にとって、これが一番いいんだよ」と教える人が居るとしたら、その事がその先の人類の運命を左右し始めるのでしょう。

今すぐにでも子供を欲しい男性と、今しばらくは子供を作りたくない男性が居たとして、一人の女性を巡って、恋争いをしていたとします。ベビー用品メーカはベビー用品を売りたい訳ですから、今すぐ子供を欲しがっている男性との恋愛を成就させれば、経済効果が高いと、コンピュータが考えて、今しばらく子供は欲しくないと思っている男性のスマートフォンの電池消耗を早めたとして、スマートフォンが活動停止して、彼女の前で失態するとか予定時刻のアラームが鳴る前にシャットダウンする等の演出をし始めたら、ちょっと困ったことだと思いませんか?。

スマホで投稿

wordpressを使い始めて2ヶ月が経過しました。
普段はPCの広い画面で執筆しますので、画面に展開されたボタンを押すのは楽ですが、スマホででも投稿は可能です。

画面が狭いので

  1. ボタン類が隠れるとか
  2. 文字列を選択するのに苦労するとか
  3. 選択後、所定の操作ボタンを押すまでに、スクロールさせたりボタンを表示させる必要がありちょっと余計に指が画面に触れると、選択状態が解除されてしまう

とか若干操作がやり辛い面はありますが。
でもしかし、上手にマン・マシンインタフェースが熟れていて、優秀だなと思います。

NATについて

NAT(Network Address Translator)について、ADLSを導入する頃に、あれこれ資料を読んだのですが、わたしが、NATについて、詳細に初めて触れた資料は、YAMAHAさんのサイトの解説でした。その頃は、YAMAHAネットボランチという、ISDNルータが雑誌によく紹介されている頃でした。当時私はADSLを引くために、家庭用ブロードバンドルータを買ったのですが、説明書に記載されているNATと言う機能について解説を探しても、上手に見つけることが出来ず、検索や他人のQ&Aで書かれていたYAMAHAさんの解説ページを読んでNATの機能の勉強をしました。自分が買った機種のメーカの説明でもなのにそれを読んで勉強するというのは若干問題はあるとは思いますが、理解には大いに役立ちました。

で、そのNATに関するYAMAHAさんのサイトを今、探すと、ちょっと、どれだったかわからないのですが、「YAMAHA RTシリーズのFAQ / NATとIPマスカレード」「NAT機能とIPマスカレード機能」等の図すらテキストで表現されている頃のサイトだったと思います。割と新しいと思われるサイトは「NATディスクリプター機能 概要」あたりかもしれません。

ホームネットワークとか、小規模なLANとWANの安全な運用に向けて、色々考えるための、基礎知識として、NATやIPマスカレードや、NAPT等は大切です。

また、そしてインターネット関連の技術仕様をRFC等で閲覧できるとしても、その具体的な実装については、メーカー毎に異なるとか、機種ごとに異なる可能性等が存在する、が伺えます。

同じようなことをやろうとしても、友人と同じメーカの機種、同じ型番、同じファームウェアリビジョンに統一しないと、もしかすると、異なる動作をする可能性があると言うことをのようです。

技術名称と動作について、複数名で解釈が異なるとか、自宅設備で試した結果が、それぞれで同じ結果にならない事が、あり得るということのようです。

その他、あの頃は、何処かのプロバイダーのエンジニアさんがメールマガジンで、いろいろ情報を提供してくださっていて、送られてくるメールマガジンを読ませて頂いてたいそう勉強になりました。それは、「まぐまぐ」の「IPネットワーク考」でした。NATについての回は、「IP Network Thinking No.004]IPマスカレードとセキュリティ」。

「インターネットの実務者「Giggs」が綴る、インターネットとIT関連のニュース&コラムです。」ででも、読むことが出来るかもしれません。

私が読ませていただいたメールマガジンの内容は後に「図解 最新 ネットワークの仕組みがわかる本 単行本 – 2005/9/10Giggs (著)」として書籍として販売されていましたので、整理改定された説明一式を書店で購入可能かもしれません。

WIDEプロジェクト

WIDEプロジェクトについて、以前よりよく見させて頂いております。
勉強になりますので、本当に助かります。

セキュリティー関連で公開キー方式を検索するとよくWIDEプロジェクトのセキュリティーのページが、ヒットしました。わりと古くからあるチャレンジ/レスポンスに関してなども有りました。 インターネットの構成法などや、インターネット時代のセキュリティ管理も。

その他、最近見つけた、勉強になりそうなサイトとして、
般社団法人 日本ネットワークインフォメーションセンターのホームページの右側の「カテゴリー別メニュー」に「インターネットの技術」などが有りますのでリンクを辿って行くと、解説を読むことが出来るようです。,

 

その他、IT関連のスライドをslide shearと言うサイトで、閲覧できるのに気付きました。

昨日は、1日サイト閉鎖状態でした。

当サイトに、アクセスを、いただきまして、有り難うございます。
昨日は、当サイトが一日閉鎖状態になっておりまして、アクセス頂いた方々につきましては、エラーとなってしまい、ご迷惑をおかけいたしました。
本日(2016年7月8日)無事復旧致しました。

なお、平素よりご贔屓頂きまして、ありがとうございます。
今後とも、これまで通り綺譚のないコメントを、よろしくお願いいたします

<経緯>
ブロードバンドルータのPPPOEを操作ミスで切断した事に起因いたしまして、
払いだされていたグローバルIPのアドレスが変化したことにより、
当サイトにアクセスができなくなっておりました。

当サイトを閲覧いただく中で,URL部をご覧頂いたり、記事をご覧頂いて入れば、
推測されると思いますが、当サイトは、CMSのWORDPRESSで運営をしております。

払いだされていたグローバルIPアドレスが変化したことで、
コンテンツに埋め込まれて出される、URL部に記載されるIPアドレスが、
最新のグローバルIPアドレスと異なる古いアドレスで創出されたため、
閲覧いただく皆様の端末から接続できないと言う事象が発生しておりました。

本日、サーバーの/var/www/wordpress/wp-config.phpの中にある、
SITEURLの記述部を過去使っていたグローバルIPアドレスの値から、
新たに払いだされたグローバルIPアドレスに変更することで、
修復完了致しております。

その後、さらにSITEURLの記述につきまして、IPアドレスの記述から、
当サイトのURLであるhttp://bbr-1b92faa.iobb.netに変更致しました。

以上雑駁ではございますが、報告とさせていただきます。

 

CPUについて

CPUを作ろうという書籍やホームページがありますね。

  1. CPUの創りかた
  2. CPUをつくる

具体的なCPUの勉強は専門書籍を見ていただけばいいのですが、「私の思うCPUってこんな感じ」について書いてみたいと思います。

CPUが電子頭脳の中心部ですよね。これにメモリーやらIOデバイスやら、ストレージやら、あれこれ付いてコンピュータを形成しますよね。

CPUは何をするかというと、基本そりゃー計算でしょ。判断もするよね。

そもそもプログラムの解釈実行をしているのはCPUだもんね。

判断をするとか、計算をするとかどういう仕組みんだんだろー?と思うけど、ややこしそうですよね。取っつきにくそう。CPUを創る本は、私はまだ読んでおりませんので、内容はまだ知らないのです。私が読んだのは、どういう本だったかな。

  1. 絵で見るマイコン入門
  2. つくるマイコン
  3. 標準MS-DOSハンドブック

結構たくさん書籍を読みました。中学三年から高校生は、上記の1と2,そして、社会人になってPC-9801を買ってしばらくしてから、上記の3を読みました。

そういう書籍を読む中で、CPUって、こんな感じなんだーと、だんだんつかめてきた次第なんですが、利発な人に比べて納得するのに、随分時間がかかってしまって。

CPU内部構造の説明の一つの例ですが、これを見てもピンとこないと思います。もう一つCPUの内部構造の説明がありますが、こう言うのを見ても、まだ、ピンとくるはずがないと思います。私はTK-80から入りましたので、そのときのCPUはIntel 8080Aだったので、その内部構造の資料(wikiのBlockdiagrammの図)を見たのですが、ぜんぜん、そのピンときませんでした。

何を知ってピンとくるか、何を知って納得するかですが、

  1. CPUの中に何があるんだ?
  2. CPUの中で何やっているんだ?
  3. 判断ってどういうことなんだ?
  4. 演算って何をするんだ?
  5. アンドや、オアや、加算、減算はどうやってやっているんだ?
  6. 命令(マシン語)をどうやって解釈しているんだ?
  7. フラグレジスタってなんだ?
  8. アドレスレジスタってなんだ?
  9. アドレスバスってなんだ?
  10. データバスってなんだ?
  11. フェッチとラッチってなんだ?
  12. デコードって何するんだ?
  13. マシン語体系って、どういう意味?
  14. etc

等と、書き始めると、止めどなく疑問が出てきますが、先の資料を読んだって、そうそう全容を知ることは困難です。だから、早々やすやすとピンとくるはずはないと思います。

私は、相当長い間CPUを理解できませんでした。レジスタがあるとかALUがあるとかACCがあるとかアドレスレジスタがある、スタックポインタがある、フラグレジスタがあるとかは、8080のアーキテクチャの構造図などから学べるのですが、それがどうしたという感じで、ACCの全容は理解できないけど、2進数の半加算器と全加算器は理解できたので、ACCの中身はなんとなく推測はできたし、レジスタも大体は理解できた、アドレスレジスタも、スタックポインタについては、難渋しました、アドレスバスと、データバスとラッチとフェッチは大体理解できましたが、それでもしっくり来ません。

データをロードすると言う意味が、メモリーからCPU内部のいずれかのレジスタにデータを読み込むことだとか、レジスタから、レジスタにデータをコピーするとか、いずれかのレジスタとACC都の演算をさせてその結果をACCに保持するとか、演算結果に応じてフラグレジスタをセットするとか、演算結果がゼロなら、フラグレジスタのゼロフラグ部分を1にするとか、演算結果が桁オーバーしたら、フラグレジスタのキャリーフラグを1にするとか、そういう事は案外簡単に理解できる部分です。

判断とは比較です。

と言う事で、判断について、説明しますと、マシン語に、判断命令(if文)は無いのです。マシン語にあるのは比較命令だけなんです。だから、アセンブラとかマシン語でプログラムを組むときは、判断は比較と比較結果の評価とジャンプ命令で実現します。つまり、「A=Bなら、何番地にジャンプしろ、A≠Bなら、何番地に進め」と言う記述をします。さらっと書きましたが、比較命令で2つの値を比べた結果がフラグレジスタに反映されますので、比較後の評価とは、フラグレジスタの値によるジャンプです。

比較とは引き算です

比較後の評価がフラグレジスタに反映されると書いたのですが、今ひとつわからないと思います。書き直しますと、比較される値から比較する値を引くとか、そういう引き算をしますと、同じ値だったら引き算をした結果は0なので、フラグレジスタのゼロフラグが立ちますので、それを評価するのです。でもまだ、フラグレジスタを評価すると書くとわかりづらいと思います。評価をマシン語命令で書けば、JNZかJZですが、これはJZの意味はゼロならジャンプしろ、でJNZはゼロでなければジャンプしろと言う命令です。

ですので、「レジスタAとレジスタBを比較して同じ値だったら、アドレス8250番地にジャンプしろ。」と言う時は、比較(compareを略してcmp)命令と条件付きジャンプ命令を用いて次のように書きます。

cmp a,b
jz 0x8250

この様にして、概念的に、マシン語レベルで、どういう挙動になるかを理解できてきても、私はしっくり来ませんでした。それは、クロック供給されて内部ハードロジックの連鎖的動作の結果CPUの動きが作られることについて、解らなかったからなんです。その辺りはマイクロプログラム方式デコーダーについて学ぶとだいぶわかってきます。

そこで、マシン語の命令大系とデーコーダーについて学びますとようやく、少しわかった気がしてきました。CPUを学ぶにあたって、小規模なマシン語プログラミングやアセンブラプログラミングだけだと、理解するのが困難な部分があります。それは、高級言語のコンパイラーの動きを知ると、ああなるほどと、改めてCPUの内部構造で理解できる部分が出てきます。さらにOSを学ぶと、CPUの内部構造でああそういう事かと理解できる部分が出てきます。

CPUサイクルとパイプライン処理とか

CPUを理解しようとして、回路とロジックだけを眺めても、知ることのない世界があるのです。それは、コンパイラーや高級言語や、OSを理解して改めてCPUに目をやると納得できる機能がCPUには埋め込まれていますので、総合的に知識を貯めこんでからでないと、おそらく理解はできないのです。

ですので、理解できるところから理解を進めていくしかなくて、結構広範囲な知識を総動員してCPUを理解していく事になりますので、あれこれ好き嫌いせずに全般的に知識を習得していけば、CPUというものを理解できるのだと思います。

閑話休題

自動ピアノは、穴が開いた部分で音符を表現した楽譜を読ませることで、ジャズでもクラッシックでもピアノ演奏を聞くことができます。楽譜の入れ替えが面倒かもしれませんが、一旦楽譜をセットすれば、プロ並みの演奏を奏でます。

ジュークボックスでは、曲目を指定すると、一曲演奏してくれます。音自体はレコードの再生ですがプロの音質を聞くことができます。

そこで、CPUの内部の動きとマイクロコードなのですが、自動演奏ピアノの楽譜のように、動きを指定した楽譜が沢山あって、ジュークボックスのように番号指定できる場合を想像してみると、CPUがマシン語を読み込んでデコードして動くと言う状況が、ジュークボックスで、楽曲番号を指定された後、レコードじゃなくて、自動演奏ピアノの楽譜を読みながら、各部を動かすのと似たイメージになるなぁと、思えます。

命令を読み込むと一連のCPU内部の動作に対応する動きになるのですが、それはデコーダーでデコードした結果、内部の動作の楽譜に類するものに対応するので、機械的に自動演奏されるがごとく、レジスタに代入されたりフラグセットサれたり、レジスタからメモリーに格納されたりと言う一連の動作に還元される様子を思い浮かべることができると思います。

 

問題解決に向けた数学的アプローチまたは、現象の数学的記述による表現

問題解決に向けた数学的アプローチまたは、現象の数学的記述による表現。

過去の偉人はすごいなーと思います。

アグナー・アーラン

クロード・シャノン

プログラミング の効率アップにむけて

プログラミングで、大量に似たような処理を作成するときに、とれるアプローチとして「プログラムを作るプログラムを創る」というのがあります。

これは、ある形式での提出を求められる時に、その形式でプログラムが生成される仕組みを作ることなんです。

ある種の条件を入力値として与えると、求めるプログラムを生成してくれる仕組みを、プログラミングする。つまり作り込むということです。

ちょっと見渡すと、既にその事例は、沢山存在しています。

HTMLは、ハイパーテキストマークアップランゲージですが、まさにランゲージであり言語です。

プログラミング言語と似た様なものです。

当初はWEBページを手軽に作成するツールが高価だったり入手できなかったりで、手作業で一ページづつ、テキストエディターで書いていたりしましたが、今は、結構自動作成される時代になりました。

Frightrada24の画面などは、手作業でかける様なものではなく、最新データをもとに自動生成されています。降雨量や雨雲を見るX-bandレーダーなどもそうです。

HTMLだけではなくて、ほかにXML,VRML,postscriptや Javaなどを自動生成する仕組みも出てきています。

これは、実は、アルゴリズムを自動的に考案するのではなくて、既に考案済みのアルゴリズムを適切に組み合わせることで、求める結果が得られることが判っている部分がについて、自動化を図ったものです。

条件を逸脱したときに、大量のバグを生成しない様に配慮が必要ですし、作成した仕組みに本当にバグが無いかをチェックするのは大切なことであり、実に骨の折れる作業ではありますが、つくれると、大量に高速で生成可能になるので、とても便利です。

電子メールというものについて

電子メールの安全性は、基本、他人がその安全を守れない。言い換えれば電子メールの安全を守れるのは利用者以外にない。と言うことについて。

結局は、受信者にしか判らない方法で、送信者がメールを記述するより無い。

かなり前になりますが、電子メールについて、プロバイダーさんに、質問をしたことが有ります。「電子メールって、第3者に漏洩しますか?」と、その回答は実に的を得た回答でした「電子メールに、どうしても安全をお求めに成りたいのなら、ご自身でしっかり勉強をなさって、電子メールというものについて、熟知してからお使いになるのを、お勧めします。」と言うことでした。その時は、なんて、愛想のない人だろうと思いました。でも、この時頂いた回答は、まさに正解でした。

<他人は電子メールの安全を守れない>
<電子メールは単純なのに、複雑>
<電子メールは安全だと勘違いするシーン>
<空気に録音機能は無いが、メール配送路には記録機能が無い事もない>
<ルータのルーティングと、メール配送経路は別次元>
<完璧な暗号化だと何で判断をすればよいか>
<私の歩いた紆余曲折>

—————————————————————————————————
<他人が電子メールの安全を守れない>
他人は、「使い方を伝授する」とか、「注意換気をする」とか、「便利なツールを紹介する」とか、「どう言うメールアドレスから、どう言うメールアドレスへの送信の場合、何処にリスクがあるかを考慮すると良いよ」とか「何処から送信する場合は注意が必要」だとか「何処で受信する場合は注意が必要」だとか、そういうアドバイスをする事は可能ですが、メールを送受信する人の操作次第で、ヘタをすれば漏れたりしてしまいますから、結局は利用者自身が注意深くメール送受信をする事に成ります。

<電子メールは単純なのに、複雑>
「メールを書いて、送付する。」「メールを受信して読む。」と言うだけの事です。そこに、どんなメカニズムがあるのか?と言う事について、利用者がしっかりわかっているか?というと、これが厄介で、判って無いのじゃないかなと思います。
「メールを読み書きする」という、その行為についてさえ、見た目と、実際の処理メカニズムの認識について、認識がズレていて、正しく理解できていない人は多いと思います。
まず一つ目は、電子メールの方式は一つじゃないと言う事。2つ目は異なる方式間でメール送受信をする例も多いと言う事。3つ目は、送り手から受け手までに経由する経路が、利用者には見えない。
「複雑」だと言う理由ですが、電子メールは、様々な技術を寄せ集めて実現しているので、総合トータルとして安全か、安全ではないかを判断出来るようになるまでは、相当広範囲に深い知識を学ばないと、全容が見えてこない。からです。
方式的に通常のSMTP形式のメール配送だと、受信方式にPOP3とIMAPがあります。

電子メールの方式には、有名なところで、「SMTP形式」と「WEBメール形式」と、「SMS形式」が存在します。

SMTP方式の場合、メールアドレスはPOP3サーバーか、IMAPサーバーにメールアドレスが存在します。そして、メールを預けるサーバーがSMTPサーバーです。プロバイダはSMTPサーバーとPOP3(またはIMAP)サーバーのセットで運用しています。
利用者AとBが同一プロバイダに加入していて、別プロバイダに利用者Cが居る場合を想定では、下記の様になります。
利用者Aから利用者Bへのメールの経路は、利用者AがSMTPにメールを預けると、預けられたSMTPは、宛先を調べます。
そして、宛先がよそのプロバイダではなくて自分のところの契約者の利用者Bだと判ったら次のSMTPにメールを預けずに、自分のところのPOP3にメールを預けます。POP3サーバーはメールを預かり、利用者Bが問い合わせてくるのを待ちます。利用者Bが自分のメールアドレス対応のPOP3サーバーにメール到着確認をすると、到着しているので、ダウンロードをしてメールを読みます。
また、利用者Aが利用者Cにメールを出した時は、利用者AがSMTPにメールを預けますと、メールを預けられたSMTPは宛先をしらべて、自分の加入者じゃなく、よその加入者だとわかると、そのメールアドレス(宛先ドメイン)への方路のSMTPを調べて、そのSMTPにメールを託します。そして、託されたSMTPは同じく宛先ドメインを調べてその方路のSMTPに預けます。そのようにして最終的に宛先ドメインのSMTPに渡ると、そのSMTPサーバは自分のドメインのメールアドレス宛なので、POP3サーバーに預けます。メールを預かった宛先ドメインのPOP3(またはIMAP)サーバは利用者Cが問い合わせに来るのを待ちます。そして、利用者CがPOP3サーバーにメール到着確認に来て、到着を知りダウンロードをします。

smtp

これは、SMTP方式のメール配送の概略です。
また、昨今インターネットが世界的に普及したおかげで、中間のSMTPに預ける例が減り、ほぼ直通で宛先ドメインのSMTPサーバーに預ける確率が高くなりましたが、絶対に直通で預けられるかはケースバイケースであり確約は出来ません。

この方式ですと、SMTPサーバーにメールの痕跡が残るリスクと、第3者がメールを知るリスクが有ります。
またPOP3サーバーやIMAPサーバーへの接続に使うパスワードが漏れると、そこにメールが留まる期間に第3者が利用者のパスワードでログインして見てしまうリスクも有ります。
野良WIFIなどから不用意にメール閲覧をすると、メールアカウントとパスワードを読み取られかねませんから、TLS/SSLで接続を暗号化することで、パスワードの漏洩をガードする事が大事です。

また知識として、POP3方式で言えば、POP3サーバーへの接続に認証が必要か?必要じゃないか?必要ならその認証方式は?とか、SMTPサーバーへの接続に認証が必要か必要じゃないかとか、TLS/SSL暗号化をどのセッションに利用されているかとか、そう言う知識が最低限必要になります。(安全性が確保されたかを厳密に確認する場合に)。

次に、WEBメール形式ですが、これは、代表例がGMAILです。SMTP方式のメールと、どう違うのか?と言うと、メール読み書きにWEBブラウザや専用アプリケーションを使う事で、WEBメールサーバーと端末との接続に、HTTPSと言う暗号化セッションを使う点が異なります。

web

この例では、利用者のA,B,Cについては、WEBメールサーバーとの読み書きの接続はHTTPSの暗号化通信で、読み書きを行いますので、他人がその内容を知るリスクがかなり低いと言えますが、問題は、WEBメールにアカウントを持たない利用者Dへのメール送受信です。利用者Dと利用者A(B,C)の通信は、SMTPサーバーを経由しますので、そこで第3者が知ってしまうリスクが伴います。
関係者全員が一つのWEBメールサーバーにアカウントを持てば、よそのSMTPに預けることがなく、安全だと言えますが、WEBメールサービスを提供する組織にしてみれば、利用者A,B,Cの間のやりとりが時系列的に、全部サーバーに存在するため、そのメンバーの活動をつぶさに知ることが可能となってしまいます。

また、他に有名なメール方式としてSMSが有ります。これは電話番号宛メールといえば判りやすいと思います。これは基本、暗号化はありません。事業者Aの端末利用者から、事業者Bの端末利用者にメールを出す場合に、端末入力された文字列をそのまま渡します。SMSは、ほぼ全世界を網羅していると思います。そもそも、日本では、i-modeメールと言う方式が携帯電話に搭載されましたが、海外ではSMSが主流でした。SMSのメールは制限が多いので、インターネットメールである、SMTP方式やWEBメール方式より表現力が弱いです。文字数制限があるとか、利用できる文字コードに制限があるとか、添付ファイルを付けられないとか、そう言う制限があったと思います。

<電子メールは安全だと勘違いするシーン>
・メール伝送において、7ビット伝送をしている例では、8ビットデータだと勘違いして読もうとすると、まるで暗号文のように文字化けしているが、実は7ビット伝送なので、8ビット伝送用に単純にデータ変換をかければ読めてしまう。

・電子メールに使われるTCP/IP通信はパケット通信であり、文章は細かなパケットに分割されて、相手に渡されるため、途中で盗聴仕様としても、文章の一部しか入手できず、全文を入手するのは困難であると勘違いされがちですが、確かに、ルータやHUBでのモニタリングについては、文章の一部しか一度には入手できず閲覧困難ですが、SMTPメール配送は基本的にはファイル転送方式なのです。つまり、SMTPサーバーからSMTPサーバーへファイル転送されます。同じようにSMTPからPOP3/IMAPサーバーへもファイル転送なんです。そのファイル転送を行う通信手段がTCP/IPのパケット通信なので、途中のルータやHUBでは盗聴はやりづらいですが、SMTPサーバー内部では一つのファイルとして存在する瞬間があるため、このファイルを見られれば、メールを盗聴されてしまいます。

・モバイル端末から出る電波は、電波方式がスペクトラム拡散方式なので、解読は、ほぼ不可能。と言う触れ込みについて、確かにその電波の傍受と解析は困難かもしれないが、通常は、受信者に届く迄に何処かでインターネット回線を経由する部分があり、そこは電波じゃないし、スペクトラム拡散方式でもない。

・送信端末と受信端末の間に、多数の中継サーバーを経由するのが通常だけど、利用者はあまり意識しない。

・多数の中継サーバーの保有会社や団体は、単一の企業一社に収まることは少なく、通常、異なる複数社のサーバーを経由する。そのため、ある組織に対して盗聴したんじゃないかと主張するためには、関連する他の組織の無実を根拠としなくてはならなくなる。

・通信の秘密に関する法律が日本にはあるので、閲覧者が居ても他言できないはず。と思いがちですが、経路が国内に収まる保証がないので、海外のサーバーを経由するときに、海外でデータを閲覧された場合に、国内の憲法を持ち出しても効力が無い。よその国にも通信の秘密に関する法律があると思い込むのは早合点で、無い国は先進国でも多く、仮に通信の秘密に関する法律があったとしてもその内容が日本と異なることも有り、知り得た情報を私的に利活用しないさせない歯止めになっていない

・電子メールのメーラにTLSやSSL対応の暗号化セッションの仕組みを導入して使っているので見えないはず。と思うかもしれませんが、そのTLS/SSLの暗号化セッションは、受信者まで届くセッションではないということ。そのセッションはメーラーと直近のSMTPサーバー間、またはメーラーとPOP3サーバー間までのセッションを暗号化しているに過ぎず、送信においては、直近のSMTPから先は利用者は制御出来ないし、受信においては、自分の直近のPOP3サーバに到達するまでの間について制御できないのです。

<空気に録音機能は無いが、メール配送路には記録機能が無い事もない>
・空気は録音していないので聞き逃すと、話し手にもう一度尋ねるよりありませんが、電子メールは何処かに電子的に保存されているリスクが有ります。

<ルータのルーティングと、メール配送経路は別次元>
・SMTP転送において、あるSMTP-Aから、あるSMTP-Bへのインターネット経路はインターネットの経路ルーティングに左右されます。
しかし、あるSMTPが、次に何処のSMTPに預けるか、(SMTP-AかSMTP-Bか、SMTP−Cかなど)を判断するのは、インターネットのルーティングでは制御出来ません。SMTPサーバの管理者の意向と判断基準により、次にメールを預けるSMTPは決まります。

<完璧な暗号化だと何で判断をすればよいか>
暗号化方式を検証する組織がそんなに無い。利用者としては噂を信じるしか無い。
一例として、ZIP暗号化と言う方式が有りましたが、昨今108秒で解読される時代になりほぼ無意味になりました。
ZIPと言う圧縮方式があり、それに暗号化機能が追加されたものでした。このZIP暗号化はWindowsも正式に対応していたのですが、最近のWINDOWSではZIP圧縮機能は残しているものの、暗号化機能は削除されました。その理由は、ほぼ無意味になった暗号化機能を搭載しておけば、事情をあまり知らない利用者がその暗号化機能を利用してしまうリスクがある事と、無用な安心感を与えてしまう誤解を与えてしまうため、その問題を避けるためだったと思います。

<私の歩いた紆余曲折>
・niftyやasahi-net等複数のBBSに加入しそこでメール機能を利用していました。当初どこのBBSも相互乗り入れをしていませんでした。ですから、加入するBBS毎の自分のUSER-IDやそれに対応したメールアドレスを持っていました。そのため、コメントを書いたり意見を述べた場合に、私にだけ何かメッセージを送りたい方には、私のUSER−IDやそれ対応のメールアドレスに、ご連絡いただくことになります。
相互乗り入れがないので、私宛のメールがよそのBBSに飛ぶなんてことは考える必要はありませんでした。
・やがて、BBS相互間で、相互乗り入れをする事例が出てきました。niftyとconpservが相互乗り入れをしましたので、日本のnifty加入者はアメリカのcompservの、かなり多くの利用者との直接メール送受信が出来る時代になりました。
この時、niftyのUSER-IDをメールアドレスとしていたのを新たなメールアドレスに変更する必要がありメールアドレスは変更になりました。そして、メールアドレス変更の時に届いたのが、今後のメール送受信での注意事項・留意事項というもので、結構な長文で、注意喚起の内容が届きました。メールアドレスを間違った場合、そのメールアドレスが存在するなら、機械的に届くので、取り消しは出来ないと言う事。メールサービス提供を一社でやっていたBBS時代なら、利用者サービスの一環として、今、出したメールを取り消したいという無理な要望にも答えられたかもしれませんが、よその会社との相互接続では、そう言う利用者サービスは、困難だったのではないかと思想像します。文化も法律も異なる海外とつながるので、トラブルについては一切関知できないので自己責任で対処する必要が有ります。と言うようなことだったと思います。

・PHSのキャラメール、ドコモのPHSに閉じたメールで、とうとう最後まで、相互接続はなかった。

・アメリカ以外の、しかもパソコン利用者じゃない人と、メールする必要が生じた。そこで、調べた結果わかったのは、i-modeメールより、SMSの方が当時(2009年ごろ)はメジャーだということ。端末機種ごとに文字コード体系が異なる場合があり、まず、日本語でSMSを送受信できるのは、日本のメーカの端末しかなく、漢字文化圏の端末でも漢字コードが異なると文字化けして全く読めない。せいぜい1-9,a-z,A-Zくらいしか文字を使うことが出来ない。

・BBSアクセスをワードプロセッサ専用機でやっている人たちが居た。パソコンと異なるコード体系を持つワープロ専用機でBBSに書き込みをされると文字化けして読めない。が同じコード体系の機種を持つ人同士は読めていた。つまり海外と相互接続担ったあとも、ワードプロセッサ専用機を持ち出す人のメールはコード体系が異なるので他人が読みづらかった。というか、niftyとcompservが相互接続をやり始めた1986年の頃には、漢字コード体系を搭載するOSとしては、MS-DOSの日本語版とかWINDOWSの日本語版ぐらいしかなくて、海外で一般的に利用されるWINDOWSやMS-DOSで漢字を表示できなかったと思われます。そのため、日本人同士の漢字かな混じりメールを仮に傍受しても、表示が困難だったのではないかと思います。

・S/MIME暗号化方式の練習。FreeCAと言うサイトが現れて、通常は高価な「公開キー/秘密キー」のセットを無料で払いだしてくれた。事が有りまして、友人とS/MIME暗号方式を試しましたが、暗号処理の負荷がかかりまして、PCがあっつあつ。5人なら、5人毎の公開キーをもらって、それぞれに暗号処理をかけて送り出しますので、単純にCcで5人に当ててメールを出すときに、暗号化なしなら、瞬時に送信処理が終わるのに、それぞれに対する暗号化を行いますから時間がかかりました。でも現在の高性能PCなら、瞬時に送れるでしょう。当時はきつかったです。それと、受信したメールは暗号化された状態で保持されるので、閲覧毎に解読処理が必要であり、やっぱりパソコンがアッツアツになった。これも、当時のPCの非力さゆえの出来事であり、今のPCなら、難なくこなせると思います。
暗号化された状態でメーラーで保持されているので、メール検索が出来ない。
暗号化された状態で保持し続けると、やがて、認証キーの有効期限切れで、暗号解読できなくなる。これについては、パソコンの内部時計を戻せばいいじゃないかと思えますが、大量のメールの引越し作業が発生するので辛い。
メーリングリストとS/MIME暗号方式はあまり、なじまない。S/MIME暗号方式はメールアドレスに対応して暗号化をしますので、メーリングリストの場合、どうすんねん。と言う課題が生じます。解決ソリューションは存在しますが。きちんとメールのことを理解してからやらないと、失敗した時に責任の重さに潰されそうになります。取り敢えず、チャレンジするけど、失敗した時はごめんね。でやらせてもらえれば問題はないのです。

・国家間で軋轢があるような報道を見るにつけ、通信の安全を確保する約束が双方の国家間で保たれる努力が正常に行われているか疑問。言い換えれば、ITでシステムを作るときに通信の安全を確保できないと困るわけで、確保するには法的歯止めなどが正常に機能していることが前提なわけであり、それには、各国が仲良く歩調を合わせている事実がを見ないと信用できないわけでして。それが、実現できる日が来るまでは、通信に信頼を置く根拠がないので、切断とか、改ざんとか、盗聴はあるものとして、事に当たらざるを得ない。

・世界のインターネットメール配送網は、複数の異なる会社や団体、個人の設備で成り立っている。
サーバーとサーバー間の回線は電話会社の設備を借りるけど、コンピュータやサーバは電話会社の設備じゃないし。
・迂回路等で、経路は時々刻々変化している。
・サーバー故障時代替サーバーに、瞬時に切り替わる仕組みは何処にでもある。
・インターネットメールとその配送に係るソフトウェアは単一では無く、改造版もある。
・法的に歯止めがかかっていない国家を経由する通信を利用者が認識できる手段も、保証もない。

インターネットメール配送について、届いていればOKじゃん。
安全を求める声を上げて複雑化させることに意味はないのじゃないか。
それよりも、送信者は、受信者にだけ解読できる文面でメールをする事を考えるか、デリケートな内容はメールに書かないほうがいいのじゃないか。

と言う事で、他人のメールの安全を守ってあげることはとても困難だと思えて。