こんにちは、Habr!
WhatsAppやTelegramなどのモバイルメッセンジャーの人気が高まっているにもかかわらず、古き良きSMSの関連性は失われません。 SMSは、2要素認証またはパスワードのリセット時に、さまざまな種類の通知を送信するために使用できます。 しかし、最近の
モバイルネットワークへの攻撃の成功により、SMSを介して送信されるデータに対する追加の保護レベルを考えています。
この記事では、VirgilおよびTwilioサービスを使用して、AndroidデバイスにSMSを送信するプロセスを安全にする方法について説明します。
プログラミングを開始する前に、いくつかの予備ステップをもう一度思い出します。
SMSを送信するには、
ここで Twilioアカウントを作成する必要があるアクセスのために
Twilio APIを使用し
ます 。 登録後、APIの操作に必要な特別な識別子TWILIO_ACCOUNT_SIDおよびTWILIO_AUTH_TOKENを受け取ります。
SMSメッセージを暗号化するには、
Virgilアカウントを作成し、特別なトークンVIRGIL_ACCESS_TOKENを生成する必要があるVirgil Crypto LibraryとVirgil Keys Serviceの助けが必要です。
上記の手順を完了したら、SMS通知の実装に進むことができます。
Virgilサービスには、ほとんどの一般的なプログラミング言語で使用できる
SDKの大きな
セットがあります。 前の記事で、JavaScriptを使用してサービスを操作する方法を示しました。 今日、変更のために、
C#で投稿し
ます。暗号化されたSMSを送受信するプロセスを段階的に説明します。
- NuGetパッケージマネージャーを使用してVirgilとTwilio SDKをインストールします。
PM>インストールパッケージVirgil.SDK
PM> Install-Package Twilio
- VirgilおよびTwilio APIで動作するようにクライアントを初期化します。
変数accountSidおよびauthTokenに注意してください。 それらには、 ここにあるTwilioアカウントの識別子を示しています 。
- Twilioサービスへの通常のPOSTリクエストを使用して、暗号化されたメッセージの送信を実装します(パーティーに参加するためのパスワード付きの招待状を送信します)。
- 受信者側でメッセージを解読します。 SMSを受信するには、Android SMS APIを使用します。 メッセージを復号化するには、Virgil SDK for .NETも必要です。
TwilioとVirgil APIでわかるように、暗号化されたSMSの送受信は、暗号化の深い知識を必要としない単純なタスクになります。
PS
GitHubで暗号化されたSMSの送信を実装するソースコードをダウンロードできます。