05 ユニバーサルスタンダード Universal Standard 05
著作権はあります。
管理者権限
1. 管理者権限の基本設計
このシステムでは、全員が同じ権限を持つのではなく、「3つの役割(権限)」に分けて管理します。
システム管理者 (Root Admin): アプリ自体のシステム管理(オープンソース開発チームなど)。
組織管理者 (Issuer / 発行体): 企業、学校、国、国家資格の発行所。所属や資格の正当性を証明・発行する権限を持つ。
一般ユーザー (Holder / 保持者): 南凪大神様や世界中の人々。自分のQRコードを提示して身分を証明する。
2. Pythonでの権限管理・実装コード(プロトタイプ)
組織(企業や国)がユーザーに対して「資格や所属」を安全に登録し、一般ユーザーがそれを勝手に書き換えられないようにする管理者権限の基本プログラムです。
python
import hashlib
import json
import time
class GlobalIDSystem:
def __init__(self):
# 組織管理者(発行元)のデータベース
self.authorized_issuers = {
"GOV-001": "日本国政府",
"UNIV-777": "オタクの神様育成大学",
"CORP-999": "南凪グローバルシステムズ"
}
# ユーザーのデジタル名刺・資格記録
self.user_registry = {}
def register_credential(self, issuer_id, user_id, user_name, credential_name):
"""
【組織管理者権限】資格や所属をユーザーのIDに登録する
"""
# 1. 権限チェック(登録しようとしている組織が、正規の管理者か確認)
if issuer_id not in self.authorized_issuers:
return "【エラー】アクセス拒否:あなたには資格を発行する管理者権限がありません。"
issuer_name = self.authorized_issuers[issuer_id]
# 2. 改ざん防止のためのデジタル署名(ハッシュ値)の作成
timestamp = str(time.time())
data_string = f"{user_id}{credential_name}{issuer_id}{timestamp}"
digital_signature = hashlib.sha256(data_string.encode()).hexdigest()
# 3. ユーザーのデータを作成・更新
if user_id not in self.user_registry:
self.user_registry[user_id] = {
"name": user_name,
"credentials": []
}
# 資格の追加
self.user_registry[user_id]["credentials"].append({
"credential": credential_name,
"issued_by": issuer_name,
"timestamp": timestamp,
"signature": digital_signature # これがあるためユーザーは嘘をつけない
})
return f"【成功】{issuer_name} の権限により、{user_name} さんに「{credential_name}」を登録しました。"
def generate_qr_data(self, user_id):
"""
【ユーザー権限】自分のQRコード用データを生成する
"""
if user_id not in self.user_registry:
return "ユーザーが見つかりません。"
# セキュリティのため、必要な情報だけをJSONにしてQRコードの元データにする
return json.dumps(self.user_registry[user_id], ensure_ascii=False, indent=2)
# --- システムのテスト実行 ---
system = GlobalIDSystem()
print("--- 1. 正規の組織管理者(国)による資格登録 ---")
# 日本国政府(GOV-001)が、南凪大神さんに国家資格を登録
result1 = system.register_credential(
issuer_id="GOV-001",
user_id="user_minagi_001",
user_name="南凪大神",
credential_name="国家公認 IQ/EQ特別スペシャリスト"
)
print(result1)
print("\n--- 2. 権限のない不正な登録のブロック ---")
# 悪意ある第三者(HACKER-666)が、勝手に資格を捏造しようとした場合
result2 = system.register_credential(
issuer_id="HACKER-666",
user_id="user_minagi_001",
user_name="南凪大神",
credential_name="偽の管理者資格"
)
print(result2)
print("\n--- 3. 南凪大神さんのQRコード用デジタル名刺データの出力 ---")
qr_code_info = system.generate_qr_data("user_minagi_001")
print(qr_code_info)3. 世界普及(オープンコード)に向けた次のステップ
noteに書かれた、この管理者権限システムへさらに追加すべき機能をまとめました。
公開鍵暗号(ペア鍵)の導入: 組織管理者は「秘密鍵」で署名し、ユーザーのアプリは「公開鍵」でそれを検証します。これにより中央サーバーすら不要になります。
4桁ピンコードと暗号化: ユーザーのスマホ内蔵の安全な領域(Secure Enclaveなど)に、4桁の特別な日を鍵とした暗号化を施します。
IPFS(分散型ストレージ)との連携: 死後の「生きた記録(画像や日記)」を地球上の誰かが引き継いで保管し続けられるよう、サーバー不要の分散型保管システム(IPFS)をPythonで組み込みたい。
Dockerコンテナを使えば負担が軽くなるよね?
新しい技術ある?
だったらそれを使おう。
そこまでは専門外です。わからないです。
指紋認証ではダメ。
意識を奪われたり、静かに殺される危険がある。
指を斬られたりする可能性がある。
危ない。
そもそも、両手がない人はどうするの?
親しい家族がいれば、恥ずかしい記録を消してもらえるかもよ?
でも、その恥ずかしい記憶も誰かにとっては愛おしいかもよ?
ここまでやったんだ。
金をむしり取って、ユニバーサルスタンダードを作ろうじゃないか。
