ブログ

量子コンピュータ関連書籍を読んで(その3、その4)

2024年10月6日(平石)

3.量子コンピューター・シミュレーター
 なんだか、たくさんの本を読んだみたいなタイトルだが、実は、読了したと言えるのは、

   「先読み!IT×ビジネス講座 量子コンピューター(湊雄一郎、酒井麻里子、ISBN978-4-295-01737-0)」

一冊だけである。他には、読みかけの本が何冊かあるが、それ等については、またの機会に。

 この本には、量子コンピューター・シミュレーターが紹介されている。
 そのURLは、

http://qplat-education.devel-q.com/

である。このリンクを開くと、下図のような量子コンピューター・シミュレーター画面が表示される。この画面の表示は、ブラウザ等によって微妙に異なるが、内容としては同じである。

画面は、3つの領域に分かれている。  

  • 左は、「ゲート」の一覧である。
  • 中央は、「キュービット」に「ゲート」を配置した図である。
  • 右は、「計算」結果などを表示する。

 「キュービット」(「量子ビット」とも呼ばれる)は、左端に各キュービットの初期値である|0〉を持つ水平の線で表示される。
 キュービット上では、時間は左から右へ進む。
 量子コンピュータでも、繰り返し処理は可能であるが、これはシミュレータなので、時間は一方にしか進まない。
 値|0〉は、古典コンピュータにおける0(false、yes/noのno、偽)に当たる。
 1(true、yes/noのyes、真)に当たるのは、|1〉である。
 単に0、1と書かないのは、これらが「ベクトル量」とでも言うべきものだからである。

 「ゲート」を、ドラッグ&ドロップにより中央部に配置し、中央部右上の「EXECUTION」をクリックすると、「計算」が行われ、その結果が右部に表示される。
 だだし、ゲート種別名に「two」あるいは「three」と付いているものは、複数の「キュービット」にまたがって配置しなければいけないので、後述する調整操作が必要になることがある。
 「ゲート」は、古典コンピュータにおける「ゲート」との機能的な類似性からそう呼ばれる。
 しかし、古典コンピュータとは違って、「ゲート」は、いわば「『量子』の照射のしかた」である。
 「量子」を照射することによって、そろばん珠を指で弾いたのと同様に、キュービットが「値」を変える。

 「ゲート」一覧の一番下にある、measurement「M」ゲートは重要である。これは、「計算」をするゲートではなく、計算結果を「観測」する。だから、各「キュービット」の一番右に、一つずつ置かれることになる。

 この本に説明のある、他のゲートについて説明しておく。
   pauli gate「X」。これは、キュービットの値を反転させる(コインをひっくり返す)。
   one qubit gate「H」。「コインを回す」と表現されている。
      表が出るか裏が出るか、「観測」されるまで分からないということ。
   two qubit gate「CX」。2つのキュービットの値により、計算結果が決まる。
      配置すると、黒丸と四角に「X」が縦線で結んだ表示となる。
      1つ目のキュービット(control bit)の値は不変。
      2つ目(target bit)は1つ目が偽のときはそのまま、1つ目が真のときは反転。
      つまり、2つ目は両者の排他的論理和となる。
   tree qubit gate「CCX」。3つのキュービットの値により、計算結果が決まる。
      配置すると、黒丸2つと四角に「X」が縦線で結んだ表示となる。
      1つ目、2つ目のキュービット(control bit)の値は不変。
      3つ目(target bit)は、1つ目、2つ目がともに真のときにのみ反転する。

 ここで、「CX」や「CCX」のような、複数のキュービットにまたがるゲートのキュービットの指定方法について述べておく。
 「画面右の[Result]を[Detail]に切り替えたうえでブロックをダブルクリックすると云々」とある。
 例えば「CX」と「CCX」をドラッグ&ドロップにより配置し、[Detail]をクリック。下図のようになる。

 「CCX」をダブルクリックすると、下図のようになる。
 このとき表示される数値は、黒丸2つと四角に「X」の位置であるが、先頭のキュービットの番号は0、つまり「ゼロオリジン」となっている。

 実は、筆者がマウスでダブルクリックしたら、[Detail]は空白のままだった。
 しかし、パソコンに内蔵のポインティングデバイス(タッチパッド)でダブルクリックしたら、見事に表示された。
 この発見に至るまで、数か月にわたり、この本の著者、コンピュータ・ユニオンのソフトウェア・セクションの特に技術部の方々にご迷惑をおかけしたことをお詫び申し上げます。

 [Detail]に表示された、[control bit1]、[control bit2]、[target bit]の数値を書き換える。
 すると、対応する黒丸2つと四角に「X」が、指定されたキュービット上に移動する。
 これで、当該の「CCX」は、配置したいところに配置された。

 

 中央部左上の「Qubits:5」とあるのは、使用する「キュービット」の個数。この数値を変更すると、表示される「キュービット」の個数が変わる。
 その隣の「Shots:1000」は、計算回数。古典計算機上では、同じ計算を多数回行うことで、確率が求められるので。

 中央部右にあるポリバケツは、配置されているゲートをすべて捨てる。「ご破算で願いましては」ということ。

 ポリバケツの下に並んでいるのは、中央部の表示倍率の調整用。

 

 シミュレータの操作法が分かった(と思えた)ので、やってみる。
 上2ビットの足し算で、3ビット目が10の位、4ビット目が1の位。下図が、その結果。

 最下行に、[ [ “0101”, 264 ], [ “1001”, 254 ], [ “1110”, 248 ], [ “0000”, 234 ] ]とあるが、
