goo blog サービス終了のお知らせ 

gooブログはじめました!

写真付きで日記や趣味を書くならgooブログ

【高校情報共通テスト対策/学習塾/個別指導】分散と標準偏差・偏差値/四分位数と箱ひげ図/度数分布表とヒストグラム/尺度/オープンデータ【高校情報1授業】

2021-11-20 22:04:58 | 日記

分散と標準偏差・偏差値/四分位数と箱ひげ図/度数分布表とヒストグラム/尺度/オープンデータ【高校情報1授業・共通テスト対策】

 

 

高校情報1 教科書・参考書・問題集・プログラミング・共通テスト

高等学校 情報Ⅰ(情報1)の動画教科書・参考書・問題集です。授業・プログラミング対策/定期試験対策に利用可能!大学入学共通テスト「情報1」対...

 

 

【資料ダウンロード】

PDFの他、パワーポイント、学習指導案 等の原本も無料提供しています。

情報教育の底上げが目的なので、資料を修正して、学校・塾(営利目的含む)の授業等で利用して頂いて問題ありません。私への連絡不要ですが、利用する際には、YouTubeチャンネル・情報Ⅰ動画教科書・IT用語動画辞典を紹介してもらえると嬉しいです。

■PowerPoint・エクセル資料
https://toppakou.com/info1/download/25_データの収集と整理/25_データの収集と整理_27_統計量と尺度.pptx

https://toppakou.com/info1/download/25_データの収集と整理/エクセル資料.xlsx
■簡易学習指導案
https://toppakou.com/info1/download/25_データの収集と整理/【学習指導案】25_データの収集と整理_27_統計量と尺度.docx

【文字おこし】

今回はデータ分析関連で、四分位数、箱ひげ図、ヒストグラム、分散、標準偏差、尺度などについて解説していきます。

以前のデータベースの授業で埼玉県川越市のAED設置場所の一覧であるオープンデータを使って、人口密度とAEDの設置件数の関係を調べました。


他には、気象庁は気象データ 国土交通省は防災データ 総務省統計局は 人口データ等をオープンデータとして公開しています。

気象庁|最新の気象データ (jma.go.jp)
https://www.data.jma.go.jp/obd/stats/data/mdrr/index.html

防災情報XML - DATA GO JP
https://www.data.go.jp/data/dataset/mlit_20170902_0034

統計局ホームページ/人口推計 (stat.go.jp)
https://www.stat.go.jp/data/jinsui/

データはカンマ区切りのCSV形式、タグで構造化されたXML形式などで提供されています。データを読み込むアプリケーションが対応している形式のものを利用します


これらは、統計学や情報技術を使ったデータ分析によって、客観的で信頼できる情報を取り出す技術の開発が進んでいます。

そして、この先どのような変化が予想されるかなどを模擬環境で検証を行うシミュレーションが一般化してきて問題解決・技術の発展に寄与しています。

ICTを活用した問題解決手法を身につけることはこれからの社会で必要な資質となっていて、高校の情報科目でもその資質が身につけることを1つの目標としています。

―――
データは複数組み合わせることによって新たな情報が生まれ、さらに有効な解決策を見つけられることがあります

例えば A地点の日時と雨量のデータとB地点の日時のデータがあったとします。
そして、A地点の日時と川の水位のデータがあった場合

日時をキー項目にしてお互いのデータを紐づけることができます。
この紐づけをリレーションシップと言います。

データベースの授業でも説明しましたが、
お互いの表を日時をキーに結合しデータの比較をすることができます。


★四分位数と箱ひげ図★

得られたデータの特徴を表す主な統計量について説明していきます。
まずは、四分位数と箱ひげ図について学んで、埼玉県熊谷市の気温のデータ分析をしていきます。

まず四分位数とは、
データ全体を4等分したときの境目の数のことになります。
2等分した場合の、ど真ん中の値を中央値といいます。四分位数は4等分なのでいいかえれば中央値の進化系になります。

例えばこの図がデータ全体だとすれば、4等分したければ、こんな感じで区切ります。
この4等分する位置にある値を四分位数といいます。
左から第1四分位数、第2四分位数、第3四分位数といいます。

第1四分位数はQ1、第2四分位数はQ2、第3四分位数はQ3とも呼びます。
そして、第2四分位数はちょうど真ん中に来ています。つまり第2四分位数は中央値のことになります。

具体的に簡単な数を当てはめていきます。、
1、3、6、8、10、13

まず、四分位数を求める上で、数値を小さい順に並び変える必要があります。
ならびかえると
1、3、6、8、10、13
の順になります。

そしてこれを四等分にします。
まずは、真ん中でぱっくりわけます。
ちょうど真ん中で分けると、中央の線は6と8の間になります。
その場合は二つの数の平均をとって7が中央値つまり第2四分位数となります。

第1四分位数は、さっき線を引いた中央より左側の中で真ん中になるのは3になります。
これはちょうど3がど真ん中になるので平均を求める必要はなく、3が第1四分位数となります。

第3四分位数は、さっき線を引いた中央より右側の中で真ん中になるのは10になります。これもちょうど10がど真ん中になるので平均を求める必要はなく、10が第3四分位数となります。

――――――
今は偶数個のデータでやりましたが、奇数個でも確認していきましょう。。
さっきのデータの最後に15を追加して7つとします。
1、3、6、8、10、13、15
丁度ど真ん中は、8だから、第2四分位数の中央値は8となります。
第1四分位数は、ど真ん中から左側のグループで真ん中は3なので、第1四分位数は3となります。
第3四分位数は、ど真ん中から右側のグループで真ん中は13なので、第3四分位数は13となります。
――――――――

では、今度は四分位範囲と四分位偏差について説明していきます。。
これはデータの散らばり度合いを示す値になります。

四分位範囲は、四分位数の中で一番大きい第3四分位数から、一番小さい第1四分位数を引いた数のことになります。図で示すとQ1からQ3までの範囲となります。

そして、四分位偏差は、この四分位範囲を2で割ったものになります。
式であらわすと、2分の(Q3―Q1)となります。

一番初めに求めた四分位数の例で、具体的数を当てはめていきましょう。
まず第3四分位数は10、第一四分位数は3なので
四分位範囲は10―3で7となります。

四分位偏差は四分位範囲を2でわったものなので2分の7で3.5となります。

この四分位数は箱ひげ図という図で表すことができます。

その名の通り、箱からヒゲが伸びた感じの図になります。

まず、箱の左側は第1四分位数を表しています。箱の右側は第三四分位数
箱の中にある線は、第2四分位数である中央値を表しています。
この図の中に平均値を表すことが可能、その場合は+の記号を書きます。
そしてヒゲの左端は最小値、ヒゲの右側は最大値を表しています。

箱ひげ図は、このような感じで、たて書きで表す場合もあります。

箱ひげ図には、外れ値というものが記述されていることがあります。
外れ値は、ばらつきを見るうえで、極端に小さな値や大きな値を分布の範囲から外だしにします。

外れ値は、四分位範囲の1.5倍を基準とします。

今回は四分位範囲は7なので、7×1.5は10.5
第3四分位数の10に10.5をプラスすると20.5となり、この20.5を超えるものは外れ値となります。
最小も同じように、第1四分位数の3から10.5をマイナスしたー7.5を下回るものは外れ値となります。

この図の中で最大値の右側に外れ値があった場合は、
外れ値以外の中で最大値という意味になります。

四分位数はエクセルの関数でも求めることができます。

熊谷市の最高気温のデータを利用して確認していきましょう。
気象庁のホームページから過去の気象データのダウンロードができます。
概要欄にもリンクを貼っておきます。


地点を選ぶで埼玉県の熊谷市を選択します。
項目を選ぶで、データの種類は日別値、気温タブの最高気温にチェックを入れます。

そして、期間を選ぶをクリックしてダウンロードし

期間は2017年と2018年の気温のデータを丸ごとダウンロードします。

落としたデータの7月1日から8月31日までのデータを抽出した表がこちらになります。

エクセル関数で最高、最低、四分位数、平均を求めていきます。
まずは最高は、MAX関数を使います。最高値を求めたい範囲を選ぶと、2017年は37.8 2018は41.1となります。
第3四分位数はQUARTILE.INC(クォータイル・ インクルーシブ)関数を使います。
範囲を指定して、第二引数は第3四分位数を意味する3を入れます。
小数点以下第二位を四捨五入して第一までの表示とすると
2017年は34.6 2018年は37.4 となります。
中央値はさっきのQUARTILE.でも可能ですが、今回はMEDIAN(メジアン)関数を使います。
2017年は32.2 2018は35.4となります。
第1四分位数は第3四分位数と同様にQUARTILE.INC(クォータイル・ インクルーシブ)を使います。範囲を指定して、第二引数は第1四分位数を意味する1を入れます。
2017年は29.1 2018は31.9となります。
最低は、MIN関数を使います。
範囲を指定すると、2017年は23 2018は23.4となります。

平均値はAVERAGE関数を使います。範囲を指定すると
2017年は31.7 2018年は34.3となります。

これを箱ひげ図でも表していきます。
2017年と2018年のデータを纏めて範囲指定します。この時日付を範囲指定すると上手くいかないので気を付けてください。
そして、挿入タブからおすすめグラフを選びます。
すべてのグラフのタブを選んで、メニューの中から箱ひげ図を選んでそのままOKをクリックします
箱ひげ図が表示されました。このグラフより2018年の方が全体的に気温が高くなっていることが分かります。

★機器の不具合などによりデータがずれたり、取得できなかったりしたりすることがあります。

測定値と真の値とのずれを誤差と言います。

また、何らか理由によりデータを取得できなかった場合のデータを欠損値といいます。
欠損値は、場合によっては、前後の値の平均値を使うなどで推測値として補うこともあります。

データによっては、今回の様な数値ではなく報告書や文書のアンケート、写真などの場合があります。
文章を解析して、単語や文節などの要素を取り出し、これらの出現頻度や関係性等から情報を読み解く技術を、テキストマイニングと言います。

――

★度数分布表とヒストグラム★

テストの成績の分布など、その点数の範囲に何人の人がいるかを表したりする表に、度数分布表があります。
この60点以上、69点以下の範囲に200人の人がいることが分かります。
度数分布表では、この何点から何点までなどの範囲を示すものを階級と言います。
そして、その範囲に属する人数や個数を表す値を度数と言います。

この度数分布表を棒グラフで表したものをヒストグラムと言います。

先ほどの箱ひげ図と対応づけると、視覚的に比較がしやすくなったりします。

★分散と標準偏差★


データの散らばり具合を表すものとして、分散と標準偏差があります。

たとえば、とあるクラスの情報と数学のテストの点数の一覧で確認していきましょう。
情報はパット見た目60点前後が多いように見えます。
数学は20~90点台まで色んな点数があります。

分散や標準偏差はこのような散らばり具合を数値で表わせます。

まずは、分散から説明します。
分散はデータ全体が平均値とどれくらいずれているかの度合いを数値化したものになります。

この情報も数学も平均点は60点です。

情報は60点前後が多く平均点からのずれが小さいデータになります。
数学は点数の幅が広く平均点からのずれが大きいデータになります。
まず情報のデータについて分散を求めていきます。
まず、それぞれの点数が平均点とどれくらいずれているかを書き出します。

たとえば 65点の場合は65―60で5となります。
55点のばあいは 55―60でー5となります。

求めた値をそれぞれ2乗して、データの個数で割ってあげます。
計算すると55.4となりこの値が分散になります。

数学も同様に計算すると分散は483.8となります。
数値が大きいほど平均点からのばらつきがあるので、この結果より数学の方がばらつきがあることが分かります。

この求めた分散の値にルートを付けます。これを標準偏差といいます。

小数点以下第二位を四捨五入すると、
情報の標準偏差は7.4 数学は22.0となります。

大学入試の模擬試験などで用いられる偏差値はこの標準偏差を元にして求めることができます。

