Traduction automatique du turc (Cloudflare Workers AI), non relue par l'auteur. Lire l'original en turc

← Articles

Municipalité de Kastamonu, ville intelligente, archives numériques et gestion de projets : Rust, RustGIS et cryptographie résistante au quantique

Note —

Pour la municipalité de Kastamonu (République de Turquie), développé de zéro en langage Rust ; l'anatomie technique de la télémétrie IoT reliant 26 directions, du moteur RustGIS réduisant à zéro la dépendance à des cartes externes, des archives numériques TS 13298 et de l'infrastructure publique résistante au quantique NIST FIPS 203/204.

· Mis à jour: · 6 min de lecture
Sommaire

Résumé : Les infrastructures informatiques des collectivités locales sont depuis de nombreuses années gérées par des piles logicielles lourdes, dépendantes de l'extérieur et vulnérables aux cybermenaces. Dans cet article, j'examine l'architecture Rust (2024 Edition) que j'ai développée pour la Présidence de la Municipalité de Kastamonu (République de Turquie), qui assure la sécurité mémoire dès la phase de compilation ; le moteur de tuiles local RustGIS qui supprime la dépendance aux CDN et services cartographiques externes ; le Système de Gestion de Projets Institutionnel (PYS) intégré aux lois n° 5393 et 5018 ; les Archives Numériques conformes à la norme TS 13298 ; et la cryptographie hybride résistante au quantique reposant sur les normes NIST FIPS 203/204.