これは、
  計算結果="0101"となったのが、264件
  計算結果="1001"となったのが、254件
  計算結果="1110"となったのが、248件
  計算結果="0000"となったのが、234件
という意味である。計算結果は「観測」されたものなので、ベクトル量ではなく、スカラー量である。
 ちゃんと計算できているもののみであることが確認できる。

 

4.量子コンピューターはピアノ?
 筆者は、以前、「量子コンピュータはそろばん」と書いた(量子コンピュータ関連書籍を読んで(その1、その2))。
 しかし、この本には、「ピアノの鍵盤のようなものが並んでいて、それを演奏するようなイメージ」とある。

 ピアノとそろばんとでは、かなり違う。
 どちらが正しいのか、あるいはどちらも正しいのか。

 そろばんは、指ではじくことによって、たまを動かして計算する。
 ピアノは、指でくことによって音を出し、人間のたまに働きかける。
 やはり、ピアノとそろばんとでは、一見、違うように見えて、よく似ている。
 だから、きっと、どちらも正しい。

一覧表示 ▶︎ スタッフの日記

OracleからPostgreSQLへの移行について

2024年8月27日(staff)

IT資産にかけるコストを少なくするようになってきている為でしょうか。
OracleからオープンソースのPostgreSQLに変えたいというニーズは昔からあるものの、最近は以前に比べ急増してきているように感じます。
Oracleのソフトウェア費用が高いことに加え、仮想化環境におけるライセンスの考え方により、必要以上に費用が掛かってしまうことが理由とされています。
ところがPostgreSQLに変えたくとも、変えられない場合が多く見受けられます。
PostgreSQLへの移行に関する問題点をいくつか列挙しますので、PostgreSQLへの移行を検討する際の一助となればと思います。


(1) SQL
アプリケーションにて自前のSQL文を使用している場合、Oracle固有のSQL文があった場合、SQL文の修正または新規のSQL文の作成が必要になります。
SQL文の修正または新規のSQL文の作成が多いほど、PostgreSQLへの移行は困難になります。
アプリケーションにおけるすべてのSQL文が対象となるため、対象の把握が困難な場合があります。プログラムで動的にSQLを生成している場合は特に注意が必要です。


(2) ストアドプロシージャ
OracleとPostgreSQLでは、構文、エラーハンドリング、トランザクションの管理などが大きく違うため、大規模な修正や新規ストアドプロシージャの作成が必要になることが度々発生します。
アプリケーションがストアドプロシージャに多く依存している場合は、PostgreSQLへの移行へのハードルが極めて高くなります。
なお、ストアドプロシージャの修正の難易度や修正に要する工数は、ora2pgというプログラムにてある程度は確認できます。