50+(得点―平均値)÷標準偏差×10になります。

例えば 情報の得点65点だった場合で平均60点 標準偏差が7.4の場合
50+(65―60)÷7.4×10

偏差値は約56.8となります。

同じく数学の得点が65点だった場合で平均60点 標準偏差が22場合
50+(65―60)÷22×10
偏差値は約52.3 となります。

標準偏差が小さいほどばらつきが小さくなり、グラフで表すとこのような縦に長いものとなります。標準偏差が大きいほどばらつきが大きくなり、グラフは標準偏差が小さいものに比べて低く幅広くなります。


今話した内容を公式で表します。

標準偏差をσ(シグマ)、x1からxnはデータの値、エックスバーは平均値、nはデータの個数とすると
分散 σ2乗 は、各項目の平均との差分の2乗を足して、それをデータ個数のnで割ってあげます。

標準偏差はその分散の公式にルートを付けたものになるので、分散は標準偏差の2乗なのでルートの外に出すと標準偏差となります。


分散と標準偏差はエクセル関数でも求めることができます。

分散はVAR.P(バリアンス・ピー)関数を使います。
値の範囲を指定するとこのように分散が算出できます。

標準偏差はSTDEV.P(スタンダード・ディビエーション・ピー)関数で求めることができます。
値の範囲を指定するとこのように標準偏差が算出できます。


データ尺度

データは、大きく量的データと質的データに分けられます。

量的データは、数量的な意味があり計算が可能なものになります。
データの値を決める基準を尺度と言いますが、尺度によって細分化されます。
量的データの尺度は間隔尺度と比率尺度に分かれます。
間隔尺度は、西暦や気温のように、数値の間隔が数量として意味を持つ尺度になります。

比率尺度は、長さや年収と言った、数値の比にも数量として意味を持つことになります。
例えば、年収が1500万円の人は500万円の人の3倍の収入であるといった比率で表すことでも意味を成します。

質的データは、数量的な意味がなく分類として意味を持つものになります。
質的データの尺度には名義尺度と順序尺度があります。
名義尺度のデータは、数値としての意味を全く持たないデータで、例えば性別や血液型、好きな食べ物など、ことなる分類として区別することだけに意味を持つ尺度になります。

順序尺度は、通知表などの成績評価や、服のS、M、Lのサイズというように、分類の順序に意味を持つ尺度になります。


今日の授業は以上になります。最後までご視聴ありがとうございました。

【解説重要用語】

オープンデータ、四分位数、四分位範囲、四分位偏差、箱ひげ図、外れ値、誤差、欠損値、テキストマイニング、度数分布表、階級、度数、ヒストグラム、分散、標準偏差、偏差値、量的データ、間隔尺度、比率尺度、質的データ、名義尺度、順序尺度

★私の目標
「とある男が授業をしてみた」 の葉一さん
https://www.youtube.com/user/toaruotokohaichi
※Google社に招待頂いた、「YouTube教育クリエイターサミット2020」で
 葉一さんと文部科学省・Google役員の対談セッションに感銘を受けて、高校情報講座スタートしています。

【参考サイト・参考文献】
tkmium note(共通テスト対策・プログラミング・情報教育全般)
★情報関係基礎の過去問解説が充実しております!
https://tkmium.tech/

文部科学省 「情報Ⅰ」教員研修用教材
https://www.mext.go.jp/a_menu/shotou/zyouhou/detail/1416756.htm

詳細(情I703 高校情報I Python)|情報|高等学校 教科書・副教材|実教出版 (jikkyo.co.jp) 検定通過版
https://www.jikkyo.co.jp/book/detail/22023322

令和4年度新版教科書「情報Ⅰ」|高等学校 情報|日本文教出版 (nichibun-g.co.jp)検定通過版
https://www.nichibun-g.co.jp/textbooks/joho/2022_joho01_1/textbook/


その他、情報処理技術者試験(全レベル1~4)/IT企業15年勤務(システム技術部 部長)経験から培った知識を交えながら解説しています。

かわいいフリー素材集 いらすとや (irasutoya.com)
https://www.irasutoya.com/


【高校情報共通テスト対策/学習塾/個別指導】セキュリティ技術入門(デジタル署名、公開鍵・秘密鍵、TLS/SSL(HTTPS)、VPN、ブロックチェーンなど)【高校情報1授業・基本情報技術者

2021-11-20 22:03:27 | 日記

セキュリティ技術入門(デジタル署名、公開鍵・秘密鍵、TLS/SSL(HTTPS)、VPN、ブロックチェーンなど)【高校情報1授業・基本情報技術者・共通テスト対策】

 

 

高校情報1 教科書・参考書・問題集・プログラミング・共通テスト

高等学校 情報Ⅰ(情報1)の動画教科書・参考書・問題集です。授業・プログラミング対策/定期試験対策に利用可能!大学入学共通テスト「情報1」対...

 

 

【資料ダウンロード】

PDFの他、パワーポイント、学習指導案 等の原本も無料提供しています。

情報教育の底上げが目的なので、資料を修正して、学校・塾(営利目的含む)の授業等で利用して頂いて問題ありません。私への連絡不要ですが、利用する際には、YouTubeチャンネル・情報Ⅰ動画教科書・IT用語動画辞典を紹介してもらえると嬉しいです。

■PowerPoint・問題集
https://toppakou.com/info1/download/24_安全のための技術/24_安全のための技術.pptx

■簡易学習指導案
https://toppakou.com/info1/download/24_安全のための技術/【学習指導案】24_安全のための技術.docx

【セキュリティ技術の教科書 文字おこし】

今回は、主要なセキュリティ技術について公開鍵暗号方式、電子署名、SSL・TLS・ブロックチェーンなど幅広く解説していきます。

■デジタル署名・公開鍵暗号方式・ハッシュ値(メッセージダイジェスト)■

はじめに問題です。

差出人がミライで3通の手紙が届きました。2通は偽物の未来が書いたものです。
本物のミライはこのようなハンコを持っています。
本物のミライから届いた手紙はどれでしょう。

回答ありがとうございます。
正解は2番です。
本物のミライしか持っていないハンコが押印しているから、2番が正解となります。
現実の世界なら、公的機関が発行する、印鑑証明書があれば更に信用力が増しますよね。

インターネットの世界でも、届いた文書が送信者本人が差し出したか、そして途中で書き換えられていないかどうかということが判断できる仕組みがあります。
それをデジタル署名と言います。今日はこのデジタル署名について基礎から詳しく説明していきます。


まず、暗号化、復号、鍵の基礎用語について説明します。
暗号化
データの内容を第三者にわからなくする技術または手法
「こんにちは」という文字列があった場合、このような意味不明な文字に変換され解読不可能になります。

そして復号は
暗号化されたデータをもとのデータに復元することになります。
復号は「復号化」と最後に「化」漢字を付与してはいけません。

この暗号化されていないデータのことを平文と言います。

この、暗号化と復号には鍵というものを使います。
鍵と言っても、物理的な鍵ではなく、パスワードの文字列の様なものになります。


今から説明する、デジタル署名は、公開鍵暗号方式とハッシュ関数という大きく2つの技術を使っています。

まず、公開鍵暗号方式について説明していきます。
==
公開鍵暗号方式は、暗号化と復号に使う鍵が異なるものになります。
鍵ペアと言って秘密鍵と公開鍵の2種類の鍵を使います。

秘密鍵で暗号化したデータを復号できるのは公開鍵だけになります。


公開鍵で暗号化したデータを復号できるのは秘密鍵だけになります。

その名の通り、秘密鍵は、発行した本人以外知られてはいけない鍵になります。
一番初めのクイズの例で言ったら、本人しか持っていないハンコの様なものです。
一方、公開鍵はその名の通り公開情報なので、漏れても良い情報になります。

こんどは、ガッキーからミライに公開鍵暗号方式を使って、
第三者に漏れないように、文書を送ります。

まず、前準備としてミライが公開鍵と秘密鍵の鍵ペアを生成します。
そして、秘密鍵は漏らしたらいけない情報なので、ミライの公開鍵の方をがっきーにあらかじめ渡しておきます。

そして、がっきーはミライの公開鍵を使って、文書のデータを暗号化し、送信します。
途中で、通信が傍受されてもミライの秘密鍵でしか復号できなので、文書の中身はわかりません。

そして、ミライに届いたとき、ミライが持っている秘密鍵で復号すれば、平文にもどり
ミライは中身を確認できます。

――
こんどは逆にミライからガッキーに手紙を送りましょう。
ミライの秘密鍵でメールを暗号化してガッキーに送付します。
ガッキーはミライの公開鍵で復号ができます。
でも、ここで疑問に思われた方がいると思います。
公開鍵は公開情報だからガッキー以外も手に入れることができます。盗聴された場合にミライの公開鍵を使って復号ができてしまいます。

実はこのパターンは、ミライ本人から送られてきたことが分かるのです。
ミライの秘密鍵はミライ本人しか持っていません。
ミライしか持ってない秘密鍵で暗号化できた文書を、ミライの公開鍵で復号できたということでその文書がミライ本人から送られてきたという証明になります。
セキュリティ用語で、「真正性」が確認できたといいます。

---
次に、ハッシュ値について説明していきます。

ハッシュ値はメッセージダイジェストとも言います。
直訳すると、「文書の要約」という意味ですが、どんなに長い文書でも、ハッシュ関数という、機能を使うことで決められた短い文字列が返却されます。
このときハッシュ関数から戻される値をハッシュ値といいます。
要約と言いましたが、ハッシュ値から元の入力値が何だったかということは推測することは出来ません。

ここまでで、いったい何の役に立つんだと思われている方が多いと思います。

このハッシュ値にはいくつか特徴があります。
・たとえば入力値が同じ内容なら、何度ハッシュ関数に入れても同じ値が返却されます。
・逆に入力文字を少しでも変えると全く違うハッシュ値になります。

具体的な例で説明していきます。

ミライからがっきーに文書を送るときの例で説明していきます。
分かりやすくするために暗号化は無しとします。

まずミライは、送信する予定のメッセージをハッシュ関数に入れて、ハッシュ値を求めます。
ここでは、ハッシュ値をabc123としましょう。
そして、そのハッシュ値とセットでメッセージを送ります。

しかし、途中で悪人がいてメッセージの内容を変更したとします。


メッセージをうけとったがっきーは、ミライと同じハッシュ関数を使ってメッセージのハッシュ値を求めます。そのハッシュ値とミライから送られてきたハッシュ値を突き合わせます。途中メッセージが書き換えられて入力情報が変わったので、ハッシュ値が一致しません。
がっきーは、このことで途中でメッセージが書き換えられている、つまり改ざんされているということを検知することができます。

つまり、ハッシュ値は改ざん検知で用いられます。
このメッセージが改ざんされていないこと。つまり完全であることをセキュリティ用語で「完全性」といいます。

デジタル署名はこのハッシュ値と公開鍵暗号方式を混ぜ合わせた方式になります。

ミライからがっきーにメッセージを送る流れで説明していきます。

まず、ミライは先ほどと同じように送信するメッセージをハッシュ関数に入れてハッシュ値を算出します。
そして、得られたハッシュ値を自分自身の秘密鍵で暗号化します。
この秘密鍵で暗号化したハッシュ値をデジタル署名といいます。

そして、デジタル署名とメッセージを一緒に送信します。

がっきーは届いたデジタル署名をミライの公開鍵で復号します。。
復号できた時点で、ミライ本人から送られてきたということつまり、真正性が証明できます。

そして、届いたメッセージをハッシュ関数に入れてハッシュ値を求め、
先ほどミライの公開鍵で復号したハッシュ値と突き合わせます。

値が一致すれば、改ざんされていないことが証明されます。

つまり、デジタル署名は、真正性確認と完全性確認ができるということです。

今話した内容は、ミライの公開鍵自体が本物であることが前提です。
その公開鍵が本物つまりミライ本人の物であることを、第三者機関が証明するものがあります。それが、デジタル証明書です。

