DNA親子鑑定と遺伝子診断の結果を晒すことについて

このツイートを見て、

こうツイートしたら、「DNAの複製にはエラーがあるからハッシュでは無理」「そもそも交叉があるのでは」と言われた。そもそも、DNAでの親子鑑定が何を調べているのかも知らなかったので、整理する。DNAを秘匿したまま親子関係を証明する方法はあるのだろうか?

参考文献

http://www.rocus.co.jp/faq/faq.htm

DNA親子鑑定をしている会社のFAQ。値段とか「裁判でも使えます」とかのアピールはどこの会社も書いているけど、原理などがあまり書かれていない。このサイトには詳しく書かれていた。

以前に買った本。書名と表紙を見て、簡単に書かれている薄い本かと思いきや、けっこう厚いし詳しく書かれていた。オススメ。

DNA親子鑑定の原理

人間の細胞の中には46本のDNA(≒染色体)があって、2本ずつ対になっている。この「対になっている」というのは、DNAが二本鎖の螺旋というのとはまた別。DNAの二本鎖はAとT、GとCが対になると決まっているので、情報量は無いし、この先の話にも関係が無い。精子卵子は、この対になった染色体のどちらか一方のみを持っている。子供は両親の染色体を1本ずつ持っているので、そのことを確認すれば、親子鑑定ができる。

他方の親の親子関係が確定していて、そのDNAも使えると、精度があがるらしい。面白い。

DNA親子鑑定で調べているもの

10年前くらいに、「ヒトのDNAの全ての塩基配列の解析ができた」と話題になった。その頃ならばもの凄いコストが掛かっただろうけど、今は20万円くらいでできるらしい。

http://gene-nex.com/

とはいえ、それでも全塩基配列は高い。Wikipediaによると、STR(Short tandem repeat)という部分を調べるとのこと。DNAの中には同じ塩基配列が何度も繰り返される部分が多くあって、この繰り返し数は(数千年、数万年というスケールでは)比較的変化しやすい。変化しやすいといっても、人類全体で数十種類という程度。Wikipediaの「アリル」というのが染色体1本分。12種類の中から順番を無視して2個選ぶ場合の数は、たしかに78種類になる。ここで例に書かれている数字が繰り返し数だろうか?

DNA中のある塩基配列から別の塩基配列までの長さを調べるというのは、PCR法で簡単にできる。そういえば、大学の一般教養の実験にあった。調べたいDNAと、調べたい部分の両端の塩基配列を持ったDNAを溶液に入れて、熱したり冷ましたりを繰り返すと、調べたい部分だけが大量に複製される。あとはこれをゼリーの端入れて電気泳動すると、長さに対応した部分にバンドが見える。

DNAを非公開にした親子鑑定

既存のDNA親子鑑定に乗っかるならば、結局何ができれば良いかというと、「各人はDNAの場所ごとに数十種類のパターンの中から2個のパターンを持っている。親と思われる人と、子と思われる人で、2個のパターンが1個も共通していない場所が少なくとも1個はあるか?」という問いに答えること。何か上手いアルゴリズムはあるだろうか?

2個のパターンは順不同でしか得られない。各染色体はランダムに選ばれるし、たとえ同じ染色体であっても、交叉によって途中で入れ替わることはわりと頻繁にあるらしい。なので、私がツイートしたような方法は使えない。

Wikipediaの「組み合わせ50億通り」というのは、親子鑑定の精度としては充分かもしれないが、ハッシュの逆算に耐えるには少なすぎるので、ハッシュみたいな方法で非公開を担保するなら、調べる場所は増やす必要がありそう。

この調べている部分はたぶん遺伝子ではないので、そもそも公開しても体質や遺伝病がバレる不利益は無いのではと思ったけど、全く別の場所で採取されたDNAが自分のものかどうかを調べることに流用されたり、今回の親子鑑定とは別の親子鑑定に勝手に使われたりというリスクがあるのかもしれない。これらのリスクを考えると、ハッシュ化のような方法はそもそもダメそう。

親子鑑定において、DNAの複製エラーは全く考慮されないらしい。どこのサイトを見ても「親子であることは99%以上などの確率的に分かります。親子でないということは確実に分かります」と書いてある。DNAが子供に伝わるときに書き換わることを考慮しているならば、こういう書き方にはならない。DNAには様々な修正機能もあって、エラーは驚異的に低く抑えられている。1塩基あたり、10-10から10-11程度とのこと。たしかに、DNAの一部だけを見るなら無視できるほどに小さい。

