KEEP LEARNING

情報処理の学習

【暗号技術のすべて】上級者を目指すあなたへ

f:id:food_blog:20200810185924p:plain

暗号技術のすべて

暗号技術のすべて

  • 作者:IPUSIRON
  • 発売日: 2017/08/03
  • メディア: 単行本(ソフトカバー)

なぜ読もうと思ったのか

以前、暗号化について【暗号技術入門】読んだときに、その知識をより深めいようと思い、この本を選びました。

learn.foodblog.biz

どのレベルの人が読むべきか

この本は決して入門書レベルの本ではないかと思います。

暗号技術の全体像の理解には上記した、【暗号技術入門】がおすすめです。

本書は暗号技術の一つ一つ(バーナム暗号やAES,RSA等)をさらに深く理解していきたい人向けの本となっている印象です。

※決して入門書ではありません。

何が学べるのか

暗号技術自体の仕組みというよりは、実際の暗号技術一つ一つのアルゴリズムを深堀していくことができます。

本書の解説の理解には数学的知識も多少必要となっていきます。

どう活かせるのか

僕自身はまだ、この本を読むにはとてもハードルが高く結構読み飛ばしてしいました。

ただ、それは単純にまだ僕自身が本書を読むに値しないという感じがしました。

使い方としては暗号技術の辞書的な使い方が良いかと思います。

例えば、AESってなんだっけ?となった時に、本書を活用することで、

詳細な仕組みを知ることができます。

本書は、各暗号技術、アルゴリズムごとに多く記載されているので、

本書から知りたい暗号技術の箇所だけを読むという使い方も有りかと思います。

是非読んでみてください!

暗号技術のすべて

暗号技術のすべて

  • 作者:IPUSIRON
  • 発売日: 2017/08/03
  • メディア: 単行本(ソフトカバー)

【暗号技術入門】暗号技術を理解するぞ。

f:id:food_blog:20200802212302p:plain

暗号技術入門 第3版 秘密の国のアリス

暗号技術入門 第3版 秘密の国のアリス

  • 作者:結城 浩
  • 発売日: 2015/09/17
  • メディア: Kindle版

なぜ読もうと思ったのか

現状ではwebサービスや、ブログサイトの開設にあたり、https通信の実装は必須レベルになっています。

https通信を実現することに関しては、ドメインを取得することから証明書を取得するところまで、やり方は理解していましたし。

実際に何回も実施していました。

しかし、実際にどういう仕組みなのかよくわかっていませんでした。安全なんでしょ?ぐらいの理解度でした。。

流石に、この理解度のまま進んでいくのは良くないと思いセキュティや認証、暗号の類に興味を持つようになりました。

正直なところ、興味を持ったというよりは、やらなくちゃいけないという謎の使命感がありました。

そんな時に、この本を見つけて読んでみることにしました。

どのレベルの人が読むべきか

暗号技術入門というタイトルだけあって初心者でも読みやすいかと思います。

ただ、一部数学的な箇所もありますが、暗号技術の仕組みを理解する上では読み飛ばしても問題ないかと思います。

共通鍵暗号方式や公開鍵暗号方式の違いがなんとなくわかる程度であればこの本はその知識をより深めることができる素晴らしい本かと思います。

何が学べるのか

この本では上記で記載した通り、共通鍵暗号方式や公開鍵暗号方式の仕組みに関して2者間の通信をどのような手順で実施されているのか、その詳細を知る事ができます。

また、メッセージの安全なやり取りには欠かせない、ハッシュ化の仕組み、デジタル署名等に関しても理解を深める事ができます。

この本の良いと思ったところは、各仕組みをある程度理解した上で読者が抱くであろう疑問を的確に捉えており、その疑問に対する回答が各章で記載されています。

僕も認証局って何でCA直じゃなくて中間証明局が必要なんだろと思っていましたが、その答えもこの本に記載されていました。

この本で、理解が深まった一番の良い点は以下の流れが各章で実現されていた事だと思います。

  1. 各仕組みの解説を読み、ある程度理解する。
  2. ある程度理解すると、今まで気にならなかった疑問が湧いてくる。
  3. その湧いてくるであろう疑問を先読みして、その疑問に対する回答がある。
  4. 回答を読み、疑問点がクリアになる。
  5. 知識が深まる!