印鑑証明も、自らのハンコを、第三者機関である役所が本物であることを証明してくれますよね。

デジタル証明書もこれと似たイメージで、ミライはあらかじめ自身の公開鍵を信頼できる第三者機関に申請して、デジタル証明書を発行してもらいます。
この第三者機関のことを、認証局やCAと言ったりします。

先ほどのメッセージとデジタル署名を送信するときに、デジタル証明書も一緒に送付します。
証明書の中には、ミライの公開鍵が入っていて認証局がこれは本物ですとお墨付きを与えています。

デジタル証明書の詳細はまた別動画で説明します。

それでは、今日の要点確認です。
デジタル署名について
・ハッシュ値を利用することでメッセージが改ざんされていないことを確認できます。つまり完全性の確認ができます。

・公開鍵暗号方式を利用することで、秘密鍵を持つ本人がメッセージを送付したことが証明できます。つまり真正性の確認ができます。

・公開鍵自体の信頼性は、認証局(CA)が発行するデジタル証明書で確認できます。

 

※上記は、一般的な入門書(高校情報教科書・情報処理技術者試験入門書含む)の内容をベースに解説しております。
 
 公開鍵暗号方式などの詳細・最新情報は以下のブログが参考になります。

 


■共通鍵暗号方式■

共通鍵暗号方式は暗号化と復号に使う鍵が同じものになります。

例えば、がっきーからミライに、メッセージを送信する場合で考えていきましょう。
共通鍵はあらかじめ何らかの方法でお互い同じ鍵を持っていることが前提です。

「こんにちは」というファイルを共通鍵で暗号化します。
通信経路上などで誰かに通信が傍受されても、それが、「こんにちは」の文字であることはわかりません。

そして、ミライに届いたとき、ミライが持っている共通鍵で復号すれば、平文にもどり
ミライは中身が「こんにちは」の文書であることを認識できます。

もっとも簡単な共通鍵暗号方式の例に、文字を任意の文字数分ずらして他の文字に置き換えて暗号化するシーザー暗号というものがあります。

たとえば 「3文字後ろにずらす」というのを鍵にします。

EJという文字を暗号化すれば、アルファベット順に3文字ずらした HM  というのが暗号文になります。共通鍵を持っていれば暗号化方式は分かっているので復号する際は、3文字前にずらします。


今話した共通鍵暗号方式と公開鍵暗号方式を比較していきます。
共通鍵暗号方式のは
 お互いに同じ鍵を共有する方法が難しいのが特徴です。
 インターネットでやり取りする場合、 鍵自体(暗号化していない)を受け渡す際に
 通信が傍受される可能性があります。

公開鍵暗号方式は、公開鍵は公開情報なのでの受け渡しは容易ですが、共通鍵に比べ、暗号化と復号に時間がかかるのが特徴です。

この2つの鍵のメリットを生かして、Webページ閲覧を行う際のHTTPSでの暗号化通信
が行われています。

■SSL/TLS HTTPS■

HTTPSのプロトコルを用いることで通信が暗号化されるというのは有名な話です。
正確に言うと、HTTPSはTLS/SSLという技術を使ったWebアクセスプロトコルです。

後から詳しく説明しますが、TLSはSSLの進化版で、SSL自体は暗号化したデータが第三者に見破られるPOODLEという脆弱性が発見されているので、現在は、ほとんどTLSに置き変わっています。

こちらのサイトでTLS/SSLの導入割合が分かりますがほとんどがTLSへ移行済みということが分かります。

SSL自体は非常に歴史があるので、実際はTLS通信を行っていても、SSL通信と呼ばれることも多いです。

ここではTLS通信という呼び名で説明させていただきます。


はじめにHTTPとHTTPS通信のざっくりとした比較を説明します。

まずTLSを使わないHTTP通信は
Webブラウザで見たいWebページのURLのリンクをクリックしたときに
WebサーバとのTCPコネクションの確立が行われます。
WebブラウザからSYNフラグの送出、それを受け取ったWebサーバからSYN/ACKフラグの返答、それを受け取ったWebブラウザはACKフラグの返答をします。
この一連の流れを3ウェイハンドシェイクと言います。
そしてその後に欲しいWebページの依頼をWebサーバにおこない、Webサーバはデータを返却します。

では、HTTPSの場合は、3ウェイハンドシェイクの後にTLSハンドシェイクを行います。
このTLSハンドシェイクのなかで暗号化に使う鍵を交換します。

そしてHTTPリクエストとレスポンスの通信が暗号化され改ざんの検知ができます。


更に掘り下げてTLSの通信を説明していきます。

TLS通信には、事前にサーバ側にサーバ証明書を登録しておく必要があります。
サーバ証明書はCA認証局と呼ばれる信頼できる第三者機関に発行してもらう必要があります。

その発行のながれを説明していきます。
まずWebサーバーの管理者は、公開鍵と秘密鍵の鍵ペアを生成します。
そして、CSRという依頼書の様なものに公開鍵を添付して送付します。
認証局は申請内容を審査して問題なければ、サーバ証明書を発行し依頼者に送付します。

Webサーバの管理者はWebサーバにサーバ証明書を登録します。

ここで発行されるサーバ証明書の中身のレイアウトを説明していきます。
HTTPS通信しているときにブラウザのURL欄に鍵マークが出ますが、鍵マークをクリックすることで、そのWebサーバのサーバ証明書を確認することもできます。

証明書のフォーマットは X.509 バージョン3(RFC5280)という仕様で定められています。
構造は「署名前証明書」「証明書の署名アルゴリズム」「認証局の署名」という大きく3つで構成されています。

署名前証明書は
 バージョン情報
シリアル番号
署名アルゴリズム
発行者(認証局)
有効期間(開始時刻、終了時刻)
発行対象の企業名など
発行対象の公開鍵
拡張領域

で成り立っています。

認証局による署名は
署名前証明書のハッシュ値をとって証明書の署名アルゴリズムを用いて認証局の秘密鍵で暗号化したデータを署名として追加したものになります。

では、TLS通信の流れを説明していきます。
前提として、Webサーバには認証局が発行したサーバ証明書が登録されています。

3ウェイハンドシェイクのあと


そしてWebサーバは認証局が発行してくれたサーバ証明書を返却します。

送られてきたサーバ証明書の署名前証明書の部分をハッシュ関数に入れてハッシュ値を算出します。

サーバ証明書に添付されいる署名を認証局の公開鍵で復号して、ハッシュ値に戻します。

そのハッシュ値を突き合わせて一致していれば、信頼できるサーバだということが分かります。

実際のデータのやり取りは、暗号化と復号が公開鍵暗号方式より高速で行える共通鍵暗号方式を使います。
クライアントは、共通鍵のもとになるランダムな値をを生成して、サーバ証明書に添付してあったサーバの公開鍵で暗号化します。その、暗号化した「鍵のもと」のデータをWebサーバに送付します。
受け取ったサーバは自らの秘密鍵で復号します。
クライアントパソコンとWebサーバはその、「鍵のもと」から暗号通信に使う共通鍵を生成します。この流れを鍵交換と言います。

次に実際のデータの送受信になります。
WebサーバからクライアントパソコンにWebページのデータを送るパターンで説明します。
送りたいデータを先ほど生成した共通鍵で暗号化します。
同時にその送信する平文データのハッシュ値も求めます。

そして、暗号化したデータとハッシュ値をセットで相手に送信します。

受信側は、共通鍵でデータを復号して平文にします。これでほしいデータは得られたのですが、途中改ざんされていないか確認するために、復号したデータのハッシュ値を求めて一緒に送られてきたハッシュ値と突き合わせて一致していれば改ざんされていない、つまり完全であることが判断できます。

まとめると、TLSを用いることによって
・認証局が発行するサーバ証明書によって通信したいサーバが本物であることが証明できます。
・鍵交換技術、共通鍵暗号を用いることで通信内容の暗号化ができます。
・ハッシュ値を使うことで改ざんされていないかの完全性のチェックが行えます。

■FIDO■

前回の授業で少し説明したパスワード地獄の救世主FIDOについて
フローを説明していきます。
FIDOは簡単に言えば、パスワードレスでサービスにログインできる仕組みで最近はそれに対応したスマートフォン端末等も増えてきています。
FIDOでは公開鍵暗号方式による電子署名を利用します。
事前準備として
FIDO対応認証機器は、公開鍵と秘密鍵の鍵ペアを生成します。
そして認証サーバ側に公開鍵を登録します。
――――
サービスを利用したいユーザは認証サーバーにログイン要求をします。
そしてサーバ側はランダムな文字列のチャレンジコードを送信します。
そして、認証器は生体認証などで本人を認証します。
認証OKの場合は、チャレンジコードを秘密鍵で電子署名して認証サーバに送付します。
認証サーバは、事前準備時に受け渡された認証機器の公開鍵で復号し自らの送ったチャレンジコードと突き合わせ一致すれば、ログインを許可します。
ここでFIDOの利点は
利便性と安全性を両立する生体認証が使えるということ
 生体認証がOKなら、送られてきたチャレンジコードを秘密鍵で暗号化するので、生体情報自体は通信経路上を流れないというメリットがあります。
FIDOの普及が進んでくると、パスワード地獄脱却の日が近いかもしれません。


■VPN■

VPNはバーチャルプライベートネットワークの略で、直訳すると仮想的な私設網のことです。

例えば、FREEwifiスポットやインターネットの世界はだれでもアクセスできて、盗聴されたりセキュリティ的に担保されていません。

また、インターネットを使わずに、東京の本社ビルと大阪の支店ビルの間を自前のリアルな施設網つまり専用線を使う場合は、膨大なコストがかかります。。
例えば大阪と東京だけなら1本だけですが全部で4拠点あるとしたら6本も専用線を引かなければなりません。

VPNという技術を使えば、インターネットの様なみんなが使う公衆網の中に、VPNトンネルという自分自身だけが使える私設網を仮想的に構築して安全な通信を実現できます。


VPNには大きくIP-VPNとインターネットVPNの二種類があります。

IP―VPNはNTTなどの通信事業者の持っている専用のネットワークを利用します。この専用ネットワークを閉域網といいます。専用線よりコストは安いですが、後から説明するインターネットVPNと比較して、導入コストは高いです。


閉域網は、インターネットと直接つながっていないので、安全性が高く遅延が発生しにくいというメリットがあります。
通信事業者が提供する閉域網までは専用線やインターネットのアクセス回線を使います。


――
次にインターネットVPNの説明をしていきます。

インターネットVPNは、その名の通り、皆が普段利用しているインターネット接続環境を流用するから、インターネット接続環境があれば直ぐに導入できるということと、低コストで実現できるというメリットがあります。

インターネットという公衆網で仮想的な別回線を作って通信します。
この仮想的な別回線のことをトンネルと言います。このトンネリングを実現するためには、その手順を定めたトンネリングプロトコルとセキュリティゲートウェイが必要になります。セキュリティゲートウェイはVPNゲートウェイとかVPNルータなどと言ったります。
今発売されているルータにもこのセキュリティゲートウェイ機能を備えているものがが多くなってきています。

このトンネリングプロトコルの代表的なものにIPSecがあります。
IPSecは Security Architecture for the Internet Protocolの略で
正確に言えばIPSec自体は1つのプロトコルではなく、IP通信そのものをセキュア化するためのアーキテクチャー つまり仕組みのことで4種類の技術から成り立っています。

1つ目は
IPで送受信されるデータをセキュア化する「セキュリティプロトコル」になります。
このセキュリティプロトコルは、IP認証ヘッダのAHとIP暗号化ペイロードのESPの2種類があります。

2つめは、セキュア化に使用する暗号鍵や認証鍵の管理方法になります。
IKEという鍵交換技術を使った動的な鍵交換方式と、手動による静的な方法があります。

3つめはセキュア化に使用する暗号化・認証アルゴリズムになります。

