無料ウイルスチェックで安全性を確認しよう!
ウイルススキャンのイメージ

Windowsパソコンは利用者が多いことからクラッカーに狙われることが多いOSです。インターネットに接続して、便利に使えるようになった代償です。知らない間にウイルスに入られるというシーンに出くわした人もいるでしょう。

ウイルス対策ソフトは高いと考えていますか? パソコンにウイルスが居るかどうかを確認するウイルスチェックは無料で利用できます。「Windows Defenderを使っているけど大丈夫かな…」とか「無料をウイルス対策ソフトを使っているけど、他のウイルス対策ソフトはどうなのか」とかセカンドオピニオンの観点で気になりますよね。

このページでは無料で使えるウィルスチェックを使って安全かどうか確認できる方法を紹介し、公開されているセキュリティ情報を紹介しながら、コンピュータのセキュリティを維持する基本的な考え方を説明します。

結論
  1. Windowsパソコンを無料でウイルスチェックができるサイトはトレンドマイクロにある
  2. 無料のウイルスチェックは検出しかできない、防御したいならウイルス対策ソフトが必要
  3. ウイルス対策ソフトだけで防げないサイバー攻撃があるので、公開されている事例や対策方法は見ておく

無料のウイルスチェックとは何か?

無料のウイルスチェックは、トレンドマイクロのオンラインスキャンでチェックできます。時間はかかりますが簡単にウイルスチェックができます。

無料ウイルスチェックをオンラインで

64ビット版か32ビット版かを選んでウイルスチェックすると、64ビット版の場合はHousecallLauncher64.exeという実行ファイルをダウンロードできます。この実行ファイルをダブルクリックで動かすと下の図のようなウィンドウを表示します。

オンラインウイルスチェックの実行ウィンドウ

上の図で「スキャン開始」ボタンをクリックします。スキャンを開始して下の図になります。

オンラインウイルスチェック実行中

フルスキャンしているようですので、時間がかかりますが終了すると下の図のような結果が出ます。

オンラインウイルスチェックの結果

無料のウイルスチェックでできること

ウイルスチェックは無料でできます。でも見てわかりますが、検出するだけです。駆除や隔離はやってくれません。駆除や隔離をを実施するには有償のウイルス対策ソフトが必要です。

今回の無料で使えるウィルスチェックをセカンドオピニオンとして使うのであれば、お勧めできるウイルス対策ソフトは軽さのESET、マルウェア対策性能が高いカスペルスキー、総合性能が高いノートンの3つですね。使ってみた感じでの評価になります。

上の3つ以外は実際に私が使ってみて、それほど違いはありませんでした。個人で使うことに関しては大きな差はありません。好みで選んで大丈夫です。

ウイルス対策ソフトは必要なのか?

ウイルス対策ソフトは必要です。有償版を使いましょう。ウイルス対策以外にもランサムウェア対策やフィッシング対策など、危険はセキュリティ対策が含まれているので安心です。

ウイルス対策ソフトで防げないもの

IDとパスワードをセットにして紙に書き出したりしていませんか? IDとパスワードをそのまま紙に書き出すと拾った人はそのまま使えるので、非常に危険です。パスワードは管理方法さえ間違えなければ安全に管理できます。このサイトでも「パスワードをもっと楽に管理しよう」のページで紹介していますので参考にしてください。

横や後ろから情報を盗み見るショルダーハッキングもその一つです。最近ではプライバシーフィルタを使って横からは見えにくくしていますが、後ろからは見ることができるので注意が必要です。

また、ソーシャルエンジニアリングにも注意です。知らない人からIDやパスワードを直接聞くことはありません。通常は他の情報をもとに本人確認しますので、知らない人に直接IDやパスワードを教えてはダメです。

セキュリティに関する情報

教育コンテンツが充実しているIPAの情報セキュリティポータルサイト

IPA(情報処理推進機構)(外部サイト)が情報セキュリティに関する情報をまとめています。ホームページを見るといろいろなことを行っており、広すぎてよくわからないと思います。下の方にある、「情報セキュリティポータルサイト ここからセキュリティ!」(外部サイト)が使いやすいと思います。

IPAが提供している情報セキュリティポータルサイト

情報セキュリティポータルサイトにはいろいろセキュリティに関する情報が載っています。教育・学習のリンクはセキュリティの勉強するには良い題材と思います。

IPAのセキュリティポータルサイトにある教育・学習のページ

このページを見ると、セキュリティの脅威から守るための方法が記載していあります。小学生や中高生向けという記載もありますが、年代に関わらず習得しておおく必要がある内容です。

総務省の情報セキュリティサイトも使いやすい

IPA以外にも総務省が公開している情報セキュリティサイトも使いやすいと思います。

総務省の情報セキュリティポータルサイト

公開されている情報をうまく使って、セキュリティ対策を強化できると良いですね。

パソコンやスマートフォンを安全に使うために

まず、更新プログラムは早急に適用しましょう。Windowsで言えばWindowsUpdate、スマートフォンの更新プログラムを同じです。企業で管理するものは管理者に伝えて早めに更新プログラムを適用してもらいましょう。

重要な情報が洩れるのはパソコンやスマートフォンだけではありません。電話や直接会って口伝えで教えてしまうこともあります。教えてよい情報かどうか十分注意しましょう。

文字化けや^Mが出る問題の解消ポイント!

突然壊れた文字が出て来て驚いたことないでしょうか。プログラムを書いたり、ホームページを作っている時に出会うことがあります。メールの送受信でもありますね。

文字化けのページ

上の図は文字コードを意図的に変えて文字化けを起こしてます。文字化けが起こるのは作った側が知らなかったために起きることがほとんどで、気を付けると回避できるようになります。

せっかく作ったコンテンツです。文字化けなんかに邪魔されたくありません。このページではフリーソフトを使って文字化けにクールに対応できるようにしたいと思います。

文字化けを回避する方法

文字化けしたり、^Mが行末に出てくる原因は次の2点です。

  1. 文字コードを合わせる
  2. 改行コードをOSに合わせる

文字化けや改行で異常が発生する原因

Windowsは日本語を表現するためにShift-JISという文字コードを使っています。最近はUTF-8が主流になりつつあります。文字化けは、ネットワークを構成しているWindowsやサーバのLinux、アプリケーションが使う文字コードが違う場合に発生します。例えばWindowsではSJISを標準では使います。他の文字コードはあまり使われません。

LinuxではEUCが従来まで標準でした。今はUTF-8が主流になりつつあります。生まれも育ちも違うOSのため、文字コードが合っていないのも仕方が無いと思います。実はOSとその上で動作するアプリケーションでも文字コードが異なる場合があります。

文字コードを合わせる

WindowsではShjift-JISを主に使い、UnixはEUCを日本語文字コードに使っているので、そもそも文字化けする環境が出来上がっています。これは日本語の表し方の違いなので方言と言っても良いでしょう。方言をなくして共通の標準語とするため、文字コードにおいてはUTF-8を使う流れです。

 
OS 従来の日本語コード 今後の日本語コード
Windows Shift-JIS UTF-8
Unix EUC UTF-8

まだShift-JISやEUCを使う場合もありますので、文字コードがOS毎に違うことを意識しておくと文字化けに落ち着いて対応できます

文字コードって何のためにあるのか?

もともと、WindowsやUnixが登場した時に、文字コードを統一するという流れではなかったためです。

もともとネットワークで繋ぐという想定がありませんでしたWindowsパソコンはもともとパーソナルコンピュータであり、単独で動いていましたので、文字コードが違う機器と通信することは考えていませんでした。Unixはもともとネットワークで接続して使うことを想定しており、Windowsとは役割が違っていたため文字コードを合わせるという方向に向かなかったのです。

 
OS 改行コード
Windows CR+LF
Unix LF

WindowsとUnixで改行コードが違うため、Windowsで作ったファイルをUnixに持っていくと行末に^Mという文字が現れることがあります。これがCRを文字で表したものになります。

文字コードを合わせるために気を付けること

すべてのファイルで文字コードを最初に合わせましょう。Windowsのアプリ開発であるなら、文字コードはShift-JISを最初から使います。

逆にプログラム開発でUnixが主体であるなら、文字コードをEUCで初めから統一しておくと良いでしょう。

最近では文字コードをUTF-8で統一する流れです。過去のプログラムを修正する場合には文字コードに注意する必要があります。

文字化けを回避するポイント

設計段階から使う文字コードを統一する。Windowsが主ならShift-JIS、Unixが主ならEUCを使います。

それでも文字化けが発生したら

後で紹介するテキストエディタを使って文字コードを一括で修正しましょう。

改行コードを合わせる

WindowsとUnixでは文字コードが違っていますが、さらに改行コードも違っています。

改行コードって何のためにあるの?

改行コードは文字通り、行末で次の行の先頭に移すためのコードになります。Windowsはもともと接続することをあまり想定していなかったため、改行コードも併せるという流れにならなかったのです。

改行コードを合わせるために気を付けること

文字コードと同じですが、すべてのファイルで改行コードを最初に合わせましょう。Windowsのアプリ開発であるなら、改行コードはCR+LFを最初から使います。

逆にプログラム開発でUnixが主体であるなら、改行コードをLFで初めから統一しておくと良いでしょう。

行末で^Mが出たり改行されないトラブルを回避するポイント

設計段階から使う下位行コードを統一する。Windowsが主ならCR+LF、Unixが主ならLFを使います。

それでも改行で^Mや改行されないトラブルが発生したら

後で紹介するテキストエディタを使って改行コードを一括で修正しましょう。

メールの文字化け解決法

プログラムでメールを作って、送りました。でもメールソフトで見ると文字化けしていて見えない…ということがあると思います。正直言って頭抱えたくなりますよね。

解消ポイントはメールヘッダとメール本文で違うので分けて説明します。

文字化け対策に頭を抱えている状態

件名・To:・Ccなどメールヘッダに日本語を入れたい

既に知っているかもしれませんが、メールの形式は7ビットで構成するASCII文字しか送れません。それでは英語圏以外の人には不便なので、拡張されました。日本語でメールを送るには、7ビットでMIME拡張した機能がRFC1468として規定され、主に文字コードはJISを使っていました。

もう一つ、8ビットでMIME拡張するRFCも公開(RFC6152)されています。8ビットを使う場合は、文字コードはUTF-8が主流です。7ビットの場合と8ビットの場合で、日本語の扱い方法が若干違います。

 
ヘッダ (1)JISの時の値 (2)UTF-8の時の値
Content-Type text/plain; charset=iso-2022-jp text/plain; charset=UTF-8
Content-Transfer-Encoding 7bit 8bit
From, To, Cc, Subject

