Telnetの利用は避けるべき

telnetの利用は避けるべきというのは今や常識であるが、その理由は単純。
telnetはログインの際の認証情報も認証成功後の通信内容も平文でやり取りする。そのため、ネットワーク上での盗聴が容易になされてしまうという問題を抱えており、セキュリティの観点から望ましいプロトコルではない。

ネットワークトポロジを表現する方法: 隣接行列

ネットワークの構造を示すものがネットワークトポロジであるが、これを数式化できれば、コンピュータで扱いやすくなる。その数式化の手法として、ここでは隣接行列、ラプラシアン行列、そしてTotal Accessibility Matrixというものが存在する。以下、そのそれぞれについて簡単に説明する。

1. 隣接行列

n個のノードを持つネットワークGは、n x nの隣接行列Aで表され、その要素Ai;j (1 <= i; j <= n)は、以下のように表される。

Ai;j = 1 ( i link to j) OR 0 (otherwise)

隣接行列があれば、例えば、ノード iの持つリンク数の合計はすべてのj値に対するAi;jの値の総和にて表される。

2. ラプラシアン行列

次元ベクトルから隣接行列を減算することで、ラプラシアン行列Lを作成することができる。
ラプラシアン行列が手に入ると、例えば、その固有値を導出し、その値が0となる固有値の個数をカウントすることで、分割で切るネットワーク数を知ることができる。

3. Total Accessibility Matrix

ネットワークにおける各ノードに対するアクセシビリティを算出するためのパラメータがTotal Accessibility Matrix。この値が高いほど、アクセシビリティが高いノードとなる。

IETF MILEにて議論されているROLIEの概要

通称ROLIEと言われる本ドラフトの正式名称は、draft draft-ietf-mile-rolie: “Resource-Oriented Lightweight Information Exchange”である。ここでは本ドラフトの概要を説明する。

本draftは、Atom Publishing ProtocolとAtom Syndication Formatを拡張することにより、セキュリティ関連情報を効率的に公開・共有可能にするものである。

 

詳細は後日。

ISOおよびIEEEでもIoTフレームワークを検討

IoTフレームワークは、様々な団体で検討されている。ITU-Tのみならず、ISOおよびIEEEでも検討がなされている。

ISOでは、ISO/IEC 30141 “Information technology – Internet of Things Reference Architecture (IoT RA)”が検討されている。

そしてIEEEでは、P2413 “Stadard for an Architectural Framework for the Internet of Things (IoT)”が検討されている。

 

ITU-T CG-IoTsecの議論の状況

ITU-Tでは、SG17とSG20が、IoT Securityに関する検討scopeのっ境界線を引くべく、CG-IoTsecにて議論を実施している。2016年3月のSG17会合でCG-IoTsecから挙げられた報告によると、SG17とSG20のSecurityに対する考え方が大きく異なっており、scopeの境界線に合意するのに難航しているとのことである。

さてこの議論、納得のいく結論が出るのだろうか。どこかのタイミングで上が決定する必要があるようにも思う。TSAGが、ある程度の見解を出しているので、今後まとまっていくのかが注目される。

RFC 5023: The Atom Publishing Protocol

The Atom Publishing Protocolは、Web resourceをpublishおよびeditするアプリケーションレベルのプロトコルである。本プロトコルは、HTTPを利用してAtomフォーマットの文書を交換すものであるが、Atomフォーマット自体は、RFC4287 “The Atom Syndication Format”にて定義されており、本文書の範囲外である。

本文書では、このAtom Publication Protocolで利用する文書を説明するのと同時に、Web Resourceのpublishおよびeditをするためのプロトコルを定義している。

 

文書の構造の定義

2種類のdocumentを定義している。

  1. Category document: カテゴリのリストを定義。
  2. Service document: ひとつ以上のCollectionをグルーピングしたWorkspaceのリストを定義

CollectionとはResourceの集合体で、そのFeedには、自身のIRIと、member resourceのmetadataが記述される。

RFC5023のSection 8.2の例の抜粋を参考として下記に記載

<collection href=”http://example.org/blog/pic”>
<atom:title>Pictures<atom:title>
<accept>image/png</accept>
<accept>image/jpeg</accept>
<accept>image/gif</accept>
</collection>

また、collectionの中には、利用可能なcategoryを指定することもできる。カテゴリのリストを直接collectionの中に記述してもよいし、href attributeを利用して別の場所で定義したcollectionを参照してもよい。そのリストは、fixedでも、open setでもよく、指定できる。

Collectionの中に記載されるResourceのことを、Member Resourceと呼ぶが、このMember Resourceには、Entry ResourceとMedia Resourcerという2種類が存在する。

 

プロトコルの定義

Atom Publishing Protocolは、Member ResourceをHTTPを利用してretrieve、create、edit、removeするプロトコルを定義している。そのそれぞれのケースに応じて、利用するHTTP methodが異なる点には注意が必要。

  • retrieveするにはGETを利用
  • createするにはPOSTを利用
  • editするにはPUTを利用
  • removeするにはDELETEを利用

尚、POSTを用いてCollectionにcreate requestをする際のツールとして、Slug headerというものが存在する。本ヘッダを利用すると、本ヘッダ中の情報を活用してMember URIを作成してくれる。

 

RELAX NGというXMLスキーマ言語

XMLの構文を定義するものには、W3CのXML schemaが存在するが、このほかにも、時期を同じくしてOASISが策定したRELAX NG (リラクシングと読む)が存在する。これは、XMLに準拠したスキーマと、XMLに準拠しないスキーマ(RELAX NG Compact schema)を定義しており、特に後者は短縮構文といわれている。俺はW3CのXML schemaに既に慣れているので特にXML schemaに文句はないが、そうでなければ、このRELAX NG Compact schemaはよいかもしれない。

https://ja.wikipedia.org/wiki/RELAX_NG

当面のこのページの使い方

さて、どのようにしてこのページを使うかだが、しばらくの間は、「一日一学」をモットーに、新しく学んだことを少しずつ書き加えていくことにする。ある程度量がたまったら、どういうサイトにしたいかも再考したい。まずはWordpressになれることと、書く習慣をつけるところから開始。

WordPressのインストール作業終了

WordPressをさくらのレンタルサーバライトにて利用するための手順

さくらのレンタルサーバライトを利用しているが、今日はこの環境にWordPressをインストールしたので、その手順に関するメモを記載する。WordPressはSQLiteをサポートしていないが、SQLite integrationというプラグインをインストールすることで、SQLiteを利用できるようになる。

WordPressとSQLite integrationをダウンロードしてさくらのサーバ上に展開すれば、難しい設定も特にいらずに動作する。インストールの詳細は、下記のリンクのとおりに実行した。

さくらのレンタルサーバライトにWordPressをインストール -SQLite + SQLite Integration-

 

尚、このSQLite integrationプラグインの説明は、次のようになっている。”SQLite Integration is the plugin that enables WordPress to use SQLite. If you don’t have MySQL and want to build a WordPress website, it’s for you.”