4つめは、IPsecを使用する2台の機器間で確立する仮想通信路のSecurity AssociationのSAになります。

通信の暗号化いえば、以前説明したTLSがあります。
TLSは、HTTPやSMTPなどTCPを使うアプリケーション層のプロトコルしか暗号化できません。
コネクションレスのUDPを使う、DNS、DHCPなどでは使えません。

しかし、IPSecはIPを使う全てのプロトコルが対象になります。

IPSecはトンネルモードとトランスポートモードの2つのモードがあります。

トンネルモードはVPNに対応したルーター間の通信、トランスポートモードはend t o endで端末間の通信になります。


■ブロックチェーン■

最近はビットコインなどの仮想通貨が有名になっていますが、この仮想通貨を支える技術にブロックチェーンがあります。

ブロックチェーンは分散型台帳の仕組みが使われています。

この台帳の意味についてはじめに説明していきます。
例えば普通の銀行でお金の預け入れや引き出しをしたときに、銀行のデータベースに取引実績を登録します。
この登録先を「台帳」といいます。

そしてこのブロックチェーンの取引実績で使われる台帳はインターネットにつながっていて世界中どこからでも使われるイメージです。

多くの人が使っているので、大量のコンピュータリソースが必要で、何台ものコンピュータがリソースの共有やデータを分散して保持しています。
取引データが正しいかもお互いのコンピュータがチェックし合っていて、正しければ台帳に書き込まれます。

ブロックチェーンのブロックは台帳の1ページの意味でそれがチェーン上につながっているイメージなので、ブロックチェーンと名付けられています。

仮想通貨を得る方法として、一般的には取引所で購入することがありますが、
もう一つはマイニング(発掘)の報酬として金銭を取得する方法があります。

ブロックチェーンは先ほど説明したように大量のコンピュータリソースを必要とするので、自身のパソコンのリソースの一部を提供して、計算を行った場合に得られる仮想通貨のことになります。

このブロックチェーンのメリットは、中央にサーバを立てなくても取引データを正しく管理できるので管理コストが低いことがあげられます。
また、ゲームやデジタルコンテンツなど幅広い分野で応用が期待されている技術でもあります。


■パリティチェック■

今まで悪意の持った人による、データ改ざんの可能性について話してきましたが、コンピュータのデータ伝送は0と1の電気信号なので、ノイズによりそのデータが書き変わってしまう可能性があります。

この誤りをチェックする仕組みにパリティチェックがあります。
パリティチェックでは、送信するビット列に対して、パリティビットと呼ばれる誤り検出符号を付加することでデータの誤りを検出します。

例えば、アルファベット Aのアスキーコードである100 0001の7ビット例でみていきましょう。

パリティビットには大きく偶数パリティと奇数パリティの2種類があります。

偶数パリティはビット列の中のパリティビットを含めた1の数が偶数になるように、パリティ値をセットします。
今回は7ビットのデータ中に1が2つと偶数個あるので、パリティビットは0となります。

途中でビット列の中の1文字が書き変わって0が1になった場合、偶数パリティにもかかわらず、1が奇数個存在するのでデータに誤りがあることを検出できます。


奇数パリティビットはパリティビットを含めたビット列の中に1の数が奇数となるようにパリティ値をセットします。
今回は7ビットのデータ中に1が2つと偶数個なので、奇数個にするためにパリティビットは1となります。

途中でビット列の中の1文字が書き変わって0が1になった場合、奇数パリティにもかかわらず、1が偶数個存在するのでデータに誤りがあることを検出できます。


今話した方法は、データの誤り検出までで具体的にどのビット列が誤っているかまでは分かりません。

具体的にどのビット列に誤りがあるかを検出できる方法に水平垂直パリティチェックがあります。
ABCという文字列の例で考えていきましょう。
まずAの文字コードを縦に並べて一番下に偶数パリティを付与します。
同じようにBの文字コードを縦に並べて、一番下に偶数パリティを付与します。
Cも同様に行います。
このデータ単位に縦に付加するのを垂直パリティと言います。

今度は横に見ていきます。
101 は偶数なのでパリティは0
011 も偶数なのでパリティは0
同様に パリティを付与していきます。

この横のビット列に対して付加するのを水平パリティと言います。

例えば、Aのビット列の1つが書き変わってしまった場合 垂直、水平パリティ両方と一致しなくなるので、1ビットまで誤り検出と訂正をすることが可能になるのが水平垂直パリティチェックになります。

■電子透かし・コンテンツフィルタリング■

Webページに掲載された画像等のデータは簡単に複製ができるため、著作権が侵害される可能性があります。
このような権利侵害を防ぐ仕組みとして電子透かしがあります。
見た目は同じ画像ですが、透かし情報として著作者名、IDなどの情報を画像に埋め込むことが可能で、電子透かしに対応したアプリケーションを利用することで透かし情報を読み取ることができます。


誹謗中傷を含む情報や暴力など犯罪にかかわるWebページなど学校や会社のPCなどでは見せたくないページがあると思います。
情報を受信する際に、必要な情報だけを選別する仕組みをコンテンツフィルタリングといいます。

コンテンツフィルタリングにはいくつか種類がありますが、代表的なものにブラックリスト方式とホワイトリスト方式があります。
ブラックリスト方式は
不適切なサイトの一覧を作成し、そのリストのサイトを見せなくするものになります。
リストに無いものは見れるので、不適切なサイトが新たに発見されたらリストへの追加が必要になります。

ホワイトリストは、有益なサイトの一覧を作成し、そのリストに存在するサイトだけ閲覧可能とするものになります。
有益なサイトが別にある場合は、リストへの追加が必要になります。


情報セキュリティに関する技術の基礎を色々話してきました。
セキュリティ技術は日々進歩していますが、今回話した内容は基礎となるのでしっかり把握しておきましょう。
今日の情報セキュリティ技術の授業は以上になります。
最後までご視聴ありがとうございました。

【解説重要用語】

暗号化、復号、平文、デジタル署名(電子署名)、ハッシュ関数、ハッシュ値、公開鍵暗号方式、秘密鍵、公開鍵、認証局(CA)、シーザー暗号、HTTPS、Poodle、SSL、TLS、3Wayハンドシェイク、CSR、X.509、FIDO、VPN、IPSec、IPVPN、ブロックチェーン、分散型台帳、マイニング、パリティチェック、水平垂直パリティチェック、偶数パリティ、奇数パリティ、電子透かし、コンテンツフィルタリング、ブラックリスト方式、ホワイトリスト方式


★私の目標
「とある男が授業をしてみた」 の葉一さん
https://www.youtube.com/user/toaruotokohaichi
※Google社に招待頂いた、「YouTube教育クリエイターサミット2020」で
 葉一さんと文部科学省・Google役員の対談セッションに感銘を受けて、高校情報講座スタートしています。

【参考サイト・参考文献】
tkmium note(共通テスト対策・プログラミング・情報教育全般)
★情報関係基礎の過去問解説が充実しております!
https://tkmium.tech/

文部科学省 「情報Ⅰ」教員研修用教材
https://www.mext.go.jp/a_menu/shotou/zyouhou/detail/1416756.htm

詳細(情I703 高校情報I Python)|情報|高等学校 教科書・副教材|実教出版 (jikkyo.co.jp) 検定通過版
https://www.jikkyo.co.jp/book/detail/22023322

令和4年度新版教科書「情報Ⅰ」|高等学校 情報|日本文教出版 (nichibun-g.co.jp)検定通過版
https://www.nichibun-g.co.jp/textbooks/joho/2022_joho01_1/textbook/


その他、情報処理技術者試験(全レベル1~4)/IT企業15年勤務(システム技術部 部長)経験から培った知識を交えながら解説しています。

かわいいフリー素材集 いらすとや (irasutoya.com)
https://www.irasutoya.com/

 

【高校情報共通テスト対策/学習塾/個別指導】情報セキュリティ入門(ファイアウォール・マルウェア・認証認可など)【高校情報1授業・基本情報技術者】

2021-11-20 22:02:32 | 日記

情報セキュリティ入門(ファイアウォール・マルウェア・認証認可など)【高校情報1授業・基本情報技術者・ITパスポート・共通テスト】

 

 

高校情報1 教科書・参考書・問題集・プログラミング・共通テスト

高等学校 情報Ⅰ(情報1)の動画教科書・参考書・問題集です。授業・プログラミング対策/定期試験対策に利用可能!大学入学共通テスト「情報1」対...

 

 

【資料ダウンロード】

PDFの他、パワーポイント、学習指導案 等の原本も無料提供しています。

情報教育の底上げが目的なので、資料を修正して、学校・塾(営利目的含む)の授業等で利用して頂いて問題ありません。私への連絡不要ですが、利用する際には、YouTubeチャンネル・情報Ⅰ動画教科書・IT用語動画辞典を紹介してもらえると嬉しいです。

■PowerPoint・問題集
https://toppakou.com/info1/download/23_個人による安全対策/23_個人による安全対策.pptx

■簡易学習指導案
https://toppakou.com/info1/download/23_個人による安全対策/【学習指導案】23_個人による安全対策.docx

 


【文字おこし】

今回は、情報セキュリティとは何か、マルウェア対策、認証認可、ファイアウォールについて説明していきます。
一部は以前の単元と重複するものもありますが、復習を兼ねて勉強していきましょう。

===================
★情報セキュリティ
情報セキュリティは、例えば 人のパソコンやスマートフォンの情報を盗み見たり、、データを書き換えたり破壊したりする不正行為や不慮の事故に対して、個人的、組織的、技術的双方から安全対策を講じることになります。

専門的な言い方では、情報のCIAを維持すること になります。
CはConfidentialityの略で、機密性。
IはIntegrityの略で、完全性
AはAvailabilityの略で可用性
これらを纏めて情報セキュリティの3要素と言います。

それぞれの項目の内容を具体例を説明していきます。

まず、機密性は、許可されている人、モノだけが使用できることになります。
たとえば、IDとパスワードが知っている人だけが利用できる Webページなどがありますよね。
現実社会で例えると、人気アイドルグループのコンサートを見るためには、入場チケットが必要ですよね。
最近は、IDやパスワードが流出して、機密情報を盗まれたりする事件、つまり機密性が脅かされる事件が多発しています。

次に、完全性は、内容が正しい状態が維持されていることになります。
たとえば、A君からBさんにメールを送った場合、途中で書き換えられたら大変ですよね。
この情報が書き換えられる行為のことを、改ざんと言います。
つまり、完全性は情報が改ざんされないようにすることになります。

最後に、可用性は、使いたいときにいつでも使えるようにする ことになります。

たとえば、テレビで紹介された企業のホームページにアクセスが集中して、内容がみれなかったりすることがあると思います。これは、可用性が失われていることになります。
大量にアクセスが来ても使えること、通信経路の機器が故障しても迂回路を使って通信できるようにすることが可用性を担保することになります。

情報漏洩などのセキュリティ事故が起こってから慌てて対応するのではなく、機密情報を扱うものは常にこのCIAを意識しなければいけません。
このような、情報の機密性や完全性、可用性を維持していくために規定する組織の方針や行動指針をまとめたものを情報セキュリティポリシーと言います。

最近は、情報漏洩という言葉がニュースをにぎわせています。
つぎは、どのような方法で情報が漏洩するのかについて説明していきます。

情報漏洩は、企業など限られた組織や個人だけに公開が許可されている情報が、何らかの理由で外部に流出してしまうことになります。
漏洩経路は様々ありますが、コンピュータウィルスに感染して情報漏洩する場合も多いです。

===
今、ウイルスと言って思い浮かぶのが新型コロナウィルスだとおもいます。
一般的な病気としてのウイルスの特徴は
ウイルスを吸い込むことで体内に入る

体内に入って増殖する

症状が出る
という段階が考えられます。
コンピュータウイルスも、病気のウイルスと同じような意味合いで、名付けられています。