JIS文字列をBASE64変換して、=?ISO-2022-JP?B? と?=で挟み込む

UTF-8文字列をBASE64変換して、~?UTF-8?B?と?Bで挟み込む
MIME-Version 1.0 1.0
ポイント 7bitは標準のため、エラーにならない。古くから使われているデファクトスタンダード 8ビットMIMEの主流

From,To,Cc,Subjectに入れる?B?はBase64の時ですが、?Q?はQuoted-Printableの形式と言われています。2つの違いはRFC2047がわかりやすいと思います。

メール本文の文字化け解消法

メール本文はメールヘッダと同じ文字コードで記載してあれば文字化けしません。JIS(ISO-2022-JP)を使う場合は文字コードをJISで、UTF-8を使う場合は文字コードをUTF-8として本文を記載します。

メールソフトによってはUTF-8を解釈できない場合がありますので、「メールが文字化けする」と言われてトラブルになります。メール送信の文字コードにはJISを使うことをお勧めします。

文字化け解消にテキストエディタがお勧め

文字化け解消には文字コードや改行コードを一括返還できるテキストエディタをお勧めします。具体的にお勧めできるエディタはサクラエディタです。サクラエディタのホームページ(外部サイト)からダウンロードできます。

サクラエディタのインストーラパッケージをダウンロードしてインストールしてください。サクラエディタの機能の詳細は省略しますが、文字コードや改行コードを保存する時に変換できます。下の図を見てください。上書きではなく、「名前を付けて保存」する時に出るダイアログです。

サクラエディタで文字コードと改行コードを指定する場所

上の図で①が文字コードを指定、②が改行コードを指定します。①の部分をクリックすると下の図のように変更できる文字コードの種類が出ます。

変換できる文字コード

上の図のように文字コードの種類が表示しますが、主に使うのはUTF-8、SJIS、JIS、EUC-JPくらいでしょうか。変換したい文字コードを指定して保存するとデータの文字コードを変換できます。

次に②の改行コードをクリックすると、下の図のように変更できる改行コードが表示されます。

改行コードの変更選択

選べる改行コードはWindows標準のCR+LF、UNIXやLinuxのOSで標準であるLF、Macは(よく知らないのですが)標準であるCRに変換ができます。

プログラムの文字コードと出力する文字コードが違う場合

プログラム内ではUTF-8やSJIS、EUCなど何れか一つに統一した文字コードで記載し、出力する直前で指定したい文字コードに変換して出力しましょう。PerlのJcode.pmや、PHPならmb_convert_encodingなどです。

Windowsであれば文字コードはUTF-8かSJISで編集して、出力する関数で文字コードを変換して出力すると処理がしやすいです。Linuxで動作させるプログラムを作るならば、改行コードはLFに統一した方が安全です。

SSLサーバ証明書の作り方をわかりやすく
SSLサーバ証明書を使っているサイト

Webサイトの常時SSL化が叫ばれていますが、SSL化するのは意外と難しいです。このサイトではWindows10のパソコンでSSLサーバ証明書を作れるようになることを目的として作り方を説明します。

順番に実行していただければ簡単にできると思います。最終的なアウトプットはSSL秘密鍵のファイルをSSLサーバ証明書の22つのファイルです。

結論
  1. SSLサーバ証明書は公開して良い
  2. SSL秘密鍵は同じ物を作成することは相当に難しいので、作成したSSL秘密鍵は必ずバックアップを取る
  3. SSL秘密鍵は秘密にして、厳重に管理する
  4. SSLサーバ証明書は信頼できる機関から発行してもらうとSSLサーバ証明書を信頼してもらえる
  5. CSR(証明書署名要求)はSSL秘密鍵の中から、SSLサーバ証明書を発行するために必要な情報だけを取り出したデータである

SSLサーバ証明書に必要な物

SSLサーバ証明書と呼ばれていますが、原理は公開鍵暗号の技術を使っています。公開鍵暗号はその名の通りデータを暗号化する鍵が2つ必要ではあるのですが、一つの鍵を公開することができる暗号化方式です。

公開鍵暗号の特徴をまとめると以下になります。

公開鍵暗号の特徴
  1. 秘密鍵で暗号化したデータは、公開鍵でしか複合できない
  2. 公開鍵で暗号化したデータは、秘密鍵でしか複合できない
  3. 公開鍵でデータを複合できたということは、対応する秘密鍵を持つ人が暗号化したことが特定できる

SSL秘密鍵

SSL秘密鍵は、暗号化通信を始める際に必要な情報を管理しています。秘密鍵のは暗号の2010年問題(外部サイト)から2048ビット以上使うことを推奨されています。つまり2048ビット使う場合は、22048の種類のデータの中から一つをえらんで鍵として使っています。

秘密鍵は名前の通り、絶対に秘密にしておく必要があります。

SSLサーバ証明書

SSLサーバ証明書は、SSL秘密鍵に対応する公開鍵のことを言います。SSL秘密鍵とSSLサーバ証明書の2つが無いとWebサイトのSSL化はできません。

CSR(証明書署名要求)

SSL秘密鍵から、SSLサーバ証明書を作る時に、SSL秘密鍵の特徴を表す情報と組織情報を指定して組み合わせたものをCSR(証明書署名要求)と言います。

CSRが必要な理由は、認証局にSSLサーバ証明書を発行してもらうために、最低限必要なSSL秘密鍵の特徴を認証局に提供するためです。

SSLサーバ証明書を作れる環境の準備

OpenSSLのインストール

Windows用のOpenSSLを作るのは手間がかかりますので、すでに公開されているサイト(外部サイト)から手に入れましょう。2020年2月15日現在、以下のような外観です。

Windowsインストーラ付きOpenSSLの配布サイト

上のサイトから下に半分くらいスクロールすると、下の図のようにOpenSSLのダウンロードリンクが表示されます。

Windows10用OpenSSLダウンロードページ

SSLサーバ証明書を作成したり、確認するだけであればLight版で事足ります。64bit版のOSの場合はWin64が付いているリンクを、32bit版のOSの場合はWin32が付いているEXEのリンクをクリックしてインストーラをダウンロードします。

ダウンロードするとWin64OpenSSL_Light-1_1_1d.exeか Win32OpenSSL_Light-1_1_1d.exeのインストーラファイル名になります。 ダウンロードしたインストーラを実行します。

OpenSSLインストーラを起動

上の図は64bit版ですが、起動すると下のようなウィンドウが開きます。

OpenSSLインストールのライセンス合意確認

上の図のようにライセンス合意画面が表示されます。赤枠を選択して、右下のNextをクリックします。

OpenSSLの保存場所を指定

上の図のようにOpenSSLの保存先を指定する画面に変わります。変更が不要なら右下のNextをクリックします。

OpenSSLのスタートメニューの分類

上の図は、OpenSSL用のスタートメニューをどこに作成するかフォルダ名を指定します。指定した名前のフォルダがスタートメニューに作成されます。右下のNextをクリックします。

上の図は、OpenSSLの動的ライブラリをとこに置くかのウィンドウです。変更は不要ですので、右下のNextをクリックします。

上の図はインストール前の最終確認画面です。間違いなければ右下のNextをクリックします。

上の図は、OpenSSLのインストールが成功したことを示しています。寄付をされるのであればチェックボックスにチェックを入れてFinishをクリックします。

OpenSSLコマンドのPATHの設定

OpenSSLのインストールが完了しましたが、まだ実行するにはOpenSSLへのコマンドのパスを通しておかないとフルパスで指定する必要があります。ここで便利に使えるようPATH変数に加えておきます。

OpenSSLコマンドにパスを通すためPCのプロパティを表示

上の図のように、①タスクバーの検索メニュータスクバーの検索メニューをクリックして、PCと入力します。②メニュー左上にPCが表示しますので、右クリックして、③プロパティをクリックします。

コンピュータの基本的な情報の表示

上の図のようにコンピュータの基本的な情報の表示ウィンドウを表示します。左側メニューの赤枠内「システムの詳細設定」をクリックします。

システムのプロパティ

上の図のように、システムのプロパティが表示されます。赤枠で囲っている環境変数ボタンをクリックします。

環境変数の一覧画面

上の図のように環境変数の設定画面が表示されます。①赤枠のPATH部分をクリックして、青色背景に変更して、②右下の編集ボタンをクリックします。

PATH環境変数の編集画面

上の図のように、ウィンドウが開きます。先ほどのパス変数を一行ごとに区切って表示しています。上の図の赤枠のように、最初の空行をダブルクリックして、インストールしたフォルダに/binを付けた文字列を入力します。

例えばC:64ビット版のOpenSSLを標準のフォルダにインストールした際は下の図のように入力します。

PATH変数を追加中

上の図のように入力します。入力が完了したらEnterキーで入力した文字列を確定します。

OpenSSLのパスを追加した直後

上の図のように、①入力したパスの文字列が確定したら、②OKをクリックします。

OpenSSLコマンドのPATH設定を確認

では実際にOpenSSLコマンドがフォルダを省略して使えるか確認します。コマンドプロンプトを開きます。openssl version とコマンドを入れてみます。

OpenSSLコマンドのパス設定を確認

上の図のように、OpenSSLのバージョンが返ってきたら成功です。

Webサイト名の決定

Webサイト名は、例えばこのサイトで言えばsingomemo.comになります。

Webサイト名と使うWebサーバーで名前が異なる場合は、SSLサーバ証明書がChromeやFirefoxなどのWebブラウザでエラーを表示しますので、気を付けましょう。

特にwww.有りのサイトと無しのサイトがある場合はサイト名が異なります。2つのSSLサーバ証明書が必要となりますので、注意してください。

