分散型ID認証サービス
通信キャリアの統合アカウント認証にブロックチェーン台帳を試験的に組み込んだ分散型本人認証サービスで、アプリ側の認証フローを作りました。中央サーバーが本人情報を管理していた構造を、ブロックチェーンによる検証に置き換えてみる試行事業でした。認証要求から検証結果まで、アプリ、サーバー、ブロックチェーン台帳がかみ合っているため、どこか一か所の処理状態がアプリの画面とずれると、ユーザーは認証が終わったのか分かりません。アプリは別の開発者と機能を分けて共同で作り、サーバー開発者と連携箇所を調整しました。
中央サーバーの代わりにブロックチェーン台帳で確かめる本人情報
通信キャリアの統合アカウント認証サービスにブロックチェーン台帳を試験導入する事業で、認証フローとブロックチェーン台帳をつなぐアプリ機能を実装しました。分散型ID認証では、一社のデータベースが単独で身元を保証するのではなく、改ざんの難しいブロックチェーン台帳の記録と公開鍵署名で検証します。ユーザーの本人情報と認証状態がブロックチェーンによる検証の流れと結び付くよう、アプリ側の処理構造を組みました。分散型ID(DID)という言葉が広く使われる前に、中央管理の代わりに分散構造で本人を確認する方式を試した試行事業でした。

認証要求から検証結果までアプリが示す段階
分散型本人認証アプリでは、ユーザーが認証を要求し、検証結果を確認します。その間のブロックチェーンの処理状態とサーバー応答をアプリの状態に結び付け、ユーザーが認証の進み具合と結果を画面で確かめられるようにしました。中央サーバー中心の認証とは異なる分散型の構造を、アプリの画面とロジックの両方に反映しました。

公開鍵と署名で検証できる形につながる認証情報
分散型本人認証アプリでは、認証情報が単に送られて終わるのではなく、検証できる状態につながるよう、公開鍵ベースの構造でアプリのロジックを組みました。非対称鍵、署名、認証状態の検証のようにセキュリティに関わるロジックには、以前の生体認証プロジェクトで扱った公開鍵ベースの認証の経験を生かしました。このアプリのロジックは、サーバーとブロックチェーンの連携の流れに合わせて設計しました。

アプリ・サーバー・台帳がかみ合う箇所の共同調整
ブロックチェーン本人認証サービスは、サーバーの比重が大きい構造でした。サーバー開発者と、ブロックチェーン台帳の連携、認証の要求・応答、エラー状態の処理のように、アプリとサーバーがかみ合う箇所を一緒に調整しました。アプリはもう一方のプラットフォームの開発者と機能を分けて共同開発し、プラットフォームが違っても同じ認証ポリシーとユーザーの流れになるよう仕様を合わせました。

この仕事のポイント
認証要求から検証結果の確認までつながる分散型本人認証フロー
ブロックチェーンの処理状態とサーバー応答をアプリの状態へ移す連携
公開鍵・署名ベースのセキュリティロジックと認証状態の検証
インサイト
GA4 client_storage: 'none'은 정말 쿠키를 막을까?
두 달 전 이 블로그에 「GA4 쿠키 없이 쓰기」라는 글을 썼습니다. clientstorage: 'none' 으로 쿠키 저장을 끄고, 자체 분석이 쓰던 익명 ID 를 clientid 로 넘기면 쿠키 0개로 GA4 를 쓸 수 있다는 내…
GA4 Measurement Protocol: gtag.js 없이 서버에서 이벤트 보내기
랜딩 페이지의 전송량을 파일 단위로 쪼개 보다가, 가장 큰 파일이 우리 코드가 아니라는 것을 알았습니다. Google Analytics 의 gtag.js 였고, 방문 한 번에 176KB 를 받고 있었습니다. 페이지 전체가 1,094K…
중소 제조업 AI 도입 순서: DX를 먼저 끝내야 할까?
공장을 가진 중소·중견 제조기업 16만여 곳 가운데 스마트공장을 도입한 곳은 19.5%입니다. 회사가 작을수록 이 비율은 더 떨어집니다. 중소벤처기업부가 2025년 4월에 낸 제1차 스마트제조혁신 실태조사 결과입니다. 그림: 기업 규…
Next.js loading.tsx와 404: 버튼이 화면보다 먼저 살아나게 하기
관리 화면 왼쪽 위에 사이드바를 접고 펴는 ☰ 버튼이 있습니다. 폭 하나 바꾸는 버튼인데, 대시보드에서 누르면 2초 넘게 아무 반응이 없었습니다. 레이아웃만 바꾸는 일이 왜 이렇게 오래 걸리는지부터 들여다봤습니다. Next.js 16…