経済産業省のコンピュータウイルスの対策基準では
次の機能を1つ以上有するものとしています。

自己伝染機能
 自らを複製して他のシステムに伝染する機能

潜伏機能
 発病まで ユーザーに察知させないように、特定の時刻や時間、処理回数になるまで症状を出さない機能。

発病機能
 プログラムやデータ等のファイル破壊を行ったり、利用者の意図しない動作をする機能


今説明した、コンピュータウイルスはマルウェアと呼ばれるものの一種になります。
マルウェアは悪意のあるソフトウェアの総称になります。

マルウェアの種類について説明していきます。

まずはワームです。ワームは虫という意味ですが、虫は1匹でも独立して生きていけますよね。ワームは、ウイルスのように他のプログラムに寄生せずに自立して存在してネットワークを経由して自身を複製しながら自己拡散するマルウエアのことです。

次にトロイの木馬です。
ウイルスやワームは増殖しますが、トロイの木馬は増殖しないマルウェアです。
利用者からは、便利な普通のツールソフトの様に見えますが、実際には裏では攻撃活動を行うものがあり、感染に気付かずに被害が長引く可能性があります。

このトロイの木馬の一種に、バックドアがあります。
 直訳すると裏口の意味で侵入したシステム内のコンピュータと攻撃者が通信を行う為のマルウェアになります。このバックドアを利用して、外部から攻撃の指示を行ったり、機密情報を送信したりします。

このバックドアを利用して、攻撃者から指令を受けて、さらに他のコンピュータやネットワークに対して攻撃することが特徴のマルウェアを、ボットと言います。

感染したコンピュータを含むシステムの情報を盗むことを目的としたマルウェアをスパイウェアといいます。

このスパイウェアの一種で、キーボードの操作履歴を記録して打ち込んだID,パスワードなどの機密情報入手するマルウエアがあります。これをキーロガーと言います。
ディスプレイに映っている情報丸ごとスクリーンショットを取得して情報を窃取するマルウエアをスクリーンロガーと言います。

====

最近は、ランサムウェアと呼ばれるマルウェアによる被害が多くなってきています。
ファイルを暗号化して読めない状態にしてしまい、復号してほしければお金つまり身代金を要求するマルウェアになります。

マルウェアはコンピュータのセキュリティ的な弱点を狙ってくることが多いです。
このような、コンピュータのOSやソフトウェアにおいて、プログラムの不具合や設計上のミスが原因となって発生した情報セキュリティ上の欠陥のことを脆弱性と言います。
他の用語でセキュリティホールと言われることもあります。

情報が漏洩しても、暗号化していれば盗まれても解読できないから大丈夫と思われるかもしれません。
ただ、暗号化技術の発展とともに、いたちごっこのように解読技術も発展しています。
実際数年前まで安全と言われてた暗号化技術が今は見破られる可能性があるといわれているものがあります。
このように、技術の発展と共に、暗号アルゴリズムの安全性のレベルが相対的に低下した状況を危殆化といいます。


マルウエアの分類について話していきます。
先ほどコンピュータウイルスについて話しましたが、
狭義の意味でコンピュータウイルスとされています。

トロイの木馬、ワーム、狭義の意味でのコンピュータウイルスのことを「広義のコンピュータウイルス」といいます。

==
マルウェアの他にも情報が盗まれる経路は沢山あります。

まずは、フイッシングです。
フィッシングは、正規のメールやWebページを装って、ユーザーID、パスワード、クレジットカード情報等を入力させて、それらを盗み取って悪用する詐欺のことになります。

これは、実際私に届いたフィッシングメールです。
見た目はアマゾンの様に見えます。差出人はアマゾンと書かれていますが、この部分はだれでも偽装することができます。

そして、このURLをクリックするとAmazonそっくりなページに飛んで
ID、パスワード、クレジット情報等を入力を促されます。入力すると本人になりすまして物が買われたり、クレジットカードが不正利用される可能性があります。

URLのこの部分は偽装することは難しいので、クリックする前に本物のAmazon.co.jpのURLと一致するかを確認することで被害を防げる可能性があります。

他には、ソーシャルエンジニアリングという人間心理に付け込む手法があります。
パスワードを知っている人を信用させて、パスワードを聞き出したり、盗み見たりする手法で、日常生活の中から人為的に機密情報を入手して、コンピュータを不正利用する手法になります。

聞き出すだけではなくて、ゴミ箱に機密情報が捨てられていた場合、それを盗むスキャベンジングという手法もあります。
紙媒体の機密情報はシュレッダーにかけて破棄するようにしましょう。
シュレッダーは量が多くなると手間ですが、企業によっては、セキュリティボックスと言って一度中にいれたら取り出し不可能なボックスに入れて、専門の破棄業者に依頼することも多いです。

他にはコンピュータの誤操作、メールの誤送信など人為的な過失によって情報漏洩は起こります。これをヒューマンエラーと言います。
技術的な対策はもちろんですが、人為的なミスを防ぐための教育も行うことが大切になります。

★マルウェアの対策
このマルウェアの感染を防ぐ対策をいくつか紹介します。

・ウイルス対策ソフトウェアを利用し、ウイルス定義ファイルを常に最新にしておく
・サポートが切れたOSやアプリケーションは利用しない
・外部のメディアを接続する場合は、ファイルを開く前にウイルススキャンをすること
・開発元が明らかでないアプリはダウンロードしないこと
・ランサムウェア等の感染対策として、ファイルはバックアップしておくこと

もし感染した場合は
感染したコンピュータをネットワークから切り離すこと
ネットワーク・セキュリティ管理者の指示に従い対応すること などがあげられます。

また、無線LANは盗聴のリスクが高いです。
盗聴されてもその内容が解読できないように、現在は安全とされているWPA2、WPA3の規格を利用することがあげられます。

===============
★認証認可
次に認証と認可について説明していきます。
コンピュータを利用するためには、その権利を有していなければいけません。
この権利をアカウントと言います。


まず、「認証」と聞いて、IDとパスワードを入れてログインすることを思い浮かべる方が多いと思います。
認証とは、人に限らず、対象の正しさを証明や確認する行為のことです。
ここでいう対象とは、人だったり、サーバーだったり、クライアントパソコンだったり様々です。

そして対象を特定する方法として、大きく3種類があります。
知識情報
生体情報
所持情報 です。

それぞれについて説明ししていきます。

まず、知識認証は、その情報を知っていればログインできる認証になります。
代表的な例としてIDとパスワードを知っていればログインできるサイトが多いですが、このIDとパスワードの認証も知識認証の代表例になります。

次に生体認証です。
生体認証という言葉は有名ですが、身体的特徴や行動的特徴(癖)の情報を用いて行う認証のことになります。
身体的特徴の具体的な例としては、指紋や顔、DNA、目の網膜、虹彩、音声などがあります。最近は体臭の科学的な成分構成をもとに行う認証も研究されているようです。
行動の特徴についての具体的な例としては、筆跡、まばたき、歩行などがあります。

次に所持認証です。
本人しか持っていない物で認証するというものです。
最近はスマートフォンの普及率が上がったことにより、とあるサイトにログインする場合は、スマートフォンのショートメッセージサービスであるSMSに認証コードを送って、その認証コードを入れさせるというパターンが増えています。
このコードは1回しか使えない、使い捨てパスワードの役割をします。この1回限りのパスワードのことをワンタイムパスワードどいいます。

現実の世界では、家に入るためには鍵が必要ですよね。
逆に言えば、鍵を無くしたら本人でも家に入れなくなるし、盗難の場合は第三者が家に入れてしまうリスクもあります。

最近問題になっているのが、知識認証で用いられるパスワードの使いまわしです。
とあるサイトAのIDとパスワードを他のサービスでも使いまわしている方は実際のところ多いと思います。
仮にサイトAのIDとパスワードが漏洩した場合、攻撃者はいろんなサイトでその組み合わせを試して不正アクセスに成功するパターンも増えてきています。

その対策として、2要素認証というものがあります。
先ほど説明した知識、生体、所持の2つの要素を組み合わせる認証になります。
例えば、まず知識認証のIDとパスワードを入力した後、所持認証としてスマートフォンに認証コードを送ってその認証が通ったら初めてログインできるというものです。

2要素認証は同じ要素内では2要素となりません。
例えば指紋と虹彩2つの認証でも、同じ生体認証の範囲なので2要素にはなりません。

ただ、似た言葉で、二段階認証というものがあります。
これは、二つの段階を経て認証を行うことで、これはID、パスワードによる認証と誕生日など同じ要素内でも使われる認証になります。

また、要素を2つ以上組み合わせる認証を多要素認証といいます。
2つ以上なので、2要素認証は多要素認証の一部となります。


パスワードを決めるときには、他人が推測できないような複雑で自分だけが覚えやすいパスワードを設定する必要があります。

・異なる文字種の組み合わせにすること
・電話番号、生年月日、ユーザIDと同一なものは避けること
・初期のパスワードはすぐに変更すること
・パスワードはサイトごとに違うものにすること
・手帳や付箋などに書いておかないこと

とは、いいつつも、
最近は、色んなWebサービスがあふれているから、パスワードを一人で数十管理して忘れてしまう方も多いと思います。


ある意味パスワード地獄ですね。
そんなパスワード地獄の救世主がFIDOという技術です。
FIDOは簡単に言えば、生体認証等を使ってパスワードレスでサービスにログインできる仕組みで最近はそれに対応したスマートフォン端末等も増えてきています。

FIDOの具体的なフローについては、次回の単元で公開鍵暗号方式と電子署名について説明するのでその時に改めて説明します。

もう一つ覚えておいてほしい用語にシングルサインオン 略してSSOがあります。
これは、一度のユーザ認証処理によって独立した複数のサービスが利用可能になるものです。
例えばサービスAの認証が通った場合は、サービスBやCについてユーザは再度認証する必要がなく他サイトのサービスを利用できます。


ユーザーのアカウント情報を格納するサーバーを認証サーバと言います。

Webサービスの認証フローの代表例としては認証サーバーとしてデータベースサーバを使うことが多いです。
ユーザーはブラウザ経由でWebサーバにアクセスして、Webサーバ自体はユーザ情報は保持しておらず、認証サーバであるデータベースサーバにIDとパスワードの情報を問い合わせ認証処理を行います。


無線LANの場合はIEEE802.1Xという認証規格があります。

クライアントパソコンやスマートフォンは無線LANアクセスポイントに接続する時に認証情報を交換します。この時の認証情報を交換するプロトコルをEAPといいます。
そしてアクセスポイントは認証サーバのRADIUSサーバとの間で認証情報を交換します。
この時の認証情報を交換するプロトコルをRADIUSといいます。

今は、サービスを利用する側の認証について説明しましたが、サービスを提供する側の認証もあります。

以前の動画で詳しく説明していますが、HTTPS通信でサーバ認証を行います。

HTTPSではサーバは通信の際に、第三者機関が発行したサーバ証明書をクライアントに渡し、クライアント側はそのサーバ証明書が本当に信用できるかを検証しています。
ブラウザから警告が無ければ、そのサーバの認証が通ったということになります。

認証について説明しましたが、混同しやすい用語に認可があります。

認証は、対象の正しさを証明や確認する行為のことでしたが、認可は何かしらの権限や権利を与えることになります。

例えば、ATMの例で考えていきましょう。
まず、キャッシュカードと暗証番号で本人確認つまり認証が行われます。
ただ、一日の利用限度額は人によって異なりますよね。いくらまで下せるかの権限を与えることが認可になります。

同じWebサービスでも人によって、使えるサービスが違いますよね

認証と認可の違いについて押さえておきましょう。

★ファイアウォール
地面が燃えていますが、レンガが防火壁の役割を果たして。中に住んでいる人は火が入らないので、中の人は問題なく暮らせています。
コンピュータの世界でも、この防火壁の意味で、ファイアウォールという仕組みがあります。

