Contract
富山県立図書館電子書籍システム整備事業仕様書
富山県立図書館(以下「当館」という。)が導入する電子書籍システム(電子書籍のアクセス(閲覧等)権を購入し、県民へ提供するサービス)を提供する事業者を選定するための企画提案に必要な仕様を次のとおり定める。
1 事業名
富山県立図書館電子書籍システム整備事業
2 事業目的
当館は、利用者サービスのより一層の充実を図るため、県民が当館に来館することなく、自宅等に居ながら読書や学習、調査・研究をするための資料提供環境を整えるため、電子書籍システムを導入する。
3 履行期間
契約締結の日の翌日から令和 5 年 3 月 31 日までとする。
4 提供開始時期
令和 5 年 3 月 31 日(金)
5 提案の内容
次の項目について、企画提案すること (1)電子書籍コンテンツの要件
ア コンテンツは、公共図書館の利用が許諾された商用コンテンツであることイ コンテンツのライセンスは、買切型であり、基本的に期限なく利用できるこ
と
ウ コンテンツの同時アクセス数は、原則 1 とすることエ コンテンツは主として和書とすること
オ 個々のコンテンツ画面から書誌情報を確認できること
カ 個々のコンテンツ画面から目次を確認することができ、目次から目的とする章や文章へジャンプできること
(2)電子書籍コンテンツの内容
以下の条件に基づき、当館に提供しようとする電子書籍コンテンツをリストにして提案すること。ただし、実際に導入するコンテンツについては、受注候補者決定後、当館と調整の上、決定するものとする。
ア 「富山県立図書館資料収集方針細則」(添付資料 1)を参考にすること。以下の(ア)~(エ)の分野のそれぞれの割合については、コンテンツの定価の合計額に対する割合とする。
(ア)事典や辞典等の調べものに役立つもの 3 割程度
・各分野の事典や辞典、図鑑、白書、年鑑等
(イ)ビジネスや法律、医療情報等、仕事や暮らしに役立つもの 3 割程度
・ビジネスについては、ビジネス全体の一般向けの情報(キャリアアップ、仕事術、ビジネス知識、就労支援等)が得られるものや高校生・大学生のキャリア教育の参考となるもの
・法律については、一般向けの全般的な法律相談(遺言・相続、離婚、交通事故、訴訟等)に関するもの
・医療情報については、病気や医療、介護、福祉等の理解を深めるのに役立つもので、科学的根拠があり最新の知見を得られるもの
・その他、税金や年金、子育て、生き方、生涯学習等、暮らしに役立つ内容のもの。「富山県八つの重点施策・八十八の具体策」に記述されている分野の資料にも配慮すること
(ウ)各分野の専門書 3 割程度
・調査や研究に役立つ内容のもの。ただし、極めて専門性の高いものは除く。小・中・高等学校での富山県のふるさと教育、探究学習での利用を配慮すること
(エ)教養読み物等 1 割程度
・各分野について、知識を深める内容のもの。 (3)提供システム及びそのサポートに関する要件及び機能
ア 受注者のデータセンターのサーバ上にシステムを構築し、電子書籍や書誌データを保管するクラウド型サービスとし、当館がサーバ等のシステムを持つ必要がないこと。またサーバは国内に設置してあること。
イ 当館ホームページから電子書籍サービスにアクセスするための、当館用の電子図書館トップページ及びリンク用バナーを作成すること。トップページは、見やすく、操作しやすいものとすること。
ウ 当該サービスの初期導入費用や継続的な利用料は発生せず、基本的に期限なく、無償で利用できること。
エ 図書館利用者が、インターネット環境下でパソコン等電子端末を操作し、電子書籍のサイトにアクセスすることによって当該サービスを利用できること。 オ 受注者が構築した電子書籍のプラットフォームでは、タイトルや著者等だけ
でなく、コンテンツの全文検索ができること。
カ 電子書籍を利用するビューワーを、図書館利用者が特にダウンロード又はインストールをする必要がないこと。
キ コンテンツの利用に際しては、文字の拡大機能や音声読上げ機能など、読書バリアフリー法の趣旨に沿った機能があること。
ク 利用端末は、パソコン、スマートフォン、タブレット等を想定し、それに対応していること。
ケ 上記クで想定した端末のOSのアップデートに対応し、利用に支障をきたさないようにすること。
コ 図書館利用者の利用カード番号及び利用者が設定したパスワードでログインする「利用者ポータル」から利用できるリファラー認証及び図書館内の端末で
利用できるIPアドレス認証に対応していること。サ 各種集計・統計機能があること。
シ 詳細な日本語マニュアルをオンライン上に備えていること。
ス 何らかの不具合が生じた際には、迅速に対応できる体制を確保すること。 セ 受注者の用意する電子書籍システムトップページ及びコンテンツの提供形式
の変更については、事前に当館と協議すること。
ソ 提供システムの機能やサポート体制が新たに追加された場合は、必要に応じて無償で提供すること。
(4)図書館システムとの連携に関する要件
当館の図書館システム(業務用及び利用者用OPAC)で紙の書籍と同時に検索ができ、また、図書館システム(利用者用OPAC)において利用者ポータルにログインしている状態で、蔵書検索の結果から当該コンテンツに遷移できるようにするために、CSV形式で、書誌データ及び当該コンテンツのURLを明記したデータを提供すること。
(5)広報・利用促進
電子書籍システムの利用促進を図る手法について提案すること。 (6)Webアプリケーションセキュリティに関する要件
システムの脆弱性に係る対応等、セキュリティに関する要件については別紙「W ebアプリケーションセキュリティに係る特記仕様書」を踏まえて提供すること。
6 事業の実施
(1)電子書籍の提供
上記 5(2)で提案のコンテンツを基本とし、契約金額のコンテンツを令和 5 年 3 月
31 日(金)までに提供すること。
(2)提供システムの機能・サポート体制の整備
令和 5 年 3 月 31 日(金)までに上記 5(3)で提案した提供システムの機能・サポート体制を整備すること。
7 事業完了後の提出書類
(1)完了届
(2)請求書
8 機密保持
(1)受注者は、本事業の実施上知り得た情報を他に漏らしてはならない。また、事業終了後も同様とする。
(2)受注者が本事業を行うにあたって個人情報を取扱う場合は、富山県個人情報保護条例(平成 15 年 3 月 19 日富山県条例第 1 号)及び「個人情報取扱特記事項」(添付資料 2)に基づき、その取扱いに十分留意し、漏えい、滅失及びき損の防止その他個人情報の保護に努めること。
9 その他
(1)本事業に関する内容については、本仕様書によるほか、企画提案書に基づき、受注候補者と当該事業に係る具体的な内容について協議を行い、その結果、県と受注候補者の間で当該事業内容について合意に達した場合に限り、契約を締結する。
(2)提案内容は提案者が実施可能なものであることを前提とするが、提案内容のすべてを採用して契約締結するとは限らないものとする。
(3)本仕様書で明示していない事項、又は疑義が発生した場合は、両者協議により事業を進めるものとする。
別紙
富山県立図書館電子書籍システム整備事業
Web アプリケーションセキュリティに係る特記仕様書
令和 4 年 7 月
富山県立図書館
1. 本特記仕様書の目的と運用
本特記仕様書(以下「本書」という。)は、富山県立図書館電子書籍整備事業に係るシステム(以下「本システム」という。)に求めるセキュリティ要件、対応指針を記載するものである。
なお、本書に記載されているセキュリティ要求仕様に関して、契約書及び仕様書の記載が本書と異なる場合は、契約書及び仕様書を優先する。
2. Web アプリケーション脆弱性対応
本システムにおける Web アプリケーションの脆弱性対応として次の要件を満たすこと。
(1)『別紙 脆弱性リスト』で示す脆弱性が本システムに混入しないよう Web アプリケーションを構築すること。
(2)『別紙 脆弱性リスト』で示す脆弱性が Web アプリケーションに混入しないように構築するための方針を富山県に提示すること。
3. セキュリティ機能
本システムにおけるセキュリティ機能について、以降に示す機能を設ける場合は、各項の要件を満たすこと。
3.1. ログイン処理
3.1.1. 利用者認証方式
利用者認証を行う場合、認証方式はパスワード認証とする。
3.1.2. アクセス制御機能
(1) 利用者の認証を行い、認証した利用者のみが本システムの「利用者認証を要する機能
(画面)」を利用できるようにすること。
(2) 利用者認証を経ていない者は本システムの「利用者認証を要する機能(画面)」を利用できないようにすること。
(3) 「利用者認証を要する機能(画面)」は、セッションが終了した後は利用できないこと。
3.1.3. パスワードに利用できる文字
パスワードに利用する文字は以下を遵守すること。ただし、二要素認証の第 2 要素(ワンタイムパスワードトークンの生成するパスワードなど)はこの限りでない。
(1) パスワードに利用できる文字種は、英字(大文字、小文字を区別)、数字、記号の 3 種とし、それぞれ自由に利用できること。
(2) パスワードに利用する文字数は 8 文字未満を受け付けないようにすること。また、少なくとも 64 文字のパスワードは受け入れられること。
3.1.4. ログインフォームの実装方法
パスワードの入力欄は入力した文字を伏字にすること。又は、伏字にする・しないを選択できる機能を持つこと。
3.1.5. ログイン失敗時のメッセージ出力
パスワード認証に失敗した際に、利用者 ID の間違いか、パスワードの間違いかが区別できるメッセージを表示しないこと。
3.1.6. アカウントロック機能
特定の利用者 ID に対するパスワードの間違いが一定回数を超えた場合に、アカウントをロックする機能を実装すること。
(1) パスワードは平文で保存せず、ソルトつきハッシュの形で保存すること。
(2) ソルトは利用者毎に別々に設定すること。
3.1.7. セッション管理機能
(1) 利用者のセッション管理にはプログラミング言語や Web アプリケーション実行環境の備えるセッション管理機構を用いること。
(2) ログイン状態にある利用者のセッション識別のための情報(セッション ID)は、クッキーを用いて保持すること。
3.1.8. セッションの開始
セッションはログイン処理成功後に開始すること。
3.1.9. セッションの終了
次の場合はセッションを終了し、セッション情報を破棄すること。
(1) 利用者がログアウト機能を呼び出した場合(ログアウトボタンを押す等)
(2) 最後にページが表示された時刻を起点としてセッションの有効期間を超えた(セッションタイムアウト)場合
3.2. 認可処理
3.2.1. 認可処理の要件定義と文書化
認可処理は次のとおり文書化し、権限毎の役割をロールとして作成すること。
(1) 認可処理の必要な機能、情報を識別して、認可処理の必要な画面を、富山県に提示すること。
(2) 各ロールと権限を一覧表(権限マトリックス)に整理すること。
3.2.2. 認可処理の実装
(1) 各利用者の権限確認には、セッション変数に保存された利用者識別情報(利用者 ID 等)を基準とすること。
(2) 認可を要する情報表示や機能実行をする前に、実行中の利用者が、当該情報の表示や機能を実行するための権限を有していることを画面毎に確認すること。
(3) 認可されなかった場合は、適切なエラー表示をすること。
3.3. アカウント管理
3.3.1. 利用者登録(アカウントの作成)時における登録メールアドレスの確認
(1) ログイン処理のあるシステムで、利用者登録時にメールアドレスを登録させた場合は、登録されたメールアドレスに対してメールを送付し、登録メールアドレスが利用者に利用されているアドレスであることを確認すること。
(2) 登録メールアドレスが利用者に利用されているアドレスであると確認できた後に本システムにおける利用者登録を完了(登録の確定)とすること。
(3) 登録されたメールアドレスに対してメールを送付する際に、利用者が登録したパスワードを記載しないこと。
3.3.2. 利用者 ID の重複防止機能
利用者 ID が重複しないよう、チェック処理を含めること。
3.3.3. 登録メールアドレス変更機能
利用者が登録したメールアドレスを変更する機能を実装する場合は、メールアドレス変更機能の実行後は、利用者登録時と同様の処理を経ること。
3.3.4. パスワード変更機能
利用者がパスワードを変更する機能を実装する場合は、パスワード変更機能の実行前に、現在のパスワードの入力を利用者に求め、正しいパスワードであることを確認すること。
3.3.5. パスワードリセット機能
利用者がパスワードを失念した場合の対処機能を備える場合は、次の(1)、(2)いずれかの方式とし、(3)または(4)の要件を満たすこと。(利用者確認の手段として、予め登録したメールアドレスに宛てたメールが受信できることを用いる。)
(1) パスワードリセット機能を利用するための URL を登録メールアドレスにメール送付する方式
(2) 仮パスワードを発行し、メールで通知する方式(仮パスワードでログインした場合は、パスワード変更機能のみが利用できるものとする)
(3) (1)の機能の実装に際して、第三者がパスワードリセット機能を使えないように、URL
には十分長い乱数による秘密情報(以下「トークン」という。)をつけること。
(4) (2)の機能に対する総当たり攻撃対策を施すこと。
3.3.6. 管理者によるアカウント削除・一時利用停止機能
(1) 管理者による利用者アカウントの削除機能を実装すること。
(2) 管理者による利用者アカウントの一時利用停止機能を実装すること。
3.3.7. 利用者によるアカウント削除機能
利用者による自身のアカウントを削除する機能を実装する場合は、アカウント削除機能の実行前に、パスワードの入力を利用者に求め、正しいパスワードであることを確認すること。
3.4. ログイン状態にある利用者の意図に反した機能実行の防止機能
外部リンク等により本システムの画面(機能)に遷移するだけで、本システムの機能がログイン状態にある利用者の意図に反して実行されることを防止するため、以下の対策を実施すること。
・クロスサイト・リクエスト・フォージェリ(CSRF) 対策
・クリックジャッキング対策
3.5. ログ出力
システム監査、事故調査の目的のため、本システムで取得するログの内容を検討し、富山県に提示すること。また、ログの出力・保管方法についてもあわせて協議すること。
3.5.1. ログからの情報漏えい・改ざん対策
(1) ログを取得する場合は、ログが不正に参照・変更・削除されないよう保護すること。
(2) ログから個人情報等の秘密情報が漏えいすることを防ぐため、ログの目的(監査、事故追跡)を損なわない範囲で秘密情報を含めない処理又は秘密情報の一部のみの出力(マスク処理)をすること。
3.5.2. ログの保管
(1) ログの保管年限は 1 年以上とする。
(2) ログの安全な保管方法(媒体、保管フォーマット、保管場所等)を定めること。
3.6. 暗号化
3.6.1. 利用者と本システム間における Web アプリケーション通信の暗号化
(1) システムで送受信する全ての情報について、通信を暗号化すること。
(2) サーバ証明書は利用を想定するすべてのブラウザで警告の出ないものを使用し、証明書の発行先名は、運営者の名称とする。地方公共団体組織認証基盤(LGPKI)を用いる場合は、Firefox を利用想定ブラウザから外すこと。
(3) SSL2.0、SSL3.0、TLS1.0 及び TLS1.1 は無効の設定にすること。
3.6.2. データベースの暗号化
(1) 機密性・完全性の高い情報をデータベース・ファイルに保存する際は暗号化を施すこと。
(2) 暗号化アルゴリズムは電子政府推奨暗号リストに記載されたアルゴリズムを用いること。
(3) 暗号鍵の管理方法を計画書に記載すること。
3.7. 出荷時
納品時における OS、ミドルウェア等ソフトウェアのバージョン及び最新パッチのリリース状況を確認すること。
以上
別紙 脆弱性リスト
以下に記載する Web アプリケーションの脆弱性について、本システムに混入しないよう対処すること。また、脆弱性対策の実施に際しては、独立行政法人情報処理推進機構(IPA)が示す「安全なウェブサイトの作り方」の最新版における「xx的解決」および「セキュア・プログラミング講座」を参考にすること。
なお、脆弱性項目のうち、本システムの Web アプリケーションに入力フォームがない等、脆弱性がないことが明らかである場合、該当する項目は除外してよい。
項番 | 脆弱性項目 |
1 | SQL インジェクション |
2 | OS コマンド・インジェクション |
3 | ディレクトリ・トラバーサル脆弱性 |
4 | 「ログイン機能」の不備 ①推測可能なセッション ID ②URL 埋め込みのセッション ID の外部への漏えい ③クッキーのセキュア属性不備 ④セッション ID の固定化 |
5 | クロスサイト・スクリプティング(XSS) |
6 | クロスサイト・リクエスト・フォージェリ(CSRF) |
7 | HTTP ヘッダ・インジェクション |
8 | メールヘッダ・インジェクション脆弱性 |
9 | クリックジャッキング |
10 | 「アクセス制御」と「認可処理」の不備 ①アクセス制御 ②認可処理 |
11 | バッファオーバーフロー |
12 | eval インジェクション |
13 | 競合状態の脆弱性 |
14 | 意図しないファイル公開 |
15 | アップロードファイルによるサーバ側スクリプト実行 |
16 | 秘密情報表示時のキャッシュ不停止(キャッシュを介して情報の暴露) |
17 | オープンリダイレクタ脆弱性(意図しないリダイレクト) |
18 | クローラへの耐性 |