POINTS CLÉS DE L'ARCHITECTURE (CORE ARCHITECTURE HIGHLIGHTS)

  • Écosystème Rust Workspace complet : Structure modulaire en Cargo workspace (kb-core, kb-crypto, kb-gis, kb-archive, kb-server) offrant sécurité mémoire et temps de réponse réduits.
  • RustGIS sans aucune dépendance externe : Moteur de tuiles local basé sur SVG/vecteurs, qui élimine les obligations d'OpenStreetMap ou de l'API Google Maps et effectue la conversion mathématique WGS84 - Web Mercator à l'intérieur des limites municipales.
  • 26 directions municipales & 2 060 points de capteurs : Télémétrie IoT en direct et protocole de suivi de flotte affectés à 26 directions, notamment les Travaux Publics, l'Eau et l'Assainissement (KASKİ), la Police Municipale, les Sapeurs-Pompiers et les Parcs et Jardins.
  • Résistance quantique NIST FIPS 203 / 204 : Échange de clés ML-KEM (Kyber), signature hybride ML-DSA (Dilithium) et Ed25519, visant une sécurité des documents et des données résistante aux ordinateurs quantiques.
  • Conformité réglementaire : Loi n° 5393 sur les municipalités (article 41), Loi n° 5018 sur la gestion financière publique (article 9, contrôles d'attribution et de blocage budgétaires), masquage automatique des données selon la Loi n° 6698 sur la protection des données personnelles (KVKK), plan de conservation des archives conforme à la norme TS 13298 et à la Loi n° 3473.

Introduction : le changement de paradigme dans l'informatique publique moderne

Les collectivités locales gèrent des flux de données intenses dans des dizaines de domaines touchant directement la vie quotidienne des citoyens (infrastructures, transport, urbanisme, aides sociales, contrôles de police municipale et gestion des catastrophes). Les faiblesses architecturales fréquemment rencontrées dans les logiciels municipaux traditionnels sont les suivantes :

  1. Consommation élevée de ressources et risques de plantage : Les services fonctionnant sur des environnements interprétés ou des machines virtuelles (JVM, Node.js, Python) consomment excessivement de la mémoire, s'effondrent lors de pics de charge soudains et perturbent la télémétrie en temps réel en raison des pauses du « ramasse-miettes » (garbage collector).
  2. Dépendances aux cartes et CDN externes : Le fait que les tuiles (tiles) utilisées sur les écrans de ville intelligente soient récupérées depuis des serveurs étrangers paralyse la coordination de crise en cas de coupure Internet ou d'embargo éventuel.
  3. Cybermenaces post-quantiques (Q-Day) : Risque de perte de confidentialité des registres fonciers, d'urbanisme et des archives institutionnelles, les algorithmes classiques RSA ou ECC seuls étant réversibles par les futurs ordinateurs quantiques (algorithme de Shor).
  4. Conception déconnectée de la réglementation : Incapacité des modules budgétaires et de projets à satisfaire la codification budgétaire analytique et la hiérarchie du programme de performance exigées par les lois n° 5018 et 5393.

Afin d'éliminer ces problèmes chroniques, nous avons bâti dès le départ la plateforme que nous avons développée pour la Municipalité de Kastamonu (République de Turquie) sur le langage de programmation Rust, des principes de conception axés sur la sécurité et un système d'information géographique local.

1. Architecture Rust Workspace et conception en couches

Le système a été construit, plutôt que sur une structure monolithique complexe, sur une architecture Cargo Workspace où chaque composant peut être testé et compilé indépendamment et offre de hautes performances :

crates/
├── kb-crypto/   # Kuantum sonrası kriptografi, erişim denetimi ve WORM denetim izi
├── kb-core/     # 5393/5018 Mevzuat modelleri, analitik bütçe, EVM ve KVKK motoru
├── kb-gis/      # RustGIS motoru, koordinat projeksiyonu, 26 müdürlük & sensör telemetrisi
├── kb-archive/  # TS 13298 / 3473 Sayılı Kanun standartlı dijital arşiv ve devir-teslim
└── kb-server/   # Tokio & Axum tabanlı asenkron mikroservis çekirdeği ve statik dağıtım

Sécurité mémoire et principe Zeroize

Les clés cryptographiques et les jetons de session des archives publiques ne peuvent être laissés en RAM une fois l'opération terminée. Tous les objets de clé et de sceau de la bibliothèque kb-crypto sont dotés du trait zeroize, conformément aux exigences FIPS 140-3. Les objets sortant de leur portée (scope) sont effacés de manière sécurisée en étant remis à zéro dans la mémoire.

2. Système d'information géographique urbain sans dépendance avec RustGIS

La carte est la colonne vertébrale des villes intelligentes. Il est essentiel qu'une municipalité puisse fournir une carte même en situation de catastrophe, lorsque la connexion internationale est coupée.

Dans le projet, un gestionnaire de tuiles (tile) cartographiques et un convertisseur de coordonnées entièrement locaux ont été développés en se fondant sur les principes d'opengeos/RustGIS.

pub struct RustGisEngine {
    pub min_zoom: u8,
    pub max_zoom: u8,
    pub center_lat: f64, // Kastamonu: 41.3887° K
    pub center_lon: f64, // Kastamonu: 33.7827° D
}
  • Transformation mathématique des coordonnées : Les coordonnées de l'ellipsoïde WGS84 (latitude/longitude) sont converties vers la projection Web Mercator (EPSG:3857) à l'aide de formules mathématiques : $$x = \left\lfloor \frac{\text{lon} + 180}{360} \times 2^z \right\rfloor, \quad y = \left\lfloor \left( 1 - \frac{\ln(\tan(\text{lat}{\text{rad}}) + \sec(\text{lat}{\text{rad}}))}{\pi} \right) \times 2^{z-1} \right\rfloor$$
  • Génération interne de tuiles SVG et PNG : La topographie vectorielle, les grilles de rues et les bâtiments des services municipaux sont dessinés sur le serveur puis fournis au client, sans envoyer de requêtes à des serveurs externes.
  • Télémétrie de 26 directions : Des équipes d'asphaltage des Travaux publics aux véhicules d'intervention des Pompiers, des équipes de terrain des Fuites d'eau aux patrouilles de la Police municipale, 2 060 points de capteurs IoT actifs rattachés à 26 directions sont directement connectés à la couche cartographique.

3. Cryptographie post-quantique : le bouclier NIST FIPS 203 et FIPS 204

Les méthodes de chiffrement classiques deviendront inopérantes avec le développement des ordinateurs quantiques (algorithme de Shor). Les titres de propriété, les décisions du conseil et les données des citoyens figurant dans les archives numériques de la municipalité de Kastamonu doivent être protégés dès aujourd'hui contre les attaques « Stocker maintenant, déchiffrer plus tard » (Harvest Now, Decrypt Later).

Dans notre système, les normes NIST FIPS 203 (ML-KEM / Crystals-Kyber) et NIST FIPS 204 (ML-DSA / Crystals-Dilithium) sont hybridées avec Ed25519 :

  1. Scellement hybride : Chaque document institutionnel est signé à la fois par la clé privée classique Ed25519 et par une clé secrète post-quantique à base de réseaux (lattice-based). Le document ne peut être validé que si les deux signatures sont valides simultanément.
  2. Double empreinte cryptographique (Dual-Hash) : L'intégrité des documents est scellée en double couche par les algorithmes SHA-256 et SHA3-256 (Keccak-256), résistant au quantique.
  3. WORM (Write Once, Read Many) conforme à la Cour des comptes & arbre de Merkle : Chaque opération sur l'archive est rattachée à une structure Merkle Tree immuable. Les éventuelles manipulations directes de la base de données sont détectées instantanément par une divergence de l'empreinte racine de Merkle (root hash), ce qui déclenche l'état d'alarme du système.

4. Gestion de projet institutionnelle (PYS) entièrement intégrée à la législation de la République de Turquie

La gestion de projet dans les institutions publiques diffère des tableaux Kanban ou Scrum standards du secteur privé. Les lois de la République de Turquie imposent des règles et des contrôles stricts dans l'utilisation des ressources publiques.

Dans le module kb-core, ces règles sont directement intégrées au système de types (type system) de Rust :

Loi municipale n° 5393 (article 41 - Plan stratégique)

Tous les projets municipaux doivent être rattachés à la hiérarchie Objectif stratégique (SA), Cible stratégique (SH) et Indicateur de performance (PG). Aucun projet municipal non rattaché à une cible n'est autorisé à être ouvert dans le système.

Loi n° 5018 sur la gestion et le contrôle des finances publiques (article 9 - Contrôle du blocage budgétaire)

Avant l'approbation d'une dépense ou le lancement d'un appel d'offres dans le cadre d'un projet, la disponibilité de crédits suffisants sur la ligne budgétaire analytique concernée est vérifiée par logiciel :

  • Vérification du code budgétaire analytique : Le format Institutionnel (02.37.00.02) - Fonctionnel (01.3.9.00) - Financier (5) - Économique (03.5.1.01) est validé.
  • Moteur de blocage : Lorsqu'une dépense est lancée, le montant correspondant est bloqué sur le budget. Les demandes dépassant le budget sont rejetées.

Analyse de la valeur acquise (EVM - Earned Value Management)

L'avancement physique et financier des projets est suivi en temps réel à l'aide des formules suivantes :

  • Indice de performance des coûts : $\text{CPI} = \frac{\text{EV}}{\text{AC}}$
  • Indice de performance des délais : $\text{SPI} = \frac{\text{EV}}{\text{PV}}$

Ainsi, l'administration municipale peut suivre en temps réel quel projet a dépassé son budget ou pris du retard sur le calendrier.

5. Système d'archivage numérique conforme aux normes TS 13298

La gestion documentaire des services municipaux a été numérisée dans le cadre de la norme TS 13298 relative au système de gestion électronique des documents et des archives et des dispositions de la loi n° 3473.

  • Procès-verbal de remise (Formulaire 1) : Lors du transfert de documents des archives des services vers les archives de l'institution, le formulaire standard de remise exigé par la réglementation est généré automatiquement.
  • Plan de conservation et d'élimination : Les plans de conservation sont calculés automatiquement selon le type de document (Urbanisme : illimitée, Dossiers du personnel : 101 ans, Documents financiers : 10 ans) ; aucun document ne peut être supprimé sans décision de la commission d'élimination.
  • Modèles de confidentialité Bell-LaPadula et d'intégrité Biba : Ces deux modèles couramment utilisés en sécurité de l'information ont été appliqués, avec l'« interdiction de lire vers le haut » (No Read Up) et l'« interdiction d'écrire vers le bas » (No Write Down), afin d'empêcher le personnel de niveau inférieur de divulguer des documents de confidentialité supérieure.
  • Masquage conforme à la loi n° 6698 sur la protection des données personnelles : Les numéros d'identité et de téléphone des citoyens sont affichés masqués sur l'écran du personnel.

6. Vérification de bout en bout : rapport d'audit du Conseil et de Jev

Le système a été soumis à une suite de tests d'intégration complète conformément aux directives du « Conseil logiciel » et de l'« Auditeur en chef Jev » (crates/kb-server/tests/test_konsey_jev_audit.rs).

running 14 tests
test tests::test_5018_analitik_butce_bloke_yetersiz_bakiye ... ok
test tests::test_5018_analitik_butce_bloke_onay_akisi ... ok
test tests::test_5393_madde41_stratejik_hedef_baglantisi ... ok
test tests::test_bell_lapadula_no_read_up_guvenlik_ihsasi ... ok
test tests::test_biba_butunluk_no_write_up ... ok
test tests::test_merkle_tree_ve_worm_degismezlik_dogrulamasi ... ok
test tests::test_post_quantum_fips203_fips204_hibrit_muhur ... ok
test tests::test_rustgis_koordinat_ve_kiremit_donusumu ... ok
test tests::test_sayistay_worm_tamper_tespiti ... ok
test tests::test_ts13298_ve_3473_saklama_plani ... ok
test tests::test_ts13298_form1_devir_teslim_tutanak_dogrulama ... ok
test tests::test_26_mudurluk_telemetri_ve_filo_takibi ... ok
test tests::test_kvkk_6698_otomatik_maskeleme ... ok
test tests::test_evm_kazanilmis_deger_analizi_metrikleri ... ok

test result: ok. 14 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out

Les tests confirment que les règles réglementaires et les opérations cryptographiques fonctionnent comme prévu.

Mon analyse

Cette plateforme, que j'ai développée pour la municipalité de Kastamonu, constitue un exemple concret de la manière dont les collectivités locales peuvent mettre en place leur propre infrastructure sans dépendre de services cloud et cartographiques étrangers.

En combinant la sécurité mémoire de Rust, la cartographie locale avec RustGIS et une cryptographie résistante au quantique, il en résulte une infrastructure durable et sûre pour les institutions publiques.

L'ensemble des codes sources, la documentation d'architecture et les guides d'installation sont consultables en open source :

J'attends vos avis et contributions.