Au-delà du Know-How Protection natif
Le Know-How Protection intégré à TIA Portal est un premier niveau de défense, mais il peut être contourné par des outils spécialisés. Pour les OEM qui livrent des machines avec des années de R&D embarquées, T-IA Connect offre un chiffrement de grade bancaire RSA4096 et une obfuscation avancée qui rend votre logique véritablement illisible.
Prérequis
- Projet TIA Portal ouvert avec des blocs SCL
- Serveur T-IA Connect actif (édition Professional)
- Blocs compilés sans erreur
Étape 1 : Analyser les blocs exposés
Commencez par identifier quels blocs de votre projet sont actuellement sans protection. L'API retourne le statut de protection de chaque bloc.
curl http://localhost:9000/api/blocks
{
"blocks": [
{
"name": "FB_Fill",
"type": "FunctionBlock",
"language": "SCL",
"knowHowProtected": false,
"size": 2048
},
{
"name": "FB_Drain",
"type": "FunctionBlock",
"language": "SCL",
"knowHowProtected": false,
"size": 1536
},
{
"name": "FB_SafetyMonitor",
"type": "FunctionBlock",
"language": "SCL",
"knowHowProtected": true,
"size": 4096
}
],
"total": 3,
"unprotected": 2
}Étape 2 : Appliquer le chiffrement RSA4096
Protégez vos blocs critiques avec un chiffrement RSA4096 et une obfuscation avancée. La protection est appliquée au niveau du code source tout en conservant une exécution 100% fonctionnelle.
curl -X POST http://localhost:9000/api/blocks/protect \
-H "Content-Type: application/json" \
-d '{
"blockName": "FB_Fill",
"level": "maximum",
"obfuscate": true
}'{
"success": true,
"block": "FB_Fill",
"protection": {
"encrypted": true,
"algorithm": "RSA4096",
"obfuscated": true,
"level": "maximum",
"appliedAt": "2026-03-12T14:32:01.000Z"
}
}Étape 3 : Vérifier le statut de protection
Confirmez que la protection a été correctement appliquée en interrogeant le statut détaillé du bloc.
curl http://localhost:9000/api/blocks/FB_Fill/protection
{
"block": "FB_Fill",
"protection": {
"encrypted": true,
"algorithm": "RSA4096",
"keyLength": 4096,
"obfuscated": true,
"level": "maximum",
"appliedAt": "2026-03-12T14:32:01.000Z",
"fingerprint": "a3:f2:9b:...:c8:41"
},
"reverseEngineering": {
"readable": false,
"decompilable": false,
"estimatedBreakTime": "> 10^15 years"
}
}La protection est appliquée à la compilation et n'a aucun impact sur les performances d'exécution de l'automate. Le code reste 100% fonctionnel.