うるふブログ

オープンソースの仕事


(このポストは、Daniel Stenbergのブログ記事、WORKING OPEN SOURCEを日本語訳したものです。)

わたしはフルタイムでオープンソースの仕事をしています。今回はそのお話です。

 

バックグラウンド

私は30年以上前に10代でプログラミングの方法を学び始め、1990年代初頭からソフトウェアエンジニアおよび開発者として働いてきました。開発者として最初に雇用されたのは1993年でした。それ以来、多くの企業で働き長年にわたって膨大な量の(独自の)ソフトウェア製品やデバイスに取り組んできました。つまり、私の人生のスタートはオープンソースではありませんでした。私はそれで稼がなければなりませんでした。

私は20歳のとき、スウェーデンで(当時は義務だった)兵役につきました。それを耐え忍んた後、大学に応募すると同時にIBMから仕事のオファーを受けました。私は躊躇なく仕事の方を引き受けました。大学には後でいつでも行くことができると思いましたが、結局人生は別の方向に進み、そちらに進むことはありませんでした。大学には一日も行っていませんが私はそれを後悔していません。

私は80年代半ばにコモドール64でコーディングすることを学び、それ以来ずっとソフトウェア開発は私の主な趣味の1つです。その頃私が身に着けた習慣の1つは、今でもそうなのですが、自宅のコンピューターの前で1日数時間を過ごすことです。

そしてcURL

1998年の春に、長年暖めてきた小さな計画の名前を再び変更し、初めてcURLをリリースしました。 この話は何度もしているのですが、それ以来、私はそのプロジェクトに2時間ほどの余暇を費やしてきました – 毎日20年以上、日中ソフトウェアエンジニアとして働いているかたわら。

時間の経過とともに、cURLは徐々に人気を博し、より多くのユーザーを引き付けました。 私がスタートの鐘を鳴らし、すべてが一斉に離陸した瞬間というものはありませんでした。 私と私の仲間のプロジェクトメンバーがcURLを改善し、磨き続けている間、それはゆっくりと着実に進んでいきました。 ある時点で、cURLとlibcurlが、製品やデバイスで参照されたりオープンソースライセンス集に表示されはじめていることに気づきました。

しかし、それはまだただの余暇プロジェクトでした。

 

独自ソフトウェアの時代

仕事としてオープンソースを作成できる立場にたどり着く前に、私は長年(20年以上!)契約およびコンサルタント開発者として、主にプロプライエタリのソフトウェアとカスタムソリューションに携わっていました。

 

Mozilla
2014年に私はMozillaに参加し、オープンソースプロジェクトのFirefoxで生計を立てる機会を得ました。そして、それは完全に私の家からやっています。これは私のキャリアの中で初めてであり、実際にほとんどの日をオープンで世界中で利用できるコードに費やしました。彼らは、たとえそれが本当のところあまり彼らの助けにはなっておらずcURLがMozillaの仕事や製品の基本的な部分ではなかったとしても、私の仕事時間の一部をcURLに費やすことを許してくれました。これは一つの奉仕活動です。

ポータブルなネットワークコーディングとこのレベルで成功したオープンソースプロジェクトを率いた長年の経験により、私はMozillaでその仕事に就くことができました。

私のMozillaでの仕事がセットアップされ、(今でも続けている)1日2時間の空き時間以外にもcURLにさらに多くの時間を費やすことができました。 Mozillaの誰も(私の仕事の)cURLをあまり気にしませんでしたし、誰も私にそれについて尋ねさえしませんでした。私はFirefoxで生計を立てていました。

仕事の一環としてオープンソースをやりたいと思っている人にとっては、すでに多くのオープンソースを行っている会社に就職することがおそらく最善の道です。それも簡単ではないかもしれませんし、あなた自身が完全には賛同していないかもしれない幾つかのオープンソースプロジェクトでの作業を受け入れる必要があることを意味するかもしれません。