もう1度何が学べるのか

  • 共通鍵暗号方式
  • 公開鍵暗号方式
  • ハッシュ化によるメッセージ検証
  • デジタル署名
  • SSL/TLS

どう活かせるのか

僕はメインがweb系開発なので、デジタル署名やSSLに関しては直近で間違いなく使うのでその際は今までよりも深い理解で取り組めそうで、何か楽しみです。

サイトのHTTPS化の証明書取得の際は今まではあまり気にしなかった、ここがCAでここが中間証明局で、CAの公開鍵を使っって、、中間証明局のCAの署名をCAの公開鍵で検証して、、、 何かレベルアップしてそうで楽しみです!!

是非読んでみてください!

暗号技術入門 第3版 秘密の国のアリス

暗号技術入門 第3版 秘密の国のアリス

  • 作者:結城 浩
  • 発売日: 2015/09/17
  • メディア: Kindle版

【売却してみた】ドメイン評価次第では売っちゃおう。

ドメイン評価とは

ドメイン評価とはドメインの価値を評価することです。

そもそも、ドメインの価値とはなんでしょう?

ドメインの価値とは

ドメインの価値には2パターンあります。

ドメイン自体の価値

時間軸の価値

ドメイン自体の価値

ドメイン自体の価値はドメインパワーとは定義が異なります。ドメインパワーに関しては後ほど触れます。

ドメイン自体の価値とは簡単に説明するとコンテンツ等は関係なしにそのドメインがどれだけの人に需要があるかを表し、 需要が多いほど価値が高いと言えます。

例えば、意味のある単語一つで構成(red,bookとか)されたり、広く知られている言葉のドメインは比較的価値が高く評価されます。

つまり、欲しいと思う人が多いかどうかです。

時間軸の価値

時間軸の価値(ドメインエイジ)とはそのドメインがどれだけの期間運用されていたかどうかで決まります。

基本的に運用期間とはドメイン(サイト)がクローラに認知されてからの期間になります。

どれだけの運用期間があれば時間軸の価値が高いかどうかは評価者、評価ツールによりけりですが、基本的に長ければ長い方が良いです。

当たり前ですが1年しか運用されてないドメインと20年運用されているドメインでは後者の方が信頼度が高いと言えます。

ドメインエイジが1年未満の場合は時間軸の価値として全く評価されないケースは多いです。

これは、多くのサイト運営者が1年以内にサイトを閉鎖/活動停止することに起因しています。

ただし、googleのドメイン評価基準に関して言えばドメインエイジは検索上位に表示する条件に関係ないと公式に発表しております。

昔は長く利用されているドメインの方がSEO効果が高いとの噂がありましたが(実際に昔はそうだったみたいです。)、現在は気にする必要はなさそうです。

ドメインパワーとは

ドメインパワーとはMozが定義しているドメインに含まれるサイト、コンテンツの評価のことです。

moz.com

ドメインパワーはサイトに対しての評価になるのでサブドメインで複数ブログ運営している場合は、それぞれ別々の評価となります。

ドメインパワーはデフォルトドメインとサブドメインでは評価が異なりますが、ドメイン価値はデフォルトドメインとサブドメインでは評価は同じとなります。

サブドメインはデフォルトドメインさえ取得していれば無限に追加できるので、サブドメイン自体に価値はありません。

ドメインパワーを計測するツールや会社は多々ありますが、その評価基準は明らかになっていません。

そもそもgoogleが明確に定義していないので正確にドメインパワーを測ること自体は困難です。

基本的に下記の評価軸をベースとして各社独自のロジックで算出していることが多いです。

被リンクの数

被リンクの質

ドメインエイジ

記事数

更新頻度

特に最近では如何に他サイトからの被リンクをもらう(=質が高い)かが重要と言われています。

ドメイン価値/パワーを計測におすすめのサイト

communityserver.org

jp.godaddy.com

ドメインの売却

上記サイトでドメインの価値が高く、更新する予定がなければいっそのこと売却しちゃいましょう!

早速、VALUE-DOMAINで64円で購入したドメイン(one-dev.tokyo)を売却してみる。

売却の方法はコントロールパネルのオークションから可能です。

今回は売却の方法を知りたかっただけなので適当に5000円で売却に出してみました。

欲しい方は是非(笑)

バリュードメインで見てみる。

