ラベル hack の投稿を表示しています。 すべての投稿を表示
ラベル hack の投稿を表示しています。 すべての投稿を表示

月曜日, 4月 04, 2016

iPhone 電波マークを数字表示にする方法|【フィールドテストモード】

iPhone 電波マークを数字表示にして電波強度を分かり易くしよう♪

【フィールドテストモード】

 


f:id:bambamboo333:20140731073638j:plain

 

フィールドテストモード

iPhoneのデフォルトの電波マークは5段階
4本や5本たっている時でも通話が途切れたり通信が遅いなんてこともしばしば(;´Д`)
どの程度電波を掴んでいるのか把握するのに役立つのが今回の数値化!


iPhoneには「フィールドテストモード」というモードがあります。
この「フィールドテストモード」にすると、電波マークを数値化することができて、現在の電波状況を具体的に把握することができます。



手順

では、さっそく「フィールドテストモード」への移行手順。

 

電話アプリから

電話アプリをたちあげて、*3001#12345#*と入力し発信します。


f:id:bambamboo333:20140731074332j:plain

 

フィールドテストモード

そうすると「フィールドテストモード」がたちあがります。


f:id:bambamboo333:20140731074800j:plain


「フィールドテストモード」では電波マークの部分が数値化されているのですが、
 最新のiOS9.3.1だと、「電話に戻る」という表示が出ていて見えないかと思います。

 

常時数字化

この電波マークの数値化。

いつも数字表示にしておきたい!!という方は、その常時数値表示のままにしておく方法があります。

「フィールドテストモード」に移行している状態で、

①「スリープ/電源ボタン」を長押し。

②電源オフのスライドバーが表示されたら「スリープ/電源ボタン」から指を離す。

③次に「ホームボタン」を長押し(結構長い)。

そうすると「フィールドテストモード」が終了しいつもの待ち受け画面に戻りますが、電波表示は数字のままです。



f:id:bambamboo333:20140731080742j:plain  

 

 

数字の意味

この数字が電波の強弱を表しています。
数値が小さいほど電波が強いということになります。

数値が小さい時は電波マークが5つ。
数値が大きくなるにつれて電波マークが減っていきます。

また実はドコモ、ソフトバンク、auでこの数値と電波マークの相関関係が違うのです。
数値と電波マークの相関関係の図がこちら。





f:id:bambamboo333:20140731075518j:plain
【 Image Source: @iPhoneWaza 】



元に戻す方法 

手順

もう一度「フィールドテストモード」を立ち上げます。

電話アプリをたちあげて、*3001#12345#*と入力し発信
「フィールドテストモード」がたちあがります。

そのままフィールドテストモードを「ホームボタン」を押すして終了。

そうするといつものホーム画面に戻り、電波マークもいつも通りに戻ります。 





あくまでも隠しコマンド的なモードなので、電波マーク常時数値化は自己責任でお願いします。



 

木曜日, 3月 10, 2016

プロジェクト・アリストテレス

 

 

社員の「生産性」を高める唯一の方法はこうだ 

グーグル、プロジェクト・アリストテレスの全貌



社員の生産性を極限まで高めるには、どうすればいいのか――米グーグルが2012年に開始した労働改革プロジェクトの全貌が明らかになった。
社員同士のコミュニケーションを中心に、その仕事ぶりを徹底的に観察するワーク・モニタリングは、果たして功を奏したのだろうか?


●"What Google Learned From Its Quest to Build the Perfect Team" 
 The New York Times, FEB. 25, 2016



プロジェクト・アリストテレスとは


上の記事によれば、米グーグル(持ち株会社に移行後の正式社名は「アルファベット」)は2012年に生産性向上計画に着手した。

この計画は「プロジェクト・アリストテレス(Project Aristotle)」と呼ばれ、同社の「人員分析部(People Analytics Operation)」によって実施された。

グーグル社内には様々な業務に携わる数百のチームがあるとされるが、その中には生産性の高いチームもあれば、そうでないところもある。
同じ会社の従業員なのに、何故、そのような違いが出るのか?
これを様々な角度から分析し、より生産性の高い働き方を提案することがプロジェクト・アリストテレスの目的だった。
元々、様々なデータを分析するのはグーグルの得意技だ。
同社には、こうした分析作業を手掛ける統計の専門家やエンジニアが多数働いているが、プロジェクト・アリストテレスでは、彼ら以外にも組織心理学や社会学の専門家まで、多彩なエキスパートを集って分析作業に当たらせた。




共通するパターンが見つからない

分析の対象として、特に重視したのは「チームワーク」であったという。
ビジネスがグローバル化し、複雑化の度合いを深めている今日、多くの業務は単独の従業員ではこなしきれない。どうしてもチームによる共同作業が多くなるからだ。
このためプロジェクト・アリストテレスでは、社内の様々なチームを観察し、上手く行っているところと、そうでないところの違いを明らかにしようとした。

たとえば「同じチームに所属する社員(チームメイト)は、社外でも親しく付き合っているか」「彼らはどれくらいの頻度で一緒に食事をしているか」「彼らの学歴に共通性はあるか」「外向的な社員を集めてチームにするのがいいのか、それとも内向的な社員同士の方がいいのか」「彼らは同じ趣味を持っているか」など、多岐に渡る観察を行った。

人員分析部では、これらの観察結果を図式化して、そこから業務目標を上回るチームに共通するパターンを見出そうとした。しかしパターン抽出が得意なはずのグーグルなのに、自らの社員の労働分析からは、目立ったパターンを見出すことができなかったという。

たとえば同じく生産性の高いチームなのに、片方は「社外でも仲良く付き合う友達同士」のような関係であり、もう片方は「まともに会話するのは会議室の中だけで、そこを出ればアカの他人」というような関係であった。

また、あるチームでは、強いリーダーのもとに階層的な人間関係を築いていたのに対し、別のチームではもっとフラットな人間関係を敷いていた。それでも両者の生産性に、ほとんど違いは見られなかったという。




正反対のやり方でも上手くいく

結局、上のような「チーム編成の在り方」と「労働生産性」の間には、ほとんど相関性がないのではないか――そう考えたグーグルの人員分析部は、今度はチームのメンバーが従っている「規範(norm)」にこそ生産性のポイントがあるのではないかと考え、そこを洗い出すことにした。
ここで規範とは、チーム内で共有する「暗黙のルール」や「行動規準」、あるいは「チーム・カルチャー」のようなものを指す。

しかし、この点でも目立ったパターンは抽出されなかった。
たとえば、あるチームでは、会議中にリーダーがチームメイト全員に等しく発言する時間を与え、それを別のチームメイトが途中で遮ることを許さなかったのに対し、別のチームでは互いに発言の途中で割って入るのが常態化していた。

また、あるチームでは仕事時間中に雑談したり、他人の噂話をしたり、週末のプランを話すなど私的なコミュニケーションが交わされていたが、別のチームでは「オフィス内では仕事に専念し、私語は厳禁」といった雰囲気が形成されていた。

このように数百に上るチームが各々従う規範を観察したが、そこから成功するチームに共通するパターンを見出すことはできなかった。それどころか、同じく生産性の高いチームなのに、全く正反対の規範に従っているケースも珍しくなかったという。




同じ人でもチームが変わると駄目になる

唯一、ある種のパターンとして浮かび上がってきたのは「働き方」に関するものではなく、むしろ「成功の法則性」に関するものだった。

つまり成功するチームは何をやっても成功し、失敗するチームは何をやっても失敗する。そのようなパターンであった。

以上のような話を聞くと、読者の中には「それは働き方の問題ではなくて、単にメンバーの能力の違いによるのではないか。要するに、優秀なメンバーが集まったチームは常に成功している。それだけの話ではないか」と思われる人も多いと思う。
ところが、実際はそうではないという。

グーグルのチーム編成は固定化していない。つまり一人の社員が異なる業務目的に応じて、同時並行的に複数のチームに所属している。中には、メンバーの大多数が重複する2つのチームが生まれることもあるが、驚くべきことに、片方のチームの生産性は高く、もう片方は低いこともあるという。




成功のカギは「心理的安全性」


このように目立ったパターンが見出せずに困り果てたグーグルの人員分析部では、集団心理学に関する学術論文など、アカデミックな調査結果を再度深く当たってみることにした(同プロジェクトの初期段階では、それから始めていた)。

そして、そこから浮かび上がってきたのは「他者への心遣いや同情、あるいは配慮や共感」といったメンタルな要素の重要性だった。つまり成功するグループ(チーム)では、これらの点が非常に上手くいっているというのだ。

たとえば一つのチーム内で誰か一人だけ喋りまくって、他のチームメイトがほとんど黙り込んでいるチームは失敗する。逆に(途中で遮られるかどうかは別にして)チームメイト全員がほぼ同じ時間だけ発言するチームは成功するという。

それは暗黙のルールとして、そのような決まりを押し付けるのではなく、むしろ、自然にそうなるような雰囲気が、チーム内で醸成されることが重要なのだという。


つまり「こんなことを言ったらチームメイトから馬鹿にされないだろうか」、あるいは「リーダーから叱られないだろうか」といった不安を、チームのメンバーから払拭する

心理学の専門用語では「心理的安全性(psychological safety)」と呼ばれる安らかな雰囲気をチーム内に育めるかどうかが、成功の鍵なのだという。

しかし、そのために具体的に何をすべきか、と考えると、そこにはなかなか難しい問題があったという。
何故なら、グーグルの社員は、数字やデータの分析は得意だが、他者への配慮や同情となると、欠如しているとまでは言わないが、少なくとも、それらを表現するのは、あまり得意ではないと考えられたからだ。




自らの健康状態を告白したリーダー

そこでグーグルの人員分析部では、2014年後半に当時の社員5万1000人の中から、チーム・リーダー格の有志を募って、彼らにプロジェクト・アリストテレスの主旨や調査結果を伝えた。そして彼らに対し、自らのチーム内に「心理的安全性」を育むための具体策を考えるよう促した。


そうしたチーム・リーダーの一人に、ある日系アメリカ人の男性がいた。彼を中心に結成されたチームはそれまでなかなか生産性が上がらず、彼もその事に悩んでいた。

そこで彼は人員分析部から手渡された調査票を使って、チームメイトへのアンケート調査を実施した。

調査票には、「社内におけるチームの役割や目的」、あるいは「自分たちの仕事が会社に与えるインパクト」などを、どこまで理解しているかを評価する項目が並んでいたが、これらの点について彼のチームメイトたちが下した自己評価は、いずれも極めて低かった。


これに衝撃を受けたリーダーはチームの全員を集めて、インフォーマルなミーティングを開いた。
そこで彼は「これから君たちの知らないことを打ち明けよう」と断った上で、自身がスピードは遅いが転移性の癌に冒されていることを告白した。

しばらく沈黙が続いた後、チームメイトの一人が立ちあがって自分の健康状態を打ち明けた。そこから堰を切ったように、チームのメンバー一人ひとりが自らのプライベートな事柄を語り始め、それが終わるころには、自然に今回のアンケート結果についての議論(つまりチーム内のモラルを高めて、生産性を高めるための議論)へと移行していたという。




「本来の自分」でいられる職場を目指して


今回、プロジェクト・アリストテレスの結果から浮かび上がってきた新たな問題は、個々の人間が仕事とプライベートの顔を使い分けることの是非であったという。

もちろん公私混同はよくないが、ここで言っているのは、そういう意味ではなく、同じ一人の人間が会社では「本来の自分」を押し殺して、「仕事用の別の人格」を作り出すことの是非である。

多くの人にとって、仕事は人生の時間の大半を占める。そこで仮面を被って生きねばならないとすれば、それはあまり幸せな人生とは言えないだろう。


社員一人ひとりが会社で本来の自分を曝け出すことができること、そして、それを受け入れるための「心理的安全性」、つまり他者への心遣いや共感、理解力を醸成することが、間接的にではあるが、チームの生産性を高めることにつながる。

これがプロジェクト・アリストテレスから導き出された結論であった。





土曜日, 12月 26, 2015

クレジットカードは安全?

以外と知らないクレジットカードの仕組み

 

クレジットカードをハッキングする「MagSpoof」って?



2015年11月末ごろ、クレジットカードのセキュリティに関するちょっとした話題があったので紹介する。

数々の騒動を起こした一方で、各種サービスや製品の脆弱性の発見など、ハッキングやセキュリティ関連の研究で知られるSamy Kamkar氏が11月24日、「MagSpoof」というデバイスを開発したとその概要を公表したのだ。 MagSpoofは10ドル程度の部品で組み立て可能なコイン大の装置で、クレジットカードの磁気情報を本体に記録し、磁気データを無線信号で送り出すことで、あたかも読み取り機にカードの磁気部分を通したかのように読み取らせることができる。Samsung Pay(Loop Pay)の「MST(Magnetic Secure Transmission)」を小型装置で実現したものだと考えてもらえばいいだろう。この装置の便利なところは、複数のクレジットカードを1つの小型デバイスに格納してしまえるため、持ち運びが楽な点だ。






このMagSpoofだけでも十分にすごいのだが、Kamkar氏の説明ページ後半には「Security Issues」、「American Express Card Number Prediction」という問題提起がなされており、実はこの部分が話のキモになっている。改めて検証は必要だが、とりあえず同氏の説明を少しわかりやすく解説するので、その真偽は各人が判断してほしい。

 

意外と知らないクレジットカードの仕組み


クレジットカードには「クレジットカード番号」、「有効期限」、「名前」が記されている。カードを裏返すと(もしくはカード番号の横)、そこに「認証番号(CVV/CVS/CID)」があることが確認できるだろう。これら主に4つが"カードで目視可能"な構成要素だ。これら情報を基にカード利用者を識別し、"利用者本人かどうかを確認しつつ"決済を行っている。



クレジットカードの各部名称

 




クレジットカード番号は最大19桁までの数字の列である「PAN(Primary Account Number)」で成り立っているが、一般にはJCB、MasterCard、Visaのようなメジャーなカードブランドでは16桁、American Expressでは15桁となっている(カードブランドによっては13桁や14桁のこともある)。このうち、最初の6桁は「IIN(Issuer Identification Number)」と呼ばれ、あらかじめ業界やカードブランドによって利用可能な番号が決まっている(ISO/IEC 7812で規定される)。例えば、最初が「4」で始まる番号は「Visa」、「5」で始まる番号は「MasterCard」といった具合だ。なお、MasterCardに予約されているのは2桁目の数字が「1~5」(つまり51~55)で、5で始まる残りの数字は「Maestro」向けのものだ。American Expressでは「34」または「37」で予約されており、たまにオンラインサイトでのカード番号入力の場面でカードブランドが自動選択されるのは、こうしたIINの予約番号で自動判別しているからだ。

PAN全体の13~19桁の番号のうち、最初の6桁を除いた残りが「個別の利用者番号」と「チェック・ディジット(パリティ)」となる。チェック・ディジットはLuhnアルゴリズムで一意に決定されるPAN全体のチェックサムで、1桁の数字で表される。PANの桁数によって異なるが、利用者個人に割り当てられる個別の番号は最大12桁となる。

ケースバイケースだが、たいていのオンライン決済では「クレジットカード番号」「有効期限」「名前」に加え、「認証番号(CVV/CVS/CID)」を入力すれば処理が完了するだろう(住所や連絡先を求められることもあるが......)。基本的には、決済時に相手に渡す必要がある情報がこの組み合わせとなる。これは"対面取引"といわれる店頭での決済でも同様で、クレジットカードを磁気部分を読み取り機に通す場合にも同じ情報がカードを処理するネットワークに対して送信されている。

つまり、磁気部分にはこれら情報が記載されているわけだが、カード裏面等に記載されている「認証番号(CVV/CVS/CID)」だけは記録されていない。そのため、仮に「スキミング」と呼ばれる行為で磁気データを丸ごとコピーされても、そのままではオンライン決済には利用できないという仕掛けだ。

一方で、カード裏面記載の番号とは別の「認証番号(CVV/CVS/CID)」が磁気部分には記録されており、一種のカードの整合性チェックとなっている。仮に磁気データの丸ごとコピーではなく、カードのエンボス等に記載されたPANや有効期限をメモしておいて、それを基に自身で磁気カードを起こしたとしても、このチェックで弾かれる。磁気情報で記録されている側を「CVV/CVS/CID」、カード裏面に記載されている側を「CVV2/CVS2/CID2」などと呼ぶこともある。

 

 

磁気データとMagSpoof

 

さて、本題はここからだ。実際にこの磁気部分にはどのように情報が記録されているのだろうか。Kamkar氏が自身のクレジットカードを酸化鉄の粉末をまぶして図説しているが、記録データは完全に2進数の世界だ。クレジットカードなどで利用される磁気カードの記録方式はISO/IEC 7813で定められており、「Track 1」、「Track 2」、「Track 3」の3種類がある。Track 3は実質的に使われていないため、「Track 1」または「Track 2」が一般だ。MagSpoof自体は3種類ともサポートしているという。

Track 1はアルファベットも利用可能な方式で、一方のTrack 2は0~9までの10の数字と「:」「;」「<」「=」「>」「?」の6種類の記号しかサポートしてない(これはASCIIコードの 0x30~0x3Fまでの並びに準拠している)。10+6=16で、つまり16進法表記だ。Track 2は、2進数でいえば1文字の表現に4ビットを必要としている。Track 1とTrack 2を比較した場合、一般にTrack 2のほうが記録密度が低く、記録ビットの有無である「0」と「1」の磁気情報が広い間隔で存在しているため、判別しやすくなっている。このように磁気情報を読んでいくと、Kamkar氏のサンプルでいえば「;42668413......」とPANの上8桁の数字が出現する。「;」はTrack 2における開始記号で、記録データは必ず「;」からスタートする。注意点としては、読み取り方向から順番に「下位ビット 上位ビット」と数字が並んでいるため、下の画像では一般的な数字の並びとは反転していることに気を付けてほしい。


酸化鉄粉末でクレジットカードの磁気部分を浮き上がらせたところ。2進数のビットの有無で記録情報が解読できるようになっている(Samy Kamkar氏のサイトより引用)






Track 2における文字列の並びは下記のようになる。

----
「;」+「PAN」+「=」+「有効期限(YYMM)」+「サービスコード(3桁)」+「認証番号(CVV/CVS/CIDなど)」+「?」+「LRC(Longitudinal Redundancy Check、チェックサムの一種)」
----

お気付きかもしれないが、Track 2では名前が記録されておらず、「PAN」+「有効期限(YYMM)」+「認証番号(CVV/CVS/CID)」の3種類の組み合わせのみで利用者を判別している。これはアルファベットが仕様上記録できないためとみられる。

MagSpoofでは、この磁気情報の並びを記憶しつつ、磁気カード読み取り機に近付けることでアンテナが反応して適切な順番で磁気情報を吐き出す。これを読み取り機が認識して、実際に"カードが通された"と判断して処理を行う。

「Coin」という、1枚のクレジットカード型装置に複数のカードを記録し、適時切り替えて利用できるという製品がある。Coinにカード情報を記録する際には、ペアリングしているスマートフォンに専用の"ドングル"を挿して磁気カード情報を読み取らせ、それを転送する形で利用する。MagSpoofに記録されたカード情報を、スマートフォンに挿したドングルに読み取らせてCoinに転送し、Coinに転送されたカード情報を使って決済を行うというデモも、Kamkar氏は紹介している。

 

 

クレジットカードのICチップを無効化する

 

ただ同氏によれば、Coinには1つ難点があるという。例えば、ICチップ付きクレジットカード(EMV)をCoinで読み取らせると、カード決済時にCoinを磁気カード読み取り機に通してもレジで受け付けてもらえず、ICチップが付いたカードをEMV対応の読み取り機に挿入し、4桁数字のPINを入力してICチップのロックを解除してやる必要がある。これは、発行されたカードがICチップ対応であり、特定の条件下(例えばレジがEMV対応の場合)で磁気情報ではなくICチップでの決済を要求するためだ。

そこでKamkar氏が注目したのが、Track 2の情報に含まれる「サービスコード」の部分だ。サービスコードは3桁の数字で表現され、その組み合わせでカード(あるいはレジにおける決済)の挙動を決定している。カードが国外で利用できるのか、あるいは特定の条件下でのみ利用可能なのか、さらに決済時にPINコードを要求するのかも含め、情報が記載されている。


 

サービスコード(3桁数字)の内訳(Samy Kamkar氏のサイトより引用)

 





前述のICチップ利用の強制もサービスコードのパラメータで決定されており、設定しだいで「無効化」して、磁気カード決済も可能になるという。実はMagSpoofの本当のキモはここで、この設定を無効化してICチップ付きクレジットカードであってもMagSpoofですべて代替できてしまうのだという。本来はカード側の設定変更だけで対応できたり、あるいは改ざんが可能という点が問題なのだが、もしKamkar氏のいうように回避可能なのならば、ここがセキュリティ上の最初の問題となる。

 

 

American Expressの再発行/更新のカード番号を予測する

 

同氏がもう1つ問題提起しているのが、「カード番号予測」だ。紛失や盗難時に、クレジットカードを停止して再発行を依頼したことがある人は少なくないだろう。カード会社はすぐに再発行したカードを郵送してくるが、同氏は再発行されたカードの番号が以前の番号とそれほど差がないことから、何か法則性があるではないかと考え、過去にAmerican Expressで自身が発行してもらったカードと比較しつつ、さらにそれ以外の20以上のAmerican Expressのカードもサンプルにしたところ、具体的に次に届くカード番号を予測するパターンを発見したのだという。

もし元のカード番号が盗まれたり紛失したものだったとしても、(15桁の)番号が完全にわかっている状態であれば再発行番号が予測可能であるため、大きなリスクになるという。前述のように、クレジットカードの利用にはカード番号(PAN)以外に、「有効期限(YYMM)」と「認証番号(CVV/CVS/CID)」が必要だ。前者については法則性があるため、再発行を依頼した時点で次の有効期限を予測するのは問題ないという。

問題は後者だが、実は再発行されたカードでもこの番号は変化していないため、PAN予想アルゴリズムと元の番号、そして発行タイミングさえわかれば、悪意のある第三者がカードを不正利用し続けることが可能だとしている。なお、認証番号についてはKamkar氏の記事中ではCard Security Code(CSC:カードセキュリティコード)と記載されている。

磁気タイプのカード作成に必要な情報がすべてわかっているため、偽造カードの作成も可能だ。こうした理由からアルゴリズムの内容については公開せず、American Expressへの問題提起にとどめているとの文章で説明が締められている。

なお、同氏が参考とした資料の一覧や、MagSpoof作成に必要な回路図やソフトウェア情報はすべて公開されており、実力さえあれば誰でも作成することは可能だろう。カード自体の脆弱性の実際については継続的なウォッチが必要だが、何かの機会が改めてフォローしたい。