2018年の終わりに、私はMozillaを退職しました。「リアルに」cURLの仕事をしたかったからです(また、ここで省略した他の理由もあります)。cURLはその時すでに20年以上も経ち、かつてないほど使用されていました。

 

wolfSSL
私は今、wolfSSLで働いています。 cURLのサポートおよび関連サービスを企業に販売しています。 企業はwolfSSLに支払い、wolfSSLは私に給料を支払い、私は食卓に食べ物を用意します。 これは、これがグッドアイディアであると企業を十分に納得させることができる限り機能します。

もちろん、cURLユーザーの大多数は何も支払わず、今後も何も支払うことはないでしょう。それを実現するには少数の企業が必要です–そしてそれは機能しているようです。 私たちは、お客様がcURLをよりよく使用できるように支援し、cURLをより良くし、この方法でより良い製品を出荷できるようにします。 それはウィンウィンの関係です。 そして、このおかげで私は一日中オープンソースに取り組むことができます。

 

私のオープンソースのライフスタイル
平日は朝7時前に起きて、妻と2人の子供という家族と一緒に朝食をとります。 それからその日の最初の一杯のコーヒーを手に取り、「オフィス」への階段を13段上ります。

 

そして、2つの27インチ画面を備えたメインの開発(Linux)マシンの前に座って、仕事に取り掛かります。

 

仕事とその順序
私はcURLプロジェクトを率いています。それは、多くの質問や決定について意見を述べたり、発言したりします。cURLで何かをしたい開発者がそれを続けられるように、できるだけ早くブロック状態を解除したり確認することが私にとっての優先事項です。

私は起きていてネットワークにアクセスできる時間はずっと、cURLに関するメールを読んで返信します。もちろん、受信メッセージが実際に即時の応答を必要とすることはめったにないので、それらをキューに入れて、後で行うことができます。また、新しいcURLの問題をできるだけ早く読んで評価し、すぐに対処する必要のある緊急の問題があるかどうかを確認したり、今後の対処方法を見つけます。

私は通常、取り組むべき一連のバグや機能修正などの課題をかかえているので、警告メールやGitHubの問題が残っていない場合は、cURLのソースコードツリーと現在取り組んでいる特定のブランチにコンテキストスイッチします。通常、さまざまな段階と成熟度の開発の20〜30の異なるブランチが進行中です。何かに行き詰まった場合、またはすべてのCIジョブを完了するのに時間が必要なプルリクエストを作成し、他の課題に切り替えます。

もちろん、私が何に取り組むかを決めるときは、顧客とそのニーズが優先されます。例外はおそらくセキュリティの脆弱性やその他の非常に深刻なバグが報告されていることですが、ありがたいことにそれらは稀です。でもその後は耳を傾けて、楽しいと思うことや、ユーザーに喜ばれると思うことをやっていきます。

私自身のために、または顧客のために何かを進めたい場合、それが他のプロジェクトの他のソフトウェアに触れたり改善したりすることを伴う場合、私はそれらのプルリクエストを送信することを躊躇しません-または少なくとも問題をファイルします。

 

暇な時間のオープンソース
はい、私は今でも空き時間をオープンソースに費やしています。ほとんどはcURLです。これは、私がcURLとcURL関連の活動に週に50-55時間を費やすことになります。しかし、私は労働時間を数えたり測定したりすることはなく、誰かに報告する必要はめったにありません。これは愛の仕事です。

多くの人が、人生、家族、子供などの理由で時間がないと言います。もちろん、私がやりたいことにずっと時間を費やす機会と能力を持っていられたのは、もちろん何年にもわたって非常に幸運だったからです。しかし、一般的に人々は趣味に多くの時間を費やしていることを忘れないでください。テレビを見たり、コンピュータゲームをしたり、友達と交流したり、寝たり。あなたがそれらのすべて(そう、睡眠を含めて)を減らすならば、チャンスはあるかもしれません。それは多くの場合、優先順位の問題です。私は自分の人生で暇な時間について、開発を優先させました。

 