親子鑑定をする人と、親子鑑定の結果を知りたい人の両方が信頼できる診断会社があるならば、「終わったら全部廃棄して」と言ってその会社に任せれば良いだけなので、実際にはそれぞれが別の会社に何かを依頼するはず。そのような状況だとそもそも相手が嘘を吐く可能性も考えないといけない。

実際にこれで何かをしようとしているわけではなくて、単なる思考実験なので、前提条件は何でも良いけど、何か暗号論的に面白い話はできるだろうか?

遺伝子診断

以前にMYCODEの遺伝子診断を受けたことがある。MYCODEの場合は病気のなりやすさや体質ごとに、その判断に使用した塩基が見られる。

f:id:kusano_k:20170320001540p:plain

※HTMLを書き換えて、乱数で決めた場所を「あなたの遺伝子型」にしたので、私の結果ではない(かもしれないし、私の結果かもしれない)。

これ、そのまま親子鑑定に使えそうだ。2個並んでいる塩基が、染色体対それぞれの塩基だと思う。「体脂肪率が○○なタイプです」からの逆算も当然できるはず。遺伝子診断結果を公開することのリスクとして、保険を断られたり会社をクビになったりということが良く言われるが、勝手に親子診断をされてしまうというリスクのほうが大きそう。MYCODEの場合は、「あなたは○○癌に日本人の平均より2倍なりやすい」程度で、遺伝子疾患などは調べていないので、前者のリスクはそんなに無さそう。

MYCODEの結果をそのまま他人に見せる人はいないだろうけど、「MYCODEを受けたら、体脂肪率が○○と言われた」くらいならうっかり言ってしまいそう。家族間でそんな話をしていると……((((((;゚Д゚))))))

BugBounty.jpの紹介

脆弱性"&'<<>\ Advent Calendar 2016の25日目の記事です。

https://bugbounty.jp/

脆弱性が金に変わる。すばらしい。

BugBounty.jpとは

スプラウト株式会社が運営する日本のバグ報奨金プラットフォーム。 海外だとHackerOneが有名。 プラットフォームなので、脆弱性を探される会社側は自分で報告フォームなどを用意する必要が無いし、探す側はどこの会社でも同じように報告できて楽。

報奨金をもらうまでの流れ

簡単。面倒な作業は無い。

ユーザー登録をして、

f:id:kusano_k:20161225181704p:plain:w480

募集中のプログラムの中から脆弱性を探す。 プログラムによって、対象となるドメインなどが決まっている。 見つけたら報告。 書くのは、名称(たぶん何でも良い)、種類、URL、内容だけ。 IPAに報告するよりも項目が少ない。

f:id:kusano_k:20161225181851p:plain:w480

脆弱性として認定されると、支払い情報が登録していない場合は「登録しろ」と言われるので、登録。海外の銀行口座でもpaypalでも良いらしい。

f:id:kusano_k:20161225182137p:plain:w480

あとは待っていれば、認定された翌月の末に口座に報奨金が振り込まれる?

利点

日本製ということ。

ユーザー登録から報奨金の受け取りまで、日本語だけで完結する。 脆弱性の報告も日本語でOK。

英語は得意な人ならば問題無いのだろうけど、海外からの金が振り込まれると銀行に手数料が取られる。 BugBounty.jpならば国内送金なのでその心配も無い。

Chrome Toolboxの脆弱性を見つけてGoogleから1000ドルもらった - kusano_kの日記

海外の人たちにあまり目を付けられていないので、ライバルが少ないというのも脆弱性を探す側にとってはメリット。 世界中の脆弱性を探す人たちに突っつかれまくったらとても残っていないような簡単な脆弱性があっさり見つかることもある。 BugBounty.jpは英語にも対応していて、海外のハッカーも参加することをアピールしているし、ランキングを見ると半分くらいは海外の人だけど。

欠点

参加している会社が少ない。増えてくれ?

修正完了後も脆弱性の内容を口外できない。 脆弱性"&'<<>\ Advent Calendarにあるような、「こんな脆弱性を報告して報奨金をもらった」という記事を書くことができない。

自分で発見したバグは自由に公開していいですか? 当サイトを通じて報告された情報の開示は一切禁止しております。詳しくは利用規約をご確認ください。