ファイアウォールは、インターネット等の外部のネットワークからの不正なアクセスから守るシステムのことです。
つまり門番的な役割を果たします。
ファイアウォールは主に内部ネットワークと外部ネットワークの分岐点に設置されます。
以前の動画でルータはネットワークを分割するものと説明しましたが、ルータにファイアウォール機能が内蔵されていることも多いです。

ファイアウォールには、いくつか種類がありますが、
代表的な、パケットフィルタリング型とアプリケーションゲートウェイ型について説明します。

まずは、パケットフィルタリング型ファイアウォールについてです。

パケットとは、通信用に分割したデータのことです。大きなファイルのデータを送信際は、ネットワークの負荷を軽減するために、パケットと言われる単位でデータが分割されます。
それぞれ別の経路を通る場合もあります。
宛先に到着した時に、パケットを結合して、元通りの1つのデータにします。

宅急便の伝票を思い浮かべてみましょう。
送り元の住所と宛先住所そして、クール宅急便などの配送方法を記述しますよね。

宅急便の伝票と同じように、パケットのヘッダー情報には、相手の住所と自分の住所及び通信プロトコルが設定できます。
正確には送信先IPアドレス、送信先ポート番号、送信元IPアドレス、送信元ポート番号です。

パケットフィルタリング型ファイアウォールでは、そのパケットのヘッダ情報を確認して、パケットを通過させるか、破棄させるかを事前に決定できるという特徴があります。

ヘッダー情報の確認で処理が単純なので、処理が高速に行えるというメリットがあります。

フィルタリングルールについて詳しく説明していきます。


前提として、toppakou.comのネットワーク内にはルータの配下にFWを設置し、レイヤー2スイッチの配下にWebサーバ、メールサーバを設置したとします。

IPアドレス 123.123.123.123からのみHTTPSの接続を許可したいというパターンで考えていきます。

フィルタリングルールに送信元IPアドレス123.123.123.123を入れます。宛先のIPアドレスはWebサーバのIPアドレスになります。
送信元ポート番号は以前説明したように、ランダムの数値になることが多いので、特定の値を決められません。すべてを意味するanyと入れます。宛先ポート番号は、HTTPSのウェルノウンポートの443番とします。

一番最後の行に、当てはまらない場合の破棄のルールを定義します。
上記に当てはまらないという意味で、すべてをanyとして 動作に拒否を設定します。

これで、IPアドレス123.123.123.123からのHTTPSの通信のみ許可され、それ以外の通信はFWで拒否されます。

しかし、ここで問題点が出てきます。
WEBサーバが応答結果を返そうとしたら、宛先が123.123.123.123になりますがそれに当てはまるパターンが最後の行の破棄しかないので、返却データはFWで破棄されてしまいます。

FWのルールは入ってくる内向きとセットで外向きを定義しないといけません。
送信元IPだったのが宛先に変わるので逆に定義します。
送信元IPがWebサーバ、宛先が123.123.123.123 
送信元ポート番号が443番、宛先ボート番号がanyとなります。

返答パケットが存在する場合は、このように二つを1セットにして定義します。

Webサーバの場合は、送信元が不特定多数の場合がほとんどなので、
このように送信元IPもanyにすることが多いです。

以前、サブネットマスクやCIDR表記を説明しましたが、CIDR表記で許可するネットワーク範囲を指定することもできます。

このようにフィルタリングルールをあらかじめ固定的に設定する方法を、スタティックフィルタリング又は静的フィルタリングと言います。

ルールは番号順に評価されるので、当てはまるパターンがあった時点でそのルールが適用されます。

今は、INとOUTを2つ1セットで定義しましたが、大半は接続元の情報をひっくり返してOUT情報として定義することになると思います。これはネットワーク管理者には手間になり、定義を逆にする単純作業ですが間違ってしまう可能性もあります。

INの許可ルールに当てはまった時点で、その応答を許可するルールを通信の都度動的に追加してくれる方法があります。これをダイナミックフィルタ
と言います。

例えば、送信元IPとポート番号はanyでWebサーバでHTTPSの443番の許可ルールを設定しておきます。
そして送信元IPアドレス123.123.123.123 ポート番号50000 からHTTPSでアクセスがあったら、許可ルールと合致するので通信を通します。
この時に、返答時のルールである
送信元IPアドレス Webサーバ 宛先IPアドレス123.123.123.123 送信元ポート番号443番 宛先ポート番号50000のフィルタリングルールが自動で追加され、応答パケットが許可されます。

◆つぎにアプリケーションゲートウェイ型について説明していきます。
先ほどのパケットフィルタリング型はIPアドレスやポート番号のパケットのヘッダー情報のみで通過可否を判定しました。
しかし、送られてくるデータの中身までは確認できません。
アプリケーションゲートウェイ型はその、データの中身までフィルタリングすることが可能になります。

アプリケーションゲートウェイ型ファイアウォールは別名プロキシ型ファイアウォールと言います。

プロキシとは「代理」という意味で、プロキシサーバとも言います。
外部ネットワークとの通信は全てプロキシサーバを経由してデータの中身までチェックを行うことができます。パケットフィルタリング型に比べて強力に内部ネットワークを保護することができます。しかし、データの中身まで見る分、パケットフィルタリング型に比べて処理が遅くなってしまうというデメリットもあります。

ファイアウォール機能はWindowsのOSにも搭載されています。
同一ネットワーク内部からの不正アクセスや万が一外部ネットワークからの不正アクセスがFWを突破した場合の多重防御の役割も果たします。
ファイアウォールは決して万能ではなく、例えば、メール送信自体は正常なパケットですが、悪意の持ったユーザがウィルスを添付して送信するとファイアウォールをすり抜けて内部ネットワークのユーザのパソコンまで届く可能性があります。ファイアウォールのみでなく、ウイルス対策ソフトでの対策など他のセキュリティソフトとの併用が欠かせません。

 

【解説重要用語】
機密性、完全性、可用性、CIA、情報セキュリティの三要素、情報セキュリティポリシー、マルウェア、ワーム、トロイの木馬、ボット、スパイウェア、ランサムウェア、キーロガー、スクリーンロガー、脆弱性、危殆化、フイッシング、ソーシャルエンジニアリング、ヒューマンエラー、認証、認可、知識認証、所持認証、生体認証(バイオメトリクス認証)、ファイアウォール、パケットフィルタリング型ファイアウォール、アプリケーションゲートウェイ型ファイアウォール


★私の目標
「とある男が授業をしてみた」 の葉一さん
https://www.youtube.com/user/toaruotokohaichi
※Google社に招待頂いた、「YouTube教育クリエイターサミット2020」で
 葉一さんと文部科学省・Google役員の対談セッションに感銘を受けて、高校情報講座スタートしています。

【参考サイト・参考文献】
tkmium note(共通テスト対策・プログラミング・情報教育全般)
★情報関係基礎の過去問解説が充実しております!
https://tkmium.tech/

文部科学省 「情報Ⅰ」教員研修用教材
https://www.mext.go.jp/a_menu/shotou/zyouhou/detail/1416756.htm

詳細(情I703 高校情報I Python)|情報|高等学校 教科書・副教材|実教出版 (jikkyo.co.jp) 検定通過版
https://www.jikkyo.co.jp/book/detail/22023322

令和4年度新版教科書「情報Ⅰ」|高等学校 情報|日本文教出版 (nichibun-g.co.jp)検定通過版
https://www.nichibun-g.co.jp/textbooks/joho/2022_joho01_1/textbook/


その他、情報処理技術者試験(全レベル1~4)/IT企業15年勤務(システム技術部 部長)経験から培った知識を交えながら解説しています。

かわいいフリー素材集 いらすとや (irasutoya.com)
https://www.irasutoya.com/

 


【高校情報共通テスト対策/学習塾/個別指導】データベース入門(SQL、RDBMS、Oracle等)【高校情報1授業・共通テスト・基本情報技術者・ITパス】

2021-11-20 22:01:01 | 日記

データベース入門(SQL、RDBMS、Oracle等)【高校情報1授業・共通テスト・基本情報技術者・ITパス】

 

 

高校情報1 教科書・参考書・問題集・プログラミング・共通テスト

高等学校 情報Ⅰ(情報1)の動画教科書・参考書・問題集です。授業・プログラミング対策/定期試験対策に利用可能!大学入学共通テスト「情報1」対...

 

 

【資料ダウンロード】

PDFの他、パワーポイント、学習指導案 等の原本も無料提供しています。

情報教育の底上げが目的なので、資料を修正して、学校・塾(営利目的含む)の授業等で利用して頂いて問題ありません。私への連絡不要ですが、利用する際には、YouTubeチャンネル・情報Ⅰ動画教科書・IT用語動画辞典を紹介してもらえると嬉しいです。

■PowerPoint・問題集
https://toppakou.com/info1/download/21_データベース/21_データベース.pptx

■簡易学習指導案
https://toppakou.com/info1/download/21_データベース/【学習指導案】21_データベース.docx

 

【文字おこし】

今回はデータベースの種類、SQLの基礎、オープンデータの活用方法などについて解説していきます。

まずは、データベースについて説明していきます。

データベースとは、集めたデータを、検索や追加などが簡単にできるように整理したものになります。

データベースの種類に
 階層型データベース
 ネットワーク型データベース
 リレーショナルデータベース 
などがあります。

階層型データベースは、初期のデータベースによく採用された方式で、個々のデータ同士のつながりが階層構造を成すデータベースになります。

例えば、株式会社Aの中には人事部と営業部があって、人事部は採用課と研修課からなっている。営業部は営業1課と営業2課から成り立つような階層のイメージになります。

ネットワーク型データベースは階層型データベースを発展させたもので、網目のようにつながっている構造をもつものになります。

例えば、パンメーカーA社とB社があったとして
A社ではあんぱんと食パンを製造している。 B社はあんぱんと食パンに加えてカレーパンも作っている。 それぞれのパンの材料と紐づけるとパンの種類について重複するところ、つまり線が重なる部分が出てきます。
このように網目のようにつながっているものがネットワーク型データベースになります。

リレーショナルデータベースは、世の中で多く使われている形式になります。
リレーショナルデータベースの特徴はデータを表形式で管理することです。
このような感じで、エクセルの表と見た目は同じ感じになります。

リレーショナルデータベースは、この列や行を指定したり、表と表をつなぎ合わせたりしながらデータの検索ができます。

そして、SQLと呼ばれる、言語を使って、データの登録・検索・更新・削除をすることができます。
そして、データを格納する表を作るときにもこのSQLが使われる。

SQLはStructured Query Languageの略で、1970年代に開発されたデータベース言語になります。
見た目は英数文字でプログラム言語の様に思えるかもしれませんが、プログラム言語ではありません。
しかし、一般的なプログラム開発では、色んなデータはデータベースに格納することが多いので、システム開発をする上ではデータベースに関する知識は切っても切れない関係にあります。

この、リレーショナルデータベースの世界では、表のことを、テーブルといいます。
そして、行のことをレコードや組、列のことをカラムやフィールドや属性といいます。
本によっては、レコードの中にあるひとつの要素にあたる「入力項目」をフィールドと説明している場合もあります。
高校の情報の教科書では列のことをフィールドと表現していますが、どちらも間違いではありません。
私自身色んな大手企業のシステム開発に携わる中では、列はカラム、行はレコードと表現する人の割合が多かったので、今回の動画でもカラムとレコードという名前で説明していきます。

今回は、「書籍」というテーブルと「作者」というテーブルを使って説明していきます。

あれ?なんでわざわざ2つに分けているのですか?
一つのテーブルでもいいと思うんですが・・?

いい質問ですね。

作者名を書籍テーブルに持ってきて考えてみましょう。
一見問題なさそうに見えますが、仮に作者名が夏目漱石から秋目漱石に変わったとします。
1つの表の場合、いくつも夏目漱石がいたら、修正漏れがおこって、データが不整合になる可能性があります。
ただ、このようにIDをキーとしてテーブルを分割している場合は、作者テーブルの1か所だけ直せばいいので、不整合が起こりません。
このようなテーブル設計の工夫を,テーブルの正規化といいます。