(3) データベース構成
大規模データベースでは、性能や耐障害性を考慮して、Oracle RAC構成を採用しているケースが多いかと思います。
PostgreSQLに移行する場合、どんなクラスタ構成を採用しても、更新処理ができるノードが1つしか存在しない点に留意するがあります。(Oracle RACではどのノードでも更新処理が可能)
また、更新結果が更新ログの転送により他のノードに伝播されるため、タイムラグが発生することにより、別のトランザクションで更新結果が反映されていないデータを読み取ってしまうリスクもあります。
更新処理が多い場合はネックとなるかもしれません。


(4) データベース運用
データベース監視や運用については、Oracleの考え方がほぼ援用できませんし、データディクショナリも全く違うので、運用設計からやり直しとなります。
自前のスクリプトで情報採取を行い監視していた場合ですと、すべて新規作成となります。


(5) コスト
今後のOracleソフトウェア費用よりも、PostgreSQLのソフトウェア費用にPostgreSQLへの移行費用を加えた金額が小さくなることを見込んで、PostgreSQLへの移行を検討するものと思います。
(PostgreSQLへの移行費用は、コンサルティング費用、データ移行とアプリケーションの改修の合計とします)
多くの場合、アプリケーションの改修費用がかさみ、PostgreSQLへの移行費用が大きくなりがちです。
ソフトウェア費用を節約するため、サポート契約なしで素のPostgreSQLを利用することを考えるかもしれませんが、バグデータベースへのアクセスやPostgreSQLのノウハウの提供がサポート契約により得られることを考えると、ある程度の規模以上の企業ではサポート契約なしにPostgreSQLを使用することは必須ではないでしょうか。
そのため、ソフトウェアの利用期間などを考慮すると、Oracleのままでも問題ない、多額のコストをかけてPostgreSQLに移行する利点はないと判断するケースもあります。


以上

一覧表示 ▶︎ スタッフの日記

量子コンピュータ関連書籍を読んで(その1、その2)

2023年8月4日(平石)

1.電卓型とそろばん型
 量子コンピュータに関する文献を読んで、もしかして、情報処理システムには「電卓型」と「そろ ばん型」があるのではなかろうかと思うようになった。
 電卓型は、たとえば下図。

 「ここから上は出力」、「ここから下は入力」で示したように、入力場所と出力場所とが、きっちり と分かれている。

 人間の脳の細胞(ニューロン)も電卓型。入力場所と出力場所は分かれている(下図)。

 「そろばん型」は、適切な画像が無いが、要するに、入力と出力が分かれていない。

上図は、筆者が小学生の時に買ってもらったもの。


 そして、古典コンピュータ(従来のコンピュータ、現在のコンピュータ)は概ね電卓型、量子コン ピュータは必ずそろばん型となるらしい。


 それは、量子コンピュータが、「波の重ね合わせ」を計算するものだからだと思われる。
 例えば、少量の放射性物質と、それが放射性崩壊したときにそれを検知する検知器と、検知器に連動して瓶を叩き割るハンマーとを箱に入れて蓋をする。放射性崩壊は量子現象なので、ふたを開ける前は、瓶が「割れている状態」と「割れていない状態」との、波としての重ね合わせになっている。
蓋を取らなければ、割れているのか割れていないのか決まらない。蓋を取って箱の中の情報を外部に出力すると、割れているか否かが確定してしまう。つまり「割れていない」と「割れている」の両方があったものが、一方だけになってしまう。
 「量子コンピュータは、このような箱をたくさん並べたようなもの」という意味のことが、「でたらめの科学 サイコロから量子コンピューターまで(ISBN:978-4-02-295104-5)」に書かれている。なので、計算の途中で「波の重ね合わせ」でなくなってしまい、瓶が割れているか否かが確定しては、まずいのである。

 「ゼロからわかる量子コンピュータ(ISBN:978-4-06-528299-1)」に、下図がある。

 この図で水平線は同一の〝もの〟である。〝もの〟としては一つであるが、〝状態〟は、複数の状態の重ね合わせである。
 量子コンピュータのプログラミングは、上図のなどの「ゲート」を、どこに配置するかを考えることになる訳である。
 量子コンピュータにおける「ゲート」は、「偏光を当てる」とか「磁場をかける」などの操作である。そろばんにおける、指の動かし方に相当するものだと思う。
 そして、ややこしいことに、「一番上の瓶が割れていない状態と、二番目の瓶が割れている状態の重ね 合わせ」などというのもありうる。上図で縦につながった「ゲート」は、このような、複数の瓶の状態の 重ね合わせに対する操作であろう。
 ということは、古典コンピュータのプログラムが、基本的に1次元であるのに対し、量子コンピュー タのプログラムは、ほとんどの場合、2次元以上となるのではなかろうか。
 ちなみに、は、状態を表現するもので、左側に縦線、右側に閉じ括弧(〉)を書く。

 