https://bugbounty.jp/faq

修正後に話題にしたいような面白い脆弱性だったら、BugBounty.jpを通さずに報告した方が良いのかもしれない(私は金に目がくらんでいるので、そうしたことはないけど)。 修正完了後か、修正完了後一定期間が経過したら、開示できるようにしほしいけれど、そうすると参加しようという企業が減ってしまうのかもしれない。

税金

報奨金の源泉徴収などはされないので、自分で税金を払う必要がある。 たぶん、一時所得かなぁ。 1年間で50万円を超えると課税対象。 20万円を超えたら、新たに税金が発生しなくても、確定申告が必要? 間違っていてマルサが来ても知りません。

探すコツ

そこまでしっかりしたサイトばかりというわけではないので、入力値をちょこちょこ弄っているだけで見つかることもある。

報奨金をもらえるのは最初に見つけた人だけなので、速さが重要。 発見された脆弱性がすぐに修正されるとは限らないので、せっかく見つけた脆弱性を報告してみたら、すでに他の人が報告していたということもありえる。 また、募集期間終了前でも、報告が多いと受付が一旦停止されることがある。 今はNETSEAがその状態。募集開始後2日で停止した。

2016/12/08 一時レポートの受付を停止いたします。 現在までに報告されたレポートについて精査が終了し次第、再開いたします。

https://bugbounty.jp/program/78b209154a40aa8b7d472836

ライバルが増えるのであまり言いたくないが、Twitter@BugBounty_jpをフォローするのがオススメ。 新たに募集を開始した会社があるとツイートされる。

そもそも脆弱性が無いサイトの脆弱性をいくら探しても無駄。 サイトによってセキュアさが異なるはずなので、「このサイトは作りが甘いな」と感じたら、そこをしつこく探すのが良いと思う。

無線LANルーターBUFFALO WXR-1750DHPの感想

1か月ほど前に、BUFFALOの無線LANルーターWXR-1750DHPを買った。アキヨドで13,800円。10%ポイント還元。

f:id:kusano_k:20161126055726j:plain:w480

これまでに使ってきたルーターは、10年以上前に買った有線のBBR-4MGと、その後買い換えた無線のWZR-HP-G301NH。 全部BUFFALO製。細々と不満はあるけど、ちゃんと動くし、同じメーカーのほうが慣れていて使いやすそう。

設定

誰かが、「ルーターの設定難しい。PCに詳しくない人はどうしているのだろう」とぼやいていた。 たしかに、繋いでブラウザを開いて、ルーターIPアドレスを開いて、PPPoEの設定を探して~は大変そう。 このルーターは、有線で繋いでブラウザを開くと、インターネットに繋がらない場合は(たぶんDNSを乗っ取って)ルーターの設定画面が開くようになっている。 「ISPから渡された紙に書いてあるパスワードなどを入力してください」という画面になる。 最近のルーターはこんななのか。すごい。

WZR-HP-G301NHもそうだったけど、1箇所設定を変える度に、設定を反映させるために数十秒待たされるのが面倒。 BBR-4MGは設定を変更して最後にまとめて再起動をする方式で、そちらのほうが良いのだけど、分かりづらいのか……。

ヘアピンNAT

NATループバックとも言う。 ルーターの内部にサーバーを立てたとき、ルーターの内部からもルーターの外部からと同じようにグローバルIPアドレスでアクセスできる。 ローカルIPアドレスに変えるなり、hostsに書くなりすれば良いのだけど、この機能があるとちょっと便利。 最初に使ったBBR-4MGにはこの機能があったので、普通はそういうものだと思っていた。 国内製のルーターだとこの機能はあまり付いていないらしい。 WZR-HP-G301NHにも無かった。 この機能が無いと、内部からグローバルIPアドレスを叩くと単にルーターにアクセスすることになる。

紹介ページには記載が無いけれど、WXR-1750DHPはヘアピンNATに対応している。 ファームウェアアップデート内容に記載がある。

●Ver.2.13 → Ver.2.21 [2014.7.2]
【新機能】
・NAT-Loopback機能に対応しました。
 [詳細設定]-[セキュリティー]-[ポート変換]に登録されたルール等に対し、LAN側からの通信でも外部からの通信でも、
 同じWAN側IPアドレスで通信することができるようになります。
 この機能はルーターモードでご利用時のみご利用いただけます。

