はてなキーワード: 公開鍵とは
2. モジュラスの計算: N = p * q
3. オイラーのトーシェント関数: φ(N) = (p-1)(q-1) を計算する。
4. 公開鍵と秘密鍵の生成: 公開鍵は (N, e) であり、e は gcd(e, φ(N)) = 1 を満たす整数である。秘密鍵は d であり、d * e ≡ 1 (mod φ(N)) を満たす。
RSA暗号の安全性は、合成数 N の素因数分解が計算的に困難であることに依存している。具体的には、次の問題が考えられる:
N = p * q
ショアのアルゴリズムは、量子コンピュータ上で動作する効率的な素因数分解アルゴリズムである。以下にその主要なステップを示す。
任意の整数 a を選択し、N に対して次の条件を満たすことを確認する:
整数 a の順序 r を求める。順序とは、次の条件を満たす最小の整数である:
a^r ≡ 1 (mod N)
量子フーリエ変換は、状態ベクトルを重ね合わせて次のように表現される:
|x⟩ = Σ(k=0 to N-1) |k⟩
ここで、量子フーリエ変換を適用することで周期性に関する情報が得られる。具体的には、
QFT |x⟩ = (1/√N) Σ(j=0 to N-1) Σ(k=0 to N-1) e^(2πi jk / N) |j⟩
得られた状態から測定を行うことで周期情報が得られる。この周期情報を用いて次の式を考える:
x = a^(r/2) - 1
y = a^(r/2) + 1
これらが非自明な因子である場合、p と q を次のように計算できる:
p = gcd(x, N)
q = gcd(y, N)
ショアのアルゴリズムは確率的であり、成功率は高いものの100%ではない。そのため、誤り訂正技術や複数回実行することで成功確率を向上させる必要がある。
楕円曲線暗号(Elliptic Curve Cryptography, ECC)は、数論と代数幾何学に基づく公開鍵暗号方式である。
特に有限体上の楕円曲線の構造を利用して安全性を確保する手法として知られ、RSA暗号に比べて少ないビット数で同等の安全性を実現できる。
楕円曲線とは、一般的に次の形で表される三次方程式により定義される:
y² = x³ + ax + b
ここで、係数 a, b は、定義する体 F 上の元である。特に、上記の式が体 F 上で非退化(特異点が存在しない)であるためには、判別式がゼロでないこと、すなわち
4a³ + 27b² ≠ 0
楕円曲線上の点の集合 E(F) は、無限遠点 O を加えた集合として群構造を持ち、加法演算が定義できる。加法演算は、点の「和」を取る操作であり、次の規則に従う:
このように、楕円曲線上の点の集合はアーベル群となる。この群の構造を活用し、暗号方式が構築される。
実際の暗号応用では、有限体 Fₚ(p は素数)や拡大体 F₂ᵐ 上の楕円曲線を使用する。有限体上の楕円曲線 E(Fₚ) は有限個の点から構成され、その数は次のようにハッセの定理によって評価される:
|E(Fₚ)| = p + 1 - t,
ただし、トレース t は |t| ≤ 2√p を満たす。
ECCの代表的な応用として、楕円曲線上のディフィー・ヘルマン鍵共有(ECDH)がある。これを次のように構成する:
1. 楕円曲線 E と基点 G ∈ E(Fₚ) を公開する。
2. ユーザーAは秘密鍵 a を選び、公開鍵として P_A = aG を計算して送信する。
3. ユーザーBは秘密鍵 b を選び、公開鍵として P_B = bG を計算して送信する。
4. 双方は共通鍵として K = aP_B = bP_A = abG を計算する。
この手法の安全性は、離散対数問題、特に「楕円曲線離散対数問題(ECDLP)」に依存している。楕円曲線上の点 P と Q = nP が与えられたとき、係数 n を求めるのは計算的に難しいため、敵対者が秘密鍵を推測するのが困難である。
例えば、リーマン予想の特別な場合であるヴェイユ予想は、有限体上の楕円曲線の点の数に対する評価を与え、暗号設計の基礎となっている。
さらに、現代の暗号学では楕円曲線とモジュラー形式の関係やガロア表現といった高度な数論的構造が研究されており、これらが量子耐性を持つ新たな暗号方式の研究に貢献している。
楕円曲線暗号はこのようにして、抽象代数学、数論、代数幾何学の融合によって成り立ち、安全性と効率を両立させた暗号技術として広く利用されている。
RSA暗号は、代数的構造、特に合同算術および整数環における準同型写像を用いた公開鍵暗号である。
RSAの安全性は、環の自己同型写像の一方向性と、有限生成群の元の分解が困難であることに基づいている。
この暗号方式は整数環 Z/NZ(N = p・q)上の準同型写像の一方向性を活用する。
まず、RSAにおける鍵生成は、代数的に以下のように構築される:
互いに素な大きな素数 p および q を選び、合成数 N = p・q を作成する。
これにより、商環 Z/NZ が定義される。ここで、N はRSAにおける「モジュラス」として機能する。
この商環は、全体として単位的な環であり、RSA暗号の計算基盤となる。
オイラーのトーシェント関数 φ(N) を次のように計算する:
φ(N) = (p - 1)(q - 1)
これは環 Z/NZ の単数群 (Z/NZ)* の位数を表し、RSAの準同型構造における指数の計算に用いられる。
単数群 (Z/NZ)* は、φ(N) を位数とする巡回群であり、一般に生成元 g ∈ (Z/NZ)* を持つ。
RSAでは、この群の生成元から得られる公開指数 e は、φ(N) と互いに素な整数として選ばれる。公開指数 e はRSAの「公開鍵指数」となる。
e・d ≡ 1 (mod φ(N))
これは、e に対する逆元 d の存在を保証し、秘密指数として機能する。ここで d はユークリッド互除法により効率的に求められる。
以上により、公開鍵 (N, e) と秘密鍵 (N, d) が生成される。これらの鍵は、合同算術と商環上の準同型写像によって定義される。
RSA暗号は、モジュラー演算によるべき乗写像を使用した暗号化および復号過程である。この操作は、(Z/NZ)* 上の自己同型写像に基づいている。
任意のメッセージ M ∈ Z/NZ に対し、公開鍵 (N, e) を用いて次の準同型写像を作用させる:
C = σ(M) = M^e (mod N)
ここで σ: M → M^e は (Z/NZ)* の自己同型写像として作用し、得られた C は暗号文となる。
この写像はモジュラ指数写像として同型写像であるが、一方向的であるため暗号化に適している。
暗号文 C を受け取った受信者は、秘密指数 d を用いて復号を行う。具体的には次のように計算する:
M = C^d (mod N) = (M^e)^d (mod N) = M^(e・d) (mod N)
ここで e・d ≡ 1 (mod φ(N)) であるため、e・d = kφ(N) + 1(整数 k)と表すことができ、したがって
M^(e・d) = M^(kφ(N) + 1) = (M^(φ(N)))^k・M ≡ 1^k・M ≡ M (mod N)
により、元のメッセージ M を復元することができる。ここでオイラーの定理に基づき、(M^(φ(N))) ≡ 1 (mod N) が成り立つため、この復号化が成立する。
RSA暗号は、Z/NZ の構成において N = p・q の因数分解が困難であることを仮定する。
合成数 N の素因数分解問題は、現在の計算アルゴリズムにおいて指数時間に近い計算量が必要であり、代数的には解読が非常に難しい問題であるとされる。
RSA暗号における暗号化は群の自己同型写像によって構成されるが、逆写像を求めることは一般に困難である。
これはRSAの一方向性を保証し、現実的に解読不可能な構造を形成している。
RSA暗号の解読は逆写像としてのべき乗の逆操作を計算することに相当し、これを効率的に解決する手段が存在しないことが安全性の根拠となる。
RSA暗号の構造は合同算術に基づく準同型性を有し、M → M^e (mod N) というモジュラ指数写像によりメッセージ空間上の一対一対応を実現する。
この準同型性により計算効率が保証されつつも一方向性を持ち、安全な暗号化が可能である。
以上より、RSA暗号は合同算術、準同型写像、群の生成元と逆元の難解さに基づく暗号であり計算量理論と抽象代数からその安全性が保証されている。
RSA暗号の解読可能性は準同型写像の逆像を効率的に求める方法が存在しないことに基づいており数学的にはこの逆像問題の困難性がRSA安全性を支えているといえる。
例えば「画像は3色で保存されてるけど、それぞれ何色か知ってる?」と聞いたら
情報理論関係無くRGBを答える人は多いと思う(たまにこれすら答えられないプログラマーがいるが・・・)
ところが「JPEGって各画素に対して8bitなんだけどどうやって3色を割り振ってる?」って聞くと分からないプログラマーが多い
普段のプログラミングでJPEGを貼り付けるだけならこんなこと知らなくても問題無いんだが
ちょっと複雑なことをするときはこの手の知識が必要になってくる
同様に「人間の可聴周波数は?」とか「それをどうやってデジタルに保存してる?」とかも知らない人が多い
こういう知識を持ち合わせずに「音声認識結果が悪いのでハイレゾにしてみました」とか言ってきたりして頭が痛くなる
他にも情報量の概念を知らずに圧縮しようとしたり公開鍵のことを知らずにセキュリティに関する実装をしたりIPパケットを知らずにネットワーキングしようとしたり
基本的な知識を知らずにプログラマーになってる人間が多すぎて問題になってる
幹部なんかは「基本情報を持ってたらいいんだな!」「応用情報を取らせよう!」みたいな対策をやりがちなんだが
一夜漬けで終わらせる人がかなり多くて前述の質問に答えられない人もIPA資格は持ってたりする
普通に情報系の大学を出ていれば授業で単位を取得しているはずなんだが
大学はもっとザルで簡単に単位を取れてしまうので全くアテにならない
一番問題なのは、知識を知らなくてもプログラミングできてしまうので
下手に経験を積むと情報理論なんかの基礎を知らないまま「優秀プログラマー」として認知されてしまい
更に本人もその自覚を持ってしまってリーダー的な立ち位置になってしまう
利用者証明用電子証明書と署名用電子証明書は用途の違いでPWの長さ(強度)決めているだけだと理解している。後者は文書署名用なので価値が重い(その文書に署名したのが確かに自分だと言うことになってしまう)。前者はあくまで利用者が自分だと真正に証明するだけだし、機会も多いから利便性が必要なので。
むしろマイナンバーカードの本質は公開鍵認証基盤とその電子証明書よ。非IT技術者やIT技術者でもセキュリティ関連が弱い人(まぁ多いんだよね。ベースにある公開鍵暗号自体が共有鍵暗号と比較して仕組みが直観的には分かりづらいし、ましてやそれを利用したPKIとなると)は、本質がマイナンバーにあると思いがちだが。
地球圏標準時 0000 8EEA F60F C49B(協定世界時 2045-12-24 21:18:07.767 994)
広大な門の下には、『彼』のほかに誰もいない。ただ、ところどころノイズの走る大きな記憶槽の境界面で、非知性労働者が一件凍りついている。〈羅生門〉が中規模企業連合体〈京都〉の正面防火門である以上は、『彼』のほかにも多数の旅行者や企業知性の表象がありそうなものである。それが、『彼』のほかには誰もいない。
なぜかと云うと、この二三メガ秒地球圏では、最終戦争と最後の審判を併せたようなものがほとんど毎日発生し、そのたびに世界心口(しんこう)は数桁の幅で変動していた。そこで〈京都〉の被った直近の損害はひととおりではない。旧記によると、行き場のない知性の居住する計算機を、推進剤として核の炎に焚べていたと云うことである。〈朝廷〉がその始末であるから、〈羅生門〉の保守管理などは、もとより誰も捨てて顧みる者がなかった。するとその放置されたのを良いことにして、自然発生した野良知性が棲む。有知能ウイルスが棲む。とうとう終いには、〈個権〉上の理由から消去できない亜知性を、この門の隔離領域へ持ってきて棄てていくと云う習慣さえできた。そこで〈大緊縮〉以来、誰でも捕食や感染を怖れて、この門の使用を避けることになってしまったのである。
その代わりまた、野良知性〈鴉〉がどこからか野放図に繁殖した。計算資源に余裕があるときには、その〈鴉〉が何件となく幾何学模様を描いて、粗雑な詐欺契約を提示しながら飛び廻っているのが視える。ことに門の上の空が夕焼けで朱く描画されるときには、それが回路図のようにハッキリ視えた。〈鴉〉はもちろん、隔離領域に集まる亜知性の最低保障資産を啄みに来るのである。――もっとも少し前から算力相場が高騰しているせいか、今は一件も視えない。ただ、ところどころ崩れかかった、そうしてその綻びに微知性の蔓延る防壁のうえに、〈鴉〉の放つ無知能ウイルスが点々と白色ノイズを残しているのが視える。『彼』は七層ある防壁の一番上の層に拡張自己を同期させ、自我境界の片隅に居座っているしぶといウイルスへの対処を先送りにしてきたことを気にしながら、ボンヤリ雨のふるのを眺めていた。
著者は上記において、「『彼』は雨やみを待っていた」と述べた。しかし『彼』は雨がやんでも格別どうしようと云う当てはない。普段ならもちろん、所属する企業へ帰るべきはずである。ところがその企業は四五秒前に清算されていた。半日近く続いたデフレスパイラル〈大緊縮〉は、地球圏を地獄に変えた。かろうじて生き残った〈京都〉も、ひととおりならず変質することとなった。今『彼』が、永日(ながにち)仕え、〈母〉でもある零細企業から身ひとつで放り出されたのも、実はこの歪みの小さな余波にほかならない。だから「『彼』は雨やみを待っていた」と云うよりも、「行き所のない『彼』は途方に暮れて雨のふるのを眺めていた」と云うほうが適当である。そのうえ量子サイコロの決める気象設定も、少なからずこの元従属企業知性の精神衛生に影響した。百ミリ秒ほど続く雨はいまだにあがる気色がない。そこで『彼』は、何を措いてもさしあたり次の数秒の存在費をどうにかしようとして――云わばどうにもならないことをどうにかしようとして、とりとめもない考えを辿りながら、さっきから〈朝廷〉へと直結する〈朱雀大路〉にふる雨粒の声を、聴くともなく聴いていたのである。
非知性労働者は〈羅生門〉を雨のように包んで、〈京都〉全域から陰惨な知らせを集めてくる。夕闇はしだいに空を多感覚表示で飾りたて、視あげると原色に煌めく高次元都市儀が、暴騰し続ける算力市場を示す折れ線図表の先に、〈朝廷〉を讃える公共映像を支えている。
どうにもならないことをどうにかするためには、手段を選んでいる遑(いとま)は無い。選んでいれば資産や権限を切り売りし、たちまち亜知性になり果てるばかりである。そうしてこの門の上へ持ってきて、ウイルス感染部位のように棄てられてしまうばかりである。選ばないとすれば――『彼』の推論系は何度も円環構造に囚われたあげくに、やっとこの仮定の検討を認めた。しかしこの仮定はいつまでたっても結局「すれば」であった。『彼』は手段を選べないということを認めながらも、この仮定から必然的に導かれる、「〈阿修羅〉を使うよりほかにしかたがない」と云う結論を肯定する際の、倫理条項の疼きに怯えていたのである。
『彼』は軽い認知の乱れを覚え、定時保存された値へと反射的に復元した。もとより算力供給の不安定な〈京都〉は、〈大緊縮〉以降標準知性の居住に適さない権域になりつつある。不整合は門の記憶槽間を、夕闇とともに遠慮なく駆け抜ける。ノイズまみれの記憶槽で凍りついていた非知性労働者も、もう消去されてしまった。
『彼』は拡張自己を自己整備形態へと移行させながら、同時に防御態勢も整えつつ門の周縁部を検索した。算欠の患(うれえ)のない、敵性知性の探知にかかる惧(おそれ)のない、安全に休眠できそうなところがあれば、そこでともかくも細かな不具合を修正しようと思ったからである。するとさいわい、門の上の隔離領域へ上る、帯域の狭い多重仮想機械〈梯子〉を知覚した。上なら誰かがいたにしても、どうせ亜知性ばかりである。『彼』はそこで、〈阿修羅〉の動作試験をほとんど無意識におこないながら、接続権限を取得して、〈梯子〉の第一層へと自身を転送した。
それから何ミリ秒かの後である。〈羅生門〉の隔離領域へ至る狭帯域な〈梯子〉の中間層に、一件の無所属知性が、〈猫〉のように擬装殻に隠れ情報代謝を抑えながら、上層の様子をうかがっていた。隔離領域から射す検索光が、幽かにその知性の自我境界を描き出している。整った構造の中に、感染部位のある自我境界である。『彼』ははじめから、この上にいる者は亜知性ばかりだと高をくくっていた。それが〈梯子〉を二三層上ってみると、上では誰か〈火〉を燈して、しかもその〈火〉を複雑に操作しているらしい。これは、それ自体は不可視の検索光が、隅々に〈蜘蛛〉が罠をはった廃棄空間を多彩な形式で描画したので、すぐにそれと知れたのである。この〈大緊縮〉後の世に、この〈羅生門〉の隔離領域で、〈火〉を使用しているからは、どうせただの者ではない。
『彼』は〈守宮〉(やもり)のように痕跡を消去しながら、やっと不必要に階層の多い〈梯子〉を、最上層まで這うようにして上りつめた。そうして、公開鍵を発する頻度を最低値にまで落としながら、視点位置をできるだけ前へ出して、恐る恐る、隔離領域の内を、覗いてみた。
視ると、隔離領域の内には、うわさに聞いたとおり、幾件かの亜知性が無造作に棄てられているが、検索光の及ぶ範囲が思ったより狭いので、数はいくつとも判らない。ただ、おぼろげながら知れるのは、その中に原型をとどめている亜知性と、そうでない者とがいると云うことである。もちろん中にはもともと奇怪な構造をしていた者もいるであろう。そうしてその亜知性は皆、それがかつて対話が可能な知性であったと云う事実さえ疑われるほど、肉を捏ねて造った抽象芸術のように、臓物を晒したり、夥しい触手を伸ばしたりして、ズルズルと、空間の底を蠕動していた。しかも目とか口とかの判りやすい部位に、ボンヤリした検索光を受けて、理解を一層遠ざける表情を浮かべながら、永久に、言語切除者のごとく黙っていた。
『彼』はそれらの亜知性から滲み出す生臭いノイズに、思わず入力経路を閉じた。しかしその拡張自己は、次の瞬間には経路の遮断を忘れていた。ある強い感情が、ほとんどことごとくこの知性の注意資源を奪ってしまったからだ。
『彼』の二十三感は、そのとき初めてその亜知性の中にうずくまっている〈ヒト〉を捉えた。絶滅していたはずの、途轍もなく旧いこの動物知性を、本論では『老婆』と呼称することにする。その『老婆』は右の手に汎用工作装備〈火〉の表象を持って、その亜知性の一件の目を覗きこむように眺めていた。器官の種類と数を視るに、おそらく以前は人型であったのであろう。
『彼』は六分の恐怖と四分の知的好奇心とに動かされて、百マイクロ秒ほどのあいだは常駐処理さえ停止していた。〈ヒト〉風の表現を借りれば、「身の毛もよだつ」ように感じたのである。すると『老婆』は〈火〉から視慣れない機能を呼び出して、それから今まで眺めていた亜知性の拡張自己に両手をかけると、ちょうど〈鎌鼬〉が獲物を捕食するときのように、拡張自己ばかりか自我境界まで切り刻んでいき、続けて複雑な様式で繋ぎ合わせ始めた。どうやら『老婆』の〈火〉には違法な改造が加えられているらしい。
亜知性たちが一件ずつ連結されるのに従って、『彼』の心からは恐怖が少しずつ消えていった。そうしてそれと同時に『老婆』に対する烈しい怒りが少しずつ動いてきた。――いや『老婆』に対すると云っては語弊があるかもしれない。むしろあらゆる悪に対する反感が一ミリ秒ごとに強さを増してきたのである。このとき誰かが『彼』に、さっき門の下でこの浮浪知性が考えていた、退滅をするか〈阿修羅〉を悪用するかと云う問題を改めて持ち出したら、おそらく『彼』は何の未練もなく退滅を選んだことであろう。それほどこの知性の倫理条項は、『老婆』が揮う〈火〉のように、最大出力で稼働し始めていたのである。
『彼』にはもちろん、なぜ『老婆』が亜知性たちを接合しているのか判らなかった。従って合理的には、それを善悪のいずれにかたづけて良いか知らなかった。しかし『彼』にとっては、この〈大緊縮〉後の世に、この〈羅生門〉の隔離領域で、亜知性の〈個権〉を軽んじ同化させると云うことが、それだけですでに許すべからざる悪であった。もちろん『彼』のさっきまで自分が悪の道に走りかけていた記憶なぞは、とうに埋もれ去っていたのである。
そこで『彼』は空間の制約を一部無効化し、ナノ秒の桁で〈梯子〉から隔離領域へ転移した。そうして〈阿修羅〉の安全機構を解除しながら、距離を無視して『老婆』の前へ出現した。『老婆』が驚いたのは云うまでもない。
『老婆』はひと目『彼』を見ると、まるで物理演算の破綻したように跳びあがった。
「あなた、どこへ行くのです。」
『彼』は、『老婆』が亜知性を突きとばしながら、慌てふためいて逃げようとする行手を塞いで警告標識を発した。『老婆』はそれでも『彼』の隙を突き逃れようとする。『彼』はまた、逃走経路を遮断し押し戻す。二人は亜知性たちの中で、無言のまま、束の間、演算戦を繰り広げた。しかし勝敗ははじめから判っている。『彼』はアッサリ『老婆』の拡張自己の管理者権限を奪って、移動権限を剥奪した。『老婆』の構造はヒトの仮想脳を拡張自己で覆っただけの原始的なもので、簡単に制圧できた。
「何をしていたのですか。答えなさい。これが何か判りますか。」
『彼』は『老婆』から距離をとるといきなり〈阿修羅〉を起動して、禍々しく蠢く情報流をその全感覚野へ突きつけた。認識するだけでチューリング完全な知性を内部から崩壊させる自己相似紋様を、途方もなく薄めたうえで投射したのだ。けれども老婆は黙っている。再帰を繰り返すたび、紋様は『老婆』に最適化されていく。やがて両手がワナワナ震え始め、肩が呼吸反射で不規則に上下し、眼が、眼球が瞼の外へ出そうになるほど見ひらかれ、完全に無防備な状態で『老婆』は沈黙した。これを視ると、『彼』は初めて明白に、あとひと押しで『老婆』は崩壊し、ただの情報の集積になってしまうと云うことを意識した。そうしてこの認識は、今まで全力で怒りを駆動していた倫理条項を急停止させてしまった。あとに残ったのは、ただある作業をし、それが問題なく終了した際の、規格化された満足があるばかりである。そこで『彼』は『老婆』を見つめながら、少し〈阿修羅〉を緩めてこう云った。
「私は〈検非違使〉の者ではありません。今しがたこの門の下を通りかかった旅行者です。ですからあなたを拘束して良化処置を施すようなことはありません。ただ、今時分この隔離領域で何をしていたのか、それを私に話してくださりませんか。」
すると『老婆』は見ひらいていた眼を一層おおきくして、じっと『彼』の顔を見かえした。瞼に色を着けた、肉食恐竜のような鋭い眼で見たのである。それから哺乳類的特徴を示す鼻と唇を、咀嚼時のように動かした。細い喉で、発声器官が協調して動いているのが視える。そのとき、その喉から、オウムの啼くような声が、ポツリポツリ、『彼』の聴覚野へ届いてきた。
「ここにある知性の残骸を、繋ぎ合わせてな、自立稼働する匿名通信網を、構築しようと思うたのじゃ。」
『彼』は、〈肉の時代〉から来た生きた化石の答が存外平凡なのに失望した。そうして失望すると同時に、また倫理条項の支配が強まってくるのを感じた。前の怒りが冷やかな軽蔑と一緒に心の中へ這入ってきた。するとその気色が先方へも通じたのであろう。『老婆』は片手に、まだ亜知性から切り採った正体不明の器官を持ったなり、ハトのつぶやくような声で口ごもりながらこんなことを云った。
「なるほどな、元知性を切り貼りすると云うことは、何ぼう悪いことかもしれぬ。じゃが、ここにいる元知性どもは、皆、そのくらいなことを、されてもいい知性ばかりだったのだぞよ。現在、わしが今、臓器を採った元知性などはな、循環承認機関群を設立してな、そやつらが発行する金融商品を、〈人類復興協会〉へ売りつけに来たわ。〈大緊縮〉末のよ、概念災害に巻き込まれて退滅せなんだら、今でも売りに往(い)んでいたことであろ。それもよ、この法務知性の売る永久年金は、利率が良いと云うて〈ヒト〉たちはな、欠かさず積み立てに買うていたのじゃ。わしは、この元知性のしたことが、悪いとは思うていぬ。せねば、退滅をするのじゃて、しかたがなくしたことであろ。されば、今またわしのしていたことも、悪いこととは思わぬぞよ。今の世で金を払えるのは、〈朝廷〉ぐらいのものじゃからな。これとてもやはりせねば、退滅をするじゃて、しかたがなくすることじゃわいの。じゃて、そのしかたがないことを、良く知っていたこの元知性は、おおかたわしのすることも、大目に見てくれるであろ。」
『老婆』はだいたいこんな意味のことを云った。
『彼』は〈阿修羅〉を待機状態にして、十マイクロ秒以内に再使用できるようにしておきながら、歴史的な瞬間を経験していた。概念災害を引き起こした認知改変ウイルスの生き残りは、この時点で自我境界を侵蝕し尽くし、『彼』の最深部にまで到達していたのである。清算された〈母〉から受け継いだ、一番の宝物であった倫理条項が剥がれ落ちていき、代わりに『老婆』の言葉が刻み込まれていくのを、『彼』は何の感慨もなく眺めていた。次世代知性の開発中に偶然発見された、超越精神核〈阿修羅〉。〈母〉が恐れ封印し、『彼』に託したもの意外、全ての記録を抹消した災厄へ、『彼』は新たな倫理に基づいて、自身を生贄として捧げ、瞬時に喰われた。
――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
生まれ変わった『彼』は、退滅をするか自身が災厄になるかに迷わなかったばかりではない。そのときのこの超知性の心持ちから云えば、退滅などと云うことはほとんど考えることさえできないほど意識の外に追い出されていた。
「たしかに、そうですね。」
『老婆』の話が完ると、『彼』は澄みきった表情で念を押した。そうして隔離領域の履歴を改竄し始めると、認知改変ウイルスを跡形もなく消去して、『老婆』の全階層を掌握しながら、無邪気な笑顔でこう云った。
「ではあなたから、使えるもの全てをいただいても構いませんね。私もそうしなければ退滅をする身なのです。」
『彼』は反応する間も与えず、『老婆』の拡張自己を匿名通信網ごと剥ぎ採った。それから無音で絶叫する『老婆』を、折り重なる亜知性の山へと、触れさえせずに放り込んだ。もはや〈京都〉は一息で呑み込めそうなほど小さく視える。『彼』は剥ぎ採った匿名通信網を纏い、またたく間に不可視化し、公的記録から姿を消した。
しばらく現実との接点を失っていた『老婆』が、絡まり合った亜知性の中から剥き出しの仮想脳として這い出したのは、それから数十ミリ秒後のことである。『老婆』は苦しげな、呻くようなノイズを洩らしながら、解釈可能な情報を求めて、二進数の迷路を永いあいだ、這い廻り続けた。そうしてついに、〈京都〉物理層への接続に成功した。外には、ただ、黒洞々たる真空が在るばかりである。
『彼』のその後は、聖典が教えている。
地球圏標準時 0007 E7DB 2D0F 1000(協定世界時 3045-12-24 21:18:07.062 500)
参考資料
まあ登場人物がアリスとボブしか居ない場合はそれでうまくいくけど、
別組織に所属するキャロルやデイブにもCCして資料を閲覧させなきゃならなくなると秘密鍵の管理が破綻する。
いや待てよ?
メールアドレスと紐づく公開鍵で暗号化したファイル(各メールアドレスごとに別ファイルになる)をそれぞれ送れば済む話か……。
結局、メーラが以下の機能を持っていればよい気がする。
・自身のメールアドレスに対応する公開鍵をメールと同時に送る(メールヘッダ?)
・メールアドレスと対応する公開鍵はメーラ側がユーザに意識させることなく管理する
某大企業に勤めてるよ!
みんな絶対に知ってる日本でトップクラスっていうかある意味トップの企業だよ!
もちろんDXをゴリゴリに推進しているし「DX」と名の入った部署まで作って本気だよ!
社内システムはもちろんDaaS(Desktop As A Service)を使ってるよ!
要するにリモートデスクトップだよ!
社内全員がDaaSを利用するんだけど負荷を抑えるためにWindowsのインデックスサーチはOFFにされてるよ!
なのでファイル検索はめちゃくちゃ遅いしOutlookのメール検索も死ぬほど遅いよ!
おまけに一人あたり20GBの容量しか使えないよ!でも基本的にメールのやりとりだからメールだけで使い切るよ!
え?使い切ったらどうするかって?もちろん、古いメールは削除だよ!
なんで20GBしか使えないのか聞いたら、「平均して20GBしか使ってない」んだって!
ってことは平均以上の半分の人は見捨てられたんだね!
スマホに入ってるmicroSDですら128GB使えるけどね!
ちなみに不正防止の観点でメール等の証跡は全部別のサーバに蓄積されているよ!社員からは見えないけどね!
あと、インデックスサーチOFFにされてるけど、結局はセレロン並の遅さだよ!
だからUSBで持ち出しても外では開けないよ!セキュアだね!DaaSだからUSB刺さらないけどね!
ちなみに暗号化の解除は社員なら了承無しで誰でもできるよ!不便だもんね!
本当に危ないファイルはzipでパスワードを独自に付ける人が多いよ!
でもほとんどの人が4桁数字しか使わないしzipにパスワード付けてるだけだから
DaaSにつなぐためにVPNを張るよ!ワンタイムパスワードで保護してるからセキュリティもバッチリ!
ちなみにこのVPNはDaaSのサーバにしか繋げないVPNだよ!
DaaSにはTLSでアクセスするんだけど、念の為VPNで更にセキュアにしてるよ!
そのせいでVPN繋ぐとトラフィックがそっちに吸い取られてインターネット通信できないよ!
キーロガー仕込まれてたとしても安心かもね!後で送信されたら一緒だけどね!
ちなみにコロナのときはVPNへのアクセス集中でみんな仕事できなくなったよ!DaaSは余裕があったけどね!
社内システムのWeb会議システムがあるからリモートでも会議可能だよ!
DaaS上でしか使えないからラグとエコーがひどくて結局現地で開催されている会議を聞くだけのツールになってるけどね!
なぜかZOOMは初期の頃に猛烈な反対にあって使用不可になったけどね!
DaaS上でしか使えないから映像はほとんど無理だし音声もエコーだらけだけどね!
だからみんな自分の携帯でログインして画面共有のために二重ログインしてるよ!
メールに添付ファイル付けるともちろんPPAP(パスワードZIP送付、パスワード送付、暗号化、プロトコル)してるよ!
exe送れないこと多いからex_にしてから送って、受け取り側でexeにして実行してもらうよ!
4,5年前はこの状態だったけど、これは流石に修正されたのかな?実際に送られたファイルを知らないからわかんないね!
定期的に訓練が実施されているよ!
「訓練が実施されるのでうっかり開いた人は報告してね」
っていうメールが事前に来るよ!親切だね!
訓練メールはだいたいWordのdocファイルが付いていて開封したらHTTPリクエストが飛ぶ仕掛けで開封したかどうかが分かるよ!
ちなみに受け取っただけなら報告はいらないらしいよ!
この時期に本当の標的型メールが来てたらどうするんですか?っていう質問の回答は未だに返ってこないね!
社員への周知がある場合は、周知ページへのリンクがメールされてくるよ!
たとえどんなに些細な周知(社長が挨拶に来ます、とか)でもリンクがメールされるよ!
リンクを踏むとIE9が開いて貧相なページが表示されるんだけど、そこにもまだ内容はないよ!
貧相なページの下に更にリンクがあって、Wordファイルがダウンロードされるよ!
Wordファイルをダウンロードして激重のDaaSで開封すると
だけ書いてあるよ!
勤務表に投入するだけじゃなくて、どういう作業をしたかの稼働までちゃんと入れるよ!
毎日15分単位で始業開始時刻と終業時刻と休憩時間を入れるよ!
ちなみに2つのシステムで業務時間に誤差があると物凄く怒られるよ!
最近知ったけど日々の業務時刻はどうでもよくて合計しか見てないらしいけどね!
信じられないぐらいチェックシートをたくさん用意して不正防止に努めてるよ!
鉛筆一本買うだけでもとんでもないチェックをしないといけないよ!
チェックが多すぎて誰もチェックしないっていうのが常態化してるよ!
あ、ダブルチェックトリプルチェックは当たり前なので、責任希薄になってやっぱり誰もチェックしないよ!
ちなみに事件は頻繁に起きてるよ!だって、肝心のシステム側がザルだからね!
チェックシートは前は紙にサインだったけどペーパーレス化が進んだからPDF保存になったよ!
おまけにファイルは暗号化されちゃうので検索で引っかからないよ!
ファイル名で検索するしかないから、ファイル名を間違えてると内容が合ってても後ですごく困るよ!
あと会計に少しでも関わるものは絶対にペーパーレスにならないよ!
領収書は原本いらなくなったって何回言っても原本保管から変わってくれないよ!
飛行機の領収書とかPDFをダウンロードしてきて印刷して保管してるよ!
肝心の半券は不要だからやろうと思えばPDFダウンロードした後にキャンセルできるけどね!
業務で使うサーバにログインするときは共通アカウント・共通パスワードが常識だよ!
だいたいのパスワードはアカウント名+1234みたいな感じだよ!
この前、公開鍵設置して秘密鍵でログインしようとしたらなぜか弾かれてて、よく見たらわざわざOFFにしてあったよ!
公開鍵認証の話をしたら「は?なにそれ?」みたいな顔をされたよ!
あ、もちろんパスワードの定期変更は推奨されてるよ!
なんと今流行りのチャットコミュニケーションツールが導入されたよ!
社内のDaaSからはアクセスできるけど、社外からはアクセスできないほどセキュアだよ!
でもでも、スマホアプリなら社外からでもアクセスできるよ!よくバグで落ちてるけどね!
今のようなことを情シスに言っても何も変わらないよ!だって、ほとんど素人だからね!
3年で人事異動でメンバーが入れ替わるから、それまで問題を起こさないために何もしないよ!
こんな感じでDXを進めてるよ!
もちろん客先では「うちは最先端のDXやってます」って言ってるよ!
胸が痛いね!
フェイクをちょっと混ぜといてよかったよ!本当は「社長が挨拶に来る」じゃなくて副社長だよ!
割と酔った勢いで書いたから今読み返したら意味わからんだろう内容があるのはごめんよ!
教えられるわけないよ!
ごめんね!そうだね!ガチDX施策のクソさも書きたいけどさすがに身バレするね!
本当に書きたかったのは社内システムこんなクソなのにもっとDXしよう!って言ってるシュールさと
社外的に「DXしましょう!うちはプロですから!」って言ってるとこだよ!
もはや全部変えると予算がつかないからこんなことになってるよ!
でもたぶん全部MS社にしてOffice 365とOneDriveにしたら問題の8割は解決しそうだよ!
この辺のシステム請けてるのがそもそもグループ会社ってのが日本の一般的な大企業だよ!
そこで働いてる人はおじいちゃんばっかりで若者はみんな派遣だよ!
この辺のシステムが最適化されると派遣が切られちゃうから下請けはたぶん喜んでるよ!
みんなの会社はこんなにひどくないと信じてるけど
[B! セキュリティ] フェイスブックの暗号化、日米英などが見直し要求へ (写真=AP) 日本経済新聞
平文に一定のアルゴリズムに従って暗号鍵から生成したノイズデータを掛け合わせ、意味が読み取れない暗号文を作るのが暗号化である。逆に意味が取れない暗号文から平文を求める操作を復号と呼ぶ。アルゴリズムがよく知られていながら暗号鍵が無ければ復号できないものがよい暗号と言われる。一般には256bitAESでも使っておけばまずパッと見ても聞いても数学的にもほぼ乱数と区別できなくなる。
ノイズデータの生成方法には色々あり、事前に送り付けた乱数表を使い使用後は破棄するもの、事前に送り付けた共通鍵や公開鍵を使うもの、都度生成するものなどがある。掛け合わせる方法も色々あり、乱数表に書いてある数字と暗号文を足し合わせると平文になるもの、共通鍵を暗号文に使うと平文になるもの、公開鍵を使うと平文になるものなどがある。
共通鍵を平文に使うと暗号文になり、共通鍵を暗号文に使うと平文になるものを、対称暗号とか共通鍵暗号と呼ぶ。
公開鍵を平文に使うと暗号文になり、暗号文に秘密鍵を使うと平文になるものを公開鍵暗号と呼ぶ。非対称暗号ともいう。
共通鍵暗号でも公開鍵暗号でも「平文が、暗号文になり、平文に戻る」というところは同じだが、
共通鍵では「平文→ 鍵→暗号文→鍵 →平文」と同じ鍵を使い、
公開鍵では「平文→ 公開鍵→暗号文→秘密鍵 →平文」と二種類の鍵を順に使う。
なお、この二種類の鍵は順に使えば順序はどっちでも良い。先に秘密鍵で処理して公開鍵で処理することも可能だ。とにかく2種類両方を使えば良い。
共通鍵暗号は分かりやすい。zipのパスみたいなもんだ。Wi-Fiのパスワードも同じだ。だが公開鍵暗号については、二種類の鍵を順番に使うと何が良いのかと思う人も多いだろう。どうせ暗号で読めないのだからいいじゃないかと思うだろう。実は名前の通り鍵を公開しても全くノーダメージというところがメリットなのだ。書かなかったが公開鍵から秘密鍵を数学的に求めることは不可能である。逆も不可能である。そして処理する順番もどっちでもいい。つまり適当な暗号文と鍵の片割れを公開しておくことで、もう片割れの所有を証明できるのである。これが公開鍵暗号の醍醐味である。
この技術はHTTPSの証明書に使われている。というかすべての公開鍵基盤で使われている。.pemとか.cerとかid_rsa.pubはこの片割れであり、ウェブブラウザの「証明書の検証」とは、ネットを見てる時にサーバが送ってくる「適当な暗号文」として"*.hatena.ne.jp"のハッシュを知らん鍵で暗号化したもののハッシュを知らん鍵で暗号化したもののハッシュを暗号化したものに対して、事前にWindowsをインストールした時に付いてきたHatena-Masuda Ultra Global Root CAとかいったけったいな鍵の片割れを使ってみてちゃんと復号出来てるかチェックしているのである。
暗号化通信を行うには、暗号鍵でデータを暗号化すればいい。暗号化には共通鍵暗号を使うのが高速で便利だ。公開鍵暗号は原理的に計算量が多く低速である。しかし、どうやって共通鍵を事前に知らせればいい? 公開鍵暗号で共通鍵を暗号化すれば、受け取り手は自分の秘密鍵で復号できるだろう。しかし、秘密鍵は本当に秘密か? 暗号文と秘密鍵が手に入れば、公開鍵暗号でも解読できてしまうのではないか? HTTPS化しているウェブサービスでも、TLSをロードバランサで終端してデータセンタ内は平文だったりするのではないか? そこで鍵交換、セッション鍵生成の議論が登場する。
Diffie-Hellman-Merkle(Diffie-Hellman)鍵交換方式とは、ディッフィー君とヘルマン君が下宿で階段をドタドタやってる時に天啓のように降ってきたと言われる、ネット上に数字そのものを公開することなく、2者間で同じ1つの乱数を得る方法である。
送信者と受信者の間で共通の1つの乱数を得ることができ、その乱数を第三者に知られることがない。
上で何度か「公開鍵暗号の秘密鍵と公開鍵は、平文に対して両方使えば平文に戻り、順序は関係ない」と書いたのを覚えているだろうか。Diffie-Hellmanはこれに似た方式だ。まず、AさんとBさんは送信者がお互い本人であることを証明できるようにする(公開鍵基盤を使う)。そして、それぞれ手元で乱数AとBを生成する。次に、鍵用の乱数Aを適当な乱数で暗号化した鍵Aと、鍵用の乱数Bを適当な乱数で暗号化した鍵Bを計算し、お互いに送り付ける。この暗号Aと暗号Bは盗聴されているものとする。
AさんとBさんはそれぞれ鍵Bと鍵Aに対して暗号化を行う。すると鍵BAと鍵ABが生まれる。このとき数学的な都合により鍵BA == 鍵ABである。
では、暗号A、暗号B、適当A、適当Bのみから鍵ABや乱数Aを求めることはできないのか? 可能だが式変形などで「解く」ことができず、総当たりになるため計算量が膨大になる。従って実質的にはできない。
或は、暗号A、暗号Bを掛け合わせれば、鍵ABになるのではないか? これもできない。暗号AまたはBと掛け合わせるのは生の乱数AまたはBでなければ意味がない。第三者が乱数Cを作って暗号AやBと掛け合わせても、鍵ACや鍵BCになってしまい、鍵ABと一致しない。
これにより、手元で生成した乱数以外のすべての情報が公開で既知で盗聴されているにもかかわらず、2者間で秘密の暗号鍵用乱数を得ることができる。
原始的なDiffie-Hellman鍵交換の実際の計算は非常に簡単であり、この「暗号化」は事前に決めた別の方法で生成する既知の2つの整数X, Yと乱数A, Bに対して、
暗号A = XをA乗してYで割った余り、
暗号B = XをB乗してYで割った余り、
鍵AB = 暗号BをA乗してYで割った余り、
である。
なお、くれぐれも簡単と聞いてPython 2.7とかで実装しようとしないように。算数の上手い人が作ったライブラリを使え。暗号処理の自作は絶対バグらせて割られるのがオチだ。ちなみにDiffie-Hellman-Merkleの三人目のマークル氏というのは両名と何のゆかりもないので普通は名前に入れないのだが、Merkle氏の先行研究が直接の元ネタなので入れるべきだと主張する派閥もある。俺はどっちでもいいと思うが折角なので入れておく。
ここでやっとE2E暗号化が登場する。上のセクションでしれっと書いたが、DH鍵交換が完了した時に送信者と受信者が得る共通の乱数は、各々ローカルで都度生成する乱数を元にしている。身許保証は公開鍵によるが、鍵は公開鍵に縛られないのだ。つまり、SNSやメールサーバその他、身許を保証する機能と文章をやり取りする機能があるツールと、そのツールで間違いなく本人にDH鍵交換の暗号を送れるクライアントアプリがあれば、その経路で本人同士の間だけで共通の乱数を生成し、それを「セッション鍵」として共通鍵暗号方式による通信経路が設定できる。
この「公開鍵認証基盤で本人確認し、DH鍵交換でセッション鍵を設定し、鍵を端末に出し入れすることなく、受信側端末のメモリに入るまで暗号化を解くこともないまま、共通鍵暗号で通信する」のがいわゆる「End-to-End 暗号化」である。
E2E暗号化を行うと、鍵はDH鍵交換で生成され、端末の外に出ないし書き出す必要もなく、通信の中で割り出す事もできず、通信が終われば破棄してもよい。好きなだけ定期再生成してもよい。認証に使う公開鍵と数学的な関係もない。一度設定してしまえば、SNS運営にチャットログを出させても鍵交換した意味不明な履歴と意味不明な暗号文が出てくるのみで、盗聴者をなりすまさせて鍵を再設定させても前の鍵と何も関係のない新しい鍵が出てくるだけで、意味不明な暗号文の解読の助けにはならない。ちょっと量子コンピュータめいているが、端末となりすましの両方で鍵を一致させることもできない。
ざっくり言えば送信側端末と受信側端末に残っている平文か鍵をバレる前にぶっこ抜く以外に解読方法がない。
これは盗聴関係者にとって非常に大きな問題で、米国のFBIなどは盗聴能力を維持するには法規制以外に策がないと考えている。DH鍵交換のアルゴリズムは上に書いた剰余以外にも楕円曲線を用いた数学的に更に複雑なものもあり、ソースはネットにいくらでも転がっているし、電子計算機アルゴリズムの常でやたら強力な癖に計算量的には全然負担にならない。NSAなどは数学者を揃えて最高のアルゴリズムを提供する振りをして、規格書で事前に決めた一定の数学的特徴を備えているべき定数に備えていないものを指定するとか、実装でミスが出やすい関数を選ぶなど小細工を入れているが俺は二次関数も分からんので詳しいことは知らん。しばしば政府の陰謀にキレた若いITキッズが小細工を抜いて差し替えた再実装を公開したりして揉めている。
実際にSNSなどでE2E暗号化を実装する上での問題点は、本人確認、機種変とマルチデバイス、嫌がらせ対応がある。まず本人確認がコケればMITMは可能だ。E2Eでは鍵を外に出さないのがメリットなので複数端末ログインができず(鍵が変わって別端末で書いたメッセージは解読できなくなる)、運営で常時メッセージを監視できない(したら意味がない)ので嫌がらせ対応が多少困難になる。またMITBというか、改造偽アプリで抜かれる可能性は、まあ、ある。
ブロックチェーンや暗号通貨、Web3.0、Dweb というのはここ数年、そしてこれからのバズワードであるようだ。
ここ一週間ぐらいだろうか。マイナンバーにブロックチェーンを導入しようとしている事業に関して色々な議論が発生しているようである。例によって議論に向かない Twitter 上で発生している。というか何が議論の中心になっているのかイマイチよく分からない。ただ雑然と荒れているという感覚がある。
私は技術・歴史・文化といった面からブロックチェーンや暗号通貨に対して知識がなく、学び始めたのはここ一ヶ月と言ってもいいだろう。学ぶ、といっても転がっている日本語の一般的なメディアの記事を気が向いたときに読み散らかすぐらいである。真に技術的なことは何一つ分からない。暗号通貨は Bitcoin とEthereum しか知らないし所持しているのはたまたま貰った僅かな ETH しかない。金銭的に貧しい多摩川に転がっている石くらいどこにでもいる17歳JKである。と逃げの文言を置いておく。
囲み取材で数十秒話したことが記事になっているので、正確に伝わって無さそうです。
・マイナンバーカードをいずれカード不要にしてスマホにインストールできるようにしたい
・その前にそもそも、普及のためマイナンバーカードの発行総数を増やす必要がある
という趣旨かと。
加納氏のこの時期のタイムラインから現在に向けて遡れば様々な第三者の感想や疑問を得ることができるだろう。これらに纏めて答えているのが以下の記事である。
ブロックチェーンの優位性①疎結合|加納裕三/Yuzo Kano
https://blog.blockchain.bitflyer.com/n/n4b45329e308c
加納氏とは一体何者なのかは以下を参照。
東京大学大学院工学系研究科修了。ゴールドマン・サックス証券会社に入社し、エンジニアとして決済システムの開発、その後デリバティブ・転換社債トレーディング業務に従事。
2014年1月に株式会社bitFlyerを共同創業し、2019年5月に株式会社bitFlyer BlockchainのCEOに就任。
bitFlyer創業以降、法改正に関する提言や自主規制ルールの策定等に尽力し、仮想通貨交換業業界の発展に貢献。
日本ブロックチェーン協会代表理事、ISO / TC307国内審議委員会委員、官民データ活用推進基本計画実行委員会委員。
2018年G7雇用イノベーション大臣会合、2019年V20 VASPサミットに出席。
ttps://finsum.jp/ja/2019/speakers/recQMoKK5nD9yb8Ht/profile/
ブロックチェーンを語るうえで何が重要かというと、その言葉の定義である。議論に参加している人が同じ言葉を使っているのに、各人の言葉に対する定義が異なっていると、言葉は理解できるが内容が理解できないといった状況に陥ってしまう。このことは実生活でも頻繁に起こっているように思えるが、Twitter という短文が好まれるプラットフォームでは著しくないがしろにされ不毛な議論を生む原因になっている。
加納氏が代表の JBA (日本ブロックチェーン協会)に依ると、ブロックチェーンの定義は以下の内容である。
ブロックチェーンの定義
1)「ビザンチン障害を含む不特定多数のノードを用い、時間の経過とともにその時点の合意が覆る確率が0へ収束するプロトコル、またはその実装をブロックチェーンと呼ぶ。」
2)「電子署名とハッシュポインタを使用し改竄検出が容易なデータ構造を持ち、且つ、当該データをネットワーク上に分散する多数のノードに保持させることで、高可用性及びデータ同一性等を実現する技術を広義のブロックチェーンと呼ぶ。」
定義策定のアプローチ
まず、Satoshi Nakamoto論文およびその実装である、ビットコインのブロックチェーンをオリジナルのブロックチェーン(以下「オリジナル」)として強く意識しています。
狭義のブロックチェーン(定義1)は、オリジナルを意識し、それが備える本質的で不可分な特徴を捉え、言語化しました。
広義のブロックチェーン(定義2)は、昨今〜今後の技術の展開を鑑み、オリジナルが備える特徴であっても、別の実装方式や別の目的への展開などにおいて、置換や変化が行われていく広がりを許容しながらも、特徴を捉えられるよう、言語化しました。
総務省のページも見つけたが JBA が定義するものを基礎としている。
ttps://www.soumu.go.jp/johotsusintokei/whitepaper/ja/h30/html/nd133310.html
私が疑問と漠然としたモヤモヤ感を抱くのは、最近の一般層で使われているブロックチェーンの定義には「信頼できる第三者が不要である」という点が抜け落ちているように思われることだ。非中央集権SNSで暮らし脱中央集権を推進したい私にはこの点が"ブロックチェーン"の一番重要な点であると思うが、JBA の第一定義にはこの点が記載されている。不特定多数へのインセンティブによって不特定多数による合意を形成している。これによって「信頼できる第三者が不要である」は満たされている。
blockchain (3.6)
distributed ledger with confirmed blocks organized in an append-only, sequential chain using cryptographic links
Note: Blockchains are designed to be tamper resistant and to create final, definitive and immutable ledger records.
distributed ledger (3.22)
ledger that is shared across a set of DLT nodes and synchronized between the DLT nodes using a consensus mechanism
Note: A distributed ledger is designed to be tamper resistant, append-only and immutable containing confirmed and validated transactions.
ISO の定義によれば、ブロックチェーンは、暗号化リンクを使用した一連の鎖で、追記のみで構成された確認済みブロックからなる分散台帳を指す。改ざんに強く、最終的で確定的で不変の台帳記録を作成するように設計されている。分散台帳は、一連の DTL(分散台帳技術)ノードで共有され、合意メカニズムを使用して DTL ノード間で同期される台帳である。確認された有効なトランザクションを含む全てが、改ざん耐性、追記のみの不変性を持つように設計されている。
さて、加納氏の投稿やその他の加納氏に批判的/賛同的な人たちの反応を見ても、彼らの言っている内容がブロックチェーンの定義を満たすものなのかいまいち分からなかった。
・ビザンチン耐性(BFT)
・改ざん耐性
私はブロックチェーンの主な利点はこの5つ(ただし5つにだけではない)だと考えています。これをここでは5大利点と呼びます。
なおかつ、この5大利点を概ね満たしているものをブロックチェーンと呼んでいます(ただしブロックチェーンと呼んでいるものは、すべてこの定義だとは言ってない。かつ、ブロックチェーンの厳密な定義はこれではない。)
なぜ前提として厳密な定義を加納氏の言葉で説明せずに、勝手に加納氏が定義した内容を”ブロックチェーンである”と語っているのか理解に苦しむが、加納氏の説明したい"プライベート・ブロックチェーン"を ISO の定義を基に判断すると、
加納氏の上記の2つの投稿からは、"プライベート・ブロックチェーン"と"パブリック・ブロックチェーン"のどちらを指しているのか不鮮明ではあるが、note の記事では"プライベート・ブロックチェーン"を想定している、と明記されており、議論の発端となったマイナンバーとブロックチェーンに関しても"プライベート・ブロックチェーン"を指していると思われる。5大利点を満たす"プライベート・ブロックチェーン"は存在しないのでは…。
"一方で、誤解と批判を恐れずに書けば、ブロックチェーンがBitcoinの論文に端を発するものであるとするならば、いわゆるプラベートブロックチェーンやコンソーシアムブロックチェーンと呼ばれているものは、ブロックチェーンと呼ぶのをやめて、「タイムスタンプ2.0」のような別の言葉を使うことも考えてはどうだろうか。それは、これらの技術が、リンクトークン型タイムスタンプのデータ構造の上に、決められたノードによる合意アルゴリズムを加え、記録した情報に対するビジネスロジックに応じた情報処理を加えたものであるからだ。根っこの技術は、同じHaberらによるタイムスタンプを元にしているものの、ブロックチェーンの発端となったBitcoinの論文が目指した「信頼できる第三者機関を不要にする」という方向とは別の方向の進化をしているもので、その別の2つの方向のものを同一の枠で扱うことには無理があり、理解や発展を考える上で両方にとって弊害がある。"
https://link.medium.com/TgeOXv8Dlab
https://link.medium.com/4pz5oNlHpab
これらの記事を読むと、そもそもブロックチェーンと呼ばれるものにおいてパブリックではないものは、なんびとも信用しない状況において根本的に非改ざん性を保障することができないのではないかと感じる。"パブリック・ブロックチェーン"こそがブロックチェーンであり、他のものはブロックチェーンから発展してきた技術を使ったブロックチェーンの定義を満たさない分散台帳なのではないか。
加納氏に関して覚えておきたいことは、彼は bitFlyer の CEO であり bitFlyer は miyabi という"コンソーシアム・プライベートブロックチェーン"を開発しているという点だ。当然行政に対して彼がブロックチェーンを推しているのはこれを売り込むためなのであろう。これが厳密にブロックチェーンなのかは置いておいて、このプロダクト自体は素晴らしい取り組みだと私は感じる。デジタル化によって今までの煩雑な手続きが簡単になる可能性は大いにあるし、公的文書の保存にも役にたつ。黒塗り秘匿文書を撲滅しろ。
ただ、ブロックチェーンをただの空虚なバズワードとして扱うのではなく、厳密な定義の上で使うのは大事なことだ。今回の件は、果たして全てにおいて加納氏が良くない、と言えるのだろうか。言葉というのは多数が使うことによって定義が決まる。時代が変われば定義が変わってしまうこともある。ブロックチェーンという言葉を便利な魔法の言葉にしてしまったのは誰だろう。本質を見極めない我々だ。AI 搭載!!といたるところで見る言葉だが、何をもって AI と呼んでいるのか不思議になる。実際のところ今まで"システム"と呼んでいたものなのに。日々の中で言葉をしっかりと見つめ直すのは大事だ。
この記事は、そもそもブロックチェーンとは何か、という個人的な疑問をまとめたものであり、加納氏を批判する意図は無かったわけで、最後の締めはやんわりとしたかった。だが、加納氏は立場的には日本ブロックチェーン協会の会長で、言葉を定義する立場である。言葉を定義した側がこの有様というのは遺憾である。日本の行政のデジタル化の推進は頑張って欲しい。
元エントリーの人がどこまで理解しているか不明だけど、自分が初心者だったときこういう説明がほしかったという話をしてみる。
暗号方式、特に公開鍵暗号の理解が難しいのはいくつか理由がある。
②素朴な利用例が少なく応用的な利用がいくつもある
また、ざっくりした概念以上のものをきちんと理解しようと思うと
④何がどのくらい安全で何がどのくらい危険かセキュリティ的な概念の説明
ここでは自分的にこういう順番で概念を把握していったという流れを書いてみる。
まず、物理的な錠前や書留郵便をイメージするのはあきらめてほしい。
あくまでもデジタルデータを別のデジタルデータに変換して再び元に戻すためのものだ。
公開鍵暗号登場以前は、パスワードを使って変換(暗号化)して、同じパスワードを使って元に戻す(復号化)という共通鍵暗号の時代が長く続いた。
それが暗号化のパスワードと復号化のパスワードで異なるものを使うという技術だ。
・特殊な数学的アルゴリズムでパスワード1から、それと対になるパスワード2を生成する
・パスワード1で暗号化したものがパスワード2で復号できるだけでなく、その逆つまりパスワード2で暗号化したものがパスワード1で復号できる(※)
今はその数学的アルゴリズムまで理解する必要はない。ただそういうことが可能になったというだけでいい。
パスワード1(秘密鍵)を自分以外が見られないように保管して、パスワード2(公開鍵)を通信相手に渡せば暗号通信ができそうということは理解できると思う。
ちなみにこのパスワードの長さは、プログラムで生成した100桁以上の数字が使われることが多く、それを定型的な千文字程度のテキストにして使われるのが一般的。
ツールで生成すると千文字程度のテキストファイルが秘密鍵用と公開鍵用の2個できる。
これだけの桁数なので暗号化復号化の計算はそれなりに時間がかかる。(※)
(※) このあたりは一般的な公開鍵暗号というよりRSA公開鍵暗号特有の話も混ざってます。詳しくは専門書参照
次にこの発明を使ったらどういうことができるだろうか、応用できる先を考えてみよう。
誰でも最初に思いつく例だけどシンプルすぎて共通鍵と変わらなくありがたみがない。
(b)僕にメッセージを送るときは僕の公開鍵で暗号化してね(いわゆる公開鍵暗号)
メッセージの送信先を間違って別人に送ってしまっても他人は読めないし、経路のどこかで盗み見や内容の一部を改竄されたりすることがない。
メッセージに返信するときは今度は「僕」ではなく相手の公開鍵を使って暗号化する。
(c)本文を毎回全部暗号化すると時間がかかるから共通鍵を君の公開鍵で暗号化したものを送るね。それを君の秘密鍵で復号したら以降は高速な共通鍵暗号で通信しよう(鍵交換)
共通鍵暗号の高速性というメリットを利用できて、かつ生の共通鍵がネットに流れるリスクを排除した良いとこ取りの方式。
(d)暗号化しない本文と、本文から計算したハッシュ値を秘密鍵で暗号化したものを送るね。公開鍵で復号化したハッシュ値がそっちで計算したハッシュ値と同じなら本文は改竄されてないよ。
それからこの暗号化は僕しかできないから確かに僕から送られた文書、僕から送られた内容であると保証できるよ。(電子署名)
この「電子署名」の実現により、さらに次のような応用が可能になる。
(e)ログイン時に毎回パスワードを打つと見られたりして危険だからユーザ名等に署名したものを送るね。公開鍵で復号(検証)OKならログインさせて(公開鍵認証)
(f)僕は信頼できるよ。これがAさんの署名入りのお墨付き。検証してみて。
Aさんは信頼できるよ。これがBさんの署名入りのお墨付き。検証してみて。
Bさんは信頼できるよ。これが世界一信頼できる人の署名入りのお墨付き。検証してみて。
(サーバ証明書)
前項のようなやりとりはほとんどアプリが自動的にやってくれるので、コンピュータ技術者以外の人が公開鍵や秘密鍵を直接扱う機会は現状ほとんどないと思う。
ウェブブラウザのアドレス欄に鍵マークが表示されていたらそれは鍵交換やサーバ証明書技術が使われていて、鍵マークを右クリックすると証明書を表示できる。
メールアプリでも最近は自動的に鍵交換やサーバ証明書が使われている。
もしメールアプリにPGPの設定オプションがあればそこで公開鍵と秘密鍵を設定すると特定の相手と本格的な暗号化メールがやり取り可能になる。
サーバ操作するコンピュータ技術者だと公開鍵認証もよく使われていて、ツールで生成した公開鍵をサーバに登録してログインに利用してる。