お名前.comでもドメインの売却が可能です。

バリュードメイン お名前.com
販売手数料 0円! 販売金額の20%
メリット 手数料が0円 販売数が多い

f:id:food_blog:20200731002836p:plain

【各社対応!完全版】独自ドメインにサブドメインを追加する方法

 

お名前.comでのサブドメイン追加手順

お名前.comでのサブドメイン追加手順は既にこちらで紹介しています。

learn.foodblog.biz

 

さくらインターネットでのサブドメイン追加手順

TOPページ > ドメインの確認

f:id:food_blog:20200726153831p:plain

 

ドメインメニューを選択

f:id:food_blog:20200726154105p:plain

 

ゾーン編集の選択

f:id:food_blog:20200726155823p:plain

 

変更を選択

f:id:food_blog:20200726161335p:plain

 

サブドメインの登録

f:id:food_blog:20200726165524p:plain

エントリ名のサブドメインの箇所に任意のサブドメイン名を入力します。

種別はCNAMEを選択します。

値の箇所にはIPアドレスもしはネームサーバ名等を入力します。

つまりサブドメインの向け先サーバを入力します

向け先サーバはレンタルサーバ会社等が指定している場合はその値を入力します。

 

あとは新規登録ボタンをクリックして完了です。

 

基本的にサブドメインの個数制限はありませんので何個でも作成可能です。

 

ムームードメインでのサブドメイン追加手順

ドメイン管理 > ドメイン操作

f:id:food_blog:20200726190800p:plain

 

変更

f:id:food_blog:20200726191230p:plain

 

サブドメインの登録

f:id:food_blog:20200726191807p:plain

サブドメインの箇所に任意のサブドメイン名を入力します。

種別はCNAMEを選択します。

内容の箇所にはIPアドレスもしはネームサーバ名等を入力します。

つまりサブドメインの向け先サーバを入力します

向け先サーバはレンタルサーバ会社等が指定している場合はその値を入力します。

 

あとはセットアップ情報変更をクリックして完了です。

 

基本的にサブドメインの個数制限はありませんので何個でも作成可能です。

 

 

バリュードメインでのサブドメイン追加手順

ドメイン > ドメイン設定操作

f:id:food_blog:20200726201923p:plain

 

DNSの設定変更

f:id:food_blog:20200726202317p:plain

サブドメインの設定

f:id:food_blog:20200726203909p:plain

 

バリュードメインのDNS設定(今回はサブドメインの設定)は他のプロバイダと違い全て手入力になるので書き間違いがないように注意が必要です。

 

例えばtest.comというドメインにabcというサブドメインを追加したい場合は

cname abc.test.com <参照先のサーバまたはDNS>

となります。<参照先のサーバまたはDNS>はIPアドレスでも問題ありません。

参照先のサーバは利用するレンタルサーバ会社等が指定している場合はそれを入力します。

 

スタードメインでのサブドメイン追加手順

管理ドメイン一覧 > ドメイン 管理ツール

f:id:food_blog:20200726211431p:plain

 

DNSレコード編集

f:id:food_blog:20200726211612p:plain

サブドメイン追加

f:id:food_blog:20200726211924p:plain

サブドメインの箇所に任意のサブドメイン名を入力します。

タイプはCNAMEを選択します。

コンテンツの箇所にはIPアドレスもしはネームサーバ名等を入力します。

つまりサブドメインの向け先サーバを入力します

向け先サーバはレンタルサーバ会社等が指定している場合はその値を入力します。

 

あとは確認画面から確定すれば設定完了です。

 

その他

サブドメインの追加はもちろんCLOUDFLAREでも設定の追加(CNAMEレコードの追加)は可能です。

CLOUDFLAREに関しては以下の記事の中で少し紹介しています。

learn.foodblog.biz

 

【TCP技術入門】ネットワークの勉強をしてみる。

 

なぜ読もうと思ったのか

そもそも僕自身はweb系を中心としたシステム開発をしています。お仕事として開発している分それなりに、プログラミングの知識はついてきているが、インフラ系の知識がかなり弱いなぁという実感はありました

 

そもそも、システムエンジニアやプログラマーはシステムの人間として一括りにされやすく、実はPCのことやインフラについては詳しくなかったりする。(ある程度はわかるよ。。)