cURLサポート?
cURLまたはlibcurlを使用している多くの企業はサポートを購入することで時間とリソースを無駄にせず、メリットを得ることができます。私たちwolfSSLはすでにcURLについては多くの経験があり、問題をはるかに迅速に見つけて修正できるので、結局より安価で長期的に有利になります。

 

クレジット
このブログの冒頭の写真は妻のAnja Stenbergが撮影したものです。 2020年の夏、地元の森にいる私です。

フライングカーテクノロジーに出展します

wolfSSL Japanは、フライングカーテクノロジーへ出展いたします。

日時: 2020年11月4日(水)~6日(金)10:00~17:00
会場: 東京ビッグサイト
wolfSSLブース番号: L-14
展示会ウェブサイト:https://www.n-plus.biz/fct/

ご紹介製品:

wolfSSL – 世界で初めてTLS 1.3に対応した、IoTデバイス向け軽量SSL/TLS商用版セキュリティライブラリ
wolfCryptとFIPSモジュール – メモリ制限の厳しい環境に適した暗号ライブラリとFIPS140-2認証を取得したFIPSモジュール
wolfCrypt DO-178C版 − 民間航空機および軍用航空機に搭載される電子機器用にRTCA DO-178CレベルA認証をサポート
wolfBoot – 安全なファームウェアアップデートを実現するセキュアブートローダー
wolfTPM – ハードウェアセキュリティ連携を可能にするポータブルTPM2.0ライブラリ
wolfMQTT – MQTT v5.0に準拠したMQTTクライアント
wolfSSH – SFTPSCPをサポートするSSHライブラリ

みなさまのご来場を心よりお待ちしております。
現地での個別打ち合わせをご希望の方は、info@wolfssl.jp までご連絡ください。

Japan IT Week秋の組込み/エッジコンピューティング展、ESEC出展のご案内

wolfSSL Japanは、Japan IT Week秋の組込み/エッジコンピューティング展、ESECへ出展いたします。

日時: 2020年10月28日(水)~30日(金)10:00~18:00(最終日のみ17:00終了)
会場: 幕張メッセ
wolfSSLブース番号:38-25
展示会ウェブサイト: https://www.japan-it-autumn.jp/ja-jp/about/esec.html

ご紹介製品:

wolfSSL – 世界で初めてTLS 1.3に対応した、IoTデバイス向け軽量SSL/TLS商用版セキュリティライブラリ
wolfBoot – 安全なファームウェアアップデートを実現するセキュアブートローダー
wolfTPM – ハードウェアセキュリティ連携を可能にするポータブルTPM2.0ライブラリ
wolfCrypt FIPS版 – メモリ制限の厳しい環境に適した暗号ライブラリとFIPS140-2認証を取得したFIPSモジュール
wolfCrypt DO-178C版 − 民間航空機および軍用航空機に搭載される電子機器用にRTCA DO-178CレベルA認証をサポート
wolfMQTT – MQTT v5.0に準拠したMQTTクライアント
wolfSSH – SFTPSCPをサポートするSSHライブラリ

みなさまのご来場を心よりお待ちしております。
現地での個別打ち合わせをご希望の方は、info@wolfssl.jp までご連絡ください。

 

wolfSSLウェビナー「wolfSSLをVisual Studioで試してみよう!」

wolfSSLウェビナー開催のご案内です。

wolfSSLをVisual Studioで試してみよう!

2020年10月21日(水) 14:00~14:30

スピーカー:
wolfSSL Japan合同会社 ソフトウェアエンジニア
松尾 卓幸

 

IoTの機能の開発に忙しいソフトウェアエンジニアは、TLSの実装はできれば時間をかけずに信頼できるものを使いたいと考える方も多いのではないでしょうか。
このセッションでは、セットアップに時間をかけず使い慣れたで環境でwolfSSLを評価したいMicrosoft Visual Studioユーザの方を対象に、wolfSSLのサンプルプログラムのビルド&実行の手順を説明します。
また、製品開発にスムーズに移行できるよう各種MCU用のIDE向けソリューションも紹介します。

本ウェビナーは日本語で開催します。
約30分の予定です
 