ざっと見た感じ、外付けアンテナが付いている上位機種だと対応しているらしい。 気にしている人は気にしているのだから、もっとアピールすれば良いのに。 このために狭い自宅なのに、戸建て3階建て、マンション4LDK用の上位機種を買った。 特に問題無く使えた。 繋がらないなぁと悩んでいたけど、設定をミスってローカルIPアドレスが違っていただけだった。

IPv6

最近のルーターだしちゃんとIPv6に対応している。 これもISPで手続きをしてIPv6を有効にしたら、普通に使えた。 初めてIPv6を使ったけど、特に意識することはなくて、GoogleなどIPv6に対応しているサイトにはIPv6でアクセスするし、その他のIPv4のサイトもそのまま使える。 IPv6が使えても、踊っている亀が見られること以外にメリットは無さそうだけど。

ISPによってはIPv6を有効にすると、グローバルIPアドレスが割り当てられなくなる?

※ご注意ください!※
「v6プラス」では一部利用できないサービスがあります。
すでに利用中もしくは今後、サービスのご利用を予定している方は「v6プラス」はご利用いただけません。
BIGLOBEフォン
固定IPサービス
一部通信型ゲームなど、特定ポートを使用するサービス、または、複数のユーザでIPアドレスを共有すると利用できないサービス。
利用可能なポート番号、ポート数に制限があります。 外部へサーバ公開をお考えの方はご利用できません。
OP25Bブロックを実施しています。メール送信には587(サブミッションポート)を利用する必要があります。

https://support.biglobe.ne.jp/ipv6/

同じBIGLOBEだけど、私のプランでは、内部に立てているサーバーから外にアクセスするのも問題無かった。

ゲストポート

来客向けに、インターネットを提供する機能があった。 やたらと力が入っている。 自分で使うアクセスポイントとは別にアクセスポイントを立てられる。 無料Wi-Fiで良くあるパスワード無しで無線に接続して、ブラウザを開いたら認証画面が表示されるのでそこにパスワードを入れて~という設定ができる。 ネットワークは別になるので、自分で使っているネットワークには接続できない。 便利な人には便利そう。

設定画面へのログイン

設定画面へのログインパスワードをブラウザが記憶してくれない。 フォームに入力されたパスワードをそのままルーターに送信するのではなく、JavaScriptRSA暗号化してから送信していた。 HTTPSが使えない状況で、パスワードを平文で送信しないための苦肉の策だとは思うが、初期パスワードが password 変更するようにとも言われないし、そもそもゲストポート機能があるから信頼できない機器をネットワークに繋ぐことも無いのに、ここまでするか……。 とりあえず、開発者コンソールで handleSubmitOnClick=function(){} を実行したらChromeは記憶してくれた。

Pixivの「注目のタグ」の作品を見る方法

http://www.pixiv.net

f:id:kusano_k:20160807235608p:plain:w320

Pixivのトップページには「注目のタグ」という欄があって、こんな感じに綺麗な絵のサムネイルが並んでいる。気になる絵があって、作品のページに飛ぶことを期待してサムネイルをクリックすると、作品のページではなくタグのページに飛ばされる。表示されているのはサムネイルだけで、作品名も作者名も無いので、作品のページには辿り着けない。

プレミアム会員の場合

飛んだ先で、「人気順(すべての期間)」でソートすれば良い。上位に出てくる。人気順でソートする機能はプレミアム会員限定。タグは現在注目されているタグだけど、サムネイルはそんなことはないらしく、昔の作品も出てくるので、「すべての期間」を選ぶ必要がある。

f:id:kusano_k:20160807235202p:plain:w320

プレミアム会員ではない場合

サムネイルのURLから作品のIDが分かる。以下の説明はGoogle Chrome。サムネイルを右クリックして、「検証」をクリックすると、HTMLが表示される。選択されている行の後ろのほうの数字が作品のID。この作品の場合は50970709。

f:id:kusano_k:20160808000016p:plain

あとは、

http://www.pixiv.net/member_illust.php?mode=medium&illust_id=作品のID

に移動すれば良い。

Chrome拡張

タグのリンク先はそのままでサムネイルのリンク先を作品に差し替えるChrome拡張を作った。自分でも使ってみてなかなか便利だった。