インフラに関しては、仕事場でも、webアプリを開発するプログラマーとネットワークなどのインフラを担当するネットワークエンジニア等それぞれ分けられていることが多いです。

僕はありがたいごとに?インフラ系の業務もやらせてもらう機会が多かったのですが実際はよくわっかていませんでした

そこでインフラの勉強しないと!さらには、なんとなくセキスペの勉強までしたいなぁと思ってしまいました!

 

そこでまずは基礎からだ!と思い、タイトルに”入門”とついているこの本を選びました。 

どのレベルの人が読むべきか

この本は入門とついているだけあって、TCPの仕組みやOSI参照モデルTCP/IPの基礎的な部分をわかりやすく解説しています。

 

但し、ページが後半に行くにつれやや難しくなっていく印象でした。

それでも、入門書としてはとても素晴らしく、TCPの概念を掴むにはもってこいです

 

この本はネットワーク初心者から中級者にとってTCPに関する理解を深めることができる一冊となっています。

ネットワーク初心者(僕。)は1回読むだけでなく、再度読み直すことで知識を定着できるかと思います。

本書ではwiresharkというネットワークの監視ツールを実際に利用しながらの解説がありますが、僕はwiresharkを今回初めて利用したので、全てを理解するには至らなかったのでまずはwiresharkについて勉強してから再度、読み直そうと思います

今度読もうと思っている本 

パケットキャプチャの教科書

パケットキャプチャの教科書

 

 

何が学べるのか?

この本では、上記した通りTCPの基礎から、TCPの成り立ちから現在の技術、そしてこれからの技術(5G,Iot,自動運転..)への展開を知ることができます。

 

ネットワーク通信がOSI参照モデル/TCP/IPモデルでホストクライアント間で実際にどのようなルートで処理がされ、各層ではどのような処理がされているのか、端的にまとめられています。
OSI参照モデル等は、IT関連の試験でよく問われるものの暗記レベルの知識だったのが正しい知識として自分の物になっていくのが読んでてすごく楽しかったです。

 

また、本書ではwiresharkやns-3のネットワーク監視ツールを使った、実際のネットワーク通信の解析のしかたを学ぶことができます

wiresharkやns-3はvagrantファイルがgithubに上げられているので、本書の指示通りgithubから取得するだけですぐに利用できる環境が用意されています。

どう活かせるか?

今まで開発のなかで経験していた、なんか繋がらないなぁって時はアプリ側のログを確認するしか原因の分析ができませんでした。

アプリ側のログで原因が特定できなかった場合は”秘儀・再起動”以外に解決の方法がありません。(僕の場合は。)

 

本書に記載のあるwiresharkの使い方をマスターすることでネットワークの監視及び解析ができるようになり、これまで以上にエラーの解析の幅を増やすことができると思います。

 

是非読んでみでください!

 

0円!独自ドメインを無料でSSL化する方法

 

SSLとは

SSLとは通信を暗号化する技術のことでwebサイトアクセスの際はhttpsから始まるサイトはSSLされています。

 

SSL化(https)は現在、webサービスを公開する上では必須と思っていただいて問題ありません。Googleも今後httpsでないサイトはインデックスしないとまで言っています。

本来は有料

SSL化には本来、SSL証明書が必要でこのSSL証明書を取得するにはドメイン同様、費用がかかります。

しかしながら、ブログサービスなどはブログサービス会社や、レンタルサーバ会社が無料で発行してくれるケースが多いです。

 

これに関してはサービス提供会社がそもそも無料のSSL証明書を発行しているため、無料で利用することができています。

SSL化されているサイトのURLの鍵アイコンをクリックして証明書は確認することができます。

 

f:id:food_blog:20200725153028p:plain

ここにででてくるLet's Encrptこそが無料で発行できるSSL証明書です。

Let's Encrptは有志の組織の誕生によりこれまであり得なかった無料でSSL証明の発行を可能にしました。

もちろん、無料なので個人で発行することも可能です。

 

Let's Encrpt

先ほど、個人でもLet's Encrptは無料でSSL証明書が発行できると言いましたが、実際に発行するにはそもそも仕組みを理解していないと、難しいという印象です。

また、SSL証明書は発行会社から有料で購入すれば基本的に更新も自動で実施してくれますがLet's Encrptは3ヶ月で有効期間が切れてしまいます

