はてなキーワード:RSAとは
VPN またはリモートデスクトップソリューションを提供しているかどうかを確認します。これにより、キャン内のリソースに安全にアクセスできるようになります。
クラスター上のオペレーティングシステムとインストールされているソフトウェア (Ubuntu、MPI、SSH など) を特定します。
VPNアクセスを提供しているかどうかを確認します。提供している場合は、必要な資格情報を取得します。
カスタムセットアップの場合は、ワーク内のゲートウェイシステムでOpenVPN または WireGuard を構成します。
ファイアウォールがVPNポートを許可していることを確認します (OpenVPN のデフォルトは 1194)。
PCクラスターにSSH をインストールして有効にします (`sudoapt install openssh-server`)。
SSHキーペアを使用してパスワードなしのアクセスを構成します:
```bash
```
Termius、JuiceSSH (電話/タブレット用)、MobaXterm (ラップトップ用) などのターミナルアプリをインストールします。
GUIアプリケーション用にX11転送を設定します (`ssh -Xuser@remote-host`)。
許可されている場合は、IP が変更されてもクラスターにアクセスするための安定したホスト名を取得するためにDDNS を設定します。
シームレスなコラボレーションと同期のために、リポジトリをクラスターにプルします。
まだ利用できない場合はGit をインストールします (`sudoapt installgit`)。
`git pull` と `gitpush` を使用して、ファイルを最新の状態に保ちます。
クラスターにPython と Matplotlib をインストールします。
オプションで、対話型プロット用に Jupyter Notebook を設定します。
KSMNews & Research(パリに拠点を置く翻訳者·通訳者のエキスパート集団が発信するニュースメディア)も
『マクロン政権は、完全雇用の実現という政策目標に沿った一連の措置の一つとして、RSAの支給条件を厳しくする改正を計画』
『新制度においては、社会給付の窓口や失業保険管理機関、職業安定機関などの関連部署のすべてが就業支援の目標に向けて協力し、受給者に対しては、それぞれの需要や必要を見極めつつ、週15時間以上の活動(トレーニングなど含む)を義務付ける契約を結ばせることになる』という記事を発信しているね
記事によると、試験導入でめざましい就業率の向上があったみたいだし、週15時間以上を義務づけるといってもそれなりの配慮はされるっぽいから、悪い政策ではないのかもしれないけど
『完全雇用の実現という政策目標に沿った一連の措置の一つとして』行われるというのが、労働参加強化の政策の目的·方向性であり
生活保護に関わるすべての部署が『完全雇用の実現』という政策目標へのコミットを強く求められることになるということなら
就業目標の達成という数字ありきで福祉が歪み、強引に労働契約結ばされる運用実態になるのでは、という懸念は当然抱くし
「これは所得保障に甘んじてないで働け、という目的の政策ではない」というブクマカの見立てはやっぱり違うのではないか
むしろ、「所得保障の条件が甘いから働かず就業状況悪い」という問題の克服こそがこの政策の主目的、という見立ての方が合っているのでは、としか思えなくなっていく
そもそもフランスの現行生活保護「RSA」の前身となるRMIは
TheJapan Institute for Labour Policy and Trainingのレポートによると
『受給者が就職した場合就労所得のすべてが手当てから減額される制度であったため、就職したが故に世帯収入が減少してしまうことがあり、働かずにRMIを受給し続けるケースが増加、受給者の社会復帰率の低下が問題となっていた』で
『そこで働かずに生活保護を受けるよりも、少しでも働いた方が収入増につながる制度、すなわちアクティベーション型の制度として登場したのがRSA』らしいから
「支援ばっかり受けてないで働け、という目的の制度ではなく、社会への復帰支援を目的とした労働義務なので良い」ってコメントがなにやらめちゃくちゃ人気のようだけど
https://www.aide-sociale.fr/reforme-rsa/
The most important consideration thatwill be required of beneficiaries of theSSAis the obligation to “work”at least 15 hours a week.
This obligation shall be fixedon a range of 15 to20 hours of professional activity.
In other words, theRSA shall be paid provided that a minimum of 15 hours of weekly activityis carriedout.
うーん、素人が検索して拾い読みしているだけだが、「RSAが週15時間の労働を条件に支給されるようになった」のは今年からなのでは?Togetterのまとめに大きな問題はなさそうに思えたが。
https://www.parisettoi.fr/news/20240819-003
「建前」と書かれているが、これはどういうニュアンスなんだろう。教えてくれると助かる。
RSAの労働契約義務が今年始まったばかりのものだと勘違いしてるコメが多かったのって、Togetterまとめのタイトルが「今年から」だったことに(実際は15年前のRSAスタートした時からずっとです)かなり引っ張られていると思うのだけど
このレベルの勘違いしたまま、それを指摘し正すこともできないままのブクマカに複雑な生活保護問題の是非判断ができると思うか?
というより元増田の文脈は「赤旗に同調して叩いているブクマカ憎し」だから「パソナを叩くならフランスのRSAも叩かないとダブスタだろ」という主張のためにRSAを悪く書いているのであって
元増田の思考としては「自分はパソナを叩きも賞賛もせず意見保留/フランスに対しても叩きも賞賛もせず意見保留/だがパソナを叩くブクマカお前たちはフランスも叩かなければダブスタだぞ」なんだろ
ザックリ言うと、赤旗が批判した「違法な指導」、「派遣業者への利益誘導」が
違法な指導は合法化なものになり、派遣業者への利益誘導が全国的に大手を振るうようになるってこと
フランスパリの「民間の派遣会社から行政が買い取った派遣ポストへ余すことなくRSA受給者の就労先としてあてがう」べく「RSA受給者に対して,派遣先への就職を参入契約に盛りこむ」は極めて近いことをしているわけだから
フランスの就労指向型生活保護システムを絶賛するブクマカさんは
無知なのか、ダブスタなのか、欧米無条件礼賛思考なのか知らないが、フランスの実態をあまりに無視しすぎている
では、実際にフランスの生活保護の現場では何が起きているのか、見てみよう
https://www.jstage.jst.go.jp/article/spls/8/2/8_20/_pdf/-char/ja
ソーシャルワーカーにとって,担当する地区の労働市場の動向や,具体的な雇用政策の内容を十分に把握し,専門的に就労支援を行うことは困難である
筆者の調査時に開かれたCTI の議題は,「RSA受給者への派遣業務提供事業をどのように効率よく実施していくか」ということであった。
すなわちパリは,今後2年間(当時)で,1000人分の派遣ポストを民間の派遣会社から購入することになっていた。行政が買い取った派遣ポストへ余すことなくRSA受給者の就労先としてあてがう
この雇用政策が実施に移される段階で,ソーシャルワーカーはRSA受給者との面談のなかで,派遣労働可能なRSA受給者に対して,派遣先への就職を参入契約に盛りこむよう提案するのである。CTI では,当初5つのCTI に割り当てた派遣ポストが各CTI 内で十分消化できているか監視する。不均衡が生じていれば,他のCTI との調整が行われ,こうして2年後にはパリが派遣会社から買い取ったポストが“無駄なく”そして“効率よく”消化されることを目指すのである
就労支援と言いつつ、実態は派遣会社から派遣枠を買う→それを「効率よく無駄なく消化」するために、生活保護受給者にあてがうべく調整が行われ、受給者は参入契約を盾にとられるので最終的に抗えない
この行政と民間斡旋業者の取引によって、さて何が起きるだろうか
条件の悪いブラックな派遣案件を扱う業者に公金が流れ、劣悪なブラック職場は温存され、労働市場全体の質が低く保たれるという弊害が起きてしまうのだ
他にも、上記リンクの寄稿では、このような興味深いことも書かれている
基礎RSA では37%,そして活動RSA では12%が,フルタイム労働時間の半分に満たない超短時間労働に従事している状況である。
超短時間労働者率が全被用者の7%でしかないことにかんがみると,基礎RSA の超短時間労働者は圧倒的に多いと言える。
しかもこのような短時間労働への従事が大半の場合,本人の希望に反してなされている。先のDARES調査によれば,基礎RSA の短時間労働の88%が,そして活動RSA でも短時間労働者の74%の人が,「希望する労働時間よりも少ないためもっと働きたい」と望んでいるのである。
早い話が、自立できるようなまともな仕事は斡旋されず、スキマバイトの売れ残りのようなものを弱い立場の人に押し付ける、みたいな構図なのだ
さて、ここまで色々言ってきたが「受給者の分際で選り好みするな働け」という意見で一貫してるならまだいいのだ。一理はあるから否定はしない
しかし、だ。ここで思い出してほしいのだ。ブクマカによる大阪パソナ生活保護就職サポート大叩きを
https://b.hatena.ne.jp/entry/s/www.jcp.or.jp/akahata/aik24/2024-11-21/2024112101_02_0.html
失業で困窮して生活保護を申請した30代男性は「再スタートを決めて最後のライフライン(生活保護)に頼りました。派遣生活で疲れ果て、安定した正規雇用の職をじっくり探したいと伝えたのに、パソナの派遣職員に『何でもいいから』と言われました」と絶望。「このままでは生活保護を開始できないと言われ、生活できないので、希望とは違う会社にも応募。
なのだが
「邪悪な仕組み」「官製貧困ビジネス」だったわけだが、ここで改めてフランス生活保護の現実を振り返ってみよう
①『何でもいいから』と言われました」と絶望。「このままでは生活保護を開始できないと言われ、生活できないので、希望とは違う会社にも応募」
②「求職活動をしなければ保護が受けられなくなる」などの言葉で、利用者に「指導」を行う違法な事例も報告されている
フランスのRSAを日本で導入すると、少なくとも①と②は違法でも問題でもなくなるのだ
なにせフランスの就労指向型生活保護では①が合法的に行われており、②も首都パリで同様のことが行われていたのだから
「フランス素晴らしい!真似しよう」と主張するなら、大阪パソナの事例は当然導入後は叩けなくなる
また
③「就職サポートの支援ミスマッチは数字を見れば明らかで、ただの大手派遣企業のもうけ口になっている」
も、パリの事例と「基礎RSA の短時間労働の88%が,そして活動RSA でも短時間労働者の74%の人が,「希望する労働時間よりも少ないためもっと働きたい」と望んでいるデータがあることから
フランスのRSAでも起きていることであり、「フランス素晴らしい!真似しよう」と主張するなら(以下略
◆結論
まあ、結局「日本でもフランスでも制度理念や目的だけは素晴らしい制度ってあるんですよね、色々と。でもそれだけで良し悪しを判断したらダメだよね」ってことなのだ
散々揉めた高プロや裁量労働制だって、政府の主張する理念や目的だけを聞くと「全然悪くないもの」に聞こえなくもないのだ
でも、だ。こういう制度は「実際に社会にどう実装されて、どんな副作用が起きうるか」までしっかりみて検証しないと、良し悪しの判断なんて到底できない
その当たり前の意識がブクマカさん欠けてませんか?と問いかけたところで、この話を一旦締めたい
Permalink |記事への反応(10) | 00:32
AkiraRansomwareは、近年特に注目されているランサムウェアの一つで、その動作は高度で多様な手法を取り入れています。以下に、Akiraランサムウェアの動作について詳しく説明します。
侵入経路
Akiraは主にフィッシングメール、リモートデスクトッププロトコル(RDP)の悪用、既知の脆弱性の悪用などを通じてシステムに侵入します。特に、未修正のソフトウェアやシステムの脆弱性を狙うことが多いです。
初期感染と展開
システムに侵入すると、Akiraはネットワーク内で横移動を試みます。これは、ネットワーク内の他のデバイスにも感染を広げるためです。横移動には、認証情報の窃取や利用可能なネットワーク共有の探索が含まれます。
ファイル暗号化の前に、Akiraはターゲットシステムの特定のディレクトリをスキャンし、暗号化対象のファイルをリストアップします。次に、強力な暗号化アルゴリズム(通常はAESとRSAの組み合わせ)を使用して、ファイルを暗号化します。
最近のバージョンでは、部分的な暗号化手法(インターミッテント暗号化)を採用することで、暗号化速度を上げつつ、検出を回避する手法が確認されています (Bitdefender)。
データの窃取
暗号化に加えて、Akiraは重要なデータを盗み出し、そのデータを公開することで二重に脅迫することがあります。これにより、被害者に対する身代金要求の圧力を強化します。
暗号化が完了すると、被害者のデスクトップに身代金要求メッセージが表示されます。このメッセージには、データを復号化するための手順と支払い方法が記載されています。通常、暗号通貨(ビットコインなど)での支払いが求められます。
特徴的な技術
RustとC++の利用
Akiraの一部バージョンはRustというプログラミング言語で書かれており、これによりコードの安全性が向上し、セキュリティ研究者による逆コンパイルが難しくなっています。また、C++で書かれたバージョンも存在し、多様な環境での実行が可能です (CISA)。
VMware ESXiの標的化
Akiraは特にVMware ESXi仮想マシンを標的とすることが多く、これにより企業の仮想環境全体に影響を与えることができます。
Akiraは単純なファイル暗号化にとどまらず、データ窃取やネットワーク内での横移動、他のマルウェアの導入など、多層的な攻撃手法を組み合わせています。これにより、攻撃の成功率を高め、被害者に対するプレッシャーを強化します。
たとえば、RSAの暗号理論は計算機の有限時間内の演算が難しいという特性を使っているわけじゃん。つまり「暗号化されたものは確実に復号できるという特性を持ち、かつ有限時間以内に割り切れる可能性がほぼ無い」という特性を持つことは数学的にも正しく、計算機科学でも成り立つ事実じゃん。SHA-1 がハッシュ暗号として脆弱なのは、異なるファイルで同じハッシュ値を作れることが PoC されたことであって、数学的に脆弱性が解読されたわけじゃないだろ?もし、数学的にこの脆弱性がわかっていたら、もっと早い段階でハッシュの衝突が起きていたと思うのだが、違うのかい?一応はSHA-1 で衝突が起こることは数学的に予期されていたが、これだけハッシュ破りに時間がかかったのだから、有用性はあったとはおもうけどね。
大前提として、ディズニー映画の知識はウェブであらすじ見ましたくらいしかありません。ツイステの元ネタは原作の方読んでたし映画はわざわざ見なくていいかなって……実写のマレフィセントは見ました。
リドルとジャミルの贔屓も意見を目にするまでちらっとも思ってませんでした。意見を見ても「まあリドルくんはマブダチの寮長だから我々のお母さんポジだもんな……」とか考えてました。シェフまでは。ジャミルに関しては意識もしてませんでした。後編2までは。
5章で気になった点を、読みやすさとか考えずに書いていきます。ても更新遅すぎて気になったところあんまり覚えてません。長いので読み返す気もあんまりわかないです。あとキャラディスが入ると思います。ごめんなさい。
【前半:エペルに話してたヴィルさんの自論超腹立った】
ここのシーンあまりにも嫌いなので記憶から消し去ってるんですけど、
エペルは強い男らしい筋肉がなりたい自分の姿で、それとは真反対である愛らしいしぐさに嫌悪感を抱いているような描写があったと思います。それに対してヴィルさんは、男らしいだなんて前時代的な考え!みたいな感じのことを言ってましたよね。そしてここがTwitterで絶賛されてたと思います。
私はここの部分ピンポイントで嫌いです。いや確かに好きな服を着て振る舞うのはいいかもしれないし、そういう感じで絶賛されてましたけど、それ嫌がってる人にお前の考えは古い!!!って言って強要してるの地獄でしょ。少なくとも私は嫌です。
ていうかエペルには外見に似合う可愛さを要求しておきながら自分は悪役の仕事断るやん!相手がネージュくんだったからなのかもしれんけど!なに!?自分の発言覚えられへんのか……!? エペルにあんなこと言うんなら受けろやその仕事……(この時点ではこういう矛盾を意図的に配置してオーバーブロッドの伏線にするんだろうな〜と考えていました)
【後編:最終章にむけた準備を進めてるのはわかるけどユニーク魔法なんとかならんかったん?】
呪いのジュースは詳しい人が言ってるし割愛します。多分これTwitterで「カリムの特技が毒の判定だからヴィルの仕込んだ毒をカリムが見つけるんだ!」ってめっちゃ言われてたから公式がそういう展開避けたんじゃないですか?知らんけど。1つ言うなら、殺意を隠せてない暗殺はちょっとずさんすぎる……です。 ちなみにここが原作映画の踏襲!とかも知りません。私の知ってる狩人は「可愛い子に命乞いされたわ〜まあここで殺さなくてもこんな所で生きられんし女王の命令は達成できるしな!逃がしたろ!」ってイノシシの肝持って帰った人です。詳しい人教えてください。
簡単に言うと、ポムフィオーレ寮の話なのにユニーク魔法判明したポムフィオーレ生がヴィルさんのヤツだけなのはおかしい、です。1年生の元田舎ヤンキーエペルが持ってないのはともかく、ルークのユニーク魔法は匂わせもないやん。正確に狙った位置に何かを投げるってマレウス様もできますしユニーク魔法ではないし。もしかして目分量で身体測定できるやつがそうですか?そんなこと言われたら泣くが……?
あとポムモブ生でなさすぎて悲しい。2章の方がでてたやん、バトルもしたし。もしかしてポムメイン章は2章だった……??
【後編:見せ場全部マレウス様が持ってったじゃん…………】
ディアソムニアのオタクなので、唐突に出てくるマレウス様とかシルバくんとかしか見えてないんですけど、それでもあの時のマレウス様の登場はおかしかったと思います。どこの世界にその章の主役たちより目立ってるその後のメインする人がおんねん。ツイステッドワンダーランドにいます。まあマレウス様は強いから……で済ませられるほど穏やかなオタクでは無いです……。
あとヴィルさんのオーバーブロッドを知ってる人数が少なすぎる。少なくとも今まで各寮生は目の当たりにしてたのに今回ぶっちぎりで少ない。モブ生の存在覚えてます?
練習の時に、
ヴィル「オーディションの時にダンスが1番上手かったのアンタだから、ソロパート入れるけどいいわね?」
ジャミル「わかった」
くらいのやり取り入れろよ……なんで「あ〜ジャミルはダンスが得意だから、映えるしソロパート入れたんかな〜」ってこっちが察さなきゃいけないんだよ。推理小説か? 推理小説でもこんなことしませんが?
まあ単純にリズミック班との連携不足ですよね。絶対報告足りてないわ。でもソシャゲはスケジュールがギリギリになりがちなので(メンテ中に実装するやつ頑張って作ってるとかある)最終チェックする時間なかったんだと思います。
【後半:なんで出場者が投票権持ってんの?】
そもそもあれってVDCの出場者に投票権が無ければ良かったんですよ。
わかってる範囲でNRCの出場者は『ヴィル、エペル、ルーク、カリム、ジャミル、エース、デュース』の7人で、RSAの出場者って『ネージュと7人のドワーフ』で8人じゃないですか。もう出場者の人数差で公平ではないですよね。まあたかが1票差ですけど……いやすみません1票差でナイトレイブンカレッジ負けたんでした。
あと個人的にネージュくんはNRCに投票して欲しかったな……ほら……ネージュくん、「ヴィーくんたちのすごかったから、僕NRCに投票したんだ!」くらい言いそうじゃないですか……?そうしたらヘイトも下がったと思いません……?
世界規模の大会に見えなかったなあの意見は私もそう思います。合同文化祭?
【後編:ヤッホー斉唱なに?】
NRC側にヤッホー歌うことを提案してくるなら、ネージュくん側もNRCの曲歌って欲しかったですね。ちょっとネージュくんに高望みしすぎたかな……まあみんな高校生だし仕方ないかな…………
これに関しても既に散々言われてるのでこれ以上は言いません。
まあミュートでツイステやってるのでみんなが何を歌ってたのかTwitter見るまで知らなかったんですよね。困った時は脳内で蛍の光を流しておけの精神に基づき当時私の中では全員蛍の光歌ってました。
推したちに盲目な自分でも、結構違和感のあるシナリオだったなと思います。前半が多少読み応えあっただけに残念です。
ルークの壁紙の裏って獲物の隠し撮りだと思ってたけどつまりあれってネージュくんのブロマイドなんですよね。ネージュくん要素、ちょっとでもあればな……こんなことにはならんかったやろうなあ……
マレウス様がマニア気質があるので正直7章怖いです。今回の不満点って推しではないから、冷静に見れてたとは思うんですが、7章で同じようなことされたらブチギレると思います。すみません既にマスターシェフと茨の信奉者の件でキレてます。
お目汚し失礼いたしました。
ツイステ5章後編2配信されましたね。
ライターのせいでルークとネージュがヘイトサンドバッグになってるのが辛い。
あの展開ならサンドバッグになるのが当たり前で擁護ができなくて辛い。
これはこの二人が悪いんじゃなくて展開が悪い、ネージュに対してはライターからの悪意すら感じる。
ヴィランがヒーローを打ち倒すと言うのはやっちゃいけないというこの世界のルールは分かってます。ディズニーではヴィランが勝っちゃいけないし。
でも示し方が最悪。
マジフト大会でNRCが負け続けているというのは理由がありました。
RSAはチームワークが完璧で、NRCは我が我がと自分ばかりで他人を顧みないスタイルだから。これは負ける理由が明らかですし、真っ当だから救いもある。
個人プレーが悪いとは言いませんが、ここで示された理由なら、ヴィランでも改心(皆で協力)したら勝てるチャンスがありそうで希望を持てます。
でも5章は?
私はVDCがダンス甲子園のような、本当にプロを夢見てたりする子たちが日々研鑽して努力をして優劣を競い合うガチの大会だと思っていました。
NRCがガチで仕上げてきたRSAに負けるなら、それは仕方なかった。
ヴィランが負ける世界という摂理に照らし合わせたとしても、こっちがしてきた努力を相手が上回ったのだろうという背景があるから納得できます。
でも結果は、ヴィランは真っ当に努力を重ねたとしても、ヒーローが同じ舞台に立って仕舞えば、それが例えパフォーマンスにすらなってない思い出作りのお遊戯会だとしても負けてしまうということを示されただけだった。
RSAが優勝しNRCが勝てないのは分かっていました。でもどうしてお遊戯会にした?
悪役が悪役たりえるのって悪いところがあるからでは?
真っ当に努力して、しようとした悪いことも未遂に終わってこの結末って何?
ネージュがお遊戯会で出場したこと、そしてルークの一票で負けてしまった設定にしたこと、そしてあのタイミングでネージュファンであることを明かしてしまったこと、それが本当に最悪でした。
けれど、それによって勝敗が決し、ルークを戦犯に仕立てあげるストーリーは一体誰が喜ぶのか分かりません。
原作忠実とか狩人の役目とか、まず示し方が最悪です。原作忠実の話が見たいなら原作見ます。
タイミングも内容も失望するしかできない事でヴィルとプレイヤーを裏切るのが狩人の役目なら、そもそもVDCに出ないで欲しかった。
重ね重ね言いますが、世界の摂理は分かります。ナイトレイブンカレッジに所属してる時点で正義には勝てません。
彼らには悪いところがあり、だから勝てない。
元エントリーの人がどこまで理解しているか不明だけど、自分が初心者だったときこういう説明がほしかったという話をしてみる。
暗号方式、特に公開鍵暗号の理解が難しいのはいくつか理由がある。
②素朴な利用例が少なく応用的な利用がいくつもある
また、ざっくりした概念以上のものをきちんと理解しようと思うと
④何がどのくらい安全で何がどのくらい危険かセキュリティ的な概念の説明
ここでは自分的にこういう順番で概念を把握していったという流れを書いてみる。
まず、物理的な錠前や書留郵便をイメージするのはあきらめてほしい。
あくまでもデジタルデータを別のデジタルデータに変換して再び元に戻すためのものだ。
公開鍵暗号登場以前は、パスワードを使って変換(暗号化)して、同じパスワードを使って元に戻す(復号化)という共通鍵暗号の時代が長く続いた。
それが暗号化のパスワードと復号化のパスワードで異なるものを使うという技術だ。
・特殊な数学的アルゴリズムでパスワード1から、それと対になるパスワード2を生成する
・パスワード1で暗号化したものがパスワード2で復号できるだけでなく、その逆つまりパスワード2で暗号化したものがパスワード1で復号できる(※)
今はその数学的アルゴリズムまで理解する必要はない。ただそういうことが可能になったというだけでいい。
パスワード1(秘密鍵)を自分以外が見られないように保管して、パスワード2(公開鍵)を通信相手に渡せば暗号通信ができそうということは理解できると思う。
ちなみにこのパスワードの長さは、プログラムで生成した100桁以上の数字が使われることが多く、それを定型的な千文字程度のテキストにして使われるのが一般的。
ツールで生成すると千文字程度のテキストファイルが秘密鍵用と公開鍵用の2個できる。
これだけの桁数なので暗号化復号化の計算はそれなりに時間がかかる。(※)
(※) このあたりは一般的な公開鍵暗号というよりRSA公開鍵暗号特有の話も混ざってます。詳しくは専門書参照
次にこの発明を使ったらどういうことができるだろうか、応用できる先を考えてみよう。
誰でも最初に思いつく例だけどシンプルすぎて共通鍵と変わらなくありがたみがない。
(b)僕にメッセージを送るときは僕の公開鍵で暗号化してね(いわゆる公開鍵暗号)
メッセージの送信先を間違って別人に送ってしまっても他人は読めないし、経路のどこかで盗み見や内容の一部を改竄されたりすることがない。
メッセージに返信するときは今度は「僕」ではなく相手の公開鍵を使って暗号化する。
(c)本文を毎回全部暗号化すると時間がかかるから共通鍵を君の公開鍵で暗号化したものを送るね。それを君の秘密鍵で復号したら以降は高速な共通鍵暗号で通信しよう(鍵交換)
共通鍵暗号の高速性というメリットを利用できて、かつ生の共通鍵がネットに流れるリスクを排除した良いとこ取りの方式。
(d)暗号化しない本文と、本文から計算したハッシュ値を秘密鍵で暗号化したものを送るね。公開鍵で復号化したハッシュ値がそっちで計算したハッシュ値と同じなら本文は改竄されてないよ。
それからこの暗号化は僕しかできないから確かに僕から送られた文書、僕から送られた内容であると保証できるよ。(電子署名)
この「電子署名」の実現により、さらに次のような応用が可能になる。
(e)ログイン時に毎回パスワードを打つと見られたりして危険だからユーザ名等に署名したものを送るね。公開鍵で復号(検証)OKならログインさせて(公開鍵認証)
(f)僕は信頼できるよ。これがAさんの署名入りのお墨付き。検証してみて。
Aさんは信頼できるよ。これがBさんの署名入りのお墨付き。検証してみて。
Bさんは信頼できるよ。これが世界一信頼できる人の署名入りのお墨付き。検証してみて。
(サーバ証明書)
前項のようなやりとりはほとんどアプリが自動的にやってくれるので、コンピュータ技術者以外の人が公開鍵や秘密鍵を直接扱う機会は現状ほとんどないと思う。
ウェブブラウザのアドレス欄に鍵マークが表示されていたらそれは鍵交換やサーバ証明書技術が使われていて、鍵マークを右クリックすると証明書を表示できる。
メールアプリでも最近は自動的に鍵交換やサーバ証明書が使われている。
もしメールアプリにPGPの設定オプションがあればそこで公開鍵と秘密鍵を設定すると特定の相手と本格的な暗号化メールがやり取り可能になる。
サーバ操作するコンピュータ技術者だと公開鍵認証もよく使われていて、ツールで生成した公開鍵をサーバに登録してログインに利用してる。
順番 | 国・地域名 | コード | 五十音順との差 |
---|---|---|---|
168 | ギリシャ | GRE | -115 (←53) |
1 | イタリア | ITA | +19 (←20) |
2 | イラク | IRQ | +19 (←21) |
3 | イラン・イスラム共和国 | IRI | +19 (←22) |
4 | イエメン | YEM | +12 (←16) |
5 | イギリス | GBR | +12 (←17) |
6 | イギリス領バージン諸島 | IVB | +12 (←18) |
7 | イスラエル | ISR | +12 (←19) |
8 | インド | IND | +15 (←23) |
9 | インドネシア | INA | +15 (←24) |
10 | ロシア連邦 | RUS | +196 (←206) |
11 | ハイチ | HAI | +123 (←134) |
12 | ハンガリー | HUN | +133 (←145) |
13 | バハマ | BAH | +125 (←138) |
14 | バヌアツ | VAN | +123 (←137) |
15 | バルバドス | BAR | +128 (←143) |
16 | バーレーン | BRN | +117 (←133) |
17 | バージン諸島 | ISV | +115 (←132) |
18 | バミューダ | BER | +122 (←140) |
19 | バングラディシュ | BAN | +127 (←146) |
20 | パレスチナ | PLE | +124 (←144) |
21 | パナマ | PAN | +115 (←136) |
22 | パラオ共和国 | PLW | +119 (←141) |
23 | パラグアイ | PAR | +119 (←142) |
24 | パプアニューギニア | PNG | +115 (←139) |
25 | パキスタン | PAK | +110 (←135) |
26 | ニカラグア | NCA | +100 (←126) |
28 | ニュージーランド | NZL | +101 (←129) |
29 | ニジェール | NIG | +98 (←127) |
30 | ホンコン・チャイナ | HKG | +141 (←171) |
31 | ホンジュラス | HON | +141 (←172) |
32 | ボリビア | BOL | +137 (←169) |
33 | ボツワナ | BOT | +135 (←168) |
34 | ボスニア・ヘルツェゴビナ | BIH | +133 (←167) |
35 | ポルトガル | POR | +135 (←170) |
36 | ポーランド | POL | +130 (←166) |
37 | ベトナム | VIE | +122 (←159) |
38 | ベリーズ | BIZ | +125 (←163) |
39 | ベルギー | BEL | +126 (←165) |
40 | ベネズエラ | VEN | +121 (←161) |
41 | ベナン | BEN | +119 (←160) |
42 | ベラルーシ | BLR | +120 (←162) |
43 | ペルー | PER | +121 (←164) |
44 | トリニダード・トバゴ | TRI | +75 (←119) |
45 | トルクメニスタン | TKM | +75 (←120) |
46 | トルコ | TUR | +75 (←121) |
47 | トーゴ | TOG | +69 (←116) |
48 | トンガ | TGA | +74 (←122) |
49 | ドイツ | GER | +66 (←115) |
50 | ドミニカ | DMA | +67 (←117) |
51 | ドミニカ共和国 | DOM | +67 (←118) |
52 | チリ | CHI | +60 (←112) |
53 | 朝鮮民主主義人民共和国 | PRK | +58 (←111) |
54 | チャイニーズ・タイペイ | TPE | +52 (←106) |
55 | チャド | CHA | +52 (←107) |
56 | チェコ共和国 | CZE | +49 (←105) |
57 | チュニジア | TUN | +53 (←110) |
58 | 中華人民共和国 | CHN | +51 (←109) |
59 | 中央アフリカ | CAF | +49 (←108) |
60 | リベリア | LBR | +140 (←200) |
61 | リトアニア | LTU | +136 (←197) |
62 | リヒテンシュタイン | LIE | +137 (←199) |
63 | リビア | LBA | +135 (←198) |
64 | ルワンダ | RWA | +139 (←203) |
65 | ルーマニア | ROU | +136 (←201) |
66 | ルクセンブルグ | LUX | +136 (←202) |
67 | カタール | QAT | -24 (←43) |
68 | カナダ | CAN | -24 (←44) |
69 | カーボベルデ | CPV | -29 (←40) |
70 | カザフスタン | KAZ | -28 (←42) |
71 | カメルーン | CMR | -25 (←46) |
72 | カンボジア | CAM | -24 (←48) |
73 | ガイアナ | GUY | -32 (←41) |
74 | ガボン | GAB | -29 (←45) |
75 | ガーナ | GHA | -36 (←39) |
76 | ガンビア | GAM | -29 (←47) |
77 | ヨルダン | JOR | +117 (←194) |
78 | タイ | THA | +23 (←101) |
79 | タジキスタン | TJK | +24 (←103) |
80 | タンザニア連合共和国 | TAN | +24 (←104) |
81 | 大韓民国 | KOR | +21 (←102) |
82 | レバノン | LBN | +123 (←205) |
83 | レソト | LES | +121 (←204) |
84 | ソロモン諸島 | SOL | +16 (←100) |
85 | ソマリア | SOM | +14 (←99) |
86 | ツバル | TUV | +27 (←113) |
87 | ネパール | NEP | +43 (←130) |
88 | ナイジェリア | NGR | +35 (←123) |
89 | ナウル | NRU | +35 (←124) |
90 | ナミビア | NAM | +35 (←125) |
91 | ラトビア | LAT | +105 (←196) |
92 | ラオス人民民主共和国 | LAO | +103 (←195) |
93 | ウルグアイ | URU | -65 (←28) |
94 | ウガンダ | UGA | -69 (←25) |
95 | ウクライナ | UKR | -69 (←26) |
96 | ウズベキスタン | UZB | -69 (←27) |
97 | ノルウェー | NOR | +34 (←131) |
98 | オランダ | NED | -60 (←38) |
99 | オーストリア | AUT | -63 (←36) |
100 | オーストラリア | AUS | -65 (←35) |
101 | オマーン | OMA | -64 (←37) |
102 | クロアチア | CRO | -41 (←61) |
103 | クック諸島 | COK | -44 (←59) |
104 | クウェート | KUW | -46 (←58) |
105 | グレナダ | GRN | -45 (←60) |
106 | グアム | GUM | -49 (←57) |
107 | グアテマラ | GUA | -51 (←56) |
108 | マリ | MLI | +69 (←177) |
109 | マルタ | MLT | +69 (←178) |
110 | マダガスカル | MAD | +65 (←175) |
111 | マレーシア | MAS | +68 (←179) |
112 | マラウイ | MAW | +64 (←176) |
113 | マケドニア | MKD | +61 (←174) |
114 | マーシャル諸島 | MHL | +59 (←173) |
115 | ケイマン諸島 | CAY | -53 (←62) |
116 | ケニア | KEN | -53 (←63) |
117 | フィリピン | PHI | +32 (←149) |
118 | フィジー | FIJ | +30 (←148) |
119 | フィンランド | FIN | +31 (←150) |
120 | フランス | FRA | +34 (←154) |
121 | ブルガリア | BUL | +34 (←155) |
122 | ブルネイ・ダルサラーム | BRU | +35 (←157) |
123 | ブルキナファソ | BUR | +33 (←156) |
124 | ブルンジ | BDI | +34 (←158) |
125 | ブラジル | BRA | +28 (←153) |
126 | ブータン | BHU | +25 (←151) |
127 | プエルトリコ | PUR | +25 (←152) |
128 | コロンビア | COL | -60 (←68) |
129 | コソボ | KOS | -63 (←66) |
130 | コートジボワール | CIV | -66 (←64) |
131 | コモロ | COM | -64 (←67) |
132 | コスタリカ | CRC | -67 (←65) |
133 | コンゴ | CGO | -64 (←69) |
134 | コンゴ共和国 | COD | -64 (←70) |
135 | エチオピア | ETH | -103 (←32) |
136 | エリトリア | ERI | -103 (←33) |
137 | エルサルバドル | ESA | -103 (←34) |
138 | エクアドル | ECU | -109 (←29) |
139 | エジプト | EGY | -109 (←30) |
140 | エストニア | EST | -109 (←31) |
141 | デンマーク | DEN | -27 (←114) |
142 | アイルランド | IRL | -140 (←2) |
143 | アイスランド | ISL | -142 (←1) |
144 | アルバニア | ALB | -133 (←11) |
145 | アルーバ | ARU | -137 (←8) |
146 | アルメニア | ARM | -134 (←12) |
147 | アルジェリア | ALG | -138 (←9) |
148 | アルゼンチン | ARG | -138 (←10) |
149 | アラブ首長国連邦 | UAE | -142 (←7) |
150 | アフガニスタン | AFG | -146 (←4) |
151 | アメリカ領サモア | ASA | -145 (←6) |
152 | アメリカ合衆国 | USA | -147 (←5) |
153 | アゼルバイジャン | AZE | -150 (←3) |
154 | アンドラ | AND | -139 (←15) |
155 | アンゴラ | ANG | -142 (←13) |
156 | アンティグア・バーブーダ | ANT | -142 (←14) |
157 | サウジアラビア | KSA | -86 (←71) |
158 | サモア | SAM | -86 (←72) |
159 | サントメ・プリンシペ | STP | -86 (←73) |
160 | サンマリノ | SMR | -85 (←75) |
161 | ザンビア | ZAM | -87 (←74) |
162 | キリバス | KIR | -108 (←54) |
163 | キルギスタン | KGZ | -108 (←55) |
164 | キプロス | CYP | -113 (←51) |
165 | キューバ | CUB | -113 (←52) |
166 | ギニア | GUI | -117 (←49) |
167 | ギニア・ビサウ | GBS | -117 (←50) |
169 | メキシコ | MEX | +15 (←184) |
170 | 南アフリカ | RSA | +11 (←181) |
171 | 南スーダン | SSD | +11 (←182) |
172 | ミクロネシア連邦 | FSM | +8 (←180) |
173 | ミャンマー | MYA | +10 (←183) |
174 | シリア・アラブ共和国 | SYR | -94 (←80) |
175 | シェラレオネ | SLE | -99 (←76) |
176 | シンガポール | SGP | -95 (←81) |
177 | ジョージア | GEO | -98 (←79) |
178 | ジャマイカ | JAM | -100 (←78) |
179 | ジブチ | DJI | -102 (←77) |
180 | ジンバブエ | ZIM | -98 (←82) |
181 | 東ティモール | TLS | -34 (←147) |
182 | モロッコ | MAR | +9 (←191) |
183 | モルドバ共和国 | MDA | +7 (←190) |
184 | モルディヴ | MDV | +5 (←189) |
185 | モナコ | MON | +3 (←188) |
186 | モーリタニア | MTN | ±0 (←186) |
187 | モーリシャス | MRI | -2 (←185) |
188 | モザンビーク | MOZ | -1 (←187) |
189 | モンゴル | MGL | +3 (←192) |
190 | モンテネグロ | MNE | +3 (←193) |
191 | セイシェル | SEY | -99 (←92) |
192 | セルビア | SRB | -97 (←95) |
193 | セネガル | SEN | -99 (←94) |
194 | 赤道ギニア | GEQ | -101 (←93) |
195 | セントルシア | LCA | -97 (←98) |
196 | セントクリストファー・ネイビス | SKN | -100 (←96) |
197 | セントビンセント・グレナディーン | VIN | -100 (←97) |
198 | スイス | SUI | -115 (←83) |
199 | スロバキア | SVK | -110 (←89) |
200 | スロベニア | SLO | -110 (←90) |
201 | スペイン | ESP | -115 (←86) |
202 | スリナム | SUR | -115 (←87) |
203 | スリランカ | SRI | -115 (←88) |
204 | スワジランド | SWZ | -113 (←91) |
205 | スーダン | SUD | -120 (←85) |
206 | スウェーデン | SWE | -122 (←84) |
27 | 日本 | JPN | +101 (←128) |
試験、受けました。
ことさら話題にするようなことでもないかもしれませんが、せっかくなので書きます。
これから受ける人などの参考になれば幸いです。
30代。
製造業。
プログラミング歴は数ヶ月。
それまではExcelWordがちょっと分かるくらいだった。
初受験。
内製のソフトがC++でできていて、これを色々弄くれるようになればあんなところやこんなところまで自動化できるなあ、でも何も知らないまま弄るのはちょっと怖いなあ…
そうだ、勉強しよう!
8月半ば、受験申込期間の締め切りギリギリに試験の存在を知り応募。
勉強期間は2ヶ月ほど。
平日は1日1〜2時間。土日は1日3〜5時間。まったく勉強しなかった日が10日ほど。
最初に、ネットで評価の高かった合格教本という本を買って読んでみた。
基本情報の知識もない状態だと、書いてあることがもうほんとにまったく分からず、挫折しそうになった。
方針を変えて、応用情報技術者試験ドットコムで過去問道場をひたすら回した。
分からない言葉はネットで調べて、これはと思う説明に出会ったらOneNoteにひたすらコピペした。
最後の2週間はドットコムでユーザー登録をし、理解度で問題を色分けするようにした。
最後の1週間でピヨ太くんのサイト(正式名称長い)を見つけ、分からない言葉はまずこのサイトで検索するようにした。
受験前は、
…のどれかを選ぼうかなと考えていた。
いわゆるストラテジ、マネジメント系科目だけで固めても良かったのだけど、組込みなんかは普段の生活からイメージしやすいし、2時間半の長丁場ならテクノロジ系科目を間に挟んだ方がほどよく頭のリフレッシュになるかなーと思っていた。
実際の試験では、
…を選んだ。
机上に置けるような時計は持っていなかったし、まあ午前だけなら時計が無くても大丈夫だろうとタカをくくっていた。
問題を順当に最後まで解いて、全て順番通りにマークされてることを確認してから、手を挙げて外へ出た。
15分ほど余っていた。
さすがに午後は時計が無いとマズイと思い、休憩中に買ってくる。
セキュリティ(必須問題)の設問1で長考してしまい、20分ほど経っても解答用紙の半分が埋まっていない状態。
とりあえず他の問に移り、最後に余った時間でセキュリティに戻る方針にシフト。
経営はぱっと見簿記の知識が生かせそうだと思い選んだのだけど、「固定長期適合率」がどういう計算式なのか見当がつかない。
早々に切り上げる。
組込みの設問1でまたも長考、ほぼ解答を埋められたものの、結局40分ほど費やす。
サビマネ、監査は焦りから問題文の通読ができず、設問を最初に読むようになり、結果読み返しが増えてしまった。
監査を終えたところで5分くらい余ったので、這々の体でセキュリティに戻る。
午前とは逆に、始終時間との戦いだった。
午前は78.75点。
午前は問題用紙に選んだ選択肢に○する余裕があったのだけど、午後はそれがなくなって、問題解くのに必死で自分が何を書いたかしっかり思い出せない。
色々と書いたけれど、そういう訳で正直受かってるかまったく分からない。
配点、部分点次第といったところ。
怖い。
午後の対策が難しい。
午後対策でよく見られるのは「国語の読解力をつける」というアドバイスだが、読解力というのは漠然としていてレベルの向上も分かりづらい。
今の私なら、以下の順番で勉強を進めるかもしれない。
そもそも、「試験に合格するための勉強」に終始して、最初の動機がなおざりになっちゃった感が否めません。
…でもそれらがなんなのかはよく知らない、みたいな。
一つ確実に「分かった」と胸を張って言えることは、
分からないことは、調べればいい。
分かる人に、聞けばいい。
ってことですかね。
受かってなかったとしても、もう受けないかもしれませんね。
はぁ…10万欲しいなぁ…
以上で終わりです。
最後まで読んでいただきありがとうございます。
お疲れ様でした。
anond:20160426124418 とanond:20160426145507 の続きだゾ。てか長えよ
(略:トークンが定期的に期限切れになるので可用性が下がる。たとえばビデオカメラから複数の動画をアップロードしている途中で切れたらムキーってなる。再認証して途中からできるのもそれはそれでCSRF の温床。AFCP のような場合は期限切れがあってはならないので、パスワード等を預かる認証プロキシのSaaSアプリを筆者は作った。好評だったが、これはもちろん本来あるべきでない欠陥のexploitのはず。)
(略: 個人ユーザ向けのAPI設計ばかりで、雇用者や上司がアカウントを管理するという観点がない。SAMLでは普通にできるのに、OAuthとなるとセキュリティ的に云々と言って拒むサービスばかり。別のUIで既にできてることをAPIにしても意味がない。これまでできなかったことをAPIで可能にするのではなく、単なるシングルサインオンでよければ他にある。実際Googleは個人向けにはOAuthを活用しているが、Google Apps for BusinessはOAuth以外のシステムを使っている。)
(略: 主要な設計ミスは、外部サービスすべてを同等に疑うところ。管理者が各サービスの信用性を判断して権限を調節できるようにしないところ。これまでどれほど多くの製品がOAuthの面倒さのために失敗してきたことか。)
ここまでで「普通の実装における」OAuth がまったくおかしいということはわかりましたが、OAuth が実際うまくいくのはどういうときでしょうか。
初期のOAuth 規格および概念におおよそ付き従っているシステムは一般的に言って、新しい規格ベースのよりもセキュアで、マシです。OAuth 1.0 の実装がすべてセキュアだというのではありませんが、たいてい問題は少ないです。こうしたシステムは通常、次のふたつのアプローチのどちらかに従っています:
とはいえ、このように設計されているOAuthベースのシステムはごくごく希少で、しかも一般的にこうしたシステムは、他のところで使われているOAuth とは似ても似つかぬものです。OAuth 1.0 規格の方に寄って頑張っていますが、公式には 1.0 は非推奨ですから、こうしたアプローチを使っているシステムはそのうち「アップデート」されてOAuth2.0 の概念や追加機能すべてを加えて再構築され、セキュリティやユーザビリティをだめにしてしまうことになります。これこそ筆者があらゆるOAuthベースのものを見逃したくない理由です。もっと古く、もっと機能的な形式のOAuth を使っていても、システムに「改善」が必要だという素敵な考えを管理者のだれかが閃いて台無しにしてしまうからです。ご迷惑をおかけしてすみませんと言うぐらいなら、まったく別のものを使うほうが良いですよね。
他に手はないかと探すとき、人々はよく他の「フレームワーク」にはどんなものがあるかを知ろうとします。しかし、考え抜かれたセキュアな設計を実現するためには必ずしもフレームワークが必要というわけではありません。現状、OAuth とはどのようなものかについての意見はサービスごとに異なっていますので、承認の具体的な動作の仕組みもまったく一定ではありません。そんな中でフレームワークを探しまわるのは、簡単にできることをいたずらに複雑化しているだけのことが多いです。唯一ほんとうに難しい要素、しっかりした規格の必要な要素は、使用する鍵パラメータの改竄を防ぐため変数に署名する方法だけであり、この点に関して、ほとんどのOAuthベースの実装は一切何もしてくれません。
ウェブサービスの最大手であるAmazon は、世界中の企業にサービスを提供する一流プロバイダで、合計 30% 以上という途方もない市場シェアは他者を圧倒しています。Amazon のアプローチは、自分でアプリの認証情報を生成できるコントロールパネルへのアクセスを、すべてのアカウントおよびアカウント管理者に提供することです。この認証情報で、どのAmazonサービスで作業できるか、そのサービスでどの操作を実行できるか、どの権限で作業しなければいけないかを指定できます。この認証情報は必要に応じて「アカウントホルダ」の人が破棄することもできます。
Amazon のAPI における認証や承認技術には、本質的に制限が多く潜在的に危険性のあるリダイレクトを一切必要としません。Amazon のプロトコルで認証情報は、直接送ることは一切なく、データの署名に使うのであって、これでブラウザを通してパラメータを送る必要のあるときにも改竄不可能にすることができるのです。
Amazon の設計はアカウントの利用状況をAPI の利用まで適切に把握できますし、API の認証も承認もすべてAmazon 側からスタートし、その際のアプリ認証情報も「Amazon の」コントロールパネルから生成されます。この認証情報はその後、いかなるトークン交換システムも使わず直接APIプロセスで使われます。この設計なら「普通の実装における」OAuth が達成している真のセキュリティ目標をすべて達成し、かつ前述したセキュリティ上およびユーザビリティ上の問題をすべて回避しています。
ひとつ言及せざるをえない短所は、Amazon の権限システムが幾分わかりにくく、あまりユーザに優しくないということです。ただし、このことは何故かほとんどのコントロールパネルにも言えることで、いずれにせよUI設計の問題であって、承認プロセス自体の失点ではありません。さらに、Amazon のコントロールパネルはかなりキビキビ使えて、それ自体のAPI でも使えます。この点たとえばGoogle の場合のように、筆者の知る限りメタAPI もなく、何をするにも何十もの手順が必要なのとは大違いです。
Amazon の認証および承認メソッドは他のサービスプロバイダにも幾つかコピーされています。Google自身も企業向け製品の一部でこれを利用できるようにしています。Google自身、純粋なOAuth設計は企業サービスに向いていないことを認めており、企業サービスにはJSONWeb Tokens (JWT) の利用を推奨しています。
JWT はサービス間のSSO やAPI 利用を可能にする規格です。多くの点で JWT はSAML に似ていますが、SAML はややこしくて、XML Security (名前と違って、まったくセキュアではない) の上に構築され、API 利用に向いていないのに比べ、JWT はSAML の主要な目標を、単純かつ使いやすい方法で一切の面倒なく達成しています。HMAC実装をひとつ用意し、JSON の構築と解析の方法を知っておけば JWT は使えます。既製品をお求めでしたら、膨大な JWTライブラリが既に存在していますよ。
ただGoogle の場合、典型的な JWT 利用法よりも高度で、HMAC のかわりに、もっと高度ですがこの分野では人気の低いRSAデジタル署名を利用するよう要求しています。Google のコントロールパネルではアカウント管理者が自分の企業サービス用に新しい鍵ペアを生成でき、APIログインを署名するために使う秘密鍵をダウンロードできます。こちらのほうが HMAC よりセキュリティは高いですが、Google はプロセス全体を本当に無駄に複雑化しています。コントロールパネルをしょっちゅう完全に再設計して、前と同じことをしたいのに使い方が違っていて混乱する点は言うまでもありません。JWT 利用の実例が必要なら他をあたるようお勧めします。
他に使われている技術は、サードパーティがどんな権限を必要としているかをある種のXML やJSONファイルで定義してウェブサイトに送信できるようにするサービスのものです。ユーザがあるページを自分のアカウントで訪問し、ファイルのURL (あるいは中身) をそこに貼り付けると、その外部サービスあるいはアプリが求めている権限の一覧やそこに含まれる説明などが表示されるようになっています。それを見て認可したいと思うユーザは、認証情報を生成してそのサードパーティのアプリあるいはサービスに貼り付けます。ユーザは後で無効にしたくなったら認証情報を破棄することができます。これも、開発者におかしな負担を強いることなく、すべてのアカウントにAPIサービスがあり、権限管理を備え、サービス自体からフローが始まる、実にセキュアな設計です。
承認管理のためにサービス側から提供してもらう必要が本当にあるのは、適切な役職 (管理者やアカウント所有者など) を持つユーザが自分に割り当てられた権限や (望むなら) 期限を持つ認証情報をAPI 利用のために生成できる何らかのパネルだけです。こうした認証情報はその後、お好みのセキュアな認証システムを通して利用することができます。たとえばHTTPBasic AuthenticationoverHTTPS のような単純なもの、これは事実上どのHTTPライブラリにも入っていますし、HTTP Digest Authentication、これはもっとセキュアでありながらほとんどの良質なライブラリでサポートされていますし、その他 HMAC,RSA, 楕円関数など認証情報をネットに通す必要のない暗号学的テクノロジーを活用した認証プログラムに基づくものなら何でも使えます。特に HMAC は、承認や認証を実装するほとんどすべての人 (Amazon や、一部のOAuth実装も含む) によって既に使われています。
こういった種々の実績あるテクニックは、セキュアなプラットフォームを作るためにCSRF対策など複数のフレームワーク同士の相性を勉強する必要があるという重荷を軽くしてくれますし、一般的に、既存アーキテクチャにワンタッチで装着できるようなモジュール化の実装が可能です。ユーザやアプリの認証情報が盗まれる可能性をなくしてくれます。ややこしい CSPRNG を常に使用する必要もありません。このようなシステムはOAuth の生まれるずっと前から存在しており、現在でも一般的です。OAuth は、ユーザの認証情報を要求したり他に弱点があったりするような一部の劣悪な設計のシステムよりはセキュリティが良いかもしれませんが、既にある真の設計を置き換えるものではありません。OAuth が解決すると主張する問題点は実のところ、既存の良く設計されたシステムには存在していませんし、「普通の実装における」OAuth は実のところ、解決すると主張する問題の多くを招き入れるばかりか、最初は存在していなかった問題まで生じさせています。宣伝文句と違って、OAuth にすれば自然と驚くほどセキュアになるというわけではなく、むしろ数々の短所や実装の困難さを考えれば、他の考え抜かれた選択肢のほうがはるかに優れています。
これからサービス設計をしてAPIアクセスを提供することになっている方はどうか、ご自分が実現しようとなさっているのが何なのかを本当に考えてください。他の人がやっていることをコピーするだけで済ませたり宣伝を丸呑みしたりしないでください。どうしてもコピーしなければいけないなら、Amazon (これが最善です) や Rackspace,IBM SoftLayer,Linode, VULTR,Zoho,Zoom ほか、API の素直で健全な認証システムを構築する方法について現時点で多少なりとも理解のあるところをコピーするようにしてください。
2016 年4月 Insane Coder