ノイズを入れた情報を相手に渡す
LOTUSは、格子暗号という暗号技術の実装の一つだ。どうして「格子」と呼ぶのか、イメージをしやすいように2次元の格子暗号を例に説明しよう(実際の格子暗号の実装には複数の方法があり、ここではイメージしやすいGGH方式を示した)。
2次元の格子暗号では、互いに直交する二つの矢印(ベクトル)で空間を表現する(図で示したa1とa2)。直交とは、矢印が直角に交わっているという意味だ。3次元なら三つ、n次元ならn個の矢印で表現する。空間とは、図内にある黒丸(格子)のこと。これらの格子はすべて、整数倍した矢印の組み合わせで表現できる。この基になる二つの矢印を、格子暗号では秘密鍵とする。この秘密鍵が漏洩しない限り、暗号文は解読されないことになっている。
格子暗号では、直交する矢印(ベクトル)を秘密鍵に、秘密鍵から作られる直交しない矢印を公開鍵に使う
格子暗号の公開鍵、つまり暗号文を作る相手に渡すデータは、直交しない二つの矢印を使う。このとき、二つの矢印は同じ方向または逆方向にしない。そうすれば、これら二つの矢印を使って、秘密鍵である二つの矢印を表現できる。ただし、2次元の例のように次元が低いと公開鍵から秘密鍵を求めるのは簡単だが、次元数が高くなると困難になる。これが、格子暗号で公開鍵から秘密鍵を導き出せない根拠になっている。
公開鍵を受け取った相手が情報(平文)を暗号化するときは、まず公開鍵を使って情報を変換する。例えば「-1、2」という数字の組み合わせを送る場合は、公開鍵を使って「-1×b1+2×b2」と計算する。さらに変換後、わずかなノイズを加えた点を暗号文とする(図で示した茶色の点)。わずかなノイズとは、ノイズを加えた点に1番近い格子点が、変換後の格子点と一致するほど小さいことを示す。この暗号文を相手に送る。
格子暗号の暗号文は公開鍵を使って変換した後にノイズを入れる
暗号文を受け取った相手は、秘密鍵である直交した矢印を使って暗号文の最寄りの格子点を探し出す。格子点が見つかれば、送信元と逆の変換を実行して平文を取り出せる。
一方、相手が秘密鍵を持っていなければ、最寄りの格子点を探すのは困難である。これを「格子点探索問題」という。これを利用しているのが格子暗号なのだ。
格子暗号が「量子コンピュータでも解読できない」というのは、格子点探索問題を解ける量子コンピュータのアルゴリズムが存在しない、という意味だ。量子コンピュータで格子点探索問題を解けるアルゴリズムが見つかれば、格子暗号を使ったLOTUSも危険ということになる。また格子暗号を通常のコンピュータで解読する試みも進んでおり、九州大学とKDDI研究所は共同で2016年10月、60次元の格子暗号を約16日で解読した、と発表している。
NISTによる次世代暗号の標準化プロジェクトは始まったばかりで、決定までに数年を要する見込みだ。LOTUSは、単に量子コンピュータに強い格子暗号を使っただけでなく、暗号文を復号する際、暗号文の破損をチェックするなど、独自の機能を追加して使いやすくしている。国産の技術に決まるのか、わくわくしながら見守っていきたい。
文字詰め
使い方は簡単。CSSで次のプロパティーを設定するだけです。
.selector { font-feature-settings : "palt"; }このCSSプロパティーを使ったからといって全てのフォントで自動文字詰めができるわけではありません。利用できる条件は、OpenTypeフォントであることとプロポーショナルメトリクス情報が含まれていることの2点です。有名なフォントでいうと「ヒラギノ角ゴシック体」や「ヒラギノ明朝体」「游ゴシック体」「游明朝体」「Noto Sans CJK JP」で利用できます。
Windows環境で馴染みある「メイリオ」は日本語部分が等幅として設計されているため、プロポーショナルメトリクスの情報は含まれていません。そのため、「メイリオ」に対してはプロポーショナルメトリクスで字間が詰まりません。
ソ-ス:文字詰めできるCSSのfont-feature-settingsが凄い! 日本語フォントこそ指定したい自動カーニング - ICS MEDIA
「メイリオ」はダメ。
windows: フォントリンク
世界30%のSSL証明書が3月と10月に強制無効化
世界で30%以上のシェアを占めるシマンテック系のSSLサーバー証明書が、2018年3月と10月に、段階的に無効扱いされるようになります。自分のサイトは大丈夫か確認する方法と、なぜそうなったのか、対応方法などを解説します。
ソ-ス:世界30%のSSL証明書が3月と10月に強制無効化!? あなたのサイトが大丈夫か確認する3ステップ | 編集長ブログ―安田英久 | Web担当者Forum
Firefox: プロセッサーのマイクロコードを更新する
マイクロコードの更新データは、ファームウェア (技術的に古いスタイルの BIOS ではなく UEFI ファームウェアを持つコンピューターでも、通常は BIOS と呼ばれます) またはオペレーティングシステムによって CPU に読み込まれます。マイクロコードの更新は再起動しても保持されないため、デュアルブートシステムの場合は、マイクロコードの更新が BIOS 経由で配信されなくても、オペレーティングシステムも更新を提供しなければなりません。
更新されたマイクロコードを CPU に読み込ませることを Windows に許可するには、Windows Update が有効になっており、更新をインストールするように設定しておいてください。
Ubuntuにおける“Spectre”対策の現状
“Spectre”対策その後
Ubuntuにおける“Spectre”対策の現状が提供されています。
ポイントは次の点です。要約すると,「今後リリースされるマイクロコードと併用することでひとまず攻撃を防ぐことはできるが,利用する環境によっては性能ダウンに繋がることがある」です。
1月22日から,“Spectre”対策のためのカーネルアップデートが,17.10,16.04 LTS,14.04 LTS用にUSN3540~3542として提供されています。12.04 ESM用は準備中です。また,17.04はすでにEOLしており,更新の予定はありません。
これらの修正が機能するためには,CPUマイクロコードの更新が必要です。 しかし,更新版のマイクロコードを提供するintel-microcodeパッケージはIntelのリクエストにより差し戻しが行われており,現時点では(マザーボード側で更新されているのでなければ)まだ機能しません(注1)。
ワークロードに依存しますが,“Spectre”対策によって性能劣化が生じる可能性があります。
パフォーマンスに大きな影響を受けてしまった場合に備え,緩和策を必要に応じて無効にするためのMitigation Controlが準備されています。(多くのUbuntuユーザーが利用しているであろう)x64環境では,nopti,noibpb,noibrsがパフォーマンスに影響すると考えられるため,対策を無効にする場合はこれらのオプションを用いることになるでしょう(注2,注3)。
各種対策は現在進行形で更新されています。今後の動向に注意し,より適切な対策手法が提供された場合,そちらに乗り換える必要があります。注1
CPUのマイクロコードの更新を行う方法は大きく分けて2種類あります。ひとつはマザーボード(やPC)のファームウェアを更新することで,もうひとつがintel-microcodeパッケージのような,オンザフライで更新するソフトウェアセット(+バイナリブロブ)をOS側で持つことです。いずれかの方法で対応するマイクロコードが提供されれば良いのですが,現時点ではIntelからリリース版のマイクロコードが提供されていないため,どちらのアプローチも利用できません。注2
これらのオプションはあくまでも脆弱性対策を無効にするものです。目的としては,「(今後登場する脆弱性への対応のために)カーネルを更新しつつ,しかしSpectre対策による性能劣化の影響を受けたくないので対策を無効にし,脆弱性の影響は他のレイヤで制御する」という場合に選択するものです。注3
amd64環境ではnopcidも利用できますが,これは緩和実装に働く支援機能を無効にするもののため,むしろ性能を低下させる方向に働くと考えられます。
ソ-ス:2018年1月26日号 Ubuntu Product Month,“Spectre”対策その後:Ubuntu Weekly Topics|gihyo.jp … 技術評論社
・投機的実行に関する脆弱性「Meltdown」と「Spectre」について解説 | トレンドマイクロ セキュリティブログ
「Google Chrome 64」が正式公開
ポップアップブロッカーの強化だ。同社は不正なリダイレクトやナビゲーションを行うサイトへの対策を強化する方針を掲げており、今回実施されたポップアップブロッカーの強化はその一環となっている。
ソ-ス:「Google Chrome 64」が正式公開 ~サイト単位のミュートや不正なポップアップ対策強化などを導入 - 窓の杜
Firefox: マウスホイールでページをスクロールする際の小技
1つ目は、スムーズスクロールの挙動を変更するというもの。
about:configのページでgeneral.smoothScroll.msdPhysics.enabledをtrueに変更すると有効化される。
実際にマウスホイールを回してページをスクロールさせてみると、現行方式よりも加速の度合いが大きく、より少ないホイール回転で終端に到達する。
2つ目は、Shiftキーを押しながらマウスホイールを回すと横スクロールになるというもの。
レジストリー クリーナーって必要?
http://windows.microsoft.com/ja-JP/windows7/Are-registry-cleaners-necessary
http://support.microsoft.com/kb/2563254
・ レジストリーの情報を削除をしても動作に影響がある範囲での効果が得られることは考えにくい
・ レジストリーの情報は通常は必要に応じて自動的に追加、削除されるものである (ソフトウェアのインストールやアンインストール時などに)
・ レジストリーを客観的な判断で削除することは現実的にはリスクが高い
WPA3登場で進化する無線LANセキュリティ
14年ぶりの改訂となるWPA3では、WPA2の脆弱性対策に加え、時代に合わせた強化も同時に実施される予定だ。現時点で明らかになっているものでは、(1)辞書攻撃や総当たり攻撃への対策強化、(2)公衆無線LAN利用時の暗号化、(3)画面のない端末の設定――などが予定されている。
(1)は一定の回数ログインを失敗するとブロックするというもの。サーバーのログインなどでは、ロックアウトという名称で、既に一般的に使われている機能である。同様の機能をWi-Fiでも使えるようにすることで、手当たり次第にログインを試行される危険性を防ぐ。
(2)は、喫茶店や空港などで最近増えている、誰でも利用可能な公衆無線LAN向けのセキュリティ対策だ。現在は暗号化されていない通信の内容は簡単に盗聴できてしまうが、WPA3では、機器とルーターの間で個別に暗号化することで盗聴を防ぐ。
(3)はディスプレーのような表示画面がない端末の無線LAN設定を、パソコンやスマートフォンなどの別の端末から行えるようにするものだ。今後増えるIoT機器のような端末を簡単に利用できるようにすることが目的である。
「WPA3が2018年後半に公開される」待ち遠しい。
How to Show Seconds in Taskbar Clock in Windows 10
・How to Show Seconds in Taskbar Clock in Windows 10? » Winhelponline
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\ShowSecondsInSystemClock
1 表示
0 非表示
ユ-ザ-権限で設定可能。
LinuxでCPUのマイクロコードをアップデートする方法
・LinuxでCPUのマイクロコードをアップデートする方法 | マイナビニュース
マイクロコードの確認方法
sudo dmesg | grep microcode
マイクロコードのアップデート方法 Debian/Ubuntu - Intel CPU
sudo apt install intel-microcode sudo reboot
関連:
・How to install/update Intel microcode firmware on Linux - nixCraft
HTML 5.2は2017年12月14日に勧告されていた
・HTML 5.2の新機能・削除された機能、変更された記述ルールのまとめ | コリス
strict doctypeはinvalid
HTML 4またはXHTML 1で、strict doctypeを持つコンテンツ。
dialog要素を有効に
dom.dialog_element.enabled: true