Pixivの注目のタグのサムネイルのリンク先をサムネイルの作品にするChrome拡張 - Chrome ウェブストア

理由の推測

サムネイルをクリックしてもその作品のページに飛ばなくて、「なんだこの動作は?」と思ったが、この欄はあくまでタグを紹介する欄と考えると自然な動作なのかもしれない。文字だけでタグが並んでいると寂しいから、サムネイルを添えていると。

最初は人気順はプレミアム限定の機能だから、人気上位の作品に飛ばれると困るということなのかと考えたけど、それならば作品IDをURLに含むサムネイルは使わないでしょう。

マイナンバーカードのQRコードの(人力での)読み方

マイナンバーカードのQRコードを人力で読める人が多いとヤバいらしいので、人力で読むのがどの程度の難易度なのか試してみる。

このサイトにQRコードの作り方が載っているので、逆をやれば良い。

QRコードをつくってみる その1

「人力は面倒だけど、スマホのリーダーだと答えしか教えてくれないので、途中経過を知りたい」という場合には、このスクリプトが役に立つ。

waidotto/strong-qr-decoder: 強力なQRコードデコーダ

経緯

マイナンバーカードを身分証明書として使いたいけど、他人に見せるときにマイナンバーが見えてしまうと困るので、マイナンバーだけを隠すケースを国が配布した。ところが、マイナンバーカードにはマイナンバーがQRコードでも印字されていて、ケースはこのQRコードを隠さない。

国配布のケース、マイナンバーQRコード丸見え : 社会 : 読売新聞(YOMIURI ONLINE)

総務省曰く、

QR コードは、仮に目視しても記録されている情報がわかるものではなく、記録されているマイナンバーを不正に読み取るためには機器の使用が必要であり、このような行為は、カードケースを外そうとする行為と同程度に不自然であることが周囲から一目瞭然である

http://www.soumu.go.jp/main_content/000425732.pdf

「目で読める人がいっぱいいたらどうするの?」

QRコードの読み方

上記のサイトを見ると、QRコードを読むのはそうとう面倒に思えてくるが、作ることに比べるとかなり楽。複雑な数式が出てくる誤り訂正符号も考える必要が無い。誤り訂正符号は、元の符号の後ろに誤り訂正用の符号を追加するものなので、誤り無く読み取れるのならば、単に先頭を読むだけで良い。また、QRコードには英数字だけとか数字だけとかいくつかのモードがあるが、(おそらく)英数字モードしか使われていない。サイズが大きいと、データをいくつかに分けて混ぜ合わせるようなインタリーブ処理が必要になるけれど、小さいので不要。

私はマイナンバーカードを申請していないが、柏市のサイトに大きなマイナンバーカード裏面の画像があったので、これを読んでみる。

ペイントでドットを打って転写したのが↓のQRコード

f:id:kusano_k:20160626000213p:plain

この内、実際に読む必要があるのは、赤枠で囲った部分。左側の3画素と、右側の77画素。

f:id:kusano_k:20160626161254p:plain

例えば、0を多く含むようなデータを素直にQRコードにすると、全体が白くなってしまう。それでは読み取りに困るらしく、データを並べた後にルールに従って画素を反転するという処理がある。これに使われるマスクは8種類あって、どれを使ったかが左の3画素に書かれている。左から読んで、101とxorをする。このQRコードでは、000なのでxorをして101。5番目のマスクを使う。マスクの一覧は下の通り。青い画素はそのままで赤い画素を反転させる。マスク情報のところにはxorを取る前の画素を書いている。

f:id:kusano_k:20160626002853p:plain

5番のマスクでxorを掛けたQRコードは次のようになる。

f:id:kusano_k:20160626005059p:plain

この画像から01を読んでいく。読んでいく順番が分かりづらいが、右下から順に右左右左と2列で上に向かって読んでいく。上に達したら左にずれて同じく2列ずつ下に読んでいく。

f:id:kusano_k:20160626002721p:plain

マイナンバーのQRコードでは、数字を振った7個のコード語を読む。1個11bit。ちなみに、右下の4bitはモードを表わしていて、マイナンバーの場合は英数字なので常に0010になるはず。次の9bitはデータ長でマイナンバーの場合は14桁なので常に000001110。「マイナンバーは数字12桁では?」と疑問だったが、4桁ごとに空白が入って英数字14桁だった。

