書籍概要

Software Design 20223月号

バックナンバー一覧

発売日
更新日

概要

第1特集
今さら聞けない暗号技術
セキュア通信を実現する公開鍵暗号のしくみ

ネットワーク上の脅威の代表選手として「盗聴」「改ざん」「なりすまし」が挙げられます。これらのリスクを解消するために使われているのはどんな技術でしょうか。そう,暗号技術です。暗号技術は,情報の秘匿を目的とした機密性を実現する技術としてよく知られています。しかし,そのほかにも,データが正確であることを示す完全性や,対象データの証跡を残す否認防止,改ざんやなりすましがないかを示す真正性といった機能も保持しており,それぞれの目的でさまざまな暗号アルゴリズムが活用されています。
本特集で,これらの暗号技術の理論を改めて基礎から学び直してみましょう。

第2特集
そろそろはじめるテスト駆動開発
JavaScriptでテストファーストに挑戦

ソフトウェアの動作検証をコードとして記述し,コマンド1つで自動的に検証を行う「自動テスト」は,その手軽さや保守性の向上効果から広く普及しています。この自動テストを,テスト対象のコードより先に書いてしまう「テストファースト」,さらにその発展形である「テスト駆動開発(TDD)」という開発手法があります。コードより先にテストを書くという一見奇妙なフローに,どのようなメリットがあるのでしょうか。ソフトウェアの設計,開発者のメンタルの面から考察します。また,TDDには体験してはじめて理解できる良さもあります。百聞は一見に如かず,JavaScriptの自動テスト環境を整えて,TDDを実践してみましょう。

特別企画
セキュリティキーITエンジニア流使いこなし術
[後編]SSHでセキュリティキーを活用する

昨今のWebサービスでは二要素認証が当たり前になってきました。でも,パスワードとSMSの二要素認証ではもう危険かもしれません。より強固な対策として注目されているのがセキュリティキーというデバイスです。前後編の2回にわたり,日常のWeb閲覧のほか,GitHubなど開発でセキュリティキーを使う方法を紹介します。

短期連載
Cypressで作る“消耗しない”E2Eテスト環境
[3]ソフトウェアの品質をアップさせるテストの書き方

本連載ではE2Eテストのフレームワークである「Cypress」についてお話しします。Cypressの基本的な使い方やその特徴,さらにはアドバンスドな使い方まで,3人の筆者が紹介していきます。開発者フレンドリーなCypressを使って,消耗しないテスト環境を作りましょう。

短期連載
リアルタイム通信アプリを支える技術
[最終回]実践的なリアルタイム通信サービスの設計

マルチプレイヤーゲーム,バーチャルライブ,メタバースなど,いまや複数のユーザーが同時に利用するサービスやイベントは珍しくありません。そんなリアルタイム通信アプリを実現するためのフレームワークエンジンを開発するDiarkisのエンジニアが,リアルタイム通信の技術やアーキテクチャの今をダイジェストで解説します。

目次

第1特集
今さら聞けない暗号技術
セキュア通信を実現する公開鍵暗号のしくみ

  • 第1章全体像,しくみ,活用場面をおさらい
    ネット社会を支える暗号化のキホン
    …… 大竹 章裕
  • 第2章HTTPS通信に欠かせない
    公開鍵暗号と共通鍵暗号のしくみ
    …… 瀬戸口 聡
  • 第3章ディジタル証明書を実現・運用するための要素
    暗号を使った認証技術
    …… 庄司 勝哉
  • 第4章電子署名のプロセスを体験
    Pythonによる楕円曲線暗号の実装
    …… 光成 滋生

第2特集
そろそろはじめるテスト駆動開発
JavaScriptでテストファーストに挑戦

  • …… 和田 卓人(監修)
  • 第1章保守しやすく変化に強いソフトウェアを支える柱
    自動テストとテスト駆動開発,その全体像
    …… 和田 卓人
  • 第2章TDDのその前に
    自動テストの環境を構築しよう
    …… 櫛引 実秀
  • 第3章レッド・グリーン・リファクタリングのリズムを体験
    実践! テストファースト
    …… 櫛引 実秀

一般記事

  • [特別企画]セキュリティキーITエンジニア流使いこなし術
    【後編】SSHでセキュリティキーを活用する
    …… やまねひでき
  • [短期連載]Cypressで作る“消耗しない”E2Eテスト環境
    【3】ソフトウェアの品質をアップさせるテストの書き方
    …… 渋川 よしき
  • 【最終回】[短期連載]リアルタイム通信アプリを支える技術
    【4】実践的なリアルタイム通信サービスの設計
    …… 高橋 信頼