参加希望の方はこちらからご登録ください。ご登録後、ウェビナー参加に関する確認メールをお送りします。

 

ぜひ皆様のご参加をお待ちしています。
ご質問がおありでしたら、info@wolfssl.jp までご連絡ください。

 

そのほかのウェビナー開催予定、オンデマンド版の公開についてはこちらをご覧ください。

Medical Japan 2020 Tokyo出展のご案内

wolfSSL Japanは、医療と介護の総合展、Medical Japan 2020 Tokyoへ出展いたします。

日時: 2020年10月14日(水)~16日(金)10:00~18:00(最終日のみ17:00終了)
会場: 幕張メッセ
wolfSSLブース番号: 医療IT EXPO内、ブース番号7-46
展示会ウェブサイト: https://www.medical-jpn.jp

ご紹介製品:

wolfSSL – TLS 1.3対応の組み込み/IoTデバイス向け軽量SSL/TLS商用版セキュリティライブラリ
wolfBoot – 安全なファームウェアアップデートを実現するセキュアブートローダー
wolfTPM – ハードウェアセキュリティ連携を可能にするポータブルTPM2.0ライブラリ
wolfMQTT – MQTT v5.0に準拠したMQTTクライアント
wolfSSH – SFTPSCPをサポートするSSHライブラリ
wolfCryptとFIPSモジュール – メモリ制限の厳しい環境に適した暗号ライブラリとFIPS140-2認証を取得したFIPSモジュール

みなさまのご来場を心よりお待ちしております。
現地での個別打ち合わせをご希望の方は、info@wolfssl.jp までご連絡ください。

wolfBootによるファームウェアイメージの暗号化サポート

セキュアブートに関して大切な検討事項の1つは、ダウンロードしたファームウェア更新イメージを保護されていない非揮発性メモリサポート(外部SPIフラッシュデバイス、その他のカスタマイズされた形式のストレージなど)に保存するときの「保存データ」の保護の方法です。

組み込みシステム向けの完全にオープンソースのセキュアなブートローダーソリューションであるwolfBootは、暗号化された外部パーティションをサポートし、更新プロセス中にファームウェアの更新を安全に保存します。暗号化アルゴリズムはChaCha20で、wolfCryptによって提供されます。

これにより各更新を署名および暗号化してターゲットに配布できるようになり、アプリケーションはwolfBoot APIを使用して実行時に復号鍵を設定できるようになります。このサポート機能は現在最新のレポジトリで公開されていて、次のリリースに含まれる予定です。

この機能を有効にする方法を紹介しましょう。

まず、オプション「ENCRYPT = 1」でブートローダーをコンパイルします。
ランダムな44バイトのバッファーを作成し、 `secret_key`ファイルに保存します。このファイルには、ファームウェアイメージの暗号化に使用される鍵とベクターが格納されています。
署名ツールの呼び出しに追加のステップ「–encrypt secret_key」を追加します。これにより、追加の* _signed_and_encrypted.binイメージファイルが生成されます
_signed_and_encryptedイメージをターゲットに転送します。暗号化はブートローダーモードでのみ有効であるため、システムアプリケーションは引き続きwolfBoot HALを使用して外部デバイスにアクセスできます。
wolfBoot API呼び出し `wolfBoot_set_encryption_key()`を介してアプリケーションに秘密鍵とベクターを設定します。秘密鍵は、たとえば、安全な鍵管理デバイスに事前に保存されているか、更新中に安全なチャネルを介して送信されます。
その後通常どおり `wolfBoot_trigger_update()`を使用して更新を開始し、再起動します。 wolfBootはファームウェアの復号化と検証を試み、検証が成功した場合はインストールを開始します。
UPDATEパーティションに格納されているイメージは、インストール中に以前に実行されていたシステムのバックアップコピーを含め、常に暗号化されています。これにより、秘密の暗号化キーが安全に保たれている限り、パーティションを読み取ってもその内容が明らかになることはありません。