余談:
 テレビの時代劇を見ていたら、五珠が2つ、一珠が5つのそろばんが使われていました。
 ネットを検索すると、「もともと13世紀ころ中国で発明された算盤は、重量の単位で1斤=16両、面積の単位で1市頃=16市畝など、16進数が計算できるように、五珠が2つ、一珠が5つだった。」ということのようです。


2.量子を使っているから量子コンピュータと言う訳ではないということ
 今日使われている、いわゆるノイマン型コンピュータは、「電子計算機」とも呼ばれている。「電気 計算機」とか「電動計算機」とか言うと、別のものになってしまう。つまり、電気を使用していることが 本質なのではなく、電子を使用していることが本質なのである。
 そして、電子は、量子の一種である。
 今日のコンピュータには、半導体が使われている。半導体にはn型半導体とp型半導体があって、それらの薄片を何層にも貼り合わせたものを使う。
 そして、電流は、p型半導体からn型半導体へは流れるが、n型半導体からp型半導体へは流れ ない。
しかし、そのn型半導体のところにもう一つp型半導体をくっつけて、そのp型半導体からn型半導体に電流を流すと、流れなかったn型半導体からp型半導体への電流が流れる。
 この不思議な現象は、量子論によらなければ説明できない。そもそも、なぜn型半導体とp型半導体とが存在するのかが、量子論によらなければ説明できない。
 今日のコンピュータは、これらの量子現象を演算処理等に使っている。
 量子を使っているにもかかわらず、今日普通に使われているパソコンやスーパー・コンピュータ は、量子コンピュータではない。
 たとえば、「量子コンピュータの衝撃(ISBN:978-4-299-00338-6)」には、「古典コンピュータは電 子を使っているのに、何故量子コンピュータと呼ばないのか」という疑問が表明され、それなりの回 答を示している。しかし、「粒子の数が多くなると波のように見える」などと的外れなことを言ってい る。
 筆者は、この回答も含めた諸々の考察の末、「電子を個別処理するのが量子コンピュータ、 電子を集団で処理するのが古典コンピュータ」という結論に達した。

 

【参考にした文献】(量子コンピュータ関連書籍+平石の一言.pdf)

一覧表示 ▶︎ スタッフの日記

標準SQL update操作で必要になるselect権限の付与について

2022年7月3日(staff)

      table 全件update       -> tableのselect権限は不要
      table 条件付きupdate -> tableのselect権限が必要
    
 updateやdeleteの対象となる特定の行や列を指定するには、そのテーブルのselect権限が必要になります。select権限がないユーザが、table条件付きupdateを行うと、例えば“権限不足でエラー”になります。
  
 個人的な思い込みで、レコードのupdateができるのであれば、当然select権限が付与されているだろう、update権限を付与すると自動的にselect権限の付与が補完されるだろうぐらいの認識がありました。
  
[以下が注意したい例]
  
① oracleの"SQL92_SECURITY"パラメータをfalse ー> True に変更した時。 select権限を付与していないテーブルのupdateがエラーになる。
  
② プログラムで動的にSQL文を作成している時、where句がある場合はselect権限が必要になる事に注意。select権限のないテーブルのupdateは、where句が無いときは成功しますが、where句がある時に失敗します。
 

 以上

 

一覧表示 ▶︎ スタッフの日記

ACCESS VBA 複合機(コピー機)のグレースケール印刷指定方法

2022年5月29日(staff)