実際にはLet's Encrptを個人で導入する際は期限前に自動で更新するようなスクリプトを実行することで自動更新を実現します。

僕も一回以下のサイトをSSL化する際に試してみましたが、自動更新が失敗したりして期限をすぎると、また最初から発行のやり直しが必要となり、保守に手間がかかります。

youdev.tech

 

他にある0円!無料SSL証明書

先ほど紹介した、Let's Encrptよりも簡単に無料SSL証明書を発行する方法をお伝えします!

CLOUDFLARE

CLOUDFLAREはCDN、DNSの機能を提供するサービスです。DNSレコードをCLOUDFLAREに移行することでSSL証明書を利用することができます。

詳細なSSL証明書の発行方法を記載します

ユーザ登録

下記URLからユーザ登録を実施

www.cloudflare.com

SSL化したいドメインの登録

f:id:food_blog:20200725161947p:plain

 ネームサーバの変更(お名前.com)

ここではお名前.comを例に設定方法を記載します。

f:id:food_blog:20200725162751p:plain

ここのネームサーバはCLOUDFLARE側で何を設定するかは指示がありますので、その値をそのまま入力します。

ここのネームサーバの値を変更した時点でDNSとしての機能がCLOUDFLAREに移行されます。

基本的にCLOUDFLARE側でドメインを登録した際に、既存で登録されていたDNSレコードは自動でCLOUDFLARE側にも自動で登録されていますが、もし存在しなかった場合は必要なレコードをCLOUDFLARE側にも登録する必要があります

 

f:id:food_blog:20200725163308p:plain

 

基本的には上記設定で対象のドメインに対するDNSの機能が移行できたことになります。

プロキシステータスに関して 

f:id:food_blog:20200725170505p:plain

プロキシステータスにはDNSのみとプロキシ済みの2パターンありますがこれらの違いを簡単に説明します。

プロキシ済:基本はこちらを選択で問題ありません。CLOUDFLAREの機能を最大限活用できます。

DNSのみ:こちらはDNSの機能のみを利用する場合で、DNSの機能以外はCLOUDFLAREにやらしたくない場合に選択します。

例えばSSL証明書は有料の証明書もしくはLet's Encrptの証明書を利用したい場合などはこちらを選択します。

僕は元々、youdev.techではLet's Encrptの証明書を利用しているので、DNSのみとしています。

SSL有効化

ここまで来たら、あとはSSLを有効化するだけです。何も難しい操作はありません。

f:id:food_blog:20200725171621p:plain

f:id:food_blog:20200725171732p:plain

以上で完了です。

これで、独自ドメインを無料でSSL化することができます。

 

実際に僕が実施した際のドキュメントリンクも記載しておきます。

qiita.com

 

はてなブログを独自サブドメインで運用する方法

 

サブドメインとは? 

サブドメインとはxxx.comの前にyyy.xxx.comのように任意の文字列を追加したドメインのことです。

まさに、本サイトはサブドメインで構築されています。

ドメインがfoodblog.bizとなっており,それに"learn"という文字列を追加してサブドメインとしています。

基本的に1ドメインに対して、お名前ドットコムなどのドメイン会社から購入した金額が課金されており、サブドメインは1ドメインに対して好きなだけ、追加することができます。

 

 

 本来、ドメイン及びサブドメインにはそれに対応するグローバルIPアドレスが必要ですが、実際にはブログサービスの場合、IPアドレスはプラットフォーム側が用意してくれますので実質、サブドメインは元のドメインさえあれば、無料で運用することが可能となります。

 

例えばAWSのようなクラウド環境で何か自分のサービスを運営する場合はグローバルIPアドレスが必要となります。グローバルIPアドレスも本来はドメイン同様、お金を支払う必要があります。 

 

はてなブログのようなプラットフォーム型のサービスの場合は、この辺のIPアドレスをプラットフォーム側が用意してくれているのでありがたいです。

 

ドメインはあくまで、IPアドレスをわかりやすい名称に紐付けているだけなので、ドメインには必ず対となるIPアドレスが存在します。

話はそれますが、IPアドレスとドメイン名の紐付け(名前解決)をしているのはDNSという機能になります。

 

ブログ運営だけだとあまり、意識されないですが、お名前ドットコム等でドメインを契約した場合はこのDNS機能も同時に取得していることになります。