このテーブルを操作する方法として「選択」・「射影」・「結合」という関係演算を用いて処理することが多いです。

選択はテーブルから条件を満たすレコードを抽出する操作で,
たとえば、書籍テーブルから作者ID が1001を取り出しなさいというSQLの命令文を書けばそのレコードが抽出されます。

射影はテーブルから一部のカラムを取り出す操作で、例えば
書籍テーブルから「書籍名」のカラムを抜き出しなさいというSQLの命令文を書けば、そのカラムが抽出されます。

結合は、複数のテーブルを1つのテーブルにする操作で、
例えば、書籍テーブルと作者テーブルを作者IDをキーに結合すると、このような感じに見た目は1つのテーブルになります。

この、選択、射影、結合はお互いを組み合わせて使う場合が多いです。

このリレーショナルデータベースを管理するためのソフトウェアを
リレーショナルデータベース管理システムと言って、略してRDBMSといいます。

これは、データベースの人気ランキングを表しています。
OracleとMySQLが人気だということが分かります。
MySQLもOracle社の製品なので、国内のデータベースシェアはOracle社の製品が多くの割合を占めていることが分かります。

MySQLは無料で手に入って、ORACLEは高機能で高額なイメージが強いですが、
最近ORACLE社が発表したオラクルクラウドのオールウェイズフリーのサービスを使えば、クラウド上にあるORACLEのデータベースを無料で使うことができます。

へぇ~オラクルのデータベースが無料で使えるって、オラクル社 太っ腹ですね。

1つのデータベースをみんなで共有することも可能だから、
例えば教える先生が1アカウント取得すれば複数人の生徒で演習することも可能になります。

以前の動画で、ORACLEクラウド上に10分足らずでデータベース構築する方法を纏めているので、今回はその方法で、すでに環境を作ってあるところから説明します。
先ほどの、書籍と作者のテーブルを作るためのSQLは概要欄にある、noteブログに記載しています。

テーブル名やカラム名は、基本的には日本語ではなく英数文字を使いますが
今回は分かりやすさを重視するために日本語をつかいます。

さきほど説明した、選択、射影、結合を実際のSQLで実行していきます。

書籍のテーブルから作者IDが1001であるレコードを抽出する、選択のSQLについて
はじめのSELECTは「どの列(カラム)のデータを検索するか」を指定します。
 アスタリスクの場合はすべての列を抽出しなさいという意味になります。。
FROMは「どの表から検索するか」を指定します。 今回は書籍テーブルから抽出します。
WHEREは「どのような条件でレコードを検索するか」を指定します。 今回は 作者IDが1001のものということになります。
最後にSQL文の終わりを意味するセミコロンを付けます。

実行してみます。ちゃんと作者IDが1001のものが抽出されました。

今度は、書籍名のカラムのみを抽出していきます。特定カラムの抜き出しは射影でしたね。。
さきほどはSELECT アスタリスクでしたが、今度は SELECTの後に、抽出したいカラム名を記述します。。
実行してみます。
ちゃんと書籍名のカラムだけが抽出されました。

次に 書籍テーブルと作者テーブルを作者IDが等しいレコードを結合します。

SQLは内部結合というものを使います。
FROM の後のテーブル名までは一緒ですが、 その後にINNER JOIN と記述しその後に結合したいテーブル名を記述し ON の後に お互いのテーブルを紐づけるための条件をいれます。
SELECT (取得するカラム) FROM テーブル名1
INNER JOIN テーブル名2 ON (結合条件);

今回は 書籍テーブルの作者IDと作者テーブルの作者IDを結合条件にするので
ONの後に 書籍.作者ID = 作者.作者IDと記述します。

実行してみましょう。
ちゃんと2つのテーブルが結合されました。

次は書籍テーブルに書籍IDが7の新しいレコードを追加してみましょう。
INSERT INTO の後にテーブル名 かっこの中にカラムをカンマ区切りで記述します。

そして実際に挿入する値はVALUESの後にカンマ区切りで記述します。文字列はシングルコーテーションで囲むことを忘れないようにしましょう。
実行してみます。
一応挿入はされているように見えますが、これは未だ仮確定状態で他の人からは未だ存在しないレコードになっています。
確定するためにはCOMMIT;と記述して実行します。

最後に書籍テーブルから書籍IDが7のレコードを削除します。
DELETE FROMの後にテーブル名を記述し、WHEREの後に削除するレコードの条件を記述します
今回は書籍IDが7のレコードを指定します。
実行してみましょう。
再度検索すると、レコードが消えたことが分かります。
これも確定するためにはCOMMIT;を忘れないようにしてください。


―――

各種情報システムでは、情報通信ネットワークにより様々なデータが送受信されています。
情報システムにより蓄積された膨大な量のデータであるビッグデータを課題解決に活用することが近年重要視されています。

個人情報を含むデータや企業活動の根幹にかかわるデータは,漏洩することがないよう情報セキュリティを確保する必要があります。
一方,公益性が高いデータについてはオープンデータとして公開される動きも広がっています。


総務省が出している、オープンデータ基本指針では、オープンデータというのは次の3つの定義があります。
 ①営利目的,非営利目的を問わず二次利用可能なルールが適用されたもの
 ②機械判読に適したもの
 ③無償で利用できるもの

「機械判読に適したもの」として,「コンピュータプログラムが自動的にデータを加工,編集できること」ができるようなものも含め,オープンデータを普及させる取組が官民をあげて推進されています、

オープンデータが公開されることにより次のような効果が期待されています。
 ①国民参加・官民共同の推進を通じた諸課題の解決,経済活性化
  多様なサービスの提供・公共サービスの提供・改善,諸問題の解決への貢献
 ②行政の高度化・効率化
  情報を根拠とした政策・施策の企画・立案,効果的な行政の推進
 ③透明性・信頼の向上
  政策等に関する十分な分析・判断が可能,行政の透明性・信頼性の向上

このオープンデータのファイル形式の代表的なものについて説明していきます。


表形式のマイクロソフトのExcel形式 
カンマで区切られたCSV形式 などがあります。 CSV形式は色んなアプリケーションで対応している形式だから加工がやりやすいというメリットがあります。

そして文書形式としてはPDF形式やマイクロソフトのWord形式などがある。 PDF形式は再度加工するのが難しいので、その時点のデータから変更しない場合に使われることが多いです。

図形情報や属性情報を持つ複数のファイルから構成される 地理空間情報形式のshp(シェープ)形式などがあるあります

でわ、実際にオープンデータを使って、データ分析をしていきます。
埼玉県川越市にAED が十分に設置されているかどうかを調べていきます。

まずは、事前準備として埼玉県川越市のどこにAEDが設置されているかが、一覧になっているCSV形式データをダウンロードしていきます。。
URLは概要欄にも貼っておきます。

【川越市】AED設置場所(公共施設) - データセット - Open Data Saitama
https://opendata.pref.saitama.lg.jp/data/dataset/aed

今回は令和3年3月31日のデータを利用します。
タイミングによっては最新データが違うと思うので読みかえてください。
UTF-8,Shift_JIS,shape形式がありますが、今回はShift_JISの形式のをダウンロードします。

ダウンロードしたら、一度右クリックして、プログラムから開く でメモ帳を選びます。
CSV形式なので、カンマ区切りでデータが保存されているのが分かります。


今回は地図アプリに読み込んでもらえるようにするために、このファイルの列を入れ替える必要があります。
メモ帳だと編集は難しいので、エクセルを使って編集していきます。
一度メモ帳を閉じて、今度はCSVファイルをダブルクリックします。
エクセルと紐づいているので、エクセルで開きます。

経度と緯度が一番後ろの列に来る必要があるので。
まず、軽度の列を切り取って、一番後ろに貼り付けます。。
更に、緯度の列を切り取って、経度の右隣りに貼り付けます。
表を分かりやすくするために、名称の列を切り取って、一番前のA列に挿入します。

これで準備ができたので、ファイルを保存して閉じます。

今度は、この作ったデータを地図上に表示させていきます。
政府統計の総合窓口のe-StatというWebアプリケーションを使うので、このURLにアクセスしてください。概要欄にも貼っておきます。

政府統計の総合窓口 (e-stat.go.jp)
https://www.e-stat.go.jp/

ユーザ登録なしで使える機能もたくさんありますが、CSVファイルを読み込ませるためには登録が必要なので、まずはユーザ登録していきます。。

右上の新規登録をクリックして、ユーザID欄のところにメールアドレスを入れます。確認の為、同じアドレスをその下にも入力して、仮登録ボタンをクリックします。

そうすると、e-Statからメールが届いているはずなので、メール内にあるURLをクリックします。
ユーザ本登録画面に遷移するので、パスワードを自分自身で決めて、入力して
本登録ボタンをクリックします。

完了画面が出たら、登録は出来たので、右上のログインボタンをクリックして
ユーザID欄にメールアドレス 
パスワード欄に今決めたパスワードを入力してログインボタンをクリックします。

統計データを活用する 欄の 地図のアイコンをクリックします。
そして、遷移した画面で 地図で見る統計 jSTAT MAPのリンクをクリックすると地図アプリが立ち上がります。

さきほど作った川越市のAEDの設置状況のCSVを読み込ませてみます。。
右下にある、統計地図作成というボタンをクリックして、プロット作成を選択します。
その中でCSVファイルから読み込む機能である、緯度経度付きファイルをクリックします。

そして、CSVファイル欄の右側に参照ボタンがあるので、さきほど作ったCSVファイルを選択します。
さきほど、軽度、緯度の順番で末尾に持ってきましたが、ここに注意書きがあるように、このアプリケーションが末尾にあるデータを読み込むようにできているので、その形式に合わせた感じになります。

準備が出来たら、アップロードするボタンをクリックします。

つぎに、読み込んだ緯度経度に該当する点をどのように表示するかを選ぶことができます。
アイコン選択で好きなアイコンを選びます。今回は赤色の四角形にしてみます。
そして登録するボタンをクリックします。

川越市の地図上の表示が変わったはずですが、地図が川越市ではない場合は
左上に川越市と入力してエンターキーを押します。

そうすると、川越市に移動して、赤色の四角でAEDの設置場所が表示されているのが分かります。

今度はAEDの設置場所と人口密度の関係性を確認していきます。

左上の統計地図作成をクリックして表示されるサブメニューの統計グラフ作成を選択します。

統計グラフ作成画面に来るので
調査名を[国勢調査],年を[2015 年](最新のもの),
集計単位を[小地域(町丁・字等別)],

統計表を[人口性比,密度],指標を[密度(人口総数)]と順に選択します。
表示する指標である[密度(人口総数)]を選択したら,[指標選択]ボタンをクリックします。
,小計単位を[小地域],集計範囲を[行政界選択]とすると,都道府県,市区町村の順に選択できます。ここでは,埼玉県川越市を選択します。
そして、目的の行政界を選択したら,[集計開始]ボタンをクリックします。


人口密度が高い地域がピンク色ですが、AEDの設置場所も比較的多いことが分ります。

今回は、オープンデータを使って AEDの設置場所を地図と組み合わせて可視化しましたが、色んなデータを使ってそれを他のものと組み合わせて可視化すると相手に伝わる資料になります。

===
今度は、キーバリュー形式というデータの表現方法について説明していきます。

SNS での人のつながりや鉄道の路線などのような関係性について図を使って表現してみよう。
aからfまでの人がいたとします。

この図の見方は、例えば
aの人はbさん、cさん、dさんとつながっています。
bさんはaさんとdさんとつながっています
cさんはaさんとdさんとつながっています
dさんはaさんbさんcさんeさんとつながっています
eさんはdさんとfさんとつながっています
fさんはeさんとだけつながっています。