■複合機側でグレースケール印刷を標準設定しているのに、ACCESSでレポート印刷する際、初期設定のカラー印刷に戻っている。そのたびに設定操作が面倒だ。
 
 [ACCESS VBAによる指定方法]
 
  該当レポートのページフォーマットイベントに以下のコードを追加。

  Private Sub Report_Page()
        Me.Printer.ColorMode = acPRCMMonochrome
  End Sub

 
 [説明]
 
  最近はカラーインクの経費削減で、黒インクのみの印刷が多くなりました。複合機ドライバーのプロパティ設定でグレースケール印刷を標準設定にしています。Word文書、Excel文書等の印刷では、グレースケール印刷出来ていますが、ACCESSのレポート印刷では、カラー印刷になってしまいます。ACCESSでは、なぜか複合機の標準設定は反映されないようです。そこで、上記のようなコードを追加すると、グレースケール印刷のコントロールができるようになりました。
  
  以上、ご参考まで。
 

一覧表示 ▶︎ Webノウハウ

canvasについて続編2―ミウラ折りのデモ

2021年12月18日(平石)

 何年か前、「スマホを2本指でスワイプすると、文字と画像が大きくできる。だけど、画面全体は元のサイズなので、端の方が途切れてしまう。画面も大きくなるようにできないものか。」というような会話をしました。

 ややあって、その会話と、何かで見た宇宙ステーションの発電パネルが宇宙空間で広がっていく映像とが私の頭の中で混ざってしまいました。宇宙ステーションの発電パネルは、打ち上げ時には小さく折りたたまれており、宇宙に飛び出て、ほとんど一瞬の間に、いっぱいに広がります。この折り方は、発案者三浦公亮氏の名前を採って「ミウラ折り」と呼ばれています。

 ミウラ折りは、下図の各辺で折り曲げる折り方です。各辺では折り曲げるけれど、各平行四辺形の内部では折り曲げません。そして、谷折りと山折りをうまく組み合わせることで、ほとんど瞬時に閉じたり開いたりできるのです。

     
   

 

 上図は、広げた状態の図ですが、右下の小さな赤丸の近くをクリックすると、少しだけ折った状態の図になります。そのまま、左ボタンを押したままマウスカーソルを動かすと、閉じたり開いたりできます。

 また、右側にある「軌跡の表示」ボタンをクリックすると、赤丸マークの動く軌跡が表示できます。これは、直線でも円でもありません(双曲線の一部ではなかろうかと思いますが、未確認です)。

 右下の「手動⇒自動」ボタンをクリックすると、閉じたり開いたりの動作を自動的に繰り返し表示するようになります。

 上図には、3×3=9枚のパネルが表示されています。左側に表示した縮小図の当該位置をクリックすることで、表示するパネルを2×3、3×2、あるいは2×2にすることができます。枚数が多すぎて複雑になって見づらい場合などに活用してください。

 もし動かない場合は、タイトル「canvasについて続編2―ミウラ折りのデモ」をクリックして単独表示にしてみてください。

(これは、「canvasについて」の続編です。)

一覧表示 ▶︎ Webノウハウ

canvasについて続編―詰将棋をちゃんと動くようにしてみた

2021年9月17日(平石)

canvasについて」に描いた詰将棋を、実際に動くようにしてみました。

おかげでHTMLとJavascriptについて、大変勉強になりました。canvasを3枚重ねて使っているのですが、下手をすると、下にある「一覧表示 ▶︎ Webノウハウ, スタッフの日記, ブログ」とある箱まで重なってしまって、何やらわからないことになってしまうのに苦労しました。

 

上図の駒をマウスでドラッグすると、将棋のルールに則って、動かすことができます。ぜひ、やってみてください。

もし動かない場合は、タイトル「canvasについて続編―詰将棋をちゃんと動くようにしてみた」をクリックして単独表示にしてみてください。

