20日にデジタル庁がリリースしたワクチン接種証明アプリが話題ですね。内容的にはSMART Health Cardの仕様に沿った証明データが出てきているという話だったので中身を紐解いてみようかと思います。何しろSMART Health Cardの中身はW3CのVerifiable Credentials(VC)なので。
ちなみに今年のWWDCで発表された通りiOS15のHealthアプリはSMART Health Cardをネイティブで扱えるようになっているので、実はこの接種証明アプリがなくても直接iPhoneのWalletに接種証明を入れることもできます。今はマイナンバーカードを使った本人確認〜接種証明の発行までをワンストップで実行させるには今回のようなアプリの形になっている方が扱いやすいとは思いますが、今回対象外になった自治体の住民や新旧の姓を併記にしているような方達はセルフサービスでの発行ではなく窓口等でQR発行〜iPhoneのWalletへの読み込みができるようになると便利だと思います。
先のFAQを見ると国内用と海外用があることがわかりますし、アプリを使うと国内用、海外用のどちらか、あるいは両方を発行することができます。国内用ではマイナンバーカードでの本人確認、海外用では加えてパスポートの確認が必要です。(ICAO用ですね。SMART Health Card版ではパスポート情報は不要なので)
今回はVerifiable Credentialsを採用しているSMART Health Cardを解いていこうと思うので、国内用、もしくは海外用でもSMART Health Card版(QRコードを出すところで「SHC」を選択)を使います。
Thank you. Hello I'd like to talk to you about digital transformation of a different kind than we normally discuss. The world, the technology world has certainly been full of discussion of digital transformation of the enterprise. But my thesis will be that when the enterprise changes the way it treats individuals. It creates a digital transformation for the individual, the lives of people change when the way enterprises treat them changes.
So in getting to that discussion I'd like to look at what we've actually achieved as identity professionals.
Well, really we’ve achieved some great things. We've satisfied all of the basic requirements of digital transformation in which enterprises redefine themselves to deal digitally with us as individuals. We've streamlined and we've professionalized the technology for distinguishing us. If you go back 10 years, that technology was really a catastrophe of amateurism and we have professionalized the way it is written, the way it is run and the way it appears. We've transitioned the world from raw authentication where only based on secrets to one where whether it be SAML or OpenID connect. We're talking about the transmission of claims. I will come back to that in a second but this is one of the most fundamental changes we've brought about. We've enabled a reliable identity dial tone for the internet and interoperability between diverse systems all of which was just a pipe dream 15 years ago. In addition we can even say we have increased dramatically the security of the internet in spite of all the work that remains to be done. I remember the day when we sat and talked about the fact that we needed to change our paradigm from attributes to claims. Attributes was the word for characteristics in a closed world of single enterprise and we realize that when you open the world and go between domains. It isn't simply a question of attributes, it's a question of who says what about whom. Attributes are spoken by an entity and you must decide whether you actually believe that entity. In other words that's where we came to the concept of claims where claims are attributes that are in doubt and you need technology to decide what you trust for which purposes. This was a fantastic change in technology without which we couldn't have moved out into an actual internet identity we would have been stuck with this prison of the individual enterprise. So I don't say all of this to puff us up and make us overly proud of ourselves. I say this to remind us all that we can do really difficult and almost unthinkable things. Claims which the notion of claims began as something which was almost impossible to explain and now the entire world bases its technology on the concept of claims of assertions that are in doubt. So we were able to transform technology on a scale that was unimaginable if you at the time. And the reason I say this is because we must bear in mind that we can do that again, we can do that now. We mustn't look at the current state of technology and say that's what it is. Our role as professionals is to actually go beyond that.
So at the same time that we congratulate ourselves let's look at how we failed.
We’ve failed to recognize that the digital transformation of enterprise created the digital transformation of individual people and we left them really in a situation of chaos. You know the thing about this is we haven't seen the fact that when all of the enterprise's digitalize then the individual faces a new problem of scale. Instead of having to deal with one enterprise or five enterprises of 20 enterprises they have to deal with hundreds and I would say thousands at this point. In addition it isn't simply a scale in terms of the number it's the question of intensity. And by intensity I mean the frequency of dealing with the services and the immersiveness of the relationship with the services. So this is a change which is really significant and further despite the hopes of the telcos who I love of course. The fact remains that people will require multiple different devices in order as it come more intensive and we're using devices in more parts of our lives for more things we need more kinds of devices and we need multiple devices and we all have Alexas now and we all have tablets and we have phones so there's not one single device and this is our we have devices in our cars and devices are propagating. And we've left people in a world where all the technology is device-specific and there is no interoperability between devices really because of the control of the operating system of the device manufacturers. And lastly well of course we have left people with all the problems of privacy and profiling and we have created a need for technological longevity and this may be one of the most difficult problems. In other words you don't just have a device you have a device that one day a terrible thing happens and you have to move to a you have to upgrade to a new device or you lose your device or whatever. So there's longevity in terms of as more is concentrated in the device the need to be able to move the device to other devices becomes greater and we have no answer for this. And similarly we have no answers to help people cope with changing service providers. When one service provider begins to disappoint us or fail us or betray us, how do we transfer our digital life to another service provider? And finally there's the problem of accommodating aging. I speak with experience about what happens when one's memory begins to fade. All of our technology depends on remembering passwords. So basically you are cut from the digital world just through the process of aging and at the point of death the process of inheritance in the digital world of your digital assets is just a chaos.
So let me ask if we've been so clever about all the things we've achieved, how could we fail in so many ways. I would say the reason is because the problems of the personal digital transformation are very gradual and they grow very very slowly. You know you don't get all of your thousands of relationships in one day. You don't have the need for multiple devices all of a sudden everything is very gradual. It's like the lobster who is putting cold water in and the water is heated slowly and the lobster doesn't complain until it's too late. This gradualness has allowed us to escape the recognition that at a certain point. That change in quantity will become a change in quality and becomes something which really causes deep social resistance.
So I have the thesis that PDT(Personal Digital Transformation)’s gradual changes are eventually making our systems usable. And that our organizations do not understand the coming social disjuncture. That is implicit in personal digital transformation. I also think that only those of us who have expertise in identity have the ability to perceive the underlying dynamics and to sound the warning bell and to adjust course within our enterprises. Only we can take the leadership recognizing and addressing the emergent realities.
Now you know in the physical world people have been expertly handling human identity for many millennia. But there has been no attempt to replicate those abilities in the digital world. The creators of digital services we the enterprises and governments have scoped our efforts to solving our own problems as enterprises. And forgetting about the requirements really of the individuals as long as they could cope incrementally with what we were dishing out to them. So the systems that we build cause rather than solve the problems of the personal digital transformation. Because they have been one-sidedly built solely from the point of view of the enterprise. So my thesis is that personal digital transformation requires us to transpose human identity in all of its brilliance and subtlety into the digital world.
Now if you look at let's look at the pattern by which digital reality has been created. I propose that what has happened is that things begin with a deep understanding of a phenomenon. Then there is innovation in order to bring about what I called transposition by transposing. It's like in music where you move from one key to another key. And here this is moving from one part of reality physical to another part of reality digital. And this pattern leads to a holistic digital equivalent. So if we think about digital audio.
People, scientists had a very good understanding of what audio was. They knew audio was a form of sound waves. And the innovation was to take those waves and sample them to see different amplitudes and then be able to say okay we can express those amplitudes as digital data and produce a holistic equivalent of the sound so that the process could be reversed to create the digital audio. And so now the end result is 50 million songs for $9.95 a month from Amazon. I mean this is a fundamental thing that was done through a holistic approach to solving the transposition problem.
But if you look at the rest of the internet this problem of transposition has been solved in a similar way. Let's take the case of just digital banking. It began with people who had a deep understanding of the phenomenon of banking, then analysts came in and understood the processes and the aspects and the things that had to be replicated. And then innovators built the visual experiences that allowed this to be used by millions and hundreds of millions and billions of people.
So what about digital identity? Where are the experts in what human identity has been for these thousands of years? Who are they? What is the invitation? What is innovation? Where's the transposition? What's the holistic digital equivalent?
Basically I have been looking at this for almost 50 years. It is impossible to find an equivalent in terms of scientists or sociologists or psychiatrists. The only thing that has been studied really is basically identification in other words for example the way that governments have handled identity you know during the last hundreds of years. And not only that when on the internet when you read about identity you read all kinds of things when you read about digital identity. And basically people just make up words and use them in ways that they just pull them out of the sky. So I believe we have to realize there are tools that can help us. One of them is in English and I'm curious to know if there are similar tools that can help us in Japanese culture, Chinese culture and other cultures. But the European because you say the whole notion of identity, it actually comes from French. So it isn't simply English, it's sort of the European experience that has been studied, and in great detail by the Oxford English Dictionary.
You may not know that dictionary, because you are not that involved in studying the details of English Origins. But you actually have not only the definition, but the uses of these words throughout time since they were first recorded in writing. And so you really can have an understanding if you look up something like identity there is great wisdom in what is expressed. I'm going to leave this with my slides but these notions that are really the essence of the Oxford English Dictionary definition are hugely accurate and important and worth reading and I would love you to share other things from your culture that would lead us to greater insights.
But I have actually distilled this my reading of the dictionary into two concepts one is selfness and one is who-ness. So selfness is the sameness of the person, the thing at all times, the condition of being a single thing, the fact that a person is itself and not something else. That's the self and selfness. Who-ness is what is said about people, the characteristics of the person, the ability to recognize the person. And I called this selfness and who-ness and somebody may think gee Kim you just said you shouldn't make up words now you're making up words but the words. Selfness originated in 1574. And the word who-ness originated in 1611. People have been thinking about these problems for a really long time.
So to make it simpler, selfness is the aggregate of all the attributes and experiences of a person through their life. Who-ness is what you share in individual relationships.
Perhaps the most important concept is that this aggregate is never visible in the physical world. To the people in your relationships they never see the whole, only you, only the self has a visibility on to all that has happened, but it has that visibility and that is fundamental to the way it exists. Privacy is the fact that the who-ness are not convertible into selfness, all right and that's what creates the distinction you know our own individuality is distinct.
So now I imagine you’re asking, okay but how do these concepts map onto current digital technology.
Well, the truth is digital identification which is what we have. We don't have digital identity yet , we have digital identification so far. Which is the who-ness from the point of view of enterprises and governments. We actually have made some progress in who-ness and that's what we've achieved as I discussed at the beginning of this presentation. But there's virtually zilch you know zero in terms of technology for selfness.
So to solve the problems of personal digital transformation, we have in order to do an MVP for digital transformation. We need massive new construction in order to build technology for selfness and we need major renovation so that who-ness can be made compatible with selfness.
Selfness is technology, you know basically the self needs its own technology just as we've automated the enterprise we haven’t automated the self and you know Ian spoke about this in terms of his concepts like active clients and so on. We need to be able to remember and manage our relationships. We need digital technology to do that for us. We need to have digital technology that handles the problem of recognition without our consciousness just as happens in this world in the physical world. We aren't conscious of meeting each other and this is an identity relationship it's simply an identity relationship. Our technology must do the same and provide this recognition layer. We must be able to move between devices from any manufacturer and use new devices without perceiving any change. And I will assert that regardless of what the device manufacturers want to do, the need to do these things as so significant that there will be social and governmental intervention in order to make just as there was around privacy in order to solve these problems of having a self across multiple devices without being prisoners of powerful corporations, and so on. We need to be able to use the services to fill in its memory to fill in the self’s memory as people age. The services can guide them and take over the problem, automate the problems of aging so that they can continue to be part of their digital world. And the digital world at the digital who-ness must evolve in the sense that we have to separate the problem of recognition of ID from the problem of characteristics of claims. So that we don't have to be conscious of all of the ID work and can achieve a world similar to the physical world.
Now to bring this down to something concrete with respect to current technology. In who-ness we need to separate the layers and and I was so pleased I was at the OpenID (Foundation) Japan meeting today and the the leaders of OpenID (Foundation Japan) are perfectly aware of this problem and are working two separate the problem of recognition and distinct impression from the problem of characteristics by splitting up ID technology from the actual claims provider technology. And we have these things. We have many initiatives here DIDs, OpenID SIOP and FIDO2. Any characteristics, we have two phenomena, one is verified credentials and one is aggregated and distributed claims. Now the important thing here is that we not unleash 10 different technologies on the people who are already victims of the personal digital transformation. So between us we as technical people must ensure the convergence of these technologies. So that they're interoperable with each other ,for example a key recognition that is that I can have when I'm using OpenID and recognition I can have when I'm using FIDO those should be once it's established in one it should be established in the other and it should automatically be because it's part of the self be shared between those different ways of doing who-ness. In terms of selfness we have been one I think an important innovation which is this notion of authenticators. The authenticators, Google has done a very good job actually of initiating this notion of authenticator. Google has done an excellent job here, but this is all very very primitive and as Ian pointed out we need to have much more advanced technology for the self.
So I'll just give my conclusions. A bullet train is headed straight for us in the form of personal digital transformation. We need to see it coming and get out of its way by evolving a holistic digital identity. OIDC which you're here to celebrate today the most promised I think it's undoubtedly the most promising deployed identification technology should be triaged and is being triaged to determine how it can fit into holistic digital identity. Then self sovereign identity, OpenID Connect SIOP and FIDO should be rethought so they fit together to solve the problems of the personal digital transformation. Otherwise they'll just make things worse, wasting everyone's time and money. This requires a great deal of careful thought. I have some examples but I've gone on too long so I'll leave the examples for people who would like to look at the slides later. So thank you very much.
そこで私は、PDT(Personal Digital Transformation)の緩やかな変化によって、最終的にはシステムが使えるようになるのではないか、という仮説を立てました。そして、私たちの組織は、来るべき社会的断絶を理解していません。それがパーソナル・デジタル・トランスフォーメーションの暗黙の了解です。また、アイデンティティに関する専門知識を持っている私たちだけが、根底にあるダイナミクスを察知し、警鐘を鳴らし、企業内で軌道修正することができると思います。私たちだけが、出現した現実を認識し、それに対処するためのリーダーシップをとることができるのです。
LINE Security R&DチームがFIDO2認証標準を実装したFIDO2 ServerをOSSとして公開しました。 FIDO2-Serverは、FIDO2の登録と認証の主要部分を提供します。さまざまなWebブラウザとOSプラットフォーム、および生体認証をサポートします。#fido2#LINE_OSShttps://t.co/o4EhxpyWAi
# Start RP Server
cd rpserver
./gradlew bootRun
# Start FIDO2 Server or Line-fido2-spring-boot Demo
cd server
./gradlew bootRun
cd spring-boot-starter/line-fido2-spring-boot-demo
./gradlew bootRun
Apple ID サポートは2年くらい前にカスタムポリシーで実装してたやつですね。その後 Private Preview で一部では提供されていたので私も評価していたんですが、しばらく前に全面的にリニューアルされて出てきました。ただ、個人的には iOS も最近は Platform Authenticator としてつかえるので Apple ID としてサポートするよりも FIDO として実装しちゃった方がいいじゃないかな?と思ってます。(仕事で Azure AD B2C のデプロイする場合は FIDO でやっちゃってます)
かっちりした開発をする場合はちゃんとアプリケーション側でエラーハンドリングをするのが正解だとは思いますが、アプリ側に手が入れにくい場合などある程度Azure AD B2C側でエラー画面を出して処理を止めたい場合もあります。こういう時に使うのがUserJourneyBehaviorsに定義するOnError Modeです。
とりうるパラメータと振る舞いは以下の通りです。
DisplayInService:Azure AD B2Cのフローの中でエラーメッセージを表示して処理を止める
ご存知の通り、Azure AD B2Cには実体となっているAzure ADが存在します。ポータルからAzure AD B2Cを立ち上げると、別のテナントが開き、その中でAzure AD B2Cの管理を行う、という形になります。この別テナントにもAzure ADが存在しているので、Azure AD B2Cの管理画面からテナントを変えずにAzure Portalのホームへ遷移、改めてAzure ADの管理メニューを開くと実体の管理ができるようになります。(分かりにくいですね)
そのテナントは通常のAzure ADなのでカスタムドメインを追加することができます。
ここで普通にカスタムドメインを追加し、ドメインの所有権の確認を行います。
これで第1段階はOKです。
2. Azure Front Doorを作り、b2clogin.comへ振り分け設定をする
次はAzure Front Doorを作って構成します。
Azure Front Doorは単純なエッジで動くレイヤ7のフロントサービスで、SSLのオフロードなどを含め高スケーラビリティなWebアプリをデプロイするのに役に立つサービスです。
必要な設定は、
フロントエンド設定(リクエストを受けるドメイン)
バックエンド(振り分け先となるWebアプリケーション)
振り分けルール(パスやポートなど、バックエンドへの振り分け条件の設定)
の3種類です。
まずはフロントエンドです。この段階では適当な名前でAzure Front Doorドメイン(azurefd.net)上の名前を定義します。※どっちみち後でカスタムドメインをつけるので適当でOK、っていうことです。
次にバックエンドです。今回はAzure AD B2Cがバックエンドとなりますので、カスタムドメインを使いたいAzure AD B2Cのテナントドメイン名(xxx.b2clogin.com)を設定します。
最後が振り分けルールです。
ここでは特に考えずにフロントとバックエンドをストレートにマッピングしておきます。
ここもカスタムドメインを追加した後でちゃんと設定しますので仮でOKです。
これでAzure Front Doorの基本設定は完了です。
3. Azure Front Doorにカスタムドメインを設定する
次はAzure Front Doorにもカスタムドメインを設定します。ここで設定するドメインは先にAzure ADに設定したドメインと同じものを使う必要があります。
(ちなみに、Azure AD B2Cで構成しようとするとwell-knownまでのパスが深すぎてMATTR側でInternal Server Errorが出ます。リバプロなどでAzure AD B2Cをカスタムドメイン化して動かしてあげる必要があります。これは別のポストで今後紹介していこうと思います)
Auth0は普段使っているテナントがそのまま使えるので特に問題はありません。
やるべきことは、
アプリケーション(Client)を作成する
ユーザに発行すべきcredentialの型と値を属性として持たせる
の2点だけです。
まずはアプリケーション登録ですが、通常のRegular Web Applicationとしてクライアント定義をしていきます。