a からf までの人を表す丸を頂点(バーテックスまたはノード),
人とのつながりを表す線分を辺(エッジ)といい,頂点と辺で構成された図を「離散グラフ」といいます。この図は特に方向性を考えない無向グラフになっています。
人のつながりでの片想いの関係や一方通行の道路のような,方向性を考慮した有向グラフを考えることもできます。

離散グラフをコンピュータ上で表現するには,コンピュータで扱うことができるデータ形式で表現する必要があります。一つの例として,2 次元配列を用いて表現することができます。
頂点どうしがつながっていれば1,つながっていなければ0 として表現します。
例えばfを基準につながっているのは、eなので、eとfのつながりを表す部分は双方向で考えると2箇所あって両方1になっているのが分かります。
このように表現する方法を隣接行列といいます。隣接行列を使って表現する場合,辺の本数が少ない場合には,隣接行列の要素の多くが0 である疎行列になってしまいます。
そこで,接続している頂点のリストを頂点ごとにデータとして,隣接リストとして表現する方法があります。
例えばこれは、頂点a には頂点b とcとd が接続していることをしめしています。
{a : [ b,c,d ] , b : [ a , d ] , c : [ a , d ] , d : [ a , b , c , e ] , e : [ d , f ] , f : [ e ] }
 隣接リストでは,注目している頂点という項目と,接続している頂点のリストという値との組として表現されています。
このように,項目(キー)と値(バリュー)との組により表現されるデータの形式を
「キー・バリュー形式」といいます
 隣接リストの形式では,疎行列のような不要なデータについては解消されますが,頂点同士が接続しているかどうかを調べるには隣接リストをたどって調べる必要が生じます。

 Amazon Dynamo(ダイナモ)DBやオープンソースのHibariやこの前説明したオラクルクラウドもキーバリュー形式に対応したデータベースを提供しています。
他のデータ形式に対応したデータベースもあり,これらのデータベースを総称してNoSQL と呼ばれています。NoSQL はビッグデータの活用と関連して注目されています。
今回のキー・バリュー形式のデータの処理はプログラム開発でよく使われる手法なので、今回の基礎を抑えておいてください。

初期セットアップSQL※ORACLE用
◆ORACLEのSQLです◆
■書籍テーブルの作成■
CREATE TABLE "書籍"
("書籍ID" varchar2(10),
"書籍名" varchar2(255),
"作者ID" varchar2(10));

■作者テーブルの作成■
CREATE TABLE "作者"
("作者ID" varchar2(10),
"作者名" varchar2(255));

■書籍テーブル初期セットアップ■
INSERT INTO  "書籍" ("書籍ID", "書籍名", "作者ID") 
VALUES(1,'羅生門',1001);
INSERT INTO  "書籍" ("書籍ID", "書籍名", "作者ID") 
VALUES(2,'こころ',1002);
INSERT INTO  "書籍" ("書籍ID", "書籍名", "作者ID") 
VALUES(3,'坊ちゃん',1002);
INSERT INTO  "書籍" ("書籍ID", "書籍名", "作者ID") 
VALUES(4,'鼻',1001);
INSERT INTO  "書籍" ("書籍ID", "書籍名", "作者ID") 
VALUES(5,'舞姫',1003);
INSERT INTO  "書籍" ("書籍ID", "書籍名", "作者ID") 
VALUES(6,'吾輩は猫である',1002);

■作者テーブル初期セットアップ■
INSERT INTO "作者" ("作者ID", "作者名") VALUES ('1001', '芥川龍之介');
INSERT INTO "作者" ("作者ID", "作者名") VALUES ('1002', '夏目漱石');
INSERT INTO "作者" ("作者ID", "作者名") VALUES ('1003', '森鴎外');

【解説重要用語】
データベース、階層型データベース、ネットワーク型データベース、リレーショナルデータベース、カラム(列)、テーブル(表)、レコード(行)、フィールド、選択、射影、結合、RDBMS、仮想表(ビュー表)、リレーションシップ、オープンデータ、離散グラフ、頂点(バーテックス、ノード)、辺(エッジ)、無向グラフ、有向グラフ、隣接行列、NoSQL(Not only SQL)

【Oracleクラウド環境構築】
https://www.youtube.com/watch?v=bAWr0LsJHqA

【川越市】AED設置場所(公共施設) - データセット - Open Data Saitama
https://opendata.pref.saitama.lg.jp/data/dataset/aed

政府統計の総合窓口 (e-stat.go.jp)
https://www.e-stat.go.jp/

★私の目標
「とある男が授業をしてみた」 の葉一さん
https://www.youtube.com/user/toaruotokohaichi
※Google社に招待頂いた、「YouTube教育クリエイターサミット2020」で
 葉一さんと文部科学省・Google役員の対談セッションに感銘を受けて、高校情報講座スタートしています。

【参考サイト・参考文献】
tkmium note(共通テスト対策・プログラミング・情報教育全般)
★情報関係基礎の過去問解説が充実しております!
https://tkmium.tech/

文部科学省 「情報Ⅰ」教員研修用教材
https://www.mext.go.jp/a_menu/shotou/zyouhou/detail/1416756.htm

詳細(情I703 高校情報I Python)|情報|高等学校 教科書・副教材|実教出版 (jikkyo.co.jp) 検定通過版
https://www.jikkyo.co.jp/book/detail/22023322

令和4年度新版教科書「情報Ⅰ」|高等学校 情報|日本文教出版 (nichibun-g.co.jp)検定通過版
https://www.nichibun-g.co.jp/textbooks/joho/2022_joho01_1/textbook/


その他、情報処理技術者試験(全レベル1~4)/IT企業15年勤務(システム技術部 部長)経験から培った知識を交えながら解説しています。

かわいいフリー素材集 いらすとや (irasutoya.com)
https://www.irasutoya.com/

 


【高校情報共通テスト対策/学習塾/個別指導】情報システム/POSシステム・電子商取引EC・マイナンバー・電子政府・ATM【高校情報1授業・教科書完全準拠版】

2021-11-20 21:59:58 | 日記

情報システム/POSシステム・電子商取引EC・マイナンバー・電子政府・ATM【高校情報1授業・教科書完全準拠版】

 

 

高校情報1 教科書・参考書・問題集・プログラミング・共通テスト

高等学校 情報Ⅰ(情報1)の動画教科書・参考書・問題集です。授業・プログラミング対策/定期試験対策に利用可能!大学入学共通テスト「情報1」対...

 

 

【資料ダウンロード】

PDFの他、パワーポイント、学習指導案 等の原本も無料提供しています。

情報教育の底上げが目的なので、資料を修正して、学校・塾(営利目的含む)の授業等で利用して頂いて問題ありません。私への連絡不要ですが、利用する際には、YouTubeチャンネル・情報Ⅰ動画教科書・IT用語動画辞典を紹介してもらえると嬉しいです。

■PowerPoint・問題集
https://toppakou.com/info1/download/20_情報システム/20_情報システム.pptx

■簡易学習指導案
https://toppakou.com/info1/download/20_情報システム/【学習指導案】20_情報システム.docx

【文字おこし】

今回は、情報システムの概要について説明していきます。

ネットワークに接続されたそれぞれの情報機器が連携しながら、様々な機能を提供する仕組みを「情報システム」といいます。
業種ごとに代表的な情報システムを説明していきます。

まず、コンビニなどの小売業でよく使われている情報システムにPOSシステムがあります。
小売店の商品が販売された時点の情報を管理するものになります。
これを利用することで商品の在庫、発注などを一元管理します。

とあるコンビニ店での利用例を見ていきましょう。
まずPOSレジスタで商品のバーコードを読み取ります。
その売上情報は本部のコンピュータに送られ、本部のコンピュータでは情報の収集、分析が行われます。
そして在庫の補充が必要な場合は問屋や商品メーカに発注を行います。

メーカや問屋は商品を配送センタに納品し、本部は出荷指示をコンピュータで行います。
問屋から直接店舗に届けられる場合もあります。

このようなPOSシステムは、商品購入者の年齢層や性別などの情報が入力されることもあり、売上傾向の把握など、販売戦略にも役立てられています。

――
インターネット等のネットワーク上で契約や決済と言った商取引をするシステムを
電子商取引システムと言います。
Electric Commerce を略して EコマースやECと読んだりもします。

ヤフーショッピングやアマゾンなどWeb上の店舗で商品を販売するサイトをECサイトと言います。
また近年はメルカリやヤフーオークション等のように個人と個人で売買する形態も活発化してきています。


このオークションの様な、個人の消費者同士の取引をConsumer to Consumer を略してCtoCと言います。

企業と消費者間の取引をBusiness to Consumer を略して B to Cと言います。
企業同士の取引を Business to Business を略して B to B と言います。

Amazonなどで物を買うと、過去の閲覧履歴や購入履歴等をもとにおすすめ商品を表示してくれたりしますが、これをレコメンデーション機能と言います。

今度は金融業界例を見ていきましょう。
現金の支払い、振込などを行う装置にATMがあります。最近は銀行だけでなく、コンビニやスーパなどでも設置されています。
そして、パソコンやスマートフォンを利用してどこからでも残高照会や振り込みのサービスを提供している、インターネットバンキングも普及しています。

最近は、クレジットカードやデビットカードの普及だけでなく電子マネーの拡大で、実物のお金を持ち歩かなくても買い物ができる、キャッシュレス社会が進んできています。

他にも、新幹線や飛行機、ホテルや旅館、映画などのチケットを予約する 予約システムがあります。これも、クレジットカードや電子マネーなどの決済システムと連携していることが多いです。

また、最近は切符を買わなくてもSuicaやPASMOなどのICカードを利用してバスや電車に乗車できますが、これを交通系ICカードシステムと言います。


最近はマイナンバーカードにICカードが格納されていて、税金の支払いなどに利用できます。
このような、コンピュータやネットワークなどの情報通信技術(IT)を行政のあらゆる分野に活用することにより、国民・住民の方々や企業の事務負担の軽減や利便性の向上、行政事務の簡素化・合理化などを図り、効率的・効果的な政府・自治体を実現しようとするものを電子政府や電子自治体と呼びます。

バルト三国の1つのエストニアでは行政サービスの99%がオンラインで完結するため、電子国家と呼ばれて注目を集めています。

【解説重要用語】
POSシステム、電子商取引システム(Electric Commerce / e-コマース / EC)、ECサイト、CtoC(Consumer to Consumer)、BtoC(Business to Consumer)、BtoB(Business to  Business)、レコメンデーション機能、ATM(automatic teller machine)、インターネットバンキング、電子政府・電子自治体、電子国家

★私の目標
「とある男が授業をしてみた」 の葉一さん
https://www.youtube.com/user/toaruotokohaichi
※Google社に招待頂いた、「YouTube教育クリエイターサミット2020」で
 葉一さんと文部科学省・Google役員の対談セッションに感銘を受けて、高校情報講座スタートしています。

【参考サイト・参考文献】
Google Earth
https://earth.google.com/web/?hl=ja

tkmium note(共通テスト対策・プログラミング・情報教育全般)
★情報関係基礎の過去問解説が充実しております!
https://tkmium.tech/

文部科学省 「情報Ⅰ」教員研修用教材
https://www.mext.go.jp/a_menu/shotou/zyouhou/detail/1416756.htm

詳細(情I703 高校情報I Python)|情報|高等学校 教科書・副教材|実教出版 (jikkyo.co.jp) 検定通過版
https://www.jikkyo.co.jp/book/detail/22023322

令和4年度新版教科書「情報Ⅰ」|高等学校 情報|日本文教出版 (nichibun-g.co.jp)検定通過版
https://www.nichibun-g.co.jp/textbooks/joho/2022_joho01_1/textbook/


その他、情報処理技術者試験(全レベル1~4)/IT企業15年勤務(システム技術部 部長)経験から培った知識を交えながら解説しています。

かわいいフリー素材集 いらすとや (irasutoya.com)
https://www.irasutoya.com/