なお、canvasを重ねて使う方法については、けーちゃんのプログラム開発ノート【JavaScript】 Canvasでレイヤーを表現する(https://note.affi-sapo-sv.com/js-canvas-layer.php)を参考にさせていただきました。

 

 

一覧表示 ▶︎ Webノウハウ

canvasについて

2021年8月3日(平石)

HTML5のcanvasについて調べてみました。

それで、やあっとこんなことができるようになりました。

上の枠内で、マウスのボタンを押しながら、マウスを動かしてみてください。 をクリックしてからやると、色が付きます。

次に、詰将棋とかをやってみようと思い、絵は描くことができました。しかし、今回は、動作は断念しました。だから下図で「金」をドラッグしても、何も出ません。

いろいろ研究してみれば、もっといろんなことができそうです。

ただ、いちいち script を書かないといけないのが、ちょっと煩わしいです。

 

一覧表示 ▶︎ Webノウハウ

「ャtト」って、こういうことだったんだ

2020年11月7日(平石)

 ネット上で時々見る意味不明の言葉「ャtト」について、ひょんなことから判明したので、ここに記しておくことにします。

 まず、その「ひょんなこと」について。
 現在開発中のシステムで、「予算実績管理表」というものをpdf出力するテストを行いました。ファイル名は、“予算実績管理表_~.pdf”としたつもりでした(「~」の部分は補足情報)。ところが、“落Z実績管理廟~.pdf”なるファイルができてしまいました。“予”が“落”、“算”が“Z”、“表_”が“廟”に文字化けしてしまった形です。
 ネットを探しても、対処方法が分からず、文字の順序を変えたり、前後に他の文字を入れたりすると、ということをいろいろ試してみて、ついに、“予”の後ろと“表”の後ろに“\”を入れると、期待した正しいファイル名になることが判明しました。

 「文字“表”の後ろに“\”」で、思い出したことがあります。
 かなり昔、ソースプログラムの“表”という文字の後ろには“\”を付けないと、文字化けしたり、コンパイルエラーになってしまったりというコンパイラがありました。
 これは、“表”という文字のShift-JISでのコードが「955c(16進表示)」で、2バイト目が「5c」つまり“\”と同じなので、エスケープ文字(“\n”(改行)などとして使われるもの)と判断されてしまうからです。そこで、“\”+「文字」の機能の一つである、「“\\”が“\”という文字1文字を表す」ということを利用します。つまり、“表”という文字の2バイト目がエスケープ文字の“\”、その後ろにさらに“\”を付けることによって、“\\”となり、「“\”という文字1文字」となって、最終的に“表\”は“表”となり、また、後続の文字もちゃんと正しく処理される訳です。

 そこで、“予”についても、2バイト目が「5c」なのではないかと調べました。その通りでした。
 さらに、2バイト目が「5c」のものを探してみると、“ソ”(835c)がありました。
 もし、“ソ”についても同様の文字化けが起き、“\”を付けると文字化けしないなら、文字化けの原因はこれであり、他の文字も、2バイト目が“\”だったらその後ろに“\”を追加することで、文字化けを防ぐことができると考えられます。
 そして、“ソ”を含む文字列として、“ソフトウェア”を用いることにして、実験。

 その実験結果のファイル名を見て、声を上げてしまいました。
 実験が成功したからでも、失敗したからでもありません。
 “ャtトウェア”となったからです(“ャ”は小さいカタカナ、拗音)。
 この、あちこちのサイトで見かける意味不明な文字列。ファイルをダウンロードするとファイル名中に見られることのある意味不明な文字列。ついに、その意味が、分かったからです。

 “ソ”は「835c」、“フ”は「8374」、「5c」がエスケープ文字“\”とみなされると、次の文字「83」あるいは「8374」は“\n”とかの“\”と組み合わせて特別な意味になる文字でないので、この“\”は無視されてしまい、「83 83 74」となります。「8383」は“ャ”、「74」は“t”なので、結果として、“ャtトウェア”となる訳です。

 おまけ。
 今回のきっかけとなった“予算”と“表_”については、
   予=975c、算=8e5a、結果として「97 8e 5a」=落Z
   表=955c、_=5f、結果として「95 5f」=廟
となってしまっていました。
 対処としては、

  $fileName = mb_convert_encoding($fileName, "SJIS-WIN");

  header('Content-Disposition: attachment;filename="'.$fileName.'"');

の間に、

  $fileName = str_replace('\\', '\\\\', $fileName);

を入れました。“'\\'”とあるのは、“\”1つの意味。“'\'”としてしまうと“'”の意味になってしまいます。

一覧表示 ▶︎ Webノウハウ

注意!「Amazonセキュリティ警告:サインインが検出されました」 というフィッシング詐欺メールの見分け方【迷惑メール】

2020年5月20日(staff)
はじめに
 最近、Amazonの注意喚起メールを装ったフィッシング詐欺メールが届きました。
 本家Amazonがセキュリティ対策として同様のメールを配信しており、文面も一瞬見ただけでは信じて誘導されてしまいそうでした。騙されない為に、見分け方を紹介します。
 
■見分け方■
 以下、
  1が手っ取り早く確実な確認方法です。
  2から5は、偽装できてしまう情報もあるので全部を確認してから判断します。
  ご参考まで。
  
 なお、本物例)、偽物例)は自分のところに届いたメールから抜き出した情報です。
  