後述するサブドメインはこのDNSの機能を活用して実現されます。(普通の独自ドメインも同様ですが。)

 

 

サブドメインのメリット

サブドメインのメリットは上記でも説明した通り、一番は無料で増やせるということです。

 

これははてなブログで複数ブログを運営する場合でも、一つのドメインさえ存在すれば

可能な限り独自ドメインとして無料でブログを作成することができます。(ただし、はてなブログでは5つまでと制限はされています。)

 

また、サブドメインを利用した場合、元のドメインがxxx.comだったとすると、

yyy.xxx.comやzzz.xxx.comのように複数作成することができますがSEO等の観点からすると上記にサイトは完全に別物として扱われます。

 

ドメインは同じなのに?と思われるかもしれませんが、ドメインはあくまでもIPアドレスをわかりやく名称をつけたものに過ぎずません。IPアドレスはいわば住所のようなものでこの住所はドメイン、サブドメインでは必ずI Pアドレスは別々でなくてはなりません。(厳密には同じでも良いのですが、意味がありません。。)

 

Google等のクローラはあくまでもIPアドレスごとの評価をしているのでドメインとサブドメインはサイトとして全くの別物として扱われます。

  

サブサイトとの違い

よく混合されがちなのがサブドメインとサブサイトです。サブドメインとサブサイトは全く異なります。

 

上記したサブドメインと比較するとサブドメインはIPアドレスが異なるのに対し、サブサイトの場合はIPアドレスが同じとなります

 

つまり、Google等のクローラから見た場合、サブサイトは元のサイトと同じサイトと判定されるため、SEO評価も元のサイトとを含め評価されます。

 

SEOの観点からお話しするとサブドメインは元サイトと別物、サブサイトは元サイトと同じものとして判断される。この点が大きく異なります。

f:id:food_blog:20200724133131p:plain

 

サブドメインの登録方法(お名前ドットこむ)

TOPページ>DNSレコードを設定するから対象のドメインを選択

f:id:food_blog:20200724030303p:plain

DNSレコード設定を利用するを選択

f:id:food_blog:20200724030854p:plain

各項目に設定値を入力

  • ホスト名:サブドメインにしたい任意の文字列
  • TYPE:CNAME
  • VALUE:hatenablog.com 

f:id:food_blog:20200724031129p:plain

サブドメインの設定においてはここが最重要の箇所ですがこれはサブドメインの仕組みを理解していれば、お名前ドットコム以外でも設定に困ることはないかと思います。

まずTYPEのCNAMEですがこれはここの記載がドメインの名称を設定することを意味します。

VALUEはここで設定したホスト名が実在する場所もしくは実在する場所を知る者を表します。基本的にはIPアドレスかドメイン名が入ります。

今回の場合は実在する場所を知る者を表します。

どういうことかというと、サブドメインには対になるIPアドレスが必要であるとお話ししましたが、IPアドレスは、はてなブログ側が用意してくれますが、僕たちはそれを知りません。それを知っているのはhatenablog.comというDNSサーバになります

なので、最終的な実体の場所はhatenablog.comに聞いてね。という設定をしていることになります。

はてなブログ公式ページでもサブドメインを使用する場合は問い合わせ先をhatenablog.comにしてねと記載があります。

確認,設定する

f:id:food_blog:20200724031557p:plain

以上で、お名前ドットコム側の設定は終了です。

 

他プロバイダでのサブドメインの追加方法は以下で紹介してます。

learn.foodblog.biz


 

サブドメインの登録方法(はてなブログ)

サブドメインの設定

独自ドメインの入力箇所に先ほど設定したサブドメインを設定すれば完了です。

f:id:food_blog:20200724123656p:plain

 

お名前ドットコムの注意点

TOPページ > 会員情報の確認、編集

お知らせメールの受信を配信なしに設定しましょう。

f:id:food_blog:20200724125304p:plain

僕自身、お名前ドットコムで5つ程ドメインを契約していますが、メール受信の設定をしっかりしておかないと、嫌がらせかよ!って思うほど毎日お知らせメールが何通も届きます。

お名前ドットコムからは中には自分の契約ドメインに関する本当に重要なメールもありますが、ほとんどが関係ない営業メールなので大事なメールを見落としてしまいます。