連載

  • ITエンジニア必須の最新用語解説
    【159】Envoy Proxy……杉山 貴章
  • できる! 自作キーボード工房
    【10】シルクプリントと発注……サリチル酸
  • 結城浩の再発見の発想法
    【106】トランザクション……結城 浩
  • 【最終回】Raspberry PiでエッジAI
    【11】顔認識でプレイリスト自動再生 ~複数プレイヤー編……山川 正美
  • 【新連載】衛星データプラットフォームTellusハンズオン
    【1】衛星データと機械学習のトレンド……Tellusオウンドメディア「宙畑」編集部
  • 明後日のコンピューティングを知ろう
    【13】PCI Express 5.0……松本 直人
  • 分解教室
    【10】ノイズキャンセル機能付きワイヤレスイヤフォン……清水 洋治
  • 【新連載】今日から始めるサイバー脅威インテリジェンス
    【1】インテリジェンスって何だろう ~CTIの概念と始め方……皆川 諒
  • データ生成技術で理解するディープフェイクのしくみ
    【2】ディープフェイクのしくみと基盤技術……中山 浩太郎
  • 【最終回】ディープラーニング高速化・軽量化技術の最前線
    【6】深層学習のモデル軽量化技術……坂井 靖文
  • 【最終回】Pythonモダン化計画
    【8】設計方針から変えていく,モノリシックなアプリの過去と未来……増田 泰
  • UNIXテキスト処理の極意
    【8】JSONを処理する……中島 雅弘
  • チーム開発の視点が変わる アジャイル開発の新常識
    【16】SREで実践する,インフラを巻き込んだDevOps……兼清 裕平,梶原 直人(監修)
  • ヤマハルーターネットワーク本格構築入門
    【4】LAN構築編~SWXシリーズを使用したネットワーク環境構築……寺西 祐樹
  • systemd詳解
    【10】core dump管理……森若 和雄
  • はじめよう,おうちクラウド
    【5】K8sに便利なOSSツール……伊藤 裕一
  • ひみつのLinux通信
    【97】100日後にカーネルパニックするLinux……くつなりょうすけ
  • こんなときどうする? エンジニアも知っておきたい法律知識
    【7】ベンダーのプロジェクトマネジメント義務……弁護士 坂田 晃祐
  • あなたのスキルは社会に役立つ~エンジニアだからできる社会貢献~
    【123】2021年度「アイデアソン+仙台」企画運営で得たもの……高橋 そのみ

サポート

正誤表

本書の以下の部分に誤りがありました。ここに訂正するとともに,ご迷惑をおかけしたことを深くお詫び申し上げます。

(2023年3月30日最終更新)

P.32,左段,14行目

したがって、x=7、y=-31となります。
したがって、x=7、y=-30となります。

(以下2022年11月18日更新)

P.23,第1特集第1章「ネット社会を支える暗号化のキホン」,左段上からから3行め

「電子署名はこのしくみを利用しています。」
「電子署名は秘密鍵(署名鍵)と公開鍵(検証鍵)のしくみを利用していますが、実際はもとのデータを復号するのではなく、秘密鍵で署名されたデータの検証に公開鍵が使われています。

P.25,第1特集第1章「ネット社会を支える暗号化のキホン」,右段下からから3行め

Webの暗号通信で使われているTLS/SSLなど、身近なところで利用されています。
Webの暗号通信で使われているTLS/SSLなど、身近なところで利用されていました。なお現在利用されているバージョンのTLS/SSLは別の方式が採用されています。

P.27,第1特集第1章「ネット社会を支える暗号化のキホン」,右段下からから3行め

計算量が2kだった場合、
計算量が2kだった場合、

P.54,第1特集第3章「暗号を使った認証技術」,右段上から14行め

SSL/TLSでは、それぞれを下記の技術で実現しています。
ここでは、データ改ざんの検出にメッセージ認証符号、鍵交換にRSAを用いる場合について説明します。

(以下2022年5月2日更新)

P.54,第1特集第3章「暗号を使った認証技術」,右段上から1行目

ルート証明書の自己署名証明書はルート証明書とも呼ばれます。
ルート認証局の自己署名証明書はルート証明書とも呼ばれます。

(以下2022年2月25日更新)

P.49,第1特集第3章「暗号を使った認証技術」,左段下から8行目

ディジタル署名の作成方法と検証方法を解説します(図5)。
RSAを利用した場合のディジタル署名の作成方法と検証方法を解説します(図5)。

P.P.49 ,第 1 特集第 3 章「暗号を使った認証技術」,図 5 のキャプション

ディジタル署名の作成と検証
ディジタル署名の作成と検証(RSAを利用した場合)

(以下2022年2月18日更新)

P.27 第1特集第1章「ネット社会を支える暗号化のキホン」,右段下から3行め

計算量が2kだった場合、
計算量が2kだった場合、

P.164 連載記事「ヤマハルーターネットワーク本格構築入門」 図8のURL

https://network.yamaha.com/setting/switch_swx/l3_switch/standard_l3_switch/l scale_network_stack
https://network.yamaha.com/setting/switch_swx/l3_switch/standard_l3_switch/l-scale_network_stack

半角ハイフン部分をスペースにしておりました。

P.189 ニュースページ Trellix社「2022年の脅威予測レポートを発表」記事 CONTACT欄URL

https://www.motorola.co.jp/
https://www.trellix.com/ja-jp/

誤ってモトローラ・モビリティ・ジャパン合同会社のURLを入れておりました。

ダウンロード

P.56 第1特集「今さら聞けない暗号技術」サンプルコードのダウンロードについて

(2022年2月18日更新)

本特集の第4章で使用しているサンプルコードを以下からダウンロードできます。ダウンロードファイル「sp1_ecc.zip」は圧縮ファイルです。解凍したうえでご利用ください。

ダウンロード
サンプルコード(sp1_ecc.zip)
 
免責
本サンプルを使用することによって,使用者が受けたあらゆる不利益に対して,原著者および技術評論社はその責任を負いません。

商品一覧