Webサイト名は英大文字・英小文字・数字と特殊文字はハイフン(-)とアンダースコア(_)までが安全です。他の特殊文字(アスタリスク(*)やパーセント(%)、シャープ(#)やビックリマーク(!))はトラブルを引き起こしかねませんので使わないようにしましょう。なお、大文字と小文字は区別しません。

SSLサーバ証明書を作る

お待たせしました。いよいよSSLサーバ証明書を作成します。OpenSSLコマンドを使ってSSLサーバ証明書を作成する順番は次の通りです。

ポイント
  1. SSL秘密鍵を作成します
  2. CSR(証明書署名要求)を作成します。
  3. 認証局にCSRと他に必要な書類を提出します。
  4. 認証局からSSLサーバ証明書を受け取ります。

SSL秘密鍵の作成

どこでも良いのですが、フォルダを作ります。ここではデスクトップにTmpフォルダを作ります。

SSL秘密鍵を作成するコマンド

 openssl genrsa 2048 > private.key 

引数について
 genrsa    RSA形式の秘密鍵を作成
 2048    秘密鍵のビット数。2048ビット以上を推奨
 >      標準出力を書き出す先をコンソールから変更する
 private.key private.keyファイルへ出力

実際にコマンドを実行すると以下のようなファイルになります。

上の図は2つのことを実行しています。①opensslコマンドでSSL秘密鍵を作成します。出力するSSL秘密鍵のデータをprivate.keyファイルにリダイレクトして保存します。②typeコマンドでprivate.keyファイルの内容を表示します。これはテキストエディタで開いてみてもOKです。

SSL秘密鍵のファイルは「—–BEGIN RSA PRIVATE KEY—–」と「—–END RSA PRIVATE KEY—–」で囲まれていれば正常にできれいます。

これでSSL秘密鍵を作成することができました。なお、SSL秘密鍵はコマンドを実行するごとに内容が変わります。一回作成したSSL秘密鍵と同じ物は得られませんので、本番用にSSL秘密鍵を作成する際はバックアップを必ず取ることをお勧めします。

CSR(証明書署名要求)の作成

SSL秘密鍵を作成したら、SSLサーバ証明書を作成するために中間データのCSRを作成します。CSRはSSL秘密鍵の特徴と、Webサイトの情報を入力します。

CSR(証明書署名要求)を作成するコマンド

 openssl req -new -key private.key > csr.pem 

引数について
 req     作成を指示します
 -new    新しくCSRを作成します
 -key   SSL秘密鍵のファイルを指定します
 >    標準出力を書き出す先をコンソールから変更します
 csr.pem CSRのデータをcsr.pemファイルへ出力します

では実際に作ってみましょう。コマンドプロンプトを開き、先ほどSSL秘密鍵を作成したフォルダへ移動して、CSRを作成します。

CSR作成コマンドを実行すると、赤枠内の表示で止まります。Country Nameは国名で日本はJPを入力してください。次にState or Provinceは州ですが、日本では都道府県を指定します。上の図では「**-ken」としてます。Locality Nameは市を入力します。上の図では「**-shi」としてます。Organizational Nameは会社名、Organizational Unit Nameは会社の部署名です。

次のCommon Nameが重要です。Common NameはWebサイトの名前で、公開する時に指定するサイト名と合わせてください。www有り無しも含めてです。

後の3つ、Email AddressとA Challenge password、An optional company nameは空欄で大丈夫です。

では作成したCSRのファイルを見てみます。

CSRファイルの内容を表示

上の図のようになります。「—–BEGIN CERTIFICATE REQUEST—–」と 「—–END CERTIFICATE REQUEST—–」で囲まれていればCSRのファイルが正常にできています。

SSLサーバ証明書の作成

SSLサーバ証明書は認証局から購入する方法が一般的です。グローバルサイン(外部サイト)が人気でしょうか。認証局を運営するサイトにCSRや必要な書類を送付してSSLサーバ証明書を提供してもらう方法です。認証局ごとに購入方法が異なりますので、認証局の手順をご確認ください。

ここでは自己署名によるSSLサーバ証明書の作成を紹介します。自己署名ですが、SSL暗号化通信は実現できます。

自己署名のSSLサーバ証明書を作成するコマンド

 openssl req -x509 -days 365 -key private.key -in csr.pem > certificate.pem 

引数について
 req     作成を指示します
 -x509   X.509形式の証明書を作成します
 -days  SSLサーバ証明書の有効日数を指定します
 -key   SSL秘密鍵のファイルを指定します
 -in   CSRファイルを指定します
 >    標準出力を書き出す先をコンソールから変更します
 certificate.pem SSLサーバ証明書をcertificate.pemファイルへ出力します

それでは実際にコマンドプロンプトを開き、SSLサーバ証明書を作って表示してみます。

SSLサーバ証明書の作成と内容を表示

上の図のようになります。「—–BEGIN CERTIFICATE—–」と 「—–END CERTIFICATE—–」で囲まれていればSSLサーバ証明書のファイルが正常にできています。

SSLサーバ証明書とSSL秘密鍵の対応確認

SSLサーバ証明書とSSL秘密鍵、CSRの3つのファイルがあるわけですが、ファイルの内容を見てもすぐにそのWebサイトの証明書かわからないものです。そこで3つのファイルが同じWebサイト用かを確認する方法を説明します。

SSL秘密鍵・CSR・SSLサーバ証明書が同じWebサイト用かを確認するコマンド

3つのファイルにあるmodulesの値が一致すると同じWebサイト用のものと確認できます

SSL秘密鍵
 openssl rsa -noout -modulus -in private.key 

CSR(証明書署名要求)
 openssl req -noout -modulus -in csr.pem 

SSLサーバ証明書
 openssl x509 -noout -modulus -in certificate.pem 

引数について
 rsa     SSL秘密鍵の処理を指示します
 req    CSRの処理を指示します
 x509    SSLサーバ公開鍵(X.509形式)の処理を指示します
 -noout  入力値の表示を抑制します
 -modulus Modulus値を表示します
 -in   入力ファイルを指定します

今回作った、SSL秘密鍵・CSR(証明書署名要求)・SSLサーバ証明書のファイルについて、Modulus値を表示してみます。

SSL秘密鍵・CSR・SSLサーバ証明書のmodulus値の確認

3つのファイルともにmodulus値が合っていることがわかります。

以上でSSLサーバ証明書の作成方法は終了です。

Ruby on Railsを最短でWindowsに構築してみよう!
Ruby on Railsの開発環境完成図

Ruby on Railsを最短で構築するのは意外と大変です。Windows10に自分専用にRuby on Rails環境を構築する手順をまとめました。参考になれば幸いです。

2つの前提条件が必要です。①コマンドプロンプトとエクスプローラの操作ができて、②テキストエディタで設定ファイルを修正する知識があることです。

慣れると1時間程度で構築できます。ポイントは以下になります。赤字部分は私が引っかかったところです。

ポイント

Windows10パソコンにRuby on Railsを最短でインストールして動作するまでを記録します。ポイントは以下になります

  1. Gitをインストール
  2. rubyをインストール
  3. pacman.confの設定
  4. 開発キットをインストール
  5. SQLite3をインストール
  6. Railsをインストール

Ruby on RailsをWindows10ではなく、CentOS8にインストールしたい方は、Ruby on Railsを最短でcentos8に構築してみよう!にまとめていますので、参考にしてください。

Ruby on Railsのインストール準備

Ruby on Railsはruby本体と開発キット、そして関連ソフトウェアの3つが必要になります。

Ruby on Railsに必要なインストーラを入手

ここではRuby on Railsを動作させるために必要なソフトウェアの入手手順を具体的に説明します。

Ruby本体と開発キット

Ruby本体と開発キットはRubyのホームページから辿れます。

Rubyのホームページからダウンロード

左上にある「ダウンロード」ボタンをクリックすると下の図のようなページが表示される。

Windowsで動くRubyインストーラを探す

上の図の矢印にあるRubyInstallerのリンクをクリックします。

rubyInstallerのホームページからインストーラをダウンロード

上の図のようにRubyInstallerのサイトへ移ります。右上にあるDownloadリンクをクリックします。

rubyInstallerの実行ファイルをダウンロードするイメージ

上の図のようにやっとrubyInstallerファイルをダウンロードできるページにたどり着きました。右上にお勧めバージョンが英語で書いてありますが、上の図で矢印にあるようにお勧めは太字で協調されています。

上の図では、Ruby+Dekit 2.6.5-1(x64)をダウンロードします。132MBもあるので、ダウンロード完了まで時間がかかります。なお、最新の2.7系をインストールすると、一部パッケージが非対応のため進めることができませんでした。

rubyinstaller-devkit-2.6.5-1-x64.exeファイルをダウンロードできたらRubyと開発キットのセットは準備完了です。

関連ソフトウェア

Ruby on Railsを動作させるには関連するソフトウェアの準備も必要です。明示的に必要と表示されないこともありますので、注意が必要です。

SQLite3

SQLiteのホームページから、ダウンロードします。https://sqlite.org/index.htmlへアクセスします。

SQLite3をダウンロードする

上の図のようにSQLiteのホームページが表示されるので、上の図の赤枠のDownloadボタンをクリックします。

Ruby on Railsで必要なSQLite3のダウンロード選択

上の図のように32bit版か64bit版かの選択が必要です。基本はOSのアーキテクチャに合わせます。私は64bit版を使います。

Git

Railsではバージョン管理システムのgitを内部で使っていました。gitをインストールしないと、エラーは出ないのですが、処理が進まない状態でした。

Gitのホームページからダウンロードします。 https://git-scm.com/へアクセスすると下の図のようにWebサイトが表示されます。

Ruby on Railsに必要なGitのホームページ

上の図のようにDownloadsリンクをクリックして進みます。

gidのWindows版ダウンロード

上の図のようにOS事に分かれているので、赤枠のWindows版をクリックします。

GitのWindows版のダウンロード開始ページ

GitのWindows版ダウンロードのページへ進むと上の図のようになります。通常自動でダウンロードが始まりますが、ダウンロードできなかった場合は、上の図の赤枠内から32bit版もしくは64bit版をダウンロードします。

Ruby on Railsの最短インストール手順

Ruby on Railsを動かすために必要なソフトウェアが揃いました。順番に入れていきます。

Gitをインストール

ダウンロードしたファイルの中から、Git-2.25.0-64-bit.exeを実行します。

Ruby on Railsを動かすためにgitをインストール

上の図のようにインストーラを実行します。

GitのGNUライセンス確認画面

上の図のようにGitをインストールする前にGNUのライセンス画面が表示されます。Nextボタンをクリックして進みます。

Gitのインストール先フォルダの指定

上の図のようにGitをインストールするフォルダの指定画面が表示されます。変更が必要なら変更してNextボタンをクリックして進めます。インストール先フォルダが既に存在すると下の図のように確認ダイアログが表示されます。上書きしてよければ「はい」をクリックします。

Gitインストール時に上書きの確認ダイアログ

「いいえ」を選ぶとインストール先のフォルダを指定する画面に戻ります。

次へ進むとインストールするコンポーネントを選択する画面になります。

インストールするコンポーネントを選択

特別チェックを入れる必要は無いと思いますので、変更せずNextをクリックします。

gitのスタートメニューフォルダの選択

変更の必要がなければ変更せずにNextをクリックします。

gitで使うエディタの選択

上の図のように、Gitで使うエディアを選択するが表示されます。Ruby on Railsを使うだけならどれでも影響はないので、今回のインストールでは変更せずNextをクリックします。

好みのエディタがあればセレクトボックスから変更してください。

上の図のようにPATH変数への設定方法の確認ページです。お勧めの真ん中が選択されていますので、変更せずNextをクリックします。

Gitが使うSSLライブラリの指定

上の図のようにSSL選択画面が表示されます。OpenSSLを使いますので、上の図のように選択していることを確認してNextをクリックします。

改行コードを変更するかしないかの選択画面が上の図のように表示されます。変更しない方が良いと思いますので、上の図のように一番下を選択してNextをっクリックします。

Gitでどの端末エミュレータを使うかを選択

上の図のように、Gitが使うターミナルエミュレータを選択します。Windowsの標準のコマンドラインで良いので、上の図のように選択してNextをクリックします。

Gitのその他オプションを設定

上の図のように、インストール前の最後の確認があります。一番下のシンボリックリンクのチェックを入れてInstallをクリックします。インストールが完了すると下の図のように完了画面が表示されます。

Gitインストール完了のイメージ

上の図まで来たら、Nextをクリックして終了します。

gitが使えるかを確認しておきます。コマンドプロンプトまたはPowerShellを新しく開き、”git –version”と入力するとインストールしたバージョンを表示すれば正しくインストールできています。「新しく」開く理由は、インストール環境の変化がWindowsに反映していない場合もありますので、必ず新しく起動してください。

インストールしたgitのバージョンを確認する

Ruby のインストール

次はいよいよruby本体をインストールします。

Rubyインストーラを選択して起動

上の図のように、ダウンロードしたファイルから、rubyインストーラを起動します。しばらく待つとSetupウィンドウが開きます。

上の図のようにライセンスに合意するか確認してきます。BSDライセンスの変形版です。ソフトウェア自体を再配布する際の制限はありますが、フリーソフトなので使うだけであれば気にする必要はありません。

上の図の赤枠のI accept the Licenseを選択すると右下のNextをクリックできるので、インストールを進めます。

Rubyソフトウェアのインストール先を指定

上の図のように、Rubyソフトウェアのインストール先を指定します。変更不要であればInstallをクリックします。

Rubyインストール先フォルダが存在する場合の警告

Rubyインストール先のフォルダが存在すると、上の図のように確認ダイアログを表示します。インストールしてよければ「はい」を、修正する場合は「いいえ」をクリックします。「いいえ」をクリックすると戻って、Rubyソフトウェアのインストール先の指定するウィンドウに戻ります。

「はい」をクリックするとインストールする部品を選択します。

Rubyコンポーネントの中でインストールするものを選択

上の図のようにRuby本体は選択済みです。下のMSYS2 development toolchanにチェックが入っていることを確認して、Nextをクリックするとインストールが始まります。

Rubyソフトウェアのインストールが開始した状態

開発キットが900MB近いので少し時間がかかります。

Rubyインストール完了の画面s

Rubyのインストールが完了すると上の図のように完了画面が出ます。赤枠内のチェックを外してからFinishボタンをクリックします。

ridk installのチェックを外し忘れた場合には、下のような画面が出ますが、右上の×ボタンでウィンドウを閉じてください。

Rubyインストール後のMSYS2インストーラ起動

Ruby の開発キットのインストール

次はRubyの開発キットをインストールします。実施することは3つになります。

pacman.confの修正

インストールしたフォルダの下のmsys64\etc\pacman.confを修正します。Rubyを標準のC:\Ruby26-x64にインストールしたのであれば修正するファイルはC:\Ruby26-x64\msys64\etc\pacman.confになります。

テキストエディタでpacman.confを開きます。お勧めはUnixの改行コードを扱えるサクラエディタです。

上の図の赤線の箇所、19行目ですが、先頭にコメントを意味するシャープ記号(#)があります。これを削除して保存します。もう一度開くと下の図のようになります。

編集後のpacman.conf

19行目の最初のシャープ記号が無くなっていることがわかります。

SQLite3のインストール

SQLite3のライブラリをインストールします。

SQLite3をインストール

上のようにsqlite-dll-win64-x64-331010.zipをダブルクリックするとZIPの中のファイルが下の図のように表示されます。

SQLite3のZIPファイル内リスト

上の図にあるsqlite3.dllとsqlite3.defファイルをインストールしたフォルダ下のbinフォルダに置きます。標準のC:\Ruby26-x64にインストールした場合は、C:\Ruby26-x64\bin\下に置きます。

SQLite3のライブラリを置いた画像

上の図のようにsqlite3.dllとsqlite3.defファイルを置けば完了です。

Ruby開発キットをインストール

Ruby開発キットをインストールする前に以下3点を確認します。

確認内容

以下3点を完了しているか確認してください

  1. gitのインストール
  2. pacman.confファイルの修正
  3. SQLite3のインストール

問題なければいよいよRuby開発キットをインストールします。

Rubyの開発キットをインストールする最初の手順はmsys2.exe(Rubyをインストールしたフォルダの下のmsys64フォルダの下にあります)を実行します。標準のフォルダにインストールした場合には、msys2.exeの絶対パスはC:\Ruby26-x64\msys64\msys2.exeになります。

msys2.exeの場所

コマンドプロンプトのような画面を表示します。

MSYS2初回起動直後の状態

上の図のように表示したら、初回起動時は10分くらい時間がかかるので、しばらく待ちます。エラーとか出ますが気にしないで下の図のようになるまで待ちます。

MSYS2の初回起動後の設定完了画面

上の図になったら、MSYS2を画面のメッセージ通り起動しなおしますので、右上の×をクリックして閉じてください。

もう一度msys2.exeを起動します。

2回目のMSYS2起動直後

上の図のように表示できたら、

pacman-key --init

と入力してpacmanコマンドが使う署名情報を初期化します。

上の図のように表示されれば成功です。

次に、Ruby開発インストール時にエラーにならないよう署名鍵を設定します。

pacman-key --lsign-key A47D45A1

と入力してください。

Rails開発キットで使う署名鍵を設定します。

上記のように表示されれば設定完了です。右上の×をクリックしてウィンドウを閉じてください。

コマンドプロンプトを開き、ridk installと入力します。

Ruby開発キットのインストール開始直後

上の図が表示されたら、インターネットへ接続できることを確認してEnterキーを入力します。Ruby開発キットのインストールが開始して、5分ほどで完了します。

上の図のようになれば、Ruby開発キットのインストールは完了です。Enterキーを入力して、コマンドプロンプトへ戻り、右上の×をクリックしてコマンドプロンプトを閉じます。

Railsをインストール

RubyにRailsをインストールします。コマンドプロンプトを起動して、gem install railsと入力します。

Railsのインストール開始コマンドの実行直後

上の図のようにインストールが進みます。1分ほどすると下の図のように終了します。

Railsのインストールが斉唱に終了

もう一つSQLite3のパッケージもインストールする必要があるため、gem install sqlite3でインストールします。

SQLite3のruby用パッケージをgemコマンドでインストール

上の図のようにSQLite3パッケージのインストールが始まり、下の図のように完了すれば正常です。

Ruby用のSQLite3パッケージをgemで正常にインストールできた画面

インストールしたRailsは-vオプションを付けると表示します。

railsのバージョンを表示

Railsのバージョン5系を使いたい場合はrails6系をアンインストールしてからインストールします。updateはありましたが、downgradeはないようです。

インストールしたrailsを削除するにはrailsとrailtiesを削除する必要があります。railtiesはrailsの実行ファイルですので、これも削除しないと整合が取れなくなるようです。

railsパッケージをアンインストール

次にどのバージョンが有効かを確認します。

Railsの有効なバージョン一覧を表示

上の図からrailsの5の最新バージョン5.2.4.1をインストールします。gem installコマンドで-vオプションでバージョン指定が可能です。

これでRailsのインストールは完了です。

RailsアプリケーションとWebサーバの構築

Rubyのインストールと開発環境は出来上がったので、いよいよRailsアプリケーション用のフォルダを作成します。

Railsアプリケーションを作成

今回は最短で立ち上げることを目的としていますので、rails newコマンドでRailsアプリケーションフォルダを作ります。

上の図のようにrails newコマンドでプロジェクトを作りますが、フルパスで指定しないと今いるフォルダの直下にプロジェクト名を作成します。フルパスで指定するとそのフォルダを作成します。

gitをインストールしていないとgit initの所でエラーを表示することなく終了します。

Railsアプリケーション用のWebサーバーを起動

いよいよ最後です。Railsアプリケーション用のWebサーバを起動します。作成したRailsアプリケーションのフォルダへ移動して、rails serverを入力します。

railsアプリケーション用のWebサーバを起動

rails s(sはオプションsevrerの省略系で識別できれば文字を省略できます)と入力してシグナル処理が利用できない警告は出ているようですが、WebサーバとしてはlocalhostのTCP/3000番のポートで起動しました。

さっそくChromeなどのWebブラウザでhttp://localhost:3000/のサイトに接続してみましょう。

上の図のように表示されれば成功です。

Railsアプリケーション用のWebサーバーを停止

rails serverで起動したコマンドプロンプト上でCtrl+C(Ctrlキーを押しながらCキーを押す)を入力すると停止できます。「バッチジョブを終了しますか(Y/N)?」と表示しますので、Yを入力すればWebサーバーを停止できます。

これでRuby on Railsの基本的な開発環境は出来上がりました。

まとめ

Ruby on Railsの開発環境を構築するのは3点ほど気を付けると簡単にできます。参考になれば幸いです。

Officeのアップグレードを楽にしよう

この前Windows7のアップグレードが終わったと思ったら、次はOfficeのアップグレードです。また面倒ですね。Windows7とOffice2010のサポート終了を同時にしなかったことは評価できますが、面倒なことに変わりはありません。

Office2010のサポートが2020年10月13日に終了することがMicrosoftサポートのページに公開されています。個人だけでなく、企業でも多くWordやExcelなど多岐に渡るソフトウェアが広く使われているため、Officeのアップグレードはとめも面倒なのですよね。

なんとかOfficeのアップグレードを楽にできないか考えてみました。

事務所でOfficeを使っているイメージ
このページで伝えたいこと
  1. Office365はWeb版(オンライン)なら無償で利用できる
  2. 有償なら、Office365 Businessの利用がお得
  3. 1台のパソコンを3人以上で共有するなら永続ライセンス(Office2019)の購入検討もあり

Officeのアップグレードは面倒

今のOfficeからアップグレード可能な条件があります。バージョンアップもインストールするだけではなく、プロダクトキーとライセンス認証も必要です。手間もかかるので、面倒ですね。

Officeのアップグレードの選択肢

いくつか選択肢があります。条件付きですが無償で利用できるOfficeもあります。

無償版のOffice 365 オンライン

オンライン限定ですが、無償でOfficeアプリケーション利用できます。マイクロソフトの Offce 365 ログイン へアクセスしてログインします。アカウントがなければ、新たに作成してください。メールアドレスがあれば作成できます。メールアドレス登録してメールアドレスにマイクロソフトから登録コードが届きます。無事ログインできると下の図のようになります。

Office365へログインした直後のページ

赤枠内のアイコンが使うことができるアプリケーションになります。見慣れたWordやExcel、PowerPointを無償で利用することができます。普通に文章を入力したり、フォント変えたりできます。ただ文書に埋め込んだ画像系の扱いがアプリケーションと同じ処理ができないようですね。無償版の限界かもしれませんが、閲覧とか軽微な変更には使えるように思います。

永続ライセンスのOffice 2019

Office 2019を購入する場合は、デバイス毎に購入する必要があります。2台までインストールできるのは利用者が同じ場合に限ります。ですので、5台のPCにOffice 2019 をインストールするには基本5本のOffice 2019 パッケージやライセンスを購入する必要があります。

試算してみましたが、パソコンを1人で利用する場合Office 365 の方が安いですね。Office 2019のHome and Businessは3人以上でOffice365 Businessより安くなります。永続ライセンスのOffice2019の方が安価になります。開始日が2020年2月1日でOffice2019のサポート終了日を2025年10月14日として概算を試算しています。また初期費は購入費として考えてください。購入費はAmazonなどの実売価格をもとにしましたので、時期によって若干の変動はあると思います。

  ライセンス台数 端末の利用人数
 
初期費
月額 一台当たり、一人あたり1日当たりの価格
Office2019 Home and Business 1 3 ¥35,138円 ¥0円 ¥5.63円
Office2019 Professional 1 3 ¥59,785円 ¥0円 ¥9.57円
Offce365 Business 5 1 ¥0円 ¥900円 ¥6.00円

Office 2019 Professionalだと5人でやっとOffice365 Businessの日額を下回りました。

 

  ライセンス台数 端末の利用人数
 
初期費
月額 一台当たり、一人あたり1日当たりの価格
Office2019 Home and Business 1 3 ¥35,138円 ¥0円 ¥5.63円
Office2019 Professional 1 5 ¥59,785円 ¥0円 ¥5.74円
Offce365 Business 5 1 ¥0円 ¥900円 ¥6.00円

今後、政府の一人一台の情報端末を持たせるという方針もありますので、パソコンを共有することも少なくなると考えます。ただ、少ないながらも共用パソコンというものは残りますが少なくなるため、永続ライセンスは無くなっていくと思います。

永続ライセンスはエディションも多く、どれが最適かわかりやすくなく考えなければいけないので、やはりOfficeはアップグレードが面倒ですよね…。

Office 365を購入

これからの流れとして1人で利用するならOffice 365 が良いと思います。Office 65へログインして「Office 365を購入する」を開くと、下の図のように表示されます。

Office365の購入ボタンクリック後の画面

Office 365 Solo だと税込み¥12,984円です。ただしOffice 365 Soloの利用期間は1年単位です。

次に上の画面で、「一般法人向け」のタブをクリックすると下の図のようになります。

Office365の法人向け料金プラン

上の図の料金プランの中で、左側にあるOffice 365 Businessは月額900円です。年額税込みに直すと、Office365 Businessの年間利用料は¥11,880円です。Office365 Soloより安く利用期間が月単位なので、使いやすいです。

Office365 Businessを利用するには

一番安くて簡単なのは、お名前.comのOffice365サービスを利用する方法です。月額900円ですが、FAQにある通りサービス利用開始月を除いて3か月のため、4か月が最低利用期間となります。

一年の縛りは4ヵ月に短縮され、OfficeアプリをローカルPCでインストールして利用できるので選択肢としては有りですし、常に最新版の機能を提供してもらせることを考えるとお勧めできます。普段Officeアプリをよく使う人には使いやすいでのはないでしょうか。

Officeのサポート終了を回避するために

今の選択肢では永続ライセンスのOffice2019とOffice365 Businessしかない状況です。Office2019のエディションも利用環境によって異なりますが、初期投資を減らせるのは良いと思います。サポート終了を回避するには永続ライセンスではなく、Office365 Businessがお勧めです。

ただ、費用が月額になるため利用が難しいのであればまずはオンライン版を利用をお勧めします。オンライン版のOffice365の使い勝手が良ければそのまま無償版を使い続ければ良いと思います。

Officeのアップグレードを楽にしていこう

今はOffice365とOffice 2019しか選択肢が無いので、現時点ではOffice 365 Businessをお勧めします。今後もっと選択肢を増やしてほしいです。

まとめ
  1. Office365はWeb版(オンライン)なら無償で利用できる
  2. 有償なら、Office365 Businessの利用がお得
  3. 1台のパソコンを3人以上で共有するなら永続ライセンス(Office2019)の購入検討もあり
TCP/IPはインターネットの心臓部的な通信手順

今や、パソコンだけでなく、スマートフォンやタブレットもインターネットにつながっています。でもインターネットは、組織が自前のLANを構築して繋げているだけなので、インターネット全体を管理している組織は存在しません。

管理している組織はありませんが、ガイドラインはあります。また相手があることですので、手順やルールが決められています。

このページではインターネットを代表する通信手順であるTCP/IPについてわかりやすく説明します。TCP/IPが理解できると、インターネットの概要は理解できます

ポイント
  1. TCP/IPとは、インターネットの中で中心となる通信手順である。
  2. IPは、広いインターネット上で同じ手順を使ってデータを受け渡しできる
  3. TCPは、IPが実現しないマルチタスクを実現し、大量のデータを間違いなく届ける通信手順である
  4. 通信手順のことをプロトコルを言う

TCP/IPは何ができるのか?

TCP/IPはTCPとIPの組み合わせです。インターネットを構成するプロトコルの中でも、TCPとIPは一番重要なプロトコルです。さらにUDPというプロトコルもあります。UDPについては後述します。

TCPとIPを使うことで、通信したパソコンやスマートフォンやタブレットはIPアドレスとTCPのポート番号を指定することで通信することができます。例えば、Webサイトを見ようとして、Google ChromeなどのブラウザにURLを入力してWebサイトを開くと思います。

具体的にはこのサイトのトップページを見ようとして、https://singomemo.com/のURLをブラウザのアドレスバーに入力する状況を想像してみてください。

ブラウザはWebサーバからWebサイトのコンテンツを受け取ると下のように表示します。

Webサイトをブラウザで見た際の例

パソコンやスマートフォンの機械が処理するのであっと言う間ですが、実際には次の順番で処理します。

ポイント
  1. DNSでsingomemo.comのWebサイトを提供しているWebサーバのIPアドレスを取得する
  2. 1のIPアドレスにhttps://singomemom.com/のWebコンテンツを提供するよう依頼する
  3. ブラウザにWebサイトを表示する

2でTCPとIPのプロトコルを使います。このようにTCPとIPを使うとネットワークに繋がっているWebやDNS、YouTubeなどのサービスを提供するサーバと接続して情報を送ったり受けたりできます。

TCPとIPをはじめとするプロトコルでできること

WebサイトやYouTubeなど個別のサービスを、同じ手順で簡単に使うことができる

IPとは何か

インターネットに接続してデータを送受信する時に、IPというプロトコルを共通で使います。IPで決められている送受信先はパソコンやスマートフォンのネットワーク接続のためのインターフェース(ネットワークインターフェースカード略して「NIC」と呼びます)までです。

右の図のように、NICと呼ばれるパソコンをインターネットやLANに接続する口同士の通信手順を取り決めたものがIPになります。

NICは有線LANのポートだったり、無線LANのインターフェースであったりします。無線はインターフェースが無いから分かりにくいです。

インターネットにつながるパソコンやスマートフォンなどすべてIPで通信します。

全てのNICは識別するためのIPアドレスを割り当てます。

IP通信のイメージ

NICまで到達したデータはパソコンやスマートフォンに取り込まれ情報としてデータを処理します。データの処理というと難しいですが、Webサイトを表示したり、音声としてスピーカから鳴らしたり、ネットワークを通して受け取ったデータを出力することです。

IPとは

パソコンやスマートフォンが、ネットワークに接続するために使うNICと、他のNICとの間で、データの受け渡しをするの通信手順のこと

TCPとは何か

IPが、インターネットで使うIPアドレスとIPアドレスの間で、データ送受信を行います。ただし、データの送受信時の紛失など、受信側がデータを正しく受信できるかは保証していません。なぜデータ送受信時の紛失を保証しないかというと、TCP/IP登場時のコンピュータの処理能力では、通信速度を出せなかったためです。またIPはすべてのネットワークに同じ通信手順を提供する役割だけ持つことにしてデータの送達保証は上位層にゆだねることにしました。

例えば、ファイルコピーなどデータを送信する時にデータの欠損があると受信側は送信元のデータを正しく扱えません。このような時はTCPが送達を担保する仕組みを提供します。逆に送達を担保する必要が無い場合もあります。

TCPとは

データをインターネット経由で送信する時に、ファイル転送などデータの欠損が無いことを担保する必要がある時に使う通信手順です。

送達を保証しない方が良い場合は、例えば電話通信やストリーミングなど、データ送受信の保証ではなく、リアルタイムにデータを送達できることの方が大事な場合があります。こちらはUDPが担当します。

UDPとは

データをインターネット経由で送信する時に、音声通話やストリーミングなどデータが欠損したとしてもリアルタイムに伝送する必要がある場合に使う通信手順です。

さらに、TCPやUDPはIPの上位層に位置しています。さらに上位にはアプリケーションがあり、アプリケーションのマルチタスクの通信手順を提供します。IPが送信元と送信先への通信の手順を提供するだけでした。

TCPとIPを組み合わせて何ができるのか

TCPとIPを組み合わせると、IP通信のデータ送受信し、TCPでデータの損失を再送により保証しつつ、複数の通信制御を行います。下の図にWeb閲覧とメール受信の通信イメージを記します。

サーバ側について、WebサーバはTCPの80番ポートでWebサイトの情報を提供します。メール受信サーバはTCPの110番ポートでPOP3プロトコルで受信したメールを提供します。

もう少しTCPとIPの役割を、実際の通信のイメージをプロトコルスタック(階層構造)を使って説明します。

左図をベースに、①クライアントになるパソコン側では、通常IEやChromeなどのWebブラウザはWebサーバのWebサイトに情報を取りに行きます。その際アプリケーションからTCP又はUDPに引き渡し、IPも通り、ネットワークインターフェースまで送信するデータを順次引き渡します。

②ネットワークインターフェース層へ引き渡されたデータは、ネットワークインターフェース層からネットワークを通してサーバに運びます。

③Webサーバまで届いたデータは処理してパソコンにデータを返送します。返送する際は逆順になります。

データ送信のプロトコルスタッフ
疑問

わざわざ階層を分ける理由がわかりません。一つで作ればわかりやすいのでは?

答えは時代の流れにあります。複雑になりすぎるからです。一社が一つの製品で作ると時間もかかるし、変更にも時間がかかる。世界を一つに統一するのが難しいのは、国が分かれていることからもわかります。ソフトウェアで言うとオブジェクト指向も同じ考えた方で、「分業して作りましょう。ただデータの受け渡しは決めておきますね。」ということになります。

答え

早く楽に作るため、このように分業する階層に分けました。一つにまとめるためデータを受け渡しだけは決める必要があった。

インターネットを支えるプロトコル

ここからはTCP/IP以外のプロトコルを簡単に紹介します。

アプリケーション層

アプリケーションは具体的にはGoogle Chromeなどのブラウザが使うHTTPやHTTPSというプロトコル、メール送受信で使うSMTPやPOP3、IMAPというプロトコルがまとめています。下の層の何を使うかも併せて下の表にまとめます。

 
アプリケーション名

主に使うアプリケーションプロトコル

使う下層のプロトコル
ブラウザ(Chrome等) HTTP, HTTPS, TCP
メール(Outlook等) SMTP, POP3, IMAP TCP
IP電話 SIP(制御用), RTP(通話用) TCP(制御用), UDP(通話用)
名前解決 DNS TCP, UDP

LINEも説明したかったのですが、高機能なためわかりにくくなります。ここでは比較的わかりやすいWebブラウザ、メールソフト、IP電話について説明しました。

DNSについてはDNSとは何か?をご覧ください。

ネットワークインターフェース層

ネットワークインターフェースで、一番身近になったのは無線です。スマートフォンが出始めてから急速に普及しました。無線と言っても、3G、4G、無線LANを総称しています。

次に有線LANをご存じではないでしょうか。一般的なものは下の図のようなUTPケーブルです。よく見ると8本の導線が一列に並んでいます。最長でも100mまでしかデータを送れません。

UTPケーブル

ひと昔前であれば電話線もADSLとしてインターネットに使われていました。

他にはあまり見かけないと思いますが光ケーブルも使います。

まとめ

TCP/IPは聞いたことがあってもあまり知らないことが多いのではないでしょうか。インターネットを使う分にはそれほど知っているべき知識でもないですし、インフラ技術者が主に知っておくべき知識としてまとめました。

これからIT技術を理解したい人にとっても入り口になれば幸いです。

ポイント
  1. TCP/IPとは、インターネットの中で中心となる通信手順である。
  2. IPは、広いインターネット上で同じ手順を使ってデータを受け渡しできる
  3. TCPは、IPが実現しないマルチタスクを実現し、大量のデータを間違いなく届ける通信手順である
  4. 通信手順のことをプロトコルを言う
パソコンの苦手意識を克服して使いこなそう!

このページではパソコンがわからない人のために、苦手意識をなくすためのはじめの一歩となるとことまでを説明したいと思います。

パソコンに慣れて苦手意識を克服する一歩となれば幸いです。パソコンは道具です。使いこなして自分の価値を上げていきましょう!

ポイント
  1. パソコンはWindows10が使いやすい
  2. パソコンの電源の入れ方は家電と同じで簡単
  3. パソコンの電源の切り方にコツがある
  4. 作ったデータは保存しないと消えます
  5. わからないことをネットで調べられるようになれば苦手ではなくなる

パソコンの電源オンとオフ

パソコンがよくわからないのはどうしてよいかわからないからだと思います。まずはじめに一般の電化製品と違うのは、電源の入り切りに作法があります。特に電源を切る場合には癖があります。

でも理由を理解して従ってください。パソコンというのはそういう製品なので、使い方が決まっているという風に理解して慣れると新しい世界が開けます。

電源を入れる

電源ONのスイッチを入れるだけです。これは他の家電にもあるのでわかりやすいと思います。 これが電源を入れるボタンのマークです。

電源を切る…その前に

ウィンドウをすべて閉じます。パソコンではデータを入力しても保存しないと記録されないので注意が必要です。

疑問

なぜ入力したデータは保存されないのか?

パソコンはメモリとディスクという2つにデータを記録します。一般的にメモリとディスクの違いを下の表にまとめます。

保存先の種類 メモリ ディスク

記録に必要な
時間

速い

遅い

単価

高い

安い

特徴

電源が切れると
データは消える

電源が切れても
データは残る

製品

SDRAM

ハードディスク
SSD

用途

電源が入っている間に、パソコンが処理中のデータを一時的に保存

データを恒久的に保管

電源が入っている間はメモリの上にデータを保管します。保存という処理でメモリのデータをディスクに保管して電源が切れてもデータが残るように記録します。 なぜディスク上で処理しないのかというと、ディスクではパソコンの処理速度が遅くなってしまうからです。それだけパソコンの処理速度は速くなってしまったということを意味しています。

理由

メモリを介してデータを処理しないとパソコンの処理が遅くなってしまうから

理由はこれなのですが、ものもとパソコンが動く原理が根底にあります。このパソコンが動く原理は「ノイマン型コンピュータ」と呼ばれています。現在手に入るパソコンのほとんどがノイマン型コンピュータで動作しています。ノイマン型コンピュータについてはわかりやすい説明がZDNet Japanのサイト(外部サイト)にありました。ディスクからデータを読み取り、メモリとCPUで処理します。処理が終わったらディスクに保存して終了するというサイクルがノイマン型コンピュータの原理です。

ノイマン型コンピュータ

ディスクからデータを読み取り、メモリとCPUで処理します。処理が終わったらディスクに保存して終了するというサイクルを繰り返すコンピュータ

話を戻します。パソコンでウィンドウを閉じるのですが、タスクバーを見るとウィンドウがある(アプリケーションが動いている)かを確認できます。

パソコン使い方はでウィンドウがいくつあるかを知ることが大事

上の図で、タスクバーの縁側に青線が入っている場合はウィンドウがあります。①は2つ以上のウィンドウがあります。②は一つのウィンドウがあります。青線の右側の濃淡でウィンドウの数を表しています。

マウスでアイコンクリックするとウィンドウが最前面に出すことができます。ウィンドウを閉じる場合はデータを保存してウィンドウの右上の×マークをクリックしてウィンドウを閉じてください。

データの保存の仕方はアプリケーションのよって違いますが、Ctrlキーを押しながらSキーを押すと保存できます。保存する場所はWordなどの文書編集アプリは「ドキュメント」フォルダに、画像編集ソフトであれば「ピクチャ」フォルダが標準の保存場所になると思います。

Office 365のWordで、OneDriveのオンラインストレージを利用しているとドキュメントフォルダよりOneDriveを優先するようです(マイクロソフトのサイトWindows 10 は既定で OneDrive にファイルを保存する(外部サイト)を参照)。Wordを開きCtrlキーを押しながら、Sキーを押すと下のように①保存場所と②保存ファイル名を指定するダイアログが表示されます。

パソコンのデータを保存する際、
Office 365のWordの場合

上の図でいうと①の場所を変更することで、保存先のフォルダを変更できます。せっかく作成した資料が無くならないように適宜CtrlキーとSキーで保存しておきましょう。

電源を切る ~通常時~

マウスをタスクバーにあるWindowsマークをクリックして、下図の①②③の順番にマウスでクリックすると電源を切ることができます。

パソコンの電源を切る操作

電源を切る~通常の方法で電源を切れない時~

電源ボタンの長押し(体感5秒以上)で電源を切ることはできます。ただしデータが破損する場合があります。 そのため電源ボタン長押しでの電源を切る方法は、通常時の方法でパソコンの電源を切れない場合の緊急対処法として理解しておいてください。

パソコンを守ろう

やっとパソコンの電源を入れたり、切ったりすることができて使う準備段階に来ました。しかしパソコンにはもう一つ準備が必要です。ソフトウェアの最新化が必要になります。

OSの不具合を直そう

パソコンのOSの不具合は定期的に修正されます。Windows Update を使ってOSの不具合を直しておきます。パソコンのWindows Updateはwindows10のソフトウェアの更新確認をご覧ください。

ウイルス対策ソフトを動かそう

Windows10でウイルス対策は、標準でWindows Defenderがパソコンを守っています。開いてみます。

パソコンのスタートメニューから設定画面を開く

上の図のように、①スタートメニューをクリックして、メニューを開きます。②歯車の設定をクリックします。

パソコンWindows10の設定画面

上の図で、③更新とセキュリティをクリックします。

上の図のように変わるので、Windows赤枠内の「Windowsセキュリティ」をクリックします。

パソコンをウイルスの脅威から守っていることを確認

上の図のように、Windowsセキュリティのウイルスと脅威の防止に緑色のチェックが入っていれば安全です。

パソコンを便利に使う

コマンドやアプリケーションを探す

パソコンを便利に使うには、そのパソコンにどんなコマンドやアプリケーションがあるか探せないと使いこなせないです。

まずは、探す第一弾としてパソコンのディスク一覧を表示するアプリケーションを探します。タスクバーの検索ボックスに「pc」と入れます。

パソコンを使いやすくするために検索を使う

検索の結果、下の図のように①で入力したpcを含むコマンドやアプリが②に表示されます。

パソコンでpcを検索した時に表示されるコマンドまたはアプリ

上の図の②付近をクリックしてアプリのPCを起動してください。最初は下の図のように表示されていると思います。ローカルドライブの数は違うこともあります。人によってはDドライブがあったり、DVDドライブがあると思います。

USBメモリを接続する前のパパソコンのドライブの状態

これでパソコンが認識しているドライブ一覧を表示することができました。

USBメモリを使ってみよう

いよいよUSBメモリをパソコンのUSBポートに接続してみます。先ほどの図から変わった部分があると思います。下の図のように赤枠で囲った部分が追加となりました。

USBメモリ接続後のパソコンのドライブの状態

USBメモリは16GBの容量です。若干減っているのは、1k(キロ)を1000で計算するか、1024(2の10乗)で計算するかの違いです。この違いは1Mを1000kか1024kで計算するかの違いとなり、1Gを1000Mで計算するか1024Mで計算するかの違いに発展します。また、USBメモリを管理する管理情報を記録するためにも利用します。

これでUSBメモリをパソコンのドライブ、つまりデータを保存する場所として利用する準備ができました。

USBメモリを取り外す

USBメモリの外し方はタスクバーの通知領域にあります。

USBメモリの取り出す手順1

上の図の赤枠内のように、タスクバーの通知領域にUSBメモリを立てたようなマークがあります。このマークをクリックすると下の図ようにメニューが出ます。

USBメモリを取り外す手順2

上の図の赤枠内のようにUSB DISKの取り出しと表示されます。赤枠内をクリックしてしばらくすると下図のように取り外しが可能となったメッセージが出れば取り外してOKです。

パソコンからUSBメモリの取り外し可能メッセージ

以上でUSBメモリを取り外す手順になります。

まとめ

如何でしたか? 普通の家電と違って、パソコンの使い方はボタンだけでなく、画面上の操作も必要であることがわかっていただけたと思います。

ただ、パソコンの使い方は慣れるしかありません。わからなくなったら、このサイトだけでなく、他のサイトも調べながら問題を解決できるようになると、パソコンの苦手意識は克服できたことになると思います。

パスワードをもっと楽に管理しよう!!

今やインターネットで何かサービスを使うには、ほぼ全てのシステムでIDとパスワードを使って認証します。認証が成功するかはIDの文字列とパスワードの文字列に命運を託しています。IDはどの利用者かを識別するために平文で保管されます。でIDが正しい利用者かを判断するための仕組みが事前に登録したパスワードと同じかどうかで判断します。

右の図のようにIDとパスワードを入力する画面はどんなシステムでも必要です。しかもIDとパスワードは分けた方が良いと言われます。さらに何か月か経過するとシステムにパスワードを変更しなさいと言われ、何回か前に使った同じパスワードはシステムから使いまわしができないと言われ、一生懸命に考えたパスワードはシステムから使えない文字が含まれるとダメ出しされたりして、かなり萎えます…。

パスワードは自分が覚えやすく、人からは意味不明の文字列です。そんな簡単にたくさんと質の良いパスワードを思いつく人は少ないと思います。

ログインページ

いろいろなサイトで安全なパスワードの作り方は教えてくれますが、安全に保管することが難しいです。私が実践している比較的安全に保管する方法を紹介します。他にもっと良い方法がある方はコメントに残していただけると幸いです。

本頁の結論
  • パスワードは保管場所と記載方法を工夫すると楽に管理できる
  • 保管場所は個人のスマホのデータとしてパスワードを保管する
  • パスワードの記載方法の工夫は、どこで使うかの情報を絶対に書かない
プレミアムスリー

パスワードの保管方法

安全なパスワードは作ったが、さてどこに保管するか…。Excelファイルに安全なパスワードを記載して、安全のためそのExcelファイルにパスワードをかけるとします。 Officeをお持ちでない場合にはテキストファイルに安全なパスワードを記載して、パスワード付きZIPファイルで保管します。よくある光景だと思います。

でもここで気になることが出てきます。

疑問

パスワードを保管するExcelファイルやZIPファイルに設定するパスワードはどこに保管すればよいの???

いつまで経っても最後のパスワードの保管方法が決まりません。入れ子のような構造になって、いつまで経っても解決しません。

ではパスワードをどこに保管するのが良いのでしょうか? 実は全く関係が無い場所に保管すると安全に管理ができることに気づきました

具体的にはどこになると思いますか? 私は個人持ちのスマホにデータとして保管するのが最善だと考えます。理由については次項から説明します。

解決策

パスワードは個人持ちのスマホのデータとして保管する

安全な保管場所は個人のスマホ

一番安全な場所は個人のスマホの中に記載します。使う本人だけが分かればどこでも良いのです。ただし条件があります。パスワードだけを記載して保管してください。どの「Webサイトで使う」とか「IDは〇〇」とかパスワードを使う場所が特定できる情報を書いてはダメです。

ではなぜ個人のスマホが重要なパスワードを保管するために適していると判断したのでしょうか? 現在個人のスマホは財布と変わりない域にまで機能が拡張されていますので、皆さん自分で厳重に管理しているはずです。そのため、大事なスマホを無くすことはありえません。私は万一失くしたら必死に見つかるまで探します。

記載場所はデータとして保管するならどこでも良いのですが、メモ帳などにパスワードの文字列を記載しておきます。実は「パスワード」と書いてなければ、それを見た他の人は何のための文字かは分からないのです。もし文字列がパスワードと分かったとしても、何のパスワードかどこで使うかがわからなければ結局使うことはできません。しかも関連するIDやユーザー名が無いため、どこのパスワードか探し当てるのは難しいと思います。

ポイント
  • 個人持ちのスマホは厳重に管理するから安全なため、パスワードの保管場所には最適
  • 使う場所を特定できる情報は併記しない

これですべて解決するでしょうか? そうとは言えないです。もう一つ心配事があります。

疑問

パスワードがそのまま見られるのはやはり心配。他人から見てパスワードとわからないように、でも自分が見るとすぐにわかる保管方法は無いか?

判らないように記録するコツ

他人から見てわからないようにするには、独自のルールを決めればよいのです。使いやすいのは次の2つの方式です。

逆順で書く

横書きのパスワードの文字列は通常左側から認識します。これをあえて逆順にして、右側から書きます。または後ろの文字から書いていきます。良くないパスワードの例ですが、パスワードを「Password1234」とすると下のように書きます。

パスワード逆順保管

この文字を他人が見て、仮にパスワードだとわかったとしても、常識的に考えて左から入力するはずですので、そのためパスワードがバレることはありません。ちょっと例が悪いので上の例だと右側から書いているとわかってしまいますが、安全なパスワードであれば、後ろから書いているとは気づきません。

ただし、悟られないように注意してください。悟られるならば次の手も併せて使ってください。

先頭にダミー文字列を入れる

パスワードを逆順にするだけでは不安だという人には、先頭にダミー文字を入れましょう。

1文字でも2文字でも何文字でも本人が理解できれば大丈夫です。自分はダミー文字列を外してパスワードを入力すればOKです。何文字ダミーを入れるかも本人次第です。自分のパスワードなので先頭に何文字ダミーがあるかは一目でわかるはずです。

他人がその文字列をパスワードとして見ると必ず1文字目から入力をします。何文字ダミーかの情報も入れないのでわかりません。この情報も悟られてはいけません。自分だけの秘密の規則(以後「マイルール」と言います)として忘れないようにしてください。

例えば先ほどの例と同じようにパスワードを「Password1234」とするとダミー文字を2文字「1@」を入れてみます。

ダミー文字を2文字追加したパスワード文字列

いかがでしょうか。左側はダミーの最初の2文字を付与したものがそのままパスワードと誤認しても仕方ないですよね。本人は区切り文字を特殊文字にすると間違いないと思います。

さらに後ろにもダミーを入れてみます。特殊文字であればダミーを含めてパスワードと誤認する確率はかなり高まります。

ダミー文字列で挟み込んだパスワード

^と$の間の文字列が本当のパスワードです。正規表現で^は始まりを、$は最後を示すマイルールとすることで、本人は識別できますが、他人は識別できないメモとなります。

いろいろ応用は効きますので、試してみて使いやすいマイルールを見つけてください。

ハズレを入れておく

パスワードに使わない文字列を本当のパスワードの前後に入れておきます。ハズレが多いほど良いです。具体的には次のように書きます。

  1. 21dorwssaP
  2. 1@Password1234
  3. St.^Password1234$enD

3行上のような文字列を書いておき、例えば上の3項の^と$の間が本当のパスワードというマイルールにしておくと1項と2項はハズレになります。正しいパスワードが漏れるリスクを下げられます。

安全なパスワードの簡単な作り方

使い捨てにも使える複雑で安全なパスワードの作り方はノートンのブログに紹介されていました。パスワード自動生成ツールを使いましょうという結論ですが、少し工夫してみます。

先ほどのPassword1234という文字列ですが、特殊文字が無いだけで、大文字小文字数字と入っています。ただ辞書に登録してある文字が入っているため破られやすいです。

ここで覚えやすく、他人から見てわからないようにするため、次の変換を使います。

  • a → @
  • s → $
  • o → 0
  • 1 →l(小文字のL)またはI(大文字のi)
  • 小文字を小文字を変えたり、文字列の位置を変更したりして気息性を無くす
  • アンダースコア(_)やハイフン(-)を途中に追加

具体的にPassword1234を変えてみると下のようになり、強力なパスワードになりました。文字の位置までは変えていませんので、もう少し強化できます。

安全なパスワードの作り方

まとめ

パスワードは絶対に紙に書いたりしてはダメということはありません。そもそも「パスワードを管理すること」が目的ではありません。「パスワードがバレて使われる状況にならないようにすること」が目的です。

本頁の結論
  • パスワードは保管場所と記載方法を工夫すると楽に管理できる
  • 保管場所は個人のスマホのデータとしてパスワードを保管する
  • パスワードの記載方法の工夫は、どこで使うかの情報を絶対に書かない

パスワードの管理はもっと楽になるはずです。上手く機器を使って安全にパスワードを管理していけると幸いです。

プレミアムスリー
常時SSL化ってなぜ必要なの?

2018年からChromeでSSL化されていないWebサイトは警告が表示されるようになりました。SSL化のことは知っていても、なぜ常時SSL化が必要となったかまでわからないことが多いと思います。

ここではSEを生業として見た常時SSL化の必要性と、SSLがあるとどこまでできるかを考えてみたいと思います。併せて簡単ですが、常時SSLが必要となった背景とインターネットの危険性について紹介したいと思います。

SSLで実現できること

WebサイトがSSL化していると次の3点が可能となります。

  1. 第三者からWebサイトの正当性を証明できる。
  2. 通信内容を他の端末でわからないように暗号化できる
  3. 通信内容を途中で書き換えられたことを検知できる

3つ挙げていますが、常時SSL化が取り上げられた理由は1のWebサイトの正当性を証明できるがすべてです。このWebサイトの正当性を証明する証明書のことを「サーバ証明書」「SSLサーバ証明書」単に「証明書」と言います。

なぜWebサイトの正当性を証明する必要があるのか? これはフィッシングサイトを撲滅するためです。今まではWebサイトの正当性を証明できなかったから、フィッシングサイトから金目の情報を取ることができていました。でも、常時SSL化することにより正当なWebサイトかどうか常に確認することができるようになったのです。

Webサイトの正当性を証明する方法

このWebサイトをChromeでアクセスすると下の図の①付近のように鍵マークが付きます。鍵マークをクリック(①)して証明書のパスを見ていく(②③)と、④のようにサーバ証明書が上から繋がっているのがわかります。

SSLの証明書パスのたどり方

上の図の④のように証明書が繋がっていることが大事で、一番下の証明書がこのWebサイトを証明する身分証明書です。身近なものでいうと運転免許証やマイナンバーカードにあたります

運転免許証やマイナンバーカードは、それぞれ公安委員会や市区町村長が発行元でお墨付きを与えます。同じようにWebサイトの証明書もお墨付きをもらいます。お墨付きを与えるのが一番上にある証明書でルート証明書と呼ばれます。この繋がったSSL証明書は証明書のチェーン(鎖)と言います。

サーバ証明書がどこから発行され、ブラウザまで受け取る流れを下の図に示します。私たちが、Webサイトを閲覧する前にWebサーバの管理者が認証局からサーバ証明書を発行してWebサイトを開設しておきます(下図左上)。Webサイトができあがったら、①ブラウザを使ってWebサイトにアクセスすると、②Webサーバから証明書を受け取り、③証明書の内容を確認します。

SSLサーバ証明書の発行からブラウザまで受け取る流れ

すべてが正常な場合は警告無く接続ができます。

証明書に問題がある時の確認ポイント

今度は証明書に問題がある場合の表示例を見ていきます。問題がある点は、今まで説明したものを満たしていない場合で、次の3点です。

  1. 証明書のWebサイト名が違っている
  2. 証明書のチェーンが繋がっていない
  3. 有効期限が切れている

例えば、自宅にあるNASの管理Webサイトは下のようになります。①のURLでエラーが出ています。クリックして証明書を確認します。②無効となっている証明書をクリックすると証明書の全般画面が出ます。③証明書のパスを見てみると、証明書チェーンが無いことがわかります。

証明書エラーの例

常時SSLが無いとこのようなチェック機能は全く働かないので、フィッシングサイトを回避するためにWebサイトの安全性を確認するには良い対策だと思います。なお、このサイトは私自身が設置したNASで192.168.0.210のIPアドレスも割り当てていますので、間違いないことは把握済みです。

常時SSLに関する疑問

常時SSL化していないWebサイトは大丈夫か?

そのWebサイトにIDやパスワード、個人情報などを提供する必要が無いなら問題は無いです。SSL化するにはそれなりの費用と準備が必要となりますので、準備中の可能性もあります。

常時SSL化していれば安全か?

ブラウザで警告が出ると「フィッシングサイトかも」と疑いを持つことになりますが、最後は使う人次第です。使う人が情報を渡してしまうとせっかくの警告も意味がありません。

警告が出たら納得できるまで確認して、警告が出るようなWebサイトに情報を入力しない方が安全です。事情があって警告が出ていることを理解しているならば大丈夫だと思いますが、ほとんどの人はWebサイトの運用にかかわらないため、その状況はあまりないと思います。

名前が違っていても警告が出ない場合がある

この場合はワイルドカード証明書と言います。例えば、web01.singomemo.comやweb02.singomemo.com、site.singomemo.comの3つの Webサイトがある場合に3つの証明書を用意するより、1つの証明書で3Webサイト分用意するのが楽という考え方です。この場合ワイルドカード証明書のWebサイト名は「*.singomemo.com」となります。アスタリスク「*」がweb01,web02,siteに適合するように考えてあります。

今は3つのWebサイトで例を出しましたが、10サイト、20サイトとなると1種類でまとめた方が楽というのもわかっていただけると思います。

インターネットの安全性

インターネットは各々のネットワークがつないで出来上がっています。インターネットの中には警察などの取り締まる組織はいません。金銭的犯罪があれば日本の警察は動きますが、海外に犯人が居るとなかなか逮捕できない場合があります。インターネットに国境が無いため、容易にインターネットを経由して入り込むことができるからです。

インターネットは秩序を維持する組織が無いので、自由すぎる点が課題です。そのため犯罪者も入りやすく、金目の情報を渡さないように利用者自身が気を付ける必要があります。

今回のブラウザの警告だけですべての情報漏洩を防ぐことはできません。インターネットは自由で危険と隣り合わせである認識を持って注意して利用すると便利に使うことができるはずです。

ブラウザの対策だけで安心か?

ブラウザはフィッシングサイトの警告を出すようになりましたが、そもそもパソコンやタブレット、スマートフォンにウィルスが入り込むと情報は簡単に漏洩します。

実際に警視庁が公開しているデータを見ると毎年標的型メール攻撃の件数が増えています。標的型メール攻撃は、特定の会社や個人を標的としてウィルス感染やフィッシングサイトへ誘導するためのメールによる攻撃のことを言います。

標的型メール攻撃の件数
出典:「 令和元年上半期におけるサイバー空間をめぐる脅威の情勢等について 」(警察庁)( https://www.npa.go.jp/publications/statistics/cybersecurity/data/R01_kami_cyber_jousei.pdf )

標的型メール攻撃は日々進歩しており、だれしもが引っかかるあ脳性があります。基本的にメールは疑ってかかるのが正しい対処方法です。お互いに注意しましょう。

GIGAスクール構想でGAFAへ対抗できるか!?

文科省が補正予算で、一人1台の情報端末を配備するために学校向けの情報教育の強化に取り組むようです。予算額は2,318億円とのこと。小中高校へ一人1台の端末配備だけでなく、無線LANの配備もあります。

Windowsパソコンだけでなく、タブレットやChrome OSも配備する端末の対象となっています。パソコンとタブレットは用途が異なるので学校毎の事情を考慮しているようです。

学習用のソフトウェアも対象となるようです。期間は2022年度末までを予定想定しています。「安価な教育用端末市場を構築」するとも記載があります。

でも問題は維持の方です。SE目線で見て問題になりそうなところをまとめたいと思います。

学校でのPC利用イメージ

RISU算数 ハッピーイングリッシュ

何を目指すか

内閣府が提唱している「Society5.0の中で生きている子供たち」へICT環境を構築するとあります。そもそもSociety5.0は次のようになります。

Society 5.0 のイメージ
内閣府 Society 5.0説明サイトより

今あるICTをうまく活用できた時に訪れる夢のような社会です。100%上手くいくわけではないと思いますが、目指すべき理想は網羅されています。

短期目標

まずは教育用端末の配備、無線を含むネットワーク環境の構築、ソフトウェアの充実により、ICTを活用した課題解決ができる環境を構築します。

校内LANの配備状況によってはLTEを使っても良いとありますので、一人一台の端末配備は絶対に目指したいものと考えられます。

中長期目標

GAFAに対抗できる国際競争力を持つようにすることと思います。昭和の時代は物造りで成功しましたが、今後はソフトウェアが主流となります。

ICT教育環境を強化して、ICTを使いこなせるようになると、新しいビジネスを開拓できると考えていると思いますが、企業しやすい社会と転職しやすい環境を用意する必要はあると思います。

環境整備だけでは片手落ち

PC、タブレット、スマホや無線LAN環境を配備しますが、SEから見ると後々の問題がいくつか考えられます。

GIGAスクールネットワーク構想はハードウェアやソフトウェアの準備は十分にできていると思います。

では準備した後の世話はどう考えているのでしょうか。その世話は決して楽なものではありません。

ICT環境を世話できる教員や事務員が学校内に居るのかもわかりません。

他にも維持費用は必要です。それについて細かく説明します。

ICT環境を提供するハードウェア

【課題1】ICTを教える教員のスキルアップ

教員は国語、算数、英語、理科、社会などの強化を教える専門です。ICTについてのスキルは教員個人に依存しているため、教員のレベルにまで達していません。教えることは専門ですが、そのためのベースとなるICTの知識は少ない人も多いのではないでしょうか。そもそもICTの知識を持っているか調べてすらいないはずです。教員試験に必要ではなかったはずですから。

教員にいきなりICTの知識を付けて「教えるようになれ」と言っても実現は難しいと思います。ICTを使いこなせるように教員向けの研修が必要です。個人差もありますので、生徒に教えられるレベルに引き上げるのは時間が必要ですし、忙しい教員の方にICTの勉強の時間を取ってもらうも難しいかもしれません。

【課題2】ライセンスなどの費用負担

次に費用負担です。導入までは自治体の補助でできたとしても、その後発生するライセンス費やソフトウェア利用料、端末の保守料など、必要となります。

この費用は受益者負担で考えると、生徒が負担となるはずです。そうなると学校の授業料が上がります。ここを保護者に説明して受け入れてもらう必要があります。昨今労働者の給与が上がらない点を考慮すると相当な負担だと思います。

【課題3】セキュリティ

最後にICT環境のセキュリティです。セキュリティは情報を安全に保護する仕組みのことを言います。セキュリティを維持して情報を安全に保管し続けるには、構築するICTの知識ではなく、セキュリティに特化したICTの知識が必要です。

教員は生徒に教えることが仕事です。セキュリティの維持は主の仕事ではありませんが、セキュリティを疎かにすると、情報資産を狙うクラッカー(悪意を持ってハッキングすること)から狙われると生徒の個人情報や成績などの重要な情報が漏洩したり、パソコンなどが使えない事態となります。

ですので、構築したICT環境のセキュリティを維持するには専門業者に委託するために費用が必要となります。そのためセキュリティ維持費用も授業料に加算され保護者が負担する必要があります。

GAFAに対抗するために

今考えられるだけで先般の3つの課題はありますが、GIGAスクールネットワーク構想を実施する計画には評価できます。今後他にも課題は出てくると思いますが、生徒が新しい発想で大人の想定を超えるようなアイデアを出してほしいです。

新しい斬新なアイデアが出てくるようになればGAFAに対応していくことは難しくないと思います。第二次世界大戦後から復活した日本の国民性があるため、追いかけるのは得意ですからね。

日本の国際競争力を強化するには

今後は成功体験が無い中、まずはGAFAを追いかけ、追い越す勢いでICT教育環境を整備し、生徒の新しいアイデアを生かせるような環境づくりが必要です。我々大人は生徒や子供たちの新しいアイデアを頭ごなしに否定せず、真摯に受け止めビジネス化する支援体制が必要ではないでしょうか。

働き方改革は結構ですが、新しいアイデアを受け入れ、リスクを取って実現に向けて進むことが今の日本には大事ではないでしょうか。

ハッピーイングリッシュ RISU算数