f:id:kusano_k:20160626005111p:plain

コード語は、

  • 00000101111
  • 00010001011
  • 11001011001
  • 00100010101
  • 00110001100
  • 00110010101
  • 00000101111

これを45で割って、商と余りに分ける。例えば最初の00000101111は47なので、商が1で余りが2。同様に他のコード語も計算していくと、

  • 1, 2
  • 3, 4
  • 36, 5
  • 6, 7
  • 8, 36
  • 9, 0
  • 1, 2

あとはこの数列を英数字に直すだけ。マイナンバーの場合は数字と空白のみなので簡単で、数字はそのまま、36を空白に直す。

1234 5678 9012

結論

これを暗算は無理でしょ……。スマホで盗撮するほうが楽。

マイナンバーは個人を識別するための番号で、今までだったらその役割は氏名と生年月日のペアなどだったと考えると、そこまで厳重に守る必要はあるのだろうか……。

追記

別にデコードまでする必要は無くて、単に白黒を覚えるだけで良いのかもしれない。

右下のあたりを塗りつぶせば……。捕まっても知りません。

論理学で矛盾からは任意の命題が導出できることの証明

1≠2かつ1=2ならば、P≠NPが証明できる」みたいな話*1

「矛盾(A∧¬A)からは何でも導ける(A∧¬A⇒B)」「あれ、A∧¬A⇔Fだから、F⇒Bとなって、F⇒B全体は真だけど、Bが真とは限らないのでは?」みたいな話になって混乱したのでメモ。

まとめ

Aより、A∨Bは真。¬AA∨Bより、B

詳細

: かつ、: または、: 否定、: ならば、: 同値、T: 真、F: 偽。

  1. A∧¬Aが真ならば、の定義から、A¬Aも真となる
  2. Aが真なので、A∨Bは真となる
  3. ¬Aが真であり、↑で示した通りA∨Bも真となる。A∨Bが真で(¬Aより)Aが偽なので、Bが真となるしかない

Aは真なの?偽なの?と思ってしまうが、それが矛盾なので仕方がない。仮定と既に示したことは以降の証明で使えるので、A¬Aも好きなときに使える。

F⇒Bが真というのは、の定義。これは正しい。一方で、A∧¬Aが真となるような体系は普通は考えない。何でも示せてしまってつまらないから? 何とかして扱ってみようという面白そうな話もあるらしい。

矛盾許容論理 - Wikipedia

*1:1=2から、P=NPらしい。1=2 - アンサイクロペディア

iPhone 6sを買った

今さらだけど、iPhone 6sを買ったので、つらつらと感想を。

3D Touch

MacBookの感圧タッチトラックパッドや、らくらくホンくらいの押し心地を期待していたけど、あんまり押した感じはしない。ちょっと残念。

デレステ

3D標準が余裕で動いて良い。しかし、画像の解像度が5sが基準になっているらしく、6sではぼやけてしまってとても残念。6s向けの解像度を用意してくれ? 親指派だけどこの画面のサイズでも問題は無い。

iPhone 5s

f:id:kusano_k:20160331012419p:plain

iPhone 6s

f:id:kusano_k:20160331012427p:plain

ドック

スマホにいちいちケーブルを挿すのが面倒なので、いつもたとえ別売でも公式のドックを買うようにしていた。このドックがなんと5000円もする。さすがに高すぎでは……。店員に持ってきてもらって値段を聞いて「やっぱりいいです……」と言ってしまったが、後から買ってきた。単なるライトニングケーブルの延長ではなく、中に基盤が入っていてドックにスピーカーを繋げるけど、その機能は要らないので安くしてほしい。ケーブルを挿すのもこのドックも面倒で美しくないと思う。アップルなんだから磁石とかを使ってスマートに充電できるようにしてほしい。

f:id:kusano_k:20160331011510j:plain:w480

slack

CPUの性能が向上しているからか、とても快適にサクサク閲覧できる。PCより快適。

ストラップ

スマホにカバーは付けたくないけど、ストラップは付けたい。5sではNETSUKEを使っていた。しっかりした作りで安心感があった。これの6s版を買おうと思ったけど、売り切れ。別会社で再販する予定はあるらしいけど、いつになるやら……。

結論

iPhone SEのほうが良かったかもしれんね(´・ω・`) デザインも6sの丸い感じよりは、5sの硬い感じのほうが好き。