wolfBootでのパーティション暗号化のサポートは、ファームウェアの更新イメージが効果的に読み出し保護できない外部デバイスのような場所に保存されている場合に有効な保護機能となります。

データ転送に関する安全性については、通常どおり、TLS 1.3を使用して更新を転送し、常にファームウェアを利用するデバイスとの間で暗号化通信を使用することをお勧めします。

wolfBootについては、来週9/29開催のウェビナーでも紹介いたします。ぜひお気軽にご登録、ご参加ください。

wolfSSLウェビナー「アビオニクスシステムに求められるネットワークセキュリティ」

さらに詳しくはinfo@wolfssl.jpまでお尋ねください。

wolfSSLウェビナー「wolfSSH: IoTデバイス向けの安全なコンソールプロトコルSSHを動かしてみる」

wolfSSLウェビナー開催のご案内です。

2020年10月7日(水) 14:00~14:30

スピーカー:
wolfSSL Japan合同会社 技術統括
古城 隆

 

wolfSSHは、安全なコンソールプロトコルSSHとファイル転送プロトコルSFTP. SCPを提供するセキュリティライブラリです。他のwolfSSL製品と同様にC言語ベースの軽量組み込み向けライブラリ製品で、無償オープンソースと有償商用のデュアルライセンスで提供しています。IoTデバイスノードの安全なモニター機能、既存Telnetのセキュア化など幅広い用途に利用できます。

 

本セミナーではwolfSSHの基本機能の紹介の後、受講後にお客様自身の環境でオープンソースバージョンを入手し実際に動かしてみることができるように、簡単なサンプルアプリケーションとともにビルド、実行までの手順を紹介します。
本ウェビナーは日本語で開催します。

 

参加希望の方はこちらからご登録ください。ご登録後、ウェビナー参加に関する確認メールをお送りします。

 

ぜひ皆様のご参加をお待ちしています。
ご質問がおありでしたら、info@wolfssl.jp までご連絡ください。

 

そのほかのウェビナー開催予定、オンデマンド版の公開についてはこちらをご覧ください。

wolfCrypt DO-178 SOI監査

最先端のサイバーセキュリティ企業として最高のDO-178暗号化を確実に実現するために、wolfSSLはwolfCrypt製品に対して関与段階(SOI:Stage of Involvement)監査を実施しています。

昨年wolfSSLは、RTCA DO-178CレベルA認証のサポートをメニューに追加しました。 wolfSSLは、ネットワーク接続されたアビオニクスアプリケーション向けの商用製品(COTS)ソリューションとしてDO-178 wolfCryptを提供します。このソリューションの主な目的は、商用および軍用航空電子機器のセキュアブートおよびセキュアファームウェアの更新のための適切な暗号基盤を提供することでした。アビオニクス開発者は、FIPS 140-2検証済み暗号アルゴリズムを迅速に提供するための柔軟でコンパクト、かつ最高のコストパフォーマンスの商用製品COTSソリューションを手に入れ、DO-178モードで使用してFIPS 140-2とDO-178を組み合わせることができます。

航空システムの開発では、ソフトウェアプロジェクト全体をレビューし、DO-178暗号化の目的に準拠していることを確認するために、SOI監査が必要です。もともと、DO-178ベースの開発ではSOIは必要ありませんでしたが、異なる開発組織間の相違と認証局が求めていたもののために問題が発生しました。その結果、SOIはほとんどのプロジェクトに適用される非公式の事実上の標準になりました。

コンプライアンスを評価するには、次の4つの段階があります。

  • 計画のレビュー
  • デザインレビュー
  • 検証と検証のレビュー
  • 最終レビュー

wolfSSLはこの度、基盤となる暗号アルゴリズム部分についてSOI#1から#4までを完全に完了し、市場で最高のDO-178暗号ライブラリーをご提供することができるようになりました。wolfSSLでは引き続きこれをwolfBoot, wolfSSLに拡張していく予定です。

wolfSSL、wolfCrypt、DO-178、またはその他の質問に関する詳細については、facts@wolfssl.com までお問い合わせください。