1.Amazonのアカウントサービスをチェック
  届いた怪しいメールはとりあえず放置します。
  Amazonのアカウントサービスで、Amazonが送信したメールを確認する事が出来ます。
   
  [操作]
  ・Amazonにログイン
  ・[画面右上]-[アカウント&リスト]-[アカウントサービス]と操作
  ・アカウントサービス画面の中に、「Eメールとメッセージ」枠欄があります。
   その中の「メッセージセンター」をクリック
  ・[アカウントサービス>メッセージセンター]画面でメールに該当するメッセージがあるか確認
     

メッセージセンター画像

メッセージセンター画像


     
 ここで該当メールが無ければ、フィッシング詐欺メールです。
 なお本当に送られてきたメールで、しかも覚えのないサインイン履歴であったなら、きちんと対応しましょう。
  
  
2.差出人メールアドレス(ヘッダー情報:From)
  ぱっと見はAmazonですが、よく見ると違います。
  同じでも、ここは簡単に偽装できてしまうので、これだけで判断するのは危険。

      偽物例)   Amazon.co.jp<helpdesc1801@lojasapatos.com.br>
      本物例)   Amazon<account-update@amazon.com>
     

 
3.経由したメールサーバー (ヘッダー情報:Received)
 経由したメールサーバーで、メール配送経路を把握する事が出来ます。メール中継サーバ(MTA)が複数あれば
その数だけReceived情報があります。 配送経路は下にあるReceivedほど古く、一番下にあるReceivedが差出人側のメールサーバーが付けた情報になります。 ここでFromのアドレスがAmazonのドメイン名でなければ怪しいと判断。ドメイン表示が無い場合なら、そのIPアドレスをネットで検索しましょう。  この例では、偽物は日本のどこかから発信されたようです。
  以下、Receivedだけ抜粋。
     
      偽物例)
   
Received 詐欺メール例

Received 詐欺メール例

  
     
      本物例)
     
Received 本物メール例

Received 本物メール例


     

4.送信ドメイン認証の署名確認 (ヘッダー情報:DKIM-Signature)
 AmazonぐらいになるとDKIM(DomainKeys Identified Mail)による送信者認証のための電子署名を付けています。これが無ければ、怪しいと判断。

      偽物例)無し
     
     
      本物例)
     
送信ドメイン認証の署名確認 (DKIM-Signature)

送信ドメイン認証の署名確認 (DKIM-Signature)


     
5.本文
 まず偽物は、宛名表示がありません。本物はアカウント情報を把握している為、○○様とあります。但し、アカウント情報が漏洩していれば、偽装は容易。後は全体的に文章に違和感があります。句読点など、何となくおかしい。
    
  
      偽物例)
  
詐欺メール本文

詐欺メール本文

   

     
      本物例)
        
 
本物メール本文

本物メール本文

   
 
 
おわりに
 年々フィッシング詐欺メールが巧妙になってきていますね。標的型攻撃メールも見破る事が難しくなってきています。重要なメールには電子署名が必須ですね。
 
 自分は信頼できるメールであっても原則としてメール本文のリンク、ボタンは踏まない事にしています。そもそも、普段からメール本文はHTML表示しません(Webビーコン対策)。
 
 なのですが・・・・
 こんな事を書いている自分が、メールのやり取りの中でリンク先を張り付けたり、平気でファイルを添付してしまう。相手にはソーシャルエンジニアリングに注意しましょうといいながら、自分のメールは大丈夫だからと説明してしまう。こういうところは正さないといけません。
 
 在宅ワークの流れがあります。これからどんどん広がるでしょう。メールは電子署名は必須になるのでしょうか。今後もメールに限らず情報の伝達にはこうしたリスクが付きまといます。システムで防ぐ事は限られるので結局最後は気を付けましょう、という事になります。難しいなあ。
一覧表示 ▶︎ スタッフの日記