2020/9/29には次のウェビナーを開催いたします。ぜひご参加ください。

wolfSSLウェビナー「アビオニクスシステムに求められるネットワークセキュリティ」

wolfSSH 1.4.5をリリースしました

wolfSSH 1.4.5をリリースしました。こちらからダウンロードいただけます。

このリリースは、次の新機能、修正、最適化を含んでいます。

 

##新機能

-EchoserverとクライアントがSSH-AGENTをサポート

-テスト目的で、名前付きユーザーに認証タイプ「なし」の機能を追加

-EWARMのビルドのサポート

-Echoserverでshell生成と pseudo terminal (PTY)を設定可能に

-ファイルシステムがないファイル転送のSCPコールバック用にサンプルコードを追加

 

##修正

-サンプルコードのクリーンな接続シャットダウンを修正

-ファズテストで発見されたDH鍵交換のいくつかの問題を修正

– RSA 署名の周りの境界外読み取り(OOB Read)の修正

– wolfSSL v4.5.0でwolfSSLの’wc_ecc_set_rng()’とともにビルドするためのの修正。 configureは関数の存在を検出し、存在しない場合は回避。configureを使用しない場合は、フラグ `HAVE_WC_ECC_SET_RNG`に関するinternal.cのメモを参照してください

 

##改善と最適化

-winSCPとの相互運用性の向上

-Dropbearとの相互運用性の向上

-サンプルクライアントが公開鍵で認証できるよう改善

 

変更ログはこちらをご覧ください:https://www.wolfssl.com/docs/wolfssh-changelog/

最新版リリースはこちらからダウンロード可能です:  https://www.wolfssl.jp/download/

 

wolfSSH製品ページ: https://www.wolfssl.jp/products/wolfssh/

 

さらに詳しい情報は弊社問い合わせ窓口 info@wolfssl.jp までご連絡ください。
原文: https://www.wolfssl.com/wolfssh-1-4-5-now-available/

wolfSSLウェビナー「アビオニクスシステムに求められるネットワークセキュリティ」

wolfSSLウェビナー開催のご案内です。

アビオニクスシステムに求められるネットワークセキュリティ

2020年9月29日(火) 10:00~10:30

スピーカー:
wolfSSL Inc. ソフトウェアエンジニア
Tesfa Mael(テスファ・マエル)

 

アビオニクス業界では現在、航空電子機器メーカーがこれまで以上にインタラクティブな接続性を提供するよう推進する動きがあります。通信システムにおけるサイバーセキュリティ攻撃の脅威の増大は、アビオニクス業界でも例外ではなく、これらの攻撃からシステムを保護しなければなりません。

安全なシステムの開発には、まず必要なセキュリティレベルの要件を定義する必要があります。多くの場合、これらの要件はシステム全体のセキュリティ評価を介して、該当のシステムレベルに落ちてきます。このプロセスの一環として、製品のライフサイクル全体を考慮したセキュリティ計画が必要です。開発のライフサイクルにおける信頼の安全基盤がなければ、製品の安全性を証明すること、維持することは困難です。

このウェビナーでは、1998年にDO-178レベルAの認証を取得した時間空間分割型(Time & Space Partitioned)RTOSであるDeosのアーキテクチャ基盤と、wolfSSLが提供する暗号とDeosがどのように統合して今日の航空電子機器メーカーが必要とする安全な機能を実現するかについて説明します。

・RTOSベンダーが安全性とセキュリティのために提供する必要があるもの
・セキュアなプラットフォームの基盤としてのDeos
・セキュアブート
・安全な更新
・安全なトランスポート
・暗号技術(上記のすべての構成要素)

本ウェビナーは英語での開催となります。

参加希望の方はこちらからご登録ください。

ご登録後、ウェビナー参加に関する確認メールをお送りします。

ぜひ皆様のご参加をお待ちしています。

ご質問がおありでしたら、info@wolfssl.jp までご連絡ください。

Posts navigation

1 2 3 4 5 40 41 42